diff --git a/README.md b/README.md index fa46914b..aa80ad82 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.139.0` | Track app-server compatibility by Codex CLI minor version. | +| `codex.testedCliVersion` | `0.140.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/inbound/notification-plan.ts b/src/features/chat/app-server/inbound/notification-plan.ts index adf28da6..802d7b54 100644 --- a/src/features/chat/app-server/inbound/notification-plan.ts +++ b/src/features/chat/app-server/inbound/notification-plan.ts @@ -257,6 +257,7 @@ const THREAD_LIFECYCLE_PLANNERS = { actions: [], effects: [{ type: "apply-thread-archived", threadId: notification.params.threadId }], }), + "thread/deleted": () => ({ actions: [], effects: [{ type: "refresh-threads" }] }), "thread/unarchived": () => ({ actions: [], effects: [{ type: "refresh-threads" }] }), "thread/name/updated": (_state, notification) => { const name = normalizeExplicitThreadName(notification.params.threadName); diff --git a/src/features/chat/app-server/inbound/routing.ts b/src/features/chat/app-server/inbound/routing.ts index 96bcd5cf..4ac95667 100644 --- a/src/features/chat/app-server/inbound/routing.ts +++ b/src/features/chat/app-server/inbound/routing.ts @@ -48,7 +48,12 @@ type ServerRequestScopeExtractors = { [Method in ServerRequestMethod]: (request: Extract) => MessageScope; }; -const GLOBALLY_ROUTED_THREAD_CATALOG_NOTIFICATION_METHODS = ["thread/archived", "thread/unarchived", "thread/name/updated"] as const; +const GLOBALLY_ROUTED_THREAD_CATALOG_NOTIFICATION_METHODS = [ + "thread/archived", + "thread/deleted", + "thread/unarchived", + "thread/name/updated", +] as const; const STREAM_UPDATE_NOTIFICATION_METHODS = [ "item/agentMessage/delta", @@ -80,6 +85,7 @@ export type TurnLifecycleNotificationMethod = (typeof TURN_LIFECYCLE_NOTIFICATIO const THREAD_LIFECYCLE_NOTIFICATION_METHODS = [ "thread/started", "thread/archived", + "thread/deleted", "thread/unarchived", "thread/name/updated", "thread/goal/updated", @@ -123,6 +129,7 @@ const SERVER_NOTIFICATION_SCOPE_EXTRACTORS: ServerNotificationScopeExtractors = "thread/started": threadStartedNotificationScope, "thread/status/changed": threadOnlyNotificationScope, "thread/archived": threadOnlyNotificationScope, + "thread/deleted": threadOnlyNotificationScope, "thread/unarchived": threadOnlyNotificationScope, "thread/closed": threadOnlyNotificationScope, "skills/changed": unscopedNotificationScope, 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 ff8d0b0f..1f8f7400 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 @@ -153,6 +153,8 @@ function messageStreamItemFromTurnItemData(item: TurnItem, turnId?: string): Mes return imageViewMessageStreamItem(item, turnId); case "imageGeneration": return imageGenerationMessageStreamItem(item, turnId); + case "subAgentActivity": + return null; case "enteredReviewMode": case "exitedReviewMode": return reviewModeMessageStreamItem(item, turnId); diff --git a/src/features/chat/domain/pending-requests/model.ts b/src/features/chat/domain/pending-requests/model.ts index b6feef5d..bae663cd 100644 --- a/src/features/chat/domain/pending-requests/model.ts +++ b/src/features/chat/domain/pending-requests/model.ts @@ -97,6 +97,7 @@ export interface PendingUserInputParams { turnId: string; itemId: string; questions: PendingUserInputQuestion[]; + autoResolutionMs: number | null; } export interface PendingUserInput { diff --git a/src/generated/app-server/AgentMessageInputContent.ts b/src/generated/app-server/AgentMessageInputContent.ts index a3bb6455..3fd526d8 100644 --- a/src/generated/app-server/AgentMessageInputContent.ts +++ b/src/generated/app-server/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/src/generated/app-server/AuthMode.ts b/src/generated/app-server/AuthMode.ts index 1cb6ccb6..77bc037e 100644 --- a/src/generated/app-server/AuthMode.ts +++ b/src/generated/app-server/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" | "agentIdentity" | "personalAccessToken" | "bedrockApiKey"; diff --git a/src/generated/app-server/ClientRequest.ts b/src/generated/app-server/ClientRequest.ts index 31fb92ca..80e64da2 100644 --- a/src/generated/app-server/ClientRequest.ts +++ b/src/generated/app-server/ClientRequest.ts @@ -66,6 +66,8 @@ import type { ProcessSpawnParams } from "./v2/ProcessSpawnParams"; import type { ProcessWriteStdinParams } from "./v2/ProcessWriteStdinParams"; import type { RemoteControlClientsListParams } from "./v2/RemoteControlClientsListParams"; import type { RemoteControlClientsRevokeParams } from "./v2/RemoteControlClientsRevokeParams"; +import type { RemoteControlDisableParams } from "./v2/RemoteControlDisableParams"; +import type { RemoteControlEnableParams } from "./v2/RemoteControlEnableParams"; import type { RemoteControlPairingStartParams } from "./v2/RemoteControlPairingStartParams"; import type { RemoteControlPairingStatusParams } from "./v2/RemoteControlPairingStatusParams"; import type { ReviewStartParams } from "./v2/ReviewStartParams"; @@ -76,8 +78,11 @@ import type { SkillsListParams } from "./v2/SkillsListParams"; import type { ThreadApproveGuardianDeniedActionParams } from "./v2/ThreadApproveGuardianDeniedActionParams"; import type { ThreadArchiveParams } from "./v2/ThreadArchiveParams"; import type { ThreadBackgroundTerminalsCleanParams } from "./v2/ThreadBackgroundTerminalsCleanParams"; +import type { ThreadBackgroundTerminalsListParams } from "./v2/ThreadBackgroundTerminalsListParams"; +import type { ThreadBackgroundTerminalsTerminateParams } from "./v2/ThreadBackgroundTerminalsTerminateParams"; import type { ThreadCompactStartParams } from "./v2/ThreadCompactStartParams"; import type { ThreadDecrementElicitationParams } from "./v2/ThreadDecrementElicitationParams"; +import type { ThreadDeleteParams } from "./v2/ThreadDeleteParams"; import type { ThreadForkParams } from "./v2/ThreadForkParams"; import type { ThreadGoalClearParams } from "./v2/ThreadGoalClearParams"; import type { ThreadGoalGetParams } from "./v2/ThreadGoalGetParams"; @@ -113,4 +118,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/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/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: undefined, } | { "method": "remoteControl/disable", id: RequestId, params: undefined, } | { "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/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, }; diff --git a/src/generated/app-server/ConversationTextRole.ts b/src/generated/app-server/ConversationTextRole.ts new file mode 100644 index 00000000..9cba89f8 --- /dev/null +++ b/src/generated/app-server/ConversationTextRole.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 ConversationTextRole = "user" | "developer"; diff --git a/src/generated/app-server/RealtimeConversationArchitecture.ts b/src/generated/app-server/RealtimeConversationArchitecture.ts new file mode 100644 index 00000000..4467e4a0 --- /dev/null +++ b/src/generated/app-server/RealtimeConversationArchitecture.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 RealtimeConversationArchitecture = "realtimeapi" | "avas"; diff --git a/src/generated/app-server/ServerNotification.ts b/src/generated/app-server/ServerNotification.ts index 2520c71c..7cae63a5 100644 --- a/src/generated/app-server/ServerNotification.ts +++ b/src/generated/app-server/ServerNotification.ts @@ -43,6 +43,7 @@ import type { SkillsChangedNotification } from "./v2/SkillsChangedNotification"; import type { TerminalInteractionNotification } from "./v2/TerminalInteractionNotification"; import type { ThreadArchivedNotification } from "./v2/ThreadArchivedNotification"; import type { ThreadClosedNotification } from "./v2/ThreadClosedNotification"; +import type { ThreadDeletedNotification } from "./v2/ThreadDeletedNotification"; import type { ThreadGoalClearedNotification } from "./v2/ThreadGoalClearedNotification"; import type { ThreadGoalUpdatedNotification } from "./v2/ThreadGoalUpdatedNotification"; import type { ThreadNameUpdatedNotification } from "./v2/ThreadNameUpdatedNotification"; @@ -71,4 +72,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": "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 }; diff --git a/src/generated/app-server/index.ts b/src/generated/app-server/index.ts index d4ede6fa..3fb40024 100644 --- a/src/generated/app-server/index.ts +++ b/src/generated/app-server/index.ts @@ -14,6 +14,7 @@ export type { CollaborationMode } from "./CollaborationMode"; export type { ContentItem } from "./ContentItem"; export type { ConversationGitInfo } from "./ConversationGitInfo"; export type { ConversationSummary } from "./ConversationSummary"; +export type { ConversationTextRole } from "./ConversationTextRole"; export type { ExecCommandApprovalParams } from "./ExecCommandApprovalParams"; export type { ExecCommandApprovalResponse } from "./ExecCommandApprovalResponse"; export type { ExecPolicyAmendment } from "./ExecPolicyAmendment"; @@ -57,6 +58,7 @@ export type { NetworkPolicyRuleAction } from "./NetworkPolicyRuleAction"; export type { ParsedCommand } from "./ParsedCommand"; export type { Personality } from "./Personality"; export type { PlanType } from "./PlanType"; +export type { RealtimeConversationArchitecture } from "./RealtimeConversationArchitecture"; export type { RealtimeConversationVersion } from "./RealtimeConversationVersion"; export type { RealtimeOutputModality } from "./RealtimeOutputModality"; export type { RealtimeVoice } from "./RealtimeVoice"; diff --git a/src/generated/app-server/v2/AppSummary.ts b/src/generated/app-server/v2/AppSummary.ts index 586c76f8..f295009a 100644 --- a/src/generated/app-server/v2/AppSummary.ts +++ b/src/generated/app-server/v2/AppSummary.ts @@ -5,4 +5,4 @@ /** * EXPERIMENTAL - app metadata summary for plugin responses. */ -export type AppSummary = { id: string, name: string, description: string | null, installUrl: string | null, needsAuth: boolean, }; +export type AppSummary = { id: string, name: string, description: string | null, installUrl: string | null, category: string | null, }; diff --git a/src/generated/app-server/v2/AppTemplateSummary.ts b/src/generated/app-server/v2/AppTemplateSummary.ts index dd5f7622..65d22beb 100644 --- a/src/generated/app-server/v2/AppTemplateSummary.ts +++ b/src/generated/app-server/v2/AppTemplateSummary.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 { AppTemplateUnavailableReason } from "./AppTemplateUnavailableReason"; -export type AppTemplateSummary = { templateId: string, name: string, description: string | null, canonicalConnectorId: string | null, logoUrl: string | null, logoUrlDark: string | null, materializedAppIds: Array, reason: AppTemplateUnavailableReason | null, }; +export type AppTemplateSummary = { templateId: string, name: string, description: string | null, category: string | null, canonicalConnectorId: string | null, logoUrl: string | null, logoUrlDark: string | null, materializedAppIds: Array, reason: AppTemplateUnavailableReason | null, }; diff --git a/src/generated/app-server/v2/AppsDefaultConfig.ts b/src/generated/app-server/v2/AppsDefaultConfig.ts index e7338602..8277320e 100644 --- a/src/generated/app-server/v2/AppsDefaultConfig.ts +++ b/src/generated/app-server/v2/AppsDefaultConfig.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 { ApprovalsReviewer } from "./ApprovalsReviewer"; -export type AppsDefaultConfig = { enabled: boolean, destructive_enabled: boolean, open_world_enabled: boolean, }; +export type AppsDefaultConfig = { enabled: boolean, approvals_reviewer: ApprovalsReviewer | null, destructive_enabled: boolean, open_world_enabled: boolean, }; diff --git a/src/generated/app-server/v2/CapabilityRootLocation.ts b/src/generated/app-server/v2/CapabilityRootLocation.ts new file mode 100644 index 00000000..6266101e --- /dev/null +++ b/src/generated/app-server/v2/CapabilityRootLocation.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. + +/** + * Location used to resolve a selected capability root. + */ +export type CapabilityRootLocation = { "type": "environment", environmentId: string, path: string, }; diff --git a/src/generated/app-server/v2/ConfigRequirements.ts b/src/generated/app-server/v2/ConfigRequirements.ts index a6cae8d3..33fadb72 100644 --- a/src/generated/app-server/v2/ConfigRequirements.ts +++ b/src/generated/app-server/v2/ConfigRequirements.ts @@ -11,4 +11,4 @@ import type { ResidencyRequirement } from "./ResidencyRequirement"; import type { SandboxMode } from "./SandboxMode"; import type { WindowsSandboxSetupMode } from "./WindowsSandboxSetupMode"; -export type ConfigRequirements = { allowedApprovalPolicies: Array | null, allowedApprovalsReviewers: Array | null, allowedSandboxModes: Array | null, allowedWindowsSandboxImplementations: Array | null, allowedPermissionProfiles: { [key in string]?: boolean } | null, defaultPermissions: string | null, allowedWebSearchModes: Array | null, allowManagedHooksOnly: boolean | null, allowAppshots: boolean | null, computerUse: ComputerUseRequirements | null, featureRequirements: { [key in string]?: boolean } | null, hooks: ManagedHooksRequirements | null, enforceResidency: ResidencyRequirement | null, network: NetworkRequirements | null, }; +export type ConfigRequirements = { allowedApprovalPolicies: Array | null, allowedApprovalsReviewers: Array | null, allowedSandboxModes: Array | null, allowedWindowsSandboxImplementations: Array | null, allowedPermissionProfiles: { [key in string]?: boolean } | null, defaultPermissions: string | null, allowedWebSearchModes: Array | null, allowManagedHooksOnly: boolean | null, allowAppshots: boolean | null, allowRemoteControl: boolean | null, computerUse: ComputerUseRequirements | null, featureRequirements: { [key in string]?: boolean } | null, hooks: ManagedHooksRequirements | null, enforceResidency: ResidencyRequirement | null, network: NetworkRequirements | null, }; diff --git a/src/generated/app-server/v2/PluginDetail.ts b/src/generated/app-server/v2/PluginDetail.ts index cc2042dd..ab2e3fd5 100644 --- a/src/generated/app-server/v2/PluginDetail.ts +++ b/src/generated/app-server/v2/PluginDetail.ts @@ -8,4 +8,4 @@ import type { PluginHookSummary } from "./PluginHookSummary"; import type { PluginSummary } from "./PluginSummary"; import type { SkillSummary } from "./SkillSummary"; -export type PluginDetail = { marketplaceName: string, marketplacePath: AbsolutePathBuf | null, summary: PluginSummary, description: string | null, skills: Array, hooks: Array, apps: Array, appTemplates: Array, mcpServers: Array, }; +export type PluginDetail = { marketplaceName: string, marketplacePath: AbsolutePathBuf | null, summary: PluginSummary, shareUrl: string | null, description: string | null, skills: Array, hooks: Array, apps: Array, appTemplates: Array, mcpServers: Array, }; diff --git a/src/generated/app-server/v2/RemoteControlDisableParams.ts b/src/generated/app-server/v2/RemoteControlDisableParams.ts new file mode 100644 index 00000000..30a59d35 --- /dev/null +++ b/src/generated/app-server/v2/RemoteControlDisableParams.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 RemoteControlDisableParams = { ephemeral?: boolean, }; diff --git a/src/generated/app-server/v2/RemoteControlEnableParams.ts b/src/generated/app-server/v2/RemoteControlEnableParams.ts new file mode 100644 index 00000000..3848982d --- /dev/null +++ b/src/generated/app-server/v2/RemoteControlEnableParams.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 RemoteControlEnableParams = { ephemeral?: boolean, }; diff --git a/src/generated/app-server/v2/SelectedCapabilityRoot.ts b/src/generated/app-server/v2/SelectedCapabilityRoot.ts new file mode 100644 index 00000000..849d5c7a --- /dev/null +++ b/src/generated/app-server/v2/SelectedCapabilityRoot.ts @@ -0,0 +1,17 @@ +// 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 { CapabilityRootLocation } from "./CapabilityRootLocation"; + +/** + * A user-selected root that can expose one or more runtime capabilities. + */ +export type SelectedCapabilityRoot = { +/** + * Stable identifier supplied by the capability selection platform. + */ +id: string, +/** + * Where the selected root can be resolved. + */ +location: CapabilityRootLocation, }; diff --git a/src/generated/app-server/v2/SubAgentActivityKind.ts b/src/generated/app-server/v2/SubAgentActivityKind.ts new file mode 100644 index 00000000..5e3ce81e --- /dev/null +++ b/src/generated/app-server/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/src/generated/app-server/v2/ThreadBackgroundTerminal.ts b/src/generated/app-server/v2/ThreadBackgroundTerminal.ts new file mode 100644 index 00000000..b2e6e678 --- /dev/null +++ b/src/generated/app-server/v2/ThreadBackgroundTerminal.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 { AbsolutePathBuf } from "../AbsolutePathBuf"; + +export type ThreadBackgroundTerminal = { itemId: string, processId: string, command: string, cwd: AbsolutePathBuf, osPid: number | null, cpuPercent: number | null, rssKb: bigint | null, }; diff --git a/src/generated/app-server/v2/ThreadBackgroundTerminalsListParams.ts b/src/generated/app-server/v2/ThreadBackgroundTerminalsListParams.ts new file mode 100644 index 00000000..39581108 --- /dev/null +++ b/src/generated/app-server/v2/ThreadBackgroundTerminalsListParams.ts @@ -0,0 +1,13 @@ +// 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 ThreadBackgroundTerminalsListParams = { threadId: string, +/** + * Opaque pagination cursor returned by a previous call. + */ +cursor?: string | null, +/** + * Optional page size. + */ +limit?: number | null, }; diff --git a/src/generated/app-server/v2/ThreadBackgroundTerminalsListResponse.ts b/src/generated/app-server/v2/ThreadBackgroundTerminalsListResponse.ts new file mode 100644 index 00000000..6f198834 --- /dev/null +++ b/src/generated/app-server/v2/ThreadBackgroundTerminalsListResponse.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. +import type { ThreadBackgroundTerminal } from "./ThreadBackgroundTerminal"; + +export type ThreadBackgroundTerminalsListResponse = { data: Array, +/** + * Opaque cursor to pass to the next call to continue after the last item. + * If None, there are no more items to return. + */ +nextCursor: string | null, }; diff --git a/src/generated/app-server/v2/ThreadBackgroundTerminalsTerminateParams.ts b/src/generated/app-server/v2/ThreadBackgroundTerminalsTerminateParams.ts new file mode 100644 index 00000000..aa3f0b9f --- /dev/null +++ b/src/generated/app-server/v2/ThreadBackgroundTerminalsTerminateParams.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 ThreadBackgroundTerminalsTerminateParams = { threadId: string, processId: string, }; diff --git a/src/generated/app-server/v2/ThreadBackgroundTerminalsTerminateResponse.ts b/src/generated/app-server/v2/ThreadBackgroundTerminalsTerminateResponse.ts new file mode 100644 index 00000000..5249226c --- /dev/null +++ b/src/generated/app-server/v2/ThreadBackgroundTerminalsTerminateResponse.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 ThreadBackgroundTerminalsTerminateResponse = { terminated: boolean, }; diff --git a/src/generated/app-server/v2/ThreadDeleteParams.ts b/src/generated/app-server/v2/ThreadDeleteParams.ts new file mode 100644 index 00000000..909ccda7 --- /dev/null +++ b/src/generated/app-server/v2/ThreadDeleteParams.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 ThreadDeleteParams = { threadId: string, }; diff --git a/src/generated/app-server/v2/ThreadDeleteResponse.ts b/src/generated/app-server/v2/ThreadDeleteResponse.ts new file mode 100644 index 00000000..1af1c307 --- /dev/null +++ b/src/generated/app-server/v2/ThreadDeleteResponse.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 ThreadDeleteResponse = Record; diff --git a/src/generated/app-server/v2/ThreadDeletedNotification.ts b/src/generated/app-server/v2/ThreadDeletedNotification.ts new file mode 100644 index 00000000..5122a222 --- /dev/null +++ b/src/generated/app-server/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/src/generated/app-server/v2/ThreadItem.ts b/src/generated/app-server/v2/ThreadItem.ts index 78dff0d7..8d74ae8d 100644 --- a/src/generated/app-server/v2/ThreadItem.ts +++ b/src/generated/app-server/v2/ThreadItem.ts @@ -20,6 +20,7 @@ import type { McpToolCallResult } from "./McpToolCallResult"; import type { McpToolCallStatus } from "./McpToolCallStatus"; import type { MemoryCitation } from "./MemoryCitation"; import type { PatchApplyStatus } from "./PatchApplyStatus"; +import type { SubAgentActivityKind } from "./SubAgentActivityKind"; import type { UserInput } from "./UserInput"; import type { WebSearchAction } from "./WebSearchAction"; @@ -98,4 +99,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", 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, }; diff --git a/src/generated/app-server/v2/ThreadRealtimeAppendTextParams.ts b/src/generated/app-server/v2/ThreadRealtimeAppendTextParams.ts index 6e3bef4e..c0cb2466 100644 --- a/src/generated/app-server/v2/ThreadRealtimeAppendTextParams.ts +++ b/src/generated/app-server/v2/ThreadRealtimeAppendTextParams.ts @@ -1,8 +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. +import type { ConversationTextRole } from "../ConversationTextRole"; /** * EXPERIMENTAL - append text input to thread realtime. */ -export type ThreadRealtimeAppendTextParams = { threadId: string, text: string, }; +export type ThreadRealtimeAppendTextParams = { threadId: string, text: string, role: ConversationTextRole, }; diff --git a/src/generated/app-server/v2/ThreadRealtimeStartParams.ts b/src/generated/app-server/v2/ThreadRealtimeStartParams.ts index 38f25579..9b450cc9 100644 --- a/src/generated/app-server/v2/ThreadRealtimeStartParams.ts +++ b/src/generated/app-server/v2/ThreadRealtimeStartParams.ts @@ -2,6 +2,8 @@ // This file was mechanically normalized after generation by scripts/generate-app-server-types.mjs. // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { RealtimeConversationArchitecture } from "../RealtimeConversationArchitecture"; +import type { RealtimeConversationVersion } from "../RealtimeConversationVersion"; import type { RealtimeOutputModality } from "../RealtimeOutputModality"; import type { RealtimeVoice } from "../RealtimeVoice"; import type { ThreadRealtimeStartTransport } from "./ThreadRealtimeStartTransport"; @@ -10,8 +12,20 @@ import type { ThreadRealtimeStartTransport } from "./ThreadRealtimeStartTranspor * EXPERIMENTAL - start a thread-scoped realtime session. */ export type ThreadRealtimeStartParams = { threadId: string, +/** + * Overrides the configured realtime architecture for this session only. + */ +architecture?: RealtimeConversationArchitecture | null, +/** + * Overrides the configured realtime model for this session only. + */ +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, voice?: RealtimeVoice | null, }; +outputModality: RealtimeOutputModality, prompt?: string | null, realtimeSessionId?: string | null, transport?: ThreadRealtimeStartTransport | null, +/** + * Overrides the configured realtime protocol version for this session only. + */ +version?: RealtimeConversationVersion | null, voice?: RealtimeVoice | null, }; diff --git a/src/generated/app-server/v2/ThreadSource.ts b/src/generated/app-server/v2/ThreadSource.ts index 8f555248..f27154ab 100644 --- a/src/generated/app-server/v2/ThreadSource.ts +++ b/src/generated/app-server/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/src/generated/app-server/v2/ThreadStartParams.ts b/src/generated/app-server/v2/ThreadStartParams.ts index 83e86b1f..90c21648 100644 --- a/src/generated/app-server/v2/ThreadStartParams.ts +++ b/src/generated/app-server/v2/ThreadStartParams.ts @@ -9,6 +9,7 @@ import type { ApprovalsReviewer } from "./ApprovalsReviewer"; import type { AskForApproval } from "./AskForApproval"; import type { DynamicToolSpec } from "./DynamicToolSpec"; import type { SandboxMode } from "./SandboxMode"; +import type { SelectedCapabilityRoot } from "./SelectedCapabilityRoot"; import type { ThreadSource } from "./ThreadSource"; import type { ThreadStartSource } from "./ThreadStartSource"; import type { TurnEnvironmentParams } from "./TurnEnvironmentParams"; @@ -40,6 +41,10 @@ threadSource?: ThreadSource | null, * current turn environment. */ environments?: Array | null, dynamicTools?: Array | null, +/** + * Capability roots selected for this thread by the hosting platform. + */ +selectedCapabilityRoots?: Array | null, /** * Test-only experimental field used to validate experimental gating and * schema filtering behavior in a stable way. diff --git a/src/generated/app-server/v2/ToolRequestUserInputParams.ts b/src/generated/app-server/v2/ToolRequestUserInputParams.ts index bee81cb8..73ff8b67 100644 --- a/src/generated/app-server/v2/ToolRequestUserInputParams.ts +++ b/src/generated/app-server/v2/ToolRequestUserInputParams.ts @@ -6,4 +6,4 @@ import type { ToolRequestUserInputQuestion } from "./ToolRequestUserInputQuestio /** * EXPERIMENTAL. Params sent with a request_user_input event. */ -export type ToolRequestUserInputParams = { threadId: string, turnId: string, itemId: string, questions: Array, }; +export type ToolRequestUserInputParams = { threadId: string, turnId: string, itemId: string, questions: Array, autoResolutionMs: number | null, }; diff --git a/src/generated/app-server/v2/TurnStartParams.ts b/src/generated/app-server/v2/TurnStartParams.ts index dca44932..df5da0a1 100644 --- a/src/generated/app-server/v2/TurnStartParams.ts +++ b/src/generated/app-server/v2/TurnStartParams.ts @@ -17,7 +17,13 @@ import type { UserInput } from "./UserInput"; export type TurnStartParams = { threadId: string, clientUserMessageId?: string | null, input: Array, /** - * Optional turn-scoped Responses API client metadata. + * Optional metadata to enrich Codex's ResponsesAPI turn metadata. + * + * Entries are flattened into the JSON string sent as + * `client_metadata["x-codex-turn-metadata"]` on ResponsesAPI HTTP and websocket requests. + * + * They are not sent as top-level ResponsesAPI `client_metadata` keys, and reserved keys + * such as `session_id`, `thread_id`, `turn_id`, and `window_id` cannot be overridden. */ responsesapiClientMetadata?: { [key in string]?: string } | null, /** diff --git a/src/generated/app-server/v2/TurnSteerParams.ts b/src/generated/app-server/v2/TurnSteerParams.ts index 9a77d47d..ae5da6fd 100644 --- a/src/generated/app-server/v2/TurnSteerParams.ts +++ b/src/generated/app-server/v2/TurnSteerParams.ts @@ -6,7 +6,13 @@ import type { UserInput } from "./UserInput"; export type TurnSteerParams = { threadId: string, clientUserMessageId?: string | null, input: Array, /** - * Optional turn-scoped Responses API client metadata. + * Optional metadata to enrich Codex's ResponsesAPI turn metadata. + * + * Entries are flattened into the JSON string sent as + * `client_metadata["x-codex-turn-metadata"]` on ResponsesAPI HTTP and websocket requests. + * + * They are not sent as top-level ResponsesAPI `client_metadata` keys, and reserved keys + * such as `session_id`, `thread_id`, `turn_id`, and `window_id` cannot be overridden. */ responsesapiClientMetadata?: { [key in string]?: string } | null, /** diff --git a/src/generated/app-server/v2/index.ts b/src/generated/app-server/v2/index.ts index 43af5397..415c0577 100644 --- a/src/generated/app-server/v2/index.ts +++ b/src/generated/app-server/v2/index.ts @@ -40,6 +40,7 @@ export type { ByteRange } from "./ByteRange"; export type { CancelLoginAccountParams } from "./CancelLoginAccountParams"; export type { CancelLoginAccountResponse } from "./CancelLoginAccountResponse"; export type { CancelLoginAccountStatus } from "./CancelLoginAccountStatus"; +export type { CapabilityRootLocation } from "./CapabilityRootLocation"; export type { ChatgptAuthTokensRefreshParams } from "./ChatgptAuthTokensRefreshParams"; export type { ChatgptAuthTokensRefreshReason } from "./ChatgptAuthTokensRefreshReason"; export type { ChatgptAuthTokensRefreshResponse } from "./ChatgptAuthTokensRefreshResponse"; @@ -345,7 +346,9 @@ export type { RemoteControlClientsListResponse } from "./RemoteControlClientsLis export type { RemoteControlClientsRevokeParams } from "./RemoteControlClientsRevokeParams"; export type { RemoteControlClientsRevokeResponse } from "./RemoteControlClientsRevokeResponse"; export type { RemoteControlConnectionStatus } from "./RemoteControlConnectionStatus"; +export type { RemoteControlDisableParams } from "./RemoteControlDisableParams"; export type { RemoteControlDisableResponse } from "./RemoteControlDisableResponse"; +export type { RemoteControlEnableParams } from "./RemoteControlEnableParams"; export type { RemoteControlEnableResponse } from "./RemoteControlEnableResponse"; export type { RemoteControlPairingStartParams } from "./RemoteControlPairingStartParams"; export type { RemoteControlPairingStartResponse } from "./RemoteControlPairingStartResponse"; @@ -362,6 +365,7 @@ export type { ReviewTarget } from "./ReviewTarget"; export type { SandboxMode } from "./SandboxMode"; export type { SandboxPolicy } from "./SandboxPolicy"; export type { SandboxWorkspaceWrite } from "./SandboxWorkspaceWrite"; +export type { SelectedCapabilityRoot } from "./SelectedCapabilityRoot"; export type { SendAddCreditsNudgeEmailParams } from "./SendAddCreditsNudgeEmailParams"; export type { SendAddCreditsNudgeEmailResponse } from "./SendAddCreditsNudgeEmailResponse"; export type { ServerRequestResolvedNotification } from "./ServerRequestResolvedNotification"; @@ -384,6 +388,7 @@ export type { SkillsListParams } from "./SkillsListParams"; export type { SkillsListResponse } from "./SkillsListResponse"; export type { SortDirection } from "./SortDirection"; export type { SpendControlLimitSnapshot } from "./SpendControlLimitSnapshot"; +export type { SubAgentActivityKind } from "./SubAgentActivityKind"; export type { SubagentMigration } from "./SubagentMigration"; export type { TerminalInteractionNotification } from "./TerminalInteractionNotification"; export type { TextElement } from "./TextElement"; @@ -396,13 +401,21 @@ export type { ThreadApproveGuardianDeniedActionResponse } from "./ThreadApproveG export type { ThreadArchiveParams } from "./ThreadArchiveParams"; export type { ThreadArchiveResponse } from "./ThreadArchiveResponse"; export type { ThreadArchivedNotification } from "./ThreadArchivedNotification"; +export type { ThreadBackgroundTerminal } from "./ThreadBackgroundTerminal"; export type { ThreadBackgroundTerminalsCleanParams } from "./ThreadBackgroundTerminalsCleanParams"; export type { ThreadBackgroundTerminalsCleanResponse } from "./ThreadBackgroundTerminalsCleanResponse"; +export type { ThreadBackgroundTerminalsListParams } from "./ThreadBackgroundTerminalsListParams"; +export type { ThreadBackgroundTerminalsListResponse } from "./ThreadBackgroundTerminalsListResponse"; +export type { ThreadBackgroundTerminalsTerminateParams } from "./ThreadBackgroundTerminalsTerminateParams"; +export type { ThreadBackgroundTerminalsTerminateResponse } from "./ThreadBackgroundTerminalsTerminateResponse"; export type { ThreadClosedNotification } from "./ThreadClosedNotification"; export type { ThreadCompactStartParams } from "./ThreadCompactStartParams"; export type { ThreadCompactStartResponse } from "./ThreadCompactStartResponse"; export type { ThreadDecrementElicitationParams } from "./ThreadDecrementElicitationParams"; export type { ThreadDecrementElicitationResponse } from "./ThreadDecrementElicitationResponse"; +export type { ThreadDeleteParams } from "./ThreadDeleteParams"; +export type { ThreadDeleteResponse } from "./ThreadDeleteResponse"; +export type { ThreadDeletedNotification } from "./ThreadDeletedNotification"; export type { ThreadForkParams } from "./ThreadForkParams"; export type { ThreadForkResponse } from "./ThreadForkResponse"; export type { ThreadGoal } from "./ThreadGoal"; diff --git a/tests/features/chat/conversation/pending-requests/controller.test.ts b/tests/features/chat/conversation/pending-requests/controller.test.ts index 5c8cc5eb..700d1ad6 100644 --- a/tests/features/chat/conversation/pending-requests/controller.test.ts +++ b/tests/features/chat/conversation/pending-requests/controller.test.ts @@ -55,6 +55,7 @@ function userInputRequest(): ServerRequest { options: [{ label: "Recommended", description: "Use the default path" }], }, ], + autoResolutionMs: null, }, }; } diff --git a/tests/features/chat/protocol/inbound/controller.test.ts b/tests/features/chat/protocol/inbound/controller.test.ts index 9c3dfa81..4f1c49d8 100644 --- a/tests/features/chat/protocol/inbound/controller.test.ts +++ b/tests/features/chat/protocol/inbound/controller.test.ts @@ -736,6 +736,7 @@ describe("ChatInboundController", () => { options: [{ label: "Narrow", description: "Small change" }], }, ], + autoResolutionMs: null, }, }); @@ -765,6 +766,7 @@ describe("ChatInboundController", () => { turnId: "turn-active", itemId: "input-1", questions: [{ id: "note", header: "Note", question: "What now?", isOther: false, isSecret: false, options: null }], + autoResolutionMs: null, }, }); @@ -907,6 +909,7 @@ describe("ChatInboundController", () => { turnId: "turn-active", itemId: "input", questions: [{ id: "note", header: "Note", question: "What now?", isOther: false, isSecret: false, options: null }], + autoResolutionMs: null, }, }); controller.handleServerRequest({ @@ -917,6 +920,7 @@ describe("ChatInboundController", () => { turnId: "turn-other", itemId: "input", questions: [{ id: "note", header: "Note", question: "What now?", isOther: false, isSecret: false, options: null }], + autoResolutionMs: null, }, }); @@ -951,6 +955,7 @@ describe("ChatInboundController", () => { turnId: "turn-stale", itemId: "input", questions: [{ id: "note", header: "Note", question: "What now?", isOther: false, isSecret: false, options: null }], + autoResolutionMs: null, }, }); @@ -1000,6 +1005,7 @@ describe("ChatInboundController", () => { turnId: "turn-active", itemId: "input", questions: [{ id: "note", header: "Note", question: "What now?", isOther: false, isSecret: false, options: null }], + autoResolutionMs: null, }, }, ], @@ -1084,6 +1090,7 @@ describe("ChatInboundController", () => { turnId: "turn-active", itemId: "input", questions: [{ id: "note", header: "Note", question: "What now?", isOther: false, isSecret: false, options: null }], + autoResolutionMs: null, }, }, ], @@ -1858,6 +1865,7 @@ function userInputRequest(id: number): ServerRequest { turnId: "turn", itemId: "input", questions: [{ id: "note", header: "Note", question: "What now?", isOther: false, isSecret: false, options: null }], + autoResolutionMs: null, }, }; } diff --git a/tests/features/chat/protocol/inbound/routing.test.ts b/tests/features/chat/protocol/inbound/routing.test.ts index 8a22217e..6829104d 100644 --- a/tests/features/chat/protocol/inbound/routing.test.ts +++ b/tests/features/chat/protocol/inbound/routing.test.ts @@ -294,6 +294,7 @@ function userInputRequest( turnId: "turn-active", itemId: "input", questions: [{ id: "note", header: "Note", question: "What now?", isOther: false, isSecret: false, options: null }], + autoResolutionMs: null, ...overrides, }, }; diff --git a/tests/features/chat/protocol/server-requests/user-input.test.ts b/tests/features/chat/protocol/server-requests/user-input.test.ts index e937194d..be036faa 100644 --- a/tests/features/chat/protocol/server-requests/user-input.test.ts +++ b/tests/features/chat/protocol/server-requests/user-input.test.ts @@ -32,6 +32,7 @@ describe("user input model", () => { options: [{ label: "Recommended", description: "Use the default path" }], }, ], + autoResolutionMs: null, }, }; @@ -64,6 +65,7 @@ describe("user input model", () => { options: [{ label: "Recommended", description: "Use the default path" }], }, ], + autoResolutionMs: null, }, }), ); diff --git a/tests/features/chat/state-reducer.test.ts b/tests/features/chat/state-reducer.test.ts index 3df0cce7..c24373da 100644 --- a/tests/features/chat/state-reducer.test.ts +++ b/tests/features/chat/state-reducer.test.ts @@ -782,6 +782,7 @@ function userInput(requestId: number): ChatState["requests"]["pendingUserInputs" turnId: "turn", itemId: "input", questions: [{ id: "note", header: "Note", question: "What now?", isOther: false, isSecret: false, options: null }], + autoResolutionMs: null, }, }; } diff --git a/tests/features/chat/ui/message-stream/test-helpers.tsx b/tests/features/chat/ui/message-stream/test-helpers.tsx index 10bb09f6..b6d9425e 100644 --- a/tests/features/chat/ui/message-stream/test-helpers.tsx +++ b/tests/features/chat/ui/message-stream/test-helpers.tsx @@ -269,6 +269,7 @@ export function pendingUserInput(): PendingUserInput { options: [{ label: "Narrow", description: "Small change" }], }, ], + autoResolutionMs: null, }, }; }