From d5d48742c9ab00dff82fe8bcbc8da0ba68748959 Mon Sep 17 00:00:00 2001 From: Julius Marminge Date: Thu, 24 Sep 2026 14:10:04 -0700 Subject: [PATCH] feat(codex): require Codex 0.156 and regenerate its protocol (#13481) Co-authored-by: Claude Opus 5.5 (1M context) --- .../src/provider/Layers/CodexAdapter.test.ts | 1 + .../src/provider/Layers/CodexProvider.ts | 2 +- .../Layers/CodexSessionRuntime.test.ts | 30 +- .../provider/Layers/CodexSessionRuntime.ts | 12 +- apps/server/src/provider/model-manifest.json | 9 +- .../provider/providerCompatibility.test.ts | 18 + .../testFixtures/codexMultiAgentWire.json | 2 + .../scripts/generate.ts | 175 +- .../src/_generated/meta.gen.ts | 119 +- .../src/_generated/namespaces.gen.ts | 46 +- .../src/_generated/schema.gen.ts | 15070 ++++++++++++++-- .../src/client.test.ts | 1 + .../src/schema.test.ts | 6 +- .../fixtures/codex-app-server-mock-peer.ts | 1 + 14 files changed, 13640 insertions(+), 1852 deletions(-) diff --git a/apps/server/src/provider/Layers/CodexAdapter.test.ts b/apps/server/src/provider/Layers/CodexAdapter.test.ts index 9f464bdaa1779ee0e13dd0b5b5d1cf125523131a..fc2e365f6e9c22496d1ca7bcda5e60567da98a1b 100644 --- a/apps/server/src/provider/Layers/CodexAdapter.test.ts +++ b/apps/server/src/provider/Layers/CodexAdapter.test.ts @@ -2383,6 +2383,7 @@ lifecycleLayer("CodexAdapterLive lifecycle", (it) => { method: "item/tool/requestUserInput", requestId: ApprovalRequestId.make("req-user-input-1"), payload: { + isBlocking: true, itemId: "item-user-input-1", threadId: "thread-1", turnId: "turn-1", diff --git a/apps/server/src/provider/Layers/CodexProvider.ts b/apps/server/src/provider/Layers/CodexProvider.ts index cdf40f73b1bdddab0cbfdb52b16de68cd1509364..d99b97150c5c3a4fed0ac27e9d73b00b02ed999c 100644 --- a/apps/server/src/provider/Layers/CodexProvider.ts +++ b/apps/server/src/provider/Layers/CodexProvider.ts @@ -441,7 +441,7 @@ const probeCodexAppServerProvider = Effect.fn("probeCodexAppServerProvider")(fun requestAllCodexModels(client), // Usage is an enrichment: a failure or a slow answer degrades to "no // usage this probe" rather than costing the account and models. - client.request("account/rateLimits/read", undefined).pipe( + client.request("account/rateLimits/read", null).pipe( Effect.map((response): CodexRateLimitsProbe => ({ snapshot: response.rateLimits, rateLimitsByLimitId: response.rateLimitsByLimitId, diff --git a/apps/server/src/provider/Layers/CodexSessionRuntime.test.ts b/apps/server/src/provider/Layers/CodexSessionRuntime.test.ts index ec113ab7c521cc6c2ff02d9cd40e3d4ad568c4c2..588c24dd11767757bf8d3fc75aef5cf9ad530af0 100644 --- a/apps/server/src/provider/Layers/CodexSessionRuntime.test.ts +++ b/apps/server/src/provider/Layers/CodexSessionRuntime.test.ts @@ -90,25 +90,28 @@ describe("Codex thread history", () => { ); } - it.effect("keeps the count-based rollback API for older threads", () => + it.effect("surfaces Codex rejecting a revert of a legacy thread", () => Effect.gen(function* () { + const rejection = CodexErrors.CodexAppServerRequestError.invalidRequest( + "thread/revert only supports paginated threads", + ); const client: Parameters[0] = { - raw: { request: () => Effect.succeed({ thread: {} }) }, - request: ( - method: M, - params: CodexRpc.ClientRequestParamsByMethod[M], - ) => { - NodeAssert.equal(method, "thread/rollback"); - NodeAssert.deepEqual(params, { threadId: "legacy-thread", numTurns: 2 }); + raw: { + request: (method) => { + if (method === "thread/read") return Effect.succeed({ thread: {} }); + if (method === "thread/revert") return Effect.fail(rejection); + return Effect.die(`Unexpected raw request: ${method}`); + }, + }, + request: (method: M) => { + NodeAssert.equal(method, "thread/read"); return Effect.succeed({ - thread: { id: "legacy-thread", turns: [] }, + thread: { id: "legacy-thread", turns: [{ id: "turn-1", items: [] }] }, } as unknown as CodexRpc.ClientRequestResponsesByMethod[M]); }, }; - NodeAssert.deepEqual(yield* rollbackCodexThread(client, "legacy-thread", 2), { - threadId: "legacy-thread", - turns: [], - }); + const error = yield* Effect.flip(rollbackCodexThread(client, "legacy-thread", 1)); + NodeAssert.strictEqual(error, rejection); }), ); }); @@ -680,6 +683,7 @@ function makeThreadStartedNotification( id: threadId, modelProvider: "openai", preview: "", + projectId: null, sessionId: threadId, source, status: { type: "idle" as const }, diff --git a/apps/server/src/provider/Layers/CodexSessionRuntime.ts b/apps/server/src/provider/Layers/CodexSessionRuntime.ts index 7f0f9765730ea1644aae12165d493c2ffdbb0799..ba78589bfdb14ffc0ef76a0edeabbd218230b3dd 100644 --- a/apps/server/src/provider/Layers/CodexSessionRuntime.ts +++ b/apps/server/src/provider/Layers/CodexSessionRuntime.ts @@ -163,8 +163,7 @@ export type CodexTurnStartParamsWithCollaborationMode = export type CodexResumeCursor = typeof CodexResumeCursorSchema.Type; type CodexServiceTier = NonNullable; type CodexThreadItem = - | EffectCodexSchema.V2ThreadReadResponse["thread"]["turns"][number]["items"][number] - | EffectCodexSchema.V2ThreadRollbackResponse["thread"]["turns"][number]["items"][number]; + EffectCodexSchema.V2ThreadReadResponse["thread"]["turns"][number]["items"][number]; export interface CodexSessionRuntimeOptions { readonly threadId: ThreadId; @@ -1185,7 +1184,7 @@ function updateSession( } function parseThreadSnapshot( - response: EffectCodexSchema.V2ThreadReadResponse | EffectCodexSchema.V2ThreadRollbackResponse, + response: EffectCodexSchema.V2ThreadReadResponse, ): CodexThreadSnapshot { return { threadId: response.thread.id, @@ -1273,11 +1272,8 @@ export const rollbackCodexThread = Effect.fn("rollbackCodexThread")(function* ( threadId: string, numTurns: number, ): Effect.fn.Return { - if ((yield* readCodexHistoryMode(client, threadId)) !== "paginated") { - return parseThreadSnapshot(yield* client.request("thread/rollback", { threadId, numTurns })); - } - // Paginated threads replace history at a turn boundary instead of supporting - // the legacy count-based rollback endpoint. + // Codex replaces history at a turn boundary. It rejects threads that still + // use legacy history, which have no rollback API since Codex 0.156. const snapshot = yield* readCodexThread(client, threadId); const retainedCount = Math.max(0, snapshot.turns.length - numTurns); const firstRemoved = snapshot.turns[retainedCount]; diff --git a/apps/server/src/provider/model-manifest.json b/apps/server/src/provider/model-manifest.json index 69e51bcb019ae51e2f3d96cb26420e311b778b5d..b7531c21c981ec47da63cb20ebc4d3f2c31531ad 100644 --- a/apps/server/src/provider/model-manifest.json +++ b/apps/server/src/provider/model-manifest.json @@ -1,14 +1,15 @@ { "version": 1, - "updatedAt": "2026-09-24T00:11:29Z", + "updatedAt": "2026-09-24T18:40:00Z", "compatibility": [ { "driver": "codex", "t3CodeRange": ">=0.0.42", - "recommendedRange": ">=0.129.0", + "recommendedRange": ">=0.156.0", "ranges": [ - { "range": ">=0.129.0", "status": "supported" }, - { "range": "<0.129.0", "status": "broken" } + { "range": ">=0.156.0", "status": "supported" }, + { "range": ">=0.149.0 <0.156.0", "status": "unsupported" }, + { "range": "<0.149.0", "status": "broken" } ] }, { diff --git a/apps/server/src/provider/providerCompatibility.test.ts b/apps/server/src/provider/providerCompatibility.test.ts index 3a43356d2caf489943516fee81ac8922462f0ce0..4d438a77b54e2fdae0cc3276f661a5f37d89d405 100644 --- a/apps/server/src/provider/providerCompatibility.test.ts +++ b/apps/server/src/provider/providerCompatibility.test.ts @@ -65,6 +65,24 @@ describe("provider compatibility", () => { } }); + it("supports Codex 0.156 and marks Codex without Thread.projectId broken", () => { + const bundled = ModelManifest.BUNDLED_MODEL_MANIFEST.compatibility; + for (const [t3CodeVersion, codexVersion, expected] of [ + ["0.0.42", "0.148.0", "broken"], + ["0.0.42", "0.149.0", "unsupported"], + ["0.0.42", "0.155.0", "unsupported"], + ["0.0.42", "0.156.0", "supported"], + ["0.0.43-nightly.20260924.2200", "0.153.3", "unsupported"], + ["0.0.43-nightly.20260924.2200", "0.156.1", "supported"], + ] as const) { + assert.strictEqual( + resolveProviderCompatibility(bundled, driver, codexVersion, t3CodeVersion)?.status, + expected, + `T3 Code ${t3CodeVersion} with Codex ${codexVersion}`, + ); + } + }); + it("compares Cursor build dates without treating semver prereleases as stable", () => { const cursor = ProviderDriverKind.make("cursor"); const cursorPolicy: ProviderCompatibilityPolicy = { diff --git a/apps/server/src/provider/testFixtures/codexMultiAgentWire.json b/apps/server/src/provider/testFixtures/codexMultiAgentWire.json index 08316d3b63344476f614cd1ffa0c5ec058701dd0..0f183635b17e4c22d3b6a98ffa88c377138d841a 100644 --- a/apps/server/src/provider/testFixtures/codexMultiAgentWire.json +++ b/apps/server/src/provider/testFixtures/codexMultiAgentWire.json @@ -20,6 +20,7 @@ "forkedFromId": null, "parentThreadId": null, "preview": "", + "projectId": null, "ephemeral": false, "historyMode": "legacy", "modelProvider": "openai", @@ -389,6 +390,7 @@ "forkedFromId": null, "parentThreadId": null, "preview": "", + "projectId": null, "ephemeral": false, "historyMode": "legacy", "modelProvider": "openai", diff --git a/packages/effect-codex-app-server/scripts/generate.ts b/packages/effect-codex-app-server/scripts/generate.ts index d61db6dc2dc8625e45349a2d4f20a0dfa7cb37ff..b2696097ef8c7872acb20ea6ca40a3850e8e0292 100644 --- a/packages/effect-codex-app-server/scripts/generate.ts +++ b/packages/effect-codex-app-server/scripts/generate.ts @@ -17,7 +17,7 @@ import { } from "effect/unstable/http"; import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process"; -const UPSTREAM_REF = "678157acaa819d5510adfe359abb5d0392cfe461"; +const UPSTREAM_REF = "fe74a774532af67b5a4a3dec03ce9469e17f89af"; const USER_AGENT = "effect-codex-app-server-generator"; const GITHUB_API_BASE = "https://api.github.com/repos/openai/codex/contents/codex-rs/app-server-protocol"; @@ -145,112 +145,6 @@ const ManualSchemas: Record = { }, }; -// Codex 0.150 added these multi-agent values before our next full protocol -// refresh. Keep every generated response namespace compatible with them. -const Codex0150DefinitionSchemas: Record = { - CollabAgentTool: { - type: "string", - enum: [ - "spawnAgent", - "sendInput", - "resumeAgent", - "wait", - "closeAgent", - "sendMessage", - "followupTask", - "interruptAgent", - "listAgents", - ], - }, - CollabAgentToolCallStatus: { - type: "string", - enum: ["inProgress", "completed", "failed", "interrupted"], - }, - PlanType: { - type: "string", - enum: [ - "free", - "go", - "plus", - "pro", - "prolite", - "team", - "self_serve_business_prolite", - "self_serve_business_usage_based", - "business", - "ent26", - "enterprise_cbp_automation", - "enterprise_cbp_usage_based", - "enterprise", - "edu", - "edu_plus", - "edu_pro", - "unknown", - ], - }, - SubAgentActivityKind: { - type: "string", - enum: ["started", "interacted", "interrupted", "completed"], - }, -}; - -// Pinned protocol JSON omits later CodexErrorInfo variants. Keep historical -// thread payloads decodable; do not fold unknown values into "other". -const CodexErrorInfoCompatibilityValues = [ - "rateLimitExceeded", - "misalignmentPolicyViolation", -] as const; - -const CodexErrorInfoCompatibilityExports = new Set([ - "V2ThreadReadResponse", - "V2ThreadResumeResponse", - "V2ThreadRollbackResponse", - "V2ThreadForkResponse", - "V2TurnCompletedNotification", -]); - -function applyCodex0151DefinitionCompatibility( - exportName: string, - definitionName: string, - definitionSchema: Schema.Json, -): Schema.Json { - if ( - !CodexErrorInfoCompatibilityExports.has(exportName) || - definitionName !== "CodexErrorInfo" || - typeof definitionSchema !== "object" - ) { - return definitionSchema; - } - - const schema = definitionSchema as { - readonly oneOf?: ReadonlyArray<{ readonly enum?: ReadonlyArray }>; - }; - const [firstVariant, ...remainingVariants] = schema.oneOf ?? []; - const currentEnum = firstVariant?.enum; - if (!currentEnum) { - return definitionSchema; - } - - const missingValues = CodexErrorInfoCompatibilityValues.filter( - (value) => !currentEnum.includes(value), - ); - if (missingValues.length === 0) { - return definitionSchema; - } - - const enumValues = [...currentEnum]; - const otherIndex = enumValues.indexOf("other"); - const nextEnum = - otherIndex === -1 - ? [...enumValues, ...missingValues] - : [...enumValues.slice(0, otherIndex), ...missingValues, ...enumValues.slice(otherIndex)]; - - return { - ...definitionSchema, - oneOf: [{ ...firstVariant, enum: nextEnum }, ...remainingVariants], - }; -} - const getGeneratedPaths = Effect.fn("getGeneratedPaths")(function* () { const path = yield* Path.Path; const generatedDir = path.join(import.meta.dirname, "..", "src", "_generated"); @@ -470,61 +364,6 @@ function adaptSchemaForEffect(value: Schema.Json): Schema.Json { }; } -// Codex 0.153 adds async questions to agent messages. Keep older protocol -// fields until the next full refresh, including every thread history namespace. -function addAsyncQuestionFields(value: Schema.Json): Schema.Json { - if (Array.isArray(value)) { - return value.map(addAsyncQuestionFields); - } - if (value === null || typeof value !== "object") { - return value; - } - const properties = "properties" in value ? value.properties : undefined; - const itemType = - properties && typeof properties === "object" && "type" in properties - ? properties.type - : undefined; - if ( - properties && - typeof properties === "object" && - itemType && - typeof itemType === "object" && - "enum" in itemType && - Array.isArray(itemType.enum) && - itemType.enum.includes("agentMessage") - ) { - return { - ...value, - properties: { - ...Object.fromEntries(Object.entries(properties).filter(([key]) => key !== "type")), - delivery: { anyOf: [{ type: "string", enum: ["async"] }, { type: "null" }] }, - questions: { - anyOf: [ - { - type: "array", - items: { - type: "object", - properties: { - title: { type: "string" }, - options: { - anyOf: [{ type: "array", items: { type: "string" } }, { type: "null" }], - }, - }, - required: ["title"], - }, - }, - { type: "null" }, - ], - }, - type: itemType, - }, - }; - } - return Object.fromEntries( - Object.entries(value).map(([key, child]) => [key, addAsyncQuestionFields(child)]), - ); -} - function toPascalCaseMethod(method: string) { return method .split("/") @@ -536,13 +375,14 @@ function toPascalCaseMethod(method: string) { } function parseRequestEntries(fileContents: string): ReadonlyArray { - const entryPattern = /\{\s*"method":\s*"([^"]+)",\s*id:\s*RequestId,\s*params:\s*([^,}]+)/g; + // Optional params render as `params?: Foo | undefined`; their JSON schema is `NullableFoo`. + const entryPattern = /\{\s*"method":\s*"([^"]+)",\s*id:\s*RequestId,\s*params(\??):\s*([^,}|]+)/g; const entries: Array = []; let match: RegExpExecArray | null; while ((match = entryPattern.exec(fileContents)) !== null) { entries.push({ method: match[1]!, - paramsType: match[2]!.trim(), + paramsType: `${match[2] ? "Nullable" : ""}${match[3]!.trim()}`, }); } return entries; @@ -800,13 +640,10 @@ const generateFiles = Effect.fn("generateFiles")(function* () { ); for (const [definitionName, definitionSchema] of Object.entries(parsed.definitions ?? {})) { - const compatibleDefinitionSchema = - Codex0150DefinitionSchemas[definitionName] ?? - applyCodex0151DefinitionCompatibility(file.exportName, definitionName, definitionSchema); aggregateSchemas[localDefinitionNames.get(definitionName)!] = stripNullDefaults( normalizeNullableTypes( rewriteExternalRefs( - compatibleDefinitionSchema, + definitionSchema, localDefinitionNames, file.namespace, exportNameByQualifiedName, @@ -844,7 +681,7 @@ const generateFiles = Effect.fn("generateFiles")(function* () { for (const [name, schema] of Object.entries(aggregateSchemas).toSorted(([left], [right]) => left.localeCompare(right), )) { - aggregateSchemas[name] = adaptSchemaForEffect(addAsyncQuestionFields(schema)); + aggregateSchemas[name] = adaptSchemaForEffect(schema); generator.addSchema(name, aggregateSchemas[name] as never); } diff --git a/packages/effect-codex-app-server/src/_generated/meta.gen.ts b/packages/effect-codex-app-server/src/_generated/meta.gen.ts index 24452e881f663838a652f913ed2d9e0a7aaf731a..88ffb842ac9b1fd1bbd338265be687519b3a2e4c 100644 --- a/packages/effect-codex-app-server/src/_generated/meta.gen.ts +++ b/packages/effect-codex-app-server/src/_generated/meta.gen.ts @@ -1,5 +1,5 @@ // This file is generated by the effect-codex-app-server package. Do not edit manually. -// Upstream protocol ref: 678157acaa819d5510adfe359abb5d0392cfe461 +// Upstream protocol ref: fe74a774532af67b5a4a3dec03ce9469e17f89af import * as CodexSchema from "./schema.gen.ts"; @@ -16,14 +16,24 @@ export const CLIENT_REQUEST_METHODS = { "thread/goal/get": "thread/goal/get", "thread/goal/clear": "thread/goal/clear", "thread/metadata/update": "thread/metadata/update", + "thread/attachment/add": "thread/attachment/add", + "thread/attachment/list": "thread/attachment/list", + "thread/attachment/remove": "thread/attachment/remove", + "thread/section/move": "thread/section/move", "thread/unarchive": "thread/unarchive", "thread/compact/start": "thread/compact/start", "thread/shellCommand": "thread/shellCommand", "thread/approveGuardianDeniedAction": "thread/approveGuardianDeniedAction", - "thread/rollback": "thread/rollback", + "thread/revert": "thread/revert", "thread/list": "thread/list", + "threadSection/list": "threadSection/list", + "threadSection/create": "threadSection/create", + "threadSection/update": "threadSection/update", + "threadSection/delete": "threadSection/delete", "thread/loaded/list": "thread/loaded/list", "thread/read": "thread/read", + "thread/turns/list": "thread/turns/list", + "thread/items/list": "thread/items/list", "thread/inject_items": "thread/inject_items", "skills/list": "skills/list", "skills/extraRoots/set": "skills/extraRoots/set", @@ -33,6 +43,7 @@ export const CLIENT_REQUEST_METHODS = { "marketplace/upgrade": "marketplace/upgrade", "plugin/list": "plugin/list", "plugin/installed": "plugin/installed", + "plugin/reconcile": "plugin/reconcile", "plugin/read": "plugin/read", "plugin/skill/read": "plugin/skill/read", "plugin/share/save": "plugin/share/save", @@ -87,6 +98,7 @@ export const CLIENT_REQUEST_METHODS = { "config/read": "config/read", "externalAgentConfig/detect": "externalAgentConfig/detect", "externalAgentConfig/import": "externalAgentConfig/import", + "externalAgentConfig/import/recordHistory": "externalAgentConfig/import/recordHistory", "externalAgentConfig/import/readHistories": "externalAgentConfig/import/readHistories", "config/value/write": "config/value/write", "config/batchWrite": "config/batchWrite", @@ -123,10 +135,15 @@ export const SERVER_NOTIFICATION_METHODS = { "thread/deleted": "thread/deleted", "thread/unarchived": "thread/unarchived", "thread/closed": "thread/closed", + "thread/reverted": "thread/reverted", "skills/changed": "skills/changed", "thread/name/updated": "thread/name/updated", + "thread/attachment/updated": "thread/attachment/updated", "thread/goal/updated": "thread/goal/updated", "thread/goal/cleared": "thread/goal/cleared", + "thread/queue/changed": "thread/queue/changed", + "project/changed": "project/changed", + "thread/project/updated": "thread/project/updated", "thread/environment/connected": "thread/environment/connected", "thread/environment/disconnected": "thread/environment/disconnected", "thread/settings/updated": "thread/settings/updated", @@ -140,6 +157,7 @@ export const SERVER_NOTIFICATION_METHODS = { "item/started": "item/started", "item/autoApprovalReview/started": "item/autoApprovalReview/started", "item/autoApprovalReview/completed": "item/autoApprovalReview/completed", + "autoApprovalReview/strictReviewRequired": "autoApprovalReview/strictReviewRequired", "item/completed": "item/completed", "rawResponseItem/completed": "rawResponseItem/completed", "rawResponse/completed": "rawResponse/completed", @@ -156,6 +174,7 @@ export const SERVER_NOTIFICATION_METHODS = { "item/mcpToolCall/progress": "item/mcpToolCall/progress", "mcpServer/oauthLogin/completed": "mcpServer/oauthLogin/completed", "mcpServer/startupStatus/updated": "mcpServer/startupStatus/updated", + "mcpServer/event/stream/notification": "mcpServer/event/stream/notification", "account/updated": "account/updated", "account/rateLimits/updated": "account/rateLimits/updated", "app/list/updated": "app/list/updated", @@ -169,6 +188,8 @@ export const SERVER_NOTIFICATION_METHODS = { "thread/compacted": "thread/compacted", "model/rerouted": "model/rerouted", "model/verification": "model/verification", + "modelProvider/authRecoveryStarted": "modelProvider/authRecoveryStarted", + "modelProvider/authRecoveryCompleted": "modelProvider/authRecoveryCompleted", "turn/moderationMetadata": "turn/moderationMetadata", "model/safetyBuffering/updated": "model/safetyBuffering/updated", warning: "warning", @@ -179,6 +200,9 @@ export const SERVER_NOTIFICATION_METHODS = { "fuzzyFileSearch/sessionCompleted": "fuzzyFileSearch/sessionCompleted", "thread/realtime/started": "thread/realtime/started", "thread/realtime/itemAdded": "thread/realtime/itemAdded", + "thread/realtime/item/started": "thread/realtime/item/started", + "thread/realtime/item/transcript/delta": "thread/realtime/item/transcript/delta", + "thread/realtime/item/completed": "thread/realtime/item/completed", "thread/realtime/transcript/delta": "thread/realtime/transcript/delta", "thread/realtime/transcript/done": "thread/realtime/transcript/done", "thread/realtime/outputAudio/delta": "thread/realtime/outputAudio/delta", @@ -208,14 +232,24 @@ export interface ClientRequestParamsByMethod { readonly "thread/goal/get": CodexSchema.V2ThreadGoalGetParams; readonly "thread/goal/clear": CodexSchema.V2ThreadGoalClearParams; readonly "thread/metadata/update": CodexSchema.V2ThreadMetadataUpdateParams; + readonly "thread/attachment/add": CodexSchema.V2ThreadAttachmentAddParams; + readonly "thread/attachment/list": CodexSchema.V2ThreadAttachmentListParams; + readonly "thread/attachment/remove": CodexSchema.V2ThreadAttachmentRemoveParams; + readonly "thread/section/move": CodexSchema.V2ThreadSectionMoveParams; readonly "thread/unarchive": CodexSchema.V2ThreadUnarchiveParams; readonly "thread/compact/start": CodexSchema.V2ThreadCompactStartParams; readonly "thread/shellCommand": CodexSchema.V2ThreadShellCommandParams; readonly "thread/approveGuardianDeniedAction": CodexSchema.V2ThreadApproveGuardianDeniedActionParams; - readonly "thread/rollback": CodexSchema.V2ThreadRollbackParams; + readonly "thread/revert": CodexSchema.V2ThreadRevertParams; readonly "thread/list": CodexSchema.V2ThreadListParams; + readonly "threadSection/list": CodexSchema.V2ThreadSectionListParams; + readonly "threadSection/create": CodexSchema.V2ThreadSectionCreateParams; + readonly "threadSection/update": CodexSchema.V2ThreadSectionUpdateParams; + readonly "threadSection/delete": CodexSchema.V2ThreadSectionDeleteParams; readonly "thread/loaded/list": CodexSchema.V2ThreadLoadedListParams; readonly "thread/read": CodexSchema.V2ThreadReadParams; + readonly "thread/turns/list": CodexSchema.V2ThreadTurnsListParams; + readonly "thread/items/list": CodexSchema.V2ThreadItemsListParams; readonly "thread/inject_items": CodexSchema.V2ThreadInjectItemsParams; readonly "skills/list": CodexSchema.V2SkillsListParams; readonly "skills/extraRoots/set": CodexSchema.V2SkillsExtraRootsSetParams; @@ -225,6 +259,7 @@ export interface ClientRequestParamsByMethod { readonly "marketplace/upgrade": CodexSchema.V2MarketplaceUpgradeParams; readonly "plugin/list": CodexSchema.V2PluginListParams; readonly "plugin/installed": CodexSchema.V2PluginInstalledParams; + readonly "plugin/reconcile": CodexSchema.V2PluginReconcileParams; readonly "plugin/read": CodexSchema.V2PluginReadParams; readonly "plugin/skill/read": CodexSchema.V2PluginSkillReadParams; readonly "plugin/share/save": CodexSchema.V2PluginShareSaveParams; @@ -266,9 +301,9 @@ export interface ClientRequestParamsByMethod { readonly "account/login/start": CodexSchema.V2LoginAccountParams; readonly "account/login/cancel": CodexSchema.V2CancelLoginAccountParams; readonly "account/logout": undefined; - readonly "account/rateLimits/read": undefined; + readonly "account/rateLimits/read": CodexSchema.V2NullableGetAccountRateLimitsParams; readonly "account/rateLimitResetCredit/consume": CodexSchema.V2ConsumeAccountRateLimitResetCreditParams; - readonly "account/usage/read": undefined; + readonly "account/usage/read": CodexSchema.V2NullableGetAccountTokenUsageParams; readonly "account/workspaceMessages/read": undefined; readonly "account/sendAddCreditsNudgeEmail": CodexSchema.V2SendAddCreditsNudgeEmailParams; readonly "feedback/upload": CodexSchema.V2FeedbackUploadParams; @@ -279,6 +314,7 @@ export interface ClientRequestParamsByMethod { readonly "config/read": CodexSchema.V2ConfigReadParams; readonly "externalAgentConfig/detect": CodexSchema.V2ExternalAgentConfigDetectParams; readonly "externalAgentConfig/import": CodexSchema.V2ExternalAgentConfigImportParams; + readonly "externalAgentConfig/import/recordHistory": CodexSchema.V2ExternalAgentConfigImportHistoryRecordParams; readonly "externalAgentConfig/import/readHistories": undefined; readonly "config/value/write": CodexSchema.V2ConfigValueWriteParams; readonly "config/batchWrite": CodexSchema.V2ConfigBatchWriteParams; @@ -303,14 +339,24 @@ export interface ClientRequestResponsesByMethod { readonly "thread/goal/get": CodexSchema.V2ThreadGoalGetResponse; readonly "thread/goal/clear": CodexSchema.V2ThreadGoalClearResponse; readonly "thread/metadata/update": CodexSchema.V2ThreadMetadataUpdateResponse; + readonly "thread/attachment/add": CodexSchema.V2ThreadAttachmentAddResponse; + readonly "thread/attachment/list": CodexSchema.V2ThreadAttachmentListResponse; + readonly "thread/attachment/remove": CodexSchema.V2ThreadAttachmentRemoveResponse; + readonly "thread/section/move": CodexSchema.V2ThreadSectionMoveResponse; readonly "thread/unarchive": CodexSchema.V2ThreadUnarchiveResponse; readonly "thread/compact/start": CodexSchema.V2ThreadCompactStartResponse; readonly "thread/shellCommand": CodexSchema.V2ThreadShellCommandResponse; readonly "thread/approveGuardianDeniedAction": CodexSchema.V2ThreadApproveGuardianDeniedActionResponse; - readonly "thread/rollback": CodexSchema.V2ThreadRollbackResponse; + readonly "thread/revert": CodexSchema.V2ThreadRevertResponse; readonly "thread/list": CodexSchema.V2ThreadListResponse; + readonly "threadSection/list": CodexSchema.V2ThreadSectionListResponse; + readonly "threadSection/create": CodexSchema.V2ThreadSectionCreateResponse; + readonly "threadSection/update": CodexSchema.V2ThreadSectionUpdateResponse; + readonly "threadSection/delete": CodexSchema.V2ThreadSectionDeleteResponse; readonly "thread/loaded/list": CodexSchema.V2ThreadLoadedListResponse; readonly "thread/read": CodexSchema.V2ThreadReadResponse; + readonly "thread/turns/list": CodexSchema.V2ThreadTurnsListResponse; + readonly "thread/items/list": CodexSchema.V2ThreadItemsListResponse; readonly "thread/inject_items": CodexSchema.V2ThreadInjectItemsResponse; readonly "skills/list": CodexSchema.V2SkillsListResponse; readonly "skills/extraRoots/set": CodexSchema.V2SkillsExtraRootsSetResponse; @@ -320,6 +366,7 @@ export interface ClientRequestResponsesByMethod { readonly "marketplace/upgrade": CodexSchema.V2MarketplaceUpgradeResponse; readonly "plugin/list": CodexSchema.V2PluginListResponse; readonly "plugin/installed": CodexSchema.V2PluginInstalledResponse; + readonly "plugin/reconcile": CodexSchema.V2PluginReconcileResponse; readonly "plugin/read": CodexSchema.V2PluginReadResponse; readonly "plugin/skill/read": CodexSchema.V2PluginSkillReadResponse; readonly "plugin/share/save": CodexSchema.V2PluginShareSaveResponse; @@ -374,6 +421,7 @@ export interface ClientRequestResponsesByMethod { readonly "config/read": CodexSchema.V2ConfigReadResponse; readonly "externalAgentConfig/detect": CodexSchema.V2ExternalAgentConfigDetectResponse; readonly "externalAgentConfig/import": CodexSchema.V2ExternalAgentConfigImportResponse; + readonly "externalAgentConfig/import/recordHistory": CodexSchema.V2ExternalAgentConfigImportHistoryRecordResponse; readonly "externalAgentConfig/import/readHistories": CodexSchema.V2ExternalAgentConfigImportHistoriesReadResponse; readonly "config/value/write": CodexSchema.V2ConfigWriteResponse; readonly "config/batchWrite": CodexSchema.V2ConfigWriteResponse; @@ -423,10 +471,15 @@ export interface ServerNotificationParamsByMethod { readonly "thread/deleted": CodexSchema.V2ThreadDeletedNotification; readonly "thread/unarchived": CodexSchema.V2ThreadUnarchivedNotification; readonly "thread/closed": CodexSchema.V2ThreadClosedNotification; + readonly "thread/reverted": CodexSchema.V2ThreadRevertedNotification; readonly "skills/changed": CodexSchema.V2SkillsChangedNotification; readonly "thread/name/updated": CodexSchema.V2ThreadNameUpdatedNotification; + readonly "thread/attachment/updated": CodexSchema.V2ThreadAttachmentUpdatedNotification; readonly "thread/goal/updated": CodexSchema.V2ThreadGoalUpdatedNotification; readonly "thread/goal/cleared": CodexSchema.V2ThreadGoalClearedNotification; + readonly "thread/queue/changed": CodexSchema.V2ThreadQueueChangedNotification; + readonly "project/changed": CodexSchema.V2ProjectChangedNotification; + readonly "thread/project/updated": CodexSchema.V2ThreadProjectUpdatedNotification; readonly "thread/environment/connected": CodexSchema.V2EnvironmentConnectionNotification; readonly "thread/environment/disconnected": CodexSchema.V2EnvironmentConnectionNotification; readonly "thread/settings/updated": CodexSchema.V2ThreadSettingsUpdatedNotification; @@ -440,6 +493,7 @@ export interface ServerNotificationParamsByMethod { readonly "item/started": CodexSchema.V2ItemStartedNotification; readonly "item/autoApprovalReview/started": CodexSchema.V2ItemGuardianApprovalReviewStartedNotification; readonly "item/autoApprovalReview/completed": CodexSchema.V2ItemGuardianApprovalReviewCompletedNotification; + readonly "autoApprovalReview/strictReviewRequired": CodexSchema.V2StrictReviewRequiredNotification; readonly "item/completed": CodexSchema.V2ItemCompletedNotification; readonly "rawResponseItem/completed": CodexSchema.V2RawResponseItemCompletedNotification; readonly "rawResponse/completed": CodexSchema.V2RawResponseCompletedNotification; @@ -456,6 +510,7 @@ export interface ServerNotificationParamsByMethod { readonly "item/mcpToolCall/progress": CodexSchema.V2McpToolCallProgressNotification; readonly "mcpServer/oauthLogin/completed": CodexSchema.V2McpServerOauthLoginCompletedNotification; readonly "mcpServer/startupStatus/updated": CodexSchema.V2McpServerStatusUpdatedNotification; + readonly "mcpServer/event/stream/notification": CodexSchema.V2McpServerEventStreamNotification; readonly "account/updated": CodexSchema.V2AccountUpdatedNotification; readonly "account/rateLimits/updated": CodexSchema.V2AccountRateLimitsUpdatedNotification; readonly "app/list/updated": CodexSchema.V2AppListUpdatedNotification; @@ -469,6 +524,8 @@ export interface ServerNotificationParamsByMethod { readonly "thread/compacted": CodexSchema.V2ContextCompactedNotification; readonly "model/rerouted": CodexSchema.V2ModelReroutedNotification; readonly "model/verification": CodexSchema.V2ModelVerificationNotification; + readonly "modelProvider/authRecoveryStarted": CodexSchema.V2AuthRecoveryNotification; + readonly "modelProvider/authRecoveryCompleted": CodexSchema.V2AuthRecoveryNotification; readonly "turn/moderationMetadata": CodexSchema.V2TurnModerationMetadataNotification; readonly "model/safetyBuffering/updated": CodexSchema.V2ModelSafetyBufferingUpdatedNotification; readonly warning: CodexSchema.V2WarningNotification; @@ -479,6 +536,9 @@ export interface ServerNotificationParamsByMethod { readonly "fuzzyFileSearch/sessionCompleted": CodexSchema.FuzzyFileSearchSessionCompletedNotification; readonly "thread/realtime/started": CodexSchema.V2ThreadRealtimeStartedNotification; readonly "thread/realtime/itemAdded": CodexSchema.V2ThreadRealtimeItemAddedNotification; + readonly "thread/realtime/item/started": CodexSchema.V2ThreadRealtimeItemStartedNotification; + readonly "thread/realtime/item/transcript/delta": CodexSchema.V2ThreadRealtimeItemTranscriptDeltaNotification; + readonly "thread/realtime/item/completed": CodexSchema.V2ThreadRealtimeItemCompletedNotification; readonly "thread/realtime/transcript/delta": CodexSchema.V2ThreadRealtimeTranscriptDeltaNotification; readonly "thread/realtime/transcript/done": CodexSchema.V2ThreadRealtimeTranscriptDoneNotification; readonly "thread/realtime/outputAudio/delta": CodexSchema.V2ThreadRealtimeOutputAudioDeltaNotification; @@ -503,14 +563,24 @@ export const CLIENT_REQUEST_PARAMS = { "thread/goal/get": CodexSchema.V2ThreadGoalGetParams, "thread/goal/clear": CodexSchema.V2ThreadGoalClearParams, "thread/metadata/update": CodexSchema.V2ThreadMetadataUpdateParams, + "thread/attachment/add": CodexSchema.V2ThreadAttachmentAddParams, + "thread/attachment/list": CodexSchema.V2ThreadAttachmentListParams, + "thread/attachment/remove": CodexSchema.V2ThreadAttachmentRemoveParams, + "thread/section/move": CodexSchema.V2ThreadSectionMoveParams, "thread/unarchive": CodexSchema.V2ThreadUnarchiveParams, "thread/compact/start": CodexSchema.V2ThreadCompactStartParams, "thread/shellCommand": CodexSchema.V2ThreadShellCommandParams, "thread/approveGuardianDeniedAction": CodexSchema.V2ThreadApproveGuardianDeniedActionParams, - "thread/rollback": CodexSchema.V2ThreadRollbackParams, + "thread/revert": CodexSchema.V2ThreadRevertParams, "thread/list": CodexSchema.V2ThreadListParams, + "threadSection/list": CodexSchema.V2ThreadSectionListParams, + "threadSection/create": CodexSchema.V2ThreadSectionCreateParams, + "threadSection/update": CodexSchema.V2ThreadSectionUpdateParams, + "threadSection/delete": CodexSchema.V2ThreadSectionDeleteParams, "thread/loaded/list": CodexSchema.V2ThreadLoadedListParams, "thread/read": CodexSchema.V2ThreadReadParams, + "thread/turns/list": CodexSchema.V2ThreadTurnsListParams, + "thread/items/list": CodexSchema.V2ThreadItemsListParams, "thread/inject_items": CodexSchema.V2ThreadInjectItemsParams, "skills/list": CodexSchema.V2SkillsListParams, "skills/extraRoots/set": CodexSchema.V2SkillsExtraRootsSetParams, @@ -520,6 +590,7 @@ export const CLIENT_REQUEST_PARAMS = { "marketplace/upgrade": CodexSchema.V2MarketplaceUpgradeParams, "plugin/list": CodexSchema.V2PluginListParams, "plugin/installed": CodexSchema.V2PluginInstalledParams, + "plugin/reconcile": CodexSchema.V2PluginReconcileParams, "plugin/read": CodexSchema.V2PluginReadParams, "plugin/skill/read": CodexSchema.V2PluginSkillReadParams, "plugin/share/save": CodexSchema.V2PluginShareSaveParams, @@ -561,9 +632,9 @@ export const CLIENT_REQUEST_PARAMS = { "account/login/start": CodexSchema.V2LoginAccountParams, "account/login/cancel": CodexSchema.V2CancelLoginAccountParams, "account/logout": undefined, - "account/rateLimits/read": undefined, + "account/rateLimits/read": CodexSchema.V2NullableGetAccountRateLimitsParams, "account/rateLimitResetCredit/consume": CodexSchema.V2ConsumeAccountRateLimitResetCreditParams, - "account/usage/read": undefined, + "account/usage/read": CodexSchema.V2NullableGetAccountTokenUsageParams, "account/workspaceMessages/read": undefined, "account/sendAddCreditsNudgeEmail": CodexSchema.V2SendAddCreditsNudgeEmailParams, "feedback/upload": CodexSchema.V2FeedbackUploadParams, @@ -574,6 +645,8 @@ export const CLIENT_REQUEST_PARAMS = { "config/read": CodexSchema.V2ConfigReadParams, "externalAgentConfig/detect": CodexSchema.V2ExternalAgentConfigDetectParams, "externalAgentConfig/import": CodexSchema.V2ExternalAgentConfigImportParams, + "externalAgentConfig/import/recordHistory": + CodexSchema.V2ExternalAgentConfigImportHistoryRecordParams, "externalAgentConfig/import/readHistories": undefined, "config/value/write": CodexSchema.V2ConfigValueWriteParams, "config/batchWrite": CodexSchema.V2ConfigBatchWriteParams, @@ -598,14 +671,24 @@ export const CLIENT_REQUEST_RESPONSES = { "thread/goal/get": CodexSchema.V2ThreadGoalGetResponse, "thread/goal/clear": CodexSchema.V2ThreadGoalClearResponse, "thread/metadata/update": CodexSchema.V2ThreadMetadataUpdateResponse, + "thread/attachment/add": CodexSchema.V2ThreadAttachmentAddResponse, + "thread/attachment/list": CodexSchema.V2ThreadAttachmentListResponse, + "thread/attachment/remove": CodexSchema.V2ThreadAttachmentRemoveResponse, + "thread/section/move": CodexSchema.V2ThreadSectionMoveResponse, "thread/unarchive": CodexSchema.V2ThreadUnarchiveResponse, "thread/compact/start": CodexSchema.V2ThreadCompactStartResponse, "thread/shellCommand": CodexSchema.V2ThreadShellCommandResponse, "thread/approveGuardianDeniedAction": CodexSchema.V2ThreadApproveGuardianDeniedActionResponse, - "thread/rollback": CodexSchema.V2ThreadRollbackResponse, + "thread/revert": CodexSchema.V2ThreadRevertResponse, "thread/list": CodexSchema.V2ThreadListResponse, + "threadSection/list": CodexSchema.V2ThreadSectionListResponse, + "threadSection/create": CodexSchema.V2ThreadSectionCreateResponse, + "threadSection/update": CodexSchema.V2ThreadSectionUpdateResponse, + "threadSection/delete": CodexSchema.V2ThreadSectionDeleteResponse, "thread/loaded/list": CodexSchema.V2ThreadLoadedListResponse, "thread/read": CodexSchema.V2ThreadReadResponse, + "thread/turns/list": CodexSchema.V2ThreadTurnsListResponse, + "thread/items/list": CodexSchema.V2ThreadItemsListResponse, "thread/inject_items": CodexSchema.V2ThreadInjectItemsResponse, "skills/list": CodexSchema.V2SkillsListResponse, "skills/extraRoots/set": CodexSchema.V2SkillsExtraRootsSetResponse, @@ -615,6 +698,7 @@ export const CLIENT_REQUEST_RESPONSES = { "marketplace/upgrade": CodexSchema.V2MarketplaceUpgradeResponse, "plugin/list": CodexSchema.V2PluginListResponse, "plugin/installed": CodexSchema.V2PluginInstalledResponse, + "plugin/reconcile": CodexSchema.V2PluginReconcileResponse, "plugin/read": CodexSchema.V2PluginReadResponse, "plugin/skill/read": CodexSchema.V2PluginSkillReadResponse, "plugin/share/save": CodexSchema.V2PluginShareSaveResponse, @@ -669,6 +753,8 @@ export const CLIENT_REQUEST_RESPONSES = { "config/read": CodexSchema.V2ConfigReadResponse, "externalAgentConfig/detect": CodexSchema.V2ExternalAgentConfigDetectResponse, "externalAgentConfig/import": CodexSchema.V2ExternalAgentConfigImportResponse, + "externalAgentConfig/import/recordHistory": + CodexSchema.V2ExternalAgentConfigImportHistoryRecordResponse, "externalAgentConfig/import/readHistories": CodexSchema.V2ExternalAgentConfigImportHistoriesReadResponse, "config/value/write": CodexSchema.V2ConfigWriteResponse, @@ -719,10 +805,15 @@ export const SERVER_NOTIFICATION_PARAMS = { "thread/deleted": CodexSchema.V2ThreadDeletedNotification, "thread/unarchived": CodexSchema.V2ThreadUnarchivedNotification, "thread/closed": CodexSchema.V2ThreadClosedNotification, + "thread/reverted": CodexSchema.V2ThreadRevertedNotification, "skills/changed": CodexSchema.V2SkillsChangedNotification, "thread/name/updated": CodexSchema.V2ThreadNameUpdatedNotification, + "thread/attachment/updated": CodexSchema.V2ThreadAttachmentUpdatedNotification, "thread/goal/updated": CodexSchema.V2ThreadGoalUpdatedNotification, "thread/goal/cleared": CodexSchema.V2ThreadGoalClearedNotification, + "thread/queue/changed": CodexSchema.V2ThreadQueueChangedNotification, + "project/changed": CodexSchema.V2ProjectChangedNotification, + "thread/project/updated": CodexSchema.V2ThreadProjectUpdatedNotification, "thread/environment/connected": CodexSchema.V2EnvironmentConnectionNotification, "thread/environment/disconnected": CodexSchema.V2EnvironmentConnectionNotification, "thread/settings/updated": CodexSchema.V2ThreadSettingsUpdatedNotification, @@ -737,6 +828,7 @@ export const SERVER_NOTIFICATION_PARAMS = { "item/autoApprovalReview/started": CodexSchema.V2ItemGuardianApprovalReviewStartedNotification, "item/autoApprovalReview/completed": CodexSchema.V2ItemGuardianApprovalReviewCompletedNotification, + "autoApprovalReview/strictReviewRequired": CodexSchema.V2StrictReviewRequiredNotification, "item/completed": CodexSchema.V2ItemCompletedNotification, "rawResponseItem/completed": CodexSchema.V2RawResponseItemCompletedNotification, "rawResponse/completed": CodexSchema.V2RawResponseCompletedNotification, @@ -753,6 +845,7 @@ export const SERVER_NOTIFICATION_PARAMS = { "item/mcpToolCall/progress": CodexSchema.V2McpToolCallProgressNotification, "mcpServer/oauthLogin/completed": CodexSchema.V2McpServerOauthLoginCompletedNotification, "mcpServer/startupStatus/updated": CodexSchema.V2McpServerStatusUpdatedNotification, + "mcpServer/event/stream/notification": CodexSchema.V2McpServerEventStreamNotification, "account/updated": CodexSchema.V2AccountUpdatedNotification, "account/rateLimits/updated": CodexSchema.V2AccountRateLimitsUpdatedNotification, "app/list/updated": CodexSchema.V2AppListUpdatedNotification, @@ -768,6 +861,8 @@ export const SERVER_NOTIFICATION_PARAMS = { "thread/compacted": CodexSchema.V2ContextCompactedNotification, "model/rerouted": CodexSchema.V2ModelReroutedNotification, "model/verification": CodexSchema.V2ModelVerificationNotification, + "modelProvider/authRecoveryStarted": CodexSchema.V2AuthRecoveryNotification, + "modelProvider/authRecoveryCompleted": CodexSchema.V2AuthRecoveryNotification, "turn/moderationMetadata": CodexSchema.V2TurnModerationMetadataNotification, "model/safetyBuffering/updated": CodexSchema.V2ModelSafetyBufferingUpdatedNotification, warning: CodexSchema.V2WarningNotification, @@ -778,6 +873,10 @@ export const SERVER_NOTIFICATION_PARAMS = { "fuzzyFileSearch/sessionCompleted": CodexSchema.FuzzyFileSearchSessionCompletedNotification, "thread/realtime/started": CodexSchema.V2ThreadRealtimeStartedNotification, "thread/realtime/itemAdded": CodexSchema.V2ThreadRealtimeItemAddedNotification, + "thread/realtime/item/started": CodexSchema.V2ThreadRealtimeItemStartedNotification, + "thread/realtime/item/transcript/delta": + CodexSchema.V2ThreadRealtimeItemTranscriptDeltaNotification, + "thread/realtime/item/completed": CodexSchema.V2ThreadRealtimeItemCompletedNotification, "thread/realtime/transcript/delta": CodexSchema.V2ThreadRealtimeTranscriptDeltaNotification, "thread/realtime/transcript/done": CodexSchema.V2ThreadRealtimeTranscriptDoneNotification, "thread/realtime/outputAudio/delta": CodexSchema.V2ThreadRealtimeOutputAudioDeltaNotification, diff --git a/packages/effect-codex-app-server/src/_generated/namespaces.gen.ts b/packages/effect-codex-app-server/src/_generated/namespaces.gen.ts index 8665ad6f436d9c4ac68d890d4dec08243757cefb..3428ce049ed73aed34b6ffc4803123308457dc27 100644 --- a/packages/effect-codex-app-server/src/_generated/namespaces.gen.ts +++ b/packages/effect-codex-app-server/src/_generated/namespaces.gen.ts @@ -1,5 +1,5 @@ // This file is generated by the effect-codex-app-server package. Do not edit manually. -// Upstream protocol ref: 678157acaa819d5510adfe359abb5d0392cfe461 +// Upstream protocol ref: fe74a774532af67b5a4a3dec03ce9469e17f89af import * as CodexSchema from "./schema.gen.ts"; @@ -20,6 +20,7 @@ export const v2 = { AppsListResponse: CodexSchema.V2AppsListResponse, AppsReadParams: CodexSchema.V2AppsReadParams, AppsReadResponse: CodexSchema.V2AppsReadResponse, + AuthRecoveryNotification: CodexSchema.V2AuthRecoveryNotification, CancelLoginAccountParams: CodexSchema.V2CancelLoginAccountParams, CancelLoginAccountResponse: CodexSchema.V2CancelLoginAccountResponse, CommandExecOutputDeltaNotification: CodexSchema.V2CommandExecOutputDeltaNotification, @@ -56,6 +57,10 @@ export const v2 = { CodexSchema.V2ExternalAgentConfigImportCompletedNotification, ExternalAgentConfigImportHistoriesReadResponse: CodexSchema.V2ExternalAgentConfigImportHistoriesReadResponse, + ExternalAgentConfigImportHistoryRecordParams: + CodexSchema.V2ExternalAgentConfigImportHistoryRecordParams, + ExternalAgentConfigImportHistoryRecordResponse: + CodexSchema.V2ExternalAgentConfigImportHistoryRecordResponse, ExternalAgentConfigImportParams: CodexSchema.V2ExternalAgentConfigImportParams, ExternalAgentConfigImportProgressNotification: CodexSchema.V2ExternalAgentConfigImportProgressNotification, @@ -112,6 +117,7 @@ export const v2 = { MarketplaceUpgradeResponse: CodexSchema.V2MarketplaceUpgradeResponse, McpResourceReadParams: CodexSchema.V2McpResourceReadParams, McpResourceReadResponse: CodexSchema.V2McpResourceReadResponse, + McpServerEventStreamNotification: CodexSchema.V2McpServerEventStreamNotification, McpServerOauthLoginCompletedNotification: CodexSchema.V2McpServerOauthLoginCompletedNotification, McpServerOauthLoginParams: CodexSchema.V2McpServerOauthLoginParams, McpServerOauthLoginResponse: CodexSchema.V2McpServerOauthLoginResponse, @@ -127,6 +133,8 @@ export const v2 = { ModelReroutedNotification: CodexSchema.V2ModelReroutedNotification, ModelSafetyBufferingUpdatedNotification: CodexSchema.V2ModelSafetyBufferingUpdatedNotification, ModelVerificationNotification: CodexSchema.V2ModelVerificationNotification, + NullableGetAccountRateLimitsParams: CodexSchema.V2NullableGetAccountRateLimitsParams, + NullableGetAccountTokenUsageParams: CodexSchema.V2NullableGetAccountTokenUsageParams, PermissionProfileListParams: CodexSchema.V2PermissionProfileListParams, PermissionProfileListResponse: CodexSchema.V2PermissionProfileListResponse, PlanDeltaNotification: CodexSchema.V2PlanDeltaNotification, @@ -138,6 +146,8 @@ export const v2 = { PluginListResponse: CodexSchema.V2PluginListResponse, PluginReadParams: CodexSchema.V2PluginReadParams, PluginReadResponse: CodexSchema.V2PluginReadResponse, + PluginReconcileParams: CodexSchema.V2PluginReconcileParams, + PluginReconcileResponse: CodexSchema.V2PluginReconcileResponse, PluginShareCheckoutParams: CodexSchema.V2PluginShareCheckoutParams, PluginShareCheckoutResponse: CodexSchema.V2PluginShareCheckoutResponse, PluginShareDeleteParams: CodexSchema.V2PluginShareDeleteParams, @@ -154,6 +164,7 @@ export const v2 = { PluginUninstallResponse: CodexSchema.V2PluginUninstallResponse, ProcessExitedNotification: CodexSchema.V2ProcessExitedNotification, ProcessOutputDeltaNotification: CodexSchema.V2ProcessOutputDeltaNotification, + ProjectChangedNotification: CodexSchema.V2ProjectChangedNotification, RawResponseCompletedNotification: CodexSchema.V2RawResponseCompletedNotification, RawResponseItemCompletedNotification: CodexSchema.V2RawResponseItemCompletedNotification, ReasoningSummaryPartAddedNotification: CodexSchema.V2ReasoningSummaryPartAddedNotification, @@ -172,6 +183,7 @@ export const v2 = { SkillsExtraRootsSetResponse: CodexSchema.V2SkillsExtraRootsSetResponse, SkillsListParams: CodexSchema.V2SkillsListParams, SkillsListResponse: CodexSchema.V2SkillsListResponse, + StrictReviewRequiredNotification: CodexSchema.V2StrictReviewRequiredNotification, TerminalInteractionNotification: CodexSchema.V2TerminalInteractionNotification, ThreadApproveGuardianDeniedActionParams: CodexSchema.V2ThreadApproveGuardianDeniedActionParams, ThreadApproveGuardianDeniedActionResponse: @@ -179,6 +191,13 @@ export const v2 = { ThreadArchivedNotification: CodexSchema.V2ThreadArchivedNotification, ThreadArchiveParams: CodexSchema.V2ThreadArchiveParams, ThreadArchiveResponse: CodexSchema.V2ThreadArchiveResponse, + ThreadAttachmentAddParams: CodexSchema.V2ThreadAttachmentAddParams, + ThreadAttachmentAddResponse: CodexSchema.V2ThreadAttachmentAddResponse, + ThreadAttachmentListParams: CodexSchema.V2ThreadAttachmentListParams, + ThreadAttachmentListResponse: CodexSchema.V2ThreadAttachmentListResponse, + ThreadAttachmentRemoveParams: CodexSchema.V2ThreadAttachmentRemoveParams, + ThreadAttachmentRemoveResponse: CodexSchema.V2ThreadAttachmentRemoveResponse, + ThreadAttachmentUpdatedNotification: CodexSchema.V2ThreadAttachmentUpdatedNotification, ThreadClosedNotification: CodexSchema.V2ThreadClosedNotification, ThreadCompactStartParams: CodexSchema.V2ThreadCompactStartParams, ThreadCompactStartResponse: CodexSchema.V2ThreadCompactStartResponse, @@ -197,6 +216,8 @@ export const v2 = { ThreadGoalUpdatedNotification: CodexSchema.V2ThreadGoalUpdatedNotification, ThreadInjectItemsParams: CodexSchema.V2ThreadInjectItemsParams, ThreadInjectItemsResponse: CodexSchema.V2ThreadInjectItemsResponse, + ThreadItemsListParams: CodexSchema.V2ThreadItemsListParams, + ThreadItemsListResponse: CodexSchema.V2ThreadItemsListResponse, ThreadListParams: CodexSchema.V2ThreadListParams, ThreadListResponse: CodexSchema.V2ThreadListResponse, ThreadLoadedListParams: CodexSchema.V2ThreadLoadedListParams, @@ -204,11 +225,17 @@ export const v2 = { ThreadMetadataUpdateParams: CodexSchema.V2ThreadMetadataUpdateParams, ThreadMetadataUpdateResponse: CodexSchema.V2ThreadMetadataUpdateResponse, ThreadNameUpdatedNotification: CodexSchema.V2ThreadNameUpdatedNotification, + ThreadProjectUpdatedNotification: CodexSchema.V2ThreadProjectUpdatedNotification, + ThreadQueueChangedNotification: CodexSchema.V2ThreadQueueChangedNotification, ThreadReadParams: CodexSchema.V2ThreadReadParams, ThreadReadResponse: CodexSchema.V2ThreadReadResponse, ThreadRealtimeClosedNotification: CodexSchema.V2ThreadRealtimeClosedNotification, ThreadRealtimeErrorNotification: CodexSchema.V2ThreadRealtimeErrorNotification, ThreadRealtimeItemAddedNotification: CodexSchema.V2ThreadRealtimeItemAddedNotification, + ThreadRealtimeItemCompletedNotification: CodexSchema.V2ThreadRealtimeItemCompletedNotification, + ThreadRealtimeItemStartedNotification: CodexSchema.V2ThreadRealtimeItemStartedNotification, + ThreadRealtimeItemTranscriptDeltaNotification: + CodexSchema.V2ThreadRealtimeItemTranscriptDeltaNotification, ThreadRealtimeOutputAudioDeltaNotification: CodexSchema.V2ThreadRealtimeOutputAudioDeltaNotification, ThreadRealtimeSdpNotification: CodexSchema.V2ThreadRealtimeSdpNotification, @@ -218,8 +245,19 @@ export const v2 = { ThreadRealtimeTranscriptDoneNotification: CodexSchema.V2ThreadRealtimeTranscriptDoneNotification, ThreadResumeParams: CodexSchema.V2ThreadResumeParams, ThreadResumeResponse: CodexSchema.V2ThreadResumeResponse, - ThreadRollbackParams: CodexSchema.V2ThreadRollbackParams, - ThreadRollbackResponse: CodexSchema.V2ThreadRollbackResponse, + ThreadRevertedNotification: CodexSchema.V2ThreadRevertedNotification, + ThreadRevertParams: CodexSchema.V2ThreadRevertParams, + ThreadRevertResponse: CodexSchema.V2ThreadRevertResponse, + ThreadSectionCreateParams: CodexSchema.V2ThreadSectionCreateParams, + ThreadSectionCreateResponse: CodexSchema.V2ThreadSectionCreateResponse, + ThreadSectionDeleteParams: CodexSchema.V2ThreadSectionDeleteParams, + ThreadSectionDeleteResponse: CodexSchema.V2ThreadSectionDeleteResponse, + ThreadSectionListParams: CodexSchema.V2ThreadSectionListParams, + ThreadSectionListResponse: CodexSchema.V2ThreadSectionListResponse, + ThreadSectionMoveParams: CodexSchema.V2ThreadSectionMoveParams, + ThreadSectionMoveResponse: CodexSchema.V2ThreadSectionMoveResponse, + ThreadSectionUpdateParams: CodexSchema.V2ThreadSectionUpdateParams, + ThreadSectionUpdateResponse: CodexSchema.V2ThreadSectionUpdateResponse, ThreadSetNameParams: CodexSchema.V2ThreadSetNameParams, ThreadSetNameResponse: CodexSchema.V2ThreadSetNameResponse, ThreadSettingsUpdatedNotification: CodexSchema.V2ThreadSettingsUpdatedNotification, @@ -230,6 +268,8 @@ export const v2 = { ThreadStartResponse: CodexSchema.V2ThreadStartResponse, ThreadStatusChangedNotification: CodexSchema.V2ThreadStatusChangedNotification, ThreadTokenUsageUpdatedNotification: CodexSchema.V2ThreadTokenUsageUpdatedNotification, + ThreadTurnsListParams: CodexSchema.V2ThreadTurnsListParams, + ThreadTurnsListResponse: CodexSchema.V2ThreadTurnsListResponse, ThreadUnarchivedNotification: CodexSchema.V2ThreadUnarchivedNotification, ThreadUnarchiveParams: CodexSchema.V2ThreadUnarchiveParams, ThreadUnarchiveResponse: CodexSchema.V2ThreadUnarchiveResponse, diff --git a/packages/effect-codex-app-server/src/_generated/schema.gen.ts b/packages/effect-codex-app-server/src/_generated/schema.gen.ts index 1c33e03ed2aa893a93acab82d4e6f2b9d9b78aaa..9bc7b1ec1e9edbd4d95f76e94b3aaebc648e61a6 100644 --- a/packages/effect-codex-app-server/src/_generated/schema.gen.ts +++ b/packages/effect-codex-app-server/src/_generated/schema.gen.ts @@ -1,5 +1,5 @@ // This file is generated by the effect-codex-app-server package. Do not edit manually. -// Upstream protocol ref: 678157acaa819d5510adfe359abb5d0392cfe461 +// Upstream protocol ref: fe74a774532af67b5a4a3dec03ce9469e17f89af import * as Schema from "effect/Schema"; @@ -57,6 +57,7 @@ export const ClientRequest__RequestId = Schema.Union([ export type ClientRequest__InitializeCapabilities = { readonly experimentalApi?: boolean; + readonly extensions?: { readonly [x: string]: Schema.Json } | null; readonly mcpServerOpenaiFormElicitation?: boolean; readonly optOutNotificationMethods?: ReadonlyArray | null; readonly requestAttestation?: boolean; @@ -68,9 +69,18 @@ export const ClientRequest__InitializeCapabilities = Schema.Struct({ default: false, }), ), + extensions: Schema.optionalKey( + Schema.Union([ + Schema.Record(Schema.String, Schema.Json.annotate({ expected: "JSON value" })).annotate({ + description: "MCP extension settings declared by the app-server client.", + }), + Schema.Null, + ]), + ), mcpServerOpenaiFormElicitation: Schema.optionalKey( Schema.Boolean.annotate({ - description: "Allow downstream MCP servers to request OpenAI extended form elicitations.", + description: + "Legacy opt-in for the `openai/form` MCP extension.\n\nNew clients should declare `openai/form` in [`Self::extensions`].", }), ), optOutNotificationMethods: Schema.optionalKey( @@ -149,7 +159,10 @@ export const ClientRequest__Personality = Schema.Literals([ "none", "friendly", "pragmatic", -]).annotate({ identifier: "ClientRequest__Personality" }); +]).annotate({ + description: "Deprecated: `friendly` and `pragmatic` no longer select a style.", + identifier: "ClientRequest__Personality", +}); export type ClientRequest__SandboxMode = "read-only" | "workspace-write" | "danger-full-access"; export const ClientRequest__SandboxMode = Schema.Literals([ @@ -253,6 +266,89 @@ export const ClientRequest__ThreadMetadataGitInfoUpdateParams = Schema.Struct({ ), }).annotate({ identifier: "ClientRequest__ThreadMetadataGitInfoUpdateParams" }); +export type ClientRequest__ThreadAttachmentAddParams = { + readonly attachmentType: string; + readonly identityKey: string; + readonly payload: Schema.Json; + readonly threadId: string; +}; +export const ClientRequest__ThreadAttachmentAddParams = Schema.Struct({ + attachmentType: Schema.String, + identityKey: Schema.String, + payload: Schema.Json.annotate({ expected: "JSON value" }), + threadId: Schema.String, +}).annotate({ + description: "Parameters for creating or locating an attachment on its owning thread.", + identifier: "ClientRequest__ThreadAttachmentAddParams", +}); + +export type ClientRequest__ThreadAttachmentListParams = { + readonly cursor?: string | null; + readonly limit?: number | null; + readonly threadId: string; +}; +export const ClientRequest__ThreadAttachmentListParams = Schema.Struct({ + cursor: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + limit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + threadId: Schema.String, +}).annotate({ + description: "Parameters for listing attachments from one thread.", + identifier: "ClientRequest__ThreadAttachmentListParams", +}); + +export type ClientRequest__ThreadAttachmentRemoveParams = { + readonly attachmentType: string; + readonly identityKey: string; + readonly threadId: string; +}; +export const ClientRequest__ThreadAttachmentRemoveParams = Schema.Struct({ + attachmentType: Schema.String, + identityKey: Schema.String, + threadId: Schema.String, +}).annotate({ + description: "Parameters for deleting an attachment by its stable thread-local identity.", + identifier: "ClientRequest__ThreadAttachmentRemoveParams", +}); + +export type ClientRequest__ThreadSectionMoveParams = { + readonly beforeThreadId?: string | null; + readonly sectionId: string | null; + readonly threadId: string; +}; +export const ClientRequest__ThreadSectionMoveParams = Schema.Struct({ + beforeThreadId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Existing thread to insert before; omission or null appends to the section.", + }), + Schema.Null, + ]), + ), + sectionId: Schema.Union([ + Schema.String.annotate({ + description: "Destination section, or `null` to remove the thread from its section.", + }), + Schema.Null, + ]), + threadId: Schema.String.annotate({ + description: "Thread to move into, within, or out of a section.", + }), +}).annotate({ + description: "Parameters for moving a thread within a server-owned section ordering.", + identifier: "ClientRequest__ThreadSectionMoveParams", +}); + export type ClientRequest__ThreadUnarchiveParams = { readonly threadId: string }; export const ClientRequest__ThreadUnarchiveParams = Schema.Struct({ threadId: Schema.String, @@ -266,6 +362,7 @@ export const ClientRequest__ThreadCompactStartParams = Schema.Struct({ export type ClientRequest__ThreadShellCommandParams = { readonly command: string; readonly threadId: string; + readonly timeoutMs?: number | null; }; export const ClientRequest__ThreadShellCommandParams = Schema.Struct({ command: Schema.String.annotate({ @@ -273,6 +370,16 @@ export const ClientRequest__ThreadShellCommandParams = Schema.Struct({ "Shell command string evaluated by the thread's configured shell. Unlike `command/exec`, this intentionally preserves shell syntax such as pipes, redirects, and quoting. This runs unsandboxed with full access rather than inheriting the thread sandbox policy.", }), threadId: Schema.String, + timeoutMs: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Maximum execution time in milliseconds. Defaults to one hour when omitted or null. Must be non-negative; zero requests an immediate timeout, not unlimited execution. Does not affect the immediate RPC acknowledgement.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), }).annotate({ identifier: "ClientRequest__ThreadShellCommandParams" }); export type ClientRequest__ThreadApproveGuardianDeniedActionParams = { @@ -287,24 +394,19 @@ export const ClientRequest__ThreadApproveGuardianDeniedActionParams = Schema.Str threadId: Schema.String, }).annotate({ identifier: "ClientRequest__ThreadApproveGuardianDeniedActionParams" }); -export type ClientRequest__ThreadRollbackParams = { - readonly numTurns: number; +export type ClientRequest__ThreadRevertParams = { + readonly beforeTurnId: string; readonly threadId: string; }; -export const ClientRequest__ThreadRollbackParams = Schema.Struct({ - numTurns: Schema.Number.annotate({ - description: - "The number of turns to drop from the end of the thread. Must be >= 1.\n\nThis only modifies the thread's history and does not revert local file changes that have been made by the agent. Clients are responsible for reverting these changes.", - format: "uint32", - }) - .check(Schema.isInt().annotate({ expected: "an integer" })) - .check( - Schema.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }), - ), +export const ClientRequest__ThreadRevertParams = Schema.Struct({ + beforeTurnId: Schema.String.annotate({ + description: "Turn excluded from the replacement history, together with every later turn.", + }), threadId: Schema.String, }).annotate({ - description: "DEPRECATED: `thread/rollback` will be removed soon.", - identifier: "ClientRequest__ThreadRollbackParams", + description: + "Replace a paginated thread's durable history with the prefix before one turn.\n\nThis only changes persisted conversation history. It does not revert local file changes.", + identifier: "ClientRequest__ThreadRevertParams", }); export type ClientRequest__ThreadListCwdFilter = string | ReadonlyArray; @@ -318,11 +420,16 @@ export const ClientRequest__SortDirection = Schema.Literals(["asc", "desc"]).ann identifier: "ClientRequest__SortDirection", }); -export type ClientRequest__ThreadSortKey = "created_at" | "updated_at" | "recency_at"; +export type ClientRequest__ThreadSortKey = + | "created_at" + | "updated_at" + | "recency_at" + | "section_position"; export const ClientRequest__ThreadSortKey = Schema.Literals([ "created_at", "updated_at", "recency_at", + "section_position", ]).annotate({ identifier: "ClientRequest__ThreadSortKey" }); export type ClientRequest__ThreadSourceKind = @@ -349,6 +456,61 @@ export const ClientRequest__ThreadSourceKind = Schema.Literals([ "unknown", ]).annotate({ identifier: "ClientRequest__ThreadSourceKind" }); +export type ClientRequest__ThreadSectionListParams = { + readonly cursor?: string | null; + readonly limit?: number | null; +}; +export const ClientRequest__ThreadSectionListParams = Schema.Struct({ + cursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Opaque pagination cursor returned by a previous call.", + }), + Schema.Null, + ]), + ), + limit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Maximum number of sections to return.", + format: "uint32", + }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), +}).annotate({ + description: "Parameters for listing independently persisted thread sections.", + identifier: "ClientRequest__ThreadSectionListParams", +}); + +export type ClientRequest__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const ClientRequest__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "ClientRequest__ThreadSectionAppearance", +}); + +export type ClientRequest__ThreadSectionDeleteParams = { readonly sectionId: string }; +export const ClientRequest__ThreadSectionDeleteParams = Schema.Struct({ + sectionId: Schema.String.annotate({ + description: "The stable, server-generated identity of the section to delete.", + }), +}).annotate({ + description: "Parameters for deleting an independently persisted thread section.", + identifier: "ClientRequest__ThreadSectionDeleteParams", +}); + export type ClientRequest__ThreadLoadedListParams = { readonly cursor?: string | null; readonly limit?: number | null; @@ -386,12 +548,30 @@ export type ClientRequest__ThreadReadParams = { export const ClientRequest__ThreadReadParams = Schema.Struct({ includeTurns: Schema.optionalKey( Schema.Boolean.annotate({ - description: "When true, include turns and their items from rollout history.", + description: + "When true, include turns and their items from rollout history. Full-history hydration is deprecated for paginated threads; prefer a metadata-only read and page with `thread/turns/list` and `thread/items/list`.", }), ), threadId: Schema.String, }).annotate({ identifier: "ClientRequest__ThreadReadParams" }); +export type ClientRequest__TurnItemsView = "notLoaded" | "summary" | "full"; +export const ClientRequest__TurnItemsView = Schema.Union( + [ + Schema.Literal("notLoaded").annotate({ + description: "`items` was not loaded for this turn. The field is intentionally empty.", + }), + Schema.Literal("summary").annotate({ + description: "`items` contains only a display summary for this turn.", + }), + Schema.Literal("full").annotate({ + description: + "`items` contains every ThreadItem available from persisted app-server history for this turn.", + }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "ClientRequest__TurnItemsView" }); + export type ClientRequest__ThreadInjectItemsParams = { readonly items: ReadonlyArray; readonly threadId: string; @@ -471,6 +651,18 @@ export const ClientRequest__PluginListMarketplaceKind = Schema.Literals([ "created-by-me-remote", ]).annotate({ identifier: "ClientRequest__PluginListMarketplaceKind" }); +export type ClientRequest__PluginReconcileParams = { readonly reason?: string | null }; +export const ClientRequest__PluginReconcileParams = Schema.Struct({ + reason: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Optional client-provided reason recorded with the reconciliation attempt.", + }), + Schema.Null, + ]), + ), +}).annotate({ identifier: "ClientRequest__PluginReconcileParams" }); + export type ClientRequest__PluginSkillReadParams = { readonly remoteMarketplaceName: string; readonly remotePluginId: string; @@ -527,6 +719,7 @@ export const ClientRequest__PluginShareDeleteParams = Schema.Struct({ export type ClientRequest__AppsReadParams = { readonly appIds: ReadonlyArray; readonly includeTools?: boolean; + readonly threadId?: string | null; }; export const ClientRequest__AppsReadParams = Schema.Struct({ appIds: Schema.Array(Schema.String).annotate({ @@ -539,6 +732,14 @@ export const ClientRequest__AppsReadParams = Schema.Struct({ "When true, include display-only public tool summaries in the returned metadata.", }), ), + threadId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Optional loaded thread id used to evaluate effective app configuration.", + }), + Schema.Null, + ]), + ), }).annotate({ description: "EXPERIMENTAL - read metadata for specific apps/connectors.", identifier: "ClientRequest__AppsReadParams", @@ -880,25 +1081,12 @@ export const ClientRequest__ExperimentalFeatureEnablementSetParams = Schema.Stru }), }).annotate({ identifier: "ClientRequest__ExperimentalFeatureEnablementSetParams" }); -export type ClientRequest__McpServerOauthLoginParams = { - readonly name: string; - readonly scopes?: ReadonlyArray | null; - readonly threadId?: string | null; - readonly timeoutSecs?: number | null; -}; -export const ClientRequest__McpServerOauthLoginParams = Schema.Struct({ - name: Schema.String, - scopes: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - threadId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - timeoutSecs: Schema.optionalKey( - Schema.Union([ - Schema.Number.annotate({ format: "int64" }).check( - Schema.isInt().annotate({ expected: "an integer" }), - ), - Schema.Null, - ]), - ), -}).annotate({ identifier: "ClientRequest__McpServerOauthLoginParams" }); +export type ClientRequest__McpServerOauthClientRegistration = "auto" | "cimd" | "dcr"; +export const ClientRequest__McpServerOauthClientRegistration = Schema.Literals([ + "auto", + "cimd", + "dcr", +]).annotate({ identifier: "ClientRequest__McpServerOauthClientRegistration" }); export type ClientRequest__McpServerStatusDetail = "full" | "toolsAndAuthOnly"; export const ClientRequest__McpServerStatusDetail = Schema.Literals([ @@ -907,11 +1095,22 @@ export const ClientRequest__McpServerStatusDetail = Schema.Literals([ ]).annotate({ identifier: "ClientRequest__McpServerStatusDetail" }); export type ClientRequest__McpResourceReadParams = { + readonly connectorId?: string | null; + readonly originCallId?: string | null; readonly server: string; readonly threadId?: string | null; readonly uri: string; }; export const ClientRequest__McpResourceReadParams = Schema.Struct({ + connectorId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + originCallId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Originating MCP tool call used to select the resource's app.", + }), + Schema.Null, + ]), + ), server: Schema.String, threadId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), uri: Schema.String, @@ -948,6 +1147,29 @@ export const ClientRequest__CancelLoginAccountParams = Schema.Struct({ loginId: Schema.String, }).annotate({ identifier: "ClientRequest__CancelLoginAccountParams" }); +export type ClientRequest__GetAccountRateLimitsParams = { + readonly excludeResetCreditDetails?: boolean; + readonly supportsLunaReserve?: boolean; +}; +export const ClientRequest__GetAccountRateLimitsParams = Schema.Struct({ + excludeResetCreditDetails: Schema.optionalKey( + Schema.Boolean.annotate({ + description: + "Skip the separate reset-credit detail lookup for background usage polls. The usage response still includes the available count; omitted/false preserves detailed reads.", + }), + ), + supportsLunaReserve: Schema.optionalKey( + Schema.Boolean.annotate({ + description: + "The client supports automatic Luna Reserve fallback. For eligible ChatGPT CLI users, allow the backend to record experiment exposure after ordinary usage is blocked.", + }), + ), +}).annotate({ + description: + "Usage-read capabilities of the requesting client, never inferred from its experiment arm.", + identifier: "ClientRequest__GetAccountRateLimitsParams", +}); + export type ClientRequest__ConsumeAccountRateLimitResetCreditParams = { readonly creditId?: string | null; readonly idempotencyKey: string; @@ -968,6 +1190,19 @@ export const ClientRequest__ConsumeAccountRateLimitResetCreditParams = Schema.St }), }).annotate({ identifier: "ClientRequest__ConsumeAccountRateLimitResetCreditParams" }); +export type ClientRequest__GetAccountTokenUsageParams = { readonly threadId?: string | null }; +export const ClientRequest__GetAccountTokenUsageParams = Schema.Struct({ + threadId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "When present, read estimated usage for this thread instead of account-wide token activity.", + }), + Schema.Null, + ]), + ), +}).annotate({ identifier: "ClientRequest__GetAccountTokenUsageParams" }); + export type ClientRequest__AddCreditsNudgeCreditType = "credits" | "usage_limit"; export const ClientRequest__AddCreditsNudgeCreditType = Schema.Literals([ "credits", @@ -1076,6 +1311,8 @@ export const ClientRequest__ConfigReadParams = Schema.Struct({ export type ClientRequest__ExternalAgentConfigDetectParams = { readonly cwds?: ReadonlyArray | null; readonly includeHome?: boolean; + readonly maxSessionAgeDays?: number | null; + readonly maxSessions?: number | null; readonly migrationSource?: string | null; readonly source?: string | null; }; @@ -1093,6 +1330,37 @@ export const ClientRequest__ExternalAgentConfigDetectParams = Schema.Struct({ description: "If true, include detection under the user's home directory.", }), ), + maxSessionAgeDays: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Maximum age in days for detected sessions. Missing values use the default limit.", + format: "uint32", + }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + maxSessions: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Maximum number of sessions to detect. Missing values use the default limit.", + format: "uint32", + }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), migrationSource: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -1440,40 +1708,27 @@ export const ClientRequest__ConversationTextRole = Schema.Literals([ "assistant", ]).annotate({ identifier: "ClientRequest__ConversationTextRole" }); -export type ClientRequest__TurnItemsView = "notLoaded" | "summary" | "full"; -export const ClientRequest__TurnItemsView = Schema.Union( - [ - Schema.Literal("notLoaded").annotate({ - description: "`items` was not loaded for this turn. The field is intentionally empty.", - }), - Schema.Literal("summary").annotate({ - description: "`items` contains only a display summary for this turn.", - }), - Schema.Literal("full").annotate({ - description: - "`items` contains every ThreadItem available from persisted app-server history for this turn.", - }), - ], - { mode: "oneOf" }, -).annotate({ identifier: "ClientRequest__TurnItemsView" }); - export type ClientRequest__LegacyAppPathString = string; export const ClientRequest__LegacyAppPathString = Schema.String.annotate({ identifier: "ClientRequest__LegacyAppPathString", }); -export type CommandExecutionRequestApprovalParams__AbsolutePathBuf = string; -export const CommandExecutionRequestApprovalParams__AbsolutePathBuf = Schema.String.annotate({ - description: - "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - identifier: "CommandExecutionRequestApprovalParams__AbsolutePathBuf", -}); - export type CommandExecutionRequestApprovalParams__LegacyAppPathString = string; export const CommandExecutionRequestApprovalParams__LegacyAppPathString = Schema.String.annotate({ identifier: "CommandExecutionRequestApprovalParams__LegacyAppPathString", }); +export type CommandExecutionRequestApprovalParams__CommandExecutionApprovalKind = + | "command" + | "writeStdin"; +export const CommandExecutionRequestApprovalParams__CommandExecutionApprovalKind = Schema.Literals([ + "command", + "writeStdin", +]).annotate({ + description: "Distinguishes a command approval from input sent to an existing terminal.", + identifier: "CommandExecutionRequestApprovalParams__CommandExecutionApprovalKind", +}); + export type CommandExecutionRequestApprovalParams__NetworkApprovalProtocol = | "http" | "https" @@ -1772,25 +2027,18 @@ export const McpServerElicitationRequestResponse__McpServerElicitationAction = S "cancel", ]).annotate({ identifier: "McpServerElicitationRequestResponse__McpServerElicitationAction" }); -export type PermissionsRequestApprovalParams__AbsolutePathBuf = string; -export const PermissionsRequestApprovalParams__AbsolutePathBuf = Schema.String.annotate({ - description: - "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - identifier: "PermissionsRequestApprovalParams__AbsolutePathBuf", -}); - -export type PermissionsRequestApprovalParams__FileSystemAccessMode = "read" | "write" | "deny"; -export const PermissionsRequestApprovalParams__FileSystemAccessMode = Schema.Literals([ - "read", - "write", - "deny", -]).annotate({ identifier: "PermissionsRequestApprovalParams__FileSystemAccessMode" }); - export type PermissionsRequestApprovalParams__LegacyAppPathString = string; export const PermissionsRequestApprovalParams__LegacyAppPathString = Schema.String.annotate({ identifier: "PermissionsRequestApprovalParams__LegacyAppPathString", }); +export type PermissionsRequestApprovalParams__FileSystemAccessMode = "read" | "write" | "deny"; +export const PermissionsRequestApprovalParams__FileSystemAccessMode = Schema.Literals([ + "read", + "write", + "deny", +]).annotate({ identifier: "PermissionsRequestApprovalParams__FileSystemAccessMode" }); + export type PermissionsRequestApprovalParams__AdditionalNetworkPermissions = { readonly enabled?: boolean | null; }; @@ -1829,6 +2077,11 @@ export const ServerNotification__NonSteerableTurnKind = Schema.Literals([ "compact", ]).annotate({ identifier: "ServerNotification__NonSteerableTurnKind" }); +export type ServerNotification__MisalignmentSteer = { readonly message: string }; +export const ServerNotification__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "ServerNotification__MisalignmentSteer" }); + export type ServerNotification__AbsolutePathBuf = string; export const ServerNotification__AbsolutePathBuf = Schema.String.annotate({ description: @@ -1847,6 +2100,34 @@ export const ServerNotification__GitInfo = Schema.Struct({ sha: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "ServerNotification__GitInfo" }); +export type ServerNotification__ThreadHistoryMode = "legacy" | "paginated"; +export const ServerNotification__ThreadHistoryMode = Schema.Literals([ + "legacy", + "paginated", +]).annotate({ identifier: "ServerNotification__ThreadHistoryMode" }); + +export type ServerNotification__ReasoningEffort = string; +export const ServerNotification__ReasoningEffort = Schema.String.annotate({ + description: "A non-empty reasoning effort value advertised by the model.", +}).check( + Schema.isMinLength(1).annotate({ + expected: "a value with a length of at least 1", + identifier: "ServerNotification__ReasoningEffort", + }), +); + +export type ServerNotification__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const ServerNotification__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "ServerNotification__ThreadSectionAppearance", +}); + export type ServerNotification__AgentPath = string; export const ServerNotification__AgentPath = Schema.String.annotate({ identifier: "ServerNotification__AgentPath", @@ -1899,6 +2180,11 @@ export const ServerNotification__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "ServerNotification__HookPromptFragment" }); +export type ServerNotification__AgentMessageDelivery = "async"; +export const ServerNotification__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "ServerNotification__AgentMessageDelivery", +}); + export type ServerNotification__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -1938,6 +2224,15 @@ export const ServerNotification__MessagePhase = Schema.Union( identifier: "ServerNotification__MessagePhase", }); +export type ServerNotification__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const ServerNotification__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "ServerNotification__AsyncUserInputQuestion" }); + export type ServerNotification__LegacyAppPathString = string; export const ServerNotification__LegacyAppPathString = Schema.String.annotate({ identifier: "ServerNotification__LegacyAppPathString", @@ -2019,6 +2314,12 @@ export const ServerNotification__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "ServerNotification__McpToolCallError" }); +export type ServerNotification__McpAppDisplayMode = "inline" | "fullscreen"; +export const ServerNotification__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "ServerNotification__McpAppDisplayMode" }); + export type ServerNotification__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -2090,16 +2391,6 @@ export const ServerNotification__CollabAgentStatus = Schema.Literals([ "notFound", ]).annotate({ identifier: "ServerNotification__CollabAgentStatus" }); -export type ServerNotification__ReasoningEffort = string; -export const ServerNotification__ReasoningEffort = Schema.String.annotate({ - description: "A non-empty reasoning effort value advertised by the model.", -}).check( - Schema.isMinLength(1).annotate({ - expected: "a value with a length of at least 1", - identifier: "ServerNotification__ReasoningEffort", - }), -); - export type ServerNotification__CollabAgentToolCallStatus = | "inProgress" | "completed" @@ -2178,6 +2469,31 @@ export const ServerNotification__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "ServerNotification__WebSearchAction" }); +export type ServerNotification__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const ServerNotification__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "ServerNotification__ImageGenerationFailure" }); + export type ServerNotification__TurnItemsView = "notLoaded" | "summary" | "full"; export const ServerNotification__TurnItemsView = Schema.Union( [ @@ -2223,6 +2539,11 @@ export const ServerNotification__ThreadClosedNotification = Schema.Struct({ threadId: Schema.String, }).annotate({ identifier: "ServerNotification__ThreadClosedNotification" }); +export type ServerNotification__ThreadRevertedNotification = { readonly threadId: string }; +export const ServerNotification__ThreadRevertedNotification = Schema.Struct({ + threadId: Schema.String, +}).annotate({ identifier: "ServerNotification__ThreadRevertedNotification" }); + export type ServerNotification__SkillsChangedNotification = { readonly [x: string]: Schema.Json }; export const ServerNotification__SkillsChangedNotification = Schema.Record( Schema.String, @@ -2242,6 +2563,15 @@ export const ServerNotification__ThreadNameUpdatedNotification = Schema.Struct({ threadName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "ServerNotification__ThreadNameUpdatedNotification" }); +export type ServerNotification__ThreadAttachmentOperation = "created" | "deleted"; +export const ServerNotification__ThreadAttachmentOperation = Schema.Literals([ + "created", + "deleted", +]).annotate({ + description: "The persisted attachment change represented by a notification.", + identifier: "ServerNotification__ThreadAttachmentOperation", +}); + export type ServerNotification__ThreadGoalStatus = | "active" | "paused" @@ -2263,6 +2593,27 @@ export const ServerNotification__ThreadGoalClearedNotification = Schema.Struct({ threadId: Schema.String, }).annotate({ identifier: "ServerNotification__ThreadGoalClearedNotification" }); +export type ServerNotification__ThreadQueueChangedNotification = { readonly threadId: string }; +export const ServerNotification__ThreadQueueChangedNotification = Schema.Struct({ + threadId: Schema.String, +}).annotate({ identifier: "ServerNotification__ThreadQueueChangedNotification" }); + +export type ServerNotification__ProjectChangeType = "created" | "updated" | "deleted"; +export const ServerNotification__ProjectChangeType = Schema.Literals([ + "created", + "updated", + "deleted", +]).annotate({ identifier: "ServerNotification__ProjectChangeType" }); + +export type ServerNotification__ThreadProjectUpdatedNotification = { + readonly projectId: string | null; + readonly threadId: string; +}; +export const ServerNotification__ThreadProjectUpdatedNotification = Schema.Struct({ + projectId: Schema.Union([Schema.String, Schema.Null]), + threadId: Schema.String, +}).annotate({ identifier: "ServerNotification__ThreadProjectUpdatedNotification" }); + export type ServerNotification__EnvironmentConnectionNotification = { readonly environmentId: string; readonly threadId: string; @@ -2343,7 +2694,10 @@ export const ServerNotification__Personality = Schema.Literals([ "none", "friendly", "pragmatic", -]).annotate({ identifier: "ServerNotification__Personality" }); +]).annotate({ + description: "Deprecated: `friendly` and `pragmatic` no longer select a style.", + identifier: "ServerNotification__Personality", +}); export type ServerNotification__NetworkAccess = "restricted" | "enabled"; export const ServerNotification__NetworkAccess = Schema.Literals([ @@ -2420,7 +2774,8 @@ export type ServerNotification__HookEventName = | "userPromptSubmit" | "subagentStart" | "subagentStop" - | "stop"; + | "stop" + | "interrupt"; export const ServerNotification__HookEventName = Schema.Literals([ "preToolUse", "permissionRequest", @@ -2433,6 +2788,7 @@ export const ServerNotification__HookEventName = Schema.Literals([ "subagentStart", "subagentStop", "stop", + "interrupt", ]).annotate({ identifier: "ServerNotification__HookEventName" }); export type ServerNotification__HookExecutionMode = "sync" | "async"; @@ -2440,9 +2796,10 @@ export const ServerNotification__HookExecutionMode = Schema.Literals(["sync", "a identifier: "ServerNotification__HookExecutionMode", }); -export type ServerNotification__HookHandlerType = "command" | "prompt" | "agent"; +export type ServerNotification__HookHandlerType = "command" | "mcpTool" | "prompt" | "agent"; export const ServerNotification__HookHandlerType = Schema.Literals([ "command", + "mcpTool", "prompt", "agent", ]).annotate({ identifier: "ServerNotification__HookHandlerType" }); @@ -2591,6 +2948,20 @@ export const ServerNotification__AutoReviewDecisionSource = Schema.Literal("agen identifier: "ServerNotification__AutoReviewDecisionSource", }); +export type ServerNotification__StrictReviewRequiredNotification = { + readonly startedAtMs: number; + readonly threadId: string; + readonly turnId: string; +}; +export const ServerNotification__StrictReviewRequiredNotification = Schema.Struct({ + startedAtMs: Schema.Number.annotate({ + description: "Unix timestamp (in milliseconds) when this review started.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + threadId: Schema.String, + turnId: Schema.String, +}).annotate({ identifier: "ServerNotification__StrictReviewRequiredNotification" }); + export type ServerNotification__AgentMessageDeltaNotification = { readonly delta: string; readonly itemId: string; @@ -2781,6 +3152,15 @@ export const ServerNotification__McpServerStartupState = Schema.Literals([ "cancelled", ]).annotate({ identifier: "ServerNotification__McpServerStartupState" }); +export type ServerNotification__McpServerEventNotification = { + readonly method: string; + readonly params: Schema.Json; +}; +export const ServerNotification__McpServerEventNotification = Schema.Struct({ + method: Schema.String, + params: Schema.Json.annotate({ expected: "JSON value" }), +}).annotate({ identifier: "ServerNotification__McpServerEventNotification" }); + export type ServerNotification__AuthMode = | "apikey" | "chatgpt" @@ -2788,7 +3168,8 @@ export type ServerNotification__AuthMode = | "headers" | "agentIdentity" | "personalAccessToken" - | "bedrockApiKey"; + | "bedrockApiKey" + | "bedrockAccessKeys"; export const ServerNotification__AuthMode = Schema.Union( [ Schema.Literal("apikey").annotate({ @@ -2813,6 +3194,9 @@ export const ServerNotification__AuthMode = Schema.Union( Schema.Literal("bedrockApiKey").annotate({ description: "Amazon Bedrock bearer token managed by Codex.", }), + Schema.Literal("bedrockAccessKeys").annotate({ + description: "Amazon Bedrock AWS access keys managed by Codex.", + }), ], { mode: "oneOf" }, ).annotate({ @@ -3070,6 +3454,19 @@ export const ServerNotification__ModelVerification = Schema.Literal( "trustedAccessForCyber", ).annotate({ identifier: "ServerNotification__ModelVerification" }); +export type ServerNotification__AuthRecoveryNotification = { + readonly message: string; + readonly provider: string; + readonly threadId: string; + readonly turnId: string; +}; +export const ServerNotification__AuthRecoveryNotification = Schema.Struct({ + message: Schema.String, + provider: Schema.String, + threadId: Schema.String, + turnId: Schema.String, +}).annotate({ identifier: "ServerNotification__AuthRecoveryNotification" }); + export type ServerNotification__TurnModerationMetadataNotification = { readonly metadata: Schema.Json; readonly threadId: string; @@ -3192,6 +3589,67 @@ export const ServerNotification__ThreadRealtimeItemAddedNotification = Schema.St identifier: "ServerNotification__ThreadRealtimeItemAddedNotification", }); +export type ServerNotification__ThreadRealtimeTranscriptRole = "user" | "assistant"; +export const ServerNotification__ThreadRealtimeTranscriptRole = Schema.Literals([ + "user", + "assistant", +]).annotate({ identifier: "ServerNotification__ThreadRealtimeTranscriptRole" }); + +export type ServerNotification__ThreadRealtimeBemItemPresentation = + | { readonly type: "wholeItem" } + | { readonly type: "inlineMarkdown" } + | { readonly index: number; readonly type: "inlineVisualization" }; +export const ServerNotification__ThreadRealtimeBemItemPresentation = Schema.Union( + [ + Schema.Struct({ + type: Schema.Literal("wholeItem").annotate({ + title: "WholeItemThreadRealtimeBemItemPresentationType", + }), + }).annotate({ title: "WholeItemThreadRealtimeBemItemPresentation" }), + Schema.Struct({ + type: Schema.Literal("inlineMarkdown").annotate({ + title: "InlineMarkdownThreadRealtimeBemItemPresentationType", + }), + }).annotate({ title: "InlineMarkdownThreadRealtimeBemItemPresentation" }), + Schema.Struct({ + index: Schema.Number.annotate({ format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + type: Schema.Literal("inlineVisualization").annotate({ + title: "InlineVisualizationThreadRealtimeBemItemPresentationType", + }), + }).annotate({ title: "InlineVisualizationThreadRealtimeBemItemPresentation" }), + ], + { mode: "oneOf" }, +).annotate({ + description: "EXPERIMENTAL - how an existing agent item appears in a realtime conversation.", + identifier: "ServerNotification__ThreadRealtimeBemItemPresentation", +}); + +export type ServerNotification__ThreadRealtimeSessionOutcome = "ended" | "failed"; +export const ServerNotification__ThreadRealtimeSessionOutcome = Schema.Literals([ + "ended", + "failed", +]).annotate({ identifier: "ServerNotification__ThreadRealtimeSessionOutcome" }); + +export type ServerNotification__ThreadRealtimeItemTranscriptDeltaNotification = { + readonly delta: string; + readonly itemId: string; + readonly threadId: string; +}; +export const ServerNotification__ThreadRealtimeItemTranscriptDeltaNotification = Schema.Struct({ + delta: Schema.String, + itemId: Schema.String, + threadId: Schema.String, +}).annotate({ + description: "EXPERIMENTAL - text appended to an active realtime transcript item.", + identifier: "ServerNotification__ThreadRealtimeItemTranscriptDeltaNotification", +}); + export type ServerNotification__ThreadRealtimeTranscriptDeltaNotification = { readonly delta: string; readonly role: string; @@ -3316,16 +3774,10 @@ export const ServerNotification__WindowsSandboxSetupMode = Schema.Literals([ "unelevated", ]).annotate({ identifier: "ServerNotification__WindowsSandboxSetupMode" }); -export type ServerNotification__AccountLoginCompletedNotification = { - readonly error?: string | null; - readonly loginId?: string | null; - readonly success: boolean; -}; -export const ServerNotification__AccountLoginCompletedNotification = Schema.Struct({ - error: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - loginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - success: Schema.Boolean, -}).annotate({ identifier: "ServerNotification__AccountLoginCompletedNotification" }); +export type ServerNotification__DesktopOnboardingEntrypoint = "life_sciences"; +export const ServerNotification__DesktopOnboardingEntrypoint = Schema.Literal( + "life_sciences", +).annotate({ identifier: "ServerNotification__DesktopOnboardingEntrypoint" }); export type ServerRequest__RequestId = string | number; export const ServerRequest__RequestId = Schema.Union([ @@ -3335,18 +3787,20 @@ export const ServerRequest__RequestId = Schema.Union([ ), ]).annotate({ identifier: "ServerRequest__RequestId" }); -export type ServerRequest__AbsolutePathBuf = string; -export const ServerRequest__AbsolutePathBuf = Schema.String.annotate({ - description: - "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - identifier: "ServerRequest__AbsolutePathBuf", -}); - export type ServerRequest__LegacyAppPathString = string; export const ServerRequest__LegacyAppPathString = Schema.String.annotate({ identifier: "ServerRequest__LegacyAppPathString", }); +export type ServerRequest__CommandExecutionApprovalKind = "command" | "writeStdin"; +export const ServerRequest__CommandExecutionApprovalKind = Schema.Literals([ + "command", + "writeStdin", +]).annotate({ + description: "Distinguishes a command approval from input sent to an existing terminal.", + identifier: "ServerRequest__CommandExecutionApprovalKind", +}); + export type ServerRequest__NetworkApprovalProtocol = "http" | "https" | "socks5Tcp" | "socks5Udp"; export const ServerRequest__NetworkApprovalProtocol = Schema.Literals([ "http", @@ -3587,6 +4041,7 @@ export const ToolRequestUserInputResponse__ToolRequestUserInputAnswer = Schema.S export type V1InitializeParams__InitializeCapabilities = { readonly experimentalApi?: boolean; + readonly extensions?: { readonly [x: string]: Schema.Json } | null; readonly mcpServerOpenaiFormElicitation?: boolean; readonly optOutNotificationMethods?: ReadonlyArray | null; readonly requestAttestation?: boolean; @@ -3598,9 +4053,18 @@ export const V1InitializeParams__InitializeCapabilities = Schema.Struct({ default: false, }), ), + extensions: Schema.optionalKey( + Schema.Union([ + Schema.Record(Schema.String, Schema.Json.annotate({ expected: "JSON value" })).annotate({ + description: "MCP extension settings declared by the app-server client.", + }), + Schema.Null, + ]), + ), mcpServerOpenaiFormElicitation: Schema.optionalKey( Schema.Boolean.annotate({ - description: "Allow downstream MCP servers to request OpenAI extended form elicitations.", + description: + "Legacy opt-in for the `openai/form` MCP extension.\n\nNew clients should declare `openai/form` in [`Self::extensions`].", }), ), optOutNotificationMethods: Schema.optionalKey( @@ -3641,6 +4105,11 @@ export const V1InitializeResponse__AbsolutePathBuf = Schema.String.annotate({ identifier: "V1InitializeResponse__AbsolutePathBuf", }); +export type V2AccountLoginCompletedNotification__DesktopOnboardingEntrypoint = "life_sciences"; +export const V2AccountLoginCompletedNotification__DesktopOnboardingEntrypoint = Schema.Literal( + "life_sciences", +).annotate({ identifier: "V2AccountLoginCompletedNotification__DesktopOnboardingEntrypoint" }); + export type V2AccountRateLimitsUpdatedNotification__CreditsSnapshot = { readonly balance?: string | null; readonly hasCredits: boolean; @@ -3755,7 +4224,8 @@ export type V2AccountUpdatedNotification__AuthMode = | "headers" | "agentIdentity" | "personalAccessToken" - | "bedrockApiKey"; + | "bedrockApiKey" + | "bedrockAccessKeys"; export const V2AccountUpdatedNotification__AuthMode = Schema.Union( [ Schema.Literal("apikey").annotate({ @@ -3780,6 +4250,9 @@ export const V2AccountUpdatedNotification__AuthMode = Schema.Union( Schema.Literal("bedrockApiKey").annotate({ description: "Amazon Bedrock bearer token managed by Codex.", }), + Schema.Literal("bedrockAccessKeys").annotate({ + description: "Amazon Bedrock AWS access keys managed by Codex.", + }), ], { mode: "oneOf" }, ).annotate({ @@ -3929,11 +4402,17 @@ export const V2AppsListResponse__AppBranding = Schema.Struct({ export type V2AppsReadResponse__AppToolSummary = { readonly description: string; + readonly disabledReason?: string | null; + readonly isEnabled?: boolean; + readonly isReadOnly?: boolean; readonly name: string; readonly title?: string | null; }; export const V2AppsReadResponse__AppToolSummary = Schema.Struct({ description: Schema.String, + disabledReason: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + isEnabled: Schema.optionalKey(Schema.Boolean.annotate({ default: true })), + isReadOnly: Schema.optionalKey(Schema.Boolean.annotate({ default: false })), name: Schema.String, title: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ @@ -4080,6 +4559,12 @@ export const V2ConfigReadResponse__ApprovalsReviewer = Schema.Literals([ identifier: "V2ConfigReadResponse__ApprovalsReviewer", }); +export type V2ConfigReadResponse__AllowDenyRequirement = "allow" | "deny"; +export const V2ConfigReadResponse__AllowDenyRequirement = Schema.Literals([ + "allow", + "deny", +]).annotate({ identifier: "V2ConfigReadResponse__AllowDenyRequirement" }); + export type V2ConfigReadResponse__ForcedChatgptWorkspaceIds = string | ReadonlyArray; export const V2ConfigReadResponse__ForcedChatgptWorkspaceIds = Schema.Union([ Schema.String, @@ -4207,6 +4692,34 @@ export const V2ConfigReadResponse__AppToolApproval = Schema.Literals([ "approve", ]).annotate({ identifier: "V2ConfigReadResponse__AppToolApproval" }); +export type V2ConfigReadResponse__AppLinksConfig = { readonly [x: string]: Schema.Json }; +export const V2ConfigReadResponse__AppLinksConfig = Schema.Record( + Schema.String, + Schema.Json.annotate({ expected: "JSON value" }), +).annotate({ + description: "Account settings for a single app.", + identifier: "V2ConfigReadResponse__AppLinksConfig", +}); + +export type V2ConfigReadResponse__ToolExposureSurface = "code_mode" | "deferred" | "direct"; +export const V2ConfigReadResponse__ToolExposureSurface = Schema.Union( + [ + Schema.Literal("code_mode").annotate({ + description: "Nested tools available to Code Mode scripts.", + }), + Schema.Literal("deferred").annotate({ + description: "Tools discovered later through tool search.", + }), + Schema.Literal("direct").annotate({ + description: "Tools present in the model's initial tool list.", + }), + ], + { mode: "oneOf" }, +).annotate({ + description: "A model-facing surface on which a tool can be exposed.", + identifier: "V2ConfigReadResponse__ToolExposureSurface", +}); + export type V2ConfigReadResponse__AppToolsConfig = { readonly [x: string]: Schema.Json }; export const V2ConfigReadResponse__AppToolsConfig = Schema.Record( Schema.String, @@ -4242,6 +4755,12 @@ export const V2ConfigRequirementsReadResponse__AskForApproval = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ConfigRequirementsReadResponse__AskForApproval" }); +export type V2ConfigRequirementsReadResponse__ForcedLoginMethod = "chatgpt" | "api"; +export const V2ConfigRequirementsReadResponse__ForcedLoginMethod = Schema.Literals([ + "chatgpt", + "api", +]).annotate({ identifier: "V2ConfigRequirementsReadResponse__ForcedLoginMethod" }); + export type V2ConfigRequirementsReadResponse__SandboxMode = | "read-only" | "workspace-write" @@ -4264,24 +4783,70 @@ export const V2ConfigRequirementsReadResponse__WebSearchMode = Schema.Literals([ "live", ]).annotate({ identifier: "V2ConfigRequirementsReadResponse__WebSearchMode" }); -export type V2ConfigRequirementsReadResponse__WindowsSandboxSetupMode = "elevated" | "unelevated"; -export const V2ConfigRequirementsReadResponse__WindowsSandboxSetupMode = Schema.Literals([ +export type V2ConfigRequirementsReadResponse__WindowsSandboxImplementation = + | "elevated" + | "unelevated" + | "mxc"; +export const V2ConfigRequirementsReadResponse__WindowsSandboxImplementation = Schema.Literals([ "elevated", "unelevated", -]).annotate({ identifier: "V2ConfigRequirementsReadResponse__WindowsSandboxSetupMode" }); + "mxc", +]).annotate({ identifier: "V2ConfigRequirementsReadResponse__WindowsSandboxImplementation" }); -export type V2ConfigRequirementsReadResponse__ComputerUseRequirements = { - readonly allowLockedComputerUse?: boolean | null; +export type V2ConfigRequirementsReadResponse__AutoReviewRequirements = { + readonly ignoreRules?: ReadonlyArray | null; + readonly requiredOnModels?: ReadonlyArray | null; }; -export const V2ConfigRequirementsReadResponse__ComputerUseRequirements = Schema.Struct({ - allowLockedComputerUse: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), -}).annotate({ identifier: "V2ConfigRequirementsReadResponse__ComputerUseRequirements" }); +export const V2ConfigRequirementsReadResponse__AutoReviewRequirements = Schema.Struct({ + ignoreRules: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + requiredOnModels: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), +}).annotate({ identifier: "V2ConfigRequirementsReadResponse__AutoReviewRequirements" }); + +export type V2ConfigRequirementsReadResponse__AllowDenyRequirement = "allow" | "deny"; +export const V2ConfigRequirementsReadResponse__AllowDenyRequirement = Schema.Literals([ + "allow", + "deny", +]).annotate({ identifier: "V2ConfigRequirementsReadResponse__AllowDenyRequirement" }); + +export type V2ConfigRequirementsReadResponse__BrowserUseAccessApprovalLifetime = "turn" | "thread"; +export const V2ConfigRequirementsReadResponse__BrowserUseAccessApprovalLifetime = Schema.Literals([ + "turn", + "thread", +]).annotate({ identifier: "V2ConfigRequirementsReadResponse__BrowserUseAccessApprovalLifetime" }); + +export type V2ConfigRequirementsReadResponse__CliAuthCredentialsStoreMode = + | "file" + | "keyring" + | "auto" + | "ephemeral"; +export const V2ConfigRequirementsReadResponse__CliAuthCredentialsStoreMode = Schema.Literals([ + "file", + "keyring", + "auto", + "ephemeral", +]).annotate({ identifier: "V2ConfigRequirementsReadResponse__CliAuthCredentialsStoreMode" }); export type V2ConfigRequirementsReadResponse__ResidencyRequirement = "us"; export const V2ConfigRequirementsReadResponse__ResidencyRequirement = Schema.Literal("us").annotate( { identifier: "V2ConfigRequirementsReadResponse__ResidencyRequirement" }, ); +export type V2ConfigRequirementsReadResponse__FeedbackRequirements = { + readonly enabled?: boolean | null; +}; +export const V2ConfigRequirementsReadResponse__FeedbackRequirements = Schema.Struct({ + enabled: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), +}).annotate({ identifier: "V2ConfigRequirementsReadResponse__FeedbackRequirements" }); + +export type V2ConfigRequirementsReadResponse__InAppBrowserRequirements = { + readonly allowExternalBrowserSettingsImport?: boolean | null; +}; +export const V2ConfigRequirementsReadResponse__InAppBrowserRequirements = Schema.Struct({ + allowExternalBrowserSettingsImport: Schema.optionalKey( + Schema.Union([Schema.Boolean, Schema.Null]), + ), +}).annotate({ identifier: "V2ConfigRequirementsReadResponse__InAppBrowserRequirements" }); + export type V2ConfigRequirementsReadResponse__ReasoningEffort = string; export const V2ConfigRequirementsReadResponse__ReasoningEffort = Schema.String.annotate({ description: "A non-empty reasoning effort value advertised by the model.", @@ -4292,8 +4857,15 @@ export const V2ConfigRequirementsReadResponse__ReasoningEffort = Schema.String.a }), ); +export type V2ConfigRequirementsReadResponse__NetworkDomainPermission = "allow" | "deny"; +export const V2ConfigRequirementsReadResponse__NetworkDomainPermission = Schema.Literals([ + "allow", + "deny", +]).annotate({ identifier: "V2ConfigRequirementsReadResponse__NetworkDomainPermission" }); + export type V2ConfigRequirementsReadResponse__ConfiguredHookHandler = | { + readonly additionalContextLimit?: number | null; readonly async: boolean; readonly command: string; readonly commandWindows?: string | null; @@ -4301,11 +4873,35 @@ export type V2ConfigRequirementsReadResponse__ConfiguredHookHandler = readonly timeoutSec?: number | null; readonly type: "command"; } + | { + readonly input: { readonly [x: string]: Schema.Json }; + readonly server: string; + readonly statusMessage?: string | null; + readonly timeoutSec?: number | null; + readonly tool: string; + readonly type: "mcp_tool"; + } | { readonly type: "prompt" } | { readonly type: "agent" }; export const V2ConfigRequirementsReadResponse__ConfiguredHookHandler = Schema.Union( [ Schema.Struct({ + additionalContextLimit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Approximate token threshold for spilling this hook's `additionalContext` to disk. `null` uses 2,500 tokens; `0` disables spilling for this hook. The threshold is evaluated against the original context; a spilled preview also includes recovery metadata.", + format: "uint", + }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), async: Schema.Boolean, command: Schema.String, commandWindows: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -4324,6 +4920,25 @@ export const V2ConfigRequirementsReadResponse__ConfiguredHookHandler = Schema.Un ), type: Schema.Literal("command").annotate({ title: "CommandConfiguredHookHandlerType" }), }).annotate({ title: "CommandConfiguredHookHandler" }), + Schema.Struct({ + input: Schema.Record(Schema.String, Schema.Json.annotate({ expected: "JSON value" })), + server: Schema.String, + statusMessage: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + timeoutSec: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "uint64" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + tool: Schema.String, + type: Schema.Literal("mcp_tool").annotate({ title: "McpToolConfiguredHookHandlerType" }), + }).annotate({ title: "McpToolConfiguredHookHandler" }), Schema.Struct({ type: Schema.Literal("prompt").annotate({ title: "PromptConfiguredHookHandlerType" }), }).annotate({ title: "PromptConfiguredHookHandler" }), @@ -4334,12 +4949,6 @@ export const V2ConfigRequirementsReadResponse__ConfiguredHookHandler = Schema.Un { mode: "oneOf" }, ).annotate({ identifier: "V2ConfigRequirementsReadResponse__ConfiguredHookHandler" }); -export type V2ConfigRequirementsReadResponse__NetworkDomainPermission = "allow" | "deny"; -export const V2ConfigRequirementsReadResponse__NetworkDomainPermission = Schema.Literals([ - "allow", - "deny", -]).annotate({ identifier: "V2ConfigRequirementsReadResponse__NetworkDomainPermission" }); - export type V2ConfigRequirementsReadResponse__NetworkUnixSocketPermission = "allow" | "deny"; export const V2ConfigRequirementsReadResponse__NetworkUnixSocketPermission = Schema.Literals([ "allow", @@ -4417,6 +5026,11 @@ export const V2ErrorNotification__NonSteerableTurnKind = Schema.Literals([ "compact", ]).annotate({ identifier: "V2ErrorNotification__NonSteerableTurnKind" }); +export type V2ErrorNotification__MisalignmentSteer = { readonly message: string }; +export const V2ErrorNotification__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ErrorNotification__MisalignmentSteer" }); + export type V2ExperimentalFeatureListResponse__ExperimentalFeatureStage = | "beta" | "underDevelopment" @@ -4442,6 +5056,14 @@ export const V2ExperimentalFeatureListResponse__ExperimentalFeatureStage = Schem { mode: "oneOf" }, ).annotate({ identifier: "V2ExperimentalFeatureListResponse__ExperimentalFeatureStage" }); +export type V2ExternalAgentConfigDetectResponse__ExternalAgentDetectedConnectorSource = + | "remoteMcpServersConfig" + | "sessionToolUse"; +export const V2ExternalAgentConfigDetectResponse__ExternalAgentDetectedConnectorSource = + Schema.Literals(["remoteMcpServersConfig", "sessionToolUse"]).annotate({ + identifier: "V2ExternalAgentConfigDetectResponse__ExternalAgentDetectedConnectorSource", + }); + export type V2ExternalAgentConfigDetectResponse__CommandMigration = { readonly name: string }; export const V2ExternalAgentConfigDetectResponse__CommandMigration = Schema.Struct({ name: Schema.String, @@ -4578,6 +5200,34 @@ export const V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConf "V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigMigrationItemType", }); +export type V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigMigrationItemType = + | "AGENTS_MD" + | "CONFIG" + | "SKILLS" + | "PLUGINS" + | "MCP_SERVER_CONFIG" + | "SUBAGENTS" + | "HOOKS" + | "COMMANDS" + | "MEMORY" + | "SESSIONS"; +export const V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigMigrationItemType = + Schema.Literals([ + "AGENTS_MD", + "CONFIG", + "SKILLS", + "PLUGINS", + "MCP_SERVER_CONFIG", + "SUBAGENTS", + "HOOKS", + "COMMANDS", + "MEMORY", + "SESSIONS", + ]).annotate({ + identifier: + "V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigMigrationItemType", + }); + export type V2ExternalAgentConfigImportParams__CommandMigration = { readonly name: string }; export const V2ExternalAgentConfigImportParams__CommandMigration = Schema.Struct({ name: Schema.String, @@ -4951,6 +5601,16 @@ export const V2GetAccountResponse__PlanType = Schema.Literals([ "unknown", ]).annotate({ identifier: "V2GetAccountResponse__PlanType" }); +export type V2GetAccountResponse__AccountRoutingOverride = "NO_CONSTRAINT" | "us" | "us_cr"; +export const V2GetAccountResponse__AccountRoutingOverride = Schema.Literals([ + "NO_CONSTRAINT", + "us", + "us_cr", +]).annotate({ + description: "Backend routing policy. Wire values match the accounts/check contract.", + identifier: "V2GetAccountResponse__AccountRoutingOverride", +}); + export type V2GetAccountTokenUsageResponse__AccountTokenUsageDailyBucket = { readonly startDate: string; readonly tokens: number; @@ -5012,6 +5672,66 @@ export const V2GetAccountTokenUsageResponse__AccountTokenUsageSummary = Schema.S ), }).annotate({ identifier: "V2GetAccountTokenUsageResponse__AccountTokenUsageSummary" }); +export type V2GetAccountTokenUsageResponse__ThreadUsageBreakdownGroup = { + readonly cachedInputTokens?: number | null; + readonly estimatedUsageCreditsMicros: number; + readonly inputTokens?: number | null; + readonly model?: string | null; + readonly netNewInputTokens?: number | null; + readonly outputTokens?: number | null; + readonly reasoningEffort?: string | null; + readonly speed?: string | null; + readonly totalTokens?: number | null; +}; +export const V2GetAccountTokenUsageResponse__ThreadUsageBreakdownGroup = Schema.Struct({ + cachedInputTokens: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + estimatedUsageCreditsMicros: Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + inputTokens: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + model: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + netNewInputTokens: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + outputTokens: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + reasoningEffort: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + speed: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + totalTokens: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), +}).annotate({ identifier: "V2GetAccountTokenUsageResponse__ThreadUsageBreakdownGroup" }); + export type V2GetWorkspaceMessagesResponse__WorkspaceMessageType = | "headline" | "announcement" @@ -5047,7 +5767,8 @@ export type V2HookCompletedNotification__HookEventName = | "userPromptSubmit" | "subagentStart" | "subagentStop" - | "stop"; + | "stop" + | "interrupt"; export const V2HookCompletedNotification__HookEventName = Schema.Literals([ "preToolUse", "permissionRequest", @@ -5060,6 +5781,7 @@ export const V2HookCompletedNotification__HookEventName = Schema.Literals([ "subagentStart", "subagentStop", "stop", + "interrupt", ]).annotate({ identifier: "V2HookCompletedNotification__HookEventName" }); export type V2HookCompletedNotification__HookExecutionMode = "sync" | "async"; @@ -5068,9 +5790,14 @@ export const V2HookCompletedNotification__HookExecutionMode = Schema.Literals([ "async", ]).annotate({ identifier: "V2HookCompletedNotification__HookExecutionMode" }); -export type V2HookCompletedNotification__HookHandlerType = "command" | "prompt" | "agent"; +export type V2HookCompletedNotification__HookHandlerType = + | "command" + | "mcpTool" + | "prompt" + | "agent"; export const V2HookCompletedNotification__HookHandlerType = Schema.Literals([ "command", + "mcpTool", "prompt", "agent", ]).annotate({ identifier: "V2HookCompletedNotification__HookHandlerType" }); @@ -5147,7 +5874,8 @@ export type V2HooksListResponse__HookEventName = | "userPromptSubmit" | "subagentStart" | "subagentStop" - | "stop"; + | "stop" + | "interrupt"; export const V2HooksListResponse__HookEventName = Schema.Literals([ "preToolUse", "permissionRequest", @@ -5160,15 +5888,9 @@ export const V2HooksListResponse__HookEventName = Schema.Literals([ "subagentStart", "subagentStop", "stop", + "interrupt", ]).annotate({ identifier: "V2HooksListResponse__HookEventName" }); -export type V2HooksListResponse__HookHandlerType = "command" | "prompt" | "agent"; -export const V2HooksListResponse__HookHandlerType = Schema.Literals([ - "command", - "prompt", - "agent", -]).annotate({ identifier: "V2HooksListResponse__HookHandlerType" }); - export type V2HooksListResponse__HookSource = | "system" | "user" @@ -5235,7 +5957,8 @@ export type V2HookStartedNotification__HookEventName = | "userPromptSubmit" | "subagentStart" | "subagentStop" - | "stop"; + | "stop" + | "interrupt"; export const V2HookStartedNotification__HookEventName = Schema.Literals([ "preToolUse", "permissionRequest", @@ -5248,6 +5971,7 @@ export const V2HookStartedNotification__HookEventName = Schema.Literals([ "subagentStart", "subagentStop", "stop", + "interrupt", ]).annotate({ identifier: "V2HookStartedNotification__HookEventName" }); export type V2HookStartedNotification__HookExecutionMode = "sync" | "async"; @@ -5256,9 +5980,10 @@ export const V2HookStartedNotification__HookExecutionMode = Schema.Literals([ "async", ]).annotate({ identifier: "V2HookStartedNotification__HookExecutionMode" }); -export type V2HookStartedNotification__HookHandlerType = "command" | "prompt" | "agent"; +export type V2HookStartedNotification__HookHandlerType = "command" | "mcpTool" | "prompt" | "agent"; export const V2HookStartedNotification__HookHandlerType = Schema.Literals([ "command", + "mcpTool", "prompt", "agent", ]).annotate({ identifier: "V2HookStartedNotification__HookHandlerType" }); @@ -5349,6 +6074,11 @@ export const V2ItemCompletedNotification__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2ItemCompletedNotification__HookPromptFragment" }); +export type V2ItemCompletedNotification__AgentMessageDelivery = "async"; +export const V2ItemCompletedNotification__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ItemCompletedNotification__AgentMessageDelivery", +}); + export type V2ItemCompletedNotification__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -5388,12 +6118,14 @@ export const V2ItemCompletedNotification__MessagePhase = Schema.Union( identifier: "V2ItemCompletedNotification__MessagePhase", }); -export type V2ItemCompletedNotification__AbsolutePathBuf = string; -export const V2ItemCompletedNotification__AbsolutePathBuf = Schema.String.annotate({ - description: - "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - identifier: "V2ItemCompletedNotification__AbsolutePathBuf", -}); +export type V2ItemCompletedNotification__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ItemCompletedNotification__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ItemCompletedNotification__AsyncUserInputQuestion" }); export type V2ItemCompletedNotification__LegacyAppPathString = string; export const V2ItemCompletedNotification__LegacyAppPathString = Schema.String.annotate({ @@ -5476,6 +6208,12 @@ export const V2ItemCompletedNotification__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2ItemCompletedNotification__McpToolCallError" }); +export type V2ItemCompletedNotification__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ItemCompletedNotification__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ItemCompletedNotification__McpAppDisplayMode" }); + export type V2ItemCompletedNotification__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -5638,12 +6376,42 @@ export const V2ItemCompletedNotification__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ItemCompletedNotification__WebSearchAction" }); -export type V2ItemGuardianApprovalReviewCompletedNotification__AbsolutePathBuf = string; -export const V2ItemGuardianApprovalReviewCompletedNotification__AbsolutePathBuf = +export type V2ItemCompletedNotification__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ItemCompletedNotification__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ItemCompletedNotification__ImageGenerationFailure" }); + +export type V2ItemCompletedNotification__AbsolutePathBuf = string; +export const V2ItemCompletedNotification__AbsolutePathBuf = Schema.String.annotate({ + description: + "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + identifier: "V2ItemCompletedNotification__AbsolutePathBuf", +}); + +export type V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString = string; +export const V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString = Schema.String.annotate({ - description: - "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - identifier: "V2ItemGuardianApprovalReviewCompletedNotification__AbsolutePathBuf", + identifier: "V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString", }); export type V2ItemGuardianApprovalReviewCompletedNotification__GuardianCommandSource = @@ -5654,6 +6422,14 @@ export const V2ItemGuardianApprovalReviewCompletedNotification__GuardianCommandS identifier: "V2ItemGuardianApprovalReviewCompletedNotification__GuardianCommandSource", }); +export type V2ItemGuardianApprovalReviewCompletedNotification__AbsolutePathBuf = string; +export const V2ItemGuardianApprovalReviewCompletedNotification__AbsolutePathBuf = + Schema.String.annotate({ + description: + "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + identifier: "V2ItemGuardianApprovalReviewCompletedNotification__AbsolutePathBuf", + }); + export type V2ItemGuardianApprovalReviewCompletedNotification__NetworkApprovalProtocol = | "http" | "https" @@ -5673,12 +6449,6 @@ export const V2ItemGuardianApprovalReviewCompletedNotification__FileSystemAccess identifier: "V2ItemGuardianApprovalReviewCompletedNotification__FileSystemAccessMode", }); -export type V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString = string; -export const V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString = - Schema.String.annotate({ - identifier: "V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString", - }); - export type V2ItemGuardianApprovalReviewCompletedNotification__AdditionalNetworkPermissions = { readonly enabled?: boolean | null; }; @@ -5731,12 +6501,10 @@ export const V2ItemGuardianApprovalReviewCompletedNotification__GuardianUserAuth identifier: "V2ItemGuardianApprovalReviewCompletedNotification__GuardianUserAuthorization", }); -export type V2ItemGuardianApprovalReviewStartedNotification__AbsolutePathBuf = string; -export const V2ItemGuardianApprovalReviewStartedNotification__AbsolutePathBuf = +export type V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString = string; +export const V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString = Schema.String.annotate({ - description: - "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - identifier: "V2ItemGuardianApprovalReviewStartedNotification__AbsolutePathBuf", + identifier: "V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString", }); export type V2ItemGuardianApprovalReviewStartedNotification__GuardianCommandSource = @@ -5747,6 +6515,14 @@ export const V2ItemGuardianApprovalReviewStartedNotification__GuardianCommandSou identifier: "V2ItemGuardianApprovalReviewStartedNotification__GuardianCommandSource", }); +export type V2ItemGuardianApprovalReviewStartedNotification__AbsolutePathBuf = string; +export const V2ItemGuardianApprovalReviewStartedNotification__AbsolutePathBuf = + Schema.String.annotate({ + description: + "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + identifier: "V2ItemGuardianApprovalReviewStartedNotification__AbsolutePathBuf", + }); + export type V2ItemGuardianApprovalReviewStartedNotification__NetworkApprovalProtocol = | "http" | "https" @@ -5766,12 +6542,6 @@ export const V2ItemGuardianApprovalReviewStartedNotification__FileSystemAccessMo identifier: "V2ItemGuardianApprovalReviewStartedNotification__FileSystemAccessMode", }); -export type V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString = string; -export const V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString = - Schema.String.annotate({ - identifier: "V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString", - }); - export type V2ItemGuardianApprovalReviewStartedNotification__AdditionalNetworkPermissions = { readonly enabled?: boolean | null; }; @@ -5851,6 +6621,11 @@ export const V2ItemStartedNotification__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2ItemStartedNotification__HookPromptFragment" }); +export type V2ItemStartedNotification__AgentMessageDelivery = "async"; +export const V2ItemStartedNotification__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ItemStartedNotification__AgentMessageDelivery", +}); + export type V2ItemStartedNotification__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -5890,12 +6665,14 @@ export const V2ItemStartedNotification__MessagePhase = Schema.Union( identifier: "V2ItemStartedNotification__MessagePhase", }); -export type V2ItemStartedNotification__AbsolutePathBuf = string; -export const V2ItemStartedNotification__AbsolutePathBuf = Schema.String.annotate({ - description: - "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - identifier: "V2ItemStartedNotification__AbsolutePathBuf", -}); +export type V2ItemStartedNotification__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ItemStartedNotification__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ItemStartedNotification__AsyncUserInputQuestion" }); export type V2ItemStartedNotification__LegacyAppPathString = string; export const V2ItemStartedNotification__LegacyAppPathString = Schema.String.annotate({ @@ -5978,6 +6755,12 @@ export const V2ItemStartedNotification__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2ItemStartedNotification__McpToolCallError" }); +export type V2ItemStartedNotification__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ItemStartedNotification__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ItemStartedNotification__McpAppDisplayMode" }); + export type V2ItemStartedNotification__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -6140,6 +6923,38 @@ export const V2ItemStartedNotification__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ItemStartedNotification__WebSearchAction" }); +export type V2ItemStartedNotification__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ItemStartedNotification__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ItemStartedNotification__ImageGenerationFailure" }); + +export type V2ItemStartedNotification__AbsolutePathBuf = string; +export const V2ItemStartedNotification__AbsolutePathBuf = Schema.String.annotate({ + description: + "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + identifier: "V2ItemStartedNotification__AbsolutePathBuf", +}); + export type V2ListMcpServerStatusParams__McpServerStatusDetail = "full" | "toolsAndAuthOnly"; export const V2ListMcpServerStatusParams__McpServerStatusDetail = Schema.Literals([ "full", @@ -6147,11 +6962,13 @@ export const V2ListMcpServerStatusParams__McpServerStatusDetail = Schema.Literal ]).annotate({ identifier: "V2ListMcpServerStatusParams__McpServerStatusDetail" }); export type V2ListMcpServerStatusResponse__McpAuthStatus = + | "unknown" | "unsupported" | "notLoggedIn" | "bearerToken" | "oAuth"; export const V2ListMcpServerStatusResponse__McpAuthStatus = Schema.Literals([ + "unknown", "unsupported", "notLoggedIn", "bearerToken", @@ -6213,6 +7030,24 @@ export const V2ListMcpServerStatusResponse__Resource = Schema.Struct({ identifier: "V2ListMcpServerStatusResponse__Resource", }); +export type V2ListMcpServerStatusResponse__McpServerConnectionStatus = + | "notStarted" + | "starting" + | "connected" + | "authenticationRequired" + | "failed" + | "cancelled" + | "disabled"; +export const V2ListMcpServerStatusResponse__McpServerConnectionStatus = Schema.Literals([ + "notStarted", + "starting", + "connected", + "authenticationRequired", + "failed", + "cancelled", + "disabled", +]).annotate({ identifier: "V2ListMcpServerStatusResponse__McpServerConnectionStatus" }); + export type V2ListMcpServerStatusResponse__McpServerInfo = { readonly description?: string | null; readonly icons?: ReadonlyArray | null; @@ -6327,6 +7162,22 @@ export const V2McpResourceReadResponse__ResourceContent = Schema.Union([ identifier: "V2McpResourceReadResponse__ResourceContent", }); +export type V2McpServerEventStreamNotification__McpServerEventNotification = { + readonly method: string; + readonly params: Schema.Json; +}; +export const V2McpServerEventStreamNotification__McpServerEventNotification = Schema.Struct({ + method: Schema.String, + params: Schema.Json.annotate({ expected: "JSON value" }), +}).annotate({ identifier: "V2McpServerEventStreamNotification__McpServerEventNotification" }); + +export type V2McpServerOauthLoginParams__McpServerOauthClientRegistration = "auto" | "cimd" | "dcr"; +export const V2McpServerOauthLoginParams__McpServerOauthClientRegistration = Schema.Literals([ + "auto", + "cimd", + "dcr", +]).annotate({ identifier: "V2McpServerOauthLoginParams__McpServerOauthClientRegistration" }); + export type V2McpServerStatusUpdatedNotification__McpServerStartupFailureReason = "reauthenticationRequired"; export const V2McpServerStatusUpdatedNotification__McpServerStartupFailureReason = Schema.Literal( @@ -6350,6 +7201,17 @@ export const V2ModelListResponse__ModelAvailabilityNux = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2ModelListResponse__ModelAvailabilityNux" }); +export type V2ModelListResponse__CyberAccessProgram = "standard" | "daybreakBlue" | "daybreakRed"; +export const V2ModelListResponse__CyberAccessProgram = Schema.Literals([ + "standard", + "daybreakBlue", + "daybreakRed", +]).annotate({ + description: + "Requested cyber treatment for a ChatGPT-authenticated Codex turn. Authorization and model-tier restrictions remain server-owned.", + identifier: "V2ModelListResponse__CyberAccessProgram", +}); + export type V2ModelListResponse__ReasoningEffort = string; export const V2ModelListResponse__ReasoningEffort = Schema.String.annotate({ description: "A non-empty reasoning effort value advertised by the model.", @@ -6373,6 +7235,16 @@ export const V2ModelListResponse__InputModality = Schema.Union( identifier: "V2ModelListResponse__InputModality", }); +export type V2ModelListResponse__MultiAgentVersion = "disabled" | "v1" | "v2"; +export const V2ModelListResponse__MultiAgentVersion = Schema.Literals([ + "disabled", + "v1", + "v2", +]).annotate({ + description: "Multi-agent runtime supported by a model.", + identifier: "V2ModelListResponse__MultiAgentVersion", +}); + export type V2ModelListResponse__ModelServiceTier = { readonly description: string; readonly id: string; @@ -6388,12 +7260,23 @@ export type V2ModelListResponse__ModelUpgradeInfo = { readonly migrationMarkdown?: string | null; readonly model: string; readonly modelLink?: string | null; + readonly retirementAt?: number | null; readonly upgradeCopy?: string | null; }; export const V2ModelListResponse__ModelUpgradeInfo = Schema.Struct({ migrationMarkdown: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), model: Schema.String, modelLink: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + retirementAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Informational Unix timestamp for this upgrade's scheduled retirement, if known.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), upgradeCopy: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "V2ModelListResponse__ModelUpgradeInfo" }); @@ -6407,6 +7290,44 @@ export const V2ModelVerificationNotification__ModelVerification = Schema.Literal "trustedAccessForCyber", ).annotate({ identifier: "V2ModelVerificationNotification__ModelVerification" }); +export type V2NullableGetAccountRateLimitsParams__GetAccountRateLimitsParams = { + readonly excludeResetCreditDetails?: boolean; + readonly supportsLunaReserve?: boolean; +}; +export const V2NullableGetAccountRateLimitsParams__GetAccountRateLimitsParams = Schema.Struct({ + excludeResetCreditDetails: Schema.optionalKey( + Schema.Boolean.annotate({ + description: + "Skip the separate reset-credit detail lookup for background usage polls. The usage response still includes the available count; omitted/false preserves detailed reads.", + }), + ), + supportsLunaReserve: Schema.optionalKey( + Schema.Boolean.annotate({ + description: + "The client supports automatic Luna Reserve fallback. For eligible ChatGPT CLI users, allow the backend to record experiment exposure after ordinary usage is blocked.", + }), + ), +}).annotate({ + description: + "Usage-read capabilities of the requesting client, never inferred from its experiment arm.", + identifier: "V2NullableGetAccountRateLimitsParams__GetAccountRateLimitsParams", +}); + +export type V2NullableGetAccountTokenUsageParams__GetAccountTokenUsageParams = { + readonly threadId?: string | null; +}; +export const V2NullableGetAccountTokenUsageParams__GetAccountTokenUsageParams = Schema.Struct({ + threadId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "When present, read estimated usage for this thread instead of account-wide token activity.", + }), + Schema.Null, + ]), + ), +}).annotate({ identifier: "V2NullableGetAccountTokenUsageParams__GetAccountTokenUsageParams" }); + export type V2PermissionProfileListResponse__PermissionProfileSummary = { readonly allowed: boolean; readonly description?: string | null; @@ -6466,6 +7387,18 @@ export const V2PluginInstalledResponse__PluginAvailability = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2PluginInstalledResponse__PluginAvailability" }); +export type V2PluginInstalledResponse__PluginDisabledReason = + | "disabled_by_admin" + | "plan_not_eligible" + | "required_app_unavailable" + | "unknown"; +export const V2PluginInstalledResponse__PluginDisabledReason = Schema.Literals([ + "disabled_by_admin", + "plan_not_eligible", + "required_app_unavailable", + "unknown", +]).annotate({ identifier: "V2PluginInstalledResponse__PluginDisabledReason" }); + export type V2PluginInstalledResponse__PluginInstallPolicy = | "NOT_AVAILABLE" | "AVAILABLE" @@ -6590,6 +7523,18 @@ export const V2PluginListResponse__PluginAvailability = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2PluginListResponse__PluginAvailability" }); +export type V2PluginListResponse__PluginDisabledReason = + | "disabled_by_admin" + | "plan_not_eligible" + | "required_app_unavailable" + | "unknown"; +export const V2PluginListResponse__PluginDisabledReason = Schema.Literals([ + "disabled_by_admin", + "plan_not_eligible", + "required_app_unavailable", + "unknown", +]).annotate({ identifier: "V2PluginListResponse__PluginDisabledReason" }); + export type V2PluginListResponse__PluginInstallPolicy = | "NOT_AVAILABLE" | "AVAILABLE" @@ -6673,7 +7618,8 @@ export type V2PluginReadResponse__HookEventName = | "userPromptSubmit" | "subagentStart" | "subagentStop" - | "stop"; + | "stop" + | "interrupt"; export const V2PluginReadResponse__HookEventName = Schema.Literals([ "preToolUse", "permissionRequest", @@ -6686,6 +7632,7 @@ export const V2PluginReadResponse__HookEventName = Schema.Literals([ "subagentStart", "subagentStop", "stop", + "interrupt", ]).annotate({ identifier: "V2PluginReadResponse__HookEventName" }); export type V2PluginReadResponse__AbsolutePathBuf = string; @@ -6731,6 +7678,18 @@ export const V2PluginReadResponse__PluginAvailability = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2PluginReadResponse__PluginAvailability" }); +export type V2PluginReadResponse__PluginDisabledReason = + | "disabled_by_admin" + | "plan_not_eligible" + | "required_app_unavailable" + | "unknown"; +export const V2PluginReadResponse__PluginDisabledReason = Schema.Literals([ + "disabled_by_admin", + "plan_not_eligible", + "required_app_unavailable", + "unknown", +]).annotate({ identifier: "V2PluginReadResponse__PluginDisabledReason" }); + export type V2PluginReadResponse__PluginInstallPolicy = | "NOT_AVAILABLE" | "AVAILABLE" @@ -6770,6 +7729,30 @@ export const V2PluginReadResponse__PluginSharePrincipalRole = Schema.Literals([ "owner", ]).annotate({ identifier: "V2PluginReadResponse__PluginSharePrincipalRole" }); +export type V2PluginReconcileResponse__PluginReconcileChangedPlugin = { + readonly hasApps: boolean; + readonly hasHooks: boolean; + readonly hasMcps: boolean; + readonly hasSkills: boolean; + readonly id: string; +}; +export const V2PluginReconcileResponse__PluginReconcileChangedPlugin = Schema.Struct({ + hasApps: Schema.Boolean, + hasHooks: Schema.Boolean, + hasMcps: Schema.Boolean, + hasSkills: Schema.Boolean.annotate({ + description: + "Whether either bundle declares skill roots; not a validated inventory of enabled skills.", + }), + id: Schema.String.annotate({ + description: "Local plugin ID (`name@marketplace`), matching `PluginSummary.id`.", + }), +}).annotate({ + description: + "Runtime categories affected by this change, not just capabilities currently present. Flags describe declarations before runtime policy filtering. Updates OR the old and new bundle flags; enablement changes and cached reinstalls use the cached bundle; removals retain the old bundle's flags.", + identifier: "V2PluginReconcileResponse__PluginReconcileChangedPlugin", +}); + export type V2PluginShareCheckoutResponse__AbsolutePathBuf = string; export const V2PluginShareCheckoutResponse__AbsolutePathBuf = Schema.String.annotate({ description: @@ -6802,6 +7785,18 @@ export const V2PluginShareListResponse__PluginAvailability = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2PluginShareListResponse__PluginAvailability" }); +export type V2PluginShareListResponse__PluginDisabledReason = + | "disabled_by_admin" + | "plan_not_eligible" + | "required_app_unavailable" + | "unknown"; +export const V2PluginShareListResponse__PluginDisabledReason = Schema.Literals([ + "disabled_by_admin", + "plan_not_eligible", + "required_app_unavailable", + "unknown", +]).annotate({ identifier: "V2PluginShareListResponse__PluginDisabledReason" }); + export type V2PluginShareListResponse__PluginInstallPolicy = | "NOT_AVAILABLE" | "AVAILABLE" @@ -6941,6 +7936,13 @@ export const V2ProcessOutputDeltaNotification__ProcessOutputStream = Schema.Unio identifier: "V2ProcessOutputDeltaNotification__ProcessOutputStream", }); +export type V2ProjectChangedNotification__ProjectChangeType = "created" | "updated" | "deleted"; +export const V2ProjectChangedNotification__ProjectChangeType = Schema.Literals([ + "created", + "updated", + "deleted", +]).annotate({ identifier: "V2ProjectChangedNotification__ProjectChangeType" }); + export type V2RawResponseCompletedNotification__TokenUsageBreakdown = { readonly cacheWriteInputTokens?: number; readonly cachedInputTokens: number; @@ -6972,6 +7974,18 @@ export const V2RawResponseCompletedNotification__TokenUsageBreakdown = Schema.St ), }).annotate({ identifier: "V2RawResponseCompletedNotification__TokenUsageBreakdown" }); +export type V2RawResponseCompletedNotification__ResponseUsageMetadata = { + readonly amount?: string | null; + readonly metadata?: Schema.Json; +}; +export const V2RawResponseCompletedNotification__ResponseUsageMetadata = Schema.Struct({ + amount: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + metadata: Schema.optionalKey(Schema.Json.annotate({ expected: "JSON value" })), +}).annotate({ + description: "Usage metadata reported for one upstream response.", + identifier: "V2RawResponseCompletedNotification__ResponseUsageMetadata", +}); + export type V2RawResponseItemCompletedNotification__ImageDetail = | "auto" | "low" @@ -7155,6 +8169,16 @@ export const V2RawResponseItemCompletedNotification__ResponsesApiWebSearchAction { mode: "oneOf" }, ).annotate({ identifier: "V2RawResponseItemCompletedNotification__ResponsesApiWebSearchAction" }); +export type V2RawResponseItemCompletedNotification__ReasoningEffort = string; +export const V2RawResponseItemCompletedNotification__ReasoningEffort = Schema.String.annotate({ + description: "A non-empty reasoning effort value advertised by the model.", +}).check( + Schema.isMinLength(1).annotate({ + expected: "a value with a length of at least 1", + identifier: "V2RawResponseItemCompletedNotification__ReasoningEffort", + }), +); + export type V2RemoteControlStatusChangedNotification__RemoteControlConnectionStatus = | "disabled" | "connecting" @@ -7224,6 +8248,11 @@ export const V2ReviewStartResponse__NonSteerableTurnKind = Schema.Literals([ "compact", ]).annotate({ identifier: "V2ReviewStartResponse__NonSteerableTurnKind" }); +export type V2ReviewStartResponse__MisalignmentSteer = { readonly message: string }; +export const V2ReviewStartResponse__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ReviewStartResponse__MisalignmentSteer" }); + export type V2ReviewStartResponse__ByteRange = { readonly end: number; readonly start: number }; export const V2ReviewStartResponse__ByteRange = Schema.Struct({ end: Schema.Number.annotate({ format: "uint" }) @@ -7255,6 +8284,11 @@ export const V2ReviewStartResponse__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2ReviewStartResponse__HookPromptFragment" }); +export type V2ReviewStartResponse__AgentMessageDelivery = "async"; +export const V2ReviewStartResponse__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ReviewStartResponse__AgentMessageDelivery", +}); + export type V2ReviewStartResponse__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -7294,12 +8328,14 @@ export const V2ReviewStartResponse__MessagePhase = Schema.Union( identifier: "V2ReviewStartResponse__MessagePhase", }); -export type V2ReviewStartResponse__AbsolutePathBuf = string; -export const V2ReviewStartResponse__AbsolutePathBuf = Schema.String.annotate({ - description: - "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - identifier: "V2ReviewStartResponse__AbsolutePathBuf", -}); +export type V2ReviewStartResponse__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ReviewStartResponse__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ReviewStartResponse__AsyncUserInputQuestion" }); export type V2ReviewStartResponse__LegacyAppPathString = string; export const V2ReviewStartResponse__LegacyAppPathString = Schema.String.annotate({ @@ -7382,6 +8418,12 @@ export const V2ReviewStartResponse__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2ReviewStartResponse__McpToolCallError" }); +export type V2ReviewStartResponse__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ReviewStartResponse__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ReviewStartResponse__McpAppDisplayMode" }); + export type V2ReviewStartResponse__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -7541,6 +8583,38 @@ export const V2ReviewStartResponse__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ReviewStartResponse__WebSearchAction" }); +export type V2ReviewStartResponse__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ReviewStartResponse__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ReviewStartResponse__ImageGenerationFailure" }); + +export type V2ReviewStartResponse__AbsolutePathBuf = string; +export const V2ReviewStartResponse__AbsolutePathBuf = Schema.String.annotate({ + description: + "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + identifier: "V2ReviewStartResponse__AbsolutePathBuf", +}); + export type V2ReviewStartResponse__TurnItemsView = "notLoaded" | "summary" | "full"; export const V2ReviewStartResponse__TurnItemsView = Schema.Union( [ @@ -7647,6 +8721,66 @@ export const V2SkillsListResponse__SkillScope = Schema.Literals([ "admin", ]).annotate({ identifier: "V2SkillsListResponse__SkillScope" }); +export type V2ThreadAttachmentAddResponse__ThreadAttachment = { + readonly attachmentType: string; + readonly createdAt: number; + readonly id: string; + readonly identityKey: string; + readonly payload: Schema.Json; +}; +export const V2ThreadAttachmentAddResponse__ThreadAttachment = Schema.Struct({ + attachmentType: Schema.String, + createdAt: Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + id: Schema.String, + identityKey: Schema.String, + payload: Schema.Json.annotate({ expected: "JSON value" }), +}).annotate({ + description: "An independently persisted attachment associated with a thread.", + identifier: "V2ThreadAttachmentAddResponse__ThreadAttachment", +}); + +export type V2ThreadAttachmentAddResponse__ThreadAttachmentAddOutcome = "created" | "existing"; +export const V2ThreadAttachmentAddResponse__ThreadAttachmentAddOutcome = Schema.Literals([ + "created", + "existing", +]).annotate({ + description: "Result of attempting to associate an attachment with a thread.", + identifier: "V2ThreadAttachmentAddResponse__ThreadAttachmentAddOutcome", +}); + +export type V2ThreadAttachmentListResponse__ThreadAttachment = { + readonly attachmentType: string; + readonly createdAt: number; + readonly id: string; + readonly identityKey: string; + readonly payload: Schema.Json; +}; +export const V2ThreadAttachmentListResponse__ThreadAttachment = Schema.Struct({ + attachmentType: Schema.String, + createdAt: Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + id: Schema.String, + identityKey: Schema.String, + payload: Schema.Json.annotate({ expected: "JSON value" }), +}).annotate({ + description: "An independently persisted attachment associated with a thread.", + identifier: "V2ThreadAttachmentListResponse__ThreadAttachment", +}); + +export type V2ThreadAttachmentUpdatedNotification__ThreadAttachmentOperation = + | "created" + | "deleted"; +export const V2ThreadAttachmentUpdatedNotification__ThreadAttachmentOperation = Schema.Literals([ + "created", + "deleted", +]).annotate({ + description: "The persisted attachment change represented by a notification.", + identifier: "V2ThreadAttachmentUpdatedNotification__ThreadAttachmentOperation", +}); + export type V2ThreadForkParams__AskForApproval = | "untrusted" | "on-request" @@ -7781,6 +8915,24 @@ export const V2ThreadForkResponse__GitInfo = Schema.Struct({ sha: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "V2ThreadForkResponse__GitInfo" }); +export type V2ThreadForkResponse__ThreadHistoryMode = "legacy" | "paginated"; +export const V2ThreadForkResponse__ThreadHistoryMode = Schema.Literals([ + "legacy", + "paginated", +]).annotate({ identifier: "V2ThreadForkResponse__ThreadHistoryMode" }); + +export type V2ThreadForkResponse__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadForkResponse__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadForkResponse__ThreadSectionAppearance", +}); + export type V2ThreadForkResponse__AgentPath = string; export const V2ThreadForkResponse__AgentPath = Schema.String.annotate({ identifier: "V2ThreadForkResponse__AgentPath", @@ -7808,6 +8960,11 @@ export const V2ThreadForkResponse__NonSteerableTurnKind = Schema.Literals([ "compact", ]).annotate({ identifier: "V2ThreadForkResponse__NonSteerableTurnKind" }); +export type V2ThreadForkResponse__MisalignmentSteer = { readonly message: string }; +export const V2ThreadForkResponse__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ThreadForkResponse__MisalignmentSteer" }); + export type V2ThreadForkResponse__ByteRange = { readonly end: number; readonly start: number }; export const V2ThreadForkResponse__ByteRange = Schema.Struct({ end: Schema.Number.annotate({ format: "uint" }) @@ -7839,6 +8996,11 @@ export const V2ThreadForkResponse__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2ThreadForkResponse__HookPromptFragment" }); +export type V2ThreadForkResponse__AgentMessageDelivery = "async"; +export const V2ThreadForkResponse__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ThreadForkResponse__AgentMessageDelivery", +}); + export type V2ThreadForkResponse__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -7878,6 +9040,15 @@ export const V2ThreadForkResponse__MessagePhase = Schema.Union( identifier: "V2ThreadForkResponse__MessagePhase", }); +export type V2ThreadForkResponse__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ThreadForkResponse__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ThreadForkResponse__AsyncUserInputQuestion" }); + export type V2ThreadForkResponse__CommandExecutionSource = | "agent" | "userShell" @@ -7954,6 +9125,12 @@ export const V2ThreadForkResponse__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2ThreadForkResponse__McpToolCallError" }); +export type V2ThreadForkResponse__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ThreadForkResponse__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ThreadForkResponse__McpAppDisplayMode" }); + export type V2ThreadForkResponse__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -8103,6 +9280,31 @@ export const V2ThreadForkResponse__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadForkResponse__WebSearchAction" }); +export type V2ThreadForkResponse__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ThreadForkResponse__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadForkResponse__ImageGenerationFailure" }); + export type V2ThreadForkResponse__TurnItemsView = "notLoaded" | "summary" | "full"; export const V2ThreadForkResponse__TurnItemsView = Schema.Union( [ @@ -8196,6 +9398,376 @@ export const V2ThreadGoalUpdatedNotification__ThreadGoalStatus = Schema.Literals "complete", ]).annotate({ identifier: "V2ThreadGoalUpdatedNotification__ThreadGoalStatus" }); +export type V2ThreadItemsListParams__SortDirection = "asc" | "desc"; +export const V2ThreadItemsListParams__SortDirection = Schema.Literals(["asc", "desc"]).annotate({ + identifier: "V2ThreadItemsListParams__SortDirection", +}); + +export type V2ThreadItemsListResponse__ByteRange = { readonly end: number; readonly start: number }; +export const V2ThreadItemsListResponse__ByteRange = Schema.Struct({ + end: Schema.Number.annotate({ format: "uint" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }), + ), + start: Schema.Number.annotate({ format: "uint" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }), + ), +}).annotate({ identifier: "V2ThreadItemsListResponse__ByteRange" }); + +export type V2ThreadItemsListResponse__ImageDetail = "auto" | "low" | "high" | "original"; +export const V2ThreadItemsListResponse__ImageDetail = Schema.Literals([ + "auto", + "low", + "high", + "original", +]).annotate({ identifier: "V2ThreadItemsListResponse__ImageDetail" }); + +export type V2ThreadItemsListResponse__HookPromptFragment = { + readonly hookRunId: string; + readonly text: string; +}; +export const V2ThreadItemsListResponse__HookPromptFragment = Schema.Struct({ + hookRunId: Schema.String, + text: Schema.String, +}).annotate({ identifier: "V2ThreadItemsListResponse__HookPromptFragment" }); + +export type V2ThreadItemsListResponse__AgentMessageDelivery = "async"; +export const V2ThreadItemsListResponse__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ThreadItemsListResponse__AgentMessageDelivery", +}); + +export type V2ThreadItemsListResponse__MemoryCitationEntry = { + readonly lineEnd: number; + readonly lineStart: number; + readonly note: string; + readonly path: string; +}; +export const V2ThreadItemsListResponse__MemoryCitationEntry = Schema.Struct({ + lineEnd: Schema.Number.annotate({ format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }), + ), + lineStart: Schema.Number.annotate({ format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }), + ), + note: Schema.String, + path: Schema.String, +}).annotate({ identifier: "V2ThreadItemsListResponse__MemoryCitationEntry" }); + +export type V2ThreadItemsListResponse__MessagePhase = "commentary" | "final_answer"; +export const V2ThreadItemsListResponse__MessagePhase = Schema.Union( + [ + Schema.Literal("commentary").annotate({ + description: + "Mid-turn assistant text (for example preamble/progress narration).\n\nAdditional tool calls or assistant output may follow before turn completion.", + }), + Schema.Literal("final_answer").annotate({ + description: "The assistant's terminal answer text for the current turn.", + }), + ], + { mode: "oneOf" }, +).annotate({ + description: + 'Classifies an assistant message as interim commentary or final answer text.\n\nProviders do not emit this consistently, so callers must treat `None` as "phase unknown" and keep compatibility behavior for legacy models.', + identifier: "V2ThreadItemsListResponse__MessagePhase", +}); + +export type V2ThreadItemsListResponse__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ThreadItemsListResponse__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ThreadItemsListResponse__AsyncUserInputQuestion" }); + +export type V2ThreadItemsListResponse__LegacyAppPathString = string; +export const V2ThreadItemsListResponse__LegacyAppPathString = Schema.String.annotate({ + identifier: "V2ThreadItemsListResponse__LegacyAppPathString", +}); + +export type V2ThreadItemsListResponse__CommandExecutionSource = + | "agent" + | "userShell" + | "unifiedExecStartup" + | "unifiedExecInteraction"; +export const V2ThreadItemsListResponse__CommandExecutionSource = Schema.Literals([ + "agent", + "userShell", + "unifiedExecStartup", + "unifiedExecInteraction", +]).annotate({ identifier: "V2ThreadItemsListResponse__CommandExecutionSource" }); + +export type V2ThreadItemsListResponse__CommandExecutionStatus = + | "inProgress" + | "completed" + | "failed" + | "declined"; +export const V2ThreadItemsListResponse__CommandExecutionStatus = Schema.Literals([ + "inProgress", + "completed", + "failed", + "declined", +]).annotate({ identifier: "V2ThreadItemsListResponse__CommandExecutionStatus" }); + +export type V2ThreadItemsListResponse__PatchChangeKind = + | { readonly type: "add" } + | { readonly type: "delete" } + | { readonly move_path?: string | null; readonly type: "update" }; +export const V2ThreadItemsListResponse__PatchChangeKind = Schema.Union( + [ + Schema.Struct({ + type: Schema.Literal("add").annotate({ title: "AddPatchChangeKindType" }), + }).annotate({ title: "AddPatchChangeKind" }), + Schema.Struct({ + type: Schema.Literal("delete").annotate({ title: "DeletePatchChangeKindType" }), + }).annotate({ title: "DeletePatchChangeKind" }), + Schema.Struct({ + move_path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("update").annotate({ title: "UpdatePatchChangeKindType" }), + }).annotate({ title: "UpdatePatchChangeKind" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadItemsListResponse__PatchChangeKind" }); + +export type V2ThreadItemsListResponse__PatchApplyStatus = + | "inProgress" + | "completed" + | "failed" + | "declined"; +export const V2ThreadItemsListResponse__PatchApplyStatus = Schema.Literals([ + "inProgress", + "completed", + "failed", + "declined", +]).annotate({ identifier: "V2ThreadItemsListResponse__PatchApplyStatus" }); + +export type V2ThreadItemsListResponse__McpToolCallAppContext = { + readonly actionName?: string | null; + readonly appName?: string | null; + readonly connectorId: string; + readonly linkId?: string | null; + readonly resourceUri?: string | null; +}; +export const V2ThreadItemsListResponse__McpToolCallAppContext = Schema.Struct({ + actionName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + appName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + connectorId: Schema.String, + linkId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + resourceUri: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ identifier: "V2ThreadItemsListResponse__McpToolCallAppContext" }); + +export type V2ThreadItemsListResponse__McpToolCallError = { readonly message: string }; +export const V2ThreadItemsListResponse__McpToolCallError = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ThreadItemsListResponse__McpToolCallError" }); + +export type V2ThreadItemsListResponse__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ThreadItemsListResponse__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ThreadItemsListResponse__McpAppDisplayMode" }); + +export type V2ThreadItemsListResponse__McpToolCallResult = { + readonly _meta?: Schema.Json; + readonly content: ReadonlyArray; + readonly structuredContent?: Schema.Json; +}; +export const V2ThreadItemsListResponse__McpToolCallResult = Schema.Struct({ + _meta: Schema.optionalKey(Schema.Json.annotate({ expected: "JSON value" })), + content: Schema.Array(Schema.Json.annotate({ expected: "JSON value" })), + structuredContent: Schema.optionalKey(Schema.Json.annotate({ expected: "JSON value" })), +}).annotate({ identifier: "V2ThreadItemsListResponse__McpToolCallResult" }); + +export type V2ThreadItemsListResponse__McpToolCallStatus = "inProgress" | "completed" | "failed"; +export const V2ThreadItemsListResponse__McpToolCallStatus = Schema.Literals([ + "inProgress", + "completed", + "failed", +]).annotate({ identifier: "V2ThreadItemsListResponse__McpToolCallStatus" }); + +export type V2ThreadItemsListResponse__DynamicToolCallOutputContentItem = + | { readonly text: string; readonly type: "inputText" } + | { readonly imageUrl: string; readonly type: "inputImage" } + | { readonly audioUrl: string; readonly type: "inputAudio" }; +export const V2ThreadItemsListResponse__DynamicToolCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("inputText").annotate({ + title: "InputTextDynamicToolCallOutputContentItemType", + }), + }).annotate({ title: "InputTextDynamicToolCallOutputContentItem" }), + Schema.Struct({ + imageUrl: Schema.String, + type: Schema.Literal("inputImage").annotate({ + title: "InputImageDynamicToolCallOutputContentItemType", + }), + }).annotate({ title: "InputImageDynamicToolCallOutputContentItem" }), + Schema.Struct({ + audioUrl: Schema.String, + type: Schema.Literal("inputAudio").annotate({ + title: "InputAudioDynamicToolCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioDynamicToolCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadItemsListResponse__DynamicToolCallOutputContentItem" }); + +export type V2ThreadItemsListResponse__DynamicToolCallStatus = + | "inProgress" + | "completed" + | "failed"; +export const V2ThreadItemsListResponse__DynamicToolCallStatus = Schema.Literals([ + "inProgress", + "completed", + "failed", +]).annotate({ identifier: "V2ThreadItemsListResponse__DynamicToolCallStatus" }); + +export type V2ThreadItemsListResponse__CollabAgentStatus = + | "pendingInit" + | "running" + | "interrupted" + | "completed" + | "errored" + | "shutdown" + | "notFound"; +export const V2ThreadItemsListResponse__CollabAgentStatus = Schema.Literals([ + "pendingInit", + "running", + "interrupted", + "completed", + "errored", + "shutdown", + "notFound", +]).annotate({ identifier: "V2ThreadItemsListResponse__CollabAgentStatus" }); + +export type V2ThreadItemsListResponse__ReasoningEffort = string; +export const V2ThreadItemsListResponse__ReasoningEffort = Schema.String.annotate({ + description: "A non-empty reasoning effort value advertised by the model.", +}).check( + Schema.isMinLength(1).annotate({ + expected: "a value with a length of at least 1", + identifier: "V2ThreadItemsListResponse__ReasoningEffort", + }), +); + +export type V2ThreadItemsListResponse__CollabAgentToolCallStatus = + | "inProgress" + | "completed" + | "failed" + | "interrupted"; +export const V2ThreadItemsListResponse__CollabAgentToolCallStatus = Schema.Literals([ + "inProgress", + "completed", + "failed", + "interrupted", +]).annotate({ identifier: "V2ThreadItemsListResponse__CollabAgentToolCallStatus" }); + +export type V2ThreadItemsListResponse__CollabAgentTool = + | "spawnAgent" + | "sendInput" + | "resumeAgent" + | "wait" + | "closeAgent" + | "sendMessage" + | "followupTask" + | "interruptAgent" + | "listAgents"; +export const V2ThreadItemsListResponse__CollabAgentTool = Schema.Literals([ + "spawnAgent", + "sendInput", + "resumeAgent", + "wait", + "closeAgent", + "sendMessage", + "followupTask", + "interruptAgent", + "listAgents", +]).annotate({ identifier: "V2ThreadItemsListResponse__CollabAgentTool" }); + +export type V2ThreadItemsListResponse__SubAgentActivityKind = + | "started" + | "interacted" + | "interrupted" + | "completed"; +export const V2ThreadItemsListResponse__SubAgentActivityKind = Schema.Literals([ + "started", + "interacted", + "interrupted", + "completed", +]).annotate({ identifier: "V2ThreadItemsListResponse__SubAgentActivityKind" }); + +export type V2ThreadItemsListResponse__WebSearchAction = + | { + readonly queries?: ReadonlyArray | null; + readonly query?: string | null; + readonly type: "search"; + } + | { readonly type: "openPage"; readonly url?: string | null } + | { readonly pattern?: string | null; readonly type: "findInPage"; readonly url?: string | null } + | { readonly type: "other" }; +export const V2ThreadItemsListResponse__WebSearchAction = Schema.Union( + [ + Schema.Struct({ + queries: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("search").annotate({ title: "SearchWebSearchActionType" }), + }).annotate({ title: "SearchWebSearchAction" }), + Schema.Struct({ + type: Schema.Literal("openPage").annotate({ title: "OpenPageWebSearchActionType" }), + url: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + }).annotate({ title: "OpenPageWebSearchAction" }), + Schema.Struct({ + pattern: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("findInPage").annotate({ title: "FindInPageWebSearchActionType" }), + url: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + }).annotate({ title: "FindInPageWebSearchAction" }), + Schema.Struct({ + type: Schema.Literal("other").annotate({ title: "OtherWebSearchActionType" }), + }).annotate({ title: "OtherWebSearchAction" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadItemsListResponse__WebSearchAction" }); + +export type V2ThreadItemsListResponse__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ThreadItemsListResponse__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadItemsListResponse__ImageGenerationFailure" }); + +export type V2ThreadItemsListResponse__AbsolutePathBuf = string; +export const V2ThreadItemsListResponse__AbsolutePathBuf = Schema.String.annotate({ + description: + "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + identifier: "V2ThreadItemsListResponse__AbsolutePathBuf", +}); + export type V2ThreadListParams__ThreadListCwdFilter = string | ReadonlyArray; export const V2ThreadListParams__ThreadListCwdFilter = Schema.Union([ Schema.String, @@ -8207,11 +9779,16 @@ export const V2ThreadListParams__SortDirection = Schema.Literals(["asc", "desc"] identifier: "V2ThreadListParams__SortDirection", }); -export type V2ThreadListParams__ThreadSortKey = "created_at" | "updated_at" | "recency_at"; +export type V2ThreadListParams__ThreadSortKey = + | "created_at" + | "updated_at" + | "recency_at" + | "section_position"; export const V2ThreadListParams__ThreadSortKey = Schema.Literals([ "created_at", "updated_at", "recency_at", + "section_position", ]).annotate({ identifier: "V2ThreadListParams__ThreadSortKey" }); export type V2ThreadListParams__ThreadSourceKind = @@ -8256,6 +9833,34 @@ export const V2ThreadListResponse__GitInfo = Schema.Struct({ sha: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "V2ThreadListResponse__GitInfo" }); +export type V2ThreadListResponse__ThreadHistoryMode = "legacy" | "paginated"; +export const V2ThreadListResponse__ThreadHistoryMode = Schema.Literals([ + "legacy", + "paginated", +]).annotate({ identifier: "V2ThreadListResponse__ThreadHistoryMode" }); + +export type V2ThreadListResponse__ReasoningEffort = string; +export const V2ThreadListResponse__ReasoningEffort = Schema.String.annotate({ + description: "A non-empty reasoning effort value advertised by the model.", +}).check( + Schema.isMinLength(1).annotate({ + expected: "a value with a length of at least 1", + identifier: "V2ThreadListResponse__ReasoningEffort", + }), +); + +export type V2ThreadListResponse__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadListResponse__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadListResponse__ThreadSectionAppearance", +}); + export type V2ThreadListResponse__AgentPath = string; export const V2ThreadListResponse__AgentPath = Schema.String.annotate({ identifier: "V2ThreadListResponse__AgentPath", @@ -8283,6 +9888,11 @@ export const V2ThreadListResponse__NonSteerableTurnKind = Schema.Literals([ "compact", ]).annotate({ identifier: "V2ThreadListResponse__NonSteerableTurnKind" }); +export type V2ThreadListResponse__MisalignmentSteer = { readonly message: string }; +export const V2ThreadListResponse__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ThreadListResponse__MisalignmentSteer" }); + export type V2ThreadListResponse__ByteRange = { readonly end: number; readonly start: number }; export const V2ThreadListResponse__ByteRange = Schema.Struct({ end: Schema.Number.annotate({ format: "uint" }) @@ -8314,6 +9924,11 @@ export const V2ThreadListResponse__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2ThreadListResponse__HookPromptFragment" }); +export type V2ThreadListResponse__AgentMessageDelivery = "async"; +export const V2ThreadListResponse__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ThreadListResponse__AgentMessageDelivery", +}); + export type V2ThreadListResponse__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -8353,6 +9968,15 @@ export const V2ThreadListResponse__MessagePhase = Schema.Union( identifier: "V2ThreadListResponse__MessagePhase", }); +export type V2ThreadListResponse__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ThreadListResponse__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ThreadListResponse__AsyncUserInputQuestion" }); + export type V2ThreadListResponse__LegacyAppPathString = string; export const V2ThreadListResponse__LegacyAppPathString = Schema.String.annotate({ identifier: "V2ThreadListResponse__LegacyAppPathString", @@ -8434,6 +10058,12 @@ export const V2ThreadListResponse__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2ThreadListResponse__McpToolCallError" }); +export type V2ThreadListResponse__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ThreadListResponse__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ThreadListResponse__McpAppDisplayMode" }); + export type V2ThreadListResponse__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -8505,16 +10135,6 @@ export const V2ThreadListResponse__CollabAgentStatus = Schema.Literals([ "notFound", ]).annotate({ identifier: "V2ThreadListResponse__CollabAgentStatus" }); -export type V2ThreadListResponse__ReasoningEffort = string; -export const V2ThreadListResponse__ReasoningEffort = Schema.String.annotate({ - description: "A non-empty reasoning effort value advertised by the model.", -}).check( - Schema.isMinLength(1).annotate({ - expected: "a value with a length of at least 1", - identifier: "V2ThreadListResponse__ReasoningEffort", - }), -); - export type V2ThreadListResponse__CollabAgentToolCallStatus = | "inProgress" | "completed" @@ -8593,6 +10213,31 @@ export const V2ThreadListResponse__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadListResponse__WebSearchAction" }); +export type V2ThreadListResponse__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ThreadListResponse__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadListResponse__ImageGenerationFailure" }); + export type V2ThreadListResponse__TurnItemsView = "notLoaded" | "summary" | "full"; export const V2ThreadListResponse__TurnItemsView = Schema.Union( [ @@ -8675,6 +10320,34 @@ export const V2ThreadMetadataUpdateResponse__GitInfo = Schema.Struct({ sha: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "V2ThreadMetadataUpdateResponse__GitInfo" }); +export type V2ThreadMetadataUpdateResponse__ThreadHistoryMode = "legacy" | "paginated"; +export const V2ThreadMetadataUpdateResponse__ThreadHistoryMode = Schema.Literals([ + "legacy", + "paginated", +]).annotate({ identifier: "V2ThreadMetadataUpdateResponse__ThreadHistoryMode" }); + +export type V2ThreadMetadataUpdateResponse__ReasoningEffort = string; +export const V2ThreadMetadataUpdateResponse__ReasoningEffort = Schema.String.annotate({ + description: "A non-empty reasoning effort value advertised by the model.", +}).check( + Schema.isMinLength(1).annotate({ + expected: "a value with a length of at least 1", + identifier: "V2ThreadMetadataUpdateResponse__ReasoningEffort", + }), +); + +export type V2ThreadMetadataUpdateResponse__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadMetadataUpdateResponse__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadMetadataUpdateResponse__ThreadSectionAppearance", +}); + export type V2ThreadMetadataUpdateResponse__AgentPath = string; export const V2ThreadMetadataUpdateResponse__AgentPath = Schema.String.annotate({ identifier: "V2ThreadMetadataUpdateResponse__AgentPath", @@ -8704,6 +10377,11 @@ export const V2ThreadMetadataUpdateResponse__NonSteerableTurnKind = Schema.Liter "compact", ]).annotate({ identifier: "V2ThreadMetadataUpdateResponse__NonSteerableTurnKind" }); +export type V2ThreadMetadataUpdateResponse__MisalignmentSteer = { readonly message: string }; +export const V2ThreadMetadataUpdateResponse__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ThreadMetadataUpdateResponse__MisalignmentSteer" }); + export type V2ThreadMetadataUpdateResponse__ByteRange = { readonly end: number; readonly start: number; @@ -8738,6 +10416,11 @@ export const V2ThreadMetadataUpdateResponse__HookPromptFragment = Schema.Struct( text: Schema.String, }).annotate({ identifier: "V2ThreadMetadataUpdateResponse__HookPromptFragment" }); +export type V2ThreadMetadataUpdateResponse__AgentMessageDelivery = "async"; +export const V2ThreadMetadataUpdateResponse__AgentMessageDelivery = Schema.Literal( + "async", +).annotate({ identifier: "V2ThreadMetadataUpdateResponse__AgentMessageDelivery" }); + export type V2ThreadMetadataUpdateResponse__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -8777,6 +10460,15 @@ export const V2ThreadMetadataUpdateResponse__MessagePhase = Schema.Union( identifier: "V2ThreadMetadataUpdateResponse__MessagePhase", }); +export type V2ThreadMetadataUpdateResponse__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ThreadMetadataUpdateResponse__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ThreadMetadataUpdateResponse__AsyncUserInputQuestion" }); + export type V2ThreadMetadataUpdateResponse__LegacyAppPathString = string; export const V2ThreadMetadataUpdateResponse__LegacyAppPathString = Schema.String.annotate({ identifier: "V2ThreadMetadataUpdateResponse__LegacyAppPathString", @@ -8858,6 +10550,12 @@ export const V2ThreadMetadataUpdateResponse__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2ThreadMetadataUpdateResponse__McpToolCallError" }); +export type V2ThreadMetadataUpdateResponse__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ThreadMetadataUpdateResponse__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ThreadMetadataUpdateResponse__McpAppDisplayMode" }); + export type V2ThreadMetadataUpdateResponse__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -8935,16 +10633,6 @@ export const V2ThreadMetadataUpdateResponse__CollabAgentStatus = Schema.Literals "notFound", ]).annotate({ identifier: "V2ThreadMetadataUpdateResponse__CollabAgentStatus" }); -export type V2ThreadMetadataUpdateResponse__ReasoningEffort = string; -export const V2ThreadMetadataUpdateResponse__ReasoningEffort = Schema.String.annotate({ - description: "A non-empty reasoning effort value advertised by the model.", -}).check( - Schema.isMinLength(1).annotate({ - expected: "a value with a length of at least 1", - identifier: "V2ThreadMetadataUpdateResponse__ReasoningEffort", - }), -); - export type V2ThreadMetadataUpdateResponse__CollabAgentToolCallStatus = | "inProgress" | "completed" @@ -9023,6 +10711,31 @@ export const V2ThreadMetadataUpdateResponse__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadMetadataUpdateResponse__WebSearchAction" }); +export type V2ThreadMetadataUpdateResponse__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ThreadMetadataUpdateResponse__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadMetadataUpdateResponse__ImageGenerationFailure" }); + export type V2ThreadMetadataUpdateResponse__TurnItemsView = "notLoaded" | "summary" | "full"; export const V2ThreadMetadataUpdateResponse__TurnItemsView = Schema.Union( [ @@ -9070,6 +10783,34 @@ export const V2ThreadReadResponse__GitInfo = Schema.Struct({ sha: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "V2ThreadReadResponse__GitInfo" }); +export type V2ThreadReadResponse__ThreadHistoryMode = "legacy" | "paginated"; +export const V2ThreadReadResponse__ThreadHistoryMode = Schema.Literals([ + "legacy", + "paginated", +]).annotate({ identifier: "V2ThreadReadResponse__ThreadHistoryMode" }); + +export type V2ThreadReadResponse__ReasoningEffort = string; +export const V2ThreadReadResponse__ReasoningEffort = Schema.String.annotate({ + description: "A non-empty reasoning effort value advertised by the model.", +}).check( + Schema.isMinLength(1).annotate({ + expected: "a value with a length of at least 1", + identifier: "V2ThreadReadResponse__ReasoningEffort", + }), +); + +export type V2ThreadReadResponse__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadReadResponse__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadReadResponse__ThreadSectionAppearance", +}); + export type V2ThreadReadResponse__AgentPath = string; export const V2ThreadReadResponse__AgentPath = Schema.String.annotate({ identifier: "V2ThreadReadResponse__AgentPath", @@ -9097,6 +10838,11 @@ export const V2ThreadReadResponse__NonSteerableTurnKind = Schema.Literals([ "compact", ]).annotate({ identifier: "V2ThreadReadResponse__NonSteerableTurnKind" }); +export type V2ThreadReadResponse__MisalignmentSteer = { readonly message: string }; +export const V2ThreadReadResponse__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ThreadReadResponse__MisalignmentSteer" }); + export type V2ThreadReadResponse__ByteRange = { readonly end: number; readonly start: number }; export const V2ThreadReadResponse__ByteRange = Schema.Struct({ end: Schema.Number.annotate({ format: "uint" }) @@ -9128,6 +10874,11 @@ export const V2ThreadReadResponse__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2ThreadReadResponse__HookPromptFragment" }); +export type V2ThreadReadResponse__AgentMessageDelivery = "async"; +export const V2ThreadReadResponse__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ThreadReadResponse__AgentMessageDelivery", +}); + export type V2ThreadReadResponse__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -9167,6 +10918,15 @@ export const V2ThreadReadResponse__MessagePhase = Schema.Union( identifier: "V2ThreadReadResponse__MessagePhase", }); +export type V2ThreadReadResponse__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ThreadReadResponse__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ThreadReadResponse__AsyncUserInputQuestion" }); + export type V2ThreadReadResponse__LegacyAppPathString = string; export const V2ThreadReadResponse__LegacyAppPathString = Schema.String.annotate({ identifier: "V2ThreadReadResponse__LegacyAppPathString", @@ -9248,6 +11008,12 @@ export const V2ThreadReadResponse__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2ThreadReadResponse__McpToolCallError" }); +export type V2ThreadReadResponse__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ThreadReadResponse__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ThreadReadResponse__McpAppDisplayMode" }); + export type V2ThreadReadResponse__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -9319,16 +11085,6 @@ export const V2ThreadReadResponse__CollabAgentStatus = Schema.Literals([ "notFound", ]).annotate({ identifier: "V2ThreadReadResponse__CollabAgentStatus" }); -export type V2ThreadReadResponse__ReasoningEffort = string; -export const V2ThreadReadResponse__ReasoningEffort = Schema.String.annotate({ - description: "A non-empty reasoning effort value advertised by the model.", -}).check( - Schema.isMinLength(1).annotate({ - expected: "a value with a length of at least 1", - identifier: "V2ThreadReadResponse__ReasoningEffort", - }), -); - export type V2ThreadReadResponse__CollabAgentToolCallStatus = | "inProgress" | "completed" @@ -9407,6 +11163,31 @@ export const V2ThreadReadResponse__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadReadResponse__WebSearchAction" }); +export type V2ThreadReadResponse__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ThreadReadResponse__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadReadResponse__ImageGenerationFailure" }); + export type V2ThreadReadResponse__TurnItemsView = "notLoaded" | "summary" | "full"; export const V2ThreadReadResponse__TurnItemsView = Schema.Union( [ @@ -9436,6 +11217,110 @@ export const V2ThreadReadResponse__TurnStatus = Schema.Literals([ "inProgress", ]).annotate({ identifier: "V2ThreadReadResponse__TurnStatus" }); +export type V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeTranscriptRole = + | "user" + | "assistant"; +export const V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeTranscriptRole = + Schema.Literals(["user", "assistant"]).annotate({ + identifier: "V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeTranscriptRole", + }); + +export type V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeBemItemPresentation = + | { readonly type: "wholeItem" } + | { readonly type: "inlineMarkdown" } + | { readonly index: number; readonly type: "inlineVisualization" }; +export const V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeBemItemPresentation = + Schema.Union( + [ + Schema.Struct({ + type: Schema.Literal("wholeItem").annotate({ + title: "WholeItemThreadRealtimeBemItemPresentationType", + }), + }).annotate({ title: "WholeItemThreadRealtimeBemItemPresentation" }), + Schema.Struct({ + type: Schema.Literal("inlineMarkdown").annotate({ + title: "InlineMarkdownThreadRealtimeBemItemPresentationType", + }), + }).annotate({ title: "InlineMarkdownThreadRealtimeBemItemPresentation" }), + Schema.Struct({ + index: Schema.Number.annotate({ format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + type: Schema.Literal("inlineVisualization").annotate({ + title: "InlineVisualizationThreadRealtimeBemItemPresentationType", + }), + }).annotate({ title: "InlineVisualizationThreadRealtimeBemItemPresentation" }), + ], + { mode: "oneOf" }, + ).annotate({ + description: "EXPERIMENTAL - how an existing agent item appears in a realtime conversation.", + identifier: "V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeBemItemPresentation", + }); + +export type V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeSessionOutcome = + | "ended" + | "failed"; +export const V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeSessionOutcome = + Schema.Literals(["ended", "failed"]).annotate({ + identifier: "V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeSessionOutcome", + }); + +export type V2ThreadRealtimeItemStartedNotification__ThreadRealtimeTranscriptRole = + | "user" + | "assistant"; +export const V2ThreadRealtimeItemStartedNotification__ThreadRealtimeTranscriptRole = + Schema.Literals(["user", "assistant"]).annotate({ + identifier: "V2ThreadRealtimeItemStartedNotification__ThreadRealtimeTranscriptRole", + }); + +export type V2ThreadRealtimeItemStartedNotification__ThreadRealtimeBemItemPresentation = + | { readonly type: "wholeItem" } + | { readonly type: "inlineMarkdown" } + | { readonly index: number; readonly type: "inlineVisualization" }; +export const V2ThreadRealtimeItemStartedNotification__ThreadRealtimeBemItemPresentation = + Schema.Union( + [ + Schema.Struct({ + type: Schema.Literal("wholeItem").annotate({ + title: "WholeItemThreadRealtimeBemItemPresentationType", + }), + }).annotate({ title: "WholeItemThreadRealtimeBemItemPresentation" }), + Schema.Struct({ + type: Schema.Literal("inlineMarkdown").annotate({ + title: "InlineMarkdownThreadRealtimeBemItemPresentationType", + }), + }).annotate({ title: "InlineMarkdownThreadRealtimeBemItemPresentation" }), + Schema.Struct({ + index: Schema.Number.annotate({ format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + type: Schema.Literal("inlineVisualization").annotate({ + title: "InlineVisualizationThreadRealtimeBemItemPresentationType", + }), + }).annotate({ title: "InlineVisualizationThreadRealtimeBemItemPresentation" }), + ], + { mode: "oneOf" }, + ).annotate({ + description: "EXPERIMENTAL - how an existing agent item appears in a realtime conversation.", + identifier: "V2ThreadRealtimeItemStartedNotification__ThreadRealtimeBemItemPresentation", + }); + +export type V2ThreadRealtimeItemStartedNotification__ThreadRealtimeSessionOutcome = + | "ended" + | "failed"; +export const V2ThreadRealtimeItemStartedNotification__ThreadRealtimeSessionOutcome = + Schema.Literals(["ended", "failed"]).annotate({ + identifier: "V2ThreadRealtimeItemStartedNotification__ThreadRealtimeSessionOutcome", + }); + export type V2ThreadRealtimeOutputAudioDeltaNotification__ThreadRealtimeAudioChunk = { readonly data: string; readonly itemId?: string | null; @@ -9531,7 +11416,10 @@ export const V2ThreadResumeParams__Personality = Schema.Literals([ "none", "friendly", "pragmatic", -]).annotate({ identifier: "V2ThreadResumeParams__Personality" }); +]).annotate({ + description: "Deprecated: `friendly` and `pragmatic` no longer select a style.", + identifier: "V2ThreadResumeParams__Personality", +}); export type V2ThreadResumeParams__SandboxMode = | "read-only" @@ -9543,6 +11431,16 @@ export const V2ThreadResumeParams__SandboxMode = Schema.Literals([ "danger-full-access", ]).annotate({ identifier: "V2ThreadResumeParams__SandboxMode" }); +export type V2ThreadResumeParams__ReasoningEffort = string; +export const V2ThreadResumeParams__ReasoningEffort = Schema.String.annotate({ + description: "A non-empty reasoning effort value advertised by the model.", +}).check( + Schema.isMinLength(1).annotate({ + expected: "a value with a length of at least 1", + identifier: "V2ThreadResumeParams__ReasoningEffort", + }), +); + export type V2ThreadResumeParams__ImageDetail = "auto" | "low" | "high" | "original"; export const V2ThreadResumeParams__ImageDetail = Schema.Literals([ "auto", @@ -9783,6 +11681,22 @@ export const V2ThreadResumeResponse__ApprovalsReviewer = Schema.Literals([ identifier: "V2ThreadResumeResponse__ApprovalsReviewer", }); +export type V2ThreadResumeResponse__ModeKind = "plan" | "default"; +export const V2ThreadResumeResponse__ModeKind = Schema.Literals(["plan", "default"]).annotate({ + description: "Initial collaboration mode to use when the TUI starts.", + identifier: "V2ThreadResumeResponse__ModeKind", +}); + +export type V2ThreadResumeResponse__ReasoningEffort = string; +export const V2ThreadResumeResponse__ReasoningEffort = Schema.String.annotate({ + description: "A non-empty reasoning effort value advertised by the model.", +}).check( + Schema.isMinLength(1).annotate({ + expected: "a value with a length of at least 1", + identifier: "V2ThreadResumeResponse__ReasoningEffort", + }), +); + export type V2ThreadResumeResponse__AbsolutePathBuf = string; export const V2ThreadResumeResponse__AbsolutePathBuf = Schema.String.annotate({ description: @@ -9795,16 +11709,6 @@ export const V2ThreadResumeResponse__LegacyAppPathString = Schema.String.annotat identifier: "V2ThreadResumeResponse__LegacyAppPathString", }); -export type V2ThreadResumeResponse__ReasoningEffort = string; -export const V2ThreadResumeResponse__ReasoningEffort = Schema.String.annotate({ - description: "A non-empty reasoning effort value advertised by the model.", -}).check( - Schema.isMinLength(1).annotate({ - expected: "a value with a length of at least 1", - identifier: "V2ThreadResumeResponse__ReasoningEffort", - }), -); - export type V2ThreadResumeResponse__NetworkAccess = "restricted" | "enabled"; export const V2ThreadResumeResponse__NetworkAccess = Schema.Literals([ "restricted", @@ -9822,6 +11726,24 @@ export const V2ThreadResumeResponse__GitInfo = Schema.Struct({ sha: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "V2ThreadResumeResponse__GitInfo" }); +export type V2ThreadResumeResponse__ThreadHistoryMode = "legacy" | "paginated"; +export const V2ThreadResumeResponse__ThreadHistoryMode = Schema.Literals([ + "legacy", + "paginated", +]).annotate({ identifier: "V2ThreadResumeResponse__ThreadHistoryMode" }); + +export type V2ThreadResumeResponse__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadResumeResponse__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadResumeResponse__ThreadSectionAppearance", +}); + export type V2ThreadResumeResponse__AgentPath = string; export const V2ThreadResumeResponse__AgentPath = Schema.String.annotate({ identifier: "V2ThreadResumeResponse__AgentPath", @@ -9849,6 +11771,11 @@ export const V2ThreadResumeResponse__NonSteerableTurnKind = Schema.Literals([ "compact", ]).annotate({ identifier: "V2ThreadResumeResponse__NonSteerableTurnKind" }); +export type V2ThreadResumeResponse__MisalignmentSteer = { readonly message: string }; +export const V2ThreadResumeResponse__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ThreadResumeResponse__MisalignmentSteer" }); + export type V2ThreadResumeResponse__ByteRange = { readonly end: number; readonly start: number }; export const V2ThreadResumeResponse__ByteRange = Schema.Struct({ end: Schema.Number.annotate({ format: "uint" }) @@ -9880,6 +11807,11 @@ export const V2ThreadResumeResponse__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2ThreadResumeResponse__HookPromptFragment" }); +export type V2ThreadResumeResponse__AgentMessageDelivery = "async"; +export const V2ThreadResumeResponse__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ThreadResumeResponse__AgentMessageDelivery", +}); + export type V2ThreadResumeResponse__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -9919,6 +11851,15 @@ export const V2ThreadResumeResponse__MessagePhase = Schema.Union( identifier: "V2ThreadResumeResponse__MessagePhase", }); +export type V2ThreadResumeResponse__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ThreadResumeResponse__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ThreadResumeResponse__AsyncUserInputQuestion" }); + export type V2ThreadResumeResponse__CommandExecutionSource = | "agent" | "userShell" @@ -9995,6 +11936,12 @@ export const V2ThreadResumeResponse__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2ThreadResumeResponse__McpToolCallError" }); +export type V2ThreadResumeResponse__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ThreadResumeResponse__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ThreadResumeResponse__McpAppDisplayMode" }); + export type V2ThreadResumeResponse__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -10144,6 +12091,31 @@ export const V2ThreadResumeResponse__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadResumeResponse__WebSearchAction" }); +export type V2ThreadResumeResponse__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ThreadResumeResponse__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadResumeResponse__ImageGenerationFailure" }); + export type V2ThreadResumeResponse__TurnItemsView = "notLoaded" | "summary" | "full"; export const V2ThreadResumeResponse__TurnItemsView = Schema.Union( [ @@ -10173,53 +12145,86 @@ export const V2ThreadResumeResponse__TurnStatus = Schema.Literals([ "inProgress", ]).annotate({ identifier: "V2ThreadResumeResponse__TurnStatus" }); -export type V2ThreadRollbackResponse__AbsolutePathBuf = string; -export const V2ThreadRollbackResponse__AbsolutePathBuf = Schema.String.annotate({ +export type V2ThreadRevertResponse__AbsolutePathBuf = string; +export const V2ThreadRevertResponse__AbsolutePathBuf = Schema.String.annotate({ description: "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - identifier: "V2ThreadRollbackResponse__AbsolutePathBuf", + identifier: "V2ThreadRevertResponse__AbsolutePathBuf", }); -export type V2ThreadRollbackResponse__GitInfo = { +export type V2ThreadRevertResponse__GitInfo = { readonly branch?: string | null; readonly originUrl?: string | null; readonly sha?: string | null; }; -export const V2ThreadRollbackResponse__GitInfo = Schema.Struct({ +export const V2ThreadRevertResponse__GitInfo = Schema.Struct({ branch: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), originUrl: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), sha: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), -}).annotate({ identifier: "V2ThreadRollbackResponse__GitInfo" }); +}).annotate({ identifier: "V2ThreadRevertResponse__GitInfo" }); -export type V2ThreadRollbackResponse__AgentPath = string; -export const V2ThreadRollbackResponse__AgentPath = Schema.String.annotate({ - identifier: "V2ThreadRollbackResponse__AgentPath", +export type V2ThreadRevertResponse__ThreadHistoryMode = "legacy" | "paginated"; +export const V2ThreadRevertResponse__ThreadHistoryMode = Schema.Literals([ + "legacy", + "paginated", +]).annotate({ identifier: "V2ThreadRevertResponse__ThreadHistoryMode" }); + +export type V2ThreadRevertResponse__ReasoningEffort = string; +export const V2ThreadRevertResponse__ReasoningEffort = Schema.String.annotate({ + description: "A non-empty reasoning effort value advertised by the model.", +}).check( + Schema.isMinLength(1).annotate({ + expected: "a value with a length of at least 1", + identifier: "V2ThreadRevertResponse__ReasoningEffort", + }), +); + +export type V2ThreadRevertResponse__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadRevertResponse__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadRevertResponse__ThreadSectionAppearance", +}); + +export type V2ThreadRevertResponse__AgentPath = string; +export const V2ThreadRevertResponse__AgentPath = Schema.String.annotate({ + identifier: "V2ThreadRevertResponse__AgentPath", }); -export type V2ThreadRollbackResponse__ThreadId = string; -export const V2ThreadRollbackResponse__ThreadId = Schema.String.annotate({ - identifier: "V2ThreadRollbackResponse__ThreadId", +export type V2ThreadRevertResponse__ThreadId = string; +export const V2ThreadRevertResponse__ThreadId = Schema.String.annotate({ + identifier: "V2ThreadRevertResponse__ThreadId", }); -export type V2ThreadRollbackResponse__ThreadActiveFlag = "waitingOnApproval" | "waitingOnUserInput"; -export const V2ThreadRollbackResponse__ThreadActiveFlag = Schema.Literals([ +export type V2ThreadRevertResponse__ThreadActiveFlag = "waitingOnApproval" | "waitingOnUserInput"; +export const V2ThreadRevertResponse__ThreadActiveFlag = Schema.Literals([ "waitingOnApproval", "waitingOnUserInput", -]).annotate({ identifier: "V2ThreadRollbackResponse__ThreadActiveFlag" }); +]).annotate({ identifier: "V2ThreadRevertResponse__ThreadActiveFlag" }); -export type V2ThreadRollbackResponse__ThreadSource = string; -export const V2ThreadRollbackResponse__ThreadSource = Schema.String.annotate({ - identifier: "V2ThreadRollbackResponse__ThreadSource", +export type V2ThreadRevertResponse__ThreadSource = string; +export const V2ThreadRevertResponse__ThreadSource = Schema.String.annotate({ + identifier: "V2ThreadRevertResponse__ThreadSource", }); -export type V2ThreadRollbackResponse__NonSteerableTurnKind = "review" | "compact"; -export const V2ThreadRollbackResponse__NonSteerableTurnKind = Schema.Literals([ +export type V2ThreadRevertResponse__NonSteerableTurnKind = "review" | "compact"; +export const V2ThreadRevertResponse__NonSteerableTurnKind = Schema.Literals([ "review", "compact", -]).annotate({ identifier: "V2ThreadRollbackResponse__NonSteerableTurnKind" }); +]).annotate({ identifier: "V2ThreadRevertResponse__NonSteerableTurnKind" }); -export type V2ThreadRollbackResponse__ByteRange = { readonly end: number; readonly start: number }; -export const V2ThreadRollbackResponse__ByteRange = Schema.Struct({ +export type V2ThreadRevertResponse__MisalignmentSteer = { readonly message: string }; +export const V2ThreadRevertResponse__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ThreadRevertResponse__MisalignmentSteer" }); + +export type V2ThreadRevertResponse__ByteRange = { readonly end: number; readonly start: number }; +export const V2ThreadRevertResponse__ByteRange = Schema.Struct({ end: Schema.Number.annotate({ format: "uint" }) .check(Schema.isInt().annotate({ expected: "an integer" })) .check( @@ -10230,32 +12235,37 @@ export const V2ThreadRollbackResponse__ByteRange = Schema.Struct({ .check( Schema.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }), ), -}).annotate({ identifier: "V2ThreadRollbackResponse__ByteRange" }); +}).annotate({ identifier: "V2ThreadRevertResponse__ByteRange" }); -export type V2ThreadRollbackResponse__ImageDetail = "auto" | "low" | "high" | "original"; -export const V2ThreadRollbackResponse__ImageDetail = Schema.Literals([ +export type V2ThreadRevertResponse__ImageDetail = "auto" | "low" | "high" | "original"; +export const V2ThreadRevertResponse__ImageDetail = Schema.Literals([ "auto", "low", "high", "original", -]).annotate({ identifier: "V2ThreadRollbackResponse__ImageDetail" }); +]).annotate({ identifier: "V2ThreadRevertResponse__ImageDetail" }); -export type V2ThreadRollbackResponse__HookPromptFragment = { +export type V2ThreadRevertResponse__HookPromptFragment = { readonly hookRunId: string; readonly text: string; }; -export const V2ThreadRollbackResponse__HookPromptFragment = Schema.Struct({ +export const V2ThreadRevertResponse__HookPromptFragment = Schema.Struct({ hookRunId: Schema.String, text: Schema.String, -}).annotate({ identifier: "V2ThreadRollbackResponse__HookPromptFragment" }); +}).annotate({ identifier: "V2ThreadRevertResponse__HookPromptFragment" }); -export type V2ThreadRollbackResponse__MemoryCitationEntry = { +export type V2ThreadRevertResponse__AgentMessageDelivery = "async"; +export const V2ThreadRevertResponse__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ThreadRevertResponse__AgentMessageDelivery", +}); + +export type V2ThreadRevertResponse__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; readonly note: string; readonly path: string; }; -export const V2ThreadRollbackResponse__MemoryCitationEntry = Schema.Struct({ +export const V2ThreadRevertResponse__MemoryCitationEntry = Schema.Struct({ lineEnd: Schema.Number.annotate({ format: "uint32" }) .check(Schema.isInt().annotate({ expected: "an integer" })) .check( @@ -10268,10 +12278,10 @@ export const V2ThreadRollbackResponse__MemoryCitationEntry = Schema.Struct({ ), note: Schema.String, path: Schema.String, -}).annotate({ identifier: "V2ThreadRollbackResponse__MemoryCitationEntry" }); +}).annotate({ identifier: "V2ThreadRevertResponse__MemoryCitationEntry" }); -export type V2ThreadRollbackResponse__MessagePhase = "commentary" | "final_answer"; -export const V2ThreadRollbackResponse__MessagePhase = Schema.Union( +export type V2ThreadRevertResponse__MessagePhase = "commentary" | "final_answer"; +export const V2ThreadRevertResponse__MessagePhase = Schema.Union( [ Schema.Literal("commentary").annotate({ description: @@ -10285,43 +12295,52 @@ export const V2ThreadRollbackResponse__MessagePhase = Schema.Union( ).annotate({ description: 'Classifies an assistant message as interim commentary or final answer text.\n\nProviders do not emit this consistently, so callers must treat `None` as "phase unknown" and keep compatibility behavior for legacy models.', - identifier: "V2ThreadRollbackResponse__MessagePhase", + identifier: "V2ThreadRevertResponse__MessagePhase", }); -export type V2ThreadRollbackResponse__LegacyAppPathString = string; -export const V2ThreadRollbackResponse__LegacyAppPathString = Schema.String.annotate({ - identifier: "V2ThreadRollbackResponse__LegacyAppPathString", +export type V2ThreadRevertResponse__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ThreadRevertResponse__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ThreadRevertResponse__AsyncUserInputQuestion" }); + +export type V2ThreadRevertResponse__LegacyAppPathString = string; +export const V2ThreadRevertResponse__LegacyAppPathString = Schema.String.annotate({ + identifier: "V2ThreadRevertResponse__LegacyAppPathString", }); -export type V2ThreadRollbackResponse__CommandExecutionSource = +export type V2ThreadRevertResponse__CommandExecutionSource = | "agent" | "userShell" | "unifiedExecStartup" | "unifiedExecInteraction"; -export const V2ThreadRollbackResponse__CommandExecutionSource = Schema.Literals([ +export const V2ThreadRevertResponse__CommandExecutionSource = Schema.Literals([ "agent", "userShell", "unifiedExecStartup", "unifiedExecInteraction", -]).annotate({ identifier: "V2ThreadRollbackResponse__CommandExecutionSource" }); +]).annotate({ identifier: "V2ThreadRevertResponse__CommandExecutionSource" }); -export type V2ThreadRollbackResponse__CommandExecutionStatus = +export type V2ThreadRevertResponse__CommandExecutionStatus = | "inProgress" | "completed" | "failed" | "declined"; -export const V2ThreadRollbackResponse__CommandExecutionStatus = Schema.Literals([ +export const V2ThreadRevertResponse__CommandExecutionStatus = Schema.Literals([ "inProgress", "completed", "failed", "declined", -]).annotate({ identifier: "V2ThreadRollbackResponse__CommandExecutionStatus" }); +]).annotate({ identifier: "V2ThreadRevertResponse__CommandExecutionStatus" }); -export type V2ThreadRollbackResponse__PatchChangeKind = +export type V2ThreadRevertResponse__PatchChangeKind = | { readonly type: "add" } | { readonly type: "delete" } | { readonly move_path?: string | null; readonly type: "update" }; -export const V2ThreadRollbackResponse__PatchChangeKind = Schema.Union( +export const V2ThreadRevertResponse__PatchChangeKind = Schema.Union( [ Schema.Struct({ type: Schema.Literal("add").annotate({ title: "AddPatchChangeKindType" }), @@ -10335,63 +12354,69 @@ export const V2ThreadRollbackResponse__PatchChangeKind = Schema.Union( }).annotate({ title: "UpdatePatchChangeKind" }), ], { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadRollbackResponse__PatchChangeKind" }); +).annotate({ identifier: "V2ThreadRevertResponse__PatchChangeKind" }); -export type V2ThreadRollbackResponse__PatchApplyStatus = +export type V2ThreadRevertResponse__PatchApplyStatus = | "inProgress" | "completed" | "failed" | "declined"; -export const V2ThreadRollbackResponse__PatchApplyStatus = Schema.Literals([ +export const V2ThreadRevertResponse__PatchApplyStatus = Schema.Literals([ "inProgress", "completed", "failed", "declined", -]).annotate({ identifier: "V2ThreadRollbackResponse__PatchApplyStatus" }); +]).annotate({ identifier: "V2ThreadRevertResponse__PatchApplyStatus" }); -export type V2ThreadRollbackResponse__McpToolCallAppContext = { +export type V2ThreadRevertResponse__McpToolCallAppContext = { readonly actionName?: string | null; readonly appName?: string | null; readonly connectorId: string; readonly linkId?: string | null; readonly resourceUri?: string | null; }; -export const V2ThreadRollbackResponse__McpToolCallAppContext = Schema.Struct({ +export const V2ThreadRevertResponse__McpToolCallAppContext = Schema.Struct({ actionName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), appName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), connectorId: Schema.String, linkId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), resourceUri: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), -}).annotate({ identifier: "V2ThreadRollbackResponse__McpToolCallAppContext" }); +}).annotate({ identifier: "V2ThreadRevertResponse__McpToolCallAppContext" }); -export type V2ThreadRollbackResponse__McpToolCallError = { readonly message: string }; -export const V2ThreadRollbackResponse__McpToolCallError = Schema.Struct({ +export type V2ThreadRevertResponse__McpToolCallError = { readonly message: string }; +export const V2ThreadRevertResponse__McpToolCallError = Schema.Struct({ message: Schema.String, -}).annotate({ identifier: "V2ThreadRollbackResponse__McpToolCallError" }); +}).annotate({ identifier: "V2ThreadRevertResponse__McpToolCallError" }); -export type V2ThreadRollbackResponse__McpToolCallResult = { +export type V2ThreadRevertResponse__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ThreadRevertResponse__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ThreadRevertResponse__McpAppDisplayMode" }); + +export type V2ThreadRevertResponse__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; readonly structuredContent?: Schema.Json; }; -export const V2ThreadRollbackResponse__McpToolCallResult = Schema.Struct({ +export const V2ThreadRevertResponse__McpToolCallResult = Schema.Struct({ _meta: Schema.optionalKey(Schema.Json.annotate({ expected: "JSON value" })), content: Schema.Array(Schema.Json.annotate({ expected: "JSON value" })), structuredContent: Schema.optionalKey(Schema.Json.annotate({ expected: "JSON value" })), -}).annotate({ identifier: "V2ThreadRollbackResponse__McpToolCallResult" }); +}).annotate({ identifier: "V2ThreadRevertResponse__McpToolCallResult" }); -export type V2ThreadRollbackResponse__McpToolCallStatus = "inProgress" | "completed" | "failed"; -export const V2ThreadRollbackResponse__McpToolCallStatus = Schema.Literals([ +export type V2ThreadRevertResponse__McpToolCallStatus = "inProgress" | "completed" | "failed"; +export const V2ThreadRevertResponse__McpToolCallStatus = Schema.Literals([ "inProgress", "completed", "failed", -]).annotate({ identifier: "V2ThreadRollbackResponse__McpToolCallStatus" }); +]).annotate({ identifier: "V2ThreadRevertResponse__McpToolCallStatus" }); -export type V2ThreadRollbackResponse__DynamicToolCallOutputContentItem = +export type V2ThreadRevertResponse__DynamicToolCallOutputContentItem = | { readonly text: string; readonly type: "inputText" } | { readonly imageUrl: string; readonly type: "inputImage" } | { readonly audioUrl: string; readonly type: "inputAudio" }; -export const V2ThreadRollbackResponse__DynamicToolCallOutputContentItem = Schema.Union( +export const V2ThreadRevertResponse__DynamicToolCallOutputContentItem = Schema.Union( [ Schema.Struct({ text: Schema.String, @@ -10413,16 +12438,16 @@ export const V2ThreadRollbackResponse__DynamicToolCallOutputContentItem = Schema }).annotate({ title: "InputAudioDynamicToolCallOutputContentItem" }), ], { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadRollbackResponse__DynamicToolCallOutputContentItem" }); +).annotate({ identifier: "V2ThreadRevertResponse__DynamicToolCallOutputContentItem" }); -export type V2ThreadRollbackResponse__DynamicToolCallStatus = "inProgress" | "completed" | "failed"; -export const V2ThreadRollbackResponse__DynamicToolCallStatus = Schema.Literals([ +export type V2ThreadRevertResponse__DynamicToolCallStatus = "inProgress" | "completed" | "failed"; +export const V2ThreadRevertResponse__DynamicToolCallStatus = Schema.Literals([ "inProgress", "completed", "failed", -]).annotate({ identifier: "V2ThreadRollbackResponse__DynamicToolCallStatus" }); +]).annotate({ identifier: "V2ThreadRevertResponse__DynamicToolCallStatus" }); -export type V2ThreadRollbackResponse__CollabAgentStatus = +export type V2ThreadRevertResponse__CollabAgentStatus = | "pendingInit" | "running" | "interrupted" @@ -10430,7 +12455,7 @@ export type V2ThreadRollbackResponse__CollabAgentStatus = | "errored" | "shutdown" | "notFound"; -export const V2ThreadRollbackResponse__CollabAgentStatus = Schema.Literals([ +export const V2ThreadRevertResponse__CollabAgentStatus = Schema.Literals([ "pendingInit", "running", "interrupted", @@ -10438,31 +12463,21 @@ export const V2ThreadRollbackResponse__CollabAgentStatus = Schema.Literals([ "errored", "shutdown", "notFound", -]).annotate({ identifier: "V2ThreadRollbackResponse__CollabAgentStatus" }); +]).annotate({ identifier: "V2ThreadRevertResponse__CollabAgentStatus" }); -export type V2ThreadRollbackResponse__ReasoningEffort = string; -export const V2ThreadRollbackResponse__ReasoningEffort = Schema.String.annotate({ - description: "A non-empty reasoning effort value advertised by the model.", -}).check( - Schema.isMinLength(1).annotate({ - expected: "a value with a length of at least 1", - identifier: "V2ThreadRollbackResponse__ReasoningEffort", - }), -); - -export type V2ThreadRollbackResponse__CollabAgentToolCallStatus = +export type V2ThreadRevertResponse__CollabAgentToolCallStatus = | "inProgress" | "completed" | "failed" | "interrupted"; -export const V2ThreadRollbackResponse__CollabAgentToolCallStatus = Schema.Literals([ +export const V2ThreadRevertResponse__CollabAgentToolCallStatus = Schema.Literals([ "inProgress", "completed", "failed", "interrupted", -]).annotate({ identifier: "V2ThreadRollbackResponse__CollabAgentToolCallStatus" }); +]).annotate({ identifier: "V2ThreadRevertResponse__CollabAgentToolCallStatus" }); -export type V2ThreadRollbackResponse__CollabAgentTool = +export type V2ThreadRevertResponse__CollabAgentTool = | "spawnAgent" | "sendInput" | "resumeAgent" @@ -10472,7 +12487,7 @@ export type V2ThreadRollbackResponse__CollabAgentTool = | "followupTask" | "interruptAgent" | "listAgents"; -export const V2ThreadRollbackResponse__CollabAgentTool = Schema.Literals([ +export const V2ThreadRevertResponse__CollabAgentTool = Schema.Literals([ "spawnAgent", "sendInput", "resumeAgent", @@ -10482,21 +12497,21 @@ export const V2ThreadRollbackResponse__CollabAgentTool = Schema.Literals([ "followupTask", "interruptAgent", "listAgents", -]).annotate({ identifier: "V2ThreadRollbackResponse__CollabAgentTool" }); +]).annotate({ identifier: "V2ThreadRevertResponse__CollabAgentTool" }); -export type V2ThreadRollbackResponse__SubAgentActivityKind = +export type V2ThreadRevertResponse__SubAgentActivityKind = | "started" | "interacted" | "interrupted" | "completed"; -export const V2ThreadRollbackResponse__SubAgentActivityKind = Schema.Literals([ +export const V2ThreadRevertResponse__SubAgentActivityKind = Schema.Literals([ "started", "interacted", "interrupted", "completed", -]).annotate({ identifier: "V2ThreadRollbackResponse__SubAgentActivityKind" }); +]).annotate({ identifier: "V2ThreadRevertResponse__SubAgentActivityKind" }); -export type V2ThreadRollbackResponse__WebSearchAction = +export type V2ThreadRevertResponse__WebSearchAction = | { readonly queries?: ReadonlyArray | null; readonly query?: string | null; @@ -10505,7 +12520,7 @@ export type V2ThreadRollbackResponse__WebSearchAction = | { readonly type: "openPage"; readonly url?: string | null } | { readonly pattern?: string | null; readonly type: "findInPage"; readonly url?: string | null } | { readonly type: "other" }; -export const V2ThreadRollbackResponse__WebSearchAction = Schema.Union( +export const V2ThreadRevertResponse__WebSearchAction = Schema.Union( [ Schema.Struct({ queries: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), @@ -10526,10 +12541,35 @@ export const V2ThreadRollbackResponse__WebSearchAction = Schema.Union( }).annotate({ title: "OtherWebSearchAction" }), ], { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadRollbackResponse__WebSearchAction" }); +).annotate({ identifier: "V2ThreadRevertResponse__WebSearchAction" }); -export type V2ThreadRollbackResponse__TurnItemsView = "notLoaded" | "summary" | "full"; -export const V2ThreadRollbackResponse__TurnItemsView = Schema.Union( +export type V2ThreadRevertResponse__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ThreadRevertResponse__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadRevertResponse__ImageGenerationFailure" }); + +export type V2ThreadRevertResponse__TurnItemsView = "notLoaded" | "summary" | "full"; +export const V2ThreadRevertResponse__TurnItemsView = Schema.Union( [ Schema.Literal("notLoaded").annotate({ description: "`items` was not loaded for this turn. The field is intentionally empty.", @@ -10543,19 +12583,79 @@ export const V2ThreadRollbackResponse__TurnItemsView = Schema.Union( }), ], { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadRollbackResponse__TurnItemsView" }); +).annotate({ identifier: "V2ThreadRevertResponse__TurnItemsView" }); -export type V2ThreadRollbackResponse__TurnStatus = +export type V2ThreadRevertResponse__TurnStatus = | "completed" | "interrupted" | "failed" | "inProgress"; -export const V2ThreadRollbackResponse__TurnStatus = Schema.Literals([ +export const V2ThreadRevertResponse__TurnStatus = Schema.Literals([ "completed", "interrupted", "failed", "inProgress", -]).annotate({ identifier: "V2ThreadRollbackResponse__TurnStatus" }); +]).annotate({ identifier: "V2ThreadRevertResponse__TurnStatus" }); + +export type V2ThreadSectionCreateParams__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadSectionCreateParams__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadSectionCreateParams__ThreadSectionAppearance", +}); + +export type V2ThreadSectionCreateResponse__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadSectionCreateResponse__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadSectionCreateResponse__ThreadSectionAppearance", +}); + +export type V2ThreadSectionListResponse__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadSectionListResponse__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadSectionListResponse__ThreadSectionAppearance", +}); + +export type V2ThreadSectionUpdateParams__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadSectionUpdateParams__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadSectionUpdateParams__ThreadSectionAppearance", +}); + +export type V2ThreadSectionUpdateResponse__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadSectionUpdateResponse__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadSectionUpdateResponse__ThreadSectionAppearance", +}); export type V2ThreadSettingsUpdatedNotification__ActivePermissionProfile = { readonly extends?: string | null; @@ -10651,7 +12751,10 @@ export const V2ThreadSettingsUpdatedNotification__Personality = Schema.Literals( "none", "friendly", "pragmatic", -]).annotate({ identifier: "V2ThreadSettingsUpdatedNotification__Personality" }); +]).annotate({ + description: "Deprecated: `friendly` and `pragmatic` no longer select a style.", + identifier: "V2ThreadSettingsUpdatedNotification__Personality", +}); export type V2ThreadSettingsUpdatedNotification__NetworkAccess = "restricted" | "enabled"; export const V2ThreadSettingsUpdatedNotification__NetworkAccess = Schema.Literals([ @@ -10694,6 +12797,34 @@ export const V2ThreadStartedNotification__GitInfo = Schema.Struct({ sha: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "V2ThreadStartedNotification__GitInfo" }); +export type V2ThreadStartedNotification__ThreadHistoryMode = "legacy" | "paginated"; +export const V2ThreadStartedNotification__ThreadHistoryMode = Schema.Literals([ + "legacy", + "paginated", +]).annotate({ identifier: "V2ThreadStartedNotification__ThreadHistoryMode" }); + +export type V2ThreadStartedNotification__ReasoningEffort = string; +export const V2ThreadStartedNotification__ReasoningEffort = Schema.String.annotate({ + description: "A non-empty reasoning effort value advertised by the model.", +}).check( + Schema.isMinLength(1).annotate({ + expected: "a value with a length of at least 1", + identifier: "V2ThreadStartedNotification__ReasoningEffort", + }), +); + +export type V2ThreadStartedNotification__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadStartedNotification__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadStartedNotification__ThreadSectionAppearance", +}); + export type V2ThreadStartedNotification__AgentPath = string; export const V2ThreadStartedNotification__AgentPath = Schema.String.annotate({ identifier: "V2ThreadStartedNotification__AgentPath", @@ -10723,6 +12854,11 @@ export const V2ThreadStartedNotification__NonSteerableTurnKind = Schema.Literals "compact", ]).annotate({ identifier: "V2ThreadStartedNotification__NonSteerableTurnKind" }); +export type V2ThreadStartedNotification__MisalignmentSteer = { readonly message: string }; +export const V2ThreadStartedNotification__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ThreadStartedNotification__MisalignmentSteer" }); + export type V2ThreadStartedNotification__ByteRange = { readonly end: number; readonly start: number; @@ -10757,6 +12893,11 @@ export const V2ThreadStartedNotification__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2ThreadStartedNotification__HookPromptFragment" }); +export type V2ThreadStartedNotification__AgentMessageDelivery = "async"; +export const V2ThreadStartedNotification__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ThreadStartedNotification__AgentMessageDelivery", +}); + export type V2ThreadStartedNotification__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -10796,6 +12937,15 @@ export const V2ThreadStartedNotification__MessagePhase = Schema.Union( identifier: "V2ThreadStartedNotification__MessagePhase", }); +export type V2ThreadStartedNotification__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ThreadStartedNotification__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ThreadStartedNotification__AsyncUserInputQuestion" }); + export type V2ThreadStartedNotification__LegacyAppPathString = string; export const V2ThreadStartedNotification__LegacyAppPathString = Schema.String.annotate({ identifier: "V2ThreadStartedNotification__LegacyAppPathString", @@ -10877,6 +13027,12 @@ export const V2ThreadStartedNotification__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2ThreadStartedNotification__McpToolCallError" }); +export type V2ThreadStartedNotification__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ThreadStartedNotification__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ThreadStartedNotification__McpAppDisplayMode" }); + export type V2ThreadStartedNotification__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -10951,16 +13107,6 @@ export const V2ThreadStartedNotification__CollabAgentStatus = Schema.Literals([ "notFound", ]).annotate({ identifier: "V2ThreadStartedNotification__CollabAgentStatus" }); -export type V2ThreadStartedNotification__ReasoningEffort = string; -export const V2ThreadStartedNotification__ReasoningEffort = Schema.String.annotate({ - description: "A non-empty reasoning effort value advertised by the model.", -}).check( - Schema.isMinLength(1).annotate({ - expected: "a value with a length of at least 1", - identifier: "V2ThreadStartedNotification__ReasoningEffort", - }), -); - export type V2ThreadStartedNotification__CollabAgentToolCallStatus = | "inProgress" | "completed" @@ -11039,6 +13185,31 @@ export const V2ThreadStartedNotification__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadStartedNotification__WebSearchAction" }); +export type V2ThreadStartedNotification__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ThreadStartedNotification__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadStartedNotification__ImageGenerationFailure" }); + export type V2ThreadStartedNotification__TurnItemsView = "notLoaded" | "summary" | "full"; export const V2ThreadStartedNotification__TurnItemsView = Schema.Union( [ @@ -11113,7 +13284,10 @@ export const V2ThreadStartParams__Personality = Schema.Literals([ "none", "friendly", "pragmatic", -]).annotate({ identifier: "V2ThreadStartParams__Personality" }); +]).annotate({ + description: "Deprecated: `friendly` and `pragmatic` no longer select a style.", + identifier: "V2ThreadStartParams__Personality", +}); export type V2ThreadStartParams__SandboxMode = | "read-only" @@ -11266,6 +13440,24 @@ export const V2ThreadStartResponse__GitInfo = Schema.Struct({ sha: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "V2ThreadStartResponse__GitInfo" }); +export type V2ThreadStartResponse__ThreadHistoryMode = "legacy" | "paginated"; +export const V2ThreadStartResponse__ThreadHistoryMode = Schema.Literals([ + "legacy", + "paginated", +]).annotate({ identifier: "V2ThreadStartResponse__ThreadHistoryMode" }); + +export type V2ThreadStartResponse__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadStartResponse__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadStartResponse__ThreadSectionAppearance", +}); + export type V2ThreadStartResponse__AgentPath = string; export const V2ThreadStartResponse__AgentPath = Schema.String.annotate({ identifier: "V2ThreadStartResponse__AgentPath", @@ -11293,6 +13485,11 @@ export const V2ThreadStartResponse__NonSteerableTurnKind = Schema.Literals([ "compact", ]).annotate({ identifier: "V2ThreadStartResponse__NonSteerableTurnKind" }); +export type V2ThreadStartResponse__MisalignmentSteer = { readonly message: string }; +export const V2ThreadStartResponse__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ThreadStartResponse__MisalignmentSteer" }); + export type V2ThreadStartResponse__ByteRange = { readonly end: number; readonly start: number }; export const V2ThreadStartResponse__ByteRange = Schema.Struct({ end: Schema.Number.annotate({ format: "uint" }) @@ -11324,6 +13521,11 @@ export const V2ThreadStartResponse__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2ThreadStartResponse__HookPromptFragment" }); +export type V2ThreadStartResponse__AgentMessageDelivery = "async"; +export const V2ThreadStartResponse__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ThreadStartResponse__AgentMessageDelivery", +}); + export type V2ThreadStartResponse__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -11363,6 +13565,15 @@ export const V2ThreadStartResponse__MessagePhase = Schema.Union( identifier: "V2ThreadStartResponse__MessagePhase", }); +export type V2ThreadStartResponse__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ThreadStartResponse__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ThreadStartResponse__AsyncUserInputQuestion" }); + export type V2ThreadStartResponse__CommandExecutionSource = | "agent" | "userShell" @@ -11439,6 +13650,12 @@ export const V2ThreadStartResponse__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2ThreadStartResponse__McpToolCallError" }); +export type V2ThreadStartResponse__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ThreadStartResponse__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ThreadStartResponse__McpAppDisplayMode" }); + export type V2ThreadStartResponse__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -11588,6 +13805,31 @@ export const V2ThreadStartResponse__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadStartResponse__WebSearchAction" }); +export type V2ThreadStartResponse__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ThreadStartResponse__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadStartResponse__ImageGenerationFailure" }); + export type V2ThreadStartResponse__TurnItemsView = "notLoaded" | "summary" | "full"; export const V2ThreadStartResponse__TurnItemsView = Schema.Union( [ @@ -11656,6 +13898,433 @@ export const V2ThreadTokenUsageUpdatedNotification__TokenUsageBreakdown = Schema ), }).annotate({ identifier: "V2ThreadTokenUsageUpdatedNotification__TokenUsageBreakdown" }); +export type V2ThreadTurnsListParams__TurnItemsView = "notLoaded" | "summary" | "full"; +export const V2ThreadTurnsListParams__TurnItemsView = Schema.Union( + [ + Schema.Literal("notLoaded").annotate({ + description: "`items` was not loaded for this turn. The field is intentionally empty.", + }), + Schema.Literal("summary").annotate({ + description: "`items` contains only a display summary for this turn.", + }), + Schema.Literal("full").annotate({ + description: + "`items` contains every ThreadItem available from persisted app-server history for this turn.", + }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadTurnsListParams__TurnItemsView" }); + +export type V2ThreadTurnsListParams__SortDirection = "asc" | "desc"; +export const V2ThreadTurnsListParams__SortDirection = Schema.Literals(["asc", "desc"]).annotate({ + identifier: "V2ThreadTurnsListParams__SortDirection", +}); + +export type V2ThreadTurnsListResponse__NonSteerableTurnKind = "review" | "compact"; +export const V2ThreadTurnsListResponse__NonSteerableTurnKind = Schema.Literals([ + "review", + "compact", +]).annotate({ identifier: "V2ThreadTurnsListResponse__NonSteerableTurnKind" }); + +export type V2ThreadTurnsListResponse__MisalignmentSteer = { readonly message: string }; +export const V2ThreadTurnsListResponse__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ThreadTurnsListResponse__MisalignmentSteer" }); + +export type V2ThreadTurnsListResponse__ByteRange = { readonly end: number; readonly start: number }; +export const V2ThreadTurnsListResponse__ByteRange = Schema.Struct({ + end: Schema.Number.annotate({ format: "uint" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }), + ), + start: Schema.Number.annotate({ format: "uint" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }), + ), +}).annotate({ identifier: "V2ThreadTurnsListResponse__ByteRange" }); + +export type V2ThreadTurnsListResponse__ImageDetail = "auto" | "low" | "high" | "original"; +export const V2ThreadTurnsListResponse__ImageDetail = Schema.Literals([ + "auto", + "low", + "high", + "original", +]).annotate({ identifier: "V2ThreadTurnsListResponse__ImageDetail" }); + +export type V2ThreadTurnsListResponse__HookPromptFragment = { + readonly hookRunId: string; + readonly text: string; +}; +export const V2ThreadTurnsListResponse__HookPromptFragment = Schema.Struct({ + hookRunId: Schema.String, + text: Schema.String, +}).annotate({ identifier: "V2ThreadTurnsListResponse__HookPromptFragment" }); + +export type V2ThreadTurnsListResponse__AgentMessageDelivery = "async"; +export const V2ThreadTurnsListResponse__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ThreadTurnsListResponse__AgentMessageDelivery", +}); + +export type V2ThreadTurnsListResponse__MemoryCitationEntry = { + readonly lineEnd: number; + readonly lineStart: number; + readonly note: string; + readonly path: string; +}; +export const V2ThreadTurnsListResponse__MemoryCitationEntry = Schema.Struct({ + lineEnd: Schema.Number.annotate({ format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }), + ), + lineStart: Schema.Number.annotate({ format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }), + ), + note: Schema.String, + path: Schema.String, +}).annotate({ identifier: "V2ThreadTurnsListResponse__MemoryCitationEntry" }); + +export type V2ThreadTurnsListResponse__MessagePhase = "commentary" | "final_answer"; +export const V2ThreadTurnsListResponse__MessagePhase = Schema.Union( + [ + Schema.Literal("commentary").annotate({ + description: + "Mid-turn assistant text (for example preamble/progress narration).\n\nAdditional tool calls or assistant output may follow before turn completion.", + }), + Schema.Literal("final_answer").annotate({ + description: "The assistant's terminal answer text for the current turn.", + }), + ], + { mode: "oneOf" }, +).annotate({ + description: + 'Classifies an assistant message as interim commentary or final answer text.\n\nProviders do not emit this consistently, so callers must treat `None` as "phase unknown" and keep compatibility behavior for legacy models.', + identifier: "V2ThreadTurnsListResponse__MessagePhase", +}); + +export type V2ThreadTurnsListResponse__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ThreadTurnsListResponse__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ThreadTurnsListResponse__AsyncUserInputQuestion" }); + +export type V2ThreadTurnsListResponse__LegacyAppPathString = string; +export const V2ThreadTurnsListResponse__LegacyAppPathString = Schema.String.annotate({ + identifier: "V2ThreadTurnsListResponse__LegacyAppPathString", +}); + +export type V2ThreadTurnsListResponse__CommandExecutionSource = + | "agent" + | "userShell" + | "unifiedExecStartup" + | "unifiedExecInteraction"; +export const V2ThreadTurnsListResponse__CommandExecutionSource = Schema.Literals([ + "agent", + "userShell", + "unifiedExecStartup", + "unifiedExecInteraction", +]).annotate({ identifier: "V2ThreadTurnsListResponse__CommandExecutionSource" }); + +export type V2ThreadTurnsListResponse__CommandExecutionStatus = + | "inProgress" + | "completed" + | "failed" + | "declined"; +export const V2ThreadTurnsListResponse__CommandExecutionStatus = Schema.Literals([ + "inProgress", + "completed", + "failed", + "declined", +]).annotate({ identifier: "V2ThreadTurnsListResponse__CommandExecutionStatus" }); + +export type V2ThreadTurnsListResponse__PatchChangeKind = + | { readonly type: "add" } + | { readonly type: "delete" } + | { readonly move_path?: string | null; readonly type: "update" }; +export const V2ThreadTurnsListResponse__PatchChangeKind = Schema.Union( + [ + Schema.Struct({ + type: Schema.Literal("add").annotate({ title: "AddPatchChangeKindType" }), + }).annotate({ title: "AddPatchChangeKind" }), + Schema.Struct({ + type: Schema.Literal("delete").annotate({ title: "DeletePatchChangeKindType" }), + }).annotate({ title: "DeletePatchChangeKind" }), + Schema.Struct({ + move_path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("update").annotate({ title: "UpdatePatchChangeKindType" }), + }).annotate({ title: "UpdatePatchChangeKind" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadTurnsListResponse__PatchChangeKind" }); + +export type V2ThreadTurnsListResponse__PatchApplyStatus = + | "inProgress" + | "completed" + | "failed" + | "declined"; +export const V2ThreadTurnsListResponse__PatchApplyStatus = Schema.Literals([ + "inProgress", + "completed", + "failed", + "declined", +]).annotate({ identifier: "V2ThreadTurnsListResponse__PatchApplyStatus" }); + +export type V2ThreadTurnsListResponse__McpToolCallAppContext = { + readonly actionName?: string | null; + readonly appName?: string | null; + readonly connectorId: string; + readonly linkId?: string | null; + readonly resourceUri?: string | null; +}; +export const V2ThreadTurnsListResponse__McpToolCallAppContext = Schema.Struct({ + actionName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + appName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + connectorId: Schema.String, + linkId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + resourceUri: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ identifier: "V2ThreadTurnsListResponse__McpToolCallAppContext" }); + +export type V2ThreadTurnsListResponse__McpToolCallError = { readonly message: string }; +export const V2ThreadTurnsListResponse__McpToolCallError = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ThreadTurnsListResponse__McpToolCallError" }); + +export type V2ThreadTurnsListResponse__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ThreadTurnsListResponse__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ThreadTurnsListResponse__McpAppDisplayMode" }); + +export type V2ThreadTurnsListResponse__McpToolCallResult = { + readonly _meta?: Schema.Json; + readonly content: ReadonlyArray; + readonly structuredContent?: Schema.Json; +}; +export const V2ThreadTurnsListResponse__McpToolCallResult = Schema.Struct({ + _meta: Schema.optionalKey(Schema.Json.annotate({ expected: "JSON value" })), + content: Schema.Array(Schema.Json.annotate({ expected: "JSON value" })), + structuredContent: Schema.optionalKey(Schema.Json.annotate({ expected: "JSON value" })), +}).annotate({ identifier: "V2ThreadTurnsListResponse__McpToolCallResult" }); + +export type V2ThreadTurnsListResponse__McpToolCallStatus = "inProgress" | "completed" | "failed"; +export const V2ThreadTurnsListResponse__McpToolCallStatus = Schema.Literals([ + "inProgress", + "completed", + "failed", +]).annotate({ identifier: "V2ThreadTurnsListResponse__McpToolCallStatus" }); + +export type V2ThreadTurnsListResponse__DynamicToolCallOutputContentItem = + | { readonly text: string; readonly type: "inputText" } + | { readonly imageUrl: string; readonly type: "inputImage" } + | { readonly audioUrl: string; readonly type: "inputAudio" }; +export const V2ThreadTurnsListResponse__DynamicToolCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("inputText").annotate({ + title: "InputTextDynamicToolCallOutputContentItemType", + }), + }).annotate({ title: "InputTextDynamicToolCallOutputContentItem" }), + Schema.Struct({ + imageUrl: Schema.String, + type: Schema.Literal("inputImage").annotate({ + title: "InputImageDynamicToolCallOutputContentItemType", + }), + }).annotate({ title: "InputImageDynamicToolCallOutputContentItem" }), + Schema.Struct({ + audioUrl: Schema.String, + type: Schema.Literal("inputAudio").annotate({ + title: "InputAudioDynamicToolCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioDynamicToolCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadTurnsListResponse__DynamicToolCallOutputContentItem" }); + +export type V2ThreadTurnsListResponse__DynamicToolCallStatus = + | "inProgress" + | "completed" + | "failed"; +export const V2ThreadTurnsListResponse__DynamicToolCallStatus = Schema.Literals([ + "inProgress", + "completed", + "failed", +]).annotate({ identifier: "V2ThreadTurnsListResponse__DynamicToolCallStatus" }); + +export type V2ThreadTurnsListResponse__CollabAgentStatus = + | "pendingInit" + | "running" + | "interrupted" + | "completed" + | "errored" + | "shutdown" + | "notFound"; +export const V2ThreadTurnsListResponse__CollabAgentStatus = Schema.Literals([ + "pendingInit", + "running", + "interrupted", + "completed", + "errored", + "shutdown", + "notFound", +]).annotate({ identifier: "V2ThreadTurnsListResponse__CollabAgentStatus" }); + +export type V2ThreadTurnsListResponse__ReasoningEffort = string; +export const V2ThreadTurnsListResponse__ReasoningEffort = Schema.String.annotate({ + description: "A non-empty reasoning effort value advertised by the model.", +}).check( + Schema.isMinLength(1).annotate({ + expected: "a value with a length of at least 1", + identifier: "V2ThreadTurnsListResponse__ReasoningEffort", + }), +); + +export type V2ThreadTurnsListResponse__CollabAgentToolCallStatus = + | "inProgress" + | "completed" + | "failed" + | "interrupted"; +export const V2ThreadTurnsListResponse__CollabAgentToolCallStatus = Schema.Literals([ + "inProgress", + "completed", + "failed", + "interrupted", +]).annotate({ identifier: "V2ThreadTurnsListResponse__CollabAgentToolCallStatus" }); + +export type V2ThreadTurnsListResponse__CollabAgentTool = + | "spawnAgent" + | "sendInput" + | "resumeAgent" + | "wait" + | "closeAgent" + | "sendMessage" + | "followupTask" + | "interruptAgent" + | "listAgents"; +export const V2ThreadTurnsListResponse__CollabAgentTool = Schema.Literals([ + "spawnAgent", + "sendInput", + "resumeAgent", + "wait", + "closeAgent", + "sendMessage", + "followupTask", + "interruptAgent", + "listAgents", +]).annotate({ identifier: "V2ThreadTurnsListResponse__CollabAgentTool" }); + +export type V2ThreadTurnsListResponse__SubAgentActivityKind = + | "started" + | "interacted" + | "interrupted" + | "completed"; +export const V2ThreadTurnsListResponse__SubAgentActivityKind = Schema.Literals([ + "started", + "interacted", + "interrupted", + "completed", +]).annotate({ identifier: "V2ThreadTurnsListResponse__SubAgentActivityKind" }); + +export type V2ThreadTurnsListResponse__WebSearchAction = + | { + readonly queries?: ReadonlyArray | null; + readonly query?: string | null; + readonly type: "search"; + } + | { readonly type: "openPage"; readonly url?: string | null } + | { readonly pattern?: string | null; readonly type: "findInPage"; readonly url?: string | null } + | { readonly type: "other" }; +export const V2ThreadTurnsListResponse__WebSearchAction = Schema.Union( + [ + Schema.Struct({ + queries: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("search").annotate({ title: "SearchWebSearchActionType" }), + }).annotate({ title: "SearchWebSearchAction" }), + Schema.Struct({ + type: Schema.Literal("openPage").annotate({ title: "OpenPageWebSearchActionType" }), + url: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + }).annotate({ title: "OpenPageWebSearchAction" }), + Schema.Struct({ + pattern: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("findInPage").annotate({ title: "FindInPageWebSearchActionType" }), + url: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + }).annotate({ title: "FindInPageWebSearchAction" }), + Schema.Struct({ + type: Schema.Literal("other").annotate({ title: "OtherWebSearchActionType" }), + }).annotate({ title: "OtherWebSearchAction" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadTurnsListResponse__WebSearchAction" }); + +export type V2ThreadTurnsListResponse__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ThreadTurnsListResponse__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadTurnsListResponse__ImageGenerationFailure" }); + +export type V2ThreadTurnsListResponse__AbsolutePathBuf = string; +export const V2ThreadTurnsListResponse__AbsolutePathBuf = Schema.String.annotate({ + description: + "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + identifier: "V2ThreadTurnsListResponse__AbsolutePathBuf", +}); + +export type V2ThreadTurnsListResponse__TurnItemsView = "notLoaded" | "summary" | "full"; +export const V2ThreadTurnsListResponse__TurnItemsView = Schema.Union( + [ + Schema.Literal("notLoaded").annotate({ + description: "`items` was not loaded for this turn. The field is intentionally empty.", + }), + Schema.Literal("summary").annotate({ + description: "`items` contains only a display summary for this turn.", + }), + Schema.Literal("full").annotate({ + description: + "`items` contains every ThreadItem available from persisted app-server history for this turn.", + }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadTurnsListResponse__TurnItemsView" }); + +export type V2ThreadTurnsListResponse__TurnStatus = + | "completed" + | "interrupted" + | "failed" + | "inProgress"; +export const V2ThreadTurnsListResponse__TurnStatus = Schema.Literals([ + "completed", + "interrupted", + "failed", + "inProgress", +]).annotate({ identifier: "V2ThreadTurnsListResponse__TurnStatus" }); + export type V2ThreadUnarchiveResponse__AbsolutePathBuf = string; export const V2ThreadUnarchiveResponse__AbsolutePathBuf = Schema.String.annotate({ description: @@ -11674,6 +14343,34 @@ export const V2ThreadUnarchiveResponse__GitInfo = Schema.Struct({ sha: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "V2ThreadUnarchiveResponse__GitInfo" }); +export type V2ThreadUnarchiveResponse__ThreadHistoryMode = "legacy" | "paginated"; +export const V2ThreadUnarchiveResponse__ThreadHistoryMode = Schema.Literals([ + "legacy", + "paginated", +]).annotate({ identifier: "V2ThreadUnarchiveResponse__ThreadHistoryMode" }); + +export type V2ThreadUnarchiveResponse__ReasoningEffort = string; +export const V2ThreadUnarchiveResponse__ReasoningEffort = Schema.String.annotate({ + description: "A non-empty reasoning effort value advertised by the model.", +}).check( + Schema.isMinLength(1).annotate({ + expected: "a value with a length of at least 1", + identifier: "V2ThreadUnarchiveResponse__ReasoningEffort", + }), +); + +export type V2ThreadUnarchiveResponse__ThreadSectionAppearance = { + readonly color?: string | null; + readonly icon?: string | null; +}; +export const V2ThreadUnarchiveResponse__ThreadSectionAppearance = Schema.Struct({ + color: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + icon: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + description: "Extensible visual presentation for a custom thread section.", + identifier: "V2ThreadUnarchiveResponse__ThreadSectionAppearance", +}); + export type V2ThreadUnarchiveResponse__AgentPath = string; export const V2ThreadUnarchiveResponse__AgentPath = Schema.String.annotate({ identifier: "V2ThreadUnarchiveResponse__AgentPath", @@ -11703,6 +14400,11 @@ export const V2ThreadUnarchiveResponse__NonSteerableTurnKind = Schema.Literals([ "compact", ]).annotate({ identifier: "V2ThreadUnarchiveResponse__NonSteerableTurnKind" }); +export type V2ThreadUnarchiveResponse__MisalignmentSteer = { readonly message: string }; +export const V2ThreadUnarchiveResponse__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2ThreadUnarchiveResponse__MisalignmentSteer" }); + export type V2ThreadUnarchiveResponse__ByteRange = { readonly end: number; readonly start: number }; export const V2ThreadUnarchiveResponse__ByteRange = Schema.Struct({ end: Schema.Number.annotate({ format: "uint" }) @@ -11734,6 +14436,11 @@ export const V2ThreadUnarchiveResponse__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2ThreadUnarchiveResponse__HookPromptFragment" }); +export type V2ThreadUnarchiveResponse__AgentMessageDelivery = "async"; +export const V2ThreadUnarchiveResponse__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2ThreadUnarchiveResponse__AgentMessageDelivery", +}); + export type V2ThreadUnarchiveResponse__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -11773,6 +14480,15 @@ export const V2ThreadUnarchiveResponse__MessagePhase = Schema.Union( identifier: "V2ThreadUnarchiveResponse__MessagePhase", }); +export type V2ThreadUnarchiveResponse__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2ThreadUnarchiveResponse__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2ThreadUnarchiveResponse__AsyncUserInputQuestion" }); + export type V2ThreadUnarchiveResponse__LegacyAppPathString = string; export const V2ThreadUnarchiveResponse__LegacyAppPathString = Schema.String.annotate({ identifier: "V2ThreadUnarchiveResponse__LegacyAppPathString", @@ -11854,6 +14570,12 @@ export const V2ThreadUnarchiveResponse__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2ThreadUnarchiveResponse__McpToolCallError" }); +export type V2ThreadUnarchiveResponse__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2ThreadUnarchiveResponse__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2ThreadUnarchiveResponse__McpAppDisplayMode" }); + export type V2ThreadUnarchiveResponse__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -11928,16 +14650,6 @@ export const V2ThreadUnarchiveResponse__CollabAgentStatus = Schema.Literals([ "notFound", ]).annotate({ identifier: "V2ThreadUnarchiveResponse__CollabAgentStatus" }); -export type V2ThreadUnarchiveResponse__ReasoningEffort = string; -export const V2ThreadUnarchiveResponse__ReasoningEffort = Schema.String.annotate({ - description: "A non-empty reasoning effort value advertised by the model.", -}).check( - Schema.isMinLength(1).annotate({ - expected: "a value with a length of at least 1", - identifier: "V2ThreadUnarchiveResponse__ReasoningEffort", - }), -); - export type V2ThreadUnarchiveResponse__CollabAgentToolCallStatus = | "inProgress" | "completed" @@ -12016,6 +14728,31 @@ export const V2ThreadUnarchiveResponse__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadUnarchiveResponse__WebSearchAction" }); +export type V2ThreadUnarchiveResponse__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2ThreadUnarchiveResponse__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadUnarchiveResponse__ImageGenerationFailure" }); + export type V2ThreadUnarchiveResponse__TurnItemsView = "notLoaded" | "summary" | "full"; export const V2ThreadUnarchiveResponse__TurnItemsView = Schema.Union( [ @@ -12061,6 +14798,11 @@ export const V2TurnCompletedNotification__NonSteerableTurnKind = Schema.Literals "compact", ]).annotate({ identifier: "V2TurnCompletedNotification__NonSteerableTurnKind" }); +export type V2TurnCompletedNotification__MisalignmentSteer = { readonly message: string }; +export const V2TurnCompletedNotification__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2TurnCompletedNotification__MisalignmentSteer" }); + export type V2TurnCompletedNotification__ByteRange = { readonly end: number; readonly start: number; @@ -12095,6 +14837,11 @@ export const V2TurnCompletedNotification__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2TurnCompletedNotification__HookPromptFragment" }); +export type V2TurnCompletedNotification__AgentMessageDelivery = "async"; +export const V2TurnCompletedNotification__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2TurnCompletedNotification__AgentMessageDelivery", +}); + export type V2TurnCompletedNotification__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -12134,12 +14881,14 @@ export const V2TurnCompletedNotification__MessagePhase = Schema.Union( identifier: "V2TurnCompletedNotification__MessagePhase", }); -export type V2TurnCompletedNotification__AbsolutePathBuf = string; -export const V2TurnCompletedNotification__AbsolutePathBuf = Schema.String.annotate({ - description: - "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - identifier: "V2TurnCompletedNotification__AbsolutePathBuf", -}); +export type V2TurnCompletedNotification__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2TurnCompletedNotification__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2TurnCompletedNotification__AsyncUserInputQuestion" }); export type V2TurnCompletedNotification__LegacyAppPathString = string; export const V2TurnCompletedNotification__LegacyAppPathString = Schema.String.annotate({ @@ -12222,6 +14971,12 @@ export const V2TurnCompletedNotification__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2TurnCompletedNotification__McpToolCallError" }); +export type V2TurnCompletedNotification__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2TurnCompletedNotification__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2TurnCompletedNotification__McpAppDisplayMode" }); + export type V2TurnCompletedNotification__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -12384,6 +15139,38 @@ export const V2TurnCompletedNotification__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2TurnCompletedNotification__WebSearchAction" }); +export type V2TurnCompletedNotification__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2TurnCompletedNotification__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2TurnCompletedNotification__ImageGenerationFailure" }); + +export type V2TurnCompletedNotification__AbsolutePathBuf = string; +export const V2TurnCompletedNotification__AbsolutePathBuf = Schema.String.annotate({ + description: + "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + identifier: "V2TurnCompletedNotification__AbsolutePathBuf", +}); + export type V2TurnCompletedNotification__TurnItemsView = "notLoaded" | "summary" | "full"; export const V2TurnCompletedNotification__TurnItemsView = Schema.Union( [ @@ -12429,6 +15216,11 @@ export const V2TurnStartedNotification__NonSteerableTurnKind = Schema.Literals([ "compact", ]).annotate({ identifier: "V2TurnStartedNotification__NonSteerableTurnKind" }); +export type V2TurnStartedNotification__MisalignmentSteer = { readonly message: string }; +export const V2TurnStartedNotification__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2TurnStartedNotification__MisalignmentSteer" }); + export type V2TurnStartedNotification__ByteRange = { readonly end: number; readonly start: number }; export const V2TurnStartedNotification__ByteRange = Schema.Struct({ end: Schema.Number.annotate({ format: "uint" }) @@ -12460,6 +15252,11 @@ export const V2TurnStartedNotification__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2TurnStartedNotification__HookPromptFragment" }); +export type V2TurnStartedNotification__AgentMessageDelivery = "async"; +export const V2TurnStartedNotification__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2TurnStartedNotification__AgentMessageDelivery", +}); + export type V2TurnStartedNotification__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -12499,12 +15296,14 @@ export const V2TurnStartedNotification__MessagePhase = Schema.Union( identifier: "V2TurnStartedNotification__MessagePhase", }); -export type V2TurnStartedNotification__AbsolutePathBuf = string; -export const V2TurnStartedNotification__AbsolutePathBuf = Schema.String.annotate({ - description: - "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - identifier: "V2TurnStartedNotification__AbsolutePathBuf", -}); +export type V2TurnStartedNotification__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2TurnStartedNotification__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2TurnStartedNotification__AsyncUserInputQuestion" }); export type V2TurnStartedNotification__LegacyAppPathString = string; export const V2TurnStartedNotification__LegacyAppPathString = Schema.String.annotate({ @@ -12587,6 +15386,12 @@ export const V2TurnStartedNotification__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2TurnStartedNotification__McpToolCallError" }); +export type V2TurnStartedNotification__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2TurnStartedNotification__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2TurnStartedNotification__McpAppDisplayMode" }); + export type V2TurnStartedNotification__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -12749,6 +15554,38 @@ export const V2TurnStartedNotification__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2TurnStartedNotification__WebSearchAction" }); +export type V2TurnStartedNotification__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2TurnStartedNotification__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2TurnStartedNotification__ImageGenerationFailure" }); + +export type V2TurnStartedNotification__AbsolutePathBuf = string; +export const V2TurnStartedNotification__AbsolutePathBuf = Schema.String.annotate({ + description: + "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + identifier: "V2TurnStartedNotification__AbsolutePathBuf", +}); + export type V2TurnStartedNotification__TurnItemsView = "notLoaded" | "summary" | "full"; export const V2TurnStartedNotification__TurnItemsView = Schema.Union( [ @@ -12855,7 +15692,10 @@ export const V2TurnStartParams__Personality = Schema.Literals([ "none", "friendly", "pragmatic", -]).annotate({ identifier: "V2TurnStartParams__Personality" }); +]).annotate({ + description: "Deprecated: `friendly` and `pragmatic` no longer select a style.", + identifier: "V2TurnStartParams__Personality", +}); export type V2TurnStartParams__NetworkAccess = "restricted" | "enabled"; export const V2TurnStartParams__NetworkAccess = Schema.Literals(["restricted", "enabled"]).annotate( @@ -12905,6 +15745,11 @@ export const V2TurnStartResponse__NonSteerableTurnKind = Schema.Literals([ "compact", ]).annotate({ identifier: "V2TurnStartResponse__NonSteerableTurnKind" }); +export type V2TurnStartResponse__MisalignmentSteer = { readonly message: string }; +export const V2TurnStartResponse__MisalignmentSteer = Schema.Struct({ + message: Schema.String, +}).annotate({ identifier: "V2TurnStartResponse__MisalignmentSteer" }); + export type V2TurnStartResponse__ByteRange = { readonly end: number; readonly start: number }; export const V2TurnStartResponse__ByteRange = Schema.Struct({ end: Schema.Number.annotate({ format: "uint" }) @@ -12936,6 +15781,11 @@ export const V2TurnStartResponse__HookPromptFragment = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2TurnStartResponse__HookPromptFragment" }); +export type V2TurnStartResponse__AgentMessageDelivery = "async"; +export const V2TurnStartResponse__AgentMessageDelivery = Schema.Literal("async").annotate({ + identifier: "V2TurnStartResponse__AgentMessageDelivery", +}); + export type V2TurnStartResponse__MemoryCitationEntry = { readonly lineEnd: number; readonly lineStart: number; @@ -12975,12 +15825,14 @@ export const V2TurnStartResponse__MessagePhase = Schema.Union( identifier: "V2TurnStartResponse__MessagePhase", }); -export type V2TurnStartResponse__AbsolutePathBuf = string; -export const V2TurnStartResponse__AbsolutePathBuf = Schema.String.annotate({ - description: - "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", - identifier: "V2TurnStartResponse__AbsolutePathBuf", -}); +export type V2TurnStartResponse__AsyncUserInputQuestion = { + readonly options?: ReadonlyArray | null; + readonly title: string; +}; +export const V2TurnStartResponse__AsyncUserInputQuestion = Schema.Struct({ + options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + title: Schema.String, +}).annotate({ identifier: "V2TurnStartResponse__AsyncUserInputQuestion" }); export type V2TurnStartResponse__LegacyAppPathString = string; export const V2TurnStartResponse__LegacyAppPathString = Schema.String.annotate({ @@ -13063,6 +15915,12 @@ export const V2TurnStartResponse__McpToolCallError = Schema.Struct({ message: Schema.String, }).annotate({ identifier: "V2TurnStartResponse__McpToolCallError" }); +export type V2TurnStartResponse__McpAppDisplayMode = "inline" | "fullscreen"; +export const V2TurnStartResponse__McpAppDisplayMode = Schema.Literals([ + "inline", + "fullscreen", +]).annotate({ identifier: "V2TurnStartResponse__McpAppDisplayMode" }); + export type V2TurnStartResponse__McpToolCallResult = { readonly _meta?: Schema.Json; readonly content: ReadonlyArray; @@ -13222,6 +16080,38 @@ export const V2TurnStartResponse__WebSearchAction = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2TurnStartResponse__WebSearchAction" }); +export type V2TurnStartResponse__ImageGenerationFailure = { + readonly limitId: string; + readonly resetsAt?: number | null; + readonly type: "usageLimitExceeded"; +}; +export const V2TurnStartResponse__ImageGenerationFailure = Schema.Union( + [ + Schema.Struct({ + limitId: Schema.String, + resetsAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + type: Schema.Literal("usageLimitExceeded").annotate({ + title: "UsageLimitExceededImageGenerationFailureType", + }), + }).annotate({ title: "UsageLimitExceededImageGenerationFailure" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2TurnStartResponse__ImageGenerationFailure" }); + +export type V2TurnStartResponse__AbsolutePathBuf = string; +export const V2TurnStartResponse__AbsolutePathBuf = Schema.String.annotate({ + description: + "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + identifier: "V2TurnStartResponse__AbsolutePathBuf", +}); + export type V2TurnStartResponse__TurnItemsView = "notLoaded" | "summary" | "full"; export const V2TurnStartResponse__TurnItemsView = Schema.Union( [ @@ -13333,6 +16223,7 @@ export type ClientRequest__ThreadResumeParams = { readonly config?: { readonly [x: string]: Schema.Json } | null; readonly cwd?: string | null; readonly developerInstructions?: string | null; + readonly excludeTurns?: boolean; readonly model?: string | null; readonly modelProvider?: string | null; readonly personality?: ClientRequest__Personality | null; @@ -13357,6 +16248,12 @@ export const ClientRequest__ThreadResumeParams = Schema.Struct({ ), cwd: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), developerInstructions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + excludeTurns: Schema.optionalKey( + Schema.Boolean.annotate({ + description: + "When true, return only thread metadata and live-resume state without populating `thread.turns`. This is useful when the client plans to call `thread/turns/list` immediately after resuming. Full-history hydration is deprecated for paginated threads; use this with `thread/turns/list` and `thread/items/list` instead.", + }), + ), model: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -13366,7 +16263,12 @@ export const ClientRequest__ThreadResumeParams = Schema.Struct({ ]), ), modelProvider: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - personality: Schema.optionalKey(Schema.Union([ClientRequest__Personality, Schema.Null])), + personality: Schema.optionalKey( + Schema.Union([ClientRequest__Personality, Schema.Null]).annotate({ + description: + "@deprecated `friendly` and `pragmatic` no longer select a style. Changing this does not rewrite the thread's existing instructions.", + }), + ), sandbox: Schema.optionalKey(Schema.Union([ClientRequest__SandboxMode, Schema.Null])), serviceTier: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), threadId: Schema.String, @@ -13413,7 +16315,11 @@ export const ClientRequest__ThreadStartParams = Schema.Struct({ ephemeral: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), model: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), modelProvider: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - personality: Schema.optionalKey(Schema.Union([ClientRequest__Personality, Schema.Null])), + personality: Schema.optionalKey( + Schema.Union([ClientRequest__Personality, Schema.Null]).annotate({ + description: "@deprecated `friendly` and `pragmatic` no longer select a style.", + }), + ), sandbox: Schema.optionalKey(Schema.Union([ClientRequest__SandboxMode, Schema.Null])), serviceName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), serviceTier: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -13435,6 +16341,7 @@ export type ClientRequest__ThreadForkParams = { readonly cwd?: string | null; readonly developerInstructions?: string | null; readonly ephemeral?: boolean; + readonly excludeTurns?: boolean; readonly lastTurnId?: string | null; readonly model?: string | null; readonly modelProvider?: string | null; @@ -13461,6 +16368,12 @@ export const ClientRequest__ThreadForkParams = Schema.Struct({ cwd: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), developerInstructions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), ephemeral: Schema.optionalKey(Schema.Boolean), + excludeTurns: Schema.optionalKey( + Schema.Boolean.annotate({ + description: + "When true, return only thread metadata and live fork state without populating `thread.turns`. This is useful when the client plans to call `thread/turns/list` immediately after forking. Full-history hydration is deprecated for paginated threads; use this with `thread/turns/list` and `thread/items/list` instead.", + }), + ), lastTurnId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -13528,13 +16441,60 @@ export const ClientRequest__ThreadMetadataUpdateParams = Schema.Struct({ threadId: Schema.String, }).annotate({ identifier: "ClientRequest__ThreadMetadataUpdateParams" }); +export type ClientRequest__ThreadItemsListParams = { + readonly cursor?: string | null; + readonly limit?: number | null; + readonly sortDirection?: ClientRequest__SortDirection | null; + readonly threadId: string; + readonly turnId?: string | null; +}; +export const ClientRequest__ThreadItemsListParams = Schema.Struct({ + cursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Opaque cursor to pass to the next call to continue after the last item.", + }), + Schema.Null, + ]), + ), + limit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ description: "Optional item page size.", format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + sortDirection: Schema.optionalKey( + Schema.Union([ClientRequest__SortDirection, Schema.Null]).annotate({ + description: "Optional item pagination direction; defaults to ascending.", + }), + ), + threadId: Schema.String, + turnId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Optional turn id to filter by. When omitted, returns items across the thread.", + }), + Schema.Null, + ]), + ), +}).annotate({ identifier: "ClientRequest__ThreadItemsListParams" }); + export type ClientRequest__ThreadListParams = { readonly archived?: boolean | null; readonly cursor?: string | null; readonly cwd?: ClientRequest__ThreadListCwdFilter | null; readonly limit?: number | null; readonly modelProviders?: ReadonlyArray | null; + readonly originators?: ReadonlyArray | null; readonly searchTerm?: string | null; + readonly sectionId?: string | null; readonly sortDirection?: ClientRequest__SortDirection | null; readonly sortKey?: ClientRequest__ThreadSortKey | null; readonly sourceKinds?: ReadonlyArray | null; @@ -13588,6 +16548,15 @@ export const ClientRequest__ThreadListParams = Schema.Struct({ Schema.Null, ]), ), + originators: Schema.optionalKey( + Schema.Union([ + Schema.Array(Schema.String).annotate({ + description: + "Optional originator allowlist, matching any supplied value exactly. Supported by hosted backends only; the local app-server rejects a nonempty list. Omitted or empty lists leave originators unrestricted.", + }), + Schema.Null, + ]), + ), searchTerm: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -13596,6 +16565,15 @@ export const ClientRequest__ThreadListParams = Schema.Struct({ Schema.Null, ]), ), + sectionId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Omit to include every section, set to `null` for unsectioned threads, or provide a section ID to return only threads in that section.", + }), + Schema.Null, + ]), + ), sortDirection: Schema.optionalKey( Schema.Union([ClientRequest__SortDirection, Schema.Null]).annotate({ description: "Optional sort direction; defaults to descending (newest first).", @@ -13623,6 +16601,81 @@ export const ClientRequest__ThreadListParams = Schema.Struct({ ), }).annotate({ identifier: "ClientRequest__ThreadListParams" }); +export type ClientRequest__ThreadSectionCreateParams = { + readonly appearance?: ClientRequest__ThreadSectionAppearance | null; + readonly name: string; +}; +export const ClientRequest__ThreadSectionCreateParams = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([ClientRequest__ThreadSectionAppearance, Schema.Null]), + ), + name: Schema.String.annotate({ description: "The user-visible name of the section." }), +}).annotate({ + description: "Parameters for creating an independently persisted thread section.", + identifier: "ClientRequest__ThreadSectionCreateParams", +}); + +export type ClientRequest__ThreadSectionUpdateParams = { + readonly appearance?: ClientRequest__ThreadSectionAppearance | null; + readonly name: string; + readonly sectionId: string; +}; +export const ClientRequest__ThreadSectionUpdateParams = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([ClientRequest__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Omit to preserve appearance, use `null` to clear it, or provide a replacement.", + }), + ), + name: Schema.String.annotate({ description: "The updated user-visible name of the section." }), + sectionId: Schema.String.annotate({ + description: "The stable, server-generated identity of the section to update.", + }), +}).annotate({ + description: "Parameters for updating an independently persisted thread section.", + identifier: "ClientRequest__ThreadSectionUpdateParams", +}); + +export type ClientRequest__ThreadTurnsListParams = { + readonly cursor?: string | null; + readonly itemsView?: ClientRequest__TurnItemsView | null; + readonly limit?: number | null; + readonly sortDirection?: ClientRequest__SortDirection | null; + readonly threadId: string; +}; +export const ClientRequest__ThreadTurnsListParams = Schema.Struct({ + cursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Opaque cursor to pass to the next call to continue after the last turn.", + }), + Schema.Null, + ]), + ), + itemsView: Schema.optionalKey( + Schema.Union([ClientRequest__TurnItemsView, Schema.Null]).annotate({ + description: "How much item detail to include for each returned turn; defaults to summary.", + }), + ), + limit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ description: "Optional turn page size.", format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + sortDirection: Schema.optionalKey( + Schema.Union([ClientRequest__SortDirection, Schema.Null]).annotate({ + description: "Optional turn pagination direction; defaults to descending.", + }), + ), + threadId: Schema.String, +}).annotate({ identifier: "ClientRequest__ThreadTurnsListParams" }); + export type ClientRequest__SkillsExtraRootsSetParams = { readonly extraRoots: ReadonlyArray; }; @@ -13818,11 +16871,20 @@ export const ClientRequest__SkillsConfigWriteParams = Schema.Struct({ }).annotate({ identifier: "ClientRequest__SkillsConfigWriteParams" }); export type ClientRequest__PluginInstallParams = { + readonly installAttemptId?: string | null; readonly marketplacePath?: ClientRequest__AbsolutePathBuf | null; readonly pluginName: string; readonly remoteMarketplaceName?: string | null; }; export const ClientRequest__PluginInstallParams = Schema.Struct({ + installAttemptId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Client-generated identifier used to correlate one installation attempt.", + }), + Schema.Null, + ]), + ), marketplacePath: Schema.optionalKey(Schema.Union([ClientRequest__AbsolutePathBuf, Schema.Null])), pluginName: Schema.String, remoteMarketplaceName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -13830,6 +16892,7 @@ export const ClientRequest__PluginInstallParams = Schema.Struct({ export type ClientRequest__PluginListParams = { readonly cwds?: ReadonlyArray | null; + readonly forceRefetch?: boolean; readonly marketplaceKinds?: ReadonlyArray | null; }; export const ClientRequest__PluginListParams = Schema.Struct({ @@ -13842,6 +16905,11 @@ export const ClientRequest__PluginListParams = Schema.Struct({ Schema.Null, ]), ), + forceRefetch: Schema.optionalKey( + Schema.Boolean.annotate({ + description: "Whether the client requests a fresh remote plugin catalog fetch.", + }), + ), marketplaceKinds: Schema.optionalKey( Schema.Union([ Schema.Array(ClientRequest__PluginListMarketplaceKind).annotate({ @@ -13878,6 +16946,16 @@ export const ClientRequest__Settings = Schema.Struct({ identifier: "ClientRequest__Settings", }); +export type ClientRequest__ConfigurationReasoning = { + readonly effort: ClientRequest__ReasoningEffort; +}; +export const ClientRequest__ConfigurationReasoning = Schema.Struct({ + effort: ClientRequest__ReasoningEffort, +}).annotate({ + description: "Reasoning settings interpreted by the backend for the routed model.", + identifier: "ClientRequest__ConfigurationReasoning", +}); + export type ClientRequest__TextElement = { readonly byteRange: ClientRequest__ByteRange; readonly placeholder?: string | null; @@ -13900,8 +16978,13 @@ export type ClientRequest__FunctionCallOutputContentItem = | { readonly text: string; readonly type: "input_text" } | { readonly detail?: ClientRequest__ImageDetail | null; + readonly type: "input_image"; readonly image_url: string; + } + | { + readonly detail?: ClientRequest__ImageDetail | null; readonly type: "input_image"; + readonly file_id: string; } | { readonly audio_url: string; readonly type: "input_audio" } | { readonly encrypted_content: string; readonly type: "encrypted_content" }; @@ -13913,13 +16996,22 @@ export const ClientRequest__FunctionCallOutputContentItem = Schema.Union( title: "InputTextFunctionCallOutputContentItemType", }), }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([ClientRequest__ImageDetail, Schema.Null])), - image_url: Schema.String, - type: Schema.Literal("input_image").annotate({ - title: "InputImageFunctionCallOutputContentItemType", - }), - }).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([ClientRequest__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([ClientRequest__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), Schema.Struct({ audio_url: Schema.String, type: Schema.Literal("input_audio").annotate({ @@ -13944,8 +17036,13 @@ export type ClientRequest__ContentItem = | { readonly text: string; readonly type: "input_text" } | { readonly detail?: ClientRequest__ImageDetail | null; + readonly type: "input_image"; readonly image_url: string; + } + | { + readonly detail?: ClientRequest__ImageDetail | null; readonly type: "input_image"; + readonly file_id: string; } | { readonly audio_url: string; readonly type: "input_audio" } | { readonly text: string; readonly type: "output_text" }; @@ -13955,11 +17052,18 @@ export const ClientRequest__ContentItem = Schema.Union( text: Schema.String, type: Schema.Literal("input_text").annotate({ title: "InputTextContentItemType" }), }).annotate({ title: "InputTextContentItem" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([ClientRequest__ImageDetail, Schema.Null])), - image_url: Schema.String, - type: Schema.Literal("input_image").annotate({ title: "InputImageContentItemType" }), - }).annotate({ title: "InputImageContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([ClientRequest__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ title: "InputImageContentItemType" }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([ClientRequest__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ title: "InputImageContentItemType" }), + file_id: Schema.String, + }).annotate({ title: "FileIdContentItem" }), + ]).annotate({ title: "InputImageContentItem" }), Schema.Struct({ audio_url: Schema.String, type: Schema.Literal("input_audio").annotate({ title: "InputAudioContentItemType" }), @@ -14026,13 +17130,40 @@ export const ClientRequest__ReviewStartParams = Schema.Struct({ delivery: Schema.optionalKey( Schema.Union([ClientRequest__ReviewDelivery, Schema.Null]).annotate({ description: - "Where to run the review: inline (default) on the current thread or detached on a new thread (returned in `reviewThreadId`).", + "Where to run the review: inline (default) on the current thread or detached on a new thread (returned in `reviewThreadId`). Detached delivery is deprecated and emits `deprecationNotice`. Use `thread/start` followed by an inline review for a separate review thread.", }), ), target: ClientRequest__ReviewTarget, threadId: Schema.String, }).annotate({ identifier: "ClientRequest__ReviewStartParams" }); +export type ClientRequest__McpServerOauthLoginParams = { + readonly clientRegistration?: ClientRequest__McpServerOauthClientRegistration | null; + readonly name: string; + readonly scopes?: ReadonlyArray | null; + readonly threadId?: string | null; + readonly timeoutSecs?: number | null; +}; +export const ClientRequest__McpServerOauthLoginParams = Schema.Struct({ + clientRegistration: Schema.optionalKey( + Schema.Union([ClientRequest__McpServerOauthClientRegistration, Schema.Null]).annotate({ + description: + "Registration strategy for this login only; omission selects automatic discovery.", + }), + ), + name: Schema.String, + scopes: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), + threadId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + timeoutSecs: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), +}).annotate({ identifier: "ClientRequest__McpServerOauthLoginParams" }); + export type ClientRequest__ListMcpServerStatusParams = { readonly cursor?: string | null; readonly detail?: ClientRequest__McpServerStatusDetail | null; @@ -14096,7 +17227,14 @@ export type ClientRequest__LoginAccountParams = readonly chatgptPlanType?: string | null; readonly type: "chatgptAuthTokens"; } - | { readonly apiKey: string; readonly region: string; readonly type: "amazonBedrock" }; + | { readonly apiKey: string; readonly region: string; readonly type: "amazonBedrock" } + | { + readonly accessKeyId: string; + readonly region: string; + readonly secretAccessKey: string; + readonly sessionToken?: string | null; + readonly type: "amazonBedrockAccessKeys"; + }; export const ClientRequest__LoginAccountParams = Schema.Union( [ Schema.Struct({ @@ -14149,6 +17287,18 @@ export const ClientRequest__LoginAccountParams = Schema.Union( title: "AmazonBedrockLoginAccountParams", description: "[UNSTABLE] Managed Amazon Bedrock login is experimental.", }), + Schema.Struct({ + accessKeyId: Schema.String, + region: Schema.String, + secretAccessKey: Schema.String, + sessionToken: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("amazonBedrockAccessKeys").annotate({ + title: "AmazonBedrockAccessKeysLoginAccountParamsType", + }), + }).annotate({ + title: "AmazonBedrockAccessKeysLoginAccountParams", + description: "[UNSTABLE] Managed Amazon Bedrock AWS access key login is experimental.", + }), ], { mode: "oneOf" }, ).annotate({ identifier: "ClientRequest__LoginAccountParams" }); @@ -14209,6 +17359,47 @@ export const ClientRequest__MigrationDetails = Schema.Struct({ ), }).annotate({ identifier: "ClientRequest__MigrationDetails" }); +export type ClientRequest__ExternalAgentConfigImportItemTypeFailure = { + readonly cwd?: string | null; + readonly errorType?: string | null; + readonly failureStage: string; + readonly itemType: ClientRequest__ExternalAgentConfigMigrationItemType; + readonly message: string; + readonly source?: string | null; + readonly subErrorType?: string | null; +}; +export const ClientRequest__ExternalAgentConfigImportItemTypeFailure = Schema.Struct({ + cwd: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + errorType: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + failureStage: Schema.String, + itemType: ClientRequest__ExternalAgentConfigMigrationItemType, + message: Schema.String, + source: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + subErrorType: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ identifier: "ClientRequest__ExternalAgentConfigImportItemTypeFailure" }); + +export type ClientRequest__ExternalAgentConfigImportHistoryRecordSuccessParams = { + readonly cwd?: string | null; + readonly itemType: ClientRequest__ExternalAgentConfigMigrationItemType; + readonly source?: string | null; + readonly target?: string | null; + readonly title?: string | null; +}; +export const ClientRequest__ExternalAgentConfigImportHistoryRecordSuccessParams = Schema.Struct({ + cwd: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + itemType: ClientRequest__ExternalAgentConfigMigrationItemType, + source: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + target: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + title: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Original title for an imported session, when available.", + }), + Schema.Null, + ]), + ), +}).annotate({ identifier: "ClientRequest__ExternalAgentConfigImportHistoryRecordSuccessParams" }); + export type ClientRequest__ConfigValueWriteParams = { readonly expectedVersion?: string | null; readonly filePath?: string | null; @@ -14247,7 +17438,7 @@ export type CommandExecutionRequestApprovalParams__CommandAction = | { readonly command: string; readonly name: string; - readonly path: CommandExecutionRequestApprovalParams__AbsolutePathBuf; + readonly path: CommandExecutionRequestApprovalParams__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -14263,7 +17454,7 @@ export const CommandExecutionRequestApprovalParams__CommandAction = Schema.Union Schema.Struct({ command: Schema.String, name: Schema.String, - path: CommandExecutionRequestApprovalParams__AbsolutePathBuf, + path: CommandExecutionRequestApprovalParams__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -14744,8 +17935,10 @@ export type ServerNotification__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" @@ -14767,8 +17960,10 @@ export const ServerNotification__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", @@ -14865,47 +18060,37 @@ export const ServerNotification__CodexErrorInfo = Schema.Union( identifier: "ServerNotification__CodexErrorInfo", }); -export type ServerNotification__CommandAction = - | { - readonly command: string; - readonly name: string; - readonly path: ServerNotification__AbsolutePathBuf; - readonly type: "read"; - } - | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } - | { - readonly command: string; - readonly path?: string | null; - readonly query?: string | null; - readonly type: "search"; - } - | { readonly command: string; readonly type: "unknown" }; -export const ServerNotification__CommandAction = Schema.Union( - [ - Schema.Struct({ - command: Schema.String, - name: Schema.String, - path: ServerNotification__AbsolutePathBuf, - type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), - }).annotate({ title: "ReadCommandAction" }), - Schema.Struct({ - command: Schema.String, - path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - type: Schema.Literal("listFiles").annotate({ title: "ListFilesCommandActionType" }), - }).annotate({ title: "ListFilesCommandAction" }), - Schema.Struct({ - command: Schema.String, - path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - type: Schema.Literal("search").annotate({ title: "SearchCommandActionType" }), - }).annotate({ title: "SearchCommandAction" }), - Schema.Struct({ - command: Schema.String, - type: Schema.Literal("unknown").annotate({ title: "UnknownCommandActionType" }), - }).annotate({ title: "UnknownCommandAction" }), - ], - { mode: "oneOf" }, -).annotate({ identifier: "ServerNotification__CommandAction" }); +export type ServerNotification__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: ServerNotification__MisalignmentSteer | null; +}; +export const ServerNotification__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([ServerNotification__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "ServerNotification__MisalignmentErrorDetails" }); export type ServerNotification__FsChangedNotification = { readonly changedPaths: ReadonlyArray; @@ -14923,6 +18108,42 @@ export const ServerNotification__FsChangedNotification = Schema.Struct({ identifier: "ServerNotification__FsChangedNotification", }); +export type ServerNotification__Settings = { + readonly developer_instructions?: string | null; + readonly model: string; + readonly reasoning_effort?: ServerNotification__ReasoningEffort | null; +}; +export const ServerNotification__Settings = Schema.Struct({ + developer_instructions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + model: Schema.String, + reasoning_effort: Schema.optionalKey( + Schema.Union([ServerNotification__ReasoningEffort, Schema.Null]), + ), +}).annotate({ + description: "Settings for a collaboration mode.", + identifier: "ServerNotification__Settings", +}); + +export type ServerNotification__ThreadSection = { + readonly appearance?: ServerNotification__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const ServerNotification__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([ServerNotification__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "ServerNotification__ThreadSection", +}); + export type ServerNotification__SubAgentSource = | "review" | "compact" @@ -15001,6 +18222,64 @@ export const ServerNotification__TextElement = Schema.Struct({ ), }).annotate({ identifier: "ServerNotification__TextElement" }); +export type ServerNotification__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: ServerNotification__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: ServerNotification__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const ServerNotification__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([ServerNotification__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([ServerNotification__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "ServerNotification__FunctionCallOutputContentItem", +}); + export type ServerNotification__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -15010,6 +18289,48 @@ export const ServerNotification__MemoryCitation = Schema.Struct({ threadIds: Schema.Array(Schema.String), }).annotate({ identifier: "ServerNotification__MemoryCitation" }); +export type ServerNotification__CommandAction = + | { + readonly command: string; + readonly name: string; + readonly path: ServerNotification__LegacyAppPathString; + readonly type: "read"; + } + | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } + | { + readonly command: string; + readonly path?: string | null; + readonly query?: string | null; + readonly type: "search"; + } + | { readonly command: string; readonly type: "unknown" }; +export const ServerNotification__CommandAction = Schema.Union( + [ + Schema.Struct({ + command: Schema.String, + name: Schema.String, + path: ServerNotification__LegacyAppPathString, + type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), + }).annotate({ title: "ReadCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("listFiles").annotate({ title: "ListFilesCommandActionType" }), + }).annotate({ title: "ListFilesCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("search").annotate({ title: "SearchCommandActionType" }), + }).annotate({ title: "SearchCommandAction" }), + Schema.Struct({ + command: Schema.String, + type: Schema.Literal("unknown").annotate({ title: "UnknownCommandActionType" }), + }).annotate({ title: "UnknownCommandAction" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "ServerNotification__CommandAction" }); + export type ServerNotification__FileSystemSpecialPath = | { readonly kind: "root" } | { readonly kind: "minimal" } @@ -15066,6 +18387,19 @@ export const ServerNotification__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "ServerNotification__FileUpdateChange" }); +export type ServerNotification__McpAppUi = { + readonly preferredModelDisplayMode: ServerNotification__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const ServerNotification__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: ServerNotification__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "ServerNotification__McpAppUi", +}); + export type ServerNotification__CollabAgentState = { readonly message?: string | null; readonly status: ServerNotification__CollabAgentStatus; @@ -15075,20 +18409,22 @@ export const ServerNotification__CollabAgentState = Schema.Struct({ status: ServerNotification__CollabAgentStatus, }).annotate({ identifier: "ServerNotification__CollabAgentState" }); -export type ServerNotification__Settings = { - readonly developer_instructions?: string | null; - readonly model: string; - readonly reasoning_effort?: ServerNotification__ReasoningEffort | null; +export type ServerNotification__ThreadAttachmentUpdatedNotification = { + readonly attachmentId: string; + readonly attachmentType: string; + readonly identityKey: string; + readonly operation: ServerNotification__ThreadAttachmentOperation; + readonly threadId: string; }; -export const ServerNotification__Settings = Schema.Struct({ - developer_instructions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - model: Schema.String, - reasoning_effort: Schema.optionalKey( - Schema.Union([ServerNotification__ReasoningEffort, Schema.Null]), - ), +export const ServerNotification__ThreadAttachmentUpdatedNotification = Schema.Struct({ + attachmentId: Schema.String, + attachmentType: Schema.String, + identityKey: Schema.String, + operation: ServerNotification__ThreadAttachmentOperation, + threadId: Schema.String, }).annotate({ - description: "Settings for a collaboration mode.", - identifier: "ServerNotification__Settings", + description: "Notification published after a thread attachment is created or deleted.", + identifier: "ServerNotification__ThreadAttachmentUpdatedNotification", }); export type ServerNotification__ThreadGoal = { @@ -15127,6 +18463,15 @@ export const ServerNotification__ThreadGoal = Schema.Struct({ ), }).annotate({ identifier: "ServerNotification__ThreadGoal" }); +export type ServerNotification__ProjectChangedNotification = { + readonly changeType: ServerNotification__ProjectChangeType; + readonly projectId: string; +}; +export const ServerNotification__ProjectChangedNotification = Schema.Struct({ + changeType: ServerNotification__ProjectChangeType, + projectId: Schema.String, +}).annotate({ identifier: "ServerNotification__ProjectChangedNotification" }); + export type ServerNotification__SandboxPolicy = | { readonly type: "dangerFullAccess" } | { readonly networkAccess?: boolean; readonly type: "readOnly" } @@ -15303,6 +18648,15 @@ export const ServerNotification__McpServerStatusUpdatedNotification = Schema.Str threadId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "ServerNotification__McpServerStatusUpdatedNotification" }); +export type ServerNotification__McpServerEventStreamNotification = { + readonly notification: ServerNotification__McpServerEventNotification; + readonly subscriptionId: string; +}; +export const ServerNotification__McpServerEventStreamNotification = Schema.Struct({ + notification: ServerNotification__McpServerEventNotification, + subscriptionId: Schema.String, +}).annotate({ identifier: "ServerNotification__McpServerEventStreamNotification" }); + export type ServerNotification__AccountUpdatedNotification = { readonly authMode?: ServerNotification__AuthMode | null; readonly planType?: ServerNotification__PlanType | null; @@ -15317,6 +18671,7 @@ export type ServerNotification__RateLimitSnapshot = { readonly individualLimit?: ServerNotification__SpendControlLimitSnapshot | null; readonly limitId?: string | null; readonly limitName?: string | null; + readonly normalModelSlug?: string | null; readonly planType?: ServerNotification__PlanType | null; readonly primary?: ServerNotification__RateLimitWindow | null; readonly rateLimitReachedType?: ServerNotification__RateLimitReachedType | null; @@ -15330,6 +18685,15 @@ export const ServerNotification__RateLimitSnapshot = Schema.Struct({ ), limitId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), limitName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + normalModelSlug: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Normal model whose display name and reasoning options describe this quota alias.", + }), + Schema.Null, + ]), + ), planType: Schema.optionalKey(Schema.Union([ServerNotification__PlanType, Schema.Null])), primary: Schema.optionalKey(Schema.Union([ServerNotification__RateLimitWindow, Schema.Null])), rateLimitReachedType: Schema.optionalKey( @@ -15351,7 +18715,6 @@ export type ServerNotification__AppMetadata = { readonly categories?: ReadonlyArray | null; readonly developer?: string | null; readonly firstPartyRequiresInstall?: boolean | null; - readonly firstPartyType?: string | null; readonly review?: ServerNotification__AppReview | null; readonly screenshots?: ReadonlyArray | null; readonly seoDescription?: string | null; @@ -15365,7 +18728,6 @@ export const ServerNotification__AppMetadata = Schema.Struct({ categories: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), developer: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), firstPartyRequiresInstall: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), - firstPartyType: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), review: Schema.optionalKey(Schema.Union([ServerNotification__AppReview, Schema.Null])), screenshots: Schema.optionalKey( Schema.Union([Schema.Array(ServerNotification__AppScreenshot), Schema.Null]), @@ -15418,12 +18780,21 @@ export type ServerNotification__ExternalAgentConfigImportItemTypeSuccess = { readonly itemType: ServerNotification__ExternalAgentConfigMigrationItemType; readonly source?: string | null; readonly target?: string | null; + readonly title?: string | null; }; export const ServerNotification__ExternalAgentConfigImportItemTypeSuccess = Schema.Struct({ cwd: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), itemType: ServerNotification__ExternalAgentConfigMigrationItemType, source: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), target: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + title: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Original title for an imported session; null for other item types.", + }), + Schema.Null, + ]), + ), }).annotate({ identifier: "ServerNotification__ExternalAgentConfigImportItemTypeSuccess" }); export type ServerNotification__ModelReroutedNotification = { @@ -15512,6 +18883,76 @@ export const ServerNotification__ThreadRealtimeStartedNotification = Schema.Stru identifier: "ServerNotification__ThreadRealtimeStartedNotification", }); +export type ServerNotification__ThreadRealtimeItem = + | { + readonly id: string; + readonly realtimeSessionId: string; + readonly type: "realtimeSessionStarted"; + } + | { + readonly id: string; + readonly realtimeSessionId: string; + readonly role: ServerNotification__ThreadRealtimeTranscriptRole; + readonly text: string; + readonly type: "transcriptSegment"; + } + | { + readonly id: string; + readonly realtimeSessionId: string; + readonly item_id: string; + readonly presentation: ServerNotification__ThreadRealtimeBemItemPresentation; + readonly turn_id: string; + readonly type: "bemItemPromoted"; + } + | { + readonly id: string; + readonly realtimeSessionId: string; + readonly outcome: ServerNotification__ThreadRealtimeSessionOutcome; + readonly type: "realtimeSessionClosed"; + }; +export const ServerNotification__ThreadRealtimeItem = Schema.Union( + [ + Schema.Struct({ + id: Schema.String, + realtimeSessionId: Schema.String, + type: Schema.Literal("realtimeSessionStarted").annotate({ + title: "RealtimeSessionStartedThreadRealtimeItemType", + }), + }).annotate({ title: "RealtimeSessionStartedThreadRealtimeItem" }), + Schema.Struct({ + id: Schema.String, + realtimeSessionId: Schema.String, + role: ServerNotification__ThreadRealtimeTranscriptRole, + text: Schema.String, + type: Schema.Literal("transcriptSegment").annotate({ + title: "TranscriptSegmentThreadRealtimeItemType", + }), + }).annotate({ title: "TranscriptSegmentThreadRealtimeItem" }), + Schema.Struct({ + id: Schema.String, + realtimeSessionId: Schema.String, + item_id: Schema.String, + presentation: ServerNotification__ThreadRealtimeBemItemPresentation, + turn_id: Schema.String, + type: Schema.Literal("bemItemPromoted").annotate({ + title: "BemItemPromotedThreadRealtimeItemType", + }), + }).annotate({ title: "BemItemPromotedThreadRealtimeItem" }), + Schema.Struct({ + id: Schema.String, + realtimeSessionId: Schema.String, + outcome: ServerNotification__ThreadRealtimeSessionOutcome, + type: Schema.Literal("realtimeSessionClosed").annotate({ + title: "RealtimeSessionClosedThreadRealtimeItemType", + }), + }).annotate({ title: "RealtimeSessionClosedThreadRealtimeItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: "EXPERIMENTAL - a thread-scoped realtime item in the canonical timeline.", + identifier: "ServerNotification__ThreadRealtimeItem", +}); + export type ServerNotification__ThreadRealtimeOutputAudioDeltaNotification = { readonly audio: ServerNotification__ThreadRealtimeAudioChunk; readonly threadId: string; @@ -15535,11 +18976,26 @@ export const ServerNotification__WindowsSandboxSetupCompletedNotification = Sche success: Schema.Boolean, }).annotate({ identifier: "ServerNotification__WindowsSandboxSetupCompletedNotification" }); +export type ServerNotification__AccountLoginCompletedNotification = { + readonly error?: string | null; + readonly loginId?: string | null; + readonly onboardingEntrypoint?: ServerNotification__DesktopOnboardingEntrypoint | null; + readonly success: boolean; +}; +export const ServerNotification__AccountLoginCompletedNotification = Schema.Struct({ + error: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + loginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + onboardingEntrypoint: Schema.optionalKey( + Schema.Union([ServerNotification__DesktopOnboardingEntrypoint, Schema.Null]), + ), + success: Schema.Boolean, +}).annotate({ identifier: "ServerNotification__AccountLoginCompletedNotification" }); + export type ServerRequest__CommandAction = | { readonly command: string; readonly name: string; - readonly path: ServerRequest__AbsolutePathBuf; + readonly path: ServerRequest__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -15555,7 +19011,7 @@ export const ServerRequest__CommandAction = Schema.Union( Schema.Struct({ command: Schema.String, name: Schema.String, - path: ServerRequest__AbsolutePathBuf, + path: ServerRequest__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -15919,6 +19375,7 @@ export type V2AccountRateLimitsUpdatedNotification__RateLimitSnapshot = { readonly individualLimit?: V2AccountRateLimitsUpdatedNotification__SpendControlLimitSnapshot | null; readonly limitId?: string | null; readonly limitName?: string | null; + readonly normalModelSlug?: string | null; readonly planType?: V2AccountRateLimitsUpdatedNotification__PlanType | null; readonly primary?: V2AccountRateLimitsUpdatedNotification__RateLimitWindow | null; readonly rateLimitReachedType?: V2AccountRateLimitsUpdatedNotification__RateLimitReachedType | null; @@ -15934,6 +19391,15 @@ export const V2AccountRateLimitsUpdatedNotification__RateLimitSnapshot = Schema. ), limitId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), limitName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + normalModelSlug: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Normal model whose display name and reasoning options describe this quota alias.", + }), + Schema.Null, + ]), + ), planType: Schema.optionalKey( Schema.Union([V2AccountRateLimitsUpdatedNotification__PlanType, Schema.Null]), ), @@ -15961,7 +19427,6 @@ export type V2AppListUpdatedNotification__AppMetadata = { readonly categories?: ReadonlyArray | null; readonly developer?: string | null; readonly firstPartyRequiresInstall?: boolean | null; - readonly firstPartyType?: string | null; readonly review?: V2AppListUpdatedNotification__AppReview | null; readonly screenshots?: ReadonlyArray | null; readonly seoDescription?: string | null; @@ -15975,7 +19440,6 @@ export const V2AppListUpdatedNotification__AppMetadata = Schema.Struct({ categories: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), developer: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), firstPartyRequiresInstall: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), - firstPartyType: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), review: Schema.optionalKey(Schema.Union([V2AppListUpdatedNotification__AppReview, Schema.Null])), screenshots: Schema.optionalKey( Schema.Union([Schema.Array(V2AppListUpdatedNotification__AppScreenshot), Schema.Null]), @@ -15992,7 +19456,6 @@ export type V2AppsListResponse__AppMetadata = { readonly categories?: ReadonlyArray | null; readonly developer?: string | null; readonly firstPartyRequiresInstall?: boolean | null; - readonly firstPartyType?: string | null; readonly review?: V2AppsListResponse__AppReview | null; readonly screenshots?: ReadonlyArray | null; readonly seoDescription?: string | null; @@ -16006,7 +19469,6 @@ export const V2AppsListResponse__AppMetadata = Schema.Struct({ categories: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), developer: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), firstPartyRequiresInstall: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), - firstPartyType: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), review: Schema.optionalKey(Schema.Union([V2AppsListResponse__AppReview, Schema.Null])), screenshots: Schema.optionalKey( Schema.Union([Schema.Array(V2AppsListResponse__AppScreenshot), Schema.Null]), @@ -16021,16 +19483,24 @@ export const V2AppsListResponse__AppMetadata = Schema.Struct({ export type V2AppsReadResponse__ConnectorMetadata = { readonly description?: string | null; + readonly distributionChannel?: string | null; readonly iconUrl?: string | null; + readonly iconUrlDark?: string | null; readonly id: string; + readonly installUrl?: string | null; readonly name: string; + readonly pluginDisplayNames?: ReadonlyArray; readonly toolSummaries?: ReadonlyArray | null; }; export const V2AppsReadResponse__ConnectorMetadata = Schema.Struct({ description: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + distributionChannel: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), iconUrl: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + iconUrlDark: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), id: Schema.String, + installUrl: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), name: Schema.String, + pluginDisplayNames: Schema.optionalKey(Schema.Array(Schema.String).annotate({ default: [] })), toolSummaries: Schema.optionalKey( Schema.Union([Schema.Array(V2AppsReadResponse__AppToolSummary), Schema.Null]), ), @@ -16099,6 +19569,52 @@ export const V2ConfigBatchWriteParams__ConfigEdit = Schema.Struct({ value: Schema.Json.annotate({ expected: "JSON value" }), }).annotate({ identifier: "V2ConfigBatchWriteParams__ConfigEdit" }); +export type V2ConfigReadResponse__BrowserUseOriginPolicyConfig = { + readonly access?: V2ConfigReadResponse__AllowDenyRequirement | null; + readonly downloads?: V2ConfigReadResponse__AllowDenyRequirement | null; + readonly full_cdp_access?: V2ConfigReadResponse__AllowDenyRequirement | null; + readonly uploads?: V2ConfigReadResponse__AllowDenyRequirement | null; +}; +export const V2ConfigReadResponse__BrowserUseOriginPolicyConfig = Schema.Struct({ + access: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__AllowDenyRequirement, Schema.Null]), + ), + downloads: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__AllowDenyRequirement, Schema.Null]), + ), + full_cdp_access: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__AllowDenyRequirement, Schema.Null]), + ), + uploads: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__AllowDenyRequirement, Schema.Null]), + ), +}).annotate({ identifier: "V2ConfigReadResponse__BrowserUseOriginPolicyConfig" }); + +export type V2ConfigReadResponse__ComputerUseMacosConfig = { + readonly bundle_ids?: { readonly [x: string]: V2ConfigReadResponse__AllowDenyRequirement } | null; +}; +export const V2ConfigReadResponse__ComputerUseMacosConfig = Schema.Struct({ + bundle_ids: Schema.optionalKey( + Schema.Union([ + Schema.Record(Schema.String, V2ConfigReadResponse__AllowDenyRequirement), + Schema.Null, + ]), + ), +}).annotate({ identifier: "V2ConfigReadResponse__ComputerUseMacosConfig" }); + +export type V2ConfigReadResponse__ComputerUseWindowsExeConfig = { + readonly access: V2ConfigReadResponse__AllowDenyRequirement; + readonly binary_name?: string | null; + readonly product_name: string; + readonly publisher_name: string; +}; +export const V2ConfigReadResponse__ComputerUseWindowsExeConfig = Schema.Struct({ + access: V2ConfigReadResponse__AllowDenyRequirement, + binary_name: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + product_name: Schema.String, + publisher_name: Schema.String, +}).annotate({ identifier: "V2ConfigReadResponse__ComputerUseWindowsExeConfig" }); + export type V2ConfigReadResponse__WebSearchToolConfig = { readonly allowed_domains?: ReadonlyArray | null; readonly context_size?: V2ConfigReadResponse__WebSearchContextSize | null; @@ -16115,6 +19631,7 @@ export const V2ConfigReadResponse__WebSearchToolConfig = Schema.Struct({ }).annotate({ identifier: "V2ConfigReadResponse__WebSearchToolConfig" }); export type V2ConfigReadResponse__ConfigLayerSource = + | { readonly file: V2ConfigReadResponse__AbsolutePathBuf; readonly type: "packagedDefaults" } | { readonly domain: string; readonly key: string; readonly type: "mdm" } | { readonly file: V2ConfigReadResponse__AbsolutePathBuf; readonly type: "system" } | { readonly id: string; readonly name: string; readonly type: "enterpriseManaged" } @@ -16132,6 +19649,18 @@ export type V2ConfigReadResponse__ConfigLayerSource = | { readonly type: "legacyManagedConfigTomlFromMdm" }; export const V2ConfigReadResponse__ConfigLayerSource = Schema.Union( [ + Schema.Struct({ + file: Schema.suspend( + (): Schema.Codec => + V2ConfigReadResponse__AbsolutePathBuf, + ).annotate({ description: "Path to the packaged default configuration file." }), + type: Schema.Literal("packagedDefaults").annotate({ + title: "PackagedDefaultsConfigLayerSourceType", + }), + }).annotate({ + title: "PackagedDefaultsConfigLayerSource", + description: "Default configuration supplied with the installed Codex package.", + }), Schema.Struct({ domain: Schema.String, key: Schema.String, @@ -16241,6 +19770,64 @@ export const V2ConfigReadResponse__AppsDefaultConfig = Schema.Struct({ open_world_enabled: Schema.optionalKey(Schema.Boolean.annotate({ default: true })), }).annotate({ identifier: "V2ConfigReadResponse__AppsDefaultConfig" }); +export type V2ConfigRequirementsReadResponse__ComputerUseMacosRequirements = { + readonly bundleIds?: { + readonly [x: string]: V2ConfigRequirementsReadResponse__AllowDenyRequirement; + } | null; +}; +export const V2ConfigRequirementsReadResponse__ComputerUseMacosRequirements = Schema.Struct({ + bundleIds: Schema.optionalKey( + Schema.Union([ + Schema.Record(Schema.String, V2ConfigRequirementsReadResponse__AllowDenyRequirement), + Schema.Null, + ]), + ), +}).annotate({ identifier: "V2ConfigRequirementsReadResponse__ComputerUseMacosRequirements" }); + +export type V2ConfigRequirementsReadResponse__ComputerUseWindowsExeRequirement = { + readonly access: V2ConfigRequirementsReadResponse__AllowDenyRequirement; + readonly binaryName?: string | null; + readonly productName: string; + readonly publisherName: string; +}; +export const V2ConfigRequirementsReadResponse__ComputerUseWindowsExeRequirement = Schema.Struct({ + access: V2ConfigRequirementsReadResponse__AllowDenyRequirement, + binaryName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + productName: Schema.String, + publisherName: Schema.String, +}).annotate({ identifier: "V2ConfigRequirementsReadResponse__ComputerUseWindowsExeRequirement" }); + +export type V2ConfigRequirementsReadResponse__BrowserUseOriginPolicy = { + readonly access?: V2ConfigRequirementsReadResponse__AllowDenyRequirement | null; + readonly accessApprovalLifetime?: V2ConfigRequirementsReadResponse__BrowserUseAccessApprovalLifetime | null; + readonly autoReview?: V2ConfigRequirementsReadResponse__AllowDenyRequirement | null; + readonly downloads?: V2ConfigRequirementsReadResponse__AllowDenyRequirement | null; + readonly fullCdpAccess?: V2ConfigRequirementsReadResponse__AllowDenyRequirement | null; + readonly persistentApproval?: boolean | null; + readonly uploads?: V2ConfigRequirementsReadResponse__AllowDenyRequirement | null; +}; +export const V2ConfigRequirementsReadResponse__BrowserUseOriginPolicy = Schema.Struct({ + access: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__AllowDenyRequirement, Schema.Null]), + ), + accessApprovalLifetime: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__BrowserUseAccessApprovalLifetime, Schema.Null]), + ), + autoReview: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__AllowDenyRequirement, Schema.Null]), + ), + downloads: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__AllowDenyRequirement, Schema.Null]), + ), + fullCdpAccess: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__AllowDenyRequirement, Schema.Null]), + ), + persistentApproval: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + uploads: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__AllowDenyRequirement, Schema.Null]), + ), +}).annotate({ identifier: "V2ConfigRequirementsReadResponse__BrowserUseOriginPolicy" }); + export type V2ConfigRequirementsReadResponse__NewThreadModelDefaults = { readonly model?: string | null; readonly modelReasoningEffort?: V2ConfigRequirementsReadResponse__ReasoningEffort | null; @@ -16254,6 +19841,19 @@ export const V2ConfigRequirementsReadResponse__NewThreadModelDefaults = Schema.S serviceTier: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "V2ConfigRequirementsReadResponse__NewThreadModelDefaults" }); +export type V2ConfigRequirementsReadResponse__ApplicationNetworkRequirements = { + readonly domains: { + readonly [x: string]: V2ConfigRequirementsReadResponse__NetworkDomainPermission; + }; + readonly enabled: boolean; +}; +export const V2ConfigRequirementsReadResponse__ApplicationNetworkRequirements = Schema.Struct({ + domains: Schema.Record(Schema.String, V2ConfigRequirementsReadResponse__NetworkDomainPermission), + enabled: Schema.Boolean.annotate({ + description: "When enabled, only explicitly allowed exact domains may be contacted.", + }), +}).annotate({ identifier: "V2ConfigRequirementsReadResponse__ApplicationNetworkRequirements" }); + export type V2ConfigRequirementsReadResponse__ConfiguredHookMatcherGroup = { readonly hooks: ReadonlyArray; readonly matcher?: string | null; @@ -16273,6 +19873,7 @@ export const V2ConfigWarningNotification__TextRange = Schema.Struct({ }).annotate({ identifier: "V2ConfigWarningNotification__TextRange" }); export type V2ConfigWriteResponse__ConfigLayerSource = + | { readonly file: V2ConfigWriteResponse__AbsolutePathBuf; readonly type: "packagedDefaults" } | { readonly domain: string; readonly key: string; readonly type: "mdm" } | { readonly file: V2ConfigWriteResponse__AbsolutePathBuf; readonly type: "system" } | { readonly id: string; readonly name: string; readonly type: "enterpriseManaged" } @@ -16290,6 +19891,18 @@ export type V2ConfigWriteResponse__ConfigLayerSource = | { readonly type: "legacyManagedConfigTomlFromMdm" }; export const V2ConfigWriteResponse__ConfigLayerSource = Schema.Union( [ + Schema.Struct({ + file: Schema.suspend( + (): Schema.Codec => + V2ConfigWriteResponse__AbsolutePathBuf, + ).annotate({ description: "Path to the packaged default configuration file." }), + type: Schema.Literal("packagedDefaults").annotate({ + title: "PackagedDefaultsConfigLayerSourceType", + }), + }).annotate({ + title: "PackagedDefaultsConfigLayerSource", + description: "Default configuration supplied with the installed Codex package.", + }), Schema.Struct({ domain: Schema.String, key: Schema.String, @@ -16384,8 +19997,10 @@ export type V2ErrorNotification__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" @@ -16407,8 +20022,10 @@ export const V2ErrorNotification__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", @@ -16507,6 +20124,38 @@ export const V2ErrorNotification__CodexErrorInfo = Schema.Union( identifier: "V2ErrorNotification__CodexErrorInfo", }); +export type V2ErrorNotification__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2ErrorNotification__MisalignmentSteer | null; +}; +export const V2ErrorNotification__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2ErrorNotification__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2ErrorNotification__MisalignmentErrorDetails" }); + export type V2ExperimentalFeatureListResponse__ExperimentalFeature = { readonly announcement?: string | null; readonly defaultEnabled: boolean; @@ -16559,6 +20208,26 @@ export const V2ExperimentalFeatureListResponse__ExperimentalFeature = Schema.Str ).annotate({ description: "Lifecycle stage of this feature flag." }), }).annotate({ identifier: "V2ExperimentalFeatureListResponse__ExperimentalFeature" }); +export type V2ExternalAgentConfigDetectResponse__ExternalAgentDetectedConnectorCandidate = { + readonly name: string; + readonly sessionCount: number; + readonly source: V2ExternalAgentConfigDetectResponse__ExternalAgentDetectedConnectorSource; +}; +export const V2ExternalAgentConfigDetectResponse__ExternalAgentDetectedConnectorCandidate = + Schema.Struct({ + name: Schema.String, + sessionCount: Schema.Number.annotate({ format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + source: V2ExternalAgentConfigDetectResponse__ExternalAgentDetectedConnectorSource, + }).annotate({ + identifier: "V2ExternalAgentConfigDetectResponse__ExternalAgentDetectedConnectorCandidate", + }); + export type V2ExternalAgentConfigDetectResponse__MigrationDetails = { readonly commands?: ReadonlyArray; readonly hooks?: ReadonlyArray; @@ -16625,6 +20294,7 @@ export type V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConfi readonly itemType: V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConfigMigrationItemType; readonly source?: string | null; readonly target?: string | null; + readonly title?: string | null; }; export const V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConfigImportItemTypeSuccess = Schema.Struct({ @@ -16633,6 +20303,14 @@ export const V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConf V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConfigMigrationItemType, source: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), target: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + title: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Original title for an imported session; null for other item types.", + }), + Schema.Null, + ]), + ), }).annotate({ identifier: "V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConfigImportItemTypeSuccess", @@ -16691,6 +20369,7 @@ export type V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfi readonly itemType: V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigMigrationItemType; readonly source?: string | null; readonly target?: string | null; + readonly title?: string | null; }; export const V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigImportItemTypeSuccess = Schema.Struct({ @@ -16699,11 +20378,70 @@ export const V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConf V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigMigrationItemType, source: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), target: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + title: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Original title for an imported session; null for other item types.", + }), + Schema.Null, + ]), + ), }).annotate({ identifier: "V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigImportItemTypeSuccess", }); +export type V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigImportItemTypeFailure = + { + readonly cwd?: string | null; + readonly errorType?: string | null; + readonly failureStage: string; + readonly itemType: V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigMigrationItemType; + readonly message: string; + readonly source?: string | null; + readonly subErrorType?: string | null; + }; +export const V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigImportItemTypeFailure = + Schema.Struct({ + cwd: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + errorType: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + failureStage: Schema.String, + itemType: V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigMigrationItemType, + message: Schema.String, + source: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + subErrorType: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + }).annotate({ + identifier: + "V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigImportItemTypeFailure", + }); + +export type V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigImportHistoryRecordSuccessParams = + { + readonly cwd?: string | null; + readonly itemType: V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigMigrationItemType; + readonly source?: string | null; + readonly target?: string | null; + readonly title?: string | null; + }; +export const V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigImportHistoryRecordSuccessParams = + Schema.Struct({ + cwd: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + itemType: V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigMigrationItemType, + source: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + target: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + title: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Original title for an imported session, when available.", + }), + Schema.Null, + ]), + ), + }).annotate({ + identifier: + "V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigImportHistoryRecordSuccessParams", + }); + export type V2ExternalAgentConfigImportParams__MigrationDetails = { readonly commands?: ReadonlyArray; readonly hooks?: ReadonlyArray; @@ -16769,6 +20507,7 @@ export type V2ExternalAgentConfigImportProgressNotification__ExternalAgentConfig readonly itemType: V2ExternalAgentConfigImportProgressNotification__ExternalAgentConfigMigrationItemType; readonly source?: string | null; readonly target?: string | null; + readonly title?: string | null; }; export const V2ExternalAgentConfigImportProgressNotification__ExternalAgentConfigImportItemTypeSuccess = Schema.Struct({ @@ -16776,6 +20515,14 @@ export const V2ExternalAgentConfigImportProgressNotification__ExternalAgentConfi itemType: V2ExternalAgentConfigImportProgressNotification__ExternalAgentConfigMigrationItemType, source: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), target: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + title: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Original title for an imported session; null for other item types.", + }), + Schema.Null, + ]), + ), }).annotate({ identifier: "V2ExternalAgentConfigImportProgressNotification__ExternalAgentConfigImportItemTypeSuccess", @@ -16843,6 +20590,7 @@ export type V2GetAccountRateLimitsResponse__RateLimitSnapshot = { readonly individualLimit?: V2GetAccountRateLimitsResponse__SpendControlLimitSnapshot | null; readonly limitId?: string | null; readonly limitName?: string | null; + readonly normalModelSlug?: string | null; readonly planType?: V2GetAccountRateLimitsResponse__PlanType | null; readonly primary?: V2GetAccountRateLimitsResponse__RateLimitWindow | null; readonly rateLimitReachedType?: V2GetAccountRateLimitsResponse__RateLimitReachedType | null; @@ -16858,6 +20606,15 @@ export const V2GetAccountRateLimitsResponse__RateLimitSnapshot = Schema.Struct({ ), limitId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), limitName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + normalModelSlug: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Normal model whose display name and reasoning options describe this quota alias.", + }), + Schema.Null, + ]), + ), planType: Schema.optionalKey( Schema.Union([V2GetAccountRateLimitsResponse__PlanType, Schema.Null]), ), @@ -16907,6 +20664,28 @@ export const V2GetAccountResponse__Account = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2GetAccountResponse__Account" }); +export type V2GetAccountTokenUsageResponse__ThreadUsage = { + readonly estimatedUsageCreditsMicros: number; + readonly estimatedUsageUsdMicros?: number | null; + readonly groups: ReadonlyArray; + readonly threadId: string; +}; +export const V2GetAccountTokenUsageResponse__ThreadUsage = Schema.Struct({ + estimatedUsageCreditsMicros: Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + estimatedUsageUsdMicros: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + groups: Schema.Array(V2GetAccountTokenUsageResponse__ThreadUsageBreakdownGroup), + threadId: Schema.String, +}).annotate({ identifier: "V2GetAccountTokenUsageResponse__ThreadUsage" }); + export type V2GetWorkspaceMessagesResponse__WorkspaceMessage = { readonly archivedAt?: number | null; readonly createdAt?: number | null; @@ -16947,46 +20726,248 @@ export const V2HookCompletedNotification__HookOutputEntry = Schema.Struct({ text: Schema.String, }).annotate({ identifier: "V2HookCompletedNotification__HookOutputEntry" }); -export type V2HooksListResponse__HookMetadata = { - readonly command?: string | null; - readonly currentHash: string; - readonly displayOrder: number; - readonly enabled: boolean; - readonly eventName: V2HooksListResponse__HookEventName; - readonly handlerType: V2HooksListResponse__HookHandlerType; - readonly isManaged: boolean; - readonly key: string; - readonly matcher?: string | null; - readonly pluginId?: string | null; - readonly source: V2HooksListResponse__HookSource; - readonly sourcePath: V2HooksListResponse__AbsolutePathBuf; - readonly statusMessage?: string | null; - readonly timeoutSec: number; - readonly trustStatus: V2HooksListResponse__HookTrustStatus; -}; -export const V2HooksListResponse__HookMetadata = Schema.Struct({ - command: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - currentHash: Schema.String, - displayOrder: Schema.Number.annotate({ format: "int64" }).check( - Schema.isInt().annotate({ expected: "an integer" }), - ), - enabled: Schema.Boolean, - eventName: V2HooksListResponse__HookEventName, - handlerType: V2HooksListResponse__HookHandlerType, - isManaged: Schema.Boolean, - key: Schema.String, - matcher: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - source: V2HooksListResponse__HookSource, - sourcePath: V2HooksListResponse__AbsolutePathBuf, - statusMessage: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - timeoutSec: Schema.Number.annotate({ format: "uint64" }) - .check(Schema.isInt().annotate({ expected: "an integer" })) - .check( - Schema.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }), - ), - trustStatus: V2HooksListResponse__HookTrustStatus, -}).annotate({ identifier: "V2HooksListResponse__HookMetadata" }); +export type V2HooksListResponse__HookMetadata = + | { + readonly additionalContextLimit?: number | null; + readonly currentHash: string; + readonly displayOrder: number; + readonly enabled: boolean; + readonly eventName: V2HooksListResponse__HookEventName; + readonly isManaged: boolean; + readonly key: string; + readonly matcher?: string | null; + readonly pluginId?: string | null; + readonly source: V2HooksListResponse__HookSource; + readonly sourcePath: V2HooksListResponse__AbsolutePathBuf; + readonly statusMessage?: string | null; + readonly timeoutSec: number; + readonly trustStatus: V2HooksListResponse__HookTrustStatus; + readonly async?: boolean; + readonly command: string; + readonly handlerType: "command"; + } + | { + readonly additionalContextLimit?: number | null; + readonly currentHash: string; + readonly displayOrder: number; + readonly enabled: boolean; + readonly eventName: V2HooksListResponse__HookEventName; + readonly isManaged: boolean; + readonly key: string; + readonly matcher?: string | null; + readonly pluginId?: string | null; + readonly source: V2HooksListResponse__HookSource; + readonly sourcePath: V2HooksListResponse__AbsolutePathBuf; + readonly statusMessage?: string | null; + readonly timeoutSec: number; + readonly trustStatus: V2HooksListResponse__HookTrustStatus; + readonly handlerType: "mcpTool"; + readonly server: string; + readonly tool: string; + } + | { + readonly additionalContextLimit?: number | null; + readonly currentHash: string; + readonly displayOrder: number; + readonly enabled: boolean; + readonly eventName: V2HooksListResponse__HookEventName; + readonly isManaged: boolean; + readonly key: string; + readonly matcher?: string | null; + readonly pluginId?: string | null; + readonly source: V2HooksListResponse__HookSource; + readonly sourcePath: V2HooksListResponse__AbsolutePathBuf; + readonly statusMessage?: string | null; + readonly timeoutSec: number; + readonly trustStatus: V2HooksListResponse__HookTrustStatus; + readonly handlerType: "prompt"; + } + | { + readonly additionalContextLimit?: number | null; + readonly currentHash: string; + readonly displayOrder: number; + readonly enabled: boolean; + readonly eventName: V2HooksListResponse__HookEventName; + readonly isManaged: boolean; + readonly key: string; + readonly matcher?: string | null; + readonly pluginId?: string | null; + readonly source: V2HooksListResponse__HookSource; + readonly sourcePath: V2HooksListResponse__AbsolutePathBuf; + readonly statusMessage?: string | null; + readonly timeoutSec: number; + readonly trustStatus: V2HooksListResponse__HookTrustStatus; + readonly handlerType: "agent"; + }; +export const V2HooksListResponse__HookMetadata = Schema.Union( + [ + Schema.Struct({ + additionalContextLimit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Configured `additionalContext` spill threshold. `null` uses 2,500 tokens; `0` disables spilling.", + format: "uint", + }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + currentHash: Schema.String, + displayOrder: Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + enabled: Schema.Boolean, + eventName: V2HooksListResponse__HookEventName, + isManaged: Schema.Boolean, + key: Schema.String, + matcher: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + source: V2HooksListResponse__HookSource, + sourcePath: V2HooksListResponse__AbsolutePathBuf, + statusMessage: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + timeoutSec: Schema.Number.annotate({ format: "uint64" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + trustStatus: V2HooksListResponse__HookTrustStatus, + async: Schema.optionalKey(Schema.Boolean.annotate({ default: false })), + command: Schema.String, + handlerType: Schema.Literal("command"), + }), + Schema.Struct({ + additionalContextLimit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Configured `additionalContext` spill threshold. `null` uses 2,500 tokens; `0` disables spilling.", + format: "uint", + }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + currentHash: Schema.String, + displayOrder: Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + enabled: Schema.Boolean, + eventName: V2HooksListResponse__HookEventName, + isManaged: Schema.Boolean, + key: Schema.String, + matcher: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + source: V2HooksListResponse__HookSource, + sourcePath: V2HooksListResponse__AbsolutePathBuf, + statusMessage: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + timeoutSec: Schema.Number.annotate({ format: "uint64" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + trustStatus: V2HooksListResponse__HookTrustStatus, + handlerType: Schema.Literal("mcpTool"), + server: Schema.String, + tool: Schema.String, + }), + Schema.Struct({ + additionalContextLimit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Configured `additionalContext` spill threshold. `null` uses 2,500 tokens; `0` disables spilling.", + format: "uint", + }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + currentHash: Schema.String, + displayOrder: Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + enabled: Schema.Boolean, + eventName: V2HooksListResponse__HookEventName, + isManaged: Schema.Boolean, + key: Schema.String, + matcher: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + source: V2HooksListResponse__HookSource, + sourcePath: V2HooksListResponse__AbsolutePathBuf, + statusMessage: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + timeoutSec: Schema.Number.annotate({ format: "uint64" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + trustStatus: V2HooksListResponse__HookTrustStatus, + handlerType: Schema.Literal("prompt"), + }).annotate({ title: "PromptHookMetadata" }), + Schema.Struct({ + additionalContextLimit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Configured `additionalContext` spill threshold. `null` uses 2,500 tokens; `0` disables spilling.", + format: "uint", + }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + currentHash: Schema.String, + displayOrder: Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + enabled: Schema.Boolean, + eventName: V2HooksListResponse__HookEventName, + isManaged: Schema.Boolean, + key: Schema.String, + matcher: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + source: V2HooksListResponse__HookSource, + sourcePath: V2HooksListResponse__AbsolutePathBuf, + statusMessage: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + timeoutSec: Schema.Number.annotate({ format: "uint64" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + trustStatus: V2HooksListResponse__HookTrustStatus, + handlerType: Schema.Literal("agent"), + }).annotate({ title: "AgentHookMetadata" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2HooksListResponse__HookMetadata" }); export type V2HookStartedNotification__HookOutputEntry = { readonly kind: V2HookStartedNotification__HookOutputEntryKind; @@ -17016,6 +20997,68 @@ export const V2ItemCompletedNotification__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2ItemCompletedNotification__TextElement" }); +export type V2ItemCompletedNotification__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ItemCompletedNotification__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ItemCompletedNotification__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ItemCompletedNotification__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ItemCompletedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ItemCompletedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ItemCompletedNotification__FunctionCallOutputContentItem", +}); + export type V2ItemCompletedNotification__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -17029,7 +21072,7 @@ export type V2ItemCompletedNotification__CommandAction = | { readonly command: string; readonly name: string; - readonly path: V2ItemCompletedNotification__AbsolutePathBuf; + readonly path: V2ItemCompletedNotification__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -17045,7 +21088,7 @@ export const V2ItemCompletedNotification__CommandAction = Schema.Union( Schema.Struct({ command: Schema.String, name: Schema.String, - path: V2ItemCompletedNotification__AbsolutePathBuf, + path: V2ItemCompletedNotification__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -17078,6 +21121,19 @@ export const V2ItemCompletedNotification__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2ItemCompletedNotification__FileUpdateChange" }); +export type V2ItemCompletedNotification__McpAppUi = { + readonly preferredModelDisplayMode: V2ItemCompletedNotification__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ItemCompletedNotification__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ItemCompletedNotification__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ItemCompletedNotification__McpAppUi", +}); + export type V2ItemCompletedNotification__CollabAgentState = { readonly message?: string | null; readonly status: V2ItemCompletedNotification__CollabAgentStatus; @@ -17268,6 +21324,68 @@ export const V2ItemStartedNotification__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2ItemStartedNotification__TextElement" }); +export type V2ItemStartedNotification__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ItemStartedNotification__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ItemStartedNotification__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ItemStartedNotification__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ItemStartedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ItemStartedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ItemStartedNotification__FunctionCallOutputContentItem", +}); + export type V2ItemStartedNotification__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -17281,7 +21399,7 @@ export type V2ItemStartedNotification__CommandAction = | { readonly command: string; readonly name: string; - readonly path: V2ItemStartedNotification__AbsolutePathBuf; + readonly path: V2ItemStartedNotification__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -17297,7 +21415,7 @@ export const V2ItemStartedNotification__CommandAction = Schema.Union( Schema.Struct({ command: Schema.String, name: Schema.String, - path: V2ItemStartedNotification__AbsolutePathBuf, + path: V2ItemStartedNotification__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -17330,6 +21448,19 @@ export const V2ItemStartedNotification__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2ItemStartedNotification__FileUpdateChange" }); +export type V2ItemStartedNotification__McpAppUi = { + readonly preferredModelDisplayMode: V2ItemStartedNotification__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ItemStartedNotification__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ItemStartedNotification__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ItemStartedNotification__McpAppUi", +}); + export type V2ItemStartedNotification__CollabAgentState = { readonly message?: string | null; readonly status: V2ItemStartedNotification__CollabAgentStatus; @@ -17342,22 +21473,60 @@ export const V2ItemStartedNotification__CollabAgentState = Schema.Struct({ export type V2ListMcpServerStatusResponse__McpServerStatus = { readonly authStatus: V2ListMcpServerStatusResponse__McpAuthStatus; readonly name: string; + readonly pluginId?: string | null; readonly resourceTemplates: ReadonlyArray; readonly resources: ReadonlyArray; + readonly runtimeStatus?: V2ListMcpServerStatusResponse__McpServerConnectionStatus | null; + readonly serverCapabilities?: Schema.Json; readonly serverInfo?: V2ListMcpServerStatusResponse__McpServerInfo | null; readonly tools: { readonly [x: string]: V2ListMcpServerStatusResponse__Tool }; + readonly toolsError?: string | null; }; export const V2ListMcpServerStatusResponse__McpServerStatus = Schema.Struct({ authStatus: V2ListMcpServerStatusResponse__McpAuthStatus, name: Schema.String, + pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), resourceTemplates: Schema.Array(V2ListMcpServerStatusResponse__ResourceTemplate), resources: Schema.Array(V2ListMcpServerStatusResponse__Resource), + runtimeStatus: Schema.optionalKey( + Schema.Union([V2ListMcpServerStatusResponse__McpServerConnectionStatus, Schema.Null]).annotate({ + description: + "Current thread-runtime connection state; null when unavailable or the configuration changed.", + }), + ), + serverCapabilities: Schema.optionalKey( + Schema.Json.annotate({ + expected: "JSON value", + description: "Capabilities advertised by the initialized MCP server; null when unavailable.", + }), + ), serverInfo: Schema.optionalKey( Schema.Union([V2ListMcpServerStatusResponse__McpServerInfo, Schema.Null]), ), tools: Schema.Record(Schema.String, V2ListMcpServerStatusResponse__Tool), + toolsError: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Tool discovery failed and no catalog was returned. Null when a catalog is returned, including cached or empty catalogs.", + }), + Schema.Null, + ]), + ), }).annotate({ identifier: "V2ListMcpServerStatusResponse__McpServerStatus" }); +export type V2ModelListResponse__ModelAccessPrograms = { + readonly cyber: ReadonlyArray; +}; +export const V2ModelListResponse__ModelAccessPrograms = Schema.Struct({ + cyber: Schema.Array(V2ModelListResponse__CyberAccessProgram).annotate({ + description: "Accepted explicit selections.", + }), +}).annotate({ + description: "Caller-specific explicit access programs advertised by model discovery.", + identifier: "V2ModelListResponse__ModelAccessPrograms", +}); + export type V2ModelListResponse__ReasoningEffortOption = { readonly description: string; readonly reasoningEffort: V2ModelListResponse__ReasoningEffort; @@ -17732,7 +21901,9 @@ export type V2PluginReadResponse__SkillInterface = { readonly defaultPrompt?: string | null; readonly displayName?: string | null; readonly iconLarge?: V2PluginReadResponse__AbsolutePathBuf | null; + readonly iconLargeUrl?: string | null; readonly iconSmall?: V2PluginReadResponse__AbsolutePathBuf | null; + readonly iconSmallUrl?: string | null; readonly shortDescription?: string | null; }; export const V2PluginReadResponse__SkillInterface = Schema.Struct({ @@ -17740,7 +21911,19 @@ export const V2PluginReadResponse__SkillInterface = Schema.Struct({ defaultPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), displayName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), iconLarge: Schema.optionalKey(Schema.Union([V2PluginReadResponse__AbsolutePathBuf, Schema.Null])), + iconLargeUrl: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ description: "Remote large icon URL from the plugin catalog." }), + Schema.Null, + ]), + ), iconSmall: Schema.optionalKey(Schema.Union([V2PluginReadResponse__AbsolutePathBuf, Schema.Null])), + iconSmallUrl: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ description: "Remote small icon URL from the plugin catalog." }), + Schema.Null, + ]), + ), shortDescription: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "V2PluginReadResponse__SkillInterface" }); @@ -18136,8 +22319,13 @@ export type V2RawResponseItemCompletedNotification__ContentItem = | { readonly text: string; readonly type: "input_text" } | { readonly detail?: V2RawResponseItemCompletedNotification__ImageDetail | null; + readonly type: "input_image"; readonly image_url: string; + } + | { + readonly detail?: V2RawResponseItemCompletedNotification__ImageDetail | null; readonly type: "input_image"; + readonly file_id: string; } | { readonly audio_url: string; readonly type: "input_audio" } | { readonly text: string; readonly type: "output_text" }; @@ -18147,13 +22335,22 @@ export const V2RawResponseItemCompletedNotification__ContentItem = Schema.Union( text: Schema.String, type: Schema.Literal("input_text").annotate({ title: "InputTextContentItemType" }), }).annotate({ title: "InputTextContentItem" }), - Schema.Struct({ - detail: Schema.optionalKey( - Schema.Union([V2RawResponseItemCompletedNotification__ImageDetail, Schema.Null]), - ), - image_url: Schema.String, - type: Schema.Literal("input_image").annotate({ title: "InputImageContentItemType" }), - }).annotate({ title: "InputImageContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2RawResponseItemCompletedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ title: "InputImageContentItemType" }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2RawResponseItemCompletedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ title: "InputImageContentItemType" }), + file_id: Schema.String, + }).annotate({ title: "FileIdContentItem" }), + ]).annotate({ title: "InputImageContentItem" }), Schema.Struct({ audio_url: Schema.String, type: Schema.Literal("input_audio").annotate({ title: "InputAudioContentItemType" }), @@ -18170,8 +22367,13 @@ export type V2RawResponseItemCompletedNotification__FunctionCallOutputContentIte | { readonly text: string; readonly type: "input_text" } | { readonly detail?: V2RawResponseItemCompletedNotification__ImageDetail | null; + readonly type: "input_image"; readonly image_url: string; + } + | { + readonly detail?: V2RawResponseItemCompletedNotification__ImageDetail | null; readonly type: "input_image"; + readonly file_id: string; } | { readonly audio_url: string; readonly type: "input_audio" } | { readonly encrypted_content: string; readonly type: "encrypted_content" }; @@ -18183,15 +22385,26 @@ export const V2RawResponseItemCompletedNotification__FunctionCallOutputContentIt title: "InputTextFunctionCallOutputContentItemType", }), }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), - Schema.Struct({ - detail: Schema.optionalKey( - Schema.Union([V2RawResponseItemCompletedNotification__ImageDetail, Schema.Null]), - ), - image_url: Schema.String, - type: Schema.Literal("input_image").annotate({ - title: "InputImageFunctionCallOutputContentItemType", - }), - }).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2RawResponseItemCompletedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2RawResponseItemCompletedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), Schema.Struct({ audio_url: Schema.String, type: Schema.Literal("input_audio").annotate({ @@ -18212,12 +22425,24 @@ export const V2RawResponseItemCompletedNotification__FunctionCallOutputContentIt identifier: "V2RawResponseItemCompletedNotification__FunctionCallOutputContentItem", }); +export type V2RawResponseItemCompletedNotification__ConfigurationReasoning = { + readonly effort: V2RawResponseItemCompletedNotification__ReasoningEffort; +}; +export const V2RawResponseItemCompletedNotification__ConfigurationReasoning = Schema.Struct({ + effort: V2RawResponseItemCompletedNotification__ReasoningEffort, +}).annotate({ + description: "Reasoning settings interpreted by the backend for the routed model.", + identifier: "V2RawResponseItemCompletedNotification__ConfigurationReasoning", +}); + export type V2ReviewStartResponse__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" @@ -18239,8 +22464,10 @@ export const V2ReviewStartResponse__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", @@ -18339,6 +22566,38 @@ export const V2ReviewStartResponse__CodexErrorInfo = Schema.Union( identifier: "V2ReviewStartResponse__CodexErrorInfo", }); +export type V2ReviewStartResponse__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2ReviewStartResponse__MisalignmentSteer | null; +}; +export const V2ReviewStartResponse__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2ReviewStartResponse__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2ReviewStartResponse__MisalignmentErrorDetails" }); + export type V2ReviewStartResponse__TextElement = { readonly byteRange: V2ReviewStartResponse__ByteRange; readonly placeholder?: string | null; @@ -18357,6 +22616,64 @@ export const V2ReviewStartResponse__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2ReviewStartResponse__TextElement" }); +export type V2ReviewStartResponse__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ReviewStartResponse__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ReviewStartResponse__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ReviewStartResponse__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ReviewStartResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ReviewStartResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ReviewStartResponse__FunctionCallOutputContentItem", +}); + export type V2ReviewStartResponse__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -18370,7 +22687,7 @@ export type V2ReviewStartResponse__CommandAction = | { readonly command: string; readonly name: string; - readonly path: V2ReviewStartResponse__AbsolutePathBuf; + readonly path: V2ReviewStartResponse__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -18386,7 +22703,7 @@ export const V2ReviewStartResponse__CommandAction = Schema.Union( Schema.Struct({ command: Schema.String, name: Schema.String, - path: V2ReviewStartResponse__AbsolutePathBuf, + path: V2ReviewStartResponse__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -18419,6 +22736,19 @@ export const V2ReviewStartResponse__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2ReviewStartResponse__FileUpdateChange" }); +export type V2ReviewStartResponse__McpAppUi = { + readonly preferredModelDisplayMode: V2ReviewStartResponse__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ReviewStartResponse__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ReviewStartResponse__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ReviewStartResponse__McpAppUi", +}); + export type V2ReviewStartResponse__CollabAgentState = { readonly message?: string | null; readonly status: V2ReviewStartResponse__CollabAgentStatus; @@ -18440,7 +22770,9 @@ export type V2SkillsListResponse__SkillInterface = { readonly defaultPrompt?: string | null; readonly displayName?: string | null; readonly iconLarge?: V2SkillsListResponse__AbsolutePathBuf | null; + readonly iconLargeUrl?: string | null; readonly iconSmall?: V2SkillsListResponse__AbsolutePathBuf | null; + readonly iconSmallUrl?: string | null; readonly shortDescription?: string | null; }; export const V2SkillsListResponse__SkillInterface = Schema.Struct({ @@ -18448,7 +22780,19 @@ export const V2SkillsListResponse__SkillInterface = Schema.Struct({ defaultPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), displayName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), iconLarge: Schema.optionalKey(Schema.Union([V2SkillsListResponse__AbsolutePathBuf, Schema.Null])), + iconLargeUrl: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ description: "Remote large icon URL from the plugin catalog." }), + Schema.Null, + ]), + ), iconSmall: Schema.optionalKey(Schema.Union([V2SkillsListResponse__AbsolutePathBuf, Schema.Null])), + iconSmallUrl: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ description: "Remote small icon URL from the plugin catalog." }), + Schema.Null, + ]), + ), shortDescription: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ identifier: "V2SkillsListResponse__SkillInterface" }); @@ -18456,7 +22800,7 @@ export type V2ThreadForkResponse__CommandAction = | { readonly command: string; readonly name: string; - readonly path: V2ThreadForkResponse__AbsolutePathBuf; + readonly path: V2ThreadForkResponse__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -18472,7 +22816,7 @@ export const V2ThreadForkResponse__CommandAction = Schema.Union( Schema.Struct({ command: Schema.String, name: Schema.String, - path: V2ThreadForkResponse__AbsolutePathBuf, + path: V2ThreadForkResponse__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -18543,6 +22887,26 @@ export const V2ThreadForkResponse__SandboxPolicy = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadForkResponse__SandboxPolicy" }); +export type V2ThreadForkResponse__ThreadSection = { + readonly appearance?: V2ThreadForkResponse__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const V2ThreadForkResponse__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadForkResponse__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "V2ThreadForkResponse__ThreadSection", +}); + export type V2ThreadForkResponse__SubAgentSource = | "review" | "compact" @@ -18609,15 +22973,15 @@ export type V2ThreadForkResponse__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" | "threadRollbackFailed" | "sandboxError" - | "rateLimitExceeded" - | "misalignmentPolicyViolation" | "other" | { readonly httpConnectionFailed: { readonly httpStatusCode?: number | null } } | { readonly responseStreamConnectionFailed: { readonly httpStatusCode?: number | null } } @@ -18634,15 +22998,15 @@ export const V2ThreadForkResponse__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", "threadRollbackFailed", "sandboxError", - "rateLimitExceeded", - "misalignmentPolicyViolation", "other", ]), Schema.Struct({ @@ -18736,6 +23100,38 @@ export const V2ThreadForkResponse__CodexErrorInfo = Schema.Union( identifier: "V2ThreadForkResponse__CodexErrorInfo", }); +export type V2ThreadForkResponse__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2ThreadForkResponse__MisalignmentSteer | null; +}; +export const V2ThreadForkResponse__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2ThreadForkResponse__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2ThreadForkResponse__MisalignmentErrorDetails" }); + export type V2ThreadForkResponse__TextElement = { readonly byteRange: V2ThreadForkResponse__ByteRange; readonly placeholder?: string | null; @@ -18754,6 +23150,64 @@ export const V2ThreadForkResponse__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2ThreadForkResponse__TextElement" }); +export type V2ThreadForkResponse__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ThreadForkResponse__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ThreadForkResponse__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ThreadForkResponse__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadForkResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadForkResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ThreadForkResponse__FunctionCallOutputContentItem", +}); + export type V2ThreadForkResponse__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -18774,6 +23228,19 @@ export const V2ThreadForkResponse__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2ThreadForkResponse__FileUpdateChange" }); +export type V2ThreadForkResponse__McpAppUi = { + readonly preferredModelDisplayMode: V2ThreadForkResponse__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ThreadForkResponse__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ThreadForkResponse__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ThreadForkResponse__McpAppUi", +}); + export type V2ThreadForkResponse__CollabAgentState = { readonly message?: string | null; readonly status: V2ThreadForkResponse__CollabAgentStatus; @@ -18891,11 +23358,100 @@ export const V2ThreadGoalUpdatedNotification__ThreadGoal = Schema.Struct({ ), }).annotate({ identifier: "V2ThreadGoalUpdatedNotification__ThreadGoal" }); -export type V2ThreadListResponse__CommandAction = +export type V2ThreadItemsListResponse__TextElement = { + readonly byteRange: V2ThreadItemsListResponse__ByteRange; + readonly placeholder?: string | null; +}; +export const V2ThreadItemsListResponse__TextElement = Schema.Struct({ + byteRange: Schema.suspend( + (): Schema.Codec => V2ThreadItemsListResponse__ByteRange, + ).annotate({ description: "Byte range in the parent `text` buffer that this element occupies." }), + placeholder: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Optional human-readable placeholder for the element, displayed in the UI.", + }), + Schema.Null, + ]), + ), +}).annotate({ identifier: "V2ThreadItemsListResponse__TextElement" }); + +export type V2ThreadItemsListResponse__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ThreadItemsListResponse__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ThreadItemsListResponse__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ThreadItemsListResponse__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ThreadItemsListResponse__FunctionCallOutputContentItem", +}); + +export type V2ThreadItemsListResponse__MemoryCitation = { + readonly entries: ReadonlyArray; + readonly threadIds: ReadonlyArray; +}; +export const V2ThreadItemsListResponse__MemoryCitation = Schema.Struct({ + entries: Schema.Array(V2ThreadItemsListResponse__MemoryCitationEntry), + threadIds: Schema.Array(Schema.String), +}).annotate({ identifier: "V2ThreadItemsListResponse__MemoryCitation" }); + +export type V2ThreadItemsListResponse__CommandAction = | { readonly command: string; readonly name: string; - readonly path: V2ThreadListResponse__AbsolutePathBuf; + readonly path: V2ThreadItemsListResponse__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -18906,12 +23462,12 @@ export type V2ThreadListResponse__CommandAction = readonly type: "search"; } | { readonly command: string; readonly type: "unknown" }; -export const V2ThreadListResponse__CommandAction = Schema.Union( +export const V2ThreadItemsListResponse__CommandAction = Schema.Union( [ Schema.Struct({ command: Schema.String, name: Schema.String, - path: V2ThreadListResponse__AbsolutePathBuf, + path: V2ThreadItemsListResponse__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -18931,7 +23487,60 @@ export const V2ThreadListResponse__CommandAction = Schema.Union( }).annotate({ title: "UnknownCommandAction" }), ], { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadListResponse__CommandAction" }); +).annotate({ identifier: "V2ThreadItemsListResponse__CommandAction" }); + +export type V2ThreadItemsListResponse__FileUpdateChange = { + readonly diff: string; + readonly kind: V2ThreadItemsListResponse__PatchChangeKind; + readonly path: string; +}; +export const V2ThreadItemsListResponse__FileUpdateChange = Schema.Struct({ + diff: Schema.String, + kind: V2ThreadItemsListResponse__PatchChangeKind, + path: Schema.String, +}).annotate({ identifier: "V2ThreadItemsListResponse__FileUpdateChange" }); + +export type V2ThreadItemsListResponse__McpAppUi = { + readonly preferredModelDisplayMode: V2ThreadItemsListResponse__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ThreadItemsListResponse__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ThreadItemsListResponse__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ThreadItemsListResponse__McpAppUi", +}); + +export type V2ThreadItemsListResponse__CollabAgentState = { + readonly message?: string | null; + readonly status: V2ThreadItemsListResponse__CollabAgentStatus; +}; +export const V2ThreadItemsListResponse__CollabAgentState = Schema.Struct({ + message: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + status: V2ThreadItemsListResponse__CollabAgentStatus, +}).annotate({ identifier: "V2ThreadItemsListResponse__CollabAgentState" }); + +export type V2ThreadListResponse__ThreadSection = { + readonly appearance?: V2ThreadListResponse__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const V2ThreadListResponse__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadListResponse__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "V2ThreadListResponse__ThreadSection", +}); export type V2ThreadListResponse__SubAgentSource = | "review" @@ -18999,8 +23608,10 @@ export type V2ThreadListResponse__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" @@ -19022,8 +23633,10 @@ export const V2ThreadListResponse__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", @@ -19122,6 +23735,38 @@ export const V2ThreadListResponse__CodexErrorInfo = Schema.Union( identifier: "V2ThreadListResponse__CodexErrorInfo", }); +export type V2ThreadListResponse__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2ThreadListResponse__MisalignmentSteer | null; +}; +export const V2ThreadListResponse__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2ThreadListResponse__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2ThreadListResponse__MisalignmentErrorDetails" }); + export type V2ThreadListResponse__TextElement = { readonly byteRange: V2ThreadListResponse__ByteRange; readonly placeholder?: string | null; @@ -19140,6 +23785,64 @@ export const V2ThreadListResponse__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2ThreadListResponse__TextElement" }); +export type V2ThreadListResponse__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ThreadListResponse__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ThreadListResponse__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ThreadListResponse__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadListResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadListResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ThreadListResponse__FunctionCallOutputContentItem", +}); + export type V2ThreadListResponse__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -19149,6 +23852,48 @@ export const V2ThreadListResponse__MemoryCitation = Schema.Struct({ threadIds: Schema.Array(Schema.String), }).annotate({ identifier: "V2ThreadListResponse__MemoryCitation" }); +export type V2ThreadListResponse__CommandAction = + | { + readonly command: string; + readonly name: string; + readonly path: V2ThreadListResponse__LegacyAppPathString; + readonly type: "read"; + } + | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } + | { + readonly command: string; + readonly path?: string | null; + readonly query?: string | null; + readonly type: "search"; + } + | { readonly command: string; readonly type: "unknown" }; +export const V2ThreadListResponse__CommandAction = Schema.Union( + [ + Schema.Struct({ + command: Schema.String, + name: Schema.String, + path: V2ThreadListResponse__LegacyAppPathString, + type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), + }).annotate({ title: "ReadCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("listFiles").annotate({ title: "ListFilesCommandActionType" }), + }).annotate({ title: "ListFilesCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("search").annotate({ title: "SearchCommandActionType" }), + }).annotate({ title: "SearchCommandAction" }), + Schema.Struct({ + command: Schema.String, + type: Schema.Literal("unknown").annotate({ title: "UnknownCommandActionType" }), + }).annotate({ title: "UnknownCommandAction" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadListResponse__CommandAction" }); + export type V2ThreadListResponse__FileUpdateChange = { readonly diff: string; readonly kind: V2ThreadListResponse__PatchChangeKind; @@ -19160,6 +23905,19 @@ export const V2ThreadListResponse__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2ThreadListResponse__FileUpdateChange" }); +export type V2ThreadListResponse__McpAppUi = { + readonly preferredModelDisplayMode: V2ThreadListResponse__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ThreadListResponse__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ThreadListResponse__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ThreadListResponse__McpAppUi", +}); + export type V2ThreadListResponse__CollabAgentState = { readonly message?: string | null; readonly status: V2ThreadListResponse__CollabAgentStatus; @@ -19169,47 +23927,25 @@ export const V2ThreadListResponse__CollabAgentState = Schema.Struct({ status: V2ThreadListResponse__CollabAgentStatus, }).annotate({ identifier: "V2ThreadListResponse__CollabAgentState" }); -export type V2ThreadMetadataUpdateResponse__CommandAction = - | { - readonly command: string; - readonly name: string; - readonly path: V2ThreadMetadataUpdateResponse__AbsolutePathBuf; - readonly type: "read"; - } - | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } - | { - readonly command: string; - readonly path?: string | null; - readonly query?: string | null; - readonly type: "search"; - } - | { readonly command: string; readonly type: "unknown" }; -export const V2ThreadMetadataUpdateResponse__CommandAction = Schema.Union( - [ - Schema.Struct({ - command: Schema.String, - name: Schema.String, - path: V2ThreadMetadataUpdateResponse__AbsolutePathBuf, - type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), - }).annotate({ title: "ReadCommandAction" }), - Schema.Struct({ - command: Schema.String, - path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - type: Schema.Literal("listFiles").annotate({ title: "ListFilesCommandActionType" }), - }).annotate({ title: "ListFilesCommandAction" }), - Schema.Struct({ - command: Schema.String, - path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - type: Schema.Literal("search").annotate({ title: "SearchCommandActionType" }), - }).annotate({ title: "SearchCommandAction" }), - Schema.Struct({ - command: Schema.String, - type: Schema.Literal("unknown").annotate({ title: "UnknownCommandActionType" }), - }).annotate({ title: "UnknownCommandAction" }), - ], - { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadMetadataUpdateResponse__CommandAction" }); +export type V2ThreadMetadataUpdateResponse__ThreadSection = { + readonly appearance?: V2ThreadMetadataUpdateResponse__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const V2ThreadMetadataUpdateResponse__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadMetadataUpdateResponse__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "V2ThreadMetadataUpdateResponse__ThreadSection", +}); export type V2ThreadMetadataUpdateResponse__SubAgentSource = | "review" @@ -19277,8 +24013,10 @@ export type V2ThreadMetadataUpdateResponse__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" @@ -19300,8 +24038,10 @@ export const V2ThreadMetadataUpdateResponse__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", @@ -19400,6 +24140,38 @@ export const V2ThreadMetadataUpdateResponse__CodexErrorInfo = Schema.Union( identifier: "V2ThreadMetadataUpdateResponse__CodexErrorInfo", }); +export type V2ThreadMetadataUpdateResponse__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2ThreadMetadataUpdateResponse__MisalignmentSteer | null; +}; +export const V2ThreadMetadataUpdateResponse__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2ThreadMetadataUpdateResponse__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2ThreadMetadataUpdateResponse__MisalignmentErrorDetails" }); + export type V2ThreadMetadataUpdateResponse__TextElement = { readonly byteRange: V2ThreadMetadataUpdateResponse__ByteRange; readonly placeholder?: string | null; @@ -19419,6 +24191,68 @@ export const V2ThreadMetadataUpdateResponse__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2ThreadMetadataUpdateResponse__TextElement" }); +export type V2ThreadMetadataUpdateResponse__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ThreadMetadataUpdateResponse__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ThreadMetadataUpdateResponse__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ThreadMetadataUpdateResponse__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadMetadataUpdateResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadMetadataUpdateResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ThreadMetadataUpdateResponse__FunctionCallOutputContentItem", +}); + export type V2ThreadMetadataUpdateResponse__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -19428,6 +24262,48 @@ export const V2ThreadMetadataUpdateResponse__MemoryCitation = Schema.Struct({ threadIds: Schema.Array(Schema.String), }).annotate({ identifier: "V2ThreadMetadataUpdateResponse__MemoryCitation" }); +export type V2ThreadMetadataUpdateResponse__CommandAction = + | { + readonly command: string; + readonly name: string; + readonly path: V2ThreadMetadataUpdateResponse__LegacyAppPathString; + readonly type: "read"; + } + | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } + | { + readonly command: string; + readonly path?: string | null; + readonly query?: string | null; + readonly type: "search"; + } + | { readonly command: string; readonly type: "unknown" }; +export const V2ThreadMetadataUpdateResponse__CommandAction = Schema.Union( + [ + Schema.Struct({ + command: Schema.String, + name: Schema.String, + path: V2ThreadMetadataUpdateResponse__LegacyAppPathString, + type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), + }).annotate({ title: "ReadCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("listFiles").annotate({ title: "ListFilesCommandActionType" }), + }).annotate({ title: "ListFilesCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("search").annotate({ title: "SearchCommandActionType" }), + }).annotate({ title: "SearchCommandAction" }), + Schema.Struct({ + command: Schema.String, + type: Schema.Literal("unknown").annotate({ title: "UnknownCommandActionType" }), + }).annotate({ title: "UnknownCommandAction" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadMetadataUpdateResponse__CommandAction" }); + export type V2ThreadMetadataUpdateResponse__FileUpdateChange = { readonly diff: string; readonly kind: V2ThreadMetadataUpdateResponse__PatchChangeKind; @@ -19439,6 +24315,19 @@ export const V2ThreadMetadataUpdateResponse__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2ThreadMetadataUpdateResponse__FileUpdateChange" }); +export type V2ThreadMetadataUpdateResponse__McpAppUi = { + readonly preferredModelDisplayMode: V2ThreadMetadataUpdateResponse__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ThreadMetadataUpdateResponse__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ThreadMetadataUpdateResponse__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ThreadMetadataUpdateResponse__McpAppUi", +}); + export type V2ThreadMetadataUpdateResponse__CollabAgentState = { readonly message?: string | null; readonly status: V2ThreadMetadataUpdateResponse__CollabAgentStatus; @@ -19448,47 +24337,25 @@ export const V2ThreadMetadataUpdateResponse__CollabAgentState = Schema.Struct({ status: V2ThreadMetadataUpdateResponse__CollabAgentStatus, }).annotate({ identifier: "V2ThreadMetadataUpdateResponse__CollabAgentState" }); -export type V2ThreadReadResponse__CommandAction = - | { - readonly command: string; - readonly name: string; - readonly path: V2ThreadReadResponse__AbsolutePathBuf; - readonly type: "read"; - } - | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } - | { - readonly command: string; - readonly path?: string | null; - readonly query?: string | null; - readonly type: "search"; - } - | { readonly command: string; readonly type: "unknown" }; -export const V2ThreadReadResponse__CommandAction = Schema.Union( - [ - Schema.Struct({ - command: Schema.String, - name: Schema.String, - path: V2ThreadReadResponse__AbsolutePathBuf, - type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), - }).annotate({ title: "ReadCommandAction" }), - Schema.Struct({ - command: Schema.String, - path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - type: Schema.Literal("listFiles").annotate({ title: "ListFilesCommandActionType" }), - }).annotate({ title: "ListFilesCommandAction" }), - Schema.Struct({ - command: Schema.String, - path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - type: Schema.Literal("search").annotate({ title: "SearchCommandActionType" }), - }).annotate({ title: "SearchCommandAction" }), - Schema.Struct({ - command: Schema.String, - type: Schema.Literal("unknown").annotate({ title: "UnknownCommandActionType" }), - }).annotate({ title: "UnknownCommandAction" }), - ], - { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadReadResponse__CommandAction" }); +export type V2ThreadReadResponse__ThreadSection = { + readonly appearance?: V2ThreadReadResponse__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const V2ThreadReadResponse__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadReadResponse__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "V2ThreadReadResponse__ThreadSection", +}); export type V2ThreadReadResponse__SubAgentSource = | "review" @@ -19556,15 +24423,15 @@ export type V2ThreadReadResponse__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" | "threadRollbackFailed" | "sandboxError" - | "rateLimitExceeded" - | "misalignmentPolicyViolation" | "other" | { readonly httpConnectionFailed: { readonly httpStatusCode?: number | null } } | { readonly responseStreamConnectionFailed: { readonly httpStatusCode?: number | null } } @@ -19581,15 +24448,15 @@ export const V2ThreadReadResponse__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", "threadRollbackFailed", "sandboxError", - "rateLimitExceeded", - "misalignmentPolicyViolation", "other", ]), Schema.Struct({ @@ -19683,6 +24550,38 @@ export const V2ThreadReadResponse__CodexErrorInfo = Schema.Union( identifier: "V2ThreadReadResponse__CodexErrorInfo", }); +export type V2ThreadReadResponse__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2ThreadReadResponse__MisalignmentSteer | null; +}; +export const V2ThreadReadResponse__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2ThreadReadResponse__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2ThreadReadResponse__MisalignmentErrorDetails" }); + export type V2ThreadReadResponse__TextElement = { readonly byteRange: V2ThreadReadResponse__ByteRange; readonly placeholder?: string | null; @@ -19701,6 +24600,64 @@ export const V2ThreadReadResponse__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2ThreadReadResponse__TextElement" }); +export type V2ThreadReadResponse__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ThreadReadResponse__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ThreadReadResponse__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ThreadReadResponse__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadReadResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadReadResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ThreadReadResponse__FunctionCallOutputContentItem", +}); + export type V2ThreadReadResponse__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -19710,6 +24667,48 @@ export const V2ThreadReadResponse__MemoryCitation = Schema.Struct({ threadIds: Schema.Array(Schema.String), }).annotate({ identifier: "V2ThreadReadResponse__MemoryCitation" }); +export type V2ThreadReadResponse__CommandAction = + | { + readonly command: string; + readonly name: string; + readonly path: V2ThreadReadResponse__LegacyAppPathString; + readonly type: "read"; + } + | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } + | { + readonly command: string; + readonly path?: string | null; + readonly query?: string | null; + readonly type: "search"; + } + | { readonly command: string; readonly type: "unknown" }; +export const V2ThreadReadResponse__CommandAction = Schema.Union( + [ + Schema.Struct({ + command: Schema.String, + name: Schema.String, + path: V2ThreadReadResponse__LegacyAppPathString, + type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), + }).annotate({ title: "ReadCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("listFiles").annotate({ title: "ListFilesCommandActionType" }), + }).annotate({ title: "ListFilesCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("search").annotate({ title: "SearchCommandActionType" }), + }).annotate({ title: "SearchCommandAction" }), + Schema.Struct({ + command: Schema.String, + type: Schema.Literal("unknown").annotate({ title: "UnknownCommandActionType" }), + }).annotate({ title: "UnknownCommandAction" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadReadResponse__CommandAction" }); + export type V2ThreadReadResponse__FileUpdateChange = { readonly diff: string; readonly kind: V2ThreadReadResponse__PatchChangeKind; @@ -19721,6 +24720,19 @@ export const V2ThreadReadResponse__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2ThreadReadResponse__FileUpdateChange" }); +export type V2ThreadReadResponse__McpAppUi = { + readonly preferredModelDisplayMode: V2ThreadReadResponse__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ThreadReadResponse__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ThreadReadResponse__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ThreadReadResponse__McpAppUi", +}); + export type V2ThreadReadResponse__CollabAgentState = { readonly message?: string | null; readonly status: V2ThreadReadResponse__CollabAgentStatus; @@ -19730,12 +24742,167 @@ export const V2ThreadReadResponse__CollabAgentState = Schema.Struct({ status: V2ThreadReadResponse__CollabAgentStatus, }).annotate({ identifier: "V2ThreadReadResponse__CollabAgentState" }); +export type V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeItem = + | { + readonly id: string; + readonly realtimeSessionId: string; + readonly type: "realtimeSessionStarted"; + } + | { + readonly id: string; + readonly realtimeSessionId: string; + readonly role: V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeTranscriptRole; + readonly text: string; + readonly type: "transcriptSegment"; + } + | { + readonly id: string; + readonly realtimeSessionId: string; + readonly item_id: string; + readonly presentation: V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeBemItemPresentation; + readonly turn_id: string; + readonly type: "bemItemPromoted"; + } + | { + readonly id: string; + readonly realtimeSessionId: string; + readonly outcome: V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeSessionOutcome; + readonly type: "realtimeSessionClosed"; + }; +export const V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeItem = Schema.Union( + [ + Schema.Struct({ + id: Schema.String, + realtimeSessionId: Schema.String, + type: Schema.Literal("realtimeSessionStarted").annotate({ + title: "RealtimeSessionStartedThreadRealtimeItemType", + }), + }).annotate({ title: "RealtimeSessionStartedThreadRealtimeItem" }), + Schema.Struct({ + id: Schema.String, + realtimeSessionId: Schema.String, + role: V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeTranscriptRole, + text: Schema.String, + type: Schema.Literal("transcriptSegment").annotate({ + title: "TranscriptSegmentThreadRealtimeItemType", + }), + }).annotate({ title: "TranscriptSegmentThreadRealtimeItem" }), + Schema.Struct({ + id: Schema.String, + realtimeSessionId: Schema.String, + item_id: Schema.String, + presentation: V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeBemItemPresentation, + turn_id: Schema.String, + type: Schema.Literal("bemItemPromoted").annotate({ + title: "BemItemPromotedThreadRealtimeItemType", + }), + }).annotate({ title: "BemItemPromotedThreadRealtimeItem" }), + Schema.Struct({ + id: Schema.String, + realtimeSessionId: Schema.String, + outcome: V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeSessionOutcome, + type: Schema.Literal("realtimeSessionClosed").annotate({ + title: "RealtimeSessionClosedThreadRealtimeItemType", + }), + }).annotate({ title: "RealtimeSessionClosedThreadRealtimeItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: "EXPERIMENTAL - a thread-scoped realtime item in the canonical timeline.", + identifier: "V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeItem", +}); + +export type V2ThreadRealtimeItemStartedNotification__ThreadRealtimeItem = + | { + readonly id: string; + readonly realtimeSessionId: string; + readonly type: "realtimeSessionStarted"; + } + | { + readonly id: string; + readonly realtimeSessionId: string; + readonly role: V2ThreadRealtimeItemStartedNotification__ThreadRealtimeTranscriptRole; + readonly text: string; + readonly type: "transcriptSegment"; + } + | { + readonly id: string; + readonly realtimeSessionId: string; + readonly item_id: string; + readonly presentation: V2ThreadRealtimeItemStartedNotification__ThreadRealtimeBemItemPresentation; + readonly turn_id: string; + readonly type: "bemItemPromoted"; + } + | { + readonly id: string; + readonly realtimeSessionId: string; + readonly outcome: V2ThreadRealtimeItemStartedNotification__ThreadRealtimeSessionOutcome; + readonly type: "realtimeSessionClosed"; + }; +export const V2ThreadRealtimeItemStartedNotification__ThreadRealtimeItem = Schema.Union( + [ + Schema.Struct({ + id: Schema.String, + realtimeSessionId: Schema.String, + type: Schema.Literal("realtimeSessionStarted").annotate({ + title: "RealtimeSessionStartedThreadRealtimeItemType", + }), + }).annotate({ title: "RealtimeSessionStartedThreadRealtimeItem" }), + Schema.Struct({ + id: Schema.String, + realtimeSessionId: Schema.String, + role: V2ThreadRealtimeItemStartedNotification__ThreadRealtimeTranscriptRole, + text: Schema.String, + type: Schema.Literal("transcriptSegment").annotate({ + title: "TranscriptSegmentThreadRealtimeItemType", + }), + }).annotate({ title: "TranscriptSegmentThreadRealtimeItem" }), + Schema.Struct({ + id: Schema.String, + realtimeSessionId: Schema.String, + item_id: Schema.String, + presentation: V2ThreadRealtimeItemStartedNotification__ThreadRealtimeBemItemPresentation, + turn_id: Schema.String, + type: Schema.Literal("bemItemPromoted").annotate({ + title: "BemItemPromotedThreadRealtimeItemType", + }), + }).annotate({ title: "BemItemPromotedThreadRealtimeItem" }), + Schema.Struct({ + id: Schema.String, + realtimeSessionId: Schema.String, + outcome: V2ThreadRealtimeItemStartedNotification__ThreadRealtimeSessionOutcome, + type: Schema.Literal("realtimeSessionClosed").annotate({ + title: "RealtimeSessionClosedThreadRealtimeItemType", + }), + }).annotate({ title: "RealtimeSessionClosedThreadRealtimeItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: "EXPERIMENTAL - a thread-scoped realtime item in the canonical timeline.", + identifier: "V2ThreadRealtimeItemStartedNotification__ThreadRealtimeItem", +}); + +export type V2ThreadResumeParams__ConfigurationReasoning = { + readonly effort: V2ThreadResumeParams__ReasoningEffort; +}; +export const V2ThreadResumeParams__ConfigurationReasoning = Schema.Struct({ + effort: V2ThreadResumeParams__ReasoningEffort, +}).annotate({ + description: "Reasoning settings interpreted by the backend for the routed model.", + identifier: "V2ThreadResumeParams__ConfigurationReasoning", +}); + export type V2ThreadResumeParams__FunctionCallOutputContentItem = | { readonly text: string; readonly type: "input_text" } | { readonly detail?: V2ThreadResumeParams__ImageDetail | null; + readonly type: "input_image"; readonly image_url: string; + } + | { + readonly detail?: V2ThreadResumeParams__ImageDetail | null; readonly type: "input_image"; + readonly file_id: string; } | { readonly audio_url: string; readonly type: "input_audio" } | { readonly encrypted_content: string; readonly type: "encrypted_content" }; @@ -19747,13 +24914,22 @@ export const V2ThreadResumeParams__FunctionCallOutputContentItem = Schema.Union( title: "InputTextFunctionCallOutputContentItemType", }), }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([V2ThreadResumeParams__ImageDetail, Schema.Null])), - image_url: Schema.String, - type: Schema.Literal("input_image").annotate({ - title: "InputImageFunctionCallOutputContentItemType", - }), - }).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadResumeParams__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadResumeParams__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), Schema.Struct({ audio_url: Schema.String, type: Schema.Literal("input_audio").annotate({ @@ -19778,8 +24954,13 @@ export type V2ThreadResumeParams__ContentItem = | { readonly text: string; readonly type: "input_text" } | { readonly detail?: V2ThreadResumeParams__ImageDetail | null; + readonly type: "input_image"; readonly image_url: string; + } + | { + readonly detail?: V2ThreadResumeParams__ImageDetail | null; readonly type: "input_image"; + readonly file_id: string; } | { readonly audio_url: string; readonly type: "input_audio" } | { readonly text: string; readonly type: "output_text" }; @@ -19789,11 +24970,18 @@ export const V2ThreadResumeParams__ContentItem = Schema.Union( text: Schema.String, type: Schema.Literal("input_text").annotate({ title: "InputTextContentItemType" }), }).annotate({ title: "InputTextContentItem" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([V2ThreadResumeParams__ImageDetail, Schema.Null])), - image_url: Schema.String, - type: Schema.Literal("input_image").annotate({ title: "InputImageContentItemType" }), - }).annotate({ title: "InputImageContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadResumeParams__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ title: "InputImageContentItemType" }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadResumeParams__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ title: "InputImageContentItemType" }), + file_id: Schema.String, + }).annotate({ title: "FileIdContentItem" }), + ]).annotate({ title: "InputImageContentItem" }), Schema.Struct({ audio_url: Schema.String, type: Schema.Literal("input_audio").annotate({ title: "InputAudioContentItemType" }), @@ -19806,11 +24994,27 @@ export const V2ThreadResumeParams__ContentItem = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadResumeParams__ContentItem" }); +export type V2ThreadResumeResponse__Settings = { + readonly developer_instructions?: string | null; + readonly model: string; + readonly reasoning_effort?: V2ThreadResumeResponse__ReasoningEffort | null; +}; +export const V2ThreadResumeResponse__Settings = Schema.Struct({ + developer_instructions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + model: Schema.String, + reasoning_effort: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__ReasoningEffort, Schema.Null]), + ), +}).annotate({ + description: "Settings for a collaboration mode.", + identifier: "V2ThreadResumeResponse__Settings", +}); + export type V2ThreadResumeResponse__CommandAction = | { readonly command: string; readonly name: string; - readonly path: V2ThreadResumeResponse__AbsolutePathBuf; + readonly path: V2ThreadResumeResponse__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -19826,7 +25030,7 @@ export const V2ThreadResumeResponse__CommandAction = Schema.Union( Schema.Struct({ command: Schema.String, name: Schema.String, - path: V2ThreadResumeResponse__AbsolutePathBuf, + path: V2ThreadResumeResponse__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -19897,6 +25101,26 @@ export const V2ThreadResumeResponse__SandboxPolicy = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadResumeResponse__SandboxPolicy" }); +export type V2ThreadResumeResponse__ThreadSection = { + readonly appearance?: V2ThreadResumeResponse__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const V2ThreadResumeResponse__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "V2ThreadResumeResponse__ThreadSection", +}); + export type V2ThreadResumeResponse__SubAgentSource = | "review" | "compact" @@ -19963,15 +25187,15 @@ export type V2ThreadResumeResponse__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" | "threadRollbackFailed" | "sandboxError" - | "rateLimitExceeded" - | "misalignmentPolicyViolation" | "other" | { readonly httpConnectionFailed: { readonly httpStatusCode?: number | null } } | { readonly responseStreamConnectionFailed: { readonly httpStatusCode?: number | null } } @@ -19988,15 +25212,15 @@ export const V2ThreadResumeResponse__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", "threadRollbackFailed", "sandboxError", - "rateLimitExceeded", - "misalignmentPolicyViolation", "other", ]), Schema.Struct({ @@ -20090,6 +25314,38 @@ export const V2ThreadResumeResponse__CodexErrorInfo = Schema.Union( identifier: "V2ThreadResumeResponse__CodexErrorInfo", }); +export type V2ThreadResumeResponse__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2ThreadResumeResponse__MisalignmentSteer | null; +}; +export const V2ThreadResumeResponse__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2ThreadResumeResponse__MisalignmentErrorDetails" }); + export type V2ThreadResumeResponse__TextElement = { readonly byteRange: V2ThreadResumeResponse__ByteRange; readonly placeholder?: string | null; @@ -20108,6 +25364,68 @@ export const V2ThreadResumeResponse__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2ThreadResumeResponse__TextElement" }); +export type V2ThreadResumeResponse__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ThreadResumeResponse__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ThreadResumeResponse__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ThreadResumeResponse__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ThreadResumeResponse__FunctionCallOutputContentItem", +}); + export type V2ThreadResumeResponse__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -20128,6 +25446,19 @@ export const V2ThreadResumeResponse__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2ThreadResumeResponse__FileUpdateChange" }); +export type V2ThreadResumeResponse__McpAppUi = { + readonly preferredModelDisplayMode: V2ThreadResumeResponse__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ThreadResumeResponse__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ThreadResumeResponse__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ThreadResumeResponse__McpAppUi", +}); + export type V2ThreadResumeResponse__CollabAgentState = { readonly message?: string | null; readonly status: V2ThreadResumeResponse__CollabAgentStatus; @@ -20137,92 +25468,70 @@ export const V2ThreadResumeResponse__CollabAgentState = Schema.Struct({ status: V2ThreadResumeResponse__CollabAgentStatus, }).annotate({ identifier: "V2ThreadResumeResponse__CollabAgentState" }); -export type V2ThreadRollbackResponse__CommandAction = - | { - readonly command: string; - readonly name: string; - readonly path: V2ThreadRollbackResponse__AbsolutePathBuf; - readonly type: "read"; - } - | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } - | { - readonly command: string; - readonly path?: string | null; - readonly query?: string | null; - readonly type: "search"; - } - | { readonly command: string; readonly type: "unknown" }; -export const V2ThreadRollbackResponse__CommandAction = Schema.Union( - [ - Schema.Struct({ - command: Schema.String, - name: Schema.String, - path: V2ThreadRollbackResponse__AbsolutePathBuf, - type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), - }).annotate({ title: "ReadCommandAction" }), - Schema.Struct({ - command: Schema.String, - path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - type: Schema.Literal("listFiles").annotate({ title: "ListFilesCommandActionType" }), - }).annotate({ title: "ListFilesCommandAction" }), - Schema.Struct({ - command: Schema.String, - path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - type: Schema.Literal("search").annotate({ title: "SearchCommandActionType" }), - }).annotate({ title: "SearchCommandAction" }), - Schema.Struct({ - command: Schema.String, - type: Schema.Literal("unknown").annotate({ title: "UnknownCommandActionType" }), - }).annotate({ title: "UnknownCommandAction" }), - ], - { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadRollbackResponse__CommandAction" }); +export type V2ThreadRevertResponse__ThreadSection = { + readonly appearance?: V2ThreadRevertResponse__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const V2ThreadRevertResponse__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadRevertResponse__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "V2ThreadRevertResponse__ThreadSection", +}); -export type V2ThreadRollbackResponse__SubAgentSource = +export type V2ThreadRevertResponse__SubAgentSource = | "review" | "compact" | "memory_consolidation" | { readonly thread_spawn: { readonly agent_nickname?: string | null; - readonly agent_path?: V2ThreadRollbackResponse__AgentPath | null; + readonly agent_path?: V2ThreadRevertResponse__AgentPath | null; readonly agent_role?: string | null; readonly depth: number; - readonly parent_thread_id: V2ThreadRollbackResponse__ThreadId; + readonly parent_thread_id: V2ThreadRevertResponse__ThreadId; }; } | { readonly other: string }; -export const V2ThreadRollbackResponse__SubAgentSource = Schema.Union( +export const V2ThreadRevertResponse__SubAgentSource = Schema.Union( [ Schema.Literals(["review", "compact", "memory_consolidation"]), Schema.Struct({ thread_spawn: Schema.Struct({ agent_nickname: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), agent_path: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__AgentPath, Schema.Null]), + Schema.Union([V2ThreadRevertResponse__AgentPath, Schema.Null]), ), agent_role: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), depth: Schema.Number.annotate({ format: "int32" }).check( Schema.isInt().annotate({ expected: "an integer" }), ), - parent_thread_id: V2ThreadRollbackResponse__ThreadId, + parent_thread_id: V2ThreadRevertResponse__ThreadId, }), }).annotate({ title: "ThreadSpawnSubAgentSource" }), Schema.Struct({ other: Schema.String }).annotate({ title: "OtherSubAgentSource" }), ], { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadRollbackResponse__SubAgentSource" }); +).annotate({ identifier: "V2ThreadRevertResponse__SubAgentSource" }); -export type V2ThreadRollbackResponse__ThreadStatus = +export type V2ThreadRevertResponse__ThreadStatus = | { readonly type: "notLoaded" } | { readonly type: "idle" } | { readonly type: "systemError" } | { - readonly activeFlags: ReadonlyArray; + readonly activeFlags: ReadonlyArray; readonly type: "active"; }; -export const V2ThreadRollbackResponse__ThreadStatus = Schema.Union( +export const V2ThreadRevertResponse__ThreadStatus = Schema.Union( [ Schema.Struct({ type: Schema.Literal("notLoaded").annotate({ title: "NotLoadedThreadStatusType" }), @@ -20234,26 +25543,26 @@ export const V2ThreadRollbackResponse__ThreadStatus = Schema.Union( type: Schema.Literal("systemError").annotate({ title: "SystemErrorThreadStatusType" }), }).annotate({ title: "SystemErrorThreadStatus" }), Schema.Struct({ - activeFlags: Schema.Array(V2ThreadRollbackResponse__ThreadActiveFlag), + activeFlags: Schema.Array(V2ThreadRevertResponse__ThreadActiveFlag), type: Schema.Literal("active").annotate({ title: "ActiveThreadStatusType" }), }).annotate({ title: "ActiveThreadStatus" }), ], { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadRollbackResponse__ThreadStatus" }); +).annotate({ identifier: "V2ThreadRevertResponse__ThreadStatus" }); -export type V2ThreadRollbackResponse__CodexErrorInfo = +export type V2ThreadRevertResponse__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" | "threadRollbackFailed" | "sandboxError" - | "rateLimitExceeded" - | "misalignmentPolicyViolation" | "other" | { readonly httpConnectionFailed: { readonly httpStatusCode?: number | null } } | { readonly responseStreamConnectionFailed: { readonly httpStatusCode?: number | null } } @@ -20261,24 +25570,24 @@ export type V2ThreadRollbackResponse__CodexErrorInfo = | { readonly responseTooManyFailedAttempts: { readonly httpStatusCode?: number | null } } | { readonly activeTurnNotSteerable: { - readonly turnKind: V2ThreadRollbackResponse__NonSteerableTurnKind; + readonly turnKind: V2ThreadRevertResponse__NonSteerableTurnKind; }; }; -export const V2ThreadRollbackResponse__CodexErrorInfo = Schema.Union( +export const V2ThreadRevertResponse__CodexErrorInfo = Schema.Union( [ Schema.Literals([ "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", "threadRollbackFailed", "sandboxError", - "rateLimitExceeded", - "misalignmentPolicyViolation", "other", ]), Schema.Struct({ @@ -20357,7 +25666,7 @@ export const V2ThreadRollbackResponse__CodexErrorInfo = Schema.Union( }), Schema.Struct({ activeTurnNotSteerable: Schema.Struct({ - turnKind: V2ThreadRollbackResponse__NonSteerableTurnKind, + turnKind: V2ThreadRevertResponse__NonSteerableTurnKind, }), }).annotate({ title: "ActiveTurnNotSteerableCodexErrorInfo", @@ -20369,16 +25678,48 @@ export const V2ThreadRollbackResponse__CodexErrorInfo = Schema.Union( ).annotate({ description: "This translation layer make sure that we expose codex error code in camel case.\n\nWhen an upstream HTTP status is available (for example, from the Responses API or a provider), it is forwarded in `httpStatusCode` on the relevant `codexErrorInfo` variant.", - identifier: "V2ThreadRollbackResponse__CodexErrorInfo", + identifier: "V2ThreadRevertResponse__CodexErrorInfo", }); -export type V2ThreadRollbackResponse__TextElement = { - readonly byteRange: V2ThreadRollbackResponse__ByteRange; +export type V2ThreadRevertResponse__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2ThreadRevertResponse__MisalignmentSteer | null; +}; +export const V2ThreadRevertResponse__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2ThreadRevertResponse__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2ThreadRevertResponse__MisalignmentErrorDetails" }); + +export type V2ThreadRevertResponse__TextElement = { + readonly byteRange: V2ThreadRevertResponse__ByteRange; readonly placeholder?: string | null; }; -export const V2ThreadRollbackResponse__TextElement = Schema.Struct({ +export const V2ThreadRevertResponse__TextElement = Schema.Struct({ byteRange: Schema.suspend( - (): Schema.Codec => V2ThreadRollbackResponse__ByteRange, + (): Schema.Codec => V2ThreadRevertResponse__ByteRange, ).annotate({ description: "Byte range in the parent `text` buffer that this element occupies." }), placeholder: Schema.optionalKey( Schema.Union([ @@ -20388,36 +25729,213 @@ export const V2ThreadRollbackResponse__TextElement = Schema.Struct({ Schema.Null, ]), ), -}).annotate({ identifier: "V2ThreadRollbackResponse__TextElement" }); +}).annotate({ identifier: "V2ThreadRevertResponse__TextElement" }); -export type V2ThreadRollbackResponse__MemoryCitation = { - readonly entries: ReadonlyArray; +export type V2ThreadRevertResponse__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ThreadRevertResponse__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ThreadRevertResponse__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ThreadRevertResponse__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadRevertResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadRevertResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ThreadRevertResponse__FunctionCallOutputContentItem", +}); + +export type V2ThreadRevertResponse__MemoryCitation = { + readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; }; -export const V2ThreadRollbackResponse__MemoryCitation = Schema.Struct({ - entries: Schema.Array(V2ThreadRollbackResponse__MemoryCitationEntry), +export const V2ThreadRevertResponse__MemoryCitation = Schema.Struct({ + entries: Schema.Array(V2ThreadRevertResponse__MemoryCitationEntry), threadIds: Schema.Array(Schema.String), -}).annotate({ identifier: "V2ThreadRollbackResponse__MemoryCitation" }); +}).annotate({ identifier: "V2ThreadRevertResponse__MemoryCitation" }); -export type V2ThreadRollbackResponse__FileUpdateChange = { +export type V2ThreadRevertResponse__CommandAction = + | { + readonly command: string; + readonly name: string; + readonly path: V2ThreadRevertResponse__LegacyAppPathString; + readonly type: "read"; + } + | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } + | { + readonly command: string; + readonly path?: string | null; + readonly query?: string | null; + readonly type: "search"; + } + | { readonly command: string; readonly type: "unknown" }; +export const V2ThreadRevertResponse__CommandAction = Schema.Union( + [ + Schema.Struct({ + command: Schema.String, + name: Schema.String, + path: V2ThreadRevertResponse__LegacyAppPathString, + type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), + }).annotate({ title: "ReadCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("listFiles").annotate({ title: "ListFilesCommandActionType" }), + }).annotate({ title: "ListFilesCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("search").annotate({ title: "SearchCommandActionType" }), + }).annotate({ title: "SearchCommandAction" }), + Schema.Struct({ + command: Schema.String, + type: Schema.Literal("unknown").annotate({ title: "UnknownCommandActionType" }), + }).annotate({ title: "UnknownCommandAction" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadRevertResponse__CommandAction" }); + +export type V2ThreadRevertResponse__FileUpdateChange = { readonly diff: string; - readonly kind: V2ThreadRollbackResponse__PatchChangeKind; + readonly kind: V2ThreadRevertResponse__PatchChangeKind; readonly path: string; }; -export const V2ThreadRollbackResponse__FileUpdateChange = Schema.Struct({ +export const V2ThreadRevertResponse__FileUpdateChange = Schema.Struct({ diff: Schema.String, - kind: V2ThreadRollbackResponse__PatchChangeKind, + kind: V2ThreadRevertResponse__PatchChangeKind, path: Schema.String, -}).annotate({ identifier: "V2ThreadRollbackResponse__FileUpdateChange" }); +}).annotate({ identifier: "V2ThreadRevertResponse__FileUpdateChange" }); -export type V2ThreadRollbackResponse__CollabAgentState = { +export type V2ThreadRevertResponse__McpAppUi = { + readonly preferredModelDisplayMode: V2ThreadRevertResponse__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ThreadRevertResponse__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ThreadRevertResponse__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ThreadRevertResponse__McpAppUi", +}); + +export type V2ThreadRevertResponse__CollabAgentState = { readonly message?: string | null; - readonly status: V2ThreadRollbackResponse__CollabAgentStatus; + readonly status: V2ThreadRevertResponse__CollabAgentStatus; }; -export const V2ThreadRollbackResponse__CollabAgentState = Schema.Struct({ +export const V2ThreadRevertResponse__CollabAgentState = Schema.Struct({ message: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - status: V2ThreadRollbackResponse__CollabAgentStatus, -}).annotate({ identifier: "V2ThreadRollbackResponse__CollabAgentState" }); + status: V2ThreadRevertResponse__CollabAgentStatus, +}).annotate({ identifier: "V2ThreadRevertResponse__CollabAgentState" }); + +export type V2ThreadSectionCreateResponse__ThreadSection = { + readonly appearance?: V2ThreadSectionCreateResponse__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const V2ThreadSectionCreateResponse__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadSectionCreateResponse__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "V2ThreadSectionCreateResponse__ThreadSection", +}); + +export type V2ThreadSectionListResponse__ThreadSection = { + readonly appearance?: V2ThreadSectionListResponse__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const V2ThreadSectionListResponse__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadSectionListResponse__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "V2ThreadSectionListResponse__ThreadSection", +}); + +export type V2ThreadSectionUpdateResponse__ThreadSection = { + readonly appearance?: V2ThreadSectionUpdateResponse__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const V2ThreadSectionUpdateResponse__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadSectionUpdateResponse__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "V2ThreadSectionUpdateResponse__ThreadSection", +}); export type V2ThreadSettingsUpdatedNotification__Settings = { readonly developer_instructions?: string | null; @@ -20486,47 +26004,25 @@ export const V2ThreadSettingsUpdatedNotification__SandboxPolicy = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadSettingsUpdatedNotification__SandboxPolicy" }); -export type V2ThreadStartedNotification__CommandAction = - | { - readonly command: string; - readonly name: string; - readonly path: V2ThreadStartedNotification__AbsolutePathBuf; - readonly type: "read"; - } - | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } - | { - readonly command: string; - readonly path?: string | null; - readonly query?: string | null; - readonly type: "search"; - } - | { readonly command: string; readonly type: "unknown" }; -export const V2ThreadStartedNotification__CommandAction = Schema.Union( - [ - Schema.Struct({ - command: Schema.String, - name: Schema.String, - path: V2ThreadStartedNotification__AbsolutePathBuf, - type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), - }).annotate({ title: "ReadCommandAction" }), - Schema.Struct({ - command: Schema.String, - path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - type: Schema.Literal("listFiles").annotate({ title: "ListFilesCommandActionType" }), - }).annotate({ title: "ListFilesCommandAction" }), - Schema.Struct({ - command: Schema.String, - path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - type: Schema.Literal("search").annotate({ title: "SearchCommandActionType" }), - }).annotate({ title: "SearchCommandAction" }), - Schema.Struct({ - command: Schema.String, - type: Schema.Literal("unknown").annotate({ title: "UnknownCommandActionType" }), - }).annotate({ title: "UnknownCommandAction" }), - ], - { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadStartedNotification__CommandAction" }); +export type V2ThreadStartedNotification__ThreadSection = { + readonly appearance?: V2ThreadStartedNotification__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const V2ThreadStartedNotification__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadStartedNotification__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "V2ThreadStartedNotification__ThreadSection", +}); export type V2ThreadStartedNotification__SubAgentSource = | "review" @@ -20594,8 +26090,10 @@ export type V2ThreadStartedNotification__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" @@ -20617,8 +26115,10 @@ export const V2ThreadStartedNotification__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", @@ -20717,6 +26217,38 @@ export const V2ThreadStartedNotification__CodexErrorInfo = Schema.Union( identifier: "V2ThreadStartedNotification__CodexErrorInfo", }); +export type V2ThreadStartedNotification__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2ThreadStartedNotification__MisalignmentSteer | null; +}; +export const V2ThreadStartedNotification__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2ThreadStartedNotification__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2ThreadStartedNotification__MisalignmentErrorDetails" }); + export type V2ThreadStartedNotification__TextElement = { readonly byteRange: V2ThreadStartedNotification__ByteRange; readonly placeholder?: string | null; @@ -20736,6 +26268,68 @@ export const V2ThreadStartedNotification__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2ThreadStartedNotification__TextElement" }); +export type V2ThreadStartedNotification__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ThreadStartedNotification__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ThreadStartedNotification__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ThreadStartedNotification__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadStartedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadStartedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ThreadStartedNotification__FunctionCallOutputContentItem", +}); + export type V2ThreadStartedNotification__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -20745,6 +26339,48 @@ export const V2ThreadStartedNotification__MemoryCitation = Schema.Struct({ threadIds: Schema.Array(Schema.String), }).annotate({ identifier: "V2ThreadStartedNotification__MemoryCitation" }); +export type V2ThreadStartedNotification__CommandAction = + | { + readonly command: string; + readonly name: string; + readonly path: V2ThreadStartedNotification__LegacyAppPathString; + readonly type: "read"; + } + | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } + | { + readonly command: string; + readonly path?: string | null; + readonly query?: string | null; + readonly type: "search"; + } + | { readonly command: string; readonly type: "unknown" }; +export const V2ThreadStartedNotification__CommandAction = Schema.Union( + [ + Schema.Struct({ + command: Schema.String, + name: Schema.String, + path: V2ThreadStartedNotification__LegacyAppPathString, + type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), + }).annotate({ title: "ReadCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("listFiles").annotate({ title: "ListFilesCommandActionType" }), + }).annotate({ title: "ListFilesCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("search").annotate({ title: "SearchCommandActionType" }), + }).annotate({ title: "SearchCommandAction" }), + Schema.Struct({ + command: Schema.String, + type: Schema.Literal("unknown").annotate({ title: "UnknownCommandActionType" }), + }).annotate({ title: "UnknownCommandAction" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadStartedNotification__CommandAction" }); + export type V2ThreadStartedNotification__FileUpdateChange = { readonly diff: string; readonly kind: V2ThreadStartedNotification__PatchChangeKind; @@ -20756,6 +26392,19 @@ export const V2ThreadStartedNotification__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2ThreadStartedNotification__FileUpdateChange" }); +export type V2ThreadStartedNotification__McpAppUi = { + readonly preferredModelDisplayMode: V2ThreadStartedNotification__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ThreadStartedNotification__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ThreadStartedNotification__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ThreadStartedNotification__McpAppUi", +}); + export type V2ThreadStartedNotification__CollabAgentState = { readonly message?: string | null; readonly status: V2ThreadStartedNotification__CollabAgentStatus; @@ -20769,7 +26418,7 @@ export type V2ThreadStartResponse__CommandAction = | { readonly command: string; readonly name: string; - readonly path: V2ThreadStartResponse__AbsolutePathBuf; + readonly path: V2ThreadStartResponse__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -20785,7 +26434,7 @@ export const V2ThreadStartResponse__CommandAction = Schema.Union( Schema.Struct({ command: Schema.String, name: Schema.String, - path: V2ThreadStartResponse__AbsolutePathBuf, + path: V2ThreadStartResponse__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -20856,6 +26505,26 @@ export const V2ThreadStartResponse__SandboxPolicy = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadStartResponse__SandboxPolicy" }); +export type V2ThreadStartResponse__ThreadSection = { + readonly appearance?: V2ThreadStartResponse__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const V2ThreadStartResponse__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadStartResponse__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "V2ThreadStartResponse__ThreadSection", +}); + export type V2ThreadStartResponse__SubAgentSource = | "review" | "compact" @@ -20922,8 +26591,10 @@ export type V2ThreadStartResponse__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" @@ -20945,8 +26616,10 @@ export const V2ThreadStartResponse__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", @@ -21045,6 +26718,38 @@ export const V2ThreadStartResponse__CodexErrorInfo = Schema.Union( identifier: "V2ThreadStartResponse__CodexErrorInfo", }); +export type V2ThreadStartResponse__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2ThreadStartResponse__MisalignmentSteer | null; +}; +export const V2ThreadStartResponse__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2ThreadStartResponse__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2ThreadStartResponse__MisalignmentErrorDetails" }); + export type V2ThreadStartResponse__TextElement = { readonly byteRange: V2ThreadStartResponse__ByteRange; readonly placeholder?: string | null; @@ -21063,6 +26768,64 @@ export const V2ThreadStartResponse__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2ThreadStartResponse__TextElement" }); +export type V2ThreadStartResponse__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ThreadStartResponse__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ThreadStartResponse__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ThreadStartResponse__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadStartResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadStartResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ThreadStartResponse__FunctionCallOutputContentItem", +}); + export type V2ThreadStartResponse__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -21083,6 +26846,19 @@ export const V2ThreadStartResponse__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2ThreadStartResponse__FileUpdateChange" }); +export type V2ThreadStartResponse__McpAppUi = { + readonly preferredModelDisplayMode: V2ThreadStartResponse__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ThreadStartResponse__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ThreadStartResponse__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ThreadStartResponse__McpAppUi", +}); + export type V2ThreadStartResponse__CollabAgentState = { readonly message?: string | null; readonly status: V2ThreadStartResponse__CollabAgentStatus; @@ -21137,11 +26913,263 @@ export const V2ThreadTokenUsageUpdatedNotification__ThreadTokenUsage = Schema.St total: V2ThreadTokenUsageUpdatedNotification__TokenUsageBreakdown, }).annotate({ identifier: "V2ThreadTokenUsageUpdatedNotification__ThreadTokenUsage" }); -export type V2ThreadUnarchiveResponse__CommandAction = +export type V2ThreadTurnsListResponse__CodexErrorInfo = + | "contextWindowExceeded" + | "sessionBudgetExceeded" + | "usageLimitExceeded" + | "rateLimitExceeded" + | "serverOverloaded" + | "cyberPolicy" + | "misalignmentPolicyViolation" + | "internalServerError" + | "unauthorized" + | "badRequest" + | "threadRollbackFailed" + | "sandboxError" + | "other" + | { readonly httpConnectionFailed: { readonly httpStatusCode?: number | null } } + | { readonly responseStreamConnectionFailed: { readonly httpStatusCode?: number | null } } + | { readonly responseStreamDisconnected: { readonly httpStatusCode?: number | null } } + | { readonly responseTooManyFailedAttempts: { readonly httpStatusCode?: number | null } } + | { + readonly activeTurnNotSteerable: { + readonly turnKind: V2ThreadTurnsListResponse__NonSteerableTurnKind; + }; + }; +export const V2ThreadTurnsListResponse__CodexErrorInfo = Schema.Union( + [ + Schema.Literals([ + "contextWindowExceeded", + "sessionBudgetExceeded", + "usageLimitExceeded", + "rateLimitExceeded", + "serverOverloaded", + "cyberPolicy", + "misalignmentPolicyViolation", + "internalServerError", + "unauthorized", + "badRequest", + "threadRollbackFailed", + "sandboxError", + "other", + ]), + Schema.Struct({ + httpConnectionFailed: Schema.Struct({ + httpStatusCode: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "uint16" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + }), + }).annotate({ title: "HttpConnectionFailedCodexErrorInfo" }), + Schema.Struct({ + responseStreamConnectionFailed: Schema.Struct({ + httpStatusCode: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "uint16" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + }), + }).annotate({ + title: "ResponseStreamConnectionFailedCodexErrorInfo", + description: "Failed to connect to the response SSE stream.", + }), + Schema.Struct({ + responseStreamDisconnected: Schema.Struct({ + httpStatusCode: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "uint16" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + }), + }).annotate({ + title: "ResponseStreamDisconnectedCodexErrorInfo", + description: + "The response SSE stream disconnected in the middle of a turn before completion.", + }), + Schema.Struct({ + responseTooManyFailedAttempts: Schema.Struct({ + httpStatusCode: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "uint16" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + }), + }).annotate({ + title: "ResponseTooManyFailedAttemptsCodexErrorInfo", + description: "Reached the retry limit for responses.", + }), + Schema.Struct({ + activeTurnNotSteerable: Schema.Struct({ + turnKind: V2ThreadTurnsListResponse__NonSteerableTurnKind, + }), + }).annotate({ + title: "ActiveTurnNotSteerableCodexErrorInfo", + description: + "Returned when `turn/start` or `turn/steer` is submitted while the current active turn cannot accept same-turn steering, for example `/review` or manual `/compact`.", + }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "This translation layer make sure that we expose codex error code in camel case.\n\nWhen an upstream HTTP status is available (for example, from the Responses API or a provider), it is forwarded in `httpStatusCode` on the relevant `codexErrorInfo` variant.", + identifier: "V2ThreadTurnsListResponse__CodexErrorInfo", +}); + +export type V2ThreadTurnsListResponse__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2ThreadTurnsListResponse__MisalignmentSteer | null; +}; +export const V2ThreadTurnsListResponse__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2ThreadTurnsListResponse__MisalignmentErrorDetails" }); + +export type V2ThreadTurnsListResponse__TextElement = { + readonly byteRange: V2ThreadTurnsListResponse__ByteRange; + readonly placeholder?: string | null; +}; +export const V2ThreadTurnsListResponse__TextElement = Schema.Struct({ + byteRange: Schema.suspend( + (): Schema.Codec => V2ThreadTurnsListResponse__ByteRange, + ).annotate({ description: "Byte range in the parent `text` buffer that this element occupies." }), + placeholder: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Optional human-readable placeholder for the element, displayed in the UI.", + }), + Schema.Null, + ]), + ), +}).annotate({ identifier: "V2ThreadTurnsListResponse__TextElement" }); + +export type V2ThreadTurnsListResponse__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ThreadTurnsListResponse__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ThreadTurnsListResponse__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ThreadTurnsListResponse__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ThreadTurnsListResponse__FunctionCallOutputContentItem", +}); + +export type V2ThreadTurnsListResponse__MemoryCitation = { + readonly entries: ReadonlyArray; + readonly threadIds: ReadonlyArray; +}; +export const V2ThreadTurnsListResponse__MemoryCitation = Schema.Struct({ + entries: Schema.Array(V2ThreadTurnsListResponse__MemoryCitationEntry), + threadIds: Schema.Array(Schema.String), +}).annotate({ identifier: "V2ThreadTurnsListResponse__MemoryCitation" }); + +export type V2ThreadTurnsListResponse__CommandAction = | { readonly command: string; readonly name: string; - readonly path: V2ThreadUnarchiveResponse__AbsolutePathBuf; + readonly path: V2ThreadTurnsListResponse__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -21152,12 +27180,12 @@ export type V2ThreadUnarchiveResponse__CommandAction = readonly type: "search"; } | { readonly command: string; readonly type: "unknown" }; -export const V2ThreadUnarchiveResponse__CommandAction = Schema.Union( +export const V2ThreadTurnsListResponse__CommandAction = Schema.Union( [ Schema.Struct({ command: Schema.String, name: Schema.String, - path: V2ThreadUnarchiveResponse__AbsolutePathBuf, + path: V2ThreadTurnsListResponse__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -21177,7 +27205,60 @@ export const V2ThreadUnarchiveResponse__CommandAction = Schema.Union( }).annotate({ title: "UnknownCommandAction" }), ], { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadUnarchiveResponse__CommandAction" }); +).annotate({ identifier: "V2ThreadTurnsListResponse__CommandAction" }); + +export type V2ThreadTurnsListResponse__FileUpdateChange = { + readonly diff: string; + readonly kind: V2ThreadTurnsListResponse__PatchChangeKind; + readonly path: string; +}; +export const V2ThreadTurnsListResponse__FileUpdateChange = Schema.Struct({ + diff: Schema.String, + kind: V2ThreadTurnsListResponse__PatchChangeKind, + path: Schema.String, +}).annotate({ identifier: "V2ThreadTurnsListResponse__FileUpdateChange" }); + +export type V2ThreadTurnsListResponse__McpAppUi = { + readonly preferredModelDisplayMode: V2ThreadTurnsListResponse__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ThreadTurnsListResponse__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ThreadTurnsListResponse__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ThreadTurnsListResponse__McpAppUi", +}); + +export type V2ThreadTurnsListResponse__CollabAgentState = { + readonly message?: string | null; + readonly status: V2ThreadTurnsListResponse__CollabAgentStatus; +}; +export const V2ThreadTurnsListResponse__CollabAgentState = Schema.Struct({ + message: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + status: V2ThreadTurnsListResponse__CollabAgentStatus, +}).annotate({ identifier: "V2ThreadTurnsListResponse__CollabAgentState" }); + +export type V2ThreadUnarchiveResponse__ThreadSection = { + readonly appearance?: V2ThreadUnarchiveResponse__ThreadSectionAppearance | null; + readonly id: string; + readonly name: string; +}; +export const V2ThreadUnarchiveResponse__ThreadSection = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadUnarchiveResponse__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Optional appearance synchronized across clients.", + }), + ), + id: Schema.String.annotate({ + description: "Opaque UUIDv7 identity that remains stable when the section is renamed.", + }), + name: Schema.String.annotate({ description: "The current user-visible section name." }), +}).annotate({ + description: "An independently persisted, user-visible thread section.", + identifier: "V2ThreadUnarchiveResponse__ThreadSection", +}); export type V2ThreadUnarchiveResponse__SubAgentSource = | "review" @@ -21245,8 +27326,10 @@ export type V2ThreadUnarchiveResponse__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" @@ -21268,8 +27351,10 @@ export const V2ThreadUnarchiveResponse__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", @@ -21368,6 +27453,38 @@ export const V2ThreadUnarchiveResponse__CodexErrorInfo = Schema.Union( identifier: "V2ThreadUnarchiveResponse__CodexErrorInfo", }); +export type V2ThreadUnarchiveResponse__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2ThreadUnarchiveResponse__MisalignmentSteer | null; +}; +export const V2ThreadUnarchiveResponse__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2ThreadUnarchiveResponse__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2ThreadUnarchiveResponse__MisalignmentErrorDetails" }); + export type V2ThreadUnarchiveResponse__TextElement = { readonly byteRange: V2ThreadUnarchiveResponse__ByteRange; readonly placeholder?: string | null; @@ -21386,6 +27503,68 @@ export const V2ThreadUnarchiveResponse__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2ThreadUnarchiveResponse__TextElement" }); +export type V2ThreadUnarchiveResponse__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2ThreadUnarchiveResponse__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2ThreadUnarchiveResponse__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2ThreadUnarchiveResponse__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadUnarchiveResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadUnarchiveResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2ThreadUnarchiveResponse__FunctionCallOutputContentItem", +}); + export type V2ThreadUnarchiveResponse__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -21395,6 +27574,48 @@ export const V2ThreadUnarchiveResponse__MemoryCitation = Schema.Struct({ threadIds: Schema.Array(Schema.String), }).annotate({ identifier: "V2ThreadUnarchiveResponse__MemoryCitation" }); +export type V2ThreadUnarchiveResponse__CommandAction = + | { + readonly command: string; + readonly name: string; + readonly path: V2ThreadUnarchiveResponse__LegacyAppPathString; + readonly type: "read"; + } + | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } + | { + readonly command: string; + readonly path?: string | null; + readonly query?: string | null; + readonly type: "search"; + } + | { readonly command: string; readonly type: "unknown" }; +export const V2ThreadUnarchiveResponse__CommandAction = Schema.Union( + [ + Schema.Struct({ + command: Schema.String, + name: Schema.String, + path: V2ThreadUnarchiveResponse__LegacyAppPathString, + type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), + }).annotate({ title: "ReadCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("listFiles").annotate({ title: "ListFilesCommandActionType" }), + }).annotate({ title: "ListFilesCommandAction" }), + Schema.Struct({ + command: Schema.String, + path: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + query: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("search").annotate({ title: "SearchCommandActionType" }), + }).annotate({ title: "SearchCommandAction" }), + Schema.Struct({ + command: Schema.String, + type: Schema.Literal("unknown").annotate({ title: "UnknownCommandActionType" }), + }).annotate({ title: "UnknownCommandAction" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadUnarchiveResponse__CommandAction" }); + export type V2ThreadUnarchiveResponse__FileUpdateChange = { readonly diff: string; readonly kind: V2ThreadUnarchiveResponse__PatchChangeKind; @@ -21406,6 +27627,19 @@ export const V2ThreadUnarchiveResponse__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2ThreadUnarchiveResponse__FileUpdateChange" }); +export type V2ThreadUnarchiveResponse__McpAppUi = { + readonly preferredModelDisplayMode: V2ThreadUnarchiveResponse__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2ThreadUnarchiveResponse__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2ThreadUnarchiveResponse__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2ThreadUnarchiveResponse__McpAppUi", +}); + export type V2ThreadUnarchiveResponse__CollabAgentState = { readonly message?: string | null; readonly status: V2ThreadUnarchiveResponse__CollabAgentStatus; @@ -21419,15 +27653,15 @@ export type V2TurnCompletedNotification__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" | "threadRollbackFailed" | "sandboxError" - | "rateLimitExceeded" - | "misalignmentPolicyViolation" | "other" | { readonly httpConnectionFailed: { readonly httpStatusCode?: number | null } } | { readonly responseStreamConnectionFailed: { readonly httpStatusCode?: number | null } } @@ -21444,15 +27678,15 @@ export const V2TurnCompletedNotification__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", "threadRollbackFailed", "sandboxError", - "rateLimitExceeded", - "misalignmentPolicyViolation", "other", ]), Schema.Struct({ @@ -21546,6 +27780,38 @@ export const V2TurnCompletedNotification__CodexErrorInfo = Schema.Union( identifier: "V2TurnCompletedNotification__CodexErrorInfo", }); +export type V2TurnCompletedNotification__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2TurnCompletedNotification__MisalignmentSteer | null; +}; +export const V2TurnCompletedNotification__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2TurnCompletedNotification__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2TurnCompletedNotification__MisalignmentErrorDetails" }); + export type V2TurnCompletedNotification__TextElement = { readonly byteRange: V2TurnCompletedNotification__ByteRange; readonly placeholder?: string | null; @@ -21565,6 +27831,68 @@ export const V2TurnCompletedNotification__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2TurnCompletedNotification__TextElement" }); +export type V2TurnCompletedNotification__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2TurnCompletedNotification__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2TurnCompletedNotification__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2TurnCompletedNotification__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2TurnCompletedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2TurnCompletedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2TurnCompletedNotification__FunctionCallOutputContentItem", +}); + export type V2TurnCompletedNotification__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -21578,7 +27906,7 @@ export type V2TurnCompletedNotification__CommandAction = | { readonly command: string; readonly name: string; - readonly path: V2TurnCompletedNotification__AbsolutePathBuf; + readonly path: V2TurnCompletedNotification__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -21594,7 +27922,7 @@ export const V2TurnCompletedNotification__CommandAction = Schema.Union( Schema.Struct({ command: Schema.String, name: Schema.String, - path: V2TurnCompletedNotification__AbsolutePathBuf, + path: V2TurnCompletedNotification__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -21627,6 +27955,19 @@ export const V2TurnCompletedNotification__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2TurnCompletedNotification__FileUpdateChange" }); +export type V2TurnCompletedNotification__McpAppUi = { + readonly preferredModelDisplayMode: V2TurnCompletedNotification__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2TurnCompletedNotification__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2TurnCompletedNotification__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2TurnCompletedNotification__McpAppUi", +}); + export type V2TurnCompletedNotification__CollabAgentState = { readonly message?: string | null; readonly status: V2TurnCompletedNotification__CollabAgentStatus; @@ -21649,8 +27990,10 @@ export type V2TurnStartedNotification__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" @@ -21672,8 +28015,10 @@ export const V2TurnStartedNotification__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", @@ -21772,6 +28117,38 @@ export const V2TurnStartedNotification__CodexErrorInfo = Schema.Union( identifier: "V2TurnStartedNotification__CodexErrorInfo", }); +export type V2TurnStartedNotification__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2TurnStartedNotification__MisalignmentSteer | null; +}; +export const V2TurnStartedNotification__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2TurnStartedNotification__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2TurnStartedNotification__MisalignmentErrorDetails" }); + export type V2TurnStartedNotification__TextElement = { readonly byteRange: V2TurnStartedNotification__ByteRange; readonly placeholder?: string | null; @@ -21790,6 +28167,68 @@ export const V2TurnStartedNotification__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2TurnStartedNotification__TextElement" }); +export type V2TurnStartedNotification__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2TurnStartedNotification__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2TurnStartedNotification__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2TurnStartedNotification__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2TurnStartedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2TurnStartedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2TurnStartedNotification__FunctionCallOutputContentItem", +}); + export type V2TurnStartedNotification__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -21803,7 +28242,7 @@ export type V2TurnStartedNotification__CommandAction = | { readonly command: string; readonly name: string; - readonly path: V2TurnStartedNotification__AbsolutePathBuf; + readonly path: V2TurnStartedNotification__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -21819,7 +28258,7 @@ export const V2TurnStartedNotification__CommandAction = Schema.Union( Schema.Struct({ command: Schema.String, name: Schema.String, - path: V2TurnStartedNotification__AbsolutePathBuf, + path: V2TurnStartedNotification__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -21852,6 +28291,19 @@ export const V2TurnStartedNotification__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2TurnStartedNotification__FileUpdateChange" }); +export type V2TurnStartedNotification__McpAppUi = { + readonly preferredModelDisplayMode: V2TurnStartedNotification__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2TurnStartedNotification__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2TurnStartedNotification__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2TurnStartedNotification__McpAppUi", +}); + export type V2TurnStartedNotification__CollabAgentState = { readonly message?: string | null; readonly status: V2TurnStartedNotification__CollabAgentStatus; @@ -21895,6 +28347,64 @@ export const V2TurnStartParams__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2TurnStartParams__TextElement" }); +export type V2TurnStartParams__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2TurnStartParams__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2TurnStartParams__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2TurnStartParams__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2TurnStartParams__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2TurnStartParams__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2TurnStartParams__FunctionCallOutputContentItem", +}); + export type V2TurnStartParams__SandboxPolicy = | { readonly type: "dangerFullAccess" } | { readonly networkAccess?: boolean; readonly type: "readOnly" } @@ -21944,8 +28454,10 @@ export type V2TurnStartResponse__CodexErrorInfo = | "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" + | "rateLimitExceeded" | "serverOverloaded" | "cyberPolicy" + | "misalignmentPolicyViolation" | "internalServerError" | "unauthorized" | "badRequest" @@ -21967,8 +28479,10 @@ export const V2TurnStartResponse__CodexErrorInfo = Schema.Union( "contextWindowExceeded", "sessionBudgetExceeded", "usageLimitExceeded", + "rateLimitExceeded", "serverOverloaded", "cyberPolicy", + "misalignmentPolicyViolation", "internalServerError", "unauthorized", "badRequest", @@ -22067,6 +28581,38 @@ export const V2TurnStartResponse__CodexErrorInfo = Schema.Union( identifier: "V2TurnStartResponse__CodexErrorInfo", }); +export type V2TurnStartResponse__MisalignmentErrorDetails = { + readonly detailedExplanation?: string | null; + readonly errorType?: string | null; + readonly steer?: V2TurnStartResponse__MisalignmentSteer | null; +}; +export const V2TurnStartResponse__MisalignmentErrorDetails = Schema.Struct({ + detailedExplanation: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "A substantive localized explanation is required before offering continuation.", + }), + Schema.Null, + ]), + ), + errorType: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Open-ended classification; clients must accept categories added by Responses.", + }), + Schema.Null, + ]), + ), + steer: Schema.optionalKey( + Schema.Union([V2TurnStartResponse__MisalignmentSteer, Schema.Null]).annotate({ + description: + "Instruction to submit as the next turn's user input if continuation is confirmed.", + }), + ), +}).annotate({ identifier: "V2TurnStartResponse__MisalignmentErrorDetails" }); + export type V2TurnStartResponse__TextElement = { readonly byteRange: V2TurnStartResponse__ByteRange; readonly placeholder?: string | null; @@ -22085,6 +28631,64 @@ export const V2TurnStartResponse__TextElement = Schema.Struct({ ), }).annotate({ identifier: "V2TurnStartResponse__TextElement" }); +export type V2TurnStartResponse__FunctionCallOutputContentItem = + | { readonly text: string; readonly type: "input_text" } + | { + readonly detail?: V2TurnStartResponse__ImageDetail | null; + readonly type: "input_image"; + readonly image_url: string; + } + | { + readonly detail?: V2TurnStartResponse__ImageDetail | null; + readonly type: "input_image"; + readonly file_id: string; + } + | { readonly audio_url: string; readonly type: "input_audio" } + | { readonly encrypted_content: string; readonly type: "encrypted_content" }; +export const V2TurnStartResponse__FunctionCallOutputContentItem = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + type: Schema.Literal("input_text").annotate({ + title: "InputTextFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputTextFunctionCallOutputContentItem" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2TurnStartResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + image_url: Schema.String, + }).annotate({ title: "ImageUrlFunctionCallOutputContentItem" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2TurnStartResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("input_image").annotate({ + title: "InputImageFunctionCallOutputContentItemType", + }), + file_id: Schema.String, + }).annotate({ title: "FileIdFunctionCallOutputContentItem" }), + ]).annotate({ title: "InputImageFunctionCallOutputContentItem" }), + Schema.Struct({ + audio_url: Schema.String, + type: Schema.Literal("input_audio").annotate({ + title: "InputAudioFunctionCallOutputContentItemType", + }), + }).annotate({ title: "InputAudioFunctionCallOutputContentItem" }), + Schema.Struct({ + encrypted_content: Schema.String, + type: Schema.Literal("encrypted_content").annotate({ + title: "EncryptedContentFunctionCallOutputContentItemType", + }), + }).annotate({ title: "EncryptedContentFunctionCallOutputContentItem" }), + ], + { mode: "oneOf" }, +).annotate({ + description: + "Responses API compatible content items that can be returned by a tool call. This is a subset of ContentItem with the types we support as function call outputs.", + identifier: "V2TurnStartResponse__FunctionCallOutputContentItem", +}); + export type V2TurnStartResponse__MemoryCitation = { readonly entries: ReadonlyArray; readonly threadIds: ReadonlyArray; @@ -22098,7 +28702,7 @@ export type V2TurnStartResponse__CommandAction = | { readonly command: string; readonly name: string; - readonly path: V2TurnStartResponse__AbsolutePathBuf; + readonly path: V2TurnStartResponse__LegacyAppPathString; readonly type: "read"; } | { readonly command: string; readonly path?: string | null; readonly type: "listFiles" } @@ -22114,7 +28718,7 @@ export const V2TurnStartResponse__CommandAction = Schema.Union( Schema.Struct({ command: Schema.String, name: Schema.String, - path: V2TurnStartResponse__AbsolutePathBuf, + path: V2TurnStartResponse__LegacyAppPathString, type: Schema.Literal("read").annotate({ title: "ReadCommandActionType" }), }).annotate({ title: "ReadCommandAction" }), Schema.Struct({ @@ -22147,6 +28751,19 @@ export const V2TurnStartResponse__FileUpdateChange = Schema.Struct({ path: Schema.String, }).annotate({ identifier: "V2TurnStartResponse__FileUpdateChange" }); +export type V2TurnStartResponse__McpAppUi = { + readonly preferredModelDisplayMode: V2TurnStartResponse__McpAppDisplayMode; + readonly resourceUri: string; +}; +export const V2TurnStartResponse__McpAppUi = Schema.Struct({ + preferredModelDisplayMode: V2TurnStartResponse__McpAppDisplayMode, + resourceUri: Schema.String, +}).annotate({ + description: + "UI resource and display preference for model invocations, captured from the tool descriptor.", + identifier: "V2TurnStartResponse__McpAppUi", +}); + export type V2TurnStartResponse__CollabAgentState = { readonly message?: string | null; readonly status: V2TurnStartResponse__CollabAgentStatus; @@ -22182,12 +28799,13 @@ export type ApplyPatchApprovalResponse__ReviewDecision = }; } | "approved_for_session" + | "approved_mcp_policy_amendment" | { readonly network_policy_amendment: { readonly network_policy_amendment: ApplyPatchApprovalResponse__NetworkPolicyAmendment; }; } - | "denied" + | { readonly denied: { readonly rejection: string } } | "timed_out" | "abort"; export const ApplyPatchApprovalResponse__ReviewDecision = Schema.Union( @@ -22208,6 +28826,10 @@ export const ApplyPatchApprovalResponse__ReviewDecision = Schema.Union( description: "User has approved this request and wants future prompts in the same session-scoped approval cache to be automatically approved for the remainder of the session.", }), + Schema.Literal("approved_mcp_policy_amendment").annotate({ + description: + "User has approved this MCP tool call and wants to amend its policy so matching future calls are automatically approved across sessions.", + }), Schema.Struct({ network_policy_amendment: Schema.Struct({ network_policy_amendment: ApplyPatchApprovalResponse__NetworkPolicyAmendment, @@ -22217,7 +28839,8 @@ export const ApplyPatchApprovalResponse__ReviewDecision = Schema.Union( description: "User chose to persist a network policy rule (allow/deny) for future requests to the same host.", }), - Schema.Literal("denied").annotate({ + Schema.Struct({ denied: Schema.Struct({ rejection: Schema.String }) }).annotate({ + title: "DeniedReviewDecision", description: "User has denied this command and the agent should not execute it, but it should continue the session and try something else.", }), @@ -22274,6 +28897,11 @@ export type ClientRequest__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: ClientRequest__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: ClientRequest__ImageDetail | null; readonly path: string; @@ -22295,11 +28923,18 @@ export const ClientRequest__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([ClientRequest__ImageDetail, Schema.Null])), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([ClientRequest__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([ClientRequest__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey(Schema.Union([ClientRequest__ImageDetail, Schema.Null])), path: Schema.String, @@ -22473,6 +29108,19 @@ export const ClientRequest__ExternalAgentConfigMigrationItem = Schema.Struct({ itemType: ClientRequest__ExternalAgentConfigMigrationItemType, }).annotate({ identifier: "ClientRequest__ExternalAgentConfigMigrationItem" }); +export type ClientRequest__ExternalAgentConfigImportHistoryRecordTypeResultParams = { + readonly failures: ReadonlyArray; + readonly itemType: ClientRequest__ExternalAgentConfigMigrationItemType; + readonly successes: ReadonlyArray; +}; +export const ClientRequest__ExternalAgentConfigImportHistoryRecordTypeResultParams = Schema.Struct({ + failures: Schema.Array(ClientRequest__ExternalAgentConfigImportItemTypeFailure), + itemType: ClientRequest__ExternalAgentConfigMigrationItemType, + successes: Schema.Array(ClientRequest__ExternalAgentConfigImportHistoryRecordSuccessParams), +}).annotate({ + identifier: "ClientRequest__ExternalAgentConfigImportHistoryRecordTypeResultParams", +}); + export type ClientRequest__ConfigBatchWriteParams = { readonly edits: ReadonlyArray; readonly expectedVersion?: string | null; @@ -22494,7 +29142,7 @@ export const ClientRequest__ConfigBatchWriteParams = Schema.Struct({ reloadUserConfig: Schema.optionalKey( Schema.Boolean.annotate({ description: - "When true, hot-reload the updated user config into all loaded threads after writing.", + "When true, hot-reload updated runtime settings into loaded threads after writing. Session-static model, reasoning-effort, Plan-mode reasoning-effort, and service-tier defaults are not reloaded. The deprecated personality setting is also not reloaded.", }), ), }).annotate({ identifier: "ClientRequest__ConfigBatchWriteParams" }); @@ -22587,12 +29235,13 @@ export type ExecCommandApprovalResponse__ReviewDecision = }; } | "approved_for_session" + | "approved_mcp_policy_amendment" | { readonly network_policy_amendment: { readonly network_policy_amendment: ExecCommandApprovalResponse__NetworkPolicyAmendment; }; } - | "denied" + | { readonly denied: { readonly rejection: string } } | "timed_out" | "abort"; export const ExecCommandApprovalResponse__ReviewDecision = Schema.Union( @@ -22613,6 +29262,10 @@ export const ExecCommandApprovalResponse__ReviewDecision = Schema.Union( description: "User has approved this request and wants future prompts in the same session-scoped approval cache to be automatically approved for the remainder of the session.", }), + Schema.Literal("approved_mcp_policy_amendment").annotate({ + description: + "User has approved this MCP tool call and wants to amend its policy so matching future calls are automatically approved across sessions.", + }), Schema.Struct({ network_policy_amendment: Schema.Struct({ network_policy_amendment: ExecCommandApprovalResponse__NetworkPolicyAmendment, @@ -22622,7 +29275,8 @@ export const ExecCommandApprovalResponse__ReviewDecision = Schema.Union( description: "User chose to persist a network policy rule (allow/deny) for future requests to the same host.", }), - Schema.Literal("denied").annotate({ + Schema.Struct({ denied: Schema.Struct({ rejection: Schema.String }) }).annotate({ + title: "DeniedReviewDecision", description: "User has denied this command and the agent should not execute it, but it should continue the session and try something else.", }), @@ -22797,6 +29451,7 @@ export type ServerNotification__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: ServerNotification__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: ServerNotification__MisalignmentErrorDetails | null; }; export const ServerNotification__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -22804,8 +29459,26 @@ export const ServerNotification__TurnError = Schema.Struct({ Schema.Union([ServerNotification__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([ServerNotification__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "ServerNotification__TurnError" }); +export type ServerNotification__CollaborationMode = { + readonly mode: ServerNotification__ModeKind; + readonly settings: ServerNotification__Settings; +}; +export const ServerNotification__CollaborationMode = Schema.Struct({ + mode: ServerNotification__ModeKind, + settings: ServerNotification__Settings, +}).annotate({ + description: "Collaboration mode for a Codex session.", + identifier: "ServerNotification__CollaborationMode", +}); + export type ServerNotification__SessionSource = | "cli" | "vscode" @@ -22845,6 +29518,11 @@ export type ServerNotification__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: ServerNotification__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: ServerNotification__ImageDetail | null; readonly path: string; @@ -22866,11 +29544,18 @@ export const ServerNotification__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([ServerNotification__ImageDetail, Schema.Null])), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([ServerNotification__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([ServerNotification__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey(Schema.Union([ServerNotification__ImageDetail, Schema.Null])), path: Schema.String, @@ -22898,6 +29583,14 @@ export const ServerNotification__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "ServerNotification__UserInput" }); +export type ServerNotification__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const ServerNotification__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(ServerNotification__FunctionCallOutputContentItem), +]).annotate({ identifier: "ServerNotification__FunctionCallOutputBody" }); + export type ServerNotification__FileSystemPath = | { readonly path: ServerNotification__LegacyAppPathString; readonly type: "path" } | { readonly pattern: string; readonly type: "glob_pattern" } @@ -22933,18 +29626,6 @@ export const ServerNotification__FileChangePatchUpdatedNotification = Schema.Str turnId: Schema.String, }).annotate({ identifier: "ServerNotification__FileChangePatchUpdatedNotification" }); -export type ServerNotification__CollaborationMode = { - readonly mode: ServerNotification__ModeKind; - readonly settings: ServerNotification__Settings; -}; -export const ServerNotification__CollaborationMode = Schema.Struct({ - mode: ServerNotification__ModeKind, - settings: ServerNotification__Settings, -}).annotate({ - description: "Collaboration mode for a Codex session.", - identifier: "ServerNotification__CollaborationMode", -}); - export type ServerNotification__ThreadGoalUpdatedNotification = { readonly goal: ServerNotification__ThreadGoal; readonly threadId: string; @@ -23147,6 +29828,30 @@ export const ServerNotification__FuzzyFileSearchSessionUpdatedNotification = Sch sessionId: Schema.String, }).annotate({ identifier: "ServerNotification__FuzzyFileSearchSessionUpdatedNotification" }); +export type ServerNotification__ThreadRealtimeItemStartedNotification = { + readonly item: ServerNotification__ThreadRealtimeItem; + readonly threadId: string; +}; +export const ServerNotification__ThreadRealtimeItemStartedNotification = Schema.Struct({ + item: ServerNotification__ThreadRealtimeItem, + threadId: Schema.String, +}).annotate({ + description: "EXPERIMENTAL - a realtime timeline item started before its content streams.", + identifier: "ServerNotification__ThreadRealtimeItemStartedNotification", +}); + +export type ServerNotification__ThreadRealtimeItemCompletedNotification = { + readonly item: ServerNotification__ThreadRealtimeItem; + readonly threadId: string; +}; +export const ServerNotification__ThreadRealtimeItemCompletedNotification = Schema.Struct({ + item: ServerNotification__ThreadRealtimeItem, + threadId: Schema.String, +}).annotate({ + description: "EXPERIMENTAL - a realtime timeline item published after canonical commit.", + identifier: "ServerNotification__ThreadRealtimeItemCompletedNotification", +}); + export type ServerRequest__FileSystemPath = | { readonly path: ServerRequest__LegacyAppPathString; readonly type: "path" } | { readonly pattern: string; readonly type: "glob_pattern" } @@ -23176,6 +29881,7 @@ export type ServerRequest__CommandExecutionRequestApprovalParams = { readonly cwd?: ServerRequest__LegacyAppPathString | null; readonly environmentId?: string | null; readonly itemId: string; + readonly kind?: ServerRequest__CommandExecutionApprovalKind; readonly networkApprovalContext?: ServerRequest__NetworkApprovalContext | null; readonly proposedExecpolicyAmendment?: ReadonlyArray | null; readonly proposedNetworkPolicyAmendments?: ReadonlyArray | null; @@ -23189,7 +29895,7 @@ export const ServerRequest__CommandExecutionRequestApprovalParams = Schema.Struc Schema.Union([ Schema.String.annotate({ description: - "Unique identifier for this specific approval callback.\n\nFor regular shell/unified_exec approvals, this is null.\n\nFor zsh-exec-bridge subcommand approvals, multiple callbacks can belong to one parent `itemId`, so `approvalId` is a distinct opaque callback id (a UUID) used to disambiguate routing.", + "Unique identifier for this specific approval callback.\n\nFor regular shell/unified_exec approvals, this is null.\n\nFor zsh-exec-bridge subcommand approvals, multiple callbacks can belong to one parent `itemId`, so `approvalId` is a distinct opaque callback id (a UUID) used to disambiguate routing. Stdin approvals also use a distinct callback id; inspect `kind` to distinguish them.", }), Schema.Null, ]), @@ -23220,6 +29926,15 @@ export const ServerRequest__CommandExecutionRequestApprovalParams = Schema.Struc ]), ), itemId: Schema.String, + kind: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + ServerRequest__CommandExecutionApprovalKind, + ).annotate({ + description: "Kind of action under review. Defaults to `command` for older servers.", + default: "command", + }), + ), networkApprovalContext: Schema.optionalKey( Schema.Union([ServerRequest__NetworkApprovalContext, Schema.Null]).annotate({ description: "Optional context for a managed-network approval prompt.", @@ -23261,6 +29976,7 @@ export const ServerRequest__CommandExecutionRequestApprovalParams = Schema.Struc export type ServerRequest__ToolRequestUserInputParams = { readonly autoResolutionMs?: number | null; + readonly isBlocking: boolean; readonly itemId: string; readonly questions: ReadonlyArray; readonly threadId: string; @@ -23269,7 +29985,10 @@ export type ServerRequest__ToolRequestUserInputParams = { export const ServerRequest__ToolRequestUserInputParams = Schema.Struct({ autoResolutionMs: Schema.optionalKey( Schema.Union([ - Schema.Number.annotate({ format: "uint64" }) + Schema.Number.annotate({ + description: "@deprecated Use `isBlocking` to decide whether the request should block.", + format: "uint64", + }) .check(Schema.isInt().annotate({ expected: "an integer" })) .check( Schema.isGreaterThanOrEqualTo(0).annotate({ @@ -23279,6 +29998,7 @@ export const ServerRequest__ToolRequestUserInputParams = Schema.Struct({ Schema.Null, ]), ), + isBlocking: Schema.Boolean, itemId: Schema.String, questions: Schema.Array(ServerRequest__ToolRequestUserInputQuestion), threadId: Schema.String, @@ -23482,6 +30202,42 @@ export const V2AppsListResponse__AppInfo = Schema.Struct({ identifier: "V2AppsListResponse__AppInfo", }); +export type V2ConfigReadResponse__BrowserUseConfig = { + readonly allow_history_access?: boolean | null; + readonly default_origin_policy?: V2ConfigReadResponse__BrowserUseOriginPolicyConfig | null; + readonly origins?: { + readonly [x: string]: V2ConfigReadResponse__BrowserUseOriginPolicyConfig; + } | null; +}; +export const V2ConfigReadResponse__BrowserUseConfig = Schema.Struct({ + allow_history_access: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + default_origin_policy: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__BrowserUseOriginPolicyConfig, Schema.Null]), + ), + origins: Schema.optionalKey( + Schema.Union([ + Schema.Record(Schema.String, V2ConfigReadResponse__BrowserUseOriginPolicyConfig), + Schema.Null, + ]), + ), +}).annotate({ identifier: "V2ConfigReadResponse__BrowserUseConfig" }); + +export type V2ConfigReadResponse__ComputerUseWindowsConfig = { + readonly aumids?: { readonly [x: string]: V2ConfigReadResponse__AllowDenyRequirement } | null; + readonly exes?: ReadonlyArray | null; +}; +export const V2ConfigReadResponse__ComputerUseWindowsConfig = Schema.Struct({ + aumids: Schema.optionalKey( + Schema.Union([ + Schema.Record(Schema.String, V2ConfigReadResponse__AllowDenyRequirement), + Schema.Null, + ]), + ), + exes: Schema.optionalKey( + Schema.Union([Schema.Array(V2ConfigReadResponse__ComputerUseWindowsExeConfig), Schema.Null]), + ), +}).annotate({ identifier: "V2ConfigReadResponse__ComputerUseWindowsConfig" }); + export type V2ConfigReadResponse__ToolsV2 = { readonly web_search?: V2ConfigReadResponse__WebSearchToolConfig | null; }; @@ -23513,6 +30269,53 @@ export const V2ConfigReadResponse__ConfigLayerMetadata = Schema.Struct({ version: Schema.String, }).annotate({ identifier: "V2ConfigReadResponse__ConfigLayerMetadata" }); +export type V2ConfigRequirementsReadResponse__ComputerUseWindowsRequirements = { + readonly aumids?: { + readonly [x: string]: V2ConfigRequirementsReadResponse__AllowDenyRequirement; + } | null; + readonly exes?: ReadonlyArray | null; +}; +export const V2ConfigRequirementsReadResponse__ComputerUseWindowsRequirements = Schema.Struct({ + aumids: Schema.optionalKey( + Schema.Union([ + Schema.Record(Schema.String, V2ConfigRequirementsReadResponse__AllowDenyRequirement), + Schema.Null, + ]), + ), + exes: Schema.optionalKey( + Schema.Union([ + Schema.Array(V2ConfigRequirementsReadResponse__ComputerUseWindowsExeRequirement), + Schema.Null, + ]), + ), +}).annotate({ identifier: "V2ConfigRequirementsReadResponse__ComputerUseWindowsRequirements" }); + +export type V2ConfigRequirementsReadResponse__BrowserUseRequirements = { + readonly allowGlobalPersistentApproval?: boolean | null; + readonly allowHistoryAccess?: boolean | null; + readonly allowWebmcp?: boolean | null; + readonly defaultOriginPolicy?: V2ConfigRequirementsReadResponse__BrowserUseOriginPolicy | null; + readonly disableAutoReview?: boolean | null; + readonly origins?: { + readonly [x: string]: V2ConfigRequirementsReadResponse__BrowserUseOriginPolicy; + } | null; +}; +export const V2ConfigRequirementsReadResponse__BrowserUseRequirements = Schema.Struct({ + allowGlobalPersistentApproval: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + allowHistoryAccess: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + allowWebmcp: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + defaultOriginPolicy: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__BrowserUseOriginPolicy, Schema.Null]), + ), + disableAutoReview: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + origins: Schema.optionalKey( + Schema.Union([ + Schema.Record(Schema.String, V2ConfigRequirementsReadResponse__BrowserUseOriginPolicy), + Schema.Null, + ]), + ), +}).annotate({ identifier: "V2ConfigRequirementsReadResponse__BrowserUseRequirements" }); + export type V2ConfigRequirementsReadResponse__ModelsRequirements = { readonly newThread?: V2ConfigRequirementsReadResponse__NewThreadModelDefaults | null; }; @@ -23535,6 +30338,7 @@ export type V2ErrorNotification__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2ErrorNotification__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2ErrorNotification__MisalignmentErrorDetails | null; }; export const V2ErrorNotification__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -23542,6 +30346,12 @@ export const V2ErrorNotification__TurnError = Schema.Struct({ Schema.Union([V2ErrorNotification__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2ErrorNotification__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2ErrorNotification__TurnError" }); export type V2ExternalAgentConfigDetectResponse__ExternalAgentConfigMigrationItem = { @@ -23594,6 +30404,7 @@ export type V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfi readonly completedAtMs: number; readonly failures: ReadonlyArray; readonly importId: string; + readonly providerId?: string | null; readonly successes: ReadonlyArray; }; export const V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigImportHistory = @@ -23605,6 +30416,7 @@ export const V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConf V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigImportItemTypeFailure, ), importId: Schema.String, + providerId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), successes: Schema.Array( V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigImportItemTypeSuccess, ), @@ -23613,6 +30425,26 @@ export const V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConf "V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigImportHistory", }); +export type V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigImportHistoryRecordTypeResultParams = + { + readonly failures: ReadonlyArray; + readonly itemType: V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigMigrationItemType; + readonly successes: ReadonlyArray; + }; +export const V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigImportHistoryRecordTypeResultParams = + Schema.Struct({ + failures: Schema.Array( + V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigImportItemTypeFailure, + ), + itemType: V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigMigrationItemType, + successes: Schema.Array( + V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigImportHistoryRecordSuccessParams, + ), + }).annotate({ + identifier: + "V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigImportHistoryRecordTypeResultParams", + }); + export type V2ExternalAgentConfigImportParams__ExternalAgentConfigMigrationItem = { readonly cwd?: string | null; readonly description: string; @@ -23810,6 +30642,11 @@ export type V2ItemCompletedNotification__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2ItemCompletedNotification__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2ItemCompletedNotification__ImageDetail | null; readonly path: string; @@ -23831,13 +30668,22 @@ export const V2ItemCompletedNotification__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey( - Schema.Union([V2ItemCompletedNotification__ImageDetail, Schema.Null]), - ), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ItemCompletedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ItemCompletedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey( Schema.Union([V2ItemCompletedNotification__ImageDetail, Schema.Null]), @@ -23867,6 +30713,14 @@ export const V2ItemCompletedNotification__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ItemCompletedNotification__UserInput" }); +export type V2ItemCompletedNotification__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ItemCompletedNotification__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ItemCompletedNotification__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ItemCompletedNotification__FunctionCallOutputBody" }); + export type V2ItemGuardianApprovalReviewCompletedNotification__FileSystemPath = | { readonly path: V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString; @@ -23934,6 +30788,11 @@ export type V2ItemStartedNotification__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2ItemStartedNotification__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2ItemStartedNotification__ImageDetail | null; readonly path: string; @@ -23955,13 +30814,22 @@ export const V2ItemStartedNotification__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey( - Schema.Union([V2ItemStartedNotification__ImageDetail, Schema.Null]), - ), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ItemStartedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ItemStartedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey( Schema.Union([V2ItemStartedNotification__ImageDetail, Schema.Null]), @@ -23991,9 +30859,18 @@ export const V2ItemStartedNotification__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ItemStartedNotification__UserInput" }); +export type V2ItemStartedNotification__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ItemStartedNotification__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ItemStartedNotification__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ItemStartedNotification__FunctionCallOutputBody" }); + export type V2ModelListResponse__Model = { readonly additionalSpeedTiers?: ReadonlyArray; readonly availabilityNux?: V2ModelListResponse__ModelAvailabilityNux | null; + readonly availableAccessPrograms?: V2ModelListResponse__ModelAccessPrograms | null; readonly defaultReasoningEffort: V2ModelListResponse__ReasoningEffort; readonly defaultServiceTier?: string | null; readonly description: string; @@ -24003,6 +30880,8 @@ export type V2ModelListResponse__Model = { readonly inputModalities?: ReadonlyArray; readonly isDefault: boolean; readonly model: string; + readonly modelSpecialty?: string | null; + readonly multiAgentVersion?: V2ModelListResponse__MultiAgentVersion | null; readonly serviceTiers?: ReadonlyArray; readonly supportedReasoningEfforts: ReadonlyArray; readonly supportsPersonality?: boolean; @@ -24019,6 +30898,11 @@ export const V2ModelListResponse__Model = Schema.Struct({ availabilityNux: Schema.optionalKey( Schema.Union([V2ModelListResponse__ModelAvailabilityNux, Schema.Null]), ), + availableAccessPrograms: Schema.optionalKey( + Schema.Union([V2ModelListResponse__ModelAccessPrograms, Schema.Null]).annotate({ + description: "Null when the catalog does not provide access-program metadata.", + }), + ), defaultReasoningEffort: V2ModelListResponse__ReasoningEffort, defaultServiceTier: Schema.optionalKey( Schema.Union([ @@ -24037,11 +30921,22 @@ export const V2ModelListResponse__Model = Schema.Struct({ ), isDefault: Schema.Boolean, model: Schema.String, + modelSpecialty: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + multiAgentVersion: Schema.optionalKey( + Schema.Union([V2ModelListResponse__MultiAgentVersion, Schema.Null]).annotate({ + description: "Multi-agent runtime declared by this model, when available.", + }), + ), serviceTiers: Schema.optionalKey( Schema.Array(V2ModelListResponse__ModelServiceTier).annotate({ default: [] }), ), supportedReasoningEfforts: Schema.Array(V2ModelListResponse__ReasoningEffortOption), - supportsPersonality: Schema.optionalKey(Schema.Boolean.annotate({ default: false })), + supportsPersonality: Schema.optionalKey( + Schema.Boolean.annotate({ + description: "@deprecated Always false; models no longer support personality selection.", + default: false, + }), + ), upgrade: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), upgradeInfo: Schema.optionalKey( Schema.Union([V2ModelListResponse__ModelUpgradeInfo, Schema.Null]), @@ -24049,6 +30944,7 @@ export const V2ModelListResponse__Model = Schema.Struct({ }).annotate({ identifier: "V2ModelListResponse__Model" }); export type V2PluginInstalledResponse__PluginShareContext = { + readonly canPublishToWorkspace?: boolean | null; readonly creatorAccountUserId?: string | null; readonly creatorName?: string | null; readonly discoverability?: V2PluginInstalledResponse__PluginShareDiscoverability | null; @@ -24058,6 +30954,7 @@ export type V2PluginInstalledResponse__PluginShareContext = { readonly shareUrl?: string | null; }; export const V2PluginInstalledResponse__PluginShareContext = Schema.Struct({ + canPublishToWorkspace: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), creatorAccountUserId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), creatorName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), discoverability: Schema.optionalKey( @@ -24079,6 +30976,7 @@ export const V2PluginInstalledResponse__PluginShareContext = Schema.Struct({ }).annotate({ identifier: "V2PluginInstalledResponse__PluginShareContext" }); export type V2PluginListResponse__PluginShareContext = { + readonly canPublishToWorkspace?: boolean | null; readonly creatorAccountUserId?: string | null; readonly creatorName?: string | null; readonly discoverability?: V2PluginListResponse__PluginShareDiscoverability | null; @@ -24088,6 +30986,7 @@ export type V2PluginListResponse__PluginShareContext = { readonly shareUrl?: string | null; }; export const V2PluginListResponse__PluginShareContext = Schema.Struct({ + canPublishToWorkspace: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), creatorAccountUserId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), creatorName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), discoverability: Schema.optionalKey( @@ -24139,6 +31038,7 @@ export const V2PluginReadResponse__ScheduledTaskSummary = Schema.Struct({ }).annotate({ identifier: "V2PluginReadResponse__ScheduledTaskSummary" }); export type V2PluginReadResponse__PluginShareContext = { + readonly canPublishToWorkspace?: boolean | null; readonly creatorAccountUserId?: string | null; readonly creatorName?: string | null; readonly discoverability?: V2PluginReadResponse__PluginShareDiscoverability | null; @@ -24148,6 +31048,7 @@ export type V2PluginReadResponse__PluginShareContext = { readonly shareUrl?: string | null; }; export const V2PluginReadResponse__PluginShareContext = Schema.Struct({ + canPublishToWorkspace: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), creatorAccountUserId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), creatorName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), discoverability: Schema.optionalKey( @@ -24169,6 +31070,7 @@ export const V2PluginReadResponse__PluginShareContext = Schema.Struct({ }).annotate({ identifier: "V2PluginReadResponse__PluginShareContext" }); export type V2PluginShareListResponse__PluginShareContext = { + readonly canPublishToWorkspace?: boolean | null; readonly creatorAccountUserId?: string | null; readonly creatorName?: string | null; readonly discoverability?: V2PluginShareListResponse__PluginShareDiscoverability | null; @@ -24178,6 +31080,7 @@ export type V2PluginShareListResponse__PluginShareContext = { readonly shareUrl?: string | null; }; export const V2PluginShareListResponse__PluginShareContext = Schema.Struct({ + canPublishToWorkspace: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), creatorAccountUserId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), creatorName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), discoverability: Schema.optionalKey( @@ -24210,6 +31113,7 @@ export type V2ReviewStartResponse__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2ReviewStartResponse__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2ReviewStartResponse__MisalignmentErrorDetails | null; }; export const V2ReviewStartResponse__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -24217,6 +31121,12 @@ export const V2ReviewStartResponse__TurnError = Schema.Struct({ Schema.Union([V2ReviewStartResponse__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2ReviewStartResponse__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2ReviewStartResponse__TurnError" }); export type V2ReviewStartResponse__UserInput = @@ -24230,6 +31140,11 @@ export type V2ReviewStartResponse__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2ReviewStartResponse__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2ReviewStartResponse__ImageDetail | null; readonly path: string; @@ -24251,11 +31166,18 @@ export const V2ReviewStartResponse__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([V2ReviewStartResponse__ImageDetail, Schema.Null])), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ReviewStartResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ReviewStartResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey(Schema.Union([V2ReviewStartResponse__ImageDetail, Schema.Null])), path: Schema.String, @@ -24283,6 +31205,14 @@ export const V2ReviewStartResponse__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ReviewStartResponse__UserInput" }); +export type V2ReviewStartResponse__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ReviewStartResponse__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ReviewStartResponse__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ReviewStartResponse__FunctionCallOutputBody" }); + export type V2SkillsListResponse__SkillMetadata = { readonly dependencies?: V2SkillsListResponse__SkillDependencies | null; readonly description: string; @@ -24290,6 +31220,7 @@ export type V2SkillsListResponse__SkillMetadata = { readonly interface?: V2SkillsListResponse__SkillInterface | null; readonly name: string; readonly path: V2SkillsListResponse__AbsolutePathBuf; + readonly pluginId?: string | null; readonly scope: V2SkillsListResponse__SkillScope; readonly shortDescription?: string | null; }; @@ -24302,6 +31233,14 @@ export const V2SkillsListResponse__SkillMetadata = Schema.Struct({ interface: Schema.optionalKey(Schema.Union([V2SkillsListResponse__SkillInterface, Schema.Null])), name: Schema.String, path: V2SkillsListResponse__AbsolutePathBuf, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Owning plugin ID, matching `PluginSummary.id`, when known.", + }), + Schema.Null, + ]), + ), scope: V2SkillsListResponse__SkillScope, shortDescription: Schema.optionalKey( Schema.Union([ @@ -24337,6 +31276,7 @@ export type V2ThreadForkResponse__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2ThreadForkResponse__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2ThreadForkResponse__MisalignmentErrorDetails | null; }; export const V2ThreadForkResponse__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -24344,6 +31284,12 @@ export const V2ThreadForkResponse__TurnError = Schema.Struct({ Schema.Union([V2ThreadForkResponse__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2ThreadForkResponse__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2ThreadForkResponse__TurnError" }); export type V2ThreadForkResponse__UserInput = @@ -24357,6 +31303,11 @@ export type V2ThreadForkResponse__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2ThreadForkResponse__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2ThreadForkResponse__ImageDetail | null; readonly path: string; @@ -24378,11 +31329,18 @@ export const V2ThreadForkResponse__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([V2ThreadForkResponse__ImageDetail, Schema.Null])), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadForkResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadForkResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey(Schema.Union([V2ThreadForkResponse__ImageDetail, Schema.Null])), path: Schema.String, @@ -24410,6 +31368,104 @@ export const V2ThreadForkResponse__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadForkResponse__UserInput" }); +export type V2ThreadForkResponse__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ThreadForkResponse__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ThreadForkResponse__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ThreadForkResponse__FunctionCallOutputBody" }); + +export type V2ThreadItemsListResponse__UserInput = + | { + readonly text: string; + readonly text_elements?: ReadonlyArray; + readonly type: "text"; + } + | { + readonly detail?: V2ThreadItemsListResponse__ImageDetail | null; + readonly type: "image"; + readonly url: string; + } + | { + readonly detail?: V2ThreadItemsListResponse__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } + | { + readonly detail?: V2ThreadItemsListResponse__ImageDetail | null; + readonly path: string; + readonly type: "localImage"; + } + | { readonly type: "audio"; readonly url: string } + | { readonly path: string; readonly type: "localAudio" } + | { readonly name: string; readonly path: string; readonly type: "skill" } + | { readonly name: string; readonly path: string; readonly type: "mention" }; +export const V2ThreadItemsListResponse__UserInput = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + text_elements: Schema.optionalKey( + Schema.Array(V2ThreadItemsListResponse__TextElement).annotate({ + description: "UI-defined spans within `text` used to render or persist special elements.", + default: [], + }), + ), + type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), + }).annotate({ title: "TextUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__ImageDetail, Schema.Null]), + ), + path: Schema.String, + type: Schema.Literal("localImage").annotate({ title: "LocalImageUserInputType" }), + }).annotate({ title: "LocalImageUserInput" }), + Schema.Struct({ + type: Schema.Literal("audio").annotate({ title: "AudioUserInputType" }), + url: Schema.String, + }).annotate({ title: "AudioUserInput" }), + Schema.Struct({ + path: Schema.String, + type: Schema.Literal("localAudio").annotate({ title: "LocalAudioUserInputType" }), + }).annotate({ title: "LocalAudioUserInput" }), + Schema.Struct({ + name: Schema.String, + path: Schema.String, + type: Schema.Literal("skill").annotate({ title: "SkillUserInputType" }), + }).annotate({ title: "SkillUserInput" }), + Schema.Struct({ + name: Schema.String, + path: Schema.String, + type: Schema.Literal("mention").annotate({ title: "MentionUserInputType" }), + }).annotate({ title: "MentionUserInput" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadItemsListResponse__UserInput" }); + +export type V2ThreadItemsListResponse__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ThreadItemsListResponse__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ThreadItemsListResponse__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ThreadItemsListResponse__FunctionCallOutputBody" }); + export type V2ThreadListResponse__SessionSource = | "cli" | "vscode" @@ -24433,6 +31489,7 @@ export type V2ThreadListResponse__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2ThreadListResponse__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2ThreadListResponse__MisalignmentErrorDetails | null; }; export const V2ThreadListResponse__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -24440,6 +31497,12 @@ export const V2ThreadListResponse__TurnError = Schema.Struct({ Schema.Union([V2ThreadListResponse__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2ThreadListResponse__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2ThreadListResponse__TurnError" }); export type V2ThreadListResponse__UserInput = @@ -24453,6 +31516,11 @@ export type V2ThreadListResponse__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2ThreadListResponse__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2ThreadListResponse__ImageDetail | null; readonly path: string; @@ -24474,11 +31542,18 @@ export const V2ThreadListResponse__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([V2ThreadListResponse__ImageDetail, Schema.Null])), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadListResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadListResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey(Schema.Union([V2ThreadListResponse__ImageDetail, Schema.Null])), path: Schema.String, @@ -24506,6 +31581,14 @@ export const V2ThreadListResponse__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadListResponse__UserInput" }); +export type V2ThreadListResponse__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ThreadListResponse__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ThreadListResponse__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ThreadListResponse__FunctionCallOutputBody" }); + export type V2ThreadMetadataUpdateResponse__SessionSource = | "cli" | "vscode" @@ -24529,6 +31612,7 @@ export type V2ThreadMetadataUpdateResponse__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2ThreadMetadataUpdateResponse__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2ThreadMetadataUpdateResponse__MisalignmentErrorDetails | null; }; export const V2ThreadMetadataUpdateResponse__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -24536,6 +31620,12 @@ export const V2ThreadMetadataUpdateResponse__TurnError = Schema.Struct({ Schema.Union([V2ThreadMetadataUpdateResponse__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2ThreadMetadataUpdateResponse__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2ThreadMetadataUpdateResponse__TurnError" }); export type V2ThreadMetadataUpdateResponse__UserInput = @@ -24549,6 +31639,11 @@ export type V2ThreadMetadataUpdateResponse__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2ThreadMetadataUpdateResponse__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2ThreadMetadataUpdateResponse__ImageDetail | null; readonly path: string; @@ -24570,13 +31665,22 @@ export const V2ThreadMetadataUpdateResponse__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey( - Schema.Union([V2ThreadMetadataUpdateResponse__ImageDetail, Schema.Null]), - ), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadMetadataUpdateResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadMetadataUpdateResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey( Schema.Union([V2ThreadMetadataUpdateResponse__ImageDetail, Schema.Null]), @@ -24606,6 +31710,14 @@ export const V2ThreadMetadataUpdateResponse__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadMetadataUpdateResponse__UserInput" }); +export type V2ThreadMetadataUpdateResponse__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ThreadMetadataUpdateResponse__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ThreadMetadataUpdateResponse__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ThreadMetadataUpdateResponse__FunctionCallOutputBody" }); + export type V2ThreadReadResponse__SessionSource = | "cli" | "vscode" @@ -24629,6 +31741,7 @@ export type V2ThreadReadResponse__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2ThreadReadResponse__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2ThreadReadResponse__MisalignmentErrorDetails | null; }; export const V2ThreadReadResponse__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -24636,6 +31749,12 @@ export const V2ThreadReadResponse__TurnError = Schema.Struct({ Schema.Union([V2ThreadReadResponse__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2ThreadReadResponse__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2ThreadReadResponse__TurnError" }); export type V2ThreadReadResponse__UserInput = @@ -24649,6 +31768,11 @@ export type V2ThreadReadResponse__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2ThreadReadResponse__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2ThreadReadResponse__ImageDetail | null; readonly path: string; @@ -24670,11 +31794,18 @@ export const V2ThreadReadResponse__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([V2ThreadReadResponse__ImageDetail, Schema.Null])), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadReadResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadReadResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey(Schema.Union([V2ThreadReadResponse__ImageDetail, Schema.Null])), path: Schema.String, @@ -24702,6 +31833,14 @@ export const V2ThreadReadResponse__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadReadResponse__UserInput" }); +export type V2ThreadReadResponse__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ThreadReadResponse__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ThreadReadResponse__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ThreadReadResponse__FunctionCallOutputBody" }); + export type V2ThreadResumeParams__FunctionCallOutputBody = | string | ReadonlyArray; @@ -24710,6 +31849,18 @@ export const V2ThreadResumeParams__FunctionCallOutputBody = Schema.Union([ Schema.Array(V2ThreadResumeParams__FunctionCallOutputContentItem), ]).annotate({ identifier: "V2ThreadResumeParams__FunctionCallOutputBody" }); +export type V2ThreadResumeResponse__CollaborationMode = { + readonly mode: V2ThreadResumeResponse__ModeKind; + readonly settings: V2ThreadResumeResponse__Settings; +}; +export const V2ThreadResumeResponse__CollaborationMode = Schema.Struct({ + mode: V2ThreadResumeResponse__ModeKind, + settings: V2ThreadResumeResponse__Settings, +}).annotate({ + description: "Collaboration mode for a Codex session.", + identifier: "V2ThreadResumeResponse__CollaborationMode", +}); + export type V2ThreadResumeResponse__SessionSource = | "cli" | "vscode" @@ -24733,6 +31884,7 @@ export type V2ThreadResumeResponse__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2ThreadResumeResponse__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2ThreadResumeResponse__MisalignmentErrorDetails | null; }; export const V2ThreadResumeResponse__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -24740,6 +31892,12 @@ export const V2ThreadResumeResponse__TurnError = Schema.Struct({ Schema.Union([V2ThreadResumeResponse__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2ThreadResumeResponse__TurnError" }); export type V2ThreadResumeResponse__UserInput = @@ -24753,6 +31911,11 @@ export type V2ThreadResumeResponse__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2ThreadResumeResponse__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2ThreadResumeResponse__ImageDetail | null; readonly path: string; @@ -24774,11 +31937,22 @@ export const V2ThreadResumeResponse__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([V2ThreadResumeResponse__ImageDetail, Schema.Null])), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey(Schema.Union([V2ThreadResumeResponse__ImageDetail, Schema.Null])), path: Schema.String, @@ -24806,51 +31980,71 @@ export const V2ThreadResumeResponse__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadResumeResponse__UserInput" }); -export type V2ThreadRollbackResponse__SessionSource = +export type V2ThreadResumeResponse__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ThreadResumeResponse__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ThreadResumeResponse__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ThreadResumeResponse__FunctionCallOutputBody" }); + +export type V2ThreadRevertResponse__SessionSource = | "cli" | "vscode" | "exec" | "appServer" | "unknown" | { readonly custom: string } - | { readonly subAgent: V2ThreadRollbackResponse__SubAgentSource }; -export const V2ThreadRollbackResponse__SessionSource = Schema.Union( + | { readonly subAgent: V2ThreadRevertResponse__SubAgentSource }; +export const V2ThreadRevertResponse__SessionSource = Schema.Union( [ Schema.Literals(["cli", "vscode", "exec", "appServer", "unknown"]), Schema.Struct({ custom: Schema.String }).annotate({ title: "CustomSessionSource" }), - Schema.Struct({ subAgent: V2ThreadRollbackResponse__SubAgentSource }).annotate({ + Schema.Struct({ subAgent: V2ThreadRevertResponse__SubAgentSource }).annotate({ title: "SubAgentSessionSource", }), ], { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadRollbackResponse__SessionSource" }); +).annotate({ identifier: "V2ThreadRevertResponse__SessionSource" }); -export type V2ThreadRollbackResponse__TurnError = { +export type V2ThreadRevertResponse__TurnError = { readonly additionalDetails?: string | null; - readonly codexErrorInfo?: V2ThreadRollbackResponse__CodexErrorInfo | null; + readonly codexErrorInfo?: V2ThreadRevertResponse__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2ThreadRevertResponse__MisalignmentErrorDetails | null; }; -export const V2ThreadRollbackResponse__TurnError = Schema.Struct({ +export const V2ThreadRevertResponse__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), codexErrorInfo: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__CodexErrorInfo, Schema.Null]), + Schema.Union([V2ThreadRevertResponse__CodexErrorInfo, Schema.Null]), ), message: Schema.String, -}).annotate({ identifier: "V2ThreadRollbackResponse__TurnError" }); + misalignment: Schema.optionalKey( + Schema.Union([V2ThreadRevertResponse__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), +}).annotate({ identifier: "V2ThreadRevertResponse__TurnError" }); -export type V2ThreadRollbackResponse__UserInput = +export type V2ThreadRevertResponse__UserInput = | { readonly text: string; - readonly text_elements?: ReadonlyArray; + readonly text_elements?: ReadonlyArray; readonly type: "text"; } | { - readonly detail?: V2ThreadRollbackResponse__ImageDetail | null; + readonly detail?: V2ThreadRevertResponse__ImageDetail | null; readonly type: "image"; readonly url: string; } | { - readonly detail?: V2ThreadRollbackResponse__ImageDetail | null; + readonly detail?: V2ThreadRevertResponse__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } + | { + readonly detail?: V2ThreadRevertResponse__ImageDetail | null; readonly path: string; readonly type: "localImage"; } @@ -24858,29 +32052,36 @@ export type V2ThreadRollbackResponse__UserInput = | { readonly path: string; readonly type: "localAudio" } | { readonly name: string; readonly path: string; readonly type: "skill" } | { readonly name: string; readonly path: string; readonly type: "mention" }; -export const V2ThreadRollbackResponse__UserInput = Schema.Union( +export const V2ThreadRevertResponse__UserInput = Schema.Union( [ Schema.Struct({ text: Schema.String, text_elements: Schema.optionalKey( - Schema.Array(V2ThreadRollbackResponse__TextElement).annotate({ + Schema.Array(V2ThreadRevertResponse__TextElement).annotate({ description: "UI-defined spans within `text` used to render or persist special elements.", default: [], }), ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadRevertResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadRevertResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ - detail: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__ImageDetail, Schema.Null]), - ), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__ImageDetail, Schema.Null]), - ), + detail: Schema.optionalKey(Schema.Union([V2ThreadRevertResponse__ImageDetail, Schema.Null])), path: Schema.String, type: Schema.Literal("localImage").annotate({ title: "LocalImageUserInputType" }), }).annotate({ title: "LocalImageUserInput" }), @@ -24904,7 +32105,15 @@ export const V2ThreadRollbackResponse__UserInput = Schema.Union( }).annotate({ title: "MentionUserInput" }), ], { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadRollbackResponse__UserInput" }); +).annotate({ identifier: "V2ThreadRevertResponse__UserInput" }); + +export type V2ThreadRevertResponse__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ThreadRevertResponse__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ThreadRevertResponse__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ThreadRevertResponse__FunctionCallOutputBody" }); export type V2ThreadSettingsUpdatedNotification__CollaborationMode = { readonly mode: V2ThreadSettingsUpdatedNotification__ModeKind; @@ -24941,6 +32150,7 @@ export type V2ThreadStartedNotification__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2ThreadStartedNotification__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2ThreadStartedNotification__MisalignmentErrorDetails | null; }; export const V2ThreadStartedNotification__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -24948,6 +32158,12 @@ export const V2ThreadStartedNotification__TurnError = Schema.Struct({ Schema.Union([V2ThreadStartedNotification__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2ThreadStartedNotification__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2ThreadStartedNotification__TurnError" }); export type V2ThreadStartedNotification__UserInput = @@ -24961,6 +32177,11 @@ export type V2ThreadStartedNotification__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2ThreadStartedNotification__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2ThreadStartedNotification__ImageDetail | null; readonly path: string; @@ -24982,13 +32203,22 @@ export const V2ThreadStartedNotification__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey( - Schema.Union([V2ThreadStartedNotification__ImageDetail, Schema.Null]), - ), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadStartedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadStartedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey( Schema.Union([V2ThreadStartedNotification__ImageDetail, Schema.Null]), @@ -25018,6 +32248,14 @@ export const V2ThreadStartedNotification__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadStartedNotification__UserInput" }); +export type V2ThreadStartedNotification__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ThreadStartedNotification__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ThreadStartedNotification__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ThreadStartedNotification__FunctionCallOutputBody" }); + export type V2ThreadStartResponse__SessionSource = | "cli" | "vscode" @@ -25041,6 +32279,7 @@ export type V2ThreadStartResponse__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2ThreadStartResponse__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2ThreadStartResponse__MisalignmentErrorDetails | null; }; export const V2ThreadStartResponse__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -25048,6 +32287,12 @@ export const V2ThreadStartResponse__TurnError = Schema.Struct({ Schema.Union([V2ThreadStartResponse__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2ThreadStartResponse__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2ThreadStartResponse__TurnError" }); export type V2ThreadStartResponse__UserInput = @@ -25061,6 +32306,11 @@ export type V2ThreadStartResponse__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2ThreadStartResponse__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2ThreadStartResponse__ImageDetail | null; readonly path: string; @@ -25082,11 +32332,18 @@ export const V2ThreadStartResponse__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([V2ThreadStartResponse__ImageDetail, Schema.Null])), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadStartResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2ThreadStartResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey(Schema.Union([V2ThreadStartResponse__ImageDetail, Schema.Null])), path: Schema.String, @@ -25114,6 +32371,124 @@ export const V2ThreadStartResponse__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadStartResponse__UserInput" }); +export type V2ThreadStartResponse__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ThreadStartResponse__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ThreadStartResponse__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ThreadStartResponse__FunctionCallOutputBody" }); + +export type V2ThreadTurnsListResponse__TurnError = { + readonly additionalDetails?: string | null; + readonly codexErrorInfo?: V2ThreadTurnsListResponse__CodexErrorInfo | null; + readonly message: string; + readonly misalignment?: V2ThreadTurnsListResponse__MisalignmentErrorDetails | null; +}; +export const V2ThreadTurnsListResponse__TurnError = Schema.Struct({ + additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + codexErrorInfo: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__CodexErrorInfo, Schema.Null]), + ), + message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), +}).annotate({ identifier: "V2ThreadTurnsListResponse__TurnError" }); + +export type V2ThreadTurnsListResponse__UserInput = + | { + readonly text: string; + readonly text_elements?: ReadonlyArray; + readonly type: "text"; + } + | { + readonly detail?: V2ThreadTurnsListResponse__ImageDetail | null; + readonly type: "image"; + readonly url: string; + } + | { + readonly detail?: V2ThreadTurnsListResponse__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } + | { + readonly detail?: V2ThreadTurnsListResponse__ImageDetail | null; + readonly path: string; + readonly type: "localImage"; + } + | { readonly type: "audio"; readonly url: string } + | { readonly path: string; readonly type: "localAudio" } + | { readonly name: string; readonly path: string; readonly type: "skill" } + | { readonly name: string; readonly path: string; readonly type: "mention" }; +export const V2ThreadTurnsListResponse__UserInput = Schema.Union( + [ + Schema.Struct({ + text: Schema.String, + text_elements: Schema.optionalKey( + Schema.Array(V2ThreadTurnsListResponse__TextElement).annotate({ + description: "UI-defined spans within `text` used to render or persist special elements.", + default: [], + }), + ), + type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), + }).annotate({ title: "TextUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__ImageDetail, Schema.Null]), + ), + path: Schema.String, + type: Schema.Literal("localImage").annotate({ title: "LocalImageUserInputType" }), + }).annotate({ title: "LocalImageUserInput" }), + Schema.Struct({ + type: Schema.Literal("audio").annotate({ title: "AudioUserInputType" }), + url: Schema.String, + }).annotate({ title: "AudioUserInput" }), + Schema.Struct({ + path: Schema.String, + type: Schema.Literal("localAudio").annotate({ title: "LocalAudioUserInputType" }), + }).annotate({ title: "LocalAudioUserInput" }), + Schema.Struct({ + name: Schema.String, + path: Schema.String, + type: Schema.Literal("skill").annotate({ title: "SkillUserInputType" }), + }).annotate({ title: "SkillUserInput" }), + Schema.Struct({ + name: Schema.String, + path: Schema.String, + type: Schema.Literal("mention").annotate({ title: "MentionUserInputType" }), + }).annotate({ title: "MentionUserInput" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadTurnsListResponse__UserInput" }); + +export type V2ThreadTurnsListResponse__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ThreadTurnsListResponse__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ThreadTurnsListResponse__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ThreadTurnsListResponse__FunctionCallOutputBody" }); + export type V2ThreadUnarchiveResponse__SessionSource = | "cli" | "vscode" @@ -25137,6 +32512,7 @@ export type V2ThreadUnarchiveResponse__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2ThreadUnarchiveResponse__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2ThreadUnarchiveResponse__MisalignmentErrorDetails | null; }; export const V2ThreadUnarchiveResponse__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -25144,6 +32520,12 @@ export const V2ThreadUnarchiveResponse__TurnError = Schema.Struct({ Schema.Union([V2ThreadUnarchiveResponse__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2ThreadUnarchiveResponse__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2ThreadUnarchiveResponse__TurnError" }); export type V2ThreadUnarchiveResponse__UserInput = @@ -25157,6 +32539,11 @@ export type V2ThreadUnarchiveResponse__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2ThreadUnarchiveResponse__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2ThreadUnarchiveResponse__ImageDetail | null; readonly path: string; @@ -25178,13 +32565,22 @@ export const V2ThreadUnarchiveResponse__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey( - Schema.Union([V2ThreadUnarchiveResponse__ImageDetail, Schema.Null]), - ), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadUnarchiveResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2ThreadUnarchiveResponse__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey( Schema.Union([V2ThreadUnarchiveResponse__ImageDetail, Schema.Null]), @@ -25214,10 +32610,19 @@ export const V2ThreadUnarchiveResponse__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadUnarchiveResponse__UserInput" }); +export type V2ThreadUnarchiveResponse__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2ThreadUnarchiveResponse__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2ThreadUnarchiveResponse__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2ThreadUnarchiveResponse__FunctionCallOutputBody" }); + export type V2TurnCompletedNotification__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2TurnCompletedNotification__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2TurnCompletedNotification__MisalignmentErrorDetails | null; }; export const V2TurnCompletedNotification__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -25225,6 +32630,12 @@ export const V2TurnCompletedNotification__TurnError = Schema.Struct({ Schema.Union([V2TurnCompletedNotification__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2TurnCompletedNotification__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2TurnCompletedNotification__TurnError" }); export type V2TurnCompletedNotification__UserInput = @@ -25238,6 +32649,11 @@ export type V2TurnCompletedNotification__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2TurnCompletedNotification__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2TurnCompletedNotification__ImageDetail | null; readonly path: string; @@ -25259,13 +32675,22 @@ export const V2TurnCompletedNotification__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey( - Schema.Union([V2TurnCompletedNotification__ImageDetail, Schema.Null]), - ), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2TurnCompletedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2TurnCompletedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey( Schema.Union([V2TurnCompletedNotification__ImageDetail, Schema.Null]), @@ -25295,10 +32720,19 @@ export const V2TurnCompletedNotification__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2TurnCompletedNotification__UserInput" }); +export type V2TurnCompletedNotification__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2TurnCompletedNotification__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2TurnCompletedNotification__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2TurnCompletedNotification__FunctionCallOutputBody" }); + export type V2TurnStartedNotification__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2TurnStartedNotification__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2TurnStartedNotification__MisalignmentErrorDetails | null; }; export const V2TurnStartedNotification__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -25306,6 +32740,12 @@ export const V2TurnStartedNotification__TurnError = Schema.Struct({ Schema.Union([V2TurnStartedNotification__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2TurnStartedNotification__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2TurnStartedNotification__TurnError" }); export type V2TurnStartedNotification__UserInput = @@ -25319,6 +32759,11 @@ export type V2TurnStartedNotification__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2TurnStartedNotification__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2TurnStartedNotification__ImageDetail | null; readonly path: string; @@ -25340,13 +32785,22 @@ export const V2TurnStartedNotification__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey( - Schema.Union([V2TurnStartedNotification__ImageDetail, Schema.Null]), - ), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2TurnStartedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey( + Schema.Union([V2TurnStartedNotification__ImageDetail, Schema.Null]), + ), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey( Schema.Union([V2TurnStartedNotification__ImageDetail, Schema.Null]), @@ -25376,6 +32830,14 @@ export const V2TurnStartedNotification__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2TurnStartedNotification__UserInput" }); +export type V2TurnStartedNotification__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2TurnStartedNotification__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2TurnStartedNotification__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2TurnStartedNotification__FunctionCallOutputBody" }); + export type V2TurnStartParams__UserInput = | { readonly text: string; @@ -25387,6 +32849,11 @@ export type V2TurnStartParams__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2TurnStartParams__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2TurnStartParams__ImageDetail | null; readonly path: string; @@ -25408,11 +32875,18 @@ export const V2TurnStartParams__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([V2TurnStartParams__ImageDetail, Schema.Null])), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2TurnStartParams__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2TurnStartParams__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey(Schema.Union([V2TurnStartParams__ImageDetail, Schema.Null])), path: Schema.String, @@ -25440,10 +32914,19 @@ export const V2TurnStartParams__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2TurnStartParams__UserInput" }); +export type V2TurnStartParams__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2TurnStartParams__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2TurnStartParams__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2TurnStartParams__FunctionCallOutputBody" }); + export type V2TurnStartResponse__TurnError = { readonly additionalDetails?: string | null; readonly codexErrorInfo?: V2TurnStartResponse__CodexErrorInfo | null; readonly message: string; + readonly misalignment?: V2TurnStartResponse__MisalignmentErrorDetails | null; }; export const V2TurnStartResponse__TurnError = Schema.Struct({ additionalDetails: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -25451,6 +32934,12 @@ export const V2TurnStartResponse__TurnError = Schema.Struct({ Schema.Union([V2TurnStartResponse__CodexErrorInfo, Schema.Null]), ), message: Schema.String, + misalignment: Schema.optionalKey( + Schema.Union([V2TurnStartResponse__MisalignmentErrorDetails, Schema.Null]).annotate({ + description: + "Optional public explanation and continuation instruction for a misalignment block.", + }), + ), }).annotate({ identifier: "V2TurnStartResponse__TurnError" }); export type V2TurnStartResponse__UserInput = @@ -25464,6 +32953,11 @@ export type V2TurnStartResponse__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2TurnStartResponse__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2TurnStartResponse__ImageDetail | null; readonly path: string; @@ -25485,11 +32979,18 @@ export const V2TurnStartResponse__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([V2TurnStartResponse__ImageDetail, Schema.Null])), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2TurnStartResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2TurnStartResponse__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey(Schema.Union([V2TurnStartResponse__ImageDetail, Schema.Null])), path: Schema.String, @@ -25517,6 +33018,14 @@ export const V2TurnStartResponse__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2TurnStartResponse__UserInput" }); +export type V2TurnStartResponse__FunctionCallOutputBody = + | string + | ReadonlyArray; +export const V2TurnStartResponse__FunctionCallOutputBody = Schema.Union([ + Schema.String, + Schema.Array(V2TurnStartResponse__FunctionCallOutputContentItem), +]).annotate({ identifier: "V2TurnStartResponse__FunctionCallOutputBody" }); + export type V2TurnSteerParams__UserInput = | { readonly text: string; @@ -25528,6 +33037,11 @@ export type V2TurnSteerParams__UserInput = readonly type: "image"; readonly url: string; } + | { + readonly detail?: V2TurnSteerParams__ImageDetail | null; + readonly type: "image"; + readonly fileId: string; + } | { readonly detail?: V2TurnSteerParams__ImageDetail | null; readonly path: string; @@ -25549,11 +33063,18 @@ export const V2TurnSteerParams__UserInput = Schema.Union( ), type: Schema.Literal("text").annotate({ title: "TextUserInputType" }), }).annotate({ title: "TextUserInput" }), - Schema.Struct({ - detail: Schema.optionalKey(Schema.Union([V2TurnSteerParams__ImageDetail, Schema.Null])), - type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), - url: Schema.String, - }).annotate({ title: "ImageUserInput" }), + Schema.Union([ + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2TurnSteerParams__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + url: Schema.String, + }).annotate({ title: "UrlUserInput" }), + Schema.Struct({ + detail: Schema.optionalKey(Schema.Union([V2TurnSteerParams__ImageDetail, Schema.Null])), + type: Schema.Literal("image").annotate({ title: "ImageUserInputType" }), + fileId: Schema.String, + }).annotate({ title: "FileIdUserInput" }), + ]).annotate({ title: "ImageUserInput" }), Schema.Struct({ detail: Schema.optionalKey(Schema.Union([V2TurnSteerParams__ImageDetail, Schema.Null])), path: Schema.String, @@ -25581,89 +33102,6 @@ export const V2TurnSteerParams__UserInput = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2TurnSteerParams__UserInput" }); -export type ClientRequest__TurnStartParams = { - readonly approvalPolicy?: ClientRequest__AskForApproval | null; - readonly approvalsReviewer?: ClientRequest__ApprovalsReviewer | null; - readonly clientUserMessageId?: string | null; - readonly cwd?: string | null; - readonly effort?: ClientRequest__ReasoningEffort | null; - readonly input: ReadonlyArray; - readonly model?: string | null; - readonly outputSchema?: Schema.Json; - readonly personality?: ClientRequest__Personality | null; - readonly sandboxPolicy?: ClientRequest__SandboxPolicy | null; - readonly serviceTier?: string | null; - readonly summary?: ClientRequest__ReasoningSummary | null; - readonly threadId: string; -}; -export const ClientRequest__TurnStartParams = Schema.Struct({ - approvalPolicy: Schema.optionalKey( - Schema.Union([ClientRequest__AskForApproval, Schema.Null]).annotate({ - description: "Override the approval policy for this turn and subsequent turns.", - }), - ), - approvalsReviewer: Schema.optionalKey( - Schema.Union([ClientRequest__ApprovalsReviewer, Schema.Null]).annotate({ - description: - "Override where approval requests are routed for review on this turn and subsequent turns.", - }), - ), - clientUserMessageId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - cwd: Schema.optionalKey( - Schema.Union([ - Schema.String.annotate({ - description: "Override the working directory for this turn and subsequent turns.", - }), - Schema.Null, - ]), - ), - effort: Schema.optionalKey( - Schema.Union([ClientRequest__ReasoningEffort, Schema.Null]).annotate({ - description: "Override the reasoning effort for this turn and subsequent turns.", - }), - ), - input: Schema.Array(ClientRequest__UserInput), - model: Schema.optionalKey( - Schema.Union([ - Schema.String.annotate({ - description: "Override the model for this turn and subsequent turns.", - }), - Schema.Null, - ]), - ), - outputSchema: Schema.optionalKey( - Schema.Json.annotate({ - expected: "JSON value", - description: - "Optional JSON Schema used to constrain the final assistant message for this turn.", - }), - ), - personality: Schema.optionalKey( - Schema.Union([ClientRequest__Personality, Schema.Null]).annotate({ - description: "Override the personality for this turn and subsequent turns.", - }), - ), - sandboxPolicy: Schema.optionalKey( - Schema.Union([ClientRequest__SandboxPolicy, Schema.Null]).annotate({ - description: "Override the sandbox policy for this turn and subsequent turns.", - }), - ), - serviceTier: Schema.optionalKey( - Schema.Union([ - Schema.String.annotate({ - description: "Override the service tier for this turn and subsequent turns.", - }), - Schema.Null, - ]), - ), - summary: Schema.optionalKey( - Schema.Union([ClientRequest__ReasoningSummary, Schema.Null]).annotate({ - description: "Override the reasoning summary for this turn and subsequent turns.", - }), - ), - threadId: Schema.String, -}).annotate({ identifier: "ClientRequest__TurnStartParams" }); - export type ClientRequest__TurnSteerParams = { readonly clientUserMessageId?: string | null; readonly expectedTurnId: string; @@ -25680,9 +33118,21 @@ export const ClientRequest__TurnSteerParams = Schema.Struct({ threadId: Schema.String, }).annotate({ identifier: "ClientRequest__TurnSteerParams" }); +export type ClientRequest__TurnToolOutput = { + readonly name: string; + readonly namespace?: string | null; + readonly output: ClientRequest__FunctionCallOutputBody; +}; +export const ClientRequest__TurnToolOutput = Schema.Struct({ + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: ClientRequest__FunctionCallOutputBody, +}).annotate({ identifier: "ClientRequest__TurnToolOutput" }); + export type ClientRequest__ExternalAgentConfigImportParams = { readonly migrationItems: ReadonlyArray; readonly migrationSource?: string | null; + readonly providerId?: string | null; readonly source?: string | null; }; export const ClientRequest__ExternalAgentConfigImportParams = Schema.Struct({ @@ -25696,6 +33146,15 @@ export const ClientRequest__ExternalAgentConfigImportParams = Schema.Struct({ Schema.Null, ]), ), + providerId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Opaque provider identifier supplied by the caller for analytics attribution and import history display. This does not select the migration source.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -25706,6 +33165,19 @@ export const ClientRequest__ExternalAgentConfigImportParams = Schema.Struct({ ), }).annotate({ identifier: "ClientRequest__ExternalAgentConfigImportParams" }); +export type ClientRequest__ExternalAgentConfigImportHistoryRecordParams = { + readonly itemTypeResults: ReadonlyArray; + readonly providerId: string; +}; +export const ClientRequest__ExternalAgentConfigImportHistoryRecordParams = Schema.Struct({ + itemTypeResults: Schema.Array( + ClientRequest__ExternalAgentConfigImportHistoryRecordTypeResultParams, + ).annotate({ description: "Completed results grouped by imported item type." }), + providerId: Schema.String.annotate({ + description: "Opaque provider identifier for the externally completed import.", + }), +}).annotate({ identifier: "ClientRequest__ExternalAgentConfigImportHistoryRecordParams" }); + export type CommandExecutionRequestApprovalParams__FileSystemSandboxEntry = { readonly access: CommandExecutionRequestApprovalParams__FileSystemAccessMode; readonly path: CommandExecutionRequestApprovalParams__FileSystemPath; @@ -25756,6 +33228,49 @@ export const ServerNotification__ErrorNotification = Schema.Struct({ willRetry: Schema.Boolean, }).annotate({ identifier: "ServerNotification__ErrorNotification" }); +export type ServerNotification__ThreadSettings = { + readonly activePermissionProfile?: ServerNotification__ActivePermissionProfile | null; + readonly approvalPolicy: ServerNotification__AskForApproval; + readonly approvalsReviewer: ServerNotification__ApprovalsReviewer; + readonly collaborationMode: ServerNotification__CollaborationMode; + readonly cwd: ServerNotification__AbsolutePathBuf; + readonly disabledPluginIds?: ReadonlyArray; + readonly effort?: ServerNotification__ReasoningEffort | null; + readonly model: string; + readonly modelProvider: string; + readonly personality?: ServerNotification__Personality | null; + readonly sandboxPolicy: ServerNotification__SandboxPolicy; + readonly serviceTier?: string | null; + readonly summary?: ServerNotification__ReasoningSummary | null; +}; +export const ServerNotification__ThreadSettings = Schema.Struct({ + activePermissionProfile: Schema.optionalKey( + Schema.Union([ServerNotification__ActivePermissionProfile, Schema.Null]), + ), + approvalPolicy: ServerNotification__AskForApproval, + approvalsReviewer: ServerNotification__ApprovalsReviewer, + collaborationMode: ServerNotification__CollaborationMode, + cwd: ServerNotification__AbsolutePathBuf, + disabledPluginIds: Schema.optionalKey( + Schema.Array(Schema.String).annotate({ + description: "Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.", + default: [], + }), + ), + effort: Schema.optionalKey(Schema.Union([ServerNotification__ReasoningEffort, Schema.Null])), + model: Schema.String, + modelProvider: Schema.String, + personality: Schema.optionalKey( + Schema.Union([ServerNotification__Personality, Schema.Null]).annotate({ + description: + "@deprecated Reports the saved setting; `friendly` and `pragmatic` no longer select a style.", + }), + ), + sandboxPolicy: ServerNotification__SandboxPolicy, + serviceTier: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + summary: Schema.optionalKey(Schema.Union([ServerNotification__ReasoningSummary, Schema.Null])), +}).annotate({ identifier: "ServerNotification__ThreadSettings" }); + export type ServerNotification__ThreadItem = | { readonly clientId?: string | null; @@ -25769,17 +33284,21 @@ export type ServerNotification__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: ServerNotification__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: ServerNotification__MemoryCitation | null; readonly phase?: ServerNotification__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: ServerNotification__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -25795,7 +33314,9 @@ export type ServerNotification__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: ServerNotification__CommandExecutionSource; readonly status: ServerNotification__CommandExecutionStatus; readonly type: "commandExecution"; @@ -25813,7 +33334,9 @@ export type ServerNotification__ThreadItem = readonly error?: ServerNotification__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: ServerNotification__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: ServerNotification__McpToolCallResult | null; readonly server: string; readonly status: ServerNotification__McpToolCallStatus; @@ -25864,11 +33387,13 @@ export type ServerNotification__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: ServerNotification__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: ServerNotification__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -25888,26 +33413,29 @@ export const ServerNotification__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([ServerNotification__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([ServerNotification__MemoryCitation, Schema.Null]), ), phase: Schema.optionalKey(Schema.Union([ServerNotification__MessagePhase, Schema.Null])), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( - Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), - Schema.Null, - ]), + Schema.Union([Schema.Array(ServerNotification__AsyncUserInputQuestion), Schema.Null]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: ServerNotification__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -25960,6 +33488,15 @@ export const ServerNotification__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -25968,6 +33505,15 @@ export const ServerNotification__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -26004,12 +33550,20 @@ export const ServerNotification__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([ServerNotification__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([ServerNotification__McpToolCallResult, Schema.Null]), ), @@ -26131,6 +33685,9 @@ export const ServerNotification__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([ServerNotification__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -26138,6 +33695,7 @@ export const ServerNotification__ThreadItem = Schema.Union( Schema.Union([ServerNotification__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -26173,37 +33731,6 @@ export const ServerNotification__FileSystemSandboxEntry = Schema.Struct({ path: ServerNotification__FileSystemPath, }).annotate({ identifier: "ServerNotification__FileSystemSandboxEntry" }); -export type ServerNotification__ThreadSettings = { - readonly activePermissionProfile?: ServerNotification__ActivePermissionProfile | null; - readonly approvalPolicy: ServerNotification__AskForApproval; - readonly approvalsReviewer: ServerNotification__ApprovalsReviewer; - readonly collaborationMode: ServerNotification__CollaborationMode; - readonly cwd: ServerNotification__AbsolutePathBuf; - readonly effort?: ServerNotification__ReasoningEffort | null; - readonly model: string; - readonly modelProvider: string; - readonly personality?: ServerNotification__Personality | null; - readonly sandboxPolicy: ServerNotification__SandboxPolicy; - readonly serviceTier?: string | null; - readonly summary?: ServerNotification__ReasoningSummary | null; -}; -export const ServerNotification__ThreadSettings = Schema.Struct({ - activePermissionProfile: Schema.optionalKey( - Schema.Union([ServerNotification__ActivePermissionProfile, Schema.Null]), - ), - approvalPolicy: ServerNotification__AskForApproval, - approvalsReviewer: ServerNotification__ApprovalsReviewer, - collaborationMode: ServerNotification__CollaborationMode, - cwd: ServerNotification__AbsolutePathBuf, - effort: Schema.optionalKey(Schema.Union([ServerNotification__ReasoningEffort, Schema.Null])), - model: Schema.String, - modelProvider: Schema.String, - personality: Schema.optionalKey(Schema.Union([ServerNotification__Personality, Schema.Null])), - sandboxPolicy: ServerNotification__SandboxPolicy, - serviceTier: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - summary: Schema.optionalKey(Schema.Union([ServerNotification__ReasoningSummary, Schema.Null])), -}).annotate({ identifier: "ServerNotification__ThreadSettings" }); - export type ServerNotification__HookStartedNotification = { readonly run: ServerNotification__HookRunSummary; readonly threadId: string; @@ -26271,157 +33798,43 @@ export const ServerRequest__McpElicitationMultiSelectEnumSchema = Schema.Union([ ServerRequest__McpElicitationTitledMultiSelectEnumSchema, ]).annotate({ identifier: "ServerRequest__McpElicitationMultiSelectEnumSchema" }); -export type V2ConfigReadResponse__Config = { - readonly analytics?: V2ConfigReadResponse__AnalyticsConfig | null; - readonly approval_policy?: V2ConfigReadResponse__AskForApproval | null; - readonly approvals_reviewer?: V2ConfigReadResponse__ApprovalsReviewer | null; - readonly compact_prompt?: string | null; - readonly desktop?: { readonly [x: string]: Schema.Json } | null; - readonly developer_instructions?: string | null; - readonly forced_chatgpt_workspace_id?: V2ConfigReadResponse__ForcedChatgptWorkspaceIds | null; - readonly forced_login_method?: V2ConfigReadResponse__ForcedLoginMethod | null; - readonly instructions?: string | null; - readonly model?: string | null; - readonly model_auto_compact_token_limit?: number | null; - readonly model_auto_compact_token_limit_scope?: V2ConfigReadResponse__AutoCompactTokenLimitScope | null; - readonly model_context_window?: number | null; - readonly model_provider?: string | null; - readonly model_reasoning_effort?: V2ConfigReadResponse__ReasoningEffort | null; - readonly model_reasoning_summary?: V2ConfigReadResponse__ReasoningSummary | null; - readonly model_verbosity?: V2ConfigReadResponse__Verbosity | null; - readonly review_model?: string | null; - readonly sandbox_mode?: V2ConfigReadResponse__SandboxMode | null; - readonly sandbox_workspace_write?: V2ConfigReadResponse__SandboxWorkspaceWrite | null; - readonly service_tier?: string | null; - readonly tools?: V2ConfigReadResponse__ToolsV2 | null; - readonly web_search?: V2ConfigReadResponse__WebSearchMode | null; -} & { readonly [x: string]: Schema.Json }; -export const V2ConfigReadResponse__Config = Schema.StructWithRest( - Schema.Struct({ - analytics: Schema.optionalKey( - Schema.Union([V2ConfigReadResponse__AnalyticsConfig, Schema.Null]), - ), - approval_policy: Schema.optionalKey( - Schema.Union([V2ConfigReadResponse__AskForApproval, Schema.Null]), - ), - approvals_reviewer: Schema.optionalKey( - Schema.Union([V2ConfigReadResponse__ApprovalsReviewer, Schema.Null]).annotate({ - description: - "[UNSTABLE] Optional default for where approval requests are routed for review.", - }), - ), - compact_prompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - desktop: Schema.optionalKey( - Schema.Union([ - Schema.Record(Schema.String, Schema.Json.annotate({ expected: "JSON value" })), - Schema.Null, - ]), - ), - developer_instructions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - forced_chatgpt_workspace_id: Schema.optionalKey( - Schema.Union([V2ConfigReadResponse__ForcedChatgptWorkspaceIds, Schema.Null]), - ), - forced_login_method: Schema.optionalKey( - Schema.Union([V2ConfigReadResponse__ForcedLoginMethod, Schema.Null]), - ), - instructions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - model: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - model_auto_compact_token_limit: Schema.optionalKey( - Schema.Union([ - Schema.Number.annotate({ format: "int64" }).check( - Schema.isInt().annotate({ expected: "an integer" }), - ), - Schema.Null, - ]), - ), - model_auto_compact_token_limit_scope: Schema.optionalKey( - Schema.Union([V2ConfigReadResponse__AutoCompactTokenLimitScope, Schema.Null]), - ), - model_context_window: Schema.optionalKey( - Schema.Union([ - Schema.Number.annotate({ format: "int64" }).check( - Schema.isInt().annotate({ expected: "an integer" }), - ), - Schema.Null, - ]), - ), - model_provider: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - model_reasoning_effort: Schema.optionalKey( - Schema.Union([V2ConfigReadResponse__ReasoningEffort, Schema.Null]), - ), - model_reasoning_summary: Schema.optionalKey( - Schema.Union([V2ConfigReadResponse__ReasoningSummary, Schema.Null]), - ), - model_verbosity: Schema.optionalKey( - Schema.Union([V2ConfigReadResponse__Verbosity, Schema.Null]), - ), - review_model: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - sandbox_mode: Schema.optionalKey( - Schema.Union([V2ConfigReadResponse__SandboxMode, Schema.Null]), - ), - sandbox_workspace_write: Schema.optionalKey( - Schema.Union([V2ConfigReadResponse__SandboxWorkspaceWrite, Schema.Null]), - ), - service_tier: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - tools: Schema.optionalKey(Schema.Union([V2ConfigReadResponse__ToolsV2, Schema.Null])), - web_search: Schema.optionalKey( - Schema.Union([V2ConfigReadResponse__WebSearchMode, Schema.Null]), - ), - }), - [Schema.Record(Schema.String, Schema.Json.annotate({ expected: "JSON value" }))], -).annotate({ identifier: "V2ConfigReadResponse__Config" }); +export type V2ConfigReadResponse__ComputerUseConfig = { + readonly default_app_access?: V2ConfigReadResponse__AllowDenyRequirement | null; + readonly macos?: V2ConfigReadResponse__ComputerUseMacosConfig | null; + readonly windows?: V2ConfigReadResponse__ComputerUseWindowsConfig | null; +}; +export const V2ConfigReadResponse__ComputerUseConfig = Schema.Struct({ + default_app_access: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__AllowDenyRequirement, Schema.Null]), + ), + macos: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__ComputerUseMacosConfig, Schema.Null]), + ), + windows: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__ComputerUseWindowsConfig, Schema.Null]), + ), +}).annotate({ identifier: "V2ConfigReadResponse__ComputerUseConfig" }); -export type V2ConfigRequirementsReadResponse__ConfigRequirements = { - readonly allowAppshots?: boolean | null; - readonly allowManagedHooksOnly?: boolean | null; - readonly allowRemoteControl?: boolean | null; - readonly allowedApprovalPolicies?: ReadonlyArray | null; - readonly allowedPermissionProfiles?: { readonly [x: string]: boolean } | null; - readonly allowedSandboxModes?: ReadonlyArray | null; - readonly allowedWebSearchModes?: ReadonlyArray | null; - readonly allowedWindowsSandboxImplementations?: ReadonlyArray | null; - readonly computerUse?: V2ConfigRequirementsReadResponse__ComputerUseRequirements | null; - readonly defaultPermissions?: string | null; - readonly enforceResidency?: V2ConfigRequirementsReadResponse__ResidencyRequirement | null; - readonly featureRequirements?: { readonly [x: string]: boolean } | null; - readonly models?: V2ConfigRequirementsReadResponse__ModelsRequirements | null; +export type V2ConfigRequirementsReadResponse__ComputerUseRequirements = { + readonly allowLockedComputerUse?: boolean | null; + readonly allowPersistentApproval?: boolean | null; + readonly defaultAppAccess?: V2ConfigRequirementsReadResponse__AllowDenyRequirement | null; + readonly macos?: V2ConfigRequirementsReadResponse__ComputerUseMacosRequirements | null; + readonly windows?: V2ConfigRequirementsReadResponse__ComputerUseWindowsRequirements | null; }; -export const V2ConfigRequirementsReadResponse__ConfigRequirements = Schema.Struct({ - allowAppshots: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), - allowManagedHooksOnly: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), - allowRemoteControl: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), - allowedApprovalPolicies: Schema.optionalKey( - Schema.Union([Schema.Array(V2ConfigRequirementsReadResponse__AskForApproval), Schema.Null]), +export const V2ConfigRequirementsReadResponse__ComputerUseRequirements = Schema.Struct({ + allowLockedComputerUse: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + allowPersistentApproval: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + defaultAppAccess: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__AllowDenyRequirement, Schema.Null]), ), - allowedPermissionProfiles: Schema.optionalKey( - Schema.Union([Schema.Record(Schema.String, Schema.Boolean), Schema.Null]), + macos: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__ComputerUseMacosRequirements, Schema.Null]), ), - allowedSandboxModes: Schema.optionalKey( - Schema.Union([Schema.Array(V2ConfigRequirementsReadResponse__SandboxMode), Schema.Null]), + windows: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__ComputerUseWindowsRequirements, Schema.Null]), ), - allowedWebSearchModes: Schema.optionalKey( - Schema.Union([Schema.Array(V2ConfigRequirementsReadResponse__WebSearchMode), Schema.Null]), - ), - allowedWindowsSandboxImplementations: Schema.optionalKey( - Schema.Union([ - Schema.Array(V2ConfigRequirementsReadResponse__WindowsSandboxSetupMode), - Schema.Null, - ]), - ), - computerUse: Schema.optionalKey( - Schema.Union([V2ConfigRequirementsReadResponse__ComputerUseRequirements, Schema.Null]), - ), - defaultPermissions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - enforceResidency: Schema.optionalKey( - Schema.Union([V2ConfigRequirementsReadResponse__ResidencyRequirement, Schema.Null]), - ), - featureRequirements: Schema.optionalKey( - Schema.Union([Schema.Record(Schema.String, Schema.Boolean), Schema.Null]), - ), - models: Schema.optionalKey( - Schema.Union([V2ConfigRequirementsReadResponse__ModelsRequirements, Schema.Null]), - ), -}).annotate({ identifier: "V2ConfigRequirementsReadResponse__ConfigRequirements" }); +}).annotate({ identifier: "V2ConfigRequirementsReadResponse__ComputerUseRequirements" }); export type V2ConfigWriteResponse__OverriddenMetadata = { readonly effectiveValue: Schema.Json; @@ -26447,17 +33860,21 @@ export type V2ItemCompletedNotification__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2ItemCompletedNotification__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2ItemCompletedNotification__MemoryCitation | null; readonly phase?: V2ItemCompletedNotification__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ItemCompletedNotification__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -26473,7 +33890,9 @@ export type V2ItemCompletedNotification__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2ItemCompletedNotification__CommandExecutionSource; readonly status: V2ItemCompletedNotification__CommandExecutionStatus; readonly type: "commandExecution"; @@ -26491,7 +33910,9 @@ export type V2ItemCompletedNotification__ThreadItem = readonly error?: V2ItemCompletedNotification__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ItemCompletedNotification__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2ItemCompletedNotification__McpToolCallResult | null; readonly server: string; readonly status: V2ItemCompletedNotification__McpToolCallStatus; @@ -26544,11 +33965,13 @@ export type V2ItemCompletedNotification__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2ItemCompletedNotification__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2ItemCompletedNotification__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -26568,6 +33991,9 @@ export const V2ItemCompletedNotification__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ItemCompletedNotification__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2ItemCompletedNotification__MemoryCitation, Schema.Null]), @@ -26575,21 +34001,24 @@ export const V2ItemCompletedNotification__ThreadItem = Schema.Union( phase: Schema.optionalKey( Schema.Union([V2ItemCompletedNotification__MessagePhase, Schema.Null]), ), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), + Schema.Array(V2ItemCompletedNotification__AsyncUserInputQuestion), Schema.Null, ]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ItemCompletedNotification__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -26642,6 +34071,15 @@ export const V2ItemCompletedNotification__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -26650,6 +34088,15 @@ export const V2ItemCompletedNotification__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -26688,12 +34135,20 @@ export const V2ItemCompletedNotification__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ItemCompletedNotification__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2ItemCompletedNotification__McpToolCallResult, Schema.Null]), ), @@ -26818,6 +34273,9 @@ export const V2ItemCompletedNotification__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ItemCompletedNotification__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -26825,6 +34283,7 @@ export const V2ItemCompletedNotification__ThreadItem = Schema.Union( Schema.Union([V2ItemCompletedNotification__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -26888,17 +34347,21 @@ export type V2ItemStartedNotification__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2ItemStartedNotification__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2ItemStartedNotification__MemoryCitation | null; readonly phase?: V2ItemStartedNotification__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ItemStartedNotification__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -26914,7 +34377,9 @@ export type V2ItemStartedNotification__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2ItemStartedNotification__CommandExecutionSource; readonly status: V2ItemStartedNotification__CommandExecutionStatus; readonly type: "commandExecution"; @@ -26932,7 +34397,9 @@ export type V2ItemStartedNotification__ThreadItem = readonly error?: V2ItemStartedNotification__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ItemStartedNotification__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2ItemStartedNotification__McpToolCallResult | null; readonly server: string; readonly status: V2ItemStartedNotification__McpToolCallStatus; @@ -26983,11 +34450,13 @@ export type V2ItemStartedNotification__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2ItemStartedNotification__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2ItemStartedNotification__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -27007,6 +34476,9 @@ export const V2ItemStartedNotification__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ItemStartedNotification__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2ItemStartedNotification__MemoryCitation, Schema.Null]), @@ -27014,21 +34486,24 @@ export const V2ItemStartedNotification__ThreadItem = Schema.Union( phase: Schema.optionalKey( Schema.Union([V2ItemStartedNotification__MessagePhase, Schema.Null]), ), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), + Schema.Array(V2ItemStartedNotification__AsyncUserInputQuestion), Schema.Null, ]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ItemStartedNotification__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -27081,6 +34556,15 @@ export const V2ItemStartedNotification__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -27089,6 +34573,15 @@ export const V2ItemStartedNotification__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -27127,12 +34620,20 @@ export const V2ItemStartedNotification__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ItemStartedNotification__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2ItemStartedNotification__McpToolCallResult, Schema.Null]), ), @@ -27257,6 +34758,9 @@ export const V2ItemStartedNotification__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ItemStartedNotification__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -27264,6 +34768,7 @@ export const V2ItemStartedNotification__ThreadItem = Schema.Union( Schema.Union([V2ItemStartedNotification__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -27293,11 +34798,14 @@ export const V2ItemStartedNotification__ThreadItem = Schema.Union( export type V2PluginInstalledResponse__PluginSummary = { readonly authPolicy: V2PluginInstalledResponse__PluginAuthPolicy; readonly availability?: V2PluginInstalledResponse__PluginAvailability; + readonly disabledReason?: V2PluginInstalledResponse__PluginDisabledReason | null; + readonly eligiblePlanTypes?: ReadonlyArray | null; readonly enabled: boolean; readonly id: string; readonly installPolicy: V2PluginInstalledResponse__PluginInstallPolicy; readonly installPolicySource?: V2PluginInstalledResponse__PluginInstallPolicySource | null; readonly installed: boolean; + readonly installedAt?: number | null; readonly interface?: V2PluginInstalledResponse__PluginInterface | null; readonly keywords?: ReadonlyArray; readonly localVersion?: string | null; @@ -27319,6 +34827,19 @@ export const V2PluginInstalledResponse__PluginSummary = Schema.Struct({ default: "AVAILABLE", }), ), + disabledReason: Schema.optionalKey( + Schema.Union([V2PluginInstalledResponse__PluginDisabledReason, Schema.Null]).annotate({ + description: "Why the remote plugin is unavailable, when provided by plugin-service.", + }), + ), + eligiblePlanTypes: Schema.optionalKey( + Schema.Union([ + Schema.Array(Schema.String).annotate({ + description: "Raw plugin-service plan identifiers eligible to install the plugin.", + }), + Schema.Null, + ]), + ), enabled: Schema.Boolean, id: Schema.String, installPolicy: V2PluginInstalledResponse__PluginInstallPolicy, @@ -27326,6 +34847,16 @@ export const V2PluginInstalledResponse__PluginSummary = Schema.Struct({ Schema.Union([V2PluginInstalledResponse__PluginInstallPolicySource, Schema.Null]), ), installed: Schema.Boolean, + installedAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Unix timestamp in seconds when the remote plugin was installed, when available.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), interface: Schema.optionalKey( Schema.Union([V2PluginInstalledResponse__PluginInterface, Schema.Null]), ), @@ -27365,11 +34896,14 @@ export const V2PluginInstalledResponse__PluginSummary = Schema.Struct({ export type V2PluginListResponse__PluginSummary = { readonly authPolicy: V2PluginListResponse__PluginAuthPolicy; readonly availability?: V2PluginListResponse__PluginAvailability; + readonly disabledReason?: V2PluginListResponse__PluginDisabledReason | null; + readonly eligiblePlanTypes?: ReadonlyArray | null; readonly enabled: boolean; readonly id: string; readonly installPolicy: V2PluginListResponse__PluginInstallPolicy; readonly installPolicySource?: V2PluginListResponse__PluginInstallPolicySource | null; readonly installed: boolean; + readonly installedAt?: number | null; readonly interface?: V2PluginListResponse__PluginInterface | null; readonly keywords?: ReadonlyArray; readonly localVersion?: string | null; @@ -27391,6 +34925,19 @@ export const V2PluginListResponse__PluginSummary = Schema.Struct({ default: "AVAILABLE", }), ), + disabledReason: Schema.optionalKey( + Schema.Union([V2PluginListResponse__PluginDisabledReason, Schema.Null]).annotate({ + description: "Why the remote plugin is unavailable, when provided by plugin-service.", + }), + ), + eligiblePlanTypes: Schema.optionalKey( + Schema.Union([ + Schema.Array(Schema.String).annotate({ + description: "Raw plugin-service plan identifiers eligible to install the plugin.", + }), + Schema.Null, + ]), + ), enabled: Schema.Boolean, id: Schema.String, installPolicy: V2PluginListResponse__PluginInstallPolicy, @@ -27398,6 +34945,16 @@ export const V2PluginListResponse__PluginSummary = Schema.Struct({ Schema.Union([V2PluginListResponse__PluginInstallPolicySource, Schema.Null]), ), installed: Schema.Boolean, + installedAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Unix timestamp in seconds when the remote plugin was installed, when available.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), interface: Schema.optionalKey(Schema.Union([V2PluginListResponse__PluginInterface, Schema.Null])), keywords: Schema.optionalKey(Schema.Array(Schema.String).annotate({ default: [] })), localVersion: Schema.optionalKey( @@ -27435,11 +34992,14 @@ export const V2PluginListResponse__PluginSummary = Schema.Struct({ export type V2PluginReadResponse__PluginSummary = { readonly authPolicy: V2PluginReadResponse__PluginAuthPolicy; readonly availability?: V2PluginReadResponse__PluginAvailability; + readonly disabledReason?: V2PluginReadResponse__PluginDisabledReason | null; + readonly eligiblePlanTypes?: ReadonlyArray | null; readonly enabled: boolean; readonly id: string; readonly installPolicy: V2PluginReadResponse__PluginInstallPolicy; readonly installPolicySource?: V2PluginReadResponse__PluginInstallPolicySource | null; readonly installed: boolean; + readonly installedAt?: number | null; readonly interface?: V2PluginReadResponse__PluginInterface | null; readonly keywords?: ReadonlyArray; readonly localVersion?: string | null; @@ -27461,6 +35021,19 @@ export const V2PluginReadResponse__PluginSummary = Schema.Struct({ default: "AVAILABLE", }), ), + disabledReason: Schema.optionalKey( + Schema.Union([V2PluginReadResponse__PluginDisabledReason, Schema.Null]).annotate({ + description: "Why the remote plugin is unavailable, when provided by plugin-service.", + }), + ), + eligiblePlanTypes: Schema.optionalKey( + Schema.Union([ + Schema.Array(Schema.String).annotate({ + description: "Raw plugin-service plan identifiers eligible to install the plugin.", + }), + Schema.Null, + ]), + ), enabled: Schema.Boolean, id: Schema.String, installPolicy: V2PluginReadResponse__PluginInstallPolicy, @@ -27468,6 +35041,16 @@ export const V2PluginReadResponse__PluginSummary = Schema.Struct({ Schema.Union([V2PluginReadResponse__PluginInstallPolicySource, Schema.Null]), ), installed: Schema.Boolean, + installedAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Unix timestamp in seconds when the remote plugin was installed, when available.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), interface: Schema.optionalKey(Schema.Union([V2PluginReadResponse__PluginInterface, Schema.Null])), keywords: Schema.optionalKey(Schema.Array(Schema.String).annotate({ default: [] })), localVersion: Schema.optionalKey( @@ -27505,11 +35088,14 @@ export const V2PluginReadResponse__PluginSummary = Schema.Struct({ export type V2PluginShareListResponse__PluginSummary = { readonly authPolicy: V2PluginShareListResponse__PluginAuthPolicy; readonly availability?: V2PluginShareListResponse__PluginAvailability; + readonly disabledReason?: V2PluginShareListResponse__PluginDisabledReason | null; + readonly eligiblePlanTypes?: ReadonlyArray | null; readonly enabled: boolean; readonly id: string; readonly installPolicy: V2PluginShareListResponse__PluginInstallPolicy; readonly installPolicySource?: V2PluginShareListResponse__PluginInstallPolicySource | null; readonly installed: boolean; + readonly installedAt?: number | null; readonly interface?: V2PluginShareListResponse__PluginInterface | null; readonly keywords?: ReadonlyArray; readonly localVersion?: string | null; @@ -27531,6 +35117,19 @@ export const V2PluginShareListResponse__PluginSummary = Schema.Struct({ default: "AVAILABLE", }), ), + disabledReason: Schema.optionalKey( + Schema.Union([V2PluginShareListResponse__PluginDisabledReason, Schema.Null]).annotate({ + description: "Why the remote plugin is unavailable, when provided by plugin-service.", + }), + ), + eligiblePlanTypes: Schema.optionalKey( + Schema.Union([ + Schema.Array(Schema.String).annotate({ + description: "Raw plugin-service plan identifiers eligible to install the plugin.", + }), + Schema.Null, + ]), + ), enabled: Schema.Boolean, id: Schema.String, installPolicy: V2PluginShareListResponse__PluginInstallPolicy, @@ -27538,6 +35137,16 @@ export const V2PluginShareListResponse__PluginSummary = Schema.Struct({ Schema.Union([V2PluginShareListResponse__PluginInstallPolicySource, Schema.Null]), ), installed: Schema.Boolean, + installedAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Unix timestamp in seconds when the remote plugin was installed, when available.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), interface: Schema.optionalKey( Schema.Union([V2PluginShareListResponse__PluginInterface, Schema.Null]), ), @@ -27610,6 +35219,7 @@ export type V2RawResponseItemCompletedNotification__ResponseItem = | { readonly arguments: string; readonly call_id: string; + readonly encrypted_function_args?: ReadonlyArray | null; readonly id?: string | null; readonly internal_chat_message_metadata_passthrough?: V2RawResponseItemCompletedNotification__InternalChatMessageMetadataPassthrough | null; readonly name: string; @@ -27626,9 +35236,11 @@ export type V2RawResponseItemCompletedNotification__ResponseItem = readonly type: "tool_search_call"; } | { - readonly call_id: string; + readonly call_id?: string | null; readonly id?: string | null; readonly internal_chat_message_metadata_passthrough?: V2RawResponseItemCompletedNotification__InternalChatMessageMetadataPassthrough | null; + readonly name?: string | null; + readonly namespace?: string | null; readonly output: V2RawResponseItemCompletedNotification__FunctionCallOutputBody; readonly type: "function_call_output"; } @@ -27680,6 +35292,10 @@ export type V2RawResponseItemCompletedNotification__ResponseItem = readonly internal_chat_message_metadata_passthrough?: V2RawResponseItemCompletedNotification__InternalChatMessageMetadataPassthrough | null; readonly type: "compaction"; } + | { + readonly reasoning: V2RawResponseItemCompletedNotification__ConfigurationReasoning; + readonly type: "configuration_update"; + } | { readonly type: "compaction_trigger" } | { readonly encrypted_content?: string | null; @@ -27766,6 +35382,9 @@ export const V2RawResponseItemCompletedNotification__ResponseItem = Schema.Union Schema.Struct({ arguments: Schema.String, call_id: Schema.String, + encrypted_function_args: Schema.optionalKey( + Schema.Union([Schema.Array(Schema.String), Schema.Null]), + ), id: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), internal_chat_message_metadata_passthrough: Schema.optionalKey( Schema.Union([ @@ -27794,7 +35413,7 @@ export const V2RawResponseItemCompletedNotification__ResponseItem = Schema.Union }), }).annotate({ title: "ToolSearchCallResponseItem" }), Schema.Struct({ - call_id: Schema.String, + call_id: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), id: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), internal_chat_message_metadata_passthrough: Schema.optionalKey( Schema.Union([ @@ -27802,6 +35421,8 @@ export const V2RawResponseItemCompletedNotification__ResponseItem = Schema.Union Schema.Null, ]), ), + name: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), output: V2RawResponseItemCompletedNotification__FunctionCallOutputBody, type: Schema.Literal("function_call_output").annotate({ title: "FunctionCallOutputResponseItemType", @@ -27898,6 +35519,15 @@ export const V2RawResponseItemCompletedNotification__ResponseItem = Schema.Union ), type: Schema.Literal("compaction").annotate({ title: "CompactionResponseItemType" }), }).annotate({ title: "CompactionResponseItem" }), + Schema.Struct({ + reasoning: V2RawResponseItemCompletedNotification__ConfigurationReasoning, + type: Schema.Literal("configuration_update").annotate({ + title: "ConfigurationUpdateResponseItemType", + }), + }).annotate({ + title: "ConfigurationUpdateResponseItem", + description: "A durable input control interpreted by the backend at its position in history.", + }), Schema.Struct({ type: Schema.Literal("compaction_trigger").annotate({ title: "CompactionTriggerResponseItemType", @@ -27936,17 +35566,21 @@ export type V2ReviewStartResponse__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2ReviewStartResponse__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2ReviewStartResponse__MemoryCitation | null; readonly phase?: V2ReviewStartResponse__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ReviewStartResponse__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -27962,7 +35596,9 @@ export type V2ReviewStartResponse__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2ReviewStartResponse__CommandExecutionSource; readonly status: V2ReviewStartResponse__CommandExecutionStatus; readonly type: "commandExecution"; @@ -27980,7 +35616,9 @@ export type V2ReviewStartResponse__ThreadItem = readonly error?: V2ReviewStartResponse__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ReviewStartResponse__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2ReviewStartResponse__McpToolCallResult | null; readonly server: string; readonly status: V2ReviewStartResponse__McpToolCallStatus; @@ -28031,11 +35669,13 @@ export type V2ReviewStartResponse__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2ReviewStartResponse__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2ReviewStartResponse__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -28055,26 +35695,29 @@ export const V2ReviewStartResponse__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ReviewStartResponse__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2ReviewStartResponse__MemoryCitation, Schema.Null]), ), phase: Schema.optionalKey(Schema.Union([V2ReviewStartResponse__MessagePhase, Schema.Null])), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( - Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), - Schema.Null, - ]), + Schema.Union([Schema.Array(V2ReviewStartResponse__AsyncUserInputQuestion), Schema.Null]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ReviewStartResponse__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -28127,6 +35770,15 @@ export const V2ReviewStartResponse__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -28135,6 +35787,15 @@ export const V2ReviewStartResponse__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -28173,12 +35834,20 @@ export const V2ReviewStartResponse__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ReviewStartResponse__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2ReviewStartResponse__McpToolCallResult, Schema.Null]), ), @@ -28302,6 +35971,9 @@ export const V2ReviewStartResponse__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ReviewStartResponse__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -28309,6 +35981,7 @@ export const V2ReviewStartResponse__ThreadItem = Schema.Union( Schema.Union([V2ReviewStartResponse__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -28359,17 +36032,21 @@ export type V2ThreadForkResponse__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2ThreadForkResponse__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2ThreadForkResponse__MemoryCitation | null; readonly phase?: V2ThreadForkResponse__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ThreadForkResponse__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -28385,7 +36062,9 @@ export type V2ThreadForkResponse__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2ThreadForkResponse__CommandExecutionSource; readonly status: V2ThreadForkResponse__CommandExecutionStatus; readonly type: "commandExecution"; @@ -28403,7 +36082,9 @@ export type V2ThreadForkResponse__ThreadItem = readonly error?: V2ThreadForkResponse__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ThreadForkResponse__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2ThreadForkResponse__McpToolCallResult | null; readonly server: string; readonly status: V2ThreadForkResponse__McpToolCallStatus; @@ -28454,11 +36135,13 @@ export type V2ThreadForkResponse__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2ThreadForkResponse__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2ThreadForkResponse__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -28478,26 +36161,29 @@ export const V2ThreadForkResponse__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ThreadForkResponse__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2ThreadForkResponse__MemoryCitation, Schema.Null]), ), phase: Schema.optionalKey(Schema.Union([V2ThreadForkResponse__MessagePhase, Schema.Null])), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( - Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), - Schema.Null, - ]), + Schema.Union([Schema.Array(V2ThreadForkResponse__AsyncUserInputQuestion), Schema.Null]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ThreadForkResponse__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -28550,6 +36236,15 @@ export const V2ThreadForkResponse__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -28558,6 +36253,15 @@ export const V2ThreadForkResponse__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -28596,12 +36300,20 @@ export const V2ThreadForkResponse__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ThreadForkResponse__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2ThreadForkResponse__McpToolCallResult, Schema.Null]), ), @@ -28725,6 +36437,9 @@ export const V2ThreadForkResponse__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ThreadForkResponse__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -28732,6 +36447,7 @@ export const V2ThreadForkResponse__ThreadItem = Schema.Union( Schema.Union([V2ThreadForkResponse__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -28758,6 +36474,467 @@ export const V2ThreadForkResponse__ThreadItem = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadForkResponse__ThreadItem" }); +export type V2ThreadItemsListResponse__ThreadItem = + | { + readonly clientId?: string | null; + readonly content: ReadonlyArray; + readonly id: string; + readonly type: "userMessage"; + } + | { + readonly fragments: ReadonlyArray; + readonly id: string; + readonly type: "hookPrompt"; + } + | { + readonly delivery?: V2ThreadItemsListResponse__AgentMessageDelivery | null; + readonly id: string; + readonly memoryCitation?: V2ThreadItemsListResponse__MemoryCitation | null; + readonly phase?: V2ThreadItemsListResponse__MessagePhase | null; + readonly questions?: ReadonlyArray | null; + readonly text: string; + readonly type: "agentMessage"; + } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ThreadItemsListResponse__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } + | { readonly id: string; readonly text: string; readonly type: "plan" } + | { + readonly content?: ReadonlyArray; + readonly id: string; + readonly summary?: ReadonlyArray; + readonly type: "reasoning"; + } + | { + readonly aggregatedOutput?: string | null; + readonly command: string; + readonly commandActions: ReadonlyArray; + readonly cwd: V2ThreadItemsListResponse__LegacyAppPathString; + readonly durationMs?: number | null; + readonly exitCode?: number | null; + readonly id: string; + readonly pluginId?: string | null; + readonly processId?: string | null; + readonly scriptPath?: string | null; + readonly source?: V2ThreadItemsListResponse__CommandExecutionSource; + readonly status: V2ThreadItemsListResponse__CommandExecutionStatus; + readonly type: "commandExecution"; + } + | { + readonly changes: ReadonlyArray; + readonly id: string; + readonly status: V2ThreadItemsListResponse__PatchApplyStatus; + readonly type: "fileChange"; + } + | { + readonly appContext?: V2ThreadItemsListResponse__McpToolCallAppContext | null; + readonly arguments: Schema.Json; + readonly durationMs?: number | null; + readonly error?: V2ThreadItemsListResponse__McpToolCallError | null; + readonly id: string; + readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ThreadItemsListResponse__McpAppUi | null; + readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; + readonly result?: V2ThreadItemsListResponse__McpToolCallResult | null; + readonly server: string; + readonly status: V2ThreadItemsListResponse__McpToolCallStatus; + readonly tool: string; + readonly type: "mcpToolCall"; + } + | { + readonly arguments: Schema.Json; + readonly contentItems?: ReadonlyArray | null; + readonly durationMs?: number | null; + readonly id: string; + readonly namespace?: string | null; + readonly status: V2ThreadItemsListResponse__DynamicToolCallStatus; + readonly success?: boolean | null; + readonly tool: string; + readonly type: "dynamicToolCall"; + } + | { + readonly agentsStates: { readonly [x: string]: V2ThreadItemsListResponse__CollabAgentState }; + readonly id: string; + readonly model?: string | null; + readonly prompt?: string | null; + readonly reasoningEffort?: V2ThreadItemsListResponse__ReasoningEffort | null; + readonly receiverThreadIds: ReadonlyArray; + readonly senderThreadId: string; + readonly status: V2ThreadItemsListResponse__CollabAgentToolCallStatus; + readonly tool: V2ThreadItemsListResponse__CollabAgentTool; + readonly type: "collabAgentToolCall"; + } + | { + readonly agentPath: string; + readonly agentThreadId: string; + readonly id: string; + readonly kind: V2ThreadItemsListResponse__SubAgentActivityKind; + readonly type: "subAgentActivity"; + } + | { + readonly action?: V2ThreadItemsListResponse__WebSearchAction | null; + readonly id: string; + readonly query: string; + readonly results?: ReadonlyArray | null; + readonly type: "webSearch"; + } + | { + readonly id: string; + readonly path: V2ThreadItemsListResponse__LegacyAppPathString; + readonly type: "imageView"; + } + | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } + | { + readonly failure?: V2ThreadItemsListResponse__ImageGenerationFailure | null; + readonly id: string; + readonly result: string; + readonly revisedPrompt?: string | null; + readonly savedPath?: V2ThreadItemsListResponse__AbsolutePathBuf | null; + readonly status: string; + readonly transparentBackground?: boolean | null; + readonly type: "imageGeneration"; + } + | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } + | { readonly id: string; readonly review: string; readonly type: "exitedReviewMode" } + | { readonly id: string; readonly type: "contextCompaction" }; +export const V2ThreadItemsListResponse__ThreadItem = Schema.Union( + [ + Schema.Struct({ + clientId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + content: Schema.Array(V2ThreadItemsListResponse__UserInput), + id: Schema.String, + type: Schema.Literal("userMessage").annotate({ title: "UserMessageThreadItemType" }), + }).annotate({ title: "UserMessageThreadItem" }), + Schema.Struct({ + fragments: Schema.Array(V2ThreadItemsListResponse__HookPromptFragment), + id: Schema.String, + type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), + }).annotate({ title: "HookPromptThreadItem" }), + Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__AgentMessageDelivery, Schema.Null]), + ), + id: Schema.String, + memoryCitation: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__MemoryCitation, Schema.Null]), + ), + phase: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__MessagePhase, Schema.Null]), + ), + questions: Schema.optionalKey( + Schema.Union([ + Schema.Array(V2ThreadItemsListResponse__AsyncUserInputQuestion), + Schema.Null, + ]), + ), + text: Schema.String, + type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), + }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ThreadItemsListResponse__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), + Schema.Struct({ + id: Schema.String, + text: Schema.String, + type: Schema.Literal("plan").annotate({ title: "PlanThreadItemType" }), + }).annotate({ + title: "PlanThreadItem", + description: + "EXPERIMENTAL - proposed plan item content. The completed plan item is authoritative and may not match the concatenation of `PlanDelta` text.", + }), + Schema.Struct({ + content: Schema.optionalKey(Schema.Array(Schema.String).annotate({ default: [] })), + id: Schema.String, + summary: Schema.optionalKey(Schema.Array(Schema.String).annotate({ default: [] })), + type: Schema.Literal("reasoning").annotate({ title: "ReasoningThreadItemType" }), + }).annotate({ title: "ReasoningThreadItem" }), + Schema.Struct({ + aggregatedOutput: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "The command's output, aggregated from stdout and stderr.", + }), + Schema.Null, + ]), + ), + command: Schema.String.annotate({ description: "The command to be executed." }), + commandActions: Schema.Array(V2ThreadItemsListResponse__CommandAction).annotate({ + description: + "A best-effort parsing of the command to understand the action(s) it will perform. This returns a list of CommandAction objects because a single shell command may be composed of many commands piped together.", + }), + cwd: Schema.suspend( + (): Schema.Codec => + V2ThreadItemsListResponse__LegacyAppPathString, + ).annotate({ description: "The command's working directory." }), + durationMs: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "The duration of the command execution in milliseconds.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), + exitCode: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "The command's exit code.", + format: "int32", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), + id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), + processId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Identifier for the underlying PTY process (when available).", + }), + Schema.Null, + ]), + ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), + source: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + V2ThreadItemsListResponse__CommandExecutionSource, + ).annotate({ default: "agent" }), + ), + status: V2ThreadItemsListResponse__CommandExecutionStatus, + type: Schema.Literal("commandExecution").annotate({ + title: "CommandExecutionThreadItemType", + }), + }).annotate({ title: "CommandExecutionThreadItem" }), + Schema.Struct({ + changes: Schema.Array(V2ThreadItemsListResponse__FileUpdateChange), + id: Schema.String, + status: V2ThreadItemsListResponse__PatchApplyStatus, + type: Schema.Literal("fileChange").annotate({ title: "FileChangeThreadItemType" }), + }).annotate({ title: "FileChangeThreadItem" }), + Schema.Struct({ + appContext: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__McpToolCallAppContext, Schema.Null]), + ), + arguments: Schema.Json.annotate({ expected: "JSON value" }), + durationMs: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "The duration of the MCP tool call in milliseconds.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), + error: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__McpToolCallError, Schema.Null]), + ), + id: Schema.String, + mcpAppResourceUri: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", + }), + Schema.Null, + ]), + ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), + pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + result: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__McpToolCallResult, Schema.Null]), + ), + server: Schema.String, + status: V2ThreadItemsListResponse__McpToolCallStatus, + tool: Schema.String, + type: Schema.Literal("mcpToolCall").annotate({ title: "McpToolCallThreadItemType" }), + }).annotate({ title: "McpToolCallThreadItem" }), + Schema.Struct({ + arguments: Schema.Json.annotate({ expected: "JSON value" }), + contentItems: Schema.optionalKey( + Schema.Union([ + Schema.Array(V2ThreadItemsListResponse__DynamicToolCallOutputContentItem), + Schema.Null, + ]), + ), + durationMs: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "The duration of the dynamic tool call in milliseconds.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), + id: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + status: V2ThreadItemsListResponse__DynamicToolCallStatus, + success: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + tool: Schema.String, + type: Schema.Literal("dynamicToolCall").annotate({ title: "DynamicToolCallThreadItemType" }), + }).annotate({ title: "DynamicToolCallThreadItem" }), + Schema.Struct({ + agentsStates: Schema.Record( + Schema.String, + V2ThreadItemsListResponse__CollabAgentState, + ).annotate({ description: "Last known status of the target agents, when available." }), + id: Schema.String.annotate({ description: "Unique identifier for this collab tool call." }), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Model requested for the spawned agent, when applicable.", + }), + Schema.Null, + ]), + ), + prompt: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Prompt text sent as part of the collab tool call, when available.", + }), + Schema.Null, + ]), + ), + reasoningEffort: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__ReasoningEffort, Schema.Null]).annotate({ + description: "Reasoning effort requested for the spawned agent, when applicable.", + }), + ), + receiverThreadIds: Schema.Array(Schema.String).annotate({ + description: + "Thread ID of the receiving agent, when applicable. In case of spawn operation, this corresponds to the newly spawned agent.", + }), + senderThreadId: Schema.String.annotate({ + description: "Thread ID of the agent issuing the collab request.", + }), + status: Schema.suspend( + (): Schema.Codec => + V2ThreadItemsListResponse__CollabAgentToolCallStatus, + ).annotate({ description: "Current status of the collab tool call." }), + tool: Schema.suspend( + (): Schema.Codec => + V2ThreadItemsListResponse__CollabAgentTool, + ).annotate({ description: "Name of the collab tool that was invoked." }), + type: Schema.Literal("collabAgentToolCall").annotate({ + title: "CollabAgentToolCallThreadItemType", + }), + }).annotate({ title: "CollabAgentToolCallThreadItem" }), + Schema.Struct({ + agentPath: Schema.String, + agentThreadId: Schema.String, + id: Schema.String, + kind: V2ThreadItemsListResponse__SubAgentActivityKind, + type: Schema.Literal("subAgentActivity").annotate({ + title: "SubAgentActivityThreadItemType", + }), + }).annotate({ title: "SubAgentActivityThreadItem" }), + Schema.Struct({ + action: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__WebSearchAction, Schema.Null]), + ), + id: Schema.String, + query: Schema.String, + results: Schema.optionalKey( + Schema.Union([ + Schema.Array(Schema.Json.annotate({ expected: "JSON value" })).annotate({ + description: + "Structured search results returned out-of-band by standalone web search.\n\nThese stay as opaque JSON at the extension/app-server boundary so new result fields and result types can pass through without a Codex release.", + }), + Schema.Null, + ]), + ), + type: Schema.Literal("webSearch").annotate({ title: "WebSearchThreadItemType" }), + }).annotate({ title: "WebSearchThreadItem" }), + Schema.Struct({ + id: Schema.String, + path: V2ThreadItemsListResponse__LegacyAppPathString, + type: Schema.Literal("imageView").annotate({ title: "ImageViewThreadItemType" }), + }).annotate({ title: "ImageViewThreadItem" }), + Schema.Struct({ + durationMs: Schema.Number.annotate({ format: "uint64" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + id: Schema.String, + type: Schema.Literal("sleep").annotate({ title: "SleepThreadItemType" }), + }).annotate({ + title: "SleepThreadItem", + description: "Display item emitted by the interruptible `clock.sleep` tool.", + }), + Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__ImageGenerationFailure, Schema.Null]), + ), + id: Schema.String, + result: Schema.String, + revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + savedPath: Schema.optionalKey( + Schema.Union([V2ThreadItemsListResponse__AbsolutePathBuf, Schema.Null]), + ), + status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), + }).annotate({ title: "ImageGenerationThreadItem" }), + Schema.Struct({ + id: Schema.String, + review: Schema.String, + type: Schema.Literal("enteredReviewMode").annotate({ + title: "EnteredReviewModeThreadItemType", + }), + }).annotate({ title: "EnteredReviewModeThreadItem" }), + Schema.Struct({ + id: Schema.String, + review: Schema.String, + type: Schema.Literal("exitedReviewMode").annotate({ + title: "ExitedReviewModeThreadItemType", + }), + }).annotate({ title: "ExitedReviewModeThreadItem" }), + Schema.Struct({ + id: Schema.String, + type: Schema.Literal("contextCompaction").annotate({ + title: "ContextCompactionThreadItemType", + }), + }).annotate({ title: "ContextCompactionThreadItem" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadItemsListResponse__ThreadItem" }); + export type V2ThreadListResponse__ThreadItem = | { readonly clientId?: string | null; @@ -28771,17 +36948,21 @@ export type V2ThreadListResponse__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2ThreadListResponse__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2ThreadListResponse__MemoryCitation | null; readonly phase?: V2ThreadListResponse__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ThreadListResponse__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -28797,7 +36978,9 @@ export type V2ThreadListResponse__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2ThreadListResponse__CommandExecutionSource; readonly status: V2ThreadListResponse__CommandExecutionStatus; readonly type: "commandExecution"; @@ -28815,7 +36998,9 @@ export type V2ThreadListResponse__ThreadItem = readonly error?: V2ThreadListResponse__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ThreadListResponse__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2ThreadListResponse__McpToolCallResult | null; readonly server: string; readonly status: V2ThreadListResponse__McpToolCallStatus; @@ -28866,11 +37051,13 @@ export type V2ThreadListResponse__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2ThreadListResponse__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2ThreadListResponse__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -28890,26 +37077,29 @@ export const V2ThreadListResponse__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ThreadListResponse__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2ThreadListResponse__MemoryCitation, Schema.Null]), ), phase: Schema.optionalKey(Schema.Union([V2ThreadListResponse__MessagePhase, Schema.Null])), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( - Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), - Schema.Null, - ]), + Schema.Union([Schema.Array(V2ThreadListResponse__AsyncUserInputQuestion), Schema.Null]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ThreadListResponse__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -28962,6 +37152,15 @@ export const V2ThreadListResponse__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -28970,6 +37169,15 @@ export const V2ThreadListResponse__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -29008,12 +37216,20 @@ export const V2ThreadListResponse__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ThreadListResponse__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2ThreadListResponse__McpToolCallResult, Schema.Null]), ), @@ -29137,6 +37353,9 @@ export const V2ThreadListResponse__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ThreadListResponse__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -29144,6 +37363,7 @@ export const V2ThreadListResponse__ThreadItem = Schema.Union( Schema.Union([V2ThreadListResponse__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -29183,17 +37403,21 @@ export type V2ThreadMetadataUpdateResponse__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2ThreadMetadataUpdateResponse__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2ThreadMetadataUpdateResponse__MemoryCitation | null; readonly phase?: V2ThreadMetadataUpdateResponse__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ThreadMetadataUpdateResponse__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -29209,7 +37433,9 @@ export type V2ThreadMetadataUpdateResponse__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2ThreadMetadataUpdateResponse__CommandExecutionSource; readonly status: V2ThreadMetadataUpdateResponse__CommandExecutionStatus; readonly type: "commandExecution"; @@ -29227,7 +37453,9 @@ export type V2ThreadMetadataUpdateResponse__ThreadItem = readonly error?: V2ThreadMetadataUpdateResponse__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ThreadMetadataUpdateResponse__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2ThreadMetadataUpdateResponse__McpToolCallResult | null; readonly server: string; readonly status: V2ThreadMetadataUpdateResponse__McpToolCallStatus; @@ -29280,11 +37508,13 @@ export type V2ThreadMetadataUpdateResponse__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2ThreadMetadataUpdateResponse__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2ThreadMetadataUpdateResponse__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -29304,6 +37534,9 @@ export const V2ThreadMetadataUpdateResponse__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ThreadMetadataUpdateResponse__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2ThreadMetadataUpdateResponse__MemoryCitation, Schema.Null]), @@ -29311,21 +37544,24 @@ export const V2ThreadMetadataUpdateResponse__ThreadItem = Schema.Union( phase: Schema.optionalKey( Schema.Union([V2ThreadMetadataUpdateResponse__MessagePhase, Schema.Null]), ), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), + Schema.Array(V2ThreadMetadataUpdateResponse__AsyncUserInputQuestion), Schema.Null, ]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ThreadMetadataUpdateResponse__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -29378,6 +37614,15 @@ export const V2ThreadMetadataUpdateResponse__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -29386,6 +37631,15 @@ export const V2ThreadMetadataUpdateResponse__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -29424,12 +37678,20 @@ export const V2ThreadMetadataUpdateResponse__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ThreadMetadataUpdateResponse__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2ThreadMetadataUpdateResponse__McpToolCallResult, Schema.Null]), ), @@ -29554,6 +37816,9 @@ export const V2ThreadMetadataUpdateResponse__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ThreadMetadataUpdateResponse__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -29561,6 +37826,7 @@ export const V2ThreadMetadataUpdateResponse__ThreadItem = Schema.Union( Schema.Union([V2ThreadMetadataUpdateResponse__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -29600,17 +37866,21 @@ export type V2ThreadReadResponse__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2ThreadReadResponse__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2ThreadReadResponse__MemoryCitation | null; readonly phase?: V2ThreadReadResponse__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ThreadReadResponse__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -29626,7 +37896,9 @@ export type V2ThreadReadResponse__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2ThreadReadResponse__CommandExecutionSource; readonly status: V2ThreadReadResponse__CommandExecutionStatus; readonly type: "commandExecution"; @@ -29644,7 +37916,9 @@ export type V2ThreadReadResponse__ThreadItem = readonly error?: V2ThreadReadResponse__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ThreadReadResponse__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2ThreadReadResponse__McpToolCallResult | null; readonly server: string; readonly status: V2ThreadReadResponse__McpToolCallStatus; @@ -29695,11 +37969,13 @@ export type V2ThreadReadResponse__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2ThreadReadResponse__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2ThreadReadResponse__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -29719,26 +37995,29 @@ export const V2ThreadReadResponse__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ThreadReadResponse__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2ThreadReadResponse__MemoryCitation, Schema.Null]), ), phase: Schema.optionalKey(Schema.Union([V2ThreadReadResponse__MessagePhase, Schema.Null])), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( - Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), - Schema.Null, - ]), + Schema.Union([Schema.Array(V2ThreadReadResponse__AsyncUserInputQuestion), Schema.Null]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ThreadReadResponse__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -29791,6 +38070,15 @@ export const V2ThreadReadResponse__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -29799,6 +38087,15 @@ export const V2ThreadReadResponse__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -29837,12 +38134,20 @@ export const V2ThreadReadResponse__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ThreadReadResponse__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2ThreadReadResponse__McpToolCallResult, Schema.Null]), ), @@ -29966,6 +38271,9 @@ export const V2ThreadReadResponse__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ThreadReadResponse__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -29973,6 +38281,7 @@ export const V2ThreadReadResponse__ThreadItem = Schema.Union( Schema.Union([V2ThreadReadResponse__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -30012,17 +38321,21 @@ export type V2ThreadResumeResponse__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2ThreadResumeResponse__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2ThreadResumeResponse__MemoryCitation | null; readonly phase?: V2ThreadResumeResponse__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ThreadResumeResponse__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -30038,7 +38351,9 @@ export type V2ThreadResumeResponse__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2ThreadResumeResponse__CommandExecutionSource; readonly status: V2ThreadResumeResponse__CommandExecutionStatus; readonly type: "commandExecution"; @@ -30056,7 +38371,9 @@ export type V2ThreadResumeResponse__ThreadItem = readonly error?: V2ThreadResumeResponse__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ThreadResumeResponse__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2ThreadResumeResponse__McpToolCallResult | null; readonly server: string; readonly status: V2ThreadResumeResponse__McpToolCallStatus; @@ -30107,11 +38424,13 @@ export type V2ThreadResumeResponse__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2ThreadResumeResponse__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2ThreadResumeResponse__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -30131,26 +38450,29 @@ export const V2ThreadResumeResponse__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2ThreadResumeResponse__MemoryCitation, Schema.Null]), ), phase: Schema.optionalKey(Schema.Union([V2ThreadResumeResponse__MessagePhase, Schema.Null])), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( - Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), - Schema.Null, - ]), + Schema.Union([Schema.Array(V2ThreadResumeResponse__AsyncUserInputQuestion), Schema.Null]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ThreadResumeResponse__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -30203,6 +38525,15 @@ export const V2ThreadResumeResponse__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -30211,6 +38542,15 @@ export const V2ThreadResumeResponse__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -30249,12 +38589,20 @@ export const V2ThreadResumeResponse__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2ThreadResumeResponse__McpToolCallResult, Schema.Null]), ), @@ -30378,6 +38726,9 @@ export const V2ThreadResumeResponse__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -30385,6 +38736,7 @@ export const V2ThreadResumeResponse__ThreadItem = Schema.Union( Schema.Union([V2ThreadResumeResponse__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -30411,30 +38763,34 @@ export const V2ThreadResumeResponse__ThreadItem = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadResumeResponse__ThreadItem" }); -export type V2ThreadRollbackResponse__ThreadItem = +export type V2ThreadRevertResponse__ThreadItem = | { readonly clientId?: string | null; - readonly content: ReadonlyArray; + readonly content: ReadonlyArray; readonly id: string; readonly type: "userMessage"; } | { - readonly fragments: ReadonlyArray; + readonly fragments: ReadonlyArray; readonly id: string; readonly type: "hookPrompt"; } | { + readonly delivery?: V2ThreadRevertResponse__AgentMessageDelivery | null; readonly id: string; - readonly memoryCitation?: V2ThreadRollbackResponse__MemoryCitation | null; - readonly phase?: V2ThreadRollbackResponse__MessagePhase | null; + readonly memoryCitation?: V2ThreadRevertResponse__MemoryCitation | null; + readonly phase?: V2ThreadRevertResponse__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ThreadRevertResponse__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -30445,68 +38801,72 @@ export type V2ThreadRollbackResponse__ThreadItem = | { readonly aggregatedOutput?: string | null; readonly command: string; - readonly commandActions: ReadonlyArray; - readonly cwd: V2ThreadRollbackResponse__LegacyAppPathString; + readonly commandActions: ReadonlyArray; + readonly cwd: V2ThreadRevertResponse__LegacyAppPathString; readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; - readonly source?: V2ThreadRollbackResponse__CommandExecutionSource; - readonly status: V2ThreadRollbackResponse__CommandExecutionStatus; + readonly scriptPath?: string | null; + readonly source?: V2ThreadRevertResponse__CommandExecutionSource; + readonly status: V2ThreadRevertResponse__CommandExecutionStatus; readonly type: "commandExecution"; } | { - readonly changes: ReadonlyArray; + readonly changes: ReadonlyArray; readonly id: string; - readonly status: V2ThreadRollbackResponse__PatchApplyStatus; + readonly status: V2ThreadRevertResponse__PatchApplyStatus; readonly type: "fileChange"; } | { - readonly appContext?: V2ThreadRollbackResponse__McpToolCallAppContext | null; + readonly appContext?: V2ThreadRevertResponse__McpToolCallAppContext | null; readonly arguments: Schema.Json; readonly durationMs?: number | null; - readonly error?: V2ThreadRollbackResponse__McpToolCallError | null; + readonly error?: V2ThreadRevertResponse__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ThreadRevertResponse__McpAppUi | null; readonly pluginId?: string | null; - readonly result?: V2ThreadRollbackResponse__McpToolCallResult | null; + readonly readOnlyHint?: boolean | null; + readonly result?: V2ThreadRevertResponse__McpToolCallResult | null; readonly server: string; - readonly status: V2ThreadRollbackResponse__McpToolCallStatus; + readonly status: V2ThreadRevertResponse__McpToolCallStatus; readonly tool: string; readonly type: "mcpToolCall"; } | { readonly arguments: Schema.Json; - readonly contentItems?: ReadonlyArray | null; + readonly contentItems?: ReadonlyArray | null; readonly durationMs?: number | null; readonly id: string; readonly namespace?: string | null; - readonly status: V2ThreadRollbackResponse__DynamicToolCallStatus; + readonly status: V2ThreadRevertResponse__DynamicToolCallStatus; readonly success?: boolean | null; readonly tool: string; readonly type: "dynamicToolCall"; } | { - readonly agentsStates: { readonly [x: string]: V2ThreadRollbackResponse__CollabAgentState }; + readonly agentsStates: { readonly [x: string]: V2ThreadRevertResponse__CollabAgentState }; readonly id: string; readonly model?: string | null; readonly prompt?: string | null; - readonly reasoningEffort?: V2ThreadRollbackResponse__ReasoningEffort | null; + readonly reasoningEffort?: V2ThreadRevertResponse__ReasoningEffort | null; readonly receiverThreadIds: ReadonlyArray; readonly senderThreadId: string; - readonly status: V2ThreadRollbackResponse__CollabAgentToolCallStatus; - readonly tool: V2ThreadRollbackResponse__CollabAgentTool; + readonly status: V2ThreadRevertResponse__CollabAgentToolCallStatus; + readonly tool: V2ThreadRevertResponse__CollabAgentTool; readonly type: "collabAgentToolCall"; } | { readonly agentPath: string; readonly agentThreadId: string; readonly id: string; - readonly kind: V2ThreadRollbackResponse__SubAgentActivityKind; + readonly kind: V2ThreadRevertResponse__SubAgentActivityKind; readonly type: "subAgentActivity"; } | { - readonly action?: V2ThreadRollbackResponse__WebSearchAction | null; + readonly action?: V2ThreadRevertResponse__WebSearchAction | null; readonly id: string; readonly query: string; readonly results?: ReadonlyArray | null; @@ -30514,57 +38874,60 @@ export type V2ThreadRollbackResponse__ThreadItem = } | { readonly id: string; - readonly path: V2ThreadRollbackResponse__LegacyAppPathString; + readonly path: V2ThreadRevertResponse__LegacyAppPathString; readonly type: "imageView"; } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2ThreadRevertResponse__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; - readonly savedPath?: V2ThreadRollbackResponse__AbsolutePathBuf | null; + readonly savedPath?: V2ThreadRevertResponse__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } | { readonly id: string; readonly review: string; readonly type: "exitedReviewMode" } | { readonly id: string; readonly type: "contextCompaction" }; -export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( +export const V2ThreadRevertResponse__ThreadItem = Schema.Union( [ Schema.Struct({ clientId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - content: Schema.Array(V2ThreadRollbackResponse__UserInput), + content: Schema.Array(V2ThreadRevertResponse__UserInput), id: Schema.String, type: Schema.Literal("userMessage").annotate({ title: "UserMessageThreadItemType" }), }).annotate({ title: "UserMessageThreadItem" }), Schema.Struct({ - fragments: Schema.Array(V2ThreadRollbackResponse__HookPromptFragment), + fragments: Schema.Array(V2ThreadRevertResponse__HookPromptFragment), id: Schema.String, type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ThreadRevertResponse__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__MemoryCitation, Schema.Null]), + Schema.Union([V2ThreadRevertResponse__MemoryCitation, Schema.Null]), ), - phase: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__MessagePhase, Schema.Null]), - ), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), + phase: Schema.optionalKey(Schema.Union([V2ThreadRevertResponse__MessagePhase, Schema.Null])), questions: Schema.optionalKey( - Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), - Schema.Null, - ]), + Schema.Union([Schema.Array(V2ThreadRevertResponse__AsyncUserInputQuestion), Schema.Null]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ThreadRevertResponse__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -30590,13 +38953,13 @@ export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( ]), ), command: Schema.String.annotate({ description: "The command to be executed." }), - commandActions: Schema.Array(V2ThreadRollbackResponse__CommandAction).annotate({ + commandActions: Schema.Array(V2ThreadRevertResponse__CommandAction).annotate({ description: "A best-effort parsing of the command to understand the action(s) it will perform. This returns a list of CommandAction objects because a single shell command may be composed of many commands piped together.", }), cwd: Schema.suspend( - (): Schema.Codec => - V2ThreadRollbackResponse__LegacyAppPathString, + (): Schema.Codec => + V2ThreadRevertResponse__LegacyAppPathString, ).annotate({ description: "The command's working directory." }), durationMs: Schema.optionalKey( Schema.Union([ @@ -30617,6 +38980,15 @@ export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -30625,26 +38997,35 @@ export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( - (): Schema.Codec => - V2ThreadRollbackResponse__CommandExecutionSource, + (): Schema.Codec => + V2ThreadRevertResponse__CommandExecutionSource, ).annotate({ default: "agent" }), ), - status: V2ThreadRollbackResponse__CommandExecutionStatus, + status: V2ThreadRevertResponse__CommandExecutionStatus, type: Schema.Literal("commandExecution").annotate({ title: "CommandExecutionThreadItemType", }), }).annotate({ title: "CommandExecutionThreadItem" }), Schema.Struct({ - changes: Schema.Array(V2ThreadRollbackResponse__FileUpdateChange), + changes: Schema.Array(V2ThreadRevertResponse__FileUpdateChange), id: Schema.String, - status: V2ThreadRollbackResponse__PatchApplyStatus, + status: V2ThreadRevertResponse__PatchApplyStatus, type: Schema.Literal("fileChange").annotate({ title: "FileChangeThreadItemType" }), }).annotate({ title: "FileChangeThreadItem" }), Schema.Struct({ appContext: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__McpToolCallAppContext, Schema.Null]), + Schema.Union([V2ThreadRevertResponse__McpToolCallAppContext, Schema.Null]), ), arguments: Schema.Json.annotate({ expected: "JSON value" }), durationMs: Schema.optionalKey( @@ -30657,23 +39038,31 @@ export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( ]), ), error: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__McpToolCallError, Schema.Null]), + Schema.Union([V2ThreadRevertResponse__McpToolCallError, Schema.Null]), ), id: Schema.String, mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ThreadRevertResponse__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__McpToolCallResult, Schema.Null]), + Schema.Union([V2ThreadRevertResponse__McpToolCallResult, Schema.Null]), ), server: Schema.String, - status: V2ThreadRollbackResponse__McpToolCallStatus, + status: V2ThreadRevertResponse__McpToolCallStatus, tool: Schema.String, type: Schema.Literal("mcpToolCall").annotate({ title: "McpToolCallThreadItemType" }), }).annotate({ title: "McpToolCallThreadItem" }), @@ -30681,7 +39070,7 @@ export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( arguments: Schema.Json.annotate({ expected: "JSON value" }), contentItems: Schema.optionalKey( Schema.Union([ - Schema.Array(V2ThreadRollbackResponse__DynamicToolCallOutputContentItem), + Schema.Array(V2ThreadRevertResponse__DynamicToolCallOutputContentItem), Schema.Null, ]), ), @@ -30696,16 +39085,15 @@ export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( ), id: Schema.String, namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - status: V2ThreadRollbackResponse__DynamicToolCallStatus, + status: V2ThreadRevertResponse__DynamicToolCallStatus, success: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), tool: Schema.String, type: Schema.Literal("dynamicToolCall").annotate({ title: "DynamicToolCallThreadItemType" }), }).annotate({ title: "DynamicToolCallThreadItem" }), Schema.Struct({ - agentsStates: Schema.Record( - Schema.String, - V2ThreadRollbackResponse__CollabAgentState, - ).annotate({ description: "Last known status of the target agents, when available." }), + agentsStates: Schema.Record(Schema.String, V2ThreadRevertResponse__CollabAgentState).annotate( + { description: "Last known status of the target agents, when available." }, + ), id: Schema.String.annotate({ description: "Unique identifier for this collab tool call." }), model: Schema.optionalKey( Schema.Union([ @@ -30724,7 +39112,7 @@ export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( ]), ), reasoningEffort: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__ReasoningEffort, Schema.Null]).annotate({ + Schema.Union([V2ThreadRevertResponse__ReasoningEffort, Schema.Null]).annotate({ description: "Reasoning effort requested for the spawned agent, when applicable.", }), ), @@ -30736,12 +39124,12 @@ export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( description: "Thread ID of the agent issuing the collab request.", }), status: Schema.suspend( - (): Schema.Codec => - V2ThreadRollbackResponse__CollabAgentToolCallStatus, + (): Schema.Codec => + V2ThreadRevertResponse__CollabAgentToolCallStatus, ).annotate({ description: "Current status of the collab tool call." }), tool: Schema.suspend( - (): Schema.Codec => - V2ThreadRollbackResponse__CollabAgentTool, + (): Schema.Codec => + V2ThreadRevertResponse__CollabAgentTool, ).annotate({ description: "Name of the collab tool that was invoked." }), type: Schema.Literal("collabAgentToolCall").annotate({ title: "CollabAgentToolCallThreadItemType", @@ -30751,14 +39139,14 @@ export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( agentPath: Schema.String, agentThreadId: Schema.String, id: Schema.String, - kind: V2ThreadRollbackResponse__SubAgentActivityKind, + kind: V2ThreadRevertResponse__SubAgentActivityKind, type: Schema.Literal("subAgentActivity").annotate({ title: "SubAgentActivityThreadItemType", }), }).annotate({ title: "SubAgentActivityThreadItem" }), Schema.Struct({ action: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__WebSearchAction, Schema.Null]), + Schema.Union([V2ThreadRevertResponse__WebSearchAction, Schema.Null]), ), id: Schema.String, query: Schema.String, @@ -30775,7 +39163,7 @@ export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( }).annotate({ title: "WebSearchThreadItem" }), Schema.Struct({ id: Schema.String, - path: V2ThreadRollbackResponse__LegacyAppPathString, + path: V2ThreadRevertResponse__LegacyAppPathString, type: Schema.Literal("imageView").annotate({ title: "ImageViewThreadItemType" }), }).annotate({ title: "ImageViewThreadItem" }), Schema.Struct({ @@ -30793,13 +39181,17 @@ export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ThreadRevertResponse__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), savedPath: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__AbsolutePathBuf, Schema.Null]), + Schema.Union([V2ThreadRevertResponse__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -30824,7 +39216,7 @@ export const V2ThreadRollbackResponse__ThreadItem = Schema.Union( }).annotate({ title: "ContextCompactionThreadItem" }), ], { mode: "oneOf" }, -).annotate({ identifier: "V2ThreadRollbackResponse__ThreadItem" }); +).annotate({ identifier: "V2ThreadRevertResponse__ThreadItem" }); export type V2ThreadSettingsUpdatedNotification__ThreadSettings = { readonly activePermissionProfile?: V2ThreadSettingsUpdatedNotification__ActivePermissionProfile | null; @@ -30832,6 +39224,7 @@ export type V2ThreadSettingsUpdatedNotification__ThreadSettings = { readonly approvalsReviewer: V2ThreadSettingsUpdatedNotification__ApprovalsReviewer; readonly collaborationMode: V2ThreadSettingsUpdatedNotification__CollaborationMode; readonly cwd: V2ThreadSettingsUpdatedNotification__AbsolutePathBuf; + readonly disabledPluginIds?: ReadonlyArray; readonly effort?: V2ThreadSettingsUpdatedNotification__ReasoningEffort | null; readonly model: string; readonly modelProvider: string; @@ -30848,13 +39241,22 @@ export const V2ThreadSettingsUpdatedNotification__ThreadSettings = Schema.Struct approvalsReviewer: V2ThreadSettingsUpdatedNotification__ApprovalsReviewer, collaborationMode: V2ThreadSettingsUpdatedNotification__CollaborationMode, cwd: V2ThreadSettingsUpdatedNotification__AbsolutePathBuf, + disabledPluginIds: Schema.optionalKey( + Schema.Array(Schema.String).annotate({ + description: "Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.", + default: [], + }), + ), effort: Schema.optionalKey( Schema.Union([V2ThreadSettingsUpdatedNotification__ReasoningEffort, Schema.Null]), ), model: Schema.String, modelProvider: Schema.String, personality: Schema.optionalKey( - Schema.Union([V2ThreadSettingsUpdatedNotification__Personality, Schema.Null]), + Schema.Union([V2ThreadSettingsUpdatedNotification__Personality, Schema.Null]).annotate({ + description: + "@deprecated Reports the saved setting; `friendly` and `pragmatic` no longer select a style.", + }), ), sandboxPolicy: V2ThreadSettingsUpdatedNotification__SandboxPolicy, serviceTier: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -30876,17 +39278,21 @@ export type V2ThreadStartedNotification__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2ThreadStartedNotification__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2ThreadStartedNotification__MemoryCitation | null; readonly phase?: V2ThreadStartedNotification__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ThreadStartedNotification__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -30902,7 +39308,9 @@ export type V2ThreadStartedNotification__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2ThreadStartedNotification__CommandExecutionSource; readonly status: V2ThreadStartedNotification__CommandExecutionStatus; readonly type: "commandExecution"; @@ -30920,7 +39328,9 @@ export type V2ThreadStartedNotification__ThreadItem = readonly error?: V2ThreadStartedNotification__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ThreadStartedNotification__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2ThreadStartedNotification__McpToolCallResult | null; readonly server: string; readonly status: V2ThreadStartedNotification__McpToolCallStatus; @@ -30973,11 +39383,13 @@ export type V2ThreadStartedNotification__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2ThreadStartedNotification__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2ThreadStartedNotification__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -30997,6 +39409,9 @@ export const V2ThreadStartedNotification__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ThreadStartedNotification__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2ThreadStartedNotification__MemoryCitation, Schema.Null]), @@ -31004,21 +39419,24 @@ export const V2ThreadStartedNotification__ThreadItem = Schema.Union( phase: Schema.optionalKey( Schema.Union([V2ThreadStartedNotification__MessagePhase, Schema.Null]), ), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), + Schema.Array(V2ThreadStartedNotification__AsyncUserInputQuestion), Schema.Null, ]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ThreadStartedNotification__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -31071,6 +39489,15 @@ export const V2ThreadStartedNotification__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -31079,6 +39506,15 @@ export const V2ThreadStartedNotification__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -31117,12 +39553,20 @@ export const V2ThreadStartedNotification__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ThreadStartedNotification__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2ThreadStartedNotification__McpToolCallResult, Schema.Null]), ), @@ -31247,6 +39691,9 @@ export const V2ThreadStartedNotification__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ThreadStartedNotification__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -31254,6 +39701,7 @@ export const V2ThreadStartedNotification__ThreadItem = Schema.Union( Schema.Union([V2ThreadStartedNotification__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -31293,17 +39741,21 @@ export type V2ThreadStartResponse__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2ThreadStartResponse__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2ThreadStartResponse__MemoryCitation | null; readonly phase?: V2ThreadStartResponse__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ThreadStartResponse__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -31319,7 +39771,9 @@ export type V2ThreadStartResponse__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2ThreadStartResponse__CommandExecutionSource; readonly status: V2ThreadStartResponse__CommandExecutionStatus; readonly type: "commandExecution"; @@ -31337,7 +39791,9 @@ export type V2ThreadStartResponse__ThreadItem = readonly error?: V2ThreadStartResponse__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ThreadStartResponse__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2ThreadStartResponse__McpToolCallResult | null; readonly server: string; readonly status: V2ThreadStartResponse__McpToolCallStatus; @@ -31388,11 +39844,13 @@ export type V2ThreadStartResponse__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2ThreadStartResponse__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2ThreadStartResponse__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -31412,26 +39870,29 @@ export const V2ThreadStartResponse__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ThreadStartResponse__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2ThreadStartResponse__MemoryCitation, Schema.Null]), ), phase: Schema.optionalKey(Schema.Union([V2ThreadStartResponse__MessagePhase, Schema.Null])), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( - Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), - Schema.Null, - ]), + Schema.Union([Schema.Array(V2ThreadStartResponse__AsyncUserInputQuestion), Schema.Null]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ThreadStartResponse__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -31484,6 +39945,15 @@ export const V2ThreadStartResponse__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -31492,6 +39962,15 @@ export const V2ThreadStartResponse__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -31530,12 +40009,20 @@ export const V2ThreadStartResponse__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ThreadStartResponse__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2ThreadStartResponse__McpToolCallResult, Schema.Null]), ), @@ -31659,6 +40146,9 @@ export const V2ThreadStartResponse__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ThreadStartResponse__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -31666,6 +40156,7 @@ export const V2ThreadStartResponse__ThreadItem = Schema.Union( Schema.Union([V2ThreadStartResponse__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -31692,6 +40183,467 @@ export const V2ThreadStartResponse__ThreadItem = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2ThreadStartResponse__ThreadItem" }); +export type V2ThreadTurnsListResponse__ThreadItem = + | { + readonly clientId?: string | null; + readonly content: ReadonlyArray; + readonly id: string; + readonly type: "userMessage"; + } + | { + readonly fragments: ReadonlyArray; + readonly id: string; + readonly type: "hookPrompt"; + } + | { + readonly delivery?: V2ThreadTurnsListResponse__AgentMessageDelivery | null; + readonly id: string; + readonly memoryCitation?: V2ThreadTurnsListResponse__MemoryCitation | null; + readonly phase?: V2ThreadTurnsListResponse__MessagePhase | null; + readonly questions?: ReadonlyArray | null; + readonly text: string; + readonly type: "agentMessage"; + } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ThreadTurnsListResponse__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } + | { readonly id: string; readonly text: string; readonly type: "plan" } + | { + readonly content?: ReadonlyArray; + readonly id: string; + readonly summary?: ReadonlyArray; + readonly type: "reasoning"; + } + | { + readonly aggregatedOutput?: string | null; + readonly command: string; + readonly commandActions: ReadonlyArray; + readonly cwd: V2ThreadTurnsListResponse__LegacyAppPathString; + readonly durationMs?: number | null; + readonly exitCode?: number | null; + readonly id: string; + readonly pluginId?: string | null; + readonly processId?: string | null; + readonly scriptPath?: string | null; + readonly source?: V2ThreadTurnsListResponse__CommandExecutionSource; + readonly status: V2ThreadTurnsListResponse__CommandExecutionStatus; + readonly type: "commandExecution"; + } + | { + readonly changes: ReadonlyArray; + readonly id: string; + readonly status: V2ThreadTurnsListResponse__PatchApplyStatus; + readonly type: "fileChange"; + } + | { + readonly appContext?: V2ThreadTurnsListResponse__McpToolCallAppContext | null; + readonly arguments: Schema.Json; + readonly durationMs?: number | null; + readonly error?: V2ThreadTurnsListResponse__McpToolCallError | null; + readonly id: string; + readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ThreadTurnsListResponse__McpAppUi | null; + readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; + readonly result?: V2ThreadTurnsListResponse__McpToolCallResult | null; + readonly server: string; + readonly status: V2ThreadTurnsListResponse__McpToolCallStatus; + readonly tool: string; + readonly type: "mcpToolCall"; + } + | { + readonly arguments: Schema.Json; + readonly contentItems?: ReadonlyArray | null; + readonly durationMs?: number | null; + readonly id: string; + readonly namespace?: string | null; + readonly status: V2ThreadTurnsListResponse__DynamicToolCallStatus; + readonly success?: boolean | null; + readonly tool: string; + readonly type: "dynamicToolCall"; + } + | { + readonly agentsStates: { readonly [x: string]: V2ThreadTurnsListResponse__CollabAgentState }; + readonly id: string; + readonly model?: string | null; + readonly prompt?: string | null; + readonly reasoningEffort?: V2ThreadTurnsListResponse__ReasoningEffort | null; + readonly receiverThreadIds: ReadonlyArray; + readonly senderThreadId: string; + readonly status: V2ThreadTurnsListResponse__CollabAgentToolCallStatus; + readonly tool: V2ThreadTurnsListResponse__CollabAgentTool; + readonly type: "collabAgentToolCall"; + } + | { + readonly agentPath: string; + readonly agentThreadId: string; + readonly id: string; + readonly kind: V2ThreadTurnsListResponse__SubAgentActivityKind; + readonly type: "subAgentActivity"; + } + | { + readonly action?: V2ThreadTurnsListResponse__WebSearchAction | null; + readonly id: string; + readonly query: string; + readonly results?: ReadonlyArray | null; + readonly type: "webSearch"; + } + | { + readonly id: string; + readonly path: V2ThreadTurnsListResponse__LegacyAppPathString; + readonly type: "imageView"; + } + | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } + | { + readonly failure?: V2ThreadTurnsListResponse__ImageGenerationFailure | null; + readonly id: string; + readonly result: string; + readonly revisedPrompt?: string | null; + readonly savedPath?: V2ThreadTurnsListResponse__AbsolutePathBuf | null; + readonly status: string; + readonly transparentBackground?: boolean | null; + readonly type: "imageGeneration"; + } + | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } + | { readonly id: string; readonly review: string; readonly type: "exitedReviewMode" } + | { readonly id: string; readonly type: "contextCompaction" }; +export const V2ThreadTurnsListResponse__ThreadItem = Schema.Union( + [ + Schema.Struct({ + clientId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + content: Schema.Array(V2ThreadTurnsListResponse__UserInput), + id: Schema.String, + type: Schema.Literal("userMessage").annotate({ title: "UserMessageThreadItemType" }), + }).annotate({ title: "UserMessageThreadItem" }), + Schema.Struct({ + fragments: Schema.Array(V2ThreadTurnsListResponse__HookPromptFragment), + id: Schema.String, + type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), + }).annotate({ title: "HookPromptThreadItem" }), + Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__AgentMessageDelivery, Schema.Null]), + ), + id: Schema.String, + memoryCitation: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__MemoryCitation, Schema.Null]), + ), + phase: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__MessagePhase, Schema.Null]), + ), + questions: Schema.optionalKey( + Schema.Union([ + Schema.Array(V2ThreadTurnsListResponse__AsyncUserInputQuestion), + Schema.Null, + ]), + ), + text: Schema.String, + type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), + }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ThreadTurnsListResponse__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), + Schema.Struct({ + id: Schema.String, + text: Schema.String, + type: Schema.Literal("plan").annotate({ title: "PlanThreadItemType" }), + }).annotate({ + title: "PlanThreadItem", + description: + "EXPERIMENTAL - proposed plan item content. The completed plan item is authoritative and may not match the concatenation of `PlanDelta` text.", + }), + Schema.Struct({ + content: Schema.optionalKey(Schema.Array(Schema.String).annotate({ default: [] })), + id: Schema.String, + summary: Schema.optionalKey(Schema.Array(Schema.String).annotate({ default: [] })), + type: Schema.Literal("reasoning").annotate({ title: "ReasoningThreadItemType" }), + }).annotate({ title: "ReasoningThreadItem" }), + Schema.Struct({ + aggregatedOutput: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "The command's output, aggregated from stdout and stderr.", + }), + Schema.Null, + ]), + ), + command: Schema.String.annotate({ description: "The command to be executed." }), + commandActions: Schema.Array(V2ThreadTurnsListResponse__CommandAction).annotate({ + description: + "A best-effort parsing of the command to understand the action(s) it will perform. This returns a list of CommandAction objects because a single shell command may be composed of many commands piped together.", + }), + cwd: Schema.suspend( + (): Schema.Codec => + V2ThreadTurnsListResponse__LegacyAppPathString, + ).annotate({ description: "The command's working directory." }), + durationMs: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "The duration of the command execution in milliseconds.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), + exitCode: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "The command's exit code.", + format: "int32", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), + id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), + processId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Identifier for the underlying PTY process (when available).", + }), + Schema.Null, + ]), + ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), + source: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + V2ThreadTurnsListResponse__CommandExecutionSource, + ).annotate({ default: "agent" }), + ), + status: V2ThreadTurnsListResponse__CommandExecutionStatus, + type: Schema.Literal("commandExecution").annotate({ + title: "CommandExecutionThreadItemType", + }), + }).annotate({ title: "CommandExecutionThreadItem" }), + Schema.Struct({ + changes: Schema.Array(V2ThreadTurnsListResponse__FileUpdateChange), + id: Schema.String, + status: V2ThreadTurnsListResponse__PatchApplyStatus, + type: Schema.Literal("fileChange").annotate({ title: "FileChangeThreadItemType" }), + }).annotate({ title: "FileChangeThreadItem" }), + Schema.Struct({ + appContext: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__McpToolCallAppContext, Schema.Null]), + ), + arguments: Schema.Json.annotate({ expected: "JSON value" }), + durationMs: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "The duration of the MCP tool call in milliseconds.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), + error: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__McpToolCallError, Schema.Null]), + ), + id: Schema.String, + mcpAppResourceUri: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", + }), + Schema.Null, + ]), + ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), + pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + result: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__McpToolCallResult, Schema.Null]), + ), + server: Schema.String, + status: V2ThreadTurnsListResponse__McpToolCallStatus, + tool: Schema.String, + type: Schema.Literal("mcpToolCall").annotate({ title: "McpToolCallThreadItemType" }), + }).annotate({ title: "McpToolCallThreadItem" }), + Schema.Struct({ + arguments: Schema.Json.annotate({ expected: "JSON value" }), + contentItems: Schema.optionalKey( + Schema.Union([ + Schema.Array(V2ThreadTurnsListResponse__DynamicToolCallOutputContentItem), + Schema.Null, + ]), + ), + durationMs: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "The duration of the dynamic tool call in milliseconds.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), + id: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + status: V2ThreadTurnsListResponse__DynamicToolCallStatus, + success: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + tool: Schema.String, + type: Schema.Literal("dynamicToolCall").annotate({ title: "DynamicToolCallThreadItemType" }), + }).annotate({ title: "DynamicToolCallThreadItem" }), + Schema.Struct({ + agentsStates: Schema.Record( + Schema.String, + V2ThreadTurnsListResponse__CollabAgentState, + ).annotate({ description: "Last known status of the target agents, when available." }), + id: Schema.String.annotate({ description: "Unique identifier for this collab tool call." }), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Model requested for the spawned agent, when applicable.", + }), + Schema.Null, + ]), + ), + prompt: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Prompt text sent as part of the collab tool call, when available.", + }), + Schema.Null, + ]), + ), + reasoningEffort: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__ReasoningEffort, Schema.Null]).annotate({ + description: "Reasoning effort requested for the spawned agent, when applicable.", + }), + ), + receiverThreadIds: Schema.Array(Schema.String).annotate({ + description: + "Thread ID of the receiving agent, when applicable. In case of spawn operation, this corresponds to the newly spawned agent.", + }), + senderThreadId: Schema.String.annotate({ + description: "Thread ID of the agent issuing the collab request.", + }), + status: Schema.suspend( + (): Schema.Codec => + V2ThreadTurnsListResponse__CollabAgentToolCallStatus, + ).annotate({ description: "Current status of the collab tool call." }), + tool: Schema.suspend( + (): Schema.Codec => + V2ThreadTurnsListResponse__CollabAgentTool, + ).annotate({ description: "Name of the collab tool that was invoked." }), + type: Schema.Literal("collabAgentToolCall").annotate({ + title: "CollabAgentToolCallThreadItemType", + }), + }).annotate({ title: "CollabAgentToolCallThreadItem" }), + Schema.Struct({ + agentPath: Schema.String, + agentThreadId: Schema.String, + id: Schema.String, + kind: V2ThreadTurnsListResponse__SubAgentActivityKind, + type: Schema.Literal("subAgentActivity").annotate({ + title: "SubAgentActivityThreadItemType", + }), + }).annotate({ title: "SubAgentActivityThreadItem" }), + Schema.Struct({ + action: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__WebSearchAction, Schema.Null]), + ), + id: Schema.String, + query: Schema.String, + results: Schema.optionalKey( + Schema.Union([ + Schema.Array(Schema.Json.annotate({ expected: "JSON value" })).annotate({ + description: + "Structured search results returned out-of-band by standalone web search.\n\nThese stay as opaque JSON at the extension/app-server boundary so new result fields and result types can pass through without a Codex release.", + }), + Schema.Null, + ]), + ), + type: Schema.Literal("webSearch").annotate({ title: "WebSearchThreadItemType" }), + }).annotate({ title: "WebSearchThreadItem" }), + Schema.Struct({ + id: Schema.String, + path: V2ThreadTurnsListResponse__LegacyAppPathString, + type: Schema.Literal("imageView").annotate({ title: "ImageViewThreadItemType" }), + }).annotate({ title: "ImageViewThreadItem" }), + Schema.Struct({ + durationMs: Schema.Number.annotate({ format: "uint64" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + id: Schema.String, + type: Schema.Literal("sleep").annotate({ title: "SleepThreadItemType" }), + }).annotate({ + title: "SleepThreadItem", + description: "Display item emitted by the interruptible `clock.sleep` tool.", + }), + Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__ImageGenerationFailure, Schema.Null]), + ), + id: Schema.String, + result: Schema.String, + revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + savedPath: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__AbsolutePathBuf, Schema.Null]), + ), + status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), + }).annotate({ title: "ImageGenerationThreadItem" }), + Schema.Struct({ + id: Schema.String, + review: Schema.String, + type: Schema.Literal("enteredReviewMode").annotate({ + title: "EnteredReviewModeThreadItemType", + }), + }).annotate({ title: "EnteredReviewModeThreadItem" }), + Schema.Struct({ + id: Schema.String, + review: Schema.String, + type: Schema.Literal("exitedReviewMode").annotate({ + title: "ExitedReviewModeThreadItemType", + }), + }).annotate({ title: "ExitedReviewModeThreadItem" }), + Schema.Struct({ + id: Schema.String, + type: Schema.Literal("contextCompaction").annotate({ + title: "ContextCompactionThreadItemType", + }), + }).annotate({ title: "ContextCompactionThreadItem" }), + ], + { mode: "oneOf" }, +).annotate({ identifier: "V2ThreadTurnsListResponse__ThreadItem" }); + export type V2ThreadUnarchiveResponse__ThreadItem = | { readonly clientId?: string | null; @@ -31705,17 +40657,21 @@ export type V2ThreadUnarchiveResponse__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2ThreadUnarchiveResponse__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2ThreadUnarchiveResponse__MemoryCitation | null; readonly phase?: V2ThreadUnarchiveResponse__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2ThreadUnarchiveResponse__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -31731,7 +40687,9 @@ export type V2ThreadUnarchiveResponse__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2ThreadUnarchiveResponse__CommandExecutionSource; readonly status: V2ThreadUnarchiveResponse__CommandExecutionStatus; readonly type: "commandExecution"; @@ -31749,7 +40707,9 @@ export type V2ThreadUnarchiveResponse__ThreadItem = readonly error?: V2ThreadUnarchiveResponse__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2ThreadUnarchiveResponse__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2ThreadUnarchiveResponse__McpToolCallResult | null; readonly server: string; readonly status: V2ThreadUnarchiveResponse__McpToolCallStatus; @@ -31800,11 +40760,13 @@ export type V2ThreadUnarchiveResponse__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2ThreadUnarchiveResponse__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2ThreadUnarchiveResponse__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -31824,6 +40786,9 @@ export const V2ThreadUnarchiveResponse__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2ThreadUnarchiveResponse__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2ThreadUnarchiveResponse__MemoryCitation, Schema.Null]), @@ -31831,21 +40796,24 @@ export const V2ThreadUnarchiveResponse__ThreadItem = Schema.Union( phase: Schema.optionalKey( Schema.Union([V2ThreadUnarchiveResponse__MessagePhase, Schema.Null]), ), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), + Schema.Array(V2ThreadUnarchiveResponse__AsyncUserInputQuestion), Schema.Null, ]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2ThreadUnarchiveResponse__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -31898,6 +40866,15 @@ export const V2ThreadUnarchiveResponse__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -31906,6 +40883,15 @@ export const V2ThreadUnarchiveResponse__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -31944,12 +40930,20 @@ export const V2ThreadUnarchiveResponse__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2ThreadUnarchiveResponse__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2ThreadUnarchiveResponse__McpToolCallResult, Schema.Null]), ), @@ -32074,6 +41068,9 @@ export const V2ThreadUnarchiveResponse__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2ThreadUnarchiveResponse__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -32081,6 +41078,7 @@ export const V2ThreadUnarchiveResponse__ThreadItem = Schema.Union( Schema.Union([V2ThreadUnarchiveResponse__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -32120,17 +41118,21 @@ export type V2TurnCompletedNotification__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2TurnCompletedNotification__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2TurnCompletedNotification__MemoryCitation | null; readonly phase?: V2TurnCompletedNotification__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2TurnCompletedNotification__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -32146,7 +41148,9 @@ export type V2TurnCompletedNotification__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2TurnCompletedNotification__CommandExecutionSource; readonly status: V2TurnCompletedNotification__CommandExecutionStatus; readonly type: "commandExecution"; @@ -32164,7 +41168,9 @@ export type V2TurnCompletedNotification__ThreadItem = readonly error?: V2TurnCompletedNotification__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2TurnCompletedNotification__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2TurnCompletedNotification__McpToolCallResult | null; readonly server: string; readonly status: V2TurnCompletedNotification__McpToolCallStatus; @@ -32217,11 +41223,13 @@ export type V2TurnCompletedNotification__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2TurnCompletedNotification__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2TurnCompletedNotification__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -32241,6 +41249,9 @@ export const V2TurnCompletedNotification__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2TurnCompletedNotification__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2TurnCompletedNotification__MemoryCitation, Schema.Null]), @@ -32248,21 +41259,24 @@ export const V2TurnCompletedNotification__ThreadItem = Schema.Union( phase: Schema.optionalKey( Schema.Union([V2TurnCompletedNotification__MessagePhase, Schema.Null]), ), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), + Schema.Array(V2TurnCompletedNotification__AsyncUserInputQuestion), Schema.Null, ]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2TurnCompletedNotification__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -32315,6 +41329,15 @@ export const V2TurnCompletedNotification__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -32323,6 +41346,15 @@ export const V2TurnCompletedNotification__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -32361,12 +41393,20 @@ export const V2TurnCompletedNotification__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2TurnCompletedNotification__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2TurnCompletedNotification__McpToolCallResult, Schema.Null]), ), @@ -32491,6 +41531,9 @@ export const V2TurnCompletedNotification__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2TurnCompletedNotification__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -32498,6 +41541,7 @@ export const V2TurnCompletedNotification__ThreadItem = Schema.Union( Schema.Union([V2TurnCompletedNotification__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -32537,17 +41581,21 @@ export type V2TurnStartedNotification__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2TurnStartedNotification__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2TurnStartedNotification__MemoryCitation | null; readonly phase?: V2TurnStartedNotification__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2TurnStartedNotification__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -32563,7 +41611,9 @@ export type V2TurnStartedNotification__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2TurnStartedNotification__CommandExecutionSource; readonly status: V2TurnStartedNotification__CommandExecutionStatus; readonly type: "commandExecution"; @@ -32581,7 +41631,9 @@ export type V2TurnStartedNotification__ThreadItem = readonly error?: V2TurnStartedNotification__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2TurnStartedNotification__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2TurnStartedNotification__McpToolCallResult | null; readonly server: string; readonly status: V2TurnStartedNotification__McpToolCallStatus; @@ -32632,11 +41684,13 @@ export type V2TurnStartedNotification__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2TurnStartedNotification__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2TurnStartedNotification__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -32656,6 +41710,9 @@ export const V2TurnStartedNotification__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2TurnStartedNotification__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2TurnStartedNotification__MemoryCitation, Schema.Null]), @@ -32663,21 +41720,24 @@ export const V2TurnStartedNotification__ThreadItem = Schema.Union( phase: Schema.optionalKey( Schema.Union([V2TurnStartedNotification__MessagePhase, Schema.Null]), ), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), + Schema.Array(V2TurnStartedNotification__AsyncUserInputQuestion), Schema.Null, ]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2TurnStartedNotification__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -32730,6 +41790,15 @@ export const V2TurnStartedNotification__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -32738,6 +41807,15 @@ export const V2TurnStartedNotification__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -32776,12 +41854,20 @@ export const V2TurnStartedNotification__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2TurnStartedNotification__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2TurnStartedNotification__McpToolCallResult, Schema.Null]), ), @@ -32906,6 +41992,9 @@ export const V2TurnStartedNotification__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2TurnStartedNotification__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -32913,6 +42002,7 @@ export const V2TurnStartedNotification__ThreadItem = Schema.Union( Schema.Union([V2TurnStartedNotification__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -32939,6 +42029,17 @@ export const V2TurnStartedNotification__ThreadItem = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2TurnStartedNotification__ThreadItem" }); +export type V2TurnStartParams__TurnToolOutput = { + readonly name: string; + readonly namespace?: string | null; + readonly output: V2TurnStartParams__FunctionCallOutputBody; +}; +export const V2TurnStartParams__TurnToolOutput = Schema.Struct({ + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2TurnStartParams__FunctionCallOutputBody, +}).annotate({ identifier: "V2TurnStartParams__TurnToolOutput" }); + export type V2TurnStartResponse__ThreadItem = | { readonly clientId?: string | null; @@ -32952,17 +42053,21 @@ export type V2TurnStartResponse__ThreadItem = readonly type: "hookPrompt"; } | { + readonly delivery?: V2TurnStartResponse__AgentMessageDelivery | null; readonly id: string; readonly memoryCitation?: V2TurnStartResponse__MemoryCitation | null; readonly phase?: V2TurnStartResponse__MessagePhase | null; + readonly questions?: ReadonlyArray | null; readonly text: string; - readonly delivery?: "async" | null; - readonly questions?: ReadonlyArray<{ - readonly title: string; - readonly options?: ReadonlyArray | null; - }> | null; readonly type: "agentMessage"; } + | { + readonly id: string; + readonly name: string; + readonly namespace?: string | null; + readonly output: V2TurnStartResponse__FunctionCallOutputBody; + readonly type: "functionCallOutput"; + } | { readonly id: string; readonly text: string; readonly type: "plan" } | { readonly content?: ReadonlyArray; @@ -32978,7 +42083,9 @@ export type V2TurnStartResponse__ThreadItem = readonly durationMs?: number | null; readonly exitCode?: number | null; readonly id: string; + readonly pluginId?: string | null; readonly processId?: string | null; + readonly scriptPath?: string | null; readonly source?: V2TurnStartResponse__CommandExecutionSource; readonly status: V2TurnStartResponse__CommandExecutionStatus; readonly type: "commandExecution"; @@ -32996,7 +42103,9 @@ export type V2TurnStartResponse__ThreadItem = readonly error?: V2TurnStartResponse__McpToolCallError | null; readonly id: string; readonly mcpAppResourceUri?: string | null; + readonly mcpAppUi?: V2TurnStartResponse__McpAppUi | null; readonly pluginId?: string | null; + readonly readOnlyHint?: boolean | null; readonly result?: V2TurnStartResponse__McpToolCallResult | null; readonly server: string; readonly status: V2TurnStartResponse__McpToolCallStatus; @@ -33047,11 +42156,13 @@ export type V2TurnStartResponse__ThreadItem = } | { readonly durationMs: number; readonly id: string; readonly type: "sleep" } | { + readonly failure?: V2TurnStartResponse__ImageGenerationFailure | null; readonly id: string; readonly result: string; readonly revisedPrompt?: string | null; readonly savedPath?: V2TurnStartResponse__AbsolutePathBuf | null; readonly status: string; + readonly transparentBackground?: boolean | null; readonly type: "imageGeneration"; } | { readonly id: string; readonly review: string; readonly type: "enteredReviewMode" } @@ -33071,26 +42182,29 @@ export const V2TurnStartResponse__ThreadItem = Schema.Union( type: Schema.Literal("hookPrompt").annotate({ title: "HookPromptThreadItemType" }), }).annotate({ title: "HookPromptThreadItem" }), Schema.Struct({ + delivery: Schema.optionalKey( + Schema.Union([V2TurnStartResponse__AgentMessageDelivery, Schema.Null]), + ), id: Schema.String, memoryCitation: Schema.optionalKey( Schema.Union([V2TurnStartResponse__MemoryCitation, Schema.Null]), ), phase: Schema.optionalKey(Schema.Union([V2TurnStartResponse__MessagePhase, Schema.Null])), - text: Schema.String, - delivery: Schema.optionalKey(Schema.Union([Schema.Literal("async"), Schema.Null])), questions: Schema.optionalKey( - Schema.Union([ - Schema.Array( - Schema.Struct({ - title: Schema.String, - options: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), - }), - ), - Schema.Null, - ]), + Schema.Union([Schema.Array(V2TurnStartResponse__AsyncUserInputQuestion), Schema.Null]), ), + text: Schema.String, type: Schema.Literal("agentMessage").annotate({ title: "AgentMessageThreadItemType" }), }).annotate({ title: "AgentMessageThreadItem" }), + Schema.Struct({ + id: Schema.String, + name: Schema.String, + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + output: V2TurnStartResponse__FunctionCallOutputBody, + type: Schema.Literal("functionCallOutput").annotate({ + title: "FunctionCallOutputThreadItemType", + }), + }).annotate({ title: "FunctionCallOutputThreadItem" }), Schema.Struct({ id: Schema.String, text: Schema.String, @@ -33143,6 +42257,15 @@ export const V2TurnStartResponse__ThreadItem = Schema.Union( ]), ), id: Schema.String, + pluginId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Trusted first-party plugin id when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), processId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -33151,6 +42274,15 @@ export const V2TurnStartResponse__ThreadItem = Schema.Union( Schema.Null, ]), ), + scriptPath: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Safe plugin-relative path when this command resolves to one plugin script.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.suspend( (): Schema.Codec => @@ -33187,12 +42319,20 @@ export const V2TurnStartResponse__ThreadItem = Schema.Union( mcpAppResourceUri: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ - description: "Deprecated: use `appContext.resourceUri` instead.", + description: + "Legacy compatibility field; prefer `mcpAppUi.resourceUri` when available.", }), Schema.Null, ]), ), + mcpAppUi: Schema.optionalKey( + Schema.Union([V2TurnStartResponse__McpAppUi, Schema.Null]).annotate({ + description: + "Presentation captured from the invoked descriptor; absent in older history.", + }), + ), pluginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + readOnlyHint: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), result: Schema.optionalKey( Schema.Union([V2TurnStartResponse__McpToolCallResult, Schema.Null]), ), @@ -33314,6 +42454,9 @@ export const V2TurnStartResponse__ThreadItem = Schema.Union( description: "Display item emitted by the interruptible `clock.sleep` tool.", }), Schema.Struct({ + failure: Schema.optionalKey( + Schema.Union([V2TurnStartResponse__ImageGenerationFailure, Schema.Null]), + ), id: Schema.String, result: Schema.String, revisedPrompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -33321,6 +42464,7 @@ export const V2TurnStartResponse__ThreadItem = Schema.Union( Schema.Union([V2TurnStartResponse__AbsolutePathBuf, Schema.Null]), ), status: Schema.String, + transparentBackground: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), type: Schema.Literal("imageGeneration").annotate({ title: "ImageGenerationThreadItemType" }), }).annotate({ title: "ImageGenerationThreadItem" }), Schema.Struct({ @@ -33347,6 +42491,122 @@ export const V2TurnStartResponse__ThreadItem = Schema.Union( { mode: "oneOf" }, ).annotate({ identifier: "V2TurnStartResponse__ThreadItem" }); +export type ClientRequest__TurnStartParams = { + readonly approvalPolicy?: ClientRequest__AskForApproval | null; + readonly approvalsReviewer?: ClientRequest__ApprovalsReviewer | null; + readonly clientUserMessageId?: string | null; + readonly cwd?: string | null; + readonly disabledPluginIds?: ReadonlyArray | null; + readonly effort?: ClientRequest__ReasoningEffort | null; + readonly input: ReadonlyArray; + readonly model?: string | null; + readonly outputSchema?: Schema.Json; + readonly personality?: ClientRequest__Personality | null; + readonly sandboxPolicy?: ClientRequest__SandboxPolicy | null; + readonly serviceTier?: string | null; + readonly serviceTierForTurn?: string | null; + readonly summary?: ClientRequest__ReasoningSummary | null; + readonly threadId: string; + readonly toolOutput?: ClientRequest__TurnToolOutput | null; + readonly turnTrigger?: string | null; +}; +export const ClientRequest__TurnStartParams = Schema.Struct({ + approvalPolicy: Schema.optionalKey( + Schema.Union([ClientRequest__AskForApproval, Schema.Null]).annotate({ + description: "Override the approval policy for this turn and subsequent turns.", + }), + ), + approvalsReviewer: Schema.optionalKey( + Schema.Union([ClientRequest__ApprovalsReviewer, Schema.Null]).annotate({ + description: + "Override where approval requests are routed for review on this turn and subsequent turns.", + }), + ), + clientUserMessageId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + cwd: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Override the working directory for this turn and subsequent turns.", + }), + Schema.Null, + ]), + ), + disabledPluginIds: Schema.optionalKey( + Schema.Union([ + Schema.Array(Schema.String).annotate({ + description: + "Replace this thread's disabled plugin IDs. Omitted/null preserves the list; [] clears it.", + }), + Schema.Null, + ]), + ), + effort: Schema.optionalKey( + Schema.Union([ClientRequest__ReasoningEffort, Schema.Null]).annotate({ + description: "Override the reasoning effort for this turn and subsequent turns.", + }), + ), + input: Schema.Array(ClientRequest__UserInput), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Override the model for this turn and subsequent turns.", + }), + Schema.Null, + ]), + ), + outputSchema: Schema.optionalKey( + Schema.Json.annotate({ + expected: "JSON value", + description: + "Optional JSON Schema used to constrain the final assistant message for this turn.", + }), + ), + personality: Schema.optionalKey( + Schema.Union([ClientRequest__Personality, Schema.Null]).annotate({ + description: + "@deprecated `friendly` and `pragmatic` no longer select a style. Changing this does not rewrite the thread's existing instructions.", + }), + ), + sandboxPolicy: Schema.optionalKey( + Schema.Union([ClientRequest__SandboxPolicy, Schema.Null]).annotate({ + description: "Override the sandbox policy for this turn and subsequent turns.", + }), + ), + serviceTier: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Override the service tier for this turn and subsequent turns.", + }), + Schema.Null, + ]), + ), + serviceTierForTurn: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Override the service tier only when this request starts a new turn. Use \"default\" for standard speed. Omitted or null inherits the thread's tier. Does not change the thread's tier or a turn being steered.", + }), + Schema.Null, + ]), + ), + summary: Schema.optionalKey( + Schema.Union([ClientRequest__ReasoningSummary, Schema.Null]).annotate({ + description: "Override the reasoning summary for this turn and subsequent turns.", + }), + ), + threadId: Schema.String, + toolOutput: Schema.optionalKey(Schema.Union([ClientRequest__TurnToolOutput, Schema.Null])), + turnTrigger: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Optional source classification for the caller that starts this turn. Ignored when this request steers an already-active turn.", + }), + Schema.Null, + ]), + ), +}).annotate({ identifier: "ClientRequest__TurnStartParams" }); + export type CommandExecutionRequestApprovalParams__AdditionalFileSystemPermissions = { readonly entries?: ReadonlyArray | null; readonly globScanMaxDepth?: number | null; @@ -33490,6 +42750,15 @@ export const PermissionsRequestApprovalResponse__AdditionalFileSystemPermissions ), }).annotate({ identifier: "PermissionsRequestApprovalResponse__AdditionalFileSystemPermissions" }); +export type ServerNotification__ThreadSettingsUpdatedNotification = { + readonly threadId: string; + readonly threadSettings: ServerNotification__ThreadSettings; +}; +export const ServerNotification__ThreadSettingsUpdatedNotification = Schema.Struct({ + threadId: Schema.String, + threadSettings: ServerNotification__ThreadSettings, +}).annotate({ identifier: "ServerNotification__ThreadSettingsUpdatedNotification" }); + export type ServerNotification__Turn = { readonly completedAt?: number | null; readonly durationMs?: number | null; @@ -33622,15 +42891,6 @@ export const ServerNotification__AdditionalFileSystemPermissions = Schema.Struct ), }).annotate({ identifier: "ServerNotification__AdditionalFileSystemPermissions" }); -export type ServerNotification__ThreadSettingsUpdatedNotification = { - readonly threadId: string; - readonly threadSettings: ServerNotification__ThreadSettings; -}; -export const ServerNotification__ThreadSettingsUpdatedNotification = Schema.Struct({ - threadId: Schema.String, - threadSettings: ServerNotification__ThreadSettings, -}).annotate({ identifier: "ServerNotification__ThreadSettingsUpdatedNotification" }); - export type ServerRequest__AdditionalFileSystemPermissions = { readonly entries?: ReadonlyArray | null; readonly globScanMaxDepth?: number | null; @@ -33681,6 +42941,230 @@ export const ServerRequest__McpElicitationEnumSchema = Schema.Union([ ServerRequest__McpElicitationLegacyTitledEnumSchema, ]).annotate({ identifier: "ServerRequest__McpElicitationEnumSchema" }); +export type V2ConfigReadResponse__Config = { + readonly analytics?: V2ConfigReadResponse__AnalyticsConfig | null; + readonly approval_policy?: V2ConfigReadResponse__AskForApproval | null; + readonly approvals_reviewer?: V2ConfigReadResponse__ApprovalsReviewer | null; + readonly browser_use?: V2ConfigReadResponse__BrowserUseConfig | null; + readonly compact_prompt?: string | null; + readonly computer_use?: V2ConfigReadResponse__ComputerUseConfig | null; + readonly desktop?: { readonly [x: string]: Schema.Json } | null; + readonly developer_instructions?: string | null; + readonly forced_chatgpt_workspace_id?: V2ConfigReadResponse__ForcedChatgptWorkspaceIds | null; + readonly forced_login_method?: V2ConfigReadResponse__ForcedLoginMethod | null; + readonly instructions?: string | null; + readonly model?: string | null; + readonly model_auto_compact_token_limit?: number | null; + readonly model_auto_compact_token_limit_scope?: V2ConfigReadResponse__AutoCompactTokenLimitScope | null; + readonly model_context_window?: number | null; + readonly model_provider?: string | null; + readonly model_reasoning_effort?: V2ConfigReadResponse__ReasoningEffort | null; + readonly model_reasoning_summary?: V2ConfigReadResponse__ReasoningSummary | null; + readonly model_verbosity?: V2ConfigReadResponse__Verbosity | null; + readonly review_model?: string | null; + readonly sandbox_mode?: V2ConfigReadResponse__SandboxMode | null; + readonly sandbox_workspace_write?: V2ConfigReadResponse__SandboxWorkspaceWrite | null; + readonly service_tier?: string | null; + readonly tools?: V2ConfigReadResponse__ToolsV2 | null; + readonly web_search?: V2ConfigReadResponse__WebSearchMode | null; +} & { readonly [x: string]: Schema.Json }; +export const V2ConfigReadResponse__Config = Schema.StructWithRest( + Schema.Struct({ + analytics: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__AnalyticsConfig, Schema.Null]), + ), + approval_policy: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__AskForApproval, Schema.Null]), + ), + approvals_reviewer: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__ApprovalsReviewer, Schema.Null]).annotate({ + description: + "[UNSTABLE] Optional default for where approval requests are routed for review.", + }), + ), + browser_use: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__BrowserUseConfig, Schema.Null]), + ), + compact_prompt: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + computer_use: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__ComputerUseConfig, Schema.Null]), + ), + desktop: Schema.optionalKey( + Schema.Union([ + Schema.Record(Schema.String, Schema.Json.annotate({ expected: "JSON value" })), + Schema.Null, + ]), + ), + developer_instructions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + forced_chatgpt_workspace_id: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__ForcedChatgptWorkspaceIds, Schema.Null]), + ), + forced_login_method: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__ForcedLoginMethod, Schema.Null]), + ), + instructions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + model: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + model_auto_compact_token_limit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + model_auto_compact_token_limit_scope: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__AutoCompactTokenLimitScope, Schema.Null]), + ), + model_context_window: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "int64" }).check( + Schema.isInt().annotate({ expected: "an integer" }), + ), + Schema.Null, + ]), + ), + model_provider: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + model_reasoning_effort: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__ReasoningEffort, Schema.Null]), + ), + model_reasoning_summary: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__ReasoningSummary, Schema.Null]), + ), + model_verbosity: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__Verbosity, Schema.Null]), + ), + review_model: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + sandbox_mode: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__SandboxMode, Schema.Null]), + ), + sandbox_workspace_write: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__SandboxWorkspaceWrite, Schema.Null]), + ), + service_tier: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + tools: Schema.optionalKey(Schema.Union([V2ConfigReadResponse__ToolsV2, Schema.Null])), + web_search: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__WebSearchMode, Schema.Null]), + ), + }), + [Schema.Record(Schema.String, Schema.Json.annotate({ expected: "JSON value" }))], +).annotate({ identifier: "V2ConfigReadResponse__Config" }); + +export type V2ConfigRequirementsReadResponse__ConfigRequirements = { + readonly additionalDeveloperInstructions?: string | null; + readonly allowAppshots?: boolean | null; + readonly allowBrowserAndComputerUse?: boolean | null; + readonly allowLoginShell?: boolean | null; + readonly allowManagedHooksOnly?: boolean | null; + readonly allowRemoteControl?: boolean | null; + readonly allowedApprovalPolicies?: ReadonlyArray | null; + readonly allowedLoginMethods?: ReadonlyArray | null; + readonly allowedPermissionProfiles?: { readonly [x: string]: boolean } | null; + readonly allowedSandboxModes?: ReadonlyArray | null; + readonly allowedWebSearchModes?: ReadonlyArray | null; + readonly allowedWindowsSandboxImplementations?: ReadonlyArray | null; + readonly autoReview?: V2ConfigRequirementsReadResponse__AutoReviewRequirements | null; + readonly browserUse?: V2ConfigRequirementsReadResponse__BrowserUseRequirements | null; + readonly chatgptBaseUrl?: string | null; + readonly checkForUpdateOnStartup?: boolean | null; + readonly cliAuthCredentialsStore?: V2ConfigRequirementsReadResponse__CliAuthCredentialsStoreMode | null; + readonly computerUse?: V2ConfigRequirementsReadResponse__ComputerUseRequirements | null; + readonly defaultPermissions?: string | null; + readonly enforceResidency?: V2ConfigRequirementsReadResponse__ResidencyRequirement | null; + readonly featureRequirements?: { readonly [x: string]: boolean } | null; + readonly feedback?: V2ConfigRequirementsReadResponse__FeedbackRequirements | null; + readonly inAppBrowser?: V2ConfigRequirementsReadResponse__InAppBrowserRequirements | null; + readonly logDir?: string | null; + readonly modelCatalogJson?: string | null; + readonly modelProvider?: string | null; + readonly modelProviders?: { readonly [x: string]: Schema.Json } | null; + readonly models?: V2ConfigRequirementsReadResponse__ModelsRequirements | null; + readonly sqliteHome?: string | null; +}; +export const V2ConfigRequirementsReadResponse__ConfigRequirements = Schema.Struct({ + additionalDeveloperInstructions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + allowAppshots: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + allowBrowserAndComputerUse: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + allowLoginShell: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + allowManagedHooksOnly: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + allowRemoteControl: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + allowedApprovalPolicies: Schema.optionalKey( + Schema.Union([Schema.Array(V2ConfigRequirementsReadResponse__AskForApproval), Schema.Null]), + ), + allowedLoginMethods: Schema.optionalKey( + Schema.Union([ + Schema.Array(V2ConfigRequirementsReadResponse__ForcedLoginMethod).annotate({ + description: + "Effective login methods after managed, forced-login, and workspace restrictions. An empty list permits no login method. Older servers may omit this field.", + }), + Schema.Null, + ]), + ), + allowedPermissionProfiles: Schema.optionalKey( + Schema.Union([Schema.Record(Schema.String, Schema.Boolean), Schema.Null]), + ), + allowedSandboxModes: Schema.optionalKey( + Schema.Union([Schema.Array(V2ConfigRequirementsReadResponse__SandboxMode), Schema.Null]), + ), + allowedWebSearchModes: Schema.optionalKey( + Schema.Union([Schema.Array(V2ConfigRequirementsReadResponse__WebSearchMode), Schema.Null]), + ), + allowedWindowsSandboxImplementations: Schema.optionalKey( + Schema.Union([ + Schema.Array(V2ConfigRequirementsReadResponse__WindowsSandboxImplementation), + Schema.Null, + ]), + ), + autoReview: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__AutoReviewRequirements, Schema.Null]), + ), + browserUse: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__BrowserUseRequirements, Schema.Null]), + ), + chatgptBaseUrl: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + checkForUpdateOnStartup: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), + cliAuthCredentialsStore: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__CliAuthCredentialsStoreMode, Schema.Null]), + ), + computerUse: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__ComputerUseRequirements, Schema.Null]), + ), + defaultPermissions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + enforceResidency: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__ResidencyRequirement, Schema.Null]), + ), + featureRequirements: Schema.optionalKey( + Schema.Union([Schema.Record(Schema.String, Schema.Boolean), Schema.Null]), + ), + feedback: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__FeedbackRequirements, Schema.Null]), + ), + inAppBrowser: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__InAppBrowserRequirements, Schema.Null]), + ), + logDir: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + modelCatalogJson: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + modelProvider: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Exact provider selection required by managed policy.", + }), + Schema.Null, + ]), + ), + modelProviders: Schema.optionalKey( + Schema.Union([ + Schema.Record(Schema.String, Schema.Json.annotate({ expected: "JSON value" })).annotate({ + description: "Complete required provider definitions, using config.toml field names.", + }), + Schema.Null, + ]), + ), + models: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__ModelsRequirements, Schema.Null]), + ), + sqliteHome: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ identifier: "V2ConfigRequirementsReadResponse__ConfigRequirements" }); + export type V2ItemGuardianApprovalReviewCompletedNotification__AdditionalFileSystemPermissions = { readonly entries?: ReadonlyArray | null; readonly globScanMaxDepth?: number | null; @@ -33822,6 +43306,7 @@ export type V2PluginReadResponse__PluginDetail = { readonly marketplaceName: string; readonly marketplacePath?: V2PluginReadResponse__AbsolutePathBuf | null; readonly mcpServers: ReadonlyArray; + readonly onboardingSkill?: V2PluginReadResponse__SkillSummary | null; readonly scheduledTasks?: ReadonlyArray | null; readonly shareUrl?: string | null; readonly skills: ReadonlyArray; @@ -33837,6 +43322,11 @@ export const V2PluginReadResponse__PluginDetail = Schema.Struct({ Schema.Union([V2PluginReadResponse__AbsolutePathBuf, Schema.Null]), ), mcpServers: Schema.Array(Schema.String), + onboardingSkill: Schema.optionalKey( + Schema.Union([V2PluginReadResponse__SkillSummary, Schema.Null]).annotate({ + description: "The declared onboarding skill, when the plugin and visible skill are enabled.", + }), + ), scheduledTasks: Schema.optionalKey( Schema.Union([Schema.Array(V2PluginReadResponse__ScheduledTaskSummary), Schema.Null]), ), @@ -33977,6 +43467,15 @@ export const V2ThreadForkResponse__Turn = Schema.Struct({ status: V2ThreadForkResponse__TurnStatus, }).annotate({ identifier: "V2ThreadForkResponse__Turn" }); +export type V2ThreadItemsListResponse__ThreadItemEntry = { + readonly item: V2ThreadItemsListResponse__ThreadItem; + readonly turnId: string; +}; +export const V2ThreadItemsListResponse__ThreadItemEntry = Schema.Struct({ + item: V2ThreadItemsListResponse__ThreadItem, + turnId: Schema.String.annotate({ description: "Turn containing this item." }), +}).annotate({ identifier: "V2ThreadItemsListResponse__ThreadItemEntry" }); + export type V2ThreadListResponse__Turn = { readonly completedAt?: number | null; readonly durationMs?: number | null; @@ -34219,17 +43718,17 @@ export const V2ThreadResumeResponse__Turn = Schema.Struct({ status: V2ThreadResumeResponse__TurnStatus, }).annotate({ identifier: "V2ThreadResumeResponse__Turn" }); -export type V2ThreadRollbackResponse__Turn = { +export type V2ThreadRevertResponse__Turn = { readonly completedAt?: number | null; readonly durationMs?: number | null; - readonly error?: V2ThreadRollbackResponse__TurnError | null; + readonly error?: V2ThreadRevertResponse__TurnError | null; readonly id: string; - readonly items: ReadonlyArray; - readonly itemsView?: V2ThreadRollbackResponse__TurnItemsView; + readonly items: ReadonlyArray; + readonly itemsView?: V2ThreadRevertResponse__TurnItemsView; readonly startedAt?: number | null; - readonly status: V2ThreadRollbackResponse__TurnStatus; + readonly status: V2ThreadRevertResponse__TurnStatus; }; -export const V2ThreadRollbackResponse__Turn = Schema.Struct({ +export const V2ThreadRevertResponse__Turn = Schema.Struct({ completedAt: Schema.optionalKey( Schema.Union([ Schema.Number.annotate({ @@ -34249,20 +43748,20 @@ export const V2ThreadRollbackResponse__Turn = Schema.Struct({ ]), ), error: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__TurnError, Schema.Null]).annotate({ + Schema.Union([V2ThreadRevertResponse__TurnError, Schema.Null]).annotate({ description: "Only populated when the Turn's status is failed.", }), ), id: Schema.String.annotate({ description: "Identifier for this turn. Codex-generated turn IDs are UUIDv7.", }), - items: Schema.Array(V2ThreadRollbackResponse__ThreadItem).annotate({ + items: Schema.Array(V2ThreadRevertResponse__ThreadItem).annotate({ description: "Thread items currently included in this turn payload.", }), itemsView: Schema.optionalKey( Schema.suspend( - (): Schema.Codec => - V2ThreadRollbackResponse__TurnItemsView, + (): Schema.Codec => + V2ThreadRevertResponse__TurnItemsView, ).annotate({ description: "Describes how much of `items` has been loaded for this turn.", default: "full", @@ -34277,8 +43776,8 @@ export const V2ThreadRollbackResponse__Turn = Schema.Struct({ Schema.Null, ]), ), - status: V2ThreadRollbackResponse__TurnStatus, -}).annotate({ identifier: "V2ThreadRollbackResponse__Turn" }); + status: V2ThreadRevertResponse__TurnStatus, +}).annotate({ identifier: "V2ThreadRevertResponse__Turn" }); export type V2ThreadStartedNotification__Turn = { readonly completedAt?: number | null; @@ -34402,6 +43901,67 @@ export const V2ThreadStartResponse__Turn = Schema.Struct({ status: V2ThreadStartResponse__TurnStatus, }).annotate({ identifier: "V2ThreadStartResponse__Turn" }); +export type V2ThreadTurnsListResponse__Turn = { + readonly completedAt?: number | null; + readonly durationMs?: number | null; + readonly error?: V2ThreadTurnsListResponse__TurnError | null; + readonly id: string; + readonly items: ReadonlyArray; + readonly itemsView?: V2ThreadTurnsListResponse__TurnItemsView; + readonly startedAt?: number | null; + readonly status: V2ThreadTurnsListResponse__TurnStatus; +}; +export const V2ThreadTurnsListResponse__Turn = Schema.Struct({ + completedAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Unix timestamp (in seconds) when the turn completed.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), + durationMs: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Duration between turn start and completion in milliseconds, if known.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), + error: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListResponse__TurnError, Schema.Null]).annotate({ + description: "Only populated when the Turn's status is failed.", + }), + ), + id: Schema.String.annotate({ + description: "Identifier for this turn. Codex-generated turn IDs are UUIDv7.", + }), + items: Schema.Array(V2ThreadTurnsListResponse__ThreadItem).annotate({ + description: "Thread items currently included in this turn payload.", + }), + itemsView: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + V2ThreadTurnsListResponse__TurnItemsView, + ).annotate({ + description: "Describes how much of `items` has been loaded for this turn.", + default: "full", + }), + ), + startedAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Unix timestamp (in seconds) when the turn started.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), + status: V2ThreadTurnsListResponse__TurnStatus, +}).annotate({ identifier: "V2ThreadTurnsListResponse__Turn" }); + export type V2ThreadUnarchiveResponse__Turn = { readonly completedAt?: number | null; readonly durationMs?: number | null; @@ -34695,13 +44255,20 @@ export type ServerNotification__Thread = { readonly ephemeral: boolean; readonly forkedFromId?: string | null; readonly gitInfo?: ServerNotification__GitInfo | null; + readonly historyMode?: ServerNotification__ThreadHistoryMode; readonly id: string; + readonly model?: string | null; readonly modelProvider: string; readonly name?: string | null; + readonly originator?: string | null; readonly parentThreadId?: string | null; readonly path?: string | null; readonly preview: string; + readonly projectId: string | null; + readonly reasoningEffort?: ServerNotification__ReasoningEffort | null; readonly recencyAt?: number | null; + readonly section?: ServerNotification__ThreadSection | null; + readonly sectionEnteredAt?: number | null; readonly sessionId: string; readonly source: ServerNotification__SessionSource; readonly status: ServerNotification__ThreadStatus; @@ -34753,9 +44320,27 @@ export const ServerNotification__Thread = Schema.Struct({ description: "Optional Git metadata captured when the thread was created.", }), ), + historyMode: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + ServerNotification__ThreadHistoryMode, + ).annotate({ + description: "Persisted thread history contract selected when this thread was created.", + default: "legacy", + }), + ), id: Schema.String.annotate({ description: "Identifier for this thread. Codex-generated thread IDs are UUIDv7.", }), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Current configured model when loaded, otherwise the latest persisted model. Null when unavailable. This is not per-turn execution telemetry.", + }), + Schema.Null, + ]), + ), modelProvider: Schema.String.annotate({ description: "Model provider used for this thread (for example, 'openai').", }), @@ -34765,6 +44350,15 @@ export const ServerNotification__Thread = Schema.Struct({ Schema.Null, ]), ), + originator: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Originator recorded when the thread was created, independent of its current client or executor. Null when the recorded originator is unavailable.", + }), + Schema.Null, + ]), + ), parentThreadId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -34783,6 +44377,18 @@ export const ServerNotification__Thread = Schema.Struct({ preview: Schema.String.annotate({ description: "Usually the first user message in the thread, if available.", }), + projectId: Schema.Union([ + Schema.String.annotate({ + description: "Canonical project assignment owned by app-server, if any.", + }), + Schema.Null, + ]), + reasoningEffort: Schema.optionalKey( + Schema.Union([ServerNotification__ReasoningEffort, Schema.Null]).annotate({ + description: + "Current configured reasoning effort when loaded, otherwise the latest persisted effort. Null when unset or unavailable. This is not per-turn execution telemetry.", + }), + ), recencyAt: Schema.optionalKey( Schema.Union([ Schema.Number.annotate({ @@ -34792,6 +44398,20 @@ export const ServerNotification__Thread = Schema.Struct({ Schema.Null, ]), ), + section: Schema.optionalKey( + Schema.Union([ServerNotification__ThreadSection, Schema.Null]).annotate({ + description: "The independently persisted section selected for this thread, if any.", + }), + ), + sectionEnteredAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Unix timestamp in seconds when the thread entered its current section.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), sessionId: Schema.String.annotate({ description: "Session id shared by threads that belong to the same session tree.", }), @@ -34810,7 +44430,7 @@ export const ServerNotification__Thread = Schema.Struct({ ), turns: Schema.Array(ServerNotification__Turn).annotate({ description: - "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", + "Only populated on `thread/resume`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", }), updatedAt: Schema.Number.annotate({ description: "Unix timestamp (in seconds) when the thread was last updated.", @@ -34927,13 +44547,20 @@ export type V2ThreadForkResponse__Thread = { readonly ephemeral: boolean; readonly forkedFromId?: string | null; readonly gitInfo?: V2ThreadForkResponse__GitInfo | null; + readonly historyMode?: V2ThreadForkResponse__ThreadHistoryMode; readonly id: string; + readonly model?: string | null; readonly modelProvider: string; readonly name?: string | null; + readonly originator?: string | null; readonly parentThreadId?: string | null; readonly path?: string | null; readonly preview: string; + readonly projectId: string | null; + readonly reasoningEffort?: V2ThreadForkResponse__ReasoningEffort | null; readonly recencyAt?: number | null; + readonly section?: V2ThreadForkResponse__ThreadSection | null; + readonly sectionEnteredAt?: number | null; readonly sessionId: string; readonly source: V2ThreadForkResponse__SessionSource; readonly status: V2ThreadForkResponse__ThreadStatus; @@ -34986,9 +44613,27 @@ export const V2ThreadForkResponse__Thread = Schema.Struct({ description: "Optional Git metadata captured when the thread was created.", }), ), + historyMode: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + V2ThreadForkResponse__ThreadHistoryMode, + ).annotate({ + description: "Persisted thread history contract selected when this thread was created.", + default: "legacy", + }), + ), id: Schema.String.annotate({ description: "Identifier for this thread. Codex-generated thread IDs are UUIDv7.", }), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Current configured model when loaded, otherwise the latest persisted model. Null when unavailable. This is not per-turn execution telemetry.", + }), + Schema.Null, + ]), + ), modelProvider: Schema.String.annotate({ description: "Model provider used for this thread (for example, 'openai').", }), @@ -34998,6 +44643,15 @@ export const V2ThreadForkResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + originator: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Originator recorded when the thread was created, independent of its current client or executor. Null when the recorded originator is unavailable.", + }), + Schema.Null, + ]), + ), parentThreadId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -35016,6 +44670,18 @@ export const V2ThreadForkResponse__Thread = Schema.Struct({ preview: Schema.String.annotate({ description: "Usually the first user message in the thread, if available.", }), + projectId: Schema.Union([ + Schema.String.annotate({ + description: "Canonical project assignment owned by app-server, if any.", + }), + Schema.Null, + ]), + reasoningEffort: Schema.optionalKey( + Schema.Union([V2ThreadForkResponse__ReasoningEffort, Schema.Null]).annotate({ + description: + "Current configured reasoning effort when loaded, otherwise the latest persisted effort. Null when unset or unavailable. This is not per-turn execution telemetry.", + }), + ), recencyAt: Schema.optionalKey( Schema.Union([ Schema.Number.annotate({ @@ -35025,6 +44691,20 @@ export const V2ThreadForkResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + section: Schema.optionalKey( + Schema.Union([V2ThreadForkResponse__ThreadSection, Schema.Null]).annotate({ + description: "The independently persisted section selected for this thread, if any.", + }), + ), + sectionEnteredAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Unix timestamp in seconds when the thread entered its current section.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), sessionId: Schema.String.annotate({ description: "Session id shared by threads that belong to the same session tree.", }), @@ -35043,7 +44723,7 @@ export const V2ThreadForkResponse__Thread = Schema.Struct({ ), turns: Schema.Array(V2ThreadForkResponse__Turn).annotate({ description: - "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", + "Only populated on `thread/resume`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", }), updatedAt: Schema.Number.annotate({ description: "Unix timestamp (in seconds) when the thread was last updated.", @@ -35060,13 +44740,20 @@ export type V2ThreadListResponse__Thread = { readonly ephemeral: boolean; readonly forkedFromId?: string | null; readonly gitInfo?: V2ThreadListResponse__GitInfo | null; + readonly historyMode?: V2ThreadListResponse__ThreadHistoryMode; readonly id: string; + readonly model?: string | null; readonly modelProvider: string; readonly name?: string | null; + readonly originator?: string | null; readonly parentThreadId?: string | null; readonly path?: string | null; readonly preview: string; + readonly projectId: string | null; + readonly reasoningEffort?: V2ThreadListResponse__ReasoningEffort | null; readonly recencyAt?: number | null; + readonly section?: V2ThreadListResponse__ThreadSection | null; + readonly sectionEnteredAt?: number | null; readonly sessionId: string; readonly source: V2ThreadListResponse__SessionSource; readonly status: V2ThreadListResponse__ThreadStatus; @@ -35119,9 +44806,27 @@ export const V2ThreadListResponse__Thread = Schema.Struct({ description: "Optional Git metadata captured when the thread was created.", }), ), + historyMode: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + V2ThreadListResponse__ThreadHistoryMode, + ).annotate({ + description: "Persisted thread history contract selected when this thread was created.", + default: "legacy", + }), + ), id: Schema.String.annotate({ description: "Identifier for this thread. Codex-generated thread IDs are UUIDv7.", }), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Current configured model when loaded, otherwise the latest persisted model. Null when unavailable. This is not per-turn execution telemetry.", + }), + Schema.Null, + ]), + ), modelProvider: Schema.String.annotate({ description: "Model provider used for this thread (for example, 'openai').", }), @@ -35131,6 +44836,15 @@ export const V2ThreadListResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + originator: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Originator recorded when the thread was created, independent of its current client or executor. Null when the recorded originator is unavailable.", + }), + Schema.Null, + ]), + ), parentThreadId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -35149,6 +44863,18 @@ export const V2ThreadListResponse__Thread = Schema.Struct({ preview: Schema.String.annotate({ description: "Usually the first user message in the thread, if available.", }), + projectId: Schema.Union([ + Schema.String.annotate({ + description: "Canonical project assignment owned by app-server, if any.", + }), + Schema.Null, + ]), + reasoningEffort: Schema.optionalKey( + Schema.Union([V2ThreadListResponse__ReasoningEffort, Schema.Null]).annotate({ + description: + "Current configured reasoning effort when loaded, otherwise the latest persisted effort. Null when unset or unavailable. This is not per-turn execution telemetry.", + }), + ), recencyAt: Schema.optionalKey( Schema.Union([ Schema.Number.annotate({ @@ -35158,6 +44884,20 @@ export const V2ThreadListResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + section: Schema.optionalKey( + Schema.Union([V2ThreadListResponse__ThreadSection, Schema.Null]).annotate({ + description: "The independently persisted section selected for this thread, if any.", + }), + ), + sectionEnteredAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Unix timestamp in seconds when the thread entered its current section.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), sessionId: Schema.String.annotate({ description: "Session id shared by threads that belong to the same session tree.", }), @@ -35176,7 +44916,7 @@ export const V2ThreadListResponse__Thread = Schema.Struct({ ), turns: Schema.Array(V2ThreadListResponse__Turn).annotate({ description: - "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", + "Only populated on `thread/resume`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", }), updatedAt: Schema.Number.annotate({ description: "Unix timestamp (in seconds) when the thread was last updated.", @@ -35193,13 +44933,20 @@ export type V2ThreadMetadataUpdateResponse__Thread = { readonly ephemeral: boolean; readonly forkedFromId?: string | null; readonly gitInfo?: V2ThreadMetadataUpdateResponse__GitInfo | null; + readonly historyMode?: V2ThreadMetadataUpdateResponse__ThreadHistoryMode; readonly id: string; + readonly model?: string | null; readonly modelProvider: string; readonly name?: string | null; + readonly originator?: string | null; readonly parentThreadId?: string | null; readonly path?: string | null; readonly preview: string; + readonly projectId: string | null; + readonly reasoningEffort?: V2ThreadMetadataUpdateResponse__ReasoningEffort | null; readonly recencyAt?: number | null; + readonly section?: V2ThreadMetadataUpdateResponse__ThreadSection | null; + readonly sectionEnteredAt?: number | null; readonly sessionId: string; readonly source: V2ThreadMetadataUpdateResponse__SessionSource; readonly status: V2ThreadMetadataUpdateResponse__ThreadStatus; @@ -35252,9 +44999,27 @@ export const V2ThreadMetadataUpdateResponse__Thread = Schema.Struct({ description: "Optional Git metadata captured when the thread was created.", }), ), + historyMode: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + V2ThreadMetadataUpdateResponse__ThreadHistoryMode, + ).annotate({ + description: "Persisted thread history contract selected when this thread was created.", + default: "legacy", + }), + ), id: Schema.String.annotate({ description: "Identifier for this thread. Codex-generated thread IDs are UUIDv7.", }), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Current configured model when loaded, otherwise the latest persisted model. Null when unavailable. This is not per-turn execution telemetry.", + }), + Schema.Null, + ]), + ), modelProvider: Schema.String.annotate({ description: "Model provider used for this thread (for example, 'openai').", }), @@ -35264,6 +45029,15 @@ export const V2ThreadMetadataUpdateResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + originator: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Originator recorded when the thread was created, independent of its current client or executor. Null when the recorded originator is unavailable.", + }), + Schema.Null, + ]), + ), parentThreadId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -35282,6 +45056,18 @@ export const V2ThreadMetadataUpdateResponse__Thread = Schema.Struct({ preview: Schema.String.annotate({ description: "Usually the first user message in the thread, if available.", }), + projectId: Schema.Union([ + Schema.String.annotate({ + description: "Canonical project assignment owned by app-server, if any.", + }), + Schema.Null, + ]), + reasoningEffort: Schema.optionalKey( + Schema.Union([V2ThreadMetadataUpdateResponse__ReasoningEffort, Schema.Null]).annotate({ + description: + "Current configured reasoning effort when loaded, otherwise the latest persisted effort. Null when unset or unavailable. This is not per-turn execution telemetry.", + }), + ), recencyAt: Schema.optionalKey( Schema.Union([ Schema.Number.annotate({ @@ -35291,6 +45077,20 @@ export const V2ThreadMetadataUpdateResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + section: Schema.optionalKey( + Schema.Union([V2ThreadMetadataUpdateResponse__ThreadSection, Schema.Null]).annotate({ + description: "The independently persisted section selected for this thread, if any.", + }), + ), + sectionEnteredAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Unix timestamp in seconds when the thread entered its current section.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), sessionId: Schema.String.annotate({ description: "Session id shared by threads that belong to the same session tree.", }), @@ -35311,7 +45111,7 @@ export const V2ThreadMetadataUpdateResponse__Thread = Schema.Struct({ ), turns: Schema.Array(V2ThreadMetadataUpdateResponse__Turn).annotate({ description: - "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", + "Only populated on `thread/resume`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", }), updatedAt: Schema.Number.annotate({ description: "Unix timestamp (in seconds) when the thread was last updated.", @@ -35328,13 +45128,20 @@ export type V2ThreadReadResponse__Thread = { readonly ephemeral: boolean; readonly forkedFromId?: string | null; readonly gitInfo?: V2ThreadReadResponse__GitInfo | null; + readonly historyMode?: V2ThreadReadResponse__ThreadHistoryMode; readonly id: string; + readonly model?: string | null; readonly modelProvider: string; readonly name?: string | null; + readonly originator?: string | null; readonly parentThreadId?: string | null; readonly path?: string | null; readonly preview: string; + readonly projectId: string | null; + readonly reasoningEffort?: V2ThreadReadResponse__ReasoningEffort | null; readonly recencyAt?: number | null; + readonly section?: V2ThreadReadResponse__ThreadSection | null; + readonly sectionEnteredAt?: number | null; readonly sessionId: string; readonly source: V2ThreadReadResponse__SessionSource; readonly status: V2ThreadReadResponse__ThreadStatus; @@ -35387,9 +45194,27 @@ export const V2ThreadReadResponse__Thread = Schema.Struct({ description: "Optional Git metadata captured when the thread was created.", }), ), + historyMode: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + V2ThreadReadResponse__ThreadHistoryMode, + ).annotate({ + description: "Persisted thread history contract selected when this thread was created.", + default: "legacy", + }), + ), id: Schema.String.annotate({ description: "Identifier for this thread. Codex-generated thread IDs are UUIDv7.", }), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Current configured model when loaded, otherwise the latest persisted model. Null when unavailable. This is not per-turn execution telemetry.", + }), + Schema.Null, + ]), + ), modelProvider: Schema.String.annotate({ description: "Model provider used for this thread (for example, 'openai').", }), @@ -35399,6 +45224,15 @@ export const V2ThreadReadResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + originator: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Originator recorded when the thread was created, independent of its current client or executor. Null when the recorded originator is unavailable.", + }), + Schema.Null, + ]), + ), parentThreadId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -35417,6 +45251,18 @@ export const V2ThreadReadResponse__Thread = Schema.Struct({ preview: Schema.String.annotate({ description: "Usually the first user message in the thread, if available.", }), + projectId: Schema.Union([ + Schema.String.annotate({ + description: "Canonical project assignment owned by app-server, if any.", + }), + Schema.Null, + ]), + reasoningEffort: Schema.optionalKey( + Schema.Union([V2ThreadReadResponse__ReasoningEffort, Schema.Null]).annotate({ + description: + "Current configured reasoning effort when loaded, otherwise the latest persisted effort. Null when unset or unavailable. This is not per-turn execution telemetry.", + }), + ), recencyAt: Schema.optionalKey( Schema.Union([ Schema.Number.annotate({ @@ -35426,6 +45272,20 @@ export const V2ThreadReadResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + section: Schema.optionalKey( + Schema.Union([V2ThreadReadResponse__ThreadSection, Schema.Null]).annotate({ + description: "The independently persisted section selected for this thread, if any.", + }), + ), + sectionEnteredAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Unix timestamp in seconds when the thread entered its current section.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), sessionId: Schema.String.annotate({ description: "Session id shared by threads that belong to the same session tree.", }), @@ -35444,7 +45304,7 @@ export const V2ThreadReadResponse__Thread = Schema.Struct({ ), turns: Schema.Array(V2ThreadReadResponse__Turn).annotate({ description: - "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", + "Only populated on `thread/resume`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", }), updatedAt: Schema.Number.annotate({ description: "Unix timestamp (in seconds) when the thread was last updated.", @@ -35461,13 +45321,20 @@ export type V2ThreadResumeResponse__Thread = { readonly ephemeral: boolean; readonly forkedFromId?: string | null; readonly gitInfo?: V2ThreadResumeResponse__GitInfo | null; + readonly historyMode?: V2ThreadResumeResponse__ThreadHistoryMode; readonly id: string; + readonly model?: string | null; readonly modelProvider: string; readonly name?: string | null; + readonly originator?: string | null; readonly parentThreadId?: string | null; readonly path?: string | null; readonly preview: string; + readonly projectId: string | null; + readonly reasoningEffort?: V2ThreadResumeResponse__ReasoningEffort | null; readonly recencyAt?: number | null; + readonly section?: V2ThreadResumeResponse__ThreadSection | null; + readonly sectionEnteredAt?: number | null; readonly sessionId: string; readonly source: V2ThreadResumeResponse__SessionSource; readonly status: V2ThreadResumeResponse__ThreadStatus; @@ -35520,9 +45387,27 @@ export const V2ThreadResumeResponse__Thread = Schema.Struct({ description: "Optional Git metadata captured when the thread was created.", }), ), + historyMode: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + V2ThreadResumeResponse__ThreadHistoryMode, + ).annotate({ + description: "Persisted thread history contract selected when this thread was created.", + default: "legacy", + }), + ), id: Schema.String.annotate({ description: "Identifier for this thread. Codex-generated thread IDs are UUIDv7.", }), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Current configured model when loaded, otherwise the latest persisted model. Null when unavailable. This is not per-turn execution telemetry.", + }), + Schema.Null, + ]), + ), modelProvider: Schema.String.annotate({ description: "Model provider used for this thread (for example, 'openai').", }), @@ -35532,6 +45417,15 @@ export const V2ThreadResumeResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + originator: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Originator recorded when the thread was created, independent of its current client or executor. Null when the recorded originator is unavailable.", + }), + Schema.Null, + ]), + ), parentThreadId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -35550,6 +45444,18 @@ export const V2ThreadResumeResponse__Thread = Schema.Struct({ preview: Schema.String.annotate({ description: "Usually the first user message in the thread, if available.", }), + projectId: Schema.Union([ + Schema.String.annotate({ + description: "Canonical project assignment owned by app-server, if any.", + }), + Schema.Null, + ]), + reasoningEffort: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__ReasoningEffort, Schema.Null]).annotate({ + description: + "Current configured reasoning effort when loaded, otherwise the latest persisted effort. Null when unset or unavailable. This is not per-turn execution telemetry.", + }), + ), recencyAt: Schema.optionalKey( Schema.Union([ Schema.Number.annotate({ @@ -35559,6 +45465,20 @@ export const V2ThreadResumeResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + section: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__ThreadSection, Schema.Null]).annotate({ + description: "The independently persisted section selected for this thread, if any.", + }), + ), + sectionEnteredAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Unix timestamp in seconds when the thread entered its current section.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), sessionId: Schema.String.annotate({ description: "Session id shared by threads that belong to the same session tree.", }), @@ -35578,7 +45498,7 @@ export const V2ThreadResumeResponse__Thread = Schema.Struct({ ), turns: Schema.Array(V2ThreadResumeResponse__Turn).annotate({ description: - "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", + "Only populated on `thread/resume`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", }), updatedAt: Schema.Number.annotate({ description: "Unix timestamp (in seconds) when the thread was last updated.", @@ -35586,30 +45506,37 @@ export const V2ThreadResumeResponse__Thread = Schema.Struct({ }).check(Schema.isInt().annotate({ expected: "an integer" })), }).annotate({ identifier: "V2ThreadResumeResponse__Thread" }); -export type V2ThreadRollbackResponse__Thread = { +export type V2ThreadRevertResponse__Thread = { readonly agentNickname?: string | null; readonly agentRole?: string | null; readonly cliVersion: string; readonly createdAt: number; - readonly cwd: V2ThreadRollbackResponse__AbsolutePathBuf; + readonly cwd: V2ThreadRevertResponse__AbsolutePathBuf; readonly ephemeral: boolean; readonly forkedFromId?: string | null; - readonly gitInfo?: V2ThreadRollbackResponse__GitInfo | null; + readonly gitInfo?: V2ThreadRevertResponse__GitInfo | null; + readonly historyMode?: V2ThreadRevertResponse__ThreadHistoryMode; readonly id: string; + readonly model?: string | null; readonly modelProvider: string; readonly name?: string | null; + readonly originator?: string | null; readonly parentThreadId?: string | null; readonly path?: string | null; readonly preview: string; + readonly projectId: string | null; + readonly reasoningEffort?: V2ThreadRevertResponse__ReasoningEffort | null; readonly recencyAt?: number | null; + readonly section?: V2ThreadRevertResponse__ThreadSection | null; + readonly sectionEnteredAt?: number | null; readonly sessionId: string; - readonly source: V2ThreadRollbackResponse__SessionSource; - readonly status: V2ThreadRollbackResponse__ThreadStatus; - readonly threadSource?: V2ThreadRollbackResponse__ThreadSource | null; - readonly turns: ReadonlyArray; + readonly source: V2ThreadRevertResponse__SessionSource; + readonly status: V2ThreadRevertResponse__ThreadStatus; + readonly threadSource?: V2ThreadRevertResponse__ThreadSource | null; + readonly turns: ReadonlyArray; readonly updatedAt: number; }; -export const V2ThreadRollbackResponse__Thread = Schema.Struct({ +export const V2ThreadRevertResponse__Thread = Schema.Struct({ agentNickname: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -35635,8 +45562,8 @@ export const V2ThreadRollbackResponse__Thread = Schema.Struct({ format: "int64", }).check(Schema.isInt().annotate({ expected: "an integer" })), cwd: Schema.suspend( - (): Schema.Codec => - V2ThreadRollbackResponse__AbsolutePathBuf, + (): Schema.Codec => + V2ThreadRevertResponse__AbsolutePathBuf, ).annotate({ description: "Working directory captured for the thread." }), ephemeral: Schema.Boolean.annotate({ description: "Whether the thread is ephemeral and should not be materialized on disk.", @@ -35650,13 +45577,31 @@ export const V2ThreadRollbackResponse__Thread = Schema.Struct({ ]), ), gitInfo: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__GitInfo, Schema.Null]).annotate({ + Schema.Union([V2ThreadRevertResponse__GitInfo, Schema.Null]).annotate({ description: "Optional Git metadata captured when the thread was created.", }), ), + historyMode: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + V2ThreadRevertResponse__ThreadHistoryMode, + ).annotate({ + description: "Persisted thread history contract selected when this thread was created.", + default: "legacy", + }), + ), id: Schema.String.annotate({ description: "Identifier for this thread. Codex-generated thread IDs are UUIDv7.", }), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Current configured model when loaded, otherwise the latest persisted model. Null when unavailable. This is not per-turn execution telemetry.", + }), + Schema.Null, + ]), + ), modelProvider: Schema.String.annotate({ description: "Model provider used for this thread (for example, 'openai').", }), @@ -35666,6 +45611,15 @@ export const V2ThreadRollbackResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + originator: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Originator recorded when the thread was created, independent of its current client or executor. Null when the recorded originator is unavailable.", + }), + Schema.Null, + ]), + ), parentThreadId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -35684,6 +45638,18 @@ export const V2ThreadRollbackResponse__Thread = Schema.Struct({ preview: Schema.String.annotate({ description: "Usually the first user message in the thread, if available.", }), + projectId: Schema.Union([ + Schema.String.annotate({ + description: "Canonical project assignment owned by app-server, if any.", + }), + Schema.Null, + ]), + reasoningEffort: Schema.optionalKey( + Schema.Union([V2ThreadRevertResponse__ReasoningEffort, Schema.Null]).annotate({ + description: + "Current configured reasoning effort when loaded, otherwise the latest persisted effort. Null when unset or unavailable. This is not per-turn execution telemetry.", + }), + ), recencyAt: Schema.optionalKey( Schema.Union([ Schema.Number.annotate({ @@ -35693,33 +45659,46 @@ export const V2ThreadRollbackResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + section: Schema.optionalKey( + Schema.Union([V2ThreadRevertResponse__ThreadSection, Schema.Null]).annotate({ + description: "The independently persisted section selected for this thread, if any.", + }), + ), + sectionEnteredAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Unix timestamp in seconds when the thread entered its current section.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), sessionId: Schema.String.annotate({ description: "Session id shared by threads that belong to the same session tree.", }), source: Schema.suspend( - (): Schema.Codec => - V2ThreadRollbackResponse__SessionSource, + (): Schema.Codec => + V2ThreadRevertResponse__SessionSource, ).annotate({ description: "Origin of the thread (CLI, VSCode, codex exec, codex app-server, etc.).", }), status: Schema.suspend( - (): Schema.Codec => - V2ThreadRollbackResponse__ThreadStatus, + (): Schema.Codec => V2ThreadRevertResponse__ThreadStatus, ).annotate({ description: "Current runtime status for the thread." }), threadSource: Schema.optionalKey( - Schema.Union([V2ThreadRollbackResponse__ThreadSource, Schema.Null]).annotate({ + Schema.Union([V2ThreadRevertResponse__ThreadSource, Schema.Null]).annotate({ description: "Optional analytics source classification for this thread.", }), ), - turns: Schema.Array(V2ThreadRollbackResponse__Turn).annotate({ + turns: Schema.Array(V2ThreadRevertResponse__Turn).annotate({ description: - "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", + "Only populated on `thread/resume`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", }), updatedAt: Schema.Number.annotate({ description: "Unix timestamp (in seconds) when the thread was last updated.", format: "int64", }).check(Schema.isInt().annotate({ expected: "an integer" })), -}).annotate({ identifier: "V2ThreadRollbackResponse__Thread" }); +}).annotate({ identifier: "V2ThreadRevertResponse__Thread" }); export type V2ThreadStartedNotification__Thread = { readonly agentNickname?: string | null; @@ -35730,13 +45709,20 @@ export type V2ThreadStartedNotification__Thread = { readonly ephemeral: boolean; readonly forkedFromId?: string | null; readonly gitInfo?: V2ThreadStartedNotification__GitInfo | null; + readonly historyMode?: V2ThreadStartedNotification__ThreadHistoryMode; readonly id: string; + readonly model?: string | null; readonly modelProvider: string; readonly name?: string | null; + readonly originator?: string | null; readonly parentThreadId?: string | null; readonly path?: string | null; readonly preview: string; + readonly projectId: string | null; + readonly reasoningEffort?: V2ThreadStartedNotification__ReasoningEffort | null; readonly recencyAt?: number | null; + readonly section?: V2ThreadStartedNotification__ThreadSection | null; + readonly sectionEnteredAt?: number | null; readonly sessionId: string; readonly source: V2ThreadStartedNotification__SessionSource; readonly status: V2ThreadStartedNotification__ThreadStatus; @@ -35789,9 +45775,27 @@ export const V2ThreadStartedNotification__Thread = Schema.Struct({ description: "Optional Git metadata captured when the thread was created.", }), ), + historyMode: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + V2ThreadStartedNotification__ThreadHistoryMode, + ).annotate({ + description: "Persisted thread history contract selected when this thread was created.", + default: "legacy", + }), + ), id: Schema.String.annotate({ description: "Identifier for this thread. Codex-generated thread IDs are UUIDv7.", }), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Current configured model when loaded, otherwise the latest persisted model. Null when unavailable. This is not per-turn execution telemetry.", + }), + Schema.Null, + ]), + ), modelProvider: Schema.String.annotate({ description: "Model provider used for this thread (for example, 'openai').", }), @@ -35801,6 +45805,15 @@ export const V2ThreadStartedNotification__Thread = Schema.Struct({ Schema.Null, ]), ), + originator: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Originator recorded when the thread was created, independent of its current client or executor. Null when the recorded originator is unavailable.", + }), + Schema.Null, + ]), + ), parentThreadId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -35819,6 +45832,18 @@ export const V2ThreadStartedNotification__Thread = Schema.Struct({ preview: Schema.String.annotate({ description: "Usually the first user message in the thread, if available.", }), + projectId: Schema.Union([ + Schema.String.annotate({ + description: "Canonical project assignment owned by app-server, if any.", + }), + Schema.Null, + ]), + reasoningEffort: Schema.optionalKey( + Schema.Union([V2ThreadStartedNotification__ReasoningEffort, Schema.Null]).annotate({ + description: + "Current configured reasoning effort when loaded, otherwise the latest persisted effort. Null when unset or unavailable. This is not per-turn execution telemetry.", + }), + ), recencyAt: Schema.optionalKey( Schema.Union([ Schema.Number.annotate({ @@ -35828,6 +45853,20 @@ export const V2ThreadStartedNotification__Thread = Schema.Struct({ Schema.Null, ]), ), + section: Schema.optionalKey( + Schema.Union([V2ThreadStartedNotification__ThreadSection, Schema.Null]).annotate({ + description: "The independently persisted section selected for this thread, if any.", + }), + ), + sectionEnteredAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Unix timestamp in seconds when the thread entered its current section.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), sessionId: Schema.String.annotate({ description: "Session id shared by threads that belong to the same session tree.", }), @@ -35848,7 +45887,7 @@ export const V2ThreadStartedNotification__Thread = Schema.Struct({ ), turns: Schema.Array(V2ThreadStartedNotification__Turn).annotate({ description: - "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", + "Only populated on `thread/resume`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", }), updatedAt: Schema.Number.annotate({ description: "Unix timestamp (in seconds) when the thread was last updated.", @@ -35865,13 +45904,20 @@ export type V2ThreadStartResponse__Thread = { readonly ephemeral: boolean; readonly forkedFromId?: string | null; readonly gitInfo?: V2ThreadStartResponse__GitInfo | null; + readonly historyMode?: V2ThreadStartResponse__ThreadHistoryMode; readonly id: string; + readonly model?: string | null; readonly modelProvider: string; readonly name?: string | null; + readonly originator?: string | null; readonly parentThreadId?: string | null; readonly path?: string | null; readonly preview: string; + readonly projectId: string | null; + readonly reasoningEffort?: V2ThreadStartResponse__ReasoningEffort | null; readonly recencyAt?: number | null; + readonly section?: V2ThreadStartResponse__ThreadSection | null; + readonly sectionEnteredAt?: number | null; readonly sessionId: string; readonly source: V2ThreadStartResponse__SessionSource; readonly status: V2ThreadStartResponse__ThreadStatus; @@ -35924,9 +45970,27 @@ export const V2ThreadStartResponse__Thread = Schema.Struct({ description: "Optional Git metadata captured when the thread was created.", }), ), + historyMode: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + V2ThreadStartResponse__ThreadHistoryMode, + ).annotate({ + description: "Persisted thread history contract selected when this thread was created.", + default: "legacy", + }), + ), id: Schema.String.annotate({ description: "Identifier for this thread. Codex-generated thread IDs are UUIDv7.", }), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Current configured model when loaded, otherwise the latest persisted model. Null when unavailable. This is not per-turn execution telemetry.", + }), + Schema.Null, + ]), + ), modelProvider: Schema.String.annotate({ description: "Model provider used for this thread (for example, 'openai').", }), @@ -35936,6 +46000,15 @@ export const V2ThreadStartResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + originator: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Originator recorded when the thread was created, independent of its current client or executor. Null when the recorded originator is unavailable.", + }), + Schema.Null, + ]), + ), parentThreadId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -35954,6 +46027,18 @@ export const V2ThreadStartResponse__Thread = Schema.Struct({ preview: Schema.String.annotate({ description: "Usually the first user message in the thread, if available.", }), + projectId: Schema.Union([ + Schema.String.annotate({ + description: "Canonical project assignment owned by app-server, if any.", + }), + Schema.Null, + ]), + reasoningEffort: Schema.optionalKey( + Schema.Union([V2ThreadStartResponse__ReasoningEffort, Schema.Null]).annotate({ + description: + "Current configured reasoning effort when loaded, otherwise the latest persisted effort. Null when unset or unavailable. This is not per-turn execution telemetry.", + }), + ), recencyAt: Schema.optionalKey( Schema.Union([ Schema.Number.annotate({ @@ -35963,6 +46048,20 @@ export const V2ThreadStartResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + section: Schema.optionalKey( + Schema.Union([V2ThreadStartResponse__ThreadSection, Schema.Null]).annotate({ + description: "The independently persisted section selected for this thread, if any.", + }), + ), + sectionEnteredAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Unix timestamp in seconds when the thread entered its current section.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), sessionId: Schema.String.annotate({ description: "Session id shared by threads that belong to the same session tree.", }), @@ -35981,7 +46080,7 @@ export const V2ThreadStartResponse__Thread = Schema.Struct({ ), turns: Schema.Array(V2ThreadStartResponse__Turn).annotate({ description: - "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", + "Only populated on `thread/resume`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", }), updatedAt: Schema.Number.annotate({ description: "Unix timestamp (in seconds) when the thread was last updated.", @@ -35998,13 +46097,20 @@ export type V2ThreadUnarchiveResponse__Thread = { readonly ephemeral: boolean; readonly forkedFromId?: string | null; readonly gitInfo?: V2ThreadUnarchiveResponse__GitInfo | null; + readonly historyMode?: V2ThreadUnarchiveResponse__ThreadHistoryMode; readonly id: string; + readonly model?: string | null; readonly modelProvider: string; readonly name?: string | null; + readonly originator?: string | null; readonly parentThreadId?: string | null; readonly path?: string | null; readonly preview: string; + readonly projectId: string | null; + readonly reasoningEffort?: V2ThreadUnarchiveResponse__ReasoningEffort | null; readonly recencyAt?: number | null; + readonly section?: V2ThreadUnarchiveResponse__ThreadSection | null; + readonly sectionEnteredAt?: number | null; readonly sessionId: string; readonly source: V2ThreadUnarchiveResponse__SessionSource; readonly status: V2ThreadUnarchiveResponse__ThreadStatus; @@ -36057,9 +46163,27 @@ export const V2ThreadUnarchiveResponse__Thread = Schema.Struct({ description: "Optional Git metadata captured when the thread was created.", }), ), + historyMode: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + V2ThreadUnarchiveResponse__ThreadHistoryMode, + ).annotate({ + description: "Persisted thread history contract selected when this thread was created.", + default: "legacy", + }), + ), id: Schema.String.annotate({ description: "Identifier for this thread. Codex-generated thread IDs are UUIDv7.", }), + model: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Current configured model when loaded, otherwise the latest persisted model. Null when unavailable. This is not per-turn execution telemetry.", + }), + Schema.Null, + ]), + ), modelProvider: Schema.String.annotate({ description: "Model provider used for this thread (for example, 'openai').", }), @@ -36069,6 +46193,15 @@ export const V2ThreadUnarchiveResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + originator: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Originator recorded when the thread was created, independent of its current client or executor. Null when the recorded originator is unavailable.", + }), + Schema.Null, + ]), + ), parentThreadId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -36087,6 +46220,18 @@ export const V2ThreadUnarchiveResponse__Thread = Schema.Struct({ preview: Schema.String.annotate({ description: "Usually the first user message in the thread, if available.", }), + projectId: Schema.Union([ + Schema.String.annotate({ + description: "Canonical project assignment owned by app-server, if any.", + }), + Schema.Null, + ]), + reasoningEffort: Schema.optionalKey( + Schema.Union([V2ThreadUnarchiveResponse__ReasoningEffort, Schema.Null]).annotate({ + description: + "Current configured reasoning effort when loaded, otherwise the latest persisted effort. Null when unset or unavailable. This is not per-turn execution telemetry.", + }), + ), recencyAt: Schema.optionalKey( Schema.Union([ Schema.Number.annotate({ @@ -36096,6 +46241,20 @@ export const V2ThreadUnarchiveResponse__Thread = Schema.Struct({ Schema.Null, ]), ), + section: Schema.optionalKey( + Schema.Union([V2ThreadUnarchiveResponse__ThreadSection, Schema.Null]).annotate({ + description: "The independently persisted section selected for this thread, if any.", + }), + ), + sectionEnteredAt: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Unix timestamp in seconds when the thread entered its current section.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), sessionId: Schema.String.annotate({ description: "Session id shared by threads that belong to the same session tree.", }), @@ -36116,7 +46275,7 @@ export const V2ThreadUnarchiveResponse__Thread = Schema.Struct({ ), turns: Schema.Array(V2ThreadUnarchiveResponse__Turn).annotate({ description: - "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", + "Only populated on `thread/resume`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", }), updatedAt: Schema.Number.annotate({ description: "Unix timestamp (in seconds) when the thread was last updated.", @@ -36156,7 +46315,7 @@ export const ServerNotification__ThreadStartedNotification = Schema.Struct({ export type ServerNotification__GuardianApprovalReviewAction = | { readonly command: string; - readonly cwd: ServerNotification__AbsolutePathBuf; + readonly cwd: ServerNotification__LegacyAppPathString; readonly source: ServerNotification__GuardianCommandSource; readonly type: "command"; } @@ -36168,8 +46327,15 @@ export type ServerNotification__GuardianApprovalReviewAction = readonly type: "execve"; } | { - readonly cwd: ServerNotification__AbsolutePathBuf; - readonly files: ReadonlyArray; + readonly approvalId: string; + readonly cwd: ServerNotification__LegacyAppPathString; + readonly processId: string; + readonly stdin: string; + readonly type: "writeStdin"; + } + | { + readonly cwd: ServerNotification__LegacyAppPathString; + readonly files: ReadonlyArray; readonly type: "applyPatch"; } | { @@ -36196,7 +46362,7 @@ export const ServerNotification__GuardianApprovalReviewAction = Schema.Union( [ Schema.Struct({ command: Schema.String, - cwd: ServerNotification__AbsolutePathBuf, + cwd: ServerNotification__LegacyAppPathString, source: ServerNotification__GuardianCommandSource, type: Schema.Literal("command").annotate({ title: "CommandGuardianApprovalReviewActionType", @@ -36210,8 +46376,20 @@ export const ServerNotification__GuardianApprovalReviewAction = Schema.Union( type: Schema.Literal("execve").annotate({ title: "ExecveGuardianApprovalReviewActionType" }), }).annotate({ title: "ExecveGuardianApprovalReviewAction" }), Schema.Struct({ - cwd: ServerNotification__AbsolutePathBuf, - files: Schema.Array(ServerNotification__AbsolutePathBuf), + approvalId: Schema.String, + cwd: ServerNotification__LegacyAppPathString, + processId: Schema.String, + stdin: Schema.String, + type: Schema.Literal("writeStdin").annotate({ + title: "WriteStdinGuardianApprovalReviewActionType", + }), + }).annotate({ + title: "WriteStdinGuardianApprovalReviewAction", + description: "A child approval for input to an existing command execution item.", + }), + Schema.Struct({ + cwd: ServerNotification__LegacyAppPathString, + files: Schema.Array(ServerNotification__LegacyAppPathString), type: Schema.Literal("applyPatch").annotate({ title: "ApplyPatchGuardianApprovalReviewActionType", }), @@ -36253,7 +46431,7 @@ export const ServerNotification__GuardianApprovalReviewAction = Schema.Union( ).annotate({ identifier: "ServerNotification__GuardianApprovalReviewAction" }); export type ServerRequest__PermissionsRequestApprovalParams = { - readonly cwd: ServerRequest__AbsolutePathBuf; + readonly cwd: ServerRequest__LegacyAppPathString; readonly environmentId?: string | null; readonly itemId: string; readonly permissions: ServerRequest__RequestPermissionProfile; @@ -36263,7 +46441,7 @@ export type ServerRequest__PermissionsRequestApprovalParams = { readonly turnId: string; }; export const ServerRequest__PermissionsRequestApprovalParams = Schema.Struct({ - cwd: ServerRequest__AbsolutePathBuf, + cwd: ServerRequest__LegacyAppPathString, environmentId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), itemId: Schema.String, permissions: ServerRequest__RequestPermissionProfile, @@ -36296,7 +46474,7 @@ export const ServerRequest__McpElicitationSchema = Schema.Struct({ export type V2ItemGuardianApprovalReviewCompletedNotification__GuardianApprovalReviewAction = | { readonly command: string; - readonly cwd: V2ItemGuardianApprovalReviewCompletedNotification__AbsolutePathBuf; + readonly cwd: V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString; readonly source: V2ItemGuardianApprovalReviewCompletedNotification__GuardianCommandSource; readonly type: "command"; } @@ -36308,8 +46486,15 @@ export type V2ItemGuardianApprovalReviewCompletedNotification__GuardianApprovalR readonly type: "execve"; } | { - readonly cwd: V2ItemGuardianApprovalReviewCompletedNotification__AbsolutePathBuf; - readonly files: ReadonlyArray; + readonly approvalId: string; + readonly cwd: V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString; + readonly processId: string; + readonly stdin: string; + readonly type: "writeStdin"; + } + | { + readonly cwd: V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString; + readonly files: ReadonlyArray; readonly type: "applyPatch"; } | { @@ -36337,7 +46522,7 @@ export const V2ItemGuardianApprovalReviewCompletedNotification__GuardianApproval [ Schema.Struct({ command: Schema.String, - cwd: V2ItemGuardianApprovalReviewCompletedNotification__AbsolutePathBuf, + cwd: V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString, source: V2ItemGuardianApprovalReviewCompletedNotification__GuardianCommandSource, type: Schema.Literal("command").annotate({ title: "CommandGuardianApprovalReviewActionType", @@ -36353,8 +46538,20 @@ export const V2ItemGuardianApprovalReviewCompletedNotification__GuardianApproval }), }).annotate({ title: "ExecveGuardianApprovalReviewAction" }), Schema.Struct({ - cwd: V2ItemGuardianApprovalReviewCompletedNotification__AbsolutePathBuf, - files: Schema.Array(V2ItemGuardianApprovalReviewCompletedNotification__AbsolutePathBuf), + approvalId: Schema.String, + cwd: V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString, + processId: Schema.String, + stdin: Schema.String, + type: Schema.Literal("writeStdin").annotate({ + title: "WriteStdinGuardianApprovalReviewActionType", + }), + }).annotate({ + title: "WriteStdinGuardianApprovalReviewAction", + description: "A child approval for input to an existing command execution item.", + }), + Schema.Struct({ + cwd: V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString, + files: Schema.Array(V2ItemGuardianApprovalReviewCompletedNotification__LegacyAppPathString), type: Schema.Literal("applyPatch").annotate({ title: "ApplyPatchGuardianApprovalReviewActionType", }), @@ -36400,7 +46597,7 @@ export const V2ItemGuardianApprovalReviewCompletedNotification__GuardianApproval export type V2ItemGuardianApprovalReviewStartedNotification__GuardianApprovalReviewAction = | { readonly command: string; - readonly cwd: V2ItemGuardianApprovalReviewStartedNotification__AbsolutePathBuf; + readonly cwd: V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString; readonly source: V2ItemGuardianApprovalReviewStartedNotification__GuardianCommandSource; readonly type: "command"; } @@ -36412,8 +46609,15 @@ export type V2ItemGuardianApprovalReviewStartedNotification__GuardianApprovalRev readonly type: "execve"; } | { - readonly cwd: V2ItemGuardianApprovalReviewStartedNotification__AbsolutePathBuf; - readonly files: ReadonlyArray; + readonly approvalId: string; + readonly cwd: V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString; + readonly processId: string; + readonly stdin: string; + readonly type: "writeStdin"; + } + | { + readonly cwd: V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString; + readonly files: ReadonlyArray; readonly type: "applyPatch"; } | { @@ -36441,7 +46645,7 @@ export const V2ItemGuardianApprovalReviewStartedNotification__GuardianApprovalRe [ Schema.Struct({ command: Schema.String, - cwd: V2ItemGuardianApprovalReviewStartedNotification__AbsolutePathBuf, + cwd: V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString, source: V2ItemGuardianApprovalReviewStartedNotification__GuardianCommandSource, type: Schema.Literal("command").annotate({ title: "CommandGuardianApprovalReviewActionType", @@ -36457,8 +46661,20 @@ export const V2ItemGuardianApprovalReviewStartedNotification__GuardianApprovalRe }), }).annotate({ title: "ExecveGuardianApprovalReviewAction" }), Schema.Struct({ - cwd: V2ItemGuardianApprovalReviewStartedNotification__AbsolutePathBuf, - files: Schema.Array(V2ItemGuardianApprovalReviewStartedNotification__AbsolutePathBuf), + approvalId: Schema.String, + cwd: V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString, + processId: Schema.String, + stdin: Schema.String, + type: Schema.Literal("writeStdin").annotate({ + title: "WriteStdinGuardianApprovalReviewActionType", + }), + }).annotate({ + title: "WriteStdinGuardianApprovalReviewAction", + description: "A child approval for input to an existing command execution item.", + }), + Schema.Struct({ + cwd: V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString, + files: Schema.Array(V2ItemGuardianApprovalReviewStartedNotification__LegacyAppPathString), type: Schema.Literal("applyPatch").annotate({ title: "ApplyPatchGuardianApprovalReviewActionType", }), @@ -36522,7 +46738,7 @@ export const ServerNotification__ItemGuardianApprovalReviewStartedNotification = Schema.Union([ Schema.String.annotate({ description: - "Identifier for the reviewed item or tool call when one exists.\n\nIn most cases, one review maps to one target item. The exceptions are - execve reviews, where a single command may contain multiple execve calls to review (only possible when using the shell_zsh_fork feature) - network policy reviews, where there is no target item\n\nA network call is triggered by a CommandExecution item, so having a target_item_id set to the CommandExecution item would be misleading because the review is about the network call, not the command execution. Therefore, target_item_id is set to None for network policy reviews.", + "Identifier for the reviewed item or tool call when one exists.\n\nIn most cases, one review maps to one target item. The exceptions are - execve reviews, where a single command may contain multiple execve calls to review (only possible when using the shell_zsh_fork feature) - stdin reviews, which refer to the existing parent command item and have a separate approval ID in the action payload - network policy reviews, where there is no target item\n\nA network call is triggered by a CommandExecution item, so having a target_item_id set to the CommandExecution item would be misleading because the review is about the network call, not the command execution. Therefore, target_item_id is set to None for network policy reviews.", }), Schema.Null, ]), @@ -36563,7 +46779,7 @@ export const ServerNotification__ItemGuardianApprovalReviewCompletedNotification Schema.Union([ Schema.String.annotate({ description: - "Identifier for the reviewed item or tool call when one exists.\n\nIn most cases, one review maps to one target item. The exceptions are - execve reviews, where a single command may contain multiple execve calls to review (only possible when using the shell_zsh_fork feature) - network policy reviews, where there is no target item\n\nA network call is triggered by a CommandExecution item, so having a target_item_id set to the CommandExecution item would be misleading because the review is about the network call, not the command execution. Therefore, target_item_id is set to None for network policy reviews.", + "Identifier for the reviewed item or tool call when one exists.\n\nIn most cases, one review maps to one target item. The exceptions are - execve reviews, where a single command may contain multiple execve calls to review (only possible when using the shell_zsh_fork feature) - stdin reviews, which refer to the existing parent command item and have a separate approval ID in the action payload - network policy reviews, where there is no target item\n\nA network call is triggered by a CommandExecution item, so having a target_item_id set to the CommandExecution item would be misleading because the review is about the network call, not the command execution. Therefore, target_item_id is set to None for network policy reviews.", }), Schema.Null, ]), @@ -36595,6 +46811,15 @@ export type ServerRequest__McpServerElicitationRequestParams = readonly mode: "openai/form"; readonly requestedSchema: Schema.Json; } + | { + readonly serverName: string; + readonly threadId: string; + readonly turnId?: string | null; + readonly _meta?: Schema.Json; + readonly message: string; + readonly mode: "openaiForm"; + readonly requestedSchema: Schema.Json; + } | { readonly serverName: string; readonly threadId: string; @@ -36641,6 +46866,23 @@ export const ServerRequest__McpServerElicitationRequestParams = Schema.Union( mode: Schema.Literal("openai/form"), requestedSchema: Schema.Json.annotate({ expected: "JSON value" }), }), + Schema.Struct({ + serverName: Schema.String, + threadId: Schema.String, + turnId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Active Codex turn when this elicitation was observed, if app-server could correlate one.\n\nThis is nullable because MCP models elicitation as a standalone server-to-client request identified by the MCP server request id. It may be triggered during a turn, but turn context is app-server correlation rather than part of the protocol identity of the elicitation itself.", + }), + Schema.Null, + ]), + ), + _meta: Schema.optionalKey(Schema.Json.annotate({ expected: "JSON value" })), + message: Schema.String, + mode: Schema.Literal("openaiForm"), + requestedSchema: Schema.Json.annotate({ expected: "JSON value" }), + }), Schema.Struct({ serverName: Schema.String, threadId: Schema.String, @@ -36813,6 +47055,26 @@ export type ClientRequest = readonly method: "thread/metadata/update"; readonly params: ClientRequest__ThreadMetadataUpdateParams; } + | { + readonly id: ClientRequest__RequestId; + readonly method: "thread/attachment/add"; + readonly params: ClientRequest__ThreadAttachmentAddParams; + } + | { + readonly id: ClientRequest__RequestId; + readonly method: "thread/attachment/list"; + readonly params: ClientRequest__ThreadAttachmentListParams; + } + | { + readonly id: ClientRequest__RequestId; + readonly method: "thread/attachment/remove"; + readonly params: ClientRequest__ThreadAttachmentRemoveParams; + } + | { + readonly id: ClientRequest__RequestId; + readonly method: "thread/section/move"; + readonly params: ClientRequest__ThreadSectionMoveParams; + } | { readonly id: ClientRequest__RequestId; readonly method: "thread/unarchive"; @@ -36835,14 +47097,34 @@ export type ClientRequest = } | { readonly id: ClientRequest__RequestId; - readonly method: "thread/rollback"; - readonly params: ClientRequest__ThreadRollbackParams; + readonly method: "thread/revert"; + readonly params: ClientRequest__ThreadRevertParams; } | { readonly id: ClientRequest__RequestId; readonly method: "thread/list"; readonly params: ClientRequest__ThreadListParams; } + | { + readonly id: ClientRequest__RequestId; + readonly method: "threadSection/list"; + readonly params: ClientRequest__ThreadSectionListParams; + } + | { + readonly id: ClientRequest__RequestId; + readonly method: "threadSection/create"; + readonly params: ClientRequest__ThreadSectionCreateParams; + } + | { + readonly id: ClientRequest__RequestId; + readonly method: "threadSection/update"; + readonly params: ClientRequest__ThreadSectionUpdateParams; + } + | { + readonly id: ClientRequest__RequestId; + readonly method: "threadSection/delete"; + readonly params: ClientRequest__ThreadSectionDeleteParams; + } | { readonly id: ClientRequest__RequestId; readonly method: "thread/loaded/list"; @@ -36853,6 +47135,16 @@ export type ClientRequest = readonly method: "thread/read"; readonly params: ClientRequest__ThreadReadParams; } + | { + readonly id: ClientRequest__RequestId; + readonly method: "thread/turns/list"; + readonly params: ClientRequest__ThreadTurnsListParams; + } + | { + readonly id: ClientRequest__RequestId; + readonly method: "thread/items/list"; + readonly params: ClientRequest__ThreadItemsListParams; + } | { readonly id: ClientRequest__RequestId; readonly method: "thread/inject_items"; @@ -36898,6 +47190,11 @@ export type ClientRequest = readonly method: "plugin/installed"; readonly params: ClientRequest__PluginInstalledParams; } + | { + readonly id: ClientRequest__RequestId; + readonly method: "plugin/reconcile"; + readonly params: ClientRequest__PluginReconcileParams; + } | { readonly id: ClientRequest__RequestId; readonly method: "plugin/read"; @@ -37106,7 +47403,7 @@ export type ClientRequest = | { readonly id: ClientRequest__RequestId; readonly method: "account/rateLimits/read"; - readonly params?: null; + readonly params?: ClientRequest__GetAccountRateLimitsParams | null; } | { readonly id: ClientRequest__RequestId; @@ -37116,7 +47413,7 @@ export type ClientRequest = | { readonly id: ClientRequest__RequestId; readonly method: "account/usage/read"; - readonly params?: null; + readonly params?: ClientRequest__GetAccountTokenUsageParams | null; } | { readonly id: ClientRequest__RequestId; @@ -37168,6 +47465,11 @@ export type ClientRequest = readonly method: "externalAgentConfig/import"; readonly params: ClientRequest__ExternalAgentConfigImportParams; } + | { + readonly id: ClientRequest__RequestId; + readonly method: "externalAgentConfig/import/recordHistory"; + readonly params: ClientRequest__ExternalAgentConfigImportHistoryRecordParams; + } | { readonly id: ClientRequest__RequestId; readonly method: "externalAgentConfig/import/readHistories"; @@ -37266,6 +47568,34 @@ export const ClientRequest = Schema.Union( }), params: ClientRequest__ThreadMetadataUpdateParams, }).annotate({ title: "Thread/metadata/updateRequest" }), + Schema.Struct({ + id: ClientRequest__RequestId, + method: Schema.Literal("thread/attachment/add").annotate({ + title: "Thread/attachment/addRequestMethod", + }), + params: ClientRequest__ThreadAttachmentAddParams, + }).annotate({ title: "Thread/attachment/addRequest" }), + Schema.Struct({ + id: ClientRequest__RequestId, + method: Schema.Literal("thread/attachment/list").annotate({ + title: "Thread/attachment/listRequestMethod", + }), + params: ClientRequest__ThreadAttachmentListParams, + }).annotate({ title: "Thread/attachment/listRequest" }), + Schema.Struct({ + id: ClientRequest__RequestId, + method: Schema.Literal("thread/attachment/remove").annotate({ + title: "Thread/attachment/removeRequestMethod", + }), + params: ClientRequest__ThreadAttachmentRemoveParams, + }).annotate({ title: "Thread/attachment/removeRequest" }), + Schema.Struct({ + id: ClientRequest__RequestId, + method: Schema.Literal("thread/section/move").annotate({ + title: "Thread/section/moveRequestMethod", + }), + params: ClientRequest__ThreadSectionMoveParams, + }).annotate({ title: "Thread/section/moveRequest" }), Schema.Struct({ id: ClientRequest__RequestId, method: Schema.Literal("thread/unarchive").annotate({ @@ -37296,14 +47626,42 @@ export const ClientRequest = Schema.Union( }).annotate({ title: "Thread/approveGuardianDeniedActionRequest" }), Schema.Struct({ id: ClientRequest__RequestId, - method: Schema.Literal("thread/rollback").annotate({ title: "Thread/rollbackRequestMethod" }), - params: ClientRequest__ThreadRollbackParams, - }).annotate({ title: "Thread/rollbackRequest" }), + method: Schema.Literal("thread/revert").annotate({ title: "Thread/revertRequestMethod" }), + params: ClientRequest__ThreadRevertParams, + }).annotate({ title: "Thread/revertRequest" }), Schema.Struct({ id: ClientRequest__RequestId, method: Schema.Literal("thread/list").annotate({ title: "Thread/listRequestMethod" }), params: ClientRequest__ThreadListParams, }).annotate({ title: "Thread/listRequest" }), + Schema.Struct({ + id: ClientRequest__RequestId, + method: Schema.Literal("threadSection/list").annotate({ + title: "ThreadSection/listRequestMethod", + }), + params: ClientRequest__ThreadSectionListParams, + }).annotate({ title: "ThreadSection/listRequest" }), + Schema.Struct({ + id: ClientRequest__RequestId, + method: Schema.Literal("threadSection/create").annotate({ + title: "ThreadSection/createRequestMethod", + }), + params: ClientRequest__ThreadSectionCreateParams, + }).annotate({ title: "ThreadSection/createRequest" }), + Schema.Struct({ + id: ClientRequest__RequestId, + method: Schema.Literal("threadSection/update").annotate({ + title: "ThreadSection/updateRequestMethod", + }), + params: ClientRequest__ThreadSectionUpdateParams, + }).annotate({ title: "ThreadSection/updateRequest" }), + Schema.Struct({ + id: ClientRequest__RequestId, + method: Schema.Literal("threadSection/delete").annotate({ + title: "ThreadSection/deleteRequestMethod", + }), + params: ClientRequest__ThreadSectionDeleteParams, + }).annotate({ title: "ThreadSection/deleteRequest" }), Schema.Struct({ id: ClientRequest__RequestId, method: Schema.Literal("thread/loaded/list").annotate({ @@ -37316,6 +47674,20 @@ export const ClientRequest = Schema.Union( method: Schema.Literal("thread/read").annotate({ title: "Thread/readRequestMethod" }), params: ClientRequest__ThreadReadParams, }).annotate({ title: "Thread/readRequest" }), + Schema.Struct({ + id: ClientRequest__RequestId, + method: Schema.Literal("thread/turns/list").annotate({ + title: "Thread/turns/listRequestMethod", + }), + params: ClientRequest__ThreadTurnsListParams, + }).annotate({ title: "Thread/turns/listRequest" }), + Schema.Struct({ + id: ClientRequest__RequestId, + method: Schema.Literal("thread/items/list").annotate({ + title: "Thread/items/listRequestMethod", + }), + params: ClientRequest__ThreadItemsListParams, + }).annotate({ title: "Thread/items/listRequest" }), Schema.Struct({ id: ClientRequest__RequestId, method: Schema.Literal("thread/inject_items").annotate({ @@ -37375,6 +47747,13 @@ export const ClientRequest = Schema.Union( }), params: ClientRequest__PluginInstalledParams, }).annotate({ title: "Plugin/installedRequest" }), + Schema.Struct({ + id: ClientRequest__RequestId, + method: Schema.Literal("plugin/reconcile").annotate({ + title: "Plugin/reconcileRequestMethod", + }), + params: ClientRequest__PluginReconcileParams, + }).annotate({ title: "Plugin/reconcileRequest" }), Schema.Struct({ id: ClientRequest__RequestId, method: Schema.Literal("plugin/read").annotate({ title: "Plugin/readRequestMethod" }), @@ -37631,7 +48010,9 @@ export const ClientRequest = Schema.Union( method: Schema.Literal("account/rateLimits/read").annotate({ title: "Account/rateLimits/readRequestMethod", }), - params: Schema.optionalKey(Schema.Null), + params: Schema.optionalKey( + Schema.Union([ClientRequest__GetAccountRateLimitsParams, Schema.Null]), + ), }).annotate({ title: "Account/rateLimits/readRequest" }), Schema.Struct({ id: ClientRequest__RequestId, @@ -37645,7 +48026,9 @@ export const ClientRequest = Schema.Union( method: Schema.Literal("account/usage/read").annotate({ title: "Account/usage/readRequestMethod", }), - params: Schema.optionalKey(Schema.Null), + params: Schema.optionalKey( + Schema.Union([ClientRequest__GetAccountTokenUsageParams, Schema.Null]), + ), }).annotate({ title: "Account/usage/readRequest" }), Schema.Struct({ id: ClientRequest__RequestId, @@ -37724,6 +48107,13 @@ export const ClientRequest = Schema.Union( }), params: ClientRequest__ExternalAgentConfigImportParams, }).annotate({ title: "ExternalAgentConfig/importRequest" }), + Schema.Struct({ + id: ClientRequest__RequestId, + method: Schema.Literal("externalAgentConfig/import/recordHistory").annotate({ + title: "ExternalAgentConfig/import/recordHistoryRequestMethod", + }), + params: ClientRequest__ExternalAgentConfigImportHistoryRecordParams, + }).annotate({ title: "ExternalAgentConfig/import/recordHistoryRequest" }), Schema.Struct({ id: ClientRequest__RequestId, method: Schema.Literal("externalAgentConfig/import/readHistories").annotate({ @@ -37791,6 +48181,16 @@ export const ClientRequest__CollaborationMode = Schema.Struct({ settings: ClientRequest__Settings, }).annotate({ description: "Collaboration mode for a Codex session." }); +export type ClientRequest__CyberAccessProgram = "standard" | "daybreakBlue" | "daybreakRed"; +export const ClientRequest__CyberAccessProgram = Schema.Literals([ + "standard", + "daybreakBlue", + "daybreakRed", +]).annotate({ + description: + "Requested cyber treatment for a ChatGPT-authenticated Codex turn. Authorization and model-tier restrictions remain server-owned.", +}); + export type ClientRequest__DynamicToolSpec = | { readonly deferLoading?: boolean; @@ -37839,6 +48239,13 @@ export const ClientRequest__MultiAgentMode = Schema.Union( "Controls the effective multi-agent delegation instructions for a turn. `custom` means the configured mode hint defines the policy instead of a built-in policy.", }); +export type ClientRequest__PluginSearchScope = "global" | "workspace" | "personal"; +export const ClientRequest__PluginSearchScope = Schema.Literals([ + "global", + "workspace", + "personal", +]); + export type ClientRequest__ProcessTerminalSize = { readonly cols: number; readonly rows: number }; export const ClientRequest__ProcessTerminalSize = Schema.Struct({ cols: Schema.Number.annotate({ @@ -37859,6 +48266,12 @@ export const ClientRequest__ProcessTerminalSize = Schema.Struct({ ), }).annotate({ description: "PTY size in character cells for `process/spawn` PTY sessions." }); +export type ClientRequest__ProjectRoot = { readonly path: ClientRequest__AbsolutePathBuf }; +export const ClientRequest__ProjectRoot = Schema.Struct({ path: ClientRequest__AbsolutePathBuf }); + +export type ClientRequest__ProjectSortKey = "position" | "recencyAt"; +export const ClientRequest__ProjectSortKey = Schema.Literals(["position", "recencyAt"]); + export type ClientRequest__RealtimeConversationVersion = "v1" | "v2" | "v3"; export const ClientRequest__RealtimeConversationVersion = Schema.Literals(["v1", "v2", "v3"]); @@ -37953,6 +48366,7 @@ export type ClientRequest__ResponseItem = | { readonly arguments: string; readonly call_id: string; + readonly encrypted_function_args?: ReadonlyArray | null; readonly id?: string | null; readonly internal_chat_message_metadata_passthrough?: ClientRequest__InternalChatMessageMetadataPassthrough | null; readonly name: string; @@ -37969,9 +48383,11 @@ export type ClientRequest__ResponseItem = readonly type: "tool_search_call"; } | { - readonly call_id: string; + readonly call_id?: string | null; readonly id?: string | null; readonly internal_chat_message_metadata_passthrough?: ClientRequest__InternalChatMessageMetadataPassthrough | null; + readonly name?: string | null; + readonly namespace?: string | null; readonly output: ClientRequest__FunctionCallOutputBody; readonly type: "function_call_output"; } @@ -38023,6 +48439,10 @@ export type ClientRequest__ResponseItem = readonly internal_chat_message_metadata_passthrough?: ClientRequest__InternalChatMessageMetadataPassthrough | null; readonly type: "compaction"; } + | { + readonly reasoning: ClientRequest__ConfigurationReasoning; + readonly type: "configuration_update"; + } | { readonly type: "compaction_trigger" } | { readonly encrypted_content?: string | null; @@ -38092,6 +48512,9 @@ export const ClientRequest__ResponseItem = Schema.Union( Schema.Struct({ arguments: Schema.String, call_id: Schema.String, + encrypted_function_args: Schema.optionalKey( + Schema.Union([Schema.Array(Schema.String), Schema.Null]), + ), id: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), internal_chat_message_metadata_passthrough: Schema.optionalKey( Schema.Union([ClientRequest__InternalChatMessageMetadataPassthrough, Schema.Null]), @@ -38114,11 +48537,13 @@ export const ClientRequest__ResponseItem = Schema.Union( }), }).annotate({ title: "ToolSearchCallResponseItem" }), Schema.Struct({ - call_id: Schema.String, + call_id: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), id: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), internal_chat_message_metadata_passthrough: Schema.optionalKey( Schema.Union([ClientRequest__InternalChatMessageMetadataPassthrough, Schema.Null]), ), + name: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), output: ClientRequest__FunctionCallOutputBody, type: Schema.Literal("function_call_output").annotate({ title: "FunctionCallOutputResponseItemType", @@ -38194,6 +48619,15 @@ export const ClientRequest__ResponseItem = Schema.Union( ), type: Schema.Literal("compaction").annotate({ title: "CompactionResponseItemType" }), }).annotate({ title: "CompactionResponseItem" }), + Schema.Struct({ + reasoning: ClientRequest__ConfigurationReasoning, + type: Schema.Literal("configuration_update").annotate({ + title: "ConfigurationUpdateResponseItemType", + }), + }).annotate({ + title: "ConfigurationUpdateResponseItem", + description: "A durable input control interpreted by the backend at its position in history.", + }), Schema.Struct({ type: Schema.Literal("compaction_trigger").annotate({ title: "CompactionTriggerResponseItemType", @@ -38285,7 +48719,8 @@ export const ClientRequest__ThreadRealtimeInitialItem = Schema.Struct({ export type ClientRequest__ThreadRealtimeStartTransport = | { readonly type: "websocket" } - | { readonly sdp: string; readonly type: "webrtc" }; + | { readonly sdp: string; readonly type: "webrtc" } + | { readonly callId: string; readonly type: "existingCall" }; export const ClientRequest__ThreadRealtimeStartTransport = Schema.Union( [ Schema.Struct({ @@ -38300,6 +48735,14 @@ export const ClientRequest__ThreadRealtimeStartTransport = Schema.Union( }), type: Schema.Literal("webrtc").annotate({ title: "WebrtcThreadRealtimeStartTransportType" }), }).annotate({ title: "WebrtcThreadRealtimeStartTransport" }), + Schema.Struct({ + callId: Schema.String.annotate({ + description: "Identifier of a realtime call already created and negotiated by the client.", + }), + type: Schema.Literal("existingCall").annotate({ + title: "ExistingCallThreadRealtimeStartTransportType", + }), + }).annotate({ title: "ExistingCallThreadRealtimeStartTransport" }), ], { mode: "oneOf" }, ).annotate({ description: "EXPERIMENTAL - transport used by thread realtime." }); @@ -38334,6 +48777,13 @@ export const ClientRequest__ThreadResumeInitialTurnsPageParams = Schema.Struct({ ), }); +export type ClientRequest__ThreadSearchSortKey = "created_at" | "updated_at" | "recency_at"; +export const ClientRequest__ThreadSearchSortKey = Schema.Literals([ + "created_at", + "updated_at", + "recency_at", +]); + export type ClientRequest__TurnEnvironmentParams = { readonly cwd: ClientRequest__LegacyAppPathString; readonly environmentId: string; @@ -38359,6 +48809,7 @@ export type CommandExecutionRequestApprovalParams = { readonly cwd?: CommandExecutionRequestApprovalParams__LegacyAppPathString | null; readonly environmentId?: string | null; readonly itemId: string; + readonly kind?: CommandExecutionRequestApprovalParams__CommandExecutionApprovalKind; readonly networkApprovalContext?: CommandExecutionRequestApprovalParams__NetworkApprovalContext | null; readonly proposedExecpolicyAmendment?: ReadonlyArray | null; readonly proposedNetworkPolicyAmendments?: ReadonlyArray | null; @@ -38372,7 +48823,7 @@ export const CommandExecutionRequestApprovalParams = Schema.Struct({ Schema.Union([ Schema.String.annotate({ description: - "Unique identifier for this specific approval callback.\n\nFor regular shell/unified_exec approvals, this is null.\n\nFor zsh-exec-bridge subcommand approvals, multiple callbacks can belong to one parent `itemId`, so `approvalId` is a distinct opaque callback id (a UUID) used to disambiguate routing.", + "Unique identifier for this specific approval callback.\n\nFor regular shell/unified_exec approvals, this is null.\n\nFor zsh-exec-bridge subcommand approvals, multiple callbacks can belong to one parent `itemId`, so `approvalId` is a distinct opaque callback id (a UUID) used to disambiguate routing. Stdin approvals also use a distinct callback id; inspect `kind` to distinguish them.", }), Schema.Null, ]), @@ -38404,6 +48855,15 @@ export const CommandExecutionRequestApprovalParams = Schema.Struct({ ]), ), itemId: Schema.String, + kind: Schema.optionalKey( + Schema.suspend( + (): Schema.Codec => + CommandExecutionRequestApprovalParams__CommandExecutionApprovalKind, + ).annotate({ + description: "Kind of action under review. Defaults to `command` for older servers.", + default: "command", + }), + ), networkApprovalContext: Schema.optionalKey( Schema.Union([ CommandExecutionRequestApprovalParams__NetworkApprovalContext, @@ -38797,6 +49257,15 @@ export type McpServerElicitationRequestParams = readonly mode: "openai/form"; readonly requestedSchema: Schema.Json; } + | { + readonly serverName: string; + readonly threadId: string; + readonly turnId?: string | null; + readonly _meta?: Schema.Json; + readonly message: string; + readonly mode: "openaiForm"; + readonly requestedSchema: Schema.Json; + } | { readonly serverName: string; readonly threadId: string; @@ -38843,6 +49312,23 @@ export const McpServerElicitationRequestParams = Schema.Union( mode: Schema.Literal("openai/form"), requestedSchema: Schema.Json.annotate({ expected: "JSON value" }), }), + Schema.Struct({ + serverName: Schema.String, + threadId: Schema.String, + turnId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Active Codex turn when this elicitation was observed, if app-server could correlate one.\n\nThis is nullable because MCP models elicitation as a standalone server-to-client request identified by the MCP server request id. It may be triggered during a turn, but turn context is app-server correlation rather than part of the protocol identity of the elicitation itself.", + }), + Schema.Null, + ]), + ), + _meta: Schema.optionalKey(Schema.Json.annotate({ expected: "JSON value" })), + message: Schema.String, + mode: Schema.Literal("openaiForm"), + requestedSchema: Schema.Json.annotate({ expected: "JSON value" }), + }), Schema.Struct({ serverName: Schema.String, threadId: Schema.String, @@ -38888,7 +49374,7 @@ export const McpServerElicitationRequestResponse = Schema.Struct({ }).annotate({ title: "McpServerElicitationRequestResponse" }); export type PermissionsRequestApprovalParams = { - readonly cwd: PermissionsRequestApprovalParams__AbsolutePathBuf; + readonly cwd: PermissionsRequestApprovalParams__LegacyAppPathString; readonly environmentId?: string | null; readonly itemId: string; readonly permissions: PermissionsRequestApprovalParams__RequestPermissionProfile; @@ -38898,7 +49384,7 @@ export type PermissionsRequestApprovalParams = { readonly turnId: string; }; export const PermissionsRequestApprovalParams = Schema.Struct({ - cwd: PermissionsRequestApprovalParams__AbsolutePathBuf, + cwd: PermissionsRequestApprovalParams__LegacyAppPathString, environmentId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), itemId: Schema.String, permissions: PermissionsRequestApprovalParams__RequestPermissionProfile, @@ -38979,6 +49465,11 @@ export type ServerNotification = readonly method: "thread/closed"; readonly params: ServerNotification__ThreadClosedNotification; } + | { + readonly emittedAtMs?: number; + readonly method: "thread/reverted"; + readonly params: ServerNotification__ThreadRevertedNotification; + } | { readonly emittedAtMs?: number; readonly method: "skills/changed"; @@ -38989,6 +49480,11 @@ export type ServerNotification = readonly method: "thread/name/updated"; readonly params: ServerNotification__ThreadNameUpdatedNotification; } + | { + readonly emittedAtMs?: number; + readonly method: "thread/attachment/updated"; + readonly params: ServerNotification__ThreadAttachmentUpdatedNotification; + } | { readonly emittedAtMs?: number; readonly method: "thread/goal/updated"; @@ -38999,6 +49495,21 @@ export type ServerNotification = readonly method: "thread/goal/cleared"; readonly params: ServerNotification__ThreadGoalClearedNotification; } + | { + readonly emittedAtMs?: number; + readonly method: "thread/queue/changed"; + readonly params: ServerNotification__ThreadQueueChangedNotification; + } + | { + readonly emittedAtMs?: number; + readonly method: "project/changed"; + readonly params: ServerNotification__ProjectChangedNotification; + } + | { + readonly emittedAtMs?: number; + readonly method: "thread/project/updated"; + readonly params: ServerNotification__ThreadProjectUpdatedNotification; + } | { readonly emittedAtMs?: number; readonly method: "thread/environment/connected"; @@ -39064,6 +49575,11 @@ export type ServerNotification = readonly method: "item/autoApprovalReview/completed"; readonly params: ServerNotification__ItemGuardianApprovalReviewCompletedNotification; } + | { + readonly emittedAtMs?: number; + readonly method: "autoApprovalReview/strictReviewRequired"; + readonly params: ServerNotification__StrictReviewRequiredNotification; + } | { readonly emittedAtMs?: number; readonly method: "item/completed"; @@ -39134,6 +49650,11 @@ export type ServerNotification = readonly method: "mcpServer/startupStatus/updated"; readonly params: ServerNotification__McpServerStatusUpdatedNotification; } + | { + readonly emittedAtMs?: number; + readonly method: "mcpServer/event/stream/notification"; + readonly params: ServerNotification__McpServerEventStreamNotification; + } | { readonly emittedAtMs?: number; readonly method: "account/updated"; @@ -39199,6 +49720,16 @@ export type ServerNotification = readonly method: "model/verification"; readonly params: ServerNotification__ModelVerificationNotification; } + | { + readonly emittedAtMs?: number; + readonly method: "modelProvider/authRecoveryStarted"; + readonly params: ServerNotification__AuthRecoveryNotification; + } + | { + readonly emittedAtMs?: number; + readonly method: "modelProvider/authRecoveryCompleted"; + readonly params: ServerNotification__AuthRecoveryNotification; + } | { readonly emittedAtMs?: number; readonly method: "turn/moderationMetadata"; @@ -39249,6 +49780,21 @@ export type ServerNotification = readonly method: "thread/realtime/itemAdded"; readonly params: ServerNotification__ThreadRealtimeItemAddedNotification; } + | { + readonly emittedAtMs?: number; + readonly method: "thread/realtime/item/started"; + readonly params: ServerNotification__ThreadRealtimeItemStartedNotification; + } + | { + readonly emittedAtMs?: number; + readonly method: "thread/realtime/item/transcript/delta"; + readonly params: ServerNotification__ThreadRealtimeItemTranscriptDeltaNotification; + } + | { + readonly emittedAtMs?: number; + readonly method: "thread/realtime/item/completed"; + readonly params: ServerNotification__ThreadRealtimeItemCompletedNotification; + } | { readonly emittedAtMs?: number; readonly method: "thread/realtime/transcript/delta"; @@ -39385,6 +49931,19 @@ export const ServerNotification = Schema.Union( }), params: ServerNotification__ThreadClosedNotification, }).annotate({ title: "Thread/closedNotification" }), + Schema.Struct({ + emittedAtMs: Schema.optionalKey( + Schema.Number.annotate({ + description: + "Unix timestamp (in milliseconds) when app-server emitted this notification.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + ), + method: Schema.Literal("thread/reverted").annotate({ + title: "Thread/revertedNotificationMethod", + }), + params: ServerNotification__ThreadRevertedNotification, + }).annotate({ title: "Thread/revertedNotification" }), Schema.Struct({ emittedAtMs: Schema.optionalKey( Schema.Number.annotate({ @@ -39411,6 +49970,19 @@ export const ServerNotification = Schema.Union( }), params: ServerNotification__ThreadNameUpdatedNotification, }).annotate({ title: "Thread/name/updatedNotification" }), + Schema.Struct({ + emittedAtMs: Schema.optionalKey( + Schema.Number.annotate({ + description: + "Unix timestamp (in milliseconds) when app-server emitted this notification.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + ), + method: Schema.Literal("thread/attachment/updated").annotate({ + title: "Thread/attachment/updatedNotificationMethod", + }), + params: ServerNotification__ThreadAttachmentUpdatedNotification, + }).annotate({ title: "Thread/attachment/updatedNotification" }), Schema.Struct({ emittedAtMs: Schema.optionalKey( Schema.Number.annotate({ @@ -39437,6 +50009,45 @@ export const ServerNotification = Schema.Union( }), params: ServerNotification__ThreadGoalClearedNotification, }).annotate({ title: "Thread/goal/clearedNotification" }), + Schema.Struct({ + emittedAtMs: Schema.optionalKey( + Schema.Number.annotate({ + description: + "Unix timestamp (in milliseconds) when app-server emitted this notification.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + ), + method: Schema.Literal("thread/queue/changed").annotate({ + title: "Thread/queue/changedNotificationMethod", + }), + params: ServerNotification__ThreadQueueChangedNotification, + }).annotate({ title: "Thread/queue/changedNotification" }), + Schema.Struct({ + emittedAtMs: Schema.optionalKey( + Schema.Number.annotate({ + description: + "Unix timestamp (in milliseconds) when app-server emitted this notification.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + ), + method: Schema.Literal("project/changed").annotate({ + title: "Project/changedNotificationMethod", + }), + params: ServerNotification__ProjectChangedNotification, + }).annotate({ title: "Project/changedNotification" }), + Schema.Struct({ + emittedAtMs: Schema.optionalKey( + Schema.Number.annotate({ + description: + "Unix timestamp (in milliseconds) when app-server emitted this notification.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + ), + method: Schema.Literal("thread/project/updated").annotate({ + title: "Thread/project/updatedNotificationMethod", + }), + params: ServerNotification__ThreadProjectUpdatedNotification, + }).annotate({ title: "Thread/project/updatedNotification" }), Schema.Struct({ emittedAtMs: Schema.optionalKey( Schema.Number.annotate({ @@ -39600,6 +50211,19 @@ export const ServerNotification = Schema.Union( }), params: ServerNotification__ItemGuardianApprovalReviewCompletedNotification, }).annotate({ title: "Item/autoApprovalReview/completedNotification" }), + Schema.Struct({ + emittedAtMs: Schema.optionalKey( + Schema.Number.annotate({ + description: + "Unix timestamp (in milliseconds) when app-server emitted this notification.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + ), + method: Schema.Literal("autoApprovalReview/strictReviewRequired").annotate({ + title: "AutoApprovalReview/strictReviewRequiredNotificationMethod", + }), + params: ServerNotification__StrictReviewRequiredNotification, + }).annotate({ title: "AutoApprovalReview/strictReviewRequiredNotification" }), Schema.Struct({ emittedAtMs: Schema.optionalKey( Schema.Number.annotate({ @@ -39799,6 +50423,19 @@ export const ServerNotification = Schema.Union( }), params: ServerNotification__McpServerStatusUpdatedNotification, }).annotate({ title: "McpServer/startupStatus/updatedNotification" }), + Schema.Struct({ + emittedAtMs: Schema.optionalKey( + Schema.Number.annotate({ + description: + "Unix timestamp (in milliseconds) when app-server emitted this notification.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + ), + method: Schema.Literal("mcpServer/event/stream/notification").annotate({ + title: "McpServer/event/stream/notificationNotificationMethod", + }), + params: ServerNotification__McpServerEventStreamNotification, + }).annotate({ title: "McpServer/event/stream/notificationNotification" }), Schema.Struct({ emittedAtMs: Schema.optionalKey( Schema.Number.annotate({ @@ -39969,6 +50606,32 @@ export const ServerNotification = Schema.Union( }), params: ServerNotification__ModelVerificationNotification, }).annotate({ title: "Model/verificationNotification" }), + Schema.Struct({ + emittedAtMs: Schema.optionalKey( + Schema.Number.annotate({ + description: + "Unix timestamp (in milliseconds) when app-server emitted this notification.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + ), + method: Schema.Literal("modelProvider/authRecoveryStarted").annotate({ + title: "ModelProvider/authRecoveryStartedNotificationMethod", + }), + params: ServerNotification__AuthRecoveryNotification, + }).annotate({ title: "ModelProvider/authRecoveryStartedNotification" }), + Schema.Struct({ + emittedAtMs: Schema.optionalKey( + Schema.Number.annotate({ + description: + "Unix timestamp (in milliseconds) when app-server emitted this notification.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + ), + method: Schema.Literal("modelProvider/authRecoveryCompleted").annotate({ + title: "ModelProvider/authRecoveryCompletedNotificationMethod", + }), + params: ServerNotification__AuthRecoveryNotification, + }).annotate({ title: "ModelProvider/authRecoveryCompletedNotification" }), Schema.Struct({ emittedAtMs: Schema.optionalKey( Schema.Number.annotate({ @@ -40097,6 +50760,45 @@ export const ServerNotification = Schema.Union( }), params: ServerNotification__ThreadRealtimeItemAddedNotification, }).annotate({ title: "Thread/realtime/itemAddedNotification" }), + Schema.Struct({ + emittedAtMs: Schema.optionalKey( + Schema.Number.annotate({ + description: + "Unix timestamp (in milliseconds) when app-server emitted this notification.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + ), + method: Schema.Literal("thread/realtime/item/started").annotate({ + title: "Thread/realtime/item/startedNotificationMethod", + }), + params: ServerNotification__ThreadRealtimeItemStartedNotification, + }).annotate({ title: "Thread/realtime/item/startedNotification" }), + Schema.Struct({ + emittedAtMs: Schema.optionalKey( + Schema.Number.annotate({ + description: + "Unix timestamp (in milliseconds) when app-server emitted this notification.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + ), + method: Schema.Literal("thread/realtime/item/transcript/delta").annotate({ + title: "Thread/realtime/item/transcript/deltaNotificationMethod", + }), + params: ServerNotification__ThreadRealtimeItemTranscriptDeltaNotification, + }).annotate({ title: "Thread/realtime/item/transcript/deltaNotification" }), + Schema.Struct({ + emittedAtMs: Schema.optionalKey( + Schema.Number.annotate({ + description: + "Unix timestamp (in milliseconds) when app-server emitted this notification.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + ), + method: Schema.Literal("thread/realtime/item/completed").annotate({ + title: "Thread/realtime/item/completedNotificationMethod", + }), + params: ServerNotification__ThreadRealtimeItemCompletedNotification, + }).annotate({ title: "Thread/realtime/item/completedNotification" }), Schema.Struct({ emittedAtMs: Schema.optionalKey( Schema.Number.annotate({ @@ -40240,15 +50942,25 @@ export const ServerNotification__MultiAgentMode = Schema.Union( "Controls the effective multi-agent delegation instructions for a turn. `custom` means the configured mode hint defines the policy instead of a built-in policy.", }); +export type ServerNotification__ThreadEnvironment = { + readonly cwd: ServerNotification__LegacyAppPathString; + readonly environmentId: string; + readonly runtimeWorkspaceRoots: ReadonlyArray; +}; +export const ServerNotification__ThreadEnvironment = Schema.Struct({ + cwd: ServerNotification__LegacyAppPathString, + environmentId: Schema.String, + runtimeWorkspaceRoots: Schema.Array(ServerNotification__LegacyAppPathString), +}).annotate({ + description: "An environment selected by a loaded thread, independent of connection status.", +}); + export type ServerNotification__ThreadExtra = { readonly [x: string]: Schema.Json }; export const ServerNotification__ThreadExtra = Schema.Record( Schema.String, Schema.Json.annotate({ expected: "JSON value" }), ).annotate({ description: "Extra app-server data for a thread." }); -export type ServerNotification__ThreadHistoryMode = "legacy" | "paginated"; -export const ServerNotification__ThreadHistoryMode = Schema.Literals(["legacy", "paginated"]); - export type ServerRequest = | { readonly id: ServerRequest__RequestId; @@ -40474,6 +51186,7 @@ export const ServerRequest__CommandExecutionApprovalDecision = Schema.Union( export type ToolRequestUserInputParams = { readonly autoResolutionMs?: number | null; + readonly isBlocking: boolean; readonly itemId: string; readonly questions: ReadonlyArray; readonly threadId: string; @@ -40482,7 +51195,10 @@ export type ToolRequestUserInputParams = { export const ToolRequestUserInputParams = Schema.Struct({ autoResolutionMs: Schema.optionalKey( Schema.Union([ - Schema.Number.annotate({ format: "uint64" }) + Schema.Number.annotate({ + description: "@deprecated Use `isBlocking` to decide whether the request should block.", + format: "uint64", + }) .check(Schema.isInt().annotate({ expected: "an integer" })) .check( Schema.isGreaterThanOrEqualTo(0).annotate({ @@ -40492,6 +51208,7 @@ export const ToolRequestUserInputParams = Schema.Struct({ Schema.Null, ]), ), + isBlocking: Schema.Boolean, itemId: Schema.String, questions: Schema.Array(ToolRequestUserInputParams__ToolRequestUserInputQuestion), threadId: Schema.String, @@ -40549,11 +51266,15 @@ export const V1InitializeResponse = Schema.Struct({ export type V2AccountLoginCompletedNotification = { readonly error?: string | null; readonly loginId?: string | null; + readonly onboardingEntrypoint?: V2AccountLoginCompletedNotification__DesktopOnboardingEntrypoint | null; readonly success: boolean; }; export const V2AccountLoginCompletedNotification = Schema.Struct({ error: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), loginId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + onboardingEntrypoint: Schema.optionalKey( + Schema.Union([V2AccountLoginCompletedNotification__DesktopOnboardingEntrypoint, Schema.Null]), + ), success: Schema.Boolean, }).annotate({ title: "AccountLoginCompletedNotification" }); @@ -40703,6 +51424,7 @@ export const V2AppsListResponse = Schema.Struct({ export type V2AppsReadParams = { readonly appIds: ReadonlyArray; readonly includeTools?: boolean; + readonly threadId?: string | null; }; export const V2AppsReadParams = Schema.Struct({ appIds: Schema.Array(Schema.String).annotate({ @@ -40715,6 +51437,14 @@ export const V2AppsReadParams = Schema.Struct({ "When true, include display-only public tool summaries in the returned metadata.", }), ), + threadId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Optional loaded thread id used to evaluate effective app configuration.", + }), + Schema.Null, + ]), + ), }).annotate({ title: "AppsReadParams", description: "EXPERIMENTAL - read metadata for specific apps/connectors.", @@ -40729,6 +51459,19 @@ export const V2AppsReadResponse = Schema.Struct({ missingAppIds: Schema.Array(Schema.String), }).annotate({ title: "AppsReadResponse", description: "EXPERIMENTAL - app/read response." }); +export type V2AuthRecoveryNotification = { + readonly message: string; + readonly provider: string; + readonly threadId: string; + readonly turnId: string; +}; +export const V2AuthRecoveryNotification = Schema.Struct({ + message: Schema.String, + provider: Schema.String, + threadId: Schema.String, + turnId: Schema.String, +}).annotate({ title: "AuthRecoveryNotification" }); + export type V2CancelLoginAccountParams = { readonly loginId: string }; export const V2CancelLoginAccountParams = Schema.Struct({ loginId: Schema.String }).annotate({ title: "CancelLoginAccountParams", @@ -41022,7 +51765,7 @@ export const V2ConfigBatchWriteParams = Schema.Struct({ reloadUserConfig: Schema.optionalKey( Schema.Boolean.annotate({ description: - "When true, hot-reload the updated user config into all loaded threads after writing.", + "When true, hot-reload updated runtime settings into loaded threads after writing. Session-static model, reasoning-effort, Plan-mode reasoning-effort, and service-tier defaults are not reloaded. The deprecated personality setting is also not reloaded.", }), ), }).annotate({ title: "ConfigBatchWriteParams" }); @@ -41060,6 +51803,8 @@ export type V2ConfigReadResponse__AppConfig = { readonly default_tools_enabled?: boolean | null; readonly destructive_enabled?: boolean | null; readonly enabled?: boolean; + readonly links?: V2ConfigReadResponse__AppLinksConfig | null; + readonly omit_tools_from?: ReadonlyArray | null; readonly open_world_enabled?: boolean | null; readonly tools?: V2ConfigReadResponse__AppToolsConfig | null; }; @@ -41073,10 +51818,36 @@ export const V2ConfigReadResponse__AppConfig = Schema.Struct({ default_tools_enabled: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), destructive_enabled: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), enabled: Schema.optionalKey(Schema.Boolean.annotate({ default: true })), + links: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__AppLinksConfig, Schema.Null]).annotate({ + description: "Per-account approval settings keyed by link ID.", + }), + ), + omit_tools_from: Schema.optionalKey( + Schema.Union([ + Schema.Array(V2ConfigReadResponse__ToolExposureSurface).annotate({ + description: "Additional model-facing surfaces omitted for this connector's tools.", + }), + Schema.Null, + ]), + ), open_world_enabled: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), tools: Schema.optionalKey(Schema.Union([V2ConfigReadResponse__AppToolsConfig, Schema.Null])), }); +export type V2ConfigReadResponse__AppLinkConfig = { + readonly approvals_reviewer?: V2ConfigReadResponse__ApprovalsReviewer | null; + readonly default_tools_approval_mode?: V2ConfigReadResponse__AppToolApproval | null; +}; +export const V2ConfigReadResponse__AppLinkConfig = Schema.Struct({ + approvals_reviewer: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__ApprovalsReviewer, Schema.Null]), + ), + default_tools_approval_mode: Schema.optionalKey( + Schema.Union([V2ConfigReadResponse__AppToolApproval, Schema.Null]), + ), +}).annotate({ description: "Approval settings for a connected account within an app." }); + export type V2ConfigReadResponse__AppsConfig = { readonly _default?: V2ConfigReadResponse__AppsDefaultConfig | null; }; @@ -41109,6 +51880,15 @@ export const V2ConfigRequirementsReadResponse = Schema.Struct({ ), }).annotate({ title: "ConfigRequirementsReadResponse" }); +export type V2ConfigRequirementsReadResponse__ApplicationRequirements = { + readonly network?: V2ConfigRequirementsReadResponse__ApplicationNetworkRequirements | null; +}; +export const V2ConfigRequirementsReadResponse__ApplicationRequirements = Schema.Struct({ + network: Schema.optionalKey( + Schema.Union([V2ConfigRequirementsReadResponse__ApplicationNetworkRequirements, Schema.Null]), + ), +}); + export type V2ConfigRequirementsReadResponse__ApprovalsReviewer = | "user" | "auto_review" @@ -41123,6 +51903,7 @@ export const V2ConfigRequirementsReadResponse__ApprovalsReviewer = Schema.Litera }); export type V2ConfigRequirementsReadResponse__ManagedHooksRequirements = { + readonly Interrupt?: ReadonlyArray; readonly PermissionRequest: ReadonlyArray; readonly PostCompact: ReadonlyArray; readonly PostToolUse: ReadonlyArray; @@ -41138,6 +51919,11 @@ export type V2ConfigRequirementsReadResponse__ManagedHooksRequirements = { readonly windowsManagedDir?: string | null; }; export const V2ConfigRequirementsReadResponse__ManagedHooksRequirements = Schema.Struct({ + Interrupt: Schema.optionalKey( + Schema.Array(V2ConfigRequirementsReadResponse__ConfiguredHookMatcherGroup).annotate({ + default: [], + }), + ), PermissionRequest: Schema.Array(V2ConfigRequirementsReadResponse__ConfiguredHookMatcherGroup), PostCompact: Schema.Array(V2ConfigRequirementsReadResponse__ConfiguredHookMatcherGroup), PostToolUse: Schema.Array(V2ConfigRequirementsReadResponse__ConfiguredHookMatcherGroup), @@ -41484,6 +52270,8 @@ export const V2ExperimentalFeatureListResponse = Schema.Struct({ export type V2ExternalAgentConfigDetectParams = { readonly cwds?: ReadonlyArray | null; readonly includeHome?: boolean; + readonly maxSessionAgeDays?: number | null; + readonly maxSessions?: number | null; readonly migrationSource?: string | null; readonly source?: string | null; }; @@ -41501,6 +52289,37 @@ export const V2ExternalAgentConfigDetectParams = Schema.Struct({ description: "If true, include detection under the user's home directory.", }), ), + maxSessionAgeDays: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Maximum age in days for detected sessions. Missing values use the default limit.", + format: "uint32", + }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + maxSessions: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Maximum number of sessions to detect. Missing values use the default limit.", + format: "uint32", + }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), migrationSource: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -41522,9 +52341,15 @@ export const V2ExternalAgentConfigDetectParams = Schema.Struct({ }).annotate({ title: "ExternalAgentConfigDetectParams" }); export type V2ExternalAgentConfigDetectResponse = { + readonly connectors?: ReadonlyArray; readonly items: ReadonlyArray; }; export const V2ExternalAgentConfigDetectResponse = Schema.Struct({ + connectors: Schema.optionalKey( + Schema.Array( + V2ExternalAgentConfigDetectResponse__ExternalAgentDetectedConnectorCandidate, + ).annotate({ default: [] }), + ), items: Schema.Array(V2ExternalAgentConfigDetectResponse__ExternalAgentConfigMigrationItem), }).annotate({ title: "ExternalAgentConfigDetectResponse" }); @@ -41552,9 +52377,28 @@ export const V2ExternalAgentConfigImportHistoriesReadResponse = Schema.Struct({ ), }).annotate({ title: "ExternalAgentConfigImportHistoriesReadResponse" }); +export type V2ExternalAgentConfigImportHistoryRecordParams = { + readonly itemTypeResults: ReadonlyArray; + readonly providerId: string; +}; +export const V2ExternalAgentConfigImportHistoryRecordParams = Schema.Struct({ + itemTypeResults: Schema.Array( + V2ExternalAgentConfigImportHistoryRecordParams__ExternalAgentConfigImportHistoryRecordTypeResultParams, + ).annotate({ description: "Completed results grouped by imported item type." }), + providerId: Schema.String.annotate({ + description: "Opaque provider identifier for the externally completed import.", + }), +}).annotate({ title: "ExternalAgentConfigImportHistoryRecordParams" }); + +export type V2ExternalAgentConfigImportHistoryRecordResponse = { readonly importId: string }; +export const V2ExternalAgentConfigImportHistoryRecordResponse = Schema.Struct({ + importId: Schema.String, +}).annotate({ title: "ExternalAgentConfigImportHistoryRecordResponse" }); + export type V2ExternalAgentConfigImportParams = { readonly migrationItems: ReadonlyArray; readonly migrationSource?: string | null; + readonly providerId?: string | null; readonly source?: string | null; }; export const V2ExternalAgentConfigImportParams = Schema.Struct({ @@ -41568,6 +52412,15 @@ export const V2ExternalAgentConfigImportParams = Schema.Struct({ Schema.Null, ]), ), + providerId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Opaque provider identifier supplied by the caller for analytics attribution and import history display. This does not select the migration source.", + }), + Schema.Null, + ]), + ), source: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -41613,10 +52466,22 @@ export const V2FeedbackUploadParams = Schema.Struct({ threadId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ title: "FeedbackUploadParams" }); -export type V2FeedbackUploadResponse = { readonly threadId: string }; -export const V2FeedbackUploadResponse = Schema.Struct({ threadId: Schema.String }).annotate({ - title: "FeedbackUploadResponse", -}); +export type V2FeedbackUploadResponse = { + readonly promptHash?: string | null; + readonly threadId: string; +}; +export const V2FeedbackUploadResponse = Schema.Struct({ + promptHash: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Whitespace-normalized SHA-256 of the session base instructions, matching the uploaded `prompt_hash` tag. Does not include later developer messages. Null when the reported rollout has no prompt metadata.", + }), + Schema.Null, + ]), + ), + threadId: Schema.String, +}).annotate({ title: "FeedbackUploadResponse" }); export type V2FileChangeOutputDeltaNotification = { readonly delta: string; @@ -41906,16 +52771,43 @@ export const V2GetAccountParams = Schema.Struct({ }).annotate({ title: "GetAccountParams" }); export type V2GetAccountRateLimitsResponse = { + readonly accountId?: string | null; + readonly ordinaryUsageAllowed?: boolean | null; readonly rateLimitResetCredits?: V2GetAccountRateLimitsResponse__RateLimitResetCreditsSummary | null; + readonly rateLimitUpsell?: Schema.Json; readonly rateLimits: V2GetAccountRateLimitsResponse__RateLimitSnapshot; readonly rateLimitsByLimitId?: { readonly [x: string]: V2GetAccountRateLimitsResponse__RateLimitSnapshot; } | null; }; export const V2GetAccountRateLimitsResponse = Schema.Struct({ + accountId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Account associated with this usage snapshot, when supplied by the backend.", + }), + Schema.Null, + ]), + ), + ordinaryUsageAllowed: Schema.optionalKey( + Schema.Union([ + Schema.Boolean.annotate({ + description: + "Backend permission for ordinary included usage, validated against the active account. Null means unavailable; clients must not infer recovery from percentages or reset times.", + }), + Schema.Null, + ]), + ), rateLimitResetCredits: Schema.optionalKey( Schema.Union([V2GetAccountRateLimitsResponse__RateLimitResetCreditsSummary, Schema.Null]), ), + rateLimitUpsell: Schema.optionalKey( + Schema.Json.annotate({ + expected: "JSON value", + description: + "Optional backend-owned banner from the same usage read. Its nested keys retain the backend's snake_case contract; an absent banner leaves the client's existing UI unchanged.", + }), + ), rateLimits: Schema.suspend( (): Schema.Codec => V2GetAccountRateLimitsResponse__RateLimitSnapshot, @@ -41941,9 +52833,21 @@ export const V2GetAccountResponse = Schema.Struct({ requiresOpenaiAuth: Schema.Boolean, }).annotate({ title: "GetAccountResponse" }); +export type V2GetAccountResponse__WorkspaceRouting = { + readonly accountRoutingOverride: V2GetAccountResponse__AccountRoutingOverride; + readonly backendOrigin: string; + readonly chatgptAccountId: string; +}; +export const V2GetAccountResponse__WorkspaceRouting = Schema.Struct({ + accountRoutingOverride: V2GetAccountResponse__AccountRoutingOverride, + backendOrigin: Schema.String, + chatgptAccountId: Schema.String, +}); + export type V2GetAccountTokenUsageResponse = { readonly dailyUsageBuckets?: ReadonlyArray | null; readonly summary: V2GetAccountTokenUsageResponse__AccountTokenUsageSummary; + readonly threadUsage?: V2GetAccountTokenUsageResponse__ThreadUsage | null; }; export const V2GetAccountTokenUsageResponse = Schema.Struct({ dailyUsageBuckets: Schema.optionalKey( @@ -41953,6 +52857,12 @@ export const V2GetAccountTokenUsageResponse = Schema.Struct({ ]), ), summary: V2GetAccountTokenUsageResponse__AccountTokenUsageSummary, + threadUsage: Schema.optionalKey( + Schema.Union([V2GetAccountTokenUsageResponse__ThreadUsage, Schema.Null]).annotate({ + description: + "Estimated usage when a thread was requested and its billing route is available.", + }), + ), }).annotate({ title: "GetAccountTokenUsageResponse" }); export type V2GetWorkspaceMessagesResponse = { @@ -42058,7 +52968,7 @@ export const V2ItemGuardianApprovalReviewCompletedNotification = Schema.Struct({ Schema.Union([ Schema.String.annotate({ description: - "Identifier for the reviewed item or tool call when one exists.\n\nIn most cases, one review maps to one target item. The exceptions are - execve reviews, where a single command may contain multiple execve calls to review (only possible when using the shell_zsh_fork feature) - network policy reviews, where there is no target item\n\nA network call is triggered by a CommandExecution item, so having a target_item_id set to the CommandExecution item would be misleading because the review is about the network call, not the command execution. Therefore, target_item_id is set to None for network policy reviews.", + "Identifier for the reviewed item or tool call when one exists.\n\nIn most cases, one review maps to one target item. The exceptions are - execve reviews, where a single command may contain multiple execve calls to review (only possible when using the shell_zsh_fork feature) - stdin reviews, which refer to the existing parent command item and have a separate approval ID in the action payload - network policy reviews, where there is no target item\n\nA network call is triggered by a CommandExecution item, so having a target_item_id set to the CommandExecution item would be misleading because the review is about the network call, not the command execution. Therefore, target_item_id is set to None for network policy reviews.", }), Schema.Null, ]), @@ -42092,7 +53002,7 @@ export const V2ItemGuardianApprovalReviewStartedNotification = Schema.Struct({ Schema.Union([ Schema.String.annotate({ description: - "Identifier for the reviewed item or tool call when one exists.\n\nIn most cases, one review maps to one target item. The exceptions are - execve reviews, where a single command may contain multiple execve calls to review (only possible when using the shell_zsh_fork feature) - network policy reviews, where there is no target item\n\nA network call is triggered by a CommandExecution item, so having a target_item_id set to the CommandExecution item would be misleading because the review is about the network call, not the command execution. Therefore, target_item_id is set to None for network policy reviews.", + "Identifier for the reviewed item or tool call when one exists.\n\nIn most cases, one review maps to one target item. The exceptions are - execve reviews, where a single command may contain multiple execve calls to review (only possible when using the shell_zsh_fork feature) - stdin reviews, which refer to the existing parent command item and have a separate approval ID in the action payload - network policy reviews, where there is no target item\n\nA network call is triggered by a CommandExecution item, so having a target_item_id set to the CommandExecution item would be misleading because the review is about the network call, not the command execution. Therefore, target_item_id is set to None for network policy reviews.", }), Schema.Null, ]), @@ -42192,7 +53102,14 @@ export type V2LoginAccountParams = readonly chatgptPlanType?: string | null; readonly type: "chatgptAuthTokens"; } - | { readonly apiKey: string; readonly region: string; readonly type: "amazonBedrock" }; + | { readonly apiKey: string; readonly region: string; readonly type: "amazonBedrock" } + | { + readonly accessKeyId: string; + readonly region: string; + readonly secretAccessKey: string; + readonly sessionToken?: string | null; + readonly type: "amazonBedrockAccessKeys"; + }; export const V2LoginAccountParams = Schema.Union( [ Schema.Struct({ @@ -42247,6 +53164,18 @@ export const V2LoginAccountParams = Schema.Union( title: "AmazonBedrockv2::LoginAccountParams", description: "[UNSTABLE] Managed Amazon Bedrock login is experimental.", }), + Schema.Struct({ + accessKeyId: Schema.String, + region: Schema.String, + secretAccessKey: Schema.String, + sessionToken: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + type: Schema.Literal("amazonBedrockAccessKeys").annotate({ + title: "AmazonBedrockAccessKeysv2::LoginAccountParamsType", + }), + }).annotate({ + title: "AmazonBedrockAccessKeysv2::LoginAccountParams", + description: "[UNSTABLE] Managed Amazon Bedrock AWS access key login is experimental.", + }), ], { mode: "oneOf" }, ).annotate({ title: "LoginAccountParams" }); @@ -42362,11 +53291,22 @@ export const V2MarketplaceUpgradeResponse = Schema.Struct({ }).annotate({ title: "MarketplaceUpgradeResponse" }); export type V2McpResourceReadParams = { + readonly connectorId?: string | null; + readonly originCallId?: string | null; readonly server: string; readonly threadId?: string | null; readonly uri: string; }; export const V2McpResourceReadParams = Schema.Struct({ + connectorId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + originCallId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Originating MCP tool call used to select the resource's app.", + }), + Schema.Null, + ]), + ), server: Schema.String, threadId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), uri: Schema.String, @@ -42374,11 +53314,29 @@ export const V2McpResourceReadParams = Schema.Struct({ export type V2McpResourceReadResponse = { readonly contents: ReadonlyArray; + readonly originCallId?: string | null; }; export const V2McpResourceReadResponse = Schema.Struct({ contents: Schema.Array(V2McpResourceReadResponse__ResourceContent), + originCallId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Originating call when the server applied app-specific resource scoping.", + }), + Schema.Null, + ]), + ), }).annotate({ title: "McpResourceReadResponse" }); +export type V2McpServerEventStreamNotification = { + readonly notification: V2McpServerEventStreamNotification__McpServerEventNotification; + readonly subscriptionId: string; +}; +export const V2McpServerEventStreamNotification = Schema.Struct({ + notification: V2McpServerEventStreamNotification__McpServerEventNotification, + subscriptionId: Schema.String, +}).annotate({ title: "McpServerEventStreamNotification" }); + export type V2McpServerOauthLoginCompletedNotification = { readonly error?: string | null; readonly name: string; @@ -42393,12 +53351,22 @@ export const V2McpServerOauthLoginCompletedNotification = Schema.Struct({ }).annotate({ title: "McpServerOauthLoginCompletedNotification" }); export type V2McpServerOauthLoginParams = { + readonly clientRegistration?: V2McpServerOauthLoginParams__McpServerOauthClientRegistration | null; readonly name: string; readonly scopes?: ReadonlyArray | null; readonly threadId?: string | null; readonly timeoutSecs?: number | null; }; export const V2McpServerOauthLoginParams = Schema.Struct({ + clientRegistration: Schema.optionalKey( + Schema.Union([ + V2McpServerOauthLoginParams__McpServerOauthClientRegistration, + Schema.Null, + ]).annotate({ + description: + "Registration strategy for this login only; omission selects automatic discovery.", + }), + ), name: Schema.String, scopes: Schema.optionalKey(Schema.Union([Schema.Array(Schema.String), Schema.Null])), threadId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -42602,6 +53570,18 @@ export const V2ModelVerificationNotification = Schema.Struct({ verifications: Schema.Array(V2ModelVerificationNotification__ModelVerification), }).annotate({ title: "ModelVerificationNotification" }); +export type V2NullableGetAccountRateLimitsParams = V2NullableGetAccountRateLimitsParams__GetAccountRateLimitsParams | null; +export const V2NullableGetAccountRateLimitsParams = Schema.Union([ + V2NullableGetAccountRateLimitsParams__GetAccountRateLimitsParams, + Schema.Null, +]).annotate({ title: "Nullable_GetAccountRateLimitsParams" }); + +export type V2NullableGetAccountTokenUsageParams = V2NullableGetAccountTokenUsageParams__GetAccountTokenUsageParams | null; +export const V2NullableGetAccountTokenUsageParams = Schema.Union([ + V2NullableGetAccountTokenUsageParams__GetAccountTokenUsageParams, + Schema.Null, +]).annotate({ title: "Nullable_GetAccountTokenUsageParams" }); + export type V2PermissionProfileListParams = { readonly cursor?: string | null; readonly cwd?: string | null; @@ -42711,11 +53691,20 @@ export const V2PluginInstalledResponse = Schema.Struct({ }).annotate({ title: "PluginInstalledResponse" }); export type V2PluginInstallParams = { + readonly installAttemptId?: string | null; readonly marketplacePath?: V2PluginInstallParams__AbsolutePathBuf | null; readonly pluginName: string; readonly remoteMarketplaceName?: string | null; }; export const V2PluginInstallParams = Schema.Struct({ + installAttemptId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Client-generated identifier used to correlate one installation attempt.", + }), + Schema.Null, + ]), + ), marketplacePath: Schema.optionalKey( Schema.Union([V2PluginInstallParams__AbsolutePathBuf, Schema.Null]), ), @@ -42734,6 +53723,7 @@ export const V2PluginInstallResponse = Schema.Struct({ export type V2PluginListParams = { readonly cwds?: ReadonlyArray | null; + readonly forceRefetch?: boolean; readonly marketplaceKinds?: ReadonlyArray | null; }; export const V2PluginListParams = Schema.Struct({ @@ -42746,6 +53736,11 @@ export const V2PluginListParams = Schema.Struct({ Schema.Null, ]), ), + forceRefetch: Schema.optionalKey( + Schema.Boolean.annotate({ + description: "Whether the client requests a fresh remote plugin catalog fetch.", + }), + ), marketplaceKinds: Schema.optionalKey( Schema.Union([ Schema.Array(V2PluginListParams__PluginListMarketplaceKind).annotate({ @@ -42788,6 +53783,41 @@ export const V2PluginReadResponse = Schema.Struct({ plugin: V2PluginReadResponse__PluginDetail, }).annotate({ title: "PluginReadResponse" }); +export type V2PluginReconcileParams = { readonly reason?: string | null }; +export const V2PluginReconcileParams = Schema.Struct({ + reason: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Optional client-provided reason recorded with the reconciliation attempt.", + }), + Schema.Null, + ]), + ), +}).annotate({ title: "PluginReconcileParams" }); + +export type V2PluginReconcileResponse = { + readonly changedPlugins: ReadonlyArray; + readonly failedMaterializationRemotePluginIds: ReadonlyArray; + readonly failedRemotePluginIds: ReadonlyArray; +}; +export const V2PluginReconcileResponse = Schema.Struct({ + changedPlugins: Schema.Array(V2PluginReconcileResponse__PluginReconcileChangedPlugin).annotate({ + description: + "Plugins affected by bundle changes, enablement changes, or removals. Installed-state changes compare against the previous cached snapshot, including cached reinstalls. Removal hints survive cache cleanup failures; unchanged plugins are omitted.", + }), + failedMaterializationRemotePluginIds: Schema.Array(Schema.String).annotate({ + description: + "Subset of failures for which the requested bundle could not be materialized. A previously cached version may still be available.", + }), + failedRemotePluginIds: Schema.Array(Schema.String).annotate({ + description: "Backend remote plugin IDs whose bundle or identity update failed.", + }), +}).annotate({ + title: "PluginReconcileResponse", + description: + "Bundle and installed-state changes observed by this pass, not a runtime-readiness acknowledgement or a cumulative diff since the client's last request. Other metadata-only changes are not listed.", +}); + export type V2PluginShareCheckoutParams = { readonly remotePluginId: string }; export const V2PluginShareCheckoutParams = Schema.Struct({ remotePluginId: Schema.String, @@ -42854,10 +53884,12 @@ export const V2PluginShareSaveParams = Schema.Struct({ }).annotate({ title: "PluginShareSaveParams" }); export type V2PluginShareSaveResponse = { + readonly canPublishToWorkspace?: boolean | null; readonly remotePluginId: string; readonly shareUrl: string; }; export const V2PluginShareSaveResponse = Schema.Struct({ + canPublishToWorkspace: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), remotePluginId: Schema.String, shareUrl: Schema.String, }).annotate({ title: "PluginShareSaveResponse" }); @@ -42969,11 +54001,21 @@ export const V2ProcessOutputDeltaNotification = Schema.Struct({ description: "Base64-encoded output chunk emitted for a streaming `process/spawn` request.", }); +export type V2ProjectChangedNotification = { + readonly changeType: V2ProjectChangedNotification__ProjectChangeType; + readonly projectId: string; +}; +export const V2ProjectChangedNotification = Schema.Struct({ + changeType: V2ProjectChangedNotification__ProjectChangeType, + projectId: Schema.String, +}).annotate({ title: "ProjectChangedNotification" }); + export type V2RawResponseCompletedNotification = { readonly responseId: string; readonly threadId: string; readonly turnId: string; readonly usage?: V2RawResponseCompletedNotification__TokenUsageBreakdown | null; + readonly usageMetadata?: V2RawResponseCompletedNotification__ResponseUsageMetadata | null; }; export const V2RawResponseCompletedNotification = Schema.Struct({ responseId: Schema.String, @@ -42982,6 +54024,9 @@ export const V2RawResponseCompletedNotification = Schema.Struct({ usage: Schema.optionalKey( Schema.Union([V2RawResponseCompletedNotification__TokenUsageBreakdown, Schema.Null]), ), + usageMetadata: Schema.optionalKey( + Schema.Union([V2RawResponseCompletedNotification__ResponseUsageMetadata, Schema.Null]), + ), }).annotate({ title: "RawResponseCompletedNotification", description: @@ -43073,7 +54118,7 @@ export const V2ReviewStartParams = Schema.Struct({ delivery: Schema.optionalKey( Schema.Union([V2ReviewStartParams__ReviewDelivery, Schema.Null]).annotate({ description: - "Where to run the review: inline (default) on the current thread or detached on a new thread (returned in `reviewThreadId`).", + "Where to run the review: inline (default) on the current thread or detached on a new thread (returned in `reviewThreadId`). Detached delivery is deprecated and emits `deprecationNotice`. Use `thread/start` followed by an inline review for a separate review thread.", }), ), target: V2ReviewStartParams__ReviewTarget, @@ -43184,6 +54229,20 @@ export const V2SkillsListResponse = Schema.Struct({ data: Schema.Array(V2SkillsListResponse__SkillsListEntry), }).annotate({ title: "SkillsListResponse" }); +export type V2StrictReviewRequiredNotification = { + readonly startedAtMs: number; + readonly threadId: string; + readonly turnId: string; +}; +export const V2StrictReviewRequiredNotification = Schema.Struct({ + startedAtMs: Schema.Number.annotate({ + description: "Unix timestamp (in milliseconds) when this review started.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + threadId: Schema.String, + turnId: Schema.String, +}).annotate({ title: "StrictReviewRequiredNotification" }); + export type V2TerminalInteractionNotification = { readonly itemId: string; readonly processId: string; @@ -43233,6 +54292,112 @@ export const V2ThreadArchiveResponse = Schema.Record( Schema.Json.annotate({ expected: "JSON value" }), ).annotate({ title: "ThreadArchiveResponse" }); +export type V2ThreadAttachmentAddParams = { + readonly attachmentType: string; + readonly identityKey: string; + readonly payload: Schema.Json; + readonly threadId: string; +}; +export const V2ThreadAttachmentAddParams = Schema.Struct({ + attachmentType: Schema.String, + identityKey: Schema.String, + payload: Schema.Json.annotate({ expected: "JSON value" }), + threadId: Schema.String, +}).annotate({ + title: "ThreadAttachmentAddParams", + description: "Parameters for creating or locating an attachment on its owning thread.", +}); + +export type V2ThreadAttachmentAddResponse = { + readonly attachment: V2ThreadAttachmentAddResponse__ThreadAttachment; + readonly outcome: V2ThreadAttachmentAddResponse__ThreadAttachmentAddOutcome; +}; +export const V2ThreadAttachmentAddResponse = Schema.Struct({ + attachment: V2ThreadAttachmentAddResponse__ThreadAttachment, + outcome: V2ThreadAttachmentAddResponse__ThreadAttachmentAddOutcome, +}).annotate({ + title: "ThreadAttachmentAddResponse", + description: "The created or existing attachment.", +}); + +export type V2ThreadAttachmentListParams = { + readonly cursor?: string | null; + readonly limit?: number | null; + readonly threadId: string; +}; +export const V2ThreadAttachmentListParams = Schema.Struct({ + cursor: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + limit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + threadId: Schema.String, +}).annotate({ + title: "ThreadAttachmentListParams", + description: "Parameters for listing attachments from one thread.", +}); + +export type V2ThreadAttachmentListResponse = { + readonly data: ReadonlyArray; + readonly nextCursor?: string | null; +}; +export const V2ThreadAttachmentListResponse = Schema.Struct({ + data: Schema.Array(V2ThreadAttachmentListResponse__ThreadAttachment), + nextCursor: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), +}).annotate({ + title: "ThreadAttachmentListResponse", + description: "One page of attachments associated with the requested thread.", +}); + +export type V2ThreadAttachmentRemoveParams = { + readonly attachmentType: string; + readonly identityKey: string; + readonly threadId: string; +}; +export const V2ThreadAttachmentRemoveParams = Schema.Struct({ + attachmentType: Schema.String, + identityKey: Schema.String, + threadId: Schema.String, +}).annotate({ + title: "ThreadAttachmentRemoveParams", + description: "Parameters for deleting an attachment by its stable thread-local identity.", +}); + +export type V2ThreadAttachmentRemoveResponse = { readonly [x: string]: Schema.Json }; +export const V2ThreadAttachmentRemoveResponse = Schema.Record( + Schema.String, + Schema.Json.annotate({ expected: "JSON value" }), +).annotate({ + title: "ThreadAttachmentRemoveResponse", + description: "Successful deletion does not return additional attachment data.", +}); + +export type V2ThreadAttachmentUpdatedNotification = { + readonly attachmentId: string; + readonly attachmentType: string; + readonly identityKey: string; + readonly operation: V2ThreadAttachmentUpdatedNotification__ThreadAttachmentOperation; + readonly threadId: string; +}; +export const V2ThreadAttachmentUpdatedNotification = Schema.Struct({ + attachmentId: Schema.String, + attachmentType: Schema.String, + identityKey: Schema.String, + operation: V2ThreadAttachmentUpdatedNotification__ThreadAttachmentOperation, + threadId: Schema.String, +}).annotate({ + title: "ThreadAttachmentUpdatedNotification", + description: "Notification published after a thread attachment is created or deleted.", +}); + export type V2ThreadClosedNotification = { readonly threadId: string }; export const V2ThreadClosedNotification = Schema.Struct({ threadId: Schema.String }).annotate({ title: "ThreadClosedNotification", @@ -43273,6 +54438,7 @@ export type V2ThreadForkParams = { readonly cwd?: string | null; readonly developerInstructions?: string | null; readonly ephemeral?: boolean; + readonly excludeTurns?: boolean; readonly lastTurnId?: string | null; readonly model?: string | null; readonly modelProvider?: string | null; @@ -43301,6 +54467,12 @@ export const V2ThreadForkParams = Schema.Struct({ cwd: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), developerInstructions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), ephemeral: Schema.optionalKey(Schema.Boolean), + excludeTurns: Schema.optionalKey( + Schema.Boolean.annotate({ + description: + "When true, return only thread metadata and live fork state without populating `thread.turns`. This is useful when the client plans to call `thread/turns/list` immediately after forking. Full-history hydration is deprecated for paginated threads; use this with `thread/turns/list` and `thread/items/list` instead.", + }), + ), lastTurnId: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -43344,6 +54516,7 @@ export type V2ThreadForkResponse = { readonly approvalPolicy: V2ThreadForkResponse__AskForApproval; readonly approvalsReviewer: V2ThreadForkResponse__ApprovalsReviewer; readonly cwd: V2ThreadForkResponse__AbsolutePathBuf; + readonly disabledPluginIds?: ReadonlyArray; readonly instructionSources?: ReadonlyArray; readonly model: string; readonly modelProvider: string; @@ -43359,6 +54532,12 @@ export const V2ThreadForkResponse = Schema.Struct({ V2ThreadForkResponse__ApprovalsReviewer, ).annotate({ description: "Reviewer currently used for approval requests on this thread." }), cwd: V2ThreadForkResponse__AbsolutePathBuf, + disabledPluginIds: Schema.optionalKey( + Schema.Array(Schema.String).annotate({ + description: "Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.", + default: [], + }), + ), instructionSources: Schema.optionalKey( Schema.Array(V2ThreadForkResponse__LegacyAppPathString).annotate({ description: @@ -43416,15 +54595,25 @@ export const V2ThreadForkResponse__MultiAgentMode = Schema.Union( "Controls the effective multi-agent delegation instructions for a turn. `custom` means the configured mode hint defines the policy instead of a built-in policy.", }); +export type V2ThreadForkResponse__ThreadEnvironment = { + readonly cwd: V2ThreadForkResponse__LegacyAppPathString; + readonly environmentId: string; + readonly runtimeWorkspaceRoots: ReadonlyArray; +}; +export const V2ThreadForkResponse__ThreadEnvironment = Schema.Struct({ + cwd: V2ThreadForkResponse__LegacyAppPathString, + environmentId: Schema.String, + runtimeWorkspaceRoots: Schema.Array(V2ThreadForkResponse__LegacyAppPathString), +}).annotate({ + description: "An environment selected by a loaded thread, independent of connection status.", +}); + export type V2ThreadForkResponse__ThreadExtra = { readonly [x: string]: Schema.Json }; export const V2ThreadForkResponse__ThreadExtra = Schema.Record( Schema.String, Schema.Json.annotate({ expected: "JSON value" }), ).annotate({ description: "Extra app-server data for a thread." }); -export type V2ThreadForkResponse__ThreadHistoryMode = "legacy" | "paginated"; -export const V2ThreadForkResponse__ThreadHistoryMode = Schema.Literals(["legacy", "paginated"]); - export type V2ThreadGoalClearedNotification = { readonly threadId: string }; export const V2ThreadGoalClearedNotification = Schema.Struct({ threadId: Schema.String }).annotate({ title: "ThreadGoalClearedNotification", @@ -43505,13 +54694,87 @@ export const V2ThreadInjectItemsResponse = Schema.Record( Schema.Json.annotate({ expected: "JSON value" }), ).annotate({ title: "ThreadInjectItemsResponse" }); +export type V2ThreadItemsListParams = { + readonly cursor?: string | null; + readonly limit?: number | null; + readonly sortDirection?: V2ThreadItemsListParams__SortDirection | null; + readonly threadId: string; + readonly turnId?: string | null; +}; +export const V2ThreadItemsListParams = Schema.Struct({ + cursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Opaque cursor to pass to the next call to continue after the last item.", + }), + Schema.Null, + ]), + ), + limit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ description: "Optional item page size.", format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + sortDirection: Schema.optionalKey( + Schema.Union([V2ThreadItemsListParams__SortDirection, Schema.Null]).annotate({ + description: "Optional item pagination direction; defaults to ascending.", + }), + ), + threadId: Schema.String, + turnId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Optional turn id to filter by. When omitted, returns items across the thread.", + }), + Schema.Null, + ]), + ), +}).annotate({ title: "ThreadItemsListParams" }); + +export type V2ThreadItemsListResponse = { + readonly backwardsCursor?: string | null; + readonly data: ReadonlyArray; + readonly nextCursor?: string | null; +}; +export const V2ThreadItemsListResponse = Schema.Struct({ + backwardsCursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Opaque cursor to pass as `cursor` when reversing `sortDirection`. This is only populated when the page contains at least one item.", + }), + Schema.Null, + ]), + ), + data: Schema.Array(V2ThreadItemsListResponse__ThreadItemEntry), + nextCursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Opaque cursor to pass to the next call to continue after the last item. if None, there are no more items to return.", + }), + Schema.Null, + ]), + ), +}).annotate({ title: "ThreadItemsListResponse" }); + export type V2ThreadListParams = { readonly archived?: boolean | null; readonly cursor?: string | null; readonly cwd?: V2ThreadListParams__ThreadListCwdFilter | null; readonly limit?: number | null; readonly modelProviders?: ReadonlyArray | null; + readonly originators?: ReadonlyArray | null; readonly searchTerm?: string | null; + readonly sectionId?: string | null; readonly sortDirection?: V2ThreadListParams__SortDirection | null; readonly sortKey?: V2ThreadListParams__ThreadSortKey | null; readonly sourceKinds?: ReadonlyArray | null; @@ -43565,6 +54828,15 @@ export const V2ThreadListParams = Schema.Struct({ Schema.Null, ]), ), + originators: Schema.optionalKey( + Schema.Union([ + Schema.Array(Schema.String).annotate({ + description: + "Optional originator allowlist, matching any supplied value exactly. Supported by hosted backends only; the local app-server rejects a nonempty list. Omitted or empty lists leave originators unrestricted.", + }), + Schema.Null, + ]), + ), searchTerm: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -43573,6 +54845,15 @@ export const V2ThreadListParams = Schema.Struct({ Schema.Null, ]), ), + sectionId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Omit to include every section, set to `null` for unsectioned threads, or provide a section ID to return only threads in that section.", + }), + Schema.Null, + ]), + ), sortDirection: Schema.optionalKey( Schema.Union([V2ThreadListParams__SortDirection, Schema.Null]).annotate({ description: "Optional sort direction; defaults to descending (newest first).", @@ -43627,15 +54908,25 @@ export const V2ThreadListResponse = Schema.Struct({ ), }).annotate({ title: "ThreadListResponse" }); +export type V2ThreadListResponse__ThreadEnvironment = { + readonly cwd: V2ThreadListResponse__LegacyAppPathString; + readonly environmentId: string; + readonly runtimeWorkspaceRoots: ReadonlyArray; +}; +export const V2ThreadListResponse__ThreadEnvironment = Schema.Struct({ + cwd: V2ThreadListResponse__LegacyAppPathString, + environmentId: Schema.String, + runtimeWorkspaceRoots: Schema.Array(V2ThreadListResponse__LegacyAppPathString), +}).annotate({ + description: "An environment selected by a loaded thread, independent of connection status.", +}); + export type V2ThreadListResponse__ThreadExtra = { readonly [x: string]: Schema.Json }; export const V2ThreadListResponse__ThreadExtra = Schema.Record( Schema.String, Schema.Json.annotate({ expected: "JSON value" }), ).annotate({ description: "Extra app-server data for a thread." }); -export type V2ThreadListResponse__ThreadHistoryMode = "legacy" | "paginated"; -export const V2ThreadListResponse__ThreadHistoryMode = Schema.Literals(["legacy", "paginated"]); - export type V2ThreadLoadedListParams = { readonly cursor?: string | null; readonly limit?: number | null; @@ -43709,18 +55000,25 @@ export const V2ThreadMetadataUpdateResponse = Schema.Struct({ thread: V2ThreadMetadataUpdateResponse__Thread, }).annotate({ title: "ThreadMetadataUpdateResponse" }); +export type V2ThreadMetadataUpdateResponse__ThreadEnvironment = { + readonly cwd: V2ThreadMetadataUpdateResponse__LegacyAppPathString; + readonly environmentId: string; + readonly runtimeWorkspaceRoots: ReadonlyArray; +}; +export const V2ThreadMetadataUpdateResponse__ThreadEnvironment = Schema.Struct({ + cwd: V2ThreadMetadataUpdateResponse__LegacyAppPathString, + environmentId: Schema.String, + runtimeWorkspaceRoots: Schema.Array(V2ThreadMetadataUpdateResponse__LegacyAppPathString), +}).annotate({ + description: "An environment selected by a loaded thread, independent of connection status.", +}); + export type V2ThreadMetadataUpdateResponse__ThreadExtra = { readonly [x: string]: Schema.Json }; export const V2ThreadMetadataUpdateResponse__ThreadExtra = Schema.Record( Schema.String, Schema.Json.annotate({ expected: "JSON value" }), ).annotate({ description: "Extra app-server data for a thread." }); -export type V2ThreadMetadataUpdateResponse__ThreadHistoryMode = "legacy" | "paginated"; -export const V2ThreadMetadataUpdateResponse__ThreadHistoryMode = Schema.Literals([ - "legacy", - "paginated", -]); - export type V2ThreadNameUpdatedNotification = { readonly threadId: string; readonly threadName?: string | null; @@ -43730,11 +55028,26 @@ export const V2ThreadNameUpdatedNotification = Schema.Struct({ threadName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }).annotate({ title: "ThreadNameUpdatedNotification" }); +export type V2ThreadProjectUpdatedNotification = { + readonly projectId: string | null; + readonly threadId: string; +}; +export const V2ThreadProjectUpdatedNotification = Schema.Struct({ + projectId: Schema.Union([Schema.String, Schema.Null]), + threadId: Schema.String, +}).annotate({ title: "ThreadProjectUpdatedNotification" }); + +export type V2ThreadQueueChangedNotification = { readonly threadId: string }; +export const V2ThreadQueueChangedNotification = Schema.Struct({ threadId: Schema.String }).annotate( + { title: "ThreadQueueChangedNotification" }, +); + export type V2ThreadReadParams = { readonly includeTurns?: boolean; readonly threadId: string }; export const V2ThreadReadParams = Schema.Struct({ includeTurns: Schema.optionalKey( Schema.Boolean.annotate({ - description: "When true, include turns and their items from rollout history.", + description: + "When true, include turns and their items from rollout history. Full-history hydration is deprecated for paginated threads; prefer a metadata-only read and page with `thread/turns/list` and `thread/items/list`.", }), ), threadId: Schema.String, @@ -43745,15 +55058,25 @@ export const V2ThreadReadResponse = Schema.Struct({ thread: V2ThreadReadResponse__Thread, }).annotate({ title: "ThreadReadResponse" }); +export type V2ThreadReadResponse__ThreadEnvironment = { + readonly cwd: V2ThreadReadResponse__LegacyAppPathString; + readonly environmentId: string; + readonly runtimeWorkspaceRoots: ReadonlyArray; +}; +export const V2ThreadReadResponse__ThreadEnvironment = Schema.Struct({ + cwd: V2ThreadReadResponse__LegacyAppPathString, + environmentId: Schema.String, + runtimeWorkspaceRoots: Schema.Array(V2ThreadReadResponse__LegacyAppPathString), +}).annotate({ + description: "An environment selected by a loaded thread, independent of connection status.", +}); + export type V2ThreadReadResponse__ThreadExtra = { readonly [x: string]: Schema.Json }; export const V2ThreadReadResponse__ThreadExtra = Schema.Record( Schema.String, Schema.Json.annotate({ expected: "JSON value" }), ).annotate({ description: "Extra app-server data for a thread." }); -export type V2ThreadReadResponse__ThreadHistoryMode = "legacy" | "paginated"; -export const V2ThreadReadResponse__ThreadHistoryMode = Schema.Literals(["legacy", "paginated"]); - export type V2ThreadRealtimeClosedNotification = { readonly reason?: string | null; readonly threadId: string; @@ -43790,6 +55113,44 @@ export const V2ThreadRealtimeItemAddedNotification = Schema.Struct({ description: "EXPERIMENTAL - raw non-audio thread realtime item emitted by the backend.", }); +export type V2ThreadRealtimeItemCompletedNotification = { + readonly item: V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeItem; + readonly threadId: string; +}; +export const V2ThreadRealtimeItemCompletedNotification = Schema.Struct({ + item: V2ThreadRealtimeItemCompletedNotification__ThreadRealtimeItem, + threadId: Schema.String, +}).annotate({ + title: "ThreadRealtimeItemCompletedNotification", + description: "EXPERIMENTAL - a realtime timeline item published after canonical commit.", +}); + +export type V2ThreadRealtimeItemStartedNotification = { + readonly item: V2ThreadRealtimeItemStartedNotification__ThreadRealtimeItem; + readonly threadId: string; +}; +export const V2ThreadRealtimeItemStartedNotification = Schema.Struct({ + item: V2ThreadRealtimeItemStartedNotification__ThreadRealtimeItem, + threadId: Schema.String, +}).annotate({ + title: "ThreadRealtimeItemStartedNotification", + description: "EXPERIMENTAL - a realtime timeline item started before its content streams.", +}); + +export type V2ThreadRealtimeItemTranscriptDeltaNotification = { + readonly delta: string; + readonly itemId: string; + readonly threadId: string; +}; +export const V2ThreadRealtimeItemTranscriptDeltaNotification = Schema.Struct({ + delta: Schema.String, + itemId: Schema.String, + threadId: Schema.String, +}).annotate({ + title: "ThreadRealtimeItemTranscriptDeltaNotification", + description: "EXPERIMENTAL - text appended to an active realtime transcript item.", +}); + export type V2ThreadRealtimeOutputAudioDeltaNotification = { readonly audio: V2ThreadRealtimeOutputAudioDeltaNotification__ThreadRealtimeAudioChunk; readonly threadId: string; @@ -43862,6 +55223,7 @@ export type V2ThreadResumeParams = { readonly config?: { readonly [x: string]: Schema.Json } | null; readonly cwd?: string | null; readonly developerInstructions?: string | null; + readonly excludeTurns?: boolean; readonly model?: string | null; readonly modelProvider?: string | null; readonly personality?: V2ThreadResumeParams__Personality | null; @@ -43888,6 +55250,12 @@ export const V2ThreadResumeParams = Schema.Struct({ ), cwd: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), developerInstructions: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + excludeTurns: Schema.optionalKey( + Schema.Boolean.annotate({ + description: + "When true, return only thread metadata and live-resume state without populating `thread.turns`. This is useful when the client plans to call `thread/turns/list` immediately after resuming. Full-history hydration is deprecated for paginated threads; use this with `thread/turns/list` and `thread/items/list` instead.", + }), + ), model: Schema.optionalKey( Schema.Union([ Schema.String.annotate({ @@ -43897,7 +55265,12 @@ export const V2ThreadResumeParams = Schema.Struct({ ]), ), modelProvider: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - personality: Schema.optionalKey(Schema.Union([V2ThreadResumeParams__Personality, Schema.Null])), + personality: Schema.optionalKey( + Schema.Union([V2ThreadResumeParams__Personality, Schema.Null]).annotate({ + description: + "@deprecated `friendly` and `pragmatic` no longer select a style. Changing this does not rewrite the thread's existing instructions.", + }), + ), sandbox: Schema.optionalKey(Schema.Union([V2ThreadResumeParams__SandboxMode, Schema.Null])), serviceTier: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), threadId: Schema.String, @@ -43949,6 +55322,7 @@ export type V2ThreadResumeParams__ResponseItem = | { readonly arguments: string; readonly call_id: string; + readonly encrypted_function_args?: ReadonlyArray | null; readonly id?: string | null; readonly internal_chat_message_metadata_passthrough?: V2ThreadResumeParams__InternalChatMessageMetadataPassthrough | null; readonly name: string; @@ -43965,9 +55339,11 @@ export type V2ThreadResumeParams__ResponseItem = readonly type: "tool_search_call"; } | { - readonly call_id: string; + readonly call_id?: string | null; readonly id?: string | null; readonly internal_chat_message_metadata_passthrough?: V2ThreadResumeParams__InternalChatMessageMetadataPassthrough | null; + readonly name?: string | null; + readonly namespace?: string | null; readonly output: V2ThreadResumeParams__FunctionCallOutputBody; readonly type: "function_call_output"; } @@ -44019,6 +55395,10 @@ export type V2ThreadResumeParams__ResponseItem = readonly internal_chat_message_metadata_passthrough?: V2ThreadResumeParams__InternalChatMessageMetadataPassthrough | null; readonly type: "compaction"; } + | { + readonly reasoning: V2ThreadResumeParams__ConfigurationReasoning; + readonly type: "configuration_update"; + } | { readonly type: "compaction_trigger" } | { readonly encrypted_content?: string | null; @@ -44088,6 +55468,9 @@ export const V2ThreadResumeParams__ResponseItem = Schema.Union( Schema.Struct({ arguments: Schema.String, call_id: Schema.String, + encrypted_function_args: Schema.optionalKey( + Schema.Union([Schema.Array(Schema.String), Schema.Null]), + ), id: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), internal_chat_message_metadata_passthrough: Schema.optionalKey( Schema.Union([V2ThreadResumeParams__InternalChatMessageMetadataPassthrough, Schema.Null]), @@ -44110,11 +55493,13 @@ export const V2ThreadResumeParams__ResponseItem = Schema.Union( }), }).annotate({ title: "ToolSearchCallResponseItem" }), Schema.Struct({ - call_id: Schema.String, + call_id: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), id: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), internal_chat_message_metadata_passthrough: Schema.optionalKey( Schema.Union([V2ThreadResumeParams__InternalChatMessageMetadataPassthrough, Schema.Null]), ), + name: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), + namespace: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), output: V2ThreadResumeParams__FunctionCallOutputBody, type: Schema.Literal("function_call_output").annotate({ title: "FunctionCallOutputResponseItemType", @@ -44190,6 +55575,15 @@ export const V2ThreadResumeParams__ResponseItem = Schema.Union( ), type: Schema.Literal("compaction").annotate({ title: "CompactionResponseItemType" }), }).annotate({ title: "CompactionResponseItem" }), + Schema.Struct({ + reasoning: V2ThreadResumeParams__ConfigurationReasoning, + type: Schema.Literal("configuration_update").annotate({ + title: "ConfigurationUpdateResponseItemType", + }), + }).annotate({ + title: "ConfigurationUpdateResponseItem", + description: "A durable input control interpreted by the backend at its position in history.", + }), Schema.Struct({ type: Schema.Literal("compaction_trigger").annotate({ title: "CompactionTriggerResponseItemType", @@ -44245,14 +55639,18 @@ export const V2ThreadResumeParams__ThreadResumeInitialTurnsPageParams = Schema.S export type V2ThreadResumeResponse = { readonly approvalPolicy: V2ThreadResumeResponse__AskForApproval; readonly approvalsReviewer: V2ThreadResumeResponse__ApprovalsReviewer; + readonly collaborationMode?: V2ThreadResumeResponse__CollaborationMode | null; readonly cwd: V2ThreadResumeResponse__AbsolutePathBuf; + readonly disabledPluginIds?: ReadonlyArray; readonly instructionSources?: ReadonlyArray; + readonly itemsBackwardsCursor?: string | null; readonly model: string; readonly modelProvider: string; readonly reasoningEffort?: V2ThreadResumeResponse__ReasoningEffort | null; readonly sandbox: V2ThreadResumeResponse__SandboxPolicy; readonly serviceTier?: string | null; readonly thread: V2ThreadResumeResponse__Thread; + readonly turnsBackwardsCursor?: string | null; }; export const V2ThreadResumeResponse = Schema.Struct({ approvalPolicy: V2ThreadResumeResponse__AskForApproval, @@ -44260,7 +55658,18 @@ export const V2ThreadResumeResponse = Schema.Struct({ (): Schema.Codec => V2ThreadResumeResponse__ApprovalsReviewer, ).annotate({ description: "Reviewer currently used for approval requests on this thread." }), + collaborationMode: Schema.optionalKey( + Schema.Union([V2ThreadResumeResponse__CollaborationMode, Schema.Null]).annotate({ + description: "Effective collaboration mode. Absent when resuming from an older server.", + }), + ), cwd: V2ThreadResumeResponse__AbsolutePathBuf, + disabledPluginIds: Schema.optionalKey( + Schema.Array(Schema.String).annotate({ + description: "Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.", + default: [], + }), + ), instructionSources: Schema.optionalKey( Schema.Array(V2ThreadResumeResponse__LegacyAppPathString).annotate({ description: @@ -44268,6 +55677,15 @@ export const V2ThreadResumeResponse = Schema.Struct({ default: [], }), ), + itemsBackwardsCursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + 'Opaque cursor for hydrating paginated items backwards.\n\nPass this as `cursor` to `thread/items/list` with `sortDirection: "desc"`. The first page includes the item identified by the cursor.', + }), + Schema.Null, + ]), + ), model: Schema.String, modelProvider: Schema.String, reasoningEffort: Schema.optionalKey( @@ -44282,6 +55700,15 @@ export const V2ThreadResumeResponse = Schema.Struct({ }), serviceTier: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), thread: V2ThreadResumeResponse__Thread, + turnsBackwardsCursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + 'Opaque cursor for hydrating paginated turns backwards.\n\nPass this as `cursor` to `thread/turns/list` with `sortDirection: "desc"`. The first page includes the turn identified by the cursor.', + }), + Schema.Null, + ]), + ), }).annotate({ title: "ThreadResumeResponse" }); export type V2ThreadResumeResponse__ActivePermissionProfile = { @@ -44319,15 +55746,25 @@ export const V2ThreadResumeResponse__MultiAgentMode = Schema.Union( "Controls the effective multi-agent delegation instructions for a turn. `custom` means the configured mode hint defines the policy instead of a built-in policy.", }); +export type V2ThreadResumeResponse__ThreadEnvironment = { + readonly cwd: V2ThreadResumeResponse__LegacyAppPathString; + readonly environmentId: string; + readonly runtimeWorkspaceRoots: ReadonlyArray; +}; +export const V2ThreadResumeResponse__ThreadEnvironment = Schema.Struct({ + cwd: V2ThreadResumeResponse__LegacyAppPathString, + environmentId: Schema.String, + runtimeWorkspaceRoots: Schema.Array(V2ThreadResumeResponse__LegacyAppPathString), +}).annotate({ + description: "An environment selected by a loaded thread, independent of connection status.", +}); + export type V2ThreadResumeResponse__ThreadExtra = { readonly [x: string]: Schema.Json }; export const V2ThreadResumeResponse__ThreadExtra = Schema.Record( Schema.String, Schema.Json.annotate({ expected: "JSON value" }), ).annotate({ description: "Extra app-server data for a thread." }); -export type V2ThreadResumeResponse__ThreadHistoryMode = "legacy" | "paginated"; -export const V2ThreadResumeResponse__ThreadHistoryMode = Schema.Literals(["legacy", "paginated"]); - export type V2ThreadResumeResponse__TurnsPage = { readonly backwardsCursor?: string | null; readonly data: ReadonlyArray; @@ -44339,41 +55776,232 @@ export const V2ThreadResumeResponse__TurnsPage = Schema.Struct({ nextCursor: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), }); -export type V2ThreadRollbackParams = { readonly numTurns: number; readonly threadId: string }; -export const V2ThreadRollbackParams = Schema.Struct({ - numTurns: Schema.Number.annotate({ - description: - "The number of turns to drop from the end of the thread. Must be >= 1.\n\nThis only modifies the thread's history and does not revert local file changes that have been made by the agent. Clients are responsible for reverting these changes.", - format: "uint32", - }) - .check(Schema.isInt().annotate({ expected: "an integer" })) - .check( - Schema.isGreaterThanOrEqualTo(0).annotate({ expected: "a value greater than or equal to 0" }), - ), +export type V2ThreadRevertedNotification = { readonly threadId: string }; +export const V2ThreadRevertedNotification = Schema.Struct({ threadId: Schema.String }).annotate({ + title: "ThreadRevertedNotification", +}); + +export type V2ThreadRevertParams = { readonly beforeTurnId: string; readonly threadId: string }; +export const V2ThreadRevertParams = Schema.Struct({ + beforeTurnId: Schema.String.annotate({ + description: "Turn excluded from the replacement history, together with every later turn.", + }), threadId: Schema.String, }).annotate({ - title: "ThreadRollbackParams", - description: "DEPRECATED: `thread/rollback` will be removed soon.", + title: "ThreadRevertParams", + description: + "Replace a paginated thread's durable history with the prefix before one turn.\n\nThis only changes persisted conversation history. It does not revert local file changes.", }); -export type V2ThreadRollbackResponse = { readonly thread: V2ThreadRollbackResponse__Thread }; -export const V2ThreadRollbackResponse = Schema.Struct({ +export type V2ThreadRevertResponse = { + readonly itemsBackwardsCursor?: string | null; + readonly thread: V2ThreadRevertResponse__Thread; + readonly turnsBackwardsCursor?: string | null; +}; +export const V2ThreadRevertResponse = Schema.Struct({ + itemsBackwardsCursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + 'Opaque cursor for hydrating paginated items backwards.\n\nPass this as `cursor` to `thread/items/list` with `sortDirection: "desc"`. The first page includes the item identified by the cursor.', + }), + Schema.Null, + ]), + ), thread: Schema.suspend( - (): Schema.Codec => V2ThreadRollbackResponse__Thread, + (): Schema.Codec => V2ThreadRevertResponse__Thread, ).annotate({ description: - "The updated thread after applying the rollback, with `turns` populated.\n\nThe ThreadItems stored in each Turn are lossy since we explicitly do not persist all agent interactions, such as command executions. This is the same behavior as `thread/resume`.", + "Updated loaded thread metadata. `turns` is always empty; hydrate retained history through `thread/turns/list`.", }), -}).annotate({ title: "ThreadRollbackResponse" }); + turnsBackwardsCursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + 'Opaque cursor for hydrating paginated turns backwards.\n\nPass this as `cursor` to `thread/turns/list` with `sortDirection: "desc"`. The first page includes the turn identified by the cursor.', + }), + Schema.Null, + ]), + ), +}).annotate({ title: "ThreadRevertResponse" }); -export type V2ThreadRollbackResponse__ThreadExtra = { readonly [x: string]: Schema.Json }; -export const V2ThreadRollbackResponse__ThreadExtra = Schema.Record( +export type V2ThreadRevertResponse__ThreadEnvironment = { + readonly cwd: V2ThreadRevertResponse__LegacyAppPathString; + readonly environmentId: string; + readonly runtimeWorkspaceRoots: ReadonlyArray; +}; +export const V2ThreadRevertResponse__ThreadEnvironment = Schema.Struct({ + cwd: V2ThreadRevertResponse__LegacyAppPathString, + environmentId: Schema.String, + runtimeWorkspaceRoots: Schema.Array(V2ThreadRevertResponse__LegacyAppPathString), +}).annotate({ + description: "An environment selected by a loaded thread, independent of connection status.", +}); + +export type V2ThreadRevertResponse__ThreadExtra = { readonly [x: string]: Schema.Json }; +export const V2ThreadRevertResponse__ThreadExtra = Schema.Record( Schema.String, Schema.Json.annotate({ expected: "JSON value" }), ).annotate({ description: "Extra app-server data for a thread." }); -export type V2ThreadRollbackResponse__ThreadHistoryMode = "legacy" | "paginated"; -export const V2ThreadRollbackResponse__ThreadHistoryMode = Schema.Literals(["legacy", "paginated"]); +export type V2ThreadSectionCreateParams = { + readonly appearance?: V2ThreadSectionCreateParams__ThreadSectionAppearance | null; + readonly name: string; +}; +export const V2ThreadSectionCreateParams = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadSectionCreateParams__ThreadSectionAppearance, Schema.Null]), + ), + name: Schema.String.annotate({ description: "The user-visible name of the section." }), +}).annotate({ + title: "ThreadSectionCreateParams", + description: "Parameters for creating an independently persisted thread section.", +}); + +export type V2ThreadSectionCreateResponse = { + readonly section: V2ThreadSectionCreateResponse__ThreadSection; +}; +export const V2ThreadSectionCreateResponse = Schema.Struct({ + section: V2ThreadSectionCreateResponse__ThreadSection, +}).annotate({ + title: "ThreadSectionCreateResponse", + description: "The independently persisted section created by the server.", +}); + +export type V2ThreadSectionDeleteParams = { readonly sectionId: string }; +export const V2ThreadSectionDeleteParams = Schema.Struct({ + sectionId: Schema.String.annotate({ + description: "The stable, server-generated identity of the section to delete.", + }), +}).annotate({ + title: "ThreadSectionDeleteParams", + description: "Parameters for deleting an independently persisted thread section.", +}); + +export type V2ThreadSectionDeleteResponse = { readonly [x: string]: Schema.Json }; +export const V2ThreadSectionDeleteResponse = Schema.Record( + Schema.String, + Schema.Json.annotate({ expected: "JSON value" }), +).annotate({ + title: "ThreadSectionDeleteResponse", + description: "Successful deletion does not return additional section data.", +}); + +export type V2ThreadSectionListParams = { + readonly cursor?: string | null; + readonly limit?: number | null; +}; +export const V2ThreadSectionListParams = Schema.Struct({ + cursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Opaque pagination cursor returned by a previous call.", + }), + Schema.Null, + ]), + ), + limit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: "Maximum number of sections to return.", + format: "uint32", + }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), +}).annotate({ + title: "ThreadSectionListParams", + description: "Parameters for listing independently persisted thread sections.", +}); + +export type V2ThreadSectionListResponse = { + readonly data: ReadonlyArray; + readonly nextCursor?: string | null; +}; +export const V2ThreadSectionListResponse = Schema.Struct({ + data: Schema.Array(V2ThreadSectionListResponse__ThreadSection), + nextCursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Opaque cursor for the next page, or `null` when no sections remain.", + }), + Schema.Null, + ]), + ), +}).annotate({ + title: "ThreadSectionListResponse", + description: "One page of independently persisted thread sections.", +}); + +export type V2ThreadSectionMoveParams = { + readonly beforeThreadId?: string | null; + readonly sectionId: string | null; + readonly threadId: string; +}; +export const V2ThreadSectionMoveParams = Schema.Struct({ + beforeThreadId: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Existing thread to insert before; omission or null appends to the section.", + }), + Schema.Null, + ]), + ), + sectionId: Schema.Union([ + Schema.String.annotate({ + description: "Destination section, or `null` to remove the thread from its section.", + }), + Schema.Null, + ]), + threadId: Schema.String.annotate({ + description: "Thread to move into, within, or out of a section.", + }), +}).annotate({ + title: "ThreadSectionMoveParams", + description: "Parameters for moving a thread within a server-owned section ordering.", +}); + +export type V2ThreadSectionMoveResponse = { readonly [x: string]: Schema.Json }; +export const V2ThreadSectionMoveResponse = Schema.Record( + Schema.String, + Schema.Json.annotate({ expected: "JSON value" }), +).annotate({ title: "ThreadSectionMoveResponse" }); + +export type V2ThreadSectionUpdateParams = { + readonly appearance?: V2ThreadSectionUpdateParams__ThreadSectionAppearance | null; + readonly name: string; + readonly sectionId: string; +}; +export const V2ThreadSectionUpdateParams = Schema.Struct({ + appearance: Schema.optionalKey( + Schema.Union([V2ThreadSectionUpdateParams__ThreadSectionAppearance, Schema.Null]).annotate({ + description: "Omit to preserve appearance, use `null` to clear it, or provide a replacement.", + }), + ), + name: Schema.String.annotate({ description: "The updated user-visible name of the section." }), + sectionId: Schema.String.annotate({ + description: "The stable, server-generated identity of the section to update.", + }), +}).annotate({ + title: "ThreadSectionUpdateParams", + description: "Parameters for updating an independently persisted thread section.", +}); + +export type V2ThreadSectionUpdateResponse = { + readonly section: V2ThreadSectionUpdateResponse__ThreadSection; +}; +export const V2ThreadSectionUpdateResponse = Schema.Struct({ + section: V2ThreadSectionUpdateResponse__ThreadSection, +}).annotate({ + title: "ThreadSectionUpdateResponse", + description: "The independently persisted section after its name is updated.", +}); export type V2ThreadSetNameParams = { readonly name: string; readonly threadId: string }; export const V2ThreadSetNameParams = Schema.Struct({ @@ -44411,13 +56039,27 @@ export const V2ThreadSettingsUpdatedNotification__MultiAgentMode = Schema.Union( "Controls the effective multi-agent delegation instructions for a turn. `custom` means the configured mode hint defines the policy instead of a built-in policy.", }); -export type V2ThreadShellCommandParams = { readonly command: string; readonly threadId: string }; +export type V2ThreadShellCommandParams = { + readonly command: string; + readonly threadId: string; + readonly timeoutMs?: number | null; +}; export const V2ThreadShellCommandParams = Schema.Struct({ command: Schema.String.annotate({ description: "Shell command string evaluated by the thread's configured shell. Unlike `command/exec`, this intentionally preserves shell syntax such as pipes, redirects, and quoting. This runs unsandboxed with full access rather than inheriting the thread sandbox policy.", }), threadId: Schema.String, + timeoutMs: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ + description: + "Maximum execution time in milliseconds. Defaults to one hour when omitted or null. Must be non-negative; zero requests an immediate timeout, not unlimited execution. Does not affect the immediate RPC acknowledgement.", + format: "int64", + }).check(Schema.isInt().annotate({ expected: "an integer" })), + Schema.Null, + ]), + ), }).annotate({ title: "ThreadShellCommandParams" }); export type V2ThreadShellCommandResponse = { readonly [x: string]: Schema.Json }; @@ -44431,18 +56073,25 @@ export const V2ThreadStartedNotification = Schema.Struct({ thread: V2ThreadStartedNotification__Thread, }).annotate({ title: "ThreadStartedNotification" }); +export type V2ThreadStartedNotification__ThreadEnvironment = { + readonly cwd: V2ThreadStartedNotification__LegacyAppPathString; + readonly environmentId: string; + readonly runtimeWorkspaceRoots: ReadonlyArray; +}; +export const V2ThreadStartedNotification__ThreadEnvironment = Schema.Struct({ + cwd: V2ThreadStartedNotification__LegacyAppPathString, + environmentId: Schema.String, + runtimeWorkspaceRoots: Schema.Array(V2ThreadStartedNotification__LegacyAppPathString), +}).annotate({ + description: "An environment selected by a loaded thread, independent of connection status.", +}); + export type V2ThreadStartedNotification__ThreadExtra = { readonly [x: string]: Schema.Json }; export const V2ThreadStartedNotification__ThreadExtra = Schema.Record( Schema.String, Schema.Json.annotate({ expected: "JSON value" }), ).annotate({ description: "Extra app-server data for a thread." }); -export type V2ThreadStartedNotification__ThreadHistoryMode = "legacy" | "paginated"; -export const V2ThreadStartedNotification__ThreadHistoryMode = Schema.Literals([ - "legacy", - "paginated", -]); - export type V2ThreadStartParams = { readonly approvalPolicy?: V2ThreadStartParams__AskForApproval | null; readonly approvalsReviewer?: V2ThreadStartParams__ApprovalsReviewer | null; @@ -44482,7 +56131,11 @@ export const V2ThreadStartParams = Schema.Struct({ ephemeral: Schema.optionalKey(Schema.Union([Schema.Boolean, Schema.Null])), model: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), modelProvider: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), - personality: Schema.optionalKey(Schema.Union([V2ThreadStartParams__Personality, Schema.Null])), + personality: Schema.optionalKey( + Schema.Union([V2ThreadStartParams__Personality, Schema.Null]).annotate({ + description: "@deprecated `friendly` and `pragmatic` no longer select a style.", + }), + ), sandbox: Schema.optionalKey(Schema.Union([V2ThreadStartParams__SandboxMode, Schema.Null])), serviceName: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), serviceTier: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), @@ -44591,6 +56244,7 @@ export type V2ThreadStartResponse = { readonly approvalPolicy: V2ThreadStartResponse__AskForApproval; readonly approvalsReviewer: V2ThreadStartResponse__ApprovalsReviewer; readonly cwd: V2ThreadStartResponse__AbsolutePathBuf; + readonly disabledPluginIds?: ReadonlyArray; readonly instructionSources?: ReadonlyArray; readonly model: string; readonly modelProvider: string; @@ -44606,6 +56260,12 @@ export const V2ThreadStartResponse = Schema.Struct({ V2ThreadStartResponse__ApprovalsReviewer, ).annotate({ description: "Reviewer currently used for approval requests on this thread." }), cwd: V2ThreadStartResponse__AbsolutePathBuf, + disabledPluginIds: Schema.optionalKey( + Schema.Array(Schema.String).annotate({ + description: "Saved list of disabled plugin IDs. Does not yet filter plugin capabilities.", + default: [], + }), + ), instructionSources: Schema.optionalKey( Schema.Array(V2ThreadStartResponse__LegacyAppPathString).annotate({ description: @@ -44663,15 +56323,25 @@ export const V2ThreadStartResponse__MultiAgentMode = Schema.Union( "Controls the effective multi-agent delegation instructions for a turn. `custom` means the configured mode hint defines the policy instead of a built-in policy.", }); +export type V2ThreadStartResponse__ThreadEnvironment = { + readonly cwd: V2ThreadStartResponse__LegacyAppPathString; + readonly environmentId: string; + readonly runtimeWorkspaceRoots: ReadonlyArray; +}; +export const V2ThreadStartResponse__ThreadEnvironment = Schema.Struct({ + cwd: V2ThreadStartResponse__LegacyAppPathString, + environmentId: Schema.String, + runtimeWorkspaceRoots: Schema.Array(V2ThreadStartResponse__LegacyAppPathString), +}).annotate({ + description: "An environment selected by a loaded thread, independent of connection status.", +}); + export type V2ThreadStartResponse__ThreadExtra = { readonly [x: string]: Schema.Json }; export const V2ThreadStartResponse__ThreadExtra = Schema.Record( Schema.String, Schema.Json.annotate({ expected: "JSON value" }), ).annotate({ description: "Extra app-server data for a thread." }); -export type V2ThreadStartResponse__ThreadHistoryMode = "legacy" | "paginated"; -export const V2ThreadStartResponse__ThreadHistoryMode = Schema.Literals(["legacy", "paginated"]); - export type V2ThreadStatusChangedNotification = { readonly status: V2ThreadStatusChangedNotification__ThreadStatus; readonly threadId: string; @@ -44692,6 +56362,74 @@ export const V2ThreadTokenUsageUpdatedNotification = Schema.Struct({ turnId: Schema.String, }).annotate({ title: "ThreadTokenUsageUpdatedNotification" }); +export type V2ThreadTurnsListParams = { + readonly cursor?: string | null; + readonly itemsView?: V2ThreadTurnsListParams__TurnItemsView | null; + readonly limit?: number | null; + readonly sortDirection?: V2ThreadTurnsListParams__SortDirection | null; + readonly threadId: string; +}; +export const V2ThreadTurnsListParams = Schema.Struct({ + cursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: "Opaque cursor to pass to the next call to continue after the last turn.", + }), + Schema.Null, + ]), + ), + itemsView: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListParams__TurnItemsView, Schema.Null]).annotate({ + description: "How much item detail to include for each returned turn; defaults to summary.", + }), + ), + limit: Schema.optionalKey( + Schema.Union([ + Schema.Number.annotate({ description: "Optional turn page size.", format: "uint32" }) + .check(Schema.isInt().annotate({ expected: "an integer" })) + .check( + Schema.isGreaterThanOrEqualTo(0).annotate({ + expected: "a value greater than or equal to 0", + }), + ), + Schema.Null, + ]), + ), + sortDirection: Schema.optionalKey( + Schema.Union([V2ThreadTurnsListParams__SortDirection, Schema.Null]).annotate({ + description: "Optional turn pagination direction; defaults to descending.", + }), + ), + threadId: Schema.String, +}).annotate({ title: "ThreadTurnsListParams" }); + +export type V2ThreadTurnsListResponse = { + readonly backwardsCursor?: string | null; + readonly data: ReadonlyArray; + readonly nextCursor?: string | null; +}; +export const V2ThreadTurnsListResponse = Schema.Struct({ + backwardsCursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Opaque cursor to pass as `cursor` when reversing `sortDirection`. This is only populated when the page contains at least one turn. Use it with the opposite `sortDirection` to include the anchor turn again and catch updates to that turn.", + }), + Schema.Null, + ]), + ), + data: Schema.Array(V2ThreadTurnsListResponse__Turn), + nextCursor: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Opaque cursor to pass to the next call to continue after the last turn. if None, there are no more turns to return.", + }), + Schema.Null, + ]), + ), +}).annotate({ title: "ThreadTurnsListResponse" }); + export type V2ThreadUnarchivedNotification = { readonly threadId: string }; export const V2ThreadUnarchivedNotification = Schema.Struct({ threadId: Schema.String }).annotate({ title: "ThreadUnarchivedNotification", @@ -44707,18 +56445,25 @@ export const V2ThreadUnarchiveResponse = Schema.Struct({ thread: V2ThreadUnarchiveResponse__Thread, }).annotate({ title: "ThreadUnarchiveResponse" }); +export type V2ThreadUnarchiveResponse__ThreadEnvironment = { + readonly cwd: V2ThreadUnarchiveResponse__LegacyAppPathString; + readonly environmentId: string; + readonly runtimeWorkspaceRoots: ReadonlyArray; +}; +export const V2ThreadUnarchiveResponse__ThreadEnvironment = Schema.Struct({ + cwd: V2ThreadUnarchiveResponse__LegacyAppPathString, + environmentId: Schema.String, + runtimeWorkspaceRoots: Schema.Array(V2ThreadUnarchiveResponse__LegacyAppPathString), +}).annotate({ + description: "An environment selected by a loaded thread, independent of connection status.", +}); + export type V2ThreadUnarchiveResponse__ThreadExtra = { readonly [x: string]: Schema.Json }; export const V2ThreadUnarchiveResponse__ThreadExtra = Schema.Record( Schema.String, Schema.Json.annotate({ expected: "JSON value" }), ).annotate({ description: "Extra app-server data for a thread." }); -export type V2ThreadUnarchiveResponse__ThreadHistoryMode = "legacy" | "paginated"; -export const V2ThreadUnarchiveResponse__ThreadHistoryMode = Schema.Literals([ - "legacy", - "paginated", -]); - export type V2ThreadUnsubscribeParams = { readonly threadId: string }; export const V2ThreadUnsubscribeParams = Schema.Struct({ threadId: Schema.String }).annotate({ title: "ThreadUnsubscribeParams", @@ -44805,6 +56550,7 @@ export type V2TurnStartParams = { readonly approvalsReviewer?: V2TurnStartParams__ApprovalsReviewer | null; readonly clientUserMessageId?: string | null; readonly cwd?: string | null; + readonly disabledPluginIds?: ReadonlyArray | null; readonly effort?: V2TurnStartParams__ReasoningEffort | null; readonly input: ReadonlyArray; readonly model?: string | null; @@ -44812,8 +56558,11 @@ export type V2TurnStartParams = { readonly personality?: V2TurnStartParams__Personality | null; readonly sandboxPolicy?: V2TurnStartParams__SandboxPolicy | null; readonly serviceTier?: string | null; + readonly serviceTierForTurn?: string | null; readonly summary?: V2TurnStartParams__ReasoningSummary | null; readonly threadId: string; + readonly toolOutput?: V2TurnStartParams__TurnToolOutput | null; + readonly turnTrigger?: string | null; }; export const V2TurnStartParams = Schema.Struct({ approvalPolicy: Schema.optionalKey( @@ -44836,6 +56585,15 @@ export const V2TurnStartParams = Schema.Struct({ Schema.Null, ]), ), + disabledPluginIds: Schema.optionalKey( + Schema.Union([ + Schema.Array(Schema.String).annotate({ + description: + "Replace this thread's disabled plugin IDs. Omitted/null preserves the list; [] clears it.", + }), + Schema.Null, + ]), + ), effort: Schema.optionalKey( Schema.Union([V2TurnStartParams__ReasoningEffort, Schema.Null]).annotate({ description: "Override the reasoning effort for this turn and subsequent turns.", @@ -44859,7 +56617,8 @@ export const V2TurnStartParams = Schema.Struct({ ), personality: Schema.optionalKey( Schema.Union([V2TurnStartParams__Personality, Schema.Null]).annotate({ - description: "Override the personality for this turn and subsequent turns.", + description: + "@deprecated `friendly` and `pragmatic` no longer select a style. Changing this does not rewrite the thread's existing instructions.", }), ), sandboxPolicy: Schema.optionalKey( @@ -44875,12 +56634,31 @@ export const V2TurnStartParams = Schema.Struct({ Schema.Null, ]), ), + serviceTierForTurn: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Override the service tier only when this request starts a new turn. Use \"default\" for standard speed. Omitted or null inherits the thread's tier. Does not change the thread's tier or a turn being steered.", + }), + Schema.Null, + ]), + ), summary: Schema.optionalKey( Schema.Union([V2TurnStartParams__ReasoningSummary, Schema.Null]).annotate({ description: "Override the reasoning summary for this turn and subsequent turns.", }), ), threadId: Schema.String, + toolOutput: Schema.optionalKey(Schema.Union([V2TurnStartParams__TurnToolOutput, Schema.Null])), + turnTrigger: Schema.optionalKey( + Schema.Union([ + Schema.String.annotate({ + description: + "Optional source classification for the caller that starts this turn. Ignored when this request steers an already-active turn.", + }), + Schema.Null, + ]), + ), }).annotate({ title: "TurnStartParams" }); export type V2TurnStartParams__AdditionalContextEntry = { @@ -44901,6 +56679,16 @@ export const V2TurnStartParams__CollaborationMode = Schema.Struct({ settings: V2TurnStartParams__Settings, }).annotate({ description: "Collaboration mode for a Codex session." }); +export type V2TurnStartParams__CyberAccessProgram = "standard" | "daybreakBlue" | "daybreakRed"; +export const V2TurnStartParams__CyberAccessProgram = Schema.Literals([ + "standard", + "daybreakBlue", + "daybreakRed", +]).annotate({ + description: + "Requested cyber treatment for a ChatGPT-authenticated Codex turn. Authorization and model-tier restrictions remain server-owned.", +}); + export type V2TurnStartParams__MultiAgentMode = | "explicitRequestOnly" | "proactive" diff --git a/packages/effect-codex-app-server/src/client.test.ts b/packages/effect-codex-app-server/src/client.test.ts index 3830c5fc5f6fabee5f0b6351a7ae1eff69bde496..f7eca6207ca715d0fbb9c634fe47606d0b93d108 100644 --- a/packages/effect-codex-app-server/src/client.test.ts +++ b/packages/effect-codex-app-server/src/client.test.ts @@ -95,6 +95,7 @@ it.layer(NodeServices.layer)("effect-codex-app-server client", (it) => { assert.equal(result.skills.data[0]?.skills.length, 0); assert.deepEqual(yield* Ref.get(userInputRequests), [ { + isBlocking: true, itemId: "item-approval-1", threadId: "thread-1", turnId: "turn-1", diff --git a/packages/effect-codex-app-server/src/schema.test.ts b/packages/effect-codex-app-server/src/schema.test.ts index 0c9fc3561002989db3729aeec65813ab0db484ed..8e2160fdd51796a1ce162b594fda4bc3aab4eec7 100644 --- a/packages/effect-codex-app-server/src/schema.test.ts +++ b/packages/effect-codex-app-server/src/schema.test.ts @@ -6,7 +6,6 @@ import * as CodexSchema from "./schema.ts"; const isGetAccountResponse = Schema.is(CodexSchema.V2GetAccountResponse); const isThreadReadResponse = Schema.is(CodexSchema.V2ThreadReadResponse); const isThreadResumeResponse = Schema.is(CodexSchema.V2ThreadResumeResponse); -const isThreadRollbackResponse = Schema.is(CodexSchema.V2ThreadRollbackResponse); const isThreadForkResponse = Schema.is(CodexSchema.V2ThreadForkResponse); const isTurnCompletedNotification = Schema.is(CodexSchema.V2TurnCompletedNotification); const decodeThreadResumeResponse = Schema.decodeUnknownSync(CodexSchema.V2ThreadResumeResponse); @@ -76,6 +75,7 @@ it("accepts Codex 0.150 multi-agent values", () => { id: "root-thread", modelProvider: "openai", preview: "", + projectId: null, sessionId: "session-1", source: "cli", status: { type: "idle" }, @@ -112,6 +112,7 @@ it("accepts Codex rate limit errors for thread responses", () => { id: "thread-1", modelProvider: "openai", preview: "", + projectId: null, sessionId: "session-1", source: "cli", status: { type: "idle" }, @@ -141,7 +142,6 @@ it("accepts Codex rate limit errors for thread responses", () => { }), true, ); - assert.equal(isThreadRollbackResponse({ thread: failedThread }), true); }); it("accepts Codex misalignment policy errors for thread responses", () => { @@ -153,6 +153,7 @@ it("accepts Codex misalignment policy errors for thread responses", () => { id: "thread-1", modelProvider: "openai", preview: "", + projectId: null, sessionId: "session-1", source: "cli", status: { type: "idle" }, @@ -180,7 +181,6 @@ it("accepts Codex misalignment policy errors for thread responses", () => { }; assert.equal(isThreadReadResponse({ thread: failedThread }), true); assert.equal(isThreadResumeResponse(resumeLikeResponse), true); - assert.equal(isThreadRollbackResponse({ thread: failedThread }), true); assert.equal(isThreadForkResponse(resumeLikeResponse), true); const decodedResume = decodeThreadResumeResponse(resumeLikeResponse); assert.equal(decodedResume.thread.turns[0]?.error?.codexErrorInfo, "misalignmentPolicyViolation"); diff --git a/packages/effect-codex-app-server/test/fixtures/codex-app-server-mock-peer.ts b/packages/effect-codex-app-server/test/fixtures/codex-app-server-mock-peer.ts index 3f2a213d38c7531e473b6980134187f62f588c23..59e5eb28faf9412e0b8af62a4b322b98aab9ed87 100644 --- a/packages/effect-codex-app-server/test/fixtures/codex-app-server-mock-peer.ts +++ b/packages/effect-codex-app-server/test/fixtures/codex-app-server-mock-peer.ts @@ -84,6 +84,7 @@ const handleMethod = (message: Record) => { case "skills/list": { pendingSkillsListRequestId = message.id as number | string; pendingUserInputRequestId = sendRequest("item/tool/requestUserInput", { + isBlocking: true, itemId: "item-approval-1", threadId: "thread-1", turnId: "turn-1", -- 2.54.0