@boboddy/sdk 0.5.0 → 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.
@@ -207,22 +207,22 @@ function enumeratePaths(node, root, maxDepth = 3, limit = 40) {
207
207
  visit(node, "", 1);
208
208
  return [...new Set(out)].sort();
209
209
  }
210
- function resolveSourcePath(schema, sourcePath) {
210
+ function resolvePathToNode(schema, sourcePath) {
211
211
  const segments = parseSourcePath(sourcePath);
212
212
  if (segments.length === 0)
213
- return { kind: "resolved" };
213
+ return { kind: "resolved", node: schema };
214
214
  let candidates = [schema];
215
215
  let resolvedPrefix = "";
216
216
  for (const segment of segments) {
217
- const expanded = candidates.flatMap((node) => flatten(node, schema) ?? []);
217
+ const expanded = candidates.flatMap((node2) => flatten(node2, schema) ?? []);
218
218
  if (expanded.length === 0)
219
219
  return { kind: "indeterminate" };
220
- const outcome = combine(expanded.map((node) => stepInto(node, segment)));
220
+ const outcome = combine(expanded.map((node2) => stepInto(node2, segment)));
221
221
  if (outcome.kind === "indeterminate")
222
222
  return { kind: "indeterminate" };
223
223
  if (outcome.kind === "invalid") {
224
224
  const availablePaths = [
225
- ...new Set(expanded.flatMap((node) => enumeratePaths(node, schema)))
225
+ ...new Set(expanded.flatMap((node2) => enumeratePaths(node2, schema)))
226
226
  ].sort();
227
227
  return {
228
228
  kind: "invalid",
@@ -235,7 +235,60 @@ function resolveSourcePath(schema, sourcePath) {
235
235
  candidates = [outcome.node];
236
236
  resolvedPrefix = resolvedPrefix ? `${resolvedPrefix}.${segment}` : segment;
237
237
  }
238
- return { kind: "resolved" };
238
+ const [node] = candidates;
239
+ return node ? { kind: "resolved", node } : { kind: "indeterminate" };
240
+ }
241
+ function resolveSourcePath(schema, sourcePath) {
242
+ const result = resolvePathToNode(schema, sourcePath);
243
+ if (result.kind === "resolved")
244
+ return { kind: "resolved" };
245
+ if (result.kind === "indeterminate")
246
+ return { kind: "indeterminate" };
247
+ return {
248
+ kind: "invalid",
249
+ resolvedPrefix: result.resolvedPrefix,
250
+ segment: result.segment,
251
+ reason: result.reason,
252
+ availablePaths: result.availablePaths
253
+ };
254
+ }
255
+ var KNOWN_TYPES = new Set([
256
+ "string",
257
+ "number",
258
+ "boolean",
259
+ "object",
260
+ "array",
261
+ "null"
262
+ ]);
263
+ function normalizeTypeName(name) {
264
+ return name === "integer" ? "number" : name;
265
+ }
266
+ function resolveSchemaType(node, root = node) {
267
+ const branches = flatten(node, root);
268
+ if (!branches || branches.length === 0)
269
+ return "unknown";
270
+ const types = new Set;
271
+ for (const branch of branches) {
272
+ const record = asRecord(branch);
273
+ if (!record)
274
+ return "unknown";
275
+ const names = [...typeNames(record)].map(normalizeTypeName);
276
+ if (names.length !== 1)
277
+ return "unknown";
278
+ const [name] = names;
279
+ if (!name || !KNOWN_TYPES.has(name))
280
+ return "unknown";
281
+ types.add(name);
282
+ }
283
+ if (types.size !== 1)
284
+ return "unknown";
285
+ return [...types][0];
286
+ }
287
+ function resolvePathType(schema, sourcePath) {
288
+ const result = resolvePathToNode(schema, sourcePath);
289
+ if (result.kind !== "resolved")
290
+ return "unknown";
291
+ return resolveSchemaType(result.node, schema);
239
292
  }
240
293
  // src/definitions/pipelines/chain-graph.ts
241
294
  function tryComputeTopoRanks(nodeDefinitions, dependencyEdges) {
@@ -288,527 +341,596 @@ function tryOrderNodeDefinitionsByTopoRank(nodeDefinitions, dependencyEdges) {
288
341
  return rankDiff !== 0 ? rankDiff : left.declarationIndex - right.declarationIndex;
289
342
  }).map(({ node }) => node);
290
343
  }
344
+ function tryComputeDominators(nodeDefinitions, dependencyEdges, entryNodeKey) {
345
+ const nodeKeys = new Set(nodeDefinitions.map((node) => node.nodeKey));
346
+ if (!nodeKeys.has(entryNodeKey))
347
+ return null;
348
+ if (tryComputeTopoRanks(nodeDefinitions, dependencyEdges) === null) {
349
+ return null;
350
+ }
351
+ const outgoing = new Map;
352
+ const incoming = new Map;
353
+ for (const key of nodeKeys) {
354
+ outgoing.set(key, []);
355
+ incoming.set(key, []);
356
+ }
357
+ for (const edge of dependencyEdges) {
358
+ outgoing.get(edge.fromNodeKey)?.push(edge.toNodeKey);
359
+ incoming.get(edge.toNodeKey)?.push(edge.fromNodeKey);
360
+ }
361
+ const reachable = new Set([entryNodeKey]);
362
+ const queue = [entryNodeKey];
363
+ while (queue.length > 0) {
364
+ const current = queue.shift();
365
+ if (current === undefined)
366
+ break;
367
+ for (const next of outgoing.get(current) ?? []) {
368
+ if (reachable.has(next))
369
+ continue;
370
+ reachable.add(next);
371
+ queue.push(next);
372
+ }
373
+ }
374
+ const dom = new Map;
375
+ dom.set(entryNodeKey, new Set([entryNodeKey]));
376
+ for (const key of reachable) {
377
+ if (key !== entryNodeKey)
378
+ dom.set(key, new Set(reachable));
379
+ }
380
+ let changed = true;
381
+ while (changed) {
382
+ changed = false;
383
+ for (const key of reachable) {
384
+ if (key === entryNodeKey)
385
+ continue;
386
+ let intersection = null;
387
+ for (const predecessor of incoming.get(key) ?? []) {
388
+ if (!reachable.has(predecessor))
389
+ continue;
390
+ const predecessorDom = dom.get(predecessor);
391
+ if (!predecessorDom)
392
+ continue;
393
+ if (intersection === null) {
394
+ intersection = new Set(predecessorDom);
395
+ continue;
396
+ }
397
+ for (const candidate of intersection) {
398
+ if (!predecessorDom.has(candidate))
399
+ intersection.delete(candidate);
400
+ }
401
+ }
402
+ const nextDom = intersection ?? new Set;
403
+ nextDom.add(key);
404
+ const currentDom = dom.get(key);
405
+ if (!currentDom || currentDom.size !== nextDom.size || [...currentDom].some((item) => !nextDom.has(item))) {
406
+ dom.set(key, nextDom);
407
+ changed = true;
408
+ }
409
+ }
410
+ }
411
+ return dom;
412
+ }
291
413
 
292
414
  // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/classic/external.js
293
415
  var exports_external = {};
294
416
  __export(exports_external, {
295
- xor: () => xor,
296
- xid: () => xid2,
297
- void: () => _void2,
298
- uuidv7: () => uuidv7,
299
- uuidv6: () => uuidv6,
300
- uuidv4: () => uuidv4,
301
- uuid: () => uuid2,
302
- util: () => exports_util,
303
- url: () => url,
304
- uppercase: () => _uppercase,
305
- unknown: () => unknown,
306
- union: () => union,
307
- undefined: () => _undefined3,
308
- ulid: () => ulid2,
309
- uint64: () => uint64,
310
- uint32: () => uint32,
311
- tuple: () => tuple,
312
- trim: () => _trim,
313
- treeifyError: () => treeifyError,
314
- transform: () => transform,
315
- toUpperCase: () => _toUpperCase,
316
- toLowerCase: () => _toLowerCase,
317
- toJSONSchema: () => toJSONSchema,
318
- templateLiteral: () => templateLiteral,
319
- symbol: () => symbol,
320
- superRefine: () => superRefine,
321
- success: () => success,
322
- stringbool: () => stringbool,
323
- stringFormat: () => stringFormat,
324
- string: () => string2,
325
- strictObject: () => strictObject,
326
- startsWith: () => _startsWith,
327
- slugify: () => _slugify,
328
- size: () => _size,
329
- setErrorMap: () => setErrorMap,
330
- set: () => set,
331
- safeParseAsync: () => safeParseAsync2,
332
- safeParse: () => safeParse2,
333
- safeEncodeAsync: () => safeEncodeAsync2,
334
- safeEncode: () => safeEncode2,
335
- safeDecodeAsync: () => safeDecodeAsync2,
336
- safeDecode: () => safeDecode2,
337
- registry: () => registry,
338
- regexes: () => exports_regexes,
339
- regex: () => _regex,
340
- refine: () => refine,
341
- record: () => record,
342
- readonly: () => readonly,
343
- property: () => _property,
344
- promise: () => promise,
345
- prettifyError: () => prettifyError,
346
- preprocess: () => preprocess,
347
- prefault: () => prefault,
348
- positive: () => _positive,
349
- pipe: () => pipe,
350
- partialRecord: () => partialRecord,
351
- parseAsync: () => parseAsync2,
352
- parse: () => parse3,
353
- overwrite: () => _overwrite,
354
- optional: () => optional,
355
- object: () => object,
356
- number: () => number2,
357
- nullish: () => nullish2,
358
- nullable: () => nullable,
359
- null: () => _null3,
360
- normalize: () => _normalize,
361
- nonpositive: () => _nonpositive,
362
- nonoptional: () => nonoptional,
363
- nonnegative: () => _nonnegative,
364
- never: () => never,
365
- negative: () => _negative,
366
- nativeEnum: () => nativeEnum,
367
- nanoid: () => nanoid2,
368
- nan: () => nan,
369
- multipleOf: () => _multipleOf,
370
- minSize: () => _minSize,
371
- minLength: () => _minLength,
372
- mime: () => _mime,
373
- meta: () => meta2,
374
- maxSize: () => _maxSize,
375
- maxLength: () => _maxLength,
376
- map: () => map,
377
- mac: () => mac2,
378
- lte: () => _lte,
379
- lt: () => _lt,
380
- lowercase: () => _lowercase,
381
- looseRecord: () => looseRecord,
382
- looseObject: () => looseObject,
383
- locales: () => exports_locales,
384
- literal: () => literal,
385
- length: () => _length,
386
- lazy: () => lazy,
387
- ksuid: () => ksuid2,
388
- keyof: () => keyof,
389
- jwt: () => jwt,
390
- json: () => json,
391
- iso: () => exports_iso,
392
- ipv6: () => ipv62,
393
- ipv4: () => ipv42,
394
- invertCodec: () => invertCodec,
395
- intersection: () => intersection,
396
- int64: () => int64,
397
- int32: () => int32,
398
- int: () => int,
399
- instanceof: () => _instanceof,
400
- includes: () => _includes,
401
- httpUrl: () => httpUrl,
402
- hostname: () => hostname2,
403
- hex: () => hex2,
404
- hash: () => hash,
405
- guid: () => guid2,
406
- gte: () => _gte,
407
- gt: () => _gt,
408
- globalRegistry: () => globalRegistry,
409
- getErrorMap: () => getErrorMap,
410
- function: () => _function,
411
- fromJSONSchema: () => fromJSONSchema,
412
- formatError: () => formatError,
413
- float64: () => float64,
414
- float32: () => float32,
415
- flattenError: () => flattenError,
416
- file: () => file,
417
- exactOptional: () => exactOptional,
418
- enum: () => _enum2,
419
- endsWith: () => _endsWith,
420
- encodeAsync: () => encodeAsync2,
421
- encode: () => encode2,
422
- emoji: () => emoji2,
423
- email: () => email2,
424
- e164: () => e1642,
425
- discriminatedUnion: () => discriminatedUnion,
426
- describe: () => describe2,
427
- decodeAsync: () => decodeAsync2,
428
- decode: () => decode2,
429
- date: () => date3,
430
- custom: () => custom,
431
- cuid2: () => cuid22,
432
- cuid: () => cuid3,
433
- core: () => exports_core2,
434
- config: () => config,
435
- coerce: () => exports_coerce,
436
- codec: () => codec,
437
- clone: () => clone,
438
- cidrv6: () => cidrv62,
439
- cidrv4: () => cidrv42,
440
- check: () => check,
441
- catch: () => _catch2,
442
- boolean: () => boolean2,
443
- bigint: () => bigint2,
444
- base64url: () => base64url2,
445
- base64: () => base642,
446
- array: () => array,
447
- any: () => any,
448
- _function: () => _function,
449
- _default: () => _default2,
450
- _ZodString: () => _ZodString,
451
- ZodXor: () => ZodXor,
452
- ZodXID: () => ZodXID,
453
- ZodVoid: () => ZodVoid,
454
- ZodUnknown: () => ZodUnknown,
455
- ZodUnion: () => ZodUnion,
456
- ZodUndefined: () => ZodUndefined,
457
- ZodUUID: () => ZodUUID,
458
- ZodURL: () => ZodURL,
459
- ZodULID: () => ZodULID,
460
- ZodType: () => ZodType,
461
- ZodTuple: () => ZodTuple,
462
- ZodTransform: () => ZodTransform,
463
- ZodTemplateLiteral: () => ZodTemplateLiteral,
464
- ZodSymbol: () => ZodSymbol,
465
- ZodSuccess: () => ZodSuccess,
466
- ZodStringFormat: () => ZodStringFormat,
467
- ZodString: () => ZodString,
468
- ZodSet: () => ZodSet,
469
- ZodRecord: () => ZodRecord,
470
- ZodRealError: () => ZodRealError,
471
- ZodReadonly: () => ZodReadonly,
472
- ZodPromise: () => ZodPromise,
473
- ZodPreprocess: () => ZodPreprocess,
474
- ZodPrefault: () => ZodPrefault,
475
- ZodPipe: () => ZodPipe,
476
- ZodOptional: () => ZodOptional,
477
- ZodObject: () => ZodObject,
478
- ZodNumberFormat: () => ZodNumberFormat,
479
- ZodNumber: () => ZodNumber,
480
- ZodNullable: () => ZodNullable,
481
- ZodNull: () => ZodNull,
482
- ZodNonOptional: () => ZodNonOptional,
483
- ZodNever: () => ZodNever,
484
- ZodNanoID: () => ZodNanoID,
485
- ZodNaN: () => ZodNaN,
486
- ZodMap: () => ZodMap,
487
- ZodMAC: () => ZodMAC,
488
- ZodLiteral: () => ZodLiteral,
489
- ZodLazy: () => ZodLazy,
490
- ZodKSUID: () => ZodKSUID,
491
- ZodJWT: () => ZodJWT,
492
- ZodIssueCode: () => ZodIssueCode,
493
- ZodIntersection: () => ZodIntersection,
494
- ZodISOTime: () => ZodISOTime,
495
- ZodISODuration: () => ZodISODuration,
496
- ZodISODateTime: () => ZodISODateTime,
497
- ZodISODate: () => ZodISODate,
498
- ZodIPv6: () => ZodIPv6,
499
- ZodIPv4: () => ZodIPv4,
500
- ZodGUID: () => ZodGUID,
501
- ZodFunction: () => ZodFunction,
502
- ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind,
503
- ZodFile: () => ZodFile,
504
- ZodExactOptional: () => ZodExactOptional,
505
- ZodError: () => ZodError,
506
- ZodEnum: () => ZodEnum,
507
- ZodEmoji: () => ZodEmoji,
508
- ZodEmail: () => ZodEmail,
509
- ZodE164: () => ZodE164,
510
- ZodDiscriminatedUnion: () => ZodDiscriminatedUnion,
511
- ZodDefault: () => ZodDefault,
512
- ZodDate: () => ZodDate,
513
- ZodCustomStringFormat: () => ZodCustomStringFormat,
514
- ZodCustom: () => ZodCustom,
515
- ZodCodec: () => ZodCodec,
516
- ZodCatch: () => ZodCatch,
517
- ZodCUID2: () => ZodCUID2,
518
- ZodCUID: () => ZodCUID,
519
- ZodCIDRv6: () => ZodCIDRv6,
520
- ZodCIDRv4: () => ZodCIDRv4,
521
- ZodBoolean: () => ZodBoolean,
522
- ZodBigIntFormat: () => ZodBigIntFormat,
523
- ZodBigInt: () => ZodBigInt,
524
- ZodBase64URL: () => ZodBase64URL,
525
- ZodBase64: () => ZodBase64,
526
- ZodArray: () => ZodArray,
527
- ZodAny: () => ZodAny,
528
- TimePrecision: () => TimePrecision,
529
- NEVER: () => NEVER,
530
- $output: () => $output,
417
+ $brand: () => $brand,
531
418
  $input: () => $input,
532
- $brand: () => $brand
533
- });
534
-
535
- // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/index.js
536
- var exports_core2 = {};
537
- __export(exports_core2, {
538
- version: () => version,
539
- util: () => exports_util,
540
- treeifyError: () => treeifyError,
541
- toJSONSchema: () => toJSONSchema,
542
- toDotPath: () => toDotPath,
543
- safeParseAsync: () => safeParseAsync,
544
- safeParse: () => safeParse,
545
- safeEncodeAsync: () => safeEncodeAsync,
546
- safeEncode: () => safeEncode,
547
- safeDecodeAsync: () => safeDecodeAsync,
548
- safeDecode: () => safeDecode,
549
- registry: () => registry,
550
- regexes: () => exports_regexes,
551
- process: () => process,
552
- prettifyError: () => prettifyError,
553
- parseAsync: () => parseAsync,
554
- parse: () => parse,
555
- meta: () => meta,
556
- locales: () => exports_locales,
557
- isValidJWT: () => isValidJWT,
558
- isValidBase64URL: () => isValidBase64URL,
559
- isValidBase64: () => isValidBase64,
560
- initializeContext: () => initializeContext,
561
- globalRegistry: () => globalRegistry,
562
- globalConfig: () => globalConfig,
563
- formatError: () => formatError,
564
- flattenError: () => flattenError,
565
- finalize: () => finalize,
566
- extractDefs: () => extractDefs,
567
- encodeAsync: () => encodeAsync,
568
- encode: () => encode,
569
- describe: () => describe,
570
- decodeAsync: () => decodeAsync,
571
- decode: () => decode,
572
- createToJSONSchemaMethod: () => createToJSONSchemaMethod,
573
- createStandardJSONSchemaMethod: () => createStandardJSONSchemaMethod,
574
- config: () => config,
575
- clone: () => clone,
576
- _xor: () => _xor,
577
- _xid: () => _xid,
578
- _void: () => _void,
579
- _uuidv7: () => _uuidv7,
580
- _uuidv6: () => _uuidv6,
581
- _uuidv4: () => _uuidv4,
582
- _uuid: () => _uuid,
583
- _url: () => _url,
584
- _uppercase: () => _uppercase,
585
- _unknown: () => _unknown,
586
- _union: () => _union,
587
- _undefined: () => _undefined2,
588
- _ulid: () => _ulid,
589
- _uint64: () => _uint64,
590
- _uint32: () => _uint32,
591
- _tuple: () => _tuple,
592
- _trim: () => _trim,
593
- _transform: () => _transform,
594
- _toUpperCase: () => _toUpperCase,
595
- _toLowerCase: () => _toLowerCase,
596
- _templateLiteral: () => _templateLiteral,
597
- _symbol: () => _symbol,
598
- _superRefine: () => _superRefine,
599
- _success: () => _success,
600
- _stringbool: () => _stringbool,
601
- _stringFormat: () => _stringFormat,
602
- _string: () => _string,
603
- _startsWith: () => _startsWith,
604
- _slugify: () => _slugify,
605
- _size: () => _size,
606
- _set: () => _set,
607
- _safeParseAsync: () => _safeParseAsync,
608
- _safeParse: () => _safeParse,
609
- _safeEncodeAsync: () => _safeEncodeAsync,
610
- _safeEncode: () => _safeEncode,
611
- _safeDecodeAsync: () => _safeDecodeAsync,
612
- _safeDecode: () => _safeDecode,
613
- _regex: () => _regex,
614
- _refine: () => _refine,
615
- _record: () => _record,
616
- _readonly: () => _readonly,
617
- _property: () => _property,
618
- _promise: () => _promise,
619
- _positive: () => _positive,
620
- _pipe: () => _pipe,
621
- _parseAsync: () => _parseAsync,
622
- _parse: () => _parse,
623
- _overwrite: () => _overwrite,
624
- _optional: () => _optional,
625
- _number: () => _number,
626
- _nullable: () => _nullable,
627
- _null: () => _null2,
628
- _normalize: () => _normalize,
629
- _nonpositive: () => _nonpositive,
630
- _nonoptional: () => _nonoptional,
631
- _nonnegative: () => _nonnegative,
632
- _never: () => _never,
633
- _negative: () => _negative,
634
- _nativeEnum: () => _nativeEnum,
635
- _nanoid: () => _nanoid,
636
- _nan: () => _nan,
637
- _multipleOf: () => _multipleOf,
638
- _minSize: () => _minSize,
639
- _minLength: () => _minLength,
640
- _min: () => _gte,
641
- _mime: () => _mime,
642
- _maxSize: () => _maxSize,
643
- _maxLength: () => _maxLength,
644
- _max: () => _lte,
645
- _map: () => _map,
646
- _mac: () => _mac,
647
- _lte: () => _lte,
648
- _lt: () => _lt,
649
- _lowercase: () => _lowercase,
650
- _literal: () => _literal,
651
- _length: () => _length,
652
- _lazy: () => _lazy,
653
- _ksuid: () => _ksuid,
654
- _jwt: () => _jwt,
655
- _isoTime: () => _isoTime,
656
- _isoDuration: () => _isoDuration,
657
- _isoDateTime: () => _isoDateTime,
658
- _isoDate: () => _isoDate,
659
- _ipv6: () => _ipv6,
660
- _ipv4: () => _ipv4,
661
- _intersection: () => _intersection,
662
- _int64: () => _int64,
663
- _int32: () => _int32,
664
- _int: () => _int,
665
- _includes: () => _includes,
666
- _guid: () => _guid,
667
- _gte: () => _gte,
668
- _gt: () => _gt,
669
- _float64: () => _float64,
670
- _float32: () => _float32,
671
- _file: () => _file,
672
- _enum: () => _enum,
673
- _endsWith: () => _endsWith,
674
- _encodeAsync: () => _encodeAsync,
675
- _encode: () => _encode,
676
- _emoji: () => _emoji2,
677
- _email: () => _email,
678
- _e164: () => _e164,
679
- _discriminatedUnion: () => _discriminatedUnion,
680
- _default: () => _default,
681
- _decodeAsync: () => _decodeAsync,
682
- _decode: () => _decode,
683
- _date: () => _date,
684
- _custom: () => _custom,
685
- _cuid2: () => _cuid2,
686
- _cuid: () => _cuid,
687
- _coercedString: () => _coercedString,
688
- _coercedNumber: () => _coercedNumber,
689
- _coercedDate: () => _coercedDate,
690
- _coercedBoolean: () => _coercedBoolean,
691
- _coercedBigint: () => _coercedBigint,
692
- _cidrv6: () => _cidrv6,
693
- _cidrv4: () => _cidrv4,
694
- _check: () => _check,
695
- _catch: () => _catch,
696
- _boolean: () => _boolean,
697
- _bigint: () => _bigint,
698
- _base64url: () => _base64url,
699
- _base64: () => _base64,
700
- _array: () => _array,
701
- _any: () => _any,
702
- TimePrecision: () => TimePrecision,
703
- NEVER: () => NEVER,
704
- JSONSchemaGenerator: () => JSONSchemaGenerator,
705
- JSONSchema: () => exports_json_schema,
706
- Doc: () => Doc,
707
419
  $output: () => $output,
708
- $input: () => $input,
709
- $constructor: () => $constructor,
710
- $brand: () => $brand,
711
- $ZodXor: () => $ZodXor,
712
- $ZodXID: () => $ZodXID,
713
- $ZodVoid: () => $ZodVoid,
714
- $ZodUnknown: () => $ZodUnknown,
715
- $ZodUnion: () => $ZodUnion,
716
- $ZodUndefined: () => $ZodUndefined,
717
- $ZodUUID: () => $ZodUUID,
718
- $ZodURL: () => $ZodURL,
719
- $ZodULID: () => $ZodULID,
720
- $ZodType: () => $ZodType,
721
- $ZodTuple: () => $ZodTuple,
722
- $ZodTransform: () => $ZodTransform,
723
- $ZodTemplateLiteral: () => $ZodTemplateLiteral,
724
- $ZodSymbol: () => $ZodSymbol,
725
- $ZodSuccess: () => $ZodSuccess,
726
- $ZodStringFormat: () => $ZodStringFormat,
727
- $ZodString: () => $ZodString,
728
- $ZodSet: () => $ZodSet,
729
- $ZodRegistry: () => $ZodRegistry,
730
- $ZodRecord: () => $ZodRecord,
731
- $ZodRealError: () => $ZodRealError,
732
- $ZodReadonly: () => $ZodReadonly,
733
- $ZodPromise: () => $ZodPromise,
734
- $ZodPreprocess: () => $ZodPreprocess,
735
- $ZodPrefault: () => $ZodPrefault,
736
- $ZodPipe: () => $ZodPipe,
737
- $ZodOptional: () => $ZodOptional,
738
- $ZodObjectJIT: () => $ZodObjectJIT,
739
- $ZodObject: () => $ZodObject,
740
- $ZodNumberFormat: () => $ZodNumberFormat,
741
- $ZodNumber: () => $ZodNumber,
742
- $ZodNullable: () => $ZodNullable,
743
- $ZodNull: () => $ZodNull,
744
- $ZodNonOptional: () => $ZodNonOptional,
745
- $ZodNever: () => $ZodNever,
746
- $ZodNanoID: () => $ZodNanoID,
747
- $ZodNaN: () => $ZodNaN,
748
- $ZodMap: () => $ZodMap,
749
- $ZodMAC: () => $ZodMAC,
750
- $ZodLiteral: () => $ZodLiteral,
751
- $ZodLazy: () => $ZodLazy,
752
- $ZodKSUID: () => $ZodKSUID,
753
- $ZodJWT: () => $ZodJWT,
754
- $ZodIntersection: () => $ZodIntersection,
755
- $ZodISOTime: () => $ZodISOTime,
756
- $ZodISODuration: () => $ZodISODuration,
757
- $ZodISODateTime: () => $ZodISODateTime,
758
- $ZodISODate: () => $ZodISODate,
759
- $ZodIPv6: () => $ZodIPv6,
760
- $ZodIPv4: () => $ZodIPv4,
761
- $ZodGUID: () => $ZodGUID,
762
- $ZodFunction: () => $ZodFunction,
763
- $ZodFile: () => $ZodFile,
764
- $ZodExactOptional: () => $ZodExactOptional,
765
- $ZodError: () => $ZodError,
766
- $ZodEnum: () => $ZodEnum,
767
- $ZodEncodeError: () => $ZodEncodeError,
768
- $ZodEmoji: () => $ZodEmoji,
769
- $ZodEmail: () => $ZodEmail,
770
- $ZodE164: () => $ZodE164,
771
- $ZodDiscriminatedUnion: () => $ZodDiscriminatedUnion,
772
- $ZodDefault: () => $ZodDefault,
773
- $ZodDate: () => $ZodDate,
774
- $ZodCustomStringFormat: () => $ZodCustomStringFormat,
775
- $ZodCustom: () => $ZodCustom,
776
- $ZodCodec: () => $ZodCodec,
777
- $ZodCheckUpperCase: () => $ZodCheckUpperCase,
778
- $ZodCheckStringFormat: () => $ZodCheckStringFormat,
779
- $ZodCheckStartsWith: () => $ZodCheckStartsWith,
780
- $ZodCheckSizeEquals: () => $ZodCheckSizeEquals,
781
- $ZodCheckRegex: () => $ZodCheckRegex,
782
- $ZodCheckProperty: () => $ZodCheckProperty,
783
- $ZodCheckOverwrite: () => $ZodCheckOverwrite,
784
- $ZodCheckNumberFormat: () => $ZodCheckNumberFormat,
785
- $ZodCheckMultipleOf: () => $ZodCheckMultipleOf,
786
- $ZodCheckMinSize: () => $ZodCheckMinSize,
787
- $ZodCheckMinLength: () => $ZodCheckMinLength,
788
- $ZodCheckMimeType: () => $ZodCheckMimeType,
789
- $ZodCheckMaxSize: () => $ZodCheckMaxSize,
790
- $ZodCheckMaxLength: () => $ZodCheckMaxLength,
791
- $ZodCheckLowerCase: () => $ZodCheckLowerCase,
792
- $ZodCheckLessThan: () => $ZodCheckLessThan,
793
- $ZodCheckLengthEquals: () => $ZodCheckLengthEquals,
794
- $ZodCheckIncludes: () => $ZodCheckIncludes,
795
- $ZodCheckGreaterThan: () => $ZodCheckGreaterThan,
796
- $ZodCheckEndsWith: () => $ZodCheckEndsWith,
797
- $ZodCheckBigIntFormat: () => $ZodCheckBigIntFormat,
798
- $ZodCheck: () => $ZodCheck,
799
- $ZodCatch: () => $ZodCatch,
800
- $ZodCUID2: () => $ZodCUID2,
801
- $ZodCUID: () => $ZodCUID,
802
- $ZodCIDRv6: () => $ZodCIDRv6,
803
- $ZodCIDRv4: () => $ZodCIDRv4,
804
- $ZodBoolean: () => $ZodBoolean,
805
- $ZodBigIntFormat: () => $ZodBigIntFormat,
806
- $ZodBigInt: () => $ZodBigInt,
807
- $ZodBase64URL: () => $ZodBase64URL,
808
- $ZodBase64: () => $ZodBase64,
809
- $ZodAsyncError: () => $ZodAsyncError,
420
+ NEVER: () => NEVER,
421
+ TimePrecision: () => TimePrecision,
422
+ ZodAny: () => ZodAny,
423
+ ZodArray: () => ZodArray,
424
+ ZodBase64: () => ZodBase64,
425
+ ZodBase64URL: () => ZodBase64URL,
426
+ ZodBigInt: () => ZodBigInt,
427
+ ZodBigIntFormat: () => ZodBigIntFormat,
428
+ ZodBoolean: () => ZodBoolean,
429
+ ZodCIDRv4: () => ZodCIDRv4,
430
+ ZodCIDRv6: () => ZodCIDRv6,
431
+ ZodCUID: () => ZodCUID,
432
+ ZodCUID2: () => ZodCUID2,
433
+ ZodCatch: () => ZodCatch,
434
+ ZodCodec: () => ZodCodec,
435
+ ZodCustom: () => ZodCustom,
436
+ ZodCustomStringFormat: () => ZodCustomStringFormat,
437
+ ZodDate: () => ZodDate,
438
+ ZodDefault: () => ZodDefault,
439
+ ZodDiscriminatedUnion: () => ZodDiscriminatedUnion,
440
+ ZodE164: () => ZodE164,
441
+ ZodEmail: () => ZodEmail,
442
+ ZodEmoji: () => ZodEmoji,
443
+ ZodEnum: () => ZodEnum,
444
+ ZodError: () => ZodError,
445
+ ZodExactOptional: () => ZodExactOptional,
446
+ ZodFile: () => ZodFile,
447
+ ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind,
448
+ ZodFunction: () => ZodFunction,
449
+ ZodGUID: () => ZodGUID,
450
+ ZodIPv4: () => ZodIPv4,
451
+ ZodIPv6: () => ZodIPv6,
452
+ ZodISODate: () => ZodISODate,
453
+ ZodISODateTime: () => ZodISODateTime,
454
+ ZodISODuration: () => ZodISODuration,
455
+ ZodISOTime: () => ZodISOTime,
456
+ ZodIntersection: () => ZodIntersection,
457
+ ZodIssueCode: () => ZodIssueCode,
458
+ ZodJWT: () => ZodJWT,
459
+ ZodKSUID: () => ZodKSUID,
460
+ ZodLazy: () => ZodLazy,
461
+ ZodLiteral: () => ZodLiteral,
462
+ ZodMAC: () => ZodMAC,
463
+ ZodMap: () => ZodMap,
464
+ ZodNaN: () => ZodNaN,
465
+ ZodNanoID: () => ZodNanoID,
466
+ ZodNever: () => ZodNever,
467
+ ZodNonOptional: () => ZodNonOptional,
468
+ ZodNull: () => ZodNull,
469
+ ZodNullable: () => ZodNullable,
470
+ ZodNumber: () => ZodNumber,
471
+ ZodNumberFormat: () => ZodNumberFormat,
472
+ ZodObject: () => ZodObject,
473
+ ZodOptional: () => ZodOptional,
474
+ ZodPipe: () => ZodPipe,
475
+ ZodPrefault: () => ZodPrefault,
476
+ ZodPreprocess: () => ZodPreprocess,
477
+ ZodPromise: () => ZodPromise,
478
+ ZodReadonly: () => ZodReadonly,
479
+ ZodRealError: () => ZodRealError,
480
+ ZodRecord: () => ZodRecord,
481
+ ZodSet: () => ZodSet,
482
+ ZodString: () => ZodString,
483
+ ZodStringFormat: () => ZodStringFormat,
484
+ ZodSuccess: () => ZodSuccess,
485
+ ZodSymbol: () => ZodSymbol,
486
+ ZodTemplateLiteral: () => ZodTemplateLiteral,
487
+ ZodTransform: () => ZodTransform,
488
+ ZodTuple: () => ZodTuple,
489
+ ZodType: () => ZodType,
490
+ ZodULID: () => ZodULID,
491
+ ZodURL: () => ZodURL,
492
+ ZodUUID: () => ZodUUID,
493
+ ZodUndefined: () => ZodUndefined,
494
+ ZodUnion: () => ZodUnion,
495
+ ZodUnknown: () => ZodUnknown,
496
+ ZodVoid: () => ZodVoid,
497
+ ZodXID: () => ZodXID,
498
+ ZodXor: () => ZodXor,
499
+ _ZodString: () => _ZodString,
500
+ _default: () => _default2,
501
+ _function: () => _function,
502
+ any: () => any,
503
+ array: () => array,
504
+ base64: () => base642,
505
+ base64url: () => base64url2,
506
+ bigint: () => bigint2,
507
+ boolean: () => boolean2,
508
+ catch: () => _catch2,
509
+ check: () => check,
510
+ cidrv4: () => cidrv42,
511
+ cidrv6: () => cidrv62,
512
+ clone: () => clone,
513
+ codec: () => codec,
514
+ coerce: () => exports_coerce,
515
+ config: () => config,
516
+ core: () => exports_core2,
517
+ cuid: () => cuid3,
518
+ cuid2: () => cuid22,
519
+ custom: () => custom,
520
+ date: () => date3,
521
+ decode: () => decode2,
522
+ decodeAsync: () => decodeAsync2,
523
+ describe: () => describe2,
524
+ discriminatedUnion: () => discriminatedUnion,
525
+ e164: () => e1642,
526
+ email: () => email2,
527
+ emoji: () => emoji2,
528
+ encode: () => encode2,
529
+ encodeAsync: () => encodeAsync2,
530
+ endsWith: () => _endsWith,
531
+ enum: () => _enum2,
532
+ exactOptional: () => exactOptional,
533
+ file: () => file,
534
+ flattenError: () => flattenError,
535
+ float32: () => float32,
536
+ float64: () => float64,
537
+ formatError: () => formatError,
538
+ fromJSONSchema: () => fromJSONSchema,
539
+ function: () => _function,
540
+ getErrorMap: () => getErrorMap,
541
+ globalRegistry: () => globalRegistry,
542
+ gt: () => _gt,
543
+ gte: () => _gte,
544
+ guid: () => guid2,
545
+ hash: () => hash,
546
+ hex: () => hex2,
547
+ hostname: () => hostname2,
548
+ httpUrl: () => httpUrl,
549
+ includes: () => _includes,
550
+ instanceof: () => _instanceof,
551
+ int: () => int,
552
+ int32: () => int32,
553
+ int64: () => int64,
554
+ intersection: () => intersection,
555
+ invertCodec: () => invertCodec,
556
+ ipv4: () => ipv42,
557
+ ipv6: () => ipv62,
558
+ iso: () => exports_iso,
559
+ json: () => json,
560
+ jwt: () => jwt,
561
+ keyof: () => keyof,
562
+ ksuid: () => ksuid2,
563
+ lazy: () => lazy,
564
+ length: () => _length,
565
+ literal: () => literal,
566
+ locales: () => exports_locales,
567
+ looseObject: () => looseObject,
568
+ looseRecord: () => looseRecord,
569
+ lowercase: () => _lowercase,
570
+ lt: () => _lt,
571
+ lte: () => _lte,
572
+ mac: () => mac2,
573
+ map: () => map,
574
+ maxLength: () => _maxLength,
575
+ maxSize: () => _maxSize,
576
+ meta: () => meta2,
577
+ mime: () => _mime,
578
+ minLength: () => _minLength,
579
+ minSize: () => _minSize,
580
+ multipleOf: () => _multipleOf,
581
+ nan: () => nan,
582
+ nanoid: () => nanoid2,
583
+ nativeEnum: () => nativeEnum,
584
+ negative: () => _negative,
585
+ never: () => never,
586
+ nonnegative: () => _nonnegative,
587
+ nonoptional: () => nonoptional,
588
+ nonpositive: () => _nonpositive,
589
+ normalize: () => _normalize,
590
+ null: () => _null3,
591
+ nullable: () => nullable,
592
+ nullish: () => nullish2,
593
+ number: () => number2,
594
+ object: () => object,
595
+ optional: () => optional,
596
+ overwrite: () => _overwrite,
597
+ parse: () => parse3,
598
+ parseAsync: () => parseAsync2,
599
+ partialRecord: () => partialRecord,
600
+ pipe: () => pipe,
601
+ positive: () => _positive,
602
+ prefault: () => prefault,
603
+ preprocess: () => preprocess,
604
+ prettifyError: () => prettifyError,
605
+ promise: () => promise,
606
+ property: () => _property,
607
+ readonly: () => readonly,
608
+ record: () => record,
609
+ refine: () => refine,
610
+ regex: () => _regex,
611
+ regexes: () => exports_regexes,
612
+ registry: () => registry,
613
+ safeDecode: () => safeDecode2,
614
+ safeDecodeAsync: () => safeDecodeAsync2,
615
+ safeEncode: () => safeEncode2,
616
+ safeEncodeAsync: () => safeEncodeAsync2,
617
+ safeParse: () => safeParse2,
618
+ safeParseAsync: () => safeParseAsync2,
619
+ set: () => set,
620
+ setErrorMap: () => setErrorMap,
621
+ size: () => _size,
622
+ slugify: () => _slugify,
623
+ startsWith: () => _startsWith,
624
+ strictObject: () => strictObject,
625
+ string: () => string2,
626
+ stringFormat: () => stringFormat,
627
+ stringbool: () => stringbool,
628
+ success: () => success,
629
+ superRefine: () => superRefine,
630
+ symbol: () => symbol,
631
+ templateLiteral: () => templateLiteral,
632
+ toJSONSchema: () => toJSONSchema,
633
+ toLowerCase: () => _toLowerCase,
634
+ toUpperCase: () => _toUpperCase,
635
+ transform: () => transform,
636
+ treeifyError: () => treeifyError,
637
+ trim: () => _trim,
638
+ tuple: () => tuple,
639
+ uint32: () => uint32,
640
+ uint64: () => uint64,
641
+ ulid: () => ulid2,
642
+ undefined: () => _undefined3,
643
+ union: () => union,
644
+ unknown: () => unknown,
645
+ uppercase: () => _uppercase,
646
+ url: () => url,
647
+ util: () => exports_util,
648
+ uuid: () => uuid2,
649
+ uuidv4: () => uuidv4,
650
+ uuidv6: () => uuidv6,
651
+ uuidv7: () => uuidv7,
652
+ void: () => _void2,
653
+ xid: () => xid2,
654
+ xor: () => xor
655
+ });
656
+
657
+ // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/index.js
658
+ var exports_core2 = {};
659
+ __export(exports_core2, {
660
+ $ZodAny: () => $ZodAny,
810
661
  $ZodArray: () => $ZodArray,
811
- $ZodAny: () => $ZodAny
662
+ $ZodAsyncError: () => $ZodAsyncError,
663
+ $ZodBase64: () => $ZodBase64,
664
+ $ZodBase64URL: () => $ZodBase64URL,
665
+ $ZodBigInt: () => $ZodBigInt,
666
+ $ZodBigIntFormat: () => $ZodBigIntFormat,
667
+ $ZodBoolean: () => $ZodBoolean,
668
+ $ZodCIDRv4: () => $ZodCIDRv4,
669
+ $ZodCIDRv6: () => $ZodCIDRv6,
670
+ $ZodCUID: () => $ZodCUID,
671
+ $ZodCUID2: () => $ZodCUID2,
672
+ $ZodCatch: () => $ZodCatch,
673
+ $ZodCheck: () => $ZodCheck,
674
+ $ZodCheckBigIntFormat: () => $ZodCheckBigIntFormat,
675
+ $ZodCheckEndsWith: () => $ZodCheckEndsWith,
676
+ $ZodCheckGreaterThan: () => $ZodCheckGreaterThan,
677
+ $ZodCheckIncludes: () => $ZodCheckIncludes,
678
+ $ZodCheckLengthEquals: () => $ZodCheckLengthEquals,
679
+ $ZodCheckLessThan: () => $ZodCheckLessThan,
680
+ $ZodCheckLowerCase: () => $ZodCheckLowerCase,
681
+ $ZodCheckMaxLength: () => $ZodCheckMaxLength,
682
+ $ZodCheckMaxSize: () => $ZodCheckMaxSize,
683
+ $ZodCheckMimeType: () => $ZodCheckMimeType,
684
+ $ZodCheckMinLength: () => $ZodCheckMinLength,
685
+ $ZodCheckMinSize: () => $ZodCheckMinSize,
686
+ $ZodCheckMultipleOf: () => $ZodCheckMultipleOf,
687
+ $ZodCheckNumberFormat: () => $ZodCheckNumberFormat,
688
+ $ZodCheckOverwrite: () => $ZodCheckOverwrite,
689
+ $ZodCheckProperty: () => $ZodCheckProperty,
690
+ $ZodCheckRegex: () => $ZodCheckRegex,
691
+ $ZodCheckSizeEquals: () => $ZodCheckSizeEquals,
692
+ $ZodCheckStartsWith: () => $ZodCheckStartsWith,
693
+ $ZodCheckStringFormat: () => $ZodCheckStringFormat,
694
+ $ZodCheckUpperCase: () => $ZodCheckUpperCase,
695
+ $ZodCodec: () => $ZodCodec,
696
+ $ZodCustom: () => $ZodCustom,
697
+ $ZodCustomStringFormat: () => $ZodCustomStringFormat,
698
+ $ZodDate: () => $ZodDate,
699
+ $ZodDefault: () => $ZodDefault,
700
+ $ZodDiscriminatedUnion: () => $ZodDiscriminatedUnion,
701
+ $ZodE164: () => $ZodE164,
702
+ $ZodEmail: () => $ZodEmail,
703
+ $ZodEmoji: () => $ZodEmoji,
704
+ $ZodEncodeError: () => $ZodEncodeError,
705
+ $ZodEnum: () => $ZodEnum,
706
+ $ZodError: () => $ZodError,
707
+ $ZodExactOptional: () => $ZodExactOptional,
708
+ $ZodFile: () => $ZodFile,
709
+ $ZodFunction: () => $ZodFunction,
710
+ $ZodGUID: () => $ZodGUID,
711
+ $ZodIPv4: () => $ZodIPv4,
712
+ $ZodIPv6: () => $ZodIPv6,
713
+ $ZodISODate: () => $ZodISODate,
714
+ $ZodISODateTime: () => $ZodISODateTime,
715
+ $ZodISODuration: () => $ZodISODuration,
716
+ $ZodISOTime: () => $ZodISOTime,
717
+ $ZodIntersection: () => $ZodIntersection,
718
+ $ZodJWT: () => $ZodJWT,
719
+ $ZodKSUID: () => $ZodKSUID,
720
+ $ZodLazy: () => $ZodLazy,
721
+ $ZodLiteral: () => $ZodLiteral,
722
+ $ZodMAC: () => $ZodMAC,
723
+ $ZodMap: () => $ZodMap,
724
+ $ZodNaN: () => $ZodNaN,
725
+ $ZodNanoID: () => $ZodNanoID,
726
+ $ZodNever: () => $ZodNever,
727
+ $ZodNonOptional: () => $ZodNonOptional,
728
+ $ZodNull: () => $ZodNull,
729
+ $ZodNullable: () => $ZodNullable,
730
+ $ZodNumber: () => $ZodNumber,
731
+ $ZodNumberFormat: () => $ZodNumberFormat,
732
+ $ZodObject: () => $ZodObject,
733
+ $ZodObjectJIT: () => $ZodObjectJIT,
734
+ $ZodOptional: () => $ZodOptional,
735
+ $ZodPipe: () => $ZodPipe,
736
+ $ZodPrefault: () => $ZodPrefault,
737
+ $ZodPreprocess: () => $ZodPreprocess,
738
+ $ZodPromise: () => $ZodPromise,
739
+ $ZodReadonly: () => $ZodReadonly,
740
+ $ZodRealError: () => $ZodRealError,
741
+ $ZodRecord: () => $ZodRecord,
742
+ $ZodRegistry: () => $ZodRegistry,
743
+ $ZodSet: () => $ZodSet,
744
+ $ZodString: () => $ZodString,
745
+ $ZodStringFormat: () => $ZodStringFormat,
746
+ $ZodSuccess: () => $ZodSuccess,
747
+ $ZodSymbol: () => $ZodSymbol,
748
+ $ZodTemplateLiteral: () => $ZodTemplateLiteral,
749
+ $ZodTransform: () => $ZodTransform,
750
+ $ZodTuple: () => $ZodTuple,
751
+ $ZodType: () => $ZodType,
752
+ $ZodULID: () => $ZodULID,
753
+ $ZodURL: () => $ZodURL,
754
+ $ZodUUID: () => $ZodUUID,
755
+ $ZodUndefined: () => $ZodUndefined,
756
+ $ZodUnion: () => $ZodUnion,
757
+ $ZodUnknown: () => $ZodUnknown,
758
+ $ZodVoid: () => $ZodVoid,
759
+ $ZodXID: () => $ZodXID,
760
+ $ZodXor: () => $ZodXor,
761
+ $brand: () => $brand,
762
+ $constructor: () => $constructor,
763
+ $input: () => $input,
764
+ $output: () => $output,
765
+ Doc: () => Doc,
766
+ JSONSchema: () => exports_json_schema,
767
+ JSONSchemaGenerator: () => JSONSchemaGenerator,
768
+ NEVER: () => NEVER,
769
+ TimePrecision: () => TimePrecision,
770
+ _any: () => _any,
771
+ _array: () => _array,
772
+ _base64: () => _base64,
773
+ _base64url: () => _base64url,
774
+ _bigint: () => _bigint,
775
+ _boolean: () => _boolean,
776
+ _catch: () => _catch,
777
+ _check: () => _check,
778
+ _cidrv4: () => _cidrv4,
779
+ _cidrv6: () => _cidrv6,
780
+ _coercedBigint: () => _coercedBigint,
781
+ _coercedBoolean: () => _coercedBoolean,
782
+ _coercedDate: () => _coercedDate,
783
+ _coercedNumber: () => _coercedNumber,
784
+ _coercedString: () => _coercedString,
785
+ _cuid: () => _cuid,
786
+ _cuid2: () => _cuid2,
787
+ _custom: () => _custom,
788
+ _date: () => _date,
789
+ _decode: () => _decode,
790
+ _decodeAsync: () => _decodeAsync,
791
+ _default: () => _default,
792
+ _discriminatedUnion: () => _discriminatedUnion,
793
+ _e164: () => _e164,
794
+ _email: () => _email,
795
+ _emoji: () => _emoji2,
796
+ _encode: () => _encode,
797
+ _encodeAsync: () => _encodeAsync,
798
+ _endsWith: () => _endsWith,
799
+ _enum: () => _enum,
800
+ _file: () => _file,
801
+ _float32: () => _float32,
802
+ _float64: () => _float64,
803
+ _gt: () => _gt,
804
+ _gte: () => _gte,
805
+ _guid: () => _guid,
806
+ _includes: () => _includes,
807
+ _int: () => _int,
808
+ _int32: () => _int32,
809
+ _int64: () => _int64,
810
+ _intersection: () => _intersection,
811
+ _ipv4: () => _ipv4,
812
+ _ipv6: () => _ipv6,
813
+ _isoDate: () => _isoDate,
814
+ _isoDateTime: () => _isoDateTime,
815
+ _isoDuration: () => _isoDuration,
816
+ _isoTime: () => _isoTime,
817
+ _jwt: () => _jwt,
818
+ _ksuid: () => _ksuid,
819
+ _lazy: () => _lazy,
820
+ _length: () => _length,
821
+ _literal: () => _literal,
822
+ _lowercase: () => _lowercase,
823
+ _lt: () => _lt,
824
+ _lte: () => _lte,
825
+ _mac: () => _mac,
826
+ _map: () => _map,
827
+ _max: () => _lte,
828
+ _maxLength: () => _maxLength,
829
+ _maxSize: () => _maxSize,
830
+ _mime: () => _mime,
831
+ _min: () => _gte,
832
+ _minLength: () => _minLength,
833
+ _minSize: () => _minSize,
834
+ _multipleOf: () => _multipleOf,
835
+ _nan: () => _nan,
836
+ _nanoid: () => _nanoid,
837
+ _nativeEnum: () => _nativeEnum,
838
+ _negative: () => _negative,
839
+ _never: () => _never,
840
+ _nonnegative: () => _nonnegative,
841
+ _nonoptional: () => _nonoptional,
842
+ _nonpositive: () => _nonpositive,
843
+ _normalize: () => _normalize,
844
+ _null: () => _null2,
845
+ _nullable: () => _nullable,
846
+ _number: () => _number,
847
+ _optional: () => _optional,
848
+ _overwrite: () => _overwrite,
849
+ _parse: () => _parse,
850
+ _parseAsync: () => _parseAsync,
851
+ _pipe: () => _pipe,
852
+ _positive: () => _positive,
853
+ _promise: () => _promise,
854
+ _property: () => _property,
855
+ _readonly: () => _readonly,
856
+ _record: () => _record,
857
+ _refine: () => _refine,
858
+ _regex: () => _regex,
859
+ _safeDecode: () => _safeDecode,
860
+ _safeDecodeAsync: () => _safeDecodeAsync,
861
+ _safeEncode: () => _safeEncode,
862
+ _safeEncodeAsync: () => _safeEncodeAsync,
863
+ _safeParse: () => _safeParse,
864
+ _safeParseAsync: () => _safeParseAsync,
865
+ _set: () => _set,
866
+ _size: () => _size,
867
+ _slugify: () => _slugify,
868
+ _startsWith: () => _startsWith,
869
+ _string: () => _string,
870
+ _stringFormat: () => _stringFormat,
871
+ _stringbool: () => _stringbool,
872
+ _success: () => _success,
873
+ _superRefine: () => _superRefine,
874
+ _symbol: () => _symbol,
875
+ _templateLiteral: () => _templateLiteral,
876
+ _toLowerCase: () => _toLowerCase,
877
+ _toUpperCase: () => _toUpperCase,
878
+ _transform: () => _transform,
879
+ _trim: () => _trim,
880
+ _tuple: () => _tuple,
881
+ _uint32: () => _uint32,
882
+ _uint64: () => _uint64,
883
+ _ulid: () => _ulid,
884
+ _undefined: () => _undefined2,
885
+ _union: () => _union,
886
+ _unknown: () => _unknown,
887
+ _uppercase: () => _uppercase,
888
+ _url: () => _url,
889
+ _uuid: () => _uuid,
890
+ _uuidv4: () => _uuidv4,
891
+ _uuidv6: () => _uuidv6,
892
+ _uuidv7: () => _uuidv7,
893
+ _void: () => _void,
894
+ _xid: () => _xid,
895
+ _xor: () => _xor,
896
+ clone: () => clone,
897
+ config: () => config,
898
+ createStandardJSONSchemaMethod: () => createStandardJSONSchemaMethod,
899
+ createToJSONSchemaMethod: () => createToJSONSchemaMethod,
900
+ decode: () => decode,
901
+ decodeAsync: () => decodeAsync,
902
+ describe: () => describe,
903
+ encode: () => encode,
904
+ encodeAsync: () => encodeAsync,
905
+ extractDefs: () => extractDefs,
906
+ finalize: () => finalize,
907
+ flattenError: () => flattenError,
908
+ formatError: () => formatError,
909
+ globalConfig: () => globalConfig,
910
+ globalRegistry: () => globalRegistry,
911
+ initializeContext: () => initializeContext,
912
+ isValidBase64: () => isValidBase64,
913
+ isValidBase64URL: () => isValidBase64URL,
914
+ isValidJWT: () => isValidJWT,
915
+ locales: () => exports_locales,
916
+ meta: () => meta,
917
+ parse: () => parse,
918
+ parseAsync: () => parseAsync,
919
+ prettifyError: () => prettifyError,
920
+ process: () => process,
921
+ regexes: () => exports_regexes,
922
+ registry: () => registry,
923
+ safeDecode: () => safeDecode,
924
+ safeDecodeAsync: () => safeDecodeAsync,
925
+ safeEncode: () => safeEncode,
926
+ safeEncodeAsync: () => safeEncodeAsync,
927
+ safeParse: () => safeParse,
928
+ safeParseAsync: () => safeParseAsync,
929
+ toDotPath: () => toDotPath,
930
+ toJSONSchema: () => toJSONSchema,
931
+ treeifyError: () => treeifyError,
932
+ util: () => exports_util,
933
+ version: () => version
812
934
  });
813
935
 
814
936
  // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/core.js
@@ -892,69 +1014,69 @@ function config(newConfig) {
892
1014
  // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/util.js
893
1015
  var exports_util = {};
894
1016
  __export(exports_util, {
895
- unwrapMessage: () => unwrapMessage,
896
- uint8ArrayToHex: () => uint8ArrayToHex,
897
- uint8ArrayToBase64url: () => uint8ArrayToBase64url,
898
- uint8ArrayToBase64: () => uint8ArrayToBase64,
899
- stringifyPrimitive: () => stringifyPrimitive,
900
- slugify: () => slugify,
901
- shallowClone: () => shallowClone,
902
- safeExtend: () => safeExtend,
903
- required: () => required,
904
- randomString: () => randomString,
905
- propertyKeyTypes: () => propertyKeyTypes,
906
- promiseAllObject: () => promiseAllObject,
907
- primitiveTypes: () => primitiveTypes,
908
- prefixIssues: () => prefixIssues,
909
- pick: () => pick,
910
- partial: () => partial,
911
- parsedType: () => parsedType,
912
- optionalKeys: () => optionalKeys,
913
- omit: () => omit,
914
- objectClone: () => objectClone,
915
- numKeys: () => numKeys,
916
- nullish: () => nullish,
917
- normalizeParams: () => normalizeParams,
918
- mergeDefs: () => mergeDefs,
919
- merge: () => merge,
920
- jsonStringifyReplacer: () => jsonStringifyReplacer,
921
- joinValues: () => joinValues,
922
- issue: () => issue,
923
- isPlainObject: () => isPlainObject,
924
- isObject: () => isObject,
925
- hexToUint8Array: () => hexToUint8Array,
926
- getSizableOrigin: () => getSizableOrigin,
927
- getParsedType: () => getParsedType,
928
- getLengthableOrigin: () => getLengthableOrigin,
929
- getEnumValues: () => getEnumValues,
930
- getElementAtPath: () => getElementAtPath,
931
- floatSafeRemainder: () => floatSafeRemainder,
932
- finalizeIssue: () => finalizeIssue,
933
- extend: () => extend,
934
- explicitlyAborted: () => explicitlyAborted,
935
- escapeRegex: () => escapeRegex,
936
- esc: () => esc,
937
- defineLazy: () => defineLazy,
938
- createTransparentProxy: () => createTransparentProxy,
939
- cloneDef: () => cloneDef,
940
- clone: () => clone,
941
- cleanRegex: () => cleanRegex,
942
- cleanEnum: () => cleanEnum,
943
- captureStackTrace: () => captureStackTrace,
944
- cached: () => cached,
945
- base64urlToUint8Array: () => base64urlToUint8Array,
946
- base64ToUint8Array: () => base64ToUint8Array,
947
- assignProp: () => assignProp,
948
- assertNotEqual: () => assertNotEqual,
949
- assertNever: () => assertNever,
950
- assertIs: () => assertIs,
951
- assertEqual: () => assertEqual,
952
- assert: () => assert,
953
- allowsEval: () => allowsEval,
954
- aborted: () => aborted,
955
- NUMBER_FORMAT_RANGES: () => NUMBER_FORMAT_RANGES,
1017
+ BIGINT_FORMAT_RANGES: () => BIGINT_FORMAT_RANGES,
956
1018
  Class: () => Class,
957
- BIGINT_FORMAT_RANGES: () => BIGINT_FORMAT_RANGES
1019
+ NUMBER_FORMAT_RANGES: () => NUMBER_FORMAT_RANGES,
1020
+ aborted: () => aborted,
1021
+ allowsEval: () => allowsEval,
1022
+ assert: () => assert,
1023
+ assertEqual: () => assertEqual,
1024
+ assertIs: () => assertIs,
1025
+ assertNever: () => assertNever,
1026
+ assertNotEqual: () => assertNotEqual,
1027
+ assignProp: () => assignProp,
1028
+ base64ToUint8Array: () => base64ToUint8Array,
1029
+ base64urlToUint8Array: () => base64urlToUint8Array,
1030
+ cached: () => cached,
1031
+ captureStackTrace: () => captureStackTrace,
1032
+ cleanEnum: () => cleanEnum,
1033
+ cleanRegex: () => cleanRegex,
1034
+ clone: () => clone,
1035
+ cloneDef: () => cloneDef,
1036
+ createTransparentProxy: () => createTransparentProxy,
1037
+ defineLazy: () => defineLazy,
1038
+ esc: () => esc,
1039
+ escapeRegex: () => escapeRegex,
1040
+ explicitlyAborted: () => explicitlyAborted,
1041
+ extend: () => extend,
1042
+ finalizeIssue: () => finalizeIssue,
1043
+ floatSafeRemainder: () => floatSafeRemainder,
1044
+ getElementAtPath: () => getElementAtPath,
1045
+ getEnumValues: () => getEnumValues,
1046
+ getLengthableOrigin: () => getLengthableOrigin,
1047
+ getParsedType: () => getParsedType,
1048
+ getSizableOrigin: () => getSizableOrigin,
1049
+ hexToUint8Array: () => hexToUint8Array,
1050
+ isObject: () => isObject,
1051
+ isPlainObject: () => isPlainObject,
1052
+ issue: () => issue,
1053
+ joinValues: () => joinValues,
1054
+ jsonStringifyReplacer: () => jsonStringifyReplacer,
1055
+ merge: () => merge,
1056
+ mergeDefs: () => mergeDefs,
1057
+ normalizeParams: () => normalizeParams,
1058
+ nullish: () => nullish,
1059
+ numKeys: () => numKeys,
1060
+ objectClone: () => objectClone,
1061
+ omit: () => omit,
1062
+ optionalKeys: () => optionalKeys,
1063
+ parsedType: () => parsedType,
1064
+ partial: () => partial,
1065
+ pick: () => pick,
1066
+ prefixIssues: () => prefixIssues,
1067
+ primitiveTypes: () => primitiveTypes,
1068
+ promiseAllObject: () => promiseAllObject,
1069
+ propertyKeyTypes: () => propertyKeyTypes,
1070
+ randomString: () => randomString,
1071
+ required: () => required,
1072
+ safeExtend: () => safeExtend,
1073
+ shallowClone: () => shallowClone,
1074
+ slugify: () => slugify,
1075
+ stringifyPrimitive: () => stringifyPrimitive,
1076
+ uint8ArrayToBase64: () => uint8ArrayToBase64,
1077
+ uint8ArrayToBase64url: () => uint8ArrayToBase64url,
1078
+ uint8ArrayToHex: () => uint8ArrayToHex,
1079
+ unwrapMessage: () => unwrapMessage
958
1080
  });
959
1081
  function assertEqual(val) {
960
1082
  return val;
@@ -1811,65 +1933,65 @@ var safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync($ZodRealError);
1811
1933
  // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/regexes.js
1812
1934
  var exports_regexes = {};
1813
1935
  __export(exports_regexes, {
1814
- xid: () => xid,
1815
- uuid7: () => uuid7,
1816
- uuid6: () => uuid6,
1817
- uuid4: () => uuid4,
1818
- uuid: () => uuid,
1819
- uppercase: () => uppercase,
1820
- unicodeEmail: () => unicodeEmail,
1821
- undefined: () => _undefined,
1822
- ulid: () => ulid,
1823
- time: () => time,
1824
- string: () => string,
1825
- sha512_hex: () => sha512_hex,
1826
- sha512_base64url: () => sha512_base64url,
1827
- sha512_base64: () => sha512_base64,
1828
- sha384_hex: () => sha384_hex,
1829
- sha384_base64url: () => sha384_base64url,
1830
- sha384_base64: () => sha384_base64,
1831
- sha256_hex: () => sha256_hex,
1832
- sha256_base64url: () => sha256_base64url,
1833
- sha256_base64: () => sha256_base64,
1834
- sha1_hex: () => sha1_hex,
1835
- sha1_base64url: () => sha1_base64url,
1836
- sha1_base64: () => sha1_base64,
1837
- rfc5322Email: () => rfc5322Email,
1838
- number: () => number,
1839
- null: () => _null,
1840
- nanoid: () => nanoid,
1841
- md5_hex: () => md5_hex,
1842
- md5_base64url: () => md5_base64url,
1843
- md5_base64: () => md5_base64,
1844
- mac: () => mac,
1845
- lowercase: () => lowercase,
1846
- ksuid: () => ksuid,
1847
- ipv6: () => ipv6,
1848
- ipv4: () => ipv4,
1849
- integer: () => integer,
1850
- idnEmail: () => idnEmail,
1851
- httpProtocol: () => httpProtocol,
1852
- html5Email: () => html5Email,
1853
- hostname: () => hostname,
1854
- hex: () => hex,
1855
- guid: () => guid,
1856
- extendedDuration: () => extendedDuration,
1857
- emoji: () => emoji,
1858
- email: () => email,
1859
- e164: () => e164,
1860
- duration: () => duration,
1861
- domain: () => domain,
1862
- datetime: () => datetime,
1863
- date: () => date,
1864
- cuid2: () => cuid2,
1865
- cuid: () => cuid,
1866
- cidrv6: () => cidrv6,
1867
- cidrv4: () => cidrv4,
1868
- browserEmail: () => browserEmail,
1869
- boolean: () => boolean,
1870
- bigint: () => bigint,
1936
+ base64: () => base64,
1871
1937
  base64url: () => base64url,
1872
- base64: () => base64
1938
+ bigint: () => bigint,
1939
+ boolean: () => boolean,
1940
+ browserEmail: () => browserEmail,
1941
+ cidrv4: () => cidrv4,
1942
+ cidrv6: () => cidrv6,
1943
+ cuid: () => cuid,
1944
+ cuid2: () => cuid2,
1945
+ date: () => date,
1946
+ datetime: () => datetime,
1947
+ domain: () => domain,
1948
+ duration: () => duration,
1949
+ e164: () => e164,
1950
+ email: () => email,
1951
+ emoji: () => emoji,
1952
+ extendedDuration: () => extendedDuration,
1953
+ guid: () => guid,
1954
+ hex: () => hex,
1955
+ hostname: () => hostname,
1956
+ html5Email: () => html5Email,
1957
+ httpProtocol: () => httpProtocol,
1958
+ idnEmail: () => idnEmail,
1959
+ integer: () => integer,
1960
+ ipv4: () => ipv4,
1961
+ ipv6: () => ipv6,
1962
+ ksuid: () => ksuid,
1963
+ lowercase: () => lowercase,
1964
+ mac: () => mac,
1965
+ md5_base64: () => md5_base64,
1966
+ md5_base64url: () => md5_base64url,
1967
+ md5_hex: () => md5_hex,
1968
+ nanoid: () => nanoid,
1969
+ null: () => _null,
1970
+ number: () => number,
1971
+ rfc5322Email: () => rfc5322Email,
1972
+ sha1_base64: () => sha1_base64,
1973
+ sha1_base64url: () => sha1_base64url,
1974
+ sha1_hex: () => sha1_hex,
1975
+ sha256_base64: () => sha256_base64,
1976
+ sha256_base64url: () => sha256_base64url,
1977
+ sha256_hex: () => sha256_hex,
1978
+ sha384_base64: () => sha384_base64,
1979
+ sha384_base64url: () => sha384_base64url,
1980
+ sha384_hex: () => sha384_hex,
1981
+ sha512_base64: () => sha512_base64,
1982
+ sha512_base64url: () => sha512_base64url,
1983
+ sha512_hex: () => sha512_hex,
1984
+ string: () => string,
1985
+ time: () => time,
1986
+ ulid: () => ulid,
1987
+ undefined: () => _undefined,
1988
+ unicodeEmail: () => unicodeEmail,
1989
+ uppercase: () => uppercase,
1990
+ uuid: () => uuid,
1991
+ uuid4: () => uuid4,
1992
+ uuid6: () => uuid6,
1993
+ uuid7: () => uuid7,
1994
+ xid: () => xid
1873
1995
  });
1874
1996
  var cuid = /^[cC][0-9a-z]{6,}$/;
1875
1997
  var cuid2 = /^[0-9a-z]+$/;
@@ -4646,58 +4768,58 @@ function handleRefineResult(result, payload, input, inst) {
4646
4768
  // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/locales/index.js
4647
4769
  var exports_locales = {};
4648
4770
  __export(exports_locales, {
4649
- zhTW: () => zh_TW_default,
4650
- zhCN: () => zh_CN_default,
4651
- yo: () => yo_default,
4652
- vi: () => vi_default,
4653
- uz: () => uz_default,
4654
- ur: () => ur_default,
4655
- uk: () => uk_default,
4656
- ua: () => ua_default,
4657
- tr: () => tr_default,
4658
- th: () => th_default,
4659
- ta: () => ta_default,
4660
- sv: () => sv_default,
4661
- sl: () => sl_default,
4662
- ru: () => ru_default,
4663
- ro: () => ro_default,
4664
- pt: () => pt_default,
4665
- ps: () => ps_default,
4666
- pl: () => pl_default,
4667
- ota: () => ota_default,
4668
- no: () => no_default,
4669
- nl: () => nl_default,
4670
- ms: () => ms_default,
4671
- mk: () => mk_default,
4672
- lt: () => lt_default,
4673
- ko: () => ko_default,
4674
- km: () => km_default,
4675
- kh: () => kh_default,
4676
- ka: () => ka_default,
4677
- ja: () => ja_default,
4678
- it: () => it_default,
4679
- is: () => is_default,
4680
- id: () => id_default,
4681
- hy: () => hy_default,
4682
- hu: () => hu_default,
4683
- hr: () => hr_default,
4684
- he: () => he_default,
4685
- frCA: () => fr_CA_default,
4686
- fr: () => fr_default,
4687
- fi: () => fi_default,
4688
- fa: () => fa_default,
4689
- es: () => es_default,
4690
- eo: () => eo_default,
4691
- en: () => en_default,
4692
- el: () => el_default,
4693
- de: () => de_default,
4694
- da: () => da_default,
4695
- cs: () => cs_default,
4696
- ca: () => ca_default,
4697
- bg: () => bg_default,
4698
- be: () => be_default,
4771
+ ar: () => ar_default,
4699
4772
  az: () => az_default,
4700
- ar: () => ar_default
4773
+ be: () => be_default,
4774
+ bg: () => bg_default,
4775
+ ca: () => ca_default,
4776
+ cs: () => cs_default,
4777
+ da: () => da_default,
4778
+ de: () => de_default,
4779
+ el: () => el_default,
4780
+ en: () => en_default,
4781
+ eo: () => eo_default,
4782
+ es: () => es_default,
4783
+ fa: () => fa_default,
4784
+ fi: () => fi_default,
4785
+ fr: () => fr_default,
4786
+ frCA: () => fr_CA_default,
4787
+ he: () => he_default,
4788
+ hr: () => hr_default,
4789
+ hu: () => hu_default,
4790
+ hy: () => hy_default,
4791
+ id: () => id_default,
4792
+ is: () => is_default,
4793
+ it: () => it_default,
4794
+ ja: () => ja_default,
4795
+ ka: () => ka_default,
4796
+ kh: () => kh_default,
4797
+ km: () => km_default,
4798
+ ko: () => ko_default,
4799
+ lt: () => lt_default,
4800
+ mk: () => mk_default,
4801
+ ms: () => ms_default,
4802
+ nl: () => nl_default,
4803
+ no: () => no_default,
4804
+ ota: () => ota_default,
4805
+ pl: () => pl_default,
4806
+ ps: () => ps_default,
4807
+ pt: () => pt_default,
4808
+ ro: () => ro_default,
4809
+ ru: () => ru_default,
4810
+ sl: () => sl_default,
4811
+ sv: () => sv_default,
4812
+ ta: () => ta_default,
4813
+ th: () => th_default,
4814
+ tr: () => tr_default,
4815
+ ua: () => ua_default,
4816
+ uk: () => uk_default,
4817
+ ur: () => ur_default,
4818
+ uz: () => uz_default,
4819
+ vi: () => vi_default,
4820
+ yo: () => yo_default,
4821
+ zhCN: () => zh_CN_default,
4822
+ zhTW: () => zh_TW_default
4701
4823
  });
4702
4824
 
4703
4825
  // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/locales/ar.js
@@ -12468,219 +12590,219 @@ var exports_json_schema = {};
12468
12590
  // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/classic/schemas.js
12469
12591
  var exports_schemas2 = {};
12470
12592
  __export(exports_schemas2, {
12471
- xor: () => xor,
12472
- xid: () => xid2,
12473
- void: () => _void2,
12474
- uuidv7: () => uuidv7,
12475
- uuidv6: () => uuidv6,
12476
- uuidv4: () => uuidv4,
12477
- uuid: () => uuid2,
12478
- url: () => url,
12479
- unknown: () => unknown,
12480
- union: () => union,
12481
- undefined: () => _undefined3,
12482
- ulid: () => ulid2,
12483
- uint64: () => uint64,
12484
- uint32: () => uint32,
12485
- tuple: () => tuple,
12486
- transform: () => transform,
12487
- templateLiteral: () => templateLiteral,
12488
- symbol: () => symbol,
12489
- superRefine: () => superRefine,
12490
- success: () => success,
12491
- stringbool: () => stringbool,
12492
- stringFormat: () => stringFormat,
12493
- string: () => string2,
12494
- strictObject: () => strictObject,
12495
- set: () => set,
12496
- refine: () => refine,
12497
- record: () => record,
12498
- readonly: () => readonly,
12499
- promise: () => promise,
12500
- preprocess: () => preprocess,
12501
- prefault: () => prefault,
12502
- pipe: () => pipe,
12503
- partialRecord: () => partialRecord,
12504
- optional: () => optional,
12505
- object: () => object,
12506
- number: () => number2,
12507
- nullish: () => nullish2,
12508
- nullable: () => nullable,
12509
- null: () => _null3,
12510
- nonoptional: () => nonoptional,
12511
- never: () => never,
12512
- nativeEnum: () => nativeEnum,
12513
- nanoid: () => nanoid2,
12514
- nan: () => nan,
12515
- meta: () => meta2,
12516
- map: () => map,
12517
- mac: () => mac2,
12518
- looseRecord: () => looseRecord,
12519
- looseObject: () => looseObject,
12520
- literal: () => literal,
12521
- lazy: () => lazy,
12522
- ksuid: () => ksuid2,
12523
- keyof: () => keyof,
12524
- jwt: () => jwt,
12525
- json: () => json,
12526
- ipv6: () => ipv62,
12527
- ipv4: () => ipv42,
12528
- invertCodec: () => invertCodec,
12529
- intersection: () => intersection,
12530
- int64: () => int64,
12531
- int32: () => int32,
12532
- int: () => int,
12533
- instanceof: () => _instanceof,
12534
- httpUrl: () => httpUrl,
12535
- hostname: () => hostname2,
12536
- hex: () => hex2,
12537
- hash: () => hash,
12538
- guid: () => guid2,
12539
- function: () => _function,
12540
- float64: () => float64,
12541
- float32: () => float32,
12542
- file: () => file,
12543
- exactOptional: () => exactOptional,
12544
- enum: () => _enum2,
12545
- emoji: () => emoji2,
12546
- email: () => email2,
12547
- e164: () => e1642,
12548
- discriminatedUnion: () => discriminatedUnion,
12549
- describe: () => describe2,
12550
- date: () => date3,
12551
- custom: () => custom,
12552
- cuid2: () => cuid22,
12553
- cuid: () => cuid3,
12554
- codec: () => codec,
12555
- cidrv6: () => cidrv62,
12556
- cidrv4: () => cidrv42,
12557
- check: () => check,
12558
- catch: () => _catch2,
12559
- boolean: () => boolean2,
12560
- bigint: () => bigint2,
12561
- base64url: () => base64url2,
12562
- base64: () => base642,
12563
- array: () => array,
12564
- any: () => any,
12565
- _function: () => _function,
12566
- _default: () => _default2,
12567
- _ZodString: () => _ZodString,
12568
- ZodXor: () => ZodXor,
12569
- ZodXID: () => ZodXID,
12570
- ZodVoid: () => ZodVoid,
12571
- ZodUnknown: () => ZodUnknown,
12572
- ZodUnion: () => ZodUnion,
12573
- ZodUndefined: () => ZodUndefined,
12574
- ZodUUID: () => ZodUUID,
12575
- ZodURL: () => ZodURL,
12576
- ZodULID: () => ZodULID,
12577
- ZodType: () => ZodType,
12578
- ZodTuple: () => ZodTuple,
12579
- ZodTransform: () => ZodTransform,
12580
- ZodTemplateLiteral: () => ZodTemplateLiteral,
12581
- ZodSymbol: () => ZodSymbol,
12582
- ZodSuccess: () => ZodSuccess,
12583
- ZodStringFormat: () => ZodStringFormat,
12584
- ZodString: () => ZodString,
12585
- ZodSet: () => ZodSet,
12586
- ZodRecord: () => ZodRecord,
12587
- ZodReadonly: () => ZodReadonly,
12588
- ZodPromise: () => ZodPromise,
12589
- ZodPreprocess: () => ZodPreprocess,
12590
- ZodPrefault: () => ZodPrefault,
12591
- ZodPipe: () => ZodPipe,
12592
- ZodOptional: () => ZodOptional,
12593
- ZodObject: () => ZodObject,
12594
- ZodNumberFormat: () => ZodNumberFormat,
12595
- ZodNumber: () => ZodNumber,
12596
- ZodNullable: () => ZodNullable,
12597
- ZodNull: () => ZodNull,
12598
- ZodNonOptional: () => ZodNonOptional,
12599
- ZodNever: () => ZodNever,
12600
- ZodNanoID: () => ZodNanoID,
12601
- ZodNaN: () => ZodNaN,
12602
- ZodMap: () => ZodMap,
12603
- ZodMAC: () => ZodMAC,
12604
- ZodLiteral: () => ZodLiteral,
12605
- ZodLazy: () => ZodLazy,
12606
- ZodKSUID: () => ZodKSUID,
12607
- ZodJWT: () => ZodJWT,
12608
- ZodIntersection: () => ZodIntersection,
12609
- ZodIPv6: () => ZodIPv6,
12610
- ZodIPv4: () => ZodIPv4,
12611
- ZodGUID: () => ZodGUID,
12612
- ZodFunction: () => ZodFunction,
12613
- ZodFile: () => ZodFile,
12614
- ZodExactOptional: () => ZodExactOptional,
12615
- ZodEnum: () => ZodEnum,
12616
- ZodEmoji: () => ZodEmoji,
12617
- ZodEmail: () => ZodEmail,
12618
- ZodE164: () => ZodE164,
12619
- ZodDiscriminatedUnion: () => ZodDiscriminatedUnion,
12620
- ZodDefault: () => ZodDefault,
12621
- ZodDate: () => ZodDate,
12622
- ZodCustomStringFormat: () => ZodCustomStringFormat,
12623
- ZodCustom: () => ZodCustom,
12624
- ZodCodec: () => ZodCodec,
12625
- ZodCatch: () => ZodCatch,
12626
- ZodCUID2: () => ZodCUID2,
12627
- ZodCUID: () => ZodCUID,
12628
- ZodCIDRv6: () => ZodCIDRv6,
12629
- ZodCIDRv4: () => ZodCIDRv4,
12630
- ZodBoolean: () => ZodBoolean,
12631
- ZodBigIntFormat: () => ZodBigIntFormat,
12632
- ZodBigInt: () => ZodBigInt,
12633
- ZodBase64URL: () => ZodBase64URL,
12634
- ZodBase64: () => ZodBase64,
12593
+ ZodAny: () => ZodAny,
12635
12594
  ZodArray: () => ZodArray,
12636
- ZodAny: () => ZodAny
12595
+ ZodBase64: () => ZodBase64,
12596
+ ZodBase64URL: () => ZodBase64URL,
12597
+ ZodBigInt: () => ZodBigInt,
12598
+ ZodBigIntFormat: () => ZodBigIntFormat,
12599
+ ZodBoolean: () => ZodBoolean,
12600
+ ZodCIDRv4: () => ZodCIDRv4,
12601
+ ZodCIDRv6: () => ZodCIDRv6,
12602
+ ZodCUID: () => ZodCUID,
12603
+ ZodCUID2: () => ZodCUID2,
12604
+ ZodCatch: () => ZodCatch,
12605
+ ZodCodec: () => ZodCodec,
12606
+ ZodCustom: () => ZodCustom,
12607
+ ZodCustomStringFormat: () => ZodCustomStringFormat,
12608
+ ZodDate: () => ZodDate,
12609
+ ZodDefault: () => ZodDefault,
12610
+ ZodDiscriminatedUnion: () => ZodDiscriminatedUnion,
12611
+ ZodE164: () => ZodE164,
12612
+ ZodEmail: () => ZodEmail,
12613
+ ZodEmoji: () => ZodEmoji,
12614
+ ZodEnum: () => ZodEnum,
12615
+ ZodExactOptional: () => ZodExactOptional,
12616
+ ZodFile: () => ZodFile,
12617
+ ZodFunction: () => ZodFunction,
12618
+ ZodGUID: () => ZodGUID,
12619
+ ZodIPv4: () => ZodIPv4,
12620
+ ZodIPv6: () => ZodIPv6,
12621
+ ZodIntersection: () => ZodIntersection,
12622
+ ZodJWT: () => ZodJWT,
12623
+ ZodKSUID: () => ZodKSUID,
12624
+ ZodLazy: () => ZodLazy,
12625
+ ZodLiteral: () => ZodLiteral,
12626
+ ZodMAC: () => ZodMAC,
12627
+ ZodMap: () => ZodMap,
12628
+ ZodNaN: () => ZodNaN,
12629
+ ZodNanoID: () => ZodNanoID,
12630
+ ZodNever: () => ZodNever,
12631
+ ZodNonOptional: () => ZodNonOptional,
12632
+ ZodNull: () => ZodNull,
12633
+ ZodNullable: () => ZodNullable,
12634
+ ZodNumber: () => ZodNumber,
12635
+ ZodNumberFormat: () => ZodNumberFormat,
12636
+ ZodObject: () => ZodObject,
12637
+ ZodOptional: () => ZodOptional,
12638
+ ZodPipe: () => ZodPipe,
12639
+ ZodPrefault: () => ZodPrefault,
12640
+ ZodPreprocess: () => ZodPreprocess,
12641
+ ZodPromise: () => ZodPromise,
12642
+ ZodReadonly: () => ZodReadonly,
12643
+ ZodRecord: () => ZodRecord,
12644
+ ZodSet: () => ZodSet,
12645
+ ZodString: () => ZodString,
12646
+ ZodStringFormat: () => ZodStringFormat,
12647
+ ZodSuccess: () => ZodSuccess,
12648
+ ZodSymbol: () => ZodSymbol,
12649
+ ZodTemplateLiteral: () => ZodTemplateLiteral,
12650
+ ZodTransform: () => ZodTransform,
12651
+ ZodTuple: () => ZodTuple,
12652
+ ZodType: () => ZodType,
12653
+ ZodULID: () => ZodULID,
12654
+ ZodURL: () => ZodURL,
12655
+ ZodUUID: () => ZodUUID,
12656
+ ZodUndefined: () => ZodUndefined,
12657
+ ZodUnion: () => ZodUnion,
12658
+ ZodUnknown: () => ZodUnknown,
12659
+ ZodVoid: () => ZodVoid,
12660
+ ZodXID: () => ZodXID,
12661
+ ZodXor: () => ZodXor,
12662
+ _ZodString: () => _ZodString,
12663
+ _default: () => _default2,
12664
+ _function: () => _function,
12665
+ any: () => any,
12666
+ array: () => array,
12667
+ base64: () => base642,
12668
+ base64url: () => base64url2,
12669
+ bigint: () => bigint2,
12670
+ boolean: () => boolean2,
12671
+ catch: () => _catch2,
12672
+ check: () => check,
12673
+ cidrv4: () => cidrv42,
12674
+ cidrv6: () => cidrv62,
12675
+ codec: () => codec,
12676
+ cuid: () => cuid3,
12677
+ cuid2: () => cuid22,
12678
+ custom: () => custom,
12679
+ date: () => date3,
12680
+ describe: () => describe2,
12681
+ discriminatedUnion: () => discriminatedUnion,
12682
+ e164: () => e1642,
12683
+ email: () => email2,
12684
+ emoji: () => emoji2,
12685
+ enum: () => _enum2,
12686
+ exactOptional: () => exactOptional,
12687
+ file: () => file,
12688
+ float32: () => float32,
12689
+ float64: () => float64,
12690
+ function: () => _function,
12691
+ guid: () => guid2,
12692
+ hash: () => hash,
12693
+ hex: () => hex2,
12694
+ hostname: () => hostname2,
12695
+ httpUrl: () => httpUrl,
12696
+ instanceof: () => _instanceof,
12697
+ int: () => int,
12698
+ int32: () => int32,
12699
+ int64: () => int64,
12700
+ intersection: () => intersection,
12701
+ invertCodec: () => invertCodec,
12702
+ ipv4: () => ipv42,
12703
+ ipv6: () => ipv62,
12704
+ json: () => json,
12705
+ jwt: () => jwt,
12706
+ keyof: () => keyof,
12707
+ ksuid: () => ksuid2,
12708
+ lazy: () => lazy,
12709
+ literal: () => literal,
12710
+ looseObject: () => looseObject,
12711
+ looseRecord: () => looseRecord,
12712
+ mac: () => mac2,
12713
+ map: () => map,
12714
+ meta: () => meta2,
12715
+ nan: () => nan,
12716
+ nanoid: () => nanoid2,
12717
+ nativeEnum: () => nativeEnum,
12718
+ never: () => never,
12719
+ nonoptional: () => nonoptional,
12720
+ null: () => _null3,
12721
+ nullable: () => nullable,
12722
+ nullish: () => nullish2,
12723
+ number: () => number2,
12724
+ object: () => object,
12725
+ optional: () => optional,
12726
+ partialRecord: () => partialRecord,
12727
+ pipe: () => pipe,
12728
+ prefault: () => prefault,
12729
+ preprocess: () => preprocess,
12730
+ promise: () => promise,
12731
+ readonly: () => readonly,
12732
+ record: () => record,
12733
+ refine: () => refine,
12734
+ set: () => set,
12735
+ strictObject: () => strictObject,
12736
+ string: () => string2,
12737
+ stringFormat: () => stringFormat,
12738
+ stringbool: () => stringbool,
12739
+ success: () => success,
12740
+ superRefine: () => superRefine,
12741
+ symbol: () => symbol,
12742
+ templateLiteral: () => templateLiteral,
12743
+ transform: () => transform,
12744
+ tuple: () => tuple,
12745
+ uint32: () => uint32,
12746
+ uint64: () => uint64,
12747
+ ulid: () => ulid2,
12748
+ undefined: () => _undefined3,
12749
+ union: () => union,
12750
+ unknown: () => unknown,
12751
+ url: () => url,
12752
+ uuid: () => uuid2,
12753
+ uuidv4: () => uuidv4,
12754
+ uuidv6: () => uuidv6,
12755
+ uuidv7: () => uuidv7,
12756
+ void: () => _void2,
12757
+ xid: () => xid2,
12758
+ xor: () => xor
12637
12759
  });
12638
12760
 
12639
12761
  // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/classic/checks.js
12640
12762
  var exports_checks2 = {};
12641
12763
  __export(exports_checks2, {
12642
- uppercase: () => _uppercase,
12643
- trim: () => _trim,
12644
- toUpperCase: () => _toUpperCase,
12645
- toLowerCase: () => _toLowerCase,
12646
- startsWith: () => _startsWith,
12647
- slugify: () => _slugify,
12648
- size: () => _size,
12649
- regex: () => _regex,
12650
- property: () => _property,
12651
- positive: () => _positive,
12652
- overwrite: () => _overwrite,
12653
- normalize: () => _normalize,
12654
- nonpositive: () => _nonpositive,
12655
- nonnegative: () => _nonnegative,
12656
- negative: () => _negative,
12657
- multipleOf: () => _multipleOf,
12658
- minSize: () => _minSize,
12659
- minLength: () => _minLength,
12660
- mime: () => _mime,
12661
- maxSize: () => _maxSize,
12662
- maxLength: () => _maxLength,
12663
- lte: () => _lte,
12664
- lt: () => _lt,
12665
- lowercase: () => _lowercase,
12666
- length: () => _length,
12667
- includes: () => _includes,
12668
- gte: () => _gte,
12764
+ endsWith: () => _endsWith,
12669
12765
  gt: () => _gt,
12670
- endsWith: () => _endsWith
12766
+ gte: () => _gte,
12767
+ includes: () => _includes,
12768
+ length: () => _length,
12769
+ lowercase: () => _lowercase,
12770
+ lt: () => _lt,
12771
+ lte: () => _lte,
12772
+ maxLength: () => _maxLength,
12773
+ maxSize: () => _maxSize,
12774
+ mime: () => _mime,
12775
+ minLength: () => _minLength,
12776
+ minSize: () => _minSize,
12777
+ multipleOf: () => _multipleOf,
12778
+ negative: () => _negative,
12779
+ nonnegative: () => _nonnegative,
12780
+ nonpositive: () => _nonpositive,
12781
+ normalize: () => _normalize,
12782
+ overwrite: () => _overwrite,
12783
+ positive: () => _positive,
12784
+ property: () => _property,
12785
+ regex: () => _regex,
12786
+ size: () => _size,
12787
+ slugify: () => _slugify,
12788
+ startsWith: () => _startsWith,
12789
+ toLowerCase: () => _toLowerCase,
12790
+ toUpperCase: () => _toUpperCase,
12791
+ trim: () => _trim,
12792
+ uppercase: () => _uppercase
12671
12793
  });
12672
12794
 
12673
12795
  // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/classic/iso.js
12674
12796
  var exports_iso = {};
12675
12797
  __export(exports_iso, {
12676
- time: () => time2,
12677
- duration: () => duration2,
12678
- datetime: () => datetime2,
12679
- date: () => date2,
12680
- ZodISOTime: () => ZodISOTime,
12681
- ZodISODuration: () => ZodISODuration,
12798
+ ZodISODate: () => ZodISODate,
12682
12799
  ZodISODateTime: () => ZodISODateTime,
12683
- ZodISODate: () => ZodISODate
12800
+ ZodISODuration: () => ZodISODuration,
12801
+ ZodISOTime: () => ZodISOTime,
12802
+ date: () => date2,
12803
+ datetime: () => datetime2,
12804
+ duration: () => duration2,
12805
+ time: () => time2
12684
12806
  });
12685
12807
  var ZodISODateTime = /* @__PURE__ */ $constructor("ZodISODateTime", (inst, def) => {
12686
12808
  $ZodISODateTime.init(inst, def);
@@ -14541,11 +14663,11 @@ function fromJSONSchema(schema, params) {
14541
14663
  // ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/classic/coerce.js
14542
14664
  var exports_coerce = {};
14543
14665
  __export(exports_coerce, {
14544
- string: () => string3,
14545
- number: () => number3,
14546
- date: () => date4,
14666
+ bigint: () => bigint3,
14547
14667
  boolean: () => boolean3,
14548
- bigint: () => bigint3
14668
+ date: () => date4,
14669
+ number: () => number3,
14670
+ string: () => string3
14549
14671
  });
14550
14672
  function string3(params) {
14551
14673
  return _coercedString(ZodString, params);
@@ -15259,25 +15381,6 @@ function compileLoopState(stateKey, state, ctx) {
15259
15381
  function compileTerminalState(stateKey, kind) {
15260
15382
  return { nodeDefinitions: [{ nodeKey: stateKey, kind }], edges: [] };
15261
15383
  }
15262
- function assertNoIllegalConvergentEdges(pipelineKey, nodeKindByKey, edges) {
15263
- const incoming = new Map;
15264
- for (const edge of edges) {
15265
- const list = incoming.get(edge.toNodeKey) ?? [];
15266
- list.push(edge);
15267
- incoming.set(edge.toNodeKey, list);
15268
- }
15269
- for (const [targetKey, incomingEdges] of incoming) {
15270
- if (incomingEdges.length <= 1)
15271
- continue;
15272
- const hasInvalidSource = incomingEdges.some((edge) => {
15273
- const kind = nodeKindByKey.get(edge.fromNodeKey);
15274
- return kind !== "choice" && kind !== "loop";
15275
- });
15276
- if (hasInvalidSource) {
15277
- throw new Error(`Pipeline "${pipelineKey}": state "${targetKey}" has more than one incoming edge, but not every source is a 'choice'/'loop' state (unconditional convergent edges are not allowed \u2014 see docs/research/flat-pipeline-sdk-and-visual-designer.md \xA76).`);
15278
- }
15279
- }
15280
- }
15281
15384
 
15282
15385
  // src/definitions/pipelines/define-pipeline.ts
15283
15386
  function isWorkingNodeDefinition(node) {
@@ -15314,8 +15417,6 @@ function definePipeline(config2) {
15314
15417
  nodeDefinitions.push(...compiled.nodeDefinitions);
15315
15418
  dependencyEdges.push(...compiled.edges);
15316
15419
  }
15317
- const nodeKindByKey = new Map(nodeDefinitions.map((node) => [node.nodeKey, node.kind]));
15318
- assertNoIllegalConvergentEdges(config2.key, nodeKindByKey, dependencyEdges);
15319
15420
  let inputSchemaJson = null;
15320
15421
  if (config2.input) {
15321
15422
  try {
@@ -15331,13 +15432,14 @@ function definePipeline(config2) {
15331
15432
  version: config2.version ?? 1,
15332
15433
  status: config2.status ?? "active",
15333
15434
  inputSchemaJson,
15435
+ entryNodeKey: config2.startAt,
15334
15436
  _stepDefinitions: [...stepDefMap.values()],
15335
15437
  nodeDefinitions,
15336
15438
  dependencyEdges
15337
15439
  };
15338
15440
  }
15339
15441
 
15340
- // src/definitions/validation/validate-definition-specs.ts
15442
+ // src/definitions/validation/validation-issue.ts
15341
15443
  function listPaths(paths, limit = 24) {
15342
15444
  if (paths.length === 0)
15343
15445
  return "";
@@ -15345,6 +15447,250 @@ function listPaths(paths, limit = 24) {
15345
15447
  return paths.join(", ");
15346
15448
  return `${paths.slice(0, limit).join(", ")}, \u2026 (${String(paths.length - limit)} more)`;
15347
15449
  }
15450
+
15451
+ // src/definitions/validation/validate-input-bindings.ts
15452
+ var WORK_ITEM_TOP_LEVEL_FIELD_SET = new Set(WORK_ITEM_TOP_LEVEL_FIELDS);
15453
+ function isAutoBoundWorkItemField(field) {
15454
+ return field === "workItemTitle" || field === "workItemDescription";
15455
+ }
15456
+ function bindingContexts(pipeline) {
15457
+ const contexts = [];
15458
+ for (const node of pipeline.nodeDefinitions) {
15459
+ if (isWorkingNodeDefinition(node)) {
15460
+ contexts.push({
15461
+ nodeKey: node.nodeKey,
15462
+ branchKey: null,
15463
+ stepKey: node.stepKey,
15464
+ inputBindingsJson: node.inputBindingsJson ?? {}
15465
+ });
15466
+ continue;
15467
+ }
15468
+ if (node.kind === "parallel" && node.branches) {
15469
+ for (const [branchKey, branch] of Object.entries(node.branches)) {
15470
+ contexts.push({
15471
+ nodeKey: node.nodeKey,
15472
+ branchKey,
15473
+ stepKey: branch.stepKey,
15474
+ inputBindingsJson: branch.inputBindingsJson ?? {}
15475
+ });
15476
+ }
15477
+ }
15478
+ }
15479
+ return contexts;
15480
+ }
15481
+ function bindingContextLabel(pipelineKey, ctx) {
15482
+ return ctx.branchKey ? `Pipeline "${pipelineKey}" node "${ctx.nodeKey}" branch "${ctx.branchKey}"` : `Pipeline "${pipelineKey}" node "${ctx.nodeKey}"`;
15483
+ }
15484
+ function knownInputFields(specs) {
15485
+ const fields = new Set;
15486
+ for (const spec of specs) {
15487
+ const schema = spec.inputSchemaJson;
15488
+ if (!schema)
15489
+ continue;
15490
+ const properties = schema["properties"];
15491
+ if (!properties || typeof properties !== "object" || Array.isArray(properties)) {
15492
+ continue;
15493
+ }
15494
+ for (const key of Object.keys(properties))
15495
+ fields.add(key);
15496
+ }
15497
+ return fields;
15498
+ }
15499
+ function requiredInputFields(specs) {
15500
+ const fields = new Set;
15501
+ for (const spec of specs) {
15502
+ const schema = spec.inputSchemaJson;
15503
+ if (!schema)
15504
+ continue;
15505
+ const required2 = schema["required"];
15506
+ if (!Array.isArray(required2))
15507
+ continue;
15508
+ for (const entry of required2) {
15509
+ if (typeof entry === "string")
15510
+ fields.add(entry);
15511
+ }
15512
+ }
15513
+ return fields;
15514
+ }
15515
+ function isJsonSchemaNode(value) {
15516
+ return typeof value === "boolean" || typeof value === "object" && value !== null && !Array.isArray(value);
15517
+ }
15518
+ function findPropertyNode(specs, field) {
15519
+ for (const spec of specs) {
15520
+ const schema = spec.inputSchemaJson;
15521
+ if (!schema)
15522
+ continue;
15523
+ const properties = schema["properties"];
15524
+ if (!properties || typeof properties !== "object" || Array.isArray(properties)) {
15525
+ continue;
15526
+ }
15527
+ const node = properties[field];
15528
+ if (isJsonSchemaNode(node))
15529
+ return { node, root: schema };
15530
+ }
15531
+ return null;
15532
+ }
15533
+ function checkUnboundRequiredInputs(pipelines, stepsByKey) {
15534
+ const issues = [];
15535
+ for (const pipeline of pipelines) {
15536
+ for (const ctx of bindingContexts(pipeline)) {
15537
+ const specs = stepsByKey.get(ctx.stepKey);
15538
+ if (!specs)
15539
+ continue;
15540
+ const required2 = requiredInputFields(specs);
15541
+ if (required2.size === 0)
15542
+ continue;
15543
+ const bound = new Set(Object.keys(ctx.inputBindingsJson));
15544
+ const missing = [...required2].filter((field) => !bound.has(field) && !isAutoBoundWorkItemField(field)).sort();
15545
+ if (missing.length === 0)
15546
+ continue;
15547
+ const where = bindingContextLabel(pipeline.key, ctx);
15548
+ const boundList = [
15549
+ ...bound,
15550
+ "workItemTitle",
15551
+ "workItemDescription"
15552
+ ].sort();
15553
+ for (const field of missing) {
15554
+ issues.push({
15555
+ check: "unbound-required-input",
15556
+ severity: "error",
15557
+ pipelineKey: pipeline.key,
15558
+ nodeKey: ctx.nodeKey,
15559
+ branchKey: ctx.branchKey ?? undefined,
15560
+ message: `${where} runs step "${ctx.stepKey}", which requires input "${field}", ` + `but no binding provides it. Bound inputs: ${listPaths(boundList)}.`
15561
+ });
15562
+ }
15563
+ }
15564
+ }
15565
+ return issues;
15566
+ }
15567
+ function checkBindingTargetFields(pipelines, stepsByKey) {
15568
+ const issues = [];
15569
+ for (const pipeline of pipelines) {
15570
+ for (const ctx of bindingContexts(pipeline)) {
15571
+ const specs = stepsByKey.get(ctx.stepKey);
15572
+ const knownFields = specs ? knownInputFields(specs) : null;
15573
+ const where = bindingContextLabel(pipeline.key, ctx);
15574
+ for (const [field, binding] of Object.entries(ctx.inputBindingsJson)) {
15575
+ if (knownFields && !isAutoBoundWorkItemField(field) && !knownFields.has(field)) {
15576
+ issues.push({
15577
+ check: "binding-target-field",
15578
+ severity: "info",
15579
+ pipelineKey: pipeline.key,
15580
+ nodeKey: ctx.nodeKey,
15581
+ branchKey: ctx.branchKey ?? undefined,
15582
+ message: `${where} is passing information ("${field}") to step "${ctx.stepKey}" ` + `that it isn't explicitly asking for \u2014 the step declares no such ` + `additionalInput field, so the value is dropped. Declared fields: ` + `${knownFields.size > 0 ? listPaths([...knownFields].sort()) : "(none)"}.`
15583
+ });
15584
+ }
15585
+ if (binding.source === "work_item" && !binding.field.startsWith(WORK_ITEM_FIELDS_PATH_PREFIX) && !WORK_ITEM_TOP_LEVEL_FIELD_SET.has(binding.field)) {
15586
+ issues.push({
15587
+ check: "binding-target-field",
15588
+ severity: "error",
15589
+ pipelineKey: pipeline.key,
15590
+ nodeKey: ctx.nodeKey,
15591
+ branchKey: ctx.branchKey ?? undefined,
15592
+ message: `${where} binds input "${field}" to work_item field "${binding.field}", ` + `which is not a known top-level work-item field and does not start ` + `with "${WORK_ITEM_FIELDS_PATH_PREFIX}". Known top-level fields: ` + `${listPaths(WORK_ITEM_TOP_LEVEL_FIELDS)}.`
15593
+ });
15594
+ }
15595
+ }
15596
+ }
15597
+ }
15598
+ return issues;
15599
+ }
15600
+ function describeBindingSource(binding) {
15601
+ switch (binding.source) {
15602
+ case "step_signal":
15603
+ return `signal "${binding.signalKey}" of node "${binding.stepKey}"`;
15604
+ case "step_output":
15605
+ return `the output of node "${binding.stepKey}"`;
15606
+ case "signals_list":
15607
+ return `the signals list of fan-out node "${binding.stepKey}"`;
15608
+ case "pipeline_input":
15609
+ return `pipeline input "${binding.path}"`;
15610
+ case "work_item":
15611
+ return `work_item field "${binding.field}"`;
15612
+ case "literal":
15613
+ return "a literal value";
15614
+ case "fan_out_item":
15615
+ return "the fan-out item";
15616
+ }
15617
+ }
15618
+ function bindingSourceType(binding, pipeline, nodeByKey, stepsByKey) {
15619
+ if (binding.source === "step_signal") {
15620
+ const producerNode = nodeByKey.get(binding.stepKey);
15621
+ if (!producerNode || !isWorkingNodeDefinition(producerNode))
15622
+ return "unknown";
15623
+ const specs = stepsByKey.get(producerNode.stepKey) ?? [];
15624
+ for (const spec of specs) {
15625
+ const signal2 = spec.signalExtractorDefinitions.find((candidate) => candidate.key === binding.signalKey);
15626
+ if (signal2)
15627
+ return signal2.type;
15628
+ }
15629
+ return "unknown";
15630
+ }
15631
+ if (binding.source === "step_output") {
15632
+ const producerNode = nodeByKey.get(binding.stepKey);
15633
+ if (!producerNode || !isWorkingNodeDefinition(producerNode))
15634
+ return "unknown";
15635
+ const specs = stepsByKey.get(producerNode.stepKey) ?? [];
15636
+ for (const spec of specs) {
15637
+ if (spec.resultSchemaJson)
15638
+ return resolveSchemaType(spec.resultSchemaJson);
15639
+ }
15640
+ return "unknown";
15641
+ }
15642
+ if (binding.source === "signals_list")
15643
+ return "array";
15644
+ if (binding.source === "pipeline_input") {
15645
+ return pipeline.inputSchemaJson ? resolvePathType(pipeline.inputSchemaJson, binding.path) : "unknown";
15646
+ }
15647
+ if (binding.source === "work_item") {
15648
+ if (binding.field.startsWith(WORK_ITEM_FIELDS_PATH_PREFIX))
15649
+ return "unknown";
15650
+ return WORK_ITEM_TOP_LEVEL_FIELD_SET.has(binding.field) ? "string" : "unknown";
15651
+ }
15652
+ return "unknown";
15653
+ }
15654
+ function checkBindingTypeCompatibility(pipelines, stepsByKey) {
15655
+ const issues = [];
15656
+ for (const pipeline of pipelines) {
15657
+ const nodeByKey = new Map(pipeline.nodeDefinitions.map((node) => [node.nodeKey, node]));
15658
+ for (const ctx of bindingContexts(pipeline)) {
15659
+ const specs = stepsByKey.get(ctx.stepKey);
15660
+ const where = bindingContextLabel(pipeline.key, ctx);
15661
+ for (const [field, binding] of Object.entries(ctx.inputBindingsJson)) {
15662
+ if (binding.source === "fan_out_item")
15663
+ continue;
15664
+ if (isAutoBoundWorkItemField(field))
15665
+ continue;
15666
+ if (!specs)
15667
+ continue;
15668
+ const target = findPropertyNode(specs, field);
15669
+ if (!target)
15670
+ continue;
15671
+ const targetType = resolveSchemaType(target.node, target.root);
15672
+ if (targetType === "unknown")
15673
+ continue;
15674
+ const sourceType = bindingSourceType(binding, pipeline, nodeByKey, stepsByKey);
15675
+ if (sourceType === "unknown")
15676
+ continue;
15677
+ if (sourceType === targetType)
15678
+ continue;
15679
+ issues.push({
15680
+ check: "binding-type-mismatch",
15681
+ severity: "warning",
15682
+ pipelineKey: pipeline.key,
15683
+ nodeKey: ctx.nodeKey,
15684
+ branchKey: ctx.branchKey ?? undefined,
15685
+ message: `${where} binds input "${field}" (declared type "${targetType}") to ` + `${describeBindingSource(binding)}, which resolves to type ` + `"${sourceType}" \u2014 the types disagree.`
15686
+ });
15687
+ }
15688
+ }
15689
+ }
15690
+ return issues;
15691
+ }
15692
+
15693
+ // src/definitions/validation/validate-definition-specs.ts
15348
15694
  function quotedOrRoot(prefix) {
15349
15695
  return prefix ? `"${prefix}"` : "the result root";
15350
15696
  }
@@ -15363,6 +15709,7 @@ function checkSignalSourcePaths(steps) {
15363
15709
  const suffix = availablePaths.length > 0 ? ` Valid sourcePaths ${resolvedPrefix ? `under "${resolvedPrefix}"` : "for this step"}: ${listPaths(availablePaths)}.` : "";
15364
15710
  issues.push({
15365
15711
  check: "signal-source-path",
15712
+ severity: "error",
15366
15713
  message: `Step "${step.key}" declares signal "${signal2.key}" with sourcePath ` + `"${signal2.sourcePath}", which can never resolve against the step's ` + `result schema: ${cause}.${suffix}`
15367
15714
  });
15368
15715
  }
@@ -15385,6 +15732,7 @@ function checkHealthChecks(steps) {
15385
15732
  if (!mcpServerKeySet.has(check2.mcp)) {
15386
15733
  issues.push({
15387
15734
  check: "health-check-mcp-server",
15735
+ severity: "error",
15388
15736
  message: `${where} names MCP server "${check2.mcp}", but the step declares no ` + `such server in mcpServers. Declared servers: ${mcpServerKeys.length > 0 ? listPaths([...mcpServerKeys].sort()) : "(none)"}.`
15389
15737
  });
15390
15738
  }
@@ -15392,6 +15740,7 @@ function checkHealthChecks(steps) {
15392
15740
  if (check2.tool.startsWith(prefix)) {
15393
15741
  issues.push({
15394
15742
  check: "health-check-double-qualified",
15743
+ severity: "error",
15395
15744
  message: `${where} sets mcp "${check2.mcp}" and tool "${check2.tool}", which already ` + `starts with "${prefix}". When "mcp" is set, "tool" should be the bare tool ` + `name \u2014 OpenCode resolves it to "${prefix}${check2.tool}". Did you mean ` + `tool: "${check2.tool.slice(prefix.length)}"?`
15396
15745
  });
15397
15746
  }
@@ -15428,6 +15777,7 @@ function checkRouteTargets(pipelines, knownPipelineKeys) {
15428
15777
  continue;
15429
15778
  issues.push({
15430
15779
  check: "route-target",
15780
+ severity: "error",
15431
15781
  pipelineKey: pipeline.key,
15432
15782
  nodeKey: node.nodeKey,
15433
15783
  message: `Pipeline "${pipeline.key}" step "${stepLabel}" routes to pipeline ` + `"${target}", but no pipeline with that key was found on the server or ` + `in the current push batch. Push the target pipeline first.`
@@ -15483,6 +15833,7 @@ function checkSignalBindings(pipelines, stepsByKey) {
15483
15833
  const order = [...pipeline.nodeDefinitions.keys()].sort((left, right) => (ranks.get(left) ?? 0) - (ranks.get(right) ?? 0)).map((index) => pipeline.nodeDefinitions[index]?.nodeKey ?? "");
15484
15834
  const orderHint = `Nodes in "${pipeline.key}", in order: ${order.join(" \u2192 ")}.`;
15485
15835
  const nodeByKey = new Map(pipeline.nodeDefinitions.map((node) => [node.nodeKey, node]));
15836
+ const dominatorSets = tryComputeDominators(pipeline.nodeDefinitions, pipeline.dependencyEdges, pipeline.entryNodeKey);
15486
15837
  pipeline.nodeDefinitions.forEach((node, index) => {
15487
15838
  const consumerRank = ranks.get(index) ?? index;
15488
15839
  const where = `Pipeline "${pipeline.key}" node "${node.nodeKey}"`;
@@ -15493,6 +15844,7 @@ function checkSignalBindings(pipelines, stepsByKey) {
15493
15844
  continue;
15494
15845
  const what = source.kind === "signal" ? `binds input "${field}" to signal "${source.signalKey ?? ""}" of node "${source.nodeKey}"` : source.kind === "signals_list" ? `binds input "${field}" to the signals list of fan-out node "${source.nodeKey}"` : `binds input "${field}" to the output of node "${source.nodeKey}"`;
15495
15846
  const issueBase = {
15847
+ severity: "error",
15496
15848
  pipelineKey: pipeline.key,
15497
15849
  nodeKey: node.nodeKey,
15498
15850
  targetNodeKey: source.nodeKey
@@ -15507,11 +15859,12 @@ function checkSignalBindings(pipelines, stepsByKey) {
15507
15859
  });
15508
15860
  continue;
15509
15861
  }
15510
- if (producerRank >= consumerRank) {
15862
+ const producesBeforeConsumer = dominatorSets !== null ? source.nodeKey !== node.nodeKey && (dominatorSets.get(node.nodeKey)?.has(source.nodeKey) ?? false) : producerRank < consumerRank;
15863
+ if (!producesBeforeConsumer) {
15511
15864
  issues.push({
15512
15865
  check: "signal-binding",
15513
15866
  ...issueBase,
15514
- message: `${where} ${what}, but that node does not run before it, so the ` + `value will never exist. ${orderHint}`
15867
+ message: `${where} ${what}, but that node does not run on every path ` + `leading to this node, so the value may not exist. ${orderHint}`
15515
15868
  });
15516
15869
  continue;
15517
15870
  }
@@ -15543,11 +15896,14 @@ function validateDefinitionSpecs(specs, options = {}) {
15543
15896
  ...checkSignalSourcePaths(specs.steps),
15544
15897
  ...checkHealthChecks(specs.steps),
15545
15898
  ...checkRouteTargets(specs.pipelines, options.knownPipelineKeys ?? []),
15546
- ...checkSignalBindings(specs.pipelines, stepsByKey)
15899
+ ...checkSignalBindings(specs.pipelines, stepsByKey),
15900
+ ...checkUnboundRequiredInputs(specs.pipelines, stepsByKey),
15901
+ ...checkBindingTargetFields(specs.pipelines, stepsByKey),
15902
+ ...checkBindingTypeCompatibility(specs.pipelines, stepsByKey)
15547
15903
  ];
15548
15904
  }
15549
15905
  function assertValidDefinitionSpecs(specs, options = {}) {
15550
- const issues = validateDefinitionSpecs(specs, options);
15906
+ const issues = validateDefinitionSpecs(specs, options).filter((issue2) => issue2.severity === "error");
15551
15907
  if (issues.length === 0)
15552
15908
  return;
15553
15909
  const header = issues.length === 1 ? "Definition validation failed:" : `Definition validation failed with ${String(issues.length)} problems:`;
@@ -15555,9 +15911,15 @@ function assertValidDefinitionSpecs(specs, options = {}) {
15555
15911
  `));
15556
15912
  }
15557
15913
  export {
15558
- validateDefinitionSpecs,
15559
- resolveSourcePath,
15560
- parseSourcePath,
15914
+ assertValidDefinitionSpecs,
15915
+ checkBindingTargetFields,
15916
+ checkBindingTypeCompatibility,
15917
+ checkUnboundRequiredInputs,
15561
15918
  enumeratePaths,
15562
- assertValidDefinitionSpecs
15919
+ listPaths,
15920
+ parseSourcePath,
15921
+ resolvePathType,
15922
+ resolveSchemaType,
15923
+ resolveSourcePath,
15924
+ validateDefinitionSpecs
15563
15925
  };