@google/gemini-cli-core 0.24.0-preview.3 → 0.25.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/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/changelogs/index.md +22 -0
- package/dist/docs/changelogs/latest.md +137 -209
- package/dist/docs/changelogs/preview.md +116 -114
- package/dist/docs/changelogs/releases.md +273 -7
- package/dist/docs/cli/commands.md +3 -0
- package/dist/docs/cli/keyboard-shortcuts.md +34 -41
- package/dist/docs/cli/model-routing.md +1 -1
- package/dist/docs/cli/model.md +1 -1
- package/dist/docs/cli/settings.md +69 -53
- package/dist/docs/cli/skills.md +35 -3
- package/dist/docs/cli/telemetry.md +20 -0
- package/dist/docs/core/memport.md +2 -0
- package/dist/docs/core/policy-engine.md +3 -2
- package/dist/docs/extensions/index.md +57 -7
- package/dist/docs/get-started/configuration.md +39 -9
- package/dist/docs/get-started/gemini-3.md +2 -17
- package/dist/docs/hooks/best-practices.md +1 -1
- package/dist/docs/hooks/index.md +47 -11
- package/dist/docs/hooks/reference.md +19 -9
- package/dist/docs/hooks/writing-hooks.md +19 -1
- package/dist/docs/releases.md +1 -1
- package/dist/docs/tools/shell.md +1 -1
- package/dist/docs/troubleshooting.md +9 -3
- package/dist/src/agents/a2a-client-manager.d.ts +4 -0
- package/dist/src/agents/a2a-client-manager.js +22 -22
- package/dist/src/agents/a2a-client-manager.js.map +1 -1
- package/dist/src/agents/a2a-client-manager.test.js +44 -0
- package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
- package/dist/src/agents/a2aUtils.d.ts +3 -2
- package/dist/src/agents/a2aUtils.js +28 -26
- package/dist/src/agents/a2aUtils.js.map +1 -1
- package/dist/src/agents/a2aUtils.test.js +9 -9
- package/dist/src/agents/a2aUtils.test.js.map +1 -1
- package/dist/src/agents/agentLoader.d.ts +68 -0
- package/dist/src/agents/{toml-loader.js → agentLoader.js} +86 -79
- 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/{introspection-agent.d.ts → cli-help-agent.d.ts} +3 -2
- 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/{introspection-agent.test.js → cli-help-agent.test.js} +25 -7
- package/dist/src/agents/cli-help-agent.test.js.map +1 -0
- package/dist/src/agents/codebase-investigator.js +10 -5
- package/dist/src/agents/codebase-investigator.js.map +1 -1
- package/dist/src/agents/delegate-to-agent-tool.js +17 -10
- package/dist/src/agents/delegate-to-agent-tool.js.map +1 -1
- package/dist/src/agents/delegate-to-agent-tool.test.js +60 -12
- package/dist/src/agents/delegate-to-agent-tool.test.js.map +1 -1
- package/dist/src/agents/local-executor.js +42 -8
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/local-executor.test.js +70 -11
- package/dist/src/agents/local-executor.test.js.map +1 -1
- package/dist/src/agents/local-invocation.test.js +8 -2
- package/dist/src/agents/local-invocation.test.js.map +1 -1
- package/dist/src/agents/registry.d.ts +12 -0
- package/dist/src/agents/registry.js +111 -42
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +228 -15
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/remote-invocation.js +10 -13
- package/dist/src/agents/remote-invocation.js.map +1 -1
- package/dist/src/agents/remote-invocation.test.js +1 -1
- package/dist/src/agents/remote-invocation.test.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.test.js +8 -2
- package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
- package/dist/src/agents/types.d.ts +3 -11
- package/dist/src/agents/types.js.map +1 -1
- package/dist/src/availability/fallbackIntegration.test.js +58 -0
- package/dist/src/availability/fallbackIntegration.test.js.map +1 -0
- 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.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +44 -19
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/telemetry.js +2 -1
- package/dist/src/code_assist/telemetry.js.map +1 -1
- package/dist/src/code_assist/telemetry.test.js +2 -1
- package/dist/src/code_assist/telemetry.test.js.map +1 -1
- package/dist/src/code_assist/types.d.ts +7 -0
- package/dist/src/code_assist/types.js +7 -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 +50 -7
- package/dist/src/config/config.js +113 -48
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +34 -4
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/models.d.ts +7 -0
- package/dist/src/config/models.js +11 -0
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +17 -1
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +1 -0
- package/dist/src/config/storage.js +5 -2
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/core/client.js +25 -8
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +45 -31
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.d.ts +8 -4
- package/dist/src/core/coreToolHookTriggers.js +43 -5
- package/dist/src/core/coreToolHookTriggers.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +1 -8
- package/dist/src/core/coreToolScheduler.js +58 -60
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +215 -8
- 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 +91 -8
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +109 -0
- 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 +31 -9
- 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/loggingContentGenerator.js +5 -0
- 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 -2
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/prompts.js +8 -8
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/prompts.test.js +4 -2
- 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 +2 -0
- package/dist/src/core/turn.js +14 -0
- package/dist/src/core/turn.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/hookEventHandler.d.ts +3 -3
- package/dist/src/hooks/hookEventHandler.js +27 -8
- package/dist/src/hooks/hookEventHandler.js.map +1 -1
- package/dist/src/hooks/hookEventHandler.test.js +145 -0
- package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
- package/dist/src/hooks/hookSystem.d.ts +12 -0
- package/dist/src/hooks/hookSystem.js +38 -0
- 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 +0 -1
- package/dist/src/hooks/index.js +0 -2
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/types.d.ts +21 -0
- package/dist/src/hooks/types.js +0 -15
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/hooks/types.test.js +4 -28
- 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-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 +10 -1
- package/dist/src/index.js +12 -1
- package/dist/src/index.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/policy/config.test.js +3 -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/policy-engine.js +80 -20
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +17 -0
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/policy-updater.test.js +3 -3
- 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/types.d.ts +4 -0
- package/dist/src/policy/utils.js +4 -1
- package/dist/src/policy/utils.js.map +1 -1
- package/dist/src/policy/utils.test.js +34 -6
- package/dist/src/policy/utils.test.js.map +1 -1
- 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/fallbackStrategy.d.ts +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js +2 -2
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.test.js +13 -0
- 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 +5 -5
- 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.js +2 -2
- package/dist/src/scheduler/tool-executor.js.map +1 -1
- 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/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/environmentSanitization.js +4 -3
- package/dist/src/services/environmentSanitization.js.map +1 -1
- package/dist/src/services/gitService.test.js +10 -2
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/services/modelConfig.integration.test.js +2 -2
- 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.js +1 -1
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +43 -2
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/skills/skillLoader.d.ts +3 -0
- package/dist/src/skills/skillLoader.js +3 -3
- package/dist/src/skills/skillLoader.js.map +1 -1
- package/dist/src/skills/skillLoader.test.js +4 -2
- package/dist/src/skills/skillLoader.test.js.map +1 -1
- package/dist/src/skills/skillManager.d.ts +18 -0
- package/dist/src/skills/skillManager.js +43 -5
- package/dist/src/skills/skillManager.js.map +1 -1
- package/dist/src/skills/skillManager.test.js +83 -1
- package/dist/src/skills/skillManager.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +9 -2
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +60 -9
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +105 -6
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +5 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +8 -0
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/loggers.js +1 -1
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +8 -0
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/types.js +4 -2
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/tools/activate-skill.js +23 -10
- package/dist/src/tools/activate-skill.js.map +1 -1
- package/dist/src/tools/activate-skill.test.js +24 -6
- package/dist/src/tools/activate-skill.test.js.map +1 -1
- package/dist/src/tools/confirmation-policy.test.js +1 -0
- package/dist/src/tools/confirmation-policy.test.js.map +1 -1
- package/dist/src/tools/edit.js +12 -0
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +34 -0
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/get-internal-docs.js +11 -18
- package/dist/src/tools/get-internal-docs.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +18 -3
- package/dist/src/tools/mcp-tool.js +1 -1
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +4 -0
- package/dist/src/tools/tool-error.js +4 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tools.d.ts +2 -0
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/write-file.js +4 -2
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +45 -6
- package/dist/src/tools/write-file.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/editCorrector.d.ts +3 -3
- package/dist/src/utils/editCorrector.js +21 -5
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +20 -20
- 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/events.d.ts +23 -1
- package/dist/src/utils/events.js +14 -0
- package/dist/src/utils/events.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/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 +1 -2
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +9 -0
- package/dist/src/utils/memoryDiscovery.test.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 +14 -2
- 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/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 +4 -2
- package/dist/docs/cli/configuration.md +0 -780
- package/dist/docs/get-started/deployment.md +0 -143
- package/dist/google-gemini-cli-core-0.24.0-preview.2.tgz +0 -0
- package/dist/src/agents/introspection-agent.js +0 -72
- package/dist/src/agents/introspection-agent.js.map +0 -1
- package/dist/src/agents/introspection-agent.test.js.map +0 -1
- package/dist/src/agents/toml-loader.d.ts +0 -74
- package/dist/src/agents/toml-loader.js.map +0 -1
- package/dist/src/agents/toml-loader.test.js +0 -309
- package/dist/src/agents/toml-loader.test.js.map +0 -1
- package/dist/src/core/sessionHookTriggers.d.ts +0 -29
- package/dist/src/core/sessionHookTriggers.js +0 -75
- package/dist/src/core/sessionHookTriggers.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 -369
- package/dist/src/utils/shell-permissions.test.js.map +0 -1
- /package/dist/src/agents/{introspection-agent.test.d.ts → agentLoader.test.d.ts} +0 -0
- /package/dist/src/agents/{toml-loader.test.d.ts → cli-help-agent.test.d.ts} +0 -0
- /package/dist/src/{utils/shell-permissions.test.d.ts → availability/fallbackIntegration.test.d.ts} +0 -0
|
@@ -16,6 +16,7 @@ vi.mock('./local-invocation.js', () => ({
|
|
|
16
16
|
execute: vi
|
|
17
17
|
.fn()
|
|
18
18
|
.mockResolvedValue({ content: [{ type: 'text', text: 'Success' }] }),
|
|
19
|
+
shouldConfirmExecute: vi.fn().mockResolvedValue(false),
|
|
19
20
|
})),
|
|
20
21
|
}));
|
|
21
22
|
vi.mock('./remote-invocation.js', () => ({
|
|
@@ -23,7 +24,12 @@ vi.mock('./remote-invocation.js', () => ({
|
|
|
23
24
|
execute: vi.fn().mockResolvedValue({
|
|
24
25
|
content: [{ type: 'text', text: 'Remote Success' }],
|
|
25
26
|
}),
|
|
26
|
-
shouldConfirmExecute: vi.fn().mockResolvedValue(
|
|
27
|
+
shouldConfirmExecute: vi.fn().mockResolvedValue({
|
|
28
|
+
type: 'info',
|
|
29
|
+
title: 'Remote Confirmation',
|
|
30
|
+
prompt: 'Confirm remote call',
|
|
31
|
+
onConfirm: vi.fn(),
|
|
32
|
+
}),
|
|
27
33
|
})),
|
|
28
34
|
}));
|
|
29
35
|
describe('DelegateToAgentTool', () => {
|
|
@@ -36,14 +42,20 @@ describe('DelegateToAgentTool', () => {
|
|
|
36
42
|
name: 'test_agent',
|
|
37
43
|
description: 'A test agent',
|
|
38
44
|
promptConfig: {},
|
|
39
|
-
modelConfig: {
|
|
45
|
+
modelConfig: {
|
|
46
|
+
model: 'test-model',
|
|
47
|
+
generateContentConfig: {
|
|
48
|
+
temperature: 0,
|
|
49
|
+
topP: 0,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
40
52
|
inputConfig: {
|
|
41
53
|
inputs: {
|
|
42
54
|
arg1: { type: 'string', description: 'Argument 1', required: true },
|
|
43
55
|
arg2: { type: 'number', description: 'Argument 2', required: false },
|
|
44
56
|
},
|
|
45
57
|
},
|
|
46
|
-
runConfig: {
|
|
58
|
+
runConfig: { maxTurns: 1, maxTimeMinutes: 1 },
|
|
47
59
|
toolConfig: { tools: [] },
|
|
48
60
|
};
|
|
49
61
|
const mockRemoteAgentDef = {
|
|
@@ -135,20 +147,20 @@ describe('DelegateToAgentTool', () => {
|
|
|
135
147
|
registry.agents.set(invalidAgentDef.name, invalidAgentDef);
|
|
136
148
|
expect(() => new DelegateToAgentTool(registry, config, messageBus)).toThrow("Agent 'invalid_agent' cannot have an input parameter named 'agent_name' as it is a reserved parameter for delegation.");
|
|
137
149
|
});
|
|
138
|
-
it('should
|
|
150
|
+
it('should execute local agents silently without requesting confirmation', async () => {
|
|
139
151
|
const invocation = tool.build({
|
|
140
152
|
agent_name: 'test_agent',
|
|
141
153
|
arg1: 'valid',
|
|
142
154
|
});
|
|
143
155
|
// Trigger confirmation check
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
156
|
+
const result = await invocation.shouldConfirmExecute(new AbortController().signal);
|
|
157
|
+
expect(result).toBe(false);
|
|
158
|
+
// Verify it did NOT call messageBus.publish with 'delegate_to_agent'
|
|
159
|
+
const delegateToAgentPublish = vi
|
|
160
|
+
.mocked(messageBus.publish)
|
|
161
|
+
.mock.calls.find((call) => call[0].type === MessageBusType.TOOL_CONFIRMATION_REQUEST &&
|
|
162
|
+
call[0].toolCall.name === DELEGATE_TO_AGENT_TOOL_NAME);
|
|
163
|
+
expect(delegateToAgentPublish).toBeUndefined();
|
|
152
164
|
});
|
|
153
165
|
it('should delegate to remote agent correctly', async () => {
|
|
154
166
|
const invocation = tool.build({
|
|
@@ -161,5 +173,41 @@ describe('DelegateToAgentTool', () => {
|
|
|
161
173
|
});
|
|
162
174
|
expect(RemoteAgentInvocation).toHaveBeenCalledWith(mockRemoteAgentDef, { query: 'hello remote' }, messageBus, 'remote_agent', 'remote_agent');
|
|
163
175
|
});
|
|
176
|
+
describe('Confirmation', () => {
|
|
177
|
+
it('should return false for local agents (silent execution)', async () => {
|
|
178
|
+
const invocation = tool.build({
|
|
179
|
+
agent_name: 'test_agent',
|
|
180
|
+
arg1: 'valid',
|
|
181
|
+
});
|
|
182
|
+
// Local agents should now return false directly, bypassing policy check
|
|
183
|
+
const result = await invocation.shouldConfirmExecute(new AbortController().signal);
|
|
184
|
+
expect(result).toBe(false);
|
|
185
|
+
const delegateToAgentPublish = vi
|
|
186
|
+
.mocked(messageBus.publish)
|
|
187
|
+
.mock.calls.find((call) => call[0].type === MessageBusType.TOOL_CONFIRMATION_REQUEST &&
|
|
188
|
+
call[0].toolCall.name === DELEGATE_TO_AGENT_TOOL_NAME);
|
|
189
|
+
expect(delegateToAgentPublish).toBeUndefined();
|
|
190
|
+
});
|
|
191
|
+
it('should forward to remote agent confirmation logic', async () => {
|
|
192
|
+
const invocation = tool.build({
|
|
193
|
+
agent_name: 'remote_agent',
|
|
194
|
+
query: 'hello remote',
|
|
195
|
+
});
|
|
196
|
+
const result = await invocation.shouldConfirmExecute(new AbortController().signal);
|
|
197
|
+
// Verify it returns the mock confirmation from RemoteAgentInvocation
|
|
198
|
+
expect(result).toMatchObject({
|
|
199
|
+
type: 'info',
|
|
200
|
+
title: 'Remote Confirmation',
|
|
201
|
+
});
|
|
202
|
+
// Verify it did NOT call messageBus.publish with 'delegate_to_agent'
|
|
203
|
+
// directly from DelegateInvocation, but instead went into RemoteAgentInvocation.
|
|
204
|
+
// RemoteAgentInvocation (the mock) doesn't call publish in its mock implementation.
|
|
205
|
+
const delegateToAgentPublish = vi
|
|
206
|
+
.mocked(messageBus.publish)
|
|
207
|
+
.mock.calls.find((call) => call[0].type === MessageBusType.TOOL_CONFIRMATION_REQUEST &&
|
|
208
|
+
call[0].toolCall.name === DELEGATE_TO_AGENT_TOOL_NAME);
|
|
209
|
+
expect(delegateToAgentPublish).toBeUndefined();
|
|
210
|
+
});
|
|
211
|
+
});
|
|
164
212
|
});
|
|
165
213
|
//# sourceMappingURL=delegate-to-agent-tool.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate-to-agent-tool.test.js","sourceRoot":"","sources":["../../../src/agents/delegate-to-agent-tool.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,EAAE;aACR,EAAE,EAAE;aACJ,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"delegate-to-agent-tool.test.js","sourceRoot":"","sources":["../../../src/agents/delegate-to-agent-tool.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ import { logAgentStart, logAgentFinish, logRecoveryAttempt, } from '../telemetry
|
|
|
17
17
|
import { AgentStartEvent, AgentFinishEvent, RecoveryAttemptEvent, } from '../telemetry/types.js';
|
|
18
18
|
import { AgentTerminateMode } from './types.js';
|
|
19
19
|
import { templateString } from './utils.js';
|
|
20
|
+
import { DEFAULT_GEMINI_MODEL, isAutoModel } from '../config/models.js';
|
|
20
21
|
import { parseThought } from '../utils/thoughtUtils.js';
|
|
21
22
|
import {} from 'zod';
|
|
22
23
|
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
@@ -233,9 +234,9 @@ export class LocalAgentExecutor {
|
|
|
233
234
|
let turnCounter = 0;
|
|
234
235
|
let terminateReason = AgentTerminateMode.ERROR;
|
|
235
236
|
let finalResult = null;
|
|
236
|
-
const {
|
|
237
|
+
const { maxTimeMinutes } = this.definition.runConfig;
|
|
237
238
|
const timeoutController = new AbortController();
|
|
238
|
-
const timeoutId = setTimeout(() => timeoutController.abort(new Error('Agent timed out.')),
|
|
239
|
+
const timeoutId = setTimeout(() => timeoutController.abort(new Error('Agent timed out.')), maxTimeMinutes * 60 * 1000);
|
|
239
240
|
// Combine the external signal with the internal timeout signal.
|
|
240
241
|
const combinedSignal = AbortSignal.any([signal, timeoutController.signal]);
|
|
241
242
|
logAgentStart(this.runtimeContext, new AgentStartEvent(this.agentId, this.definition.name));
|
|
@@ -298,14 +299,14 @@ export class LocalAgentExecutor {
|
|
|
298
299
|
else {
|
|
299
300
|
// Recovery Failed. Set the final error message based on the *original* reason.
|
|
300
301
|
if (terminateReason === AgentTerminateMode.TIMEOUT) {
|
|
301
|
-
finalResult = `Agent timed out after ${this.definition.runConfig.
|
|
302
|
+
finalResult = `Agent timed out after ${this.definition.runConfig.maxTimeMinutes} minutes.`;
|
|
302
303
|
this.emitActivity('ERROR', {
|
|
303
304
|
error: finalResult,
|
|
304
305
|
context: 'timeout',
|
|
305
306
|
});
|
|
306
307
|
}
|
|
307
308
|
else if (terminateReason === AgentTerminateMode.MAX_TURNS) {
|
|
308
|
-
finalResult = `Agent reached max turns limit (${this.definition.runConfig.
|
|
309
|
+
finalResult = `Agent reached max turns limit (${this.definition.runConfig.maxTurns}).`;
|
|
309
310
|
this.emitActivity('ERROR', {
|
|
310
311
|
error: finalResult,
|
|
311
312
|
context: 'max_turns',
|
|
@@ -358,7 +359,7 @@ export class LocalAgentExecutor {
|
|
|
358
359
|
}
|
|
359
360
|
}
|
|
360
361
|
// Recovery failed or wasn't possible
|
|
361
|
-
finalResult = `Agent timed out after ${this.definition.runConfig.
|
|
362
|
+
finalResult = `Agent timed out after ${this.definition.runConfig.maxTimeMinutes} minutes.`;
|
|
362
363
|
this.emitActivity('ERROR', {
|
|
363
364
|
error: finalResult,
|
|
364
365
|
context: 'timeout',
|
|
@@ -377,7 +378,7 @@ export class LocalAgentExecutor {
|
|
|
377
378
|
}
|
|
378
379
|
}
|
|
379
380
|
async tryCompressChat(chat, prompt_id) {
|
|
380
|
-
const model = this.definition.modelConfig.model;
|
|
381
|
+
const model = this.definition.modelConfig.model ?? DEFAULT_GEMINI_MODEL;
|
|
381
382
|
const { newHistory, info } = await this.compressionService.compress(chat, prompt_id, false, model, this.runtimeContext, this.hasFailedCompressionAttempt);
|
|
382
383
|
if (info.compressionStatus ===
|
|
383
384
|
CompressionStatus.COMPRESSION_FAILED_INFLATED_TOKEN_COUNT) {
|
|
@@ -396,8 +397,41 @@ export class LocalAgentExecutor {
|
|
|
396
397
|
* @returns The model's response, including any tool calls or text.
|
|
397
398
|
*/
|
|
398
399
|
async callModel(chat, message, signal, promptId) {
|
|
400
|
+
const modelConfigAlias = getModelConfigAlias(this.definition);
|
|
401
|
+
// Resolve the model config early to get the concrete model string (which may be `auto`).
|
|
402
|
+
const resolvedConfig = this.runtimeContext.modelConfigService.getResolvedConfig({
|
|
403
|
+
model: modelConfigAlias,
|
|
404
|
+
overrideScope: this.definition.name,
|
|
405
|
+
});
|
|
406
|
+
const requestedModel = resolvedConfig.model;
|
|
407
|
+
let modelToUse;
|
|
408
|
+
if (isAutoModel(requestedModel)) {
|
|
409
|
+
// TODO(joshualitt): This try / catch is inconsistent with the routing
|
|
410
|
+
// behavior for the main agent. Ideally, we would have a universal
|
|
411
|
+
// policy for routing failure. Given routing failure does not necessarily
|
|
412
|
+
// mean generation will fail, we may want to share this logic with
|
|
413
|
+
// other places we use model routing.
|
|
414
|
+
try {
|
|
415
|
+
const routingContext = {
|
|
416
|
+
history: chat.getHistory(/*curated=*/ true),
|
|
417
|
+
request: message.parts || [],
|
|
418
|
+
signal,
|
|
419
|
+
requestedModel,
|
|
420
|
+
};
|
|
421
|
+
const router = this.runtimeContext.getModelRouterService();
|
|
422
|
+
const decision = await router.route(routingContext);
|
|
423
|
+
modelToUse = decision.model;
|
|
424
|
+
}
|
|
425
|
+
catch (error) {
|
|
426
|
+
debugLogger.warn(`Error during model routing: ${error}`);
|
|
427
|
+
modelToUse = DEFAULT_GEMINI_MODEL;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
else {
|
|
431
|
+
modelToUse = requestedModel;
|
|
432
|
+
}
|
|
399
433
|
const responseStream = await chat.sendMessageStream({
|
|
400
|
-
model:
|
|
434
|
+
model: modelToUse,
|
|
401
435
|
overrideScope: this.definition.name,
|
|
402
436
|
}, message.parts || [], promptId, signal);
|
|
403
437
|
const functionCalls = [];
|
|
@@ -780,7 +814,7 @@ Important Rules:
|
|
|
780
814
|
*/
|
|
781
815
|
checkTermination(startTime, turnCounter) {
|
|
782
816
|
const { runConfig } = this.definition;
|
|
783
|
-
if (runConfig.
|
|
817
|
+
if (runConfig.maxTurns && turnCounter >= runConfig.maxTurns) {
|
|
784
818
|
return AgentTerminateMode.MAX_TURNS;
|
|
785
819
|
}
|
|
786
820
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-executor.js","sourceRoot":"","sources":["../../../src/agents/local-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-executor.js","sourceRoot":"","sources":["../../../src/agents/local-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -143,8 +143,14 @@ const createTestDefinition = (tools = [LS_TOOL_NAME], runConfigOverrides = {}, o
|
|
|
143
143
|
inputConfig: {
|
|
144
144
|
inputs: { goal: { type: 'string', required: true, description: 'goal' } },
|
|
145
145
|
},
|
|
146
|
-
modelConfig: {
|
|
147
|
-
|
|
146
|
+
modelConfig: {
|
|
147
|
+
model: 'gemini-test-model',
|
|
148
|
+
generateContentConfig: {
|
|
149
|
+
temperature: 0,
|
|
150
|
+
topP: 1,
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
runConfig: { maxTimeMinutes: 5, maxTurns: 5, ...runConfigOverrides },
|
|
148
154
|
promptConfig: { systemPrompt: 'Achieve the goal: ${goal}.' },
|
|
149
155
|
toolConfig: { tools },
|
|
150
156
|
outputConfig,
|
|
@@ -830,6 +836,59 @@ describe('LocalAgentExecutor', () => {
|
|
|
830
836
|
expect(output.result).toBe('Aborted due to tool failure.');
|
|
831
837
|
});
|
|
832
838
|
});
|
|
839
|
+
describe('Model Routing', () => {
|
|
840
|
+
it('should use model routing when the agent model is "auto"', async () => {
|
|
841
|
+
const definition = createTestDefinition();
|
|
842
|
+
definition.modelConfig.model = 'auto';
|
|
843
|
+
const mockRouter = {
|
|
844
|
+
route: vi.fn().mockResolvedValue({
|
|
845
|
+
model: 'routed-model',
|
|
846
|
+
metadata: { source: 'test', reasoning: 'test' },
|
|
847
|
+
}),
|
|
848
|
+
};
|
|
849
|
+
vi.spyOn(mockConfig, 'getModelRouterService').mockReturnValue(mockRouter);
|
|
850
|
+
// Mock resolved config to return 'auto'
|
|
851
|
+
vi.spyOn(mockConfig.modelConfigService, 'getResolvedConfig').mockReturnValue({
|
|
852
|
+
model: 'auto',
|
|
853
|
+
generateContentConfig: {},
|
|
854
|
+
});
|
|
855
|
+
const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
|
|
856
|
+
mockModelResponse([
|
|
857
|
+
{
|
|
858
|
+
name: TASK_COMPLETE_TOOL_NAME,
|
|
859
|
+
args: { finalResult: 'done' },
|
|
860
|
+
id: 'call1',
|
|
861
|
+
},
|
|
862
|
+
]);
|
|
863
|
+
await executor.run({ goal: 'test' }, signal);
|
|
864
|
+
expect(mockRouter.route).toHaveBeenCalled();
|
|
865
|
+
expect(mockSendMessageStream).toHaveBeenCalledWith(expect.objectContaining({ model: 'routed-model' }), expect.any(Array), expect.any(String), expect.any(AbortSignal));
|
|
866
|
+
});
|
|
867
|
+
it('should NOT use model routing when the agent model is NOT "auto"', async () => {
|
|
868
|
+
const definition = createTestDefinition();
|
|
869
|
+
definition.modelConfig.model = 'concrete-model';
|
|
870
|
+
const mockRouter = {
|
|
871
|
+
route: vi.fn(),
|
|
872
|
+
};
|
|
873
|
+
vi.spyOn(mockConfig, 'getModelRouterService').mockReturnValue(mockRouter);
|
|
874
|
+
// Mock resolved config to return 'concrete-model'
|
|
875
|
+
vi.spyOn(mockConfig.modelConfigService, 'getResolvedConfig').mockReturnValue({
|
|
876
|
+
model: 'concrete-model',
|
|
877
|
+
generateContentConfig: {},
|
|
878
|
+
});
|
|
879
|
+
const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
|
|
880
|
+
mockModelResponse([
|
|
881
|
+
{
|
|
882
|
+
name: TASK_COMPLETE_TOOL_NAME,
|
|
883
|
+
args: { finalResult: 'done' },
|
|
884
|
+
id: 'call1',
|
|
885
|
+
},
|
|
886
|
+
]);
|
|
887
|
+
await executor.run({ goal: 'test' }, signal);
|
|
888
|
+
expect(mockRouter.route).not.toHaveBeenCalled();
|
|
889
|
+
expect(mockSendMessageStream).toHaveBeenCalledWith(expect.objectContaining({ model: 'concrete-model' }), expect.any(Array), expect.any(String), expect.any(AbortSignal));
|
|
890
|
+
});
|
|
891
|
+
});
|
|
833
892
|
describe('run (Termination Conditions)', () => {
|
|
834
893
|
const mockWorkResponse = (id) => {
|
|
835
894
|
mockModelResponse([{ name: LS_TOOL_NAME, args: { path: '.' }, id }]);
|
|
@@ -859,7 +918,7 @@ describe('LocalAgentExecutor', () => {
|
|
|
859
918
|
it('should terminate when max_turns is reached', async () => {
|
|
860
919
|
const MAX = 2;
|
|
861
920
|
const definition = createTestDefinition([LS_TOOL_NAME], {
|
|
862
|
-
|
|
921
|
+
maxTurns: MAX,
|
|
863
922
|
});
|
|
864
923
|
const executor = await LocalAgentExecutor.create(definition, mockConfig);
|
|
865
924
|
mockWorkResponse('t1');
|
|
@@ -872,7 +931,7 @@ describe('LocalAgentExecutor', () => {
|
|
|
872
931
|
});
|
|
873
932
|
it('should terminate with TIMEOUT if a model call takes too long', async () => {
|
|
874
933
|
const definition = createTestDefinition([LS_TOOL_NAME], {
|
|
875
|
-
|
|
934
|
+
maxTimeMinutes: 0.5, // 30 seconds
|
|
876
935
|
});
|
|
877
936
|
const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
|
|
878
937
|
// Mock a model call that is interruptible by an abort signal.
|
|
@@ -910,7 +969,7 @@ describe('LocalAgentExecutor', () => {
|
|
|
910
969
|
});
|
|
911
970
|
it('should terminate with TIMEOUT if a tool call takes too long', async () => {
|
|
912
971
|
const definition = createTestDefinition([LS_TOOL_NAME], {
|
|
913
|
-
|
|
972
|
+
maxTimeMinutes: 1,
|
|
914
973
|
});
|
|
915
974
|
const executor = await LocalAgentExecutor.create(definition, mockConfig);
|
|
916
975
|
mockModelResponse([
|
|
@@ -985,7 +1044,7 @@ describe('LocalAgentExecutor', () => {
|
|
|
985
1044
|
it('should recover successfully if complete_task is called during the grace turn after MAX_TURNS', async () => {
|
|
986
1045
|
const MAX = 1;
|
|
987
1046
|
const definition = createTestDefinition([LS_TOOL_NAME], {
|
|
988
|
-
|
|
1047
|
+
maxTurns: MAX,
|
|
989
1048
|
});
|
|
990
1049
|
const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
|
|
991
1050
|
// Turn 1 (hits max_turns)
|
|
@@ -1016,7 +1075,7 @@ describe('LocalAgentExecutor', () => {
|
|
|
1016
1075
|
it('should fail if complete_task is NOT called during the grace turn after MAX_TURNS', async () => {
|
|
1017
1076
|
const MAX = 1;
|
|
1018
1077
|
const definition = createTestDefinition([LS_TOOL_NAME], {
|
|
1019
|
-
|
|
1078
|
+
maxTurns: MAX,
|
|
1020
1079
|
});
|
|
1021
1080
|
const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
|
|
1022
1081
|
// Turn 1 (hits max_turns)
|
|
@@ -1084,7 +1143,7 @@ describe('LocalAgentExecutor', () => {
|
|
|
1084
1143
|
});
|
|
1085
1144
|
it('should recover successfully from a TIMEOUT', async () => {
|
|
1086
1145
|
const definition = createTestDefinition([LS_TOOL_NAME], {
|
|
1087
|
-
|
|
1146
|
+
maxTimeMinutes: 0.5, // 30 seconds
|
|
1088
1147
|
});
|
|
1089
1148
|
const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
|
|
1090
1149
|
// Mock a model call that gets interrupted by the timeout.
|
|
@@ -1120,7 +1179,7 @@ describe('LocalAgentExecutor', () => {
|
|
|
1120
1179
|
});
|
|
1121
1180
|
it('should fail recovery from a TIMEOUT if the grace period also times out', async () => {
|
|
1122
1181
|
const definition = createTestDefinition([LS_TOOL_NAME], {
|
|
1123
|
-
|
|
1182
|
+
maxTimeMinutes: 0.5, // 30 seconds
|
|
1124
1183
|
});
|
|
1125
1184
|
const executor = await LocalAgentExecutor.create(definition, mockConfig, onActivity);
|
|
1126
1185
|
mockSendMessageStream.mockImplementationOnce(async (_key, _message, _promptId, signal) =>
|
|
@@ -1186,7 +1245,7 @@ describe('LocalAgentExecutor', () => {
|
|
|
1186
1245
|
it('should log a RecoveryAttemptEvent when a recoverable error occurs and recovery fails', async () => {
|
|
1187
1246
|
const MAX = 1;
|
|
1188
1247
|
const definition = createTestDefinition([LS_TOOL_NAME], {
|
|
1189
|
-
|
|
1248
|
+
maxTurns: MAX,
|
|
1190
1249
|
});
|
|
1191
1250
|
const executor = await LocalAgentExecutor.create(definition, mockConfig);
|
|
1192
1251
|
// Turn 1 (hits max_turns)
|
|
@@ -1206,7 +1265,7 @@ describe('LocalAgentExecutor', () => {
|
|
|
1206
1265
|
it('should log a successful RecoveryAttemptEvent when recovery succeeds', async () => {
|
|
1207
1266
|
const MAX = 1;
|
|
1208
1267
|
const definition = createTestDefinition([LS_TOOL_NAME], {
|
|
1209
|
-
|
|
1268
|
+
maxTurns: MAX,
|
|
1210
1269
|
});
|
|
1211
1270
|
const executor = await LocalAgentExecutor.create(definition, mockConfig);
|
|
1212
1271
|
// Turn 1 (hits max_turns)
|