@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
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Model Management
|
|
3
|
+
*
|
|
4
|
+
* Combines model discovery and installation for Ollama.
|
|
5
|
+
* Handles both listing installed models and discovering available models.
|
|
6
|
+
*/
|
|
7
|
+
import { BaseModelProxy } from '../../core/base/BaseModelProxy.js';
|
|
8
|
+
import { ProviderRegistry } from '../../core/registry.js';
|
|
9
|
+
import { OllamaTemplate } from './ollama.template.js';
|
|
10
|
+
import { logger } from '../../../utils/logger.js';
|
|
11
|
+
/**
|
|
12
|
+
* Pattern to identify coding model names
|
|
13
|
+
*/
|
|
14
|
+
const CODING_MODEL_PATTERNS = [
|
|
15
|
+
/coder/i,
|
|
16
|
+
/code/i,
|
|
17
|
+
/codellama/i,
|
|
18
|
+
/starcoder/i,
|
|
19
|
+
/wizard.*code/i,
|
|
20
|
+
/magic.*code/i
|
|
21
|
+
];
|
|
22
|
+
/**
|
|
23
|
+
* Check if a model name matches coding patterns
|
|
24
|
+
*/
|
|
25
|
+
function isCodingModel(modelName) {
|
|
26
|
+
return CODING_MODEL_PATTERNS.some(pattern => pattern.test(modelName));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get metadata for a coding model from OllamaTemplate
|
|
30
|
+
*/
|
|
31
|
+
function getCodingModelMetadata(modelId) {
|
|
32
|
+
// Extract base name (without tag)
|
|
33
|
+
const baseName = modelId.split(':')[0];
|
|
34
|
+
// Get metadata from template (single source of truth)
|
|
35
|
+
const metadata = OllamaTemplate.modelMetadata?.[baseName];
|
|
36
|
+
if (metadata) {
|
|
37
|
+
return {
|
|
38
|
+
name: metadata.name,
|
|
39
|
+
description: metadata.description,
|
|
40
|
+
popular: metadata.popular ?? false
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
// If not in template but matches coding pattern, mark as coding model
|
|
44
|
+
if (isCodingModel(baseName)) {
|
|
45
|
+
return {
|
|
46
|
+
name: modelId,
|
|
47
|
+
description: 'Code-specialized model',
|
|
48
|
+
popular: false
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return {};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Unified Ollama model management
|
|
55
|
+
* Extends BaseModelProxy for common patterns
|
|
56
|
+
*/
|
|
57
|
+
export class OllamaModelProxy extends BaseModelProxy {
|
|
58
|
+
constructor(baseUrl = OllamaTemplate.defaultBaseUrl) {
|
|
59
|
+
super(baseUrl, 300000); // 5 minutes for model operations
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Check if this proxy supports the given provider
|
|
63
|
+
*/
|
|
64
|
+
supports(provider) {
|
|
65
|
+
return provider === 'ollama';
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Ollama supports model installation
|
|
69
|
+
*/
|
|
70
|
+
supportsInstallation() {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* List installed models
|
|
75
|
+
*/
|
|
76
|
+
async listModels() {
|
|
77
|
+
try {
|
|
78
|
+
const response = await this.client.get(`${this.baseUrl}/api/tags`);
|
|
79
|
+
return response.data.models.map((model) => ({
|
|
80
|
+
id: model.name,
|
|
81
|
+
name: model.name,
|
|
82
|
+
size: model.size,
|
|
83
|
+
metadata: {
|
|
84
|
+
digest: model.digest,
|
|
85
|
+
modified: model.modified_at,
|
|
86
|
+
format: model.details?.format || model.details?.quantization_level || 'unknown'
|
|
87
|
+
}
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
throw new Error(`Failed to list models: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Fetch available models (for setup/discovery)
|
|
96
|
+
* Returns installed coding models if available, otherwise returns recommended models from template
|
|
97
|
+
*/
|
|
98
|
+
async fetchModels(config) {
|
|
99
|
+
try {
|
|
100
|
+
// Use baseUrl from config if provided, otherwise use default
|
|
101
|
+
const baseUrl = config.baseUrl || OllamaTemplate.defaultBaseUrl;
|
|
102
|
+
const proxy = baseUrl === this.baseUrl ? this : new OllamaModelProxy(baseUrl);
|
|
103
|
+
// Try to fetch installed models from Ollama
|
|
104
|
+
const installedModels = await proxy.listModels();
|
|
105
|
+
// If we have installed coding models, return them with enriched metadata
|
|
106
|
+
if (installedModels.length > 0) {
|
|
107
|
+
const codingModels = installedModels
|
|
108
|
+
.filter(m => isCodingModel(m.id))
|
|
109
|
+
.map(m => {
|
|
110
|
+
const metadata = getCodingModelMetadata(m.id);
|
|
111
|
+
return {
|
|
112
|
+
id: m.id,
|
|
113
|
+
name: metadata.name || m.name || m.id,
|
|
114
|
+
description: metadata.description,
|
|
115
|
+
size: m.size,
|
|
116
|
+
popular: metadata.popular || false
|
|
117
|
+
};
|
|
118
|
+
});
|
|
119
|
+
// Return installed coding models if we have any
|
|
120
|
+
if (codingModels.length > 0) {
|
|
121
|
+
return codingModels;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
logger.debug('Failed to fetch installed Ollama models:', error);
|
|
127
|
+
}
|
|
128
|
+
// Fall back to template's recommended models with metadata from template
|
|
129
|
+
const recommendedModels = OllamaTemplate.recommendedModels.map(modelId => {
|
|
130
|
+
const metadata = OllamaTemplate.modelMetadata?.[modelId];
|
|
131
|
+
return {
|
|
132
|
+
id: modelId,
|
|
133
|
+
name: metadata?.name || modelId,
|
|
134
|
+
description: metadata?.description,
|
|
135
|
+
popular: metadata?.popular ?? true // All recommended models are popular by default
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
return recommendedModels;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Install model with progress tracking
|
|
142
|
+
* Streams real-time progress from Ollama API
|
|
143
|
+
*/
|
|
144
|
+
async installModel(modelName, onProgress) {
|
|
145
|
+
try {
|
|
146
|
+
const response = await fetch(`${this.baseUrl}/api/pull`, {
|
|
147
|
+
method: 'POST',
|
|
148
|
+
headers: {
|
|
149
|
+
'Content-Type': 'application/json',
|
|
150
|
+
},
|
|
151
|
+
body: JSON.stringify({ name: modelName, stream: true }),
|
|
152
|
+
});
|
|
153
|
+
if (!response.ok) {
|
|
154
|
+
throw new Error(`Failed to pull model: ${response.statusText}`);
|
|
155
|
+
}
|
|
156
|
+
if (!response.body) {
|
|
157
|
+
throw new Error('Response body is empty');
|
|
158
|
+
}
|
|
159
|
+
const reader = response.body.getReader();
|
|
160
|
+
const decoder = new TextDecoder();
|
|
161
|
+
let buffer = '';
|
|
162
|
+
while (true) {
|
|
163
|
+
const { done, value } = await reader.read();
|
|
164
|
+
if (done)
|
|
165
|
+
break;
|
|
166
|
+
buffer += decoder.decode(value, { stream: true });
|
|
167
|
+
const lines = buffer.split('\n');
|
|
168
|
+
buffer = lines.pop() || '';
|
|
169
|
+
for (const line of lines) {
|
|
170
|
+
if (!line.trim())
|
|
171
|
+
continue;
|
|
172
|
+
try {
|
|
173
|
+
const data = JSON.parse(line);
|
|
174
|
+
if (onProgress) {
|
|
175
|
+
// Ollama progress format: { status: "pulling manifest", ... }
|
|
176
|
+
// or { status: "downloading", completed: 123, total: 456 }
|
|
177
|
+
if (data.status === 'success' || data.status === 'pulling manifest') {
|
|
178
|
+
onProgress({ status: 'downloading', message: data.status });
|
|
179
|
+
}
|
|
180
|
+
else if (data.completed && data.total) {
|
|
181
|
+
const percent = Math.round((data.completed / data.total) * 100);
|
|
182
|
+
onProgress({
|
|
183
|
+
status: 'downloading',
|
|
184
|
+
progress: percent,
|
|
185
|
+
message: `${data.status || 'Downloading'} (${percent}%)`
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
else if (data.status) {
|
|
189
|
+
onProgress({ status: 'downloading', message: data.status });
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
logger.debug(`Failed to parse progress line for ${modelName}:`, line);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
if (onProgress) {
|
|
199
|
+
onProgress({ status: 'complete', progress: 100, message: `Successfully pulled ${modelName}` });
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
if (onProgress) {
|
|
204
|
+
onProgress({ status: 'error', message: `Failed to install ${modelName}` });
|
|
205
|
+
}
|
|
206
|
+
throw new Error(`Failed to install model ${modelName}: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Remove model
|
|
211
|
+
*/
|
|
212
|
+
async removeModel(modelName) {
|
|
213
|
+
try {
|
|
214
|
+
await this.client.post(`${this.baseUrl}/api/delete`, { name: modelName });
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
throw new Error(`Failed to remove model ${modelName}: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Get detailed model information
|
|
222
|
+
*/
|
|
223
|
+
async getModelInfo(modelName) {
|
|
224
|
+
try {
|
|
225
|
+
// First check if model exists in list
|
|
226
|
+
const models = await this.listModels();
|
|
227
|
+
const basicInfo = models.find((m) => m.id === modelName);
|
|
228
|
+
if (!basicInfo) {
|
|
229
|
+
return null;
|
|
230
|
+
}
|
|
231
|
+
// Get detailed info from template if available
|
|
232
|
+
const baseName = modelName.split(':')[0];
|
|
233
|
+
const templateMetadata = OllamaTemplate.modelMetadata?.[baseName];
|
|
234
|
+
if (templateMetadata) {
|
|
235
|
+
return {
|
|
236
|
+
...basicInfo,
|
|
237
|
+
name: templateMetadata.name,
|
|
238
|
+
description: templateMetadata.description,
|
|
239
|
+
popular: templateMetadata.popular,
|
|
240
|
+
contextWindow: templateMetadata.contextWindow
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
return basicInfo;
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
return null;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// Auto-register model proxy
|
|
251
|
+
ProviderRegistry.registerModelProxy('ollama', new OllamaModelProxy());
|
|
252
|
+
//# sourceMappingURL=ollama.models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.models.js","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Provider Setup Steps
|
|
3
|
+
*
|
|
4
|
+
* Implements setup flow for Ollama (local model provider).
|
|
5
|
+
* Unique features:
|
|
6
|
+
* - Health check (verify Ollama is running)
|
|
7
|
+
* - Model installation support (extra step)
|
|
8
|
+
*/
|
|
9
|
+
import type { ProviderSetupSteps } from '../../core/types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Ollama setup steps implementation
|
|
12
|
+
*
|
|
13
|
+
* Handles Ollama-specific setup flow with health checks and model discovery
|
|
14
|
+
*/
|
|
15
|
+
export declare const OllamaSetupSteps: ProviderSetupSteps;
|
|
16
|
+
//# sourceMappingURL=ollama.setup-steps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.setup-steps.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.setup-steps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAK7B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,kBA8J9B,CAAC"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Provider Setup Steps
|
|
3
|
+
*
|
|
4
|
+
* Implements setup flow for Ollama (local model provider).
|
|
5
|
+
* Unique features:
|
|
6
|
+
* - Health check (verify Ollama is running)
|
|
7
|
+
* - Model installation support (extra step)
|
|
8
|
+
*/
|
|
9
|
+
import { ProviderRegistry } from '../../core/registry.js';
|
|
10
|
+
import { OllamaTemplate } from './ollama.template.js';
|
|
11
|
+
/**
|
|
12
|
+
* Ollama setup steps implementation
|
|
13
|
+
*
|
|
14
|
+
* Handles Ollama-specific setup flow with health checks and model discovery
|
|
15
|
+
*/
|
|
16
|
+
export const OllamaSetupSteps = {
|
|
17
|
+
name: 'ollama',
|
|
18
|
+
/**
|
|
19
|
+
* Get credentials for Ollama
|
|
20
|
+
* Ollama runs locally so no API key needed, just verify it's running
|
|
21
|
+
*/
|
|
22
|
+
async getCredentials() {
|
|
23
|
+
const inquirer = (await import('inquirer')).default;
|
|
24
|
+
const ora = (await import('ora')).default;
|
|
25
|
+
const chalk = (await import('chalk')).default;
|
|
26
|
+
const { OllamaHealthCheck } = await import('./ollama.health.js');
|
|
27
|
+
// Ask for Ollama base URL first (allow pressing Enter for default)
|
|
28
|
+
const { baseUrl } = await inquirer.prompt([
|
|
29
|
+
{
|
|
30
|
+
type: 'input',
|
|
31
|
+
name: 'baseUrl',
|
|
32
|
+
message: 'Ollama base URL:',
|
|
33
|
+
default: OllamaTemplate.defaultBaseUrl,
|
|
34
|
+
validate: (input) => input.trim() !== '' || 'Base URL is required'
|
|
35
|
+
}
|
|
36
|
+
]);
|
|
37
|
+
// Check if Ollama is running at the specified URL
|
|
38
|
+
const healthSpinner = ora('Checking if Ollama is running...').start();
|
|
39
|
+
const healthCheck = new OllamaHealthCheck(baseUrl);
|
|
40
|
+
try {
|
|
41
|
+
const result = await healthCheck.check({
|
|
42
|
+
provider: 'ollama',
|
|
43
|
+
baseUrl,
|
|
44
|
+
apiKey: '',
|
|
45
|
+
model: 'temp',
|
|
46
|
+
timeout: 300
|
|
47
|
+
});
|
|
48
|
+
if (result.status === 'unreachable') {
|
|
49
|
+
healthSpinner.fail(chalk.red('Ollama is not running'));
|
|
50
|
+
console.log(chalk.yellow('\n' + result.remediation + '\n'));
|
|
51
|
+
const { continueAnyway } = await inquirer.prompt([
|
|
52
|
+
{
|
|
53
|
+
type: 'confirm',
|
|
54
|
+
name: 'continueAnyway',
|
|
55
|
+
message: 'Continue with setup anyway?',
|
|
56
|
+
default: false
|
|
57
|
+
}
|
|
58
|
+
]);
|
|
59
|
+
if (!continueAnyway) {
|
|
60
|
+
throw new Error('Setup cancelled - please start Ollama first');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else if (result.status === 'unhealthy') {
|
|
64
|
+
// Ollama is running but no models installed - that's OK for setup
|
|
65
|
+
healthSpinner.succeed(chalk.green('Ollama is running (no models installed yet)'));
|
|
66
|
+
console.log(chalk.dim(' You can install models after setup completes\n'));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// Healthy - Ollama running with models
|
|
70
|
+
healthSpinner.succeed(chalk.green(result.message));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
healthSpinner.fail(chalk.red('Failed to check Ollama health'));
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
baseUrl,
|
|
79
|
+
apiKey: '' // Ollama doesn't use API keys
|
|
80
|
+
};
|
|
81
|
+
},
|
|
82
|
+
/**
|
|
83
|
+
* Fetch available models from Ollama
|
|
84
|
+
*/
|
|
85
|
+
async fetchModels(credentials) {
|
|
86
|
+
const { OllamaModelProxy } = await import('./ollama.models.js');
|
|
87
|
+
const modelProxy = new OllamaModelProxy(credentials.baseUrl);
|
|
88
|
+
try {
|
|
89
|
+
const models = await modelProxy.fetchModels({
|
|
90
|
+
provider: 'ollama',
|
|
91
|
+
baseUrl: credentials.baseUrl,
|
|
92
|
+
apiKey: '',
|
|
93
|
+
model: 'temp',
|
|
94
|
+
timeout: 300
|
|
95
|
+
});
|
|
96
|
+
return models.map(m => m.id);
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// If fetch fails, return recommended models
|
|
100
|
+
return OllamaTemplate.recommendedModels;
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
/**
|
|
104
|
+
* Install model if not already installed
|
|
105
|
+
*/
|
|
106
|
+
async installModel(credentials, selectedModel, _availableModels) {
|
|
107
|
+
const ora = (await import('ora')).default;
|
|
108
|
+
const chalk = (await import('chalk')).default;
|
|
109
|
+
const { OllamaModelProxy } = await import('./ollama.models.js');
|
|
110
|
+
const modelProxy = new OllamaModelProxy(credentials.baseUrl);
|
|
111
|
+
// Check if model is actually installed by querying Ollama directly
|
|
112
|
+
let isInstalled = false;
|
|
113
|
+
try {
|
|
114
|
+
const installedModels = await modelProxy.listModels();
|
|
115
|
+
isInstalled = installedModels.some(m => m.id === selectedModel);
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
// If we can't check, assume not installed
|
|
119
|
+
isInstalled = false;
|
|
120
|
+
}
|
|
121
|
+
if (isInstalled) {
|
|
122
|
+
console.log(chalk.dim(` Model "${selectedModel}" is already installed\n`));
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
// Model needs to be installed
|
|
126
|
+
console.log(chalk.cyan(`\n📦 Installing model: ${selectedModel}`));
|
|
127
|
+
console.log(chalk.dim(' This may take several minutes depending on model size...\n'));
|
|
128
|
+
const installSpinner = ora(`Pulling ${selectedModel}...`).start();
|
|
129
|
+
try {
|
|
130
|
+
await modelProxy.installModel(selectedModel, (progress) => {
|
|
131
|
+
if (progress.status === 'downloading') {
|
|
132
|
+
installSpinner.text = progress.message || `Pulling ${selectedModel}...`;
|
|
133
|
+
}
|
|
134
|
+
else if (progress.status === 'complete') {
|
|
135
|
+
installSpinner.succeed(chalk.green(progress.message || `Successfully installed ${selectedModel}`));
|
|
136
|
+
}
|
|
137
|
+
else if (progress.status === 'error') {
|
|
138
|
+
installSpinner.fail(chalk.red(progress.message || `Failed to install ${selectedModel}`));
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
console.log(chalk.green(`✓ Model "${selectedModel}" is ready to use\n`));
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
installSpinner.fail(chalk.red('Model installation failed'));
|
|
145
|
+
throw new Error(`Failed to install model: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
/**
|
|
149
|
+
* Build configuration for Ollama
|
|
150
|
+
*/
|
|
151
|
+
buildConfig(credentials, model) {
|
|
152
|
+
return {
|
|
153
|
+
provider: 'ollama',
|
|
154
|
+
baseUrl: credentials.baseUrl,
|
|
155
|
+
apiKey: '', // Ollama doesn't use API keys
|
|
156
|
+
model,
|
|
157
|
+
timeout: 300,
|
|
158
|
+
debug: false
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
// Auto-register setup steps
|
|
163
|
+
ProviderRegistry.registerSetupSteps('ollama', OllamaSetupSteps);
|
|
164
|
+
//# sourceMappingURL=ollama.setup-steps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.setup-steps.js","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.setup-steps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Provider Template
|
|
3
|
+
*
|
|
4
|
+
* Template definition for Ollama local LLM runtime.
|
|
5
|
+
* Ollama is a popular open-source tool for running LLMs locally.
|
|
6
|
+
*
|
|
7
|
+
* Auto-registers on import via registerProvider().
|
|
8
|
+
*/
|
|
9
|
+
import type { ProviderTemplate } from '../../core/types.js';
|
|
10
|
+
export declare const OllamaTemplate: ProviderTemplate;
|
|
11
|
+
//# sourceMappingURL=ollama.template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.template.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.template.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,cAAc,kBA8EzB,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Provider Template
|
|
3
|
+
*
|
|
4
|
+
* Template definition for Ollama local LLM runtime.
|
|
5
|
+
* Ollama is a popular open-source tool for running LLMs locally.
|
|
6
|
+
*
|
|
7
|
+
* Auto-registers on import via registerProvider().
|
|
8
|
+
*/
|
|
9
|
+
import { registerProvider } from '../../core/decorators.js';
|
|
10
|
+
export const OllamaTemplate = registerProvider({
|
|
11
|
+
name: 'ollama',
|
|
12
|
+
displayName: 'Ollama',
|
|
13
|
+
description: 'Popular open-source local LLM runner - optimized for coding with 16GB RAM',
|
|
14
|
+
defaultPort: 11434,
|
|
15
|
+
defaultBaseUrl: 'http://localhost:11434',
|
|
16
|
+
requiresAuth: false,
|
|
17
|
+
authType: 'none',
|
|
18
|
+
recommendedModels: [
|
|
19
|
+
'qwen2.5-coder',
|
|
20
|
+
'codellama',
|
|
21
|
+
'deepseek-coder-v2'
|
|
22
|
+
],
|
|
23
|
+
modelMetadata: {
|
|
24
|
+
'qwen2.5-coder': {
|
|
25
|
+
name: 'Qwen 2.5 Coder',
|
|
26
|
+
description: 'Excellent for coding tasks (7B, ~5GB)',
|
|
27
|
+
},
|
|
28
|
+
'codellama': {
|
|
29
|
+
name: 'Code Llama',
|
|
30
|
+
description: 'Optimized for code generation (7B, ~3.8GB)',
|
|
31
|
+
},
|
|
32
|
+
'deepseek-coder-v2': {
|
|
33
|
+
name: 'DeepSeek Coder V2',
|
|
34
|
+
description: 'Advanced coding model (16B, ~9GB)',
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
capabilities: ['streaming', 'tools', 'embeddings', 'model-management'],
|
|
38
|
+
supportsModelInstallation: true,
|
|
39
|
+
envMapping: {
|
|
40
|
+
baseUrl: ['OPENAI_BASE_URL'],
|
|
41
|
+
apiKey: ['OPENAI_API_KEY'],
|
|
42
|
+
model: ['OPENAI_MODEL']
|
|
43
|
+
},
|
|
44
|
+
healthCheckEndpoint: '/api/tags',
|
|
45
|
+
setupInstructions: `
|
|
46
|
+
# Ollama Setup Instructions
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
|
|
50
|
+
### macOS
|
|
51
|
+
Download from: https://ollama.com/download/mac
|
|
52
|
+
|
|
53
|
+
### Linux
|
|
54
|
+
\`\`\`bash
|
|
55
|
+
curl -fsSL https://ollama.com/install.sh | sh
|
|
56
|
+
\`\`\`
|
|
57
|
+
|
|
58
|
+
### Windows
|
|
59
|
+
Download from: https://ollama.com/download
|
|
60
|
+
|
|
61
|
+
## Starting Ollama
|
|
62
|
+
|
|
63
|
+
Ollama runs as a background service after installation.
|
|
64
|
+
|
|
65
|
+
### Verify Running
|
|
66
|
+
\`\`\`bash
|
|
67
|
+
curl http://localhost:11434/api/tags
|
|
68
|
+
\`\`\`
|
|
69
|
+
|
|
70
|
+
### Using CodeMie
|
|
71
|
+
\`\`\`bash
|
|
72
|
+
codemie models install ollama/llama3.2
|
|
73
|
+
codemie models list ollama
|
|
74
|
+
\`\`\`
|
|
75
|
+
|
|
76
|
+
## Recommended Coding Models (16GB RAM Compatible)
|
|
77
|
+
|
|
78
|
+
- **qwen2.5-coder**: Excellent for coding tasks (7B parameters, ~5GB)
|
|
79
|
+
- **codellama**: Optimized for code generation (7B parameters, ~3.8GB)
|
|
80
|
+
- **deepseek-coder-v2**: Advanced coding model (16B parameters, ~9GB)
|
|
81
|
+
|
|
82
|
+
## Documentation
|
|
83
|
+
|
|
84
|
+
- Official website: https://ollama.com
|
|
85
|
+
- Model library: https://ollama.com/library
|
|
86
|
+
- GitHub: https://github.com/ollama/ollama
|
|
87
|
+
`
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=ollama.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.template.js","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.template.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAmB;IAC/D,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,2EAA2E;IACxF,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,wBAAwB;IACxC,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,MAAM;IAChB,iBAAiB,EAAE;QACjB,eAAe;QACf,WAAW;QACX,mBAAmB;KACpB;IACD,aAAa,EAAE;QACb,eAAe,EAAE;YACf,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,uCAAuC;SACrD;QACD,WAAW,EAAE;YACX,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,4CAA4C;SAC1D;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,mCAAmC;SACjD;KACF;IACD,YAAY,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,CAAC;IACtE,yBAAyB,EAAE,IAAI;IAC/B,UAAU,EAAE;QACV,OAAO,EAAE,CAAC,iBAAiB,CAAC;QAC5B,MAAM,EAAE,CAAC,gBAAgB,CAAC;QAC1B,KAAK,EAAE,CAAC,cAAc,CAAC;KACxB;IACD,mBAAmB,EAAE,WAAW;IAChC,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CpB;CACA,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSO Provider - Complete Provider Implementation
|
|
3
|
+
*
|
|
4
|
+
* All SSO-related code in one place for easy maintenance.
|
|
5
|
+
* Auto-registers with ProviderRegistry on import.
|
|
6
|
+
*/
|
|
7
|
+
export { SSOTemplate } from './sso.template.js';
|
|
8
|
+
export { CodeMieSSO } from './sso.auth.js';
|
|
9
|
+
export { SSOModelProxy } from './sso.models.js';
|
|
10
|
+
export { SSOHealthCheck } from './sso.health.js';
|
|
11
|
+
export { SSOSetupSteps } from './sso.setup-steps.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSO Provider - Complete Provider Implementation
|
|
3
|
+
*
|
|
4
|
+
* All SSO-related code in one place for easy maintenance.
|
|
5
|
+
* Auto-registers with ProviderRegistry on import.
|
|
6
|
+
*/
|
|
7
|
+
export { SSOTemplate } from './sso.template.js';
|
|
8
|
+
export { CodeMieSSO } from './sso.auth.js';
|
|
9
|
+
export { SSOModelProxy } from './sso.models.js';
|
|
10
|
+
export { SSOHealthCheck } from './sso.health.js';
|
|
11
|
+
export { SSOSetupSteps } from './sso.setup-steps.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSO Authentication Module
|
|
3
|
+
*
|
|
4
|
+
* Handles browser-based SSO authentication for CodeMie provider.
|
|
5
|
+
* Manages credential storage and session lifecycle.
|
|
6
|
+
*/
|
|
7
|
+
import type { SSOAuthConfig, SSOAuthResult, SSOCredentials } from '../../core/types.js';
|
|
8
|
+
/**
|
|
9
|
+
* CodeMie SSO Authentication
|
|
10
|
+
*
|
|
11
|
+
* Provides browser-based SSO authentication for CodeMie provider
|
|
12
|
+
*/
|
|
13
|
+
export declare class CodeMieSSO {
|
|
14
|
+
private server?;
|
|
15
|
+
private callbackResult?;
|
|
16
|
+
private codeMieUrl;
|
|
17
|
+
/**
|
|
18
|
+
* Authenticate via browser SSO
|
|
19
|
+
*/
|
|
20
|
+
authenticate(config: SSOAuthConfig): Promise<SSOAuthResult>;
|
|
21
|
+
/**
|
|
22
|
+
* Get stored SSO credentials
|
|
23
|
+
*/
|
|
24
|
+
getStoredCredentials(): Promise<SSOCredentials | null>;
|
|
25
|
+
/**
|
|
26
|
+
* Clear stored credentials
|
|
27
|
+
*/
|
|
28
|
+
clearStoredCredentials(): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Ensure API base URL has correct format
|
|
31
|
+
*/
|
|
32
|
+
private ensureApiBase;
|
|
33
|
+
/**
|
|
34
|
+
* Start local HTTP server for OAuth callback
|
|
35
|
+
*/
|
|
36
|
+
private startLocalServer;
|
|
37
|
+
/**
|
|
38
|
+
* Handle OAuth callback from browser
|
|
39
|
+
*/
|
|
40
|
+
private handleCallback;
|
|
41
|
+
/**
|
|
42
|
+
* Wait for OAuth callback with timeout
|
|
43
|
+
*/
|
|
44
|
+
private waitForCallback;
|
|
45
|
+
/**
|
|
46
|
+
* Cleanup server resources
|
|
47
|
+
*/
|
|
48
|
+
private cleanup;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=sso.auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso.auth.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGxF;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,UAAU,CAAU;IAE5B;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IA0CjE;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAa5D;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7C;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsFxB;;OAEG;YACW,cAAc;IA2D5B;;OAEG;YACW,eAAe;IAmB7B;;OAEG;IACH,OAAO,CAAC,OAAO;CAMhB"}
|