@codemieai/code 0.0.15 → 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 +86 -14
- 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 +5 -34
- 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 +12 -4
- package/dist/agents/codemie-code/config.js.map +1 -1
- package/dist/agents/codemie-code/tools/planning.d.ts +1 -1
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +30 -63
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +10 -6
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +108 -36
- 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 +46 -14
- 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 +2 -4
- 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.d.ts.map +1 -1
- package/dist/agents/plugins/gemini.plugin.js +1 -8
- 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/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/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/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 +107 -10
- 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 +130 -92
- 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 +147 -668
- package/dist/cli/commands/setup.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 +5 -2
- 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/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 +22 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +24 -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 +186 -0
- package/dist/providers/integration/setup-ui.js.map +1 -0
- 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/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 +89 -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/providers/plugins/sso/sso.http-client.d.ts +24 -0
- package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.http-client.js +193 -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 +50 -15
- package/dist/proxy/http-client.js.map +1 -0
- 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.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/header-injection.plugin.js +10 -3
- package/dist/proxy/plugins/header-injection.plugin.js.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/index.d.ts +4 -2
- package/dist/proxy/plugins/index.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/index.js +7 -5
- 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 +156 -0
- package/dist/proxy/plugins/logging.plugin.js.map +1 -0
- 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 -0
- package/dist/{utils/proxy → proxy}/plugins/registry.js +9 -2
- package/dist/proxy/plugins/registry.js.map +1 -0
- package/dist/proxy/plugins/sso-auth.plugin.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/sso-auth.plugin.js +1 -1
- package/dist/proxy/plugins/sso-auth.plugin.js.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/types.d.ts +8 -4
- package/dist/proxy/plugins/types.d.ts.map +1 -0
- package/dist/proxy/plugins/types.js.map +1 -0
- package/dist/{utils/proxy → proxy}/types.d.ts +7 -0
- package/dist/proxy/types.d.ts.map +1 -0
- package/dist/proxy/types.js.map +1 -0
- 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 +2 -7
- package/dist/utils/codemie-proxy.d.ts.map +1 -1
- package/dist/utils/codemie-proxy.js +56 -61
- package/dist/utils/codemie-proxy.js.map +1 -1
- package/dist/utils/config-loader.d.ts +1 -6
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +49 -93
- 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/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 -22
- 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 -288
- 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 -49
- package/dist/analytics/remote-submission/metric-transformer.d.ts.map +0 -1
- package/dist/analytics/remote-submission/metric-transformer.js +0 -175
- package/dist/analytics/remote-submission/metric-transformer.js.map +0 -1
- package/dist/analytics/remote-submission/submitter.d.ts +0 -78
- package/dist/analytics/remote-submission/submitter.d.ts.map +0 -1
- package/dist/analytics/remote-submission/submitter.js +0 -381
- package/dist/analytics/remote-submission/submitter.js.map +0 -1
- package/dist/analytics/remote-submission/types.d.ts +0 -169
- 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/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 -264
- 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/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/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/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 +0 -11
- package/dist/utils/codemie-model-fetcher.d.ts.map +0 -1
- package/dist/utils/codemie-model-fetcher.js +0 -317
- package/dist/utils/codemie-model-fetcher.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
- 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/plugins/analytics.plugin.d.ts +0 -19
- package/dist/utils/proxy/plugins/analytics.plugin.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/analytics.plugin.js +0 -84
- package/dist/utils/proxy/plugins/analytics.plugin.js.map +0 -1
- package/dist/utils/proxy/plugins/header-injection.plugin.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/header-injection.plugin.js.map +0 -1
- package/dist/utils/proxy/plugins/index.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/index.js.map +0 -1
- package/dist/utils/proxy/plugins/registry.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/registry.js.map +0 -1
- package/dist/utils/proxy/plugins/sso-auth.plugin.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/sso-auth.plugin.js.map +0 -1
- package/dist/utils/proxy/plugins/types.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/types.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}/plugins/header-injection.plugin.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/plugins/registry.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/plugins/sso-auth.plugin.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/plugins/types.js +0 -0
- /package/dist/{utils/proxy → proxy}/types.js +0 -0
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provider health checks registry
|
|
3
|
-
*/
|
|
4
|
-
import { AIRunSSOProviderCheck } from './AIRunSSOProviderCheck.js';
|
|
5
|
-
import { StandardProviderCheck } from './StandardProviderCheck.js';
|
|
6
|
-
export { BaseProviderCheck } from './BaseProviderCheck.js';
|
|
7
|
-
export { AIRunSSOProviderCheck } from './AIRunSSOProviderCheck.js';
|
|
8
|
-
export { StandardProviderCheck } from './StandardProviderCheck.js';
|
|
9
|
-
/**
|
|
10
|
-
* Registry of all provider-specific health checks
|
|
11
|
-
*/
|
|
12
|
-
class ProviderCheckRegistry {
|
|
13
|
-
checks = [
|
|
14
|
-
new AIRunSSOProviderCheck(),
|
|
15
|
-
new StandardProviderCheck()
|
|
16
|
-
];
|
|
17
|
-
/**
|
|
18
|
-
* Get applicable checks for a given provider
|
|
19
|
-
*/
|
|
20
|
-
getChecksForProvider(provider) {
|
|
21
|
-
return this.checks.filter(check => check.supports(provider));
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Run all applicable provider checks
|
|
25
|
-
* @param config Configuration to check
|
|
26
|
-
* @param onProgress Optional callback called before each check starts
|
|
27
|
-
*/
|
|
28
|
-
async runChecks(config, onProgress) {
|
|
29
|
-
if (!config.provider) {
|
|
30
|
-
return [];
|
|
31
|
-
}
|
|
32
|
-
const applicableChecks = this.getChecksForProvider(config.provider);
|
|
33
|
-
const results = [];
|
|
34
|
-
for (const check of applicableChecks) {
|
|
35
|
-
try {
|
|
36
|
-
// Notify progress if callback provided
|
|
37
|
-
if (onProgress) {
|
|
38
|
-
onProgress('Provider');
|
|
39
|
-
}
|
|
40
|
-
const result = await check.check(config);
|
|
41
|
-
results.push(result);
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
// If a check throws an error, capture it
|
|
45
|
-
results.push({
|
|
46
|
-
name: 'Provider Check Error',
|
|
47
|
-
success: false,
|
|
48
|
-
details: [{
|
|
49
|
-
status: 'error',
|
|
50
|
-
message: `Check failed: ${error instanceof Error ? error.message : String(error)}`
|
|
51
|
-
}]
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return results;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Register a custom provider check
|
|
59
|
-
*/
|
|
60
|
-
register(check) {
|
|
61
|
-
this.checks.push(check);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
// Export singleton instance
|
|
65
|
-
export const providerCheckRegistry = new ProviderCheckRegistry();
|
|
66
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/doctor/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;GAEG;AACH,MAAM,qBAAqB;IACjB,MAAM,GAA0B;QACtC,IAAI,qBAAqB,EAAE;QAC3B,IAAI,qBAAqB,EAAE;KAC5B,CAAC;IAEF;;OAEG;IACH,oBAAoB,CAAC,QAAgB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CACb,MAA4B,EAC5B,UAAwC;QAExC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,OAAO,GAAwB,EAAE,CAAC;QAExC,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,uCAAuC;gBACvC,IAAI,UAAU,EAAE,CAAC;oBACf,UAAU,CAAC,UAAU,CAAC,CAAC;gBACzB,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yCAAyC;gBACzC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,sBAAsB;oBAC5B,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,CAAC;4BACR,MAAM,EAAE,OAAO;4BACf,OAAO,EAAE,iBAAiB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;yBACnF,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAA0B;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,4BAA4B;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,EAAE,CAAC"}
|
package/dist/types/sso.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
export interface SSOAuthConfig {
|
|
2
|
-
codeMieUrl: string;
|
|
3
|
-
timeout?: number;
|
|
4
|
-
}
|
|
5
|
-
export interface SSOAuthResult {
|
|
6
|
-
success: boolean;
|
|
7
|
-
apiUrl?: string;
|
|
8
|
-
cookies?: Record<string, string>;
|
|
9
|
-
error?: string;
|
|
10
|
-
}
|
|
11
|
-
export interface CodeMieModel {
|
|
12
|
-
id?: string;
|
|
13
|
-
base_name?: string;
|
|
14
|
-
deployment_name?: string;
|
|
15
|
-
label?: string;
|
|
16
|
-
name?: string;
|
|
17
|
-
description?: string;
|
|
18
|
-
context_length?: number;
|
|
19
|
-
provider?: string;
|
|
20
|
-
multimodal?: boolean;
|
|
21
|
-
react_agent?: boolean;
|
|
22
|
-
enabled?: boolean;
|
|
23
|
-
default?: boolean;
|
|
24
|
-
}
|
|
25
|
-
export interface SSOCredentials {
|
|
26
|
-
cookies: Record<string, string>;
|
|
27
|
-
apiUrl: string;
|
|
28
|
-
expiresAt?: number;
|
|
29
|
-
}
|
|
30
|
-
export interface CodeMieIntegration {
|
|
31
|
-
id: string;
|
|
32
|
-
alias: string;
|
|
33
|
-
project_name: string;
|
|
34
|
-
credential_type: string;
|
|
35
|
-
created_at?: string;
|
|
36
|
-
updated_at?: string;
|
|
37
|
-
}
|
|
38
|
-
export interface CodeMieIntegrationsResponse {
|
|
39
|
-
integrations?: CodeMieIntegration[];
|
|
40
|
-
[key: string]: any;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=sso.d.ts.map
|
package/dist/types/sso.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sso.d.ts","sourceRoot":"","sources":["../../src/types/sso.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
|
package/dist/types/sso.js
DELETED
package/dist/types/sso.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sso.js","sourceRoot":"","sources":["../../src/types/sso.ts"],"names":[],"mappings":""}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Analytics Reader Utility
|
|
3
|
-
* Reads and aggregates analytics data from JSONL files
|
|
4
|
-
*/
|
|
5
|
-
import type { AnalyticsEvent } from '../analytics/types.js';
|
|
6
|
-
export interface AnalyticsFilters {
|
|
7
|
-
agent?: string;
|
|
8
|
-
eventType?: string;
|
|
9
|
-
from?: Date;
|
|
10
|
-
to?: Date;
|
|
11
|
-
}
|
|
12
|
-
export interface AnalyticsStats {
|
|
13
|
-
totalSessions: number;
|
|
14
|
-
successRate: number;
|
|
15
|
-
avgLatency: number;
|
|
16
|
-
apiRequests: number;
|
|
17
|
-
apiErrors: number;
|
|
18
|
-
agentUsage: Record<string, {
|
|
19
|
-
displayName: string;
|
|
20
|
-
sessions: number;
|
|
21
|
-
apiCalls: number;
|
|
22
|
-
}>;
|
|
23
|
-
modelUsage: Record<string, {
|
|
24
|
-
apiCalls: number;
|
|
25
|
-
}>;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Get analytics directory path
|
|
29
|
-
*/
|
|
30
|
-
export declare function getAnalyticsPath(): string;
|
|
31
|
-
/**
|
|
32
|
-
* Get analytics file path for a specific date
|
|
33
|
-
* @param date - Date in YYYY-MM-DD format
|
|
34
|
-
*/
|
|
35
|
-
export declare function getAnalyticsFilePath(date: string): string;
|
|
36
|
-
/**
|
|
37
|
-
* Read analytics events for a specific date
|
|
38
|
-
* @param date - Date in YYYY-MM-DD format (UTC)
|
|
39
|
-
* @returns Array of analytics events
|
|
40
|
-
*/
|
|
41
|
-
export declare function readAnalyticsForDate(date: string): Promise<AnalyticsEvent[]>;
|
|
42
|
-
/**
|
|
43
|
-
* Read analytics events for a local date
|
|
44
|
-
* Handles timezone conversion to read correct UTC files
|
|
45
|
-
* @param localDate - Date in YYYY-MM-DD format (local timezone)
|
|
46
|
-
* @returns Array of analytics events that fall within the local date
|
|
47
|
-
*/
|
|
48
|
-
export declare function readAnalyticsForLocalDate(localDate: string): Promise<AnalyticsEvent[]>;
|
|
49
|
-
/**
|
|
50
|
-
* Read analytics events for a date range (UTC dates)
|
|
51
|
-
* @param from - Start date (YYYY-MM-DD, UTC)
|
|
52
|
-
* @param to - End date (YYYY-MM-DD, UTC)
|
|
53
|
-
* @returns Array of analytics events
|
|
54
|
-
*/
|
|
55
|
-
export declare function readAnalyticsForDateRange(from: string, to: string): Promise<AnalyticsEvent[]>;
|
|
56
|
-
/**
|
|
57
|
-
* Read analytics events for a local date range
|
|
58
|
-
* Handles timezone conversion to read correct UTC files
|
|
59
|
-
* @param from - Start date (YYYY-MM-DD, local timezone)
|
|
60
|
-
* @param to - End date (YYYY-MM-DD, local timezone)
|
|
61
|
-
* @returns Array of analytics events that fall within the local date range
|
|
62
|
-
*/
|
|
63
|
-
export declare function readAnalyticsForLocalDateRange(from: string, to: string): Promise<AnalyticsEvent[]>;
|
|
64
|
-
/**
|
|
65
|
-
* Filter analytics events
|
|
66
|
-
* @param events - Array of events to filter
|
|
67
|
-
* @param filters - Filter criteria
|
|
68
|
-
* @returns Filtered events
|
|
69
|
-
*/
|
|
70
|
-
export declare function filterEvents(events: AnalyticsEvent[], filters: AnalyticsFilters): AnalyticsEvent[];
|
|
71
|
-
/**
|
|
72
|
-
* Calculate statistics from analytics events
|
|
73
|
-
* @param events - Array of analytics events
|
|
74
|
-
* @returns Calculated statistics
|
|
75
|
-
*/
|
|
76
|
-
export declare function calculateStats(events: AnalyticsEvent[]): AnalyticsStats;
|
|
77
|
-
/**
|
|
78
|
-
* Export analytics events to CSV format
|
|
79
|
-
* @param events - Array of events to export
|
|
80
|
-
* @param outputPath - Output file path
|
|
81
|
-
*/
|
|
82
|
-
export declare function exportToCSV(events: AnalyticsEvent[], outputPath: string): Promise<void>;
|
|
83
|
-
/**
|
|
84
|
-
* Export analytics events to JSON format
|
|
85
|
-
* @param events - Array of events to export
|
|
86
|
-
* @param outputPath - Output file path
|
|
87
|
-
*/
|
|
88
|
-
export declare function exportToJSON(events: AnalyticsEvent[], outputPath: string): Promise<void>;
|
|
89
|
-
/**
|
|
90
|
-
* List all analytics files
|
|
91
|
-
* @returns Array of file info with dates and sizes
|
|
92
|
-
*/
|
|
93
|
-
export declare function listAnalyticsFiles(): Promise<Array<{
|
|
94
|
-
date: string;
|
|
95
|
-
path: string;
|
|
96
|
-
size: number;
|
|
97
|
-
events: number;
|
|
98
|
-
}>>;
|
|
99
|
-
/**
|
|
100
|
-
* Delete analytics files older than a threshold
|
|
101
|
-
* @param olderThanDays - Delete files older than this many days
|
|
102
|
-
* @returns Array of deleted file paths
|
|
103
|
-
*/
|
|
104
|
-
export declare function clearOldAnalytics(olderThanDays: number): Promise<string[]>;
|
|
105
|
-
/**
|
|
106
|
-
* Format file size for display
|
|
107
|
-
* @param bytes - Size in bytes
|
|
108
|
-
* @returns Formatted string
|
|
109
|
-
*/
|
|
110
|
-
export declare function formatFileSize(bytes: number): string;
|
|
111
|
-
/**
|
|
112
|
-
* Format duration in milliseconds to human-readable string
|
|
113
|
-
* @param ms - Duration in milliseconds
|
|
114
|
-
* @returns Formatted string
|
|
115
|
-
*/
|
|
116
|
-
export declare function formatDuration(ms: number): string;
|
|
117
|
-
//# sourceMappingURL=analytics-reader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-reader.d.ts","sourceRoot":"","sources":["../../src/utils/analytics-reader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,EAAE,CAAC,EAAE,IAAI,CAAC;CACX;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IAGH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CA2BlF;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAmB5F;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAgBnG;AAED;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAiBxG;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,cAAc,EAAE,CAwBlG;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,CA8GvE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C7F;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB9F;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAoDvH;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBhF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKjD"}
|
|
@@ -1,421 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Analytics Reader Utility
|
|
3
|
-
* Reads and aggregates analytics data from JSONL files
|
|
4
|
-
*/
|
|
5
|
-
import { readFile, readdir, stat, unlink } from 'node:fs/promises';
|
|
6
|
-
import { join } from 'node:path';
|
|
7
|
-
import { homedir } from 'node:os';
|
|
8
|
-
import { createReadStream, createWriteStream } from 'node:fs';
|
|
9
|
-
import { createInterface } from 'node:readline';
|
|
10
|
-
import { getUTCDateString, localDateToUTCRange, getUTCFilesForLocalDate } from './date-formatter.js';
|
|
11
|
-
import { AgentRegistry } from '../agents/registry.js';
|
|
12
|
-
/**
|
|
13
|
-
* Get analytics directory path
|
|
14
|
-
*/
|
|
15
|
-
export function getAnalyticsPath() {
|
|
16
|
-
return join(homedir(), '.codemie', 'analytics');
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Get analytics file path for a specific date
|
|
20
|
-
* @param date - Date in YYYY-MM-DD format
|
|
21
|
-
*/
|
|
22
|
-
export function getAnalyticsFilePath(date) {
|
|
23
|
-
return join(getAnalyticsPath(), `${date}.jsonl`);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Read analytics events for a specific date
|
|
27
|
-
* @param date - Date in YYYY-MM-DD format (UTC)
|
|
28
|
-
* @returns Array of analytics events
|
|
29
|
-
*/
|
|
30
|
-
export async function readAnalyticsForDate(date) {
|
|
31
|
-
const filePath = getAnalyticsFilePath(date);
|
|
32
|
-
const events = [];
|
|
33
|
-
try {
|
|
34
|
-
const content = await readFile(filePath, 'utf-8');
|
|
35
|
-
const lines = content.trim().split('\n');
|
|
36
|
-
for (const line of lines) {
|
|
37
|
-
if (line.trim()) {
|
|
38
|
-
try {
|
|
39
|
-
const event = JSON.parse(line);
|
|
40
|
-
events.push(event);
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
// Skip invalid lines
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
if (error.code === 'ENOENT') {
|
|
50
|
-
// File doesn't exist, return empty array
|
|
51
|
-
return [];
|
|
52
|
-
}
|
|
53
|
-
throw error;
|
|
54
|
-
}
|
|
55
|
-
return events;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Read analytics events for a local date
|
|
59
|
-
* Handles timezone conversion to read correct UTC files
|
|
60
|
-
* @param localDate - Date in YYYY-MM-DD format (local timezone)
|
|
61
|
-
* @returns Array of analytics events that fall within the local date
|
|
62
|
-
*/
|
|
63
|
-
export async function readAnalyticsForLocalDate(localDate) {
|
|
64
|
-
// Get UTC files that might contain events for this local date
|
|
65
|
-
const utcDates = getUTCFilesForLocalDate(localDate);
|
|
66
|
-
// Get the UTC time range for the local date
|
|
67
|
-
const { start, end } = localDateToUTCRange(localDate);
|
|
68
|
-
// Read all potentially relevant UTC files
|
|
69
|
-
const allEvents = [];
|
|
70
|
-
for (const utcDate of utcDates) {
|
|
71
|
-
const events = await readAnalyticsForDate(utcDate);
|
|
72
|
-
allEvents.push(...events);
|
|
73
|
-
}
|
|
74
|
-
// Filter to only events within the local date range
|
|
75
|
-
return allEvents.filter(event => {
|
|
76
|
-
const eventTime = new Date(event.timestamp);
|
|
77
|
-
return eventTime >= start && eventTime <= end;
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Read analytics events for a date range (UTC dates)
|
|
82
|
-
* @param from - Start date (YYYY-MM-DD, UTC)
|
|
83
|
-
* @param to - End date (YYYY-MM-DD, UTC)
|
|
84
|
-
* @returns Array of analytics events
|
|
85
|
-
*/
|
|
86
|
-
export async function readAnalyticsForDateRange(from, to) {
|
|
87
|
-
const events = [];
|
|
88
|
-
const fromDate = new Date(from + 'T00:00:00.000Z');
|
|
89
|
-
const toDate = new Date(to + 'T23:59:59.999Z');
|
|
90
|
-
// Iterate through each UTC date in the range
|
|
91
|
-
const currentDate = new Date(fromDate);
|
|
92
|
-
while (currentDate <= toDate) {
|
|
93
|
-
const dateStr = getUTCDateString(currentDate);
|
|
94
|
-
const dateEvents = await readAnalyticsForDate(dateStr);
|
|
95
|
-
events.push(...dateEvents);
|
|
96
|
-
currentDate.setUTCDate(currentDate.getUTCDate() + 1);
|
|
97
|
-
}
|
|
98
|
-
return events;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Read analytics events for a local date range
|
|
102
|
-
* Handles timezone conversion to read correct UTC files
|
|
103
|
-
* @param from - Start date (YYYY-MM-DD, local timezone)
|
|
104
|
-
* @param to - End date (YYYY-MM-DD, local timezone)
|
|
105
|
-
* @returns Array of analytics events that fall within the local date range
|
|
106
|
-
*/
|
|
107
|
-
export async function readAnalyticsForLocalDateRange(from, to) {
|
|
108
|
-
// Get UTC time range for the local date range
|
|
109
|
-
const { start: startLocal } = localDateToUTCRange(from);
|
|
110
|
-
const { end: endLocal } = localDateToUTCRange(to);
|
|
111
|
-
// Determine which UTC files to read
|
|
112
|
-
const utcFrom = getUTCDateString(startLocal);
|
|
113
|
-
const utcTo = getUTCDateString(endLocal);
|
|
114
|
-
// Read all events in UTC range
|
|
115
|
-
const allEvents = await readAnalyticsForDateRange(utcFrom, utcTo);
|
|
116
|
-
// Filter to only events within the local date range
|
|
117
|
-
return allEvents.filter(event => {
|
|
118
|
-
const eventTime = new Date(event.timestamp);
|
|
119
|
-
return eventTime >= startLocal && eventTime <= endLocal;
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Filter analytics events
|
|
124
|
-
* @param events - Array of events to filter
|
|
125
|
-
* @param filters - Filter criteria
|
|
126
|
-
* @returns Filtered events
|
|
127
|
-
*/
|
|
128
|
-
export function filterEvents(events, filters) {
|
|
129
|
-
return events.filter(event => {
|
|
130
|
-
if (filters.agent && event.agent !== filters.agent) {
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
if (filters.eventType && event.eventType !== filters.eventType) {
|
|
134
|
-
return false;
|
|
135
|
-
}
|
|
136
|
-
if (filters.from || filters.to) {
|
|
137
|
-
const eventDate = new Date(event.timestamp);
|
|
138
|
-
if (filters.from && eventDate < filters.from) {
|
|
139
|
-
return false;
|
|
140
|
-
}
|
|
141
|
-
if (filters.to && eventDate > filters.to) {
|
|
142
|
-
return false;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
return true;
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Calculate statistics from analytics events
|
|
150
|
-
* @param events - Array of analytics events
|
|
151
|
-
* @returns Calculated statistics
|
|
152
|
-
*/
|
|
153
|
-
export function calculateStats(events) {
|
|
154
|
-
const sessions = new Set();
|
|
155
|
-
let totalLatency = 0;
|
|
156
|
-
let latencyCount = 0;
|
|
157
|
-
// API counters
|
|
158
|
-
let apiRequests = 0;
|
|
159
|
-
let apiErrors = 0;
|
|
160
|
-
// Agent usage tracking
|
|
161
|
-
const agentUsage = {};
|
|
162
|
-
// Model usage tracking
|
|
163
|
-
const modelUsage = {};
|
|
164
|
-
for (const event of events) {
|
|
165
|
-
// Track sessions
|
|
166
|
-
if (event.sessionId) {
|
|
167
|
-
sessions.add(event.sessionId);
|
|
168
|
-
}
|
|
169
|
-
// Track event types
|
|
170
|
-
switch (event.eventType) {
|
|
171
|
-
case 'api_request':
|
|
172
|
-
apiRequests++;
|
|
173
|
-
if (event.agent) {
|
|
174
|
-
if (!agentUsage[event.agent]) {
|
|
175
|
-
agentUsage[event.agent] = { sessions: new Set(), apiCalls: 0 };
|
|
176
|
-
}
|
|
177
|
-
agentUsage[event.agent].apiCalls++;
|
|
178
|
-
}
|
|
179
|
-
if (event.model) {
|
|
180
|
-
if (!modelUsage[event.model]) {
|
|
181
|
-
modelUsage[event.model] = { apiCalls: 0 };
|
|
182
|
-
}
|
|
183
|
-
modelUsage[event.model].apiCalls++;
|
|
184
|
-
}
|
|
185
|
-
break;
|
|
186
|
-
case 'api_error':
|
|
187
|
-
apiErrors++;
|
|
188
|
-
if (event.agent) {
|
|
189
|
-
if (!agentUsage[event.agent]) {
|
|
190
|
-
agentUsage[event.agent] = { sessions: new Set(), apiCalls: 0 };
|
|
191
|
-
}
|
|
192
|
-
agentUsage[event.agent].apiCalls++;
|
|
193
|
-
}
|
|
194
|
-
if (event.model) {
|
|
195
|
-
if (!modelUsage[event.model]) {
|
|
196
|
-
modelUsage[event.model] = { apiCalls: 0 };
|
|
197
|
-
}
|
|
198
|
-
modelUsage[event.model].apiCalls++;
|
|
199
|
-
}
|
|
200
|
-
break;
|
|
201
|
-
}
|
|
202
|
-
// Track latency
|
|
203
|
-
if (event.metrics?.latencyMs) {
|
|
204
|
-
totalLatency += event.metrics.latencyMs;
|
|
205
|
-
latencyCount++;
|
|
206
|
-
}
|
|
207
|
-
// Ensure agent sessions are tracked
|
|
208
|
-
if (event.agent && event.sessionId) {
|
|
209
|
-
if (!agentUsage[event.agent]) {
|
|
210
|
-
agentUsage[event.agent] = { sessions: new Set(), apiCalls: 0 };
|
|
211
|
-
}
|
|
212
|
-
agentUsage[event.agent].sessions.add(event.sessionId);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
// Calculate success rate from API responses
|
|
216
|
-
let apiSuccessCount = 0;
|
|
217
|
-
let apiTotalCount = 0;
|
|
218
|
-
for (const event of events) {
|
|
219
|
-
if (event.eventType === 'api_response' && event.attributes.statusCode) {
|
|
220
|
-
apiTotalCount++;
|
|
221
|
-
const statusCode = Number(event.attributes.statusCode);
|
|
222
|
-
if (statusCode >= 200 && statusCode < 300) {
|
|
223
|
-
apiSuccessCount++;
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
const successRate = apiTotalCount > 0 ? (apiSuccessCount / apiTotalCount) * 100 : 0;
|
|
228
|
-
// Convert agent usage to final format with display names from registry
|
|
229
|
-
const finalAgentUsage = {};
|
|
230
|
-
for (const [agentName, data] of Object.entries(agentUsage)) {
|
|
231
|
-
// Get display name from plugin registry
|
|
232
|
-
const adapter = AgentRegistry.getAgent(agentName);
|
|
233
|
-
const displayName = adapter?.displayName || agentName;
|
|
234
|
-
finalAgentUsage[agentName] = {
|
|
235
|
-
displayName,
|
|
236
|
-
sessions: data.sessions.size,
|
|
237
|
-
apiCalls: data.apiCalls
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
return {
|
|
241
|
-
totalSessions: sessions.size,
|
|
242
|
-
successRate,
|
|
243
|
-
avgLatency: latencyCount > 0 ? totalLatency / latencyCount : 0,
|
|
244
|
-
apiRequests,
|
|
245
|
-
apiErrors,
|
|
246
|
-
agentUsage: finalAgentUsage,
|
|
247
|
-
modelUsage
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Export analytics events to CSV format
|
|
252
|
-
* @param events - Array of events to export
|
|
253
|
-
* @param outputPath - Output file path
|
|
254
|
-
*/
|
|
255
|
-
export async function exportToCSV(events, outputPath) {
|
|
256
|
-
const writeStream = createWriteStream(outputPath);
|
|
257
|
-
// Write CSV header
|
|
258
|
-
const headers = [
|
|
259
|
-
'timestamp',
|
|
260
|
-
'eventType',
|
|
261
|
-
'sessionId',
|
|
262
|
-
'installationId',
|
|
263
|
-
'agent',
|
|
264
|
-
'agentVersion',
|
|
265
|
-
'cliVersion',
|
|
266
|
-
'profile',
|
|
267
|
-
'provider',
|
|
268
|
-
'model',
|
|
269
|
-
'latencyMs',
|
|
270
|
-
'attributes'
|
|
271
|
-
];
|
|
272
|
-
writeStream.write(headers.join(',') + '\n');
|
|
273
|
-
// Write events
|
|
274
|
-
for (const event of events) {
|
|
275
|
-
const row = [
|
|
276
|
-
event.timestamp,
|
|
277
|
-
event.eventType,
|
|
278
|
-
event.sessionId,
|
|
279
|
-
event.installationId,
|
|
280
|
-
event.agent,
|
|
281
|
-
event.agentVersion,
|
|
282
|
-
event.cliVersion,
|
|
283
|
-
event.profile,
|
|
284
|
-
event.provider,
|
|
285
|
-
event.model,
|
|
286
|
-
event.metrics?.latencyMs || '',
|
|
287
|
-
JSON.stringify(event.attributes).replaceAll('"', '""') // Escape quotes
|
|
288
|
-
];
|
|
289
|
-
writeStream.write(row.join(',') + '\n');
|
|
290
|
-
}
|
|
291
|
-
writeStream.end();
|
|
292
|
-
return new Promise((resolve, reject) => {
|
|
293
|
-
writeStream.on('finish', resolve);
|
|
294
|
-
writeStream.on('error', reject);
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* Export analytics events to JSON format
|
|
299
|
-
* @param events - Array of events to export
|
|
300
|
-
* @param outputPath - Output file path
|
|
301
|
-
*/
|
|
302
|
-
export async function exportToJSON(events, outputPath) {
|
|
303
|
-
const writeStream = createWriteStream(outputPath);
|
|
304
|
-
// Write as JSON array
|
|
305
|
-
writeStream.write('[\n');
|
|
306
|
-
for (let i = 0; i < events.length; i++) {
|
|
307
|
-
const event = events[i];
|
|
308
|
-
const json = JSON.stringify(event, null, 2);
|
|
309
|
-
const indented = json.split('\n').map(line => ' ' + line).join('\n');
|
|
310
|
-
writeStream.write(indented);
|
|
311
|
-
if (i < events.length - 1) {
|
|
312
|
-
writeStream.write(',\n');
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
writeStream.write('\n]\n');
|
|
316
|
-
writeStream.end();
|
|
317
|
-
return new Promise((resolve, reject) => {
|
|
318
|
-
writeStream.on('finish', resolve);
|
|
319
|
-
writeStream.on('error', reject);
|
|
320
|
-
});
|
|
321
|
-
}
|
|
322
|
-
/**
|
|
323
|
-
* List all analytics files
|
|
324
|
-
* @returns Array of file info with dates and sizes
|
|
325
|
-
*/
|
|
326
|
-
export async function listAnalyticsFiles() {
|
|
327
|
-
const analyticsPath = getAnalyticsPath();
|
|
328
|
-
const files = [];
|
|
329
|
-
try {
|
|
330
|
-
const entries = await readdir(analyticsPath);
|
|
331
|
-
for (const entry of entries) {
|
|
332
|
-
if (entry.endsWith('.jsonl')) {
|
|
333
|
-
const filePath = join(analyticsPath, entry);
|
|
334
|
-
const stats = await stat(filePath);
|
|
335
|
-
const date = entry.replace('.jsonl', '');
|
|
336
|
-
// Count events by counting lines
|
|
337
|
-
let eventCount = 0;
|
|
338
|
-
try {
|
|
339
|
-
const fileStream = createReadStream(filePath);
|
|
340
|
-
const rl = createInterface({
|
|
341
|
-
input: fileStream,
|
|
342
|
-
crlfDelay: Infinity
|
|
343
|
-
});
|
|
344
|
-
for await (const line of rl) {
|
|
345
|
-
if (line.trim()) {
|
|
346
|
-
eventCount++;
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
catch {
|
|
351
|
-
// If counting fails, estimate from file size
|
|
352
|
-
eventCount = Math.floor(stats.size / 500); // Rough estimate: 500 bytes per event
|
|
353
|
-
}
|
|
354
|
-
files.push({
|
|
355
|
-
date,
|
|
356
|
-
path: filePath,
|
|
357
|
-
size: stats.size,
|
|
358
|
-
events: eventCount
|
|
359
|
-
});
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
// Sort by date descending (newest first)
|
|
363
|
-
files.sort((a, b) => b.date.localeCompare(a.date));
|
|
364
|
-
}
|
|
365
|
-
catch (error) {
|
|
366
|
-
if (error.code === 'ENOENT') {
|
|
367
|
-
// Directory doesn't exist, return empty array
|
|
368
|
-
return [];
|
|
369
|
-
}
|
|
370
|
-
throw error;
|
|
371
|
-
}
|
|
372
|
-
return files;
|
|
373
|
-
}
|
|
374
|
-
/**
|
|
375
|
-
* Delete analytics files older than a threshold
|
|
376
|
-
* @param olderThanDays - Delete files older than this many days
|
|
377
|
-
* @returns Array of deleted file paths
|
|
378
|
-
*/
|
|
379
|
-
export async function clearOldAnalytics(olderThanDays) {
|
|
380
|
-
const files = await listAnalyticsFiles();
|
|
381
|
-
const threshold = new Date();
|
|
382
|
-
threshold.setDate(threshold.getDate() - olderThanDays);
|
|
383
|
-
const deletedFiles = [];
|
|
384
|
-
for (const file of files) {
|
|
385
|
-
const fileDate = new Date(file.date);
|
|
386
|
-
if (fileDate < threshold) {
|
|
387
|
-
await unlink(file.path);
|
|
388
|
-
deletedFiles.push(file.path);
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
return deletedFiles;
|
|
392
|
-
}
|
|
393
|
-
/**
|
|
394
|
-
* Format file size for display
|
|
395
|
-
* @param bytes - Size in bytes
|
|
396
|
-
* @returns Formatted string
|
|
397
|
-
*/
|
|
398
|
-
export function formatFileSize(bytes) {
|
|
399
|
-
if (bytes < 1024)
|
|
400
|
-
return `${bytes} B`;
|
|
401
|
-
if (bytes < 1024 * 1024)
|
|
402
|
-
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
403
|
-
if (bytes < 1024 * 1024 * 1024)
|
|
404
|
-
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
405
|
-
return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;
|
|
406
|
-
}
|
|
407
|
-
/**
|
|
408
|
-
* Format duration in milliseconds to human-readable string
|
|
409
|
-
* @param ms - Duration in milliseconds
|
|
410
|
-
* @returns Formatted string
|
|
411
|
-
*/
|
|
412
|
-
export function formatDuration(ms) {
|
|
413
|
-
if (ms < 1000)
|
|
414
|
-
return `${ms}ms`;
|
|
415
|
-
if (ms < 60000)
|
|
416
|
-
return `${(ms / 1000).toFixed(1)}s`;
|
|
417
|
-
if (ms < 3600000)
|
|
418
|
-
return `${Math.floor(ms / 60000)}m ${Math.floor((ms % 60000) / 1000)}s`;
|
|
419
|
-
return `${Math.floor(ms / 3600000)}h ${Math.floor((ms % 3600000) / 60000)}m`;
|
|
420
|
-
}
|
|
421
|
-
//# sourceMappingURL=analytics-reader.js.map
|