@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
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSONL Atomic Write Utility
|
|
3
|
+
*
|
|
4
|
+
* Provides safe JSONL file operations with atomic writes.
|
|
5
|
+
* Used by MetricsSyncPlugin to mark deltas as synced.
|
|
6
|
+
*
|
|
7
|
+
* Safety guarantees:
|
|
8
|
+
* - Atomic rename ensures no partial writes
|
|
9
|
+
* - Fsync ensures durability before rename
|
|
10
|
+
* - Temp file cleanup on error
|
|
11
|
+
* - No data loss on crash/power failure
|
|
12
|
+
*/
|
|
13
|
+
import type { MetricDelta } from '../types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Read all deltas from JSONL file
|
|
16
|
+
*/
|
|
17
|
+
export declare function readJSONL(filePath: string): Promise<MetricDelta[]>;
|
|
18
|
+
/**
|
|
19
|
+
* Atomically write deltas to JSONL file
|
|
20
|
+
*
|
|
21
|
+
* Process:
|
|
22
|
+
* 1. Write to temporary file
|
|
23
|
+
* 2. Fsync to ensure data is on disk
|
|
24
|
+
* 3. Atomic rename to target file
|
|
25
|
+
* 4. Cleanup temp file on error
|
|
26
|
+
*/
|
|
27
|
+
export declare function writeJSONLAtomic(filePath: string, deltas: MetricDelta[]): Promise<void>;
|
|
28
|
+
//# sourceMappingURL=jsonl-writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl-writer.d.ts","sourceRoot":"","sources":["../../../src/metrics/sync/jsonl-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAiBxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSONL Atomic Write Utility
|
|
3
|
+
*
|
|
4
|
+
* Provides safe JSONL file operations with atomic writes.
|
|
5
|
+
* Used by MetricsSyncPlugin to mark deltas as synced.
|
|
6
|
+
*
|
|
7
|
+
* Safety guarantees:
|
|
8
|
+
* - Atomic rename ensures no partial writes
|
|
9
|
+
* - Fsync ensures durability before rename
|
|
10
|
+
* - Temp file cleanup on error
|
|
11
|
+
* - No data loss on crash/power failure
|
|
12
|
+
*/
|
|
13
|
+
import { writeFile, rename, unlink, readFile, open } from 'fs/promises';
|
|
14
|
+
import { existsSync } from 'fs';
|
|
15
|
+
import { logger } from '../../utils/logger.js';
|
|
16
|
+
/**
|
|
17
|
+
* Read all deltas from JSONL file
|
|
18
|
+
*/
|
|
19
|
+
export async function readJSONL(filePath) {
|
|
20
|
+
try {
|
|
21
|
+
if (!existsSync(filePath)) {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
const content = await readFile(filePath, 'utf8');
|
|
25
|
+
return content
|
|
26
|
+
.split('\n')
|
|
27
|
+
.filter(line => line.trim())
|
|
28
|
+
.map(line => JSON.parse(line));
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
logger.error('[jsonl-writer] Failed to read JSONL:', error);
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Atomically write deltas to JSONL file
|
|
37
|
+
*
|
|
38
|
+
* Process:
|
|
39
|
+
* 1. Write to temporary file
|
|
40
|
+
* 2. Fsync to ensure data is on disk
|
|
41
|
+
* 3. Atomic rename to target file
|
|
42
|
+
* 4. Cleanup temp file on error
|
|
43
|
+
*/
|
|
44
|
+
export async function writeJSONLAtomic(filePath, deltas) {
|
|
45
|
+
const tempPath = `${filePath}.tmp`;
|
|
46
|
+
try {
|
|
47
|
+
// 1. Write to temporary file
|
|
48
|
+
const lines = deltas.map(d => JSON.stringify(d)).join('\n') + '\n';
|
|
49
|
+
await writeFile(tempPath, lines, 'utf8');
|
|
50
|
+
// 2. Fsync to ensure data is on disk
|
|
51
|
+
const fd = await open(tempPath, 'r+');
|
|
52
|
+
await fd.sync();
|
|
53
|
+
await fd.close();
|
|
54
|
+
// 3. Atomic rename (overwrites target)
|
|
55
|
+
await rename(tempPath, filePath);
|
|
56
|
+
logger.debug(`[jsonl-writer] Atomically wrote ${deltas.length} deltas to ${filePath}`);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
// Cleanup temp file on error
|
|
60
|
+
try {
|
|
61
|
+
if (existsSync(tempPath)) {
|
|
62
|
+
await unlink(tempPath);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
// Ignore cleanup errors
|
|
67
|
+
}
|
|
68
|
+
logger.error('[jsonl-writer] Failed to write JSONL:', error);
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=jsonl-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl-writer.js","sourceRoot":"","sources":["../../../src/metrics/sync/jsonl-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEjD,OAAO,OAAO;aACX,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC,CAAC;IAElD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,MAAqB;IAErB,MAAM,QAAQ,GAAG,GAAG,QAAQ,MAAM,CAAC;IAEnC,IAAI,CAAC;QACH,6BAA6B;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACnE,MAAM,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAEzC,qCAAqC;QACrC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QAEjB,uCAAuC;QACvC,MAAM,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEjC,MAAM,CAAC,KAAK,CAAC,mCAAmC,MAAM,CAAC,MAAM,cAAc,QAAQ,EAAE,CAAC,CAAC;IAEzF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6BAA6B;QAC7B,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metrics Sync Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for metrics sync API integration
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Session metric sent to CodeMie API
|
|
8
|
+
* Format matches Prometheus-style metrics with attributes
|
|
9
|
+
*/
|
|
10
|
+
export interface SessionMetric {
|
|
11
|
+
/** Metric name (always 'codemie_coding_agent_usage') */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Metric attributes */
|
|
14
|
+
attributes: SessionAttributes;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Session attributes for metrics
|
|
18
|
+
*/
|
|
19
|
+
export interface SessionAttributes {
|
|
20
|
+
agent: string;
|
|
21
|
+
agent_version: string;
|
|
22
|
+
llm_model: string;
|
|
23
|
+
project: string;
|
|
24
|
+
session_id: string;
|
|
25
|
+
total_user_prompts: number;
|
|
26
|
+
total_input_tokens: number;
|
|
27
|
+
total_output_tokens: number;
|
|
28
|
+
total_cache_read_input_tokens: number;
|
|
29
|
+
total_cache_creation_tokens: number;
|
|
30
|
+
total_tool_calls: number;
|
|
31
|
+
successful_tool_calls: number;
|
|
32
|
+
failed_tool_calls: number;
|
|
33
|
+
files_created: number;
|
|
34
|
+
files_modified: number;
|
|
35
|
+
files_deleted: number;
|
|
36
|
+
total_lines_added: number;
|
|
37
|
+
total_lines_removed: number;
|
|
38
|
+
session_duration_ms: number;
|
|
39
|
+
had_errors: boolean;
|
|
40
|
+
errors?: Record<string, string[]>;
|
|
41
|
+
count: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* API response for successful metrics submission
|
|
45
|
+
* Matches FastAPI MetricsResponse pydantic model
|
|
46
|
+
*/
|
|
47
|
+
export interface MetricsSyncResponse {
|
|
48
|
+
success: boolean;
|
|
49
|
+
message: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* API error response from FastAPI ExtendedHTTPException
|
|
53
|
+
*/
|
|
54
|
+
export interface MetricsApiError {
|
|
55
|
+
code: number;
|
|
56
|
+
message: string;
|
|
57
|
+
details?: string;
|
|
58
|
+
help?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Metrics API client configuration
|
|
62
|
+
*/
|
|
63
|
+
export interface MetricsApiConfig {
|
|
64
|
+
baseUrl: string;
|
|
65
|
+
cookies?: string;
|
|
66
|
+
timeout?: number;
|
|
67
|
+
retryAttempts?: number;
|
|
68
|
+
retryDelays?: number[];
|
|
69
|
+
version?: string;
|
|
70
|
+
clientType?: string;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/metrics/sync/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IAGnB,kBAAkB,EAAE,MAAM,CAAC;IAG3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6BAA6B,EAAE,MAAM,CAAC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IAGpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/metrics/sync/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metrics Collection Types
|
|
3
|
+
*
|
|
4
|
+
* Core type definitions for the metrics collection system.
|
|
5
|
+
* Supports file-based metrics gathering from agent session files.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* File snapshot information
|
|
9
|
+
*/
|
|
10
|
+
export interface FileInfo {
|
|
11
|
+
path: string;
|
|
12
|
+
size: number;
|
|
13
|
+
createdAt: number;
|
|
14
|
+
modifiedAt: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Snapshot of directory state at a point in time
|
|
18
|
+
*/
|
|
19
|
+
export interface FileSnapshot {
|
|
20
|
+
timestamp: number;
|
|
21
|
+
files: FileInfo[];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Correlation status
|
|
25
|
+
*/
|
|
26
|
+
export type CorrelationStatus = 'pending' | 'matched' | 'failed';
|
|
27
|
+
/**
|
|
28
|
+
* Session status
|
|
29
|
+
*/
|
|
30
|
+
export type SessionStatus = 'active' | 'completed' | 'recovered' | 'failed';
|
|
31
|
+
/**
|
|
32
|
+
* Watermark type (per-agent strategy)
|
|
33
|
+
*/
|
|
34
|
+
export type WatermarkType = 'hash' | 'line' | 'object';
|
|
35
|
+
/**
|
|
36
|
+
* Watermark data
|
|
37
|
+
*/
|
|
38
|
+
export interface Watermark {
|
|
39
|
+
type: WatermarkType;
|
|
40
|
+
value: string;
|
|
41
|
+
updatedAt: number;
|
|
42
|
+
expiresAt: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Correlation result
|
|
46
|
+
*/
|
|
47
|
+
export interface CorrelationResult {
|
|
48
|
+
status: CorrelationStatus;
|
|
49
|
+
agentSessionFile?: string;
|
|
50
|
+
agentSessionId?: string;
|
|
51
|
+
detectedAt?: number;
|
|
52
|
+
retryCount: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Monitoring state
|
|
56
|
+
*/
|
|
57
|
+
export interface MonitoringState {
|
|
58
|
+
isActive: boolean;
|
|
59
|
+
lastCheckTime?: number;
|
|
60
|
+
changeCount: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Sync status for metrics records
|
|
64
|
+
*/
|
|
65
|
+
export type SyncStatus = 'pending' | 'syncing' | 'synced' | 'failed';
|
|
66
|
+
/**
|
|
67
|
+
* Session metadata (stored in ~/.codemie/metrics/sessions/{sessionId}.json)
|
|
68
|
+
* Contains both session info and sync state
|
|
69
|
+
*/
|
|
70
|
+
export interface MetricsSession {
|
|
71
|
+
sessionId: string;
|
|
72
|
+
agentName: string;
|
|
73
|
+
provider: string;
|
|
74
|
+
startTime: number;
|
|
75
|
+
endTime?: number;
|
|
76
|
+
workingDirectory: string;
|
|
77
|
+
correlation: CorrelationResult;
|
|
78
|
+
monitoring: MonitoringState;
|
|
79
|
+
watermark?: Watermark;
|
|
80
|
+
status: SessionStatus;
|
|
81
|
+
syncState?: SyncState;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Tool execution status
|
|
85
|
+
*/
|
|
86
|
+
export type ToolStatus = 'pending' | 'success' | 'error';
|
|
87
|
+
/**
|
|
88
|
+
* File operation type
|
|
89
|
+
*/
|
|
90
|
+
export type FileOperationType = 'read' | 'write' | 'edit' | 'delete' | 'glob' | 'grep';
|
|
91
|
+
/**
|
|
92
|
+
* File operation details
|
|
93
|
+
*/
|
|
94
|
+
export interface FileOperation {
|
|
95
|
+
type: FileOperationType;
|
|
96
|
+
path?: string;
|
|
97
|
+
pattern?: string;
|
|
98
|
+
language?: string;
|
|
99
|
+
format?: string;
|
|
100
|
+
linesAdded?: number;
|
|
101
|
+
linesRemoved?: number;
|
|
102
|
+
linesModified?: number;
|
|
103
|
+
durationMs?: number;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Detailed tool call metric
|
|
107
|
+
*/
|
|
108
|
+
export interface ToolCallMetric {
|
|
109
|
+
id: string;
|
|
110
|
+
name: string;
|
|
111
|
+
timestamp: number;
|
|
112
|
+
status: ToolStatus;
|
|
113
|
+
input?: Record<string, unknown>;
|
|
114
|
+
error?: string;
|
|
115
|
+
fileOperation?: FileOperation;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Aggregated tool usage summary
|
|
119
|
+
*/
|
|
120
|
+
export interface ToolUsageSummary {
|
|
121
|
+
name: string;
|
|
122
|
+
count: number;
|
|
123
|
+
successCount?: number;
|
|
124
|
+
errorCount?: number;
|
|
125
|
+
fileOperations?: {
|
|
126
|
+
read?: number;
|
|
127
|
+
write?: number;
|
|
128
|
+
edit?: number;
|
|
129
|
+
delete?: number;
|
|
130
|
+
glob?: number;
|
|
131
|
+
grep?: number;
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Metric snapshot (extracted from agent session file)
|
|
136
|
+
* This represents the current state of all metrics for a session
|
|
137
|
+
*/
|
|
138
|
+
export interface MetricSnapshot {
|
|
139
|
+
sessionId: string;
|
|
140
|
+
timestamp: number;
|
|
141
|
+
tokens?: {
|
|
142
|
+
input: number;
|
|
143
|
+
output: number;
|
|
144
|
+
cacheCreation?: number;
|
|
145
|
+
cacheRead?: number;
|
|
146
|
+
};
|
|
147
|
+
toolCalls?: ToolCallMetric[];
|
|
148
|
+
toolUsageSummary?: ToolUsageSummary[];
|
|
149
|
+
turnCount?: number;
|
|
150
|
+
duration?: number;
|
|
151
|
+
model?: string;
|
|
152
|
+
metadata?: Record<string, unknown>;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Delta record (JSONL line in session_metrics.jsonl)
|
|
156
|
+
* Each line represents incremental metrics for one turn
|
|
157
|
+
*/
|
|
158
|
+
export interface MetricDelta {
|
|
159
|
+
recordId: string;
|
|
160
|
+
sessionId: string;
|
|
161
|
+
agentSessionId: string;
|
|
162
|
+
timestamp: number | string;
|
|
163
|
+
gitBranch?: string;
|
|
164
|
+
tokens: {
|
|
165
|
+
input: number;
|
|
166
|
+
output: number;
|
|
167
|
+
cacheCreation?: number;
|
|
168
|
+
cacheRead?: number;
|
|
169
|
+
};
|
|
170
|
+
tools: {
|
|
171
|
+
[toolName: string]: number;
|
|
172
|
+
};
|
|
173
|
+
toolStatus?: {
|
|
174
|
+
[toolName: string]: {
|
|
175
|
+
success: number;
|
|
176
|
+
failure: number;
|
|
177
|
+
};
|
|
178
|
+
};
|
|
179
|
+
fileOperations?: {
|
|
180
|
+
type: 'read' | 'write' | 'edit' | 'delete' | 'glob' | 'grep';
|
|
181
|
+
path?: string;
|
|
182
|
+
pattern?: string;
|
|
183
|
+
language?: string;
|
|
184
|
+
format?: string;
|
|
185
|
+
linesAdded?: number;
|
|
186
|
+
linesRemoved?: number;
|
|
187
|
+
linesModified?: number;
|
|
188
|
+
durationMs?: number;
|
|
189
|
+
}[];
|
|
190
|
+
models?: string[];
|
|
191
|
+
apiErrorMessage?: string;
|
|
192
|
+
userPrompts?: {
|
|
193
|
+
count: number;
|
|
194
|
+
text?: string;
|
|
195
|
+
}[];
|
|
196
|
+
syncStatus: SyncStatus;
|
|
197
|
+
syncedAt?: number;
|
|
198
|
+
syncAttempts: number;
|
|
199
|
+
syncError?: string;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* User prompt record (from history file)
|
|
203
|
+
*/
|
|
204
|
+
export interface UserPrompt {
|
|
205
|
+
display: string;
|
|
206
|
+
timestamp: number;
|
|
207
|
+
project: string;
|
|
208
|
+
sessionId: string;
|
|
209
|
+
pastedContents?: Record<string, unknown>;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Sync state (sync_state.json)
|
|
213
|
+
*/
|
|
214
|
+
export interface SyncState {
|
|
215
|
+
sessionId: string;
|
|
216
|
+
agentSessionId: string;
|
|
217
|
+
sessionStartTime: number;
|
|
218
|
+
sessionEndTime?: number;
|
|
219
|
+
status: 'active' | 'completed' | 'failed';
|
|
220
|
+
lastProcessedLine: number;
|
|
221
|
+
lastProcessedTimestamp: number;
|
|
222
|
+
processedRecordIds: string[];
|
|
223
|
+
attachedUserPromptTexts?: string[];
|
|
224
|
+
lastSyncedRecordId?: string;
|
|
225
|
+
lastSyncAt?: number;
|
|
226
|
+
totalDeltas: number;
|
|
227
|
+
totalSynced: number;
|
|
228
|
+
totalFailed: number;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Agent-specific metrics support interface
|
|
232
|
+
*/
|
|
233
|
+
export interface AgentMetricsSupport {
|
|
234
|
+
/**
|
|
235
|
+
* Get data paths for this agent
|
|
236
|
+
*/
|
|
237
|
+
getDataPaths(): {
|
|
238
|
+
sessionsDir: string;
|
|
239
|
+
settingsDir?: string;
|
|
240
|
+
};
|
|
241
|
+
/**
|
|
242
|
+
* Check if file path matches agent's session file pattern
|
|
243
|
+
*/
|
|
244
|
+
matchesSessionPattern(path: string): boolean;
|
|
245
|
+
/**
|
|
246
|
+
* Extract session ID from file path
|
|
247
|
+
*/
|
|
248
|
+
extractSessionId(path: string): string;
|
|
249
|
+
/**
|
|
250
|
+
* Parse session file and extract metrics (full snapshot)
|
|
251
|
+
*/
|
|
252
|
+
parseSessionFile(path: string): Promise<MetricSnapshot>;
|
|
253
|
+
/**
|
|
254
|
+
* Parse incremental metrics from session file
|
|
255
|
+
* Returns only new deltas since fromLine
|
|
256
|
+
*/
|
|
257
|
+
parseIncrementalMetrics(path: string, processedRecordIds: Set<string>, attachedUserPromptTexts?: Set<string>): Promise<{
|
|
258
|
+
deltas: MetricDelta[];
|
|
259
|
+
lastLine: number;
|
|
260
|
+
newlyAttachedPrompts?: string[];
|
|
261
|
+
}>;
|
|
262
|
+
/**
|
|
263
|
+
* Get user prompts for a specific session
|
|
264
|
+
* Each agent implements this to parse their specific history format
|
|
265
|
+
*
|
|
266
|
+
* @param sessionId - Agent session ID
|
|
267
|
+
* @param fromTimestamp - Start timestamp (Unix ms) - optional
|
|
268
|
+
* @param toTimestamp - End timestamp (Unix ms) - optional
|
|
269
|
+
* @returns Array of user prompts
|
|
270
|
+
*/
|
|
271
|
+
getUserPrompts(sessionId: string, fromTimestamp?: number, toTimestamp?: number): Promise<UserPrompt[]>;
|
|
272
|
+
/**
|
|
273
|
+
* Get watermark strategy for this agent
|
|
274
|
+
*/
|
|
275
|
+
getWatermarkStrategy(): WatermarkType;
|
|
276
|
+
/**
|
|
277
|
+
* Get initialization delay (ms) for this agent
|
|
278
|
+
*/
|
|
279
|
+
getInitDelay(): number;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* File change event
|
|
283
|
+
*/
|
|
284
|
+
export interface FileChangeEvent {
|
|
285
|
+
path: string;
|
|
286
|
+
timestamp: number;
|
|
287
|
+
size: number;
|
|
288
|
+
hash: string;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Metrics configuration
|
|
292
|
+
*/
|
|
293
|
+
export interface MetricsConfig {
|
|
294
|
+
enabled: (provider: string) => boolean;
|
|
295
|
+
initDelay: Record<string, number>;
|
|
296
|
+
retry: {
|
|
297
|
+
attempts: number;
|
|
298
|
+
delays: number[];
|
|
299
|
+
};
|
|
300
|
+
monitoring: {
|
|
301
|
+
pollInterval: number;
|
|
302
|
+
debounceDelay: number;
|
|
303
|
+
};
|
|
304
|
+
watermark: {
|
|
305
|
+
ttl: number;
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -14,7 +14,9 @@ export type { HTTPClientConfig, HTTPResponse } from './core/base/http-client.js'
|
|
|
14
14
|
import './plugins/ollama/index.js';
|
|
15
15
|
import './plugins/sso/index.js';
|
|
16
16
|
import './plugins/litellm/index.js';
|
|
17
|
+
import './plugins/bedrock/index.js';
|
|
17
18
|
export * as Ollama from './plugins/ollama/index.js';
|
|
18
19
|
export * as SSO from './plugins/sso/index.js';
|
|
19
20
|
export * as LiteLLM from './plugins/litellm/index.js';
|
|
21
|
+
export * as Bedrock from './plugins/bedrock/index.js';
|
|
20
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAIjF,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAIjF,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC"}
|
package/dist/providers/index.js
CHANGED
|
@@ -15,8 +15,10 @@ export { HTTPClient } from './core/base/http-client.js';
|
|
|
15
15
|
import './plugins/ollama/index.js';
|
|
16
16
|
import './plugins/sso/index.js';
|
|
17
17
|
import './plugins/litellm/index.js';
|
|
18
|
+
import './plugins/bedrock/index.js';
|
|
18
19
|
// Re-export plugin modules for direct access if needed
|
|
19
20
|
export * as Ollama from './plugins/ollama/index.js';
|
|
20
21
|
export * as SSO from './plugins/sso/index.js';
|
|
21
22
|
export * as LiteLLM from './plugins/litellm/index.js';
|
|
23
|
+
export * as Bedrock from './plugins/bedrock/index.js';
|
|
22
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAiBtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,8CAA8C;AAC9C,gEAAgE;AAChE,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AAEpC,uDAAuD;AACvD,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAiBtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,8CAA8C;AAC9C,gEAAgE;AAChE,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;AAEpC,uDAAuD;AACvD,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC"}
|
|
@@ -54,7 +54,7 @@ export declare function formatModelChoice(modelId: string, template?: ProviderTe
|
|
|
54
54
|
* Get all model choices with metadata
|
|
55
55
|
*
|
|
56
56
|
* Returns array of formatted model choices, sorted by:
|
|
57
|
-
* 1. Recommended models first (template.recommendedModels)
|
|
57
|
+
* 1. Recommended models first (template.recommendedModels with partial matching)
|
|
58
58
|
* 2. Alphabetically by model ID
|
|
59
59
|
*/
|
|
60
60
|
export declare function getAllModelChoices(models: string[], template?: ProviderTemplate): Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ui.d.ts","sourceRoot":"","sources":["../../../src/providers/integration/setup-ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK7F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB3G;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAQzE;
|
|
1
|
+
{"version":3,"file":"setup-ui.d.ts","sourceRoot":"","sources":["../../../src/providers/integration/setup-ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK7F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB3G;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAQzE;AA0BD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,gBAAgB,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA+BjC;AA8BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBxC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,IAAI,CAMN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ1E"}
|
|
@@ -62,6 +62,26 @@ export function displaySetupInstructions(template) {
|
|
|
62
62
|
console.log(template.setupInstructions);
|
|
63
63
|
console.log('');
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Check if a model matches any recommended pattern (using partial matching)
|
|
67
|
+
*
|
|
68
|
+
* Helper function to be used before isRecommendedModel is defined
|
|
69
|
+
*/
|
|
70
|
+
function matchesAnyRecommendedPattern(modelId, patterns) {
|
|
71
|
+
if (!patterns || patterns.length === 0)
|
|
72
|
+
return false;
|
|
73
|
+
// Normalize strings for comparison (lowercase, remove special chars except hyphen)
|
|
74
|
+
const normalizeForMatching = (str) => str.toLowerCase().replace(/[^a-z0-9-]/g, '');
|
|
75
|
+
const normalizedModel = normalizeForMatching(modelId);
|
|
76
|
+
return patterns.some(pattern => {
|
|
77
|
+
// Exact match
|
|
78
|
+
if (modelId === pattern)
|
|
79
|
+
return true;
|
|
80
|
+
// Partial match
|
|
81
|
+
const normalizedPattern = normalizeForMatching(pattern);
|
|
82
|
+
return normalizedModel.includes(normalizedPattern);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
65
85
|
/**
|
|
66
86
|
* Format model choice with metadata
|
|
67
87
|
*
|
|
@@ -69,8 +89,10 @@ export function displaySetupInstructions(template) {
|
|
|
69
89
|
*/
|
|
70
90
|
export function formatModelChoice(modelId, template) {
|
|
71
91
|
const metadata = template?.modelMetadata?.[modelId];
|
|
72
|
-
// Check if model is recommended (
|
|
73
|
-
const isRecommended = metadata?.popular ||
|
|
92
|
+
// Check if model is recommended (with partial matching support)
|
|
93
|
+
const isRecommended = metadata?.popular ||
|
|
94
|
+
matchesAnyRecommendedPattern(modelId, template?.recommendedModels) ||
|
|
95
|
+
false;
|
|
74
96
|
// If no metadata and not recommended, return plain format
|
|
75
97
|
if (!metadata && !isRecommended) {
|
|
76
98
|
return { name: modelId, value: modelId };
|
|
@@ -90,19 +112,42 @@ export function formatModelChoice(modelId, template) {
|
|
|
90
112
|
value: modelId
|
|
91
113
|
};
|
|
92
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Check if a model matches a recommended pattern
|
|
117
|
+
*
|
|
118
|
+
* Supports both exact and partial matching:
|
|
119
|
+
* - Exact: "anthropic.claude-3-5-sonnet-20240620-v1:0" matches "anthropic.claude-3-5-sonnet-20240620-v1:0"
|
|
120
|
+
* - Partial: "anthropic.claude-3-5-sonnet-20240620-v1:0" matches "claude-3-5-sonnet"
|
|
121
|
+
* - Partial: "anthropic.claude-sonnet-4-5-20250929-v1:0" matches "claude-sonnet-4-5"
|
|
122
|
+
*
|
|
123
|
+
* @param modelId Full model ID from provider (e.g., "anthropic.claude-3-5-sonnet-20240620-v1:0")
|
|
124
|
+
* @param recommendedPattern Pattern to match (e.g., "claude-3-5-sonnet" or "claude-sonnet-4-5")
|
|
125
|
+
*/
|
|
126
|
+
function isRecommendedModel(modelId, recommendedPattern) {
|
|
127
|
+
// Exact match first
|
|
128
|
+
if (modelId === recommendedPattern) {
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
// Normalize both strings for comparison (lowercase, remove special chars except hyphen)
|
|
132
|
+
const normalizeForMatching = (str) => str.toLowerCase().replace(/[^a-z0-9-]/g, '');
|
|
133
|
+
const normalizedModel = normalizeForMatching(modelId);
|
|
134
|
+
const normalizedPattern = normalizeForMatching(recommendedPattern);
|
|
135
|
+
// Check if the model ID contains the pattern
|
|
136
|
+
return normalizedModel.includes(normalizedPattern);
|
|
137
|
+
}
|
|
93
138
|
/**
|
|
94
139
|
* Get all model choices with metadata
|
|
95
140
|
*
|
|
96
141
|
* Returns array of formatted model choices, sorted by:
|
|
97
|
-
* 1. Recommended models first (template.recommendedModels)
|
|
142
|
+
* 1. Recommended models first (template.recommendedModels with partial matching)
|
|
98
143
|
* 2. Alphabetically by model ID
|
|
99
144
|
*/
|
|
100
145
|
export function getAllModelChoices(models, template) {
|
|
101
146
|
// Sort models using common rules
|
|
102
147
|
const sortedModels = [...models].sort((a, b) => {
|
|
103
|
-
// Check if models are recommended
|
|
104
|
-
const aRecommended = template?.recommendedModels?.
|
|
105
|
-
const bRecommended = template?.recommendedModels?.
|
|
148
|
+
// Check if models are recommended (with partial matching)
|
|
149
|
+
const aRecommended = template?.recommendedModels?.some(pattern => isRecommendedModel(a, pattern)) || false;
|
|
150
|
+
const bRecommended = template?.recommendedModels?.some(pattern => isRecommendedModel(b, pattern)) || false;
|
|
106
151
|
// Recommended models first
|
|
107
152
|
if (aRecommended && !bRecommended)
|
|
108
153
|
return -1;
|