@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
package/src/proc.ts
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The process spawn primitive.
|
|
3
|
+
*
|
|
4
|
+
* Every shell-out backend — `tm.ts`, `tmux.ts`, `column.ts`, `grep.ts` —
|
|
5
|
+
* spawns a child, optionally feeds it stdin, and captures its exit code,
|
|
6
|
+
* stdout, and stderr in full. `spawnCapture` is that one primitive, over Node's
|
|
7
|
+
* `child_process`. Output is collected with no size cap, so a large pane
|
|
8
|
+
* capture or `tm history` listing is never truncated.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { spawn } from 'node:child_process'
|
|
12
|
+
|
|
13
|
+
/** A child process's faithful exit-code + stream capture. */
|
|
14
|
+
export interface ProcResult {
|
|
15
|
+
/** Process exit code; `1` when the process was terminated by a signal. */
|
|
16
|
+
code: number
|
|
17
|
+
/** Captured standard output. */
|
|
18
|
+
stdout: string
|
|
19
|
+
/** Captured standard error. */
|
|
20
|
+
stderr: string
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Spawn `argv[0]` with the rest as its arguments, optionally feeding `stdin`,
|
|
25
|
+
* and resolve with its exit code and captured streams. `env` and `cwd`
|
|
26
|
+
* override the inherited process environment and working directory. Rejects
|
|
27
|
+
* if the child fails to spawn (a missing or non-executable binary); a
|
|
28
|
+
* non-zero exit is a resolved result, since `tm` verbs exit non-zero as
|
|
29
|
+
* ordinary behavior.
|
|
30
|
+
*/
|
|
31
|
+
export function spawnCapture(
|
|
32
|
+
argv: readonly string[],
|
|
33
|
+
options?: { stdin?: string; env?: NodeJS.ProcessEnv; cwd?: string },
|
|
34
|
+
): Promise<ProcResult> {
|
|
35
|
+
return new Promise((resolve, reject) => {
|
|
36
|
+
const [command, ...args] = argv
|
|
37
|
+
if (command === undefined) {
|
|
38
|
+
reject(new Error('spawnCapture: empty argument vector'))
|
|
39
|
+
return
|
|
40
|
+
}
|
|
41
|
+
const child = spawn(command, args, {
|
|
42
|
+
// `pipe` on all three streams, so `child.stdin/stdout/stderr` are the
|
|
43
|
+
// non-null streams the capture below relies on.
|
|
44
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
45
|
+
env: options?.env ?? process.env,
|
|
46
|
+
cwd: options?.cwd,
|
|
47
|
+
})
|
|
48
|
+
const stdout: Buffer[] = []
|
|
49
|
+
const stderr: Buffer[] = []
|
|
50
|
+
child.stdout!.on('data', (chunk: Buffer) => stdout.push(chunk))
|
|
51
|
+
child.stderr!.on('data', (chunk: Buffer) => stderr.push(chunk))
|
|
52
|
+
child.on('error', reject)
|
|
53
|
+
child.on('close', (code) => {
|
|
54
|
+
resolve({
|
|
55
|
+
code: code ?? 1,
|
|
56
|
+
stdout: Buffer.concat(stdout).toString('utf8'),
|
|
57
|
+
stderr: Buffer.concat(stderr).toString('utf8'),
|
|
58
|
+
})
|
|
59
|
+
})
|
|
60
|
+
// The child may exit before consuming all of stdin (`grep -q` stops at the
|
|
61
|
+
// first match); the resulting broken-pipe write error is expected — the
|
|
62
|
+
// exit code and captured output are what matter — so swallow it.
|
|
63
|
+
child.stdin!.on('error', () => {})
|
|
64
|
+
child.stdin!.end(options?.stdin ?? '')
|
|
65
|
+
})
|
|
66
|
+
}
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared CLI argument parsers for teammate verbs.
|
|
3
|
+
*
|
|
4
|
+
* These parsers sit outside any concrete engine because `tm spawn` and
|
|
5
|
+
* `tm resume` carry cross-engine flags (`--engine`) even when the eventual
|
|
6
|
+
* request is routed to Claude or Codex. Keeping them here prevents the CLI
|
|
7
|
+
* layer from importing parser helpers out of `engines/claude/`.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type { TmResult } from '../tm'
|
|
11
|
+
|
|
12
|
+
type EngineFlag = 'claude' | 'codex'
|
|
13
|
+
|
|
14
|
+
function die(message: string): TmResult {
|
|
15
|
+
return { code: 1, stdout: '', stderr: `tm: ${message}\n` }
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** Parsed arg vector for `tm compact`. */
|
|
19
|
+
export interface CompactArgs {
|
|
20
|
+
name: string
|
|
21
|
+
timeout: string
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** Parsed arg vector for `tm resume`. */
|
|
25
|
+
export interface ResumeArgs {
|
|
26
|
+
name: string
|
|
27
|
+
sid: string
|
|
28
|
+
prompt: string
|
|
29
|
+
hasPrompt: boolean
|
|
30
|
+
engine: EngineFlag | null
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Parsed arg vector for `tm send`. */
|
|
34
|
+
export interface SendArgs {
|
|
35
|
+
name: string
|
|
36
|
+
prompt: string
|
|
37
|
+
hasPrompt: boolean
|
|
38
|
+
paneQuiet: boolean
|
|
39
|
+
timeout: string | null
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Parsed arg vector for `tm spawn`. */
|
|
43
|
+
export interface SpawnArgs {
|
|
44
|
+
engine: EngineFlag | null
|
|
45
|
+
/** Explicit teammate name from `--name`; empty when the caller wants auto-gen. */
|
|
46
|
+
name: string
|
|
47
|
+
resumeSid: string
|
|
48
|
+
prompt: string
|
|
49
|
+
hasPrompt: boolean
|
|
50
|
+
timeout: string | null
|
|
51
|
+
noWorktree: boolean
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Parsed arg vector for `tm wait`. */
|
|
55
|
+
export interface WaitArgs {
|
|
56
|
+
name: string
|
|
57
|
+
timeout: string | null
|
|
58
|
+
fresh: boolean
|
|
59
|
+
paneQuiet: boolean
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* `tm compact`'s arg loop: same positional-then-flag rule as `wait`.
|
|
64
|
+
* `--timeout` with no value is the bash silent-exit-1 case; mirror it.
|
|
65
|
+
*/
|
|
66
|
+
export function parseCompactArgs(args: readonly string[]): CompactArgs | { error: TmResult } {
|
|
67
|
+
const SILENT: TmResult = { code: 1, stdout: '', stderr: '' }
|
|
68
|
+
let name = ''
|
|
69
|
+
let timeout = '1800'
|
|
70
|
+
let i = 0
|
|
71
|
+
while (i < args.length) {
|
|
72
|
+
const arg = args[i]!
|
|
73
|
+
if (arg === '--timeout') {
|
|
74
|
+
if (i + 1 >= args.length) return { error: SILENT }
|
|
75
|
+
timeout = args[i + 1]!
|
|
76
|
+
i += 2
|
|
77
|
+
} else if (arg.startsWith('--timeout=')) {
|
|
78
|
+
timeout = arg.slice('--timeout='.length)
|
|
79
|
+
i++
|
|
80
|
+
} else if (arg.startsWith('-')) {
|
|
81
|
+
return { error: die(`tm compact: unknown flag: ${arg}`) }
|
|
82
|
+
} else if (name === '') {
|
|
83
|
+
name = arg
|
|
84
|
+
i++
|
|
85
|
+
} else {
|
|
86
|
+
timeout = arg
|
|
87
|
+
i++
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return { name, timeout }
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* `tm resume`'s arg loop; two positionals (`<name> [<sid>]`) plus
|
|
95
|
+
* flags. `--prompt` and `--engine` carry required values; missing
|
|
96
|
+
* values surface as explicit errors.
|
|
97
|
+
*/
|
|
98
|
+
export function parseResumeArgs(args: readonly string[]): ResumeArgs | { error: TmResult } {
|
|
99
|
+
let name = ''
|
|
100
|
+
let sid = ''
|
|
101
|
+
let prompt = ''
|
|
102
|
+
let hasPrompt = false
|
|
103
|
+
let engine: EngineFlag | null = null
|
|
104
|
+
let i = 0
|
|
105
|
+
while (i < args.length) {
|
|
106
|
+
const arg = args[i]!
|
|
107
|
+
if (arg === '--prompt') {
|
|
108
|
+
if (i + 1 >= args.length) return { error: die('tm resume: --prompt requires a value') }
|
|
109
|
+
prompt = args[i + 1]!
|
|
110
|
+
hasPrompt = true
|
|
111
|
+
i += 2
|
|
112
|
+
} else if (arg.startsWith('--prompt=')) {
|
|
113
|
+
prompt = arg.slice('--prompt='.length)
|
|
114
|
+
hasPrompt = true
|
|
115
|
+
i++
|
|
116
|
+
} else if (arg === '--engine') {
|
|
117
|
+
if (i + 1 >= args.length) return { error: die('tm resume: --engine requires a value') }
|
|
118
|
+
const value = args[i + 1]!
|
|
119
|
+
if (value !== 'claude' && value !== 'codex') {
|
|
120
|
+
return { error: die(`tm resume: --engine must be 'claude' or 'codex' (got: '${value}')`) }
|
|
121
|
+
}
|
|
122
|
+
engine = value
|
|
123
|
+
i += 2
|
|
124
|
+
} else if (arg.startsWith('--engine=')) {
|
|
125
|
+
const value = arg.slice('--engine='.length)
|
|
126
|
+
if (value !== 'claude' && value !== 'codex') {
|
|
127
|
+
return { error: die(`tm resume: --engine must be 'claude' or 'codex' (got: '${value}')`) }
|
|
128
|
+
}
|
|
129
|
+
engine = value
|
|
130
|
+
i++
|
|
131
|
+
} else if (arg === '--') {
|
|
132
|
+
i++
|
|
133
|
+
break
|
|
134
|
+
} else if (arg.startsWith('-')) {
|
|
135
|
+
return { error: die(`unknown flag: ${arg}`) }
|
|
136
|
+
} else if (name === '') {
|
|
137
|
+
name = arg
|
|
138
|
+
i++
|
|
139
|
+
} else if (sid === '') {
|
|
140
|
+
sid = arg
|
|
141
|
+
i++
|
|
142
|
+
} else {
|
|
143
|
+
return {
|
|
144
|
+
error: die(
|
|
145
|
+
`tm resume: too many positional args (got '${arg}' after ` +
|
|
146
|
+
`name='${name}' sid='${sid}')`,
|
|
147
|
+
),
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return { name, sid, prompt, hasPrompt, engine }
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Single-quote-escape a string for safe embedding in a bash command
|
|
156
|
+
* line — used by the legacy-form error suggestion below.
|
|
157
|
+
*/
|
|
158
|
+
function shellSingleQuote(value: string): string {
|
|
159
|
+
return `'${value.replace(/'/g, `'\\''`)}'`
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* `tm send`'s arg loop. Catches the legacy `tm send <name> <free
|
|
164
|
+
* text>` form with a dedicated error — pre-0.3.0 callers passed
|
|
165
|
+
* prompts as positional args, and this catches that habit explicitly
|
|
166
|
+
* rather than swallowing the trailing positionals as a confusing
|
|
167
|
+
* "unknown arg".
|
|
168
|
+
*/
|
|
169
|
+
export function parseSendArgs(args: readonly string[]): SendArgs | { error: TmResult } {
|
|
170
|
+
let paneQuiet = false
|
|
171
|
+
let timeout: string | null = null
|
|
172
|
+
let name = ''
|
|
173
|
+
let prompt = ''
|
|
174
|
+
let hasPrompt = false
|
|
175
|
+
let i = 0
|
|
176
|
+
while (i < args.length) {
|
|
177
|
+
const arg = args[i]!
|
|
178
|
+
if (arg === '--pane-quiet') {
|
|
179
|
+
paneQuiet = true
|
|
180
|
+
i++
|
|
181
|
+
} else if (arg === '--timeout') {
|
|
182
|
+
if (i + 1 >= args.length) return { error: die('tm send: --timeout requires a value') }
|
|
183
|
+
timeout = args[i + 1]!
|
|
184
|
+
i += 2
|
|
185
|
+
} else if (arg.startsWith('--timeout=')) {
|
|
186
|
+
timeout = arg.slice('--timeout='.length)
|
|
187
|
+
i++
|
|
188
|
+
} else if (arg === '--prompt') {
|
|
189
|
+
if (i + 1 >= args.length) return { error: die('tm send: --prompt requires a value') }
|
|
190
|
+
prompt = args[i + 1]!
|
|
191
|
+
hasPrompt = true
|
|
192
|
+
i += 2
|
|
193
|
+
} else if (arg.startsWith('--prompt=')) {
|
|
194
|
+
prompt = arg.slice('--prompt='.length)
|
|
195
|
+
hasPrompt = true
|
|
196
|
+
i++
|
|
197
|
+
} else if (arg === '--') {
|
|
198
|
+
i++
|
|
199
|
+
name = args[i] ?? ''
|
|
200
|
+
i++
|
|
201
|
+
break
|
|
202
|
+
} else if (arg.startsWith('-')) {
|
|
203
|
+
return { error: die(`tm send: unknown flag: ${arg}`) }
|
|
204
|
+
} else if (name === '') {
|
|
205
|
+
name = arg
|
|
206
|
+
i++
|
|
207
|
+
} else {
|
|
208
|
+
const tail = args.slice(i).join(' ')
|
|
209
|
+
return {
|
|
210
|
+
error: die(
|
|
211
|
+
'tm send: prompt is now a --prompt flag, not a positional arg. ' +
|
|
212
|
+
`Did you mean: tm send ${name} --prompt ${shellSingleQuote(tail)} ?`,
|
|
213
|
+
),
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return { name, prompt, hasPrompt, paneQuiet, timeout }
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* `tm spawn`'s arg loop. `--prompt` and `--name` carry required
|
|
222
|
+
* values; `--resume <sid>` and `--timeout` accept either a separate
|
|
223
|
+
* value or `--flag=value` form. `--no-worktree` is a boolean.
|
|
224
|
+
*
|
|
225
|
+
* `--task` was removed in the schema-2 cut — pass `--name` instead.
|
|
226
|
+
*/
|
|
227
|
+
export function parseSpawnArgs(rest: readonly string[]): SpawnArgs | { error: TmResult } {
|
|
228
|
+
const SILENT: TmResult = { code: 1, stdout: '', stderr: '' }
|
|
229
|
+
let name = ''
|
|
230
|
+
let resumeSid = ''
|
|
231
|
+
let prompt = ''
|
|
232
|
+
let hasPrompt = false
|
|
233
|
+
let timeout: string | null = null
|
|
234
|
+
let engine: EngineFlag | null = null
|
|
235
|
+
let noWorktree = false
|
|
236
|
+
for (let i = 0; i < rest.length; i++) {
|
|
237
|
+
const arg = rest[i]!
|
|
238
|
+
if (arg === '--resume') {
|
|
239
|
+
if (i + 1 >= rest.length) return { error: SILENT }
|
|
240
|
+
resumeSid = rest[i + 1]!
|
|
241
|
+
i++
|
|
242
|
+
} else if (arg === '--engine') {
|
|
243
|
+
if (i + 1 >= rest.length) return { error: die('tm spawn: --engine requires a value') }
|
|
244
|
+
const value = rest[i + 1]!
|
|
245
|
+
if (value !== 'claude' && value !== 'codex') {
|
|
246
|
+
return { error: die(`tm spawn: --engine must be 'claude' or 'codex' (got: '${value}')`) }
|
|
247
|
+
}
|
|
248
|
+
engine = value
|
|
249
|
+
i++
|
|
250
|
+
} else if (arg.startsWith('--engine=')) {
|
|
251
|
+
const value = arg.slice('--engine='.length)
|
|
252
|
+
if (value !== 'claude' && value !== 'codex') {
|
|
253
|
+
return { error: die(`tm spawn: --engine must be 'claude' or 'codex' (got: '${value}')`) }
|
|
254
|
+
}
|
|
255
|
+
engine = value
|
|
256
|
+
} else if (arg === '--name') {
|
|
257
|
+
if (i + 1 >= rest.length) return { error: die('tm spawn: --name requires a value') }
|
|
258
|
+
name = rest[i + 1]!
|
|
259
|
+
i++
|
|
260
|
+
} else if (arg.startsWith('--name=')) {
|
|
261
|
+
name = arg.slice('--name='.length)
|
|
262
|
+
} else if (arg === '--task' || arg.startsWith('--task=')) {
|
|
263
|
+
return {
|
|
264
|
+
error: die(
|
|
265
|
+
"tm spawn: --task was removed in the name/repo decoupling cut. " +
|
|
266
|
+
"Pass --name <id> to set an explicit teammate name, or omit it " +
|
|
267
|
+
'to auto-generate (`<path-leaf>-<rand4>`).',
|
|
268
|
+
),
|
|
269
|
+
}
|
|
270
|
+
} else if (arg === '--timeout') {
|
|
271
|
+
if (i + 1 >= rest.length) return { error: die('tm spawn: --timeout requires a value') }
|
|
272
|
+
timeout = rest[i + 1]!
|
|
273
|
+
i++
|
|
274
|
+
} else if (arg.startsWith('--timeout=')) {
|
|
275
|
+
timeout = arg.slice('--timeout='.length)
|
|
276
|
+
} else if (arg === '--prompt') {
|
|
277
|
+
if (i + 1 >= rest.length) return { error: die('tm spawn: --prompt requires a value') }
|
|
278
|
+
prompt = rest[i + 1]!
|
|
279
|
+
hasPrompt = true
|
|
280
|
+
i++
|
|
281
|
+
} else if (arg.startsWith('--prompt=')) {
|
|
282
|
+
prompt = arg.slice('--prompt='.length)
|
|
283
|
+
hasPrompt = true
|
|
284
|
+
} else if (arg === '--no-worktree') {
|
|
285
|
+
noWorktree = true
|
|
286
|
+
} else {
|
|
287
|
+
return { error: die(`unknown flag: ${arg}`) }
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return { engine, name, resumeSid, prompt, hasPrompt, timeout, noWorktree }
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* `tm wait`'s arg loop; positional after `<name>` is a positional
|
|
295
|
+
* timeout. `--timeout` with no value is the bash silent-exit-1 case;
|
|
296
|
+
* mirror it so the conformance differential stays clean.
|
|
297
|
+
*/
|
|
298
|
+
export function parseWaitArgs(args: readonly string[]): WaitArgs | { error: TmResult } {
|
|
299
|
+
const SILENT: TmResult = { code: 1, stdout: '', stderr: '' }
|
|
300
|
+
let name = ''
|
|
301
|
+
let timeout: string | null = null
|
|
302
|
+
let fresh = false
|
|
303
|
+
let paneQuiet = false
|
|
304
|
+
let i = 0
|
|
305
|
+
while (i < args.length) {
|
|
306
|
+
const arg = args[i]!
|
|
307
|
+
if (arg === '--fresh') {
|
|
308
|
+
fresh = true
|
|
309
|
+
i++
|
|
310
|
+
} else if (arg === '--pane-quiet') {
|
|
311
|
+
paneQuiet = true
|
|
312
|
+
i++
|
|
313
|
+
} else if (arg === '--timeout') {
|
|
314
|
+
if (i + 1 >= args.length) return { error: SILENT }
|
|
315
|
+
timeout = args[i + 1]!
|
|
316
|
+
i += 2
|
|
317
|
+
} else if (arg.startsWith('--timeout=')) {
|
|
318
|
+
timeout = arg.slice('--timeout='.length)
|
|
319
|
+
i++
|
|
320
|
+
} else if (arg.startsWith('-')) {
|
|
321
|
+
return { error: die(`tm wait: unknown flag: ${arg}`) }
|
|
322
|
+
} else if (name === '') {
|
|
323
|
+
name = arg
|
|
324
|
+
i++
|
|
325
|
+
} else {
|
|
326
|
+
timeout = arg
|
|
327
|
+
i++
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
return { name, timeout, fresh, paneQuiet }
|
|
331
|
+
}
|
package/src/tm.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `TmResult` shape — what every `tm` verb returns — and `resolveTmBinary`,
|
|
3
|
+
* which locates the user-installed `tm` PATH entry.
|
|
4
|
+
*
|
|
5
|
+
* Stage 3c retired the Bash `bin/tm`; the orchestrator is now a pure Node CLI
|
|
6
|
+
* and no verb shells out to `tm`. The runtime shell-out functions that used to
|
|
7
|
+
* live here (`runTm` / `runTmRaw`) are gone with it.
|
|
8
|
+
*
|
|
9
|
+
* Two seams remain useful and keep their home in this module:
|
|
10
|
+
*
|
|
11
|
+
* - `TmResult` — the call shape every verb produces. Module-public so the
|
|
12
|
+
* CLI front end and the conformance harness see the same contract.
|
|
13
|
+
* - `resolveTmBinary` — used by the live-teammate integration harness to
|
|
14
|
+
* locate the PATH entry it drives. It honors `CLAUDEMUX_TM`, so the same
|
|
15
|
+
* harness can be re-aimed at any custom `tm` binary without code change.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import { dirname, join } from 'node:path'
|
|
19
|
+
import { fileURLToPath } from 'node:url'
|
|
20
|
+
|
|
21
|
+
/** The outcome of one `tm` verb: a faithful exit-code + stream capture. */
|
|
22
|
+
export interface TmResult {
|
|
23
|
+
/** Process exit code. */
|
|
24
|
+
code: number
|
|
25
|
+
/** Captured standard output. */
|
|
26
|
+
stdout: string
|
|
27
|
+
/** Captured standard error. */
|
|
28
|
+
stderr: string
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Exit code for "sync wait expired but the teammate is still running" —
|
|
33
|
+
* the verb wanted a reply within `--timeout`, the timer elapsed, but the
|
|
34
|
+
* underlying teammate (Claude REPL, codex daemon) was not declared dead.
|
|
35
|
+
*
|
|
36
|
+
* The value (124) is the GNU `timeout(1)` convention: callers that already
|
|
37
|
+
* branch on `124` for `timeout` behave the same on `tm`. The dispatcher's
|
|
38
|
+
* bg-task wrapper uses it to distinguish "TM is gone, retry from spawn"
|
|
39
|
+
* (exit 1) from "TM is still working, keep watching with `tm wait`" (exit
|
|
40
|
+
* 124). Exit 0 still means "got the reply within the window".
|
|
41
|
+
*/
|
|
42
|
+
export const EXIT_SYNC_WAIT_EXPIRED = 124
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Resolve the `tm` executable. `CLAUDEMUX_TM` overrides it (the live-teammate
|
|
46
|
+
* suite points it at any custom launcher this way); otherwise it is the
|
|
47
|
+
* `bin/tm` shipped alongside this core in the claudemux plugin.
|
|
48
|
+
*/
|
|
49
|
+
export function resolveTmBinary(): string {
|
|
50
|
+
const override = process.env.CLAUDEMUX_TM
|
|
51
|
+
if (override && override.length > 0) return override
|
|
52
|
+
// src/tm.ts → plugins/claudemux/bin/tm
|
|
53
|
+
return join(dirname(fileURLToPath(import.meta.url)), '..', 'bin', 'tm')
|
|
54
|
+
}
|
package/src/tmux.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `tmux` shell-out layer.
|
|
3
|
+
*
|
|
4
|
+
* Phase B of the strangler migration (`.agents/domains/mcp-native-orchestrator.md`
|
|
5
|
+
* §12) reimplements `tm` verbs in native core code instead of shelling out to
|
|
6
|
+
* `tm`. Some of those verbs still need tmux itself: migrating `tm ls` means
|
|
7
|
+
* the core runs `tmux ls` and filters the output in TypeScript — it does not
|
|
8
|
+
* mean tmux stops being the session backend. This module is that tmux seam,
|
|
9
|
+
* the counterpart of `tm.ts` for verbs that have left the `tm` shell-out.
|
|
10
|
+
*
|
|
11
|
+
* The caller, not this module, decides what a non-zero exit means: `tmux ls`
|
|
12
|
+
* exits non-zero merely because no server is running, which the `ls` verb
|
|
13
|
+
* treats as the ordinary "no sessions" case.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { spawnCapture } from './proc'
|
|
17
|
+
|
|
18
|
+
/** The outcome of one `tmux` invocation: a faithful exit-code + stream capture. */
|
|
19
|
+
export interface TmuxResult {
|
|
20
|
+
/** Process exit code. */
|
|
21
|
+
code: number
|
|
22
|
+
/** Captured standard output. */
|
|
23
|
+
stdout: string
|
|
24
|
+
/** Captured standard error. */
|
|
25
|
+
stderr: string
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Runs one `tmux` invocation. Injectable: native verbs depend on this type,
|
|
30
|
+
* not on the concrete function, so a conformance fixture can supply a fake
|
|
31
|
+
* tmux without touching the verb logic.
|
|
32
|
+
*
|
|
33
|
+
* The optional `stdin` is the bytes piped to tmux's standard input — what
|
|
34
|
+
* `tmux load-buffer -b <name> -` reads to stage a paste buffer.
|
|
35
|
+
*/
|
|
36
|
+
export type TmuxRunner = (
|
|
37
|
+
args: readonly string[],
|
|
38
|
+
options?: { stdin?: string },
|
|
39
|
+
) => Promise<TmuxResult>
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Resolve the `tmux` executable. `CLAUDEMUX_TMUX` overrides it (the tests
|
|
43
|
+
* point it at a fake); otherwise it is plain `tmux`, found on `PATH` — the
|
|
44
|
+
* same way `bin/tm` invokes tmux.
|
|
45
|
+
*/
|
|
46
|
+
export function resolveTmuxBinary(): string {
|
|
47
|
+
const override = process.env.CLAUDEMUX_TMUX
|
|
48
|
+
if (override && override.length > 0) return override
|
|
49
|
+
return 'tmux'
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* The production `TmuxRunner`: spawn `tmux`, forward the argument vector
|
|
54
|
+
* verbatim, and capture exit code, stdout, and stderr without interpretation.
|
|
55
|
+
*/
|
|
56
|
+
export const runTmux: TmuxRunner = (args, options) =>
|
|
57
|
+
spawnCapture([resolveTmuxBinary(), ...args], options)
|