@aeye/core 0.5.4 → 0.7.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 +790 -724
- package/aeye-core-prompts.md +179 -178
- package/aeye-core-schema.md +43 -16
- package/aeye-core-tools.md +179 -177
- package/aeye-core-types.md +1 -0
- package/dist/common.d.ts +30 -5
- package/dist/common.d.ts.map +1 -1
- package/dist/common.js +134 -129
- package/dist/common.js.map +1 -1
- package/dist/delivery.d.ts +39 -0
- package/dist/delivery.d.ts.map +1 -0
- package/dist/delivery.js +127 -0
- package/dist/delivery.js.map +1 -0
- package/dist/errors.d.ts +60 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +84 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/prompt.d.ts +134 -15
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +220 -164
- package/dist/prompt.js.map +1 -1
- package/dist/schema/analyze.d.ts +94 -0
- package/dist/schema/analyze.d.ts.map +1 -0
- package/dist/schema/analyze.js +221 -0
- package/dist/schema/analyze.js.map +1 -0
- package/dist/schema/any-value.d.ts +32 -0
- package/dist/schema/any-value.d.ts.map +1 -0
- package/dist/schema/any-value.js +77 -0
- package/dist/schema/any-value.js.map +1 -0
- package/dist/schema/budget.d.ts +114 -0
- package/dist/schema/budget.d.ts.map +1 -0
- package/dist/schema/budget.js +223 -0
- package/dist/schema/budget.js.map +1 -0
- package/dist/schema/check-bag.d.ts +28 -0
- package/dist/schema/check-bag.d.ts.map +1 -0
- package/dist/schema/check-bag.js +129 -0
- package/dist/schema/check-bag.js.map +1 -0
- package/dist/schema/consistency.d.ts +27 -0
- package/dist/schema/consistency.d.ts.map +1 -0
- package/dist/schema/consistency.js +110 -0
- package/dist/schema/consistency.js.map +1 -0
- package/dist/schema/cycle-breaker.d.ts +14 -0
- package/dist/schema/cycle-breaker.d.ts.map +1 -0
- package/dist/schema/cycle-breaker.js +157 -0
- package/dist/schema/cycle-breaker.js.map +1 -0
- package/dist/schema/decode.d.ts +31 -0
- package/dist/schema/decode.d.ts.map +1 -0
- package/dist/schema/decode.js +207 -0
- package/dist/schema/decode.js.map +1 -0
- package/dist/schema/descriptor.d.ts +300 -0
- package/dist/schema/descriptor.d.ts.map +1 -0
- package/dist/schema/descriptor.js +15 -0
- package/dist/schema/descriptor.js.map +1 -0
- package/dist/schema/dialects/anthropic.d.ts +34 -0
- package/dist/schema/dialects/anthropic.d.ts.map +1 -0
- package/dist/schema/dialects/anthropic.js +77 -0
- package/dist/schema/dialects/anthropic.js.map +1 -0
- package/dist/schema/dialects/google.d.ts +47 -0
- package/dist/schema/dialects/google.d.ts.map +1 -0
- package/dist/schema/dialects/google.js +91 -0
- package/dist/schema/dialects/google.js.map +1 -0
- package/dist/schema/dialects/lenient.d.ts +4 -0
- package/dist/schema/dialects/lenient.d.ts.map +1 -0
- package/dist/schema/dialects/lenient.js +26 -0
- package/dist/schema/dialects/lenient.js.map +1 -0
- package/dist/schema/dialects/openai.d.ts +40 -0
- package/dist/schema/dialects/openai.d.ts.map +1 -0
- package/dist/schema/dialects/openai.js +81 -0
- package/dist/schema/dialects/openai.js.map +1 -0
- package/dist/schema/dialects/xai.d.ts +23 -0
- package/dist/schema/dialects/xai.d.ts.map +1 -0
- package/dist/schema/dialects/xai.js +53 -0
- package/dist/schema/dialects/xai.js.map +1 -0
- package/dist/schema/enum-values.d.ts +44 -0
- package/dist/schema/enum-values.d.ts.map +1 -0
- package/dist/schema/enum-values.js +56 -0
- package/dist/schema/enum-values.js.map +1 -0
- package/dist/schema/expressible.d.ts +59 -0
- package/dist/schema/expressible.d.ts.map +1 -0
- package/dist/schema/expressible.js +161 -0
- package/dist/schema/expressible.js.map +1 -0
- package/dist/schema/index.d.ts +20 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +20 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/json-schema.d.ts +64 -0
- package/dist/schema/json-schema.d.ts.map +1 -0
- package/dist/schema/json-schema.js +2 -0
- package/dist/schema/json-schema.js.map +1 -0
- package/dist/schema/registry.d.ts +73 -0
- package/dist/schema/registry.d.ts.map +1 -0
- package/dist/schema/registry.js +135 -0
- package/dist/schema/registry.js.map +1 -0
- package/dist/schema/strictify.d.ts +19 -0
- package/dist/schema/strictify.d.ts.map +1 -0
- package/dist/schema/strictify.js +237 -0
- package/dist/schema/strictify.js.map +1 -0
- package/dist/schema/to-json-schema.d.ts +29 -0
- package/dist/schema/to-json-schema.d.ts.map +1 -0
- package/dist/schema/to-json-schema.js +692 -0
- package/dist/schema/to-json-schema.js.map +1 -0
- package/dist/schema/walk-key.d.ts +24 -0
- package/dist/schema/walk-key.d.ts.map +1 -0
- package/dist/schema/walk-key.js +33 -0
- package/dist/schema/walk-key.js.map +1 -0
- package/dist/to.js +1 -1
- package/dist/to.js.map +1 -1
- package/dist/tool.d.ts +38 -4
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +52 -8
- package/dist/tool.js.map +1 -1
- package/dist/types.d.ts +265 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/dist/schema.d.ts +0 -840
- package/dist/schema.d.ts.map +0 -1
- package/dist/schema.js +0 -2478
- package/dist/schema.js.map +0 -1
package/dist/common.js
CHANGED
|
@@ -127,6 +127,22 @@ export async function consumeAll(gen) {
|
|
|
127
127
|
}
|
|
128
128
|
return results;
|
|
129
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Adds every count in `add` onto `target`, treating a missing count as zero.
|
|
132
|
+
*
|
|
133
|
+
* @param target - The counts to add into (mutated).
|
|
134
|
+
* @param add - The counts to add.
|
|
135
|
+
* @returns The target.
|
|
136
|
+
*/
|
|
137
|
+
function sumCounts(target, add) {
|
|
138
|
+
for (const key in add) {
|
|
139
|
+
const value = add[key];
|
|
140
|
+
if (value !== undefined) {
|
|
141
|
+
target[key] = (target[key] ?? 0) + value;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return target;
|
|
145
|
+
}
|
|
130
146
|
/**
|
|
131
147
|
* Accumulates usage statistics by adding values from one Usage object to another.
|
|
132
148
|
* Handles the nested structure matching ModelPricing.
|
|
@@ -139,92 +155,40 @@ export function accumulateUsage(target, add) {
|
|
|
139
155
|
if (!add) {
|
|
140
156
|
return;
|
|
141
157
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
if (add.text.cached !== undefined) {
|
|
154
|
-
target.text.cached = (target.text.cached || 0) + add.text.cached;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
// Accumulate audio usage
|
|
158
|
-
if (add.audio) {
|
|
159
|
-
if (!target.audio) {
|
|
160
|
-
target.audio = {};
|
|
161
|
-
}
|
|
162
|
-
if (add.audio.input !== undefined) {
|
|
163
|
-
target.audio.input = (target.audio.input || 0) + add.audio.input;
|
|
164
|
-
}
|
|
165
|
-
if (add.audio.output !== undefined) {
|
|
166
|
-
target.audio.output = (target.audio.output || 0) + add.audio.output;
|
|
167
|
-
}
|
|
168
|
-
if (add.audio.seconds !== undefined) {
|
|
169
|
-
target.audio.seconds = (target.audio.seconds || 0) + add.audio.seconds;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
// Accumulate image usage
|
|
158
|
+
if (add.text)
|
|
159
|
+
target.text = sumCounts(target.text ?? {}, add.text);
|
|
160
|
+
if (add.audio)
|
|
161
|
+
target.audio = sumCounts(target.audio ?? {}, add.audio);
|
|
162
|
+
if (add.reasoning)
|
|
163
|
+
target.reasoning = sumCounts(target.reasoning ?? {}, add.reasoning);
|
|
164
|
+
if (add.embeddings)
|
|
165
|
+
target.embeddings = sumCounts(target.embeddings ?? {}, add.embeddings);
|
|
166
|
+
if (add.tools)
|
|
167
|
+
target.tools = sumCounts(target.tools ?? {}, add.tools);
|
|
168
|
+
// Image input is a count; image output merges by quality and size
|
|
173
169
|
if (add.image) {
|
|
174
|
-
|
|
175
|
-
target.image = { output: [] };
|
|
176
|
-
}
|
|
170
|
+
const image = target.image ?? (target.image = {});
|
|
177
171
|
if (add.image.input !== undefined) {
|
|
178
|
-
|
|
172
|
+
image.input = (image.input ?? 0) + add.image.input;
|
|
173
|
+
}
|
|
174
|
+
if (add.image.tokens !== undefined) {
|
|
175
|
+
image.tokens = (image.tokens ?? 0) + add.image.tokens;
|
|
179
176
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
177
|
+
for (const addOutput of add.image.output ?? []) {
|
|
178
|
+
const outputs = image.output ?? (image.output = []);
|
|
179
|
+
const existing = outputs.find(o => o.quality === addOutput.quality &&
|
|
180
|
+
o.size.width === addOutput.size.width &&
|
|
181
|
+
o.size.height === addOutput.size.height);
|
|
182
|
+
if (existing) {
|
|
183
|
+
existing.count += addOutput.count;
|
|
183
184
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
const existing = target.image.output.find(o => o.quality === addOutput.quality &&
|
|
187
|
-
o.size.width === addOutput.size.width &&
|
|
188
|
-
o.size.height === addOutput.size.height);
|
|
189
|
-
if (existing) {
|
|
190
|
-
existing.count += addOutput.count;
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
target.image.output.push({ ...addOutput });
|
|
194
|
-
}
|
|
185
|
+
else {
|
|
186
|
+
outputs.push({ ...addOutput });
|
|
195
187
|
}
|
|
196
188
|
}
|
|
197
189
|
}
|
|
198
|
-
// Accumulate reasoning usage
|
|
199
|
-
if (add.reasoning) {
|
|
200
|
-
if (!target.reasoning) {
|
|
201
|
-
target.reasoning = {};
|
|
202
|
-
}
|
|
203
|
-
if (add.reasoning.input !== undefined) {
|
|
204
|
-
target.reasoning.input = (target.reasoning.input || 0) + add.reasoning.input;
|
|
205
|
-
}
|
|
206
|
-
if (add.reasoning.output !== undefined) {
|
|
207
|
-
target.reasoning.output = (target.reasoning.output || 0) + add.reasoning.output;
|
|
208
|
-
}
|
|
209
|
-
if (add.reasoning.cached !== undefined) {
|
|
210
|
-
target.reasoning.cached = (target.reasoning.cached || 0) + add.reasoning.cached;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
// Accumulate embeddings usage
|
|
214
|
-
if (add.embeddings) {
|
|
215
|
-
if (!target.embeddings) {
|
|
216
|
-
target.embeddings = {};
|
|
217
|
-
}
|
|
218
|
-
if (add.embeddings.count !== undefined) {
|
|
219
|
-
target.embeddings.count = (target.embeddings.count || 0) + add.embeddings.count;
|
|
220
|
-
}
|
|
221
|
-
if (add.embeddings.tokens !== undefined) {
|
|
222
|
-
target.embeddings.tokens = (target.embeddings.tokens || 0) + add.embeddings.tokens;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
// Accumulate cost
|
|
226
190
|
if (add.cost !== undefined) {
|
|
227
|
-
target.cost = (target.cost
|
|
191
|
+
target.cost = (target.cost ?? 0) + add.cost;
|
|
228
192
|
}
|
|
229
193
|
}
|
|
230
194
|
/**
|
|
@@ -309,7 +273,7 @@ export function getResponseFromChunks(chunks, model = 'unknown') {
|
|
|
309
273
|
resp.model = chunk.model;
|
|
310
274
|
}
|
|
311
275
|
if (chunk.refusal) {
|
|
312
|
-
resp.refusal = chunk.refusal;
|
|
276
|
+
resp.refusal = (resp.refusal ?? '') + chunk.refusal;
|
|
313
277
|
}
|
|
314
278
|
if (chunk.toolCall) {
|
|
315
279
|
resp.toolCalls = resp.toolCalls || [];
|
|
@@ -319,9 +283,48 @@ export function getResponseFromChunks(chunks, model = 'unknown') {
|
|
|
319
283
|
resp.usage = resp.usage || {};
|
|
320
284
|
accumulateUsage(resp.usage, chunk.usage);
|
|
321
285
|
}
|
|
286
|
+
if (chunk.citations) {
|
|
287
|
+
resp.citations = [...resp.citations ?? [], ...chunk.citations];
|
|
288
|
+
}
|
|
289
|
+
if (chunk.images) {
|
|
290
|
+
resp.images = [...resp.images ?? [], ...chunk.images];
|
|
291
|
+
}
|
|
292
|
+
if (chunk.audio) {
|
|
293
|
+
resp.audio = accumulateAudio(resp.audio, chunk.audio);
|
|
294
|
+
}
|
|
295
|
+
if (chunk.moderation) {
|
|
296
|
+
resp.moderation = { ...resp.moderation, ...chunk.moderation };
|
|
297
|
+
}
|
|
298
|
+
if (chunk.serviceTier) {
|
|
299
|
+
resp.serviceTier = chunk.serviceTier;
|
|
300
|
+
}
|
|
322
301
|
}
|
|
323
302
|
return resp;
|
|
324
303
|
}
|
|
304
|
+
/**
|
|
305
|
+
* The base64 encoding of two base64 strings' bytes joined. Each streamed part
|
|
306
|
+
* is encoded on its own, so a padded last block of the first is re-encoded
|
|
307
|
+
* with the bytes that follow.
|
|
308
|
+
*/
|
|
309
|
+
function joinBase64(x, y) {
|
|
310
|
+
return x.endsWith('=') ? x.slice(0, -4) + btoa(atob(x.slice(-4)) + atob(y)) : x + y;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Appends a partial audio chunk onto accumulated audio.
|
|
314
|
+
*
|
|
315
|
+
* @param target - The audio accumulated so far.
|
|
316
|
+
* @param add - The partial audio to append.
|
|
317
|
+
* @returns The combined audio.
|
|
318
|
+
*/
|
|
319
|
+
export function accumulateAudio(target, add) {
|
|
320
|
+
const join = (x, y, by) => x === undefined || y === undefined ? x ?? y : by(x, y);
|
|
321
|
+
return {
|
|
322
|
+
id: add.id ?? target?.id,
|
|
323
|
+
format: add.format ?? target?.format,
|
|
324
|
+
data: join(target?.data, add.data, joinBase64),
|
|
325
|
+
transcript: join(target?.transcript, add.transcript, (x, y) => x + y),
|
|
326
|
+
};
|
|
327
|
+
}
|
|
325
328
|
/**
|
|
326
329
|
* Generates a plain text representation of reasoning data.
|
|
327
330
|
*
|
|
@@ -348,66 +351,63 @@ export function getReasoningText(reasoning) {
|
|
|
348
351
|
}
|
|
349
352
|
return parts.join('\n\n');
|
|
350
353
|
}
|
|
351
|
-
|
|
352
|
-
function
|
|
353
|
-
|
|
354
|
-
return y;
|
|
355
|
-
}
|
|
356
|
-
if (!y) {
|
|
357
|
-
return x;
|
|
358
|
-
}
|
|
359
|
-
if (!x.includes(y) && !y.includes(x)) {
|
|
360
|
-
return x + y;
|
|
361
|
-
}
|
|
362
|
-
return x;
|
|
354
|
+
/** Two streamed pieces of text joined, either of which may be missing. */
|
|
355
|
+
function concat(x, y) {
|
|
356
|
+
return x && y ? x + y : x || y || undefined;
|
|
363
357
|
}
|
|
364
358
|
/**
|
|
365
|
-
* Accumulates reasoning
|
|
359
|
+
* Accumulates streamed reasoning: the reasoning so far with the next part
|
|
360
|
+
* appended, as a new object that shares nothing mutable with either input.
|
|
361
|
+
*
|
|
362
|
+
* Providers stream reasoning as deltas, never repeating what was sent, so
|
|
363
|
+
* `content` and each detail's `text`, `summary` and `data` concatenate. A
|
|
364
|
+
* detail continues an earlier one of the same type with the same id (when
|
|
365
|
+
* both have one) or index: OpenRouter sends a block's text and later its
|
|
366
|
+
* signature at one index, and Gemini's text and encrypted reasoning share
|
|
367
|
+
* index 0 under different types. The provider is whichever part names it.
|
|
366
368
|
*
|
|
367
|
-
* @param target - The
|
|
368
|
-
* @param add - The
|
|
369
|
-
* @returns - The
|
|
369
|
+
* @param target - The reasoning accumulated so far.
|
|
370
|
+
* @param add - The reasoning to append.
|
|
371
|
+
* @returns - The accumulated reasoning.
|
|
370
372
|
*/
|
|
371
373
|
export function accumulateReasoning(target, add) {
|
|
372
|
-
if (!target) {
|
|
373
|
-
return add;
|
|
374
|
-
}
|
|
375
374
|
if (!add) {
|
|
376
375
|
return target;
|
|
377
376
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
}
|
|
395
|
-
if (detail.text) {
|
|
396
|
-
existing.text = appendMaybe(existing.text, detail.text);
|
|
397
|
-
if (detail.signature) {
|
|
398
|
-
existing.signature = detail.signature;
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
if (detail.summary) {
|
|
402
|
-
existing.summary = appendMaybe(existing.summary, detail.summary);
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
else {
|
|
406
|
-
target.details.push(detail);
|
|
407
|
-
}
|
|
377
|
+
const details = [...target?.details ?? []];
|
|
378
|
+
for (const detail of add.details ?? []) {
|
|
379
|
+
const at = details.findIndex(d => d.type === detail.type && (d.id && detail.id ? d.id === detail.id : d.index === detail.index));
|
|
380
|
+
if (at === -1) {
|
|
381
|
+
details.push(detail);
|
|
382
|
+
}
|
|
383
|
+
else {
|
|
384
|
+
const existing = details[at];
|
|
385
|
+
details[at] = {
|
|
386
|
+
...existing,
|
|
387
|
+
id: existing.id || detail.id,
|
|
388
|
+
text: concat(existing.text, detail.text),
|
|
389
|
+
summary: concat(existing.summary, detail.summary),
|
|
390
|
+
data: concat(existing.data, detail.data),
|
|
391
|
+
signature: detail.signature ?? existing.signature,
|
|
392
|
+
};
|
|
408
393
|
}
|
|
409
394
|
}
|
|
410
|
-
return
|
|
395
|
+
return {
|
|
396
|
+
content: concat(target?.content, add.content),
|
|
397
|
+
details: details.length ? details : undefined,
|
|
398
|
+
provider: target?.provider ?? add.provider,
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Whether reasoning goes back to a provider: it came from there, or names no
|
|
403
|
+
* provider. Signed and encrypted reasoning only verifies where it was made.
|
|
404
|
+
*
|
|
405
|
+
* @param reasoning - The reasoning of an earlier assistant turn.
|
|
406
|
+
* @param provider - The provider the conversation goes to.
|
|
407
|
+
* @returns - Whether to replay the reasoning.
|
|
408
|
+
*/
|
|
409
|
+
export function replaysTo(reasoning, provider) {
|
|
410
|
+
return !!reasoning && (!reasoning.provider || reasoning.provider === provider);
|
|
411
411
|
}
|
|
412
412
|
/**
|
|
413
413
|
* Converts a Response object into an array of Chunk objects.
|
|
@@ -431,6 +431,11 @@ export function getChunksFromResponse(response) {
|
|
|
431
431
|
finishReason: response.finishReason,
|
|
432
432
|
usage: response.usage,
|
|
433
433
|
model: response.model,
|
|
434
|
+
citations: response.citations,
|
|
435
|
+
images: response.images,
|
|
436
|
+
audio: response.audio,
|
|
437
|
+
moderation: response.moderation,
|
|
438
|
+
serviceTier: response.serviceTier,
|
|
434
439
|
});
|
|
435
440
|
return chunks;
|
|
436
441
|
}
|
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { SchemaRejectedError } from './errors';
|
|
2
|
+
import { type FormatDescriptor } from './schema';
|
|
3
|
+
import type { Request, ResponseFormat, SchemaDelivery, SchemaFallback } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* The output schema when it goes on the wire as structured output, rather
|
|
6
|
+
* than into the prompt.
|
|
7
|
+
*/
|
|
8
|
+
export declare function structuredOutput(format: ResponseFormat | undefined): Extract<ResponseFormat, object> | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* The default schema fallbacks, in order: the rejected schema goes
|
|
11
|
+
* non-strict, then the output moves to JSON mode with its schema in the
|
|
12
|
+
* prompt, then to plain text with its schema in the prompt. A tool only goes
|
|
13
|
+
* non-strict. Spread or filter it to build your own.
|
|
14
|
+
*/
|
|
15
|
+
export declare const SCHEMA_FALLBACKS: readonly SchemaFallback[];
|
|
16
|
+
/**
|
|
17
|
+
* Classifies a provider's bad-request error as a schema rejection, finding
|
|
18
|
+
* which schema it names: the output, a tool by quoted name or index, or else
|
|
19
|
+
* the output when one was sent, or every tool. Undefined when the error isn't
|
|
20
|
+
* about a schema.
|
|
21
|
+
*
|
|
22
|
+
* @param request - The request as the provider sent it.
|
|
23
|
+
* @param error - The provider's error.
|
|
24
|
+
* @param message - Its message, with any detail the provider keeps elsewhere.
|
|
25
|
+
*/
|
|
26
|
+
export declare function schemaRejection(request: Request, error: Error, message?: string): SchemaRejectedError | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* The request as a provider sends it. An output schema delivered as `json` or
|
|
29
|
+
* `prompt` leaves the wire: it's appended to the system prompt as JSON Schema
|
|
30
|
+
* and the response format becomes JSON mode or plain text. The request itself
|
|
31
|
+
* isn't changed, so a prompt can send it again under another delivery.
|
|
32
|
+
*
|
|
33
|
+
* @param request - The request.
|
|
34
|
+
* @param descriptor - The model's descriptor, for its JSON instruction.
|
|
35
|
+
* @param delivery - Overrides the request's delivery, for providers without
|
|
36
|
+
* structured output.
|
|
37
|
+
*/
|
|
38
|
+
export declare function deliverSchema(request: Request, descriptor?: FormatDescriptor, delivery?: SchemaDelivery): Request;
|
|
39
|
+
//# sourceMappingURL=delivery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAqD,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACpG,OAAO,KAAK,EAAW,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAgB,MAAM,SAAS,CAAC;AAE9G;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,SAAS,CAEhH;AA2BD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAiBrD,CAAC;AAYF;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,SAAgB,GAAG,mBAAmB,GAAG,SAAS,CAexH;AAYD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,GAAE,gBAA0B,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAe1H"}
|
package/dist/delivery.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { SchemaRejectedError } from './errors';
|
|
2
|
+
import { getJsonFallbackInstruction, LENIENT, toJSONSchema } from './schema';
|
|
3
|
+
/**
|
|
4
|
+
* The output schema when it goes on the wire as structured output, rather
|
|
5
|
+
* than into the prompt.
|
|
6
|
+
*/
|
|
7
|
+
export function structuredOutput(format) {
|
|
8
|
+
return typeof format === 'object' && format.schemaDelivery !== 'json' && format.schemaDelivery !== 'prompt' ? format : undefined;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Moves a structured output schema to another delivery when it's at one of
|
|
12
|
+
* the given deliveries.
|
|
13
|
+
*/
|
|
14
|
+
function redeliver(request, from, to) {
|
|
15
|
+
const format = request.responseFormat;
|
|
16
|
+
if (typeof format !== 'object' || !from.includes(format.schemaDelivery ?? 'auto')) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
format.schemaDelivery = to;
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The schemas a rejection names that are still sent strict, or strict by
|
|
24
|
+
* preference. A required `strict: true` is left alone.
|
|
25
|
+
*/
|
|
26
|
+
function strictSchemas(request, target) {
|
|
27
|
+
const output = structuredOutput(request.responseFormat);
|
|
28
|
+
const schemas = target.kind === 'output'
|
|
29
|
+
? output ? [output] : []
|
|
30
|
+
: (request.tools ?? []).filter(tool => target.kind === 'tools' || tool.name === target.name);
|
|
31
|
+
return schemas.filter(schema => schema.strict !== true && schema.strict !== false);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The default schema fallbacks, in order: the rejected schema goes
|
|
35
|
+
* non-strict, then the output moves to JSON mode with its schema in the
|
|
36
|
+
* prompt, then to plain text with its schema in the prompt. A tool only goes
|
|
37
|
+
* non-strict. Spread or filter it to build your own.
|
|
38
|
+
*/
|
|
39
|
+
export const SCHEMA_FALLBACKS = [
|
|
40
|
+
{
|
|
41
|
+
name: 'non-strict',
|
|
42
|
+
apply: (request, target) => {
|
|
43
|
+
const schemas = strictSchemas(request, target);
|
|
44
|
+
schemas.forEach(schema => { schema.strict = false; });
|
|
45
|
+
return schemas.length > 0;
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'json',
|
|
50
|
+
apply: (request, target) => target.kind === 'output' && redeliver(request, ['auto'], 'json'),
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'text',
|
|
54
|
+
apply: (request, target) => target.kind === 'output' && redeliver(request, ['auto', 'json'], 'prompt'),
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
/**
|
|
58
|
+
* Words a provider error uses when it's about a schema.
|
|
59
|
+
*/
|
|
60
|
+
const SCHEMA_ERROR = /schema|response_format|text\.format|structured.output/i;
|
|
61
|
+
/**
|
|
62
|
+
* Words a provider error uses when it's about the output schema.
|
|
63
|
+
*/
|
|
64
|
+
const OUTPUT_ERROR = /response_format|text\.format|response_schema|structured.output/i;
|
|
65
|
+
/**
|
|
66
|
+
* Classifies a provider's bad-request error as a schema rejection, finding
|
|
67
|
+
* which schema it names: the output, a tool by quoted name or index, or else
|
|
68
|
+
* the output when one was sent, or every tool. Undefined when the error isn't
|
|
69
|
+
* about a schema.
|
|
70
|
+
*
|
|
71
|
+
* @param request - The request as the provider sent it.
|
|
72
|
+
* @param error - The provider's error.
|
|
73
|
+
* @param message - Its message, with any detail the provider keeps elsewhere.
|
|
74
|
+
*/
|
|
75
|
+
export function schemaRejection(request, error, message = error.message) {
|
|
76
|
+
if (!SCHEMA_ERROR.test(message)) {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
const tools = request.tools ?? [];
|
|
80
|
+
const output = typeof request.responseFormat === 'object';
|
|
81
|
+
const index = /tools\[(\d+)\]|tools\.(\d+)\./.exec(message);
|
|
82
|
+
const tool = tools.find(({ name }) => message.includes(`'${name}'`) || message.includes(`"${name}"`))
|
|
83
|
+
?? (index ? tools[Number(index[1] ?? index[2])] : undefined);
|
|
84
|
+
const target = output && OUTPUT_ERROR.test(message) ? { kind: 'output' }
|
|
85
|
+
: tool ? { kind: 'tool', name: tool.name }
|
|
86
|
+
: output ? { kind: 'output' }
|
|
87
|
+
: tools.length ? { kind: 'tools' }
|
|
88
|
+
: undefined;
|
|
89
|
+
return target && new SchemaRejectedError(target, message, error);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Appends text to the first system message, or adds one.
|
|
93
|
+
*/
|
|
94
|
+
function withSystemText(messages, text) {
|
|
95
|
+
const index = messages.findIndex(message => message.role === 'system' && typeof message.content === 'string');
|
|
96
|
+
return index === -1
|
|
97
|
+
? [{ role: 'system', content: text }, ...messages]
|
|
98
|
+
: messages.map((message, i) => i === index ? { ...message, content: `${message.content}\n\n${text}` } : message);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* The request as a provider sends it. An output schema delivered as `json` or
|
|
102
|
+
* `prompt` leaves the wire: it's appended to the system prompt as JSON Schema
|
|
103
|
+
* and the response format becomes JSON mode or plain text. The request itself
|
|
104
|
+
* isn't changed, so a prompt can send it again under another delivery.
|
|
105
|
+
*
|
|
106
|
+
* @param request - The request.
|
|
107
|
+
* @param descriptor - The model's descriptor, for its JSON instruction.
|
|
108
|
+
* @param delivery - Overrides the request's delivery, for providers without
|
|
109
|
+
* structured output.
|
|
110
|
+
*/
|
|
111
|
+
export function deliverSchema(request, descriptor = LENIENT, delivery) {
|
|
112
|
+
const format = request.responseFormat;
|
|
113
|
+
if (typeof format !== 'object') {
|
|
114
|
+
return request;
|
|
115
|
+
}
|
|
116
|
+
const mode = delivery ?? format.schemaDelivery;
|
|
117
|
+
if (mode !== 'json' && mode !== 'prompt') {
|
|
118
|
+
return request;
|
|
119
|
+
}
|
|
120
|
+
const schema = JSON.stringify(toJSONSchema(format.type, LENIENT), null, 2);
|
|
121
|
+
return {
|
|
122
|
+
...request,
|
|
123
|
+
responseFormat: mode === 'json' ? 'json' : undefined,
|
|
124
|
+
messages: withSystemText(request.messages, `The response must be a JSON object conforming to this schema:\n\`\`\`json\n${schema}\n\`\`\`\n\n${getJsonFallbackInstruction(descriptor)}`),
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=delivery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { ErrorKind, SchemaTarget } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* A prompt failure, with who caused it: the `model` (an invalid tool call or
|
|
4
|
+
* output it can fix on another try) or a `tool`'s own code. A prompt that
|
|
5
|
+
* gives up throws one, its `cause` holding the last failure.
|
|
6
|
+
*/
|
|
7
|
+
export declare class PromptError extends Error {
|
|
8
|
+
readonly kind: ErrorKind;
|
|
9
|
+
readonly cause?: Error | undefined;
|
|
10
|
+
constructor(message: string, kind: ErrorKind, cause?: Error | undefined);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The model called a tool that doesn't exist, or with arguments that don't
|
|
14
|
+
* parse or don't match the tool's schema.
|
|
15
|
+
*/
|
|
16
|
+
export declare class ToolInputError extends PromptError {
|
|
17
|
+
readonly tool: string;
|
|
18
|
+
readonly rawArgs?: string | undefined;
|
|
19
|
+
constructor(tool: string, message: string, rawArgs?: string | undefined);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A tool's own code threw: its handler, the prompt's interceptor, or its
|
|
23
|
+
* result transformer.
|
|
24
|
+
*/
|
|
25
|
+
export declare class ToolExecutionError extends PromptError {
|
|
26
|
+
readonly tool: string;
|
|
27
|
+
constructor(tool: string, message: string, cause: Error);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Why a tool call failed.
|
|
31
|
+
*/
|
|
32
|
+
export type ToolFailure = ToolInputError | ToolExecutionError;
|
|
33
|
+
/**
|
|
34
|
+
* The model's output wasn't JSON, didn't match the schema, or failed the
|
|
35
|
+
* prompt's `validate`.
|
|
36
|
+
*/
|
|
37
|
+
export declare class OutputValidationError extends PromptError {
|
|
38
|
+
readonly reason: 'json-parsing' | 'schema-parsing' | 'validation';
|
|
39
|
+
readonly output: string;
|
|
40
|
+
constructor(message: string, reason: 'json-parsing' | 'schema-parsing' | 'validation', output: string);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The prompt's review still had feedback once its review retries ran out.
|
|
44
|
+
* Carries the last output, which passed parsing and validation.
|
|
45
|
+
*/
|
|
46
|
+
export declare class ReviewRejectedError<TOutput> extends PromptError {
|
|
47
|
+
readonly output: TOutput;
|
|
48
|
+
readonly feedback: string;
|
|
49
|
+
constructor(output: TOutput, feedback: string);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* A provider rejected a schema it was sent, or the model can't express it.
|
|
53
|
+
* A prompt answers it by stepping down its schema fallbacks.
|
|
54
|
+
*/
|
|
55
|
+
export declare class SchemaRejectedError extends Error {
|
|
56
|
+
readonly target: SchemaTarget;
|
|
57
|
+
readonly cause?: Error | undefined;
|
|
58
|
+
constructor(target: SchemaTarget, message: string, cause?: Error | undefined);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvD;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACP,QAAQ,CAAC,IAAI,EAAE,SAAS;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK;gBAAjE,OAAO,EAAE,MAAM,EAAW,IAAI,EAAE,SAAS,EAAW,KAAK,CAAC,EAAE,KAAK,YAAA;CAI9E;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,WAAW;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAmB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM;gBAAxD,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAW,OAAO,CAAC,EAAE,MAAM,YAAA;CAI9E;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAIjE;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAE9D;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,WAAW;IACvB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,gBAAgB,GAAG,YAAY;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAA3G,OAAO,EAAE,MAAM,EAAW,MAAM,EAAE,cAAc,GAAG,gBAAgB,GAAG,YAAY,EAAW,MAAM,EAAE,MAAM;CAIxH;AAED;;;GAGG;AACH,qBAAa,mBAAmB,CAAC,OAAO,CAAE,SAAQ,WAAW;IAC/C,QAAQ,CAAC,MAAM,EAAE,OAAO;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBAA1C,MAAM,EAAE,OAAO,EAAW,QAAQ,EAAE,MAAM;CAIhE;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY;IAAmB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK;gBAA7D,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAW,KAAK,CAAC,EAAE,KAAK,YAAA;CAInF"}
|