@jini-ai/agent-runtime 0.2.1 → 0.3.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 +2 -2
- package/dist/agent-protocol/acp/session.d.ts +206 -1
- package/dist/agent-protocol/acp/session.d.ts.map +1 -1
- package/dist/agent-protocol/acp/session.js +505 -350
- package/dist/agent-protocol/acp/session.js.map +1 -1
- package/dist/agent-protocol/core/json-line-stream.d.ts +53 -0
- package/dist/agent-protocol/core/json-line-stream.d.ts.map +1 -1
- package/dist/agent-protocol/core/json-line-stream.js +307 -255
- package/dist/agent-protocol/core/json-line-stream.js.map +1 -1
- package/dist/agent-protocol/pi-rpc/events.d.ts +22 -1
- package/dist/agent-protocol/pi-rpc/events.d.ts.map +1 -1
- package/dist/agent-protocol/pi-rpc/events.js +189 -153
- package/dist/agent-protocol/pi-rpc/events.js.map +1 -1
- package/dist/agent-protocol/pi-rpc/session.d.ts +39 -0
- package/dist/agent-protocol/pi-rpc/session.d.ts.map +1 -1
- package/dist/agent-protocol/pi-rpc/session.js +143 -107
- package/dist/agent-protocol/pi-rpc/session.js.map +1 -1
- package/dist/claude-stream.d.ts +64 -1
- package/dist/claude-stream.d.ts.map +1 -1
- package/dist/claude-stream.js +568 -441
- package/dist/claude-stream.js.map +1 -1
- package/dist/defs/aider.d.ts.map +1 -1
- package/dist/defs/aider.js +13 -1
- package/dist/defs/aider.js.map +1 -1
- package/dist/defs/amp.d.ts.map +1 -1
- package/dist/defs/amp.js +16 -1
- package/dist/defs/amp.js.map +1 -1
- package/dist/defs/amr.d.ts +2 -1
- package/dist/defs/amr.d.ts.map +1 -1
- package/dist/defs/amr.js +12 -1
- package/dist/defs/amr.js.map +1 -1
- package/dist/defs/antigravity.d.ts +41 -2
- package/dist/defs/antigravity.d.ts.map +1 -1
- package/dist/defs/antigravity.js +201 -22
- package/dist/defs/antigravity.js.map +1 -1
- package/dist/defs/claude.d.ts +2 -0
- package/dist/defs/claude.d.ts.map +1 -1
- package/dist/defs/claude.js +58 -3
- package/dist/defs/claude.js.map +1 -1
- package/dist/defs/codebuddy.d.ts.map +1 -1
- package/dist/defs/codebuddy.js +9 -1
- package/dist/defs/codebuddy.js.map +1 -1
- package/dist/defs/codex.d.ts +1 -0
- package/dist/defs/codex.d.ts.map +1 -1
- package/dist/defs/codex.js +34 -0
- package/dist/defs/codex.js.map +1 -1
- package/dist/defs/copilot.d.ts.map +1 -1
- package/dist/defs/copilot.js +15 -1
- package/dist/defs/copilot.js.map +1 -1
- package/dist/defs/cursor-agent.d.ts.map +1 -1
- package/dist/defs/cursor-agent.js +24 -2
- package/dist/defs/cursor-agent.js.map +1 -1
- package/dist/defs/deepseek.d.ts.map +1 -1
- package/dist/defs/deepseek.js +12 -0
- package/dist/defs/deepseek.js.map +1 -1
- package/dist/defs/devin.d.ts +2 -1
- package/dist/defs/devin.d.ts.map +1 -1
- package/dist/defs/devin.js +12 -7
- package/dist/defs/devin.js.map +1 -1
- package/dist/defs/grok-build.d.ts.map +1 -1
- package/dist/defs/grok-build.js +10 -0
- package/dist/defs/grok-build.js.map +1 -1
- package/dist/defs/hermes.d.ts +1 -0
- package/dist/defs/hermes.d.ts.map +1 -1
- package/dist/defs/hermes.js +3 -0
- package/dist/defs/hermes.js.map +1 -1
- package/dist/defs/kilo.d.ts +1 -0
- package/dist/defs/kilo.d.ts.map +1 -1
- package/dist/defs/kilo.js +3 -0
- package/dist/defs/kilo.js.map +1 -1
- package/dist/defs/kimi.d.ts +1 -0
- package/dist/defs/kimi.d.ts.map +1 -1
- package/dist/defs/kimi.js +3 -0
- package/dist/defs/kimi.js.map +1 -1
- package/dist/defs/kiro.d.ts +1 -0
- package/dist/defs/kiro.d.ts.map +1 -1
- package/dist/defs/kiro.js +3 -0
- package/dist/defs/kiro.js.map +1 -1
- package/dist/defs/pi.d.ts +1 -1
- package/dist/defs/pi.d.ts.map +1 -1
- package/dist/defs/pi.js +6 -1
- package/dist/defs/pi.js.map +1 -1
- package/dist/defs/qoder.d.ts +1 -0
- package/dist/defs/qoder.d.ts.map +1 -1
- package/dist/defs/qoder.js +15 -0
- package/dist/defs/qoder.js.map +1 -1
- package/dist/defs/qwen.d.ts.map +1 -1
- package/dist/defs/qwen.js +9 -0
- package/dist/defs/qwen.js.map +1 -1
- package/dist/defs/reasonix.d.ts +1 -0
- package/dist/defs/reasonix.d.ts.map +1 -1
- package/dist/defs/reasonix.js +3 -0
- package/dist/defs/reasonix.js.map +1 -1
- package/dist/defs/shared.d.ts +31 -1
- package/dist/defs/shared.d.ts.map +1 -1
- package/dist/defs/shared.js +35 -0
- package/dist/defs/shared.js.map +1 -1
- package/dist/defs/trae-cli.d.ts +1 -0
- package/dist/defs/trae-cli.d.ts.map +1 -1
- package/dist/defs/trae-cli.js +3 -0
- package/dist/defs/trae-cli.js.map +1 -1
- package/dist/defs/vibe.d.ts +1 -0
- package/dist/defs/vibe.d.ts.map +1 -1
- package/dist/defs/vibe.js +3 -0
- package/dist/defs/vibe.js.map +1 -1
- package/dist/detection.d.ts +1 -1
- package/dist/detection.d.ts.map +1 -1
- package/dist/detection.js +7 -2
- package/dist/detection.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/log-file.d.ts +23 -0
- package/dist/log-file.d.ts.map +1 -0
- package/dist/log-file.js +56 -0
- package/dist/log-file.js.map +1 -0
- package/dist/model-registry.d.ts +7 -45
- package/dist/model-registry.d.ts.map +1 -1
- package/dist/model-registry.js.map +1 -1
- package/dist/providers/anthropic-messages.d.ts +198 -6
- package/dist/providers/anthropic-messages.d.ts.map +1 -1
- package/dist/providers/anthropic-messages.js +317 -140
- package/dist/providers/anthropic-messages.js.map +1 -1
- package/dist/providers/azure-chat.d.ts +113 -3
- package/dist/providers/azure-chat.d.ts.map +1 -1
- package/dist/providers/azure-chat.js +114 -21
- package/dist/providers/azure-chat.js.map +1 -1
- package/dist/providers/connection-guard.d.ts +121 -1
- package/dist/providers/connection-guard.d.ts.map +1 -1
- package/dist/providers/connection-guard.js +205 -3
- package/dist/providers/connection-guard.js.map +1 -1
- package/dist/providers/connection-test.d.ts +62 -0
- package/dist/providers/connection-test.d.ts.map +1 -0
- package/dist/providers/connection-test.js +404 -0
- package/dist/providers/connection-test.js.map +1 -0
- package/dist/providers/elevenlabs.d.ts.map +1 -1
- package/dist/providers/elevenlabs.js +3 -2
- package/dist/providers/elevenlabs.js.map +1 -1
- package/dist/providers/google-messages.d.ts +208 -7
- package/dist/providers/google-messages.d.ts.map +1 -1
- package/dist/providers/google-messages.js +331 -105
- package/dist/providers/google-messages.js.map +1 -1
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/model-catalog.d.ts.map +1 -1
- package/dist/providers/model-catalog.js +21 -0
- package/dist/providers/model-catalog.js.map +1 -1
- package/dist/providers/ollama-chat.d.ts +190 -1
- package/dist/providers/ollama-chat.d.ts.map +1 -1
- package/dist/providers/ollama-chat.js +319 -110
- package/dist/providers/ollama-chat.js.map +1 -1
- package/dist/providers/openai-chat.d.ts +222 -14
- package/dist/providers/openai-chat.d.ts.map +1 -1
- package/dist/providers/openai-chat.js +377 -128
- package/dist/providers/openai-chat.js.map +1 -1
- package/dist/providers/sse-decode.d.ts +2 -2
- package/dist/providers/sse-decode.js +2 -2
- package/dist/types.d.ts +169 -87
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -4
|
@@ -41,15 +41,60 @@
|
|
|
41
41
|
* `finishReason` comparison — the one structural place this adapter
|
|
42
42
|
* cannot mirror `anthropic-messages.ts`/`openai-chat.ts` byte-for-byte.
|
|
43
43
|
*
|
|
44
|
-
* **Scope for this pass:** text + function-call parts
|
|
45
|
-
* execution loop
|
|
46
|
-
*
|
|
47
|
-
* scope — a blocked prompt
|
|
48
|
-
* candidates) is still surfaced as
|
|
49
|
-
* hanging, but the detailed
|
|
44
|
+
* **Scope for this pass:** text + function-call parts, `inlineData` image
|
|
45
|
+
* parts, and the tool-execution loop. `fileData` parts (the Files-API
|
|
46
|
+
* reference form, for content too large to inline) and `promptFeedback`'s
|
|
47
|
+
* per-category safety ratings are still out of scope — a blocked prompt
|
|
48
|
+
* (`promptFeedback.blockReason` present, no candidates) is still surfaced as
|
|
49
|
+
* an `error` event rather than silently hanging, but the detailed
|
|
50
|
+
* safety-rating breakdown is not modeled.
|
|
51
|
+
*
|
|
52
|
+
* **Image support**: `inlineData: {mimeType, data}` (base64) — canonical
|
|
53
|
+
* proto3 JSON field names confirmed via `ai.google.dev/api/rest/v1beta/
|
|
54
|
+
* Content` (`inline_data`/`mime_type` also parse, per proto3's JSON mapping,
|
|
55
|
+
* but this module sends the camelCase canonical form to match every other
|
|
56
|
+
* field it already sends: `functionCall`, `functionResponse`,
|
|
57
|
+
* `usageMetadata`, etc.). Supported formats and the 20 MB total-inline-
|
|
58
|
+
* request budget (text + system instructions + inline bytes combined) per
|
|
59
|
+
* `ai.google.dev/gemini-api/docs/image-understanding` — see
|
|
60
|
+
* `MAX_INLINE_IMAGE_BASE64_CHARS`'s doc for how this module applies that
|
|
61
|
+
* budget per-image.
|
|
62
|
+
*
|
|
63
|
+
* **No documented way to attach an image to a `functionResponse` in this
|
|
64
|
+
* (classic) API.** Checked `ai.google.dev/api/rest/v1beta/Content` and
|
|
65
|
+
* `ai.google.dev/gemini-api/docs/image-understanding` directly for a
|
|
66
|
+
* `FunctionResponse.parts` field or similar — neither documents one; images
|
|
67
|
+
* are only documented as ordinary `Content` input. (A "multimodal function
|
|
68
|
+
* response" feature does exist under `ai.google.dev/gemini-api/docs/
|
|
69
|
+
* function-calling`, but confirmed to belong exclusively to the newer
|
|
70
|
+
* `interactions` API this module already deliberately excludes — see the
|
|
71
|
+
* "Two REST APIs coexist" note above; its `result`/`function_result` shape
|
|
72
|
+
* does not apply here.) So a tool result carrying an image keeps
|
|
73
|
+
* `functionResponse.response` as a plain string (same shape as before), and
|
|
74
|
+
* `runGoogleToolTurn` appends the image as ordinary `inlineData` parts in
|
|
75
|
+
* the *same* `role: 'user'` `Content` alongside the `functionResponse` parts
|
|
76
|
+
* — unlike `openai-chat.ts`, which is forced onto a separate follow-up
|
|
77
|
+
* message because OpenAI's wire `tool` role is hard-restricted to text.
|
|
78
|
+
* Gemini's `Content.parts` has no such restriction: it is just an ordered
|
|
79
|
+
* list of `Part` union members, so mixing `functionResponse` and
|
|
80
|
+
* `inlineData` parts in one `Content` is exactly the same pattern this
|
|
81
|
+
* module already uses for `modelParts` (text + `functionCall` together).
|
|
82
|
+
*
|
|
83
|
+
* **This is still a workaround for a real protocol limitation, not this module inventing
|
|
84
|
+
* structure** — Anthropic's `tool_result` content block can carry an image natively and needs no
|
|
85
|
+
* such fold (see `anthropic-messages.ts`). Both `openai-chat.ts`'s separate-message form and this
|
|
86
|
+
* module's same-`Content` form exist for the identical underlying reason: `FunctionResponse`/`tool`
|
|
87
|
+
* has no documented image slot, so the image has to travel some other way. Each `inlineData` part
|
|
88
|
+
* appended this way is preceded by a plain-text label naming the tool call it answers (name + id)
|
|
89
|
+
* — an unlabeled image is otherwise indistinguishable from a human-supplied one, which in a vision
|
|
90
|
+
* self-check loop risks the model treating its own tool's output as a new user turn. When a batch
|
|
91
|
+
* has parallel tool calls, ALL `functionResponse` parts for the batch are assembled first and every
|
|
92
|
+
* labeled image is appended after them, in one `Content` — never one `Content` per tool result —
|
|
93
|
+
* matching this module's existing single-continuation-turn shape (see `runGoogleToolTurn`'s
|
|
94
|
+
* tool-loop body and its test file's multi-tool-call image test).
|
|
50
95
|
*/
|
|
51
96
|
import { createRoleMarkerGuard } from '../role-marker-guard.js';
|
|
52
|
-
import { defaultDnsLookup, redactSecrets, validateBaseUrlResolved } from './connection-guard.js';
|
|
97
|
+
import { defaultDnsLookup, pinnedFetch, redactSecrets, validateBaseUrlResolved } from './connection-guard.js';
|
|
53
98
|
import { googleStreamGenerateContentUrl } from './google.js';
|
|
54
99
|
import { decodeSseStream } from './sse-decode.js';
|
|
55
100
|
import { createTurnEndGuard } from './turn-end-guard.js';
|
|
@@ -105,29 +150,130 @@ function extractGoogleErrorDetail(rawText) {
|
|
|
105
150
|
}
|
|
106
151
|
return rawText.trim().slice(0, 500);
|
|
107
152
|
}
|
|
108
|
-
|
|
109
|
-
|
|
153
|
+
export function applyGoogleUsage(state, data, onEvent) {
|
|
154
|
+
if (!isRecord(data.usageMetadata))
|
|
155
|
+
return;
|
|
156
|
+
state.usage = data.usageMetadata;
|
|
157
|
+
onEvent({ type: 'usage', usage: state.usage });
|
|
158
|
+
}
|
|
159
|
+
/** The frame's first candidate, unnarrowed — `processGoogleFrame` distinguishes "no candidate at all" (checks `promptFeedback` for a blocked-prompt error) from "a candidate that isn't a record" (silently skipped), so this deliberately does not collapse both into one `null`. */
|
|
160
|
+
function firstGoogleCandidate(data) {
|
|
161
|
+
const candidates = Array.isArray(data.candidates) ? data.candidates : [];
|
|
162
|
+
return candidates[0];
|
|
163
|
+
}
|
|
164
|
+
/** Checks `data.promptFeedback` for a documented block reason and, if present, emits the `error` event for it (the caller emits `end` — see `processGoogleFrame`). Returns whether the frame loop should stop. */
|
|
165
|
+
export function handleGoogleBlockedPrompt(data, onEvent) {
|
|
166
|
+
if (!isRecord(data.promptFeedback) || typeof data.promptFeedback.blockReason !== 'string')
|
|
167
|
+
return false;
|
|
168
|
+
onEvent({ type: 'error', message: `prompt blocked: ${data.promptFeedback.blockReason}`, code: data.promptFeedback.blockReason });
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
function googleCandidateParts(candidate) {
|
|
172
|
+
const content = isRecord(candidate.content) ? candidate.content : null;
|
|
173
|
+
return content && Array.isArray(content.parts) ? content.parts : [];
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Feeds one text part through the role-marker guard and emits the safe portion. Returns `'break'`
|
|
177
|
+
* once the guard flags contamination (the caller ends the turn immediately), otherwise
|
|
178
|
+
* `'continue'` — same contract as `anthropic-messages.ts#handleAnthropicTextDelta`.
|
|
179
|
+
*/
|
|
180
|
+
export function handleGoogleTextPart(state, text, onEvent) {
|
|
181
|
+
const safe = state.guard.feedText(text);
|
|
182
|
+
if (safe.length > 0) {
|
|
183
|
+
state.fullText += safe;
|
|
184
|
+
onEvent({ type: 'text_delta', delta: safe });
|
|
185
|
+
}
|
|
186
|
+
if (!state.guard.contaminated)
|
|
187
|
+
return 'continue';
|
|
188
|
+
const warn = state.guard.warningEvent();
|
|
189
|
+
if (warn)
|
|
190
|
+
onEvent(warn);
|
|
191
|
+
return 'break';
|
|
192
|
+
}
|
|
193
|
+
/** `rawPart.functionCall` must already be confirmed a record by the caller. Reads `thoughtSignature` off `rawPart` (a sibling of `functionCall`, not a member of it) — see `GoogleFunctionCallPart.thoughtSignature`'s doc for why only a non-empty string is carried. */
|
|
194
|
+
export function handleGoogleFunctionCallPart(state, rawPart, onEvent) {
|
|
195
|
+
const fc = rawPart.functionCall;
|
|
196
|
+
const name = typeof fc.name === 'string' ? fc.name : null;
|
|
197
|
+
if (!name)
|
|
198
|
+
return;
|
|
199
|
+
const id = typeof fc.id === 'string' && fc.id.length > 0 ? fc.id : `call_${state.toolCalls.length}`;
|
|
200
|
+
const signature = typeof rawPart.thoughtSignature === 'string' && rawPart.thoughtSignature.length > 0 ? rawPart.thoughtSignature : undefined;
|
|
201
|
+
const call = { id, name, input: fc.args ?? {}, ...(signature ? { thoughtSignature: signature } : {}) };
|
|
202
|
+
state.toolCalls.push(call);
|
|
203
|
+
onEvent({ type: 'tool_use', id: call.id, name: call.name, input: call.input });
|
|
204
|
+
}
|
|
205
|
+
/** Dispatches one part between the text and function-call handlers above. Returns `'break'` once a text part contaminates the guard, else `'continue'`. */
|
|
206
|
+
export function processGoogleRawPart(state, rawPart, onEvent) {
|
|
207
|
+
if (!isRecord(rawPart))
|
|
208
|
+
return 'continue';
|
|
209
|
+
if (typeof rawPart.text === 'string' && rawPart.text.length > 0) {
|
|
210
|
+
return handleGoogleTextPart(state, rawPart.text, onEvent);
|
|
211
|
+
}
|
|
212
|
+
if (isRecord(rawPart.functionCall)) {
|
|
213
|
+
handleGoogleFunctionCallPart(state, rawPart, onEvent);
|
|
214
|
+
}
|
|
215
|
+
return 'continue';
|
|
216
|
+
}
|
|
217
|
+
/** Dispatches one candidate's `parts` array, one part at a time, via `processGoogleRawPart`. Returns `'break'` once a text part contaminates the guard. */
|
|
218
|
+
function processGoogleParts(state, parts, onEvent) {
|
|
219
|
+
for (const rawPart of parts) {
|
|
220
|
+
if (processGoogleRawPart(state, rawPart, onEvent) === 'break')
|
|
221
|
+
return 'break';
|
|
222
|
+
}
|
|
223
|
+
return 'continue';
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Reduces one already-parsed SSE frame payload into `state`, reporting whether the caller's frame
|
|
227
|
+
* loop should stop (`'end'`, on either a blocked prompt or guard contamination) or keep going
|
|
228
|
+
* (`'continue'`). Pulling this out of the loop body turns what was five sequential,
|
|
229
|
+
* nesting-penalized top-level `if`s into one function call plus one outcome check — see
|
|
230
|
+
* `runSingleGoogleRequest`'s loop below.
|
|
231
|
+
*/
|
|
232
|
+
export function processGoogleFrame(state, data, onEvent) {
|
|
233
|
+
applyGoogleUsage(state, data, onEvent);
|
|
234
|
+
const rawCandidate = firstGoogleCandidate(data);
|
|
235
|
+
if (!rawCandidate) {
|
|
236
|
+
return handleGoogleBlockedPrompt(data, onEvent) ? { action: 'end', reason: 'error' } : { action: 'continue' };
|
|
237
|
+
}
|
|
238
|
+
if (!isRecord(rawCandidate))
|
|
239
|
+
return { action: 'continue' };
|
|
240
|
+
if (typeof rawCandidate.finishReason === 'string') {
|
|
241
|
+
state.finishReason = rawCandidate.finishReason;
|
|
242
|
+
}
|
|
243
|
+
return processGoogleParts(state, googleCandidateParts(rawCandidate), onEvent) === 'break'
|
|
244
|
+
? { action: 'end', reason: 'contaminated' }
|
|
245
|
+
: { action: 'continue' };
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Validates `options.baseUrl` and opens the streaming POST, returning the response's readable body
|
|
249
|
+
* once every pre-stream failure mode (SSRF-guard rejection, network error, non-2xx status, missing
|
|
250
|
+
* body) has been ruled out. Calls `emitEnd('error')` and returns `null` itself on any of those —
|
|
251
|
+
* the caller only has to check for `null` — same split as
|
|
252
|
+
* `anthropic-messages.ts#openAnthropicResponseStream`.
|
|
253
|
+
*/
|
|
254
|
+
async function openGoogleResponseStream(options, contents, emitEnd) {
|
|
110
255
|
const { onEvent } = options;
|
|
111
|
-
const baseUrlCheck = await validateBaseUrlResolved(options.baseUrl ?? DEFAULT_GOOGLE_BASE_URL, defaultDnsLookup);
|
|
256
|
+
const baseUrlCheck = await validateBaseUrlResolved(options.baseUrl ?? DEFAULT_GOOGLE_BASE_URL, options.dnsLookup ?? defaultDnsLookup);
|
|
112
257
|
if (baseUrlCheck.error) {
|
|
113
258
|
onEvent({ type: 'error', message: baseUrlCheck.error });
|
|
114
259
|
emitEnd('error');
|
|
115
|
-
return
|
|
260
|
+
return null;
|
|
116
261
|
}
|
|
117
262
|
let response;
|
|
118
263
|
try {
|
|
119
|
-
response =
|
|
264
|
+
response = await (options.fetchImpl ?? pinnedFetch)(googleRequestUrl(options.baseUrl, options.model), {
|
|
120
265
|
method: 'POST',
|
|
121
266
|
headers: googleHeaders(options),
|
|
122
267
|
body: JSON.stringify(googleRequestBody(options, contents)),
|
|
268
|
+
redirect: 'error',
|
|
123
269
|
...(options.signal ? { signal: options.signal } : {}),
|
|
124
|
-
})
|
|
270
|
+
}, baseUrlCheck.pinnedAddress);
|
|
125
271
|
}
|
|
126
272
|
catch (error) {
|
|
127
273
|
const message = error instanceof Error ? error.message : String(error);
|
|
128
274
|
onEvent({ type: 'error', message: redactSecrets(message, [options.apiKey]) });
|
|
129
275
|
emitEnd('error');
|
|
130
|
-
return
|
|
276
|
+
return null;
|
|
131
277
|
}
|
|
132
278
|
if (!response.ok) {
|
|
133
279
|
const rawText = await response.text();
|
|
@@ -137,23 +283,35 @@ async function runSingleGoogleRequest(options, contents, emitEnd) {
|
|
|
137
283
|
code: String(response.status),
|
|
138
284
|
});
|
|
139
285
|
emitEnd('error');
|
|
140
|
-
return
|
|
286
|
+
return null;
|
|
141
287
|
}
|
|
142
288
|
if (!response.body) {
|
|
143
289
|
onEvent({ type: 'error', message: 'Google response had no body' });
|
|
144
290
|
emitEnd('error');
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
return response.body;
|
|
294
|
+
}
|
|
295
|
+
/** Runs exactly one Gemini `streamGenerateContent` request and reduces its SSE events into a single outcome. Mirrors `anthropic-messages.ts#runSingleAnthropicRequest`'s `emitEnd` contract — see that function's doc. */
|
|
296
|
+
async function runSingleGoogleRequest(options, contents, emitEnd) {
|
|
297
|
+
const { onEvent } = options;
|
|
298
|
+
const body = await openGoogleResponseStream(options, contents, emitEnd);
|
|
299
|
+
if (!body) {
|
|
145
300
|
return { finishReason: null, toolCalls: [], text: '' };
|
|
146
301
|
}
|
|
147
302
|
onEvent({ type: 'status', label: 'requesting' });
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
//
|
|
303
|
+
const state = {
|
|
304
|
+
guard: createRoleMarkerGuard('google-turn'),
|
|
305
|
+
toolCalls: [],
|
|
306
|
+
fullText: '',
|
|
307
|
+
finishReason: null,
|
|
308
|
+
usage: null,
|
|
309
|
+
};
|
|
310
|
+
frameLoop: for await (const frame of decodeSseStream(body)) {
|
|
311
|
+
// No re-check of an "ended" flag at the top of this loop: the only way this loop calls
|
|
312
|
+
// `emitEnd` is the `outcome.action === 'end'` branch below, immediately followed by
|
|
313
|
+
// `break frameLoop` — same reachability proof as
|
|
314
|
+
// `anthropic-messages.ts#runSingleAnthropicRequest`.
|
|
157
315
|
let data;
|
|
158
316
|
try {
|
|
159
317
|
data = JSON.parse(frame.data);
|
|
@@ -163,74 +321,156 @@ async function runSingleGoogleRequest(options, contents, emitEnd) {
|
|
|
163
321
|
}
|
|
164
322
|
if (!isRecord(data))
|
|
165
323
|
continue;
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
324
|
+
const outcome = processGoogleFrame(state, data, onEvent);
|
|
325
|
+
if (outcome.action === 'end') {
|
|
326
|
+
emitEnd(outcome.reason);
|
|
327
|
+
break frameLoop;
|
|
169
328
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
329
|
+
}
|
|
330
|
+
return { finishReason: state.finishReason, toolCalls: state.toolCalls, text: state.fullText };
|
|
331
|
+
}
|
|
332
|
+
const GOOGLE_ALLOWED_IMAGE_MIME_TYPES = new Set([
|
|
333
|
+
'image/png',
|
|
334
|
+
'image/jpeg',
|
|
335
|
+
'image/webp',
|
|
336
|
+
'image/heic',
|
|
337
|
+
'image/heif',
|
|
338
|
+
]);
|
|
339
|
+
/**
|
|
340
|
+
* Gemini documents a 20 MB total-inline-request budget — text prompts, system instructions, and
|
|
341
|
+
* inline bytes combined (see module doc's "Image support" section) — not a per-image number. This
|
|
342
|
+
* module applies that 20 MB figure per image as a conservative simplification: a real request
|
|
343
|
+
* always also carries text, so a single inline image already at 20 MB leaves no room for anything
|
|
344
|
+
* else, making per-image enforcement at this bound strictly more permissive than the documented
|
|
345
|
+
* total ever allows in practice. No per-image count cap is enforced here (unlike
|
|
346
|
+
* `openai-chat.ts#MAX_IMAGES_PER_OPENAI_TOOL_RESULT`) because Google does not document one for this
|
|
347
|
+
* API. Approximated from the base64 *string* length, not decoded byte count — see
|
|
348
|
+
* `anthropic-messages.ts#MAX_IMAGE_BASE64_CHARS`'s doc for why that's the right thing to measure.
|
|
349
|
+
*/
|
|
350
|
+
const MAX_INLINE_IMAGE_BASE64_CHARS = Math.ceil((20 * 1024 * 1024 * 4) / 3);
|
|
351
|
+
/**
|
|
352
|
+
* Validates one tool-result part against Gemini's real format/size constraints. Returns the
|
|
353
|
+
* violation reason, or `null` when the part is legal to send. Text parts are always legal — only
|
|
354
|
+
* `inlineData` is format/size-checked.
|
|
355
|
+
*
|
|
356
|
+
* @complexity O(1) — reads `data.length`, never decodes or parses the base64 payload.
|
|
357
|
+
*/
|
|
358
|
+
function invalidGoogleToolResultPartReason(part) {
|
|
359
|
+
if ('text' in part)
|
|
360
|
+
return null;
|
|
361
|
+
const { mimeType, data } = part.inlineData;
|
|
362
|
+
if (!GOOGLE_ALLOWED_IMAGE_MIME_TYPES.has(mimeType.toLowerCase())) {
|
|
363
|
+
return `unsupported image mimeType ${JSON.stringify(mimeType)} (Gemini supports image/png, image/jpeg, image/webp, image/heic, image/heif)`;
|
|
364
|
+
}
|
|
365
|
+
if (data.length > MAX_INLINE_IMAGE_BASE64_CHARS) {
|
|
366
|
+
return `image exceeds this adapter's 20 MB inline-data base64 size guard (${data.length} base64 chars)`;
|
|
367
|
+
}
|
|
368
|
+
return null;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Runtime guard applied to every `GoogleToolExecutor` result before it is wired onto the outbound
|
|
372
|
+
* request or reported via `onEvent` — same rationale and posture as
|
|
373
|
+
* `anthropic-messages.ts`'s/`openai-chat.ts`'s identical guards (`GoogleToolResult` is host-owned;
|
|
374
|
+
* the TS content-part union only constrains a well-behaved host at compile time, not a buggy one at
|
|
375
|
+
* runtime).
|
|
376
|
+
*
|
|
377
|
+
* @complexity O(n) in the number of content parts; O(1) per part (see `invalidGoogleToolResultPartReason`).
|
|
378
|
+
*/
|
|
379
|
+
function sanitizeGoogleToolResult(result) {
|
|
380
|
+
const originalIsError = result.isError ?? false;
|
|
381
|
+
if (typeof result.content === 'string')
|
|
382
|
+
return { content: result.content, isError: originalIsError };
|
|
383
|
+
for (const part of result.content) {
|
|
384
|
+
const reason = invalidGoogleToolResultPartReason(part);
|
|
385
|
+
if (reason)
|
|
386
|
+
return { content: `tool result rejected: ${reason}`, isError: true };
|
|
387
|
+
}
|
|
388
|
+
return { content: result.content, isError: originalIsError };
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Splits one (already-sanitized) tool result's content into the plain-string form
|
|
392
|
+
* `functionResponse.response.content` requires, plus any `inlineData` parts that travel alongside
|
|
393
|
+
* it in the same continuation `Content` — see `runGoogleToolTurn`'s call site.
|
|
394
|
+
*
|
|
395
|
+
* A string `content` is left untouched (`imageParts: []`) — this is the pre-existing, unchanged
|
|
396
|
+
* path every current caller already exercises. For an array, text parts are joined in order; if
|
|
397
|
+
* there is no text at all (an image-only result), a placeholder string is substituted so
|
|
398
|
+
* `functionResponse.response.content` is never empty.
|
|
399
|
+
*
|
|
400
|
+
* @complexity O(n) in the number of content parts.
|
|
401
|
+
*/
|
|
402
|
+
function splitGoogleToolResultContent(content) {
|
|
403
|
+
if (typeof content === 'string')
|
|
404
|
+
return { responseContent: content, imageParts: [] };
|
|
405
|
+
const textParts = content.filter((part) => 'text' in part);
|
|
406
|
+
const imageParts = content.filter((part) => 'inlineData' in part);
|
|
407
|
+
const responseContent = textParts.length > 0 ? textParts.map((part) => part.text).join('\n') : '(tool result included only non-text content; see the accompanying image parts)';
|
|
408
|
+
return { responseContent, imageParts };
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Decides why the tool loop should stop after one request, or returns `null` when it should
|
|
412
|
+
* instead proceed to execute the pending tool calls. Pure — no events, no I/O — mirrors
|
|
413
|
+
* `anthropic-messages.ts#anthropicLoopExitReason`'s decision/effect split. Deliberate structural
|
|
414
|
+
* difference from that sibling: the continuation predicate is `toolCalls.length > 0`, not a
|
|
415
|
+
* `finishReason` comparison (see module doc, point 2, for why Gemini's `finishReason` enum cannot
|
|
416
|
+
* be used here).
|
|
417
|
+
*/
|
|
418
|
+
export function googleLoopExitReason(outcome, toolTurns, maxToolTurns) {
|
|
419
|
+
if (outcome.toolCalls.length === 0)
|
|
420
|
+
return 'stop';
|
|
421
|
+
if (toolTurns >= maxToolTurns)
|
|
422
|
+
return 'max_tool_turns';
|
|
423
|
+
return null;
|
|
424
|
+
}
|
|
425
|
+
/** Builds the `model`-role `Content`'s `parts` recording the pending tool calls — text (if any) followed by one `functionCall` part per call, each with its `thoughtSignature` spread back on as a sibling field, in the same shape the response delivered it and only when the response actually carried one (a `functionCall` part with no signature is legal; one with an empty-string signature is not). */
|
|
426
|
+
export function buildGoogleAssistantParts(text, toolCalls) {
|
|
427
|
+
return [
|
|
428
|
+
...(text ? [{ text }] : []),
|
|
429
|
+
...toolCalls.map((call) => ({
|
|
430
|
+
functionCall: { name: call.name, args: call.input, id: call.id },
|
|
431
|
+
...(call.thoughtSignature ? { thoughtSignature: call.thoughtSignature } : {}),
|
|
432
|
+
})),
|
|
433
|
+
];
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Runs every pending tool call in order, reducing the results into the `functionResponse` parts
|
|
437
|
+
* for the batch plus any labeled `inlineData` image parts that ride alongside them in the same
|
|
438
|
+
* continuation `Content` — see module doc's "No documented way to attach an image to a
|
|
439
|
+
* functionResponse" section for why images travel this way instead of a separate follow-up
|
|
440
|
+
* message (unlike `openai-chat.ts`/`azure-chat.ts`).
|
|
441
|
+
*/
|
|
442
|
+
export async function executeGoogleToolCalls(executeTool, calls, onEvent) {
|
|
443
|
+
const functionResponseParts = [];
|
|
444
|
+
const followUpParts = [];
|
|
445
|
+
for (const call of calls) {
|
|
446
|
+
const result = await executeTool(call);
|
|
447
|
+
const sanitized = sanitizeGoogleToolResult(result);
|
|
448
|
+
onEvent({ type: 'tool_result', toolUseId: call.id, content: sanitized.content, isError: sanitized.isError });
|
|
449
|
+
const split = splitGoogleToolResultContent(sanitized.content);
|
|
450
|
+
functionResponseParts.push({
|
|
451
|
+
functionResponse: {
|
|
452
|
+
name: call.name,
|
|
453
|
+
id: call.id,
|
|
454
|
+
response: { content: split.responseContent, isError: sanitized.isError },
|
|
455
|
+
},
|
|
456
|
+
});
|
|
457
|
+
if (split.imageParts.length > 0) {
|
|
458
|
+
// Attribution label — see module doc for why an unlabeled image is unsafe here.
|
|
459
|
+
followUpParts.push({ text: `Image output from tool \`${call.name}\` (tool_call_id: ${call.id}):` });
|
|
460
|
+
followUpParts.push(...split.imageParts);
|
|
219
461
|
}
|
|
220
462
|
}
|
|
221
|
-
return {
|
|
463
|
+
return { functionResponseParts, followUpParts };
|
|
222
464
|
}
|
|
223
465
|
/**
|
|
224
466
|
* Runs a full Gemini `streamGenerateContent` turn, including the
|
|
225
467
|
* tool-execution loop when `options.executeTool` is supplied and the model
|
|
226
468
|
* requests a function call. See `anthropic-messages.ts#runAnthropicToolTurn`'s
|
|
227
|
-
* doc for the shared event-stream/`ended`-flag contract this mirrors
|
|
228
|
-
* one deliberate structural difference: the loop-continuation predicate is
|
|
229
|
-
* `toolCalls.length > 0`, not a `finishReason` comparison (see module doc,
|
|
230
|
-
* point 2, for why Gemini's `finishReason` enum cannot be used here).
|
|
469
|
+
* doc for the shared event-stream/`ended`-flag contract this mirrors.
|
|
231
470
|
*/
|
|
232
471
|
export async function runGoogleToolTurn(options) {
|
|
233
472
|
const maxToolTurns = options.maxToolTurns ?? DEFAULT_MAX_TOOL_TURNS;
|
|
473
|
+
const executeTool = options.executeTool;
|
|
234
474
|
const endGuard = createTurnEndGuard(options.onEvent, (reason) => ({ type: 'end', reason }));
|
|
235
475
|
const emitEnd = endGuard.emitEnd;
|
|
236
476
|
let contents = options.contents.slice();
|
|
@@ -241,42 +481,28 @@ export async function runGoogleToolTurn(options) {
|
|
|
241
481
|
lastFinishReason = outcome.finishReason;
|
|
242
482
|
if (endGuard.hasEnded())
|
|
243
483
|
break;
|
|
244
|
-
|
|
245
|
-
|
|
484
|
+
const exitReason = googleLoopExitReason(outcome, toolTurns, maxToolTurns);
|
|
485
|
+
if (exitReason) {
|
|
486
|
+
emitEnd(exitReason);
|
|
246
487
|
break;
|
|
247
488
|
}
|
|
248
|
-
if (!
|
|
489
|
+
if (!executeTool) {
|
|
249
490
|
// Pending tool calls were already emitted as `tool_use` events above;
|
|
250
491
|
// with no executor to run them, the turn ends here rather than
|
|
251
492
|
// silently retrying forever.
|
|
252
493
|
emitEnd('stop');
|
|
253
494
|
break;
|
|
254
495
|
}
|
|
255
|
-
if (toolTurns >= maxToolTurns) {
|
|
256
|
-
emitEnd('max_tool_turns');
|
|
257
|
-
break;
|
|
258
|
-
}
|
|
259
496
|
toolTurns += 1;
|
|
260
|
-
const modelParts =
|
|
261
|
-
|
|
262
|
-
...outcome.toolCalls.map((call) => ({ functionCall: { name: call.name, args: call.input, id: call.id } })),
|
|
263
|
-
];
|
|
264
|
-
const functionResponseParts = [];
|
|
265
|
-
for (const call of outcome.toolCalls) {
|
|
266
|
-
const result = await options.executeTool(call);
|
|
267
|
-
options.onEvent({ type: 'tool_result', toolUseId: call.id, content: result.content, isError: result.isError ?? false });
|
|
268
|
-
functionResponseParts.push({
|
|
269
|
-
functionResponse: {
|
|
270
|
-
name: call.name,
|
|
271
|
-
id: call.id,
|
|
272
|
-
response: { content: result.content, isError: result.isError ?? false },
|
|
273
|
-
},
|
|
274
|
-
});
|
|
275
|
-
}
|
|
497
|
+
const modelParts = buildGoogleAssistantParts(outcome.text, outcome.toolCalls);
|
|
498
|
+
const { functionResponseParts, followUpParts } = await executeGoogleToolCalls(executeTool, outcome.toolCalls, options.onEvent);
|
|
276
499
|
contents = [
|
|
277
500
|
...contents,
|
|
278
501
|
{ role: 'model', parts: modelParts },
|
|
279
|
-
|
|
502
|
+
// `inlineData` parts ride in the same `Content` as the `functionResponse` parts they belong
|
|
503
|
+
// to — no separate follow-up message needed here, unlike `openai-chat.ts` (see module doc's
|
|
504
|
+
// "No documented way to attach an image to a functionResponse" section for why).
|
|
505
|
+
{ role: 'user', parts: [...functionResponseParts, ...followUpParts] },
|
|
280
506
|
];
|
|
281
507
|
}
|
|
282
508
|
return { finishReason: lastFinishReason, toolTurns };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-messages.js","sourceRoot":"","sources":["../../src/providers/google-messages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"google-messages.js","sourceRoot":"","sources":["../../src/providers/google-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8FG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,uBAAuB,EAAsC,MAAM,uBAAuB,CAAC;AAClJ,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAsB,MAAM,qBAAqB,CAAC;AAsI7E,MAAM,uBAAuB,GAAG,2CAA2C,CAAC;AAC5E,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAC,OAA2B,EAAE,KAAa;IAClE,OAAO,8BAA8B,CAAC,OAAO,IAAI,uBAAuB,EAAE,KAAK,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,aAAa,CAAC,OAA0B;IAC/C,OAAO;QACL,cAAc,EAAE,kBAAkB;QAClC,gBAAgB,EAAE,OAAO,CAAC,MAAM;QAChC,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA0B,EAAE,QAAkC;IACvF,MAAM,gBAAgB,GAA4B;QAChD,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/F,CAAC;IACF,OAAO;QACL,QAAQ;QACR,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC3F,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC9B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;IAC9D,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC;AAiBD,MAAM,UAAU,gBAAgB,CAAC,KAAwB,EAAE,IAA6B,EAAE,OAAyC;IACjI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;QAAE,OAAO;IAC1C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;IACjC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,sRAAsR;AACtR,SAAS,oBAAoB,CAAC,IAA6B;IACzD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,kNAAkN;AAClN,MAAM,UAAU,yBAAyB,CAAC,IAA6B,EAAE,OAAyC;IAChH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxG,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;IACjI,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAkC;IAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,OAAO,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAwB,EAAE,IAAY,EAAE,OAAyC;IACpH,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;QACvB,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;QAAE,OAAO,UAAU,CAAC;IACjD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;IACxC,IAAI,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0QAA0Q;AAC1Q,MAAM,UAAU,4BAA4B,CAAC,KAAwB,EAAE,OAAgC,EAAE,OAAyC;IAChJ,MAAM,EAAE,GAAG,OAAO,CAAC,YAAuC,CAAC;IAC3D,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IACpG,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7I,MAAM,IAAI,GAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACvH,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,2JAA2J;AAC3J,MAAM,UAAU,oBAAoB,CAAC,KAAwB,EAAE,OAAgB,EAAE,OAAyC;IACxH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1C,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,OAAO,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,2JAA2J;AAC3J,SAAS,kBAAkB,CAAC,KAAwB,EAAE,KAAyB,EAAE,OAAyC;IACxH,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,IAAI,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;IAChF,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAKD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB,EAAE,IAA6B,EAAE,OAAyC;IACnI,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAE3D,IAAI,OAAO,YAAY,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAClD,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;IACjD,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,KAAK,OAAO;QACvF,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE;QAC3C,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,wBAAwB,CACrC,OAA0B,EAC1B,QAAkC,EAClC,OAA8C;IAE9C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,OAAO,IAAI,uBAAuB,EAAE,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC,CAAC;IACtI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAmH,CAAC;IACxH,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,WAAW,CAAC,CACjD,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAChD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC1D,QAAQ,EAAE,OAAO;YACjB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,EACD,YAAY,CAAC,aAAa,CAC3B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,OAAO,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,CAAC;YACN,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,aAAa,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3E,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC9B,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,0NAA0N;AAC1N,KAAK,UAAU,sBAAsB,CACnC,OAA0B,EAC1B,QAAkC,EAClC,OAA8C;IAE9C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACzD,CAAC;IAED,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAsB;QAC/B,KAAK,EAAE,qBAAqB,CAAC,aAAa,CAAC;QAC3C,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,IAAI;KACZ,CAAC;IAEF,SAAS,EAAE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,uFAAuF;QACvF,oFAAoF;QACpF,iDAAiD;QACjD,qDAAqD;QACrD,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,8CAA8C;QAC1D,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QAE9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxB,MAAM,SAAS,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;AAChG,CAAC;AAED,MAAM,+BAA+B,GAAwB,IAAI,GAAG,CAAC;IACnE,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;CACb,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,6BAA6B,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAE5E;;;;;;GAMG;AACH,SAAS,iCAAiC,CAAC,IAA0B;IACnE,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;IAC3C,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACjE,OAAO,8BAA8B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,8EAA8E,CAAC;IAC9I,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,qEAAqE,IAAI,CAAC,MAAM,gBAAgB,CAAC;IAC1G,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAOD;;;;;;;;GAQG;AACH,SAAS,wBAAwB,CAAC,MAAwB;IACxD,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;IAChD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IACrG,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,iCAAiC,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AAC/D,CAAC;AAQD;;;;;;;;;;;GAWG;AACH,SAAS,4BAA4B,CAAC,OAAiD;IACrF,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACrF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAA0B,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAgC,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IAChG,MAAM,eAAe,GACnB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gFAAgF,CAAC;IAC1J,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA6B,EAAE,SAAiB,EAAE,YAAoB;IACzG,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAClD,IAAI,SAAS,IAAI,YAAY;QAAE,OAAO,gBAAgB,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gZAAgZ;AAChZ,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,SAAoC;IAC1F,OAAO;QACL,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,GAAG,SAAS,CAAC,GAAG,CACd,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;YACC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;YAChE,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9E,CAAU,CACd;KACF,CAAC;AACJ,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAA+B,EAC/B,KAAgC,EAChC,OAAyC;IAEzC,MAAM,qBAAqB,GAAiB,EAAE,CAAC;IAC/C,MAAM,aAAa,GAAiB,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7G,MAAM,KAAK,GAAG,4BAA4B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9D,qBAAqB,CAAC,IAAI,CAAC;YACzB,gBAAgB,EAAE;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE;aACzE;SACF,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,gFAAgF;YAChF,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,IAAI,CAAC,IAAI,qBAAqB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACpG,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA0B;IAChE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,sBAAsB,CAAC;IACpE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAExC,MAAM,QAAQ,GAAG,kBAAkB,CAAkB,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7G,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAEjC,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAE3C,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;QAExC,IAAI,QAAQ,CAAC,QAAQ,EAAE;YAAE,MAAM;QAE/B,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAC1E,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,UAAU,CAAC,CAAC;YACpB,MAAM;QACR,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,sEAAsE;YACtE,+DAA+D;YAC/D,6BAA6B;YAC7B,OAAO,CAAC,MAAM,CAAC,CAAC;YAChB,MAAM;QACR,CAAC;QACD,SAAS,IAAI,CAAC,CAAC;QAEf,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9E,MAAM,EAAE,qBAAqB,EAAE,aAAa,EAAE,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAE/H,QAAQ,GAAG;YACT,GAAG,QAAQ;YACX,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;YACpC,4FAA4F;YAC5F,4FAA4F;YAC5F,iFAAiF;YACjF,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,qBAAqB,EAAE,GAAG,aAAa,CAAC,EAAE;SACtE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -24,6 +24,7 @@ export * from './google.js';
|
|
|
24
24
|
export * from './aihubmix.js';
|
|
25
25
|
export * from './connection-guard.js';
|
|
26
26
|
export * from './model-catalog.js';
|
|
27
|
+
export * from './connection-test.js';
|
|
27
28
|
export * from './sse-decode.js';
|
|
28
29
|
export * from './anthropic-messages.js';
|
|
29
30
|
export * from './openai-chat.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
|
package/dist/providers/index.js
CHANGED
|
@@ -24,6 +24,7 @@ export * from './google.js';
|
|
|
24
24
|
export * from './aihubmix.js';
|
|
25
25
|
export * from './connection-guard.js';
|
|
26
26
|
export * from './model-catalog.js';
|
|
27
|
+
export * from './connection-test.js';
|
|
27
28
|
export * from './sse-decode.js';
|
|
28
29
|
export * from './anthropic-messages.js';
|
|
29
30
|
export * from './openai-chat.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../src/providers/model-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,KAAK,EAIV,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC9C,mFAAmF;IACnF,SAAS,CAAC,EAAE,WAAW,CAAC;CACzB,CAAC;
|
|
1
|
+
{"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../src/providers/model-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,KAAK,EAIV,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC9C,mFAAmF;IACnF,SAAS,CAAC,EAAE,WAAW,CAAC;CACzB,CAAC;AAmQF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,sBAAsB,CAAC,CA6JjC"}
|