@zhivex-ai/gateway 1.0.3 → 1.2.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.
package/README.md CHANGED
@@ -18,10 +18,10 @@ For agent routing, the gateway can also filter by `agentCapabilities`, such as p
18
18
  ## Install
19
19
 
20
20
  ```bash
21
- bun add @zhivex-ai/gateway @zhivex-ai/openai @zhivex-ai/ollama
21
+ bun add @zhivex-ai/gateway @zhivex-ai/core @zhivex-ai/anthropic @zhivex-ai/openai @zhivex-ai/ollama
22
22
  ```
23
23
 
24
- Install the provider packages used by your own adapter map; OpenAI and Ollama are included above because the example below uses both.
24
+ Install the provider packages used by your own adapter map; the examples below use OpenAI, Ollama and Anthropic.
25
25
 
26
26
  ## Usage
27
27
 
@@ -107,3 +107,103 @@ This package is the SDK-local routing layer. It is not the Zhivex-hosted Gateway
107
107
  Repository and full documentation:
108
108
 
109
109
  - <https://github.com/Zhivex/zhivex-ai-sdk>
110
+
111
+ ## Continuing canonical tool history
112
+
113
+ `GatewayRequest.messages` accepts `GatewayInputMessage[]`, a union of the existing
114
+ `GatewayMessage` (role/content/images) and core `ModelMessage` (role/parts).
115
+ Existing text/image requests remain valid. Each message must use exactly one
116
+ representation; `content` or `images` combined with `parts` is rejected.
117
+
118
+ ```ts
119
+ import type { ModelMessage } from "@zhivex-ai/core";
120
+ import { createAnthropic } from "@zhivex-ai/anthropic";
121
+ import { createGateway, type GatewayRequest } from "@zhivex-ai/gateway";
122
+
123
+ const gateway = createGateway({ adapters: { anthropic: createAnthropic() } });
124
+ const messages: ModelMessage[] = [
125
+ { role: "user", parts: [{ type: "text", text: "What is the temperature in Buenos Aires?" }] },
126
+ { role: "assistant", parts: [{
127
+ type: "tool-call",
128
+ toolCall: { id: "call_weather_1", name: "weather", input: { city: "Buenos Aires" } }
129
+ }] },
130
+ { role: "tool", parts: [{
131
+ type: "tool-result",
132
+ toolResult: {
133
+ toolCallId: "call_weather_1", toolName: "weather",
134
+ output: { temperatureC: 18 }, isError: false
135
+ }
136
+ }] }
137
+ ];
138
+ const request: GatewayRequest = {
139
+ messages,
140
+ primary: { provider: "anthropic", modelId: "claude-sonnet-4-6" },
141
+ fallbacks: [{ provider: "anthropic", modelId: "claude-opus-4-6" }]
142
+ };
143
+ const answer = await gateway.generate(request);
144
+ const streamedAnswer = await gateway.streamText(request).collect();
145
+ ```
146
+
147
+ Historical results are input to the model and never invoke a tool executor.
148
+ New tool calls retain the existing `tools`, `toolExecution`, and `maxSteps` policy.
149
+ For an error result, set `isError: true` and `error: { message: "..." }` instead of
150
+ `output`. Successful results require a JSON `output`, including strings or null.
151
+ Tool inputs must be JSON objects. IDs must be unique across the request; results
152
+ must match both ID and tool name, occur after their calls, and resolve every call
153
+ before another conversation turn. Multiple calls and results retain input order;
154
+ results can arrive in a different ID order, grouped in one or consecutive tool
155
+ messages. System messages must precede conversation turns.
156
+
157
+ | Surface / destination | Canonical history support |
158
+ | --- | --- |
159
+ | `generate`, `streamText` | Supported, including usage estimates, attempts, finish reasons, cancellation and routing |
160
+ | `generateObject`, `streamObject` | Same input validation and routing; destination must also support the requested object mode |
161
+ | `runAgent`, `streamAgent` | Legacy `GatewayMessage[]` only; canonical input is explicitly rejected |
162
+ | Anthropic Messages | Text, user images, assistant tool calls, tool results and native `is_error` |
163
+ | OpenAI Chat / Responses | Callable tool history, including multiple results; explicit JSON success/error envelopes |
164
+ | DeepSeek Chat | Same JSON envelope support; portable replay defaults to non-thinking; reasoning-only models are excluded |
165
+ | Qwen Chat / Responses | Same JSON envelope support; portable replay defaults to non-thinking; thinking-only models are excluded |
166
+ | Other / older provider adapters | Must explicitly advertise `capabilities.toolHistory`; otherwise skipped with `model-capabilities`, even if `tools` is true |
167
+
168
+ The gateway is extensible through `ModelCapabilities.toolHistory`: `"native"`
169
+ means the adapter preserves error state natively, and `"json"` means it honors
170
+ `ModelGenerateInput.toolResultFormat: "envelope"`. Anthropic is also accepted for
171
+ backward compatibility with its existing native mapping. An older OpenAI,
172
+ DeepSeek or Qwen adapter without the declaration is skipped safely. Custom
173
+ adapters can declare support after implementing and testing the same contract;
174
+ there is no provider-name allowlist for opting in.
175
+
176
+ For JSON transports, each tool result is a separate Chat tool message or Responses
177
+ `function_call_output`. Its content/output string contains `{ "output": <JSON> }`
178
+ on success or `{ "error": { "message": "..." } }` on failure. This discriminant
179
+ keeps an error-shaped successful value distinguishable from an actual failure.
180
+ Calls and results retain their IDs and order. The original canonical messages and
181
+ `isError` remain unchanged. Direct SDK calls keep their prior raw result format
182
+ unless they explicitly request the new low-level format. Anthropic keeps native
183
+ `is_error`; it does not receive a JSON envelope. Hosted/provider-native tools are
184
+ not part of this portable callable-history contract.
185
+
186
+ DeepSeek/Qwen portable replay has no private thinking state: it defaults to
187
+ `thinking.type: "disabled"` / `enable_thinking: false` on those destinations only.
188
+ Explicit reasoning/thinking requests are skipped before HTTP; thinking-only
189
+ models do not advertise this capability. Text before assistant tool calls is
190
+ supported. JSON destinations reject text interleaved after calls instead of
191
+ moving it to the beginning. Anthropic can preserve that interleaving natively.
192
+
193
+ Tool-free canonical text/image messages continue to use normal capability checks.
194
+ Audio, files, provider-data, provider metadata, unsupported roles/parts and unknown
195
+ fields are rejected before provider calls.
196
+ Validation errors contain no message content. Provider failures and caller abort
197
+ reasons for tool-history requests use fixed, sanitized diagnostics. Once a stream
198
+ emits an event, a failure terminates it without retry/fallback; `collect()` rejects
199
+ on both thrown errors and provider error events.
200
+
201
+ Run `bun run test packages/gateway/tests` for regressions. After `bun run build`,
202
+ run `bun run scripts/gateway-history-package-smoke.ts` for a tarball consumer with
203
+ TypeScript compilation and generation/streaming on all six transport variants
204
+ (Anthropic; OpenAI Chat/Responses; DeepSeek Chat; Qwen Chat/Responses). It installs
205
+ candidate core/gateway/provider tarballs without checkout links. Add
206
+ `--live --provider=openai` (or `deepseek`, `qwen`, `anthropic`) to require an
207
+ authorized credential and perform two bounded live calls for one provider. A missing credential is a blocked live check, not
208
+ a passing certification. Publication evidence and the actual version are recorded
209
+ in [the delivery record](../../docs/GATEWAY_TOOL_HISTORY_DELIVERY.md).
package/dist/compat.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { ModelMessage } from "@zhivex-ai/core";
2
- import type { GatewayMessage, GatewayModelTarget, GatewayResponse } from "./types.js";
3
- export declare const gatewayMessagesToModelMessages: (messages: GatewayMessage[], systemPrompt?: string) => ModelMessage[];
2
+ import type { GatewayInputMessage, GatewayModelTarget, GatewayResponse } from "./types.js";
3
+ export declare const gatewayMessagesToModelMessages: (messages: GatewayInputMessage[], systemPrompt?: string) => ModelMessage[];
4
4
  export declare const createRouteDecision: (mode: GatewayResponse["routeDecision"]["mode"], intent: GatewayResponse["routeDecision"]["intent"], orderedTargets: GatewayModelTarget[]) => GatewayResponse["routeDecision"];
5
5
  //# sourceMappingURL=compat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,8BAA8B,GACzC,UAAU,cAAc,EAAE,EAC1B,eAAe,MAAM,KACpB,YAAY,EAyBd,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAC9C,QAAQ,eAAe,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAClD,gBAAgB,kBAAkB,EAAE,KACnC,eAAe,CAAC,eAAe,CAMhC,CAAC"}
1
+ {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,8BAA8B,GACzC,UAAU,mBAAmB,EAAE,EAC/B,eAAe,MAAM,KACpB,YAAY,EA8Bd,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAC9C,QAAQ,eAAe,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAClD,gBAAgB,kBAAkB,EAAE,KACnC,eAAe,CAAC,eAAe,CAMhC,CAAC"}
package/dist/compat.js CHANGED
@@ -1,4 +1,6 @@
1
+ import { validateGatewayMessages } from "./history.js";
1
2
  export const gatewayMessagesToModelMessages = (messages, systemPrompt) => {
3
+ validateGatewayMessages(messages);
2
4
  const mappedMessages = [];
3
5
  if (systemPrompt) {
4
6
  mappedMessages.push({
@@ -7,6 +9,10 @@ export const gatewayMessagesToModelMessages = (messages, systemPrompt) => {
7
9
  });
8
10
  }
9
11
  for (const message of messages) {
12
+ if ("parts" in message) {
13
+ mappedMessages.push(structuredClone(message));
14
+ continue;
15
+ }
10
16
  mappedMessages.push({
11
17
  role: message.role,
12
18
  parts: [
@@ -1 +1 @@
1
- {"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,QAA0B,EAC1B,YAAqB,EACL,EAAE;IAClB,MAAM,cAAc,GAAmB,EAAE,CAAC;IAE1C,IAAI,YAAY,EAAE,CAAC;QACjB,cAAc,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,cAAc,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE;gBACvC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACzC,IAAI,EAAE,OAAgB;oBACtB,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,SAAS,EAAE,KAAK,CAAC,QAAQ;iBAC1B,CAAC,CAAC,IAAI,EAAE,CAAC;aACX;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAA8C,EAC9C,MAAkD,EAClD,cAAoC,EACF,EAAE,CAAC,CAAC;IACtC,IAAI;IACJ,MAAM;IACN,cAAc;IACd,UAAU,EAAE,WAAW,IAAI,EAAE;IAC7B,MAAM,EAAE,cAAc,IAAI,cAAc,MAAM,UAAU;CACzD,CAAC,CAAC"}
1
+ {"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,QAA+B,EAC/B,YAAqB,EACL,EAAE;IAClB,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,cAAc,GAAmB,EAAE,CAAC;IAE1C,IAAI,YAAY,EAAE,CAAC;QACjB,cAAc,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACvB,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,cAAc,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE;gBACvC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACzC,IAAI,EAAE,OAAgB;oBACtB,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,SAAS,EAAE,KAAK,CAAC,QAAQ;iBAC1B,CAAC,CAAC,IAAI,EAAE,CAAC;aACX;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAA8C,EAC9C,MAAkD,EAClD,cAAoC,EACF,EAAE,CAAC,CAAC;IACtC,IAAI;IACJ,MAAM;IACN,cAAc;IACd,UAAU,EAAE,WAAW,IAAI,EAAE;IAC7B,MAAM,EAAE,cAAc,IAAI,cAAc,MAAM,UAAU;CACzD,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ModelMessage } from "@zhivex-ai/core";
2
+ import { type GatewayInputMessage } from "./types.js";
3
+ export declare const hasToolHistory: (messages: readonly ModelMessage[]) => boolean;
4
+ /** Validate the portable gateway subset before routing or invoking any adapter. */
5
+ export declare const validateGatewayMessages: (messages: GatewayInputMessage[]) => void;
6
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA2BpE,eAAO,MAAM,cAAc,GAAI,UAAU,SAAS,YAAY,EAAE,KAAG,OACiD,CAAC;AAErH,mFAAmF;AACnF,eAAO,MAAM,uBAAuB,GAAI,UAAU,mBAAmB,EAAE,KAAG,IAsEzE,CAAC"}
@@ -0,0 +1,125 @@
1
+ import { GatewayError } from "./types.js";
2
+ function invalid() {
3
+ // Never interpolate user content, tool IDs, arguments, or results in diagnostics.
4
+ throw new GatewayError("Invalid or unsupported gateway message history.", false);
5
+ }
6
+ ;
7
+ const record = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
8
+ const keys = (value, allowed) => {
9
+ if (Object.keys(value).some((key) => !allowed.includes(key)))
10
+ invalid();
11
+ };
12
+ const identifier = (value) => typeof value === "string" && value.length > 0 && value.length <= 256 && !/[\u0000-\u0020\u007f]/.test(value);
13
+ // JSON round trips must not silently remove fields or coerce non-JSON values.
14
+ const json = (value, ancestors = new Set(), depth = 0) => {
15
+ if (depth > 100)
16
+ invalid();
17
+ if (value === null || typeof value === "string" || typeof value === "boolean")
18
+ return;
19
+ if (typeof value === "number" && Number.isFinite(value))
20
+ return;
21
+ if (typeof value !== "object" || value === null || ancestors.has(value))
22
+ invalid();
23
+ const object = value;
24
+ if (!Array.isArray(value) && Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null)
25
+ invalid();
26
+ ancestors.add(object);
27
+ for (const item of Array.isArray(value) ? value : Object.values(object))
28
+ json(item, ancestors, depth + 1);
29
+ ancestors.delete(object);
30
+ };
31
+ export const hasToolHistory = (messages) => messages.some((message) => message.parts.some((part) => part.type === "tool-call" || part.type === "tool-result"));
32
+ /** Validate the portable gateway subset before routing or invoking any adapter. */
33
+ export const validateGatewayMessages = (messages) => {
34
+ if (!Array.isArray(messages))
35
+ invalid();
36
+ const calls = new Set();
37
+ const pending = new Map();
38
+ let seenConversation = false;
39
+ for (const message of messages) {
40
+ if (!record(message))
41
+ invalid();
42
+ if (!("parts" in message)) {
43
+ if (pending.size || (message.role !== "user" && message.role !== "assistant") || typeof message.content !== "string")
44
+ invalid();
45
+ keys(message, ["role", "content", "images"]);
46
+ if (message.images !== undefined) {
47
+ if (!Array.isArray(message.images))
48
+ invalid();
49
+ for (const image of message.images) {
50
+ if (!record(image) || typeof image.dataUrl !== "string" || typeof image.mimeType !== "string")
51
+ invalid();
52
+ keys(image, ["dataUrl", "mimeType"]);
53
+ }
54
+ }
55
+ seenConversation = true;
56
+ continue;
57
+ }
58
+ keys(message, ["role", "parts"]); // Explicitly reject content/images + parts ambiguity.
59
+ if (!Array.isArray(message.parts) || !message.parts.length)
60
+ invalid();
61
+ if (!["system", "user", "assistant", "tool"].includes(message.role))
62
+ invalid();
63
+ if (message.role === "system" && seenConversation)
64
+ invalid();
65
+ if (message.role !== "system")
66
+ seenConversation = true;
67
+ if (pending.size && message.role !== "tool")
68
+ invalid();
69
+ for (const part of message.parts) {
70
+ if (!record(part))
71
+ invalid();
72
+ switch (part.type) {
73
+ case "text":
74
+ keys(part, ["type", "text"]);
75
+ if (message.role === "tool" || typeof part.text !== "string")
76
+ invalid();
77
+ break;
78
+ case "image":
79
+ keys(part, ["type", "image", "mediaType"]);
80
+ if (message.role !== "user" || typeof part.image !== "string" || (part.mediaType !== undefined && typeof part.mediaType !== "string"))
81
+ invalid();
82
+ break;
83
+ case "tool-call": {
84
+ keys(part, ["type", "toolCall"]);
85
+ const call = part.toolCall;
86
+ if (message.role !== "assistant" || !record(call))
87
+ invalid();
88
+ keys(call, ["id", "name", "input"]);
89
+ if (!identifier(call.id) || !identifier(call.name) || calls.has(call.id) || !record(call.input))
90
+ invalid();
91
+ json(call.input);
92
+ calls.add(call.id);
93
+ pending.set(call.id, call.name);
94
+ break;
95
+ }
96
+ case "tool-result": {
97
+ keys(part, ["type", "toolResult"]);
98
+ const result = part.toolResult;
99
+ if (message.role !== "tool" || !record(result))
100
+ invalid();
101
+ keys(result, ["toolCallId", "toolName", "output", "error", "isError"]);
102
+ if (!identifier(result.toolCallId) || !identifier(result.toolName) || pending.get(result.toolCallId) !== result.toolName || typeof result.isError !== "boolean")
103
+ invalid();
104
+ if (result.isError) {
105
+ if (result.output !== undefined || !record(result.error) || typeof result.error.message !== "string")
106
+ invalid();
107
+ keys(result.error, ["message"]);
108
+ }
109
+ else {
110
+ if (result.error !== undefined)
111
+ invalid();
112
+ json(result.output);
113
+ }
114
+ pending.delete(result.toolCallId);
115
+ break;
116
+ }
117
+ default:
118
+ invalid();
119
+ }
120
+ }
121
+ }
122
+ if (pending.size)
123
+ invalid();
124
+ };
125
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { ZodTypeAny } from "zod";
2
2
  import { type GatewayAgentRequest, type GatewayAgentResponse, type GatewayAgentStreamResult, type GatewayConfig, type GatewayGenerateObjectRequest, type GatewayObjectResponse, type GatewayRequest, type GatewayResponse, type GatewayStreamObjectResult, type GatewayStreamTextResult } from "./types.js";
3
3
  export { GatewayError } from "./types.js";
4
- export type { GatewayAgentRequest, GatewayAgentResponse, GatewayAgentStreamResult, GatewayAttempt, GatewayAttemptReasonCode, GatewayConfig, GatewayGenerateObjectRequest, GatewayImageAttachment, GatewayMessage, GatewayModelTarget, GatewayObjectResponse, GatewayProviderId, GatewayRequest, GatewayResponse, GatewayRouteDecisionReasonCode, GatewayRoutingMode, GatewayRoutingScoreContext, GatewayStreamObjectResult, GatewayStreamTextResult, GatewayTaskIntent, GatewayUnknownCostPolicy } from "./types.js";
4
+ export type { GatewayAgentRequest, GatewayAgentResponse, GatewayAgentStreamResult, GatewayAttempt, GatewayAttemptReasonCode, GatewayConfig, GatewayGenerateObjectRequest, GatewayImageAttachment, GatewayInputMessage, GatewayMessage, GatewayModelTarget, GatewayObjectResponse, GatewayProviderId, GatewayRequest, GatewayResponse, GatewayRouteDecisionReasonCode, GatewayRoutingMode, GatewayRoutingScoreContext, GatewayStreamObjectResult, GatewayStreamTextResult, GatewayTaskIntent, GatewayUnknownCostPolicy } from "./types.js";
5
5
  export declare const createGateway: (config: GatewayConfig) => {
6
6
  generate(request: GatewayRequest): Promise<GatewayResponse>;
7
7
  streamText(request: GatewayRequest): GatewayStreamTextResult;
@@ -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;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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAItC,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,mBAAmB,EACnB,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;AAu3BpB,eAAO,MAAM,aAAa,GAAI,QAAQ,aAAa;sBA8cvB,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;yBAoDtD,mBAAmB,GAAG,wBAAwB;CA4DtE,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { ConflictError, GuardrailTriggeredError, ProviderHTTPError, ValidationError, createAgent, generateObject, generateText, runAgent, streamAgent, streamObject, streamText } from "@zhivex-ai/core";
2
2
  import { createRouteDecision, gatewayMessagesToModelMessages } from "./compat.js";
3
+ import { hasToolHistory, validateGatewayMessages } from "./history.js";
3
4
  import { GatewayError } from "./types.js";
4
5
  export { GatewayError } from "./types.js";
5
6
  const DEFAULT_MAX_FALLBACKS = 8;
@@ -20,6 +21,7 @@ const GATEWAY_PROVIDERS = new Set([
20
21
  "qwen",
21
22
  "kimi",
22
23
  "deepseek",
24
+ "zai",
23
25
  "bedrock",
24
26
  "ollama",
25
27
  "azure-openai",
@@ -103,6 +105,8 @@ const validateTarget = (target, label) => {
103
105
  }
104
106
  };
105
107
  const validateRouteRequest = (config, request) => {
108
+ if (request.messages !== undefined)
109
+ validateGatewayMessages(request.messages);
106
110
  const fallbacks = request.fallbacks ?? [];
107
111
  const maxFallbacks = getMaxFallbacks(config);
108
112
  if (fallbacks.length > maxFallbacks) {
@@ -423,11 +427,78 @@ const normalizeUsage = (usage, inputText, outputText) => {
423
427
  estimated: usage?.inputTokens == null || usage?.outputTokens == null || usage?.totalTokens == null
424
428
  };
425
429
  };
426
- const getInputText = (request) => `${request.systemPrompt ?? ""}\n${request.messages.map((message) => message.content).join("\n")}`.trim();
427
- const requestHasImages = (request) => request.messages?.some((message) => (message.images?.length ?? 0) > 0) ?? false;
430
+ const getInputText = (request) => `${request.systemPrompt ?? ""}\n${request.messages.map((message) => "parts" in message ? JSON.stringify(message.parts) : message.content).join("\n")}`.trim();
431
+ const requestHasImages = (request) => request.messages?.some((message) => "parts" in message ? message.parts.some((part) => part.type === "image") : (message.images?.length ?? 0) > 0) ?? false;
432
+ const requestHasToolHistory = (request) => request.messages?.some((message) => "parts" in message && hasToolHistory([message])) ?? false;
433
+ // Native Anthropic support predates the optional capability. New adapters opt in explicitly.
434
+ const historyTransport = (model) => model.capabilities.toolHistory ?? (model.provider === "anthropic" ? "native" : undefined);
435
+ const historySkipReason = (model, history) => history && (!historyTransport(model) || !model.capabilities.tools)
436
+ ? "Skipped because model does not support the gateway tool history contract."
437
+ : undefined;
438
+ const historyInputSkipReason = (model, input) => {
439
+ if (!hasToolHistory(input.messages))
440
+ return undefined;
441
+ if (historyTransport(model) === "json" && input.messages.some((message) => {
442
+ let seenCall = false;
443
+ return message.parts.some((part) => {
444
+ if (part.type === "tool-call")
445
+ seenCall = true;
446
+ return seenCall && part.type === "text";
447
+ });
448
+ }))
449
+ return "Skipped because the destination cannot preserve text interleaved after tool calls.";
450
+ if (model.provider !== "deepseek" && model.provider !== "qwen")
451
+ return undefined;
452
+ const options = input.providerOptions ?? {};
453
+ const thinking = options.thinking;
454
+ if ((input.reasoning && (input.reasoning.effort !== "none" || input.reasoning.includeThoughts)) ||
455
+ thinking?.type === "enabled" || options.enable_thinking === true ||
456
+ (options.reasoning_effort !== undefined && options.reasoning_effort !== "none") ||
457
+ options.thinking_budget !== undefined) {
458
+ return "Skipped because portable tool history cannot replay provider-specific thinking state.";
459
+ }
460
+ return undefined;
461
+ };
462
+ const prepareHistoryInput = (model, input, enabled) => {
463
+ if (!enabled)
464
+ return input;
465
+ const providerOptions = { ...(input.providerOptions ?? {}) };
466
+ // Portable replay contains no private reasoning state. Default these hybrid models to non-thinking.
467
+ if (model.provider === "deepseek")
468
+ providerOptions.thinking = { type: "disabled" };
469
+ if (model.provider === "qwen")
470
+ providerOptions.enable_thinking = false;
471
+ return {
472
+ ...input,
473
+ messages: structuredClone(input.messages),
474
+ toolResultFormat: historyTransport(model) === "json" ? "envelope" : input.toolResultFormat,
475
+ providerOptions
476
+ };
477
+ };
478
+ const historySignals = new WeakMap();
479
+ const historyAbortSignal = (signal) => {
480
+ if (!signal)
481
+ return undefined;
482
+ const existing = historySignals.get(signal);
483
+ if (existing)
484
+ return existing;
485
+ const controller = new AbortController();
486
+ const abort = () => controller.abort(new DOMException("Gateway request aborted.", "AbortError"));
487
+ if (signal.aborted)
488
+ abort();
489
+ else
490
+ signal.addEventListener("abort", abort, { once: true });
491
+ historySignals.set(signal, controller.signal);
492
+ return controller.signal;
493
+ };
494
+ const assertLegacyAgentMessages = (request) => {
495
+ if (request.messages?.some((message) => "parts" in message)) {
496
+ throw new GatewayError("Canonical gateway history is not supported by agent operations.", false);
497
+ }
498
+ };
428
499
  const buildRequiredCapabilities = (request, extra = {}) => ({
429
500
  ...(request.requiredCapabilities ?? {}),
430
- ...(request.tools ? { tools: true } : {}),
501
+ ...(request.tools || requestHasToolHistory(request) ? { tools: true } : {}),
431
502
  ...(request.toolChoice ? { toolChoice: true } : {}),
432
503
  ...(request.reasoning ? { reasoning: true } : {}),
433
504
  ...(requestHasImages(request) ? { vision: true } : {}),
@@ -447,7 +518,7 @@ const objectCapabilitySkipReason = (model, request) => {
447
518
  return undefined;
448
519
  };
449
520
  const modelInputSkipReason = (model, input) => {
450
- if (input.tools && !model.capabilities.tools) {
521
+ if ((input.tools || hasToolHistory(input.messages)) && !model.capabilities.tools) {
451
522
  return "Skipped because model does not support tools.";
452
523
  }
453
524
  if (input.reasoning && !model.capabilities.reasoning) {
@@ -473,7 +544,7 @@ const createTextOptions = (model, request) => ({
473
544
  maxTokens: request.maxTokens,
474
545
  reasoning: request.reasoning,
475
546
  providerOptions: request.providerOptions,
476
- abortSignal: request.abortSignal
547
+ abortSignal: requestHasToolHistory(request) ? historyAbortSignal(request.abortSignal) : request.abortSignal
477
548
  });
478
549
  const enrichTextResult = (request, target, attempts, routeDecision, startedAt, result) => ({
479
550
  ...result,
@@ -567,7 +638,7 @@ export const createGateway = (config) => {
567
638
  catch (error) {
568
639
  queueAttempt(createAttempt(target, false, 0, targetRank, {
569
640
  reasonCode: "operation-skip",
570
- errorMessage: error instanceof Error ? error.message : "Provider model construction failed."
641
+ errorMessage: !requestHasToolHistory(request) && error instanceof Error ? error.message : "Provider model construction failed."
571
642
  }));
572
643
  continue;
573
644
  }
@@ -578,6 +649,14 @@ export const createGateway = (config) => {
578
649
  }));
579
650
  continue;
580
651
  }
652
+ const historyReason = historySkipReason(model, requestHasToolHistory(request));
653
+ if (historyReason) {
654
+ queueAttempt(createAttempt(target, false, 0, targetRank, {
655
+ reasonCode: "model-capabilities",
656
+ errorMessage: historyReason
657
+ }));
658
+ continue;
659
+ }
581
660
  const budgetReason = costBudgetSkipReason(config, request, target);
582
661
  if (budgetReason) {
583
662
  queueAttempt(createAttempt(target, false, 0, targetRank, {
@@ -600,6 +679,7 @@ export const createGateway = (config) => {
600
679
  throw new GatewayError(attempts.at(-1)?.errorMessage ?? "No gateway target satisfied the request.", false);
601
680
  }
602
681
  const context = {
682
+ toolHistory: requestHasToolHistory(request),
603
683
  attempts,
604
684
  candidates,
605
685
  routeDecision,
@@ -626,6 +706,13 @@ export const createGateway = (config) => {
626
706
  const first = context.candidates[0];
627
707
  const maxTotalAttempts = getMaxTotalAttempts(config);
628
708
  let totalProviderAttempts = 0;
709
+ const dispositionFor = (error) => {
710
+ const disposition = normalizeError(error);
711
+ if (context.toolHistory) {
712
+ disposition.error = new GatewayError("Gateway provider failed while continuing tool history.", disposition.error.retryable);
713
+ }
714
+ return disposition;
715
+ };
629
716
  const reserveProviderAttempt = () => {
630
717
  if (totalProviderAttempts >= maxTotalAttempts) {
631
718
  throw new GatewayError(`Gateway operation exceeded the configured maximum of ${maxTotalAttempts} provider attempts.`, false);
@@ -648,7 +735,8 @@ export const createGateway = (config) => {
648
735
  : context.candidates;
649
736
  const maxRetries = getMaxRetries(config);
650
737
  for (const candidate of candidates) {
651
- const inputSkipReason = modelInputSkipReason(candidate.model, input);
738
+ const inputSkipReason = modelInputSkipReason(candidate.model, input) ??
739
+ (context.toolHistory ? historyInputSkipReason(candidate.model, input) : undefined);
652
740
  if (inputSkipReason) {
653
741
  await recordInputSkip(candidate, inputSkipReason);
654
742
  continue;
@@ -659,7 +747,7 @@ export const createGateway = (config) => {
659
747
  const control = createAttemptControl(input.abortSignal, getAttemptTimeoutMs(config, candidate.target.provider));
660
748
  try {
661
749
  const result = await control.waitFor(candidate.model.generate({
662
- ...input,
750
+ ...prepareHistoryInput(candidate.model, input, context.toolHistory),
663
751
  abortSignal: control.signal
664
752
  }));
665
753
  control.stopTimeout();
@@ -684,7 +772,7 @@ export const createGateway = (config) => {
684
772
  }));
685
773
  throw abortReason(input.abortSignal);
686
774
  }
687
- const disposition = normalizeError(error);
775
+ const disposition = dispositionFor(error);
688
776
  await context.recordAttempt(createAttempt(candidate.target, false, Date.now() - attemptStartedAt, candidate.targetRank, {
689
777
  retry,
690
778
  reasonCode: "provider-error",
@@ -710,7 +798,8 @@ export const createGateway = (config) => {
710
798
  : context.candidates;
711
799
  const maxRetries = getMaxRetries(config);
712
800
  for (const candidate of candidates) {
713
- const inputSkipReason = modelInputSkipReason(candidate.model, input);
801
+ const inputSkipReason = modelInputSkipReason(candidate.model, input) ??
802
+ (context.toolHistory ? historyInputSkipReason(candidate.model, input) : undefined);
714
803
  if (inputSkipReason) {
715
804
  await recordInputSkip(candidate, inputSkipReason);
716
805
  continue;
@@ -726,7 +815,7 @@ export const createGateway = (config) => {
726
815
  let iterator;
727
816
  try {
728
817
  const providerStream = await control.waitFor(candidate.model.stream({
729
- ...input,
818
+ ...prepareHistoryInput(candidate.model, input, context.toolHistory),
730
819
  abortSignal: control.signal
731
820
  }));
732
821
  iterator = providerStream[Symbol.asyncIterator]();
@@ -767,16 +856,38 @@ export const createGateway = (config) => {
767
856
  completed = true;
768
857
  return;
769
858
  }
859
+ if (context.toolHistory && next.value.type === "error")
860
+ throw next.value.error;
770
861
  yield next.value;
771
862
  }
772
863
  }
864
+ catch (error) {
865
+ if (context.toolHistory) {
866
+ const aborted = input.abortSignal?.aborted === true;
867
+ const failure = aborted ? abortReason(input.abortSignal) : dispositionFor(error).error;
868
+ await context.recordAttempt(createAttempt(candidate.target, false, Date.now() - attemptStartedAt, candidate.targetRank, {
869
+ retry,
870
+ reasonCode: aborted ? "request-aborted" : "provider-error",
871
+ errorMessage: failure.message
872
+ }));
873
+ throw failure;
874
+ }
875
+ throw error;
876
+ }
773
877
  finally {
774
878
  if (!completed) {
775
879
  control.abort(new DOMException("Gateway stream consumer closed.", "AbortError"));
776
880
  }
777
881
  control.dispose();
778
882
  if (iterator?.return) {
779
- await iterator.return();
883
+ try {
884
+ await iterator.return();
885
+ }
886
+ catch (error) {
887
+ if (context.toolHistory)
888
+ throw dispositionFor(error).error;
889
+ throw error;
890
+ }
780
891
  }
781
892
  }
782
893
  })();
@@ -797,7 +908,7 @@ export const createGateway = (config) => {
797
908
  }));
798
909
  throw abortReason(input.abortSignal);
799
910
  }
800
- const disposition = normalizeError(error);
911
+ const disposition = dispositionFor(error);
801
912
  await context.recordAttempt(createAttempt(candidate.target, false, Date.now() - attemptStartedAt, candidate.targetRank, {
802
913
  retry,
803
914
  reasonCode: "provider-error",
@@ -900,6 +1011,7 @@ export const createGateway = (config) => {
900
1011
  };
901
1012
  },
902
1013
  async runAgent(request) {
1014
+ assertLegacyAgentMessages(request);
903
1015
  const route = createStandardRoute(request, {
904
1016
  defaultIntent: "tool-heavy",
905
1017
  getSkipReason: (model) => supportsRequiredAgentCapabilities(model, request.requiredAgentCapabilities)
@@ -942,6 +1054,7 @@ export const createGateway = (config) => {
942
1054
  return enrichAgentResult(targetForResult(route.context), route.context.attempts, route.context.routeDecision, route.context.startedAt, result);
943
1055
  },
944
1056
  streamAgent(request) {
1057
+ assertLegacyAgentMessages(request);
945
1058
  const route = createStandardRoute(request, {
946
1059
  defaultIntent: "tool-heavy",
947
1060
  extraRequiredCapabilities: { streaming: true },
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
@@ -1,6 +1,6 @@
1
- import type { AgentApprovalResponse, AgentCapabilities, AgentHookFailurePolicy, AgentHandoff, AgentMemoryStore, AgentRunPolicy, AgentRunOutput, AgentRunState, AgentRunStore, AgentStoreScope, AgentStreamResult, AgentSupportTier, AgentTelemetryObserver, GenerateObjectOutput, GenerateTextOutput, JsonValue, ModelCatalog, ProviderAdapter, ReasoningConfig, StreamObjectResult, StreamTextResult, TokenUsage, ToolApprovalPolicy, ToolChoice, ToolExecutionOptions, ToolSet } from "@zhivex-ai/core";
1
+ import type { AgentApprovalResponse, AgentCapabilities, AgentHookFailurePolicy, AgentHandoff, AgentMemoryStore, AgentRunPolicy, AgentRunOutput, AgentRunState, AgentRunStore, AgentStoreScope, AgentStreamResult, AgentSupportTier, AgentTelemetryObserver, GenerateObjectOutput, GenerateTextOutput, JsonValue, ModelCatalog, ModelMessage, ProviderAdapter, ReasoningConfig, StreamObjectResult, StreamTextResult, TokenUsage, ToolApprovalPolicy, ToolChoice, ToolExecutionOptions, ToolSet } from "@zhivex-ai/core";
2
2
  import type { ZodTypeAny } from "zod";
3
- export type GatewayProviderId = "openai" | "xai" | "meta" | "anthropic" | "gemini" | "vertex" | "qwen" | "kimi" | "deepseek" | "bedrock" | "ollama" | "azure-openai" | "openrouter";
3
+ export type GatewayProviderId = "openai" | "xai" | "meta" | "anthropic" | "gemini" | "vertex" | "qwen" | "kimi" | "deepseek" | "zai" | "bedrock" | "ollama" | "azure-openai" | "openrouter";
4
4
  export type GatewayRoutingMode = "speed" | "balanced" | "quality";
5
5
  export type GatewayTaskIntent = "chat" | "reasoning" | "tool-heavy";
6
6
  export type GatewayUnknownCostPolicy = "reject" | "allow";
@@ -15,12 +15,14 @@ export interface GatewayMessage {
15
15
  content: string;
16
16
  images?: GatewayImageAttachment[];
17
17
  }
18
+ /** Legacy text/image messages or canonical core messages. See the supported history subset in README. */
19
+ export type GatewayInputMessage = GatewayMessage | ModelMessage;
18
20
  export interface GatewayModelTarget {
19
21
  provider: GatewayProviderId;
20
22
  modelId: string;
21
23
  }
22
24
  export interface GatewayRequest {
23
- messages: GatewayMessage[];
25
+ messages: GatewayInputMessage[];
24
26
  systemPrompt?: string;
25
27
  temperature?: number;
26
28
  maxTokens?: number;
@@ -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":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAiPA,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.3",
3
+ "version": "1.2.0",
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.1.2",
44
+ "@zhivex-ai/core": "^1.12.0",
45
45
  "zod": "^4.4.3"
46
46
  }
47
47
  }