@zhivex-ai/gateway 1.0.1 → 1.0.3

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 CHANGED
@@ -35,8 +35,12 @@ const gateway = createGateway({
35
35
  openai: createOpenAI({ apiKey: process.env.OPENAI_API_KEY }),
36
36
  ollama: createOllama()
37
37
  },
38
+ maxFallbacks: 8,
38
39
  maxRetries: 1,
40
+ maxTotalAttempts: 16,
39
41
  attemptTimeoutMs: 15_000,
42
+ streamIdleTimeoutMs: 60_000,
43
+ observerTimeoutMs: 1_000,
40
44
  unknownCostPolicy: "reject"
41
45
  });
42
46
 
@@ -62,11 +66,16 @@ The gateway also supports `streamText()`, `generateObject()`, and `streamObject(
62
66
 
63
67
  - Text, object, and agent operations retry eligible failures on the current target and then continue through the ordered fallback targets. Agent routing happens inside one `runAgent()` or `streamAgent()` execution, so a fallback does not restart the agent, duplicate its run, or replay completed tools.
64
68
  - Text and object streaming fallback is resolved before the first event is exposed. Agent streams may expose lifecycle events such as `agent-run-start` first, but provider fallback is resolved before the first provider event. Once a provider stream emits an event, an error from that stream is propagated without mixing in another provider's transcript.
65
- - `attemptTimeoutMs` and the per-provider `attemptTimeoutsMs` do more than reject the gateway promise: they abort a non-streaming provider call or a streaming call that has not produced its first event. A request-level `abortSignal` remains active for the full operation and stops pending retries, backoff, fallback routing, and active streams.
69
+ - `attemptTimeoutMs` and the per-provider `attemptTimeoutsMs` do more than reject the gateway promise: they abort a non-streaming provider call or a streaming call that has not produced its first event. After the first event, `streamIdleTimeoutMs` and `streamIdleTimeoutsMs` abort a provider that stops producing events; the default is 60 seconds and `false` explicitly disables it. A request-level `abortSignal` remains active for the full operation and stops pending retries, backoff, fallback routing, observers, and active streams.
66
70
  - `ProviderHTTPError` is classified by its typed HTTP status. Status `408`, `429`, and `5xx` errors are retryable on the same target. Other `4xx` errors are not retried on that target, but an eligible fallback can still handle a provider- or model-specific rejection.
71
+ - Attempt diagnostics redact credential-like URL parameters and bearer tokens before they are exposed through `attempts[].errorMessage` or observers.
67
72
  - When `maxCostPer1kTokens` is set, a target without configured or catalog pricing is rejected by default. Set `unknownCostPolicy: "allow"` on `createGateway()` only when routing to models with unknown cost is acceptable.
68
73
  - Requests containing image attachments only route to models that declare `capabilities.vision: true`. The gateway never removes images to make a target appear compatible; if one target cannot accept the original request, it is skipped in favor of a compatible fallback.
69
74
  - `scoreTarget(context)` can replace the built-in name-based heuristic with application metrics. It must return a finite number; higher scores route first.
75
+ - Routing amplification is bounded even if a request is assembled from external input: requests accept at most `maxFallbacks` targets (default 8, hard maximum 32), `maxRetries` cannot exceed 5, and `maxTotalAttempts` caps provider calls across the whole routed operation including later agent steps (default 32, hard maximum 128). Model IDs are non-empty, limited to 256 characters, and cannot contain control characters. `maxCostPer1kTokens` and configured/catalog costs must be finite and non-negative.
76
+ - `onAttempt` and `onAgentRoute` are best-effort observers. They receive an `abortSignal` and are allowed `observerTimeoutMs` to finish (default 1 second); rejection, timeout, or request cancellation cannot retry successful provider work or block routing indefinitely.
77
+
78
+ Keep primary/fallback selection and these ceilings under application control when mapping an HTTP request into `GatewayRequest`. `maxCostPer1kTokens` limits model price, not the final invoice; use `maxTotalAttempts`, provider-side spend limits, authentication, and rate limiting for a complete cost boundary.
70
79
 
71
80
  For agent workloads, use `runAgent()` or `streamAgent()` to route by both regular model capabilities and agent-specific capabilities such as `supportTier`, `approvalRequests`, or `remoteMcp`.
72
81
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAG7B,KAAK,aAAa,EAClB,KAAK,4BAA4B,EAEjC,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,eAAe,EAEpB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAE7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,4BAA4B,EAC5B,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,8BAA8B,EAC9B,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAslBpB,eAAO,MAAM,aAAa,GAAI,QAAQ,aAAa;sBAuXvB,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;wBAa7C,cAAc,GAAG,uBAAuB;mBAuBvC,OAAO,SAAS,UAAU,WACpC,4BAA4B,CAAC,OAAO,CAAC,GAC7C,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;iBAyB7B,OAAO,SAAS,UAAU,WAC5B,4BAA4B,CAAC,OAAO,CAAC,GAC7C,yBAAyB,CAAC,OAAO,CAAC;sBAkCb,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;yBAkDtD,mBAAmB,GAAG,wBAAwB;CA0DtE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAG7B,KAAK,aAAa,EAClB,KAAK,4BAA4B,EAEjC,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,eAAe,EAEpB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAE7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,4BAA4B,EAC5B,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,8BAA8B,EAC9B,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAkzBpB,eAAO,MAAM,aAAa,GAAI,QAAQ,aAAa;sBAsavB,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;wBAa7C,cAAc,GAAG,uBAAuB;mBAuBvC,OAAO,SAAS,UAAU,WACpC,4BAA4B,CAAC,OAAO,CAAC,GAC7C,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;iBAyB7B,OAAO,SAAS,UAAU,WAC5B,4BAA4B,CAAC,OAAO,CAAC,GAC7C,yBAAyB,CAAC,OAAO,CAAC;sBAkCb,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;yBAmDtD,mBAAmB,GAAG,wBAAwB;CA2DtE,CAAC"}
package/dist/index.js CHANGED
@@ -2,6 +2,29 @@ import { ConflictError, GuardrailTriggeredError, ProviderHTTPError, ValidationEr
2
2
  import { createRouteDecision, gatewayMessagesToModelMessages } from "./compat.js";
3
3
  import { GatewayError } from "./types.js";
4
4
  export { GatewayError } from "./types.js";
5
+ const DEFAULT_MAX_FALLBACKS = 8;
6
+ const MAX_MAX_FALLBACKS = 32;
7
+ const DEFAULT_MAX_TOTAL_ATTEMPTS = 32;
8
+ const MAX_MAX_TOTAL_ATTEMPTS = 128;
9
+ const MAX_MAX_RETRIES = 5;
10
+ const DEFAULT_OBSERVER_TIMEOUT_MS = 1_000;
11
+ const DEFAULT_STREAM_IDLE_TIMEOUT_MS = 60_000;
12
+ const MAX_MODEL_ID_CHARS = 256;
13
+ const GATEWAY_PROVIDERS = new Set([
14
+ "openai",
15
+ "xai",
16
+ "meta",
17
+ "anthropic",
18
+ "gemini",
19
+ "vertex",
20
+ "qwen",
21
+ "kimi",
22
+ "deepseek",
23
+ "bedrock",
24
+ "ollama",
25
+ "azure-openai",
26
+ "openrouter"
27
+ ]);
5
28
  const defaultScoreTarget = (mode, intent, target, config) => {
6
29
  const model = target.modelId.toLowerCase();
7
30
  const localBoost = target.provider === "ollama" ? -2 : 0;
@@ -10,7 +33,14 @@ const defaultScoreTarget = (mode, intent, target, config) => {
10
33
  const reasoningBoost = model.includes("pro") || model.includes("claude") ? 2 : 0;
11
34
  const catalogCost = config.modelCatalog?.find(target.provider, target.modelId)?.costPer1kTokens;
12
35
  const costPenalty = config.providerCostsPer1kTokens?.[target.provider] ?? catalogCost ?? 0;
13
- const latencyPenalty = (config.latencyBiasMs?.[target.provider] ?? 0) / 100;
36
+ const latencyBiasMs = config.latencyBiasMs?.[target.provider] ?? 0;
37
+ if (!Number.isFinite(costPenalty) || costPenalty < 0) {
38
+ throw new GatewayError(`Gateway cost for ${target.provider}/${target.modelId} must be a finite non-negative number.`, false);
39
+ }
40
+ if (!Number.isFinite(latencyBiasMs) || latencyBiasMs < 0) {
41
+ throw new GatewayError(`Gateway latency bias for ${target.provider} must be a finite non-negative number.`, false);
42
+ }
43
+ const latencyPenalty = latencyBiasMs / 100;
14
44
  if (mode === "speed") {
15
45
  return speedBoost + localBoost - latencyPenalty;
16
46
  }
@@ -37,6 +67,55 @@ const scoreTarget = (mode, intent, target, primary, config) => {
37
67
  }
38
68
  return score;
39
69
  };
70
+ const boundedInteger = (name, value, defaultValue, options) => {
71
+ const normalized = value ?? defaultValue;
72
+ if (!Number.isSafeInteger(normalized) ||
73
+ normalized < options.min ||
74
+ normalized > options.max) {
75
+ throw new GatewayError(`${name} must be a safe integer between ${options.min} and ${options.max}.`, false);
76
+ }
77
+ return normalized;
78
+ };
79
+ const getMaxFallbacks = (config) => boundedInteger("Gateway maxFallbacks", config.maxFallbacks, DEFAULT_MAX_FALLBACKS, {
80
+ min: 0,
81
+ max: MAX_MAX_FALLBACKS
82
+ });
83
+ const getMaxTotalAttempts = (config) => boundedInteger("Gateway maxTotalAttempts", config.maxTotalAttempts, DEFAULT_MAX_TOTAL_ATTEMPTS, { min: 1, max: MAX_MAX_TOTAL_ATTEMPTS });
84
+ const getObserverTimeoutMs = (config) => {
85
+ const timeoutMs = config.observerTimeoutMs ?? DEFAULT_OBSERVER_TIMEOUT_MS;
86
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
87
+ throw new GatewayError("Gateway observerTimeoutMs must be a finite positive number.", false);
88
+ }
89
+ return timeoutMs;
90
+ };
91
+ const validateTarget = (target, label) => {
92
+ if (!target ||
93
+ typeof target !== "object" ||
94
+ typeof target.provider !== "string" ||
95
+ !GATEWAY_PROVIDERS.has(target.provider)) {
96
+ throw new GatewayError(`${label} contains an unsupported provider.`, false);
97
+ }
98
+ if (typeof target.modelId !== "string" ||
99
+ target.modelId.length === 0 ||
100
+ target.modelId.length > MAX_MODEL_ID_CHARS ||
101
+ /[\u0000-\u001f\u007f]/.test(target.modelId)) {
102
+ throw new GatewayError(`${label} modelId must contain 1-${MAX_MODEL_ID_CHARS} characters without control characters.`, false);
103
+ }
104
+ };
105
+ const validateRouteRequest = (config, request) => {
106
+ const fallbacks = request.fallbacks ?? [];
107
+ const maxFallbacks = getMaxFallbacks(config);
108
+ if (fallbacks.length > maxFallbacks) {
109
+ throw new GatewayError(`Gateway request contains ${fallbacks.length} fallback targets; the configured maximum is ${maxFallbacks}.`, false);
110
+ }
111
+ validateTarget(request.primary, "Gateway primary target");
112
+ fallbacks.forEach((target, index) => validateTarget(target, `Gateway fallback target at index ${index}`));
113
+ if (request.maxCostPer1kTokens != null &&
114
+ (!Number.isFinite(request.maxCostPer1kTokens) ||
115
+ request.maxCostPer1kTokens < 0)) {
116
+ throw new GatewayError("Gateway maxCostPer1kTokens must be a finite non-negative number.", false);
117
+ }
118
+ };
40
119
  const orderTargets = (mode, intent, primary, fallbacks, config) => [primary, ...fallbacks]
41
120
  .filter((target, index, list) => list.findIndex((candidate) => candidate.provider === target.provider && candidate.modelId === target.modelId) === index)
42
121
  .map((target, index) => ({
@@ -83,6 +162,9 @@ const costBudgetSkipReason = (config, request, target) => {
83
162
  ? undefined
84
163
  : "Skipped because model cost is unknown under the configured budget.";
85
164
  }
165
+ if (!Number.isFinite(effectiveCost) || effectiveCost < 0) {
166
+ throw new GatewayError(`Gateway cost for ${target.provider}/${target.modelId} must be a finite non-negative number.`, false);
167
+ }
86
168
  return effectiveCost <= request.maxCostPer1kTokens
87
169
  ? undefined
88
170
  : "Skipped because provider cost exceeds the configured budget.";
@@ -186,17 +268,20 @@ const providerHTTPStatus = (error) => {
186
268
  }
187
269
  return undefined;
188
270
  };
271
+ const redactSensitiveErrorMessage = (message) => message
272
+ .replace(/([?&](?:api[-_]?key|key|token|access[-_]?token|secret)=)[^&#\s]*/gi, "$1[REDACTED]")
273
+ .replace(/\b(Bearer)\s+[a-z\d._~+/=-]+/gi, "$1 [REDACTED]");
189
274
  const normalizeError = (error) => {
190
275
  if (error instanceof ValidationError || error instanceof ConflictError || error instanceof GuardrailTriggeredError) {
191
276
  return {
192
- error: new GatewayError(error.message, false),
277
+ error: new GatewayError(redactSensitiveErrorMessage(error.message), false),
193
278
  retrySameTarget: false,
194
279
  fallbackNextTarget: false
195
280
  };
196
281
  }
197
282
  if (error instanceof GatewayError) {
198
283
  return {
199
- error,
284
+ error: new GatewayError(redactSensitiveErrorMessage(error.message), error.retryable),
200
285
  retrySameTarget: error.retryable,
201
286
  fallbackNextTarget: true
202
287
  };
@@ -205,7 +290,7 @@ const normalizeError = (error) => {
205
290
  if (status != null) {
206
291
  const retryable = status === 408 || status === 429 || status >= 500;
207
292
  return {
208
- error: new GatewayError(error instanceof Error ? error.message : `Provider HTTP ${status}.`, retryable),
293
+ error: new GatewayError(error instanceof Error ? redactSensitiveErrorMessage(error.message) : `Provider HTTP ${status}.`, retryable),
209
294
  retrySameTarget: retryable,
210
295
  fallbackNextTarget: true
211
296
  };
@@ -213,7 +298,7 @@ const normalizeError = (error) => {
213
298
  if (error instanceof Error) {
214
299
  if (error.name === "AbortError") {
215
300
  return {
216
- error: new GatewayError(error.message, false),
301
+ error: new GatewayError(redactSensitiveErrorMessage(error.message), false),
217
302
  retrySameTarget: false,
218
303
  fallbackNextTarget: false
219
304
  };
@@ -229,7 +314,7 @@ const normalizeError = (error) => {
229
314
  message.includes("network") ||
230
315
  /\b50[0234]\b/.test(message);
231
316
  return {
232
- error: new GatewayError(error.message, retryable),
317
+ error: new GatewayError(redactSensitiveErrorMessage(error.message), retryable),
233
318
  retrySameTarget: retryable,
234
319
  fallbackNextTarget: true
235
320
  };
@@ -247,12 +332,23 @@ const getAttemptTimeoutMs = (config, provider) => {
247
332
  }
248
333
  return timeoutMs;
249
334
  };
250
- const getMaxRetries = (config) => {
251
- const maxRetries = config.maxRetries ?? 2;
252
- if (!Number.isFinite(maxRetries) || maxRetries < 0) {
253
- throw new GatewayError("Gateway maxRetries must be a finite non-negative number.", false);
335
+ const getStreamIdleTimeoutMs = (config, provider) => {
336
+ const timeoutMs = config.streamIdleTimeoutsMs?.[provider] ??
337
+ config.streamIdleTimeoutMs ??
338
+ DEFAULT_STREAM_IDLE_TIMEOUT_MS;
339
+ if (timeoutMs === false) {
340
+ return false;
254
341
  }
255
- return Math.floor(maxRetries);
342
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
343
+ throw new GatewayError("Gateway stream idle timeouts must be finite positive numbers or false.", false);
344
+ }
345
+ return timeoutMs;
346
+ };
347
+ const getMaxRetries = (config) => {
348
+ return boundedInteger("Gateway maxRetries", config.maxRetries, 2, {
349
+ min: 0,
350
+ max: MAX_MAX_RETRIES
351
+ });
256
352
  };
257
353
  const retryBackoffMs = (config, retry) => {
258
354
  const base = config.retryBackoffMs ?? 200;
@@ -269,17 +365,52 @@ const createAttempt = (target, ok, latencyMs, targetRank, options = {}) => ({
269
365
  targetRank,
270
366
  ...options
271
367
  });
272
- const notifyAttempt = async (config, attempt) => {
368
+ const runBoundedObserver = (config, parentSignal, observer) => {
369
+ const controller = new AbortController();
370
+ let releaseBoundary;
371
+ const boundary = new Promise((resolve) => {
372
+ releaseBoundary = resolve;
373
+ });
374
+ const onParentAbort = () => {
375
+ controller.abort(parentSignal ? abortReason(parentSignal) : new DOMException("Gateway request aborted.", "AbortError"));
376
+ releaseBoundary?.();
377
+ };
378
+ if (parentSignal?.aborted) {
379
+ onParentAbort();
380
+ }
381
+ else {
382
+ parentSignal?.addEventListener("abort", onParentAbort, { once: true });
383
+ }
384
+ const timeoutMs = getObserverTimeoutMs(config);
385
+ const timer = setTimeout(() => {
386
+ controller.abort(new GatewayError(`Gateway observer timed out after ${timeoutMs}ms.`, false));
387
+ releaseBoundary?.();
388
+ }, timeoutMs);
389
+ const cleanup = () => {
390
+ clearTimeout(timer);
391
+ parentSignal?.removeEventListener("abort", onParentAbort);
392
+ };
393
+ let observerResult;
273
394
  try {
274
- await config.onAttempt?.({
275
- ...attempt,
276
- retry: attempt.retry ?? 0,
277
- targetRank: attempt.targetRank ?? 0
278
- });
395
+ observerResult = observer(controller.signal);
279
396
  }
280
397
  catch {
281
- // Observability is best-effort and must never retry or fail provider work.
398
+ cleanup();
399
+ return;
282
400
  }
401
+ const completion = Promise.resolve(observerResult).catch(() => undefined);
402
+ void Promise.race([completion, boundary]).finally(cleanup);
403
+ };
404
+ const notifyAttempt = async (config, attempt, parentSignal) => {
405
+ if (!config.onAttempt) {
406
+ return;
407
+ }
408
+ runBoundedObserver(config, parentSignal, (abortSignal) => config.onAttempt?.({
409
+ ...attempt,
410
+ retry: attempt.retry ?? 0,
411
+ targetRank: attempt.targetRank ?? 0,
412
+ abortSignal
413
+ }));
283
414
  };
284
415
  const normalizeUsage = (usage, inputText, outputText) => {
285
416
  const inputTokens = usage?.inputTokens ?? estimateTokens(inputText);
@@ -407,6 +538,7 @@ const enrichAgentResult = (target, attempts, routeDecision, startedAt, result) =
407
538
  });
408
539
  export const createGateway = (config) => {
409
540
  const createRouteContext = (request, options = {}) => {
541
+ validateRouteRequest(config, request);
410
542
  const mode = request.routingMode ?? "balanced";
411
543
  const intent = request.taskIntent ?? options.defaultIntent ?? "chat";
412
544
  const orderedTargets = orderTargets(mode, intent, request.primary, request.fallbacks ?? [], config);
@@ -416,7 +548,7 @@ export const createGateway = (config) => {
416
548
  let notificationChain = Promise.resolve();
417
549
  const queueAttempt = (attempt) => {
418
550
  attempts.push(attempt);
419
- notificationChain = notificationChain.then(() => notifyAttempt(config, attempt));
551
+ notificationChain = notificationChain.then(() => notifyAttempt(config, attempt, request.abortSignal));
420
552
  };
421
553
  const requiredCapabilities = buildRequiredCapabilities(request, options.extraRequiredCapabilities ?? {});
422
554
  for (const [targetRank, target] of orderedTargets.entries()) {
@@ -483,11 +615,8 @@ export const createGateway = (config) => {
483
615
  return;
484
616
  }
485
617
  context.winner = candidate;
486
- try {
487
- await options.onWinner?.(candidate, [...attempts]);
488
- }
489
- catch {
490
- // Routing observers are best-effort and cannot fail provider work.
618
+ if (options.onWinner) {
619
+ runBoundedObserver(config, request.abortSignal, (abortSignal) => options.onWinner?.(candidate, [...attempts], abortSignal));
491
620
  }
492
621
  }
493
622
  };
@@ -495,6 +624,14 @@ export const createGateway = (config) => {
495
624
  };
496
625
  const createRoutedLanguageModel = (context) => {
497
626
  const first = context.candidates[0];
627
+ const maxTotalAttempts = getMaxTotalAttempts(config);
628
+ let totalProviderAttempts = 0;
629
+ const reserveProviderAttempt = () => {
630
+ if (totalProviderAttempts >= maxTotalAttempts) {
631
+ throw new GatewayError(`Gateway operation exceeded the configured maximum of ${maxTotalAttempts} provider attempts.`, false);
632
+ }
633
+ totalProviderAttempts += 1;
634
+ };
498
635
  const recordInputSkip = async (candidate, message) => {
499
636
  await context.recordAttempt(createAttempt(candidate.target, false, 0, candidate.targetRank, {
500
637
  reasonCode: "operation-skip",
@@ -517,6 +654,7 @@ export const createGateway = (config) => {
517
654
  continue;
518
655
  }
519
656
  for (let retry = 0; retry <= maxRetries; retry += 1) {
657
+ reserveProviderAttempt();
520
658
  const attemptStartedAt = Date.now();
521
659
  const control = createAttemptControl(input.abortSignal, getAttemptTimeoutMs(config, candidate.target.provider));
522
660
  try {
@@ -582,6 +720,7 @@ export const createGateway = (config) => {
582
720
  continue;
583
721
  }
584
722
  for (let retry = 0; retry <= maxRetries; retry += 1) {
723
+ reserveProviderAttempt();
585
724
  const attemptStartedAt = Date.now();
586
725
  const control = createAttemptControl(input.abortSignal, getAttemptTimeoutMs(config, candidate.target.provider));
587
726
  let iterator;
@@ -604,12 +743,26 @@ export const createGateway = (config) => {
604
743
  reasonCode: "provider-success"
605
744
  }));
606
745
  await context.lock(candidate);
746
+ const streamIdleTimeoutMs = getStreamIdleTimeoutMs(config, candidate.target.provider);
747
+ const nextEvent = async () => {
748
+ if (streamIdleTimeoutMs === false) {
749
+ return control.waitFor(iterator.next());
750
+ }
751
+ const idleError = new GatewayError(`Provider stream was idle for more than ${streamIdleTimeoutMs}ms.`, false);
752
+ const timer = setTimeout(() => control.abort(idleError), streamIdleTimeoutMs);
753
+ try {
754
+ return await control.waitFor(iterator.next());
755
+ }
756
+ finally {
757
+ clearTimeout(timer);
758
+ }
759
+ };
607
760
  return (async function* () {
608
761
  let completed = false;
609
762
  try {
610
763
  yield firstEvent.value;
611
764
  for (;;) {
612
- const next = await control.waitFor(iterator.next());
765
+ const next = await nextEvent();
613
766
  if (next.done) {
614
767
  completed = true;
615
768
  return;
@@ -755,13 +908,14 @@ export const createGateway = (config) => {
755
908
  reasonCode: "agent-capabilities",
756
909
  message: "Skipped because agent capabilities do not satisfy the request."
757
910
  },
758
- onWinner: async (candidate, attempts) => {
911
+ onWinner: async (candidate, attempts, abortSignal) => {
759
912
  await config.onAgentRoute?.({
760
913
  provider: candidate.target.provider,
761
914
  modelId: candidate.target.modelId,
762
915
  routeDecision: route.context.routeDecision,
763
916
  attempts,
764
- targetRank: candidate.targetRank
917
+ targetRank: candidate.targetRank,
918
+ abortSignal
765
919
  });
766
920
  }
767
921
  });
@@ -797,13 +951,14 @@ export const createGateway = (config) => {
797
951
  reasonCode: "agent-capabilities",
798
952
  message: "Skipped because agent capabilities do not satisfy the request."
799
953
  },
800
- onWinner: async (candidate, attempts) => {
954
+ onWinner: async (candidate, attempts, abortSignal) => {
801
955
  await config.onAgentRoute?.({
802
956
  provider: candidate.target.provider,
803
957
  modelId: candidate.target.modelId,
804
958
  routeDecision: route.context.routeDecision,
805
959
  attempts,
806
- targetRank: candidate.targetRank
960
+ targetRank: candidate.targetRank,
961
+ abortSignal
807
962
  });
808
963
  }
809
964
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -139,13 +139,24 @@ export interface GatewayConfig {
139
139
  latencyBiasMs?: Partial<Record<GatewayProviderId, number>>;
140
140
  unknownCostPolicy?: GatewayUnknownCostPolicy;
141
141
  scoreTarget?: (context: GatewayRoutingScoreContext) => number;
142
+ /** Maximum fallback targets accepted per request. Defaults to 8 and cannot exceed 32. */
143
+ maxFallbacks?: number;
144
+ /** Retries per target. Defaults to 2 and cannot exceed 5. */
142
145
  maxRetries?: number;
146
+ /** Maximum provider calls across one routed operation, including agent steps. Defaults to 32 and cannot exceed 128. */
147
+ maxTotalAttempts?: number;
143
148
  attemptTimeoutMs?: number;
144
149
  attemptTimeoutsMs?: Partial<Record<GatewayProviderId, number>>;
150
+ /** Maximum wait between provider stream events. Defaults to 60 seconds; set false to disable. */
151
+ streamIdleTimeoutMs?: number | false;
152
+ streamIdleTimeoutsMs?: Partial<Record<GatewayProviderId, number | false>>;
145
153
  retryBackoffMs?: number;
154
+ /** Maximum time spent awaiting a best-effort observer. Defaults to 1 second. */
155
+ observerTimeoutMs?: number;
146
156
  onAttempt?: (attempt: GatewayAttempt & {
147
157
  retry: number;
148
158
  targetRank: number;
159
+ abortSignal: AbortSignal;
149
160
  }) => void | Promise<void>;
150
161
  onAgentRoute?: (selection: {
151
162
  provider: GatewayProviderId;
@@ -153,6 +164,7 @@ export interface GatewayConfig {
153
164
  routeDecision: GatewayResponse["routeDecision"];
154
165
  attempts: GatewayAttempt[];
155
166
  targetRank: number;
167
+ abortSignal: AbortSignal;
156
168
  }) => void | Promise<void>;
157
169
  }
158
170
  export declare class GatewayError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEtC,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,KAAK,GACL,MAAM,GACN,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,GACN,UAAU,GACV,SAAS,GACT,QAAQ,GACR,cAAc,GACd,YAAY,CAAC;AACjB,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC;AACpE,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC1D,MAAM,MAAM,wBAAwB,GAChC,oBAAoB,GACpB,oBAAoB,GACpB,aAAa,GACb,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,CAAC;AACvB,MAAM,MAAM,8BAA8B,GACtC,eAAe,GACf,kBAAkB,GAClB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,GAAG,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAClI,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,cAAc,CAAC;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,yBAAyB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,GAAG;QAC5E,WAAW,CAAC,EAAE,gBAAgB,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAClD,oBAAoB,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAClE,YAAY,EAAE,iBAAiB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,KAAK,EAAE,UAAU,GAAG;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,aAAa,EAAE;QACb,IAAI,EAAE,kBAAkB,CAAC;QACzB,MAAM,EAAE,iBAAiB,CAAC;QAC1B,cAAc,EAAE,kBAAkB,EAAE,CAAC;QACrC,UAAU,CAAC,EAAE,8BAA8B,CAAC;QAC5C,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACzC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,4BAA4B,CAAC,OAAO,SAAS,UAAU,CAAE,SAAQ,cAAc;IAC9F,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB,CAAC,OAAO,SAAS,UAAU,CAC/D,SAAQ,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,EAC7C,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC;IAChF,OAAO,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;IACzE,KAAK,EAAE,aAAa,GAAG;QACrB,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;KACjD,CAAC;IACF,YAAY,EAAE,iBAAiB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAClF,OAAO,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,yBAAyB,CAAC,OAAO,SAAS,UAAU,CAAE,SAAQ,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IACzH,OAAO,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;IAC9D,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,MAAM,CAAC;IAC9D,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uHAAuH;IACvH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,iGAAiG;IACjG,mBAAmB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACrC,oBAAoB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,GAAG;QACrC,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,WAAW,CAAC;KAC1B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE;QACzB,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;QAChD,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,WAAW,CAAC;KAC1B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,qBAAa,YAAa,SAAQ,KAAK;IAGnC,QAAQ,CAAC,SAAS,EAAE,OAAO;gBAD3B,OAAO,EAAE,MAAM,EACN,SAAS,EAAE,OAAO;CAK9B"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA6NA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAG1B;IAFX,YACE,OAAe,EACN,SAAkB;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,cAAS,GAAT,SAAS,CAAS;QAG3B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA4OA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAG1B;IAFX,YACE,OAAe,EACN,SAAkB;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,cAAS,GAAT,SAAS,CAAS;QAG3B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhivex-ai/gateway",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Routing and fallback helpers for Zhivex AI SDK.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -41,7 +41,7 @@
41
41
  "access": "public"
42
42
  },
43
43
  "dependencies": {
44
- "@zhivex-ai/core": "^1.0.0",
44
+ "@zhivex-ai/core": "^1.1.2",
45
45
  "zod": "^4.4.3"
46
46
  }
47
47
  }