From fc7a5462a3f63b4b1159b8145a2dcdf511fa37d7 Mon Sep 17 00:00:00 2001 From: murashit Date: Thu, 11 Jun 2026 18:40:38 +0900 Subject: [PATCH] Update Codex app-server bindings for 0.139.0 --- README.md | 2 +- src/features/chat/protocol/inbound/routing.ts | 5 +++- src/features/chat/runtime/state.ts | 7 +++-- src/features/chat/state/actions.ts | 6 ++--- src/features/chat/threads/thread-resume.ts | 6 ++--- .../app-server/AgentMessageInputContent.ts | 5 ++++ src/generated/app-server/AuthMode.ts | 2 +- src/generated/app-server/ClientRequest.ts | 3 ++- src/generated/app-server/ReasoningEffort.ts | 2 +- src/generated/app-server/ResponseItem.ts | 3 ++- .../app-server/ServerNotification.ts | 3 ++- src/generated/app-server/index.ts | 1 + .../v2/AccountTokenUsageDailyBucket.ts | 5 ++++ .../app-server/v2/AccountTokenUsageSummary.ts | 5 ++++ .../app-server/v2/AppTemplateSummary.ts | 6 +++++ .../v2/AppTemplateUnavailableReason.ts | 5 ++++ .../app-server/v2/ConfigRequirements.ts | 2 +- .../v2/GetAccountTokenUsageResponse.ts | 7 +++++ .../v2/McpServerStatusUpdatedNotification.ts | 2 +- src/generated/app-server/v2/PluginDetail.ts | 3 ++- .../v2/RemoteControlPairingStatusParams.ts | 5 ++++ .../v2/RemoteControlPairingStatusResponse.ts | 5 ++++ .../app-server/v2/ThreadForkParams.ts | 6 ++--- .../app-server/v2/ThreadResumeParams.ts | 6 ++--- .../app-server/v2/ThreadStartParams.ts | 6 ++--- .../v2/TurnModerationMetadataNotification.ts | 6 +++++ .../app-server/v2/TurnStartParams.ts | 8 +++--- src/generated/app-server/v2/index.ts | 8 ++++++ .../chat/protocol/inbound/controller.test.ts | 1 + .../chat/protocol/inbound/routing.test.ts | 26 ++++++++++++++++++- 30 files changed, 125 insertions(+), 32 deletions(-) create mode 100644 src/generated/app-server/AgentMessageInputContent.ts create mode 100644 src/generated/app-server/v2/AccountTokenUsageDailyBucket.ts create mode 100644 src/generated/app-server/v2/AccountTokenUsageSummary.ts create mode 100644 src/generated/app-server/v2/AppTemplateSummary.ts create mode 100644 src/generated/app-server/v2/AppTemplateUnavailableReason.ts create mode 100644 src/generated/app-server/v2/GetAccountTokenUsageResponse.ts create mode 100644 src/generated/app-server/v2/RemoteControlPairingStatusParams.ts create mode 100644 src/generated/app-server/v2/RemoteControlPairingStatusResponse.ts create mode 100644 src/generated/app-server/v2/TurnModerationMetadataNotification.ts diff --git a/README.md b/README.md index 42abe718..c52ae18a 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,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.137.0` | Track app-server compatibility by Codex CLI minor version. | +| `codex.testedCliVersion` | `0.139.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/protocol/inbound/routing.ts b/src/features/chat/protocol/inbound/routing.ts index ff659700..507f3ba8 100644 --- a/src/features/chat/protocol/inbound/routing.ts +++ b/src/features/chat/protocol/inbound/routing.ts @@ -96,6 +96,7 @@ export function messageThreadId(message: ServerNotification | ServerRequest): st case "item/reasoning/summaryTextDelta": case "item/reasoning/summaryPartAdded": case "item/reasoning/textDelta": + case "turn/moderationMetadata": case "thread/compacted": case "model/rerouted": case "model/verification": @@ -121,7 +122,6 @@ export function messageThreadId(message: ServerNotification | ServerRequest): st case "process/outputDelta": case "process/exited": case "mcpServer/oauthLogin/completed": - case "mcpServer/startupStatus/updated": case "account/updated": case "account/rateLimits/updated": case "app/list/updated": @@ -140,6 +140,8 @@ export function messageThreadId(message: ServerNotification | ServerRequest): st case "applyPatchApproval": case "execCommandApproval": return null; + case "mcpServer/startupStatus/updated": + return message.params.threadId ?? null; } } @@ -170,6 +172,7 @@ export function messageTurnId(message: ServerNotification | ServerRequest): stri case "item/reasoning/summaryTextDelta": case "item/reasoning/summaryPartAdded": case "item/reasoning/textDelta": + case "turn/moderationMetadata": case "thread/compacted": case "model/rerouted": case "model/verification": diff --git a/src/features/chat/runtime/state.ts b/src/features/chat/runtime/state.ts index 8f726633..b3747552 100644 --- a/src/features/chat/runtime/state.ts +++ b/src/features/chat/runtime/state.ts @@ -7,7 +7,7 @@ import { } from "../../../app-server/runtime-policy"; import type { ThreadSettingsUpdate } from "../../../app-server/thread-settings"; import type { CollaborationMode } from "./turn-settings"; -import type { ReasoningEffort } from "../../../domain/catalog/metadata"; +import { normalizeReasoningEffort, type ReasoningEffort } from "../../../domain/catalog/metadata"; import { resetRuntimeSettingToConfig, setPendingRuntimeSetting, @@ -106,7 +106,10 @@ export function commitPendingThreadSettingsRuntimeState(state: ChatRuntimeState, ...state, ...("model" in update ? { activeModel: update.model ?? null, requestedModel: unchangedRuntimeSetting() } : {}), ...("effort" in update - ? { activeReasoningEffort: update.effort ?? null, requestedReasoningEffort: unchangedRuntimeSetting() } + ? { + activeReasoningEffort: normalizeReasoningEffort(update.effort), + requestedReasoningEffort: unchangedRuntimeSetting(), + } : {}), ...("serviceTier" in update ? { activeServiceTier: parseServiceTier(update.serviceTier), requestedServiceTier: unchangedRuntimeSetting() } diff --git a/src/features/chat/state/actions.ts b/src/features/chat/state/actions.ts index d9eeab6a..c2ce1b68 100644 --- a/src/features/chat/state/actions.ts +++ b/src/features/chat/state/actions.ts @@ -2,7 +2,7 @@ import type { AppServerInitialization } from "../../../app-server/initialization import type { Thread } from "../../../domain/threads/model"; import type { ThreadTokenUsage } from "../../../app-server/runtime-metrics"; import { parseServiceTier, type ServiceTier } from "../../../app-server/runtime-policy"; -import type { ReasoningEffort } from "../../../domain/catalog/metadata"; +import { normalizeReasoningEffort, type ReasoningEffort } from "../../../domain/catalog/metadata"; import type { ChatRuntimeState } from "../runtime/state"; import type { CollaborationMode } from "../runtime/turn-settings"; import type { DisplayItem } from "../display/types"; @@ -38,7 +38,7 @@ export interface ActiveThreadSettingsAppliedAction { export interface ActiveThreadSettingsAppliedActionSettings { cwd: string; model: string | null; - effort: ReasoningEffort | null; + effort: string | null; collaborationMode: { mode: CollaborationMode }; serviceTier: string | null; approvalPolicy: ChatRuntimeState["activeApprovalPolicy"]; @@ -161,7 +161,7 @@ export function activeThreadSettingsAppliedAction(settings: ActiveThreadSettings type: "active-thread/settings-applied", cwd: settings.cwd, model: settings.model, - reasoningEffort: settings.effort, + reasoningEffort: normalizeReasoningEffort(settings.effort), collaborationMode: settings.collaborationMode.mode, serviceTier: parseServiceTier(settings.serviceTier), approvalPolicy: settings.approvalPolicy, diff --git a/src/features/chat/threads/thread-resume.ts b/src/features/chat/threads/thread-resume.ts index a99eff27..9d5a2101 100644 --- a/src/features/chat/threads/thread-resume.ts +++ b/src/features/chat/threads/thread-resume.ts @@ -1,7 +1,7 @@ import { parseServiceTier, type ApprovalPolicy } from "../../../app-server/runtime-policy"; import { upsertThread } from "../../../domain/threads/model"; import { threadFromAppServerThread } from "../../../app-server/thread-model"; -import type { ReasoningEffort } from "../../../domain/catalog/metadata"; +import { normalizeReasoningEffort } from "../../../domain/catalog/metadata"; import type { Thread } from "../../../domain/threads/model"; import type { ThreadStartResponse } from "../../../generated/app-server/v2/ThreadStartResponse"; import type { ThreadResumeResponse } from "../../../generated/app-server/v2/ThreadResumeResponse"; @@ -17,7 +17,7 @@ interface ThreadActivationResponse { approvalPolicy: ApprovalPolicy | null; approvalsReviewer: ChatRuntimeState["activeApprovalsReviewer"]; activePermissionProfile: ChatRuntimeState["activePermissionProfile"]; - reasoningEffort: ReasoningEffort | null; + reasoningEffort: string | null; } export interface ResumedThreadActionParams { @@ -80,7 +80,7 @@ export function resumedThreadAction(params: ResumedThreadActionParams): ActiveTh thread: response.thread, cwd: response.cwd, model: response.model, - reasoningEffort: response.reasoningEffort, + reasoningEffort: normalizeReasoningEffort(response.reasoningEffort), serviceTier: parseServiceTier(response.serviceTier), approvalPolicy: response.approvalPolicy, approvalsReviewer: response.approvalsReviewer, diff --git a/src/generated/app-server/AgentMessageInputContent.ts b/src/generated/app-server/AgentMessageInputContent.ts new file mode 100644 index 00000000..a3bb6455 --- /dev/null +++ b/src/generated/app-server/AgentMessageInputContent.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 AgentMessageInputContent = { "type": "encrypted_content", encrypted_content: string, }; diff --git a/src/generated/app-server/AuthMode.ts b/src/generated/app-server/AuthMode.ts index 210e54c4..1cb6ccb6 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"; +export type AuthMode = "apikey" | "chatgpt" | "chatgptAuthTokens" | "agentIdentity" | "personalAccessToken"; diff --git a/src/generated/app-server/ClientRequest.ts b/src/generated/app-server/ClientRequest.ts index b73d4a92..31fb92ca 100644 --- a/src/generated/app-server/ClientRequest.ts +++ b/src/generated/app-server/ClientRequest.ts @@ -67,6 +67,7 @@ import type { ProcessWriteStdinParams } from "./v2/ProcessWriteStdinParams"; import type { RemoteControlClientsListParams } from "./v2/RemoteControlClientsListParams"; import type { RemoteControlClientsRevokeParams } from "./v2/RemoteControlClientsRevokeParams"; import type { RemoteControlPairingStartParams } from "./v2/RemoteControlPairingStartParams"; +import type { RemoteControlPairingStatusParams } from "./v2/RemoteControlPairingStatusParams"; import type { ReviewStartParams } from "./v2/ReviewStartParams"; import type { SendAddCreditsNudgeEmailParams } from "./v2/SendAddCreditsNudgeEmailParams"; import type { SkillsConfigWriteParams } from "./v2/SkillsConfigWriteParams"; @@ -112,4 +113,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/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/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/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, }; diff --git a/src/generated/app-server/ReasoningEffort.ts b/src/generated/app-server/ReasoningEffort.ts index c0798f43..d40f5bd6 100644 --- a/src/generated/app-server/ReasoningEffort.ts +++ b/src/generated/app-server/ReasoningEffort.ts @@ -5,4 +5,4 @@ /** * See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning */ -export type ReasoningEffort = "none" | "minimal" | "low" | "medium" | "high" | "xhigh"; +export type ReasoningEffort = string; diff --git a/src/generated/app-server/ResponseItem.ts b/src/generated/app-server/ResponseItem.ts index e5e960ff..b90963db 100644 --- a/src/generated/app-server/ResponseItem.ts +++ b/src/generated/app-server/ResponseItem.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 { AgentMessageInputContent } from "./AgentMessageInputContent"; import type { ContentItem } from "./ContentItem"; import type { FunctionCallOutputBody } from "./FunctionCallOutputBody"; import type { LocalShellAction } from "./LocalShellAction"; @@ -10,7 +11,7 @@ import type { ReasoningItemContent } from "./ReasoningItemContent"; import type { ReasoningItemReasoningSummary } from "./ReasoningItemReasoningSummary"; import type { WebSearchAction } from "./WebSearchAction"; -export type ResponseItem = { "type": "message", role: string, content: Array, phase?: MessagePhase, } | { "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, } | { "type": "agent_message", author: string, recipient: string, content: Array, } | { "type": "reasoning", summary: Array, content?: Array, encrypted_content: string | null, } | { "type": "local_shell_call", /** * Set when using the Responses API. */ diff --git a/src/generated/app-server/ServerNotification.ts b/src/generated/app-server/ServerNotification.ts index 3ed710ef..2520c71c 100644 --- a/src/generated/app-server/ServerNotification.ts +++ b/src/generated/app-server/ServerNotification.ts @@ -61,6 +61,7 @@ import type { ThreadTokenUsageUpdatedNotification } from "./v2/ThreadTokenUsageU import type { ThreadUnarchivedNotification } from "./v2/ThreadUnarchivedNotification"; import type { TurnCompletedNotification } from "./v2/TurnCompletedNotification"; import type { TurnDiffUpdatedNotification } from "./v2/TurnDiffUpdatedNotification"; +import type { TurnModerationMetadataNotification } from "./v2/TurnModerationMetadataNotification"; import type { TurnPlanUpdatedNotification } from "./v2/TurnPlanUpdatedNotification"; import type { TurnStartedNotification } from "./v2/TurnStartedNotification"; import type { WarningNotification } from "./v2/WarningNotification"; @@ -70,4 +71,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": "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/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 73ab672c..d4ede6fa 100644 --- a/src/generated/app-server/index.ts +++ b/src/generated/app-server/index.ts @@ -1,6 +1,7 @@ // GENERATED CODE! DO NOT MODIFY BY HAND! export type { AbsolutePathBuf } from "./AbsolutePathBuf"; +export type { AgentMessageInputContent } from "./AgentMessageInputContent"; export type { AgentPath } from "./AgentPath"; export type { ApplyPatchApprovalParams } from "./ApplyPatchApprovalParams"; export type { ApplyPatchApprovalResponse } from "./ApplyPatchApprovalResponse"; diff --git a/src/generated/app-server/v2/AccountTokenUsageDailyBucket.ts b/src/generated/app-server/v2/AccountTokenUsageDailyBucket.ts new file mode 100644 index 00000000..a92c6c00 --- /dev/null +++ b/src/generated/app-server/v2/AccountTokenUsageDailyBucket.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 AccountTokenUsageDailyBucket = { startDate: string, tokens: bigint, }; diff --git a/src/generated/app-server/v2/AccountTokenUsageSummary.ts b/src/generated/app-server/v2/AccountTokenUsageSummary.ts new file mode 100644 index 00000000..6f87acda --- /dev/null +++ b/src/generated/app-server/v2/AccountTokenUsageSummary.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 AccountTokenUsageSummary = { lifetimeTokens: bigint | null, peakDailyTokens: bigint | null, longestRunningTurnSec: bigint | null, currentStreakDays: bigint | null, longestStreakDays: bigint | null, }; diff --git a/src/generated/app-server/v2/AppTemplateSummary.ts b/src/generated/app-server/v2/AppTemplateSummary.ts new file mode 100644 index 00000000..dd5f7622 --- /dev/null +++ b/src/generated/app-server/v2/AppTemplateSummary.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 { 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, }; diff --git a/src/generated/app-server/v2/AppTemplateUnavailableReason.ts b/src/generated/app-server/v2/AppTemplateUnavailableReason.ts new file mode 100644 index 00000000..56305679 --- /dev/null +++ b/src/generated/app-server/v2/AppTemplateUnavailableReason.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 AppTemplateUnavailableReason = "NOT_CONFIGURED_FOR_WORKSPACE" | "NO_ACTIVE_WORKSPACE"; diff --git a/src/generated/app-server/v2/ConfigRequirements.ts b/src/generated/app-server/v2/ConfigRequirements.ts index 3c25f21b..a6cae8d3 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, allowedPermissions: Array | 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, 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/GetAccountTokenUsageResponse.ts b/src/generated/app-server/v2/GetAccountTokenUsageResponse.ts new file mode 100644 index 00000000..175c9152 --- /dev/null +++ b/src/generated/app-server/v2/GetAccountTokenUsageResponse.ts @@ -0,0 +1,7 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AccountTokenUsageDailyBucket } from "./AccountTokenUsageDailyBucket"; +import type { AccountTokenUsageSummary } from "./AccountTokenUsageSummary"; + +export type GetAccountTokenUsageResponse = { summary: AccountTokenUsageSummary, dailyUsageBuckets: Array | null, }; diff --git a/src/generated/app-server/v2/McpServerStatusUpdatedNotification.ts b/src/generated/app-server/v2/McpServerStatusUpdatedNotification.ts index 42f5881c..b5c0a905 100644 --- a/src/generated/app-server/v2/McpServerStatusUpdatedNotification.ts +++ b/src/generated/app-server/v2/McpServerStatusUpdatedNotification.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 { McpServerStartupState } from "./McpServerStartupState"; -export type McpServerStatusUpdatedNotification = { name: string, status: McpServerStartupState, error: string | null, }; +export type McpServerStatusUpdatedNotification = { threadId: string | null, name: string, status: McpServerStartupState, error: string | null, }; diff --git a/src/generated/app-server/v2/PluginDetail.ts b/src/generated/app-server/v2/PluginDetail.ts index 64836c87..cc2042dd 100644 --- a/src/generated/app-server/v2/PluginDetail.ts +++ b/src/generated/app-server/v2/PluginDetail.ts @@ -3,8 +3,9 @@ // 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 { AppSummary } from "./AppSummary"; +import type { AppTemplateSummary } from "./AppTemplateSummary"; 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, mcpServers: Array, }; +export type PluginDetail = { marketplaceName: string, marketplacePath: AbsolutePathBuf | null, summary: PluginSummary, description: string | null, skills: Array, hooks: Array, apps: Array, appTemplates: Array, mcpServers: Array, }; diff --git a/src/generated/app-server/v2/RemoteControlPairingStatusParams.ts b/src/generated/app-server/v2/RemoteControlPairingStatusParams.ts new file mode 100644 index 00000000..908cec0f --- /dev/null +++ b/src/generated/app-server/v2/RemoteControlPairingStatusParams.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 RemoteControlPairingStatusParams = { pairingCode?: string | null, manualPairingCode?: string | null, }; diff --git a/src/generated/app-server/v2/RemoteControlPairingStatusResponse.ts b/src/generated/app-server/v2/RemoteControlPairingStatusResponse.ts new file mode 100644 index 00000000..73a5fb12 --- /dev/null +++ b/src/generated/app-server/v2/RemoteControlPairingStatusResponse.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 RemoteControlPairingStatusResponse = { claimed: boolean, }; diff --git a/src/generated/app-server/v2/ThreadForkParams.ts b/src/generated/app-server/v2/ThreadForkParams.ts index 7982936a..540cee76 100644 --- a/src/generated/app-server/v2/ThreadForkParams.ts +++ b/src/generated/app-server/v2/ThreadForkParams.ts @@ -2,6 +2,7 @@ // 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 { AbsolutePathBuf } from "../AbsolutePathBuf"; import type { JsonValue } from "../serde_json/JsonValue"; import type { ApprovalsReviewer } from "./ApprovalsReviewer"; import type { AskForApproval } from "./AskForApproval"; @@ -29,10 +30,9 @@ path?: string | null, */ model?: string | null, modelProvider?: string | null, serviceTier?: string | null, cwd?: string | null, /** - * Replace the thread's runtime workspace roots. Relative paths are - * resolved against the effective cwd for the thread. + * Replace the thread's runtime workspace roots. Paths must be absolute. */ -runtimeWorkspaceRoots?: Array | null, approvalPolicy?: AskForApproval | null, +runtimeWorkspaceRoots?: Array | null, approvalPolicy?: AskForApproval | null, /** * Override where approval requests are routed for review on this thread * and subsequent turns. diff --git a/src/generated/app-server/v2/ThreadResumeParams.ts b/src/generated/app-server/v2/ThreadResumeParams.ts index 29b13890..23b20c3c 100644 --- a/src/generated/app-server/v2/ThreadResumeParams.ts +++ b/src/generated/app-server/v2/ThreadResumeParams.ts @@ -2,6 +2,7 @@ // 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 { AbsolutePathBuf } from "../AbsolutePathBuf"; import type { Personality } from "../Personality"; import type { ResponseItem } from "../ResponseItem"; import type { JsonValue } from "../serde_json/JsonValue"; @@ -45,10 +46,9 @@ path?: string | null, */ model?: string | null, modelProvider?: string | null, serviceTier?: string | null, cwd?: string | null, /** - * Replace the thread's runtime workspace roots. Relative paths are - * resolved against the effective cwd for the thread. + * Replace the thread's runtime workspace roots. Paths must be absolute. */ -runtimeWorkspaceRoots?: Array | null, approvalPolicy?: AskForApproval | null, +runtimeWorkspaceRoots?: Array | null, approvalPolicy?: AskForApproval | null, /** * Override where approval requests are routed for review on this thread * and subsequent turns. diff --git a/src/generated/app-server/v2/ThreadStartParams.ts b/src/generated/app-server/v2/ThreadStartParams.ts index c7903e78..83e86b1f 100644 --- a/src/generated/app-server/v2/ThreadStartParams.ts +++ b/src/generated/app-server/v2/ThreadStartParams.ts @@ -2,6 +2,7 @@ // 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 { AbsolutePathBuf } from "../AbsolutePathBuf"; import type { Personality } from "../Personality"; import type { JsonValue } from "../serde_json/JsonValue"; import type { ApprovalsReviewer } from "./ApprovalsReviewer"; @@ -14,10 +15,9 @@ import type { TurnEnvironmentParams } from "./TurnEnvironmentParams"; export type ThreadStartParams = { model?: string | null, modelProvider?: string | null, serviceTier?: string | null, cwd?: string | null, /** - * Replace the thread's runtime workspace roots. Relative paths are - * resolved against the effective cwd for the thread. + * Replace the thread's runtime workspace roots. Paths must be absolute. */ -runtimeWorkspaceRoots?: Array | null, approvalPolicy?: AskForApproval | null, +runtimeWorkspaceRoots?: Array | null, approvalPolicy?: AskForApproval | null, /** * Override where approval requests are routed for review on this thread * and subsequent turns. diff --git a/src/generated/app-server/v2/TurnModerationMetadataNotification.ts b/src/generated/app-server/v2/TurnModerationMetadataNotification.ts new file mode 100644 index 00000000..1d46d1b4 --- /dev/null +++ b/src/generated/app-server/v2/TurnModerationMetadataNotification.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 TurnModerationMetadataNotification = { threadId: string, turnId: string, metadata: JsonValue, }; diff --git a/src/generated/app-server/v2/TurnStartParams.ts b/src/generated/app-server/v2/TurnStartParams.ts index 05d66372..dca44932 100644 --- a/src/generated/app-server/v2/TurnStartParams.ts +++ b/src/generated/app-server/v2/TurnStartParams.ts @@ -2,6 +2,7 @@ // 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 { AbsolutePathBuf } from "../AbsolutePathBuf"; import type { CollaborationMode } from "../CollaborationMode"; import type { Personality } from "../Personality"; import type { ReasoningEffort } from "../ReasoningEffort"; @@ -24,7 +25,7 @@ responsesapiClientMetadata?: { [key in string]?: string } | null, */ additionalContext?: { [key in string]?: AdditionalContextEntry } | null, /** - * Optional turn-scoped environments. + * Optional environments for this turn and subsequent turns. * * Omitted uses the thread sticky environments. Empty disables * environment access for this turn. Non-empty selects the first @@ -37,10 +38,9 @@ environments?: Array | null, cwd?: string | null, /** * Replace the thread's runtime workspace roots for this turn and - * subsequent turns. Relative paths are resolved against the effective - * cwd for the turn. + * subsequent turns. Paths must be absolute. */ -runtimeWorkspaceRoots?: Array | null, +runtimeWorkspaceRoots?: Array | null, /** * Override the approval policy for this turn and subsequent turns. */ diff --git a/src/generated/app-server/v2/index.ts b/src/generated/app-server/v2/index.ts index ff32f7b2..43af5397 100644 --- a/src/generated/app-server/v2/index.ts +++ b/src/generated/app-server/v2/index.ts @@ -3,6 +3,8 @@ export type { Account } from "./Account"; export type { AccountLoginCompletedNotification } from "./AccountLoginCompletedNotification"; export type { AccountRateLimitsUpdatedNotification } from "./AccountRateLimitsUpdatedNotification"; +export type { AccountTokenUsageDailyBucket } from "./AccountTokenUsageDailyBucket"; +export type { AccountTokenUsageSummary } from "./AccountTokenUsageSummary"; export type { AccountUpdatedNotification } from "./AccountUpdatedNotification"; export type { ActivePermissionProfile } from "./ActivePermissionProfile"; export type { AddCreditsNudgeCreditType } from "./AddCreditsNudgeCreditType"; @@ -21,6 +23,8 @@ export type { AppMetadata } from "./AppMetadata"; export type { AppReview } from "./AppReview"; export type { AppScreenshot } from "./AppScreenshot"; export type { AppSummary } from "./AppSummary"; +export type { AppTemplateSummary } from "./AppTemplateSummary"; +export type { AppTemplateUnavailableReason } from "./AppTemplateUnavailableReason"; export type { AppToolApproval } from "./AppToolApproval"; export type { AppToolsConfig } from "./AppToolsConfig"; export type { ApprovalsReviewer } from "./ApprovalsReviewer"; @@ -143,6 +147,7 @@ export type { FsWriteFileResponse } from "./FsWriteFileResponse"; export type { GetAccountParams } from "./GetAccountParams"; export type { GetAccountRateLimitsResponse } from "./GetAccountRateLimitsResponse"; export type { GetAccountResponse } from "./GetAccountResponse"; +export type { GetAccountTokenUsageResponse } from "./GetAccountTokenUsageResponse"; export type { GitInfo } from "./GitInfo"; export type { GrantedPermissionProfile } from "./GrantedPermissionProfile"; export type { GuardianApprovalReview } from "./GuardianApprovalReview"; @@ -344,6 +349,8 @@ export type { RemoteControlDisableResponse } from "./RemoteControlDisableRespons export type { RemoteControlEnableResponse } from "./RemoteControlEnableResponse"; export type { RemoteControlPairingStartParams } from "./RemoteControlPairingStartParams"; export type { RemoteControlPairingStartResponse } from "./RemoteControlPairingStartResponse"; +export type { RemoteControlPairingStatusParams } from "./RemoteControlPairingStatusParams"; +export type { RemoteControlPairingStatusResponse } from "./RemoteControlPairingStatusResponse"; export type { RemoteControlStatusChangedNotification } from "./RemoteControlStatusChangedNotification"; export type { RemoteControlStatusReadResponse } from "./RemoteControlStatusReadResponse"; export type { RequestPermissionProfile } from "./RequestPermissionProfile"; @@ -497,6 +504,7 @@ export type { TurnError } from "./TurnError"; export type { TurnInterruptParams } from "./TurnInterruptParams"; export type { TurnInterruptResponse } from "./TurnInterruptResponse"; export type { TurnItemsView } from "./TurnItemsView"; +export type { TurnModerationMetadataNotification } from "./TurnModerationMetadataNotification"; export type { TurnPlanStep } from "./TurnPlanStep"; export type { TurnPlanStepStatus } from "./TurnPlanStepStatus"; export type { TurnPlanUpdatedNotification } from "./TurnPlanUpdatedNotification"; diff --git a/tests/features/chat/protocol/inbound/controller.test.ts b/tests/features/chat/protocol/inbound/controller.test.ts index aec848c0..569e47c2 100644 --- a/tests/features/chat/protocol/inbound/controller.test.ts +++ b/tests/features/chat/protocol/inbound/controller.test.ts @@ -676,6 +676,7 @@ describe("ChatInboundController", () => { controller.handleNotification({ method: "mcpServer/startupStatus/updated", params: { + threadId: null, name: "github", status: "failed", error: "missing token", diff --git a/tests/features/chat/protocol/inbound/routing.test.ts b/tests/features/chat/protocol/inbound/routing.test.ts index eb712b49..469eb2c7 100644 --- a/tests/features/chat/protocol/inbound/routing.test.ts +++ b/tests/features/chat/protocol/inbound/routing.test.ts @@ -141,6 +141,16 @@ describe("chat inbound routing", () => { ); expect(routeServerNotification(rawResponseItemCompletedNotification("thread-other", "turn-active"), activeScope).kind).toBe("inactive"); expect(routeServerNotification(rawResponseItemCompletedNotification("thread-active", "turn-other"), activeScope).kind).toBe("inactive"); + + expect(routeServerNotification(turnModerationMetadataNotification("thread-active", "turn-active"), activeScope).kind).toBe("unhandled"); + expect(routeServerNotification(turnModerationMetadataNotification("thread-other", "turn-active"), activeScope).kind).toBe("inactive"); + expect(routeServerNotification(turnModerationMetadataNotification("thread-active", "turn-other"), activeScope).kind).toBe("inactive"); + }); + + it("scopes MCP startup status notifications when app-server provides a thread id", () => { + expect(messageThreadId(mcpStartupStatusNotificationForThread("thread-active"))).toBe("thread-active"); + expect(routeServerNotification(mcpStartupStatusNotificationForThread("thread-active"), activeScope).kind).toBe("diagnosticStatus"); + expect(routeServerNotification(mcpStartupStatusNotificationForThread("thread-other"), activeScope).kind).toBe("inactive"); }); }); @@ -276,9 +286,23 @@ function serverRequestResolvedNotification(): ServerNotification { } function mcpStartupStatusNotification(): ServerNotification { + return mcpStartupStatusNotificationForThread(null); +} + +function mcpStartupStatusNotificationForThread(threadId: string | null): ServerNotification { return { method: "mcpServer/startupStatus/updated", - params: { name: "github", status: "failed", error: "missing token" }, + params: { threadId, name: "github", status: "failed", error: "missing token" }, + }; +} + +function turnModerationMetadataNotification( + threadId: string, + turnId: string, +): Extract { + return { + method: "turn/moderationMetadata", + params: { threadId, turnId, metadata: { blocked: false } }, }; }