From f0d0e129a1049cd938d77e4287c22d2f1da023af Mon Sep 17 00:00:00 2001 From: Sawyer Hood Date: Tue, 25 Aug 2026 15:28:56 -0700 Subject: [PATCH] Regenerate Codex app-server types from Codex 0.149.1 Regenerate the pruned schema under plugins/provider-codex/src/generated from the stable surface of codex app-server generate-ts (0.149.1). The new types surface two real gaps in the hand-written code: - visibility.ts: add the ten new server notifications to both method maps, and drop the manual rawResponse/completed union now that the schema includes it. - session-params.ts: DynamicToolSpec is now a tagged union, so emit type: "function". Codex 0.136.0 (bb's minimum) ignores the extra field and 0.149.1 accepts both shapes via normalize_dynamic_tool_specs. Test fixtures gain the new required fields. The generated README names the current importers and package filter. Co-Authored-By: Claude --- .../src/bridge/bridge.calibration.test.ts | 13 ++++ .../src/delta-translation.test.ts | 28 +++++++ .../src/generated/codex-app-server/README.md | 16 ++-- .../schema/AgentMessageInputContent.ts | 2 +- .../codex-app-server/schema/AuthMode.ts | 2 +- .../codex-app-server/schema/ContentItem.ts | 2 +- .../schema/FunctionCallOutputContentItem.ts | 2 +- .../schema/ImageGenerationFailure.ts | 5 ++ .../schema/ImageGenerationItem.ts | 7 ++ .../InternalChatMessageMetadataPassthrough.ts | 11 +++ .../schema/LegacyAppPathString.ts | 27 +++++++ .../codex-app-server/schema/PlanType.ts | 2 +- .../schema/RealtimeConversationVersion.ts | 2 +- .../codex-app-server/schema/ResponseItem.ts | 10 ++- .../codex-app-server/schema/ResponseItemId.ts | 9 +++ .../schema/ServerNotification.ts | 12 ++- .../codex-app-server/schema/SleepItem.ts | 8 ++ .../codex-app-server/schema/ThreadId.ts | 5 ++ .../codex-app-server/schema/WebSearchItem.ts | 14 ++++ .../v2/AccountLoginCompletedNotification.ts | 3 +- .../v2/AdditionalFileSystemPermissions.ts | 6 +- ...StartParams.ts => AgentMessageDelivery.ts} | 2 +- .../codex-app-server/schema/v2/AppInfo.ts | 2 +- .../codex-app-server/schema/v2/AppMetadata.ts | 2 +- .../schema/v2/AskForApproval.ts | 2 +- .../schema/v2/CodexErrorInfo.ts | 2 +- .../schema/v2/CommandAction.ts | 4 +- .../schema/v2/DesktopOnboardingEntrypoint.ts | 5 ++ .../v2/DynamicToolCallOutputContentItem.ts | 2 +- .../schema/v2/DynamicToolFunctionSpec.ts | 6 ++ .../schema/v2/DynamicToolNamespaceSpec.ts | 6 ++ .../schema/v2/DynamicToolNamespaceTool.ts | 6 ++ .../schema/v2/DynamicToolSpec.ts | 5 +- .../v2/EnvironmentConnectionNotification.ts | 5 ++ ...lAgentConfigImportCompletedNotification.ts | 3 +- ...xternalAgentConfigImportItemTypeFailure.ts | 6 ++ ...xternalAgentConfigImportItemTypeSuccess.ts | 10 +++ ...alAgentConfigImportProgressNotification.ts | 6 ++ .../v2/ExternalAgentConfigImportTypeResult.ts | 8 ++ .../ExternalAgentConfigMigrationItemType.ts | 5 ++ .../schema/v2/FileSystemPath.ts | 4 +- .../schema/v2/FileSystemSpecialPath.ts | 3 +- .../schema/v2/HookEventName.ts | 2 +- .../schema/v2/HookHandlerType.ts | 2 +- ...cpServerOauthLoginCompletedNotification.ts | 2 +- .../v2/McpServerStartupFailureReason.ts | 5 ++ .../v2/McpServerStatusUpdatedNotification.ts | 3 +- .../schema/v2/McpToolCallAppContext.ts | 5 ++ ...ModelSafetyBufferingUpdatedNotification.ts | 5 ++ .../schema/v2/ProjectChangeType.ts | 5 ++ .../schema/v2/ProjectChangedNotification.ts | 6 ++ .../schema/v2/RateLimitSnapshot.ts | 6 +- .../v2/RawResponseCompletedNotification.ts | 10 +++ .../v2/StrictReviewRequiredNotification.ts | 9 +++ .../schema/v2/SubAgentActivityKind.ts | 5 ++ .../codex-app-server/schema/v2/Thread.ts | 75 +++++++++---------- .../schema/v2/ThreadDeletedNotification.ts | 5 ++ .../codex-app-server/schema/v2/ThreadItem.ts | 29 +++++-- .../v2/ThreadProjectUpdatedNotification.ts | 5 ++ .../v2/ThreadQueueChangedNotification.ts | 5 ++ .../schema/v2/ThreadRevertedNotification.ts | 5 ++ .../schema/v2/ThreadSection.ts | 21 ++++++ .../schema/v2/ThreadSectionAppearance.ts | 8 ++ .../schema/v2/ThreadSettings.ts | 2 +- .../schema/v2/ThreadSource.ts | 2 +- .../schema/v2/TokenUsageBreakdown.ts | 2 +- .../codex-app-server/schema/v2/Turn.ts | 6 +- .../codex-app-server/schema/v2/UserInput.ts | 2 +- .../provider-codex/src/presentation.test.ts | 1 + .../provider-codex/src/session-params.test.ts | 1 + plugins/provider-codex/src/session-params.ts | 2 +- plugins/provider-codex/src/translator.test.ts | 8 ++ plugins/provider-codex/src/visibility.ts | 26 +++++-- 73 files changed, 455 insertions(+), 95 deletions(-) create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/ImageGenerationFailure.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/ImageGenerationItem.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/InternalChatMessageMetadataPassthrough.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/LegacyAppPathString.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/ResponseItemId.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/SleepItem.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/WebSearchItem.ts rename plugins/provider-codex/src/generated/codex-app-server/schema/v2/{ThreadCompactStartParams.ts => AgentMessageDelivery.ts} (71%) create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/DesktopOnboardingEntrypoint.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolFunctionSpec.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolNamespaceSpec.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolNamespaceTool.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/EnvironmentConnectionNotification.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportItemTypeFailure.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportItemTypeSuccess.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportProgressNotification.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportTypeResult.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigMigrationItemType.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpServerStartupFailureReason.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpToolCallAppContext.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ModelSafetyBufferingUpdatedNotification.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ProjectChangeType.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ProjectChangedNotification.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/RawResponseCompletedNotification.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/StrictReviewRequiredNotification.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/SubAgentActivityKind.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadDeletedNotification.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadProjectUpdatedNotification.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadQueueChangedNotification.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadRevertedNotification.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSection.ts create mode 100644 plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSectionAppearance.ts diff --git a/plugins/provider-codex/src/bridge/bridge.calibration.test.ts b/plugins/provider-codex/src/bridge/bridge.calibration.test.ts index 28914f2743..a71a538cef 100644 --- a/plugins/provider-codex/src/bridge/bridge.calibration.test.ts +++ b/plugins/provider-codex/src/bridge/bridge.calibration.test.ts @@ -154,6 +154,7 @@ const SCRIPT: (ScriptedNotification | ScriptedRequest)[][] = [ text: "checking the tree", phase: null, memoryCitation: null, + delivery: null, }, }), APPROVAL_REQUEST, @@ -167,6 +168,8 @@ const SCRIPT: (ScriptedNotification | ScriptedRequest)[][] = [ command: "git status --short", cwd: "/tmp/project", processId: null, + pluginId: null, + scriptPath: null, source: "agent", status: "inProgress", commandActions: [], @@ -191,6 +194,8 @@ const SCRIPT: (ScriptedNotification | ScriptedRequest)[][] = [ command: "git status --short", cwd: "/tmp/project", processId: null, + pluginId: null, + scriptPath: null, source: "agent", status: "completed", commandActions: [], @@ -212,6 +217,8 @@ const SCRIPT: (ScriptedNotification | ScriptedRequest)[][] = [ command: "git status --short", cwd: "/tmp/project", processId: null, + pluginId: null, + scriptPath: null, source: "agent", status: "completed", commandActions: [], @@ -232,6 +239,8 @@ const SCRIPT: (ScriptedNotification | ScriptedRequest)[][] = [ command: "git status --short", cwd: "/tmp/project", processId: null, + pluginId: null, + scriptPath: null, source: "agent", status: "inProgress", commandActions: [], @@ -250,6 +259,8 @@ const SCRIPT: (ScriptedNotification | ScriptedRequest)[][] = [ command: "git status --short", cwd: "/tmp/project", processId: null, + pluginId: null, + scriptPath: null, source: "agent", status: "completed", commandActions: [], @@ -289,6 +300,7 @@ const SCRIPT: (ScriptedNotification | ScriptedRequest)[][] = [ text: "", phase: null, memoryCitation: null, + delivery: null, }, }), codexNotification("item/completed", { @@ -301,6 +313,7 @@ const SCRIPT: (ScriptedNotification | ScriptedRequest)[][] = [ text: "all done", phase: null, memoryCitation: null, + delivery: null, }, }), codexNotification("turn/completed", { diff --git a/plugins/provider-codex/src/delta-translation.test.ts b/plugins/provider-codex/src/delta-translation.test.ts index d33eb95514..aa62f07802 100644 --- a/plugins/provider-codex/src/delta-translation.test.ts +++ b/plugins/provider-codex/src/delta-translation.test.ts @@ -293,9 +293,16 @@ describe("codex thread lifecycle translation", () => { parentThreadId: null, preview: "Fix the tests", ephemeral: false, + + section: null, + + sectionEnteredAt: null, + + projectId: null, modelProvider: "openai", createdAt: 0, updatedAt: 0, + recencyAt: null, status: { type: "idle" }, path: null, cwd: "/tmp", @@ -440,6 +447,7 @@ describe("codex item translation", () => { text: "Hello", phase: null, memoryCitation: null, + delivery: null, }, }), ); @@ -626,6 +634,8 @@ describe("codex item translation", () => { command: "ls -la", cwd: "/tmp", processId: null, + pluginId: null, + scriptPath: null, source: "agent", status: "completed", commandActions: [], @@ -665,6 +675,8 @@ describe("codex item translation", () => { command: "ls -la", cwd: "/tmp", processId: null, + pluginId: null, + scriptPath: null, source: "agent", status: "declined", commandActions: [], @@ -700,6 +712,8 @@ describe("codex item translation", () => { command: "ls -la", cwd: "/tmp", processId: null, + pluginId: null, + scriptPath: null, source: "agent", status: "declined", commandActions: [], @@ -800,6 +814,8 @@ describe("codex item translation", () => { server: "myserver", tool: "search", pluginId: null, + appContext: null, + readOnlyHint: null, status: "completed", arguments: { query: "test" }, result: null, @@ -1250,6 +1266,7 @@ describe("codex web item translation", () => { type: "webSearch", id: "web-1", query: "react suspense", + results: null, action: { type: "search", query: "react suspense", queries: null }, }, }), @@ -1279,6 +1296,7 @@ describe("codex web item translation", () => { type: "webSearch", id: "web-start-1", query: "react suspense fallback", + results: null, action: { type: "search", query: "react suspense primary", @@ -1317,6 +1335,7 @@ describe("codex web item translation", () => { type: "webSearch", id: "web-open-1", query: "ignored fallback", + results: null, action: { type: "openPage", url: "https://example.com" }, }, }), @@ -1345,6 +1364,7 @@ describe("codex web item translation", () => { type: "webSearch", id: "web-open-1", query: "https://example.com", + results: null, action: { type: "openPage", url: "https://example.com" }, }, }), @@ -1375,6 +1395,7 @@ describe("codex web item translation", () => { type: "webSearch", id: "web-find-1", query: "https://example.com", + results: null, action: { type: "findInPage", url: "https://example.com", @@ -1415,6 +1436,7 @@ describe("codex web item translation", () => { type: "webSearch", id: "web-placeholder-1", query: "", + results: null, action: { type: "other" }, }, }), @@ -1430,6 +1452,7 @@ describe("codex web item translation", () => { type: "webSearch", id: "web-placeholder-completed-1", query: "", + results: null, action: null, }, }), @@ -1448,6 +1471,7 @@ describe("codex web item translation", () => { type: "webSearch", id: "web-open-missing-url-1", query: "not-a-url", + results: null, action: { type: "openPage", url: null }, }, }), @@ -1551,6 +1575,7 @@ describe("codex delta and usage translation", () => { totalTokens: 100, inputTokens: 60, cachedInputTokens: 10, + cacheWriteInputTokens: 0, outputTokens: 30, reasoningOutputTokens: 0, }, @@ -1558,6 +1583,7 @@ describe("codex delta and usage translation", () => { totalTokens: 50, inputTokens: 30, cachedInputTokens: 5, + cacheWriteInputTokens: 0, outputTokens: 15, reasoningOutputTokens: 0, }, @@ -1889,6 +1915,7 @@ describe("codex account rate-limit translation", () => { secondary: null, credits: null, individualLimit: null, + spendControlReached: null, planType: null, rateLimitReachedType: "rate_limit_reached", }, @@ -1940,6 +1967,7 @@ describe("codex account rate-limit translation", () => { remainingPercent: 0, resetsAt: 1_781_120_400, }, + spendControlReached: null, planType: "pro", rateLimitReachedType: "rate_limit_reached", }, diff --git a/plugins/provider-codex/src/generated/codex-app-server/README.md b/plugins/provider-codex/src/generated/codex-app-server/README.md index d8390c3f26..b5a97c5aa7 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/README.md +++ b/plugins/provider-codex/src/generated/codex-app-server/README.md @@ -29,26 +29,28 @@ adapter imports concrete schema files directly (e.g. types are unreachable. The committed tree is therefore pruned to the transitive type-import closure of the hand-written importers: -- `adapter.ts`, `visibility.ts`, `permission-mapping.ts`, - `interactive-requests.ts`, `adapter.test.ts`. +- `translator.ts`, `visibility.ts`, `interactive-requests.ts`, + `session-params.ts`, `bridge/bridge.ts`, and their `*.test.ts` files. -At the time of pruning that was 336 of the ~580 emitted files; the -unreachable files and all three `export *` barrels (`index.ts`, +At the last regenerate (Codex 0.149.1) that was 235 of the 663 emitted +files; the unreachable files and all three `export *` barrels (`index.ts`, `schema/index.ts`, `schema/v2/index.ts`) were removed. Nothing imports the barrels, so their removal is type-safe. ### Re-prune after regenerating A regenerate (the commands above) re-emits the full set plus the barrels. -After copying the schema in, delete everything not reachable from the +The committed tree matches the **stable** surface; the hand-written code +uses no experimental fields. After copying the schema in, rewrite relative +imports to `.js` specifiers, delete everything not reachable from the importers listed above (and the barrels), then verify: ```bash -pnpm exec turbo run typecheck --filter=@bb/agent-runtime +pnpm exec turbo run typecheck --filter=bb-plugin-provider-codex ``` TypeScript reports any over-deletion as a missing-module error; a green -typecheck plus `pnpm exec turbo run test --filter=@bb/agent-runtime` confirms +typecheck plus `pnpm exec turbo run test --filter=bb-plugin-provider-codex` confirms the kept subset is complete. Keep it pruned to avoid re-vendoring dead types. ## Source of truth diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/AgentMessageInputContent.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/AgentMessageInputContent.ts index a3bb645597..3fd526d83d 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/AgentMessageInputContent.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/AgentMessageInputContent.ts @@ -2,4 +2,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export type AgentMessageInputContent = { "type": "encrypted_content", encrypted_content: string, }; +export type AgentMessageInputContent = { "type": "input_text", text: string, } | { "type": "encrypted_content", encrypted_content: string, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/AuthMode.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/AuthMode.ts index 1cb6ccb6b3..b248876173 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/AuthMode.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/AuthMode.ts @@ -5,4 +5,4 @@ /** * Authentication mode for OpenAI-backed providers. */ -export type AuthMode = "apikey" | "chatgpt" | "chatgptAuthTokens" | "agentIdentity" | "personalAccessToken"; +export type AuthMode = "apikey" | "chatgpt" | "chatgptAuthTokens" | "headers" | "agentIdentity" | "personalAccessToken" | "bedrockApiKey"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/ContentItem.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/ContentItem.ts index ae999b6236..be06b5639d 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/ContentItem.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/ContentItem.ts @@ -3,4 +3,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { ImageDetail } from "./ImageDetail.js"; -export type ContentItem = { "type": "input_text", text: string, } | { "type": "input_image", image_url: string, detail?: ImageDetail, } | { "type": "output_text", text: string, }; +export type ContentItem = { "type": "input_text", text: string, } | { "type": "input_image", image_url: string, detail?: ImageDetail, } | { "type": "input_audio", audio_url: string, } | { "type": "output_text", text: string, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/FunctionCallOutputContentItem.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/FunctionCallOutputContentItem.ts index 2bf53d3c9f..2ddd4a7d89 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/FunctionCallOutputContentItem.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/FunctionCallOutputContentItem.ts @@ -7,4 +7,4 @@ import type { ImageDetail } from "./ImageDetail.js"; * 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. */ -export type FunctionCallOutputContentItem = { "type": "input_text", text: string, } | { "type": "input_image", image_url: string, detail?: ImageDetail, } | { "type": "encrypted_content", encrypted_content: string, }; +export type FunctionCallOutputContentItem = { "type": "input_text", text: string, } | { "type": "input_image", image_url: string, detail?: ImageDetail, } | { "type": "input_audio", audio_url: string, } | { "type": "encrypted_content", encrypted_content: string, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/ImageGenerationFailure.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/ImageGenerationFailure.ts new file mode 100644 index 0000000000..00cd17db2d --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/ImageGenerationFailure.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ImageGenerationFailure = { "type": "usageLimitExceeded", limitId: string, resetsAt: number | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/ImageGenerationItem.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/ImageGenerationItem.ts new file mode 100644 index 0000000000..74691d01b3 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/ImageGenerationItem.ts @@ -0,0 +1,7 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "./AbsolutePathBuf.js"; +import type { ImageGenerationFailure } from "./ImageGenerationFailure.js"; + +export type ImageGenerationItem = { id: string, status: string, revisedPrompt: string | null, result: string, transparentBackground?: boolean, failure: ImageGenerationFailure | null, savedPath?: AbsolutePathBuf, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/InternalChatMessageMetadataPassthrough.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/InternalChatMessageMetadataPassthrough.ts new file mode 100644 index 0000000000..6ccf386884 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/InternalChatMessageMetadataPassthrough.ts @@ -0,0 +1,11 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Internal Responses API passthrough metadata copied into underlying chat messages. + * + * Responses API strongly types this payload. Do not modify it without first getting API + * approval and making the corresponding Responses API change. + */ +export type InternalChatMessageMetadataPassthrough = { turn_id?: string, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/LegacyAppPathString.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/LegacyAppPathString.ts new file mode 100644 index 0000000000..5c0a1b1e44 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/LegacyAppPathString.ts @@ -0,0 +1,27 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * A UTF-8 path for preserving raw path compatibility at the app-server API + * boundary while Codex migrates to [`PathUri`]. + * + * Supports storing arbitrary strings read from the API and converting to and + * from [`PathUri`] using an explicitly selected native path convention. + * + * When converting from [`PathUri`], "native" refers to the supplied + * [`PathConvention`], which may be foreign to the operating system running + * this process. The inner string is private so path-producing code must use a + * path conversion method instead of bypassing the intended conversion + * boundary. Non-UTF-8 paths are converted to UTF-8 lossily because this API + * value is serialized as a JSON string. + * + * Deserialization and [`Self::from_string`] accept any UTF-8 string without + * interpreting or validating it. Use [`Self::from_string`] when a caller + * already owns legacy app-server path text and needs to preserve its wire + * spelling; use [`Self::from_path`], [`Self::from_abs_path`], or + * [`Self::from_path_uri`] when converting an actual path value. Relative + * path text remains valid until an operation such as [`Self::to_path_uri`] + * requires an absolute path. + */ +export type LegacyAppPathString = string; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/PlanType.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/PlanType.ts index 44891467e9..3f27f24052 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/PlanType.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/PlanType.ts @@ -2,4 +2,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export type PlanType = "free" | "go" | "plus" | "pro" | "prolite" | "team" | "self_serve_business_usage_based" | "business" | "enterprise_cbp_usage_based" | "enterprise" | "edu" | "unknown"; +export type PlanType = "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"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/RealtimeConversationVersion.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/RealtimeConversationVersion.ts index cedc4bbe52..81b8d3116e 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/RealtimeConversationVersion.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/RealtimeConversationVersion.ts @@ -2,4 +2,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export type RealtimeConversationVersion = "v1" | "v2"; +export type RealtimeConversationVersion = "v1" | "v2" | "v3"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/ResponseItem.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/ResponseItem.ts index 4e2c3963dc..f227754a16 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/ResponseItem.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/ResponseItem.ts @@ -4,15 +4,21 @@ import type { AgentMessageInputContent } from "./AgentMessageInputContent.js"; import type { ContentItem } from "./ContentItem.js"; import type { FunctionCallOutputBody } from "./FunctionCallOutputBody.js"; +import type { InternalChatMessageMetadataPassthrough } from "./InternalChatMessageMetadataPassthrough.js"; import type { LocalShellAction } from "./LocalShellAction.js"; import type { LocalShellStatus } from "./LocalShellStatus.js"; import type { MessagePhase } from "./MessagePhase.js"; import type { ReasoningItemContent } from "./ReasoningItemContent.js"; import type { ReasoningItemReasoningSummary } from "./ReasoningItemReasoningSummary.js"; +import type { ResponseItemId } from "./ResponseItemId.js"; import type { WebSearchAction } from "./WebSearchAction.js"; -export type ResponseItem = { "type": "message", role: string, content: Array, phase?: MessagePhase, } | { "type": "agent_message", author: string, recipient: string, content: Array, } | { "type": "reasoning", summary: Array, content?: Array, encrypted_content: string | null, } | { "type": "local_shell_call", +export type ResponseItem = { "type": "message", id?: ResponseItemId, role: string, content: Array, phase?: MessagePhase, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "agent_message", id?: ResponseItemId, author: string, recipient: string, content: Array, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "reasoning", id?: ResponseItemId, summary: Array, content?: Array, encrypted_content: string | null, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "local_shell_call", +/** + * Legacy id field retained for compatibility with older payloads. + */ +id?: ResponseItemId, /** * Set when using the Responses API. */ -call_id: string | null, status: LocalShellStatus, action: LocalShellAction, } | { "type": "function_call", name: string, namespace?: string, arguments: string, call_id: string, } | { "type": "tool_search_call", call_id: string | null, status?: string, execution: string, arguments: unknown, } | { "type": "function_call_output", call_id: string, output: FunctionCallOutputBody, } | { "type": "custom_tool_call", status?: string, call_id: string, name: string, input: string, } | { "type": "custom_tool_call_output", call_id: string, name?: string, output: FunctionCallOutputBody, } | { "type": "tool_search_output", call_id: string | null, status: string, execution: string, tools: unknown[], } | { "type": "web_search_call", status?: string, action?: WebSearchAction, } | { "type": "image_generation_call", id: string, status: string, revised_prompt?: string, result: string, } | { "type": "compaction", encrypted_content: string, } | { "type": "compaction_trigger" } | { "type": "context_compaction", encrypted_content?: string, } | { "type": "other" }; +call_id: string | null, status: LocalShellStatus, action: LocalShellAction, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "function_call", id?: ResponseItemId, name: string, namespace?: string, arguments: string, encrypted_function_args?: Array, call_id: string, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "tool_search_call", id?: ResponseItemId, call_id: string | null, status?: string, execution: string, arguments: unknown, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "function_call_output", id?: ResponseItemId, call_id: string, output: FunctionCallOutputBody, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "custom_tool_call", id?: ResponseItemId, status?: string, call_id: string, name: string, namespace?: string, input: string, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "custom_tool_call_output", id?: ResponseItemId, call_id: string, name?: string, output: FunctionCallOutputBody, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "tool_search_output", id?: ResponseItemId, call_id: string | null, status: string, execution: string, tools: unknown[], internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "web_search_call", id?: ResponseItemId, status?: string, action?: WebSearchAction, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "image_generation_call", id?: ResponseItemId, status: string, revised_prompt?: string, result: string, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "compaction", id?: ResponseItemId, encrypted_content: string, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "compaction_trigger", } | { "type": "context_compaction", id?: ResponseItemId, encrypted_content?: string, internal_chat_message_metadata_passthrough?: InternalChatMessageMetadataPassthrough, } | { "type": "other" }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/ResponseItemId.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/ResponseItemId.ts new file mode 100644 index 0000000000..c4f17ec5f8 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/ResponseItemId.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * A Responses API item ID. New IDs require an explicit prefix; deserialization + * remains permissive so legacy rollouts can still be read. + */ +export type ResponseItemId = string; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/ServerNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/ServerNotification.ts index b83f9baf84..5130648816 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/ServerNotification.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/ServerNotification.ts @@ -13,8 +13,10 @@ import type { CommandExecutionOutputDeltaNotification } from "./v2/CommandExecut import type { ConfigWarningNotification } from "./v2/ConfigWarningNotification.js"; import type { ContextCompactedNotification } from "./v2/ContextCompactedNotification.js"; import type { DeprecationNoticeNotification } from "./v2/DeprecationNoticeNotification.js"; +import type { EnvironmentConnectionNotification } from "./v2/EnvironmentConnectionNotification.js"; import type { ErrorNotification } from "./v2/ErrorNotification.js"; import type { ExternalAgentConfigImportCompletedNotification } from "./v2/ExternalAgentConfigImportCompletedNotification.js"; +import type { ExternalAgentConfigImportProgressNotification } from "./v2/ExternalAgentConfigImportProgressNotification.js"; import type { FileChangeOutputDeltaNotification } from "./v2/FileChangeOutputDeltaNotification.js"; import type { FileChangePatchUpdatedNotification } from "./v2/FileChangePatchUpdatedNotification.js"; import type { FsChangedNotification } from "./v2/FsChangedNotification.js"; @@ -29,10 +31,13 @@ import type { McpServerOauthLoginCompletedNotification } from "./v2/McpServerOau import type { McpServerStatusUpdatedNotification } from "./v2/McpServerStatusUpdatedNotification.js"; import type { McpToolCallProgressNotification } from "./v2/McpToolCallProgressNotification.js"; import type { ModelReroutedNotification } from "./v2/ModelReroutedNotification.js"; +import type { ModelSafetyBufferingUpdatedNotification } from "./v2/ModelSafetyBufferingUpdatedNotification.js"; import type { ModelVerificationNotification } from "./v2/ModelVerificationNotification.js"; import type { PlanDeltaNotification } from "./v2/PlanDeltaNotification.js"; import type { ProcessExitedNotification } from "./v2/ProcessExitedNotification.js"; import type { ProcessOutputDeltaNotification } from "./v2/ProcessOutputDeltaNotification.js"; +import type { ProjectChangedNotification } from "./v2/ProjectChangedNotification.js"; +import type { RawResponseCompletedNotification } from "./v2/RawResponseCompletedNotification.js"; import type { RawResponseItemCompletedNotification } from "./v2/RawResponseItemCompletedNotification.js"; import type { ReasoningSummaryPartAddedNotification } from "./v2/ReasoningSummaryPartAddedNotification.js"; import type { ReasoningSummaryTextDeltaNotification } from "./v2/ReasoningSummaryTextDeltaNotification.js"; @@ -40,12 +45,16 @@ import type { ReasoningTextDeltaNotification } from "./v2/ReasoningTextDeltaNoti import type { RemoteControlStatusChangedNotification } from "./v2/RemoteControlStatusChangedNotification.js"; import type { ServerRequestResolvedNotification } from "./v2/ServerRequestResolvedNotification.js"; import type { SkillsChangedNotification } from "./v2/SkillsChangedNotification.js"; +import type { StrictReviewRequiredNotification } from "./v2/StrictReviewRequiredNotification.js"; import type { TerminalInteractionNotification } from "./v2/TerminalInteractionNotification.js"; import type { ThreadArchivedNotification } from "./v2/ThreadArchivedNotification.js"; import type { ThreadClosedNotification } from "./v2/ThreadClosedNotification.js"; +import type { ThreadDeletedNotification } from "./v2/ThreadDeletedNotification.js"; import type { ThreadGoalClearedNotification } from "./v2/ThreadGoalClearedNotification.js"; import type { ThreadGoalUpdatedNotification } from "./v2/ThreadGoalUpdatedNotification.js"; import type { ThreadNameUpdatedNotification } from "./v2/ThreadNameUpdatedNotification.js"; +import type { ThreadProjectUpdatedNotification } from "./v2/ThreadProjectUpdatedNotification.js"; +import type { ThreadQueueChangedNotification } from "./v2/ThreadQueueChangedNotification.js"; import type { ThreadRealtimeClosedNotification } from "./v2/ThreadRealtimeClosedNotification.js"; import type { ThreadRealtimeErrorNotification } from "./v2/ThreadRealtimeErrorNotification.js"; import type { ThreadRealtimeItemAddedNotification } from "./v2/ThreadRealtimeItemAddedNotification.js"; @@ -54,6 +63,7 @@ import type { ThreadRealtimeSdpNotification } from "./v2/ThreadRealtimeSdpNotifi import type { ThreadRealtimeStartedNotification } from "./v2/ThreadRealtimeStartedNotification.js"; import type { ThreadRealtimeTranscriptDeltaNotification } from "./v2/ThreadRealtimeTranscriptDeltaNotification.js"; import type { ThreadRealtimeTranscriptDoneNotification } from "./v2/ThreadRealtimeTranscriptDoneNotification.js"; +import type { ThreadRevertedNotification } from "./v2/ThreadRevertedNotification.js"; import type { ThreadSettingsUpdatedNotification } from "./v2/ThreadSettingsUpdatedNotification.js"; import type { ThreadStartedNotification } from "./v2/ThreadStartedNotification.js"; import type { ThreadStatusChangedNotification } from "./v2/ThreadStatusChangedNotification.js"; @@ -71,4 +81,4 @@ import type { WindowsWorldWritableWarningNotification } from "./v2/WindowsWorldW /** * Notification sent from the server to the client. */ -export type ServerNotification = { "method": "error", "params": ErrorNotification } | { "method": "thread/started", "params": ThreadStartedNotification } | { "method": "thread/status/changed", "params": ThreadStatusChangedNotification } | { "method": "thread/archived", "params": ThreadArchivedNotification } | { "method": "thread/unarchived", "params": ThreadUnarchivedNotification } | { "method": "thread/closed", "params": ThreadClosedNotification } | { "method": "skills/changed", "params": SkillsChangedNotification } | { "method": "thread/name/updated", "params": ThreadNameUpdatedNotification } | { "method": "thread/goal/updated", "params": ThreadGoalUpdatedNotification } | { "method": "thread/goal/cleared", "params": ThreadGoalClearedNotification } | { "method": "thread/settings/updated", "params": ThreadSettingsUpdatedNotification } | { "method": "thread/tokenUsage/updated", "params": ThreadTokenUsageUpdatedNotification } | { "method": "turn/started", "params": TurnStartedNotification } | { "method": "hook/started", "params": HookStartedNotification } | { "method": "turn/completed", "params": TurnCompletedNotification } | { "method": "hook/completed", "params": HookCompletedNotification } | { "method": "turn/diff/updated", "params": TurnDiffUpdatedNotification } | { "method": "turn/plan/updated", "params": TurnPlanUpdatedNotification } | { "method": "item/started", "params": ItemStartedNotification } | { "method": "item/autoApprovalReview/started", "params": ItemGuardianApprovalReviewStartedNotification } | { "method": "item/autoApprovalReview/completed", "params": ItemGuardianApprovalReviewCompletedNotification } | { "method": "item/completed", "params": ItemCompletedNotification } | { "method": "rawResponseItem/completed", "params": RawResponseItemCompletedNotification } | { "method": "item/agentMessage/delta", "params": AgentMessageDeltaNotification } | { "method": "item/plan/delta", "params": PlanDeltaNotification } | { "method": "command/exec/outputDelta", "params": CommandExecOutputDeltaNotification } | { "method": "process/outputDelta", "params": ProcessOutputDeltaNotification } | { "method": "process/exited", "params": ProcessExitedNotification } | { "method": "item/commandExecution/outputDelta", "params": CommandExecutionOutputDeltaNotification } | { "method": "item/commandExecution/terminalInteraction", "params": TerminalInteractionNotification } | { "method": "item/fileChange/outputDelta", "params": FileChangeOutputDeltaNotification } | { "method": "item/fileChange/patchUpdated", "params": FileChangePatchUpdatedNotification } | { "method": "serverRequest/resolved", "params": ServerRequestResolvedNotification } | { "method": "item/mcpToolCall/progress", "params": McpToolCallProgressNotification } | { "method": "mcpServer/oauthLogin/completed", "params": McpServerOauthLoginCompletedNotification } | { "method": "mcpServer/startupStatus/updated", "params": McpServerStatusUpdatedNotification } | { "method": "account/updated", "params": AccountUpdatedNotification } | { "method": "account/rateLimits/updated", "params": AccountRateLimitsUpdatedNotification } | { "method": "app/list/updated", "params": AppListUpdatedNotification } | { "method": "remoteControl/status/changed", "params": RemoteControlStatusChangedNotification } | { "method": "externalAgentConfig/import/completed", "params": ExternalAgentConfigImportCompletedNotification } | { "method": "fs/changed", "params": FsChangedNotification } | { "method": "item/reasoning/summaryTextDelta", "params": ReasoningSummaryTextDeltaNotification } | { "method": "item/reasoning/summaryPartAdded", "params": ReasoningSummaryPartAddedNotification } | { "method": "item/reasoning/textDelta", "params": ReasoningTextDeltaNotification } | { "method": "thread/compacted", "params": ContextCompactedNotification } | { "method": "model/rerouted", "params": ModelReroutedNotification } | { "method": "model/verification", "params": ModelVerificationNotification } | { "method": "turn/moderationMetadata", "params": TurnModerationMetadataNotification } | { "method": "warning", "params": WarningNotification } | { "method": "guardianWarning", "params": GuardianWarningNotification } | { "method": "deprecationNotice", "params": DeprecationNoticeNotification } | { "method": "configWarning", "params": ConfigWarningNotification } | { "method": "fuzzyFileSearch/sessionUpdated", "params": FuzzyFileSearchSessionUpdatedNotification } | { "method": "fuzzyFileSearch/sessionCompleted", "params": FuzzyFileSearchSessionCompletedNotification } | { "method": "thread/realtime/started", "params": ThreadRealtimeStartedNotification } | { "method": "thread/realtime/itemAdded", "params": ThreadRealtimeItemAddedNotification } | { "method": "thread/realtime/transcript/delta", "params": ThreadRealtimeTranscriptDeltaNotification } | { "method": "thread/realtime/transcript/done", "params": ThreadRealtimeTranscriptDoneNotification } | { "method": "thread/realtime/outputAudio/delta", "params": ThreadRealtimeOutputAudioDeltaNotification } | { "method": "thread/realtime/sdp", "params": ThreadRealtimeSdpNotification } | { "method": "thread/realtime/error", "params": ThreadRealtimeErrorNotification } | { "method": "thread/realtime/closed", "params": ThreadRealtimeClosedNotification } | { "method": "windows/worldWritableWarning", "params": WindowsWorldWritableWarningNotification } | { "method": "windowsSandbox/setupCompleted", "params": WindowsSandboxSetupCompletedNotification } | { "method": "account/login/completed", "params": AccountLoginCompletedNotification }; +export type ServerNotification = { "method": "error", "params": ErrorNotification } | { "method": "thread/started", "params": ThreadStartedNotification } | { "method": "thread/status/changed", "params": ThreadStatusChangedNotification } | { "method": "thread/archived", "params": ThreadArchivedNotification } | { "method": "thread/deleted", "params": ThreadDeletedNotification } | { "method": "thread/unarchived", "params": ThreadUnarchivedNotification } | { "method": "thread/closed", "params": ThreadClosedNotification } | { "method": "thread/reverted", "params": ThreadRevertedNotification } | { "method": "skills/changed", "params": SkillsChangedNotification } | { "method": "thread/name/updated", "params": ThreadNameUpdatedNotification } | { "method": "thread/goal/updated", "params": ThreadGoalUpdatedNotification } | { "method": "thread/goal/cleared", "params": ThreadGoalClearedNotification } | { "method": "thread/queue/changed", "params": ThreadQueueChangedNotification } | { "method": "project/changed", "params": ProjectChangedNotification } | { "method": "thread/project/updated", "params": ThreadProjectUpdatedNotification } | { "method": "thread/environment/connected", "params": EnvironmentConnectionNotification } | { "method": "thread/environment/disconnected", "params": EnvironmentConnectionNotification } | { "method": "thread/settings/updated", "params": ThreadSettingsUpdatedNotification } | { "method": "thread/tokenUsage/updated", "params": ThreadTokenUsageUpdatedNotification } | { "method": "turn/started", "params": TurnStartedNotification } | { "method": "hook/started", "params": HookStartedNotification } | { "method": "turn/completed", "params": TurnCompletedNotification } | { "method": "hook/completed", "params": HookCompletedNotification } | { "method": "turn/diff/updated", "params": TurnDiffUpdatedNotification } | { "method": "turn/plan/updated", "params": TurnPlanUpdatedNotification } | { "method": "item/started", "params": ItemStartedNotification } | { "method": "item/autoApprovalReview/started", "params": ItemGuardianApprovalReviewStartedNotification } | { "method": "item/autoApprovalReview/completed", "params": ItemGuardianApprovalReviewCompletedNotification } | { "method": "autoApprovalReview/strictReviewRequired", "params": StrictReviewRequiredNotification } | { "method": "item/completed", "params": ItemCompletedNotification } | { "method": "rawResponseItem/completed", "params": RawResponseItemCompletedNotification } | { "method": "rawResponse/completed", "params": RawResponseCompletedNotification } | { "method": "item/agentMessage/delta", "params": AgentMessageDeltaNotification } | { "method": "item/plan/delta", "params": PlanDeltaNotification } | { "method": "command/exec/outputDelta", "params": CommandExecOutputDeltaNotification } | { "method": "process/outputDelta", "params": ProcessOutputDeltaNotification } | { "method": "process/exited", "params": ProcessExitedNotification } | { "method": "item/commandExecution/outputDelta", "params": CommandExecutionOutputDeltaNotification } | { "method": "item/commandExecution/terminalInteraction", "params": TerminalInteractionNotification } | { "method": "item/fileChange/outputDelta", "params": FileChangeOutputDeltaNotification } | { "method": "item/fileChange/patchUpdated", "params": FileChangePatchUpdatedNotification } | { "method": "serverRequest/resolved", "params": ServerRequestResolvedNotification } | { "method": "item/mcpToolCall/progress", "params": McpToolCallProgressNotification } | { "method": "mcpServer/oauthLogin/completed", "params": McpServerOauthLoginCompletedNotification } | { "method": "mcpServer/startupStatus/updated", "params": McpServerStatusUpdatedNotification } | { "method": "account/updated", "params": AccountUpdatedNotification } | { "method": "account/rateLimits/updated", "params": AccountRateLimitsUpdatedNotification } | { "method": "app/list/updated", "params": AppListUpdatedNotification } | { "method": "remoteControl/status/changed", "params": RemoteControlStatusChangedNotification } | { "method": "externalAgentConfig/import/progress", "params": ExternalAgentConfigImportProgressNotification } | { "method": "externalAgentConfig/import/completed", "params": ExternalAgentConfigImportCompletedNotification } | { "method": "fs/changed", "params": FsChangedNotification } | { "method": "item/reasoning/summaryTextDelta", "params": ReasoningSummaryTextDeltaNotification } | { "method": "item/reasoning/summaryPartAdded", "params": ReasoningSummaryPartAddedNotification } | { "method": "item/reasoning/textDelta", "params": ReasoningTextDeltaNotification } | { "method": "thread/compacted", "params": ContextCompactedNotification } | { "method": "model/rerouted", "params": ModelReroutedNotification } | { "method": "model/verification", "params": ModelVerificationNotification } | { "method": "turn/moderationMetadata", "params": TurnModerationMetadataNotification } | { "method": "model/safetyBuffering/updated", "params": ModelSafetyBufferingUpdatedNotification } | { "method": "warning", "params": WarningNotification } | { "method": "guardianWarning", "params": GuardianWarningNotification } | { "method": "deprecationNotice", "params": DeprecationNoticeNotification } | { "method": "configWarning", "params": ConfigWarningNotification } | { "method": "fuzzyFileSearch/sessionUpdated", "params": FuzzyFileSearchSessionUpdatedNotification } | { "method": "fuzzyFileSearch/sessionCompleted", "params": FuzzyFileSearchSessionCompletedNotification } | { "method": "thread/realtime/started", "params": ThreadRealtimeStartedNotification } | { "method": "thread/realtime/itemAdded", "params": ThreadRealtimeItemAddedNotification } | { "method": "thread/realtime/transcript/delta", "params": ThreadRealtimeTranscriptDeltaNotification } | { "method": "thread/realtime/transcript/done", "params": ThreadRealtimeTranscriptDoneNotification } | { "method": "thread/realtime/outputAudio/delta", "params": ThreadRealtimeOutputAudioDeltaNotification } | { "method": "thread/realtime/sdp", "params": ThreadRealtimeSdpNotification } | { "method": "thread/realtime/error", "params": ThreadRealtimeErrorNotification } | { "method": "thread/realtime/closed", "params": ThreadRealtimeClosedNotification } | { "method": "windows/worldWritableWarning", "params": WindowsWorldWritableWarningNotification } | { "method": "windowsSandbox/setupCompleted", "params": WindowsSandboxSetupCompletedNotification } | { "method": "account/login/completed", "params": AccountLoginCompletedNotification }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/SleepItem.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/SleepItem.ts new file mode 100644 index 0000000000..b399551c8b --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/SleepItem.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Display item emitted by the interruptible `clock.sleep` tool. + */ +export type SleepItem = { id: string, durationMs: number, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/ThreadId.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/ThreadId.ts index bfb3b4b4d7..801ffb35e4 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/ThreadId.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/ThreadId.ts @@ -2,4 +2,9 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +/** + * Identifier for a Codex thread. + * + * Codex-generated thread IDs are UUIDv7, and some use cases rely on that. + */ export type ThreadId = string; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/WebSearchItem.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/WebSearchItem.ts new file mode 100644 index 0000000000..e51963b07e --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/WebSearchItem.ts @@ -0,0 +1,14 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "./serde_json/JsonValue.js"; +import type { WebSearchAction } from "./v2/WebSearchAction.js"; + +export type WebSearchItem = { id: string, query: string, action: WebSearchAction | null, +/** + * Structured search results returned out-of-band by standalone web search. + * + * These stay as opaque JSON at the extension/app-server boundary so new + * result fields and result types can pass through without a Codex release. + */ +results: Array | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AccountLoginCompletedNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AccountLoginCompletedNotification.ts index 587237b275..69ebe4a6c1 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AccountLoginCompletedNotification.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AccountLoginCompletedNotification.ts @@ -1,5 +1,6 @@ // GENERATED CODE! DO NOT MODIFY BY HAND! // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { DesktopOnboardingEntrypoint } from "./DesktopOnboardingEntrypoint.js"; -export type AccountLoginCompletedNotification = { loginId: string | null, success: boolean, error: string | null, }; +export type AccountLoginCompletedNotification = { loginId: string | null, success: boolean, error: string | null, onboardingEntrypoint: DesktopOnboardingEntrypoint | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AdditionalFileSystemPermissions.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AdditionalFileSystemPermissions.ts index 074bda5938..60d782fa89 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AdditionalFileSystemPermissions.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AdditionalFileSystemPermissions.ts @@ -1,15 +1,15 @@ // GENERATED CODE! DO NOT MODIFY BY HAND! // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { LegacyAppPathString } from "../LegacyAppPathString.js"; import type { FileSystemSandboxEntry } from "./FileSystemSandboxEntry.js"; export type AdditionalFileSystemPermissions = { /** * This will be removed in favor of `entries`. */ -read: Array | null, +read: Array | null, /** * This will be removed in favor of `entries`. */ -write: Array | null, globScanMaxDepth?: number, entries?: Array, }; +write: Array | null, globScanMaxDepth?: number, entries?: Array, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadCompactStartParams.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AgentMessageDelivery.ts similarity index 71% rename from plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadCompactStartParams.ts rename to plugins/provider-codex/src/generated/codex-app-server/schema/v2/AgentMessageDelivery.ts index a60b2c2812..bc6547e0a9 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadCompactStartParams.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AgentMessageDelivery.ts @@ -2,4 +2,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export type ThreadCompactStartParams = { threadId: string, }; +export type AgentMessageDelivery = "async"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AppInfo.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AppInfo.ts index 52146fa91f..4a506957ce 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AppInfo.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AppInfo.ts @@ -7,7 +7,7 @@ import type { AppMetadata } from "./AppMetadata.js"; /** * EXPERIMENTAL - app metadata returned by app-list APIs. */ -export type AppInfo = { id: string, name: string, description: string | null, logoUrl: string | null, logoUrlDark: string | null, distributionChannel: string | null, branding: AppBranding | null, appMetadata: AppMetadata | null, labels: { [key in string]?: string } | null, installUrl: string | null, isAccessible: boolean, +export type AppInfo = { id: string, name: string, description: string | null, logoUrl: string | null, logoUrlDark: string | null, iconAssets: { [key in string]?: string } | null, iconDarkAssets: { [key in string]?: string } | null, distributionChannel: string | null, branding: AppBranding | null, appMetadata: AppMetadata | null, labels: { [key in string]?: string } | null, installUrl: string | null, isAccessible: boolean, /** * Whether this app is enabled in config.toml. * Example: diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AppMetadata.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AppMetadata.ts index a04b701e05..92f7d69001 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AppMetadata.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AppMetadata.ts @@ -4,4 +4,4 @@ import type { AppReview } from "./AppReview.js"; import type { AppScreenshot } from "./AppScreenshot.js"; -export type AppMetadata = { review: AppReview | null, categories: Array | null, subCategories: Array | null, seoDescription: string | null, screenshots: Array | null, developer: string | null, version: string | null, versionId: string | null, versionNotes: string | null, firstPartyType: string | null, firstPartyRequiresInstall: boolean | null, showInComposerWhenUnlinked: boolean | null, }; +export type AppMetadata = { review: AppReview | null, categories: Array | null, subCategories: Array | null, seoDescription: string | null, screenshots: Array | null, developer: string | null, version: string | null, versionId: string | null, versionNotes: string | null, firstPartyRequiresInstall: boolean | null, showInComposerWhenUnlinked: boolean | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AskForApproval.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AskForApproval.ts index 8d41214e01..1d605501b2 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AskForApproval.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/AskForApproval.ts @@ -2,4 +2,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export type AskForApproval = "untrusted" | "on-failure" | "on-request" | { "granular": { sandbox_approval: boolean, rules: boolean, skill_approval: boolean, request_permissions: boolean, mcp_elicitations: boolean, } } | "never"; +export type AskForApproval = "untrusted" | "on-request" | { "granular": { sandbox_approval: boolean, rules: boolean, skill_approval: boolean, request_permissions: boolean, mcp_elicitations: boolean, } } | "never"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/CodexErrorInfo.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/CodexErrorInfo.ts index 04e134f10e..e223a34730 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/CodexErrorInfo.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/CodexErrorInfo.ts @@ -9,4 +9,4 @@ import type { NonSteerableTurnKind } from "./NonSteerableTurnKind.js"; * When 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. */ -export type CodexErrorInfo = "contextWindowExceeded" | "usageLimitExceeded" | "serverOverloaded" | "cyberPolicy" | { "httpConnectionFailed": { httpStatusCode: number | null, } } | { "responseStreamConnectionFailed": { httpStatusCode: number | null, } } | "internalServerError" | "unauthorized" | "badRequest" | "threadRollbackFailed" | "sandboxError" | { "responseStreamDisconnected": { httpStatusCode: number | null, } } | { "responseTooManyFailedAttempts": { httpStatusCode: number | null, } } | { "activeTurnNotSteerable": { turnKind: NonSteerableTurnKind, } } | "other"; +export type CodexErrorInfo = "contextWindowExceeded" | "sessionBudgetExceeded" | "usageLimitExceeded" | "serverOverloaded" | "cyberPolicy" | "misalignmentPolicyViolation" | { "httpConnectionFailed": { httpStatusCode: number | null, } } | { "responseStreamConnectionFailed": { httpStatusCode: number | null, } } | "internalServerError" | "unauthorized" | "badRequest" | "threadRollbackFailed" | "sandboxError" | { "responseStreamDisconnected": { httpStatusCode: number | null, } } | { "responseTooManyFailedAttempts": { httpStatusCode: number | null, } } | { "activeTurnNotSteerable": { turnKind: NonSteerableTurnKind, } } | "other"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/CommandAction.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/CommandAction.ts index 12fa1b420e..37598df0ad 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/CommandAction.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/CommandAction.ts @@ -1,6 +1,6 @@ // GENERATED CODE! DO NOT MODIFY BY HAND! // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { LegacyAppPathString } from "../LegacyAppPathString.js"; -export type CommandAction = { "type": "read", command: string, name: string, path: AbsolutePathBuf, } | { "type": "listFiles", command: string, path: string | null, } | { "type": "search", command: string, query: string | null, path: string | null, } | { "type": "unknown", command: string, }; +export type CommandAction = { "type": "read", command: string, name: string, path: LegacyAppPathString, } | { "type": "listFiles", command: string, path: string | null, } | { "type": "search", command: string, query: string | null, path: string | null, } | { "type": "unknown", command: string, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DesktopOnboardingEntrypoint.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DesktopOnboardingEntrypoint.ts new file mode 100644 index 0000000000..75a73210dd --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DesktopOnboardingEntrypoint.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type DesktopOnboardingEntrypoint = "life_sciences"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolCallOutputContentItem.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolCallOutputContentItem.ts index 8f432109d1..9be1a80996 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolCallOutputContentItem.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolCallOutputContentItem.ts @@ -2,4 +2,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export type DynamicToolCallOutputContentItem = { "type": "inputText", text: string, } | { "type": "inputImage", imageUrl: string, }; +export type DynamicToolCallOutputContentItem = { "type": "inputText", text: string, } | { "type": "inputImage", imageUrl: string, } | { "type": "inputAudio", audioUrl: string, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolFunctionSpec.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolFunctionSpec.ts new file mode 100644 index 0000000000..a7de9d71c8 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolFunctionSpec.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; + +export type DynamicToolFunctionSpec = { name: string, description: string, inputSchema: JsonValue, deferLoading?: boolean, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolNamespaceSpec.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolNamespaceSpec.ts new file mode 100644 index 0000000000..cdb064ea68 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolNamespaceSpec.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { DynamicToolNamespaceTool } from "./DynamicToolNamespaceTool.js"; + +export type DynamicToolNamespaceSpec = { name: string, description: string, tools: Array, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolNamespaceTool.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolNamespaceTool.ts new file mode 100644 index 0000000000..58d8417e95 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolNamespaceTool.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { DynamicToolFunctionSpec } from "./DynamicToolFunctionSpec.js"; + +export type DynamicToolNamespaceTool = { "type": "function" } & DynamicToolFunctionSpec; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolSpec.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolSpec.ts index 290cdb86d4..3f3c35f978 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolSpec.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/DynamicToolSpec.ts @@ -1,6 +1,7 @@ // GENERATED CODE! DO NOT MODIFY BY HAND! // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -import type { JsonValue } from "../serde_json/JsonValue.js"; +import type { DynamicToolFunctionSpec } from "./DynamicToolFunctionSpec.js"; +import type { DynamicToolNamespaceSpec } from "./DynamicToolNamespaceSpec.js"; -export type DynamicToolSpec = { namespace?: string, name: string, description: string, inputSchema: JsonValue, deferLoading?: boolean, }; +export type DynamicToolSpec = { "type": "function" } & DynamicToolFunctionSpec | { "type": "namespace" } & DynamicToolNamespaceSpec; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/EnvironmentConnectionNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/EnvironmentConnectionNotification.ts new file mode 100644 index 0000000000..518f75c026 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/EnvironmentConnectionNotification.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type EnvironmentConnectionNotification = { threadId: string, environmentId: string, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportCompletedNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportCompletedNotification.ts index edb8f19162..fc6dcc9772 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportCompletedNotification.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportCompletedNotification.ts @@ -1,5 +1,6 @@ // GENERATED CODE! DO NOT MODIFY BY HAND! // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ExternalAgentConfigImportTypeResult } from "./ExternalAgentConfigImportTypeResult.js"; -export type ExternalAgentConfigImportCompletedNotification = Record; +export type ExternalAgentConfigImportCompletedNotification = { importId: string, itemTypeResults: Array, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportItemTypeFailure.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportItemTypeFailure.ts new file mode 100644 index 0000000000..ff3ed7696f --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportItemTypeFailure.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ExternalAgentConfigMigrationItemType } from "./ExternalAgentConfigMigrationItemType.js"; + +export type ExternalAgentConfigImportItemTypeFailure = { itemType: ExternalAgentConfigMigrationItemType, errorType: string | null, subErrorType: string | null, failureStage: string, message: string, cwd: string | null, source: string | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportItemTypeSuccess.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportItemTypeSuccess.ts new file mode 100644 index 0000000000..2c48ea1bc4 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportItemTypeSuccess.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ExternalAgentConfigMigrationItemType } from "./ExternalAgentConfigMigrationItemType.js"; + +export type ExternalAgentConfigImportItemTypeSuccess = { itemType: ExternalAgentConfigMigrationItemType, cwd: string | null, source: string | null, target: string | null, +/** + * Original title for an imported session; null for other item types. + */ +title: string | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportProgressNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportProgressNotification.ts new file mode 100644 index 0000000000..34fdcbfd6b --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportProgressNotification.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ExternalAgentConfigImportTypeResult } from "./ExternalAgentConfigImportTypeResult.js"; + +export type ExternalAgentConfigImportProgressNotification = { importId: string, itemTypeResults: Array, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportTypeResult.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportTypeResult.ts new file mode 100644 index 0000000000..05edae0b5b --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigImportTypeResult.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ExternalAgentConfigImportItemTypeFailure } from "./ExternalAgentConfigImportItemTypeFailure.js"; +import type { ExternalAgentConfigImportItemTypeSuccess } from "./ExternalAgentConfigImportItemTypeSuccess.js"; +import type { ExternalAgentConfigMigrationItemType } from "./ExternalAgentConfigMigrationItemType.js"; + +export type ExternalAgentConfigImportTypeResult = { itemType: ExternalAgentConfigMigrationItemType, successes: Array, failures: Array, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigMigrationItemType.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigMigrationItemType.ts new file mode 100644 index 0000000000..b356690e3c --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ExternalAgentConfigMigrationItemType.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ExternalAgentConfigMigrationItemType = "AGENTS_MD" | "CONFIG" | "SKILLS" | "PLUGINS" | "MCP_SERVER_CONFIG" | "SUBAGENTS" | "HOOKS" | "COMMANDS" | "MEMORY" | "SESSIONS"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/FileSystemPath.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/FileSystemPath.ts index e216eda89d..004ab3a9d7 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/FileSystemPath.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/FileSystemPath.ts @@ -1,7 +1,7 @@ // GENERATED CODE! DO NOT MODIFY BY HAND! // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { LegacyAppPathString } from "../LegacyAppPathString.js"; import type { FileSystemSpecialPath } from "./FileSystemSpecialPath.js"; -export type FileSystemPath = { "type": "path", path: AbsolutePathBuf, } | { "type": "glob_pattern", pattern: string, } | { "type": "special", value: FileSystemSpecialPath, }; +export type FileSystemPath = { "type": "path", path: LegacyAppPathString, } | { "type": "glob_pattern", pattern: string, } | { "type": "special", value: FileSystemSpecialPath, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/FileSystemSpecialPath.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/FileSystemSpecialPath.ts index f4dc2b01e6..279fc043e9 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/FileSystemSpecialPath.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/FileSystemSpecialPath.ts @@ -1,5 +1,6 @@ // GENERATED CODE! DO NOT MODIFY BY HAND! // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { LegacyAppPathString } from "../LegacyAppPathString.js"; -export type FileSystemSpecialPath = { "kind": "root" } | { "kind": "minimal" } | { "kind": "project_roots", subpath: string | null, } | { "kind": "tmpdir" } | { "kind": "slash_tmp" } | { "kind": "unknown", path: string, subpath: string | null, }; +export type FileSystemSpecialPath = { "kind": "root" } | { "kind": "minimal" } | { "kind": "project_roots", subpath: LegacyAppPathString | null, } | { "kind": "tmpdir" } | { "kind": "slash_tmp" } | { "kind": "unknown", path: string, subpath: LegacyAppPathString | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/HookEventName.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/HookEventName.ts index 477476289d..ae8a7f389f 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/HookEventName.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/HookEventName.ts @@ -2,4 +2,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export type HookEventName = "preToolUse" | "permissionRequest" | "postToolUse" | "preCompact" | "postCompact" | "sessionStart" | "userPromptSubmit" | "subagentStart" | "subagentStop" | "stop"; +export type HookEventName = "preToolUse" | "permissionRequest" | "postToolUse" | "preCompact" | "postCompact" | "sessionStart" | "sessionEnd" | "userPromptSubmit" | "subagentStart" | "subagentStop" | "stop"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/HookHandlerType.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/HookHandlerType.ts index dc3f087bff..7dd671e942 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/HookHandlerType.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/HookHandlerType.ts @@ -2,4 +2,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export type HookHandlerType = "command" | "prompt" | "agent"; +export type HookHandlerType = "command" | "mcpTool" | "prompt" | "agent"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpServerOauthLoginCompletedNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpServerOauthLoginCompletedNotification.ts index 592860ae39..cfa6603094 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpServerOauthLoginCompletedNotification.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpServerOauthLoginCompletedNotification.ts @@ -2,4 +2,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export type McpServerOauthLoginCompletedNotification = { name: string, success: boolean, error?: string, }; +export type McpServerOauthLoginCompletedNotification = { name: string, threadId: string | null, success: boolean, error?: string, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpServerStartupFailureReason.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpServerStartupFailureReason.ts new file mode 100644 index 0000000000..0373e5444b --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpServerStartupFailureReason.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type McpServerStartupFailureReason = "reauthenticationRequired"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpServerStatusUpdatedNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpServerStatusUpdatedNotification.ts index 92e6717704..e11316f07d 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpServerStatusUpdatedNotification.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpServerStatusUpdatedNotification.ts @@ -1,6 +1,7 @@ // GENERATED CODE! DO NOT MODIFY BY HAND! // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { McpServerStartupFailureReason } from "./McpServerStartupFailureReason.js"; import type { McpServerStartupState } from "./McpServerStartupState.js"; -export type McpServerStatusUpdatedNotification = { threadId: string | null, name: string, status: McpServerStartupState, error: string | null, }; +export type McpServerStatusUpdatedNotification = { threadId: string | null, name: string, status: McpServerStartupState, error: string | null, failureReason: McpServerStartupFailureReason | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpToolCallAppContext.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpToolCallAppContext.ts new file mode 100644 index 0000000000..28c2845327 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/McpToolCallAppContext.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type McpToolCallAppContext = { connectorId: string, linkId: string | null, resourceUri: string | null, appName: string | null, actionName: string | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ModelSafetyBufferingUpdatedNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ModelSafetyBufferingUpdatedNotification.ts new file mode 100644 index 0000000000..5abc9f3bf6 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ModelSafetyBufferingUpdatedNotification.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ModelSafetyBufferingUpdatedNotification = { threadId: string, turnId: string, model: string, useCases: Array, reasons: Array, showBufferingUi: boolean, fasterModel: string | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ProjectChangeType.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ProjectChangeType.ts new file mode 100644 index 0000000000..7c589c04e0 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ProjectChangeType.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ProjectChangeType = "created" | "updated" | "deleted"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ProjectChangedNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ProjectChangedNotification.ts new file mode 100644 index 0000000000..50ce429220 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ProjectChangedNotification.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ProjectChangeType } from "./ProjectChangeType.js"; + +export type ProjectChangedNotification = { projectId: string, changeType: ProjectChangeType, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/RateLimitSnapshot.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/RateLimitSnapshot.ts index 2743148107..b2f703678d 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/RateLimitSnapshot.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/RateLimitSnapshot.ts @@ -7,4 +7,8 @@ import type { RateLimitReachedType } from "./RateLimitReachedType.js"; import type { RateLimitWindow } from "./RateLimitWindow.js"; import type { SpendControlLimitSnapshot } from "./SpendControlLimitSnapshot.js"; -export type RateLimitSnapshot = { limitId: string | null, limitName: string | null, primary: RateLimitWindow | null, secondary: RateLimitWindow | null, credits: CreditsSnapshot | null, individualLimit: SpendControlLimitSnapshot | null, planType: PlanType | null, rateLimitReachedType: RateLimitReachedType | null, }; +export type RateLimitSnapshot = { limitId: string | null, limitName: string | null, primary: RateLimitWindow | null, secondary: RateLimitWindow | null, credits: CreditsSnapshot | null, individualLimit: SpendControlLimitSnapshot | null, +/** + * Backend-reported spend-control state. `None` is unavailable, not a sparse-update recovery. + */ +spendControlReached: boolean | null, planType: PlanType | null, rateLimitReachedType: RateLimitReachedType | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/RawResponseCompletedNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/RawResponseCompletedNotification.ts new file mode 100644 index 0000000000..4a4f111567 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/RawResponseCompletedNotification.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { TokenUsageBreakdown } from "./TokenUsageBreakdown.js"; + +/** + * Internal-only notification containing the exact usage from one upstream + * Responses API completion. + */ +export type RawResponseCompletedNotification = { threadId: string, turnId: string, responseId: string, usage: TokenUsageBreakdown | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/StrictReviewRequiredNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/StrictReviewRequiredNotification.ts new file mode 100644 index 0000000000..cae1a579d3 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/StrictReviewRequiredNotification.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type StrictReviewRequiredNotification = { threadId: string, turnId: string, +/** + * Unix timestamp (in milliseconds) when this review started. + */ +startedAtMs: number, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/SubAgentActivityKind.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/SubAgentActivityKind.ts new file mode 100644 index 0000000000..5e3ce81e01 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/SubAgentActivityKind.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type SubAgentActivityKind = "started" | "interacted" | "interrupted"; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/Thread.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/Thread.ts index c0b8355790..f46a9bcc98 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/Thread.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/Thread.ts @@ -4,87 +4,84 @@ import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; import type { GitInfo } from "./GitInfo.js"; import type { SessionSource } from "./SessionSource.js"; +import type { ThreadSection } from "./ThreadSection.js"; import type { ThreadSource } from "./ThreadSource.js"; import type { ThreadStatus } from "./ThreadStatus.js"; import type { Turn } from "./Turn.js"; -export type Thread = { id: string, -/** +export type Thread = {/** + * Identifier for this thread. Codex-generated thread IDs are UUIDv7. + */ +id: string, /** * Session id shared by threads that belong to the same session tree. */ -sessionId: string, -/** +sessionId: string, /** * Source thread id when this thread was created by forking another thread. */ -forkedFromId: string | null, -/** +forkedFromId: string | null, /** * The ID of the parent thread. This will only be set if this thread is a subagent. */ -parentThreadId: string | null, -/** +parentThreadId: string | null, /** * Usually the first user message in the thread, if available. */ -preview: string, -/** +preview: string, /** * Whether the thread is ephemeral and should not be materialized on disk. */ -ephemeral: boolean, -/** +ephemeral: boolean, /** + * The independently persisted section selected for this thread, if any. + */ +section: ThreadSection | null, /** + * Unix timestamp in seconds when the thread entered its current section. + */ +sectionEnteredAt: number | null, /** + * Canonical project assignment owned by app-server, if any. + */ +projectId: string | null, /** * Model provider used for this thread (for example, 'openai'). */ -modelProvider: string, -/** +modelProvider: string, /** * Unix timestamp (in seconds) when the thread was created. */ -createdAt: number, -/** +createdAt: number, /** * Unix timestamp (in seconds) when the thread was last updated. */ -updatedAt: number, -/** +updatedAt: number, /** + * Unix timestamp (in seconds) used for thread recency ordering. + */ +recencyAt: number | null, /** * Current runtime status for the thread. */ -status: ThreadStatus, -/** +status: ThreadStatus, /** * [UNSTABLE] Path to the thread on disk. */ -path: string | null, -/** +path: string | null, /** * Working directory captured for the thread. */ -cwd: AbsolutePathBuf, -/** +cwd: AbsolutePathBuf, /** * Version of the CLI that created the thread. */ -cliVersion: string, -/** +cliVersion: string, /** * Origin of the thread (CLI, VSCode, codex exec, codex app-server, etc.). */ -source: SessionSource, -/** +source: SessionSource, /** * Optional analytics source classification for this thread. */ -threadSource: ThreadSource | null, -/** +threadSource: ThreadSource | null, /** * Optional random unique nickname assigned to an AgentControl-spawned sub-agent. */ -agentNickname: string | null, -/** +agentNickname: string | null, /** * Optional role (agent_role) assigned to an AgentControl-spawned sub-agent. */ -agentRole: string | null, -/** +agentRole: string | null, /** * Optional Git metadata captured when the thread was created. */ -gitInfo: GitInfo | null, -/** +gitInfo: GitInfo | null, /** * Optional user-facing thread title. */ -name: string | null, -/** +name: string | null, /** * 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. */ -turns: Array, }; +turns: Array}; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadDeletedNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadDeletedNotification.ts new file mode 100644 index 0000000000..5122a2229c --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadDeletedNotification.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ThreadDeletedNotification = { threadId: string, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadItem.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadItem.ts index 4ffe052bf5..f1c724873f 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadItem.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadItem.ts @@ -1,10 +1,14 @@ // GENERATED CODE! DO NOT MODIFY BY HAND! // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { ImageGenerationItem } from "../ImageGenerationItem.js"; +import type { LegacyAppPathString } from "../LegacyAppPathString.js"; import type { MessagePhase } from "../MessagePhase.js"; import type { ReasoningEffort } from "../ReasoningEffort.js"; +import type { SleepItem } from "../SleepItem.js"; +import type { WebSearchItem } from "../WebSearchItem.js"; import type { JsonValue } from "../serde_json/JsonValue.js"; +import type { AgentMessageDelivery } from "./AgentMessageDelivery.js"; import type { CollabAgentState } from "./CollabAgentState.js"; import type { CollabAgentTool } from "./CollabAgentTool.js"; import type { CollabAgentToolCallStatus } from "./CollabAgentToolCallStatus.js"; @@ -15,15 +19,24 @@ import type { DynamicToolCallOutputContentItem } from "./DynamicToolCallOutputCo import type { DynamicToolCallStatus } from "./DynamicToolCallStatus.js"; import type { FileUpdateChange } from "./FileUpdateChange.js"; import type { HookPromptFragment } from "./HookPromptFragment.js"; +import type { McpToolCallAppContext } from "./McpToolCallAppContext.js"; import type { McpToolCallError } from "./McpToolCallError.js"; import type { McpToolCallResult } from "./McpToolCallResult.js"; import type { McpToolCallStatus } from "./McpToolCallStatus.js"; import type { MemoryCitation } from "./MemoryCitation.js"; import type { PatchApplyStatus } from "./PatchApplyStatus.js"; +import type { SubAgentActivityKind } from "./SubAgentActivityKind.js"; import type { UserInput } from "./UserInput.js"; -import type { WebSearchAction } from "./WebSearchAction.js"; -export type ThreadItem = { "type": "userMessage", id: string, clientId: string | null, content: Array, } | { "type": "hookPrompt", id: string, fragments: Array, } | { "type": "agentMessage", id: string, text: string, phase: MessagePhase | null, memoryCitation: MemoryCitation | null, } | { "type": "plan", id: string, text: string, } | { "type": "reasoning", id: string, summary: Array, content: Array, } | { "type": "commandExecution", id: string, +export type ThreadItem = { "type": "userMessage", id: string, clientId: string | null, content: Array, } | { "type": "hookPrompt", id: string, fragments: Array, } | { "type": "agentMessage", id: string, text: string, phase: MessagePhase | null, memoryCitation: MemoryCitation | null, delivery: AgentMessageDelivery | null, } | { "type": "plan", id: string, text: string, } | { "type": "reasoning", id: string, summary: Array, content: Array, } | { "type": "commandExecution", id: string, +/** + * Trusted first-party plugin id when this command resolves to one plugin script. + */ +pluginId: string | null, +/** + * Safe plugin-relative path when this command resolves to one plugin script. + */ +scriptPath: string | null, /** * The command to be executed. */ @@ -31,7 +44,7 @@ command: string, /** * The command's working directory. */ -cwd: AbsolutePathBuf, +cwd: LegacyAppPathString, /** * Identifier for the underlying PTY process (when available). */ @@ -53,7 +66,11 @@ exitCode: number | null, /** * The duration of the command execution in milliseconds. */ -durationMs: number | null, } | { "type": "fileChange", id: string, changes: Array, status: PatchApplyStatus, } | { "type": "mcpToolCall", id: string, server: string, tool: string, status: McpToolCallStatus, arguments: JsonValue, mcpAppResourceUri?: string, pluginId: string | null, result: McpToolCallResult | null, error: McpToolCallError | null, +durationMs: number | null, } | { "type": "fileChange", id: string, changes: Array, status: PatchApplyStatus, } | { "type": "mcpToolCall", id: string, server: string, tool: string, status: McpToolCallStatus, arguments: JsonValue, appContext: McpToolCallAppContext | null, +/** + * Deprecated: use `appContext.resourceUri` instead. + */ +mcpAppResourceUri?: string, pluginId: string | null, readOnlyHint: boolean | null, result: McpToolCallResult | null, error: McpToolCallError | null, /** * The duration of the MCP tool call in milliseconds. */ @@ -98,4 +115,4 @@ reasoningEffort: ReasoningEffort | null, /** * Last known status of the target agents, when available. */ -agentsStates: { [key in string]?: CollabAgentState }, } | { "type": "webSearch", id: string, query: string, action: WebSearchAction | null, } | { "type": "imageView", id: string, path: AbsolutePathBuf, } | { "type": "imageGeneration", id: string, status: string, revisedPrompt: string | null, result: string, savedPath?: AbsolutePathBuf, } | { "type": "enteredReviewMode", id: string, review: string, } | { "type": "exitedReviewMode", id: string, review: string, } | { "type": "contextCompaction", id: string, }; +agentsStates: { [key in string]?: CollabAgentState }, } | { "type": "subAgentActivity", id: string, kind: SubAgentActivityKind, agentThreadId: string, agentPath: string, } | { "type": "webSearch" } & WebSearchItem | { "type": "imageView", id: string, path: LegacyAppPathString, } | { "type": "sleep" } & SleepItem | { "type": "imageGeneration" } & ImageGenerationItem | { "type": "enteredReviewMode", id: string, review: string, } | { "type": "exitedReviewMode", id: string, review: string, } | { "type": "contextCompaction", id: string, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadProjectUpdatedNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadProjectUpdatedNotification.ts new file mode 100644 index 0000000000..ca045f3a75 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadProjectUpdatedNotification.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ThreadProjectUpdatedNotification = { threadId: string, projectId: string | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadQueueChangedNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadQueueChangedNotification.ts new file mode 100644 index 0000000000..55fd1b25e2 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadQueueChangedNotification.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ThreadQueueChangedNotification = { threadId: string, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadRevertedNotification.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadRevertedNotification.ts new file mode 100644 index 0000000000..803d1cc7f9 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadRevertedNotification.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ThreadRevertedNotification = { threadId: string, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSection.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSection.ts new file mode 100644 index 0000000000..60e16832f1 --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSection.ts @@ -0,0 +1,21 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ThreadSectionAppearance } from "./ThreadSectionAppearance.js"; + +/** + * An independently persisted, user-visible thread section. + */ +export type ThreadSection = { +/** + * Opaque UUIDv7 identity that remains stable when the section is renamed. + */ +id: string, +/** + * The current user-visible section name. + */ +name: string, +/** + * Optional appearance synchronized across clients. + */ +appearance: ThreadSectionAppearance | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSectionAppearance.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSectionAppearance.ts new file mode 100644 index 0000000000..c6eab7343f --- /dev/null +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSectionAppearance.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Extensible visual presentation for a custom thread section. + */ +export type ThreadSectionAppearance = { icon: string | null, color: string | null, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSettings.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSettings.ts index 5bfe163307..503b4656ca 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSettings.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSettings.ts @@ -11,4 +11,4 @@ import type { ApprovalsReviewer } from "./ApprovalsReviewer.js"; import type { AskForApproval } from "./AskForApproval.js"; import type { SandboxPolicy } from "./SandboxPolicy.js"; -export type ThreadSettings = { cwd: AbsolutePathBuf, approvalPolicy: AskForApproval, approvalsReviewer: ApprovalsReviewer, sandboxPolicy: SandboxPolicy, activePermissionProfile: ActivePermissionProfile | null, model: string, modelProvider: string, serviceTier: string | null, effort: ReasoningEffort | null, summary: ReasoningSummary | null, collaborationMode: CollaborationMode, personality: Personality | null, }; +export type ThreadSettings = {cwd: AbsolutePathBuf, approvalPolicy: AskForApproval, approvalsReviewer: ApprovalsReviewer, sandboxPolicy: SandboxPolicy, activePermissionProfile: ActivePermissionProfile | null, model: string, modelProvider: string, serviceTier: string | null, effort: ReasoningEffort | null, summary: ReasoningSummary | null, collaborationMode: CollaborationMode, personality: Personality | null}; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSource.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSource.ts index 8f55524801..f27154ab6e 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSource.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/ThreadSource.ts @@ -2,4 +2,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export type ThreadSource = "user" | "subagent" | "memory_consolidation"; +export type ThreadSource = string; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/TokenUsageBreakdown.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/TokenUsageBreakdown.ts index 1d4e408fad..dbb1b1fbf1 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/TokenUsageBreakdown.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/TokenUsageBreakdown.ts @@ -2,4 +2,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export type TokenUsageBreakdown = { totalTokens: number, inputTokens: number, cachedInputTokens: number, outputTokens: number, reasoningOutputTokens: number, }; +export type TokenUsageBreakdown = { totalTokens: number, inputTokens: number, cachedInputTokens: number, cacheWriteInputTokens: number, outputTokens: number, reasoningOutputTokens: number, }; diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/Turn.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/Turn.ts index cffebc13b4..a46f913d9f 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/Turn.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/Turn.ts @@ -6,7 +6,11 @@ import type { TurnError } from "./TurnError.js"; import type { TurnItemsView } from "./TurnItemsView.js"; import type { TurnStatus } from "./TurnStatus.js"; -export type Turn = { id: string, +export type Turn = { +/** + * Identifier for this turn. Codex-generated turn IDs are UUIDv7. + */ +id: string, /** * Thread items currently included in this turn payload. */ diff --git a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/UserInput.ts b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/UserInput.ts index bcb90eba3c..a441b7390f 100644 --- a/plugins/provider-codex/src/generated/codex-app-server/schema/v2/UserInput.ts +++ b/plugins/provider-codex/src/generated/codex-app-server/schema/v2/UserInput.ts @@ -8,4 +8,4 @@ export type UserInput = { "type": "text", text: string, /** * UI-defined spans within `text` used to render or persist special elements. */ -text_elements: Array, } | { "type": "image", detail?: ImageDetail, url: string, } | { "type": "localImage", detail?: ImageDetail, path: string, } | { "type": "skill", name: string, path: string, } | { "type": "mention", name: string, path: string, }; +text_elements: Array, } | { "type": "image", detail?: ImageDetail, url: string, } | { "type": "localImage", detail?: ImageDetail, path: string, } | { "type": "audio", url: string, } | { "type": "localAudio", path: string, } | { "type": "skill", name: string, path: string, } | { "type": "mention", name: string, path: string, }; diff --git a/plugins/provider-codex/src/presentation.test.ts b/plugins/provider-codex/src/presentation.test.ts index f4d9be5b69..c600f19353 100644 --- a/plugins/provider-codex/src/presentation.test.ts +++ b/plugins/provider-codex/src/presentation.test.ts @@ -128,6 +128,7 @@ describe("every codex lifecycle delta carries a presentation", () => { text: "hi", phase: null, memoryCitation: null, + delivery: null, }, }, { diff --git a/plugins/provider-codex/src/session-params.test.ts b/plugins/provider-codex/src/session-params.test.ts index 35870ea09f..13151b6638 100644 --- a/plugins/provider-codex/src/session-params.test.ts +++ b/plugins/provider-codex/src/session-params.test.ts @@ -791,6 +791,7 @@ describe("toCodexDynamicTools", () => { ]), ).toEqual([ { + type: "function", name: "bb_test_ping", description: "Ping the host", inputSchema: { diff --git a/plugins/provider-codex/src/session-params.ts b/plugins/provider-codex/src/session-params.ts index 5773f441d0..ff7c1c3546 100644 --- a/plugins/provider-codex/src/session-params.ts +++ b/plugins/provider-codex/src/session-params.ts @@ -89,7 +89,6 @@ interface BuildCodexConfigArgs { threadId: string; } - interface RealpathContainedDirectoryArgs { candidatePath: string; trustedParentPath: string; @@ -686,6 +685,7 @@ export function toCodexDynamicTools( dynamicTools: readonly CodexDynamicToolInput[] | undefined, ): DynamicToolSpec[] | undefined { return dynamicTools?.map((tool) => ({ + type: "function", name: tool.name, description: tool.description, inputSchema: jsonValueSchema.parse(tool.inputSchema), diff --git a/plugins/provider-codex/src/translator.test.ts b/plugins/provider-codex/src/translator.test.ts index a242bce83e..787ac69912 100644 --- a/plugins/provider-codex/src/translator.test.ts +++ b/plugins/provider-codex/src/translator.test.ts @@ -359,6 +359,8 @@ function completedCommand(args: { command: "echo hi", cwd: "/tmp", processId: null, + pluginId: null, + scriptPath: null, source: "agent", status: "completed", commandActions: [], @@ -847,6 +849,7 @@ describe("codex subagent activity correlation", () => { text: "Audit complete.", phase: null, memoryCitation: null, + delivery: null, }, }), ), @@ -1559,6 +1562,8 @@ describe("codex delegation-turn nesting", () => { command: "/bin/zsh -lc 'sleep 20; echo CHILD_REAL_PROVIDER_DONE'", cwd: "/tmp", processId: null, + pluginId: null, + scriptPath: null, source: "agent", status: "inProgress", commandActions: [], @@ -1616,6 +1621,7 @@ describe("codex delegation-turn nesting", () => { text: "follow-up done", phase: null, memoryCitation: null, + delivery: null, }, }), ) @@ -1724,6 +1730,7 @@ describe("codex delegation-turn nesting", () => { text: "Child done.", phase: null, memoryCitation: null, + delivery: null, }, }), ), @@ -1802,6 +1809,7 @@ describe("codex delegation-turn nesting", () => { text: "Child done.", phase: null, memoryCitation: null, + delivery: null, }, }), ), diff --git a/plugins/provider-codex/src/visibility.ts b/plugins/provider-codex/src/visibility.ts index 52b048d9f9..8caa8b375f 100644 --- a/plugins/provider-codex/src/visibility.ts +++ b/plugins/provider-codex/src/visibility.ts @@ -10,11 +10,7 @@ import { } from "@get-bb/plugin-sdk/provider-bridge"; import type { ServerNotification } from "./generated/codex-app-server/schema/ServerNotification.js"; -type CodexServerNotificationMethod = - | ServerNotification["method"] - // Visibility can lead the independently refreshed generated schema when a - // newer installed Codex starts emitting a notification. - | "rawResponse/completed"; +type CodexServerNotificationMethod = ServerNotification["method"]; interface CodexNotificationRawEvent { kind: "notification"; @@ -51,11 +47,13 @@ const CODEX_SERVER_NOTIFICATION_METHODS = { "account/rateLimits/updated": true, "account/updated": true, "app/list/updated": true, + "autoApprovalReview/strictReviewRequired": true, "command/exec/outputDelta": true, configWarning: true, deprecationNotice: true, error: true, "externalAgentConfig/import/completed": true, + "externalAgentConfig/import/progress": true, "fs/changed": true, "fuzzyFileSearch/sessionCompleted": true, "fuzzyFileSearch/sessionUpdated": true, @@ -80,8 +78,10 @@ const CODEX_SERVER_NOTIFICATION_METHODS = { "mcpServer/startupStatus/updated": true, "model/verification": true, "model/rerouted": true, + "model/safetyBuffering/updated": true, "process/exited": true, "process/outputDelta": true, + "project/changed": true, "rawResponse/completed": true, "rawResponseItem/completed": true, "remoteControl/status/changed": true, @@ -90,9 +90,14 @@ const CODEX_SERVER_NOTIFICATION_METHODS = { "thread/archived": true, "thread/closed": true, "thread/compacted": true, + "thread/deleted": true, + "thread/environment/connected": true, + "thread/environment/disconnected": true, "thread/goal/cleared": true, "thread/goal/updated": true, "thread/name/updated": true, + "thread/project/updated": true, + "thread/queue/changed": true, "thread/settings/updated": true, "thread/realtime/closed": true, "thread/realtime/error": true, @@ -102,6 +107,7 @@ const CODEX_SERVER_NOTIFICATION_METHODS = { "thread/realtime/started": true, "thread/realtime/transcript/delta": true, "thread/realtime/transcript/done": true, + "thread/reverted": true, "thread/started": true, "thread/status/changed": true, "thread/tokenUsage/updated": true, @@ -121,11 +127,13 @@ const CODEX_NOTIFICATION_COVERAGE = { "account/rateLimits/updated": "normalized", "account/updated": "unknown", "app/list/updated": "unknown", + "autoApprovalReview/strictReviewRequired": "unknown", "command/exec/outputDelta": "unknown", configWarning: "normalized", deprecationNotice: "normalized", error: "normalized", "externalAgentConfig/import/completed": "unknown", + "externalAgentConfig/import/progress": "unknown", "fs/changed": "unknown", "fuzzyFileSearch/sessionCompleted": "unknown", "fuzzyFileSearch/sessionUpdated": "unknown", @@ -152,6 +160,7 @@ const CODEX_NOTIFICATION_COVERAGE = { "mcpServer/startupStatus/updated": "noise", "model/verification": "unknown", "model/rerouted": "unknown", + "model/safetyBuffering/updated": "unknown", // Background-process gap: unlike Claude Code (which emits a task lifecycle for // Bash run_in_background, materialized as a background-command timeline row), // Codex has no model-facing "run in background" affordance. A model that @@ -161,6 +170,7 @@ const CODEX_NOTIFICATION_COVERAGE = { // there is nothing to surface — left "unknown" intentionally. "process/exited": "unknown", "process/outputDelta": "unknown", + "project/changed": "unknown", // Internal per-response accounting; thread/tokenUsage/updated carries the // user-facing token state. "rawResponse/completed": "noise", @@ -171,9 +181,14 @@ const CODEX_NOTIFICATION_COVERAGE = { "thread/archived": "noise", "thread/closed": "unknown", "thread/compacted": "normalized", + "thread/deleted": "unknown", + "thread/environment/connected": "unknown", + "thread/environment/disconnected": "unknown", "thread/goal/cleared": "normalized", "thread/goal/updated": "normalized", "thread/name/updated": "normalized", + "thread/project/updated": "unknown", + "thread/queue/changed": "unknown", "thread/settings/updated": "noise", "thread/realtime/closed": "unknown", "thread/realtime/error": "unknown", @@ -183,6 +198,7 @@ const CODEX_NOTIFICATION_COVERAGE = { "thread/realtime/started": "unknown", "thread/realtime/transcript/delta": "unknown", "thread/realtime/transcript/done": "unknown", + "thread/reverted": "unknown", "thread/started": "normalized", "thread/status/changed": "noise", "thread/tokenUsage/updated": "normalized",