@machina.ai/cell-cli-core 1.20.2-rc1 → 1.22.5-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 +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/src/agents/delegate-to-agent-tool.d.ts +19 -0
- package/dist/src/agents/delegate-to-agent-tool.js +111 -0
- package/dist/src/agents/delegate-to-agent-tool.js.map +1 -0
- package/dist/src/agents/delegate-to-agent-tool.test.d.ts +6 -0
- package/dist/src/agents/delegate-to-agent-tool.test.js +133 -0
- package/dist/src/agents/delegate-to-agent-tool.test.js.map +1 -0
- package/dist/src/agents/executor.js +1 -1
- package/dist/src/agents/executor.js.map +1 -1
- package/dist/src/agents/executor.test.js.map +1 -1
- package/dist/src/agents/registry.d.ts +15 -0
- package/dist/src/agents/registry.js +58 -2
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +61 -0
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/availability/errorClassification.d.ts +7 -0
- package/dist/src/availability/errorClassification.js +20 -0
- package/dist/src/availability/errorClassification.js.map +1 -0
- package/dist/src/availability/modelAvailabilityService.d.ts +1 -0
- package/dist/src/availability/modelAvailabilityService.js +3 -0
- package/dist/src/availability/modelAvailabilityService.js.map +1 -1
- package/dist/src/availability/modelPolicy.d.ts +8 -1
- package/dist/src/availability/policyCatalog.d.ts +1 -0
- package/dist/src/availability/policyCatalog.js +6 -7
- package/dist/src/availability/policyCatalog.js.map +1 -1
- package/dist/src/availability/policyCatalog.test.js +2 -2
- package/dist/src/availability/policyCatalog.test.js.map +1 -1
- package/dist/src/availability/policyHelpers.d.ts +33 -3
- package/dist/src/availability/policyHelpers.js +113 -13
- package/dist/src/availability/policyHelpers.js.map +1 -1
- package/dist/src/availability/policyHelpers.test.js +133 -13
- package/dist/src/availability/policyHelpers.test.js.map +1 -1
- package/dist/src/availability/testUtils.d.ts +10 -0
- package/dist/src/availability/testUtils.js +22 -0
- package/dist/src/availability/testUtils.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.js +7 -10
- package/dist/src/code_assist/experiments/client_metadata.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +2 -0
- package/dist/src/code_assist/oauth2.js +38 -12
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +113 -6
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/commands/init.d.ts +7 -0
- package/dist/src/commands/init.js +53 -0
- package/dist/src/commands/init.js.map +1 -0
- package/dist/src/commands/init.test.d.ts +6 -0
- package/dist/src/commands/init.test.js +25 -0
- package/dist/src/commands/init.test.js.map +1 -0
- package/dist/src/commands/restore.d.ts +9 -0
- package/dist/src/commands/restore.js +46 -0
- package/dist/src/commands/restore.js.map +1 -0
- package/dist/src/commands/restore.test.d.ts +6 -0
- package/dist/src/commands/restore.test.js +137 -0
- package/dist/src/commands/restore.test.js.map +1 -0
- package/dist/src/commands/types.d.ts +41 -0
- package/dist/src/commands/types.js +7 -0
- package/dist/src/commands/types.js.map +1 -0
- package/dist/src/config/config.d.ts +29 -3
- package/dist/src/config/config.js +146 -29
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +203 -9
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.js +21 -0
- package/dist/src/config/defaultModelConfigs.js.map +1 -1
- package/dist/src/config/models.d.ts +33 -11
- package/dist/src/config/models.js +82 -24
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +70 -76
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.js +1 -0
- package/dist/src/confirmation-bus/message-bus.js.map +1 -1
- package/dist/src/confirmation-bus/types.d.ts +4 -0
- package/dist/src/core/baseLlmClient.d.ts +3 -1
- package/dist/src/core/baseLlmClient.js +40 -3
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +184 -7
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.js +47 -13
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +133 -6
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.js +5 -3
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +29 -22
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +1 -1
- package/dist/src/core/coreToolScheduler.js +76 -34
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +135 -37
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.js +60 -29
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +236 -188
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChat_network_retry.test.d.ts +6 -0
- package/dist/src/core/geminiChat_network_retry.test.js +198 -0
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -0
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +4 -5
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/prompts.js +13 -11
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/prompts.test.js +19 -8
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/core/sessionHookTriggers.d.ts +28 -0
- package/dist/src/core/sessionHookTriggers.js +68 -0
- package/dist/src/core/sessionHookTriggers.js.map +1 -0
- package/dist/src/core/turn.d.ts +1 -0
- package/dist/src/core/turn.js +1 -1
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/fallback/handler.js +56 -115
- package/dist/src/fallback/handler.js.map +1 -1
- package/dist/src/fallback/handler.test.js +124 -278
- package/dist/src/fallback/handler.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/hooks/hookEventHandler.js +59 -1
- package/dist/src/hooks/hookEventHandler.js.map +1 -1
- package/dist/src/hooks/hookEventHandler.test.js +8 -1
- package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
- package/dist/src/hooks/hookRegistry.d.ts +0 -7
- package/dist/src/hooks/hookRegistry.js +8 -21
- package/dist/src/hooks/hookRegistry.js.map +1 -1
- package/dist/src/hooks/hookRegistry.test.js +2 -7
- package/dist/src/hooks/hookRegistry.test.js.map +1 -1
- package/dist/src/hooks/hookRunner.js +12 -2
- package/dist/src/hooks/hookRunner.js.map +1 -1
- package/dist/src/hooks/hookRunner.test.js +1 -1
- package/dist/src/hooks/hookRunner.test.js.map +1 -1
- package/dist/src/hooks/hookSystem.d.ts +0 -8
- package/dist/src/hooks/hookSystem.js +0 -18
- package/dist/src/hooks/hookSystem.js.map +1 -1
- package/dist/src/hooks/hookSystem.test.js +123 -18
- package/dist/src/hooks/hookSystem.test.js.map +1 -1
- package/dist/src/hooks/index.d.ts +3 -1
- package/dist/src/hooks/index.js +3 -0
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/types.d.ts +1 -2
- package/dist/src/hooks/types.js +0 -1
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +32 -1
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-client.js +2 -0
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +1 -1
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.js +8 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/output/json-formatter.d.ts +2 -2
- package/dist/src/output/json-formatter.js +6 -3
- package/dist/src/output/json-formatter.js.map +1 -1
- package/dist/src/output/json-formatter.test.js +37 -9
- package/dist/src/output/json-formatter.test.js.map +1 -1
- package/dist/src/output/stream-json-formatter.js +6 -0
- package/dist/src/output/stream-json-formatter.js.map +1 -1
- package/dist/src/output/stream-json-formatter.test.js +98 -100
- package/dist/src/output/stream-json-formatter.test.js.map +1 -1
- package/dist/src/output/types.d.ts +3 -0
- package/dist/src/output/types.js.map +1 -1
- package/dist/src/policy/config.js +97 -11
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/persistence.test.d.ts +6 -0
- package/dist/src/policy/persistence.test.js +154 -0
- package/dist/src/policy/persistence.test.js.map +1 -0
- package/dist/src/policy/policies/agent.toml +31 -0
- package/dist/src/policy/policy-engine.d.ts +10 -1
- package/dist/src/policy/policy-engine.js +79 -5
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +26 -2
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/policy-updater.test.d.ts +6 -0
- package/dist/src/policy/policy-updater.test.js +116 -0
- package/dist/src/policy/policy-updater.test.js.map +1 -0
- package/dist/src/policy/shell-safety.test.d.ts +6 -0
- package/dist/src/policy/shell-safety.test.js +75 -0
- package/dist/src/policy/shell-safety.test.js.map +1 -0
- package/dist/src/policy/toml-loader.d.ts +11 -5
- package/dist/src/policy/toml-loader.js +38 -23
- package/dist/src/policy/toml-loader.js.map +1 -1
- package/dist/src/policy/toml-loader.test.js +28 -7
- package/dist/src/policy/toml-loader.test.js.map +1 -1
- package/dist/src/policy/types.d.ts +15 -0
- package/dist/src/resources/resource-registry.d.ts +30 -0
- package/dist/src/resources/resource-registry.js +57 -0
- package/dist/src/resources/resource-registry.js.map +1 -0
- package/dist/src/resources/resource-registry.test.d.ts +6 -0
- package/dist/src/resources/resource-registry.test.js +54 -0
- package/dist/src/resources/resource-registry.test.js.map +1 -0
- package/dist/src/routing/modelRouterService.js +0 -15
- package/dist/src/routing/modelRouterService.js.map +1 -1
- package/dist/src/routing/modelRouterService.test.js +0 -62
- package/dist/src/routing/modelRouterService.test.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.js +10 -21
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js +2 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js +23 -12
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.test.js +69 -39
- package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js +4 -3
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
- package/dist/src/safety/checker-runner.js +17 -6
- package/dist/src/safety/checker-runner.js.map +1 -1
- package/dist/src/services/chatCompressionService.js +15 -1
- package/dist/src/services/chatCompressionService.js.map +1 -1
- package/dist/src/services/chatCompressionService.test.js +2 -0
- package/dist/src/services/chatCompressionService.test.js.map +1 -1
- package/dist/src/services/chatRecordingService.d.ts +14 -0
- package/dist/src/services/chatRecordingService.js +37 -0
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/fileSystemService.d.ts +0 -9
- package/dist/src/services/fileSystemService.js +0 -11
- package/dist/src/services/fileSystemService.js.map +1 -1
- package/dist/src/services/gitService.js +5 -0
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +28 -0
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/services/loopDetectionService.js +2 -2
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/modelConfig.golden.test.js +32 -0
- package/dist/src/services/modelConfig.golden.test.js.map +1 -1
- package/dist/src/services/modelConfigService.d.ts +3 -0
- package/dist/src/services/modelConfigService.js +3 -2
- package/dist/src/services/modelConfigService.js.map +1 -1
- package/dist/src/services/modelConfigService.test.js +110 -0
- package/dist/src/services/modelConfigService.test.js.map +1 -1
- package/dist/src/services/modelConfigServiceTestUtils.d.ts +10 -0
- package/dist/src/services/modelConfigServiceTestUtils.js +17 -0
- package/dist/src/services/modelConfigServiceTestUtils.js.map +1 -0
- package/dist/src/services/sessionSummaryService.d.ts +28 -0
- package/dist/src/services/sessionSummaryService.js +131 -0
- package/dist/src/services/sessionSummaryService.js.map +1 -0
- package/dist/src/services/sessionSummaryService.test.d.ts +6 -0
- package/dist/src/services/sessionSummaryService.test.js +785 -0
- package/dist/src/services/sessionSummaryService.test.js.map +1 -0
- package/dist/src/services/sessionSummaryUtils.d.ts +16 -0
- package/dist/src/services/sessionSummaryUtils.js +129 -0
- package/dist/src/services/sessionSummaryUtils.js.map +1 -0
- package/dist/src/services/sessionSummaryUtils.test.d.ts +6 -0
- package/dist/src/services/sessionSummaryUtils.test.js +137 -0
- package/dist/src/services/sessionSummaryUtils.test.js.map +1 -0
- package/dist/src/services/shellExecutionService.js +28 -22
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +46 -4
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/services/test-data/resolved-aliases-retry.golden.json +238 -0
- package/dist/src/services/test-data/resolved-aliases.golden.json +16 -0
- package/dist/src/telemetry/activity-detector.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +1 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +28 -5
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +67 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -0
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +3 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/config.js +2 -0
- package/dist/src/telemetry/config.js.map +1 -1
- package/dist/src/telemetry/config.test.js +25 -0
- package/dist/src/telemetry/config.test.js.map +1 -1
- package/dist/src/telemetry/gcp-exporters.d.ts +4 -3
- package/dist/src/telemetry/gcp-exporters.js +8 -4
- package/dist/src/telemetry/gcp-exporters.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +1 -1
- package/dist/src/telemetry/index.js +1 -1
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +2 -1
- package/dist/src/telemetry/loggers.js +345 -335
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +20 -5
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/sdk.d.ts +9 -2
- package/dist/src/telemetry/sdk.js +143 -17
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/sdk.test.js +130 -28
- package/dist/src/telemetry/sdk.test.js.map +1 -1
- package/dist/src/telemetry/startupProfiler.js +26 -3
- package/dist/src/telemetry/startupProfiler.js.map +1 -1
- package/dist/src/telemetry/startupProfiler.test.js +49 -7
- package/dist/src/telemetry/startupProfiler.test.js.map +1 -1
- package/dist/src/telemetry/telemetry.test.js +10 -3
- package/dist/src/telemetry/telemetry.test.js.map +1 -1
- package/dist/src/telemetry/trace.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +31 -6
- package/dist/src/telemetry/types.js +47 -8
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.d.ts +1 -0
- package/dist/src/telemetry/uiTelemetry.js +2 -0
- package/dist/src/telemetry/uiTelemetry.js.map +1 -1
- package/dist/src/telemetry/uiTelemetry.test.js +4 -0
- package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
- package/dist/src/test-utils/mock-message-bus.js.map +1 -1
- package/dist/src/tools/confirmation-policy.test.d.ts +6 -0
- package/dist/src/tools/confirmation-policy.test.js +152 -0
- package/dist/src/tools/confirmation-policy.test.js.map +1 -0
- package/dist/src/tools/edit.js +5 -0
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.d.ts +2 -1
- package/dist/src/tools/mcp-client-manager.js +20 -4
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +13 -10
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +39 -3
- package/dist/src/tools/mcp-client.js +433 -168
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +648 -28
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.js +13 -0
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +25 -0
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/memoryTool.js +1 -0
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/modifiable-tool.js.map +1 -1
- package/dist/src/tools/modifiable-tool.test.js +22 -13
- package/dist/src/tools/modifiable-tool.test.js.map +1 -1
- package/dist/src/tools/read-file.js +1 -1
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/read-many-files.js +6 -4
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +1 -1
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +2 -1
- package/dist/src/tools/shell.js +15 -1
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +2 -1
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/smart-edit.js +5 -0
- package/dist/src/tools/smart-edit.js.map +1 -1
- package/dist/src/tools/smart-edit.test.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +2 -0
- package/dist/src/tools/tool-names.js +2 -0
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tools.d.ts +19 -0
- package/dist/src/tools/tools.js +29 -8
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/web-fetch.js +17 -4
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +1 -0
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/write-file.js +5 -0
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.d.ts +8 -0
- package/dist/src/utils/bfsFileSearch.js +63 -23
- package/dist/src/utils/bfsFileSearch.js.map +1 -1
- package/dist/src/utils/bfsFileSearch.test.js +65 -1
- package/dist/src/utils/bfsFileSearch.test.js.map +1 -1
- package/dist/src/utils/checkpointUtils.d.ts +82 -0
- package/dist/src/utils/checkpointUtils.js +117 -0
- package/dist/src/utils/checkpointUtils.js.map +1 -0
- package/dist/src/utils/checkpointUtils.test.d.ts +6 -0
- package/dist/src/utils/checkpointUtils.test.js +229 -0
- package/dist/src/utils/checkpointUtils.test.js.map +1 -0
- package/dist/src/utils/debugLogger.d.ts +3 -0
- package/dist/src/utils/debugLogger.js +27 -0
- package/dist/src/utils/debugLogger.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +4 -0
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/editor.d.ts +9 -1
- package/dist/src/utils/editor.js +23 -14
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/errors.d.ts +8 -0
- package/dist/src/utils/errors.js +39 -2
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/errors.test.d.ts +6 -0
- package/dist/src/utils/errors.test.js +155 -0
- package/dist/src/utils/errors.test.js.map +1 -0
- package/dist/src/utils/extensionLoader.d.ts +2 -2
- package/dist/src/utils/extensionLoader.js +5 -6
- package/dist/src/utils/extensionLoader.js.map +1 -1
- package/dist/src/utils/extensionLoader.test.js +11 -0
- package/dist/src/utils/extensionLoader.test.js.map +1 -1
- package/dist/src/utils/fetch.d.ts +1 -1
- package/dist/src/utils/fetch.js +3 -3
- package/dist/src/utils/fetch.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +15 -0
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/filesearch/crawlCache.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/flashFallback.test.js +1 -1
- package/dist/src/utils/flashFallback.test.js.map +1 -1
- package/dist/src/utils/googleErrors.js +31 -18
- package/dist/src/utils/googleErrors.js.map +1 -1
- package/dist/src/utils/googleErrors.test.js +10 -2
- package/dist/src/utils/googleErrors.test.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.d.ts +3 -3
- package/dist/src/utils/googleQuotaErrors.js +32 -6
- package/dist/src/utils/googleQuotaErrors.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.test.js +94 -2
- package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.test.js +4 -0
- package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
- package/dist/src/utils/pathCorrector.js +12 -2
- package/dist/src/utils/pathCorrector.js.map +1 -1
- package/dist/src/utils/pathCorrector.test.js +6 -2
- package/dist/src/utils/pathCorrector.test.js.map +1 -1
- package/dist/src/utils/retry.d.ts +11 -0
- package/dist/src/utils/retry.js +54 -13
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +170 -10
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/shell-permissions.d.ts +52 -0
- package/dist/src/utils/shell-permissions.js +188 -0
- package/dist/src/utils/shell-permissions.js.map +1 -0
- package/dist/src/utils/shell-permissions.test.d.ts +6 -0
- package/dist/src/utils/shell-permissions.test.js +347 -0
- package/dist/src/utils/shell-permissions.test.js.map +1 -0
- package/dist/src/utils/shell-utils.d.ts +10 -47
- package/dist/src/utils/shell-utils.js +1 -182
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +1 -288
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/src/utils/terminalSerializer.test.js +17 -0
- package/dist/src/utils/terminalSerializer.test.js.map +1 -1
- package/dist/src/utils/tool-utils.js.map +1 -1
- package/dist/src/utils/version.d.ts +6 -0
- package/dist/src/utils/version.js +15 -0
- package/dist/src/utils/version.js.map +1 -0
- package/dist/src/utils/version.test.d.ts +6 -0
- package/dist/src/utils/version.test.js +39 -0
- package/dist/src/utils/version.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { describe, it, expect, vi, beforeEach, afterEach, } from 'vitest';
|
|
7
7
|
import { handleFallback } from './handler.js';
|
|
8
|
+
import { createAvailabilityServiceMock } from '../availability/testUtils.js';
|
|
8
9
|
import { AuthType } from '../core/contentGenerator.js';
|
|
9
|
-
import { DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL, PREVIEW_GEMINI_MODEL, } from '../config/models.js';
|
|
10
|
-
import { logFlashFallback } from '../telemetry/index.js';
|
|
11
|
-
import { ModelNotFoundError } from '../utils/httpErrors.js';
|
|
10
|
+
import { DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_MODEL_AUTO, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_MODEL_AUTO, } from '../config/models.js';
|
|
12
11
|
import { openBrowserSecurely } from '../utils/secure-browser-launcher.js';
|
|
13
12
|
import { coreEvents } from '../utils/events.js';
|
|
14
13
|
import { debugLogger } from '../utils/debugLogger.js';
|
|
@@ -24,32 +23,34 @@ vi.mock('../telemetry/index.js', () => ({
|
|
|
24
23
|
vi.mock('../utils/secure-browser-launcher.js', () => ({
|
|
25
24
|
openBrowserSecurely: vi.fn(),
|
|
26
25
|
}));
|
|
26
|
+
// Mock debugLogger to prevent console pollution and allow spying
|
|
27
|
+
vi.mock('../utils/debugLogger.js', () => ({
|
|
28
|
+
debugLogger: {
|
|
29
|
+
warn: vi.fn(),
|
|
30
|
+
error: vi.fn(),
|
|
31
|
+
log: vi.fn(),
|
|
32
|
+
},
|
|
33
|
+
}));
|
|
27
34
|
const MOCK_PRO_MODEL = DEFAULT_GEMINI_MODEL;
|
|
28
35
|
const FALLBACK_MODEL = DEFAULT_GEMINI_FLASH_MODEL;
|
|
29
36
|
const AUTH_OAUTH = AuthType.LOGIN_WITH_GOOGLE;
|
|
30
37
|
const AUTH_API_KEY = AuthType.USE_GEMINI;
|
|
31
|
-
function createAvailabilityMock(result) {
|
|
32
|
-
return {
|
|
33
|
-
markTerminal: vi.fn(),
|
|
34
|
-
markHealthy: vi.fn(),
|
|
35
|
-
markRetryOncePerTurn: vi.fn(),
|
|
36
|
-
consumeStickyAttempt: vi.fn(),
|
|
37
|
-
snapshot: vi.fn(),
|
|
38
|
-
selectFirstAvailable: vi.fn().mockReturnValue(result),
|
|
39
|
-
resetTurn: vi.fn(),
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
38
|
const createMockConfig = (overrides = {}) => ({
|
|
43
39
|
isInFallbackMode: vi.fn(() => false),
|
|
44
40
|
setFallbackMode: vi.fn(),
|
|
45
|
-
isModelAvailabilityServiceEnabled: vi.fn(() =>
|
|
41
|
+
isModelAvailabilityServiceEnabled: vi.fn(() => true),
|
|
46
42
|
isPreviewModelFallbackMode: vi.fn(() => false),
|
|
47
43
|
setPreviewModelFallbackMode: vi.fn(),
|
|
48
44
|
isPreviewModelBypassMode: vi.fn(() => false),
|
|
49
45
|
setPreviewModelBypassMode: vi.fn(),
|
|
50
46
|
fallbackHandler: undefined,
|
|
51
47
|
getFallbackModelHandler: vi.fn(),
|
|
52
|
-
|
|
48
|
+
setActiveModel: vi.fn(),
|
|
49
|
+
getModelAvailabilityService: vi.fn(() => createAvailabilityServiceMock({
|
|
50
|
+
selectedModel: FALLBACK_MODEL,
|
|
51
|
+
skipped: [],
|
|
52
|
+
})),
|
|
53
|
+
getActiveModel: vi.fn(() => MOCK_PRO_MODEL),
|
|
53
54
|
getModel: vi.fn(() => MOCK_PRO_MODEL),
|
|
54
55
|
getPreviewFeatures: vi.fn(() => false),
|
|
55
56
|
getUserTier: vi.fn(() => undefined),
|
|
@@ -68,6 +69,11 @@ describe('handleFallback', () => {
|
|
|
68
69
|
mockConfig = createMockConfig({
|
|
69
70
|
fallbackModelHandler: mockHandler,
|
|
70
71
|
});
|
|
72
|
+
// Explicitly set the property to ensure it's present for legacy checks
|
|
73
|
+
mockConfig.fallbackModelHandler = mockHandler;
|
|
74
|
+
// We mocked debugLogger, so we don't need to spy on console.error for handler failures
|
|
75
|
+
// But tests might check console.error usage in legacy code if any?
|
|
76
|
+
// The handler uses console.error in legacyHandleFallback.
|
|
71
77
|
consoleErrorSpy = vi.spyOn(console, 'error').mockImplementation(() => { });
|
|
72
78
|
fallbackEventSpy = vi.spyOn(coreEvents, 'emitFallbackModeChanged');
|
|
73
79
|
});
|
|
@@ -75,258 +81,39 @@ describe('handleFallback', () => {
|
|
|
75
81
|
consoleErrorSpy.mockRestore();
|
|
76
82
|
fallbackEventSpy.mockRestore();
|
|
77
83
|
});
|
|
78
|
-
it('should return null immediately if authType is not OAuth', async () => {
|
|
79
|
-
const result = await handleFallback(mockConfig, MOCK_PRO_MODEL, AUTH_API_KEY);
|
|
80
|
-
expect(result).toBeNull();
|
|
81
|
-
expect(mockHandler).not.toHaveBeenCalled();
|
|
82
|
-
expect(mockConfig.setFallbackMode).not.toHaveBeenCalled();
|
|
83
|
-
});
|
|
84
|
-
it('should still consult the handler if the failed model is the fallback model', async () => {
|
|
85
|
-
mockHandler.mockResolvedValue('stop');
|
|
86
|
-
const result = await handleFallback(mockConfig, FALLBACK_MODEL, // Failed model is Flash
|
|
87
|
-
AUTH_OAUTH);
|
|
88
|
-
expect(result).toBe(false);
|
|
89
|
-
expect(mockHandler).toHaveBeenCalled();
|
|
90
|
-
});
|
|
91
|
-
it('should return null if no fallbackHandler is injected in config', async () => {
|
|
92
|
-
const configWithoutHandler = createMockConfig({
|
|
93
|
-
fallbackModelHandler: undefined,
|
|
94
|
-
});
|
|
95
|
-
const result = await handleFallback(configWithoutHandler, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
96
|
-
expect(result).toBeNull();
|
|
97
|
-
});
|
|
98
|
-
describe('when handler returns "retry_always"', () => {
|
|
99
|
-
it('should activate fallback mode, log telemetry, and return true', async () => {
|
|
100
|
-
mockHandler.mockResolvedValue('retry_always');
|
|
101
|
-
const result = await handleFallback(mockConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
102
|
-
expect(result).toBe(true);
|
|
103
|
-
expect(mockConfig.setFallbackMode).toHaveBeenCalledWith(true);
|
|
104
|
-
expect(logFlashFallback).toHaveBeenCalled();
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
describe('when handler returns "stop"', () => {
|
|
108
|
-
it('should activate fallback mode, log telemetry, and return false', async () => {
|
|
109
|
-
mockHandler.mockResolvedValue('stop');
|
|
110
|
-
const result = await handleFallback(mockConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
111
|
-
expect(result).toBe(false);
|
|
112
|
-
expect(mockConfig.setFallbackMode).toHaveBeenCalledWith(true);
|
|
113
|
-
expect(logFlashFallback).toHaveBeenCalled();
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
it('should return false without toggling fallback when handler returns "retry_later"', async () => {
|
|
117
|
-
mockHandler.mockResolvedValue('retry_later');
|
|
118
|
-
const result = await handleFallback(mockConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
119
|
-
expect(result).toBe(false);
|
|
120
|
-
expect(mockConfig.setFallbackMode).not.toHaveBeenCalled();
|
|
121
|
-
expect(logFlashFallback).not.toHaveBeenCalled();
|
|
122
|
-
expect(fallbackEventSpy).not.toHaveBeenCalled();
|
|
123
|
-
});
|
|
124
|
-
it('should launch upgrade flow and avoid fallback mode when handler returns "upgrade"', async () => {
|
|
125
|
-
mockHandler.mockResolvedValue('upgrade');
|
|
126
|
-
vi.mocked(openBrowserSecurely).mockResolvedValue(undefined);
|
|
127
|
-
const result = await handleFallback(mockConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
128
|
-
expect(result).toBe(false);
|
|
129
|
-
expect(openBrowserSecurely).toHaveBeenCalledWith('https://goo.gle/set-up-gemini-code-assist');
|
|
130
|
-
expect(mockConfig.setFallbackMode).not.toHaveBeenCalled();
|
|
131
|
-
expect(logFlashFallback).not.toHaveBeenCalled();
|
|
132
|
-
expect(fallbackEventSpy).not.toHaveBeenCalled();
|
|
133
|
-
});
|
|
134
|
-
it('should log a warning and continue when upgrade flow fails to open a browser', async () => {
|
|
135
|
-
mockHandler.mockResolvedValue('upgrade');
|
|
136
|
-
const debugWarnSpy = vi.spyOn(debugLogger, 'warn');
|
|
137
|
-
const consoleWarnSpy = vi
|
|
138
|
-
.spyOn(console, 'warn')
|
|
139
|
-
.mockImplementation(() => { });
|
|
140
|
-
vi.mocked(openBrowserSecurely).mockRejectedValue(new Error('blocked'));
|
|
141
|
-
const result = await handleFallback(mockConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
142
|
-
expect(result).toBe(false);
|
|
143
|
-
expect(debugWarnSpy).toHaveBeenCalledWith('Failed to open browser automatically:', 'blocked');
|
|
144
|
-
expect(mockConfig.setFallbackMode).not.toHaveBeenCalled();
|
|
145
|
-
expect(fallbackEventSpy).not.toHaveBeenCalled();
|
|
146
|
-
debugWarnSpy.mockRestore();
|
|
147
|
-
consoleWarnSpy.mockRestore();
|
|
148
|
-
});
|
|
149
|
-
describe('when handler returns an unexpected value', () => {
|
|
150
|
-
it('should log an error and return null', async () => {
|
|
151
|
-
mockHandler.mockResolvedValue(null);
|
|
152
|
-
const result = await handleFallback(mockConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
153
|
-
expect(result).toBeNull();
|
|
154
|
-
expect(consoleErrorSpy).toHaveBeenCalledWith('Fallback UI handler failed:', new Error('Unexpected fallback intent received from fallbackModelHandler: "null"'));
|
|
155
|
-
expect(mockConfig.setFallbackMode).not.toHaveBeenCalled();
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
it('should pass the correct context (failedModel, fallbackModel, error) to the handler', async () => {
|
|
159
|
-
const mockError = new Error('Quota Exceeded');
|
|
160
|
-
mockHandler.mockResolvedValue('retry_always');
|
|
161
|
-
await handleFallback(mockConfig, MOCK_PRO_MODEL, AUTH_OAUTH, mockError);
|
|
162
|
-
expect(mockHandler).toHaveBeenCalledWith(MOCK_PRO_MODEL, FALLBACK_MODEL, mockError);
|
|
163
|
-
});
|
|
164
|
-
it('should not call setFallbackMode or log telemetry if already in fallback mode', async () => {
|
|
165
|
-
// Setup config where fallback mode is already active
|
|
166
|
-
const activeFallbackConfig = createMockConfig({
|
|
167
|
-
fallbackModelHandler: mockHandler,
|
|
168
|
-
isInFallbackMode: vi.fn(() => true), // Already active
|
|
169
|
-
setFallbackMode: vi.fn(),
|
|
170
|
-
});
|
|
171
|
-
mockHandler.mockResolvedValue('retry_always');
|
|
172
|
-
const result = await handleFallback(activeFallbackConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
173
|
-
// Should still return true to allow the retry (which will use the active fallback mode)
|
|
174
|
-
expect(result).toBe(true);
|
|
175
|
-
// Should still consult the handler
|
|
176
|
-
expect(mockHandler).toHaveBeenCalled();
|
|
177
|
-
// But should not mutate state or log telemetry again
|
|
178
|
-
expect(activeFallbackConfig.setFallbackMode).not.toHaveBeenCalled();
|
|
179
|
-
expect(logFlashFallback).not.toHaveBeenCalled();
|
|
180
|
-
});
|
|
181
|
-
it('should catch errors from the handler, log an error, and return null', async () => {
|
|
182
|
-
const handlerError = new Error('UI interaction failed');
|
|
183
|
-
mockHandler.mockRejectedValue(handlerError);
|
|
184
|
-
const result = await handleFallback(mockConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
185
|
-
expect(result).toBeNull();
|
|
186
|
-
expect(consoleErrorSpy).toHaveBeenCalledWith('Fallback UI handler failed:', handlerError);
|
|
187
|
-
expect(mockConfig.setFallbackMode).not.toHaveBeenCalled();
|
|
188
|
-
});
|
|
189
|
-
describe('Preview Model Fallback Logic', () => {
|
|
190
|
-
const previewModel = PREVIEW_GEMINI_MODEL;
|
|
191
|
-
it('should only set Preview Model bypass mode on retryable quota failure', async () => {
|
|
192
|
-
const mockGoogleApiError = {
|
|
193
|
-
code: 429,
|
|
194
|
-
message: 'mock error',
|
|
195
|
-
details: [],
|
|
196
|
-
};
|
|
197
|
-
const retryableQuotaError = new RetryableQuotaError('Capacity error', mockGoogleApiError, 5);
|
|
198
|
-
await handleFallback(mockConfig, previewModel, AUTH_OAUTH, retryableQuotaError);
|
|
199
|
-
expect(mockConfig.setPreviewModelBypassMode).toHaveBeenCalledWith(true);
|
|
200
|
-
});
|
|
201
|
-
it('should not set Preview Model bypass mode on non-retryable quota failure', async () => {
|
|
202
|
-
const mockGoogleApiError = {
|
|
203
|
-
code: 429,
|
|
204
|
-
message: 'mock error',
|
|
205
|
-
details: [],
|
|
206
|
-
};
|
|
207
|
-
const terminalQuotaError = new TerminalQuotaError('quota error', mockGoogleApiError, 5);
|
|
208
|
-
await handleFallback(mockConfig, previewModel, AUTH_OAUTH, terminalQuotaError);
|
|
209
|
-
expect(mockConfig.setPreviewModelBypassMode).not.toHaveBeenCalled();
|
|
210
|
-
});
|
|
211
|
-
it('should silently retry if Preview Model fallback mode is already active and error is retryable error', async () => {
|
|
212
|
-
vi.spyOn(mockConfig, 'isPreviewModelFallbackMode').mockReturnValue(true);
|
|
213
|
-
const mockGoogleApiError = {
|
|
214
|
-
code: 429,
|
|
215
|
-
message: 'mock error',
|
|
216
|
-
details: [],
|
|
217
|
-
};
|
|
218
|
-
const retryableQuotaError = new RetryableQuotaError('Capacity error', mockGoogleApiError, 5);
|
|
219
|
-
const result = await handleFallback(mockConfig, previewModel, AUTH_OAUTH, retryableQuotaError);
|
|
220
|
-
expect(result).toBe(true);
|
|
221
|
-
expect(mockHandler).not.toHaveBeenCalled();
|
|
222
|
-
});
|
|
223
|
-
it('should activate Preview Model fallback mode when handler returns "retry_always" and is RetryableQuotaError', async () => {
|
|
224
|
-
mockHandler.mockResolvedValue('retry_always');
|
|
225
|
-
const mockGoogleApiError = {
|
|
226
|
-
code: 429,
|
|
227
|
-
message: 'mock error',
|
|
228
|
-
details: [],
|
|
229
|
-
};
|
|
230
|
-
const retryableQuotaError = new RetryableQuotaError('Capacity error', mockGoogleApiError, 5);
|
|
231
|
-
const result = await handleFallback(mockConfig, previewModel, AUTH_OAUTH, retryableQuotaError);
|
|
232
|
-
expect(result).toBe(true);
|
|
233
|
-
expect(mockConfig.setPreviewModelBypassMode).toHaveBeenCalledWith(true);
|
|
234
|
-
expect(mockConfig.setPreviewModelFallbackMode).toHaveBeenCalledWith(true);
|
|
235
|
-
});
|
|
236
|
-
it('should activate regular fallback when handler returns "retry_always" and is TerminalQuotaError', async () => {
|
|
237
|
-
mockHandler.mockResolvedValue('retry_always');
|
|
238
|
-
const mockGoogleApiError = {
|
|
239
|
-
code: 503,
|
|
240
|
-
message: 'mock error',
|
|
241
|
-
details: [],
|
|
242
|
-
};
|
|
243
|
-
const terminalError = new TerminalQuotaError('Quota error', mockGoogleApiError, 5);
|
|
244
|
-
const result = await handleFallback(mockConfig, previewModel, AUTH_OAUTH, terminalError);
|
|
245
|
-
expect(result).toBe(true);
|
|
246
|
-
expect(mockConfig.setPreviewModelFallbackMode).not.toBeCalled();
|
|
247
|
-
expect(mockConfig.setFallbackMode).toHaveBeenCalledWith(true);
|
|
248
|
-
});
|
|
249
|
-
it('should NOT set fallback mode if user chooses "retry_once"', async () => {
|
|
250
|
-
const mockGoogleApiError = {
|
|
251
|
-
code: 429,
|
|
252
|
-
message: 'mock error',
|
|
253
|
-
details: [],
|
|
254
|
-
};
|
|
255
|
-
const terminalQuotaError = new TerminalQuotaError('quota error', mockGoogleApiError, 5);
|
|
256
|
-
mockHandler.mockResolvedValue('retry_once');
|
|
257
|
-
const result = await handleFallback(mockConfig, PREVIEW_GEMINI_MODEL, AuthType.LOGIN_WITH_GOOGLE, terminalQuotaError);
|
|
258
|
-
expect(result).toBe(true);
|
|
259
|
-
expect(mockConfig.setPreviewModelBypassMode).not.toHaveBeenCalled();
|
|
260
|
-
expect(mockConfig.setPreviewModelFallbackMode).not.toHaveBeenCalled();
|
|
261
|
-
expect(mockConfig.setFallbackMode).not.toHaveBeenCalled();
|
|
262
|
-
});
|
|
263
|
-
it('should pass DEFAULT_GEMINI_MODEL as fallback when Preview Model fails with Retryable Error', async () => {
|
|
264
|
-
const mockFallbackHandler = vi.fn().mockResolvedValue('stop');
|
|
265
|
-
vi.mocked(mockConfig.fallbackModelHandler).mockImplementation(mockFallbackHandler);
|
|
266
|
-
const mockGoogleApiError = {
|
|
267
|
-
code: 429,
|
|
268
|
-
message: 'mock error',
|
|
269
|
-
details: [],
|
|
270
|
-
};
|
|
271
|
-
const retryableQuotaError = new RetryableQuotaError('Capacity error', mockGoogleApiError, 5);
|
|
272
|
-
await handleFallback(mockConfig, PREVIEW_GEMINI_MODEL, AuthType.LOGIN_WITH_GOOGLE, retryableQuotaError);
|
|
273
|
-
expect(mockConfig.fallbackModelHandler).toHaveBeenCalledWith(PREVIEW_GEMINI_MODEL, DEFAULT_GEMINI_MODEL, retryableQuotaError);
|
|
274
|
-
});
|
|
275
|
-
it('should pass DEFAULT_GEMINI_MODEL as fallback when Preview Model fails with other error', async () => {
|
|
276
|
-
await handleFallback(mockConfig, PREVIEW_GEMINI_MODEL, AuthType.LOGIN_WITH_GOOGLE);
|
|
277
|
-
expect(mockConfig.fallbackModelHandler).toHaveBeenCalledWith(PREVIEW_GEMINI_MODEL, DEFAULT_GEMINI_MODEL, undefined);
|
|
278
|
-
});
|
|
279
|
-
it('should pass DEFAULT_GEMINI_FLASH_MODEL as fallback when Preview Model fails with other error', async () => {
|
|
280
|
-
const mockGoogleApiError = {
|
|
281
|
-
code: 429,
|
|
282
|
-
message: 'mock error',
|
|
283
|
-
details: [],
|
|
284
|
-
};
|
|
285
|
-
const terminalQuotaError = new TerminalQuotaError('quota error', mockGoogleApiError, 5);
|
|
286
|
-
await handleFallback(mockConfig, PREVIEW_GEMINI_MODEL, AuthType.LOGIN_WITH_GOOGLE, terminalQuotaError);
|
|
287
|
-
expect(mockConfig.fallbackModelHandler).toHaveBeenCalledWith(PREVIEW_GEMINI_MODEL, DEFAULT_GEMINI_FLASH_MODEL, terminalQuotaError);
|
|
288
|
-
});
|
|
289
|
-
});
|
|
290
|
-
it('should return null if ModelNotFoundError occurs for a non-preview model', async () => {
|
|
291
|
-
const modelNotFoundError = new ModelNotFoundError('Not found');
|
|
292
|
-
const result = await handleFallback(mockConfig, DEFAULT_GEMINI_MODEL, // Not preview model
|
|
293
|
-
AUTH_OAUTH, modelNotFoundError);
|
|
294
|
-
expect(result).toBeNull();
|
|
295
|
-
expect(mockHandler).not.toHaveBeenCalled();
|
|
296
|
-
});
|
|
297
|
-
it('should consult handler if ModelNotFoundError occurs for preview model', async () => {
|
|
298
|
-
const modelNotFoundError = new ModelNotFoundError('Not found');
|
|
299
|
-
mockHandler.mockResolvedValue('retry_always');
|
|
300
|
-
const result = await handleFallback(mockConfig, PREVIEW_GEMINI_MODEL, AUTH_OAUTH, modelNotFoundError);
|
|
301
|
-
expect(result).toBe(true);
|
|
302
|
-
expect(mockHandler).toHaveBeenCalled();
|
|
303
|
-
});
|
|
304
84
|
describe('policy-driven flow', () => {
|
|
305
85
|
let policyConfig;
|
|
306
86
|
let availability;
|
|
307
87
|
let policyHandler;
|
|
308
88
|
beforeEach(() => {
|
|
309
89
|
vi.clearAllMocks();
|
|
310
|
-
availability =
|
|
90
|
+
availability = createAvailabilityServiceMock({
|
|
311
91
|
selectedModel: DEFAULT_GEMINI_FLASH_MODEL,
|
|
312
92
|
skipped: [],
|
|
313
93
|
});
|
|
314
94
|
policyHandler = vi.fn().mockResolvedValue('retry_once');
|
|
315
95
|
policyConfig = createMockConfig();
|
|
316
|
-
|
|
317
|
-
vi.
|
|
318
|
-
vi.
|
|
96
|
+
// Ensure we test the availability path
|
|
97
|
+
vi.mocked(policyConfig.isModelAvailabilityServiceEnabled).mockReturnValue(true);
|
|
98
|
+
vi.mocked(policyConfig.getModelAvailabilityService).mockReturnValue(availability);
|
|
99
|
+
vi.mocked(policyConfig.getFallbackModelHandler).mockReturnValue(policyHandler);
|
|
100
|
+
});
|
|
101
|
+
it('should return null immediately if authType is not OAuth', async () => {
|
|
102
|
+
const result = await handleFallback(policyConfig, MOCK_PRO_MODEL, AUTH_API_KEY);
|
|
103
|
+
expect(result).toBeNull();
|
|
104
|
+
expect(policyHandler).not.toHaveBeenCalled();
|
|
319
105
|
});
|
|
320
106
|
it('uses availability selection with correct candidates when enabled', async () => {
|
|
321
|
-
|
|
322
|
-
vi.
|
|
107
|
+
// Direct mock manipulation since it's already a vi.fn()
|
|
108
|
+
vi.mocked(policyConfig.getPreviewFeatures).mockReturnValue(true);
|
|
109
|
+
vi.mocked(policyConfig.getModel).mockReturnValue(DEFAULT_GEMINI_MODEL_AUTO);
|
|
323
110
|
await handleFallback(policyConfig, DEFAULT_GEMINI_MODEL, AUTH_OAUTH);
|
|
324
111
|
expect(availability.selectFirstAvailable).toHaveBeenCalledWith([
|
|
325
112
|
DEFAULT_GEMINI_FLASH_MODEL,
|
|
326
|
-
PREVIEW_GEMINI_MODEL,
|
|
327
113
|
]);
|
|
328
114
|
});
|
|
329
115
|
it('falls back to last resort when availability returns null', async () => {
|
|
116
|
+
vi.mocked(policyConfig.getModel).mockReturnValue(DEFAULT_GEMINI_MODEL_AUTO);
|
|
330
117
|
availability.selectFirstAvailable = vi
|
|
331
118
|
.fn()
|
|
332
119
|
.mockReturnValue({ selectedModel: null, skipped: [] });
|
|
@@ -355,60 +142,119 @@ describe('handleFallback', () => {
|
|
|
355
142
|
const result = await handleFallback(policyConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
356
143
|
expect(result).toBe(true);
|
|
357
144
|
expect(policyConfig.getFallbackModelHandler).not.toHaveBeenCalled();
|
|
358
|
-
expect(policyConfig.
|
|
145
|
+
expect(policyConfig.setActiveModel).toHaveBeenCalledWith(DEFAULT_GEMINI_FLASH_MODEL);
|
|
146
|
+
// Silent actions should not trigger the legacy fallback mode (via activateFallbackMode),
|
|
147
|
+
// but setActiveModel might trigger it via legacy sync if it switches to Flash.
|
|
148
|
+
// However, the test requirement is "doesn't emit fallback mode".
|
|
149
|
+
// Since we are mocking setActiveModel, we can verify setFallbackMode isn't called *independently*.
|
|
150
|
+
// But setActiveModel is mocked, so it won't trigger side effects unless the implementation does.
|
|
151
|
+
// We verified setActiveModel is called.
|
|
152
|
+
// We verify setFallbackMode is NOT called (which would happen if activateFallbackMode was called).
|
|
153
|
+
expect(policyConfig.setFallbackMode).not.toHaveBeenCalled();
|
|
359
154
|
}
|
|
360
155
|
finally {
|
|
361
156
|
chainSpy.mockRestore();
|
|
362
157
|
}
|
|
363
158
|
});
|
|
364
|
-
it('
|
|
159
|
+
it('does not wrap around to upgrade candidates if the current model was selected at the end (e.g. by router)', async () => {
|
|
365
160
|
// Last-resort failure (Flash) in [Preview, Pro, Flash] checks Preview then Pro (all upstream).
|
|
366
|
-
vi.
|
|
161
|
+
vi.mocked(policyConfig.getPreviewFeatures).mockReturnValue(true);
|
|
162
|
+
vi.mocked(policyConfig.getModel).mockReturnValue(DEFAULT_GEMINI_MODEL_AUTO);
|
|
367
163
|
availability.selectFirstAvailable = vi.fn().mockReturnValue({
|
|
368
164
|
selectedModel: MOCK_PRO_MODEL,
|
|
369
165
|
skipped: [],
|
|
370
166
|
});
|
|
371
167
|
policyHandler.mockResolvedValue('retry_once');
|
|
372
168
|
await handleFallback(policyConfig, DEFAULT_GEMINI_FLASH_MODEL, AUTH_OAUTH);
|
|
373
|
-
expect(availability.selectFirstAvailable).
|
|
374
|
-
|
|
375
|
-
MOCK_PRO_MODEL,
|
|
376
|
-
]);
|
|
377
|
-
expect(policyHandler).toHaveBeenCalledWith(DEFAULT_GEMINI_FLASH_MODEL, MOCK_PRO_MODEL, undefined);
|
|
378
|
-
});
|
|
379
|
-
it('logs and returns null when handler resolves to null', async () => {
|
|
380
|
-
policyHandler.mockResolvedValue(null);
|
|
381
|
-
const debugLoggerErrorSpy = vi.spyOn(debugLogger, 'error');
|
|
382
|
-
const result = await handleFallback(policyConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
383
|
-
expect(result).toBeNull();
|
|
384
|
-
expect(debugLoggerErrorSpy).toHaveBeenCalledWith('Fallback handler failed:', new Error('Unexpected fallback intent received from fallbackModelHandler: "null"'));
|
|
385
|
-
debugLoggerErrorSpy.mockRestore();
|
|
169
|
+
expect(availability.selectFirstAvailable).not.toHaveBeenCalled();
|
|
170
|
+
expect(policyHandler).toHaveBeenCalledWith(DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_FLASH_MODEL, undefined);
|
|
386
171
|
});
|
|
387
172
|
it('successfully follows expected availability response for Preview Chain', async () => {
|
|
388
|
-
availability.selectFirstAvailable = vi
|
|
389
|
-
|
|
390
|
-
|
|
173
|
+
availability.selectFirstAvailable = vi.fn().mockReturnValue({
|
|
174
|
+
selectedModel: PREVIEW_GEMINI_FLASH_MODEL,
|
|
175
|
+
skipped: [],
|
|
176
|
+
});
|
|
391
177
|
policyHandler.mockResolvedValue('retry_once');
|
|
392
|
-
vi.
|
|
393
|
-
vi.
|
|
178
|
+
vi.mocked(policyConfig.getPreviewFeatures).mockReturnValue(true);
|
|
179
|
+
vi.mocked(policyConfig.getActiveModel).mockReturnValue(PREVIEW_GEMINI_MODEL);
|
|
180
|
+
vi.mocked(policyConfig.getModel).mockReturnValue(PREVIEW_GEMINI_MODEL_AUTO);
|
|
394
181
|
const result = await handleFallback(policyConfig, PREVIEW_GEMINI_MODEL, AUTH_OAUTH);
|
|
395
182
|
expect(result).toBe(true);
|
|
396
183
|
expect(availability.selectFirstAvailable).toHaveBeenCalledWith([
|
|
397
|
-
|
|
398
|
-
DEFAULT_GEMINI_FLASH_MODEL,
|
|
184
|
+
PREVIEW_GEMINI_FLASH_MODEL,
|
|
399
185
|
]);
|
|
400
|
-
expect(policyHandler).toHaveBeenCalledWith(PREVIEW_GEMINI_MODEL, DEFAULT_GEMINI_MODEL, undefined);
|
|
401
186
|
});
|
|
402
|
-
it('
|
|
187
|
+
it('should launch upgrade flow and avoid fallback mode when handler returns "upgrade"', async () => {
|
|
188
|
+
policyHandler.mockResolvedValue('upgrade');
|
|
189
|
+
vi.mocked(openBrowserSecurely).mockResolvedValue(undefined);
|
|
190
|
+
const result = await handleFallback(policyConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
191
|
+
expect(result).toBe(false);
|
|
192
|
+
expect(openBrowserSecurely).toHaveBeenCalledWith('https://goo.gle/set-up-gemini-code-assist');
|
|
193
|
+
expect(policyConfig.setActiveModel).not.toHaveBeenCalled();
|
|
194
|
+
});
|
|
195
|
+
it('should catch errors from the handler, log an error, and return null', async () => {
|
|
196
|
+
const handlerError = new Error('UI interaction failed');
|
|
197
|
+
policyHandler.mockRejectedValue(handlerError);
|
|
198
|
+
const result = await handleFallback(policyConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
199
|
+
expect(result).toBeNull();
|
|
200
|
+
expect(debugLogger.error).toHaveBeenCalledWith('Fallback handler failed:', handlerError);
|
|
201
|
+
});
|
|
202
|
+
it('should pass TerminalQuotaError (429) correctly to the handler', async () => {
|
|
203
|
+
const mockGoogleApiError = {
|
|
204
|
+
code: 429,
|
|
205
|
+
message: 'mock error',
|
|
206
|
+
details: [],
|
|
207
|
+
};
|
|
208
|
+
const terminalError = new TerminalQuotaError('Quota error', mockGoogleApiError, 5);
|
|
209
|
+
policyHandler.mockResolvedValue('retry_always');
|
|
210
|
+
vi.mocked(policyConfig.getModel).mockReturnValue(DEFAULT_GEMINI_MODEL_AUTO);
|
|
211
|
+
await handleFallback(policyConfig, MOCK_PRO_MODEL, AUTH_OAUTH, terminalError);
|
|
212
|
+
expect(policyHandler).toHaveBeenCalledWith(MOCK_PRO_MODEL, DEFAULT_GEMINI_FLASH_MODEL, terminalError);
|
|
213
|
+
});
|
|
214
|
+
it('should pass RetryableQuotaError correctly to the handler', async () => {
|
|
215
|
+
const mockGoogleApiError = {
|
|
216
|
+
code: 503,
|
|
217
|
+
message: 'mock error',
|
|
218
|
+
details: [],
|
|
219
|
+
};
|
|
220
|
+
const retryableError = new RetryableQuotaError('Service unavailable', mockGoogleApiError, 1000);
|
|
221
|
+
policyHandler.mockResolvedValue('retry_once');
|
|
222
|
+
vi.mocked(policyConfig.getModel).mockReturnValue(DEFAULT_GEMINI_MODEL_AUTO);
|
|
223
|
+
await handleFallback(policyConfig, MOCK_PRO_MODEL, AUTH_OAUTH, retryableError);
|
|
224
|
+
expect(policyHandler).toHaveBeenCalledWith(MOCK_PRO_MODEL, DEFAULT_GEMINI_FLASH_MODEL, retryableError);
|
|
225
|
+
});
|
|
226
|
+
it('Call the handler with fallback model same as the failed model when the failed model is the last-resort policy', async () => {
|
|
403
227
|
// Ensure short-circuit when wrapping to an unavailable upstream model.
|
|
404
228
|
availability.selectFirstAvailable = vi
|
|
405
229
|
.fn()
|
|
406
230
|
.mockReturnValue({ selectedModel: null, skipped: [] });
|
|
231
|
+
vi.mocked(policyConfig.getModel).mockReturnValue(DEFAULT_GEMINI_MODEL_AUTO);
|
|
407
232
|
const result = await handleFallback(policyConfig, DEFAULT_GEMINI_FLASH_MODEL, AUTH_OAUTH);
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
expect(
|
|
411
|
-
|
|
233
|
+
policyHandler.mockResolvedValue('retry_once');
|
|
234
|
+
expect(result).not.toBeNull();
|
|
235
|
+
expect(policyHandler).toHaveBeenCalledWith(DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_FLASH_MODEL, undefined);
|
|
236
|
+
});
|
|
237
|
+
it('calls setActiveModel and logs telemetry when handler returns "retry_always"', async () => {
|
|
238
|
+
policyHandler.mockResolvedValue('retry_always');
|
|
239
|
+
vi.mocked(policyConfig.getModel).mockReturnValue(DEFAULT_GEMINI_MODEL_AUTO);
|
|
240
|
+
const result = await handleFallback(policyConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
241
|
+
expect(result).toBe(true);
|
|
242
|
+
expect(policyConfig.setActiveModel).toHaveBeenCalledWith(FALLBACK_MODEL);
|
|
243
|
+
expect(policyConfig.setFallbackMode).not.toHaveBeenCalled();
|
|
244
|
+
// TODO: add logging expect statement
|
|
245
|
+
});
|
|
246
|
+
it('does NOT call setActiveModel when handler returns "stop"', async () => {
|
|
247
|
+
policyHandler.mockResolvedValue('stop');
|
|
248
|
+
const result = await handleFallback(policyConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
249
|
+
expect(result).toBe(false);
|
|
250
|
+
expect(policyConfig.setActiveModel).not.toHaveBeenCalled();
|
|
251
|
+
// TODO: add logging expect statement
|
|
252
|
+
});
|
|
253
|
+
it('does NOT call setActiveModel when handler returns "retry_once"', async () => {
|
|
254
|
+
policyHandler.mockResolvedValue('retry_once');
|
|
255
|
+
const result = await handleFallback(policyConfig, MOCK_PRO_MODEL, AUTH_OAUTH);
|
|
256
|
+
expect(result).toBe(true);
|
|
257
|
+
expect(policyConfig.setActiveModel).not.toHaveBeenCalled();
|
|
412
258
|
});
|
|
413
259
|
});
|
|
414
260
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.test.js","sourceRoot":"","sources":["../../../src/fallback/handler.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handler.test.js","sourceRoot":"","sources":["../../../src/fallback/handler.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
export declare const GIT_COMMIT_INFO = "
|
|
7
|
-
export declare const CLI_VERSION = "1.
|
|
6
|
+
export declare const GIT_COMMIT_INFO = "703942039";
|
|
7
|
+
export declare const CLI_VERSION = "1.22.5-rc1";
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
// This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
|
|
7
7
|
// Do not edit this file manually.
|
|
8
|
-
export const GIT_COMMIT_INFO = '
|
|
9
|
-
export const CLI_VERSION = '1.
|
|
8
|
+
export const GIT_COMMIT_INFO = '703942039';
|
|
9
|
+
export const CLI_VERSION = '1.22.5-rc1';
|
|
10
10
|
//# sourceMappingURL=git-commit.js.map
|