@codemieai/code 0.0.15 → 0.0.16
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 +24 -9
- package/dist/agents/codemie-code/agent.js +2 -2
- 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 +5 -4
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +1 -5
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +5 -26
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/plugins/claude.plugin.js +1 -1
- package/dist/agents/plugins/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/codex.plugin.js +2 -2
- 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.js +1 -1
- package/dist/agents/plugins/gemini.plugin.js.map +1 -1
- package/dist/analytics/index.d.ts.map +1 -1
- package/dist/analytics/index.js +3 -11
- package/dist/analytics/index.js.map +1 -1
- package/dist/analytics/remote-submission/cursor-manager.d.ts +1 -1
- package/dist/analytics/remote-submission/cursor-manager.js +2 -2
- package/dist/analytics/remote-submission/cursor-manager.js.map +1 -1
- package/dist/analytics/remote-submission/index.d.ts +2 -2
- package/dist/analytics/remote-submission/index.d.ts.map +1 -1
- package/dist/analytics/remote-submission/index.js +1 -1
- package/dist/analytics/remote-submission/index.js.map +1 -1
- package/dist/analytics/remote-submission/lock-manager.d.ts +1 -1
- package/dist/analytics/remote-submission/lock-manager.js +2 -2
- package/dist/analytics/remote-submission/lock-manager.js.map +1 -1
- package/dist/analytics/remote-submission/metric-transformer.d.ts +2 -30
- package/dist/analytics/remote-submission/metric-transformer.d.ts.map +1 -1
- package/dist/analytics/remote-submission/metric-transformer.js +24 -117
- package/dist/analytics/remote-submission/metric-transformer.js.map +1 -1
- package/dist/analytics/remote-submission/submitter.d.ts +1 -0
- package/dist/analytics/remote-submission/submitter.d.ts.map +1 -1
- package/dist/analytics/remote-submission/submitter.js +18 -37
- package/dist/analytics/remote-submission/submitter.js.map +1 -1
- package/dist/analytics/remote-submission/types.d.ts +5 -51
- package/dist/analytics/remote-submission/types.d.ts.map +1 -1
- package/dist/analytics/remote-submission/types.js.map +1 -1
- 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/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 +23 -8
- 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.js +90 -12
- 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 +159 -660
- 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 +4 -1
- package/dist/cli/index.js.map +1 -1
- 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 +20 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +22 -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 +141 -0
- package/dist/providers/integration/setup-ui.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 +87 -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/{utils/codemie-model-fetcher.d.ts → providers/plugins/sso/sso.http-client.d.ts} +16 -5
- package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.http-client.js +187 -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 +1 -1
- package/dist/proxy/http-client.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 +7 -3
- package/dist/proxy/plugins/header-injection.plugin.js.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/index.d.ts +2 -2
- package/dist/proxy/plugins/index.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/index.js +3 -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 +92 -0
- package/dist/proxy/plugins/logging.plugin.js.map +1 -0
- package/dist/proxy/plugins/registry.d.ts.map +1 -0
- package/dist/{utils/proxy → proxy}/plugins/registry.js +1 -1
- 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 +3 -3
- package/dist/proxy/plugins/types.d.ts.map +1 -0
- package/dist/proxy/plugins/types.js.map +1 -0
- package/dist/proxy/types.d.ts.map +1 -0
- package/dist/proxy/types.js.map +1 -0
- package/dist/utils/codemie-proxy.d.ts +5 -4
- package/dist/utils/codemie-proxy.d.ts.map +1 -1
- package/dist/utils/codemie-proxy.js +31 -26
- 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 +30 -90
- 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/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +0 -2
- package/dist/utils/logger.js.map +1 -1
- package/package.json +1 -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/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.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/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.d.ts +0 -0
- /package/dist/{utils/proxy → proxy}/types.js +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LiteLLM Model Proxy
|
|
3
|
+
*
|
|
4
|
+
* Fetches available models from LiteLLM proxy server via /v1/models endpoint.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseModelProxy } from '../../core/base/BaseModelProxy.js';
|
|
7
|
+
/**
|
|
8
|
+
* LiteLLM model proxy implementation
|
|
9
|
+
*
|
|
10
|
+
* Fetches models from LiteLLM's OpenAI-compatible /v1/models endpoint
|
|
11
|
+
*/
|
|
12
|
+
export class LiteLLMModelProxy extends BaseModelProxy {
|
|
13
|
+
constructor(baseUrl, apiKey) {
|
|
14
|
+
super(baseUrl, 10000);
|
|
15
|
+
this.apiKey = apiKey;
|
|
16
|
+
}
|
|
17
|
+
apiKey;
|
|
18
|
+
supports(provider) {
|
|
19
|
+
return provider === 'litellm';
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* List models from LiteLLM proxy
|
|
23
|
+
*/
|
|
24
|
+
async listModels() {
|
|
25
|
+
const headers = {
|
|
26
|
+
'Content-Type': 'application/json'
|
|
27
|
+
};
|
|
28
|
+
// Add API key if provided
|
|
29
|
+
if (this.apiKey && this.apiKey !== 'not-required') {
|
|
30
|
+
headers['Authorization'] = `Bearer ${this.apiKey}`;
|
|
31
|
+
}
|
|
32
|
+
const response = await this.client.get(`${this.baseUrl}/v1/models`, headers);
|
|
33
|
+
// Transform OpenAI format to ModelInfo
|
|
34
|
+
const models = response.data.data.map(model => ({
|
|
35
|
+
id: model.id,
|
|
36
|
+
name: model.id,
|
|
37
|
+
popular: false
|
|
38
|
+
}));
|
|
39
|
+
return models;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Fetch models for setup wizard
|
|
43
|
+
*/
|
|
44
|
+
async fetchModels(_config) {
|
|
45
|
+
return this.listModels();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=litellm.models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"litellm.models.js","sourceRoot":"","sources":["../../../../src/providers/plugins/litellm/litellm.models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IACnD,YAAY,OAAe,EAAE,MAAe;QAC1C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,MAAM,CAAU;IAExB,QAAQ,CAAC,QAAgB;QACvB,OAAO,QAAQ,KAAK,SAAS,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,0BAA0B;QAC1B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YAClD,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,GAAG,IAAI,CAAC,OAAO,YAAY,EAC3B,OAAO,CACR,CAAC;QAEF,uCAAuC;QACvC,MAAM,MAAM,GAAgB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3D,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,EAAE;YACd,OAAO,EAAE,KAAK;SACf,CAAC,CAAC,CAAC;QAEJ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAA6B;QAC7C,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"litellm.setup-steps.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/litellm/litellm.setup-steps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAuB,MAAM,qBAAqB,CAAC;AAInF,eAAO,MAAM,iBAAiB,EAAE,kBAmD/B,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LiteLLM Setup Steps
|
|
3
|
+
*
|
|
4
|
+
* Interactive setup flow for LiteLLM provider.
|
|
5
|
+
*/
|
|
6
|
+
import { LiteLLMTemplate } from './litellm.template.js';
|
|
7
|
+
import inquirer from 'inquirer';
|
|
8
|
+
export const LiteLLMSetupSteps = {
|
|
9
|
+
name: 'litellm',
|
|
10
|
+
async getCredentials(_isUpdate = false) {
|
|
11
|
+
const answers = await inquirer.prompt([
|
|
12
|
+
{
|
|
13
|
+
type: 'input',
|
|
14
|
+
name: 'baseUrl',
|
|
15
|
+
message: 'LiteLLM Proxy URL:',
|
|
16
|
+
default: LiteLLMTemplate.defaultBaseUrl,
|
|
17
|
+
validate: (input) => input.trim() !== '' || 'Base URL is required'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
type: 'password',
|
|
21
|
+
name: 'apiKey',
|
|
22
|
+
message: 'API Key (optional, leave empty if not required):',
|
|
23
|
+
mask: '*'
|
|
24
|
+
}
|
|
25
|
+
]);
|
|
26
|
+
return {
|
|
27
|
+
baseUrl: answers.baseUrl.trim(),
|
|
28
|
+
apiKey: answers.apiKey?.trim() || 'not-required'
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
async fetchModels(credentials) {
|
|
32
|
+
const { LiteLLMModelProxy } = await import('./litellm.models.js');
|
|
33
|
+
const modelProxy = new LiteLLMModelProxy(credentials.baseUrl || LiteLLMTemplate.defaultBaseUrl, credentials.apiKey);
|
|
34
|
+
try {
|
|
35
|
+
const models = await modelProxy.listModels();
|
|
36
|
+
return models.map(m => m.id);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// If fetch fails, return recommended models
|
|
40
|
+
return LiteLLMTemplate.recommendedModels;
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
buildConfig(credentials, selectedModel) {
|
|
44
|
+
return {
|
|
45
|
+
provider: 'litellm',
|
|
46
|
+
baseUrl: credentials.baseUrl,
|
|
47
|
+
apiKey: credentials.apiKey,
|
|
48
|
+
model: selectedModel
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=litellm.setup-steps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"litellm.setup-steps.js","sourceRoot":"","sources":["../../../../src/providers/plugins/litellm/litellm.setup-steps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACnD,IAAI,EAAE,SAAS;IAEf,KAAK,CAAC,cAAc,CAAC,SAAS,GAAG,KAAK;QACpC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACpC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,oBAAoB;gBAC7B,OAAO,EAAE,eAAe,CAAC,cAAc;gBACvC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,sBAAsB;aAC3E;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,kDAAkD;gBAC3D,IAAI,EAAE,GAAG;aACV;SACF,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;YAC/B,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,cAAc;SACjD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAgC;QAChD,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAElE,MAAM,UAAU,GAAG,IAAI,iBAAiB,CACtC,WAAW,CAAC,OAAO,IAAI,eAAe,CAAC,cAAc,EACrD,WAAW,CAAC,MAAM,CACnB,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;YAC5C,OAAO,eAAe,CAAC,iBAAiB,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,WAAW,CAAC,WAAgC,EAAE,aAAqB;QACjE,OAAO;YACL,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,KAAK,EAAE,aAAa;SACrB,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LiteLLM Provider Template
|
|
3
|
+
*
|
|
4
|
+
* Template definition for LiteLLM proxy.
|
|
5
|
+
* Universal gateway to 100+ LLM providers.
|
|
6
|
+
*
|
|
7
|
+
* Auto-registers on import via registerProvider().
|
|
8
|
+
*/
|
|
9
|
+
import type { ProviderTemplate } from '../../core/types.js';
|
|
10
|
+
export declare const LiteLLMTemplate: ProviderTemplate;
|
|
11
|
+
//# sourceMappingURL=litellm.template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"litellm.template.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/litellm/litellm.template.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,eAAe,kBAgD1B,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LiteLLM Provider Template
|
|
3
|
+
*
|
|
4
|
+
* Template definition for LiteLLM proxy.
|
|
5
|
+
* Universal gateway to 100+ LLM providers.
|
|
6
|
+
*
|
|
7
|
+
* Auto-registers on import via registerProvider().
|
|
8
|
+
*/
|
|
9
|
+
import { registerProvider } from '../../core/decorators.js';
|
|
10
|
+
export const LiteLLMTemplate = registerProvider({
|
|
11
|
+
name: 'litellm',
|
|
12
|
+
displayName: 'LiteLLM',
|
|
13
|
+
description: 'Universal gateway to 100+ LLM providers',
|
|
14
|
+
defaultBaseUrl: 'http://localhost:4000',
|
|
15
|
+
requiresAuth: false,
|
|
16
|
+
authType: 'api-key',
|
|
17
|
+
priority: 14,
|
|
18
|
+
defaultProfileName: 'litellm',
|
|
19
|
+
recommendedModels: [
|
|
20
|
+
'claude-4-5-sonnet'
|
|
21
|
+
],
|
|
22
|
+
capabilities: ['streaming', 'tools', 'function-calling'],
|
|
23
|
+
supportsModelInstallation: false,
|
|
24
|
+
supportsStreaming: true,
|
|
25
|
+
envMapping: {
|
|
26
|
+
// LiteLLM is a universal proxy - set all common env vars for compatibility
|
|
27
|
+
baseUrl: ['OPENAI_BASE_URL', 'ANTHROPIC_BASE_URL', 'GOOGLE_GEMINI_BASE_URL'],
|
|
28
|
+
apiKey: ['OPENAI_API_KEY', 'ANTHROPIC_AUTH_TOKEN', 'GEMINI_API_KEY'],
|
|
29
|
+
model: ['OPENAI_MODEL', 'ANTHROPIC_MODEL', 'GEMINI_MODEL']
|
|
30
|
+
},
|
|
31
|
+
setupInstructions: `
|
|
32
|
+
# LiteLLM Setup Instructions
|
|
33
|
+
|
|
34
|
+
## Installation
|
|
35
|
+
|
|
36
|
+
\`\`\`bash
|
|
37
|
+
# Install LiteLLM
|
|
38
|
+
pip install litellm[proxy]
|
|
39
|
+
|
|
40
|
+
# Start proxy server
|
|
41
|
+
litellm --port 4000
|
|
42
|
+
\`\`\`
|
|
43
|
+
|
|
44
|
+
## Docker
|
|
45
|
+
|
|
46
|
+
\`\`\`bash
|
|
47
|
+
docker run -p 4000:4000 ghcr.io/berriai/litellm:main-latest
|
|
48
|
+
\`\`\`
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## Documentation
|
|
52
|
+
|
|
53
|
+
- LiteLLM Documentation: https://docs.litellm.ai/
|
|
54
|
+
- Supported Models: https://docs.litellm.ai/docs/providers
|
|
55
|
+
- Proxy Server: https://docs.litellm.ai/docs/simple_proxy
|
|
56
|
+
- GitHub: https://github.com/BerriAI/litellm
|
|
57
|
+
`
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=litellm.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"litellm.template.js","sourceRoot":"","sources":["../../../../src/providers/plugins/litellm/litellm.template.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAmB;IAChE,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,yCAAyC;IACtD,cAAc,EAAE,uBAAuB;IACvC,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,EAAE;IACZ,kBAAkB,EAAE,SAAS;IAC7B,iBAAiB,EAAE;QACjB,mBAAmB;KACpB;IACD,YAAY,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,kBAAkB,CAAC;IACxD,yBAAyB,EAAE,KAAK;IAChC,iBAAiB,EAAE,IAAI;IACvB,UAAU,EAAE;QACV,2EAA2E;QAC3E,OAAO,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,wBAAwB,CAAC;QAC5E,MAAM,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC;QACpE,KAAK,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,cAAc,CAAC;KAC3D;IACD,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BpB;CACA,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Provider - Complete Provider Implementation
|
|
3
|
+
*
|
|
4
|
+
* All Ollama-related code in one place for easy maintenance.
|
|
5
|
+
* Auto-registers with ProviderRegistry on import.
|
|
6
|
+
*/
|
|
7
|
+
export { OllamaTemplate } from './ollama.template.js';
|
|
8
|
+
export { OllamaHealthCheck } from './ollama.health.js';
|
|
9
|
+
export { OllamaModelProxy } from './ollama.models.js';
|
|
10
|
+
export { OllamaSetupSteps } from './ollama.setup-steps.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Provider - Complete Provider Implementation
|
|
3
|
+
*
|
|
4
|
+
* All Ollama-related code in one place for easy maintenance.
|
|
5
|
+
* Auto-registers with ProviderRegistry on import.
|
|
6
|
+
*/
|
|
7
|
+
export { OllamaTemplate } from './ollama.template.js';
|
|
8
|
+
export { OllamaHealthCheck } from './ollama.health.js';
|
|
9
|
+
export { OllamaModelProxy } from './ollama.models.js';
|
|
10
|
+
export { OllamaSetupSteps } from './ollama.setup-steps.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Health Check Implementation
|
|
3
|
+
*
|
|
4
|
+
* Validates Ollama runtime availability and functionality.
|
|
5
|
+
* Uses BaseHealthCheck for common patterns, delegates to OllamaModelProxy for model operations.
|
|
6
|
+
*/
|
|
7
|
+
import type { ModelInfo } from '../../core/types.js';
|
|
8
|
+
import { BaseHealthCheck } from '../../core/base/BaseHealthCheck.js';
|
|
9
|
+
/**
|
|
10
|
+
* Health check implementation for Ollama
|
|
11
|
+
* Extends BaseHealthCheck for common patterns, delegates to OllamaModelProxy for model operations
|
|
12
|
+
*/
|
|
13
|
+
export declare class OllamaHealthCheck extends BaseHealthCheck {
|
|
14
|
+
private modelProxy;
|
|
15
|
+
constructor(baseUrl?: string);
|
|
16
|
+
/**
|
|
17
|
+
* Ping Ollama to check if it's running
|
|
18
|
+
* Uses healthCheckEndpoint from template
|
|
19
|
+
*/
|
|
20
|
+
protected ping(): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Get Ollama version
|
|
23
|
+
*/
|
|
24
|
+
protected getVersion(): Promise<string | undefined>;
|
|
25
|
+
/**
|
|
26
|
+
* List available models
|
|
27
|
+
* Delegates to OllamaModelProxy to avoid code duplication
|
|
28
|
+
*/
|
|
29
|
+
listModels(): Promise<ModelInfo[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Custom unreachable message with installation instructions
|
|
32
|
+
*/
|
|
33
|
+
protected getUnreachableResult(): {
|
|
34
|
+
provider: string;
|
|
35
|
+
status: "unreachable";
|
|
36
|
+
message: string;
|
|
37
|
+
remediation: string;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Custom healthy message
|
|
41
|
+
*/
|
|
42
|
+
protected getHealthyMessage(models: ModelInfo[]): string;
|
|
43
|
+
/**
|
|
44
|
+
* Custom no-models remediation
|
|
45
|
+
*/
|
|
46
|
+
protected getNoModelsRemediation(): string;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=ollama.health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.health.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.health.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAYrE;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,UAAU,CAAmB;gBAEzB,OAAO,GAAE,MAAsC;IAS3D;;;OAGG;cACa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;cACa,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAWzD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIxC;;OAEG;IACH,SAAS,CAAC,oBAAoB;;;;;;IAiB9B;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM;IAMxD;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,MAAM;CAG3C"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Health Check Implementation
|
|
3
|
+
*
|
|
4
|
+
* Validates Ollama runtime availability and functionality.
|
|
5
|
+
* Uses BaseHealthCheck for common patterns, delegates to OllamaModelProxy for model operations.
|
|
6
|
+
*/
|
|
7
|
+
import { BaseHealthCheck } from '../../core/base/BaseHealthCheck.js';
|
|
8
|
+
import { ProviderRegistry } from '../../core/registry.js';
|
|
9
|
+
import { OllamaTemplate } from './ollama.template.js';
|
|
10
|
+
import { OllamaModelProxy } from './ollama.models.js';
|
|
11
|
+
/**
|
|
12
|
+
* Health check implementation for Ollama
|
|
13
|
+
* Extends BaseHealthCheck for common patterns, delegates to OllamaModelProxy for model operations
|
|
14
|
+
*/
|
|
15
|
+
export class OllamaHealthCheck extends BaseHealthCheck {
|
|
16
|
+
modelProxy;
|
|
17
|
+
constructor(baseUrl = OllamaTemplate.defaultBaseUrl) {
|
|
18
|
+
super({
|
|
19
|
+
provider: 'ollama',
|
|
20
|
+
baseUrl,
|
|
21
|
+
timeout: 5000
|
|
22
|
+
});
|
|
23
|
+
this.modelProxy = new OllamaModelProxy(baseUrl);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Ping Ollama to check if it's running
|
|
27
|
+
* Uses healthCheckEndpoint from template
|
|
28
|
+
*/
|
|
29
|
+
async ping() {
|
|
30
|
+
await this.client.get(`${this.config.baseUrl}${OllamaTemplate.healthCheckEndpoint}`);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get Ollama version
|
|
34
|
+
*/
|
|
35
|
+
async getVersion() {
|
|
36
|
+
try {
|
|
37
|
+
const response = await this.client.get(`${this.config.baseUrl}/api/version`);
|
|
38
|
+
return response.data.version;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return 'unknown';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* List available models
|
|
46
|
+
* Delegates to OllamaModelProxy to avoid code duplication
|
|
47
|
+
*/
|
|
48
|
+
async listModels() {
|
|
49
|
+
return this.modelProxy.listModels();
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Custom unreachable message with installation instructions
|
|
53
|
+
*/
|
|
54
|
+
getUnreachableResult() {
|
|
55
|
+
return {
|
|
56
|
+
provider: 'ollama',
|
|
57
|
+
status: 'unreachable',
|
|
58
|
+
message: 'Ollama is not running',
|
|
59
|
+
remediation: `Start Ollama:
|
|
60
|
+
- macOS/Linux: ollama serve
|
|
61
|
+
- Windows: Start Ollama from Start Menu
|
|
62
|
+
- Docker: docker start ollama
|
|
63
|
+
|
|
64
|
+
Or install Ollama:
|
|
65
|
+
- macOS: https://ollama.com/download/mac
|
|
66
|
+
- Linux: curl -fsSL https://ollama.com/install.sh | sh
|
|
67
|
+
- Windows: https://ollama.com/download`
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Custom healthy message
|
|
72
|
+
*/
|
|
73
|
+
getHealthyMessage(models) {
|
|
74
|
+
return models.length > 0
|
|
75
|
+
? `Ollama is running with ${models.length} model(s) installed`
|
|
76
|
+
: 'Ollama is running but no models installed';
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Custom no-models remediation
|
|
80
|
+
*/
|
|
81
|
+
getNoModelsRemediation() {
|
|
82
|
+
return 'Install a model: codemie models install ollama/llama3.2';
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Auto-register health check
|
|
86
|
+
ProviderRegistry.registerHealthCheck('ollama', new OllamaHealthCheck());
|
|
87
|
+
//# sourceMappingURL=ollama.health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.health.js","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.health.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAStD;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IAC5C,UAAU,CAAmB;IAErC,YAAY,UAAkB,cAAc,CAAC,cAAc;QACzD,KAAK,CAAC;YACJ,QAAQ,EAAE,QAAQ;YAClB,OAAO;YACP,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,IAAI;QAClB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,UAAU;QACxB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,cAAc,CACrC,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACO,oBAAoB;QAC5B,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,aAAsB;YAC9B,OAAO,EAAE,uBAAuB;YAChC,WAAW,EAAE;;;;;;;;yCAQsB;SACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,iBAAiB,CAAC,MAAmB;QAC7C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,0BAA0B,MAAM,CAAC,MAAM,qBAAqB;YAC9D,CAAC,CAAC,2CAA2C,CAAC;IAClD,CAAC;IAED;;OAEG;IACO,sBAAsB;QAC9B,OAAO,yDAAyD,CAAC;IACnE,CAAC;CACF;AAED,6BAA6B;AAC7B,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,iBAAiB,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
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 type { CodeMieConfigOptions } from '../../../env/types.js';
|
|
8
|
+
import type { ModelInfo, InstallProgress } from '../../core/types.js';
|
|
9
|
+
import { BaseModelProxy } from '../../core/base/BaseModelProxy.js';
|
|
10
|
+
/**
|
|
11
|
+
* Unified Ollama model management
|
|
12
|
+
* Extends BaseModelProxy for common patterns
|
|
13
|
+
*/
|
|
14
|
+
export declare class OllamaModelProxy extends BaseModelProxy {
|
|
15
|
+
constructor(baseUrl?: string);
|
|
16
|
+
/**
|
|
17
|
+
* Check if this proxy supports the given provider
|
|
18
|
+
*/
|
|
19
|
+
supports(provider: string): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Ollama supports model installation
|
|
22
|
+
*/
|
|
23
|
+
supportsInstallation(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* List installed models
|
|
26
|
+
*/
|
|
27
|
+
listModels(): Promise<ModelInfo[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Fetch available models (for setup/discovery)
|
|
30
|
+
* Returns installed coding models if available, otherwise returns recommended models from template
|
|
31
|
+
*/
|
|
32
|
+
fetchModels(config: CodeMieConfigOptions): Promise<ModelInfo[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Install model with progress tracking
|
|
35
|
+
* Streams real-time progress from Ollama API
|
|
36
|
+
*/
|
|
37
|
+
installModel(modelName: string, onProgress?: (status: InstallProgress) => void): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Remove model
|
|
40
|
+
*/
|
|
41
|
+
removeModel(modelName: string): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Get detailed model information
|
|
44
|
+
*/
|
|
45
|
+
getModelInfo(modelName: string): Promise<ModelInfo | null>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=ollama.models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.models.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAwEnE;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;gBACtC,OAAO,GAAE,MAAsC;IAI3D;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAmBxC;;;OAGG;IACG,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA+CrE;;;OAGG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAsEpG;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CA6BjE"}
|