@zhivex-ai/gateway 1.1.0 → 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 +102 -2
- package/dist/compat.d.ts +2 -2
- package/dist/compat.d.ts.map +1 -1
- package/dist/compat.js +6 -0
- package/dist/compat.js.map +1 -1
- package/dist/history.d.ts +6 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +125 -0
- package/dist/history.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +125 -13
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +4 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
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;
|
|
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 {
|
|
3
|
-
export declare const gatewayMessagesToModelMessages: (messages:
|
|
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
|
package/dist/compat.d.ts.map
CHANGED
|
@@ -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,
|
|
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: [
|
package/dist/compat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/history.js
ADDED
|
@@ -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;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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;
|
|
@@ -104,6 +105,8 @@ const validateTarget = (target, label) => {
|
|
|
104
105
|
}
|
|
105
106
|
};
|
|
106
107
|
const validateRouteRequest = (config, request) => {
|
|
108
|
+
if (request.messages !== undefined)
|
|
109
|
+
validateGatewayMessages(request.messages);
|
|
107
110
|
const fallbacks = request.fallbacks ?? [];
|
|
108
111
|
const maxFallbacks = getMaxFallbacks(config);
|
|
109
112
|
if (fallbacks.length > maxFallbacks) {
|
|
@@ -424,11 +427,78 @@ const normalizeUsage = (usage, inputText, outputText) => {
|
|
|
424
427
|
estimated: usage?.inputTokens == null || usage?.outputTokens == null || usage?.totalTokens == null
|
|
425
428
|
};
|
|
426
429
|
};
|
|
427
|
-
const getInputText = (request) => `${request.systemPrompt ?? ""}\n${request.messages.map((message) => message.content).join("\n")}`.trim();
|
|
428
|
-
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
|
+
};
|
|
429
499
|
const buildRequiredCapabilities = (request, extra = {}) => ({
|
|
430
500
|
...(request.requiredCapabilities ?? {}),
|
|
431
|
-
...(request.tools ? { tools: true } : {}),
|
|
501
|
+
...(request.tools || requestHasToolHistory(request) ? { tools: true } : {}),
|
|
432
502
|
...(request.toolChoice ? { toolChoice: true } : {}),
|
|
433
503
|
...(request.reasoning ? { reasoning: true } : {}),
|
|
434
504
|
...(requestHasImages(request) ? { vision: true } : {}),
|
|
@@ -448,7 +518,7 @@ const objectCapabilitySkipReason = (model, request) => {
|
|
|
448
518
|
return undefined;
|
|
449
519
|
};
|
|
450
520
|
const modelInputSkipReason = (model, input) => {
|
|
451
|
-
if (input.tools && !model.capabilities.tools) {
|
|
521
|
+
if ((input.tools || hasToolHistory(input.messages)) && !model.capabilities.tools) {
|
|
452
522
|
return "Skipped because model does not support tools.";
|
|
453
523
|
}
|
|
454
524
|
if (input.reasoning && !model.capabilities.reasoning) {
|
|
@@ -474,7 +544,7 @@ const createTextOptions = (model, request) => ({
|
|
|
474
544
|
maxTokens: request.maxTokens,
|
|
475
545
|
reasoning: request.reasoning,
|
|
476
546
|
providerOptions: request.providerOptions,
|
|
477
|
-
abortSignal: request.abortSignal
|
|
547
|
+
abortSignal: requestHasToolHistory(request) ? historyAbortSignal(request.abortSignal) : request.abortSignal
|
|
478
548
|
});
|
|
479
549
|
const enrichTextResult = (request, target, attempts, routeDecision, startedAt, result) => ({
|
|
480
550
|
...result,
|
|
@@ -568,7 +638,7 @@ export const createGateway = (config) => {
|
|
|
568
638
|
catch (error) {
|
|
569
639
|
queueAttempt(createAttempt(target, false, 0, targetRank, {
|
|
570
640
|
reasonCode: "operation-skip",
|
|
571
|
-
errorMessage: error instanceof Error ? error.message : "Provider model construction failed."
|
|
641
|
+
errorMessage: !requestHasToolHistory(request) && error instanceof Error ? error.message : "Provider model construction failed."
|
|
572
642
|
}));
|
|
573
643
|
continue;
|
|
574
644
|
}
|
|
@@ -579,6 +649,14 @@ export const createGateway = (config) => {
|
|
|
579
649
|
}));
|
|
580
650
|
continue;
|
|
581
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
|
+
}
|
|
582
660
|
const budgetReason = costBudgetSkipReason(config, request, target);
|
|
583
661
|
if (budgetReason) {
|
|
584
662
|
queueAttempt(createAttempt(target, false, 0, targetRank, {
|
|
@@ -601,6 +679,7 @@ export const createGateway = (config) => {
|
|
|
601
679
|
throw new GatewayError(attempts.at(-1)?.errorMessage ?? "No gateway target satisfied the request.", false);
|
|
602
680
|
}
|
|
603
681
|
const context = {
|
|
682
|
+
toolHistory: requestHasToolHistory(request),
|
|
604
683
|
attempts,
|
|
605
684
|
candidates,
|
|
606
685
|
routeDecision,
|
|
@@ -627,6 +706,13 @@ export const createGateway = (config) => {
|
|
|
627
706
|
const first = context.candidates[0];
|
|
628
707
|
const maxTotalAttempts = getMaxTotalAttempts(config);
|
|
629
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
|
+
};
|
|
630
716
|
const reserveProviderAttempt = () => {
|
|
631
717
|
if (totalProviderAttempts >= maxTotalAttempts) {
|
|
632
718
|
throw new GatewayError(`Gateway operation exceeded the configured maximum of ${maxTotalAttempts} provider attempts.`, false);
|
|
@@ -649,7 +735,8 @@ export const createGateway = (config) => {
|
|
|
649
735
|
: context.candidates;
|
|
650
736
|
const maxRetries = getMaxRetries(config);
|
|
651
737
|
for (const candidate of candidates) {
|
|
652
|
-
const inputSkipReason = modelInputSkipReason(candidate.model, input)
|
|
738
|
+
const inputSkipReason = modelInputSkipReason(candidate.model, input) ??
|
|
739
|
+
(context.toolHistory ? historyInputSkipReason(candidate.model, input) : undefined);
|
|
653
740
|
if (inputSkipReason) {
|
|
654
741
|
await recordInputSkip(candidate, inputSkipReason);
|
|
655
742
|
continue;
|
|
@@ -660,7 +747,7 @@ export const createGateway = (config) => {
|
|
|
660
747
|
const control = createAttemptControl(input.abortSignal, getAttemptTimeoutMs(config, candidate.target.provider));
|
|
661
748
|
try {
|
|
662
749
|
const result = await control.waitFor(candidate.model.generate({
|
|
663
|
-
...input,
|
|
750
|
+
...prepareHistoryInput(candidate.model, input, context.toolHistory),
|
|
664
751
|
abortSignal: control.signal
|
|
665
752
|
}));
|
|
666
753
|
control.stopTimeout();
|
|
@@ -685,7 +772,7 @@ export const createGateway = (config) => {
|
|
|
685
772
|
}));
|
|
686
773
|
throw abortReason(input.abortSignal);
|
|
687
774
|
}
|
|
688
|
-
const disposition =
|
|
775
|
+
const disposition = dispositionFor(error);
|
|
689
776
|
await context.recordAttempt(createAttempt(candidate.target, false, Date.now() - attemptStartedAt, candidate.targetRank, {
|
|
690
777
|
retry,
|
|
691
778
|
reasonCode: "provider-error",
|
|
@@ -711,7 +798,8 @@ export const createGateway = (config) => {
|
|
|
711
798
|
: context.candidates;
|
|
712
799
|
const maxRetries = getMaxRetries(config);
|
|
713
800
|
for (const candidate of candidates) {
|
|
714
|
-
const inputSkipReason = modelInputSkipReason(candidate.model, input)
|
|
801
|
+
const inputSkipReason = modelInputSkipReason(candidate.model, input) ??
|
|
802
|
+
(context.toolHistory ? historyInputSkipReason(candidate.model, input) : undefined);
|
|
715
803
|
if (inputSkipReason) {
|
|
716
804
|
await recordInputSkip(candidate, inputSkipReason);
|
|
717
805
|
continue;
|
|
@@ -727,7 +815,7 @@ export const createGateway = (config) => {
|
|
|
727
815
|
let iterator;
|
|
728
816
|
try {
|
|
729
817
|
const providerStream = await control.waitFor(candidate.model.stream({
|
|
730
|
-
...input,
|
|
818
|
+
...prepareHistoryInput(candidate.model, input, context.toolHistory),
|
|
731
819
|
abortSignal: control.signal
|
|
732
820
|
}));
|
|
733
821
|
iterator = providerStream[Symbol.asyncIterator]();
|
|
@@ -768,16 +856,38 @@ export const createGateway = (config) => {
|
|
|
768
856
|
completed = true;
|
|
769
857
|
return;
|
|
770
858
|
}
|
|
859
|
+
if (context.toolHistory && next.value.type === "error")
|
|
860
|
+
throw next.value.error;
|
|
771
861
|
yield next.value;
|
|
772
862
|
}
|
|
773
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
|
+
}
|
|
774
877
|
finally {
|
|
775
878
|
if (!completed) {
|
|
776
879
|
control.abort(new DOMException("Gateway stream consumer closed.", "AbortError"));
|
|
777
880
|
}
|
|
778
881
|
control.dispose();
|
|
779
882
|
if (iterator?.return) {
|
|
780
|
-
|
|
883
|
+
try {
|
|
884
|
+
await iterator.return();
|
|
885
|
+
}
|
|
886
|
+
catch (error) {
|
|
887
|
+
if (context.toolHistory)
|
|
888
|
+
throw dispositionFor(error).error;
|
|
889
|
+
throw error;
|
|
890
|
+
}
|
|
781
891
|
}
|
|
782
892
|
}
|
|
783
893
|
})();
|
|
@@ -798,7 +908,7 @@ export const createGateway = (config) => {
|
|
|
798
908
|
}));
|
|
799
909
|
throw abortReason(input.abortSignal);
|
|
800
910
|
}
|
|
801
|
-
const disposition =
|
|
911
|
+
const disposition = dispositionFor(error);
|
|
802
912
|
await context.recordAttempt(createAttempt(candidate.target, false, Date.now() - attemptStartedAt, candidate.targetRank, {
|
|
803
913
|
retry,
|
|
804
914
|
reasonCode: "provider-error",
|
|
@@ -901,6 +1011,7 @@ export const createGateway = (config) => {
|
|
|
901
1011
|
};
|
|
902
1012
|
},
|
|
903
1013
|
async runAgent(request) {
|
|
1014
|
+
assertLegacyAgentMessages(request);
|
|
904
1015
|
const route = createStandardRoute(request, {
|
|
905
1016
|
defaultIntent: "tool-heavy",
|
|
906
1017
|
getSkipReason: (model) => supportsRequiredAgentCapabilities(model, request.requiredAgentCapabilities)
|
|
@@ -943,6 +1054,7 @@ export const createGateway = (config) => {
|
|
|
943
1054
|
return enrichAgentResult(targetForResult(route.context), route.context.attempts, route.context.routeDecision, route.context.startedAt, result);
|
|
944
1055
|
},
|
|
945
1056
|
streamAgent(request) {
|
|
1057
|
+
assertLegacyAgentMessages(request);
|
|
946
1058
|
const route = createStandardRoute(request, {
|
|
947
1059
|
defaultIntent: "tool-heavy",
|
|
948
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,4 +1,4 @@
|
|
|
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
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";
|
|
@@ -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:
|
|
25
|
+
messages: GatewayInputMessage[];
|
|
24
26
|
systemPrompt?: string;
|
|
25
27
|
temperature?: number;
|
|
26
28
|
maxTokens?: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,KAAK,GACL,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,
|
|
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,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,KAAK,GACL,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,yGAAyG;AACzG,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,YAAY,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,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":"
|
|
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.
|
|
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.
|
|
44
|
+
"@zhivex-ai/core": "^1.12.0",
|
|
45
45
|
"zod": "^4.4.3"
|
|
46
46
|
}
|
|
47
47
|
}
|