steroids-cli 0.11.0 → 0.12.1

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.
Files changed (76) hide show
  1. package/dist/commands/ai.js +5 -5
  2. package/dist/commands/ai.js.map +1 -1
  3. package/dist/commands/config.js +8 -10
  4. package/dist/commands/config.js.map +1 -1
  5. package/dist/commands/llm.d.ts.map +1 -1
  6. package/dist/commands/llm.js +1 -0
  7. package/dist/commands/llm.js.map +1 -1
  8. package/dist/commands/status.d.ts +6 -0
  9. package/dist/commands/status.d.ts.map +1 -0
  10. package/dist/commands/status.js +255 -0
  11. package/dist/commands/status.js.map +1 -0
  12. package/dist/commands/web-config.d.ts +9 -0
  13. package/dist/commands/web-config.d.ts.map +1 -0
  14. package/dist/commands/web-config.js +97 -0
  15. package/dist/commands/web-config.js.map +1 -0
  16. package/dist/config/ai-setup.d.ts +1 -2
  17. package/dist/config/ai-setup.d.ts.map +1 -1
  18. package/dist/config/ai-setup.js +1 -1
  19. package/dist/config/ai-setup.js.map +1 -1
  20. package/dist/config/loader.d.ts +2 -1
  21. package/dist/config/loader.d.ts.map +1 -1
  22. package/dist/config/loader.js +3 -1
  23. package/dist/config/loader.js.map +1 -1
  24. package/dist/config/provider-names.d.ts +9 -0
  25. package/dist/config/provider-names.d.ts.map +1 -0
  26. package/dist/config/provider-names.js +11 -0
  27. package/dist/config/provider-names.js.map +1 -0
  28. package/dist/config/schema.d.ts.map +1 -1
  29. package/dist/config/schema.js +4 -3
  30. package/dist/config/schema.js.map +1 -1
  31. package/dist/huggingface/hub-client.js +1 -1
  32. package/dist/huggingface/hub-client.js.map +1 -1
  33. package/dist/index.js +6 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/providers/api-models.d.ts +7 -19
  36. package/dist/providers/api-models.d.ts.map +1 -1
  37. package/dist/providers/api-models.js +6 -162
  38. package/dist/providers/api-models.js.map +1 -1
  39. package/dist/providers/index.d.ts +2 -3
  40. package/dist/providers/index.d.ts.map +1 -1
  41. package/dist/providers/index.js +5 -10
  42. package/dist/providers/index.js.map +1 -1
  43. package/dist/providers/interface.d.ts +1 -1
  44. package/dist/providers/interface.d.ts.map +1 -1
  45. package/dist/providers/opencode.d.ts +34 -0
  46. package/dist/providers/opencode.d.ts.map +1 -0
  47. package/dist/providers/opencode.js +365 -0
  48. package/dist/providers/opencode.js.map +1 -0
  49. package/dist/providers/registry.d.ts.map +1 -1
  50. package/dist/providers/registry.js +2 -8
  51. package/dist/providers/registry.js.map +1 -1
  52. package/package.json +1 -1
  53. package/dist/providers/huggingface.d.ts +0 -40
  54. package/dist/providers/huggingface.d.ts.map +0 -1
  55. package/dist/providers/huggingface.js +0 -391
  56. package/dist/providers/huggingface.js.map +0 -1
  57. package/dist/providers/minimax.d.ts +0 -50
  58. package/dist/providers/minimax.d.ts.map +0 -1
  59. package/dist/providers/minimax.js +0 -248
  60. package/dist/providers/minimax.js.map +0 -1
  61. package/dist/providers/ollama-error-utils.d.ts +0 -12
  62. package/dist/providers/ollama-error-utils.d.ts.map +0 -1
  63. package/dist/providers/ollama-error-utils.js +0 -60
  64. package/dist/providers/ollama-error-utils.js.map +0 -1
  65. package/dist/providers/ollama-utils.d.ts +0 -17
  66. package/dist/providers/ollama-utils.d.ts.map +0 -1
  67. package/dist/providers/ollama-utils.js +0 -115
  68. package/dist/providers/ollama-utils.js.map +0 -1
  69. package/dist/providers/ollama.d.ts +0 -31
  70. package/dist/providers/ollama.d.ts.map +0 -1
  71. package/dist/providers/ollama.js +0 -418
  72. package/dist/providers/ollama.js.map +0 -1
  73. package/dist/providers/openai.d.ts +0 -53
  74. package/dist/providers/openai.d.ts.map +0 -1
  75. package/dist/providers/openai.js +0 -236
  76. package/dist/providers/openai.js.map +0 -1
@@ -1,248 +0,0 @@
1
- "use strict";
2
- /**
3
- * MiniMax Provider
4
- * Implementation for MiniMax API
5
- * https://api.minimax.chat/v1/text/chat_completion_v2
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.MiniMaxProvider = void 0;
9
- exports.createMiniMaxProvider = createMiniMaxProvider;
10
- const node_https_1 = require("node:https");
11
- const interface_js_1 = require("./interface.js");
12
- /**
13
- * Static list of common MiniMax models
14
- */
15
- const MINIMAX_MODELS = [
16
- {
17
- id: 'abab6.5-chat',
18
- name: 'abab6.5-chat',
19
- recommendedFor: ['coder', 'reviewer'],
20
- supportsStreaming: true,
21
- },
22
- {
23
- id: 'abab6.5s-chat',
24
- name: 'abab6.5s-chat',
25
- recommendedFor: ['coder'],
26
- supportsStreaming: true,
27
- },
28
- {
29
- id: 'abab6-chat',
30
- name: 'abab6-chat',
31
- recommendedFor: [],
32
- supportsStreaming: true,
33
- },
34
- ];
35
- /**
36
- * Default models per role
37
- */
38
- const DEFAULT_MODELS = {
39
- orchestrator: 'abab6.5-chat',
40
- coder: 'abab6.5-chat',
41
- reviewer: 'abab6.5-chat',
42
- };
43
- /**
44
- * MiniMax AI Provider implementation
45
- */
46
- class MiniMaxProvider extends interface_js_1.BaseAIProvider {
47
- name = 'minimax';
48
- displayName = 'MiniMax';
49
- apiKey;
50
- groupId;
51
- dynamicModels = [];
52
- constructor() {
53
- super();
54
- this.apiKey = process.env.STEROIDS_MINIMAX;
55
- this.groupId = process.env.STEROIDS_MINIMAX_GROUP_ID || process.env.MINIMAX_GROUP_ID;
56
- }
57
- /**
58
- * Fetch available models from MiniMax API
59
- */
60
- async initialize() {
61
- if (!this.apiKey)
62
- return;
63
- return new Promise((resolve) => {
64
- const requestOptions = {
65
- hostname: 'api.minimax.chat',
66
- port: 443,
67
- path: '/v1/models', // Standard models endpoint
68
- method: 'GET',
69
- headers: {
70
- 'Authorization': `Bearer ${this.apiKey}`,
71
- },
72
- };
73
- const req = (0, node_https_1.request)(requestOptions, (res) => {
74
- let body = '';
75
- res.on('data', (chunk) => body += chunk);
76
- res.on('end', () => {
77
- try {
78
- if (res.statusCode === 200) {
79
- const data = JSON.parse(body);
80
- if (data.data && Array.isArray(data.data)) {
81
- this.dynamicModels = data.data.map((m) => ({
82
- id: m.id,
83
- name: m.id,
84
- recommendedFor: m.id.includes('chat') ? ['coder', 'reviewer'] : [],
85
- supportsStreaming: true,
86
- }));
87
- }
88
- }
89
- resolve();
90
- }
91
- catch {
92
- resolve();
93
- }
94
- });
95
- });
96
- req.on('error', () => resolve());
97
- req.end();
98
- // Timeout for initialization
99
- setTimeout(() => {
100
- req.destroy();
101
- resolve();
102
- }, 5000);
103
- });
104
- }
105
- /**
106
- * MiniMax is API-only, so isAvailable checks for API key
107
- */
108
- async isAvailable() {
109
- return !!this.apiKey;
110
- }
111
- /**
112
- * Invoke MiniMax API
113
- */
114
- async invoke(prompt, options) {
115
- if (!this.apiKey) {
116
- throw new Error('MiniMax API key not found. Set STEROIDS_MINIMAX environment variable.');
117
- }
118
- const startTime = Date.now();
119
- const model = options.model;
120
- const onActivity = options.onActivity;
121
- return new Promise((resolve) => {
122
- const postData = JSON.stringify({
123
- model: model,
124
- messages: [{ role: 'user', content: prompt }],
125
- // tokens_to_generate is optional, default is usually enough
126
- });
127
- const requestOptions = {
128
- hostname: 'api.minimax.chat',
129
- port: 443,
130
- path: '/v1/text/chat_completion_v2',
131
- method: 'POST',
132
- headers: {
133
- 'Authorization': `Bearer ${this.apiKey}`,
134
- 'Content-Type': 'application/json',
135
- },
136
- };
137
- const req = (0, node_https_1.request)(requestOptions, (res) => {
138
- let responseBody = '';
139
- res.on('data', (chunk) => {
140
- responseBody += chunk;
141
- });
142
- res.on('end', () => {
143
- const duration = Date.now() - startTime;
144
- try {
145
- const result = JSON.parse(responseBody);
146
- if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
147
- const content = result.choices?.[0]?.message?.content || '';
148
- const usage = result.usage ? {
149
- inputTokens: result.usage.prompt_tokens,
150
- outputTokens: result.usage.completion_tokens,
151
- } : undefined;
152
- resolve({
153
- success: true,
154
- exitCode: 0,
155
- stdout: content,
156
- stderr: '',
157
- duration,
158
- timedOut: false,
159
- tokenUsage: usage,
160
- });
161
- }
162
- else {
163
- resolve({
164
- success: false,
165
- exitCode: res.statusCode || 1,
166
- stdout: '',
167
- stderr: result.base_resp?.status_msg || responseBody,
168
- duration,
169
- timedOut: false,
170
- });
171
- }
172
- }
173
- catch (e) {
174
- resolve({
175
- success: false,
176
- exitCode: 1,
177
- stdout: '',
178
- stderr: `Failed to parse MiniMax response: ${e}
179
-
180
- Raw response: ${responseBody}`,
181
- duration,
182
- timedOut: false,
183
- });
184
- }
185
- });
186
- });
187
- req.on('error', (e) => {
188
- resolve({
189
- success: false,
190
- exitCode: 1,
191
- stdout: '',
192
- stderr: `MiniMax request error: ${e.message}`,
193
- duration: Date.now() - startTime,
194
- timedOut: false,
195
- });
196
- });
197
- req.write(postData);
198
- req.end();
199
- // Implement timeout
200
- if (options.timeout) {
201
- setTimeout(() => {
202
- req.destroy();
203
- resolve({
204
- success: false,
205
- exitCode: 1,
206
- stdout: '',
207
- stderr: 'MiniMax request timed out',
208
- duration: Date.now() - startTime,
209
- timedOut: true,
210
- });
211
- }, options.timeout);
212
- }
213
- });
214
- }
215
- /**
216
- * List models
217
- */
218
- listModels() {
219
- const models = this.dynamicModels.length > 0 ? this.dynamicModels : MINIMAX_MODELS;
220
- return models.map((m) => m.id);
221
- }
222
- /**
223
- * Get model info
224
- */
225
- getModelInfo() {
226
- return this.dynamicModels.length > 0 ? [...this.dynamicModels] : [...MINIMAX_MODELS];
227
- }
228
- /**
229
- * Get default model
230
- */
231
- getDefaultModel(role) {
232
- return DEFAULT_MODELS[role];
233
- }
234
- /**
235
- * API-only provider doesn't use CLI templates
236
- */
237
- getDefaultInvocationTemplate() {
238
- return '';
239
- }
240
- }
241
- exports.MiniMaxProvider = MiniMaxProvider;
242
- /**
243
- * Create a MiniMax provider instance
244
- */
245
- function createMiniMaxProvider() {
246
- return new MiniMaxProvider();
247
- }
248
- //# sourceMappingURL=minimax.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"minimax.js","sourceRoot":"","sources":["../../src/providers/minimax.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { OllamaConnectionMode } from '../ollama/connection.js';
2
- export declare function isAbortError(error: unknown): boolean;
3
- export declare function formatOllamaHttpError(status: number, responseBody: string, model: string): string;
4
- export declare function formatOllamaInvocationError(error: unknown, context: {
5
- hostPort: string;
6
- model: string;
7
- coldStartTimedOut: boolean;
8
- timeoutMs: number;
9
- mode: OllamaConnectionMode;
10
- }): string;
11
- export declare function resolveOllamaHostPort(endpoint: string): string;
12
- //# sourceMappingURL=ollama-error-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ollama-error-utils.d.ts","sourceRoot":"","sources":["../../src/providers/ollama-error-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGpD;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,MAAM,CAeR;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,oBAAoB,CAAC;CAC5B,GACA,MAAM,CAyBR;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO9D"}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAbortError = isAbortError;
4
- exports.formatOllamaHttpError = formatOllamaHttpError;
5
- exports.formatOllamaInvocationError = formatOllamaInvocationError;
6
- exports.resolveOllamaHostPort = resolveOllamaHostPort;
7
- function isAbortError(error) {
8
- if (error instanceof Error && error.name === 'AbortError')
9
- return true;
10
- return typeof error === 'object' && error !== null && error.name === 'AbortError';
11
- }
12
- function formatOllamaHttpError(status, responseBody, model) {
13
- const body = responseBody.toLowerCase();
14
- if (status === 401) {
15
- return 'Ollama API key rejected. Check OLLAMA_API_KEY.';
16
- }
17
- if (status === 404) {
18
- return `Model '${model}' not found on Ollama. Run: ollama pull ${model}`;
19
- }
20
- if (status === 500 && body.includes('model requires more system memory')) {
21
- return `Insufficient VRAM for model '${model}'.`;
22
- }
23
- if (status >= 500) {
24
- return `Ollama server error (${status}).`;
25
- }
26
- return `Ollama request failed (${status}).`;
27
- }
28
- function formatOllamaInvocationError(error, context) {
29
- if (context.coldStartTimedOut) {
30
- return `Ollama model '${context.model}' is taking too long to load. It may be too large for available VRAM.`;
31
- }
32
- if (isAbortError(error)) {
33
- return `Ollama request timed out after ${context.timeoutMs}ms`;
34
- }
35
- const message = error instanceof Error ? error.message : String(error);
36
- const lower = message.toLowerCase();
37
- if (lower.includes('econnrefused') || lower.includes('connection refused') || lower.includes('fetch failed')) {
38
- return `Cannot connect to Ollama at ${context.hostPort}. Is Ollama running?`;
39
- }
40
- if (lower.includes('model not found')) {
41
- return `Model '${context.model}' not found on Ollama. Run: ollama pull ${context.model}`;
42
- }
43
- if (lower.includes('model requires more system memory') || lower.includes('insufficient memory')) {
44
- return `Insufficient VRAM for model '${context.model}'.`;
45
- }
46
- if (context.mode === 'cloud' && (lower.includes('401') || lower.includes('unauthorized'))) {
47
- return 'Ollama API key rejected. Check OLLAMA_API_KEY.';
48
- }
49
- return message;
50
- }
51
- function resolveOllamaHostPort(endpoint) {
52
- try {
53
- const url = new URL(endpoint);
54
- return `${url.hostname}:${url.port || (url.protocol === 'https:' ? '443' : '80')}`;
55
- }
56
- catch {
57
- return endpoint;
58
- }
59
- }
60
- //# sourceMappingURL=ollama-error-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ollama-error-utils.js","sourceRoot":"","sources":["../../src/providers/ollama-error-utils.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import type { ModelInfo } from './interface.js';
2
- export type SemaphoreRelease = () => void;
3
- export declare class EndpointSemaphore {
4
- private maxConcurrent;
5
- private inUse;
6
- private queue;
7
- constructor(maxConcurrent: number);
8
- setMaxConcurrent(maxConcurrent: number): void;
9
- acquire(timeoutMs: number): Promise<SemaphoreRelease>;
10
- private buildRelease;
11
- private drainQueue;
12
- }
13
- export declare function normalizePositiveInt(value: unknown): number | undefined;
14
- export declare function recommendRoles(modelId: string): Array<'orchestrator' | 'coder' | 'reviewer'>;
15
- export declare function extractContextLength(modelInfo?: Record<string, unknown>): number | undefined;
16
- export declare const OLLAMA_FALLBACK_MODELS: ModelInfo[];
17
- //# sourceMappingURL=ollama-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ollama-utils.d.ts","sourceRoot":"","sources":["../../src/providers/ollama-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC;AAE1C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAIL;gBAEI,aAAa,EAAE,MAAM;IAIjC,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAKvC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgB3D,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,UAAU;CAWnB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWvE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,GAAG,OAAO,GAAG,UAAU,CAAC,CAS5F;AAED,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAiB5F;AAED,eAAO,MAAM,sBAAsB,EAAE,SAAS,EAsB7C,CAAC"}
@@ -1,115 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OLLAMA_FALLBACK_MODELS = exports.EndpointSemaphore = void 0;
4
- exports.normalizePositiveInt = normalizePositiveInt;
5
- exports.recommendRoles = recommendRoles;
6
- exports.extractContextLength = extractContextLength;
7
- class EndpointSemaphore {
8
- maxConcurrent;
9
- inUse = 0;
10
- queue = [];
11
- constructor(maxConcurrent) {
12
- this.maxConcurrent = Math.max(1, maxConcurrent);
13
- }
14
- setMaxConcurrent(maxConcurrent) {
15
- this.maxConcurrent = Math.max(1, maxConcurrent);
16
- this.drainQueue();
17
- }
18
- async acquire(timeoutMs) {
19
- if (this.inUse < this.maxConcurrent) {
20
- this.inUse += 1;
21
- return this.buildRelease();
22
- }
23
- return new Promise((resolve, reject) => {
24
- const timer = setTimeout(() => {
25
- this.queue = this.queue.filter((entry) => entry.reject !== reject);
26
- reject(new Error(`All Ollama slots busy after waiting ${timeoutMs}ms`));
27
- }, Math.max(1, timeoutMs));
28
- this.queue.push({ resolve, reject, timer });
29
- });
30
- }
31
- buildRelease() {
32
- let released = false;
33
- return () => {
34
- if (released) {
35
- return;
36
- }
37
- released = true;
38
- this.inUse = Math.max(0, this.inUse - 1);
39
- this.drainQueue();
40
- };
41
- }
42
- drainQueue() {
43
- while (this.inUse < this.maxConcurrent && this.queue.length > 0) {
44
- const next = this.queue.shift();
45
- if (!next) {
46
- continue;
47
- }
48
- clearTimeout(next.timer);
49
- this.inUse += 1;
50
- next.resolve(this.buildRelease());
51
- }
52
- }
53
- }
54
- exports.EndpointSemaphore = EndpointSemaphore;
55
- function normalizePositiveInt(value) {
56
- if (typeof value === 'number' && Number.isFinite(value) && value > 0) {
57
- return Math.floor(value);
58
- }
59
- if (typeof value === 'string') {
60
- const parsed = Number.parseInt(value, 10);
61
- if (Number.isFinite(parsed) && parsed > 0) {
62
- return parsed;
63
- }
64
- }
65
- return undefined;
66
- }
67
- function recommendRoles(modelId) {
68
- const lower = modelId.toLowerCase();
69
- if (lower.includes('coder') || lower.includes('code')) {
70
- return ['coder', 'reviewer'];
71
- }
72
- if (lower.includes('instruct') || lower.includes('chat')) {
73
- return ['orchestrator', 'reviewer'];
74
- }
75
- return [];
76
- }
77
- function extractContextLength(modelInfo) {
78
- if (!modelInfo || typeof modelInfo !== 'object') {
79
- return undefined;
80
- }
81
- for (const value of Object.values(modelInfo)) {
82
- if (!value || typeof value !== 'object') {
83
- continue;
84
- }
85
- const candidate = value.context_length;
86
- if (typeof candidate === 'number' && Number.isFinite(candidate) && candidate > 0) {
87
- return Math.floor(candidate);
88
- }
89
- }
90
- return undefined;
91
- }
92
- exports.OLLAMA_FALLBACK_MODELS = [
93
- {
94
- id: 'qwen2.5-coder:32b',
95
- name: 'qwen2.5-coder:32b',
96
- recommendedFor: ['coder', 'reviewer'],
97
- supportsStreaming: true,
98
- contextWindow: 32768,
99
- },
100
- {
101
- id: 'deepseek-coder-v2:33b',
102
- name: 'deepseek-coder-v2:33b',
103
- recommendedFor: ['coder'],
104
- supportsStreaming: true,
105
- contextWindow: 32768,
106
- },
107
- {
108
- id: 'llama3.3:70b',
109
- name: 'llama3.3:70b',
110
- recommendedFor: ['orchestrator', 'reviewer'],
111
- supportsStreaming: true,
112
- contextWindow: 32768,
113
- },
114
- ];
115
- //# sourceMappingURL=ollama-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ollama-utils.js","sourceRoot":"","sources":["../../src/providers/ollama-utils.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { BaseAIProvider, type InvokeOptions, type InvokeResult, type ModelInfo, type ProviderError } from './interface.js';
2
- /**
3
- * Ollama AI Provider implementation
4
- */
5
- export declare class OllamaProvider extends BaseAIProvider {
6
- readonly name = "ollama";
7
- readonly displayName = "Ollama";
8
- private dynamicModels;
9
- private modelContextCache;
10
- private static semaphores;
11
- isAvailable(): Promise<boolean>;
12
- initialize(): Promise<void>;
13
- fetchModels(): Promise<void>;
14
- invoke(prompt: string, options: InvokeOptions): Promise<InvokeResult>;
15
- listModels(): string[];
16
- getModelInfo(): ModelInfo[];
17
- getDefaultModel(role: 'orchestrator' | 'coder' | 'reviewer'): string;
18
- getDefaultInvocationTemplate(): string;
19
- classifyError(exitCode: number, stderr: string): ProviderError | null;
20
- static resetSemaphoresForTests(): void;
21
- private consumeBuffer;
22
- private extractTokenUsage;
23
- private resolveEndpointConfig;
24
- private readProviderConfig;
25
- private acquireEndpointSlot;
26
- private buildHeaders;
27
- private resolveContextWindow;
28
- private resolveColdStartTimeoutMs;
29
- }
30
- export declare function createOllamaProvider(): OllamaProvider;
31
- //# sourceMappingURL=ollama.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../src/providers/ollama.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;AAsDxB;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,YAAY;IAEhC,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,MAAM,CAAC,UAAU,CAA6C;IAEhE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAU/B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC5B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAoN3E,UAAU,IAAI,MAAM,EAAE;IAKtB,YAAY,IAAI,SAAS,EAAE;IAO3B,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM;IAIpE,4BAA4B,IAAI,MAAM;IAI7B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAW9E,MAAM,CAAC,uBAAuB,IAAI,IAAI;IAItC,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,YAAY;YAWN,oBAAoB;IAyBlC,OAAO,CAAC,yBAAyB;CAGlC;AACD,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}