@handlebar/governance-schema 0.0.1 → 0.0.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.
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ var __export = (target, all) => {
9
9
  });
10
10
  };
11
11
 
12
- // ../../node_modules/zod/v4/classic/external.js
12
+ // node_modules/zod/v4/classic/external.js
13
13
  var exports_external = {};
14
14
  __export(exports_external, {
15
15
  xid: () => xid2,
@@ -43,6 +43,7 @@ __export(exports_external, {
43
43
  string: () => string2,
44
44
  strictObject: () => strictObject,
45
45
  startsWith: () => _startsWith,
46
+ slugify: () => _slugify,
46
47
  size: () => _size,
47
48
  setErrorMap: () => setErrorMap,
48
49
  set: () => set,
@@ -88,9 +89,11 @@ __export(exports_external, {
88
89
  minSize: () => _minSize,
89
90
  minLength: () => _minLength,
90
91
  mime: () => _mime,
92
+ meta: () => meta2,
91
93
  maxSize: () => _maxSize,
92
94
  maxLength: () => _maxLength,
93
95
  map: () => map,
96
+ mac: () => mac2,
94
97
  lte: () => _lte,
95
98
  lt: () => _lt,
96
99
  lowercase: () => _lowercase,
@@ -135,6 +138,7 @@ __export(exports_external, {
135
138
  email: () => email2,
136
139
  e164: () => e1642,
137
140
  discriminatedUnion: () => discriminatedUnion,
141
+ describe: () => describe2,
138
142
  decodeAsync: () => decodeAsync2,
139
143
  decode: () => decode2,
140
144
  date: () => date3,
@@ -193,6 +197,7 @@ __export(exports_external, {
193
197
  ZodNanoID: () => ZodNanoID,
194
198
  ZodNaN: () => ZodNaN,
195
199
  ZodMap: () => ZodMap,
200
+ ZodMAC: () => ZodMAC,
196
201
  ZodLiteral: () => ZodLiteral,
197
202
  ZodLazy: () => ZodLazy,
198
203
  ZodKSUID: () => ZodKSUID,
@@ -239,7 +244,7 @@ __export(exports_external, {
239
244
  $brand: () => $brand
240
245
  });
241
246
 
242
- // ../../node_modules/zod/v4/core/index.js
247
+ // node_modules/zod/v4/core/index.js
243
248
  var exports_core2 = {};
244
249
  __export(exports_core2, {
245
250
  version: () => version,
@@ -258,6 +263,7 @@ __export(exports_core2, {
258
263
  prettifyError: () => prettifyError,
259
264
  parseAsync: () => parseAsync,
260
265
  parse: () => parse,
266
+ meta: () => meta,
261
267
  locales: () => exports_locales,
262
268
  isValidJWT: () => isValidJWT,
263
269
  isValidBase64URL: () => isValidBase64URL,
@@ -268,6 +274,7 @@ __export(exports_core2, {
268
274
  flattenError: () => flattenError,
269
275
  encodeAsync: () => encodeAsync,
270
276
  encode: () => encode,
277
+ describe: () => describe,
271
278
  decodeAsync: () => decodeAsync,
272
279
  decode: () => decode,
273
280
  config: () => config,
@@ -299,6 +306,7 @@ __export(exports_core2, {
299
306
  _stringFormat: () => _stringFormat,
300
307
  _string: () => _string,
301
308
  _startsWith: () => _startsWith,
309
+ _slugify: () => _slugify,
302
310
  _size: () => _size,
303
311
  _set: () => _set,
304
312
  _safeParseAsync: () => _safeParseAsync,
@@ -340,6 +348,7 @@ __export(exports_core2, {
340
348
  _maxLength: () => _maxLength,
341
349
  _max: () => _lte,
342
350
  _map: () => _map,
351
+ _mac: () => _mac,
343
352
  _lte: () => _lte,
344
353
  _lt: () => _lt,
345
354
  _lowercase: () => _lowercase,
@@ -440,6 +449,7 @@ __export(exports_core2, {
440
449
  $ZodNanoID: () => $ZodNanoID,
441
450
  $ZodNaN: () => $ZodNaN,
442
451
  $ZodMap: () => $ZodMap,
452
+ $ZodMAC: () => $ZodMAC,
443
453
  $ZodLiteral: () => $ZodLiteral,
444
454
  $ZodLazy: () => $ZodLazy,
445
455
  $ZodKSUID: () => $ZodKSUID,
@@ -503,26 +513,35 @@ __export(exports_core2, {
503
513
  $ZodAny: () => $ZodAny
504
514
  });
505
515
 
506
- // ../../node_modules/zod/v4/core/core.js
516
+ // node_modules/zod/v4/core/core.js
507
517
  var NEVER = Object.freeze({
508
518
  status: "aborted"
509
519
  });
510
520
  function $constructor(name, initializer, params) {
511
521
  function init(inst, def) {
512
- var _a;
513
- Object.defineProperty(inst, "_zod", {
514
- value: inst._zod ?? {},
515
- enumerable: false
516
- });
517
- (_a = inst._zod).traits ?? (_a.traits = new Set);
522
+ if (!inst._zod) {
523
+ Object.defineProperty(inst, "_zod", {
524
+ value: {
525
+ def,
526
+ constr: _,
527
+ traits: new Set
528
+ },
529
+ enumerable: false
530
+ });
531
+ }
532
+ if (inst._zod.traits.has(name)) {
533
+ return;
534
+ }
518
535
  inst._zod.traits.add(name);
519
536
  initializer(inst, def);
520
- for (const k in _.prototype) {
521
- if (!(k in inst))
522
- Object.defineProperty(inst, k, { value: _.prototype[k].bind(inst) });
537
+ const proto = _.prototype;
538
+ const keys = Object.keys(proto);
539
+ for (let i = 0;i < keys.length; i++) {
540
+ const k = keys[i];
541
+ if (!(k in inst)) {
542
+ inst[k] = proto[k].bind(inst);
543
+ }
523
544
  }
524
- inst._zod.constr = _;
525
- inst._zod.def = def;
526
545
  }
527
546
  const Parent = params?.Parent ?? Object;
528
547
 
@@ -570,7 +589,7 @@ function config(newConfig) {
570
589
  Object.assign(globalConfig, newConfig);
571
590
  return globalConfig;
572
591
  }
573
- // ../../node_modules/zod/v4/core/util.js
592
+ // node_modules/zod/v4/core/util.js
574
593
  var exports_util = {};
575
594
  __export(exports_util, {
576
595
  unwrapMessage: () => unwrapMessage,
@@ -578,6 +597,7 @@ __export(exports_util, {
578
597
  uint8ArrayToBase64url: () => uint8ArrayToBase64url,
579
598
  uint8ArrayToBase64: () => uint8ArrayToBase64,
580
599
  stringifyPrimitive: () => stringifyPrimitive,
600
+ slugify: () => slugify,
581
601
  shallowClone: () => shallowClone,
582
602
  safeExtend: () => safeExtend,
583
603
  required: () => required,
@@ -765,6 +785,9 @@ function randomString(length = 10) {
765
785
  function esc(str) {
766
786
  return JSON.stringify(str);
767
787
  }
788
+ function slugify(input) {
789
+ return input.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, "");
790
+ }
768
791
  var captureStackTrace = "captureStackTrace" in Error ? Error.captureStackTrace : (..._args) => {};
769
792
  function isObject(data) {
770
793
  return typeof data === "object" && data !== null && !Array.isArray(data);
@@ -787,6 +810,8 @@ function isPlainObject(o) {
787
810
  const ctor = o.constructor;
788
811
  if (ctor === undefined)
789
812
  return true;
813
+ if (typeof ctor !== "function")
814
+ return true;
790
815
  const prot = ctor.prototype;
791
816
  if (isObject(prot) === false)
792
817
  return false;
@@ -1199,7 +1224,7 @@ class Class {
1199
1224
  constructor(..._args) {}
1200
1225
  }
1201
1226
 
1202
- // ../../node_modules/zod/v4/core/errors.js
1227
+ // node_modules/zod/v4/core/errors.js
1203
1228
  var initializer = (inst, def) => {
1204
1229
  inst.name = "$ZodError";
1205
1230
  Object.defineProperty(inst, "_zod", {
@@ -1336,7 +1361,7 @@ function prettifyError(error) {
1336
1361
  `);
1337
1362
  }
1338
1363
 
1339
- // ../../node_modules/zod/v4/core/parse.js
1364
+ // node_modules/zod/v4/core/parse.js
1340
1365
  var _parse = (_Err) => (schema, value, _ctx, _params) => {
1341
1366
  const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
1342
1367
  const result = schema._zod.run({ value, issues: [] }, ctx);
@@ -1423,7 +1448,7 @@ var _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
1423
1448
  return _safeParseAsync(_Err)(schema, value, _ctx);
1424
1449
  };
1425
1450
  var safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync($ZodRealError);
1426
- // ../../node_modules/zod/v4/core/regexes.js
1451
+ // node_modules/zod/v4/core/regexes.js
1427
1452
  var exports_regexes = {};
1428
1453
  __export(exports_regexes, {
1429
1454
  xid: () => xid,
@@ -1456,6 +1481,7 @@ __export(exports_regexes, {
1456
1481
  md5_hex: () => md5_hex,
1457
1482
  md5_base64url: () => md5_base64url,
1458
1483
  md5_base64: () => md5_base64,
1484
+ mac: () => mac,
1459
1485
  lowercase: () => lowercase,
1460
1486
  ksuid: () => ksuid,
1461
1487
  ipv6: () => ipv6,
@@ -1513,6 +1539,10 @@ function emoji() {
1513
1539
  }
1514
1540
  var ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
1515
1541
  var ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;
1542
+ var mac = (delimiter) => {
1543
+ const escapedDelim = escapeRegex(delimiter ?? ":");
1544
+ return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);
1545
+ };
1516
1546
  var cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
1517
1547
  var cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
1518
1548
  var base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;
@@ -1575,7 +1605,7 @@ var sha512_hex = /^[0-9a-fA-F]{128}$/;
1575
1605
  var sha512_base64 = /* @__PURE__ */ fixedBase64(86, "==");
1576
1606
  var sha512_base64url = /* @__PURE__ */ fixedBase64url(86);
1577
1607
 
1578
- // ../../node_modules/zod/v4/core/checks.js
1608
+ // node_modules/zod/v4/core/checks.js
1579
1609
  var $ZodCheck = /* @__PURE__ */ $constructor("$ZodCheck", (inst, def) => {
1580
1610
  var _a;
1581
1611
  inst._zod ?? (inst._zod = {});
@@ -2116,7 +2146,7 @@ var $ZodCheckOverwrite = /* @__PURE__ */ $constructor("$ZodCheckOverwrite", (ins
2116
2146
  };
2117
2147
  });
2118
2148
 
2119
- // ../../node_modules/zod/v4/core/doc.js
2149
+ // node_modules/zod/v4/core/doc.js
2120
2150
  class Doc {
2121
2151
  constructor(args = []) {
2122
2152
  this.content = [];
@@ -2154,14 +2184,14 @@ class Doc {
2154
2184
  }
2155
2185
  }
2156
2186
 
2157
- // ../../node_modules/zod/v4/core/versions.js
2187
+ // node_modules/zod/v4/core/versions.js
2158
2188
  var version = {
2159
2189
  major: 4,
2160
2190
  minor: 1,
2161
- patch: 12
2191
+ patch: 13
2162
2192
  };
2163
2193
 
2164
- // ../../node_modules/zod/v4/core/schemas.js
2194
+ // node_modules/zod/v4/core/schemas.js
2165
2195
  var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
2166
2196
  var _a;
2167
2197
  inst ?? (inst = {});
@@ -2335,7 +2365,7 @@ var $ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => {
2335
2365
  code: "invalid_format",
2336
2366
  format: "url",
2337
2367
  note: "Invalid hostname",
2338
- pattern: hostname.source,
2368
+ pattern: def.hostname.source,
2339
2369
  input: payload.value,
2340
2370
  inst,
2341
2371
  continue: !def.abort
@@ -2420,18 +2450,12 @@ var $ZodISODuration = /* @__PURE__ */ $constructor("$ZodISODuration", (inst, def
2420
2450
  var $ZodIPv4 = /* @__PURE__ */ $constructor("$ZodIPv4", (inst, def) => {
2421
2451
  def.pattern ?? (def.pattern = ipv4);
2422
2452
  $ZodStringFormat.init(inst, def);
2423
- inst._zod.onattach.push((inst2) => {
2424
- const bag = inst2._zod.bag;
2425
- bag.format = `ipv4`;
2426
- });
2453
+ inst._zod.bag.format = `ipv4`;
2427
2454
  });
2428
2455
  var $ZodIPv6 = /* @__PURE__ */ $constructor("$ZodIPv6", (inst, def) => {
2429
2456
  def.pattern ?? (def.pattern = ipv6);
2430
2457
  $ZodStringFormat.init(inst, def);
2431
- inst._zod.onattach.push((inst2) => {
2432
- const bag = inst2._zod.bag;
2433
- bag.format = `ipv6`;
2434
- });
2458
+ inst._zod.bag.format = `ipv6`;
2435
2459
  inst._zod.check = (payload) => {
2436
2460
  try {
2437
2461
  new URL(`http://[${payload.value}]`);
@@ -2446,6 +2470,11 @@ var $ZodIPv6 = /* @__PURE__ */ $constructor("$ZodIPv6", (inst, def) => {
2446
2470
  }
2447
2471
  };
2448
2472
  });
2473
+ var $ZodMAC = /* @__PURE__ */ $constructor("$ZodMAC", (inst, def) => {
2474
+ def.pattern ?? (def.pattern = mac(def.delimiter));
2475
+ $ZodStringFormat.init(inst, def);
2476
+ inst._zod.bag.format = `mac`;
2477
+ });
2449
2478
  var $ZodCIDRv4 = /* @__PURE__ */ $constructor("$ZodCIDRv4", (inst, def) => {
2450
2479
  def.pattern ?? (def.pattern = cidrv4);
2451
2480
  $ZodStringFormat.init(inst, def);
@@ -2493,9 +2522,7 @@ function isValidBase64(data) {
2493
2522
  var $ZodBase64 = /* @__PURE__ */ $constructor("$ZodBase64", (inst, def) => {
2494
2523
  def.pattern ?? (def.pattern = base64);
2495
2524
  $ZodStringFormat.init(inst, def);
2496
- inst._zod.onattach.push((inst2) => {
2497
- inst2._zod.bag.contentEncoding = "base64";
2498
- });
2525
+ inst._zod.bag.contentEncoding = "base64";
2499
2526
  inst._zod.check = (payload) => {
2500
2527
  if (isValidBase64(payload.value))
2501
2528
  return;
@@ -2518,9 +2545,7 @@ function isValidBase64URL(data) {
2518
2545
  var $ZodBase64URL = /* @__PURE__ */ $constructor("$ZodBase64URL", (inst, def) => {
2519
2546
  def.pattern ?? (def.pattern = base64url);
2520
2547
  $ZodStringFormat.init(inst, def);
2521
- inst._zod.onattach.push((inst2) => {
2522
- inst2._zod.bag.contentEncoding = "base64url";
2523
- });
2548
+ inst._zod.bag.contentEncoding = "base64url";
2524
2549
  inst._zod.check = (payload) => {
2525
2550
  if (isValidBase64URL(payload.value))
2526
2551
  return;
@@ -2608,7 +2633,7 @@ var $ZodNumber = /* @__PURE__ */ $constructor("$ZodNumber", (inst, def) => {
2608
2633
  return payload;
2609
2634
  };
2610
2635
  });
2611
- var $ZodNumberFormat = /* @__PURE__ */ $constructor("$ZodNumber", (inst, def) => {
2636
+ var $ZodNumberFormat = /* @__PURE__ */ $constructor("$ZodNumberFormat", (inst, def) => {
2612
2637
  $ZodCheckNumberFormat.init(inst, def);
2613
2638
  $ZodNumber.init(inst, def);
2614
2639
  });
@@ -2651,7 +2676,7 @@ var $ZodBigInt = /* @__PURE__ */ $constructor("$ZodBigInt", (inst, def) => {
2651
2676
  return payload;
2652
2677
  };
2653
2678
  });
2654
- var $ZodBigIntFormat = /* @__PURE__ */ $constructor("$ZodBigInt", (inst, def) => {
2679
+ var $ZodBigIntFormat = /* @__PURE__ */ $constructor("$ZodBigIntFormat", (inst, def) => {
2655
2680
  $ZodCheckBigIntFormat.init(inst, def);
2656
2681
  $ZodBigInt.init(inst, def);
2657
2682
  });
@@ -2836,7 +2861,7 @@ function handleCatchall(proms, input, payload, ctx, def, inst) {
2836
2861
  const keySet = def.keySet;
2837
2862
  const _catchall = def.catchall._zod;
2838
2863
  const t = _catchall.def.type;
2839
- for (const key of Object.keys(input)) {
2864
+ for (const key in input) {
2840
2865
  if (keySet.has(key))
2841
2866
  continue;
2842
2867
  if (t === "never") {
@@ -3211,7 +3236,6 @@ function handleIntersectionResults(result, left, right) {
3211
3236
  var $ZodTuple = /* @__PURE__ */ $constructor("$ZodTuple", (inst, def) => {
3212
3237
  $ZodType.init(inst, def);
3213
3238
  const items = def.items;
3214
- const optStart = items.length - [...items].reverse().findIndex((item) => item._zod.optin !== "optional");
3215
3239
  inst._zod.parse = (payload, ctx) => {
3216
3240
  const input = payload.value;
3217
3241
  if (!Array.isArray(input)) {
@@ -3225,6 +3249,8 @@ var $ZodTuple = /* @__PURE__ */ $constructor("$ZodTuple", (inst, def) => {
3225
3249
  }
3226
3250
  payload.value = [];
3227
3251
  const proms = [];
3252
+ const reversedIndex = [...items].reverse().findIndex((item) => item._zod.optin !== "optional");
3253
+ const optStart = reversedIndex === -1 ? 0 : items.length - reversedIndex;
3228
3254
  if (!def.rest) {
3229
3255
  const tooBig = input.length > items.length;
3230
3256
  const tooSmall = input.length < optStart - 1;
@@ -3295,11 +3321,13 @@ var $ZodRecord = /* @__PURE__ */ $constructor("$ZodRecord", (inst, def) => {
3295
3321
  return payload;
3296
3322
  }
3297
3323
  const proms = [];
3298
- if (def.keyType._zod.values) {
3299
- const values = def.keyType._zod.values;
3324
+ const values = def.keyType._zod.values;
3325
+ if (values) {
3300
3326
  payload.value = {};
3327
+ const recordKeys = new Set;
3301
3328
  for (const key of values) {
3302
3329
  if (typeof key === "string" || typeof key === "number" || typeof key === "symbol") {
3330
+ recordKeys.add(typeof key === "number" ? key.toString() : key);
3303
3331
  const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);
3304
3332
  if (result instanceof Promise) {
3305
3333
  proms.push(result.then((result2) => {
@@ -3318,7 +3346,7 @@ var $ZodRecord = /* @__PURE__ */ $constructor("$ZodRecord", (inst, def) => {
3318
3346
  }
3319
3347
  let unrecognized;
3320
3348
  for (const key in input) {
3321
- if (!values.has(key)) {
3349
+ if (!recordKeys.has(key)) {
3322
3350
  unrecognized = unrecognized ?? [];
3323
3351
  unrecognized.push(key);
3324
3352
  }
@@ -3493,11 +3521,12 @@ var $ZodLiteral = /* @__PURE__ */ $constructor("$ZodLiteral", (inst, def) => {
3493
3521
  if (def.values.length === 0) {
3494
3522
  throw new Error("Cannot create literal schema with no valid values");
3495
3523
  }
3496
- inst._zod.values = new Set(def.values);
3524
+ const values = new Set(def.values);
3525
+ inst._zod.values = values;
3497
3526
  inst._zod.pattern = new RegExp(`^(${def.values.map((o) => typeof o === "string" ? escapeRegex(o) : o ? escapeRegex(o.toString()) : String(o)).join("|")})$`);
3498
3527
  inst._zod.parse = (payload, _ctx) => {
3499
3528
  const input = payload.value;
3500
- if (inst._zod.values.has(input)) {
3529
+ if (values.has(input)) {
3501
3530
  return payload;
3502
3531
  }
3503
3532
  payload.issues.push({
@@ -3810,8 +3839,8 @@ var $ZodReadonly = /* @__PURE__ */ $constructor("$ZodReadonly", (inst, def) => {
3810
3839
  $ZodType.init(inst, def);
3811
3840
  defineLazy(inst._zod, "propValues", () => def.innerType._zod.propValues);
3812
3841
  defineLazy(inst._zod, "values", () => def.innerType._zod.values);
3813
- defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
3814
- defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
3842
+ defineLazy(inst._zod, "optin", () => def.innerType?._zod?.optin);
3843
+ defineLazy(inst._zod, "optout", () => def.innerType?._zod?.optout);
3815
3844
  inst._zod.parse = (payload, ctx) => {
3816
3845
  if (ctx.direction === "backward") {
3817
3846
  return def.innerType._zod.run(payload, ctx);
@@ -3958,10 +3987,10 @@ var $ZodPromise = /* @__PURE__ */ $constructor("$ZodPromise", (inst, def) => {
3958
3987
  var $ZodLazy = /* @__PURE__ */ $constructor("$ZodLazy", (inst, def) => {
3959
3988
  $ZodType.init(inst, def);
3960
3989
  defineLazy(inst._zod, "innerType", () => def.getter());
3961
- defineLazy(inst._zod, "pattern", () => inst._zod.innerType._zod.pattern);
3962
- defineLazy(inst._zod, "propValues", () => inst._zod.innerType._zod.propValues);
3963
- defineLazy(inst._zod, "optin", () => inst._zod.innerType._zod.optin ?? undefined);
3964
- defineLazy(inst._zod, "optout", () => inst._zod.innerType._zod.optout ?? undefined);
3990
+ defineLazy(inst._zod, "pattern", () => inst._zod.innerType?._zod?.pattern);
3991
+ defineLazy(inst._zod, "propValues", () => inst._zod.innerType?._zod?.propValues);
3992
+ defineLazy(inst._zod, "optin", () => inst._zod.innerType?._zod?.optin ?? undefined);
3993
+ defineLazy(inst._zod, "optout", () => inst._zod.innerType?._zod?.optout ?? undefined);
3965
3994
  inst._zod.parse = (payload, ctx) => {
3966
3995
  const inner = inst._zod.innerType;
3967
3996
  return inner._zod.run(payload, ctx);
@@ -3997,7 +4026,7 @@ function handleRefineResult(result, payload, input, inst) {
3997
4026
  payload.issues.push(issue(_iss));
3998
4027
  }
3999
4028
  }
4000
- // ../../node_modules/zod/v4/locales/index.js
4029
+ // node_modules/zod/v4/locales/index.js
4001
4030
  var exports_locales = {};
4002
4031
  __export(exports_locales, {
4003
4032
  zhTW: () => zh_TW_default,
@@ -4049,7 +4078,7 @@ __export(exports_locales, {
4049
4078
  ar: () => ar_default
4050
4079
  });
4051
4080
 
4052
- // ../../node_modules/zod/v4/locales/ar.js
4081
+ // node_modules/zod/v4/locales/ar.js
4053
4082
  var error = () => {
4054
4083
  const Sizable = {
4055
4084
  string: { unit: "حرف", verb: "أن يحوي" },
@@ -4165,7 +4194,7 @@ function ar_default() {
4165
4194
  localeError: error()
4166
4195
  };
4167
4196
  }
4168
- // ../../node_modules/zod/v4/locales/az.js
4197
+ // node_modules/zod/v4/locales/az.js
4169
4198
  var error2 = () => {
4170
4199
  const Sizable = {
4171
4200
  string: { unit: "simvol", verb: "olmalıdır" },
@@ -4280,7 +4309,7 @@ function az_default() {
4280
4309
  localeError: error2()
4281
4310
  };
4282
4311
  }
4283
- // ../../node_modules/zod/v4/locales/be.js
4312
+ // node_modules/zod/v4/locales/be.js
4284
4313
  function getBelarusianPlural(count, one, few, many) {
4285
4314
  const absCount = Math.abs(count);
4286
4315
  const lastDigit = absCount % 10;
@@ -4444,7 +4473,7 @@ function be_default() {
4444
4473
  localeError: error3()
4445
4474
  };
4446
4475
  }
4447
- // ../../node_modules/zod/v4/locales/bg.js
4476
+ // node_modules/zod/v4/locales/bg.js
4448
4477
  var parsedType = (data) => {
4449
4478
  const t = typeof data;
4450
4479
  switch (t) {
@@ -4572,7 +4601,7 @@ function bg_default() {
4572
4601
  localeError: error4()
4573
4602
  };
4574
4603
  }
4575
- // ../../node_modules/zod/v4/locales/ca.js
4604
+ // node_modules/zod/v4/locales/ca.js
4576
4605
  var error5 = () => {
4577
4606
  const Sizable = {
4578
4607
  string: { unit: "caràcters", verb: "contenir" },
@@ -4689,7 +4718,7 @@ function ca_default() {
4689
4718
  localeError: error5()
4690
4719
  };
4691
4720
  }
4692
- // ../../node_modules/zod/v4/locales/cs.js
4721
+ // node_modules/zod/v4/locales/cs.js
4693
4722
  var error6 = () => {
4694
4723
  const Sizable = {
4695
4724
  string: { unit: "znaků", verb: "mít" },
@@ -4824,7 +4853,7 @@ function cs_default() {
4824
4853
  localeError: error6()
4825
4854
  };
4826
4855
  }
4827
- // ../../node_modules/zod/v4/locales/da.js
4856
+ // node_modules/zod/v4/locales/da.js
4828
4857
  var error7 = () => {
4829
4858
  const Sizable = {
4830
4859
  string: { unit: "tegn", verb: "havde" },
@@ -4955,7 +4984,7 @@ function da_default() {
4955
4984
  localeError: error7()
4956
4985
  };
4957
4986
  }
4958
- // ../../node_modules/zod/v4/locales/de.js
4987
+ // node_modules/zod/v4/locales/de.js
4959
4988
  var error8 = () => {
4960
4989
  const Sizable = {
4961
4990
  string: { unit: "Zeichen", verb: "zu haben" },
@@ -5071,7 +5100,7 @@ function de_default() {
5071
5100
  localeError: error8()
5072
5101
  };
5073
5102
  }
5074
- // ../../node_modules/zod/v4/locales/en.js
5103
+ // node_modules/zod/v4/locales/en.js
5075
5104
  var parsedType2 = (data) => {
5076
5105
  const t = typeof data;
5077
5106
  switch (t) {
@@ -5123,6 +5152,7 @@ var error9 = () => {
5123
5152
  duration: "ISO duration",
5124
5153
  ipv4: "IPv4 address",
5125
5154
  ipv6: "IPv6 address",
5155
+ mac: "MAC address",
5126
5156
  cidrv4: "IPv4 range",
5127
5157
  cidrv6: "IPv6 range",
5128
5158
  base64: "base64-encoded string",
@@ -5188,7 +5218,7 @@ function en_default() {
5188
5218
  localeError: error9()
5189
5219
  };
5190
5220
  }
5191
- // ../../node_modules/zod/v4/locales/eo.js
5221
+ // node_modules/zod/v4/locales/eo.js
5192
5222
  var parsedType3 = (data) => {
5193
5223
  const t = typeof data;
5194
5224
  switch (t) {
@@ -5304,7 +5334,7 @@ function eo_default() {
5304
5334
  localeError: error10()
5305
5335
  };
5306
5336
  }
5307
- // ../../node_modules/zod/v4/locales/es.js
5337
+ // node_modules/zod/v4/locales/es.js
5308
5338
  var error11 = () => {
5309
5339
  const Sizable = {
5310
5340
  string: { unit: "caracteres", verb: "tener" },
@@ -5452,7 +5482,7 @@ function es_default() {
5452
5482
  localeError: error11()
5453
5483
  };
5454
5484
  }
5455
- // ../../node_modules/zod/v4/locales/fa.js
5485
+ // node_modules/zod/v4/locales/fa.js
5456
5486
  var error12 = () => {
5457
5487
  const Sizable = {
5458
5488
  string: { unit: "کاراکتر", verb: "داشته باشد" },
@@ -5574,7 +5604,7 @@ function fa_default() {
5574
5604
  localeError: error12()
5575
5605
  };
5576
5606
  }
5577
- // ../../node_modules/zod/v4/locales/fi.js
5607
+ // node_modules/zod/v4/locales/fi.js
5578
5608
  var error13 = () => {
5579
5609
  const Sizable = {
5580
5610
  string: { unit: "merkkiä", subject: "merkkijonon" },
@@ -5696,7 +5726,7 @@ function fi_default() {
5696
5726
  localeError: error13()
5697
5727
  };
5698
5728
  }
5699
- // ../../node_modules/zod/v4/locales/fr.js
5729
+ // node_modules/zod/v4/locales/fr.js
5700
5730
  var error14 = () => {
5701
5731
  const Sizable = {
5702
5732
  string: { unit: "caractères", verb: "avoir" },
@@ -5812,7 +5842,7 @@ function fr_default() {
5812
5842
  localeError: error14()
5813
5843
  };
5814
5844
  }
5815
- // ../../node_modules/zod/v4/locales/fr-CA.js
5845
+ // node_modules/zod/v4/locales/fr-CA.js
5816
5846
  var error15 = () => {
5817
5847
  const Sizable = {
5818
5848
  string: { unit: "caractères", verb: "avoir" },
@@ -5929,112 +5959,202 @@ function fr_CA_default() {
5929
5959
  localeError: error15()
5930
5960
  };
5931
5961
  }
5932
- // ../../node_modules/zod/v4/locales/he.js
5962
+ // node_modules/zod/v4/locales/he.js
5933
5963
  var error16 = () => {
5934
- const Sizable = {
5935
- string: { unit: "אותיות", verb: "לכלול" },
5936
- file: { unit: "בייטים", verb: "לכלול" },
5937
- array: { unit: "פריטים", verb: "לכלול" },
5938
- set: { unit: "פריטים", verb: "לכלול" }
5964
+ const TypeNames = {
5965
+ string: { label: "מחרוזת", gender: "f" },
5966
+ number: { label: "מספר", gender: "m" },
5967
+ boolean: { label: "ערך בוליאני", gender: "m" },
5968
+ bigint: { label: "BigInt", gender: "m" },
5969
+ date: { label: "תאריך", gender: "m" },
5970
+ array: { label: "מערך", gender: "m" },
5971
+ object: { label: "אובייקט", gender: "m" },
5972
+ null: { label: "ערך ריק (null)", gender: "m" },
5973
+ undefined: { label: "ערך לא מוגדר (undefined)", gender: "m" },
5974
+ symbol: { label: "סימבול (Symbol)", gender: "m" },
5975
+ function: { label: "פונקציה", gender: "f" },
5976
+ map: { label: "מפה (Map)", gender: "f" },
5977
+ set: { label: "קבוצה (Set)", gender: "f" },
5978
+ file: { label: "קובץ", gender: "m" },
5979
+ promise: { label: "Promise", gender: "m" },
5980
+ NaN: { label: "NaN", gender: "m" },
5981
+ unknown: { label: "ערך לא ידוע", gender: "m" },
5982
+ value: { label: "ערך", gender: "m" }
5939
5983
  };
5940
- function getSizing(origin) {
5984
+ const Sizable = {
5985
+ string: { unit: "תווים", shortLabel: "קצר", longLabel: "ארוך" },
5986
+ file: { unit: "בייטים", shortLabel: "קטן", longLabel: "גדול" },
5987
+ array: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
5988
+ set: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
5989
+ number: { unit: "", shortLabel: "קטן", longLabel: "גדול" }
5990
+ };
5991
+ const typeEntry = (t) => t ? TypeNames[t] : undefined;
5992
+ const typeLabel = (t) => {
5993
+ const e = typeEntry(t);
5994
+ if (e)
5995
+ return e.label;
5996
+ return t ?? TypeNames.unknown.label;
5997
+ };
5998
+ const withDefinite = (t) => `ה${typeLabel(t)}`;
5999
+ const verbFor = (t) => {
6000
+ const e = typeEntry(t);
6001
+ const gender = e?.gender ?? "m";
6002
+ return gender === "f" ? "צריכה להיות" : "צריך להיות";
6003
+ };
6004
+ const getSizing = (origin) => {
6005
+ if (!origin)
6006
+ return null;
5941
6007
  return Sizable[origin] ?? null;
5942
- }
6008
+ };
5943
6009
  const parsedType4 = (data) => {
5944
6010
  const t = typeof data;
5945
6011
  switch (t) {
5946
- case "number": {
6012
+ case "number":
5947
6013
  return Number.isNaN(data) ? "NaN" : "number";
5948
- }
5949
6014
  case "object": {
5950
- if (Array.isArray(data)) {
6015
+ if (Array.isArray(data))
5951
6016
  return "array";
5952
- }
5953
- if (data === null) {
6017
+ if (data === null)
5954
6018
  return "null";
5955
- }
5956
6019
  if (Object.getPrototypeOf(data) !== Object.prototype && data.constructor) {
5957
6020
  return data.constructor.name;
5958
6021
  }
6022
+ return "object";
5959
6023
  }
6024
+ default:
6025
+ return t;
5960
6026
  }
5961
- return t;
5962
6027
  };
5963
6028
  const Nouns = {
5964
- regex: "קלט",
5965
- email: "כתובת אימייל",
5966
- url: "כתובת רשת",
5967
- emoji: "אימוג'י",
5968
- uuid: "UUID",
5969
- uuidv4: "UUIDv4",
5970
- uuidv6: "UUIDv6",
5971
- nanoid: "nanoid",
5972
- guid: "GUID",
5973
- cuid: "cuid",
5974
- cuid2: "cuid2",
5975
- ulid: "ULID",
5976
- xid: "XID",
5977
- ksuid: "KSUID",
5978
- datetime: "תאריך וזמן ISO",
5979
- date: "תאריך ISO",
5980
- time: "זמן ISO",
5981
- duration: "משך זמן ISO",
5982
- ipv4: "כתובת IPv4",
5983
- ipv6: "כתובת IPv6",
5984
- cidrv4: "טווח IPv4",
5985
- cidrv6: "טווח IPv6",
5986
- base64: "מחרוזת בבסיס 64",
5987
- base64url: "מחרוזת בבסיס 64 לכתובות רשת",
5988
- json_string: "מחרוזת JSON",
5989
- e164: "מספר E.164",
5990
- jwt: "JWT",
5991
- template_literal: "קלט"
6029
+ regex: { label: "קלט", gender: "m" },
6030
+ email: { label: "כתובת אימייל", gender: "f" },
6031
+ url: { label: "כתובת רשת", gender: "f" },
6032
+ emoji: { label: "אימוג'י", gender: "m" },
6033
+ uuid: { label: "UUID", gender: "m" },
6034
+ nanoid: { label: "nanoid", gender: "m" },
6035
+ guid: { label: "GUID", gender: "m" },
6036
+ cuid: { label: "cuid", gender: "m" },
6037
+ cuid2: { label: "cuid2", gender: "m" },
6038
+ ulid: { label: "ULID", gender: "m" },
6039
+ xid: { label: "XID", gender: "m" },
6040
+ ksuid: { label: "KSUID", gender: "m" },
6041
+ datetime: { label: "תאריך וזמן ISO", gender: "m" },
6042
+ date: { label: "תאריך ISO", gender: "m" },
6043
+ time: { label: "זמן ISO", gender: "m" },
6044
+ duration: { label: "משך זמן ISO", gender: "m" },
6045
+ ipv4: { label: "כתובת IPv4", gender: "f" },
6046
+ ipv6: { label: "כתובת IPv6", gender: "f" },
6047
+ cidrv4: { label: "טווח IPv4", gender: "m" },
6048
+ cidrv6: { label: "טווח IPv6", gender: "m" },
6049
+ base64: { label: "מחרוזת בבסיס 64", gender: "f" },
6050
+ base64url: { label: "מחרוזת בבסיס 64 לכתובות רשת", gender: "f" },
6051
+ json_string: { label: "מחרוזת JSON", gender: "f" },
6052
+ e164: { label: "מספר E.164", gender: "m" },
6053
+ jwt: { label: "JWT", gender: "m" },
6054
+ ends_with: { label: "קלט", gender: "m" },
6055
+ includes: { label: "קלט", gender: "m" },
6056
+ lowercase: { label: "קלט", gender: "m" },
6057
+ starts_with: { label: "קלט", gender: "m" },
6058
+ uppercase: { label: "קלט", gender: "m" }
5992
6059
  };
5993
6060
  return (issue2) => {
5994
6061
  switch (issue2.code) {
5995
- case "invalid_type":
5996
- return `קלט לא תקין: צריך ${issue2.expected}, התקבל ${parsedType4(issue2.input)}`;
5997
- case "invalid_value":
5998
- if (issue2.values.length === 1)
5999
- return `קלט לא תקין: צריך ${stringifyPrimitive(issue2.values[0])}`;
6000
- return `קלט לא תקין: צריך אחת מהאפשרויות ${joinValues(issue2.values, "|")}`;
6062
+ case "invalid_type": {
6063
+ const expectedKey = issue2.expected;
6064
+ const expected = typeLabel(expectedKey);
6065
+ const receivedKey = parsedType4(issue2.input);
6066
+ const received = TypeNames[receivedKey]?.label ?? receivedKey;
6067
+ return `קלט לא תקין: צריך להיות ${expected}, התקבל ${received}`;
6068
+ }
6069
+ case "invalid_value": {
6070
+ if (issue2.values.length === 1) {
6071
+ return `ערך לא תקין: הערך חייב להיות ${stringifyPrimitive(issue2.values[0])}`;
6072
+ }
6073
+ const stringified = issue2.values.map((v) => stringifyPrimitive(v));
6074
+ if (issue2.values.length === 2) {
6075
+ return `ערך לא תקין: האפשרויות המתאימות הן ${stringified[0]} או ${stringified[1]}`;
6076
+ }
6077
+ const lastValue = stringified[stringified.length - 1];
6078
+ const restValues = stringified.slice(0, -1).join(", ");
6079
+ return `ערך לא תקין: האפשרויות המתאימות הן ${restValues} או ${lastValue}`;
6080
+ }
6001
6081
  case "too_big": {
6002
- const adj = issue2.inclusive ? "<=" : "<";
6003
6082
  const sizing = getSizing(issue2.origin);
6004
- if (sizing)
6005
- return `גדול מדי: ${issue2.origin ?? "value"} צריך להיות ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elements"}`;
6006
- return `גדול מדי: ${issue2.origin ?? "value"} צריך להיות ${adj}${issue2.maximum.toString()}`;
6083
+ const subject = withDefinite(issue2.origin ?? "value");
6084
+ if (issue2.origin === "string") {
6085
+ return `${sizing?.longLabel ?? "ארוך"} מדי: ${subject} צריכה להכיל ${issue2.maximum.toString()} ${sizing?.unit ?? ""} ${issue2.inclusive ? "או פחות" : "לכל היותר"}`.trim();
6086
+ }
6087
+ if (issue2.origin === "number") {
6088
+ const comparison = issue2.inclusive ? `קטן או שווה ל-${issue2.maximum}` : `קטן מ-${issue2.maximum}`;
6089
+ return `גדול מדי: ${subject} צריך להיות ${comparison}`;
6090
+ }
6091
+ if (issue2.origin === "array" || issue2.origin === "set") {
6092
+ const verb = issue2.origin === "set" ? "צריכה" : "צריך";
6093
+ const comparison = issue2.inclusive ? `${issue2.maximum} ${sizing?.unit ?? ""} או פחות` : `פחות מ-${issue2.maximum} ${sizing?.unit ?? ""}`;
6094
+ return `גדול מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
6095
+ }
6096
+ const adj = issue2.inclusive ? "<=" : "<";
6097
+ const be = verbFor(issue2.origin ?? "value");
6098
+ if (sizing?.unit) {
6099
+ return `${sizing.longLabel} מדי: ${subject} ${be} ${adj}${issue2.maximum.toString()} ${sizing.unit}`;
6100
+ }
6101
+ return `${sizing?.longLabel ?? "גדול"} מדי: ${subject} ${be} ${adj}${issue2.maximum.toString()}`;
6007
6102
  }
6008
6103
  case "too_small": {
6009
- const adj = issue2.inclusive ? ">=" : ">";
6010
6104
  const sizing = getSizing(issue2.origin);
6011
- if (sizing) {
6012
- return `קטן מדי: ${issue2.origin} צריך להיות ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
6105
+ const subject = withDefinite(issue2.origin ?? "value");
6106
+ if (issue2.origin === "string") {
6107
+ return `${sizing?.shortLabel ?? "קצר"} מדי: ${subject} צריכה להכיל ${issue2.minimum.toString()} ${sizing?.unit ?? ""} ${issue2.inclusive ? "או יותר" : "לפחות"}`.trim();
6108
+ }
6109
+ if (issue2.origin === "number") {
6110
+ const comparison = issue2.inclusive ? `גדול או שווה ל-${issue2.minimum}` : `גדול מ-${issue2.minimum}`;
6111
+ return `קטן מדי: ${subject} צריך להיות ${comparison}`;
6112
+ }
6113
+ if (issue2.origin === "array" || issue2.origin === "set") {
6114
+ const verb = issue2.origin === "set" ? "צריכה" : "צריך";
6115
+ if (issue2.minimum === 1 && issue2.inclusive) {
6116
+ const singularPhrase = issue2.origin === "set" ? "לפחות פריט אחד" : "לפחות פריט אחד";
6117
+ return `קטן מדי: ${subject} ${verb} להכיל ${singularPhrase}`;
6118
+ }
6119
+ const comparison = issue2.inclusive ? `${issue2.minimum} ${sizing?.unit ?? ""} או יותר` : `יותר מ-${issue2.minimum} ${sizing?.unit ?? ""}`;
6120
+ return `קטן מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
6013
6121
  }
6014
- return `קטן מדי: ${issue2.origin} צריך להיות ${adj}${issue2.minimum.toString()}`;
6122
+ const adj = issue2.inclusive ? ">=" : ">";
6123
+ const be = verbFor(issue2.origin ?? "value");
6124
+ if (sizing?.unit) {
6125
+ return `${sizing.shortLabel} מדי: ${subject} ${be} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
6126
+ }
6127
+ return `${sizing?.shortLabel ?? "קטן"} מדי: ${subject} ${be} ${adj}${issue2.minimum.toString()}`;
6015
6128
  }
6016
6129
  case "invalid_format": {
6017
6130
  const _issue = issue2;
6018
6131
  if (_issue.format === "starts_with")
6019
- return `מחרוזת לא תקינה: חייבת להתחיל ב"${_issue.prefix}"`;
6132
+ return `המחרוזת חייבת להתחיל ב "${_issue.prefix}"`;
6020
6133
  if (_issue.format === "ends_with")
6021
- return `מחרוזת לא תקינה: חייבת להסתיים ב "${_issue.suffix}"`;
6134
+ return `המחרוזת חייבת להסתיים ב "${_issue.suffix}"`;
6022
6135
  if (_issue.format === "includes")
6023
- return `מחרוזת לא תקינה: חייבת לכלול "${_issue.includes}"`;
6136
+ return `המחרוזת חייבת לכלול "${_issue.includes}"`;
6024
6137
  if (_issue.format === "regex")
6025
- return `מחרוזת לא תקינה: חייבת להתאים לתבנית ${_issue.pattern}`;
6026
- return `${Nouns[_issue.format] ?? issue2.format} לא תקין`;
6138
+ return `המחרוזת חייבת להתאים לתבנית ${_issue.pattern}`;
6139
+ const nounEntry = Nouns[_issue.format];
6140
+ const noun = nounEntry?.label ?? _issue.format;
6141
+ const gender = nounEntry?.gender ?? "m";
6142
+ const adjective = gender === "f" ? "תקינה" : "תקין";
6143
+ return `${noun} לא ${adjective}`;
6027
6144
  }
6028
6145
  case "not_multiple_of":
6029
6146
  return `מספר לא תקין: חייב להיות מכפלה של ${issue2.divisor}`;
6030
6147
  case "unrecognized_keys":
6031
6148
  return `מפתח${issue2.keys.length > 1 ? "ות" : ""} לא מזוה${issue2.keys.length > 1 ? "ים" : "ה"}: ${joinValues(issue2.keys, ", ")}`;
6032
- case "invalid_key":
6033
- return `מפתח לא תקין ב${issue2.origin}`;
6149
+ case "invalid_key": {
6150
+ return `שדה לא תקין באובייקט`;
6151
+ }
6034
6152
  case "invalid_union":
6035
6153
  return "קלט לא תקין";
6036
- case "invalid_element":
6037
- return `ערך לא תקין ב${issue2.origin}`;
6154
+ case "invalid_element": {
6155
+ const place = withDefinite(issue2.origin ?? "array");
6156
+ return `ערך לא תקין ב${place}`;
6157
+ }
6038
6158
  default:
6039
6159
  return `קלט לא תקין`;
6040
6160
  }
@@ -6045,7 +6165,7 @@ function he_default() {
6045
6165
  localeError: error16()
6046
6166
  };
6047
6167
  }
6048
- // ../../node_modules/zod/v4/locales/hu.js
6168
+ // node_modules/zod/v4/locales/hu.js
6049
6169
  var error17 = () => {
6050
6170
  const Sizable = {
6051
6171
  string: { unit: "karakter", verb: "legyen" },
@@ -6161,7 +6281,7 @@ function hu_default() {
6161
6281
  localeError: error17()
6162
6282
  };
6163
6283
  }
6164
- // ../../node_modules/zod/v4/locales/id.js
6284
+ // node_modules/zod/v4/locales/id.js
6165
6285
  var error18 = () => {
6166
6286
  const Sizable = {
6167
6287
  string: { unit: "karakter", verb: "memiliki" },
@@ -6277,7 +6397,7 @@ function id_default() {
6277
6397
  localeError: error18()
6278
6398
  };
6279
6399
  }
6280
- // ../../node_modules/zod/v4/locales/is.js
6400
+ // node_modules/zod/v4/locales/is.js
6281
6401
  var parsedType4 = (data) => {
6282
6402
  const t = typeof data;
6283
6403
  switch (t) {
@@ -6394,7 +6514,7 @@ function is_default() {
6394
6514
  localeError: error19()
6395
6515
  };
6396
6516
  }
6397
- // ../../node_modules/zod/v4/locales/it.js
6517
+ // node_modules/zod/v4/locales/it.js
6398
6518
  var error20 = () => {
6399
6519
  const Sizable = {
6400
6520
  string: { unit: "caratteri", verb: "avere" },
@@ -6510,7 +6630,7 @@ function it_default() {
6510
6630
  localeError: error20()
6511
6631
  };
6512
6632
  }
6513
- // ../../node_modules/zod/v4/locales/ja.js
6633
+ // node_modules/zod/v4/locales/ja.js
6514
6634
  var error21 = () => {
6515
6635
  const Sizable = {
6516
6636
  string: { unit: "文字", verb: "である" },
@@ -6625,7 +6745,7 @@ function ja_default() {
6625
6745
  localeError: error21()
6626
6746
  };
6627
6747
  }
6628
- // ../../node_modules/zod/v4/locales/ka.js
6748
+ // node_modules/zod/v4/locales/ka.js
6629
6749
  var parsedType5 = (data) => {
6630
6750
  const t = typeof data;
6631
6751
  switch (t) {
@@ -6750,7 +6870,7 @@ function ka_default() {
6750
6870
  localeError: error22()
6751
6871
  };
6752
6872
  }
6753
- // ../../node_modules/zod/v4/locales/km.js
6873
+ // node_modules/zod/v4/locales/km.js
6754
6874
  var error23 = () => {
6755
6875
  const Sizable = {
6756
6876
  string: { unit: "តួអក្សរ", verb: "គួរមាន" },
@@ -6868,11 +6988,11 @@ function km_default() {
6868
6988
  };
6869
6989
  }
6870
6990
 
6871
- // ../../node_modules/zod/v4/locales/kh.js
6991
+ // node_modules/zod/v4/locales/kh.js
6872
6992
  function kh_default() {
6873
6993
  return km_default();
6874
6994
  }
6875
- // ../../node_modules/zod/v4/locales/ko.js
6995
+ // node_modules/zod/v4/locales/ko.js
6876
6996
  var error24 = () => {
6877
6997
  const Sizable = {
6878
6998
  string: { unit: "문자", verb: "to have" },
@@ -6993,7 +7113,7 @@ function ko_default() {
6993
7113
  localeError: error24()
6994
7114
  };
6995
7115
  }
6996
- // ../../node_modules/zod/v4/locales/lt.js
7116
+ // node_modules/zod/v4/locales/lt.js
6997
7117
  var parsedType6 = (data) => {
6998
7118
  const t = typeof data;
6999
7119
  return parsedTypeFromType(t, data);
@@ -7222,7 +7342,7 @@ function lt_default() {
7222
7342
  localeError: error25()
7223
7343
  };
7224
7344
  }
7225
- // ../../node_modules/zod/v4/locales/mk.js
7345
+ // node_modules/zod/v4/locales/mk.js
7226
7346
  var error26 = () => {
7227
7347
  const Sizable = {
7228
7348
  string: { unit: "знаци", verb: "да имаат" },
@@ -7339,7 +7459,7 @@ function mk_default() {
7339
7459
  localeError: error26()
7340
7460
  };
7341
7461
  }
7342
- // ../../node_modules/zod/v4/locales/ms.js
7462
+ // node_modules/zod/v4/locales/ms.js
7343
7463
  var error27 = () => {
7344
7464
  const Sizable = {
7345
7465
  string: { unit: "aksara", verb: "mempunyai" },
@@ -7455,13 +7575,13 @@ function ms_default() {
7455
7575
  localeError: error27()
7456
7576
  };
7457
7577
  }
7458
- // ../../node_modules/zod/v4/locales/nl.js
7578
+ // node_modules/zod/v4/locales/nl.js
7459
7579
  var error28 = () => {
7460
7580
  const Sizable = {
7461
- string: { unit: "tekens" },
7462
- file: { unit: "bytes" },
7463
- array: { unit: "elementen" },
7464
- set: { unit: "elementen" }
7581
+ string: { unit: "tekens", verb: "te hebben" },
7582
+ file: { unit: "bytes", verb: "te hebben" },
7583
+ array: { unit: "elementen", verb: "te hebben" },
7584
+ set: { unit: "elementen", verb: "te hebben" }
7465
7585
  };
7466
7586
  function getSizing(origin) {
7467
7587
  return Sizable[origin] ?? null;
@@ -7528,16 +7648,16 @@ var error28 = () => {
7528
7648
  const adj = issue2.inclusive ? "<=" : "<";
7529
7649
  const sizing = getSizing(issue2.origin);
7530
7650
  if (sizing)
7531
- return `Te lang: verwacht dat ${issue2.origin ?? "waarde"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementen"} bevat`;
7532
- return `Te lang: verwacht dat ${issue2.origin ?? "waarde"} ${adj}${issue2.maximum.toString()} is`;
7651
+ return `Te groot: verwacht dat ${issue2.origin ?? "waarde"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementen"}`;
7652
+ return `Te groot: verwacht dat ${issue2.origin ?? "waarde"} ${adj}${issue2.maximum.toString()} is`;
7533
7653
  }
7534
7654
  case "too_small": {
7535
7655
  const adj = issue2.inclusive ? ">=" : ">";
7536
7656
  const sizing = getSizing(issue2.origin);
7537
7657
  if (sizing) {
7538
- return `Te kort: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} bevat`;
7658
+ return `Te klein: verwacht dat ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
7539
7659
  }
7540
- return `Te kort: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} is`;
7660
+ return `Te klein: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} is`;
7541
7661
  }
7542
7662
  case "invalid_format": {
7543
7663
  const _issue = issue2;
@@ -7572,7 +7692,7 @@ function nl_default() {
7572
7692
  localeError: error28()
7573
7693
  };
7574
7694
  }
7575
- // ../../node_modules/zod/v4/locales/no.js
7695
+ // node_modules/zod/v4/locales/no.js
7576
7696
  var error29 = () => {
7577
7697
  const Sizable = {
7578
7698
  string: { unit: "tegn", verb: "å ha" },
@@ -7688,7 +7808,7 @@ function no_default() {
7688
7808
  localeError: error29()
7689
7809
  };
7690
7810
  }
7691
- // ../../node_modules/zod/v4/locales/ota.js
7811
+ // node_modules/zod/v4/locales/ota.js
7692
7812
  var error30 = () => {
7693
7813
  const Sizable = {
7694
7814
  string: { unit: "harf", verb: "olmalıdır" },
@@ -7804,7 +7924,7 @@ function ota_default() {
7804
7924
  localeError: error30()
7805
7925
  };
7806
7926
  }
7807
- // ../../node_modules/zod/v4/locales/ps.js
7927
+ // node_modules/zod/v4/locales/ps.js
7808
7928
  var error31 = () => {
7809
7929
  const Sizable = {
7810
7930
  string: { unit: "توکي", verb: "ولري" },
@@ -7926,7 +8046,7 @@ function ps_default() {
7926
8046
  localeError: error31()
7927
8047
  };
7928
8048
  }
7929
- // ../../node_modules/zod/v4/locales/pl.js
8049
+ // node_modules/zod/v4/locales/pl.js
7930
8050
  var error32 = () => {
7931
8051
  const Sizable = {
7932
8052
  string: { unit: "znaków", verb: "mieć" },
@@ -8043,7 +8163,7 @@ function pl_default() {
8043
8163
  localeError: error32()
8044
8164
  };
8045
8165
  }
8046
- // ../../node_modules/zod/v4/locales/pt.js
8166
+ // node_modules/zod/v4/locales/pt.js
8047
8167
  var error33 = () => {
8048
8168
  const Sizable = {
8049
8169
  string: { unit: "caracteres", verb: "ter" },
@@ -8159,7 +8279,7 @@ function pt_default() {
8159
8279
  localeError: error33()
8160
8280
  };
8161
8281
  }
8162
- // ../../node_modules/zod/v4/locales/ru.js
8282
+ // node_modules/zod/v4/locales/ru.js
8163
8283
  function getRussianPlural(count, one, few, many) {
8164
8284
  const absCount = Math.abs(count);
8165
8285
  const lastDigit = absCount % 10;
@@ -8323,7 +8443,7 @@ function ru_default() {
8323
8443
  localeError: error34()
8324
8444
  };
8325
8445
  }
8326
- // ../../node_modules/zod/v4/locales/sl.js
8446
+ // node_modules/zod/v4/locales/sl.js
8327
8447
  var error35 = () => {
8328
8448
  const Sizable = {
8329
8449
  string: { unit: "znakov", verb: "imeti" },
@@ -8440,7 +8560,7 @@ function sl_default() {
8440
8560
  localeError: error35()
8441
8561
  };
8442
8562
  }
8443
- // ../../node_modules/zod/v4/locales/sv.js
8563
+ // node_modules/zod/v4/locales/sv.js
8444
8564
  var error36 = () => {
8445
8565
  const Sizable = {
8446
8566
  string: { unit: "tecken", verb: "att ha" },
@@ -8558,7 +8678,7 @@ function sv_default() {
8558
8678
  localeError: error36()
8559
8679
  };
8560
8680
  }
8561
- // ../../node_modules/zod/v4/locales/ta.js
8681
+ // node_modules/zod/v4/locales/ta.js
8562
8682
  var error37 = () => {
8563
8683
  const Sizable = {
8564
8684
  string: { unit: "எழுத்துக்கள்", verb: "கொண்டிருக்க வேண்டும்" },
@@ -8675,7 +8795,7 @@ function ta_default() {
8675
8795
  localeError: error37()
8676
8796
  };
8677
8797
  }
8678
- // ../../node_modules/zod/v4/locales/th.js
8798
+ // node_modules/zod/v4/locales/th.js
8679
8799
  var error38 = () => {
8680
8800
  const Sizable = {
8681
8801
  string: { unit: "ตัวอักษร", verb: "ควรมี" },
@@ -8792,7 +8912,7 @@ function th_default() {
8792
8912
  localeError: error38()
8793
8913
  };
8794
8914
  }
8795
- // ../../node_modules/zod/v4/locales/tr.js
8915
+ // node_modules/zod/v4/locales/tr.js
8796
8916
  var parsedType7 = (data) => {
8797
8917
  const t = typeof data;
8798
8918
  switch (t) {
@@ -8907,7 +9027,7 @@ function tr_default() {
8907
9027
  localeError: error39()
8908
9028
  };
8909
9029
  }
8910
- // ../../node_modules/zod/v4/locales/uk.js
9030
+ // node_modules/zod/v4/locales/uk.js
8911
9031
  var error40 = () => {
8912
9032
  const Sizable = {
8913
9033
  string: { unit: "символів", verb: "матиме" },
@@ -9024,11 +9144,11 @@ function uk_default() {
9024
9144
  };
9025
9145
  }
9026
9146
 
9027
- // ../../node_modules/zod/v4/locales/ua.js
9147
+ // node_modules/zod/v4/locales/ua.js
9028
9148
  function ua_default() {
9029
9149
  return uk_default();
9030
9150
  }
9031
- // ../../node_modules/zod/v4/locales/ur.js
9151
+ // node_modules/zod/v4/locales/ur.js
9032
9152
  var error41 = () => {
9033
9153
  const Sizable = {
9034
9154
  string: { unit: "حروف", verb: "ہونا" },
@@ -9145,7 +9265,7 @@ function ur_default() {
9145
9265
  localeError: error41()
9146
9266
  };
9147
9267
  }
9148
- // ../../node_modules/zod/v4/locales/vi.js
9268
+ // node_modules/zod/v4/locales/vi.js
9149
9269
  var error42 = () => {
9150
9270
  const Sizable = {
9151
9271
  string: { unit: "ký tự", verb: "có" },
@@ -9261,7 +9381,7 @@ function vi_default() {
9261
9381
  localeError: error42()
9262
9382
  };
9263
9383
  }
9264
- // ../../node_modules/zod/v4/locales/zh-CN.js
9384
+ // node_modules/zod/v4/locales/zh-CN.js
9265
9385
  var error43 = () => {
9266
9386
  const Sizable = {
9267
9387
  string: { unit: "字符", verb: "包含" },
@@ -9377,7 +9497,7 @@ function zh_CN_default() {
9377
9497
  localeError: error43()
9378
9498
  };
9379
9499
  }
9380
- // ../../node_modules/zod/v4/locales/zh-TW.js
9500
+ // node_modules/zod/v4/locales/zh-TW.js
9381
9501
  var error44 = () => {
9382
9502
  const Sizable = {
9383
9503
  string: { unit: "字元", verb: "擁有" },
@@ -9494,7 +9614,7 @@ function zh_TW_default() {
9494
9614
  localeError: error44()
9495
9615
  };
9496
9616
  }
9497
- // ../../node_modules/zod/v4/locales/yo.js
9617
+ // node_modules/zod/v4/locales/yo.js
9498
9618
  var error45 = () => {
9499
9619
  const Sizable = {
9500
9620
  string: { unit: "àmi", verb: "ní" },
@@ -9609,7 +9729,8 @@ function yo_default() {
9609
9729
  localeError: error45()
9610
9730
  };
9611
9731
  }
9612
- // ../../node_modules/zod/v4/core/registries.js
9732
+ // node_modules/zod/v4/core/registries.js
9733
+ var _a;
9613
9734
  var $output = Symbol("ZodOutput");
9614
9735
  var $input = Symbol("ZodInput");
9615
9736
 
@@ -9659,8 +9780,9 @@ class $ZodRegistry {
9659
9780
  function registry() {
9660
9781
  return new $ZodRegistry;
9661
9782
  }
9662
- var globalRegistry = /* @__PURE__ */ registry();
9663
- // ../../node_modules/zod/v4/core/api.js
9783
+ (_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());
9784
+ var globalRegistry = globalThis.__zod_globalRegistry;
9785
+ // node_modules/zod/v4/core/api.js
9664
9786
  function _string(Class2, params) {
9665
9787
  return new Class2({
9666
9788
  type: "string",
@@ -9821,6 +9943,15 @@ function _ipv6(Class2, params) {
9821
9943
  ...normalizeParams(params)
9822
9944
  });
9823
9945
  }
9946
+ function _mac(Class2, params) {
9947
+ return new Class2({
9948
+ type: "string",
9949
+ format: "mac",
9950
+ check: "string_format",
9951
+ abort: false,
9952
+ ...normalizeParams(params)
9953
+ });
9954
+ }
9824
9955
  function _cidrv4(Class2, params) {
9825
9956
  return new Class2({
9826
9957
  type: "string",
@@ -10254,6 +10385,9 @@ function _toLowerCase() {
10254
10385
  function _toUpperCase() {
10255
10386
  return _overwrite((input) => input.toUpperCase());
10256
10387
  }
10388
+ function _slugify() {
10389
+ return _overwrite((input) => slugify(input));
10390
+ }
10257
10391
  function _array(Class2, element, params) {
10258
10392
  return new Class2({
10259
10393
  type: "array",
@@ -10472,6 +10606,28 @@ function _check(fn, params) {
10472
10606
  ch._zod.check = fn;
10473
10607
  return ch;
10474
10608
  }
10609
+ function describe(description) {
10610
+ const ch = new $ZodCheck({ check: "describe" });
10611
+ ch._zod.onattach = [
10612
+ (inst) => {
10613
+ const existing = globalRegistry.get(inst) ?? {};
10614
+ globalRegistry.add(inst, { ...existing, description });
10615
+ }
10616
+ ];
10617
+ ch._zod.check = () => {};
10618
+ return ch;
10619
+ }
10620
+ function meta(metadata) {
10621
+ const ch = new $ZodCheck({ check: "meta" });
10622
+ ch._zod.onattach = [
10623
+ (inst) => {
10624
+ const existing = globalRegistry.get(inst) ?? {};
10625
+ globalRegistry.add(inst, { ...existing, ...metadata });
10626
+ }
10627
+ ];
10628
+ ch._zod.check = () => {};
10629
+ return ch;
10630
+ }
10475
10631
  function _stringbool(Classes, _params) {
10476
10632
  const params = normalizeParams(_params);
10477
10633
  let truthyArray = params.truthy ?? ["true", "1", "yes", "on", "y", "enabled"];
@@ -10538,7 +10694,7 @@ function _stringFormat(Class2, format, fnOrRegex, _params = {}) {
10538
10694
  const inst = new Class2(def);
10539
10695
  return inst;
10540
10696
  }
10541
- // ../../node_modules/zod/v4/core/to-json-schema.js
10697
+ // node_modules/zod/v4/core/to-json-schema.js
10542
10698
  class JSONSchemaGenerator {
10543
10699
  constructor(params) {
10544
10700
  this.counter = 0;
@@ -10550,7 +10706,7 @@ class JSONSchemaGenerator {
10550
10706
  this.seen = new Map;
10551
10707
  }
10552
10708
  process(schema, _params = { path: [], schemaPath: [] }) {
10553
- var _a;
10709
+ var _a2;
10554
10710
  const def = schema._zod.def;
10555
10711
  const formatMap = {
10556
10712
  guid: "uuid",
@@ -10765,11 +10921,16 @@ class JSONSchemaGenerator {
10765
10921
  }
10766
10922
  case "union": {
10767
10923
  const json = _json;
10924
+ const isDiscriminated = def.discriminator !== undefined;
10768
10925
  const options = def.options.map((x, i) => this.process(x, {
10769
10926
  ...params,
10770
- path: [...params.path, "anyOf", i]
10927
+ path: [...params.path, isDiscriminated ? "oneOf" : "anyOf", i]
10771
10928
  }));
10772
- json.anyOf = options;
10929
+ if (isDiscriminated) {
10930
+ json.oneOf = options;
10931
+ } else {
10932
+ json.anyOf = options;
10933
+ }
10773
10934
  break;
10774
10935
  }
10775
10936
  case "intersection": {
@@ -11045,15 +11206,15 @@ class JSONSchemaGenerator {
11045
11206
  }
11046
11207
  }
11047
11208
  }
11048
- const meta = this.metadataRegistry.get(schema);
11049
- if (meta)
11050
- Object.assign(result.schema, meta);
11209
+ const meta2 = this.metadataRegistry.get(schema);
11210
+ if (meta2)
11211
+ Object.assign(result.schema, meta2);
11051
11212
  if (this.io === "input" && isTransforming(schema)) {
11052
11213
  delete result.schema.examples;
11053
11214
  delete result.schema.default;
11054
11215
  }
11055
11216
  if (this.io === "input" && result.schema._prefault)
11056
- (_a = result.schema).default ?? (_a.default = result.schema._prefault);
11217
+ (_a2 = result.schema).default ?? (_a2.default = result.schema._prefault);
11057
11218
  delete result.schema._prefault;
11058
11219
  const _result = this.seen.get(schema);
11059
11220
  return _result.schema;
@@ -11247,104 +11408,55 @@ function isTransforming(_schema, _ctx) {
11247
11408
  if (ctx.seen.has(_schema))
11248
11409
  return false;
11249
11410
  ctx.seen.add(_schema);
11250
- const schema = _schema;
11251
- const def = schema._zod.def;
11252
- switch (def.type) {
11253
- case "string":
11254
- case "number":
11255
- case "bigint":
11256
- case "boolean":
11257
- case "date":
11258
- case "symbol":
11259
- case "undefined":
11260
- case "null":
11261
- case "any":
11262
- case "unknown":
11263
- case "never":
11264
- case "void":
11265
- case "literal":
11266
- case "enum":
11267
- case "nan":
11268
- case "file":
11269
- case "template_literal":
11270
- return false;
11271
- case "array": {
11272
- return isTransforming(def.element, ctx);
11273
- }
11274
- case "object": {
11275
- for (const key in def.shape) {
11276
- if (isTransforming(def.shape[key], ctx))
11277
- return true;
11278
- }
11279
- return false;
11280
- }
11281
- case "union": {
11282
- for (const option of def.options) {
11283
- if (isTransforming(option, ctx))
11284
- return true;
11285
- }
11286
- return false;
11287
- }
11288
- case "intersection": {
11289
- return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);
11290
- }
11291
- case "tuple": {
11292
- for (const item of def.items) {
11293
- if (isTransforming(item, ctx))
11294
- return true;
11295
- }
11296
- if (def.rest && isTransforming(def.rest, ctx))
11411
+ const def = _schema._zod.def;
11412
+ if (def.type === "transform")
11413
+ return true;
11414
+ if (def.type === "array")
11415
+ return isTransforming(def.element, ctx);
11416
+ if (def.type === "set")
11417
+ return isTransforming(def.valueType, ctx);
11418
+ if (def.type === "lazy")
11419
+ return isTransforming(def.getter(), ctx);
11420
+ if (def.type === "promise" || def.type === "optional" || def.type === "nonoptional" || def.type === "nullable" || def.type === "readonly" || def.type === "default" || def.type === "prefault") {
11421
+ return isTransforming(def.innerType, ctx);
11422
+ }
11423
+ if (def.type === "intersection") {
11424
+ return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);
11425
+ }
11426
+ if (def.type === "record" || def.type === "map") {
11427
+ return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);
11428
+ }
11429
+ if (def.type === "pipe") {
11430
+ return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);
11431
+ }
11432
+ if (def.type === "object") {
11433
+ for (const key in def.shape) {
11434
+ if (isTransforming(def.shape[key], ctx))
11297
11435
  return true;
11298
- return false;
11299
- }
11300
- case "record": {
11301
- return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);
11302
- }
11303
- case "map": {
11304
- return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);
11305
11436
  }
11306
- case "set": {
11307
- return isTransforming(def.valueType, ctx);
11308
- }
11309
- case "promise":
11310
- case "optional":
11311
- case "nonoptional":
11312
- case "nullable":
11313
- case "readonly":
11314
- return isTransforming(def.innerType, ctx);
11315
- case "lazy":
11316
- return isTransforming(def.getter(), ctx);
11317
- case "default": {
11318
- return isTransforming(def.innerType, ctx);
11319
- }
11320
- case "prefault": {
11321
- return isTransforming(def.innerType, ctx);
11437
+ return false;
11438
+ }
11439
+ if (def.type === "union") {
11440
+ for (const option of def.options) {
11441
+ if (isTransforming(option, ctx))
11442
+ return true;
11322
11443
  }
11323
- case "custom": {
11324
- return false;
11444
+ return false;
11445
+ }
11446
+ if (def.type === "tuple") {
11447
+ for (const item of def.items) {
11448
+ if (isTransforming(item, ctx))
11449
+ return true;
11325
11450
  }
11326
- case "transform": {
11451
+ if (def.rest && isTransforming(def.rest, ctx))
11327
11452
  return true;
11328
- }
11329
- case "pipe": {
11330
- return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);
11331
- }
11332
- case "success": {
11333
- return false;
11334
- }
11335
- case "catch": {
11336
- return false;
11337
- }
11338
- case "function": {
11339
- return false;
11340
- }
11341
- default:
11453
+ return false;
11342
11454
  }
11343
- throw new Error(`Unknown schema type: ${def.type}`);
11455
+ return false;
11344
11456
  }
11345
- // ../../node_modules/zod/v4/core/json-schema.js
11457
+ // node_modules/zod/v4/core/json-schema.js
11346
11458
  var exports_json_schema = {};
11347
- // ../../node_modules/zod/v4/classic/iso.js
11459
+ // node_modules/zod/v4/classic/iso.js
11348
11460
  var exports_iso = {};
11349
11461
  __export(exports_iso, {
11350
11462
  time: () => time2,
@@ -11385,7 +11497,7 @@ function duration2(params) {
11385
11497
  return _isoDuration(ZodISODuration, params);
11386
11498
  }
11387
11499
 
11388
- // ../../node_modules/zod/v4/classic/errors.js
11500
+ // node_modules/zod/v4/classic/errors.js
11389
11501
  var initializer2 = (inst, issues) => {
11390
11502
  $ZodError.init(inst, issues);
11391
11503
  inst.name = "ZodError";
@@ -11420,7 +11532,7 @@ var ZodRealError = $constructor("ZodError", initializer2, {
11420
11532
  Parent: Error
11421
11533
  });
11422
11534
 
11423
- // ../../node_modules/zod/v4/classic/parse.js
11535
+ // node_modules/zod/v4/classic/parse.js
11424
11536
  var parse3 = /* @__PURE__ */ _parse(ZodRealError);
11425
11537
  var parseAsync2 = /* @__PURE__ */ _parseAsync(ZodRealError);
11426
11538
  var safeParse2 = /* @__PURE__ */ _safeParse(ZodRealError);
@@ -11434,7 +11546,7 @@ var safeDecode2 = /* @__PURE__ */ _safeDecode(ZodRealError);
11434
11546
  var safeEncodeAsync2 = /* @__PURE__ */ _safeEncodeAsync(ZodRealError);
11435
11547
  var safeDecodeAsync2 = /* @__PURE__ */ _safeDecodeAsync(ZodRealError);
11436
11548
 
11437
- // ../../node_modules/zod/v4/classic/schemas.js
11549
+ // node_modules/zod/v4/classic/schemas.js
11438
11550
  var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
11439
11551
  $ZodType.init(inst, def);
11440
11552
  inst.def = def;
@@ -11450,8 +11562,8 @@ var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
11450
11562
  };
11451
11563
  inst.clone = (def2, params) => clone(inst, def2, params);
11452
11564
  inst.brand = () => inst;
11453
- inst.register = (reg, meta) => {
11454
- reg.add(inst, meta);
11565
+ inst.register = (reg, meta2) => {
11566
+ reg.add(inst, meta2);
11455
11567
  return inst;
11456
11568
  };
11457
11569
  inst.parse = (data, params) => parse3(inst, data, params, { callee: inst.parse });
@@ -11527,6 +11639,7 @@ var _ZodString = /* @__PURE__ */ $constructor("_ZodString", (inst, def) => {
11527
11639
  inst.normalize = (...args) => inst.check(_normalize(...args));
11528
11640
  inst.toLowerCase = () => inst.check(_toLowerCase());
11529
11641
  inst.toUpperCase = () => inst.check(_toUpperCase());
11642
+ inst.slugify = () => inst.check(_slugify());
11530
11643
  });
11531
11644
  var ZodString = /* @__PURE__ */ $constructor("ZodString", (inst, def) => {
11532
11645
  $ZodString.init(inst, def);
@@ -11666,6 +11779,13 @@ var ZodIPv4 = /* @__PURE__ */ $constructor("ZodIPv4", (inst, def) => {
11666
11779
  function ipv42(params) {
11667
11780
  return _ipv4(ZodIPv4, params);
11668
11781
  }
11782
+ var ZodMAC = /* @__PURE__ */ $constructor("ZodMAC", (inst, def) => {
11783
+ $ZodMAC.init(inst, def);
11784
+ ZodStringFormat.init(inst, def);
11785
+ });
11786
+ function mac2(params) {
11787
+ return _mac(ZodMAC, params);
11788
+ }
11669
11789
  var ZodIPv6 = /* @__PURE__ */ $constructor("ZodIPv6", (inst, def) => {
11670
11790
  $ZodIPv6.init(inst, def);
11671
11791
  ZodStringFormat.init(inst, def);
@@ -12374,6 +12494,8 @@ function refine(fn, _params = {}) {
12374
12494
  function superRefine(fn) {
12375
12495
  return _superRefine(fn);
12376
12496
  }
12497
+ var describe2 = describe;
12498
+ var meta2 = meta;
12377
12499
  function _instanceof(cls, params = {
12378
12500
  error: `Input not instance of ${cls.name}`
12379
12501
  }) {
@@ -12401,7 +12523,7 @@ function json(params) {
12401
12523
  function preprocess(fn, schema) {
12402
12524
  return pipe(transform(fn), schema);
12403
12525
  }
12404
- // ../../node_modules/zod/v4/classic/compat.js
12526
+ // node_modules/zod/v4/classic/compat.js
12405
12527
  var ZodIssueCode = {
12406
12528
  invalid_type: "invalid_type",
12407
12529
  too_big: "too_big",
@@ -12425,7 +12547,7 @@ function getErrorMap() {
12425
12547
  }
12426
12548
  var ZodFirstPartyTypeKind;
12427
12549
  (function(ZodFirstPartyTypeKind2) {})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));
12428
- // ../../node_modules/zod/v4/classic/coerce.js
12550
+ // node_modules/zod/v4/classic/coerce.js
12429
12551
  var exports_coerce = {};
12430
12552
  __export(exports_coerce, {
12431
12553
  string: () => string3,
@@ -12450,20 +12572,20 @@ function date4(params) {
12450
12572
  return _coercedDate(ZodDate, params);
12451
12573
  }
12452
12574
 
12453
- // ../../node_modules/zod/v4/classic/external.js
12575
+ // node_modules/zod/v4/classic/external.js
12454
12576
  config(en_default());
12455
- // ../../node_modules/zod/index.js
12577
+ // node_modules/zod/index.js
12456
12578
  var zod_default = exports_external;
12457
12579
 
12458
12580
  // src/audit/governance-actions.ts
12459
12581
  var AppliedActionSchema = exports_external.object({
12460
12582
  type: exports_external.custom(),
12461
- ruleId: exports_external.uuidv7()
12583
+ ruleId: exports_external.string()
12462
12584
  });
12463
12585
  var GovernanceDecisionSchema = exports_external.object({
12464
12586
  effect: exports_external.custom(),
12465
12587
  code: exports_external.custom(),
12466
- matchedRuleIds: exports_external.array(exports_external.uuidv7()),
12588
+ matchedRuleIds: exports_external.array(exports_external.string()),
12467
12589
  appliedActions: exports_external.array(AppliedActionSchema),
12468
12590
  reason: exports_external.optional(exports_external.string())
12469
12591
  });
@@ -12509,6 +12631,7 @@ var AuditEnvelopeSchema = exports_external.object({
12509
12631
  var RunStartedEventSchema = AuditEnvelopeSchema.extend({
12510
12632
  kind: exports_external.literal("run.started"),
12511
12633
  data: exports_external.object({
12634
+ env: exports_external.enum(["dev", "staging", "prod"]).optional(),
12512
12635
  agent: exports_external.object({
12513
12636
  framework: exports_external.string().optional(),
12514
12637
  version: exports_external.string().optional(),
@@ -12534,25 +12657,32 @@ var RunStartedEventSchema = AuditEnvelopeSchema.extend({
12534
12657
  }).optional()
12535
12658
  })
12536
12659
  });
12660
+ var ToolIdentitySchema = exports_external.object({
12661
+ name: exports_external.string(),
12662
+ categories: exports_external.array(exports_external.string()).optional()
12663
+ });
12664
+ var ToolArgsSchema = exports_external.record(exports_external.string(), exports_external.unknown());
12665
+ var HitlMetaSchema = exports_external.object({
12666
+ pendingActionId: exports_external.string().optional(),
12667
+ fingerprint: exports_external.string().optional(),
12668
+ status: exports_external.enum(["none", "pending", "approved", "denied"]).optional()
12669
+ });
12537
12670
  var ToolDecisionEventSchema = AuditEnvelopeSchema.extend({
12538
12671
  kind: exports_external.literal("tool.decision"),
12539
12672
  data: GovernanceDecisionSchema.extend({
12540
- tool: exports_external.object({
12541
- name: exports_external.string(),
12542
- categories: exports_external.array(exports_external.string()).optional()
12543
- }),
12673
+ tool: ToolIdentitySchema,
12674
+ args: ToolArgsSchema.optional(),
12675
+ argsMeta: ToolMetaSchema.optional(),
12676
+ hitl: HitlMetaSchema.optional(),
12544
12677
  counters: CountersSchema.optional(),
12545
- latencyMs: exports_external.number().min(0).optional(),
12546
- argsMeta: ToolMetaSchema.optional()
12678
+ latencyMs: exports_external.number().min(0).optional()
12547
12679
  })
12548
12680
  });
12549
12681
  var ToolResultEventSchema = AuditEnvelopeSchema.extend({
12550
12682
  kind: exports_external.literal("tool.result"),
12551
12683
  data: exports_external.object({
12552
- tool: exports_external.object({
12553
- name: exports_external.string(),
12554
- categories: exports_external.array(exports_external.string()).optional()
12555
- }),
12684
+ tool: ToolIdentitySchema,
12685
+ hitl: HitlMetaSchema.optional(),
12556
12686
  outcome: exports_external.enum(["success", "error"]),
12557
12687
  durationMs: exports_external.number().min(0).optional(),
12558
12688
  counters: CountersSchema.optional(),
@@ -12607,6 +12737,7 @@ export {
12607
12737
  RunEndedEventSchema,
12608
12738
  RuleSchema,
12609
12739
  RuleConfigSchema,
12740
+ HitlMetaSchema,
12610
12741
  GovernanceDecisionSchema,
12611
12742
  ErrorEventSchema,
12612
12743
  AuditEventSchema,