@excitedjs/tm 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/tm +76 -0
- package/package.json +39 -0
- package/resolver-register.mjs +7 -0
- package/resolver.mjs +86 -0
- package/src/cli/context.ts +63 -0
- package/src/cli/dispatch.ts +444 -0
- package/src/cli/errors.ts +45 -0
- package/src/cli/parse.ts +265 -0
- package/src/cli.ts +12 -0
- package/src/codex-protocol/AbsolutePathBuf.ts +14 -0
- package/src/codex-protocol/AgentPath.ts +5 -0
- package/src/codex-protocol/ApplyPatchApprovalParams.ts +21 -0
- package/src/codex-protocol/ApplyPatchApprovalResponse.ts +6 -0
- package/src/codex-protocol/AuthMode.ts +8 -0
- package/src/codex-protocol/AutoCompactTokenLimitScope.ts +9 -0
- package/src/codex-protocol/ClientInfo.ts +5 -0
- package/src/codex-protocol/ClientNotification.ts +5 -0
- package/src/codex-protocol/ClientRequest.ts +110 -0
- package/src/codex-protocol/CollaborationMode.ts +10 -0
- package/src/codex-protocol/ContentItem.ts +6 -0
- package/src/codex-protocol/ConversationGitInfo.ts +5 -0
- package/src/codex-protocol/ConversationSummary.ts +8 -0
- package/src/codex-protocol/ExecCommandApprovalParams.ts +16 -0
- package/src/codex-protocol/ExecCommandApprovalResponse.ts +6 -0
- package/src/codex-protocol/ExecPolicyAmendment.ts +12 -0
- package/src/codex-protocol/FileChange.ts +5 -0
- package/src/codex-protocol/ForcedLoginMethod.ts +5 -0
- package/src/codex-protocol/FunctionCallOutputBody.ts +6 -0
- package/src/codex-protocol/FunctionCallOutputContentItem.ts +10 -0
- package/src/codex-protocol/FuzzyFileSearchMatchType.ts +5 -0
- package/src/codex-protocol/FuzzyFileSearchParams.ts +5 -0
- package/src/codex-protocol/FuzzyFileSearchResponse.ts +6 -0
- package/src/codex-protocol/FuzzyFileSearchResult.ts +9 -0
- package/src/codex-protocol/FuzzyFileSearchSessionCompletedNotification.ts +5 -0
- package/src/codex-protocol/FuzzyFileSearchSessionStartParams.ts +5 -0
- package/src/codex-protocol/FuzzyFileSearchSessionStartResponse.ts +5 -0
- package/src/codex-protocol/FuzzyFileSearchSessionStopParams.ts +5 -0
- package/src/codex-protocol/FuzzyFileSearchSessionStopResponse.ts +5 -0
- package/src/codex-protocol/FuzzyFileSearchSessionUpdateParams.ts +5 -0
- package/src/codex-protocol/FuzzyFileSearchSessionUpdateResponse.ts +5 -0
- package/src/codex-protocol/FuzzyFileSearchSessionUpdatedNotification.ts +6 -0
- package/src/codex-protocol/GetAuthStatusParams.ts +5 -0
- package/src/codex-protocol/GetAuthStatusResponse.ts +6 -0
- package/src/codex-protocol/GetConversationSummaryParams.ts +6 -0
- package/src/codex-protocol/GetConversationSummaryResponse.ts +6 -0
- package/src/codex-protocol/GitDiffToRemoteParams.ts +5 -0
- package/src/codex-protocol/GitDiffToRemoteResponse.ts +6 -0
- package/src/codex-protocol/GitSha.ts +5 -0
- package/src/codex-protocol/ImageDetail.ts +5 -0
- package/src/codex-protocol/InitializeCapabilities.ts +21 -0
- package/src/codex-protocol/InitializeParams.ts +7 -0
- package/src/codex-protocol/InitializeResponse.ts +20 -0
- package/src/codex-protocol/InputModality.ts +8 -0
- package/src/codex-protocol/InternalSessionSource.ts +5 -0
- package/src/codex-protocol/LocalShellAction.ts +6 -0
- package/src/codex-protocol/LocalShellExecAction.ts +5 -0
- package/src/codex-protocol/LocalShellStatus.ts +5 -0
- package/src/codex-protocol/MessagePhase.ts +11 -0
- package/src/codex-protocol/ModeKind.ts +8 -0
- package/src/codex-protocol/NetworkPolicyAmendment.ts +6 -0
- package/src/codex-protocol/NetworkPolicyRuleAction.ts +5 -0
- package/src/codex-protocol/ParsedCommand.ts +12 -0
- package/src/codex-protocol/Personality.ts +5 -0
- package/src/codex-protocol/PlanType.ts +5 -0
- package/src/codex-protocol/RealtimeConversationVersion.ts +5 -0
- package/src/codex-protocol/RealtimeOutputModality.ts +5 -0
- package/src/codex-protocol/RealtimeVoice.ts +5 -0
- package/src/codex-protocol/RealtimeVoicesList.ts +6 -0
- package/src/codex-protocol/ReasoningEffort.ts +8 -0
- package/src/codex-protocol/ReasoningItemContent.ts +5 -0
- package/src/codex-protocol/ReasoningItemReasoningSummary.ts +5 -0
- package/src/codex-protocol/ReasoningSummary.ts +10 -0
- package/src/codex-protocol/RequestId.ts +5 -0
- package/src/codex-protocol/Resource.ts +9 -0
- package/src/codex-protocol/ResourceContent.ts +17 -0
- package/src/codex-protocol/ResourceTemplate.ts +9 -0
- package/src/codex-protocol/ResponseItem.ts +17 -0
- package/src/codex-protocol/ReviewDecision.ts +10 -0
- package/src/codex-protocol/ServerNotification.ts +73 -0
- package/src/codex-protocol/ServerRequest.ts +19 -0
- package/src/codex-protocol/SessionSource.ts +7 -0
- package/src/codex-protocol/Settings.ts +9 -0
- package/src/codex-protocol/SubAgentSource.ts +7 -0
- package/src/codex-protocol/ThreadId.ts +5 -0
- package/src/codex-protocol/ThreadMemoryMode.ts +5 -0
- package/src/codex-protocol/Tool.ts +9 -0
- package/src/codex-protocol/Verbosity.ts +9 -0
- package/src/codex-protocol/WebSearchAction.ts +5 -0
- package/src/codex-protocol/WebSearchContextSize.ts +5 -0
- package/src/codex-protocol/WebSearchLocation.ts +5 -0
- package/src/codex-protocol/WebSearchMode.ts +5 -0
- package/src/codex-protocol/WebSearchToolConfig.ts +7 -0
- package/src/codex-protocol/index.ts +86 -0
- package/src/codex-protocol/serde_json/JsonValue.ts +5 -0
- package/src/codex-protocol/v2/Account.ts +6 -0
- package/src/codex-protocol/v2/AccountLoginCompletedNotification.ts +5 -0
- package/src/codex-protocol/v2/AccountRateLimitsUpdatedNotification.ts +6 -0
- package/src/codex-protocol/v2/AccountUpdatedNotification.ts +7 -0
- package/src/codex-protocol/v2/ActivePermissionProfile.ts +15 -0
- package/src/codex-protocol/v2/AddCreditsNudgeCreditType.ts +5 -0
- package/src/codex-protocol/v2/AddCreditsNudgeEmailStatus.ts +5 -0
- package/src/codex-protocol/v2/AdditionalFileSystemPermissions.ts +15 -0
- package/src/codex-protocol/v2/AdditionalNetworkPermissions.ts +5 -0
- package/src/codex-protocol/v2/AdditionalPermissionProfile.ts +11 -0
- package/src/codex-protocol/v2/AgentMessageDeltaNotification.ts +5 -0
- package/src/codex-protocol/v2/AnalyticsConfig.ts +6 -0
- package/src/codex-protocol/v2/AppBranding.ts +8 -0
- package/src/codex-protocol/v2/AppInfo.ts +19 -0
- package/src/codex-protocol/v2/AppListUpdatedNotification.ts +9 -0
- package/src/codex-protocol/v2/AppMetadata.ts +7 -0
- package/src/codex-protocol/v2/AppReview.ts +5 -0
- package/src/codex-protocol/v2/AppScreenshot.ts +5 -0
- package/src/codex-protocol/v2/AppSummary.ts +8 -0
- package/src/codex-protocol/v2/AppToolApproval.ts +5 -0
- package/src/codex-protocol/v2/AppToolsConfig.ts +6 -0
- package/src/codex-protocol/v2/ApprovalsReviewer.ts +12 -0
- package/src/codex-protocol/v2/AppsConfig.ts +8 -0
- package/src/codex-protocol/v2/AppsDefaultConfig.ts +5 -0
- package/src/codex-protocol/v2/AppsListParams.ts +24 -0
- package/src/codex-protocol/v2/AppsListResponse.ts +14 -0
- package/src/codex-protocol/v2/AskForApproval.ts +5 -0
- package/src/codex-protocol/v2/AttestationGenerateParams.ts +5 -0
- package/src/codex-protocol/v2/AttestationGenerateResponse.ts +9 -0
- package/src/codex-protocol/v2/AutoReviewDecisionSource.ts +8 -0
- package/src/codex-protocol/v2/ByteRange.ts +5 -0
- package/src/codex-protocol/v2/CancelLoginAccountParams.ts +5 -0
- package/src/codex-protocol/v2/CancelLoginAccountResponse.ts +6 -0
- package/src/codex-protocol/v2/CancelLoginAccountStatus.ts +5 -0
- package/src/codex-protocol/v2/ChatgptAuthTokensRefreshParams.ts +16 -0
- package/src/codex-protocol/v2/ChatgptAuthTokensRefreshReason.ts +5 -0
- package/src/codex-protocol/v2/ChatgptAuthTokensRefreshResponse.ts +5 -0
- package/src/codex-protocol/v2/CodexErrorInfo.ts +12 -0
- package/src/codex-protocol/v2/CollabAgentState.ts +6 -0
- package/src/codex-protocol/v2/CollabAgentStatus.ts +5 -0
- package/src/codex-protocol/v2/CollabAgentTool.ts +5 -0
- package/src/codex-protocol/v2/CollabAgentToolCallStatus.ts +5 -0
- package/src/codex-protocol/v2/CollaborationModeListParams.ts +8 -0
- package/src/codex-protocol/v2/CollaborationModeListResponse.ts +9 -0
- package/src/codex-protocol/v2/CollaborationModeMask.ts +10 -0
- package/src/codex-protocol/v2/CommandAction.ts +6 -0
- package/src/codex-protocol/v2/CommandExecOutputDeltaNotification.ts +30 -0
- package/src/codex-protocol/v2/CommandExecOutputStream.ts +8 -0
- package/src/codex-protocol/v2/CommandExecParams.ts +105 -0
- package/src/codex-protocol/v2/CommandExecResizeParams.ts +18 -0
- package/src/codex-protocol/v2/CommandExecResizeResponse.ts +8 -0
- package/src/codex-protocol/v2/CommandExecResponse.ts +24 -0
- package/src/codex-protocol/v2/CommandExecTerminalSize.ts +16 -0
- package/src/codex-protocol/v2/CommandExecTerminateParams.ts +13 -0
- package/src/codex-protocol/v2/CommandExecTerminateResponse.ts +8 -0
- package/src/codex-protocol/v2/CommandExecWriteParams.ts +22 -0
- package/src/codex-protocol/v2/CommandExecWriteResponse.ts +8 -0
- package/src/codex-protocol/v2/CommandExecutionApprovalDecision.ts +7 -0
- package/src/codex-protocol/v2/CommandExecutionOutputDeltaNotification.ts +5 -0
- package/src/codex-protocol/v2/CommandExecutionRequestApprovalParams.ts +62 -0
- package/src/codex-protocol/v2/CommandExecutionRequestApprovalResponse.ts +6 -0
- package/src/codex-protocol/v2/CommandExecutionSource.ts +5 -0
- package/src/codex-protocol/v2/CommandExecutionStatus.ts +5 -0
- package/src/codex-protocol/v2/CommandMigration.ts +5 -0
- package/src/codex-protocol/v2/ComputerUseRequirements.ts +5 -0
- package/src/codex-protocol/v2/Config.ts +26 -0
- package/src/codex-protocol/v2/ConfigBatchWriteParams.ts +14 -0
- package/src/codex-protocol/v2/ConfigEdit.ts +7 -0
- package/src/codex-protocol/v2/ConfigLayer.ts +7 -0
- package/src/codex-protocol/v2/ConfigLayerMetadata.ts +6 -0
- package/src/codex-protocol/v2/ConfigLayerSource.ts +21 -0
- package/src/codex-protocol/v2/ConfigReadParams.ts +11 -0
- package/src/codex-protocol/v2/ConfigReadResponse.ts +8 -0
- package/src/codex-protocol/v2/ConfigRequirements.ts +13 -0
- package/src/codex-protocol/v2/ConfigRequirementsReadResponse.ts +10 -0
- package/src/codex-protocol/v2/ConfigValueWriteParams.ts +11 -0
- package/src/codex-protocol/v2/ConfigWarningNotification.ts +22 -0
- package/src/codex-protocol/v2/ConfigWriteResponse.ts +12 -0
- package/src/codex-protocol/v2/ConfiguredHookHandler.ts +5 -0
- package/src/codex-protocol/v2/ConfiguredHookMatcherGroup.ts +6 -0
- package/src/codex-protocol/v2/ContextCompactedNotification.ts +8 -0
- package/src/codex-protocol/v2/CreditsSnapshot.ts +5 -0
- package/src/codex-protocol/v2/DeprecationNoticeNotification.ts +13 -0
- package/src/codex-protocol/v2/DynamicToolCallOutputContentItem.ts +5 -0
- package/src/codex-protocol/v2/DynamicToolCallParams.ts +6 -0
- package/src/codex-protocol/v2/DynamicToolCallResponse.ts +6 -0
- package/src/codex-protocol/v2/DynamicToolCallStatus.ts +5 -0
- package/src/codex-protocol/v2/DynamicToolSpec.ts +6 -0
- package/src/codex-protocol/v2/EnvironmentAddParams.ts +5 -0
- package/src/codex-protocol/v2/EnvironmentAddResponse.ts +5 -0
- package/src/codex-protocol/v2/ErrorNotification.ts +6 -0
- package/src/codex-protocol/v2/ExecPolicyAmendment.ts +5 -0
- package/src/codex-protocol/v2/ExperimentalFeature.ts +37 -0
- package/src/codex-protocol/v2/ExperimentalFeatureEnablementSetParams.ts +12 -0
- package/src/codex-protocol/v2/ExperimentalFeatureEnablementSetResponse.ts +9 -0
- package/src/codex-protocol/v2/ExperimentalFeatureListParams.ts +19 -0
- package/src/codex-protocol/v2/ExperimentalFeatureListResponse.ts +11 -0
- package/src/codex-protocol/v2/ExperimentalFeatureStage.ts +5 -0
- package/src/codex-protocol/v2/ExternalAgentConfigDetectParams.ts +13 -0
- package/src/codex-protocol/v2/ExternalAgentConfigDetectResponse.ts +6 -0
- package/src/codex-protocol/v2/ExternalAgentConfigImportCompletedNotification.ts +5 -0
- package/src/codex-protocol/v2/ExternalAgentConfigImportParams.ts +6 -0
- package/src/codex-protocol/v2/ExternalAgentConfigImportResponse.ts +5 -0
- package/src/codex-protocol/v2/ExternalAgentConfigMigrationItem.ts +11 -0
- package/src/codex-protocol/v2/ExternalAgentConfigMigrationItemType.ts +5 -0
- package/src/codex-protocol/v2/FeedbackUploadParams.ts +5 -0
- package/src/codex-protocol/v2/FeedbackUploadResponse.ts +5 -0
- package/src/codex-protocol/v2/FileChangeApprovalDecision.ts +5 -0
- package/src/codex-protocol/v2/FileChangeOutputDeltaNotification.ts +10 -0
- package/src/codex-protocol/v2/FileChangePatchUpdatedNotification.ts +6 -0
- package/src/codex-protocol/v2/FileChangeRequestApprovalParams.ts +18 -0
- package/src/codex-protocol/v2/FileChangeRequestApprovalResponse.ts +6 -0
- package/src/codex-protocol/v2/FileSystemAccessMode.ts +5 -0
- package/src/codex-protocol/v2/FileSystemPath.ts +7 -0
- package/src/codex-protocol/v2/FileSystemSandboxEntry.ts +7 -0
- package/src/codex-protocol/v2/FileSystemSpecialPath.ts +5 -0
- package/src/codex-protocol/v2/FileUpdateChange.ts +6 -0
- package/src/codex-protocol/v2/ForcedChatgptWorkspaceIds.ts +8 -0
- package/src/codex-protocol/v2/FsChangedNotification.ts +17 -0
- package/src/codex-protocol/v2/FsCopyParams.ts +21 -0
- package/src/codex-protocol/v2/FsCopyResponse.ts +8 -0
- package/src/codex-protocol/v2/FsCreateDirectoryParams.ts +17 -0
- package/src/codex-protocol/v2/FsCreateDirectoryResponse.ts +8 -0
- package/src/codex-protocol/v2/FsGetMetadataParams.ts +13 -0
- package/src/codex-protocol/v2/FsGetMetadataResponse.ts +28 -0
- package/src/codex-protocol/v2/FsReadDirectoryEntry.ts +20 -0
- package/src/codex-protocol/v2/FsReadDirectoryParams.ts +13 -0
- package/src/codex-protocol/v2/FsReadDirectoryResponse.ts +13 -0
- package/src/codex-protocol/v2/FsReadFileParams.ts +13 -0
- package/src/codex-protocol/v2/FsReadFileResponse.ts +12 -0
- package/src/codex-protocol/v2/FsRemoveParams.ts +21 -0
- package/src/codex-protocol/v2/FsRemoveResponse.ts +8 -0
- package/src/codex-protocol/v2/FsUnwatchParams.ts +12 -0
- package/src/codex-protocol/v2/FsUnwatchResponse.ts +8 -0
- package/src/codex-protocol/v2/FsWatchParams.ts +17 -0
- package/src/codex-protocol/v2/FsWatchResponse.ts +13 -0
- package/src/codex-protocol/v2/FsWriteFileParams.ts +17 -0
- package/src/codex-protocol/v2/FsWriteFileResponse.ts +8 -0
- package/src/codex-protocol/v2/GetAccountParams.ts +13 -0
- package/src/codex-protocol/v2/GetAccountRateLimitsResponse.ts +14 -0
- package/src/codex-protocol/v2/GetAccountResponse.ts +6 -0
- package/src/codex-protocol/v2/GitInfo.ts +5 -0
- package/src/codex-protocol/v2/GrantedPermissionProfile.ts +7 -0
- package/src/codex-protocol/v2/GuardianApprovalReview.ts +13 -0
- package/src/codex-protocol/v2/GuardianApprovalReviewAction.ts +9 -0
- package/src/codex-protocol/v2/GuardianApprovalReviewStatus.ts +8 -0
- package/src/codex-protocol/v2/GuardianCommandSource.ts +5 -0
- package/src/codex-protocol/v2/GuardianRiskLevel.ts +8 -0
- package/src/codex-protocol/v2/GuardianUserAuthorization.ts +8 -0
- package/src/codex-protocol/v2/GuardianWarningNotification.ts +13 -0
- package/src/codex-protocol/v2/HookCompletedNotification.ts +6 -0
- package/src/codex-protocol/v2/HookErrorInfo.ts +5 -0
- package/src/codex-protocol/v2/HookEventName.ts +5 -0
- package/src/codex-protocol/v2/HookExecutionMode.ts +5 -0
- package/src/codex-protocol/v2/HookHandlerType.ts +5 -0
- package/src/codex-protocol/v2/HookMetadata.ts +10 -0
- package/src/codex-protocol/v2/HookMigration.ts +5 -0
- package/src/codex-protocol/v2/HookOutputEntry.ts +6 -0
- package/src/codex-protocol/v2/HookOutputEntryKind.ts +5 -0
- package/src/codex-protocol/v2/HookPromptFragment.ts +5 -0
- package/src/codex-protocol/v2/HookRunStatus.ts +5 -0
- package/src/codex-protocol/v2/HookRunSummary.ts +13 -0
- package/src/codex-protocol/v2/HookScope.ts +5 -0
- package/src/codex-protocol/v2/HookSource.ts +5 -0
- package/src/codex-protocol/v2/HookStartedNotification.ts +6 -0
- package/src/codex-protocol/v2/HookTrustStatus.ts +5 -0
- package/src/codex-protocol/v2/HooksListEntry.ts +7 -0
- package/src/codex-protocol/v2/HooksListParams.ts +9 -0
- package/src/codex-protocol/v2/HooksListResponse.ts +6 -0
- package/src/codex-protocol/v2/ItemCompletedNotification.ts +10 -0
- package/src/codex-protocol/v2/ItemGuardianApprovalReviewCompletedNotification.ts +38 -0
- package/src/codex-protocol/v2/ItemGuardianApprovalReviewStartedNotification.ts +33 -0
- package/src/codex-protocol/v2/ItemStartedNotification.ts +10 -0
- package/src/codex-protocol/v2/ListMcpServerStatusParams.ts +19 -0
- package/src/codex-protocol/v2/ListMcpServerStatusResponse.ts +11 -0
- package/src/codex-protocol/v2/LoginAccountParams.ts +21 -0
- package/src/codex-protocol/v2/LoginAccountResponse.ts +17 -0
- package/src/codex-protocol/v2/LogoutAccountResponse.ts +5 -0
- package/src/codex-protocol/v2/ManagedHooksRequirements.ts +6 -0
- package/src/codex-protocol/v2/MarketplaceAddParams.ts +5 -0
- package/src/codex-protocol/v2/MarketplaceAddResponse.ts +6 -0
- package/src/codex-protocol/v2/MarketplaceInterface.ts +5 -0
- package/src/codex-protocol/v2/MarketplaceLoadErrorInfo.ts +6 -0
- package/src/codex-protocol/v2/MarketplaceRemoveParams.ts +5 -0
- package/src/codex-protocol/v2/MarketplaceRemoveResponse.ts +6 -0
- package/src/codex-protocol/v2/MarketplaceUpgradeErrorInfo.ts +5 -0
- package/src/codex-protocol/v2/MarketplaceUpgradeParams.ts +5 -0
- package/src/codex-protocol/v2/MarketplaceUpgradeResponse.ts +7 -0
- package/src/codex-protocol/v2/McpAuthStatus.ts +5 -0
- package/src/codex-protocol/v2/McpElicitationArrayType.ts +5 -0
- package/src/codex-protocol/v2/McpElicitationBooleanSchema.ts +6 -0
- package/src/codex-protocol/v2/McpElicitationBooleanType.ts +5 -0
- package/src/codex-protocol/v2/McpElicitationConstOption.ts +5 -0
- package/src/codex-protocol/v2/McpElicitationEnumSchema.ts +8 -0
- package/src/codex-protocol/v2/McpElicitationLegacyTitledEnumSchema.ts +6 -0
- package/src/codex-protocol/v2/McpElicitationMultiSelectEnumSchema.ts +7 -0
- package/src/codex-protocol/v2/McpElicitationNumberSchema.ts +6 -0
- package/src/codex-protocol/v2/McpElicitationNumberType.ts +5 -0
- package/src/codex-protocol/v2/McpElicitationObjectType.ts +5 -0
- package/src/codex-protocol/v2/McpElicitationPrimitiveSchema.ts +9 -0
- package/src/codex-protocol/v2/McpElicitationSchema.ts +13 -0
- package/src/codex-protocol/v2/McpElicitationSingleSelectEnumSchema.ts +7 -0
- package/src/codex-protocol/v2/McpElicitationStringFormat.ts +5 -0
- package/src/codex-protocol/v2/McpElicitationStringSchema.ts +7 -0
- package/src/codex-protocol/v2/McpElicitationStringType.ts +5 -0
- package/src/codex-protocol/v2/McpElicitationTitledEnumItems.ts +6 -0
- package/src/codex-protocol/v2/McpElicitationTitledMultiSelectEnumSchema.ts +7 -0
- package/src/codex-protocol/v2/McpElicitationTitledSingleSelectEnumSchema.ts +7 -0
- package/src/codex-protocol/v2/McpElicitationUntitledEnumItems.ts +6 -0
- package/src/codex-protocol/v2/McpElicitationUntitledMultiSelectEnumSchema.ts +7 -0
- package/src/codex-protocol/v2/McpElicitationUntitledSingleSelectEnumSchema.ts +6 -0
- package/src/codex-protocol/v2/McpResourceReadParams.ts +5 -0
- package/src/codex-protocol/v2/McpResourceReadResponse.ts +6 -0
- package/src/codex-protocol/v2/McpServerElicitationAction.ts +5 -0
- package/src/codex-protocol/v2/McpServerElicitationRequestParams.ts +16 -0
- package/src/codex-protocol/v2/McpServerElicitationRequestResponse.ts +17 -0
- package/src/codex-protocol/v2/McpServerMigration.ts +5 -0
- package/src/codex-protocol/v2/McpServerOauthLoginCompletedNotification.ts +5 -0
- package/src/codex-protocol/v2/McpServerOauthLoginParams.ts +5 -0
- package/src/codex-protocol/v2/McpServerOauthLoginResponse.ts +5 -0
- package/src/codex-protocol/v2/McpServerRefreshResponse.ts +5 -0
- package/src/codex-protocol/v2/McpServerStartupState.ts +5 -0
- package/src/codex-protocol/v2/McpServerStatus.ts +9 -0
- package/src/codex-protocol/v2/McpServerStatusDetail.ts +5 -0
- package/src/codex-protocol/v2/McpServerStatusUpdatedNotification.ts +6 -0
- package/src/codex-protocol/v2/McpServerToolCallParams.ts +6 -0
- package/src/codex-protocol/v2/McpServerToolCallResponse.ts +6 -0
- package/src/codex-protocol/v2/McpToolCallError.ts +5 -0
- package/src/codex-protocol/v2/McpToolCallProgressNotification.ts +5 -0
- package/src/codex-protocol/v2/McpToolCallResult.ts +6 -0
- package/src/codex-protocol/v2/McpToolCallStatus.ts +5 -0
- package/src/codex-protocol/v2/MemoryCitation.ts +6 -0
- package/src/codex-protocol/v2/MemoryCitationEntry.ts +5 -0
- package/src/codex-protocol/v2/MemoryResetResponse.ts +5 -0
- package/src/codex-protocol/v2/MergeStrategy.ts +5 -0
- package/src/codex-protocol/v2/MigrationDetails.ts +11 -0
- package/src/codex-protocol/v2/MockExperimentalMethodParams.ts +9 -0
- package/src/codex-protocol/v2/MockExperimentalMethodResponse.ts +9 -0
- package/src/codex-protocol/v2/Model.ts +19 -0
- package/src/codex-protocol/v2/ModelAvailabilityNux.ts +5 -0
- package/src/codex-protocol/v2/ModelListParams.ts +17 -0
- package/src/codex-protocol/v2/ModelListResponse.ts +11 -0
- package/src/codex-protocol/v2/ModelProviderCapabilitiesReadParams.ts +5 -0
- package/src/codex-protocol/v2/ModelProviderCapabilitiesReadResponse.ts +5 -0
- package/src/codex-protocol/v2/ModelRerouteReason.ts +5 -0
- package/src/codex-protocol/v2/ModelReroutedNotification.ts +6 -0
- package/src/codex-protocol/v2/ModelServiceTier.ts +5 -0
- package/src/codex-protocol/v2/ModelUpgradeInfo.ts +5 -0
- package/src/codex-protocol/v2/ModelVerification.ts +5 -0
- package/src/codex-protocol/v2/ModelVerificationNotification.ts +6 -0
- package/src/codex-protocol/v2/NetworkAccess.ts +5 -0
- package/src/codex-protocol/v2/NetworkApprovalContext.ts +6 -0
- package/src/codex-protocol/v2/NetworkApprovalProtocol.ts +5 -0
- package/src/codex-protocol/v2/NetworkDomainPermission.ts +5 -0
- package/src/codex-protocol/v2/NetworkPolicyAmendment.ts +6 -0
- package/src/codex-protocol/v2/NetworkPolicyRuleAction.ts +5 -0
- package/src/codex-protocol/v2/NetworkRequirements.ts +32 -0
- package/src/codex-protocol/v2/NetworkUnixSocketPermission.ts +5 -0
- package/src/codex-protocol/v2/NonSteerableTurnKind.ts +5 -0
- package/src/codex-protocol/v2/OverriddenMetadata.ts +7 -0
- package/src/codex-protocol/v2/PatchApplyStatus.ts +5 -0
- package/src/codex-protocol/v2/PatchChangeKind.ts +5 -0
- package/src/codex-protocol/v2/PermissionGrantScope.ts +5 -0
- package/src/codex-protocol/v2/PermissionProfileListParams.ts +17 -0
- package/src/codex-protocol/v2/PermissionProfileListResponse.ts +11 -0
- package/src/codex-protocol/v2/PermissionProfileSummary.ts +13 -0
- package/src/codex-protocol/v2/PermissionsRequestApprovalParams.ts +11 -0
- package/src/codex-protocol/v2/PermissionsRequestApprovalResponse.ts +11 -0
- package/src/codex-protocol/v2/PlanDeltaNotification.ts +9 -0
- package/src/codex-protocol/v2/PluginAuthPolicy.ts +5 -0
- package/src/codex-protocol/v2/PluginAvailability.ts +5 -0
- package/src/codex-protocol/v2/PluginDetail.ts +10 -0
- package/src/codex-protocol/v2/PluginHookSummary.ts +6 -0
- package/src/codex-protocol/v2/PluginInstallParams.ts +6 -0
- package/src/codex-protocol/v2/PluginInstallPolicy.ts +5 -0
- package/src/codex-protocol/v2/PluginInstallResponse.ts +7 -0
- package/src/codex-protocol/v2/PluginInstalledParams.ts +15 -0
- package/src/codex-protocol/v2/PluginInstalledResponse.ts +7 -0
- package/src/codex-protocol/v2/PluginInterface.ts +35 -0
- package/src/codex-protocol/v2/PluginListMarketplaceKind.ts +5 -0
- package/src/codex-protocol/v2/PluginListParams.ts +17 -0
- package/src/codex-protocol/v2/PluginListResponse.ts +7 -0
- package/src/codex-protocol/v2/PluginMarketplaceEntry.ts +13 -0
- package/src/codex-protocol/v2/PluginReadParams.ts +6 -0
- package/src/codex-protocol/v2/PluginReadResponse.ts +6 -0
- package/src/codex-protocol/v2/PluginShareCheckoutParams.ts +5 -0
- package/src/codex-protocol/v2/PluginShareCheckoutResponse.ts +6 -0
- package/src/codex-protocol/v2/PluginShareContext.ts +11 -0
- package/src/codex-protocol/v2/PluginShareDeleteParams.ts +5 -0
- package/src/codex-protocol/v2/PluginShareDeleteResponse.ts +5 -0
- package/src/codex-protocol/v2/PluginShareDiscoverability.ts +5 -0
- package/src/codex-protocol/v2/PluginShareListItem.ts +7 -0
- package/src/codex-protocol/v2/PluginShareListParams.ts +5 -0
- package/src/codex-protocol/v2/PluginShareListResponse.ts +6 -0
- package/src/codex-protocol/v2/PluginSharePrincipal.ts +7 -0
- package/src/codex-protocol/v2/PluginSharePrincipalRole.ts +5 -0
- package/src/codex-protocol/v2/PluginSharePrincipalType.ts +5 -0
- package/src/codex-protocol/v2/PluginShareSaveParams.ts +8 -0
- package/src/codex-protocol/v2/PluginShareSaveResponse.ts +5 -0
- package/src/codex-protocol/v2/PluginShareTarget.ts +7 -0
- package/src/codex-protocol/v2/PluginShareTargetRole.ts +5 -0
- package/src/codex-protocol/v2/PluginShareUpdateDiscoverability.ts +5 -0
- package/src/codex-protocol/v2/PluginShareUpdateTargetsParams.ts +7 -0
- package/src/codex-protocol/v2/PluginShareUpdateTargetsResponse.ts +7 -0
- package/src/codex-protocol/v2/PluginSkillReadParams.ts +5 -0
- package/src/codex-protocol/v2/PluginSkillReadResponse.ts +5 -0
- package/src/codex-protocol/v2/PluginSource.ts +6 -0
- package/src/codex-protocol/v2/PluginSummary.ts +27 -0
- package/src/codex-protocol/v2/PluginUninstallParams.ts +5 -0
- package/src/codex-protocol/v2/PluginUninstallResponse.ts +5 -0
- package/src/codex-protocol/v2/PluginsMigration.ts +5 -0
- package/src/codex-protocol/v2/ProcessExitedNotification.ts +42 -0
- package/src/codex-protocol/v2/ProcessKillParams.ts +12 -0
- package/src/codex-protocol/v2/ProcessKillResponse.ts +8 -0
- package/src/codex-protocol/v2/ProcessOutputDeltaNotification.ts +26 -0
- package/src/codex-protocol/v2/ProcessOutputStream.ts +8 -0
- package/src/codex-protocol/v2/ProcessResizePtyParams.ts +17 -0
- package/src/codex-protocol/v2/ProcessResizePtyResponse.ts +8 -0
- package/src/codex-protocol/v2/ProcessSpawnParams.ts +73 -0
- package/src/codex-protocol/v2/ProcessSpawnResponse.ts +8 -0
- package/src/codex-protocol/v2/ProcessTerminalSize.ts +16 -0
- package/src/codex-protocol/v2/ProcessWriteStdinParams.ts +21 -0
- package/src/codex-protocol/v2/ProcessWriteStdinResponse.ts +8 -0
- package/src/codex-protocol/v2/ProfileV2.ts +19 -0
- package/src/codex-protocol/v2/RateLimitReachedType.ts +5 -0
- package/src/codex-protocol/v2/RateLimitSnapshot.ts +9 -0
- package/src/codex-protocol/v2/RateLimitWindow.ts +5 -0
- package/src/codex-protocol/v2/RawResponseItemCompletedNotification.ts +6 -0
- package/src/codex-protocol/v2/ReasoningEffortOption.ts +6 -0
- package/src/codex-protocol/v2/ReasoningSummaryPartAddedNotification.ts +5 -0
- package/src/codex-protocol/v2/ReasoningSummaryTextDeltaNotification.ts +5 -0
- package/src/codex-protocol/v2/ReasoningTextDeltaNotification.ts +5 -0
- package/src/codex-protocol/v2/RemoteControlConnectionStatus.ts +5 -0
- package/src/codex-protocol/v2/RemoteControlDisableResponse.ts +6 -0
- package/src/codex-protocol/v2/RemoteControlEnableResponse.ts +6 -0
- package/src/codex-protocol/v2/RemoteControlStatusChangedNotification.ts +9 -0
- package/src/codex-protocol/v2/RemoteControlStatusReadResponse.ts +6 -0
- package/src/codex-protocol/v2/RequestPermissionProfile.ts +7 -0
- package/src/codex-protocol/v2/ResidencyRequirement.ts +5 -0
- package/src/codex-protocol/v2/ReviewDelivery.ts +5 -0
- package/src/codex-protocol/v2/ReviewStartParams.ts +12 -0
- package/src/codex-protocol/v2/ReviewStartResponse.ts +13 -0
- package/src/codex-protocol/v2/ReviewTarget.ts +9 -0
- package/src/codex-protocol/v2/SandboxMode.ts +5 -0
- package/src/codex-protocol/v2/SandboxPolicy.ts +7 -0
- package/src/codex-protocol/v2/SandboxWorkspaceWrite.ts +5 -0
- package/src/codex-protocol/v2/SendAddCreditsNudgeEmailParams.ts +6 -0
- package/src/codex-protocol/v2/SendAddCreditsNudgeEmailResponse.ts +6 -0
- package/src/codex-protocol/v2/ServerRequestResolvedNotification.ts +6 -0
- package/src/codex-protocol/v2/SessionMigration.ts +5 -0
- package/src/codex-protocol/v2/SessionSource.ts +6 -0
- package/src/codex-protocol/v2/SkillDependencies.ts +6 -0
- package/src/codex-protocol/v2/SkillErrorInfo.ts +5 -0
- package/src/codex-protocol/v2/SkillInterface.ts +6 -0
- package/src/codex-protocol/v2/SkillMetadata.ts +13 -0
- package/src/codex-protocol/v2/SkillScope.ts +5 -0
- package/src/codex-protocol/v2/SkillSummary.ts +7 -0
- package/src/codex-protocol/v2/SkillToolDependency.ts +5 -0
- package/src/codex-protocol/v2/SkillsChangedNotification.ts +11 -0
- package/src/codex-protocol/v2/SkillsConfigWriteParams.ts +14 -0
- package/src/codex-protocol/v2/SkillsConfigWriteResponse.ts +5 -0
- package/src/codex-protocol/v2/SkillsListEntry.ts +7 -0
- package/src/codex-protocol/v2/SkillsListParams.ts +13 -0
- package/src/codex-protocol/v2/SkillsListResponse.ts +6 -0
- package/src/codex-protocol/v2/SortDirection.ts +5 -0
- package/src/codex-protocol/v2/SubagentMigration.ts +5 -0
- package/src/codex-protocol/v2/TerminalInteractionNotification.ts +5 -0
- package/src/codex-protocol/v2/TextElement.ts +14 -0
- package/src/codex-protocol/v2/TextPosition.ts +13 -0
- package/src/codex-protocol/v2/TextRange.ts +6 -0
- package/src/codex-protocol/v2/Thread.ts +86 -0
- package/src/codex-protocol/v2/ThreadActiveFlag.ts +5 -0
- package/src/codex-protocol/v2/ThreadApproveGuardianDeniedActionParams.ts +10 -0
- package/src/codex-protocol/v2/ThreadApproveGuardianDeniedActionResponse.ts +5 -0
- package/src/codex-protocol/v2/ThreadArchiveParams.ts +5 -0
- package/src/codex-protocol/v2/ThreadArchiveResponse.ts +5 -0
- package/src/codex-protocol/v2/ThreadArchivedNotification.ts +5 -0
- package/src/codex-protocol/v2/ThreadBackgroundTerminalsCleanParams.ts +5 -0
- package/src/codex-protocol/v2/ThreadBackgroundTerminalsCleanResponse.ts +5 -0
- package/src/codex-protocol/v2/ThreadClosedNotification.ts +5 -0
- package/src/codex-protocol/v2/ThreadCompactStartParams.ts +5 -0
- package/src/codex-protocol/v2/ThreadCompactStartResponse.ts +5 -0
- package/src/codex-protocol/v2/ThreadDecrementElicitationParams.ts +12 -0
- package/src/codex-protocol/v2/ThreadDecrementElicitationResponse.ts +16 -0
- package/src/codex-protocol/v2/ThreadForkParams.ts +60 -0
- package/src/codex-protocol/v2/ThreadForkResponse.ts +35 -0
- package/src/codex-protocol/v2/ThreadGoal.ts +6 -0
- package/src/codex-protocol/v2/ThreadGoalClearParams.ts +5 -0
- package/src/codex-protocol/v2/ThreadGoalClearResponse.ts +5 -0
- package/src/codex-protocol/v2/ThreadGoalClearedNotification.ts +5 -0
- package/src/codex-protocol/v2/ThreadGoalGetParams.ts +5 -0
- package/src/codex-protocol/v2/ThreadGoalGetResponse.ts +6 -0
- package/src/codex-protocol/v2/ThreadGoalSetParams.ts +6 -0
- package/src/codex-protocol/v2/ThreadGoalSetResponse.ts +6 -0
- package/src/codex-protocol/v2/ThreadGoalStatus.ts +5 -0
- package/src/codex-protocol/v2/ThreadGoalUpdatedNotification.ts +6 -0
- package/src/codex-protocol/v2/ThreadIncrementElicitationParams.ts +12 -0
- package/src/codex-protocol/v2/ThreadIncrementElicitationResponse.ts +16 -0
- package/src/codex-protocol/v2/ThreadInjectItemsParams.ts +10 -0
- package/src/codex-protocol/v2/ThreadInjectItemsResponse.ts +5 -0
- package/src/codex-protocol/v2/ThreadItem.ts +101 -0
- package/src/codex-protocol/v2/ThreadListParams.ts +54 -0
- package/src/codex-protocol/v2/ThreadListResponse.ts +18 -0
- package/src/codex-protocol/v2/ThreadLoadedListParams.ts +13 -0
- package/src/codex-protocol/v2/ThreadLoadedListResponse.ts +14 -0
- package/src/codex-protocol/v2/ThreadMemoryModeSetParams.ts +6 -0
- package/src/codex-protocol/v2/ThreadMemoryModeSetResponse.ts +5 -0
- package/src/codex-protocol/v2/ThreadMetadataGitInfoUpdateParams.ts +20 -0
- package/src/codex-protocol/v2/ThreadMetadataUpdateParams.ts +12 -0
- package/src/codex-protocol/v2/ThreadMetadataUpdateResponse.ts +6 -0
- package/src/codex-protocol/v2/ThreadNameUpdatedNotification.ts +5 -0
- package/src/codex-protocol/v2/ThreadReadParams.ts +9 -0
- package/src/codex-protocol/v2/ThreadReadResponse.ts +6 -0
- package/src/codex-protocol/v2/ThreadRealtimeAppendAudioParams.ts +9 -0
- package/src/codex-protocol/v2/ThreadRealtimeAppendAudioResponse.ts +8 -0
- package/src/codex-protocol/v2/ThreadRealtimeAppendTextParams.ts +8 -0
- package/src/codex-protocol/v2/ThreadRealtimeAppendTextResponse.ts +8 -0
- package/src/codex-protocol/v2/ThreadRealtimeAudioChunk.ts +8 -0
- package/src/codex-protocol/v2/ThreadRealtimeClosedNotification.ts +8 -0
- package/src/codex-protocol/v2/ThreadRealtimeErrorNotification.ts +8 -0
- package/src/codex-protocol/v2/ThreadRealtimeItemAddedNotification.ts +9 -0
- package/src/codex-protocol/v2/ThreadRealtimeListVoicesParams.ts +8 -0
- package/src/codex-protocol/v2/ThreadRealtimeListVoicesResponse.ts +9 -0
- package/src/codex-protocol/v2/ThreadRealtimeOutputAudioDeltaNotification.ts +9 -0
- package/src/codex-protocol/v2/ThreadRealtimeSdpNotification.ts +8 -0
- package/src/codex-protocol/v2/ThreadRealtimeStartParams.ts +16 -0
- package/src/codex-protocol/v2/ThreadRealtimeStartResponse.ts +8 -0
- package/src/codex-protocol/v2/ThreadRealtimeStartTransport.ts +13 -0
- package/src/codex-protocol/v2/ThreadRealtimeStartedNotification.ts +9 -0
- package/src/codex-protocol/v2/ThreadRealtimeStopParams.ts +8 -0
- package/src/codex-protocol/v2/ThreadRealtimeStopResponse.ts +8 -0
- package/src/codex-protocol/v2/ThreadRealtimeTranscriptDeltaNotification.ts +13 -0
- package/src/codex-protocol/v2/ThreadRealtimeTranscriptDoneNotification.ts +13 -0
- package/src/codex-protocol/v2/ThreadResumeParams.ts +71 -0
- package/src/codex-protocol/v2/ThreadResumeResponse.ts +35 -0
- package/src/codex-protocol/v2/ThreadRollbackParams.ts +12 -0
- package/src/codex-protocol/v2/ThreadRollbackResponse.ts +14 -0
- package/src/codex-protocol/v2/ThreadSetNameParams.ts +5 -0
- package/src/codex-protocol/v2/ThreadSetNameResponse.ts +5 -0
- package/src/codex-protocol/v2/ThreadSettings.ts +14 -0
- package/src/codex-protocol/v2/ThreadSettingsUpdateParams.ts +61 -0
- package/src/codex-protocol/v2/ThreadSettingsUpdateResponse.ts +5 -0
- package/src/codex-protocol/v2/ThreadSettingsUpdatedNotification.ts +6 -0
- package/src/codex-protocol/v2/ThreadShellCommandParams.ts +12 -0
- package/src/codex-protocol/v2/ThreadShellCommandResponse.ts +5 -0
- package/src/codex-protocol/v2/ThreadSortKey.ts +5 -0
- package/src/codex-protocol/v2/ThreadSource.ts +5 -0
- package/src/codex-protocol/v2/ThreadSourceKind.ts +5 -0
- package/src/codex-protocol/v2/ThreadStartParams.ts +57 -0
- package/src/codex-protocol/v2/ThreadStartResponse.ts +35 -0
- package/src/codex-protocol/v2/ThreadStartSource.ts +5 -0
- package/src/codex-protocol/v2/ThreadStartedNotification.ts +6 -0
- package/src/codex-protocol/v2/ThreadStatus.ts +6 -0
- package/src/codex-protocol/v2/ThreadStatusChangedNotification.ts +6 -0
- package/src/codex-protocol/v2/ThreadTokenUsage.ts +6 -0
- package/src/codex-protocol/v2/ThreadTokenUsageUpdatedNotification.ts +6 -0
- package/src/codex-protocol/v2/ThreadTurnsItemsListParams.ts +18 -0
- package/src/codex-protocol/v2/ThreadTurnsItemsListResponse.ts +16 -0
- package/src/codex-protocol/v2/ThreadTurnsListParams.ts +23 -0
- package/src/codex-protocol/v2/ThreadTurnsListResponse.ts +18 -0
- package/src/codex-protocol/v2/ThreadUnarchiveParams.ts +5 -0
- package/src/codex-protocol/v2/ThreadUnarchiveResponse.ts +6 -0
- package/src/codex-protocol/v2/ThreadUnarchivedNotification.ts +5 -0
- package/src/codex-protocol/v2/ThreadUnsubscribeParams.ts +5 -0
- package/src/codex-protocol/v2/ThreadUnsubscribeResponse.ts +6 -0
- package/src/codex-protocol/v2/ThreadUnsubscribeStatus.ts +5 -0
- package/src/codex-protocol/v2/TokenUsageBreakdown.ts +5 -0
- package/src/codex-protocol/v2/ToolRequestUserInputAnswer.ts +8 -0
- package/src/codex-protocol/v2/ToolRequestUserInputOption.ts +8 -0
- package/src/codex-protocol/v2/ToolRequestUserInputParams.ts +9 -0
- package/src/codex-protocol/v2/ToolRequestUserInputQuestion.ts +9 -0
- package/src/codex-protocol/v2/ToolRequestUserInputResponse.ts +9 -0
- package/src/codex-protocol/v2/ToolsV2.ts +6 -0
- package/src/codex-protocol/v2/Turn.ts +33 -0
- package/src/codex-protocol/v2/TurnCompletedNotification.ts +6 -0
- package/src/codex-protocol/v2/TurnDiffUpdatedNotification.ts +9 -0
- package/src/codex-protocol/v2/TurnEnvironmentParams.ts +6 -0
- package/src/codex-protocol/v2/TurnError.ts +6 -0
- package/src/codex-protocol/v2/TurnInterruptParams.ts +5 -0
- package/src/codex-protocol/v2/TurnInterruptResponse.ts +5 -0
- package/src/codex-protocol/v2/TurnItemsView.ts +5 -0
- package/src/codex-protocol/v2/TurnPlanStep.ts +6 -0
- package/src/codex-protocol/v2/TurnPlanStepStatus.ts +5 -0
- package/src/codex-protocol/v2/TurnPlanUpdatedNotification.ts +6 -0
- package/src/codex-protocol/v2/TurnStartParams.ts +88 -0
- package/src/codex-protocol/v2/TurnStartResponse.ts +6 -0
- package/src/codex-protocol/v2/TurnStartedNotification.ts +6 -0
- package/src/codex-protocol/v2/TurnStatus.ts +5 -0
- package/src/codex-protocol/v2/TurnSteerParams.ts +15 -0
- package/src/codex-protocol/v2/TurnSteerResponse.ts +5 -0
- package/src/codex-protocol/v2/UserInput.ts +11 -0
- package/src/codex-protocol/v2/WarningNotification.ts +13 -0
- package/src/codex-protocol/v2/WebSearchAction.ts +5 -0
- package/src/codex-protocol/v2/WindowsSandboxReadiness.ts +5 -0
- package/src/codex-protocol/v2/WindowsSandboxReadinessResponse.ts +6 -0
- package/src/codex-protocol/v2/WindowsSandboxSetupCompletedNotification.ts +6 -0
- package/src/codex-protocol/v2/WindowsSandboxSetupMode.ts +5 -0
- package/src/codex-protocol/v2/WindowsSandboxSetupStartParams.ts +7 -0
- package/src/codex-protocol/v2/WindowsSandboxSetupStartResponse.ts +5 -0
- package/src/codex-protocol/v2/WindowsWorldWritableWarningNotification.ts +5 -0
- package/src/codex-protocol/v2/WriteStatus.ts +5 -0
- package/src/codex-protocol/v2/index.ts +503 -0
- package/src/column.ts +44 -0
- package/src/engines/claude/claude-engine.ts +769 -0
- package/src/engines/claude/clock.ts +48 -0
- package/src/engines/claude/compact.ts +107 -0
- package/src/engines/claude/ctx.ts +239 -0
- package/src/engines/claude/doctor.ts +202 -0
- package/src/engines/claude/env.ts +16 -0
- package/src/engines/claude/history.ts +504 -0
- package/src/engines/claude/identifiers.ts +25 -0
- package/src/engines/claude/identity-migration.ts +16 -0
- package/src/engines/claude/idle.ts +91 -0
- package/src/engines/claude/keys.ts +163 -0
- package/src/engines/claude/last.ts +52 -0
- package/src/engines/claude/mem.ts +124 -0
- package/src/engines/claude/persistence.ts +41 -0
- package/src/engines/claude/post-turn.ts +45 -0
- package/src/engines/claude/reload.ts +53 -0
- package/src/engines/claude/repo-fs.ts +63 -0
- package/src/engines/claude/resume.ts +145 -0
- package/src/engines/claude/send.ts +86 -0
- package/src/engines/claude/spawn.ts +435 -0
- package/src/engines/claude/state.ts +124 -0
- package/src/engines/claude/tmux.ts +99 -0
- package/src/engines/claude/wait-signals.ts +128 -0
- package/src/engines/claude/wait.ts +59 -0
- package/src/engines/codex/ask.ts +69 -0
- package/src/engines/codex/engine.ts +1261 -0
- package/src/engines/codex/events.ts +106 -0
- package/src/engines/codex/history.ts +385 -0
- package/src/engines/codex/identity-migration.ts +14 -0
- package/src/engines/codex/ipc-bridge-process.ts +14 -0
- package/src/engines/codex/ipc-bridge.ts +844 -0
- package/src/engines/codex/persistence.ts +236 -0
- package/src/engines/codex/rollout.ts +384 -0
- package/src/engines/codex/rpc.ts +311 -0
- package/src/engines/codex/supervisor.ts +648 -0
- package/src/engines/codex/ui-ipc.ts +374 -0
- package/src/engines/codex/verb-common.ts +34 -0
- package/src/engines/codex/verb-lifecycle.ts +94 -0
- package/src/engines/codex/verb-state.ts +19 -0
- package/src/engines/codex/verb-turns.ts +49 -0
- package/src/engines/codex/verbs.ts +15 -0
- package/src/engines/engine.ts +91 -0
- package/src/engines/git-worktree.ts +137 -0
- package/src/engines/production.ts +19 -0
- package/src/engines/registry.ts +70 -0
- package/src/engines/teammate-record.ts +113 -0
- package/src/engines/types.ts +334 -0
- package/src/env.ts +29 -0
- package/src/grep.ts +39 -0
- package/src/help.ts +433 -0
- package/src/identity/name.ts +58 -0
- package/src/identity/router.ts +80 -0
- package/src/identity/uuid-prefix.ts +40 -0
- package/src/main.ts +39 -0
- package/src/persistence/atomic-file.ts +74 -0
- package/src/persistence/identity-store.ts +294 -0
- package/src/persistence/identity-writer.ts +28 -0
- package/src/persistence/paths.ts +138 -0
- package/src/plugin-root.ts +26 -0
- package/src/proc.ts +66 -0
- package/src/shared/verb-args.ts +331 -0
- package/src/tm.ts +54 -0
- package/src/tmux.ts +57 -0
- package/src/verbs/archive.ts +211 -0
- package/src/verbs/ask.ts +29 -0
- package/src/verbs/compact.ts +25 -0
- package/src/verbs/context.ts +68 -0
- package/src/verbs/ctx.ts +21 -0
- package/src/verbs/format.ts +213 -0
- package/src/verbs/history.ts +190 -0
- package/src/verbs/kill.ts +61 -0
- package/src/verbs/last.ts +34 -0
- package/src/verbs/ls.ts +27 -0
- package/src/verbs/mem.ts +40 -0
- package/src/verbs/poll.ts +61 -0
- package/src/verbs/reload.ts +17 -0
- package/src/verbs/resolve.ts +14 -0
- package/src/verbs/resume.ts +170 -0
- package/src/verbs/send.ts +36 -0
- package/src/verbs/spawn.ts +81 -0
- package/src/verbs/states.ts +74 -0
- package/src/verbs/status.ts +26 -0
- package/src/verbs/wait.ts +40 -0
- package/src/verbs.ts +56 -0
- package/src/ws-types.d.ts +9 -0
- package/third_party/ws/LICENSE +20 -0
- package/third_party/ws/README.md +548 -0
- package/third_party/ws/UPSTREAM.md +55 -0
- package/third_party/ws/browser.js +8 -0
- package/third_party/ws/index.js +22 -0
- package/third_party/ws/lib/buffer-util.js +131 -0
- package/third_party/ws/lib/constants.js +19 -0
- package/third_party/ws/lib/event-target.js +292 -0
- package/third_party/ws/lib/extension.js +203 -0
- package/third_party/ws/lib/limiter.js +55 -0
- package/third_party/ws/lib/permessage-deflate.js +528 -0
- package/third_party/ws/lib/receiver.js +760 -0
- package/third_party/ws/lib/sender.js +607 -0
- package/third_party/ws/lib/stream.js +161 -0
- package/third_party/ws/lib/subprotocol.js +62 -0
- package/third_party/ws/lib/validation.js +152 -0
- package/third_party/ws/lib/websocket-server.js +562 -0
- package/third_party/ws/lib/websocket.js +1407 -0
- package/third_party/ws/package.json +13 -0
- package/third_party/ws/wrapper.mjs +21 -0
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
import { HELP_TEXTS, OVERVIEW_HELP, REMOVED_VERB_MESSAGES } from '../help'
|
|
2
|
+
import { pluginJsonPath, tmWrapperPath } from '../plugin-root'
|
|
3
|
+
import type { TmResult } from '../tm'
|
|
4
|
+
import type { NativeEnv } from '../env'
|
|
5
|
+
import type { Engine } from '../engines/engine'
|
|
6
|
+
import { archiveVerb } from '../verbs/archive'
|
|
7
|
+
import { askVerb } from '../verbs/ask'
|
|
8
|
+
import { pollVerb } from '../verbs/poll'
|
|
9
|
+
import type { VerbContext } from '../verbs/context'
|
|
10
|
+
import { lsVerb } from '../verbs/ls'
|
|
11
|
+
import { statesVerb } from '../verbs/states'
|
|
12
|
+
import { statusVerb } from '../verbs/status'
|
|
13
|
+
import { killVerb } from '../verbs/kill'
|
|
14
|
+
import { spawnVerb } from '../verbs/spawn'
|
|
15
|
+
import { sendVerb } from '../verbs/send'
|
|
16
|
+
import { waitVerb } from '../verbs/wait'
|
|
17
|
+
import { compactVerb } from '../verbs/compact'
|
|
18
|
+
import { resumeVerb } from '../verbs/resume'
|
|
19
|
+
import { lastVerb } from '../verbs/last'
|
|
20
|
+
import { ctxVerb } from '../verbs/ctx'
|
|
21
|
+
import { historyVerb } from '../verbs/history'
|
|
22
|
+
import { memVerb } from '../verbs/mem'
|
|
23
|
+
import { reloadVerb } from '../verbs/reload'
|
|
24
|
+
import { claudeDoctor } from '../engines/claude/doctor'
|
|
25
|
+
import {
|
|
26
|
+
parseCompactArgs,
|
|
27
|
+
parseResumeArgs,
|
|
28
|
+
parseSendArgs,
|
|
29
|
+
parseSpawnArgs,
|
|
30
|
+
parseWaitArgs,
|
|
31
|
+
} from '../shared/verb-args'
|
|
32
|
+
import { formatContext, formatReload, noEngineRegistered } from '../verbs/format'
|
|
33
|
+
import { productionVerbContext } from './context'
|
|
34
|
+
import { die, removedVerb, runHelpVerb, unknownVerb } from './errors'
|
|
35
|
+
import {
|
|
36
|
+
autoGenerateName,
|
|
37
|
+
codexNameFailure,
|
|
38
|
+
cwdForName,
|
|
39
|
+
inferSpawnEngine,
|
|
40
|
+
legacySchemaError,
|
|
41
|
+
parseCtxArgs,
|
|
42
|
+
parseReloadTargets,
|
|
43
|
+
parseTimeoutMs,
|
|
44
|
+
resolveRepoPath,
|
|
45
|
+
resumeCwdProbeable,
|
|
46
|
+
spawnCwdFor,
|
|
47
|
+
triggersHelp,
|
|
48
|
+
} from './parse'
|
|
49
|
+
import {
|
|
50
|
+
read as readIdentity,
|
|
51
|
+
readArchived as readArchivedIdentity,
|
|
52
|
+
} from '../persistence/identity-store'
|
|
53
|
+
import { validateTeammateName } from '../identity/name'
|
|
54
|
+
|
|
55
|
+
interface FleetTarget {
|
|
56
|
+
readonly name: string
|
|
57
|
+
readonly engine: Engine
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
async function fleetTargets(ctx: VerbContext): Promise<TmResult | FleetTarget[]> {
|
|
61
|
+
const engines = ctx.engines.registered()
|
|
62
|
+
if (engines.length === 0) return noEngineRegistered()
|
|
63
|
+
const listings = (await Promise.all(
|
|
64
|
+
engines.map(async (engine) => ({
|
|
65
|
+
engine,
|
|
66
|
+
rows: await engine.list(ctx.engineContext),
|
|
67
|
+
})),
|
|
68
|
+
)).flatMap(({ engine, rows }) => rows.map((row) => ({ name: row.name, engine })))
|
|
69
|
+
const seen = new Set<string>()
|
|
70
|
+
const targets: FleetTarget[] = []
|
|
71
|
+
for (const target of listings) {
|
|
72
|
+
if (seen.has(target.name)) continue
|
|
73
|
+
seen.add(target.name)
|
|
74
|
+
targets.push(target)
|
|
75
|
+
}
|
|
76
|
+
return targets
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async function combineResults(results: readonly Promise<TmResult>[]): Promise<TmResult> {
|
|
80
|
+
let code = 0
|
|
81
|
+
let stdout = ''
|
|
82
|
+
let stderr = ''
|
|
83
|
+
for (const result of await Promise.all(results)) {
|
|
84
|
+
if (code === 0 && result.code !== 0) code = result.code
|
|
85
|
+
stdout += result.stdout
|
|
86
|
+
stderr += result.stderr
|
|
87
|
+
}
|
|
88
|
+
return { code, stdout, stderr }
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// ─── Engine-routed teammate verbs ─────────────────────────────────────────
|
|
92
|
+
|
|
93
|
+
const ENGINE_VERBS: ReadonlySet<string> = new Set([
|
|
94
|
+
'ls',
|
|
95
|
+
'states',
|
|
96
|
+
'status',
|
|
97
|
+
'kill',
|
|
98
|
+
'spawn',
|
|
99
|
+
'send',
|
|
100
|
+
'wait',
|
|
101
|
+
'compact',
|
|
102
|
+
'resume',
|
|
103
|
+
'last',
|
|
104
|
+
'ctx',
|
|
105
|
+
'history',
|
|
106
|
+
'mem',
|
|
107
|
+
'reload',
|
|
108
|
+
])
|
|
109
|
+
|
|
110
|
+
async function dispatchEngineVerb(
|
|
111
|
+
verb: string,
|
|
112
|
+
rest: readonly string[],
|
|
113
|
+
ctx: VerbContext,
|
|
114
|
+
env: NativeEnv,
|
|
115
|
+
): Promise<TmResult> {
|
|
116
|
+
switch (verb) {
|
|
117
|
+
case 'ls':
|
|
118
|
+
return lsVerb(ctx)
|
|
119
|
+
case 'states':
|
|
120
|
+
return statesVerb(ctx)
|
|
121
|
+
case 'status': {
|
|
122
|
+
if (rest.length === 0) {
|
|
123
|
+
return { code: 1, stdout: '', stderr: 'tm: usage: tm status <name> [lines=80]\n' }
|
|
124
|
+
}
|
|
125
|
+
const legacy = legacySchemaError(rest[0]!, 'status')
|
|
126
|
+
if (legacy !== null) return legacy
|
|
127
|
+
const lines = rest[1]
|
|
128
|
+
const parsed = lines === undefined ? null : Number(lines)
|
|
129
|
+
const linesArg = parsed === null || !Number.isFinite(parsed) ? null : parsed
|
|
130
|
+
return statusVerb(rest[0]!, ctx, { lines: linesArg })
|
|
131
|
+
}
|
|
132
|
+
case 'kill': {
|
|
133
|
+
if (rest.length === 0) return { code: 1, stdout: '', stderr: 'tm: usage: tm kill <name>\n' }
|
|
134
|
+
// No `legacySchemaError` guard here on purpose: the migration
|
|
135
|
+
// message for a schema=1 record is literally "run `tm kill`",
|
|
136
|
+
// so this verb must be reachable on a legacy record. The
|
|
137
|
+
// claude engine's `kill()` cleans tmux + the bash-side marker
|
|
138
|
+
// files unconditionally, and `ctx.identity.remove(name)`
|
|
139
|
+
// sweeps the JSON regardless of its on-disk schema version.
|
|
140
|
+
return killVerb(rest[0]!, ctx)
|
|
141
|
+
}
|
|
142
|
+
case 'spawn': {
|
|
143
|
+
const rawPath = rest[0] ?? ''
|
|
144
|
+
if (rawPath.length === 0) {
|
|
145
|
+
return die('usage: tm spawn <path> [--name <id>] [--prompt "..."] [--no-worktree]')
|
|
146
|
+
}
|
|
147
|
+
const parsed = parseSpawnArgs(rest.slice(1))
|
|
148
|
+
if ('error' in parsed) return parsed.error
|
|
149
|
+
const timeoutMs = parseTimeoutMs('tm spawn', parsed.timeout)
|
|
150
|
+
if (timeoutMs !== null && typeof timeoutMs === 'object') return timeoutMs.error
|
|
151
|
+
const repoResolved = resolveRepoPath(rawPath, env)
|
|
152
|
+
if ('error' in repoResolved) return repoResolved.error
|
|
153
|
+
const repo = repoResolved.repo
|
|
154
|
+
const name = parsed.name.length > 0 ? parsed.name : autoGenerateName(repo)
|
|
155
|
+
const validation = validateTeammateName(name)
|
|
156
|
+
if (validation.kind !== 'ok') {
|
|
157
|
+
return die(`tm spawn: invalid name '${name}': ${validation.reason}`)
|
|
158
|
+
}
|
|
159
|
+
const engine = await inferSpawnEngine(parsed.engine)
|
|
160
|
+
if (engine === 'codex') {
|
|
161
|
+
const invalidName = codexNameFailure(name)
|
|
162
|
+
if (invalidName !== null) return die(invalidName)
|
|
163
|
+
}
|
|
164
|
+
const worktreeSlug = parsed.noWorktree ? null : name
|
|
165
|
+
const cwd = spawnCwdFor(repo, worktreeSlug)
|
|
166
|
+
return spawnVerb(
|
|
167
|
+
{
|
|
168
|
+
name,
|
|
169
|
+
engine,
|
|
170
|
+
repo,
|
|
171
|
+
cwd,
|
|
172
|
+
worktreeSlug,
|
|
173
|
+
resumeCheckpoint: parsed.resumeSid.length === 0 ? null : parsed.resumeSid,
|
|
174
|
+
prompt: parsed.hasPrompt ? parsed.prompt : null,
|
|
175
|
+
timeoutMs,
|
|
176
|
+
displayName: null,
|
|
177
|
+
},
|
|
178
|
+
ctx,
|
|
179
|
+
)
|
|
180
|
+
}
|
|
181
|
+
case 'send': {
|
|
182
|
+
const parsed = parseSendArgs(rest)
|
|
183
|
+
if ('error' in parsed) return parsed.error
|
|
184
|
+
if (parsed.name === '') {
|
|
185
|
+
return die(
|
|
186
|
+
'tm send: missing <name>. Usage: tm send <name> --prompt "..." ' +
|
|
187
|
+
'[--pane-quiet] [--timeout N]',
|
|
188
|
+
)
|
|
189
|
+
}
|
|
190
|
+
if (!parsed.hasPrompt) {
|
|
191
|
+
return die(
|
|
192
|
+
'tm send: missing --prompt. Usage: tm send <name> --prompt "..." ' +
|
|
193
|
+
'[--pane-quiet] [--timeout N]',
|
|
194
|
+
)
|
|
195
|
+
}
|
|
196
|
+
const legacy = legacySchemaError(parsed.name, 'send')
|
|
197
|
+
if (legacy !== null) return legacy
|
|
198
|
+
const timeoutMs = parseTimeoutMs('tm send', parsed.timeout)
|
|
199
|
+
if (timeoutMs !== null && typeof timeoutMs === 'object') return timeoutMs.error
|
|
200
|
+
return sendVerb(
|
|
201
|
+
{
|
|
202
|
+
name: parsed.name,
|
|
203
|
+
prompt: parsed.prompt,
|
|
204
|
+
timeoutMs,
|
|
205
|
+
paneQuiet: parsed.paneQuiet,
|
|
206
|
+
},
|
|
207
|
+
ctx,
|
|
208
|
+
)
|
|
209
|
+
}
|
|
210
|
+
case 'wait': {
|
|
211
|
+
const parsed = parseWaitArgs(rest)
|
|
212
|
+
if ('error' in parsed) return parsed.error
|
|
213
|
+
if (parsed.name === '') {
|
|
214
|
+
return die('usage: tm wait <name> [timeout=1800] [--fresh] [--pane-quiet] [--timeout N]')
|
|
215
|
+
}
|
|
216
|
+
const legacy = legacySchemaError(parsed.name, 'wait')
|
|
217
|
+
if (legacy !== null) return legacy
|
|
218
|
+
const timeoutMs = parseTimeoutMs('tm wait', parsed.timeout)
|
|
219
|
+
if (timeoutMs !== null && typeof timeoutMs === 'object') return timeoutMs.error
|
|
220
|
+
return waitVerb(
|
|
221
|
+
{
|
|
222
|
+
name: parsed.name,
|
|
223
|
+
recoverFor: null,
|
|
224
|
+
timeoutMs,
|
|
225
|
+
fresh: parsed.fresh,
|
|
226
|
+
paneQuiet: parsed.paneQuiet,
|
|
227
|
+
},
|
|
228
|
+
ctx,
|
|
229
|
+
)
|
|
230
|
+
}
|
|
231
|
+
case 'compact': {
|
|
232
|
+
const parsed = parseCompactArgs(rest)
|
|
233
|
+
if ('error' in parsed) return parsed.error
|
|
234
|
+
const legacy = legacySchemaError(parsed.name, 'compact')
|
|
235
|
+
if (legacy !== null) return legacy
|
|
236
|
+
const timeoutMs = parseTimeoutMs('tm compact', parsed.timeout)
|
|
237
|
+
if (timeoutMs !== null && typeof timeoutMs === 'object') return timeoutMs.error
|
|
238
|
+
return compactVerb(parsed.name, ctx, { timeoutMs })
|
|
239
|
+
}
|
|
240
|
+
case 'resume': {
|
|
241
|
+
const parsed = parseResumeArgs(rest)
|
|
242
|
+
if ('error' in parsed) return parsed.error
|
|
243
|
+
if (parsed.name === '') {
|
|
244
|
+
return die(
|
|
245
|
+
'usage: tm resume <name> [<sid-or-thread-id>] [--prompt "..."] ' +
|
|
246
|
+
'[--engine claude|codex] (id may be omitted: claudemux probes both engines ' +
|
|
247
|
+
'for a resumable session and routes the single candidate; if both engines have ' +
|
|
248
|
+
'history, use --engine to disambiguate)',
|
|
249
|
+
)
|
|
250
|
+
}
|
|
251
|
+
const legacy = legacySchemaError(parsed.name, 'resume')
|
|
252
|
+
if (legacy !== null) return legacy
|
|
253
|
+
// After a clean kill the live identity is gone, but the archive
|
|
254
|
+
// snapshot — written by `tm kill` before the live record was
|
|
255
|
+
// deleted — still carries the launch context (repo /
|
|
256
|
+
// worktreeSlug / displayName). Fall back to it so the resume
|
|
257
|
+
// verb has the same `repo` / `worktreeSlug` it would have had
|
|
258
|
+
// pre-kill; without that, `tm resume <name> <sid>` after a
|
|
259
|
+
// clean kill cannot re-provision the worktree.
|
|
260
|
+
const liveIdentity = readIdentity(parsed.name)
|
|
261
|
+
const recordSource = liveIdentity ?? readArchivedIdentity(parsed.name)
|
|
262
|
+
return resumeVerb(
|
|
263
|
+
{
|
|
264
|
+
name: parsed.name,
|
|
265
|
+
repo: recordSource?.repo ?? null,
|
|
266
|
+
cwd: cwdForName(parsed.name, env),
|
|
267
|
+
worktreeSlug: recordSource?.worktreeSlug ?? null,
|
|
268
|
+
checkpoint: parsed.sid.length === 0 ? null : parsed.sid,
|
|
269
|
+
prompt: parsed.hasPrompt ? parsed.prompt : null,
|
|
270
|
+
displayName: recordSource?.displayName ?? null,
|
|
271
|
+
engineHint: parsed.engine,
|
|
272
|
+
projectsDir: env.projectsDir,
|
|
273
|
+
cwdProbeable: resumeCwdProbeable(parsed.name, env),
|
|
274
|
+
},
|
|
275
|
+
ctx,
|
|
276
|
+
)
|
|
277
|
+
}
|
|
278
|
+
case 'last': {
|
|
279
|
+
let name = ''
|
|
280
|
+
let verbose = false
|
|
281
|
+
for (const arg of rest) {
|
|
282
|
+
if (arg === '--verbose') {
|
|
283
|
+
verbose = true
|
|
284
|
+
} else if (arg.startsWith('--')) {
|
|
285
|
+
return die(`tm last: unknown option ${arg}`)
|
|
286
|
+
} else if (name.length === 0) {
|
|
287
|
+
name = arg
|
|
288
|
+
} else {
|
|
289
|
+
return die('usage: tm last <name> [--verbose]')
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
if (name.length === 0) return die('usage: tm last <name> [--verbose]')
|
|
293
|
+
const legacy = legacySchemaError(name, 'last')
|
|
294
|
+
if (legacy !== null) return legacy
|
|
295
|
+
return lastVerb(name, ctx, { verbose })
|
|
296
|
+
}
|
|
297
|
+
case 'ctx': {
|
|
298
|
+
const parsed = parseCtxArgs(rest)
|
|
299
|
+
if ('error' in parsed) return parsed.error
|
|
300
|
+
const results = parsed.repos.map((name) =>
|
|
301
|
+
ctxVerb(name, ctx, { windowOverride: parsed.windowOverride }),
|
|
302
|
+
)
|
|
303
|
+
if (parsed.all) {
|
|
304
|
+
const targets = await fleetTargets(ctx)
|
|
305
|
+
if (!Array.isArray(targets)) return targets
|
|
306
|
+
results.push(
|
|
307
|
+
...targets.map(async (target) =>
|
|
308
|
+
formatContext(
|
|
309
|
+
await target.engine.ctx(
|
|
310
|
+
{ name: target.name, windowOverride: parsed.windowOverride },
|
|
311
|
+
ctx.engineContext,
|
|
312
|
+
),
|
|
313
|
+
),
|
|
314
|
+
),
|
|
315
|
+
)
|
|
316
|
+
}
|
|
317
|
+
if (results.length === 0) {
|
|
318
|
+
return die('usage: tm ctx <name> [<name>...] | --all [--window 200k|1m]')
|
|
319
|
+
}
|
|
320
|
+
return combineResults(results)
|
|
321
|
+
}
|
|
322
|
+
case 'history': {
|
|
323
|
+
const name = rest[0] ?? ''
|
|
324
|
+
if (name.length === 0) return die('usage: tm history <name> [<sid-or-thread-prefix>]')
|
|
325
|
+
const legacy = legacySchemaError(name, 'history')
|
|
326
|
+
if (legacy !== null) return legacy
|
|
327
|
+
return historyVerb({ name, cwd: cwdForName(name, env), index: rest[1] ?? null }, ctx)
|
|
328
|
+
}
|
|
329
|
+
case 'mem': {
|
|
330
|
+
const name = rest[0] ?? ''
|
|
331
|
+
if (name.length === 0) return die('usage: tm mem <name>')
|
|
332
|
+
const legacy = legacySchemaError(name, 'mem')
|
|
333
|
+
if (legacy !== null) return legacy
|
|
334
|
+
return memVerb(name, ctx)
|
|
335
|
+
}
|
|
336
|
+
case 'reload': {
|
|
337
|
+
const parsed = parseReloadTargets(rest)
|
|
338
|
+
if ('error' in parsed) return parsed.error
|
|
339
|
+
let stdout = ''
|
|
340
|
+
let stderr = ''
|
|
341
|
+
if (parsed.all) {
|
|
342
|
+
const targets = await fleetTargets(ctx)
|
|
343
|
+
if (!Array.isArray(targets)) return targets
|
|
344
|
+
if (targets.length === 0) {
|
|
345
|
+
return { code: 0, stdout: '(no teammate sessions to reload)\n', stderr: '' }
|
|
346
|
+
}
|
|
347
|
+
for (const target of targets) {
|
|
348
|
+
const result = formatReload(
|
|
349
|
+
await target.engine.reload({ name: target.name }, ctx.engineContext),
|
|
350
|
+
)
|
|
351
|
+
stdout += result.stdout
|
|
352
|
+
stderr += result.stderr
|
|
353
|
+
if (result.code !== 0) return { code: result.code, stdout, stderr }
|
|
354
|
+
}
|
|
355
|
+
} else {
|
|
356
|
+
for (const target of parsed.repos) {
|
|
357
|
+
const result = await reloadVerb(target, ctx)
|
|
358
|
+
stdout += result.stdout
|
|
359
|
+
stderr += result.stderr
|
|
360
|
+
if (result.code !== 0) return { code: result.code, stdout, stderr }
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
return { code: 0, stdout, stderr }
|
|
364
|
+
}
|
|
365
|
+
default:
|
|
366
|
+
return { code: 1, stdout: '', stderr: `tm: unsupported engine verb: ${verb}\n` }
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
async function doctorDispatch(args: readonly string[], env: NativeEnv): Promise<TmResult> {
|
|
371
|
+
return claudeDoctor(args, env, {
|
|
372
|
+
tmWrapper: tmWrapperPath(),
|
|
373
|
+
pluginJson: pluginJsonPath(),
|
|
374
|
+
})
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* Dispatch one CLI invocation. `argv` is the argument vector after the
|
|
379
|
+
* program name (`process.argv.slice(2)`).
|
|
380
|
+
*
|
|
381
|
+
* Routing order:
|
|
382
|
+
* 1. Bare `tm` → overview, exit 0
|
|
383
|
+
* 2. `tm help [<verb>]` → per-verb or overview, exit 0/1
|
|
384
|
+
* 3. Help pre-scan on `rest` → per-verb (if HELP_TEXTS) or overview, exit 0
|
|
385
|
+
* 4. Removed verb → migration message, exit 2
|
|
386
|
+
* 5. Engine-routed teammate verbs → verbs/<v>.ts → router/registry → engine
|
|
387
|
+
* 6. Dispatcher-only / diagnostic → local verb
|
|
388
|
+
* 7. Unknown verb → stderr + overview, exit 1
|
|
389
|
+
*/
|
|
390
|
+
export async function runCli(
|
|
391
|
+
argv: readonly string[],
|
|
392
|
+
env: NativeEnv,
|
|
393
|
+
stdin?: string,
|
|
394
|
+
): Promise<TmResult> {
|
|
395
|
+
const [verb, ...rest] = argv
|
|
396
|
+
// 1. Bare `tm` (or `tm ""`, mirroring bash `${1:-help}` which fires
|
|
397
|
+
// on both unset and null/empty) — fall through to the overview.
|
|
398
|
+
if (verb === undefined || verb === '') {
|
|
399
|
+
return { code: 0, stdout: OVERVIEW_HELP, stderr: '' }
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
// 2. The `help` / `-h` / `--help` verb forms.
|
|
403
|
+
if (verb === 'help' || verb === '-h' || verb === '--help') {
|
|
404
|
+
return runHelpVerb(rest)
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
// 3. Help pre-scan — `tm <verb> --help` prints that verb's detail.
|
|
408
|
+
// Every dispatch-table lookup below uses `Object.hasOwn` so a verb
|
|
409
|
+
// name that collides with an Object.prototype key does not walk
|
|
410
|
+
// the prototype chain.
|
|
411
|
+
if (triggersHelp(rest)) {
|
|
412
|
+
const text = Object.hasOwn(HELP_TEXTS, verb) ? HELP_TEXTS[verb]! : OVERVIEW_HELP
|
|
413
|
+
return { code: 0, stdout: text, stderr: '' }
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
// 4. Removed verbs — migration error on stderr, exit 2.
|
|
417
|
+
if (Object.hasOwn(REMOVED_VERB_MESSAGES, verb)) {
|
|
418
|
+
return removedVerb(REMOVED_VERB_MESSAGES[verb]!)
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
// 5. Engine-routed teammate verbs — parse at the CLI boundary, then
|
|
422
|
+
// `verbs/<v>.ts` → `EngineRegistry` / router → concrete Engine methods.
|
|
423
|
+
if (ENGINE_VERBS.has(verb)) {
|
|
424
|
+
return dispatchEngineVerb(verb, rest, productionVerbContext(env), env)
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
// 6. Dispatcher-only / diagnostic verbs.
|
|
428
|
+
switch (verb) {
|
|
429
|
+
case 'archive':
|
|
430
|
+
return archiveVerb(rest, stdin, {
|
|
431
|
+
dispatcherDir: env.dispatcherDir,
|
|
432
|
+
projectsDir: env.projectsDir,
|
|
433
|
+
})
|
|
434
|
+
case 'doctor':
|
|
435
|
+
return doctorDispatch(rest, env)
|
|
436
|
+
case 'poll':
|
|
437
|
+
return pollVerb(rest, env)
|
|
438
|
+
case 'ask':
|
|
439
|
+
return askVerb(rest)
|
|
440
|
+
default:
|
|
441
|
+
// 7. Unknown verb.
|
|
442
|
+
return unknownVerb(verb)
|
|
443
|
+
}
|
|
444
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { HELP_TEXTS, OVERVIEW_HELP } from '../help'
|
|
2
|
+
import type { TmResult } from '../tm'
|
|
3
|
+
|
|
4
|
+
/** A `tm: <message>` error result, exit 1. */
|
|
5
|
+
export function die(message: string): TmResult {
|
|
6
|
+
return { code: 1, stdout: '', stderr: `tm: ${message}\n` }
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/** A removed verb's migration message + exit 2. */
|
|
10
|
+
export function removedVerb(message: string): TmResult {
|
|
11
|
+
return { code: 2, stdout: '', stderr: message }
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/** The unknown-subcommand error: stderr line + overview on stdout + exit 1. */
|
|
15
|
+
export function unknownVerb(verb: string): TmResult {
|
|
16
|
+
return { code: 1, stdout: OVERVIEW_HELP, stderr: `tm: unknown subcommand: ${verb}\n` }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Route a `tm help <name>` invocation. Known verb (including `help`
|
|
21
|
+
* itself) prints that verb's detail page; unknown verb prints a
|
|
22
|
+
* stderr line + the overview + exits 1; no argument prints the
|
|
23
|
+
* overview + exits 0.
|
|
24
|
+
*
|
|
25
|
+
* Every table lookup goes through `Object.hasOwn` — a bare
|
|
26
|
+
* `HELP_TEXTS[verb]` walks the prototype chain, so a verb named
|
|
27
|
+
* `toString` / `constructor` / `hasOwnProperty` would yield a function
|
|
28
|
+
* from `Object.prototype` and crash the writer when the result's
|
|
29
|
+
* `stdout` is shoved at `process.stdout.write`.
|
|
30
|
+
*/
|
|
31
|
+
export function runHelpVerb(rest: readonly string[]): TmResult {
|
|
32
|
+
const target = rest[0]
|
|
33
|
+
if (target === undefined) return { code: 0, stdout: OVERVIEW_HELP, stderr: '' }
|
|
34
|
+
if (target === 'help' || target === '-h' || target === '--help') {
|
|
35
|
+
return { code: 0, stdout: OVERVIEW_HELP, stderr: '' }
|
|
36
|
+
}
|
|
37
|
+
if (Object.hasOwn(HELP_TEXTS, target)) {
|
|
38
|
+
return { code: 0, stdout: HELP_TEXTS[target]!, stderr: '' }
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
code: 1,
|
|
42
|
+
stdout: OVERVIEW_HELP,
|
|
43
|
+
stderr: `tm: no help for unknown verb: ${target}\n`,
|
|
44
|
+
}
|
|
45
|
+
}
|