@codemieai/code 0.0.15 → 0.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +86 -14
- package/bin/agent-executor.js +7 -28
- package/bin/codemie-claude.js +18 -0
- package/bin/codemie-codex.js +18 -0
- package/bin/codemie-deepagents.js +18 -0
- package/bin/codemie-gemini.js +18 -0
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +5 -34
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/config.d.ts.map +1 -1
- package/dist/agents/codemie-code/config.js +12 -4
- package/dist/agents/codemie-code/config.js.map +1 -1
- package/dist/agents/codemie-code/tools/planning.d.ts +1 -1
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +30 -63
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +10 -6
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +108 -36
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/BaseMetricsAdapter.d.ts +64 -0
- package/dist/agents/core/BaseMetricsAdapter.d.ts.map +1 -0
- package/dist/agents/core/BaseMetricsAdapter.js +74 -0
- package/dist/agents/core/BaseMetricsAdapter.js.map +1 -0
- package/dist/agents/core/types.d.ts +1 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude.metrics.d.ts +112 -0
- package/dist/agents/plugins/claude.metrics.d.ts.map +1 -0
- package/dist/agents/plugins/claude.metrics.js +700 -0
- package/dist/agents/plugins/claude.metrics.js.map +1 -0
- package/dist/agents/plugins/claude.plugin.d.ts +9 -0
- package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude.plugin.js +52 -10
- package/dist/agents/plugins/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +46 -14
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codex.plugin.js +2 -4
- package/dist/agents/plugins/codex.plugin.js.map +1 -1
- package/dist/agents/plugins/deepagents.plugin.js +1 -1
- package/dist/agents/plugins/deepagents.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini.plugin.js +1 -8
- package/dist/agents/plugins/gemini.plugin.js.map +1 -1
- package/dist/agents/plugins/history-parser.d.ts +52 -0
- package/dist/agents/plugins/history-parser.d.ts.map +1 -0
- package/dist/agents/plugins/history-parser.js +155 -0
- package/dist/agents/plugins/history-parser.js.map +1 -0
- package/dist/cli/commands/analytics/aggregator.d.ts +58 -0
- package/dist/cli/commands/analytics/aggregator.d.ts.map +1 -0
- package/dist/cli/commands/analytics/aggregator.js +702 -0
- package/dist/cli/commands/analytics/aggregator.js.map +1 -0
- package/dist/cli/commands/analytics/data-loader.d.ts +84 -0
- package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -0
- package/dist/cli/commands/analytics/data-loader.js +211 -0
- package/dist/cli/commands/analytics/data-loader.js.map +1 -0
- package/dist/cli/commands/analytics/exporter.d.ts +20 -0
- package/dist/cli/commands/analytics/exporter.d.ts.map +1 -0
- package/dist/cli/commands/analytics/exporter.js +103 -0
- package/dist/cli/commands/analytics/exporter.js.map +1 -0
- package/dist/cli/commands/analytics/formatter.d.ts +49 -0
- package/dist/cli/commands/analytics/formatter.d.ts.map +1 -0
- package/dist/cli/commands/analytics/formatter.js +309 -0
- package/dist/cli/commands/analytics/formatter.js.map +1 -0
- package/dist/cli/commands/analytics/index.d.ts +6 -0
- package/dist/cli/commands/analytics/index.d.ts.map +1 -0
- package/dist/cli/commands/analytics/index.js +157 -0
- package/dist/cli/commands/analytics/index.js.map +1 -0
- package/dist/cli/commands/analytics/model-normalizer.d.ts +21 -0
- package/dist/cli/commands/analytics/model-normalizer.d.ts.map +1 -0
- package/dist/cli/commands/analytics/model-normalizer.js +44 -0
- package/dist/cli/commands/analytics/model-normalizer.js.map +1 -0
- package/dist/cli/commands/analytics/types.d.ts +188 -0
- package/dist/cli/commands/analytics/types.d.ts.map +1 -0
- package/dist/cli/commands/analytics/types.js +6 -0
- package/dist/cli/commands/analytics/types.js.map +1 -0
- package/dist/cli/commands/auth.d.ts.map +1 -1
- package/dist/cli/commands/auth.js +10 -5
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/doctor/checks/AIConfigCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/AIConfigCheck.js +12 -5
- package/dist/cli/commands/doctor/checks/AIConfigCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/AwsCliCheck.d.ts +9 -0
- package/dist/cli/commands/doctor/checks/AwsCliCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/checks/AwsCliCheck.js +28 -0
- package/dist/cli/commands/doctor/checks/AwsCliCheck.js.map +1 -0
- package/dist/cli/commands/doctor/checks/PythonCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/PythonCheck.js +10 -0
- package/dist/cli/commands/doctor/checks/PythonCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.js +2 -1
- package/dist/cli/commands/doctor/checks/WorkflowsCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
- package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/index.js +1 -0
- package/dist/cli/commands/doctor/checks/index.js.map +1 -1
- package/dist/cli/commands/doctor/formatter.d.ts +1 -1
- package/dist/cli/commands/doctor/formatter.d.ts.map +1 -1
- package/dist/cli/commands/doctor/formatter.js +1 -6
- package/dist/cli/commands/doctor/formatter.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +107 -10
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/doctor/type-adapters.d.ts +18 -0
- package/dist/cli/commands/doctor/type-adapters.d.ts.map +1 -0
- package/dist/cli/commands/doctor/type-adapters.js +75 -0
- package/dist/cli/commands/doctor/type-adapters.js.map +1 -0
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +1 -6
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +0 -5
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/profile.d.ts.map +1 -1
- package/dist/cli/commands/profile.js +130 -92
- package/dist/cli/commands/profile.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +147 -668
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +14 -2
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/metrics/MetricsOrchestrator.d.ts +67 -0
- package/dist/metrics/MetricsOrchestrator.d.ts.map +1 -0
- package/dist/metrics/MetricsOrchestrator.js +287 -0
- package/dist/metrics/MetricsOrchestrator.js.map +1 -0
- package/dist/metrics/config.d.ts +38 -0
- package/dist/metrics/config.d.ts.map +1 -0
- package/dist/metrics/config.js +80 -0
- package/dist/metrics/config.js.map +1 -0
- package/dist/metrics/core/DeltaWriter.d.ts +49 -0
- package/dist/metrics/core/DeltaWriter.d.ts.map +1 -0
- package/dist/metrics/core/DeltaWriter.js +146 -0
- package/dist/metrics/core/DeltaWriter.js.map +1 -0
- package/dist/metrics/core/FileSnapshotter.d.ts +22 -0
- package/dist/metrics/core/FileSnapshotter.d.ts.map +1 -0
- package/dist/metrics/core/FileSnapshotter.js +74 -0
- package/dist/metrics/core/FileSnapshotter.js.map +1 -0
- package/dist/metrics/core/SessionCorrelator.d.ts +34 -0
- package/dist/metrics/core/SessionCorrelator.d.ts.map +1 -0
- package/dist/metrics/core/SessionCorrelator.js +115 -0
- package/dist/metrics/core/SessionCorrelator.js.map +1 -0
- package/dist/metrics/core/SyncStateManager.d.ts +69 -0
- package/dist/metrics/core/SyncStateManager.d.ts.map +1 -0
- package/dist/metrics/core/SyncStateManager.js +284 -0
- package/dist/metrics/core/SyncStateManager.js.map +1 -0
- package/dist/metrics/index.d.ts +9 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js +11 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/session/SessionStore.d.ts +43 -0
- package/dist/metrics/session/SessionStore.d.ts.map +1 -0
- package/dist/metrics/session/SessionStore.js +142 -0
- package/dist/metrics/session/SessionStore.js.map +1 -0
- package/dist/metrics/sync/MetricsApiClient.d.ts +32 -0
- package/dist/metrics/sync/MetricsApiClient.d.ts.map +1 -0
- package/dist/metrics/sync/MetricsApiClient.js +155 -0
- package/dist/metrics/sync/MetricsApiClient.js.map +1 -0
- package/dist/metrics/sync/aggregator.d.ts +13 -0
- package/dist/metrics/sync/aggregator.d.ts.map +1 -0
- package/dist/metrics/sync/aggregator.js +196 -0
- package/dist/metrics/sync/aggregator.js.map +1 -0
- package/dist/metrics/sync/index.d.ts +10 -0
- package/dist/metrics/sync/index.d.ts.map +1 -0
- package/dist/metrics/sync/index.js +10 -0
- package/dist/metrics/sync/index.js.map +1 -0
- package/dist/metrics/sync/jsonl-writer.d.ts +28 -0
- package/dist/metrics/sync/jsonl-writer.d.ts.map +1 -0
- package/dist/metrics/sync/jsonl-writer.js +72 -0
- package/dist/metrics/sync/jsonl-writer.js.map +1 -0
- package/dist/metrics/sync/types.d.ts +72 -0
- package/dist/metrics/sync/types.d.ts.map +1 -0
- package/dist/metrics/sync/types.js +7 -0
- package/dist/metrics/sync/types.js.map +1 -0
- package/dist/metrics/types.d.ts +308 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/metrics/types.js +8 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/providers/core/base/BaseHealthCheck.d.ts +57 -0
- package/dist/providers/core/base/BaseHealthCheck.d.ts.map +1 -0
- package/dist/providers/core/base/BaseHealthCheck.js +121 -0
- package/dist/providers/core/base/BaseHealthCheck.js.map +1 -0
- package/dist/providers/core/base/BaseModelProxy.d.ts +45 -0
- package/dist/providers/core/base/BaseModelProxy.d.ts.map +1 -0
- package/dist/providers/core/base/BaseModelProxy.js +43 -0
- package/dist/providers/core/base/BaseModelProxy.js.map +1 -0
- package/dist/providers/core/base/http-client.d.ts +57 -0
- package/dist/providers/core/base/http-client.d.ts.map +1 -0
- package/dist/providers/core/base/http-client.js +240 -0
- package/dist/providers/core/base/http-client.js.map +1 -0
- package/dist/providers/core/decorators.d.ts +13 -0
- package/dist/providers/core/decorators.d.ts.map +1 -0
- package/dist/providers/core/decorators.js +15 -0
- package/dist/providers/core/decorators.js.map +1 -0
- package/dist/providers/core/index.d.ts +13 -0
- package/dist/providers/core/index.d.ts.map +1 -0
- package/dist/providers/core/index.js +14 -0
- package/dist/providers/core/index.js.map +1 -0
- package/dist/providers/core/registry.d.ts +66 -0
- package/dist/providers/core/registry.d.ts.map +1 -0
- package/dist/providers/core/registry.js +105 -0
- package/dist/providers/core/registry.js.map +1 -0
- package/dist/providers/core/types.d.ts +285 -0
- package/dist/providers/core/types.d.ts.map +1 -0
- package/dist/providers/core/types.js +7 -0
- package/dist/providers/core/types.js.map +1 -0
- package/dist/providers/index.d.ts +22 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +24 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/integration/setup-ui.d.ts +76 -0
- package/dist/providers/integration/setup-ui.d.ts.map +1 -0
- package/dist/providers/integration/setup-ui.js +186 -0
- package/dist/providers/integration/setup-ui.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.health.d.ts +53 -0
- package/dist/providers/plugins/bedrock/bedrock.health.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.health.js +115 -0
- package/dist/providers/plugins/bedrock/bedrock.health.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.models.d.ts +26 -0
- package/dist/providers/plugins/bedrock/bedrock.models.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.models.js +89 -0
- package/dist/providers/plugins/bedrock/bedrock.models.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.d.ts +12 -0
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.js +308 -0
- package/dist/providers/plugins/bedrock/bedrock.setup-steps.js.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.template.d.ts +11 -0
- package/dist/providers/plugins/bedrock/bedrock.template.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/bedrock.template.js +85 -0
- package/dist/providers/plugins/bedrock/bedrock.template.js.map +1 -0
- package/dist/providers/plugins/bedrock/index.d.ts +11 -0
- package/dist/providers/plugins/bedrock/index.d.ts.map +1 -0
- package/dist/providers/plugins/bedrock/index.js +11 -0
- package/dist/providers/plugins/bedrock/index.js.map +1 -0
- package/dist/providers/plugins/litellm/index.d.ts +8 -0
- package/dist/providers/plugins/litellm/index.d.ts.map +1 -0
- package/dist/providers/plugins/litellm/index.js +12 -0
- package/dist/providers/plugins/litellm/index.js.map +1 -0
- package/dist/providers/plugins/litellm/litellm.models.d.ts +27 -0
- package/dist/providers/plugins/litellm/litellm.models.d.ts.map +1 -0
- package/dist/providers/plugins/litellm/litellm.models.js +48 -0
- package/dist/providers/plugins/litellm/litellm.models.js.map +1 -0
- package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts +8 -0
- package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/litellm/litellm.setup-steps.js +52 -0
- package/dist/providers/plugins/litellm/litellm.setup-steps.js.map +1 -0
- package/dist/providers/plugins/litellm/litellm.template.d.ts +11 -0
- package/dist/providers/plugins/litellm/litellm.template.d.ts.map +1 -0
- package/dist/providers/plugins/litellm/litellm.template.js +59 -0
- package/dist/providers/plugins/litellm/litellm.template.js.map +1 -0
- package/dist/providers/plugins/ollama/index.d.ts +11 -0
- package/dist/providers/plugins/ollama/index.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/index.js +11 -0
- package/dist/providers/plugins/ollama/index.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.health.d.ts +48 -0
- package/dist/providers/plugins/ollama/ollama.health.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.health.js +87 -0
- package/dist/providers/plugins/ollama/ollama.health.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.models.d.ts +47 -0
- package/dist/providers/plugins/ollama/ollama.models.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.models.js +252 -0
- package/dist/providers/plugins/ollama/ollama.models.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts +16 -0
- package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.setup-steps.js +164 -0
- package/dist/providers/plugins/ollama/ollama.setup-steps.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.template.d.ts +11 -0
- package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.template.js +89 -0
- package/dist/providers/plugins/ollama/ollama.template.js.map +1 -0
- package/dist/providers/plugins/sso/index.d.ts +12 -0
- package/dist/providers/plugins/sso/index.d.ts.map +1 -0
- package/dist/providers/plugins/sso/index.js +12 -0
- package/dist/providers/plugins/sso/index.js.map +1 -0
- package/dist/providers/plugins/sso/sso.auth.d.ts +50 -0
- package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -0
- package/dist/{utils/sso-auth.js → providers/plugins/sso/sso.auth.js} +37 -2
- package/dist/providers/plugins/sso/sso.auth.js.map +1 -0
- package/dist/providers/plugins/sso/sso.health.d.ts +44 -0
- package/dist/providers/plugins/sso/sso.health.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.health.js +178 -0
- package/dist/providers/plugins/sso/sso.health.js.map +1 -0
- package/dist/providers/plugins/sso/sso.http-client.d.ts +24 -0
- package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.http-client.js +193 -0
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -0
- package/dist/providers/plugins/sso/sso.models.d.ts +48 -0
- package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.models.js +139 -0
- package/dist/providers/plugins/sso/sso.models.js.map +1 -0
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts +16 -0
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.setup-steps.js +145 -0
- package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -0
- package/dist/providers/plugins/sso/sso.template.d.ts +11 -0
- package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.template.js +35 -0
- package/dist/providers/plugins/sso/sso.template.js.map +1 -0
- package/dist/proxy/errors.d.ts.map +1 -0
- package/dist/proxy/errors.js.map +1 -0
- package/dist/proxy/http-client.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/http-client.js +50 -15
- package/dist/proxy/http-client.js.map +1 -0
- package/dist/proxy/plugins/endpoint-blocker.plugin.d.ts +19 -0
- package/dist/proxy/plugins/endpoint-blocker.plugin.d.ts.map +1 -0
- package/dist/proxy/plugins/endpoint-blocker.plugin.js +61 -0
- package/dist/proxy/plugins/endpoint-blocker.plugin.js.map +1 -0
- package/dist/proxy/plugins/header-injection.plugin.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/header-injection.plugin.js +10 -3
- package/dist/proxy/plugins/header-injection.plugin.js.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/index.d.ts +4 -2
- package/dist/proxy/plugins/index.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/index.js +7 -5
- package/dist/proxy/plugins/index.js.map +1 -0
- package/dist/proxy/plugins/logging.plugin.d.ts +22 -0
- package/dist/proxy/plugins/logging.plugin.d.ts.map +1 -0
- package/dist/proxy/plugins/logging.plugin.js +156 -0
- package/dist/proxy/plugins/logging.plugin.js.map +1 -0
- package/dist/proxy/plugins/metrics-sync.plugin.d.ts +33 -0
- package/dist/proxy/plugins/metrics-sync.plugin.d.ts.map +1 -0
- package/dist/proxy/plugins/metrics-sync.plugin.js +310 -0
- package/dist/proxy/plugins/metrics-sync.plugin.js.map +1 -0
- package/dist/proxy/plugins/registry.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/registry.js +9 -2
- package/dist/proxy/plugins/registry.js.map +1 -0
- package/dist/proxy/plugins/sso-auth.plugin.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/sso-auth.plugin.js +1 -1
- package/dist/proxy/plugins/sso-auth.plugin.js.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/types.d.ts +8 -4
- package/dist/proxy/plugins/types.d.ts.map +1 -0
- package/dist/proxy/plugins/types.js.map +1 -0
- package/dist/{utils/proxy → proxy}/types.d.ts +7 -0
- package/dist/proxy/types.d.ts.map +1 -0
- package/dist/proxy/types.js.map +1 -0
- package/dist/utils/ascii-logo.d.ts +21 -0
- package/dist/utils/ascii-logo.d.ts.map +1 -0
- package/dist/utils/ascii-logo.js +75 -0
- package/dist/utils/ascii-logo.js.map +1 -0
- package/dist/utils/codemie-proxy.d.ts +2 -7
- package/dist/utils/codemie-proxy.d.ts.map +1 -1
- package/dist/utils/codemie-proxy.js +56 -61
- package/dist/utils/codemie-proxy.js.map +1 -1
- package/dist/utils/config-loader.d.ts +1 -6
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +49 -93
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/credential-store.d.ts +1 -1
- package/dist/utils/credential-store.d.ts.map +1 -1
- package/dist/utils/exec.d.ts +11 -0
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +17 -1
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/goodbye-messages.d.ts +13 -0
- package/dist/utils/goodbye-messages.d.ts.map +1 -0
- package/dist/utils/goodbye-messages.js +245 -0
- package/dist/utils/goodbye-messages.js.map +1 -0
- package/dist/utils/json-parser.d.ts +52 -0
- package/dist/utils/json-parser.d.ts.map +1 -0
- package/dist/utils/json-parser.js +126 -0
- package/dist/utils/json-parser.js.map +1 -0
- package/dist/utils/logger.d.ts +37 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +92 -22
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/sanitize.d.ts.map +1 -1
- package/dist/utils/sanitize.js +0 -1
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/which.d.ts +20 -0
- package/dist/utils/which.d.ts.map +1 -0
- package/dist/utils/which.js +47 -0
- package/dist/utils/which.js.map +1 -0
- package/package.json +10 -5
- package/dist/analytics/aggregation/adapters/claude.adapter.d.ts +0 -37
- package/dist/analytics/aggregation/adapters/claude.adapter.d.ts.map +0 -1
- package/dist/analytics/aggregation/adapters/claude.adapter.js +0 -531
- package/dist/analytics/aggregation/adapters/claude.adapter.js.map +0 -1
- package/dist/analytics/aggregation/adapters/codex.adapter.d.ts +0 -25
- package/dist/analytics/aggregation/adapters/codex.adapter.d.ts.map +0 -1
- package/dist/analytics/aggregation/adapters/codex.adapter.js +0 -396
- package/dist/analytics/aggregation/adapters/codex.adapter.js.map +0 -1
- package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts +0 -36
- package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts.map +0 -1
- package/dist/analytics/aggregation/adapters/gemini.adapter.js +0 -365
- package/dist/analytics/aggregation/adapters/gemini.adapter.js.map +0 -1
- package/dist/analytics/aggregation/adapters/index.d.ts +0 -7
- package/dist/analytics/aggregation/adapters/index.d.ts.map +0 -1
- package/dist/analytics/aggregation/adapters/index.js +0 -7
- package/dist/analytics/aggregation/adapters/index.js.map +0 -1
- package/dist/analytics/aggregation/aggregator.d.ts +0 -49
- package/dist/analytics/aggregation/aggregator.d.ts.map +0 -1
- package/dist/analytics/aggregation/aggregator.js +0 -239
- package/dist/analytics/aggregation/aggregator.js.map +0 -1
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts +0 -99
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js +0 -110
- package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js.map +0 -1
- package/dist/analytics/aggregation/core/adapter.interface.d.ts +0 -76
- package/dist/analytics/aggregation/core/adapter.interface.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/adapter.interface.js +0 -9
- package/dist/analytics/aggregation/core/adapter.interface.js.map +0 -1
- package/dist/analytics/aggregation/core/aggregation-utils.d.ts +0 -86
- package/dist/analytics/aggregation/core/aggregation-utils.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/aggregation-utils.js +0 -126
- package/dist/analytics/aggregation/core/aggregation-utils.js.map +0 -1
- package/dist/analytics/aggregation/core/discovery.d.ts +0 -40
- package/dist/analytics/aggregation/core/discovery.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/discovery.js +0 -132
- package/dist/analytics/aggregation/core/discovery.js.map +0 -1
- package/dist/analytics/aggregation/core/file-utils.d.ts +0 -24
- package/dist/analytics/aggregation/core/file-utils.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/file-utils.js +0 -143
- package/dist/analytics/aggregation/core/file-utils.js.map +0 -1
- package/dist/analytics/aggregation/core/index.d.ts +0 -14
- package/dist/analytics/aggregation/core/index.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/index.js +0 -14
- package/dist/analytics/aggregation/core/index.js.map +0 -1
- package/dist/analytics/aggregation/core/project-mapping.d.ts +0 -50
- package/dist/analytics/aggregation/core/project-mapping.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/project-mapping.js +0 -102
- package/dist/analytics/aggregation/core/project-mapping.js.map +0 -1
- package/dist/analytics/aggregation/core/streaming.d.ts +0 -26
- package/dist/analytics/aggregation/core/streaming.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/streaming.js +0 -58
- package/dist/analytics/aggregation/core/streaming.js.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-source.d.ts +0 -81
- package/dist/analytics/aggregation/core/user-prompt-source.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-source.js +0 -69
- package/dist/analytics/aggregation/core/user-prompt-source.js.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts +0 -49
- package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-sources/json.js +0 -66
- package/dist/analytics/aggregation/core/user-prompt-sources/json.js.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts +0 -43
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts.map +0 -1
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js +0 -56
- package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js.map +0 -1
- package/dist/analytics/aggregation/index.d.ts +0 -8
- package/dist/analytics/aggregation/index.d.ts.map +0 -1
- package/dist/analytics/aggregation/index.js +0 -8
- package/dist/analytics/aggregation/index.js.map +0 -1
- package/dist/analytics/aggregation/types.d.ts +0 -278
- package/dist/analytics/aggregation/types.d.ts.map +0 -1
- package/dist/analytics/aggregation/types.js +0 -8
- package/dist/analytics/aggregation/types.js.map +0 -1
- package/dist/analytics/collector.d.ts +0 -46
- package/dist/analytics/collector.d.ts.map +0 -1
- package/dist/analytics/collector.js +0 -83
- package/dist/analytics/collector.js.map +0 -1
- package/dist/analytics/config.d.ts +0 -15
- package/dist/analytics/config.d.ts.map +0 -1
- package/dist/analytics/config.js +0 -65
- package/dist/analytics/config.js.map +0 -1
- package/dist/analytics/index.d.ts +0 -99
- package/dist/analytics/index.d.ts.map +0 -1
- package/dist/analytics/index.js +0 -288
- package/dist/analytics/index.js.map +0 -1
- package/dist/analytics/plugins/api-metrics.plugin.d.ts +0 -26
- package/dist/analytics/plugins/api-metrics.plugin.d.ts.map +0 -1
- package/dist/analytics/plugins/api-metrics.plugin.js +0 -97
- package/dist/analytics/plugins/api-metrics.plugin.js.map +0 -1
- package/dist/analytics/plugins/index.d.ts +0 -15
- package/dist/analytics/plugins/index.d.ts.map +0 -1
- package/dist/analytics/plugins/index.js +0 -15
- package/dist/analytics/plugins/index.js.map +0 -1
- package/dist/analytics/plugins/model-metrics.plugin.d.ts +0 -39
- package/dist/analytics/plugins/model-metrics.plugin.d.ts.map +0 -1
- package/dist/analytics/plugins/model-metrics.plugin.js +0 -105
- package/dist/analytics/plugins/model-metrics.plugin.js.map +0 -1
- package/dist/analytics/plugins/provider-metrics.plugin.d.ts +0 -41
- package/dist/analytics/plugins/provider-metrics.plugin.d.ts.map +0 -1
- package/dist/analytics/plugins/provider-metrics.plugin.js +0 -123
- package/dist/analytics/plugins/provider-metrics.plugin.js.map +0 -1
- package/dist/analytics/plugins/types.d.ts +0 -61
- package/dist/analytics/plugins/types.d.ts.map +0 -1
- package/dist/analytics/plugins/types.js +0 -54
- package/dist/analytics/plugins/types.js.map +0 -1
- package/dist/analytics/privacy.d.ts +0 -10
- package/dist/analytics/privacy.d.ts.map +0 -1
- package/dist/analytics/privacy.js +0 -20
- package/dist/analytics/privacy.js.map +0 -1
- package/dist/analytics/remote-submission/cursor-manager.d.ts +0 -71
- package/dist/analytics/remote-submission/cursor-manager.d.ts.map +0 -1
- package/dist/analytics/remote-submission/cursor-manager.js +0 -204
- package/dist/analytics/remote-submission/cursor-manager.js.map +0 -1
- package/dist/analytics/remote-submission/index.d.ts +0 -12
- package/dist/analytics/remote-submission/index.d.ts.map +0 -1
- package/dist/analytics/remote-submission/index.js +0 -11
- package/dist/analytics/remote-submission/index.js.map +0 -1
- package/dist/analytics/remote-submission/lock-manager.d.ts +0 -71
- package/dist/analytics/remote-submission/lock-manager.d.ts.map +0 -1
- package/dist/analytics/remote-submission/lock-manager.js +0 -238
- package/dist/analytics/remote-submission/lock-manager.js.map +0 -1
- package/dist/analytics/remote-submission/metric-transformer.d.ts +0 -49
- package/dist/analytics/remote-submission/metric-transformer.d.ts.map +0 -1
- package/dist/analytics/remote-submission/metric-transformer.js +0 -175
- package/dist/analytics/remote-submission/metric-transformer.js.map +0 -1
- package/dist/analytics/remote-submission/submitter.d.ts +0 -78
- package/dist/analytics/remote-submission/submitter.d.ts.map +0 -1
- package/dist/analytics/remote-submission/submitter.js +0 -381
- package/dist/analytics/remote-submission/submitter.js.map +0 -1
- package/dist/analytics/remote-submission/types.d.ts +0 -169
- package/dist/analytics/remote-submission/types.d.ts.map +0 -1
- package/dist/analytics/remote-submission/types.js +0 -13
- package/dist/analytics/remote-submission/types.js.map +0 -1
- package/dist/analytics/session.d.ts +0 -56
- package/dist/analytics/session.d.ts.map +0 -1
- package/dist/analytics/session.js +0 -95
- package/dist/analytics/session.js.map +0 -1
- package/dist/analytics/types.d.ts +0 -104
- package/dist/analytics/types.d.ts.map +0 -1
- package/dist/analytics/types.js +0 -15
- package/dist/analytics/types.js.map +0 -1
- package/dist/analytics/writer.d.ts +0 -18
- package/dist/analytics/writer.d.ts.map +0 -1
- package/dist/analytics/writer.js +0 -44
- package/dist/analytics/writer.js.map +0 -1
- package/dist/cli/commands/analytics.d.ts +0 -3
- package/dist/cli/commands/analytics.d.ts.map +0 -1
- package/dist/cli/commands/analytics.js +0 -748
- package/dist/cli/commands/analytics.js.map +0 -1
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts +0 -11
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts.map +0 -1
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js +0 -264
- package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js.map +0 -1
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.d.ts +0 -12
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.d.ts.map +0 -1
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.js +0 -12
- package/dist/cli/commands/doctor/providers/BaseProviderCheck.js.map +0 -1
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.d.ts +0 -11
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.d.ts.map +0 -1
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.js +0 -97
- package/dist/cli/commands/doctor/providers/StandardProviderCheck.js.map +0 -1
- package/dist/cli/commands/doctor/providers/index.d.ts +0 -30
- package/dist/cli/commands/doctor/providers/index.d.ts.map +0 -1
- package/dist/cli/commands/doctor/providers/index.js +0 -66
- package/dist/cli/commands/doctor/providers/index.js.map +0 -1
- package/dist/types/sso.d.ts +0 -42
- package/dist/types/sso.d.ts.map +0 -1
- package/dist/types/sso.js +0 -2
- package/dist/types/sso.js.map +0 -1
- package/dist/utils/analytics-reader.d.ts +0 -117
- package/dist/utils/analytics-reader.d.ts.map +0 -1
- package/dist/utils/analytics-reader.js +0 -421
- package/dist/utils/analytics-reader.js.map +0 -1
- package/dist/utils/async-tips.d.ts +0 -64
- package/dist/utils/async-tips.d.ts.map +0 -1
- package/dist/utils/async-tips.js +0 -203
- package/dist/utils/async-tips.js.map +0 -1
- package/dist/utils/codemie-integration-validator.d.ts +0 -18
- package/dist/utils/codemie-integration-validator.d.ts.map +0 -1
- package/dist/utils/codemie-integration-validator.js +0 -119
- package/dist/utils/codemie-integration-validator.js.map +0 -1
- package/dist/utils/codemie-model-fetcher.d.ts +0 -11
- package/dist/utils/codemie-model-fetcher.d.ts.map +0 -1
- package/dist/utils/codemie-model-fetcher.js +0 -317
- package/dist/utils/codemie-model-fetcher.js.map +0 -1
- package/dist/utils/date-formatter.d.ts +0 -88
- package/dist/utils/date-formatter.d.ts.map +0 -1
- package/dist/utils/date-formatter.js +0 -133
- package/dist/utils/date-formatter.js.map +0 -1
- package/dist/utils/health-checker.d.ts +0 -20
- package/dist/utils/health-checker.d.ts.map +0 -1
- package/dist/utils/health-checker.js +0 -172
- package/dist/utils/health-checker.js.map +0 -1
- package/dist/utils/model-fetcher.d.ts +0 -21
- package/dist/utils/model-fetcher.d.ts.map +0 -1
- package/dist/utils/model-fetcher.js +0 -148
- package/dist/utils/model-fetcher.js.map +0 -1
- package/dist/utils/proxy/errors.d.ts.map +0 -1
- package/dist/utils/proxy/errors.js.map +0 -1
- package/dist/utils/proxy/http-client.d.ts.map +0 -1
- package/dist/utils/proxy/http-client.js.map +0 -1
- package/dist/utils/proxy/plugins/analytics.plugin.d.ts +0 -19
- package/dist/utils/proxy/plugins/analytics.plugin.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/analytics.plugin.js +0 -84
- package/dist/utils/proxy/plugins/analytics.plugin.js.map +0 -1
- package/dist/utils/proxy/plugins/header-injection.plugin.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/header-injection.plugin.js.map +0 -1
- package/dist/utils/proxy/plugins/index.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/index.js.map +0 -1
- package/dist/utils/proxy/plugins/registry.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/registry.js.map +0 -1
- package/dist/utils/proxy/plugins/sso-auth.plugin.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/sso-auth.plugin.js.map +0 -1
- package/dist/utils/proxy/plugins/types.d.ts.map +0 -1
- package/dist/utils/proxy/plugins/types.js.map +0 -1
- package/dist/utils/proxy/types.d.ts.map +0 -1
- package/dist/utils/proxy/types.js.map +0 -1
- package/dist/utils/sso-auth.d.ts +0 -15
- package/dist/utils/sso-auth.d.ts.map +0 -1
- package/dist/utils/sso-auth.js.map +0 -1
- package/dist/utils/tips.d.ts +0 -35
- package/dist/utils/tips.d.ts.map +0 -1
- package/dist/utils/tips.js +0 -93
- package/dist/utils/tips.js.map +0 -1
- /package/dist/{utils/proxy → proxy}/errors.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/errors.js +0 -0
- /package/dist/{utils/proxy → proxy}/http-client.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/plugins/header-injection.plugin.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/plugins/registry.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/plugins/sso-auth.plugin.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/plugins/types.js +0 -0
- /package/dist/{utils/proxy → proxy}/types.js +0 -0
|
@@ -1,317 +0,0 @@
|
|
|
1
|
-
import { CredentialStore } from './credential-store.js';
|
|
2
|
-
import https from 'https';
|
|
3
|
-
import http from 'http';
|
|
4
|
-
import { URL } from 'url';
|
|
5
|
-
import { logger } from './logger.js';
|
|
6
|
-
import { sanitizeHeaders } from './sanitize.js';
|
|
7
|
-
// Common endpoint paths
|
|
8
|
-
export const CODEMIE_ENDPOINTS = {
|
|
9
|
-
MODELS: '/v1/llm_models',
|
|
10
|
-
USER_SETTINGS: '/v1/settings/user'
|
|
11
|
-
};
|
|
12
|
-
// Configuration
|
|
13
|
-
const MAX_REDIRECTS = 5;
|
|
14
|
-
const MAX_RETRIES = 3;
|
|
15
|
-
/**
|
|
16
|
-
* Make HTTPS/HTTP request with automatic redirect following
|
|
17
|
-
* Handles 301, 302, 303, 307, 308 redirects following HTTP standards
|
|
18
|
-
*/
|
|
19
|
-
async function makeRequestWithRedirects(url, requestOptions, redirectCount = 0) {
|
|
20
|
-
if (redirectCount >= MAX_REDIRECTS) {
|
|
21
|
-
throw new Error(`Too many redirects (${redirectCount}). Possible redirect loop.`);
|
|
22
|
-
}
|
|
23
|
-
const parsedUrl = new URL(url);
|
|
24
|
-
const protocol = parsedUrl.protocol === 'https:' ? https : http;
|
|
25
|
-
const options = {
|
|
26
|
-
...requestOptions,
|
|
27
|
-
hostname: parsedUrl.hostname,
|
|
28
|
-
port: parsedUrl.port || (parsedUrl.protocol === 'https:' ? 443 : 80),
|
|
29
|
-
path: parsedUrl.pathname + parsedUrl.search,
|
|
30
|
-
};
|
|
31
|
-
if (logger.isDebugMode()) {
|
|
32
|
-
logger.debug(`[HTTP Request] ${options.method} ${url}`);
|
|
33
|
-
logger.debug(`[Headers]`, sanitizeHeaders(requestOptions.headers));
|
|
34
|
-
if (redirectCount > 0) {
|
|
35
|
-
logger.debug(`[Redirect] Following redirect #${redirectCount}`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return new Promise((resolve, reject) => {
|
|
39
|
-
const req = protocol.request(options, (res) => {
|
|
40
|
-
let data = '';
|
|
41
|
-
res.on('data', (chunk) => {
|
|
42
|
-
data += chunk;
|
|
43
|
-
});
|
|
44
|
-
res.on('end', async () => {
|
|
45
|
-
const statusCode = res.statusCode || 0;
|
|
46
|
-
if (logger.isDebugMode()) {
|
|
47
|
-
logger.debug(`[HTTP Response] ${statusCode} ${res.statusMessage}`);
|
|
48
|
-
logger.debug(`[Response Headers]`, sanitizeHeaders(res.headers));
|
|
49
|
-
}
|
|
50
|
-
// Handle redirects (301, 302, 303, 307, 308)
|
|
51
|
-
if (statusCode >= 300 && statusCode < 400) {
|
|
52
|
-
const location = res.headers['location'];
|
|
53
|
-
if (!location) {
|
|
54
|
-
reject(new Error(`Redirect ${statusCode} without Location header`));
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
// Resolve relative URLs against current URL
|
|
58
|
-
const redirectUrl = new URL(location, url).toString();
|
|
59
|
-
logger.info(`[Redirect] ${statusCode} -> ${redirectUrl}`);
|
|
60
|
-
// Update cookies from Set-Cookie headers if present
|
|
61
|
-
const setCookieHeaders = res.headers['set-cookie'];
|
|
62
|
-
if (setCookieHeaders && requestOptions.headers) {
|
|
63
|
-
const existingCookies = requestOptions.headers['cookie'] || '';
|
|
64
|
-
const newCookies = setCookieHeaders
|
|
65
|
-
.map(cookie => cookie.split(';')[0]) // Extract cookie name=value
|
|
66
|
-
.join('; ');
|
|
67
|
-
requestOptions.headers['cookie'] = existingCookies
|
|
68
|
-
? `${existingCookies}; ${newCookies}`
|
|
69
|
-
: newCookies;
|
|
70
|
-
}
|
|
71
|
-
// For 303, change POST/PUT to GET
|
|
72
|
-
if (statusCode === 303 && options.method !== 'GET' && options.method !== 'HEAD') {
|
|
73
|
-
requestOptions.method = 'GET';
|
|
74
|
-
delete requestOptions.headers?.['content-length'];
|
|
75
|
-
delete requestOptions.headers?.['content-type'];
|
|
76
|
-
}
|
|
77
|
-
try {
|
|
78
|
-
// Follow the redirect
|
|
79
|
-
const redirectResponse = await makeRequestWithRedirects(redirectUrl, requestOptions, redirectCount + 1);
|
|
80
|
-
resolve(redirectResponse);
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
reject(error);
|
|
84
|
-
}
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
// Not a redirect, return response
|
|
88
|
-
resolve({
|
|
89
|
-
statusCode,
|
|
90
|
-
statusMessage: res.statusMessage,
|
|
91
|
-
headers: res.headers,
|
|
92
|
-
data
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
req.on('error', (error) => {
|
|
97
|
-
if (logger.isDebugMode()) {
|
|
98
|
-
logger.error(`[HTTP Error]`, error);
|
|
99
|
-
}
|
|
100
|
-
reject(error);
|
|
101
|
-
});
|
|
102
|
-
req.on('timeout', () => {
|
|
103
|
-
req.destroy();
|
|
104
|
-
reject(new Error('Request timeout'));
|
|
105
|
-
});
|
|
106
|
-
req.end();
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Retry wrapper with exponential backoff
|
|
111
|
-
*/
|
|
112
|
-
async function withRetry(fn, operation, maxRetries = MAX_RETRIES) {
|
|
113
|
-
let lastError;
|
|
114
|
-
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
115
|
-
try {
|
|
116
|
-
return await fn();
|
|
117
|
-
}
|
|
118
|
-
catch (error) {
|
|
119
|
-
lastError = error;
|
|
120
|
-
// Don't retry auth errors
|
|
121
|
-
if (lastError.message.includes('SSO session expired') ||
|
|
122
|
-
lastError.message.includes('401') ||
|
|
123
|
-
lastError.message.includes('403')) {
|
|
124
|
-
throw lastError;
|
|
125
|
-
}
|
|
126
|
-
// Log retry attempt
|
|
127
|
-
logger.warn(`[Retry] ${operation} failed (attempt ${attempt}/${maxRetries}): ${lastError.message}`);
|
|
128
|
-
if (attempt < maxRetries) {
|
|
129
|
-
// Exponential backoff: 1s, 2s, 4s
|
|
130
|
-
const delay = Math.pow(2, attempt - 1) * 1000;
|
|
131
|
-
logger.debug(`[Retry] Waiting ${delay}ms before retry...`);
|
|
132
|
-
await new Promise(resolve => setTimeout(resolve, delay));
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
throw lastError;
|
|
137
|
-
}
|
|
138
|
-
export async function fetchCodeMieModels(apiUrl, cookies) {
|
|
139
|
-
return withRetry(async () => {
|
|
140
|
-
const cookieString = Object.entries(cookies)
|
|
141
|
-
.map(([key, value]) => `${key}=${value}`)
|
|
142
|
-
.join(';');
|
|
143
|
-
const url = `${apiUrl}${CODEMIE_ENDPOINTS.MODELS}`;
|
|
144
|
-
const requestOptions = {
|
|
145
|
-
method: 'GET',
|
|
146
|
-
headers: {
|
|
147
|
-
'cookie': cookieString,
|
|
148
|
-
'Content-Type': 'application/json',
|
|
149
|
-
'User-Agent': 'CodeMie-CLI/1.0.0',
|
|
150
|
-
'X-CodeMie-Client': 'codemie-cli'
|
|
151
|
-
},
|
|
152
|
-
// Handle certificate issues commonly found in enterprise environments
|
|
153
|
-
rejectUnauthorized: false, // Allow self-signed certificates
|
|
154
|
-
timeout: 10000
|
|
155
|
-
};
|
|
156
|
-
const response = await makeRequestWithRedirects(url, requestOptions);
|
|
157
|
-
if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
|
|
158
|
-
if (response.statusCode === 401 || response.statusCode === 403) {
|
|
159
|
-
throw new Error('SSO session expired - please run setup again');
|
|
160
|
-
}
|
|
161
|
-
throw new Error(`Failed to fetch models: ${response.statusCode} ${response.statusMessage}`);
|
|
162
|
-
}
|
|
163
|
-
// Parse the response
|
|
164
|
-
const models = JSON.parse(response.data);
|
|
165
|
-
if (!Array.isArray(models)) {
|
|
166
|
-
return [];
|
|
167
|
-
}
|
|
168
|
-
// Filter and map models based on the actual API response structure
|
|
169
|
-
const filteredModels = models
|
|
170
|
-
.filter(model => {
|
|
171
|
-
if (!model)
|
|
172
|
-
return false;
|
|
173
|
-
// Check for different possible model ID fields
|
|
174
|
-
const hasId = model.id && model.id.trim() !== '';
|
|
175
|
-
const hasBaseName = model.base_name && model.base_name.trim() !== '';
|
|
176
|
-
const hasDeploymentName = model.deployment_name && model.deployment_name.trim() !== '';
|
|
177
|
-
return hasId || hasBaseName || hasDeploymentName;
|
|
178
|
-
})
|
|
179
|
-
.map(model => {
|
|
180
|
-
// Use the most appropriate identifier field
|
|
181
|
-
return model.id || model.base_name || model.deployment_name || model.label || 'unknown';
|
|
182
|
-
})
|
|
183
|
-
.filter(id => id !== 'unknown')
|
|
184
|
-
.sort();
|
|
185
|
-
return filteredModels;
|
|
186
|
-
}, 'fetchCodeMieModels');
|
|
187
|
-
}
|
|
188
|
-
export async function fetchCodeMieModelsFromConfig() {
|
|
189
|
-
const store = CredentialStore.getInstance();
|
|
190
|
-
const credentials = await store.retrieveSSOCredentials();
|
|
191
|
-
if (!credentials) {
|
|
192
|
-
throw new Error('No SSO credentials found - please run setup');
|
|
193
|
-
}
|
|
194
|
-
return fetchCodeMieModels(credentials.apiUrl, credentials.cookies);
|
|
195
|
-
}
|
|
196
|
-
export async function fetchCodeMieIntegrations(apiUrl, cookies, endpointPath = CODEMIE_ENDPOINTS.USER_SETTINGS) {
|
|
197
|
-
const cookieString = Object.entries(cookies)
|
|
198
|
-
.map(([key, value]) => `${key}=${value}`)
|
|
199
|
-
.join(';');
|
|
200
|
-
const allIntegrations = [];
|
|
201
|
-
let currentPage = 0;
|
|
202
|
-
const perPage = 50;
|
|
203
|
-
let hasMorePages = true;
|
|
204
|
-
while (hasMorePages) {
|
|
205
|
-
try {
|
|
206
|
-
// Build URL with query parameters to filter by LiteLLM type
|
|
207
|
-
const filters = JSON.stringify({ type: ['LiteLLM'] });
|
|
208
|
-
const queryParams = new URLSearchParams({
|
|
209
|
-
page: currentPage.toString(),
|
|
210
|
-
per_page: perPage.toString(),
|
|
211
|
-
filters: filters
|
|
212
|
-
});
|
|
213
|
-
const fullUrl = `${apiUrl}${endpointPath}?${queryParams.toString()}`;
|
|
214
|
-
const pageIntegrations = await fetchIntegrationsPage(fullUrl, cookieString);
|
|
215
|
-
if (pageIntegrations.length === 0) {
|
|
216
|
-
hasMorePages = false;
|
|
217
|
-
}
|
|
218
|
-
else {
|
|
219
|
-
allIntegrations.push(...pageIntegrations);
|
|
220
|
-
// If we got fewer items than requested, we've reached the last page
|
|
221
|
-
if (pageIntegrations.length < perPage) {
|
|
222
|
-
hasMorePages = false;
|
|
223
|
-
}
|
|
224
|
-
else {
|
|
225
|
-
currentPage++;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
catch {
|
|
230
|
-
hasMorePages = false;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
return allIntegrations;
|
|
234
|
-
}
|
|
235
|
-
async function fetchIntegrationsPage(fullUrl, cookieString) {
|
|
236
|
-
return withRetry(async () => {
|
|
237
|
-
const requestOptions = {
|
|
238
|
-
method: 'GET',
|
|
239
|
-
headers: {
|
|
240
|
-
'cookie': cookieString,
|
|
241
|
-
'Content-Type': 'application/json',
|
|
242
|
-
'User-Agent': 'CodeMie-CLI/1.0.0',
|
|
243
|
-
'X-CodeMie-Client': 'codemie-cli'
|
|
244
|
-
},
|
|
245
|
-
// Handle certificate issues commonly found in enterprise environments
|
|
246
|
-
rejectUnauthorized: false, // Allow self-signed certificates
|
|
247
|
-
timeout: 10000
|
|
248
|
-
};
|
|
249
|
-
const response = await makeRequestWithRedirects(fullUrl, requestOptions);
|
|
250
|
-
if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
|
|
251
|
-
if (response.statusCode === 401 || response.statusCode === 403) {
|
|
252
|
-
throw new Error('SSO session expired - please run setup again');
|
|
253
|
-
}
|
|
254
|
-
if (response.statusCode === 404) {
|
|
255
|
-
throw new Error(`Integrations endpoint not found. Response: ${response.data}`);
|
|
256
|
-
}
|
|
257
|
-
throw new Error(`Failed to fetch integrations: ${response.statusCode} ${response.statusMessage}`);
|
|
258
|
-
}
|
|
259
|
-
// Parse the response - handle flexible response structure
|
|
260
|
-
const responseData = JSON.parse(response.data);
|
|
261
|
-
// Extract integrations from response - try all possible locations
|
|
262
|
-
let integrations = [];
|
|
263
|
-
// Try different possible property names and structures
|
|
264
|
-
const possibleArrays = [
|
|
265
|
-
responseData, // Direct array
|
|
266
|
-
responseData.integrations,
|
|
267
|
-
responseData.credentials,
|
|
268
|
-
responseData.data,
|
|
269
|
-
responseData.items,
|
|
270
|
-
responseData.results,
|
|
271
|
-
responseData.user_integrations,
|
|
272
|
-
responseData.personal_integrations,
|
|
273
|
-
responseData.available_integrations
|
|
274
|
-
].filter(arr => Array.isArray(arr));
|
|
275
|
-
if (possibleArrays.length > 0) {
|
|
276
|
-
integrations = possibleArrays[0];
|
|
277
|
-
}
|
|
278
|
-
else {
|
|
279
|
-
// Try to find nested objects that might contain arrays
|
|
280
|
-
for (const value of Object.values(responseData)) {
|
|
281
|
-
if (typeof value === 'object' && value !== null) {
|
|
282
|
-
const nestedArrays = Object.values(value).filter(Array.isArray);
|
|
283
|
-
if (nestedArrays.length > 0) {
|
|
284
|
-
integrations = nestedArrays[0];
|
|
285
|
-
break;
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
// Filter and validate integrations (already filtered by API, but double-check)
|
|
291
|
-
const validIntegrations = integrations
|
|
292
|
-
.filter(integration => {
|
|
293
|
-
return integration &&
|
|
294
|
-
integration.alias &&
|
|
295
|
-
integration.credential_type &&
|
|
296
|
-
integration.alias.trim() !== '' &&
|
|
297
|
-
integration.credential_type.trim() !== '';
|
|
298
|
-
})
|
|
299
|
-
.sort((a, b) => a.alias.localeCompare(b.alias));
|
|
300
|
-
return validIntegrations;
|
|
301
|
-
}, 'fetchIntegrationsPage');
|
|
302
|
-
}
|
|
303
|
-
export async function fetchCodeMieIntegrationsFromConfig() {
|
|
304
|
-
const store = CredentialStore.getInstance();
|
|
305
|
-
const credentials = await store.retrieveSSOCredentials();
|
|
306
|
-
if (!credentials) {
|
|
307
|
-
throw new Error('No SSO credentials found - please run setup');
|
|
308
|
-
}
|
|
309
|
-
return fetchCodeMieIntegrations(credentials.apiUrl, credentials.cookies);
|
|
310
|
-
}
|
|
311
|
-
export async function validateCodeMieConnectivity() {
|
|
312
|
-
// Following the codemie-ide-plugin pattern, we don't perform connectivity validation
|
|
313
|
-
// Instead, we trust that the SSO flow will handle any connectivity issues
|
|
314
|
-
// This function is kept for compatibility but essentially becomes a no-op
|
|
315
|
-
return Promise.resolve();
|
|
316
|
-
}
|
|
317
|
-
//# sourceMappingURL=codemie-model-fetcher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codemie-model-fetcher.js","sourceRoot":"","sources":["../../src/utils/codemie-model-fetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Date formatting utilities for analytics
|
|
3
|
-
* Handles UTC to local timezone conversion for display
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Get local date string from UTC date
|
|
7
|
-
* Converts UTC date to user's local timezone and returns YYYY-MM-DD format
|
|
8
|
-
*
|
|
9
|
-
* @param utcDate - Date object or ISO string in UTC
|
|
10
|
-
* @returns Local date string in YYYY-MM-DD format
|
|
11
|
-
*/
|
|
12
|
-
export declare function getLocalDateString(utcDate?: Date | string): string;
|
|
13
|
-
/**
|
|
14
|
-
* Get UTC date string from date
|
|
15
|
-
* Returns YYYY-MM-DD format in UTC timezone (for file operations)
|
|
16
|
-
*
|
|
17
|
-
* @param date - Date object
|
|
18
|
-
* @returns UTC date string in YYYY-MM-DD format
|
|
19
|
-
*/
|
|
20
|
-
export declare function getUTCDateString(date?: Date): string;
|
|
21
|
-
/**
|
|
22
|
-
* Convert local date string to UTC date range
|
|
23
|
-
* Takes a local date (YYYY-MM-DD) and returns the UTC date range that covers it
|
|
24
|
-
*
|
|
25
|
-
* @param localDate - Local date string in YYYY-MM-DD format
|
|
26
|
-
* @returns Object with UTC start and end dates for the local day
|
|
27
|
-
*/
|
|
28
|
-
export declare function localDateToUTCRange(localDate: string): {
|
|
29
|
-
start: Date;
|
|
30
|
-
end: Date;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Get local "today" date string
|
|
34
|
-
* Returns today's date in local timezone as YYYY-MM-DD
|
|
35
|
-
*
|
|
36
|
-
* @returns Today's date in local timezone
|
|
37
|
-
*/
|
|
38
|
-
export declare function getLocalToday(): string;
|
|
39
|
-
/**
|
|
40
|
-
* Get UTC files needed for a local date
|
|
41
|
-
* Returns array of UTC date strings (YYYY-MM-DD) that might contain events for the local date
|
|
42
|
-
* Accounts for timezone offset potentially spanning two UTC dates
|
|
43
|
-
*
|
|
44
|
-
* @param localDate - Local date string in YYYY-MM-DD format
|
|
45
|
-
* @returns Array of UTC date strings to check
|
|
46
|
-
*/
|
|
47
|
-
export declare function getUTCFilesForLocalDate(localDate: string): string[];
|
|
48
|
-
/**
|
|
49
|
-
* Get default date range in local timezone
|
|
50
|
-
* Returns last N days in local timezone
|
|
51
|
-
*
|
|
52
|
-
* @param days - Number of days to look back (default: 7)
|
|
53
|
-
* @returns Object with from and to dates in local timezone
|
|
54
|
-
*/
|
|
55
|
-
export declare function getDefaultLocalDateRange(days?: number): {
|
|
56
|
-
from: string;
|
|
57
|
-
to: string;
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* Format timestamp for display in local timezone
|
|
61
|
-
* Converts UTC timestamp to local timezone string
|
|
62
|
-
*
|
|
63
|
-
* @param utcTimestamp - ISO timestamp string in UTC
|
|
64
|
-
* @param includeTime - Include time in output (default: true)
|
|
65
|
-
* @returns Formatted date/time string in local timezone
|
|
66
|
-
*/
|
|
67
|
-
export declare function formatLocalTimestamp(utcTimestamp: string, includeTime?: boolean): string;
|
|
68
|
-
/**
|
|
69
|
-
* Convert local date string to UTC dates for file reading
|
|
70
|
-
* Determines which UTC date files to read for a given local date
|
|
71
|
-
*
|
|
72
|
-
* @param localDate - Local date string in YYYY-MM-DD format
|
|
73
|
-
* @returns Array of UTC date strings in YYYY-MM-DD format
|
|
74
|
-
*/
|
|
75
|
-
export declare function localDateToUTCDates(localDate: string): string[];
|
|
76
|
-
/**
|
|
77
|
-
* Get local date range that covers UTC date range
|
|
78
|
-
* Expands UTC date range to ensure all local dates are covered
|
|
79
|
-
*
|
|
80
|
-
* @param utcFrom - UTC start date in YYYY-MM-DD format
|
|
81
|
-
* @param utcTo - UTC end date in YYYY-MM-DD format
|
|
82
|
-
* @returns Local date range
|
|
83
|
-
*/
|
|
84
|
-
export declare function expandUTCRangeToLocal(utcFrom: string, utcTo: string): {
|
|
85
|
-
from: string;
|
|
86
|
-
to: string;
|
|
87
|
-
};
|
|
88
|
-
//# sourceMappingURL=date-formatter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-formatter.d.ts","sourceRoot":"","sources":["../../src/utils/date-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,IAAI,GAAG,MAAmB,GAAG,MAAM,CAS9E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,IAAiB,GAAG,MAAM,CAEhE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAUjF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAYnE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,GAAE,MAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CASvF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,GAAE,OAAc,GAAG,MAAM,CAQ9F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAUlG"}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Date formatting utilities for analytics
|
|
3
|
-
* Handles UTC to local timezone conversion for display
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Get local date string from UTC date
|
|
7
|
-
* Converts UTC date to user's local timezone and returns YYYY-MM-DD format
|
|
8
|
-
*
|
|
9
|
-
* @param utcDate - Date object or ISO string in UTC
|
|
10
|
-
* @returns Local date string in YYYY-MM-DD format
|
|
11
|
-
*/
|
|
12
|
-
export function getLocalDateString(utcDate = new Date()) {
|
|
13
|
-
const date = typeof utcDate === 'string' ? new Date(utcDate) : utcDate;
|
|
14
|
-
// Get local date components
|
|
15
|
-
const year = date.getFullYear();
|
|
16
|
-
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
17
|
-
const day = String(date.getDate()).padStart(2, '0');
|
|
18
|
-
return `${year}-${month}-${day}`;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Get UTC date string from date
|
|
22
|
-
* Returns YYYY-MM-DD format in UTC timezone (for file operations)
|
|
23
|
-
*
|
|
24
|
-
* @param date - Date object
|
|
25
|
-
* @returns UTC date string in YYYY-MM-DD format
|
|
26
|
-
*/
|
|
27
|
-
export function getUTCDateString(date = new Date()) {
|
|
28
|
-
return date.toISOString().split('T')[0];
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Convert local date string to UTC date range
|
|
32
|
-
* Takes a local date (YYYY-MM-DD) and returns the UTC date range that covers it
|
|
33
|
-
*
|
|
34
|
-
* @param localDate - Local date string in YYYY-MM-DD format
|
|
35
|
-
* @returns Object with UTC start and end dates for the local day
|
|
36
|
-
*/
|
|
37
|
-
export function localDateToUTCRange(localDate) {
|
|
38
|
-
// Parse local date as local midnight
|
|
39
|
-
const [year, month, day] = localDate.split('-').map(Number);
|
|
40
|
-
const startOfDay = new Date(year, month - 1, day, 0, 0, 0, 0);
|
|
41
|
-
const endOfDay = new Date(year, month - 1, day, 23, 59, 59, 999);
|
|
42
|
-
return {
|
|
43
|
-
start: startOfDay,
|
|
44
|
-
end: endOfDay
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Get local "today" date string
|
|
49
|
-
* Returns today's date in local timezone as YYYY-MM-DD
|
|
50
|
-
*
|
|
51
|
-
* @returns Today's date in local timezone
|
|
52
|
-
*/
|
|
53
|
-
export function getLocalToday() {
|
|
54
|
-
return getLocalDateString(new Date());
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Get UTC files needed for a local date
|
|
58
|
-
* Returns array of UTC date strings (YYYY-MM-DD) that might contain events for the local date
|
|
59
|
-
* Accounts for timezone offset potentially spanning two UTC dates
|
|
60
|
-
*
|
|
61
|
-
* @param localDate - Local date string in YYYY-MM-DD format
|
|
62
|
-
* @returns Array of UTC date strings to check
|
|
63
|
-
*/
|
|
64
|
-
export function getUTCFilesForLocalDate(localDate) {
|
|
65
|
-
const { start, end } = localDateToUTCRange(localDate);
|
|
66
|
-
const startUTC = getUTCDateString(start);
|
|
67
|
-
const endUTC = getUTCDateString(end);
|
|
68
|
-
// If timezone offset causes the local day to span two UTC dates, return both
|
|
69
|
-
if (startUTC === endUTC) {
|
|
70
|
-
return [startUTC];
|
|
71
|
-
}
|
|
72
|
-
return [startUTC, endUTC];
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Get default date range in local timezone
|
|
76
|
-
* Returns last N days in local timezone
|
|
77
|
-
*
|
|
78
|
-
* @param days - Number of days to look back (default: 7)
|
|
79
|
-
* @returns Object with from and to dates in local timezone
|
|
80
|
-
*/
|
|
81
|
-
export function getDefaultLocalDateRange(days = 7) {
|
|
82
|
-
const today = new Date();
|
|
83
|
-
const from = new Date(today);
|
|
84
|
-
from.setDate(from.getDate() - days);
|
|
85
|
-
return {
|
|
86
|
-
from: getLocalDateString(from),
|
|
87
|
-
to: getLocalDateString(today)
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Format timestamp for display in local timezone
|
|
92
|
-
* Converts UTC timestamp to local timezone string
|
|
93
|
-
*
|
|
94
|
-
* @param utcTimestamp - ISO timestamp string in UTC
|
|
95
|
-
* @param includeTime - Include time in output (default: true)
|
|
96
|
-
* @returns Formatted date/time string in local timezone
|
|
97
|
-
*/
|
|
98
|
-
export function formatLocalTimestamp(utcTimestamp, includeTime = true) {
|
|
99
|
-
const date = new Date(utcTimestamp);
|
|
100
|
-
if (includeTime) {
|
|
101
|
-
return date.toLocaleString();
|
|
102
|
-
}
|
|
103
|
-
return date.toLocaleDateString();
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Convert local date string to UTC dates for file reading
|
|
107
|
-
* Determines which UTC date files to read for a given local date
|
|
108
|
-
*
|
|
109
|
-
* @param localDate - Local date string in YYYY-MM-DD format
|
|
110
|
-
* @returns Array of UTC date strings in YYYY-MM-DD format
|
|
111
|
-
*/
|
|
112
|
-
export function localDateToUTCDates(localDate) {
|
|
113
|
-
return getUTCFilesForLocalDate(localDate);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Get local date range that covers UTC date range
|
|
117
|
-
* Expands UTC date range to ensure all local dates are covered
|
|
118
|
-
*
|
|
119
|
-
* @param utcFrom - UTC start date in YYYY-MM-DD format
|
|
120
|
-
* @param utcTo - UTC end date in YYYY-MM-DD format
|
|
121
|
-
* @returns Local date range
|
|
122
|
-
*/
|
|
123
|
-
export function expandUTCRangeToLocal(utcFrom, utcTo) {
|
|
124
|
-
// Parse UTC dates
|
|
125
|
-
const fromDate = new Date(utcFrom + 'T00:00:00.000Z');
|
|
126
|
-
const toDate = new Date(utcTo + 'T23:59:59.999Z');
|
|
127
|
-
// Convert to local dates
|
|
128
|
-
return {
|
|
129
|
-
from: getLocalDateString(fromDate),
|
|
130
|
-
to: getLocalDateString(toDate)
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=date-formatter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-formatter.js","sourceRoot":"","sources":["../../src/utils/date-formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Result of health check
|
|
3
|
-
*/
|
|
4
|
-
export interface HealthCheckResult {
|
|
5
|
-
success: boolean;
|
|
6
|
-
message: string;
|
|
7
|
-
details?: any;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Check provider health endpoint
|
|
11
|
-
*
|
|
12
|
-
* For LiteLLM: https://docs.litellm.ai/docs/proxy/health
|
|
13
|
-
* Typically at /health endpoint
|
|
14
|
-
*/
|
|
15
|
-
export declare function checkProviderHealth(baseUrl: string, apiKey: string): Promise<HealthCheckResult>;
|
|
16
|
-
/**
|
|
17
|
-
* Quick validation - just checks if URL is reachable
|
|
18
|
-
*/
|
|
19
|
-
export declare function quickValidation(baseUrl: string, apiKey: string): Promise<boolean>;
|
|
20
|
-
//# sourceMappingURL=health-checker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"health-checker.d.ts","sourceRoot":"","sources":["../../src/utils/health-checker.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CA6B5B;AAmID;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAGlB"}
|