@machina.ai/cell-cli-core 1.22.5-rc1 → 1.25.0-rc2
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/AFTER_MERGE_PROMPT.md +26 -0
- package/dist/docs/CHANGES.md +124 -0
- package/dist/docs/api-proxy.md +27 -0
- package/dist/docs/architecture.md +80 -0
- package/dist/docs/assets/connected_devtools.png +0 -0
- package/dist/docs/assets/gemini-screenshot.png +0 -0
- package/dist/docs/assets/monitoring-dashboard-logs.png +0 -0
- package/dist/docs/assets/monitoring-dashboard-metrics.png +0 -0
- package/dist/docs/assets/monitoring-dashboard-overview.png +0 -0
- package/dist/docs/assets/release_patch.png +0 -0
- package/dist/docs/assets/theme-ansi-light.png +0 -0
- package/dist/docs/assets/theme-ansi.png +0 -0
- package/dist/docs/assets/theme-atom-one.png +0 -0
- package/dist/docs/assets/theme-ayu-light.png +0 -0
- package/dist/docs/assets/theme-ayu.png +0 -0
- package/dist/docs/assets/theme-custom.png +0 -0
- package/dist/docs/assets/theme-default-light.png +0 -0
- package/dist/docs/assets/theme-default.png +0 -0
- package/dist/docs/assets/theme-dracula.png +0 -0
- package/dist/docs/assets/theme-github-light.png +0 -0
- package/dist/docs/assets/theme-github.png +0 -0
- package/dist/docs/assets/theme-google-light.png +0 -0
- package/dist/docs/assets/theme-xcode-light.png +0 -0
- package/dist/docs/changelogs/index.md +612 -0
- package/dist/docs/changelogs/latest.md +153 -0
- package/dist/docs/changelogs/preview.md +131 -0
- package/dist/docs/changelogs/releases.md +1162 -0
- package/dist/docs/cli/authentication.md +3 -0
- package/dist/docs/cli/checkpointing.md +94 -0
- package/dist/docs/cli/commands.md +357 -0
- package/dist/docs/cli/custom-commands.md +315 -0
- package/dist/docs/cli/enterprise.md +564 -0
- package/dist/docs/cli/gemini-ignore.md +71 -0
- package/dist/docs/cli/gemini-md.md +109 -0
- package/dist/docs/cli/generation-settings.md +210 -0
- package/dist/docs/cli/headless.md +388 -0
- package/dist/docs/cli/index.md +63 -0
- package/dist/docs/cli/keyboard-shortcuts.md +136 -0
- package/dist/docs/cli/model-routing.md +37 -0
- package/dist/docs/cli/model.md +62 -0
- package/dist/docs/cli/sandbox.md +171 -0
- package/dist/docs/cli/session-management.md +158 -0
- package/dist/docs/cli/settings.md +148 -0
- package/dist/docs/cli/skills.md +188 -0
- package/dist/docs/cli/system-prompt.md +94 -0
- package/dist/docs/cli/telemetry.md +813 -0
- package/dist/docs/cli/themes.md +237 -0
- package/dist/docs/cli/token-caching.md +20 -0
- package/dist/docs/cli/trusted-folders.md +95 -0
- package/dist/docs/cli/tutorials/skills-getting-started.md +124 -0
- package/dist/docs/cli/tutorials.md +87 -0
- package/dist/docs/cli/uninstall.md +47 -0
- package/dist/docs/core/index.md +101 -0
- package/dist/docs/core/memport.md +246 -0
- package/dist/docs/core/policy-engine.md +268 -0
- package/dist/docs/core/tools-api.md +131 -0
- package/dist/docs/examples/proxy-script.md +83 -0
- package/dist/docs/extensions/extension-releasing.md +183 -0
- package/dist/docs/extensions/getting-started-extensions.md +244 -0
- package/dist/docs/extensions/index.md +343 -0
- package/dist/docs/faq.md +153 -0
- package/dist/docs/get-started/authentication.md +321 -0
- package/dist/docs/get-started/configuration-v1.md +890 -0
- package/dist/docs/get-started/configuration.md +1643 -0
- package/dist/docs/get-started/examples.md +218 -0
- package/dist/docs/get-started/gemini-3.md +101 -0
- package/dist/docs/get-started/index.md +71 -0
- package/dist/docs/get-started/installation.md +141 -0
- package/dist/docs/hooks/best-practices.md +856 -0
- package/dist/docs/hooks/index.md +723 -0
- package/dist/docs/hooks/reference.md +178 -0
- package/dist/docs/hooks/writing-hooks.md +1044 -0
- package/dist/docs/ide-integration/ide-companion-spec.md +267 -0
- package/dist/docs/ide-integration/index.md +201 -0
- package/dist/docs/index.md +147 -0
- package/dist/docs/integration-tests.md +211 -0
- package/dist/docs/issue-and-pr-automation.md +134 -0
- package/dist/docs/local-development.md +128 -0
- package/dist/docs/mcp_integration.md +160 -0
- package/dist/docs/mermaid/context.mmd +103 -0
- package/dist/docs/mermaid/render-path.mmd +64 -0
- package/dist/docs/npm.md +62 -0
- package/dist/docs/quota-and-pricing.md +158 -0
- package/dist/docs/release-confidence.md +164 -0
- package/dist/docs/releases.md +540 -0
- package/dist/docs/sidebar.json +301 -0
- package/dist/docs/tools/file-system.md +217 -0
- package/dist/docs/tools/index.md +95 -0
- package/dist/docs/tools/mcp-server.md +1045 -0
- package/dist/docs/tools/memory.md +54 -0
- package/dist/docs/tools/shell.md +260 -0
- package/dist/docs/tools/todos.md +56 -0
- package/dist/docs/tools/web-fetch.md +59 -0
- package/dist/docs/tools/web-search.md +42 -0
- package/dist/docs/tos-privacy.md +96 -0
- package/dist/docs/troubleshooting.md +162 -0
- package/dist/package.json +7 -4
- package/dist/src/agents/a2a-client-manager.d.ts +82 -0
- package/dist/src/agents/a2a-client-manager.js +295 -0
- package/dist/src/agents/a2a-client-manager.js.map +1 -0
- package/dist/src/agents/a2a-client-manager.test.js +281 -0
- package/dist/src/agents/a2a-client-manager.test.js.map +1 -0
- package/dist/src/agents/a2aUtils.d.ts +29 -0
- package/dist/src/agents/a2aUtils.js +113 -0
- package/dist/src/agents/a2aUtils.js.map +1 -0
- package/dist/src/agents/a2aUtils.test.js +147 -0
- package/dist/src/agents/a2aUtils.test.js.map +1 -0
- package/dist/src/agents/agentLoader.d.ts +68 -0
- package/dist/src/agents/agentLoader.js +255 -0
- package/dist/src/agents/agentLoader.js.map +1 -0
- package/dist/src/agents/agentLoader.test.js +307 -0
- package/dist/src/agents/agentLoader.test.js.map +1 -0
- package/dist/src/agents/cli-help-agent.d.ts +24 -0
- package/dist/src/agents/cli-help-agent.js +85 -0
- package/dist/src/agents/cli-help-agent.js.map +1 -0
- package/dist/src/agents/cli-help-agent.test.js +65 -0
- package/dist/src/agents/cli-help-agent.test.js.map +1 -0
- package/dist/src/agents/codebase-investigator.d.ts +2 -2
- package/dist/src/agents/codebase-investigator.js +14 -8
- package/dist/src/agents/codebase-investigator.js.map +1 -1
- package/dist/src/agents/delegate-to-agent-tool.d.ts +2 -2
- package/dist/src/agents/delegate-to-agent-tool.js +25 -14
- package/dist/src/agents/delegate-to-agent-tool.js.map +1 -1
- package/dist/src/agents/delegate-to-agent-tool.test.js +101 -21
- package/dist/src/agents/delegate-to-agent-tool.test.js.map +1 -1
- package/dist/src/agents/{executor.d.ts → local-executor.d.ts} +5 -11
- package/dist/src/agents/{executor.js → local-executor.js} +123 -62
- package/dist/src/agents/local-executor.js.map +1 -0
- package/dist/src/agents/local-executor.test.d.ts +6 -0
- package/dist/src/agents/{executor.test.js → local-executor.test.js} +136 -58
- package/dist/src/agents/local-executor.test.js.map +1 -0
- package/dist/src/agents/{invocation.d.ts → local-invocation.d.ts} +6 -7
- package/dist/src/agents/{invocation.js → local-invocation.js} +9 -10
- package/dist/src/agents/local-invocation.js.map +1 -0
- package/dist/src/agents/local-invocation.test.d.ts +6 -0
- package/dist/src/agents/{invocation.test.js → local-invocation.test.js} +29 -20
- package/dist/src/agents/local-invocation.test.js.map +1 -0
- package/dist/src/agents/registry.d.ts +22 -1
- package/dist/src/agents/registry.js +192 -35
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +407 -33
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/remote-invocation.d.ts +35 -0
- package/dist/src/agents/remote-invocation.js +126 -0
- package/dist/src/agents/remote-invocation.js.map +1 -0
- package/dist/src/agents/remote-invocation.test.d.ts +6 -0
- package/dist/src/agents/remote-invocation.test.js +201 -0
- package/dist/src/agents/remote-invocation.test.js.map +1 -0
- package/dist/src/agents/subagent-tool-wrapper.d.ts +2 -2
- package/dist/src/agents/subagent-tool-wrapper.js +11 -6
- package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.test.js +33 -19
- package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
- package/dist/src/agents/types.d.ts +21 -15
- package/dist/src/agents/types.js.map +1 -1
- package/dist/src/availability/fallbackIntegration.test.d.ts +6 -0
- package/dist/src/availability/fallbackIntegration.test.js +58 -0
- package/dist/src/availability/fallbackIntegration.test.js.map +1 -0
- package/dist/src/availability/modelAvailabilityService.d.ts +2 -1
- package/dist/src/availability/policyHelpers.d.ts +4 -3
- package/dist/src/availability/policyHelpers.js +13 -22
- package/dist/src/availability/policyHelpers.js.map +1 -1
- package/dist/src/availability/policyHelpers.test.js +28 -18
- package/dist/src/availability/policyHelpers.test.js.map +1 -1
- package/dist/src/code_assist/experiments/experiments.d.ts +1 -1
- package/dist/src/code_assist/experiments/experiments.js +21 -0
- package/dist/src/code_assist/experiments/experiments.js.map +1 -1
- package/dist/src/code_assist/experiments/experiments_local.test.d.ts +6 -0
- package/dist/src/code_assist/experiments/experiments_local.test.js +110 -0
- package/dist/src/code_assist/experiments/experiments_local.test.js.map +1 -0
- package/dist/src/code_assist/oauth-credential-storage.js +3 -4
- package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
- package/dist/src/code_assist/oauth2.js +32 -2
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +111 -16
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/server.d.ts +9 -1
- package/dist/src/code_assist/server.js +74 -11
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +199 -27
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/code_assist/setup.js +6 -4
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/setup.test.js +63 -0
- package/dist/src/code_assist/setup.test.js.map +1 -1
- package/dist/src/code_assist/telemetry.d.ts +14 -0
- package/dist/src/code_assist/telemetry.js +157 -0
- package/dist/src/code_assist/telemetry.js.map +1 -0
- package/dist/src/code_assist/telemetry.test.d.ts +6 -0
- package/dist/src/code_assist/telemetry.test.js +301 -0
- package/dist/src/code_assist/telemetry.test.js.map +1 -0
- package/dist/src/code_assist/types.d.ts +77 -1
- package/dist/src/code_assist/types.js +28 -0
- package/dist/src/code_assist/types.js.map +1 -1
- package/dist/src/commands/memory.d.ts +11 -0
- package/dist/src/commands/memory.js +80 -0
- package/dist/src/commands/memory.js.map +1 -0
- package/dist/src/commands/memory.test.d.ts +6 -0
- package/dist/src/commands/memory.test.js +155 -0
- package/dist/src/commands/memory.test.js.map +1 -0
- package/dist/src/config/config.d.ts +120 -26
- package/dist/src/config/config.js +241 -120
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +215 -43
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/flashFallback.test.js +11 -35
- package/dist/src/config/flashFallback.test.js.map +1 -1
- package/dist/src/config/models.d.ts +8 -9
- package/dist/src/config/models.js +18 -15
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +52 -16
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +5 -0
- package/dist/src/config/storage.js +17 -2
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +16 -0
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.js +2 -1
- package/dist/src/confirmation-bus/message-bus.js.map +1 -1
- package/dist/src/core/baseLlmClient.js +44 -43
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +12 -19
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.d.ts +7 -1
- package/dist/src/core/client.js +245 -114
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +277 -74
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/clientHookTriggers.js +2 -2
- package/dist/src/core/clientHookTriggers.js.map +1 -1
- package/dist/src/core/contentGenerator.js +3 -3
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +1 -7
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.d.ts +9 -5
- package/dist/src/core/coreToolHookTriggers.js +119 -21
- package/dist/src/core/coreToolHookTriggers.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.test.d.ts +6 -0
- package/dist/src/core/coreToolHookTriggers.test.js +191 -0
- package/dist/src/core/coreToolHookTriggers.test.js.map +1 -0
- package/dist/src/core/coreToolScheduler.d.ts +7 -93
- package/dist/src/core/coreToolScheduler.js +133 -369
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +252 -394
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +26 -1
- package/dist/src/core/geminiChat.js +112 -79
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +125 -92
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChatHookTriggers.d.ts +8 -4
- package/dist/src/core/geminiChatHookTriggers.js +34 -12
- package/dist/src/core/geminiChatHookTriggers.js.map +1 -1
- package/dist/src/core/geminiChatHookTriggers.test.d.ts +6 -0
- package/dist/src/core/geminiChatHookTriggers.test.js +153 -0
- package/dist/src/core/geminiChatHookTriggers.test.js.map +1 -0
- package/dist/src/core/geminiChat_network_retry.test.js +4 -6
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.js +19 -2
- package/dist/src/core/loggingContentGenerator.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.test.js +30 -0
- package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +4 -4
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/prompts.js +37 -13
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/prompts.test.js +47 -3
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/core/tokenLimits.js +6 -12
- package/dist/src/core/tokenLimits.js.map +1 -1
- package/dist/src/core/tokenLimits.test.js +8 -4
- package/dist/src/core/tokenLimits.test.js.map +1 -1
- package/dist/src/core/turn.d.ts +21 -22
- package/dist/src/core/turn.js +31 -21
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +79 -5
- package/dist/src/core/turn.test.js.map +1 -1
- package/dist/src/fallback/handler.js +1 -7
- package/dist/src/fallback/handler.js.map +1 -1
- package/dist/src/fallback/handler.test.js +10 -29
- package/dist/src/fallback/handler.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +3 -3
- package/dist/src/generated/git-commit.js +3 -3
- package/dist/src/hooks/hookAggregator.js +7 -0
- package/dist/src/hooks/hookAggregator.js.map +1 -1
- package/dist/src/hooks/hookEventHandler.d.ts +9 -5
- package/dist/src/hooks/hookEventHandler.js +61 -15
- package/dist/src/hooks/hookEventHandler.js.map +1 -1
- package/dist/src/hooks/hookEventHandler.test.js +223 -8
- package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
- package/dist/src/hooks/hookPlanner.d.ts +1 -5
- package/dist/src/hooks/hookPlanner.js +2 -7
- package/dist/src/hooks/hookPlanner.js.map +1 -1
- package/dist/src/hooks/hookPlanner.test.js +62 -2
- package/dist/src/hooks/hookPlanner.test.js.map +1 -1
- package/dist/src/hooks/hookRegistry.d.ts +6 -11
- package/dist/src/hooks/hookRegistry.js +41 -14
- package/dist/src/hooks/hookRegistry.js.map +1 -1
- package/dist/src/hooks/hookRegistry.test.js +166 -2
- package/dist/src/hooks/hookRegistry.test.js.map +1 -1
- package/dist/src/hooks/hookRunner.d.ts +5 -3
- package/dist/src/hooks/hookRunner.js +57 -17
- package/dist/src/hooks/hookRunner.js.map +1 -1
- package/dist/src/hooks/hookRunner.test.js +172 -35
- package/dist/src/hooks/hookRunner.test.js.map +1 -1
- package/dist/src/hooks/hookSystem.d.ts +12 -0
- package/dist/src/hooks/hookSystem.js +39 -1
- package/dist/src/hooks/hookSystem.js.map +1 -1
- package/dist/src/hooks/hookTranslator.js +2 -1
- package/dist/src/hooks/hookTranslator.js.map +1 -1
- package/dist/src/hooks/index.d.ts +1 -2
- package/dist/src/hooks/index.js +1 -3
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/trustedHooks.d.ts +28 -0
- package/dist/src/hooks/trustedHooks.js +90 -0
- package/dist/src/hooks/trustedHooks.js.map +1 -0
- package/dist/src/hooks/trustedHooks.test.d.ts +6 -0
- package/dist/src/hooks/trustedHooks.test.js +154 -0
- package/dist/src/hooks/trustedHooks.test.js.map +1 -0
- package/dist/src/hooks/types.d.ts +41 -9
- package/dist/src/hooks/types.js +31 -41
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/hooks/types.test.js +9 -52
- package/dist/src/hooks/types.test.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +4 -0
- package/dist/src/ide/detect-ide.js +7 -2
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +10 -0
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-client.js +4 -1
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-installer.js +2 -2
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +11 -2
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/index.d.ts +16 -2
- package/dist/src/index.js +18 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js +7 -3
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +4 -1
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.d.ts +8 -1
- package/dist/src/mcp/oauth-utils.js +31 -2
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/oauth-utils.test.js +42 -0
- package/dist/src/mcp/oauth-utils.test.js.map +1 -1
- package/dist/src/mcp/token-storage/file-token-storage.js +2 -2
- package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
- package/dist/src/policy/config.js +62 -23
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/config.test.js +24 -2
- package/dist/src/policy/config.test.js.map +1 -1
- package/dist/src/policy/persistence.test.js +1 -1
- package/dist/src/policy/persistence.test.js.map +1 -1
- package/dist/src/policy/policies/agent.toml +1 -1
- package/dist/src/policy/policies/write.toml +5 -0
- package/dist/src/policy/policies/yolo.toml +1 -0
- package/dist/src/policy/policy-engine.d.ts +4 -0
- package/dist/src/policy/policy-engine.js +137 -53
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +289 -1
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/policy-updater.test.js +5 -5
- package/dist/src/policy/policy-updater.test.js.map +1 -1
- package/dist/src/policy/shell-safety.test.js +371 -8
- package/dist/src/policy/shell-safety.test.js.map +1 -1
- package/dist/src/policy/toml-loader.d.ts +0 -8
- package/dist/src/policy/toml-loader.js +13 -45
- package/dist/src/policy/toml-loader.js.map +1 -1
- package/dist/src/policy/toml-loader.test.js +13 -0
- package/dist/src/policy/toml-loader.test.js.map +1 -1
- package/dist/src/policy/types.d.ts +10 -0
- package/dist/src/policy/utils.d.ts +21 -0
- package/dist/src/policy/utils.js +45 -0
- package/dist/src/policy/utils.js.map +1 -0
- package/dist/src/policy/utils.test.d.ts +6 -0
- package/dist/src/policy/utils.test.js +92 -0
- package/dist/src/policy/utils.test.js.map +1 -0
- package/dist/src/routing/routingStrategy.d.ts +2 -0
- package/dist/src/routing/strategies/classifierStrategy.js +1 -1
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js +16 -0
- package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.js +4 -2
- package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.test.js +11 -10
- package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.d.ts +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js +2 -5
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.test.js +13 -6
- package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.d.ts +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js +6 -6
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.test.js +14 -0
- package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -1
- package/dist/src/scheduler/tool-executor.d.ts +22 -0
- package/dist/src/scheduler/tool-executor.js +198 -0
- package/dist/src/scheduler/tool-executor.js.map +1 -0
- package/dist/src/scheduler/tool-executor.test.d.ts +6 -0
- package/dist/src/scheduler/tool-executor.test.js +231 -0
- package/dist/src/scheduler/tool-executor.test.js.map +1 -0
- package/dist/src/scheduler/tool-modifier.d.ts +23 -0
- package/dist/src/scheduler/tool-modifier.js +50 -0
- package/dist/src/scheduler/tool-modifier.js.map +1 -0
- package/dist/src/scheduler/tool-modifier.test.d.ts +6 -0
- package/dist/src/scheduler/tool-modifier.test.js +159 -0
- package/dist/src/scheduler/tool-modifier.test.js.map +1 -0
- package/dist/src/scheduler/types.d.ts +95 -0
- package/dist/src/scheduler/types.js +7 -0
- package/dist/src/scheduler/types.js.map +1 -0
- package/dist/src/services/chatCompressionService.js +3 -10
- package/dist/src/services/chatCompressionService.js.map +1 -1
- package/dist/src/services/chatCompressionService.test.js +1 -0
- 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 +20 -2
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/chatRecordingService.test.js +43 -0
- package/dist/src/services/chatRecordingService.test.js.map +1 -1
- package/dist/src/services/contextManager.d.ts +5 -11
- package/dist/src/services/contextManager.js +20 -17
- package/dist/src/services/contextManager.js.map +1 -1
- package/dist/src/services/contextManager.test.js +40 -41
- package/dist/src/services/contextManager.test.js.map +1 -1
- package/dist/src/services/environmentSanitization.d.ts +15 -0
- package/dist/src/services/environmentSanitization.js +142 -0
- package/dist/src/services/environmentSanitization.js.map +1 -0
- package/dist/src/services/environmentSanitization.test.d.ts +6 -0
- package/dist/src/services/environmentSanitization.test.js +284 -0
- package/dist/src/services/environmentSanitization.test.js.map +1 -0
- package/dist/src/services/gitService.js +10 -1
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +28 -2
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/services/loopDetectionService.js +2 -1
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/loopDetectionService.test.js +14 -8
- package/dist/src/services/loopDetectionService.test.js.map +1 -1
- package/dist/src/services/modelConfig.integration.test.js +3 -3
- package/dist/src/services/modelConfig.integration.test.js.map +1 -1
- package/dist/src/services/modelConfigService.d.ts +38 -4
- package/dist/src/services/modelConfigService.js +135 -76
- package/dist/src/services/modelConfigService.js.map +1 -1
- package/dist/src/services/modelConfigService.test.js +116 -0
- package/dist/src/services/modelConfigService.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.d.ts +2 -0
- package/dist/src/services/shellExecutionService.js +6 -50
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +68 -4
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/skills/skillLoader.d.ts +31 -0
- package/dist/src/skills/skillLoader.js +77 -0
- package/dist/src/skills/skillLoader.js.map +1 -0
- package/dist/src/skills/skillLoader.test.d.ts +6 -0
- package/dist/src/skills/skillLoader.test.js +75 -0
- package/dist/src/skills/skillLoader.test.js.map +1 -0
- package/dist/src/skills/skillManager.d.ts +69 -0
- package/dist/src/skills/skillManager.js +127 -0
- package/dist/src/skills/skillManager.js.map +1 -0
- package/dist/src/skills/skillManager.test.d.ts +6 -0
- package/dist/src/skills/skillManager.test.js +210 -0
- package/dist/src/skills/skillManager.test.js.map +1 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +18 -9
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +234 -160
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +162 -32
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +11 -3
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +24 -5
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +3 -3
- package/dist/src/telemetry/loggers.js +6 -5
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.circular.js +1 -0
- package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +51 -10
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/sdk.js +5 -6
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +7 -7
- package/dist/src/telemetry/types.js +14 -12
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/test-utils/mock-message-bus.d.ts +1 -0
- package/dist/src/test-utils/mock-message-bus.js +29 -0
- package/dist/src/test-utils/mock-message-bus.js.map +1 -1
- package/dist/src/test-utils/mock-tool.d.ts +5 -3
- package/dist/src/test-utils/mock-tool.js +11 -10
- package/dist/src/test-utils/mock-tool.js.map +1 -1
- package/dist/src/tools/activate-skill.d.ts +27 -0
- package/dist/src/tools/activate-skill.js +133 -0
- package/dist/src/tools/activate-skill.js.map +1 -0
- package/dist/src/tools/activate-skill.test.d.ts +6 -0
- package/dist/src/tools/activate-skill.test.js +113 -0
- package/dist/src/tools/activate-skill.test.js.map +1 -0
- package/dist/src/tools/confirmation-policy.test.js +3 -12
- package/dist/src/tools/confirmation-policy.test.js.map +1 -1
- package/dist/src/tools/edit.d.ts +27 -5
- package/dist/src/tools/edit.js +455 -136
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +292 -526
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/get-internal-docs.d.ts +27 -0
- package/dist/src/tools/get-internal-docs.js +122 -0
- package/dist/src/tools/get-internal-docs.js.map +1 -0
- package/dist/src/tools/get-internal-docs.test.d.ts +6 -0
- package/dist/src/tools/get-internal-docs.test.js +57 -0
- package/dist/src/tools/get-internal-docs.test.js.map +1 -0
- package/dist/src/tools/glob.d.ts +2 -2
- package/dist/src/tools/glob.js +1 -1
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/glob.test.js +2 -1
- package/dist/src/tools/glob.test.js.map +1 -1
- package/dist/src/tools/grep.d.ts +2 -2
- package/dist/src/tools/grep.js +1 -1
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +5 -4
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/ls.d.ts +2 -2
- package/dist/src/tools/ls.js +2 -2
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +2 -1
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.js +14 -7
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +28 -0
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +5 -4
- package/dist/src/tools/mcp-client.js +10 -8
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +47 -42
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +20 -5
- package/dist/src/tools/mcp-tool.js +8 -8
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +11 -6
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +3 -3
- package/dist/src/tools/memoryTool.js +2 -4
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +5 -2
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/message-bus-integration.test.js +10 -37
- package/dist/src/tools/message-bus-integration.test.js.map +1 -1
- package/dist/src/tools/read-file.d.ts +2 -2
- package/dist/src/tools/read-file.js +1 -1
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +3 -2
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/read-many-files.d.ts +2 -2
- package/dist/src/tools/read-many-files.js +2 -3
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +3 -2
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/ripGrep.d.ts +3 -2
- package/dist/src/tools/ripGrep.js +18 -7
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +60 -4
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +3 -6
- package/dist/src/tools/shell.js +21 -49
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +35 -59
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +6 -1
- package/dist/src/tools/tool-error.js +6 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +15 -0
- package/dist/src/tools/tool-names.js +57 -0
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tool-names.test.d.ts +6 -0
- package/dist/src/tools/tool-names.test.js +43 -0
- package/dist/src/tools/tool-names.test.js.map +1 -0
- package/dist/src/tools/tool-registry.d.ts +11 -7
- package/dist/src/tools/tool-registry.js +15 -10
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +16 -11
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +8 -6
- package/dist/src/tools/tools.js +16 -18
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/tools.test.js +3 -1
- package/dist/src/tools/tools.test.js.map +1 -1
- package/dist/src/tools/web-fetch.d.ts +2 -2
- package/dist/src/tools/web-fetch.js +4 -4
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +17 -19
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.d.ts +2 -2
- package/dist/src/tools/web-search.js +5 -5
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/web-search.test.js +2 -1
- package/dist/src/tools/web-search.test.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +2 -2
- package/dist/src/tools/write-file.js +9 -6
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +49 -7
- 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 +5 -4
- package/dist/src/tools/write-todos.js.map +1 -1
- package/dist/src/tools/write-todos.test.js +2 -1
- package/dist/src/tools/write-todos.test.js.map +1 -1
- package/dist/src/utils/apiConversionUtils.d.ts +12 -0
- package/dist/src/utils/apiConversionUtils.js +46 -0
- package/dist/src/utils/apiConversionUtils.js.map +1 -0
- package/dist/src/utils/apiConversionUtils.test.d.ts +6 -0
- package/dist/src/utils/apiConversionUtils.test.js +150 -0
- package/dist/src/utils/apiConversionUtils.test.js.map +1 -0
- package/dist/src/utils/checkpointUtils.d.ts +1 -1
- package/dist/src/utils/checkpointUtils.js +1 -1
- package/dist/src/utils/checkpointUtils.js.map +1 -1
- package/dist/src/utils/checkpointUtils.test.js +1 -1
- package/dist/src/utils/checkpointUtils.test.js.map +1 -1
- package/dist/src/utils/debugLogger.js +1 -0
- package/dist/src/utils/debugLogger.js.map +1 -1
- package/dist/src/utils/editCorrector.d.ts +3 -3
- package/dist/src/utils/editCorrector.js +27 -10
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +23 -23
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/editor.d.ts +3 -2
- package/dist/src/utils/editor.js +26 -6
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/editor.test.js +27 -4
- package/dist/src/utils/editor.test.js.map +1 -1
- package/dist/src/utils/environmentContext.d.ts +1 -0
- package/dist/src/utils/environmentContext.js +4 -0
- package/dist/src/utils/environmentContext.js.map +1 -1
- package/dist/src/utils/environmentContext.test.js +2 -0
- package/dist/src/utils/environmentContext.test.js.map +1 -1
- package/dist/src/utils/errorReporting.d.ts +1 -1
- package/dist/src/utils/errorReporting.js +13 -12
- package/dist/src/utils/errorReporting.js.map +1 -1
- package/dist/src/utils/errorReporting.test.js +17 -14
- package/dist/src/utils/errorReporting.test.js.map +1 -1
- package/dist/src/utils/events.d.ts +71 -19
- package/dist/src/utils/events.js +35 -9
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/events.test.js +25 -0
- package/dist/src/utils/events.test.js.map +1 -1
- package/dist/src/utils/fileDiffUtils.d.ts +18 -0
- package/dist/src/utils/fileDiffUtils.js +37 -0
- package/dist/src/utils/fileDiffUtils.js.map +1 -0
- package/dist/src/utils/fileDiffUtils.test.d.ts +6 -0
- package/dist/src/utils/fileDiffUtils.test.js +84 -0
- package/dist/src/utils/fileDiffUtils.test.js.map +1 -0
- package/dist/src/utils/fileUtils.d.ts +4 -0
- package/dist/src/utils/fileUtils.js +53 -0
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +112 -1
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/geminiIgnoreParser.d.ts +11 -0
- package/dist/src/utils/geminiIgnoreParser.js +20 -0
- package/dist/src/utils/geminiIgnoreParser.js.map +1 -1
- package/dist/src/utils/geminiIgnoreParser.test.js +48 -0
- package/dist/src/utils/geminiIgnoreParser.test.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.d.ts +3 -1
- package/dist/src/utils/generateContentResponseUtilities.js +106 -0
- package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.test.js +279 -2
- package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
- package/dist/src/utils/getFolderStructure.js +7 -2
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.js +9 -10
- package/dist/src/utils/gitIgnoreParser.js.map +1 -1
- package/dist/src/utils/installationManager.test.js +11 -3
- package/dist/src/utils/installationManager.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +3 -4
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +12 -1
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/partUtils.js +1 -1
- package/dist/src/utils/partUtils.js.map +1 -1
- package/dist/src/utils/paths.d.ts +10 -0
- package/dist/src/utils/paths.js +20 -1
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/retry.d.ts +1 -0
- package/dist/src/utils/retry.js +17 -5
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +11 -11
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/shell-utils.d.ts +6 -0
- package/dist/src/utils/shell-utils.js +97 -12
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +99 -1
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/src/utils/summarizer.test.js +3 -2
- package/dist/src/utils/summarizer.test.js.map +1 -1
- package/dist/src/utils/terminal.d.ts +4 -0
- package/dist/src/utils/terminal.js +12 -0
- package/dist/src/utils/terminal.js.map +1 -1
- package/dist/src/utils/tokenCalculation.js +20 -5
- package/dist/src/utils/tokenCalculation.js.map +1 -1
- package/dist/src/utils/tokenCalculation.test.js +11 -2
- package/dist/src/utils/tokenCalculation.test.js.map +1 -1
- package/dist/src/utils/tool-utils.d.ts +9 -0
- package/dist/src/utils/tool-utils.js +29 -0
- package/dist/src/utils/tool-utils.js.map +1 -1
- package/dist/src/utils/tool-utils.test.js +17 -2
- package/dist/src/utils/tool-utils.test.js.map +1 -1
- package/dist/src/utils/userAccountManager.test.js +5 -5
- package/dist/src/utils/userAccountManager.test.js.map +1 -1
- package/dist/src/utils/workspaceContext.test.js +1 -1
- package/dist/src/utils/workspaceContext.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -6
- package/dist/src/agents/executor.js.map +0 -1
- package/dist/src/agents/executor.test.js.map +0 -1
- package/dist/src/agents/invocation.js.map +0 -1
- package/dist/src/agents/invocation.test.js.map +0 -1
- package/dist/src/core/sessionHookTriggers.d.ts +0 -28
- package/dist/src/core/sessionHookTriggers.js +0 -68
- package/dist/src/core/sessionHookTriggers.js.map +0 -1
- package/dist/src/tools/smart-edit.d.ts +0 -78
- package/dist/src/tools/smart-edit.js +0 -722
- package/dist/src/tools/smart-edit.js.map +0 -1
- package/dist/src/tools/smart-edit.test.js +0 -592
- package/dist/src/tools/smart-edit.test.js.map +0 -1
- package/dist/src/utils/shell-permissions.d.ts +0 -52
- package/dist/src/utils/shell-permissions.js +0 -188
- package/dist/src/utils/shell-permissions.js.map +0 -1
- package/dist/src/utils/shell-permissions.test.js +0 -347
- package/dist/src/utils/shell-permissions.test.js.map +0 -1
- /package/dist/src/agents/{executor.test.d.ts → a2a-client-manager.test.d.ts} +0 -0
- /package/dist/src/agents/{invocation.test.d.ts → a2aUtils.test.d.ts} +0 -0
- /package/dist/src/{tools/smart-edit.test.d.ts → agents/agentLoader.test.d.ts} +0 -0
- /package/dist/src/{utils/shell-permissions.test.d.ts → agents/cli-help-agent.test.d.ts} +0 -0
|
@@ -7,7 +7,7 @@ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
|
7
7
|
import { ApiError, ThinkingLevel } from '@google/genai';
|
|
8
8
|
import { GeminiChat, InvalidStreamError, StreamEventType, SYNTHETIC_THOUGHT_SIGNATURE, } from './geminiChat.js';
|
|
9
9
|
import { setSimulate429 } from '../utils/testUtils.js';
|
|
10
|
-
import {
|
|
10
|
+
import { DEFAULT_THINKING_MODE } from '../config/models.js';
|
|
11
11
|
import { AuthType } from './contentGenerator.js';
|
|
12
12
|
import { TerminalQuotaError } from '../utils/googleQuotaErrors.js';
|
|
13
13
|
import {} from '../utils/retry.js';
|
|
@@ -17,6 +17,13 @@ import { createMockMessageBus } from '../test-utils/mock-message-bus.js';
|
|
|
17
17
|
import { createAvailabilityServiceMock } from '../availability/testUtils.js';
|
|
18
18
|
import * as policyHelpers from '../availability/policyHelpers.js';
|
|
19
19
|
import { makeResolvedModelConfig } from '../services/modelConfigServiceTestUtils.js';
|
|
20
|
+
import { fireBeforeModelHook, fireAfterModelHook, fireBeforeToolSelectionHook, } from './geminiChatHookTriggers.js';
|
|
21
|
+
// Mock hook triggers
|
|
22
|
+
vi.mock('./geminiChatHookTriggers.js', () => ({
|
|
23
|
+
fireBeforeModelHook: vi.fn(),
|
|
24
|
+
fireAfterModelHook: vi.fn(),
|
|
25
|
+
fireBeforeToolSelectionHook: vi.fn().mockResolvedValue({}),
|
|
26
|
+
}));
|
|
20
27
|
// Mock fs module to prevent actual file system operations during tests
|
|
21
28
|
const mockFileSystem = new Map();
|
|
22
29
|
vi.mock('node:fs', () => {
|
|
@@ -116,7 +123,6 @@ describe('GeminiChat', () => {
|
|
|
116
123
|
// When model is explicitly set, active model usually resets or updates to it
|
|
117
124
|
currentActiveModel = m;
|
|
118
125
|
}),
|
|
119
|
-
isInFallbackMode: vi.fn().mockReturnValue(false),
|
|
120
126
|
getQuotaErrorOccurred: vi.fn().mockReturnValue(false),
|
|
121
127
|
setQuotaErrorOccurred: vi.fn(),
|
|
122
128
|
flashFallbackHandler: undefined,
|
|
@@ -143,24 +149,21 @@ describe('GeminiChat', () => {
|
|
|
143
149
|
return {
|
|
144
150
|
model,
|
|
145
151
|
generateContentConfig: {
|
|
146
|
-
temperature: 0,
|
|
152
|
+
temperature: modelConfigKey.isRetry ? 1 : 0,
|
|
147
153
|
thinkingConfig,
|
|
148
154
|
},
|
|
149
155
|
};
|
|
150
156
|
}),
|
|
151
157
|
},
|
|
152
|
-
isPreviewModelBypassMode: vi.fn().mockReturnValue(false),
|
|
153
|
-
setPreviewModelBypassMode: vi.fn(),
|
|
154
|
-
isPreviewModelFallbackMode: vi.fn().mockReturnValue(false),
|
|
155
|
-
setPreviewModelFallbackMode: vi.fn(),
|
|
156
158
|
isInteractive: vi.fn().mockReturnValue(false),
|
|
157
159
|
getEnableHooks: vi.fn().mockReturnValue(false),
|
|
158
|
-
isModelAvailabilityServiceEnabled: vi.fn().mockReturnValue(false),
|
|
159
160
|
getActiveModel: vi.fn().mockImplementation(() => currentActiveModel),
|
|
160
161
|
setActiveModel: vi
|
|
161
162
|
.fn()
|
|
162
163
|
.mockImplementation((m) => (currentActiveModel = m)),
|
|
163
|
-
getModelAvailabilityService: vi
|
|
164
|
+
getModelAvailabilityService: vi
|
|
165
|
+
.fn()
|
|
166
|
+
.mockReturnValue(createAvailabilityServiceMock()),
|
|
164
167
|
};
|
|
165
168
|
// Use proper MessageBus mocking for Phase 3 preparation
|
|
166
169
|
const mockMessageBus = createMockMessageBus();
|
|
@@ -433,66 +436,6 @@ describe('GeminiChat', () => {
|
|
|
433
436
|
expect(modelTurn?.parts?.length).toBe(1);
|
|
434
437
|
expect(modelTurn?.parts[0].text).toBe('This is the visible text that should not be lost.');
|
|
435
438
|
});
|
|
436
|
-
it('should use maxAttempts=1 for retryWithBackoff when in Preview Model Fallback Mode', async () => {
|
|
437
|
-
vi.mocked(mockConfig.isPreviewModelFallbackMode).mockReturnValue(true);
|
|
438
|
-
vi.mocked(mockContentGenerator.generateContentStream).mockResolvedValue((async function* () {
|
|
439
|
-
yield {
|
|
440
|
-
candidates: [
|
|
441
|
-
{
|
|
442
|
-
content: { parts: [{ text: 'Success' }] },
|
|
443
|
-
finishReason: 'STOP',
|
|
444
|
-
},
|
|
445
|
-
],
|
|
446
|
-
};
|
|
447
|
-
})());
|
|
448
|
-
const stream = await chat.sendMessageStream({ model: PREVIEW_GEMINI_MODEL }, 'test', 'prompt-id-fast-retry', new AbortController().signal);
|
|
449
|
-
for await (const _ of stream) {
|
|
450
|
-
// consume stream
|
|
451
|
-
}
|
|
452
|
-
expect(mockRetryWithBackoff).toHaveBeenCalledWith(expect.any(Function), expect.objectContaining({
|
|
453
|
-
maxAttempts: 1,
|
|
454
|
-
}));
|
|
455
|
-
});
|
|
456
|
-
it('should use maxAttempts=1 for retryWithBackoff when in Preview Model Fallback Mode (Flash)', async () => {
|
|
457
|
-
vi.mocked(mockConfig.isPreviewModelFallbackMode).mockReturnValue(true);
|
|
458
|
-
vi.mocked(mockContentGenerator.generateContentStream).mockResolvedValue((async function* () {
|
|
459
|
-
yield {
|
|
460
|
-
candidates: [
|
|
461
|
-
{
|
|
462
|
-
content: { parts: [{ text: 'Success' }] },
|
|
463
|
-
finishReason: 'STOP',
|
|
464
|
-
},
|
|
465
|
-
],
|
|
466
|
-
};
|
|
467
|
-
})());
|
|
468
|
-
const stream = await chat.sendMessageStream({ model: PREVIEW_GEMINI_FLASH_MODEL }, 'test', 'prompt-id-fast-retry-flash', new AbortController().signal);
|
|
469
|
-
for await (const _ of stream) {
|
|
470
|
-
// consume stream
|
|
471
|
-
}
|
|
472
|
-
expect(mockRetryWithBackoff).toHaveBeenCalledWith(expect.any(Function), expect.objectContaining({
|
|
473
|
-
maxAttempts: 1,
|
|
474
|
-
}));
|
|
475
|
-
});
|
|
476
|
-
it('should NOT use maxAttempts=1 for other models even in Preview Model Fallback Mode', async () => {
|
|
477
|
-
vi.mocked(mockConfig.isPreviewModelFallbackMode).mockReturnValue(true);
|
|
478
|
-
vi.mocked(mockContentGenerator.generateContentStream).mockResolvedValue((async function* () {
|
|
479
|
-
yield {
|
|
480
|
-
candidates: [
|
|
481
|
-
{
|
|
482
|
-
content: { parts: [{ text: 'Success' }] },
|
|
483
|
-
finishReason: 'STOP',
|
|
484
|
-
},
|
|
485
|
-
],
|
|
486
|
-
};
|
|
487
|
-
})());
|
|
488
|
-
const stream = await chat.sendMessageStream({ model: DEFAULT_GEMINI_FLASH_MODEL }, 'test', 'prompt-id-normal-retry', new AbortController().signal);
|
|
489
|
-
for await (const _ of stream) {
|
|
490
|
-
// consume stream
|
|
491
|
-
}
|
|
492
|
-
expect(mockRetryWithBackoff).toHaveBeenCalledWith(expect.any(Function), expect.objectContaining({
|
|
493
|
-
maxAttempts: undefined, // Should use default
|
|
494
|
-
}));
|
|
495
|
-
});
|
|
496
439
|
it('should throw an error when a tool call is followed by an empty stream response', async () => {
|
|
497
440
|
// 1. Setup: A history where the model has just made a function call.
|
|
498
441
|
const initialHistory = [
|
|
@@ -1343,8 +1286,6 @@ describe('GeminiChat', () => {
|
|
|
1343
1286
|
vi.mocked(mockConfig.getContentGeneratorConfig).mockReturnValue({
|
|
1344
1287
|
authType,
|
|
1345
1288
|
});
|
|
1346
|
-
const isInFallbackModeSpy = vi.spyOn(mockConfig, 'isInFallbackMode');
|
|
1347
|
-
isInFallbackModeSpy.mockReturnValue(false);
|
|
1348
1289
|
vi.mocked(mockContentGenerator.generateContentStream)
|
|
1349
1290
|
.mockRejectedValueOnce(error429) // Attempt 1 fails
|
|
1350
1291
|
.mockResolvedValueOnce(
|
|
@@ -1359,10 +1300,7 @@ describe('GeminiChat', () => {
|
|
|
1359
1300
|
],
|
|
1360
1301
|
};
|
|
1361
1302
|
})());
|
|
1362
|
-
mockHandleFallback.mockImplementation(async () =>
|
|
1363
|
-
isInFallbackModeSpy.mockReturnValue(true);
|
|
1364
|
-
return true; // Signal retry
|
|
1365
|
-
});
|
|
1303
|
+
mockHandleFallback.mockImplementation(async () => true);
|
|
1366
1304
|
const stream = await chat.sendMessageStream({ model: 'test-model' }, 'trigger 429', 'prompt-id-fb1', new AbortController().signal);
|
|
1367
1305
|
// Consume stream to trigger logic
|
|
1368
1306
|
for await (const _ of stream) {
|
|
@@ -1375,19 +1313,6 @@ describe('GeminiChat', () => {
|
|
|
1375
1313
|
const modelTurn = history[1];
|
|
1376
1314
|
expect(modelTurn.parts[0].text).toBe('Success on retry');
|
|
1377
1315
|
});
|
|
1378
|
-
it('should stop retrying if handleFallback returns false (e.g., auth intent)', async () => {
|
|
1379
|
-
vi.mocked(mockConfig.getModel).mockReturnValue('gemini-pro');
|
|
1380
|
-
vi.mocked(mockContentGenerator.generateContentStream).mockRejectedValue(error429);
|
|
1381
|
-
mockHandleFallback.mockResolvedValue(false);
|
|
1382
|
-
const stream = await chat.sendMessageStream({ model: 'gemini-2.0-flash' }, 'test stop', 'prompt-id-fb2', new AbortController().signal);
|
|
1383
|
-
await expect((async () => {
|
|
1384
|
-
for await (const _ of stream) {
|
|
1385
|
-
/* consume stream */
|
|
1386
|
-
}
|
|
1387
|
-
})()).rejects.toThrow(error429);
|
|
1388
|
-
expect(mockContentGenerator.generateContentStream).toHaveBeenCalledTimes(1);
|
|
1389
|
-
expect(mockHandleFallback).toHaveBeenCalledTimes(1);
|
|
1390
|
-
});
|
|
1391
1316
|
});
|
|
1392
1317
|
it('should discard valid partial content from a failed attempt upon retry', async () => {
|
|
1393
1318
|
// Mock the stream to fail on the first attempt after yielding some valid content.
|
|
@@ -1558,7 +1483,6 @@ describe('GeminiChat', () => {
|
|
|
1558
1483
|
beforeEach(async () => {
|
|
1559
1484
|
mockAvailabilityService = createAvailabilityServiceMock();
|
|
1560
1485
|
vi.mocked(mockConfig.getModelAvailabilityService).mockReturnValue(mockAvailabilityService);
|
|
1561
|
-
vi.mocked(mockConfig.isModelAvailabilityServiceEnabled).mockReturnValue(true);
|
|
1562
1486
|
// Stateful mock for activeModel
|
|
1563
1487
|
let activeModel = 'model-a';
|
|
1564
1488
|
vi.mocked(mockConfig.getActiveModel).mockImplementation(() => activeModel);
|
|
@@ -1676,9 +1600,16 @@ describe('GeminiChat', () => {
|
|
|
1676
1600
|
activeModel = model;
|
|
1677
1601
|
});
|
|
1678
1602
|
// Different configs per model
|
|
1679
|
-
vi.mocked(mockConfig.modelConfigService.getResolvedConfig)
|
|
1680
|
-
.
|
|
1681
|
-
|
|
1603
|
+
vi.mocked(mockConfig.modelConfigService.getResolvedConfig).mockImplementation((key) => {
|
|
1604
|
+
if (key.model === 'model-a') {
|
|
1605
|
+
return makeResolvedModelConfig('model-a', { temperature: 0.1 });
|
|
1606
|
+
}
|
|
1607
|
+
if (key.model === 'model-b') {
|
|
1608
|
+
return makeResolvedModelConfig('model-b', { temperature: 0.9 });
|
|
1609
|
+
}
|
|
1610
|
+
// Default for the initial requested model in this test
|
|
1611
|
+
return makeResolvedModelConfig('model-a', { temperature: 0.1 });
|
|
1612
|
+
});
|
|
1682
1613
|
// First attempt uses model-a, then simulate availability switching to model-b
|
|
1683
1614
|
mockRetryWithBackoff.mockImplementation(async (apiCall) => {
|
|
1684
1615
|
await apiCall(); // first attempt
|
|
@@ -1724,5 +1655,107 @@ describe('GeminiChat', () => {
|
|
|
1724
1655
|
}), expect.any(String));
|
|
1725
1656
|
});
|
|
1726
1657
|
});
|
|
1658
|
+
describe('Hook execution control', () => {
|
|
1659
|
+
beforeEach(() => {
|
|
1660
|
+
vi.mocked(mockConfig.getEnableHooks).mockReturnValue(true);
|
|
1661
|
+
// Default to allowing execution
|
|
1662
|
+
vi.mocked(fireBeforeModelHook).mockResolvedValue({ blocked: false });
|
|
1663
|
+
vi.mocked(fireAfterModelHook).mockResolvedValue({
|
|
1664
|
+
response: {},
|
|
1665
|
+
});
|
|
1666
|
+
vi.mocked(fireBeforeToolSelectionHook).mockResolvedValue({});
|
|
1667
|
+
});
|
|
1668
|
+
it('should yield AGENT_EXECUTION_STOPPED when BeforeModel hook stops execution', async () => {
|
|
1669
|
+
vi.mocked(fireBeforeModelHook).mockResolvedValue({
|
|
1670
|
+
blocked: true,
|
|
1671
|
+
stopped: true,
|
|
1672
|
+
reason: 'stopped by hook',
|
|
1673
|
+
});
|
|
1674
|
+
const stream = await chat.sendMessageStream({ model: 'gemini-pro' }, 'test', 'prompt-id', new AbortController().signal);
|
|
1675
|
+
const events = [];
|
|
1676
|
+
for await (const event of stream) {
|
|
1677
|
+
events.push(event);
|
|
1678
|
+
}
|
|
1679
|
+
expect(events).toHaveLength(1);
|
|
1680
|
+
expect(events[0]).toEqual({
|
|
1681
|
+
type: StreamEventType.AGENT_EXECUTION_STOPPED,
|
|
1682
|
+
reason: 'stopped by hook',
|
|
1683
|
+
});
|
|
1684
|
+
});
|
|
1685
|
+
it('should yield AGENT_EXECUTION_BLOCKED and synthetic response when BeforeModel hook blocks execution', async () => {
|
|
1686
|
+
const syntheticResponse = {
|
|
1687
|
+
candidates: [{ content: { parts: [{ text: 'blocked' }] } }],
|
|
1688
|
+
};
|
|
1689
|
+
vi.mocked(fireBeforeModelHook).mockResolvedValue({
|
|
1690
|
+
blocked: true,
|
|
1691
|
+
reason: 'blocked by hook',
|
|
1692
|
+
syntheticResponse,
|
|
1693
|
+
});
|
|
1694
|
+
const stream = await chat.sendMessageStream({ model: 'gemini-pro' }, 'test', 'prompt-id', new AbortController().signal);
|
|
1695
|
+
const events = [];
|
|
1696
|
+
for await (const event of stream) {
|
|
1697
|
+
events.push(event);
|
|
1698
|
+
}
|
|
1699
|
+
expect(events).toHaveLength(2);
|
|
1700
|
+
expect(events[0]).toEqual({
|
|
1701
|
+
type: StreamEventType.AGENT_EXECUTION_BLOCKED,
|
|
1702
|
+
reason: 'blocked by hook',
|
|
1703
|
+
});
|
|
1704
|
+
expect(events[1]).toEqual({
|
|
1705
|
+
type: StreamEventType.CHUNK,
|
|
1706
|
+
value: syntheticResponse,
|
|
1707
|
+
});
|
|
1708
|
+
});
|
|
1709
|
+
it('should yield AGENT_EXECUTION_STOPPED when AfterModel hook stops execution', async () => {
|
|
1710
|
+
// Mock content generator to return a stream
|
|
1711
|
+
vi.mocked(mockContentGenerator.generateContentStream).mockResolvedValue((async function* () {
|
|
1712
|
+
yield {
|
|
1713
|
+
candidates: [{ content: { parts: [{ text: 'response' }] } }],
|
|
1714
|
+
};
|
|
1715
|
+
})());
|
|
1716
|
+
vi.mocked(fireAfterModelHook).mockResolvedValue({
|
|
1717
|
+
response: {},
|
|
1718
|
+
stopped: true,
|
|
1719
|
+
reason: 'stopped by after hook',
|
|
1720
|
+
});
|
|
1721
|
+
const stream = await chat.sendMessageStream({ model: 'gemini-pro' }, 'test', 'prompt-id', new AbortController().signal);
|
|
1722
|
+
const events = [];
|
|
1723
|
+
for await (const event of stream) {
|
|
1724
|
+
events.push(event);
|
|
1725
|
+
}
|
|
1726
|
+
expect(events).toContainEqual({
|
|
1727
|
+
type: StreamEventType.AGENT_EXECUTION_STOPPED,
|
|
1728
|
+
reason: 'stopped by after hook',
|
|
1729
|
+
});
|
|
1730
|
+
});
|
|
1731
|
+
it('should yield AGENT_EXECUTION_BLOCKED and response when AfterModel hook blocks execution', async () => {
|
|
1732
|
+
const response = {
|
|
1733
|
+
candidates: [{ content: { parts: [{ text: 'response' }] } }],
|
|
1734
|
+
};
|
|
1735
|
+
// Mock content generator to return a stream
|
|
1736
|
+
vi.mocked(mockContentGenerator.generateContentStream).mockResolvedValue((async function* () {
|
|
1737
|
+
yield response;
|
|
1738
|
+
})());
|
|
1739
|
+
vi.mocked(fireAfterModelHook).mockResolvedValue({
|
|
1740
|
+
response,
|
|
1741
|
+
blocked: true,
|
|
1742
|
+
reason: 'blocked by after hook',
|
|
1743
|
+
});
|
|
1744
|
+
const stream = await chat.sendMessageStream({ model: 'gemini-pro' }, 'test', 'prompt-id', new AbortController().signal);
|
|
1745
|
+
const events = [];
|
|
1746
|
+
for await (const event of stream) {
|
|
1747
|
+
events.push(event);
|
|
1748
|
+
}
|
|
1749
|
+
expect(events).toContainEqual({
|
|
1750
|
+
type: StreamEventType.AGENT_EXECUTION_BLOCKED,
|
|
1751
|
+
reason: 'blocked by after hook',
|
|
1752
|
+
});
|
|
1753
|
+
// Should also contain the chunk (hook response)
|
|
1754
|
+
expect(events).toContainEqual({
|
|
1755
|
+
type: StreamEventType.CHUNK,
|
|
1756
|
+
value: response,
|
|
1757
|
+
});
|
|
1758
|
+
});
|
|
1759
|
+
});
|
|
1727
1760
|
});
|
|
1728
1761
|
//# sourceMappingURL=geminiChat.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geminiChat.test.js","sourceRoot":"","sources":["../../../src/core/geminiChat.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geminiChat.test.js","sourceRoot":"","sources":["../../../src/core/geminiChat.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ import type { MessageBus } from '../confirmation-bus/message-bus.js';
|
|
|
11
11
|
export interface BeforeModelHookResult {
|
|
12
12
|
/** Whether the model call was blocked */
|
|
13
13
|
blocked: boolean;
|
|
14
|
+
/** Whether the execution should be stopped entirely */
|
|
15
|
+
stopped?: boolean;
|
|
14
16
|
/** Reason for blocking (if blocked) */
|
|
15
17
|
reason?: string;
|
|
16
18
|
/** Synthetic response to return instead of calling the model (if blocked) */
|
|
@@ -36,13 +38,15 @@ export interface BeforeToolSelectionHookResult {
|
|
|
36
38
|
export interface AfterModelHookResult {
|
|
37
39
|
/** The response to yield (either modified or original) */
|
|
38
40
|
response: GenerateContentResponse;
|
|
41
|
+
/** Whether the execution should be stopped entirely */
|
|
42
|
+
stopped?: boolean;
|
|
43
|
+
/** Whether the model call was blocked */
|
|
44
|
+
blocked?: boolean;
|
|
45
|
+
/** Reason for blocking or stopping */
|
|
46
|
+
reason?: string;
|
|
39
47
|
}
|
|
40
48
|
/**
|
|
41
49
|
* Fires the BeforeModel hook and returns the result.
|
|
42
|
-
*
|
|
43
|
-
* @param messageBus The message bus to use for hook communication
|
|
44
|
-
* @param llmRequest The LLM request parameters
|
|
45
|
-
* @returns The hook result with blocking info or modifications
|
|
46
50
|
*/
|
|
47
51
|
export declare function fireBeforeModelHook(messageBus: MessageBus, llmRequest: GenerateContentParameters): Promise<BeforeModelHookResult>;
|
|
48
52
|
/**
|