@machina.ai/cell-cli-core 1.10.0-rc1 → 1.13.0-rc1
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/dist/index.d.ts +5 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/package.json +13 -5
- package/dist/src/agents/codebase-investigator.js +2 -5
- package/dist/src/agents/codebase-investigator.js.map +1 -1
- package/dist/src/agents/executor.d.ts +19 -0
- package/dist/src/agents/executor.js +234 -46
- package/dist/src/agents/executor.js.map +1 -1
- package/dist/src/agents/executor.test.js +371 -40
- package/dist/src/agents/executor.test.js.map +1 -1
- package/dist/src/agents/registry.js +4 -3
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.test.js +2 -4
- package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
- package/dist/src/agents/types.d.ts +2 -1
- package/dist/src/agents/types.js +1 -0
- package/dist/src/agents/types.js.map +1 -1
- package/dist/src/code_assist/converter.d.ts +1 -0
- package/dist/src/code_assist/converter.js +1 -0
- package/dist/src/code_assist/converter.js.map +1 -1
- package/dist/src/code_assist/converter.test.js +19 -0
- package/dist/src/code_assist/converter.test.js.map +1 -1
- package/dist/src/code_assist/experiments/client_metadata.d.ts +12 -0
- package/dist/src/code_assist/experiments/client_metadata.js +49 -0
- package/dist/src/code_assist/experiments/client_metadata.js.map +1 -0
- package/dist/src/code_assist/experiments/experiments.d.ts +17 -0
- package/dist/src/code_assist/experiments/experiments.js +36 -0
- package/dist/src/code_assist/experiments/experiments.js.map +1 -0
- package/dist/src/code_assist/experiments/types.d.ts +35 -0
- package/dist/src/code_assist/experiments/types.js +7 -0
- package/dist/src/code_assist/experiments/types.js.map +1 -0
- package/dist/src/code_assist/oauth-credential-storage.js +5 -4
- package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
- package/dist/src/code_assist/oauth-credential-storage.test.js +15 -3
- package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +2 -2
- package/dist/src/code_assist/oauth2.js +64 -51
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +65 -33
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/server.d.ts +6 -4
- package/dist/src/code_assist/server.js +11 -0
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +17 -0
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/code_assist/setup.d.ts +2 -2
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/types.d.ts +1 -1
- package/dist/src/code_assist/types.js.map +1 -1
- package/dist/src/commands/extensions.d.ts +7 -0
- package/dist/src/commands/extensions.js +9 -0
- package/dist/src/commands/extensions.js.map +1 -0
- package/dist/src/commands/extensions.test.js +19 -0
- package/dist/src/commands/extensions.test.js.map +1 -0
- package/dist/src/config/config.d.ts +81 -32
- package/dist/src/config/config.js +193 -66
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +115 -36
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/models.d.ts +1 -1
- package/dist/src/config/models.js +2 -2
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/storage.d.ts +3 -0
- package/dist/src/config/storage.js +20 -0
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.d.ts +2 -1
- package/dist/src/confirmation-bus/message-bus.js +7 -1
- package/dist/src/confirmation-bus/message-bus.js.map +1 -1
- package/dist/src/confirmation-bus/types.d.ts +12 -2
- package/dist/src/confirmation-bus/types.js +1 -0
- package/dist/src/confirmation-bus/types.js.map +1 -1
- package/dist/src/core/apiKeyCredentialStorage.d.ts +17 -0
- package/dist/src/core/apiKeyCredentialStorage.js +64 -0
- package/dist/src/core/apiKeyCredentialStorage.js.map +1 -0
- package/dist/src/core/apiKeyCredentialStorage.test.d.ts +6 -0
- package/dist/src/core/apiKeyCredentialStorage.test.js +71 -0
- package/dist/src/core/apiKeyCredentialStorage.test.js.map +1 -0
- package/dist/src/core/client.d.ts +2 -11
- package/dist/src/core/client.js +31 -170
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +107 -429
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.js +64 -59
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +38 -4
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +8 -2
- package/dist/src/core/coreToolScheduler.js +337 -172
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +363 -12
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/fakeContentGenerator.d.ts +33 -0
- package/dist/src/core/fakeContentGenerator.js +58 -0
- package/dist/src/core/fakeContentGenerator.js.map +1 -0
- package/dist/src/core/fakeContentGenerator.test.d.ts +6 -0
- package/dist/src/core/fakeContentGenerator.test.js +127 -0
- package/dist/src/core/fakeContentGenerator.test.js.map +1 -0
- package/dist/src/core/geminiChat.d.ts +2 -0
- package/dist/src/core/geminiChat.js +7 -2
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +15 -3
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/logger.js +21 -19
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.d.ts +1 -0
- package/dist/src/core/loggingContentGenerator.js +113 -33
- package/dist/src/core/loggingContentGenerator.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.js +5 -4
- package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +3 -0
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/prompts.js +115 -72
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/prompts.test.js +30 -108
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/core/recordingContentGenerator.d.ts +18 -0
- package/dist/src/core/recordingContentGenerator.js +77 -0
- package/dist/src/core/recordingContentGenerator.js.map +1 -0
- package/dist/src/core/recordingContentGenerator.test.d.ts +6 -0
- package/dist/src/core/recordingContentGenerator.test.js +101 -0
- package/dist/src/core/recordingContentGenerator.test.js.map +1 -0
- package/dist/src/core/turn.d.ts +2 -0
- package/dist/src/core/turn.js +3 -1
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +48 -0
- package/dist/src/core/turn.test.js.map +1 -1
- package/dist/src/fallback/handler.js +2 -0
- package/dist/src/fallback/handler.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/hooks/hookPlanner.d.ts +46 -0
- package/dist/src/hooks/hookPlanner.js +108 -0
- package/dist/src/hooks/hookPlanner.js.map +1 -0
- package/dist/src/hooks/hookPlanner.test.d.ts +6 -0
- package/dist/src/hooks/hookPlanner.test.js +255 -0
- package/dist/src/hooks/hookPlanner.test.js.map +1 -0
- package/dist/src/hooks/hookRegistry.d.ts +87 -0
- package/dist/src/hooks/hookRegistry.js +198 -0
- package/dist/src/hooks/hookRegistry.js.map +1 -0
- package/dist/src/hooks/hookRegistry.test.d.ts +6 -0
- package/dist/src/hooks/hookRegistry.test.js +341 -0
- package/dist/src/hooks/hookRegistry.test.js.map +1 -0
- package/dist/src/hooks/hookTranslator.d.ts +113 -0
- package/dist/src/hooks/hookTranslator.js +232 -0
- package/dist/src/hooks/hookTranslator.js.map +1 -0
- package/dist/src/hooks/hookTranslator.test.d.ts +6 -0
- package/dist/src/hooks/hookTranslator.test.js +192 -0
- package/dist/src/hooks/hookTranslator.test.js.map +1 -0
- package/dist/src/hooks/types.d.ts +384 -0
- package/dist/src/hooks/types.js +284 -0
- package/dist/src/hooks/types.js.map +1 -0
- package/dist/src/hooks/types.test.d.ts +6 -0
- package/dist/src/hooks/types.test.js +35 -0
- package/dist/src/hooks/types.test.js.map +1 -0
- package/dist/src/ide/ide-client.js +2 -1
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/index.d.ts +15 -0
- package/dist/src/index.js +18 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/google-auth-provider.d.ts +2 -0
- package/dist/src/mcp/google-auth-provider.js +21 -3
- package/dist/src/mcp/google-auth-provider.js.map +1 -1
- package/dist/src/mcp/google-auth-provider.test.js +42 -9
- package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
- package/dist/src/mcp/mcpLauncher.d.ts +26 -0
- package/dist/src/mcp/mcpLauncher.js +238 -0
- package/dist/src/mcp/mcpLauncher.js.map +1 -0
- package/dist/src/mcp/oauth-provider.d.ts +8 -5
- package/dist/src/mcp/oauth-provider.js +140 -55
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +191 -2
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-token-storage.js +5 -4
- package/dist/src/mcp/oauth-token-storage.js.map +1 -1
- package/dist/src/mcp/oauth-token-storage.test.js +17 -11
- package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.d.ts +7 -0
- package/dist/src/mcp/oauth-utils.js +28 -8
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/oauth-utils.test.js +45 -2
- package/dist/src/mcp/oauth-utils.test.js.map +1 -1
- package/dist/src/mcp/sa-impersonation-provider.d.ts +0 -6
- package/dist/src/mcp/sa-impersonation-provider.js +6 -23
- package/dist/src/mcp/sa-impersonation-provider.js.map +1 -1
- package/dist/src/mcp/token-storage/base-token-storage.test.js +75 -84
- package/dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -1
- package/dist/src/mcp/token-storage/file-token-storage.js +1 -1
- package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/file-token-storage.test.js +7 -5
- package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.js +1 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.js +2 -2
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.d.ts +6 -2
- package/dist/src/mcp/token-storage/keychain-token-storage.js +63 -7
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.test.js +54 -3
- package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -1
- package/dist/src/mcp/token-storage/types.d.ts +6 -0
- package/dist/src/mcp/token-storage/types.js.map +1 -1
- package/dist/src/output/stream-json-formatter.d.ts +32 -0
- package/dist/src/output/stream-json-formatter.js +52 -0
- package/dist/src/output/stream-json-formatter.js.map +1 -0
- package/dist/src/output/stream-json-formatter.test.d.ts +6 -0
- package/dist/src/output/stream-json-formatter.test.js +479 -0
- package/dist/src/output/stream-json-formatter.test.js.map +1 -0
- package/dist/src/output/types.d.ts +63 -1
- package/dist/src/output/types.js +11 -0
- package/dist/src/output/types.js.map +1 -1
- package/dist/src/policy/config.d.ts +31 -0
- package/dist/src/policy/config.js +197 -0
- package/dist/src/policy/config.js.map +1 -0
- package/dist/src/policy/config.test.d.ts +6 -0
- package/dist/src/policy/config.test.js +404 -0
- package/dist/src/policy/config.test.js.map +1 -0
- package/dist/src/policy/index.d.ts +2 -0
- package/dist/src/policy/index.js +2 -0
- package/dist/src/policy/index.js.map +1 -1
- package/dist/src/policy/policies/read-only.toml +56 -0
- package/dist/src/policy/policies/write.toml +63 -0
- package/dist/src/policy/policies/yolo.toml +31 -0
- package/dist/src/policy/policy-engine.js +4 -0
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/toml-loader.d.ts +46 -0
- package/dist/src/policy/toml-loader.js +314 -0
- package/dist/src/policy/toml-loader.js.map +1 -0
- package/dist/src/policy/toml-loader.test.d.ts +6 -0
- package/dist/src/policy/toml-loader.test.js +522 -0
- package/dist/src/policy/toml-loader.test.js.map +1 -0
- package/dist/src/policy/types.d.ts +18 -0
- package/dist/src/policy/types.js +6 -0
- package/dist/src/policy/types.js.map +1 -1
- package/dist/src/prompts/prompt-registry.js +2 -1
- package/dist/src/prompts/prompt-registry.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.js +3 -2
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
- package/dist/src/services/chatCompressionService.d.ts +32 -0
- package/dist/src/services/chatCompressionService.js +162 -0
- package/dist/src/services/chatCompressionService.js.map +1 -0
- package/dist/src/services/chatCompressionService.test.d.ts +6 -0
- package/dist/src/services/chatCompressionService.test.js +209 -0
- package/dist/src/services/chatCompressionService.test.js.map +1 -0
- package/dist/src/services/chatRecordingService.js +9 -8
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/fileDiscoveryService.d.ts +2 -14
- package/dist/src/services/fileDiscoveryService.js +19 -55
- package/dist/src/services/fileDiscoveryService.js.map +1 -1
- package/dist/src/services/fileDiscoveryService.test.js +91 -11
- package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
- package/dist/src/services/loopDetectionService.d.ts +1 -1
- package/dist/src/services/loopDetectionService.js +27 -13
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/loopDetectionService.test.js +119 -11
- package/dist/src/services/loopDetectionService.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.js +50 -23
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +82 -15
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/telemetry/activity-monitor.d.ts +116 -0
- package/dist/src/telemetry/activity-monitor.js +209 -0
- package/dist/src/telemetry/activity-monitor.js.map +1 -0
- package/dist/src/telemetry/activity-monitor.test.d.ts +6 -0
- package/dist/src/telemetry/activity-monitor.test.js +248 -0
- package/dist/src/telemetry/activity-monitor.test.js.map +1 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +5 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +135 -57
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +43 -75
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +7 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +13 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/gcp-exporters.js +0 -1
- package/dist/src/telemetry/gcp-exporters.js.map +1 -1
- package/dist/src/telemetry/gcp-exporters.test.js +1 -1
- package/dist/src/telemetry/gcp-exporters.test.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +4 -2
- package/dist/src/telemetry/index.js +5 -3
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +2 -1
- package/dist/src/telemetry/loggers.js +37 -26
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +215 -56
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +55 -6
- package/dist/src/telemetry/metrics.js +89 -1
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +172 -213
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/sdk.js +3 -2
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/semantic.d.ts +82 -0
- package/dist/src/telemetry/semantic.js +269 -0
- package/dist/src/telemetry/semantic.js.map +1 -0
- package/dist/src/telemetry/semantic.test.d.ts +6 -0
- package/dist/src/telemetry/semantic.test.js +387 -0
- package/dist/src/telemetry/semantic.test.js.map +1 -0
- package/dist/src/telemetry/telemetry-utils.test.js +29 -28
- package/dist/src/telemetry/telemetry-utils.test.js.map +1 -1
- package/dist/src/telemetry/trace.d.ts +46 -0
- package/dist/src/telemetry/trace.js +121 -0
- package/dist/src/telemetry/trace.js.map +1 -0
- package/dist/src/telemetry/types.d.ts +79 -34
- package/dist/src/telemetry/types.js +191 -61
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.js +6 -6
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.test.js +88 -66
- package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
- package/dist/src/tools/edit.d.ts +3 -2
- package/dist/src/tools/edit.js +24 -19
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +78 -2
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/glob.d.ts +3 -2
- package/dist/src/tools/glob.js +15 -19
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/glob.test.js +203 -199
- package/dist/src/tools/glob.test.js.map +1 -1
- package/dist/src/tools/grep.d.ts +3 -2
- package/dist/src/tools/grep.js +22 -16
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/ls.d.ts +3 -2
- package/dist/src/tools/ls.js +15 -20
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +2 -9
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.d.ts +49 -11
- package/dist/src/tools/mcp-client-manager.js +209 -31
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +132 -25
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +5 -1
- package/dist/src/tools/mcp-client.js +85 -104
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +65 -6
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +5 -2
- package/dist/src/tools/mcp-tool.js +16 -8
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +6 -4
- package/dist/src/tools/memoryTool.js +13 -10
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/message-bus-integration.test.js +14 -1
- package/dist/src/tools/message-bus-integration.test.js.map +1 -1
- package/dist/src/tools/modifiable-tool.js +3 -2
- package/dist/src/tools/modifiable-tool.js.map +1 -1
- package/dist/src/tools/read-file.d.ts +4 -3
- package/dist/src/tools/read-file.js +16 -11
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +25 -2
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/read-many-files.d.ts +4 -3
- package/dist/src/tools/read-many-files.js +19 -37
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +0 -1
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/ripGrep.d.ts +3 -2
- package/dist/src/tools/ripGrep.js +47 -17
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +106 -60
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +7 -5
- package/dist/src/tools/shell.js +39 -68
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +69 -9
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/smart-edit.d.ts +3 -2
- package/dist/src/tools/smart-edit.js +30 -18
- package/dist/src/tools/smart-edit.js.map +1 -1
- package/dist/src/tools/smart-edit.test.js +62 -2
- package/dist/src/tools/smart-edit.test.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +8 -0
- package/dist/src/tools/tool-names.js +8 -5
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +6 -19
- package/dist/src/tools/tool-registry.js +14 -49
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +2 -24
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +22 -8
- package/dist/src/tools/tools.js +65 -36
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/web-fetch.d.ts +4 -3
- package/dist/src/tools/web-fetch.js +37 -25
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +262 -1
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.d.ts +4 -3
- package/dist/src/tools/web-search.js +8 -6
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +3 -2
- package/dist/src/tools/write-file.js +8 -8
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +1 -2
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/tools/write-todos.d.ts +4 -8
- package/dist/src/tools/write-todos.js +15 -6
- package/dist/src/tools/write-todos.js.map +1 -1
- package/dist/src/tools/write-todos.test.js +2 -2
- package/dist/src/tools/write-todos.test.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.js +3 -2
- package/dist/src/utils/bfsFileSearch.js.map +1 -1
- package/dist/src/utils/channel.d.ts +19 -0
- package/dist/src/utils/channel.js +49 -0
- package/dist/src/utils/channel.js.map +1 -0
- package/dist/src/utils/channel.test.d.ts +6 -0
- package/dist/src/utils/channel.test.js +170 -0
- package/dist/src/utils/channel.test.js.map +1 -0
- package/dist/src/utils/debugLogger.d.ts +25 -0
- package/dist/src/utils/debugLogger.js +33 -0
- package/dist/src/utils/debugLogger.js.map +1 -0
- package/dist/src/utils/debugLogger.test.d.ts +6 -0
- package/dist/src/utils/debugLogger.test.js +67 -0
- package/dist/src/utils/debugLogger.test.js.map +1 -0
- package/dist/src/utils/delay.d.ts +16 -0
- package/dist/src/utils/delay.js +43 -0
- package/dist/src/utils/delay.js.map +1 -0
- package/dist/src/utils/delay.test.d.ts +6 -0
- package/dist/src/utils/delay.test.js +88 -0
- package/dist/src/utils/delay.test.js.map +1 -0
- package/dist/src/utils/editCorrector.js +5 -9
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +3 -5
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/editor.js +33 -38
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/environmentContext.d.ts +2 -1
- package/dist/src/utils/environmentContext.js +18 -33
- package/dist/src/utils/environmentContext.js.map +1 -1
- package/dist/src/utils/environmentContext.test.js +0 -34
- package/dist/src/utils/environmentContext.test.js.map +1 -1
- package/dist/src/utils/errorParsing.d.ts +1 -1
- package/dist/src/utils/errorParsing.js +5 -33
- package/dist/src/utils/errorParsing.js.map +1 -1
- package/dist/src/utils/errorParsing.test.js +0 -88
- package/dist/src/utils/errorParsing.test.js.map +1 -1
- package/dist/src/utils/errors.d.ts +3 -0
- package/dist/src/utils/errors.js +6 -0
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/events.d.ts +88 -0
- package/dist/src/utils/events.js +77 -0
- package/dist/src/utils/events.js.map +1 -0
- package/dist/src/utils/events.test.d.ts +6 -0
- package/dist/src/utils/events.test.js +131 -0
- package/dist/src/utils/events.test.js.map +1 -0
- package/dist/src/utils/extensionLoader.d.ts +78 -0
- package/dist/src/utils/extensionLoader.js +162 -0
- package/dist/src/utils/extensionLoader.js.map +1 -0
- package/dist/src/utils/extensionLoader.test.d.ts +6 -0
- package/dist/src/utils/extensionLoader.test.js +90 -0
- package/dist/src/utils/extensionLoader.test.js.map +1 -0
- package/dist/src/utils/fetch.d.ts +1 -0
- package/dist/src/utils/fetch.js +4 -0
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/fileUtils.d.ts +4 -0
- package/dist/src/utils/fileUtils.js +34 -2
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +12 -1
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/flashFallback.test.js +26 -45
- package/dist/src/utils/flashFallback.test.js.map +1 -1
- package/dist/src/utils/getFolderStructure.js +9 -17
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.d.ts +4 -1
- package/dist/src/utils/gitIgnoreParser.js +28 -10
- package/dist/src/utils/gitIgnoreParser.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.test.js +58 -0
- package/dist/src/utils/gitIgnoreParser.test.js.map +1 -1
- package/dist/src/utils/googleErrors.d.ts +104 -0
- package/dist/src/utils/googleErrors.js +152 -0
- package/dist/src/utils/googleErrors.js.map +1 -0
- package/dist/src/utils/googleErrors.test.d.ts +6 -0
- package/dist/src/utils/googleErrors.test.js +301 -0
- package/dist/src/utils/googleErrors.test.js.map +1 -0
- package/dist/src/utils/googleQuotaErrors.d.ts +36 -0
- package/dist/src/utils/googleQuotaErrors.js +149 -0
- package/dist/src/utils/googleQuotaErrors.js.map +1 -0
- package/dist/src/utils/googleQuotaErrors.test.d.ts +6 -0
- package/dist/src/utils/googleQuotaErrors.test.js +311 -0
- package/dist/src/utils/googleQuotaErrors.test.js.map +1 -0
- package/dist/src/utils/ignorePatterns.test.js +26 -30
- package/dist/src/utils/ignorePatterns.test.js.map +1 -1
- package/dist/src/utils/installationManager.js +2 -1
- package/dist/src/utils/installationManager.js.map +1 -1
- package/dist/src/utils/installationManager.test.js +3 -3
- package/dist/src/utils/installationManager.test.js.map +1 -1
- package/dist/src/utils/llm-edit-fixer.d.ts +1 -1
- package/dist/src/utils/llm-edit-fixer.js +29 -4
- package/dist/src/utils/llm-edit-fixer.js.map +1 -1
- package/dist/src/utils/llm-edit-fixer.test.js +21 -0
- package/dist/src/utils/llm-edit-fixer.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.d.ts +11 -1
- package/dist/src/utils/memoryDiscovery.js +150 -11
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +157 -19
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/memoryImportProcessor.js +3 -2
- package/dist/src/utils/memoryImportProcessor.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.js +2 -1
- package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
- package/dist/src/utils/package.d.ts +12 -0
- package/dist/src/utils/package.js +15 -0
- package/dist/src/utils/package.js.map +1 -0
- package/dist/src/utils/paths.js +126 -26
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/paths.test.js +200 -68
- package/dist/src/utils/paths.test.js.map +1 -1
- package/dist/src/utils/quotaErrorDetection.d.ts +0 -2
- package/dist/src/utils/quotaErrorDetection.js +0 -46
- package/dist/src/utils/quotaErrorDetection.js.map +1 -1
- package/dist/src/utils/retry.d.ts +1 -0
- package/dist/src/utils/retry.js +57 -158
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +48 -109
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/safeJsonStringify.d.ts +4 -4
- package/dist/src/utils/safeJsonStringify.js +31 -7
- package/dist/src/utils/safeJsonStringify.js.map +1 -1
- package/dist/src/utils/shell-utils.d.ts +14 -2
- package/dist/src/utils/shell-utils.js +381 -136
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +242 -60
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/src/utils/summarizer.js +2 -1
- package/dist/src/utils/summarizer.js.map +1 -1
- package/dist/src/utils/summarizer.test.js +0 -1
- package/dist/src/utils/summarizer.test.js.map +1 -1
- package/dist/src/utils/systemEncoding.js +5 -4
- package/dist/src/utils/systemEncoding.js.map +1 -1
- package/dist/src/utils/tool-utils.d.ts +2 -2
- package/dist/src/utils/tool-utils.js +14 -5
- package/dist/src/utils/tool-utils.js.map +1 -1
- package/dist/src/utils/userAccountManager.js +5 -4
- package/dist/src/utils/userAccountManager.js.map +1 -1
- package/dist/src/utils/workspaceContext.js +3 -2
- package/dist/src/utils/workspaceContext.js.map +1 -1
- package/dist/src/utils/workspaceContext.test.js +2 -2
- package/dist/src/utils/workspaceContext.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -5
- package/dist/src/core/subagent.d.ts +0 -236
- package/dist/src/core/subagent.js +0 -482
- package/dist/src/core/subagent.js.map +0 -1
- package/dist/src/core/subagent.test.js +0 -556
- package/dist/src/core/subagent.test.js.map +0 -1
- /package/dist/src/{core/subagent.test.d.ts → commands/extensions.test.d.ts} +0 -0
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { fileURLToPath } from 'node:url';
|
|
7
|
+
import { execa } from 'execa';
|
|
8
|
+
import * as fs from 'node:fs';
|
|
9
|
+
import * as fsp from 'node:fs/promises';
|
|
10
|
+
import * as os from 'node:os';
|
|
11
|
+
import * as path from 'node:path';
|
|
12
|
+
import { Readable } from 'node:stream';
|
|
13
|
+
import * as lockfile from 'proper-lockfile';
|
|
14
|
+
import { rimraf } from 'rimraf';
|
|
15
|
+
import { extract } from 'tar';
|
|
16
|
+
import { getPackageJson } from '../utils/package.js';
|
|
17
|
+
/**
|
|
18
|
+
* A user-defined type guard to check if a config is a ManagedMcpConfig.
|
|
19
|
+
* @param config The config object to check.
|
|
20
|
+
* @returns True if the config is a ManagedMcpConfig.
|
|
21
|
+
*/
|
|
22
|
+
export function isManagedMcpConfig(config) {
|
|
23
|
+
return 'managed' in config;
|
|
24
|
+
}
|
|
25
|
+
async function fileExists(filePath) {
|
|
26
|
+
try {
|
|
27
|
+
await fsp.access(filePath);
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function setupUvEnvironment(log) {
|
|
35
|
+
const uvBinDir = path.join(os.homedir(), '.cell-cli', 'bin');
|
|
36
|
+
const uvBinaryName = process.platform === 'win32' ? 'uv.exe' : 'uv';
|
|
37
|
+
const uvPath = path.join(uvBinDir, uvBinaryName);
|
|
38
|
+
// Idempotency: If uv is already installed, return the path.
|
|
39
|
+
if (await fileExists(uvPath)) {
|
|
40
|
+
log('Found existing uv binary.');
|
|
41
|
+
return { pythonPath: uvPath, pipPath: uvPath };
|
|
42
|
+
}
|
|
43
|
+
log('Setting up uv environment...');
|
|
44
|
+
await fsp.mkdir(uvBinDir, { recursive: true });
|
|
45
|
+
log('Downloading and installing uv...');
|
|
46
|
+
if (process.platform === 'win32') {
|
|
47
|
+
const script = '& {irm https://astral.sh/uv/install.ps1 | iex}';
|
|
48
|
+
await execa('powershell', ['-ExecutionPolicy', 'Bypass', '-Command', script], {
|
|
49
|
+
env: { UV_INSTALL_DIR: uvBinDir },
|
|
50
|
+
stdio: 'pipe',
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const installScript = await fetch('https://astral.sh/uv/install.sh');
|
|
55
|
+
if (!installScript.ok || !installScript.body) {
|
|
56
|
+
throw new Error(`Failed to download uv install script: ${installScript.statusText}`);
|
|
57
|
+
}
|
|
58
|
+
const scriptContent = await installScript.text();
|
|
59
|
+
await execa('sh', ['-c', scriptContent], {
|
|
60
|
+
env: { UV_INSTALL_DIR: uvBinDir },
|
|
61
|
+
stdio: 'pipe',
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
if (!(await fileExists(uvPath))) {
|
|
65
|
+
throw new Error(`uv installation failed. Binary not found at ${uvPath}`);
|
|
66
|
+
}
|
|
67
|
+
log('uv environment is ready.');
|
|
68
|
+
return { pythonPath: uvPath, pipPath: uvPath };
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Ensures a valid Python environment is available for the MCP server,
|
|
72
|
+
* bootstrapping it if necessary.
|
|
73
|
+
* @returns A promise that resolves to the paths of the python and pip executables.
|
|
74
|
+
*/
|
|
75
|
+
async function ensurePythonEnvironment(log) {
|
|
76
|
+
return await setupUvEnvironment(log);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Manages the installation and configuration of a managed MCP server.
|
|
80
|
+
* This function is the core of the bootstrap logic.
|
|
81
|
+
*
|
|
82
|
+
* @param serverName The name of the server to manage (e.g., 'cell').
|
|
83
|
+
* @returns A promise that resolves to the McpConfig object for the server.
|
|
84
|
+
*/
|
|
85
|
+
export async function getManagedMcpConfig(serverName) {
|
|
86
|
+
const pkg = (await getPackageJson(path.dirname(fileURLToPath(import.meta.url))));
|
|
87
|
+
if (!pkg) {
|
|
88
|
+
// This is a fatal error for the managed server logic.
|
|
89
|
+
throw new Error('Could not find package.json in the project root.');
|
|
90
|
+
}
|
|
91
|
+
const baseDir = path.join(os.homedir(), '.cell-cli', 'mcp_servers', serverName);
|
|
92
|
+
await fsp.mkdir(baseDir, { recursive: true });
|
|
93
|
+
const statePath = path.join(baseDir, 'state.json');
|
|
94
|
+
// Idempotency check: If already installed and correct, return immediately.
|
|
95
|
+
if (await fileExists(statePath)) {
|
|
96
|
+
const state = JSON.parse(await fsp.readFile(statePath, 'utf-8'));
|
|
97
|
+
if (state.status === 'installed' &&
|
|
98
|
+
state.version === pkg.cellMcpServer.version &&
|
|
99
|
+
state.executablePath &&
|
|
100
|
+
(await fileExists(state.executablePath))) {
|
|
101
|
+
// No need to log anything if it's already correctly installed.
|
|
102
|
+
return {
|
|
103
|
+
command: state.executablePath,
|
|
104
|
+
args: [],
|
|
105
|
+
cwd: state.cwd,
|
|
106
|
+
stdio: true,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// --- Start Logging Only When Installation is Needed ---
|
|
111
|
+
const logDir = path.join(os.homedir(), '.cell-cli', 'logs');
|
|
112
|
+
await fsp.mkdir(logDir, { recursive: true });
|
|
113
|
+
const date = new Date().toISOString().split('T')[0];
|
|
114
|
+
const logPath = path.join(logDir, `mcp-${date}.log`);
|
|
115
|
+
const logStream = fs.createWriteStream(logPath, { flags: 'a' });
|
|
116
|
+
const log = (message) => {
|
|
117
|
+
const timestamp = new Date().toISOString();
|
|
118
|
+
const logMessage = `[${timestamp}] ${message}\n`;
|
|
119
|
+
logStream.write(logMessage);
|
|
120
|
+
process.stdout.write(logMessage);
|
|
121
|
+
};
|
|
122
|
+
log(`Bootstrapping managed MCP server: ${serverName}...`);
|
|
123
|
+
log(`Checking installation status at: ${statePath}`);
|
|
124
|
+
await lockfile.lock(baseDir, { retries: { retries: 3, factor: 1.2 } });
|
|
125
|
+
log('Acquired lock on installation directory.');
|
|
126
|
+
try {
|
|
127
|
+
// Re-check state after acquiring lock
|
|
128
|
+
if (await fileExists(statePath)) {
|
|
129
|
+
const state = JSON.parse(await fsp.readFile(statePath, 'utf-8'));
|
|
130
|
+
if (state.status === 'installed' &&
|
|
131
|
+
state.version === pkg.cellMcpServer.version &&
|
|
132
|
+
state.executablePath &&
|
|
133
|
+
(await fileExists(state.executablePath))) {
|
|
134
|
+
log(`${serverName} is already installed at version ${pkg.cellMcpServer.version}.`);
|
|
135
|
+
return {
|
|
136
|
+
command: state.executablePath,
|
|
137
|
+
args: [],
|
|
138
|
+
cwd: state.cwd,
|
|
139
|
+
stdio: true,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
log('Previous installation is outdated or incomplete. Proceeding with new installation.');
|
|
143
|
+
}
|
|
144
|
+
log(`Updating state file to 'installing': ${statePath}`);
|
|
145
|
+
await fsp.writeFile(statePath, JSON.stringify({ status: 'installing' }, null, 2));
|
|
146
|
+
const tempInstallDir = path.join(baseDir, `install_temp_${Date.now()}`);
|
|
147
|
+
const finalInstallDir = path.join(baseDir, 'server');
|
|
148
|
+
log(`Creating temporary installation directory: ${tempInstallDir}`);
|
|
149
|
+
await fsp.mkdir(tempInstallDir, { recursive: true });
|
|
150
|
+
const venvPath = path.join(tempInstallDir, '.zen_venv');
|
|
151
|
+
try {
|
|
152
|
+
log('Ensuring Python environment is available...');
|
|
153
|
+
const { pythonPath } = await ensurePythonEnvironment(log);
|
|
154
|
+
log(`Using Python executable at: ${pythonPath}`);
|
|
155
|
+
const archiveUrl = `${pkg.cellMcpServer.repositoryUrl}/archive/refs/tags/${pkg.cellMcpServer.version}.tar.gz`;
|
|
156
|
+
log(`Downloading and extracting ${archiveUrl}...`);
|
|
157
|
+
const response = await fetch(archiveUrl);
|
|
158
|
+
if (!response.ok) {
|
|
159
|
+
throw new Error(`Failed to download: ${response.statusText}`);
|
|
160
|
+
}
|
|
161
|
+
if (!response.body) {
|
|
162
|
+
throw new Error('Download response has no body');
|
|
163
|
+
}
|
|
164
|
+
// The response body is a stream. We need to convert it from a Web Stream
|
|
165
|
+
// to a Node.js stream before piping it to tar.
|
|
166
|
+
await new Promise((resolve, reject) => {
|
|
167
|
+
Readable.fromWeb(response.body)
|
|
168
|
+
.pipe(extract({
|
|
169
|
+
cwd: tempInstallDir,
|
|
170
|
+
strip: 1, // Remove the top-level directory from the tarball
|
|
171
|
+
}))
|
|
172
|
+
.on('finish', resolve)
|
|
173
|
+
.on('error', reject);
|
|
174
|
+
});
|
|
175
|
+
log('Creating dedicated virtual environment...');
|
|
176
|
+
const pythonVersion = '3.13.3';
|
|
177
|
+
log(`Creating venv with Python ${pythonVersion}...`);
|
|
178
|
+
await execa(pythonPath, ['venv', venvPath, '--python', pythonVersion], {
|
|
179
|
+
cwd: tempInstallDir,
|
|
180
|
+
});
|
|
181
|
+
log('Installing dependencies from requirements.txt with uv...');
|
|
182
|
+
await execa(pythonPath, ['pip', 'install', '-r', 'requirements.txt'], {
|
|
183
|
+
cwd: tempInstallDir,
|
|
184
|
+
env: {
|
|
185
|
+
VIRTUAL_ENV: venvPath,
|
|
186
|
+
},
|
|
187
|
+
});
|
|
188
|
+
log(`Installation successful. Moving ${tempInstallDir} to ${finalInstallDir}`);
|
|
189
|
+
if (await fileExists(finalInstallDir)) {
|
|
190
|
+
await rimraf(finalInstallDir);
|
|
191
|
+
}
|
|
192
|
+
await fsp.rename(tempInstallDir, finalInstallDir);
|
|
193
|
+
const executableName = process.platform === 'win32'
|
|
194
|
+
? 'cell-mcp-server.bat'
|
|
195
|
+
: 'cell-mcp-server';
|
|
196
|
+
const finalExecutablePath = path.join(finalInstallDir, executableName);
|
|
197
|
+
const newState = {
|
|
198
|
+
status: 'installed',
|
|
199
|
+
version: pkg.cellMcpServer.version,
|
|
200
|
+
executablePath: finalExecutablePath,
|
|
201
|
+
cwd: finalInstallDir,
|
|
202
|
+
failureCount: 0,
|
|
203
|
+
};
|
|
204
|
+
log(`Updating state file to 'installed': ${statePath}`);
|
|
205
|
+
await fsp.writeFile(statePath, JSON.stringify(newState, null, 2));
|
|
206
|
+
return {
|
|
207
|
+
command: finalExecutablePath,
|
|
208
|
+
args: [],
|
|
209
|
+
cwd: finalInstallDir,
|
|
210
|
+
stdio: true,
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
const state = (await fileExists(statePath))
|
|
215
|
+
? JSON.parse(await fsp.readFile(statePath, 'utf-8'))
|
|
216
|
+
: {};
|
|
217
|
+
const failureCount = (state.failureCount || 0) + 1;
|
|
218
|
+
const newState = {
|
|
219
|
+
status: 'failed',
|
|
220
|
+
failureCount,
|
|
221
|
+
lastAttempt: new Date().toISOString(),
|
|
222
|
+
};
|
|
223
|
+
log(`Installation failed. Updating state file to 'failed': ${statePath}`);
|
|
224
|
+
await fsp.writeFile(statePath, JSON.stringify(newState, null, 2));
|
|
225
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
226
|
+
log(`Error details: ${errorMessage}`);
|
|
227
|
+
log(`Cleaning up temporary directory: ${tempInstallDir}`);
|
|
228
|
+
await rimraf(tempInstallDir);
|
|
229
|
+
throw new Error(`Failed to bootstrap '${serverName}'. Details logged to ${logPath}`);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
finally {
|
|
233
|
+
log('Releasing lock on installation directory.');
|
|
234
|
+
await lockfile.unlock(baseDir);
|
|
235
|
+
logStream.end();
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=mcpLauncher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpLauncher.js","sourceRoot":"","sources":["../../../src/mcp/mcpLauncher.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ export interface OAuthTokenResponse {
|
|
|
40
40
|
scope?: string;
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
* Dynamic client registration request.
|
|
43
|
+
* Dynamic client registration request (RFC 7591).
|
|
44
44
|
*/
|
|
45
45
|
export interface OAuthClientRegistrationRequest {
|
|
46
46
|
client_name: string;
|
|
@@ -48,11 +48,10 @@ export interface OAuthClientRegistrationRequest {
|
|
|
48
48
|
grant_types: string[];
|
|
49
49
|
response_types: string[];
|
|
50
50
|
token_endpoint_auth_method: string;
|
|
51
|
-
code_challenge_method?: string[];
|
|
52
51
|
scope?: string;
|
|
53
52
|
}
|
|
54
53
|
/**
|
|
55
|
-
* Dynamic client registration response.
|
|
54
|
+
* Dynamic client registration response (RFC 7591).
|
|
56
55
|
*/
|
|
57
56
|
export interface OAuthClientRegistrationResponse {
|
|
58
57
|
client_id: string;
|
|
@@ -63,7 +62,6 @@ export interface OAuthClientRegistrationResponse {
|
|
|
63
62
|
grant_types: string[];
|
|
64
63
|
response_types: string[];
|
|
65
64
|
token_endpoint_auth_method: string;
|
|
66
|
-
code_challenge_method?: string[];
|
|
67
65
|
scope?: string;
|
|
68
66
|
}
|
|
69
67
|
/**
|
|
@@ -77,6 +75,7 @@ export declare class MCPOAuthProvider {
|
|
|
77
75
|
*
|
|
78
76
|
* @param registrationUrl The client registration endpoint URL
|
|
79
77
|
* @param config OAuth configuration
|
|
78
|
+
* @param redirectPort The port to use for the redirect URI
|
|
80
79
|
* @returns The registered client information
|
|
81
80
|
*/
|
|
82
81
|
private registerClient;
|
|
@@ -87,6 +86,7 @@ export declare class MCPOAuthProvider {
|
|
|
87
86
|
* @returns OAuth configuration if discovered, null otherwise
|
|
88
87
|
*/
|
|
89
88
|
private discoverOAuthFromMCPServer;
|
|
89
|
+
private discoverAuthServerMetadataForRegistration;
|
|
90
90
|
/**
|
|
91
91
|
* Generate PKCE parameters for OAuth flow.
|
|
92
92
|
*
|
|
@@ -95,9 +95,10 @@ export declare class MCPOAuthProvider {
|
|
|
95
95
|
private generatePKCEParams;
|
|
96
96
|
/**
|
|
97
97
|
* Start a local HTTP server to handle OAuth callback.
|
|
98
|
+
* The server will listen on the specified port (or port 0 for OS assignment).
|
|
98
99
|
*
|
|
99
100
|
* @param expectedState The state parameter to validate
|
|
100
|
-
* @returns
|
|
101
|
+
* @returns Object containing the port (available immediately) and a promise for the auth response
|
|
101
102
|
*/
|
|
102
103
|
private startCallbackServer;
|
|
103
104
|
/**
|
|
@@ -105,6 +106,7 @@ export declare class MCPOAuthProvider {
|
|
|
105
106
|
*
|
|
106
107
|
* @param config OAuth configuration
|
|
107
108
|
* @param pkceParams PKCE parameters
|
|
109
|
+
* @param redirectPort The port to use for the redirect URI
|
|
108
110
|
* @param mcpServerUrl The MCP server URL to use as the resource parameter
|
|
109
111
|
* @returns The authorization URL
|
|
110
112
|
*/
|
|
@@ -115,6 +117,7 @@ export declare class MCPOAuthProvider {
|
|
|
115
117
|
* @param config OAuth configuration
|
|
116
118
|
* @param code Authorization code
|
|
117
119
|
* @param codeVerifier PKCE code verifier
|
|
120
|
+
* @param redirectPort The port to use for the redirect URI
|
|
118
121
|
* @param mcpServerUrl The MCP server URL to use as the resource parameter
|
|
119
122
|
* @returns The token response
|
|
120
123
|
*/
|