steroids-cli 0.11.0 → 0.12.0

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 (71) 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/status.d.ts +6 -0
  6. package/dist/commands/status.d.ts.map +1 -0
  7. package/dist/commands/status.js +255 -0
  8. package/dist/commands/status.js.map +1 -0
  9. package/dist/commands/web-config.d.ts +9 -0
  10. package/dist/commands/web-config.d.ts.map +1 -0
  11. package/dist/commands/web-config.js +97 -0
  12. package/dist/commands/web-config.js.map +1 -0
  13. package/dist/config/ai-setup.d.ts +1 -2
  14. package/dist/config/ai-setup.d.ts.map +1 -1
  15. package/dist/config/ai-setup.js +1 -1
  16. package/dist/config/ai-setup.js.map +1 -1
  17. package/dist/config/loader.d.ts +2 -1
  18. package/dist/config/loader.d.ts.map +1 -1
  19. package/dist/config/loader.js +3 -1
  20. package/dist/config/loader.js.map +1 -1
  21. package/dist/config/provider-names.d.ts +9 -0
  22. package/dist/config/provider-names.d.ts.map +1 -0
  23. package/dist/config/provider-names.js +11 -0
  24. package/dist/config/provider-names.js.map +1 -0
  25. package/dist/config/schema.d.ts.map +1 -1
  26. package/dist/config/schema.js +4 -3
  27. package/dist/config/schema.js.map +1 -1
  28. package/dist/huggingface/hub-client.js +1 -1
  29. package/dist/huggingface/hub-client.js.map +1 -1
  30. package/dist/providers/api-models.d.ts +7 -19
  31. package/dist/providers/api-models.d.ts.map +1 -1
  32. package/dist/providers/api-models.js +6 -162
  33. package/dist/providers/api-models.js.map +1 -1
  34. package/dist/providers/index.d.ts +2 -3
  35. package/dist/providers/index.d.ts.map +1 -1
  36. package/dist/providers/index.js +5 -10
  37. package/dist/providers/index.js.map +1 -1
  38. package/dist/providers/interface.d.ts +1 -1
  39. package/dist/providers/interface.d.ts.map +1 -1
  40. package/dist/providers/opencode.d.ts +34 -0
  41. package/dist/providers/opencode.d.ts.map +1 -0
  42. package/dist/providers/opencode.js +365 -0
  43. package/dist/providers/opencode.js.map +1 -0
  44. package/dist/providers/registry.d.ts.map +1 -1
  45. package/dist/providers/registry.js +2 -8
  46. package/dist/providers/registry.js.map +1 -1
  47. package/package.json +1 -1
  48. package/dist/providers/huggingface.d.ts +0 -40
  49. package/dist/providers/huggingface.d.ts.map +0 -1
  50. package/dist/providers/huggingface.js +0 -391
  51. package/dist/providers/huggingface.js.map +0 -1
  52. package/dist/providers/minimax.d.ts +0 -50
  53. package/dist/providers/minimax.d.ts.map +0 -1
  54. package/dist/providers/minimax.js +0 -248
  55. package/dist/providers/minimax.js.map +0 -1
  56. package/dist/providers/ollama-error-utils.d.ts +0 -12
  57. package/dist/providers/ollama-error-utils.d.ts.map +0 -1
  58. package/dist/providers/ollama-error-utils.js +0 -60
  59. package/dist/providers/ollama-error-utils.js.map +0 -1
  60. package/dist/providers/ollama-utils.d.ts +0 -17
  61. package/dist/providers/ollama-utils.d.ts.map +0 -1
  62. package/dist/providers/ollama-utils.js +0 -115
  63. package/dist/providers/ollama-utils.js.map +0 -1
  64. package/dist/providers/ollama.d.ts +0 -31
  65. package/dist/providers/ollama.d.ts.map +0 -1
  66. package/dist/providers/ollama.js +0 -418
  67. package/dist/providers/ollama.js.map +0 -1
  68. package/dist/providers/openai.d.ts +0 -53
  69. package/dist/providers/openai.d.ts.map +0 -1
  70. package/dist/providers/openai.js +0 -236
  71. package/dist/providers/openai.js.map +0 -1
@@ -1,391 +0,0 @@
1
- "use strict";
2
- /**
3
- * Hugging Face Provider
4
- * Routes prompts through Hugging Face's OpenAI-compatible router API.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.HuggingFaceProvider = void 0;
8
- exports.createHuggingFaceProvider = createHuggingFaceProvider;
9
- const interface_js_1 = require("./interface.js");
10
- const auth_js_1 = require("../huggingface/auth.js");
11
- const model_registry_js_1 = require("../huggingface/model-registry.js");
12
- const metrics_js_1 = require("../huggingface/metrics.js");
13
- const HF_ROUTER_URL = 'https://router.huggingface.co/v1/chat/completions';
14
- const DEFAULT_TIMEOUT_MS = 900_000;
15
- const DEFAULT_MODELS = [
16
- {
17
- id: 'deepseek-ai/DeepSeek-V3',
18
- name: 'DeepSeek V3',
19
- recommendedFor: ['coder', 'reviewer'],
20
- supportsStreaming: true,
21
- },
22
- {
23
- id: 'Qwen/Qwen2.5-Coder-32B-Instruct',
24
- name: 'Qwen 2.5 Coder 32B Instruct',
25
- recommendedFor: ['coder'],
26
- supportsStreaming: true,
27
- },
28
- {
29
- id: 'meta-llama/Llama-3.3-70B-Instruct',
30
- name: 'Llama 3.3 70B Instruct',
31
- recommendedFor: ['orchestrator', 'reviewer'],
32
- supportsStreaming: true,
33
- },
34
- ];
35
- const DEFAULT_MODELS_BY_ROLE = {
36
- orchestrator: 'deepseek-ai/DeepSeek-V3',
37
- coder: 'deepseek-ai/DeepSeek-V3',
38
- reviewer: 'Qwen/Qwen2.5-Coder-32B-Instruct',
39
- };
40
- class HuggingFaceProvider extends interface_js_1.BaseAIProvider {
41
- name = 'hf';
42
- displayName = 'Hugging Face Router';
43
- auth;
44
- registry;
45
- metrics;
46
- fetchImpl;
47
- dynamicModels = [];
48
- constructor(deps = {}) {
49
- super();
50
- this.auth = deps.auth ?? new auth_js_1.HuggingFaceTokenAuth();
51
- this.registry = deps.registry ?? new model_registry_js_1.HuggingFaceModelRegistry();
52
- this.metrics = deps.metrics ?? new metrics_js_1.HuggingFaceUsageMetrics({ registry: this.registry });
53
- this.fetchImpl = deps.fetchImpl ?? ((input, init) => fetch(input, init));
54
- }
55
- async initialize() {
56
- try {
57
- const token = this.auth.getToken() ?? undefined;
58
- const curated = await this.registry.getCuratedModels({ token });
59
- this.dynamicModels = curated.map((model) => ({
60
- id: model.id,
61
- name: model.id,
62
- supportsStreaming: true,
63
- }));
64
- }
65
- catch {
66
- this.dynamicModels = [];
67
- }
68
- }
69
- async isAvailable() {
70
- return Boolean(this.auth.getToken());
71
- }
72
- listModels() {
73
- const models = this.dynamicModels.length > 0 ? this.dynamicModels : DEFAULT_MODELS;
74
- return models.map((model) => model.id);
75
- }
76
- getModelInfo() {
77
- return this.dynamicModels.length > 0 ? [...this.dynamicModels] : [...DEFAULT_MODELS];
78
- }
79
- getDefaultModel(role) {
80
- return DEFAULT_MODELS_BY_ROLE[role];
81
- }
82
- getDefaultInvocationTemplate() {
83
- return '';
84
- }
85
- classifyError(exitCode, stderr) {
86
- if (exitCode === 0) {
87
- return null;
88
- }
89
- const lower = stderr.toLowerCase();
90
- if (lower.includes('gated model access denied') ||
91
- ((/\b401\b|\b403\b/.test(stderr)) && /gated|forbidden|access denied|request model access/.test(lower))) {
92
- return {
93
- type: 'auth_error',
94
- message: 'Gated model access denied',
95
- retryable: false,
96
- };
97
- }
98
- if (lower.includes('provider outage') ||
99
- ((/\b503\b/.test(stderr)) && /unavailable|outage|overloaded|capacity|temporary/.test(lower))) {
100
- return {
101
- type: 'unknown',
102
- message: 'Provider outage or temporary unavailability',
103
- retryable: false,
104
- };
105
- }
106
- return super.classifyError(exitCode, stderr);
107
- }
108
- async invoke(prompt, options) {
109
- const startedAt = Date.now();
110
- const token = this.auth.getToken();
111
- const timeoutMs = options.timeout ?? DEFAULT_TIMEOUT_MS;
112
- if (!token) {
113
- return {
114
- success: false,
115
- exitCode: 401,
116
- stdout: '',
117
- stderr: 'Hugging Face token not configured',
118
- duration: Date.now() - startedAt,
119
- timedOut: false,
120
- };
121
- }
122
- const controller = new AbortController();
123
- const timeoutHandle = setTimeout(() => controller.abort(), timeoutMs);
124
- try {
125
- const requestBody = {
126
- model: this.applyRoutingPolicy(options.model),
127
- messages: [{ role: 'user', content: prompt }],
128
- stream: true,
129
- };
130
- const response = await this.fetchImpl(HF_ROUTER_URL, {
131
- method: 'POST',
132
- headers: {
133
- Authorization: `Bearer ${token}`,
134
- 'Content-Type': 'application/json',
135
- Accept: 'text/event-stream',
136
- },
137
- body: JSON.stringify(requestBody),
138
- signal: controller.signal,
139
- });
140
- if (!response.ok) {
141
- const errorText = await safeReadText(response);
142
- const mappedError = mapHfRouterError({
143
- status: response.status,
144
- statusText: response.statusText,
145
- bodyText: errorText,
146
- });
147
- return {
148
- success: false,
149
- exitCode: response.status,
150
- stdout: '',
151
- stderr: mappedError,
152
- duration: Date.now() - startedAt,
153
- timedOut: false,
154
- };
155
- }
156
- if (!response.body) {
157
- return {
158
- success: false,
159
- exitCode: 1,
160
- stdout: '',
161
- stderr: 'Hugging Face router returned empty body',
162
- duration: Date.now() - startedAt,
163
- timedOut: false,
164
- };
165
- }
166
- const result = await this.parseSSEStream(response.body, startedAt);
167
- this.recordMetrics(requestBody.model, options.role, result.tokenUsage, response.headers);
168
- return result;
169
- }
170
- catch (error) {
171
- const timedOut = error instanceof Error && error.name === 'AbortError';
172
- return {
173
- success: false,
174
- exitCode: 1,
175
- stdout: '',
176
- stderr: timedOut
177
- ? 'Hugging Face router request timed out'
178
- : `Hugging Face router request failed: ${error instanceof Error ? error.message : 'unknown error'}`,
179
- duration: Date.now() - startedAt,
180
- timedOut,
181
- };
182
- }
183
- finally {
184
- clearTimeout(timeoutHandle);
185
- }
186
- }
187
- applyRoutingPolicy(model) {
188
- return model.includes(':') ? model : `${model}:fastest`;
189
- }
190
- async parseSSEStream(body, startedAt) {
191
- const reader = body.getReader();
192
- const decoder = new TextDecoder();
193
- let rawBuffer = '';
194
- let stdout = '';
195
- let tokenUsage;
196
- let seenDone = false;
197
- while (true) {
198
- const { done, value } = await reader.read();
199
- if (done)
200
- break;
201
- rawBuffer += decoder.decode(value, { stream: true });
202
- const parts = rawBuffer.split('\n\n');
203
- rawBuffer = parts.pop() ?? '';
204
- for (const part of parts) {
205
- const event = parseSSEEvent(part);
206
- if (!event)
207
- continue;
208
- const eventResult = this.handleSSEEvent(event);
209
- if (eventResult.done) {
210
- seenDone = true;
211
- return {
212
- success: true,
213
- exitCode: 0,
214
- stdout,
215
- stderr: '',
216
- duration: Date.now() - startedAt,
217
- timedOut: false,
218
- tokenUsage,
219
- };
220
- }
221
- if (eventResult.error) {
222
- return {
223
- success: false,
224
- exitCode: 1,
225
- stdout,
226
- stderr: eventResult.error,
227
- duration: Date.now() - startedAt,
228
- timedOut: false,
229
- };
230
- }
231
- if (eventResult.text) {
232
- stdout += eventResult.text;
233
- }
234
- if (eventResult.usage) {
235
- tokenUsage = eventResult.usage;
236
- }
237
- }
238
- }
239
- if (!seenDone) {
240
- return {
241
- success: false,
242
- exitCode: 1,
243
- stdout,
244
- stderr: 'Hugging Face SSE stream ended before [DONE]',
245
- duration: Date.now() - startedAt,
246
- timedOut: false,
247
- tokenUsage,
248
- };
249
- }
250
- return {
251
- success: true,
252
- exitCode: 0,
253
- stdout,
254
- stderr: '',
255
- duration: Date.now() - startedAt,
256
- timedOut: false,
257
- tokenUsage,
258
- };
259
- }
260
- handleSSEEvent(event) {
261
- if (event.data === '[DONE]') {
262
- return { done: true };
263
- }
264
- if (event.event === 'error') {
265
- const parsed = safeParseJson(event.data);
266
- const code = parsed?.error?.code;
267
- const message = parsed?.error?.message ?? event.data;
268
- return {
269
- error: mapHfRouterError({
270
- status: codeToStatusCode(code),
271
- bodyText: message,
272
- source: 'sse',
273
- }),
274
- };
275
- }
276
- const chunk = safeParseJson(event.data);
277
- if (!chunk)
278
- return {};
279
- if (chunk.error?.message) {
280
- return {
281
- error: mapHfRouterError({
282
- status: codeToStatusCode(chunk.error.code),
283
- bodyText: chunk.error.message,
284
- source: 'sse',
285
- }),
286
- };
287
- }
288
- const text = chunk.choices?.[0]?.delta?.content ??
289
- chunk.choices?.[0]?.message?.content ??
290
- '';
291
- const usage = chunk.usage
292
- ? {
293
- inputTokens: chunk.usage.prompt_tokens ?? 0,
294
- outputTokens: chunk.usage.completion_tokens ?? 0,
295
- }
296
- : undefined;
297
- return { text, usage };
298
- }
299
- recordMetrics(requestedModel, role, tokenUsage, headers) {
300
- if (!tokenUsage)
301
- return;
302
- try {
303
- this.metrics.recordInvocationUsage({
304
- requestedModel,
305
- role,
306
- tokenUsage,
307
- providerHint: (0, metrics_js_1.extractInferenceProviderFromHeaders)(headers),
308
- });
309
- }
310
- catch {
311
- // Metrics are best-effort and must not fail model invocation.
312
- }
313
- }
314
- }
315
- exports.HuggingFaceProvider = HuggingFaceProvider;
316
- function parseSSEEvent(rawBlock) {
317
- const lines = rawBlock.split('\n');
318
- let event = 'message';
319
- const dataParts = [];
320
- for (const rawLine of lines) {
321
- const line = rawLine.trimEnd();
322
- if (!line || line.startsWith(':'))
323
- continue;
324
- if (line.startsWith('event:')) {
325
- event = line.slice(6).trim() || 'message';
326
- continue;
327
- }
328
- if (line.startsWith('data:')) {
329
- dataParts.push(line.slice(5).trimStart());
330
- }
331
- }
332
- if (dataParts.length === 0)
333
- return null;
334
- return { event, data: dataParts.join('\n') };
335
- }
336
- function safeParseJson(value) {
337
- try {
338
- return JSON.parse(value);
339
- }
340
- catch {
341
- return null;
342
- }
343
- }
344
- async function safeReadText(response) {
345
- try {
346
- return await response.text();
347
- }
348
- catch {
349
- return '';
350
- }
351
- }
352
- function createHuggingFaceProvider() {
353
- return new HuggingFaceProvider();
354
- }
355
- function mapHfRouterError(input) {
356
- const source = input.source ?? 'http';
357
- const status = input.status;
358
- const statusText = input.statusText ?? '';
359
- const bodyText = (input.bodyText ?? '').trim();
360
- const message = `${status ?? ''} ${statusText} ${bodyText}`.toLowerCase();
361
- if (status === 402 || /insufficient|credit|quota|payment required/.test(message)) {
362
- return `Hugging Face ${source} error: credits exhausted. Add credits in https://huggingface.co/settings/billing.`;
363
- }
364
- if (status === 429 || /rate.?limit|too many requests/.test(message)) {
365
- return `Hugging Face ${source} error: rate limit exceeded (429). Retry after a short backoff.`;
366
- }
367
- if (status === 401 ||
368
- status === 403 ||
369
- /gated|access denied|forbidden|not authorized|authorization required|request access/.test(message)) {
370
- return `Hugging Face ${source} error: gated model access denied. Request model access and verify token read/inference scopes.`;
371
- }
372
- if (status === 503 || /unavailable|overloaded|provider down|capacity/.test(message)) {
373
- return `Hugging Face ${source} error: provider outage or temporary unavailability (503).`;
374
- }
375
- if (bodyText) {
376
- return `Hugging Face ${source} error (${status ?? 'unknown'}): ${bodyText}`;
377
- }
378
- return `Hugging Face ${source} error (${status ?? 'unknown'})`;
379
- }
380
- function codeToStatusCode(code) {
381
- if (typeof code === 'number' && Number.isFinite(code)) {
382
- return code;
383
- }
384
- if (typeof code === 'string') {
385
- const parsed = Number.parseInt(code, 10);
386
- if (Number.isFinite(parsed))
387
- return parsed;
388
- }
389
- return undefined;
390
- }
391
- //# sourceMappingURL=huggingface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"huggingface.js","sourceRoot":"","sources":["../../src/providers/huggingface.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- /**
2
- * MiniMax Provider
3
- * Implementation for MiniMax API
4
- * https://api.minimax.chat/v1/text/chat_completion_v2
5
- */
6
- import { BaseAIProvider, type InvokeOptions, type InvokeResult, type ModelInfo } from './interface.js';
7
- /**
8
- * MiniMax AI Provider implementation
9
- */
10
- export declare class MiniMaxProvider extends BaseAIProvider {
11
- readonly name = "minimax";
12
- readonly displayName = "MiniMax";
13
- private apiKey;
14
- private groupId;
15
- private dynamicModels;
16
- constructor();
17
- /**
18
- * Fetch available models from MiniMax API
19
- */
20
- initialize(): Promise<void>;
21
- /**
22
- * MiniMax is API-only, so isAvailable checks for API key
23
- */
24
- isAvailable(): Promise<boolean>;
25
- /**
26
- * Invoke MiniMax API
27
- */
28
- invoke(prompt: string, options: InvokeOptions): Promise<InvokeResult>;
29
- /**
30
- * List models
31
- */
32
- listModels(): string[];
33
- /**
34
- * Get model info
35
- */
36
- getModelInfo(): ModelInfo[];
37
- /**
38
- * Get default model
39
- */
40
- getDefaultModel(role: 'orchestrator' | 'coder' | 'reviewer'): string;
41
- /**
42
- * API-only provider doesn't use CLI templates
43
- */
44
- getDefaultInvocationTemplate(): string;
45
- }
46
- /**
47
- * Create a MiniMax provider instance
48
- */
49
- export declare function createMiniMaxProvider(): MiniMaxProvider;
50
- //# sourceMappingURL=minimax.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"minimax.d.ts","sourceRoot":"","sources":["../../src/providers/minimax.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAmCxB;;GAEG;AACH,qBAAa,eAAgB,SAAQ,cAAc;IACjD,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,WAAW,aAAa;IAEjC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,aAAa,CAAmB;;IAQxC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgDjC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA+G3E;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAKtB;;OAEG;IACH,YAAY,IAAI,SAAS,EAAE;IAI3B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM;IAIpE;;OAEG;IACH,4BAA4B,IAAI,MAAM;CAGvC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD"}