mirror of
https://github.com/murashit/codex-panel.git
synced 2026-07-22 06:57:10 +00:00
Update app-server bindings for Codex CLI 0.140.0
This commit is contained in:
parent
36b9d99fcd
commit
e59a782705
45 changed files with 203 additions and 18 deletions
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -48,7 +48,12 @@ type ServerRequestScopeExtractors = {
|
|||
[Method in ServerRequestMethod]: (request: Extract<ServerRequest, { method: Method }>) => 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,
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ export interface PendingUserInputParams {
|
|||
turnId: string;
|
||||
itemId: string;
|
||||
questions: PendingUserInputQuestion[];
|
||||
autoResolutionMs: number | null;
|
||||
}
|
||||
|
||||
export interface PendingUserInput {
|
||||
|
|
|
|||
|
|
@ -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, };
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
5
src/generated/app-server/ConversationTextRole.ts
Normal file
5
src/generated/app-server/ConversationTextRole.ts
Normal file
|
|
@ -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";
|
||||
|
|
@ -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";
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -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, };
|
||||
|
|
|
|||
|
|
@ -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<string>, 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<string>, reason: AppTemplateUnavailableReason | null, };
|
||||
|
|
|
|||
|
|
@ -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, };
|
||||
|
|
|
|||
8
src/generated/app-server/v2/CapabilityRootLocation.ts
Normal file
8
src/generated/app-server/v2/CapabilityRootLocation.ts
Normal file
|
|
@ -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, };
|
||||
|
|
@ -11,4 +11,4 @@ import type { ResidencyRequirement } from "./ResidencyRequirement";
|
|||
import type { SandboxMode } from "./SandboxMode";
|
||||
import type { WindowsSandboxSetupMode } from "./WindowsSandboxSetupMode";
|
||||
|
||||
export type ConfigRequirements = { allowedApprovalPolicies: Array<AskForApproval> | null, allowedApprovalsReviewers: Array<ApprovalsReviewer> | null, allowedSandboxModes: Array<SandboxMode> | null, allowedWindowsSandboxImplementations: Array<WindowsSandboxSetupMode> | null, allowedPermissionProfiles: { [key in string]?: boolean } | null, defaultPermissions: string | null, allowedWebSearchModes: Array<WebSearchMode> | 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<AskForApproval> | null, allowedApprovalsReviewers: Array<ApprovalsReviewer> | null, allowedSandboxModes: Array<SandboxMode> | null, allowedWindowsSandboxImplementations: Array<WindowsSandboxSetupMode> | null, allowedPermissionProfiles: { [key in string]?: boolean } | null, defaultPermissions: string | null, allowedWebSearchModes: Array<WebSearchMode> | 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, };
|
||||
|
|
|
|||
|
|
@ -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<SkillSummary>, hooks: Array<PluginHookSummary>, apps: Array<AppSummary>, appTemplates: Array<AppTemplateSummary>, mcpServers: Array<string>, };
|
||||
export type PluginDetail = { marketplaceName: string, marketplacePath: AbsolutePathBuf | null, summary: PluginSummary, shareUrl: string | null, description: string | null, skills: Array<SkillSummary>, hooks: Array<PluginHookSummary>, apps: Array<AppSummary>, appTemplates: Array<AppTemplateSummary>, mcpServers: Array<string>, };
|
||||
|
|
|
|||
|
|
@ -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, };
|
||||
5
src/generated/app-server/v2/RemoteControlEnableParams.ts
Normal file
5
src/generated/app-server/v2/RemoteControlEnableParams.ts
Normal file
|
|
@ -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, };
|
||||
17
src/generated/app-server/v2/SelectedCapabilityRoot.ts
Normal file
17
src/generated/app-server/v2/SelectedCapabilityRoot.ts
Normal file
|
|
@ -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, };
|
||||
5
src/generated/app-server/v2/SubAgentActivityKind.ts
Normal file
5
src/generated/app-server/v2/SubAgentActivityKind.ts
Normal file
|
|
@ -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";
|
||||
6
src/generated/app-server/v2/ThreadBackgroundTerminal.ts
Normal file
6
src/generated/app-server/v2/ThreadBackgroundTerminal.ts
Normal file
|
|
@ -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, };
|
||||
|
|
@ -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, };
|
||||
|
|
@ -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<ThreadBackgroundTerminal>,
|
||||
/**
|
||||
* 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, };
|
||||
|
|
@ -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, };
|
||||
|
|
@ -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, };
|
||||
5
src/generated/app-server/v2/ThreadDeleteParams.ts
Normal file
5
src/generated/app-server/v2/ThreadDeleteParams.ts
Normal file
|
|
@ -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, };
|
||||
5
src/generated/app-server/v2/ThreadDeleteResponse.ts
Normal file
5
src/generated/app-server/v2/ThreadDeleteResponse.ts
Normal file
|
|
@ -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<string, never>;
|
||||
5
src/generated/app-server/v2/ThreadDeletedNotification.ts
Normal file
5
src/generated/app-server/v2/ThreadDeletedNotification.ts
Normal file
|
|
@ -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, };
|
||||
|
|
@ -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, };
|
||||
|
|
|
|||
|
|
@ -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, };
|
||||
|
|
|
|||
|
|
@ -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, };
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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<TurnEnvironmentParams> | null, dynamicTools?: Array<DynamicToolSpec> | null,
|
||||
/**
|
||||
* Capability roots selected for this thread by the hosting platform.
|
||||
*/
|
||||
selectedCapabilityRoots?: Array<SelectedCapabilityRoot> | null,
|
||||
/**
|
||||
* Test-only experimental field used to validate experimental gating and
|
||||
* schema filtering behavior in a stable way.
|
||||
|
|
|
|||
|
|
@ -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<ToolRequestUserInputQuestion>, };
|
||||
export type ToolRequestUserInputParams = { threadId: string, turnId: string, itemId: string, questions: Array<ToolRequestUserInputQuestion>, autoResolutionMs: number | null, };
|
||||
|
|
|
|||
|
|
@ -17,7 +17,13 @@ import type { UserInput } from "./UserInput";
|
|||
|
||||
export type TurnStartParams = { threadId: string, clientUserMessageId?: string | null, input: Array<UserInput>,
|
||||
/**
|
||||
* 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,
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -6,7 +6,13 @@ import type { UserInput } from "./UserInput";
|
|||
|
||||
export type TurnSteerParams = { threadId: string, clientUserMessageId?: string | null, input: Array<UserInput>,
|
||||
/**
|
||||
* 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,
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ function userInputRequest(): ServerRequest {
|
|||
options: [{ label: "Recommended", description: "Use the default path" }],
|
||||
},
|
||||
],
|
||||
autoResolutionMs: null,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -269,6 +269,7 @@ export function pendingUserInput(): PendingUserInput {
|
|||
options: [{ label: "Narrow", description: "Small change" }],
|
||||
},
|
||||
],
|
||||
autoResolutionMs: null,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue