@machina.ai/cell-cli-core 1.20.2-rc1 → 1.25.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/docs/AFTER_MERGE_PROMPT.md +26 -0
- package/dist/docs/CHANGES.md +124 -0
- package/dist/docs/api-proxy.md +27 -0
- package/dist/docs/architecture.md +80 -0
- package/dist/docs/assets/connected_devtools.png +0 -0
- package/dist/docs/assets/gemini-screenshot.png +0 -0
- package/dist/docs/assets/monitoring-dashboard-logs.png +0 -0
- package/dist/docs/assets/monitoring-dashboard-metrics.png +0 -0
- package/dist/docs/assets/monitoring-dashboard-overview.png +0 -0
- package/dist/docs/assets/release_patch.png +0 -0
- package/dist/docs/assets/theme-ansi-light.png +0 -0
- package/dist/docs/assets/theme-ansi.png +0 -0
- package/dist/docs/assets/theme-atom-one.png +0 -0
- package/dist/docs/assets/theme-ayu-light.png +0 -0
- package/dist/docs/assets/theme-ayu.png +0 -0
- package/dist/docs/assets/theme-custom.png +0 -0
- package/dist/docs/assets/theme-default-light.png +0 -0
- package/dist/docs/assets/theme-default.png +0 -0
- package/dist/docs/assets/theme-dracula.png +0 -0
- package/dist/docs/assets/theme-github-light.png +0 -0
- package/dist/docs/assets/theme-github.png +0 -0
- package/dist/docs/assets/theme-google-light.png +0 -0
- package/dist/docs/assets/theme-xcode-light.png +0 -0
- package/dist/docs/changelogs/index.md +612 -0
- package/dist/docs/changelogs/latest.md +153 -0
- package/dist/docs/changelogs/preview.md +131 -0
- package/dist/docs/changelogs/releases.md +1162 -0
- package/dist/docs/cli/authentication.md +3 -0
- package/dist/docs/cli/checkpointing.md +94 -0
- package/dist/docs/cli/commands.md +357 -0
- package/dist/docs/cli/custom-commands.md +315 -0
- package/dist/docs/cli/enterprise.md +564 -0
- package/dist/docs/cli/gemini-ignore.md +71 -0
- package/dist/docs/cli/gemini-md.md +109 -0
- package/dist/docs/cli/generation-settings.md +210 -0
- package/dist/docs/cli/headless.md +388 -0
- package/dist/docs/cli/index.md +63 -0
- package/dist/docs/cli/keyboard-shortcuts.md +136 -0
- package/dist/docs/cli/model-routing.md +37 -0
- package/dist/docs/cli/model.md +62 -0
- package/dist/docs/cli/sandbox.md +171 -0
- package/dist/docs/cli/session-management.md +158 -0
- package/dist/docs/cli/settings.md +148 -0
- package/dist/docs/cli/skills.md +188 -0
- package/dist/docs/cli/system-prompt.md +94 -0
- package/dist/docs/cli/telemetry.md +813 -0
- package/dist/docs/cli/themes.md +237 -0
- package/dist/docs/cli/token-caching.md +20 -0
- package/dist/docs/cli/trusted-folders.md +95 -0
- package/dist/docs/cli/tutorials/skills-getting-started.md +124 -0
- package/dist/docs/cli/tutorials.md +87 -0
- package/dist/docs/cli/uninstall.md +47 -0
- package/dist/docs/core/index.md +101 -0
- package/dist/docs/core/memport.md +246 -0
- package/dist/docs/core/policy-engine.md +268 -0
- package/dist/docs/core/tools-api.md +131 -0
- package/dist/docs/examples/proxy-script.md +83 -0
- package/dist/docs/extensions/extension-releasing.md +183 -0
- package/dist/docs/extensions/getting-started-extensions.md +244 -0
- package/dist/docs/extensions/index.md +343 -0
- package/dist/docs/faq.md +153 -0
- package/dist/docs/get-started/authentication.md +321 -0
- package/dist/docs/get-started/configuration-v1.md +890 -0
- package/dist/docs/get-started/configuration.md +1643 -0
- package/dist/docs/get-started/examples.md +218 -0
- package/dist/docs/get-started/gemini-3.md +101 -0
- package/dist/docs/get-started/index.md +71 -0
- package/dist/docs/get-started/installation.md +141 -0
- package/dist/docs/hooks/best-practices.md +856 -0
- package/dist/docs/hooks/index.md +723 -0
- package/dist/docs/hooks/reference.md +178 -0
- package/dist/docs/hooks/writing-hooks.md +1044 -0
- package/dist/docs/ide-integration/ide-companion-spec.md +267 -0
- package/dist/docs/ide-integration/index.md +201 -0
- package/dist/docs/index.md +147 -0
- package/dist/docs/integration-tests.md +211 -0
- package/dist/docs/issue-and-pr-automation.md +134 -0
- package/dist/docs/local-development.md +128 -0
- package/dist/docs/mcp_integration.md +160 -0
- package/dist/docs/mermaid/context.mmd +103 -0
- package/dist/docs/mermaid/render-path.mmd +64 -0
- package/dist/docs/npm.md +62 -0
- package/dist/docs/quota-and-pricing.md +158 -0
- package/dist/docs/release-confidence.md +164 -0
- package/dist/docs/releases.md +540 -0
- package/dist/docs/sidebar.json +301 -0
- package/dist/docs/tools/file-system.md +217 -0
- package/dist/docs/tools/index.md +95 -0
- package/dist/docs/tools/mcp-server.md +1045 -0
- package/dist/docs/tools/memory.md +54 -0
- package/dist/docs/tools/shell.md +260 -0
- package/dist/docs/tools/todos.md +56 -0
- package/dist/docs/tools/web-fetch.md +59 -0
- package/dist/docs/tools/web-search.md +42 -0
- package/dist/docs/tos-privacy.md +96 -0
- package/dist/docs/troubleshooting.md +162 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +7 -4
- package/dist/src/agents/a2a-client-manager.d.ts +82 -0
- package/dist/src/agents/a2a-client-manager.js +295 -0
- package/dist/src/agents/a2a-client-manager.js.map +1 -0
- package/dist/src/agents/a2a-client-manager.test.js +281 -0
- package/dist/src/agents/a2a-client-manager.test.js.map +1 -0
- package/dist/src/agents/a2aUtils.d.ts +29 -0
- package/dist/src/agents/a2aUtils.js +113 -0
- package/dist/src/agents/a2aUtils.js.map +1 -0
- package/dist/src/agents/a2aUtils.test.js +147 -0
- package/dist/src/agents/a2aUtils.test.js.map +1 -0
- package/dist/src/agents/agentLoader.d.ts +68 -0
- package/dist/src/agents/agentLoader.js +255 -0
- package/dist/src/agents/agentLoader.js.map +1 -0
- package/dist/src/agents/agentLoader.test.js +307 -0
- package/dist/src/agents/agentLoader.test.js.map +1 -0
- package/dist/src/agents/cli-help-agent.d.ts +24 -0
- package/dist/src/agents/cli-help-agent.js +85 -0
- package/dist/src/agents/cli-help-agent.js.map +1 -0
- package/dist/src/agents/cli-help-agent.test.d.ts +6 -0
- package/dist/src/agents/cli-help-agent.test.js +65 -0
- package/dist/src/agents/cli-help-agent.test.js.map +1 -0
- package/dist/src/agents/codebase-investigator.d.ts +2 -2
- package/dist/src/agents/codebase-investigator.js +14 -8
- package/dist/src/agents/codebase-investigator.js.map +1 -1
- package/dist/src/agents/delegate-to-agent-tool.d.ts +19 -0
- package/dist/src/agents/delegate-to-agent-tool.js +122 -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 +213 -0
- package/dist/src/agents/delegate-to-agent-tool.test.js.map +1 -0
- package/dist/src/agents/{executor.d.ts → local-executor.d.ts} +5 -11
- package/dist/src/agents/{executor.js → local-executor.js} +124 -63
- package/dist/src/agents/local-executor.js.map +1 -0
- package/dist/src/agents/local-executor.test.d.ts +6 -0
- package/dist/src/agents/{executor.test.js → local-executor.test.js} +136 -58
- package/dist/src/agents/local-executor.test.js.map +1 -0
- package/dist/src/agents/{invocation.d.ts → local-invocation.d.ts} +6 -7
- package/dist/src/agents/{invocation.js → local-invocation.js} +9 -10
- package/dist/src/agents/local-invocation.js.map +1 -0
- package/dist/src/agents/local-invocation.test.d.ts +6 -0
- package/dist/src/agents/{invocation.test.js → local-invocation.test.js} +29 -20
- package/dist/src/agents/local-invocation.test.js.map +1 -0
- package/dist/src/agents/registry.d.ts +37 -1
- package/dist/src/agents/registry.js +240 -27
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +465 -30
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/remote-invocation.d.ts +35 -0
- package/dist/src/agents/remote-invocation.js +126 -0
- package/dist/src/agents/remote-invocation.js.map +1 -0
- package/dist/src/agents/remote-invocation.test.d.ts +6 -0
- package/dist/src/agents/remote-invocation.test.js +201 -0
- package/dist/src/agents/remote-invocation.test.js.map +1 -0
- package/dist/src/agents/subagent-tool-wrapper.d.ts +2 -2
- package/dist/src/agents/subagent-tool-wrapper.js +11 -6
- package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
- package/dist/src/agents/subagent-tool-wrapper.test.js +33 -19
- package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
- package/dist/src/agents/types.d.ts +21 -15
- package/dist/src/agents/types.js.map +1 -1
- package/dist/src/availability/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/fallbackIntegration.test.d.ts +6 -0
- package/dist/src/availability/fallbackIntegration.test.js +58 -0
- package/dist/src/availability/fallbackIntegration.test.js.map +1 -0
- package/dist/src/availability/modelAvailabilityService.d.ts +3 -1
- 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 +34 -3
- package/dist/src/availability/policyHelpers.js +104 -13
- package/dist/src/availability/policyHelpers.js.map +1 -1
- package/dist/src/availability/policyHelpers.test.js +143 -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/experiments/experiments.d.ts +1 -1
- package/dist/src/code_assist/experiments/experiments.js +21 -0
- package/dist/src/code_assist/experiments/experiments.js.map +1 -1
- package/dist/src/code_assist/experiments/experiments_local.test.d.ts +6 -0
- package/dist/src/code_assist/experiments/experiments_local.test.js +110 -0
- package/dist/src/code_assist/experiments/experiments_local.test.js.map +1 -0
- package/dist/src/code_assist/oauth-credential-storage.js +3 -4
- package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +2 -0
- package/dist/src/code_assist/oauth2.js +70 -14
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +224 -22
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/server.d.ts +9 -1
- package/dist/src/code_assist/server.js +74 -11
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +199 -27
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/code_assist/setup.js +6 -4
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/setup.test.js +63 -0
- package/dist/src/code_assist/setup.test.js.map +1 -1
- package/dist/src/code_assist/telemetry.d.ts +14 -0
- package/dist/src/code_assist/telemetry.js +157 -0
- package/dist/src/code_assist/telemetry.js.map +1 -0
- package/dist/src/code_assist/telemetry.test.d.ts +6 -0
- package/dist/src/code_assist/telemetry.test.js +301 -0
- package/dist/src/code_assist/telemetry.test.js.map +1 -0
- package/dist/src/code_assist/types.d.ts +77 -1
- package/dist/src/code_assist/types.js +28 -0
- package/dist/src/code_assist/types.js.map +1 -1
- package/dist/src/commands/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/memory.d.ts +11 -0
- package/dist/src/commands/memory.js +80 -0
- package/dist/src/commands/memory.js.map +1 -0
- package/dist/src/commands/memory.test.d.ts +6 -0
- package/dist/src/commands/memory.test.js +155 -0
- package/dist/src/commands/memory.test.js.map +1 -0
- package/dist/src/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 +145 -25
- package/dist/src/config/config.js +370 -132
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +416 -50
- 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/flashFallback.test.js +11 -35
- package/dist/src/config/flashFallback.test.js.map +1 -1
- package/dist/src/config/models.d.ts +36 -15
- package/dist/src/config/models.js +89 -28
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +107 -77
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +5 -0
- package/dist/src/config/storage.js +17 -2
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +16 -0
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.js +3 -1
- 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 +60 -22
- package/dist/src/core/baseLlmClient.js.map +1 -1
- package/dist/src/core/baseLlmClient.test.js +177 -7
- package/dist/src/core/baseLlmClient.test.js.map +1 -1
- package/dist/src/core/client.d.ts +7 -1
- package/dist/src/core/client.js +261 -96
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +397 -67
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/clientHookTriggers.js +2 -2
- package/dist/src/core/clientHookTriggers.js.map +1 -1
- package/dist/src/core/contentGenerator.js +6 -4
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +24 -23
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.d.ts +9 -5
- package/dist/src/core/coreToolHookTriggers.js +119 -21
- package/dist/src/core/coreToolHookTriggers.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.test.d.ts +6 -0
- package/dist/src/core/coreToolHookTriggers.test.js +191 -0
- package/dist/src/core/coreToolHookTriggers.test.js.map +1 -0
- package/dist/src/core/coreToolScheduler.d.ts +7 -93
- package/dist/src/core/coreToolScheduler.js +139 -333
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +304 -348
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +26 -1
- package/dist/src/core/geminiChat.js +144 -80
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +334 -253
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChatHookTriggers.d.ts +8 -4
- package/dist/src/core/geminiChatHookTriggers.js +34 -12
- package/dist/src/core/geminiChatHookTriggers.js.map +1 -1
- package/dist/src/core/geminiChatHookTriggers.test.d.ts +6 -0
- package/dist/src/core/geminiChatHookTriggers.test.js +153 -0
- package/dist/src/core/geminiChatHookTriggers.test.js.map +1 -0
- package/dist/src/core/geminiChat_network_retry.test.d.ts +6 -0
- package/dist/src/core/geminiChat_network_retry.test.js +196 -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/loggingContentGenerator.js +19 -2
- package/dist/src/core/loggingContentGenerator.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.test.js +30 -0
- package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +7 -8
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/prompts.js +48 -22
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/prompts.test.js +66 -11
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/core/tokenLimits.js +6 -12
- package/dist/src/core/tokenLimits.js.map +1 -1
- package/dist/src/core/tokenLimits.test.js +8 -4
- package/dist/src/core/tokenLimits.test.js.map +1 -1
- package/dist/src/core/turn.d.ts +21 -21
- package/dist/src/core/turn.js +32 -22
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +79 -5
- package/dist/src/core/turn.test.js.map +1 -1
- package/dist/src/fallback/handler.js +55 -120
- package/dist/src/fallback/handler.js.map +1 -1
- package/dist/src/fallback/handler.test.js +115 -288
- package/dist/src/fallback/handler.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +3 -3
- package/dist/src/generated/git-commit.js +3 -3
- package/dist/src/hooks/hookAggregator.js +7 -0
- package/dist/src/hooks/hookAggregator.js.map +1 -1
- package/dist/src/hooks/hookEventHandler.d.ts +9 -5
- package/dist/src/hooks/hookEventHandler.js +120 -16
- package/dist/src/hooks/hookEventHandler.js.map +1 -1
- package/dist/src/hooks/hookEventHandler.test.js +231 -9
- package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
- package/dist/src/hooks/hookPlanner.d.ts +1 -5
- package/dist/src/hooks/hookPlanner.js +2 -7
- package/dist/src/hooks/hookPlanner.js.map +1 -1
- package/dist/src/hooks/hookPlanner.test.js +62 -2
- package/dist/src/hooks/hookPlanner.test.js.map +1 -1
- package/dist/src/hooks/hookRegistry.d.ts +6 -18
- package/dist/src/hooks/hookRegistry.js +49 -35
- package/dist/src/hooks/hookRegistry.js.map +1 -1
- package/dist/src/hooks/hookRegistry.test.js +167 -8
- package/dist/src/hooks/hookRegistry.test.js.map +1 -1
- package/dist/src/hooks/hookRunner.d.ts +5 -3
- package/dist/src/hooks/hookRunner.js +68 -18
- package/dist/src/hooks/hookRunner.js.map +1 -1
- package/dist/src/hooks/hookRunner.test.js +173 -36
- package/dist/src/hooks/hookRunner.test.js.map +1 -1
- package/dist/src/hooks/hookSystem.d.ts +10 -6
- package/dist/src/hooks/hookSystem.js +36 -16
- 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/hookTranslator.js +2 -1
- package/dist/src/hooks/hookTranslator.js.map +1 -1
- package/dist/src/hooks/index.d.ts +2 -1
- package/dist/src/hooks/index.js +1 -0
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/trustedHooks.d.ts +28 -0
- package/dist/src/hooks/trustedHooks.js +90 -0
- package/dist/src/hooks/trustedHooks.js.map +1 -0
- package/dist/src/hooks/trustedHooks.test.d.ts +6 -0
- package/dist/src/hooks/trustedHooks.test.js +154 -0
- package/dist/src/hooks/trustedHooks.test.js.map +1 -0
- package/dist/src/hooks/types.d.ts +42 -11
- package/dist/src/hooks/types.js +31 -42
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/hooks/types.test.js +9 -52
- package/dist/src/hooks/types.test.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +4 -0
- package/dist/src/ide/detect-ide.js +7 -2
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/detect-ide.test.js +42 -1
- package/dist/src/ide/detect-ide.test.js.map +1 -1
- package/dist/src/ide/ide-client.js +6 -1
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-installer.js +2 -2
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/ide-installer.test.js +12 -3
- package/dist/src/ide/ide-installer.test.js.map +1 -1
- package/dist/src/index.d.ts +23 -1
- package/dist/src/index.js +25 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js +7 -3
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +4 -1
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.d.ts +8 -1
- package/dist/src/mcp/oauth-utils.js +31 -2
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/oauth-utils.test.js +42 -0
- package/dist/src/mcp/oauth-utils.test.js.map +1 -1
- package/dist/src/mcp/token-storage/file-token-storage.js +2 -2
- package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
- package/dist/src/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 +140 -15
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/config.test.js +24 -2
- package/dist/src/policy/config.test.js.map +1 -1
- package/dist/src/policy/persistence.test.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/policies/write.toml +5 -0
- package/dist/src/policy/policies/yolo.toml +1 -0
- package/dist/src/policy/policy-engine.d.ts +14 -1
- package/dist/src/policy/policy-engine.js +165 -7
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +315 -3
- 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 +438 -0
- package/dist/src/policy/shell-safety.test.js.map +1 -0
- package/dist/src/policy/toml-loader.d.ts +3 -5
- package/dist/src/policy/toml-loader.js +43 -60
- package/dist/src/policy/toml-loader.js.map +1 -1
- package/dist/src/policy/toml-loader.test.js +41 -7
- package/dist/src/policy/toml-loader.test.js.map +1 -1
- package/dist/src/policy/types.d.ts +25 -0
- package/dist/src/policy/utils.d.ts +21 -0
- package/dist/src/policy/utils.js +45 -0
- package/dist/src/policy/utils.js.map +1 -0
- package/dist/src/policy/utils.test.d.ts +6 -0
- package/dist/src/policy/utils.test.js +92 -0
- package/dist/src/policy/utils.test.js.map +1 -0
- package/dist/src/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/routingStrategy.d.ts +2 -0
- 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 +18 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.js +4 -2
- package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.test.js +11 -10
- package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.d.ts +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js +21 -13
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.test.js +76 -39
- package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.d.ts +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js +5 -4
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.test.js +14 -0
- package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -1
- package/dist/src/safety/checker-runner.js +17 -6
- package/dist/src/safety/checker-runner.js.map +1 -1
- package/dist/src/scheduler/tool-executor.d.ts +22 -0
- package/dist/src/scheduler/tool-executor.js +198 -0
- package/dist/src/scheduler/tool-executor.js.map +1 -0
- package/dist/src/scheduler/tool-executor.test.d.ts +6 -0
- package/dist/src/scheduler/tool-executor.test.js +231 -0
- package/dist/src/scheduler/tool-executor.test.js.map +1 -0
- package/dist/src/scheduler/tool-modifier.d.ts +23 -0
- package/dist/src/scheduler/tool-modifier.js +50 -0
- package/dist/src/scheduler/tool-modifier.js.map +1 -0
- package/dist/src/scheduler/tool-modifier.test.d.ts +6 -0
- package/dist/src/scheduler/tool-modifier.test.js +159 -0
- package/dist/src/scheduler/tool-modifier.test.js.map +1 -0
- package/dist/src/scheduler/types.d.ts +95 -0
- package/dist/src/scheduler/types.js +7 -0
- package/dist/src/scheduler/types.js.map +1 -0
- package/dist/src/services/chatCompressionService.js +8 -1
- package/dist/src/services/chatCompressionService.js.map +1 -1
- package/dist/src/services/chatCompressionService.test.js +3 -0
- package/dist/src/services/chatCompressionService.test.js.map +1 -1
- package/dist/src/services/chatRecordingService.d.ts +21 -1
- package/dist/src/services/chatRecordingService.js +57 -2
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/chatRecordingService.test.js +43 -0
- package/dist/src/services/chatRecordingService.test.js.map +1 -1
- package/dist/src/services/contextManager.d.ts +5 -11
- package/dist/src/services/contextManager.js +20 -17
- package/dist/src/services/contextManager.js.map +1 -1
- package/dist/src/services/contextManager.test.js +40 -41
- package/dist/src/services/contextManager.test.js.map +1 -1
- package/dist/src/services/environmentSanitization.d.ts +15 -0
- package/dist/src/services/environmentSanitization.js +142 -0
- package/dist/src/services/environmentSanitization.js.map +1 -0
- package/dist/src/services/environmentSanitization.test.d.ts +6 -0
- package/dist/src/services/environmentSanitization.test.js +284 -0
- package/dist/src/services/environmentSanitization.test.js.map +1 -0
- package/dist/src/services/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 +15 -1
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/gitService.test.js +56 -2
- package/dist/src/services/gitService.test.js.map +1 -1
- package/dist/src/services/loopDetectionService.js +4 -3
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/loopDetectionService.test.js +14 -8
- package/dist/src/services/loopDetectionService.test.js.map +1 -1
- package/dist/src/services/modelConfig.golden.test.js +32 -0
- package/dist/src/services/modelConfig.golden.test.js.map +1 -1
- package/dist/src/services/modelConfig.integration.test.js +3 -3
- package/dist/src/services/modelConfig.integration.test.js.map +1 -1
- package/dist/src/services/modelConfigService.d.ts +41 -4
- package/dist/src/services/modelConfigService.js +135 -75
- package/dist/src/services/modelConfigService.js.map +1 -1
- package/dist/src/services/modelConfigService.test.js +226 -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.d.ts +2 -0
- package/dist/src/services/shellExecutionService.js +34 -72
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +114 -8
- 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/skills/skillLoader.d.ts +31 -0
- package/dist/src/skills/skillLoader.js +77 -0
- package/dist/src/skills/skillLoader.js.map +1 -0
- package/dist/src/skills/skillLoader.test.d.ts +6 -0
- package/dist/src/skills/skillLoader.test.js +75 -0
- package/dist/src/skills/skillLoader.test.js.map +1 -0
- package/dist/src/skills/skillManager.d.ts +69 -0
- package/dist/src/skills/skillManager.js +127 -0
- package/dist/src/skills/skillManager.js.map +1 -0
- package/dist/src/skills/skillManager.test.d.ts +6 -0
- package/dist/src/skills/skillManager.test.js +210 -0
- package/dist/src/skills/skillManager.test.js.map +1 -0
- package/dist/src/telemetry/activity-detector.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +19 -9
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +261 -164
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +223 -27
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +12 -3
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +26 -5
- 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 +4 -3
- package/dist/src/telemetry/loggers.js +351 -340
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.circular.js +1 -0
- package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +71 -15
- 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 +142 -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 +37 -12
- package/dist/src/telemetry/types.js +61 -20
- 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.d.ts +1 -0
- package/dist/src/test-utils/mock-message-bus.js +29 -0
- package/dist/src/test-utils/mock-message-bus.js.map +1 -1
- package/dist/src/test-utils/mock-tool.d.ts +5 -3
- package/dist/src/test-utils/mock-tool.js +11 -10
- package/dist/src/test-utils/mock-tool.js.map +1 -1
- package/dist/src/tools/activate-skill.d.ts +27 -0
- package/dist/src/tools/activate-skill.js +133 -0
- package/dist/src/tools/activate-skill.js.map +1 -0
- package/dist/src/tools/activate-skill.test.d.ts +6 -0
- package/dist/src/tools/activate-skill.test.js +113 -0
- package/dist/src/tools/activate-skill.test.js.map +1 -0
- package/dist/src/tools/confirmation-policy.test.d.ts +6 -0
- package/dist/src/tools/confirmation-policy.test.js +143 -0
- package/dist/src/tools/confirmation-policy.test.js.map +1 -0
- package/dist/src/tools/edit.d.ts +27 -5
- package/dist/src/tools/edit.js +460 -136
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +292 -526
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/get-internal-docs.d.ts +27 -0
- package/dist/src/tools/get-internal-docs.js +122 -0
- package/dist/src/tools/get-internal-docs.js.map +1 -0
- package/dist/src/tools/get-internal-docs.test.d.ts +6 -0
- package/dist/src/tools/get-internal-docs.test.js +57 -0
- package/dist/src/tools/get-internal-docs.test.js.map +1 -0
- package/dist/src/tools/glob.d.ts +2 -2
- package/dist/src/tools/glob.js +1 -1
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/glob.test.js +2 -1
- package/dist/src/tools/glob.test.js.map +1 -1
- package/dist/src/tools/grep.d.ts +2 -2
- package/dist/src/tools/grep.js +1 -1
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +5 -4
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/ls.d.ts +2 -2
- package/dist/src/tools/ls.js +2 -2
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/ls.test.js +2 -1
- package/dist/src/tools/ls.test.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.d.ts +2 -1
- package/dist/src/tools/mcp-client-manager.js +32 -9
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +41 -10
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +43 -6
- package/dist/src/tools/mcp-client.js +443 -176
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +664 -39
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +20 -5
- package/dist/src/tools/mcp-tool.js +21 -8
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +35 -5
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +3 -3
- package/dist/src/tools/memoryTool.js +3 -4
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +5 -2
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/message-bus-integration.test.js +10 -37
- package/dist/src/tools/message-bus-integration.test.js.map +1 -1
- package/dist/src/tools/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.d.ts +2 -2
- package/dist/src/tools/read-file.js +2 -2
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +3 -2
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/read-many-files.d.ts +2 -2
- package/dist/src/tools/read-many-files.js +7 -6
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +4 -3
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/ripGrep.d.ts +3 -2
- package/dist/src/tools/ripGrep.js +18 -7
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +60 -4
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +5 -7
- package/dist/src/tools/shell.js +35 -49
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +36 -59
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +6 -1
- package/dist/src/tools/tool-error.js +6 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +17 -0
- package/dist/src/tools/tool-names.js +59 -0
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tool-names.test.d.ts +6 -0
- package/dist/src/tools/tool-names.test.js +43 -0
- package/dist/src/tools/tool-names.test.js.map +1 -0
- package/dist/src/tools/tool-registry.d.ts +11 -7
- package/dist/src/tools/tool-registry.js +15 -10
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +16 -11
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +27 -6
- package/dist/src/tools/tools.js +44 -25
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/tools.test.js +3 -1
- package/dist/src/tools/tools.test.js.map +1 -1
- package/dist/src/tools/web-fetch.d.ts +2 -2
- package/dist/src/tools/web-fetch.js +21 -8
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-fetch.test.js +18 -19
- package/dist/src/tools/web-fetch.test.js.map +1 -1
- package/dist/src/tools/web-search.d.ts +2 -2
- package/dist/src/tools/web-search.js +5 -5
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/web-search.test.js +2 -1
- package/dist/src/tools/web-search.test.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +2 -2
- package/dist/src/tools/write-file.js +14 -6
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +49 -7
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/tools/write-todos.d.ts +2 -2
- package/dist/src/tools/write-todos.js +5 -4
- package/dist/src/tools/write-todos.js.map +1 -1
- package/dist/src/tools/write-todos.test.js +2 -1
- package/dist/src/tools/write-todos.test.js.map +1 -1
- package/dist/src/utils/apiConversionUtils.d.ts +12 -0
- package/dist/src/utils/apiConversionUtils.js +46 -0
- package/dist/src/utils/apiConversionUtils.js.map +1 -0
- package/dist/src/utils/apiConversionUtils.test.d.ts +6 -0
- package/dist/src/utils/apiConversionUtils.test.js +150 -0
- package/dist/src/utils/apiConversionUtils.test.js.map +1 -0
- package/dist/src/utils/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 +28 -0
- package/dist/src/utils/debugLogger.js.map +1 -1
- package/dist/src/utils/editCorrector.d.ts +3 -3
- package/dist/src/utils/editCorrector.js +27 -10
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +27 -23
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/editor.d.ts +10 -1
- package/dist/src/utils/editor.js +48 -19
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/editor.test.js +27 -4
- package/dist/src/utils/editor.test.js.map +1 -1
- package/dist/src/utils/environmentContext.d.ts +1 -0
- package/dist/src/utils/environmentContext.js +4 -0
- package/dist/src/utils/environmentContext.js.map +1 -1
- package/dist/src/utils/environmentContext.test.js +2 -0
- package/dist/src/utils/environmentContext.test.js.map +1 -1
- package/dist/src/utils/errorReporting.d.ts +1 -1
- package/dist/src/utils/errorReporting.js +13 -12
- package/dist/src/utils/errorReporting.js.map +1 -1
- package/dist/src/utils/errorReporting.test.js +17 -14
- package/dist/src/utils/errorReporting.test.js.map +1 -1
- package/dist/src/utils/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/events.d.ts +71 -19
- package/dist/src/utils/events.js +35 -9
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/events.test.js +25 -0
- package/dist/src/utils/events.test.js.map +1 -1
- package/dist/src/utils/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/fileDiffUtils.d.ts +18 -0
- package/dist/src/utils/fileDiffUtils.js +37 -0
- package/dist/src/utils/fileDiffUtils.js.map +1 -0
- package/dist/src/utils/fileDiffUtils.test.d.ts +6 -0
- package/dist/src/utils/fileDiffUtils.test.js +84 -0
- package/dist/src/utils/fileDiffUtils.test.js.map +1 -0
- package/dist/src/utils/fileUtils.d.ts +4 -0
- package/dist/src/utils/fileUtils.js +53 -0
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +127 -1
- 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/geminiIgnoreParser.d.ts +11 -0
- package/dist/src/utils/geminiIgnoreParser.js +20 -0
- package/dist/src/utils/geminiIgnoreParser.js.map +1 -1
- package/dist/src/utils/geminiIgnoreParser.test.js +48 -0
- package/dist/src/utils/geminiIgnoreParser.test.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.d.ts +3 -1
- package/dist/src/utils/generateContentResponseUtilities.js +106 -0
- package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
- package/dist/src/utils/generateContentResponseUtilities.test.js +279 -2
- package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
- package/dist/src/utils/getFolderStructure.js +7 -2
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/gitIgnoreParser.js +9 -10
- package/dist/src/utils/gitIgnoreParser.js.map +1 -1
- package/dist/src/utils/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/installationManager.test.js +11 -3
- package/dist/src/utils/installationManager.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +3 -4
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +12 -1
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.test.js +4 -0
- package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
- package/dist/src/utils/partUtils.js +1 -1
- package/dist/src/utils/partUtils.js.map +1 -1
- package/dist/src/utils/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/paths.d.ts +10 -0
- package/dist/src/utils/paths.js +20 -1
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/retry.d.ts +12 -0
- package/dist/src/utils/retry.js +70 -17
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +181 -21
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/shell-utils.d.ts +16 -47
- package/dist/src/utils/shell-utils.js +98 -194
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +99 -288
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/src/utils/summarizer.test.js +3 -2
- package/dist/src/utils/summarizer.test.js.map +1 -1
- package/dist/src/utils/terminal.d.ts +4 -0
- package/dist/src/utils/terminal.js +12 -0
- package/dist/src/utils/terminal.js.map +1 -1
- package/dist/src/utils/terminalSerializer.test.js +17 -0
- package/dist/src/utils/terminalSerializer.test.js.map +1 -1
- package/dist/src/utils/tokenCalculation.js +20 -5
- package/dist/src/utils/tokenCalculation.js.map +1 -1
- package/dist/src/utils/tokenCalculation.test.js +11 -2
- package/dist/src/utils/tokenCalculation.test.js.map +1 -1
- package/dist/src/utils/tool-utils.d.ts +9 -0
- package/dist/src/utils/tool-utils.js +29 -0
- package/dist/src/utils/tool-utils.js.map +1 -1
- package/dist/src/utils/tool-utils.test.js +17 -2
- package/dist/src/utils/tool-utils.test.js.map +1 -1
- package/dist/src/utils/userAccountManager.test.js +5 -5
- package/dist/src/utils/userAccountManager.test.js.map +1 -1
- package/dist/src/utils/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/src/utils/workspaceContext.test.js +1 -1
- package/dist/src/utils/workspaceContext.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -6
- package/dist/src/agents/executor.js.map +0 -1
- package/dist/src/agents/executor.test.js.map +0 -1
- package/dist/src/agents/invocation.js.map +0 -1
- package/dist/src/agents/invocation.test.js.map +0 -1
- package/dist/src/tools/smart-edit.d.ts +0 -78
- package/dist/src/tools/smart-edit.js +0 -717
- package/dist/src/tools/smart-edit.js.map +0 -1
- package/dist/src/tools/smart-edit.test.js +0 -592
- package/dist/src/tools/smart-edit.test.js.map +0 -1
- /package/dist/src/agents/{executor.test.d.ts → a2a-client-manager.test.d.ts} +0 -0
- /package/dist/src/agents/{invocation.test.d.ts → a2aUtils.test.d.ts} +0 -0
- /package/dist/src/{tools/smart-edit.test.d.ts → agents/agentLoader.test.d.ts} +0 -0
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { createHash } from 'node:crypto';
|
|
7
|
+
import * as os from 'node:os';
|
|
8
|
+
import si from 'systeminformation';
|
|
6
9
|
import { HttpsProxyAgent } from 'https-proxy-agent';
|
|
7
10
|
import { EventMetadataKey } from './event-metadata-key.js';
|
|
8
11
|
import { InstallationManager } from '../../utils/installationManager.js';
|
|
@@ -12,6 +15,7 @@ import { FixedDeque } from 'mnemonist';
|
|
|
12
15
|
import { GIT_COMMIT_INFO, CLI_VERSION } from '../../generated/git-commit.js';
|
|
13
16
|
import { IDE_DEFINITIONS, detectIdeFromEnv, isCloudShell, } from '../../ide/detect-ide.js';
|
|
14
17
|
import { debugLogger } from '../../utils/debugLogger.js';
|
|
18
|
+
import { getErrorMessage } from '../../utils/errors.js';
|
|
15
19
|
export var EventNames;
|
|
16
20
|
(function (EventNames) {
|
|
17
21
|
EventNames["START_SESSION"] = "start_session";
|
|
@@ -44,13 +48,14 @@ export var EventNames;
|
|
|
44
48
|
EventNames["TOOL_OUTPUT_TRUNCATED"] = "tool_output_truncated";
|
|
45
49
|
EventNames["MODEL_ROUTING"] = "model_routing";
|
|
46
50
|
EventNames["MODEL_SLASH_COMMAND"] = "model_slash_command";
|
|
47
|
-
EventNames["
|
|
48
|
-
EventNames["
|
|
51
|
+
EventNames["EDIT_STRATEGY"] = "edit_strategy";
|
|
52
|
+
EventNames["EDIT_CORRECTION"] = "edit_correction";
|
|
49
53
|
EventNames["AGENT_START"] = "agent_start";
|
|
50
54
|
EventNames["AGENT_FINISH"] = "agent_finish";
|
|
51
55
|
EventNames["RECOVERY_ATTEMPT"] = "recovery_attempt";
|
|
52
56
|
EventNames["WEB_FETCH_FALLBACK_ATTEMPT"] = "web_fetch_fallback_attempt";
|
|
53
57
|
EventNames["LLM_LOOP_CHECK"] = "llm_loop_check";
|
|
58
|
+
EventNames["HOOK_CALL"] = "hook_call";
|
|
54
59
|
})(EventNames || (EventNames = {}));
|
|
55
60
|
/**
|
|
56
61
|
* Determine the surface that the user is currently using. Surface is effectively the
|
|
@@ -84,6 +89,12 @@ function determineSurface() {
|
|
|
84
89
|
function determineGHWorkflowName() {
|
|
85
90
|
return process.env['GH_WORKFLOW_NAME'];
|
|
86
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Determines the GitHub repository name if the CLI is running in a GitHub Actions environment.
|
|
94
|
+
*/
|
|
95
|
+
function determineGHRepositoryName() {
|
|
96
|
+
return process.env['GITHUB_REPOSITORY'];
|
|
97
|
+
}
|
|
87
98
|
/**
|
|
88
99
|
* Clearcut URL to send logging events to.
|
|
89
100
|
*/
|
|
@@ -102,6 +113,29 @@ const MAX_EVENTS = 1000;
|
|
|
102
113
|
* Maximum events to retry after a failed clearcut flush
|
|
103
114
|
*/
|
|
104
115
|
const MAX_RETRY_EVENTS = 100;
|
|
116
|
+
const NO_GPU = 'NA';
|
|
117
|
+
let cachedGpuInfo;
|
|
118
|
+
async function refreshGpuInfo() {
|
|
119
|
+
try {
|
|
120
|
+
const graphics = await si.graphics();
|
|
121
|
+
if (graphics.controllers && graphics.controllers.length > 0) {
|
|
122
|
+
cachedGpuInfo = graphics.controllers.map((c) => c.model).join(', ');
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
cachedGpuInfo = NO_GPU;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
cachedGpuInfo = 'FAILED';
|
|
130
|
+
debugLogger.error('Failed to get GPU information for telemetry', getErrorMessage(error));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
async function getGpuInfo() {
|
|
134
|
+
if (!cachedGpuInfo) {
|
|
135
|
+
await refreshGpuInfo();
|
|
136
|
+
}
|
|
137
|
+
return cachedGpuInfo ?? NO_GPU;
|
|
138
|
+
}
|
|
105
139
|
// Singleton class for batch posting log events to Clearcut. When a new event comes in, the elapsed time
|
|
106
140
|
// is checked and events are flushed to Clearcut if at least a minute has passed since the last flush.
|
|
107
141
|
export class ClearcutLogger {
|
|
@@ -111,6 +145,7 @@ export class ClearcutLogger {
|
|
|
111
145
|
promptId = '';
|
|
112
146
|
installationManager;
|
|
113
147
|
userAccountManager;
|
|
148
|
+
hashedGHRepositoryName;
|
|
114
149
|
/**
|
|
115
150
|
* Queue of pending events that need to be flushed to the server. New events
|
|
116
151
|
* are added to this queue and then flushed on demand (via `flushToClearcut`)
|
|
@@ -135,6 +170,12 @@ export class ClearcutLogger {
|
|
|
135
170
|
this.promptId = config?.getSessionId() ?? '';
|
|
136
171
|
this.installationManager = new InstallationManager();
|
|
137
172
|
this.userAccountManager = new UserAccountManager();
|
|
173
|
+
const ghRepositoryName = determineGHRepositoryName();
|
|
174
|
+
if (ghRepositoryName) {
|
|
175
|
+
this.hashedGHRepositoryName = createHash('sha256')
|
|
176
|
+
.update(ghRepositoryName)
|
|
177
|
+
.digest('hex');
|
|
178
|
+
}
|
|
138
179
|
}
|
|
139
180
|
static getInstance(config) {
|
|
140
181
|
if (config === undefined || !config?.getUsageStatisticsEnabled())
|
|
@@ -149,18 +190,22 @@ export class ClearcutLogger {
|
|
|
149
190
|
// @ts-expect-error - ClearcutLogger is a singleton, but we need to clear it for tests.
|
|
150
191
|
ClearcutLogger.instance = undefined;
|
|
151
192
|
}
|
|
152
|
-
enqueueHelper(event) {
|
|
193
|
+
enqueueHelper(event, experimentIds) {
|
|
153
194
|
// Manually handle overflow for FixedDeque, which throws when full.
|
|
154
195
|
const wasAtCapacity = this.events.size >= MAX_EVENTS;
|
|
155
196
|
if (wasAtCapacity) {
|
|
156
197
|
this.events.shift(); // Evict oldest element to make space.
|
|
157
198
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
199
|
+
const logEventEntry = {
|
|
200
|
+
event_time_ms: Date.now(),
|
|
201
|
+
source_extension_json: safeJsonStringify(event),
|
|
202
|
+
};
|
|
203
|
+
if (experimentIds !== undefined) {
|
|
204
|
+
logEventEntry.exp = {
|
|
205
|
+
gws_experiment: experimentIds,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
this.events.push([logEventEntry]);
|
|
164
209
|
if (wasAtCapacity && this.config?.getDebugMode()) {
|
|
165
210
|
debugLogger.debug(`ClearcutLogger: Dropped old event to prevent memory leak (queue size: ${this.events.size})`);
|
|
166
211
|
}
|
|
@@ -171,29 +216,28 @@ export class ClearcutLogger {
|
|
|
171
216
|
}
|
|
172
217
|
catch (error) {
|
|
173
218
|
if (this.config?.getDebugMode()) {
|
|
174
|
-
|
|
219
|
+
debugLogger.warn('ClearcutLogger: Failed to enqueue log event.', error);
|
|
175
220
|
}
|
|
176
221
|
}
|
|
177
222
|
}
|
|
178
223
|
async enqueueLogEventAfterExperimentsLoadAsync(event) {
|
|
179
224
|
try {
|
|
225
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
180
226
|
this.config?.getExperimentsAsync().then((experiments) => {
|
|
181
227
|
if (experiments) {
|
|
182
228
|
const exp_id_data = [
|
|
183
229
|
{
|
|
184
|
-
|
|
230
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXPERIMENT_IDS,
|
|
185
231
|
value: experiments.experimentIds.toString() ?? 'NA',
|
|
186
232
|
},
|
|
187
233
|
];
|
|
188
234
|
event.event_metadata = [[...event.event_metadata[0], ...exp_id_data]];
|
|
189
235
|
}
|
|
190
|
-
this.enqueueHelper(event);
|
|
236
|
+
this.enqueueHelper(event, experiments?.experimentIds);
|
|
191
237
|
});
|
|
192
238
|
}
|
|
193
239
|
catch (error) {
|
|
194
|
-
|
|
195
|
-
console.error('ClearcutLogger: Failed to enqueue log event.', error);
|
|
196
|
-
}
|
|
240
|
+
debugLogger.warn('ClearcutLogger: Failed to enqueue log event.', error);
|
|
197
241
|
}
|
|
198
242
|
}
|
|
199
243
|
createBasicLogEvent(eventName, data = []) {
|
|
@@ -203,28 +247,34 @@ export class ClearcutLogger {
|
|
|
203
247
|
const baseMetadata = [
|
|
204
248
|
...data,
|
|
205
249
|
{
|
|
206
|
-
|
|
250
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_SURFACE,
|
|
207
251
|
value: surface,
|
|
208
252
|
},
|
|
209
253
|
{
|
|
210
|
-
|
|
254
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_VERSION,
|
|
211
255
|
value: CLI_VERSION,
|
|
212
256
|
},
|
|
213
257
|
{
|
|
214
|
-
|
|
258
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_GIT_COMMIT_HASH,
|
|
215
259
|
value: GIT_COMMIT_INFO,
|
|
216
260
|
},
|
|
217
261
|
{
|
|
218
|
-
|
|
262
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_OS,
|
|
219
263
|
value: process.platform,
|
|
220
264
|
},
|
|
221
265
|
];
|
|
222
266
|
if (ghWorkflowName) {
|
|
223
267
|
baseMetadata.push({
|
|
224
|
-
|
|
268
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_GH_WORKFLOW_NAME,
|
|
225
269
|
value: ghWorkflowName,
|
|
226
270
|
});
|
|
227
271
|
}
|
|
272
|
+
if (this.hashedGHRepositoryName) {
|
|
273
|
+
baseMetadata.push({
|
|
274
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_GH_REPOSITORY_NAME_HASH,
|
|
275
|
+
value: this.hashedGHRepositoryName,
|
|
276
|
+
});
|
|
277
|
+
}
|
|
228
278
|
const logEvent = {
|
|
229
279
|
console_type: 'GEMINI_CLI',
|
|
230
280
|
application: 102, // GEMINI_CLI
|
|
@@ -297,7 +347,7 @@ export class ClearcutLogger {
|
|
|
297
347
|
}
|
|
298
348
|
else {
|
|
299
349
|
if (this.config?.getDebugMode()) {
|
|
300
|
-
|
|
350
|
+
debugLogger.warn(`Error flushing log events: HTTP ${response.status}: ${response.statusText}`);
|
|
301
351
|
}
|
|
302
352
|
// Re-queue failed events for retry
|
|
303
353
|
this.requeueFailedEvents(eventsToSend);
|
|
@@ -305,7 +355,7 @@ export class ClearcutLogger {
|
|
|
305
355
|
}
|
|
306
356
|
catch (e) {
|
|
307
357
|
if (this.config?.getDebugMode()) {
|
|
308
|
-
|
|
358
|
+
debugLogger.warn('Error flushing log events:', e);
|
|
309
359
|
}
|
|
310
360
|
// Re-queue failed events for retry
|
|
311
361
|
this.requeueFailedEvents(eventsToSend);
|
|
@@ -323,86 +373,104 @@ export class ClearcutLogger {
|
|
|
323
373
|
}
|
|
324
374
|
return result;
|
|
325
375
|
}
|
|
326
|
-
logStartSessionEvent(event) {
|
|
376
|
+
async logStartSessionEvent(event) {
|
|
327
377
|
const data = [
|
|
328
378
|
{
|
|
329
|
-
|
|
379
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_MODEL,
|
|
330
380
|
value: event.model,
|
|
331
381
|
},
|
|
332
382
|
{
|
|
333
|
-
|
|
383
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_EMBEDDING_MODEL,
|
|
334
384
|
value: event.embedding_model,
|
|
335
385
|
},
|
|
336
386
|
{
|
|
337
|
-
|
|
387
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_SANDBOX,
|
|
338
388
|
value: event.sandbox_enabled.toString(),
|
|
339
389
|
},
|
|
340
390
|
{
|
|
341
|
-
|
|
391
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_CORE_TOOLS,
|
|
342
392
|
value: event.core_tools_enabled,
|
|
343
393
|
},
|
|
344
394
|
{
|
|
345
|
-
|
|
395
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_APPROVAL_MODE,
|
|
346
396
|
value: event.approval_mode,
|
|
347
397
|
},
|
|
348
398
|
{
|
|
349
|
-
|
|
399
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_API_KEY_ENABLED,
|
|
350
400
|
value: event.api_key_enabled.toString(),
|
|
351
401
|
},
|
|
352
402
|
{
|
|
353
|
-
|
|
403
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_VERTEX_API_ENABLED,
|
|
354
404
|
value: event.vertex_ai_enabled.toString(),
|
|
355
405
|
},
|
|
356
406
|
{
|
|
357
|
-
|
|
407
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_DEBUG_MODE_ENABLED,
|
|
358
408
|
value: event.debug_enabled.toString(),
|
|
359
409
|
},
|
|
360
410
|
{
|
|
361
|
-
|
|
411
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_VERTEX_API_ENABLED,
|
|
362
412
|
value: event.vertex_ai_enabled.toString(),
|
|
363
413
|
},
|
|
364
414
|
{
|
|
365
|
-
|
|
415
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_MCP_SERVERS,
|
|
366
416
|
value: event.mcp_servers,
|
|
367
417
|
},
|
|
368
418
|
{
|
|
369
|
-
|
|
419
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_VERTEX_API_ENABLED,
|
|
370
420
|
value: event.vertex_ai_enabled.toString(),
|
|
371
421
|
},
|
|
372
422
|
{
|
|
373
|
-
|
|
423
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_TELEMETRY_ENABLED,
|
|
374
424
|
value: event.telemetry_enabled.toString(),
|
|
375
425
|
},
|
|
376
426
|
{
|
|
377
|
-
|
|
427
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_TELEMETRY_LOG_USER_PROMPTS_ENABLED,
|
|
378
428
|
value: event.telemetry_log_user_prompts_enabled.toString(),
|
|
379
429
|
},
|
|
380
430
|
{
|
|
381
|
-
|
|
431
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_MCP_SERVERS_COUNT,
|
|
382
432
|
value: event.mcp_servers_count
|
|
383
433
|
? event.mcp_servers_count.toString()
|
|
384
434
|
: '',
|
|
385
435
|
},
|
|
386
436
|
{
|
|
387
|
-
|
|
437
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_MCP_TOOLS_COUNT,
|
|
388
438
|
value: event.mcp_tools_count?.toString() ?? '',
|
|
389
439
|
},
|
|
390
440
|
{
|
|
391
|
-
|
|
441
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_MCP_TOOLS,
|
|
392
442
|
value: event.mcp_tools ? event.mcp_tools : '',
|
|
393
443
|
},
|
|
394
444
|
{
|
|
395
|
-
|
|
445
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_EXTENSIONS_COUNT,
|
|
396
446
|
value: event.extensions_count.toString(),
|
|
397
447
|
},
|
|
398
448
|
// We deliberately do not log the names of extensions here, to be safe.
|
|
399
449
|
{
|
|
400
|
-
|
|
450
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_EXTENSION_IDS,
|
|
401
451
|
value: event.extension_ids.toString(),
|
|
402
452
|
},
|
|
403
453
|
];
|
|
454
|
+
// Add hardware information only to the start session event
|
|
455
|
+
const cpus = os.cpus();
|
|
456
|
+
data.push({
|
|
457
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_CPU_INFO,
|
|
458
|
+
value: cpus[0].model,
|
|
459
|
+
}, {
|
|
460
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_CPU_CORES,
|
|
461
|
+
value: cpus.length.toString(),
|
|
462
|
+
}, {
|
|
463
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_RAM_TOTAL_GB,
|
|
464
|
+
value: (os.totalmem() / 1024 ** 3).toFixed(2).toString(),
|
|
465
|
+
});
|
|
466
|
+
const gpuInfo = await getGpuInfo();
|
|
467
|
+
data.push({
|
|
468
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_GPU_INFO,
|
|
469
|
+
value: gpuInfo,
|
|
470
|
+
});
|
|
404
471
|
this.sessionData = data;
|
|
405
472
|
// Flush after experiments finish loading from CCPA server
|
|
473
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
406
474
|
this.enqueueLogEventAfterExperimentsLoadAsync(this.createLogEvent(EventNames.START_SESSION, data)).then(() => {
|
|
407
475
|
this.flushToClearcut().catch((error) => {
|
|
408
476
|
debugLogger.debug('Error flushing to Clearcut:', error);
|
|
@@ -413,7 +481,7 @@ export class ClearcutLogger {
|
|
|
413
481
|
this.promptId = event.prompt_id;
|
|
414
482
|
const data = [
|
|
415
483
|
{
|
|
416
|
-
|
|
484
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_USER_PROMPT_LENGTH,
|
|
417
485
|
value: JSON.stringify(event.prompt_length),
|
|
418
486
|
},
|
|
419
487
|
];
|
|
@@ -423,35 +491,35 @@ export class ClearcutLogger {
|
|
|
423
491
|
logToolCallEvent(event) {
|
|
424
492
|
const data = [
|
|
425
493
|
{
|
|
426
|
-
|
|
494
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_NAME,
|
|
427
495
|
value: JSON.stringify(event.function_name),
|
|
428
496
|
},
|
|
429
497
|
{
|
|
430
|
-
|
|
498
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_DECISION,
|
|
431
499
|
value: JSON.stringify(event.decision),
|
|
432
500
|
},
|
|
433
501
|
{
|
|
434
|
-
|
|
502
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_SUCCESS,
|
|
435
503
|
value: JSON.stringify(event.success),
|
|
436
504
|
},
|
|
437
505
|
{
|
|
438
|
-
|
|
506
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_DURATION_MS,
|
|
439
507
|
value: JSON.stringify(event.duration_ms),
|
|
440
508
|
},
|
|
441
509
|
{
|
|
442
|
-
|
|
510
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_ERROR_TYPE,
|
|
443
511
|
value: JSON.stringify(event.error_type),
|
|
444
512
|
},
|
|
445
513
|
{
|
|
446
|
-
|
|
514
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_TYPE,
|
|
447
515
|
value: JSON.stringify(event.tool_type),
|
|
448
516
|
},
|
|
449
517
|
{
|
|
450
|
-
|
|
518
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_CONTENT_LENGTH,
|
|
451
519
|
value: JSON.stringify(event.content_length),
|
|
452
520
|
},
|
|
453
521
|
{
|
|
454
|
-
|
|
522
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_MCP_SERVER_NAME,
|
|
455
523
|
value: JSON.stringify(event.mcp_server_name),
|
|
456
524
|
},
|
|
457
525
|
];
|
|
@@ -466,10 +534,10 @@ export class ClearcutLogger {
|
|
|
466
534
|
user_added_chars: EventMetadataKey.CELL_CLI_USER_ADDED_CHARS,
|
|
467
535
|
user_removed_chars: EventMetadataKey.CELL_CLI_USER_REMOVED_CHARS,
|
|
468
536
|
};
|
|
469
|
-
for (const [key,
|
|
537
|
+
for (const [key, cell_cli_key] of Object.entries(metadataMapping)) {
|
|
470
538
|
if (event.metadata[key] !== undefined) {
|
|
471
539
|
data.push({
|
|
472
|
-
|
|
540
|
+
cell_cli_key,
|
|
473
541
|
value: JSON.stringify(event.metadata[key]),
|
|
474
542
|
});
|
|
475
543
|
}
|
|
@@ -477,7 +545,7 @@ export class ClearcutLogger {
|
|
|
477
545
|
}
|
|
478
546
|
if (event.extension_id) {
|
|
479
547
|
data.push({
|
|
480
|
-
|
|
548
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_ID,
|
|
481
549
|
value: event.extension_id,
|
|
482
550
|
});
|
|
483
551
|
}
|
|
@@ -488,29 +556,29 @@ export class ClearcutLogger {
|
|
|
488
556
|
logFileOperationEvent(event) {
|
|
489
557
|
const data = [
|
|
490
558
|
{
|
|
491
|
-
|
|
559
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_NAME,
|
|
492
560
|
value: JSON.stringify(event.tool_name),
|
|
493
561
|
},
|
|
494
562
|
{
|
|
495
|
-
|
|
563
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_FILE_OPERATION_TYPE,
|
|
496
564
|
value: JSON.stringify(event.operation),
|
|
497
565
|
},
|
|
498
566
|
{
|
|
499
|
-
|
|
567
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_FILE_OPERATION_LINES,
|
|
500
568
|
value: JSON.stringify(event.lines),
|
|
501
569
|
},
|
|
502
570
|
{
|
|
503
|
-
|
|
571
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_FILE_OPERATION_MIMETYPE,
|
|
504
572
|
value: JSON.stringify(event.mimetype),
|
|
505
573
|
},
|
|
506
574
|
{
|
|
507
|
-
|
|
575
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_FILE_OPERATION_EXTENSION,
|
|
508
576
|
value: JSON.stringify(event.extension),
|
|
509
577
|
},
|
|
510
578
|
];
|
|
511
579
|
if (event.programming_language) {
|
|
512
580
|
data.push({
|
|
513
|
-
|
|
581
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_PROGRAMMING_LANGUAGE,
|
|
514
582
|
value: event.programming_language,
|
|
515
583
|
});
|
|
516
584
|
}
|
|
@@ -521,7 +589,7 @@ export class ClearcutLogger {
|
|
|
521
589
|
logApiRequestEvent(event) {
|
|
522
590
|
const data = [
|
|
523
591
|
{
|
|
524
|
-
|
|
592
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_REQUEST_MODEL,
|
|
525
593
|
value: JSON.stringify(event.model),
|
|
526
594
|
},
|
|
527
595
|
];
|
|
@@ -531,35 +599,35 @@ export class ClearcutLogger {
|
|
|
531
599
|
logApiResponseEvent(event) {
|
|
532
600
|
const data = [
|
|
533
601
|
{
|
|
534
|
-
|
|
602
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_MODEL,
|
|
535
603
|
value: JSON.stringify(event.model),
|
|
536
604
|
},
|
|
537
605
|
{
|
|
538
|
-
|
|
606
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_STATUS_CODE,
|
|
539
607
|
value: JSON.stringify(event.status_code),
|
|
540
608
|
},
|
|
541
609
|
{
|
|
542
|
-
|
|
610
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_DURATION_MS,
|
|
543
611
|
value: JSON.stringify(event.duration_ms),
|
|
544
612
|
},
|
|
545
613
|
{
|
|
546
|
-
|
|
614
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_INPUT_TOKEN_COUNT,
|
|
547
615
|
value: JSON.stringify(event.usage.input_token_count),
|
|
548
616
|
},
|
|
549
617
|
{
|
|
550
|
-
|
|
618
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_OUTPUT_TOKEN_COUNT,
|
|
551
619
|
value: JSON.stringify(event.usage.output_token_count),
|
|
552
620
|
},
|
|
553
621
|
{
|
|
554
|
-
|
|
622
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_CACHED_TOKEN_COUNT,
|
|
555
623
|
value: JSON.stringify(event.usage.cached_content_token_count),
|
|
556
624
|
},
|
|
557
625
|
{
|
|
558
|
-
|
|
626
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_THINKING_TOKEN_COUNT,
|
|
559
627
|
value: JSON.stringify(event.usage.thoughts_token_count),
|
|
560
628
|
},
|
|
561
629
|
{
|
|
562
|
-
|
|
630
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_TOOL_TOKEN_COUNT,
|
|
563
631
|
value: JSON.stringify(event.usage.tool_token_count),
|
|
564
632
|
},
|
|
565
633
|
];
|
|
@@ -569,19 +637,19 @@ export class ClearcutLogger {
|
|
|
569
637
|
logApiErrorEvent(event) {
|
|
570
638
|
const data = [
|
|
571
639
|
{
|
|
572
|
-
|
|
640
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_ERROR_MODEL,
|
|
573
641
|
value: JSON.stringify(event.model),
|
|
574
642
|
},
|
|
575
643
|
{
|
|
576
|
-
|
|
644
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_ERROR_TYPE,
|
|
577
645
|
value: JSON.stringify(event.error_type),
|
|
578
646
|
},
|
|
579
647
|
{
|
|
580
|
-
|
|
648
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_ERROR_STATUS_CODE,
|
|
581
649
|
value: JSON.stringify(event.status_code),
|
|
582
650
|
},
|
|
583
651
|
{
|
|
584
|
-
|
|
652
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_ERROR_DURATION_MS,
|
|
585
653
|
value: JSON.stringify(event.duration_ms),
|
|
586
654
|
},
|
|
587
655
|
];
|
|
@@ -591,11 +659,11 @@ export class ClearcutLogger {
|
|
|
591
659
|
logChatCompressionEvent(event) {
|
|
592
660
|
const data = [
|
|
593
661
|
{
|
|
594
|
-
|
|
662
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_COMPRESSION_TOKENS_BEFORE,
|
|
595
663
|
value: `${event.tokens_before}`,
|
|
596
664
|
},
|
|
597
665
|
{
|
|
598
|
-
|
|
666
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_COMPRESSION_TOKENS_AFTER,
|
|
599
667
|
value: `${event.tokens_after}`,
|
|
600
668
|
},
|
|
601
669
|
];
|
|
@@ -616,13 +684,13 @@ export class ClearcutLogger {
|
|
|
616
684
|
logLoopDetectedEvent(event) {
|
|
617
685
|
const data = [
|
|
618
686
|
{
|
|
619
|
-
|
|
687
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_LOOP_DETECTED_TYPE,
|
|
620
688
|
value: JSON.stringify(event.loop_type),
|
|
621
689
|
},
|
|
622
690
|
];
|
|
623
691
|
if (event.confirmed_by_model) {
|
|
624
692
|
data.push({
|
|
625
|
-
|
|
693
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_LOOP_DETECTED_CONFIRMED_BY_MODEL,
|
|
626
694
|
value: event.confirmed_by_model,
|
|
627
695
|
});
|
|
628
696
|
}
|
|
@@ -637,11 +705,11 @@ export class ClearcutLogger {
|
|
|
637
705
|
logNextSpeakerCheck(event) {
|
|
638
706
|
const data = [
|
|
639
707
|
{
|
|
640
|
-
|
|
708
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_RESPONSE_FINISH_REASON,
|
|
641
709
|
value: JSON.stringify(event.finish_reason),
|
|
642
710
|
},
|
|
643
711
|
{
|
|
644
|
-
|
|
712
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_NEXT_SPEAKER_CHECK_RESULT,
|
|
645
713
|
value: JSON.stringify(event.result),
|
|
646
714
|
},
|
|
647
715
|
];
|
|
@@ -651,25 +719,25 @@ export class ClearcutLogger {
|
|
|
651
719
|
logSlashCommandEvent(event) {
|
|
652
720
|
const data = [
|
|
653
721
|
{
|
|
654
|
-
|
|
722
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_SLASH_COMMAND_NAME,
|
|
655
723
|
value: JSON.stringify(event.command),
|
|
656
724
|
},
|
|
657
725
|
];
|
|
658
726
|
if (event.subcommand) {
|
|
659
727
|
data.push({
|
|
660
|
-
|
|
728
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_SLASH_COMMAND_SUBCOMMAND,
|
|
661
729
|
value: JSON.stringify(event.subcommand),
|
|
662
730
|
});
|
|
663
731
|
}
|
|
664
732
|
if (event.status) {
|
|
665
733
|
data.push({
|
|
666
|
-
|
|
734
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_SLASH_COMMAND_STATUS,
|
|
667
735
|
value: JSON.stringify(event.status),
|
|
668
736
|
});
|
|
669
737
|
}
|
|
670
738
|
if (event.extension_id) {
|
|
671
739
|
data.push({
|
|
672
|
-
|
|
740
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_ID,
|
|
673
741
|
value: event.extension_id,
|
|
674
742
|
});
|
|
675
743
|
}
|
|
@@ -679,7 +747,7 @@ export class ClearcutLogger {
|
|
|
679
747
|
logMalformedJsonResponseEvent(event) {
|
|
680
748
|
const data = [
|
|
681
749
|
{
|
|
682
|
-
|
|
750
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_MALFORMED_JSON_RESPONSE_MODEL,
|
|
683
751
|
value: JSON.stringify(event.model),
|
|
684
752
|
},
|
|
685
753
|
];
|
|
@@ -689,11 +757,12 @@ export class ClearcutLogger {
|
|
|
689
757
|
logIdeConnectionEvent(event) {
|
|
690
758
|
const data = [
|
|
691
759
|
{
|
|
692
|
-
|
|
760
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_IDE_CONNECTION_TYPE,
|
|
693
761
|
value: JSON.stringify(event.connection_type),
|
|
694
762
|
},
|
|
695
763
|
];
|
|
696
764
|
// Flush after experiments finish loading from CCPA server
|
|
765
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
697
766
|
this.enqueueLogEventAfterExperimentsLoadAsync(this.createLogEvent(EventNames.START_SESSION, data)).then(() => {
|
|
698
767
|
this.flushToClearcut().catch((error) => {
|
|
699
768
|
debugLogger.debug('Error flushing to Clearcut:', error);
|
|
@@ -703,15 +772,15 @@ export class ClearcutLogger {
|
|
|
703
772
|
logConversationFinishedEvent(event) {
|
|
704
773
|
const data = [
|
|
705
774
|
{
|
|
706
|
-
|
|
775
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_SESSION_ID,
|
|
707
776
|
value: this.config?.getSessionId() ?? '',
|
|
708
777
|
},
|
|
709
778
|
{
|
|
710
|
-
|
|
779
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_CONVERSATION_TURN_COUNT,
|
|
711
780
|
value: JSON.stringify(event.turnCount),
|
|
712
781
|
},
|
|
713
782
|
{
|
|
714
|
-
|
|
783
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_APPROVAL_MODE,
|
|
715
784
|
value: event.approvalMode,
|
|
716
785
|
},
|
|
717
786
|
];
|
|
@@ -729,7 +798,7 @@ export class ClearcutLogger {
|
|
|
729
798
|
const data = [];
|
|
730
799
|
if (event.error_message) {
|
|
731
800
|
data.push({
|
|
732
|
-
|
|
801
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_INVALID_CHUNK_ERROR_MESSAGE,
|
|
733
802
|
value: event.error_message,
|
|
734
803
|
});
|
|
735
804
|
}
|
|
@@ -739,19 +808,19 @@ export class ClearcutLogger {
|
|
|
739
808
|
logContentRetryEvent(event) {
|
|
740
809
|
const data = [
|
|
741
810
|
{
|
|
742
|
-
|
|
811
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_CONTENT_RETRY_ATTEMPT_NUMBER,
|
|
743
812
|
value: String(event.attempt_number),
|
|
744
813
|
},
|
|
745
814
|
{
|
|
746
|
-
|
|
815
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_CONTENT_RETRY_ERROR_TYPE,
|
|
747
816
|
value: event.error_type,
|
|
748
817
|
},
|
|
749
818
|
{
|
|
750
|
-
|
|
819
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_CONTENT_RETRY_DELAY_MS,
|
|
751
820
|
value: String(event.retry_delay_ms),
|
|
752
821
|
},
|
|
753
822
|
{
|
|
754
|
-
|
|
823
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_REQUEST_MODEL,
|
|
755
824
|
value: event.model,
|
|
756
825
|
},
|
|
757
826
|
];
|
|
@@ -761,21 +830,21 @@ export class ClearcutLogger {
|
|
|
761
830
|
logContentRetryFailureEvent(event) {
|
|
762
831
|
const data = [
|
|
763
832
|
{
|
|
764
|
-
|
|
833
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_CONTENT_RETRY_FAILURE_TOTAL_ATTEMPTS,
|
|
765
834
|
value: String(event.total_attempts),
|
|
766
835
|
},
|
|
767
836
|
{
|
|
768
|
-
|
|
837
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_CONTENT_RETRY_FAILURE_FINAL_ERROR_TYPE,
|
|
769
838
|
value: event.final_error_type,
|
|
770
839
|
},
|
|
771
840
|
{
|
|
772
|
-
|
|
841
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_API_REQUEST_MODEL,
|
|
773
842
|
value: event.model,
|
|
774
843
|
},
|
|
775
844
|
];
|
|
776
845
|
if (event.total_duration_ms) {
|
|
777
846
|
data.push({
|
|
778
|
-
|
|
847
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_CONTENT_RETRY_FAILURE_TOTAL_DURATION_MS,
|
|
779
848
|
value: String(event.total_duration_ms),
|
|
780
849
|
});
|
|
781
850
|
}
|
|
@@ -785,23 +854,23 @@ export class ClearcutLogger {
|
|
|
785
854
|
async logExtensionInstallEvent(event) {
|
|
786
855
|
const data = [
|
|
787
856
|
{
|
|
788
|
-
|
|
789
|
-
value: event.
|
|
857
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_NAME,
|
|
858
|
+
value: event.hashed_extension_name,
|
|
790
859
|
},
|
|
791
860
|
{
|
|
792
|
-
|
|
861
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_ID,
|
|
793
862
|
value: event.extension_id,
|
|
794
863
|
},
|
|
795
864
|
{
|
|
796
|
-
|
|
865
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_VERSION,
|
|
797
866
|
value: event.extension_version,
|
|
798
867
|
},
|
|
799
868
|
{
|
|
800
|
-
|
|
869
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_SOURCE,
|
|
801
870
|
value: event.extension_source,
|
|
802
871
|
},
|
|
803
872
|
{
|
|
804
|
-
|
|
873
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_INSTALL_STATUS,
|
|
805
874
|
value: event.status,
|
|
806
875
|
},
|
|
807
876
|
];
|
|
@@ -813,15 +882,15 @@ export class ClearcutLogger {
|
|
|
813
882
|
async logExtensionUninstallEvent(event) {
|
|
814
883
|
const data = [
|
|
815
884
|
{
|
|
816
|
-
|
|
817
|
-
value: event.
|
|
885
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_NAME,
|
|
886
|
+
value: event.hashed_extension_name,
|
|
818
887
|
},
|
|
819
888
|
{
|
|
820
|
-
|
|
889
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_ID,
|
|
821
890
|
value: event.extension_id,
|
|
822
891
|
},
|
|
823
892
|
{
|
|
824
|
-
|
|
893
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_UNINSTALL_STATUS,
|
|
825
894
|
value: event.status,
|
|
826
895
|
},
|
|
827
896
|
];
|
|
@@ -833,27 +902,27 @@ export class ClearcutLogger {
|
|
|
833
902
|
async logExtensionUpdateEvent(event) {
|
|
834
903
|
const data = [
|
|
835
904
|
{
|
|
836
|
-
|
|
837
|
-
value: event.
|
|
905
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_NAME,
|
|
906
|
+
value: event.hashed_extension_name,
|
|
838
907
|
},
|
|
839
908
|
{
|
|
840
|
-
|
|
909
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_ID,
|
|
841
910
|
value: event.extension_id,
|
|
842
911
|
},
|
|
843
912
|
{
|
|
844
|
-
|
|
913
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_VERSION,
|
|
845
914
|
value: event.extension_version,
|
|
846
915
|
},
|
|
847
916
|
{
|
|
848
|
-
|
|
917
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_PREVIOUS_VERSION,
|
|
849
918
|
value: event.extension_previous_version,
|
|
850
919
|
},
|
|
851
920
|
{
|
|
852
|
-
|
|
921
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_SOURCE,
|
|
853
922
|
value: event.extension_source,
|
|
854
923
|
},
|
|
855
924
|
{
|
|
856
|
-
|
|
925
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_UPDATE_STATUS,
|
|
857
926
|
value: event.status,
|
|
858
927
|
},
|
|
859
928
|
];
|
|
@@ -865,23 +934,23 @@ export class ClearcutLogger {
|
|
|
865
934
|
logToolOutputTruncatedEvent(event) {
|
|
866
935
|
const data = [
|
|
867
936
|
{
|
|
868
|
-
|
|
937
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_NAME,
|
|
869
938
|
value: JSON.stringify(event.tool_name),
|
|
870
939
|
},
|
|
871
940
|
{
|
|
872
|
-
|
|
941
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_OUTPUT_TRUNCATED_ORIGINAL_LENGTH,
|
|
873
942
|
value: JSON.stringify(event.original_content_length),
|
|
874
943
|
},
|
|
875
944
|
{
|
|
876
|
-
|
|
945
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_OUTPUT_TRUNCATED_TRUNCATED_LENGTH,
|
|
877
946
|
value: JSON.stringify(event.truncated_content_length),
|
|
878
947
|
},
|
|
879
948
|
{
|
|
880
|
-
|
|
949
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_OUTPUT_TRUNCATED_THRESHOLD,
|
|
881
950
|
value: JSON.stringify(event.threshold),
|
|
882
951
|
},
|
|
883
952
|
{
|
|
884
|
-
|
|
953
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_TOOL_OUTPUT_TRUNCATED_LINES,
|
|
885
954
|
value: JSON.stringify(event.lines),
|
|
886
955
|
},
|
|
887
956
|
];
|
|
@@ -891,25 +960,25 @@ export class ClearcutLogger {
|
|
|
891
960
|
logModelRoutingEvent(event) {
|
|
892
961
|
const data = [
|
|
893
962
|
{
|
|
894
|
-
|
|
963
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_ROUTING_DECISION,
|
|
895
964
|
value: event.decision_model,
|
|
896
965
|
},
|
|
897
966
|
{
|
|
898
|
-
|
|
967
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_ROUTING_DECISION_SOURCE,
|
|
899
968
|
value: event.decision_source,
|
|
900
969
|
},
|
|
901
970
|
{
|
|
902
|
-
|
|
971
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_ROUTING_LATENCY_MS,
|
|
903
972
|
value: event.routing_latency_ms.toString(),
|
|
904
973
|
},
|
|
905
974
|
{
|
|
906
|
-
|
|
975
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_ROUTING_FAILURE,
|
|
907
976
|
value: event.failed.toString(),
|
|
908
977
|
},
|
|
909
978
|
];
|
|
910
979
|
if (event.error_message) {
|
|
911
980
|
data.push({
|
|
912
|
-
|
|
981
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_ROUTING_FAILURE_REASON,
|
|
913
982
|
value: event.error_message,
|
|
914
983
|
});
|
|
915
984
|
}
|
|
@@ -919,15 +988,15 @@ export class ClearcutLogger {
|
|
|
919
988
|
async logExtensionEnableEvent(event) {
|
|
920
989
|
const data = [
|
|
921
990
|
{
|
|
922
|
-
|
|
923
|
-
value: event.
|
|
991
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_NAME,
|
|
992
|
+
value: event.hashed_extension_name,
|
|
924
993
|
},
|
|
925
994
|
{
|
|
926
|
-
|
|
995
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_ID,
|
|
927
996
|
value: event.extension_id,
|
|
928
997
|
},
|
|
929
998
|
{
|
|
930
|
-
|
|
999
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_ENABLE_SETTING_SCOPE,
|
|
931
1000
|
value: event.setting_scope,
|
|
932
1001
|
},
|
|
933
1002
|
];
|
|
@@ -939,7 +1008,7 @@ export class ClearcutLogger {
|
|
|
939
1008
|
logModelSlashCommandEvent(event) {
|
|
940
1009
|
const data = [
|
|
941
1010
|
{
|
|
942
|
-
|
|
1011
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_MODEL_SLASH_COMMAND,
|
|
943
1012
|
value: event.model_name,
|
|
944
1013
|
},
|
|
945
1014
|
];
|
|
@@ -949,15 +1018,15 @@ export class ClearcutLogger {
|
|
|
949
1018
|
async logExtensionDisableEvent(event) {
|
|
950
1019
|
const data = [
|
|
951
1020
|
{
|
|
952
|
-
|
|
953
|
-
value: event.
|
|
1021
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_NAME,
|
|
1022
|
+
value: event.hashed_extension_name,
|
|
954
1023
|
},
|
|
955
1024
|
{
|
|
956
|
-
|
|
1025
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_ID,
|
|
957
1026
|
value: event.extension_id,
|
|
958
1027
|
},
|
|
959
1028
|
{
|
|
960
|
-
|
|
1029
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_DISABLE_SETTING_SCOPE,
|
|
961
1030
|
value: event.setting_scope,
|
|
962
1031
|
},
|
|
963
1032
|
];
|
|
@@ -966,34 +1035,34 @@ export class ClearcutLogger {
|
|
|
966
1035
|
debugLogger.debug('Error flushing to Clearcut:', error);
|
|
967
1036
|
});
|
|
968
1037
|
}
|
|
969
|
-
|
|
1038
|
+
logEditStrategyEvent(event) {
|
|
970
1039
|
const data = [
|
|
971
1040
|
{
|
|
972
|
-
|
|
1041
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EDIT_STRATEGY,
|
|
973
1042
|
value: event.strategy,
|
|
974
1043
|
},
|
|
975
1044
|
];
|
|
976
|
-
this.enqueueLogEvent(this.createLogEvent(EventNames.
|
|
1045
|
+
this.enqueueLogEvent(this.createLogEvent(EventNames.EDIT_STRATEGY, data));
|
|
977
1046
|
this.flushIfNeeded();
|
|
978
1047
|
}
|
|
979
|
-
|
|
1048
|
+
logEditCorrectionEvent(event) {
|
|
980
1049
|
const data = [
|
|
981
1050
|
{
|
|
982
|
-
|
|
1051
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EDIT_CORRECTION,
|
|
983
1052
|
value: event.correction,
|
|
984
1053
|
},
|
|
985
1054
|
];
|
|
986
|
-
this.enqueueLogEvent(this.createLogEvent(EventNames.
|
|
1055
|
+
this.enqueueLogEvent(this.createLogEvent(EventNames.EDIT_CORRECTION, data));
|
|
987
1056
|
this.flushIfNeeded();
|
|
988
1057
|
}
|
|
989
1058
|
logAgentStartEvent(event) {
|
|
990
1059
|
const data = [
|
|
991
1060
|
{
|
|
992
|
-
|
|
1061
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_ID,
|
|
993
1062
|
value: event.agent_id,
|
|
994
1063
|
},
|
|
995
1064
|
{
|
|
996
|
-
|
|
1065
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_NAME,
|
|
997
1066
|
value: event.agent_name,
|
|
998
1067
|
},
|
|
999
1068
|
];
|
|
@@ -1003,23 +1072,23 @@ export class ClearcutLogger {
|
|
|
1003
1072
|
logAgentFinishEvent(event) {
|
|
1004
1073
|
const data = [
|
|
1005
1074
|
{
|
|
1006
|
-
|
|
1075
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_ID,
|
|
1007
1076
|
value: event.agent_id,
|
|
1008
1077
|
},
|
|
1009
1078
|
{
|
|
1010
|
-
|
|
1079
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_NAME,
|
|
1011
1080
|
value: event.agent_name,
|
|
1012
1081
|
},
|
|
1013
1082
|
{
|
|
1014
|
-
|
|
1083
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_DURATION_MS,
|
|
1015
1084
|
value: event.duration_ms.toString(),
|
|
1016
1085
|
},
|
|
1017
1086
|
{
|
|
1018
|
-
|
|
1087
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_TURN_COUNT,
|
|
1019
1088
|
value: event.turn_count.toString(),
|
|
1020
1089
|
},
|
|
1021
1090
|
{
|
|
1022
|
-
|
|
1091
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_TERMINATE_REASON,
|
|
1023
1092
|
value: event.terminate_reason,
|
|
1024
1093
|
},
|
|
1025
1094
|
];
|
|
@@ -1029,27 +1098,27 @@ export class ClearcutLogger {
|
|
|
1029
1098
|
logRecoveryAttemptEvent(event) {
|
|
1030
1099
|
const data = [
|
|
1031
1100
|
{
|
|
1032
|
-
|
|
1101
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_ID,
|
|
1033
1102
|
value: event.agent_id,
|
|
1034
1103
|
},
|
|
1035
1104
|
{
|
|
1036
|
-
|
|
1105
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_NAME,
|
|
1037
1106
|
value: event.agent_name,
|
|
1038
1107
|
},
|
|
1039
1108
|
{
|
|
1040
|
-
|
|
1109
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_RECOVERY_REASON,
|
|
1041
1110
|
value: event.reason,
|
|
1042
1111
|
},
|
|
1043
1112
|
{
|
|
1044
|
-
|
|
1113
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_RECOVERY_DURATION_MS,
|
|
1045
1114
|
value: event.duration_ms.toString(),
|
|
1046
1115
|
},
|
|
1047
1116
|
{
|
|
1048
|
-
|
|
1117
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_RECOVERY_SUCCESS,
|
|
1049
1118
|
value: event.success.toString(),
|
|
1050
1119
|
},
|
|
1051
1120
|
{
|
|
1052
|
-
|
|
1121
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AGENT_TURN_COUNT,
|
|
1053
1122
|
value: event.turn_count.toString(),
|
|
1054
1123
|
},
|
|
1055
1124
|
];
|
|
@@ -1059,7 +1128,7 @@ export class ClearcutLogger {
|
|
|
1059
1128
|
logWebFetchFallbackAttemptEvent(event) {
|
|
1060
1129
|
const data = [
|
|
1061
1130
|
{
|
|
1062
|
-
|
|
1131
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_WEB_FETCH_FALLBACK_REASON,
|
|
1063
1132
|
value: event.reason,
|
|
1064
1133
|
},
|
|
1065
1134
|
];
|
|
@@ -1069,25 +1138,49 @@ export class ClearcutLogger {
|
|
|
1069
1138
|
logLlmLoopCheckEvent(event) {
|
|
1070
1139
|
const data = [
|
|
1071
1140
|
{
|
|
1072
|
-
|
|
1141
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_PROMPT_ID,
|
|
1073
1142
|
value: event.prompt_id,
|
|
1074
1143
|
},
|
|
1075
1144
|
{
|
|
1076
|
-
|
|
1145
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_LLM_LOOP_CHECK_FLASH_CONFIDENCE,
|
|
1077
1146
|
value: event.flash_confidence.toString(),
|
|
1078
1147
|
},
|
|
1079
1148
|
{
|
|
1080
|
-
|
|
1149
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_LLM_LOOP_CHECK_MAIN_MODEL,
|
|
1081
1150
|
value: event.main_model,
|
|
1082
1151
|
},
|
|
1083
1152
|
{
|
|
1084
|
-
|
|
1153
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_LLM_LOOP_CHECK_MAIN_MODEL_CONFIDENCE,
|
|
1085
1154
|
value: event.main_model_confidence.toString(),
|
|
1086
1155
|
},
|
|
1087
1156
|
];
|
|
1088
1157
|
this.enqueueLogEvent(this.createLogEvent(EventNames.LLM_LOOP_CHECK, data));
|
|
1089
1158
|
this.flushIfNeeded();
|
|
1090
1159
|
}
|
|
1160
|
+
logHookCallEvent(event) {
|
|
1161
|
+
const data = [
|
|
1162
|
+
{
|
|
1163
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_HOOK_EVENT_NAME,
|
|
1164
|
+
value: event.hook_event_name,
|
|
1165
|
+
},
|
|
1166
|
+
{
|
|
1167
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_HOOK_DURATION_MS,
|
|
1168
|
+
value: event.duration_ms.toString(),
|
|
1169
|
+
},
|
|
1170
|
+
{
|
|
1171
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_HOOK_SUCCESS,
|
|
1172
|
+
value: event.success.toString(),
|
|
1173
|
+
},
|
|
1174
|
+
];
|
|
1175
|
+
if (event.exit_code !== undefined) {
|
|
1176
|
+
data.push({
|
|
1177
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_HOOK_EXIT_CODE,
|
|
1178
|
+
value: event.exit_code.toString(),
|
|
1179
|
+
});
|
|
1180
|
+
}
|
|
1181
|
+
this.enqueueLogEvent(this.createLogEvent(EventNames.HOOK_CALL, data));
|
|
1182
|
+
this.flushIfNeeded();
|
|
1183
|
+
}
|
|
1091
1184
|
/**
|
|
1092
1185
|
* Adds default fields to data, and returns a new data array. This fields
|
|
1093
1186
|
* should exist on all log events.
|
|
@@ -1095,37 +1188,37 @@ export class ClearcutLogger {
|
|
|
1095
1188
|
addDefaultFields(data, totalAccounts) {
|
|
1096
1189
|
const defaultLogMetadata = [
|
|
1097
1190
|
{
|
|
1098
|
-
|
|
1191
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_SESSION_ID,
|
|
1099
1192
|
value: this.config?.getSessionId() ?? '',
|
|
1100
1193
|
},
|
|
1101
1194
|
{
|
|
1102
|
-
|
|
1195
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_AUTH_TYPE,
|
|
1103
1196
|
value: JSON.stringify(this.config?.getContentGeneratorConfig()?.authType),
|
|
1104
1197
|
},
|
|
1105
1198
|
{
|
|
1106
|
-
|
|
1199
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_GOOGLE_ACCOUNTS_COUNT,
|
|
1107
1200
|
value: `${totalAccounts}`,
|
|
1108
1201
|
},
|
|
1109
1202
|
{
|
|
1110
|
-
|
|
1203
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_PROMPT_ID,
|
|
1111
1204
|
value: this.promptId,
|
|
1112
1205
|
},
|
|
1113
1206
|
{
|
|
1114
|
-
|
|
1207
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_NODE_VERSION,
|
|
1115
1208
|
value: process.versions.node,
|
|
1116
1209
|
},
|
|
1117
1210
|
{
|
|
1118
|
-
|
|
1211
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_USER_SETTINGS,
|
|
1119
1212
|
value: this.getConfigJson(),
|
|
1120
1213
|
},
|
|
1121
1214
|
{
|
|
1122
|
-
|
|
1215
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_INTERACTIVE,
|
|
1123
1216
|
value: this.config?.isInteractive().toString() ?? 'false',
|
|
1124
1217
|
},
|
|
1125
1218
|
];
|
|
1126
1219
|
if (this.config?.getExperiments()) {
|
|
1127
1220
|
defaultLogMetadata.push({
|
|
1128
|
-
|
|
1221
|
+
cell_cli_key: EventMetadataKey.CELL_CLI_EXPERIMENT_IDS,
|
|
1129
1222
|
value: this.config?.getExperiments()?.experimentIds.toString() ?? 'NA',
|
|
1130
1223
|
});
|
|
1131
1224
|
}
|
|
@@ -1185,5 +1278,9 @@ export class ClearcutLogger {
|
|
|
1185
1278
|
export const TEST_ONLY = {
|
|
1186
1279
|
MAX_RETRY_EVENTS,
|
|
1187
1280
|
MAX_EVENTS,
|
|
1281
|
+
refreshGpuInfo,
|
|
1282
|
+
resetCachedGpuInfoForTesting: () => {
|
|
1283
|
+
cachedGpuInfo = undefined;
|
|
1284
|
+
},
|
|
1188
1285
|
};
|
|
1189
1286
|
//# sourceMappingURL=clearcut-logger.js.map
|