@machina.ai/cell-cli-core 1.13.0-rc4 → 1.16.0-rc1
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 +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/src/agents/codebase-investigator.test.d.ts +6 -0
- package/dist/src/agents/codebase-investigator.test.js +35 -0
- package/dist/src/agents/codebase-investigator.test.js.map +1 -0
- package/dist/src/agents/executor.d.ts +3 -0
- package/dist/src/agents/executor.js +21 -0
- package/dist/src/agents/executor.js.map +1 -1
- package/dist/src/agents/executor.test.js +358 -3
- package/dist/src/agents/executor.test.js.map +1 -1
- package/dist/src/code_assist/codeAssist.test.d.ts +6 -0
- package/dist/src/code_assist/codeAssist.test.js +99 -0
- package/dist/src/code_assist/codeAssist.test.js.map +1 -0
- package/dist/src/code_assist/experiments/client_metadata.js +2 -1
- package/dist/src/code_assist/experiments/client_metadata.js.map +1 -1
- package/dist/src/code_assist/experiments/client_metadata.test.d.ts +6 -0
- package/dist/src/code_assist/experiments/client_metadata.test.js +99 -0
- package/dist/src/code_assist/experiments/client_metadata.test.js.map +1 -0
- package/dist/src/code_assist/experiments/experiments.js +2 -2
- package/dist/src/code_assist/experiments/experiments.js.map +1 -1
- package/dist/src/code_assist/experiments/experiments.test.d.ts +6 -0
- package/dist/src/code_assist/experiments/experiments.test.js +92 -0
- package/dist/src/code_assist/experiments/experiments.test.js.map +1 -0
- package/dist/src/code_assist/experiments/flagNames.d.ts +13 -0
- package/dist/src/code_assist/experiments/flagNames.js +13 -0
- package/dist/src/code_assist/experiments/flagNames.js.map +1 -0
- package/dist/src/code_assist/experiments/types.d.ts +1 -1
- package/dist/src/code_assist/oauth-credential-storage.test.js +49 -0
- package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
- package/dist/src/code_assist/server.js +5 -8
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +109 -28
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/config/config.d.ts +34 -2
- package/dist/src/config/config.js +147 -26
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +436 -19
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.d.ts +7 -0
- package/dist/src/config/defaultModelConfigs.js +158 -0
- package/dist/src/config/defaultModelConfigs.js.map +1 -0
- package/dist/src/config/models.d.ts +22 -1
- package/dist/src/config/models.js +49 -6
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +71 -10
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.d.ts +1 -1
- package/dist/src/confirmation-bus/message-bus.js +2 -2
- package/dist/src/confirmation-bus/message-bus.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.test.js +30 -24
- package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
- package/dist/src/confirmation-bus/types.d.ts +1 -0
- package/dist/src/core/baseLlmClient.d.ts +4 -8
- package/dist/src/core/baseLlmClient.js +3 -8
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +22 -27
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.d.ts +6 -5
- package/dist/src/core/client.js +33 -33
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +40 -22
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.js +7 -1
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +151 -357
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +6 -4
- package/dist/src/core/geminiChat.js +106 -29
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +317 -16
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/logger.d.ts +7 -2
- package/dist/src/core/logger.js +15 -9
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/logger.test.js +31 -16
- package/dist/src/core/logger.test.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.test.d.ts +6 -0
- package/dist/src/core/loggingContentGenerator.test.js +180 -0
- package/dist/src/core/loggingContentGenerator.test.js.map +1 -0
- package/dist/src/core/nonInteractiveToolExecutor.test.js +1 -0
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/prompts.js +8 -11
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/tokenLimits.test.d.ts +6 -0
- package/dist/src/core/tokenLimits.test.js +26 -0
- package/dist/src/core/tokenLimits.test.js.map +1 -0
- package/dist/src/fallback/handler.js +52 -7
- package/dist/src/fallback/handler.js.map +1 -1
- package/dist/src/fallback/handler.test.js +69 -16
- package/dist/src/fallback/handler.test.js.map +1 -1
- package/dist/src/fallback/types.d.ts +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/hooks/hookAggregator.d.ts +68 -0
- package/dist/src/hooks/hookAggregator.js +262 -0
- package/dist/src/hooks/hookAggregator.js.map +1 -0
- package/dist/src/hooks/hookAggregator.test.d.ts +6 -0
- package/dist/src/hooks/hookAggregator.test.js +387 -0
- package/dist/src/hooks/hookAggregator.test.js.map +1 -0
- package/dist/src/hooks/hookRunner.d.ts +42 -0
- package/dist/src/hooks/hookRunner.js +272 -0
- package/dist/src/hooks/hookRunner.js.map +1 -0
- package/dist/src/hooks/hookRunner.test.d.ts +6 -0
- package/dist/src/hooks/hookRunner.test.js +468 -0
- package/dist/src/hooks/hookRunner.test.js.map +1 -0
- package/dist/src/hooks/hookTranslator.d.ts +3 -3
- package/dist/src/hooks/types.js +1 -1
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/hooks/types.test.js +280 -2
- 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 +6 -1
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +5 -0
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +3 -1
- package/dist/src/ide/ide-client.js +9 -8
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-client.test.js +159 -0
- package/dist/src/ide/ide-client.test.js.map +1 -1
- package/dist/src/ide/ide-installer.js +65 -20
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +41 -0
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/ide/types.d.ts +1 -1
- package/dist/src/ide/types.js +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/google-auth-provider.js +1 -1
- package/dist/src/mcp/google-auth-provider.js.map +1 -1
- package/dist/src/mcp/mcpLauncher.js +6 -2
- package/dist/src/mcp/mcpLauncher.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js +2 -2
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +177 -0
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/mcp/sa-impersonation-provider.js +1 -1
- package/dist/src/mcp/sa-impersonation-provider.js.map +1 -1
- package/dist/src/policy/config.js +3 -1
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/config.test.js +135 -1
- package/dist/src/policy/config.test.js.map +1 -1
- package/dist/src/policy/policies/discovered.toml +8 -0
- package/dist/src/policy/policies/write.toml +10 -0
- package/dist/src/policy/policy-engine.d.ts +12 -3
- package/dist/src/policy/policy-engine.js +71 -9
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +460 -76
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/toml-loader.d.ts +2 -1
- package/dist/src/policy/toml-loader.js +103 -6
- package/dist/src/policy/toml-loader.js.map +1 -1
- package/dist/src/policy/toml-loader.test.js +222 -368
- package/dist/src/policy/toml-loader.test.js.map +1 -1
- package/dist/src/policy/types.d.ts +65 -0
- package/dist/src/policy/types.js +4 -0
- package/dist/src/policy/types.js.map +1 -1
- package/dist/src/prompts/mcp-prompts.test.d.ts +6 -0
- package/dist/src/prompts/mcp-prompts.test.js +40 -0
- package/dist/src/prompts/mcp-prompts.test.js.map +1 -0
- package/dist/src/prompts/prompt-registry.test.d.ts +6 -0
- package/dist/src/prompts/prompt-registry.test.js +111 -0
- package/dist/src/prompts/prompt-registry.test.js.map +1 -0
- package/dist/src/routing/modelRouterService.js +15 -0
- package/dist/src/routing/modelRouterService.js.map +1 -1
- package/dist/src/routing/modelRouterService.test.js +62 -0
- package/dist/src/routing/modelRouterService.test.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.d.ts +1 -1
- package/dist/src/routing/strategies/classifierStrategy.js +6 -14
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js +13 -10
- package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.test.js +4 -0
- package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js +2 -2
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.test.js +3 -0
- package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -1
- package/dist/src/safety/built-in.d.ts +21 -0
- package/dist/src/safety/built-in.js +106 -0
- package/dist/src/safety/built-in.js.map +1 -0
- package/dist/src/safety/built-in.test.d.ts +6 -0
- package/dist/src/safety/built-in.test.js +199 -0
- package/dist/src/safety/built-in.test.js.map +1 -0
- package/dist/src/safety/checker-runner.d.ts +48 -0
- package/dist/src/safety/checker-runner.js +208 -0
- package/dist/src/safety/checker-runner.js.map +1 -0
- package/dist/src/safety/checker-runner.test.d.ts +6 -0
- package/dist/src/safety/checker-runner.test.js +238 -0
- package/dist/src/safety/checker-runner.test.js.map +1 -0
- package/dist/src/safety/context-builder.d.ts +23 -0
- package/dist/src/safety/context-builder.js +47 -0
- package/dist/src/safety/context-builder.js.map +1 -0
- package/dist/src/safety/context-builder.test.d.ts +6 -0
- package/dist/src/safety/context-builder.test.js +49 -0
- package/dist/src/safety/context-builder.test.js.map +1 -0
- package/dist/src/safety/protocol.d.ts +88 -0
- package/dist/src/safety/protocol.js +15 -0
- package/dist/src/safety/protocol.js.map +1 -0
- package/dist/src/safety/registry.d.ts +26 -0
- package/dist/src/safety/registry.js +65 -0
- package/dist/src/safety/registry.js.map +1 -0
- package/dist/src/safety/registry.test.d.ts +6 -0
- package/dist/src/safety/registry.test.js +31 -0
- package/dist/src/safety/registry.test.js.map +1 -0
- package/dist/src/services/chatCompressionService.test.js +1 -0
- package/dist/src/services/chatCompressionService.test.js.map +1 -1
- package/dist/src/services/gitService.js +1 -1
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +1 -1
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/services/loopDetectionService.d.ts +3 -0
- package/dist/src/services/loopDetectionService.js +81 -42
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/loopDetectionService.test.js +101 -1
- package/dist/src/services/loopDetectionService.test.js.map +1 -1
- package/dist/src/services/modelConfig.golden.test.d.ts +6 -0
- package/dist/src/services/modelConfig.golden.test.js +42 -0
- package/dist/src/services/modelConfig.golden.test.js.map +1 -0
- package/dist/src/services/modelConfig.integration.test.d.ts +6 -0
- package/dist/src/services/modelConfig.integration.test.js +213 -0
- package/dist/src/services/modelConfig.integration.test.js.map +1 -0
- package/dist/src/services/modelConfigService.d.ts +46 -0
- package/dist/src/services/modelConfigService.js +146 -0
- package/dist/src/services/modelConfigService.js.map +1 -0
- package/dist/src/services/modelConfigService.test.d.ts +6 -0
- package/dist/src/services/modelConfigService.test.js +509 -0
- package/dist/src/services/modelConfigService.test.js.map +1 -0
- package/dist/src/services/test-data/resolved-aliases.golden.json +169 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +11 -9
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +174 -150
- 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 +76 -20
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +6 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +18 -5
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +2 -2
- package/dist/src/telemetry/index.js +2 -2
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +7 -7
- package/dist/src/telemetry/loggers.js +23 -23
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.circular.js +0 -1
- package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +72 -18
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +8 -4
- package/dist/src/telemetry/metrics.js +10 -4
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +42 -0
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/telemetryAttributes.js +1 -0
- package/dist/src/telemetry/telemetryAttributes.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +17 -11
- package/dist/src/telemetry/types.js +53 -28
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/tools/base-tool-invocation.test.d.ts +6 -0
- package/dist/src/tools/base-tool-invocation.test.js +85 -0
- package/dist/src/tools/base-tool-invocation.test.js.map +1 -0
- package/dist/src/tools/edit.d.ts +1 -1
- package/dist/src/tools/edit.js +31 -33
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +31 -20
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/glob.d.ts +1 -1
- package/dist/src/tools/glob.js +7 -7
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/glob.test.js +20 -17
- package/dist/src/tools/glob.test.js.map +1 -1
- package/dist/src/tools/grep.d.ts +1 -1
- package/dist/src/tools/grep.js +9 -9
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +15 -12
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/ls.d.ts +1 -1
- package/dist/src/tools/ls.js +14 -15
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +32 -33
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-client.js +24 -52
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +18 -0
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +1 -0
- package/dist/src/tools/mcp-tool.js +5 -2
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/memoryTool.js +1 -1
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +1 -1
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/modifiable-tool.d.ts +5 -1
- package/dist/src/tools/modifiable-tool.js +34 -13
- package/dist/src/tools/modifiable-tool.js.map +1 -1
- package/dist/src/tools/modifiable-tool.test.js +56 -22
- package/dist/src/tools/modifiable-tool.test.js.map +1 -1
- package/dist/src/tools/read-file.d.ts +2 -2
- package/dist/src/tools/read-file.js +20 -24
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +63 -51
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/read-many-files.d.ts +2 -9
- package/dist/src/tools/read-many-files.js +10 -21
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +37 -35
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/ripGrep.d.ts +25 -8
- package/dist/src/tools/ripGrep.js +148 -176
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +383 -58
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +1 -1
- package/dist/src/tools/shell.js +17 -15
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +66 -36
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/smart-edit.d.ts +6 -1
- package/dist/src/tools/smart-edit.js +18 -17
- package/dist/src/tools/smart-edit.js.map +1 -1
- package/dist/src/tools/smart-edit.test.js +49 -24
- package/dist/src/tools/smart-edit.test.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +29 -4
- package/dist/src/tools/tool-registry.js +108 -29
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +134 -4
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +2 -1
- package/dist/src/tools/tools.js +5 -2
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/web-fetch.js +2 -4
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +11 -4
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.js +1 -2
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/web-search.test.js +11 -5
- package/dist/src/tools/web-search.test.js.map +1 -1
- package/dist/src/tools/write-file.js +31 -31
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +24 -5
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/tools/write-todos.d.ts +29 -0
- package/dist/src/tools/write-todos.js +34 -1
- package/dist/src/tools/write-todos.js.map +1 -1
- package/dist/src/utils/editCorrector.js +4 -15
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +16 -0
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/editor.d.ts +3 -1
- package/dist/src/utils/editor.js +18 -1
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/editor.test.js +11 -0
- package/dist/src/utils/editor.test.js.map +1 -1
- package/dist/src/utils/environmentContext.js +3 -1
- package/dist/src/utils/environmentContext.js.map +1 -1
- package/dist/src/utils/environmentContext.test.js +6 -0
- package/dist/src/utils/environmentContext.test.js.map +1 -1
- package/dist/src/utils/events.d.ts +14 -11
- package/dist/src/utils/events.js +1 -14
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/extensionLoader.d.ts +8 -0
- package/dist/src/utils/extensionLoader.js +61 -15
- package/dist/src/utils/extensionLoader.js.map +1 -1
- package/dist/src/utils/extensionLoader.test.js +83 -19
- package/dist/src/utils/extensionLoader.test.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +75 -60
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/flashFallback.test.js +2 -2
- package/dist/src/utils/flashFallback.test.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.d.ts +2 -1
- package/dist/src/utils/googleQuotaErrors.js +20 -12
- package/dist/src/utils/googleQuotaErrors.js.map +1 -1
- package/dist/src/utils/httpErrors.d.ts +18 -0
- package/dist/src/utils/httpErrors.js +36 -0
- package/dist/src/utils/httpErrors.js.map +1 -0
- package/dist/src/utils/llm-edit-fixer.js +1 -2
- package/dist/src/utils/llm-edit-fixer.js.map +1 -1
- package/dist/src/utils/llm-edit-fixer.test.js +16 -1
- package/dist/src/utils/llm-edit-fixer.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.d.ts +8 -0
- package/dist/src/utils/memoryDiscovery.js +24 -0
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +43 -1
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.js +1 -2
- package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.test.js +10 -4
- package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
- package/dist/src/utils/pathReader.js +4 -4
- package/dist/src/utils/pathReader.js.map +1 -1
- package/dist/src/utils/pathReader.test.js +44 -1
- package/dist/src/utils/pathReader.test.js.map +1 -1
- package/dist/src/utils/paths.d.ts +1 -1
- package/dist/src/utils/paths.js +5 -3
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/retry.d.ts +0 -9
- package/dist/src/utils/retry.js +24 -28
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +51 -0
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/shell-utils.js +5 -3
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +9 -9
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/src/utils/summarizer.d.ts +4 -2
- package/dist/src/utils/summarizer.js +6 -8
- package/dist/src/utils/summarizer.js.map +1 -1
- package/dist/src/utils/summarizer.test.js +32 -11
- package/dist/src/utils/summarizer.test.js.map +1 -1
- package/dist/src/utils/workspaceContext.d.ts +4 -3
- package/dist/src/utils/workspaceContext.js +10 -11
- package/dist/src/utils/workspaceContext.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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-utils.js","sourceRoot":"","sources":["../../../src/utils/shell-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shell-utils.js","sourceRoot":"","sources":["../../../src/utils/shell-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ beforeEach(() => {
|
|
|
34
34
|
mockQuote.mockImplementation((args) => args.map((arg) => `'${arg}'`).join(' '));
|
|
35
35
|
config = {
|
|
36
36
|
getCoreTools: () => [],
|
|
37
|
-
getExcludeTools: () => [],
|
|
37
|
+
getExcludeTools: () => new Set([]),
|
|
38
38
|
getAllowedTools: () => [],
|
|
39
39
|
};
|
|
40
40
|
});
|
|
@@ -58,14 +58,14 @@ describe('isCommandAllowed', () => {
|
|
|
58
58
|
expect(result.reason).toBe(`Command(s) not in the allowed commands list. Disallowed commands: "badCommand --danger"`);
|
|
59
59
|
});
|
|
60
60
|
it('should block a command if it is in the blocked list', () => {
|
|
61
|
-
config.getExcludeTools = () => ['ShellTool(badCommand --danger)'];
|
|
61
|
+
config.getExcludeTools = () => new Set(['ShellTool(badCommand --danger)']);
|
|
62
62
|
const result = isCommandAllowed('badCommand --danger', config);
|
|
63
63
|
expect(result.allowed).toBe(false);
|
|
64
64
|
expect(result.reason).toBe(`Command 'badCommand --danger' is blocked by configuration`);
|
|
65
65
|
});
|
|
66
66
|
it('should prioritize the blocklist over the allowlist', () => {
|
|
67
67
|
config.getCoreTools = () => ['ShellTool(badCommand --danger)'];
|
|
68
|
-
config.getExcludeTools = () => ['ShellTool(badCommand --danger)'];
|
|
68
|
+
config.getExcludeTools = () => new Set(['ShellTool(badCommand --danger)']);
|
|
69
69
|
const result = isCommandAllowed('badCommand --danger', config);
|
|
70
70
|
expect(result.allowed).toBe(false);
|
|
71
71
|
expect(result.reason).toBe(`Command 'badCommand --danger' is blocked by configuration`);
|
|
@@ -76,14 +76,14 @@ describe('isCommandAllowed', () => {
|
|
|
76
76
|
expect(result.allowed).toBe(true);
|
|
77
77
|
});
|
|
78
78
|
it('should block any command when a wildcard is in excludeTools', () => {
|
|
79
|
-
config.getExcludeTools = () => ['run_shell_command'];
|
|
79
|
+
config.getExcludeTools = () => new Set(['run_shell_command']);
|
|
80
80
|
const result = isCommandAllowed('any random command', config);
|
|
81
81
|
expect(result.allowed).toBe(false);
|
|
82
82
|
expect(result.reason).toBe('Shell tool is globally disabled in configuration');
|
|
83
83
|
});
|
|
84
84
|
it('should block a command on the blocklist even with a wildcard allow', () => {
|
|
85
85
|
config.getCoreTools = () => ['ShellTool'];
|
|
86
|
-
config.getExcludeTools = () => ['ShellTool(badCommand --danger)'];
|
|
86
|
+
config.getExcludeTools = () => new Set(['ShellTool(badCommand --danger)']);
|
|
87
87
|
const result = isCommandAllowed('badCommand --danger', config);
|
|
88
88
|
expect(result.allowed).toBe(false);
|
|
89
89
|
expect(result.reason).toBe(`Command 'badCommand --danger' is blocked by configuration`);
|
|
@@ -97,14 +97,14 @@ describe('isCommandAllowed', () => {
|
|
|
97
97
|
expect(result.allowed).toBe(true);
|
|
98
98
|
});
|
|
99
99
|
it('should block a chained command if any part is blocked', () => {
|
|
100
|
-
config.getExcludeTools = () => ['run_shell_command(badCommand)'];
|
|
100
|
+
config.getExcludeTools = () => new Set(['run_shell_command(badCommand)']);
|
|
101
101
|
const result = isCommandAllowed('echo "hello" && badCommand --danger', config);
|
|
102
102
|
expect(result.allowed).toBe(false);
|
|
103
103
|
expect(result.reason).toBe(`Command 'badCommand --danger' is blocked by configuration`);
|
|
104
104
|
});
|
|
105
105
|
it('should block a command that redefines an allowed function to run an unlisted command', () => {
|
|
106
106
|
config.getCoreTools = () => ['run_shell_command(echo)'];
|
|
107
|
-
const result = isCommandAllowed('echo () (curl google.com) ; echo Hello
|
|
107
|
+
const result = isCommandAllowed('echo () (curl google.com) ; echo Hello World', config);
|
|
108
108
|
expect(result.allowed).toBe(false);
|
|
109
109
|
expect(result.reason).toBe(`Command(s) not in the allowed commands list. Disallowed commands: "curl google.com"`);
|
|
110
110
|
});
|
|
@@ -234,7 +234,7 @@ describe('checkCommandPermissions', () => {
|
|
|
234
234
|
});
|
|
235
235
|
});
|
|
236
236
|
it('should return a detailed failure object for a blocked command', () => {
|
|
237
|
-
config.getExcludeTools = () => ['ShellTool(badCommand)'];
|
|
237
|
+
config.getExcludeTools = () => new Set(['ShellTool(badCommand)']);
|
|
238
238
|
const result = checkCommandPermissions('badCommand --danger', config);
|
|
239
239
|
expect(result).toEqual({
|
|
240
240
|
allAllowed: false,
|
|
@@ -276,7 +276,7 @@ describe('checkCommandPermissions', () => {
|
|
|
276
276
|
expect(result.allAllowed).toBe(true);
|
|
277
277
|
});
|
|
278
278
|
it('should block a command on the sessionAllowlist if it is also globally blocked', () => {
|
|
279
|
-
config.getExcludeTools = () => ['run_shell_command(badCommand)'];
|
|
279
|
+
config.getExcludeTools = () => new Set(['run_shell_command(badCommand)']);
|
|
280
280
|
const result = checkCommandPermissions('badCommand --danger', config, new Set(['badCommand --danger']));
|
|
281
281
|
expect(result.allAllowed).toBe(false);
|
|
282
282
|
expect(result.blockReason).toContain('is blocked by configuration');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-utils.test.js","sourceRoot":"","sources":["../../../src/utils/shell-utils.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shell-utils.test.js","sourceRoot":"","sources":["../../../src/utils/shell-utils.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { ToolResult } from '../tools/tools.js';
|
|
7
7
|
import type { GeminiClient } from '../core/client.js';
|
|
8
|
+
import type { ModelConfigKey } from '../services/modelConfigService.js';
|
|
9
|
+
import type { Config } from '../config/config.js';
|
|
8
10
|
/**
|
|
9
11
|
* A function that summarizes the result of a tool execution.
|
|
10
12
|
*
|
|
11
13
|
* @param result The result of the tool execution.
|
|
12
14
|
* @returns The summary of the result.
|
|
13
15
|
*/
|
|
14
|
-
export type Summarizer = (result: ToolResult, geminiClient: GeminiClient, abortSignal: AbortSignal) => Promise<string>;
|
|
16
|
+
export type Summarizer = (config: Config, result: ToolResult, geminiClient: GeminiClient, abortSignal: AbortSignal) => Promise<string>;
|
|
15
17
|
/**
|
|
16
18
|
* The default summarizer for tool results.
|
|
17
19
|
*
|
|
@@ -22,4 +24,4 @@ export type Summarizer = (result: ToolResult, geminiClient: GeminiClient, abortS
|
|
|
22
24
|
*/
|
|
23
25
|
export declare const defaultSummarizer: Summarizer;
|
|
24
26
|
export declare const llmSummarizer: Summarizer;
|
|
25
|
-
export declare function summarizeToolOutput(textToSummarize: string, geminiClient: GeminiClient, abortSignal: AbortSignal
|
|
27
|
+
export declare function summarizeToolOutput(config: Config, modelConfigKey: ModelConfigKey, textToSummarize: string, geminiClient: GeminiClient, abortSignal: AbortSignal): Promise<string>;
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { DEFAULT_GEMINI_FLASH_LITE_MODEL } from '../config/models.js';
|
|
7
6
|
import { getResponseText, partToString } from './partUtils.js';
|
|
8
7
|
import { debugLogger } from './debugLogger.js';
|
|
9
8
|
/**
|
|
@@ -14,7 +13,7 @@ import { debugLogger } from './debugLogger.js';
|
|
|
14
13
|
* @param abortSignal The abort signal to use for summarization.
|
|
15
14
|
* @returns The summary of the result.
|
|
16
15
|
*/
|
|
17
|
-
export const defaultSummarizer = (result, _geminiClient, _abortSignal) => Promise.resolve(JSON.stringify(result.llmContent));
|
|
16
|
+
export const defaultSummarizer = (_config, result, _geminiClient, _abortSignal) => Promise.resolve(JSON.stringify(result.llmContent));
|
|
18
17
|
const SUMMARIZE_TOOL_OUTPUT_PROMPT = `Summarize the following tool output to be a maximum of {maxOutputTokens} tokens. The summary should be concise and capture the main points of the tool output.
|
|
19
18
|
|
|
20
19
|
The summarization should be done based on the content that is provided. Here are the basic rules to follow:
|
|
@@ -28,8 +27,10 @@ Text to summarize:
|
|
|
28
27
|
|
|
29
28
|
Return the summary string which should first contain an overall summarization of text followed by the full stack trace of errors and warnings in the tool output.
|
|
30
29
|
`;
|
|
31
|
-
export const llmSummarizer = (result, geminiClient, abortSignal) => summarizeToolOutput(partToString(result.llmContent), geminiClient, abortSignal);
|
|
32
|
-
export async function summarizeToolOutput(textToSummarize, geminiClient, abortSignal
|
|
30
|
+
export const llmSummarizer = async (config, result, geminiClient, abortSignal) => summarizeToolOutput(config, { model: 'summarizer-default' }, partToString(result.llmContent), geminiClient, abortSignal);
|
|
31
|
+
export async function summarizeToolOutput(config, modelConfigKey, textToSummarize, geminiClient, abortSignal) {
|
|
32
|
+
const maxOutputTokens = config.modelConfigService.getResolvedConfig(modelConfigKey)
|
|
33
|
+
.generateContentConfig.maxOutputTokens ?? 2000;
|
|
33
34
|
// There is going to be a slight difference here since we are comparing length of string with maxOutputTokens.
|
|
34
35
|
// This is meant to be a ballpark estimation of if we need to summarize the tool output.
|
|
35
36
|
if (!textToSummarize || textToSummarize.length < maxOutputTokens) {
|
|
@@ -37,11 +38,8 @@ export async function summarizeToolOutput(textToSummarize, geminiClient, abortSi
|
|
|
37
38
|
}
|
|
38
39
|
const prompt = SUMMARIZE_TOOL_OUTPUT_PROMPT.replace('{maxOutputTokens}', String(maxOutputTokens)).replace('{textToSummarize}', textToSummarize);
|
|
39
40
|
const contents = [{ role: 'user', parts: [{ text: prompt }] }];
|
|
40
|
-
const toolOutputSummarizerConfig = {
|
|
41
|
-
maxOutputTokens,
|
|
42
|
-
};
|
|
43
41
|
try {
|
|
44
|
-
const parsedResponse =
|
|
42
|
+
const parsedResponse = await geminiClient.generateContent(modelConfigKey, contents, abortSignal);
|
|
45
43
|
return getResponseText(parsedResponse) || textToSummarize;
|
|
46
44
|
}
|
|
47
45
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarizer.js","sourceRoot":"","sources":["../../../src/utils/summarizer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"summarizer.js","sourceRoot":"","sources":["../../../src/utils/summarizer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAiB/C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAe,CAC3C,OAAe,EACf,MAAkB,EAClB,aAA2B,EAC3B,YAAyB,EACzB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AAExD,MAAM,4BAA4B,GAAG;;;;;;;;;;;;CAYpC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAe,KAAK,EAC5C,MAAM,EACN,MAAM,EACN,YAAY,EACZ,WAAW,EACX,EAAE,CACF,mBAAmB,CACjB,MAAM,EACN,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAC/B,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EAC/B,YAAY,EACZ,WAAW,CACZ,CAAC;AAEJ,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,cAA8B,EAC9B,eAAuB,EACvB,YAA0B,EAC1B,WAAwB;IAExB,MAAM,eAAe,GACnB,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,cAAc,CAAC;SACxD,qBAAqB,CAAC,eAAe,IAAI,IAAI,CAAC;IACnD,8GAA8G;IAC9G,wFAAwF;IACxF,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QACjE,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,MAAM,MAAM,GAAG,4BAA4B,CAAC,OAAO,CACjD,mBAAmB,EACnB,MAAM,CAAC,eAAe,CAAC,CACxB,CAAC,OAAO,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,eAAe,CACvD,cAAc,EACd,QAAQ,EACR,WAAW,CACZ,CAAC;QACF,OAAO,eAAe,CAAC,cAAc,CAAC,IAAI,eAAe,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO,eAAe,CAAC;IACzB,CAAC;AACH,CAAC"}
|
|
@@ -7,16 +7,27 @@ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
|
7
7
|
import { GeminiClient } from '../core/client.js';
|
|
8
8
|
import { Config } from '../config/config.js';
|
|
9
9
|
import { summarizeToolOutput, llmSummarizer, defaultSummarizer, } from './summarizer.js';
|
|
10
|
+
import { DEFAULT_GEMINI_MODEL } from '../config/models.js';
|
|
10
11
|
// Mock GeminiClient and Config constructor
|
|
11
12
|
vi.mock('../core/client.js');
|
|
12
13
|
vi.mock('../config/config.js');
|
|
13
14
|
describe('summarizers', () => {
|
|
14
15
|
let mockGeminiClient;
|
|
15
16
|
let MockConfig;
|
|
17
|
+
let mockConfigInstance;
|
|
16
18
|
const abortSignal = new AbortController().signal;
|
|
19
|
+
const mockResolvedConfig = {
|
|
20
|
+
model: 'gemini-pro',
|
|
21
|
+
generateContentConfig: {
|
|
22
|
+
maxOutputTokens: 2000,
|
|
23
|
+
},
|
|
24
|
+
};
|
|
17
25
|
beforeEach(() => {
|
|
18
26
|
MockConfig = vi.mocked(Config);
|
|
19
|
-
|
|
27
|
+
mockConfigInstance = new MockConfig('test-api-key', 'gemini-pro', false, '.', false, undefined, false, undefined, undefined, undefined);
|
|
28
|
+
mockConfigInstance.modelConfigService = {
|
|
29
|
+
getResolvedConfig: vi.fn().mockReturnValue(mockResolvedConfig),
|
|
30
|
+
};
|
|
20
31
|
mockGeminiClient = new GeminiClient(mockConfigInstance);
|
|
21
32
|
mockGeminiClient.generateContent = vi.fn();
|
|
22
33
|
vi.spyOn(console, 'error').mockImplementation(() => { });
|
|
@@ -28,13 +39,13 @@ describe('summarizers', () => {
|
|
|
28
39
|
describe('summarizeToolOutput', () => {
|
|
29
40
|
it('should return original text if it is shorter than maxLength', async () => {
|
|
30
41
|
const shortText = 'This is a short text.';
|
|
31
|
-
const result = await summarizeToolOutput(shortText, mockGeminiClient, abortSignal
|
|
42
|
+
const result = await summarizeToolOutput(mockConfigInstance, { model: DEFAULT_GEMINI_MODEL }, shortText, mockGeminiClient, abortSignal);
|
|
32
43
|
expect(result).toBe(shortText);
|
|
33
44
|
expect(mockGeminiClient.generateContent).not.toHaveBeenCalled();
|
|
34
45
|
});
|
|
35
46
|
it('should return original text if it is empty', async () => {
|
|
36
47
|
const emptyText = '';
|
|
37
|
-
const result = await summarizeToolOutput(emptyText, mockGeminiClient, abortSignal
|
|
48
|
+
const result = await summarizeToolOutput(mockConfigInstance, { model: DEFAULT_GEMINI_MODEL }, emptyText, mockGeminiClient, abortSignal);
|
|
38
49
|
expect(result).toBe(emptyText);
|
|
39
50
|
expect(mockGeminiClient.generateContent).not.toHaveBeenCalled();
|
|
40
51
|
});
|
|
@@ -44,7 +55,7 @@ describe('summarizers', () => {
|
|
|
44
55
|
mockGeminiClient.generateContent.mockResolvedValue({
|
|
45
56
|
candidates: [{ content: { parts: [{ text: summary }] } }],
|
|
46
57
|
});
|
|
47
|
-
const result = await summarizeToolOutput(longText, mockGeminiClient, abortSignal
|
|
58
|
+
const result = await summarizeToolOutput(mockConfigInstance, { model: DEFAULT_GEMINI_MODEL }, longText, mockGeminiClient, abortSignal);
|
|
48
59
|
expect(mockGeminiClient.generateContent).toHaveBeenCalledTimes(1);
|
|
49
60
|
expect(result).toBe(summary);
|
|
50
61
|
});
|
|
@@ -52,7 +63,7 @@ describe('summarizers', () => {
|
|
|
52
63
|
const longText = 'This is a very long text.'.repeat(200);
|
|
53
64
|
const error = new Error('API Error');
|
|
54
65
|
mockGeminiClient.generateContent.mockRejectedValue(error);
|
|
55
|
-
const result = await summarizeToolOutput(longText, mockGeminiClient, abortSignal
|
|
66
|
+
const result = await summarizeToolOutput(mockConfigInstance, { model: DEFAULT_GEMINI_MODEL }, longText, mockGeminiClient, abortSignal);
|
|
56
67
|
expect(mockGeminiClient.generateContent).toHaveBeenCalledTimes(1);
|
|
57
68
|
expect(result).toBe(longText);
|
|
58
69
|
});
|
|
@@ -62,7 +73,17 @@ describe('summarizers', () => {
|
|
|
62
73
|
mockGeminiClient.generateContent.mockResolvedValue({
|
|
63
74
|
candidates: [{ content: { parts: [{ text: summary }] } }],
|
|
64
75
|
});
|
|
65
|
-
|
|
76
|
+
mockConfigInstance.modelConfigService = {
|
|
77
|
+
getResolvedConfig() {
|
|
78
|
+
return {
|
|
79
|
+
model: 'gemini-pro-limited',
|
|
80
|
+
generateContentConfig: {
|
|
81
|
+
maxOutputTokens: 1000,
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
await summarizeToolOutput(mockConfigInstance, { model: 'gemini-pro-limited' }, longText, mockGeminiClient, abortSignal);
|
|
66
87
|
const expectedPrompt = `Summarize the following tool output to be a maximum of 1000 tokens. The summary should be concise and capture the main points of the tool output.
|
|
67
88
|
|
|
68
89
|
The summarization should be done based on the content that is provided. Here are the basic rules to follow:
|
|
@@ -78,7 +99,7 @@ Return the summary string which should first contain an overall summarization of
|
|
|
78
99
|
`;
|
|
79
100
|
const calledWith = mockGeminiClient.generateContent.mock
|
|
80
101
|
.calls[0];
|
|
81
|
-
const contents = calledWith[
|
|
102
|
+
const contents = calledWith[1];
|
|
82
103
|
expect(contents[0].parts[0].text).toBe(expectedPrompt);
|
|
83
104
|
});
|
|
84
105
|
});
|
|
@@ -92,7 +113,7 @@ Return the summary string which should first contain an overall summarization of
|
|
|
92
113
|
mockGeminiClient.generateContent.mockResolvedValue({
|
|
93
114
|
candidates: [{ content: { parts: [{ text: summary }] } }],
|
|
94
115
|
});
|
|
95
|
-
const result = await llmSummarizer(toolResult, mockGeminiClient, abortSignal);
|
|
116
|
+
const result = await llmSummarizer(mockConfigInstance, toolResult, mockGeminiClient, abortSignal);
|
|
96
117
|
expect(mockGeminiClient.generateContent).toHaveBeenCalledTimes(1);
|
|
97
118
|
expect(result).toBe(summary);
|
|
98
119
|
});
|
|
@@ -106,11 +127,11 @@ Return the summary string which should first contain an overall summarization of
|
|
|
106
127
|
mockGeminiClient.generateContent.mockResolvedValue({
|
|
107
128
|
candidates: [{ content: { parts: [{ text: summary }] } }],
|
|
108
129
|
});
|
|
109
|
-
const result = await llmSummarizer(toolResult, mockGeminiClient, abortSignal);
|
|
130
|
+
const result = await llmSummarizer(mockConfigInstance, toolResult, mockGeminiClient, abortSignal);
|
|
110
131
|
expect(mockGeminiClient.generateContent).toHaveBeenCalledTimes(1);
|
|
111
132
|
const calledWith = mockGeminiClient.generateContent.mock
|
|
112
133
|
.calls[0];
|
|
113
|
-
const contents = calledWith[
|
|
134
|
+
const contents = calledWith[1];
|
|
114
135
|
expect(contents[0].parts[0].text).toContain(`"${longText}"`);
|
|
115
136
|
expect(result).toBe(summary);
|
|
116
137
|
});
|
|
@@ -121,7 +142,7 @@ Return the summary string which should first contain an overall summarization of
|
|
|
121
142
|
llmContent: { text: 'some data' },
|
|
122
143
|
returnDisplay: '',
|
|
123
144
|
};
|
|
124
|
-
const result = await defaultSummarizer(toolResult, mockGeminiClient, abortSignal);
|
|
145
|
+
const result = await defaultSummarizer(mockConfigInstance, toolResult, mockGeminiClient, abortSignal);
|
|
125
146
|
expect(result).toBe(JSON.stringify({ text: 'some data' }));
|
|
126
147
|
expect(mockGeminiClient.generateContent).not.toHaveBeenCalled();
|
|
127
148
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarizer.test.js","sourceRoot":"","sources":["../../../src/utils/summarizer.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"summarizer.test.js","sourceRoot":"","sources":["../../../src/utils/summarizer.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,15 +10,16 @@ export type Unsubscribe = () => void;
|
|
|
10
10
|
* in a single session.
|
|
11
11
|
*/
|
|
12
12
|
export declare class WorkspaceContext {
|
|
13
|
+
readonly targetDir: string;
|
|
13
14
|
private directories;
|
|
14
15
|
private initialDirectories;
|
|
15
16
|
private onDirectoriesChangedListeners;
|
|
16
17
|
/**
|
|
17
18
|
* Creates a new WorkspaceContext with the given initial directory and optional additional directories.
|
|
18
|
-
* @param
|
|
19
|
+
* @param targetDir The initial working directory (usually cwd)
|
|
19
20
|
* @param additionalDirectories Optional array of additional directories to include
|
|
20
21
|
*/
|
|
21
|
-
constructor(
|
|
22
|
+
constructor(targetDir: string, additionalDirectories?: string[]);
|
|
22
23
|
/**
|
|
23
24
|
* Registers a listener that is called when the workspace directories change.
|
|
24
25
|
* @param listener The listener to call.
|
|
@@ -31,7 +32,7 @@ export declare class WorkspaceContext {
|
|
|
31
32
|
* @param directory The directory path to add (can be relative or absolute)
|
|
32
33
|
* @param basePath Optional base path for resolving relative paths (defaults to cwd)
|
|
33
34
|
*/
|
|
34
|
-
addDirectory(directory: string
|
|
35
|
+
addDirectory(directory: string): void;
|
|
35
36
|
private resolveAndValidateDir;
|
|
36
37
|
/**
|
|
37
38
|
* Gets a copy of all workspace directories.
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
import { isNodeError } from '../utils/errors.js';
|
|
7
7
|
import * as fs from 'node:fs';
|
|
8
8
|
import * as path from 'node:path';
|
|
9
|
-
import * as process from 'node:process';
|
|
10
9
|
import { debugLogger } from './debugLogger.js';
|
|
11
10
|
/**
|
|
12
11
|
* WorkspaceContext manages multiple workspace directories and validates paths
|
|
@@ -14,16 +13,18 @@ import { debugLogger } from './debugLogger.js';
|
|
|
14
13
|
* in a single session.
|
|
15
14
|
*/
|
|
16
15
|
export class WorkspaceContext {
|
|
16
|
+
targetDir;
|
|
17
17
|
directories = new Set();
|
|
18
18
|
initialDirectories;
|
|
19
19
|
onDirectoriesChangedListeners = new Set();
|
|
20
20
|
/**
|
|
21
21
|
* Creates a new WorkspaceContext with the given initial directory and optional additional directories.
|
|
22
|
-
* @param
|
|
22
|
+
* @param targetDir The initial working directory (usually cwd)
|
|
23
23
|
* @param additionalDirectories Optional array of additional directories to include
|
|
24
24
|
*/
|
|
25
|
-
constructor(
|
|
26
|
-
this.
|
|
25
|
+
constructor(targetDir, additionalDirectories = []) {
|
|
26
|
+
this.targetDir = targetDir;
|
|
27
|
+
this.addDirectory(targetDir);
|
|
27
28
|
for (const additionalDirectory of additionalDirectories) {
|
|
28
29
|
this.addDirectory(additionalDirectory);
|
|
29
30
|
}
|
|
@@ -57,9 +58,9 @@ export class WorkspaceContext {
|
|
|
57
58
|
* @param directory The directory path to add (can be relative or absolute)
|
|
58
59
|
* @param basePath Optional base path for resolving relative paths (defaults to cwd)
|
|
59
60
|
*/
|
|
60
|
-
addDirectory(directory
|
|
61
|
+
addDirectory(directory) {
|
|
61
62
|
try {
|
|
62
|
-
const resolved = this.resolveAndValidateDir(directory
|
|
63
|
+
const resolved = this.resolveAndValidateDir(directory);
|
|
63
64
|
if (this.directories.has(resolved)) {
|
|
64
65
|
return;
|
|
65
66
|
}
|
|
@@ -70,10 +71,8 @@ export class WorkspaceContext {
|
|
|
70
71
|
debugLogger.warn(`[WARN] Skipping unreadable directory: ${directory} (${err instanceof Error ? err.message : String(err)})`);
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
|
-
resolveAndValidateDir(directory
|
|
74
|
-
const absolutePath = path.
|
|
75
|
-
? directory
|
|
76
|
-
: path.resolve(basePath, directory);
|
|
74
|
+
resolveAndValidateDir(directory) {
|
|
75
|
+
const absolutePath = path.resolve(this.targetDir, directory);
|
|
77
76
|
if (!fs.existsSync(absolutePath)) {
|
|
78
77
|
throw new Error(`Directory does not exist: ${absolutePath}`);
|
|
79
78
|
}
|
|
@@ -130,7 +129,7 @@ export class WorkspaceContext {
|
|
|
130
129
|
*/
|
|
131
130
|
fullyResolvedPath(pathToCheck) {
|
|
132
131
|
try {
|
|
133
|
-
return fs.realpathSync(pathToCheck);
|
|
132
|
+
return fs.realpathSync(path.resolve(this.targetDir, pathToCheck));
|
|
134
133
|
}
|
|
135
134
|
catch (e) {
|
|
136
135
|
if (isNodeError(e) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceContext.js","sourceRoot":"","sources":["../../../src/utils/workspaceContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"workspaceContext.js","sourceRoot":"","sources":["../../../src/utils/workspaceContext.ts"],"names":[],"mappings":"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"}
|