From cec34821754ad935c780805f3116f99449d46ac2 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 24 Apr 2026 01:42:12 +0100 Subject: [PATCH] fix: support codex app-server image understanding --- CHANGELOG.md | 1 + docs/cli/infer.md | 2 +- docs/nodes/media-understanding.md | 10 +- docs/plugins/codex-harness.md | 7 + extensions/codex/index.test.ts | 9 + extensions/codex/index.ts | 4 + .../media-understanding-provider.test.ts | 262 ++ .../codex/media-understanding-provider.ts | 338 +++ extensions/codex/openclaw.plugin.json | 11 + extensions/codex/package.json | 1 + .../src/app-server/dynamic-tools.test.ts | 5 + .../codex/src/app-server/event-projector.ts | 26 +- .../codex/src/app-server/models.test.ts | 9 + extensions/codex/src/app-server/models.ts | 54 +- .../json/DynamicToolCallParams.json | 33 + .../json/v2/ErrorNotification.json | 199 ++ .../json/v2/ModelListResponse.json | 200 ++ .../json/v2/ThreadResumeResponse.json | 2554 +++++++++++++++++ .../json/v2/ThreadStartResponse.json | 2554 +++++++++++++++++ .../json/v2/TurnCompletedNotification.json | 1625 +++++++++++ .../json/v2/TurnStartResponse.json | 1621 +++++++++++ .../typescript/AbsolutePathBuf.ts | 14 + .../typescript/AgentPath.ts | 5 + .../typescript/ApplyPatchApprovalParams.ts | 21 + .../typescript/ApplyPatchApprovalResponse.ts | 6 + .../protocol-generated/typescript/AuthMode.ts | 8 + .../typescript/ClientInfo.ts | 5 + .../typescript/ClientNotification.ts | 5 + .../typescript/ClientRequest.ts | 79 + .../typescript/CollaborationMode.ts | 10 + .../typescript/ContentItem.ts | 6 + .../typescript/ConversationGitInfo.ts | 5 + .../typescript/ConversationSummary.ts | 8 + .../typescript/ExecCommandApprovalParams.ts | 16 + .../typescript/ExecCommandApprovalResponse.ts | 6 + .../typescript/ExecPolicyAmendment.ts | 12 + .../typescript/FileChange.ts | 5 + .../typescript/ForcedLoginMethod.ts | 5 + .../typescript/FunctionCallOutputBody.ts | 6 + .../FunctionCallOutputContentItem.ts | 10 + .../typescript/FuzzyFileSearchMatchType.ts | 5 + .../typescript/FuzzyFileSearchParams.ts | 5 + .../typescript/FuzzyFileSearchResponse.ts | 6 + .../typescript/FuzzyFileSearchResult.ts | 9 + ...yFileSearchSessionCompletedNotification.ts | 5 + ...zzyFileSearchSessionUpdatedNotification.ts | 6 + .../typescript/GetAuthStatusParams.ts | 5 + .../typescript/GetAuthStatusResponse.ts | 6 + .../GetConversationSummaryParams.ts | 6 + .../GetConversationSummaryResponse.ts | 6 + .../typescript/GhostCommit.ts | 8 + .../typescript/GitDiffToRemoteParams.ts | 5 + .../typescript/GitDiffToRemoteResponse.ts | 6 + .../protocol-generated/typescript/GitSha.ts | 5 + .../typescript/ImageDetail.ts | 5 + .../typescript/InitializeCapabilities.ts | 17 + .../typescript/InitializeParams.ts | 7 + .../typescript/InitializeResponse.ts | 20 + .../typescript/InputModality.ts | 8 + .../typescript/LocalShellAction.ts | 6 + .../typescript/LocalShellExecAction.ts | 5 + .../typescript/LocalShellStatus.ts | 5 + .../typescript/MessagePhase.ts | 11 + .../protocol-generated/typescript/ModeKind.ts | 8 + .../typescript/NetworkPolicyAmendment.ts | 6 + .../typescript/NetworkPolicyRuleAction.ts | 5 + .../typescript/ParsedCommand.ts | 12 + .../typescript/Personality.ts | 5 + .../protocol-generated/typescript/PlanType.ts | 5 + .../typescript/RealtimeConversationVersion.ts | 5 + .../typescript/RealtimeOutputModality.ts | 5 + .../typescript/RealtimeVoice.ts | 5 + .../typescript/RealtimeVoicesList.ts | 6 + .../typescript/ReasoningEffort.ts | 8 + .../typescript/ReasoningItemContent.ts | 5 + .../ReasoningItemReasoningSummary.ts | 5 + .../typescript/ReasoningSummary.ts | 10 + .../typescript/RequestId.ts | 5 + .../protocol-generated/typescript/Resource.ts | 9 + .../typescript/ResourceContent.ts | 17 + .../typescript/ResourceTemplate.ts | 9 + .../typescript/ResponseItem.ts | 18 + .../typescript/ReviewDecision.ts | 10 + .../typescript/ServerNotification.ts | 67 + .../typescript/ServerRequest.ts | 18 + .../typescript/ServiceTier.ts | 5 + .../typescript/SessionSource.ts | 6 + .../protocol-generated/typescript/Settings.ts | 9 + .../typescript/SubAgentSource.ts | 7 + .../protocol-generated/typescript/ThreadId.ts | 5 + .../typescript/ThreadMemoryMode.ts | 5 + .../protocol-generated/typescript/Tool.ts | 9 + .../typescript/Verbosity.ts | 9 + .../typescript/WebSearchAction.ts | 5 + .../typescript/WebSearchContextSize.ts | 5 + .../typescript/WebSearchLocation.ts | 5 + .../typescript/WebSearchMode.ts | 5 + .../typescript/WebSearchToolConfig.ts | 7 + .../protocol-generated/typescript/index.ts | 80 + .../typescript/serde_json/JsonValue.ts | 5 + .../typescript/v2/Account.ts | 6 + .../v2/AccountLoginCompletedNotification.ts | 5 + .../AccountRateLimitsUpdatedNotification.ts | 6 + .../v2/AccountUpdatedNotification.ts | 7 + .../v2/AddCreditsNudgeCreditType.ts | 5 + .../v2/AddCreditsNudgeEmailStatus.ts | 5 + .../v2/AdditionalFileSystemPermissions.ts | 15 + .../v2/AdditionalNetworkPermissions.ts | 5 + .../v2/AdditionalPermissionProfile.ts | 7 + .../v2/AgentMessageDeltaNotification.ts | 5 + .../typescript/v2/AnalyticsConfig.ts | 6 + .../typescript/v2/AppBranding.ts | 8 + .../typescript/v2/AppInfo.ts | 19 + .../v2/AppListUpdatedNotification.ts | 9 + .../typescript/v2/AppMetadata.ts | 7 + .../typescript/v2/AppReview.ts | 5 + .../typescript/v2/AppScreenshot.ts | 5 + .../typescript/v2/AppSummary.ts | 8 + .../typescript/v2/AppToolApproval.ts | 5 + .../typescript/v2/AppToolsConfig.ts | 6 + .../typescript/v2/ApprovalsReviewer.ts | 12 + .../typescript/v2/AppsConfig.ts | 8 + .../typescript/v2/AppsDefaultConfig.ts | 5 + .../typescript/v2/AppsListParams.ts | 24 + .../typescript/v2/AppsListResponse.ts | 14 + .../typescript/v2/AskForApproval.ts | 5 + .../typescript/v2/AutoReviewDecisionSource.ts | 8 + .../typescript/v2/ByteRange.ts | 5 + .../typescript/v2/CancelLoginAccountParams.ts | 5 + .../v2/CancelLoginAccountResponse.ts | 6 + .../typescript/v2/CancelLoginAccountStatus.ts | 5 + .../v2/ChatgptAuthTokensRefreshParams.ts | 16 + .../v2/ChatgptAuthTokensRefreshReason.ts | 5 + .../v2/ChatgptAuthTokensRefreshResponse.ts | 5 + .../typescript/v2/CodexErrorInfo.ts | 12 + .../typescript/v2/CollabAgentState.ts | 6 + .../typescript/v2/CollabAgentStatus.ts | 5 + .../typescript/v2/CollabAgentTool.ts | 5 + .../v2/CollabAgentToolCallStatus.ts | 5 + .../typescript/v2/CollaborationModeMask.ts | 10 + .../typescript/v2/CommandAction.ts | 6 + .../v2/CommandExecOutputDeltaNotification.ts | 30 + .../typescript/v2/CommandExecOutputStream.ts | 8 + .../typescript/v2/CommandExecParams.ts | 106 + .../typescript/v2/CommandExecResizeParams.ts | 18 + .../v2/CommandExecResizeResponse.ts | 8 + .../typescript/v2/CommandExecResponse.ts | 24 + .../typescript/v2/CommandExecTerminalSize.ts | 16 + .../v2/CommandExecTerminateParams.ts | 13 + .../v2/CommandExecTerminateResponse.ts | 8 + .../typescript/v2/CommandExecWriteParams.ts | 22 + .../typescript/v2/CommandExecWriteResponse.ts | 8 + .../v2/CommandExecutionApprovalDecision.ts | 7 + ...CommandExecutionOutputDeltaNotification.ts | 5 + .../CommandExecutionRequestApprovalParams.ts | 58 + ...CommandExecutionRequestApprovalResponse.ts | 6 + .../typescript/v2/CommandExecutionSource.ts | 5 + .../typescript/v2/CommandExecutionStatus.ts | 5 + .../typescript/v2/Config.ts | 23 + .../typescript/v2/ConfigBatchWriteParams.ts | 14 + .../typescript/v2/ConfigEdit.ts | 7 + .../typescript/v2/ConfigLayer.ts | 7 + .../typescript/v2/ConfigLayerMetadata.ts | 6 + .../typescript/v2/ConfigLayerSource.ts | 16 + .../typescript/v2/ConfigReadParams.ts | 11 + .../typescript/v2/ConfigReadResponse.ts | 8 + .../typescript/v2/ConfigRequirements.ts | 9 + .../v2/ConfigRequirementsReadResponse.ts | 10 + .../typescript/v2/ConfigValueWriteParams.ts | 11 + .../v2/ConfigWarningNotification.ts | 22 + .../typescript/v2/ConfigWriteResponse.ts | 12 + .../typescript/v2/ConfiguredHookHandler.ts | 5 + .../v2/ConfiguredHookMatcherGroup.ts | 6 + .../v2/ContextCompactedNotification.ts | 8 + .../typescript/v2/CreditsSnapshot.ts | 5 + .../v2/DeprecationNoticeNotification.ts | 13 + .../typescript/v2/DeviceKeyAlgorithm.ts | 8 + .../typescript/v2/DeviceKeyCreateParams.ts | 13 + .../typescript/v2/DeviceKeyCreateResponse.ts | 14 + .../typescript/v2/DeviceKeyProtectionClass.ts | 8 + .../v2/DeviceKeyProtectionPolicy.ts | 8 + .../typescript/v2/DeviceKeyPublicParams.ts | 8 + .../typescript/v2/DeviceKeyPublicResponse.ts | 14 + .../typescript/v2/DeviceKeySignParams.ts | 9 + .../typescript/v2/DeviceKeySignPayload.ts | 54 + .../typescript/v2/DeviceKeySignResponse.ts | 18 + .../v2/DynamicToolCallOutputContentItem.ts | 5 + .../typescript/v2/DynamicToolCallParams.ts | 6 + .../typescript/v2/DynamicToolCallResponse.ts | 6 + .../typescript/v2/DynamicToolCallStatus.ts | 5 + .../typescript/v2/DynamicToolSpec.ts | 6 + .../typescript/v2/ErrorNotification.ts | 6 + .../typescript/v2/ExecPolicyAmendment.ts | 5 + .../typescript/v2/ExperimentalFeature.ts | 37 + .../ExperimentalFeatureEnablementSetParams.ts | 12 + ...xperimentalFeatureEnablementSetResponse.ts | 9 + .../v2/ExperimentalFeatureListParams.ts | 13 + .../v2/ExperimentalFeatureListResponse.ts | 11 + .../typescript/v2/ExperimentalFeatureStage.ts | 5 + .../v2/ExternalAgentConfigDetectParams.ts | 13 + .../v2/ExternalAgentConfigDetectResponse.ts | 6 + ...lAgentConfigImportCompletedNotification.ts | 5 + .../v2/ExternalAgentConfigImportParams.ts | 6 + .../v2/ExternalAgentConfigImportResponse.ts | 5 + .../v2/ExternalAgentConfigMigrationItem.ts | 11 + .../ExternalAgentConfigMigrationItemType.ts | 5 + .../typescript/v2/FeedbackUploadParams.ts | 5 + .../typescript/v2/FeedbackUploadResponse.ts | 5 + .../v2/FileChangeApprovalDecision.ts | 5 + .../v2/FileChangeOutputDeltaNotification.ts | 5 + .../v2/FileChangePatchUpdatedNotification.ts | 6 + .../v2/FileChangeRequestApprovalParams.ts | 14 + .../v2/FileChangeRequestApprovalResponse.ts | 6 + .../typescript/v2/FileSystemAccessMode.ts | 5 + .../typescript/v2/FileSystemPath.ts | 7 + .../typescript/v2/FileSystemSandboxEntry.ts | 7 + .../typescript/v2/FileSystemSpecialPath.ts | 5 + .../typescript/v2/FileUpdateChange.ts | 6 + .../typescript/v2/FsChangedNotification.ts | 17 + .../typescript/v2/FsCopyParams.ts | 21 + .../typescript/v2/FsCopyResponse.ts | 8 + .../typescript/v2/FsCreateDirectoryParams.ts | 17 + .../v2/FsCreateDirectoryResponse.ts | 8 + .../typescript/v2/FsGetMetadataParams.ts | 13 + .../typescript/v2/FsGetMetadataResponse.ts | 28 + .../typescript/v2/FsReadDirectoryEntry.ts | 20 + .../typescript/v2/FsReadDirectoryParams.ts | 13 + .../typescript/v2/FsReadDirectoryResponse.ts | 13 + .../typescript/v2/FsReadFileParams.ts | 13 + .../typescript/v2/FsReadFileResponse.ts | 12 + .../typescript/v2/FsRemoveParams.ts | 21 + .../typescript/v2/FsRemoveResponse.ts | 8 + .../typescript/v2/FsUnwatchParams.ts | 12 + .../typescript/v2/FsUnwatchResponse.ts | 8 + .../typescript/v2/FsWatchParams.ts | 17 + .../typescript/v2/FsWatchResponse.ts | 13 + .../typescript/v2/FsWriteFileParams.ts | 17 + .../typescript/v2/FsWriteFileResponse.ts | 8 + .../typescript/v2/GetAccountParams.ts | 13 + .../v2/GetAccountRateLimitsResponse.ts | 14 + .../typescript/v2/GetAccountResponse.ts | 6 + .../typescript/v2/GitInfo.ts | 5 + .../typescript/v2/GrantedPermissionProfile.ts | 7 + .../typescript/v2/GuardianApprovalReview.ts | 13 + .../v2/GuardianApprovalReviewAction.ts | 9 + .../v2/GuardianApprovalReviewStatus.ts | 8 + .../typescript/v2/GuardianCommandSource.ts | 5 + .../typescript/v2/GuardianRiskLevel.ts | 8 + .../v2/GuardianUserAuthorization.ts | 8 + .../v2/GuardianWarningNotification.ts | 13 + .../v2/HookCompletedNotification.ts | 6 + .../typescript/v2/HookEventName.ts | 5 + .../typescript/v2/HookExecutionMode.ts | 5 + .../typescript/v2/HookHandlerType.ts | 5 + .../typescript/v2/HookOutputEntry.ts | 6 + .../typescript/v2/HookOutputEntryKind.ts | 5 + .../typescript/v2/HookPromptFragment.ts | 5 + .../typescript/v2/HookRunStatus.ts | 5 + .../typescript/v2/HookRunSummary.ts | 13 + .../typescript/v2/HookScope.ts | 5 + .../typescript/v2/HookSource.ts | 5 + .../typescript/v2/HookStartedNotification.ts | 6 + .../v2/ItemCompletedNotification.ts | 6 + ...dianApprovalReviewCompletedNotification.ts | 30 + ...ardianApprovalReviewStartedNotification.ts | 29 + .../typescript/v2/ItemStartedNotification.ts | 6 + .../v2/ListMcpServerStatusParams.ts | 19 + .../v2/ListMcpServerStatusResponse.ts | 11 + .../typescript/v2/LoginAccountParams.ts | 21 + .../typescript/v2/LoginAccountResponse.ts | 17 + .../typescript/v2/LogoutAccountResponse.ts | 5 + .../typescript/v2/ManagedHooksRequirements.ts | 6 + .../typescript/v2/MarketplaceAddParams.ts | 5 + .../typescript/v2/MarketplaceAddResponse.ts | 6 + .../typescript/v2/MarketplaceInterface.ts | 5 + .../typescript/v2/MarketplaceLoadErrorInfo.ts | 6 + .../typescript/v2/MarketplaceRemoveParams.ts | 5 + .../v2/MarketplaceRemoveResponse.ts | 6 + .../v2/MarketplaceUpgradeErrorInfo.ts | 5 + .../typescript/v2/MarketplaceUpgradeParams.ts | 5 + .../v2/MarketplaceUpgradeResponse.ts | 7 + .../typescript/v2/McpAuthStatus.ts | 5 + .../typescript/v2/McpElicitationArrayType.ts | 5 + .../v2/McpElicitationBooleanSchema.ts | 6 + .../v2/McpElicitationBooleanType.ts | 5 + .../v2/McpElicitationConstOption.ts | 5 + .../typescript/v2/McpElicitationEnumSchema.ts | 8 + .../McpElicitationLegacyTitledEnumSchema.ts | 6 + .../v2/McpElicitationMultiSelectEnumSchema.ts | 7 + .../v2/McpElicitationNumberSchema.ts | 6 + .../typescript/v2/McpElicitationNumberType.ts | 5 + .../typescript/v2/McpElicitationObjectType.ts | 5 + .../v2/McpElicitationPrimitiveSchema.ts | 9 + .../typescript/v2/McpElicitationSchema.ts | 13 + .../McpElicitationSingleSelectEnumSchema.ts | 7 + .../v2/McpElicitationStringFormat.ts | 5 + .../v2/McpElicitationStringSchema.ts | 7 + .../typescript/v2/McpElicitationStringType.ts | 5 + .../v2/McpElicitationTitledEnumItems.ts | 6 + ...pElicitationTitledMultiSelectEnumSchema.ts | 7 + ...ElicitationTitledSingleSelectEnumSchema.ts | 7 + .../v2/McpElicitationUntitledEnumItems.ts | 6 + ...licitationUntitledMultiSelectEnumSchema.ts | 7 + ...icitationUntitledSingleSelectEnumSchema.ts | 6 + .../typescript/v2/McpResourceReadParams.ts | 5 + .../typescript/v2/McpResourceReadResponse.ts | 6 + .../v2/McpServerElicitationAction.ts | 5 + .../v2/McpServerElicitationRequestParams.ts | 16 + .../v2/McpServerElicitationRequestResponse.ts | 17 + ...cpServerOauthLoginCompletedNotification.ts | 5 + .../v2/McpServerOauthLoginParams.ts | 5 + .../v2/McpServerOauthLoginResponse.ts | 5 + .../typescript/v2/McpServerRefreshResponse.ts | 5 + .../typescript/v2/McpServerStartupState.ts | 5 + .../typescript/v2/McpServerStatus.ts | 9 + .../typescript/v2/McpServerStatusDetail.ts | 5 + .../v2/McpServerStatusUpdatedNotification.ts | 6 + .../typescript/v2/McpServerToolCallParams.ts | 6 + .../v2/McpServerToolCallResponse.ts | 6 + .../typescript/v2/McpToolCallError.ts | 5 + .../v2/McpToolCallProgressNotification.ts | 5 + .../typescript/v2/McpToolCallResult.ts | 6 + .../typescript/v2/McpToolCallStatus.ts | 5 + .../typescript/v2/MemoryCitation.ts | 6 + .../typescript/v2/MemoryCitationEntry.ts | 5 + .../typescript/v2/MergeStrategy.ts | 5 + .../typescript/v2/MigrationDetails.ts | 6 + .../protocol-generated/typescript/v2/Model.ts | 10 + .../typescript/v2/ModelAvailabilityNux.ts | 5 + .../typescript/v2/ModelListParams.ts | 17 + .../typescript/v2/ModelListResponse.ts | 11 + .../typescript/v2/ModelRerouteReason.ts | 5 + .../v2/ModelReroutedNotification.ts | 6 + .../typescript/v2/ModelUpgradeInfo.ts | 5 + .../typescript/v2/ModelVerification.ts | 5 + .../v2/ModelVerificationNotification.ts | 6 + .../typescript/v2/NetworkAccess.ts | 5 + .../typescript/v2/NetworkApprovalContext.ts | 6 + .../typescript/v2/NetworkApprovalProtocol.ts | 5 + .../typescript/v2/NetworkDomainPermission.ts | 5 + .../typescript/v2/NetworkPolicyAmendment.ts | 6 + .../typescript/v2/NetworkPolicyRuleAction.ts | 5 + .../typescript/v2/NetworkRequirements.ts | 32 + .../v2/NetworkUnixSocketPermission.ts | 5 + .../typescript/v2/NonSteerableTurnKind.ts | 5 + .../typescript/v2/OverriddenMetadata.ts | 7 + .../typescript/v2/PatchApplyStatus.ts | 5 + .../typescript/v2/PatchChangeKind.ts | 5 + .../typescript/v2/PermissionGrantScope.ts | 5 + .../typescript/v2/PermissionProfile.ts | 7 + .../PermissionProfileFileSystemPermissions.ts | 6 + .../v2/PermissionProfileNetworkPermissions.ts | 5 + .../v2/PermissionsRequestApprovalParams.ts | 7 + .../v2/PermissionsRequestApprovalResponse.ts | 11 + .../typescript/v2/PlanDeltaNotification.ts | 9 + .../typescript/v2/PluginAuthPolicy.ts | 5 + .../typescript/v2/PluginDetail.ts | 9 + .../typescript/v2/PluginInstallParams.ts | 6 + .../typescript/v2/PluginInstallPolicy.ts | 5 + .../typescript/v2/PluginInstallResponse.ts | 7 + .../typescript/v2/PluginInterface.ts | 35 + .../typescript/v2/PluginListParams.ts | 11 + .../typescript/v2/PluginListResponse.ts | 7 + .../typescript/v2/PluginMarketplaceEntry.ts | 13 + .../typescript/v2/PluginReadParams.ts | 6 + .../typescript/v2/PluginReadResponse.ts | 6 + .../typescript/v2/PluginSource.ts | 6 + .../typescript/v2/PluginSummary.ts | 9 + .../typescript/v2/PluginUninstallParams.ts | 5 + .../typescript/v2/PluginUninstallResponse.ts | 5 + .../typescript/v2/PluginsMigration.ts | 5 + .../typescript/v2/ProfileV2.ts | 19 + .../typescript/v2/RateLimitReachedType.ts | 5 + .../typescript/v2/RateLimitSnapshot.ts | 9 + .../typescript/v2/RateLimitWindow.ts | 5 + .../RawResponseItemCompletedNotification.ts | 6 + .../typescript/v2/ReadOnlyAccess.ts | 6 + .../typescript/v2/ReasoningEffortOption.ts | 6 + .../ReasoningSummaryPartAddedNotification.ts | 5 + .../ReasoningSummaryTextDeltaNotification.ts | 5 + .../v2/ReasoningTextDeltaNotification.ts | 5 + .../RemoteControlClientConnectionAudience.ts | 8 + .../RemoteControlClientEnrollmentAudience.ts | 8 + .../typescript/v2/RequestPermissionProfile.ts | 7 + .../typescript/v2/ResidencyRequirement.ts | 5 + .../typescript/v2/ReviewDelivery.ts | 5 + .../typescript/v2/ReviewStartParams.ts | 12 + .../typescript/v2/ReviewStartResponse.ts | 13 + .../typescript/v2/ReviewTarget.ts | 9 + .../typescript/v2/SandboxMode.ts | 5 + .../typescript/v2/SandboxPolicy.ts | 8 + .../typescript/v2/SandboxWorkspaceWrite.ts | 5 + .../v2/SendAddCreditsNudgeEmailParams.ts | 6 + .../v2/SendAddCreditsNudgeEmailResponse.ts | 6 + .../v2/ServerRequestResolvedNotification.ts | 6 + .../typescript/v2/SessionSource.ts | 6 + .../typescript/v2/SkillDependencies.ts | 6 + .../typescript/v2/SkillErrorInfo.ts | 5 + .../typescript/v2/SkillInterface.ts | 6 + .../typescript/v2/SkillMetadata.ts | 13 + .../typescript/v2/SkillScope.ts | 5 + .../typescript/v2/SkillSummary.ts | 7 + .../typescript/v2/SkillToolDependency.ts | 5 + .../v2/SkillsChangedNotification.ts | 11 + .../typescript/v2/SkillsConfigWriteParams.ts | 14 + .../v2/SkillsConfigWriteResponse.ts | 5 + .../typescript/v2/SkillsListEntry.ts | 7 + .../v2/SkillsListExtraRootsForCwd.ts | 5 + .../typescript/v2/SkillsListParams.ts | 18 + .../typescript/v2/SkillsListResponse.ts | 6 + .../typescript/v2/SortDirection.ts | 5 + .../v2/TerminalInteractionNotification.ts | 5 + .../typescript/v2/TextElement.ts | 14 + .../typescript/v2/TextPosition.ts | 13 + .../typescript/v2/TextRange.ts | 6 + .../typescript/v2/Thread.ts | 77 + .../typescript/v2/ThreadActiveFlag.ts | 5 + ...ThreadApproveGuardianDeniedActionParams.ts | 10 + ...readApproveGuardianDeniedActionResponse.ts | 5 + .../typescript/v2/ThreadArchiveParams.ts | 5 + .../typescript/v2/ThreadArchiveResponse.ts | 5 + .../v2/ThreadArchivedNotification.ts | 5 + .../typescript/v2/ThreadClosedNotification.ts | 5 + .../typescript/v2/ThreadCompactStartParams.ts | 5 + .../v2/ThreadCompactStartResponse.ts | 5 + .../typescript/v2/ThreadForkParams.ts | 44 + .../typescript/v2/ThreadForkResponse.ts | 33 + .../typescript/v2/ThreadInjectItemsParams.ts | 10 + .../v2/ThreadInjectItemsResponse.ts | 5 + .../typescript/v2/ThreadItem.ts | 101 + .../typescript/v2/ThreadListParams.ts | 54 + .../typescript/v2/ThreadListResponse.ts | 18 + .../typescript/v2/ThreadLoadedListParams.ts | 13 + .../typescript/v2/ThreadLoadedListResponse.ts | 14 + .../v2/ThreadMetadataGitInfoUpdateParams.ts | 20 + .../v2/ThreadMetadataUpdateParams.ts | 12 + .../v2/ThreadMetadataUpdateResponse.ts | 6 + .../v2/ThreadNameUpdatedNotification.ts | 5 + .../typescript/v2/ThreadReadParams.ts | 9 + .../typescript/v2/ThreadReadResponse.ts | 6 + .../typescript/v2/ThreadRealtimeAudioChunk.ts | 8 + .../v2/ThreadRealtimeClosedNotification.ts | 8 + .../v2/ThreadRealtimeErrorNotification.ts | 8 + .../v2/ThreadRealtimeItemAddedNotification.ts | 9 + ...eadRealtimeOutputAudioDeltaNotification.ts | 9 + .../v2/ThreadRealtimeSdpNotification.ts | 8 + .../v2/ThreadRealtimeStartTransport.ts | 13 + .../v2/ThreadRealtimeStartedNotification.ts | 9 + ...readRealtimeTranscriptDeltaNotification.ts | 13 + ...hreadRealtimeTranscriptDoneNotification.ts | 13 + .../typescript/v2/ThreadResumeParams.ts | 53 + .../typescript/v2/ThreadResumeResponse.ts | 33 + .../typescript/v2/ThreadRollbackParams.ts | 12 + .../typescript/v2/ThreadRollbackResponse.ts | 14 + .../typescript/v2/ThreadSetNameParams.ts | 5 + .../typescript/v2/ThreadSetNameResponse.ts | 5 + .../typescript/v2/ThreadShellCommandParams.ts | 12 + .../v2/ThreadShellCommandResponse.ts | 5 + .../typescript/v2/ThreadSortKey.ts | 5 + .../typescript/v2/ThreadSourceKind.ts | 5 + .../typescript/v2/ThreadStartParams.ts | 29 + .../typescript/v2/ThreadStartResponse.ts | 33 + .../typescript/v2/ThreadStartSource.ts | 5 + .../v2/ThreadStartedNotification.ts | 6 + .../typescript/v2/ThreadStatus.ts | 6 + .../v2/ThreadStatusChangedNotification.ts | 6 + .../typescript/v2/ThreadTokenUsage.ts | 6 + .../v2/ThreadTokenUsageUpdatedNotification.ts | 6 + .../typescript/v2/ThreadTurnsListParams.ts | 18 + .../typescript/v2/ThreadTurnsListResponse.ts | 18 + .../typescript/v2/ThreadUnarchiveParams.ts | 5 + .../typescript/v2/ThreadUnarchiveResponse.ts | 6 + .../v2/ThreadUnarchivedNotification.ts | 5 + .../typescript/v2/ThreadUnsubscribeParams.ts | 5 + .../v2/ThreadUnsubscribeResponse.ts | 6 + .../typescript/v2/ThreadUnsubscribeStatus.ts | 5 + .../typescript/v2/TokenUsageBreakdown.ts | 5 + .../v2/ToolRequestUserInputAnswer.ts | 8 + .../v2/ToolRequestUserInputOption.ts | 8 + .../v2/ToolRequestUserInputParams.ts | 9 + .../v2/ToolRequestUserInputQuestion.ts | 9 + .../v2/ToolRequestUserInputResponse.ts | 9 + .../typescript/v2/ToolsV2.ts | 6 + .../protocol-generated/typescript/v2/Turn.ts | 30 + .../v2/TurnCompletedNotification.ts | 6 + .../v2/TurnDiffUpdatedNotification.ts | 9 + .../typescript/v2/TurnEnvironmentParams.ts | 6 + .../typescript/v2/TurnError.ts | 6 + .../typescript/v2/TurnInterruptParams.ts | 5 + .../typescript/v2/TurnInterruptResponse.ts | 5 + .../typescript/v2/TurnPlanStep.ts | 6 + .../typescript/v2/TurnPlanStepStatus.ts | 5 + .../v2/TurnPlanUpdatedNotification.ts | 6 + .../typescript/v2/TurnStartParams.ts | 59 + .../typescript/v2/TurnStartResponse.ts | 6 + .../typescript/v2/TurnStartedNotification.ts | 6 + .../typescript/v2/TurnStatus.ts | 5 + .../typescript/v2/TurnSteerParams.ts | 10 + .../typescript/v2/TurnSteerResponse.ts | 5 + .../typescript/v2/UserInput.ts | 10 + .../typescript/v2/WarningNotification.ts | 13 + .../typescript/v2/WebSearchAction.ts | 5 + ...indowsSandboxSetupCompletedNotification.ts | 6 + .../typescript/v2/WindowsSandboxSetupMode.ts | 5 + .../v2/WindowsSandboxSetupStartParams.ts | 7 + .../v2/WindowsSandboxSetupStartResponse.ts | 5 + ...WindowsWorldWritableWarningNotification.ts | 5 + .../typescript/v2/WriteStatus.ts | 5 + .../protocol-generated/typescript/v2/index.ts | 410 +++ .../src/app-server/protocol-validators.ts | 175 ++ extensions/codex/src/app-server/protocol.ts | 157 +- .../codex/src/app-server/run-attempt.test.ts | 68 +- .../codex/src/app-server/run-attempt.ts | 50 +- .../codex/src/app-server/thread-lifecycle.ts | 65 +- package.json | 1 + pnpm-lock.yaml | 3 + scripts/sync-codex-app-server-protocol.ts | 60 + 517 files changed, 15141 insertions(+), 275 deletions(-) create mode 100644 extensions/codex/media-understanding-provider.test.ts create mode 100644 extensions/codex/media-understanding-provider.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/json/DynamicToolCallParams.json create mode 100644 extensions/codex/src/app-server/protocol-generated/json/v2/ErrorNotification.json create mode 100644 extensions/codex/src/app-server/protocol-generated/json/v2/ModelListResponse.json create mode 100644 extensions/codex/src/app-server/protocol-generated/json/v2/ThreadResumeResponse.json create mode 100644 extensions/codex/src/app-server/protocol-generated/json/v2/ThreadStartResponse.json create mode 100644 extensions/codex/src/app-server/protocol-generated/json/v2/TurnCompletedNotification.json create mode 100644 extensions/codex/src/app-server/protocol-generated/json/v2/TurnStartResponse.json create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/AbsolutePathBuf.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/AgentPath.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ApplyPatchApprovalParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ApplyPatchApprovalResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/AuthMode.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ClientInfo.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ClientNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ClientRequest.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/CollaborationMode.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ContentItem.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ConversationGitInfo.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ConversationSummary.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ExecCommandApprovalParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ExecCommandApprovalResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ExecPolicyAmendment.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/FileChange.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ForcedLoginMethod.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/FunctionCallOutputBody.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/FunctionCallOutputContentItem.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchMatchType.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchResult.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchSessionCompletedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchSessionUpdatedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/GetAuthStatusParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/GetAuthStatusResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/GetConversationSummaryParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/GetConversationSummaryResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/GhostCommit.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/GitDiffToRemoteParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/GitDiffToRemoteResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/GitSha.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ImageDetail.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/InitializeCapabilities.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/InitializeParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/InitializeResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/InputModality.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/LocalShellAction.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/LocalShellExecAction.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/LocalShellStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/MessagePhase.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ModeKind.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/NetworkPolicyAmendment.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/NetworkPolicyRuleAction.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ParsedCommand.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/Personality.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/PlanType.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/RealtimeConversationVersion.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/RealtimeOutputModality.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/RealtimeVoice.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/RealtimeVoicesList.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ReasoningEffort.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ReasoningItemContent.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ReasoningItemReasoningSummary.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ReasoningSummary.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/RequestId.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/Resource.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ResourceContent.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ResourceTemplate.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ResponseItem.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ReviewDecision.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ServerNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ServerRequest.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ServiceTier.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/SessionSource.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/Settings.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/SubAgentSource.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ThreadId.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/ThreadMemoryMode.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/Tool.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/Verbosity.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/WebSearchAction.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/WebSearchContextSize.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/WebSearchLocation.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/WebSearchMode.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/WebSearchToolConfig.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/index.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/serde_json/JsonValue.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/Account.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AccountLoginCompletedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AccountRateLimitsUpdatedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AccountUpdatedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AddCreditsNudgeCreditType.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AddCreditsNudgeEmailStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AdditionalFileSystemPermissions.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AdditionalNetworkPermissions.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AdditionalPermissionProfile.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AgentMessageDeltaNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AnalyticsConfig.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppBranding.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppInfo.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppListUpdatedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppMetadata.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppReview.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppScreenshot.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppSummary.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppToolApproval.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppToolsConfig.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ApprovalsReviewer.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsConfig.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsDefaultConfig.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsListParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsListResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AskForApproval.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/AutoReviewDecisionSource.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ByteRange.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CancelLoginAccountParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CancelLoginAccountResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CancelLoginAccountStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ChatgptAuthTokensRefreshParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ChatgptAuthTokensRefreshReason.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ChatgptAuthTokensRefreshResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CodexErrorInfo.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentState.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentTool.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentToolCallStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CollaborationModeMask.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandAction.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecOutputDeltaNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecOutputStream.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecResizeParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecResizeResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecTerminalSize.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecTerminateParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecTerminateResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecWriteParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecWriteResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionApprovalDecision.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionOutputDeltaNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionRequestApprovalParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionRequestApprovalResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionSource.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/Config.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigBatchWriteParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigEdit.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigLayer.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigLayerMetadata.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigLayerSource.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigReadParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigReadResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigRequirements.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigRequirementsReadResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigValueWriteParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigWarningNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigWriteResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfiguredHookHandler.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfiguredHookMatcherGroup.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ContextCompactedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/CreditsSnapshot.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DeprecationNoticeNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyAlgorithm.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyCreateParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyCreateResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyProtectionClass.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyProtectionPolicy.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyPublicParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyPublicResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeySignParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeySignPayload.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeySignResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallOutputContentItem.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolSpec.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ErrorNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExecPolicyAmendment.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeature.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureEnablementSetParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureEnablementSetResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureListParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureListResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureStage.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigDetectParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigDetectResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigImportCompletedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigImportParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigImportResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigMigrationItem.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigMigrationItemType.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FeedbackUploadParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FeedbackUploadResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeApprovalDecision.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeOutputDeltaNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangePatchUpdatedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeRequestApprovalParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeRequestApprovalResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemAccessMode.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemPath.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemSandboxEntry.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemSpecialPath.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FileUpdateChange.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsChangedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCopyParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCopyResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCreateDirectoryParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCreateDirectoryResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsGetMetadataParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsGetMetadataResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadDirectoryEntry.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadDirectoryParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadDirectoryResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadFileParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadFileResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsRemoveParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsRemoveResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsUnwatchParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsUnwatchResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWatchParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWatchResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWriteFileParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWriteFileResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/GetAccountParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/GetAccountRateLimitsResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/GetAccountResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/GitInfo.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/GrantedPermissionProfile.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianApprovalReview.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianApprovalReviewAction.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianApprovalReviewStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianCommandSource.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianRiskLevel.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianUserAuthorization.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianWarningNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/HookCompletedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/HookEventName.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/HookExecutionMode.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/HookHandlerType.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/HookOutputEntry.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/HookOutputEntryKind.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/HookPromptFragment.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/HookRunStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/HookRunSummary.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/HookScope.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/HookSource.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/HookStartedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemCompletedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemGuardianApprovalReviewCompletedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemGuardianApprovalReviewStartedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemStartedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ListMcpServerStatusParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ListMcpServerStatusResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/LoginAccountParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/LoginAccountResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/LogoutAccountResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ManagedHooksRequirements.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceAddParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceAddResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceInterface.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceLoadErrorInfo.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceRemoveParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceRemoveResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceUpgradeErrorInfo.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceUpgradeParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceUpgradeResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpAuthStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationArrayType.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationBooleanSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationBooleanType.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationConstOption.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationEnumSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationLegacyTitledEnumSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationMultiSelectEnumSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationNumberSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationNumberType.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationObjectType.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationPrimitiveSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationSingleSelectEnumSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationStringFormat.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationStringSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationStringType.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationTitledEnumItems.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationTitledMultiSelectEnumSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationTitledSingleSelectEnumSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationUntitledEnumItems.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationUntitledMultiSelectEnumSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationUntitledSingleSelectEnumSchema.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpResourceReadParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpResourceReadResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerElicitationAction.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerElicitationRequestParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerElicitationRequestResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerOauthLoginCompletedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerOauthLoginParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerOauthLoginResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerRefreshResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStartupState.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStatusDetail.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStatusUpdatedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerToolCallParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerToolCallResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallError.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallProgressNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallResult.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MemoryCitation.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MemoryCitationEntry.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MergeStrategy.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/MigrationDetails.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/Model.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelAvailabilityNux.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelListParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelListResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelRerouteReason.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelReroutedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelUpgradeInfo.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelVerification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelVerificationNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkAccess.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkApprovalContext.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkApprovalProtocol.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkDomainPermission.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkPolicyAmendment.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkPolicyRuleAction.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkRequirements.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkUnixSocketPermission.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/NonSteerableTurnKind.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/OverriddenMetadata.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PatchApplyStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PatchChangeKind.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionGrantScope.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionProfile.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionProfileFileSystemPermissions.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionProfileNetworkPermissions.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionsRequestApprovalParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionsRequestApprovalResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PlanDeltaNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginAuthPolicy.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginDetail.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInstallParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInstallPolicy.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInstallResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInterface.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginListParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginListResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginMarketplaceEntry.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginReadParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginReadResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginSource.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginSummary.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginUninstallParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginUninstallResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginsMigration.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ProfileV2.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/RateLimitReachedType.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/RateLimitSnapshot.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/RateLimitWindow.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/RawResponseItemCompletedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ReadOnlyAccess.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningEffortOption.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningSummaryPartAddedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningSummaryTextDeltaNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningTextDeltaNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/RemoteControlClientConnectionAudience.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/RemoteControlClientEnrollmentAudience.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/RequestPermissionProfile.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ResidencyRequirement.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewDelivery.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewStartParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewStartResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewTarget.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SandboxMode.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SandboxPolicy.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SandboxWorkspaceWrite.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SendAddCreditsNudgeEmailParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SendAddCreditsNudgeEmailResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ServerRequestResolvedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SessionSource.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillDependencies.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillErrorInfo.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillInterface.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillMetadata.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillScope.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillSummary.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillToolDependency.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsChangedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsConfigWriteParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsConfigWriteResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListEntry.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListExtraRootsForCwd.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/SortDirection.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TerminalInteractionNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TextElement.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TextPosition.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TextRange.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/Thread.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadActiveFlag.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadApproveGuardianDeniedActionParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadApproveGuardianDeniedActionResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadArchiveParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadArchiveResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadArchivedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadClosedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadCompactStartParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadCompactStartResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadForkParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadForkResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadInjectItemsParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadInjectItemsResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadItem.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadListParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadListResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadLoadedListParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadLoadedListResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadMetadataGitInfoUpdateParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadMetadataUpdateParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadMetadataUpdateResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadNameUpdatedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadReadParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadReadResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeAudioChunk.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeClosedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeErrorNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeItemAddedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeOutputAudioDeltaNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeSdpNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeStartTransport.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeStartedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeTranscriptDeltaNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeTranscriptDoneNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadResumeParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadResumeResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRollbackParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRollbackResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSetNameParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSetNameResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadShellCommandParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadShellCommandResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSortKey.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSourceKind.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartSource.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStatusChangedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTokenUsage.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTokenUsageUpdatedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTurnsListParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTurnsListResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnarchiveParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnarchiveResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnarchivedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnsubscribeParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnsubscribeResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnsubscribeStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TokenUsageBreakdown.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputAnswer.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputOption.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputQuestion.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolsV2.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/Turn.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnCompletedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnDiffUpdatedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnEnvironmentParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnError.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnInterruptParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnInterruptResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnPlanStep.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnPlanStepStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnPlanUpdatedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStartParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStartResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStartedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnSteerParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnSteerResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/UserInput.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/WarningNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/WebSearchAction.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupCompletedNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupMode.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupStartParams.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupStartResponse.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsWorldWritableWarningNotification.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/WriteStatus.ts create mode 100644 extensions/codex/src/app-server/protocol-generated/typescript/v2/index.ts create mode 100644 extensions/codex/src/app-server/protocol-validators.ts create mode 100644 scripts/sync-codex-app-server-protocol.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 567ce660f36..6acb4a485a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Docs: https://docs.openclaw.ai ### Fixes +- Codex/media understanding: support `codex/*` image models through bounded Codex app-server image turns, while keeping `openai-codex/*` on the OpenAI Codex OAuth route and validating app-server responses against generated protocol contracts. Fixes #70201. - Providers/Google: honor the private-network SSRF opt-in for Gemini image generation requests, so trusted proxy setups that resolve Google API hosts to private addresses can use `image_generate`. Fixes #67216. - Agents/transport: stop embedded runs from lowering the process-wide undici stream timeouts, so slow Gemini image generation and other long-running provider requests no longer inherit short run-attempt headers timeouts. Fixes #70423. Thanks @giangthb. - Providers/OpenRouter: send image-understanding prompts as user text before image parts, restoring non-empty vision responses for OpenRouter multimodal models. Fixes #70410. diff --git a/docs/cli/infer.md b/docs/cli/infer.md index e9bb07c3140..e2c8de8344b 100644 --- a/docs/cli/infer.md +++ b/docs/cli/infer.md @@ -121,7 +121,7 @@ This table maps common inference tasks to the corresponding infer command. - Use `--json` when the output will be consumed by another command or script. - Use `--provider` or `--model provider/model` when a specific backend is required. - For `image describe`, `audio transcribe`, and `video describe`, `--model` must use the form ``. -- For `image describe`, an explicit `--model` runs that provider/model directly. The model must be image-capable in the model catalog or provider config. +- For `image describe`, an explicit `--model` runs that provider/model directly. The model must be image-capable in the model catalog or provider config. `codex/` runs a bounded Codex app-server image-understanding turn; `openai-codex/` uses the OpenAI Codex OAuth provider path. - Stateless execution commands default to local. - Gateway-managed state commands default to gateway. - The normal local path does not require the gateway to be running. diff --git a/docs/nodes/media-understanding.md b/docs/nodes/media-understanding.md index 284182b6da6..ca9151e9b73 100644 --- a/docs/nodes/media-understanding.md +++ b/docs/nodes/media-understanding.md @@ -222,11 +222,11 @@ If you omit `capabilities`, the entry is eligible for the list it appears in. ## Provider support matrix (OpenClaw integrations) -| Capability | Provider integration | Notes | -| ---------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| Image | OpenAI, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, config providers | Vendor plugins register image support; MiniMax and MiniMax OAuth both use `MiniMax-VL-01`; image-capable config providers auto-register. | -| Audio | OpenAI, Groq, Deepgram, Google, Mistral | Provider transcription (Whisper/Deepgram/Gemini/Voxtral). | -| Video | Google, Qwen, Moonshot | Provider video understanding via vendor plugins; Qwen video understanding uses the Standard DashScope endpoints. | +| Capability | Provider integration | Notes | +| ---------- | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Image | OpenAI, OpenAI Codex OAuth, Codex app-server, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, config providers | Vendor plugins register image support; `openai-codex/*` uses OAuth provider plumbing; `codex/*` uses a bounded Codex app-server turn; MiniMax and MiniMax OAuth both use `MiniMax-VL-01`; image-capable config providers auto-register. | +| Audio | OpenAI, Groq, Deepgram, Google, Mistral | Provider transcription (Whisper/Deepgram/Gemini/Voxtral). | +| Video | Google, Qwen, Moonshot | Provider video understanding via vendor plugins; Qwen video understanding uses the Standard DashScope endpoints. | MiniMax note: diff --git a/docs/plugins/codex-harness.md b/docs/plugins/codex-harness.md index d700138e5e9..736739a2fc2 100644 --- a/docs/plugins/codex-harness.md +++ b/docs/plugins/codex-harness.md @@ -57,6 +57,13 @@ Codex OAuth configs should use `openai-codex/gpt-*`; new native app-server harness configs should use `openai/gpt-*` plus `embeddedHarness.runtime: "codex"`. +`agents.defaults.imageModel` follows the same prefix split. Use +`openai-codex/gpt-*` when image understanding should run through the OpenAI +Codex OAuth provider path. Use `codex/gpt-*` when image understanding should run +through a bounded Codex app-server turn. The Codex app-server model must +advertise image input support; text-only Codex models fail before the media turn +starts. + Use `/status` to confirm the effective harness for the current session. If the selection is surprising, enable debug logging for the `agents/harness` subsystem and inspect the gateway's structured `agent harness selected` record. It diff --git a/extensions/codex/index.test.ts b/extensions/codex/index.test.ts index d61151c2c8d..9d7529f30c6 100644 --- a/extensions/codex/index.test.ts +++ b/extensions/codex/index.test.ts @@ -16,6 +16,7 @@ describe("codex plugin", () => { it("registers the codex provider and agent harness", () => { const registerAgentHarness = vi.fn(); const registerCommand = vi.fn(); + const registerMediaUnderstandingProvider = vi.fn(); const registerProvider = vi.fn(); plugin.register( @@ -28,6 +29,7 @@ describe("codex plugin", () => { runtime: {} as never, registerAgentHarness, registerCommand, + registerMediaUnderstandingProvider, registerProvider, }), ); @@ -38,6 +40,13 @@ describe("codex plugin", () => { label: "Codex agent harness", dispose: expect.any(Function), }); + expect(registerMediaUnderstandingProvider.mock.calls[0]?.[0]).toMatchObject({ + id: "codex", + capabilities: ["image"], + defaultModels: { image: "gpt-5.5" }, + describeImage: expect.any(Function), + describeImages: expect.any(Function), + }); expect(registerCommand.mock.calls[0]?.[0]).toMatchObject({ name: "codex", description: "Inspect and control the Codex app-server harness", diff --git a/extensions/codex/index.ts b/extensions/codex/index.ts index 7bec3069639..d9b802cd0c8 100644 --- a/extensions/codex/index.ts +++ b/extensions/codex/index.ts @@ -1,5 +1,6 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; import { createCodexAppServerAgentHarness } from "./harness.js"; +import { buildCodexMediaUnderstandingProvider } from "./media-understanding-provider.js"; import { buildCodexProvider } from "./provider.js"; import { createCodexCommand } from "./src/commands.js"; @@ -10,6 +11,9 @@ export default definePluginEntry({ register(api) { api.registerAgentHarness(createCodexAppServerAgentHarness({ pluginConfig: api.pluginConfig })); api.registerProvider(buildCodexProvider({ pluginConfig: api.pluginConfig })); + api.registerMediaUnderstandingProvider( + buildCodexMediaUnderstandingProvider({ pluginConfig: api.pluginConfig }), + ); api.registerCommand(createCodexCommand({ pluginConfig: api.pluginConfig })); }, }); diff --git a/extensions/codex/media-understanding-provider.test.ts b/extensions/codex/media-understanding-provider.test.ts new file mode 100644 index 00000000000..42d25bb318a --- /dev/null +++ b/extensions/codex/media-understanding-provider.test.ts @@ -0,0 +1,262 @@ +import { describe, expect, it, vi } from "vitest"; +import { buildCodexMediaUnderstandingProvider } from "./media-understanding-provider.js"; +import type { CodexAppServerClient } from "./src/app-server/client.js"; +import type { CodexServerNotification, JsonValue } from "./src/app-server/protocol.js"; + +function codexModel(inputModalities: string[] = ["text", "image"]) { + return { + id: "gpt-5.4", + model: "gpt-5.4", + upgrade: null, + upgradeInfo: null, + availabilityNux: null, + displayName: "gpt-5.4", + description: "GPT-5.4", + hidden: false, + supportedReasoningEfforts: [{ reasoningEffort: "low", description: "fast" }], + defaultReasoningEffort: "low", + inputModalities, + supportsPersonality: false, + additionalSpeedTiers: [], + isDefault: true, + }; +} + +function threadStartResult() { + return { + thread: { + id: "thread-1", + forkedFromId: null, + preview: "", + ephemeral: true, + modelProvider: "openai", + createdAt: 1, + updatedAt: 1, + status: { type: "idle" }, + path: null, + cwd: "/tmp/openclaw-agent", + cliVersion: "0.118.0", + source: "unknown", + agentNickname: null, + agentRole: null, + gitInfo: null, + name: null, + turns: [], + }, + model: "gpt-5.4", + modelProvider: "openai", + serviceTier: null, + cwd: "/tmp/openclaw-agent", + instructionSources: [], + approvalPolicy: "never", + approvalsReviewer: "user", + sandbox: { type: "dangerFullAccess" }, + permissionProfile: null, + reasoningEffort: null, + }; +} + +function turnStartResult(status = "inProgress", items: JsonValue[] = []) { + return { + turn: { + id: "turn-1", + status, + items, + error: null, + startedAt: null, + completedAt: null, + durationMs: null, + }, + }; +} + +function createFakeClient(options?: { + inputModalities?: string[]; + completeWithItems?: boolean; + notifyError?: string; +}) { + const notifications = new Set<(notification: CodexServerNotification) => void>(); + const requests: Array<{ method: string; params?: JsonValue }> = []; + const request = vi.fn(async (method: string, params?: JsonValue) => { + requests.push({ method, params }); + if (method === "model/list") { + return { + data: [codexModel(options?.inputModalities)], + nextCursor: null, + }; + } + if (method === "thread/start") { + return threadStartResult(); + } + if (method === "turn/start") { + if (options?.notifyError) { + for (const notify of notifications) { + notify({ + method: "error", + params: { + threadId: "thread-1", + turnId: "turn-1", + error: { + message: options.notifyError, + codexErrorInfo: null, + additionalDetails: null, + }, + willRetry: false, + }, + }); + } + } else if (!options?.completeWithItems) { + for (const notify of notifications) { + notify({ + method: "item/agentMessage/delta", + params: { + threadId: "thread-1", + turnId: "turn-1", + itemId: "msg-1", + delta: "A red square.", + }, + }); + notify({ + method: "turn/completed", + params: { + threadId: "thread-1", + turnId: "turn-1", + turn: turnStartResult("completed").turn, + }, + }); + } + } + return turnStartResult( + options?.completeWithItems ? "completed" : "inProgress", + options?.completeWithItems + ? [ + { + id: "msg-1", + type: "agentMessage", + text: "A blue circle.", + phase: null, + memoryCitation: null, + }, + ] + : [], + ); + } + return {}; + }); + + const client = { + request, + addNotificationHandler(handler: (notification: CodexServerNotification) => void) { + notifications.add(handler); + return () => notifications.delete(handler); + }, + } as unknown as CodexAppServerClient; + + return { client, requests }; +} + +describe("codex media understanding provider", () => { + it("runs image understanding through a bounded Codex app-server turn", async () => { + const { client, requests } = createFakeClient(); + const provider = buildCodexMediaUnderstandingProvider({ + clientFactory: async () => client, + }); + + const result = await provider.describeImage?.({ + buffer: Buffer.from("image-bytes"), + fileName: "image.png", + mime: "image/png", + provider: "codex", + model: "gpt-5.4", + prompt: "Describe briefly.", + timeoutMs: 30_000, + cfg: {}, + agentDir: "/tmp/openclaw-agent", + }); + + expect(result).toEqual({ text: "A red square.", model: "gpt-5.4" }); + expect(requests.map((entry) => entry.method)).toEqual([ + "model/list", + "thread/start", + "turn/start", + ]); + expect(requests[1]?.params).toMatchObject({ + model: "gpt-5.4", + modelProvider: "openai", + approvalPolicy: "never", + sandbox: "read-only", + dynamicTools: [], + ephemeral: true, + persistExtendedHistory: false, + }); + expect(requests[2]?.params).toMatchObject({ + threadId: "thread-1", + approvalPolicy: "never", + model: "gpt-5.4", + input: [ + { type: "text", text: "Describe briefly.", text_elements: [] }, + { type: "image", url: "data:image/png;base64,aW1hZ2UtYnl0ZXM=" }, + ], + }); + }); + + it("extracts text from terminal turn items", async () => { + const { client } = createFakeClient({ completeWithItems: true }); + const provider = buildCodexMediaUnderstandingProvider({ + clientFactory: async () => client, + }); + + const result = await provider.describeImages?.({ + images: [{ buffer: Buffer.from("image-bytes"), fileName: "image.png", mime: "image/png" }], + provider: "codex", + model: "gpt-5.4", + prompt: "Describe briefly.", + timeoutMs: 30_000, + cfg: {}, + agentDir: "/tmp/openclaw-agent", + }); + + expect(result).toEqual({ text: "A blue circle.", model: "gpt-5.4" }); + }); + + it("rejects text-only Codex app-server models before starting a turn", async () => { + const { client, requests } = createFakeClient({ inputModalities: ["text"] }); + const provider = buildCodexMediaUnderstandingProvider({ + clientFactory: async () => client, + }); + + await expect( + provider.describeImage?.({ + buffer: Buffer.from("image-bytes"), + fileName: "image.png", + mime: "image/png", + provider: "codex", + model: "gpt-5.4", + timeoutMs: 30_000, + cfg: {}, + agentDir: "/tmp/openclaw-agent", + }), + ).rejects.toThrow("Codex app-server model does not support images: gpt-5.4"); + expect(requests.map((entry) => entry.method)).toEqual(["model/list"]); + }); + + it("surfaces Codex app-server turn errors", async () => { + const { client } = createFakeClient({ notifyError: "vision unavailable" }); + const provider = buildCodexMediaUnderstandingProvider({ + clientFactory: async () => client, + }); + + await expect( + provider.describeImage?.({ + buffer: Buffer.from("image-bytes"), + fileName: "image.png", + mime: "image/png", + provider: "codex", + model: "gpt-5.4", + timeoutMs: 30_000, + cfg: {}, + agentDir: "/tmp/openclaw-agent", + }), + ).rejects.toThrow("vision unavailable"); + }); +}); diff --git a/extensions/codex/media-understanding-provider.ts b/extensions/codex/media-understanding-provider.ts new file mode 100644 index 00000000000..41661601c0a --- /dev/null +++ b/extensions/codex/media-understanding-provider.ts @@ -0,0 +1,338 @@ +import { + type ImagesDescriptionRequest, + type ImagesDescriptionResult, + type MediaUnderstandingProvider, +} from "openclaw/plugin-sdk/media-understanding"; +import { CODEX_PROVIDER_ID, FALLBACK_CODEX_MODELS } from "./provider-catalog.js"; +import { type CodexAppServerClientFactory } from "./src/app-server/client-factory.js"; +import type { CodexAppServerClient } from "./src/app-server/client.js"; +import { resolveCodexAppServerRuntimeOptions } from "./src/app-server/config.js"; +import { readModelListResult } from "./src/app-server/models.js"; +import { + isJsonObject, + type CodexServerNotification, + type CodexThreadItem, + type CodexThreadStartParams, + type CodexTurn, + type CodexTurnStartParams, + type JsonObject, +} from "./src/app-server/protocol.js"; +import { + assertCodexThreadStartResponse, + assertCodexTurnStartResponse, + readCodexErrorNotification, + readCodexTurnCompletedNotification, +} from "./src/app-server/protocol-validators.js"; +import { createIsolatedCodexAppServerClient } from "./src/app-server/shared-client.js"; + +const DEFAULT_CODEX_IMAGE_MODEL = + FALLBACK_CODEX_MODELS.find((model) => model.inputModalities.includes("image"))?.id ?? + FALLBACK_CODEX_MODELS[0]?.id; +const DEFAULT_CODEX_IMAGE_PROMPT = "Describe the image."; + +export type CodexMediaUnderstandingProviderOptions = { + pluginConfig?: unknown; + clientFactory?: CodexAppServerClientFactory; +}; + +export function buildCodexMediaUnderstandingProvider( + options: CodexMediaUnderstandingProviderOptions = {}, +): MediaUnderstandingProvider { + return { + id: CODEX_PROVIDER_ID, + capabilities: ["image"], + ...(DEFAULT_CODEX_IMAGE_MODEL ? { defaultModels: { image: DEFAULT_CODEX_IMAGE_MODEL } } : {}), + describeImage: async (req) => + describeCodexImages( + { + images: [ + { + buffer: req.buffer, + fileName: req.fileName, + mime: req.mime, + }, + ], + provider: req.provider, + model: req.model, + prompt: req.prompt, + maxTokens: req.maxTokens, + timeoutMs: req.timeoutMs, + profile: req.profile, + preferredProfile: req.preferredProfile, + authStore: req.authStore, + agentDir: req.agentDir, + cfg: req.cfg, + }, + options, + ), + describeImages: async (req) => describeCodexImages(req, options), + }; +} + +async function describeCodexImages( + req: ImagesDescriptionRequest, + options: CodexMediaUnderstandingProviderOptions, +): Promise { + const model = req.model.trim(); + if (!model) { + throw new Error("Codex image understanding requires model id."); + } + + const appServer = resolveCodexAppServerRuntimeOptions({ pluginConfig: options.pluginConfig }); + const timeoutMs = Math.max(100, req.timeoutMs); + const ownsClient = !options.clientFactory; + const client = options.clientFactory + ? await options.clientFactory(appServer.start, req.profile) + : await createIsolatedCodexAppServerClient({ + startOptions: appServer.start, + timeoutMs, + authProfileId: req.profile, + }); + const abortController = new AbortController(); + const timeout = setTimeout(() => abortController.abort("timeout"), timeoutMs); + timeout.unref?.(); + + try { + await assertCodexModelSupportsImage({ + client, + model, + timeoutMs, + signal: abortController.signal, + }); + const thread = assertCodexThreadStartResponse( + await client.request( + "thread/start", + { + model, + modelProvider: "openai", + cwd: req.agentDir || process.cwd(), + approvalPolicy: "never", + sandbox: "read-only", + serviceName: "OpenClaw", + developerInstructions: + "You are OpenClaw's bounded image-understanding worker. Describe only the provided image content. Do not call tools, edit files, or ask follow-up questions.", + dynamicTools: [], + experimentalRawEvents: true, + persistExtendedHistory: false, + ephemeral: true, + } satisfies CodexThreadStartParams, + { timeoutMs, signal: abortController.signal }, + ), + ); + const collector = createCodexImageTurnCollector(thread.thread.id); + const cleanup = client.addNotificationHandler(collector.handleNotification); + try { + const turn = assertCodexTurnStartResponse( + await client.request( + "turn/start", + { + threadId: thread.thread.id, + input: [ + { type: "text", text: buildCodexImagePrompt(req), text_elements: [] }, + ...req.images.map((image) => ({ + type: "image" as const, + url: `data:${image.mime ?? "image/png"};base64,${image.buffer.toString("base64")}`, + })), + ], + cwd: req.agentDir || process.cwd(), + approvalPolicy: "never", + model, + effort: "low", + } satisfies CodexTurnStartParams, + { timeoutMs, signal: abortController.signal }, + ), + ); + const text = await collector.collect(turn.turn, { + timeoutMs, + signal: abortController.signal, + }); + return { text, model }; + } finally { + cleanup(); + } + } finally { + clearTimeout(timeout); + if (ownsClient) { + client.close(); + } + } +} + +async function assertCodexModelSupportsImage(params: { + client: CodexAppServerClient; + model: string; + timeoutMs: number; + signal: AbortSignal; +}): Promise { + const result = await params.client.request( + "model/list", + { limit: 100, cursor: null, includeHidden: false }, + { timeoutMs: Math.min(params.timeoutMs, 5_000), signal: params.signal }, + ); + const listed = readModelListResult(result).models; + const match = listed.find((entry) => entry.model === params.model || entry.id === params.model); + if (!match) { + throw new Error(`Codex app-server model not found: ${params.model}`); + } + if (!match.inputModalities.includes("image")) { + throw new Error(`Codex app-server model does not support images: ${params.model}`); + } +} + +function buildCodexImagePrompt(req: ImagesDescriptionRequest): string { + const prompt = req.prompt?.trim() || DEFAULT_CODEX_IMAGE_PROMPT; + if (req.images.length <= 1) { + return prompt; + } + return `${prompt}\n\nAnalyze all ${req.images.length} images together.`; +} + +function createCodexImageTurnCollector(threadId: string) { + let turnId: string | undefined; + let completedTurn: CodexTurn | undefined; + let promptError: string | undefined; + const pending: CodexServerNotification[] = []; + const assistantTextByItem = new Map(); + const assistantItemOrder: string[] = []; + let resolveCompletion: (() => void) | undefined; + const completion = new Promise((resolve) => { + resolveCompletion = resolve; + }); + + const rememberAssistantText = (itemId: string, text: string) => { + if (!text) { + return; + } + if (!assistantTextByItem.has(itemId)) { + assistantItemOrder.push(itemId); + } + assistantTextByItem.set(itemId, text); + }; + + const handleNotification = (notification: CodexServerNotification): void => { + const params = isJsonObject(notification.params) ? notification.params : undefined; + if (!params || readString(params, "threadId") !== threadId) { + return; + } + if (!turnId) { + pending.push(notification); + return; + } + const notificationTurnId = readNotificationTurnId(params); + if (notificationTurnId !== turnId) { + return; + } + if (notification.method === "item/agentMessage/delta") { + const itemId = readString(params, "itemId") ?? readString(params, "id") ?? "assistant"; + const delta = readString(params, "delta") ?? ""; + rememberAssistantText(itemId, `${assistantTextByItem.get(itemId) ?? ""}${delta}`); + return; + } + if (notification.method === "turn/completed") { + completedTurn = readCodexTurnCompletedNotification(notification.params)?.turn ?? completedTurn; + resolveCompletion?.(); + return; + } + if (notification.method === "error") { + promptError = + readCodexErrorNotification(notification.params)?.error.message ?? + "codex app-server image turn failed"; + resolveCompletion?.(); + } + }; + + return { + handleNotification, + async collect( + startedTurn: CodexTurn, + options: { timeoutMs: number; signal: AbortSignal }, + ): Promise { + turnId = startedTurn.id; + if (isTerminalTurn(startedTurn)) { + completedTurn = startedTurn; + } + for (const notification of pending.splice(0)) { + handleNotification(notification); + } + if (!completedTurn && !promptError) { + await waitForTurnCompletion({ + completion, + timeoutMs: options.timeoutMs, + signal: options.signal, + }); + } + if (promptError) { + throw new Error(promptError); + } + if (completedTurn?.status === "failed") { + throw new Error(completedTurn.error?.message ?? "codex app-server image turn failed"); + } + const itemText = collectAssistantTextFromItems(completedTurn?.items); + const deltaText = assistantItemOrder + .map((itemId) => assistantTextByItem.get(itemId)?.trim()) + .filter((text): text is string => Boolean(text)) + .join("\n\n") + .trim(); + const text = (itemText || deltaText).trim(); + if (!text) { + throw new Error("Codex app-server image turn returned no text."); + } + return text; + }, + }; +} + +async function waitForTurnCompletion(params: { + completion: Promise; + timeoutMs: number; + signal: AbortSignal; +}): Promise { + let timeout: ReturnType | undefined; + let cleanupAbort: (() => void) | undefined; + try { + await Promise.race([ + params.completion, + new Promise((_, reject) => { + timeout = setTimeout( + () => reject(new Error("codex app-server image turn timed out")), + params.timeoutMs, + ); + timeout.unref?.(); + const abortListener = () => reject(new Error("codex app-server image turn aborted")); + params.signal.addEventListener("abort", abortListener, { once: true }); + cleanupAbort = () => params.signal.removeEventListener("abort", abortListener); + }), + ]); + } finally { + if (timeout) { + clearTimeout(timeout); + } + cleanupAbort?.(); + } +} + +function collectAssistantTextFromItems(items: CodexThreadItem[] | undefined): string { + return (items ?? []) + .filter((item) => item.type === "agentMessage") + .map((item) => item.text.trim()) + .filter(Boolean) + .join("\n\n") + .trim(); +} + +function readNotificationTurnId(record: JsonObject): string | undefined { + const direct = readString(record, "turnId"); + if (direct) { + return direct; + } + return isJsonObject(record.turn) ? readString(record.turn, "id") : undefined; +} + +function readString(record: JsonObject, key: string): string | undefined { + const value = record[key]; + return typeof value === "string" ? value : undefined; +} + +function isTerminalTurn(turn: CodexTurn): boolean { + return turn.status === "completed" || turn.status === "interrupted" || turn.status === "failed"; +} diff --git a/extensions/codex/openclaw.plugin.json b/extensions/codex/openclaw.plugin.json index 023af2a0127..b82f61ad4bc 100644 --- a/extensions/codex/openclaw.plugin.json +++ b/extensions/codex/openclaw.plugin.json @@ -3,6 +3,17 @@ "name": "Codex", "description": "Codex app-server harness and Codex-managed GPT model catalog.", "providers": ["codex"], + "contracts": { + "mediaUnderstandingProviders": ["codex"] + }, + "mediaUnderstandingProviderMetadata": { + "codex": { + "capabilities": ["image"], + "defaultModels": { + "image": "gpt-5.5" + } + } + }, "providerDiscoveryEntry": "./provider-discovery.ts", "syntheticAuthRefs": ["codex"], "nonSecretAuthMarkers": ["codex-app-server"], diff --git a/extensions/codex/package.json b/extensions/codex/package.json index a24c63f75f4..2fb5325c366 100644 --- a/extensions/codex/package.json +++ b/extensions/codex/package.json @@ -5,6 +5,7 @@ "type": "module", "dependencies": { "@mariozechner/pi-coding-agent": "0.70.0", + "ajv": "^8.18.0", "ws": "^8.20.0", "zod": "^4.3.6" }, diff --git a/extensions/codex/src/app-server/dynamic-tools.test.ts b/extensions/codex/src/app-server/dynamic-tools.test.ts index 0655b654b47..bb382f52a2a 100644 --- a/extensions/codex/src/app-server/dynamic-tools.test.ts +++ b/extensions/codex/src/app-server/dynamic-tools.test.ts @@ -60,6 +60,7 @@ async function handleMessageToolCall( threadId: "thread-1", turnId: "turn-1", callId: "call-1", + namespace: null, tool: "message", arguments: arguments_, }); @@ -85,6 +86,7 @@ describe("createCodexDynamicToolBridge", () => { threadId: "thread-1", turnId: "turn-1", callId: "call-1", + namespace: null, tool: toolName, arguments: { prompt: "hello" }, }); @@ -117,6 +119,7 @@ describe("createCodexDynamicToolBridge", () => { threadId: "thread-1", turnId: "turn-1", callId: "call-1", + namespace: null, tool: "tts", arguments: { text: "hello" }, }); @@ -232,6 +235,7 @@ describe("createCodexDynamicToolBridge", () => { threadId: "thread-1", turnId: "turn-1", callId: "call-1", + namespace: null, tool: "exec", arguments: { command: "git status" }, }); @@ -254,6 +258,7 @@ describe("createCodexDynamicToolBridge", () => { threadId: "thread-1", turnId: "turn-1", callId: "call-1", + namespace: null, tool: "exec", arguments: { command: "pwd" }, }); diff --git a/extensions/codex/src/app-server/event-projector.ts b/extensions/codex/src/app-server/event-projector.ts index f7821ba35e9..8dfd57631bf 100644 --- a/extensions/codex/src/app-server/event-projector.ts +++ b/extensions/codex/src/app-server/event-projector.ts @@ -18,6 +18,7 @@ import { type JsonObject, type JsonValue, } from "./protocol.js"; +import { readCodexTurn } from "./protocol-validators.js"; export type CodexAppServerToolTelemetry = { didSendViaMessagingTool: boolean; @@ -797,28 +798,5 @@ function readItem(value: JsonValue | undefined): CodexThreadItem | undefined { } function readTurn(value: JsonValue | undefined): CodexTurn | undefined { - if (!isJsonObject(value)) { - return undefined; - } - const id = typeof value.id === "string" ? value.id : undefined; - const status = typeof value.status === "string" ? value.status : undefined; - if (!id || !status) { - return undefined; - } - const items = Array.isArray(value.items) - ? value.items.flatMap((item) => { - const parsed = readItem(item); - return parsed ? [parsed] : []; - }) - : undefined; - return { - id, - status: status as CodexTurn["status"], - error: isJsonObject(value.error) - ? { - message: typeof value.error.message === "string" ? value.error.message : undefined, - } - : null, - items, - }; + return readCodexTurn(value); } diff --git a/extensions/codex/src/app-server/models.test.ts b/extensions/codex/src/app-server/models.test.ts index ee5018c4878..2e80806757f 100644 --- a/extensions/codex/src/app-server/models.test.ts +++ b/extensions/codex/src/app-server/models.test.ts @@ -58,13 +58,20 @@ describe("listCodexAppServerModels", () => { { id: "gpt-5.4", model: "gpt-5.4", + upgrade: null, + upgradeInfo: null, + availabilityNux: null, displayName: "gpt-5.4", + description: "GPT-5.4", + hidden: false, inputModalities: ["text", "image"], supportedReasoningEfforts: [ { reasoningEffort: "low", description: "fast" }, { reasoningEffort: "xhigh", description: "deep" }, ], defaultReasoningEffort: "medium", + supportsPersonality: false, + additionalSpeedTiers: [], isDefault: true, }, ], @@ -78,6 +85,8 @@ describe("listCodexAppServerModels", () => { id: "gpt-5.4", model: "gpt-5.4", displayName: "gpt-5.4", + description: "GPT-5.4", + hidden: false, inputModalities: ["text", "image"], supportedReasoningEfforts: ["low", "xhigh"], defaultReasoningEffort: "medium", diff --git a/extensions/codex/src/app-server/models.ts b/extensions/codex/src/app-server/models.ts index d39c849a8be..decd4f2ca3c 100644 --- a/extensions/codex/src/app-server/models.ts +++ b/extensions/codex/src/app-server/models.ts @@ -1,5 +1,6 @@ import type { CodexAppServerStartOptions } from "./config.js"; -import { type JsonObject, type JsonValue } from "./protocol.js"; +import type { v2 } from "./protocol-generated/typescript/index.js"; +import { readCodexModelListResponse } from "./protocol-validators.js"; import { createIsolatedCodexAppServerClient, getSharedCodexAppServerClient, @@ -49,7 +50,7 @@ export async function listCodexAppServerModels( authProfileId: options.authProfileId, }); try { - const response = await client.request( + const response = await client.request( "model/list", { limit: options.limit ?? null, @@ -66,21 +67,19 @@ export async function listCodexAppServerModels( } } -function readModelListResult(value: JsonValue | undefined): CodexAppServerModelListResult { - if (!isJsonObjectValue(value) || !Array.isArray(value.data)) { +export function readModelListResult(value: unknown): CodexAppServerModelListResult { + const response = readCodexModelListResponse(value); + if (!response) { return { models: [] }; } - const models = value.data + const models = response.data .map((entry) => readCodexModel(entry)) .filter((entry): entry is CodexAppServerModel => entry !== undefined); - const nextCursor = typeof value.nextCursor === "string" ? value.nextCursor : undefined; + const nextCursor = response.nextCursor ?? undefined; return { models, ...(nextCursor ? { nextCursor } : {}) }; } -function readCodexModel(value: unknown): CodexAppServerModel | undefined { - if (!isJsonObjectValue(value)) { - return undefined; - } +function readCodexModel(value: v2.Model): CodexAppServerModel | undefined { const id = readNonEmptyString(value.id); const model = readNonEmptyString(value.model) ?? id; if (!id || !model) { @@ -95,9 +94,9 @@ function readCodexModel(value: unknown): CodexAppServerModel | undefined { ...(readNonEmptyString(value.description) ? { description: readNonEmptyString(value.description) } : {}), - ...(typeof value.hidden === "boolean" ? { hidden: value.hidden } : {}), - ...(typeof value.isDefault === "boolean" ? { isDefault: value.isDefault } : {}), - inputModalities: readStringArray(value.inputModalities), + hidden: value.hidden, + isDefault: value.isDefault, + inputModalities: value.inputModalities, supportedReasoningEfforts: readReasoningEfforts(value.supportedReasoningEfforts), ...(readNonEmptyString(value.defaultReasoningEffort) ? { defaultReasoningEffort: readNonEmptyString(value.defaultReasoningEffort) } @@ -105,34 +104,13 @@ function readCodexModel(value: unknown): CodexAppServerModel | undefined { }; } -function readReasoningEfforts(value: unknown): string[] { - if (!Array.isArray(value)) { - return []; - } +function readReasoningEfforts(value: v2.ReasoningEffortOption[]): string[] { const efforts = value - .map((entry) => { - if (!isJsonObjectValue(entry)) { - return undefined; - } - return readNonEmptyString(entry.reasoningEffort); - }) + .map((entry) => readNonEmptyString(entry.reasoningEffort)) .filter((entry): entry is string => entry !== undefined); return [...new Set(efforts)]; } -function readStringArray(value: unknown): string[] { - if (!Array.isArray(value)) { - return []; - } - return [ - ...new Set( - value - .map((entry) => readNonEmptyString(entry)) - .filter((entry): entry is string => entry !== undefined), - ), - ]; -} - function readNonEmptyString(value: unknown): string | undefined { if (typeof value !== "string") { return undefined; @@ -140,7 +118,3 @@ function readNonEmptyString(value: unknown): string | undefined { const trimmed = value.trim(); return trimmed || undefined; } - -function isJsonObjectValue(value: unknown): value is JsonObject { - return Boolean(value && typeof value === "object" && !Array.isArray(value)); -} diff --git a/extensions/codex/src/app-server/protocol-generated/json/DynamicToolCallParams.json b/extensions/codex/src/app-server/protocol-generated/json/DynamicToolCallParams.json new file mode 100644 index 00000000000..991733da668 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/json/DynamicToolCallParams.json @@ -0,0 +1,33 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "arguments": true, + "callId": { + "type": "string" + }, + "namespace": { + "type": [ + "string", + "null" + ] + }, + "threadId": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "turnId": { + "type": "string" + } + }, + "required": [ + "arguments", + "callId", + "threadId", + "tool", + "turnId" + ], + "title": "DynamicToolCallParams", + "type": "object" +} \ No newline at end of file diff --git a/extensions/codex/src/app-server/protocol-generated/json/v2/ErrorNotification.json b/extensions/codex/src/app-server/protocol-generated/json/v2/ErrorNotification.json new file mode 100644 index 00000000000..fd55d08764d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/json/v2/ErrorNotification.json @@ -0,0 +1,199 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "CodexErrorInfo": { + "description": "This translation layer make sure that we expose codex error code in camel case.\n\nWhen an upstream HTTP status is available (for example, from the Responses API or a provider), it is forwarded in `httpStatusCode` on the relevant `codexErrorInfo` variant.", + "oneOf": [ + { + "enum": [ + "contextWindowExceeded", + "usageLimitExceeded", + "serverOverloaded", + "cyberPolicy", + "internalServerError", + "unauthorized", + "badRequest", + "threadRollbackFailed", + "sandboxError", + "other" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "httpConnectionFailed": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "httpConnectionFailed" + ], + "title": "HttpConnectionFailedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Failed to connect to the response SSE stream.", + "properties": { + "responseStreamConnectionFailed": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseStreamConnectionFailed" + ], + "title": "ResponseStreamConnectionFailedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "The response SSE stream disconnected in the middle of a turn before completion.", + "properties": { + "responseStreamDisconnected": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseStreamDisconnected" + ], + "title": "ResponseStreamDisconnectedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Reached the retry limit for responses.", + "properties": { + "responseTooManyFailedAttempts": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseTooManyFailedAttempts" + ], + "title": "ResponseTooManyFailedAttemptsCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Returned when `turn/start` or `turn/steer` is submitted while the current active turn cannot accept same-turn steering, for example `/review` or manual `/compact`.", + "properties": { + "activeTurnNotSteerable": { + "properties": { + "turnKind": { + "$ref": "#/definitions/NonSteerableTurnKind" + } + }, + "required": [ + "turnKind" + ], + "type": "object" + } + }, + "required": [ + "activeTurnNotSteerable" + ], + "title": "ActiveTurnNotSteerableCodexErrorInfo", + "type": "object" + } + ] + }, + "NonSteerableTurnKind": { + "enum": [ + "review", + "compact" + ], + "type": "string" + }, + "TurnError": { + "properties": { + "additionalDetails": { + "default": null, + "type": [ + "string", + "null" + ] + }, + "codexErrorInfo": { + "anyOf": [ + { + "$ref": "#/definitions/CodexErrorInfo" + }, + { + "type": "null" + } + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + }, + "properties": { + "error": { + "$ref": "#/definitions/TurnError" + }, + "threadId": { + "type": "string" + }, + "turnId": { + "type": "string" + }, + "willRetry": { + "type": "boolean" + } + }, + "required": [ + "error", + "threadId", + "turnId", + "willRetry" + ], + "title": "ErrorNotification", + "type": "object" +} \ No newline at end of file diff --git a/extensions/codex/src/app-server/protocol-generated/json/v2/ModelListResponse.json b/extensions/codex/src/app-server/protocol-generated/json/v2/ModelListResponse.json new file mode 100644 index 00000000000..dc60c5b770b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/json/v2/ModelListResponse.json @@ -0,0 +1,200 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "InputModality": { + "description": "Canonical user-input modality tags advertised by a model.", + "oneOf": [ + { + "description": "Plain text turns and tool payloads.", + "enum": [ + "text" + ], + "type": "string" + }, + { + "description": "Image attachments included in user turns.", + "enum": [ + "image" + ], + "type": "string" + } + ] + }, + "Model": { + "properties": { + "additionalSpeedTiers": { + "default": [], + "items": { + "type": "string" + }, + "type": "array" + }, + "availabilityNux": { + "anyOf": [ + { + "$ref": "#/definitions/ModelAvailabilityNux" + }, + { + "type": "null" + } + ] + }, + "defaultReasoningEffort": { + "$ref": "#/definitions/ReasoningEffort" + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "hidden": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "inputModalities": { + "default": [ + "text", + "image" + ], + "items": { + "$ref": "#/definitions/InputModality" + }, + "type": "array" + }, + "isDefault": { + "type": "boolean" + }, + "model": { + "type": "string" + }, + "supportedReasoningEfforts": { + "items": { + "$ref": "#/definitions/ReasoningEffortOption" + }, + "type": "array" + }, + "supportsPersonality": { + "default": false, + "type": "boolean" + }, + "upgrade": { + "type": [ + "string", + "null" + ] + }, + "upgradeInfo": { + "anyOf": [ + { + "$ref": "#/definitions/ModelUpgradeInfo" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "defaultReasoningEffort", + "description", + "displayName", + "hidden", + "id", + "isDefault", + "model", + "supportedReasoningEfforts" + ], + "type": "object" + }, + "ModelAvailabilityNux": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "ModelUpgradeInfo": { + "properties": { + "migrationMarkdown": { + "type": [ + "string", + "null" + ] + }, + "model": { + "type": "string" + }, + "modelLink": { + "type": [ + "string", + "null" + ] + }, + "upgradeCopy": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "model" + ], + "type": "object" + }, + "ReasoningEffort": { + "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning", + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh" + ], + "type": "string" + }, + "ReasoningEffortOption": { + "properties": { + "description": { + "type": "string" + }, + "reasoningEffort": { + "$ref": "#/definitions/ReasoningEffort" + } + }, + "required": [ + "description", + "reasoningEffort" + ], + "type": "object" + } + }, + "properties": { + "data": { + "items": { + "$ref": "#/definitions/Model" + }, + "type": "array" + }, + "nextCursor": { + "description": "Opaque cursor to pass to the next call to continue after the last item. If None, there are no more items to return.", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "data" + ], + "title": "ModelListResponse", + "type": "object" +} \ No newline at end of file diff --git a/extensions/codex/src/app-server/protocol-generated/json/v2/ThreadResumeResponse.json b/extensions/codex/src/app-server/protocol-generated/json/v2/ThreadResumeResponse.json new file mode 100644 index 00000000000..38b0eb0d376 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/json/v2/ThreadResumeResponse.json @@ -0,0 +1,2554 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "AbsolutePathBuf": { + "description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + "type": "string" + }, + "AgentPath": { + "type": "string" + }, + "ApprovalsReviewer": { + "description": "Configures who approval requests are routed to for review. Examples include sandbox escapes, blocked network access, MCP approval prompts, and ARC escalations. Defaults to `user`. `auto_review` uses a carefully prompted subagent to gather relevant context and apply a risk-based decision framework before approving or denying the request. The legacy value `guardian_subagent` is accepted for compatibility.", + "enum": [ + "user", + "auto_review", + "guardian_subagent" + ], + "type": "string" + }, + "AskForApproval": { + "oneOf": [ + { + "enum": [ + "untrusted", + "on-failure", + "on-request", + "never" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "granular": { + "properties": { + "mcp_elicitations": { + "type": "boolean" + }, + "request_permissions": { + "default": false, + "type": "boolean" + }, + "rules": { + "type": "boolean" + }, + "sandbox_approval": { + "type": "boolean" + }, + "skill_approval": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "mcp_elicitations", + "rules", + "sandbox_approval" + ], + "type": "object" + } + }, + "required": [ + "granular" + ], + "title": "GranularAskForApproval", + "type": "object" + } + ] + }, + "ByteRange": { + "properties": { + "end": { + "format": "uint", + "minimum": 0.0, + "type": "integer" + }, + "start": { + "format": "uint", + "minimum": 0.0, + "type": "integer" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "CodexErrorInfo": { + "description": "This translation layer make sure that we expose codex error code in camel case.\n\nWhen an upstream HTTP status is available (for example, from the Responses API or a provider), it is forwarded in `httpStatusCode` on the relevant `codexErrorInfo` variant.", + "oneOf": [ + { + "enum": [ + "contextWindowExceeded", + "usageLimitExceeded", + "serverOverloaded", + "cyberPolicy", + "internalServerError", + "unauthorized", + "badRequest", + "threadRollbackFailed", + "sandboxError", + "other" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "httpConnectionFailed": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "httpConnectionFailed" + ], + "title": "HttpConnectionFailedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Failed to connect to the response SSE stream.", + "properties": { + "responseStreamConnectionFailed": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseStreamConnectionFailed" + ], + "title": "ResponseStreamConnectionFailedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "The response SSE stream disconnected in the middle of a turn before completion.", + "properties": { + "responseStreamDisconnected": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseStreamDisconnected" + ], + "title": "ResponseStreamDisconnectedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Reached the retry limit for responses.", + "properties": { + "responseTooManyFailedAttempts": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseTooManyFailedAttempts" + ], + "title": "ResponseTooManyFailedAttemptsCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Returned when `turn/start` or `turn/steer` is submitted while the current active turn cannot accept same-turn steering, for example `/review` or manual `/compact`.", + "properties": { + "activeTurnNotSteerable": { + "properties": { + "turnKind": { + "$ref": "#/definitions/NonSteerableTurnKind" + } + }, + "required": [ + "turnKind" + ], + "type": "object" + } + }, + "required": [ + "activeTurnNotSteerable" + ], + "title": "ActiveTurnNotSteerableCodexErrorInfo", + "type": "object" + } + ] + }, + "CollabAgentState": { + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "status": { + "$ref": "#/definitions/CollabAgentStatus" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "CollabAgentStatus": { + "enum": [ + "pendingInit", + "running", + "interrupted", + "completed", + "errored", + "shutdown", + "notFound" + ], + "type": "string" + }, + "CollabAgentTool": { + "enum": [ + "spawnAgent", + "sendInput", + "resumeAgent", + "wait", + "closeAgent" + ], + "type": "string" + }, + "CollabAgentToolCallStatus": { + "enum": [ + "inProgress", + "completed", + "failed" + ], + "type": "string" + }, + "CommandAction": { + "oneOf": [ + { + "properties": { + "command": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": { + "enum": [ + "read" + ], + "title": "ReadCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "name", + "path", + "type" + ], + "title": "ReadCommandAction", + "type": "object" + }, + { + "properties": { + "command": { + "type": "string" + }, + "path": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "listFiles" + ], + "title": "ListFilesCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "type" + ], + "title": "ListFilesCommandAction", + "type": "object" + }, + { + "properties": { + "command": { + "type": "string" + }, + "path": { + "type": [ + "string", + "null" + ] + }, + "query": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "search" + ], + "title": "SearchCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "type" + ], + "title": "SearchCommandAction", + "type": "object" + }, + { + "properties": { + "command": { + "type": "string" + }, + "type": { + "enum": [ + "unknown" + ], + "title": "UnknownCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "type" + ], + "title": "UnknownCommandAction", + "type": "object" + } + ] + }, + "CommandExecutionSource": { + "enum": [ + "agent", + "userShell", + "unifiedExecStartup", + "unifiedExecInteraction" + ], + "type": "string" + }, + "CommandExecutionStatus": { + "enum": [ + "inProgress", + "completed", + "failed", + "declined" + ], + "type": "string" + }, + "DynamicToolCallOutputContentItem": { + "oneOf": [ + { + "properties": { + "text": { + "type": "string" + }, + "type": { + "enum": [ + "inputText" + ], + "title": "InputTextDynamicToolCallOutputContentItemType", + "type": "string" + } + }, + "required": [ + "text", + "type" + ], + "title": "InputTextDynamicToolCallOutputContentItem", + "type": "object" + }, + { + "properties": { + "imageUrl": { + "type": "string" + }, + "type": { + "enum": [ + "inputImage" + ], + "title": "InputImageDynamicToolCallOutputContentItemType", + "type": "string" + } + }, + "required": [ + "imageUrl", + "type" + ], + "title": "InputImageDynamicToolCallOutputContentItem", + "type": "object" + } + ] + }, + "DynamicToolCallStatus": { + "enum": [ + "inProgress", + "completed", + "failed" + ], + "type": "string" + }, + "FileSystemAccessMode": { + "enum": [ + "read", + "write", + "none" + ], + "type": "string" + }, + "FileSystemPath": { + "oneOf": [ + { + "properties": { + "path": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": { + "enum": [ + "path" + ], + "title": "PathFileSystemPathType", + "type": "string" + } + }, + "required": [ + "path", + "type" + ], + "title": "PathFileSystemPath", + "type": "object" + }, + { + "properties": { + "pattern": { + "type": "string" + }, + "type": { + "enum": [ + "glob_pattern" + ], + "title": "GlobPatternFileSystemPathType", + "type": "string" + } + }, + "required": [ + "pattern", + "type" + ], + "title": "GlobPatternFileSystemPath", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "special" + ], + "title": "SpecialFileSystemPathType", + "type": "string" + }, + "value": { + "$ref": "#/definitions/FileSystemSpecialPath" + } + }, + "required": [ + "type", + "value" + ], + "title": "SpecialFileSystemPath", + "type": "object" + } + ] + }, + "FileSystemSandboxEntry": { + "properties": { + "access": { + "$ref": "#/definitions/FileSystemAccessMode" + }, + "path": { + "$ref": "#/definitions/FileSystemPath" + } + }, + "required": [ + "access", + "path" + ], + "type": "object" + }, + "FileSystemSpecialPath": { + "oneOf": [ + { + "properties": { + "kind": { + "enum": [ + "root" + ], + "type": "string" + } + }, + "required": [ + "kind" + ], + "title": "RootFileSystemSpecialPath", + "type": "object" + }, + { + "properties": { + "kind": { + "enum": [ + "minimal" + ], + "type": "string" + } + }, + "required": [ + "kind" + ], + "title": "MinimalFileSystemSpecialPath", + "type": "object" + }, + { + "properties": { + "kind": { + "enum": [ + "current_working_directory" + ], + "type": "string" + } + }, + "required": [ + "kind" + ], + "title": "CurrentWorkingDirectoryFileSystemSpecialPath", + "type": "object" + }, + { + "properties": { + "kind": { + "enum": [ + "project_roots" + ], + "type": "string" + }, + "subpath": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "kind" + ], + "title": "KindFileSystemSpecialPath", + "type": "object" + }, + { + "properties": { + "kind": { + "enum": [ + "tmpdir" + ], + "type": "string" + } + }, + "required": [ + "kind" + ], + "title": "TmpdirFileSystemSpecialPath", + "type": "object" + }, + { + "properties": { + "kind": { + "enum": [ + "slash_tmp" + ], + "type": "string" + } + }, + "required": [ + "kind" + ], + "title": "SlashTmpFileSystemSpecialPath", + "type": "object" + }, + { + "properties": { + "kind": { + "enum": [ + "unknown" + ], + "type": "string" + }, + "path": { + "type": "string" + }, + "subpath": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "kind", + "path" + ], + "type": "object" + } + ] + }, + "FileUpdateChange": { + "properties": { + "diff": { + "type": "string" + }, + "kind": { + "$ref": "#/definitions/PatchChangeKind" + }, + "path": { + "type": "string" + } + }, + "required": [ + "diff", + "kind", + "path" + ], + "type": "object" + }, + "GitInfo": { + "properties": { + "branch": { + "type": [ + "string", + "null" + ] + }, + "originUrl": { + "type": [ + "string", + "null" + ] + }, + "sha": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "HookPromptFragment": { + "properties": { + "hookRunId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "hookRunId", + "text" + ], + "type": "object" + }, + "McpToolCallError": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "McpToolCallResult": { + "properties": { + "_meta": true, + "content": { + "items": true, + "type": "array" + }, + "structuredContent": true + }, + "required": [ + "content" + ], + "type": "object" + }, + "McpToolCallStatus": { + "enum": [ + "inProgress", + "completed", + "failed" + ], + "type": "string" + }, + "MemoryCitation": { + "properties": { + "entries": { + "items": { + "$ref": "#/definitions/MemoryCitationEntry" + }, + "type": "array" + }, + "threadIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "entries", + "threadIds" + ], + "type": "object" + }, + "MemoryCitationEntry": { + "properties": { + "lineEnd": { + "format": "uint32", + "minimum": 0.0, + "type": "integer" + }, + "lineStart": { + "format": "uint32", + "minimum": 0.0, + "type": "integer" + }, + "note": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": [ + "lineEnd", + "lineStart", + "note", + "path" + ], + "type": "object" + }, + "MessagePhase": { + "description": "Classifies an assistant message as interim commentary or final answer text.\n\nProviders do not emit this consistently, so callers must treat `None` as \"phase unknown\" and keep compatibility behavior for legacy models.", + "oneOf": [ + { + "description": "Mid-turn assistant text (for example preamble/progress narration).\n\nAdditional tool calls or assistant output may follow before turn completion.", + "enum": [ + "commentary" + ], + "type": "string" + }, + { + "description": "The assistant's terminal answer text for the current turn.", + "enum": [ + "final_answer" + ], + "type": "string" + } + ] + }, + "NetworkAccess": { + "enum": [ + "restricted", + "enabled" + ], + "type": "string" + }, + "NonSteerableTurnKind": { + "enum": [ + "review", + "compact" + ], + "type": "string" + }, + "PatchApplyStatus": { + "enum": [ + "inProgress", + "completed", + "failed", + "declined" + ], + "type": "string" + }, + "PatchChangeKind": { + "oneOf": [ + { + "properties": { + "type": { + "enum": [ + "add" + ], + "title": "AddPatchChangeKindType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "AddPatchChangeKind", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "delete" + ], + "title": "DeletePatchChangeKindType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "DeletePatchChangeKind", + "type": "object" + }, + { + "properties": { + "move_path": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "update" + ], + "title": "UpdatePatchChangeKindType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "UpdatePatchChangeKind", + "type": "object" + } + ] + }, + "PermissionProfile": { + "properties": { + "fileSystem": { + "anyOf": [ + { + "$ref": "#/definitions/PermissionProfileFileSystemPermissions" + }, + { + "type": "null" + } + ] + }, + "network": { + "anyOf": [ + { + "$ref": "#/definitions/PermissionProfileNetworkPermissions" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + "PermissionProfileFileSystemPermissions": { + "properties": { + "entries": { + "items": { + "$ref": "#/definitions/FileSystemSandboxEntry" + }, + "type": "array" + }, + "globScanMaxDepth": { + "format": "uint", + "minimum": 1.0, + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "entries" + ], + "type": "object" + }, + "PermissionProfileNetworkPermissions": { + "properties": { + "enabled": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + "ReadOnlyAccess": { + "oneOf": [ + { + "properties": { + "includePlatformDefaults": { + "default": true, + "type": "boolean" + }, + "readableRoots": { + "default": [], + "items": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": "array" + }, + "type": { + "enum": [ + "restricted" + ], + "title": "RestrictedReadOnlyAccessType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "RestrictedReadOnlyAccess", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "fullAccess" + ], + "title": "FullAccessReadOnlyAccessType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "FullAccessReadOnlyAccess", + "type": "object" + } + ] + }, + "ReasoningEffort": { + "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning", + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh" + ], + "type": "string" + }, + "SandboxPolicy": { + "oneOf": [ + { + "properties": { + "type": { + "enum": [ + "dangerFullAccess" + ], + "title": "DangerFullAccessSandboxPolicyType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "DangerFullAccessSandboxPolicy", + "type": "object" + }, + { + "properties": { + "access": { + "allOf": [ + { + "$ref": "#/definitions/ReadOnlyAccess" + } + ], + "default": { + "type": "fullAccess" + } + }, + "networkAccess": { + "default": false, + "type": "boolean" + }, + "type": { + "enum": [ + "readOnly" + ], + "title": "ReadOnlySandboxPolicyType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "ReadOnlySandboxPolicy", + "type": "object" + }, + { + "properties": { + "networkAccess": { + "allOf": [ + { + "$ref": "#/definitions/NetworkAccess" + } + ], + "default": "restricted" + }, + "type": { + "enum": [ + "externalSandbox" + ], + "title": "ExternalSandboxSandboxPolicyType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "ExternalSandboxSandboxPolicy", + "type": "object" + }, + { + "properties": { + "excludeSlashTmp": { + "default": false, + "type": "boolean" + }, + "excludeTmpdirEnvVar": { + "default": false, + "type": "boolean" + }, + "networkAccess": { + "default": false, + "type": "boolean" + }, + "readOnlyAccess": { + "allOf": [ + { + "$ref": "#/definitions/ReadOnlyAccess" + } + ], + "default": { + "type": "fullAccess" + } + }, + "type": { + "enum": [ + "workspaceWrite" + ], + "title": "WorkspaceWriteSandboxPolicyType", + "type": "string" + }, + "writableRoots": { + "default": [], + "items": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": "array" + } + }, + "required": [ + "type" + ], + "title": "WorkspaceWriteSandboxPolicy", + "type": "object" + } + ] + }, + "ServiceTier": { + "enum": [ + "fast", + "flex" + ], + "type": "string" + }, + "SessionSource": { + "oneOf": [ + { + "enum": [ + "cli", + "vscode", + "exec", + "appServer", + "unknown" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "custom": { + "type": "string" + } + }, + "required": [ + "custom" + ], + "title": "CustomSessionSource", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "subAgent": { + "$ref": "#/definitions/SubAgentSource" + } + }, + "required": [ + "subAgent" + ], + "title": "SubAgentSessionSource", + "type": "object" + } + ] + }, + "SubAgentSource": { + "oneOf": [ + { + "enum": [ + "review", + "compact", + "memory_consolidation" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "thread_spawn": { + "properties": { + "agent_nickname": { + "default": null, + "type": [ + "string", + "null" + ] + }, + "agent_path": { + "anyOf": [ + { + "$ref": "#/definitions/AgentPath" + }, + { + "type": "null" + } + ], + "default": null + }, + "agent_role": { + "default": null, + "type": [ + "string", + "null" + ] + }, + "depth": { + "format": "int32", + "type": "integer" + }, + "parent_thread_id": { + "$ref": "#/definitions/ThreadId" + } + }, + "required": [ + "depth", + "parent_thread_id" + ], + "type": "object" + } + }, + "required": [ + "thread_spawn" + ], + "title": "ThreadSpawnSubAgentSource", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "other": { + "type": "string" + } + }, + "required": [ + "other" + ], + "title": "OtherSubAgentSource", + "type": "object" + } + ] + }, + "TextElement": { + "properties": { + "byteRange": { + "allOf": [ + { + "$ref": "#/definitions/ByteRange" + } + ], + "description": "Byte range in the parent `text` buffer that this element occupies." + }, + "placeholder": { + "description": "Optional human-readable placeholder for the element, displayed in the UI.", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "byteRange" + ], + "type": "object" + }, + "Thread": { + "properties": { + "agentNickname": { + "description": "Optional random unique nickname assigned to an AgentControl-spawned sub-agent.", + "type": [ + "string", + "null" + ] + }, + "agentRole": { + "description": "Optional role (agent_role) assigned to an AgentControl-spawned sub-agent.", + "type": [ + "string", + "null" + ] + }, + "cliVersion": { + "description": "Version of the CLI that created the thread.", + "type": "string" + }, + "createdAt": { + "description": "Unix timestamp (in seconds) when the thread was created.", + "format": "int64", + "type": "integer" + }, + "cwd": { + "allOf": [ + { + "$ref": "#/definitions/AbsolutePathBuf" + } + ], + "description": "Working directory captured for the thread." + }, + "ephemeral": { + "description": "Whether the thread is ephemeral and should not be materialized on disk.", + "type": "boolean" + }, + "forkedFromId": { + "description": "Source thread id when this thread was created by forking another thread.", + "type": [ + "string", + "null" + ] + }, + "gitInfo": { + "anyOf": [ + { + "$ref": "#/definitions/GitInfo" + }, + { + "type": "null" + } + ], + "description": "Optional Git metadata captured when the thread was created." + }, + "id": { + "type": "string" + }, + "modelProvider": { + "description": "Model provider used for this thread (for example, 'openai').", + "type": "string" + }, + "name": { + "description": "Optional user-facing thread title.", + "type": [ + "string", + "null" + ] + }, + "path": { + "description": "[UNSTABLE] Path to the thread on disk.", + "type": [ + "string", + "null" + ] + }, + "preview": { + "description": "Usually the first user message in the thread, if available.", + "type": "string" + }, + "source": { + "allOf": [ + { + "$ref": "#/definitions/SessionSource" + } + ], + "description": "Origin of the thread (CLI, VSCode, codex exec, codex app-server, etc.)." + }, + "status": { + "allOf": [ + { + "$ref": "#/definitions/ThreadStatus" + } + ], + "description": "Current runtime status for the thread." + }, + "turns": { + "description": "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", + "items": { + "$ref": "#/definitions/Turn" + }, + "type": "array" + }, + "updatedAt": { + "description": "Unix timestamp (in seconds) when the thread was last updated.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "cliVersion", + "createdAt", + "cwd", + "ephemeral", + "id", + "modelProvider", + "preview", + "source", + "status", + "turns", + "updatedAt" + ], + "type": "object" + }, + "ThreadActiveFlag": { + "enum": [ + "waitingOnApproval", + "waitingOnUserInput" + ], + "type": "string" + }, + "ThreadId": { + "type": "string" + }, + "ThreadItem": { + "oneOf": [ + { + "properties": { + "content": { + "items": { + "$ref": "#/definitions/UserInput" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "userMessage" + ], + "title": "UserMessageThreadItemType", + "type": "string" + } + }, + "required": [ + "content", + "id", + "type" + ], + "title": "UserMessageThreadItem", + "type": "object" + }, + { + "properties": { + "fragments": { + "items": { + "$ref": "#/definitions/HookPromptFragment" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "hookPrompt" + ], + "title": "HookPromptThreadItemType", + "type": "string" + } + }, + "required": [ + "fragments", + "id", + "type" + ], + "title": "HookPromptThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "memoryCitation": { + "anyOf": [ + { + "$ref": "#/definitions/MemoryCitation" + }, + { + "type": "null" + } + ], + "default": null + }, + "phase": { + "anyOf": [ + { + "$ref": "#/definitions/MessagePhase" + }, + { + "type": "null" + } + ], + "default": null + }, + "text": { + "type": "string" + }, + "type": { + "enum": [ + "agentMessage" + ], + "title": "AgentMessageThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "text", + "type" + ], + "title": "AgentMessageThreadItem", + "type": "object" + }, + { + "description": "EXPERIMENTAL - proposed plan item content. The completed plan item is authoritative and may not match the concatenation of `PlanDelta` text.", + "properties": { + "id": { + "type": "string" + }, + "text": { + "type": "string" + }, + "type": { + "enum": [ + "plan" + ], + "title": "PlanThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "text", + "type" + ], + "title": "PlanThreadItem", + "type": "object" + }, + { + "properties": { + "content": { + "default": [], + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "summary": { + "default": [], + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "enum": [ + "reasoning" + ], + "title": "ReasoningThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "title": "ReasoningThreadItem", + "type": "object" + }, + { + "properties": { + "aggregatedOutput": { + "description": "The command's output, aggregated from stdout and stderr.", + "type": [ + "string", + "null" + ] + }, + "command": { + "description": "The command to be executed.", + "type": "string" + }, + "commandActions": { + "description": "A best-effort parsing of the command to understand the action(s) it will perform. This returns a list of CommandAction objects because a single shell command may be composed of many commands piped together.", + "items": { + "$ref": "#/definitions/CommandAction" + }, + "type": "array" + }, + "cwd": { + "allOf": [ + { + "$ref": "#/definitions/AbsolutePathBuf" + } + ], + "description": "The command's working directory." + }, + "durationMs": { + "description": "The duration of the command execution in milliseconds.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "exitCode": { + "description": "The command's exit code.", + "format": "int32", + "type": [ + "integer", + "null" + ] + }, + "id": { + "type": "string" + }, + "processId": { + "description": "Identifier for the underlying PTY process (when available).", + "type": [ + "string", + "null" + ] + }, + "source": { + "allOf": [ + { + "$ref": "#/definitions/CommandExecutionSource" + } + ], + "default": "agent" + }, + "status": { + "$ref": "#/definitions/CommandExecutionStatus" + }, + "type": { + "enum": [ + "commandExecution" + ], + "title": "CommandExecutionThreadItemType", + "type": "string" + } + }, + "required": [ + "command", + "commandActions", + "cwd", + "id", + "status", + "type" + ], + "title": "CommandExecutionThreadItem", + "type": "object" + }, + { + "properties": { + "changes": { + "items": { + "$ref": "#/definitions/FileUpdateChange" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/PatchApplyStatus" + }, + "type": { + "enum": [ + "fileChange" + ], + "title": "FileChangeThreadItemType", + "type": "string" + } + }, + "required": [ + "changes", + "id", + "status", + "type" + ], + "title": "FileChangeThreadItem", + "type": "object" + }, + { + "properties": { + "arguments": true, + "durationMs": { + "description": "The duration of the MCP tool call in milliseconds.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "error": { + "anyOf": [ + { + "$ref": "#/definitions/McpToolCallError" + }, + { + "type": "null" + } + ] + }, + "id": { + "type": "string" + }, + "mcpAppResourceUri": { + "type": [ + "string", + "null" + ] + }, + "result": { + "anyOf": [ + { + "$ref": "#/definitions/McpToolCallResult" + }, + { + "type": "null" + } + ] + }, + "server": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/McpToolCallStatus" + }, + "tool": { + "type": "string" + }, + "type": { + "enum": [ + "mcpToolCall" + ], + "title": "McpToolCallThreadItemType", + "type": "string" + } + }, + "required": [ + "arguments", + "id", + "server", + "status", + "tool", + "type" + ], + "title": "McpToolCallThreadItem", + "type": "object" + }, + { + "properties": { + "arguments": true, + "contentItems": { + "items": { + "$ref": "#/definitions/DynamicToolCallOutputContentItem" + }, + "type": [ + "array", + "null" + ] + }, + "durationMs": { + "description": "The duration of the dynamic tool call in milliseconds.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "id": { + "type": "string" + }, + "namespace": { + "type": [ + "string", + "null" + ] + }, + "status": { + "$ref": "#/definitions/DynamicToolCallStatus" + }, + "success": { + "type": [ + "boolean", + "null" + ] + }, + "tool": { + "type": "string" + }, + "type": { + "enum": [ + "dynamicToolCall" + ], + "title": "DynamicToolCallThreadItemType", + "type": "string" + } + }, + "required": [ + "arguments", + "id", + "status", + "tool", + "type" + ], + "title": "DynamicToolCallThreadItem", + "type": "object" + }, + { + "properties": { + "agentsStates": { + "additionalProperties": { + "$ref": "#/definitions/CollabAgentState" + }, + "description": "Last known status of the target agents, when available.", + "type": "object" + }, + "id": { + "description": "Unique identifier for this collab tool call.", + "type": "string" + }, + "model": { + "description": "Model requested for the spawned agent, when applicable.", + "type": [ + "string", + "null" + ] + }, + "prompt": { + "description": "Prompt text sent as part of the collab tool call, when available.", + "type": [ + "string", + "null" + ] + }, + "reasoningEffort": { + "anyOf": [ + { + "$ref": "#/definitions/ReasoningEffort" + }, + { + "type": "null" + } + ], + "description": "Reasoning effort requested for the spawned agent, when applicable." + }, + "receiverThreadIds": { + "description": "Thread ID of the receiving agent, when applicable. In case of spawn operation, this corresponds to the newly spawned agent.", + "items": { + "type": "string" + }, + "type": "array" + }, + "senderThreadId": { + "description": "Thread ID of the agent issuing the collab request.", + "type": "string" + }, + "status": { + "allOf": [ + { + "$ref": "#/definitions/CollabAgentToolCallStatus" + } + ], + "description": "Current status of the collab tool call." + }, + "tool": { + "allOf": [ + { + "$ref": "#/definitions/CollabAgentTool" + } + ], + "description": "Name of the collab tool that was invoked." + }, + "type": { + "enum": [ + "collabAgentToolCall" + ], + "title": "CollabAgentToolCallThreadItemType", + "type": "string" + } + }, + "required": [ + "agentsStates", + "id", + "receiverThreadIds", + "senderThreadId", + "status", + "tool", + "type" + ], + "title": "CollabAgentToolCallThreadItem", + "type": "object" + }, + { + "properties": { + "action": { + "anyOf": [ + { + "$ref": "#/definitions/WebSearchAction" + }, + { + "type": "null" + } + ] + }, + "id": { + "type": "string" + }, + "query": { + "type": "string" + }, + "type": { + "enum": [ + "webSearch" + ], + "title": "WebSearchThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "query", + "type" + ], + "title": "WebSearchThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": { + "enum": [ + "imageView" + ], + "title": "ImageViewThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "path", + "type" + ], + "title": "ImageViewThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "result": { + "type": "string" + }, + "revisedPrompt": { + "type": [ + "string", + "null" + ] + }, + "savedPath": { + "anyOf": [ + { + "$ref": "#/definitions/AbsolutePathBuf" + }, + { + "type": "null" + } + ] + }, + "status": { + "type": "string" + }, + "type": { + "enum": [ + "imageGeneration" + ], + "title": "ImageGenerationThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "result", + "status", + "type" + ], + "title": "ImageGenerationThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "review": { + "type": "string" + }, + "type": { + "enum": [ + "enteredReviewMode" + ], + "title": "EnteredReviewModeThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "review", + "type" + ], + "title": "EnteredReviewModeThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "review": { + "type": "string" + }, + "type": { + "enum": [ + "exitedReviewMode" + ], + "title": "ExitedReviewModeThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "review", + "type" + ], + "title": "ExitedReviewModeThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "type": { + "enum": [ + "contextCompaction" + ], + "title": "ContextCompactionThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "title": "ContextCompactionThreadItem", + "type": "object" + } + ] + }, + "ThreadStatus": { + "oneOf": [ + { + "properties": { + "type": { + "enum": [ + "notLoaded" + ], + "title": "NotLoadedThreadStatusType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "NotLoadedThreadStatus", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "idle" + ], + "title": "IdleThreadStatusType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "IdleThreadStatus", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "systemError" + ], + "title": "SystemErrorThreadStatusType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "SystemErrorThreadStatus", + "type": "object" + }, + { + "properties": { + "activeFlags": { + "items": { + "$ref": "#/definitions/ThreadActiveFlag" + }, + "type": "array" + }, + "type": { + "enum": [ + "active" + ], + "title": "ActiveThreadStatusType", + "type": "string" + } + }, + "required": [ + "activeFlags", + "type" + ], + "title": "ActiveThreadStatus", + "type": "object" + } + ] + }, + "Turn": { + "properties": { + "completedAt": { + "description": "Unix timestamp (in seconds) when the turn completed.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "durationMs": { + "description": "Duration between turn start and completion in milliseconds, if known.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "error": { + "anyOf": [ + { + "$ref": "#/definitions/TurnError" + }, + { + "type": "null" + } + ], + "description": "Only populated when the Turn's status is failed." + }, + "id": { + "type": "string" + }, + "items": { + "description": "Only populated on a `thread/resume` or `thread/fork` response. For all other responses and notifications returning a Turn, the items field will be an empty list.", + "items": { + "$ref": "#/definitions/ThreadItem" + }, + "type": "array" + }, + "startedAt": { + "description": "Unix timestamp (in seconds) when the turn started.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "status": { + "$ref": "#/definitions/TurnStatus" + } + }, + "required": [ + "id", + "items", + "status" + ], + "type": "object" + }, + "TurnError": { + "properties": { + "additionalDetails": { + "default": null, + "type": [ + "string", + "null" + ] + }, + "codexErrorInfo": { + "anyOf": [ + { + "$ref": "#/definitions/CodexErrorInfo" + }, + { + "type": "null" + } + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "TurnStatus": { + "enum": [ + "completed", + "interrupted", + "failed", + "inProgress" + ], + "type": "string" + }, + "UserInput": { + "oneOf": [ + { + "properties": { + "text": { + "type": "string" + }, + "text_elements": { + "default": [], + "description": "UI-defined spans within `text` used to render or persist special elements.", + "items": { + "$ref": "#/definitions/TextElement" + }, + "type": "array" + }, + "type": { + "enum": [ + "text" + ], + "title": "TextUserInputType", + "type": "string" + } + }, + "required": [ + "text", + "type" + ], + "title": "TextUserInput", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "image" + ], + "title": "ImageUserInputType", + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "url" + ], + "title": "ImageUserInput", + "type": "object" + }, + { + "properties": { + "path": { + "type": "string" + }, + "type": { + "enum": [ + "localImage" + ], + "title": "LocalImageUserInputType", + "type": "string" + } + }, + "required": [ + "path", + "type" + ], + "title": "LocalImageUserInput", + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "type": { + "enum": [ + "skill" + ], + "title": "SkillUserInputType", + "type": "string" + } + }, + "required": [ + "name", + "path", + "type" + ], + "title": "SkillUserInput", + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "type": { + "enum": [ + "mention" + ], + "title": "MentionUserInputType", + "type": "string" + } + }, + "required": [ + "name", + "path", + "type" + ], + "title": "MentionUserInput", + "type": "object" + } + ] + }, + "WebSearchAction": { + "oneOf": [ + { + "properties": { + "queries": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "query": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "search" + ], + "title": "SearchWebSearchActionType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "SearchWebSearchAction", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "openPage" + ], + "title": "OpenPageWebSearchActionType", + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "type" + ], + "title": "OpenPageWebSearchAction", + "type": "object" + }, + { + "properties": { + "pattern": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "findInPage" + ], + "title": "FindInPageWebSearchActionType", + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "type" + ], + "title": "FindInPageWebSearchAction", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "other" + ], + "title": "OtherWebSearchActionType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "OtherWebSearchAction", + "type": "object" + } + ] + } + }, + "properties": { + "approvalPolicy": { + "$ref": "#/definitions/AskForApproval" + }, + "approvalsReviewer": { + "allOf": [ + { + "$ref": "#/definitions/ApprovalsReviewer" + } + ], + "description": "Reviewer currently used for approval requests on this thread." + }, + "cwd": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "instructionSources": { + "default": [], + "description": "Instruction source files currently loaded for this thread.", + "items": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": "array" + }, + "model": { + "type": "string" + }, + "modelProvider": { + "type": "string" + }, + "permissionProfile": { + "anyOf": [ + { + "$ref": "#/definitions/PermissionProfile" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Canonical active permissions view for this thread when representable. This is `null` for external sandbox policies because external enforcement cannot be round-tripped as a `PermissionProfile`." + }, + "reasoningEffort": { + "anyOf": [ + { + "$ref": "#/definitions/ReasoningEffort" + }, + { + "type": "null" + } + ] + }, + "sandbox": { + "allOf": [ + { + "$ref": "#/definitions/SandboxPolicy" + } + ], + "description": "Legacy sandbox policy retained for compatibility. New clients should use `permissionProfile` when present as the canonical active permissions view." + }, + "serviceTier": { + "anyOf": [ + { + "$ref": "#/definitions/ServiceTier" + }, + { + "type": "null" + } + ] + }, + "thread": { + "$ref": "#/definitions/Thread" + } + }, + "required": [ + "approvalPolicy", + "approvalsReviewer", + "cwd", + "model", + "modelProvider", + "sandbox", + "thread" + ], + "title": "ThreadResumeResponse", + "type": "object" +} \ No newline at end of file diff --git a/extensions/codex/src/app-server/protocol-generated/json/v2/ThreadStartResponse.json b/extensions/codex/src/app-server/protocol-generated/json/v2/ThreadStartResponse.json new file mode 100644 index 00000000000..879fa5c6875 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/json/v2/ThreadStartResponse.json @@ -0,0 +1,2554 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "AbsolutePathBuf": { + "description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + "type": "string" + }, + "AgentPath": { + "type": "string" + }, + "ApprovalsReviewer": { + "description": "Configures who approval requests are routed to for review. Examples include sandbox escapes, blocked network access, MCP approval prompts, and ARC escalations. Defaults to `user`. `auto_review` uses a carefully prompted subagent to gather relevant context and apply a risk-based decision framework before approving or denying the request. The legacy value `guardian_subagent` is accepted for compatibility.", + "enum": [ + "user", + "auto_review", + "guardian_subagent" + ], + "type": "string" + }, + "AskForApproval": { + "oneOf": [ + { + "enum": [ + "untrusted", + "on-failure", + "on-request", + "never" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "granular": { + "properties": { + "mcp_elicitations": { + "type": "boolean" + }, + "request_permissions": { + "default": false, + "type": "boolean" + }, + "rules": { + "type": "boolean" + }, + "sandbox_approval": { + "type": "boolean" + }, + "skill_approval": { + "default": false, + "type": "boolean" + } + }, + "required": [ + "mcp_elicitations", + "rules", + "sandbox_approval" + ], + "type": "object" + } + }, + "required": [ + "granular" + ], + "title": "GranularAskForApproval", + "type": "object" + } + ] + }, + "ByteRange": { + "properties": { + "end": { + "format": "uint", + "minimum": 0.0, + "type": "integer" + }, + "start": { + "format": "uint", + "minimum": 0.0, + "type": "integer" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "CodexErrorInfo": { + "description": "This translation layer make sure that we expose codex error code in camel case.\n\nWhen an upstream HTTP status is available (for example, from the Responses API or a provider), it is forwarded in `httpStatusCode` on the relevant `codexErrorInfo` variant.", + "oneOf": [ + { + "enum": [ + "contextWindowExceeded", + "usageLimitExceeded", + "serverOverloaded", + "cyberPolicy", + "internalServerError", + "unauthorized", + "badRequest", + "threadRollbackFailed", + "sandboxError", + "other" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "httpConnectionFailed": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "httpConnectionFailed" + ], + "title": "HttpConnectionFailedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Failed to connect to the response SSE stream.", + "properties": { + "responseStreamConnectionFailed": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseStreamConnectionFailed" + ], + "title": "ResponseStreamConnectionFailedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "The response SSE stream disconnected in the middle of a turn before completion.", + "properties": { + "responseStreamDisconnected": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseStreamDisconnected" + ], + "title": "ResponseStreamDisconnectedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Reached the retry limit for responses.", + "properties": { + "responseTooManyFailedAttempts": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseTooManyFailedAttempts" + ], + "title": "ResponseTooManyFailedAttemptsCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Returned when `turn/start` or `turn/steer` is submitted while the current active turn cannot accept same-turn steering, for example `/review` or manual `/compact`.", + "properties": { + "activeTurnNotSteerable": { + "properties": { + "turnKind": { + "$ref": "#/definitions/NonSteerableTurnKind" + } + }, + "required": [ + "turnKind" + ], + "type": "object" + } + }, + "required": [ + "activeTurnNotSteerable" + ], + "title": "ActiveTurnNotSteerableCodexErrorInfo", + "type": "object" + } + ] + }, + "CollabAgentState": { + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "status": { + "$ref": "#/definitions/CollabAgentStatus" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "CollabAgentStatus": { + "enum": [ + "pendingInit", + "running", + "interrupted", + "completed", + "errored", + "shutdown", + "notFound" + ], + "type": "string" + }, + "CollabAgentTool": { + "enum": [ + "spawnAgent", + "sendInput", + "resumeAgent", + "wait", + "closeAgent" + ], + "type": "string" + }, + "CollabAgentToolCallStatus": { + "enum": [ + "inProgress", + "completed", + "failed" + ], + "type": "string" + }, + "CommandAction": { + "oneOf": [ + { + "properties": { + "command": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": { + "enum": [ + "read" + ], + "title": "ReadCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "name", + "path", + "type" + ], + "title": "ReadCommandAction", + "type": "object" + }, + { + "properties": { + "command": { + "type": "string" + }, + "path": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "listFiles" + ], + "title": "ListFilesCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "type" + ], + "title": "ListFilesCommandAction", + "type": "object" + }, + { + "properties": { + "command": { + "type": "string" + }, + "path": { + "type": [ + "string", + "null" + ] + }, + "query": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "search" + ], + "title": "SearchCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "type" + ], + "title": "SearchCommandAction", + "type": "object" + }, + { + "properties": { + "command": { + "type": "string" + }, + "type": { + "enum": [ + "unknown" + ], + "title": "UnknownCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "type" + ], + "title": "UnknownCommandAction", + "type": "object" + } + ] + }, + "CommandExecutionSource": { + "enum": [ + "agent", + "userShell", + "unifiedExecStartup", + "unifiedExecInteraction" + ], + "type": "string" + }, + "CommandExecutionStatus": { + "enum": [ + "inProgress", + "completed", + "failed", + "declined" + ], + "type": "string" + }, + "DynamicToolCallOutputContentItem": { + "oneOf": [ + { + "properties": { + "text": { + "type": "string" + }, + "type": { + "enum": [ + "inputText" + ], + "title": "InputTextDynamicToolCallOutputContentItemType", + "type": "string" + } + }, + "required": [ + "text", + "type" + ], + "title": "InputTextDynamicToolCallOutputContentItem", + "type": "object" + }, + { + "properties": { + "imageUrl": { + "type": "string" + }, + "type": { + "enum": [ + "inputImage" + ], + "title": "InputImageDynamicToolCallOutputContentItemType", + "type": "string" + } + }, + "required": [ + "imageUrl", + "type" + ], + "title": "InputImageDynamicToolCallOutputContentItem", + "type": "object" + } + ] + }, + "DynamicToolCallStatus": { + "enum": [ + "inProgress", + "completed", + "failed" + ], + "type": "string" + }, + "FileSystemAccessMode": { + "enum": [ + "read", + "write", + "none" + ], + "type": "string" + }, + "FileSystemPath": { + "oneOf": [ + { + "properties": { + "path": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": { + "enum": [ + "path" + ], + "title": "PathFileSystemPathType", + "type": "string" + } + }, + "required": [ + "path", + "type" + ], + "title": "PathFileSystemPath", + "type": "object" + }, + { + "properties": { + "pattern": { + "type": "string" + }, + "type": { + "enum": [ + "glob_pattern" + ], + "title": "GlobPatternFileSystemPathType", + "type": "string" + } + }, + "required": [ + "pattern", + "type" + ], + "title": "GlobPatternFileSystemPath", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "special" + ], + "title": "SpecialFileSystemPathType", + "type": "string" + }, + "value": { + "$ref": "#/definitions/FileSystemSpecialPath" + } + }, + "required": [ + "type", + "value" + ], + "title": "SpecialFileSystemPath", + "type": "object" + } + ] + }, + "FileSystemSandboxEntry": { + "properties": { + "access": { + "$ref": "#/definitions/FileSystemAccessMode" + }, + "path": { + "$ref": "#/definitions/FileSystemPath" + } + }, + "required": [ + "access", + "path" + ], + "type": "object" + }, + "FileSystemSpecialPath": { + "oneOf": [ + { + "properties": { + "kind": { + "enum": [ + "root" + ], + "type": "string" + } + }, + "required": [ + "kind" + ], + "title": "RootFileSystemSpecialPath", + "type": "object" + }, + { + "properties": { + "kind": { + "enum": [ + "minimal" + ], + "type": "string" + } + }, + "required": [ + "kind" + ], + "title": "MinimalFileSystemSpecialPath", + "type": "object" + }, + { + "properties": { + "kind": { + "enum": [ + "current_working_directory" + ], + "type": "string" + } + }, + "required": [ + "kind" + ], + "title": "CurrentWorkingDirectoryFileSystemSpecialPath", + "type": "object" + }, + { + "properties": { + "kind": { + "enum": [ + "project_roots" + ], + "type": "string" + }, + "subpath": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "kind" + ], + "title": "KindFileSystemSpecialPath", + "type": "object" + }, + { + "properties": { + "kind": { + "enum": [ + "tmpdir" + ], + "type": "string" + } + }, + "required": [ + "kind" + ], + "title": "TmpdirFileSystemSpecialPath", + "type": "object" + }, + { + "properties": { + "kind": { + "enum": [ + "slash_tmp" + ], + "type": "string" + } + }, + "required": [ + "kind" + ], + "title": "SlashTmpFileSystemSpecialPath", + "type": "object" + }, + { + "properties": { + "kind": { + "enum": [ + "unknown" + ], + "type": "string" + }, + "path": { + "type": "string" + }, + "subpath": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "kind", + "path" + ], + "type": "object" + } + ] + }, + "FileUpdateChange": { + "properties": { + "diff": { + "type": "string" + }, + "kind": { + "$ref": "#/definitions/PatchChangeKind" + }, + "path": { + "type": "string" + } + }, + "required": [ + "diff", + "kind", + "path" + ], + "type": "object" + }, + "GitInfo": { + "properties": { + "branch": { + "type": [ + "string", + "null" + ] + }, + "originUrl": { + "type": [ + "string", + "null" + ] + }, + "sha": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "HookPromptFragment": { + "properties": { + "hookRunId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "hookRunId", + "text" + ], + "type": "object" + }, + "McpToolCallError": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "McpToolCallResult": { + "properties": { + "_meta": true, + "content": { + "items": true, + "type": "array" + }, + "structuredContent": true + }, + "required": [ + "content" + ], + "type": "object" + }, + "McpToolCallStatus": { + "enum": [ + "inProgress", + "completed", + "failed" + ], + "type": "string" + }, + "MemoryCitation": { + "properties": { + "entries": { + "items": { + "$ref": "#/definitions/MemoryCitationEntry" + }, + "type": "array" + }, + "threadIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "entries", + "threadIds" + ], + "type": "object" + }, + "MemoryCitationEntry": { + "properties": { + "lineEnd": { + "format": "uint32", + "minimum": 0.0, + "type": "integer" + }, + "lineStart": { + "format": "uint32", + "minimum": 0.0, + "type": "integer" + }, + "note": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": [ + "lineEnd", + "lineStart", + "note", + "path" + ], + "type": "object" + }, + "MessagePhase": { + "description": "Classifies an assistant message as interim commentary or final answer text.\n\nProviders do not emit this consistently, so callers must treat `None` as \"phase unknown\" and keep compatibility behavior for legacy models.", + "oneOf": [ + { + "description": "Mid-turn assistant text (for example preamble/progress narration).\n\nAdditional tool calls or assistant output may follow before turn completion.", + "enum": [ + "commentary" + ], + "type": "string" + }, + { + "description": "The assistant's terminal answer text for the current turn.", + "enum": [ + "final_answer" + ], + "type": "string" + } + ] + }, + "NetworkAccess": { + "enum": [ + "restricted", + "enabled" + ], + "type": "string" + }, + "NonSteerableTurnKind": { + "enum": [ + "review", + "compact" + ], + "type": "string" + }, + "PatchApplyStatus": { + "enum": [ + "inProgress", + "completed", + "failed", + "declined" + ], + "type": "string" + }, + "PatchChangeKind": { + "oneOf": [ + { + "properties": { + "type": { + "enum": [ + "add" + ], + "title": "AddPatchChangeKindType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "AddPatchChangeKind", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "delete" + ], + "title": "DeletePatchChangeKindType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "DeletePatchChangeKind", + "type": "object" + }, + { + "properties": { + "move_path": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "update" + ], + "title": "UpdatePatchChangeKindType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "UpdatePatchChangeKind", + "type": "object" + } + ] + }, + "PermissionProfile": { + "properties": { + "fileSystem": { + "anyOf": [ + { + "$ref": "#/definitions/PermissionProfileFileSystemPermissions" + }, + { + "type": "null" + } + ] + }, + "network": { + "anyOf": [ + { + "$ref": "#/definitions/PermissionProfileNetworkPermissions" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + "PermissionProfileFileSystemPermissions": { + "properties": { + "entries": { + "items": { + "$ref": "#/definitions/FileSystemSandboxEntry" + }, + "type": "array" + }, + "globScanMaxDepth": { + "format": "uint", + "minimum": 1.0, + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "entries" + ], + "type": "object" + }, + "PermissionProfileNetworkPermissions": { + "properties": { + "enabled": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + "ReadOnlyAccess": { + "oneOf": [ + { + "properties": { + "includePlatformDefaults": { + "default": true, + "type": "boolean" + }, + "readableRoots": { + "default": [], + "items": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": "array" + }, + "type": { + "enum": [ + "restricted" + ], + "title": "RestrictedReadOnlyAccessType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "RestrictedReadOnlyAccess", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "fullAccess" + ], + "title": "FullAccessReadOnlyAccessType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "FullAccessReadOnlyAccess", + "type": "object" + } + ] + }, + "ReasoningEffort": { + "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning", + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh" + ], + "type": "string" + }, + "SandboxPolicy": { + "oneOf": [ + { + "properties": { + "type": { + "enum": [ + "dangerFullAccess" + ], + "title": "DangerFullAccessSandboxPolicyType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "DangerFullAccessSandboxPolicy", + "type": "object" + }, + { + "properties": { + "access": { + "allOf": [ + { + "$ref": "#/definitions/ReadOnlyAccess" + } + ], + "default": { + "type": "fullAccess" + } + }, + "networkAccess": { + "default": false, + "type": "boolean" + }, + "type": { + "enum": [ + "readOnly" + ], + "title": "ReadOnlySandboxPolicyType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "ReadOnlySandboxPolicy", + "type": "object" + }, + { + "properties": { + "networkAccess": { + "allOf": [ + { + "$ref": "#/definitions/NetworkAccess" + } + ], + "default": "restricted" + }, + "type": { + "enum": [ + "externalSandbox" + ], + "title": "ExternalSandboxSandboxPolicyType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "ExternalSandboxSandboxPolicy", + "type": "object" + }, + { + "properties": { + "excludeSlashTmp": { + "default": false, + "type": "boolean" + }, + "excludeTmpdirEnvVar": { + "default": false, + "type": "boolean" + }, + "networkAccess": { + "default": false, + "type": "boolean" + }, + "readOnlyAccess": { + "allOf": [ + { + "$ref": "#/definitions/ReadOnlyAccess" + } + ], + "default": { + "type": "fullAccess" + } + }, + "type": { + "enum": [ + "workspaceWrite" + ], + "title": "WorkspaceWriteSandboxPolicyType", + "type": "string" + }, + "writableRoots": { + "default": [], + "items": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": "array" + } + }, + "required": [ + "type" + ], + "title": "WorkspaceWriteSandboxPolicy", + "type": "object" + } + ] + }, + "ServiceTier": { + "enum": [ + "fast", + "flex" + ], + "type": "string" + }, + "SessionSource": { + "oneOf": [ + { + "enum": [ + "cli", + "vscode", + "exec", + "appServer", + "unknown" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "custom": { + "type": "string" + } + }, + "required": [ + "custom" + ], + "title": "CustomSessionSource", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "subAgent": { + "$ref": "#/definitions/SubAgentSource" + } + }, + "required": [ + "subAgent" + ], + "title": "SubAgentSessionSource", + "type": "object" + } + ] + }, + "SubAgentSource": { + "oneOf": [ + { + "enum": [ + "review", + "compact", + "memory_consolidation" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "thread_spawn": { + "properties": { + "agent_nickname": { + "default": null, + "type": [ + "string", + "null" + ] + }, + "agent_path": { + "anyOf": [ + { + "$ref": "#/definitions/AgentPath" + }, + { + "type": "null" + } + ], + "default": null + }, + "agent_role": { + "default": null, + "type": [ + "string", + "null" + ] + }, + "depth": { + "format": "int32", + "type": "integer" + }, + "parent_thread_id": { + "$ref": "#/definitions/ThreadId" + } + }, + "required": [ + "depth", + "parent_thread_id" + ], + "type": "object" + } + }, + "required": [ + "thread_spawn" + ], + "title": "ThreadSpawnSubAgentSource", + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "other": { + "type": "string" + } + }, + "required": [ + "other" + ], + "title": "OtherSubAgentSource", + "type": "object" + } + ] + }, + "TextElement": { + "properties": { + "byteRange": { + "allOf": [ + { + "$ref": "#/definitions/ByteRange" + } + ], + "description": "Byte range in the parent `text` buffer that this element occupies." + }, + "placeholder": { + "description": "Optional human-readable placeholder for the element, displayed in the UI.", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "byteRange" + ], + "type": "object" + }, + "Thread": { + "properties": { + "agentNickname": { + "description": "Optional random unique nickname assigned to an AgentControl-spawned sub-agent.", + "type": [ + "string", + "null" + ] + }, + "agentRole": { + "description": "Optional role (agent_role) assigned to an AgentControl-spawned sub-agent.", + "type": [ + "string", + "null" + ] + }, + "cliVersion": { + "description": "Version of the CLI that created the thread.", + "type": "string" + }, + "createdAt": { + "description": "Unix timestamp (in seconds) when the thread was created.", + "format": "int64", + "type": "integer" + }, + "cwd": { + "allOf": [ + { + "$ref": "#/definitions/AbsolutePathBuf" + } + ], + "description": "Working directory captured for the thread." + }, + "ephemeral": { + "description": "Whether the thread is ephemeral and should not be materialized on disk.", + "type": "boolean" + }, + "forkedFromId": { + "description": "Source thread id when this thread was created by forking another thread.", + "type": [ + "string", + "null" + ] + }, + "gitInfo": { + "anyOf": [ + { + "$ref": "#/definitions/GitInfo" + }, + { + "type": "null" + } + ], + "description": "Optional Git metadata captured when the thread was created." + }, + "id": { + "type": "string" + }, + "modelProvider": { + "description": "Model provider used for this thread (for example, 'openai').", + "type": "string" + }, + "name": { + "description": "Optional user-facing thread title.", + "type": [ + "string", + "null" + ] + }, + "path": { + "description": "[UNSTABLE] Path to the thread on disk.", + "type": [ + "string", + "null" + ] + }, + "preview": { + "description": "Usually the first user message in the thread, if available.", + "type": "string" + }, + "source": { + "allOf": [ + { + "$ref": "#/definitions/SessionSource" + } + ], + "description": "Origin of the thread (CLI, VSCode, codex exec, codex app-server, etc.)." + }, + "status": { + "allOf": [ + { + "$ref": "#/definitions/ThreadStatus" + } + ], + "description": "Current runtime status for the thread." + }, + "turns": { + "description": "Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` (when `includeTurns` is true) responses. For all other responses and notifications returning a Thread, the turns field will be an empty list.", + "items": { + "$ref": "#/definitions/Turn" + }, + "type": "array" + }, + "updatedAt": { + "description": "Unix timestamp (in seconds) when the thread was last updated.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "cliVersion", + "createdAt", + "cwd", + "ephemeral", + "id", + "modelProvider", + "preview", + "source", + "status", + "turns", + "updatedAt" + ], + "type": "object" + }, + "ThreadActiveFlag": { + "enum": [ + "waitingOnApproval", + "waitingOnUserInput" + ], + "type": "string" + }, + "ThreadId": { + "type": "string" + }, + "ThreadItem": { + "oneOf": [ + { + "properties": { + "content": { + "items": { + "$ref": "#/definitions/UserInput" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "userMessage" + ], + "title": "UserMessageThreadItemType", + "type": "string" + } + }, + "required": [ + "content", + "id", + "type" + ], + "title": "UserMessageThreadItem", + "type": "object" + }, + { + "properties": { + "fragments": { + "items": { + "$ref": "#/definitions/HookPromptFragment" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "hookPrompt" + ], + "title": "HookPromptThreadItemType", + "type": "string" + } + }, + "required": [ + "fragments", + "id", + "type" + ], + "title": "HookPromptThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "memoryCitation": { + "anyOf": [ + { + "$ref": "#/definitions/MemoryCitation" + }, + { + "type": "null" + } + ], + "default": null + }, + "phase": { + "anyOf": [ + { + "$ref": "#/definitions/MessagePhase" + }, + { + "type": "null" + } + ], + "default": null + }, + "text": { + "type": "string" + }, + "type": { + "enum": [ + "agentMessage" + ], + "title": "AgentMessageThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "text", + "type" + ], + "title": "AgentMessageThreadItem", + "type": "object" + }, + { + "description": "EXPERIMENTAL - proposed plan item content. The completed plan item is authoritative and may not match the concatenation of `PlanDelta` text.", + "properties": { + "id": { + "type": "string" + }, + "text": { + "type": "string" + }, + "type": { + "enum": [ + "plan" + ], + "title": "PlanThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "text", + "type" + ], + "title": "PlanThreadItem", + "type": "object" + }, + { + "properties": { + "content": { + "default": [], + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "summary": { + "default": [], + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "enum": [ + "reasoning" + ], + "title": "ReasoningThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "title": "ReasoningThreadItem", + "type": "object" + }, + { + "properties": { + "aggregatedOutput": { + "description": "The command's output, aggregated from stdout and stderr.", + "type": [ + "string", + "null" + ] + }, + "command": { + "description": "The command to be executed.", + "type": "string" + }, + "commandActions": { + "description": "A best-effort parsing of the command to understand the action(s) it will perform. This returns a list of CommandAction objects because a single shell command may be composed of many commands piped together.", + "items": { + "$ref": "#/definitions/CommandAction" + }, + "type": "array" + }, + "cwd": { + "allOf": [ + { + "$ref": "#/definitions/AbsolutePathBuf" + } + ], + "description": "The command's working directory." + }, + "durationMs": { + "description": "The duration of the command execution in milliseconds.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "exitCode": { + "description": "The command's exit code.", + "format": "int32", + "type": [ + "integer", + "null" + ] + }, + "id": { + "type": "string" + }, + "processId": { + "description": "Identifier for the underlying PTY process (when available).", + "type": [ + "string", + "null" + ] + }, + "source": { + "allOf": [ + { + "$ref": "#/definitions/CommandExecutionSource" + } + ], + "default": "agent" + }, + "status": { + "$ref": "#/definitions/CommandExecutionStatus" + }, + "type": { + "enum": [ + "commandExecution" + ], + "title": "CommandExecutionThreadItemType", + "type": "string" + } + }, + "required": [ + "command", + "commandActions", + "cwd", + "id", + "status", + "type" + ], + "title": "CommandExecutionThreadItem", + "type": "object" + }, + { + "properties": { + "changes": { + "items": { + "$ref": "#/definitions/FileUpdateChange" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/PatchApplyStatus" + }, + "type": { + "enum": [ + "fileChange" + ], + "title": "FileChangeThreadItemType", + "type": "string" + } + }, + "required": [ + "changes", + "id", + "status", + "type" + ], + "title": "FileChangeThreadItem", + "type": "object" + }, + { + "properties": { + "arguments": true, + "durationMs": { + "description": "The duration of the MCP tool call in milliseconds.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "error": { + "anyOf": [ + { + "$ref": "#/definitions/McpToolCallError" + }, + { + "type": "null" + } + ] + }, + "id": { + "type": "string" + }, + "mcpAppResourceUri": { + "type": [ + "string", + "null" + ] + }, + "result": { + "anyOf": [ + { + "$ref": "#/definitions/McpToolCallResult" + }, + { + "type": "null" + } + ] + }, + "server": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/McpToolCallStatus" + }, + "tool": { + "type": "string" + }, + "type": { + "enum": [ + "mcpToolCall" + ], + "title": "McpToolCallThreadItemType", + "type": "string" + } + }, + "required": [ + "arguments", + "id", + "server", + "status", + "tool", + "type" + ], + "title": "McpToolCallThreadItem", + "type": "object" + }, + { + "properties": { + "arguments": true, + "contentItems": { + "items": { + "$ref": "#/definitions/DynamicToolCallOutputContentItem" + }, + "type": [ + "array", + "null" + ] + }, + "durationMs": { + "description": "The duration of the dynamic tool call in milliseconds.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "id": { + "type": "string" + }, + "namespace": { + "type": [ + "string", + "null" + ] + }, + "status": { + "$ref": "#/definitions/DynamicToolCallStatus" + }, + "success": { + "type": [ + "boolean", + "null" + ] + }, + "tool": { + "type": "string" + }, + "type": { + "enum": [ + "dynamicToolCall" + ], + "title": "DynamicToolCallThreadItemType", + "type": "string" + } + }, + "required": [ + "arguments", + "id", + "status", + "tool", + "type" + ], + "title": "DynamicToolCallThreadItem", + "type": "object" + }, + { + "properties": { + "agentsStates": { + "additionalProperties": { + "$ref": "#/definitions/CollabAgentState" + }, + "description": "Last known status of the target agents, when available.", + "type": "object" + }, + "id": { + "description": "Unique identifier for this collab tool call.", + "type": "string" + }, + "model": { + "description": "Model requested for the spawned agent, when applicable.", + "type": [ + "string", + "null" + ] + }, + "prompt": { + "description": "Prompt text sent as part of the collab tool call, when available.", + "type": [ + "string", + "null" + ] + }, + "reasoningEffort": { + "anyOf": [ + { + "$ref": "#/definitions/ReasoningEffort" + }, + { + "type": "null" + } + ], + "description": "Reasoning effort requested for the spawned agent, when applicable." + }, + "receiverThreadIds": { + "description": "Thread ID of the receiving agent, when applicable. In case of spawn operation, this corresponds to the newly spawned agent.", + "items": { + "type": "string" + }, + "type": "array" + }, + "senderThreadId": { + "description": "Thread ID of the agent issuing the collab request.", + "type": "string" + }, + "status": { + "allOf": [ + { + "$ref": "#/definitions/CollabAgentToolCallStatus" + } + ], + "description": "Current status of the collab tool call." + }, + "tool": { + "allOf": [ + { + "$ref": "#/definitions/CollabAgentTool" + } + ], + "description": "Name of the collab tool that was invoked." + }, + "type": { + "enum": [ + "collabAgentToolCall" + ], + "title": "CollabAgentToolCallThreadItemType", + "type": "string" + } + }, + "required": [ + "agentsStates", + "id", + "receiverThreadIds", + "senderThreadId", + "status", + "tool", + "type" + ], + "title": "CollabAgentToolCallThreadItem", + "type": "object" + }, + { + "properties": { + "action": { + "anyOf": [ + { + "$ref": "#/definitions/WebSearchAction" + }, + { + "type": "null" + } + ] + }, + "id": { + "type": "string" + }, + "query": { + "type": "string" + }, + "type": { + "enum": [ + "webSearch" + ], + "title": "WebSearchThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "query", + "type" + ], + "title": "WebSearchThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": { + "enum": [ + "imageView" + ], + "title": "ImageViewThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "path", + "type" + ], + "title": "ImageViewThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "result": { + "type": "string" + }, + "revisedPrompt": { + "type": [ + "string", + "null" + ] + }, + "savedPath": { + "anyOf": [ + { + "$ref": "#/definitions/AbsolutePathBuf" + }, + { + "type": "null" + } + ] + }, + "status": { + "type": "string" + }, + "type": { + "enum": [ + "imageGeneration" + ], + "title": "ImageGenerationThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "result", + "status", + "type" + ], + "title": "ImageGenerationThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "review": { + "type": "string" + }, + "type": { + "enum": [ + "enteredReviewMode" + ], + "title": "EnteredReviewModeThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "review", + "type" + ], + "title": "EnteredReviewModeThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "review": { + "type": "string" + }, + "type": { + "enum": [ + "exitedReviewMode" + ], + "title": "ExitedReviewModeThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "review", + "type" + ], + "title": "ExitedReviewModeThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "type": { + "enum": [ + "contextCompaction" + ], + "title": "ContextCompactionThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "title": "ContextCompactionThreadItem", + "type": "object" + } + ] + }, + "ThreadStatus": { + "oneOf": [ + { + "properties": { + "type": { + "enum": [ + "notLoaded" + ], + "title": "NotLoadedThreadStatusType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "NotLoadedThreadStatus", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "idle" + ], + "title": "IdleThreadStatusType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "IdleThreadStatus", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "systemError" + ], + "title": "SystemErrorThreadStatusType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "SystemErrorThreadStatus", + "type": "object" + }, + { + "properties": { + "activeFlags": { + "items": { + "$ref": "#/definitions/ThreadActiveFlag" + }, + "type": "array" + }, + "type": { + "enum": [ + "active" + ], + "title": "ActiveThreadStatusType", + "type": "string" + } + }, + "required": [ + "activeFlags", + "type" + ], + "title": "ActiveThreadStatus", + "type": "object" + } + ] + }, + "Turn": { + "properties": { + "completedAt": { + "description": "Unix timestamp (in seconds) when the turn completed.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "durationMs": { + "description": "Duration between turn start and completion in milliseconds, if known.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "error": { + "anyOf": [ + { + "$ref": "#/definitions/TurnError" + }, + { + "type": "null" + } + ], + "description": "Only populated when the Turn's status is failed." + }, + "id": { + "type": "string" + }, + "items": { + "description": "Only populated on a `thread/resume` or `thread/fork` response. For all other responses and notifications returning a Turn, the items field will be an empty list.", + "items": { + "$ref": "#/definitions/ThreadItem" + }, + "type": "array" + }, + "startedAt": { + "description": "Unix timestamp (in seconds) when the turn started.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "status": { + "$ref": "#/definitions/TurnStatus" + } + }, + "required": [ + "id", + "items", + "status" + ], + "type": "object" + }, + "TurnError": { + "properties": { + "additionalDetails": { + "default": null, + "type": [ + "string", + "null" + ] + }, + "codexErrorInfo": { + "anyOf": [ + { + "$ref": "#/definitions/CodexErrorInfo" + }, + { + "type": "null" + } + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "TurnStatus": { + "enum": [ + "completed", + "interrupted", + "failed", + "inProgress" + ], + "type": "string" + }, + "UserInput": { + "oneOf": [ + { + "properties": { + "text": { + "type": "string" + }, + "text_elements": { + "default": [], + "description": "UI-defined spans within `text` used to render or persist special elements.", + "items": { + "$ref": "#/definitions/TextElement" + }, + "type": "array" + }, + "type": { + "enum": [ + "text" + ], + "title": "TextUserInputType", + "type": "string" + } + }, + "required": [ + "text", + "type" + ], + "title": "TextUserInput", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "image" + ], + "title": "ImageUserInputType", + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "url" + ], + "title": "ImageUserInput", + "type": "object" + }, + { + "properties": { + "path": { + "type": "string" + }, + "type": { + "enum": [ + "localImage" + ], + "title": "LocalImageUserInputType", + "type": "string" + } + }, + "required": [ + "path", + "type" + ], + "title": "LocalImageUserInput", + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "type": { + "enum": [ + "skill" + ], + "title": "SkillUserInputType", + "type": "string" + } + }, + "required": [ + "name", + "path", + "type" + ], + "title": "SkillUserInput", + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "type": { + "enum": [ + "mention" + ], + "title": "MentionUserInputType", + "type": "string" + } + }, + "required": [ + "name", + "path", + "type" + ], + "title": "MentionUserInput", + "type": "object" + } + ] + }, + "WebSearchAction": { + "oneOf": [ + { + "properties": { + "queries": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "query": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "search" + ], + "title": "SearchWebSearchActionType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "SearchWebSearchAction", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "openPage" + ], + "title": "OpenPageWebSearchActionType", + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "type" + ], + "title": "OpenPageWebSearchAction", + "type": "object" + }, + { + "properties": { + "pattern": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "findInPage" + ], + "title": "FindInPageWebSearchActionType", + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "type" + ], + "title": "FindInPageWebSearchAction", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "other" + ], + "title": "OtherWebSearchActionType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "OtherWebSearchAction", + "type": "object" + } + ] + } + }, + "properties": { + "approvalPolicy": { + "$ref": "#/definitions/AskForApproval" + }, + "approvalsReviewer": { + "allOf": [ + { + "$ref": "#/definitions/ApprovalsReviewer" + } + ], + "description": "Reviewer currently used for approval requests on this thread." + }, + "cwd": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "instructionSources": { + "default": [], + "description": "Instruction source files currently loaded for this thread.", + "items": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": "array" + }, + "model": { + "type": "string" + }, + "modelProvider": { + "type": "string" + }, + "permissionProfile": { + "anyOf": [ + { + "$ref": "#/definitions/PermissionProfile" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Canonical active permissions view for this thread when representable. This is `null` for external sandbox policies because external enforcement cannot be round-tripped as a `PermissionProfile`." + }, + "reasoningEffort": { + "anyOf": [ + { + "$ref": "#/definitions/ReasoningEffort" + }, + { + "type": "null" + } + ] + }, + "sandbox": { + "allOf": [ + { + "$ref": "#/definitions/SandboxPolicy" + } + ], + "description": "Legacy sandbox policy retained for compatibility. New clients should use `permissionProfile` when present as the canonical active permissions view." + }, + "serviceTier": { + "anyOf": [ + { + "$ref": "#/definitions/ServiceTier" + }, + { + "type": "null" + } + ] + }, + "thread": { + "$ref": "#/definitions/Thread" + } + }, + "required": [ + "approvalPolicy", + "approvalsReviewer", + "cwd", + "model", + "modelProvider", + "sandbox", + "thread" + ], + "title": "ThreadStartResponse", + "type": "object" +} \ No newline at end of file diff --git a/extensions/codex/src/app-server/protocol-generated/json/v2/TurnCompletedNotification.json b/extensions/codex/src/app-server/protocol-generated/json/v2/TurnCompletedNotification.json new file mode 100644 index 00000000000..0739fa31bc4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/json/v2/TurnCompletedNotification.json @@ -0,0 +1,1625 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "AbsolutePathBuf": { + "description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + "type": "string" + }, + "ByteRange": { + "properties": { + "end": { + "format": "uint", + "minimum": 0.0, + "type": "integer" + }, + "start": { + "format": "uint", + "minimum": 0.0, + "type": "integer" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "CodexErrorInfo": { + "description": "This translation layer make sure that we expose codex error code in camel case.\n\nWhen an upstream HTTP status is available (for example, from the Responses API or a provider), it is forwarded in `httpStatusCode` on the relevant `codexErrorInfo` variant.", + "oneOf": [ + { + "enum": [ + "contextWindowExceeded", + "usageLimitExceeded", + "serverOverloaded", + "cyberPolicy", + "internalServerError", + "unauthorized", + "badRequest", + "threadRollbackFailed", + "sandboxError", + "other" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "httpConnectionFailed": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "httpConnectionFailed" + ], + "title": "HttpConnectionFailedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Failed to connect to the response SSE stream.", + "properties": { + "responseStreamConnectionFailed": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseStreamConnectionFailed" + ], + "title": "ResponseStreamConnectionFailedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "The response SSE stream disconnected in the middle of a turn before completion.", + "properties": { + "responseStreamDisconnected": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseStreamDisconnected" + ], + "title": "ResponseStreamDisconnectedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Reached the retry limit for responses.", + "properties": { + "responseTooManyFailedAttempts": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseTooManyFailedAttempts" + ], + "title": "ResponseTooManyFailedAttemptsCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Returned when `turn/start` or `turn/steer` is submitted while the current active turn cannot accept same-turn steering, for example `/review` or manual `/compact`.", + "properties": { + "activeTurnNotSteerable": { + "properties": { + "turnKind": { + "$ref": "#/definitions/NonSteerableTurnKind" + } + }, + "required": [ + "turnKind" + ], + "type": "object" + } + }, + "required": [ + "activeTurnNotSteerable" + ], + "title": "ActiveTurnNotSteerableCodexErrorInfo", + "type": "object" + } + ] + }, + "CollabAgentState": { + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "status": { + "$ref": "#/definitions/CollabAgentStatus" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "CollabAgentStatus": { + "enum": [ + "pendingInit", + "running", + "interrupted", + "completed", + "errored", + "shutdown", + "notFound" + ], + "type": "string" + }, + "CollabAgentTool": { + "enum": [ + "spawnAgent", + "sendInput", + "resumeAgent", + "wait", + "closeAgent" + ], + "type": "string" + }, + "CollabAgentToolCallStatus": { + "enum": [ + "inProgress", + "completed", + "failed" + ], + "type": "string" + }, + "CommandAction": { + "oneOf": [ + { + "properties": { + "command": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": { + "enum": [ + "read" + ], + "title": "ReadCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "name", + "path", + "type" + ], + "title": "ReadCommandAction", + "type": "object" + }, + { + "properties": { + "command": { + "type": "string" + }, + "path": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "listFiles" + ], + "title": "ListFilesCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "type" + ], + "title": "ListFilesCommandAction", + "type": "object" + }, + { + "properties": { + "command": { + "type": "string" + }, + "path": { + "type": [ + "string", + "null" + ] + }, + "query": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "search" + ], + "title": "SearchCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "type" + ], + "title": "SearchCommandAction", + "type": "object" + }, + { + "properties": { + "command": { + "type": "string" + }, + "type": { + "enum": [ + "unknown" + ], + "title": "UnknownCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "type" + ], + "title": "UnknownCommandAction", + "type": "object" + } + ] + }, + "CommandExecutionSource": { + "enum": [ + "agent", + "userShell", + "unifiedExecStartup", + "unifiedExecInteraction" + ], + "type": "string" + }, + "CommandExecutionStatus": { + "enum": [ + "inProgress", + "completed", + "failed", + "declined" + ], + "type": "string" + }, + "DynamicToolCallOutputContentItem": { + "oneOf": [ + { + "properties": { + "text": { + "type": "string" + }, + "type": { + "enum": [ + "inputText" + ], + "title": "InputTextDynamicToolCallOutputContentItemType", + "type": "string" + } + }, + "required": [ + "text", + "type" + ], + "title": "InputTextDynamicToolCallOutputContentItem", + "type": "object" + }, + { + "properties": { + "imageUrl": { + "type": "string" + }, + "type": { + "enum": [ + "inputImage" + ], + "title": "InputImageDynamicToolCallOutputContentItemType", + "type": "string" + } + }, + "required": [ + "imageUrl", + "type" + ], + "title": "InputImageDynamicToolCallOutputContentItem", + "type": "object" + } + ] + }, + "DynamicToolCallStatus": { + "enum": [ + "inProgress", + "completed", + "failed" + ], + "type": "string" + }, + "FileUpdateChange": { + "properties": { + "diff": { + "type": "string" + }, + "kind": { + "$ref": "#/definitions/PatchChangeKind" + }, + "path": { + "type": "string" + } + }, + "required": [ + "diff", + "kind", + "path" + ], + "type": "object" + }, + "HookPromptFragment": { + "properties": { + "hookRunId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "hookRunId", + "text" + ], + "type": "object" + }, + "McpToolCallError": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "McpToolCallResult": { + "properties": { + "_meta": true, + "content": { + "items": true, + "type": "array" + }, + "structuredContent": true + }, + "required": [ + "content" + ], + "type": "object" + }, + "McpToolCallStatus": { + "enum": [ + "inProgress", + "completed", + "failed" + ], + "type": "string" + }, + "MemoryCitation": { + "properties": { + "entries": { + "items": { + "$ref": "#/definitions/MemoryCitationEntry" + }, + "type": "array" + }, + "threadIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "entries", + "threadIds" + ], + "type": "object" + }, + "MemoryCitationEntry": { + "properties": { + "lineEnd": { + "format": "uint32", + "minimum": 0.0, + "type": "integer" + }, + "lineStart": { + "format": "uint32", + "minimum": 0.0, + "type": "integer" + }, + "note": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": [ + "lineEnd", + "lineStart", + "note", + "path" + ], + "type": "object" + }, + "MessagePhase": { + "description": "Classifies an assistant message as interim commentary or final answer text.\n\nProviders do not emit this consistently, so callers must treat `None` as \"phase unknown\" and keep compatibility behavior for legacy models.", + "oneOf": [ + { + "description": "Mid-turn assistant text (for example preamble/progress narration).\n\nAdditional tool calls or assistant output may follow before turn completion.", + "enum": [ + "commentary" + ], + "type": "string" + }, + { + "description": "The assistant's terminal answer text for the current turn.", + "enum": [ + "final_answer" + ], + "type": "string" + } + ] + }, + "NonSteerableTurnKind": { + "enum": [ + "review", + "compact" + ], + "type": "string" + }, + "PatchApplyStatus": { + "enum": [ + "inProgress", + "completed", + "failed", + "declined" + ], + "type": "string" + }, + "PatchChangeKind": { + "oneOf": [ + { + "properties": { + "type": { + "enum": [ + "add" + ], + "title": "AddPatchChangeKindType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "AddPatchChangeKind", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "delete" + ], + "title": "DeletePatchChangeKindType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "DeletePatchChangeKind", + "type": "object" + }, + { + "properties": { + "move_path": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "update" + ], + "title": "UpdatePatchChangeKindType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "UpdatePatchChangeKind", + "type": "object" + } + ] + }, + "ReasoningEffort": { + "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning", + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh" + ], + "type": "string" + }, + "TextElement": { + "properties": { + "byteRange": { + "allOf": [ + { + "$ref": "#/definitions/ByteRange" + } + ], + "description": "Byte range in the parent `text` buffer that this element occupies." + }, + "placeholder": { + "description": "Optional human-readable placeholder for the element, displayed in the UI.", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "byteRange" + ], + "type": "object" + }, + "ThreadItem": { + "oneOf": [ + { + "properties": { + "content": { + "items": { + "$ref": "#/definitions/UserInput" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "userMessage" + ], + "title": "UserMessageThreadItemType", + "type": "string" + } + }, + "required": [ + "content", + "id", + "type" + ], + "title": "UserMessageThreadItem", + "type": "object" + }, + { + "properties": { + "fragments": { + "items": { + "$ref": "#/definitions/HookPromptFragment" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "hookPrompt" + ], + "title": "HookPromptThreadItemType", + "type": "string" + } + }, + "required": [ + "fragments", + "id", + "type" + ], + "title": "HookPromptThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "memoryCitation": { + "anyOf": [ + { + "$ref": "#/definitions/MemoryCitation" + }, + { + "type": "null" + } + ], + "default": null + }, + "phase": { + "anyOf": [ + { + "$ref": "#/definitions/MessagePhase" + }, + { + "type": "null" + } + ], + "default": null + }, + "text": { + "type": "string" + }, + "type": { + "enum": [ + "agentMessage" + ], + "title": "AgentMessageThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "text", + "type" + ], + "title": "AgentMessageThreadItem", + "type": "object" + }, + { + "description": "EXPERIMENTAL - proposed plan item content. The completed plan item is authoritative and may not match the concatenation of `PlanDelta` text.", + "properties": { + "id": { + "type": "string" + }, + "text": { + "type": "string" + }, + "type": { + "enum": [ + "plan" + ], + "title": "PlanThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "text", + "type" + ], + "title": "PlanThreadItem", + "type": "object" + }, + { + "properties": { + "content": { + "default": [], + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "summary": { + "default": [], + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "enum": [ + "reasoning" + ], + "title": "ReasoningThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "title": "ReasoningThreadItem", + "type": "object" + }, + { + "properties": { + "aggregatedOutput": { + "description": "The command's output, aggregated from stdout and stderr.", + "type": [ + "string", + "null" + ] + }, + "command": { + "description": "The command to be executed.", + "type": "string" + }, + "commandActions": { + "description": "A best-effort parsing of the command to understand the action(s) it will perform. This returns a list of CommandAction objects because a single shell command may be composed of many commands piped together.", + "items": { + "$ref": "#/definitions/CommandAction" + }, + "type": "array" + }, + "cwd": { + "allOf": [ + { + "$ref": "#/definitions/AbsolutePathBuf" + } + ], + "description": "The command's working directory." + }, + "durationMs": { + "description": "The duration of the command execution in milliseconds.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "exitCode": { + "description": "The command's exit code.", + "format": "int32", + "type": [ + "integer", + "null" + ] + }, + "id": { + "type": "string" + }, + "processId": { + "description": "Identifier for the underlying PTY process (when available).", + "type": [ + "string", + "null" + ] + }, + "source": { + "allOf": [ + { + "$ref": "#/definitions/CommandExecutionSource" + } + ], + "default": "agent" + }, + "status": { + "$ref": "#/definitions/CommandExecutionStatus" + }, + "type": { + "enum": [ + "commandExecution" + ], + "title": "CommandExecutionThreadItemType", + "type": "string" + } + }, + "required": [ + "command", + "commandActions", + "cwd", + "id", + "status", + "type" + ], + "title": "CommandExecutionThreadItem", + "type": "object" + }, + { + "properties": { + "changes": { + "items": { + "$ref": "#/definitions/FileUpdateChange" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/PatchApplyStatus" + }, + "type": { + "enum": [ + "fileChange" + ], + "title": "FileChangeThreadItemType", + "type": "string" + } + }, + "required": [ + "changes", + "id", + "status", + "type" + ], + "title": "FileChangeThreadItem", + "type": "object" + }, + { + "properties": { + "arguments": true, + "durationMs": { + "description": "The duration of the MCP tool call in milliseconds.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "error": { + "anyOf": [ + { + "$ref": "#/definitions/McpToolCallError" + }, + { + "type": "null" + } + ] + }, + "id": { + "type": "string" + }, + "mcpAppResourceUri": { + "type": [ + "string", + "null" + ] + }, + "result": { + "anyOf": [ + { + "$ref": "#/definitions/McpToolCallResult" + }, + { + "type": "null" + } + ] + }, + "server": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/McpToolCallStatus" + }, + "tool": { + "type": "string" + }, + "type": { + "enum": [ + "mcpToolCall" + ], + "title": "McpToolCallThreadItemType", + "type": "string" + } + }, + "required": [ + "arguments", + "id", + "server", + "status", + "tool", + "type" + ], + "title": "McpToolCallThreadItem", + "type": "object" + }, + { + "properties": { + "arguments": true, + "contentItems": { + "items": { + "$ref": "#/definitions/DynamicToolCallOutputContentItem" + }, + "type": [ + "array", + "null" + ] + }, + "durationMs": { + "description": "The duration of the dynamic tool call in milliseconds.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "id": { + "type": "string" + }, + "namespace": { + "type": [ + "string", + "null" + ] + }, + "status": { + "$ref": "#/definitions/DynamicToolCallStatus" + }, + "success": { + "type": [ + "boolean", + "null" + ] + }, + "tool": { + "type": "string" + }, + "type": { + "enum": [ + "dynamicToolCall" + ], + "title": "DynamicToolCallThreadItemType", + "type": "string" + } + }, + "required": [ + "arguments", + "id", + "status", + "tool", + "type" + ], + "title": "DynamicToolCallThreadItem", + "type": "object" + }, + { + "properties": { + "agentsStates": { + "additionalProperties": { + "$ref": "#/definitions/CollabAgentState" + }, + "description": "Last known status of the target agents, when available.", + "type": "object" + }, + "id": { + "description": "Unique identifier for this collab tool call.", + "type": "string" + }, + "model": { + "description": "Model requested for the spawned agent, when applicable.", + "type": [ + "string", + "null" + ] + }, + "prompt": { + "description": "Prompt text sent as part of the collab tool call, when available.", + "type": [ + "string", + "null" + ] + }, + "reasoningEffort": { + "anyOf": [ + { + "$ref": "#/definitions/ReasoningEffort" + }, + { + "type": "null" + } + ], + "description": "Reasoning effort requested for the spawned agent, when applicable." + }, + "receiverThreadIds": { + "description": "Thread ID of the receiving agent, when applicable. In case of spawn operation, this corresponds to the newly spawned agent.", + "items": { + "type": "string" + }, + "type": "array" + }, + "senderThreadId": { + "description": "Thread ID of the agent issuing the collab request.", + "type": "string" + }, + "status": { + "allOf": [ + { + "$ref": "#/definitions/CollabAgentToolCallStatus" + } + ], + "description": "Current status of the collab tool call." + }, + "tool": { + "allOf": [ + { + "$ref": "#/definitions/CollabAgentTool" + } + ], + "description": "Name of the collab tool that was invoked." + }, + "type": { + "enum": [ + "collabAgentToolCall" + ], + "title": "CollabAgentToolCallThreadItemType", + "type": "string" + } + }, + "required": [ + "agentsStates", + "id", + "receiverThreadIds", + "senderThreadId", + "status", + "tool", + "type" + ], + "title": "CollabAgentToolCallThreadItem", + "type": "object" + }, + { + "properties": { + "action": { + "anyOf": [ + { + "$ref": "#/definitions/WebSearchAction" + }, + { + "type": "null" + } + ] + }, + "id": { + "type": "string" + }, + "query": { + "type": "string" + }, + "type": { + "enum": [ + "webSearch" + ], + "title": "WebSearchThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "query", + "type" + ], + "title": "WebSearchThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": { + "enum": [ + "imageView" + ], + "title": "ImageViewThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "path", + "type" + ], + "title": "ImageViewThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "result": { + "type": "string" + }, + "revisedPrompt": { + "type": [ + "string", + "null" + ] + }, + "savedPath": { + "anyOf": [ + { + "$ref": "#/definitions/AbsolutePathBuf" + }, + { + "type": "null" + } + ] + }, + "status": { + "type": "string" + }, + "type": { + "enum": [ + "imageGeneration" + ], + "title": "ImageGenerationThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "result", + "status", + "type" + ], + "title": "ImageGenerationThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "review": { + "type": "string" + }, + "type": { + "enum": [ + "enteredReviewMode" + ], + "title": "EnteredReviewModeThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "review", + "type" + ], + "title": "EnteredReviewModeThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "review": { + "type": "string" + }, + "type": { + "enum": [ + "exitedReviewMode" + ], + "title": "ExitedReviewModeThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "review", + "type" + ], + "title": "ExitedReviewModeThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "type": { + "enum": [ + "contextCompaction" + ], + "title": "ContextCompactionThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "title": "ContextCompactionThreadItem", + "type": "object" + } + ] + }, + "Turn": { + "properties": { + "completedAt": { + "description": "Unix timestamp (in seconds) when the turn completed.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "durationMs": { + "description": "Duration between turn start and completion in milliseconds, if known.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "error": { + "anyOf": [ + { + "$ref": "#/definitions/TurnError" + }, + { + "type": "null" + } + ], + "description": "Only populated when the Turn's status is failed." + }, + "id": { + "type": "string" + }, + "items": { + "description": "Only populated on a `thread/resume` or `thread/fork` response. For all other responses and notifications returning a Turn, the items field will be an empty list.", + "items": { + "$ref": "#/definitions/ThreadItem" + }, + "type": "array" + }, + "startedAt": { + "description": "Unix timestamp (in seconds) when the turn started.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "status": { + "$ref": "#/definitions/TurnStatus" + } + }, + "required": [ + "id", + "items", + "status" + ], + "type": "object" + }, + "TurnError": { + "properties": { + "additionalDetails": { + "default": null, + "type": [ + "string", + "null" + ] + }, + "codexErrorInfo": { + "anyOf": [ + { + "$ref": "#/definitions/CodexErrorInfo" + }, + { + "type": "null" + } + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "TurnStatus": { + "enum": [ + "completed", + "interrupted", + "failed", + "inProgress" + ], + "type": "string" + }, + "UserInput": { + "oneOf": [ + { + "properties": { + "text": { + "type": "string" + }, + "text_elements": { + "default": [], + "description": "UI-defined spans within `text` used to render or persist special elements.", + "items": { + "$ref": "#/definitions/TextElement" + }, + "type": "array" + }, + "type": { + "enum": [ + "text" + ], + "title": "TextUserInputType", + "type": "string" + } + }, + "required": [ + "text", + "type" + ], + "title": "TextUserInput", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "image" + ], + "title": "ImageUserInputType", + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "url" + ], + "title": "ImageUserInput", + "type": "object" + }, + { + "properties": { + "path": { + "type": "string" + }, + "type": { + "enum": [ + "localImage" + ], + "title": "LocalImageUserInputType", + "type": "string" + } + }, + "required": [ + "path", + "type" + ], + "title": "LocalImageUserInput", + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "type": { + "enum": [ + "skill" + ], + "title": "SkillUserInputType", + "type": "string" + } + }, + "required": [ + "name", + "path", + "type" + ], + "title": "SkillUserInput", + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "type": { + "enum": [ + "mention" + ], + "title": "MentionUserInputType", + "type": "string" + } + }, + "required": [ + "name", + "path", + "type" + ], + "title": "MentionUserInput", + "type": "object" + } + ] + }, + "WebSearchAction": { + "oneOf": [ + { + "properties": { + "queries": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "query": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "search" + ], + "title": "SearchWebSearchActionType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "SearchWebSearchAction", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "openPage" + ], + "title": "OpenPageWebSearchActionType", + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "type" + ], + "title": "OpenPageWebSearchAction", + "type": "object" + }, + { + "properties": { + "pattern": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "findInPage" + ], + "title": "FindInPageWebSearchActionType", + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "type" + ], + "title": "FindInPageWebSearchAction", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "other" + ], + "title": "OtherWebSearchActionType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "OtherWebSearchAction", + "type": "object" + } + ] + } + }, + "properties": { + "threadId": { + "type": "string" + }, + "turn": { + "$ref": "#/definitions/Turn" + } + }, + "required": [ + "threadId", + "turn" + ], + "title": "TurnCompletedNotification", + "type": "object" +} \ No newline at end of file diff --git a/extensions/codex/src/app-server/protocol-generated/json/v2/TurnStartResponse.json b/extensions/codex/src/app-server/protocol-generated/json/v2/TurnStartResponse.json new file mode 100644 index 00000000000..bc5917ef15a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/json/v2/TurnStartResponse.json @@ -0,0 +1,1621 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "AbsolutePathBuf": { + "description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", + "type": "string" + }, + "ByteRange": { + "properties": { + "end": { + "format": "uint", + "minimum": 0.0, + "type": "integer" + }, + "start": { + "format": "uint", + "minimum": 0.0, + "type": "integer" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "CodexErrorInfo": { + "description": "This translation layer make sure that we expose codex error code in camel case.\n\nWhen an upstream HTTP status is available (for example, from the Responses API or a provider), it is forwarded in `httpStatusCode` on the relevant `codexErrorInfo` variant.", + "oneOf": [ + { + "enum": [ + "contextWindowExceeded", + "usageLimitExceeded", + "serverOverloaded", + "cyberPolicy", + "internalServerError", + "unauthorized", + "badRequest", + "threadRollbackFailed", + "sandboxError", + "other" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "httpConnectionFailed": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "httpConnectionFailed" + ], + "title": "HttpConnectionFailedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Failed to connect to the response SSE stream.", + "properties": { + "responseStreamConnectionFailed": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseStreamConnectionFailed" + ], + "title": "ResponseStreamConnectionFailedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "The response SSE stream disconnected in the middle of a turn before completion.", + "properties": { + "responseStreamDisconnected": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseStreamDisconnected" + ], + "title": "ResponseStreamDisconnectedCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Reached the retry limit for responses.", + "properties": { + "responseTooManyFailedAttempts": { + "properties": { + "httpStatusCode": { + "format": "uint16", + "minimum": 0.0, + "type": [ + "integer", + "null" + ] + } + }, + "type": "object" + } + }, + "required": [ + "responseTooManyFailedAttempts" + ], + "title": "ResponseTooManyFailedAttemptsCodexErrorInfo", + "type": "object" + }, + { + "additionalProperties": false, + "description": "Returned when `turn/start` or `turn/steer` is submitted while the current active turn cannot accept same-turn steering, for example `/review` or manual `/compact`.", + "properties": { + "activeTurnNotSteerable": { + "properties": { + "turnKind": { + "$ref": "#/definitions/NonSteerableTurnKind" + } + }, + "required": [ + "turnKind" + ], + "type": "object" + } + }, + "required": [ + "activeTurnNotSteerable" + ], + "title": "ActiveTurnNotSteerableCodexErrorInfo", + "type": "object" + } + ] + }, + "CollabAgentState": { + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "status": { + "$ref": "#/definitions/CollabAgentStatus" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "CollabAgentStatus": { + "enum": [ + "pendingInit", + "running", + "interrupted", + "completed", + "errored", + "shutdown", + "notFound" + ], + "type": "string" + }, + "CollabAgentTool": { + "enum": [ + "spawnAgent", + "sendInput", + "resumeAgent", + "wait", + "closeAgent" + ], + "type": "string" + }, + "CollabAgentToolCallStatus": { + "enum": [ + "inProgress", + "completed", + "failed" + ], + "type": "string" + }, + "CommandAction": { + "oneOf": [ + { + "properties": { + "command": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": { + "enum": [ + "read" + ], + "title": "ReadCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "name", + "path", + "type" + ], + "title": "ReadCommandAction", + "type": "object" + }, + { + "properties": { + "command": { + "type": "string" + }, + "path": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "listFiles" + ], + "title": "ListFilesCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "type" + ], + "title": "ListFilesCommandAction", + "type": "object" + }, + { + "properties": { + "command": { + "type": "string" + }, + "path": { + "type": [ + "string", + "null" + ] + }, + "query": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "search" + ], + "title": "SearchCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "type" + ], + "title": "SearchCommandAction", + "type": "object" + }, + { + "properties": { + "command": { + "type": "string" + }, + "type": { + "enum": [ + "unknown" + ], + "title": "UnknownCommandActionType", + "type": "string" + } + }, + "required": [ + "command", + "type" + ], + "title": "UnknownCommandAction", + "type": "object" + } + ] + }, + "CommandExecutionSource": { + "enum": [ + "agent", + "userShell", + "unifiedExecStartup", + "unifiedExecInteraction" + ], + "type": "string" + }, + "CommandExecutionStatus": { + "enum": [ + "inProgress", + "completed", + "failed", + "declined" + ], + "type": "string" + }, + "DynamicToolCallOutputContentItem": { + "oneOf": [ + { + "properties": { + "text": { + "type": "string" + }, + "type": { + "enum": [ + "inputText" + ], + "title": "InputTextDynamicToolCallOutputContentItemType", + "type": "string" + } + }, + "required": [ + "text", + "type" + ], + "title": "InputTextDynamicToolCallOutputContentItem", + "type": "object" + }, + { + "properties": { + "imageUrl": { + "type": "string" + }, + "type": { + "enum": [ + "inputImage" + ], + "title": "InputImageDynamicToolCallOutputContentItemType", + "type": "string" + } + }, + "required": [ + "imageUrl", + "type" + ], + "title": "InputImageDynamicToolCallOutputContentItem", + "type": "object" + } + ] + }, + "DynamicToolCallStatus": { + "enum": [ + "inProgress", + "completed", + "failed" + ], + "type": "string" + }, + "FileUpdateChange": { + "properties": { + "diff": { + "type": "string" + }, + "kind": { + "$ref": "#/definitions/PatchChangeKind" + }, + "path": { + "type": "string" + } + }, + "required": [ + "diff", + "kind", + "path" + ], + "type": "object" + }, + "HookPromptFragment": { + "properties": { + "hookRunId": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "hookRunId", + "text" + ], + "type": "object" + }, + "McpToolCallError": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "McpToolCallResult": { + "properties": { + "_meta": true, + "content": { + "items": true, + "type": "array" + }, + "structuredContent": true + }, + "required": [ + "content" + ], + "type": "object" + }, + "McpToolCallStatus": { + "enum": [ + "inProgress", + "completed", + "failed" + ], + "type": "string" + }, + "MemoryCitation": { + "properties": { + "entries": { + "items": { + "$ref": "#/definitions/MemoryCitationEntry" + }, + "type": "array" + }, + "threadIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "entries", + "threadIds" + ], + "type": "object" + }, + "MemoryCitationEntry": { + "properties": { + "lineEnd": { + "format": "uint32", + "minimum": 0.0, + "type": "integer" + }, + "lineStart": { + "format": "uint32", + "minimum": 0.0, + "type": "integer" + }, + "note": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": [ + "lineEnd", + "lineStart", + "note", + "path" + ], + "type": "object" + }, + "MessagePhase": { + "description": "Classifies an assistant message as interim commentary or final answer text.\n\nProviders do not emit this consistently, so callers must treat `None` as \"phase unknown\" and keep compatibility behavior for legacy models.", + "oneOf": [ + { + "description": "Mid-turn assistant text (for example preamble/progress narration).\n\nAdditional tool calls or assistant output may follow before turn completion.", + "enum": [ + "commentary" + ], + "type": "string" + }, + { + "description": "The assistant's terminal answer text for the current turn.", + "enum": [ + "final_answer" + ], + "type": "string" + } + ] + }, + "NonSteerableTurnKind": { + "enum": [ + "review", + "compact" + ], + "type": "string" + }, + "PatchApplyStatus": { + "enum": [ + "inProgress", + "completed", + "failed", + "declined" + ], + "type": "string" + }, + "PatchChangeKind": { + "oneOf": [ + { + "properties": { + "type": { + "enum": [ + "add" + ], + "title": "AddPatchChangeKindType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "AddPatchChangeKind", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "delete" + ], + "title": "DeletePatchChangeKindType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "DeletePatchChangeKind", + "type": "object" + }, + { + "properties": { + "move_path": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "update" + ], + "title": "UpdatePatchChangeKindType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "UpdatePatchChangeKind", + "type": "object" + } + ] + }, + "ReasoningEffort": { + "description": "See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning", + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh" + ], + "type": "string" + }, + "TextElement": { + "properties": { + "byteRange": { + "allOf": [ + { + "$ref": "#/definitions/ByteRange" + } + ], + "description": "Byte range in the parent `text` buffer that this element occupies." + }, + "placeholder": { + "description": "Optional human-readable placeholder for the element, displayed in the UI.", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "byteRange" + ], + "type": "object" + }, + "ThreadItem": { + "oneOf": [ + { + "properties": { + "content": { + "items": { + "$ref": "#/definitions/UserInput" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "userMessage" + ], + "title": "UserMessageThreadItemType", + "type": "string" + } + }, + "required": [ + "content", + "id", + "type" + ], + "title": "UserMessageThreadItem", + "type": "object" + }, + { + "properties": { + "fragments": { + "items": { + "$ref": "#/definitions/HookPromptFragment" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "type": { + "enum": [ + "hookPrompt" + ], + "title": "HookPromptThreadItemType", + "type": "string" + } + }, + "required": [ + "fragments", + "id", + "type" + ], + "title": "HookPromptThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "memoryCitation": { + "anyOf": [ + { + "$ref": "#/definitions/MemoryCitation" + }, + { + "type": "null" + } + ], + "default": null + }, + "phase": { + "anyOf": [ + { + "$ref": "#/definitions/MessagePhase" + }, + { + "type": "null" + } + ], + "default": null + }, + "text": { + "type": "string" + }, + "type": { + "enum": [ + "agentMessage" + ], + "title": "AgentMessageThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "text", + "type" + ], + "title": "AgentMessageThreadItem", + "type": "object" + }, + { + "description": "EXPERIMENTAL - proposed plan item content. The completed plan item is authoritative and may not match the concatenation of `PlanDelta` text.", + "properties": { + "id": { + "type": "string" + }, + "text": { + "type": "string" + }, + "type": { + "enum": [ + "plan" + ], + "title": "PlanThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "text", + "type" + ], + "title": "PlanThreadItem", + "type": "object" + }, + { + "properties": { + "content": { + "default": [], + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "summary": { + "default": [], + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "enum": [ + "reasoning" + ], + "title": "ReasoningThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "title": "ReasoningThreadItem", + "type": "object" + }, + { + "properties": { + "aggregatedOutput": { + "description": "The command's output, aggregated from stdout and stderr.", + "type": [ + "string", + "null" + ] + }, + "command": { + "description": "The command to be executed.", + "type": "string" + }, + "commandActions": { + "description": "A best-effort parsing of the command to understand the action(s) it will perform. This returns a list of CommandAction objects because a single shell command may be composed of many commands piped together.", + "items": { + "$ref": "#/definitions/CommandAction" + }, + "type": "array" + }, + "cwd": { + "allOf": [ + { + "$ref": "#/definitions/AbsolutePathBuf" + } + ], + "description": "The command's working directory." + }, + "durationMs": { + "description": "The duration of the command execution in milliseconds.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "exitCode": { + "description": "The command's exit code.", + "format": "int32", + "type": [ + "integer", + "null" + ] + }, + "id": { + "type": "string" + }, + "processId": { + "description": "Identifier for the underlying PTY process (when available).", + "type": [ + "string", + "null" + ] + }, + "source": { + "allOf": [ + { + "$ref": "#/definitions/CommandExecutionSource" + } + ], + "default": "agent" + }, + "status": { + "$ref": "#/definitions/CommandExecutionStatus" + }, + "type": { + "enum": [ + "commandExecution" + ], + "title": "CommandExecutionThreadItemType", + "type": "string" + } + }, + "required": [ + "command", + "commandActions", + "cwd", + "id", + "status", + "type" + ], + "title": "CommandExecutionThreadItem", + "type": "object" + }, + { + "properties": { + "changes": { + "items": { + "$ref": "#/definitions/FileUpdateChange" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/PatchApplyStatus" + }, + "type": { + "enum": [ + "fileChange" + ], + "title": "FileChangeThreadItemType", + "type": "string" + } + }, + "required": [ + "changes", + "id", + "status", + "type" + ], + "title": "FileChangeThreadItem", + "type": "object" + }, + { + "properties": { + "arguments": true, + "durationMs": { + "description": "The duration of the MCP tool call in milliseconds.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "error": { + "anyOf": [ + { + "$ref": "#/definitions/McpToolCallError" + }, + { + "type": "null" + } + ] + }, + "id": { + "type": "string" + }, + "mcpAppResourceUri": { + "type": [ + "string", + "null" + ] + }, + "result": { + "anyOf": [ + { + "$ref": "#/definitions/McpToolCallResult" + }, + { + "type": "null" + } + ] + }, + "server": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/McpToolCallStatus" + }, + "tool": { + "type": "string" + }, + "type": { + "enum": [ + "mcpToolCall" + ], + "title": "McpToolCallThreadItemType", + "type": "string" + } + }, + "required": [ + "arguments", + "id", + "server", + "status", + "tool", + "type" + ], + "title": "McpToolCallThreadItem", + "type": "object" + }, + { + "properties": { + "arguments": true, + "contentItems": { + "items": { + "$ref": "#/definitions/DynamicToolCallOutputContentItem" + }, + "type": [ + "array", + "null" + ] + }, + "durationMs": { + "description": "The duration of the dynamic tool call in milliseconds.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "id": { + "type": "string" + }, + "namespace": { + "type": [ + "string", + "null" + ] + }, + "status": { + "$ref": "#/definitions/DynamicToolCallStatus" + }, + "success": { + "type": [ + "boolean", + "null" + ] + }, + "tool": { + "type": "string" + }, + "type": { + "enum": [ + "dynamicToolCall" + ], + "title": "DynamicToolCallThreadItemType", + "type": "string" + } + }, + "required": [ + "arguments", + "id", + "status", + "tool", + "type" + ], + "title": "DynamicToolCallThreadItem", + "type": "object" + }, + { + "properties": { + "agentsStates": { + "additionalProperties": { + "$ref": "#/definitions/CollabAgentState" + }, + "description": "Last known status of the target agents, when available.", + "type": "object" + }, + "id": { + "description": "Unique identifier for this collab tool call.", + "type": "string" + }, + "model": { + "description": "Model requested for the spawned agent, when applicable.", + "type": [ + "string", + "null" + ] + }, + "prompt": { + "description": "Prompt text sent as part of the collab tool call, when available.", + "type": [ + "string", + "null" + ] + }, + "reasoningEffort": { + "anyOf": [ + { + "$ref": "#/definitions/ReasoningEffort" + }, + { + "type": "null" + } + ], + "description": "Reasoning effort requested for the spawned agent, when applicable." + }, + "receiverThreadIds": { + "description": "Thread ID of the receiving agent, when applicable. In case of spawn operation, this corresponds to the newly spawned agent.", + "items": { + "type": "string" + }, + "type": "array" + }, + "senderThreadId": { + "description": "Thread ID of the agent issuing the collab request.", + "type": "string" + }, + "status": { + "allOf": [ + { + "$ref": "#/definitions/CollabAgentToolCallStatus" + } + ], + "description": "Current status of the collab tool call." + }, + "tool": { + "allOf": [ + { + "$ref": "#/definitions/CollabAgentTool" + } + ], + "description": "Name of the collab tool that was invoked." + }, + "type": { + "enum": [ + "collabAgentToolCall" + ], + "title": "CollabAgentToolCallThreadItemType", + "type": "string" + } + }, + "required": [ + "agentsStates", + "id", + "receiverThreadIds", + "senderThreadId", + "status", + "tool", + "type" + ], + "title": "CollabAgentToolCallThreadItem", + "type": "object" + }, + { + "properties": { + "action": { + "anyOf": [ + { + "$ref": "#/definitions/WebSearchAction" + }, + { + "type": "null" + } + ] + }, + "id": { + "type": "string" + }, + "query": { + "type": "string" + }, + "type": { + "enum": [ + "webSearch" + ], + "title": "WebSearchThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "query", + "type" + ], + "title": "WebSearchThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "path": { + "$ref": "#/definitions/AbsolutePathBuf" + }, + "type": { + "enum": [ + "imageView" + ], + "title": "ImageViewThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "path", + "type" + ], + "title": "ImageViewThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "result": { + "type": "string" + }, + "revisedPrompt": { + "type": [ + "string", + "null" + ] + }, + "savedPath": { + "anyOf": [ + { + "$ref": "#/definitions/AbsolutePathBuf" + }, + { + "type": "null" + } + ] + }, + "status": { + "type": "string" + }, + "type": { + "enum": [ + "imageGeneration" + ], + "title": "ImageGenerationThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "result", + "status", + "type" + ], + "title": "ImageGenerationThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "review": { + "type": "string" + }, + "type": { + "enum": [ + "enteredReviewMode" + ], + "title": "EnteredReviewModeThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "review", + "type" + ], + "title": "EnteredReviewModeThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "review": { + "type": "string" + }, + "type": { + "enum": [ + "exitedReviewMode" + ], + "title": "ExitedReviewModeThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "review", + "type" + ], + "title": "ExitedReviewModeThreadItem", + "type": "object" + }, + { + "properties": { + "id": { + "type": "string" + }, + "type": { + "enum": [ + "contextCompaction" + ], + "title": "ContextCompactionThreadItemType", + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "title": "ContextCompactionThreadItem", + "type": "object" + } + ] + }, + "Turn": { + "properties": { + "completedAt": { + "description": "Unix timestamp (in seconds) when the turn completed.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "durationMs": { + "description": "Duration between turn start and completion in milliseconds, if known.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "error": { + "anyOf": [ + { + "$ref": "#/definitions/TurnError" + }, + { + "type": "null" + } + ], + "description": "Only populated when the Turn's status is failed." + }, + "id": { + "type": "string" + }, + "items": { + "description": "Only populated on a `thread/resume` or `thread/fork` response. For all other responses and notifications returning a Turn, the items field will be an empty list.", + "items": { + "$ref": "#/definitions/ThreadItem" + }, + "type": "array" + }, + "startedAt": { + "description": "Unix timestamp (in seconds) when the turn started.", + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "status": { + "$ref": "#/definitions/TurnStatus" + } + }, + "required": [ + "id", + "items", + "status" + ], + "type": "object" + }, + "TurnError": { + "properties": { + "additionalDetails": { + "default": null, + "type": [ + "string", + "null" + ] + }, + "codexErrorInfo": { + "anyOf": [ + { + "$ref": "#/definitions/CodexErrorInfo" + }, + { + "type": "null" + } + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "TurnStatus": { + "enum": [ + "completed", + "interrupted", + "failed", + "inProgress" + ], + "type": "string" + }, + "UserInput": { + "oneOf": [ + { + "properties": { + "text": { + "type": "string" + }, + "text_elements": { + "default": [], + "description": "UI-defined spans within `text` used to render or persist special elements.", + "items": { + "$ref": "#/definitions/TextElement" + }, + "type": "array" + }, + "type": { + "enum": [ + "text" + ], + "title": "TextUserInputType", + "type": "string" + } + }, + "required": [ + "text", + "type" + ], + "title": "TextUserInput", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "image" + ], + "title": "ImageUserInputType", + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "type", + "url" + ], + "title": "ImageUserInput", + "type": "object" + }, + { + "properties": { + "path": { + "type": "string" + }, + "type": { + "enum": [ + "localImage" + ], + "title": "LocalImageUserInputType", + "type": "string" + } + }, + "required": [ + "path", + "type" + ], + "title": "LocalImageUserInput", + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "type": { + "enum": [ + "skill" + ], + "title": "SkillUserInputType", + "type": "string" + } + }, + "required": [ + "name", + "path", + "type" + ], + "title": "SkillUserInput", + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "type": { + "enum": [ + "mention" + ], + "title": "MentionUserInputType", + "type": "string" + } + }, + "required": [ + "name", + "path", + "type" + ], + "title": "MentionUserInput", + "type": "object" + } + ] + }, + "WebSearchAction": { + "oneOf": [ + { + "properties": { + "queries": { + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "query": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "search" + ], + "title": "SearchWebSearchActionType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "SearchWebSearchAction", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "openPage" + ], + "title": "OpenPageWebSearchActionType", + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "type" + ], + "title": "OpenPageWebSearchAction", + "type": "object" + }, + { + "properties": { + "pattern": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "findInPage" + ], + "title": "FindInPageWebSearchActionType", + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "type" + ], + "title": "FindInPageWebSearchAction", + "type": "object" + }, + { + "properties": { + "type": { + "enum": [ + "other" + ], + "title": "OtherWebSearchActionType", + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "OtherWebSearchAction", + "type": "object" + } + ] + } + }, + "properties": { + "turn": { + "$ref": "#/definitions/Turn" + } + }, + "required": [ + "turn" + ], + "title": "TurnStartResponse", + "type": "object" +} \ No newline at end of file diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/AbsolutePathBuf.ts b/extensions/codex/src/app-server/protocol-generated/typescript/AbsolutePathBuf.ts new file mode 100644 index 00000000000..dc1cde12410 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/AbsolutePathBuf.ts @@ -0,0 +1,14 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * A path that is guaranteed to be absolute and normalized (though it is not + * guaranteed to be canonicalized or exist on the filesystem). + * + * IMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set + * using [AbsolutePathBufGuard::new]. If no base path is set, the + * deserialization will fail unless the path being deserialized is already + * absolute. + */ +export type AbsolutePathBuf = string; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/AgentPath.ts b/extensions/codex/src/app-server/protocol-generated/typescript/AgentPath.ts new file mode 100644 index 00000000000..6e55ce69e20 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/AgentPath.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 AgentPath = string; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ApplyPatchApprovalParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ApplyPatchApprovalParams.ts new file mode 100644 index 00000000000..f927682f052 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ApplyPatchApprovalParams.ts @@ -0,0 +1,21 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { FileChange } from "./FileChange.js"; +import type { ThreadId } from "./ThreadId.js"; + +export type ApplyPatchApprovalParams = { conversationId: ThreadId, +/** + * Use to correlate this with [codex_protocol::protocol::PatchApplyBeginEvent] + * and [codex_protocol::protocol::PatchApplyEndEvent]. + */ +callId: string, fileChanges: { [key in string]?: FileChange }, +/** + * Optional explanatory reason (e.g. request for extra write access). + */ +reason: string | null, +/** + * When set, the agent is asking the user to allow writes under this root + * for the remainder of the session (unclear if this is honored today). + */ +grantRoot: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ApplyPatchApprovalResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ApplyPatchApprovalResponse.ts new file mode 100644 index 00000000000..2dcc02ab635 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ApplyPatchApprovalResponse.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 { ReviewDecision } from "./ReviewDecision.js"; + +export type ApplyPatchApprovalResponse = { decision: ReviewDecision, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/AuthMode.ts b/extensions/codex/src/app-server/protocol-generated/typescript/AuthMode.ts new file mode 100644 index 00000000000..210e54c4a5f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/AuthMode.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Authentication mode for OpenAI-backed providers. + */ +export type AuthMode = "apikey" | "chatgpt" | "chatgptAuthTokens" | "agentIdentity"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ClientInfo.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ClientInfo.ts new file mode 100644 index 00000000000..33339b6b20f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ClientInfo.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 ClientInfo = { name: string, title: string | null, version: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ClientNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ClientNotification.ts new file mode 100644 index 00000000000..8ce2839108a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ClientNotification.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 ClientNotification = { "method": "initialized" }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ClientRequest.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ClientRequest.ts new file mode 100644 index 00000000000..2b77f40c8bb --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ClientRequest.ts @@ -0,0 +1,79 @@ +// 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 { FuzzyFileSearchParams } from "./FuzzyFileSearchParams.js"; +import type { GetAuthStatusParams } from "./GetAuthStatusParams.js"; +import type { GetConversationSummaryParams } from "./GetConversationSummaryParams.js"; +import type { GitDiffToRemoteParams } from "./GitDiffToRemoteParams.js"; +import type { InitializeParams } from "./InitializeParams.js"; +import type { RequestId } from "./RequestId.js"; +import type { AppsListParams } from "./v2/AppsListParams.js"; +import type { CancelLoginAccountParams } from "./v2/CancelLoginAccountParams.js"; +import type { CommandExecParams } from "./v2/CommandExecParams.js"; +import type { CommandExecResizeParams } from "./v2/CommandExecResizeParams.js"; +import type { CommandExecTerminateParams } from "./v2/CommandExecTerminateParams.js"; +import type { CommandExecWriteParams } from "./v2/CommandExecWriteParams.js"; +import type { ConfigBatchWriteParams } from "./v2/ConfigBatchWriteParams.js"; +import type { ConfigReadParams } from "./v2/ConfigReadParams.js"; +import type { ConfigValueWriteParams } from "./v2/ConfigValueWriteParams.js"; +import type { DeviceKeyCreateParams } from "./v2/DeviceKeyCreateParams.js"; +import type { DeviceKeyPublicParams } from "./v2/DeviceKeyPublicParams.js"; +import type { DeviceKeySignParams } from "./v2/DeviceKeySignParams.js"; +import type { ExperimentalFeatureEnablementSetParams } from "./v2/ExperimentalFeatureEnablementSetParams.js"; +import type { ExperimentalFeatureListParams } from "./v2/ExperimentalFeatureListParams.js"; +import type { ExternalAgentConfigDetectParams } from "./v2/ExternalAgentConfigDetectParams.js"; +import type { ExternalAgentConfigImportParams } from "./v2/ExternalAgentConfigImportParams.js"; +import type { FeedbackUploadParams } from "./v2/FeedbackUploadParams.js"; +import type { FsCopyParams } from "./v2/FsCopyParams.js"; +import type { FsCreateDirectoryParams } from "./v2/FsCreateDirectoryParams.js"; +import type { FsGetMetadataParams } from "./v2/FsGetMetadataParams.js"; +import type { FsReadDirectoryParams } from "./v2/FsReadDirectoryParams.js"; +import type { FsReadFileParams } from "./v2/FsReadFileParams.js"; +import type { FsRemoveParams } from "./v2/FsRemoveParams.js"; +import type { FsUnwatchParams } from "./v2/FsUnwatchParams.js"; +import type { FsWatchParams } from "./v2/FsWatchParams.js"; +import type { FsWriteFileParams } from "./v2/FsWriteFileParams.js"; +import type { GetAccountParams } from "./v2/GetAccountParams.js"; +import type { ListMcpServerStatusParams } from "./v2/ListMcpServerStatusParams.js"; +import type { LoginAccountParams } from "./v2/LoginAccountParams.js"; +import type { MarketplaceAddParams } from "./v2/MarketplaceAddParams.js"; +import type { MarketplaceRemoveParams } from "./v2/MarketplaceRemoveParams.js"; +import type { MarketplaceUpgradeParams } from "./v2/MarketplaceUpgradeParams.js"; +import type { McpResourceReadParams } from "./v2/McpResourceReadParams.js"; +import type { McpServerOauthLoginParams } from "./v2/McpServerOauthLoginParams.js"; +import type { McpServerToolCallParams } from "./v2/McpServerToolCallParams.js"; +import type { ModelListParams } from "./v2/ModelListParams.js"; +import type { PluginInstallParams } from "./v2/PluginInstallParams.js"; +import type { PluginListParams } from "./v2/PluginListParams.js"; +import type { PluginReadParams } from "./v2/PluginReadParams.js"; +import type { PluginUninstallParams } from "./v2/PluginUninstallParams.js"; +import type { ReviewStartParams } from "./v2/ReviewStartParams.js"; +import type { SendAddCreditsNudgeEmailParams } from "./v2/SendAddCreditsNudgeEmailParams.js"; +import type { SkillsConfigWriteParams } from "./v2/SkillsConfigWriteParams.js"; +import type { SkillsListParams } from "./v2/SkillsListParams.js"; +import type { ThreadApproveGuardianDeniedActionParams } from "./v2/ThreadApproveGuardianDeniedActionParams.js"; +import type { ThreadArchiveParams } from "./v2/ThreadArchiveParams.js"; +import type { ThreadCompactStartParams } from "./v2/ThreadCompactStartParams.js"; +import type { ThreadForkParams } from "./v2/ThreadForkParams.js"; +import type { ThreadInjectItemsParams } from "./v2/ThreadInjectItemsParams.js"; +import type { ThreadListParams } from "./v2/ThreadListParams.js"; +import type { ThreadLoadedListParams } from "./v2/ThreadLoadedListParams.js"; +import type { ThreadMetadataUpdateParams } from "./v2/ThreadMetadataUpdateParams.js"; +import type { ThreadReadParams } from "./v2/ThreadReadParams.js"; +import type { ThreadResumeParams } from "./v2/ThreadResumeParams.js"; +import type { ThreadRollbackParams } from "./v2/ThreadRollbackParams.js"; +import type { ThreadSetNameParams } from "./v2/ThreadSetNameParams.js"; +import type { ThreadShellCommandParams } from "./v2/ThreadShellCommandParams.js"; +import type { ThreadStartParams } from "./v2/ThreadStartParams.js"; +import type { ThreadTurnsListParams } from "./v2/ThreadTurnsListParams.js"; +import type { ThreadUnarchiveParams } from "./v2/ThreadUnarchiveParams.js"; +import type { ThreadUnsubscribeParams } from "./v2/ThreadUnsubscribeParams.js"; +import type { TurnInterruptParams } from "./v2/TurnInterruptParams.js"; +import type { TurnStartParams } from "./v2/TurnStartParams.js"; +import type { TurnSteerParams } from "./v2/TurnSteerParams.js"; +import type { WindowsSandboxSetupStartParams } from "./v2/WindowsSandboxSetupStartParams.js"; + +/** + * 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/name/set", id: RequestId, params: ThreadSetNameParams, } | { "method": "thread/metadata/update", id: RequestId, params: ThreadMetadataUpdateParams, } | { "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/rollback", id: RequestId, params: ThreadRollbackParams, } | { "method": "thread/list", id: RequestId, params: ThreadListParams, } | { "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/inject_items", id: RequestId, params: ThreadInjectItemsParams, } | { "method": "skills/list", id: RequestId, params: SkillsListParams, } | { "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/read", id: RequestId, params: PluginReadParams, } | { "method": "app/list", id: RequestId, params: AppsListParams, } | { "method": "device/key/create", id: RequestId, params: DeviceKeyCreateParams, } | { "method": "device/key/public", id: RequestId, params: DeviceKeyPublicParams, } | { "method": "device/key/sign", id: RequestId, params: DeviceKeySignParams, } | { "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": "review/start", id: RequestId, params: ReviewStartParams, } | { "method": "model/list", id: RequestId, params: ModelListParams, } | { "method": "experimentalFeature/list", id: RequestId, params: ExperimentalFeatureListParams, } | { "method": "experimentalFeature/enablement/set", id: RequestId, params: ExperimentalFeatureEnablementSetParams, } | { "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": "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": "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, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/CollaborationMode.ts b/extensions/codex/src/app-server/protocol-generated/typescript/CollaborationMode.ts new file mode 100644 index 00000000000..54aa2267c6b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/CollaborationMode.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ModeKind } from "./ModeKind.js"; +import type { Settings } from "./Settings.js"; + +/** + * Collaboration mode for a Codex session. + */ +export type CollaborationMode = { mode: ModeKind, settings: Settings, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ContentItem.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ContentItem.ts new file mode 100644 index 00000000000..ae999b6236c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ContentItem.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 { ImageDetail } from "./ImageDetail.js"; + +export type ContentItem = { "type": "input_text", text: string, } | { "type": "input_image", image_url: string, detail?: ImageDetail, } | { "type": "output_text", text: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ConversationGitInfo.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ConversationGitInfo.ts new file mode 100644 index 00000000000..ff0da8383a7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ConversationGitInfo.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 ConversationGitInfo = { sha: string | null, branch: string | null, origin_url: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ConversationSummary.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ConversationSummary.ts new file mode 100644 index 00000000000..dd16b0d4cf5 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ConversationSummary.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ConversationGitInfo } from "./ConversationGitInfo.js"; +import type { SessionSource } from "./SessionSource.js"; +import type { ThreadId } from "./ThreadId.js"; + +export type ConversationSummary = { conversationId: ThreadId, path: string, preview: string, timestamp: string | null, updatedAt: string | null, modelProvider: string, cwd: string, cliVersion: string, source: SessionSource, gitInfo: ConversationGitInfo | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ExecCommandApprovalParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ExecCommandApprovalParams.ts new file mode 100644 index 00000000000..b77e09de661 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ExecCommandApprovalParams.ts @@ -0,0 +1,16 @@ +// 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 { ParsedCommand } from "./ParsedCommand.js"; +import type { ThreadId } from "./ThreadId.js"; + +export type ExecCommandApprovalParams = { conversationId: ThreadId, +/** + * Use to correlate this with [codex_protocol::protocol::ExecCommandBeginEvent] + * and [codex_protocol::protocol::ExecCommandEndEvent]. + */ +callId: string, +/** + * Identifier for this specific approval callback. + */ +approvalId: string | null, command: Array, cwd: string, reason: string | null, parsedCmd: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ExecCommandApprovalResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ExecCommandApprovalResponse.ts new file mode 100644 index 00000000000..595cde03fcf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ExecCommandApprovalResponse.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 { ReviewDecision } from "./ReviewDecision.js"; + +export type ExecCommandApprovalResponse = { decision: ReviewDecision, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ExecPolicyAmendment.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ExecPolicyAmendment.ts new file mode 100644 index 00000000000..98e2626c381 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ExecPolicyAmendment.ts @@ -0,0 +1,12 @@ +// 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. + +/** + * Proposed execpolicy change to allow commands starting with this prefix. + * + * The `command` tokens form the prefix that would be added as an execpolicy + * `prefix_rule(..., decision="allow")`, letting the agent bypass approval for + * commands that start with this token sequence. + */ +export type ExecPolicyAmendment = Array; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/FileChange.ts b/extensions/codex/src/app-server/protocol-generated/typescript/FileChange.ts new file mode 100644 index 00000000000..8eaac9e8d71 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/FileChange.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 FileChange = { "type": "add", content: string, } | { "type": "delete", content: string, } | { "type": "update", unified_diff: string, move_path: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ForcedLoginMethod.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ForcedLoginMethod.ts new file mode 100644 index 00000000000..c695908866a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ForcedLoginMethod.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 ForcedLoginMethod = "chatgpt" | "api"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/FunctionCallOutputBody.ts b/extensions/codex/src/app-server/protocol-generated/typescript/FunctionCallOutputBody.ts new file mode 100644 index 00000000000..737f4cea9bf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/FunctionCallOutputBody.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 { FunctionCallOutputContentItem } from "./FunctionCallOutputContentItem.js"; + +export type FunctionCallOutputBody = string | Array; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/FunctionCallOutputContentItem.ts b/extensions/codex/src/app-server/protocol-generated/typescript/FunctionCallOutputContentItem.ts new file mode 100644 index 00000000000..a670c896d6f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/FunctionCallOutputContentItem.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ImageDetail } from "./ImageDetail.js"; + +/** + * Responses API compatible content items that can be returned by a tool call. + * This is a subset of ContentItem with the types we support as function call outputs. + */ +export type FunctionCallOutputContentItem = { "type": "input_text", text: string, } | { "type": "input_image", image_url: string, detail?: ImageDetail, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchMatchType.ts b/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchMatchType.ts new file mode 100644 index 00000000000..60e92f925ea --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchMatchType.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 FuzzyFileSearchMatchType = "file" | "directory"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchParams.ts new file mode 100644 index 00000000000..02a7a7cfdf0 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchParams.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 FuzzyFileSearchParams = { query: string, roots: Array, cancellationToken: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchResponse.ts new file mode 100644 index 00000000000..5ddfd8b3845 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchResponse.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 { FuzzyFileSearchResult } from "./FuzzyFileSearchResult.js"; + +export type FuzzyFileSearchResponse = { files: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchResult.ts b/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchResult.ts new file mode 100644 index 00000000000..1e72f063fa3 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchResult.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { FuzzyFileSearchMatchType } from "./FuzzyFileSearchMatchType.js"; + +/** + * Superset of [`codex_file_search::FileMatch`] + */ +export type FuzzyFileSearchResult = { root: string, path: string, match_type: FuzzyFileSearchMatchType, file_name: string, score: number, indices: Array | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchSessionCompletedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchSessionCompletedNotification.ts new file mode 100644 index 00000000000..f4dc7fac11a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchSessionCompletedNotification.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 FuzzyFileSearchSessionCompletedNotification = { sessionId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchSessionUpdatedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchSessionUpdatedNotification.ts new file mode 100644 index 00000000000..f31b429b75d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/FuzzyFileSearchSessionUpdatedNotification.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 { FuzzyFileSearchResult } from "./FuzzyFileSearchResult.js"; + +export type FuzzyFileSearchSessionUpdatedNotification = { sessionId: string, query: string, files: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/GetAuthStatusParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/GetAuthStatusParams.ts new file mode 100644 index 00000000000..f185a437181 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/GetAuthStatusParams.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 GetAuthStatusParams = { includeToken: boolean | null, refreshToken: boolean | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/GetAuthStatusResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/GetAuthStatusResponse.ts new file mode 100644 index 00000000000..b1a216a7a3e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/GetAuthStatusResponse.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 { AuthMode } from "./AuthMode.js"; + +export type GetAuthStatusResponse = { authMethod: AuthMode | null, authToken: string | null, requiresOpenaiAuth: boolean | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/GetConversationSummaryParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/GetConversationSummaryParams.ts new file mode 100644 index 00000000000..70fd40a6b2a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/GetConversationSummaryParams.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 { ThreadId } from "./ThreadId.js"; + +export type GetConversationSummaryParams = { rolloutPath: string, } | { conversationId: ThreadId, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/GetConversationSummaryResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/GetConversationSummaryResponse.ts new file mode 100644 index 00000000000..64fafcacfad --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/GetConversationSummaryResponse.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 { ConversationSummary } from "./ConversationSummary.js"; + +export type GetConversationSummaryResponse = { summary: ConversationSummary, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/GhostCommit.ts b/extensions/codex/src/app-server/protocol-generated/typescript/GhostCommit.ts new file mode 100644 index 00000000000..d7b927492b5 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/GhostCommit.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Details of a ghost commit created from a repository state. + */ +export type GhostCommit = { id: string, parent: string | null, preexisting_untracked_files: Array, preexisting_untracked_dirs: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/GitDiffToRemoteParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/GitDiffToRemoteParams.ts new file mode 100644 index 00000000000..535aad3c294 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/GitDiffToRemoteParams.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 GitDiffToRemoteParams = { cwd: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/GitDiffToRemoteResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/GitDiffToRemoteResponse.ts new file mode 100644 index 00000000000..6a421d3d71e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/GitDiffToRemoteResponse.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 { GitSha } from "./GitSha.js"; + +export type GitDiffToRemoteResponse = { sha: GitSha, diff: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/GitSha.ts b/extensions/codex/src/app-server/protocol-generated/typescript/GitSha.ts new file mode 100644 index 00000000000..701b75aa0bf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/GitSha.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 GitSha = string; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ImageDetail.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ImageDetail.ts new file mode 100644 index 00000000000..a48f07c0882 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ImageDetail.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 ImageDetail = "auto" | "low" | "high" | "original"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/InitializeCapabilities.ts b/extensions/codex/src/app-server/protocol-generated/typescript/InitializeCapabilities.ts new file mode 100644 index 00000000000..5d42cc4852d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/InitializeCapabilities.ts @@ -0,0 +1,17 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Client-declared capabilities negotiated during initialize. + */ +export type InitializeCapabilities = { +/** + * Opt into receiving experimental API methods and fields. + */ +experimentalApi: boolean, +/** + * Exact notification method names that should be suppressed for this + * connection (for example `thread/started`). + */ +optOutNotificationMethods?: Array | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/InitializeParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/InitializeParams.ts new file mode 100644 index 00000000000..70b1de9de11 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/InitializeParams.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 { ClientInfo } from "./ClientInfo.js"; +import type { InitializeCapabilities } from "./InitializeCapabilities.js"; + +export type InitializeParams = { clientInfo: ClientInfo, capabilities: InitializeCapabilities | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/InitializeResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/InitializeResponse.ts new file mode 100644 index 00000000000..5d547946780 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/InitializeResponse.ts @@ -0,0 +1,20 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "./AbsolutePathBuf.js"; + +export type InitializeResponse = { userAgent: string, +/** + * Absolute path to the server's $CODEX_HOME directory. + */ +codexHome: AbsolutePathBuf, +/** + * Platform family for the running app-server target, for example + * `"unix"` or `"windows"`. + */ +platformFamily: string, +/** + * Operating system for the running app-server target, for example + * `"macos"`, `"linux"`, or `"windows"`. + */ +platformOs: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/InputModality.ts b/extensions/codex/src/app-server/protocol-generated/typescript/InputModality.ts new file mode 100644 index 00000000000..73661938b38 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/InputModality.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Canonical user-input modality tags advertised by a model. + */ +export type InputModality = "text" | "image"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/LocalShellAction.ts b/extensions/codex/src/app-server/protocol-generated/typescript/LocalShellAction.ts new file mode 100644 index 00000000000..e07965a0500 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/LocalShellAction.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 { LocalShellExecAction } from "./LocalShellExecAction.js"; + +export type LocalShellAction = { "type": "exec" } & LocalShellExecAction; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/LocalShellExecAction.ts b/extensions/codex/src/app-server/protocol-generated/typescript/LocalShellExecAction.ts new file mode 100644 index 00000000000..10d41336392 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/LocalShellExecAction.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 LocalShellExecAction = { command: Array, timeout_ms: bigint | null, working_directory: string | null, env: { [key in string]?: string } | null, user: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/LocalShellStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/LocalShellStatus.ts new file mode 100644 index 00000000000..00db484ad6d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/LocalShellStatus.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 LocalShellStatus = "completed" | "in_progress" | "incomplete"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/MessagePhase.ts b/extensions/codex/src/app-server/protocol-generated/typescript/MessagePhase.ts new file mode 100644 index 00000000000..9e16021b546 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/MessagePhase.ts @@ -0,0 +1,11 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Classifies an assistant message as interim commentary or final answer text. + * + * Providers do not emit this consistently, so callers must treat `None` as + * "phase unknown" and keep compatibility behavior for legacy models. + */ +export type MessagePhase = "commentary" | "final_answer"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ModeKind.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ModeKind.ts new file mode 100644 index 00000000000..7d2324add70 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ModeKind.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Initial collaboration mode to use when the TUI starts. + */ +export type ModeKind = "plan" | "default"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/NetworkPolicyAmendment.ts b/extensions/codex/src/app-server/protocol-generated/typescript/NetworkPolicyAmendment.ts new file mode 100644 index 00000000000..ffbc2203327 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/NetworkPolicyAmendment.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 { NetworkPolicyRuleAction } from "./NetworkPolicyRuleAction.js"; + +export type NetworkPolicyAmendment = { host: string, action: NetworkPolicyRuleAction, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/NetworkPolicyRuleAction.ts b/extensions/codex/src/app-server/protocol-generated/typescript/NetworkPolicyRuleAction.ts new file mode 100644 index 00000000000..55ec70032a6 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/NetworkPolicyRuleAction.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 NetworkPolicyRuleAction = "allow" | "deny"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ParsedCommand.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ParsedCommand.ts new file mode 100644 index 00000000000..092476e9ac2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ParsedCommand.ts @@ -0,0 +1,12 @@ +// 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 ParsedCommand = { "type": "read", cmd: string, name: string, +/** + * (Best effort) Path to the file being read by the command. When + * possible, this is an absolute path, though when relative, it should + * be resolved against the `cwd`` that will be used to run the command + * to derive the absolute path. + */ +path: string, } | { "type": "list_files", cmd: string, path: string | null, } | { "type": "search", cmd: string, query: string | null, path: string | null, } | { "type": "unknown", cmd: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/Personality.ts b/extensions/codex/src/app-server/protocol-generated/typescript/Personality.ts new file mode 100644 index 00000000000..45165f4e33d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/Personality.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 Personality = "none" | "friendly" | "pragmatic"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/PlanType.ts b/extensions/codex/src/app-server/protocol-generated/typescript/PlanType.ts new file mode 100644 index 00000000000..44891467e92 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/PlanType.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 PlanType = "free" | "go" | "plus" | "pro" | "prolite" | "team" | "self_serve_business_usage_based" | "business" | "enterprise_cbp_usage_based" | "enterprise" | "edu" | "unknown"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/RealtimeConversationVersion.ts b/extensions/codex/src/app-server/protocol-generated/typescript/RealtimeConversationVersion.ts new file mode 100644 index 00000000000..cedc4bbe525 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/RealtimeConversationVersion.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 RealtimeConversationVersion = "v1" | "v2"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/RealtimeOutputModality.ts b/extensions/codex/src/app-server/protocol-generated/typescript/RealtimeOutputModality.ts new file mode 100644 index 00000000000..78e00e7143d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/RealtimeOutputModality.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 RealtimeOutputModality = "text" | "audio"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/RealtimeVoice.ts b/extensions/codex/src/app-server/protocol-generated/typescript/RealtimeVoice.ts new file mode 100644 index 00000000000..c3a434e9449 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/RealtimeVoice.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 RealtimeVoice = "alloy" | "arbor" | "ash" | "ballad" | "breeze" | "cedar" | "coral" | "cove" | "echo" | "ember" | "juniper" | "maple" | "marin" | "sage" | "shimmer" | "sol" | "spruce" | "vale" | "verse"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/RealtimeVoicesList.ts b/extensions/codex/src/app-server/protocol-generated/typescript/RealtimeVoicesList.ts new file mode 100644 index 00000000000..c7c5de8ca31 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/RealtimeVoicesList.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 { RealtimeVoice } from "./RealtimeVoice.js"; + +export type RealtimeVoicesList = { v1: Array, v2: Array, defaultV1: RealtimeVoice, defaultV2: RealtimeVoice, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ReasoningEffort.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ReasoningEffort.ts new file mode 100644 index 00000000000..c0798f43a32 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ReasoningEffort.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#get-started-with-reasoning + */ +export type ReasoningEffort = "none" | "minimal" | "low" | "medium" | "high" | "xhigh"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ReasoningItemContent.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ReasoningItemContent.ts new file mode 100644 index 00000000000..fd533796fe2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ReasoningItemContent.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 ReasoningItemContent = { "type": "reasoning_text", text: string, } | { "type": "text", text: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ReasoningItemReasoningSummary.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ReasoningItemReasoningSummary.ts new file mode 100644 index 00000000000..f01a88a0c03 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ReasoningItemReasoningSummary.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 ReasoningItemReasoningSummary = { "type": "summary_text", text: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ReasoningSummary.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ReasoningSummary.ts new file mode 100644 index 00000000000..d246ac12ec7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ReasoningSummary.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * A summary of the reasoning performed by the model. This can be useful for + * debugging and understanding the model's reasoning process. + * See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#reasoning-summaries + */ +export type ReasoningSummary = "auto" | "concise" | "detailed" | "none"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/RequestId.ts b/extensions/codex/src/app-server/protocol-generated/typescript/RequestId.ts new file mode 100644 index 00000000000..8a771bd0213 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/RequestId.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 RequestId = string | number; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/Resource.ts b/extensions/codex/src/app-server/protocol-generated/typescript/Resource.ts new file mode 100644 index 00000000000..2daf5b92c76 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/Resource.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "./serde_json/JsonValue.js"; + +/** + * A known resource that the server is capable of reading. + */ +export type Resource = { annotations?: JsonValue, description?: string, mimeType?: string, name: string, size?: number, title?: string, uri: string, icons?: Array, _meta?: JsonValue, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ResourceContent.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ResourceContent.ts new file mode 100644 index 00000000000..d465d730b7b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ResourceContent.ts @@ -0,0 +1,17 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "./serde_json/JsonValue.js"; + +/** + * Contents returned when reading a resource from an MCP server. + */ +export type ResourceContent = { +/** + * The URI of this resource. + */ +uri: string, mimeType?: string, text: string, _meta?: JsonValue, } | { +/** + * The URI of this resource. + */ +uri: string, mimeType?: string, blob: string, _meta?: JsonValue, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ResourceTemplate.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ResourceTemplate.ts new file mode 100644 index 00000000000..335de1aae3a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ResourceTemplate.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "./serde_json/JsonValue.js"; + +/** + * A template description for resources available on the server. + */ +export type ResourceTemplate = { annotations?: JsonValue, uriTemplate: string, name: string, title?: string, description?: string, mimeType?: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ResponseItem.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ResponseItem.ts new file mode 100644 index 00000000000..16dd4fcf9a4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ResponseItem.ts @@ -0,0 +1,18 @@ +// 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 { ContentItem } from "./ContentItem.js"; +import type { FunctionCallOutputBody } from "./FunctionCallOutputBody.js"; +import type { GhostCommit } from "./GhostCommit.js"; +import type { LocalShellAction } from "./LocalShellAction.js"; +import type { LocalShellStatus } from "./LocalShellStatus.js"; +import type { MessagePhase } from "./MessagePhase.js"; +import type { ReasoningItemContent } from "./ReasoningItemContent.js"; +import type { ReasoningItemReasoningSummary } from "./ReasoningItemReasoningSummary.js"; +import type { WebSearchAction } from "./WebSearchAction.js"; + +export type ResponseItem = { "type": "message", role: string, content: Array, end_turn?: boolean, phase?: MessagePhase, } | { "type": "reasoning", summary: Array, content?: Array, encrypted_content: string | null, } | { "type": "local_shell_call", +/** + * Set when using the Responses API. + */ +call_id: string | null, status: LocalShellStatus, action: LocalShellAction, } | { "type": "function_call", name: string, namespace?: string, arguments: string, call_id: string, } | { "type": "tool_search_call", call_id: string | null, status?: string, execution: string, arguments: unknown, } | { "type": "function_call_output", call_id: string, output: FunctionCallOutputBody, } | { "type": "custom_tool_call", status?: string, call_id: string, name: string, input: string, } | { "type": "custom_tool_call_output", call_id: string, name?: string, output: FunctionCallOutputBody, } | { "type": "tool_search_output", call_id: string | null, status: string, execution: string, tools: unknown[], } | { "type": "web_search_call", status?: string, action?: WebSearchAction, } | { "type": "image_generation_call", id: string, status: string, revised_prompt?: string, result: string, } | { "type": "ghost_snapshot", ghost_commit: GhostCommit, } | { "type": "compaction", encrypted_content: string, } | { "type": "other" }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ReviewDecision.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ReviewDecision.ts new file mode 100644 index 00000000000..0bdd652b029 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ReviewDecision.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ExecPolicyAmendment } from "./ExecPolicyAmendment.js"; +import type { NetworkPolicyAmendment } from "./NetworkPolicyAmendment.js"; + +/** + * User's decision in response to an ExecApprovalRequest. + */ +export type ReviewDecision = "approved" | { "approved_execpolicy_amendment": { proposed_execpolicy_amendment: ExecPolicyAmendment, } } | "approved_for_session" | { "network_policy_amendment": { network_policy_amendment: NetworkPolicyAmendment, } } | "denied" | "timed_out" | "abort"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ServerNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ServerNotification.ts new file mode 100644 index 00000000000..b767b612490 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ServerNotification.ts @@ -0,0 +1,67 @@ +// 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 { FuzzyFileSearchSessionCompletedNotification } from "./FuzzyFileSearchSessionCompletedNotification.js"; +import type { FuzzyFileSearchSessionUpdatedNotification } from "./FuzzyFileSearchSessionUpdatedNotification.js"; +import type { AccountLoginCompletedNotification } from "./v2/AccountLoginCompletedNotification.js"; +import type { AccountRateLimitsUpdatedNotification } from "./v2/AccountRateLimitsUpdatedNotification.js"; +import type { AccountUpdatedNotification } from "./v2/AccountUpdatedNotification.js"; +import type { AgentMessageDeltaNotification } from "./v2/AgentMessageDeltaNotification.js"; +import type { AppListUpdatedNotification } from "./v2/AppListUpdatedNotification.js"; +import type { CommandExecOutputDeltaNotification } from "./v2/CommandExecOutputDeltaNotification.js"; +import type { CommandExecutionOutputDeltaNotification } from "./v2/CommandExecutionOutputDeltaNotification.js"; +import type { ConfigWarningNotification } from "./v2/ConfigWarningNotification.js"; +import type { ContextCompactedNotification } from "./v2/ContextCompactedNotification.js"; +import type { DeprecationNoticeNotification } from "./v2/DeprecationNoticeNotification.js"; +import type { ErrorNotification } from "./v2/ErrorNotification.js"; +import type { ExternalAgentConfigImportCompletedNotification } from "./v2/ExternalAgentConfigImportCompletedNotification.js"; +import type { FileChangeOutputDeltaNotification } from "./v2/FileChangeOutputDeltaNotification.js"; +import type { FileChangePatchUpdatedNotification } from "./v2/FileChangePatchUpdatedNotification.js"; +import type { FsChangedNotification } from "./v2/FsChangedNotification.js"; +import type { GuardianWarningNotification } from "./v2/GuardianWarningNotification.js"; +import type { HookCompletedNotification } from "./v2/HookCompletedNotification.js"; +import type { HookStartedNotification } from "./v2/HookStartedNotification.js"; +import type { ItemCompletedNotification } from "./v2/ItemCompletedNotification.js"; +import type { ItemGuardianApprovalReviewCompletedNotification } from "./v2/ItemGuardianApprovalReviewCompletedNotification.js"; +import type { ItemGuardianApprovalReviewStartedNotification } from "./v2/ItemGuardianApprovalReviewStartedNotification.js"; +import type { ItemStartedNotification } from "./v2/ItemStartedNotification.js"; +import type { McpServerOauthLoginCompletedNotification } from "./v2/McpServerOauthLoginCompletedNotification.js"; +import type { McpServerStatusUpdatedNotification } from "./v2/McpServerStatusUpdatedNotification.js"; +import type { McpToolCallProgressNotification } from "./v2/McpToolCallProgressNotification.js"; +import type { ModelReroutedNotification } from "./v2/ModelReroutedNotification.js"; +import type { ModelVerificationNotification } from "./v2/ModelVerificationNotification.js"; +import type { PlanDeltaNotification } from "./v2/PlanDeltaNotification.js"; +import type { RawResponseItemCompletedNotification } from "./v2/RawResponseItemCompletedNotification.js"; +import type { ReasoningSummaryPartAddedNotification } from "./v2/ReasoningSummaryPartAddedNotification.js"; +import type { ReasoningSummaryTextDeltaNotification } from "./v2/ReasoningSummaryTextDeltaNotification.js"; +import type { ReasoningTextDeltaNotification } from "./v2/ReasoningTextDeltaNotification.js"; +import type { ServerRequestResolvedNotification } from "./v2/ServerRequestResolvedNotification.js"; +import type { SkillsChangedNotification } from "./v2/SkillsChangedNotification.js"; +import type { TerminalInteractionNotification } from "./v2/TerminalInteractionNotification.js"; +import type { ThreadArchivedNotification } from "./v2/ThreadArchivedNotification.js"; +import type { ThreadClosedNotification } from "./v2/ThreadClosedNotification.js"; +import type { ThreadNameUpdatedNotification } from "./v2/ThreadNameUpdatedNotification.js"; +import type { ThreadRealtimeClosedNotification } from "./v2/ThreadRealtimeClosedNotification.js"; +import type { ThreadRealtimeErrorNotification } from "./v2/ThreadRealtimeErrorNotification.js"; +import type { ThreadRealtimeItemAddedNotification } from "./v2/ThreadRealtimeItemAddedNotification.js"; +import type { ThreadRealtimeOutputAudioDeltaNotification } from "./v2/ThreadRealtimeOutputAudioDeltaNotification.js"; +import type { ThreadRealtimeSdpNotification } from "./v2/ThreadRealtimeSdpNotification.js"; +import type { ThreadRealtimeStartedNotification } from "./v2/ThreadRealtimeStartedNotification.js"; +import type { ThreadRealtimeTranscriptDeltaNotification } from "./v2/ThreadRealtimeTranscriptDeltaNotification.js"; +import type { ThreadRealtimeTranscriptDoneNotification } from "./v2/ThreadRealtimeTranscriptDoneNotification.js"; +import type { ThreadStartedNotification } from "./v2/ThreadStartedNotification.js"; +import type { ThreadStatusChangedNotification } from "./v2/ThreadStatusChangedNotification.js"; +import type { ThreadTokenUsageUpdatedNotification } from "./v2/ThreadTokenUsageUpdatedNotification.js"; +import type { ThreadUnarchivedNotification } from "./v2/ThreadUnarchivedNotification.js"; +import type { TurnCompletedNotification } from "./v2/TurnCompletedNotification.js"; +import type { TurnDiffUpdatedNotification } from "./v2/TurnDiffUpdatedNotification.js"; +import type { TurnPlanUpdatedNotification } from "./v2/TurnPlanUpdatedNotification.js"; +import type { TurnStartedNotification } from "./v2/TurnStartedNotification.js"; +import type { WarningNotification } from "./v2/WarningNotification.js"; +import type { WindowsSandboxSetupCompletedNotification } from "./v2/WindowsSandboxSetupCompletedNotification.js"; +import type { WindowsWorldWritableWarningNotification } from "./v2/WindowsWorldWritableWarningNotification.js"; + +/** + * 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/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": "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": "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 }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ServerRequest.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ServerRequest.ts new file mode 100644 index 00000000000..09c3aa57ce1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ServerRequest.ts @@ -0,0 +1,18 @@ +// 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 { ApplyPatchApprovalParams } from "./ApplyPatchApprovalParams.js"; +import type { ExecCommandApprovalParams } from "./ExecCommandApprovalParams.js"; +import type { RequestId } from "./RequestId.js"; +import type { ChatgptAuthTokensRefreshParams } from "./v2/ChatgptAuthTokensRefreshParams.js"; +import type { CommandExecutionRequestApprovalParams } from "./v2/CommandExecutionRequestApprovalParams.js"; +import type { DynamicToolCallParams } from "./v2/DynamicToolCallParams.js"; +import type { FileChangeRequestApprovalParams } from "./v2/FileChangeRequestApprovalParams.js"; +import type { McpServerElicitationRequestParams } from "./v2/McpServerElicitationRequestParams.js"; +import type { PermissionsRequestApprovalParams } from "./v2/PermissionsRequestApprovalParams.js"; +import type { ToolRequestUserInputParams } from "./v2/ToolRequestUserInputParams.js"; + +/** + * Request initiated from the server and sent to the client. + */ +export type ServerRequest = { "method": "item/commandExecution/requestApproval", id: RequestId, params: CommandExecutionRequestApprovalParams, } | { "method": "item/fileChange/requestApproval", id: RequestId, params: FileChangeRequestApprovalParams, } | { "method": "item/tool/requestUserInput", id: RequestId, params: ToolRequestUserInputParams, } | { "method": "mcpServer/elicitation/request", id: RequestId, params: McpServerElicitationRequestParams, } | { "method": "item/permissions/requestApproval", id: RequestId, params: PermissionsRequestApprovalParams, } | { "method": "item/tool/call", id: RequestId, params: DynamicToolCallParams, } | { "method": "account/chatgptAuthTokens/refresh", id: RequestId, params: ChatgptAuthTokensRefreshParams, } | { "method": "applyPatchApproval", id: RequestId, params: ApplyPatchApprovalParams, } | { "method": "execCommandApproval", id: RequestId, params: ExecCommandApprovalParams, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ServiceTier.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ServiceTier.ts new file mode 100644 index 00000000000..ce11286dbd1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ServiceTier.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 ServiceTier = "fast" | "flex"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/SessionSource.ts b/extensions/codex/src/app-server/protocol-generated/typescript/SessionSource.ts new file mode 100644 index 00000000000..1a3b0c75059 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/SessionSource.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 { SubAgentSource } from "./SubAgentSource.js"; + +export type SessionSource = "cli" | "vscode" | "exec" | "mcp" | { "custom": string } | { "subagent": SubAgentSource } | "unknown"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/Settings.ts b/extensions/codex/src/app-server/protocol-generated/typescript/Settings.ts new file mode 100644 index 00000000000..bd4deaea4ac --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/Settings.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ReasoningEffort } from "./ReasoningEffort.js"; + +/** + * Settings for a collaboration mode. + */ +export type Settings = { model: string, reasoning_effort: ReasoningEffort | null, developer_instructions: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/SubAgentSource.ts b/extensions/codex/src/app-server/protocol-generated/typescript/SubAgentSource.ts new file mode 100644 index 00000000000..b3b08a56da9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/SubAgentSource.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 { AgentPath } from "./AgentPath.js"; +import type { ThreadId } from "./ThreadId.js"; + +export type SubAgentSource = "review" | "compact" | { "thread_spawn": { parent_thread_id: ThreadId, depth: number, agent_path: AgentPath | null, agent_nickname: string | null, agent_role: string | null, } } | "memory_consolidation" | { "other": string }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ThreadId.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ThreadId.ts new file mode 100644 index 00000000000..bfb3b4b4d76 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ThreadId.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 ThreadId = string; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/ThreadMemoryMode.ts b/extensions/codex/src/app-server/protocol-generated/typescript/ThreadMemoryMode.ts new file mode 100644 index 00000000000..74a7e759e73 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/ThreadMemoryMode.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 ThreadMemoryMode = "enabled" | "disabled"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/Tool.ts b/extensions/codex/src/app-server/protocol-generated/typescript/Tool.ts new file mode 100644 index 00000000000..65f0e4f44a3 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/Tool.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "./serde_json/JsonValue.js"; + +/** + * Definition for a tool the client can call. + */ +export type Tool = { name: string, title?: string, description?: string, inputSchema: JsonValue, outputSchema?: JsonValue, annotations?: JsonValue, icons?: Array, _meta?: JsonValue, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/Verbosity.ts b/extensions/codex/src/app-server/protocol-generated/typescript/Verbosity.ts new file mode 100644 index 00000000000..8fd97b0b89d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/Verbosity.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Controls output length/detail on GPT-5 models via the Responses API. + * Serialized with lowercase values to match the OpenAI API. + */ +export type Verbosity = "low" | "medium" | "high"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchAction.ts b/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchAction.ts new file mode 100644 index 00000000000..91cb99e9ed4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchAction.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 WebSearchAction = { "type": "search", query?: string, queries?: Array, } | { "type": "open_page", url?: string, } | { "type": "find_in_page", url?: string, pattern?: string, } | { "type": "other" }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchContextSize.ts b/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchContextSize.ts new file mode 100644 index 00000000000..d6feedde849 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchContextSize.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 WebSearchContextSize = "low" | "medium" | "high"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchLocation.ts b/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchLocation.ts new file mode 100644 index 00000000000..12319983d7d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchLocation.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 WebSearchLocation = { country: string | null, region: string | null, city: string | null, timezone: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchMode.ts b/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchMode.ts new file mode 100644 index 00000000000..695c13e3f6f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchMode.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 WebSearchMode = "disabled" | "cached" | "live"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchToolConfig.ts b/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchToolConfig.ts new file mode 100644 index 00000000000..d04ca48204d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/WebSearchToolConfig.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 { WebSearchContextSize } from "./WebSearchContextSize.js"; +import type { WebSearchLocation } from "./WebSearchLocation.js"; + +export type WebSearchToolConfig = { context_size: WebSearchContextSize | null, allowed_domains: Array | null, location: WebSearchLocation | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/index.ts b/extensions/codex/src/app-server/protocol-generated/typescript/index.ts new file mode 100644 index 00000000000..c66e5e8045c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/index.ts @@ -0,0 +1,80 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +export type { AbsolutePathBuf } from "./AbsolutePathBuf.js"; +export type { AgentPath } from "./AgentPath.js"; +export type { ApplyPatchApprovalParams } from "./ApplyPatchApprovalParams.js"; +export type { ApplyPatchApprovalResponse } from "./ApplyPatchApprovalResponse.js"; +export type { AuthMode } from "./AuthMode.js"; +export type { ClientInfo } from "./ClientInfo.js"; +export type { ClientNotification } from "./ClientNotification.js"; +export type { ClientRequest } from "./ClientRequest.js"; +export type { CollaborationMode } from "./CollaborationMode.js"; +export type { ContentItem } from "./ContentItem.js"; +export type { ConversationGitInfo } from "./ConversationGitInfo.js"; +export type { ConversationSummary } from "./ConversationSummary.js"; +export type { ExecCommandApprovalParams } from "./ExecCommandApprovalParams.js"; +export type { ExecCommandApprovalResponse } from "./ExecCommandApprovalResponse.js"; +export type { ExecPolicyAmendment } from "./ExecPolicyAmendment.js"; +export type { FileChange } from "./FileChange.js"; +export type { ForcedLoginMethod } from "./ForcedLoginMethod.js"; +export type { FunctionCallOutputBody } from "./FunctionCallOutputBody.js"; +export type { FunctionCallOutputContentItem } from "./FunctionCallOutputContentItem.js"; +export type { FuzzyFileSearchMatchType } from "./FuzzyFileSearchMatchType.js"; +export type { FuzzyFileSearchParams } from "./FuzzyFileSearchParams.js"; +export type { FuzzyFileSearchResponse } from "./FuzzyFileSearchResponse.js"; +export type { FuzzyFileSearchResult } from "./FuzzyFileSearchResult.js"; +export type { FuzzyFileSearchSessionCompletedNotification } from "./FuzzyFileSearchSessionCompletedNotification.js"; +export type { FuzzyFileSearchSessionUpdatedNotification } from "./FuzzyFileSearchSessionUpdatedNotification.js"; +export type { GetAuthStatusParams } from "./GetAuthStatusParams.js"; +export type { GetAuthStatusResponse } from "./GetAuthStatusResponse.js"; +export type { GetConversationSummaryParams } from "./GetConversationSummaryParams.js"; +export type { GetConversationSummaryResponse } from "./GetConversationSummaryResponse.js"; +export type { GhostCommit } from "./GhostCommit.js"; +export type { GitDiffToRemoteParams } from "./GitDiffToRemoteParams.js"; +export type { GitDiffToRemoteResponse } from "./GitDiffToRemoteResponse.js"; +export type { GitSha } from "./GitSha.js"; +export type { ImageDetail } from "./ImageDetail.js"; +export type { InitializeCapabilities } from "./InitializeCapabilities.js"; +export type { InitializeParams } from "./InitializeParams.js"; +export type { InitializeResponse } from "./InitializeResponse.js"; +export type { InputModality } from "./InputModality.js"; +export type { LocalShellAction } from "./LocalShellAction.js"; +export type { LocalShellExecAction } from "./LocalShellExecAction.js"; +export type { LocalShellStatus } from "./LocalShellStatus.js"; +export type { MessagePhase } from "./MessagePhase.js"; +export type { ModeKind } from "./ModeKind.js"; +export type { NetworkPolicyAmendment } from "./NetworkPolicyAmendment.js"; +export type { NetworkPolicyRuleAction } from "./NetworkPolicyRuleAction.js"; +export type { ParsedCommand } from "./ParsedCommand.js"; +export type { Personality } from "./Personality.js"; +export type { PlanType } from "./PlanType.js"; +export type { RealtimeConversationVersion } from "./RealtimeConversationVersion.js"; +export type { RealtimeOutputModality } from "./RealtimeOutputModality.js"; +export type { RealtimeVoice } from "./RealtimeVoice.js"; +export type { RealtimeVoicesList } from "./RealtimeVoicesList.js"; +export type { ReasoningEffort } from "./ReasoningEffort.js"; +export type { ReasoningItemContent } from "./ReasoningItemContent.js"; +export type { ReasoningItemReasoningSummary } from "./ReasoningItemReasoningSummary.js"; +export type { ReasoningSummary } from "./ReasoningSummary.js"; +export type { RequestId } from "./RequestId.js"; +export type { Resource } from "./Resource.js"; +export type { ResourceContent } from "./ResourceContent.js"; +export type { ResourceTemplate } from "./ResourceTemplate.js"; +export type { ResponseItem } from "./ResponseItem.js"; +export type { ReviewDecision } from "./ReviewDecision.js"; +export type { ServerNotification } from "./ServerNotification.js"; +export type { ServerRequest } from "./ServerRequest.js"; +export type { ServiceTier } from "./ServiceTier.js"; +export type { SessionSource } from "./SessionSource.js"; +export type { Settings } from "./Settings.js"; +export type { SubAgentSource } from "./SubAgentSource.js"; +export type { ThreadId } from "./ThreadId.js"; +export type { ThreadMemoryMode } from "./ThreadMemoryMode.js"; +export type { Tool } from "./Tool.js"; +export type { Verbosity } from "./Verbosity.js"; +export type { WebSearchAction } from "./WebSearchAction.js"; +export type { WebSearchContextSize } from "./WebSearchContextSize.js"; +export type { WebSearchLocation } from "./WebSearchLocation.js"; +export type { WebSearchMode } from "./WebSearchMode.js"; +export type { WebSearchToolConfig } from "./WebSearchToolConfig.js"; +export * as v2 from "./v2/index.js"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/serde_json/JsonValue.ts b/extensions/codex/src/app-server/protocol-generated/typescript/serde_json/JsonValue.ts new file mode 100644 index 00000000000..75cf7389adc --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/serde_json/JsonValue.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 JsonValue = number | string | boolean | Array | { [key in string]?: JsonValue } | null; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/Account.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/Account.ts new file mode 100644 index 00000000000..baaa3750a9e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/Account.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 { PlanType } from "../PlanType.js"; + +export type Account = { "type": "apiKey", } | { "type": "chatgpt", email: string, planType: PlanType, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AccountLoginCompletedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AccountLoginCompletedNotification.ts new file mode 100644 index 00000000000..587237b2752 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AccountLoginCompletedNotification.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 AccountLoginCompletedNotification = { loginId: string | null, success: boolean, error: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AccountRateLimitsUpdatedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AccountRateLimitsUpdatedNotification.ts new file mode 100644 index 00000000000..3396dd4b3df --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AccountRateLimitsUpdatedNotification.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 { RateLimitSnapshot } from "./RateLimitSnapshot.js"; + +export type AccountRateLimitsUpdatedNotification = { rateLimits: RateLimitSnapshot, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AccountUpdatedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AccountUpdatedNotification.ts new file mode 100644 index 00000000000..a909b8adc51 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AccountUpdatedNotification.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 { AuthMode } from "../AuthMode.js"; +import type { PlanType } from "../PlanType.js"; + +export type AccountUpdatedNotification = { authMode: AuthMode | null, planType: PlanType | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AddCreditsNudgeCreditType.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AddCreditsNudgeCreditType.ts new file mode 100644 index 00000000000..70498d6a67a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AddCreditsNudgeCreditType.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 AddCreditsNudgeCreditType = "credits" | "usage_limit"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AddCreditsNudgeEmailStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AddCreditsNudgeEmailStatus.ts new file mode 100644 index 00000000000..2b62da68eaf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AddCreditsNudgeEmailStatus.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 AddCreditsNudgeEmailStatus = "sent" | "cooldown_active"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AdditionalFileSystemPermissions.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AdditionalFileSystemPermissions.ts new file mode 100644 index 00000000000..074bda5938c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AdditionalFileSystemPermissions.ts @@ -0,0 +1,15 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { FileSystemSandboxEntry } from "./FileSystemSandboxEntry.js"; + +export type AdditionalFileSystemPermissions = { +/** + * This will be removed in favor of `entries`. + */ +read: Array | null, +/** + * This will be removed in favor of `entries`. + */ +write: Array | null, globScanMaxDepth?: number, entries?: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AdditionalNetworkPermissions.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AdditionalNetworkPermissions.ts new file mode 100644 index 00000000000..823de26ca36 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AdditionalNetworkPermissions.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 AdditionalNetworkPermissions = { enabled: boolean | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AdditionalPermissionProfile.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AdditionalPermissionProfile.ts new file mode 100644 index 00000000000..f74544f1aa2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AdditionalPermissionProfile.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 { AdditionalFileSystemPermissions } from "./AdditionalFileSystemPermissions.js"; +import type { AdditionalNetworkPermissions } from "./AdditionalNetworkPermissions.js"; + +export type AdditionalPermissionProfile = { network: AdditionalNetworkPermissions | null, fileSystem: AdditionalFileSystemPermissions | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AgentMessageDeltaNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AgentMessageDeltaNotification.ts new file mode 100644 index 00000000000..b47985e5b7c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AgentMessageDeltaNotification.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 AgentMessageDeltaNotification = { threadId: string, turnId: string, itemId: string, delta: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AnalyticsConfig.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AnalyticsConfig.ts new file mode 100644 index 00000000000..0762265257c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AnalyticsConfig.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; + +export type AnalyticsConfig = { enabled: boolean | null, } & ({ [key in string]?: number | string | boolean | Array | { [key in string]?: JsonValue } | null }); diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppBranding.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppBranding.ts new file mode 100644 index 00000000000..873398db670 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppBranding.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL - app metadata returned by app-list APIs. + */ +export type AppBranding = { category: string | null, developer: string | null, website: string | null, privacyPolicy: string | null, termsOfService: string | null, isDiscoverableApp: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppInfo.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppInfo.ts new file mode 100644 index 00000000000..52146fa91fb --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppInfo.ts @@ -0,0 +1,19 @@ +// 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 { AppBranding } from "./AppBranding.js"; +import type { AppMetadata } from "./AppMetadata.js"; + +/** + * EXPERIMENTAL - app metadata returned by app-list APIs. + */ +export type AppInfo = { id: string, name: string, description: string | null, logoUrl: string | null, logoUrlDark: string | null, distributionChannel: string | null, branding: AppBranding | null, appMetadata: AppMetadata | null, labels: { [key in string]?: string } | null, installUrl: string | null, isAccessible: boolean, +/** + * Whether this app is enabled in config.toml. + * Example: + * ```toml + * [apps.bad_app] + * enabled = false + * ``` + */ +isEnabled: boolean, pluginDisplayNames: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppListUpdatedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppListUpdatedNotification.ts new file mode 100644 index 00000000000..b02b5609190 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppListUpdatedNotification.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AppInfo } from "./AppInfo.js"; + +/** + * EXPERIMENTAL - notification emitted when the app list changes. + */ +export type AppListUpdatedNotification = { data: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppMetadata.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppMetadata.ts new file mode 100644 index 00000000000..a04b701e051 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppMetadata.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 { AppReview } from "./AppReview.js"; +import type { AppScreenshot } from "./AppScreenshot.js"; + +export type AppMetadata = { review: AppReview | null, categories: Array | null, subCategories: Array | null, seoDescription: string | null, screenshots: Array | null, developer: string | null, version: string | null, versionId: string | null, versionNotes: string | null, firstPartyType: string | null, firstPartyRequiresInstall: boolean | null, showInComposerWhenUnlinked: boolean | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppReview.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppReview.ts new file mode 100644 index 00000000000..10fd95f09de --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppReview.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 AppReview = { status: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppScreenshot.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppScreenshot.ts new file mode 100644 index 00000000000..0d264246f3f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppScreenshot.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 AppScreenshot = { url: string | null, fileId: string | null, userPrompt: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppSummary.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppSummary.ts new file mode 100644 index 00000000000..586c76f8f78 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppSummary.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL - app metadata summary for plugin responses. + */ +export type AppSummary = { id: string, name: string, description: string | null, installUrl: string | null, needsAuth: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppToolApproval.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppToolApproval.ts new file mode 100644 index 00000000000..e92cd8e28b2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppToolApproval.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 AppToolApproval = "auto" | "prompt" | "approve"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppToolsConfig.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppToolsConfig.ts new file mode 100644 index 00000000000..9e9110e2290 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppToolsConfig.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 { AppToolApproval } from "./AppToolApproval.js"; + +export type AppToolsConfig = { [key in string]?: { enabled: boolean | null, approval_mode: AppToolApproval | null, } }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ApprovalsReviewer.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ApprovalsReviewer.ts new file mode 100644 index 00000000000..1d932946cc5 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ApprovalsReviewer.ts @@ -0,0 +1,12 @@ +// 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. + +/** + * Configures who approval requests are routed to for review. Examples + * include sandbox escapes, blocked network access, MCP approval prompts, and + * ARC escalations. Defaults to `user`. `auto_review` uses a carefully + * prompted subagent to gather relevant context and apply a risk-based + * decision framework before approving or denying the request. + */ +export type ApprovalsReviewer = "user" | "auto_review" | "guardian_subagent"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsConfig.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsConfig.ts new file mode 100644 index 00000000000..07bf0aab901 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsConfig.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AppToolApproval } from "./AppToolApproval.js"; +import type { AppToolsConfig } from "./AppToolsConfig.js"; +import type { AppsDefaultConfig } from "./AppsDefaultConfig.js"; + +export type AppsConfig = { _default: AppsDefaultConfig | null, } & ({ [key in string]?: { enabled: boolean, destructive_enabled: boolean | null, open_world_enabled: boolean | null, default_tools_approval_mode: AppToolApproval | null, default_tools_enabled: boolean | null, tools: AppToolsConfig | null, } }); diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsDefaultConfig.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsDefaultConfig.ts new file mode 100644 index 00000000000..e73386027e0 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsDefaultConfig.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 AppsDefaultConfig = { enabled: boolean, destructive_enabled: boolean, open_world_enabled: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsListParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsListParams.ts new file mode 100644 index 00000000000..b96829567b2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsListParams.ts @@ -0,0 +1,24 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL - list available apps/connectors. + */ +export type AppsListParams = { +/** + * Opaque pagination cursor returned by a previous call. + */ +cursor?: string | null, +/** + * Optional page size; defaults to a reasonable server-side value. + */ +limit?: number | null, +/** + * Optional thread id used to evaluate app feature gating from that thread's config. + */ +threadId?: string | null, +/** + * When true, bypass app caches and fetch the latest data from sources. + */ +forceRefetch?: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsListResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsListResponse.ts new file mode 100644 index 00000000000..0e03c94615b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AppsListResponse.ts @@ -0,0 +1,14 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AppInfo } from "./AppInfo.js"; + +/** + * EXPERIMENTAL - app list response. + */ +export type AppsListResponse = { data: Array, +/** + * Opaque cursor to pass to the next call to continue after the last item. + * If None, there are no more items to return. + */ +nextCursor: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AskForApproval.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AskForApproval.ts new file mode 100644 index 00000000000..8d41214e013 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AskForApproval.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 AskForApproval = "untrusted" | "on-failure" | "on-request" | { "granular": { sandbox_approval: boolean, rules: boolean, skill_approval: boolean, request_permissions: boolean, mcp_elicitations: boolean, } } | "never"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/AutoReviewDecisionSource.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AutoReviewDecisionSource.ts new file mode 100644 index 00000000000..8806981237f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/AutoReviewDecisionSource.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * [UNSTABLE] Source that produced a terminal approval auto-review decision. + */ +export type AutoReviewDecisionSource = "agent"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ByteRange.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ByteRange.ts new file mode 100644 index 00000000000..6cb81b87c0b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ByteRange.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 ByteRange = { start: number, end: number, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CancelLoginAccountParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CancelLoginAccountParams.ts new file mode 100644 index 00000000000..8e2e90dfb63 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CancelLoginAccountParams.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 CancelLoginAccountParams = { loginId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CancelLoginAccountResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CancelLoginAccountResponse.ts new file mode 100644 index 00000000000..76602c47273 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CancelLoginAccountResponse.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 { CancelLoginAccountStatus } from "./CancelLoginAccountStatus.js"; + +export type CancelLoginAccountResponse = { status: CancelLoginAccountStatus, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CancelLoginAccountStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CancelLoginAccountStatus.ts new file mode 100644 index 00000000000..bd851c6a39c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CancelLoginAccountStatus.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 CancelLoginAccountStatus = "canceled" | "notFound"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ChatgptAuthTokensRefreshParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ChatgptAuthTokensRefreshParams.ts new file mode 100644 index 00000000000..9dcd33a3387 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ChatgptAuthTokensRefreshParams.ts @@ -0,0 +1,16 @@ +// 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 { ChatgptAuthTokensRefreshReason } from "./ChatgptAuthTokensRefreshReason.js"; + +export type ChatgptAuthTokensRefreshParams = { reason: ChatgptAuthTokensRefreshReason, +/** + * Workspace/account identifier that Codex was previously using. + * + * Clients that manage multiple accounts/workspaces can use this as a hint + * to refresh the token for the correct workspace. + * + * This may be `null` when the prior auth state did not include a workspace + * identifier (`chatgpt_account_id`). + */ +previousAccountId?: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ChatgptAuthTokensRefreshReason.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ChatgptAuthTokensRefreshReason.ts new file mode 100644 index 00000000000..ac4006ba6a9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ChatgptAuthTokensRefreshReason.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 ChatgptAuthTokensRefreshReason = "unauthorized"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ChatgptAuthTokensRefreshResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ChatgptAuthTokensRefreshResponse.ts new file mode 100644 index 00000000000..30bf03e83ea --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ChatgptAuthTokensRefreshResponse.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 ChatgptAuthTokensRefreshResponse = { accessToken: string, chatgptAccountId: string, chatgptPlanType: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CodexErrorInfo.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CodexErrorInfo.ts new file mode 100644 index 00000000000..04e134f10e0 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CodexErrorInfo.ts @@ -0,0 +1,12 @@ +// 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 { NonSteerableTurnKind } from "./NonSteerableTurnKind.js"; + +/** + * This translation layer make sure that we expose codex error code in camel case. + * + * When an upstream HTTP status is available (for example, from the Responses API or a provider), + * it is forwarded in `httpStatusCode` on the relevant `codexErrorInfo` variant. + */ +export type CodexErrorInfo = "contextWindowExceeded" | "usageLimitExceeded" | "serverOverloaded" | "cyberPolicy" | { "httpConnectionFailed": { httpStatusCode: number | null, } } | { "responseStreamConnectionFailed": { httpStatusCode: number | null, } } | "internalServerError" | "unauthorized" | "badRequest" | "threadRollbackFailed" | "sandboxError" | { "responseStreamDisconnected": { httpStatusCode: number | null, } } | { "responseTooManyFailedAttempts": { httpStatusCode: number | null, } } | { "activeTurnNotSteerable": { turnKind: NonSteerableTurnKind, } } | "other"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentState.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentState.ts new file mode 100644 index 00000000000..0708c4014bb --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentState.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 { CollabAgentStatus } from "./CollabAgentStatus.js"; + +export type CollabAgentState = { status: CollabAgentStatus, message: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentStatus.ts new file mode 100644 index 00000000000..66d3119ba68 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentStatus.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 CollabAgentStatus = "pendingInit" | "running" | "interrupted" | "completed" | "errored" | "shutdown" | "notFound"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentTool.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentTool.ts new file mode 100644 index 00000000000..3637853a389 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentTool.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 CollabAgentTool = "spawnAgent" | "sendInput" | "resumeAgent" | "wait" | "closeAgent"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentToolCallStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentToolCallStatus.ts new file mode 100644 index 00000000000..f21f7bd5d5f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollabAgentToolCallStatus.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 CollabAgentToolCallStatus = "inProgress" | "completed" | "failed"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollaborationModeMask.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollaborationModeMask.ts new file mode 100644 index 00000000000..b5c38bb16ed --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CollaborationModeMask.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ModeKind } from "../ModeKind.js"; +import type { ReasoningEffort } from "../ReasoningEffort.js"; + +/** + * EXPERIMENTAL - collaboration mode preset metadata for clients. + */ +export type CollaborationModeMask = { name: string, mode: ModeKind | null, model: string | null, reasoning_effort: ReasoningEffort | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandAction.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandAction.ts new file mode 100644 index 00000000000..12fa1b420ec --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandAction.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type CommandAction = { "type": "read", command: string, name: string, path: AbsolutePathBuf, } | { "type": "listFiles", command: string, path: string | null, } | { "type": "search", command: string, query: string | null, path: string | null, } | { "type": "unknown", command: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecOutputDeltaNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecOutputDeltaNotification.ts new file mode 100644 index 00000000000..517c729efd0 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecOutputDeltaNotification.ts @@ -0,0 +1,30 @@ +// 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 { CommandExecOutputStream } from "./CommandExecOutputStream.js"; + +/** + * Base64-encoded output chunk emitted for a streaming `command/exec` request. + * + * These notifications are connection-scoped. If the originating connection + * closes, the server terminates the process. + */ +export type CommandExecOutputDeltaNotification = { +/** + * Client-supplied, connection-scoped `processId` from the original + * `command/exec` request. + */ +processId: string, +/** + * Output stream for this chunk. + */ +stream: CommandExecOutputStream, +/** + * Base64-encoded output bytes. + */ +deltaBase64: string, +/** + * `true` on the final streamed chunk for a stream when `outputBytesCap` + * truncated later output on that stream. + */ +capReached: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecOutputStream.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecOutputStream.ts new file mode 100644 index 00000000000..a8c5b66711d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecOutputStream.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Stream label for `command/exec/outputDelta` notifications. + */ +export type CommandExecOutputStream = "stdout" | "stderr"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecParams.ts new file mode 100644 index 00000000000..c848658c570 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecParams.ts @@ -0,0 +1,106 @@ +// 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 { CommandExecTerminalSize } from "./CommandExecTerminalSize.js"; +import type { PermissionProfile } from "./PermissionProfile.js"; +import type { SandboxPolicy } from "./SandboxPolicy.js"; + +/** + * Run a standalone command (argv vector) in the server sandbox without + * creating a thread or turn. + * + * The final `command/exec` response is deferred until the process exits and is + * sent only after all `command/exec/outputDelta` notifications for that + * connection have been emitted. + */ +export type CommandExecParams = { +/** + * Command argv vector. Empty arrays are rejected. + */ +command: Array, +/** + * Optional client-supplied, connection-scoped process id. + * + * Required for `tty`, `streamStdin`, `streamStdoutStderr`, and follow-up + * `command/exec/write`, `command/exec/resize`, and + * `command/exec/terminate` calls. When omitted, buffered execution gets an + * internal id that is not exposed to the client. + */ +processId?: string | null, +/** + * Enable PTY mode. + * + * This implies `streamStdin` and `streamStdoutStderr`. + */ +tty?: boolean, +/** + * Allow follow-up `command/exec/write` requests to write stdin bytes. + * + * Requires a client-supplied `processId`. + */ +streamStdin?: boolean, +/** + * Stream stdout/stderr via `command/exec/outputDelta` notifications. + * + * Streamed bytes are not duplicated into the final response and require a + * client-supplied `processId`. + */ +streamStdoutStderr?: boolean, +/** + * Optional per-stream stdout/stderr capture cap in bytes. + * + * When omitted, the server default applies. Cannot be combined with + * `disableOutputCap`. + */ +outputBytesCap?: number | null, +/** + * Disable stdout/stderr capture truncation for this request. + * + * Cannot be combined with `outputBytesCap`. + */ +disableOutputCap?: boolean, +/** + * Disable the timeout entirely for this request. + * + * Cannot be combined with `timeoutMs`. + */ +disableTimeout?: boolean, +/** + * Optional timeout in milliseconds. + * + * When omitted, the server default applies. Cannot be combined with + * `disableTimeout`. + */ +timeoutMs?: number | null, +/** + * Optional working directory. Defaults to the server cwd. + */ +cwd?: string | null, +/** + * Optional environment overrides merged into the server-computed + * environment. + * + * Matching names override inherited values. Set a key to `null` to unset + * an inherited variable. + */ +env?: { [key in string]?: string | null } | null, +/** + * Optional initial PTY size in character cells. Only valid when `tty` is + * true. + */ +size?: CommandExecTerminalSize | null, +/** + * Optional sandbox policy for this command. + * + * Uses the same shape as thread/turn execution sandbox configuration and + * defaults to the user's configured policy when omitted. Cannot be + * combined with `permissionProfile`. + */ +sandboxPolicy?: SandboxPolicy | null, +/** + * Optional full permissions profile for this command. + * + * Defaults to the user's configured permissions when omitted. Cannot be + * combined with `sandboxPolicy`. + */ +permissionProfile?: PermissionProfile | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecResizeParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecResizeParams.ts new file mode 100644 index 00000000000..ed74b404b22 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecResizeParams.ts @@ -0,0 +1,18 @@ +// 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 { CommandExecTerminalSize } from "./CommandExecTerminalSize.js"; + +/** + * Resize a running PTY-backed `command/exec` session. + */ +export type CommandExecResizeParams = { +/** + * Client-supplied, connection-scoped `processId` from the original + * `command/exec` request. + */ +processId: string, +/** + * New PTY size in character cells. + */ +size: CommandExecTerminalSize, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecResizeResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecResizeResponse.ts new file mode 100644 index 00000000000..7b7f2be7006 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecResizeResponse.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Empty success response for `command/exec/resize`. + */ +export type CommandExecResizeResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecResponse.ts new file mode 100644 index 00000000000..25e01eb53bf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecResponse.ts @@ -0,0 +1,24 @@ +// 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. + +/** + * Final buffered result for `command/exec`. + */ +export type CommandExecResponse = { +/** + * Process exit code. + */ +exitCode: number, +/** + * Buffered stdout capture. + * + * Empty when stdout was streamed via `command/exec/outputDelta`. + */ +stdout: string, +/** + * Buffered stderr capture. + * + * Empty when stderr was streamed via `command/exec/outputDelta`. + */ +stderr: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecTerminalSize.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecTerminalSize.ts new file mode 100644 index 00000000000..0bfacb62c6d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecTerminalSize.ts @@ -0,0 +1,16 @@ +// 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. + +/** + * PTY size in character cells for `command/exec` PTY sessions. + */ +export type CommandExecTerminalSize = { +/** + * Terminal height in character cells. + */ +rows: number, +/** + * Terminal width in character cells. + */ +cols: number, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecTerminateParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecTerminateParams.ts new file mode 100644 index 00000000000..cae97057523 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecTerminateParams.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Terminate a running `command/exec` session. + */ +export type CommandExecTerminateParams = { +/** + * Client-supplied, connection-scoped `processId` from the original + * `command/exec` request. + */ +processId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecTerminateResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecTerminateResponse.ts new file mode 100644 index 00000000000..dc6371fbdd6 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecTerminateResponse.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Empty success response for `command/exec/terminate`. + */ +export type CommandExecTerminateResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecWriteParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecWriteParams.ts new file mode 100644 index 00000000000..2092c793817 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecWriteParams.ts @@ -0,0 +1,22 @@ +// 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. + +/** + * Write stdin bytes to a running `command/exec` session, close stdin, or + * both. + */ +export type CommandExecWriteParams = { +/** + * Client-supplied, connection-scoped `processId` from the original + * `command/exec` request. + */ +processId: string, +/** + * Optional base64-encoded stdin bytes to write. + */ +deltaBase64?: string | null, +/** + * Close stdin after writing `deltaBase64`, if present. + */ +closeStdin?: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecWriteResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecWriteResponse.ts new file mode 100644 index 00000000000..6dbbddf4dd2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecWriteResponse.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Empty success response for `command/exec/write`. + */ +export type CommandExecWriteResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionApprovalDecision.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionApprovalDecision.ts new file mode 100644 index 00000000000..1eab5b67015 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionApprovalDecision.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 { ExecPolicyAmendment } from "./ExecPolicyAmendment.js"; +import type { NetworkPolicyAmendment } from "./NetworkPolicyAmendment.js"; + +export type CommandExecutionApprovalDecision = "accept" | "acceptForSession" | { "acceptWithExecpolicyAmendment": { execpolicy_amendment: ExecPolicyAmendment, } } | { "applyNetworkPolicyAmendment": { network_policy_amendment: NetworkPolicyAmendment, } } | "decline" | "cancel"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionOutputDeltaNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionOutputDeltaNotification.ts new file mode 100644 index 00000000000..90a4ae17e6d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionOutputDeltaNotification.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 CommandExecutionOutputDeltaNotification = { threadId: string, turnId: string, itemId: string, delta: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionRequestApprovalParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionRequestApprovalParams.ts new file mode 100644 index 00000000000..4d55a5aed78 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionRequestApprovalParams.ts @@ -0,0 +1,58 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { AdditionalPermissionProfile } from "./AdditionalPermissionProfile.js"; +import type { CommandAction } from "./CommandAction.js"; +import type { CommandExecutionApprovalDecision } from "./CommandExecutionApprovalDecision.js"; +import type { ExecPolicyAmendment } from "./ExecPolicyAmendment.js"; +import type { NetworkApprovalContext } from "./NetworkApprovalContext.js"; +import type { NetworkPolicyAmendment } from "./NetworkPolicyAmendment.js"; + +export type CommandExecutionRequestApprovalParams = { threadId: string, turnId: string, itemId: string, +/** + * Unique identifier for this specific approval callback. + * + * For regular shell/unified_exec approvals, this is null. + * + * For zsh-exec-bridge subcommand approvals, multiple callbacks can belong to + * one parent `itemId`, so `approvalId` is a distinct opaque callback id + * (a UUID) used to disambiguate routing. + */ +approvalId?: string | null, +/** + * Optional explanatory reason (e.g. request for network access). + */ +reason?: string | null, +/** + * Optional context for a managed-network approval prompt. + */ +networkApprovalContext?: NetworkApprovalContext | null, +/** + * The command to be executed. + */ +command?: string | null, +/** + * The command's working directory. + */ +cwd?: AbsolutePathBuf | null, +/** + * Best-effort parsed command actions for friendly display. + */ +commandActions?: Array | null, +/** + * Optional additional permissions requested for this command. + */ +additionalPermissions?: AdditionalPermissionProfile | null, +/** + * Optional proposed execpolicy amendment to allow similar commands without prompting. + */ +proposedExecpolicyAmendment?: ExecPolicyAmendment | null, +/** + * Optional proposed network policy amendments (allow/deny host) for future requests. + */ +proposedNetworkPolicyAmendments?: Array | null, +/** + * Ordered list of decisions the client may present for this prompt. + */ +availableDecisions?: Array | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionRequestApprovalResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionRequestApprovalResponse.ts new file mode 100644 index 00000000000..738db4cbe0d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionRequestApprovalResponse.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 { CommandExecutionApprovalDecision } from "./CommandExecutionApprovalDecision.js"; + +export type CommandExecutionRequestApprovalResponse = { decision: CommandExecutionApprovalDecision, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionSource.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionSource.ts new file mode 100644 index 00000000000..9432841fb7c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionSource.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 CommandExecutionSource = "agent" | "userShell" | "unifiedExecStartup" | "unifiedExecInteraction"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionStatus.ts new file mode 100644 index 00000000000..c58b3cc7faa --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CommandExecutionStatus.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 CommandExecutionStatus = "inProgress" | "completed" | "failed" | "declined"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/Config.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/Config.ts new file mode 100644 index 00000000000..9b0488ba92d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/Config.ts @@ -0,0 +1,23 @@ +// 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 { ForcedLoginMethod } from "../ForcedLoginMethod.js"; +import type { ReasoningEffort } from "../ReasoningEffort.js"; +import type { ReasoningSummary } from "../ReasoningSummary.js"; +import type { ServiceTier } from "../ServiceTier.js"; +import type { Verbosity } from "../Verbosity.js"; +import type { WebSearchMode } from "../WebSearchMode.js"; +import type { JsonValue } from "../serde_json/JsonValue.js"; +import type { AnalyticsConfig } from "./AnalyticsConfig.js"; +import type { ApprovalsReviewer } from "./ApprovalsReviewer.js"; +import type { AskForApproval } from "./AskForApproval.js"; +import type { ProfileV2 } from "./ProfileV2.js"; +import type { SandboxMode } from "./SandboxMode.js"; +import type { SandboxWorkspaceWrite } from "./SandboxWorkspaceWrite.js"; +import type { ToolsV2 } from "./ToolsV2.js"; + +export type Config = {model: string | null, review_model: string | null, model_context_window: bigint | null, model_auto_compact_token_limit: bigint | null, model_provider: string | null, approval_policy: AskForApproval | null, /** + * [UNSTABLE] Optional default for where approval requests are routed for + * review. + */ +approvals_reviewer: ApprovalsReviewer | null, sandbox_mode: SandboxMode | null, sandbox_workspace_write: SandboxWorkspaceWrite | null, forced_chatgpt_workspace_id: string | null, forced_login_method: ForcedLoginMethod | null, web_search: WebSearchMode | null, tools: ToolsV2 | null, profile: string | null, profiles: { [key in string]?: ProfileV2 }, instructions: string | null, developer_instructions: string | null, compact_prompt: string | null, model_reasoning_effort: ReasoningEffort | null, model_reasoning_summary: ReasoningSummary | null, model_verbosity: Verbosity | null, service_tier: ServiceTier | null, analytics: AnalyticsConfig | null} & ({ [key in string]?: number | string | boolean | Array | { [key in string]?: JsonValue } | null }); diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigBatchWriteParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigBatchWriteParams.ts new file mode 100644 index 00000000000..ba20efaf936 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigBatchWriteParams.ts @@ -0,0 +1,14 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ConfigEdit } from "./ConfigEdit.js"; + +export type ConfigBatchWriteParams = { edits: Array, +/** + * Path to the config file to write; defaults to the user's `config.toml` when omitted. + */ +filePath?: string | null, expectedVersion?: string | null, +/** + * When true, hot-reload the updated user config into all loaded threads after writing. + */ +reloadUserConfig?: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigEdit.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigEdit.ts new file mode 100644 index 00000000000..2d35740f0f1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigEdit.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 { JsonValue } from "../serde_json/JsonValue.js"; +import type { MergeStrategy } from "./MergeStrategy.js"; + +export type ConfigEdit = { keyPath: string, value: JsonValue, mergeStrategy: MergeStrategy, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigLayer.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigLayer.ts new file mode 100644 index 00000000000..6e0d9120e69 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigLayer.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 { JsonValue } from "../serde_json/JsonValue.js"; +import type { ConfigLayerSource } from "./ConfigLayerSource.js"; + +export type ConfigLayer = { name: ConfigLayerSource, version: string, config: JsonValue, disabledReason: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigLayerMetadata.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigLayerMetadata.ts new file mode 100644 index 00000000000..ab1e0e0b9b5 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigLayerMetadata.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 { ConfigLayerSource } from "./ConfigLayerSource.js"; + +export type ConfigLayerMetadata = { name: ConfigLayerSource, version: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigLayerSource.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigLayerSource.ts new file mode 100644 index 00000000000..7bfe796b145 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigLayerSource.ts @@ -0,0 +1,16 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type ConfigLayerSource = { "type": "mdm", domain: string, key: string, } | { "type": "system", +/** + * This is the path to the system config.toml file, though it is not + * guaranteed to exist. + */ +file: AbsolutePathBuf, } | { "type": "user", +/** + * This is the path to the user's config.toml file, though it is not + * guaranteed to exist. + */ +file: AbsolutePathBuf, } | { "type": "project", dotCodexFolder: AbsolutePathBuf, } | { "type": "sessionFlags" } | { "type": "legacyManagedConfigTomlFromFile", file: AbsolutePathBuf, } | { "type": "legacyManagedConfigTomlFromMdm" }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigReadParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigReadParams.ts new file mode 100644 index 00000000000..1fd418d1820 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigReadParams.ts @@ -0,0 +1,11 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ConfigReadParams = { includeLayers: boolean, +/** + * Optional working directory to resolve project config layers. If specified, + * return the effective config as seen from that directory (i.e., including any + * project layers between `cwd` and the project/repo root). + */ +cwd?: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigReadResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigReadResponse.ts new file mode 100644 index 00000000000..d6200223fc7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigReadResponse.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { Config } from "./Config.js"; +import type { ConfigLayer } from "./ConfigLayer.js"; +import type { ConfigLayerMetadata } from "./ConfigLayerMetadata.js"; + +export type ConfigReadResponse = { config: Config, origins: { [key in string]?: ConfigLayerMetadata }, layers: Array | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigRequirements.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigRequirements.ts new file mode 100644 index 00000000000..6cda0de9d9d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigRequirements.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { WebSearchMode } from "../WebSearchMode.js"; +import type { AskForApproval } from "./AskForApproval.js"; +import type { ResidencyRequirement } from "./ResidencyRequirement.js"; +import type { SandboxMode } from "./SandboxMode.js"; + +export type ConfigRequirements = {allowedApprovalPolicies: Array | null, allowedSandboxModes: Array | null, allowedWebSearchModes: Array | null, featureRequirements: { [key in string]?: boolean } | null, enforceResidency: ResidencyRequirement | null}; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigRequirementsReadResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigRequirementsReadResponse.ts new file mode 100644 index 00000000000..5a344b4a9d7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigRequirementsReadResponse.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ConfigRequirements } from "./ConfigRequirements.js"; + +export type ConfigRequirementsReadResponse = { +/** + * Null if no requirements are configured (e.g. no requirements.toml/MDM entries). + */ +requirements: ConfigRequirements | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigValueWriteParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigValueWriteParams.ts new file mode 100644 index 00000000000..93657ea6d58 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigValueWriteParams.ts @@ -0,0 +1,11 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; +import type { MergeStrategy } from "./MergeStrategy.js"; + +export type ConfigValueWriteParams = { keyPath: string, value: JsonValue, mergeStrategy: MergeStrategy, +/** + * Path to the config file to write; defaults to the user's `config.toml` when omitted. + */ +filePath?: string | null, expectedVersion?: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigWarningNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigWarningNotification.ts new file mode 100644 index 00000000000..cd7a384458e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigWarningNotification.ts @@ -0,0 +1,22 @@ +// 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 { TextRange } from "./TextRange.js"; + +export type ConfigWarningNotification = { +/** + * Concise summary of the warning. + */ +summary: string, +/** + * Optional extra guidance or error details. + */ +details: string | null, +/** + * Optional path to the config file that triggered the warning. + */ +path?: string, +/** + * Optional range for the error location inside the config file. + */ +range?: TextRange, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigWriteResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigWriteResponse.ts new file mode 100644 index 00000000000..9fe4cdaa503 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfigWriteResponse.ts @@ -0,0 +1,12 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { OverriddenMetadata } from "./OverriddenMetadata.js"; +import type { WriteStatus } from "./WriteStatus.js"; + +export type ConfigWriteResponse = { status: WriteStatus, version: string, +/** + * Canonical path to the config file that was written. + */ +filePath: AbsolutePathBuf, overriddenMetadata: OverriddenMetadata | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfiguredHookHandler.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfiguredHookHandler.ts new file mode 100644 index 00000000000..a81ce61f6e9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfiguredHookHandler.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 ConfiguredHookHandler = { "type": "command", command: string, timeoutSec: bigint | null, async: boolean, statusMessage: string | null, } | { "type": "prompt", } | { "type": "agent", }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfiguredHookMatcherGroup.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfiguredHookMatcherGroup.ts new file mode 100644 index 00000000000..d3076993dad --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ConfiguredHookMatcherGroup.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 { ConfiguredHookHandler } from "./ConfiguredHookHandler.js"; + +export type ConfiguredHookMatcherGroup = { matcher: string | null, hooks: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ContextCompactedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ContextCompactedNotification.ts new file mode 100644 index 00000000000..6927609de7e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ContextCompactedNotification.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Deprecated: Use `ContextCompaction` item type instead. + */ +export type ContextCompactedNotification = { threadId: string, turnId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/CreditsSnapshot.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CreditsSnapshot.ts new file mode 100644 index 00000000000..94577df6904 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/CreditsSnapshot.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 CreditsSnapshot = { hasCredits: boolean, unlimited: boolean, balance: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeprecationNoticeNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeprecationNoticeNotification.ts new file mode 100644 index 00000000000..29b61171576 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeprecationNoticeNotification.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type DeprecationNoticeNotification = { +/** + * Concise summary of what is deprecated. + */ +summary: string, +/** + * Optional extra guidance, such as migration steps or rationale. + */ +details: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyAlgorithm.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyAlgorithm.ts new file mode 100644 index 00000000000..6809c41eb54 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyAlgorithm.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Device-key algorithm reported at enrollment and signing boundaries. + */ +export type DeviceKeyAlgorithm = "ecdsa_p256_sha256"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyCreateParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyCreateParams.ts new file mode 100644 index 00000000000..fcb4133bc99 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyCreateParams.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { DeviceKeyProtectionPolicy } from "./DeviceKeyProtectionPolicy.js"; + +/** + * Create a controller-local device key with a random key id. + */ +export type DeviceKeyCreateParams = { +/** + * Defaults to `hardware_only` when omitted. + */ +protectionPolicy?: DeviceKeyProtectionPolicy | null, accountUserId: string, clientId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyCreateResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyCreateResponse.ts new file mode 100644 index 00000000000..65e1bc18e03 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyCreateResponse.ts @@ -0,0 +1,14 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { DeviceKeyAlgorithm } from "./DeviceKeyAlgorithm.js"; +import type { DeviceKeyProtectionClass } from "./DeviceKeyProtectionClass.js"; + +/** + * Device-key metadata and public key returned by create/public APIs. + */ +export type DeviceKeyCreateResponse = { keyId: string, +/** + * SubjectPublicKeyInfo DER encoded as base64. + */ +publicKeySpkiDerBase64: string, algorithm: DeviceKeyAlgorithm, protectionClass: DeviceKeyProtectionClass, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyProtectionClass.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyProtectionClass.ts new file mode 100644 index 00000000000..ba7ff311ade --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyProtectionClass.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Platform protection class for a controller-local device key. + */ +export type DeviceKeyProtectionClass = "hardware_secure_enclave" | "hardware_tpm" | "os_protected_nonextractable"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyProtectionPolicy.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyProtectionPolicy.ts new file mode 100644 index 00000000000..66fceafb514 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyProtectionPolicy.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Protection policy for creating or loading a controller-local device key. + */ +export type DeviceKeyProtectionPolicy = "hardware_only" | "allow_os_protected_nonextractable"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyPublicParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyPublicParams.ts new file mode 100644 index 00000000000..5a5b77899d3 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyPublicParams.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Fetch a controller-local device key public key by id. + */ +export type DeviceKeyPublicParams = { keyId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyPublicResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyPublicResponse.ts new file mode 100644 index 00000000000..92563f07160 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeyPublicResponse.ts @@ -0,0 +1,14 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { DeviceKeyAlgorithm } from "./DeviceKeyAlgorithm.js"; +import type { DeviceKeyProtectionClass } from "./DeviceKeyProtectionClass.js"; + +/** + * Device-key public metadata returned by `device/key/public`. + */ +export type DeviceKeyPublicResponse = { keyId: string, +/** + * SubjectPublicKeyInfo DER encoded as base64. + */ +publicKeySpkiDerBase64: string, algorithm: DeviceKeyAlgorithm, protectionClass: DeviceKeyProtectionClass, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeySignParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeySignParams.ts new file mode 100644 index 00000000000..51a848db003 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeySignParams.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { DeviceKeySignPayload } from "./DeviceKeySignPayload.js"; + +/** + * Sign an accepted structured payload with a controller-local device key. + */ +export type DeviceKeySignParams = { keyId: string, payload: DeviceKeySignPayload, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeySignPayload.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeySignPayload.ts new file mode 100644 index 00000000000..da14b0e87e6 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeySignPayload.ts @@ -0,0 +1,54 @@ +// 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 { RemoteControlClientConnectionAudience } from "./RemoteControlClientConnectionAudience.js"; +import type { RemoteControlClientEnrollmentAudience } from "./RemoteControlClientEnrollmentAudience.js"; + +/** + * Structured payloads accepted by `device/key/sign`. + */ +export type DeviceKeySignPayload = { "type": "remoteControlClientConnection", nonce: string, audience: RemoteControlClientConnectionAudience, +/** + * Backend-issued websocket session id that this proof authorizes. + */ +sessionId: string, +/** + * Origin of the backend endpoint that issued the challenge and will verify this proof. + */ +targetOrigin: string, +/** + * Websocket route path that this proof authorizes. + */ +targetPath: string, accountUserId: string, clientId: string, +/** + * Remote-control token expiration as Unix seconds. + */ +tokenExpiresAt: number, +/** + * SHA-256 of the controller-scoped remote-control token, encoded as unpadded base64url. + */ +tokenSha256Base64url: string, +/** + * Must contain exactly `remote_control_controller_websocket`. + */ +scopes: Array, } | { "type": "remoteControlClientEnrollment", nonce: string, audience: RemoteControlClientEnrollmentAudience, +/** + * Backend-issued enrollment challenge id that this proof authorizes. + */ +challengeId: string, +/** + * Origin of the backend endpoint that issued the challenge and will verify this proof. + */ +targetOrigin: string, +/** + * HTTP route path that this proof authorizes. + */ +targetPath: string, accountUserId: string, clientId: string, +/** + * SHA-256 of the requested device identity operation, encoded as unpadded base64url. + */ +deviceIdentitySha256Base64url: string, +/** + * Enrollment challenge expiration as Unix seconds. + */ +challengeExpiresAt: number, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeySignResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeySignResponse.ts new file mode 100644 index 00000000000..3e97af79738 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DeviceKeySignResponse.ts @@ -0,0 +1,18 @@ +// 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 { DeviceKeyAlgorithm } from "./DeviceKeyAlgorithm.js"; + +/** + * ASN.1 DER signature returned by `device/key/sign`. + */ +export type DeviceKeySignResponse = { +/** + * ECDSA signature DER encoded as base64. + */ +signatureDerBase64: string, +/** + * Exact bytes signed by the device key, encoded as base64. Verifiers must verify this byte + * string directly and must not reserialize `payload`. + */ +signedPayloadBase64: string, algorithm: DeviceKeyAlgorithm, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallOutputContentItem.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallOutputContentItem.ts new file mode 100644 index 00000000000..8f432109d1b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallOutputContentItem.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 DynamicToolCallOutputContentItem = { "type": "inputText", text: string, } | { "type": "inputImage", imageUrl: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallParams.ts new file mode 100644 index 00000000000..e67df37b8b4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallParams.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; + +export type DynamicToolCallParams = { threadId: string, turnId: string, callId: string, namespace: string | null, tool: string, arguments: JsonValue, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallResponse.ts new file mode 100644 index 00000000000..913fc643300 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallResponse.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 { DynamicToolCallOutputContentItem } from "./DynamicToolCallOutputContentItem.js"; + +export type DynamicToolCallResponse = { contentItems: Array, success: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallStatus.ts new file mode 100644 index 00000000000..04f44ec0a8b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolCallStatus.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 DynamicToolCallStatus = "inProgress" | "completed" | "failed"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolSpec.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolSpec.ts new file mode 100644 index 00000000000..290cdb86d4d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/DynamicToolSpec.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; + +export type DynamicToolSpec = { namespace?: string, name: string, description: string, inputSchema: JsonValue, deferLoading?: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ErrorNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ErrorNotification.ts new file mode 100644 index 00000000000..16755cc0050 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ErrorNotification.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 { TurnError } from "./TurnError.js"; + +export type ErrorNotification = { error: TurnError, willRetry: boolean, threadId: string, turnId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExecPolicyAmendment.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExecPolicyAmendment.ts new file mode 100644 index 00000000000..e893dd4477e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExecPolicyAmendment.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 ExecPolicyAmendment = Array; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeature.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeature.ts new file mode 100644 index 00000000000..ebcc38d1b2d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeature.ts @@ -0,0 +1,37 @@ +// 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 { ExperimentalFeatureStage } from "./ExperimentalFeatureStage.js"; + +export type ExperimentalFeature = { +/** + * Stable key used in config.toml and CLI flag toggles. + */ +name: string, +/** + * Lifecycle stage of this feature flag. + */ +stage: ExperimentalFeatureStage, +/** + * User-facing display name shown in the experimental features UI. + * Null when this feature is not in beta. + */ +displayName: string | null, +/** + * Short summary describing what the feature does. + * Null when this feature is not in beta. + */ +description: string | null, +/** + * Announcement copy shown to users when the feature is introduced. + * Null when this feature is not in beta. + */ +announcement: string | null, +/** + * Whether this feature is currently enabled in the loaded config. + */ +enabled: boolean, +/** + * Whether this feature is enabled by default. + */ +defaultEnabled: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureEnablementSetParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureEnablementSetParams.ts new file mode 100644 index 00000000000..d96955bf3dc --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureEnablementSetParams.ts @@ -0,0 +1,12 @@ +// 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 ExperimentalFeatureEnablementSetParams = { +/** + * Process-wide runtime feature enablement keyed by canonical feature name. + * + * Only named features are updated. Omitted features are left unchanged. + * Send an empty map for a no-op. + */ +enablement: { [key in string]?: boolean }, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureEnablementSetResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureEnablementSetResponse.ts new file mode 100644 index 00000000000..d0a8975b817 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureEnablementSetResponse.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ExperimentalFeatureEnablementSetResponse = { +/** + * Feature enablement entries updated by this request. + */ +enablement: { [key in string]?: boolean }, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureListParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureListParams.ts new file mode 100644 index 00000000000..0a1555d9980 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureListParams.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ExperimentalFeatureListParams = { +/** + * Opaque pagination cursor returned by a previous call. + */ +cursor?: string | null, +/** + * Optional page size; defaults to a reasonable server-side value. + */ +limit?: number | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureListResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureListResponse.ts new file mode 100644 index 00000000000..f64216ffcf9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureListResponse.ts @@ -0,0 +1,11 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ExperimentalFeature } from "./ExperimentalFeature.js"; + +export type ExperimentalFeatureListResponse = { data: Array, +/** + * Opaque cursor to pass to the next call to continue after the last item. + * If None, there are no more items to return. + */ +nextCursor: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureStage.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureStage.ts new file mode 100644 index 00000000000..dbd206e05f7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExperimentalFeatureStage.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 ExperimentalFeatureStage = "beta" | "underDevelopment" | "stable" | "deprecated" | "removed"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigDetectParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigDetectParams.ts new file mode 100644 index 00000000000..163d9619253 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigDetectParams.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ExternalAgentConfigDetectParams = { +/** + * If true, include detection under the user's home (~/.claude, ~/.codex, etc.). + */ +includeHome?: boolean, +/** + * Zero or more working directories to include for repo-scoped detection. + */ +cwds?: Array | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigDetectResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigDetectResponse.ts new file mode 100644 index 00000000000..6dff400ac48 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigDetectResponse.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 { ExternalAgentConfigMigrationItem } from "./ExternalAgentConfigMigrationItem.js"; + +export type ExternalAgentConfigDetectResponse = { items: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigImportCompletedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigImportCompletedNotification.ts new file mode 100644 index 00000000000..edb8f191621 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigImportCompletedNotification.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 ExternalAgentConfigImportCompletedNotification = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigImportParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigImportParams.ts new file mode 100644 index 00000000000..ac63fcd7db6 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigImportParams.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 { ExternalAgentConfigMigrationItem } from "./ExternalAgentConfigMigrationItem.js"; + +export type ExternalAgentConfigImportParams = { migrationItems: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigImportResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigImportResponse.ts new file mode 100644 index 00000000000..2ceddade0e7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigImportResponse.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 ExternalAgentConfigImportResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigMigrationItem.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigMigrationItem.ts new file mode 100644 index 00000000000..30c0fbbb2bf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigMigrationItem.ts @@ -0,0 +1,11 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ExternalAgentConfigMigrationItemType } from "./ExternalAgentConfigMigrationItemType.js"; +import type { MigrationDetails } from "./MigrationDetails.js"; + +export type ExternalAgentConfigMigrationItem = { itemType: ExternalAgentConfigMigrationItemType, description: string, +/** + * Null or empty means home-scoped migration; non-empty means repo-scoped migration. + */ +cwd: string | null, details: MigrationDetails | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigMigrationItemType.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigMigrationItemType.ts new file mode 100644 index 00000000000..dedc124f041 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ExternalAgentConfigMigrationItemType.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ExternalAgentConfigMigrationItemType = "AGENTS_MD" | "CONFIG" | "SKILLS" | "PLUGINS" | "MCP_SERVER_CONFIG"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FeedbackUploadParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FeedbackUploadParams.ts new file mode 100644 index 00000000000..86d9de2f0da --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FeedbackUploadParams.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 FeedbackUploadParams = { classification: string, reason?: string | null, threadId?: string | null, includeLogs: boolean, extraLogFiles?: Array | null, tags?: { [key in string]?: string } | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FeedbackUploadResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FeedbackUploadResponse.ts new file mode 100644 index 00000000000..f0ad9784c03 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FeedbackUploadResponse.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 FeedbackUploadResponse = { threadId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeApprovalDecision.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeApprovalDecision.ts new file mode 100644 index 00000000000..b74ba004b88 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeApprovalDecision.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 FileChangeApprovalDecision = "accept" | "acceptForSession" | "decline" | "cancel"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeOutputDeltaNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeOutputDeltaNotification.ts new file mode 100644 index 00000000000..1018bd8a2b8 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeOutputDeltaNotification.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 FileChangeOutputDeltaNotification = { threadId: string, turnId: string, itemId: string, delta: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangePatchUpdatedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangePatchUpdatedNotification.ts new file mode 100644 index 00000000000..51b5d3f5be8 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangePatchUpdatedNotification.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 { FileUpdateChange } from "./FileUpdateChange.js"; + +export type FileChangePatchUpdatedNotification = { threadId: string, turnId: string, itemId: string, changes: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeRequestApprovalParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeRequestApprovalParams.ts new file mode 100644 index 00000000000..c514ed62195 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeRequestApprovalParams.ts @@ -0,0 +1,14 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type FileChangeRequestApprovalParams = { threadId: string, turnId: string, itemId: string, +/** + * Optional explanatory reason (e.g. request for extra write access). + */ +reason?: string | null, +/** + * [UNSTABLE] When set, the agent is asking the user to allow writes under this root + * for the remainder of the session (unclear if this is honored today). + */ +grantRoot?: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeRequestApprovalResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeRequestApprovalResponse.ts new file mode 100644 index 00000000000..42d869606eb --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileChangeRequestApprovalResponse.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 { FileChangeApprovalDecision } from "./FileChangeApprovalDecision.js"; + +export type FileChangeRequestApprovalResponse = { decision: FileChangeApprovalDecision, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemAccessMode.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemAccessMode.ts new file mode 100644 index 00000000000..b1d801fe416 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemAccessMode.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 FileSystemAccessMode = "read" | "write" | "none"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemPath.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemPath.ts new file mode 100644 index 00000000000..e216eda89dd --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemPath.ts @@ -0,0 +1,7 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { FileSystemSpecialPath } from "./FileSystemSpecialPath.js"; + +export type FileSystemPath = { "type": "path", path: AbsolutePathBuf, } | { "type": "glob_pattern", pattern: string, } | { "type": "special", value: FileSystemSpecialPath, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemSandboxEntry.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemSandboxEntry.ts new file mode 100644 index 00000000000..4fc55e475e9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemSandboxEntry.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 { FileSystemAccessMode } from "./FileSystemAccessMode.js"; +import type { FileSystemPath } from "./FileSystemPath.js"; + +export type FileSystemSandboxEntry = { path: FileSystemPath, access: FileSystemAccessMode, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemSpecialPath.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemSpecialPath.ts new file mode 100644 index 00000000000..bf27547ee74 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileSystemSpecialPath.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 FileSystemSpecialPath = { "kind": "root" } | { "kind": "minimal" } | { "kind": "current_working_directory" } | { "kind": "project_roots", subpath: string | null, } | { "kind": "tmpdir" } | { "kind": "slash_tmp" } | { "kind": "unknown", path: string, subpath: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileUpdateChange.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileUpdateChange.ts new file mode 100644 index 00000000000..5243aeb8239 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FileUpdateChange.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 { PatchChangeKind } from "./PatchChangeKind.js"; + +export type FileUpdateChange = { path: string, kind: PatchChangeKind, diff: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsChangedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsChangedNotification.ts new file mode 100644 index 00000000000..edba1e265ba --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsChangedNotification.ts @@ -0,0 +1,17 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +/** + * Filesystem watch notification emitted for `fs/watch` subscribers. + */ +export type FsChangedNotification = { +/** + * Watch identifier previously provided to `fs/watch`. + */ +watchId: string, +/** + * File or directory paths associated with this event. + */ +changedPaths: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCopyParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCopyParams.ts new file mode 100644 index 00000000000..4f2b5cc75e1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCopyParams.ts @@ -0,0 +1,21 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +/** + * Copy a file or directory tree on the host filesystem. + */ +export type FsCopyParams = { +/** + * Absolute source path. + */ +sourcePath: AbsolutePathBuf, +/** + * Absolute destination path. + */ +destinationPath: AbsolutePathBuf, +/** + * Required for directory copies; ignored for file copies. + */ +recursive?: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCopyResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCopyResponse.ts new file mode 100644 index 00000000000..3e3061a8ab5 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCopyResponse.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Successful response for `fs/copy`. + */ +export type FsCopyResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCreateDirectoryParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCreateDirectoryParams.ts new file mode 100644 index 00000000000..5abf55b7815 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCreateDirectoryParams.ts @@ -0,0 +1,17 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +/** + * Create a directory on the host filesystem. + */ +export type FsCreateDirectoryParams = { +/** + * Absolute directory path to create. + */ +path: AbsolutePathBuf, +/** + * Whether parent directories should also be created. Defaults to `true`. + */ +recursive?: boolean | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCreateDirectoryResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCreateDirectoryResponse.ts new file mode 100644 index 00000000000..5d251b71564 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsCreateDirectoryResponse.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Successful response for `fs/createDirectory`. + */ +export type FsCreateDirectoryResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsGetMetadataParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsGetMetadataParams.ts new file mode 100644 index 00000000000..f1caa42c716 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsGetMetadataParams.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +/** + * Request metadata for an absolute path. + */ +export type FsGetMetadataParams = { +/** + * Absolute path to inspect. + */ +path: AbsolutePathBuf, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsGetMetadataResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsGetMetadataResponse.ts new file mode 100644 index 00000000000..a1a127e192f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsGetMetadataResponse.ts @@ -0,0 +1,28 @@ +// 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. + +/** + * Metadata returned by `fs/getMetadata`. + */ +export type FsGetMetadataResponse = { +/** + * Whether the path resolves to a directory. + */ +isDirectory: boolean, +/** + * Whether the path resolves to a regular file. + */ +isFile: boolean, +/** + * Whether the path itself is a symbolic link. + */ +isSymlink: boolean, +/** + * File creation time in Unix milliseconds when available, otherwise `0`. + */ +createdAtMs: number, +/** + * File modification time in Unix milliseconds when available, otherwise `0`. + */ +modifiedAtMs: number, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadDirectoryEntry.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadDirectoryEntry.ts new file mode 100644 index 00000000000..197673d2bb2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadDirectoryEntry.ts @@ -0,0 +1,20 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * A directory entry returned by `fs/readDirectory`. + */ +export type FsReadDirectoryEntry = { +/** + * Direct child entry name only, not an absolute or relative path. + */ +fileName: string, +/** + * Whether this entry resolves to a directory. + */ +isDirectory: boolean, +/** + * Whether this entry resolves to a regular file. + */ +isFile: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadDirectoryParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadDirectoryParams.ts new file mode 100644 index 00000000000..11ca9d0c8c4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadDirectoryParams.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +/** + * List direct child names for a directory. + */ +export type FsReadDirectoryParams = { +/** + * Absolute directory path to read. + */ +path: AbsolutePathBuf, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadDirectoryResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadDirectoryResponse.ts new file mode 100644 index 00000000000..e1c20b12250 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadDirectoryResponse.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { FsReadDirectoryEntry } from "./FsReadDirectoryEntry.js"; + +/** + * Directory entries returned by `fs/readDirectory`. + */ +export type FsReadDirectoryResponse = { +/** + * Direct child entries in the requested directory. + */ +entries: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadFileParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadFileParams.ts new file mode 100644 index 00000000000..5648294dfcd --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadFileParams.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +/** + * Read a file from the host filesystem. + */ +export type FsReadFileParams = { +/** + * Absolute path to read. + */ +path: AbsolutePathBuf, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadFileResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadFileResponse.ts new file mode 100644 index 00000000000..26b6126970f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsReadFileResponse.ts @@ -0,0 +1,12 @@ +// 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. + +/** + * Base64-encoded file contents returned by `fs/readFile`. + */ +export type FsReadFileResponse = { +/** + * File contents encoded as base64. + */ +dataBase64: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsRemoveParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsRemoveParams.ts new file mode 100644 index 00000000000..da1a3fe6e05 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsRemoveParams.ts @@ -0,0 +1,21 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +/** + * Remove a file or directory tree from the host filesystem. + */ +export type FsRemoveParams = { +/** + * Absolute path to remove. + */ +path: AbsolutePathBuf, +/** + * Whether directory removal should recurse. Defaults to `true`. + */ +recursive?: boolean | null, +/** + * Whether missing paths should be ignored. Defaults to `true`. + */ +force?: boolean | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsRemoveResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsRemoveResponse.ts new file mode 100644 index 00000000000..981c28fa1e4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsRemoveResponse.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Successful response for `fs/remove`. + */ +export type FsRemoveResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsUnwatchParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsUnwatchParams.ts new file mode 100644 index 00000000000..ff314814f03 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsUnwatchParams.ts @@ -0,0 +1,12 @@ +// 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. + +/** + * Stop filesystem watch notifications for a prior `fs/watch`. + */ +export type FsUnwatchParams = { +/** + * Watch identifier previously provided to `fs/watch`. + */ +watchId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsUnwatchResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsUnwatchResponse.ts new file mode 100644 index 00000000000..02507d2c008 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsUnwatchResponse.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Successful response for `fs/unwatch`. + */ +export type FsUnwatchResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWatchParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWatchParams.ts new file mode 100644 index 00000000000..f7d1c6a1367 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWatchParams.ts @@ -0,0 +1,17 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +/** + * Start filesystem watch notifications for an absolute path. + */ +export type FsWatchParams = { +/** + * Connection-scoped watch identifier used for `fs/unwatch` and `fs/changed`. + */ +watchId: string, +/** + * Absolute file or directory path to watch. + */ +path: AbsolutePathBuf, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWatchResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWatchResponse.ts new file mode 100644 index 00000000000..18e3fc8ea4f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWatchResponse.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +/** + * Successful response for `fs/watch`. + */ +export type FsWatchResponse = { +/** + * Canonicalized path associated with the watch. + */ +path: AbsolutePathBuf, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWriteFileParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWriteFileParams.ts new file mode 100644 index 00000000000..ba2d69c756e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWriteFileParams.ts @@ -0,0 +1,17 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +/** + * Write a file on the host filesystem. + */ +export type FsWriteFileParams = { +/** + * Absolute path to write. + */ +path: AbsolutePathBuf, +/** + * File contents encoded as base64. + */ +dataBase64: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWriteFileResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWriteFileResponse.ts new file mode 100644 index 00000000000..ad0ce283801 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/FsWriteFileResponse.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Successful response for `fs/writeFile`. + */ +export type FsWriteFileResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/GetAccountParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GetAccountParams.ts new file mode 100644 index 00000000000..a5c5c25f664 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GetAccountParams.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type GetAccountParams = { +/** + * When `true`, requests a proactive token refresh before returning. + * + * In managed auth mode this triggers the normal refresh-token flow. In + * external auth mode this flag is ignored. Clients should refresh tokens + * themselves and call `account/login/start` with `chatgptAuthTokens`. + */ +refreshToken: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/GetAccountRateLimitsResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GetAccountRateLimitsResponse.ts new file mode 100644 index 00000000000..152dca531e2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GetAccountRateLimitsResponse.ts @@ -0,0 +1,14 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { RateLimitSnapshot } from "./RateLimitSnapshot.js"; + +export type GetAccountRateLimitsResponse = { +/** + * Backward-compatible single-bucket view; mirrors the historical payload. + */ +rateLimits: RateLimitSnapshot, +/** + * Multi-bucket view keyed by metered `limit_id` (for example, `codex`). + */ +rateLimitsByLimitId: { [key in string]?: RateLimitSnapshot } | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/GetAccountResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GetAccountResponse.ts new file mode 100644 index 00000000000..f3621030f41 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GetAccountResponse.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 { Account } from "./Account.js"; + +export type GetAccountResponse = { account: Account | null, requiresOpenaiAuth: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/GitInfo.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GitInfo.ts new file mode 100644 index 00000000000..9559272a0f9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GitInfo.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 GitInfo = { sha: string | null, branch: string | null, originUrl: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/GrantedPermissionProfile.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GrantedPermissionProfile.ts new file mode 100644 index 00000000000..9bc4044d4ae --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GrantedPermissionProfile.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 { AdditionalFileSystemPermissions } from "./AdditionalFileSystemPermissions.js"; +import type { AdditionalNetworkPermissions } from "./AdditionalNetworkPermissions.js"; + +export type GrantedPermissionProfile = { network?: AdditionalNetworkPermissions, fileSystem?: AdditionalFileSystemPermissions, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianApprovalReview.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianApprovalReview.ts new file mode 100644 index 00000000000..b60f1ec28b2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianApprovalReview.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { GuardianApprovalReviewStatus } from "./GuardianApprovalReviewStatus.js"; +import type { GuardianRiskLevel } from "./GuardianRiskLevel.js"; +import type { GuardianUserAuthorization } from "./GuardianUserAuthorization.js"; + +/** + * [UNSTABLE] Temporary approval auto-review payload used by + * `item/autoApprovalReview/*` notifications. This shape is expected to change + * soon. + */ +export type GuardianApprovalReview = { status: GuardianApprovalReviewStatus, riskLevel: GuardianRiskLevel | null, userAuthorization: GuardianUserAuthorization | null, rationale: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianApprovalReviewAction.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianApprovalReviewAction.ts new file mode 100644 index 00000000000..34e1e67855d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianApprovalReviewAction.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { GuardianCommandSource } from "./GuardianCommandSource.js"; +import type { NetworkApprovalProtocol } from "./NetworkApprovalProtocol.js"; +import type { RequestPermissionProfile } from "./RequestPermissionProfile.js"; + +export type GuardianApprovalReviewAction = { "type": "command", source: GuardianCommandSource, command: string, cwd: AbsolutePathBuf, } | { "type": "execve", source: GuardianCommandSource, program: string, argv: Array, cwd: AbsolutePathBuf, } | { "type": "applyPatch", cwd: AbsolutePathBuf, files: Array, } | { "type": "networkAccess", target: string, host: string, protocol: NetworkApprovalProtocol, port: number, } | { "type": "mcpToolCall", server: string, toolName: string, connectorId: string | null, connectorName: string | null, toolTitle: string | null, } | { "type": "requestPermissions", reason: string | null, permissions: RequestPermissionProfile, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianApprovalReviewStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianApprovalReviewStatus.ts new file mode 100644 index 00000000000..ae892572f5d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianApprovalReviewStatus.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * [UNSTABLE] Lifecycle state for an approval auto-review. + */ +export type GuardianApprovalReviewStatus = "inProgress" | "approved" | "denied" | "timedOut" | "aborted"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianCommandSource.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianCommandSource.ts new file mode 100644 index 00000000000..b48e9b08261 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianCommandSource.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 GuardianCommandSource = "shell" | "unifiedExec"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianRiskLevel.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianRiskLevel.ts new file mode 100644 index 00000000000..7734016aa87 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianRiskLevel.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * [UNSTABLE] Risk level assigned by approval auto-review. + */ +export type GuardianRiskLevel = "low" | "medium" | "high" | "critical"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianUserAuthorization.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianUserAuthorization.ts new file mode 100644 index 00000000000..936611f7849 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianUserAuthorization.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * [UNSTABLE] Authorization level assigned by approval auto-review. + */ +export type GuardianUserAuthorization = "unknown" | "low" | "medium" | "high"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianWarningNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianWarningNotification.ts new file mode 100644 index 00000000000..1659f62f1bf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/GuardianWarningNotification.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type GuardianWarningNotification = { +/** + * Thread target for the guardian warning. + */ +threadId: string, +/** + * Concise guardian warning message for the user. + */ +message: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookCompletedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookCompletedNotification.ts new file mode 100644 index 00000000000..885d65b69f1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookCompletedNotification.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 { HookRunSummary } from "./HookRunSummary.js"; + +export type HookCompletedNotification = { threadId: string, turnId: string | null, run: HookRunSummary, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookEventName.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookEventName.ts new file mode 100644 index 00000000000..28657d22821 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookEventName.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 HookEventName = "preToolUse" | "permissionRequest" | "postToolUse" | "sessionStart" | "userPromptSubmit" | "stop"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookExecutionMode.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookExecutionMode.ts new file mode 100644 index 00000000000..61f98564cad --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookExecutionMode.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 HookExecutionMode = "sync" | "async"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookHandlerType.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookHandlerType.ts new file mode 100644 index 00000000000..dc3f087bff9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookHandlerType.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 HookHandlerType = "command" | "prompt" | "agent"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookOutputEntry.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookOutputEntry.ts new file mode 100644 index 00000000000..33e1315467c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookOutputEntry.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 { HookOutputEntryKind } from "./HookOutputEntryKind.js"; + +export type HookOutputEntry = { kind: HookOutputEntryKind, text: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookOutputEntryKind.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookOutputEntryKind.ts new file mode 100644 index 00000000000..090dfe38740 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookOutputEntryKind.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 HookOutputEntryKind = "warning" | "stop" | "feedback" | "context" | "error"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookPromptFragment.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookPromptFragment.ts new file mode 100644 index 00000000000..2c6b18acba2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookPromptFragment.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 HookPromptFragment = { text: string, hookRunId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookRunStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookRunStatus.ts new file mode 100644 index 00000000000..ffca7e0e2c9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookRunStatus.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 HookRunStatus = "running" | "completed" | "failed" | "blocked" | "stopped"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookRunSummary.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookRunSummary.ts new file mode 100644 index 00000000000..944cca84d0d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookRunSummary.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { HookEventName } from "./HookEventName.js"; +import type { HookExecutionMode } from "./HookExecutionMode.js"; +import type { HookHandlerType } from "./HookHandlerType.js"; +import type { HookOutputEntry } from "./HookOutputEntry.js"; +import type { HookRunStatus } from "./HookRunStatus.js"; +import type { HookScope } from "./HookScope.js"; +import type { HookSource } from "./HookSource.js"; + +export type HookRunSummary = { id: string, eventName: HookEventName, handlerType: HookHandlerType, executionMode: HookExecutionMode, scope: HookScope, sourcePath: AbsolutePathBuf, source: HookSource, displayOrder: bigint, status: HookRunStatus, statusMessage: string | null, startedAt: bigint, completedAt: bigint | null, durationMs: bigint | null, entries: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookScope.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookScope.ts new file mode 100644 index 00000000000..ff6f8bfee44 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookScope.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 HookScope = "thread" | "turn"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookSource.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookSource.ts new file mode 100644 index 00000000000..7edf61f9186 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookSource.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 HookSource = "system" | "user" | "project" | "mdm" | "sessionFlags" | "legacyManagedConfigFile" | "legacyManagedConfigMdm" | "unknown"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookStartedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookStartedNotification.ts new file mode 100644 index 00000000000..6c657823ccc --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/HookStartedNotification.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 { HookRunSummary } from "./HookRunSummary.js"; + +export type HookStartedNotification = { threadId: string, turnId: string | null, run: HookRunSummary, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemCompletedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemCompletedNotification.ts new file mode 100644 index 00000000000..12a8bb3d591 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemCompletedNotification.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 { ThreadItem } from "./ThreadItem.js"; + +export type ItemCompletedNotification = { item: ThreadItem, threadId: string, turnId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemGuardianApprovalReviewCompletedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemGuardianApprovalReviewCompletedNotification.ts new file mode 100644 index 00000000000..83de8cbe6a7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemGuardianApprovalReviewCompletedNotification.ts @@ -0,0 +1,30 @@ +// 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 { AutoReviewDecisionSource } from "./AutoReviewDecisionSource.js"; +import type { GuardianApprovalReview } from "./GuardianApprovalReview.js"; +import type { GuardianApprovalReviewAction } from "./GuardianApprovalReviewAction.js"; + +/** + * [UNSTABLE] Temporary notification payload for approval auto-review. This + * shape is expected to change soon. + */ +export type ItemGuardianApprovalReviewCompletedNotification = { threadId: string, turnId: string, +/** + * Stable identifier for this review. + */ +reviewId: string, +/** + * Identifier for the reviewed item or tool call when one exists. + * + * In most cases, one review maps to one target item. The exceptions are + * - execve reviews, where a single command may contain multiple execve + * calls to review (only possible when using the shell_zsh_fork feature) + * - network policy reviews, where there is no target item + * + * A network call is triggered by a CommandExecution item, so having a + * target_item_id set to the CommandExecution item would be misleading + * because the review is about the network call, not the command execution. + * Therefore, target_item_id is set to None for network policy reviews. + */ +targetItemId: string | null, decisionSource: AutoReviewDecisionSource, review: GuardianApprovalReview, action: GuardianApprovalReviewAction, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemGuardianApprovalReviewStartedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemGuardianApprovalReviewStartedNotification.ts new file mode 100644 index 00000000000..ef6ce4ef9c4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemGuardianApprovalReviewStartedNotification.ts @@ -0,0 +1,29 @@ +// 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 { GuardianApprovalReview } from "./GuardianApprovalReview.js"; +import type { GuardianApprovalReviewAction } from "./GuardianApprovalReviewAction.js"; + +/** + * [UNSTABLE] Temporary notification payload for approval auto-review. This + * shape is expected to change soon. + */ +export type ItemGuardianApprovalReviewStartedNotification = { threadId: string, turnId: string, +/** + * Stable identifier for this review. + */ +reviewId: string, +/** + * Identifier for the reviewed item or tool call when one exists. + * + * In most cases, one review maps to one target item. The exceptions are + * - execve reviews, where a single command may contain multiple execve + * calls to review (only possible when using the shell_zsh_fork feature) + * - network policy reviews, where there is no target item + * + * A network call is triggered by a CommandExecution item, so having a + * target_item_id set to the CommandExecution item would be misleading + * because the review is about the network call, not the command execution. + * Therefore, target_item_id is set to None for network policy reviews. + */ +targetItemId: string | null, review: GuardianApprovalReview, action: GuardianApprovalReviewAction, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemStartedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemStartedNotification.ts new file mode 100644 index 00000000000..c945f81468b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ItemStartedNotification.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 { ThreadItem } from "./ThreadItem.js"; + +export type ItemStartedNotification = { item: ThreadItem, threadId: string, turnId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ListMcpServerStatusParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ListMcpServerStatusParams.ts new file mode 100644 index 00000000000..1ee55e70783 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ListMcpServerStatusParams.ts @@ -0,0 +1,19 @@ +// 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 { McpServerStatusDetail } from "./McpServerStatusDetail.js"; + +export type ListMcpServerStatusParams = { +/** + * Opaque pagination cursor returned by a previous call. + */ +cursor?: string | null, +/** + * Optional page size; defaults to a server-defined value. + */ +limit?: number | null, +/** + * Controls how much MCP inventory data to fetch for each server. + * Defaults to `Full` when omitted. + */ +detail?: McpServerStatusDetail | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ListMcpServerStatusResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ListMcpServerStatusResponse.ts new file mode 100644 index 00000000000..1b28605a04b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ListMcpServerStatusResponse.ts @@ -0,0 +1,11 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { McpServerStatus } from "./McpServerStatus.js"; + +export type ListMcpServerStatusResponse = { data: Array, +/** + * Opaque cursor to pass to the next call to continue after the last item. + * If None, there are no more items to return. + */ +nextCursor: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/LoginAccountParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/LoginAccountParams.ts new file mode 100644 index 00000000000..4831a6b2ded --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/LoginAccountParams.ts @@ -0,0 +1,21 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type LoginAccountParams = { "type": "apiKey", apiKey: string, } | { "type": "chatgpt" } | { "type": "chatgptDeviceCode" } | { "type": "chatgptAuthTokens", +/** + * Access token (JWT) supplied by the client. + * This token is used for backend API requests and email extraction. + */ +accessToken: string, +/** + * Workspace/account identifier supplied by the client. + */ +chatgptAccountId: string, +/** + * Optional plan type supplied by the client. + * + * When `null`, Codex attempts to derive the plan type from access-token + * claims. If unavailable, the plan defaults to `unknown`. + */ +chatgptPlanType?: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/LoginAccountResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/LoginAccountResponse.ts new file mode 100644 index 00000000000..34bccd6578e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/LoginAccountResponse.ts @@ -0,0 +1,17 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type LoginAccountResponse = { "type": "apiKey", } | { "type": "chatgpt", loginId: string, +/** + * URL the client should open in a browser to initiate the OAuth flow. + */ +authUrl: string, } | { "type": "chatgptDeviceCode", loginId: string, +/** + * URL the client should open in a browser to complete device code authorization. + */ +verificationUrl: string, +/** + * One-time code the user must enter after signing in. + */ +userCode: string, } | { "type": "chatgptAuthTokens", }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/LogoutAccountResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/LogoutAccountResponse.ts new file mode 100644 index 00000000000..ec85cf0ff77 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/LogoutAccountResponse.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 LogoutAccountResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ManagedHooksRequirements.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ManagedHooksRequirements.ts new file mode 100644 index 00000000000..e1b94a7b313 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ManagedHooksRequirements.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 { ConfiguredHookMatcherGroup } from "./ConfiguredHookMatcherGroup.js"; + +export type ManagedHooksRequirements = { managedDir: string | null, windowsManagedDir: string | null, PreToolUse: Array, PermissionRequest: Array, PostToolUse: Array, SessionStart: Array, UserPromptSubmit: Array, Stop: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceAddParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceAddParams.ts new file mode 100644 index 00000000000..23d16048124 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceAddParams.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 MarketplaceAddParams = { source: string, refName?: string | null, sparsePaths?: Array | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceAddResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceAddResponse.ts new file mode 100644 index 00000000000..b3bde4f43a9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceAddResponse.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type MarketplaceAddResponse = { marketplaceName: string, installedRoot: AbsolutePathBuf, alreadyAdded: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceInterface.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceInterface.ts new file mode 100644 index 00000000000..f82dc17944e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceInterface.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 MarketplaceInterface = { displayName: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceLoadErrorInfo.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceLoadErrorInfo.ts new file mode 100644 index 00000000000..b5b8daba927 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceLoadErrorInfo.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type MarketplaceLoadErrorInfo = { marketplacePath: AbsolutePathBuf, message: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceRemoveParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceRemoveParams.ts new file mode 100644 index 00000000000..086dd52a485 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceRemoveParams.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 MarketplaceRemoveParams = { marketplaceName: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceRemoveResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceRemoveResponse.ts new file mode 100644 index 00000000000..e82c009ee1e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceRemoveResponse.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type MarketplaceRemoveResponse = { marketplaceName: string, installedRoot: AbsolutePathBuf | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceUpgradeErrorInfo.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceUpgradeErrorInfo.ts new file mode 100644 index 00000000000..d54f8f592e9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceUpgradeErrorInfo.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 MarketplaceUpgradeErrorInfo = { marketplaceName: string, message: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceUpgradeParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceUpgradeParams.ts new file mode 100644 index 00000000000..6d2e5f50bd6 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceUpgradeParams.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 MarketplaceUpgradeParams = { marketplaceName?: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceUpgradeResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceUpgradeResponse.ts new file mode 100644 index 00000000000..1718eb68e9e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MarketplaceUpgradeResponse.ts @@ -0,0 +1,7 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { MarketplaceUpgradeErrorInfo } from "./MarketplaceUpgradeErrorInfo.js"; + +export type MarketplaceUpgradeResponse = { selectedMarketplaces: Array, upgradedRoots: Array, errors: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpAuthStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpAuthStatus.ts new file mode 100644 index 00000000000..6903a123210 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpAuthStatus.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 McpAuthStatus = "unsupported" | "notLoggedIn" | "bearerToken" | "oAuth"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationArrayType.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationArrayType.ts new file mode 100644 index 00000000000..066b44ea595 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationArrayType.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 McpElicitationArrayType = "array"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationBooleanSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationBooleanSchema.ts new file mode 100644 index 00000000000..8ac4f9b2861 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationBooleanSchema.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 { McpElicitationBooleanType } from "./McpElicitationBooleanType.js"; + +export type McpElicitationBooleanSchema = { type: McpElicitationBooleanType, title?: string, description?: string, default?: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationBooleanType.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationBooleanType.ts new file mode 100644 index 00000000000..f2b9ed48df4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationBooleanType.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 McpElicitationBooleanType = "boolean"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationConstOption.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationConstOption.ts new file mode 100644 index 00000000000..2031655d8bc --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationConstOption.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 McpElicitationConstOption = { const: string, title: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationEnumSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationEnumSchema.ts new file mode 100644 index 00000000000..eaabc93dcbe --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationEnumSchema.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { McpElicitationLegacyTitledEnumSchema } from "./McpElicitationLegacyTitledEnumSchema.js"; +import type { McpElicitationMultiSelectEnumSchema } from "./McpElicitationMultiSelectEnumSchema.js"; +import type { McpElicitationSingleSelectEnumSchema } from "./McpElicitationSingleSelectEnumSchema.js"; + +export type McpElicitationEnumSchema = McpElicitationSingleSelectEnumSchema | McpElicitationMultiSelectEnumSchema | McpElicitationLegacyTitledEnumSchema; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationLegacyTitledEnumSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationLegacyTitledEnumSchema.ts new file mode 100644 index 00000000000..d0938ab29ef --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationLegacyTitledEnumSchema.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 { McpElicitationStringType } from "./McpElicitationStringType.js"; + +export type McpElicitationLegacyTitledEnumSchema = { type: McpElicitationStringType, title?: string, description?: string, enum: Array, enumNames?: Array, default?: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationMultiSelectEnumSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationMultiSelectEnumSchema.ts new file mode 100644 index 00000000000..283a84402d8 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationMultiSelectEnumSchema.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 { McpElicitationTitledMultiSelectEnumSchema } from "./McpElicitationTitledMultiSelectEnumSchema.js"; +import type { McpElicitationUntitledMultiSelectEnumSchema } from "./McpElicitationUntitledMultiSelectEnumSchema.js"; + +export type McpElicitationMultiSelectEnumSchema = McpElicitationUntitledMultiSelectEnumSchema | McpElicitationTitledMultiSelectEnumSchema; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationNumberSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationNumberSchema.ts new file mode 100644 index 00000000000..8112430af52 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationNumberSchema.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 { McpElicitationNumberType } from "./McpElicitationNumberType.js"; + +export type McpElicitationNumberSchema = { type: McpElicitationNumberType, title?: string, description?: string, minimum?: number, maximum?: number, default?: number, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationNumberType.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationNumberType.ts new file mode 100644 index 00000000000..96a9ded7607 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationNumberType.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 McpElicitationNumberType = "number" | "integer"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationObjectType.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationObjectType.ts new file mode 100644 index 00000000000..2449a0c1ed2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationObjectType.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 McpElicitationObjectType = "object"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationPrimitiveSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationPrimitiveSchema.ts new file mode 100644 index 00000000000..22adee4354f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationPrimitiveSchema.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { McpElicitationBooleanSchema } from "./McpElicitationBooleanSchema.js"; +import type { McpElicitationEnumSchema } from "./McpElicitationEnumSchema.js"; +import type { McpElicitationNumberSchema } from "./McpElicitationNumberSchema.js"; +import type { McpElicitationStringSchema } from "./McpElicitationStringSchema.js"; + +export type McpElicitationPrimitiveSchema = McpElicitationEnumSchema | McpElicitationStringSchema | McpElicitationNumberSchema | McpElicitationBooleanSchema; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationSchema.ts new file mode 100644 index 00000000000..f297b9388a2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationSchema.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { McpElicitationObjectType } from "./McpElicitationObjectType.js"; +import type { McpElicitationPrimitiveSchema } from "./McpElicitationPrimitiveSchema.js"; + +/** + * Typed form schema for MCP `elicitation/create` requests. + * + * This matches the `requestedSchema` shape from the MCP 2025-11-25 + * `ElicitRequestFormParams` schema. + */ +export type McpElicitationSchema = { $schema?: string, type: McpElicitationObjectType, properties: { [key in string]?: McpElicitationPrimitiveSchema }, required?: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationSingleSelectEnumSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationSingleSelectEnumSchema.ts new file mode 100644 index 00000000000..52c504f2c83 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationSingleSelectEnumSchema.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 { McpElicitationTitledSingleSelectEnumSchema } from "./McpElicitationTitledSingleSelectEnumSchema.js"; +import type { McpElicitationUntitledSingleSelectEnumSchema } from "./McpElicitationUntitledSingleSelectEnumSchema.js"; + +export type McpElicitationSingleSelectEnumSchema = McpElicitationUntitledSingleSelectEnumSchema | McpElicitationTitledSingleSelectEnumSchema; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationStringFormat.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationStringFormat.ts new file mode 100644 index 00000000000..9891d4c7ca7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationStringFormat.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 McpElicitationStringFormat = "email" | "uri" | "date" | "date-time"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationStringSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationStringSchema.ts new file mode 100644 index 00000000000..a6dbc6d3749 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationStringSchema.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 { McpElicitationStringFormat } from "./McpElicitationStringFormat.js"; +import type { McpElicitationStringType } from "./McpElicitationStringType.js"; + +export type McpElicitationStringSchema = { type: McpElicitationStringType, title?: string, description?: string, minLength?: number, maxLength?: number, format?: McpElicitationStringFormat, default?: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationStringType.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationStringType.ts new file mode 100644 index 00000000000..bf2ddfab91c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationStringType.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 McpElicitationStringType = "string"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationTitledEnumItems.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationTitledEnumItems.ts new file mode 100644 index 00000000000..c198ff01e2d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationTitledEnumItems.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 { McpElicitationConstOption } from "./McpElicitationConstOption.js"; + +export type McpElicitationTitledEnumItems = { anyOf: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationTitledMultiSelectEnumSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationTitledMultiSelectEnumSchema.ts new file mode 100644 index 00000000000..71141f21c9e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationTitledMultiSelectEnumSchema.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 { McpElicitationArrayType } from "./McpElicitationArrayType.js"; +import type { McpElicitationTitledEnumItems } from "./McpElicitationTitledEnumItems.js"; + +export type McpElicitationTitledMultiSelectEnumSchema = { type: McpElicitationArrayType, title?: string, description?: string, minItems?: bigint, maxItems?: bigint, items: McpElicitationTitledEnumItems, default?: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationTitledSingleSelectEnumSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationTitledSingleSelectEnumSchema.ts new file mode 100644 index 00000000000..464c8131c96 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationTitledSingleSelectEnumSchema.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 { McpElicitationConstOption } from "./McpElicitationConstOption.js"; +import type { McpElicitationStringType } from "./McpElicitationStringType.js"; + +export type McpElicitationTitledSingleSelectEnumSchema = { type: McpElicitationStringType, title?: string, description?: string, oneOf: Array, default?: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationUntitledEnumItems.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationUntitledEnumItems.ts new file mode 100644 index 00000000000..c42f147b235 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationUntitledEnumItems.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 { McpElicitationStringType } from "./McpElicitationStringType.js"; + +export type McpElicitationUntitledEnumItems = { type: McpElicitationStringType, enum: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationUntitledMultiSelectEnumSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationUntitledMultiSelectEnumSchema.ts new file mode 100644 index 00000000000..86e5bf87fbb --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationUntitledMultiSelectEnumSchema.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 { McpElicitationArrayType } from "./McpElicitationArrayType.js"; +import type { McpElicitationUntitledEnumItems } from "./McpElicitationUntitledEnumItems.js"; + +export type McpElicitationUntitledMultiSelectEnumSchema = { type: McpElicitationArrayType, title?: string, description?: string, minItems?: bigint, maxItems?: bigint, items: McpElicitationUntitledEnumItems, default?: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationUntitledSingleSelectEnumSchema.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationUntitledSingleSelectEnumSchema.ts new file mode 100644 index 00000000000..f081ffe3bac --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpElicitationUntitledSingleSelectEnumSchema.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 { McpElicitationStringType } from "./McpElicitationStringType.js"; + +export type McpElicitationUntitledSingleSelectEnumSchema = { type: McpElicitationStringType, title?: string, description?: string, enum: Array, default?: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpResourceReadParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpResourceReadParams.ts new file mode 100644 index 00000000000..c48795f27e8 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpResourceReadParams.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 McpResourceReadParams = { threadId?: string | null, server: string, uri: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpResourceReadResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpResourceReadResponse.ts new file mode 100644 index 00000000000..91785336cc4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpResourceReadResponse.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 { ResourceContent } from "../ResourceContent.js"; + +export type McpResourceReadResponse = { contents: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerElicitationAction.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerElicitationAction.ts new file mode 100644 index 00000000000..7be134c0150 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerElicitationAction.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 McpServerElicitationAction = "accept" | "decline" | "cancel"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerElicitationRequestParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerElicitationRequestParams.ts new file mode 100644 index 00000000000..1ff8fd78c9c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerElicitationRequestParams.ts @@ -0,0 +1,16 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; +import type { McpElicitationSchema } from "./McpElicitationSchema.js"; + +export type McpServerElicitationRequestParams = { threadId: string, +/** + * Active Codex turn when this elicitation was observed, if app-server could correlate one. + * + * This is nullable because MCP models elicitation as a standalone server-to-client request + * identified by the MCP server request id. It may be triggered during a turn, but turn + * context is app-server correlation rather than part of the protocol identity of the + * elicitation itself. + */ +turnId: string | null, serverName: string, } & ({ "mode": "form", _meta: JsonValue | null, message: string, requestedSchema: McpElicitationSchema, } | { "mode": "url", _meta: JsonValue | null, message: string, url: string, elicitationId: string, }); diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerElicitationRequestResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerElicitationRequestResponse.ts new file mode 100644 index 00000000000..f6a346f4b4e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerElicitationRequestResponse.ts @@ -0,0 +1,17 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; +import type { McpServerElicitationAction } from "./McpServerElicitationAction.js"; + +export type McpServerElicitationRequestResponse = { action: McpServerElicitationAction, +/** + * Structured user input for accepted elicitations, mirroring RMCP `CreateElicitationResult`. + * + * This is nullable because decline/cancel responses have no content. + */ +content: JsonValue | null, +/** + * Optional client metadata for form-mode action handling. + */ +_meta: JsonValue | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerOauthLoginCompletedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerOauthLoginCompletedNotification.ts new file mode 100644 index 00000000000..592860ae39e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerOauthLoginCompletedNotification.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 McpServerOauthLoginCompletedNotification = { name: string, success: boolean, error?: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerOauthLoginParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerOauthLoginParams.ts new file mode 100644 index 00000000000..a61c3046090 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerOauthLoginParams.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 McpServerOauthLoginParams = { name: string, scopes?: Array | null, timeoutSecs?: bigint | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerOauthLoginResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerOauthLoginResponse.ts new file mode 100644 index 00000000000..5933574765c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerOauthLoginResponse.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 McpServerOauthLoginResponse = { authorizationUrl: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerRefreshResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerRefreshResponse.ts new file mode 100644 index 00000000000..48a25d2fec0 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerRefreshResponse.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 McpServerRefreshResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStartupState.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStartupState.ts new file mode 100644 index 00000000000..c62babca66a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStartupState.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 McpServerStartupState = "starting" | "ready" | "failed" | "cancelled"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStatus.ts new file mode 100644 index 00000000000..35530984f54 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStatus.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { Resource } from "../Resource.js"; +import type { ResourceTemplate } from "../ResourceTemplate.js"; +import type { Tool } from "../Tool.js"; +import type { McpAuthStatus } from "./McpAuthStatus.js"; + +export type McpServerStatus = { name: string, tools: { [key in string]?: Tool }, resources: Array, resourceTemplates: Array, authStatus: McpAuthStatus, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStatusDetail.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStatusDetail.ts new file mode 100644 index 00000000000..ab97cc2f31d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStatusDetail.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 McpServerStatusDetail = "full" | "toolsAndAuthOnly"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStatusUpdatedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStatusUpdatedNotification.ts new file mode 100644 index 00000000000..e58f7d7ed1e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerStatusUpdatedNotification.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 { McpServerStartupState } from "./McpServerStartupState.js"; + +export type McpServerStatusUpdatedNotification = { name: string, status: McpServerStartupState, error: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerToolCallParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerToolCallParams.ts new file mode 100644 index 00000000000..d5bd8b48566 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerToolCallParams.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; + +export type McpServerToolCallParams = { threadId: string, server: string, tool: string, arguments?: JsonValue, _meta?: JsonValue, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerToolCallResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerToolCallResponse.ts new file mode 100644 index 00000000000..929858d9799 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpServerToolCallResponse.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; + +export type McpServerToolCallResponse = { content: Array, structuredContent?: JsonValue, isError?: boolean, _meta?: JsonValue, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallError.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallError.ts new file mode 100644 index 00000000000..5e4ae8391b9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallError.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 McpToolCallError = { message: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallProgressNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallProgressNotification.ts new file mode 100644 index 00000000000..c255de2709a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallProgressNotification.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 McpToolCallProgressNotification = { threadId: string, turnId: string, itemId: string, message: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallResult.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallResult.ts new file mode 100644 index 00000000000..ecd82ed1ffc --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallResult.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; + +export type McpToolCallResult = { content: Array, structuredContent: JsonValue | null, _meta: JsonValue | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallStatus.ts new file mode 100644 index 00000000000..f46bca07e84 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/McpToolCallStatus.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 McpToolCallStatus = "inProgress" | "completed" | "failed"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MemoryCitation.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MemoryCitation.ts new file mode 100644 index 00000000000..625a7af1956 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MemoryCitation.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 { MemoryCitationEntry } from "./MemoryCitationEntry.js"; + +export type MemoryCitation = { entries: Array, threadIds: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MemoryCitationEntry.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MemoryCitationEntry.ts new file mode 100644 index 00000000000..9b9ce17267f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MemoryCitationEntry.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 MemoryCitationEntry = { path: string, lineStart: number, lineEnd: number, note: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MergeStrategy.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MergeStrategy.ts new file mode 100644 index 00000000000..098677f2895 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MergeStrategy.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 MergeStrategy = "replace" | "upsert"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/MigrationDetails.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MigrationDetails.ts new file mode 100644 index 00000000000..88952c4456e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/MigrationDetails.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 { PluginsMigration } from "./PluginsMigration.js"; + +export type MigrationDetails = { plugins: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/Model.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/Model.ts new file mode 100644 index 00000000000..80a7497e035 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/Model.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { InputModality } from "../InputModality.js"; +import type { ReasoningEffort } from "../ReasoningEffort.js"; +import type { ModelAvailabilityNux } from "./ModelAvailabilityNux.js"; +import type { ModelUpgradeInfo } from "./ModelUpgradeInfo.js"; +import type { ReasoningEffortOption } from "./ReasoningEffortOption.js"; + +export type Model = { id: string, model: string, upgrade: string | null, upgradeInfo: ModelUpgradeInfo | null, availabilityNux: ModelAvailabilityNux | null, displayName: string, description: string, hidden: boolean, supportedReasoningEfforts: Array, defaultReasoningEffort: ReasoningEffort, inputModalities: Array, supportsPersonality: boolean, additionalSpeedTiers: Array, isDefault: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelAvailabilityNux.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelAvailabilityNux.ts new file mode 100644 index 00000000000..7254aaec9b7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelAvailabilityNux.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 ModelAvailabilityNux = { message: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelListParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelListParams.ts new file mode 100644 index 00000000000..dae406dd2df --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelListParams.ts @@ -0,0 +1,17 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ModelListParams = { +/** + * Opaque pagination cursor returned by a previous call. + */ +cursor?: string | null, +/** + * Optional page size; defaults to a reasonable server-side value. + */ +limit?: number | null, +/** + * When true, include models that are hidden from the default picker list. + */ +includeHidden?: boolean | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelListResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelListResponse.ts new file mode 100644 index 00000000000..c640dcceddd --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelListResponse.ts @@ -0,0 +1,11 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { Model } from "./Model.js"; + +export type ModelListResponse = { data: Array, +/** + * Opaque cursor to pass to the next call to continue after the last item. + * If None, there are no more items to return. + */ +nextCursor: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelRerouteReason.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelRerouteReason.ts new file mode 100644 index 00000000000..e780e7f95d7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelRerouteReason.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 ModelRerouteReason = "highRiskCyberActivity"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelReroutedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelReroutedNotification.ts new file mode 100644 index 00000000000..53834060e41 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelReroutedNotification.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 { ModelRerouteReason } from "./ModelRerouteReason.js"; + +export type ModelReroutedNotification = { threadId: string, turnId: string, fromModel: string, toModel: string, reason: ModelRerouteReason, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelUpgradeInfo.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelUpgradeInfo.ts new file mode 100644 index 00000000000..82d73e9d062 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelUpgradeInfo.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 ModelUpgradeInfo = { model: string, upgradeCopy: string | null, modelLink: string | null, migrationMarkdown: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelVerification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelVerification.ts new file mode 100644 index 00000000000..00538c090f0 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelVerification.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 ModelVerification = "trustedAccessForCyber"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelVerificationNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelVerificationNotification.ts new file mode 100644 index 00000000000..d20b55e30b0 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ModelVerificationNotification.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 { ModelVerification } from "./ModelVerification.js"; + +export type ModelVerificationNotification = { threadId: string, turnId: string, verifications: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkAccess.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkAccess.ts new file mode 100644 index 00000000000..7b697b23149 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkAccess.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 NetworkAccess = "restricted" | "enabled"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkApprovalContext.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkApprovalContext.ts new file mode 100644 index 00000000000..f729b287c2a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkApprovalContext.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 { NetworkApprovalProtocol } from "./NetworkApprovalProtocol.js"; + +export type NetworkApprovalContext = { host: string, protocol: NetworkApprovalProtocol, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkApprovalProtocol.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkApprovalProtocol.ts new file mode 100644 index 00000000000..9dd4066fd13 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkApprovalProtocol.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 NetworkApprovalProtocol = "http" | "https" | "socks5Tcp" | "socks5Udp"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkDomainPermission.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkDomainPermission.ts new file mode 100644 index 00000000000..2ea44392de9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkDomainPermission.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 NetworkDomainPermission = "allow" | "deny"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkPolicyAmendment.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkPolicyAmendment.ts new file mode 100644 index 00000000000..ffbc2203327 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkPolicyAmendment.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 { NetworkPolicyRuleAction } from "./NetworkPolicyRuleAction.js"; + +export type NetworkPolicyAmendment = { host: string, action: NetworkPolicyRuleAction, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkPolicyRuleAction.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkPolicyRuleAction.ts new file mode 100644 index 00000000000..55ec70032a6 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkPolicyRuleAction.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 NetworkPolicyRuleAction = "allow" | "deny"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkRequirements.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkRequirements.ts new file mode 100644 index 00000000000..66eb200b3cf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkRequirements.ts @@ -0,0 +1,32 @@ +// 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 { NetworkDomainPermission } from "./NetworkDomainPermission.js"; +import type { NetworkUnixSocketPermission } from "./NetworkUnixSocketPermission.js"; + +export type NetworkRequirements = { enabled: boolean | null, httpPort: number | null, socksPort: number | null, allowUpstreamProxy: boolean | null, dangerouslyAllowNonLoopbackProxy: boolean | null, dangerouslyAllowAllUnixSockets: boolean | null, +/** + * Canonical network permission map for `experimental_network`. + */ +domains: { [key in string]?: NetworkDomainPermission } | null, +/** + * When true, only managed allowlist entries are respected while managed + * network enforcement is active. + */ +managedAllowedDomainsOnly: boolean | null, +/** + * Legacy compatibility view derived from `domains`. + */ +allowedDomains: Array | null, +/** + * Legacy compatibility view derived from `domains`. + */ +deniedDomains: Array | null, +/** + * Canonical unix socket permission map for `experimental_network`. + */ +unixSockets: { [key in string]?: NetworkUnixSocketPermission } | null, +/** + * Legacy compatibility view derived from `unix_sockets`. + */ +allowUnixSockets: Array | null, allowLocalBinding: boolean | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkUnixSocketPermission.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkUnixSocketPermission.ts new file mode 100644 index 00000000000..466c6e5f8f9 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NetworkUnixSocketPermission.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 NetworkUnixSocketPermission = "allow" | "none"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/NonSteerableTurnKind.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NonSteerableTurnKind.ts new file mode 100644 index 00000000000..2624df2ba0d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/NonSteerableTurnKind.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 NonSteerableTurnKind = "review" | "compact"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/OverriddenMetadata.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/OverriddenMetadata.ts new file mode 100644 index 00000000000..7ba3f0afb83 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/OverriddenMetadata.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 { JsonValue } from "../serde_json/JsonValue.js"; +import type { ConfigLayerMetadata } from "./ConfigLayerMetadata.js"; + +export type OverriddenMetadata = { message: string, overridingLayer: ConfigLayerMetadata, effectiveValue: JsonValue, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PatchApplyStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PatchApplyStatus.ts new file mode 100644 index 00000000000..620be789e49 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PatchApplyStatus.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 PatchApplyStatus = "inProgress" | "completed" | "failed" | "declined"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PatchChangeKind.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PatchChangeKind.ts new file mode 100644 index 00000000000..23dda6cb121 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PatchChangeKind.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 PatchChangeKind = { "type": "add" } | { "type": "delete" } | { "type": "update", move_path: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionGrantScope.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionGrantScope.ts new file mode 100644 index 00000000000..8ca127ebcb1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionGrantScope.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 PermissionGrantScope = "turn" | "session"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionProfile.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionProfile.ts new file mode 100644 index 00000000000..a49c66e0230 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionProfile.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 { PermissionProfileFileSystemPermissions } from "./PermissionProfileFileSystemPermissions.js"; +import type { PermissionProfileNetworkPermissions } from "./PermissionProfileNetworkPermissions.js"; + +export type PermissionProfile = { network: PermissionProfileNetworkPermissions | null, fileSystem: PermissionProfileFileSystemPermissions | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionProfileFileSystemPermissions.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionProfileFileSystemPermissions.ts new file mode 100644 index 00000000000..489f284e59a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionProfileFileSystemPermissions.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 { FileSystemSandboxEntry } from "./FileSystemSandboxEntry.js"; + +export type PermissionProfileFileSystemPermissions = { entries: Array, globScanMaxDepth?: number, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionProfileNetworkPermissions.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionProfileNetworkPermissions.ts new file mode 100644 index 00000000000..9aa130412a4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionProfileNetworkPermissions.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 PermissionProfileNetworkPermissions = { enabled: boolean | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionsRequestApprovalParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionsRequestApprovalParams.ts new file mode 100644 index 00000000000..4b8ab372d02 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionsRequestApprovalParams.ts @@ -0,0 +1,7 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { RequestPermissionProfile } from "./RequestPermissionProfile.js"; + +export type PermissionsRequestApprovalParams = { threadId: string, turnId: string, itemId: string, cwd: AbsolutePathBuf, reason: string | null, permissions: RequestPermissionProfile, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionsRequestApprovalResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionsRequestApprovalResponse.ts new file mode 100644 index 00000000000..f49e893ce76 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PermissionsRequestApprovalResponse.ts @@ -0,0 +1,11 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { GrantedPermissionProfile } from "./GrantedPermissionProfile.js"; +import type { PermissionGrantScope } from "./PermissionGrantScope.js"; + +export type PermissionsRequestApprovalResponse = { permissions: GrantedPermissionProfile, scope: PermissionGrantScope, +/** + * Review every subsequent command in this turn before normal sandboxed execution. + */ +strictAutoReview?: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PlanDeltaNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PlanDeltaNotification.ts new file mode 100644 index 00000000000..5ab359668e6 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PlanDeltaNotification.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL - proposed plan streaming deltas for plan items. Clients should + * not assume concatenated deltas match the completed plan item content. + */ +export type PlanDeltaNotification = { threadId: string, turnId: string, itemId: string, delta: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginAuthPolicy.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginAuthPolicy.ts new file mode 100644 index 00000000000..5b90e9c3136 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginAuthPolicy.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 PluginAuthPolicy = "ON_INSTALL" | "ON_USE"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginDetail.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginDetail.ts new file mode 100644 index 00000000000..ea209df5592 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginDetail.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { AppSummary } from "./AppSummary.js"; +import type { PluginSummary } from "./PluginSummary.js"; +import type { SkillSummary } from "./SkillSummary.js"; + +export type PluginDetail = { marketplaceName: string, marketplacePath: AbsolutePathBuf | null, summary: PluginSummary, description: string | null, skills: Array, apps: Array, mcpServers: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInstallParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInstallParams.ts new file mode 100644 index 00000000000..7893f8d1bf1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInstallParams.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type PluginInstallParams = { marketplacePath?: AbsolutePathBuf | null, remoteMarketplaceName?: string | null, pluginName: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInstallPolicy.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInstallPolicy.ts new file mode 100644 index 00000000000..d624f38ea3f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInstallPolicy.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 PluginInstallPolicy = "NOT_AVAILABLE" | "AVAILABLE" | "INSTALLED_BY_DEFAULT"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInstallResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInstallResponse.ts new file mode 100644 index 00000000000..03e48347cac --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInstallResponse.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 { AppSummary } from "./AppSummary.js"; +import type { PluginAuthPolicy } from "./PluginAuthPolicy.js"; + +export type PluginInstallResponse = { authPolicy: PluginAuthPolicy, appsNeedingAuth: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInterface.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInterface.ts new file mode 100644 index 00000000000..cba69efdb47 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginInterface.ts @@ -0,0 +1,35 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type PluginInterface = { displayName: string | null, shortDescription: string | null, longDescription: string | null, developerName: string | null, category: string | null, capabilities: Array, websiteUrl: string | null, privacyPolicyUrl: string | null, termsOfServiceUrl: string | null, +/** + * Starter prompts for the plugin. Capped at 3 entries with a maximum of + * 128 characters per entry. + */ +defaultPrompt: Array | null, brandColor: string | null, +/** + * Local composer icon path, resolved from the installed plugin package. + */ +composerIcon: AbsolutePathBuf | null, +/** + * Remote composer icon URL from the plugin catalog. + */ +composerIconUrl: string | null, +/** + * Local logo path, resolved from the installed plugin package. + */ +logo: AbsolutePathBuf | null, +/** + * Remote logo URL from the plugin catalog. + */ +logoUrl: string | null, +/** + * Local screenshot paths, resolved from the installed plugin package. + */ +screenshots: Array, +/** + * Remote screenshot URLs from the plugin catalog. + */ +screenshotUrls: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginListParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginListParams.ts new file mode 100644 index 00000000000..5830c5f195c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginListParams.ts @@ -0,0 +1,11 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type PluginListParams = { +/** + * Optional working directories used to discover repo marketplaces. When omitted, + * only home-scoped marketplaces and the official curated marketplace are considered. + */ +cwds?: Array | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginListResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginListResponse.ts new file mode 100644 index 00000000000..c6e6c8407c1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginListResponse.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 { MarketplaceLoadErrorInfo } from "./MarketplaceLoadErrorInfo.js"; +import type { PluginMarketplaceEntry } from "./PluginMarketplaceEntry.js"; + +export type PluginListResponse = { marketplaces: Array, marketplaceLoadErrors: Array, featuredPluginIds: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginMarketplaceEntry.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginMarketplaceEntry.ts new file mode 100644 index 00000000000..64b4f8fb63d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginMarketplaceEntry.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { MarketplaceInterface } from "./MarketplaceInterface.js"; +import type { PluginSummary } from "./PluginSummary.js"; + +export type PluginMarketplaceEntry = { name: string, +/** + * Local marketplace file path when the marketplace is backed by a local file. + * Remote-only catalog marketplaces do not have a local path. + */ +path: AbsolutePathBuf | null, interface: MarketplaceInterface | null, plugins: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginReadParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginReadParams.ts new file mode 100644 index 00000000000..f9ddc30f940 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginReadParams.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type PluginReadParams = { marketplacePath?: AbsolutePathBuf | null, remoteMarketplaceName?: string | null, pluginName: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginReadResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginReadResponse.ts new file mode 100644 index 00000000000..0f666d5ecb7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginReadResponse.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 { PluginDetail } from "./PluginDetail.js"; + +export type PluginReadResponse = { plugin: PluginDetail, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginSource.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginSource.ts new file mode 100644 index 00000000000..65fe0b7d70c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginSource.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type PluginSource = { "type": "local", path: AbsolutePathBuf, } | { "type": "git", url: string, path: string | null, refName: string | null, sha: string | null, } | { "type": "remote" }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginSummary.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginSummary.ts new file mode 100644 index 00000000000..b25050db89c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginSummary.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { PluginAuthPolicy } from "./PluginAuthPolicy.js"; +import type { PluginInstallPolicy } from "./PluginInstallPolicy.js"; +import type { PluginInterface } from "./PluginInterface.js"; +import type { PluginSource } from "./PluginSource.js"; + +export type PluginSummary = { id: string, name: string, source: PluginSource, installed: boolean, enabled: boolean, installPolicy: PluginInstallPolicy, authPolicy: PluginAuthPolicy, interface: PluginInterface | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginUninstallParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginUninstallParams.ts new file mode 100644 index 00000000000..e7f52c0eb3c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginUninstallParams.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 PluginUninstallParams = { pluginId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginUninstallResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginUninstallResponse.ts new file mode 100644 index 00000000000..5d02c2f7167 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginUninstallResponse.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 PluginUninstallResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginsMigration.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginsMigration.ts new file mode 100644 index 00000000000..0dce06d9ab4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/PluginsMigration.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 PluginsMigration = { marketplaceName: string, pluginNames: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ProfileV2.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ProfileV2.ts new file mode 100644 index 00000000000..e377ccf26ce --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ProfileV2.ts @@ -0,0 +1,19 @@ +// 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 { ReasoningEffort } from "../ReasoningEffort.js"; +import type { ReasoningSummary } from "../ReasoningSummary.js"; +import type { ServiceTier } from "../ServiceTier.js"; +import type { Verbosity } from "../Verbosity.js"; +import type { WebSearchMode } from "../WebSearchMode.js"; +import type { JsonValue } from "../serde_json/JsonValue.js"; +import type { ApprovalsReviewer } from "./ApprovalsReviewer.js"; +import type { AskForApproval } from "./AskForApproval.js"; +import type { ToolsV2 } from "./ToolsV2.js"; + +export type ProfileV2 = {model: string | null, model_provider: string | null, approval_policy: AskForApproval | null, /** + * [UNSTABLE] Optional profile-level override for where approval requests + * are routed for review. If omitted, the enclosing config default is + * used. + */ +approvals_reviewer: ApprovalsReviewer | null, service_tier: ServiceTier | null, model_reasoning_effort: ReasoningEffort | null, model_reasoning_summary: ReasoningSummary | null, model_verbosity: Verbosity | null, web_search: WebSearchMode | null, tools: ToolsV2 | null, chatgpt_base_url: string | null} & ({ [key in string]?: number | string | boolean | Array | { [key in string]?: JsonValue } | null }); diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/RateLimitReachedType.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RateLimitReachedType.ts new file mode 100644 index 00000000000..78f106c905d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RateLimitReachedType.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 RateLimitReachedType = "rate_limit_reached" | "workspace_owner_credits_depleted" | "workspace_member_credits_depleted" | "workspace_owner_usage_limit_reached" | "workspace_member_usage_limit_reached"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/RateLimitSnapshot.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RateLimitSnapshot.ts new file mode 100644 index 00000000000..f6650962910 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RateLimitSnapshot.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { PlanType } from "../PlanType.js"; +import type { CreditsSnapshot } from "./CreditsSnapshot.js"; +import type { RateLimitReachedType } from "./RateLimitReachedType.js"; +import type { RateLimitWindow } from "./RateLimitWindow.js"; + +export type RateLimitSnapshot = { limitId: string | null, limitName: string | null, primary: RateLimitWindow | null, secondary: RateLimitWindow | null, credits: CreditsSnapshot | null, planType: PlanType | null, rateLimitReachedType: RateLimitReachedType | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/RateLimitWindow.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RateLimitWindow.ts new file mode 100644 index 00000000000..5031f8d93bc --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RateLimitWindow.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 RateLimitWindow = { usedPercent: number, windowDurationMins: number | null, resetsAt: number | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/RawResponseItemCompletedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RawResponseItemCompletedNotification.ts new file mode 100644 index 00000000000..47af84fce2d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RawResponseItemCompletedNotification.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 { ResponseItem } from "../ResponseItem.js"; + +export type RawResponseItemCompletedNotification = { threadId: string, turnId: string, item: ResponseItem, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReadOnlyAccess.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReadOnlyAccess.ts new file mode 100644 index 00000000000..709130cf612 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReadOnlyAccess.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type ReadOnlyAccess = { "type": "restricted", includePlatformDefaults: boolean, readableRoots: Array, } | { "type": "fullAccess" }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningEffortOption.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningEffortOption.ts new file mode 100644 index 00000000000..7e53377a448 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningEffortOption.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 { ReasoningEffort } from "../ReasoningEffort.js"; + +export type ReasoningEffortOption = { reasoningEffort: ReasoningEffort, description: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningSummaryPartAddedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningSummaryPartAddedNotification.ts new file mode 100644 index 00000000000..35858125056 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningSummaryPartAddedNotification.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 ReasoningSummaryPartAddedNotification = { threadId: string, turnId: string, itemId: string, summaryIndex: number, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningSummaryTextDeltaNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningSummaryTextDeltaNotification.ts new file mode 100644 index 00000000000..aa932fa5244 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningSummaryTextDeltaNotification.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 ReasoningSummaryTextDeltaNotification = { threadId: string, turnId: string, itemId: string, delta: string, summaryIndex: number, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningTextDeltaNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningTextDeltaNotification.ts new file mode 100644 index 00000000000..86584ba3b85 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReasoningTextDeltaNotification.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 ReasoningTextDeltaNotification = { threadId: string, turnId: string, itemId: string, delta: string, contentIndex: number, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/RemoteControlClientConnectionAudience.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RemoteControlClientConnectionAudience.ts new file mode 100644 index 00000000000..e4d41ff4c23 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RemoteControlClientConnectionAudience.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Audience for a remote-control client connection device-key proof. + */ +export type RemoteControlClientConnectionAudience = "remote_control_client_websocket"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/RemoteControlClientEnrollmentAudience.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RemoteControlClientEnrollmentAudience.ts new file mode 100644 index 00000000000..b65fb3d11ba --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RemoteControlClientEnrollmentAudience.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Audience for a remote-control client enrollment device-key proof. + */ +export type RemoteControlClientEnrollmentAudience = "remote_control_client_enrollment"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/RequestPermissionProfile.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RequestPermissionProfile.ts new file mode 100644 index 00000000000..9a1ee1b627a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/RequestPermissionProfile.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 { AdditionalFileSystemPermissions } from "./AdditionalFileSystemPermissions.js"; +import type { AdditionalNetworkPermissions } from "./AdditionalNetworkPermissions.js"; + +export type RequestPermissionProfile = { network: AdditionalNetworkPermissions | null, fileSystem: AdditionalFileSystemPermissions | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ResidencyRequirement.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ResidencyRequirement.ts new file mode 100644 index 00000000000..1699c84e7cd --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ResidencyRequirement.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 ResidencyRequirement = "us"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewDelivery.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewDelivery.ts new file mode 100644 index 00000000000..8fbccd1050a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewDelivery.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 ReviewDelivery = "inline" | "detached"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewStartParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewStartParams.ts new file mode 100644 index 00000000000..c11c3fcc615 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewStartParams.ts @@ -0,0 +1,12 @@ +// 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 { ReviewDelivery } from "./ReviewDelivery.js"; +import type { ReviewTarget } from "./ReviewTarget.js"; + +export type ReviewStartParams = { threadId: string, target: ReviewTarget, +/** + * Where to run the review: inline (default) on the current thread or + * detached on a new thread (returned in `reviewThreadId`). + */ +delivery?: ReviewDelivery | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewStartResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewStartResponse.ts new file mode 100644 index 00000000000..05fd94417fa --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewStartResponse.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { Turn } from "./Turn.js"; + +export type ReviewStartResponse = { turn: Turn, +/** + * Identifies the thread where the review runs. + * + * For inline reviews, this is the original thread id. + * For detached reviews, this is the id of the new review thread. + */ +reviewThreadId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewTarget.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewTarget.ts new file mode 100644 index 00000000000..a69b68c056c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ReviewTarget.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ReviewTarget = { "type": "uncommittedChanges" } | { "type": "baseBranch", branch: string, } | { "type": "commit", sha: string, +/** + * Optional human-readable label (e.g., commit subject) for UIs. + */ +title: string | null, } | { "type": "custom", instructions: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SandboxMode.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SandboxMode.ts new file mode 100644 index 00000000000..b8cf4326b98 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SandboxMode.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 SandboxMode = "read-only" | "workspace-write" | "danger-full-access"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SandboxPolicy.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SandboxPolicy.ts new file mode 100644 index 00000000000..a70fdf6c859 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SandboxPolicy.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { NetworkAccess } from "./NetworkAccess.js"; +import type { ReadOnlyAccess } from "./ReadOnlyAccess.js"; + +export type SandboxPolicy = { "type": "dangerFullAccess" } | { "type": "readOnly", access: ReadOnlyAccess, networkAccess: boolean, } | { "type": "externalSandbox", networkAccess: NetworkAccess, } | { "type": "workspaceWrite", writableRoots: Array, readOnlyAccess: ReadOnlyAccess, networkAccess: boolean, excludeTmpdirEnvVar: boolean, excludeSlashTmp: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SandboxWorkspaceWrite.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SandboxWorkspaceWrite.ts new file mode 100644 index 00000000000..cd19d83f1f2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SandboxWorkspaceWrite.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 SandboxWorkspaceWrite = { writable_roots: Array, network_access: boolean, exclude_tmpdir_env_var: boolean, exclude_slash_tmp: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SendAddCreditsNudgeEmailParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SendAddCreditsNudgeEmailParams.ts new file mode 100644 index 00000000000..8d523b80513 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SendAddCreditsNudgeEmailParams.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 { AddCreditsNudgeCreditType } from "./AddCreditsNudgeCreditType.js"; + +export type SendAddCreditsNudgeEmailParams = { creditType: AddCreditsNudgeCreditType, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SendAddCreditsNudgeEmailResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SendAddCreditsNudgeEmailResponse.ts new file mode 100644 index 00000000000..19ed84594f0 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SendAddCreditsNudgeEmailResponse.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 { AddCreditsNudgeEmailStatus } from "./AddCreditsNudgeEmailStatus.js"; + +export type SendAddCreditsNudgeEmailResponse = { status: AddCreditsNudgeEmailStatus, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ServerRequestResolvedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ServerRequestResolvedNotification.ts new file mode 100644 index 00000000000..07fa929e1d1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ServerRequestResolvedNotification.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 { RequestId } from "../RequestId.js"; + +export type ServerRequestResolvedNotification = { threadId: string, requestId: RequestId, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SessionSource.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SessionSource.ts new file mode 100644 index 00000000000..9ac158c5429 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SessionSource.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 { SubAgentSource } from "../SubAgentSource.js"; + +export type SessionSource = "cli" | "vscode" | "exec" | "appServer" | { "custom": string } | { "subAgent": SubAgentSource } | "unknown"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillDependencies.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillDependencies.ts new file mode 100644 index 00000000000..3e59f7722d1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillDependencies.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 { SkillToolDependency } from "./SkillToolDependency.js"; + +export type SkillDependencies = { tools: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillErrorInfo.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillErrorInfo.ts new file mode 100644 index 00000000000..6eaf035d8cc --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillErrorInfo.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 SkillErrorInfo = { path: string, message: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillInterface.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillInterface.ts new file mode 100644 index 00000000000..f4d28665ce7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillInterface.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type SkillInterface = { displayName?: string, shortDescription?: string, iconSmall?: AbsolutePathBuf, iconLarge?: AbsolutePathBuf, brandColor?: string, defaultPrompt?: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillMetadata.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillMetadata.ts new file mode 100644 index 00000000000..49e622b51df --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillMetadata.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { SkillDependencies } from "./SkillDependencies.js"; +import type { SkillInterface } from "./SkillInterface.js"; +import type { SkillScope } from "./SkillScope.js"; + +export type SkillMetadata = { name: string, description: string, +/** + * Legacy short_description from SKILL.md. Prefer SKILL.json interface.short_description. + */ +shortDescription?: string, interface?: SkillInterface, dependencies?: SkillDependencies, path: AbsolutePathBuf, scope: SkillScope, enabled: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillScope.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillScope.ts new file mode 100644 index 00000000000..997006f5b83 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillScope.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 SkillScope = "user" | "repo" | "system" | "admin"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillSummary.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillSummary.ts new file mode 100644 index 00000000000..c0369ae9646 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillSummary.ts @@ -0,0 +1,7 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { SkillInterface } from "./SkillInterface.js"; + +export type SkillSummary = { name: string, description: string, shortDescription: string | null, interface: SkillInterface | null, path: AbsolutePathBuf | null, enabled: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillToolDependency.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillToolDependency.ts new file mode 100644 index 00000000000..a5da45e1785 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillToolDependency.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 SkillToolDependency = { type: string, value: string, description?: string, transport?: string, command?: string, url?: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsChangedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsChangedNotification.ts new file mode 100644 index 00000000000..23ed93a5ece --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsChangedNotification.ts @@ -0,0 +1,11 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Notification emitted when watched local skill files change. + * + * Treat this as an invalidation signal and re-run `skills/list` with the + * client's current parameters when refreshed skill metadata is needed. + */ +export type SkillsChangedNotification = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsConfigWriteParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsConfigWriteParams.ts new file mode 100644 index 00000000000..910e4c0c87e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsConfigWriteParams.ts @@ -0,0 +1,14 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type SkillsConfigWriteParams = { +/** + * Path-based selector. + */ +path?: AbsolutePathBuf | null, +/** + * Name-based selector. + */ +name?: string | null, enabled: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsConfigWriteResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsConfigWriteResponse.ts new file mode 100644 index 00000000000..c0e8ef7cbd1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsConfigWriteResponse.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 SkillsConfigWriteResponse = { effectiveEnabled: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListEntry.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListEntry.ts new file mode 100644 index 00000000000..bf92da52e35 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListEntry.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 { SkillErrorInfo } from "./SkillErrorInfo.js"; +import type { SkillMetadata } from "./SkillMetadata.js"; + +export type SkillsListEntry = { cwd: string, skills: Array, errors: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListExtraRootsForCwd.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListExtraRootsForCwd.ts new file mode 100644 index 00000000000..c18cd4ba1d8 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListExtraRootsForCwd.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 SkillsListExtraRootsForCwd = { cwd: string, extraUserRoots: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListParams.ts new file mode 100644 index 00000000000..2266bcb4f64 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListParams.ts @@ -0,0 +1,18 @@ +// 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 { SkillsListExtraRootsForCwd } from "./SkillsListExtraRootsForCwd.js"; + +export type SkillsListParams = { +/** + * When empty, defaults to the current session working directory. + */ +cwds?: Array, +/** + * When true, bypass the skills cache and re-scan skills from disk. + */ +forceReload?: boolean, +/** + * Optional per-cwd extra roots to scan as user-scoped skills. + */ +perCwdExtraUserRoots?: Array | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListResponse.ts new file mode 100644 index 00000000000..059423ef978 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SkillsListResponse.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 { SkillsListEntry } from "./SkillsListEntry.js"; + +export type SkillsListResponse = { data: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/SortDirection.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SortDirection.ts new file mode 100644 index 00000000000..d8597a46ea7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/SortDirection.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 SortDirection = "asc" | "desc"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TerminalInteractionNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TerminalInteractionNotification.ts new file mode 100644 index 00000000000..1631f861745 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TerminalInteractionNotification.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 TerminalInteractionNotification = { threadId: string, turnId: string, itemId: string, processId: string, stdin: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TextElement.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TextElement.ts new file mode 100644 index 00000000000..0692265241d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TextElement.ts @@ -0,0 +1,14 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ByteRange } from "./ByteRange.js"; + +export type TextElement = { +/** + * Byte range in the parent `text` buffer that this element occupies. + */ +byteRange: ByteRange, +/** + * Optional human-readable placeholder for the element, displayed in the UI. + */ +placeholder: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TextPosition.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TextPosition.ts new file mode 100644 index 00000000000..0e6eeb13767 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TextPosition.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type TextPosition = { +/** + * 1-based line number. + */ +line: number, +/** + * 1-based column number (in Unicode scalar values). + */ +column: number, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TextRange.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TextRange.ts new file mode 100644 index 00000000000..77ca22bbb1a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TextRange.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 { TextPosition } from "./TextPosition.js"; + +export type TextRange = { start: TextPosition, end: TextPosition, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/Thread.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/Thread.ts new file mode 100644 index 00000000000..a18c752e70c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/Thread.ts @@ -0,0 +1,77 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { GitInfo } from "./GitInfo.js"; +import type { SessionSource } from "./SessionSource.js"; +import type { ThreadStatus } from "./ThreadStatus.js"; +import type { Turn } from "./Turn.js"; + +export type Thread = { id: string, +/** + * Source thread id when this thread was created by forking another thread. + */ +forkedFromId: string | null, +/** + * Usually the first user message in the thread, if available. + */ +preview: string, +/** + * Whether the thread is ephemeral and should not be materialized on disk. + */ +ephemeral: boolean, +/** + * Model provider used for this thread (for example, 'openai'). + */ +modelProvider: string, +/** + * Unix timestamp (in seconds) when the thread was created. + */ +createdAt: number, +/** + * Unix timestamp (in seconds) when the thread was last updated. + */ +updatedAt: number, +/** + * Current runtime status for the thread. + */ +status: ThreadStatus, +/** + * [UNSTABLE] Path to the thread on disk. + */ +path: string | null, +/** + * Working directory captured for the thread. + */ +cwd: AbsolutePathBuf, +/** + * Version of the CLI that created the thread. + */ +cliVersion: string, +/** + * Origin of the thread (CLI, VSCode, codex exec, codex app-server, etc.). + */ +source: SessionSource, +/** + * Optional random unique nickname assigned to an AgentControl-spawned sub-agent. + */ +agentNickname: string | null, +/** + * Optional role (agent_role) assigned to an AgentControl-spawned sub-agent. + */ +agentRole: string | null, +/** + * Optional Git metadata captured when the thread was created. + */ +gitInfo: GitInfo | null, +/** + * Optional user-facing thread title. + */ +name: string | null, +/** + * Only populated on `thread/resume`, `thread/rollback`, `thread/fork`, and `thread/read` + * (when `includeTurns` is true) responses. + * For all other responses and notifications returning a Thread, + * the turns field will be an empty list. + */ +turns: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadActiveFlag.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadActiveFlag.ts new file mode 100644 index 00000000000..73c875a00d8 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadActiveFlag.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 ThreadActiveFlag = "waitingOnApproval" | "waitingOnUserInput"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadApproveGuardianDeniedActionParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadApproveGuardianDeniedActionParams.ts new file mode 100644 index 00000000000..8c7d69831d2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadApproveGuardianDeniedActionParams.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; + +export type ThreadApproveGuardianDeniedActionParams = { threadId: string, +/** + * Serialized `codex_protocol::protocol::GuardianAssessmentEvent`. + */ +event: JsonValue, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadApproveGuardianDeniedActionResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadApproveGuardianDeniedActionResponse.ts new file mode 100644 index 00000000000..856bb28cfb1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadApproveGuardianDeniedActionResponse.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 ThreadApproveGuardianDeniedActionResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadArchiveParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadArchiveParams.ts new file mode 100644 index 00000000000..ad4071cbfa4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadArchiveParams.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 ThreadArchiveParams = { threadId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadArchiveResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadArchiveResponse.ts new file mode 100644 index 00000000000..b5954268e3e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadArchiveResponse.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 ThreadArchiveResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadArchivedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadArchivedNotification.ts new file mode 100644 index 00000000000..cca18907912 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadArchivedNotification.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 ThreadArchivedNotification = { threadId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadClosedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadClosedNotification.ts new file mode 100644 index 00000000000..ed5bf546caf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadClosedNotification.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 ThreadClosedNotification = { threadId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadCompactStartParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadCompactStartParams.ts new file mode 100644 index 00000000000..a60b2c28129 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadCompactStartParams.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 ThreadCompactStartParams = { threadId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadCompactStartResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadCompactStartResponse.ts new file mode 100644 index 00000000000..3794feb270e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadCompactStartResponse.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 ThreadCompactStartResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadForkParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadForkParams.ts new file mode 100644 index 00000000000..dcbc06dc3ee --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadForkParams.ts @@ -0,0 +1,44 @@ +// 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 { ServiceTier } from "../ServiceTier.js"; +import type { JsonValue } from "../serde_json/JsonValue.js"; +import type { ApprovalsReviewer } from "./ApprovalsReviewer.js"; +import type { AskForApproval } from "./AskForApproval.js"; +import type { PermissionProfile } from "./PermissionProfile.js"; +import type { SandboxMode } from "./SandboxMode.js"; + +/** + * There are two ways to fork a thread: + * 1. By thread_id: load the thread from disk by thread_id and fork it into a new thread. + * 2. By path: load the thread from disk by path and fork it into a new thread. + * + * If using path, the thread_id param will be ignored. + * + * Prefer using thread_id whenever possible. + */ +export type ThreadForkParams = {threadId: string, /** + * [UNSTABLE] Specify the rollout path to fork from. + * If specified, the thread_id param will be ignored. + */ +path?: string | null, /** + * Configuration overrides for the forked thread, if any. + */ +model?: string | null, modelProvider?: string | null, serviceTier?: ServiceTier | null, cwd?: string | null, approvalPolicy?: AskForApproval | null, /** + * Override where approval requests are routed for review on this thread + * and subsequent turns. + */ +approvalsReviewer?: ApprovalsReviewer | null, sandbox?: SandboxMode | null, /** + * Full permissions override for the forked thread. Cannot be combined + * with `sandbox`. + */ +permissionProfile?: PermissionProfile | null, config?: { [key in string]?: JsonValue } | null, baseInstructions?: string | null, developerInstructions?: string | null, ephemeral?: boolean, /** + * When true, return only thread metadata and live fork state without + * populating `thread.turns`. This is useful when the client plans to call + * `thread/turns/list` immediately after forking. + */ +excludeTurns?: boolean, /** + * If true, persist additional rollout EventMsg variants required to + * reconstruct a richer thread history on subsequent resume/fork/read. + */ +persistExtendedHistory: boolean}; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadForkResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadForkResponse.ts new file mode 100644 index 00000000000..d709cb7b9fe --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadForkResponse.ts @@ -0,0 +1,33 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { ReasoningEffort } from "../ReasoningEffort.js"; +import type { ServiceTier } from "../ServiceTier.js"; +import type { ApprovalsReviewer } from "./ApprovalsReviewer.js"; +import type { AskForApproval } from "./AskForApproval.js"; +import type { PermissionProfile } from "./PermissionProfile.js"; +import type { SandboxPolicy } from "./SandboxPolicy.js"; +import type { Thread } from "./Thread.js"; + +export type ThreadForkResponse = { thread: Thread, model: string, modelProvider: string, serviceTier: ServiceTier | null, cwd: AbsolutePathBuf, +/** + * Instruction source files currently loaded for this thread. + */ +instructionSources: Array, approvalPolicy: AskForApproval, +/** + * Reviewer currently used for approval requests on this thread. + */ +approvalsReviewer: ApprovalsReviewer, +/** + * Legacy sandbox policy retained for compatibility. New clients should use + * `permissionProfile` when present as the canonical active permissions + * view. + */ +sandbox: SandboxPolicy, +/** + * Canonical active permissions view for this thread when representable. + * This is `null` for external sandbox policies because external + * enforcement cannot be round-tripped as a `PermissionProfile`. + */ +permissionProfile: PermissionProfile | null, reasoningEffort: ReasoningEffort | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadInjectItemsParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadInjectItemsParams.ts new file mode 100644 index 00000000000..d2765961913 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadInjectItemsParams.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; + +export type ThreadInjectItemsParams = { threadId: string, +/** + * Raw Responses API items to append to the thread's model-visible history. + */ +items: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadInjectItemsResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadInjectItemsResponse.ts new file mode 100644 index 00000000000..60dcf0d0b3d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadInjectItemsResponse.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 ThreadInjectItemsResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadItem.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadItem.ts new file mode 100644 index 00000000000..9994aee7d98 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadItem.ts @@ -0,0 +1,101 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { MessagePhase } from "../MessagePhase.js"; +import type { ReasoningEffort } from "../ReasoningEffort.js"; +import type { JsonValue } from "../serde_json/JsonValue.js"; +import type { CollabAgentState } from "./CollabAgentState.js"; +import type { CollabAgentTool } from "./CollabAgentTool.js"; +import type { CollabAgentToolCallStatus } from "./CollabAgentToolCallStatus.js"; +import type { CommandAction } from "./CommandAction.js"; +import type { CommandExecutionSource } from "./CommandExecutionSource.js"; +import type { CommandExecutionStatus } from "./CommandExecutionStatus.js"; +import type { DynamicToolCallOutputContentItem } from "./DynamicToolCallOutputContentItem.js"; +import type { DynamicToolCallStatus } from "./DynamicToolCallStatus.js"; +import type { FileUpdateChange } from "./FileUpdateChange.js"; +import type { HookPromptFragment } from "./HookPromptFragment.js"; +import type { McpToolCallError } from "./McpToolCallError.js"; +import type { McpToolCallResult } from "./McpToolCallResult.js"; +import type { McpToolCallStatus } from "./McpToolCallStatus.js"; +import type { MemoryCitation } from "./MemoryCitation.js"; +import type { PatchApplyStatus } from "./PatchApplyStatus.js"; +import type { UserInput } from "./UserInput.js"; +import type { WebSearchAction } from "./WebSearchAction.js"; + +export type ThreadItem = { "type": "userMessage", id: string, content: Array, } | { "type": "hookPrompt", id: string, fragments: Array, } | { "type": "agentMessage", id: string, text: string, phase: MessagePhase | null, memoryCitation: MemoryCitation | null, } | { "type": "plan", id: string, text: string, } | { "type": "reasoning", id: string, summary: Array, content: Array, } | { "type": "commandExecution", id: string, +/** + * The command to be executed. + */ +command: string, +/** + * The command's working directory. + */ +cwd: AbsolutePathBuf, +/** + * Identifier for the underlying PTY process (when available). + */ +processId: string | null, source: CommandExecutionSource, status: CommandExecutionStatus, +/** + * A best-effort parsing of the command to understand the action(s) it will perform. + * This returns a list of CommandAction objects because a single shell command may + * be composed of many commands piped together. + */ +commandActions: Array, +/** + * The command's output, aggregated from stdout and stderr. + */ +aggregatedOutput: string | null, +/** + * The command's exit code. + */ +exitCode: number | null, +/** + * The duration of the command execution in milliseconds. + */ +durationMs: number | null, } | { "type": "fileChange", id: string, changes: Array, status: PatchApplyStatus, } | { "type": "mcpToolCall", id: string, server: string, tool: string, status: McpToolCallStatus, arguments: JsonValue, mcpAppResourceUri?: string, result: McpToolCallResult | null, error: McpToolCallError | null, +/** + * The duration of the MCP tool call in milliseconds. + */ +durationMs: number | null, } | { "type": "dynamicToolCall", id: string, namespace: string | null, tool: string, arguments: JsonValue, status: DynamicToolCallStatus, contentItems: Array | null, success: boolean | null, +/** + * The duration of the dynamic tool call in milliseconds. + */ +durationMs: number | null, } | { "type": "collabAgentToolCall", +/** + * Unique identifier for this collab tool call. + */ +id: string, +/** + * Name of the collab tool that was invoked. + */ +tool: CollabAgentTool, +/** + * Current status of the collab tool call. + */ +status: CollabAgentToolCallStatus, +/** + * Thread ID of the agent issuing the collab request. + */ +senderThreadId: string, +/** + * Thread ID of the receiving agent, when applicable. In case of spawn operation, + * this corresponds to the newly spawned agent. + */ +receiverThreadIds: Array, +/** + * Prompt text sent as part of the collab tool call, when available. + */ +prompt: string | null, +/** + * Model requested for the spawned agent, when applicable. + */ +model: string | null, +/** + * Reasoning effort requested for the spawned agent, when applicable. + */ +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, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadListParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadListParams.ts new file mode 100644 index 00000000000..9511911262d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadListParams.ts @@ -0,0 +1,54 @@ +// 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 { SortDirection } from "./SortDirection.js"; +import type { ThreadSortKey } from "./ThreadSortKey.js"; +import type { ThreadSourceKind } from "./ThreadSourceKind.js"; + +export type ThreadListParams = { +/** + * Opaque pagination cursor returned by a previous call. + */ +cursor?: string | null, +/** + * Optional page size; defaults to a reasonable server-side value. + */ +limit?: number | null, +/** + * Optional sort key; defaults to created_at. + */ +sortKey?: ThreadSortKey | null, +/** + * Optional sort direction; defaults to descending (newest first). + */ +sortDirection?: SortDirection | null, +/** + * Optional provider filter; when set, only sessions recorded under these + * providers are returned. When present but empty, includes all providers. + */ +modelProviders?: Array | null, +/** + * Optional source filter; when set, only sessions from these source kinds + * are returned. When omitted or empty, defaults to interactive sources. + */ +sourceKinds?: Array | null, +/** + * Optional archived filter; when set to true, only archived threads are returned. + * If false or null, only non-archived threads are returned. + */ +archived?: boolean | null, +/** + * Optional cwd filter or filters; when set, only threads whose session cwd + * exactly matches one of these paths are returned. + */ +cwd?: string | Array | null, +/** + * If true, return from the state DB without scanning JSONL rollouts to + * repair thread metadata. Omitted or false preserves scan-and-repair + * behavior. + */ +useStateDbOnly?: boolean, +/** + * Optional substring filter for the extracted thread title. + */ +searchTerm?: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadListResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadListResponse.ts new file mode 100644 index 00000000000..0b94c4e008c --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadListResponse.ts @@ -0,0 +1,18 @@ +// 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 { Thread } from "./Thread.js"; + +export type ThreadListResponse = { data: Array, +/** + * Opaque cursor to pass to the next call to continue after the last item. + * if None, there are no more items to return. + */ +nextCursor: string | null, +/** + * Opaque cursor to pass as `cursor` when reversing `sortDirection`. + * This is only populated when the page contains at least one thread. + * Use it with the opposite `sortDirection`; for timestamp sorts it anchors + * at the start of the page timestamp so same-second updates are not skipped. + */ +backwardsCursor: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadLoadedListParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadLoadedListParams.ts new file mode 100644 index 00000000000..a7889e4f09a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadLoadedListParams.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ThreadLoadedListParams = { +/** + * Opaque pagination cursor returned by a previous call. + */ +cursor?: string | null, +/** + * Optional page size; defaults to no limit. + */ +limit?: number | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadLoadedListResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadLoadedListResponse.ts new file mode 100644 index 00000000000..21a48c37e9f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadLoadedListResponse.ts @@ -0,0 +1,14 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ThreadLoadedListResponse = { +/** + * Thread ids for sessions currently loaded in memory. + */ +data: Array, +/** + * Opaque cursor to pass to the next call to continue after the last item. + * if None, there are no more items to return. + */ +nextCursor: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadMetadataGitInfoUpdateParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadMetadataGitInfoUpdateParams.ts new file mode 100644 index 00000000000..865b5346225 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadMetadataGitInfoUpdateParams.ts @@ -0,0 +1,20 @@ +// 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 ThreadMetadataGitInfoUpdateParams = { +/** + * Omit to leave the stored commit unchanged, set to `null` to clear it, + * or provide a non-empty string to replace it. + */ +sha?: string | null, +/** + * Omit to leave the stored branch unchanged, set to `null` to clear it, + * or provide a non-empty string to replace it. + */ +branch?: string | null, +/** + * Omit to leave the stored origin URL unchanged, set to `null` to clear it, + * or provide a non-empty string to replace it. + */ +originUrl?: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadMetadataUpdateParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadMetadataUpdateParams.ts new file mode 100644 index 00000000000..2f2d85eb5f5 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadMetadataUpdateParams.ts @@ -0,0 +1,12 @@ +// 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 { ThreadMetadataGitInfoUpdateParams } from "./ThreadMetadataGitInfoUpdateParams.js"; + +export type ThreadMetadataUpdateParams = { threadId: string, +/** + * Patch the stored Git metadata for this thread. + * Omit a field to leave it unchanged, set it to `null` to clear it, or + * provide a string to replace the stored value. + */ +gitInfo?: ThreadMetadataGitInfoUpdateParams | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadMetadataUpdateResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadMetadataUpdateResponse.ts new file mode 100644 index 00000000000..127267f3d93 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadMetadataUpdateResponse.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 { Thread } from "./Thread.js"; + +export type ThreadMetadataUpdateResponse = { thread: Thread, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadNameUpdatedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadNameUpdatedNotification.ts new file mode 100644 index 00000000000..c944b5aae3b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadNameUpdatedNotification.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 ThreadNameUpdatedNotification = { threadId: string, threadName?: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadReadParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadReadParams.ts new file mode 100644 index 00000000000..64169d2bf66 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadReadParams.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ThreadReadParams = { threadId: string, +/** + * When true, include turns and their items from rollout history. + */ +includeTurns: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadReadResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadReadResponse.ts new file mode 100644 index 00000000000..c953779c6ad --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadReadResponse.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 { Thread } from "./Thread.js"; + +export type ThreadReadResponse = { thread: Thread, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeAudioChunk.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeAudioChunk.ts new file mode 100644 index 00000000000..eefb79dd656 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeAudioChunk.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL - thread realtime audio chunk. + */ +export type ThreadRealtimeAudioChunk = { data: string, sampleRate: number, numChannels: number, samplesPerChannel: number | null, itemId: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeClosedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeClosedNotification.ts new file mode 100644 index 00000000000..a39cd71ed73 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeClosedNotification.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL - emitted when thread realtime transport closes. + */ +export type ThreadRealtimeClosedNotification = { threadId: string, reason: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeErrorNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeErrorNotification.ts new file mode 100644 index 00000000000..0b24879ecdf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeErrorNotification.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL - emitted when thread realtime encounters an error. + */ +export type ThreadRealtimeErrorNotification = { threadId: string, message: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeItemAddedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeItemAddedNotification.ts new file mode 100644 index 00000000000..010ec5f32b4 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeItemAddedNotification.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { JsonValue } from "../serde_json/JsonValue.js"; + +/** + * EXPERIMENTAL - raw non-audio thread realtime item emitted by the backend. + */ +export type ThreadRealtimeItemAddedNotification = { threadId: string, item: JsonValue, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeOutputAudioDeltaNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeOutputAudioDeltaNotification.ts new file mode 100644 index 00000000000..ef32dcd35f3 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeOutputAudioDeltaNotification.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ThreadRealtimeAudioChunk } from "./ThreadRealtimeAudioChunk.js"; + +/** + * EXPERIMENTAL - streamed output audio emitted by thread realtime. + */ +export type ThreadRealtimeOutputAudioDeltaNotification = { threadId: string, audio: ThreadRealtimeAudioChunk, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeSdpNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeSdpNotification.ts new file mode 100644 index 00000000000..16a7fd18c54 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeSdpNotification.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL - emitted with the remote SDP for a WebRTC realtime session. + */ +export type ThreadRealtimeSdpNotification = { threadId: string, sdp: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeStartTransport.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeStartTransport.ts new file mode 100644 index 00000000000..339e1b1b17a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeStartTransport.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL - transport used by thread realtime. + */ +export type ThreadRealtimeStartTransport = { "type": "websocket" } | { "type": "webrtc", +/** + * SDP offer generated by a WebRTC RTCPeerConnection after configuring audio and the + * realtime events data channel. + */ +sdp: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeStartedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeStartedNotification.ts new file mode 100644 index 00000000000..8337e6eb223 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeStartedNotification.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { RealtimeConversationVersion } from "../RealtimeConversationVersion.js"; + +/** + * EXPERIMENTAL - emitted when thread realtime startup is accepted. + */ +export type ThreadRealtimeStartedNotification = { threadId: string, sessionId: string | null, version: RealtimeConversationVersion, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeTranscriptDeltaNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeTranscriptDeltaNotification.ts new file mode 100644 index 00000000000..805eeddd768 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeTranscriptDeltaNotification.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL - flat transcript delta emitted whenever realtime + * transcript text changes. + */ +export type ThreadRealtimeTranscriptDeltaNotification = { threadId: string, role: string, +/** + * Live transcript delta from the realtime event. + */ +delta: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeTranscriptDoneNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeTranscriptDoneNotification.ts new file mode 100644 index 00000000000..d4667ad039f --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRealtimeTranscriptDoneNotification.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL - final transcript text emitted when realtime completes + * a transcript part. + */ +export type ThreadRealtimeTranscriptDoneNotification = { threadId: string, role: string, +/** + * Final complete text for the transcript part. + */ +text: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadResumeParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadResumeParams.ts new file mode 100644 index 00000000000..01fe473a762 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadResumeParams.ts @@ -0,0 +1,53 @@ +// 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 { Personality } from "../Personality.js"; +import type { ResponseItem } from "../ResponseItem.js"; +import type { ServiceTier } from "../ServiceTier.js"; +import type { JsonValue } from "../serde_json/JsonValue.js"; +import type { ApprovalsReviewer } from "./ApprovalsReviewer.js"; +import type { AskForApproval } from "./AskForApproval.js"; +import type { PermissionProfile } from "./PermissionProfile.js"; +import type { SandboxMode } from "./SandboxMode.js"; + +/** + * There are three ways to resume a thread: + * 1. By thread_id: load the thread from disk by thread_id and resume it. + * 2. By history: instantiate the thread from memory and resume it. + * 3. By path: load the thread from disk by path and resume it. + * + * The precedence is: history > path > thread_id. + * If using history or path, the thread_id param will be ignored. + * + * Prefer using thread_id whenever possible. + */ +export type ThreadResumeParams = {threadId: string, /** + * [UNSTABLE] FOR CODEX CLOUD - DO NOT USE. + * If specified, the thread will be resumed with the provided history + * instead of loaded from disk. + */ +history?: Array | null, /** + * [UNSTABLE] Specify the rollout path to resume from. + * If specified, the thread_id param will be ignored. + */ +path?: string | null, /** + * Configuration overrides for the resumed thread, if any. + */ +model?: string | null, modelProvider?: string | null, serviceTier?: ServiceTier | null, cwd?: string | null, approvalPolicy?: AskForApproval | null, /** + * Override where approval requests are routed for review on this thread + * and subsequent turns. + */ +approvalsReviewer?: ApprovalsReviewer | null, sandbox?: SandboxMode | null, /** + * Full permissions override for the resumed thread. Cannot be combined + * with `sandbox`. + */ +permissionProfile?: PermissionProfile | null, config?: { [key in string]?: JsonValue } | null, baseInstructions?: string | null, developerInstructions?: string | null, personality?: Personality | null, /** + * When true, return only thread metadata and live-resume state without + * populating `thread.turns`. This is useful when the client plans to call + * `thread/turns/list` immediately after resuming. + */ +excludeTurns?: boolean, /** + * If true, persist additional rollout EventMsg variants required to + * reconstruct a richer thread history on subsequent resume/fork/read. + */ +persistExtendedHistory: boolean}; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadResumeResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadResumeResponse.ts new file mode 100644 index 00000000000..1741e44e0eb --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadResumeResponse.ts @@ -0,0 +1,33 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { ReasoningEffort } from "../ReasoningEffort.js"; +import type { ServiceTier } from "../ServiceTier.js"; +import type { ApprovalsReviewer } from "./ApprovalsReviewer.js"; +import type { AskForApproval } from "./AskForApproval.js"; +import type { PermissionProfile } from "./PermissionProfile.js"; +import type { SandboxPolicy } from "./SandboxPolicy.js"; +import type { Thread } from "./Thread.js"; + +export type ThreadResumeResponse = { thread: Thread, model: string, modelProvider: string, serviceTier: ServiceTier | null, cwd: AbsolutePathBuf, +/** + * Instruction source files currently loaded for this thread. + */ +instructionSources: Array, approvalPolicy: AskForApproval, +/** + * Reviewer currently used for approval requests on this thread. + */ +approvalsReviewer: ApprovalsReviewer, +/** + * Legacy sandbox policy retained for compatibility. New clients should use + * `permissionProfile` when present as the canonical active permissions + * view. + */ +sandbox: SandboxPolicy, +/** + * Canonical active permissions view for this thread when representable. + * This is `null` for external sandbox policies because external + * enforcement cannot be round-tripped as a `PermissionProfile`. + */ +permissionProfile: PermissionProfile | null, reasoningEffort: ReasoningEffort | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRollbackParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRollbackParams.ts new file mode 100644 index 00000000000..1c938e3bfdf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRollbackParams.ts @@ -0,0 +1,12 @@ +// 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 ThreadRollbackParams = { threadId: string, +/** + * The number of turns to drop from the end of the thread. Must be >= 1. + * + * This only modifies the thread's history and does not revert local file changes + * that have been made by the agent. Clients are responsible for reverting these changes. + */ +numTurns: number, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRollbackResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRollbackResponse.ts new file mode 100644 index 00000000000..ba8bee7fa80 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadRollbackResponse.ts @@ -0,0 +1,14 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { Thread } from "./Thread.js"; + +export type ThreadRollbackResponse = { +/** + * The updated thread after applying the rollback, with `turns` populated. + * + * The ThreadItems stored in each Turn are lossy since we explicitly do not + * persist all agent interactions, such as command executions. This is the same + * behavior as `thread/resume`. + */ +thread: Thread, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSetNameParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSetNameParams.ts new file mode 100644 index 00000000000..82b9b3a1c63 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSetNameParams.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 ThreadSetNameParams = { threadId: string, name: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSetNameResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSetNameResponse.ts new file mode 100644 index 00000000000..09143d251cf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSetNameResponse.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 ThreadSetNameResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadShellCommandParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadShellCommandParams.ts new file mode 100644 index 00000000000..2761dee2d0b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadShellCommandParams.ts @@ -0,0 +1,12 @@ +// 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 ThreadShellCommandParams = { threadId: string, +/** + * Shell command string evaluated by the thread's configured shell. + * Unlike `command/exec`, this intentionally preserves shell syntax + * such as pipes, redirects, and quoting. This runs unsandboxed with full + * access rather than inheriting the thread sandbox policy. + */ +command: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadShellCommandResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadShellCommandResponse.ts new file mode 100644 index 00000000000..9c54b45839d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadShellCommandResponse.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 ThreadShellCommandResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSortKey.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSortKey.ts new file mode 100644 index 00000000000..dbf1b6c40fd --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSortKey.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 ThreadSortKey = "created_at" | "updated_at"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSourceKind.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSourceKind.ts new file mode 100644 index 00000000000..0a464e3d8d6 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadSourceKind.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 ThreadSourceKind = "cli" | "vscode" | "exec" | "appServer" | "subAgent" | "subAgentReview" | "subAgentCompact" | "subAgentThreadSpawn" | "subAgentOther" | "unknown"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartParams.ts new file mode 100644 index 00000000000..88bf03ffe3a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartParams.ts @@ -0,0 +1,29 @@ +// 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 { Personality } from "../Personality.js"; +import type { ServiceTier } from "../ServiceTier.js"; +import type { JsonValue } from "../serde_json/JsonValue.js"; +import type { ApprovalsReviewer } from "./ApprovalsReviewer.js"; +import type { AskForApproval } from "./AskForApproval.js"; +import type { PermissionProfile } from "./PermissionProfile.js"; +import type { SandboxMode } from "./SandboxMode.js"; +import type { ThreadStartSource } from "./ThreadStartSource.js"; + +export type ThreadStartParams = {model?: string | null, modelProvider?: string | null, serviceTier?: ServiceTier | null, cwd?: string | null, approvalPolicy?: AskForApproval | null, /** + * Override where approval requests are routed for review on this thread + * and subsequent turns. + */ +approvalsReviewer?: ApprovalsReviewer | null, sandbox?: SandboxMode | null, /** + * Full permissions override for this thread. Cannot be combined with + * `sandbox`. + */ +permissionProfile?: PermissionProfile | null, config?: { [key in string]?: JsonValue } | null, serviceName?: string | null, baseInstructions?: string | null, developerInstructions?: string | null, personality?: Personality | null, ephemeral?: boolean | null, sessionStartSource?: ThreadStartSource | null, /** + * If true, opt into emitting raw Responses API items on the event stream. + * This is for internal use only (e.g. Codex Cloud). + */ +experimentalRawEvents: boolean, /** + * If true, persist additional rollout EventMsg variants required to + * reconstruct a richer thread history on resume/fork/read. + */ +persistExtendedHistory: boolean}; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartResponse.ts new file mode 100644 index 00000000000..27c2e0893c7 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartResponse.ts @@ -0,0 +1,33 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { ReasoningEffort } from "../ReasoningEffort.js"; +import type { ServiceTier } from "../ServiceTier.js"; +import type { ApprovalsReviewer } from "./ApprovalsReviewer.js"; +import type { AskForApproval } from "./AskForApproval.js"; +import type { PermissionProfile } from "./PermissionProfile.js"; +import type { SandboxPolicy } from "./SandboxPolicy.js"; +import type { Thread } from "./Thread.js"; + +export type ThreadStartResponse = { thread: Thread, model: string, modelProvider: string, serviceTier: ServiceTier | null, cwd: AbsolutePathBuf, +/** + * Instruction source files currently loaded for this thread. + */ +instructionSources: Array, approvalPolicy: AskForApproval, +/** + * Reviewer currently used for approval requests on this thread. + */ +approvalsReviewer: ApprovalsReviewer, +/** + * Legacy sandbox policy retained for compatibility. New clients should use + * `permissionProfile` when present as the canonical active permissions + * view. + */ +sandbox: SandboxPolicy, +/** + * Canonical active permissions view for this thread when representable. + * This is `null` for external sandbox policies because external + * enforcement cannot be round-tripped as a `PermissionProfile`. + */ +permissionProfile: PermissionProfile | null, reasoningEffort: ReasoningEffort | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartSource.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartSource.ts new file mode 100644 index 00000000000..ea1b839c6ba --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartSource.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 ThreadStartSource = "startup" | "clear"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartedNotification.ts new file mode 100644 index 00000000000..5d928629dad --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStartedNotification.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 { Thread } from "./Thread.js"; + +export type ThreadStartedNotification = { thread: Thread, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStatus.ts new file mode 100644 index 00000000000..fdaefdf3933 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStatus.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 { ThreadActiveFlag } from "./ThreadActiveFlag.js"; + +export type ThreadStatus = { "type": "notLoaded" } | { "type": "idle" } | { "type": "systemError" } | { "type": "active", activeFlags: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStatusChangedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStatusChangedNotification.ts new file mode 100644 index 00000000000..17f3aa29ac0 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadStatusChangedNotification.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 { ThreadStatus } from "./ThreadStatus.js"; + +export type ThreadStatusChangedNotification = { threadId: string, status: ThreadStatus, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTokenUsage.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTokenUsage.ts new file mode 100644 index 00000000000..0a8fee1be2e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTokenUsage.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 { TokenUsageBreakdown } from "./TokenUsageBreakdown.js"; + +export type ThreadTokenUsage = { total: TokenUsageBreakdown, last: TokenUsageBreakdown, modelContextWindow: number | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTokenUsageUpdatedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTokenUsageUpdatedNotification.ts new file mode 100644 index 00000000000..7ce67ebd3fa --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTokenUsageUpdatedNotification.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 { ThreadTokenUsage } from "./ThreadTokenUsage.js"; + +export type ThreadTokenUsageUpdatedNotification = { threadId: string, turnId: string, tokenUsage: ThreadTokenUsage, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTurnsListParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTurnsListParams.ts new file mode 100644 index 00000000000..ec625c76d21 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTurnsListParams.ts @@ -0,0 +1,18 @@ +// 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 { SortDirection } from "./SortDirection.js"; + +export type ThreadTurnsListParams = { threadId: string, +/** + * Opaque cursor to pass to the next call to continue after the last turn. + */ +cursor?: string | null, +/** + * Optional turn page size. + */ +limit?: number | null, +/** + * Optional turn pagination direction; defaults to descending. + */ +sortDirection?: SortDirection | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTurnsListResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTurnsListResponse.ts new file mode 100644 index 00000000000..d8eea0cfd17 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadTurnsListResponse.ts @@ -0,0 +1,18 @@ +// 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 { Turn } from "./Turn.js"; + +export type ThreadTurnsListResponse = { data: Array, +/** + * Opaque cursor to pass to the next call to continue after the last turn. + * if None, there are no more turns to return. + */ +nextCursor: string | null, +/** + * Opaque cursor to pass as `cursor` when reversing `sortDirection`. + * This is only populated when the page contains at least one turn. + * Use it with the opposite `sortDirection` to include the anchor turn again + * and catch updates to that turn. + */ +backwardsCursor: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnarchiveParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnarchiveParams.ts new file mode 100644 index 00000000000..4e464989e30 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnarchiveParams.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 ThreadUnarchiveParams = { threadId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnarchiveResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnarchiveResponse.ts new file mode 100644 index 00000000000..3eefbc93ab2 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnarchiveResponse.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 { Thread } from "./Thread.js"; + +export type ThreadUnarchiveResponse = { thread: Thread, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnarchivedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnarchivedNotification.ts new file mode 100644 index 00000000000..e2c16171729 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnarchivedNotification.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 ThreadUnarchivedNotification = { threadId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnsubscribeParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnsubscribeParams.ts new file mode 100644 index 00000000000..3d5f3a04cda --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnsubscribeParams.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 ThreadUnsubscribeParams = { threadId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnsubscribeResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnsubscribeResponse.ts new file mode 100644 index 00000000000..1d5b6a370b1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnsubscribeResponse.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 { ThreadUnsubscribeStatus } from "./ThreadUnsubscribeStatus.js"; + +export type ThreadUnsubscribeResponse = { status: ThreadUnsubscribeStatus, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnsubscribeStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnsubscribeStatus.ts new file mode 100644 index 00000000000..2970598dc1b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ThreadUnsubscribeStatus.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 ThreadUnsubscribeStatus = "notLoaded" | "notSubscribed" | "unsubscribed"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TokenUsageBreakdown.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TokenUsageBreakdown.ts new file mode 100644 index 00000000000..1d4e408fadf --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TokenUsageBreakdown.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 TokenUsageBreakdown = { totalTokens: number, inputTokens: number, cachedInputTokens: number, outputTokens: number, reasoningOutputTokens: number, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputAnswer.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputAnswer.ts new file mode 100644 index 00000000000..0c912db044d --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputAnswer.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL. Captures a user's answer to a request_user_input question. + */ +export type ToolRequestUserInputAnswer = { answers: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputOption.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputOption.ts new file mode 100644 index 00000000000..ab21aca0466 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputOption.ts @@ -0,0 +1,8 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * EXPERIMENTAL. Defines a single selectable option for request_user_input. + */ +export type ToolRequestUserInputOption = { label: string, description: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputParams.ts new file mode 100644 index 00000000000..7a81acde8c0 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputParams.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ToolRequestUserInputQuestion } from "./ToolRequestUserInputQuestion.js"; + +/** + * EXPERIMENTAL. Params sent with a request_user_input event. + */ +export type ToolRequestUserInputParams = { threadId: string, turnId: string, itemId: string, questions: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputQuestion.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputQuestion.ts new file mode 100644 index 00000000000..b0037009741 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputQuestion.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ToolRequestUserInputOption } from "./ToolRequestUserInputOption.js"; + +/** + * EXPERIMENTAL. Represents one request_user_input question and its required options. + */ +export type ToolRequestUserInputQuestion = { id: string, header: string, question: string, isOther: boolean, isSecret: boolean, options: Array | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputResponse.ts new file mode 100644 index 00000000000..caf21fdf1ce --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolRequestUserInputResponse.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ToolRequestUserInputAnswer } from "./ToolRequestUserInputAnswer.js"; + +/** + * EXPERIMENTAL. Response payload mapping question ids to answers. + */ +export type ToolRequestUserInputResponse = { answers: { [key in string]?: ToolRequestUserInputAnswer }, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolsV2.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolsV2.ts new file mode 100644 index 00000000000..a030ebba9e1 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/ToolsV2.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 { WebSearchToolConfig } from "../WebSearchToolConfig.js"; + +export type ToolsV2 = { web_search: WebSearchToolConfig | null, view_image: boolean | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/Turn.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/Turn.ts new file mode 100644 index 00000000000..552282971fe --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/Turn.ts @@ -0,0 +1,30 @@ +// 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 { ThreadItem } from "./ThreadItem.js"; +import type { TurnError } from "./TurnError.js"; +import type { TurnStatus } from "./TurnStatus.js"; + +export type Turn = { id: string, +/** + * Only populated on a `thread/resume` or `thread/fork` response. + * For all other responses and notifications returning a Turn, + * the items field will be an empty list. + */ +items: Array, status: TurnStatus, +/** + * Only populated when the Turn's status is failed. + */ +error: TurnError | null, +/** + * Unix timestamp (in seconds) when the turn started. + */ +startedAt: number | null, +/** + * Unix timestamp (in seconds) when the turn completed. + */ +completedAt: number | null, +/** + * Duration between turn start and completion in milliseconds, if known. + */ +durationMs: number | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnCompletedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnCompletedNotification.ts new file mode 100644 index 00000000000..44c437dfd60 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnCompletedNotification.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 { Turn } from "./Turn.js"; + +export type TurnCompletedNotification = { threadId: string, turn: Turn, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnDiffUpdatedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnDiffUpdatedNotification.ts new file mode 100644 index 00000000000..ec2b33349de --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnDiffUpdatedNotification.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +/** + * Notification that the turn-level unified diff has changed. + * Contains the latest aggregated diff across all file changes in the turn. + */ +export type TurnDiffUpdatedNotification = { threadId: string, turnId: string, diff: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnEnvironmentParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnEnvironmentParams.ts new file mode 100644 index 00000000000..2fd77329ad6 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnEnvironmentParams.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; + +export type TurnEnvironmentParams = { environmentId: string, cwd: AbsolutePathBuf, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnError.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnError.ts new file mode 100644 index 00000000000..530d55b6ff6 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnError.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 { CodexErrorInfo } from "./CodexErrorInfo.js"; + +export type TurnError = { message: string, codexErrorInfo: CodexErrorInfo | null, additionalDetails: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnInterruptParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnInterruptParams.ts new file mode 100644 index 00000000000..ec35689e6dd --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnInterruptParams.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 TurnInterruptParams = { threadId: string, turnId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnInterruptResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnInterruptResponse.ts new file mode 100644 index 00000000000..7ce6e35bd63 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnInterruptResponse.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 TurnInterruptResponse = Record; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnPlanStep.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnPlanStep.ts new file mode 100644 index 00000000000..e62e644dbb0 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnPlanStep.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 { TurnPlanStepStatus } from "./TurnPlanStepStatus.js"; + +export type TurnPlanStep = { step: string, status: TurnPlanStepStatus, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnPlanStepStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnPlanStepStatus.ts new file mode 100644 index 00000000000..f6733a68853 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnPlanStepStatus.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 TurnPlanStepStatus = "pending" | "inProgress" | "completed"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnPlanUpdatedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnPlanUpdatedNotification.ts new file mode 100644 index 00000000000..cd2e8898833 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnPlanUpdatedNotification.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 { TurnPlanStep } from "./TurnPlanStep.js"; + +export type TurnPlanUpdatedNotification = { threadId: string, turnId: string, explanation: string | null, plan: Array, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStartParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStartParams.ts new file mode 100644 index 00000000000..42941adefe3 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStartParams.ts @@ -0,0 +1,59 @@ +// 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 { CollaborationMode } from "../CollaborationMode.js"; +import type { Personality } from "../Personality.js"; +import type { ReasoningEffort } from "../ReasoningEffort.js"; +import type { ReasoningSummary } from "../ReasoningSummary.js"; +import type { ServiceTier } from "../ServiceTier.js"; +import type { JsonValue } from "../serde_json/JsonValue.js"; +import type { ApprovalsReviewer } from "./ApprovalsReviewer.js"; +import type { AskForApproval } from "./AskForApproval.js"; +import type { PermissionProfile } from "./PermissionProfile.js"; +import type { SandboxPolicy } from "./SandboxPolicy.js"; +import type { UserInput } from "./UserInput.js"; + +export type TurnStartParams = {threadId: string, input: Array, /** + * Override the working directory for this turn and subsequent turns. + */ +cwd?: string | null, /** + * Override the approval policy for this turn and subsequent turns. + */ +approvalPolicy?: AskForApproval | null, /** + * Override where approval requests are routed for review on this turn and + * subsequent turns. + */ +approvalsReviewer?: ApprovalsReviewer | null, /** + * Override the sandbox policy for this turn and subsequent turns. + */ +sandboxPolicy?: SandboxPolicy | null, /** + * Override the full permissions profile for this turn and subsequent + * turns. Cannot be combined with `sandboxPolicy`. + */ +permissionProfile?: PermissionProfile | null, /** + * Override the model for this turn and subsequent turns. + */ +model?: string | null, /** + * Override the service tier for this turn and subsequent turns. + */ +serviceTier?: ServiceTier | null, /** + * Override the reasoning effort for this turn and subsequent turns. + */ +effort?: ReasoningEffort | null, /** + * Override the reasoning summary for this turn and subsequent turns. + */ +summary?: ReasoningSummary | null, /** + * Override the personality for this turn and subsequent turns. + */ +personality?: Personality | null, /** + * Optional JSON Schema used to constrain the final assistant message for + * this turn. + */ +outputSchema?: JsonValue | null, /** + * EXPERIMENTAL - Set a pre-set collaboration mode. + * Takes precedence over model, reasoning_effort, and developer instructions if set. + * + * For `collaboration_mode.settings.developer_instructions`, `null` means + * "use the built-in instructions for the selected mode". + */ +collaborationMode?: CollaborationMode | null}; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStartResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStartResponse.ts new file mode 100644 index 00000000000..7231293e710 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStartResponse.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 { Turn } from "./Turn.js"; + +export type TurnStartResponse = { turn: Turn, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStartedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStartedNotification.ts new file mode 100644 index 00000000000..420df9e5024 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStartedNotification.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 { Turn } from "./Turn.js"; + +export type TurnStartedNotification = { threadId: string, turn: Turn, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStatus.ts new file mode 100644 index 00000000000..476922edc20 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnStatus.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 TurnStatus = "completed" | "interrupted" | "failed" | "inProgress"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnSteerParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnSteerParams.ts new file mode 100644 index 00000000000..1b93b11dd3a --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnSteerParams.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { UserInput } from "./UserInput.js"; + +export type TurnSteerParams = {threadId: string, input: Array, /** + * Required active turn id precondition. The request fails when it does not + * match the currently active turn. + */ +expectedTurnId: string}; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnSteerResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnSteerResponse.ts new file mode 100644 index 00000000000..390adb4f59b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/TurnSteerResponse.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 TurnSteerResponse = { turnId: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/UserInput.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/UserInput.ts new file mode 100644 index 00000000000..8dc3e009367 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/UserInput.ts @@ -0,0 +1,10 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { TextElement } from "./TextElement.js"; + +export type UserInput = { "type": "text", text: string, +/** + * UI-defined spans within `text` used to render or persist special elements. + */ +text_elements: Array, } | { "type": "image", url: string, } | { "type": "localImage", path: string, } | { "type": "skill", name: string, path: string, } | { "type": "mention", name: string, path: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/WarningNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WarningNotification.ts new file mode 100644 index 00000000000..bd3433be41b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WarningNotification.ts @@ -0,0 +1,13 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type WarningNotification = { +/** + * Optional thread target when the warning applies to a specific thread. + */ +threadId: string | null, +/** + * Concise warning message for the user. + */ +message: string, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/WebSearchAction.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WebSearchAction.ts new file mode 100644 index 00000000000..309bff45448 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WebSearchAction.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 WebSearchAction = { "type": "search", query: string | null, queries: Array | null, } | { "type": "openPage", url: string | null, } | { "type": "findInPage", url: string | null, pattern: string | null, } | { "type": "other" }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupCompletedNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupCompletedNotification.ts new file mode 100644 index 00000000000..79ceb5f1212 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupCompletedNotification.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 { WindowsSandboxSetupMode } from "./WindowsSandboxSetupMode.js"; + +export type WindowsSandboxSetupCompletedNotification = { mode: WindowsSandboxSetupMode, success: boolean, error: string | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupMode.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupMode.ts new file mode 100644 index 00000000000..a74bea42408 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupMode.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 WindowsSandboxSetupMode = "elevated" | "unelevated"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupStartParams.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupStartParams.ts new file mode 100644 index 00000000000..e55a87ff33b --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupStartParams.ts @@ -0,0 +1,7 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { AbsolutePathBuf } from "../AbsolutePathBuf.js"; +import type { WindowsSandboxSetupMode } from "./WindowsSandboxSetupMode.js"; + +export type WindowsSandboxSetupStartParams = { mode: WindowsSandboxSetupMode, cwd?: AbsolutePathBuf | null, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupStartResponse.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupStartResponse.ts new file mode 100644 index 00000000000..a19004948ef --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsSandboxSetupStartResponse.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 WindowsSandboxSetupStartResponse = { started: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsWorldWritableWarningNotification.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsWorldWritableWarningNotification.ts new file mode 100644 index 00000000000..a11e7cef497 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WindowsWorldWritableWarningNotification.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 WindowsWorldWritableWarningNotification = { samplePaths: Array, extraCount: number, failedScan: boolean, }; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/WriteStatus.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WriteStatus.ts new file mode 100644 index 00000000000..068eb3bdb99 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/WriteStatus.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 WriteStatus = "ok" | "okOverridden"; diff --git a/extensions/codex/src/app-server/protocol-generated/typescript/v2/index.ts b/extensions/codex/src/app-server/protocol-generated/typescript/v2/index.ts new file mode 100644 index 00000000000..6d0b8d1343e --- /dev/null +++ b/extensions/codex/src/app-server/protocol-generated/typescript/v2/index.ts @@ -0,0 +1,410 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +export type { Account } from "./Account.js"; +export type { AccountLoginCompletedNotification } from "./AccountLoginCompletedNotification.js"; +export type { AccountRateLimitsUpdatedNotification } from "./AccountRateLimitsUpdatedNotification.js"; +export type { AccountUpdatedNotification } from "./AccountUpdatedNotification.js"; +export type { AddCreditsNudgeCreditType } from "./AddCreditsNudgeCreditType.js"; +export type { AddCreditsNudgeEmailStatus } from "./AddCreditsNudgeEmailStatus.js"; +export type { AdditionalFileSystemPermissions } from "./AdditionalFileSystemPermissions.js"; +export type { AdditionalNetworkPermissions } from "./AdditionalNetworkPermissions.js"; +export type { AdditionalPermissionProfile } from "./AdditionalPermissionProfile.js"; +export type { AgentMessageDeltaNotification } from "./AgentMessageDeltaNotification.js"; +export type { AnalyticsConfig } from "./AnalyticsConfig.js"; +export type { AppBranding } from "./AppBranding.js"; +export type { AppInfo } from "./AppInfo.js"; +export type { AppListUpdatedNotification } from "./AppListUpdatedNotification.js"; +export type { AppMetadata } from "./AppMetadata.js"; +export type { AppReview } from "./AppReview.js"; +export type { AppScreenshot } from "./AppScreenshot.js"; +export type { AppSummary } from "./AppSummary.js"; +export type { AppToolApproval } from "./AppToolApproval.js"; +export type { AppToolsConfig } from "./AppToolsConfig.js"; +export type { ApprovalsReviewer } from "./ApprovalsReviewer.js"; +export type { AppsConfig } from "./AppsConfig.js"; +export type { AppsDefaultConfig } from "./AppsDefaultConfig.js"; +export type { AppsListParams } from "./AppsListParams.js"; +export type { AppsListResponse } from "./AppsListResponse.js"; +export type { AskForApproval } from "./AskForApproval.js"; +export type { AutoReviewDecisionSource } from "./AutoReviewDecisionSource.js"; +export type { ByteRange } from "./ByteRange.js"; +export type { CancelLoginAccountParams } from "./CancelLoginAccountParams.js"; +export type { CancelLoginAccountResponse } from "./CancelLoginAccountResponse.js"; +export type { CancelLoginAccountStatus } from "./CancelLoginAccountStatus.js"; +export type { ChatgptAuthTokensRefreshParams } from "./ChatgptAuthTokensRefreshParams.js"; +export type { ChatgptAuthTokensRefreshReason } from "./ChatgptAuthTokensRefreshReason.js"; +export type { ChatgptAuthTokensRefreshResponse } from "./ChatgptAuthTokensRefreshResponse.js"; +export type { CodexErrorInfo } from "./CodexErrorInfo.js"; +export type { CollabAgentState } from "./CollabAgentState.js"; +export type { CollabAgentStatus } from "./CollabAgentStatus.js"; +export type { CollabAgentTool } from "./CollabAgentTool.js"; +export type { CollabAgentToolCallStatus } from "./CollabAgentToolCallStatus.js"; +export type { CollaborationModeMask } from "./CollaborationModeMask.js"; +export type { CommandAction } from "./CommandAction.js"; +export type { CommandExecOutputDeltaNotification } from "./CommandExecOutputDeltaNotification.js"; +export type { CommandExecOutputStream } from "./CommandExecOutputStream.js"; +export type { CommandExecParams } from "./CommandExecParams.js"; +export type { CommandExecResizeParams } from "./CommandExecResizeParams.js"; +export type { CommandExecResizeResponse } from "./CommandExecResizeResponse.js"; +export type { CommandExecResponse } from "./CommandExecResponse.js"; +export type { CommandExecTerminalSize } from "./CommandExecTerminalSize.js"; +export type { CommandExecTerminateParams } from "./CommandExecTerminateParams.js"; +export type { CommandExecTerminateResponse } from "./CommandExecTerminateResponse.js"; +export type { CommandExecWriteParams } from "./CommandExecWriteParams.js"; +export type { CommandExecWriteResponse } from "./CommandExecWriteResponse.js"; +export type { CommandExecutionApprovalDecision } from "./CommandExecutionApprovalDecision.js"; +export type { CommandExecutionOutputDeltaNotification } from "./CommandExecutionOutputDeltaNotification.js"; +export type { CommandExecutionRequestApprovalParams } from "./CommandExecutionRequestApprovalParams.js"; +export type { CommandExecutionRequestApprovalResponse } from "./CommandExecutionRequestApprovalResponse.js"; +export type { CommandExecutionSource } from "./CommandExecutionSource.js"; +export type { CommandExecutionStatus } from "./CommandExecutionStatus.js"; +export type { Config } from "./Config.js"; +export type { ConfigBatchWriteParams } from "./ConfigBatchWriteParams.js"; +export type { ConfigEdit } from "./ConfigEdit.js"; +export type { ConfigLayer } from "./ConfigLayer.js"; +export type { ConfigLayerMetadata } from "./ConfigLayerMetadata.js"; +export type { ConfigLayerSource } from "./ConfigLayerSource.js"; +export type { ConfigReadParams } from "./ConfigReadParams.js"; +export type { ConfigReadResponse } from "./ConfigReadResponse.js"; +export type { ConfigRequirements } from "./ConfigRequirements.js"; +export type { ConfigRequirementsReadResponse } from "./ConfigRequirementsReadResponse.js"; +export type { ConfigValueWriteParams } from "./ConfigValueWriteParams.js"; +export type { ConfigWarningNotification } from "./ConfigWarningNotification.js"; +export type { ConfigWriteResponse } from "./ConfigWriteResponse.js"; +export type { ConfiguredHookHandler } from "./ConfiguredHookHandler.js"; +export type { ConfiguredHookMatcherGroup } from "./ConfiguredHookMatcherGroup.js"; +export type { ContextCompactedNotification } from "./ContextCompactedNotification.js"; +export type { CreditsSnapshot } from "./CreditsSnapshot.js"; +export type { DeprecationNoticeNotification } from "./DeprecationNoticeNotification.js"; +export type { DeviceKeyAlgorithm } from "./DeviceKeyAlgorithm.js"; +export type { DeviceKeyCreateParams } from "./DeviceKeyCreateParams.js"; +export type { DeviceKeyCreateResponse } from "./DeviceKeyCreateResponse.js"; +export type { DeviceKeyProtectionClass } from "./DeviceKeyProtectionClass.js"; +export type { DeviceKeyProtectionPolicy } from "./DeviceKeyProtectionPolicy.js"; +export type { DeviceKeyPublicParams } from "./DeviceKeyPublicParams.js"; +export type { DeviceKeyPublicResponse } from "./DeviceKeyPublicResponse.js"; +export type { DeviceKeySignParams } from "./DeviceKeySignParams.js"; +export type { DeviceKeySignPayload } from "./DeviceKeySignPayload.js"; +export type { DeviceKeySignResponse } from "./DeviceKeySignResponse.js"; +export type { DynamicToolCallOutputContentItem } from "./DynamicToolCallOutputContentItem.js"; +export type { DynamicToolCallParams } from "./DynamicToolCallParams.js"; +export type { DynamicToolCallResponse } from "./DynamicToolCallResponse.js"; +export type { DynamicToolCallStatus } from "./DynamicToolCallStatus.js"; +export type { DynamicToolSpec } from "./DynamicToolSpec.js"; +export type { ErrorNotification } from "./ErrorNotification.js"; +export type { ExecPolicyAmendment } from "./ExecPolicyAmendment.js"; +export type { ExperimentalFeature } from "./ExperimentalFeature.js"; +export type { ExperimentalFeatureEnablementSetParams } from "./ExperimentalFeatureEnablementSetParams.js"; +export type { ExperimentalFeatureEnablementSetResponse } from "./ExperimentalFeatureEnablementSetResponse.js"; +export type { ExperimentalFeatureListParams } from "./ExperimentalFeatureListParams.js"; +export type { ExperimentalFeatureListResponse } from "./ExperimentalFeatureListResponse.js"; +export type { ExperimentalFeatureStage } from "./ExperimentalFeatureStage.js"; +export type { ExternalAgentConfigDetectParams } from "./ExternalAgentConfigDetectParams.js"; +export type { ExternalAgentConfigDetectResponse } from "./ExternalAgentConfigDetectResponse.js"; +export type { ExternalAgentConfigImportCompletedNotification } from "./ExternalAgentConfigImportCompletedNotification.js"; +export type { ExternalAgentConfigImportParams } from "./ExternalAgentConfigImportParams.js"; +export type { ExternalAgentConfigImportResponse } from "./ExternalAgentConfigImportResponse.js"; +export type { ExternalAgentConfigMigrationItem } from "./ExternalAgentConfigMigrationItem.js"; +export type { ExternalAgentConfigMigrationItemType } from "./ExternalAgentConfigMigrationItemType.js"; +export type { FeedbackUploadParams } from "./FeedbackUploadParams.js"; +export type { FeedbackUploadResponse } from "./FeedbackUploadResponse.js"; +export type { FileChangeApprovalDecision } from "./FileChangeApprovalDecision.js"; +export type { FileChangeOutputDeltaNotification } from "./FileChangeOutputDeltaNotification.js"; +export type { FileChangePatchUpdatedNotification } from "./FileChangePatchUpdatedNotification.js"; +export type { FileChangeRequestApprovalParams } from "./FileChangeRequestApprovalParams.js"; +export type { FileChangeRequestApprovalResponse } from "./FileChangeRequestApprovalResponse.js"; +export type { FileSystemAccessMode } from "./FileSystemAccessMode.js"; +export type { FileSystemPath } from "./FileSystemPath.js"; +export type { FileSystemSandboxEntry } from "./FileSystemSandboxEntry.js"; +export type { FileSystemSpecialPath } from "./FileSystemSpecialPath.js"; +export type { FileUpdateChange } from "./FileUpdateChange.js"; +export type { FsChangedNotification } from "./FsChangedNotification.js"; +export type { FsCopyParams } from "./FsCopyParams.js"; +export type { FsCopyResponse } from "./FsCopyResponse.js"; +export type { FsCreateDirectoryParams } from "./FsCreateDirectoryParams.js"; +export type { FsCreateDirectoryResponse } from "./FsCreateDirectoryResponse.js"; +export type { FsGetMetadataParams } from "./FsGetMetadataParams.js"; +export type { FsGetMetadataResponse } from "./FsGetMetadataResponse.js"; +export type { FsReadDirectoryEntry } from "./FsReadDirectoryEntry.js"; +export type { FsReadDirectoryParams } from "./FsReadDirectoryParams.js"; +export type { FsReadDirectoryResponse } from "./FsReadDirectoryResponse.js"; +export type { FsReadFileParams } from "./FsReadFileParams.js"; +export type { FsReadFileResponse } from "./FsReadFileResponse.js"; +export type { FsRemoveParams } from "./FsRemoveParams.js"; +export type { FsRemoveResponse } from "./FsRemoveResponse.js"; +export type { FsUnwatchParams } from "./FsUnwatchParams.js"; +export type { FsUnwatchResponse } from "./FsUnwatchResponse.js"; +export type { FsWatchParams } from "./FsWatchParams.js"; +export type { FsWatchResponse } from "./FsWatchResponse.js"; +export type { FsWriteFileParams } from "./FsWriteFileParams.js"; +export type { FsWriteFileResponse } from "./FsWriteFileResponse.js"; +export type { GetAccountParams } from "./GetAccountParams.js"; +export type { GetAccountRateLimitsResponse } from "./GetAccountRateLimitsResponse.js"; +export type { GetAccountResponse } from "./GetAccountResponse.js"; +export type { GitInfo } from "./GitInfo.js"; +export type { GrantedPermissionProfile } from "./GrantedPermissionProfile.js"; +export type { GuardianApprovalReview } from "./GuardianApprovalReview.js"; +export type { GuardianApprovalReviewAction } from "./GuardianApprovalReviewAction.js"; +export type { GuardianApprovalReviewStatus } from "./GuardianApprovalReviewStatus.js"; +export type { GuardianCommandSource } from "./GuardianCommandSource.js"; +export type { GuardianRiskLevel } from "./GuardianRiskLevel.js"; +export type { GuardianUserAuthorization } from "./GuardianUserAuthorization.js"; +export type { GuardianWarningNotification } from "./GuardianWarningNotification.js"; +export type { HookCompletedNotification } from "./HookCompletedNotification.js"; +export type { HookEventName } from "./HookEventName.js"; +export type { HookExecutionMode } from "./HookExecutionMode.js"; +export type { HookHandlerType } from "./HookHandlerType.js"; +export type { HookOutputEntry } from "./HookOutputEntry.js"; +export type { HookOutputEntryKind } from "./HookOutputEntryKind.js"; +export type { HookPromptFragment } from "./HookPromptFragment.js"; +export type { HookRunStatus } from "./HookRunStatus.js"; +export type { HookRunSummary } from "./HookRunSummary.js"; +export type { HookScope } from "./HookScope.js"; +export type { HookSource } from "./HookSource.js"; +export type { HookStartedNotification } from "./HookStartedNotification.js"; +export type { ItemCompletedNotification } from "./ItemCompletedNotification.js"; +export type { ItemGuardianApprovalReviewCompletedNotification } from "./ItemGuardianApprovalReviewCompletedNotification.js"; +export type { ItemGuardianApprovalReviewStartedNotification } from "./ItemGuardianApprovalReviewStartedNotification.js"; +export type { ItemStartedNotification } from "./ItemStartedNotification.js"; +export type { ListMcpServerStatusParams } from "./ListMcpServerStatusParams.js"; +export type { ListMcpServerStatusResponse } from "./ListMcpServerStatusResponse.js"; +export type { LoginAccountParams } from "./LoginAccountParams.js"; +export type { LoginAccountResponse } from "./LoginAccountResponse.js"; +export type { LogoutAccountResponse } from "./LogoutAccountResponse.js"; +export type { ManagedHooksRequirements } from "./ManagedHooksRequirements.js"; +export type { MarketplaceAddParams } from "./MarketplaceAddParams.js"; +export type { MarketplaceAddResponse } from "./MarketplaceAddResponse.js"; +export type { MarketplaceInterface } from "./MarketplaceInterface.js"; +export type { MarketplaceLoadErrorInfo } from "./MarketplaceLoadErrorInfo.js"; +export type { MarketplaceRemoveParams } from "./MarketplaceRemoveParams.js"; +export type { MarketplaceRemoveResponse } from "./MarketplaceRemoveResponse.js"; +export type { MarketplaceUpgradeErrorInfo } from "./MarketplaceUpgradeErrorInfo.js"; +export type { MarketplaceUpgradeParams } from "./MarketplaceUpgradeParams.js"; +export type { MarketplaceUpgradeResponse } from "./MarketplaceUpgradeResponse.js"; +export type { McpAuthStatus } from "./McpAuthStatus.js"; +export type { McpElicitationArrayType } from "./McpElicitationArrayType.js"; +export type { McpElicitationBooleanSchema } from "./McpElicitationBooleanSchema.js"; +export type { McpElicitationBooleanType } from "./McpElicitationBooleanType.js"; +export type { McpElicitationConstOption } from "./McpElicitationConstOption.js"; +export type { McpElicitationEnumSchema } from "./McpElicitationEnumSchema.js"; +export type { McpElicitationLegacyTitledEnumSchema } from "./McpElicitationLegacyTitledEnumSchema.js"; +export type { McpElicitationMultiSelectEnumSchema } from "./McpElicitationMultiSelectEnumSchema.js"; +export type { McpElicitationNumberSchema } from "./McpElicitationNumberSchema.js"; +export type { McpElicitationNumberType } from "./McpElicitationNumberType.js"; +export type { McpElicitationObjectType } from "./McpElicitationObjectType.js"; +export type { McpElicitationPrimitiveSchema } from "./McpElicitationPrimitiveSchema.js"; +export type { McpElicitationSchema } from "./McpElicitationSchema.js"; +export type { McpElicitationSingleSelectEnumSchema } from "./McpElicitationSingleSelectEnumSchema.js"; +export type { McpElicitationStringFormat } from "./McpElicitationStringFormat.js"; +export type { McpElicitationStringSchema } from "./McpElicitationStringSchema.js"; +export type { McpElicitationStringType } from "./McpElicitationStringType.js"; +export type { McpElicitationTitledEnumItems } from "./McpElicitationTitledEnumItems.js"; +export type { McpElicitationTitledMultiSelectEnumSchema } from "./McpElicitationTitledMultiSelectEnumSchema.js"; +export type { McpElicitationTitledSingleSelectEnumSchema } from "./McpElicitationTitledSingleSelectEnumSchema.js"; +export type { McpElicitationUntitledEnumItems } from "./McpElicitationUntitledEnumItems.js"; +export type { McpElicitationUntitledMultiSelectEnumSchema } from "./McpElicitationUntitledMultiSelectEnumSchema.js"; +export type { McpElicitationUntitledSingleSelectEnumSchema } from "./McpElicitationUntitledSingleSelectEnumSchema.js"; +export type { McpResourceReadParams } from "./McpResourceReadParams.js"; +export type { McpResourceReadResponse } from "./McpResourceReadResponse.js"; +export type { McpServerElicitationAction } from "./McpServerElicitationAction.js"; +export type { McpServerElicitationRequestParams } from "./McpServerElicitationRequestParams.js"; +export type { McpServerElicitationRequestResponse } from "./McpServerElicitationRequestResponse.js"; +export type { McpServerOauthLoginCompletedNotification } from "./McpServerOauthLoginCompletedNotification.js"; +export type { McpServerOauthLoginParams } from "./McpServerOauthLoginParams.js"; +export type { McpServerOauthLoginResponse } from "./McpServerOauthLoginResponse.js"; +export type { McpServerRefreshResponse } from "./McpServerRefreshResponse.js"; +export type { McpServerStartupState } from "./McpServerStartupState.js"; +export type { McpServerStatus } from "./McpServerStatus.js"; +export type { McpServerStatusDetail } from "./McpServerStatusDetail.js"; +export type { McpServerStatusUpdatedNotification } from "./McpServerStatusUpdatedNotification.js"; +export type { McpServerToolCallParams } from "./McpServerToolCallParams.js"; +export type { McpServerToolCallResponse } from "./McpServerToolCallResponse.js"; +export type { McpToolCallError } from "./McpToolCallError.js"; +export type { McpToolCallProgressNotification } from "./McpToolCallProgressNotification.js"; +export type { McpToolCallResult } from "./McpToolCallResult.js"; +export type { McpToolCallStatus } from "./McpToolCallStatus.js"; +export type { MemoryCitation } from "./MemoryCitation.js"; +export type { MemoryCitationEntry } from "./MemoryCitationEntry.js"; +export type { MergeStrategy } from "./MergeStrategy.js"; +export type { MigrationDetails } from "./MigrationDetails.js"; +export type { Model } from "./Model.js"; +export type { ModelAvailabilityNux } from "./ModelAvailabilityNux.js"; +export type { ModelListParams } from "./ModelListParams.js"; +export type { ModelListResponse } from "./ModelListResponse.js"; +export type { ModelRerouteReason } from "./ModelRerouteReason.js"; +export type { ModelReroutedNotification } from "./ModelReroutedNotification.js"; +export type { ModelUpgradeInfo } from "./ModelUpgradeInfo.js"; +export type { ModelVerification } from "./ModelVerification.js"; +export type { ModelVerificationNotification } from "./ModelVerificationNotification.js"; +export type { NetworkAccess } from "./NetworkAccess.js"; +export type { NetworkApprovalContext } from "./NetworkApprovalContext.js"; +export type { NetworkApprovalProtocol } from "./NetworkApprovalProtocol.js"; +export type { NetworkDomainPermission } from "./NetworkDomainPermission.js"; +export type { NetworkPolicyAmendment } from "./NetworkPolicyAmendment.js"; +export type { NetworkPolicyRuleAction } from "./NetworkPolicyRuleAction.js"; +export type { NetworkRequirements } from "./NetworkRequirements.js"; +export type { NetworkUnixSocketPermission } from "./NetworkUnixSocketPermission.js"; +export type { NonSteerableTurnKind } from "./NonSteerableTurnKind.js"; +export type { OverriddenMetadata } from "./OverriddenMetadata.js"; +export type { PatchApplyStatus } from "./PatchApplyStatus.js"; +export type { PatchChangeKind } from "./PatchChangeKind.js"; +export type { PermissionGrantScope } from "./PermissionGrantScope.js"; +export type { PermissionProfile } from "./PermissionProfile.js"; +export type { PermissionProfileFileSystemPermissions } from "./PermissionProfileFileSystemPermissions.js"; +export type { PermissionProfileNetworkPermissions } from "./PermissionProfileNetworkPermissions.js"; +export type { PermissionsRequestApprovalParams } from "./PermissionsRequestApprovalParams.js"; +export type { PermissionsRequestApprovalResponse } from "./PermissionsRequestApprovalResponse.js"; +export type { PlanDeltaNotification } from "./PlanDeltaNotification.js"; +export type { PluginAuthPolicy } from "./PluginAuthPolicy.js"; +export type { PluginDetail } from "./PluginDetail.js"; +export type { PluginInstallParams } from "./PluginInstallParams.js"; +export type { PluginInstallPolicy } from "./PluginInstallPolicy.js"; +export type { PluginInstallResponse } from "./PluginInstallResponse.js"; +export type { PluginInterface } from "./PluginInterface.js"; +export type { PluginListParams } from "./PluginListParams.js"; +export type { PluginListResponse } from "./PluginListResponse.js"; +export type { PluginMarketplaceEntry } from "./PluginMarketplaceEntry.js"; +export type { PluginReadParams } from "./PluginReadParams.js"; +export type { PluginReadResponse } from "./PluginReadResponse.js"; +export type { PluginSource } from "./PluginSource.js"; +export type { PluginSummary } from "./PluginSummary.js"; +export type { PluginUninstallParams } from "./PluginUninstallParams.js"; +export type { PluginUninstallResponse } from "./PluginUninstallResponse.js"; +export type { PluginsMigration } from "./PluginsMigration.js"; +export type { ProfileV2 } from "./ProfileV2.js"; +export type { RateLimitReachedType } from "./RateLimitReachedType.js"; +export type { RateLimitSnapshot } from "./RateLimitSnapshot.js"; +export type { RateLimitWindow } from "./RateLimitWindow.js"; +export type { RawResponseItemCompletedNotification } from "./RawResponseItemCompletedNotification.js"; +export type { ReadOnlyAccess } from "./ReadOnlyAccess.js"; +export type { ReasoningEffortOption } from "./ReasoningEffortOption.js"; +export type { ReasoningSummaryPartAddedNotification } from "./ReasoningSummaryPartAddedNotification.js"; +export type { ReasoningSummaryTextDeltaNotification } from "./ReasoningSummaryTextDeltaNotification.js"; +export type { ReasoningTextDeltaNotification } from "./ReasoningTextDeltaNotification.js"; +export type { RemoteControlClientConnectionAudience } from "./RemoteControlClientConnectionAudience.js"; +export type { RemoteControlClientEnrollmentAudience } from "./RemoteControlClientEnrollmentAudience.js"; +export type { RequestPermissionProfile } from "./RequestPermissionProfile.js"; +export type { ResidencyRequirement } from "./ResidencyRequirement.js"; +export type { ReviewDelivery } from "./ReviewDelivery.js"; +export type { ReviewStartParams } from "./ReviewStartParams.js"; +export type { ReviewStartResponse } from "./ReviewStartResponse.js"; +export type { ReviewTarget } from "./ReviewTarget.js"; +export type { SandboxMode } from "./SandboxMode.js"; +export type { SandboxPolicy } from "./SandboxPolicy.js"; +export type { SandboxWorkspaceWrite } from "./SandboxWorkspaceWrite.js"; +export type { SendAddCreditsNudgeEmailParams } from "./SendAddCreditsNudgeEmailParams.js"; +export type { SendAddCreditsNudgeEmailResponse } from "./SendAddCreditsNudgeEmailResponse.js"; +export type { ServerRequestResolvedNotification } from "./ServerRequestResolvedNotification.js"; +export type { SessionSource } from "./SessionSource.js"; +export type { SkillDependencies } from "./SkillDependencies.js"; +export type { SkillErrorInfo } from "./SkillErrorInfo.js"; +export type { SkillInterface } from "./SkillInterface.js"; +export type { SkillMetadata } from "./SkillMetadata.js"; +export type { SkillScope } from "./SkillScope.js"; +export type { SkillSummary } from "./SkillSummary.js"; +export type { SkillToolDependency } from "./SkillToolDependency.js"; +export type { SkillsChangedNotification } from "./SkillsChangedNotification.js"; +export type { SkillsConfigWriteParams } from "./SkillsConfigWriteParams.js"; +export type { SkillsConfigWriteResponse } from "./SkillsConfigWriteResponse.js"; +export type { SkillsListEntry } from "./SkillsListEntry.js"; +export type { SkillsListExtraRootsForCwd } from "./SkillsListExtraRootsForCwd.js"; +export type { SkillsListParams } from "./SkillsListParams.js"; +export type { SkillsListResponse } from "./SkillsListResponse.js"; +export type { SortDirection } from "./SortDirection.js"; +export type { TerminalInteractionNotification } from "./TerminalInteractionNotification.js"; +export type { TextElement } from "./TextElement.js"; +export type { TextPosition } from "./TextPosition.js"; +export type { TextRange } from "./TextRange.js"; +export type { Thread } from "./Thread.js"; +export type { ThreadActiveFlag } from "./ThreadActiveFlag.js"; +export type { ThreadApproveGuardianDeniedActionParams } from "./ThreadApproveGuardianDeniedActionParams.js"; +export type { ThreadApproveGuardianDeniedActionResponse } from "./ThreadApproveGuardianDeniedActionResponse.js"; +export type { ThreadArchiveParams } from "./ThreadArchiveParams.js"; +export type { ThreadArchiveResponse } from "./ThreadArchiveResponse.js"; +export type { ThreadArchivedNotification } from "./ThreadArchivedNotification.js"; +export type { ThreadClosedNotification } from "./ThreadClosedNotification.js"; +export type { ThreadCompactStartParams } from "./ThreadCompactStartParams.js"; +export type { ThreadCompactStartResponse } from "./ThreadCompactStartResponse.js"; +export type { ThreadForkParams } from "./ThreadForkParams.js"; +export type { ThreadForkResponse } from "./ThreadForkResponse.js"; +export type { ThreadInjectItemsParams } from "./ThreadInjectItemsParams.js"; +export type { ThreadInjectItemsResponse } from "./ThreadInjectItemsResponse.js"; +export type { ThreadItem } from "./ThreadItem.js"; +export type { ThreadListParams } from "./ThreadListParams.js"; +export type { ThreadListResponse } from "./ThreadListResponse.js"; +export type { ThreadLoadedListParams } from "./ThreadLoadedListParams.js"; +export type { ThreadLoadedListResponse } from "./ThreadLoadedListResponse.js"; +export type { ThreadMetadataGitInfoUpdateParams } from "./ThreadMetadataGitInfoUpdateParams.js"; +export type { ThreadMetadataUpdateParams } from "./ThreadMetadataUpdateParams.js"; +export type { ThreadMetadataUpdateResponse } from "./ThreadMetadataUpdateResponse.js"; +export type { ThreadNameUpdatedNotification } from "./ThreadNameUpdatedNotification.js"; +export type { ThreadReadParams } from "./ThreadReadParams.js"; +export type { ThreadReadResponse } from "./ThreadReadResponse.js"; +export type { ThreadRealtimeAudioChunk } from "./ThreadRealtimeAudioChunk.js"; +export type { ThreadRealtimeClosedNotification } from "./ThreadRealtimeClosedNotification.js"; +export type { ThreadRealtimeErrorNotification } from "./ThreadRealtimeErrorNotification.js"; +export type { ThreadRealtimeItemAddedNotification } from "./ThreadRealtimeItemAddedNotification.js"; +export type { ThreadRealtimeOutputAudioDeltaNotification } from "./ThreadRealtimeOutputAudioDeltaNotification.js"; +export type { ThreadRealtimeSdpNotification } from "./ThreadRealtimeSdpNotification.js"; +export type { ThreadRealtimeStartTransport } from "./ThreadRealtimeStartTransport.js"; +export type { ThreadRealtimeStartedNotification } from "./ThreadRealtimeStartedNotification.js"; +export type { ThreadRealtimeTranscriptDeltaNotification } from "./ThreadRealtimeTranscriptDeltaNotification.js"; +export type { ThreadRealtimeTranscriptDoneNotification } from "./ThreadRealtimeTranscriptDoneNotification.js"; +export type { ThreadResumeParams } from "./ThreadResumeParams.js"; +export type { ThreadResumeResponse } from "./ThreadResumeResponse.js"; +export type { ThreadRollbackParams } from "./ThreadRollbackParams.js"; +export type { ThreadRollbackResponse } from "./ThreadRollbackResponse.js"; +export type { ThreadSetNameParams } from "./ThreadSetNameParams.js"; +export type { ThreadSetNameResponse } from "./ThreadSetNameResponse.js"; +export type { ThreadShellCommandParams } from "./ThreadShellCommandParams.js"; +export type { ThreadShellCommandResponse } from "./ThreadShellCommandResponse.js"; +export type { ThreadSortKey } from "./ThreadSortKey.js"; +export type { ThreadSourceKind } from "./ThreadSourceKind.js"; +export type { ThreadStartParams } from "./ThreadStartParams.js"; +export type { ThreadStartResponse } from "./ThreadStartResponse.js"; +export type { ThreadStartSource } from "./ThreadStartSource.js"; +export type { ThreadStartedNotification } from "./ThreadStartedNotification.js"; +export type { ThreadStatus } from "./ThreadStatus.js"; +export type { ThreadStatusChangedNotification } from "./ThreadStatusChangedNotification.js"; +export type { ThreadTokenUsage } from "./ThreadTokenUsage.js"; +export type { ThreadTokenUsageUpdatedNotification } from "./ThreadTokenUsageUpdatedNotification.js"; +export type { ThreadTurnsListParams } from "./ThreadTurnsListParams.js"; +export type { ThreadTurnsListResponse } from "./ThreadTurnsListResponse.js"; +export type { ThreadUnarchiveParams } from "./ThreadUnarchiveParams.js"; +export type { ThreadUnarchiveResponse } from "./ThreadUnarchiveResponse.js"; +export type { ThreadUnarchivedNotification } from "./ThreadUnarchivedNotification.js"; +export type { ThreadUnsubscribeParams } from "./ThreadUnsubscribeParams.js"; +export type { ThreadUnsubscribeResponse } from "./ThreadUnsubscribeResponse.js"; +export type { ThreadUnsubscribeStatus } from "./ThreadUnsubscribeStatus.js"; +export type { TokenUsageBreakdown } from "./TokenUsageBreakdown.js"; +export type { ToolRequestUserInputAnswer } from "./ToolRequestUserInputAnswer.js"; +export type { ToolRequestUserInputOption } from "./ToolRequestUserInputOption.js"; +export type { ToolRequestUserInputParams } from "./ToolRequestUserInputParams.js"; +export type { ToolRequestUserInputQuestion } from "./ToolRequestUserInputQuestion.js"; +export type { ToolRequestUserInputResponse } from "./ToolRequestUserInputResponse.js"; +export type { ToolsV2 } from "./ToolsV2.js"; +export type { Turn } from "./Turn.js"; +export type { TurnCompletedNotification } from "./TurnCompletedNotification.js"; +export type { TurnDiffUpdatedNotification } from "./TurnDiffUpdatedNotification.js"; +export type { TurnEnvironmentParams } from "./TurnEnvironmentParams.js"; +export type { TurnError } from "./TurnError.js"; +export type { TurnInterruptParams } from "./TurnInterruptParams.js"; +export type { TurnInterruptResponse } from "./TurnInterruptResponse.js"; +export type { TurnPlanStep } from "./TurnPlanStep.js"; +export type { TurnPlanStepStatus } from "./TurnPlanStepStatus.js"; +export type { TurnPlanUpdatedNotification } from "./TurnPlanUpdatedNotification.js"; +export type { TurnStartParams } from "./TurnStartParams.js"; +export type { TurnStartResponse } from "./TurnStartResponse.js"; +export type { TurnStartedNotification } from "./TurnStartedNotification.js"; +export type { TurnStatus } from "./TurnStatus.js"; +export type { TurnSteerParams } from "./TurnSteerParams.js"; +export type { TurnSteerResponse } from "./TurnSteerResponse.js"; +export type { UserInput } from "./UserInput.js"; +export type { WarningNotification } from "./WarningNotification.js"; +export type { WebSearchAction } from "./WebSearchAction.js"; +export type { WindowsSandboxSetupCompletedNotification } from "./WindowsSandboxSetupCompletedNotification.js"; +export type { WindowsSandboxSetupMode } from "./WindowsSandboxSetupMode.js"; +export type { WindowsSandboxSetupStartParams } from "./WindowsSandboxSetupStartParams.js"; +export type { WindowsSandboxSetupStartResponse } from "./WindowsSandboxSetupStartResponse.js"; +export type { WindowsWorldWritableWarningNotification } from "./WindowsWorldWritableWarningNotification.js"; +export type { WriteStatus } from "./WriteStatus.js"; diff --git a/extensions/codex/src/app-server/protocol-validators.ts b/extensions/codex/src/app-server/protocol-validators.ts new file mode 100644 index 00000000000..14c7895ab53 --- /dev/null +++ b/extensions/codex/src/app-server/protocol-validators.ts @@ -0,0 +1,175 @@ +import AjvPkg, { type ValidateFunction } from "ajv"; +import dynamicToolCallParamsSchema from "./protocol-generated/json/DynamicToolCallParams.json" with { type: "json" }; +import errorNotificationSchema from "./protocol-generated/json/v2/ErrorNotification.json" with { type: "json" }; +import modelListResponseSchema from "./protocol-generated/json/v2/ModelListResponse.json" with { type: "json" }; +import threadResumeResponseSchema from "./protocol-generated/json/v2/ThreadResumeResponse.json" with { + type: "json", +}; +import threadStartResponseSchema from "./protocol-generated/json/v2/ThreadStartResponse.json" with { + type: "json", +}; +import turnCompletedNotificationSchema from "./protocol-generated/json/v2/TurnCompletedNotification.json" with { + type: "json", +}; +import turnStartResponseSchema from "./protocol-generated/json/v2/TurnStartResponse.json" with { + type: "json", +}; +import type { + CodexDynamicToolCallParams, + CodexThreadResumeResponse, + CodexThreadStartResponse, + CodexTurn, + CodexTurnStartResponse, +} from "./protocol.js"; +import type { v2 } from "./protocol-generated/typescript/index.js"; + +type AjvInstance = import("ajv").default; + +const AjvCtor = AjvPkg as unknown as new (opts?: object) => AjvInstance; +const ajv = new AjvCtor({ + allErrors: true, + strict: false, + useDefaults: true, + validateFormats: false, +}); + +const validateDynamicToolCallParams = ajv.compile( + dynamicToolCallParamsSchema, +); +const validateErrorNotification = ajv.compile(errorNotificationSchema); +const validateModelListResponse = ajv.compile(modelListResponseSchema); +const validateThreadResumeResponse = + ajv.compile(threadResumeResponseSchema); +const validateThreadStartResponse = + ajv.compile(threadStartResponseSchema); +const validateTurnCompletedNotification = ajv.compile( + turnCompletedNotificationSchema, +); +const validateTurnStartResponse = ajv.compile(turnStartResponseSchema); + +export function assertCodexThreadStartResponse(value: unknown): CodexThreadStartResponse { + return assertCodexShape(validateThreadStartResponse, value, "thread/start response"); +} + +export function assertCodexThreadResumeResponse(value: unknown): CodexThreadResumeResponse { + return assertCodexShape(validateThreadResumeResponse, value, "thread/resume response"); +} + +export function assertCodexTurnStartResponse(value: unknown): CodexTurnStartResponse { + return assertCodexShape( + validateTurnStartResponse, + normalizeTurnStartResponse(value), + "turn/start response", + ); +} + +export function readCodexDynamicToolCallParams( + value: unknown, +): CodexDynamicToolCallParams | undefined { + return readCodexShape(validateDynamicToolCallParams, value); +} + +export function readCodexErrorNotification(value: unknown): v2.ErrorNotification | undefined { + return readCodexShape(validateErrorNotification, value); +} + +export function readCodexModelListResponse(value: unknown): v2.ModelListResponse | undefined { + return readCodexShape(validateModelListResponse, value); +} + +export function readCodexTurn(value: unknown): CodexTurn | undefined { + const response = readCodexShape(validateTurnStartResponse, { turn: normalizeTurn(value) }); + return response?.turn; +} + +export function readCodexTurnCompletedNotification( + value: unknown, +): v2.TurnCompletedNotification | undefined { + return readCodexShape(validateTurnCompletedNotification, normalizeTurnCompletedNotification(value)); +} + +function assertCodexShape( + validate: ValidateFunction, + value: unknown, + label: string, +): T { + if (validate(value)) { + return value; + } + throw new Error(`Invalid Codex app-server ${label}: ${formatAjvErrors(validate)}`); +} + +function readCodexShape(validate: ValidateFunction, value: unknown): T | undefined { + return validate(value) ? value : undefined; +} + +function normalizeTurn(value: unknown): unknown { + if (!value || typeof value !== "object" || Array.isArray(value)) { + return value; + } + return { + error: null, + startedAt: null, + completedAt: null, + durationMs: null, + ...value, + items: Array.isArray((value as { items?: unknown }).items) + ? (value as { items: unknown[] }).items.map(normalizeThreadItem) + : [], + }; +} + +function normalizeThreadItem(value: unknown): unknown { + if (!value || typeof value !== "object" || Array.isArray(value)) { + return value; + } + const item = value as { type?: unknown }; + switch (item.type) { + case "agentMessage": + return { phase: null, memoryCitation: null, ...value }; + case "plan": + return { text: "", ...value }; + case "reasoning": + return { summary: [], content: [], ...value }; + case "dynamicToolCall": + return { + namespace: null, + arguments: null, + status: "completed", + contentItems: null, + success: null, + durationMs: null, + ...value, + }; + default: + return value; + } +} + +function normalizeTurnStartResponse(value: unknown): unknown { + if (!value || typeof value !== "object" || Array.isArray(value) || !("turn" in value)) { + return value; + } + return { + ...value, + turn: normalizeTurn((value as { turn?: unknown }).turn), + }; +} + +function normalizeTurnCompletedNotification(value: unknown): unknown { + if (!value || typeof value !== "object" || Array.isArray(value) || !("turn" in value)) { + return value; + } + return { + ...value, + turn: normalizeTurn((value as { turn?: unknown }).turn), + }; +} + +function formatAjvErrors(validate: ValidateFunction): string { + const errors = validate.errors; + if (!errors || errors.length === 0) { + return "schema validation failed"; + } + return ajv.errorsText(errors, { separator: "; " }); +} diff --git a/extensions/codex/src/app-server/protocol.ts b/extensions/codex/src/app-server/protocol.ts index 80d34c7f159..92f540de630 100644 --- a/extensions/codex/src/app-server/protocol.ts +++ b/extensions/codex/src/app-server/protocol.ts @@ -1,5 +1,11 @@ +import type { + ServerNotification as GeneratedServerNotification, + v2, +} from "./protocol-generated/typescript/index.js"; +import type { JsonValue as GeneratedJsonValue } from "./protocol-generated/typescript/serde_json/JsonValue.js"; + export type JsonPrimitive = null | boolean | number | string; -export type JsonValue = JsonPrimitive | JsonValue[] | { [key: string]: JsonValue }; +export type JsonValue = GeneratedJsonValue; export type JsonObject = { [key: string]: JsonValue }; export type CodexServiceTier = "fast" | "flex"; @@ -28,165 +34,48 @@ export type CodexInitializeResponse = { platformOs?: string; }; -export type CodexUserInput = - | { - type: "text"; - text: string; - } - | { - type: "image"; - url: string; - } - | { - type: "localImage"; - path: string; - }; +export type CodexUserInput = v2.UserInput; -export type CodexDynamicToolSpec = { - name: string; - description: string; - inputSchema: JsonValue; - deferLoading?: boolean; -}; +export type CodexDynamicToolSpec = v2.DynamicToolSpec; -export type CodexThreadStartParams = { - model?: string | null; - modelProvider?: string | null; - cwd?: string | null; - approvalPolicy?: "never" | "on-request" | "on-failure" | "untrusted"; - approvalsReviewer?: "user" | "guardian_subagent"; - sandbox?: "read-only" | "workspace-write" | "danger-full-access"; - serviceTier?: CodexServiceTier | null; - config?: JsonObject | null; - serviceName?: string | null; - baseInstructions?: string | null; - developerInstructions?: string | null; - ephemeral?: boolean | null; +export type CodexThreadStartParams = v2.ThreadStartParams & { dynamicTools?: CodexDynamicToolSpec[] | null; - experimentalRawEvents: boolean; - persistExtendedHistory: boolean; }; -export type CodexThreadResumeParams = { - threadId: string; - model?: string | null; - modelProvider?: string | null; - approvalPolicy?: "never" | "on-request" | "on-failure" | "untrusted"; - approvalsReviewer?: "user" | "guardian_subagent"; - sandbox?: "read-only" | "workspace-write" | "danger-full-access"; - serviceTier?: CodexServiceTier | null; - baseInstructions?: string | null; - developerInstructions?: string | null; - persistExtendedHistory?: boolean; -}; +export type CodexThreadResumeParams = v2.ThreadResumeParams; -export type CodexThreadStartResponse = { - thread: CodexThread; - model?: string | null; - modelProvider?: string | null; -}; +export type CodexThreadStartResponse = v2.ThreadStartResponse; -export type CodexThreadResumeResponse = CodexThreadStartResponse; +export type CodexThreadResumeResponse = v2.ThreadResumeResponse; -export type CodexTurnStartParams = { - threadId: string; - input: CodexUserInput[]; - cwd?: string | null; - approvalPolicy?: "never" | "on-request" | "on-failure" | "untrusted"; - approvalsReviewer?: "user" | "guardian_subagent"; - model?: string | null; - serviceTier?: CodexServiceTier | null; - effort?: "minimal" | "low" | "medium" | "high" | "xhigh" | null; -}; +export type CodexTurnStartParams = v2.TurnStartParams; -export type CodexTurnSteerParams = { - threadId: string; - expectedTurnId: string; - input: CodexUserInput[]; -}; +export type CodexTurnSteerParams = v2.TurnSteerParams; export type CodexTurnInterruptParams = { threadId: string; turnId: string; }; -export type CodexTurnStartResponse = { - turn: CodexTurn; -}; +export type CodexTurnStartResponse = v2.TurnStartResponse; -export type CodexThread = { - id: string; - status?: string; - cwd?: string | null; - turns?: CodexTurn[]; -}; +export type CodexThread = v2.Thread; -export type CodexTurn = { - id: string; - status: "completed" | "interrupted" | "failed" | "inProgress"; - error?: { - message?: string; - } | null; - items?: CodexThreadItem[]; -}; +export type CodexTurn = v2.Turn; -export type CodexThreadItem = - | { - type: "agentMessage"; - id: string; - text?: string; - } - | { - type: "reasoning"; - id: string; - summary?: string[]; - content?: string[]; - } - | { - type: "plan"; - id: string; - text?: string; - } - | { - type: "dynamicToolCall"; - id: string; - tool?: string; - status?: string; - } - | { - type: string; - id: string; - status?: string; - [key: string]: JsonValue | undefined; - }; +export type CodexThreadItem = v2.ThreadItem; +export type CodexKnownServerNotification = GeneratedServerNotification; export type CodexServerNotification = { method: string; params?: JsonValue; }; -export type CodexDynamicToolCallParams = { - threadId: string; - turnId: string; - callId: string; - tool: string; - arguments?: JsonValue; -}; +export type CodexDynamicToolCallParams = v2.DynamicToolCallParams; -export type CodexDynamicToolCallResponse = { - contentItems: CodexDynamicToolCallOutputContentItem[]; - success: boolean; -}; +export type CodexDynamicToolCallResponse = v2.DynamicToolCallResponse; -export type CodexDynamicToolCallOutputContentItem = - | { - type: "inputText"; - text: string; - } - | { - type: "inputImage"; - imageUrl: string; - }; +export type CodexDynamicToolCallOutputContentItem = v2.DynamicToolCallOutputContentItem; export function isJsonObject(value: JsonValue | undefined): value is JsonObject { return Boolean(value && typeof value === "object" && !Array.isArray(value)); diff --git a/extensions/codex/src/app-server/run-attempt.test.ts b/extensions/codex/src/app-server/run-attempt.test.ts index d6f85432ccf..fe2b73f82e5 100644 --- a/extensions/codex/src/app-server/run-attempt.test.ts +++ b/extensions/codex/src/app-server/run-attempt.test.ts @@ -47,11 +47,51 @@ function createParams(sessionFile: string, workspaceDir: string): EmbeddedRunAtt } function threadStartResult(threadId = "thread-1") { - return { thread: { id: threadId }, model: "gpt-5.4-codex", modelProvider: "openai" }; + return { + thread: { + id: threadId, + forkedFromId: null, + preview: "", + ephemeral: false, + modelProvider: "openai", + createdAt: 1, + updatedAt: 1, + status: { type: "idle" }, + path: null, + cwd: tempDir || "/tmp/openclaw-codex-test", + cliVersion: "0.118.0", + source: "unknown", + agentNickname: null, + agentRole: null, + gitInfo: null, + name: null, + turns: [], + }, + model: "gpt-5.4-codex", + modelProvider: "openai", + serviceTier: null, + cwd: tempDir || "/tmp/openclaw-codex-test", + instructionSources: [], + approvalPolicy: "never", + approvalsReviewer: "user", + sandbox: { type: "dangerFullAccess" }, + permissionProfile: null, + reasoningEffort: null, + }; } function turnStartResult(turnId = "turn-1", status = "inProgress") { - return { turn: { id: turnId, status } }; + return { + turn: { + id: turnId, + status, + items: [], + error: null, + startedAt: null, + completedAt: null, + durationMs: null, + }, + }; } function assistantMessage(text: string, timestamp: number) { @@ -157,7 +197,7 @@ function expectResumeRequest( function createResumeHarness() { return createAppServerHarness(async (method) => { if (method === "thread/resume") { - return { thread: { id: "thread-existing" }, modelProvider: "openai" }; + return threadStartResult("thread-existing"); } if (method === "turn/start") { return turnStartResult(); @@ -273,7 +313,7 @@ describe("runCodexAppServerAttempt", () => { { method: "turn/start", params: expect.objectContaining({ - input: [{ type: "text", text: "queued context\n\nhello" }], + input: [{ type: "text", text: "queued context\n\nhello", text_elements: [] }], }), }, ]), @@ -522,7 +562,7 @@ describe("runCodexAppServerAttempt", () => { params: { threadId: "thread-1", expectedTurnId: "turn-1", - input: [{ type: "text", text: "more context" }], + input: [{ type: "text", text: "more context", text_elements: [] }], }, }, { @@ -671,7 +711,7 @@ describe("runCodexAppServerAttempt", () => { method: "turn/start", params: expect.objectContaining({ input: [ - { type: "text", text: "hello" }, + { type: "text", text: "hello", text_elements: [] }, { type: "image", url: "data:image/png;base64,aW1hZ2UtYnl0ZXM=" }, ], }), @@ -783,10 +823,10 @@ describe("runCodexAppServerAttempt", () => { let notify: (notification: CodexServerNotification) => Promise = async () => undefined; const request = vi.fn(async (method: string) => { if (method === "thread/start") { - return { thread: { id: "thread-1" }, model: "gpt-5.4-codex", modelProvider: "openai" }; + return threadStartResult("thread-1"); } if (method === "turn/start") { - return { turn: { id: "turn-1", status: "inProgress" } }; + return turnStartResult("turn-1", "inProgress"); } return {}; }); @@ -843,10 +883,10 @@ describe("runCodexAppServerAttempt", () => { }); const request = vi.fn(async (method: string) => { if (method === "thread/start") { - return { thread: { id: "thread-1" }, model: "gpt-5.4-codex", modelProvider: "openai" }; + return threadStartResult("thread-1"); } if (method === "turn/start") { - return { turn: { id: "turn-1", status: "inProgress" } }; + return turnStartResult("turn-1", "inProgress"); } return {}; }); @@ -952,7 +992,7 @@ describe("runCodexAppServerAttempt", () => { const request = vi.fn( async (method: string, _params?: unknown, options?: { timeoutMs?: number }) => { if (method === "thread/start") { - return { thread: { id: "thread-1" }, model: "gpt-5.4-codex", modelProvider: "openai" }; + return threadStartResult("thread-1"); } if (method === "turn/start") { return await new Promise((_, reject) => { @@ -1013,7 +1053,7 @@ describe("runCodexAppServerAttempt", () => { return threadStartResult("thread-existing"); } if (method === "thread/resume") { - return { thread: { id: "thread-existing" }, modelProvider: "openai" }; + return threadStartResult("thread-existing"); } throw new Error(`unexpected method: ${method}`); }); @@ -1202,7 +1242,7 @@ describe("runCodexAppServerAttempt", () => { client: { request: async (method: string) => { if (method === "thread/resume") { - return { thread: { id: "thread-existing" }, modelProvider: "openai" }; + return threadStartResult("thread-existing"); } throw new Error(`unexpected method: ${method}`); }, @@ -1238,7 +1278,7 @@ describe("runCodexAppServerAttempt", () => { const { requests, waitForMethod, completeTurn } = createAppServerHarness( async (method: string) => { if (method === "thread/resume") { - return { thread: { id: "thread-existing" }, modelProvider: "openai" }; + return threadStartResult("thread-existing"); } if (method === "turn/start") { return turnStartResult(); diff --git a/extensions/codex/src/app-server/run-attempt.ts b/extensions/codex/src/app-server/run-attempt.ts index f034c3b6f02..cbdbf419a67 100644 --- a/extensions/codex/src/app-server/run-attempt.ts +++ b/extensions/codex/src/app-server/run-attempt.ts @@ -40,6 +40,10 @@ import { type JsonObject, type JsonValue, } from "./protocol.js"; +import { + assertCodexTurnStartResponse, + readCodexDynamicToolCallParams, +} from "./protocol-validators.js"; import { readCodexAppServerBinding, type CodexAppServerThreadBinding } from "./session-binding.js"; import { clearSharedCodexAppServerClient } from "./shared-client.js"; import { @@ -301,15 +305,17 @@ export async function runCodexAppServerAttempt( event: llmInputEvent, ctx: hookContext, }); - turn = await client.request( - "turn/start", - buildTurnStartParams(params, { - threadId: thread.threadId, - cwd: effectiveWorkspace, - appServer, - promptText: promptBuild.prompt, - }), - { timeoutMs: params.timeoutMs, signal: runAbortController.signal }, + turn = assertCodexTurnStartResponse( + await client.request( + "turn/start", + buildTurnStartParams(params, { + threadId: thread.threadId, + cwd: effectiveWorkspace, + appServer, + promptText: promptBuild.prompt, + }), + { timeoutMs: params.timeoutMs, signal: runAbortController.signal }, + ), ); } catch (error) { trajectoryRecorder?.recordEvent("session.ended", { @@ -346,14 +352,14 @@ export async function runCodexAppServerAttempt( throw error; } turnId = turn.turn.id; + const activeTurnId = turn.turn.id; trajectoryRecorder?.recordEvent("prompt.submitted", { threadId: thread.threadId, - turnId, + turnId: activeTurnId, prompt: promptBuild.prompt, imagesCount: params.images?.length ?? 0, }); - projector = new CodexAppServerEventProjector(params, thread.threadId, turnId); - const activeTurnId = turnId; + projector = new CodexAppServerEventProjector(params, thread.threadId, activeTurnId); const activeProjector = projector; for (const notification of pendingNotifications.splice(0)) { await enqueueNotification(notification); @@ -375,7 +381,7 @@ export async function runCodexAppServerAttempt( await client.request("turn/steer", { threadId: thread.threadId, expectedTurnId: activeTurnId, - input: [{ type: "text", text }], + input: [{ type: "text", text, text_elements: [] }], }); }, isStreaming: () => !completed, @@ -650,23 +656,7 @@ async function withCodexStartupTimeout(params: { function readDynamicToolCallParams( value: JsonValue | undefined, ): CodexDynamicToolCallParams | undefined { - if (!isJsonObject(value)) { - return undefined; - } - const threadId = readString(value, "threadId"); - const turnId = readString(value, "turnId"); - const callId = readString(value, "callId"); - const tool = readString(value, "tool"); - if (!threadId || !turnId || !callId || !tool) { - return undefined; - } - return { - threadId, - turnId, - callId, - tool, - arguments: value.arguments, - }; + return readCodexDynamicToolCallParams(value); } function isTurnNotification( diff --git a/extensions/codex/src/app-server/thread-lifecycle.ts b/extensions/codex/src/app-server/thread-lifecycle.ts index 021cfed5826..9262caee95f 100644 --- a/extensions/codex/src/app-server/thread-lifecycle.ts +++ b/extensions/codex/src/app-server/thread-lifecycle.ts @@ -7,14 +7,18 @@ import type { CodexAppServerClient } from "./client.js"; import type { CodexAppServerRuntimeOptions } from "./config.js"; import { isJsonObject, + type CodexDynamicToolSpec, type CodexThreadResumeParams, - type CodexThreadResumeResponse, - type CodexThreadStartResponse, + type CodexThreadStartParams, type CodexTurnStartParams, type CodexUserInput, type JsonObject, type JsonValue, } from "./protocol.js"; +import { + assertCodexThreadResumeResponse, + assertCodexThreadStartResponse, +} from "./protocol-validators.js"; import { clearCodexAppServerBinding, readCodexAppServerBinding, @@ -26,7 +30,7 @@ export async function startOrResumeThread(params: { client: CodexAppServerClient; params: EmbeddedRunAttemptParams; cwd: string; - dynamicTools: JsonValue[]; + dynamicTools: CodexDynamicToolSpec[]; appServer: CodexAppServerRuntimeOptions; developerInstructions?: string; }): Promise { @@ -48,13 +52,15 @@ export async function startOrResumeThread(params: { await clearCodexAppServerBinding(params.params.sessionFile); } else { try { - const response = await params.client.request( - "thread/resume", - buildThreadResumeParams(params.params, { - threadId: binding.threadId, - appServer: params.appServer, - developerInstructions: params.developerInstructions, - }), + const response = assertCodexThreadResumeResponse( + await params.client.request( + "thread/resume", + buildThreadResumeParams(params.params, { + threadId: binding.threadId, + appServer: params.appServer, + developerInstructions: params.developerInstructions, + }) as unknown as JsonValue, + ), ); const boundAuthProfileId = params.params.authProfileId ?? binding.authProfileId; await writeCodexAppServerBinding(params.params.sessionFile, { @@ -84,21 +90,26 @@ export async function startOrResumeThread(params: { } } - const response = await params.client.request("thread/start", { - model: params.params.modelId, - modelProvider: normalizeModelProvider(params.params.provider), - cwd: params.cwd, - approvalPolicy: params.appServer.approvalPolicy, - approvalsReviewer: params.appServer.approvalsReviewer, - sandbox: params.appServer.sandbox, - ...(params.appServer.serviceTier ? { serviceTier: params.appServer.serviceTier } : {}), - serviceName: "OpenClaw", - developerInstructions: - params.developerInstructions ?? buildDeveloperInstructions(params.params), - dynamicTools: params.dynamicTools, - experimentalRawEvents: true, - persistExtendedHistory: true, - }); + const response = assertCodexThreadStartResponse( + await params.client.request( + "thread/start", + ({ + model: params.params.modelId, + modelProvider: normalizeModelProvider(params.params.provider), + cwd: params.cwd, + approvalPolicy: params.appServer.approvalPolicy, + approvalsReviewer: params.appServer.approvalsReviewer, + sandbox: params.appServer.sandbox, + ...(params.appServer.serviceTier ? { serviceTier: params.appServer.serviceTier } : {}), + serviceName: "OpenClaw", + developerInstructions: + params.developerInstructions ?? buildDeveloperInstructions(params.params), + dynamicTools: params.dynamicTools, + experimentalRawEvents: true, + persistExtendedHistory: true, + } satisfies CodexThreadStartParams) as unknown as JsonValue, + ), + ); const createdAt = new Date().toISOString(); await writeCodexAppServerBinding(params.params.sessionFile, { threadId: response.thread.id, @@ -165,7 +176,7 @@ export function buildTurnStartParams( }; } -function fingerprintDynamicTools(dynamicTools: JsonValue[]): string { +function fingerprintDynamicTools(dynamicTools: CodexDynamicToolSpec[]): string { return JSON.stringify(dynamicTools.map(fingerprintDynamicToolSpec)); } @@ -217,7 +228,7 @@ function buildUserInput( promptText: string = params.prompt, ): CodexUserInput[] { return [ - { type: "text", text: promptText }, + { type: "text", text: promptText, text_elements: [] }, ...(params.images ?? []).map( (image): CodexUserInput => ({ type: "image", diff --git a/package.json b/package.json index 04b50100133..2e8e84fbac8 100644 --- a/package.json +++ b/package.json @@ -1277,6 +1277,7 @@ "check:timed:all-types": "node scripts/check-timed.mjs --include-test-types", "check:timed:architecture": "node scripts/check-timed.mjs --include-architecture", "codex-app-server:protocol:check": "node --import tsx scripts/check-codex-app-server-protocol.ts", + "codex-app-server:protocol:sync": "node --import tsx scripts/sync-codex-app-server-protocol.ts", "config:channels:check": "node --import tsx scripts/generate-bundled-channel-config-metadata.ts --check", "config:channels:gen": "node --import tsx scripts/generate-bundled-channel-config-metadata.ts --write", "config:docs:check": "node --import tsx scripts/generate-config-doc-baseline.ts --check", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b593ea4df26..467198e94b1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -379,6 +379,9 @@ importers: '@mariozechner/pi-coding-agent': specifier: 0.70.0 version: 0.70.0(@modelcontextprotocol/sdk@1.29.0(zod@4.3.6))(ws@8.20.0)(zod@4.3.6) + ajv: + specifier: ^8.18.0 + version: 8.18.0 ws: specifier: ^8.20.0 version: 8.20.0 diff --git a/scripts/sync-codex-app-server-protocol.ts b/scripts/sync-codex-app-server-protocol.ts new file mode 100644 index 00000000000..e0ac7834240 --- /dev/null +++ b/scripts/sync-codex-app-server-protocol.ts @@ -0,0 +1,60 @@ +import fs from "node:fs/promises"; +import path from "node:path"; + +const codexRepo = process.env.OPENCLAW_CODEX_REPO + ? path.resolve(process.env.OPENCLAW_CODEX_REPO) + : path.resolve(process.cwd(), "../codex"); + +const sourceRoot = path.join(codexRepo, "codex-rs/app-server-protocol/schema"); +const targetRoot = path.resolve( + process.cwd(), + "extensions/codex/src/app-server/protocol-generated", +); + +const selectedJsonSchemas = [ + "DynamicToolCallParams.json", + "v2/ErrorNotification.json", + "v2/ModelListResponse.json", + "v2/ThreadResumeResponse.json", + "v2/ThreadStartResponse.json", + "v2/TurnCompletedNotification.json", + "v2/TurnStartResponse.json", +] as const; + +await fs.rm(targetRoot, { recursive: true, force: true }); +await fs.mkdir(targetRoot, { recursive: true }); +await fs.cp(path.join(sourceRoot, "typescript"), path.join(targetRoot, "typescript"), { + recursive: true, +}); +await rewriteTypeScriptImports(path.join(targetRoot, "typescript")); + +for (const schema of selectedJsonSchemas) { + await fs.mkdir(path.dirname(path.join(targetRoot, "json", schema)), { recursive: true }); + await fs.copyFile(path.join(sourceRoot, "json", schema), path.join(targetRoot, "json", schema)); +} + +console.log(`Synced Codex app-server generated protocol from ${sourceRoot}`); + +async function rewriteTypeScriptImports(root: string): Promise { + const entries = await fs.readdir(root, { withFileTypes: true }); + await Promise.all( + entries.map(async (entry) => { + const fullPath = path.join(root, entry.name); + if (entry.isDirectory()) { + await rewriteTypeScriptImports(fullPath); + return; + } + if (!entry.isFile() || !entry.name.endsWith(".ts")) { + return; + } + const text = await fs.readFile(fullPath, "utf8"); + await fs.writeFile( + fullPath, + text + .replace(/(from\s+["'])(\.{1,2}\/[^"']+?)(\.js)?(["'])/g, "$1$2.js$4") + .replace('export * as v2 from "./v2.js";', 'export * as v2 from "./v2/index.js";') + .replaceAll("| null | null", "| null"), + ); + }), + ); +}