moderado 0.3.9 → 0.4.8

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 (70) hide show
  1. package/README.md +51 -30
  2. package/dist/commands/chat.d.ts +2 -2
  3. package/dist/commands/chat.d.ts.map +1 -1
  4. package/dist/commands/chat.js +108 -41
  5. package/dist/commands/chat.js.map +1 -1
  6. package/dist/commands/run.d.ts.map +1 -1
  7. package/dist/commands/run.js +2 -1
  8. package/dist/commands/run.js.map +1 -1
  9. package/dist/config.d.ts +4 -1
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +11 -3
  12. package/dist/config.js.map +1 -1
  13. package/dist/index.d.ts +2 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +9 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/injected_version.d.ts +2 -0
  18. package/dist/injected_version.d.ts.map +1 -0
  19. package/dist/injected_version.js +5 -0
  20. package/dist/injected_version.js.map +1 -0
  21. package/dist/moderado_oauth.d.ts +14 -0
  22. package/dist/moderado_oauth.d.ts.map +1 -0
  23. package/dist/moderado_oauth.js +88 -0
  24. package/dist/moderado_oauth.js.map +1 -0
  25. package/dist/sessions.d.ts.map +1 -1
  26. package/dist/sessions.js +3 -2
  27. package/dist/sessions.js.map +1 -1
  28. package/dist/ui/model_selector.d.ts +6 -1
  29. package/dist/ui/model_selector.d.ts.map +1 -1
  30. package/dist/ui/model_selector.js +48 -9
  31. package/dist/ui/model_selector.js.map +1 -1
  32. package/dist/ui/provider_connect.d.ts +6 -1
  33. package/dist/ui/provider_connect.d.ts.map +1 -1
  34. package/dist/ui/provider_connect.js +118 -4
  35. package/dist/ui/provider_connect.js.map +1 -1
  36. package/dist/ui/welcome.d.ts +6 -2
  37. package/dist/ui/welcome.d.ts.map +1 -1
  38. package/dist/ui/welcome.js +69 -16
  39. package/dist/ui/welcome.js.map +1 -1
  40. package/dist/vendor/contracts/events.d.ts +93 -0
  41. package/dist/vendor/contracts/events.d.ts.map +1 -1
  42. package/dist/vendor/contracts/events.js +6 -1
  43. package/dist/vendor/contracts/events.js.map +1 -1
  44. package/dist/vendor/contracts/provider.d.ts +60 -0
  45. package/dist/vendor/contracts/provider.d.ts.map +1 -1
  46. package/dist/vendor/contracts/provider.js +39 -0
  47. package/dist/vendor/contracts/provider.js.map +1 -1
  48. package/dist/vendor/core/agent.d.ts.map +1 -1
  49. package/dist/vendor/core/agent.js +21 -7
  50. package/dist/vendor/core/agent.js.map +1 -1
  51. package/dist/vendor/providers/model_discovery.d.ts +1 -1
  52. package/dist/vendor/providers/model_discovery.d.ts.map +1 -1
  53. package/dist/vendor/providers/model_discovery.js +43 -2
  54. package/dist/vendor/providers/model_discovery.js.map +1 -1
  55. package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts +1 -0
  56. package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts.map +1 -1
  57. package/dist/vendor/providers/nvidia/nvidia_adapter.js +42 -8
  58. package/dist/vendor/providers/nvidia/nvidia_adapter.js.map +1 -1
  59. package/dist/vendor/providers/nvidia/sse_parser.d.ts +3 -1
  60. package/dist/vendor/providers/nvidia/sse_parser.d.ts.map +1 -1
  61. package/dist/vendor/providers/nvidia/sse_parser.js +31 -2
  62. package/dist/vendor/providers/nvidia/sse_parser.js.map +1 -1
  63. package/dist/vendor/providers/presets.d.ts +8 -1
  64. package/dist/vendor/providers/presets.d.ts.map +1 -1
  65. package/dist/vendor/providers/presets.js +45 -1
  66. package/dist/vendor/providers/presets.js.map +1 -1
  67. package/dist/vendor/tools/tools/web_search.d.ts.map +1 -1
  68. package/dist/vendor/tools/tools/web_search.js +2 -0
  69. package/dist/vendor/tools/tools/web_search.js.map +1 -1
  70. package/package.json +1 -1
@@ -142,8 +142,9 @@ export class AgentLoop {
142
142
  if (signal?.aborted)
143
143
  return cancelBeforeRouting();
144
144
  // 1. Model Discovery & Routing
145
+ const gatewayAuto = options.provider.id === 'moderado-cloud' && !options.routeOptions?.pinnedModelId;
145
146
  let inventory = options.modelInventory;
146
- if (!inventory || inventory.length === 0) {
147
+ if (!gatewayAuto && (!inventory || inventory.length === 0)) {
147
148
  if (options.routeOptions?.pinnedModelId) {
148
149
  try {
149
150
  inventory = await options.provider.discoverModels(signal);
@@ -176,7 +177,16 @@ export class AgentLoop {
176
177
  }
177
178
  if (signal?.aborted)
178
179
  return cancelBeforeRouting();
179
- const { selectedModel: initialModel, rankedCandidates } = router.selectModel(inventory, options.routeOptions);
180
+ const { selectedModel: initialModel, rankedCandidates } = gatewayAuto
181
+ ? {
182
+ selectedModel: {
183
+ id: 'auto',
184
+ ownedBy: options.provider.id,
185
+ classification: router.classifyModel('auto', false),
186
+ },
187
+ rankedCandidates: [],
188
+ }
189
+ : router.selectModel(inventory ?? [], options.routeOptions);
180
190
  let currentModel = initialModel;
181
191
  emit({
182
192
  type: 'model_change',
@@ -201,7 +211,7 @@ export class AgentLoop {
201
211
  // Layer 4: Truncate oversized tool outputs from older turns in history to prevent token ballooning
202
212
  const messages = [
203
213
  ...baseHistory.map((msg, idx) => {
204
- if (msg.role === 'tool' && idx < baseHistory.length - 1 && typeof msg.content === 'string' && msg.content.length > 1500) {
214
+ if (options.provider.id !== 'moderado-cloud' && msg.role === 'tool' && idx < baseHistory.length - 1 && typeof msg.content === 'string' && msg.content.length > 1500) {
205
215
  return {
206
216
  ...msg,
207
217
  content: msg.content.slice(0, 1500) + '\n... [earlier tool output truncated for token efficiency]',
@@ -280,7 +290,9 @@ export class AgentLoop {
280
290
  ...(options.skills?.length ? [LOAD_SKILL_DECLARATION] : []),
281
291
  ...(options.allowSubagentDelegation === false ? [] : [SUBAGENT_DECLARATION]),
282
292
  ],
283
- maxTokens: options.maxOutputTokens ?? DEFAULT_MAX_OUTPUT_TOKENS,
293
+ ...(options.provider.id === 'moderado-cloud' && options.maxOutputTokens === undefined
294
+ ? {}
295
+ : { maxTokens: options.maxOutputTokens ?? DEFAULT_MAX_OUTPUT_TOKENS }),
284
296
  signal,
285
297
  });
286
298
  const thinkFilter = new ThinkTagStreamFilter();
@@ -297,6 +309,8 @@ export class AgentLoop {
297
309
  usage: latestUsage,
298
310
  };
299
311
  }
312
+ if (chunk.gatewayStatus)
313
+ emit({ type: 'gateway_status', ...chunk.gatewayStatus, timestamp: Date.now() });
300
314
  const toolCharacters = (chunk.toolCallChunks ?? []).reduce((count, delta) => count + (delta.argumentsDelta?.length ?? 0) + (delta.name?.length ?? 0), 0);
301
315
  const generatedCharacters = (chunk.contentDelta?.length ?? 0) + (chunk.reasoningDelta?.length ?? 0) + toolCharacters;
302
316
  if (generatedCharacters > 0) {
@@ -377,8 +391,8 @@ export class AgentLoop {
377
391
  return cancelled();
378
392
  // Handle transient errors & failover cascades in AUTO mode
379
393
  // Do not replay text that the user has already seen.
380
- const isTransient = isRetryableProviderError(err) && assistantText.length === 0;
381
- const isAutoMode = !options.routeOptions?.pinnedModelId;
394
+ const isTransient = isRetryableProviderError(err) && assistantText.length === 0 && !gatewayAuto;
395
+ const isAutoMode = !gatewayAuto && !options.routeOptions?.pinnedModelId;
382
396
  if (isTransient && attempt < retryDelays.length) {
383
397
  const delay = retryDelays[attempt++];
384
398
  emit({ type: 'progress', step, maxSteps: policy.maxSteps, status: `Retrying ${currentModel.id} in ${delay}ms...`, timestamp: Date.now() });
@@ -451,7 +465,7 @@ export class AgentLoop {
451
465
  }
452
466
  if (!assistantText.trim() && completedToolCalls.length === 0) {
453
467
  const emptyResponse = new EmptyResponseError(`${options.provider.name} returned no assistant content or tool calls for ${currentModel.id}.`);
454
- const isAutoMode = !options.routeOptions?.pinnedModelId;
468
+ const isAutoMode = !gatewayAuto && !options.routeOptions?.pinnedModelId;
455
469
  const fallback = isAutoMode
456
470
  ? router.getNextFallback(rankedCandidates, currentModel.id)
457
471
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export declare const SPIKE_PROVIDER_ENDPOINTS: {};
3
3
  /**
4
4
  * Fetch the OpenAI-compatible `/models` listing from any provider endpoint.
5
5
  * Mirrors `NvidiaAdapter.discoverModels` but without per-instance caching —
6
- * `/connect` calls it once per setup flow.
6
+ * `/model` calls it when browsing a compatible provider's catalog.
7
7
  */
8
8
  export declare function fetchProviderModels(baseUrl: string, apiKey: string | undefined, optionsOrSignal?: AbortSignal | {
9
9
  signal?: AbortSignal;
@@ -1 +1 @@
1
- {"version":3,"file":"model_discovery.d.ts","sourceRoot":"","sources":["../src/model_discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAGpB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,wBAAwB,IAAc,CAAC;AAEpD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,eAAe,CAAC,EAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAE,GACjF,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA+ChC;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GAAG,OAAO,CAIrF;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,eAAe,CAAC,EAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAE,GACjF,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAGhC;AAKD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC/D,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA0ChC;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG;IACnE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,IAAI,EAAE,mBAAmB,EAAE,CAAC;CAC7B,CAOA"}
1
+ {"version":3,"file":"model_discovery.d.ts","sourceRoot":"","sources":["../src/model_discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAKpB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,wBAAwB,IAAc,CAAC;AAkBpD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,eAAe,CAAC,EAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAE,GACjF,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAoEhC;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GAAG,OAAO,CAIrF;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,eAAe,CAAC,EAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAE,GACjF,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAGhC;AAKD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC/D,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA0ChC;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG;IACnE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,IAAI,EAAE,mBAAmB,EAAE,CAAC;CAC7B,CAOA"}
@@ -1,9 +1,24 @@
1
- import { ModelInventoryEntrySchema, ProviderError, } from '../contracts/index.js';
1
+ import { ModelInventoryEntrySchema, GATEWAY_ERROR_CODES, GatewayError, ProviderError, } from '../contracts/index.js';
2
2
  export const SPIKE_PROVIDER_ENDPOINTS = {};
3
+ function isModeradoGatewayUrl(baseUrl) {
4
+ try {
5
+ const parsed = new URL(baseUrl);
6
+ return parsed.hostname === 'mod.alfazen.org'
7
+ || (parsed.hostname === '127.0.0.1' || parsed.hostname === 'localhost') && parsed.port === '4788';
8
+ }
9
+ catch {
10
+ return false;
11
+ }
12
+ }
13
+ function gatewayErrorCode(status) {
14
+ return status === 401 ? 'unauthorized' : status === 403 ? 'scope_denied' : status === 400 ? 'invalid_request'
15
+ : status === 404 ? 'model_unavailable' : status === 429 ? 'quota_exceeded'
16
+ : status === 503 ? 'service_unavailable' : 'provider_error';
17
+ }
3
18
  /**
4
19
  * Fetch the OpenAI-compatible `/models` listing from any provider endpoint.
5
20
  * Mirrors `NvidiaAdapter.discoverModels` but without per-instance caching —
6
- * `/connect` calls it once per setup flow.
21
+ * `/model` calls it when browsing a compatible provider's catalog.
7
22
  */
8
23
  export async function fetchProviderModels(baseUrl, apiKey, optionsOrSignal) {
9
24
  const signal = optionsOrSignal instanceof AbortSignal ? optionsOrSignal : optionsOrSignal?.signal;
@@ -26,6 +41,32 @@ export async function fetchProviderModels(baseUrl, apiKey, optionsOrSignal) {
26
41
  throw new ProviderError(`Network error while contacting ${url}: ${err instanceof Error ? err.message : String(err)}`, 'ERR_NETWORK_ERROR');
27
42
  }
28
43
  if (!response.ok) {
44
+ if (isModeradoGatewayUrl(baseUrl)) {
45
+ let code = gatewayErrorCode(response.status);
46
+ let retryAfterSeconds;
47
+ try {
48
+ const body = await response.json();
49
+ if (body && typeof body === 'object' && 'error' in body && body.error && typeof body.error === 'object'
50
+ && 'code' in body.error && typeof body.error.code === 'string')
51
+ code = body.error.code;
52
+ }
53
+ catch {
54
+ // Use the status mapping if the error body is not JSON.
55
+ }
56
+ if (!GATEWAY_ERROR_CODES.includes(code))
57
+ code = 'provider_error';
58
+ const retryHeader = response.headers.get('Retry-After');
59
+ if (retryHeader) {
60
+ if (/^\d+$/.test(retryHeader))
61
+ retryAfterSeconds = Number(retryHeader);
62
+ else {
63
+ const retryAt = Date.parse(retryHeader);
64
+ if (!Number.isNaN(retryAt))
65
+ retryAfterSeconds = Math.max(0, Math.ceil((retryAt - Date.now()) / 1000));
66
+ }
67
+ }
68
+ throw new GatewayError(code, response.status, retryAfterSeconds);
69
+ }
29
70
  throw new ProviderError(`Model discovery failed with status ${response.status} at ${url}`, 'ERR_HTTP_ERROR', response.status);
30
71
  }
31
72
  let json;
@@ -1 +1 @@
1
- {"version":3,"file":"model_discovery.js","sourceRoot":"","sources":["../src/model_discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model_discovery.js","sourceRoot":"","sources":["../src/model_discovery.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare class NvidiaAdapter implements IProviderAdapter {
14
14
  private cachedInventory;
15
15
  private cacheTimestamp;
16
16
  private readonly cacheTtlMs;
17
+ private readonly isModeradoCloud;
17
18
  constructor(config?: NvidiaAdapterConfig);
18
19
  private getHeaders;
19
20
  discoverModels(signal?: AbortSignal, forceRefresh?: boolean): Promise<ModelInventoryEntry[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"nvidia_adapter.d.ts","sourceRoot":"","sources":["../../src/nvidia/nvidia_adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EAGnB,mBAAmB,EAGpB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAc,YAAW,gBAAgB;IACpD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;gBAEjC,MAAM,GAAE,mBAAwB;IAO5C,OAAO,CAAC,UAAU;IAYZ,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAkDzF,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,CAAC;YA6FrE,eAAe;CA0D9B"}
1
+ {"version":3,"file":"nvidia_adapter.d.ts","sourceRoot":"","sources":["../../src/nvidia/nvidia_adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EAGnB,gBAAgB,EAChB,mBAAmB,EAGnB,mBAAmB,EAGpB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAc,YAAW,gBAAgB;IACpD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;gBAE9B,MAAM,GAAE,mBAAwB;IAQ5C,OAAO,CAAC,UAAU;IAYZ,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAkDzF,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,CAAC;YA8FrE,eAAe;CA6E9B"}
@@ -1,4 +1,4 @@
1
- import { AuthenticationError, ModelInventoryEntrySchema, ModelUnavailableError, ProviderError, RateLimitError, } from '../../contracts/index.js';
1
+ import { AuthenticationError, GATEWAY_ERROR_CODES, GatewayError, ModelInventoryEntrySchema, ModelUnavailableError, ProviderError, RateLimitError, } from '../../contracts/index.js';
2
2
  import { parseSseStream } from './sse_parser.js';
3
3
  export class NvidiaAdapter {
4
4
  id;
@@ -8,10 +8,12 @@ export class NvidiaAdapter {
8
8
  cachedInventory = null;
9
9
  cacheTimestamp = 0;
10
10
  cacheTtlMs = 15 * 60 * 1000;
11
+ isModeradoCloud;
11
12
  constructor(config = {}) {
12
13
  this.id = config.providerId || 'nvidia';
13
14
  this.name = config.providerName || 'NVIDIA NIM';
14
- this.apiKey = config.apiKey || process.env.NVIDIA_API_KEY || '';
15
+ this.isModeradoCloud = this.id === 'moderado-cloud';
16
+ this.apiKey = config.apiKey || (this.id === 'nvidia' ? process.env.NVIDIA_API_KEY : undefined) || '';
15
17
  this.baseUrl = (config.baseUrl || 'https://integrate.api.nvidia.com/v1').replace(/\/+$/, '');
16
18
  }
17
19
  getHeaders() {
@@ -125,6 +127,7 @@ export class NvidiaAdapter {
125
127
  if (options.maxTokens !== undefined) {
126
128
  payload.max_tokens = options.maxTokens;
127
129
  }
130
+ const body = JSON.stringify(payload);
128
131
  let response;
129
132
  try {
130
133
  response = await fetch(url, {
@@ -133,7 +136,7 @@ export class NvidiaAdapter {
133
136
  ...this.getHeaders(),
134
137
  Accept: 'text/event-stream',
135
138
  },
136
- body: JSON.stringify(payload),
139
+ body,
137
140
  signal: options.signal,
138
141
  });
139
142
  }
@@ -150,15 +153,38 @@ export class NvidiaAdapter {
150
153
  throw new ProviderError('Provider response has empty body', 'ERR_EMPTY_BODY');
151
154
  }
152
155
  // Node.js Response.body is a ReadableStream<Uint8Array> which is an AsyncIterable in modern Node
153
- yield* parseSseStream(response.body);
156
+ yield* parseSseStream(response.body, { moderadoCloud: this.isModeradoCloud });
154
157
  }
155
158
  async handleHttpError(response, action) {
156
159
  let errorText = '';
157
- try {
158
- errorText = await response.text();
160
+ if (this.isModeradoCloud) {
161
+ try {
162
+ errorText = await response.text();
163
+ }
164
+ catch {
165
+ // Fall through to a status-based provider error when the response body is unavailable.
166
+ }
167
+ try {
168
+ const body = JSON.parse(errorText);
169
+ const code = body && typeof body === 'object' && 'error' in body && body.error && typeof body.error === 'object'
170
+ && 'code' in body.error && typeof body.error.code === 'string' ? body.error.code : undefined;
171
+ if (code && GATEWAY_ERROR_CODES.includes(code)) {
172
+ throw new GatewayError(code, response.status, parseRetryAfter(response.headers.get('Retry-After')));
173
+ }
174
+ }
175
+ catch (error) {
176
+ if (error instanceof GatewayError)
177
+ throw error;
178
+ // Unrecognized or malformed bodies use the provider's ordinary error mapping below.
179
+ }
159
180
  }
160
- catch {
161
- // ignore
181
+ else {
182
+ try {
183
+ errorText = await response.text();
184
+ }
185
+ catch {
186
+ // ignore
187
+ }
162
188
  }
163
189
  if (response.status === 401 || response.status === 403) {
164
190
  throw new AuthenticationError(`${this.name} authentication failed (${response.status}) during ${action}: ${errorText || 'Check the provider API key'}`);
@@ -195,4 +221,12 @@ export class NvidiaAdapter {
195
221
  throw new ProviderError(`${this.name} request failed with status ${response.status} during ${action}: ${errorText}`, 'ERR_HTTP_ERROR', response.status);
196
222
  }
197
223
  }
224
+ function parseRetryAfter(value) {
225
+ if (!value)
226
+ return undefined;
227
+ if (/^\d+$/.test(value))
228
+ return Number(value);
229
+ const retryAt = Date.parse(value);
230
+ return Number.isNaN(retryAt) ? undefined : Math.max(0, Math.ceil((retryAt - Date.now()) / 1000));
231
+ }
198
232
  //# sourceMappingURL=nvidia_adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nvidia_adapter.js","sourceRoot":"","sources":["../../src/nvidia/nvidia_adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nvidia_adapter.js","sourceRoot":"","sources":["../../src/nvidia/nvidia_adapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { ChatCompletionChunk, ProviderError } from '@moderado/contracts';
2
2
  export declare function classifyInjectedStreamError(raw: unknown): ProviderError;
3
- export declare function parseSseStream(byteStream: AsyncIterable<Uint8Array>): AsyncIterable<ChatCompletionChunk>;
3
+ export declare function parseSseStream(byteStream: AsyncIterable<Uint8Array>, options?: {
4
+ moderadoCloud?: boolean;
5
+ }): AsyncIterable<ChatCompletionChunk>;
4
6
  //# sourceMappingURL=sse_parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sse_parser.d.ts","sourceRoot":"","sources":["../../src/nvidia/sse_parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,mBAAmB,EAAkE,aAAa,EAAiC,MAAM,qBAAqB,CAAC;AAE7L,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAUvE;AAED,wBAAuB,cAAc,CACnC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,GACpC,aAAa,CAAC,mBAAmB,CAAC,CA0FpC"}
1
+ {"version":3,"file":"sse_parser.d.ts","sourceRoot":"","sources":["../../src/nvidia/sse_parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,mBAAmB,EAA+F,aAAa,EAAiC,MAAM,qBAAqB,CAAC;AAE1N,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAUvE;AAED,wBAAuB,cAAc,CACnC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,EACrC,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACxC,aAAa,CAAC,mBAAmB,CAAC,CAuHpC"}
@@ -1,4 +1,4 @@
1
- import { AuthenticationError, ChatUsageSchema, MalformedResponseError, ModelUnavailableError, ProviderError, RateLimitError } from '../../contracts/index.js';
1
+ import { AuthenticationError, ChatUsageSchema, GatewayFallbackStatusSchema, MalformedResponseError, ModelUnavailableError, ProviderError, RateLimitError } from '../../contracts/index.js';
2
2
  export function classifyInjectedStreamError(raw) {
3
3
  const error = typeof raw === 'object' && raw !== null ? raw : {};
4
4
  const code = error.code ?? error.status ?? error.type;
@@ -14,9 +14,10 @@ export function classifyInjectedStreamError(raw) {
14
14
  return new AuthenticationError(message);
15
15
  return new ProviderError(message, 'ERR_STREAM_ERROR', status);
16
16
  }
17
- export async function* parseSseStream(byteStream) {
17
+ export async function* parseSseStream(byteStream, options = {}) {
18
18
  const decoder = new TextDecoder('utf8');
19
19
  let buffer = '';
20
+ let eventName = '';
20
21
  for await (const chunk of byteStream) {
21
22
  buffer += decoder.decode(chunk, { stream: true });
22
23
  const lines = buffer.split('\n');
@@ -26,6 +27,12 @@ export async function* parseSseStream(byteStream) {
26
27
  const trimmed = line.trim();
27
28
  if (!trimmed || trimmed.startsWith(':')) {
28
29
  // Empty line or SSE comment (heartbeat)
30
+ if (!trimmed)
31
+ eventName = '';
32
+ continue;
33
+ }
34
+ if (trimmed.startsWith('event:')) {
35
+ eventName = trimmed.slice(6).trim();
29
36
  continue;
30
37
  }
31
38
  if (trimmed.startsWith('data:')) {
@@ -33,6 +40,8 @@ export async function* parseSseStream(byteStream) {
33
40
  if (dataStr === '[DONE]') {
34
41
  return;
35
42
  }
43
+ if (eventName === 'moderado_status' && !options.moderadoCloud)
44
+ continue;
36
45
  let parsed;
37
46
  try {
38
47
  parsed = JSON.parse(dataStr);
@@ -40,6 +49,26 @@ export async function* parseSseStream(byteStream) {
40
49
  catch {
41
50
  throw new MalformedResponseError('Provider sent an unparseable SSE data line');
42
51
  }
52
+ if (eventName === 'moderado_status') {
53
+ const requiredFields = ['from_model', 'to_model', 'reason'];
54
+ const allowedFields = [...requiredFields, 'from_provider', 'to_provider'];
55
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed) ||
56
+ Object.keys(parsed).some(field => !allowedFields.includes(field)) ||
57
+ !requiredFields.every(field => Object.hasOwn(parsed, field))) {
58
+ throw new MalformedResponseError('Invalid Gateway status event');
59
+ }
60
+ const status = GatewayFallbackStatusSchema.safeParse({
61
+ fromProvider: parsed?.from_provider,
62
+ fromModel: parsed?.from_model,
63
+ toProvider: parsed?.to_provider,
64
+ toModel: parsed?.to_model,
65
+ reason: parsed?.reason,
66
+ });
67
+ if (!status.success)
68
+ throw new MalformedResponseError('Invalid Gateway status event');
69
+ yield { gatewayStatus: status.data };
70
+ continue;
71
+ }
43
72
  if (parsed && typeof parsed === 'object' && parsed.error) {
44
73
  throw classifyInjectedStreamError(parsed.error);
45
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sse_parser.js","sourceRoot":"","sources":["../../src/nvidia/sse_parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sse_parser.js","sourceRoot":"","sources":["../../src/nvidia/sse_parser.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import type { ModelClassification, ModelInventoryEntry } from '@moderado/contracts';
2
- export declare const CONNECT_PROVIDER_PRESET_IDS: readonly ["nvidia-nim", "openrouter", "agnes-ai", "orcarouter", "ollama", "lm-studio", "openai-compatible"];
2
+ export declare const MODERADO_CLOUD_PRODUCTION_BASE_URL = "https://mod.alfazen.org/v1";
3
+ export declare const MODERADO_CLOUD_DEVELOPMENT_BASE_URL = "http://127.0.0.1:4788/v1";
4
+ export declare function resolveModeradoCloudBaseUrl(mode?: string, gatewayUrl?: string): string;
5
+ export declare const MODERADO_CLOUD_BASE_URL = "https://mod.alfazen.org/v1";
6
+ export declare const CONNECT_PROVIDER_PRESET_IDS: readonly ["nvidia-nim", "moderado-cloud", "openrouter", "agnes-ai", "orcarouter", "ollama", "lm-studio", "openai-compatible"];
3
7
  export type ConnectProviderPresetId = typeof CONNECT_PROVIDER_PRESET_IDS[number];
4
8
  export interface CustomConnectProvider {
5
9
  id: string;
@@ -56,12 +60,15 @@ export interface ProviderPresetMeta {
56
60
  * metered catalog.
57
61
  */
58
62
  freeCatalog?: boolean;
63
+ /** Whether that provider-level guarantee overrides generic curated model tiers. */
64
+ freeCatalogOverridesClassification?: boolean;
59
65
  }
60
66
  /** How much of a provider's catalog is declared cost-free, for the free-model predicate. */
61
67
  export interface ProviderFreePolicy {
62
68
  freeModelAliases?: readonly string[];
63
69
  freeIdSuffixes?: readonly string[];
64
70
  freeCatalog?: boolean;
71
+ freeCatalogOverridesClassification?: boolean;
65
72
  }
66
73
  /**
67
74
  * The free-tier declaration for a connection id, or `undefined` when the id has