summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/context
diff options
context:
space:
mode:
authorDaniel Polito <[email protected]>2026-01-13 15:28:08 -0300
committerGitHub <[email protected]>2026-01-13 12:28:08 -0600
commit3600bd27f481c461734e517a40e01cd4e899e10f (patch)
treee8d1a426a81ff04a4dfc2fb88ab925e4977bd936 /packages/ui/src/context
parent92089bb295ffc62e681baf5c93336e97a052b26e (diff)
downloadopencode-3600bd27f481c461734e517a40e01cd4e899e10f.tar.gz
opencode-3600bd27f481c461734e517a40e01cd4e899e10f.zip
feat(desktop): Ask Question Tool Support (#8232)
Diffstat (limited to 'packages/ui/src/context')
-rw-r--r--packages/ui/src/context/data.tsx22
1 files changed, 21 insertions, 1 deletions
diff --git a/packages/ui/src/context/data.tsx b/packages/ui/src/context/data.tsx
index acab99fe8..dcb9adb39 100644
--- a/packages/ui/src/context/data.tsx
+++ b/packages/ui/src/context/data.tsx
@@ -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,
}
},