@aeye/core 0.6.0 → 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 -771
- package/aeye-core-prompts.md +179 -178
- package/aeye-core-schema.md +32 -9
- package/aeye-core-tools.md +179 -177
- package/aeye-core-types.md +1 -0
- package/dist/prompt.d.ts +34 -7
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +63 -29
- package/dist/prompt.js.map +1 -1
- 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/to-json-schema.d.ts.map +1 -1
- package/dist/schema/to-json-schema.js +5 -4
- package/dist/schema/to-json-schema.js.map +1 -1
- package/dist/tool.d.ts +6 -1
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +11 -8
- package/dist/tool.js.map +1 -1
- package/package.json +72 -72
package/dist/prompt.js
CHANGED
|
@@ -337,24 +337,25 @@ export class Prompt {
|
|
|
337
337
|
// The events a tool execution is ready to emit, each emitted once.
|
|
338
338
|
const toolEvents = function* (te) {
|
|
339
339
|
const { tool, args } = te;
|
|
340
|
+
const toolCallId = te.toolCall.id;
|
|
340
341
|
if (te.emitRepairAttempt()) {
|
|
341
342
|
yield emit({ type: 'toolArgRepairAttempt', tool: tool, fields: te.repairAttempt.fields, success: te.repairAttempt.success, request });
|
|
342
343
|
}
|
|
343
344
|
if (te.emitStart()) {
|
|
344
|
-
yield emitTool({ type: 'toolStart', tool: tool, args, request });
|
|
345
|
+
yield emitTool({ type: 'toolStart', tool: tool, toolCallId, args, request });
|
|
345
346
|
}
|
|
346
347
|
if (te.emitOutput()) {
|
|
347
|
-
yield emitTool({ type: 'toolOutput', tool: tool, args, result: te.result, toModel: te.toModel, request });
|
|
348
|
+
yield emitTool({ type: 'toolOutput', tool: tool, toolCallId, args, result: te.result, toModel: te.toModel, request });
|
|
348
349
|
}
|
|
349
350
|
if (te.emitInterrupt()) {
|
|
350
|
-
yield emitTool({ type: 'toolInterrupt', tool: tool, args, request });
|
|
351
|
+
yield emitTool({ type: 'toolInterrupt', tool: tool, toolCallId, args, request });
|
|
351
352
|
}
|
|
352
353
|
if (te.emitSuspend()) {
|
|
353
|
-
yield emitTool({ type: 'toolSuspend', tool: tool, args, request });
|
|
354
|
+
yield emitTool({ type: 'toolSuspend', tool: tool, toolCallId, args, request });
|
|
354
355
|
}
|
|
355
356
|
if (te.emitError()) {
|
|
356
357
|
const failure = te.error;
|
|
357
|
-
yield emitTool({ type: 'toolError', tool: tool, args, error: failure.message, failure, rawArgs: failure instanceof ToolInputError ? failure.rawArgs : undefined, request });
|
|
358
|
+
yield emitTool({ type: 'toolError', tool: tool, toolCallId, args, error: failure.message, failure, rawArgs: failure instanceof ToolInputError ? failure.rawArgs : undefined, request });
|
|
358
359
|
}
|
|
359
360
|
};
|
|
360
361
|
// Main execution loop!
|
|
@@ -460,7 +461,7 @@ export class Prompt {
|
|
|
460
461
|
// value short-circuits, false/undefined proceeds, a throw
|
|
461
462
|
// propagates through run()'s existing catch (interrupt/suspend/error).
|
|
462
463
|
onToolIntercept && toolInfo
|
|
463
|
-
? (args) => onToolIntercept(toolInfo.tool, args, ctx)
|
|
464
|
+
? (args, call) => onToolIntercept(toolInfo.tool, args, ctx, call)
|
|
464
465
|
: undefined);
|
|
465
466
|
toolExecutors.push(toolExecutor);
|
|
466
467
|
toolExecutorMap.set(chunk.toolCallNamed.id, toolExecutor);
|
|
@@ -563,8 +564,17 @@ export class Prompt {
|
|
|
563
564
|
}
|
|
564
565
|
yield* toolEvents(toolExecutor);
|
|
565
566
|
}
|
|
566
|
-
// The execution mode for this iteration.
|
|
567
|
+
// The execution mode for this iteration. Skipping leaves every valid
|
|
568
|
+
// sibling unrun, and its reply says so.
|
|
567
569
|
const iterationMode = skip ? 'skip' : toolMode;
|
|
570
|
+
if (skip) {
|
|
571
|
+
for (const toolExecutor of toolExecutors) {
|
|
572
|
+
// Only a call that has not started: under 'immediate' a valid call may
|
|
573
|
+
// already be running, and its reply is its real outcome.
|
|
574
|
+
if (!toolExecutor.error && (toolExecutor.status === 'ready' || toolExecutor.status === 'parsed'))
|
|
575
|
+
toolExecutor.skipped = true;
|
|
576
|
+
}
|
|
577
|
+
}
|
|
568
578
|
// All tool calls are valid, lets start this!
|
|
569
579
|
switch (iterationMode) {
|
|
570
580
|
case 'sequential':
|
|
@@ -1082,7 +1092,8 @@ export class Prompt {
|
|
|
1082
1092
|
.map(r => r.tool);
|
|
1083
1093
|
}
|
|
1084
1094
|
// Each tool with its compiled instructions and definition; a tool that
|
|
1085
|
-
// doesn't compile (no schema
|
|
1095
|
+
// doesn't compile (no schema) is left out, and one without instructions
|
|
1096
|
+
// adds nothing to the tools section
|
|
1086
1097
|
const compiled = selectedTools && selectedTools.length > 0
|
|
1087
1098
|
? (await Promise.all(selectedTools.map(async (tool) => ({ tool, compiled: await tool.compile(ctx) }))))
|
|
1088
1099
|
.flatMap(({ tool, compiled }) => compiled ? [{ tool, instructions: compiled[0], definition: compiled[1] }] : [])
|
|
@@ -1148,7 +1159,8 @@ export class Prompt {
|
|
|
1148
1159
|
* `ToolInterrupt` cutting a parallel batch short) or a tool errored
|
|
1149
1160
|
* before its content could be accumulated.
|
|
1150
1161
|
*
|
|
1151
|
-
* The marker prefix (`[aborted: …]`, `[interrupted]`, `[error: …]
|
|
1162
|
+
* The marker prefix (`[aborted: …]`, `[interrupted]`, `[error: …]`,
|
|
1163
|
+
* `[not run: …]` for a valid call skipped because a sibling was invalid)
|
|
1152
1164
|
* gives the model a clear cue and lets callers detect synthesized
|
|
1153
1165
|
* replies by inspecting the message content if they need to
|
|
1154
1166
|
* differentiate. Suspended tools are intentionally NOT routed
|
|
@@ -1160,6 +1172,9 @@ export class Prompt {
|
|
|
1160
1172
|
* result, or fall back to a model-specific instruction string.
|
|
1161
1173
|
*/
|
|
1162
1174
|
synthesizeUnpairedResult(te) {
|
|
1175
|
+
if (te.skipped) {
|
|
1176
|
+
return '[not run: another call in this batch was invalid; call it again]';
|
|
1177
|
+
}
|
|
1163
1178
|
switch (te.status) {
|
|
1164
1179
|
case 'interrupted':
|
|
1165
1180
|
return te.error
|
|
@@ -1193,6 +1208,16 @@ export class Prompt {
|
|
|
1193
1208
|
* 2. A token estimation function is provided in the context (we can estimate token counts)
|
|
1194
1209
|
* 3. Messages already have token counts assigned (we can use these directly)
|
|
1195
1210
|
*
|
|
1211
|
+
* What is removed, oldest first, is whole groups: a message together with
|
|
1212
|
+
* the `role: 'tool'` replies that follow it, so an assistant's
|
|
1213
|
+
* `tool_calls` never lose their replies (providers reject that history).
|
|
1214
|
+
* System messages and the last user message are always kept. Groups after
|
|
1215
|
+
* the last user message (an agent's tool loop) are removed too when the
|
|
1216
|
+
* earlier history is not enough, except the most recent group.
|
|
1217
|
+
*
|
|
1218
|
+
* `protected` so a subclass can replace it, for example to summarize the
|
|
1219
|
+
* removed history instead of dropping it.
|
|
1220
|
+
*
|
|
1196
1221
|
* @param request - The original request with messages.
|
|
1197
1222
|
* @param ctx - The context containing message history and token estimation.
|
|
1198
1223
|
* @param usage - The current token usage.
|
|
@@ -1269,28 +1294,37 @@ export class Prompt {
|
|
|
1269
1294
|
return request.messages;
|
|
1270
1295
|
}
|
|
1271
1296
|
const removeTokens = totalMessageTokensFinal - maxInput;
|
|
1272
|
-
//
|
|
1273
|
-
const
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
let removesRemaining = removeTokens;
|
|
1280
|
-
let messageIndex = messageMinIndex;
|
|
1281
|
-
while (removesRemaining > 0 && messageIndex < messageMaxIndex) {
|
|
1282
|
-
const message = request.messages[messageIndex];
|
|
1283
|
-
if (message.role === 'system') {
|
|
1284
|
-
trimmedMessages.push(message);
|
|
1285
|
-
messageIndex++;
|
|
1297
|
+
// Group the history: each message with the tool replies that follow it.
|
|
1298
|
+
const messages = request.messages;
|
|
1299
|
+
const groups = [];
|
|
1300
|
+
for (let i = 0; i < messages.length; i++) {
|
|
1301
|
+
const last = groups[groups.length - 1];
|
|
1302
|
+
if (messages[i].role === 'tool' && last) {
|
|
1303
|
+
last.end = i + 1;
|
|
1286
1304
|
}
|
|
1287
1305
|
else {
|
|
1288
|
-
|
|
1289
|
-
|
|
1306
|
+
groups.push({ start: i, end: i + 1 });
|
|
1307
|
+
}
|
|
1308
|
+
}
|
|
1309
|
+
const lastUser = messages.findLastIndex(m => m.role === 'user');
|
|
1310
|
+
const finalGroup = groups[groups.length - 1];
|
|
1311
|
+
const removable = (group) => {
|
|
1312
|
+
const first = messages[group.start];
|
|
1313
|
+
return first.role !== 'system' && group.start !== lastUser && group !== finalGroup;
|
|
1314
|
+
};
|
|
1315
|
+
// Oldest first: the history before the last user message, then the tool loop after it.
|
|
1316
|
+
const order = groups.filter(removable);
|
|
1317
|
+
const removed = new Set();
|
|
1318
|
+
let removesRemaining = removeTokens;
|
|
1319
|
+
for (const group of order) {
|
|
1320
|
+
if (removesRemaining <= 0)
|
|
1321
|
+
break;
|
|
1322
|
+
for (let i = group.start; i < group.end; i++) {
|
|
1323
|
+
removed.add(i);
|
|
1324
|
+
removesRemaining -= messageTokens[i] || 0;
|
|
1290
1325
|
}
|
|
1291
1326
|
}
|
|
1292
|
-
|
|
1293
|
-
return trimmedMessages;
|
|
1327
|
+
return messages.filter((_, i) => !removed.has(i));
|
|
1294
1328
|
}
|
|
1295
1329
|
}
|
|
1296
1330
|
/**
|
|
@@ -1339,7 +1373,7 @@ truncate,
|
|
|
1339
1373
|
present,
|
|
1340
1374
|
// Optional per-prompt tool interceptor (PromptInput.onToolIntercept),
|
|
1341
1375
|
// pre-bound by the loop with the matched Tool instance + ctx so this
|
|
1342
|
-
// function only needs the parsed args. Runs INSIDE run() BEFORE the tool's
|
|
1376
|
+
// function only needs the parsed args and the tool call. Runs INSIDE run() BEFORE the tool's
|
|
1343
1377
|
// own handler. A returned VALUE short-circuits and becomes `result` (the
|
|
1344
1378
|
// handler is skipped, then the normal present/success path runs). Returning
|
|
1345
1379
|
// `false`/`undefined` means "not intercepted" — the real handler runs. A
|
|
@@ -1425,7 +1459,7 @@ intercept) {
|
|
|
1425
1459
|
// is intentionally NOT caught here — it flows to the catch below and
|
|
1426
1460
|
// is routed exactly like a throw from the handler (ToolInterrupt ⇒
|
|
1427
1461
|
// interrupted, PromptSuspend ⇒ suspended, else ⇒ tool error).
|
|
1428
|
-
const intercepted = intercept ? await intercept(execution.args) : false;
|
|
1462
|
+
const intercepted = intercept ? await intercept(execution.args, execution.toolCall) : false;
|
|
1429
1463
|
execution.result = intercepted === false || intercepted === undefined
|
|
1430
1464
|
? await resolve(toolInfo.tool.run(execution.args, { ...ctx, toolCallId: toolCall.id }))
|
|
1431
1465
|
: intercepted;
|
package/dist/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* The constraints a schema's checks add up to — the fields the JSON Schema
|
|
4
|
+
* converter reads for strings, numbers, arrays and tuples.
|
|
5
|
+
*
|
|
6
|
+
* zod 4.1 kept these on `schema._zod.bag`, filled by each check as it was
|
|
7
|
+
* attached. From zod 4.6 the bag stays empty for first-party checks and zod's
|
|
8
|
+
* own converter folds `def.checks` instead (`aggregateChecks`, which zod does
|
|
9
|
+
* not export). {@link checkBag} is that fold, so the converter reads the same
|
|
10
|
+
* facts on either version.
|
|
11
|
+
*/
|
|
12
|
+
export interface CheckBag {
|
|
13
|
+
minimum?: number;
|
|
14
|
+
maximum?: number;
|
|
15
|
+
exclusiveMinimum?: number;
|
|
16
|
+
exclusiveMaximum?: number;
|
|
17
|
+
multipleOf?: number;
|
|
18
|
+
format?: string;
|
|
19
|
+
patterns?: Set<RegExp>;
|
|
20
|
+
contentEncoding?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A schema's constraints, folded from its checks. A format schema (`z.email()`,
|
|
24
|
+
* `z.int()`) is its own first check, as zod treats it; anything zod still puts
|
|
25
|
+
* on `_zod.bag` (third-party `onattach` hooks) is merged in last.
|
|
26
|
+
*/
|
|
27
|
+
export declare function checkBag(schema: z.core.$ZodType): CheckBag;
|
|
28
|
+
//# sourceMappingURL=check-bag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-bag.d.ts","sourceRoot":"","sources":["../../src/schema/check-bag.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAsGD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAkB1D"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
/** The value a numeric check carries, as a plain number (bigint bounds are converted). */
|
|
3
|
+
function numeric(value) {
|
|
4
|
+
return typeof value === 'number' ? value : Number(value);
|
|
5
|
+
}
|
|
6
|
+
function narrowMin(bag, key, value) {
|
|
7
|
+
const current = bag[key];
|
|
8
|
+
if (current === undefined || value > current)
|
|
9
|
+
bag[key] = value;
|
|
10
|
+
}
|
|
11
|
+
function narrowMax(bag, key, value) {
|
|
12
|
+
const current = bag[key];
|
|
13
|
+
if (current === undefined || value < current)
|
|
14
|
+
bag[key] = value;
|
|
15
|
+
}
|
|
16
|
+
function addPattern(bag, pattern) {
|
|
17
|
+
bag.patterns ??= new Set();
|
|
18
|
+
bag.patterns.add(pattern);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Every first-party check kind. Typed against zod's own union, so a kind zod
|
|
22
|
+
* adds or renames fails to compile here rather than being skipped silently.
|
|
23
|
+
*/
|
|
24
|
+
const FIRST_PARTY = {
|
|
25
|
+
less_than: true, greater_than: true, multiple_of: true, number_format: true, bigint_format: true,
|
|
26
|
+
max_size: true, min_size: true, size_equals: true, max_length: true, min_length: true,
|
|
27
|
+
length_equals: true, string_format: true, property: true, mime_type: true, overwrite: true,
|
|
28
|
+
};
|
|
29
|
+
function isFirstPartyKind(kind) {
|
|
30
|
+
return typeof kind === 'string' && Object.hasOwn(FIRST_PARTY, kind);
|
|
31
|
+
}
|
|
32
|
+
/** A check zod's first-party union describes, so its `def` narrows by `check`. */
|
|
33
|
+
function isFirstParty(check) {
|
|
34
|
+
return isFirstPartyKind(check._zod.def.check);
|
|
35
|
+
}
|
|
36
|
+
/** A format schema (`z.email()`, `z.int()`) — a schema that is also its own first check. */
|
|
37
|
+
function isFormatSchema(schema) {
|
|
38
|
+
return schema._zod.traits.has('$ZodCheck') && isFirstPartyKind(Reflect.get(schema._zod.def, 'check'));
|
|
39
|
+
}
|
|
40
|
+
/** Folds one check into the bag. Kinds with no JSON Schema meaning are ignored. */
|
|
41
|
+
function applyCheck(bag, check) {
|
|
42
|
+
const def = check._zod.def;
|
|
43
|
+
switch (def.check) {
|
|
44
|
+
case 'greater_than':
|
|
45
|
+
narrowMin(bag, def.inclusive ? 'minimum' : 'exclusiveMinimum', numeric(def.value));
|
|
46
|
+
return;
|
|
47
|
+
case 'less_than':
|
|
48
|
+
narrowMax(bag, def.inclusive ? 'maximum' : 'exclusiveMaximum', numeric(def.value));
|
|
49
|
+
return;
|
|
50
|
+
case 'multiple_of':
|
|
51
|
+
bag.multipleOf ??= numeric(def.value);
|
|
52
|
+
return;
|
|
53
|
+
case 'number_format': {
|
|
54
|
+
bag.format = def.format;
|
|
55
|
+
const [min, max] = z.core.util.NUMBER_FORMAT_RANGES[def.format];
|
|
56
|
+
narrowMin(bag, 'minimum', min);
|
|
57
|
+
narrowMax(bag, 'maximum', max);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
case 'bigint_format': {
|
|
61
|
+
bag.format = def.format;
|
|
62
|
+
const [min, max] = z.core.util.BIGINT_FORMAT_RANGES[def.format];
|
|
63
|
+
narrowMin(bag, 'minimum', Number(min));
|
|
64
|
+
narrowMax(bag, 'maximum', Number(max));
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
case 'min_length':
|
|
68
|
+
case 'min_size':
|
|
69
|
+
narrowMin(bag, 'minimum', def.minimum);
|
|
70
|
+
return;
|
|
71
|
+
case 'max_length':
|
|
72
|
+
case 'max_size':
|
|
73
|
+
narrowMax(bag, 'maximum', def.maximum);
|
|
74
|
+
return;
|
|
75
|
+
case 'length_equals':
|
|
76
|
+
narrowMin(bag, 'minimum', def.length);
|
|
77
|
+
narrowMax(bag, 'maximum', def.length);
|
|
78
|
+
return;
|
|
79
|
+
case 'size_equals':
|
|
80
|
+
narrowMin(bag, 'minimum', def.size);
|
|
81
|
+
narrowMax(bag, 'maximum', def.size);
|
|
82
|
+
return;
|
|
83
|
+
case 'string_format':
|
|
84
|
+
bag.format = def.format;
|
|
85
|
+
if (def.pattern)
|
|
86
|
+
addPattern(bag, def.pattern);
|
|
87
|
+
if (def.format === 'base64' || def.format === 'base64url')
|
|
88
|
+
bag.contentEncoding = def.format;
|
|
89
|
+
return;
|
|
90
|
+
default:
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* A schema's constraints, folded from its checks. A format schema (`z.email()`,
|
|
96
|
+
* `z.int()`) is its own first check, as zod treats it; anything zod still puts
|
|
97
|
+
* on `_zod.bag` (third-party `onattach` hooks) is merged in last.
|
|
98
|
+
*/
|
|
99
|
+
export function checkBag(schema) {
|
|
100
|
+
const bag = {};
|
|
101
|
+
const internals = schema._zod;
|
|
102
|
+
if (isFormatSchema(schema))
|
|
103
|
+
applyCheck(bag, schema);
|
|
104
|
+
for (const check of internals.def.checks ?? [])
|
|
105
|
+
if (isFirstParty(check))
|
|
106
|
+
applyCheck(bag, check);
|
|
107
|
+
const legacy = internals.bag;
|
|
108
|
+
if (typeof legacy.minimum === 'number')
|
|
109
|
+
narrowMin(bag, 'minimum', legacy.minimum);
|
|
110
|
+
if (typeof legacy.exclusiveMinimum === 'number')
|
|
111
|
+
narrowMin(bag, 'exclusiveMinimum', legacy.exclusiveMinimum);
|
|
112
|
+
if (typeof legacy.maximum === 'number')
|
|
113
|
+
narrowMax(bag, 'maximum', legacy.maximum);
|
|
114
|
+
if (typeof legacy.exclusiveMaximum === 'number')
|
|
115
|
+
narrowMax(bag, 'exclusiveMaximum', legacy.exclusiveMaximum);
|
|
116
|
+
if (typeof legacy.multipleOf === 'number')
|
|
117
|
+
bag.multipleOf ??= legacy.multipleOf;
|
|
118
|
+
if (typeof legacy.format === 'string')
|
|
119
|
+
bag.format ??= legacy.format;
|
|
120
|
+
if (typeof legacy.contentEncoding === 'string')
|
|
121
|
+
bag.contentEncoding ??= legacy.contentEncoding;
|
|
122
|
+
if (legacy.patterns instanceof Set) {
|
|
123
|
+
for (const pattern of legacy.patterns)
|
|
124
|
+
if (pattern instanceof RegExp)
|
|
125
|
+
addPattern(bag, pattern);
|
|
126
|
+
}
|
|
127
|
+
return bag;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=check-bag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-bag.js","sourceRoot":"","sources":["../../src/schema/check-bag.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-json-schema.d.ts","sourceRoot":"","sources":["../../src/schema/to-json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"to-json-schema.d.ts","sourceRoot":"","sources":["../../src/schema/to-json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AA0BrE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,CAAC,CAAC,OAAO,EACjB,OAAO,EAAE,mBAAmB,GAAG,OAAO,GAAG,gBAAgB,GACxD,UAAU,CAqBZ"}
|
|
@@ -2,6 +2,7 @@ import z from 'zod';
|
|
|
2
2
|
import { resolveDescriptor } from './registry';
|
|
3
3
|
import { buildAnyValueSchema, usesSharedAnyDefinition } from './any-value';
|
|
4
4
|
import { buildCycleBreakerSchema } from './cycle-breaker';
|
|
5
|
+
import { checkBag } from './check-bag';
|
|
5
6
|
import { describeOversizeEnum, enumEmittedValues, literalEmittedValues } from './enum-values';
|
|
6
7
|
/**
|
|
7
8
|
* Converts a Zod schema to JSON Schema with support for different provider dialects.
|
|
@@ -292,7 +293,7 @@ function convertSchema(schema, context) {
|
|
|
292
293
|
items: convert(schema.element, context),
|
|
293
294
|
};
|
|
294
295
|
if (descriptor.allowMinMaxItems) {
|
|
295
|
-
const { minimum, maximum } = schema
|
|
296
|
+
const { minimum, maximum } = checkBag(schema);
|
|
296
297
|
if (typeof minimum === 'number') {
|
|
297
298
|
result.minItems = minimum;
|
|
298
299
|
}
|
|
@@ -403,7 +404,7 @@ function convertSchema(schema, context) {
|
|
|
403
404
|
result.maxItems = items.length;
|
|
404
405
|
}
|
|
405
406
|
if (descriptor.allowMinMaxItems) {
|
|
406
|
-
const { minimum, maximum } = schema
|
|
407
|
+
const { minimum, maximum } = checkBag(schema);
|
|
407
408
|
if (typeof minimum === 'number') {
|
|
408
409
|
result.minItems = minimum;
|
|
409
410
|
}
|
|
@@ -466,7 +467,7 @@ function convertSchema(schema, context) {
|
|
|
466
467
|
// Handle primitive types
|
|
467
468
|
if (schema instanceof z.ZodString) {
|
|
468
469
|
const result = { type: 'string' };
|
|
469
|
-
const { minimum, maximum, format, patterns, contentEncoding } = schema
|
|
470
|
+
const { minimum, maximum, format, patterns, contentEncoding } = checkBag(schema);
|
|
470
471
|
// Format: emit only when allowed by the descriptor.
|
|
471
472
|
if (typeof format === 'string' && emitsFormat(format, descriptor)) {
|
|
472
473
|
result.format = format;
|
|
@@ -498,7 +499,7 @@ function convertSchema(schema, context) {
|
|
|
498
499
|
}
|
|
499
500
|
if (schema instanceof z.ZodNumber) {
|
|
500
501
|
const result = { type: 'number' };
|
|
501
|
-
const { minimum, maximum, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema
|
|
502
|
+
const { minimum, maximum, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = checkBag(schema);
|
|
502
503
|
if (typeof format === 'string' && format.includes("int")) {
|
|
503
504
|
result.type = 'integer';
|
|
504
505
|
}
|