@codemieai/code 0.0.14 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -15
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +6 -6
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/config.d.ts.map +1 -1
- package/dist/agents/codemie-code/config.js +14 -5
- package/dist/agents/codemie-code/config.js.map +1 -1
- package/dist/agents/codemie-code/filters.js +12 -12
- package/dist/agents/codemie-code/filters.js.map +1 -1
- package/dist/agents/codemie-code/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/index.js +3 -1
- package/dist/agents/codemie-code/index.js.map +1 -1
- package/dist/agents/codemie-code/storage/todoStorage.js +1 -1
- package/dist/agents/codemie-code/storage/todoStorage.js.map +1 -1
- package/dist/agents/codemie-code/ui.js +1 -1
- package/dist/agents/codemie-code/ui.js.map +1 -1
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +5 -4
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +1 -5
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +5 -26
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/types.d.ts +5 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude.plugin.js +1 -1
- package/dist/agents/plugins/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +2 -2
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/codex.plugin.js +2 -2
- package/dist/agents/plugins/codex.plugin.js.map +1 -1
- package/dist/agents/plugins/deepagents.plugin.js +1 -1
- package/dist/agents/plugins/deepagents.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini.plugin.js +1 -1
- package/dist/agents/plugins/gemini.plugin.js.map +1 -1
- package/dist/analytics/aggregation/adapters/claude.adapter.d.ts.map +1 -1
- package/dist/analytics/aggregation/adapters/claude.adapter.js +75 -15
- package/dist/analytics/aggregation/adapters/claude.adapter.js.map +1 -1
- package/dist/analytics/aggregation/adapters/codex.adapter.d.ts.map +1 -1
- package/dist/analytics/aggregation/adapters/codex.adapter.js +20 -0
- package/dist/analytics/aggregation/adapters/codex.adapter.js.map +1 -1
- package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts +8 -0
- package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts.map +1 -1
- package/dist/analytics/aggregation/adapters/gemini.adapter.js +46 -1
- package/dist/analytics/aggregation/adapters/gemini.adapter.js.map +1 -1
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts +36 -0
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts.map +1 -1
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js +52 -0
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js.map +1 -1
- package/dist/analytics/aggregation/core/adapter.interface.d.ts +11 -0
- package/dist/analytics/aggregation/core/adapter.interface.d.ts.map +1 -1
- package/dist/analytics/aggregation/core/aggregation-utils.d.ts +20 -0
- package/dist/analytics/aggregation/core/aggregation-utils.d.ts.map +1 -1
- package/dist/analytics/aggregation/core/aggregation-utils.js +43 -0
- package/dist/analytics/aggregation/core/aggregation-utils.js.map +1 -1
- package/dist/analytics/aggregation/core/file-utils.d.ts +2 -1
- package/dist/analytics/aggregation/core/file-utils.d.ts.map +1 -1
- package/dist/analytics/aggregation/core/file-utils.js +20 -85
- package/dist/analytics/aggregation/core/file-utils.js.map +1 -1
- package/dist/analytics/aggregation/core/index.d.ts +3 -0
- package/dist/analytics/aggregation/core/index.d.ts.map +1 -1
- package/dist/analytics/aggregation/core/index.js +3 -0
- package/dist/analytics/aggregation/core/index.js.map +1 -1
- package/dist/analytics/aggregation/core/user-prompt-source.d.ts +81 -0
- package/dist/analytics/aggregation/core/user-prompt-source.d.ts.map +1 -0
- package/dist/analytics/aggregation/core/user-prompt-source.js +69 -0
- package/dist/analytics/aggregation/core/user-prompt-source.js.map +1 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts +49 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts.map +1 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/json.js +66 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/json.js.map +1 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts +43 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts.map +1 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js +56 -0
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js.map +1 -0
- package/dist/analytics/aggregation/types.d.ts +20 -0
- package/dist/analytics/aggregation/types.d.ts.map +1 -1
- package/dist/analytics/index.d.ts.map +1 -1
- package/dist/analytics/index.js +3 -11
- package/dist/analytics/index.js.map +1 -1
- package/dist/analytics/remote-submission/cursor-manager.d.ts +71 -0
- package/dist/analytics/remote-submission/cursor-manager.d.ts.map +1 -0
- package/dist/analytics/remote-submission/cursor-manager.js +204 -0
- package/dist/analytics/remote-submission/cursor-manager.js.map +1 -0
- package/dist/analytics/remote-submission/index.d.ts +12 -0
- package/dist/analytics/remote-submission/index.d.ts.map +1 -0
- package/dist/analytics/remote-submission/index.js +11 -0
- package/dist/analytics/remote-submission/index.js.map +1 -0
- package/dist/analytics/remote-submission/lock-manager.d.ts +71 -0
- package/dist/analytics/remote-submission/lock-manager.d.ts.map +1 -0
- package/dist/analytics/remote-submission/lock-manager.js +238 -0
- package/dist/analytics/remote-submission/lock-manager.js.map +1 -0
- package/dist/analytics/remote-submission/metric-transformer.d.ts +21 -0
- package/dist/analytics/remote-submission/metric-transformer.d.ts.map +1 -0
- package/dist/analytics/remote-submission/metric-transformer.js +82 -0
- package/dist/analytics/remote-submission/metric-transformer.js.map +1 -0
- package/dist/analytics/remote-submission/submitter.d.ts +79 -0
- package/dist/analytics/remote-submission/submitter.d.ts.map +1 -0
- package/dist/analytics/remote-submission/submitter.js +362 -0
- package/dist/analytics/remote-submission/submitter.js.map +1 -0
- package/dist/analytics/remote-submission/types.d.ts +123 -0
- package/dist/analytics/remote-submission/types.d.ts.map +1 -0
- package/dist/analytics/remote-submission/types.js +13 -0
- package/dist/analytics/remote-submission/types.js.map +1 -0
- package/dist/cli/commands/analytics.d.ts.map +1 -1
- package/dist/cli/commands/analytics.js +181 -12
- package/dist/cli/commands/analytics.js.map +1 -1
- package/dist/cli/commands/auth.d.ts.map +1 -1
- package/dist/cli/commands/auth.js +10 -5
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/doctor/checks/AIConfigCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/AIConfigCheck.js +12 -5
- package/dist/cli/commands/doctor/checks/AIConfigCheck.js.map +1 -1
- package/dist/cli/commands/doctor/formatter.d.ts +1 -1
- package/dist/cli/commands/doctor/formatter.d.ts.map +1 -1
- package/dist/cli/commands/doctor/formatter.js +1 -6
- package/dist/cli/commands/doctor/formatter.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +36 -9
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/doctor/type-adapters.d.ts +18 -0
- package/dist/cli/commands/doctor/type-adapters.d.ts.map +1 -0
- package/dist/cli/commands/doctor/type-adapters.js +75 -0
- package/dist/cli/commands/doctor/type-adapters.js.map +1 -0
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +1 -6
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +0 -5
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/profile.d.ts.map +1 -1
- package/dist/cli/commands/profile.js +109 -63
- package/dist/cli/commands/profile.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +169 -660
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/workflow.js +1 -1
- package/dist/cli/commands/workflow.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +4 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/providers/core/base/BaseHealthCheck.d.ts +57 -0
- package/dist/providers/core/base/BaseHealthCheck.d.ts.map +1 -0
- package/dist/providers/core/base/BaseHealthCheck.js +121 -0
- package/dist/providers/core/base/BaseHealthCheck.js.map +1 -0
- package/dist/providers/core/base/BaseModelProxy.d.ts +45 -0
- package/dist/providers/core/base/BaseModelProxy.d.ts.map +1 -0
- package/dist/providers/core/base/BaseModelProxy.js +43 -0
- package/dist/providers/core/base/BaseModelProxy.js.map +1 -0
- package/dist/providers/core/base/http-client.d.ts +57 -0
- package/dist/providers/core/base/http-client.d.ts.map +1 -0
- package/dist/providers/core/base/http-client.js +240 -0
- package/dist/providers/core/base/http-client.js.map +1 -0
- package/dist/providers/core/decorators.d.ts +13 -0
- package/dist/providers/core/decorators.d.ts.map +1 -0
- package/dist/providers/core/decorators.js +15 -0
- package/dist/providers/core/decorators.js.map +1 -0
- package/dist/providers/core/index.d.ts +13 -0
- package/dist/providers/core/index.d.ts.map +1 -0
- package/dist/providers/core/index.js +14 -0
- package/dist/providers/core/index.js.map +1 -0
- package/dist/providers/core/registry.d.ts +66 -0
- package/dist/providers/core/registry.d.ts.map +1 -0
- package/dist/providers/core/registry.js +105 -0
- package/dist/providers/core/registry.js.map +1 -0
- package/dist/providers/core/types.d.ts +285 -0
- package/dist/providers/core/types.d.ts.map +1 -0
- package/dist/providers/core/types.js +7 -0
- package/dist/providers/core/types.js.map +1 -0
- package/dist/providers/index.d.ts +20 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +22 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/integration/setup-ui.d.ts +76 -0
- package/dist/providers/integration/setup-ui.d.ts.map +1 -0
- package/dist/providers/integration/setup-ui.js +141 -0
- package/dist/providers/integration/setup-ui.js.map +1 -0
- package/dist/providers/plugins/litellm/index.d.ts +8 -0
- package/dist/providers/plugins/litellm/index.d.ts.map +1 -0
- package/dist/providers/plugins/litellm/index.js +12 -0
- package/dist/providers/plugins/litellm/index.js.map +1 -0
- package/dist/providers/plugins/litellm/litellm.models.d.ts +27 -0
- package/dist/providers/plugins/litellm/litellm.models.d.ts.map +1 -0
- package/dist/providers/plugins/litellm/litellm.models.js +48 -0
- package/dist/providers/plugins/litellm/litellm.models.js.map +1 -0
- package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts +8 -0
- package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/litellm/litellm.setup-steps.js +52 -0
- package/dist/providers/plugins/litellm/litellm.setup-steps.js.map +1 -0
- package/dist/providers/plugins/litellm/litellm.template.d.ts +11 -0
- package/dist/providers/plugins/litellm/litellm.template.d.ts.map +1 -0
- package/dist/providers/plugins/litellm/litellm.template.js +59 -0
- package/dist/providers/plugins/litellm/litellm.template.js.map +1 -0
- package/dist/providers/plugins/ollama/index.d.ts +11 -0
- package/dist/providers/plugins/ollama/index.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/index.js +11 -0
- package/dist/providers/plugins/ollama/index.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.health.d.ts +48 -0
- package/dist/providers/plugins/ollama/ollama.health.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.health.js +87 -0
- package/dist/providers/plugins/ollama/ollama.health.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.models.d.ts +47 -0
- package/dist/providers/plugins/ollama/ollama.models.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.models.js +252 -0
- package/dist/providers/plugins/ollama/ollama.models.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts +16 -0
- package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.setup-steps.js +164 -0
- package/dist/providers/plugins/ollama/ollama.setup-steps.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.template.d.ts +11 -0
- package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.template.js +87 -0
- package/dist/providers/plugins/ollama/ollama.template.js.map +1 -0
- package/dist/providers/plugins/sso/index.d.ts +12 -0
- package/dist/providers/plugins/sso/index.d.ts.map +1 -0
- package/dist/providers/plugins/sso/index.js +12 -0
- package/dist/providers/plugins/sso/index.js.map +1 -0
- package/dist/providers/plugins/sso/sso.auth.d.ts +50 -0
- package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -0
- package/dist/{utils/sso-auth.js → providers/plugins/sso/sso.auth.js} +37 -2
- package/dist/providers/plugins/sso/sso.auth.js.map +1 -0
- package/dist/providers/plugins/sso/sso.health.d.ts +44 -0
- package/dist/providers/plugins/sso/sso.health.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.health.js +178 -0
- package/dist/providers/plugins/sso/sso.health.js.map +1 -0
- package/dist/{utils/codemie-model-fetcher.d.ts → providers/plugins/sso/sso.http-client.d.ts} +16 -5
- package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.http-client.js +187 -0
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -0
- package/dist/providers/plugins/sso/sso.models.d.ts +48 -0
- package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.models.js +139 -0
- package/dist/providers/plugins/sso/sso.models.js.map +1 -0
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts +16 -0
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.setup-steps.js +145 -0
- package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -0
- package/dist/providers/plugins/sso/sso.template.d.ts +11 -0
- package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.template.js +35 -0
- package/dist/providers/plugins/sso/sso.template.js.map +1 -0
- package/dist/proxy/errors.d.ts.map +1 -0
- package/dist/proxy/errors.js.map +1 -0
- package/dist/proxy/http-client.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/http-client.js +1 -1
- package/dist/proxy/http-client.js.map +1 -0
- package/dist/proxy/plugins/header-injection.plugin.d.ts +16 -0
- package/dist/proxy/plugins/header-injection.plugin.d.ts.map +1 -0
- package/dist/proxy/plugins/header-injection.plugin.js +52 -0
- package/dist/proxy/plugins/header-injection.plugin.js.map +1 -0
- package/dist/proxy/plugins/index.d.ts +18 -0
- package/dist/proxy/plugins/index.d.ts.map +1 -0
- package/dist/proxy/plugins/index.js +28 -0
- package/dist/proxy/plugins/index.js.map +1 -0
- package/dist/proxy/plugins/logging.plugin.d.ts +22 -0
- package/dist/proxy/plugins/logging.plugin.d.ts.map +1 -0
- package/dist/proxy/plugins/logging.plugin.js +92 -0
- package/dist/proxy/plugins/logging.plugin.js.map +1 -0
- package/dist/proxy/plugins/registry.d.ts +50 -0
- package/dist/proxy/plugins/registry.d.ts.map +1 -0
- package/dist/proxy/plugins/registry.js +124 -0
- package/dist/proxy/plugins/registry.js.map +1 -0
- package/dist/proxy/plugins/sso-auth.plugin.d.ts +16 -0
- package/dist/proxy/plugins/sso-auth.plugin.d.ts.map +1 -0
- package/dist/proxy/plugins/sso-auth.plugin.js +35 -0
- package/dist/proxy/plugins/sso-auth.plugin.js.map +1 -0
- package/dist/proxy/plugins/types.d.ts +79 -0
- package/dist/proxy/plugins/types.d.ts.map +1 -0
- package/dist/proxy/plugins/types.js +8 -0
- package/dist/proxy/plugins/types.js.map +1 -0
- package/dist/proxy/types.d.ts.map +1 -0
- package/dist/proxy/types.js.map +1 -0
- package/dist/utils/analytics-reader.js +1 -1
- package/dist/utils/analytics-reader.js.map +1 -1
- package/dist/utils/codemie-proxy.d.ts +43 -22
- package/dist/utils/codemie-proxy.d.ts.map +1 -1
- package/dist/utils/codemie-proxy.js +158 -88
- package/dist/utils/codemie-proxy.js.map +1 -1
- package/dist/utils/config-loader.d.ts +5 -6
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +72 -92
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/credential-store.d.ts +1 -1
- package/dist/utils/credential-store.d.ts.map +1 -1
- package/dist/utils/first-time.d.ts +0 -4
- package/dist/utils/first-time.d.ts.map +1 -1
- package/dist/utils/first-time.js +5 -117
- package/dist/utils/first-time.js.map +1 -1
- package/dist/utils/logger.d.ts +31 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +111 -3
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/sanitize.d.ts +28 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.js +213 -0
- package/dist/utils/sanitize.js.map +1 -0
- package/dist/workflows/installer.d.ts.map +1 -1
- package/dist/workflows/installer.js +3 -4
- package/dist/workflows/installer.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/commands/config.d.ts +0 -3
- package/dist/cli/commands/config.d.ts.map +0 -1
- package/dist/cli/commands/config.js +0 -198
- package/dist/cli/commands/config.js.map +0 -1
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts +0 -11
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts.map +0 -1
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js +0 -192
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js.map +0 -1
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.d.ts +0 -12
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.d.ts.map +0 -1
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.js +0 -12
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.js.map +0 -1
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.d.ts +0 -11
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.d.ts.map +0 -1
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.js +0 -97
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.js.map +0 -1
- package/dist/cli/commands/doctor/providers/index.d.ts +0 -30
- package/dist/cli/commands/doctor/providers/index.d.ts.map +0 -1
- package/dist/cli/commands/doctor/providers/index.js +0 -66
- package/dist/cli/commands/doctor/providers/index.js.map +0 -1
- package/dist/cli/commands/env.d.ts +0 -3
- package/dist/cli/commands/env.d.ts.map +0 -1
- package/dist/cli/commands/env.js +0 -19
- package/dist/cli/commands/env.js.map +0 -1
- package/dist/types/sso.d.ts +0 -42
- package/dist/types/sso.d.ts.map +0 -1
- package/dist/types/sso.js +0 -2
- package/dist/types/sso.js.map +0 -1
- package/dist/utils/async-tips.d.ts +0 -64
- package/dist/utils/async-tips.d.ts.map +0 -1
- package/dist/utils/async-tips.js +0 -203
- package/dist/utils/async-tips.js.map +0 -1
- package/dist/utils/codemie-integration-validator.d.ts +0 -18
- package/dist/utils/codemie-integration-validator.d.ts.map +0 -1
- package/dist/utils/codemie-integration-validator.js +0 -119
- package/dist/utils/codemie-integration-validator.js.map +0 -1
- package/dist/utils/codemie-model-fetcher.d.ts.map +0 -1
- package/dist/utils/codemie-model-fetcher.js +0 -242
- package/dist/utils/codemie-model-fetcher.js.map +0 -1
- package/dist/utils/health-checker.d.ts +0 -20
- package/dist/utils/health-checker.d.ts.map +0 -1
- package/dist/utils/health-checker.js +0 -172
- package/dist/utils/health-checker.js.map +0 -1
- package/dist/utils/model-fetcher.d.ts +0 -21
- package/dist/utils/model-fetcher.d.ts.map +0 -1
- package/dist/utils/model-fetcher.js +0 -148
- package/dist/utils/model-fetcher.js.map +0 -1
- package/dist/utils/proxy/errors.d.ts.map +0 -1
- package/dist/utils/proxy/errors.js.map +0 -1
- package/dist/utils/proxy/http-client.d.ts.map +0 -1
- package/dist/utils/proxy/http-client.js.map +0 -1
- package/dist/utils/proxy/interceptors.d.ts +0 -69
- package/dist/utils/proxy/interceptors.d.ts.map +0 -1
- package/dist/utils/proxy/interceptors.js +0 -308
- package/dist/utils/proxy/interceptors.js.map +0 -1
- package/dist/utils/proxy/types.d.ts.map +0 -1
- package/dist/utils/proxy/types.js.map +0 -1
- package/dist/utils/sso-auth.d.ts +0 -15
- package/dist/utils/sso-auth.d.ts.map +0 -1
- package/dist/utils/sso-auth.js.map +0 -1
- package/dist/utils/tips.d.ts +0 -35
- package/dist/utils/tips.d.ts.map +0 -1
- package/dist/utils/tips.js +0 -93
- package/dist/utils/tips.js.map +0 -1
- /package/dist/{utils/proxy → proxy}/errors.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/errors.js +0 -0
- /package/dist/{utils/proxy → proxy}/http-client.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/types.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/types.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAnalyticsAdapter.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/BaseAnalyticsAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,uBAAuB,EACxB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseAnalyticsAdapter.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/BaseAnalyticsAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,uBAAuB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEvE;;;;;;GAMG;AACH,8BAAsB,oBAAqB,YAAW,qBAAqB;IAEzE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,SAAW;IAGlB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE9C;;OAEG;gBACS,QAAQ,EAAE,eAAe;IASrC;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAKxC;;;OAGG;IACH,SAAS,CAAC,eAAe,CACvB,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,iBAAiB,EAAE;IActB;;;OAGG;cACa,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,GAC3C,OAAO,CAAC,UAAU,EAAE,CAAC;IAWxB;;;OAGG;cACa,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,GAC3C,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;;OAMG;IACH,SAAS,CAAC,6BAA6B,CACrC,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,GAAG,SAAS;IASrB;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAElF;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAE/E;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAElF;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAEpF;;;OAGG;IACH,QAAQ,CAAC,wBAAwB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAEpG;;;;OAIG;IACG,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAC7D,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,SAAS,EAAE,eAAe,EAAE,CAAC;QAC7B,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;KAC9C,CAAC;CAaH"}
|
|
@@ -22,6 +22,7 @@ export class BaseAnalyticsAdapter {
|
|
|
22
22
|
// === Protected Properties ===
|
|
23
23
|
homePath;
|
|
24
24
|
sessionsPath;
|
|
25
|
+
userPromptSource;
|
|
25
26
|
/**
|
|
26
27
|
* Constructor - Extracts metadata for all adapters
|
|
27
28
|
*/
|
|
@@ -54,5 +55,56 @@ export class BaseAnalyticsAdapter {
|
|
|
54
55
|
}
|
|
55
56
|
return results;
|
|
56
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Read user prompts from source (optional)
|
|
60
|
+
* Subclasses should set userPromptSource to enable this functionality
|
|
61
|
+
*/
|
|
62
|
+
async readUserPrompts(sessionId, options) {
|
|
63
|
+
if (!this.userPromptSource) {
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
return this.userPromptSource.readPrompts({
|
|
67
|
+
...options,
|
|
68
|
+
sessionId
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Count user prompts from source (optional)
|
|
73
|
+
* Returns 0 if no user prompt source is configured
|
|
74
|
+
*/
|
|
75
|
+
async countUserPrompts(sessionId, options) {
|
|
76
|
+
const prompts = await this.readUserPrompts(sessionId, options);
|
|
77
|
+
return prompts.length;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Calculate user prompt percentage
|
|
81
|
+
* Formula: (userPromptCount / userMessageCount) * 100
|
|
82
|
+
* Returns undefined if userMessageCount is 0
|
|
83
|
+
* Shows what percentage of user messages are actual user prompts
|
|
84
|
+
* Lower percentage = more system-generated messages
|
|
85
|
+
*/
|
|
86
|
+
calculateUserPromptPercentage(userPromptCount, userMessageCount) {
|
|
87
|
+
if (userMessageCount === 0) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
return (userPromptCount / userMessageCount) * 100;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Extract raw events (messages, tool calls, file modifications)
|
|
94
|
+
* Default implementation combines existing extract methods
|
|
95
|
+
* Subclasses can override for more efficient extraction
|
|
96
|
+
*/
|
|
97
|
+
async extractRawEvents(descriptor) {
|
|
98
|
+
const [messages, toolCalls, fileModifications] = await Promise.all([
|
|
99
|
+
this.extractMessages(descriptor),
|
|
100
|
+
this.extractToolCalls(descriptor),
|
|
101
|
+
this.extractFileModifications(descriptor)
|
|
102
|
+
]);
|
|
103
|
+
return {
|
|
104
|
+
messages,
|
|
105
|
+
toolCalls,
|
|
106
|
+
fileModifications
|
|
107
|
+
};
|
|
108
|
+
}
|
|
57
109
|
}
|
|
58
110
|
//# sourceMappingURL=BaseAnalyticsAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAnalyticsAdapter.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/BaseAnalyticsAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKrC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseAnalyticsAdapter.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/BaseAnalyticsAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKrC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAW7C;;;;;;GAMG;AACH,MAAM,OAAgB,oBAAoB;IACxC,+BAA+B;IAC/B,SAAS,CAAS;IAClB,WAAW,CAAS;IACpB,OAAO,GAAG,OAAO,CAAC;IAElB,+BAA+B;IACrB,QAAQ,CAAS;IACjB,YAAY,CAAS;IACrB,gBAAgB,CAAoB;IAE9C;;OAEG;IACH,YAAY,QAAyB;QACnC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAExC,8BAA8B;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,IAAI,UAAU,CAAC;IACjE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACO,eAAe,CACvB,WAAgC,EAChC,OAA6B;QAE7B,IAAI,OAAO,GAAG,WAAW,CAAC;QAE1B,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,eAAe,CAC7B,SAAiB,EACjB,OAA4C;QAE5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;YACvC,GAAG,OAAO;YACV,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,gBAAgB,CAC9B,SAAiB,EACjB,OAA4C;QAE5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACO,6BAA6B,CACrC,eAAuB,EACvB,gBAAwB;QAExB,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,eAAe,GAAG,gBAAgB,CAAC,GAAG,GAAG,CAAC;IACpD,CAAC;IAkCD;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,UAA6B;QAKlD,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAChC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;YACjC,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC;SAC1C,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ;YACR,SAAS;YACT,iBAAiB;SAClB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -43,6 +43,17 @@ export interface AgentAnalyticsAdapter {
|
|
|
43
43
|
* @returns Array of file modifications
|
|
44
44
|
*/
|
|
45
45
|
extractFileModifications(descriptor: SessionDescriptor): Promise<CodemieFileModification[]>;
|
|
46
|
+
/**
|
|
47
|
+
* Extract raw events (messages, tool calls, file modifications) for granular metrics
|
|
48
|
+
* Used by remote submission system to generate backend-aligned metrics
|
|
49
|
+
* @param descriptor Session descriptor
|
|
50
|
+
* @returns Raw events from session
|
|
51
|
+
*/
|
|
52
|
+
extractRawEvents(descriptor: SessionDescriptor): Promise<{
|
|
53
|
+
messages: CodemieMessage[];
|
|
54
|
+
toolCalls: CodemieToolCall[];
|
|
55
|
+
fileModifications: CodemieFileModification[];
|
|
56
|
+
}>;
|
|
46
57
|
/**
|
|
47
58
|
* Validate that the adapter's data source is accessible
|
|
48
59
|
* @returns true if data source exists and is readable
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.interface.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/adapter.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAEpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAGhB;;;;OAIG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAG1E;;;;OAIG;IACH,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEvE;;;;OAIG;IACH,eAAe,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE1E;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE5E;;;;OAIG;IACH,wBAAwB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.interface.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/adapter.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAEpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAGhB;;;;OAIG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAG1E;;;;OAIG;IACH,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEvE;;;;OAIG;IACH,eAAe,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE1E;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE5E;;;;OAIG;IACH,wBAAwB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE5F;;;;;OAKG;IACH,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC;QACvD,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,SAAS,EAAE,eAAe,EAAE,CAAC;QAC7B,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;KAC9C,CAAC,CAAC;IAGH;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
|
|
@@ -63,4 +63,24 @@ export declare function calculateFileStats(modifications: CodemieFileModificatio
|
|
|
63
63
|
* Calculate duration between two dates
|
|
64
64
|
*/
|
|
65
65
|
export declare function calculateDuration(startTime: Date | string, endTime: Date | string): number;
|
|
66
|
+
/**
|
|
67
|
+
* Normalize LLM model names from different provider formats
|
|
68
|
+
*
|
|
69
|
+
* Handles various model name formats:
|
|
70
|
+
* - AWS Bedrock Converse: converse/region.provider.model-v1:0 -> model
|
|
71
|
+
* - AWS Bedrock Direct: region.provider.model-v1:0 -> model
|
|
72
|
+
* - Standard Claude: claude-sonnet-4-5-20250929 (unchanged)
|
|
73
|
+
* - OpenAI: gpt-4.1-turbo (unchanged)
|
|
74
|
+
* - Google: gemini-1.5-pro (unchanged)
|
|
75
|
+
*
|
|
76
|
+
* Examples:
|
|
77
|
+
* - converse/global.anthropic.claude-haiku-4-5-20251001-v1:0 -> claude-haiku-4-5-20251001
|
|
78
|
+
* - eu.anthropic.claude-haiku-4-5-20251001-v1:0 -> claude-haiku-4-5-20251001
|
|
79
|
+
* - us-east-1.anthropic.claude-opus-4-20250514-v1:0 -> claude-opus-4-20250514
|
|
80
|
+
* - claude-sonnet-4-5-20250929 -> claude-sonnet-4-5-20250929
|
|
81
|
+
*
|
|
82
|
+
* @param modelName - Raw model name from analytics data
|
|
83
|
+
* @returns Normalized model name for display
|
|
84
|
+
*/
|
|
85
|
+
export declare function normalizeModelName(modelName: string): string;
|
|
66
86
|
//# sourceMappingURL=aggregation-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregation-utils.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/aggregation-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAwCtD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;IAC5F,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAED;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;IAC1F,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAED;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAmBD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,uBAAuB,EAAE;;;;;;;;sBAnD3D,MAAM;uBACL,MAAM;oBACT,MAAM;sBACJ,MAAM;;;sBASN,MAAM;uBACL,MAAM;oBACT,MAAM;sBACJ,MAAM;;;eASb,MAAM;oBACD,MAAM;sBACJ,MAAM;;cAyCrB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAI1F"}
|
|
1
|
+
{"version":3,"file":"aggregation-utils.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/aggregation-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAwCtD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;IAC5F,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAED;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;IAC1F,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAED;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAmBD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,uBAAuB,EAAE;;;;;;;;sBAnD3D,MAAM;uBACL,MAAM;oBACT,MAAM;sBACJ,MAAM;;;sBASN,MAAM;uBACL,MAAM;oBACT,MAAM;sBACJ,MAAM;;;eASb,MAAM;oBACD,MAAM;sBACJ,MAAM;;cAyCrB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAI1F;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAyB5D"}
|
|
@@ -80,4 +80,47 @@ export function calculateDuration(startTime, endTime) {
|
|
|
80
80
|
const end = typeof endTime === 'string' ? new Date(endTime) : endTime;
|
|
81
81
|
return end.getTime() - start.getTime();
|
|
82
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Normalize LLM model names from different provider formats
|
|
85
|
+
*
|
|
86
|
+
* Handles various model name formats:
|
|
87
|
+
* - AWS Bedrock Converse: converse/region.provider.model-v1:0 -> model
|
|
88
|
+
* - AWS Bedrock Direct: region.provider.model-v1:0 -> model
|
|
89
|
+
* - Standard Claude: claude-sonnet-4-5-20250929 (unchanged)
|
|
90
|
+
* - OpenAI: gpt-4.1-turbo (unchanged)
|
|
91
|
+
* - Google: gemini-1.5-pro (unchanged)
|
|
92
|
+
*
|
|
93
|
+
* Examples:
|
|
94
|
+
* - converse/global.anthropic.claude-haiku-4-5-20251001-v1:0 -> claude-haiku-4-5-20251001
|
|
95
|
+
* - eu.anthropic.claude-haiku-4-5-20251001-v1:0 -> claude-haiku-4-5-20251001
|
|
96
|
+
* - us-east-1.anthropic.claude-opus-4-20250514-v1:0 -> claude-opus-4-20250514
|
|
97
|
+
* - claude-sonnet-4-5-20250929 -> claude-sonnet-4-5-20250929
|
|
98
|
+
*
|
|
99
|
+
* @param modelName - Raw model name from analytics data
|
|
100
|
+
* @returns Normalized model name for display
|
|
101
|
+
*/
|
|
102
|
+
export function normalizeModelName(modelName) {
|
|
103
|
+
// Extract model from AWS Bedrock converse format
|
|
104
|
+
// Format: converse/region.provider.model-v1:0
|
|
105
|
+
// Example: converse/global.anthropic.claude-haiku-4-5-20251001-v1:0
|
|
106
|
+
if (modelName.startsWith('converse/')) {
|
|
107
|
+
const match = modelName.match(/anthropic\.(claude-[a-z0-9-]+)-v\d+:/);
|
|
108
|
+
if (match) {
|
|
109
|
+
return match[1];
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Extract model from AWS Bedrock direct format (without converse/ prefix)
|
|
113
|
+
// Format: region.provider.model-v1:0
|
|
114
|
+
// Examples:
|
|
115
|
+
// - eu.anthropic.claude-haiku-4-5-20251001-v1:0
|
|
116
|
+
// - us-east-1.anthropic.claude-opus-4-20250514-v1:0
|
|
117
|
+
// - global.anthropic.claude-sonnet-4-5-20250929-v1:0
|
|
118
|
+
// Requires at least one dot before 'anthropic' (i.e., region prefix)
|
|
119
|
+
const bedrockMatch = modelName.match(/^[a-z0-9-]+\.anthropic\.(claude-[a-z0-9-]+)-v\d+:/);
|
|
120
|
+
if (bedrockMatch) {
|
|
121
|
+
return bedrockMatch[1]; // Return the model name part
|
|
122
|
+
}
|
|
123
|
+
// Return as-is for standard formats (Claude, OpenAI, Google, etc.)
|
|
124
|
+
return modelName;
|
|
125
|
+
}
|
|
83
126
|
//# sourceMappingURL=aggregation-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregation-utils.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/aggregation-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aggregation-utils.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/aggregation-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function detectLanguage(filePath: string): string | undefined;
|
|
10
10
|
/**
|
|
11
|
-
* Detect file format
|
|
11
|
+
* Detect file format (returns extension without dot, or special name for no-extension files)
|
|
12
|
+
* Examples: "ts", "py", "md", "Dockerfile", "Makefile"
|
|
12
13
|
*/
|
|
13
14
|
export declare function detectFormat(filePath: string): string;
|
|
14
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/file-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA4GnE;AAED
|
|
1
|
+
{"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/file-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA4GnE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmBrD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD"}
|
|
@@ -99,96 +99,31 @@ export function detectLanguage(filePath) {
|
|
|
99
99
|
return languageMap[ext];
|
|
100
100
|
}
|
|
101
101
|
/**
|
|
102
|
-
* Detect file format
|
|
102
|
+
* Detect file format (returns extension without dot, or special name for no-extension files)
|
|
103
|
+
* Examples: "ts", "py", "md", "Dockerfile", "Makefile"
|
|
103
104
|
*/
|
|
104
105
|
export function detectFormat(filePath) {
|
|
105
106
|
const ext = extname(filePath).toLowerCase();
|
|
106
107
|
const basename = filePath.split('/').pop()?.toLowerCase() || '';
|
|
107
|
-
//
|
|
108
|
-
if (
|
|
109
|
-
|
|
110
|
-
basename
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
108
|
+
// Files without extensions - use basename
|
|
109
|
+
if (!ext) {
|
|
110
|
+
// Special known files
|
|
111
|
+
if (basename === 'dockerfile')
|
|
112
|
+
return 'Dockerfile';
|
|
113
|
+
if (basename === 'makefile')
|
|
114
|
+
return 'Makefile';
|
|
115
|
+
if (basename === 'rakefile')
|
|
116
|
+
return 'Rakefile';
|
|
117
|
+
if (basename === 'gemfile')
|
|
118
|
+
return 'Gemfile';
|
|
119
|
+
if (basename === 'jenkinsfile')
|
|
120
|
+
return 'Jenkinsfile';
|
|
121
|
+
if (basename.startsWith('.'))
|
|
122
|
+
return basename; // .gitignore, .npmrc, etc.
|
|
123
|
+
return 'other';
|
|
117
124
|
}
|
|
118
|
-
//
|
|
119
|
-
|
|
120
|
-
if (docExtensions.includes(ext)) {
|
|
121
|
-
return 'docs';
|
|
122
|
-
}
|
|
123
|
-
// Configuration files
|
|
124
|
-
const configExtensions = [
|
|
125
|
-
'.json', '.yaml', '.yml', '.toml', '.ini', '.conf',
|
|
126
|
-
'.xml', '.properties', '.env', '.config'
|
|
127
|
-
];
|
|
128
|
-
const configFiles = [
|
|
129
|
-
'dockerfile', 'makefile', 'rakefile', 'gemfile',
|
|
130
|
-
'package.json', 'tsconfig.json', 'jsconfig.json',
|
|
131
|
-
'webpack.config', 'rollup.config', 'vite.config',
|
|
132
|
-
'.eslintrc', '.prettierrc', '.babelrc', '.npmrc',
|
|
133
|
-
'.gitignore', '.dockerignore', '.editorconfig'
|
|
134
|
-
];
|
|
135
|
-
if (configExtensions.includes(ext) ||
|
|
136
|
-
configFiles.some(cfg => basename.includes(cfg))) {
|
|
137
|
-
return 'config';
|
|
138
|
-
}
|
|
139
|
-
// Data files
|
|
140
|
-
const dataExtensions = [
|
|
141
|
-
'.csv', '.tsv', '.parquet', '.avro',
|
|
142
|
-
'.db', '.sqlite', '.sql',
|
|
143
|
-
'.proto', '.thrift'
|
|
144
|
-
];
|
|
145
|
-
if (dataExtensions.includes(ext)) {
|
|
146
|
-
return 'data';
|
|
147
|
-
}
|
|
148
|
-
// Build/CI files
|
|
149
|
-
if (filePath.includes('.github/workflows/') ||
|
|
150
|
-
filePath.includes('.gitlab-ci') ||
|
|
151
|
-
basename.includes('jenkinsfile') ||
|
|
152
|
-
basename.includes('.travis.yml') ||
|
|
153
|
-
basename.includes('circle.yml')) {
|
|
154
|
-
return 'ci';
|
|
155
|
-
}
|
|
156
|
-
// Code files (programming languages)
|
|
157
|
-
const codeExtensions = [
|
|
158
|
-
'.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs',
|
|
159
|
-
'.py', '.pyw', '.java', '.kt', '.scala',
|
|
160
|
-
'.c', '.h', '.cpp', '.hpp', '.cc', '.cxx',
|
|
161
|
-
'.cs', '.go', '.rs', '.rb', '.php', '.swift',
|
|
162
|
-
'.sh', '.bash', '.lua', '.r', '.pl', '.ex',
|
|
163
|
-
'.erl', '.vim', '.lisp', '.clj', '.dart',
|
|
164
|
-
'.julia', '.zig', '.nim', '.m'
|
|
165
|
-
];
|
|
166
|
-
if (codeExtensions.includes(ext)) {
|
|
167
|
-
return 'code';
|
|
168
|
-
}
|
|
169
|
-
// Web assets (styles, markup)
|
|
170
|
-
const webExtensions = [
|
|
171
|
-
'.html', '.htm', '.css', '.scss', '.sass', '.less',
|
|
172
|
-
'.svg'
|
|
173
|
-
];
|
|
174
|
-
if (webExtensions.includes(ext)) {
|
|
175
|
-
return 'web';
|
|
176
|
-
}
|
|
177
|
-
// Assets (images, fonts, etc.)
|
|
178
|
-
const assetExtensions = [
|
|
179
|
-
'.png', '.jpg', '.jpeg', '.gif', '.webp', '.ico',
|
|
180
|
-
'.woff', '.woff2', '.ttf', '.eot', '.otf',
|
|
181
|
-
'.mp3', '.mp4', '.wav', '.ogg', '.webm'
|
|
182
|
-
];
|
|
183
|
-
if (assetExtensions.includes(ext)) {
|
|
184
|
-
return 'asset';
|
|
185
|
-
}
|
|
186
|
-
// License files
|
|
187
|
-
if (basename.includes('license') || basename.includes('copying')) {
|
|
188
|
-
return 'legal';
|
|
189
|
-
}
|
|
190
|
-
// Default to 'other'
|
|
191
|
-
return 'other';
|
|
125
|
+
// Return extension without the leading dot
|
|
126
|
+
return ext.slice(1);
|
|
192
127
|
}
|
|
193
128
|
/**
|
|
194
129
|
* Count lines in a string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/file-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5C,MAAM,WAAW,GAA2B;QAC1C,0BAA0B;QAC1B,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,YAAY;QAEpB,SAAS;QACT,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAEhB,aAAa;QACb,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,QAAQ;QAEnB,UAAU;QACV,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QAEb,KAAK;QACL,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;QAEhB,KAAK;QACL,KAAK,EAAE,IAAI;QAEX,OAAO;QACP,KAAK,EAAE,MAAM;QAEb,OAAO;QACP,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;QAEf,MAAM;QACN,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QAEf,QAAQ;QACR,QAAQ,EAAE,OAAO;QAEjB,QAAQ;QACR,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,MAAM;QAEf,eAAe;QACf,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QAEb,eAAe;QACf,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,MAAM;QAEf,MAAM;QACN,MAAM,EAAE,KAAK;QAEb,yBAAyB;QACzB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,UAAU;QAEnB,uCAAuC;QACvC,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM;QAEf,kBAAkB;QAClB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;KACd,CAAC;IAEF,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/file-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,4 +8,7 @@ export * from './streaming.js';
|
|
|
8
8
|
export * from './discovery.js';
|
|
9
9
|
export * from './file-utils.js';
|
|
10
10
|
export * from './project-mapping.js';
|
|
11
|
+
export * from './user-prompt-source.js';
|
|
12
|
+
export * from './user-prompt-sources/jsonl.js';
|
|
13
|
+
export * from './user-prompt-sources/json.js';
|
|
11
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC"}
|
|
@@ -8,4 +8,7 @@ export * from './streaming.js';
|
|
|
8
8
|
export * from './discovery.js';
|
|
9
9
|
export * from './file-utils.js';
|
|
10
10
|
export * from './project-mapping.js';
|
|
11
|
+
export * from './user-prompt-source.js';
|
|
12
|
+
export * from './user-prompt-sources/jsonl.js';
|
|
13
|
+
export * from './user-prompt-sources/json.js';
|
|
11
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User Prompt Source - Core Abstraction
|
|
3
|
+
*
|
|
4
|
+
* Provides a unified interface for reading user prompt history files
|
|
5
|
+
* across different AI coding agents. Each agent maintains lightweight
|
|
6
|
+
* history files tracking actual user input (what users typed), distinct
|
|
7
|
+
* from full session interaction logs.
|
|
8
|
+
*
|
|
9
|
+
* This abstraction enables:
|
|
10
|
+
* - Accurate user engagement metrics (true user prompts vs system messages)
|
|
11
|
+
* - Session coverage (include sessions without full logs)
|
|
12
|
+
* - Automation insights (ratio of AI-generated to user-initiated messages)
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Represents a user prompt
|
|
16
|
+
*/
|
|
17
|
+
export interface UserPrompt {
|
|
18
|
+
/** User's actual input text */
|
|
19
|
+
prompt: string;
|
|
20
|
+
/** Timestamp of the prompt */
|
|
21
|
+
timestamp: Date;
|
|
22
|
+
/** Session ID this prompt belongs to */
|
|
23
|
+
sessionId: string;
|
|
24
|
+
/** Project path (optional) */
|
|
25
|
+
projectPath?: string;
|
|
26
|
+
/** Additional metadata (pasted content, etc.) */
|
|
27
|
+
metadata?: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Configuration for user prompt source
|
|
31
|
+
*/
|
|
32
|
+
export interface UserPromptSourceConfig {
|
|
33
|
+
/** Path to user prompt file(s) - supports glob patterns */
|
|
34
|
+
filePath: string | string[];
|
|
35
|
+
/** Type of file format (jsonl, json, csv, etc.) */
|
|
36
|
+
format: 'jsonl' | 'json' | 'csv' | 'custom';
|
|
37
|
+
/** Custom parser function for non-standard formats */
|
|
38
|
+
parser?: (content: string) => UserPrompt[];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Options for filtering prompts
|
|
42
|
+
*/
|
|
43
|
+
export interface PromptQueryOptions {
|
|
44
|
+
/** Filter by date range (start) */
|
|
45
|
+
dateFrom?: Date;
|
|
46
|
+
/** Filter by date range (end) */
|
|
47
|
+
dateTo?: Date;
|
|
48
|
+
/** Filter by session ID */
|
|
49
|
+
sessionId?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Abstract base for user prompt sources
|
|
53
|
+
*
|
|
54
|
+
* Provides common functionality for reading and filtering user prompts
|
|
55
|
+
* from various file formats. Subclasses implement format-specific parsing.
|
|
56
|
+
*/
|
|
57
|
+
export declare abstract class UserPromptSource {
|
|
58
|
+
protected config: UserPromptSourceConfig;
|
|
59
|
+
constructor(config: UserPromptSourceConfig);
|
|
60
|
+
/**
|
|
61
|
+
* Read all user prompts from source
|
|
62
|
+
* @param options - Optional filtering (dateFrom, dateTo, sessionId)
|
|
63
|
+
*/
|
|
64
|
+
abstract readPrompts(options?: PromptQueryOptions): Promise<UserPrompt[]>;
|
|
65
|
+
/**
|
|
66
|
+
* Group prompts by session ID
|
|
67
|
+
* Common utility used by adapters to organize prompts
|
|
68
|
+
*/
|
|
69
|
+
groupBySession(options?: PromptQueryOptions): Promise<Map<string, UserPrompt[]>>;
|
|
70
|
+
/**
|
|
71
|
+
* Count prompts per session
|
|
72
|
+
* Used to calculate accurate user engagement metrics
|
|
73
|
+
*/
|
|
74
|
+
countBySession(options?: PromptQueryOptions): Promise<Map<string, number>>;
|
|
75
|
+
/**
|
|
76
|
+
* Apply standard filters to prompts
|
|
77
|
+
* Protected helper for subclasses to reuse
|
|
78
|
+
*/
|
|
79
|
+
protected applyFilters(prompts: UserPrompt[], options?: PromptQueryOptions): UserPrompt[];
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=user-prompt-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-prompt-source.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/user-prompt-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IAEf,8BAA8B;IAC9B,SAAS,EAAE,IAAI,CAAC;IAEhB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE5B,mDAAmD;IACnD,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAE5C,sDAAsD;IACtD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,iCAAiC;IACjC,MAAM,CAAC,EAAE,IAAI,CAAC;IAEd,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,8BAAsB,gBAAgB;IACxB,SAAS,CAAC,MAAM,EAAE,sBAAsB;gBAA9B,MAAM,EAAE,sBAAsB;IAEpD;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAEzE;;;OAGG;IACG,cAAc,CAClB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAarC;;;OAGG;IACG,cAAc,CAClB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAW/B;;;OAGG;IACH,SAAS,CAAC,YAAY,CACpB,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,EAAE;CAiBhB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User Prompt Source - Core Abstraction
|
|
3
|
+
*
|
|
4
|
+
* Provides a unified interface for reading user prompt history files
|
|
5
|
+
* across different AI coding agents. Each agent maintains lightweight
|
|
6
|
+
* history files tracking actual user input (what users typed), distinct
|
|
7
|
+
* from full session interaction logs.
|
|
8
|
+
*
|
|
9
|
+
* This abstraction enables:
|
|
10
|
+
* - Accurate user engagement metrics (true user prompts vs system messages)
|
|
11
|
+
* - Session coverage (include sessions without full logs)
|
|
12
|
+
* - Automation insights (ratio of AI-generated to user-initiated messages)
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Abstract base for user prompt sources
|
|
16
|
+
*
|
|
17
|
+
* Provides common functionality for reading and filtering user prompts
|
|
18
|
+
* from various file formats. Subclasses implement format-specific parsing.
|
|
19
|
+
*/
|
|
20
|
+
export class UserPromptSource {
|
|
21
|
+
config;
|
|
22
|
+
constructor(config) {
|
|
23
|
+
this.config = config;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Group prompts by session ID
|
|
27
|
+
* Common utility used by adapters to organize prompts
|
|
28
|
+
*/
|
|
29
|
+
async groupBySession(options) {
|
|
30
|
+
const prompts = await this.readPrompts(options);
|
|
31
|
+
const grouped = new Map();
|
|
32
|
+
for (const prompt of prompts) {
|
|
33
|
+
const sessionPrompts = grouped.get(prompt.sessionId) || [];
|
|
34
|
+
sessionPrompts.push(prompt);
|
|
35
|
+
grouped.set(prompt.sessionId, sessionPrompts);
|
|
36
|
+
}
|
|
37
|
+
return grouped;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Count prompts per session
|
|
41
|
+
* Used to calculate accurate user engagement metrics
|
|
42
|
+
*/
|
|
43
|
+
async countBySession(options) {
|
|
44
|
+
const grouped = await this.groupBySession(options);
|
|
45
|
+
const counts = new Map();
|
|
46
|
+
for (const [sessionId, prompts] of grouped) {
|
|
47
|
+
counts.set(sessionId, prompts.length);
|
|
48
|
+
}
|
|
49
|
+
return counts;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Apply standard filters to prompts
|
|
53
|
+
* Protected helper for subclasses to reuse
|
|
54
|
+
*/
|
|
55
|
+
applyFilters(prompts, options) {
|
|
56
|
+
let filtered = prompts;
|
|
57
|
+
if (options?.dateFrom) {
|
|
58
|
+
filtered = filtered.filter(p => p.timestamp >= options.dateFrom);
|
|
59
|
+
}
|
|
60
|
+
if (options?.dateTo) {
|
|
61
|
+
filtered = filtered.filter(p => p.timestamp <= options.dateTo);
|
|
62
|
+
}
|
|
63
|
+
if (options?.sessionId) {
|
|
64
|
+
filtered = filtered.filter(p => p.sessionId === options.sessionId);
|
|
65
|
+
}
|
|
66
|
+
return filtered;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=user-prompt-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-prompt-source.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/user-prompt-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkDH;;;;;GAKG;AACH,MAAM,OAAgB,gBAAgB;IACd;IAAtB,YAAsB,MAA8B;QAA9B,WAAM,GAAN,MAAM,CAAwB;IAAG,CAAC;IAQxD;;;OAGG;IACH,KAAK,CAAC,cAAc,CAClB,OAA4B;QAE5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;QAEhD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3D,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAClB,OAA4B;QAE5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEzC,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACO,YAAY,CACpB,OAAqB,EACrB,OAA4B;QAE5B,IAAI,QAAQ,GAAG,OAAO,CAAC;QAEvB,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,QAAS,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,MAAO,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON User Prompt Source
|
|
3
|
+
*
|
|
4
|
+
* Generic implementation for reading user prompts from JSON array files.
|
|
5
|
+
* Used by Gemini CLI and other agents that store history in JSON format.
|
|
6
|
+
*
|
|
7
|
+
* Format: JSON array of prompt objects, or single JSON object.
|
|
8
|
+
* Supports multiple files via pattern matching.
|
|
9
|
+
*/
|
|
10
|
+
import { UserPromptSource, UserPrompt, PromptQueryOptions } from '../user-prompt-source.js';
|
|
11
|
+
/**
|
|
12
|
+
* Mapper function type - converts raw JSON entry to UserPrompt
|
|
13
|
+
*/
|
|
14
|
+
export type JSONMapper = (entry: unknown) => UserPrompt;
|
|
15
|
+
/**
|
|
16
|
+
* JSON User Prompt Source
|
|
17
|
+
*
|
|
18
|
+
* Reads user prompts from JSON files with a custom mapper function.
|
|
19
|
+
* The mapper function converts agent-specific entry format to standard UserPrompt.
|
|
20
|
+
*
|
|
21
|
+
* Supports:
|
|
22
|
+
* - Single JSON array: [{ prompt: "...", ... }, ...]
|
|
23
|
+
* - Single JSON object: { prompt: "...", ... }
|
|
24
|
+
* - Multiple files via directory scanning
|
|
25
|
+
*
|
|
26
|
+
* Example usage:
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const source = new JSONUserPromptSource(
|
|
29
|
+
* '~/.gemini/tmp/project-hash/logs.json',
|
|
30
|
+
* (entry) => ({
|
|
31
|
+
* prompt: entry.prompt,
|
|
32
|
+
* timestamp: new Date(entry.timestamp),
|
|
33
|
+
* sessionId: entry.sessionId || 'unknown',
|
|
34
|
+
* projectPath: entry.project,
|
|
35
|
+
* metadata: { projectHash: 'abc123' }
|
|
36
|
+
* })
|
|
37
|
+
* );
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare class JSONUserPromptSource extends UserPromptSource {
|
|
41
|
+
private mapper;
|
|
42
|
+
constructor(filePath: string, mapper: JSONMapper);
|
|
43
|
+
/**
|
|
44
|
+
* Read all prompts from JSON file(s)
|
|
45
|
+
* Applies mapper to each entry, then filters
|
|
46
|
+
*/
|
|
47
|
+
readPrompts(options?: PromptQueryOptions): Promise<UserPrompt[]>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../../src/analytics/aggregation/core/user-prompt-sources/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IAGtD,OAAO,CAAC,MAAM;gBADd,QAAQ,EAAE,MAAM,EACR,MAAM,EAAE,UAAU;IAK5B;;;OAGG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAuBvE"}
|