@google/gemini-cli-core 0.30.0-preview.6 → 0.31.0-preview.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/README.md +1 -1
- package/dist/docs/CONTRIBUTING.md +6 -7
- package/dist/docs/changelogs/index.md +22 -2
- package/dist/docs/changelogs/latest.md +359 -293
- package/dist/docs/changelogs/preview.md +300 -349
- package/dist/docs/cli/cli-reference.md +23 -23
- package/dist/docs/cli/enterprise.md +7 -7
- package/dist/docs/cli/gemini-md.md +1 -1
- package/dist/docs/cli/model.md +1 -1
- package/dist/docs/cli/plan-mode.md +180 -80
- package/dist/docs/cli/sandbox.md +3 -3
- package/dist/docs/cli/settings.md +59 -51
- package/dist/docs/cli/telemetry.md +4 -1
- package/dist/docs/cli/themes.md +3 -3
- package/dist/docs/cli/trusted-folders.md +31 -0
- package/dist/docs/cli/tutorials/memory-management.md +2 -2
- package/dist/docs/cli/tutorials/session-management.md +1 -1
- package/dist/docs/core/index.md +7 -7
- package/dist/docs/core/subagents.md +155 -39
- package/dist/docs/extensions/reference.md +38 -14
- package/dist/docs/get-started/authentication.md +4 -4
- package/dist/docs/get-started/examples.md +2 -2
- package/dist/docs/get-started/gemini-3.md +17 -3
- package/dist/docs/get-started/index.md +11 -2
- package/dist/docs/hooks/best-practices.md +1 -1
- package/dist/docs/hooks/reference.md +8 -0
- package/dist/docs/ide-integration/index.md +14 -0
- package/dist/docs/index.md +62 -67
- package/dist/docs/redirects.json +19 -0
- package/dist/docs/{cli → reference}/commands.md +67 -11
- package/dist/docs/{get-started → reference}/configuration.md +93 -24
- package/dist/docs/{cli → reference}/keyboard-shortcuts.md +3 -3
- package/dist/docs/{core → reference}/policy-engine.md +63 -27
- package/dist/docs/{faq.md → resources/faq.md} +1 -1
- package/dist/docs/{quota-and-pricing.md → resources/quota-and-pricing.md} +12 -5
- package/dist/docs/{tos-privacy.md → resources/tos-privacy.md} +2 -2
- package/dist/docs/{troubleshooting.md → resources/troubleshooting.md} +1 -1
- package/dist/docs/sidebar.json +203 -166
- package/dist/docs/tools/file-system.md +7 -4
- package/dist/docs/tools/index.md +5 -2
- package/dist/docs/tools/internal-docs.md +5 -5
- package/dist/docs/tools/mcp-server.md +62 -2
- package/dist/docs/tools/planning.md +2 -0
- package/dist/docs/tools/shell.md +3 -3
- package/dist/src/agents/a2a-client-manager.test.js +1 -2
- package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
- package/dist/src/agents/a2aUtils.d.ts +1 -5
- package/dist/src/agents/a2aUtils.js +1 -1
- package/dist/src/agents/a2aUtils.js.map +1 -1
- package/dist/src/agents/acknowledgedAgents.js +1 -0
- package/dist/src/agents/acknowledgedAgents.js.map +1 -1
- package/dist/src/agents/agent-scheduler.js +1 -0
- package/dist/src/agents/agent-scheduler.js.map +1 -1
- package/dist/src/agents/agentLoader.d.ts +0 -1
- package/dist/src/agents/agentLoader.js +22 -21
- package/dist/src/agents/agentLoader.js.map +1 -1
- package/dist/src/agents/agentLoader.test.js +1 -5
- package/dist/src/agents/agentLoader.test.js.map +1 -1
- package/dist/src/agents/auth-provider/api-key-provider.d.ts +30 -0
- package/dist/src/agents/auth-provider/api-key-provider.js +66 -0
- package/dist/src/agents/auth-provider/api-key-provider.js.map +1 -0
- package/dist/src/agents/auth-provider/api-key-provider.test.d.ts +6 -0
- package/dist/src/agents/auth-provider/api-key-provider.test.js +130 -0
- package/dist/src/agents/auth-provider/api-key-provider.test.js.map +1 -0
- package/dist/src/agents/auth-provider/base-provider.d.ts +2 -2
- package/dist/src/agents/auth-provider/base-provider.js.map +1 -1
- 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/factory.test.js +12 -0
- package/dist/src/agents/auth-provider/factory.test.js.map +1 -1
- package/dist/src/agents/auth-provider/types.d.ts +2 -4
- package/dist/src/agents/browser/analyzeScreenshot.d.ts +35 -0
- package/dist/src/agents/browser/analyzeScreenshot.js +183 -0
- package/dist/src/agents/browser/analyzeScreenshot.js.map +1 -0
- package/dist/src/agents/browser/analyzeScreenshot.test.d.ts +6 -0
- package/dist/src/agents/browser/analyzeScreenshot.test.js +161 -0
- package/dist/src/agents/browser/analyzeScreenshot.test.js.map +1 -0
- package/dist/src/agents/browser/browserAgentDefinition.d.ts +50 -0
- package/dist/src/agents/browser/browserAgentDefinition.js +141 -0
- package/dist/src/agents/browser/browserAgentDefinition.js.map +1 -0
- package/dist/src/agents/browser/browserAgentFactory.d.ts +42 -0
- package/dist/src/agents/browser/browserAgentFactory.js +107 -0
- package/dist/src/agents/browser/browserAgentFactory.js.map +1 -0
- package/dist/src/agents/browser/browserAgentFactory.test.d.ts +6 -0
- package/dist/src/agents/browser/browserAgentFactory.test.js +186 -0
- package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -0
- package/dist/src/agents/browser/browserAgentInvocation.d.ts +44 -0
- package/dist/src/agents/browser/browserAgentInvocation.js +109 -0
- package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -0
- package/dist/src/agents/browser/browserAgentInvocation.test.d.ts +6 -0
- package/dist/src/agents/browser/browserAgentInvocation.test.js +87 -0
- package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -0
- package/dist/src/agents/browser/browserManager.d.ts +110 -0
- package/dist/src/agents/browser/browserManager.js +323 -0
- package/dist/src/agents/browser/browserManager.js.map +1 -0
- package/dist/src/agents/browser/browserManager.test.d.ts +6 -0
- package/dist/src/agents/browser/browserManager.test.js +314 -0
- package/dist/src/agents/browser/browserManager.test.js.map +1 -0
- package/dist/src/agents/browser/mcpToolWrapper.d.ts +45 -0
- package/dist/src/agents/browser/mcpToolWrapper.js +356 -0
- package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -0
- package/dist/src/agents/browser/mcpToolWrapper.test.d.ts +6 -0
- package/dist/src/agents/browser/mcpToolWrapper.test.js +126 -0
- package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -0
- package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.d.ts +6 -0
- package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.js +57 -0
- package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.js.map +1 -0
- package/dist/src/agents/browser/modelAvailability.d.ts +23 -0
- package/dist/src/agents/browser/modelAvailability.js +23 -0
- package/dist/src/agents/browser/modelAvailability.js.map +1 -0
- package/dist/src/agents/local-executor.js +73 -31
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/local-executor.test.js +157 -4
- package/dist/src/agents/local-executor.test.js.map +1 -1
- package/dist/src/agents/local-invocation.test.js.map +1 -1
- package/dist/src/agents/registry.js +8 -0
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/remote-invocation.d.ts +2 -1
- package/dist/src/agents/remote-invocation.js +3 -3
- package/dist/src/agents/remote-invocation.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.js +6 -0
- package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
- package/dist/src/agents/subagent-tool.d.ts +3 -0
- package/dist/src/agents/subagent-tool.js +62 -3
- package/dist/src/agents/subagent-tool.js.map +1 -1
- package/dist/src/agents/subagent-tool.test.js +143 -0
- package/dist/src/agents/subagent-tool.test.js.map +1 -1
- package/dist/src/availability/fallbackIntegration.test.js +4 -1
- package/dist/src/availability/fallbackIntegration.test.js.map +1 -1
- package/dist/src/availability/policyHelpers.js +3 -1
- package/dist/src/availability/policyHelpers.js.map +1 -1
- package/dist/src/availability/policyHelpers.test.js +51 -5
- package/dist/src/availability/policyHelpers.test.js.map +1 -1
- package/dist/src/code_assist/admin/admin_controls.js +1 -0
- package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
- package/dist/src/code_assist/converter.js +8 -2
- package/dist/src/code_assist/converter.js.map +1 -1
- package/dist/src/code_assist/converter.test.js.map +1 -1
- package/dist/src/code_assist/experiments/experiments.js +1 -1
- package/dist/src/code_assist/experiments/experiments.js.map +1 -1
- package/dist/src/code_assist/oauth-credential-storage.js +1 -1
- package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
- package/dist/src/code_assist/oauth-credential-storage.test.js +5 -0
- package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.js +11 -8
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +55 -0
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/server.js +22 -13
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +26 -0
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/code_assist/telemetry.js +16 -3
- package/dist/src/code_assist/telemetry.js.map +1 -1
- package/dist/src/code_assist/telemetry.test.js +10 -0
- package/dist/src/code_assist/telemetry.test.js.map +1 -1
- package/dist/src/code_assist/types.d.ts +13 -12
- package/dist/src/code_assist/types.js.map +1 -1
- package/dist/src/config/config.d.ts +83 -8
- package/dist/src/config/config.js +127 -23
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +285 -10
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/projectRegistry.js +1 -0
- package/dist/src/config/projectRegistry.js.map +1 -1
- package/dist/src/config/storage.d.ts +17 -1
- package/dist/src/config/storage.js +82 -2
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +149 -2
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/config/userHintService.d.ts +46 -0
- package/dist/src/config/userHintService.js +81 -0
- package/dist/src/config/userHintService.js.map +1 -0
- package/dist/src/config/userHintService.test.d.ts +6 -0
- package/dist/src/config/userHintService.test.js +62 -0
- package/dist/src/config/userHintService.test.js.map +1 -0
- package/dist/src/confirmation-bus/message-bus.js +15 -3
- package/dist/src/confirmation-bus/message-bus.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.test.js +15 -0
- package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
- package/dist/src/confirmation-bus/types.d.ts +7 -0
- package/dist/src/confirmation-bus/types.js.map +1 -1
- package/dist/src/core/baseLlmClient.d.ts +2 -3
- package/dist/src/core/baseLlmClient.js +7 -5
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +45 -20
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.js +18 -7
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.d.ts +2 -3
- package/dist/src/core/coreToolHookTriggers.js +8 -3
- package/dist/src/core/coreToolHookTriggers.js.map +1 -1
- package/dist/src/core/coreToolScheduler.js +2 -1
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +10 -3
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/fakeContentGenerator.js +2 -0
- package/dist/src/core/fakeContentGenerator.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +1 -1
- package/dist/src/core/geminiChat.js +5 -5
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +1 -0
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChat_network_retry.test.js +1 -0
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
- package/dist/src/core/logger.js +2 -0
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.d.ts +14 -2
- package/dist/src/core/loggingContentGenerator.js +98 -4
- package/dist/src/core/loggingContentGenerator.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.test.js +275 -1
- package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
- package/dist/src/core/prompts.test.js +55 -27
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/core/recordingContentGenerator.test.js +5 -0
- package/dist/src/core/recordingContentGenerator.test.js.map +1 -1
- package/dist/src/core/turn.d.ts +4 -2
- package/dist/src/core/turn.js +2 -0
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +4 -1
- package/dist/src/core/turn.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/hooks/hookAggregator.d.ts +1 -2
- package/dist/src/hooks/hookAggregator.js +1 -2
- package/dist/src/hooks/hookAggregator.js.map +1 -1
- package/dist/src/hooks/hookEventHandler.d.ts +2 -2
- package/dist/src/hooks/hookEventHandler.js +13 -4
- package/dist/src/hooks/hookEventHandler.js.map +1 -1
- package/dist/src/hooks/hookEventHandler.test.js +1 -2
- package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
- package/dist/src/hooks/hookPlanner.d.ts +1 -2
- package/dist/src/hooks/hookPlanner.js.map +1 -1
- package/dist/src/hooks/hookRegistry.d.ts +8 -0
- package/dist/src/hooks/hookRegistry.js +31 -3
- package/dist/src/hooks/hookRegistry.js.map +1 -1
- package/dist/src/hooks/hookRegistry.test.js.map +1 -1
- package/dist/src/hooks/hookRunner.d.ts +5 -2
- package/dist/src/hooks/hookRunner.js +52 -2
- package/dist/src/hooks/hookRunner.js.map +1 -1
- package/dist/src/hooks/hookRunner.test.js.map +1 -1
- package/dist/src/hooks/hookSystem.d.ts +11 -3
- package/dist/src/hooks/hookSystem.js +10 -4
- package/dist/src/hooks/hookSystem.js.map +1 -1
- package/dist/src/hooks/hookSystem.test.js +1 -0
- package/dist/src/hooks/hookSystem.test.js.map +1 -1
- package/dist/src/hooks/runtimeHooks.test.d.ts +6 -0
- package/dist/src/hooks/runtimeHooks.test.js +100 -0
- package/dist/src/hooks/runtimeHooks.test.js.map +1 -0
- package/dist/src/hooks/trustedHooks.js +6 -1
- package/dist/src/hooks/trustedHooks.js.map +1 -1
- package/dist/src/hooks/trustedHooks.test.js +17 -9
- package/dist/src/hooks/trustedHooks.test.js.map +1 -1
- package/dist/src/hooks/types.d.ts +49 -8
- package/dist/src/hooks/types.js +20 -1
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +0 -1
- package/dist/src/ide/detect-ide.js +1 -1
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/ide-client.js +3 -2
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-connection-utils.js +90 -14
- package/dist/src/ide/ide-connection-utils.js.map +1 -1
- package/dist/src/ide/ide-connection-utils.test.js +78 -0
- package/dist/src/ide/ide-connection-utils.test.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +1 -2
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/ide/process-utils.d.ts +7 -0
- package/dist/src/ide/process-utils.js +20 -0
- package/dist/src/ide/process-utils.js.map +1 -1
- package/dist/src/ide/process-utils.test.js +30 -0
- package/dist/src/ide/process-utils.test.js.map +1 -1
- package/dist/src/index.d.ts +6 -1
- package/dist/src/index.js +6 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-provider.d.ts +1 -1
- package/dist/src/mcp/oauth-provider.js +8 -7
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +34 -2
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.js +2 -0
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/oauth-utils.test.js +12 -0
- package/dist/src/mcp/oauth-utils.test.js.map +1 -1
- package/dist/src/mcp/token-storage/file-token-storage.js +4 -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 +40 -2
- package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js +2 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
- package/dist/src/policy/config.d.ts +18 -9
- package/dist/src/policy/config.js +75 -54
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/config.test.js +26 -26
- package/dist/src/policy/integrity.d.ts +45 -0
- package/dist/src/policy/integrity.js +121 -0
- package/dist/src/policy/integrity.js.map +1 -0
- package/dist/src/policy/integrity.test.d.ts +6 -0
- package/dist/src/policy/integrity.test.js +132 -0
- package/dist/src/policy/integrity.test.js.map +1 -0
- package/dist/src/policy/persistence.test.js +29 -19
- package/dist/src/policy/persistence.test.js.map +1 -1
- package/dist/src/policy/policies/conseca.toml +6 -0
- package/dist/src/policy/policies/plan.toml +28 -12
- package/dist/src/policy/policies/read-only.toml +11 -10
- package/dist/src/policy/policies/write.toml +11 -10
- package/dist/src/policy/policies/yolo.toml +11 -10
- package/dist/src/policy/policy-engine.d.ts +16 -3
- package/dist/src/policy/policy-engine.js +154 -29
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +480 -9
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/policy-updater.test.js +11 -6
- package/dist/src/policy/policy-updater.test.js.map +1 -1
- package/dist/src/policy/toml-loader.d.ts +13 -2
- package/dist/src/policy/toml-loader.js +55 -34
- package/dist/src/policy/toml-loader.js.map +1 -1
- package/dist/src/policy/toml-loader.test.js +115 -7
- package/dist/src/policy/toml-loader.test.js.map +1 -1
- package/dist/src/policy/types.d.ts +18 -1
- package/dist/src/policy/types.js +1 -0
- package/dist/src/policy/types.js.map +1 -1
- package/dist/src/policy/workspace-policy.test.d.ts +6 -0
- package/dist/src/policy/workspace-policy.test.js +231 -0
- package/dist/src/policy/workspace-policy.test.js.map +1 -0
- package/dist/src/prompts/promptProvider.js +11 -13
- package/dist/src/prompts/promptProvider.js.map +1 -1
- package/dist/src/prompts/promptProvider.test.js +64 -3
- package/dist/src/prompts/promptProvider.test.js.map +1 -1
- package/dist/src/prompts/snippets.js +41 -10
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/prompts/snippets.legacy.js +1 -0
- package/dist/src/prompts/snippets.legacy.js.map +1 -1
- package/dist/src/routing/modelRouterService.js +3 -1
- package/dist/src/routing/modelRouterService.js.map +1 -1
- package/dist/src/routing/modelRouterService.test.js +12 -6
- package/dist/src/routing/modelRouterService.test.js.map +1 -1
- package/dist/src/routing/strategies/approvalModeStrategy.d.ts +18 -0
- package/dist/src/routing/strategies/approvalModeStrategy.js +58 -0
- package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -0
- package/dist/src/routing/strategies/approvalModeStrategy.test.d.ts +6 -0
- package/dist/src/routing/strategies/approvalModeStrategy.test.js +110 -0
- package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -0
- package/dist/src/safety/checker-runner.js +1 -0
- package/dist/src/safety/checker-runner.js.map +1 -1
- package/dist/src/safety/conseca/conseca.d.ts +31 -0
- package/dist/src/safety/conseca/conseca.js +105 -0
- package/dist/src/safety/conseca/conseca.js.map +1 -0
- package/dist/src/safety/conseca/conseca.test.d.ts +6 -0
- package/dist/src/safety/conseca/conseca.test.js +226 -0
- package/dist/src/safety/conseca/conseca.test.js.map +1 -0
- package/dist/src/safety/conseca/integration.test.d.ts +6 -0
- package/dist/src/safety/conseca/integration.test.js +19 -0
- package/dist/src/safety/conseca/integration.test.js.map +1 -0
- package/dist/src/safety/conseca/policy-enforcer.d.ts +13 -0
- package/dist/src/safety/conseca/policy-enforcer.js +135 -0
- package/dist/src/safety/conseca/policy-enforcer.js.map +1 -0
- package/dist/src/safety/conseca/policy-enforcer.test.d.ts +6 -0
- package/dist/src/safety/conseca/policy-enforcer.test.js +141 -0
- package/dist/src/safety/conseca/policy-enforcer.test.js.map +1 -0
- package/dist/src/safety/conseca/policy-generator.d.ts +15 -0
- package/dist/src/safety/conseca/policy-generator.js +144 -0
- package/dist/src/safety/conseca/policy-generator.js.map +1 -0
- package/dist/src/safety/conseca/policy-generator.test.d.ts +6 -0
- package/dist/src/safety/conseca/policy-generator.test.js +84 -0
- package/dist/src/safety/conseca/policy-generator.test.js.map +1 -0
- package/dist/src/safety/conseca/types.d.ts +15 -0
- package/dist/src/safety/conseca/types.js +7 -0
- package/dist/src/safety/conseca/types.js.map +1 -0
- package/dist/src/safety/context-builder.d.ts +3 -3
- package/dist/src/safety/context-builder.js +60 -4
- package/dist/src/safety/context-builder.js.map +1 -1
- package/dist/src/safety/context-builder.test.js +98 -18
- package/dist/src/safety/context-builder.test.js.map +1 -1
- package/dist/src/safety/protocol.d.ts +4 -0
- package/dist/src/safety/registry.d.ts +2 -1
- package/dist/src/safety/registry.js +14 -4
- package/dist/src/safety/registry.js.map +1 -1
- package/dist/src/safety/registry.test.js +5 -2
- package/dist/src/safety/registry.test.js.map +1 -1
- package/dist/src/scheduler/confirmation.d.ts +0 -13
- package/dist/src/scheduler/confirmation.js +1 -1
- package/dist/src/scheduler/confirmation.js.map +1 -1
- package/dist/src/scheduler/policy.js +6 -2
- package/dist/src/scheduler/policy.js.map +1 -1
- package/dist/src/scheduler/policy.test.js +4 -3
- package/dist/src/scheduler/policy.test.js.map +1 -1
- package/dist/src/scheduler/scheduler.d.ts +3 -1
- package/dist/src/scheduler/scheduler.js +148 -28
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/scheduler/scheduler.test.js +341 -242
- package/dist/src/scheduler/scheduler.test.js.map +1 -1
- package/dist/src/scheduler/scheduler_parallel.test.d.ts +6 -0
- package/dist/src/scheduler/scheduler_parallel.test.js +309 -0
- package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -0
- package/dist/src/scheduler/state-manager.d.ts +8 -0
- package/dist/src/scheduler/state-manager.js +30 -2
- package/dist/src/scheduler/state-manager.js.map +1 -1
- package/dist/src/scheduler/state-manager.test.js +61 -0
- package/dist/src/scheduler/state-manager.test.js.map +1 -1
- package/dist/src/scheduler/tool-executor.js +15 -7
- package/dist/src/scheduler/tool-executor.js.map +1 -1
- package/dist/src/scheduler/tool-executor.test.js +1 -1
- package/dist/src/scheduler/tool-executor.test.js.map +1 -1
- package/dist/src/scheduler/types.d.ts +23 -0
- package/dist/src/services/FolderTrustDiscoveryService.d.ts +32 -0
- package/dist/src/services/FolderTrustDiscoveryService.js +167 -0
- package/dist/src/services/FolderTrustDiscoveryService.js.map +1 -0
- package/dist/src/services/FolderTrustDiscoveryService.test.d.ts +6 -0
- package/dist/src/services/FolderTrustDiscoveryService.test.js +118 -0
- package/dist/src/services/FolderTrustDiscoveryService.test.js.map +1 -0
- package/dist/src/services/chatCompressionService.d.ts +0 -14
- package/dist/src/services/chatCompressionService.js +29 -7
- package/dist/src/services/chatCompressionService.js.map +1 -1
- package/dist/src/services/chatCompressionService.test.js +3 -1
- package/dist/src/services/chatCompressionService.test.js.map +1 -1
- package/dist/src/services/chatRecordingService.d.ts +7 -1
- package/dist/src/services/chatRecordingService.js +12 -1
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/chatRecordingService.test.js +34 -0
- package/dist/src/services/chatRecordingService.test.js.map +1 -1
- package/dist/src/services/loopDetectionService.js +1 -2
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/sessionSummaryUtils.js +3 -0
- package/dist/src/services/sessionSummaryUtils.js.map +1 -1
- package/dist/src/services/shellExecutionService.js +6 -0
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/skills/skillLoader.js +2 -2
- package/dist/src/skills/skillLoader.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +3 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +35 -4
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +19 -5
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +14 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +29 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/conseca-logger.d.ts +9 -0
- package/dist/src/telemetry/conseca-logger.js +91 -0
- package/dist/src/telemetry/conseca-logger.js.map +1 -0
- package/dist/src/telemetry/conseca-logger.test.d.ts +6 -0
- package/dist/src/telemetry/conseca-logger.test.js +89 -0
- package/dist/src/telemetry/conseca-logger.test.js.map +1 -0
- package/dist/src/telemetry/gcp-exporters.js +1 -2
- package/dist/src/telemetry/gcp-exporters.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +2 -1
- package/dist/src/telemetry/index.js +2 -1
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/integration.test.circular.js +3 -0
- package/dist/src/telemetry/integration.test.circular.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +1 -2
- package/dist/src/telemetry/loggers.js +3 -13
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.circular.js +3 -0
- package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +6 -5
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +1 -3
- package/dist/src/telemetry/metrics.js +3 -2
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +7 -3
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/sanitize.test.js +19 -18
- package/dist/src/telemetry/sanitize.test.js.map +1 -1
- package/dist/src/telemetry/semantic.d.ts +7 -9
- package/dist/src/telemetry/semantic.js +8 -8
- package/dist/src/telemetry/semantic.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +42 -4
- package/dist/src/telemetry/types.js +87 -2
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.d.ts +1 -2
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.test.js +1 -2
- package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
- package/dist/src/tools/ask-user.test.js +1 -19
- package/dist/src/tools/ask-user.test.js.map +1 -1
- package/dist/src/tools/confirmation-policy.test.js +14 -17
- package/dist/src/tools/confirmation-policy.test.js.map +1 -1
- package/dist/src/tools/definitions/dynamic-declaration-helpers.js +1 -1
- package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js +14 -16
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js +24 -59
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
- package/dist/src/tools/diff-utils.d.ts +9 -0
- package/dist/src/tools/diff-utils.js +66 -0
- package/dist/src/tools/diff-utils.js.map +1 -0
- package/dist/src/tools/diff-utils.test.d.ts +6 -0
- package/dist/src/tools/diff-utils.test.js +53 -0
- package/dist/src/tools/diff-utils.test.js.map +1 -0
- package/dist/src/tools/edit.d.ts +9 -4
- package/dist/src/tools/edit.js +203 -34
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +225 -10
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/enter-plan-mode.js +1 -1
- package/dist/src/tools/enter-plan-mode.js.map +1 -1
- package/dist/src/tools/enter-plan-mode.test.js +1 -1
- package/dist/src/tools/enter-plan-mode.test.js.map +1 -1
- package/dist/src/tools/exit-plan-mode.js +10 -24
- package/dist/src/tools/exit-plan-mode.js.map +1 -1
- package/dist/src/tools/exit-plan-mode.test.js +1 -1
- package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
- package/dist/src/tools/grep-utils.d.ts +49 -0
- package/dist/src/tools/grep-utils.js +139 -0
- package/dist/src/tools/grep-utils.js.map +1 -0
- package/dist/src/tools/grep.js +4 -44
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +21 -2
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/ls.js +6 -1
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +2 -2
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.js +16 -18
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +51 -0
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +22 -1
- package/dist/src/tools/mcp-client.js +95 -36
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +148 -20
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +15 -5
- package/dist/src/tools/mcp-tool.js +36 -8
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/memoryTool.js +1 -1
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +5 -0
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/omissionPlaceholderDetector.d.ts +15 -0
- package/dist/src/tools/omissionPlaceholderDetector.js +90 -0
- package/dist/src/tools/omissionPlaceholderDetector.js.map +1 -0
- package/dist/src/tools/omissionPlaceholderDetector.test.d.ts +6 -0
- package/dist/src/tools/omissionPlaceholderDetector.test.js +49 -0
- package/dist/src/tools/omissionPlaceholderDetector.test.js.map +1 -0
- package/dist/src/tools/read-file.d.ts +4 -4
- package/dist/src/tools/read-file.js +17 -10
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +20 -10
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/ripGrep.js +49 -46
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +52 -37
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +2 -2
- package/dist/src/tools/shell.js +2 -2
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +1 -2
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +0 -6
- package/dist/src/tools/tool-names.js +0 -15
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +1 -0
- package/dist/src/tools/tool-registry.js +33 -6
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +47 -0
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +21 -1
- package/dist/src/tools/tools.js +19 -3
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/tools.test.js +24 -0
- package/dist/src/tools/tools.test.js.map +1 -1
- package/dist/src/tools/web-fetch.d.ts +9 -1
- package/dist/src/tools/web-fetch.js +273 -34
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +303 -30
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/write-file.js +14 -10
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +75 -0
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/tools/write-todos.d.ts +2 -2
- package/dist/src/tools/write-todos.js +1 -1
- package/dist/src/tools/write-todos.js.map +1 -1
- package/dist/src/tools/xcode-mcp-fix-transport.js +4 -1
- package/dist/src/tools/xcode-mcp-fix-transport.js.map +1 -1
- package/dist/src/utils/approvalModeUtils.d.ts +14 -0
- package/dist/src/utils/approvalModeUtils.js +35 -0
- package/dist/src/utils/approvalModeUtils.js.map +1 -0
- package/dist/src/utils/approvalModeUtils.test.d.ts +6 -0
- package/dist/src/utils/approvalModeUtils.test.js +36 -0
- package/dist/src/utils/approvalModeUtils.test.js.map +1 -0
- package/dist/src/utils/authConsent.d.ts +1 -1
- package/dist/src/utils/authConsent.js +10 -8
- package/dist/src/utils/authConsent.js.map +1 -1
- package/dist/src/utils/authConsent.test.js +89 -44
- package/dist/src/utils/authConsent.test.js.map +1 -1
- package/dist/src/utils/compatibility.d.ts +41 -0
- package/dist/src/utils/compatibility.js +112 -0
- package/dist/src/utils/compatibility.js.map +1 -0
- package/dist/src/utils/compatibility.test.d.ts +6 -0
- package/dist/src/utils/compatibility.test.js +233 -0
- package/dist/src/utils/compatibility.test.js.map +1 -0
- package/dist/src/utils/editCorrector.js +22 -29
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/envExpansion.d.ts +18 -0
- package/dist/src/utils/envExpansion.js +46 -0
- package/dist/src/utils/envExpansion.js.map +1 -0
- package/dist/src/utils/envExpansion.test.d.ts +6 -0
- package/dist/src/utils/envExpansion.test.js +110 -0
- package/dist/src/utils/envExpansion.test.js.map +1 -0
- package/dist/src/utils/errors.d.ts +1 -0
- package/dist/src/utils/errors.js +55 -10
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/errors.test.js +27 -1
- package/dist/src/utils/errors.test.js.map +1 -1
- package/dist/src/utils/events.d.ts +17 -0
- package/dist/src/utils/events.js +12 -0
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/events.test.d.ts +1 -1
- package/dist/src/utils/events.test.js +50 -3
- package/dist/src/utils/events.test.js.map +1 -1
- package/dist/src/utils/fastAckHelper.js +2 -1
- package/dist/src/utils/fastAckHelper.js.map +1 -1
- package/dist/src/utils/fetch.d.ts +1 -1
- package/dist/src/utils/fetch.js +15 -2
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/fileDiffUtils.d.ts +2 -2
- package/dist/src/utils/fileDiffUtils.js +1 -2
- package/dist/src/utils/fileDiffUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.d.ts +5 -3
- package/dist/src/utils/fileUtils.js +25 -16
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +14 -13
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.js +4 -1
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/getFolderStructure.test.js +4 -5
- package/dist/src/utils/getFolderStructure.test.js.map +1 -1
- package/dist/src/utils/getPty.js +4 -0
- package/dist/src/utils/getPty.js.map +1 -1
- package/dist/src/utils/googleErrors.js +29 -5
- package/dist/src/utils/googleErrors.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.js +10 -0
- package/dist/src/utils/googleQuotaErrors.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.test.js +16 -1
- package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +2 -0
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +1 -2
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/retry.d.ts +1 -1
- package/dist/src/utils/retry.js +9 -4
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +15 -12
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/safeJsonStringify.js +3 -0
- package/dist/src/utils/safeJsonStringify.js.map +1 -1
- package/dist/src/utils/schemaValidator.js +5 -3
- package/dist/src/utils/schemaValidator.js.map +1 -1
- package/dist/src/utils/session.d.ts +1 -0
- package/dist/src/utils/session.js +3 -0
- package/dist/src/utils/session.js.map +1 -1
- package/dist/src/utils/sessionUtils.d.ts +14 -0
- package/dist/src/utils/sessionUtils.js +113 -0
- package/dist/src/utils/sessionUtils.js.map +1 -0
- package/dist/src/utils/sessionUtils.test.d.ts +1 -0
- package/dist/src/utils/sessionUtils.test.js +137 -0
- package/dist/src/utils/sessionUtils.test.js.map +1 -0
- package/dist/src/utils/shell-utils.js +1 -0
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/stdio.js +6 -0
- package/dist/src/utils/stdio.js.map +1 -1
- package/dist/src/utils/textUtils.d.ts +9 -0
- package/dist/src/utils/textUtils.js +15 -0
- package/dist/src/utils/textUtils.js.map +1 -1
- package/dist/src/utils/textUtils.test.js +42 -1
- package/dist/src/utils/textUtils.test.js.map +1 -1
- package/dist/src/utils/toolCallContext.d.ts +0 -5
- package/dist/src/utils/toolCallContext.js +1 -1
- package/dist/src/utils/toolCallContext.js.map +1 -1
- package/dist/src/utils/userAccountManager.js +3 -0
- package/dist/src/utils/userAccountManager.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -3
- package/dist/docs/architecture.md +0 -80
- package/dist/docs/cli/index.md +0 -123
- package/dist/docs/core/concepts.md +0 -137
- package/dist/docs/get-started/configuration-v1.md +0 -882
- package/dist/google-gemini-cli-core-0.30.0-preview.5.tgz +0 -0
- /package/dist/docs/{core → reference}/memport.md +0 -0
- /package/dist/docs/{core → reference}/tools-api.md +0 -0
- /package/dist/docs/{cli → resources}/uninstall.md +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keychain-token-storage.js","sourceRoot":"","sources":["../../../../src/mcp/token-storage/keychain-token-storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"keychain-token-storage.js","sourceRoot":"","sources":["../../../../src/mcp/token-storage/keychain-token-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,42 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Storage } from '../config/storage.js';
|
|
6
7
|
import { type PolicyEngineConfig, type ApprovalMode, type PolicySettings } from './types.js';
|
|
7
8
|
import type { PolicyEngine } from './policy-engine.js';
|
|
8
9
|
import { type PolicyFileError } from './toml-loader.js';
|
|
9
10
|
import { type MessageBus } from '../confirmation-bus/message-bus.js';
|
|
10
11
|
export declare const DEFAULT_CORE_POLICIES_DIR: string;
|
|
11
12
|
export declare const DEFAULT_POLICY_TIER = 1;
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const
|
|
13
|
+
export declare const WORKSPACE_POLICY_TIER = 2;
|
|
14
|
+
export declare const USER_POLICY_TIER = 3;
|
|
15
|
+
export declare const ADMIN_POLICY_TIER = 4;
|
|
16
|
+
export declare const ALWAYS_ALLOW_PRIORITY: number;
|
|
17
|
+
export declare const MCP_EXCLUDED_PRIORITY: number;
|
|
18
|
+
export declare const EXCLUDE_TOOLS_FLAG_PRIORITY: number;
|
|
19
|
+
export declare const ALLOWED_TOOLS_FLAG_PRIORITY: number;
|
|
20
|
+
export declare const TRUSTED_MCP_SERVER_PRIORITY: number;
|
|
21
|
+
export declare const ALLOWED_MCP_SERVER_PRIORITY: number;
|
|
14
22
|
/**
|
|
15
|
-
* Gets the list of directories to search for policy files, in order of
|
|
16
|
-
* (
|
|
23
|
+
* Gets the list of directories to search for policy files, in order of increasing priority
|
|
24
|
+
* (Default -> User -> Project -> Admin).
|
|
17
25
|
*
|
|
18
26
|
* @param defaultPoliciesDir Optional path to a directory containing default policies.
|
|
19
27
|
* @param policyPaths Optional user-provided policy paths (from --policy flag).
|
|
20
28
|
* When provided, these replace the default user policies directory.
|
|
29
|
+
* @param workspacePoliciesDir Optional path to a directory containing workspace policies.
|
|
21
30
|
*/
|
|
22
|
-
export declare function getPolicyDirectories(defaultPoliciesDir?: string, policyPaths?: string[]): string[];
|
|
31
|
+
export declare function getPolicyDirectories(defaultPoliciesDir?: string, policyPaths?: string[], workspacePoliciesDir?: string): string[];
|
|
23
32
|
/**
|
|
24
|
-
* Determines the policy tier (1=default, 2=user, 3=admin) for a given directory.
|
|
33
|
+
* Determines the policy tier (1=default, 2=user, 3=workspace, 4=admin) for a given directory.
|
|
25
34
|
* This is used by the TOML loader to assign priority bands.
|
|
26
35
|
*/
|
|
27
|
-
export declare function getPolicyTier(dir: string, defaultPoliciesDir?: string): number;
|
|
36
|
+
export declare function getPolicyTier(dir: string, defaultPoliciesDir?: string, workspacePoliciesDir?: string): number;
|
|
28
37
|
/**
|
|
29
38
|
* Formats a policy file error for console logging.
|
|
30
39
|
*/
|
|
31
40
|
export declare function formatPolicyError(error: PolicyFileError): string;
|
|
32
41
|
export declare function createPolicyEngineConfig(settings: PolicySettings, approvalMode: ApprovalMode, defaultPoliciesDir?: string): Promise<PolicyEngineConfig>;
|
|
33
|
-
export declare function createPolicyUpdater(policyEngine: PolicyEngine, messageBus: MessageBus): void;
|
|
42
|
+
export declare function createPolicyUpdater(policyEngine: PolicyEngine, messageBus: MessageBus, storage: Storage): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import * as fs from 'node:fs/promises';
|
|
@@ -18,43 +18,60 @@ import { coreEvents } from '../utils/events.js';
|
|
|
18
18
|
import { debugLogger } from '../utils/debugLogger.js';
|
|
19
19
|
import { SHELL_TOOL_NAMES } from '../utils/shell-utils.js';
|
|
20
20
|
import { SHELL_TOOL_NAME } from '../tools/tool-names.js';
|
|
21
|
+
import { isNodeError } from '../utils/errors.js';
|
|
21
22
|
import { isDirectorySecure } from '../utils/security.js';
|
|
22
23
|
const __filename = fileURLToPath(import.meta.url);
|
|
23
24
|
const __dirname = path.dirname(__filename);
|
|
24
25
|
export const DEFAULT_CORE_POLICIES_DIR = path.join(__dirname, 'policies');
|
|
25
26
|
// Policy tier constants for priority calculation
|
|
26
27
|
export const DEFAULT_POLICY_TIER = 1;
|
|
27
|
-
export const
|
|
28
|
-
export const
|
|
28
|
+
export const WORKSPACE_POLICY_TIER = 2;
|
|
29
|
+
export const USER_POLICY_TIER = 3;
|
|
30
|
+
export const ADMIN_POLICY_TIER = 4;
|
|
31
|
+
// Specific priority offsets and derived priorities for dynamic/settings rules.
|
|
32
|
+
// These are added to the tier base (e.g., USER_POLICY_TIER).
|
|
33
|
+
// Workspace tier (2) + high priority (950/1000) = ALWAYS_ALLOW_PRIORITY
|
|
34
|
+
// This ensures user "always allow" selections are high priority
|
|
35
|
+
// within the workspace tier but still lose to user/admin policies.
|
|
36
|
+
export const ALWAYS_ALLOW_PRIORITY = WORKSPACE_POLICY_TIER + 0.95;
|
|
37
|
+
export const MCP_EXCLUDED_PRIORITY = USER_POLICY_TIER + 0.9;
|
|
38
|
+
export const EXCLUDE_TOOLS_FLAG_PRIORITY = USER_POLICY_TIER + 0.4;
|
|
39
|
+
export const ALLOWED_TOOLS_FLAG_PRIORITY = USER_POLICY_TIER + 0.3;
|
|
40
|
+
export const TRUSTED_MCP_SERVER_PRIORITY = USER_POLICY_TIER + 0.2;
|
|
41
|
+
export const ALLOWED_MCP_SERVER_PRIORITY = USER_POLICY_TIER + 0.1;
|
|
29
42
|
/**
|
|
30
|
-
* Gets the list of directories to search for policy files, in order of
|
|
31
|
-
* (
|
|
43
|
+
* Gets the list of directories to search for policy files, in order of increasing priority
|
|
44
|
+
* (Default -> User -> Project -> Admin).
|
|
32
45
|
*
|
|
33
46
|
* @param defaultPoliciesDir Optional path to a directory containing default policies.
|
|
34
47
|
* @param policyPaths Optional user-provided policy paths (from --policy flag).
|
|
35
48
|
* When provided, these replace the default user policies directory.
|
|
49
|
+
* @param workspacePoliciesDir Optional path to a directory containing workspace policies.
|
|
36
50
|
*/
|
|
37
|
-
export function getPolicyDirectories(defaultPoliciesDir, policyPaths) {
|
|
51
|
+
export function getPolicyDirectories(defaultPoliciesDir, policyPaths, workspacePoliciesDir) {
|
|
38
52
|
const dirs = [];
|
|
39
|
-
//
|
|
40
|
-
dirs.push(
|
|
41
|
-
// User tier (
|
|
53
|
+
// Admin tier (highest priority)
|
|
54
|
+
dirs.push(Storage.getSystemPoliciesDir());
|
|
55
|
+
// User tier (second highest priority)
|
|
42
56
|
if (policyPaths && policyPaths.length > 0) {
|
|
43
57
|
dirs.push(...policyPaths);
|
|
44
58
|
}
|
|
45
59
|
else {
|
|
46
60
|
dirs.push(Storage.getUserPoliciesDir());
|
|
47
61
|
}
|
|
48
|
-
//
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
62
|
+
// Workspace Tier (third highest)
|
|
63
|
+
if (workspacePoliciesDir) {
|
|
64
|
+
dirs.push(workspacePoliciesDir);
|
|
65
|
+
}
|
|
66
|
+
// Default tier (lowest priority)
|
|
67
|
+
dirs.push(defaultPoliciesDir ?? DEFAULT_CORE_POLICIES_DIR);
|
|
68
|
+
return dirs;
|
|
52
69
|
}
|
|
53
70
|
/**
|
|
54
|
-
* Determines the policy tier (1=default, 2=user, 3=admin) for a given directory.
|
|
71
|
+
* Determines the policy tier (1=default, 2=user, 3=workspace, 4=admin) for a given directory.
|
|
55
72
|
* This is used by the TOML loader to assign priority bands.
|
|
56
73
|
*/
|
|
57
|
-
export function getPolicyTier(dir, defaultPoliciesDir) {
|
|
74
|
+
export function getPolicyTier(dir, defaultPoliciesDir, workspacePoliciesDir) {
|
|
58
75
|
const USER_POLICIES_DIR = Storage.getUserPoliciesDir();
|
|
59
76
|
const ADMIN_POLICIES_DIR = Storage.getSystemPoliciesDir();
|
|
60
77
|
const normalizedDir = path.resolve(dir);
|
|
@@ -70,6 +87,10 @@ export function getPolicyTier(dir, defaultPoliciesDir) {
|
|
|
70
87
|
if (normalizedDir === normalizedUser) {
|
|
71
88
|
return USER_POLICY_TIER;
|
|
72
89
|
}
|
|
90
|
+
if (workspacePoliciesDir &&
|
|
91
|
+
normalizedDir === path.resolve(workspacePoliciesDir)) {
|
|
92
|
+
return WORKSPACE_POLICY_TIER;
|
|
93
|
+
}
|
|
73
94
|
if (normalizedDir === normalizedAdmin) {
|
|
74
95
|
return ADMIN_POLICY_TIER;
|
|
75
96
|
}
|
|
@@ -111,12 +132,12 @@ async function filterSecurePolicyDirectories(dirs) {
|
|
|
111
132
|
return results.filter((dir) => dir !== null);
|
|
112
133
|
}
|
|
113
134
|
export async function createPolicyEngineConfig(settings, approvalMode, defaultPoliciesDir) {
|
|
114
|
-
const policyDirs = getPolicyDirectories(defaultPoliciesDir, settings.policyPaths);
|
|
135
|
+
const policyDirs = getPolicyDirectories(defaultPoliciesDir, settings.policyPaths, settings.workspacePoliciesDir);
|
|
115
136
|
const securePolicyDirs = await filterSecurePolicyDirectories(policyDirs);
|
|
116
137
|
const normalizedAdminPoliciesDir = path.resolve(Storage.getSystemPoliciesDir());
|
|
117
138
|
// Load policies from TOML files
|
|
118
139
|
const { rules: tomlRules, checkers: tomlCheckers, errors, } = await loadPoliciesFromToml(securePolicyDirs, (p) => {
|
|
119
|
-
const tier = getPolicyTier(p, defaultPoliciesDir);
|
|
140
|
+
const tier = getPolicyTier(p, defaultPoliciesDir, settings.workspacePoliciesDir);
|
|
120
141
|
// If it's a user-provided path that isn't already categorized as ADMIN,
|
|
121
142
|
// treat it as USER tier.
|
|
122
143
|
if (settings.policyPaths?.some((userPath) => path.resolve(userPath) === path.resolve(p))) {
|
|
@@ -143,19 +164,21 @@ export async function createPolicyEngineConfig(settings, approvalMode, defaultPo
|
|
|
143
164
|
//
|
|
144
165
|
// Priority bands (tiers):
|
|
145
166
|
// - Default policies (TOML): 1 + priority/1000 (e.g., priority 100 → 1.100)
|
|
146
|
-
// -
|
|
147
|
-
// -
|
|
167
|
+
// - Workspace policies (TOML): 2 + priority/1000 (e.g., priority 100 → 2.100)
|
|
168
|
+
// - User policies (TOML): 3 + priority/1000 (e.g., priority 100 → 3.100)
|
|
169
|
+
// - Admin policies (TOML): 4 + priority/1000 (e.g., priority 100 → 4.100)
|
|
148
170
|
//
|
|
149
|
-
// This ensures Admin > User > Default hierarchy is always preserved,
|
|
171
|
+
// This ensures Admin > User > Workspace > Default hierarchy is always preserved,
|
|
150
172
|
// while allowing user-specified priorities to work within each tier.
|
|
151
173
|
//
|
|
152
|
-
// Settings-based and dynamic rules (
|
|
153
|
-
//
|
|
154
|
-
//
|
|
155
|
-
//
|
|
156
|
-
//
|
|
157
|
-
//
|
|
158
|
-
//
|
|
174
|
+
// Settings-based and dynamic rules (mixed tiers):
|
|
175
|
+
// MCP_EXCLUDED_PRIORITY: MCP servers excluded list (security: persistent server blocks)
|
|
176
|
+
// EXCLUDE_TOOLS_FLAG_PRIORITY: Command line flag --exclude-tools (explicit temporary blocks)
|
|
177
|
+
// ALLOWED_TOOLS_FLAG_PRIORITY: Command line flag --allowed-tools (explicit temporary allows)
|
|
178
|
+
// TRUSTED_MCP_SERVER_PRIORITY: MCP servers with trust=true (persistent trusted servers)
|
|
179
|
+
// ALLOWED_MCP_SERVER_PRIORITY: MCP servers allowed list (persistent general server allows)
|
|
180
|
+
// ALWAYS_ALLOW_PRIORITY: Tools that the user has selected as "Always Allow" in the interactive UI
|
|
181
|
+
// (Workspace tier 2.x - scoped to the project)
|
|
159
182
|
//
|
|
160
183
|
// TOML policy priorities (before transformation):
|
|
161
184
|
// 10: Write tools default to ASK_USER (becomes 1.010 in default tier)
|
|
@@ -165,31 +188,31 @@ export async function createPolicyEngineConfig(settings, approvalMode, defaultPo
|
|
|
165
188
|
// 70: Plan mode explicit ALLOW override (becomes 1.070 in default tier)
|
|
166
189
|
// 999: YOLO mode allow-all (becomes 1.999 in default tier)
|
|
167
190
|
// MCP servers that are explicitly excluded in settings.mcp.excluded
|
|
168
|
-
// Priority:
|
|
191
|
+
// Priority: MCP_EXCLUDED_PRIORITY (highest in user tier for security - persistent server blocks)
|
|
169
192
|
if (settings.mcp?.excluded) {
|
|
170
193
|
for (const serverName of settings.mcp.excluded) {
|
|
171
194
|
rules.push({
|
|
172
195
|
toolName: `${serverName}__*`,
|
|
173
196
|
decision: PolicyDecision.DENY,
|
|
174
|
-
priority:
|
|
197
|
+
priority: MCP_EXCLUDED_PRIORITY,
|
|
175
198
|
source: 'Settings (MCP Excluded)',
|
|
176
199
|
});
|
|
177
200
|
}
|
|
178
201
|
}
|
|
179
202
|
// Tools that are explicitly excluded in the settings.
|
|
180
|
-
// Priority:
|
|
203
|
+
// Priority: EXCLUDE_TOOLS_FLAG_PRIORITY (user tier - explicit temporary blocks)
|
|
181
204
|
if (settings.tools?.exclude) {
|
|
182
205
|
for (const tool of settings.tools.exclude) {
|
|
183
206
|
rules.push({
|
|
184
207
|
toolName: tool,
|
|
185
208
|
decision: PolicyDecision.DENY,
|
|
186
|
-
priority:
|
|
209
|
+
priority: EXCLUDE_TOOLS_FLAG_PRIORITY,
|
|
187
210
|
source: 'Settings (Tools Excluded)',
|
|
188
211
|
});
|
|
189
212
|
}
|
|
190
213
|
}
|
|
191
214
|
// Tools that are explicitly allowed in the settings.
|
|
192
|
-
// Priority:
|
|
215
|
+
// Priority: ALLOWED_TOOLS_FLAG_PRIORITY (user tier - explicit temporary allows)
|
|
193
216
|
if (settings.tools?.allowed) {
|
|
194
217
|
for (const tool of settings.tools.allowed) {
|
|
195
218
|
// Check for legacy format: toolName(args)
|
|
@@ -208,7 +231,7 @@ export async function createPolicyEngineConfig(settings, approvalMode, defaultPo
|
|
|
208
231
|
rules.push({
|
|
209
232
|
toolName,
|
|
210
233
|
decision: PolicyDecision.ALLOW,
|
|
211
|
-
priority:
|
|
234
|
+
priority: ALLOWED_TOOLS_FLAG_PRIORITY,
|
|
212
235
|
argsPattern: new RegExp(pattern),
|
|
213
236
|
source: 'Settings (Tools Allowed)',
|
|
214
237
|
});
|
|
@@ -221,7 +244,7 @@ export async function createPolicyEngineConfig(settings, approvalMode, defaultPo
|
|
|
221
244
|
rules.push({
|
|
222
245
|
toolName,
|
|
223
246
|
decision: PolicyDecision.ALLOW,
|
|
224
|
-
priority:
|
|
247
|
+
priority: ALLOWED_TOOLS_FLAG_PRIORITY,
|
|
225
248
|
source: 'Settings (Tools Allowed)',
|
|
226
249
|
});
|
|
227
250
|
}
|
|
@@ -234,14 +257,14 @@ export async function createPolicyEngineConfig(settings, approvalMode, defaultPo
|
|
|
234
257
|
rules.push({
|
|
235
258
|
toolName,
|
|
236
259
|
decision: PolicyDecision.ALLOW,
|
|
237
|
-
priority:
|
|
260
|
+
priority: ALLOWED_TOOLS_FLAG_PRIORITY,
|
|
238
261
|
source: 'Settings (Tools Allowed)',
|
|
239
262
|
});
|
|
240
263
|
}
|
|
241
264
|
}
|
|
242
265
|
}
|
|
243
266
|
// MCP servers that are trusted in the settings.
|
|
244
|
-
// Priority:
|
|
267
|
+
// Priority: TRUSTED_MCP_SERVER_PRIORITY (user tier - persistent trusted servers)
|
|
245
268
|
if (settings.mcpServers) {
|
|
246
269
|
for (const [serverName, serverConfig] of Object.entries(settings.mcpServers)) {
|
|
247
270
|
if (serverConfig.trust) {
|
|
@@ -250,20 +273,20 @@ export async function createPolicyEngineConfig(settings, approvalMode, defaultPo
|
|
|
250
273
|
rules.push({
|
|
251
274
|
toolName: `${serverName}__*`,
|
|
252
275
|
decision: PolicyDecision.ALLOW,
|
|
253
|
-
priority:
|
|
276
|
+
priority: TRUSTED_MCP_SERVER_PRIORITY,
|
|
254
277
|
source: 'Settings (MCP Trusted)',
|
|
255
278
|
});
|
|
256
279
|
}
|
|
257
280
|
}
|
|
258
281
|
}
|
|
259
282
|
// MCP servers that are explicitly allowed in settings.mcp.allowed
|
|
260
|
-
// Priority:
|
|
283
|
+
// Priority: ALLOWED_MCP_SERVER_PRIORITY (user tier - persistent general server allows)
|
|
261
284
|
if (settings.mcp?.allowed) {
|
|
262
285
|
for (const serverName of settings.mcp.allowed) {
|
|
263
286
|
rules.push({
|
|
264
287
|
toolName: `${serverName}__*`,
|
|
265
288
|
decision: PolicyDecision.ALLOW,
|
|
266
|
-
priority:
|
|
289
|
+
priority: ALLOWED_MCP_SERVER_PRIORITY,
|
|
267
290
|
source: 'Settings (MCP Allowed)',
|
|
268
291
|
});
|
|
269
292
|
}
|
|
@@ -275,7 +298,7 @@ export async function createPolicyEngineConfig(settings, approvalMode, defaultPo
|
|
|
275
298
|
approvalMode,
|
|
276
299
|
};
|
|
277
300
|
}
|
|
278
|
-
export function createPolicyUpdater(policyEngine, messageBus) {
|
|
301
|
+
export function createPolicyUpdater(policyEngine, messageBus, storage) {
|
|
279
302
|
// Use a sequential queue for persistence to avoid lost updates from concurrent events.
|
|
280
303
|
let persistenceQueue = Promise.resolve();
|
|
281
304
|
messageBus.subscribe(MessageBusType.UPDATE_POLICY, async (message) => {
|
|
@@ -290,10 +313,7 @@ export function createPolicyUpdater(policyEngine, messageBus) {
|
|
|
290
313
|
policyEngine.addRule({
|
|
291
314
|
toolName,
|
|
292
315
|
decision: PolicyDecision.ALLOW,
|
|
293
|
-
|
|
294
|
-
// This ensures user "always allow" selections are high priority
|
|
295
|
-
// but still lose to admin policies (3.xxx) and settings excludes (200)
|
|
296
|
-
priority: 2.95,
|
|
316
|
+
priority: ALWAYS_ALLOW_PRIORITY,
|
|
297
317
|
argsPattern: new RegExp(pattern),
|
|
298
318
|
source: 'Dynamic (Confirmed)',
|
|
299
319
|
});
|
|
@@ -311,10 +331,7 @@ export function createPolicyUpdater(policyEngine, messageBus) {
|
|
|
311
331
|
policyEngine.addRule({
|
|
312
332
|
toolName,
|
|
313
333
|
decision: PolicyDecision.ALLOW,
|
|
314
|
-
|
|
315
|
-
// This ensures user "always allow" selections are high priority
|
|
316
|
-
// but still lose to admin policies (3.xxx) and settings excludes (200)
|
|
317
|
-
priority: 2.95,
|
|
334
|
+
priority: ALWAYS_ALLOW_PRIORITY,
|
|
318
335
|
argsPattern,
|
|
319
336
|
source: 'Dynamic (Confirmed)',
|
|
320
337
|
});
|
|
@@ -322,18 +339,22 @@ export function createPolicyUpdater(policyEngine, messageBus) {
|
|
|
322
339
|
if (message.persist) {
|
|
323
340
|
persistenceQueue = persistenceQueue.then(async () => {
|
|
324
341
|
try {
|
|
325
|
-
const
|
|
326
|
-
await fs.mkdir(
|
|
327
|
-
const policyFile =
|
|
342
|
+
const workspacePoliciesDir = storage.getWorkspacePoliciesDir();
|
|
343
|
+
await fs.mkdir(workspacePoliciesDir, { recursive: true });
|
|
344
|
+
const policyFile = storage.getAutoSavedPolicyPath();
|
|
328
345
|
// Read existing file
|
|
329
346
|
let existingData = {};
|
|
330
347
|
try {
|
|
331
348
|
const fileContent = await fs.readFile(policyFile, 'utf-8');
|
|
332
|
-
|
|
349
|
+
const parsed = toml.parse(fileContent);
|
|
350
|
+
if (typeof parsed === 'object' &&
|
|
351
|
+
parsed !== null &&
|
|
352
|
+
(!('rule' in parsed) || Array.isArray(parsed['rule']))) {
|
|
353
|
+
existingData = parsed;
|
|
354
|
+
}
|
|
333
355
|
}
|
|
334
356
|
catch (error) {
|
|
335
|
-
|
|
336
|
-
if (error.code !== 'ENOENT') {
|
|
357
|
+
if (!isNodeError(error) || error.code !== 'ENOENT') {
|
|
337
358
|
debugLogger.warn(`Failed to parse ${policyFile}, overwriting with new policy.`, error);
|
|
338
359
|
}
|
|
339
360
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/policy/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/policy/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,7 +109,7 @@ describe('createPolicyEngineConfig', () => {
|
|
|
109
109
|
const rule = config.rules?.find((r) => r.toolName === 'run_shell_command' &&
|
|
110
110
|
r.decision === PolicyDecision.ALLOW);
|
|
111
111
|
expect(rule).toBeDefined();
|
|
112
|
-
expect(rule?.priority).toBeCloseTo(
|
|
112
|
+
expect(rule?.priority).toBeCloseTo(3.3, 5); // Command line allow
|
|
113
113
|
});
|
|
114
114
|
it('should deny tools in tools.exclude', async () => {
|
|
115
115
|
const { createPolicyEngineConfig } = await import('./config.js');
|
|
@@ -120,7 +120,7 @@ describe('createPolicyEngineConfig', () => {
|
|
|
120
120
|
const rule = config.rules?.find((r) => r.toolName === 'run_shell_command' &&
|
|
121
121
|
r.decision === PolicyDecision.DENY);
|
|
122
122
|
expect(rule).toBeDefined();
|
|
123
|
-
expect(rule?.priority).toBeCloseTo(
|
|
123
|
+
expect(rule?.priority).toBeCloseTo(3.4, 5); // Command line exclude
|
|
124
124
|
});
|
|
125
125
|
it('should allow tools from allowed MCP servers', async () => {
|
|
126
126
|
const { createPolicyEngineConfig } = await import('./config.js');
|
|
@@ -130,7 +130,7 @@ describe('createPolicyEngineConfig', () => {
|
|
|
130
130
|
const config = await createPolicyEngineConfig(settings, ApprovalMode.DEFAULT, '/tmp/mock/default/policies');
|
|
131
131
|
const rule = config.rules?.find((r) => r.toolName === 'my-server__*' && r.decision === PolicyDecision.ALLOW);
|
|
132
132
|
expect(rule).toBeDefined();
|
|
133
|
-
expect(rule?.priority).toBe(
|
|
133
|
+
expect(rule?.priority).toBe(3.1); // MCP allowed server
|
|
134
134
|
});
|
|
135
135
|
it('should deny tools from excluded MCP servers', async () => {
|
|
136
136
|
const { createPolicyEngineConfig } = await import('./config.js');
|
|
@@ -140,7 +140,7 @@ describe('createPolicyEngineConfig', () => {
|
|
|
140
140
|
const config = await createPolicyEngineConfig(settings, ApprovalMode.DEFAULT, '/tmp/mock/default/policies');
|
|
141
141
|
const rule = config.rules?.find((r) => r.toolName === 'my-server__*' && r.decision === PolicyDecision.DENY);
|
|
142
142
|
expect(rule).toBeDefined();
|
|
143
|
-
expect(rule?.priority).toBe(
|
|
143
|
+
expect(rule?.priority).toBe(3.9); // MCP excluded server
|
|
144
144
|
});
|
|
145
145
|
it('should allow tools from trusted MCP servers', async () => {
|
|
146
146
|
const { createPolicyEngineConfig } = await import('./config.js');
|
|
@@ -158,7 +158,7 @@ describe('createPolicyEngineConfig', () => {
|
|
|
158
158
|
const trustedRule = config.rules?.find((r) => r.toolName === 'trusted-server__*' &&
|
|
159
159
|
r.decision === PolicyDecision.ALLOW);
|
|
160
160
|
expect(trustedRule).toBeDefined();
|
|
161
|
-
expect(trustedRule?.priority).toBe(
|
|
161
|
+
expect(trustedRule?.priority).toBe(3.2); // MCP trusted server
|
|
162
162
|
// Untrusted server should not have an allow rule
|
|
163
163
|
const untrustedRule = config.rules?.find((r) => r.toolName === 'untrusted-server__*' &&
|
|
164
164
|
r.decision === PolicyDecision.ALLOW);
|
|
@@ -182,17 +182,17 @@ describe('createPolicyEngineConfig', () => {
|
|
|
182
182
|
const allowedRule = config.rules?.find((r) => r.toolName === 'allowed-server__*' &&
|
|
183
183
|
r.decision === PolicyDecision.ALLOW);
|
|
184
184
|
expect(allowedRule).toBeDefined();
|
|
185
|
-
expect(allowedRule?.priority).toBe(
|
|
185
|
+
expect(allowedRule?.priority).toBe(3.1); // MCP allowed server
|
|
186
186
|
// Check trusted server
|
|
187
187
|
const trustedRule = config.rules?.find((r) => r.toolName === 'trusted-server__*' &&
|
|
188
188
|
r.decision === PolicyDecision.ALLOW);
|
|
189
189
|
expect(trustedRule).toBeDefined();
|
|
190
|
-
expect(trustedRule?.priority).toBe(
|
|
190
|
+
expect(trustedRule?.priority).toBe(3.2); // MCP trusted server
|
|
191
191
|
// Check excluded server
|
|
192
192
|
const excludedRule = config.rules?.find((r) => r.toolName === 'excluded-server__*' &&
|
|
193
193
|
r.decision === PolicyDecision.DENY);
|
|
194
194
|
expect(excludedRule).toBeDefined();
|
|
195
|
-
expect(excludedRule?.priority).toBe(
|
|
195
|
+
expect(excludedRule?.priority).toBe(3.9); // MCP excluded server
|
|
196
196
|
});
|
|
197
197
|
it('should allow all tools in YOLO mode', async () => {
|
|
198
198
|
const { createPolicyEngineConfig } = await import('./config.js');
|
|
@@ -239,10 +239,10 @@ describe('createPolicyEngineConfig', () => {
|
|
|
239
239
|
const toolAllowRule = config.rules?.find((r) => r.toolName === 'my-server__specific-tool' &&
|
|
240
240
|
r.decision === PolicyDecision.ALLOW);
|
|
241
241
|
expect(serverDenyRule).toBeDefined();
|
|
242
|
-
expect(serverDenyRule?.priority).toBe(
|
|
242
|
+
expect(serverDenyRule?.priority).toBe(3.9); // MCP excluded server
|
|
243
243
|
expect(toolAllowRule).toBeDefined();
|
|
244
|
-
expect(toolAllowRule?.priority).toBeCloseTo(
|
|
245
|
-
// Server deny (
|
|
244
|
+
expect(toolAllowRule?.priority).toBeCloseTo(3.3, 5); // Command line allow
|
|
245
|
+
// Server deny (3.9) has higher priority than tool allow (3.3),
|
|
246
246
|
// so server deny wins (this is expected behavior - server-level blocks are security critical)
|
|
247
247
|
});
|
|
248
248
|
it('should handle MCP server allows and tool excludes', async () => {
|
|
@@ -262,23 +262,23 @@ describe('createPolicyEngineConfig', () => {
|
|
|
262
262
|
r.decision === PolicyDecision.DENY);
|
|
263
263
|
expect(serverAllowRule).toBeDefined();
|
|
264
264
|
expect(toolDenyRule).toBeDefined();
|
|
265
|
-
// Command line exclude (
|
|
265
|
+
// Command line exclude (3.4) has higher priority than MCP server trust (3.2)
|
|
266
266
|
// This is the correct behavior - specific exclusions should beat general server trust
|
|
267
267
|
expect(toolDenyRule.priority).toBeGreaterThan(serverAllowRule.priority);
|
|
268
268
|
});
|
|
269
269
|
it('should handle complex priority scenarios correctly', async () => {
|
|
270
270
|
const settings = {
|
|
271
271
|
tools: {
|
|
272
|
-
allowed: ['my-server__tool1', 'other-tool'], // Priority
|
|
273
|
-
exclude: ['my-server__tool2', 'glob'], // Priority
|
|
272
|
+
allowed: ['my-server__tool1', 'other-tool'], // Priority 3.3
|
|
273
|
+
exclude: ['my-server__tool2', 'glob'], // Priority 3.4
|
|
274
274
|
},
|
|
275
275
|
mcp: {
|
|
276
|
-
allowed: ['allowed-server'], // Priority
|
|
277
|
-
excluded: ['excluded-server'], // Priority
|
|
276
|
+
allowed: ['allowed-server'], // Priority 3.1
|
|
277
|
+
excluded: ['excluded-server'], // Priority 3.9
|
|
278
278
|
},
|
|
279
279
|
mcpServers: {
|
|
280
280
|
'trusted-server': {
|
|
281
|
-
trust: true, // Priority 90 ->
|
|
281
|
+
trust: true, // Priority 90 -> 3.2
|
|
282
282
|
},
|
|
283
283
|
},
|
|
284
284
|
};
|
|
@@ -338,7 +338,7 @@ describe('createPolicyEngineConfig', () => {
|
|
|
338
338
|
expect(globDenyRule).toBeDefined();
|
|
339
339
|
expect(globAllowRule).toBeDefined();
|
|
340
340
|
// Deny from settings (user tier)
|
|
341
|
-
expect(globDenyRule.priority).toBeCloseTo(
|
|
341
|
+
expect(globDenyRule.priority).toBeCloseTo(3.4, 5); // Command line exclude
|
|
342
342
|
// Allow from default TOML: 1 + 50/1000 = 1.05
|
|
343
343
|
expect(globAllowRule.priority).toBeCloseTo(1.05, 5);
|
|
344
344
|
// Verify all priority levels are correct
|
|
@@ -349,9 +349,9 @@ describe('createPolicyEngineConfig', () => {
|
|
|
349
349
|
priority: r.priority,
|
|
350
350
|
}))
|
|
351
351
|
.sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
|
|
352
|
-
// Check that the highest priority items are the excludes (user tier:
|
|
353
|
-
const highestPriorityExcludes = priorities?.filter((p) => Math.abs(p.priority -
|
|
354
|
-
Math.abs(p.priority -
|
|
352
|
+
// Check that the highest priority items are the excludes (user tier: 3.4 and 3.9)
|
|
353
|
+
const highestPriorityExcludes = priorities?.filter((p) => Math.abs(p.priority - 3.4) < 0.01 ||
|
|
354
|
+
Math.abs(p.priority - 3.9) < 0.01);
|
|
355
355
|
expect(highestPriorityExcludes?.every((p) => p.decision === PolicyDecision.DENY)).toBe(true);
|
|
356
356
|
vi.doUnmock('node:fs/promises');
|
|
357
357
|
});
|
|
@@ -406,7 +406,7 @@ describe('createPolicyEngineConfig', () => {
|
|
|
406
406
|
// Should still have the exclude rule (from settings, user tier)
|
|
407
407
|
const excludeRule = config.rules?.find((r) => r.toolName === 'dangerous-tool' && r.decision === PolicyDecision.DENY);
|
|
408
408
|
expect(excludeRule).toBeDefined();
|
|
409
|
-
expect(excludeRule?.priority).toBeCloseTo(
|
|
409
|
+
expect(excludeRule?.priority).toBeCloseTo(3.4, 5); // Command line exclude
|
|
410
410
|
});
|
|
411
411
|
it('should support argsPattern in policy rules', async () => {
|
|
412
412
|
const actualFs = await vi.importActual('node:fs/promises');
|
|
@@ -471,8 +471,8 @@ priority = 150
|
|
|
471
471
|
const rule = config.rules?.find((r) => r.toolName === 'run_shell_command' &&
|
|
472
472
|
r.decision === PolicyDecision.ALLOW);
|
|
473
473
|
expect(rule).toBeDefined();
|
|
474
|
-
// Priority 150 in user tier →
|
|
475
|
-
expect(rule?.priority).toBeCloseTo(
|
|
474
|
+
// Priority 150 in user tier → 3.150
|
|
475
|
+
expect(rule?.priority).toBeCloseTo(3.15, 5);
|
|
476
476
|
expect(rule?.argsPattern).toBeInstanceOf(RegExp);
|
|
477
477
|
expect(rule?.argsPattern?.test('{"command":"git status"}')).toBe(true);
|
|
478
478
|
expect(rule?.argsPattern?.test('{"command":"git diff"}')).toBe(true);
|
|
@@ -669,7 +669,7 @@ name = "invalid-name"
|
|
|
669
669
|
const rule = config.rules?.find((r) => r.toolName === 'run_shell_command' &&
|
|
670
670
|
r.decision === PolicyDecision.ALLOW);
|
|
671
671
|
expect(rule).toBeDefined();
|
|
672
|
-
expect(rule?.priority).toBeCloseTo(
|
|
672
|
+
expect(rule?.priority).toBeCloseTo(3.3, 5); // Command line allow
|
|
673
673
|
vi.doUnmock('node:fs/promises');
|
|
674
674
|
});
|
|
675
675
|
it('should allow overriding Plan Mode deny with user policy', async () => {
|
|
@@ -758,7 +758,7 @@ modes = ["plan"]
|
|
|
758
758
|
r.decision === PolicyDecision.ALLOW &&
|
|
759
759
|
r.modes?.includes(ApprovalMode.PLAN));
|
|
760
760
|
expect(subagentRule).toBeDefined();
|
|
761
|
-
expect(subagentRule?.priority).toBeCloseTo(
|
|
761
|
+
expect(subagentRule?.priority).toBeCloseTo(3.1, 5);
|
|
762
762
|
vi.doUnmock('node:fs/promises');
|
|
763
763
|
});
|
|
764
764
|
});
|