@office-ai/aioncli-core 0.2.3 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +10 -3
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/dist/src/agents/codebase-investigator.d.ts +11 -0
- package/dist/src/agents/codebase-investigator.js +73 -0
- package/dist/src/agents/codebase-investigator.js.map +1 -0
- package/dist/src/agents/executor.d.ts +88 -0
- package/dist/src/agents/executor.js +417 -0
- package/dist/src/agents/executor.js.map +1 -0
- package/dist/src/agents/executor.test.js +419 -0
- package/dist/src/agents/executor.test.js.map +1 -0
- package/dist/src/agents/invocation.d.ts +43 -0
- package/dist/src/agents/invocation.js +100 -0
- package/dist/src/agents/invocation.js.map +1 -0
- package/dist/src/agents/invocation.test.js +206 -0
- package/dist/src/agents/invocation.test.js.map +1 -0
- package/dist/src/agents/registry.d.ts +35 -0
- package/dist/src/agents/registry.js +58 -0
- package/dist/src/agents/registry.js.map +1 -0
- package/dist/src/agents/registry.test.js +146 -0
- package/dist/src/agents/registry.test.js.map +1 -0
- package/dist/src/agents/schema-utils.d.ts +39 -0
- package/dist/src/agents/schema-utils.js +57 -0
- package/dist/src/agents/schema-utils.js.map +1 -0
- package/dist/src/agents/schema-utils.test.d.ts +6 -0
- package/dist/src/agents/schema-utils.test.js +144 -0
- package/dist/src/agents/schema-utils.test.js.map +1 -0
- package/dist/src/agents/subagent-tool-wrapper.d.ts +36 -0
- package/dist/src/agents/subagent-tool-wrapper.js +47 -0
- package/dist/src/agents/subagent-tool-wrapper.js.map +1 -0
- package/dist/src/agents/subagent-tool-wrapper.test.d.ts +6 -0
- package/dist/src/agents/subagent-tool-wrapper.test.js +105 -0
- package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -0
- package/dist/src/agents/types.d.ts +116 -0
- package/dist/src/agents/types.js +17 -0
- package/dist/src/agents/types.js.map +1 -0
- package/dist/src/agents/utils.d.ts +15 -0
- package/dist/src/agents/utils.js +29 -0
- package/dist/src/agents/utils.js.map +1 -0
- package/dist/src/agents/utils.test.d.ts +6 -0
- package/dist/src/agents/utils.test.js +87 -0
- package/dist/src/agents/utils.test.js.map +1 -0
- package/dist/src/code_assist/codeAssist.d.ts +6 -3
- package/dist/src/code_assist/codeAssist.js +12 -0
- package/dist/src/code_assist/codeAssist.js.map +1 -1
- package/dist/src/code_assist/converter.d.ts +4 -1
- package/dist/src/code_assist/converter.js +38 -5
- package/dist/src/code_assist/converter.js.map +1 -1
- package/dist/src/code_assist/converter.test.js +93 -0
- package/dist/src/code_assist/converter.test.js.map +1 -1
- package/dist/src/code_assist/oauth-credential-storage.d.ts +25 -0
- package/dist/src/code_assist/oauth-credential-storage.js +109 -0
- package/dist/src/code_assist/oauth-credential-storage.js.map +1 -0
- package/dist/src/code_assist/oauth-credential-storage.test.d.ts +6 -0
- package/dist/src/code_assist/oauth-credential-storage.test.js +136 -0
- package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -0
- package/dist/src/code_assist/oauth2.d.ts +1 -1
- package/dist/src/code_assist/oauth2.js +107 -48
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +735 -343
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/server.d.ts +4 -4
- package/dist/src/code_assist/server.js +25 -2
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +25 -0
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/code_assist/setup.d.ts +1 -1
- package/dist/src/code_assist/setup.js +1 -1
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/setup.test.js.map +1 -1
- package/dist/src/code_assist/types.d.ts +17 -2
- package/dist/src/config/config.d.ts +121 -25
- package/dist/src/config/config.js +298 -89
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +370 -131
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/constants.d.ts +11 -0
- package/dist/src/config/constants.js +16 -0
- package/dist/src/config/constants.js.map +1 -0
- package/dist/src/config/models.d.ts +16 -0
- package/dist/src/config/models.js +29 -0
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.d.ts +6 -0
- package/dist/src/config/models.test.js +55 -0
- package/dist/src/config/models.test.js.map +1 -0
- package/dist/src/config/storage.d.ts +34 -0
- package/dist/src/config/storage.js +95 -0
- package/dist/src/config/storage.js.map +1 -0
- package/dist/src/config/storage.test.d.ts +6 -0
- package/dist/src/config/storage.test.js +47 -0
- package/dist/src/config/storage.test.js.map +1 -0
- package/dist/src/confirmation-bus/index.d.ts +7 -0
- package/dist/src/confirmation-bus/index.js +8 -0
- package/dist/src/confirmation-bus/index.js.map +1 -0
- package/dist/src/confirmation-bus/message-bus.d.ts +17 -0
- package/dist/src/confirmation-bus/message-bus.js +81 -0
- package/dist/src/confirmation-bus/message-bus.js.map +1 -0
- package/dist/src/confirmation-bus/message-bus.test.d.ts +6 -0
- package/dist/src/confirmation-bus/message-bus.test.js +164 -0
- package/dist/src/confirmation-bus/message-bus.test.js.map +1 -0
- package/dist/src/confirmation-bus/types.d.ts +38 -0
- package/dist/src/confirmation-bus/types.js +15 -0
- package/dist/src/confirmation-bus/types.js.map +1 -0
- package/dist/src/core/baseLlmClient.d.ts +54 -0
- package/dist/src/core/baseLlmClient.js +190 -0
- package/dist/src/core/baseLlmClient.js.map +1 -0
- package/dist/src/core/baseLlmClient.test.d.ts +6 -0
- package/dist/src/core/baseLlmClient.test.js +316 -0
- package/dist/src/core/baseLlmClient.test.js.map +1 -0
- package/dist/src/core/client.d.ts +28 -33
- package/dist/src/core/client.js +187 -384
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +745 -500
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +4 -4
- package/dist/src/core/contentGenerator.js +6 -7
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +1 -3
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +20 -7
- package/dist/src/core/coreToolScheduler.js +216 -53
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +564 -88
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +54 -53
- package/dist/src/core/geminiChat.js +300 -356
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +1255 -321
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiRequest.js +1 -0
- package/dist/src/core/geminiRequest.js.map +1 -1
- package/dist/src/core/logger.d.ts +4 -2
- package/dist/src/core/logger.js +4 -3
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/logger.test.js +17 -16
- package/dist/src/core/logger.test.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.d.ts +3 -3
- package/dist/src/core/loggingContentGenerator.js +15 -16
- package/dist/src/core/loggingContentGenerator.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.d.ts +3 -5
- package/dist/src/core/nonInteractiveToolExecutor.js +14 -122
- package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +158 -78
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/openaiContentGenerator.d.ts +4 -3
- package/dist/src/core/openaiContentGenerator.js +21 -14
- package/dist/src/core/openaiContentGenerator.js.map +1 -1
- package/dist/src/core/openaiContentGenerator.test.js +1 -0
- package/dist/src/core/openaiContentGenerator.test.js.map +1 -1
- package/dist/src/core/prompts.d.ts +5 -0
- package/dist/src/core/prompts.js +66 -44
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/prompts.test.js +130 -1
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/core/subagent.d.ts +24 -18
- package/dist/src/core/subagent.js +125 -90
- package/dist/src/core/subagent.js.map +1 -1
- package/dist/src/core/subagent.test.js +59 -44
- package/dist/src/core/subagent.test.js.map +1 -1
- package/dist/src/core/turn.d.ts +37 -13
- package/dist/src/core/turn.js +63 -28
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +359 -100
- package/dist/src/core/turn.test.js.map +1 -1
- package/dist/src/fallback/handler.d.ts +7 -0
- package/dist/src/fallback/handler.js +129 -0
- package/dist/src/fallback/handler.js.map +1 -0
- package/dist/src/fallback/handler.test.d.ts +6 -0
- package/dist/src/fallback/handler.test.js +130 -0
- package/dist/src/fallback/handler.test.js.map +1 -0
- package/dist/src/fallback/types.d.ts +14 -0
- package/dist/src/fallback/types.js +7 -0
- package/dist/src/fallback/types.js.map +1 -0
- package/dist/src/ide/constants.d.ts +3 -0
- package/dist/src/ide/constants.js +3 -0
- package/dist/src/ide/constants.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +48 -12
- package/dist/src/ide/detect-ide.js +47 -66
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +79 -52
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +69 -23
- package/dist/src/ide/ide-client.js +372 -78
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-client.test.js +375 -30
- package/dist/src/ide/ide-client.test.js.map +1 -1
- package/dist/src/ide/ide-installer.d.ts +2 -2
- package/dist/src/ide/ide-installer.js +37 -24
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +104 -26
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/ide/ideContext.d.ts +35 -365
- package/dist/src/ide/ideContext.js +60 -106
- package/dist/src/ide/ideContext.js.map +1 -1
- package/dist/src/ide/ideContext.test.js +152 -24
- package/dist/src/ide/ideContext.test.js.map +1 -1
- package/dist/src/ide/process-utils.d.ts +7 -5
- package/dist/src/ide/process-utils.js +81 -50
- package/dist/src/ide/process-utils.js.map +1 -1
- package/dist/src/ide/process-utils.test.d.ts +6 -0
- package/dist/src/ide/process-utils.test.js +158 -0
- package/dist/src/ide/process-utils.test.js.map +1 -0
- package/dist/src/ide/types.d.ts +486 -0
- package/dist/src/ide/types.js +138 -0
- package/dist/src/ide/types.js.map +1 -0
- package/dist/src/index.d.ts +20 -2
- package/dist/src/index.js +20 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/google-auth-provider.d.ts +3 -3
- package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-provider.d.ts +17 -13
- package/dist/src/mcp/oauth-provider.js +81 -69
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +212 -37
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-token-storage.d.ts +14 -32
- package/dist/src/mcp/oauth-token-storage.js +54 -25
- package/dist/src/mcp/oauth-token-storage.js.map +1 -1
- package/dist/src/mcp/oauth-token-storage.test.js +256 -162
- package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.d.ts +9 -1
- package/dist/src/mcp/oauth-utils.js +42 -27
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/oauth-utils.test.js +41 -1
- package/dist/src/mcp/oauth-utils.test.js.map +1 -1
- package/dist/src/mcp/sa-impersonation-provider.d.ts +33 -0
- package/dist/src/mcp/sa-impersonation-provider.js +130 -0
- package/dist/src/mcp/sa-impersonation-provider.js.map +1 -0
- package/dist/src/mcp/sa-impersonation-provider.test.d.ts +6 -0
- package/dist/src/mcp/sa-impersonation-provider.test.js +117 -0
- package/dist/src/mcp/sa-impersonation-provider.test.js.map +1 -0
- package/dist/src/mcp/token-storage/base-token-storage.d.ts +19 -0
- package/dist/src/mcp/token-storage/base-token-storage.js +36 -0
- package/dist/src/mcp/token-storage/base-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/base-token-storage.test.d.ts +6 -0
- package/dist/src/mcp/token-storage/base-token-storage.test.js +160 -0
- package/dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -0
- package/dist/src/mcp/token-storage/file-token-storage.d.ts +24 -0
- package/dist/src/mcp/token-storage/file-token-storage.js +144 -0
- package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/file-token-storage.test.d.ts +6 -0
- package/dist/src/mcp/token-storage/file-token-storage.test.js +235 -0
- package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.d.ts +23 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.js +78 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.d.ts +6 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.js +193 -0
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +1 -0
- package/dist/src/mcp/token-storage/index.d.ts +11 -0
- package/dist/src/mcp/token-storage/index.js +12 -0
- package/dist/src/mcp/token-storage/index.js.map +1 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.d.ts +31 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.js +190 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.test.d.ts +6 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.test.js +254 -0
- package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -0
- package/dist/src/mcp/token-storage/types.d.ts +38 -0
- package/dist/src/mcp/token-storage/types.js +11 -0
- package/dist/src/mcp/token-storage/types.js.map +1 -0
- package/dist/src/output/json-formatter.d.ts +11 -0
- package/dist/src/output/json-formatter.js +30 -0
- package/dist/src/output/json-formatter.js.map +1 -0
- package/dist/src/output/json-formatter.test.d.ts +6 -0
- package/dist/src/output/json-formatter.test.js +266 -0
- package/dist/src/output/json-formatter.test.js.map +1 -0
- package/dist/src/output/types.d.ts +20 -0
- package/dist/src/output/types.js +11 -0
- package/dist/src/output/types.js.map +1 -0
- package/dist/src/policy/index.d.ts +7 -0
- package/dist/src/policy/index.js +8 -0
- package/dist/src/policy/index.js.map +1 -0
- package/dist/src/policy/policy-engine.d.ts +30 -0
- package/dist/src/policy/policy-engine.js +92 -0
- package/dist/src/policy/policy-engine.js.map +1 -0
- package/dist/src/policy/policy-engine.test.d.ts +6 -0
- package/dist/src/policy/policy-engine.test.js +515 -0
- package/dist/src/policy/policy-engine.test.js.map +1 -0
- package/dist/src/policy/stable-stringify.d.ts +58 -0
- package/dist/src/policy/stable-stringify.js +122 -0
- package/dist/src/policy/stable-stringify.js.map +1 -0
- package/dist/src/policy/types.d.ts +47 -0
- package/dist/src/policy/types.js +12 -0
- package/dist/src/policy/types.js.map +1 -0
- package/dist/src/prompts/mcp-prompts.d.ts +2 -2
- package/dist/src/prompts/prompt-registry.d.ts +1 -1
- package/dist/src/routing/modelRouterService.d.ts +23 -0
- package/dist/src/routing/modelRouterService.js +70 -0
- package/dist/src/routing/modelRouterService.js.map +1 -0
- package/dist/src/routing/modelRouterService.test.d.ts +6 -0
- package/dist/src/routing/modelRouterService.test.js +98 -0
- package/dist/src/routing/modelRouterService.test.js.map +1 -0
- package/dist/src/routing/routingStrategy.d.ts +62 -0
- package/dist/src/routing/routingStrategy.js +7 -0
- package/dist/src/routing/routingStrategy.js.map +1 -0
- package/dist/src/routing/strategies/classifierStrategy.d.ts +12 -0
- package/dist/src/routing/strategies/classifierStrategy.js +173 -0
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -0
- package/dist/src/routing/strategies/classifierStrategy.test.d.ts +6 -0
- package/dist/src/routing/strategies/classifierStrategy.test.js +192 -0
- package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -0
- package/dist/src/routing/strategies/compositeStrategy.d.ts +26 -0
- package/dist/src/routing/strategies/compositeStrategy.js +68 -0
- package/dist/src/routing/strategies/compositeStrategy.js.map +1 -0
- package/dist/src/routing/strategies/compositeStrategy.test.d.ts +6 -0
- package/dist/src/routing/strategies/compositeStrategy.test.js +123 -0
- package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -0
- package/dist/src/routing/strategies/defaultStrategy.d.ts +12 -0
- package/dist/src/routing/strategies/defaultStrategy.js +20 -0
- package/dist/src/routing/strategies/defaultStrategy.js.map +1 -0
- package/dist/src/routing/strategies/defaultStrategy.test.d.ts +6 -0
- package/dist/src/routing/strategies/defaultStrategy.test.js +26 -0
- package/dist/src/routing/strategies/defaultStrategy.test.js.map +1 -0
- package/dist/src/routing/strategies/fallbackStrategy.d.ts +12 -0
- package/dist/src/routing/strategies/fallbackStrategy.js +25 -0
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -0
- package/dist/src/routing/strategies/fallbackStrategy.test.d.ts +6 -0
- package/dist/src/routing/strategies/fallbackStrategy.test.js +55 -0
- package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -0
- package/dist/src/routing/strategies/overrideStrategy.d.ts +15 -0
- package/dist/src/routing/strategies/overrideStrategy.js +28 -0
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -0
- package/dist/src/routing/strategies/overrideStrategy.test.d.ts +6 -0
- package/dist/src/routing/strategies/overrideStrategy.test.js +42 -0
- package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -0
- package/dist/src/services/chatRecordingService.d.ts +8 -14
- package/dist/src/services/chatRecordingService.js +33 -21
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/chatRecordingService.test.js +69 -25
- package/dist/src/services/chatRecordingService.test.js.map +1 -1
- package/dist/src/services/fileDiscoveryService.d.ts +10 -0
- package/dist/src/services/fileDiscoveryService.js +32 -18
- package/dist/src/services/fileDiscoveryService.js.map +1 -1
- package/dist/src/services/fileDiscoveryService.test.js +3 -3
- package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
- package/dist/src/services/fileSystemService.d.ts +9 -0
- package/dist/src/services/fileSystemService.js +12 -1
- package/dist/src/services/fileSystemService.js.map +1 -1
- package/dist/src/services/fileSystemService.test.js +1 -1
- package/dist/src/services/fileSystemService.test.js.map +1 -1
- package/dist/src/services/gitService.d.ts +3 -1
- package/dist/src/services/gitService.js +30 -24
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +30 -37
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/services/loopDetectionService.d.ts +8 -2
- package/dist/src/services/loopDetectionService.js +64 -24
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/loopDetectionService.test.js +64 -13
- package/dist/src/services/loopDetectionService.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.d.ts +36 -2
- package/dist/src/services/shellExecutionService.js +238 -47
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +197 -58
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/telemetry/activity-detector.d.ts +41 -0
- package/dist/src/telemetry/activity-detector.js +61 -0
- package/dist/src/telemetry/activity-detector.js.map +1 -0
- package/dist/src/telemetry/activity-detector.test.d.ts +6 -0
- package/dist/src/telemetry/activity-detector.test.js +136 -0
- package/dist/src/telemetry/activity-detector.test.js.map +1 -0
- package/dist/src/telemetry/activity-types.d.ts +19 -0
- package/dist/src/telemetry/activity-types.js +21 -0
- package/dist/src/telemetry/activity-types.js.map +1 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +34 -4
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +322 -15
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +1 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +321 -11
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +51 -2
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +124 -2
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/config.d.ts +31 -0
- package/dist/src/telemetry/config.js +76 -0
- package/dist/src/telemetry/config.js.map +1 -0
- package/dist/src/telemetry/config.test.d.ts +6 -0
- package/dist/src/telemetry/config.test.js +124 -0
- package/dist/src/telemetry/config.test.js.map +1 -0
- package/dist/src/telemetry/constants.d.ts +17 -7
- package/dist/src/telemetry/constants.js +18 -7
- package/dist/src/telemetry/constants.js.map +1 -1
- package/dist/src/telemetry/file-exporters.d.ts +5 -4
- package/dist/src/telemetry/file-exporters.js +1 -1
- package/dist/src/telemetry/file-exporters.js.map +1 -1
- package/dist/src/telemetry/gcp-exporters.d.ts +34 -0
- package/dist/src/telemetry/gcp-exporters.js +117 -0
- package/dist/src/telemetry/gcp-exporters.js.map +1 -0
- package/dist/src/telemetry/gcp-exporters.test.d.ts +6 -0
- package/dist/src/telemetry/gcp-exporters.test.js +318 -0
- package/dist/src/telemetry/gcp-exporters.test.js.map +1 -0
- package/dist/src/telemetry/high-water-mark-tracker.d.ts +43 -0
- package/dist/src/telemetry/high-water-mark-tracker.js +88 -0
- package/dist/src/telemetry/high-water-mark-tracker.js.map +1 -0
- package/dist/src/telemetry/high-water-mark-tracker.test.d.ts +6 -0
- package/dist/src/telemetry/high-water-mark-tracker.test.js +152 -0
- package/dist/src/telemetry/high-water-mark-tracker.test.js.map +1 -0
- package/dist/src/telemetry/index.d.ts +12 -2
- package/dist/src/telemetry/index.js +16 -2
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +17 -2
- package/dist/src/telemetry/loggers.js +316 -14
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.circular.js +3 -3
- package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +452 -48
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +323 -12
- package/dist/src/telemetry/metrics.js +464 -83
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +583 -38
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/rate-limiter.d.ts +48 -0
- package/dist/src/telemetry/rate-limiter.js +100 -0
- package/dist/src/telemetry/rate-limiter.js.map +1 -0
- package/dist/src/telemetry/rate-limiter.test.d.ts +6 -0
- package/dist/src/telemetry/rate-limiter.test.js +207 -0
- package/dist/src/telemetry/rate-limiter.test.js.map +1 -0
- package/dist/src/telemetry/sdk.d.ts +1 -1
- package/dist/src/telemetry/sdk.js +20 -2
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/sdk.test.js +108 -0
- package/dist/src/telemetry/sdk.test.js.map +1 -1
- package/dist/src/telemetry/telemetry-utils.d.ts +6 -0
- package/dist/src/telemetry/telemetry-utils.js +14 -0
- package/dist/src/telemetry/telemetry-utils.js.map +1 -0
- package/dist/src/telemetry/telemetry-utils.test.d.ts +6 -0
- package/dist/src/telemetry/telemetry-utils.test.js +40 -0
- package/dist/src/telemetry/telemetry-utils.test.js.map +1 -0
- package/dist/src/telemetry/types.d.ts +136 -8
- package/dist/src/telemetry/types.js +233 -11
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.d.ts +3 -3
- package/dist/src/telemetry/uiTelemetry.js +7 -8
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.test.js +33 -29
- package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
- package/dist/src/test-utils/config.d.ts +2 -1
- package/dist/src/test-utils/config.js.map +1 -1
- package/dist/src/test-utils/index.d.ts +6 -0
- package/dist/src/test-utils/index.js +7 -0
- package/dist/src/test-utils/index.js.map +1 -0
- package/dist/src/test-utils/mock-tool.d.ts +66 -0
- package/dist/src/test-utils/{tools.js → mock-tool.js} +45 -29
- package/dist/src/test-utils/mock-tool.js.map +1 -0
- package/dist/src/test-utils/mockWorkspaceContext.d.ts +1 -1
- package/dist/src/tools/diffOptions.d.ts +1 -1
- package/dist/src/tools/diffOptions.js +21 -13
- package/dist/src/tools/diffOptions.js.map +1 -1
- package/dist/src/tools/diffOptions.test.js +58 -22
- package/dist/src/tools/diffOptions.test.js.map +1 -1
- package/dist/src/tools/edit.d.ts +6 -5
- package/dist/src/tools/edit.js +58 -40
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +192 -16
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/glob.d.ts +7 -2
- package/dist/src/tools/glob.js +42 -23
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/glob.test.js +80 -4
- package/dist/src/tools/glob.test.js.map +1 -1
- package/dist/src/tools/grep.d.ts +3 -2
- package/dist/src/tools/grep.js +35 -15
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +26 -3
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/ls.d.ts +3 -2
- package/dist/src/tools/ls.js +31 -39
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +145 -280
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.d.ts +8 -6
- package/dist/src/tools/mcp-client-manager.js +13 -4
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +20 -1
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +18 -21
- package/dist/src/tools/mcp-client.js +87 -120
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +32 -152
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +6 -4
- package/dist/src/tools/mcp-tool.js +51 -13
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +166 -12
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +3 -2
- package/dist/src/tools/memoryTool.js +14 -37
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +16 -4
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/message-bus-integration.test.d.ts +6 -0
- package/dist/src/tools/message-bus-integration.test.js +183 -0
- package/dist/src/tools/message-bus-integration.test.js.map +1 -0
- package/dist/src/tools/modifiable-tool.d.ts +2 -2
- package/dist/src/tools/modifiable-tool.js +3 -3
- package/dist/src/tools/modifiable-tool.js.map +1 -1
- package/dist/src/tools/modifiable-tool.test.js +4 -4
- package/dist/src/tools/modifiable-tool.test.js.map +1 -1
- package/dist/src/tools/read-file.d.ts +3 -2
- package/dist/src/tools/read-file.js +23 -38
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +38 -6
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/read-many-files.d.ts +3 -2
- package/dist/src/tools/read-many-files.js +52 -107
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +64 -11
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/ripGrep.d.ts +55 -0
- package/dist/src/tools/ripGrep.js +393 -0
- package/dist/src/tools/ripGrep.js.map +1 -0
- package/dist/src/tools/ripGrep.test.d.ts +6 -0
- package/dist/src/tools/ripGrep.test.js +976 -0
- package/dist/src/tools/ripGrep.test.js.map +1 -0
- package/dist/src/tools/shell.d.ts +13 -2
- package/dist/src/tools/shell.js +42 -32
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +57 -75
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/smart-edit.d.ts +91 -0
- package/dist/src/tools/smart-edit.js +702 -0
- package/dist/src/tools/smart-edit.js.map +1 -0
- package/dist/src/tools/smart-edit.test.d.ts +6 -0
- package/dist/src/tools/smart-edit.test.js +542 -0
- package/dist/src/tools/smart-edit.test.js.map +1 -0
- package/dist/src/tools/tool-error.d.ts +18 -1
- package/dist/src/tools/tool-error.js +27 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +10 -4
- package/dist/src/tools/tool-registry.js +20 -7
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +93 -10
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +33 -16
- package/dist/src/tools/tools.js +115 -5
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/tools.test.js +1 -2
- package/dist/src/tools/tools.test.js.map +1 -1
- package/dist/src/tools/web-fetch.d.ts +3 -2
- package/dist/src/tools/web-fetch.js +14 -10
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +55 -16
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.d.ts +4 -3
- package/dist/src/tools/web-search.js +31 -8
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/web-search.test.js +69 -1
- package/dist/src/tools/web-search.test.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +4 -3
- package/dist/src/tools/write-file.js +17 -18
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +108 -24
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/tools/write-todos.d.ts +25 -0
- package/dist/src/tools/write-todos.js +150 -0
- package/dist/src/tools/write-todos.js.map +1 -0
- package/dist/src/tools/write-todos.test.d.ts +6 -0
- package/dist/src/tools/write-todos.test.js +89 -0
- package/dist/src/tools/write-todos.test.js.map +1 -0
- package/dist/src/utils/bfsFileSearch.d.ts +2 -2
- package/dist/src/utils/bfsFileSearch.js +13 -7
- package/dist/src/utils/bfsFileSearch.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.test.js +3 -3
- package/dist/src/utils/bfsFileSearch.test.js.map +1 -1
- package/dist/src/utils/editCorrector.d.ts +9 -8
- package/dist/src/utils/editCorrector.js +62 -19
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +33 -82
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/editor.js +32 -45
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/editor.test.js +62 -76
- package/dist/src/utils/editor.test.js.map +1 -1
- package/dist/src/utils/environmentContext.d.ts +2 -2
- package/dist/src/utils/errorParsing.js +2 -2
- package/dist/src/utils/errorParsing.js.map +1 -1
- package/dist/src/utils/errorParsing.test.js +7 -7
- package/dist/src/utils/errorParsing.test.js.map +1 -1
- package/dist/src/utils/errorReporting.d.ts +1 -1
- package/dist/src/utils/errors.d.ts +25 -0
- package/dist/src/utils/errors.js +42 -0
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/fetch.js +1 -1
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/fileUtils.d.ts +24 -12
- package/dist/src/utils/fileUtils.js +170 -79
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +347 -29
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/filesearch/crawler.d.ts +1 -1
- package/dist/src/utils/filesearch/crawler.test.js +2 -2
- package/dist/src/utils/filesearch/crawler.test.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.d.ts +1 -0
- package/dist/src/utils/filesearch/fileSearch.js +14 -9
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.test.js +90 -0
- package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
- package/dist/src/utils/flashFallback.test.d.ts +6 -0
- package/dist/src/utils/{flashFallback.integration.test.js → flashFallback.test.js} +33 -29
- package/dist/src/utils/flashFallback.test.js.map +1 -0
- package/dist/src/utils/geminiIgnoreParser.d.ts +18 -0
- package/dist/src/utils/geminiIgnoreParser.js +61 -0
- package/dist/src/utils/geminiIgnoreParser.js.map +1 -0
- package/dist/src/utils/geminiIgnoreParser.test.d.ts +6 -0
- package/dist/src/utils/geminiIgnoreParser.test.js +50 -0
- package/dist/src/utils/geminiIgnoreParser.test.js.map +1 -0
- package/dist/src/utils/generateContentResponseUtilities.d.ts +1 -2
- package/dist/src/utils/generateContentResponseUtilities.js +1 -13
- package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.test.js +2 -40
- package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
- package/dist/src/utils/getFolderStructure.d.ts +2 -2
- package/dist/src/utils/getFolderStructure.js +3 -3
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/getFolderStructure.test.js +4 -4
- package/dist/src/utils/getFolderStructure.test.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.d.ts +3 -7
- package/dist/src/utils/gitIgnoreParser.js +126 -35
- package/dist/src/utils/gitIgnoreParser.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.test.js +69 -38
- package/dist/src/utils/gitIgnoreParser.test.js.map +1 -1
- package/dist/src/utils/gitUtils.js +2 -2
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/ignorePatterns.d.ts +103 -0
- package/dist/src/utils/ignorePatterns.js +220 -0
- package/dist/src/utils/ignorePatterns.js.map +1 -0
- package/dist/src/utils/ignorePatterns.test.d.ts +6 -0
- package/dist/src/utils/ignorePatterns.test.js +250 -0
- package/dist/src/utils/ignorePatterns.test.js.map +1 -0
- package/dist/src/utils/installationManager.d.ts +16 -0
- package/dist/src/utils/installationManager.js +50 -0
- package/dist/src/utils/installationManager.js.map +1 -0
- package/dist/src/utils/installationManager.test.d.ts +6 -0
- package/dist/src/utils/installationManager.test.js +83 -0
- package/dist/src/utils/installationManager.test.js.map +1 -0
- package/dist/src/utils/language-detection.d.ts +6 -0
- package/dist/src/utils/language-detection.js +101 -0
- package/dist/src/utils/language-detection.js.map +1 -0
- package/dist/src/utils/llm-edit-fixer.d.ts +26 -0
- package/dist/src/utils/llm-edit-fixer.js +131 -0
- package/dist/src/utils/llm-edit-fixer.js.map +1 -0
- package/dist/src/utils/llm-edit-fixer.test.d.ts +6 -0
- package/dist/src/utils/llm-edit-fixer.test.js +186 -0
- package/dist/src/utils/llm-edit-fixer.test.js.map +1 -0
- package/dist/src/utils/memoryDiscovery.d.ts +7 -6
- package/dist/src/utils/memoryDiscovery.js +68 -33
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +88 -26
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/memoryImportProcessor.js +15 -22
- package/dist/src/utils/memoryImportProcessor.js.map +1 -1
- package/dist/src/utils/memoryImportProcessor.test.js +16 -141
- package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
- package/dist/src/utils/messageInspectors.d.ts +1 -1
- package/dist/src/utils/nextSpeakerChecker.d.ts +3 -3
- package/dist/src/utils/nextSpeakerChecker.js +8 -2
- package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.test.js +75 -64
- package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
- package/dist/src/utils/partUtils.d.ts +22 -1
- package/dist/src/utils/partUtils.js +68 -0
- package/dist/src/utils/partUtils.js.map +1 -1
- package/dist/src/utils/partUtils.test.js +112 -1
- package/dist/src/utils/partUtils.test.js.map +1 -1
- package/dist/src/utils/pathReader.d.ts +17 -0
- package/dist/src/utils/pathReader.js +92 -0
- package/dist/src/utils/pathReader.js.map +1 -0
- package/dist/src/utils/pathReader.test.d.ts +6 -0
- package/dist/src/utils/pathReader.test.js +363 -0
- package/dist/src/utils/pathReader.test.js.map +1 -0
- package/dist/src/utils/paths.d.ts +0 -17
- package/dist/src/utils/paths.js +2 -28
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/promptIdContext.d.ts +7 -0
- package/dist/src/utils/promptIdContext.js +8 -0
- package/dist/src/utils/promptIdContext.js.map +1 -0
- package/dist/src/utils/quotaErrorDetection.d.ts +1 -1
- package/dist/src/utils/retry.d.ts +3 -1
- package/dist/src/utils/retry.js +20 -5
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +35 -3
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/schemaValidator.js +15 -1
- package/dist/src/utils/schemaValidator.js.map +1 -1
- package/dist/src/utils/schemaValidator.test.d.ts +6 -0
- package/dist/src/utils/schemaValidator.test.js +113 -0
- package/dist/src/utils/schemaValidator.test.js.map +1 -0
- package/dist/src/utils/session.js +1 -1
- package/dist/src/utils/session.js.map +1 -1
- package/dist/src/utils/shell-utils.d.ts +6 -1
- package/dist/src/utils/shell-utils.js +51 -30
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +9 -0
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/src/utils/summarizer.d.ts +2 -2
- package/dist/src/utils/summarizer.test.js.map +1 -1
- package/dist/src/utils/systemEncoding.js +2 -2
- package/dist/src/utils/systemEncoding.js.map +1 -1
- package/dist/src/utils/systemEncoding.test.js +2 -2
- package/dist/src/utils/systemEncoding.test.js.map +1 -1
- package/dist/src/utils/terminalSerializer.d.ts +25 -0
- package/dist/src/utils/terminalSerializer.js +432 -0
- package/dist/src/utils/terminalSerializer.js.map +1 -0
- package/dist/src/utils/terminalSerializer.test.d.ts +6 -0
- package/dist/src/utils/terminalSerializer.test.js +176 -0
- package/dist/src/utils/terminalSerializer.test.js.map +1 -0
- package/dist/src/utils/textUtils.d.ts +5 -0
- package/dist/src/utils/textUtils.js +14 -0
- package/dist/src/utils/textUtils.js.map +1 -1
- package/dist/src/utils/textUtils.test.d.ts +6 -0
- package/dist/src/utils/textUtils.test.js +59 -0
- package/dist/src/utils/textUtils.test.js.map +1 -0
- package/dist/src/utils/thoughtUtils.d.ts +21 -0
- package/dist/src/utils/thoughtUtils.js +39 -0
- package/dist/src/utils/thoughtUtils.js.map +1 -0
- package/dist/src/utils/thoughtUtils.test.d.ts +6 -0
- package/dist/src/utils/thoughtUtils.test.js +78 -0
- package/dist/src/utils/thoughtUtils.test.js.map +1 -0
- package/dist/src/utils/tool-utils.d.ts +19 -0
- package/dist/src/utils/tool-utils.js +58 -0
- package/dist/src/utils/tool-utils.js.map +1 -0
- package/dist/src/utils/tool-utils.test.d.ts +6 -0
- package/dist/src/utils/tool-utils.test.js +61 -0
- package/dist/src/utils/tool-utils.test.js.map +1 -0
- package/dist/src/utils/userAccountManager.d.ts +20 -0
- package/dist/src/utils/userAccountManager.js +114 -0
- package/dist/src/utils/userAccountManager.js.map +1 -0
- package/dist/src/utils/userAccountManager.test.d.ts +6 -0
- package/dist/src/utils/{user_account.test.js → userAccountManager.test.js} +33 -30
- package/dist/src/utils/userAccountManager.test.js.map +1 -0
- package/dist/src/utils/workspaceContext.js +13 -7
- package/dist/src/utils/workspaceContext.js.map +1 -1
- package/dist/src/utils/workspaceContext.test.js +41 -16
- package/dist/src/utils/workspaceContext.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -9
- package/dist/src/core/modelCheck.d.ts +0 -14
- package/dist/src/core/modelCheck.js +0 -62
- package/dist/src/core/modelCheck.js.map +0 -1
- package/dist/src/test-utils/tools.d.ts +0 -44
- package/dist/src/test-utils/tools.js.map +0 -1
- package/dist/src/utils/flashFallback.integration.test.js.map +0 -1
- package/dist/src/utils/user_account.d.ts +0 -9
- package/dist/src/utils/user_account.js +0 -109
- package/dist/src/utils/user_account.js.map +0 -1
- package/dist/src/utils/user_account.test.js.map +0 -1
- package/dist/src/utils/user_id.d.ts +0 -11
- package/dist/src/utils/user_id.js +0 -49
- package/dist/src/utils/user_id.js.map +0 -1
- package/dist/src/utils/user_id.test.js +0 -21
- package/dist/src/utils/user_id.test.js.map +0 -1
- /package/dist/src/{utils/flashFallback.integration.test.d.ts → agents/executor.test.d.ts} +0 -0
- /package/dist/src/{utils/user_account.test.d.ts → agents/invocation.test.d.ts} +0 -0
- /package/dist/src/{utils/user_id.test.d.ts → agents/registry.test.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/agents/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { describe, it, expect, vi, beforeEach, afterEach, } from 'vitest';
|
|
7
|
+
import { AgentExecutor } from './executor.js';
|
|
8
|
+
import { AgentTerminateMode } from './types.js';
|
|
9
|
+
import { makeFakeConfig } from '../test-utils/config.js';
|
|
10
|
+
import { ToolRegistry } from '../tools/tool-registry.js';
|
|
11
|
+
import { LSTool } from '../tools/ls.js';
|
|
12
|
+
import { ReadFileTool } from '../tools/read-file.js';
|
|
13
|
+
import { GeminiChat, StreamEventType, } from '../core/geminiChat.js';
|
|
14
|
+
import { MockTool } from '../test-utils/mock-tool.js';
|
|
15
|
+
import { getDirectoryContextString } from '../utils/environmentContext.js';
|
|
16
|
+
const { mockSendMessageStream, mockExecuteToolCall } = vi.hoisted(() => ({
|
|
17
|
+
mockSendMessageStream: vi.fn(),
|
|
18
|
+
mockExecuteToolCall: vi.fn(),
|
|
19
|
+
}));
|
|
20
|
+
vi.mock('../core/geminiChat.js', async (importOriginal) => {
|
|
21
|
+
const actual = await importOriginal();
|
|
22
|
+
return {
|
|
23
|
+
...actual,
|
|
24
|
+
GeminiChat: vi.fn().mockImplementation(() => ({
|
|
25
|
+
sendMessageStream: mockSendMessageStream,
|
|
26
|
+
})),
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
vi.mock('../core/nonInteractiveToolExecutor.js', () => ({
|
|
30
|
+
executeToolCall: mockExecuteToolCall,
|
|
31
|
+
}));
|
|
32
|
+
vi.mock('../utils/environmentContext.js');
|
|
33
|
+
const MockedGeminiChat = GeminiChat;
|
|
34
|
+
// A mock tool that is NOT on the NON_INTERACTIVE_TOOL_ALLOWLIST
|
|
35
|
+
const MOCK_TOOL_NOT_ALLOWED = new MockTool({ name: 'write_file' });
|
|
36
|
+
const createMockResponseChunk = (parts, functionCalls) => ({
|
|
37
|
+
candidates: [{ index: 0, content: { role: 'model', parts } }],
|
|
38
|
+
functionCalls,
|
|
39
|
+
});
|
|
40
|
+
const mockModelResponse = (functionCalls, thought, text) => {
|
|
41
|
+
const parts = [];
|
|
42
|
+
if (thought) {
|
|
43
|
+
parts.push({
|
|
44
|
+
text: `**${thought}** This is the reasoning part.`,
|
|
45
|
+
thought: true,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (text)
|
|
49
|
+
parts.push({ text });
|
|
50
|
+
const responseChunk = createMockResponseChunk(parts,
|
|
51
|
+
// Ensure functionCalls is undefined if the array is empty, matching API behavior
|
|
52
|
+
functionCalls.length > 0 ? functionCalls : undefined);
|
|
53
|
+
mockSendMessageStream.mockImplementationOnce(async () => (async function* () {
|
|
54
|
+
yield {
|
|
55
|
+
type: StreamEventType.CHUNK,
|
|
56
|
+
value: responseChunk,
|
|
57
|
+
};
|
|
58
|
+
})());
|
|
59
|
+
};
|
|
60
|
+
let mockConfig;
|
|
61
|
+
let parentToolRegistry;
|
|
62
|
+
const createTestDefinition = (tools = [LSTool.Name], runConfigOverrides = {}, outputConfigOverrides = {}) => ({
|
|
63
|
+
name: 'TestAgent',
|
|
64
|
+
description: 'An agent for testing.',
|
|
65
|
+
inputConfig: {
|
|
66
|
+
inputs: { goal: { type: 'string', required: true, description: 'goal' } },
|
|
67
|
+
},
|
|
68
|
+
modelConfig: { model: 'gemini-test-model', temp: 0, top_p: 1 },
|
|
69
|
+
runConfig: { max_time_minutes: 5, max_turns: 5, ...runConfigOverrides },
|
|
70
|
+
promptConfig: { systemPrompt: 'Achieve the goal: ${goal}.' },
|
|
71
|
+
toolConfig: { tools },
|
|
72
|
+
outputConfig: { description: 'The final result.', ...outputConfigOverrides },
|
|
73
|
+
});
|
|
74
|
+
describe('AgentExecutor', () => {
|
|
75
|
+
let activities;
|
|
76
|
+
let onActivity;
|
|
77
|
+
let abortController;
|
|
78
|
+
let signal;
|
|
79
|
+
beforeEach(async () => {
|
|
80
|
+
mockSendMessageStream.mockClear();
|
|
81
|
+
mockExecuteToolCall.mockClear();
|
|
82
|
+
vi.clearAllMocks();
|
|
83
|
+
// Use fake timers for timeout and concurrency testing
|
|
84
|
+
vi.useFakeTimers();
|
|
85
|
+
mockConfig = makeFakeConfig();
|
|
86
|
+
parentToolRegistry = new ToolRegistry(mockConfig);
|
|
87
|
+
parentToolRegistry.registerTool(new LSTool(mockConfig));
|
|
88
|
+
parentToolRegistry.registerTool(new ReadFileTool(mockConfig));
|
|
89
|
+
parentToolRegistry.registerTool(MOCK_TOOL_NOT_ALLOWED);
|
|
90
|
+
vi.spyOn(mockConfig, 'getToolRegistry').mockResolvedValue(parentToolRegistry);
|
|
91
|
+
vi.mocked(getDirectoryContextString).mockResolvedValue('Mocked Environment Context');
|
|
92
|
+
activities = [];
|
|
93
|
+
onActivity = (activity) => activities.push(activity);
|
|
94
|
+
abortController = new AbortController();
|
|
95
|
+
signal = abortController.signal;
|
|
96
|
+
});
|
|
97
|
+
afterEach(() => {
|
|
98
|
+
vi.useRealTimers();
|
|
99
|
+
});
|
|
100
|
+
describe('create (Initialization and Validation)', () => {
|
|
101
|
+
it('should create successfully with allowed tools', async () => {
|
|
102
|
+
const definition = createTestDefinition([LSTool.Name]);
|
|
103
|
+
const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
|
|
104
|
+
expect(executor).toBeInstanceOf(AgentExecutor);
|
|
105
|
+
});
|
|
106
|
+
it('SECURITY: should throw if a tool is not on the non-interactive allowlist', async () => {
|
|
107
|
+
const definition = createTestDefinition([MOCK_TOOL_NOT_ALLOWED.name]);
|
|
108
|
+
await expect(AgentExecutor.create(definition, mockConfig, onActivity)).rejects.toThrow(`Tool "${MOCK_TOOL_NOT_ALLOWED.name}" is not on the allow-list for non-interactive execution`);
|
|
109
|
+
});
|
|
110
|
+
it('should create an isolated ToolRegistry for the agent', async () => {
|
|
111
|
+
const definition = createTestDefinition([LSTool.Name, ReadFileTool.Name]);
|
|
112
|
+
const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
|
|
113
|
+
// @ts-expect-error - accessing private property for test validation
|
|
114
|
+
const agentRegistry = executor.toolRegistry;
|
|
115
|
+
expect(agentRegistry).not.toBe(parentToolRegistry);
|
|
116
|
+
expect(agentRegistry.getAllToolNames()).toEqual(expect.arrayContaining([LSTool.Name, ReadFileTool.Name]));
|
|
117
|
+
expect(agentRegistry.getAllToolNames()).toHaveLength(2);
|
|
118
|
+
expect(agentRegistry.getTool(MOCK_TOOL_NOT_ALLOWED.name)).toBeUndefined();
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
describe('run (Execution Loop and Logic)', () => {
|
|
122
|
+
it('should execute a successful work and extraction phase (Happy Path) and emit activities', async () => {
|
|
123
|
+
const definition = createTestDefinition();
|
|
124
|
+
const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
|
|
125
|
+
const inputs = { goal: 'Find files' };
|
|
126
|
+
// Turn 1: Model calls ls
|
|
127
|
+
mockModelResponse([{ name: LSTool.Name, args: { path: '.' }, id: 'call1' }], 'T1: Listing');
|
|
128
|
+
mockExecuteToolCall.mockResolvedValueOnce({
|
|
129
|
+
callId: 'call1',
|
|
130
|
+
resultDisplay: 'file1.txt',
|
|
131
|
+
responseParts: [
|
|
132
|
+
{
|
|
133
|
+
functionResponse: {
|
|
134
|
+
name: LSTool.Name,
|
|
135
|
+
response: { result: 'file1.txt' },
|
|
136
|
+
id: 'call1',
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
error: undefined,
|
|
141
|
+
});
|
|
142
|
+
// Turn 2: Model stops
|
|
143
|
+
mockModelResponse([], 'T2: Done');
|
|
144
|
+
// Extraction Phase
|
|
145
|
+
mockModelResponse([], undefined, 'Result: file1.txt.');
|
|
146
|
+
const output = await executor.run(inputs, signal);
|
|
147
|
+
expect(mockSendMessageStream).toHaveBeenCalledTimes(3);
|
|
148
|
+
expect(mockExecuteToolCall).toHaveBeenCalledTimes(1);
|
|
149
|
+
// Verify System Prompt Templating
|
|
150
|
+
const chatConstructorArgs = MockedGeminiChat.mock.calls[0];
|
|
151
|
+
const chatConfig = chatConstructorArgs[1];
|
|
152
|
+
expect(chatConfig?.systemInstruction).toContain('Achieve the goal: Find files.');
|
|
153
|
+
// Verify environment context is appended
|
|
154
|
+
expect(chatConfig?.systemInstruction).toContain('# Environment Context\nMocked Environment Context');
|
|
155
|
+
// Verify standard rules are appended
|
|
156
|
+
expect(chatConfig?.systemInstruction).toContain('You are running in a non-interactive mode.');
|
|
157
|
+
// Verify absolute path rule is appended
|
|
158
|
+
expect(chatConfig?.systemInstruction).toContain('Always use absolute paths for file operations.');
|
|
159
|
+
// Verify Extraction Phase Call (Specific arguments)
|
|
160
|
+
expect(mockSendMessageStream).toHaveBeenCalledWith('gemini-test-model', expect.objectContaining({
|
|
161
|
+
// Extraction message should be based on outputConfig.description
|
|
162
|
+
message: expect.arrayContaining([
|
|
163
|
+
{
|
|
164
|
+
text: expect.stringContaining('Based on your work so far, provide: The final result.'),
|
|
165
|
+
},
|
|
166
|
+
]),
|
|
167
|
+
config: expect.objectContaining({ tools: undefined }), // No tools in extraction
|
|
168
|
+
}), expect.stringContaining('#extraction'));
|
|
169
|
+
expect(output.result).toBe('Result: file1.txt.');
|
|
170
|
+
expect(output.terminate_reason).toBe(AgentTerminateMode.GOAL);
|
|
171
|
+
// Verify Activity Stream (Observability)
|
|
172
|
+
expect(activities).toEqual(expect.arrayContaining([
|
|
173
|
+
// Thought subjects are extracted by the executor (parseThought)
|
|
174
|
+
expect.objectContaining({
|
|
175
|
+
type: 'THOUGHT_CHUNK',
|
|
176
|
+
data: { text: 'T1: Listing' },
|
|
177
|
+
}),
|
|
178
|
+
expect.objectContaining({
|
|
179
|
+
type: 'TOOL_CALL_START',
|
|
180
|
+
data: { name: LSTool.Name, args: { path: '.' } },
|
|
181
|
+
}),
|
|
182
|
+
expect.objectContaining({
|
|
183
|
+
type: 'TOOL_CALL_END',
|
|
184
|
+
data: { name: LSTool.Name, output: 'file1.txt' },
|
|
185
|
+
}),
|
|
186
|
+
expect.objectContaining({
|
|
187
|
+
type: 'THOUGHT_CHUNK',
|
|
188
|
+
data: { text: 'T2: Done' },
|
|
189
|
+
}),
|
|
190
|
+
]));
|
|
191
|
+
});
|
|
192
|
+
it('should execute parallel tool calls concurrently', async () => {
|
|
193
|
+
const definition = createTestDefinition([LSTool.Name, ReadFileTool.Name]);
|
|
194
|
+
const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
|
|
195
|
+
const call1 = {
|
|
196
|
+
name: LSTool.Name,
|
|
197
|
+
args: { path: '/dir1' },
|
|
198
|
+
id: 'call1',
|
|
199
|
+
};
|
|
200
|
+
// Using LSTool twice for simplicity in mocking standardized responses.
|
|
201
|
+
const call2 = {
|
|
202
|
+
name: LSTool.Name,
|
|
203
|
+
args: { path: '/dir2' },
|
|
204
|
+
id: 'call2',
|
|
205
|
+
};
|
|
206
|
+
// Turn 1: Model calls two tools simultaneously
|
|
207
|
+
mockModelResponse([call1, call2], 'T1: Listing both');
|
|
208
|
+
// Use concurrency tracking to ensure parallelism
|
|
209
|
+
let activeCalls = 0;
|
|
210
|
+
let maxActiveCalls = 0;
|
|
211
|
+
mockExecuteToolCall.mockImplementation(async (_ctx, reqInfo) => {
|
|
212
|
+
activeCalls++;
|
|
213
|
+
maxActiveCalls = Math.max(maxActiveCalls, activeCalls);
|
|
214
|
+
// Simulate latency. We must advance the fake timers for this to resolve.
|
|
215
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
216
|
+
activeCalls--;
|
|
217
|
+
return {
|
|
218
|
+
callId: reqInfo.callId,
|
|
219
|
+
resultDisplay: `Result for ${reqInfo.name}`,
|
|
220
|
+
responseParts: [
|
|
221
|
+
{
|
|
222
|
+
functionResponse: {
|
|
223
|
+
name: reqInfo.name,
|
|
224
|
+
response: {},
|
|
225
|
+
id: reqInfo.callId,
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
],
|
|
229
|
+
error: undefined,
|
|
230
|
+
};
|
|
231
|
+
});
|
|
232
|
+
// Turn 2: Model stops
|
|
233
|
+
mockModelResponse([]);
|
|
234
|
+
// Extraction
|
|
235
|
+
mockModelResponse([], undefined, 'Done.');
|
|
236
|
+
const runPromise = executor.run({ goal: 'Parallel test' }, signal);
|
|
237
|
+
// Advance timers while the parallel calls (Promise.all + setTimeout) are running
|
|
238
|
+
await vi.advanceTimersByTimeAsync(150);
|
|
239
|
+
await runPromise;
|
|
240
|
+
expect(mockExecuteToolCall).toHaveBeenCalledTimes(2);
|
|
241
|
+
expect(maxActiveCalls).toBe(2);
|
|
242
|
+
// Verify the input to the next model call (Turn 2) contains both responses
|
|
243
|
+
// sendMessageStream calls: [0] Turn 1, [1] Turn 2, [2] Extraction
|
|
244
|
+
const turn2Input = mockSendMessageStream.mock.calls[1][1];
|
|
245
|
+
const turn2Parts = turn2Input.message;
|
|
246
|
+
// Promise.all preserves the order of the input array.
|
|
247
|
+
expect(turn2Parts.length).toBe(2);
|
|
248
|
+
expect(turn2Parts[0]).toEqual(expect.objectContaining({
|
|
249
|
+
functionResponse: expect.objectContaining({ id: 'call1' }),
|
|
250
|
+
}));
|
|
251
|
+
expect(turn2Parts[1]).toEqual(expect.objectContaining({
|
|
252
|
+
functionResponse: expect.objectContaining({ id: 'call2' }),
|
|
253
|
+
}));
|
|
254
|
+
});
|
|
255
|
+
it('should handle tool execution failure gracefully and report error', async () => {
|
|
256
|
+
const definition = createTestDefinition([LSTool.Name]);
|
|
257
|
+
const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
|
|
258
|
+
// Turn 1: Model calls ls, but it fails
|
|
259
|
+
mockModelResponse([
|
|
260
|
+
{ name: LSTool.Name, args: { path: '/invalid' }, id: 'call1' },
|
|
261
|
+
]);
|
|
262
|
+
const errorMessage = 'Internal failure.';
|
|
263
|
+
mockExecuteToolCall.mockResolvedValueOnce({
|
|
264
|
+
callId: 'call1',
|
|
265
|
+
resultDisplay: `Error: ${errorMessage}`,
|
|
266
|
+
responseParts: undefined, // Failed tools might return undefined parts
|
|
267
|
+
error: { message: errorMessage },
|
|
268
|
+
});
|
|
269
|
+
// Turn 2: Model stops
|
|
270
|
+
mockModelResponse([]);
|
|
271
|
+
mockModelResponse([], undefined, 'Failed.');
|
|
272
|
+
await executor.run({ goal: 'Failure test' }, signal);
|
|
273
|
+
// Verify that the error was reported in the activity stream
|
|
274
|
+
expect(activities).toContainEqual(expect.objectContaining({
|
|
275
|
+
type: 'ERROR',
|
|
276
|
+
data: {
|
|
277
|
+
error: errorMessage,
|
|
278
|
+
context: 'tool_call',
|
|
279
|
+
name: LSTool.Name,
|
|
280
|
+
},
|
|
281
|
+
}));
|
|
282
|
+
// Verify the input to the next model call (Turn 2) contains the fallback error message
|
|
283
|
+
const turn2Input = mockSendMessageStream.mock.calls[1][1];
|
|
284
|
+
const turn2Parts = turn2Input.message;
|
|
285
|
+
expect(turn2Parts).toEqual([
|
|
286
|
+
{
|
|
287
|
+
text: 'All tool calls failed. Please analyze the errors and try an alternative approach.',
|
|
288
|
+
},
|
|
289
|
+
]);
|
|
290
|
+
});
|
|
291
|
+
it('SECURITY: should block calls to tools not registered for the agent at runtime', async () => {
|
|
292
|
+
// Agent definition only includes LSTool
|
|
293
|
+
const definition = createTestDefinition([LSTool.Name]);
|
|
294
|
+
const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
|
|
295
|
+
// Turn 1: Model hallucinates a call to ReadFileTool
|
|
296
|
+
// (ReadFileTool exists in the parent registry but not the agent's isolated registry)
|
|
297
|
+
mockModelResponse([
|
|
298
|
+
{
|
|
299
|
+
name: ReadFileTool.Name,
|
|
300
|
+
args: { path: 'config.txt' },
|
|
301
|
+
id: 'call_blocked',
|
|
302
|
+
},
|
|
303
|
+
]);
|
|
304
|
+
// Turn 2: Model stops
|
|
305
|
+
mockModelResponse([]);
|
|
306
|
+
// Extraction
|
|
307
|
+
mockModelResponse([], undefined, 'Done.');
|
|
308
|
+
const consoleWarnSpy = vi
|
|
309
|
+
.spyOn(console, 'warn')
|
|
310
|
+
.mockImplementation(() => { });
|
|
311
|
+
await executor.run({ goal: 'Security test' }, signal);
|
|
312
|
+
// Verify executeToolCall was NEVER called because the tool was unauthorized
|
|
313
|
+
expect(mockExecuteToolCall).not.toHaveBeenCalled();
|
|
314
|
+
expect(consoleWarnSpy).toHaveBeenCalledWith(expect.stringContaining(`attempted to call unauthorized tool '${ReadFileTool.Name}'`));
|
|
315
|
+
consoleWarnSpy.mockRestore();
|
|
316
|
+
// Verify the input to the next model call (Turn 2) indicates failure (as the only call was blocked)
|
|
317
|
+
const turn2Input = mockSendMessageStream.mock.calls[1][1];
|
|
318
|
+
const turn2Parts = turn2Input.message;
|
|
319
|
+
expect(turn2Parts[0].text).toContain('All tool calls failed');
|
|
320
|
+
});
|
|
321
|
+
it('should use OutputConfig completion_criteria in the extraction message', async () => {
|
|
322
|
+
const definition = createTestDefinition([LSTool.Name], {}, {
|
|
323
|
+
description: 'A summary.',
|
|
324
|
+
completion_criteria: ['Must include file names', 'Must be concise'],
|
|
325
|
+
});
|
|
326
|
+
const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
|
|
327
|
+
// Turn 1: Model stops immediately
|
|
328
|
+
mockModelResponse([]);
|
|
329
|
+
// Extraction Phase
|
|
330
|
+
mockModelResponse([], undefined, 'Result: Done.');
|
|
331
|
+
await executor.run({ goal: 'Extraction test' }, signal);
|
|
332
|
+
// Verify the extraction call (the second call)
|
|
333
|
+
const extractionCallArgs = mockSendMessageStream.mock.calls[1][1];
|
|
334
|
+
const extractionMessageParts = extractionCallArgs.message;
|
|
335
|
+
const extractionText = extractionMessageParts[0].text;
|
|
336
|
+
expect(extractionText).toContain('Based on your work so far, provide: A summary.');
|
|
337
|
+
expect(extractionText).toContain('Be sure you have addressed:');
|
|
338
|
+
expect(extractionText).toContain('- Must include file names');
|
|
339
|
+
expect(extractionText).toContain('- Must be concise');
|
|
340
|
+
});
|
|
341
|
+
});
|
|
342
|
+
describe('run (Termination Conditions)', () => {
|
|
343
|
+
const mockKeepAliveResponse = () => {
|
|
344
|
+
mockModelResponse([{ name: LSTool.Name, args: { path: '.' }, id: 'loop' }], 'Looping');
|
|
345
|
+
mockExecuteToolCall.mockResolvedValue({
|
|
346
|
+
callId: 'loop',
|
|
347
|
+
resultDisplay: 'ok',
|
|
348
|
+
responseParts: [
|
|
349
|
+
{ functionResponse: { name: LSTool.Name, response: {}, id: 'loop' } },
|
|
350
|
+
],
|
|
351
|
+
error: undefined,
|
|
352
|
+
});
|
|
353
|
+
};
|
|
354
|
+
it('should terminate when max_turns is reached', async () => {
|
|
355
|
+
const MAX_TURNS = 2;
|
|
356
|
+
const definition = createTestDefinition([LSTool.Name], {
|
|
357
|
+
max_turns: MAX_TURNS,
|
|
358
|
+
});
|
|
359
|
+
const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
|
|
360
|
+
// Turn 1
|
|
361
|
+
mockKeepAliveResponse();
|
|
362
|
+
// Turn 2
|
|
363
|
+
mockKeepAliveResponse();
|
|
364
|
+
const output = await executor.run({ goal: 'Termination test' }, signal);
|
|
365
|
+
expect(output.terminate_reason).toBe(AgentTerminateMode.MAX_TURNS);
|
|
366
|
+
expect(mockSendMessageStream).toHaveBeenCalledTimes(MAX_TURNS);
|
|
367
|
+
// Extraction phase should be skipped when termination is forced
|
|
368
|
+
expect(mockSendMessageStream).not.toHaveBeenCalledWith(expect.any(String), expect.any(Object), expect.stringContaining('#extraction'));
|
|
369
|
+
});
|
|
370
|
+
it('should terminate if timeout is reached', async () => {
|
|
371
|
+
const definition = createTestDefinition([LSTool.Name], {
|
|
372
|
+
max_time_minutes: 5,
|
|
373
|
+
max_turns: 100,
|
|
374
|
+
});
|
|
375
|
+
const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
|
|
376
|
+
// Turn 1 setup
|
|
377
|
+
mockModelResponse([{ name: LSTool.Name, args: { path: '.' }, id: 'loop' }], 'Looping');
|
|
378
|
+
// Mock a tool call that takes a long time, causing the overall timeout
|
|
379
|
+
mockExecuteToolCall.mockImplementation(async () => {
|
|
380
|
+
// Advance time past the 5-minute limit during the tool call execution
|
|
381
|
+
await vi.advanceTimersByTimeAsync(5 * 60 * 1000 + 1);
|
|
382
|
+
return {
|
|
383
|
+
callId: 'loop',
|
|
384
|
+
resultDisplay: 'ok',
|
|
385
|
+
responseParts: [
|
|
386
|
+
{
|
|
387
|
+
functionResponse: { name: LSTool.Name, response: {}, id: 'loop' },
|
|
388
|
+
},
|
|
389
|
+
],
|
|
390
|
+
error: undefined,
|
|
391
|
+
};
|
|
392
|
+
});
|
|
393
|
+
const output = await executor.run({ goal: 'Termination test' }, signal);
|
|
394
|
+
expect(output.terminate_reason).toBe(AgentTerminateMode.TIMEOUT);
|
|
395
|
+
// Should only have called the model once before the timeout check stopped it
|
|
396
|
+
expect(mockSendMessageStream).toHaveBeenCalledTimes(1);
|
|
397
|
+
});
|
|
398
|
+
it('should terminate when AbortSignal is triggered mid-stream', async () => {
|
|
399
|
+
const definition = createTestDefinition();
|
|
400
|
+
const executor = await AgentExecutor.create(definition, mockConfig, onActivity);
|
|
401
|
+
// Mock the model response stream
|
|
402
|
+
mockSendMessageStream.mockImplementation(async () => (async function* () {
|
|
403
|
+
// Yield the first chunk
|
|
404
|
+
yield {
|
|
405
|
+
type: StreamEventType.CHUNK,
|
|
406
|
+
value: createMockResponseChunk([
|
|
407
|
+
{ text: '**Thinking** Step 1', thought: true },
|
|
408
|
+
]),
|
|
409
|
+
};
|
|
410
|
+
// Simulate abort happening mid-stream
|
|
411
|
+
abortController.abort();
|
|
412
|
+
// The loop in callModel should break immediately due to signal check.
|
|
413
|
+
})());
|
|
414
|
+
const output = await executor.run({ goal: 'Termination test' }, signal);
|
|
415
|
+
expect(output.terminate_reason).toBe(AgentTerminateMode.ABORTED);
|
|
416
|
+
});
|
|
417
|
+
});
|
|
418
|
+
});
|
|
419
|
+
//# sourceMappingURL=executor.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.test.js","sourceRoot":"","sources":["../../../src/agents/executor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Config } from '../config/config.js';
|
|
7
|
+
import type { AnsiOutput } from '../utils/terminalSerializer.js';
|
|
8
|
+
import { BaseToolInvocation, type ToolResult } from '../tools/tools.js';
|
|
9
|
+
import type { AgentDefinition, AgentInputs } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Represents a validated, executable instance of a subagent tool.
|
|
12
|
+
*
|
|
13
|
+
* This class orchestrates the execution of a defined agent by:
|
|
14
|
+
* 1. Initializing the {@link AgentExecutor}.
|
|
15
|
+
* 2. Running the agent's execution loop.
|
|
16
|
+
* 3. Bridging the agent's streaming activity (e.g., thoughts) to the tool's
|
|
17
|
+
* live output stream.
|
|
18
|
+
* 4. Formatting the final result into a {@link ToolResult}.
|
|
19
|
+
*/
|
|
20
|
+
export declare class SubagentInvocation extends BaseToolInvocation<AgentInputs, ToolResult> {
|
|
21
|
+
private readonly definition;
|
|
22
|
+
private readonly config;
|
|
23
|
+
/**
|
|
24
|
+
* @param params The validated input parameters for the agent.
|
|
25
|
+
* @param definition The definition object that configures the agent.
|
|
26
|
+
* @param config The global runtime configuration.
|
|
27
|
+
*/
|
|
28
|
+
constructor(params: AgentInputs, definition: AgentDefinition, config: Config);
|
|
29
|
+
/**
|
|
30
|
+
* Returns a concise, human-readable description of the invocation.
|
|
31
|
+
* Used for logging and display purposes.
|
|
32
|
+
*/
|
|
33
|
+
getDescription(): string;
|
|
34
|
+
/**
|
|
35
|
+
* Executes the subagent.
|
|
36
|
+
*
|
|
37
|
+
* @param signal An `AbortSignal` to cancel the agent's execution.
|
|
38
|
+
* @param updateOutput A callback to stream intermediate output, such as the
|
|
39
|
+
* agent's thoughts, to the user interface.
|
|
40
|
+
* @returns A `Promise` that resolves with the final `ToolResult`.
|
|
41
|
+
*/
|
|
42
|
+
execute(signal: AbortSignal, updateOutput?: (output: string | AnsiOutput) => void): Promise<ToolResult>;
|
|
43
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { AgentExecutor } from './executor.js';
|
|
7
|
+
import { BaseToolInvocation } from '../tools/tools.js';
|
|
8
|
+
import { ToolErrorType } from '../tools/tool-error.js';
|
|
9
|
+
const INPUT_PREVIEW_MAX_LENGTH = 50;
|
|
10
|
+
const DESCRIPTION_MAX_LENGTH = 200;
|
|
11
|
+
/**
|
|
12
|
+
* Represents a validated, executable instance of a subagent tool.
|
|
13
|
+
*
|
|
14
|
+
* This class orchestrates the execution of a defined agent by:
|
|
15
|
+
* 1. Initializing the {@link AgentExecutor}.
|
|
16
|
+
* 2. Running the agent's execution loop.
|
|
17
|
+
* 3. Bridging the agent's streaming activity (e.g., thoughts) to the tool's
|
|
18
|
+
* live output stream.
|
|
19
|
+
* 4. Formatting the final result into a {@link ToolResult}.
|
|
20
|
+
*/
|
|
21
|
+
export class SubagentInvocation extends BaseToolInvocation {
|
|
22
|
+
definition;
|
|
23
|
+
config;
|
|
24
|
+
/**
|
|
25
|
+
* @param params The validated input parameters for the agent.
|
|
26
|
+
* @param definition The definition object that configures the agent.
|
|
27
|
+
* @param config The global runtime configuration.
|
|
28
|
+
*/
|
|
29
|
+
constructor(params, definition, config) {
|
|
30
|
+
super(params);
|
|
31
|
+
this.definition = definition;
|
|
32
|
+
this.config = config;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Returns a concise, human-readable description of the invocation.
|
|
36
|
+
* Used for logging and display purposes.
|
|
37
|
+
*/
|
|
38
|
+
getDescription() {
|
|
39
|
+
const inputSummary = Object.entries(this.params)
|
|
40
|
+
.map(([key, value]) => `${key}: ${String(value).slice(0, INPUT_PREVIEW_MAX_LENGTH)}`)
|
|
41
|
+
.join(', ');
|
|
42
|
+
const description = `Running subagent '${this.definition.name}' with inputs: { ${inputSummary} }`;
|
|
43
|
+
return description.slice(0, DESCRIPTION_MAX_LENGTH);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Executes the subagent.
|
|
47
|
+
*
|
|
48
|
+
* @param signal An `AbortSignal` to cancel the agent's execution.
|
|
49
|
+
* @param updateOutput A callback to stream intermediate output, such as the
|
|
50
|
+
* agent's thoughts, to the user interface.
|
|
51
|
+
* @returns A `Promise` that resolves with the final `ToolResult`.
|
|
52
|
+
*/
|
|
53
|
+
async execute(signal, updateOutput) {
|
|
54
|
+
try {
|
|
55
|
+
if (updateOutput) {
|
|
56
|
+
updateOutput('Subagent starting...\n');
|
|
57
|
+
}
|
|
58
|
+
// Create an activity callback to bridge the executor's events to the
|
|
59
|
+
// tool's streaming output.
|
|
60
|
+
const onActivity = (activity) => {
|
|
61
|
+
if (!updateOutput)
|
|
62
|
+
return;
|
|
63
|
+
if (activity.type === 'THOUGHT_CHUNK' &&
|
|
64
|
+
typeof activity.data['text'] === 'string') {
|
|
65
|
+
updateOutput(`🤖💭 ${activity.data['text']}`);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
const executor = await AgentExecutor.create(this.definition, this.config, onActivity);
|
|
69
|
+
const output = await executor.run(this.params, signal);
|
|
70
|
+
const resultContent = `Subagent '${this.definition.name}' finished.
|
|
71
|
+
Termination Reason: ${output.terminate_reason}
|
|
72
|
+
Result:
|
|
73
|
+
${output.result}`;
|
|
74
|
+
const displayContent = `
|
|
75
|
+
Subagent ${this.definition.name} Finished
|
|
76
|
+
|
|
77
|
+
Termination Reason:\n ${output.terminate_reason}
|
|
78
|
+
|
|
79
|
+
Result:
|
|
80
|
+
${output.result}
|
|
81
|
+
`;
|
|
82
|
+
return {
|
|
83
|
+
llmContent: [{ text: resultContent }],
|
|
84
|
+
returnDisplay: displayContent,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
89
|
+
return {
|
|
90
|
+
llmContent: `Subagent '${this.definition.name}' failed. Error: ${errorMessage}`,
|
|
91
|
+
returnDisplay: `Subagent Failed: ${this.definition.name}\nError: ${errorMessage}`,
|
|
92
|
+
error: {
|
|
93
|
+
message: errorMessage,
|
|
94
|
+
type: ToolErrorType.EXECUTION_FAILED,
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=invocation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invocation.js","sourceRoot":"","sources":["../../../src/agents/invocation.ts"],"names":[],"mappings":"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"}
|