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.
- package/README.md +51 -30
- package/dist/commands/chat.d.ts +2 -2
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +108 -41
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +2 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/config.d.ts +4 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +11 -3
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/injected_version.d.ts +2 -0
- package/dist/injected_version.d.ts.map +1 -0
- package/dist/injected_version.js +5 -0
- package/dist/injected_version.js.map +1 -0
- package/dist/moderado_oauth.d.ts +14 -0
- package/dist/moderado_oauth.d.ts.map +1 -0
- package/dist/moderado_oauth.js +88 -0
- package/dist/moderado_oauth.js.map +1 -0
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +3 -2
- package/dist/sessions.js.map +1 -1
- package/dist/ui/model_selector.d.ts +6 -1
- package/dist/ui/model_selector.d.ts.map +1 -1
- package/dist/ui/model_selector.js +48 -9
- package/dist/ui/model_selector.js.map +1 -1
- package/dist/ui/provider_connect.d.ts +6 -1
- package/dist/ui/provider_connect.d.ts.map +1 -1
- package/dist/ui/provider_connect.js +118 -4
- package/dist/ui/provider_connect.js.map +1 -1
- package/dist/ui/welcome.d.ts +6 -2
- package/dist/ui/welcome.d.ts.map +1 -1
- package/dist/ui/welcome.js +69 -16
- package/dist/ui/welcome.js.map +1 -1
- package/dist/vendor/contracts/events.d.ts +93 -0
- package/dist/vendor/contracts/events.d.ts.map +1 -1
- package/dist/vendor/contracts/events.js +6 -1
- package/dist/vendor/contracts/events.js.map +1 -1
- package/dist/vendor/contracts/provider.d.ts +60 -0
- package/dist/vendor/contracts/provider.d.ts.map +1 -1
- package/dist/vendor/contracts/provider.js +39 -0
- package/dist/vendor/contracts/provider.js.map +1 -1
- package/dist/vendor/core/agent.d.ts.map +1 -1
- package/dist/vendor/core/agent.js +21 -7
- package/dist/vendor/core/agent.js.map +1 -1
- package/dist/vendor/providers/model_discovery.d.ts +1 -1
- package/dist/vendor/providers/model_discovery.d.ts.map +1 -1
- package/dist/vendor/providers/model_discovery.js +43 -2
- package/dist/vendor/providers/model_discovery.js.map +1 -1
- package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts +1 -0
- package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts.map +1 -1
- package/dist/vendor/providers/nvidia/nvidia_adapter.js +42 -8
- package/dist/vendor/providers/nvidia/nvidia_adapter.js.map +1 -1
- package/dist/vendor/providers/nvidia/sse_parser.d.ts +3 -1
- package/dist/vendor/providers/nvidia/sse_parser.d.ts.map +1 -1
- package/dist/vendor/providers/nvidia/sse_parser.js +31 -2
- package/dist/vendor/providers/nvidia/sse_parser.js.map +1 -1
- package/dist/vendor/providers/presets.d.ts +8 -1
- package/dist/vendor/providers/presets.d.ts.map +1 -1
- package/dist/vendor/providers/presets.js +45 -1
- package/dist/vendor/providers/presets.js.map +1 -1
- package/dist/vendor/tools/tools/web_search.d.ts.map +1 -1
- package/dist/vendor/tools/tools/web_search.js +2 -0
- package/dist/vendor/tools/tools/web_search.js.map +1 -1
- 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 } =
|
|
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
|
-
|
|
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
|
-
* `/
|
|
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,
|
|
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
|
-
* `/
|
|
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,
|
|
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.
|
|
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
|
|
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
|
-
|
|
158
|
-
|
|
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
|
-
|
|
161
|
-
|
|
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":"AAAA,OAAO,EACL,mBAAmB,
|
|
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
|
|
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,
|
|
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":"AAAA,OAAO,EAAE,mBAAmB,EAAuB,eAAe,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,aAAa,EAAE,cAAc,EAAiB,MAAM,qBAAqB,CAAC;
|
|
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
|
|
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
|