diff --git a/README.md b/README.md index 6279cfcf..8a236f44 100644 --- a/README.md +++ b/README.md @@ -173,7 +173,7 @@ Codex Panel acts as a local Obsidian client for Codex App Server: | Key | Version | Policy | | ------------------------ | --------- | ---------------------------------------------------------- | | `obsidian.minAppVersion` | `1.12.0` | Track the latest patch for this Obsidian minor. | -| `codex.testedCliVersion` | `0.140.0` | Track app-server compatibility by Codex CLI minor version. | +| `codex.testedCliVersion` | `0.141.0` | Track app-server compatibility by Codex CLI minor version. | Codex Panel depends on the experimental `codex app-server` API. diff --git a/src/features/chat/app-server/mappers/message-stream/turn-items.ts b/src/features/chat/app-server/mappers/message-stream/turn-items.ts index 4adc8ec2..f0cedcf0 100644 --- a/src/features/chat/app-server/mappers/message-stream/turn-items.ts +++ b/src/features/chat/app-server/mappers/message-stream/turn-items.ts @@ -23,6 +23,7 @@ type McpToolCallItem = Extract; type DynamicToolCallItem = Extract; type WebSearchItem = Extract; type ImageViewItem = Extract; +type SleepItem = Extract; type ImageGenerationItem = Extract; type ReviewModeItem = Extract | Extract; type ContextCompactionItem = Extract; @@ -97,6 +98,8 @@ function messageStreamItemFromTurnItemCore(item: TurnItem, turnId?: string): Mes return webSearchMessageStreamItem(item, turnId); case "imageView": return imageViewMessageStreamItem(item, turnId); + case "sleep": + return sleepMessageStreamItem(item, turnId); case "imageGeneration": return imageGenerationMessageStreamItem(item, turnId); case "subAgentActivity": @@ -267,6 +270,18 @@ function imageViewMessageStreamItem(item: ImageViewItem, turnId?: string): Messa }; } +function sleepMessageStreamItem(item: SleepItem, turnId?: string): MessageStreamItem { + return { + ...turnItemSourceFields(item, turnId), + kind: "tool", + role: "tool", + toolName: "sleep", + primaryTarget: { kind: "value", value: `${String(item.durationMs)} ms` }, + output: "", + executionState: "completed", + }; +} + function imageGenerationMessageStreamItem(item: ImageGenerationItem, turnId?: string): MessageStreamItem { const target = item.savedPath ?? item.result; const failureReason = failedStatusLabel(item.status); diff --git a/src/generated/app-server/ApiPathString.ts b/src/generated/app-server/ApiPathString.ts new file mode 100644 index 00000000..ba5a3a96 --- /dev/null +++ b/src/generated/app-server/ApiPathString.ts @@ -0,0 +1,26 @@ +// 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 convert + * from [`AbsolutePathBuf`] or use [`Self::from_path_uri`] 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 accepts any UTF-8 string without interpreting or validating + * it. That unrestricted construction path is intentionally available only to + * serde: Codex-internal code cannot construct this type directly from a raw + * `String` and is instead encouraged to convert through [`PathUri`] or + * [`AbsolutePathBuf`]. Relative path text remains valid until an operation + * such as [`Self::to_path_uri`] requires an absolute path. + */ +export type ApiPathString = string; diff --git a/src/generated/app-server/ClientRequest.ts b/src/generated/app-server/ClientRequest.ts index 80e64da2..fe9e9fff 100644 --- a/src/generated/app-server/ClientRequest.ts +++ b/src/generated/app-server/ClientRequest.ts @@ -20,6 +20,7 @@ import type { CommandExecWriteParams } from "./v2/CommandExecWriteParams"; import type { ConfigBatchWriteParams } from "./v2/ConfigBatchWriteParams"; import type { ConfigReadParams } from "./v2/ConfigReadParams"; import type { ConfigValueWriteParams } from "./v2/ConfigValueWriteParams"; +import type { ConsumeAccountRateLimitResetCreditParams } from "./v2/ConsumeAccountRateLimitResetCreditParams"; import type { EnvironmentAddParams } from "./v2/EnvironmentAddParams"; import type { ExperimentalFeatureEnablementSetParams } from "./v2/ExperimentalFeatureEnablementSetParams"; import type { ExperimentalFeatureListParams } from "./v2/ExperimentalFeatureListParams"; @@ -95,6 +96,7 @@ import type { ThreadMemoryModeSetParams } from "./v2/ThreadMemoryModeSetParams"; import type { ThreadMetadataUpdateParams } from "./v2/ThreadMetadataUpdateParams"; import type { ThreadReadParams } from "./v2/ThreadReadParams"; import type { ThreadRealtimeAppendAudioParams } from "./v2/ThreadRealtimeAppendAudioParams"; +import type { ThreadRealtimeAppendSpeechParams } from "./v2/ThreadRealtimeAppendSpeechParams"; import type { ThreadRealtimeAppendTextParams } from "./v2/ThreadRealtimeAppendTextParams"; import type { ThreadRealtimeListVoicesParams } from "./v2/ThreadRealtimeListVoicesParams"; import type { ThreadRealtimeStartParams } from "./v2/ThreadRealtimeStartParams"; @@ -118,4 +120,4 @@ import type { WindowsSandboxSetupStartParams } from "./v2/WindowsSandboxSetupSta /** * Request from the client to the server. */ -export type ClientRequest = { "method": "initialize", id: RequestId, params: InitializeParams, } | { "method": "thread/start", id: RequestId, params: ThreadStartParams, } | { "method": "thread/resume", id: RequestId, params: ThreadResumeParams, } | { "method": "thread/fork", id: RequestId, params: ThreadForkParams, } | { "method": "thread/archive", id: RequestId, params: ThreadArchiveParams, } | { "method": "thread/delete", id: RequestId, params: ThreadDeleteParams, } | { "method": "thread/unsubscribe", id: RequestId, params: ThreadUnsubscribeParams, } | { "method": "thread/increment_elicitation", id: RequestId, params: ThreadIncrementElicitationParams, } | { "method": "thread/decrement_elicitation", id: RequestId, params: ThreadDecrementElicitationParams, } | { "method": "thread/name/set", id: RequestId, params: ThreadSetNameParams, } | { "method": "thread/goal/set", id: RequestId, params: ThreadGoalSetParams, } | { "method": "thread/goal/get", id: RequestId, params: ThreadGoalGetParams, } | { "method": "thread/goal/clear", id: RequestId, params: ThreadGoalClearParams, } | { "method": "thread/metadata/update", id: RequestId, params: ThreadMetadataUpdateParams, } | { "method": "thread/settings/update", id: RequestId, params: ThreadSettingsUpdateParams, } | { "method": "thread/memoryMode/set", id: RequestId, params: ThreadMemoryModeSetParams, } | { "method": "memory/reset", id: RequestId, params: undefined, } | { "method": "thread/unarchive", id: RequestId, params: ThreadUnarchiveParams, } | { "method": "thread/compact/start", id: RequestId, params: ThreadCompactStartParams, } | { "method": "thread/shellCommand", id: RequestId, params: ThreadShellCommandParams, } | { "method": "thread/approveGuardianDeniedAction", id: RequestId, params: ThreadApproveGuardianDeniedActionParams, } | { "method": "thread/backgroundTerminals/clean", id: RequestId, params: ThreadBackgroundTerminalsCleanParams, } | { "method": "thread/backgroundTerminals/list", id: RequestId, params: ThreadBackgroundTerminalsListParams, } | { "method": "thread/backgroundTerminals/terminate", id: RequestId, params: ThreadBackgroundTerminalsTerminateParams, } | { "method": "thread/rollback", id: RequestId, params: ThreadRollbackParams, } | { "method": "thread/list", id: RequestId, params: ThreadListParams, } | { "method": "thread/search", id: RequestId, params: ThreadSearchParams, } | { "method": "thread/loaded/list", id: RequestId, params: ThreadLoadedListParams, } | { "method": "thread/read", id: RequestId, params: ThreadReadParams, } | { "method": "thread/turns/list", id: RequestId, params: ThreadTurnsListParams, } | { "method": "thread/turns/items/list", id: RequestId, params: ThreadTurnsItemsListParams, } | { "method": "thread/inject_items", id: RequestId, params: ThreadInjectItemsParams, } | { "method": "skills/list", id: RequestId, params: SkillsListParams, } | { "method": "skills/extraRoots/set", id: RequestId, params: SkillsExtraRootsSetParams, } | { "method": "hooks/list", id: RequestId, params: HooksListParams, } | { "method": "marketplace/add", id: RequestId, params: MarketplaceAddParams, } | { "method": "marketplace/remove", id: RequestId, params: MarketplaceRemoveParams, } | { "method": "marketplace/upgrade", id: RequestId, params: MarketplaceUpgradeParams, } | { "method": "plugin/list", id: RequestId, params: PluginListParams, } | { "method": "plugin/installed", id: RequestId, params: PluginInstalledParams, } | { "method": "plugin/read", id: RequestId, params: PluginReadParams, } | { "method": "plugin/skill/read", id: RequestId, params: PluginSkillReadParams, } | { "method": "plugin/share/save", id: RequestId, params: PluginShareSaveParams, } | { "method": "plugin/share/updateTargets", id: RequestId, params: PluginShareUpdateTargetsParams, } | { "method": "plugin/share/list", id: RequestId, params: PluginShareListParams, } | { "method": "plugin/share/checkout", id: RequestId, params: PluginShareCheckoutParams, } | { "method": "plugin/share/delete", id: RequestId, params: PluginShareDeleteParams, } | { "method": "app/list", id: RequestId, params: AppsListParams, } | { "method": "fs/readFile", id: RequestId, params: FsReadFileParams, } | { "method": "fs/writeFile", id: RequestId, params: FsWriteFileParams, } | { "method": "fs/createDirectory", id: RequestId, params: FsCreateDirectoryParams, } | { "method": "fs/getMetadata", id: RequestId, params: FsGetMetadataParams, } | { "method": "fs/readDirectory", id: RequestId, params: FsReadDirectoryParams, } | { "method": "fs/remove", id: RequestId, params: FsRemoveParams, } | { "method": "fs/copy", id: RequestId, params: FsCopyParams, } | { "method": "fs/watch", id: RequestId, params: FsWatchParams, } | { "method": "fs/unwatch", id: RequestId, params: FsUnwatchParams, } | { "method": "skills/config/write", id: RequestId, params: SkillsConfigWriteParams, } | { "method": "plugin/install", id: RequestId, params: PluginInstallParams, } | { "method": "plugin/uninstall", id: RequestId, params: PluginUninstallParams, } | { "method": "turn/start", id: RequestId, params: TurnStartParams, } | { "method": "turn/steer", id: RequestId, params: TurnSteerParams, } | { "method": "turn/interrupt", id: RequestId, params: TurnInterruptParams, } | { "method": "thread/realtime/start", id: RequestId, params: ThreadRealtimeStartParams, } | { "method": "thread/realtime/appendAudio", id: RequestId, params: ThreadRealtimeAppendAudioParams, } | { "method": "thread/realtime/appendText", id: RequestId, params: ThreadRealtimeAppendTextParams, } | { "method": "thread/realtime/stop", id: RequestId, params: ThreadRealtimeStopParams, } | { "method": "thread/realtime/listVoices", id: RequestId, params: ThreadRealtimeListVoicesParams, } | { "method": "review/start", id: RequestId, params: ReviewStartParams, } | { "method": "model/list", id: RequestId, params: ModelListParams, } | { "method": "modelProvider/capabilities/read", id: RequestId, params: ModelProviderCapabilitiesReadParams, } | { "method": "experimentalFeature/list", id: RequestId, params: ExperimentalFeatureListParams, } | { "method": "permissionProfile/list", id: RequestId, params: PermissionProfileListParams, } | { "method": "experimentalFeature/enablement/set", id: RequestId, params: ExperimentalFeatureEnablementSetParams, } | { "method": "remoteControl/enable", id: RequestId, params: RemoteControlEnableParams | null, } | { "method": "remoteControl/disable", id: RequestId, params: RemoteControlDisableParams | null, } | { "method": "remoteControl/status/read", id: RequestId, params: undefined, } | { "method": "remoteControl/pairing/start", id: RequestId, params: RemoteControlPairingStartParams, } | { "method": "remoteControl/pairing/status", id: RequestId, params: RemoteControlPairingStatusParams, } | { "method": "remoteControl/client/list", id: RequestId, params: RemoteControlClientsListParams, } | { "method": "remoteControl/client/revoke", id: RequestId, params: RemoteControlClientsRevokeParams, } | { "method": "collaborationMode/list", id: RequestId, params: CollaborationModeListParams, } | { "method": "mock/experimentalMethod", id: RequestId, params: MockExperimentalMethodParams, } | { "method": "environment/add", id: RequestId, params: EnvironmentAddParams, } | { "method": "mcpServer/oauth/login", id: RequestId, params: McpServerOauthLoginParams, } | { "method": "config/mcpServer/reload", id: RequestId, params: undefined, } | { "method": "mcpServerStatus/list", id: RequestId, params: ListMcpServerStatusParams, } | { "method": "mcpServer/resource/read", id: RequestId, params: McpResourceReadParams, } | { "method": "mcpServer/tool/call", id: RequestId, params: McpServerToolCallParams, } | { "method": "windowsSandbox/setupStart", id: RequestId, params: WindowsSandboxSetupStartParams, } | { "method": "windowsSandbox/readiness", id: RequestId, params: undefined, } | { "method": "account/login/start", id: RequestId, params: LoginAccountParams, } | { "method": "account/login/cancel", id: RequestId, params: CancelLoginAccountParams, } | { "method": "account/logout", id: RequestId, params: undefined, } | { "method": "account/rateLimits/read", id: RequestId, params: undefined, } | { "method": "account/usage/read", id: RequestId, params: undefined, } | { "method": "account/sendAddCreditsNudgeEmail", id: RequestId, params: SendAddCreditsNudgeEmailParams, } | { "method": "feedback/upload", id: RequestId, params: FeedbackUploadParams, } | { "method": "command/exec", id: RequestId, params: CommandExecParams, } | { "method": "command/exec/write", id: RequestId, params: CommandExecWriteParams, } | { "method": "command/exec/terminate", id: RequestId, params: CommandExecTerminateParams, } | { "method": "command/exec/resize", id: RequestId, params: CommandExecResizeParams, } | { "method": "process/spawn", id: RequestId, params: ProcessSpawnParams, } | { "method": "process/writeStdin", id: RequestId, params: ProcessWriteStdinParams, } | { "method": "process/kill", id: RequestId, params: ProcessKillParams, } | { "method": "process/resizePty", id: RequestId, params: ProcessResizePtyParams, } | { "method": "config/read", id: RequestId, params: ConfigReadParams, } | { "method": "externalAgentConfig/detect", id: RequestId, params: ExternalAgentConfigDetectParams, } | { "method": "externalAgentConfig/import", id: RequestId, params: ExternalAgentConfigImportParams, } | { "method": "config/value/write", id: RequestId, params: ConfigValueWriteParams, } | { "method": "config/batchWrite", id: RequestId, params: ConfigBatchWriteParams, } | { "method": "configRequirements/read", id: RequestId, params: undefined, } | { "method": "account/read", id: RequestId, params: GetAccountParams, } | { "method": "getConversationSummary", id: RequestId, params: GetConversationSummaryParams, } | { "method": "gitDiffToRemote", id: RequestId, params: GitDiffToRemoteParams, } | { "method": "getAuthStatus", id: RequestId, params: GetAuthStatusParams, } | { "method": "fuzzyFileSearch", id: RequestId, params: FuzzyFileSearchParams, } | { "method": "fuzzyFileSearch/sessionStart", id: RequestId, params: FuzzyFileSearchSessionStartParams, } | { "method": "fuzzyFileSearch/sessionUpdate", id: RequestId, params: FuzzyFileSearchSessionUpdateParams, } | { "method": "fuzzyFileSearch/sessionStop", id: RequestId, params: FuzzyFileSearchSessionStopParams, }; +export type ClientRequest = { "method": "initialize", id: RequestId, params: InitializeParams, } | { "method": "thread/start", id: RequestId, params: ThreadStartParams, } | { "method": "thread/resume", id: RequestId, params: ThreadResumeParams, } | { "method": "thread/fork", id: RequestId, params: ThreadForkParams, } | { "method": "thread/archive", id: RequestId, params: ThreadArchiveParams, } | { "method": "thread/delete", id: RequestId, params: ThreadDeleteParams, } | { "method": "thread/unsubscribe", id: RequestId, params: ThreadUnsubscribeParams, } | { "method": "thread/increment_elicitation", id: RequestId, params: ThreadIncrementElicitationParams, } | { "method": "thread/decrement_elicitation", id: RequestId, params: ThreadDecrementElicitationParams, } | { "method": "thread/name/set", id: RequestId, params: ThreadSetNameParams, } | { "method": "thread/goal/set", id: RequestId, params: ThreadGoalSetParams, } | { "method": "thread/goal/get", id: RequestId, params: ThreadGoalGetParams, } | { "method": "thread/goal/clear", id: RequestId, params: ThreadGoalClearParams, } | { "method": "thread/metadata/update", id: RequestId, params: ThreadMetadataUpdateParams, } | { "method": "thread/settings/update", id: RequestId, params: ThreadSettingsUpdateParams, } | { "method": "thread/memoryMode/set", id: RequestId, params: ThreadMemoryModeSetParams, } | { "method": "memory/reset", id: RequestId, params: undefined, } | { "method": "thread/unarchive", id: RequestId, params: ThreadUnarchiveParams, } | { "method": "thread/compact/start", id: RequestId, params: ThreadCompactStartParams, } | { "method": "thread/shellCommand", id: RequestId, params: ThreadShellCommandParams, } | { "method": "thread/approveGuardianDeniedAction", id: RequestId, params: ThreadApproveGuardianDeniedActionParams, } | { "method": "thread/backgroundTerminals/clean", id: RequestId, params: ThreadBackgroundTerminalsCleanParams, } | { "method": "thread/backgroundTerminals/list", id: RequestId, params: ThreadBackgroundTerminalsListParams, } | { "method": "thread/backgroundTerminals/terminate", id: RequestId, params: ThreadBackgroundTerminalsTerminateParams, } | { "method": "thread/rollback", id: RequestId, params: ThreadRollbackParams, } | { "method": "thread/list", id: RequestId, params: ThreadListParams, } | { "method": "thread/search", id: RequestId, params: ThreadSearchParams, } | { "method": "thread/loaded/list", id: RequestId, params: ThreadLoadedListParams, } | { "method": "thread/read", id: RequestId, params: ThreadReadParams, } | { "method": "thread/turns/list", id: RequestId, params: ThreadTurnsListParams, } | { "method": "thread/turns/items/list", id: RequestId, params: ThreadTurnsItemsListParams, } | { "method": "thread/inject_items", id: RequestId, params: ThreadInjectItemsParams, } | { "method": "skills/list", id: RequestId, params: SkillsListParams, } | { "method": "skills/extraRoots/set", id: RequestId, params: SkillsExtraRootsSetParams, } | { "method": "hooks/list", id: RequestId, params: HooksListParams, } | { "method": "marketplace/add", id: RequestId, params: MarketplaceAddParams, } | { "method": "marketplace/remove", id: RequestId, params: MarketplaceRemoveParams, } | { "method": "marketplace/upgrade", id: RequestId, params: MarketplaceUpgradeParams, } | { "method": "plugin/list", id: RequestId, params: PluginListParams, } | { "method": "plugin/installed", id: RequestId, params: PluginInstalledParams, } | { "method": "plugin/read", id: RequestId, params: PluginReadParams, } | { "method": "plugin/skill/read", id: RequestId, params: PluginSkillReadParams, } | { "method": "plugin/share/save", id: RequestId, params: PluginShareSaveParams, } | { "method": "plugin/share/updateTargets", id: RequestId, params: PluginShareUpdateTargetsParams, } | { "method": "plugin/share/list", id: RequestId, params: PluginShareListParams, } | { "method": "plugin/share/checkout", id: RequestId, params: PluginShareCheckoutParams, } | { "method": "plugin/share/delete", id: RequestId, params: PluginShareDeleteParams, } | { "method": "app/list", id: RequestId, params: AppsListParams, } | { "method": "fs/readFile", id: RequestId, params: FsReadFileParams, } | { "method": "fs/writeFile", id: RequestId, params: FsWriteFileParams, } | { "method": "fs/createDirectory", id: RequestId, params: FsCreateDirectoryParams, } | { "method": "fs/getMetadata", id: RequestId, params: FsGetMetadataParams, } | { "method": "fs/readDirectory", id: RequestId, params: FsReadDirectoryParams, } | { "method": "fs/remove", id: RequestId, params: FsRemoveParams, } | { "method": "fs/copy", id: RequestId, params: FsCopyParams, } | { "method": "fs/watch", id: RequestId, params: FsWatchParams, } | { "method": "fs/unwatch", id: RequestId, params: FsUnwatchParams, } | { "method": "skills/config/write", id: RequestId, params: SkillsConfigWriteParams, } | { "method": "plugin/install", id: RequestId, params: PluginInstallParams, } | { "method": "plugin/uninstall", id: RequestId, params: PluginUninstallParams, } | { "method": "turn/start", id: RequestId, params: TurnStartParams, } | { "method": "turn/steer", id: RequestId, params: TurnSteerParams, } | { "method": "turn/interrupt", id: RequestId, params: TurnInterruptParams, } | { "method": "thread/realtime/start", id: RequestId, params: ThreadRealtimeStartParams, } | { "method": "thread/realtime/appendAudio", id: RequestId, params: ThreadRealtimeAppendAudioParams, } | { "method": "thread/realtime/appendText", id: RequestId, params: ThreadRealtimeAppendTextParams, } | { "method": "thread/realtime/appendSpeech", id: RequestId, params: ThreadRealtimeAppendSpeechParams, } | { "method": "thread/realtime/stop", id: RequestId, params: ThreadRealtimeStopParams, } | { "method": "thread/realtime/listVoices", id: RequestId, params: ThreadRealtimeListVoicesParams, } | { "method": "review/start", id: RequestId, params: ReviewStartParams, } | { "method": "model/list", id: RequestId, params: ModelListParams, } | { "method": "modelProvider/capabilities/read", id: RequestId, params: ModelProviderCapabilitiesReadParams, } | { "method": "experimentalFeature/list", id: RequestId, params: ExperimentalFeatureListParams, } | { "method": "permissionProfile/list", id: RequestId, params: PermissionProfileListParams, } | { "method": "experimentalFeature/enablement/set", id: RequestId, params: ExperimentalFeatureEnablementSetParams, } | { "method": "remoteControl/enable", id: RequestId, params: RemoteControlEnableParams | null, } | { "method": "remoteControl/disable", id: RequestId, params: RemoteControlDisableParams | null, } | { "method": "remoteControl/status/read", id: RequestId, params: undefined, } | { "method": "remoteControl/pairing/start", id: RequestId, params: RemoteControlPairingStartParams, } | { "method": "remoteControl/pairing/status", id: RequestId, params: RemoteControlPairingStatusParams, } | { "method": "remoteControl/client/list", id: RequestId, params: RemoteControlClientsListParams, } | { "method": "remoteControl/client/revoke", id: RequestId, params: RemoteControlClientsRevokeParams, } | { "method": "collaborationMode/list", id: RequestId, params: CollaborationModeListParams, } | { "method": "mock/experimentalMethod", id: RequestId, params: MockExperimentalMethodParams, } | { "method": "environment/add", id: RequestId, params: EnvironmentAddParams, } | { "method": "mcpServer/oauth/login", id: RequestId, params: McpServerOauthLoginParams, } | { "method": "config/mcpServer/reload", id: RequestId, params: undefined, } | { "method": "mcpServerStatus/list", id: RequestId, params: ListMcpServerStatusParams, } | { "method": "mcpServer/resource/read", id: RequestId, params: McpResourceReadParams, } | { "method": "mcpServer/tool/call", id: RequestId, params: McpServerToolCallParams, } | { "method": "windowsSandbox/setupStart", id: RequestId, params: WindowsSandboxSetupStartParams, } | { "method": "windowsSandbox/readiness", id: RequestId, params: undefined, } | { "method": "account/login/start", id: RequestId, params: LoginAccountParams, } | { "method": "account/login/cancel", id: RequestId, params: CancelLoginAccountParams, } | { "method": "account/logout", id: RequestId, params: undefined, } | { "method": "account/rateLimits/read", id: RequestId, params: undefined, } | { "method": "account/rateLimitResetCredit/consume", id: RequestId, params: ConsumeAccountRateLimitResetCreditParams, } | { "method": "account/usage/read", id: RequestId, params: undefined, } | { "method": "account/sendAddCreditsNudgeEmail", id: RequestId, params: SendAddCreditsNudgeEmailParams, } | { "method": "feedback/upload", id: RequestId, params: FeedbackUploadParams, } | { "method": "command/exec", id: RequestId, params: CommandExecParams, } | { "method": "command/exec/write", id: RequestId, params: CommandExecWriteParams, } | { "method": "command/exec/terminate", id: RequestId, params: CommandExecTerminateParams, } | { "method": "command/exec/resize", id: RequestId, params: CommandExecResizeParams, } | { "method": "process/spawn", id: RequestId, params: ProcessSpawnParams, } | { "method": "process/writeStdin", id: RequestId, params: ProcessWriteStdinParams, } | { "method": "process/kill", id: RequestId, params: ProcessKillParams, } | { "method": "process/resizePty", id: RequestId, params: ProcessResizePtyParams, } | { "method": "config/read", id: RequestId, params: ConfigReadParams, } | { "method": "externalAgentConfig/detect", id: RequestId, params: ExternalAgentConfigDetectParams, } | { "method": "externalAgentConfig/import", id: RequestId, params: ExternalAgentConfigImportParams, } | { "method": "config/value/write", id: RequestId, params: ConfigValueWriteParams, } | { "method": "config/batchWrite", id: RequestId, params: ConfigBatchWriteParams, } | { "method": "configRequirements/read", id: RequestId, params: undefined, } | { "method": "account/read", id: RequestId, params: GetAccountParams, } | { "method": "getConversationSummary", id: RequestId, params: GetConversationSummaryParams, } | { "method": "gitDiffToRemote", id: RequestId, params: GitDiffToRemoteParams, } | { "method": "getAuthStatus", id: RequestId, params: GetAuthStatusParams, } | { "method": "fuzzyFileSearch", id: RequestId, params: FuzzyFileSearchParams, } | { "method": "fuzzyFileSearch/sessionStart", id: RequestId, params: FuzzyFileSearchSessionStartParams, } | { "method": "fuzzyFileSearch/sessionUpdate", id: RequestId, params: FuzzyFileSearchSessionUpdateParams, } | { "method": "fuzzyFileSearch/sessionStop", id: RequestId, params: FuzzyFileSearchSessionStopParams, }; diff --git a/src/generated/app-server/ResponseItem.ts b/src/generated/app-server/ResponseItem.ts index b90963db..5bd9a103 100644 --- a/src/generated/app-server/ResponseItem.ts +++ b/src/generated/app-server/ResponseItem.ts @@ -9,10 +9,11 @@ import type { LocalShellStatus } from "./LocalShellStatus"; import type { MessagePhase } from "./MessagePhase"; import type { ReasoningItemContent } from "./ReasoningItemContent"; import type { ReasoningItemReasoningSummary } from "./ReasoningItemReasoningSummary"; +import type { ResponseItemMetadata } from "./ResponseItemMetadata"; import type { WebSearchAction } from "./WebSearchAction"; -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", role: string, content: Array, phase?: MessagePhase, metadata?: ResponseItemMetadata, } | { "type": "agent_message", author: string, recipient: string, content: Array, metadata?: ResponseItemMetadata, } | { "type": "reasoning", summary: Array, content?: Array, encrypted_content: string | null, metadata?: ResponseItemMetadata, } | { "type": "local_shell_call", /** * 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, metadata?: ResponseItemMetadata, } | { "type": "function_call", name: string, namespace?: string, arguments: string, call_id: string, metadata?: ResponseItemMetadata, } | { "type": "tool_search_call", call_id: string | null, status?: string, execution: string, arguments: unknown, metadata?: ResponseItemMetadata, } | { "type": "function_call_output", call_id: string, output: FunctionCallOutputBody, metadata?: ResponseItemMetadata, } | { "type": "custom_tool_call", status?: string, call_id: string, name: string, input: string, metadata?: ResponseItemMetadata, } | { "type": "custom_tool_call_output", call_id: string, name?: string, output: FunctionCallOutputBody, metadata?: ResponseItemMetadata, } | { "type": "tool_search_output", call_id: string | null, status: string, execution: string, tools: unknown[], metadata?: ResponseItemMetadata, } | { "type": "web_search_call", status?: string, action?: WebSearchAction, metadata?: ResponseItemMetadata, } | { "type": "image_generation_call", id: string, status: string, revised_prompt?: string, result: string, metadata?: ResponseItemMetadata, } | { "type": "compaction", encrypted_content: string, metadata?: ResponseItemMetadata, } | { "type": "compaction_trigger", metadata?: ResponseItemMetadata, } | { "type": "context_compaction", encrypted_content?: string, metadata?: ResponseItemMetadata, } | { "type": "other" }; diff --git a/src/generated/app-server/ResponseItemMetadata.ts b/src/generated/app-server/ResponseItemMetadata.ts new file mode 100644 index 00000000..f7b69a6d --- /dev/null +++ b/src/generated/app-server/ResponseItemMetadata.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 ResponseItemMetadata = { turn_id?: string, }; diff --git a/src/generated/app-server/index.ts b/src/generated/app-server/index.ts index 3fb40024..a19bb8d3 100644 --- a/src/generated/app-server/index.ts +++ b/src/generated/app-server/index.ts @@ -3,6 +3,7 @@ export type { AbsolutePathBuf } from "./AbsolutePathBuf"; export type { AgentMessageInputContent } from "./AgentMessageInputContent"; export type { AgentPath } from "./AgentPath"; +export type { ApiPathString } from "./ApiPathString"; export type { ApplyPatchApprovalParams } from "./ApplyPatchApprovalParams"; export type { ApplyPatchApprovalResponse } from "./ApplyPatchApprovalResponse"; export type { AuthMode } from "./AuthMode"; @@ -72,6 +73,7 @@ export type { Resource } from "./Resource"; export type { ResourceContent } from "./ResourceContent"; export type { ResourceTemplate } from "./ResourceTemplate"; export type { ResponseItem } from "./ResponseItem"; +export type { ResponseItemMetadata } from "./ResponseItemMetadata"; export type { ReviewDecision } from "./ReviewDecision"; export type { ServerNotification } from "./ServerNotification"; export type { ServerRequest } from "./ServerRequest"; diff --git a/src/generated/app-server/v2/AdditionalFileSystemPermissions.ts b/src/generated/app-server/v2/AdditionalFileSystemPermissions.ts index e29263b9..68b1fb66 100644 --- a/src/generated/app-server/v2/AdditionalFileSystemPermissions.ts +++ b/src/generated/app-server/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"; +import type { ApiPathString } from "../ApiPathString"; import type { FileSystemSandboxEntry } from "./FileSystemSandboxEntry"; 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/src/generated/app-server/v2/ConsumeAccountRateLimitResetCreditOutcome.ts b/src/generated/app-server/v2/ConsumeAccountRateLimitResetCreditOutcome.ts new file mode 100644 index 00000000..d4139746 --- /dev/null +++ b/src/generated/app-server/v2/ConsumeAccountRateLimitResetCreditOutcome.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 ConsumeAccountRateLimitResetCreditOutcome = "reset" | "nothingToReset" | "noCredit" | "alreadyRedeemed"; diff --git a/src/generated/app-server/v2/ConsumeAccountRateLimitResetCreditParams.ts b/src/generated/app-server/v2/ConsumeAccountRateLimitResetCreditParams.ts new file mode 100644 index 00000000..c3cef64f --- /dev/null +++ b/src/generated/app-server/v2/ConsumeAccountRateLimitResetCreditParams.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. + +export type ConsumeAccountRateLimitResetCreditParams = { +/** + * Identifies one logical reset attempt. A UUID is recommended; reuse the same value when + * retrying that attempt. + */ +idempotencyKey: string, }; diff --git a/src/generated/app-server/v2/ConsumeAccountRateLimitResetCreditResponse.ts b/src/generated/app-server/v2/ConsumeAccountRateLimitResetCreditResponse.ts new file mode 100644 index 00000000..5b85e996 --- /dev/null +++ b/src/generated/app-server/v2/ConsumeAccountRateLimitResetCreditResponse.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 { ConsumeAccountRateLimitResetCreditOutcome } from "./ConsumeAccountRateLimitResetCreditOutcome"; + +export type ConsumeAccountRateLimitResetCreditResponse = { outcome: ConsumeAccountRateLimitResetCreditOutcome, }; diff --git a/src/generated/app-server/v2/DynamicToolFunctionSpec.ts b/src/generated/app-server/v2/DynamicToolFunctionSpec.ts new file mode 100644 index 00000000..50bcd427 --- /dev/null +++ b/src/generated/app-server/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"; + +export type DynamicToolFunctionSpec = { name: string, description: string, inputSchema: JsonValue, deferLoading?: boolean, }; diff --git a/src/generated/app-server/v2/DynamicToolNamespaceSpec.ts b/src/generated/app-server/v2/DynamicToolNamespaceSpec.ts new file mode 100644 index 00000000..fca1a29a --- /dev/null +++ b/src/generated/app-server/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"; + +export type DynamicToolNamespaceSpec = { name: string, description: string, tools: Array, }; diff --git a/src/generated/app-server/v2/DynamicToolNamespaceTool.ts b/src/generated/app-server/v2/DynamicToolNamespaceTool.ts new file mode 100644 index 00000000..da2fdf24 --- /dev/null +++ b/src/generated/app-server/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"; + +export type DynamicToolNamespaceTool = { "type": "function" } & DynamicToolFunctionSpec; diff --git a/src/generated/app-server/v2/DynamicToolSpec.ts b/src/generated/app-server/v2/DynamicToolSpec.ts index db486bf9..8f60e4ee 100644 --- a/src/generated/app-server/v2/DynamicToolSpec.ts +++ b/src/generated/app-server/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"; +import type { DynamicToolFunctionSpec } from "./DynamicToolFunctionSpec"; +import type { DynamicToolNamespaceSpec } from "./DynamicToolNamespaceSpec"; -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/src/generated/app-server/v2/ExternalAgentConfigImportCompletedNotification.ts b/src/generated/app-server/v2/ExternalAgentConfigImportCompletedNotification.ts index edb8f191..4616157f 100644 --- a/src/generated/app-server/v2/ExternalAgentConfigImportCompletedNotification.ts +++ b/src/generated/app-server/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"; -export type ExternalAgentConfigImportCompletedNotification = Record; +export type ExternalAgentConfigImportCompletedNotification = { importId: string, itemTypeResults: Array, }; diff --git a/src/generated/app-server/v2/ExternalAgentConfigImportItemTypeFailure.ts b/src/generated/app-server/v2/ExternalAgentConfigImportItemTypeFailure.ts new file mode 100644 index 00000000..97386cba --- /dev/null +++ b/src/generated/app-server/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"; + +export type ExternalAgentConfigImportItemTypeFailure = { itemType: ExternalAgentConfigMigrationItemType, failureStage: string, message: string, cwd: string | null, source: string | null, }; diff --git a/src/generated/app-server/v2/ExternalAgentConfigImportItemTypeSuccess.ts b/src/generated/app-server/v2/ExternalAgentConfigImportItemTypeSuccess.ts new file mode 100644 index 00000000..d94ad4a9 --- /dev/null +++ b/src/generated/app-server/v2/ExternalAgentConfigImportItemTypeSuccess.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"; + +export type ExternalAgentConfigImportItemTypeSuccess = { itemType: ExternalAgentConfigMigrationItemType, cwd: string | null, source: string | null, target: string | null, }; diff --git a/src/generated/app-server/v2/ExternalAgentConfigImportResponse.ts b/src/generated/app-server/v2/ExternalAgentConfigImportResponse.ts index 2ceddade..19af8945 100644 --- a/src/generated/app-server/v2/ExternalAgentConfigImportResponse.ts +++ b/src/generated/app-server/v2/ExternalAgentConfigImportResponse.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 ExternalAgentConfigImportResponse = Record; +export type ExternalAgentConfigImportResponse = { importId: string, }; diff --git a/src/generated/app-server/v2/ExternalAgentConfigImportTypeResult.ts b/src/generated/app-server/v2/ExternalAgentConfigImportTypeResult.ts new file mode 100644 index 00000000..466e92f2 --- /dev/null +++ b/src/generated/app-server/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"; +import type { ExternalAgentConfigImportItemTypeSuccess } from "./ExternalAgentConfigImportItemTypeSuccess"; +import type { ExternalAgentConfigMigrationItemType } from "./ExternalAgentConfigMigrationItemType"; + +export type ExternalAgentConfigImportTypeResult = { itemType: ExternalAgentConfigMigrationItemType, successes: Array, failures: Array, }; diff --git a/src/generated/app-server/v2/FileSystemPath.ts b/src/generated/app-server/v2/FileSystemPath.ts index 2efc7eab..0733c020 100644 --- a/src/generated/app-server/v2/FileSystemPath.ts +++ b/src/generated/app-server/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"; +import type { ApiPathString } from "../ApiPathString"; import type { FileSystemSpecialPath } from "./FileSystemSpecialPath"; -export type FileSystemPath = { "type": "path", path: AbsolutePathBuf, } | { "type": "glob_pattern", pattern: string, } | { "type": "special", value: FileSystemSpecialPath, }; +export type FileSystemPath = { "type": "path", path: ApiPathString, } | { "type": "glob_pattern", pattern: string, } | { "type": "special", value: FileSystemSpecialPath, }; diff --git a/src/generated/app-server/v2/GetAccountRateLimitsResponse.ts b/src/generated/app-server/v2/GetAccountRateLimitsResponse.ts index 02cc7779..af400634 100644 --- a/src/generated/app-server/v2/GetAccountRateLimitsResponse.ts +++ b/src/generated/app-server/v2/GetAccountRateLimitsResponse.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 { RateLimitResetCreditsSummary } from "./RateLimitResetCreditsSummary"; import type { RateLimitSnapshot } from "./RateLimitSnapshot"; export type GetAccountRateLimitsResponse = { @@ -11,4 +12,4 @@ rateLimits: RateLimitSnapshot, /** * Multi-bucket view keyed by metered `limit_id` (for example, `codex`). */ -rateLimitsByLimitId: { [key in string]?: RateLimitSnapshot } | null, }; +rateLimitsByLimitId: { [key in string]?: RateLimitSnapshot } | null, rateLimitResetCredits: RateLimitResetCreditsSummary | null, }; diff --git a/src/generated/app-server/v2/PluginListMarketplaceKind.ts b/src/generated/app-server/v2/PluginListMarketplaceKind.ts index 1be75e6f..8e1867d8 100644 --- a/src/generated/app-server/v2/PluginListMarketplaceKind.ts +++ b/src/generated/app-server/v2/PluginListMarketplaceKind.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 PluginListMarketplaceKind = "local" | "vertical" | "workspace-directory" | "shared-with-me"; +export type PluginListMarketplaceKind = "local" | "vertical" | "workspace-directory" | "shared-with-me" | "created-by-me-remote"; diff --git a/src/generated/app-server/v2/RateLimitResetCreditsSummary.ts b/src/generated/app-server/v2/RateLimitResetCreditsSummary.ts new file mode 100644 index 00000000..e42dd8a7 --- /dev/null +++ b/src/generated/app-server/v2/RateLimitResetCreditsSummary.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 RateLimitResetCreditsSummary = { availableCount: bigint, }; diff --git a/src/generated/app-server/v2/ThreadItem.ts b/src/generated/app-server/v2/ThreadItem.ts index 8d74ae8d..4ccab77b 100644 --- a/src/generated/app-server/v2/ThreadItem.ts +++ b/src/generated/app-server/v2/ThreadItem.ts @@ -99,4 +99,4 @@ reasoningEffort: ReasoningEffort | null, /** * Last known status of the target agents, when available. */ -agentsStates: { [key in string]?: CollabAgentState }, } | { "type": "subAgentActivity", id: string, kind: SubAgentActivityKind, agentThreadId: string, agentPath: string, } | { "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", id: string, query: string, action: WebSearchAction | null, } | { "type": "imageView", id: string, path: AbsolutePathBuf, } | { "type": "sleep", id: string, durationMs: number, } | { "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, }; diff --git a/src/generated/app-server/v2/ThreadListParams.ts b/src/generated/app-server/v2/ThreadListParams.ts index ce5b6a79..cd902fce 100644 --- a/src/generated/app-server/v2/ThreadListParams.ts +++ b/src/generated/app-server/v2/ThreadListParams.ts @@ -51,4 +51,8 @@ useStateDbOnly?: boolean, /** * Optional substring filter for the extracted thread title. */ -searchTerm?: string | null, }; +searchTerm?: string | null, +/** + * Optional direct parent thread filter. + */ +parentThreadId?: string | null, }; diff --git a/src/generated/app-server/v2/ThreadRealtimeAppendSpeechParams.ts b/src/generated/app-server/v2/ThreadRealtimeAppendSpeechParams.ts new file mode 100644 index 00000000..5d36e69f --- /dev/null +++ b/src/generated/app-server/v2/ThreadRealtimeAppendSpeechParams.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. + +/** + * EXPERIMENTAL - append speakable text to thread realtime. + */ +export type ThreadRealtimeAppendSpeechParams = { threadId: string, text: string, }; diff --git a/src/generated/app-server/v2/ThreadRealtimeAppendSpeechResponse.ts b/src/generated/app-server/v2/ThreadRealtimeAppendSpeechResponse.ts new file mode 100644 index 00000000..4963999f --- /dev/null +++ b/src/generated/app-server/v2/ThreadRealtimeAppendSpeechResponse.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. + +/** + * EXPERIMENTAL - response for appending realtime speech. + */ +export type ThreadRealtimeAppendSpeechResponse = Record; diff --git a/src/generated/app-server/v2/ThreadRealtimeStartParams.ts b/src/generated/app-server/v2/ThreadRealtimeStartParams.ts index 9b450cc9..12fb2bbc 100644 --- a/src/generated/app-server/v2/ThreadRealtimeStartParams.ts +++ b/src/generated/app-server/v2/ThreadRealtimeStartParams.ts @@ -16,6 +16,14 @@ export type ThreadRealtimeStartParams = { threadId: string, * Overrides the configured realtime architecture for this session only. */ architecture?: RealtimeConversationArchitecture | null, +/** + * Sends automatic Codex responses as realtime conversation items instead of handoff appends. + */ +codexResponsesAsItems?: boolean | null, +/** + * Optional prefix added to automatic Codex response items when `codexResponsesAsItems` is true. + */ +codexResponseItemPrefix?: string | null, /** * Overrides the configured realtime model for this session only. */ @@ -24,7 +32,11 @@ model?: string | null, * Selects text or audio output for the realtime session. Transport and voice stay * independent so clients can choose how they connect separately from what the model emits. */ -outputModality: RealtimeOutputModality, prompt?: string | null, realtimeSessionId?: string | null, transport?: ThreadRealtimeStartTransport | null, +outputModality: RealtimeOutputModality, +/** + * Set to false to start without Codex's startup context. Omitted or null includes it. + */ +includeStartupContext?: boolean | null, prompt?: string | null, realtimeSessionId?: string | null, transport?: ThreadRealtimeStartTransport | null, /** * Overrides the configured realtime protocol version for this session only. */ diff --git a/src/generated/app-server/v2/index.ts b/src/generated/app-server/v2/index.ts index 415c0577..c6179f20 100644 --- a/src/generated/app-server/v2/index.ts +++ b/src/generated/app-server/v2/index.ts @@ -87,6 +87,9 @@ export type { ConfigWarningNotification } from "./ConfigWarningNotification"; export type { ConfigWriteResponse } from "./ConfigWriteResponse"; export type { ConfiguredHookHandler } from "./ConfiguredHookHandler"; export type { ConfiguredHookMatcherGroup } from "./ConfiguredHookMatcherGroup"; +export type { ConsumeAccountRateLimitResetCreditOutcome } from "./ConsumeAccountRateLimitResetCreditOutcome"; +export type { ConsumeAccountRateLimitResetCreditParams } from "./ConsumeAccountRateLimitResetCreditParams"; +export type { ConsumeAccountRateLimitResetCreditResponse } from "./ConsumeAccountRateLimitResetCreditResponse"; export type { ContextCompactedNotification } from "./ContextCompactedNotification"; export type { CreditsSnapshot } from "./CreditsSnapshot"; export type { DeprecationNoticeNotification } from "./DeprecationNoticeNotification"; @@ -94,6 +97,9 @@ export type { DynamicToolCallOutputContentItem } from "./DynamicToolCallOutputCo export type { DynamicToolCallParams } from "./DynamicToolCallParams"; export type { DynamicToolCallResponse } from "./DynamicToolCallResponse"; export type { DynamicToolCallStatus } from "./DynamicToolCallStatus"; +export type { DynamicToolFunctionSpec } from "./DynamicToolFunctionSpec"; +export type { DynamicToolNamespaceSpec } from "./DynamicToolNamespaceSpec"; +export type { DynamicToolNamespaceTool } from "./DynamicToolNamespaceTool"; export type { DynamicToolSpec } from "./DynamicToolSpec"; export type { EnvironmentAddParams } from "./EnvironmentAddParams"; export type { EnvironmentAddResponse } from "./EnvironmentAddResponse"; @@ -108,8 +114,11 @@ export type { ExperimentalFeatureStage } from "./ExperimentalFeatureStage"; export type { ExternalAgentConfigDetectParams } from "./ExternalAgentConfigDetectParams"; export type { ExternalAgentConfigDetectResponse } from "./ExternalAgentConfigDetectResponse"; export type { ExternalAgentConfigImportCompletedNotification } from "./ExternalAgentConfigImportCompletedNotification"; +export type { ExternalAgentConfigImportItemTypeFailure } from "./ExternalAgentConfigImportItemTypeFailure"; +export type { ExternalAgentConfigImportItemTypeSuccess } from "./ExternalAgentConfigImportItemTypeSuccess"; export type { ExternalAgentConfigImportParams } from "./ExternalAgentConfigImportParams"; export type { ExternalAgentConfigImportResponse } from "./ExternalAgentConfigImportResponse"; +export type { ExternalAgentConfigImportTypeResult } from "./ExternalAgentConfigImportTypeResult"; export type { ExternalAgentConfigMigrationItem } from "./ExternalAgentConfigMigrationItem"; export type { ExternalAgentConfigMigrationItemType } from "./ExternalAgentConfigMigrationItemType"; export type { FeedbackUploadParams } from "./FeedbackUploadParams"; @@ -332,6 +341,7 @@ export type { ProcessTerminalSize } from "./ProcessTerminalSize"; export type { ProcessWriteStdinParams } from "./ProcessWriteStdinParams"; export type { ProcessWriteStdinResponse } from "./ProcessWriteStdinResponse"; export type { RateLimitReachedType } from "./RateLimitReachedType"; +export type { RateLimitResetCreditsSummary } from "./RateLimitResetCreditsSummary"; export type { RateLimitSnapshot } from "./RateLimitSnapshot"; export type { RateLimitWindow } from "./RateLimitWindow"; export type { RawResponseItemCompletedNotification } from "./RawResponseItemCompletedNotification"; @@ -447,6 +457,8 @@ export type { ThreadReadParams } from "./ThreadReadParams"; export type { ThreadReadResponse } from "./ThreadReadResponse"; export type { ThreadRealtimeAppendAudioParams } from "./ThreadRealtimeAppendAudioParams"; export type { ThreadRealtimeAppendAudioResponse } from "./ThreadRealtimeAppendAudioResponse"; +export type { ThreadRealtimeAppendSpeechParams } from "./ThreadRealtimeAppendSpeechParams"; +export type { ThreadRealtimeAppendSpeechResponse } from "./ThreadRealtimeAppendSpeechResponse"; export type { ThreadRealtimeAppendTextParams } from "./ThreadRealtimeAppendTextParams"; export type { ThreadRealtimeAppendTextResponse } from "./ThreadRealtimeAppendTextResponse"; export type { ThreadRealtimeAudioChunk } from "./ThreadRealtimeAudioChunk"; diff --git a/tests/features/chat/message-stream/model.test.ts b/tests/features/chat/message-stream/model.test.ts index 215a60dd..08e4353a 100644 --- a/tests/features/chat/message-stream/model.test.ts +++ b/tests/features/chat/message-stream/model.test.ts @@ -683,6 +683,22 @@ describe("turn item conversion preserves app-server semantics", () => { }); }); + it("preserves sleep items as completed wait tool summaries", () => { + const item: TurnItem = { + type: "sleep", + id: "sleep-1", + durationMs: 2500, + }; + + expect(messageStreamItemFromTurnItem(item, "t1")).toMatchObject({ + kind: "tool", + toolName: "sleep", + primaryTarget: { kind: "value", value: "2500 ms" }, + output: "", + executionState: "completed", + }); + }); + it("preserves image generation status, details, and state", () => { const item: TurnItem = { type: "imageGeneration",