@codemieai/code 0.0.16 → 0.0.17
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 +62 -5
- package/bin/agent-executor.js +7 -28
- package/bin/codemie-claude.js +18 -0
- package/bin/codemie-codex.js +18 -0
- package/bin/codemie-deepagents.js +18 -0
- package/bin/codemie-gemini.js +18 -0
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +3 -32
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/tools/planning.d.ts +2 -2
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +25 -59
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +9 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +103 -10
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/BaseMetricsAdapter.d.ts +64 -0
- package/dist/agents/core/BaseMetricsAdapter.d.ts.map +1 -0
- package/dist/agents/core/BaseMetricsAdapter.js +74 -0
- package/dist/agents/core/BaseMetricsAdapter.js.map +1 -0
- package/dist/agents/core/types.d.ts +1 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude.metrics.d.ts +112 -0
- package/dist/agents/plugins/claude.metrics.d.ts.map +1 -0
- package/dist/agents/plugins/claude.metrics.js +700 -0
- package/dist/agents/plugins/claude.metrics.js.map +1 -0
- package/dist/agents/plugins/claude.plugin.d.ts +9 -0
- package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude.plugin.js +52 -10
- package/dist/agents/plugins/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +45 -13
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codex.plugin.js +0 -2
- package/dist/agents/plugins/codex.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini.plugin.js +0 -7
- package/dist/agents/plugins/gemini.plugin.js.map +1 -1
- package/dist/agents/plugins/history-parser.d.ts +52 -0
- package/dist/agents/plugins/history-parser.d.ts.map +1 -0
- package/dist/agents/plugins/history-parser.js +155 -0
- package/dist/agents/plugins/history-parser.js.map +1 -0
- package/dist/cli/commands/analytics/aggregator.d.ts +58 -0
- package/dist/cli/commands/analytics/aggregator.d.ts.map +1 -0
- package/dist/cli/commands/analytics/aggregator.js +702 -0
- package/dist/cli/commands/analytics/aggregator.js.map +1 -0
- package/dist/cli/commands/analytics/data-loader.d.ts +84 -0
- package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -0
- package/dist/cli/commands/analytics/data-loader.js +211 -0
- package/dist/cli/commands/analytics/data-loader.js.map +1 -0
- package/dist/cli/commands/analytics/exporter.d.ts +20 -0
- package/dist/cli/commands/analytics/exporter.d.ts.map +1 -0
- package/dist/cli/commands/analytics/exporter.js +103 -0
- package/dist/cli/commands/analytics/exporter.js.map +1 -0
- package/dist/cli/commands/analytics/formatter.d.ts +49 -0
- package/dist/cli/commands/analytics/formatter.d.ts.map +1 -0
- package/dist/cli/commands/analytics/formatter.js +309 -0
- package/dist/cli/commands/analytics/formatter.js.map +1 -0
- package/dist/cli/commands/analytics/index.d.ts +6 -0
- package/dist/cli/commands/analytics/index.d.ts.map +1 -0
- package/dist/cli/commands/analytics/index.js +157 -0
- package/dist/cli/commands/analytics/index.js.map +1 -0
- package/dist/cli/commands/analytics/model-normalizer.d.ts +21 -0
- package/dist/cli/commands/analytics/model-normalizer.d.ts.map +1 -0
- package/dist/cli/commands/analytics/model-normalizer.js +44 -0
- package/dist/cli/commands/analytics/model-normalizer.js.map +1 -0
- package/dist/cli/commands/analytics/types.d.ts +188 -0
- package/dist/cli/commands/analytics/types.d.ts.map +1 -0
- package/dist/cli/commands/analytics/types.js +6 -0
- package/dist/cli/commands/analytics/types.js.map +1 -0
- package/dist/cli/commands/doctor/checks/AwsCliCheck.d.ts +9 -0
- package/dist/cli/commands/doctor/checks/AwsCliCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/checks/AwsCliCheck.js +28 -0
- package/dist/cli/commands/doctor/checks/AwsCliCheck.js.map +1 -0
- package/dist/cli/commands/doctor/checks/PythonCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/PythonCheck.js +10 -0
- package/dist/cli/commands/doctor/checks/PythonCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.js +2 -1
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
- package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/index.js +1 -0
- package/dist/cli/commands/doctor/checks/index.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +85 -3
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/profile.d.ts.map +1 -1
- package/dist/cli/commands/profile.js +49 -89
- package/dist/cli/commands/profile.js.map +1 -1
- package/dist/cli/commands/setup.js +1 -21
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +14 -2
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/metrics/MetricsOrchestrator.d.ts +67 -0
- package/dist/metrics/MetricsOrchestrator.d.ts.map +1 -0
- package/dist/metrics/MetricsOrchestrator.js +287 -0
- package/dist/metrics/MetricsOrchestrator.js.map +1 -0
- package/dist/metrics/config.d.ts +38 -0
- package/dist/metrics/config.d.ts.map +1 -0
- package/dist/metrics/config.js +80 -0
- package/dist/metrics/config.js.map +1 -0
- package/dist/metrics/core/DeltaWriter.d.ts +49 -0
- package/dist/metrics/core/DeltaWriter.d.ts.map +1 -0
- package/dist/metrics/core/DeltaWriter.js +146 -0
- package/dist/metrics/core/DeltaWriter.js.map +1 -0
- package/dist/metrics/core/FileSnapshotter.d.ts +22 -0
- package/dist/metrics/core/FileSnapshotter.d.ts.map +1 -0
- package/dist/metrics/core/FileSnapshotter.js +74 -0
- package/dist/metrics/core/FileSnapshotter.js.map +1 -0
- package/dist/metrics/core/SessionCorrelator.d.ts +34 -0
- package/dist/metrics/core/SessionCorrelator.d.ts.map +1 -0
- package/dist/metrics/core/SessionCorrelator.js +115 -0
- package/dist/metrics/core/SessionCorrelator.js.map +1 -0
- package/dist/metrics/core/SyncStateManager.d.ts +69 -0
- package/dist/metrics/core/SyncStateManager.d.ts.map +1 -0
- package/dist/metrics/core/SyncStateManager.js +284 -0
- package/dist/metrics/core/SyncStateManager.js.map +1 -0
- package/dist/metrics/index.d.ts +9 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js +11 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/session/SessionStore.d.ts +43 -0
- package/dist/metrics/session/SessionStore.d.ts.map +1 -0
- package/dist/metrics/session/SessionStore.js +142 -0
- package/dist/metrics/session/SessionStore.js.map +1 -0
- package/dist/metrics/sync/MetricsApiClient.d.ts +32 -0
- package/dist/metrics/sync/MetricsApiClient.d.ts.map +1 -0
- package/dist/metrics/sync/MetricsApiClient.js +155 -0
- package/dist/metrics/sync/MetricsApiClient.js.map +1 -0
- package/dist/metrics/sync/aggregator.d.ts +13 -0
- package/dist/metrics/sync/aggregator.d.ts.map +1 -0
- package/dist/metrics/sync/aggregator.js +196 -0
- package/dist/metrics/sync/aggregator.js.map +1 -0
- package/dist/metrics/sync/index.d.ts +10 -0
- package/dist/metrics/sync/index.d.ts.map +1 -0
- package/dist/metrics/sync/index.js +10 -0
- package/dist/metrics/sync/index.js.map +1 -0
- package/dist/metrics/sync/jsonl-writer.d.ts +28 -0
- package/dist/metrics/sync/jsonl-writer.d.ts.map +1 -0
- package/dist/metrics/sync/jsonl-writer.js +72 -0
- package/dist/metrics/sync/jsonl-writer.js.map +1 -0
- package/dist/metrics/sync/types.d.ts +72 -0
- package/dist/metrics/sync/types.d.ts.map +1 -0
- package/dist/metrics/sync/types.js +7 -0
- package/dist/metrics/sync/types.js.map +1 -0
- package/dist/metrics/types.d.ts +308 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/metrics/types.js +8 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +2 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/integration/setup-ui.d.ts +1 -1
- package/dist/providers/integration/setup-ui.d.ts.map +1 -1
- package/dist/providers/integration/setup-ui.js +51 -6
- package/dist/providers/integration/setup-ui.js.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.health.d.ts +53 -0
- package/dist/providers/plugins/bedrock/bedrock.health.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.health.js +115 -0
- package/dist/providers/plugins/bedrock/bedrock.health.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.models.d.ts +26 -0
- package/dist/providers/plugins/bedrock/bedrock.models.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.models.js +89 -0
- package/dist/providers/plugins/bedrock/bedrock.models.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.d.ts +12 -0
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.js +308 -0
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.template.d.ts +11 -0
- package/dist/providers/plugins/bedrock/bedrock.template.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.template.js +85 -0
- package/dist/providers/plugins/bedrock/bedrock.template.js.map +1 -0
- package/dist/providers/plugins/bedrock/index.d.ts +11 -0
- package/dist/providers/plugins/bedrock/index.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/index.js +11 -0
- package/dist/providers/plugins/bedrock/index.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -1
- package/dist/providers/plugins/ollama/ollama.template.js +2 -0
- package/dist/providers/plugins/ollama/ollama.template.js.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.d.ts +2 -0
- package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.js +9 -3
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
- package/dist/proxy/http-client.d.ts.map +1 -1
- package/dist/proxy/http-client.js +49 -14
- package/dist/proxy/http-client.js.map +1 -1
- package/dist/proxy/plugins/endpoint-blocker.plugin.d.ts +19 -0
- package/dist/proxy/plugins/endpoint-blocker.plugin.d.ts.map +1 -0
- package/dist/proxy/plugins/endpoint-blocker.plugin.js +61 -0
- package/dist/proxy/plugins/endpoint-blocker.plugin.js.map +1 -0
- package/dist/proxy/plugins/header-injection.plugin.js +3 -0
- package/dist/proxy/plugins/header-injection.plugin.js.map +1 -1
- package/dist/proxy/plugins/index.d.ts +3 -1
- package/dist/proxy/plugins/index.d.ts.map +1 -1
- package/dist/proxy/plugins/index.js +5 -1
- package/dist/proxy/plugins/index.js.map +1 -1
- package/dist/proxy/plugins/logging.plugin.d.ts +3 -3
- package/dist/proxy/plugins/logging.plugin.js +84 -20
- package/dist/proxy/plugins/logging.plugin.js.map +1 -1
- package/dist/proxy/plugins/metrics-sync.plugin.d.ts +33 -0
- package/dist/proxy/plugins/metrics-sync.plugin.d.ts.map +1 -0
- package/dist/proxy/plugins/metrics-sync.plugin.js +310 -0
- package/dist/proxy/plugins/metrics-sync.plugin.js.map +1 -0
- package/dist/proxy/plugins/registry.d.ts.map +1 -1
- package/dist/proxy/plugins/registry.js +8 -1
- package/dist/proxy/plugins/registry.js.map +1 -1
- package/dist/proxy/plugins/types.d.ts +6 -2
- package/dist/proxy/plugins/types.d.ts.map +1 -1
- package/dist/proxy/types.d.ts +7 -0
- package/dist/proxy/types.d.ts.map +1 -1
- package/dist/utils/ascii-logo.d.ts +21 -0
- package/dist/utils/ascii-logo.d.ts.map +1 -0
- package/dist/utils/ascii-logo.js +75 -0
- package/dist/utils/ascii-logo.js.map +1 -0
- package/dist/utils/codemie-proxy.d.ts +0 -6
- package/dist/utils/codemie-proxy.d.ts.map +1 -1
- package/dist/utils/codemie-proxy.js +46 -56
- package/dist/utils/codemie-proxy.js.map +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +22 -6
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/exec.d.ts +11 -0
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +17 -1
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/goodbye-messages.d.ts +13 -0
- package/dist/utils/goodbye-messages.d.ts.map +1 -0
- package/dist/utils/goodbye-messages.js +245 -0
- package/dist/utils/goodbye-messages.js.map +1 -0
- package/dist/utils/json-parser.d.ts +52 -0
- package/dist/utils/json-parser.d.ts.map +1 -0
- package/dist/utils/json-parser.js +126 -0
- package/dist/utils/json-parser.js.map +1 -0
- package/dist/utils/logger.d.ts +37 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +92 -20
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/sanitize.d.ts.map +1 -1
- package/dist/utils/sanitize.js +0 -1
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/which.d.ts +20 -0
- package/dist/utils/which.d.ts.map +1 -0
- package/dist/utils/which.js +47 -0
- package/dist/utils/which.js.map +1 -0
- package/package.json +10 -5
- package/dist/analytics/aggregation/adapters/claude.adapter.d.ts +0 -37
- package/dist/analytics/aggregation/adapters/claude.adapter.d.ts.map +0 -1
- package/dist/analytics/aggregation/adapters/claude.adapter.js +0 -531
- package/dist/analytics/aggregation/adapters/claude.adapter.js.map +0 -1
- package/dist/analytics/aggregation/adapters/codex.adapter.d.ts +0 -25
- package/dist/analytics/aggregation/adapters/codex.adapter.d.ts.map +0 -1
- package/dist/analytics/aggregation/adapters/codex.adapter.js +0 -396
- package/dist/analytics/aggregation/adapters/codex.adapter.js.map +0 -1
- package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts +0 -36
- package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts.map +0 -1
- package/dist/analytics/aggregation/adapters/gemini.adapter.js +0 -365
- package/dist/analytics/aggregation/adapters/gemini.adapter.js.map +0 -1
- package/dist/analytics/aggregation/adapters/index.d.ts +0 -7
- package/dist/analytics/aggregation/adapters/index.d.ts.map +0 -1
- package/dist/analytics/aggregation/adapters/index.js +0 -7
- package/dist/analytics/aggregation/adapters/index.js.map +0 -1
- package/dist/analytics/aggregation/aggregator.d.ts +0 -49
- package/dist/analytics/aggregation/aggregator.d.ts.map +0 -1
- package/dist/analytics/aggregation/aggregator.js +0 -239
- package/dist/analytics/aggregation/aggregator.js.map +0 -1
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts +0 -99
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js +0 -110
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js.map +0 -1
- package/dist/analytics/aggregation/core/adapter.interface.d.ts +0 -76
- package/dist/analytics/aggregation/core/adapter.interface.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/adapter.interface.js +0 -9
- package/dist/analytics/aggregation/core/adapter.interface.js.map +0 -1
- package/dist/analytics/aggregation/core/aggregation-utils.d.ts +0 -86
- package/dist/analytics/aggregation/core/aggregation-utils.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/aggregation-utils.js +0 -126
- package/dist/analytics/aggregation/core/aggregation-utils.js.map +0 -1
- package/dist/analytics/aggregation/core/discovery.d.ts +0 -40
- package/dist/analytics/aggregation/core/discovery.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/discovery.js +0 -132
- package/dist/analytics/aggregation/core/discovery.js.map +0 -1
- package/dist/analytics/aggregation/core/file-utils.d.ts +0 -24
- package/dist/analytics/aggregation/core/file-utils.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/file-utils.js +0 -143
- package/dist/analytics/aggregation/core/file-utils.js.map +0 -1
- package/dist/analytics/aggregation/core/index.d.ts +0 -14
- package/dist/analytics/aggregation/core/index.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/index.js +0 -14
- package/dist/analytics/aggregation/core/index.js.map +0 -1
- package/dist/analytics/aggregation/core/project-mapping.d.ts +0 -50
- package/dist/analytics/aggregation/core/project-mapping.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/project-mapping.js +0 -102
- package/dist/analytics/aggregation/core/project-mapping.js.map +0 -1
- package/dist/analytics/aggregation/core/streaming.d.ts +0 -26
- package/dist/analytics/aggregation/core/streaming.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/streaming.js +0 -58
- package/dist/analytics/aggregation/core/streaming.js.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-source.d.ts +0 -81
- package/dist/analytics/aggregation/core/user-prompt-source.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-source.js +0 -69
- package/dist/analytics/aggregation/core/user-prompt-source.js.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts +0 -49
- package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-sources/json.js +0 -66
- package/dist/analytics/aggregation/core/user-prompt-sources/json.js.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts +0 -43
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js +0 -56
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js.map +0 -1
- package/dist/analytics/aggregation/index.d.ts +0 -8
- package/dist/analytics/aggregation/index.d.ts.map +0 -1
- package/dist/analytics/aggregation/index.js +0 -8
- package/dist/analytics/aggregation/index.js.map +0 -1
- package/dist/analytics/aggregation/types.d.ts +0 -278
- package/dist/analytics/aggregation/types.d.ts.map +0 -1
- package/dist/analytics/aggregation/types.js +0 -8
- package/dist/analytics/aggregation/types.js.map +0 -1
- package/dist/analytics/collector.d.ts +0 -46
- package/dist/analytics/collector.d.ts.map +0 -1
- package/dist/analytics/collector.js +0 -83
- package/dist/analytics/collector.js.map +0 -1
- package/dist/analytics/config.d.ts +0 -15
- package/dist/analytics/config.d.ts.map +0 -1
- package/dist/analytics/config.js +0 -65
- package/dist/analytics/config.js.map +0 -1
- package/dist/analytics/index.d.ts +0 -99
- package/dist/analytics/index.d.ts.map +0 -1
- package/dist/analytics/index.js +0 -280
- package/dist/analytics/index.js.map +0 -1
- package/dist/analytics/plugins/api-metrics.plugin.d.ts +0 -26
- package/dist/analytics/plugins/api-metrics.plugin.d.ts.map +0 -1
- package/dist/analytics/plugins/api-metrics.plugin.js +0 -97
- package/dist/analytics/plugins/api-metrics.plugin.js.map +0 -1
- package/dist/analytics/plugins/index.d.ts +0 -15
- package/dist/analytics/plugins/index.d.ts.map +0 -1
- package/dist/analytics/plugins/index.js +0 -15
- package/dist/analytics/plugins/index.js.map +0 -1
- package/dist/analytics/plugins/model-metrics.plugin.d.ts +0 -39
- package/dist/analytics/plugins/model-metrics.plugin.d.ts.map +0 -1
- package/dist/analytics/plugins/model-metrics.plugin.js +0 -105
- package/dist/analytics/plugins/model-metrics.plugin.js.map +0 -1
- package/dist/analytics/plugins/provider-metrics.plugin.d.ts +0 -41
- package/dist/analytics/plugins/provider-metrics.plugin.d.ts.map +0 -1
- package/dist/analytics/plugins/provider-metrics.plugin.js +0 -123
- package/dist/analytics/plugins/provider-metrics.plugin.js.map +0 -1
- package/dist/analytics/plugins/types.d.ts +0 -61
- package/dist/analytics/plugins/types.d.ts.map +0 -1
- package/dist/analytics/plugins/types.js +0 -54
- package/dist/analytics/plugins/types.js.map +0 -1
- package/dist/analytics/privacy.d.ts +0 -10
- package/dist/analytics/privacy.d.ts.map +0 -1
- package/dist/analytics/privacy.js +0 -20
- package/dist/analytics/privacy.js.map +0 -1
- package/dist/analytics/remote-submission/cursor-manager.d.ts +0 -71
- package/dist/analytics/remote-submission/cursor-manager.d.ts.map +0 -1
- package/dist/analytics/remote-submission/cursor-manager.js +0 -204
- package/dist/analytics/remote-submission/cursor-manager.js.map +0 -1
- package/dist/analytics/remote-submission/index.d.ts +0 -12
- package/dist/analytics/remote-submission/index.d.ts.map +0 -1
- package/dist/analytics/remote-submission/index.js +0 -11
- package/dist/analytics/remote-submission/index.js.map +0 -1
- package/dist/analytics/remote-submission/lock-manager.d.ts +0 -71
- package/dist/analytics/remote-submission/lock-manager.d.ts.map +0 -1
- package/dist/analytics/remote-submission/lock-manager.js +0 -238
- package/dist/analytics/remote-submission/lock-manager.js.map +0 -1
- package/dist/analytics/remote-submission/metric-transformer.d.ts +0 -21
- package/dist/analytics/remote-submission/metric-transformer.d.ts.map +0 -1
- package/dist/analytics/remote-submission/metric-transformer.js +0 -82
- package/dist/analytics/remote-submission/metric-transformer.js.map +0 -1
- package/dist/analytics/remote-submission/submitter.d.ts +0 -79
- package/dist/analytics/remote-submission/submitter.d.ts.map +0 -1
- package/dist/analytics/remote-submission/submitter.js +0 -362
- package/dist/analytics/remote-submission/submitter.js.map +0 -1
- package/dist/analytics/remote-submission/types.d.ts +0 -123
- package/dist/analytics/remote-submission/types.d.ts.map +0 -1
- package/dist/analytics/remote-submission/types.js +0 -13
- package/dist/analytics/remote-submission/types.js.map +0 -1
- package/dist/analytics/session.d.ts +0 -56
- package/dist/analytics/session.d.ts.map +0 -1
- package/dist/analytics/session.js +0 -95
- package/dist/analytics/session.js.map +0 -1
- package/dist/analytics/types.d.ts +0 -104
- package/dist/analytics/types.d.ts.map +0 -1
- package/dist/analytics/types.js +0 -15
- package/dist/analytics/types.js.map +0 -1
- package/dist/analytics/writer.d.ts +0 -18
- package/dist/analytics/writer.d.ts.map +0 -1
- package/dist/analytics/writer.js +0 -44
- package/dist/analytics/writer.js.map +0 -1
- package/dist/cli/commands/analytics.d.ts +0 -3
- package/dist/cli/commands/analytics.d.ts.map +0 -1
- package/dist/cli/commands/analytics.js +0 -748
- package/dist/cli/commands/analytics.js.map +0 -1
- package/dist/utils/analytics-reader.d.ts +0 -117
- package/dist/utils/analytics-reader.d.ts.map +0 -1
- package/dist/utils/analytics-reader.js +0 -421
- package/dist/utils/analytics-reader.js.map +0 -1
- package/dist/utils/date-formatter.d.ts +0 -88
- package/dist/utils/date-formatter.d.ts.map +0 -1
- package/dist/utils/date-formatter.js +0 -133
- package/dist/utils/date-formatter.js.map +0 -1
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Project Path Mapping Utilities
|
|
3
|
-
*
|
|
4
|
-
* Manages the mapping between project hashes and actual file paths.
|
|
5
|
-
* Each agent (Gemini, Claude, etc.) stores their mappings in separate files.
|
|
6
|
-
*/
|
|
7
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
8
|
-
import { join } from 'node:path';
|
|
9
|
-
import { homedir } from 'node:os';
|
|
10
|
-
import { createHash } from 'node:crypto';
|
|
11
|
-
/**
|
|
12
|
-
* Get the path to the project mapping file for a specific agent
|
|
13
|
-
*/
|
|
14
|
-
function getMappingFilePath(agent) {
|
|
15
|
-
const codemieDir = join(homedir(), '.codemie');
|
|
16
|
-
return join(codemieDir, `${agent}-project-mappings.json`);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Ensure the .codemie directory exists
|
|
20
|
-
*/
|
|
21
|
-
function ensureCodemieDir() {
|
|
22
|
-
const codemieDir = join(homedir(), '.codemie');
|
|
23
|
-
if (!existsSync(codemieDir)) {
|
|
24
|
-
mkdirSync(codemieDir, { recursive: true });
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Load project mappings for an agent
|
|
29
|
-
*/
|
|
30
|
-
export function loadProjectMappings(agent) {
|
|
31
|
-
const filePath = getMappingFilePath(agent);
|
|
32
|
-
if (!existsSync(filePath)) {
|
|
33
|
-
return {
|
|
34
|
-
version: '1.0.0',
|
|
35
|
-
mappings: {}
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
try {
|
|
39
|
-
const content = readFileSync(filePath, 'utf-8');
|
|
40
|
-
return JSON.parse(content);
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
console.error(`Failed to load project mappings for ${agent}:`, error);
|
|
44
|
-
return {
|
|
45
|
-
version: '1.0.0',
|
|
46
|
-
mappings: {}
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Save project mappings for an agent
|
|
52
|
-
*/
|
|
53
|
-
export function saveProjectMappings(agent, mappings) {
|
|
54
|
-
ensureCodemieDir();
|
|
55
|
-
const filePath = getMappingFilePath(agent);
|
|
56
|
-
try {
|
|
57
|
-
writeFileSync(filePath, JSON.stringify(mappings, null, 2), 'utf-8');
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
console.error(`Failed to save project mappings for ${agent}:`, error);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Add or update a project mapping
|
|
65
|
-
*/
|
|
66
|
-
export function setProjectMapping(agent, hash, path) {
|
|
67
|
-
const mappings = loadProjectMappings(agent);
|
|
68
|
-
mappings.mappings[hash] = {
|
|
69
|
-
hash,
|
|
70
|
-
path,
|
|
71
|
-
lastUpdated: new Date().toISOString()
|
|
72
|
-
};
|
|
73
|
-
saveProjectMappings(agent, mappings);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Get the project path for a hash
|
|
77
|
-
*/
|
|
78
|
-
export function getProjectPath(agent, hash) {
|
|
79
|
-
const mappings = loadProjectMappings(agent);
|
|
80
|
-
return mappings.mappings[hash]?.path;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Resolve project path from hash, returning hash if not found
|
|
84
|
-
*/
|
|
85
|
-
export function resolveProjectPath(agent, hash) {
|
|
86
|
-
const path = getProjectPath(agent, hash);
|
|
87
|
-
return path || hash;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Generate SHA-256 hash of a path
|
|
91
|
-
*/
|
|
92
|
-
export function hashProjectPath(path) {
|
|
93
|
-
return createHash('sha256').update(path).digest('hex');
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Register current working directory (helper for agent lifecycle hooks)
|
|
97
|
-
*/
|
|
98
|
-
export function registerCurrentProject(agent, workingDir) {
|
|
99
|
-
const hash = hashProjectPath(workingDir);
|
|
100
|
-
setProjectMapping(agent, hash, workingDir);
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=project-mapping.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-mapping.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/project-mapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JSONL Streaming Utilities
|
|
3
|
-
*
|
|
4
|
-
* Provides efficient streaming for reading large JSONL (JSON Lines) files
|
|
5
|
-
* commonly used by agents like Claude, Codex, and CodeMie Native.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Stream JSONL file line by line
|
|
9
|
-
* @param filePath Path to JSONL file
|
|
10
|
-
* @yields Parsed JSON objects, one per line
|
|
11
|
-
*/
|
|
12
|
-
export declare function streamJSONL(filePath: string): AsyncGenerator<any>;
|
|
13
|
-
/**
|
|
14
|
-
* Read entire JSONL file into memory (for smaller files)
|
|
15
|
-
* @param filePath Path to JSONL file
|
|
16
|
-
* @param limit Optional limit on number of lines to read
|
|
17
|
-
* @returns Array of parsed JSON objects
|
|
18
|
-
*/
|
|
19
|
-
export declare function readJSONL(filePath: string, limit?: number): Promise<any[]>;
|
|
20
|
-
/**
|
|
21
|
-
* Read JSON file
|
|
22
|
-
* @param filePath Path to JSON file
|
|
23
|
-
* @returns Parsed JSON object
|
|
24
|
-
*/
|
|
25
|
-
export declare function readJSON(filePath: string): Promise<any>;
|
|
26
|
-
//# sourceMappingURL=streaming.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/streaming.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;GAIG;AACH,wBAAuB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAexE;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAWhF;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAI7D"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JSONL Streaming Utilities
|
|
3
|
-
*
|
|
4
|
-
* Provides efficient streaming for reading large JSONL (JSON Lines) files
|
|
5
|
-
* commonly used by agents like Claude, Codex, and CodeMie Native.
|
|
6
|
-
*/
|
|
7
|
-
import { createReadStream } from 'node:fs';
|
|
8
|
-
import { createInterface } from 'node:readline';
|
|
9
|
-
/**
|
|
10
|
-
* Stream JSONL file line by line
|
|
11
|
-
* @param filePath Path to JSONL file
|
|
12
|
-
* @yields Parsed JSON objects, one per line
|
|
13
|
-
*/
|
|
14
|
-
export async function* streamJSONL(filePath) {
|
|
15
|
-
const fileStream = createReadStream(filePath, { encoding: 'utf-8' });
|
|
16
|
-
const rl = createInterface({ input: fileStream });
|
|
17
|
-
for await (const line of rl) {
|
|
18
|
-
const trimmed = line.trim();
|
|
19
|
-
if (trimmed) {
|
|
20
|
-
try {
|
|
21
|
-
yield JSON.parse(trimmed);
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
// Skip invalid JSON lines
|
|
25
|
-
console.error(`Failed to parse JSONL line: ${error}`);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Read entire JSONL file into memory (for smaller files)
|
|
32
|
-
* @param filePath Path to JSONL file
|
|
33
|
-
* @param limit Optional limit on number of lines to read
|
|
34
|
-
* @returns Array of parsed JSON objects
|
|
35
|
-
*/
|
|
36
|
-
export async function readJSONL(filePath, limit) {
|
|
37
|
-
const results = [];
|
|
38
|
-
let count = 0;
|
|
39
|
-
for await (const obj of streamJSONL(filePath)) {
|
|
40
|
-
results.push(obj);
|
|
41
|
-
count++;
|
|
42
|
-
if (limit && count >= limit) {
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return results;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Read JSON file
|
|
50
|
-
* @param filePath Path to JSON file
|
|
51
|
-
* @returns Parsed JSON object
|
|
52
|
-
*/
|
|
53
|
-
export async function readJSON(filePath) {
|
|
54
|
-
const { readFile } = await import('node:fs/promises');
|
|
55
|
-
const content = await readFile(filePath, 'utf-8');
|
|
56
|
-
return JSON.parse(content);
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=streaming.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/streaming.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAAC,QAAgB;IACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAElD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,0BAA0B;gBAC1B,OAAO,CAAC,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,KAAc;IAC9D,MAAM,OAAO,GAAU,EAAE,CAAC;IAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -1,81 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,69 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,66 +0,0 @@
|
|
|
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 { existsSync } from 'node:fs';
|
|
11
|
-
import { readFile } from 'node:fs/promises';
|
|
12
|
-
import { UserPromptSource } from '../user-prompt-source.js';
|
|
13
|
-
/**
|
|
14
|
-
* JSON User Prompt Source
|
|
15
|
-
*
|
|
16
|
-
* Reads user prompts from JSON files with a custom mapper function.
|
|
17
|
-
* The mapper function converts agent-specific entry format to standard UserPrompt.
|
|
18
|
-
*
|
|
19
|
-
* Supports:
|
|
20
|
-
* - Single JSON array: [{ prompt: "...", ... }, ...]
|
|
21
|
-
* - Single JSON object: { prompt: "...", ... }
|
|
22
|
-
* - Multiple files via directory scanning
|
|
23
|
-
*
|
|
24
|
-
* Example usage:
|
|
25
|
-
* ```typescript
|
|
26
|
-
* const source = new JSONUserPromptSource(
|
|
27
|
-
* '~/.gemini/tmp/project-hash/logs.json',
|
|
28
|
-
* (entry) => ({
|
|
29
|
-
* prompt: entry.prompt,
|
|
30
|
-
* timestamp: new Date(entry.timestamp),
|
|
31
|
-
* sessionId: entry.sessionId || 'unknown',
|
|
32
|
-
* projectPath: entry.project,
|
|
33
|
-
* metadata: { projectHash: 'abc123' }
|
|
34
|
-
* })
|
|
35
|
-
* );
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export class JSONUserPromptSource extends UserPromptSource {
|
|
39
|
-
mapper;
|
|
40
|
-
constructor(filePath, mapper) {
|
|
41
|
-
super({ filePath, format: 'json' });
|
|
42
|
-
this.mapper = mapper;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Read all prompts from JSON file(s)
|
|
46
|
-
* Applies mapper to each entry, then filters
|
|
47
|
-
*/
|
|
48
|
-
async readPrompts(options) {
|
|
49
|
-
const filePath = this.config.filePath;
|
|
50
|
-
// Check if file exists
|
|
51
|
-
if (!existsSync(filePath)) {
|
|
52
|
-
return [];
|
|
53
|
-
}
|
|
54
|
-
// Read and parse file
|
|
55
|
-
const content = await readFile(filePath, 'utf-8');
|
|
56
|
-
const parsed = JSON.parse(content);
|
|
57
|
-
// Handle both array and single object
|
|
58
|
-
const entries = Array.isArray(parsed) ? parsed : [parsed];
|
|
59
|
-
// Map to UserPrompt objects
|
|
60
|
-
let prompts = entries.map(this.mapper);
|
|
61
|
-
// Apply filters
|
|
62
|
-
prompts = this.applyFilters(prompts, options);
|
|
63
|
-
return prompts;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=json.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../../src/analytics/aggregation/core/user-prompt-sources/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAGjB,MAAM,0BAA0B,CAAC;AAOlC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAG9C;IAFV,YACE,QAAgB,EACR,MAAkB;QAE1B,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAF5B,WAAM,GAAN,MAAM,CAAY;IAG5B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,OAA4B;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAkB,CAAC;QAEhD,uBAAuB;QACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,sBAAsB;QACtB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEnC,sCAAsC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE1D,4BAA4B;QAC5B,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvC,gBAAgB;QAChB,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JSONL User Prompt Source
|
|
3
|
-
*
|
|
4
|
-
* Generic implementation for reading user prompts from JSONL files.
|
|
5
|
-
* Used by Claude Code and other agents that store history in JSONL format.
|
|
6
|
-
*
|
|
7
|
-
* Format: One JSON object per line, chronologically ordered.
|
|
8
|
-
*/
|
|
9
|
-
import { UserPromptSource, UserPrompt, PromptQueryOptions } from '../user-prompt-source.js';
|
|
10
|
-
/**
|
|
11
|
-
* Mapper function type - converts raw JSONL entry to UserPrompt
|
|
12
|
-
*/
|
|
13
|
-
export type JSONLMapper = (entry: unknown) => UserPrompt;
|
|
14
|
-
/**
|
|
15
|
-
* JSONL User Prompt Source
|
|
16
|
-
*
|
|
17
|
-
* Reads user prompts from a single JSONL file with a custom mapper function.
|
|
18
|
-
* The mapper function converts agent-specific entry format to standard UserPrompt.
|
|
19
|
-
*
|
|
20
|
-
* Example usage:
|
|
21
|
-
* ```typescript
|
|
22
|
-
* const source = new JSONLUserPromptSource(
|
|
23
|
-
* '~/.claude/history.jsonl',
|
|
24
|
-
* (entry) => ({
|
|
25
|
-
* prompt: entry.display,
|
|
26
|
-
* timestamp: new Date(entry.timestamp),
|
|
27
|
-
* sessionId: entry.sessionId,
|
|
28
|
-
* projectPath: entry.project,
|
|
29
|
-
* metadata: { pastedContents: entry.pastedContents }
|
|
30
|
-
* })
|
|
31
|
-
* );
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
export declare class JSONLUserPromptSource extends UserPromptSource {
|
|
35
|
-
private mapper;
|
|
36
|
-
constructor(filePath: string, mapper: JSONLMapper);
|
|
37
|
-
/**
|
|
38
|
-
* Read all prompts from JSONL file
|
|
39
|
-
* Applies mapper to each line, then filters
|
|
40
|
-
*/
|
|
41
|
-
readPrompts(options?: PromptQueryOptions): Promise<UserPrompt[]>;
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=jsonl.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../../../../src/analytics/aggregation/core/user-prompt-sources/jsonl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAGlC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,qBAAsB,SAAQ,gBAAgB;IAGvD,OAAO,CAAC,MAAM;gBADd,QAAQ,EAAE,MAAM,EACR,MAAM,EAAE,WAAW;IAK7B;;;OAGG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAiBvE"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JSONL User Prompt Source
|
|
3
|
-
*
|
|
4
|
-
* Generic implementation for reading user prompts from JSONL files.
|
|
5
|
-
* Used by Claude Code and other agents that store history in JSONL format.
|
|
6
|
-
*
|
|
7
|
-
* Format: One JSON object per line, chronologically ordered.
|
|
8
|
-
*/
|
|
9
|
-
import { existsSync } from 'node:fs';
|
|
10
|
-
import { UserPromptSource } from '../user-prompt-source.js';
|
|
11
|
-
import { readJSONL } from '../streaming.js';
|
|
12
|
-
/**
|
|
13
|
-
* JSONL User Prompt Source
|
|
14
|
-
*
|
|
15
|
-
* Reads user prompts from a single JSONL file with a custom mapper function.
|
|
16
|
-
* The mapper function converts agent-specific entry format to standard UserPrompt.
|
|
17
|
-
*
|
|
18
|
-
* Example usage:
|
|
19
|
-
* ```typescript
|
|
20
|
-
* const source = new JSONLUserPromptSource(
|
|
21
|
-
* '~/.claude/history.jsonl',
|
|
22
|
-
* (entry) => ({
|
|
23
|
-
* prompt: entry.display,
|
|
24
|
-
* timestamp: new Date(entry.timestamp),
|
|
25
|
-
* sessionId: entry.sessionId,
|
|
26
|
-
* projectPath: entry.project,
|
|
27
|
-
* metadata: { pastedContents: entry.pastedContents }
|
|
28
|
-
* })
|
|
29
|
-
* );
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export class JSONLUserPromptSource extends UserPromptSource {
|
|
33
|
-
mapper;
|
|
34
|
-
constructor(filePath, mapper) {
|
|
35
|
-
super({ filePath, format: 'jsonl' });
|
|
36
|
-
this.mapper = mapper;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Read all prompts from JSONL file
|
|
40
|
-
* Applies mapper to each line, then filters
|
|
41
|
-
*/
|
|
42
|
-
async readPrompts(options) {
|
|
43
|
-
const filePath = this.config.filePath;
|
|
44
|
-
// Check if file exists
|
|
45
|
-
if (!existsSync(filePath)) {
|
|
46
|
-
return [];
|
|
47
|
-
}
|
|
48
|
-
// Read and parse all lines
|
|
49
|
-
const entries = await readJSONL(filePath);
|
|
50
|
-
let prompts = entries.map(this.mapper);
|
|
51
|
-
// Apply filters
|
|
52
|
-
prompts = this.applyFilters(prompts, options);
|
|
53
|
-
return prompts;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=jsonl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsonl.js","sourceRoot":"","sources":["../../../../../src/analytics/aggregation/core/user-prompt-sources/jsonl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,gBAAgB,EAGjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO5C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,qBAAsB,SAAQ,gBAAgB;IAG/C;IAFV,YACE,QAAgB,EACR,MAAmB;QAE3B,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAF7B,WAAM,GAAN,MAAM,CAAa;IAG7B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,OAA4B;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAkB,CAAC;QAEhD,uBAAuB;QACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,2BAA2B;QAC3B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvC,gBAAgB;QAChB,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9C,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analytics/aggregation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analytics/aggregation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
|