diff options
Diffstat (limited to 'packages/ui/src/context/data.tsx')
| -rw-r--r-- | packages/ui/src/context/data.tsx | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/packages/ui/src/context/data.tsx b/packages/ui/src/context/data.tsx index f53253418..3292ba579 100644 --- a/packages/ui/src/context/data.tsx +++ b/packages/ui/src/context/data.tsx @@ -1,4 +1,4 @@ -import type { Message, Session, Part, FileDiff, SessionStatus } from "@opencode-ai/sdk/v2" +import type { Message, Session, Part, FileDiff, SessionStatus, Permission } from "@opencode-ai/sdk/v2" import { createSimpleContext } from "./helper" import { PreloadMultiFileDiffResult } from "@pierre/diffs/ssr" @@ -13,6 +13,9 @@ type Data = { session_diff_preload?: { [sessionID: string]: PreloadMultiFileDiffResult<any>[] } + permission?: { + [sessionID: string]: Permission[] + } message: { [sessionID: string]: Message[] } @@ -21,9 +24,15 @@ type Data = { } } +export type PermissionRespondFn = (input: { + sessionID: string + permissionID: string + response: "once" | "always" | "reject" +}) => void + export const { use: useData, provider: DataProvider } = createSimpleContext({ name: "Data", - init: (props: { data: Data; directory: string }) => { + init: (props: { data: Data; directory: string; onPermissionRespond?: PermissionRespondFn }) => { return { get store() { return props.data @@ -31,6 +40,7 @@ export const { use: useData, provider: DataProvider } = createSimpleContext({ get directory() { return props.directory }, + respondToPermission: props.onPermissionRespond, } }, }) |
