@codex-app-sdk/core 0.18.1 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{surface-bridge-oO22We2G.js → surface-bridge-fc3qMIGB.js} +9 -2
- package/dist/chunks/surface-bridge-fc3qMIGB.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/surface-bridge.d.ts +4 -2
- package/dist/surface-bridge.d.ts.map +1 -1
- package/dist/surface-bridge.js +1 -1
- package/dist/surface.d.ts +14 -1
- package/dist/surface.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/surface-bridge-oO22We2G.js.map +0 -1
|
@@ -137,6 +137,7 @@ var u = [
|
|
|
137
137
|
"getSnapshot",
|
|
138
138
|
"interrupt",
|
|
139
139
|
"loadOlderConversationHistory",
|
|
140
|
+
"loadTurnHistory",
|
|
140
141
|
"readConversationHistory",
|
|
141
142
|
"readConversationPromptHistory",
|
|
142
143
|
"renameConversation",
|
|
@@ -209,7 +210,7 @@ function h(e, t, n) {
|
|
|
209
210
|
}
|
|
210
211
|
return s;
|
|
211
212
|
}
|
|
212
|
-
var g = /* @__PURE__ */ "archiveConversation.cancelLogin.clearGoal.compactConversation.connect.continueInterruptedTurn.createConversation.deleteConversation.deleteTurn.deleteQueuedPrompt.editTurn.forkTurn.getSnapshot.interrupt.listConversations.listModels.loadOlderConversationHistory.logout.readConversationHistory.readConversationPromptHistory.refreshAccount.refreshConversations.renameConversation.respondToClientRequest.resolveApproval.retryTurn.selectConversation.sendMessage.setGoal.startChatGptDeviceCodeLogin.startChatGptLogin.startReview.steerMessage.steerQueuedPrompt.unarchiveConversation.updateConversationSettings.updateQueuedPrompt.startLiveChat.stopLiveChat.readRateLimits.readAccountUsage.consumeRateLimitResetCredit".split("."), _ = new Set(g), v = {
|
|
213
|
+
var g = /* @__PURE__ */ "archiveConversation.cancelLogin.clearGoal.compactConversation.connect.continueInterruptedTurn.createConversation.deleteConversation.deleteTurn.deleteQueuedPrompt.editTurn.forkTurn.getSnapshot.interrupt.listConversations.listModels.loadOlderConversationHistory.loadTurnHistory.logout.readConversationHistory.readConversationPromptHistory.refreshAccount.refreshConversations.renameConversation.respondToClientRequest.resolveApproval.retryTurn.selectConversation.sendMessage.setGoal.startChatGptDeviceCodeLogin.startChatGptLogin.startReview.steerMessage.steerQueuedPrompt.unarchiveConversation.updateConversationSettings.updateQueuedPrompt.startLiveChat.stopLiveChat.readRateLimits.readAccountUsage.consumeRateLimitResetCredit".split("."), _ = new Set(g), v = {
|
|
213
214
|
startLiveChat: [2, 2],
|
|
214
215
|
stopLiveChat: [1, 1],
|
|
215
216
|
archiveConversation: [1, 1],
|
|
@@ -229,6 +230,7 @@ var g = /* @__PURE__ */ "archiveConversation.cancelLogin.clearGoal.compactConver
|
|
|
229
230
|
listConversations: [0, 1],
|
|
230
231
|
listModels: [0, 1],
|
|
231
232
|
loadOlderConversationHistory: [0, 1],
|
|
233
|
+
loadTurnHistory: [1, 2],
|
|
232
234
|
logout: [0, 0],
|
|
233
235
|
readConversationHistory: [0, 1],
|
|
234
236
|
readConversationPromptHistory: [0, 1],
|
|
@@ -263,6 +265,7 @@ var g = /* @__PURE__ */ "archiveConversation.cancelLogin.clearGoal.compactConver
|
|
|
263
265
|
getSnapshot: [0, 0],
|
|
264
266
|
interrupt: [0, 0],
|
|
265
267
|
loadOlderConversationHistory: [0, 0],
|
|
268
|
+
loadTurnHistory: [1, 1],
|
|
266
269
|
readConversationHistory: [0, 0],
|
|
267
270
|
readConversationPromptHistory: [0, 0],
|
|
268
271
|
renameConversation: [1, 1],
|
|
@@ -297,6 +300,7 @@ function S(e) {
|
|
|
297
300
|
getSnapshot: () => e.getSnapshot(),
|
|
298
301
|
interrupt: () => e.interrupt(),
|
|
299
302
|
loadOlderConversationHistory: () => e.loadOlderHistory(),
|
|
303
|
+
loadTurnHistory: (t) => e.loadTurnHistory?.(t) ?? Promise.reject(/* @__PURE__ */ Error("Turn history is unavailable.")),
|
|
300
304
|
readConversationHistory: () => e.readHistory(),
|
|
301
305
|
readConversationPromptHistory: () => e.readPromptHistory(),
|
|
302
306
|
renameConversation: (t) => e.rename(t),
|
|
@@ -332,6 +336,9 @@ async function C(e, t, n, r) {
|
|
|
332
336
|
case "interrupt": return e.interrupt();
|
|
333
337
|
case "listConversations": return e.listConversations(E(n[0]));
|
|
334
338
|
case "listModels": return e.listModels(k(n[0]));
|
|
339
|
+
case "loadTurnHistory":
|
|
340
|
+
if (!e.loadTurnHistory) throw Error("Turn history is unavailable.");
|
|
341
|
+
return e.loadTurnHistory(B(n[0], "Turn id"), V(n[1], "Conversation id"));
|
|
335
342
|
case "loadOlderConversationHistory": return e.loadOlderConversationHistory(V(n[0], "Conversation id"));
|
|
336
343
|
case "logout": return e.logout();
|
|
337
344
|
case "readConversationHistory": return e.readConversationHistory(V(n[0], "Conversation id"));
|
|
@@ -691,4 +698,4 @@ function X(e, t = /* @__PURE__ */ new Set()) {
|
|
|
691
698
|
//#endregion
|
|
692
699
|
export { x as a, m as c, a as d, r as f, p as i, h as l, o as m, v as n, f as o, n as p, g as r, b as s, u as t, i as u };
|
|
693
700
|
|
|
694
|
-
//# sourceMappingURL=surface-bridge-
|
|
701
|
+
//# sourceMappingURL=surface-bridge-fc3qMIGB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-bridge-fc3qMIGB.js","names":[],"sources":["../../src/surface-state.ts","../../src/surface-bridge.ts"],"sourcesContent":["import type {\n CodexSurfaceSnapshot,\n CodexSurfaceStateChange,\n CodexSurfaceStatePatch,\n CodexVersionedSurfaceSnapshot,\n} from './surface';\n\ntype Awaitable<Value> = Value | Promise<Value>;\ntype KeyedItem = { id: string };\ntype SnapshotRecord = Record<string, unknown>;\n\n/**\n * A state source that can serve a versioned base snapshot and the patches that\n * follow it. `getVersionedSnapshot` resolves null when the other side of a\n * transport cannot stream patches; consumers then use `onStateChange`.\n */\nexport type CodexSurfaceStatePatchSource = {\n getVersionedSnapshot(): Awaitable<CodexVersionedSurfaceSnapshot | null>;\n onStatePatch(listener: (patch: CodexSurfaceStatePatch) => void): () => void;\n};\n\nexport type SubscribeCodexSurfaceStateOptions = {\n /**\n * Whether to notify with the base snapshot once it arrives. Defaults to\n * true. Turn it off when another channel already delivered that state.\n */\n emitInitialSnapshot?: boolean;\n};\n\nexport type CodexSurfaceStateSource =\n | CodexSurfaceStatePatchSource\n | (Partial<CodexSurfaceStatePatchSource> & {\n onStateChange(listener: (snapshot: CodexSurfaceSnapshot) => void): () => void;\n });\n\nexport type CodexSurfaceStateMirrorResult =\n | { status: 'applied'; snapshot: CodexSurfaceSnapshot }\n | { status: 'ignored' }\n | { status: 'resync' };\n\n/** Keeps a local snapshot current from a versioned base and sequential patches. */\nexport type CodexSurfaceStateMirror = {\n readonly snapshot: CodexSurfaceSnapshot | null;\n /** The state version of `snapshot`, or -1 before the first base. */\n readonly version: number;\n /** Adopts an authoritative base, then replays buffered patches that are newer than it. */\n reset(state: CodexVersionedSurfaceSnapshot): CodexSurfaceSnapshot;\n /** Applies the next patch, or buffers it and asks for a new base when the sequence is broken. */\n receive(patch: CodexSurfaceStatePatch): CodexSurfaceStateMirrorResult;\n};\n\nconst maximumBufferedPatches = 1_000;\n\nexport function isCodexSurfaceStatePatchSource(value: unknown): value is CodexSurfaceStatePatchSource {\n const candidate = value as Partial<CodexSurfaceStatePatchSource> | null;\n return typeof candidate?.getVersionedSnapshot === 'function' && typeof candidate.onStatePatch === 'function';\n}\n\n/**\n * Describes how `next` differs from `previous` by reference. Arrays whose items\n * all carry unique string ids become `list` changes that ship only the items\n * whose identity changed; everything else is replaced or deleted per key.\n */\nexport function diffCodexSurfaceState(\n previous: CodexSurfaceSnapshot,\n next: CodexSurfaceSnapshot,\n): CodexSurfaceStateChange[] {\n const before = previous as unknown as SnapshotRecord;\n const after = next as unknown as SnapshotRecord;\n const changes: CodexSurfaceStateChange[] = [];\n for (const key of new Set([...Object.keys(before), ...Object.keys(after)])) {\n const snapshotKey = key as keyof CodexSurfaceSnapshot;\n if (before[key] === after[key]) continue;\n if (!(key in after)) {\n changes.push({ type: 'delete', key: snapshotKey });\n continue;\n }\n changes.push(keyedListChange(snapshotKey, before[key], after[key]) ?? {\n type: 'set',\n key: snapshotKey,\n value: after[key],\n });\n }\n return changes;\n}\n\n/** Applies changes to a snapshot without mutating it; unchanged values keep their identity. */\nexport function applyCodexSurfaceStateChanges(\n snapshot: CodexSurfaceSnapshot,\n changes: readonly CodexSurfaceStateChange[],\n): CodexSurfaceSnapshot {\n const current = snapshot as unknown as SnapshotRecord;\n const next: SnapshotRecord = { ...current };\n for (const change of changes) {\n if (change.type === 'delete') {\n delete next[change.key];\n } else if (change.type === 'set') {\n next[change.key] = change.value;\n } else {\n const previous = current[change.key];\n if (!Array.isArray(previous)) throw new Error(`Cannot apply a list patch to non-list state '${change.key}'`);\n const itemsById = new Map((previous as KeyedItem[]).map((item) => [item.id, item]));\n for (const item of change.items) itemsById.set(item.id, item);\n next[change.key] = change.ids.map((id) => {\n const item = itemsById.get(id);\n if (!item) throw new Error(`State patch references unknown '${change.key}' item '${id}'`);\n return item;\n });\n }\n }\n return next as unknown as CodexSurfaceSnapshot;\n}\n\nexport function createCodexSurfaceStateMirror(): CodexSurfaceStateMirror {\n let snapshot: CodexSurfaceSnapshot | null = null;\n let version = -1;\n let stale = true;\n const pending: CodexSurfaceStatePatch[] = [];\n\n const buffer = (patch: CodexSurfaceStatePatch): CodexSurfaceStateMirrorResult => {\n stale = true;\n pending.push(patch);\n if (pending.length > maximumBufferedPatches) pending.shift();\n return { status: 'resync' };\n };\n\n const mirror: CodexSurfaceStateMirror = {\n get snapshot() {\n return snapshot;\n },\n get version() {\n return version;\n },\n reset(state) {\n snapshot = state.snapshot;\n version = state.version;\n stale = false;\n const replay = pending.splice(0).sort((left, right) => left.version - right.version);\n for (const patch of replay) {\n if (mirror.receive(patch).status === 'resync') break;\n }\n return snapshot;\n },\n receive(patch) {\n if (stale || !snapshot) return buffer(patch);\n if (patch.version <= version) return { status: 'ignored' };\n if (patch.version !== version + 1) return buffer(patch);\n try {\n snapshot = applyCodexSurfaceStateChanges(snapshot, patch.changes);\n } catch {\n return buffer(patch);\n }\n version = patch.version;\n return { status: 'applied', snapshot };\n },\n };\n return mirror;\n}\n\n/**\n * Subscribes to surface state, mirroring patches locally when the source\n * supports them. Unchanged messages, turns, and other keyed items keep their\n * object identity between notifications, so UI frameworks can skip them.\n * Falls back to full `onStateChange` snapshots when the source has no patch\n * members or reports that patches are unavailable.\n */\nexport function subscribeCodexSurfaceState(\n source: CodexSurfaceStateSource,\n listener: (snapshot: CodexSurfaceSnapshot) => void,\n options: SubscribeCodexSurfaceStateOptions = {},\n): () => void {\n const subscribeToSnapshots = () => (\n 'onStateChange' in source && typeof source.onStateChange === 'function'\n ? source.onStateChange(listener)\n : () => undefined\n );\n if (!isCodexSurfaceStatePatchSource(source)) return subscribeToSnapshots();\n const mirror = createCodexSurfaceStateMirror();\n let active = true;\n let initialized = false;\n let resyncing = false;\n let unsubscribe: () => void = () => undefined;\n const resync = () => {\n if (resyncing || !active) return;\n resyncing = true;\n void Promise.resolve()\n .then(() => source.getVersionedSnapshot())\n .then((state) => {\n resyncing = false;\n if (!active) return;\n if (!isVersionedSnapshot(state)) {\n if (initialized) return;\n unsubscribe();\n unsubscribe = subscribeToSnapshots();\n return;\n }\n const snapshot = mirror.reset(state);\n // Buffered patches replayed onto the base are changes even when the base itself is not reported.\n const notify = initialized || options.emitInitialSnapshot !== false || mirror.version > state.version;\n initialized = true;\n if (notify) listener(snapshot);\n }, () => {\n resyncing = false;\n });\n };\n unsubscribe = source.onStatePatch((patch) => {\n const result = mirror.receive(patch);\n if (result.status === 'applied') listener(result.snapshot);\n else if (result.status === 'resync') resync();\n });\n resync();\n return () => {\n active = false;\n unsubscribe();\n };\n}\n\nfunction keyedListChange(\n key: keyof CodexSurfaceSnapshot,\n before: unknown,\n after: unknown,\n): CodexSurfaceStateChange | null {\n if (!Array.isArray(before) || !Array.isArray(after)) return null;\n const previousById = new Map<string, unknown>();\n for (const item of before) {\n if (!isKeyedItem(item) || previousById.has(item.id)) return null;\n previousById.set(item.id, item);\n }\n const ids: string[] = [];\n const items: KeyedItem[] = [];\n const seen = new Set<string>();\n for (const item of after) {\n if (!isKeyedItem(item) || seen.has(item.id)) return null;\n seen.add(item.id);\n ids.push(item.id);\n if (previousById.get(item.id) !== item) items.push(item);\n }\n // Replacing the whole list is smaller when nothing can be reused.\n return items.length === after.length ? null : { type: 'list', key, ids, items };\n}\n\nfunction isVersionedSnapshot(value: unknown): value is CodexVersionedSurfaceSnapshot {\n const candidate = value as Partial<CodexVersionedSurfaceSnapshot> | null | undefined;\n return Number.isSafeInteger(candidate?.version)\n && Boolean(candidate?.snapshot)\n && typeof candidate?.snapshot === 'object';\n}\n\nfunction isKeyedItem(value: unknown): value is KeyedItem {\n return Boolean(value) && typeof value === 'object' && typeof (value as { id?: unknown }).id === 'string';\n}\n","import { normalizePromptContent } from './prompt-content';\nimport type {\n CodexConversationEvent,\n CodexConversationHistory,\n CodexConversationHistoryPage,\n CodexConversationPromptHistory,\n CodexConversationSnapshot,\n CodexSurfaceApi,\n CodexSurfaceApprovalDecision,\n CodexSurfaceApprovalScope,\n CodexSurfaceAskUserAnswers,\n CodexSurfaceClientRequestResponse,\n CodexSurfaceJsonValue,\n CodexRendererAttachment,\n CodexRendererSendMessageOptions,\n CodexSurfaceAttachment,\n CodexSurfaceRendererApi,\n CreateCodexRendererConversationOptions,\n ListCodexConversationsOptions,\n ListCodexModelsOptions,\n ReadCodexRateLimitsOptions,\n ConsumeCodexRateLimitResetCreditOptions,\n SendCodexMessageOptions,\n StartCodexReviewOptions,\n StartCodexLiveChatOptions,\n UpdateCodexConversationSettings,\n} from './surface';\n\ntype RequiredRendererApi = Required<CodexSurfaceRendererApi>;\nexport type CodexSurfaceBridgeOperation = Exclude<\n keyof RequiredRendererApi,\n 'onEvent' | 'onStateChange' | 'onStatePatch' | 'getVersionedSnapshot'\n>;\ntype OperationFunction<Name extends CodexSurfaceBridgeOperation> = Extract<\n RequiredRendererApi[Name],\n (...args: never[]) => unknown\n>;\nexport type CodexSurfaceBridgeOperationArguments<Name extends CodexSurfaceBridgeOperation> =\n Parameters<OperationFunction<Name>>;\nexport type CodexSurfaceBridgeOperationResult<Name extends CodexSurfaceBridgeOperation> =\n Awaited<ReturnType<OperationFunction<Name>>>;\ntype Awaitable<Value> = Value | Promise<Value>;\ntype SurfaceOperationFunction<Name extends CodexSurfaceBridgeOperation> = Name extends keyof Required<CodexSurfaceApi>\n ? Extract<Required<CodexSurfaceApi>[Name], (...args: never[]) => unknown>\n : never;\ntype OptionalAccountOperation = 'readRateLimits' | 'readAccountUsage' | 'consumeRateLimitResetCredit';\ntype BridgeOperationMethods = {\n [Name in CodexSurfaceBridgeOperation]: (\n ...args: Parameters<SurfaceOperationFunction<Name>>\n ) => Awaitable<Awaited<ReturnType<SurfaceOperationFunction<Name>>>>;\n};\nexport type CodexSurfaceBridgeTarget = Omit<BridgeOperationMethods, OptionalAccountOperation>\n & Partial<Pick<BridgeOperationMethods, OptionalAccountOperation>>\n & Pick<CodexSurfaceApi, 'onEvent' | 'onStateChange'>;\n\nexport type CodexSurfaceBridgeAttachmentResolver = (\n attachment: CodexRendererAttachment,\n) => Awaitable<CodexSurfaceAttachment>;\n\nexport type CodexSurfaceBridgeInvokeOptions = {\n operationLabel?: string;\n resolveAttachment?: CodexSurfaceBridgeAttachmentResolver;\n};\n\ntype CodexConversationBridgeOperationFunctions = {\n clearGoal(): Awaitable<CodexConversationSnapshot>;\n compactConversation(): Awaitable<CodexConversationSnapshot>;\n continueInterruptedTurn(): Awaitable<CodexConversationSnapshot>;\n deleteTurn(turnId: string): Awaitable<CodexConversationSnapshot>;\n deleteQueuedPrompt(promptId: string): Awaitable<CodexConversationSnapshot>;\n editTurn(turnId: string, content: string, options?: CodexRendererSendMessageOptions): Awaitable<CodexConversationSnapshot>;\n forkTurn(turnId: string): Awaitable<CodexConversationSnapshot>;\n getSnapshot(): Awaitable<CodexConversationSnapshot>;\n interrupt(): Awaitable<CodexConversationSnapshot>;\n loadOlderConversationHistory(): Awaitable<CodexConversationHistoryPage>;\n loadTurnHistory(turnId: string): Awaitable<CodexConversationSnapshot>;\n readConversationHistory(): Awaitable<CodexConversationHistory>;\n readConversationPromptHistory(): Awaitable<CodexConversationPromptHistory>;\n renameConversation(title: string): Awaitable<CodexConversationSnapshot>;\n respondToClientRequest(response: CodexSurfaceClientRequestResponse): Awaitable<CodexConversationSnapshot>;\n resolveApproval(\n approvalId: string,\n decision: CodexSurfaceApprovalDecision,\n scope?: CodexSurfaceApprovalScope,\n ): Awaitable<CodexConversationSnapshot>;\n retryTurn(turnId: string): Awaitable<CodexConversationSnapshot>;\n sendMessage(prompt: string, options?: CodexRendererSendMessageOptions): Awaitable<CodexConversationSnapshot>;\n setGoal(objective: string, tokenBudget?: number | null): Awaitable<CodexConversationSnapshot>;\n startReview(options?: StartCodexReviewOptions): Awaitable<CodexConversationSnapshot>;\n steerMessage(prompt: string, options?: CodexRendererSendMessageOptions): Awaitable<CodexConversationSnapshot>;\n steerQueuedPrompt(promptId: string, prompt?: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n updateConversationSettings(settings: UpdateCodexConversationSettings): Awaitable<CodexConversationSnapshot>;\n updateQueuedPrompt(promptId: string, prompt: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n};\n\nexport const codexConversationBridgeOperations = [\n 'clearGoal', 'compactConversation', 'continueInterruptedTurn', 'deleteTurn', 'deleteQueuedPrompt', 'editTurn',\n 'forkTurn', 'getSnapshot', 'interrupt', 'loadOlderConversationHistory', 'loadTurnHistory',\n 'readConversationHistory', 'readConversationPromptHistory', 'renameConversation',\n 'respondToClientRequest', 'resolveApproval', 'retryTurn', 'sendMessage', 'setGoal',\n 'startReview', 'steerMessage', 'steerQueuedPrompt', 'updateConversationSettings',\n 'updateQueuedPrompt',\n] as const satisfies readonly (keyof CodexConversationBridgeOperationFunctions)[];\n\nexport type CodexConversationBridgeOperation = typeof codexConversationBridgeOperations[number];\nexport type CodexConversationBridgeOperationArguments<Name extends CodexConversationBridgeOperation> =\n Parameters<CodexConversationBridgeOperationFunctions[Name]>;\nexport type CodexConversationBridgeOperationResult<Name extends CodexConversationBridgeOperation> =\n Awaited<ReturnType<CodexConversationBridgeOperationFunctions[Name]>>;\n\nexport type CodexConversationBridgeHandle = {\n clearGoal(): Awaitable<CodexConversationSnapshot>;\n compact(): Awaitable<CodexConversationSnapshot>;\n continueInterruptedTurn(): Awaitable<CodexConversationSnapshot>;\n deleteTurn(turnId: string): Awaitable<CodexConversationSnapshot>;\n deleteQueuedPrompt(promptId: string): Awaitable<CodexConversationSnapshot>;\n editTurn(turnId: string, content: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n forkTurn(turnId: string): Awaitable<{ snapshot: CodexConversationSnapshot }>;\n getSnapshot(): CodexConversationSnapshot;\n interrupt(): Awaitable<CodexConversationSnapshot>;\n loadOlderHistory(): Awaitable<CodexConversationHistoryPage>;\n loadTurnHistory?(turnId: string): Awaitable<CodexConversationSnapshot>;\n onEvent(listener: (event: CodexConversationEvent) => void): () => void;\n onStateChange(listener: (snapshot: CodexConversationSnapshot) => void): () => void;\n readHistory(): Awaitable<CodexConversationHistory>;\n readPromptHistory(): Awaitable<CodexConversationPromptHistory>;\n rename(title: string): Awaitable<CodexConversationSnapshot>;\n respondToClientRequest(response: CodexSurfaceClientRequestResponse): Awaitable<CodexConversationSnapshot>;\n resolveApproval(\n approvalId: string,\n decision: CodexSurfaceApprovalDecision,\n scope?: CodexSurfaceApprovalScope,\n ): Awaitable<CodexConversationSnapshot>;\n retryTurn(turnId: string): Awaitable<CodexConversationSnapshot>;\n sendMessage(prompt: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n setGoal(objective: string, tokenBudget?: number | null): Awaitable<CodexConversationSnapshot>;\n startReview(options?: StartCodexReviewOptions): Awaitable<CodexConversationSnapshot>;\n steerMessage(prompt: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n steerQueuedPrompt(promptId: string, prompt?: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n updateQueuedPrompt(promptId: string, prompt: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n updateSettings(settings: UpdateCodexConversationSettings): Awaitable<CodexConversationSnapshot>;\n};\n\nexport type CodexConversationBridgeTarget = {\n conversation(conversationId: string): CodexConversationBridgeHandle;\n};\n\nexport type CodexConversationBridgeNotification =\n | {\n type: 'snapshot';\n conversationId: string;\n snapshot: CodexConversationSnapshot;\n }\n | {\n type: 'event';\n conversationId: string;\n event: CodexConversationEvent;\n };\n\nconst conversationOperationSet = new Set<string>(codexConversationBridgeOperations);\n\nexport function isCodexConversationBridgeOperation(value: unknown): value is CodexConversationBridgeOperation {\n return typeof value === 'string' && conversationOperationSet.has(value);\n}\n\nexport async function invokeCodexConversationBridgeOperation<Name extends CodexConversationBridgeOperation>(\n target: CodexConversationBridgeTarget,\n conversationId: string,\n operation: Name,\n args: readonly unknown[],\n options: CodexSurfaceBridgeInvokeOptions = {},\n): Promise<CodexConversationBridgeOperationResult<Name>> {\n const id = nonEmptyString(conversationId, 'Conversation id');\n const [minimum, maximum] = conversationArities[operation];\n if (args.length < minimum || args.length > maximum) {\n throw new TypeError(`${options.operationLabel ?? operation} received an invalid number of arguments`);\n }\n const conversation = target.conversation(id);\n const bridgeTarget = conversationOperationTarget(conversation);\n const result = await invokeCodexSurfaceBridgeOperation(bridgeTarget, operation, args, options);\n return result as CodexConversationBridgeOperationResult<Name>;\n}\n\nexport function subscribeCodexConversationBridge(\n target: CodexConversationBridgeTarget,\n conversationId: string,\n listener: (notification: CodexConversationBridgeNotification) => void,\n): () => void {\n const id = nonEmptyString(conversationId, 'Conversation id');\n const conversation = target.conversation(id);\n const emitSnapshot = (snapshot: CodexConversationSnapshot) => {\n if (snapshot.activeConversationId === id) {\n listener({ type: 'snapshot', conversationId: id, snapshot });\n }\n };\n const emitEvent = (event: CodexConversationEvent) => {\n if (event.conversationId === id) listener({ type: 'event', conversationId: id, event });\n };\n const unsubscribeState = conversation.onStateChange(emitSnapshot);\n let unsubscribeEvent: () => void;\n try {\n unsubscribeEvent = conversation.onEvent(emitEvent);\n } catch (error) {\n unsubscribeState();\n throw error;\n }\n return () => {\n unsubscribeEvent();\n unsubscribeState();\n };\n}\n\n/**\n * Emits exactly one targeted snapshot followed by semantic conversation events.\n * Events raised while the initial snapshot is captured are buffered so consumers\n * can always initialize a replica before applying deltas.\n */\nexport function subscribeCodexConversationReplicaBridge(\n target: CodexConversationBridgeTarget,\n conversationId: string,\n listener: (notification: CodexConversationBridgeNotification) => void,\n): () => void {\n const id = nonEmptyString(conversationId, 'Conversation id');\n const conversation = target.conversation(id);\n const pending: CodexConversationEvent[] = [];\n let initialized = false;\n const unsubscribe = conversation.onEvent((event) => {\n if (event.conversationId !== id) return;\n if (!initialized) pending.push(event);\n else listener({ type: 'event', conversationId: id, event });\n });\n try {\n const snapshot = conversation.getSnapshot();\n if (snapshot.activeConversationId !== id) {\n throw new Error(\n `Snapshot belongs to '${snapshot.activeConversationId}', not bridge conversation '${id}'`,\n );\n }\n listener({ type: 'snapshot', conversationId: id, snapshot });\n initialized = true;\n for (const event of pending) listener({ type: 'event', conversationId: id, event });\n pending.length = 0;\n } catch (error) {\n unsubscribe();\n throw error;\n }\n return unsubscribe;\n}\n\nexport const codexSurfaceBridgeOperations = [\n 'archiveConversation', 'cancelLogin', 'clearGoal', 'compactConversation', 'connect',\n 'continueInterruptedTurn', 'createConversation', 'deleteConversation', 'deleteTurn', 'deleteQueuedPrompt',\n 'editTurn', 'forkTurn', 'getSnapshot', 'interrupt', 'listConversations',\n 'listModels', 'loadOlderConversationHistory', 'loadTurnHistory', 'logout', 'readConversationHistory',\n 'readConversationPromptHistory', 'refreshAccount', 'refreshConversations', 'renameConversation', 'respondToClientRequest',\n 'resolveApproval', 'retryTurn', 'selectConversation', 'sendMessage', 'setGoal',\n 'startChatGptDeviceCodeLogin', 'startChatGptLogin', 'startReview', 'steerMessage', 'steerQueuedPrompt',\n 'unarchiveConversation', 'updateConversationSettings', 'updateQueuedPrompt',\n 'startLiveChat', 'stopLiveChat',\n 'readRateLimits',\n 'readAccountUsage',\n 'consumeRateLimitResetCredit',\n] as const satisfies readonly CodexSurfaceBridgeOperation[];\n\nconst operationSet = new Set<string>(codexSurfaceBridgeOperations);\nexport const codexSurfaceBridgeArities: Readonly<\n Record<CodexSurfaceBridgeOperation, readonly [minimum: number, maximum: number]>\n> = {\n startLiveChat: [2, 2], stopLiveChat: [1, 1],\n archiveConversation: [1, 1], cancelLogin: [0, 1], clearGoal: [0, 0],\n compactConversation: [0, 0], connect: [0, 0], continueInterruptedTurn: [0, 0], createConversation: [0, 1],\n deleteConversation: [1, 1], deleteTurn: [1, 1], deleteQueuedPrompt: [1, 1],\n editTurn: [2, 3], forkTurn: [1, 1], getSnapshot: [0, 0], interrupt: [0, 0],\n listConversations: [0, 1], listModels: [0, 1], loadOlderConversationHistory: [0, 1], loadTurnHistory: [1, 2],\n logout: [0, 0], readConversationHistory: [0, 1], readConversationPromptHistory: [0, 1],\n refreshAccount: [0, 0],\n readRateLimits: [0, 1],\n readAccountUsage: [0, 0],\n consumeRateLimitResetCredit: [1, 1],\n refreshConversations: [0, 0], renameConversation: [1, 1], respondToClientRequest: [1, 1],\n resolveApproval: [2, 3], retryTurn: [1, 1], selectConversation: [1, 1],\n sendMessage: [1, 2], setGoal: [1, 2], startChatGptDeviceCodeLogin: [0, 0],\n startChatGptLogin: [0, 0], startReview: [0, 1],\n steerMessage: [1, 2], steerQueuedPrompt: [1, 3], unarchiveConversation: [1, 1],\n updateConversationSettings: [1, 1], updateQueuedPrompt: [2, 3],\n};\n\nconst conversationArities: Readonly<\n Record<CodexConversationBridgeOperation, readonly [minimum: number, maximum: number]>\n> = {\n clearGoal: [0, 0], compactConversation: [0, 0], continueInterruptedTurn: [0, 0], deleteTurn: [1, 1],\n deleteQueuedPrompt: [1, 1], editTurn: [2, 3], forkTurn: [1, 1], getSnapshot: [0, 0],\n interrupt: [0, 0], loadOlderConversationHistory: [0, 0], loadTurnHistory: [1, 1], readConversationHistory: [0, 0],\n readConversationPromptHistory: [0, 0], renameConversation: [1, 1], respondToClientRequest: [1, 1],\n resolveApproval: [2, 3], retryTurn: [1, 1], sendMessage: [1, 2], setGoal: [1, 2],\n startReview: [0, 1], steerMessage: [1, 2], steerQueuedPrompt: [1, 3],\n updateConversationSettings: [1, 1], updateQueuedPrompt: [2, 3],\n};\n\nexport function isCodexSurfaceBridgeOperation(value: unknown): value is CodexSurfaceBridgeOperation {\n return typeof value === 'string' && operationSet.has(value);\n}\n\nexport async function invokeCodexSurfaceBridgeOperation<Name extends CodexSurfaceBridgeOperation>(\n target: CodexSurfaceBridgeTarget,\n operation: Name,\n args: readonly unknown[],\n options: CodexSurfaceBridgeInvokeOptions = {},\n): Promise<CodexSurfaceBridgeOperationResult<Name>> {\n const [minimum, maximum] = codexSurfaceBridgeArities[operation];\n if (args.length < minimum || args.length > maximum) {\n throw new TypeError(`${options.operationLabel ?? operation} received an invalid number of arguments`);\n }\n const result = await invokeValidated(target, operation, args, options);\n return result as CodexSurfaceBridgeOperationResult<Name>;\n}\n\nfunction conversationOperationTarget(conversation: CodexConversationBridgeHandle): CodexSurfaceBridgeTarget {\n const target: Pick<CodexSurfaceBridgeTarget, CodexConversationBridgeOperation> = {\n clearGoal: () => conversation.clearGoal(),\n compactConversation: () => conversation.compact(),\n continueInterruptedTurn: () => conversation.continueInterruptedTurn(),\n deleteTurn: (turnId) => conversation.deleteTurn(turnId),\n deleteQueuedPrompt: (promptId) => conversation.deleteQueuedPrompt(promptId),\n editTurn: (turnId, content, options) => conversation.editTurn(turnId, content, options),\n forkTurn: async (turnId) => (await conversation.forkTurn(turnId)).snapshot,\n getSnapshot: () => conversation.getSnapshot(),\n interrupt: () => conversation.interrupt(),\n loadOlderConversationHistory: () => conversation.loadOlderHistory(),\n loadTurnHistory: (turnId) => conversation.loadTurnHistory?.(turnId) ?? Promise.reject(new Error('Turn history is unavailable.')),\n readConversationHistory: () => conversation.readHistory(),\n readConversationPromptHistory: () => conversation.readPromptHistory(),\n renameConversation: (title) => conversation.rename(title),\n respondToClientRequest: (response) => conversation.respondToClientRequest(response),\n resolveApproval: (approvalId, decision, scope) => conversation.resolveApproval(approvalId, decision, scope),\n retryTurn: (turnId) => conversation.retryTurn(turnId),\n sendMessage: (prompt, options) => conversation.sendMessage(prompt, options),\n setGoal: (objective, tokenBudget) => conversation.setGoal(objective, tokenBudget),\n startReview: (options) => conversation.startReview(options),\n steerMessage: (prompt, options) => conversation.steerMessage(prompt, options),\n steerQueuedPrompt: (promptId, prompt, options) => conversation.steerQueuedPrompt(promptId, prompt, options),\n updateConversationSettings: (settings) => conversation.updateSettings(settings),\n updateQueuedPrompt: (promptId, prompt, options) => conversation.updateQueuedPrompt(promptId, prompt, options),\n };\n return target as unknown as CodexSurfaceBridgeTarget;\n}\n\nasync function invokeValidated(\n target: CodexSurfaceBridgeTarget,\n operation: CodexSurfaceBridgeOperation,\n args: readonly unknown[],\n options: CodexSurfaceBridgeInvokeOptions,\n): Promise<unknown> {\n switch (operation) {\n case 'startLiveChat': return target.startLiveChat(\n nonEmptyString(args[0], 'Conversation id'), liveChatOptions(args[1]),\n );\n case 'stopLiveChat': return target.stopLiveChat(nonEmptyString(args[0], 'Conversation id'));\n case 'archiveConversation': return target.archiveConversation(nonEmptyString(args[0], 'Conversation id'));\n case 'cancelLogin': return target.cancelLogin(optionalString(args[0], 'Login id'));\n case 'clearGoal': return target.clearGoal();\n case 'compactConversation': return target.compactConversation();\n case 'connect': return target.connect();\n case 'continueInterruptedTurn': return target.continueInterruptedTurn();\n case 'createConversation': return target.createConversation(conversationOptions(args[0]));\n case 'deleteConversation': return target.deleteConversation(nonEmptyString(args[0], 'Conversation id'));\n case 'deleteTurn': return target.deleteTurn(nonEmptyString(args[0], 'Turn id'));\n case 'deleteQueuedPrompt': return target.deleteQueuedPrompt(nonEmptyString(args[0], 'Queued prompt id'));\n case 'editTurn': return target.editTurn(nonEmptyString(args[0], 'Turn id'), nonEmptyString(args[1], 'Turn content'), await sendOptions(args[2], options.resolveAttachment));\n case 'forkTurn': return target.forkTurn(nonEmptyString(args[0], 'Turn id'));\n case 'getSnapshot': return target.getSnapshot();\n case 'interrupt': return target.interrupt();\n case 'listConversations': return target.listConversations(listConversationOptions(args[0]));\n case 'listModels': return target.listModels(listModelOptions(args[0]));\n case 'loadTurnHistory': {\n if (!target.loadTurnHistory) throw new Error('Turn history is unavailable.');\n return target.loadTurnHistory(nonEmptyString(args[0], 'Turn id'), optionalString(args[1], 'Conversation id'));\n }\n case 'loadOlderConversationHistory': return target.loadOlderConversationHistory(optionalString(args[0], 'Conversation id'));\n case 'logout': return target.logout();\n case 'readConversationHistory': return target.readConversationHistory(optionalString(args[0], 'Conversation id'));\n case 'readConversationPromptHistory': return target.readConversationPromptHistory(\n optionalString(args[0], 'Conversation id'),\n );\n case 'refreshAccount': return target.refreshAccount();\n case 'readRateLimits': {\n const options = rateLimitsOptions(args[0]);\n if (!target.readRateLimits) throw new Error('Account rate-limit reads are not available.');\n return target.readRateLimits(options);\n }\n case 'readAccountUsage': {\n if (!target.readAccountUsage) throw new Error('Account usage reads are not available.');\n return target.readAccountUsage();\n }\n case 'consumeRateLimitResetCredit': {\n const options = resetCreditOptions(args[0]);\n if (!target.consumeRateLimitResetCredit) throw new Error('Rate-limit reset credits are not available.');\n return target.consumeRateLimitResetCredit(options);\n }\n case 'refreshConversations': return target.refreshConversations();\n case 'renameConversation': return target.renameConversation(nonEmptyString(args[0], 'Conversation title'));\n case 'respondToClientRequest': return target.respondToClientRequest(clientRequestResponse(args[0]));\n case 'resolveApproval': return target.resolveApproval(\n nonEmptyString(args[0], 'Approval id'), approvalDecision(args[1]), approvalScope(args[2]),\n );\n case 'retryTurn': return target.retryTurn(nonEmptyString(args[0], 'Turn id'));\n case 'selectConversation': return target.selectConversation(nonEmptyString(args[0], 'Conversation id'));\n case 'sendMessage': return target.sendMessage(\n nonEmptyString(args[0], 'Message prompt'),\n await sendOptions(args[1], options.resolveAttachment),\n );\n case 'setGoal': return target.setGoal(nonEmptyString(args[0], 'Goal objective'), tokenBudget(args[1]));\n case 'startChatGptDeviceCodeLogin': return target.startChatGptDeviceCodeLogin();\n case 'startChatGptLogin': return target.startChatGptLogin();\n case 'startReview': return target.startReview(reviewOptions(args[0]));\n case 'steerMessage': return target.steerMessage(\n nonEmptyString(args[0], 'Steer prompt'),\n await sendOptions(args[1], options.resolveAttachment),\n );\n case 'steerQueuedPrompt': return target.steerQueuedPrompt(\n nonEmptyString(args[0], 'Queued prompt id'),\n optionalString(args[1], 'Queued prompt'),\n await sendOptions(args[2], options.resolveAttachment),\n );\n case 'unarchiveConversation': return target.unarchiveConversation(nonEmptyString(args[0], 'Conversation id'));\n case 'updateConversationSettings': return target.updateConversationSettings(settings(args[0]));\n case 'updateQueuedPrompt': return target.updateQueuedPrompt(\n nonEmptyString(args[0], 'Queued prompt id'), nonEmptyString(args[1], 'Queued prompt'),\n await sendOptions(args[2], options.resolveAttachment),\n );\n }\n}\n\nfunction liveChatOptions(value: unknown): StartCodexLiveChatOptions {\n const record = plainObject(value, 'Live chat options');\n onlyKeys(record, ['sdp', 'version', 'voice', 'model', 'prompt', 'includeStartupContext', 'flushTranscriptTailOnSessionEnd'], 'Live chat options');\n const result: StartCodexLiveChatOptions = { sdp: nonEmptyString(record.sdp, 'SDP offer') };\n if (record.version !== undefined) {\n if (record.version !== 'v1' && record.version !== 'v2' && record.version !== 'v3') throw new TypeError('Invalid realtime version');\n result.version = record.version;\n }\n for (const key of ['voice', 'model'] as const) {\n if (record[key] !== undefined) result[key] = nonEmptyString(record[key], key);\n }\n if (record.prompt !== undefined) {\n if (record.prompt !== null && typeof record.prompt !== 'string') throw new TypeError('Prompt must be a string or null');\n result.prompt = record.prompt;\n }\n for (const key of ['includeStartupContext', 'flushTranscriptTailOnSessionEnd'] as const) {\n if (record[key] !== undefined) {\n if (typeof record[key] !== 'boolean') throw new TypeError(`${key} must be a boolean`);\n result[key] = record[key];\n }\n }\n return result;\n}\n\nfunction conversationOptions(value: unknown): CreateCodexRendererConversationOptions | undefined {\n if (value === undefined) return undefined;\n const record = plainObject(value, 'Conversation options');\n onlyKeys(record, ['model', 'reasoningEffort', 'serviceTier', 'approvalPreset'], 'Conversation options');\n return {\n ...(record.model === undefined ? {} : { model: nonEmptyString(record.model, 'Conversation model') }),\n ...(record.reasoningEffort === undefined ? {} : { reasoningEffort: nonEmptyString(record.reasoningEffort, 'Conversation reasoning effort') }),\n ...(record.serviceTier === undefined ? {} : { serviceTier: nullableString(record.serviceTier, 'Conversation service tier') }),\n ...(record.approvalPreset === undefined ? {} : { approvalPreset: approvalPreset(record.approvalPreset) }),\n };\n}\n\nfunction listConversationOptions(value: unknown): ListCodexConversationsOptions | undefined {\n if (value === undefined) return undefined;\n const record = plainObject(value, 'Conversation list options');\n onlyKeys(record, ['archived', 'cwd', 'limit', 'searchTerm'], 'Conversation list options');\n if (record.archived !== undefined && typeof record.archived !== 'boolean') {\n throw new TypeError('Conversation list archived flag must be a boolean');\n }\n if (record.limit !== undefined && (!Number.isInteger(record.limit) || (record.limit as number) < 0)) {\n throw new TypeError('Conversation list limit must be a non-negative integer');\n }\n const cwd = record.cwd === undefined ? undefined : Array.isArray(record.cwd)\n ? record.cwd.map((entry) => nonEmptyString(entry, 'Conversation list cwd'))\n : nonEmptyString(record.cwd, 'Conversation list cwd');\n return {\n ...(record.archived === undefined ? {} : { archived: record.archived }),\n ...(cwd === undefined ? {} : { cwd }),\n ...(record.limit === undefined ? {} : { limit: record.limit as number }),\n ...(record.searchTerm === undefined ? {} : { searchTerm: nonEmptyString(record.searchTerm, 'Conversation list search term') }),\n };\n}\n\nfunction rateLimitsOptions(value: unknown): ReadCodexRateLimitsOptions | undefined {\n if (value === undefined) return undefined;\n const record = plainObject(value, 'Rate-limit read options');\n onlyKeys(record, ['excludeResetCreditDetails'], 'Rate-limit read options');\n return record.excludeResetCreditDetails === undefined ? {} : {\n excludeResetCreditDetails: booleanValue(record.excludeResetCreditDetails, 'Exclude reset credit details'),\n };\n}\n\nfunction resetCreditOptions(value: unknown): ConsumeCodexRateLimitResetCreditOptions {\n const record = plainObject(value, 'Reset-credit options');\n onlyKeys(record, ['idempotencyKey', 'creditId'], 'Reset-credit options');\n return {\n idempotencyKey: nonEmptyString(record.idempotencyKey, 'Reset-credit idempotency key'),\n ...(record.creditId === undefined ? {} : { creditId: nonEmptyString(record.creditId, 'Reset credit id') }),\n };\n}\n\nfunction listModelOptions(value: unknown): ListCodexModelsOptions | undefined {\n if (value === undefined) return undefined;\n const record = plainObject(value, 'Model list options');\n onlyKeys(record, ['includeHidden', 'forceReload'], 'Model list options');\n return {\n ...(record.includeHidden === undefined ? {} : { includeHidden: booleanValue(record.includeHidden, 'Model list includeHidden') }),\n ...(record.forceReload === undefined ? {} : { forceReload: booleanValue(record.forceReload, 'Model list forceReload') }),\n };\n}\n\nfunction settings(value: unknown): UpdateCodexConversationSettings {\n const record = plainObject(value, 'Conversation settings');\n onlyKeys(record, ['modelId', 'reasoningEffort', 'serviceTier', 'approvalPreset', 'planMode'], 'Conversation settings');\n return {\n ...(record.modelId === undefined ? {} : { modelId: nonEmptyString(record.modelId, 'Conversation model id') }),\n ...(record.reasoningEffort === undefined ? {} : { reasoningEffort: nonEmptyString(record.reasoningEffort, 'Conversation reasoning effort') }),\n ...(record.serviceTier === undefined ? {} : { serviceTier: nullableString(record.serviceTier, 'Conversation service tier') }),\n ...(record.approvalPreset === undefined ? {} : { approvalPreset: approvalPreset(record.approvalPreset) }),\n ...(record.planMode === undefined ? {} : { planMode: booleanValue(record.planMode, 'Conversation plan mode') }),\n };\n}\n\nfunction clientRequestResponse(value: unknown): CodexSurfaceClientRequestResponse {\n const record = plainObject(value, 'Client request response');\n onlyKeys(record, ['id', 'payload'], 'Client request response');\n const id = nonEmptyString(record.id, 'Client request id');\n if (record.payload === undefined) return { id };\n const payload = plainObject(record.payload, 'Client request response payload');\n onlyKeys(payload, ['answers', 'cancelled', 'decision'], 'Client request response payload');\n const decision = payload.decision;\n const validDecisions = [null, 'allow', 'allow_conversation', 'always_allow', 'deny'];\n if (decision !== undefined && !validDecisions.includes(decision as string | null)) {\n throw new TypeError('Client request decision is invalid');\n }\n const answers = payload.answers === undefined ? undefined : askUserAnswers(payload.answers);\n return {\n id,\n payload: {\n ...(answers === undefined ? {} : { answers }),\n ...(payload.cancelled === undefined ? {} : { cancelled: booleanValue(payload.cancelled, 'Client request cancelled flag') }),\n ...(decision === undefined ? {} : { decision: decision as NonNullable<CodexSurfaceClientRequestResponse['payload']>['decision'] }),\n },\n };\n}\n\nfunction askUserAnswers(value: unknown): CodexSurfaceAskUserAnswers {\n const record = plainObject(value, 'Client request answers');\n const answers: CodexSurfaceAskUserAnswers = {};\n for (const [questionId, rawAnswer] of Object.entries(record)) {\n if (!questionId.trim()) throw new TypeError('Client request question id must be non-empty');\n const answer = plainObject(rawAnswer, 'Client request answer');\n onlyKeys(answer, ['answers'], 'Client request answer');\n if (!Array.isArray(answer.answers) || !answer.answers.every((item) => typeof item === 'string')) {\n throw new TypeError('Client request answer values must be an array of strings');\n }\n answers[questionId] = { answers: [...answer.answers] };\n }\n return answers;\n}\n\nasync function sendOptions(\n value: unknown,\n resolveAttachment: CodexSurfaceBridgeAttachmentResolver | undefined,\n): Promise<SendCodexMessageOptions | undefined> {\n if (value === undefined) return undefined;\n const record = plainObject(value, 'Message options');\n onlyKeys(record, ['content', 'inputMethod', 'attachments', 'model', 'reasoningEffort', 'serviceTier', 'planMode', 'skills', 'outputSchema'], 'Message options');\n const attachments = record.attachments === undefined\n ? undefined\n : await attachmentInputs(record.attachments, resolveAttachment);\n const skills = record.skills === undefined ? undefined : skillInputs(record.skills);\n const inputMethod = record.inputMethod;\n if (inputMethod !== undefined && inputMethod !== 'typed' && inputMethod !== 'dictated') {\n throw new TypeError('Message input method must be typed or dictated');\n }\n if (record.outputSchema !== undefined && !isJsonValue(record.outputSchema)) {\n throw new TypeError('Message output schema must be JSON-serializable');\n }\n return {\n ...(record.content === undefined ? {} : { content: normalizePromptContent(record.content) }),\n ...(inputMethod === undefined ? {} : { inputMethod }),\n ...(attachments === undefined ? {} : { attachments }),\n ...(record.model === undefined ? {} : { model: nonEmptyString(record.model, 'Message model') }),\n ...(record.reasoningEffort === undefined ? {} : { reasoningEffort: nonEmptyString(record.reasoningEffort, 'Message reasoning effort') }),\n ...(record.serviceTier === undefined ? {} : { serviceTier: nullableString(record.serviceTier, 'Message service tier') }),\n ...(record.planMode === undefined ? {} : { planMode: booleanValue(record.planMode, 'Message plan mode') }),\n ...(skills === undefined ? {} : { skills }),\n ...(record.outputSchema === undefined ? {} : { outputSchema: record.outputSchema }),\n };\n}\n\nasync function attachmentInputs(\n value: unknown,\n resolveAttachment: CodexSurfaceBridgeAttachmentResolver | undefined,\n): Promise<NonNullable<SendCodexMessageOptions['attachments']>> {\n if (!Array.isArray(value)) throw new TypeError('Message attachments must be an array');\n if (value.length > 0 && !resolveAttachment) {\n throw new TypeError('Message attachment references are not supported by this host');\n }\n return Promise.all(value.map(async (rawAttachment) => {\n const attachment = plainObject(rawAttachment, 'Message attachment');\n if (attachment.type !== 'image' && attachment.type !== 'file') {\n throw new TypeError('Message attachment type is invalid');\n }\n const image = attachment.type === 'image';\n onlyKeys(\n attachment,\n image ? ['type', 'reference', 'detail'] : ['type', 'reference'],\n 'Message attachment',\n );\n if (image && attachment.detail !== undefined && !['auto', 'low', 'high', 'original'].includes(String(attachment.detail))) {\n throw new TypeError('Message image detail is invalid');\n }\n const rendererAttachment: CodexRendererAttachment = image ? {\n type: 'image' as const,\n reference: nonEmptyString(attachment.reference, 'Message attachment reference'),\n ...(attachment.detail === undefined ? {} : { detail: attachment.detail as 'auto' | 'low' | 'high' | 'original' }),\n } : {\n type: 'file' as const,\n reference: nonEmptyString(attachment.reference, 'Message attachment reference'),\n };\n const resolved = await resolveAttachment!(rendererAttachment);\n return resolvedAttachment(resolved, rendererAttachment);\n }));\n}\n\nfunction resolvedAttachment(\n value: CodexSurfaceAttachment,\n source: CodexRendererAttachment,\n): CodexSurfaceAttachment {\n const attachment = plainObject(value, 'Resolved message attachment');\n if (attachment.type !== source.type) throw new TypeError('Resolved message attachment type does not match');\n const common = {\n path: nonEmptyString(attachment.path, 'Resolved message attachment path'),\n ...(attachment.name === undefined ? {} : { name: displayString(attachment.name, 'Resolved message attachment name') }),\n ...(attachment.mimeType === undefined ? {} : { mimeType: displayString(attachment.mimeType, 'Resolved message attachment MIME type') }),\n };\n return source.type === 'image' ? {\n type: 'image',\n ...common,\n ...(source.detail === undefined ? {} : { detail: source.detail }),\n ...(attachment.previewUrl === undefined\n ? {}\n : { previewUrl: imagePreviewUrl(attachment.previewUrl) }),\n } : { type: 'file', ...common };\n}\n\nfunction skillInputs(value: unknown): NonNullable<SendCodexMessageOptions['skills']> {\n if (!Array.isArray(value)) throw new TypeError('Message skills must be an array');\n return value.map((rawSkill) => {\n const skill = plainObject(rawSkill, 'Message skill');\n onlyKeys(skill, ['name', 'path'], 'Message skill');\n return { name: nonEmptyString(skill.name, 'Message skill name'), path: nonEmptyString(skill.path, 'Message skill path') };\n });\n}\n\nfunction reviewOptions(value: unknown): StartCodexReviewOptions | undefined {\n if (value === undefined) return undefined;\n const record = plainObject(value, 'Review options');\n onlyKeys(record, ['target'], 'Review options');\n if (record.target === undefined) return {};\n const target = plainObject(record.target, 'Review target');\n if (target.type === 'uncommittedChanges') {\n onlyKeys(target, ['type'], 'Review target');\n return { target: { type: 'uncommittedChanges' } };\n }\n if (target.type === 'baseBranch') {\n onlyKeys(target, ['type', 'branch'], 'Review target');\n return { target: { type: 'baseBranch', branch: nonEmptyString(target.branch, 'Review branch') } };\n }\n if (target.type === 'commit') {\n onlyKeys(target, ['type', 'sha', 'title'], 'Review target');\n if (target.title !== undefined && target.title !== null && typeof target.title !== 'string') {\n throw new TypeError('Review commit title must be a string or null');\n }\n return { target: { type: 'commit', sha: nonEmptyString(target.sha, 'Review commit SHA'), ...(target.title === undefined ? {} : { title: target.title }) } };\n }\n if (target.type === 'custom') {\n onlyKeys(target, ['type', 'instructions'], 'Review target');\n return { target: { type: 'custom', instructions: nonEmptyString(target.instructions, 'Review instructions') } };\n }\n throw new TypeError('Review target type is invalid');\n}\n\nfunction plainObject(value: unknown, label: string): Record<string, unknown> {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) throw new TypeError(`${label} must be an object`);\n const prototype = Object.getPrototypeOf(value) as object | null;\n if (prototype !== Object.prototype && prototype !== null) throw new TypeError(`${label} must be a plain object`);\n if (Reflect.ownKeys(value).some((key) => typeof key === 'symbol')) throw new TypeError(`${label} must not contain symbol properties`);\n return value as Record<string, unknown>;\n}\n\nfunction onlyKeys(record: Record<string, unknown>, keys: readonly string[], label: string): void {\n const allowed = new Set(keys);\n const unknownKey = Object.getOwnPropertyNames(record).find((key) => !allowed.has(key));\n if (unknownKey) throw new TypeError(`${label} contains unsupported property \"${unknownKey}\"`);\n}\n\nfunction nonEmptyString(value: unknown, label: string): string {\n if (typeof value !== 'string' || !value.trim()) throw new TypeError(`${label} must be a non-empty string`);\n return value;\n}\nfunction optionalString(value: unknown, label: string): string | undefined {\n return value === undefined ? undefined : nonEmptyString(value, label);\n}\nfunction nullableString(value: unknown, label: string): string | null {\n return value === null ? null : nonEmptyString(value, label);\n}\nfunction booleanValue(value: unknown, label: string): boolean {\n if (typeof value !== 'boolean') throw new TypeError(`${label} must be a boolean`);\n return value;\n}\nfunction approvalDecision(value: unknown): CodexSurfaceApprovalDecision {\n if (value !== 'approve' && value !== 'deny') throw new TypeError('Approval decision is invalid');\n return value;\n}\nfunction approvalScope(value: unknown): CodexSurfaceApprovalScope | undefined {\n if (value === undefined) return undefined;\n if (value !== 'once' && value !== 'session') throw new TypeError('Approval scope is invalid');\n return value;\n}\nfunction approvalPreset(value: unknown): UpdateCodexConversationSettings['approvalPreset'] {\n if (!['ask-for-approval', 'approve-for-me', 'full-access'].includes(String(value))) {\n throw new TypeError('Conversation approval preset is invalid');\n }\n return value as UpdateCodexConversationSettings['approvalPreset'];\n}\nfunction tokenBudget(value: unknown): number | null | undefined {\n if (value === undefined || value === null) return value;\n if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) {\n throw new TypeError('Goal token budget must be a positive number or null');\n }\n return value;\n}\nfunction displayString(value: unknown, label: string): string {\n const result = nonEmptyString(value, label);\n if (result.length > 1_024) throw new RangeError(`${label} is too long`);\n return result;\n}\nfunction imagePreviewUrl(value: unknown): string {\n if (typeof value !== 'string'\n || value.length > 16 * 1024 * 1024\n || !/^data:image\\/(?:avif|bmp|gif|heic|heif|jpe?g|png|webp);base64,[a-z\\d+/]+={0,2}$/i.test(value)) {\n throw new TypeError('Resolved message attachment preview must be a bounded image data URL');\n }\n return value;\n}\nfunction isJsonValue(value: unknown, seen = new Set<object>()): value is CodexSurfaceJsonValue {\n if (value === null || typeof value === 'string' || typeof value === 'boolean') return true;\n if (typeof value === 'number') return Number.isFinite(value);\n if (typeof value !== 'object' || seen.has(value) || Reflect.ownKeys(value).some((key) => typeof key === 'symbol')) return false;\n if (Array.isArray(value)) {\n const keys = Object.keys(value);\n if (keys.length !== value.length || keys.some((key) => !/^(0|[1-9]\\d*)$/.test(key) || Number(key) >= value.length)) return false;\n } else {\n const prototype = Object.getPrototypeOf(value) as object | null;\n if ((prototype !== Object.prototype && prototype !== null) || Object.keys(value).length !== Object.getOwnPropertyNames(value).length) return false;\n }\n seen.add(value);\n const valid = Array.isArray(value)\n ? value.every((item) => isJsonValue(item, seen))\n : Object.values(value as Record<string, unknown>).every((item) => isJsonValue(item, seen));\n seen.delete(value);\n return valid;\n}\n\nexport {\n applyCodexSurfaceStateChanges,\n createCodexSurfaceStateMirror,\n diffCodexSurfaceState,\n isCodexSurfaceStatePatchSource,\n subscribeCodexSurfaceState,\n type CodexSurfaceStateMirror,\n type CodexSurfaceStateMirrorResult,\n type CodexSurfaceStatePatchSource,\n type CodexSurfaceStateSource,\n type SubscribeCodexSurfaceStateOptions,\n} from './surface-state';\n"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TypedEventBus as e } from "./events.js";
|
|
2
2
|
import { createCodexConversationReplica as t } from "./conversation-replica.js";
|
|
3
|
-
import { a as n, c as r, d as i, f as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "./chunks/surface-bridge-
|
|
3
|
+
import { a as n, c as r, d as i, f as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "./chunks/surface-bridge-fc3qMIGB.js";
|
|
4
4
|
import { a as g, i as _, n as v, o as y, r as b, t as x } from "./chunks/prompt-content-B8o5tNuN.js";
|
|
5
5
|
export { e as TypedEventBus, h as applyCodexSurfaceStateChanges, m as codexConversationBridgeOperations, l as codexSurfaceBridgeArities, f as codexSurfaceBridgeOperations, t as createCodexConversationReplica, i as createCodexSurfaceStateMirror, a as diffCodexSurfaceState, o as invokeCodexConversationBridgeOperation, n as invokeCodexSurfaceBridgeOperation, u as isCodexConversationBridgeOperation, p as isCodexSurfaceBridgeOperation, d as isCodexSurfaceStatePatchSource, x as normalizePromptContent, v as promptContentDispatchText, b as promptContentText, _ as replacePromptContentRange, g as slicePromptContent, r as subscribeCodexConversationBridge, s as subscribeCodexConversationReplicaBridge, c as subscribeCodexSurfaceState, y as trimPromptContent };
|
package/dist/surface-bridge.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ type CodexConversationBridgeOperationFunctions = {
|
|
|
27
27
|
getSnapshot(): Awaitable<CodexConversationSnapshot>;
|
|
28
28
|
interrupt(): Awaitable<CodexConversationSnapshot>;
|
|
29
29
|
loadOlderConversationHistory(): Awaitable<CodexConversationHistoryPage>;
|
|
30
|
+
loadTurnHistory(turnId: string): Awaitable<CodexConversationSnapshot>;
|
|
30
31
|
readConversationHistory(): Awaitable<CodexConversationHistory>;
|
|
31
32
|
readConversationPromptHistory(): Awaitable<CodexConversationPromptHistory>;
|
|
32
33
|
renameConversation(title: string): Awaitable<CodexConversationSnapshot>;
|
|
@@ -41,7 +42,7 @@ type CodexConversationBridgeOperationFunctions = {
|
|
|
41
42
|
updateConversationSettings(settings: UpdateCodexConversationSettings): Awaitable<CodexConversationSnapshot>;
|
|
42
43
|
updateQueuedPrompt(promptId: string, prompt: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;
|
|
43
44
|
};
|
|
44
|
-
export declare const codexConversationBridgeOperations: readonly ["clearGoal", "compactConversation", "continueInterruptedTurn", "deleteTurn", "deleteQueuedPrompt", "editTurn", "forkTurn", "getSnapshot", "interrupt", "loadOlderConversationHistory", "readConversationHistory", "readConversationPromptHistory", "renameConversation", "respondToClientRequest", "resolveApproval", "retryTurn", "sendMessage", "setGoal", "startReview", "steerMessage", "steerQueuedPrompt", "updateConversationSettings", "updateQueuedPrompt"];
|
|
45
|
+
export declare const codexConversationBridgeOperations: readonly ["clearGoal", "compactConversation", "continueInterruptedTurn", "deleteTurn", "deleteQueuedPrompt", "editTurn", "forkTurn", "getSnapshot", "interrupt", "loadOlderConversationHistory", "loadTurnHistory", "readConversationHistory", "readConversationPromptHistory", "renameConversation", "respondToClientRequest", "resolveApproval", "retryTurn", "sendMessage", "setGoal", "startReview", "steerMessage", "steerQueuedPrompt", "updateConversationSettings", "updateQueuedPrompt"];
|
|
45
46
|
export type CodexConversationBridgeOperation = typeof codexConversationBridgeOperations[number];
|
|
46
47
|
export type CodexConversationBridgeOperationArguments<Name extends CodexConversationBridgeOperation> = Parameters<CodexConversationBridgeOperationFunctions[Name]>;
|
|
47
48
|
export type CodexConversationBridgeOperationResult<Name extends CodexConversationBridgeOperation> = Awaited<ReturnType<CodexConversationBridgeOperationFunctions[Name]>>;
|
|
@@ -58,6 +59,7 @@ export type CodexConversationBridgeHandle = {
|
|
|
58
59
|
getSnapshot(): CodexConversationSnapshot;
|
|
59
60
|
interrupt(): Awaitable<CodexConversationSnapshot>;
|
|
60
61
|
loadOlderHistory(): Awaitable<CodexConversationHistoryPage>;
|
|
62
|
+
loadTurnHistory?(turnId: string): Awaitable<CodexConversationSnapshot>;
|
|
61
63
|
onEvent(listener: (event: CodexConversationEvent) => void): () => void;
|
|
62
64
|
onStateChange(listener: (snapshot: CodexConversationSnapshot) => void): () => void;
|
|
63
65
|
readHistory(): Awaitable<CodexConversationHistory>;
|
|
@@ -95,7 +97,7 @@ export declare function subscribeCodexConversationBridge(target: CodexConversati
|
|
|
95
97
|
* can always initialize a replica before applying deltas.
|
|
96
98
|
*/
|
|
97
99
|
export declare function subscribeCodexConversationReplicaBridge(target: CodexConversationBridgeTarget, conversationId: string, listener: (notification: CodexConversationBridgeNotification) => void): () => void;
|
|
98
|
-
export declare const codexSurfaceBridgeOperations: readonly ["archiveConversation", "cancelLogin", "clearGoal", "compactConversation", "connect", "continueInterruptedTurn", "createConversation", "deleteConversation", "deleteTurn", "deleteQueuedPrompt", "editTurn", "forkTurn", "getSnapshot", "interrupt", "listConversations", "listModels", "loadOlderConversationHistory", "logout", "readConversationHistory", "readConversationPromptHistory", "refreshAccount", "refreshConversations", "renameConversation", "respondToClientRequest", "resolveApproval", "retryTurn", "selectConversation", "sendMessage", "setGoal", "startChatGptDeviceCodeLogin", "startChatGptLogin", "startReview", "steerMessage", "steerQueuedPrompt", "unarchiveConversation", "updateConversationSettings", "updateQueuedPrompt", "startLiveChat", "stopLiveChat", "readRateLimits", "readAccountUsage", "consumeRateLimitResetCredit"];
|
|
100
|
+
export declare const codexSurfaceBridgeOperations: readonly ["archiveConversation", "cancelLogin", "clearGoal", "compactConversation", "connect", "continueInterruptedTurn", "createConversation", "deleteConversation", "deleteTurn", "deleteQueuedPrompt", "editTurn", "forkTurn", "getSnapshot", "interrupt", "listConversations", "listModels", "loadOlderConversationHistory", "loadTurnHistory", "logout", "readConversationHistory", "readConversationPromptHistory", "refreshAccount", "refreshConversations", "renameConversation", "respondToClientRequest", "resolveApproval", "retryTurn", "selectConversation", "sendMessage", "setGoal", "startChatGptDeviceCodeLogin", "startChatGptLogin", "startReview", "steerMessage", "steerQueuedPrompt", "unarchiveConversation", "updateConversationSettings", "updateQueuedPrompt", "startLiveChat", "stopLiveChat", "readRateLimits", "readAccountUsage", "consumeRateLimitResetCredit"];
|
|
99
101
|
export declare const codexSurfaceBridgeArities: Readonly<Record<CodexSurfaceBridgeOperation, readonly [minimum: number, maximum: number]>>;
|
|
100
102
|
export declare function isCodexSurfaceBridgeOperation(value: unknown): value is CodexSurfaceBridgeOperation;
|
|
101
103
|
export declare function invokeCodexSurfaceBridgeOperation<Name extends CodexSurfaceBridgeOperation>(target: CodexSurfaceBridgeTarget, operation: Name, args: readonly unknown[], options?: CodexSurfaceBridgeInvokeOptions): Promise<CodexSurfaceBridgeOperationResult<Name>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface-bridge.d.ts","sourceRoot":"","sources":["../src/surface-bridge.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"surface-bridge.d.ts","sourceRoot":"","sources":["../src/surface-bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/surface-bridge.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, c as t, d as n, f as r, i, l as a, m as o, n as s, o as c, p as l, r as u, s as d, t as f, u as p } from "./chunks/surface-bridge-
|
|
1
|
+
import { a as e, c as t, d as n, f as r, i, l as a, m as o, n as s, o as c, p as l, r as u, s as d, t as f, u as p } from "./chunks/surface-bridge-fc3qMIGB.js";
|
|
2
2
|
export { p as applyCodexSurfaceStateChanges, f as codexConversationBridgeOperations, s as codexSurfaceBridgeArities, u as codexSurfaceBridgeOperations, n as createCodexSurfaceStateMirror, r as diffCodexSurfaceState, i as invokeCodexConversationBridgeOperation, e as invokeCodexSurfaceBridgeOperation, c as isCodexConversationBridgeOperation, d as isCodexSurfaceBridgeOperation, l as isCodexSurfaceStatePatchSource, t as subscribeCodexConversationBridge, a as subscribeCodexConversationReplicaBridge, o as subscribeCodexSurfaceState };
|
package/dist/surface.d.ts
CHANGED
|
@@ -37,6 +37,9 @@ export type SurfaceMessageQuestionPart = {
|
|
|
37
37
|
}>;
|
|
38
38
|
};
|
|
39
39
|
export type SurfaceMessageAttachment = {
|
|
40
|
+
/** Intrinsic display dimensions, available before lazy image bytes load. */
|
|
41
|
+
width?: number;
|
|
42
|
+
height?: number;
|
|
40
43
|
kind: 'file' | 'image';
|
|
41
44
|
name: string;
|
|
42
45
|
path?: string;
|
|
@@ -48,6 +51,9 @@ export type SurfaceMessageAttachmentPart = {
|
|
|
48
51
|
attachment: SurfaceMessageAttachment;
|
|
49
52
|
};
|
|
50
53
|
export type SurfaceMessageMedia = {
|
|
54
|
+
/** Intrinsic display dimensions, available before lazy image bytes load. */
|
|
55
|
+
width?: number;
|
|
56
|
+
height?: number;
|
|
51
57
|
url: string;
|
|
52
58
|
alt?: string;
|
|
53
59
|
mimeType?: string;
|
|
@@ -397,6 +403,8 @@ export type CodexConversationLoadingStrategy = 'eager' | 'lazy';
|
|
|
397
403
|
/** Controls whether the conversation view mounts all supplied messages. */
|
|
398
404
|
export type CodexConversationRenderStrategy = 'eager' | 'lazy';
|
|
399
405
|
export type CodexConversationHistoryState = {
|
|
406
|
+
/** Missing means full detail; individual turns may already have richer cached content. */
|
|
407
|
+
itemsView?: 'full' | 'summary';
|
|
400
408
|
loadingStrategy: CodexConversationLoadingStrategy;
|
|
401
409
|
hasOlder: boolean;
|
|
402
410
|
loadingOlder: boolean;
|
|
@@ -502,7 +510,7 @@ export type CodexConversationPromptHistory = {
|
|
|
502
510
|
prompts: string[];
|
|
503
511
|
};
|
|
504
512
|
export type CodexSurfaceEventOrigin = 'action' | 'notification' | 'lifecycle';
|
|
505
|
-
export type CodexSurfaceHistoryReason = 'fork' | 'load' | 'resume' | 'rollback' | 'resync';
|
|
513
|
+
export type CodexSurfaceHistoryReason = 'fork' | 'load' | 'resume' | 'rollback' | 'resync' | 'details' | 'images';
|
|
506
514
|
export type CodexSurfaceTurnStatus = 'completed' | 'interrupted' | 'failed' | 'inProgress';
|
|
507
515
|
export type CodexSurfaceFileActivityAction = 'read' | 'edit' | 'create';
|
|
508
516
|
export type CodexSurfaceFileActivityStatus = 'running' | 'completed' | 'failed';
|
|
@@ -550,6 +558,10 @@ export type CodexSurfaceTurnError = {
|
|
|
550
558
|
};
|
|
551
559
|
export type CodexSurfaceTurn = {
|
|
552
560
|
id: string;
|
|
561
|
+
/** Missing on older/full snapshots. Summary turns can fetch details on expansion. */
|
|
562
|
+
itemsView?: 'full' | 'summary';
|
|
563
|
+
detailsLoading?: boolean;
|
|
564
|
+
detailsError?: string | null;
|
|
553
565
|
status: CodexSurfaceTurnStatus;
|
|
554
566
|
error: CodexSurfaceTurnError | null;
|
|
555
567
|
willRetry: boolean;
|
|
@@ -937,6 +949,7 @@ export type CodexSurfaceApi = {
|
|
|
937
949
|
readConversationHistory(conversationId?: string): Promise<CodexConversationHistory>;
|
|
938
950
|
readConversationPromptHistory(conversationId?: string): Promise<CodexConversationPromptHistory>;
|
|
939
951
|
loadOlderConversationHistory?(conversationId?: string): Promise<CodexConversationHistoryPage>;
|
|
952
|
+
loadTurnHistory?(turnId: string, conversationId?: string): Promise<CodexConversationSnapshot>;
|
|
940
953
|
renameConversation(title: string): Promise<CodexSurfaceSnapshot>;
|
|
941
954
|
updateConversationSettings(settings: UpdateCodexConversationSettings): Promise<CodexSurfaceSnapshot>;
|
|
942
955
|
sendMessage(prompt: string, options?: SendCodexMessageOptions): Promise<CodexSurfaceSnapshot>;
|
package/dist/surface.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"surface-bridge-oO22We2G.js","names":[],"sources":["../../src/surface-state.ts","../../src/surface-bridge.ts"],"sourcesContent":["import type {\n CodexSurfaceSnapshot,\n CodexSurfaceStateChange,\n CodexSurfaceStatePatch,\n CodexVersionedSurfaceSnapshot,\n} from './surface';\n\ntype Awaitable<Value> = Value | Promise<Value>;\ntype KeyedItem = { id: string };\ntype SnapshotRecord = Record<string, unknown>;\n\n/**\n * A state source that can serve a versioned base snapshot and the patches that\n * follow it. `getVersionedSnapshot` resolves null when the other side of a\n * transport cannot stream patches; consumers then use `onStateChange`.\n */\nexport type CodexSurfaceStatePatchSource = {\n getVersionedSnapshot(): Awaitable<CodexVersionedSurfaceSnapshot | null>;\n onStatePatch(listener: (patch: CodexSurfaceStatePatch) => void): () => void;\n};\n\nexport type SubscribeCodexSurfaceStateOptions = {\n /**\n * Whether to notify with the base snapshot once it arrives. Defaults to\n * true. Turn it off when another channel already delivered that state.\n */\n emitInitialSnapshot?: boolean;\n};\n\nexport type CodexSurfaceStateSource =\n | CodexSurfaceStatePatchSource\n | (Partial<CodexSurfaceStatePatchSource> & {\n onStateChange(listener: (snapshot: CodexSurfaceSnapshot) => void): () => void;\n });\n\nexport type CodexSurfaceStateMirrorResult =\n | { status: 'applied'; snapshot: CodexSurfaceSnapshot }\n | { status: 'ignored' }\n | { status: 'resync' };\n\n/** Keeps a local snapshot current from a versioned base and sequential patches. */\nexport type CodexSurfaceStateMirror = {\n readonly snapshot: CodexSurfaceSnapshot | null;\n /** The state version of `snapshot`, or -1 before the first base. */\n readonly version: number;\n /** Adopts an authoritative base, then replays buffered patches that are newer than it. */\n reset(state: CodexVersionedSurfaceSnapshot): CodexSurfaceSnapshot;\n /** Applies the next patch, or buffers it and asks for a new base when the sequence is broken. */\n receive(patch: CodexSurfaceStatePatch): CodexSurfaceStateMirrorResult;\n};\n\nconst maximumBufferedPatches = 1_000;\n\nexport function isCodexSurfaceStatePatchSource(value: unknown): value is CodexSurfaceStatePatchSource {\n const candidate = value as Partial<CodexSurfaceStatePatchSource> | null;\n return typeof candidate?.getVersionedSnapshot === 'function' && typeof candidate.onStatePatch === 'function';\n}\n\n/**\n * Describes how `next` differs from `previous` by reference. Arrays whose items\n * all carry unique string ids become `list` changes that ship only the items\n * whose identity changed; everything else is replaced or deleted per key.\n */\nexport function diffCodexSurfaceState(\n previous: CodexSurfaceSnapshot,\n next: CodexSurfaceSnapshot,\n): CodexSurfaceStateChange[] {\n const before = previous as unknown as SnapshotRecord;\n const after = next as unknown as SnapshotRecord;\n const changes: CodexSurfaceStateChange[] = [];\n for (const key of new Set([...Object.keys(before), ...Object.keys(after)])) {\n const snapshotKey = key as keyof CodexSurfaceSnapshot;\n if (before[key] === after[key]) continue;\n if (!(key in after)) {\n changes.push({ type: 'delete', key: snapshotKey });\n continue;\n }\n changes.push(keyedListChange(snapshotKey, before[key], after[key]) ?? {\n type: 'set',\n key: snapshotKey,\n value: after[key],\n });\n }\n return changes;\n}\n\n/** Applies changes to a snapshot without mutating it; unchanged values keep their identity. */\nexport function applyCodexSurfaceStateChanges(\n snapshot: CodexSurfaceSnapshot,\n changes: readonly CodexSurfaceStateChange[],\n): CodexSurfaceSnapshot {\n const current = snapshot as unknown as SnapshotRecord;\n const next: SnapshotRecord = { ...current };\n for (const change of changes) {\n if (change.type === 'delete') {\n delete next[change.key];\n } else if (change.type === 'set') {\n next[change.key] = change.value;\n } else {\n const previous = current[change.key];\n if (!Array.isArray(previous)) throw new Error(`Cannot apply a list patch to non-list state '${change.key}'`);\n const itemsById = new Map((previous as KeyedItem[]).map((item) => [item.id, item]));\n for (const item of change.items) itemsById.set(item.id, item);\n next[change.key] = change.ids.map((id) => {\n const item = itemsById.get(id);\n if (!item) throw new Error(`State patch references unknown '${change.key}' item '${id}'`);\n return item;\n });\n }\n }\n return next as unknown as CodexSurfaceSnapshot;\n}\n\nexport function createCodexSurfaceStateMirror(): CodexSurfaceStateMirror {\n let snapshot: CodexSurfaceSnapshot | null = null;\n let version = -1;\n let stale = true;\n const pending: CodexSurfaceStatePatch[] = [];\n\n const buffer = (patch: CodexSurfaceStatePatch): CodexSurfaceStateMirrorResult => {\n stale = true;\n pending.push(patch);\n if (pending.length > maximumBufferedPatches) pending.shift();\n return { status: 'resync' };\n };\n\n const mirror: CodexSurfaceStateMirror = {\n get snapshot() {\n return snapshot;\n },\n get version() {\n return version;\n },\n reset(state) {\n snapshot = state.snapshot;\n version = state.version;\n stale = false;\n const replay = pending.splice(0).sort((left, right) => left.version - right.version);\n for (const patch of replay) {\n if (mirror.receive(patch).status === 'resync') break;\n }\n return snapshot;\n },\n receive(patch) {\n if (stale || !snapshot) return buffer(patch);\n if (patch.version <= version) return { status: 'ignored' };\n if (patch.version !== version + 1) return buffer(patch);\n try {\n snapshot = applyCodexSurfaceStateChanges(snapshot, patch.changes);\n } catch {\n return buffer(patch);\n }\n version = patch.version;\n return { status: 'applied', snapshot };\n },\n };\n return mirror;\n}\n\n/**\n * Subscribes to surface state, mirroring patches locally when the source\n * supports them. Unchanged messages, turns, and other keyed items keep their\n * object identity between notifications, so UI frameworks can skip them.\n * Falls back to full `onStateChange` snapshots when the source has no patch\n * members or reports that patches are unavailable.\n */\nexport function subscribeCodexSurfaceState(\n source: CodexSurfaceStateSource,\n listener: (snapshot: CodexSurfaceSnapshot) => void,\n options: SubscribeCodexSurfaceStateOptions = {},\n): () => void {\n const subscribeToSnapshots = () => (\n 'onStateChange' in source && typeof source.onStateChange === 'function'\n ? source.onStateChange(listener)\n : () => undefined\n );\n if (!isCodexSurfaceStatePatchSource(source)) return subscribeToSnapshots();\n const mirror = createCodexSurfaceStateMirror();\n let active = true;\n let initialized = false;\n let resyncing = false;\n let unsubscribe: () => void = () => undefined;\n const resync = () => {\n if (resyncing || !active) return;\n resyncing = true;\n void Promise.resolve()\n .then(() => source.getVersionedSnapshot())\n .then((state) => {\n resyncing = false;\n if (!active) return;\n if (!isVersionedSnapshot(state)) {\n if (initialized) return;\n unsubscribe();\n unsubscribe = subscribeToSnapshots();\n return;\n }\n const snapshot = mirror.reset(state);\n // Buffered patches replayed onto the base are changes even when the base itself is not reported.\n const notify = initialized || options.emitInitialSnapshot !== false || mirror.version > state.version;\n initialized = true;\n if (notify) listener(snapshot);\n }, () => {\n resyncing = false;\n });\n };\n unsubscribe = source.onStatePatch((patch) => {\n const result = mirror.receive(patch);\n if (result.status === 'applied') listener(result.snapshot);\n else if (result.status === 'resync') resync();\n });\n resync();\n return () => {\n active = false;\n unsubscribe();\n };\n}\n\nfunction keyedListChange(\n key: keyof CodexSurfaceSnapshot,\n before: unknown,\n after: unknown,\n): CodexSurfaceStateChange | null {\n if (!Array.isArray(before) || !Array.isArray(after)) return null;\n const previousById = new Map<string, unknown>();\n for (const item of before) {\n if (!isKeyedItem(item) || previousById.has(item.id)) return null;\n previousById.set(item.id, item);\n }\n const ids: string[] = [];\n const items: KeyedItem[] = [];\n const seen = new Set<string>();\n for (const item of after) {\n if (!isKeyedItem(item) || seen.has(item.id)) return null;\n seen.add(item.id);\n ids.push(item.id);\n if (previousById.get(item.id) !== item) items.push(item);\n }\n // Replacing the whole list is smaller when nothing can be reused.\n return items.length === after.length ? null : { type: 'list', key, ids, items };\n}\n\nfunction isVersionedSnapshot(value: unknown): value is CodexVersionedSurfaceSnapshot {\n const candidate = value as Partial<CodexVersionedSurfaceSnapshot> | null | undefined;\n return Number.isSafeInteger(candidate?.version)\n && Boolean(candidate?.snapshot)\n && typeof candidate?.snapshot === 'object';\n}\n\nfunction isKeyedItem(value: unknown): value is KeyedItem {\n return Boolean(value) && typeof value === 'object' && typeof (value as { id?: unknown }).id === 'string';\n}\n","import { normalizePromptContent } from './prompt-content';\nimport type {\n CodexConversationEvent,\n CodexConversationHistory,\n CodexConversationHistoryPage,\n CodexConversationPromptHistory,\n CodexConversationSnapshot,\n CodexSurfaceApi,\n CodexSurfaceApprovalDecision,\n CodexSurfaceApprovalScope,\n CodexSurfaceAskUserAnswers,\n CodexSurfaceClientRequestResponse,\n CodexSurfaceJsonValue,\n CodexRendererAttachment,\n CodexRendererSendMessageOptions,\n CodexSurfaceAttachment,\n CodexSurfaceRendererApi,\n CreateCodexRendererConversationOptions,\n ListCodexConversationsOptions,\n ListCodexModelsOptions,\n ReadCodexRateLimitsOptions,\n ConsumeCodexRateLimitResetCreditOptions,\n SendCodexMessageOptions,\n StartCodexReviewOptions,\n StartCodexLiveChatOptions,\n UpdateCodexConversationSettings,\n} from './surface';\n\ntype RequiredRendererApi = Required<CodexSurfaceRendererApi>;\nexport type CodexSurfaceBridgeOperation = Exclude<\n keyof RequiredRendererApi,\n 'onEvent' | 'onStateChange' | 'onStatePatch' | 'getVersionedSnapshot'\n>;\ntype OperationFunction<Name extends CodexSurfaceBridgeOperation> = Extract<\n RequiredRendererApi[Name],\n (...args: never[]) => unknown\n>;\nexport type CodexSurfaceBridgeOperationArguments<Name extends CodexSurfaceBridgeOperation> =\n Parameters<OperationFunction<Name>>;\nexport type CodexSurfaceBridgeOperationResult<Name extends CodexSurfaceBridgeOperation> =\n Awaited<ReturnType<OperationFunction<Name>>>;\ntype Awaitable<Value> = Value | Promise<Value>;\ntype SurfaceOperationFunction<Name extends CodexSurfaceBridgeOperation> = Name extends keyof Required<CodexSurfaceApi>\n ? Extract<Required<CodexSurfaceApi>[Name], (...args: never[]) => unknown>\n : never;\ntype OptionalAccountOperation = 'readRateLimits' | 'readAccountUsage' | 'consumeRateLimitResetCredit';\ntype BridgeOperationMethods = {\n [Name in CodexSurfaceBridgeOperation]: (\n ...args: Parameters<SurfaceOperationFunction<Name>>\n ) => Awaitable<Awaited<ReturnType<SurfaceOperationFunction<Name>>>>;\n};\nexport type CodexSurfaceBridgeTarget = Omit<BridgeOperationMethods, OptionalAccountOperation>\n & Partial<Pick<BridgeOperationMethods, OptionalAccountOperation>>\n & Pick<CodexSurfaceApi, 'onEvent' | 'onStateChange'>;\n\nexport type CodexSurfaceBridgeAttachmentResolver = (\n attachment: CodexRendererAttachment,\n) => Awaitable<CodexSurfaceAttachment>;\n\nexport type CodexSurfaceBridgeInvokeOptions = {\n operationLabel?: string;\n resolveAttachment?: CodexSurfaceBridgeAttachmentResolver;\n};\n\ntype CodexConversationBridgeOperationFunctions = {\n clearGoal(): Awaitable<CodexConversationSnapshot>;\n compactConversation(): Awaitable<CodexConversationSnapshot>;\n continueInterruptedTurn(): Awaitable<CodexConversationSnapshot>;\n deleteTurn(turnId: string): Awaitable<CodexConversationSnapshot>;\n deleteQueuedPrompt(promptId: string): Awaitable<CodexConversationSnapshot>;\n editTurn(turnId: string, content: string, options?: CodexRendererSendMessageOptions): Awaitable<CodexConversationSnapshot>;\n forkTurn(turnId: string): Awaitable<CodexConversationSnapshot>;\n getSnapshot(): Awaitable<CodexConversationSnapshot>;\n interrupt(): Awaitable<CodexConversationSnapshot>;\n loadOlderConversationHistory(): Awaitable<CodexConversationHistoryPage>;\n readConversationHistory(): Awaitable<CodexConversationHistory>;\n readConversationPromptHistory(): Awaitable<CodexConversationPromptHistory>;\n renameConversation(title: string): Awaitable<CodexConversationSnapshot>;\n respondToClientRequest(response: CodexSurfaceClientRequestResponse): Awaitable<CodexConversationSnapshot>;\n resolveApproval(\n approvalId: string,\n decision: CodexSurfaceApprovalDecision,\n scope?: CodexSurfaceApprovalScope,\n ): Awaitable<CodexConversationSnapshot>;\n retryTurn(turnId: string): Awaitable<CodexConversationSnapshot>;\n sendMessage(prompt: string, options?: CodexRendererSendMessageOptions): Awaitable<CodexConversationSnapshot>;\n setGoal(objective: string, tokenBudget?: number | null): Awaitable<CodexConversationSnapshot>;\n startReview(options?: StartCodexReviewOptions): Awaitable<CodexConversationSnapshot>;\n steerMessage(prompt: string, options?: CodexRendererSendMessageOptions): Awaitable<CodexConversationSnapshot>;\n steerQueuedPrompt(promptId: string, prompt?: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n updateConversationSettings(settings: UpdateCodexConversationSettings): Awaitable<CodexConversationSnapshot>;\n updateQueuedPrompt(promptId: string, prompt: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n};\n\nexport const codexConversationBridgeOperations = [\n 'clearGoal', 'compactConversation', 'continueInterruptedTurn', 'deleteTurn', 'deleteQueuedPrompt', 'editTurn',\n 'forkTurn', 'getSnapshot', 'interrupt', 'loadOlderConversationHistory',\n 'readConversationHistory', 'readConversationPromptHistory', 'renameConversation',\n 'respondToClientRequest', 'resolveApproval', 'retryTurn', 'sendMessage', 'setGoal',\n 'startReview', 'steerMessage', 'steerQueuedPrompt', 'updateConversationSettings',\n 'updateQueuedPrompt',\n] as const satisfies readonly (keyof CodexConversationBridgeOperationFunctions)[];\n\nexport type CodexConversationBridgeOperation = typeof codexConversationBridgeOperations[number];\nexport type CodexConversationBridgeOperationArguments<Name extends CodexConversationBridgeOperation> =\n Parameters<CodexConversationBridgeOperationFunctions[Name]>;\nexport type CodexConversationBridgeOperationResult<Name extends CodexConversationBridgeOperation> =\n Awaited<ReturnType<CodexConversationBridgeOperationFunctions[Name]>>;\n\nexport type CodexConversationBridgeHandle = {\n clearGoal(): Awaitable<CodexConversationSnapshot>;\n compact(): Awaitable<CodexConversationSnapshot>;\n continueInterruptedTurn(): Awaitable<CodexConversationSnapshot>;\n deleteTurn(turnId: string): Awaitable<CodexConversationSnapshot>;\n deleteQueuedPrompt(promptId: string): Awaitable<CodexConversationSnapshot>;\n editTurn(turnId: string, content: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n forkTurn(turnId: string): Awaitable<{ snapshot: CodexConversationSnapshot }>;\n getSnapshot(): CodexConversationSnapshot;\n interrupt(): Awaitable<CodexConversationSnapshot>;\n loadOlderHistory(): Awaitable<CodexConversationHistoryPage>;\n onEvent(listener: (event: CodexConversationEvent) => void): () => void;\n onStateChange(listener: (snapshot: CodexConversationSnapshot) => void): () => void;\n readHistory(): Awaitable<CodexConversationHistory>;\n readPromptHistory(): Awaitable<CodexConversationPromptHistory>;\n rename(title: string): Awaitable<CodexConversationSnapshot>;\n respondToClientRequest(response: CodexSurfaceClientRequestResponse): Awaitable<CodexConversationSnapshot>;\n resolveApproval(\n approvalId: string,\n decision: CodexSurfaceApprovalDecision,\n scope?: CodexSurfaceApprovalScope,\n ): Awaitable<CodexConversationSnapshot>;\n retryTurn(turnId: string): Awaitable<CodexConversationSnapshot>;\n sendMessage(prompt: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n setGoal(objective: string, tokenBudget?: number | null): Awaitable<CodexConversationSnapshot>;\n startReview(options?: StartCodexReviewOptions): Awaitable<CodexConversationSnapshot>;\n steerMessage(prompt: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n steerQueuedPrompt(promptId: string, prompt?: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n updateQueuedPrompt(promptId: string, prompt: string, options?: SendCodexMessageOptions): Awaitable<CodexConversationSnapshot>;\n updateSettings(settings: UpdateCodexConversationSettings): Awaitable<CodexConversationSnapshot>;\n};\n\nexport type CodexConversationBridgeTarget = {\n conversation(conversationId: string): CodexConversationBridgeHandle;\n};\n\nexport type CodexConversationBridgeNotification =\n | {\n type: 'snapshot';\n conversationId: string;\n snapshot: CodexConversationSnapshot;\n }\n | {\n type: 'event';\n conversationId: string;\n event: CodexConversationEvent;\n };\n\nconst conversationOperationSet = new Set<string>(codexConversationBridgeOperations);\n\nexport function isCodexConversationBridgeOperation(value: unknown): value is CodexConversationBridgeOperation {\n return typeof value === 'string' && conversationOperationSet.has(value);\n}\n\nexport async function invokeCodexConversationBridgeOperation<Name extends CodexConversationBridgeOperation>(\n target: CodexConversationBridgeTarget,\n conversationId: string,\n operation: Name,\n args: readonly unknown[],\n options: CodexSurfaceBridgeInvokeOptions = {},\n): Promise<CodexConversationBridgeOperationResult<Name>> {\n const id = nonEmptyString(conversationId, 'Conversation id');\n const [minimum, maximum] = conversationArities[operation];\n if (args.length < minimum || args.length > maximum) {\n throw new TypeError(`${options.operationLabel ?? operation} received an invalid number of arguments`);\n }\n const conversation = target.conversation(id);\n const bridgeTarget = conversationOperationTarget(conversation);\n const result = await invokeCodexSurfaceBridgeOperation(bridgeTarget, operation, args, options);\n return result as CodexConversationBridgeOperationResult<Name>;\n}\n\nexport function subscribeCodexConversationBridge(\n target: CodexConversationBridgeTarget,\n conversationId: string,\n listener: (notification: CodexConversationBridgeNotification) => void,\n): () => void {\n const id = nonEmptyString(conversationId, 'Conversation id');\n const conversation = target.conversation(id);\n const emitSnapshot = (snapshot: CodexConversationSnapshot) => {\n if (snapshot.activeConversationId === id) {\n listener({ type: 'snapshot', conversationId: id, snapshot });\n }\n };\n const emitEvent = (event: CodexConversationEvent) => {\n if (event.conversationId === id) listener({ type: 'event', conversationId: id, event });\n };\n const unsubscribeState = conversation.onStateChange(emitSnapshot);\n let unsubscribeEvent: () => void;\n try {\n unsubscribeEvent = conversation.onEvent(emitEvent);\n } catch (error) {\n unsubscribeState();\n throw error;\n }\n return () => {\n unsubscribeEvent();\n unsubscribeState();\n };\n}\n\n/**\n * Emits exactly one targeted snapshot followed by semantic conversation events.\n * Events raised while the initial snapshot is captured are buffered so consumers\n * can always initialize a replica before applying deltas.\n */\nexport function subscribeCodexConversationReplicaBridge(\n target: CodexConversationBridgeTarget,\n conversationId: string,\n listener: (notification: CodexConversationBridgeNotification) => void,\n): () => void {\n const id = nonEmptyString(conversationId, 'Conversation id');\n const conversation = target.conversation(id);\n const pending: CodexConversationEvent[] = [];\n let initialized = false;\n const unsubscribe = conversation.onEvent((event) => {\n if (event.conversationId !== id) return;\n if (!initialized) pending.push(event);\n else listener({ type: 'event', conversationId: id, event });\n });\n try {\n const snapshot = conversation.getSnapshot();\n if (snapshot.activeConversationId !== id) {\n throw new Error(\n `Snapshot belongs to '${snapshot.activeConversationId}', not bridge conversation '${id}'`,\n );\n }\n listener({ type: 'snapshot', conversationId: id, snapshot });\n initialized = true;\n for (const event of pending) listener({ type: 'event', conversationId: id, event });\n pending.length = 0;\n } catch (error) {\n unsubscribe();\n throw error;\n }\n return unsubscribe;\n}\n\nexport const codexSurfaceBridgeOperations = [\n 'archiveConversation', 'cancelLogin', 'clearGoal', 'compactConversation', 'connect',\n 'continueInterruptedTurn', 'createConversation', 'deleteConversation', 'deleteTurn', 'deleteQueuedPrompt',\n 'editTurn', 'forkTurn', 'getSnapshot', 'interrupt', 'listConversations',\n 'listModels', 'loadOlderConversationHistory', 'logout', 'readConversationHistory',\n 'readConversationPromptHistory', 'refreshAccount', 'refreshConversations', 'renameConversation', 'respondToClientRequest',\n 'resolveApproval', 'retryTurn', 'selectConversation', 'sendMessage', 'setGoal',\n 'startChatGptDeviceCodeLogin', 'startChatGptLogin', 'startReview', 'steerMessage', 'steerQueuedPrompt',\n 'unarchiveConversation', 'updateConversationSettings', 'updateQueuedPrompt',\n 'startLiveChat', 'stopLiveChat',\n 'readRateLimits',\n 'readAccountUsage',\n 'consumeRateLimitResetCredit',\n] as const satisfies readonly CodexSurfaceBridgeOperation[];\n\nconst operationSet = new Set<string>(codexSurfaceBridgeOperations);\nexport const codexSurfaceBridgeArities: Readonly<\n Record<CodexSurfaceBridgeOperation, readonly [minimum: number, maximum: number]>\n> = {\n startLiveChat: [2, 2], stopLiveChat: [1, 1],\n archiveConversation: [1, 1], cancelLogin: [0, 1], clearGoal: [0, 0],\n compactConversation: [0, 0], connect: [0, 0], continueInterruptedTurn: [0, 0], createConversation: [0, 1],\n deleteConversation: [1, 1], deleteTurn: [1, 1], deleteQueuedPrompt: [1, 1],\n editTurn: [2, 3], forkTurn: [1, 1], getSnapshot: [0, 0], interrupt: [0, 0],\n listConversations: [0, 1], listModels: [0, 1], loadOlderConversationHistory: [0, 1],\n logout: [0, 0], readConversationHistory: [0, 1], readConversationPromptHistory: [0, 1],\n refreshAccount: [0, 0],\n readRateLimits: [0, 1],\n readAccountUsage: [0, 0],\n consumeRateLimitResetCredit: [1, 1],\n refreshConversations: [0, 0], renameConversation: [1, 1], respondToClientRequest: [1, 1],\n resolveApproval: [2, 3], retryTurn: [1, 1], selectConversation: [1, 1],\n sendMessage: [1, 2], setGoal: [1, 2], startChatGptDeviceCodeLogin: [0, 0],\n startChatGptLogin: [0, 0], startReview: [0, 1],\n steerMessage: [1, 2], steerQueuedPrompt: [1, 3], unarchiveConversation: [1, 1],\n updateConversationSettings: [1, 1], updateQueuedPrompt: [2, 3],\n};\n\nconst conversationArities: Readonly<\n Record<CodexConversationBridgeOperation, readonly [minimum: number, maximum: number]>\n> = {\n clearGoal: [0, 0], compactConversation: [0, 0], continueInterruptedTurn: [0, 0], deleteTurn: [1, 1],\n deleteQueuedPrompt: [1, 1], editTurn: [2, 3], forkTurn: [1, 1], getSnapshot: [0, 0],\n interrupt: [0, 0], loadOlderConversationHistory: [0, 0], readConversationHistory: [0, 0],\n readConversationPromptHistory: [0, 0], renameConversation: [1, 1], respondToClientRequest: [1, 1],\n resolveApproval: [2, 3], retryTurn: [1, 1], sendMessage: [1, 2], setGoal: [1, 2],\n startReview: [0, 1], steerMessage: [1, 2], steerQueuedPrompt: [1, 3],\n updateConversationSettings: [1, 1], updateQueuedPrompt: [2, 3],\n};\n\nexport function isCodexSurfaceBridgeOperation(value: unknown): value is CodexSurfaceBridgeOperation {\n return typeof value === 'string' && operationSet.has(value);\n}\n\nexport async function invokeCodexSurfaceBridgeOperation<Name extends CodexSurfaceBridgeOperation>(\n target: CodexSurfaceBridgeTarget,\n operation: Name,\n args: readonly unknown[],\n options: CodexSurfaceBridgeInvokeOptions = {},\n): Promise<CodexSurfaceBridgeOperationResult<Name>> {\n const [minimum, maximum] = codexSurfaceBridgeArities[operation];\n if (args.length < minimum || args.length > maximum) {\n throw new TypeError(`${options.operationLabel ?? operation} received an invalid number of arguments`);\n }\n const result = await invokeValidated(target, operation, args, options);\n return result as CodexSurfaceBridgeOperationResult<Name>;\n}\n\nfunction conversationOperationTarget(conversation: CodexConversationBridgeHandle): CodexSurfaceBridgeTarget {\n const target: Pick<CodexSurfaceBridgeTarget, CodexConversationBridgeOperation> = {\n clearGoal: () => conversation.clearGoal(),\n compactConversation: () => conversation.compact(),\n continueInterruptedTurn: () => conversation.continueInterruptedTurn(),\n deleteTurn: (turnId) => conversation.deleteTurn(turnId),\n deleteQueuedPrompt: (promptId) => conversation.deleteQueuedPrompt(promptId),\n editTurn: (turnId, content, options) => conversation.editTurn(turnId, content, options),\n forkTurn: async (turnId) => (await conversation.forkTurn(turnId)).snapshot,\n getSnapshot: () => conversation.getSnapshot(),\n interrupt: () => conversation.interrupt(),\n loadOlderConversationHistory: () => conversation.loadOlderHistory(),\n readConversationHistory: () => conversation.readHistory(),\n readConversationPromptHistory: () => conversation.readPromptHistory(),\n renameConversation: (title) => conversation.rename(title),\n respondToClientRequest: (response) => conversation.respondToClientRequest(response),\n resolveApproval: (approvalId, decision, scope) => conversation.resolveApproval(approvalId, decision, scope),\n retryTurn: (turnId) => conversation.retryTurn(turnId),\n sendMessage: (prompt, options) => conversation.sendMessage(prompt, options),\n setGoal: (objective, tokenBudget) => conversation.setGoal(objective, tokenBudget),\n startReview: (options) => conversation.startReview(options),\n steerMessage: (prompt, options) => conversation.steerMessage(prompt, options),\n steerQueuedPrompt: (promptId, prompt, options) => conversation.steerQueuedPrompt(promptId, prompt, options),\n updateConversationSettings: (settings) => conversation.updateSettings(settings),\n updateQueuedPrompt: (promptId, prompt, options) => conversation.updateQueuedPrompt(promptId, prompt, options),\n };\n return target as unknown as CodexSurfaceBridgeTarget;\n}\n\nasync function invokeValidated(\n target: CodexSurfaceBridgeTarget,\n operation: CodexSurfaceBridgeOperation,\n args: readonly unknown[],\n options: CodexSurfaceBridgeInvokeOptions,\n): Promise<unknown> {\n switch (operation) {\n case 'startLiveChat': return target.startLiveChat(\n nonEmptyString(args[0], 'Conversation id'), liveChatOptions(args[1]),\n );\n case 'stopLiveChat': return target.stopLiveChat(nonEmptyString(args[0], 'Conversation id'));\n case 'archiveConversation': return target.archiveConversation(nonEmptyString(args[0], 'Conversation id'));\n case 'cancelLogin': return target.cancelLogin(optionalString(args[0], 'Login id'));\n case 'clearGoal': return target.clearGoal();\n case 'compactConversation': return target.compactConversation();\n case 'connect': return target.connect();\n case 'continueInterruptedTurn': return target.continueInterruptedTurn();\n case 'createConversation': return target.createConversation(conversationOptions(args[0]));\n case 'deleteConversation': return target.deleteConversation(nonEmptyString(args[0], 'Conversation id'));\n case 'deleteTurn': return target.deleteTurn(nonEmptyString(args[0], 'Turn id'));\n case 'deleteQueuedPrompt': return target.deleteQueuedPrompt(nonEmptyString(args[0], 'Queued prompt id'));\n case 'editTurn': return target.editTurn(nonEmptyString(args[0], 'Turn id'), nonEmptyString(args[1], 'Turn content'), await sendOptions(args[2], options.resolveAttachment));\n case 'forkTurn': return target.forkTurn(nonEmptyString(args[0], 'Turn id'));\n case 'getSnapshot': return target.getSnapshot();\n case 'interrupt': return target.interrupt();\n case 'listConversations': return target.listConversations(listConversationOptions(args[0]));\n case 'listModels': return target.listModels(listModelOptions(args[0]));\n case 'loadOlderConversationHistory': return target.loadOlderConversationHistory(optionalString(args[0], 'Conversation id'));\n case 'logout': return target.logout();\n case 'readConversationHistory': return target.readConversationHistory(optionalString(args[0], 'Conversation id'));\n case 'readConversationPromptHistory': return target.readConversationPromptHistory(\n optionalString(args[0], 'Conversation id'),\n );\n case 'refreshAccount': return target.refreshAccount();\n case 'readRateLimits': {\n const options = rateLimitsOptions(args[0]);\n if (!target.readRateLimits) throw new Error('Account rate-limit reads are not available.');\n return target.readRateLimits(options);\n }\n case 'readAccountUsage': {\n if (!target.readAccountUsage) throw new Error('Account usage reads are not available.');\n return target.readAccountUsage();\n }\n case 'consumeRateLimitResetCredit': {\n const options = resetCreditOptions(args[0]);\n if (!target.consumeRateLimitResetCredit) throw new Error('Rate-limit reset credits are not available.');\n return target.consumeRateLimitResetCredit(options);\n }\n case 'refreshConversations': return target.refreshConversations();\n case 'renameConversation': return target.renameConversation(nonEmptyString(args[0], 'Conversation title'));\n case 'respondToClientRequest': return target.respondToClientRequest(clientRequestResponse(args[0]));\n case 'resolveApproval': return target.resolveApproval(\n nonEmptyString(args[0], 'Approval id'), approvalDecision(args[1]), approvalScope(args[2]),\n );\n case 'retryTurn': return target.retryTurn(nonEmptyString(args[0], 'Turn id'));\n case 'selectConversation': return target.selectConversation(nonEmptyString(args[0], 'Conversation id'));\n case 'sendMessage': return target.sendMessage(\n nonEmptyString(args[0], 'Message prompt'),\n await sendOptions(args[1], options.resolveAttachment),\n );\n case 'setGoal': return target.setGoal(nonEmptyString(args[0], 'Goal objective'), tokenBudget(args[1]));\n case 'startChatGptDeviceCodeLogin': return target.startChatGptDeviceCodeLogin();\n case 'startChatGptLogin': return target.startChatGptLogin();\n case 'startReview': return target.startReview(reviewOptions(args[0]));\n case 'steerMessage': return target.steerMessage(\n nonEmptyString(args[0], 'Steer prompt'),\n await sendOptions(args[1], options.resolveAttachment),\n );\n case 'steerQueuedPrompt': return target.steerQueuedPrompt(\n nonEmptyString(args[0], 'Queued prompt id'),\n optionalString(args[1], 'Queued prompt'),\n await sendOptions(args[2], options.resolveAttachment),\n );\n case 'unarchiveConversation': return target.unarchiveConversation(nonEmptyString(args[0], 'Conversation id'));\n case 'updateConversationSettings': return target.updateConversationSettings(settings(args[0]));\n case 'updateQueuedPrompt': return target.updateQueuedPrompt(\n nonEmptyString(args[0], 'Queued prompt id'), nonEmptyString(args[1], 'Queued prompt'),\n await sendOptions(args[2], options.resolveAttachment),\n );\n }\n}\n\nfunction liveChatOptions(value: unknown): StartCodexLiveChatOptions {\n const record = plainObject(value, 'Live chat options');\n onlyKeys(record, ['sdp', 'version', 'voice', 'model', 'prompt', 'includeStartupContext', 'flushTranscriptTailOnSessionEnd'], 'Live chat options');\n const result: StartCodexLiveChatOptions = { sdp: nonEmptyString(record.sdp, 'SDP offer') };\n if (record.version !== undefined) {\n if (record.version !== 'v1' && record.version !== 'v2' && record.version !== 'v3') throw new TypeError('Invalid realtime version');\n result.version = record.version;\n }\n for (const key of ['voice', 'model'] as const) {\n if (record[key] !== undefined) result[key] = nonEmptyString(record[key], key);\n }\n if (record.prompt !== undefined) {\n if (record.prompt !== null && typeof record.prompt !== 'string') throw new TypeError('Prompt must be a string or null');\n result.prompt = record.prompt;\n }\n for (const key of ['includeStartupContext', 'flushTranscriptTailOnSessionEnd'] as const) {\n if (record[key] !== undefined) {\n if (typeof record[key] !== 'boolean') throw new TypeError(`${key} must be a boolean`);\n result[key] = record[key];\n }\n }\n return result;\n}\n\nfunction conversationOptions(value: unknown): CreateCodexRendererConversationOptions | undefined {\n if (value === undefined) return undefined;\n const record = plainObject(value, 'Conversation options');\n onlyKeys(record, ['model', 'reasoningEffort', 'serviceTier', 'approvalPreset'], 'Conversation options');\n return {\n ...(record.model === undefined ? {} : { model: nonEmptyString(record.model, 'Conversation model') }),\n ...(record.reasoningEffort === undefined ? {} : { reasoningEffort: nonEmptyString(record.reasoningEffort, 'Conversation reasoning effort') }),\n ...(record.serviceTier === undefined ? {} : { serviceTier: nullableString(record.serviceTier, 'Conversation service tier') }),\n ...(record.approvalPreset === undefined ? {} : { approvalPreset: approvalPreset(record.approvalPreset) }),\n };\n}\n\nfunction listConversationOptions(value: unknown): ListCodexConversationsOptions | undefined {\n if (value === undefined) return undefined;\n const record = plainObject(value, 'Conversation list options');\n onlyKeys(record, ['archived', 'cwd', 'limit', 'searchTerm'], 'Conversation list options');\n if (record.archived !== undefined && typeof record.archived !== 'boolean') {\n throw new TypeError('Conversation list archived flag must be a boolean');\n }\n if (record.limit !== undefined && (!Number.isInteger(record.limit) || (record.limit as number) < 0)) {\n throw new TypeError('Conversation list limit must be a non-negative integer');\n }\n const cwd = record.cwd === undefined ? undefined : Array.isArray(record.cwd)\n ? record.cwd.map((entry) => nonEmptyString(entry, 'Conversation list cwd'))\n : nonEmptyString(record.cwd, 'Conversation list cwd');\n return {\n ...(record.archived === undefined ? {} : { archived: record.archived }),\n ...(cwd === undefined ? {} : { cwd }),\n ...(record.limit === undefined ? {} : { limit: record.limit as number }),\n ...(record.searchTerm === undefined ? {} : { searchTerm: nonEmptyString(record.searchTerm, 'Conversation list search term') }),\n };\n}\n\nfunction rateLimitsOptions(value: unknown): ReadCodexRateLimitsOptions | undefined {\n if (value === undefined) return undefined;\n const record = plainObject(value, 'Rate-limit read options');\n onlyKeys(record, ['excludeResetCreditDetails'], 'Rate-limit read options');\n return record.excludeResetCreditDetails === undefined ? {} : {\n excludeResetCreditDetails: booleanValue(record.excludeResetCreditDetails, 'Exclude reset credit details'),\n };\n}\n\nfunction resetCreditOptions(value: unknown): ConsumeCodexRateLimitResetCreditOptions {\n const record = plainObject(value, 'Reset-credit options');\n onlyKeys(record, ['idempotencyKey', 'creditId'], 'Reset-credit options');\n return {\n idempotencyKey: nonEmptyString(record.idempotencyKey, 'Reset-credit idempotency key'),\n ...(record.creditId === undefined ? {} : { creditId: nonEmptyString(record.creditId, 'Reset credit id') }),\n };\n}\n\nfunction listModelOptions(value: unknown): ListCodexModelsOptions | undefined {\n if (value === undefined) return undefined;\n const record = plainObject(value, 'Model list options');\n onlyKeys(record, ['includeHidden', 'forceReload'], 'Model list options');\n return {\n ...(record.includeHidden === undefined ? {} : { includeHidden: booleanValue(record.includeHidden, 'Model list includeHidden') }),\n ...(record.forceReload === undefined ? {} : { forceReload: booleanValue(record.forceReload, 'Model list forceReload') }),\n };\n}\n\nfunction settings(value: unknown): UpdateCodexConversationSettings {\n const record = plainObject(value, 'Conversation settings');\n onlyKeys(record, ['modelId', 'reasoningEffort', 'serviceTier', 'approvalPreset', 'planMode'], 'Conversation settings');\n return {\n ...(record.modelId === undefined ? {} : { modelId: nonEmptyString(record.modelId, 'Conversation model id') }),\n ...(record.reasoningEffort === undefined ? {} : { reasoningEffort: nonEmptyString(record.reasoningEffort, 'Conversation reasoning effort') }),\n ...(record.serviceTier === undefined ? {} : { serviceTier: nullableString(record.serviceTier, 'Conversation service tier') }),\n ...(record.approvalPreset === undefined ? {} : { approvalPreset: approvalPreset(record.approvalPreset) }),\n ...(record.planMode === undefined ? {} : { planMode: booleanValue(record.planMode, 'Conversation plan mode') }),\n };\n}\n\nfunction clientRequestResponse(value: unknown): CodexSurfaceClientRequestResponse {\n const record = plainObject(value, 'Client request response');\n onlyKeys(record, ['id', 'payload'], 'Client request response');\n const id = nonEmptyString(record.id, 'Client request id');\n if (record.payload === undefined) return { id };\n const payload = plainObject(record.payload, 'Client request response payload');\n onlyKeys(payload, ['answers', 'cancelled', 'decision'], 'Client request response payload');\n const decision = payload.decision;\n const validDecisions = [null, 'allow', 'allow_conversation', 'always_allow', 'deny'];\n if (decision !== undefined && !validDecisions.includes(decision as string | null)) {\n throw new TypeError('Client request decision is invalid');\n }\n const answers = payload.answers === undefined ? undefined : askUserAnswers(payload.answers);\n return {\n id,\n payload: {\n ...(answers === undefined ? {} : { answers }),\n ...(payload.cancelled === undefined ? {} : { cancelled: booleanValue(payload.cancelled, 'Client request cancelled flag') }),\n ...(decision === undefined ? {} : { decision: decision as NonNullable<CodexSurfaceClientRequestResponse['payload']>['decision'] }),\n },\n };\n}\n\nfunction askUserAnswers(value: unknown): CodexSurfaceAskUserAnswers {\n const record = plainObject(value, 'Client request answers');\n const answers: CodexSurfaceAskUserAnswers = {};\n for (const [questionId, rawAnswer] of Object.entries(record)) {\n if (!questionId.trim()) throw new TypeError('Client request question id must be non-empty');\n const answer = plainObject(rawAnswer, 'Client request answer');\n onlyKeys(answer, ['answers'], 'Client request answer');\n if (!Array.isArray(answer.answers) || !answer.answers.every((item) => typeof item === 'string')) {\n throw new TypeError('Client request answer values must be an array of strings');\n }\n answers[questionId] = { answers: [...answer.answers] };\n }\n return answers;\n}\n\nasync function sendOptions(\n value: unknown,\n resolveAttachment: CodexSurfaceBridgeAttachmentResolver | undefined,\n): Promise<SendCodexMessageOptions | undefined> {\n if (value === undefined) return undefined;\n const record = plainObject(value, 'Message options');\n onlyKeys(record, ['content', 'inputMethod', 'attachments', 'model', 'reasoningEffort', 'serviceTier', 'planMode', 'skills', 'outputSchema'], 'Message options');\n const attachments = record.attachments === undefined\n ? undefined\n : await attachmentInputs(record.attachments, resolveAttachment);\n const skills = record.skills === undefined ? undefined : skillInputs(record.skills);\n const inputMethod = record.inputMethod;\n if (inputMethod !== undefined && inputMethod !== 'typed' && inputMethod !== 'dictated') {\n throw new TypeError('Message input method must be typed or dictated');\n }\n if (record.outputSchema !== undefined && !isJsonValue(record.outputSchema)) {\n throw new TypeError('Message output schema must be JSON-serializable');\n }\n return {\n ...(record.content === undefined ? {} : { content: normalizePromptContent(record.content) }),\n ...(inputMethod === undefined ? {} : { inputMethod }),\n ...(attachments === undefined ? {} : { attachments }),\n ...(record.model === undefined ? {} : { model: nonEmptyString(record.model, 'Message model') }),\n ...(record.reasoningEffort === undefined ? {} : { reasoningEffort: nonEmptyString(record.reasoningEffort, 'Message reasoning effort') }),\n ...(record.serviceTier === undefined ? {} : { serviceTier: nullableString(record.serviceTier, 'Message service tier') }),\n ...(record.planMode === undefined ? {} : { planMode: booleanValue(record.planMode, 'Message plan mode') }),\n ...(skills === undefined ? {} : { skills }),\n ...(record.outputSchema === undefined ? {} : { outputSchema: record.outputSchema }),\n };\n}\n\nasync function attachmentInputs(\n value: unknown,\n resolveAttachment: CodexSurfaceBridgeAttachmentResolver | undefined,\n): Promise<NonNullable<SendCodexMessageOptions['attachments']>> {\n if (!Array.isArray(value)) throw new TypeError('Message attachments must be an array');\n if (value.length > 0 && !resolveAttachment) {\n throw new TypeError('Message attachment references are not supported by this host');\n }\n return Promise.all(value.map(async (rawAttachment) => {\n const attachment = plainObject(rawAttachment, 'Message attachment');\n if (attachment.type !== 'image' && attachment.type !== 'file') {\n throw new TypeError('Message attachment type is invalid');\n }\n const image = attachment.type === 'image';\n onlyKeys(\n attachment,\n image ? ['type', 'reference', 'detail'] : ['type', 'reference'],\n 'Message attachment',\n );\n if (image && attachment.detail !== undefined && !['auto', 'low', 'high', 'original'].includes(String(attachment.detail))) {\n throw new TypeError('Message image detail is invalid');\n }\n const rendererAttachment: CodexRendererAttachment = image ? {\n type: 'image' as const,\n reference: nonEmptyString(attachment.reference, 'Message attachment reference'),\n ...(attachment.detail === undefined ? {} : { detail: attachment.detail as 'auto' | 'low' | 'high' | 'original' }),\n } : {\n type: 'file' as const,\n reference: nonEmptyString(attachment.reference, 'Message attachment reference'),\n };\n const resolved = await resolveAttachment!(rendererAttachment);\n return resolvedAttachment(resolved, rendererAttachment);\n }));\n}\n\nfunction resolvedAttachment(\n value: CodexSurfaceAttachment,\n source: CodexRendererAttachment,\n): CodexSurfaceAttachment {\n const attachment = plainObject(value, 'Resolved message attachment');\n if (attachment.type !== source.type) throw new TypeError('Resolved message attachment type does not match');\n const common = {\n path: nonEmptyString(attachment.path, 'Resolved message attachment path'),\n ...(attachment.name === undefined ? {} : { name: displayString(attachment.name, 'Resolved message attachment name') }),\n ...(attachment.mimeType === undefined ? {} : { mimeType: displayString(attachment.mimeType, 'Resolved message attachment MIME type') }),\n };\n return source.type === 'image' ? {\n type: 'image',\n ...common,\n ...(source.detail === undefined ? {} : { detail: source.detail }),\n ...(attachment.previewUrl === undefined\n ? {}\n : { previewUrl: imagePreviewUrl(attachment.previewUrl) }),\n } : { type: 'file', ...common };\n}\n\nfunction skillInputs(value: unknown): NonNullable<SendCodexMessageOptions['skills']> {\n if (!Array.isArray(value)) throw new TypeError('Message skills must be an array');\n return value.map((rawSkill) => {\n const skill = plainObject(rawSkill, 'Message skill');\n onlyKeys(skill, ['name', 'path'], 'Message skill');\n return { name: nonEmptyString(skill.name, 'Message skill name'), path: nonEmptyString(skill.path, 'Message skill path') };\n });\n}\n\nfunction reviewOptions(value: unknown): StartCodexReviewOptions | undefined {\n if (value === undefined) return undefined;\n const record = plainObject(value, 'Review options');\n onlyKeys(record, ['target'], 'Review options');\n if (record.target === undefined) return {};\n const target = plainObject(record.target, 'Review target');\n if (target.type === 'uncommittedChanges') {\n onlyKeys(target, ['type'], 'Review target');\n return { target: { type: 'uncommittedChanges' } };\n }\n if (target.type === 'baseBranch') {\n onlyKeys(target, ['type', 'branch'], 'Review target');\n return { target: { type: 'baseBranch', branch: nonEmptyString(target.branch, 'Review branch') } };\n }\n if (target.type === 'commit') {\n onlyKeys(target, ['type', 'sha', 'title'], 'Review target');\n if (target.title !== undefined && target.title !== null && typeof target.title !== 'string') {\n throw new TypeError('Review commit title must be a string or null');\n }\n return { target: { type: 'commit', sha: nonEmptyString(target.sha, 'Review commit SHA'), ...(target.title === undefined ? {} : { title: target.title }) } };\n }\n if (target.type === 'custom') {\n onlyKeys(target, ['type', 'instructions'], 'Review target');\n return { target: { type: 'custom', instructions: nonEmptyString(target.instructions, 'Review instructions') } };\n }\n throw new TypeError('Review target type is invalid');\n}\n\nfunction plainObject(value: unknown, label: string): Record<string, unknown> {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) throw new TypeError(`${label} must be an object`);\n const prototype = Object.getPrototypeOf(value) as object | null;\n if (prototype !== Object.prototype && prototype !== null) throw new TypeError(`${label} must be a plain object`);\n if (Reflect.ownKeys(value).some((key) => typeof key === 'symbol')) throw new TypeError(`${label} must not contain symbol properties`);\n return value as Record<string, unknown>;\n}\n\nfunction onlyKeys(record: Record<string, unknown>, keys: readonly string[], label: string): void {\n const allowed = new Set(keys);\n const unknownKey = Object.getOwnPropertyNames(record).find((key) => !allowed.has(key));\n if (unknownKey) throw new TypeError(`${label} contains unsupported property \"${unknownKey}\"`);\n}\n\nfunction nonEmptyString(value: unknown, label: string): string {\n if (typeof value !== 'string' || !value.trim()) throw new TypeError(`${label} must be a non-empty string`);\n return value;\n}\nfunction optionalString(value: unknown, label: string): string | undefined {\n return value === undefined ? undefined : nonEmptyString(value, label);\n}\nfunction nullableString(value: unknown, label: string): string | null {\n return value === null ? null : nonEmptyString(value, label);\n}\nfunction booleanValue(value: unknown, label: string): boolean {\n if (typeof value !== 'boolean') throw new TypeError(`${label} must be a boolean`);\n return value;\n}\nfunction approvalDecision(value: unknown): CodexSurfaceApprovalDecision {\n if (value !== 'approve' && value !== 'deny') throw new TypeError('Approval decision is invalid');\n return value;\n}\nfunction approvalScope(value: unknown): CodexSurfaceApprovalScope | undefined {\n if (value === undefined) return undefined;\n if (value !== 'once' && value !== 'session') throw new TypeError('Approval scope is invalid');\n return value;\n}\nfunction approvalPreset(value: unknown): UpdateCodexConversationSettings['approvalPreset'] {\n if (!['ask-for-approval', 'approve-for-me', 'full-access'].includes(String(value))) {\n throw new TypeError('Conversation approval preset is invalid');\n }\n return value as UpdateCodexConversationSettings['approvalPreset'];\n}\nfunction tokenBudget(value: unknown): number | null | undefined {\n if (value === undefined || value === null) return value;\n if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) {\n throw new TypeError('Goal token budget must be a positive number or null');\n }\n return value;\n}\nfunction displayString(value: unknown, label: string): string {\n const result = nonEmptyString(value, label);\n if (result.length > 1_024) throw new RangeError(`${label} is too long`);\n return result;\n}\nfunction imagePreviewUrl(value: unknown): string {\n if (typeof value !== 'string'\n || value.length > 16 * 1024 * 1024\n || !/^data:image\\/(?:avif|bmp|gif|heic|heif|jpe?g|png|webp);base64,[a-z\\d+/]+={0,2}$/i.test(value)) {\n throw new TypeError('Resolved message attachment preview must be a bounded image data URL');\n }\n return value;\n}\nfunction isJsonValue(value: unknown, seen = new Set<object>()): value is CodexSurfaceJsonValue {\n if (value === null || typeof value === 'string' || typeof value === 'boolean') return true;\n if (typeof value === 'number') return Number.isFinite(value);\n if (typeof value !== 'object' || seen.has(value) || Reflect.ownKeys(value).some((key) => typeof key === 'symbol')) return false;\n if (Array.isArray(value)) {\n const keys = Object.keys(value);\n if (keys.length !== value.length || keys.some((key) => !/^(0|[1-9]\\d*)$/.test(key) || Number(key) >= value.length)) return false;\n } else {\n const prototype = Object.getPrototypeOf(value) as object | null;\n if ((prototype !== Object.prototype && prototype !== null) || Object.keys(value).length !== Object.getOwnPropertyNames(value).length) return false;\n }\n seen.add(value);\n const valid = Array.isArray(value)\n ? value.every((item) => isJsonValue(item, seen))\n : Object.values(value as Record<string, unknown>).every((item) => isJsonValue(item, seen));\n seen.delete(value);\n return valid;\n}\n\nexport {\n applyCodexSurfaceStateChanges,\n createCodexSurfaceStateMirror,\n diffCodexSurfaceState,\n isCodexSurfaceStatePatchSource,\n subscribeCodexSurfaceState,\n type CodexSurfaceStateMirror,\n type CodexSurfaceStateMirrorResult,\n type CodexSurfaceStatePatchSource,\n type CodexSurfaceStateSource,\n type SubscribeCodexSurfaceStateOptions,\n} from './surface-state';\n"],"mappings":"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"}
|