@codemieai/code 0.0.16 → 0.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -5
- package/bin/agent-executor.js +7 -28
- package/bin/codemie-claude.js +18 -0
- package/bin/codemie-codex.js +18 -0
- package/bin/codemie-deepagents.js +18 -0
- package/bin/codemie-gemini.js +18 -0
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +3 -32
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/tools/planning.d.ts +2 -2
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +25 -59
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +9 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +103 -10
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/BaseMetricsAdapter.d.ts +64 -0
- package/dist/agents/core/BaseMetricsAdapter.d.ts.map +1 -0
- package/dist/agents/core/BaseMetricsAdapter.js +74 -0
- package/dist/agents/core/BaseMetricsAdapter.js.map +1 -0
- package/dist/agents/core/types.d.ts +1 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude.metrics.d.ts +112 -0
- package/dist/agents/plugins/claude.metrics.d.ts.map +1 -0
- package/dist/agents/plugins/claude.metrics.js +700 -0
- package/dist/agents/plugins/claude.metrics.js.map +1 -0
- package/dist/agents/plugins/claude.plugin.d.ts +9 -0
- package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude.plugin.js +52 -10
- package/dist/agents/plugins/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +45 -13
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codex.plugin.js +0 -2
- package/dist/agents/plugins/codex.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini.plugin.js +0 -7
- package/dist/agents/plugins/gemini.plugin.js.map +1 -1
- package/dist/agents/plugins/history-parser.d.ts +52 -0
- package/dist/agents/plugins/history-parser.d.ts.map +1 -0
- package/dist/agents/plugins/history-parser.js +155 -0
- package/dist/agents/plugins/history-parser.js.map +1 -0
- package/dist/cli/commands/analytics/aggregator.d.ts +58 -0
- package/dist/cli/commands/analytics/aggregator.d.ts.map +1 -0
- package/dist/cli/commands/analytics/aggregator.js +702 -0
- package/dist/cli/commands/analytics/aggregator.js.map +1 -0
- package/dist/cli/commands/analytics/data-loader.d.ts +84 -0
- package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -0
- package/dist/cli/commands/analytics/data-loader.js +211 -0
- package/dist/cli/commands/analytics/data-loader.js.map +1 -0
- package/dist/cli/commands/analytics/exporter.d.ts +20 -0
- package/dist/cli/commands/analytics/exporter.d.ts.map +1 -0
- package/dist/cli/commands/analytics/exporter.js +103 -0
- package/dist/cli/commands/analytics/exporter.js.map +1 -0
- package/dist/cli/commands/analytics/formatter.d.ts +49 -0
- package/dist/cli/commands/analytics/formatter.d.ts.map +1 -0
- package/dist/cli/commands/analytics/formatter.js +309 -0
- package/dist/cli/commands/analytics/formatter.js.map +1 -0
- package/dist/cli/commands/analytics/index.d.ts +6 -0
- package/dist/cli/commands/analytics/index.d.ts.map +1 -0
- package/dist/cli/commands/analytics/index.js +157 -0
- package/dist/cli/commands/analytics/index.js.map +1 -0
- package/dist/cli/commands/analytics/model-normalizer.d.ts +21 -0
- package/dist/cli/commands/analytics/model-normalizer.d.ts.map +1 -0
- package/dist/cli/commands/analytics/model-normalizer.js +44 -0
- package/dist/cli/commands/analytics/model-normalizer.js.map +1 -0
- package/dist/cli/commands/analytics/types.d.ts +188 -0
- package/dist/cli/commands/analytics/types.d.ts.map +1 -0
- package/dist/cli/commands/analytics/types.js +6 -0
- package/dist/cli/commands/analytics/types.js.map +1 -0
- package/dist/cli/commands/doctor/checks/AwsCliCheck.d.ts +9 -0
- package/dist/cli/commands/doctor/checks/AwsCliCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/checks/AwsCliCheck.js +28 -0
- package/dist/cli/commands/doctor/checks/AwsCliCheck.js.map +1 -0
- package/dist/cli/commands/doctor/checks/PythonCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/PythonCheck.js +10 -0
- package/dist/cli/commands/doctor/checks/PythonCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.js +2 -1
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
- package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/index.js +1 -0
- package/dist/cli/commands/doctor/checks/index.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +85 -3
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/profile.d.ts.map +1 -1
- package/dist/cli/commands/profile.js +49 -89
- package/dist/cli/commands/profile.js.map +1 -1
- package/dist/cli/commands/setup.js +1 -21
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +14 -2
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/metrics/MetricsOrchestrator.d.ts +67 -0
- package/dist/metrics/MetricsOrchestrator.d.ts.map +1 -0
- package/dist/metrics/MetricsOrchestrator.js +287 -0
- package/dist/metrics/MetricsOrchestrator.js.map +1 -0
- package/dist/metrics/config.d.ts +38 -0
- package/dist/metrics/config.d.ts.map +1 -0
- package/dist/metrics/config.js +80 -0
- package/dist/metrics/config.js.map +1 -0
- package/dist/metrics/core/DeltaWriter.d.ts +49 -0
- package/dist/metrics/core/DeltaWriter.d.ts.map +1 -0
- package/dist/metrics/core/DeltaWriter.js +146 -0
- package/dist/metrics/core/DeltaWriter.js.map +1 -0
- package/dist/metrics/core/FileSnapshotter.d.ts +22 -0
- package/dist/metrics/core/FileSnapshotter.d.ts.map +1 -0
- package/dist/metrics/core/FileSnapshotter.js +74 -0
- package/dist/metrics/core/FileSnapshotter.js.map +1 -0
- package/dist/metrics/core/SessionCorrelator.d.ts +34 -0
- package/dist/metrics/core/SessionCorrelator.d.ts.map +1 -0
- package/dist/metrics/core/SessionCorrelator.js +115 -0
- package/dist/metrics/core/SessionCorrelator.js.map +1 -0
- package/dist/metrics/core/SyncStateManager.d.ts +69 -0
- package/dist/metrics/core/SyncStateManager.d.ts.map +1 -0
- package/dist/metrics/core/SyncStateManager.js +284 -0
- package/dist/metrics/core/SyncStateManager.js.map +1 -0
- package/dist/metrics/index.d.ts +9 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js +11 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/session/SessionStore.d.ts +43 -0
- package/dist/metrics/session/SessionStore.d.ts.map +1 -0
- package/dist/metrics/session/SessionStore.js +142 -0
- package/dist/metrics/session/SessionStore.js.map +1 -0
- package/dist/metrics/sync/MetricsApiClient.d.ts +32 -0
- package/dist/metrics/sync/MetricsApiClient.d.ts.map +1 -0
- package/dist/metrics/sync/MetricsApiClient.js +155 -0
- package/dist/metrics/sync/MetricsApiClient.js.map +1 -0
- package/dist/metrics/sync/aggregator.d.ts +13 -0
- package/dist/metrics/sync/aggregator.d.ts.map +1 -0
- package/dist/metrics/sync/aggregator.js +196 -0
- package/dist/metrics/sync/aggregator.js.map +1 -0
- package/dist/metrics/sync/index.d.ts +10 -0
- package/dist/metrics/sync/index.d.ts.map +1 -0
- package/dist/metrics/sync/index.js +10 -0
- package/dist/metrics/sync/index.js.map +1 -0
- package/dist/metrics/sync/jsonl-writer.d.ts +28 -0
- package/dist/metrics/sync/jsonl-writer.d.ts.map +1 -0
- package/dist/metrics/sync/jsonl-writer.js +72 -0
- package/dist/metrics/sync/jsonl-writer.js.map +1 -0
- package/dist/metrics/sync/types.d.ts +72 -0
- package/dist/metrics/sync/types.d.ts.map +1 -0
- package/dist/metrics/sync/types.js +7 -0
- package/dist/metrics/sync/types.js.map +1 -0
- package/dist/metrics/types.d.ts +308 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/metrics/types.js +8 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +2 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/integration/setup-ui.d.ts +1 -1
- package/dist/providers/integration/setup-ui.d.ts.map +1 -1
- package/dist/providers/integration/setup-ui.js +51 -6
- package/dist/providers/integration/setup-ui.js.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.health.d.ts +53 -0
- package/dist/providers/plugins/bedrock/bedrock.health.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.health.js +115 -0
- package/dist/providers/plugins/bedrock/bedrock.health.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.models.d.ts +26 -0
- package/dist/providers/plugins/bedrock/bedrock.models.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.models.js +89 -0
- package/dist/providers/plugins/bedrock/bedrock.models.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.d.ts +12 -0
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.js +308 -0
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.template.d.ts +11 -0
- package/dist/providers/plugins/bedrock/bedrock.template.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.template.js +85 -0
- package/dist/providers/plugins/bedrock/bedrock.template.js.map +1 -0
- package/dist/providers/plugins/bedrock/index.d.ts +11 -0
- package/dist/providers/plugins/bedrock/index.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/index.js +11 -0
- package/dist/providers/plugins/bedrock/index.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -1
- package/dist/providers/plugins/ollama/ollama.template.js +2 -0
- package/dist/providers/plugins/ollama/ollama.template.js.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.d.ts +2 -0
- package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.js +9 -3
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
- package/dist/proxy/http-client.d.ts.map +1 -1
- package/dist/proxy/http-client.js +49 -14
- package/dist/proxy/http-client.js.map +1 -1
- package/dist/proxy/plugins/endpoint-blocker.plugin.d.ts +19 -0
- package/dist/proxy/plugins/endpoint-blocker.plugin.d.ts.map +1 -0
- package/dist/proxy/plugins/endpoint-blocker.plugin.js +61 -0
- package/dist/proxy/plugins/endpoint-blocker.plugin.js.map +1 -0
- package/dist/proxy/plugins/header-injection.plugin.js +3 -0
- package/dist/proxy/plugins/header-injection.plugin.js.map +1 -1
- package/dist/proxy/plugins/index.d.ts +3 -1
- package/dist/proxy/plugins/index.d.ts.map +1 -1
- package/dist/proxy/plugins/index.js +5 -1
- package/dist/proxy/plugins/index.js.map +1 -1
- package/dist/proxy/plugins/logging.plugin.d.ts +3 -3
- package/dist/proxy/plugins/logging.plugin.js +84 -20
- package/dist/proxy/plugins/logging.plugin.js.map +1 -1
- package/dist/proxy/plugins/metrics-sync.plugin.d.ts +33 -0
- package/dist/proxy/plugins/metrics-sync.plugin.d.ts.map +1 -0
- package/dist/proxy/plugins/metrics-sync.plugin.js +310 -0
- package/dist/proxy/plugins/metrics-sync.plugin.js.map +1 -0
- package/dist/proxy/plugins/registry.d.ts.map +1 -1
- package/dist/proxy/plugins/registry.js +8 -1
- package/dist/proxy/plugins/registry.js.map +1 -1
- package/dist/proxy/plugins/types.d.ts +6 -2
- package/dist/proxy/plugins/types.d.ts.map +1 -1
- package/dist/proxy/types.d.ts +7 -0
- package/dist/proxy/types.d.ts.map +1 -1
- package/dist/utils/ascii-logo.d.ts +21 -0
- package/dist/utils/ascii-logo.d.ts.map +1 -0
- package/dist/utils/ascii-logo.js +75 -0
- package/dist/utils/ascii-logo.js.map +1 -0
- package/dist/utils/codemie-proxy.d.ts +0 -6
- package/dist/utils/codemie-proxy.d.ts.map +1 -1
- package/dist/utils/codemie-proxy.js +46 -56
- package/dist/utils/codemie-proxy.js.map +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +22 -6
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/exec.d.ts +11 -0
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +17 -1
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/goodbye-messages.d.ts +13 -0
- package/dist/utils/goodbye-messages.d.ts.map +1 -0
- package/dist/utils/goodbye-messages.js +245 -0
- package/dist/utils/goodbye-messages.js.map +1 -0
- package/dist/utils/json-parser.d.ts +52 -0
- package/dist/utils/json-parser.d.ts.map +1 -0
- package/dist/utils/json-parser.js +126 -0
- package/dist/utils/json-parser.js.map +1 -0
- package/dist/utils/logger.d.ts +37 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +92 -20
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/sanitize.d.ts.map +1 -1
- package/dist/utils/sanitize.js +0 -1
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/which.d.ts +20 -0
- package/dist/utils/which.d.ts.map +1 -0
- package/dist/utils/which.js +47 -0
- package/dist/utils/which.js.map +1 -0
- package/package.json +10 -5
- package/dist/analytics/aggregation/adapters/claude.adapter.d.ts +0 -37
- package/dist/analytics/aggregation/adapters/claude.adapter.d.ts.map +0 -1
- package/dist/analytics/aggregation/adapters/claude.adapter.js +0 -531
- package/dist/analytics/aggregation/adapters/claude.adapter.js.map +0 -1
- package/dist/analytics/aggregation/adapters/codex.adapter.d.ts +0 -25
- package/dist/analytics/aggregation/adapters/codex.adapter.d.ts.map +0 -1
- package/dist/analytics/aggregation/adapters/codex.adapter.js +0 -396
- package/dist/analytics/aggregation/adapters/codex.adapter.js.map +0 -1
- package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts +0 -36
- package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts.map +0 -1
- package/dist/analytics/aggregation/adapters/gemini.adapter.js +0 -365
- package/dist/analytics/aggregation/adapters/gemini.adapter.js.map +0 -1
- package/dist/analytics/aggregation/adapters/index.d.ts +0 -7
- package/dist/analytics/aggregation/adapters/index.d.ts.map +0 -1
- package/dist/analytics/aggregation/adapters/index.js +0 -7
- package/dist/analytics/aggregation/adapters/index.js.map +0 -1
- package/dist/analytics/aggregation/aggregator.d.ts +0 -49
- package/dist/analytics/aggregation/aggregator.d.ts.map +0 -1
- package/dist/analytics/aggregation/aggregator.js +0 -239
- package/dist/analytics/aggregation/aggregator.js.map +0 -1
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts +0 -99
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js +0 -110
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js.map +0 -1
- package/dist/analytics/aggregation/core/adapter.interface.d.ts +0 -76
- package/dist/analytics/aggregation/core/adapter.interface.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/adapter.interface.js +0 -9
- package/dist/analytics/aggregation/core/adapter.interface.js.map +0 -1
- package/dist/analytics/aggregation/core/aggregation-utils.d.ts +0 -86
- package/dist/analytics/aggregation/core/aggregation-utils.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/aggregation-utils.js +0 -126
- package/dist/analytics/aggregation/core/aggregation-utils.js.map +0 -1
- package/dist/analytics/aggregation/core/discovery.d.ts +0 -40
- package/dist/analytics/aggregation/core/discovery.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/discovery.js +0 -132
- package/dist/analytics/aggregation/core/discovery.js.map +0 -1
- package/dist/analytics/aggregation/core/file-utils.d.ts +0 -24
- package/dist/analytics/aggregation/core/file-utils.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/file-utils.js +0 -143
- package/dist/analytics/aggregation/core/file-utils.js.map +0 -1
- package/dist/analytics/aggregation/core/index.d.ts +0 -14
- package/dist/analytics/aggregation/core/index.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/index.js +0 -14
- package/dist/analytics/aggregation/core/index.js.map +0 -1
- package/dist/analytics/aggregation/core/project-mapping.d.ts +0 -50
- package/dist/analytics/aggregation/core/project-mapping.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/project-mapping.js +0 -102
- package/dist/analytics/aggregation/core/project-mapping.js.map +0 -1
- package/dist/analytics/aggregation/core/streaming.d.ts +0 -26
- package/dist/analytics/aggregation/core/streaming.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/streaming.js +0 -58
- package/dist/analytics/aggregation/core/streaming.js.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-source.d.ts +0 -81
- package/dist/analytics/aggregation/core/user-prompt-source.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-source.js +0 -69
- package/dist/analytics/aggregation/core/user-prompt-source.js.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts +0 -49
- package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-sources/json.js +0 -66
- package/dist/analytics/aggregation/core/user-prompt-sources/json.js.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts +0 -43
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js +0 -56
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js.map +0 -1
- package/dist/analytics/aggregation/index.d.ts +0 -8
- package/dist/analytics/aggregation/index.d.ts.map +0 -1
- package/dist/analytics/aggregation/index.js +0 -8
- package/dist/analytics/aggregation/index.js.map +0 -1
- package/dist/analytics/aggregation/types.d.ts +0 -278
- package/dist/analytics/aggregation/types.d.ts.map +0 -1
- package/dist/analytics/aggregation/types.js +0 -8
- package/dist/analytics/aggregation/types.js.map +0 -1
- package/dist/analytics/collector.d.ts +0 -46
- package/dist/analytics/collector.d.ts.map +0 -1
- package/dist/analytics/collector.js +0 -83
- package/dist/analytics/collector.js.map +0 -1
- package/dist/analytics/config.d.ts +0 -15
- package/dist/analytics/config.d.ts.map +0 -1
- package/dist/analytics/config.js +0 -65
- package/dist/analytics/config.js.map +0 -1
- package/dist/analytics/index.d.ts +0 -99
- package/dist/analytics/index.d.ts.map +0 -1
- package/dist/analytics/index.js +0 -280
- package/dist/analytics/index.js.map +0 -1
- package/dist/analytics/plugins/api-metrics.plugin.d.ts +0 -26
- package/dist/analytics/plugins/api-metrics.plugin.d.ts.map +0 -1
- package/dist/analytics/plugins/api-metrics.plugin.js +0 -97
- package/dist/analytics/plugins/api-metrics.plugin.js.map +0 -1
- package/dist/analytics/plugins/index.d.ts +0 -15
- package/dist/analytics/plugins/index.d.ts.map +0 -1
- package/dist/analytics/plugins/index.js +0 -15
- package/dist/analytics/plugins/index.js.map +0 -1
- package/dist/analytics/plugins/model-metrics.plugin.d.ts +0 -39
- package/dist/analytics/plugins/model-metrics.plugin.d.ts.map +0 -1
- package/dist/analytics/plugins/model-metrics.plugin.js +0 -105
- package/dist/analytics/plugins/model-metrics.plugin.js.map +0 -1
- package/dist/analytics/plugins/provider-metrics.plugin.d.ts +0 -41
- package/dist/analytics/plugins/provider-metrics.plugin.d.ts.map +0 -1
- package/dist/analytics/plugins/provider-metrics.plugin.js +0 -123
- package/dist/analytics/plugins/provider-metrics.plugin.js.map +0 -1
- package/dist/analytics/plugins/types.d.ts +0 -61
- package/dist/analytics/plugins/types.d.ts.map +0 -1
- package/dist/analytics/plugins/types.js +0 -54
- package/dist/analytics/plugins/types.js.map +0 -1
- package/dist/analytics/privacy.d.ts +0 -10
- package/dist/analytics/privacy.d.ts.map +0 -1
- package/dist/analytics/privacy.js +0 -20
- package/dist/analytics/privacy.js.map +0 -1
- package/dist/analytics/remote-submission/cursor-manager.d.ts +0 -71
- package/dist/analytics/remote-submission/cursor-manager.d.ts.map +0 -1
- package/dist/analytics/remote-submission/cursor-manager.js +0 -204
- package/dist/analytics/remote-submission/cursor-manager.js.map +0 -1
- package/dist/analytics/remote-submission/index.d.ts +0 -12
- package/dist/analytics/remote-submission/index.d.ts.map +0 -1
- package/dist/analytics/remote-submission/index.js +0 -11
- package/dist/analytics/remote-submission/index.js.map +0 -1
- package/dist/analytics/remote-submission/lock-manager.d.ts +0 -71
- package/dist/analytics/remote-submission/lock-manager.d.ts.map +0 -1
- package/dist/analytics/remote-submission/lock-manager.js +0 -238
- package/dist/analytics/remote-submission/lock-manager.js.map +0 -1
- package/dist/analytics/remote-submission/metric-transformer.d.ts +0 -21
- package/dist/analytics/remote-submission/metric-transformer.d.ts.map +0 -1
- package/dist/analytics/remote-submission/metric-transformer.js +0 -82
- package/dist/analytics/remote-submission/metric-transformer.js.map +0 -1
- package/dist/analytics/remote-submission/submitter.d.ts +0 -79
- package/dist/analytics/remote-submission/submitter.d.ts.map +0 -1
- package/dist/analytics/remote-submission/submitter.js +0 -362
- package/dist/analytics/remote-submission/submitter.js.map +0 -1
- package/dist/analytics/remote-submission/types.d.ts +0 -123
- package/dist/analytics/remote-submission/types.d.ts.map +0 -1
- package/dist/analytics/remote-submission/types.js +0 -13
- package/dist/analytics/remote-submission/types.js.map +0 -1
- package/dist/analytics/session.d.ts +0 -56
- package/dist/analytics/session.d.ts.map +0 -1
- package/dist/analytics/session.js +0 -95
- package/dist/analytics/session.js.map +0 -1
- package/dist/analytics/types.d.ts +0 -104
- package/dist/analytics/types.d.ts.map +0 -1
- package/dist/analytics/types.js +0 -15
- package/dist/analytics/types.js.map +0 -1
- package/dist/analytics/writer.d.ts +0 -18
- package/dist/analytics/writer.d.ts.map +0 -1
- package/dist/analytics/writer.js +0 -44
- package/dist/analytics/writer.js.map +0 -1
- package/dist/cli/commands/analytics.d.ts +0 -3
- package/dist/cli/commands/analytics.d.ts.map +0 -1
- package/dist/cli/commands/analytics.js +0 -748
- package/dist/cli/commands/analytics.js.map +0 -1
- package/dist/utils/analytics-reader.d.ts +0 -117
- package/dist/utils/analytics-reader.d.ts.map +0 -1
- package/dist/utils/analytics-reader.js +0 -421
- package/dist/utils/analytics-reader.js.map +0 -1
- package/dist/utils/date-formatter.d.ts +0 -88
- package/dist/utils/date-formatter.d.ts.map +0 -1
- package/dist/utils/date-formatter.js +0 -133
- package/dist/utils/date-formatter.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ui.js","sourceRoot":"","sources":["../../../src/providers/integration/setup-ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA0B;IAC7D,OAAO,GAAG,QAAQ,CAAC,WAAW,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA0B;IAC1D,OAAO;QACL,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC;QACpC,KAAK,EAAE,QAAQ,CAAC,IAAI;KACrB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAA6B;IACjE,oFAAoF;IACpF,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,4DAA4D;QAC5D,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;QACpC,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;QAEpC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,GAAG,SAAS,CAAC,CAAC,oCAAoC;QACpE,CAAC;QAED,+DAA+D;QAC/D,OAAO,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAA0B;IACjE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,QAA2B;IAE3B,MAAM,QAAQ,GAAG,QAAQ,EAAE,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC;IAEpD,
|
|
1
|
+
{"version":3,"file":"setup-ui.js","sourceRoot":"","sources":["../../../src/providers/integration/setup-ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Bedrock Health Check Implementation
|
|
3
|
+
*
|
|
4
|
+
* Validates AWS Bedrock availability and functionality.
|
|
5
|
+
* Uses BaseHealthCheck for common patterns.
|
|
6
|
+
*/
|
|
7
|
+
import type { ModelInfo } from '../../core/types.js';
|
|
8
|
+
import { BaseHealthCheck } from '../../core/base/BaseHealthCheck.js';
|
|
9
|
+
/**
|
|
10
|
+
* Health check implementation for AWS Bedrock
|
|
11
|
+
*/
|
|
12
|
+
export declare class BedrockHealthCheck extends BaseHealthCheck {
|
|
13
|
+
private accessKeyId?;
|
|
14
|
+
private secretAccessKey?;
|
|
15
|
+
private profile?;
|
|
16
|
+
private region;
|
|
17
|
+
private modelProxy;
|
|
18
|
+
constructor(baseUrl?: string, accessKeyId?: string | undefined, secretAccessKey?: string | undefined, profile?: string | undefined, region?: string);
|
|
19
|
+
/**
|
|
20
|
+
* Initialize model proxy with credentials
|
|
21
|
+
*/
|
|
22
|
+
private initModelProxy;
|
|
23
|
+
/**
|
|
24
|
+
* Ping Bedrock by listing models
|
|
25
|
+
*/
|
|
26
|
+
protected ping(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Get Bedrock version (not applicable, returns region instead)
|
|
29
|
+
*/
|
|
30
|
+
protected getVersion(): Promise<string | undefined>;
|
|
31
|
+
/**
|
|
32
|
+
* List available models
|
|
33
|
+
*/
|
|
34
|
+
listModels(): Promise<ModelInfo[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Custom unreachable message with setup instructions
|
|
37
|
+
*/
|
|
38
|
+
protected getUnreachableResult(): {
|
|
39
|
+
provider: string;
|
|
40
|
+
status: "unreachable";
|
|
41
|
+
message: string;
|
|
42
|
+
remediation: string;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Custom healthy message
|
|
46
|
+
*/
|
|
47
|
+
protected getHealthyMessage(models: ModelInfo[]): string;
|
|
48
|
+
/**
|
|
49
|
+
* Custom no-models remediation
|
|
50
|
+
*/
|
|
51
|
+
protected getNoModelsRemediation(): string;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=bedrock.health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bedrock.health.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/bedrock/bedrock.health.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAKrE;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IAKnD,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,eAAe,CAAC;IACxB,OAAO,CAAC,OAAO,CAAC;IAChB,OAAO,CAAC,MAAM;IAPhB,OAAO,CAAC,UAAU,CAAkC;gBAGlD,OAAO,GAAE,MAAuC,EACxC,WAAW,CAAC,EAAE,MAAM,YAAA,EACpB,eAAe,CAAC,EAAE,MAAM,YAAA,EACxB,OAAO,CAAC,EAAE,MAAM,YAAA,EAChB,MAAM,GAAE,MAAoB;IAStC;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;cACa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrC;;OAEG;cACa,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIzD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAgBxC;;OAEG;IACH,SAAS,CAAC,oBAAoB;;;;;;IAkB9B;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM;IAMxD;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,MAAM;CAM3C"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Bedrock Health Check Implementation
|
|
3
|
+
*
|
|
4
|
+
* Validates AWS Bedrock availability and functionality.
|
|
5
|
+
* Uses BaseHealthCheck for common patterns.
|
|
6
|
+
*/
|
|
7
|
+
import { BaseHealthCheck } from '../../core/base/BaseHealthCheck.js';
|
|
8
|
+
import { ProviderRegistry } from '../../core/registry.js';
|
|
9
|
+
import { BedrockTemplate } from './bedrock.template.js';
|
|
10
|
+
import { BedrockModelProxy } from './bedrock.models.js';
|
|
11
|
+
/**
|
|
12
|
+
* Health check implementation for AWS Bedrock
|
|
13
|
+
*/
|
|
14
|
+
export class BedrockHealthCheck extends BaseHealthCheck {
|
|
15
|
+
accessKeyId;
|
|
16
|
+
secretAccessKey;
|
|
17
|
+
profile;
|
|
18
|
+
region;
|
|
19
|
+
modelProxy = null;
|
|
20
|
+
constructor(baseUrl = BedrockTemplate.defaultBaseUrl, accessKeyId, secretAccessKey, profile, region = 'us-east-1') {
|
|
21
|
+
super({
|
|
22
|
+
provider: 'bedrock',
|
|
23
|
+
baseUrl,
|
|
24
|
+
timeout: 10000 // Bedrock may take longer
|
|
25
|
+
});
|
|
26
|
+
this.accessKeyId = accessKeyId;
|
|
27
|
+
this.secretAccessKey = secretAccessKey;
|
|
28
|
+
this.profile = profile;
|
|
29
|
+
this.region = region;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Initialize model proxy with credentials
|
|
33
|
+
*/
|
|
34
|
+
initModelProxy() {
|
|
35
|
+
if (!this.modelProxy) {
|
|
36
|
+
this.modelProxy = new BedrockModelProxy(this.config.baseUrl, this.accessKeyId, this.secretAccessKey, this.profile, this.region);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Ping Bedrock by listing models
|
|
41
|
+
*/
|
|
42
|
+
async ping() {
|
|
43
|
+
this.initModelProxy();
|
|
44
|
+
// For Bedrock, we test connectivity by trying to list models
|
|
45
|
+
// This validates both connectivity and credentials
|
|
46
|
+
const models = await this.listModels();
|
|
47
|
+
if (models.length === 0) {
|
|
48
|
+
throw new Error('No models available - check model access in AWS Console');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get Bedrock version (not applicable, returns region instead)
|
|
53
|
+
*/
|
|
54
|
+
async getVersion() {
|
|
55
|
+
return `Region: ${this.region}`;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* List available models
|
|
59
|
+
*/
|
|
60
|
+
async listModels() {
|
|
61
|
+
this.initModelProxy();
|
|
62
|
+
try {
|
|
63
|
+
return await this.modelProxy.fetchModels({
|
|
64
|
+
provider: 'bedrock',
|
|
65
|
+
baseUrl: this.config.baseUrl,
|
|
66
|
+
apiKey: this.accessKeyId || '',
|
|
67
|
+
model: 'temp',
|
|
68
|
+
timeout: 300
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
throw new Error(`Failed to list models: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Custom unreachable message with setup instructions
|
|
77
|
+
*/
|
|
78
|
+
getUnreachableResult() {
|
|
79
|
+
return {
|
|
80
|
+
provider: 'bedrock',
|
|
81
|
+
status: 'unreachable',
|
|
82
|
+
message: 'Cannot connect to AWS Bedrock',
|
|
83
|
+
remediation: `Check AWS Bedrock configuration:
|
|
84
|
+
1. Verify AWS credentials are valid
|
|
85
|
+
2. Check region is correct (currently: ${this.region})
|
|
86
|
+
3. Ensure Bedrock is available in your region
|
|
87
|
+
4. Verify IAM permissions for Bedrock access
|
|
88
|
+
|
|
89
|
+
Setup Bedrock:
|
|
90
|
+
- Configure credentials: aws configure --profile your-profile
|
|
91
|
+
- Or use: codemie setup
|
|
92
|
+
- Request model access: AWS Console → Bedrock → Model Access`
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Custom healthy message
|
|
97
|
+
*/
|
|
98
|
+
getHealthyMessage(models) {
|
|
99
|
+
const popularModels = models.filter(m => m.popular).length;
|
|
100
|
+
return `AWS Bedrock is accessible with ${models.length} model(s) available` +
|
|
101
|
+
(popularModels > 0 ? ` (${popularModels} recommended)` : '');
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Custom no-models remediation
|
|
105
|
+
*/
|
|
106
|
+
getNoModelsRemediation() {
|
|
107
|
+
return `Request model access:
|
|
108
|
+
1. Go to AWS Console → Bedrock → Model Access
|
|
109
|
+
2. Request access to Claude 3.5 Sonnet and other models
|
|
110
|
+
3. Wait for approval (usually instant for Claude models)`;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// Auto-register health check (will be re-instantiated with actual credentials)
|
|
114
|
+
ProviderRegistry.registerHealthCheck('bedrock', new BedrockHealthCheck());
|
|
115
|
+
//# sourceMappingURL=bedrock.health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bedrock.health.js","sourceRoot":"","sources":["../../../../src/providers/plugins/bedrock/bedrock.health.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Bedrock Model Fetcher
|
|
3
|
+
*
|
|
4
|
+
* Fetches available models from AWS Bedrock API.
|
|
5
|
+
* Supports both AWS profile and direct credentials.
|
|
6
|
+
*/
|
|
7
|
+
import type { ProviderModelFetcher, ModelInfo } from '../../core/types.js';
|
|
8
|
+
import type { CodeMieConfigOptions } from '../../../env/types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Bedrock Model Proxy - Fetches models from AWS Bedrock
|
|
11
|
+
*/
|
|
12
|
+
export declare class BedrockModelProxy implements ProviderModelFetcher {
|
|
13
|
+
private baseUrl;
|
|
14
|
+
private accessKeyId?;
|
|
15
|
+
private secretAccessKey?;
|
|
16
|
+
private profile?;
|
|
17
|
+
private region;
|
|
18
|
+
private client;
|
|
19
|
+
constructor(baseUrl: string, accessKeyId?: string | undefined, secretAccessKey?: string | undefined, profile?: string | undefined, region?: string);
|
|
20
|
+
supports(provider: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Fetch available models from Bedrock
|
|
23
|
+
*/
|
|
24
|
+
fetchModels(_config: CodeMieConfigOptions): Promise<ModelInfo[]>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=bedrock.models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bedrock.models.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/bedrock/bedrock.models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAKlE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,oBAAoB;IAI1D,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,eAAe,CAAC;IACxB,OAAO,CAAC,OAAO,CAAC;IAChB,OAAO,CAAC,MAAM;IAPhB,OAAO,CAAC,MAAM,CAAuB;gBAG3B,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,YAAA,EACpB,eAAe,CAAC,EAAE,MAAM,YAAA,EACxB,OAAO,CAAC,EAAE,MAAM,YAAA,EAChB,MAAM,GAAE,MAAoB;IAOtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CA6DvE"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Bedrock Model Fetcher
|
|
3
|
+
*
|
|
4
|
+
* Fetches available models from AWS Bedrock API.
|
|
5
|
+
* Supports both AWS profile and direct credentials.
|
|
6
|
+
*/
|
|
7
|
+
import { ProviderRegistry } from '../../core/registry.js';
|
|
8
|
+
import { fromIni } from '@aws-sdk/credential-providers';
|
|
9
|
+
/**
|
|
10
|
+
* Bedrock Model Proxy - Fetches models from AWS Bedrock
|
|
11
|
+
*/
|
|
12
|
+
export class BedrockModelProxy {
|
|
13
|
+
baseUrl;
|
|
14
|
+
accessKeyId;
|
|
15
|
+
secretAccessKey;
|
|
16
|
+
profile;
|
|
17
|
+
region;
|
|
18
|
+
client;
|
|
19
|
+
constructor(baseUrl, accessKeyId, secretAccessKey, profile, region = 'us-east-1') {
|
|
20
|
+
this.baseUrl = baseUrl;
|
|
21
|
+
this.accessKeyId = accessKeyId;
|
|
22
|
+
this.secretAccessKey = secretAccessKey;
|
|
23
|
+
this.profile = profile;
|
|
24
|
+
this.region = region;
|
|
25
|
+
// Bedrock client will be initialized lazily in fetchModels
|
|
26
|
+
// to avoid credential loading errors during construction
|
|
27
|
+
this.client = null;
|
|
28
|
+
}
|
|
29
|
+
supports(provider) {
|
|
30
|
+
return provider === 'bedrock';
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Fetch available models from Bedrock
|
|
34
|
+
*/
|
|
35
|
+
async fetchModels(_config) {
|
|
36
|
+
try {
|
|
37
|
+
const { BedrockClient, ListInferenceProfilesCommand } = await import('@aws-sdk/client-bedrock');
|
|
38
|
+
const clientConfig = {
|
|
39
|
+
region: this.region
|
|
40
|
+
};
|
|
41
|
+
if (this.profile) {
|
|
42
|
+
// Use AWS profile - fromIni returns a credential provider function
|
|
43
|
+
// that the SDK will call when needed
|
|
44
|
+
clientConfig.credentials = fromIni({
|
|
45
|
+
profile: this.profile
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else if (this.accessKeyId && this.secretAccessKey) {
|
|
49
|
+
// Use direct credentials
|
|
50
|
+
clientConfig.credentials = {
|
|
51
|
+
accessKeyId: this.accessKeyId,
|
|
52
|
+
secretAccessKey: this.secretAccessKey
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// Try to use default credentials chain (environment variables, default profile, etc.)
|
|
57
|
+
// SDK will handle this automatically if no credentials are specified
|
|
58
|
+
}
|
|
59
|
+
const bedrockClient = new BedrockClient(clientConfig);
|
|
60
|
+
// Fetch inference profiles (cross-region)
|
|
61
|
+
const profilesResponse = await bedrockClient.send(new ListInferenceProfilesCommand({}));
|
|
62
|
+
const models = [];
|
|
63
|
+
// Add inference profiles
|
|
64
|
+
if (profilesResponse.inferenceProfileSummaries) {
|
|
65
|
+
models.push(...profilesResponse.inferenceProfileSummaries
|
|
66
|
+
.filter(profile => {
|
|
67
|
+
// Filter for profiles with valid ID
|
|
68
|
+
return profile.inferenceProfileId;
|
|
69
|
+
})
|
|
70
|
+
.map(profile => ({
|
|
71
|
+
id: profile.inferenceProfileId,
|
|
72
|
+
name: profile.inferenceProfileName || profile.inferenceProfileId
|
|
73
|
+
})));
|
|
74
|
+
}
|
|
75
|
+
if (models.length === 0) {
|
|
76
|
+
throw new Error('No inference profiles found');
|
|
77
|
+
}
|
|
78
|
+
// Sort by name
|
|
79
|
+
models.sort((a, b) => a.name.localeCompare(b.name));
|
|
80
|
+
return models;
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
throw new Error(`Failed to fetch Bedrock models: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Auto-register model proxy
|
|
88
|
+
ProviderRegistry.registerModelProxy('bedrock', new BedrockModelProxy('', undefined, undefined, undefined, 'us-east-1'));
|
|
89
|
+
//# sourceMappingURL=bedrock.models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bedrock.models.js","sourceRoot":"","sources":["../../../../src/providers/plugins/bedrock/bedrock.models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Bedrock Provider Setup Steps
|
|
3
|
+
*
|
|
4
|
+
* Implements setup flow for AWS Bedrock.
|
|
5
|
+
* Supports both AWS profile and direct credentials (access key + secret key).
|
|
6
|
+
*/
|
|
7
|
+
import type { ProviderSetupSteps } from '../../core/types.js';
|
|
8
|
+
/**
|
|
9
|
+
* AWS Bedrock setup steps implementation
|
|
10
|
+
*/
|
|
11
|
+
export declare const BedrockSetupSteps: ProviderSetupSteps;
|
|
12
|
+
//# sourceMappingURL=bedrock.setup-steps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bedrock.setup-steps.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/bedrock/bedrock.setup-steps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAoF7B;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,kBAsQ/B,CAAC"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Bedrock Provider Setup Steps
|
|
3
|
+
*
|
|
4
|
+
* Implements setup flow for AWS Bedrock.
|
|
5
|
+
* Supports both AWS profile and direct credentials (access key + secret key).
|
|
6
|
+
*/
|
|
7
|
+
import { ProviderRegistry } from '../../core/registry.js';
|
|
8
|
+
import { BedrockTemplate } from './bedrock.template.js';
|
|
9
|
+
import { exec } from 'child_process';
|
|
10
|
+
import { promisify } from 'util';
|
|
11
|
+
const execAsync = promisify(exec);
|
|
12
|
+
/**
|
|
13
|
+
* Check if AWS CLI is installed
|
|
14
|
+
*/
|
|
15
|
+
async function isAwsCliInstalled() {
|
|
16
|
+
try {
|
|
17
|
+
await execAsync('aws --version');
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* List available AWS profiles from ~/.aws/credentials
|
|
26
|
+
*/
|
|
27
|
+
async function listAwsProfiles() {
|
|
28
|
+
try {
|
|
29
|
+
const { stdout } = await execAsync('aws configure list-profiles');
|
|
30
|
+
return stdout
|
|
31
|
+
.split('\n')
|
|
32
|
+
.map(line => line.trim())
|
|
33
|
+
.filter(line => line.length > 0);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get profile details (region, access key ID prefix)
|
|
41
|
+
*/
|
|
42
|
+
async function getProfileDetails(profile) {
|
|
43
|
+
try {
|
|
44
|
+
const [regionResult, accessKeyResult] = await Promise.allSettled([
|
|
45
|
+
execAsync(`aws configure get region --profile ${profile}`),
|
|
46
|
+
execAsync(`aws configure get aws_access_key_id --profile ${profile}`)
|
|
47
|
+
]);
|
|
48
|
+
const region = regionResult.status === 'fulfilled' ? regionResult.value.stdout.trim() || 'us-east-1' : 'us-east-1';
|
|
49
|
+
const accessKeyId = accessKeyResult.status === 'fulfilled' ? accessKeyResult.value.stdout.trim() : undefined;
|
|
50
|
+
return { region, accessKeyId };
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return { region: 'us-east-1' };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create new AWS profile
|
|
58
|
+
*/
|
|
59
|
+
async function createAwsProfile(profileName, accessKeyId, secretAccessKey, region) {
|
|
60
|
+
await execAsync(`aws configure set aws_access_key_id ${accessKeyId} --profile ${profileName}`);
|
|
61
|
+
await execAsync(`aws configure set aws_secret_access_key ${secretAccessKey} --profile ${profileName}`);
|
|
62
|
+
await execAsync(`aws configure set region ${region} --profile ${profileName}`);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Generate unique profile name by adding incremental index if name exists
|
|
66
|
+
* Similar to CodeMie profile naming (profile, profile-2, profile-3, etc.)
|
|
67
|
+
*/
|
|
68
|
+
function generateUniqueProfileName(baseName, existingProfiles) {
|
|
69
|
+
if (!existingProfiles.includes(baseName)) {
|
|
70
|
+
return baseName;
|
|
71
|
+
}
|
|
72
|
+
let index = 2;
|
|
73
|
+
let candidateName = `${baseName}-${index}`;
|
|
74
|
+
while (existingProfiles.includes(candidateName)) {
|
|
75
|
+
index++;
|
|
76
|
+
candidateName = `${baseName}-${index}`;
|
|
77
|
+
}
|
|
78
|
+
return candidateName;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* AWS Bedrock setup steps implementation
|
|
82
|
+
*/
|
|
83
|
+
export const BedrockSetupSteps = {
|
|
84
|
+
name: 'bedrock',
|
|
85
|
+
/**
|
|
86
|
+
* Get credentials for AWS Bedrock
|
|
87
|
+
* Supports both AWS profile and direct credentials
|
|
88
|
+
*/
|
|
89
|
+
async getCredentials() {
|
|
90
|
+
const inquirer = (await import('inquirer')).default;
|
|
91
|
+
const chalk = (await import('chalk')).default;
|
|
92
|
+
// Check if AWS CLI is installed
|
|
93
|
+
const hasAwsCli = await isAwsCliInstalled();
|
|
94
|
+
console.log(chalk.cyan('\n📦 AWS Bedrock Configuration\n'));
|
|
95
|
+
if (hasAwsCli) {
|
|
96
|
+
console.log(chalk.green('✓ AWS CLI detected\n'));
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
console.log(chalk.yellow('⚠ AWS CLI not detected (install from: https://aws.amazon.com/cli/)\n'));
|
|
100
|
+
console.log(chalk.dim(' You can still configure Bedrock using access keys\n'));
|
|
101
|
+
}
|
|
102
|
+
// Ask for authentication method
|
|
103
|
+
const authChoices = [
|
|
104
|
+
{ name: 'AWS Profile (recommended)', value: 'profile', disabled: !hasAwsCli },
|
|
105
|
+
{ name: 'Access Key + Secret Key', value: 'keys' }
|
|
106
|
+
];
|
|
107
|
+
const { authMethod } = await inquirer.prompt([
|
|
108
|
+
{
|
|
109
|
+
type: 'list',
|
|
110
|
+
name: 'authMethod',
|
|
111
|
+
message: 'Authentication method:',
|
|
112
|
+
choices: authChoices
|
|
113
|
+
}
|
|
114
|
+
]);
|
|
115
|
+
let awsProfile;
|
|
116
|
+
let accessKeyId;
|
|
117
|
+
let secretAccessKey;
|
|
118
|
+
let region;
|
|
119
|
+
if (authMethod === 'profile') {
|
|
120
|
+
// List available profiles
|
|
121
|
+
const profiles = await listAwsProfiles();
|
|
122
|
+
// Show detected profiles
|
|
123
|
+
if (profiles.length > 0) {
|
|
124
|
+
console.log(chalk.cyan(`\nDetected ${profiles.length} AWS profile(s):\n`));
|
|
125
|
+
for (const profile of profiles) {
|
|
126
|
+
const details = await getProfileDetails(profile);
|
|
127
|
+
const keyPrefix = details.accessKeyId ? `${details.accessKeyId.substring(0, 8)}...` : 'not configured';
|
|
128
|
+
console.log(chalk.dim(` • ${profile}`));
|
|
129
|
+
console.log(chalk.dim(` Region: ${details.region}`));
|
|
130
|
+
console.log(chalk.dim(` Access Key: ${keyPrefix}\n`));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Add option to create new profile
|
|
134
|
+
const profileChoices = [
|
|
135
|
+
...profiles,
|
|
136
|
+
new inquirer.Separator(),
|
|
137
|
+
{ name: '+ Create new AWS profile', value: '__create_new__' }
|
|
138
|
+
];
|
|
139
|
+
// Ask user to select profile or create new
|
|
140
|
+
const { profile: selectedProfile } = await inquirer.prompt([
|
|
141
|
+
{
|
|
142
|
+
type: 'list',
|
|
143
|
+
name: 'profile',
|
|
144
|
+
message: 'Select AWS profile:',
|
|
145
|
+
choices: profileChoices
|
|
146
|
+
}
|
|
147
|
+
]);
|
|
148
|
+
if (selectedProfile === '__create_new__') {
|
|
149
|
+
// Create new profile flow
|
|
150
|
+
console.log(chalk.cyan('\n📝 Create New AWS Profile\n'));
|
|
151
|
+
// Generate unique default profile name
|
|
152
|
+
const defaultProfileName = generateUniqueProfileName('bedrock', profiles);
|
|
153
|
+
// Gather profile name and credentials
|
|
154
|
+
const newProfileAnswer = await inquirer.prompt([
|
|
155
|
+
{
|
|
156
|
+
type: 'input',
|
|
157
|
+
name: 'profileName',
|
|
158
|
+
message: 'Profile name:',
|
|
159
|
+
default: defaultProfileName,
|
|
160
|
+
validate: (input) => input.trim() !== '' || 'Profile name is required'
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'input',
|
|
164
|
+
name: 'accessKeyId',
|
|
165
|
+
message: 'AWS Access Key ID:',
|
|
166
|
+
validate: (input) => input.trim() !== '' || 'Access Key ID is required'
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'password',
|
|
170
|
+
name: 'secretAccessKey',
|
|
171
|
+
message: 'AWS Secret Access Key:',
|
|
172
|
+
validate: (input) => input.trim() !== '' || 'Secret Access Key is required'
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
type: 'input',
|
|
176
|
+
name: 'region',
|
|
177
|
+
message: 'AWS Region:',
|
|
178
|
+
default: 'us-east-1',
|
|
179
|
+
validate: (input) => input.trim() !== '' || 'Region is required'
|
|
180
|
+
}
|
|
181
|
+
]);
|
|
182
|
+
const finalProfileName = newProfileAnswer.profileName.trim();
|
|
183
|
+
// Create the profile using AWS CLI (will overwrite if exists)
|
|
184
|
+
try {
|
|
185
|
+
await createAwsProfile(finalProfileName, newProfileAnswer.accessKeyId, newProfileAnswer.secretAccessKey, newProfileAnswer.region);
|
|
186
|
+
// Verify profile was created successfully
|
|
187
|
+
const verifyProfiles = await listAwsProfiles();
|
|
188
|
+
if (!verifyProfiles.includes(finalProfileName)) {
|
|
189
|
+
throw new Error('Profile was not created successfully');
|
|
190
|
+
}
|
|
191
|
+
console.log(chalk.green(`\n✓ AWS profile "${finalProfileName}" created successfully\n`));
|
|
192
|
+
awsProfile = finalProfileName;
|
|
193
|
+
region = newProfileAnswer.region;
|
|
194
|
+
}
|
|
195
|
+
catch (error) {
|
|
196
|
+
console.log(chalk.red(`\n✗ Failed to create AWS profile: ${error instanceof Error ? error.message : 'Unknown error'}`));
|
|
197
|
+
console.log(chalk.yellow('\nFalling back to direct credential input...\n'));
|
|
198
|
+
// Fallback to using credentials directly instead of profile
|
|
199
|
+
awsProfile = undefined;
|
|
200
|
+
accessKeyId = newProfileAnswer.accessKeyId;
|
|
201
|
+
secretAccessKey = newProfileAnswer.secretAccessKey;
|
|
202
|
+
region = newProfileAnswer.region;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
// Use existing profile
|
|
207
|
+
awsProfile = selectedProfile;
|
|
208
|
+
// Get region for this profile
|
|
209
|
+
const details = await getProfileDetails(awsProfile || '');
|
|
210
|
+
region = details.region;
|
|
211
|
+
console.log(chalk.dim(`\nUsing profile: ${awsProfile}`));
|
|
212
|
+
console.log(chalk.dim(`Region: ${region}\n`));
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
// Direct credentials
|
|
217
|
+
const credentialsAnswer = await inquirer.prompt([
|
|
218
|
+
{
|
|
219
|
+
type: 'input',
|
|
220
|
+
name: 'accessKeyId',
|
|
221
|
+
message: 'AWS Access Key ID:',
|
|
222
|
+
validate: (input) => input.trim() !== '' || 'Access Key ID is required'
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
type: 'password',
|
|
226
|
+
name: 'secretAccessKey',
|
|
227
|
+
message: 'AWS Secret Access Key:',
|
|
228
|
+
validate: (input) => input.trim() !== '' || 'Secret Access Key is required'
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
type: 'input',
|
|
232
|
+
name: 'region',
|
|
233
|
+
message: 'AWS Region:',
|
|
234
|
+
default: 'us-east-1',
|
|
235
|
+
validate: (input) => input.trim() !== '' || 'Region is required'
|
|
236
|
+
}
|
|
237
|
+
]);
|
|
238
|
+
accessKeyId = credentialsAnswer.accessKeyId;
|
|
239
|
+
secretAccessKey = credentialsAnswer.secretAccessKey;
|
|
240
|
+
region = credentialsAnswer.region;
|
|
241
|
+
}
|
|
242
|
+
// Construct base URL with region
|
|
243
|
+
const baseUrl = `https://bedrock-runtime.${region}.amazonaws.com`;
|
|
244
|
+
return {
|
|
245
|
+
baseUrl,
|
|
246
|
+
apiKey: accessKeyId || '', // Store access key in apiKey field
|
|
247
|
+
additionalConfig: {
|
|
248
|
+
awsProfile,
|
|
249
|
+
awsRegion: region,
|
|
250
|
+
awsSecretAccessKey: secretAccessKey
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
},
|
|
254
|
+
/**
|
|
255
|
+
* Fetch available models from AWS Bedrock
|
|
256
|
+
*/
|
|
257
|
+
async fetchModels(credentials) {
|
|
258
|
+
const { BedrockModelProxy } = await import('./bedrock.models.js');
|
|
259
|
+
const modelProxy = new BedrockModelProxy(credentials.baseUrl, credentials.apiKey, credentials.additionalConfig?.awsSecretAccessKey, credentials.additionalConfig?.awsProfile, credentials.additionalConfig?.awsRegion);
|
|
260
|
+
try {
|
|
261
|
+
const models = await modelProxy.fetchModels({
|
|
262
|
+
provider: 'bedrock',
|
|
263
|
+
baseUrl: credentials.baseUrl,
|
|
264
|
+
apiKey: credentials.apiKey,
|
|
265
|
+
model: 'temp',
|
|
266
|
+
timeout: 300
|
|
267
|
+
});
|
|
268
|
+
return models.map(m => m.id);
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
const chalk = (await import('chalk')).default;
|
|
272
|
+
console.log(chalk.yellow('\n⚠ Could not fetch models from Bedrock'));
|
|
273
|
+
console.log(chalk.dim(` Error: ${error instanceof Error ? error.message : 'Unknown error'}`));
|
|
274
|
+
console.log(chalk.dim(' Using recommended models instead\n'));
|
|
275
|
+
// Fallback to recommended models
|
|
276
|
+
return BedrockTemplate.recommendedModels;
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
/**
|
|
280
|
+
* Build configuration for AWS Bedrock
|
|
281
|
+
*/
|
|
282
|
+
buildConfig(credentials, model) {
|
|
283
|
+
const config = {
|
|
284
|
+
provider: 'bedrock',
|
|
285
|
+
baseUrl: credentials.baseUrl,
|
|
286
|
+
model,
|
|
287
|
+
timeout: 300,
|
|
288
|
+
debug: false
|
|
289
|
+
};
|
|
290
|
+
// Store AWS credentials
|
|
291
|
+
if (credentials.additionalConfig?.awsProfile) {
|
|
292
|
+
// Using AWS profile
|
|
293
|
+
config.awsProfile = credentials.additionalConfig.awsProfile;
|
|
294
|
+
// Add placeholder apiKey to pass validation (not used, credentials come from AWS profile)
|
|
295
|
+
config.apiKey = 'aws-profile';
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
// Using direct credentials
|
|
299
|
+
config.apiKey = credentials.apiKey;
|
|
300
|
+
config.awsSecretAccessKey = credentials.additionalConfig?.awsSecretAccessKey;
|
|
301
|
+
}
|
|
302
|
+
config.awsRegion = credentials.additionalConfig?.awsRegion;
|
|
303
|
+
return config;
|
|
304
|
+
}
|
|
305
|
+
};
|
|
306
|
+
// Auto-register setup steps
|
|
307
|
+
ProviderRegistry.registerSetupSteps('bedrock', BedrockSetupSteps);
|
|
308
|
+
//# sourceMappingURL=bedrock.setup-steps.js.map
|