@google/gemini-cli-core 0.34.0-preview.3 → 0.35.0-nightly.20260314.3038fdce2
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/docs/changelogs/index.md +19 -0
- package/dist/docs/changelogs/latest.md +217 -191
- package/dist/docs/changelogs/preview.md +447 -184
- package/dist/docs/cli/model-routing.md +18 -1
- package/dist/docs/cli/model-steering.md +79 -0
- package/dist/docs/cli/plan-mode.md +99 -14
- package/dist/docs/cli/settings.md +14 -12
- package/dist/docs/cli/telemetry.md +45 -0
- package/dist/docs/cli/tutorials/plan-mode-steering.md +89 -0
- package/dist/docs/core/index.md +2 -0
- package/dist/docs/core/local-model-routing.md +193 -0
- package/dist/docs/reference/configuration.md +27 -3
- package/dist/docs/reference/keyboard-shortcuts.md +168 -90
- package/dist/docs/reference/policy-engine.md +30 -6
- package/dist/docs/resources/troubleshooting.md +15 -0
- package/dist/docs/sidebar.json +10 -0
- package/dist/docs/tools/shell.md +8 -0
- package/dist/google-gemini-cli-core-0.35.0-nightly.20260311.657f19c1f.tgz +0 -0
- package/dist/src/agents/a2a-client-manager.d.ts +11 -4
- package/dist/src/agents/a2a-client-manager.js +61 -34
- package/dist/src/agents/a2a-client-manager.js.map +1 -1
- package/dist/src/agents/a2a-client-manager.test.js +178 -115
- package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
- package/dist/src/agents/a2aUtils.d.ts +4 -28
- package/dist/src/agents/a2aUtils.js +20 -181
- package/dist/src/agents/a2aUtils.js.map +1 -1
- package/dist/src/agents/a2aUtils.test.js +19 -106
- package/dist/src/agents/a2aUtils.test.js.map +1 -1
- package/dist/src/agents/agent-scheduler.d.ts +2 -0
- package/dist/src/agents/agent-scheduler.js +3 -2
- package/dist/src/agents/agent-scheduler.js.map +1 -1
- package/dist/src/agents/agent-scheduler.test.js +12 -3
- package/dist/src/agents/agent-scheduler.test.js.map +1 -1
- package/dist/src/agents/agentLoader.d.ts +2 -2
- package/dist/src/agents/agentLoader.js +15 -0
- package/dist/src/agents/agentLoader.js.map +1 -1
- package/dist/src/agents/auth-provider/factory.d.ts +2 -0
- package/dist/src/agents/auth-provider/factory.js +6 -3
- package/dist/src/agents/auth-provider/factory.js.map +1 -1
- package/dist/src/agents/auth-provider/google-credentials-provider.d.ts +26 -0
- package/dist/src/agents/auth-provider/google-credentials-provider.js +117 -0
- package/dist/src/agents/auth-provider/google-credentials-provider.js.map +1 -0
- package/dist/src/agents/auth-provider/google-credentials-provider.test.d.ts +6 -0
- package/dist/src/agents/auth-provider/google-credentials-provider.test.js +126 -0
- package/dist/src/agents/auth-provider/google-credentials-provider.test.js.map +1 -0
- package/dist/src/agents/browser/browserAgentFactory.js +11 -2
- package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.d.ts +4 -3
- package/dist/src/agents/browser/browserAgentInvocation.js +10 -4
- package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
- package/dist/src/agents/browser/browserAgentInvocation.test.js +1 -0
- package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
- package/dist/src/agents/browser/browserManager.d.ts +10 -0
- package/dist/src/agents/browser/browserManager.js +53 -8
- package/dist/src/agents/browser/browserManager.js.map +1 -1
- package/dist/src/agents/browser/inputBlocker.d.ts +51 -0
- package/dist/src/agents/browser/inputBlocker.js +234 -0
- package/dist/src/agents/browser/inputBlocker.js.map +1 -0
- package/dist/src/agents/browser/inputBlocker.test.d.ts +6 -0
- package/dist/src/agents/browser/inputBlocker.test.js +82 -0
- package/dist/src/agents/browser/inputBlocker.test.js.map +1 -0
- package/dist/src/agents/browser/mcpToolWrapper.d.ts +3 -2
- package/dist/src/agents/browser/mcpToolWrapper.js +49 -8
- package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
- package/dist/src/agents/browser/mcpToolWrapper.test.js +51 -0
- package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -1
- package/dist/src/agents/local-executor.d.ts +5 -4
- package/dist/src/agents/local-executor.js +30 -25
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/local-executor.test.js +269 -3
- package/dist/src/agents/local-executor.test.js.map +1 -1
- package/dist/src/agents/local-invocation.d.ts +4 -4
- package/dist/src/agents/local-invocation.js +12 -9
- package/dist/src/agents/local-invocation.js.map +1 -1
- package/dist/src/agents/local-invocation.test.js +19 -3
- package/dist/src/agents/local-invocation.test.js.map +1 -1
- package/dist/src/agents/registry.js +3 -2
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +1 -0
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/remote-invocation.d.ts +0 -9
- package/dist/src/agents/remote-invocation.js +1 -28
- package/dist/src/agents/remote-invocation.js.map +1 -1
- package/dist/src/agents/remote-invocation.test.js +1 -0
- package/dist/src/agents/remote-invocation.test.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.d.ts +5 -4
- package/dist/src/agents/subagent-tool-wrapper.js +9 -5
- package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.test.js +15 -1
- package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
- package/dist/src/agents/subagent-tool.d.ts +3 -3
- package/dist/src/agents/subagent-tool.js +16 -12
- package/dist/src/agents/subagent-tool.js.map +1 -1
- package/dist/src/agents/subagent-tool.test.js +13 -3
- package/dist/src/agents/subagent-tool.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.js +0 -1
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/server.js +2 -2
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +5 -1
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/code_assist/telemetry.d.ts +2 -2
- package/dist/src/code_assist/telemetry.js +5 -3
- package/dist/src/code_assist/telemetry.js.map +1 -1
- package/dist/src/code_assist/telemetry.test.js +14 -12
- package/dist/src/code_assist/telemetry.test.js.map +1 -1
- package/dist/src/code_assist/types.d.ts +14 -12
- package/dist/src/code_assist/types.js.map +1 -1
- package/dist/src/config/agent-loop-context.d.ts +3 -0
- package/dist/src/config/config.d.ts +75 -2
- package/dist/src/config/config.js +78 -11
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +170 -10
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/models.d.ts +14 -0
- package/dist/src/config/models.js +37 -0
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +51 -1
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +1 -0
- package/dist/src/config/storage.js +3 -0
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/core/baseLlmClient.js +19 -3
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +2 -0
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.d.ts +4 -3
- package/dist/src/core/client.js +42 -17
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +8 -0
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +1 -0
- package/dist/src/core/contentGenerator.js +35 -3
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +137 -2
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.d.ts +2 -3
- package/dist/src/core/coreToolHookTriggers.js +5 -11
- package/dist/src/core/coreToolHookTriggers.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.test.js +24 -0
- package/dist/src/core/coreToolHookTriggers.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.js +1 -1
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/geminiChat.js +31 -21
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +6 -4
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChat_network_retry.test.js +21 -11
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
- package/dist/src/fallback/handler.js +0 -4
- package/dist/src/fallback/handler.js.map +1 -1
- package/dist/src/fallback/handler.test.js +0 -6
- package/dist/src/fallback/handler.test.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/generated/git-commit.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +8 -0
- package/dist/src/ide/detect-ide.js +12 -1
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +12 -0
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-installer.js +20 -8
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +60 -4
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js +0 -2
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-token-storage.test.js +6 -10
- package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.js +0 -2
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/token-storage/file-token-storage.d.ts +24 -0
- package/dist/src/mcp/token-storage/file-token-storage.js +152 -0
- package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/file-token-storage.test.d.ts +6 -0
- package/dist/src/mcp/token-storage/file-token-storage.test.js +276 -0
- package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.js +21 -9
- package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.js +59 -10
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +1 -1
- package/dist/src/mcp/token-storage/index.d.ts +1 -1
- package/dist/src/mcp/token-storage/index.js +1 -1
- package/dist/src/mcp/token-storage/index.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.d.ts +0 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js +0 -3
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
- package/dist/src/policy/config.d.ts +14 -2
- package/dist/src/policy/config.js +94 -49
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/config.test.js +208 -488
- package/dist/src/policy/config.test.js.map +1 -1
- package/dist/src/policy/policies/plan.toml +1 -1
- package/dist/src/policy/stable-stringify.js +15 -5
- package/dist/src/policy/stable-stringify.js.map +1 -1
- package/dist/src/policy/types.d.ts +1 -0
- package/dist/src/policy/types.js.map +1 -1
- package/dist/src/policy/utils.d.ts +17 -0
- package/dist/src/policy/utils.js +27 -7
- package/dist/src/policy/utils.js.map +1 -1
- package/dist/src/prompts/snippets.js +2 -1
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/prompts/utils.test.d.ts +6 -0
- package/dist/src/prompts/utils.test.js +225 -0
- package/dist/src/prompts/utils.test.js.map +1 -0
- package/dist/src/routing/modelRouterService.js +2 -2
- package/dist/src/routing/modelRouterService.js.map +1 -1
- package/dist/src/routing/modelRouterService.test.js +4 -3
- package/dist/src/routing/modelRouterService.test.js.map +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.js +6 -40
- package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +29 -64
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
- package/dist/src/scheduler/policy.d.ts +3 -7
- package/dist/src/scheduler/policy.js +4 -3
- package/dist/src/scheduler/policy.js.map +1 -1
- package/dist/src/scheduler/policy.test.js +51 -31
- package/dist/src/scheduler/policy.test.js.map +1 -1
- package/dist/src/scheduler/scheduler.d.ts +4 -2
- package/dist/src/scheduler/scheduler.js +19 -16
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/scheduler/scheduler.test.js +33 -10
- package/dist/src/scheduler/scheduler.test.js.map +1 -1
- package/dist/src/scheduler/scheduler_parallel.test.js +40 -2
- package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
- package/dist/src/scheduler/scheduler_waiting_callback.test.js +1 -1
- package/dist/src/scheduler/scheduler_waiting_callback.test.js.map +1 -1
- package/dist/src/scheduler/tool-executor.d.ts +3 -3
- package/dist/src/scheduler/tool-executor.js +15 -21
- package/dist/src/scheduler/tool-executor.js.map +1 -1
- package/dist/src/scheduler/tool-executor.test.js +43 -8
- package/dist/src/scheduler/tool-executor.test.js.map +1 -1
- package/dist/src/services/chatRecordingService.js +2 -1
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/chatRecordingService.test.js +21 -0
- package/dist/src/services/chatRecordingService.test.js.map +1 -1
- package/dist/src/services/executionLifecycleService.d.ts +83 -0
- package/dist/src/services/executionLifecycleService.js +271 -0
- package/dist/src/services/executionLifecycleService.js.map +1 -0
- package/dist/src/services/executionLifecycleService.test.d.ts +6 -0
- package/dist/src/services/executionLifecycleService.test.js +227 -0
- package/dist/src/services/executionLifecycleService.test.js.map +1 -0
- package/dist/src/services/keychainService.d.ts +0 -5
- package/dist/src/services/keychainService.js +13 -30
- package/dist/src/services/keychainService.js.map +1 -1
- package/dist/src/services/keychainService.test.js +22 -52
- package/dist/src/services/keychainService.test.js.map +1 -1
- package/dist/src/services/sandboxManager.d.ts +54 -0
- package/dist/src/services/sandboxManager.js +30 -0
- package/dist/src/services/sandboxManager.js.map +1 -0
- package/dist/src/services/sandboxManager.test.d.ts +6 -0
- package/dist/src/services/sandboxManager.test.js +95 -0
- package/dist/src/services/sandboxManager.test.js.map +1 -0
- package/dist/src/services/shellExecutionService.d.ts +4 -52
- package/dist/src/services/shellExecutionService.js +437 -498
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +10 -21
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +13 -2
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +91 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +77 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +10 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +25 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +3 -3
- package/dist/src/telemetry/index.js +3 -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 +32 -1
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +37 -2
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +13 -0
- package/dist/src/telemetry/metrics.js +17 -0
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/startupProfiler.js +4 -4
- package/dist/src/telemetry/startupProfiler.js.map +1 -1
- package/dist/src/telemetry/startupProfiler.test.js +19 -0
- package/dist/src/telemetry/startupProfiler.test.js.map +1 -1
- package/dist/src/telemetry/telemetry-utils.test.js +3 -3
- package/dist/src/telemetry/types.d.ts +16 -2
- package/dist/src/telemetry/types.js +34 -0
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.d.ts +7 -0
- package/dist/src/telemetry/uiTelemetry.js +78 -0
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.test.js +101 -0
- package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
- package/dist/src/tools/exit-plan-mode.js +10 -2
- package/dist/src/tools/exit-plan-mode.js.map +1 -1
- package/dist/src/tools/exit-plan-mode.test.js +15 -0
- package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
- package/dist/src/tools/ls.js +2 -2
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/mcp-client.js +0 -1
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +4 -0
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +10 -1
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/read-many-files.js +2 -4
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/shell.d.ts +1 -1
- package/dist/src/tools/shell.js +3 -3
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +4 -0
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +34 -1
- package/dist/src/tools/tools.js +47 -1
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/web-fetch.d.ts +5 -0
- package/dist/src/tools/web-fetch.js +177 -100
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +130 -26
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.test.js +2 -0
- package/dist/src/tools/web-search.test.js.map +1 -1
- package/dist/src/utils/fetch.d.ts +0 -29
- package/dist/src/utils/fetch.js +10 -123
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/fetch.test.js +1 -103
- package/dist/src/utils/fetch.test.js.map +1 -1
- package/dist/src/utils/language-detection.js +96 -89
- package/dist/src/utils/language-detection.js.map +1 -1
- package/dist/src/utils/language-detection.test.d.ts +6 -0
- package/dist/src/utils/language-detection.test.js +39 -0
- package/dist/src/utils/language-detection.test.js.map +1 -0
- package/dist/src/utils/oauth-flow.js +0 -2
- package/dist/src/utils/oauth-flow.js.map +1 -1
- package/dist/src/utils/paths.js +5 -2
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/paths.test.js +11 -0
- package/dist/src/utils/paths.test.js.map +1 -1
- package/dist/src/utils/process-utils.js +18 -4
- package/dist/src/utils/process-utils.js.map +1 -1
- package/dist/src/utils/process-utils.test.js +32 -10
- package/dist/src/utils/process-utils.test.js.map +1 -1
- package/dist/src/utils/retry.d.ts +7 -0
- package/dist/src/utils/retry.js +40 -3
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +13 -0
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/summarizer.test.js +5 -0
- package/dist/src/utils/summarizer.test.js.map +1 -1
- package/dist/src/utils/surface.d.ts +18 -0
- package/dist/src/utils/surface.js +46 -0
- package/dist/src/utils/surface.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/google-gemini-cli-core-0.34.0-preview.2.tgz +0 -0
- package/dist/src/services/fileKeychain.d.ts +0 -24
- package/dist/src/services/fileKeychain.js +0 -123
- package/dist/src/services/fileKeychain.js.map +0 -1
|
@@ -31,7 +31,7 @@ describe('policy.ts', () => {
|
|
|
31
31
|
};
|
|
32
32
|
const result = await checkPolicy(toolCall, mockConfig);
|
|
33
33
|
expect(result.decision).toBe(PolicyDecision.ALLOW);
|
|
34
|
-
expect(mockPolicyEngine.check).toHaveBeenCalledWith({ name: 'test-tool', args: {} }, undefined, undefined);
|
|
34
|
+
expect(mockPolicyEngine.check).toHaveBeenCalledWith({ name: 'test-tool', args: {} }, undefined, undefined, undefined);
|
|
35
35
|
});
|
|
36
36
|
it('should pass serverName and toolAnnotations for MCP tools', async () => {
|
|
37
37
|
const mockPolicyEngine = {
|
|
@@ -50,7 +50,7 @@ describe('policy.ts', () => {
|
|
|
50
50
|
tool: mcpTool,
|
|
51
51
|
};
|
|
52
52
|
await checkPolicy(toolCall, mockConfig);
|
|
53
|
-
expect(mockPolicyEngine.check).toHaveBeenCalledWith({ name: 'mcp-tool', args: {} }, 'my-server', { readOnlyHint: true });
|
|
53
|
+
expect(mockPolicyEngine.check).toHaveBeenCalledWith({ name: 'mcp-tool', args: {} }, 'my-server', { readOnlyHint: true }, undefined);
|
|
54
54
|
});
|
|
55
55
|
it('should throw if ASK_USER is returned in non-interactive mode', async () => {
|
|
56
56
|
const mockPolicyEngine = {
|
|
@@ -141,8 +141,10 @@ describe('policy.ts', () => {
|
|
|
141
141
|
const mockMessageBus = {
|
|
142
142
|
publish: vi.fn(),
|
|
143
143
|
};
|
|
144
|
+
mockConfig.messageBus =
|
|
145
|
+
mockMessageBus;
|
|
144
146
|
const tool = { name: 'replace' }; // 'replace' is in EDIT_TOOL_NAMES
|
|
145
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlways, undefined,
|
|
147
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlways, undefined, mockConfig);
|
|
146
148
|
expect(mockConfig.setApprovalMode).toHaveBeenCalledWith(ApprovalMode.AUTO_EDIT);
|
|
147
149
|
expect(mockMessageBus.publish).not.toHaveBeenCalled();
|
|
148
150
|
});
|
|
@@ -155,8 +157,10 @@ describe('policy.ts', () => {
|
|
|
155
157
|
const mockMessageBus = {
|
|
156
158
|
publish: vi.fn(),
|
|
157
159
|
};
|
|
160
|
+
mockConfig.messageBus =
|
|
161
|
+
mockMessageBus;
|
|
158
162
|
const tool = { name: 'test-tool' };
|
|
159
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlways, undefined,
|
|
163
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlways, undefined, mockConfig);
|
|
160
164
|
expect(mockMessageBus.publish).toHaveBeenCalledWith(expect.objectContaining({
|
|
161
165
|
type: MessageBusType.UPDATE_POLICY,
|
|
162
166
|
toolName: 'test-tool',
|
|
@@ -174,8 +178,10 @@ describe('policy.ts', () => {
|
|
|
174
178
|
const mockMessageBus = {
|
|
175
179
|
publish: vi.fn(),
|
|
176
180
|
};
|
|
181
|
+
mockConfig.messageBus =
|
|
182
|
+
mockMessageBus;
|
|
177
183
|
const tool = { name: 'test-tool' };
|
|
178
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysAndSave, undefined,
|
|
184
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysAndSave, undefined, mockConfig);
|
|
179
185
|
expect(mockMessageBus.publish).toHaveBeenCalledWith(expect.objectContaining({
|
|
180
186
|
type: MessageBusType.UPDATE_POLICY,
|
|
181
187
|
toolName: 'test-tool',
|
|
@@ -191,6 +197,8 @@ describe('policy.ts', () => {
|
|
|
191
197
|
const mockMessageBus = {
|
|
192
198
|
publish: vi.fn(),
|
|
193
199
|
};
|
|
200
|
+
mockConfig.messageBus =
|
|
201
|
+
mockMessageBus;
|
|
194
202
|
const tool = { name: 'run_shell_command' };
|
|
195
203
|
const details = {
|
|
196
204
|
type: 'exec',
|
|
@@ -200,10 +208,7 @@ describe('policy.ts', () => {
|
|
|
200
208
|
title: 'Shell',
|
|
201
209
|
onConfirm: vi.fn(),
|
|
202
210
|
};
|
|
203
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlways, details,
|
|
204
|
-
config: mockConfig,
|
|
205
|
-
messageBus: mockMessageBus,
|
|
206
|
-
});
|
|
211
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlways, details, mockConfig);
|
|
207
212
|
expect(mockMessageBus.publish).toHaveBeenCalledWith(expect.objectContaining({
|
|
208
213
|
type: MessageBusType.UPDATE_POLICY,
|
|
209
214
|
toolName: 'run_shell_command',
|
|
@@ -219,6 +224,8 @@ describe('policy.ts', () => {
|
|
|
219
224
|
const mockMessageBus = {
|
|
220
225
|
publish: vi.fn(),
|
|
221
226
|
};
|
|
227
|
+
mockConfig.messageBus =
|
|
228
|
+
mockMessageBus;
|
|
222
229
|
const tool = { name: 'mcp-tool' };
|
|
223
230
|
const details = {
|
|
224
231
|
type: 'mcp',
|
|
@@ -228,7 +235,7 @@ describe('policy.ts', () => {
|
|
|
228
235
|
title: 'MCP',
|
|
229
236
|
onConfirm: vi.fn(),
|
|
230
237
|
};
|
|
231
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysServer, details,
|
|
238
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysServer, details, mockConfig);
|
|
232
239
|
expect(mockMessageBus.publish).toHaveBeenCalledWith(expect.objectContaining({
|
|
233
240
|
type: MessageBusType.UPDATE_POLICY,
|
|
234
241
|
toolName: 'my-server__*',
|
|
@@ -245,11 +252,10 @@ describe('policy.ts', () => {
|
|
|
245
252
|
const mockMessageBus = {
|
|
246
253
|
publish: vi.fn(),
|
|
247
254
|
};
|
|
255
|
+
mockConfig.messageBus =
|
|
256
|
+
mockMessageBus;
|
|
248
257
|
const tool = { name: 'test-tool' };
|
|
249
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ProceedOnce, undefined,
|
|
250
|
-
config: mockConfig,
|
|
251
|
-
messageBus: mockMessageBus,
|
|
252
|
-
});
|
|
258
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ProceedOnce, undefined, mockConfig);
|
|
253
259
|
expect(mockMessageBus.publish).not.toHaveBeenCalled();
|
|
254
260
|
expect(mockConfig.setApprovalMode).not.toHaveBeenCalled();
|
|
255
261
|
});
|
|
@@ -262,11 +268,10 @@ describe('policy.ts', () => {
|
|
|
262
268
|
const mockMessageBus = {
|
|
263
269
|
publish: vi.fn(),
|
|
264
270
|
};
|
|
271
|
+
mockConfig.messageBus =
|
|
272
|
+
mockMessageBus;
|
|
265
273
|
const tool = { name: 'test-tool' };
|
|
266
|
-
await updatePolicy(tool, ToolConfirmationOutcome.Cancel, undefined,
|
|
267
|
-
config: mockConfig,
|
|
268
|
-
messageBus: mockMessageBus,
|
|
269
|
-
});
|
|
274
|
+
await updatePolicy(tool, ToolConfirmationOutcome.Cancel, undefined, mockConfig);
|
|
270
275
|
expect(mockMessageBus.publish).not.toHaveBeenCalled();
|
|
271
276
|
});
|
|
272
277
|
it('should NOT publish update for ModifyWithEditor', async () => {
|
|
@@ -278,8 +283,10 @@ describe('policy.ts', () => {
|
|
|
278
283
|
const mockMessageBus = {
|
|
279
284
|
publish: vi.fn(),
|
|
280
285
|
};
|
|
286
|
+
mockConfig.messageBus =
|
|
287
|
+
mockMessageBus;
|
|
281
288
|
const tool = { name: 'test-tool' };
|
|
282
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ModifyWithEditor, undefined,
|
|
289
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ModifyWithEditor, undefined, mockConfig);
|
|
283
290
|
expect(mockMessageBus.publish).not.toHaveBeenCalled();
|
|
284
291
|
});
|
|
285
292
|
it('should handle MCP ProceedAlwaysTool (specific tool name)', async () => {
|
|
@@ -291,6 +298,8 @@ describe('policy.ts', () => {
|
|
|
291
298
|
const mockMessageBus = {
|
|
292
299
|
publish: vi.fn(),
|
|
293
300
|
};
|
|
301
|
+
mockConfig.messageBus =
|
|
302
|
+
mockMessageBus;
|
|
294
303
|
const tool = { name: 'mcp-tool' };
|
|
295
304
|
const details = {
|
|
296
305
|
type: 'mcp',
|
|
@@ -300,7 +309,7 @@ describe('policy.ts', () => {
|
|
|
300
309
|
title: 'MCP',
|
|
301
310
|
onConfirm: vi.fn(),
|
|
302
311
|
};
|
|
303
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysTool, details,
|
|
312
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysTool, details, mockConfig);
|
|
304
313
|
expect(mockMessageBus.publish).toHaveBeenCalledWith(expect.objectContaining({
|
|
305
314
|
type: MessageBusType.UPDATE_POLICY,
|
|
306
315
|
toolName: 'mcp-tool', // Specific name, not wildcard
|
|
@@ -317,6 +326,8 @@ describe('policy.ts', () => {
|
|
|
317
326
|
const mockMessageBus = {
|
|
318
327
|
publish: vi.fn(),
|
|
319
328
|
};
|
|
329
|
+
mockConfig.messageBus =
|
|
330
|
+
mockMessageBus;
|
|
320
331
|
const tool = { name: 'mcp-tool' };
|
|
321
332
|
const details = {
|
|
322
333
|
type: 'mcp',
|
|
@@ -326,10 +337,7 @@ describe('policy.ts', () => {
|
|
|
326
337
|
title: 'MCP',
|
|
327
338
|
onConfirm: vi.fn(),
|
|
328
339
|
};
|
|
329
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlways, details,
|
|
330
|
-
config: mockConfig,
|
|
331
|
-
messageBus: mockMessageBus,
|
|
332
|
-
});
|
|
340
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlways, details, mockConfig);
|
|
333
341
|
expect(mockMessageBus.publish).toHaveBeenCalledWith(expect.objectContaining({
|
|
334
342
|
type: MessageBusType.UPDATE_POLICY,
|
|
335
343
|
toolName: 'mcp-tool',
|
|
@@ -348,6 +356,8 @@ describe('policy.ts', () => {
|
|
|
348
356
|
const mockMessageBus = {
|
|
349
357
|
publish: vi.fn(),
|
|
350
358
|
};
|
|
359
|
+
mockConfig.messageBus =
|
|
360
|
+
mockMessageBus;
|
|
351
361
|
const tool = { name: 'mcp-tool' };
|
|
352
362
|
const details = {
|
|
353
363
|
type: 'mcp',
|
|
@@ -357,7 +367,7 @@ describe('policy.ts', () => {
|
|
|
357
367
|
title: 'MCP',
|
|
358
368
|
onConfirm: vi.fn(),
|
|
359
369
|
};
|
|
360
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysAndSave, details,
|
|
370
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysAndSave, details, mockConfig);
|
|
361
371
|
expect(mockMessageBus.publish).toHaveBeenCalledWith(expect.objectContaining({
|
|
362
372
|
type: MessageBusType.UPDATE_POLICY,
|
|
363
373
|
toolName: 'mcp-tool',
|
|
@@ -377,7 +387,10 @@ describe('policy.ts', () => {
|
|
|
377
387
|
publish: vi.fn(),
|
|
378
388
|
};
|
|
379
389
|
const tool = { name: 'test-tool' };
|
|
380
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysAndSave, undefined, {
|
|
390
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysAndSave, undefined, {
|
|
391
|
+
config: mockConfig,
|
|
392
|
+
messageBus: mockMessageBus,
|
|
393
|
+
});
|
|
381
394
|
expect(mockMessageBus.publish).toHaveBeenCalledWith(expect.objectContaining({
|
|
382
395
|
persistScope: 'workspace',
|
|
383
396
|
}));
|
|
@@ -394,7 +407,10 @@ describe('policy.ts', () => {
|
|
|
394
407
|
publish: vi.fn(),
|
|
395
408
|
};
|
|
396
409
|
const tool = { name: 'test-tool' };
|
|
397
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysAndSave, undefined, {
|
|
410
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysAndSave, undefined, {
|
|
411
|
+
config: mockConfig,
|
|
412
|
+
messageBus: mockMessageBus,
|
|
413
|
+
});
|
|
398
414
|
expect(mockMessageBus.publish).toHaveBeenCalledWith(expect.objectContaining({
|
|
399
415
|
persistScope: 'user',
|
|
400
416
|
}));
|
|
@@ -419,10 +435,13 @@ describe('policy.ts', () => {
|
|
|
419
435
|
originalContent: 'old',
|
|
420
436
|
newContent: 'new',
|
|
421
437
|
};
|
|
422
|
-
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysAndSave, details, {
|
|
438
|
+
await updatePolicy(tool, ToolConfirmationOutcome.ProceedAlwaysAndSave, details, {
|
|
439
|
+
config: mockConfig,
|
|
440
|
+
messageBus: mockMessageBus,
|
|
441
|
+
});
|
|
423
442
|
expect(mockMessageBus.publish).toHaveBeenCalledWith(expect.objectContaining({
|
|
424
443
|
toolName: 'write_file',
|
|
425
|
-
argsPattern: escapeRegex('"file_path":"src/foo.ts"'),
|
|
444
|
+
argsPattern: '\\\\0' + escapeRegex('"file_path":"src/foo.ts"') + '\\\\0',
|
|
426
445
|
}));
|
|
427
446
|
});
|
|
428
447
|
});
|
|
@@ -498,6 +517,8 @@ describe('Plan Mode Denial Consistency', () => {
|
|
|
498
517
|
getUsageStatisticsEnabled: vi.fn().mockReturnValue(false),
|
|
499
518
|
};
|
|
500
519
|
mockConfig.config = mockConfig;
|
|
520
|
+
mockConfig.messageBus =
|
|
521
|
+
mockMessageBus;
|
|
501
522
|
});
|
|
502
523
|
afterEach(() => {
|
|
503
524
|
vi.clearAllMocks();
|
|
@@ -512,8 +533,7 @@ describe('Plan Mode Denial Consistency', () => {
|
|
|
512
533
|
const signal = new AbortController().signal;
|
|
513
534
|
if (enableEventDrivenScheduler) {
|
|
514
535
|
const scheduler = new Scheduler({
|
|
515
|
-
|
|
516
|
-
messageBus: mockMessageBus,
|
|
536
|
+
context: mockConfig,
|
|
517
537
|
getPreferredEditor: () => undefined,
|
|
518
538
|
schedulerId: ROOT_SCHEDULER_ID,
|
|
519
539
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.test.js","sourceRoot":"","sources":["../../../src/scheduler/policy.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policy.test.js","sourceRoot":"","sources":["../../../src/scheduler/policy.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import type {
|
|
6
|
+
import type { AgentLoopContext } from '../config/agent-loop-context.js';
|
|
7
7
|
import type { MessageBus } from '../confirmation-bus/message-bus.js';
|
|
8
8
|
import { type ToolCallRequestInfo, type CompletedToolCall } from './types.js';
|
|
9
9
|
import type { EditorType } from '../utils/editor.js';
|
|
10
10
|
export interface SchedulerOptions {
|
|
11
|
-
|
|
11
|
+
context: AgentLoopContext;
|
|
12
12
|
messageBus?: MessageBus;
|
|
13
13
|
getPreferredEditor: () => EditorType | undefined;
|
|
14
14
|
schedulerId: string;
|
|
15
|
+
subagent?: string;
|
|
15
16
|
parentCallId?: string;
|
|
16
17
|
onWaitingForConfirmation?: (waiting: boolean) => void;
|
|
17
18
|
}
|
|
@@ -29,6 +30,7 @@ export declare class Scheduler {
|
|
|
29
30
|
private readonly messageBus;
|
|
30
31
|
private readonly getPreferredEditor;
|
|
31
32
|
private readonly schedulerId;
|
|
33
|
+
private readonly subagent?;
|
|
32
34
|
private readonly parentCallId?;
|
|
33
35
|
private readonly onWaitingForConfirmation?;
|
|
34
36
|
private isProcessing;
|
|
@@ -11,7 +11,7 @@ import { ToolModificationHandler } from './tool-modifier.js';
|
|
|
11
11
|
import { CoreToolCallStatus, } from './types.js';
|
|
12
12
|
import { ToolErrorType } from '../tools/tool-error.js';
|
|
13
13
|
import { PolicyDecision } from '../policy/types.js';
|
|
14
|
-
import { ToolConfirmationOutcome,
|
|
14
|
+
import { ToolConfirmationOutcome, } from '../tools/tools.js';
|
|
15
15
|
import { getToolSuggestion } from '../utils/tool-utils.js';
|
|
16
16
|
import { runInDevTraceSpan } from '../telemetry/trace.js';
|
|
17
17
|
import { logToolCall } from '../telemetry/loggers.js';
|
|
@@ -51,21 +51,23 @@ export class Scheduler {
|
|
|
51
51
|
messageBus;
|
|
52
52
|
getPreferredEditor;
|
|
53
53
|
schedulerId;
|
|
54
|
+
subagent;
|
|
54
55
|
parentCallId;
|
|
55
56
|
onWaitingForConfirmation;
|
|
56
57
|
isProcessing = false;
|
|
57
58
|
isCancelling = false;
|
|
58
59
|
requestQueue = [];
|
|
59
60
|
constructor(options) {
|
|
60
|
-
this.
|
|
61
|
-
this.
|
|
61
|
+
this.context = options.context;
|
|
62
|
+
this.config = this.context.config;
|
|
62
63
|
this.messageBus = options.messageBus ?? this.context.messageBus;
|
|
63
64
|
this.getPreferredEditor = options.getPreferredEditor;
|
|
64
65
|
this.schedulerId = options.schedulerId;
|
|
66
|
+
this.subagent = options.subagent;
|
|
65
67
|
this.parentCallId = options.parentCallId;
|
|
66
68
|
this.onWaitingForConfirmation = options.onWaitingForConfirmation;
|
|
67
69
|
this.state = new SchedulerStateManager(this.messageBus, this.schedulerId, (call) => logToolCall(this.config, new ToolCallEvent(call)));
|
|
68
|
-
this.executor = new ToolExecutor(this.
|
|
70
|
+
this.executor = new ToolExecutor(this.context);
|
|
69
71
|
this.modifier = new ToolModificationHandler();
|
|
70
72
|
this.setupMessageBusListener(this.messageBus);
|
|
71
73
|
coreEvents.on(CoreEvent.McpProgress, this.handleMcpProgress);
|
|
@@ -285,10 +287,10 @@ export class Scheduler {
|
|
|
285
287
|
return true;
|
|
286
288
|
}
|
|
287
289
|
// If the first tool is parallelizable, batch all contiguous parallelizable tools.
|
|
288
|
-
if (this._isParallelizable(next.
|
|
290
|
+
if (this._isParallelizable(next.request)) {
|
|
289
291
|
while (this.state.queueLength > 0) {
|
|
290
292
|
const peeked = this.state.peekQueue();
|
|
291
|
-
if (peeked && this._isParallelizable(peeked.
|
|
293
|
+
if (peeked && this._isParallelizable(peeked.request)) {
|
|
292
294
|
this.state.dequeue();
|
|
293
295
|
}
|
|
294
296
|
else {
|
|
@@ -343,10 +345,15 @@ export class Scheduler {
|
|
|
343
345
|
// This is a stuck state.
|
|
344
346
|
return false;
|
|
345
347
|
}
|
|
346
|
-
_isParallelizable(
|
|
347
|
-
if (
|
|
348
|
-
|
|
349
|
-
|
|
348
|
+
_isParallelizable(request) {
|
|
349
|
+
if (request.args) {
|
|
350
|
+
const wait = request.args['wait_for_previous'];
|
|
351
|
+
if (typeof wait === 'boolean') {
|
|
352
|
+
return !wait;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
// Default to parallel if the flag is omitted.
|
|
356
|
+
return true;
|
|
350
357
|
}
|
|
351
358
|
async _processValidatingCall(active, signal) {
|
|
352
359
|
try {
|
|
@@ -368,7 +375,7 @@ export class Scheduler {
|
|
|
368
375
|
async _processToolCall(toolCall, signal) {
|
|
369
376
|
const callId = toolCall.request.callId;
|
|
370
377
|
// Policy & Security
|
|
371
|
-
const { decision, rule } = await checkPolicy(toolCall, this.config);
|
|
378
|
+
const { decision, rule } = await checkPolicy(toolCall, this.config, this.subagent);
|
|
372
379
|
if (decision === PolicyDecision.DENY) {
|
|
373
380
|
const { errorMessage, errorType } = getPolicyDenialError(this.config, rule);
|
|
374
381
|
this.state.updateStatus(callId, CoreToolCallStatus.Error, createErrorResponse(toolCall.request, new Error(errorMessage), errorType));
|
|
@@ -393,11 +400,7 @@ export class Scheduler {
|
|
|
393
400
|
this.state.setOutcome(callId, outcome);
|
|
394
401
|
// Handle Policy Updates
|
|
395
402
|
if (decision === PolicyDecision.ASK_USER && outcome) {
|
|
396
|
-
await updatePolicy(toolCall.tool, outcome, lastDetails,
|
|
397
|
-
config: this.config,
|
|
398
|
-
messageBus: this.messageBus,
|
|
399
|
-
toolInvocation: toolCall.invocation,
|
|
400
|
-
});
|
|
403
|
+
await updatePolicy(toolCall.tool, outcome, lastDetails, this.context, toolCall.invocation);
|
|
401
404
|
}
|
|
402
405
|
// Handle cancellation (cascades to entire batch)
|
|
403
406
|
if (outcome === ToolConfirmationOutcome.Cancel) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,7 +78,7 @@ describe('Scheduler (Orchestrator)', () => {
|
|
|
78
78
|
const req2 = {
|
|
79
79
|
callId: 'call-2',
|
|
80
80
|
name: 'test-tool',
|
|
81
|
-
args: { foo: 'baz' },
|
|
81
|
+
args: { foo: 'baz', wait_for_previous: true },
|
|
82
82
|
isClientInitiated: false,
|
|
83
83
|
prompt_id: 'prompt-1',
|
|
84
84
|
schedulerId: ROOT_SCHEDULER_ID,
|
|
@@ -116,6 +116,10 @@ describe('Scheduler (Orchestrator)', () => {
|
|
|
116
116
|
publish: vi.fn(),
|
|
117
117
|
subscribe: vi.fn(),
|
|
118
118
|
};
|
|
119
|
+
mockConfig.toolRegistry =
|
|
120
|
+
mockToolRegistry;
|
|
121
|
+
mockConfig.messageBus =
|
|
122
|
+
mockMessageBus;
|
|
119
123
|
getPreferredEditor = vi.fn().mockReturnValue('vim');
|
|
120
124
|
// --- Setup Sub-component Mocks ---
|
|
121
125
|
const mockActiveCallsMap = new Map();
|
|
@@ -223,7 +227,7 @@ describe('Scheduler (Orchestrator)', () => {
|
|
|
223
227
|
vi.mocked(ToolModificationHandler).mockReturnValue(mockModifier);
|
|
224
228
|
// Initialize Scheduler
|
|
225
229
|
scheduler = new Scheduler({
|
|
226
|
-
|
|
230
|
+
context: mockConfig,
|
|
227
231
|
messageBus: mockMessageBus,
|
|
228
232
|
getPreferredEditor,
|
|
229
233
|
schedulerId: 'root',
|
|
@@ -263,6 +267,24 @@ describe('Scheduler (Orchestrator)', () => {
|
|
|
263
267
|
}),
|
|
264
268
|
]));
|
|
265
269
|
});
|
|
270
|
+
it('should propagate subagent name to checkPolicy', async () => {
|
|
271
|
+
const { checkPolicy } = await import('./policy.js');
|
|
272
|
+
const scheduler = new Scheduler({
|
|
273
|
+
context: mockConfig,
|
|
274
|
+
schedulerId: 'sub-scheduler',
|
|
275
|
+
subagent: 'my-agent',
|
|
276
|
+
getPreferredEditor: () => undefined,
|
|
277
|
+
});
|
|
278
|
+
const request = {
|
|
279
|
+
callId: 'call-1',
|
|
280
|
+
name: 'test-tool',
|
|
281
|
+
args: {},
|
|
282
|
+
isClientInitiated: false,
|
|
283
|
+
prompt_id: 'p1',
|
|
284
|
+
};
|
|
285
|
+
await scheduler.schedule([request], new AbortController().signal);
|
|
286
|
+
expect(checkPolicy).toHaveBeenCalledWith(expect.anything(), expect.anything(), 'my-agent');
|
|
287
|
+
});
|
|
266
288
|
it('should correctly build ValidatingToolCalls for happy path', async () => {
|
|
267
289
|
await scheduler.schedule(req1, signal);
|
|
268
290
|
expect(mockStateManager.enqueue).toHaveBeenCalledWith(expect.arrayContaining([
|
|
@@ -587,14 +609,11 @@ describe('Scheduler (Orchestrator)', () => {
|
|
|
587
609
|
expect(resolveConfirmation).toHaveBeenCalledWith(expect.anything(), // toolCall
|
|
588
610
|
signal, expect.objectContaining({
|
|
589
611
|
config: mockConfig,
|
|
590
|
-
messageBus:
|
|
612
|
+
messageBus: expect.anything(),
|
|
591
613
|
state: mockStateManager,
|
|
592
614
|
schedulerId: ROOT_SCHEDULER_ID,
|
|
593
615
|
}));
|
|
594
|
-
expect(updatePolicy).toHaveBeenCalledWith(mockTool, resolution.outcome, resolution.lastDetails, expect.
|
|
595
|
-
config: mockConfig,
|
|
596
|
-
messageBus: mockMessageBus,
|
|
597
|
-
}));
|
|
616
|
+
expect(updatePolicy).toHaveBeenCalledWith(mockTool, resolution.outcome, resolution.lastDetails, mockConfig, expect.anything());
|
|
598
617
|
expect(mockExecutor.execute).toHaveBeenCalled();
|
|
599
618
|
});
|
|
600
619
|
it('should cancel and NOT execute if resolveConfirmation returns Cancel', async () => {
|
|
@@ -845,7 +864,7 @@ describe('Scheduler (Orchestrator)', () => {
|
|
|
845
864
|
const schedulerId = 'custom-scheduler';
|
|
846
865
|
const parentCallId = 'parent-call';
|
|
847
866
|
const customScheduler = new Scheduler({
|
|
848
|
-
|
|
867
|
+
context: mockConfig,
|
|
849
868
|
messageBus: mockMessageBus,
|
|
850
869
|
getPreferredEditor,
|
|
851
870
|
schedulerId,
|
|
@@ -884,7 +903,7 @@ describe('Scheduler (Orchestrator)', () => {
|
|
|
884
903
|
const onSpy = vi.spyOn(coreEvents, 'on');
|
|
885
904
|
const offSpy = vi.spyOn(coreEvents, 'off');
|
|
886
905
|
const s = new Scheduler({
|
|
887
|
-
|
|
906
|
+
context: mockConfig,
|
|
888
907
|
messageBus: mockMessageBus,
|
|
889
908
|
getPreferredEditor,
|
|
890
909
|
schedulerId: 'cleanup-test',
|
|
@@ -981,10 +1000,14 @@ describe('Scheduler MCP Progress', () => {
|
|
|
981
1000
|
publish: vi.fn(),
|
|
982
1001
|
subscribe: vi.fn(),
|
|
983
1002
|
};
|
|
1003
|
+
mockConfig.toolRegistry =
|
|
1004
|
+
mockToolRegistry;
|
|
1005
|
+
mockConfig.messageBus =
|
|
1006
|
+
mockMessageBus;
|
|
984
1007
|
getPreferredEditor = vi.fn().mockReturnValue('vim');
|
|
985
1008
|
vi.mocked(SchedulerStateManager).mockImplementation((_messageBus, _schedulerId, _onTerminalCall) => mockStateManager);
|
|
986
1009
|
scheduler = new Scheduler({
|
|
987
|
-
|
|
1010
|
+
context: mockConfig,
|
|
988
1011
|
messageBus: mockMessageBus,
|
|
989
1012
|
getPreferredEditor,
|
|
990
1013
|
schedulerId: 'progress-test',
|