feat(desktop): Ask Question Tool Support (#8232)
This commit is contained in:
@@ -1,4 +1,13 @@
|
||||
import type { Message, Session, Part, FileDiff, SessionStatus, PermissionRequest } from "@opencode-ai/sdk/v2"
|
||||
import type {
|
||||
Message,
|
||||
Session,
|
||||
Part,
|
||||
FileDiff,
|
||||
SessionStatus,
|
||||
PermissionRequest,
|
||||
QuestionRequest,
|
||||
QuestionAnswer,
|
||||
} from "@opencode-ai/sdk/v2"
|
||||
import { createSimpleContext } from "./helper"
|
||||
import { PreloadMultiFileDiffResult } from "@pierre/diffs/ssr"
|
||||
|
||||
@@ -16,6 +25,9 @@ type Data = {
|
||||
permission?: {
|
||||
[sessionID: string]: PermissionRequest[]
|
||||
}
|
||||
question?: {
|
||||
[sessionID: string]: QuestionRequest[]
|
||||
}
|
||||
message: {
|
||||
[sessionID: string]: Message[]
|
||||
}
|
||||
@@ -30,6 +42,10 @@ export type PermissionRespondFn = (input: {
|
||||
response: "once" | "always" | "reject"
|
||||
}) => void
|
||||
|
||||
export type QuestionReplyFn = (input: { requestID: string; answers: QuestionAnswer[] }) => void
|
||||
|
||||
export type QuestionRejectFn = (input: { requestID: string }) => void
|
||||
|
||||
export type NavigateToSessionFn = (sessionID: string) => void
|
||||
|
||||
export const { use: useData, provider: DataProvider } = createSimpleContext({
|
||||
@@ -38,6 +54,8 @@ export const { use: useData, provider: DataProvider } = createSimpleContext({
|
||||
data: Data
|
||||
directory: string
|
||||
onPermissionRespond?: PermissionRespondFn
|
||||
onQuestionReply?: QuestionReplyFn
|
||||
onQuestionReject?: QuestionRejectFn
|
||||
onNavigateToSession?: NavigateToSessionFn
|
||||
}) => {
|
||||
return {
|
||||
@@ -48,6 +66,8 @@ export const { use: useData, provider: DataProvider } = createSimpleContext({
|
||||
return props.directory
|
||||
},
|
||||
respondToPermission: props.onPermissionRespond,
|
||||
replyToQuestion: props.onQuestionReply,
|
||||
rejectQuestion: props.onQuestionReject,
|
||||
navigateToSession: props.onNavigateToSession,
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user