@aeye/core 0.5.1 → 0.5.2

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.
@@ -29,7 +29,7 @@ A descriptor (see `src/schema.ts` line ~26 for the fully documented interface) d
29
29
  | `tupleEncoding` | `'object-numeric-keys'` vs `'prefix-items'` vs `'items-union'`. |
30
30
  | `optionalAsNullable` | Emit optionals as `T \| null` (OpenAI strict) vs drop from `required[]`. |
31
31
  | `allowAllOf` / `allowAnyOf` / `allowOneOf` | Combinator support. |
32
- | `allowRootRef` / `allowDefsRef` | Whether `$ref: '#'` / `$ref: '#/$defs/X'` are permitted. |
32
+ | `allowRootRef` / `allowDefsRef` | Whether `$ref: '#'` / `$ref: '#/$defs/X'` are permitted. Under `allowDefsRef: false` the emitter never produces a `$defs` section at all: a shared node is **inlined** at each use site, and a non-root cycle takes the bounded placeholder (`supportsRecursion` alone does not license a `$ref` the descriptor cannot spell). |
33
33
  | `anyEncoding` | How `z.any()` / `z.unknown()` is emitted — see below. |
34
34
  | `supportedStringFormats` | `'all'` or a `Set<string>` whitelist. |
35
35
  | `supportsRecursion` | Whether `$ref` self-reference works. |
@@ -107,7 +107,9 @@ budget.allocateTool(schema, requested): FormatDescriptor // returns strict or
107
107
  budget.allocateOutput(schema, requested): FormatDescriptor // output schema; consumes param/union budget, not a tool slot
108
108
  ```
109
109
 
110
- It returns `LENIENT` when `requested === false`, when the schema uses an unrepresentable feature, or when a positive-number request can't fit the remaining budget (priority order; `true` always wins subject to feasibility).
110
+ It returns `LENIENT` when `requested === false`, when the schema uses an unrepresentable feature, or when a positive-number request can't fit the remaining budget (priority order; `true` always wins subject to *budget*, never subject to feasibility).
111
+
112
+ "Unrepresentable" here means a **combinator the descriptor forbids** (`z.union` → `anyOf`, `z.intersection` → `allOf`), because nothing rewrites those away — a schema carrying one under `GOOGLE_STRICT` is a provider HTTP 400. **Recursion is not unrepresentable**: the emitter replaces any back-edge the descriptor cannot spell with a bounded placeholder, so a recursive schema stays strict (looser at the back-edge, never rejected). That is the difference between this check and `canExpress`, which additionally treats a widened back-edge as a reason to fall back — the right answer for a structured *output* (it can be delivered as prompt text instead) and the wrong one for a *tool* (it cannot).
111
113
 
112
114
  ## Registering a custom descriptor
113
115
 
package/dist/schema.d.ts CHANGED
@@ -331,7 +331,7 @@ export declare function resolveDescriptor(input: FormatDescriptor | ToJSONSchema
331
331
  * are always expressible. The structure mirrors the descriptor flags so more
332
332
  * feasibility checks are easy to add.
333
333
  */
334
- export declare function canExpress(schema: z.ZodType, descriptor: FormatDescriptor): boolean;
334
+ export declare function canExpress(schema: z.ZodType | z.core.$ZodType, descriptor: FormatDescriptor): boolean;
335
335
  /**
336
336
  * Recursively transforms a Zod schema to a target dialect.
337
337
  *
@@ -488,6 +488,13 @@ export interface SchemaFeatures {
488
488
  * Walk a Zod schema once and count its structural features. Result is
489
489
  * cached per schema in a WeakMap — second-and-subsequent calls are O(1) and
490
490
  * the entry is GC'd with the schema (same OOM-safe pattern as `strictify`).
491
+ *
492
+ * The walk is EAGER (it has to descend to count), so its cycle guard keys on
493
+ * `walkKey`, not on object identity: a `z.lazy` that rebuilds its inner schema
494
+ * per call would otherwise never re-enter the same object and the walk would
495
+ * never terminate. That is not hypothetical — it is a measured, reproducible
496
+ * heap-death, and this function is on the hot path of EVERY tool of EVERY
497
+ * request to a strict-family model (`SchemaBudget.allocate`).
491
498
  */
492
499
  export declare function analyzeSchema(schema: z.ZodType | z.core.$ZodType): SchemaFeatures;
493
500
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/schema.js CHANGED
@@ -404,6 +404,37 @@ export function resolveDescriptor(input) {
404
404
  const opts = input;
405
405
  return getDescriptor(opts.format ?? 'openai', opts.strict);
406
406
  }
407
+ /**
408
+ * The key an EAGER walk's cycle guard must use for `s`.
409
+ *
410
+ * Object identity alone is a broken guard, because a `z.lazy` is only required
411
+ * to return *a* schema — not the *same* schema object — from its getter. A
412
+ * codegen layer that derives zod from a live type registry rebuilds the subtree
413
+ * on every call (`@aeye/gin`'s `buildSchemas` does), so each re-entry into a
414
+ * recursive node is a FRESH object: an identity guard never fires, the walk
415
+ * descends forever, and because every level allocates a whole new subtree
416
+ * (measured ~9.4 KB/level) the process dies of heap exhaustion —
417
+ * `FATAL ERROR: Ineffective mark-compacts near heap limit` — rather than
418
+ * overflowing the stack. `convert()` already survives this by matching a cached
419
+ * definition on the `aid` such a layer stamps on the node (see its `ZodLazy`
420
+ * branch), so the eager walkers key on the SAME identity: a declared
421
+ * `aid`/`id` names the definition, and only an unnamed node falls back to
422
+ * object identity.
423
+ *
424
+ * The two IDs are read in `convert()`'s own precedence (`aid` then `id`), and
425
+ * carry the same meaning here that they do there: two nodes sharing one
426
+ * declared id ARE one definition.
427
+ */
428
+ function walkKey(s) {
429
+ if (!(s instanceof z.ZodType))
430
+ return s;
431
+ const meta = s.meta();
432
+ const declared = meta?.aid ?? meta?.id;
433
+ // Prefixed so a declared id can never be mistaken for anything else in the
434
+ // guard's key space (the alternative member is an object, so this is belt +
435
+ // braces against a future string-keyed member).
436
+ return typeof declared === 'string' ? `id:${declared}` : s;
437
+ }
407
438
  /**
408
439
  * Decide whether `schema` can be expressed as structured output under
409
440
  * `descriptor`'s JSON-Schema dialect. Returns `false` when the schema uses a
@@ -427,26 +458,58 @@ export function resolveDescriptor(input) {
427
458
  * feasibility checks are easy to add.
428
459
  */
429
460
  export function canExpress(schema, descriptor) {
430
- const root = schema;
461
+ return expressible(schema, descriptor, /* cycleBreakerCounts */ false);
462
+ }
463
+ /**
464
+ * `canExpress`, except that a cycle counts as EXPRESSIBLE whatever the
465
+ * descriptor's ref flags say, because `emitCachedRef` replaces any back-edge
466
+ * the descriptor cannot spell with the bounded `buildCycleBreakerSchema`
467
+ * placeholder. The emitted schema is therefore always *sendable*; it is only
468
+ * *looser* than the source at the back-edge.
469
+ *
470
+ * That distinction is the whole reason there are two predicates:
471
+ * - `canExpress` answers "will the model be properly CONSTRAINED by this?",
472
+ * which is what a structured-OUTPUT delivery decision needs — a back-edge
473
+ * silently widened to "any" is a good reason to deliver the schema as prompt
474
+ * text instead (`applySchemaDeliveryFallback`), and
475
+ * `ANTHROPIC_STRICT`'s `supportsRecursion: false` is exactly that case.
476
+ * - this one answers "will the provider REJECT this?", which is what a TOOL's
477
+ * strict allocation needs. A tool has no prompt-text fallback, so degrading a
478
+ * merely-loose schema to LENIENT would trade a real strict guarantee for
479
+ * nothing.
480
+ *
481
+ * The combinator half is shared and is the half that actually bites: nothing
482
+ * rewrites a forbidden `anyOf`/`allOf` away, so a schema carrying one is a
483
+ * provider 400 under a descriptor that forbids it.
484
+ */
485
+ function sendableUnder(schema, descriptor) {
486
+ return expressible(schema, descriptor, /* cycleBreakerCounts */ true);
487
+ }
488
+ function expressible(schema, descriptor, cycleBreakerCounts) {
489
+ // Keys, not objects — a rebuilt `z.lazy` getter defeats identity (see `walkKey`).
490
+ const rootKey = walkKey(schema);
431
491
  // Nodes currently on the DFS stack — a re-encounter is a recursion cycle.
432
492
  const inProgress = new Set();
433
493
  // Completed nodes with their result, so shared (non-cyclic) sub-schemas
434
494
  // aren't re-walked (guards against exponential blow-up on DAG-shaped schemas).
435
495
  const completed = new Map();
436
496
  const walk = (s) => {
437
- if (inProgress.has(s)) {
497
+ const key = walkKey(s);
498
+ if (inProgress.has(key)) {
438
499
  // Recursion cycle detected at `s`.
439
- if (s === root)
500
+ if (cycleBreakerCounts)
501
+ return true;
502
+ if (key === rootKey)
440
503
  return descriptor.allowRootRef && descriptor.supportsRecursion;
441
504
  return descriptor.allowDefsRef && descriptor.supportsRecursion;
442
505
  }
443
- const cached = completed.get(s);
506
+ const cached = completed.get(key);
444
507
  if (cached !== undefined)
445
508
  return cached;
446
- inProgress.add(s);
509
+ inProgress.add(key);
447
510
  const result = walkNode(s);
448
- inProgress.delete(s);
449
- completed.set(s, result);
511
+ inProgress.delete(key);
512
+ completed.set(key, result);
450
513
  return result;
451
514
  };
452
515
  const walkNode = (s) => {
@@ -1045,9 +1108,16 @@ function convert(schema, context) {
1045
1108
  // If the schema has an 'aid' or 'id' in meta, promote it to a definition.
1046
1109
  // A cache-bypassed "any" node is never promoted — naming a schema that
1047
1110
  // asserts nothing buys nothing, and the `$defs` entry is precisely what the
1048
- // inline encoding is avoiding.
1111
+ // inline encoding is avoiding. A descriptor that forbids `$defs` outright
1112
+ // (`allowDefsRef: false` — Google strict) is never promoted to either: the id
1113
+ // is still computed, because the cycle-breaker's description names it, but
1114
+ // the definition is inlined at each use site, which is the only spelling that
1115
+ // dialect has for a shared node.
1049
1116
  const id = (metadata.aid ? String(metadata.aid) : 0) || metadata.id || `__schema${context.refCounter++}`;
1050
- const save = !bypassCache && !!(metadata.aid || metadata.id) && context.root !== schema;
1117
+ const save = !bypassCache
1118
+ && !!(metadata.aid || metadata.id)
1119
+ && context.root !== schema
1120
+ && context.descriptor.allowDefsRef;
1051
1121
  // A schema target - will hold either the converted schema or a $ref
1052
1122
  const target = {};
1053
1123
  // Before converting, register this schema to handle recursion
@@ -1083,11 +1153,21 @@ function convert(schema, context) {
1083
1153
  *
1084
1154
  * Three cases:
1085
1155
  * 1. Re-encounter while still on the conversion stack (`inProgress.has(id)`)
1086
- * AND the descriptor rejects recursive `$ref`s — emit a shape-aware
1087
- * placeholder via `buildCycleBreakerSchema()` (number stays number, array
1088
- * stays array, etc.) with a description naming the `$defs` entry it would
1089
- * have referenced. This breaks the cycle inline so providers like
1090
- * Anthropic don't reject the schema.
1156
+ * AND the descriptor cannot express the `$ref` this back-edge would need —
1157
+ * emit a shape-aware placeholder via `buildCycleBreakerSchema()` (number
1158
+ * stays number, array stays array, etc.) with a description naming the
1159
+ * `$defs` entry it would have referenced. This breaks the cycle inline so
1160
+ * providers like Anthropic don't reject the schema.
1161
+ *
1162
+ * "Cannot express" is TWO flags, not one, because a back-edge is only ever
1163
+ * spelled one of two ways: `{$ref: '#'}` at the root, or `{$ref:
1164
+ * '#/$defs/X'}` anywhere else. `!supportsRecursion` rules out both.
1165
+ * `!allowDefsRef` rules out the second — so a NON-ROOT cycle under a
1166
+ * descriptor that forbids `$defs` (Google strict is exactly that:
1167
+ * `supportsRecursion: true`, `allowRootRef: true`, `allowDefsRef: false`)
1168
+ * must take the same bounded placeholder. Checking only `supportsRecursion`
1169
+ * silently emitted the `$defs`/`$ref` pair the descriptor declares it cannot
1170
+ * send — a schema the provider answers with HTTP 400.
1091
1171
  * 2. Re-encounter at root with `allowRootRef` — emit `{$ref: '#'}`.
1092
1172
  * 3. Otherwise — emit `{$ref: '#/$defs/<id>'}`, promoting the original
1093
1173
  * target to a `$defs` entry on first share.
@@ -1095,7 +1175,10 @@ function convert(schema, context) {
1095
1175
  function emitCachedRef(schema, cachedJs, cachedId, context) {
1096
1176
  const descriptor = context.descriptor;
1097
1177
  const isCycle = context.inProgress.has(cachedId);
1098
- if (isCycle && !descriptor.supportsRecursion) {
1178
+ const isRoot = schema === context.root;
1179
+ // The spelling this back-edge would need, and whether the descriptor has it.
1180
+ const backEdgeExpressible = isRoot ? descriptor.allowRootRef : descriptor.allowDefsRef;
1181
+ if (isCycle && (!descriptor.supportsRecursion || !backEdgeExpressible)) {
1099
1182
  // Replace the back-edge with a placeholder whose top-level shape matches
1100
1183
  // the recursive zod schema. The original `cachedJs` target keeps filling
1101
1184
  // in normally — once conversion completes the `$defs` entry exists; we
@@ -1103,9 +1186,30 @@ function emitCachedRef(schema, cachedJs, cachedId, context) {
1103
1186
  // the provider rejects.
1104
1187
  return buildCycleBreakerSchema(schema, cachedId, descriptor);
1105
1188
  }
1106
- if (schema === context.root && descriptor.allowRootRef) {
1189
+ if (isRoot && descriptor.allowRootRef) {
1107
1190
  return { $ref: `#` };
1108
1191
  }
1192
+ // A non-cyclic re-encounter under a descriptor with no `$defs`: INLINE the
1193
+ // already-converted shape instead of naming it. There is no third spelling in
1194
+ // that dialect — a shared node is either repeated or it is a `$ref` the
1195
+ // provider rejects. Safe and finite: `!isCycle` means this node's conversion
1196
+ // already completed, and any cycle BELOW it was replaced by the bounded
1197
+ // placeholder above, so the inlined value is a finite tree. The cost is
1198
+ // duplication in the emitted schema, which is what that dialect charges for
1199
+ // shared structure.
1200
+ //
1201
+ // On a schema the dialect can actually SEND that cost is negligible (measured
1202
+ // on the cases in `schema-google-defs.test.ts`: 497→435, 627→565, 280→322
1203
+ // bytes — inlining a leaf is often smaller than naming it). It is only large
1204
+ // on a heavily-shared recursive DAG — a gin `buildSchemas().Expr` renders
1205
+ // 44 KB with `$defs` and 1.36 MB without — and such a schema carries 1646
1206
+ // `anyOf`s, so `canExpress` already answers `false` for it and no provider
1207
+ // path reaches here. Paying size on a schema that must not be sent anyway is
1208
+ // the right side of the trade against emitting `$defs` the descriptor
1209
+ // declares it cannot send.
1210
+ if (!descriptor.allowDefsRef) {
1211
+ return { ...cachedJs };
1212
+ }
1109
1213
  if (!context.definitionSchemas.has(cachedId)) {
1110
1214
  context.definitionSchemas.set(cachedId, { ...cachedJs });
1111
1215
  for (const prop in cachedJs) {
@@ -1126,10 +1230,14 @@ function emitCachedRef(schema, cachedJs, cachedId, context) {
1126
1230
  */
1127
1231
  function buildCycleBreakerSchema(schema, refId, descriptor) {
1128
1232
  const placeholder = genericize(schema, descriptor, 1);
1129
- return {
1130
- ...placeholder,
1131
- description: `Would recursively reference #/$defs/${refId}`,
1132
- };
1233
+ // The description is MODEL-FACING, so it must not point at a `$defs` entry
1234
+ // this dialect never emits — under `allowDefsRef: false` there is no `$defs`
1235
+ // section at all, and telling the model to look at one is a lie about the
1236
+ // document it was handed. Name the recursion instead.
1237
+ const description = descriptor.allowDefsRef
1238
+ ? `Would recursively reference #/$defs/${refId}`
1239
+ : `Recursive reference to '${refId}' — repeat this shape here`;
1240
+ return { ...placeholder, description };
1133
1241
  }
1134
1242
  /**
1135
1243
  * Reduce a zod schema to a JSON-Schema node carrying its top-level shape
@@ -1789,6 +1897,13 @@ const featuresCache = new WeakMap();
1789
1897
  * Walk a Zod schema once and count its structural features. Result is
1790
1898
  * cached per schema in a WeakMap — second-and-subsequent calls are O(1) and
1791
1899
  * the entry is GC'd with the schema (same OOM-safe pattern as `strictify`).
1900
+ *
1901
+ * The walk is EAGER (it has to descend to count), so its cycle guard keys on
1902
+ * `walkKey`, not on object identity: a `z.lazy` that rebuilds its inner schema
1903
+ * per call would otherwise never re-enter the same object and the walk would
1904
+ * never terminate. That is not hypothetical — it is a measured, reproducible
1905
+ * heap-death, and this function is on the hot path of EVERY tool of EVERY
1906
+ * request to a strict-family model (`SchemaBudget.allocate`).
1792
1907
  */
1793
1908
  export function analyzeSchema(schema) {
1794
1909
  const cached = featuresCache.get(schema);
@@ -1799,9 +1914,10 @@ export function analyzeSchema(schema) {
1799
1914
  function walk(s) {
1800
1915
  if (!s)
1801
1916
  return;
1802
- if (visiting.has(s))
1917
+ const key = walkKey(s);
1918
+ if (visiting.has(key))
1803
1919
  return;
1804
- visiting.add(s);
1920
+ visiting.add(key);
1805
1921
  try {
1806
1922
  // Recursion is detected via z.lazy: peek at the inner schema (but only
1807
1923
  // once — the visiting set bounds the walk).
@@ -1872,7 +1988,7 @@ export function analyzeSchema(schema) {
1872
1988
  // Primitives and unknown leaves contribute nothing.
1873
1989
  }
1874
1990
  finally {
1875
- visiting.delete(s);
1991
+ visiting.delete(key);
1876
1992
  }
1877
1993
  }
1878
1994
  walk(schema);
@@ -1950,14 +2066,32 @@ export class SchemaBudget {
1950
2066
  // Descriptor itself is lenient → nothing to allocate.
1951
2067
  if (!this.descriptor.strict)
1952
2068
  return LENIENT;
1953
- const features = analyzeSchema(schema);
1954
2069
  const isHardRequired = requested === true;
1955
2070
  const isPreferredNumeric = typeof requested === 'number' && requested > 0;
1956
2071
  if (!isHardRequired && !isPreferredNumeric) {
1957
2072
  // requested is undefined or 0 — treat as no preference; default to
1958
- // lenient so callers explicitly opt into strict.
2073
+ // lenient so callers explicitly opt into strict. Decided BEFORE any walk
2074
+ // of `schema`: analysing a schema whose verdict is already LENIENT is
2075
+ // pure waste on the hot path of every tool of every request.
1959
2076
  return LENIENT;
1960
2077
  }
2078
+ // FEASIBILITY, before budget — the second clause of this method's contract,
2079
+ // and the one that was documented but never implemented. Emitting a strict
2080
+ // schema carrying a combinator the descriptor forbids is a guaranteed
2081
+ // provider 400, not a degradation: `GOOGLE_STRICT` forbids `anyOf`, and the
2082
+ // recursive union a gin/query codegen layer produces is nothing but.
2083
+ // Degrading to LENIENT is the documented answer for a TOOL (unlike a
2084
+ // structured OUTPUT, a tool schema has no prompt-text delivery to fall back
2085
+ // to — `applySchemaDeliveryFallback` covers `responseFormat` only), and it
2086
+ // is also what keeps the API-level `strict: true` flag off the wire, since
2087
+ // providers set it from `descriptor.strict`.
2088
+ //
2089
+ // `sendableUnder`, not `canExpress`: a cycle is always sendable (the
2090
+ // emitter's bounded placeholder), only looser — see that function's note on
2091
+ // why the two questions are different.
2092
+ if (!sendableUnder(schema, this.descriptor))
2093
+ return LENIENT;
2094
+ const features = analyzeSchema(schema);
1961
2095
  // Soft-priority items must fit the budget. Hard-required items skip
1962
2096
  // budget checks because selection already promised the model can take
1963
2097
  // them — if there are too many, that's a request-construction bug we
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aeye/core",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "@aeye Core - Core primitives for AI components (agents, tools, prompts)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",