@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,12 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSO Authentication Module
|
|
3
|
+
*
|
|
4
|
+
* Handles browser-based SSO authentication for CodeMie provider.
|
|
5
|
+
* Manages credential storage and session lifecycle.
|
|
6
|
+
*/
|
|
1
7
|
import { createServer } from 'http';
|
|
2
8
|
import { URL } from 'url';
|
|
3
9
|
import open from 'open';
|
|
4
10
|
import chalk from 'chalk';
|
|
5
|
-
import { CredentialStore } from '
|
|
11
|
+
import { CredentialStore } from '../../../utils/credential-store.js';
|
|
12
|
+
/**
|
|
13
|
+
* CodeMie SSO Authentication
|
|
14
|
+
*
|
|
15
|
+
* Provides browser-based SSO authentication for CodeMie provider
|
|
16
|
+
*/
|
|
6
17
|
export class CodeMieSSO {
|
|
7
18
|
server;
|
|
8
19
|
callbackResult;
|
|
9
20
|
codeMieUrl;
|
|
21
|
+
/**
|
|
22
|
+
* Authenticate via browser SSO
|
|
23
|
+
*/
|
|
10
24
|
async authenticate(config) {
|
|
11
25
|
this.codeMieUrl = config.codeMieUrl;
|
|
12
26
|
try {
|
|
@@ -42,6 +56,9 @@ export class CodeMieSSO {
|
|
|
42
56
|
this.cleanup();
|
|
43
57
|
}
|
|
44
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Get stored SSO credentials
|
|
61
|
+
*/
|
|
45
62
|
async getStoredCredentials() {
|
|
46
63
|
const store = CredentialStore.getInstance();
|
|
47
64
|
const credentials = await store.retrieveSSOCredentials();
|
|
@@ -52,10 +69,16 @@ export class CodeMieSSO {
|
|
|
52
69
|
}
|
|
53
70
|
return credentials;
|
|
54
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Clear stored credentials
|
|
74
|
+
*/
|
|
55
75
|
async clearStoredCredentials() {
|
|
56
76
|
const store = CredentialStore.getInstance();
|
|
57
77
|
await store.clearSSOCredentials();
|
|
58
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Ensure API base URL has correct format
|
|
81
|
+
*/
|
|
59
82
|
ensureApiBase(rawUrl) {
|
|
60
83
|
let base = rawUrl.replace(/\/$/, '');
|
|
61
84
|
// If user entered only host, append the known API context
|
|
@@ -64,6 +87,9 @@ export class CodeMieSSO {
|
|
|
64
87
|
}
|
|
65
88
|
return base;
|
|
66
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Start local HTTP server for OAuth callback
|
|
92
|
+
*/
|
|
67
93
|
startLocalServer() {
|
|
68
94
|
return new Promise((resolve, reject) => {
|
|
69
95
|
let serverPort;
|
|
@@ -141,6 +167,9 @@ export class CodeMieSSO {
|
|
|
141
167
|
this.server.on('error', reject);
|
|
142
168
|
});
|
|
143
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Handle OAuth callback from browser
|
|
172
|
+
*/
|
|
144
173
|
async handleCallback(url) {
|
|
145
174
|
try {
|
|
146
175
|
const query = url.searchParams;
|
|
@@ -194,6 +223,9 @@ export class CodeMieSSO {
|
|
|
194
223
|
};
|
|
195
224
|
}
|
|
196
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* Wait for OAuth callback with timeout
|
|
228
|
+
*/
|
|
197
229
|
async waitForCallback(timeout) {
|
|
198
230
|
return new Promise((resolve, reject) => {
|
|
199
231
|
const timer = setTimeout(() => {
|
|
@@ -211,6 +243,9 @@ export class CodeMieSSO {
|
|
|
211
243
|
checkResult();
|
|
212
244
|
});
|
|
213
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* Cleanup server resources
|
|
248
|
+
*/
|
|
214
249
|
cleanup() {
|
|
215
250
|
if (this.server) {
|
|
216
251
|
this.server.close();
|
|
@@ -218,4 +253,4 @@ export class CodeMieSSO {
|
|
|
218
253
|
}
|
|
219
254
|
}
|
|
220
255
|
}
|
|
221
|
-
//# sourceMappingURL=sso
|
|
256
|
+
//# sourceMappingURL=sso.auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso.auth.js","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSO Health Check Implementation
|
|
3
|
+
*
|
|
4
|
+
* Validates SSO authentication and API connectivity.
|
|
5
|
+
* Checks credentials, expiration, and API access.
|
|
6
|
+
*/
|
|
7
|
+
import type { CodeMieConfigOptions } from '../../../env/types.js';
|
|
8
|
+
import type { HealthCheckResult } from '../../core/types.js';
|
|
9
|
+
import { BaseHealthCheck } from '../../core/base/BaseHealthCheck.js';
|
|
10
|
+
/**
|
|
11
|
+
* Health check implementation for SSO provider
|
|
12
|
+
*/
|
|
13
|
+
export declare class SSOHealthCheck extends BaseHealthCheck {
|
|
14
|
+
private sso;
|
|
15
|
+
private modelProxy;
|
|
16
|
+
constructor();
|
|
17
|
+
/**
|
|
18
|
+
* Main health check flow for SSO
|
|
19
|
+
*
|
|
20
|
+
* Overrides base implementation to provide SSO-specific checks
|
|
21
|
+
*/
|
|
22
|
+
check(config: CodeMieConfigOptions): Promise<HealthCheckResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Ping implementation (not used for SSO, check() handles everything)
|
|
25
|
+
*/
|
|
26
|
+
protected ping(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Get version (SSO doesn't have a version endpoint)
|
|
29
|
+
*/
|
|
30
|
+
protected getVersion(): Promise<string | undefined>;
|
|
31
|
+
/**
|
|
32
|
+
* Get unreachable result
|
|
33
|
+
*/
|
|
34
|
+
protected getUnreachableResult(): HealthCheckResult;
|
|
35
|
+
/**
|
|
36
|
+
* Get healthy message
|
|
37
|
+
*/
|
|
38
|
+
protected getHealthyMessage(models: any[]): string;
|
|
39
|
+
/**
|
|
40
|
+
* Get no models remediation
|
|
41
|
+
*/
|
|
42
|
+
protected getNoModelsRemediation(): string;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=sso.health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso.health.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.health.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAMrE;;GAEG;AACH,qBAAa,cAAe,SAAQ,eAAe;IACjD,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,UAAU,CAAgB;;IAYlC;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqHrE;;OAEG;cACa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;cACa,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIzD;;OAEG;IACH,SAAS,CAAC,oBAAoB,IAAI,iBAAiB;IASnD;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM;IAMlD;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,MAAM;CAG3C"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSO Health Check Implementation
|
|
3
|
+
*
|
|
4
|
+
* Validates SSO authentication and API connectivity.
|
|
5
|
+
* Checks credentials, expiration, and API access.
|
|
6
|
+
*/
|
|
7
|
+
import { BaseHealthCheck } from '../../core/base/BaseHealthCheck.js';
|
|
8
|
+
import { ProviderRegistry } from '../../core/registry.js';
|
|
9
|
+
import { SSOTemplate } from './sso.template.js';
|
|
10
|
+
import { CodeMieSSO } from './sso.auth.js';
|
|
11
|
+
import { SSOModelProxy } from './sso.models.js';
|
|
12
|
+
/**
|
|
13
|
+
* Health check implementation for SSO provider
|
|
14
|
+
*/
|
|
15
|
+
export class SSOHealthCheck extends BaseHealthCheck {
|
|
16
|
+
sso;
|
|
17
|
+
modelProxy;
|
|
18
|
+
constructor() {
|
|
19
|
+
super({
|
|
20
|
+
provider: 'ai-run-sso',
|
|
21
|
+
baseUrl: '',
|
|
22
|
+
timeout: 10000
|
|
23
|
+
});
|
|
24
|
+
this.sso = new CodeMieSSO();
|
|
25
|
+
this.modelProxy = new SSOModelProxy();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Main health check flow for SSO
|
|
29
|
+
*
|
|
30
|
+
* Overrides base implementation to provide SSO-specific checks
|
|
31
|
+
*/
|
|
32
|
+
async check(config) {
|
|
33
|
+
const details = [];
|
|
34
|
+
// 1. Check CodeMie URL
|
|
35
|
+
if (!config.codeMieUrl) {
|
|
36
|
+
details.push({
|
|
37
|
+
status: 'error',
|
|
38
|
+
message: 'CodeMie URL not configured',
|
|
39
|
+
hint: 'Run: codemie setup'
|
|
40
|
+
});
|
|
41
|
+
return {
|
|
42
|
+
provider: 'ai-run-sso',
|
|
43
|
+
status: 'unhealthy',
|
|
44
|
+
message: 'SSO Configuration incomplete',
|
|
45
|
+
details
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
details.push({
|
|
49
|
+
status: 'ok',
|
|
50
|
+
message: `CodeMie URL: ${config.codeMieUrl}`
|
|
51
|
+
});
|
|
52
|
+
// 2. Check credentials
|
|
53
|
+
const credentials = await this.sso.getStoredCredentials();
|
|
54
|
+
if (!credentials) {
|
|
55
|
+
details.push({
|
|
56
|
+
status: 'error',
|
|
57
|
+
message: 'SSO credentials not found',
|
|
58
|
+
hint: 'Run: codemie auth login'
|
|
59
|
+
});
|
|
60
|
+
return {
|
|
61
|
+
provider: 'ai-run-sso',
|
|
62
|
+
status: 'unhealthy',
|
|
63
|
+
message: 'SSO Authentication required',
|
|
64
|
+
details
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
details.push({
|
|
68
|
+
status: 'ok',
|
|
69
|
+
message: 'SSO credentials stored'
|
|
70
|
+
});
|
|
71
|
+
// 3. Check expiration
|
|
72
|
+
if (credentials.expiresAt && credentials.expiresAt < Date.now()) {
|
|
73
|
+
details.push({
|
|
74
|
+
status: 'error',
|
|
75
|
+
message: 'SSO session expired',
|
|
76
|
+
hint: 'Run: codemie auth login'
|
|
77
|
+
});
|
|
78
|
+
return {
|
|
79
|
+
provider: 'ai-run-sso',
|
|
80
|
+
status: 'unhealthy',
|
|
81
|
+
message: 'SSO Session expired',
|
|
82
|
+
details
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
const expiresInHours = credentials.expiresAt
|
|
86
|
+
? Math.round((credentials.expiresAt - Date.now()) / (1000 * 60 * 60))
|
|
87
|
+
: null;
|
|
88
|
+
if (expiresInHours !== null) {
|
|
89
|
+
details.push({
|
|
90
|
+
status: expiresInHours < 1 ? 'warning' : 'ok',
|
|
91
|
+
message: `Session expires in ${expiresInHours} hour(s)`,
|
|
92
|
+
hint: expiresInHours < 1 ? 'Consider refreshing session: codemie auth login' : undefined
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
// 4. Test API access and validate configured model
|
|
96
|
+
try {
|
|
97
|
+
const models = await this.modelProxy.listModels();
|
|
98
|
+
// Validate configured model is available
|
|
99
|
+
if (config.model) {
|
|
100
|
+
const configuredModel = config.model;
|
|
101
|
+
const modelAvailable = models.some(m => m.id === configuredModel);
|
|
102
|
+
if (modelAvailable) {
|
|
103
|
+
details.push({
|
|
104
|
+
status: 'ok',
|
|
105
|
+
message: `Model '${configuredModel}' available`
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
details.push({
|
|
110
|
+
status: 'warning',
|
|
111
|
+
message: `Model '${configuredModel}' not found`,
|
|
112
|
+
hint: `Available: ${models.slice(0, 3).map(m => m.id).join(', ')}${models.length > 3 ? '...' : ''}`
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
provider: 'ai-run-sso',
|
|
118
|
+
status: 'healthy',
|
|
119
|
+
message: 'Provider operational',
|
|
120
|
+
details,
|
|
121
|
+
models
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
details.push({
|
|
126
|
+
status: 'error',
|
|
127
|
+
message: 'Provider unreachable',
|
|
128
|
+
hint: error instanceof Error ? error.message : String(error)
|
|
129
|
+
});
|
|
130
|
+
return {
|
|
131
|
+
provider: 'ai-run-sso',
|
|
132
|
+
status: 'unreachable',
|
|
133
|
+
message: 'Cannot connect to provider',
|
|
134
|
+
details
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Ping implementation (not used for SSO, check() handles everything)
|
|
140
|
+
*/
|
|
141
|
+
async ping() {
|
|
142
|
+
// SSO ping handled in check() method
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Get version (SSO doesn't have a version endpoint)
|
|
146
|
+
*/
|
|
147
|
+
async getVersion() {
|
|
148
|
+
return 'sso-v1';
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Get unreachable result
|
|
152
|
+
*/
|
|
153
|
+
getUnreachableResult() {
|
|
154
|
+
return {
|
|
155
|
+
provider: 'ai-run-sso',
|
|
156
|
+
status: 'unreachable',
|
|
157
|
+
message: 'SSO provider is not configured or unreachable',
|
|
158
|
+
remediation: SSOTemplate.setupInstructions
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get healthy message
|
|
163
|
+
*/
|
|
164
|
+
getHealthyMessage(models) {
|
|
165
|
+
return models.length > 0
|
|
166
|
+
? `SSO is healthy with ${models.length} model(s) available`
|
|
167
|
+
: 'SSO is healthy';
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Get no models remediation
|
|
171
|
+
*/
|
|
172
|
+
getNoModelsRemediation() {
|
|
173
|
+
return 'Contact your CodeMie administrator to enable models';
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// Auto-register health check
|
|
177
|
+
ProviderRegistry.registerHealthCheck('ai-run-sso', new SSOHealthCheck());
|
|
178
|
+
//# sourceMappingURL=sso.health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso.health.js","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.health.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSO HTTP Client
|
|
3
|
+
*
|
|
4
|
+
* CodeMie-specific HTTP client with SSO cookie handling
|
|
5
|
+
*/
|
|
6
|
+
import type { CodeMieIntegration } from '../../core/types.js';
|
|
7
|
+
/**
|
|
8
|
+
* CodeMie API endpoints
|
|
9
|
+
*/
|
|
10
|
+
export declare const CODEMIE_ENDPOINTS: {
|
|
11
|
+
readonly MODELS: "/v1/llm_models";
|
|
12
|
+
readonly USER_SETTINGS: "/v1/settings/user";
|
|
13
|
+
readonly METRICS: "/v1/metrics";
|
|
14
|
+
readonly AUTH_LOGIN: "/v1/auth/login";
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Fetch models from CodeMie SSO API
|
|
18
|
+
*/
|
|
19
|
+
export declare function fetchCodeMieModels(apiUrl: string, cookies: Record<string, string>): Promise<string[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Fetch integrations from CodeMie SSO API (paginated)
|
|
22
|
+
*/
|
|
23
|
+
export declare function fetchCodeMieIntegrations(apiUrl: string, cookies: Record<string, string>, endpointPath?: string): Promise<CodeMieIntegration[]>;
|
|
24
|
+
//# sourceMappingURL=sso.http-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso.http-client.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.http-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAgB,kBAAkB,EAA+B,MAAM,qBAAqB,CAAC;AAEzG;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,MAAM,EAAE,CAAC,CAwDnB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,YAAY,GAAE,MAAwC,GACrD,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAuD/B"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSO HTTP Client
|
|
3
|
+
*
|
|
4
|
+
* CodeMie-specific HTTP client with SSO cookie handling
|
|
5
|
+
*/
|
|
6
|
+
import { HTTPClient } from '../../core/base/http-client.js';
|
|
7
|
+
/**
|
|
8
|
+
* CodeMie API endpoints
|
|
9
|
+
*/
|
|
10
|
+
export const CODEMIE_ENDPOINTS = {
|
|
11
|
+
MODELS: '/v1/llm_models',
|
|
12
|
+
USER_SETTINGS: '/v1/settings/user',
|
|
13
|
+
METRICS: '/v1/metrics',
|
|
14
|
+
AUTH_LOGIN: '/v1/auth/login'
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Fetch models from CodeMie SSO API
|
|
18
|
+
*/
|
|
19
|
+
export async function fetchCodeMieModels(apiUrl, cookies) {
|
|
20
|
+
const cookieString = Object.entries(cookies)
|
|
21
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
22
|
+
.join(';');
|
|
23
|
+
const url = `${apiUrl}${CODEMIE_ENDPOINTS.MODELS}`;
|
|
24
|
+
const client = new HTTPClient({
|
|
25
|
+
timeout: 10000,
|
|
26
|
+
maxRetries: 3,
|
|
27
|
+
rejectUnauthorized: false
|
|
28
|
+
});
|
|
29
|
+
const cliVersion = process.env.CODEMIE_CLI_VERSION || 'unknown';
|
|
30
|
+
const response = await client.getRaw(url, {
|
|
31
|
+
'cookie': cookieString,
|
|
32
|
+
'Content-Type': 'application/json',
|
|
33
|
+
'User-Agent': `codemie-cli/${cliVersion}`,
|
|
34
|
+
'X-CodeMie-CLI': `codemie-cli/${cliVersion}`,
|
|
35
|
+
'X-CodeMie-Client': 'codemie-cli'
|
|
36
|
+
});
|
|
37
|
+
if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
|
|
38
|
+
if (response.statusCode === 401 || response.statusCode === 403) {
|
|
39
|
+
throw new Error('SSO session expired - please run setup again');
|
|
40
|
+
}
|
|
41
|
+
throw new Error(`Failed to fetch models: ${response.statusCode} ${response.statusMessage}`);
|
|
42
|
+
}
|
|
43
|
+
// Parse the response
|
|
44
|
+
const models = JSON.parse(response.data);
|
|
45
|
+
if (!Array.isArray(models)) {
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
// Filter and map models based on the actual API response structure
|
|
49
|
+
const filteredModels = models
|
|
50
|
+
.filter(model => {
|
|
51
|
+
if (!model)
|
|
52
|
+
return false;
|
|
53
|
+
// Check for different possible model ID fields
|
|
54
|
+
const hasId = model.id && model.id.trim() !== '';
|
|
55
|
+
const hasBaseName = model.base_name && model.base_name.trim() !== '';
|
|
56
|
+
const hasDeploymentName = model.deployment_name && model.deployment_name.trim() !== '';
|
|
57
|
+
return hasId || hasBaseName || hasDeploymentName;
|
|
58
|
+
})
|
|
59
|
+
.map(model => {
|
|
60
|
+
// Use the most appropriate identifier field
|
|
61
|
+
return model.id || model.base_name || model.deployment_name || model.label || 'unknown';
|
|
62
|
+
})
|
|
63
|
+
.filter(id => id !== 'unknown')
|
|
64
|
+
.sort();
|
|
65
|
+
return filteredModels;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Fetch integrations from CodeMie SSO API (paginated)
|
|
69
|
+
*/
|
|
70
|
+
export async function fetchCodeMieIntegrations(apiUrl, cookies, endpointPath = CODEMIE_ENDPOINTS.USER_SETTINGS) {
|
|
71
|
+
const cookieString = Object.entries(cookies)
|
|
72
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
73
|
+
.join(';');
|
|
74
|
+
const allIntegrations = [];
|
|
75
|
+
let currentPage = 0;
|
|
76
|
+
const perPage = 50;
|
|
77
|
+
let hasMorePages = true;
|
|
78
|
+
let lastError;
|
|
79
|
+
while (hasMorePages) {
|
|
80
|
+
try {
|
|
81
|
+
// Build URL with query parameters to filter by LiteLLM type
|
|
82
|
+
const filters = JSON.stringify({ type: ['LiteLLM'] });
|
|
83
|
+
const queryParams = new URLSearchParams({
|
|
84
|
+
page: currentPage.toString(),
|
|
85
|
+
per_page: perPage.toString(),
|
|
86
|
+
filters: filters
|
|
87
|
+
});
|
|
88
|
+
const fullUrl = `${apiUrl}${endpointPath}?${queryParams.toString()}`;
|
|
89
|
+
if (process.env.CODEMIE_DEBUG) {
|
|
90
|
+
console.log(`[DEBUG] Fetching integrations from: ${fullUrl}`);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
console.log(`[INFO] Requesting integrations from: ${fullUrl}`);
|
|
94
|
+
}
|
|
95
|
+
const pageIntegrations = await fetchIntegrationsPage(fullUrl, cookieString);
|
|
96
|
+
if (pageIntegrations.length === 0) {
|
|
97
|
+
hasMorePages = false;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
allIntegrations.push(...pageIntegrations);
|
|
101
|
+
// If we got fewer items than requested, we've reached the last page
|
|
102
|
+
if (pageIntegrations.length < perPage) {
|
|
103
|
+
hasMorePages = false;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
currentPage++;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
112
|
+
hasMorePages = false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// If we got no integrations and had an error, throw it
|
|
116
|
+
if (allIntegrations.length === 0 && lastError) {
|
|
117
|
+
throw lastError;
|
|
118
|
+
}
|
|
119
|
+
return allIntegrations;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Fetch single page of integrations
|
|
123
|
+
*/
|
|
124
|
+
async function fetchIntegrationsPage(fullUrl, cookieString) {
|
|
125
|
+
const client = new HTTPClient({
|
|
126
|
+
timeout: 10000,
|
|
127
|
+
maxRetries: 3,
|
|
128
|
+
rejectUnauthorized: false
|
|
129
|
+
});
|
|
130
|
+
const cliVersion = process.env.CODEMIE_CLI_VERSION || 'unknown';
|
|
131
|
+
const response = await client.getRaw(fullUrl, {
|
|
132
|
+
'cookie': cookieString,
|
|
133
|
+
'Content-Type': 'application/json',
|
|
134
|
+
'User-Agent': `codemie-cli/${cliVersion}`,
|
|
135
|
+
'X-CodeMie-CLI': `codemie-cli/${cliVersion}`,
|
|
136
|
+
'X-CodeMie-Client': 'codemie-cli'
|
|
137
|
+
});
|
|
138
|
+
if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
|
|
139
|
+
if (response.statusCode === 401 || response.statusCode === 403) {
|
|
140
|
+
throw new Error('SSO session expired - please run setup again');
|
|
141
|
+
}
|
|
142
|
+
if (response.statusCode === 404) {
|
|
143
|
+
throw new Error(`Integrations endpoint not found. Response: ${response.data}`);
|
|
144
|
+
}
|
|
145
|
+
throw new Error(`Failed to fetch integrations: ${response.statusCode} ${response.statusMessage}`);
|
|
146
|
+
}
|
|
147
|
+
// Parse the response - handle flexible response structure
|
|
148
|
+
if (process.env.CODEMIE_DEBUG) {
|
|
149
|
+
console.log('[DEBUG] Integration API response:', response.data.substring(0, 500));
|
|
150
|
+
}
|
|
151
|
+
const responseData = JSON.parse(response.data);
|
|
152
|
+
// Extract integrations from response - try all possible locations
|
|
153
|
+
let integrations = [];
|
|
154
|
+
// Try different possible property names and structures
|
|
155
|
+
const possibleArrays = [
|
|
156
|
+
responseData, // Direct array
|
|
157
|
+
responseData.integrations,
|
|
158
|
+
responseData.credentials,
|
|
159
|
+
responseData.data,
|
|
160
|
+
responseData.items,
|
|
161
|
+
responseData.results,
|
|
162
|
+
responseData.user_integrations,
|
|
163
|
+
responseData.personal_integrations,
|
|
164
|
+
responseData.available_integrations
|
|
165
|
+
].filter(arr => Array.isArray(arr));
|
|
166
|
+
if (possibleArrays.length > 0) {
|
|
167
|
+
integrations = possibleArrays[0];
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
// Try to find nested objects that might contain arrays
|
|
171
|
+
for (const value of Object.values(responseData)) {
|
|
172
|
+
if (typeof value === 'object' && value !== null) {
|
|
173
|
+
const nestedArrays = Object.values(value).filter(Array.isArray);
|
|
174
|
+
if (nestedArrays.length > 0) {
|
|
175
|
+
integrations = nestedArrays[0];
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// Filter and validate integrations (already filtered by API, but double-check)
|
|
182
|
+
const validIntegrations = integrations
|
|
183
|
+
.filter(integration => {
|
|
184
|
+
return integration &&
|
|
185
|
+
integration.alias &&
|
|
186
|
+
integration.credential_type &&
|
|
187
|
+
integration.alias.trim() !== '' &&
|
|
188
|
+
integration.credential_type.trim() !== '';
|
|
189
|
+
})
|
|
190
|
+
.sort((a, b) => a.alias.localeCompare(b.alias));
|
|
191
|
+
return validIntegrations;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=sso.http-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso.http-client.js","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSO Model Management
|
|
3
|
+
*
|
|
4
|
+
* Fetches available models from CodeMie SSO API.
|
|
5
|
+
* Handles both direct model listing and LiteLLM integration discovery.
|
|
6
|
+
*/
|
|
7
|
+
import type { CodeMieConfigOptions } from '../../../env/types.js';
|
|
8
|
+
import type { ModelInfo, CodeMieIntegration } from '../../core/types.js';
|
|
9
|
+
import { BaseModelProxy } from '../../core/base/BaseModelProxy.js';
|
|
10
|
+
/**
|
|
11
|
+
* SSO Model Proxy
|
|
12
|
+
*
|
|
13
|
+
* Fetches models from CodeMie SSO API and LiteLLM integrations
|
|
14
|
+
*/
|
|
15
|
+
export declare class SSOModelProxy extends BaseModelProxy {
|
|
16
|
+
private sso;
|
|
17
|
+
constructor(baseUrl?: string);
|
|
18
|
+
/**
|
|
19
|
+
* Check if this proxy supports the given provider
|
|
20
|
+
*/
|
|
21
|
+
supports(provider: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* SSO does not support local model installation
|
|
24
|
+
*/
|
|
25
|
+
supportsInstallation(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* List models from SSO API
|
|
28
|
+
*
|
|
29
|
+
* Note: This is mainly for consistency with the interface.
|
|
30
|
+
* For SSO, listModels and fetchModels are essentially the same.
|
|
31
|
+
*/
|
|
32
|
+
listModels(): Promise<ModelInfo[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Fetch models for setup wizard
|
|
35
|
+
*
|
|
36
|
+
* Returns models from CodeMie SSO API
|
|
37
|
+
*/
|
|
38
|
+
fetchModels(config: CodeMieConfigOptions): Promise<ModelInfo[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Fetch LiteLLM integrations
|
|
41
|
+
*/
|
|
42
|
+
fetchIntegrations(codeMieUrl: string): Promise<CodeMieIntegration[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Fetch models from CodeMie API
|
|
45
|
+
*/
|
|
46
|
+
private fetchModelsFromAPI;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=sso.models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso.models.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAOnE;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,cAAc;IAC/C,OAAO,CAAC,GAAG,CAAa;gBAEZ,OAAO,CAAC,EAAE,MAAM;IAM5B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAcxC;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAyBrE;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAiC1E;;OAEG;YACW,kBAAkB;CA0BjC"}
|