@h-ai/cli 0.1.0-alpha.16 → 0.1.0-alpha.19

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.
Files changed (134) hide show
  1. package/dist/{chunk-LANIDJC7.js → chunk-BPO34NRL.js} +3 -3
  2. package/dist/chunk-BPO34NRL.js.map +1 -0
  3. package/dist/{chunk-YV7WPUI6.js → chunk-GSMXGUYF.js} +6 -2
  4. package/dist/chunk-GSMXGUYF.js.map +1 -0
  5. package/dist/cli-config-templates-JCS7T3NU.js +5 -0
  6. package/dist/cli-config-templates-JCS7T3NU.js.map +1 -0
  7. package/dist/cli-skill-templates-IMYZPQRG.js +5 -0
  8. package/dist/cli-skill-templates-IMYZPQRG.js.map +1 -0
  9. package/dist/index.js +391 -58
  10. package/dist/index.js.map +1 -1
  11. package/dist/{src-RZ4DPYNJ.js → src-N4NPS7AG.js} +1239 -493
  12. package/dist/src-N4NPS7AG.js.map +1 -0
  13. package/package.json +8 -7
  14. package/templates/README.md +10 -3
  15. package/templates/apps/android-app/src/lib/api.ts.hbs +1 -1
  16. package/templates/apps/api/tests/health.test.ts.hbs +26 -0
  17. package/templates/apps/fullstack/apps/{{projectName}}-app/README.md.hbs +21 -0
  18. package/templates/apps/fullstack/apps/{{projectName}}-app/eslint.config.js.hbs +23 -0
  19. package/templates/apps/fullstack/apps/{{projectName}}-app/messages/en-US.json.hbs +34 -0
  20. package/templates/apps/fullstack/apps/{{projectName}}-app/messages/zh-CN.json.hbs +34 -0
  21. package/templates/apps/fullstack/apps/{{projectName}}-app/package.json.hbs +50 -0
  22. package/templates/apps/fullstack/apps/{{projectName}}-app/project.inlang/settings.json.hbs +17 -0
  23. package/templates/apps/fullstack/apps/{{projectName}}-app/src/app.css.hbs +18 -0
  24. package/templates/apps/fullstack/apps/{{projectName}}-app/src/app.d.ts.hbs +9 -0
  25. package/templates/apps/fullstack/apps/{{projectName}}-app/src/app.html.hbs +14 -0
  26. package/templates/apps/fullstack/apps/{{projectName}}-app/src/routes/+layout.svelte.hbs +18 -0
  27. package/templates/apps/fullstack/apps/{{projectName}}-app/src/routes/+page.svelte.hbs +162 -0
  28. package/templates/apps/fullstack/apps/{{projectName}}-app/svelte.config.js.hbs +20 -0
  29. package/templates/apps/fullstack/apps/{{projectName}}-app/tests/api.test.ts.hbs +28 -0
  30. package/templates/apps/fullstack/apps/{{projectName}}-app/tsconfig.json.hbs +17 -0
  31. package/templates/apps/fullstack/apps/{{projectName}}-app/vite.config.ts.hbs +29 -0
  32. package/templates/apps/fullstack/apps/{{projectName}}-desktop/README.md.hbs +21 -0
  33. package/templates/apps/fullstack/apps/{{projectName}}-desktop/eslint.config.js.hbs +23 -0
  34. package/templates/apps/fullstack/apps/{{projectName}}-desktop/messages/en-US.json.hbs +34 -0
  35. package/templates/apps/fullstack/apps/{{projectName}}-desktop/messages/zh-CN.json.hbs +34 -0
  36. package/templates/apps/fullstack/apps/{{projectName}}-desktop/package.json.hbs +50 -0
  37. package/templates/apps/fullstack/apps/{{projectName}}-desktop/project.inlang/settings.json.hbs +17 -0
  38. package/templates/apps/fullstack/apps/{{projectName}}-desktop/src/app.css.hbs +18 -0
  39. package/templates/apps/fullstack/apps/{{projectName}}-desktop/src/app.d.ts.hbs +9 -0
  40. package/templates/apps/fullstack/apps/{{projectName}}-desktop/src/app.html.hbs +14 -0
  41. package/templates/apps/fullstack/apps/{{projectName}}-desktop/src/routes/+layout.svelte.hbs +18 -0
  42. package/templates/apps/fullstack/apps/{{projectName}}-desktop/src/routes/+page.svelte.hbs +162 -0
  43. package/templates/apps/fullstack/apps/{{projectName}}-desktop/svelte.config.js.hbs +20 -0
  44. package/templates/apps/fullstack/apps/{{projectName}}-desktop/tests/api.test.ts.hbs +28 -0
  45. package/templates/apps/fullstack/apps/{{projectName}}-desktop/tsconfig.json.hbs +17 -0
  46. package/templates/apps/fullstack/apps/{{projectName}}-desktop/vite.config.ts.hbs +29 -0
  47. package/templates/apps/fullstack/apps/{{projectName}}-miniapp/README.md.hbs +13 -0
  48. package/templates/apps/fullstack/apps/{{projectName}}-miniapp/messages/en-US.json.hbs +12 -0
  49. package/templates/apps/fullstack/apps/{{projectName}}-miniapp/messages/zh-CN.json.hbs +12 -0
  50. package/templates/apps/fullstack/apps/{{projectName}}-miniapp/project.inlang/settings.json.hbs +17 -0
  51. package/templates/apps/fullstack/apps/{{projectName}}-web/README.md.hbs +21 -0
  52. package/templates/apps/fullstack/apps/{{projectName}}-web/eslint.config.js.hbs +23 -0
  53. package/templates/apps/fullstack/apps/{{projectName}}-web/messages/en-US.json.hbs +34 -0
  54. package/templates/apps/fullstack/apps/{{projectName}}-web/messages/zh-CN.json.hbs +34 -0
  55. package/templates/apps/fullstack/apps/{{projectName}}-web/package.json.hbs +50 -0
  56. package/templates/apps/fullstack/apps/{{projectName}}-web/project.inlang/settings.json.hbs +17 -0
  57. package/templates/apps/fullstack/apps/{{projectName}}-web/src/app.css.hbs +18 -0
  58. package/templates/apps/fullstack/apps/{{projectName}}-web/src/app.d.ts.hbs +9 -0
  59. package/templates/apps/fullstack/apps/{{projectName}}-web/src/app.html.hbs +14 -0
  60. package/templates/apps/fullstack/apps/{{projectName}}-web/src/routes/+layout.svelte.hbs +18 -0
  61. package/templates/apps/fullstack/apps/{{projectName}}-web/src/routes/+page.svelte.hbs +162 -0
  62. package/templates/apps/fullstack/apps/{{projectName}}-web/svelte.config.js.hbs +20 -0
  63. package/templates/apps/fullstack/apps/{{projectName}}-web/tests/api.test.ts.hbs +28 -0
  64. package/templates/apps/fullstack/apps/{{projectName}}-web/tsconfig.json.hbs +17 -0
  65. package/templates/apps/fullstack/apps/{{projectName}}-web/vite.config.ts.hbs +29 -0
  66. package/templates/apps/fullstack/e2e/fullstack.spec.ts.hbs +30 -0
  67. package/templates/apps/fullstack/eslint.config.js +44 -0
  68. package/templates/apps/fullstack/package.json.hbs +42 -0
  69. package/templates/apps/fullstack/packages/{{projectName}}-contract/README.md.hbs +15 -0
  70. package/templates/apps/fullstack/packages/{{projectName}}-contract/package.json.hbs +27 -0
  71. package/templates/apps/fullstack/packages/{{projectName}}-contract/src/app-contract.ts.hbs +21 -0
  72. package/templates/apps/fullstack/packages/{{projectName}}-contract/src/app-routes.ts.hbs +27 -0
  73. package/templates/apps/fullstack/packages/{{projectName}}-contract/src/app-schemas.ts.hbs +34 -0
  74. package/templates/apps/fullstack/packages/{{projectName}}-contract/src/index.ts.hbs +4 -0
  75. package/templates/apps/fullstack/packages/{{projectName}}-contract/src/{{projectName}}-contract.ts.hbs +9 -0
  76. package/templates/apps/fullstack/packages/{{projectName}}-contract/tests/contract.test.ts.hbs +48 -0
  77. package/templates/apps/fullstack/packages/{{projectName}}-contract/tsconfig.json.hbs +9 -0
  78. package/templates/apps/fullstack/packages/{{projectName}}-contract/tsup.config.ts.hbs +9 -0
  79. package/templates/apps/fullstack/packages/{{projectName}}-serv/README.md.hbs +14 -0
  80. package/templates/apps/fullstack/packages/{{projectName}}-serv/package.json.hbs +29 -0
  81. package/templates/apps/fullstack/packages/{{projectName}}-serv/src/index.ts.hbs +15 -0
  82. package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/procedures/app-procedures.ts.hbs +38 -0
  83. package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server/procedures/index.ts.hbs +13 -0
  84. package/templates/apps/fullstack/packages/{{projectName}}-serv/src/server-app.ts.hbs +42 -0
  85. package/templates/apps/fullstack/packages/{{projectName}}-serv/tests/server-app.test.ts.hbs +49 -0
  86. package/templates/apps/fullstack/packages/{{projectName}}-serv/tsconfig.json.hbs +10 -0
  87. package/templates/apps/fullstack/packages/{{projectName}}-serv/tsup.config.ts.hbs +9 -0
  88. package/templates/apps/fullstack/packages/{{projectName}}-shared/.gitignore.hbs +3 -0
  89. package/templates/apps/fullstack/packages/{{projectName}}-shared/README.md.hbs +39 -0
  90. package/templates/apps/fullstack/packages/{{projectName}}-shared/messages/en-US.json.hbs +24 -0
  91. package/templates/apps/fullstack/packages/{{projectName}}-shared/messages/zh-CN.json.hbs +24 -0
  92. package/templates/apps/fullstack/packages/{{projectName}}-shared/package.json.hbs +44 -0
  93. package/templates/apps/fullstack/packages/{{projectName}}-shared/project.inlang/settings.json.hbs +11 -0
  94. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/index.ts.hbs +8 -0
  95. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/api/api-client.ts.hbs +49 -0
  96. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/components/AppShell.svelte.hbs +60 -0
  97. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/components/LanguageSwitcher.svelte.hbs +27 -0
  98. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/components/ThemeSwitcher.svelte.hbs +18 -0
  99. package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/stores/theme.svelte.ts.hbs +55 -0
  100. package/templates/apps/fullstack/packages/{{projectName}}-shared/tsconfig.json.hbs +17 -0
  101. package/templates/apps/fullstack/playwright.config.ts.hbs +34 -0
  102. package/templates/apps/fullstack/pnpm-workspace.yaml +7 -0
  103. package/templates/apps/fullstack/tsconfig.base.json +15 -0
  104. package/templates/base/e2e/app.spec.ts.hbs +7 -0
  105. package/templates/base/eslint.config.js +6 -0
  106. package/templates/base/package.json.hbs +46 -39
  107. package/templates/base/src/app.css.hbs +1 -0
  108. package/templates/base/src/lib/server/init.ts.hbs +3 -3
  109. package/templates/base/tests/scaffold.test.ts.hbs +27 -0
  110. package/templates/features/payment/routes/api/v1/payment/create/+server.ts +15 -7
  111. package/templates/features/payment/routes/api/v1/payment/notify/[provider]/+server.ts +1 -2
  112. package/templates/skills/hai-ai/SKILL.md +2 -0
  113. package/templates/skills/hai-api-client/SKILL.md +4 -0
  114. package/templates/skills/hai-audit/SKILL.md +7 -2
  115. package/templates/skills/hai-cache/SKILL.md +2 -0
  116. package/templates/skills/hai-capacitor/SKILL.md +11 -9
  117. package/templates/skills/hai-core/SKILL.md +4 -1
  118. package/templates/skills/hai-crypto/SKILL.md +42 -8
  119. package/templates/skills/hai-iam/SKILL.md +2 -0
  120. package/templates/skills/hai-kit/SKILL.md +9 -2
  121. package/templates/skills/hai-payment/SKILL.md +5 -0
  122. package/templates/skills/hai-reach/SKILL.md +3 -1
  123. package/templates/skills/hai-reldb/SKILL.md +2 -0
  124. package/templates/skills/hai-scheduler/SKILL.md +2 -0
  125. package/templates/skills/hai-serv/SKILL.md +14 -9
  126. package/templates/skills/hai-storage/SKILL.md +10 -1
  127. package/templates/skills/hai-vecdb/SKILL.md +8 -1
  128. package/dist/chunk-LANIDJC7.js.map +0 -1
  129. package/dist/chunk-YV7WPUI6.js.map +0 -1
  130. package/dist/config-templates-S5RI2MC6.js +0 -5
  131. package/dist/config-templates-S5RI2MC6.js.map +0 -1
  132. package/dist/skill-templates-N5DU5FNX.js +0 -5
  133. package/dist/skill-templates-N5DU5FNX.js.map +0 -1
  134. package/dist/src-RZ4DPYNJ.js.map +0 -1
@@ -71,6 +71,7 @@ __export(external_exports, {
71
71
  ZodOptional: () => ZodOptional,
72
72
  ZodPipe: () => ZodPipe,
73
73
  ZodPrefault: () => ZodPrefault,
74
+ ZodPreprocess: () => ZodPreprocess,
74
75
  ZodPromise: () => ZodPromise,
75
76
  ZodReadonly: () => ZodReadonly,
76
77
  ZodRealError: () => ZodRealError,
@@ -149,6 +150,7 @@ __export(external_exports, {
149
150
  int32: () => int32,
150
151
  int64: () => int64,
151
152
  intersection: () => intersection,
153
+ invertCodec: () => invertCodec,
152
154
  ipv4: () => ipv42,
153
155
  ipv6: () => ipv62,
154
156
  iso: () => iso_exports,
@@ -330,6 +332,7 @@ __export(core_exports2, {
330
332
  $ZodOptional: () => $ZodOptional,
331
333
  $ZodPipe: () => $ZodPipe,
332
334
  $ZodPrefault: () => $ZodPrefault,
335
+ $ZodPreprocess: () => $ZodPreprocess,
333
336
  $ZodPromise: () => $ZodPromise,
334
337
  $ZodReadonly: () => $ZodReadonly,
335
338
  $ZodRealError: () => $ZodRealError,
@@ -529,7 +532,8 @@ __export(core_exports2, {
529
532
  });
530
533
 
531
534
  // ../../node_modules/zod/v4/core/core.js
532
- var NEVER = Object.freeze({
535
+ var _a;
536
+ var NEVER = /* @__PURE__ */ Object.freeze({
533
537
  status: "aborted"
534
538
  });
535
539
  // @__NO_SIDE_EFFECTS__
@@ -564,10 +568,10 @@ function $constructor(name, initializer3, params) {
564
568
  }
565
569
  Object.defineProperty(Definition, "name", { value: name });
566
570
  function _(def) {
567
- var _a2;
571
+ var _a3;
568
572
  const inst = params?.Parent ? new Definition() : this;
569
573
  init(inst, def);
570
- (_a2 = inst._zod).deferred ?? (_a2.deferred = []);
574
+ (_a3 = inst._zod).deferred ?? (_a3.deferred = []);
571
575
  for (const fn of inst._zod.deferred) {
572
576
  fn();
573
577
  }
@@ -596,7 +600,8 @@ var $ZodEncodeError = class extends Error {
596
600
  this.name = "ZodEncodeError";
597
601
  }
598
602
  };
599
- var globalConfig = {};
603
+ (_a = globalThis).__zod_globalConfig ?? (_a.__zod_globalConfig = {});
604
+ var globalConfig = globalThis.__zod_globalConfig;
600
605
  function config(newConfig) {
601
606
  if (newConfig)
602
607
  Object.assign(globalConfig, newConfig);
@@ -629,6 +634,7 @@ __export(util_exports, {
629
634
  defineLazy: () => defineLazy,
630
635
  esc: () => esc,
631
636
  escapeRegex: () => escapeRegex,
637
+ explicitlyAborted: () => explicitlyAborted,
632
638
  extend: () => extend,
633
639
  finalizeIssue: () => finalizeIssue,
634
640
  floatSafeRemainder: () => floatSafeRemainder,
@@ -715,19 +721,12 @@ function cleanRegex(source) {
715
721
  return source.slice(start, end);
716
722
  }
717
723
  function floatSafeRemainder(val, step) {
718
- const valDecCount = (val.toString().split(".")[1] || "").length;
719
- const stepString = step.toString();
720
- let stepDecCount = (stepString.split(".")[1] || "").length;
721
- if (stepDecCount === 0 && /\d?e-\d?/.test(stepString)) {
722
- const match = stepString.match(/\d?e-(\d?)/);
723
- if (match?.[1]) {
724
- stepDecCount = Number.parseInt(match[1]);
725
- }
726
- }
727
- const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
728
- const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
729
- const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
730
- return valInt % stepInt / 10 ** decCount;
724
+ const ratio = val / step;
725
+ const roundedRatio = Math.round(ratio);
726
+ const tolerance = Number.EPSILON * Math.max(Math.abs(ratio), 1);
727
+ if (Math.abs(ratio - roundedRatio) < tolerance)
728
+ return 0;
729
+ return ratio - roundedRatio;
731
730
  }
732
731
  var EVALUATING = /* @__PURE__ */ Symbol("evaluating");
733
732
  function defineLazy(object2, key, getter) {
@@ -809,7 +808,10 @@ var captureStackTrace = "captureStackTrace" in Error ? Error.captureStackTrace :
809
808
  function isObject(data) {
810
809
  return typeof data === "object" && data !== null && !Array.isArray(data);
811
810
  }
812
- var allowsEval = cached(() => {
811
+ var allowsEval = /* @__PURE__ */ cached(() => {
812
+ if (globalConfig.jitless) {
813
+ return false;
814
+ }
813
815
  if (typeof navigator !== "undefined" && navigator?.userAgent?.includes("Cloudflare")) {
814
816
  return false;
815
817
  }
@@ -842,6 +844,10 @@ function shallowClone(o) {
842
844
  return { ...o };
843
845
  if (Array.isArray(o))
844
846
  return [...o];
847
+ if (o instanceof Map)
848
+ return new Map(o);
849
+ if (o instanceof Set)
850
+ return new Set(o);
845
851
  return o;
846
852
  }
847
853
  function numKeys(data) {
@@ -898,7 +904,14 @@ var getParsedType = (data) => {
898
904
  }
899
905
  };
900
906
  var propertyKeyTypes = /* @__PURE__ */ new Set(["string", "number", "symbol"]);
901
- var primitiveTypes = /* @__PURE__ */ new Set(["string", "number", "bigint", "boolean", "symbol", "undefined"]);
907
+ var primitiveTypes = /* @__PURE__ */ new Set([
908
+ "string",
909
+ "number",
910
+ "bigint",
911
+ "boolean",
912
+ "symbol",
913
+ "undefined"
914
+ ]);
902
915
  function escapeRegex(str) {
903
916
  return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
904
917
  }
@@ -1067,6 +1080,9 @@ function safeExtend(schema, shape) {
1067
1080
  return clone(schema, def);
1068
1081
  }
1069
1082
  function merge(a, b) {
1083
+ if (a._zod.def.checks?.length) {
1084
+ throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");
1085
+ }
1070
1086
  const def = mergeDefs(a._zod.def, {
1071
1087
  get shape() {
1072
1088
  const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };
@@ -1076,8 +1092,7 @@ function merge(a, b) {
1076
1092
  get catchall() {
1077
1093
  return b._zod.def.catchall;
1078
1094
  },
1079
- checks: []
1080
- // delete existing checks
1095
+ checks: b._zod.def.checks ?? []
1081
1096
  });
1082
1097
  return clone(a, def);
1083
1098
  }
@@ -1160,10 +1175,20 @@ function aborted(x, startIndex = 0) {
1160
1175
  }
1161
1176
  return false;
1162
1177
  }
1178
+ function explicitlyAborted(x, startIndex = 0) {
1179
+ if (x.aborted === true)
1180
+ return true;
1181
+ for (let i = startIndex; i < x.issues.length; i++) {
1182
+ if (x.issues[i]?.continue === false) {
1183
+ return true;
1184
+ }
1185
+ }
1186
+ return false;
1187
+ }
1163
1188
  function prefixIssues(path, issues) {
1164
1189
  return issues.map((iss) => {
1165
- var _a2;
1166
- (_a2 = iss).path ?? (_a2.path = []);
1190
+ var _a3;
1191
+ (_a3 = iss).path ?? (_a3.path = []);
1167
1192
  iss.path.unshift(path);
1168
1193
  return iss;
1169
1194
  });
@@ -1172,17 +1197,14 @@ function unwrapMessage(message) {
1172
1197
  return typeof message === "string" ? message : message?.message;
1173
1198
  }
1174
1199
  function finalizeIssue(iss, ctx, config2) {
1175
- const full = { ...iss, path: iss.path ?? [] };
1176
- if (!iss.message) {
1177
- const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ?? unwrapMessage(ctx?.error?.(iss)) ?? unwrapMessage(config2.customError?.(iss)) ?? unwrapMessage(config2.localeError?.(iss)) ?? "Invalid input";
1178
- full.message = message;
1200
+ const message = iss.message ? iss.message : unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ?? unwrapMessage(ctx?.error?.(iss)) ?? unwrapMessage(config2.customError?.(iss)) ?? unwrapMessage(config2.localeError?.(iss)) ?? "Invalid input";
1201
+ const { inst: _inst, continue: _continue, input: _input, ...rest } = iss;
1202
+ rest.path ?? (rest.path = []);
1203
+ rest.message = message;
1204
+ if (ctx?.reportInput) {
1205
+ rest.input = _input;
1179
1206
  }
1180
- delete full.inst;
1181
- delete full.continue;
1182
- if (!ctx?.reportInput) {
1183
- delete full.input;
1184
- }
1185
- return full;
1207
+ return rest;
1186
1208
  }
1187
1209
  function getSizableOrigin(input) {
1188
1210
  if (input instanceof Set)
@@ -1299,10 +1321,10 @@ var initializer = (inst, def) => {
1299
1321
  };
1300
1322
  var $ZodError = $constructor("$ZodError", initializer);
1301
1323
  var $ZodRealError = $constructor("$ZodError", initializer, { Parent: Error });
1302
- function flattenError(error48, mapper = (issue2) => issue2.message) {
1324
+ function flattenError(error51, mapper = (issue2) => issue2.message) {
1303
1325
  const fieldErrors = {};
1304
1326
  const formErrors = [];
1305
- for (const sub of error48.issues) {
1327
+ for (const sub of error51.issues) {
1306
1328
  if (sub.path.length > 0) {
1307
1329
  fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];
1308
1330
  fieldErrors[sub.path[0]].push(mapper(sub));
@@ -1312,50 +1334,53 @@ function flattenError(error48, mapper = (issue2) => issue2.message) {
1312
1334
  }
1313
1335
  return { formErrors, fieldErrors };
1314
1336
  }
1315
- function formatError(error48, mapper = (issue2) => issue2.message) {
1337
+ function formatError(error51, mapper = (issue2) => issue2.message) {
1316
1338
  const fieldErrors = { _errors: [] };
1317
- const processError = (error49) => {
1318
- for (const issue2 of error49.issues) {
1339
+ const processError = (error52, path = []) => {
1340
+ for (const issue2 of error52.issues) {
1319
1341
  if (issue2.code === "invalid_union" && issue2.errors.length) {
1320
- issue2.errors.map((issues) => processError({ issues }));
1342
+ issue2.errors.map((issues) => processError({ issues }, [...path, ...issue2.path]));
1321
1343
  } else if (issue2.code === "invalid_key") {
1322
- processError({ issues: issue2.issues });
1344
+ processError({ issues: issue2.issues }, [...path, ...issue2.path]);
1323
1345
  } else if (issue2.code === "invalid_element") {
1324
- processError({ issues: issue2.issues });
1325
- } else if (issue2.path.length === 0) {
1326
- fieldErrors._errors.push(mapper(issue2));
1346
+ processError({ issues: issue2.issues }, [...path, ...issue2.path]);
1327
1347
  } else {
1328
- let curr = fieldErrors;
1329
- let i = 0;
1330
- while (i < issue2.path.length) {
1331
- const el = issue2.path[i];
1332
- const terminal = i === issue2.path.length - 1;
1333
- if (!terminal) {
1334
- curr[el] = curr[el] || { _errors: [] };
1335
- } else {
1336
- curr[el] = curr[el] || { _errors: [] };
1337
- curr[el]._errors.push(mapper(issue2));
1348
+ const fullpath = [...path, ...issue2.path];
1349
+ if (fullpath.length === 0) {
1350
+ fieldErrors._errors.push(mapper(issue2));
1351
+ } else {
1352
+ let curr = fieldErrors;
1353
+ let i = 0;
1354
+ while (i < fullpath.length) {
1355
+ const el = fullpath[i];
1356
+ const terminal = i === fullpath.length - 1;
1357
+ if (!terminal) {
1358
+ curr[el] = curr[el] || { _errors: [] };
1359
+ } else {
1360
+ curr[el] = curr[el] || { _errors: [] };
1361
+ curr[el]._errors.push(mapper(issue2));
1362
+ }
1363
+ curr = curr[el];
1364
+ i++;
1338
1365
  }
1339
- curr = curr[el];
1340
- i++;
1341
1366
  }
1342
1367
  }
1343
1368
  }
1344
1369
  };
1345
- processError(error48);
1370
+ processError(error51);
1346
1371
  return fieldErrors;
1347
1372
  }
1348
- function treeifyError(error48, mapper = (issue2) => issue2.message) {
1373
+ function treeifyError(error51, mapper = (issue2) => issue2.message) {
1349
1374
  const result = { errors: [] };
1350
- const processError = (error49, path = []) => {
1351
- var _a2, _b;
1352
- for (const issue2 of error49.issues) {
1375
+ const processError = (error52, path = []) => {
1376
+ var _a3, _b;
1377
+ for (const issue2 of error52.issues) {
1353
1378
  if (issue2.code === "invalid_union" && issue2.errors.length) {
1354
- issue2.errors.map((issues) => processError({ issues }, issue2.path));
1379
+ issue2.errors.map((issues) => processError({ issues }, [...path, ...issue2.path]));
1355
1380
  } else if (issue2.code === "invalid_key") {
1356
- processError({ issues: issue2.issues }, issue2.path);
1381
+ processError({ issues: issue2.issues }, [...path, ...issue2.path]);
1357
1382
  } else if (issue2.code === "invalid_element") {
1358
- processError({ issues: issue2.issues }, issue2.path);
1383
+ processError({ issues: issue2.issues }, [...path, ...issue2.path]);
1359
1384
  } else {
1360
1385
  const fullpath = [...path, ...issue2.path];
1361
1386
  if (fullpath.length === 0) {
@@ -1369,7 +1394,7 @@ function treeifyError(error48, mapper = (issue2) => issue2.message) {
1369
1394
  const terminal = i === fullpath.length - 1;
1370
1395
  if (typeof el === "string") {
1371
1396
  curr.properties ?? (curr.properties = {});
1372
- (_a2 = curr.properties)[el] ?? (_a2[el] = { errors: [] });
1397
+ (_a3 = curr.properties)[el] ?? (_a3[el] = { errors: [] });
1373
1398
  curr = curr.properties[el];
1374
1399
  } else {
1375
1400
  curr.items ?? (curr.items = []);
@@ -1384,7 +1409,7 @@ function treeifyError(error48, mapper = (issue2) => issue2.message) {
1384
1409
  }
1385
1410
  }
1386
1411
  };
1387
- processError(error48);
1412
+ processError(error51);
1388
1413
  return result;
1389
1414
  }
1390
1415
  function toDotPath(_path) {
@@ -1405,9 +1430,9 @@ function toDotPath(_path) {
1405
1430
  }
1406
1431
  return segs.join("");
1407
1432
  }
1408
- function prettifyError(error48) {
1433
+ function prettifyError(error51) {
1409
1434
  const lines = [];
1410
- const issues = [...error48.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);
1435
+ const issues = [...error51.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);
1411
1436
  for (const issue2 of issues) {
1412
1437
  lines.push(`\u2716 ${issue2.message}`);
1413
1438
  if (issue2.path?.length)
@@ -1418,7 +1443,7 @@ function prettifyError(error48) {
1418
1443
 
1419
1444
  // ../../node_modules/zod/v4/core/parse.js
1420
1445
  var _parse = (_Err) => (schema, value, _ctx, _params) => {
1421
- const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
1446
+ const ctx = _ctx ? { ..._ctx, async: false } : { async: false };
1422
1447
  const result = schema._zod.run({ value, issues: [] }, ctx);
1423
1448
  if (result instanceof Promise) {
1424
1449
  throw new $ZodAsyncError();
@@ -1432,7 +1457,7 @@ var _parse = (_Err) => (schema, value, _ctx, _params) => {
1432
1457
  };
1433
1458
  var parse = /* @__PURE__ */ _parse($ZodRealError);
1434
1459
  var _parseAsync = (_Err) => async (schema, value, _ctx, params) => {
1435
- const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
1460
+ const ctx = _ctx ? { ..._ctx, async: true } : { async: true };
1436
1461
  let result = schema._zod.run({ value, issues: [] }, ctx);
1437
1462
  if (result instanceof Promise)
1438
1463
  result = await result;
@@ -1457,7 +1482,7 @@ var _safeParse = (_Err) => (schema, value, _ctx) => {
1457
1482
  };
1458
1483
  var safeParse = /* @__PURE__ */ _safeParse($ZodRealError);
1459
1484
  var _safeParseAsync = (_Err) => async (schema, value, _ctx) => {
1460
- const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
1485
+ const ctx = _ctx ? { ..._ctx, async: true } : { async: true };
1461
1486
  let result = schema._zod.run({ value, issues: [] }, ctx);
1462
1487
  if (result instanceof Promise)
1463
1488
  result = await result;
@@ -1468,7 +1493,7 @@ var _safeParseAsync = (_Err) => async (schema, value, _ctx) => {
1468
1493
  };
1469
1494
  var safeParseAsync = /* @__PURE__ */ _safeParseAsync($ZodRealError);
1470
1495
  var _encode = (_Err) => (schema, value, _ctx) => {
1471
- const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
1496
+ const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" };
1472
1497
  return _parse(_Err)(schema, value, ctx);
1473
1498
  };
1474
1499
  var encode = /* @__PURE__ */ _encode($ZodRealError);
@@ -1477,7 +1502,7 @@ var _decode = (_Err) => (schema, value, _ctx) => {
1477
1502
  };
1478
1503
  var decode = /* @__PURE__ */ _decode($ZodRealError);
1479
1504
  var _encodeAsync = (_Err) => async (schema, value, _ctx) => {
1480
- const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
1505
+ const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" };
1481
1506
  return _parseAsync(_Err)(schema, value, ctx);
1482
1507
  };
1483
1508
  var encodeAsync = /* @__PURE__ */ _encodeAsync($ZodRealError);
@@ -1486,7 +1511,7 @@ var _decodeAsync = (_Err) => async (schema, value, _ctx) => {
1486
1511
  };
1487
1512
  var decodeAsync = /* @__PURE__ */ _decodeAsync($ZodRealError);
1488
1513
  var _safeEncode = (_Err) => (schema, value, _ctx) => {
1489
- const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
1514
+ const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" };
1490
1515
  return _safeParse(_Err)(schema, value, ctx);
1491
1516
  };
1492
1517
  var safeEncode = /* @__PURE__ */ _safeEncode($ZodRealError);
@@ -1495,7 +1520,7 @@ var _safeDecode = (_Err) => (schema, value, _ctx) => {
1495
1520
  };
1496
1521
  var safeDecode = /* @__PURE__ */ _safeDecode($ZodRealError);
1497
1522
  var _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {
1498
- const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
1523
+ const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" };
1499
1524
  return _safeParseAsync(_Err)(schema, value, ctx);
1500
1525
  };
1501
1526
  var safeEncodeAsync = /* @__PURE__ */ _safeEncodeAsync($ZodRealError);
@@ -1528,6 +1553,7 @@ __export(regexes_exports, {
1528
1553
  hex: () => hex,
1529
1554
  hostname: () => hostname,
1530
1555
  html5Email: () => html5Email,
1556
+ httpProtocol: () => httpProtocol,
1531
1557
  idnEmail: () => idnEmail,
1532
1558
  integer: () => integer,
1533
1559
  ipv4: () => ipv4,
@@ -1566,7 +1592,7 @@ __export(regexes_exports, {
1566
1592
  uuid7: () => uuid7,
1567
1593
  xid: () => xid
1568
1594
  });
1569
- var cuid = /^[cC][^\s-]{8,}$/;
1595
+ var cuid = /^[cC][0-9a-z]{6,}$/;
1570
1596
  var cuid2 = /^[0-9a-z]+$/;
1571
1597
  var ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;
1572
1598
  var xid = /^[0-9a-vA-V]{20}$/;
@@ -1605,6 +1631,7 @@ var base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/
1605
1631
  var base64url = /^[A-Za-z0-9_-]*$/;
1606
1632
  var hostname = /^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/;
1607
1633
  var domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/;
1634
+ var httpProtocol = /^https?$/;
1608
1635
  var e164 = /^\+[1-9]\d{6,14}$/;
1609
1636
  var dateSource = `(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;
1610
1637
  var date = /* @__PURE__ */ new RegExp(`^${dateSource}$`);
@@ -1663,10 +1690,10 @@ var sha512_base64url = /* @__PURE__ */ fixedBase64url(86);
1663
1690
 
1664
1691
  // ../../node_modules/zod/v4/core/checks.js
1665
1692
  var $ZodCheck = /* @__PURE__ */ $constructor("$ZodCheck", (inst, def) => {
1666
- var _a2;
1693
+ var _a3;
1667
1694
  inst._zod ?? (inst._zod = {});
1668
1695
  inst._zod.def = def;
1669
- (_a2 = inst._zod).onattach ?? (_a2.onattach = []);
1696
+ (_a3 = inst._zod).onattach ?? (_a3.onattach = []);
1670
1697
  });
1671
1698
  var numericOriginMap = {
1672
1699
  number: "number",
@@ -1732,8 +1759,8 @@ var $ZodCheckGreaterThan = /* @__PURE__ */ $constructor("$ZodCheckGreaterThan",
1732
1759
  var $ZodCheckMultipleOf = /* @__PURE__ */ $constructor("$ZodCheckMultipleOf", (inst, def) => {
1733
1760
  $ZodCheck.init(inst, def);
1734
1761
  inst._zod.onattach.push((inst2) => {
1735
- var _a2;
1736
- (_a2 = inst2._zod.bag).multipleOf ?? (_a2.multipleOf = def.value);
1762
+ var _a3;
1763
+ (_a3 = inst2._zod.bag).multipleOf ?? (_a3.multipleOf = def.value);
1737
1764
  });
1738
1765
  inst._zod.check = (payload) => {
1739
1766
  if (typeof payload.value !== typeof def.value)
@@ -1866,9 +1893,9 @@ var $ZodCheckBigIntFormat = /* @__PURE__ */ $constructor("$ZodCheckBigIntFormat"
1866
1893
  };
1867
1894
  });
1868
1895
  var $ZodCheckMaxSize = /* @__PURE__ */ $constructor("$ZodCheckMaxSize", (inst, def) => {
1869
- var _a2;
1896
+ var _a3;
1870
1897
  $ZodCheck.init(inst, def);
1871
- (_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
1898
+ (_a3 = inst._zod.def).when ?? (_a3.when = (payload) => {
1872
1899
  const val = payload.value;
1873
1900
  return !nullish(val) && val.size !== void 0;
1874
1901
  });
@@ -1894,9 +1921,9 @@ var $ZodCheckMaxSize = /* @__PURE__ */ $constructor("$ZodCheckMaxSize", (inst, d
1894
1921
  };
1895
1922
  });
1896
1923
  var $ZodCheckMinSize = /* @__PURE__ */ $constructor("$ZodCheckMinSize", (inst, def) => {
1897
- var _a2;
1924
+ var _a3;
1898
1925
  $ZodCheck.init(inst, def);
1899
- (_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
1926
+ (_a3 = inst._zod.def).when ?? (_a3.when = (payload) => {
1900
1927
  const val = payload.value;
1901
1928
  return !nullish(val) && val.size !== void 0;
1902
1929
  });
@@ -1922,9 +1949,9 @@ var $ZodCheckMinSize = /* @__PURE__ */ $constructor("$ZodCheckMinSize", (inst, d
1922
1949
  };
1923
1950
  });
1924
1951
  var $ZodCheckSizeEquals = /* @__PURE__ */ $constructor("$ZodCheckSizeEquals", (inst, def) => {
1925
- var _a2;
1952
+ var _a3;
1926
1953
  $ZodCheck.init(inst, def);
1927
- (_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
1954
+ (_a3 = inst._zod.def).when ?? (_a3.when = (payload) => {
1928
1955
  const val = payload.value;
1929
1956
  return !nullish(val) && val.size !== void 0;
1930
1957
  });
@@ -1952,9 +1979,9 @@ var $ZodCheckSizeEquals = /* @__PURE__ */ $constructor("$ZodCheckSizeEquals", (i
1952
1979
  };
1953
1980
  });
1954
1981
  var $ZodCheckMaxLength = /* @__PURE__ */ $constructor("$ZodCheckMaxLength", (inst, def) => {
1955
- var _a2;
1982
+ var _a3;
1956
1983
  $ZodCheck.init(inst, def);
1957
- (_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
1984
+ (_a3 = inst._zod.def).when ?? (_a3.when = (payload) => {
1958
1985
  const val = payload.value;
1959
1986
  return !nullish(val) && val.length !== void 0;
1960
1987
  });
@@ -1981,9 +2008,9 @@ var $ZodCheckMaxLength = /* @__PURE__ */ $constructor("$ZodCheckMaxLength", (ins
1981
2008
  };
1982
2009
  });
1983
2010
  var $ZodCheckMinLength = /* @__PURE__ */ $constructor("$ZodCheckMinLength", (inst, def) => {
1984
- var _a2;
2011
+ var _a3;
1985
2012
  $ZodCheck.init(inst, def);
1986
- (_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
2013
+ (_a3 = inst._zod.def).when ?? (_a3.when = (payload) => {
1987
2014
  const val = payload.value;
1988
2015
  return !nullish(val) && val.length !== void 0;
1989
2016
  });
@@ -2010,9 +2037,9 @@ var $ZodCheckMinLength = /* @__PURE__ */ $constructor("$ZodCheckMinLength", (ins
2010
2037
  };
2011
2038
  });
2012
2039
  var $ZodCheckLengthEquals = /* @__PURE__ */ $constructor("$ZodCheckLengthEquals", (inst, def) => {
2013
- var _a2;
2040
+ var _a3;
2014
2041
  $ZodCheck.init(inst, def);
2015
- (_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
2042
+ (_a3 = inst._zod.def).when ?? (_a3.when = (payload) => {
2016
2043
  const val = payload.value;
2017
2044
  return !nullish(val) && val.length !== void 0;
2018
2045
  });
@@ -2041,7 +2068,7 @@ var $ZodCheckLengthEquals = /* @__PURE__ */ $constructor("$ZodCheckLengthEquals"
2041
2068
  };
2042
2069
  });
2043
2070
  var $ZodCheckStringFormat = /* @__PURE__ */ $constructor("$ZodCheckStringFormat", (inst, def) => {
2044
- var _a2, _b;
2071
+ var _a3, _b;
2045
2072
  $ZodCheck.init(inst, def);
2046
2073
  inst._zod.onattach.push((inst2) => {
2047
2074
  const bag = inst2._zod.bag;
@@ -2052,7 +2079,7 @@ var $ZodCheckStringFormat = /* @__PURE__ */ $constructor("$ZodCheckStringFormat"
2052
2079
  }
2053
2080
  });
2054
2081
  if (def.pattern)
2055
- (_a2 = inst._zod).check ?? (_a2.check = (payload) => {
2082
+ (_a3 = inst._zod).check ?? (_a3.check = (payload) => {
2056
2083
  def.pattern.lastIndex = 0;
2057
2084
  if (def.pattern.test(payload.value))
2058
2085
  return;
@@ -2248,13 +2275,13 @@ var Doc = class {
2248
2275
  // ../../node_modules/zod/v4/core/versions.js
2249
2276
  var version = {
2250
2277
  major: 4,
2251
- minor: 3,
2252
- patch: 6
2278
+ minor: 4,
2279
+ patch: 3
2253
2280
  };
2254
2281
 
2255
2282
  // ../../node_modules/zod/v4/core/schemas.js
2256
2283
  var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
2257
- var _a2;
2284
+ var _a3;
2258
2285
  inst ?? (inst = {});
2259
2286
  inst._zod.def = def;
2260
2287
  inst._zod.bag = inst._zod.bag || {};
@@ -2269,7 +2296,7 @@ var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
2269
2296
  }
2270
2297
  }
2271
2298
  if (checks.length === 0) {
2272
- (_a2 = inst._zod).deferred ?? (_a2.deferred = []);
2299
+ (_a3 = inst._zod).deferred ?? (_a3.deferred = []);
2273
2300
  inst._zod.deferred?.push(() => {
2274
2301
  inst._zod.run = inst._zod.parse;
2275
2302
  });
@@ -2279,6 +2306,8 @@ var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
2279
2306
  let asyncResult;
2280
2307
  for (const ch of checks2) {
2281
2308
  if (ch._zod.def.when) {
2309
+ if (explicitlyAborted(payload))
2310
+ continue;
2282
2311
  const shouldRun = ch._zod.def.when(payload);
2283
2312
  if (!shouldRun)
2284
2313
  continue;
@@ -2419,6 +2448,19 @@ var $ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => {
2419
2448
  inst._zod.check = (payload) => {
2420
2449
  try {
2421
2450
  const trimmed = payload.value.trim();
2451
+ if (!def.normalize && def.protocol?.source === httpProtocol.source) {
2452
+ if (!/^https?:\/\//i.test(trimmed)) {
2453
+ payload.issues.push({
2454
+ code: "invalid_format",
2455
+ format: "url",
2456
+ note: "Invalid URL format",
2457
+ input: payload.value,
2458
+ inst,
2459
+ continue: !def.abort
2460
+ });
2461
+ return;
2462
+ }
2463
+ }
2422
2464
  const url2 = new URL(trimmed);
2423
2465
  if (def.hostname) {
2424
2466
  def.hostname.lastIndex = 0;
@@ -2572,6 +2614,8 @@ var $ZodCIDRv6 = /* @__PURE__ */ $constructor("$ZodCIDRv6", (inst, def) => {
2572
2614
  function isValidBase64(data) {
2573
2615
  if (data === "")
2574
2616
  return true;
2617
+ if (/\s/.test(data))
2618
+ return false;
2575
2619
  if (data.length % 4 !== 0)
2576
2620
  return false;
2577
2621
  try {
@@ -2764,8 +2808,6 @@ var $ZodUndefined = /* @__PURE__ */ $constructor("$ZodUndefined", (inst, def) =>
2764
2808
  $ZodType.init(inst, def);
2765
2809
  inst._zod.pattern = _undefined;
2766
2810
  inst._zod.values = /* @__PURE__ */ new Set([void 0]);
2767
- inst._zod.optin = "optional";
2768
- inst._zod.optout = "optional";
2769
2811
  inst._zod.parse = (payload, _ctx) => {
2770
2812
  const input = payload.value;
2771
2813
  if (typeof input === "undefined")
@@ -2894,15 +2936,27 @@ var $ZodArray = /* @__PURE__ */ $constructor("$ZodArray", (inst, def) => {
2894
2936
  return payload;
2895
2937
  };
2896
2938
  });
2897
- function handlePropertyResult(result, final, key, input, isOptionalOut) {
2939
+ function handlePropertyResult(result, final, key, input, isOptionalIn, isOptionalOut) {
2940
+ const isPresent = key in input;
2898
2941
  if (result.issues.length) {
2899
- if (isOptionalOut && !(key in input)) {
2942
+ if (isOptionalIn && isOptionalOut && !isPresent) {
2900
2943
  return;
2901
2944
  }
2902
2945
  final.issues.push(...prefixIssues(key, result.issues));
2903
2946
  }
2947
+ if (!isPresent && !isOptionalIn) {
2948
+ if (!result.issues.length) {
2949
+ final.issues.push({
2950
+ code: "invalid_type",
2951
+ expected: "nonoptional",
2952
+ input: void 0,
2953
+ path: [key]
2954
+ });
2955
+ }
2956
+ return;
2957
+ }
2904
2958
  if (result.value === void 0) {
2905
- if (key in input) {
2959
+ if (isPresent) {
2906
2960
  final.value[key] = void 0;
2907
2961
  }
2908
2962
  } else {
@@ -2930,8 +2984,11 @@ function handleCatchall(proms, input, payload, ctx, def, inst) {
2930
2984
  const keySet = def.keySet;
2931
2985
  const _catchall = def.catchall._zod;
2932
2986
  const t = _catchall.def.type;
2987
+ const isOptionalIn = _catchall.optin === "optional";
2933
2988
  const isOptionalOut = _catchall.optout === "optional";
2934
2989
  for (const key in input) {
2990
+ if (key === "__proto__")
2991
+ continue;
2935
2992
  if (keySet.has(key))
2936
2993
  continue;
2937
2994
  if (t === "never") {
@@ -2940,9 +2997,9 @@ function handleCatchall(proms, input, payload, ctx, def, inst) {
2940
2997
  }
2941
2998
  const r = _catchall.run({ value: input[key], issues: [] }, ctx);
2942
2999
  if (r instanceof Promise) {
2943
- proms.push(r.then((r2) => handlePropertyResult(r2, payload, key, input, isOptionalOut)));
3000
+ proms.push(r.then((r2) => handlePropertyResult(r2, payload, key, input, isOptionalIn, isOptionalOut)));
2944
3001
  } else {
2945
- handlePropertyResult(r, payload, key, input, isOptionalOut);
3002
+ handlePropertyResult(r, payload, key, input, isOptionalIn, isOptionalOut);
2946
3003
  }
2947
3004
  }
2948
3005
  if (unrecognized.length) {
@@ -3008,12 +3065,13 @@ var $ZodObject = /* @__PURE__ */ $constructor("$ZodObject", (inst, def) => {
3008
3065
  const shape = value.shape;
3009
3066
  for (const key of value.keys) {
3010
3067
  const el = shape[key];
3068
+ const isOptionalIn = el._zod.optin === "optional";
3011
3069
  const isOptionalOut = el._zod.optout === "optional";
3012
3070
  const r = el._zod.run({ value: input[key], issues: [] }, ctx);
3013
3071
  if (r instanceof Promise) {
3014
- proms.push(r.then((r2) => handlePropertyResult(r2, payload, key, input, isOptionalOut)));
3072
+ proms.push(r.then((r2) => handlePropertyResult(r2, payload, key, input, isOptionalIn, isOptionalOut)));
3015
3073
  } else {
3016
- handlePropertyResult(r, payload, key, input, isOptionalOut);
3074
+ handlePropertyResult(r, payload, key, input, isOptionalIn, isOptionalOut);
3017
3075
  }
3018
3076
  }
3019
3077
  if (!catchall) {
@@ -3044,9 +3102,10 @@ var $ZodObjectJIT = /* @__PURE__ */ $constructor("$ZodObjectJIT", (inst, def) =>
3044
3102
  const id = ids[key];
3045
3103
  const k = esc(key);
3046
3104
  const schema = shape[key];
3105
+ const isOptionalIn = schema?._zod?.optin === "optional";
3047
3106
  const isOptionalOut = schema?._zod?.optout === "optional";
3048
3107
  doc.write(`const ${id} = ${parseStr(key)};`);
3049
- if (isOptionalOut) {
3108
+ if (isOptionalIn && isOptionalOut) {
3050
3109
  doc.write(`
3051
3110
  if (${id}.issues.length) {
3052
3111
  if (${k} in input) {
@@ -3065,6 +3124,33 @@ var $ZodObjectJIT = /* @__PURE__ */ $constructor("$ZodObjectJIT", (inst, def) =>
3065
3124
  newResult[${k}] = ${id}.value;
3066
3125
  }
3067
3126
 
3127
+ `);
3128
+ } else if (!isOptionalIn) {
3129
+ doc.write(`
3130
+ const ${id}_present = ${k} in input;
3131
+ if (${id}.issues.length) {
3132
+ payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
3133
+ ...iss,
3134
+ path: iss.path ? [${k}, ...iss.path] : [${k}]
3135
+ })));
3136
+ }
3137
+ if (!${id}_present && !${id}.issues.length) {
3138
+ payload.issues.push({
3139
+ code: "invalid_type",
3140
+ expected: "nonoptional",
3141
+ input: undefined,
3142
+ path: [${k}]
3143
+ });
3144
+ }
3145
+
3146
+ if (${id}_present) {
3147
+ if (${id}.value === undefined) {
3148
+ newResult[${k}] = undefined;
3149
+ } else {
3150
+ newResult[${k}] = ${id}.value;
3151
+ }
3152
+ }
3153
+
3068
3154
  `);
3069
3155
  } else {
3070
3156
  doc.write(`
@@ -3158,10 +3244,9 @@ var $ZodUnion = /* @__PURE__ */ $constructor("$ZodUnion", (inst, def) => {
3158
3244
  }
3159
3245
  return void 0;
3160
3246
  });
3161
- const single = def.options.length === 1;
3162
- const first = def.options[0]._zod.run;
3247
+ const first = def.options.length === 1 ? def.options[0]._zod.run : null;
3163
3248
  inst._zod.parse = (payload, ctx) => {
3164
- if (single) {
3249
+ if (first) {
3165
3250
  return first(payload, ctx);
3166
3251
  }
3167
3252
  let async = false;
@@ -3214,10 +3299,9 @@ function handleExclusiveUnionResults(results, final, inst, ctx) {
3214
3299
  var $ZodXor = /* @__PURE__ */ $constructor("$ZodXor", (inst, def) => {
3215
3300
  $ZodUnion.init(inst, def);
3216
3301
  def.inclusive = false;
3217
- const single = def.options.length === 1;
3218
- const first = def.options[0]._zod.run;
3302
+ const first = def.options.length === 1 ? def.options[0]._zod.run : null;
3219
3303
  inst._zod.parse = (payload, ctx) => {
3220
- if (single) {
3304
+ if (first) {
3221
3305
  return first(payload, ctx);
3222
3306
  }
3223
3307
  let async = false;
@@ -3292,7 +3376,7 @@ var $ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("$ZodDiscriminatedUnio
3292
3376
  if (opt) {
3293
3377
  return opt._zod.run(payload, ctx);
3294
3378
  }
3295
- if (def.unionFallback) {
3379
+ if (def.unionFallback || ctx.direction === "backward") {
3296
3380
  return _super(payload, ctx);
3297
3381
  }
3298
3382
  payload.issues.push({
@@ -3300,6 +3384,7 @@ var $ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("$ZodDiscriminatedUnio
3300
3384
  errors: [],
3301
3385
  note: "No matching discriminator",
3302
3386
  discriminator: def.discriminator,
3387
+ options: Array.from(disc.value.keys()),
3303
3388
  input,
3304
3389
  path: [def.discriminator],
3305
3390
  inst
@@ -3421,64 +3506,96 @@ var $ZodTuple = /* @__PURE__ */ $constructor("$ZodTuple", (inst, def) => {
3421
3506
  }
3422
3507
  payload.value = [];
3423
3508
  const proms = [];
3424
- const reversedIndex = [...items].reverse().findIndex((item) => item._zod.optin !== "optional");
3425
- const optStart = reversedIndex === -1 ? 0 : items.length - reversedIndex;
3509
+ const optinStart = getTupleOptStart(items, "optin");
3510
+ const optoutStart = getTupleOptStart(items, "optout");
3426
3511
  if (!def.rest) {
3427
- const tooBig = input.length > items.length;
3428
- const tooSmall = input.length < optStart - 1;
3429
- if (tooBig || tooSmall) {
3512
+ if (input.length < optinStart) {
3430
3513
  payload.issues.push({
3431
- ...tooBig ? { code: "too_big", maximum: items.length, inclusive: true } : { code: "too_small", minimum: items.length },
3514
+ code: "too_small",
3515
+ minimum: optinStart,
3516
+ inclusive: true,
3432
3517
  input,
3433
3518
  inst,
3434
3519
  origin: "array"
3435
3520
  });
3436
3521
  return payload;
3437
3522
  }
3438
- }
3439
- let i = -1;
3440
- for (const item of items) {
3441
- i++;
3442
- if (i >= input.length) {
3443
- if (i >= optStart)
3444
- continue;
3523
+ if (input.length > items.length) {
3524
+ payload.issues.push({
3525
+ code: "too_big",
3526
+ maximum: items.length,
3527
+ inclusive: true,
3528
+ input,
3529
+ inst,
3530
+ origin: "array"
3531
+ });
3445
3532
  }
3446
- const result = item._zod.run({
3447
- value: input[i],
3448
- issues: []
3449
- }, ctx);
3450
- if (result instanceof Promise) {
3451
- proms.push(result.then((result2) => handleTupleResult(result2, payload, i)));
3533
+ }
3534
+ const itemResults = new Array(items.length);
3535
+ for (let i = 0; i < items.length; i++) {
3536
+ const r = items[i]._zod.run({ value: input[i], issues: [] }, ctx);
3537
+ if (r instanceof Promise) {
3538
+ proms.push(r.then((rr) => {
3539
+ itemResults[i] = rr;
3540
+ }));
3452
3541
  } else {
3453
- handleTupleResult(result, payload, i);
3542
+ itemResults[i] = r;
3454
3543
  }
3455
3544
  }
3456
3545
  if (def.rest) {
3546
+ let i = items.length - 1;
3457
3547
  const rest = input.slice(items.length);
3458
3548
  for (const el of rest) {
3459
3549
  i++;
3460
- const result = def.rest._zod.run({
3461
- value: el,
3462
- issues: []
3463
- }, ctx);
3550
+ const result = def.rest._zod.run({ value: el, issues: [] }, ctx);
3464
3551
  if (result instanceof Promise) {
3465
- proms.push(result.then((result2) => handleTupleResult(result2, payload, i)));
3552
+ proms.push(result.then((r) => handleTupleResult(r, payload, i)));
3466
3553
  } else {
3467
3554
  handleTupleResult(result, payload, i);
3468
3555
  }
3469
3556
  }
3470
3557
  }
3471
- if (proms.length)
3472
- return Promise.all(proms).then(() => payload);
3473
- return payload;
3558
+ if (proms.length) {
3559
+ return Promise.all(proms).then(() => handleTupleResults(itemResults, payload, items, input, optoutStart));
3560
+ }
3561
+ return handleTupleResults(itemResults, payload, items, input, optoutStart);
3474
3562
  };
3475
3563
  });
3564
+ function getTupleOptStart(items, key) {
3565
+ for (let i = items.length - 1; i >= 0; i--) {
3566
+ if (items[i]._zod[key] !== "optional")
3567
+ return i + 1;
3568
+ }
3569
+ return 0;
3570
+ }
3476
3571
  function handleTupleResult(result, final, index) {
3477
3572
  if (result.issues.length) {
3478
3573
  final.issues.push(...prefixIssues(index, result.issues));
3479
3574
  }
3480
3575
  final.value[index] = result.value;
3481
3576
  }
3577
+ function handleTupleResults(itemResults, final, items, input, optoutStart) {
3578
+ for (let i = 0; i < items.length; i++) {
3579
+ const r = itemResults[i];
3580
+ const isPresent = i < input.length;
3581
+ if (r.issues.length) {
3582
+ if (!isPresent && i >= optoutStart) {
3583
+ final.value.length = i;
3584
+ break;
3585
+ }
3586
+ final.issues.push(...prefixIssues(i, r.issues));
3587
+ }
3588
+ final.value[i] = r.value;
3589
+ }
3590
+ for (let i = final.value.length - 1; i >= input.length; i--) {
3591
+ if (items[i]._zod.optout === "optional" && final.value[i] === void 0) {
3592
+ final.value.length = i;
3593
+ } else {
3594
+ break;
3595
+ }
3596
+ }
3597
+ return final;
3598
+ }
3482
3599
  var $ZodRecord = /* @__PURE__ */ $constructor("$ZodRecord", (inst, def) => {
3483
3600
  $ZodType.init(inst, def);
3484
3601
  inst._zod.parse = (payload, ctx) => {
@@ -3500,19 +3617,35 @@ var $ZodRecord = /* @__PURE__ */ $constructor("$ZodRecord", (inst, def) => {
3500
3617
  for (const key of values) {
3501
3618
  if (typeof key === "string" || typeof key === "number" || typeof key === "symbol") {
3502
3619
  recordKeys.add(typeof key === "number" ? key.toString() : key);
3620
+ const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);
3621
+ if (keyResult instanceof Promise) {
3622
+ throw new Error("Async schemas not supported in object keys currently");
3623
+ }
3624
+ if (keyResult.issues.length) {
3625
+ payload.issues.push({
3626
+ code: "invalid_key",
3627
+ origin: "record",
3628
+ issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config())),
3629
+ input: key,
3630
+ path: [key],
3631
+ inst
3632
+ });
3633
+ continue;
3634
+ }
3635
+ const outKey = keyResult.value;
3503
3636
  const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);
3504
3637
  if (result instanceof Promise) {
3505
3638
  proms.push(result.then((result2) => {
3506
3639
  if (result2.issues.length) {
3507
3640
  payload.issues.push(...prefixIssues(key, result2.issues));
3508
3641
  }
3509
- payload.value[key] = result2.value;
3642
+ payload.value[outKey] = result2.value;
3510
3643
  }));
3511
3644
  } else {
3512
3645
  if (result.issues.length) {
3513
3646
  payload.issues.push(...prefixIssues(key, result.issues));
3514
3647
  }
3515
- payload.value[key] = result.value;
3648
+ payload.value[outKey] = result.value;
3516
3649
  }
3517
3650
  }
3518
3651
  }
@@ -3536,6 +3669,8 @@ var $ZodRecord = /* @__PURE__ */ $constructor("$ZodRecord", (inst, def) => {
3536
3669
  for (const key of Reflect.ownKeys(input)) {
3537
3670
  if (key === "__proto__")
3538
3671
  continue;
3672
+ if (!Object.prototype.propertyIsEnumerable.call(input, key))
3673
+ continue;
3539
3674
  let keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);
3540
3675
  if (keyResult instanceof Promise) {
3541
3676
  throw new Error("Async schemas not supported in object keys currently");
@@ -3740,6 +3875,7 @@ var $ZodFile = /* @__PURE__ */ $constructor("$ZodFile", (inst, def) => {
3740
3875
  });
3741
3876
  var $ZodTransform = /* @__PURE__ */ $constructor("$ZodTransform", (inst, def) => {
3742
3877
  $ZodType.init(inst, def);
3878
+ inst._zod.optin = "optional";
3743
3879
  inst._zod.parse = (payload, ctx) => {
3744
3880
  if (ctx.direction === "backward") {
3745
3881
  throw new $ZodEncodeError(inst.constructor.name);
@@ -3749,6 +3885,7 @@ var $ZodTransform = /* @__PURE__ */ $constructor("$ZodTransform", (inst, def) =>
3749
3885
  const output = _out instanceof Promise ? _out : Promise.resolve(_out);
3750
3886
  return output.then((output2) => {
3751
3887
  payload.value = output2;
3888
+ payload.fallback = true;
3752
3889
  return payload;
3753
3890
  });
3754
3891
  }
@@ -3756,11 +3893,12 @@ var $ZodTransform = /* @__PURE__ */ $constructor("$ZodTransform", (inst, def) =>
3756
3893
  throw new $ZodAsyncError();
3757
3894
  }
3758
3895
  payload.value = _out;
3896
+ payload.fallback = true;
3759
3897
  return payload;
3760
3898
  };
3761
3899
  });
3762
3900
  function handleOptionalResult(result, input) {
3763
- if (result.issues.length && input === void 0) {
3901
+ if (input === void 0 && (result.issues.length || result.fallback)) {
3764
3902
  return { issues: [], value: void 0 };
3765
3903
  }
3766
3904
  return result;
@@ -3778,10 +3916,11 @@ var $ZodOptional = /* @__PURE__ */ $constructor("$ZodOptional", (inst, def) => {
3778
3916
  });
3779
3917
  inst._zod.parse = (payload, ctx) => {
3780
3918
  if (def.innerType._zod.optin === "optional") {
3919
+ const input = payload.value;
3781
3920
  const result = def.innerType._zod.run(payload, ctx);
3782
3921
  if (result instanceof Promise)
3783
- return result.then((r) => handleOptionalResult(r, payload.value));
3784
- return handleOptionalResult(result, payload.value);
3922
+ return result.then((r) => handleOptionalResult(r, input));
3923
+ return handleOptionalResult(result, input);
3785
3924
  }
3786
3925
  if (payload.value === void 0) {
3787
3926
  return payload;
@@ -3897,7 +4036,7 @@ var $ZodSuccess = /* @__PURE__ */ $constructor("$ZodSuccess", (inst, def) => {
3897
4036
  });
3898
4037
  var $ZodCatch = /* @__PURE__ */ $constructor("$ZodCatch", (inst, def) => {
3899
4038
  $ZodType.init(inst, def);
3900
- defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
4039
+ inst._zod.optin = "optional";
3901
4040
  defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
3902
4041
  defineLazy(inst._zod, "values", () => def.innerType._zod.values);
3903
4042
  inst._zod.parse = (payload, ctx) => {
@@ -3917,6 +4056,7 @@ var $ZodCatch = /* @__PURE__ */ $constructor("$ZodCatch", (inst, def) => {
3917
4056
  input: payload.value
3918
4057
  });
3919
4058
  payload.issues = [];
4059
+ payload.fallback = true;
3920
4060
  }
3921
4061
  return payload;
3922
4062
  });
@@ -3931,6 +4071,7 @@ var $ZodCatch = /* @__PURE__ */ $constructor("$ZodCatch", (inst, def) => {
3931
4071
  input: payload.value
3932
4072
  });
3933
4073
  payload.issues = [];
4074
+ payload.fallback = true;
3934
4075
  }
3935
4076
  return payload;
3936
4077
  };
@@ -3976,7 +4117,7 @@ function handlePipeResult(left, next, ctx) {
3976
4117
  left.aborted = true;
3977
4118
  return left;
3978
4119
  }
3979
- return next._zod.run({ value: left.value, issues: left.issues }, ctx);
4120
+ return next._zod.run({ value: left.value, issues: left.issues, fallback: left.fallback }, ctx);
3980
4121
  }
3981
4122
  var $ZodCodec = /* @__PURE__ */ $constructor("$ZodCodec", (inst, def) => {
3982
4123
  $ZodType.init(inst, def);
@@ -4028,6 +4169,9 @@ function handleCodecTxResult(left, value, nextSchema, ctx) {
4028
4169
  }
4029
4170
  return nextSchema._zod.run({ value, issues: left.issues }, ctx);
4030
4171
  }
4172
+ var $ZodPreprocess = /* @__PURE__ */ $constructor("$ZodPreprocess", (inst, def) => {
4173
+ $ZodPipe.init(inst, def);
4174
+ });
4031
4175
  var $ZodReadonly = /* @__PURE__ */ $constructor("$ZodReadonly", (inst, def) => {
4032
4176
  $ZodType.init(inst, def);
4033
4177
  defineLazy(inst._zod, "propValues", () => def.innerType._zod.propValues);
@@ -4179,7 +4323,12 @@ var $ZodPromise = /* @__PURE__ */ $constructor("$ZodPromise", (inst, def) => {
4179
4323
  });
4180
4324
  var $ZodLazy = /* @__PURE__ */ $constructor("$ZodLazy", (inst, def) => {
4181
4325
  $ZodType.init(inst, def);
4182
- defineLazy(inst._zod, "innerType", () => def.getter());
4326
+ defineLazy(inst._zod, "innerType", () => {
4327
+ const d = def;
4328
+ if (!d._cachedInner)
4329
+ d._cachedInner = def.getter();
4330
+ return d._cachedInner;
4331
+ });
4183
4332
  defineLazy(inst._zod, "pattern", () => inst._zod.innerType?._zod?.pattern);
4184
4333
  defineLazy(inst._zod, "propValues", () => inst._zod.innerType?._zod?.propValues);
4185
4334
  defineLazy(inst._zod, "optin", () => inst._zod.innerType?._zod?.optin ?? void 0);
@@ -4234,6 +4383,7 @@ __export(locales_exports, {
4234
4383
  cs: () => cs_default,
4235
4384
  da: () => da_default,
4236
4385
  de: () => de_default,
4386
+ el: () => el_default,
4237
4387
  en: () => en_default,
4238
4388
  eo: () => eo_default,
4239
4389
  es: () => es_default,
@@ -4242,6 +4392,7 @@ __export(locales_exports, {
4242
4392
  fr: () => fr_default,
4243
4393
  frCA: () => fr_CA_default,
4244
4394
  he: () => he_default,
4395
+ hr: () => hr_default,
4245
4396
  hu: () => hu_default,
4246
4397
  hy: () => hy_default,
4247
4398
  id: () => id_default,
@@ -4261,6 +4412,7 @@ __export(locales_exports, {
4261
4412
  pl: () => pl_default,
4262
4413
  ps: () => ps_default,
4263
4414
  pt: () => pt_default,
4415
+ ro: () => ro_default,
4264
4416
  ru: () => ru_default,
4265
4417
  sl: () => sl_default,
4266
4418
  sv: () => sv_default,
@@ -5214,8 +5366,118 @@ function de_default() {
5214
5366
  };
5215
5367
  }
5216
5368
 
5217
- // ../../node_modules/zod/v4/locales/en.js
5369
+ // ../../node_modules/zod/v4/locales/el.js
5218
5370
  var error9 = () => {
5371
+ const Sizable = {
5372
+ string: { unit: "\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" },
5373
+ file: { unit: "bytes", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" },
5374
+ array: { unit: "\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" },
5375
+ set: { unit: "\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" },
5376
+ map: { unit: "\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" }
5377
+ };
5378
+ function getSizing(origin) {
5379
+ return Sizable[origin] ?? null;
5380
+ }
5381
+ const FormatDictionary = {
5382
+ regex: "\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2",
5383
+ email: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email",
5384
+ url: "URL",
5385
+ emoji: "emoji",
5386
+ uuid: "UUID",
5387
+ uuidv4: "UUIDv4",
5388
+ uuidv6: "UUIDv6",
5389
+ nanoid: "nanoid",
5390
+ guid: "GUID",
5391
+ cuid: "cuid",
5392
+ cuid2: "cuid2",
5393
+ ulid: "ULID",
5394
+ xid: "XID",
5395
+ ksuid: "KSUID",
5396
+ datetime: "ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1",
5397
+ date: "ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1",
5398
+ time: "ISO \u03CE\u03C1\u03B1",
5399
+ duration: "ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1",
5400
+ ipv4: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4",
5401
+ ipv6: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6",
5402
+ mac: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC",
5403
+ cidrv4: "\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4",
5404
+ cidrv6: "\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6",
5405
+ base64: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64",
5406
+ base64url: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64url",
5407
+ json_string: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON",
5408
+ e164: "\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164",
5409
+ jwt: "JWT",
5410
+ template_literal: "\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"
5411
+ };
5412
+ const TypeDictionary = {
5413
+ nan: "NaN"
5414
+ };
5415
+ return (issue2) => {
5416
+ switch (issue2.code) {
5417
+ case "invalid_type": {
5418
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
5419
+ const receivedType = parsedType(issue2.input);
5420
+ const received = TypeDictionary[receivedType] ?? receivedType;
5421
+ if (typeof issue2.expected === "string" && /^[A-Z]/.test(issue2.expected)) {
5422
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD instanceof ${issue2.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${received}`;
5423
+ }
5424
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${received}`;
5425
+ }
5426
+ case "invalid_value":
5427
+ if (issue2.values.length === 1)
5428
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${stringifyPrimitive(issue2.values[0])}`;
5429
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD \u03AD\u03BD\u03B1 \u03B1\u03C0\u03CC ${joinValues(issue2.values, "|")}`;
5430
+ case "too_big": {
5431
+ const adj = issue2.inclusive ? "<=" : "<";
5432
+ const sizing = getSizing(issue2.origin);
5433
+ if (sizing)
5434
+ return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin ?? "\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1"}`;
5435
+ return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin ?? "\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${adj}${issue2.maximum.toString()}`;
5436
+ }
5437
+ case "too_small": {
5438
+ const adj = issue2.inclusive ? ">=" : ">";
5439
+ const sizing = getSizing(issue2.origin);
5440
+ if (sizing) {
5441
+ return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
5442
+ }
5443
+ return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${adj}${issue2.minimum.toString()}`;
5444
+ }
5445
+ case "invalid_format": {
5446
+ const _issue = issue2;
5447
+ if (_issue.format === "starts_with") {
5448
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AC \u03BC\u03B5 "${_issue.prefix}"`;
5449
+ }
5450
+ if (_issue.format === "ends_with")
5451
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B5\u03BB\u03B5\u03B9\u03CE\u03BD\u03B5\u03B9 \u03BC\u03B5 "${_issue.suffix}"`;
5452
+ if (_issue.format === "includes")
5453
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C0\u03B5\u03C1\u03B9\u03AD\u03C7\u03B5\u03B9 "${_issue.includes}"`;
5454
+ if (_issue.format === "regex")
5455
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B1\u03B9\u03C1\u03B9\u03AC\u03B6\u03B5\u03B9 \u03BC\u03B5 \u03C4\u03BF \u03BC\u03BF\u03C4\u03AF\u03B2\u03BF ${_issue.pattern}`;
5456
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${FormatDictionary[_issue.format] ?? issue2.format}`;
5457
+ }
5458
+ case "not_multiple_of":
5459
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03BB\u03B1\u03C0\u03BB\u03AC\u03C3\u03B9\u03BF \u03C4\u03BF\u03C5 ${issue2.divisor}`;
5460
+ case "unrecognized_keys":
5461
+ return `\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${issue2.keys.length > 1 ? "\u03B1" : "\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${issue2.keys.length > 1 ? "\u03B9\u03AC" : "\u03AF"}: ${joinValues(issue2.keys, ", ")}`;
5462
+ case "invalid_key":
5463
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${issue2.origin}`;
5464
+ case "invalid_union":
5465
+ return "\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2";
5466
+ case "invalid_element":
5467
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${issue2.origin}`;
5468
+ default:
5469
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2`;
5470
+ }
5471
+ };
5472
+ };
5473
+ function el_default() {
5474
+ return {
5475
+ localeError: error9()
5476
+ };
5477
+ }
5478
+
5479
+ // ../../node_modules/zod/v4/locales/en.js
5480
+ var error10 = () => {
5219
5481
  const Sizable = {
5220
5482
  string: { unit: "characters", verb: "to have" },
5221
5483
  file: { unit: "bytes", verb: "to have" },
@@ -5309,6 +5571,10 @@ var error9 = () => {
5309
5571
  case "invalid_key":
5310
5572
  return `Invalid key in ${issue2.origin}`;
5311
5573
  case "invalid_union":
5574
+ if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) {
5575
+ const opts = issue2.options.map((o) => `'${o}'`).join(" | ");
5576
+ return `Invalid discriminator value. Expected ${opts}`;
5577
+ }
5312
5578
  return "Invalid input";
5313
5579
  case "invalid_element":
5314
5580
  return `Invalid value in ${issue2.origin}`;
@@ -5319,12 +5585,12 @@ var error9 = () => {
5319
5585
  };
5320
5586
  function en_default() {
5321
5587
  return {
5322
- localeError: error9()
5588
+ localeError: error10()
5323
5589
  };
5324
5590
  }
5325
5591
 
5326
5592
  // ../../node_modules/zod/v4/locales/eo.js
5327
- var error10 = () => {
5593
+ var error11 = () => {
5328
5594
  const Sizable = {
5329
5595
  string: { unit: "karaktrojn", verb: "havi" },
5330
5596
  file: { unit: "bajtojn", verb: "havi" },
@@ -5429,12 +5695,12 @@ var error10 = () => {
5429
5695
  };
5430
5696
  function eo_default() {
5431
5697
  return {
5432
- localeError: error10()
5698
+ localeError: error11()
5433
5699
  };
5434
5700
  }
5435
5701
 
5436
5702
  // ../../node_modules/zod/v4/locales/es.js
5437
- var error11 = () => {
5703
+ var error12 = () => {
5438
5704
  const Sizable = {
5439
5705
  string: { unit: "caracteres", verb: "tener" },
5440
5706
  file: { unit: "bytes", verb: "tener" },
@@ -5562,12 +5828,12 @@ var error11 = () => {
5562
5828
  };
5563
5829
  function es_default() {
5564
5830
  return {
5565
- localeError: error11()
5831
+ localeError: error12()
5566
5832
  };
5567
5833
  }
5568
5834
 
5569
5835
  // ../../node_modules/zod/v4/locales/fa.js
5570
- var error12 = () => {
5836
+ var error13 = () => {
5571
5837
  const Sizable = {
5572
5838
  string: { unit: "\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" },
5573
5839
  file: { unit: "\u0628\u0627\u06CC\u062A", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" },
@@ -5677,12 +5943,12 @@ var error12 = () => {
5677
5943
  };
5678
5944
  function fa_default() {
5679
5945
  return {
5680
- localeError: error12()
5946
+ localeError: error13()
5681
5947
  };
5682
5948
  }
5683
5949
 
5684
5950
  // ../../node_modules/zod/v4/locales/fi.js
5685
- var error13 = () => {
5951
+ var error14 = () => {
5686
5952
  const Sizable = {
5687
5953
  string: { unit: "merkki\xE4", subject: "merkkijonon" },
5688
5954
  file: { unit: "tavua", subject: "tiedoston" },
@@ -5790,12 +6056,12 @@ var error13 = () => {
5790
6056
  };
5791
6057
  function fi_default() {
5792
6058
  return {
5793
- localeError: error13()
6059
+ localeError: error14()
5794
6060
  };
5795
6061
  }
5796
6062
 
5797
6063
  // ../../node_modules/zod/v4/locales/fr.js
5798
- var error14 = () => {
6064
+ var error15 = () => {
5799
6065
  const Sizable = {
5800
6066
  string: { unit: "caract\xE8res", verb: "avoir" },
5801
6067
  file: { unit: "octets", verb: "avoir" },
@@ -5836,9 +6102,27 @@ var error14 = () => {
5836
6102
  template_literal: "entr\xE9e"
5837
6103
  };
5838
6104
  const TypeDictionary = {
5839
- nan: "NaN",
6105
+ string: "cha\xEEne",
5840
6106
  number: "nombre",
5841
- array: "tableau"
6107
+ int: "entier",
6108
+ boolean: "bool\xE9en",
6109
+ bigint: "grand entier",
6110
+ symbol: "symbole",
6111
+ undefined: "ind\xE9fini",
6112
+ null: "null",
6113
+ never: "jamais",
6114
+ void: "vide",
6115
+ date: "date",
6116
+ array: "tableau",
6117
+ object: "objet",
6118
+ tuple: "tuple",
6119
+ record: "enregistrement",
6120
+ map: "carte",
6121
+ set: "ensemble",
6122
+ file: "fichier",
6123
+ nonoptional: "non-optionnel",
6124
+ nan: "NaN",
6125
+ function: "fonction"
5842
6126
  };
5843
6127
  return (issue2) => {
5844
6128
  switch (issue2.code) {
@@ -5859,16 +6143,15 @@ var error14 = () => {
5859
6143
  const adj = issue2.inclusive ? "<=" : "<";
5860
6144
  const sizing = getSizing(issue2.origin);
5861
6145
  if (sizing)
5862
- return `Trop grand : ${issue2.origin ?? "valeur"} doit ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\xE9l\xE9ment(s)"}`;
5863
- return `Trop grand : ${issue2.origin ?? "valeur"} doit \xEAtre ${adj}${issue2.maximum.toString()}`;
6146
+ return `Trop grand : ${TypeDictionary[issue2.origin] ?? "valeur"} doit ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\xE9l\xE9ment(s)"}`;
6147
+ return `Trop grand : ${TypeDictionary[issue2.origin] ?? "valeur"} doit \xEAtre ${adj}${issue2.maximum.toString()}`;
5864
6148
  }
5865
6149
  case "too_small": {
5866
6150
  const adj = issue2.inclusive ? ">=" : ">";
5867
6151
  const sizing = getSizing(issue2.origin);
5868
- if (sizing) {
5869
- return `Trop petit : ${issue2.origin} doit ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
5870
- }
5871
- return `Trop petit : ${issue2.origin} doit \xEAtre ${adj}${issue2.minimum.toString()}`;
6152
+ if (sizing)
6153
+ return `Trop petit : ${TypeDictionary[issue2.origin] ?? "valeur"} doit ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
6154
+ return `Trop petit : ${TypeDictionary[issue2.origin] ?? "valeur"} doit \xEAtre ${adj}${issue2.minimum.toString()}`;
5872
6155
  }
5873
6156
  case "invalid_format": {
5874
6157
  const _issue = issue2;
@@ -5899,12 +6182,12 @@ var error14 = () => {
5899
6182
  };
5900
6183
  function fr_default() {
5901
6184
  return {
5902
- localeError: error14()
6185
+ localeError: error15()
5903
6186
  };
5904
6187
  }
5905
6188
 
5906
6189
  // ../../node_modules/zod/v4/locales/fr-CA.js
5907
- var error15 = () => {
6190
+ var error16 = () => {
5908
6191
  const Sizable = {
5909
6192
  string: { unit: "caract\xE8res", verb: "avoir" },
5910
6193
  file: { unit: "octets", verb: "avoir" },
@@ -6007,12 +6290,12 @@ var error15 = () => {
6007
6290
  };
6008
6291
  function fr_CA_default() {
6009
6292
  return {
6010
- localeError: error15()
6293
+ localeError: error16()
6011
6294
  };
6012
6295
  }
6013
6296
 
6014
6297
  // ../../node_modules/zod/v4/locales/he.js
6015
- var error16 = () => {
6298
+ var error17 = () => {
6016
6299
  const TypeNames = {
6017
6300
  string: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA", gender: "f" },
6018
6301
  number: { label: "\u05DE\u05E1\u05E4\u05E8", gender: "m" },
@@ -6202,24 +6485,24 @@ var error16 = () => {
6202
6485
  };
6203
6486
  function he_default() {
6204
6487
  return {
6205
- localeError: error16()
6488
+ localeError: error17()
6206
6489
  };
6207
6490
  }
6208
6491
 
6209
- // ../../node_modules/zod/v4/locales/hu.js
6210
- var error17 = () => {
6492
+ // ../../node_modules/zod/v4/locales/hr.js
6493
+ var error18 = () => {
6211
6494
  const Sizable = {
6212
- string: { unit: "karakter", verb: "legyen" },
6213
- file: { unit: "byte", verb: "legyen" },
6214
- array: { unit: "elem", verb: "legyen" },
6215
- set: { unit: "elem", verb: "legyen" }
6495
+ string: { unit: "znakova", verb: "imati" },
6496
+ file: { unit: "bajtova", verb: "imati" },
6497
+ array: { unit: "stavki", verb: "imati" },
6498
+ set: { unit: "stavki", verb: "imati" }
6216
6499
  };
6217
6500
  function getSizing(origin) {
6218
6501
  return Sizable[origin] ?? null;
6219
6502
  }
6220
6503
  const FormatDictionary = {
6221
- regex: "bemenet",
6222
- email: "email c\xEDm",
6504
+ regex: "unos",
6505
+ email: "email adresa",
6223
6506
  url: "URL",
6224
6507
  emoji: "emoji",
6225
6508
  uuid: "UUID",
@@ -6232,25 +6515,37 @@ var error17 = () => {
6232
6515
  ulid: "ULID",
6233
6516
  xid: "XID",
6234
6517
  ksuid: "KSUID",
6235
- datetime: "ISO id\u0151b\xE9lyeg",
6236
- date: "ISO d\xE1tum",
6237
- time: "ISO id\u0151",
6238
- duration: "ISO id\u0151intervallum",
6239
- ipv4: "IPv4 c\xEDm",
6240
- ipv6: "IPv6 c\xEDm",
6241
- cidrv4: "IPv4 tartom\xE1ny",
6242
- cidrv6: "IPv6 tartom\xE1ny",
6243
- base64: "base64-k\xF3dolt string",
6244
- base64url: "base64url-k\xF3dolt string",
6245
- json_string: "JSON string",
6246
- e164: "E.164 sz\xE1m",
6518
+ datetime: "ISO datum i vrijeme",
6519
+ date: "ISO datum",
6520
+ time: "ISO vrijeme",
6521
+ duration: "ISO trajanje",
6522
+ ipv4: "IPv4 adresa",
6523
+ ipv6: "IPv6 adresa",
6524
+ cidrv4: "IPv4 raspon",
6525
+ cidrv6: "IPv6 raspon",
6526
+ base64: "base64 kodirani tekst",
6527
+ base64url: "base64url kodirani tekst",
6528
+ json_string: "JSON tekst",
6529
+ e164: "E.164 broj",
6247
6530
  jwt: "JWT",
6248
- template_literal: "bemenet"
6531
+ template_literal: "unos"
6249
6532
  };
6250
6533
  const TypeDictionary = {
6251
6534
  nan: "NaN",
6252
- number: "sz\xE1m",
6253
- array: "t\xF6mb"
6535
+ string: "tekst",
6536
+ number: "broj",
6537
+ boolean: "boolean",
6538
+ array: "niz",
6539
+ object: "objekt",
6540
+ set: "skup",
6541
+ file: "datoteka",
6542
+ date: "datum",
6543
+ bigint: "bigint",
6544
+ symbol: "simbol",
6545
+ undefined: "undefined",
6546
+ null: "null",
6547
+ function: "funkcija",
6548
+ map: "mapa"
6254
6549
  };
6255
6550
  return (issue2) => {
6256
6551
  switch (issue2.code) {
@@ -6259,20 +6554,131 @@ var error17 = () => {
6259
6554
  const receivedType = parsedType(issue2.input);
6260
6555
  const received = TypeDictionary[receivedType] ?? receivedType;
6261
6556
  if (/^[A-Z]/.test(issue2.expected)) {
6262
- return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${issue2.expected}, a kapott \xE9rt\xE9k ${received}`;
6557
+ return `Neispravan unos: o\u010Dekuje se instanceof ${issue2.expected}, a primljeno je ${received}`;
6263
6558
  }
6264
- return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${expected}, a kapott \xE9rt\xE9k ${received}`;
6559
+ return `Neispravan unos: o\u010Dekuje se ${expected}, a primljeno je ${received}`;
6265
6560
  }
6266
6561
  case "invalid_value":
6267
6562
  if (issue2.values.length === 1)
6268
- return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${stringifyPrimitive(issue2.values[0])}`;
6269
- return `\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${joinValues(issue2.values, "|")}`;
6563
+ return `Neispravna vrijednost: o\u010Dekivano ${stringifyPrimitive(issue2.values[0])}`;
6564
+ return `Neispravna opcija: o\u010Dekivano jedno od ${joinValues(issue2.values, "|")}`;
6270
6565
  case "too_big": {
6271
6566
  const adj = issue2.inclusive ? "<=" : "<";
6272
6567
  const sizing = getSizing(issue2.origin);
6568
+ const origin = TypeDictionary[issue2.origin] ?? issue2.origin;
6273
6569
  if (sizing)
6274
- return `T\xFAl nagy: ${issue2.origin ?? "\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elem"}`;
6275
- return `T\xFAl nagy: a bemeneti \xE9rt\xE9k ${issue2.origin ?? "\xE9rt\xE9k"} t\xFAl nagy: ${adj}${issue2.maximum.toString()}`;
6570
+ return `Preveliko: o\u010Dekivano da ${origin ?? "vrijednost"} ima ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemenata"}`;
6571
+ return `Preveliko: o\u010Dekivano da ${origin ?? "vrijednost"} bude ${adj}${issue2.maximum.toString()}`;
6572
+ }
6573
+ case "too_small": {
6574
+ const adj = issue2.inclusive ? ">=" : ">";
6575
+ const sizing = getSizing(issue2.origin);
6576
+ const origin = TypeDictionary[issue2.origin] ?? issue2.origin;
6577
+ if (sizing) {
6578
+ return `Premalo: o\u010Dekivano da ${origin} ima ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
6579
+ }
6580
+ return `Premalo: o\u010Dekivano da ${origin} bude ${adj}${issue2.minimum.toString()}`;
6581
+ }
6582
+ case "invalid_format": {
6583
+ const _issue = issue2;
6584
+ if (_issue.format === "starts_with")
6585
+ return `Neispravan tekst: mora zapo\u010Dinjati s "${_issue.prefix}"`;
6586
+ if (_issue.format === "ends_with")
6587
+ return `Neispravan tekst: mora zavr\u0161avati s "${_issue.suffix}"`;
6588
+ if (_issue.format === "includes")
6589
+ return `Neispravan tekst: mora sadr\u017Eavati "${_issue.includes}"`;
6590
+ if (_issue.format === "regex")
6591
+ return `Neispravan tekst: mora odgovarati uzorku ${_issue.pattern}`;
6592
+ return `Neispravna ${FormatDictionary[_issue.format] ?? issue2.format}`;
6593
+ }
6594
+ case "not_multiple_of":
6595
+ return `Neispravan broj: mora biti vi\u0161ekratnik od ${issue2.divisor}`;
6596
+ case "unrecognized_keys":
6597
+ return `Neprepoznat${issue2.keys.length > 1 ? "i klju\u010Devi" : " klju\u010D"}: ${joinValues(issue2.keys, ", ")}`;
6598
+ case "invalid_key":
6599
+ return `Neispravan klju\u010D u ${TypeDictionary[issue2.origin] ?? issue2.origin}`;
6600
+ case "invalid_union":
6601
+ return "Neispravan unos";
6602
+ case "invalid_element":
6603
+ return `Neispravna vrijednost u ${TypeDictionary[issue2.origin] ?? issue2.origin}`;
6604
+ default:
6605
+ return `Neispravan unos`;
6606
+ }
6607
+ };
6608
+ };
6609
+ function hr_default() {
6610
+ return {
6611
+ localeError: error18()
6612
+ };
6613
+ }
6614
+
6615
+ // ../../node_modules/zod/v4/locales/hu.js
6616
+ var error19 = () => {
6617
+ const Sizable = {
6618
+ string: { unit: "karakter", verb: "legyen" },
6619
+ file: { unit: "byte", verb: "legyen" },
6620
+ array: { unit: "elem", verb: "legyen" },
6621
+ set: { unit: "elem", verb: "legyen" }
6622
+ };
6623
+ function getSizing(origin) {
6624
+ return Sizable[origin] ?? null;
6625
+ }
6626
+ const FormatDictionary = {
6627
+ regex: "bemenet",
6628
+ email: "email c\xEDm",
6629
+ url: "URL",
6630
+ emoji: "emoji",
6631
+ uuid: "UUID",
6632
+ uuidv4: "UUIDv4",
6633
+ uuidv6: "UUIDv6",
6634
+ nanoid: "nanoid",
6635
+ guid: "GUID",
6636
+ cuid: "cuid",
6637
+ cuid2: "cuid2",
6638
+ ulid: "ULID",
6639
+ xid: "XID",
6640
+ ksuid: "KSUID",
6641
+ datetime: "ISO id\u0151b\xE9lyeg",
6642
+ date: "ISO d\xE1tum",
6643
+ time: "ISO id\u0151",
6644
+ duration: "ISO id\u0151intervallum",
6645
+ ipv4: "IPv4 c\xEDm",
6646
+ ipv6: "IPv6 c\xEDm",
6647
+ cidrv4: "IPv4 tartom\xE1ny",
6648
+ cidrv6: "IPv6 tartom\xE1ny",
6649
+ base64: "base64-k\xF3dolt string",
6650
+ base64url: "base64url-k\xF3dolt string",
6651
+ json_string: "JSON string",
6652
+ e164: "E.164 sz\xE1m",
6653
+ jwt: "JWT",
6654
+ template_literal: "bemenet"
6655
+ };
6656
+ const TypeDictionary = {
6657
+ nan: "NaN",
6658
+ number: "sz\xE1m",
6659
+ array: "t\xF6mb"
6660
+ };
6661
+ return (issue2) => {
6662
+ switch (issue2.code) {
6663
+ case "invalid_type": {
6664
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
6665
+ const receivedType = parsedType(issue2.input);
6666
+ const received = TypeDictionary[receivedType] ?? receivedType;
6667
+ if (/^[A-Z]/.test(issue2.expected)) {
6668
+ return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${issue2.expected}, a kapott \xE9rt\xE9k ${received}`;
6669
+ }
6670
+ return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${expected}, a kapott \xE9rt\xE9k ${received}`;
6671
+ }
6672
+ case "invalid_value":
6673
+ if (issue2.values.length === 1)
6674
+ return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${stringifyPrimitive(issue2.values[0])}`;
6675
+ return `\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${joinValues(issue2.values, "|")}`;
6676
+ case "too_big": {
6677
+ const adj = issue2.inclusive ? "<=" : "<";
6678
+ const sizing = getSizing(issue2.origin);
6679
+ if (sizing)
6680
+ return `T\xFAl nagy: ${issue2.origin ?? "\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elem"}`;
6681
+ return `T\xFAl nagy: a bemeneti \xE9rt\xE9k ${issue2.origin ?? "\xE9rt\xE9k"} t\xFAl nagy: ${adj}${issue2.maximum.toString()}`;
6276
6682
  }
6277
6683
  case "too_small": {
6278
6684
  const adj = issue2.inclusive ? ">=" : ">";
@@ -6311,7 +6717,7 @@ var error17 = () => {
6311
6717
  };
6312
6718
  function hu_default() {
6313
6719
  return {
6314
- localeError: error17()
6720
+ localeError: error19()
6315
6721
  };
6316
6722
  }
6317
6723
 
@@ -6326,7 +6732,7 @@ function withDefiniteArticle(word) {
6326
6732
  const lastChar = word[word.length - 1];
6327
6733
  return word + (vowels.includes(lastChar) ? "\u0576" : "\u0568");
6328
6734
  }
6329
- var error18 = () => {
6735
+ var error20 = () => {
6330
6736
  const Sizable = {
6331
6737
  string: {
6332
6738
  unit: {
@@ -6459,12 +6865,12 @@ var error18 = () => {
6459
6865
  };
6460
6866
  function hy_default() {
6461
6867
  return {
6462
- localeError: error18()
6868
+ localeError: error20()
6463
6869
  };
6464
6870
  }
6465
6871
 
6466
6872
  // ../../node_modules/zod/v4/locales/id.js
6467
- var error19 = () => {
6873
+ var error21 = () => {
6468
6874
  const Sizable = {
6469
6875
  string: { unit: "karakter", verb: "memiliki" },
6470
6876
  file: { unit: "byte", verb: "memiliki" },
@@ -6566,12 +6972,12 @@ var error19 = () => {
6566
6972
  };
6567
6973
  function id_default() {
6568
6974
  return {
6569
- localeError: error19()
6975
+ localeError: error21()
6570
6976
  };
6571
6977
  }
6572
6978
 
6573
6979
  // ../../node_modules/zod/v4/locales/is.js
6574
- var error20 = () => {
6980
+ var error22 = () => {
6575
6981
  const Sizable = {
6576
6982
  string: { unit: "stafi", verb: "a\xF0 hafa" },
6577
6983
  file: { unit: "b\xE6ti", verb: "a\xF0 hafa" },
@@ -6676,12 +7082,12 @@ var error20 = () => {
6676
7082
  };
6677
7083
  function is_default() {
6678
7084
  return {
6679
- localeError: error20()
7085
+ localeError: error22()
6680
7086
  };
6681
7087
  }
6682
7088
 
6683
7089
  // ../../node_modules/zod/v4/locales/it.js
6684
- var error21 = () => {
7090
+ var error23 = () => {
6685
7091
  const Sizable = {
6686
7092
  string: { unit: "caratteri", verb: "avere" },
6687
7093
  file: { unit: "byte", verb: "avere" },
@@ -6766,7 +7172,7 @@ var error21 = () => {
6766
7172
  return `Stringa non valida: deve includere "${_issue.includes}"`;
6767
7173
  if (_issue.format === "regex")
6768
7174
  return `Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`;
6769
- return `Invalid ${FormatDictionary[_issue.format] ?? issue2.format}`;
7175
+ return `Input non valido: ${FormatDictionary[_issue.format] ?? issue2.format}`;
6770
7176
  }
6771
7177
  case "not_multiple_of":
6772
7178
  return `Numero non valido: deve essere un multiplo di ${issue2.divisor}`;
@@ -6785,12 +7191,12 @@ var error21 = () => {
6785
7191
  };
6786
7192
  function it_default() {
6787
7193
  return {
6788
- localeError: error21()
7194
+ localeError: error23()
6789
7195
  };
6790
7196
  }
6791
7197
 
6792
7198
  // ../../node_modules/zod/v4/locales/ja.js
6793
- var error22 = () => {
7199
+ var error24 = () => {
6794
7200
  const Sizable = {
6795
7201
  string: { unit: "\u6587\u5B57", verb: "\u3067\u3042\u308B" },
6796
7202
  file: { unit: "\u30D0\u30A4\u30C8", verb: "\u3067\u3042\u308B" },
@@ -6893,12 +7299,12 @@ var error22 = () => {
6893
7299
  };
6894
7300
  function ja_default() {
6895
7301
  return {
6896
- localeError: error22()
7302
+ localeError: error24()
6897
7303
  };
6898
7304
  }
6899
7305
 
6900
7306
  // ../../node_modules/zod/v4/locales/ka.js
6901
- var error23 = () => {
7307
+ var error25 = () => {
6902
7308
  const Sizable = {
6903
7309
  string: { unit: "\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" },
6904
7310
  file: { unit: "\u10D1\u10D0\u10D8\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" },
@@ -6931,9 +7337,9 @@ var error23 = () => {
6931
7337
  ipv6: "IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",
6932
7338
  cidrv4: "IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",
6933
7339
  cidrv6: "IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",
6934
- base64: "base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",
6935
- base64url: "base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",
6936
- json_string: "JSON \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",
7340
+ base64: "base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",
7341
+ base64url: "base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",
7342
+ json_string: "JSON \u10D5\u10D4\u10DA\u10D8",
6937
7343
  e164: "E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",
6938
7344
  jwt: "JWT",
6939
7345
  template_literal: "\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"
@@ -6941,7 +7347,7 @@ var error23 = () => {
6941
7347
  const TypeDictionary = {
6942
7348
  nan: "NaN",
6943
7349
  number: "\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",
6944
- string: "\u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",
7350
+ string: "\u10D5\u10D4\u10DA\u10D8",
6945
7351
  boolean: "\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",
6946
7352
  function: "\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",
6947
7353
  array: "\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"
@@ -6979,14 +7385,14 @@ var error23 = () => {
6979
7385
  case "invalid_format": {
6980
7386
  const _issue = issue2;
6981
7387
  if (_issue.format === "starts_with") {
6982
- return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${_issue.prefix}"-\u10D8\u10D7`;
7388
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${_issue.prefix}"-\u10D8\u10D7`;
6983
7389
  }
6984
7390
  if (_issue.format === "ends_with")
6985
- return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${_issue.suffix}"-\u10D8\u10D7`;
7391
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${_issue.suffix}"-\u10D8\u10D7`;
6986
7392
  if (_issue.format === "includes")
6987
- return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 "${_issue.includes}"-\u10E1`;
7393
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 "${_issue.includes}"-\u10E1`;
6988
7394
  if (_issue.format === "regex")
6989
- return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${_issue.pattern}`;
7395
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${_issue.pattern}`;
6990
7396
  return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${FormatDictionary[_issue.format] ?? issue2.format}`;
6991
7397
  }
6992
7398
  case "not_multiple_of":
@@ -7006,12 +7412,12 @@ var error23 = () => {
7006
7412
  };
7007
7413
  function ka_default() {
7008
7414
  return {
7009
- localeError: error23()
7415
+ localeError: error25()
7010
7416
  };
7011
7417
  }
7012
7418
 
7013
7419
  // ../../node_modules/zod/v4/locales/km.js
7014
- var error24 = () => {
7420
+ var error26 = () => {
7015
7421
  const Sizable = {
7016
7422
  string: { unit: "\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" },
7017
7423
  file: { unit: "\u1794\u17C3", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" },
@@ -7117,7 +7523,7 @@ var error24 = () => {
7117
7523
  };
7118
7524
  function km_default() {
7119
7525
  return {
7120
- localeError: error24()
7526
+ localeError: error26()
7121
7527
  };
7122
7528
  }
7123
7529
 
@@ -7127,7 +7533,7 @@ function kh_default() {
7127
7533
  }
7128
7534
 
7129
7535
  // ../../node_modules/zod/v4/locales/ko.js
7130
- var error25 = () => {
7536
+ var error27 = () => {
7131
7537
  const Sizable = {
7132
7538
  string: { unit: "\uBB38\uC790", verb: "to have" },
7133
7539
  file: { unit: "\uBC14\uC774\uD2B8", verb: "to have" },
@@ -7234,7 +7640,7 @@ var error25 = () => {
7234
7640
  };
7235
7641
  function ko_default() {
7236
7642
  return {
7237
- localeError: error25()
7643
+ localeError: error27()
7238
7644
  };
7239
7645
  }
7240
7646
 
@@ -7252,7 +7658,7 @@ function getUnitTypeFromNumber(number4) {
7252
7658
  return "one";
7253
7659
  return "few";
7254
7660
  }
7255
- var error26 = () => {
7661
+ var error28 = () => {
7256
7662
  const Sizable = {
7257
7663
  string: {
7258
7664
  unit: {
@@ -7438,12 +7844,12 @@ var error26 = () => {
7438
7844
  };
7439
7845
  function lt_default() {
7440
7846
  return {
7441
- localeError: error26()
7847
+ localeError: error28()
7442
7848
  };
7443
7849
  }
7444
7850
 
7445
7851
  // ../../node_modules/zod/v4/locales/mk.js
7446
- var error27 = () => {
7852
+ var error29 = () => {
7447
7853
  const Sizable = {
7448
7854
  string: { unit: "\u0437\u043D\u0430\u0446\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" },
7449
7855
  file: { unit: "\u0431\u0430\u0458\u0442\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" },
@@ -7548,12 +7954,12 @@ var error27 = () => {
7548
7954
  };
7549
7955
  function mk_default() {
7550
7956
  return {
7551
- localeError: error27()
7957
+ localeError: error29()
7552
7958
  };
7553
7959
  }
7554
7960
 
7555
7961
  // ../../node_modules/zod/v4/locales/ms.js
7556
- var error28 = () => {
7962
+ var error30 = () => {
7557
7963
  const Sizable = {
7558
7964
  string: { unit: "aksara", verb: "mempunyai" },
7559
7965
  file: { unit: "bait", verb: "mempunyai" },
@@ -7656,12 +8062,12 @@ var error28 = () => {
7656
8062
  };
7657
8063
  function ms_default() {
7658
8064
  return {
7659
- localeError: error28()
8065
+ localeError: error30()
7660
8066
  };
7661
8067
  }
7662
8068
 
7663
8069
  // ../../node_modules/zod/v4/locales/nl.js
7664
- var error29 = () => {
8070
+ var error31 = () => {
7665
8071
  const Sizable = {
7666
8072
  string: { unit: "tekens", verb: "heeft" },
7667
8073
  file: { unit: "bytes", verb: "heeft" },
@@ -7767,12 +8173,12 @@ var error29 = () => {
7767
8173
  };
7768
8174
  function nl_default() {
7769
8175
  return {
7770
- localeError: error29()
8176
+ localeError: error31()
7771
8177
  };
7772
8178
  }
7773
8179
 
7774
8180
  // ../../node_modules/zod/v4/locales/no.js
7775
- var error30 = () => {
8181
+ var error32 = () => {
7776
8182
  const Sizable = {
7777
8183
  string: { unit: "tegn", verb: "\xE5 ha" },
7778
8184
  file: { unit: "bytes", verb: "\xE5 ha" },
@@ -7876,12 +8282,12 @@ var error30 = () => {
7876
8282
  };
7877
8283
  function no_default() {
7878
8284
  return {
7879
- localeError: error30()
8285
+ localeError: error32()
7880
8286
  };
7881
8287
  }
7882
8288
 
7883
8289
  // ../../node_modules/zod/v4/locales/ota.js
7884
- var error31 = () => {
8290
+ var error33 = () => {
7885
8291
  const Sizable = {
7886
8292
  string: { unit: "harf", verb: "olmal\u0131d\u0131r" },
7887
8293
  file: { unit: "bayt", verb: "olmal\u0131d\u0131r" },
@@ -7986,12 +8392,12 @@ var error31 = () => {
7986
8392
  };
7987
8393
  function ota_default() {
7988
8394
  return {
7989
- localeError: error31()
8395
+ localeError: error33()
7990
8396
  };
7991
8397
  }
7992
8398
 
7993
8399
  // ../../node_modules/zod/v4/locales/ps.js
7994
- var error32 = () => {
8400
+ var error34 = () => {
7995
8401
  const Sizable = {
7996
8402
  string: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" },
7997
8403
  file: { unit: "\u0628\u0627\u06CC\u067C\u0633", verb: "\u0648\u0644\u0631\u064A" },
@@ -8101,12 +8507,12 @@ var error32 = () => {
8101
8507
  };
8102
8508
  function ps_default() {
8103
8509
  return {
8104
- localeError: error32()
8510
+ localeError: error34()
8105
8511
  };
8106
8512
  }
8107
8513
 
8108
8514
  // ../../node_modules/zod/v4/locales/pl.js
8109
- var error33 = () => {
8515
+ var error35 = () => {
8110
8516
  const Sizable = {
8111
8517
  string: { unit: "znak\xF3w", verb: "mie\u0107" },
8112
8518
  file: { unit: "bajt\xF3w", verb: "mie\u0107" },
@@ -8211,12 +8617,12 @@ var error33 = () => {
8211
8617
  };
8212
8618
  function pl_default() {
8213
8619
  return {
8214
- localeError: error33()
8620
+ localeError: error35()
8215
8621
  };
8216
8622
  }
8217
8623
 
8218
8624
  // ../../node_modules/zod/v4/locales/pt.js
8219
- var error34 = () => {
8625
+ var error36 = () => {
8220
8626
  const Sizable = {
8221
8627
  string: { unit: "caracteres", verb: "ter" },
8222
8628
  file: { unit: "bytes", verb: "ter" },
@@ -8320,7 +8726,127 @@ var error34 = () => {
8320
8726
  };
8321
8727
  function pt_default() {
8322
8728
  return {
8323
- localeError: error34()
8729
+ localeError: error36()
8730
+ };
8731
+ }
8732
+
8733
+ // ../../node_modules/zod/v4/locales/ro.js
8734
+ var error37 = () => {
8735
+ const Sizable = {
8736
+ string: { unit: "caractere", verb: "s\u0103 aib\u0103" },
8737
+ file: { unit: "octe\u021Bi", verb: "s\u0103 aib\u0103" },
8738
+ array: { unit: "elemente", verb: "s\u0103 aib\u0103" },
8739
+ set: { unit: "elemente", verb: "s\u0103 aib\u0103" },
8740
+ map: { unit: "intr\u0103ri", verb: "s\u0103 aib\u0103" }
8741
+ };
8742
+ function getSizing(origin) {
8743
+ return Sizable[origin] ?? null;
8744
+ }
8745
+ const FormatDictionary = {
8746
+ regex: "intrare",
8747
+ email: "adres\u0103 de email",
8748
+ url: "URL",
8749
+ emoji: "emoji",
8750
+ uuid: "UUID",
8751
+ uuidv4: "UUIDv4",
8752
+ uuidv6: "UUIDv6",
8753
+ nanoid: "nanoid",
8754
+ guid: "GUID",
8755
+ cuid: "cuid",
8756
+ cuid2: "cuid2",
8757
+ ulid: "ULID",
8758
+ xid: "XID",
8759
+ ksuid: "KSUID",
8760
+ datetime: "dat\u0103 \u0219i or\u0103 ISO",
8761
+ date: "dat\u0103 ISO",
8762
+ time: "or\u0103 ISO",
8763
+ duration: "durat\u0103 ISO",
8764
+ ipv4: "adres\u0103 IPv4",
8765
+ ipv6: "adres\u0103 IPv6",
8766
+ mac: "adres\u0103 MAC",
8767
+ cidrv4: "interval IPv4",
8768
+ cidrv6: "interval IPv6",
8769
+ base64: "\u0219ir codat base64",
8770
+ base64url: "\u0219ir codat base64url",
8771
+ json_string: "\u0219ir JSON",
8772
+ e164: "num\u0103r E.164",
8773
+ jwt: "JWT",
8774
+ template_literal: "intrare"
8775
+ };
8776
+ const TypeDictionary = {
8777
+ nan: "NaN",
8778
+ string: "\u0219ir",
8779
+ number: "num\u0103r",
8780
+ boolean: "boolean",
8781
+ function: "func\u021Bie",
8782
+ array: "matrice",
8783
+ object: "obiect",
8784
+ undefined: "nedefinit",
8785
+ symbol: "simbol",
8786
+ bigint: "num\u0103r mare",
8787
+ void: "void",
8788
+ never: "never",
8789
+ map: "hart\u0103",
8790
+ set: "set"
8791
+ };
8792
+ return (issue2) => {
8793
+ switch (issue2.code) {
8794
+ case "invalid_type": {
8795
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
8796
+ const receivedType = parsedType(issue2.input);
8797
+ const received = TypeDictionary[receivedType] ?? receivedType;
8798
+ return `Intrare invalid\u0103: a\u0219teptat ${expected}, primit ${received}`;
8799
+ }
8800
+ case "invalid_value":
8801
+ if (issue2.values.length === 1)
8802
+ return `Intrare invalid\u0103: a\u0219teptat ${stringifyPrimitive(issue2.values[0])}`;
8803
+ return `Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${joinValues(issue2.values, "|")}`;
8804
+ case "too_big": {
8805
+ const adj = issue2.inclusive ? "<=" : "<";
8806
+ const sizing = getSizing(issue2.origin);
8807
+ if (sizing)
8808
+ return `Prea mare: a\u0219teptat ca ${issue2.origin ?? "valoarea"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemente"}`;
8809
+ return `Prea mare: a\u0219teptat ca ${issue2.origin ?? "valoarea"} s\u0103 fie ${adj}${issue2.maximum.toString()}`;
8810
+ }
8811
+ case "too_small": {
8812
+ const adj = issue2.inclusive ? ">=" : ">";
8813
+ const sizing = getSizing(issue2.origin);
8814
+ if (sizing) {
8815
+ return `Prea mic: a\u0219teptat ca ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
8816
+ }
8817
+ return `Prea mic: a\u0219teptat ca ${issue2.origin} s\u0103 fie ${adj}${issue2.minimum.toString()}`;
8818
+ }
8819
+ case "invalid_format": {
8820
+ const _issue = issue2;
8821
+ if (_issue.format === "starts_with") {
8822
+ return `\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${_issue.prefix}"`;
8823
+ }
8824
+ if (_issue.format === "ends_with")
8825
+ return `\u0218ir invalid: trebuie s\u0103 se termine cu "${_issue.suffix}"`;
8826
+ if (_issue.format === "includes")
8827
+ return `\u0218ir invalid: trebuie s\u0103 includ\u0103 "${_issue.includes}"`;
8828
+ if (_issue.format === "regex")
8829
+ return `\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${_issue.pattern}`;
8830
+ return `Format invalid: ${FormatDictionary[_issue.format] ?? issue2.format}`;
8831
+ }
8832
+ case "not_multiple_of":
8833
+ return `Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${issue2.divisor}`;
8834
+ case "unrecognized_keys":
8835
+ return `Chei nerecunoscute: ${joinValues(issue2.keys, ", ")}`;
8836
+ case "invalid_key":
8837
+ return `Cheie invalid\u0103 \xEEn ${issue2.origin}`;
8838
+ case "invalid_union":
8839
+ return "Intrare invalid\u0103";
8840
+ case "invalid_element":
8841
+ return `Valoare invalid\u0103 \xEEn ${issue2.origin}`;
8842
+ default:
8843
+ return `Intrare invalid\u0103`;
8844
+ }
8845
+ };
8846
+ };
8847
+ function ro_default() {
8848
+ return {
8849
+ localeError: error37()
8324
8850
  };
8325
8851
  }
8326
8852
 
@@ -8340,7 +8866,7 @@ function getRussianPlural(count, one, few, many) {
8340
8866
  }
8341
8867
  return many;
8342
8868
  }
8343
- var error35 = () => {
8869
+ var error38 = () => {
8344
8870
  const Sizable = {
8345
8871
  string: {
8346
8872
  unit: {
@@ -8477,12 +9003,12 @@ var error35 = () => {
8477
9003
  };
8478
9004
  function ru_default() {
8479
9005
  return {
8480
- localeError: error35()
9006
+ localeError: error38()
8481
9007
  };
8482
9008
  }
8483
9009
 
8484
9010
  // ../../node_modules/zod/v4/locales/sl.js
8485
- var error36 = () => {
9011
+ var error39 = () => {
8486
9012
  const Sizable = {
8487
9013
  string: { unit: "znakov", verb: "imeti" },
8488
9014
  file: { unit: "bajtov", verb: "imeti" },
@@ -8587,12 +9113,12 @@ var error36 = () => {
8587
9113
  };
8588
9114
  function sl_default() {
8589
9115
  return {
8590
- localeError: error36()
9116
+ localeError: error39()
8591
9117
  };
8592
9118
  }
8593
9119
 
8594
9120
  // ../../node_modules/zod/v4/locales/sv.js
8595
- var error37 = () => {
9121
+ var error40 = () => {
8596
9122
  const Sizable = {
8597
9123
  string: { unit: "tecken", verb: "att ha" },
8598
9124
  file: { unit: "bytes", verb: "att ha" },
@@ -8698,12 +9224,12 @@ var error37 = () => {
8698
9224
  };
8699
9225
  function sv_default() {
8700
9226
  return {
8701
- localeError: error37()
9227
+ localeError: error40()
8702
9228
  };
8703
9229
  }
8704
9230
 
8705
9231
  // ../../node_modules/zod/v4/locales/ta.js
8706
- var error38 = () => {
9232
+ var error41 = () => {
8707
9233
  const Sizable = {
8708
9234
  string: { unit: "\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" },
8709
9235
  file: { unit: "\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" },
@@ -8809,12 +9335,12 @@ var error38 = () => {
8809
9335
  };
8810
9336
  function ta_default() {
8811
9337
  return {
8812
- localeError: error38()
9338
+ localeError: error41()
8813
9339
  };
8814
9340
  }
8815
9341
 
8816
9342
  // ../../node_modules/zod/v4/locales/th.js
8817
- var error39 = () => {
9343
+ var error42 = () => {
8818
9344
  const Sizable = {
8819
9345
  string: { unit: "\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" },
8820
9346
  file: { unit: "\u0E44\u0E1A\u0E15\u0E4C", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" },
@@ -8920,12 +9446,12 @@ var error39 = () => {
8920
9446
  };
8921
9447
  function th_default() {
8922
9448
  return {
8923
- localeError: error39()
9449
+ localeError: error42()
8924
9450
  };
8925
9451
  }
8926
9452
 
8927
9453
  // ../../node_modules/zod/v4/locales/tr.js
8928
- var error40 = () => {
9454
+ var error43 = () => {
8929
9455
  const Sizable = {
8930
9456
  string: { unit: "karakter", verb: "olmal\u0131" },
8931
9457
  file: { unit: "bayt", verb: "olmal\u0131" },
@@ -9026,12 +9552,12 @@ var error40 = () => {
9026
9552
  };
9027
9553
  function tr_default() {
9028
9554
  return {
9029
- localeError: error40()
9555
+ localeError: error43()
9030
9556
  };
9031
9557
  }
9032
9558
 
9033
9559
  // ../../node_modules/zod/v4/locales/uk.js
9034
- var error41 = () => {
9560
+ var error44 = () => {
9035
9561
  const Sizable = {
9036
9562
  string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" },
9037
9563
  file: { unit: "\u0431\u0430\u0439\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" },
@@ -9135,7 +9661,7 @@ var error41 = () => {
9135
9661
  };
9136
9662
  function uk_default() {
9137
9663
  return {
9138
- localeError: error41()
9664
+ localeError: error44()
9139
9665
  };
9140
9666
  }
9141
9667
 
@@ -9145,7 +9671,7 @@ function ua_default() {
9145
9671
  }
9146
9672
 
9147
9673
  // ../../node_modules/zod/v4/locales/ur.js
9148
- var error42 = () => {
9674
+ var error45 = () => {
9149
9675
  const Sizable = {
9150
9676
  string: { unit: "\u062D\u0631\u0648\u0641", verb: "\u06C1\u0648\u0646\u0627" },
9151
9677
  file: { unit: "\u0628\u0627\u0626\u0679\u0633", verb: "\u06C1\u0648\u0646\u0627" },
@@ -9251,17 +9777,18 @@ var error42 = () => {
9251
9777
  };
9252
9778
  function ur_default() {
9253
9779
  return {
9254
- localeError: error42()
9780
+ localeError: error45()
9255
9781
  };
9256
9782
  }
9257
9783
 
9258
9784
  // ../../node_modules/zod/v4/locales/uz.js
9259
- var error43 = () => {
9785
+ var error46 = () => {
9260
9786
  const Sizable = {
9261
9787
  string: { unit: "belgi", verb: "bo\u2018lishi kerak" },
9262
9788
  file: { unit: "bayt", verb: "bo\u2018lishi kerak" },
9263
9789
  array: { unit: "element", verb: "bo\u2018lishi kerak" },
9264
- set: { unit: "element", verb: "bo\u2018lishi kerak" }
9790
+ set: { unit: "element", verb: "bo\u2018lishi kerak" },
9791
+ map: { unit: "yozuv", verb: "bo\u2018lishi kerak" }
9265
9792
  };
9266
9793
  function getSizing(origin) {
9267
9794
  return Sizable[origin] ?? null;
@@ -9361,12 +9888,12 @@ var error43 = () => {
9361
9888
  };
9362
9889
  function uz_default() {
9363
9890
  return {
9364
- localeError: error43()
9891
+ localeError: error46()
9365
9892
  };
9366
9893
  }
9367
9894
 
9368
9895
  // ../../node_modules/zod/v4/locales/vi.js
9369
- var error44 = () => {
9896
+ var error47 = () => {
9370
9897
  const Sizable = {
9371
9898
  string: { unit: "k\xFD t\u1EF1", verb: "c\xF3" },
9372
9899
  file: { unit: "byte", verb: "c\xF3" },
@@ -9470,12 +9997,12 @@ var error44 = () => {
9470
9997
  };
9471
9998
  function vi_default() {
9472
9999
  return {
9473
- localeError: error44()
10000
+ localeError: error47()
9474
10001
  };
9475
10002
  }
9476
10003
 
9477
10004
  // ../../node_modules/zod/v4/locales/zh-CN.js
9478
- var error45 = () => {
10005
+ var error48 = () => {
9479
10006
  const Sizable = {
9480
10007
  string: { unit: "\u5B57\u7B26", verb: "\u5305\u542B" },
9481
10008
  file: { unit: "\u5B57\u8282", verb: "\u5305\u542B" },
@@ -9580,12 +10107,12 @@ var error45 = () => {
9580
10107
  };
9581
10108
  function zh_CN_default() {
9582
10109
  return {
9583
- localeError: error45()
10110
+ localeError: error48()
9584
10111
  };
9585
10112
  }
9586
10113
 
9587
10114
  // ../../node_modules/zod/v4/locales/zh-TW.js
9588
- var error46 = () => {
10115
+ var error49 = () => {
9589
10116
  const Sizable = {
9590
10117
  string: { unit: "\u5B57\u5143", verb: "\u64C1\u6709" },
9591
10118
  file: { unit: "\u4F4D\u5143\u7D44", verb: "\u64C1\u6709" },
@@ -9688,12 +10215,12 @@ var error46 = () => {
9688
10215
  };
9689
10216
  function zh_TW_default() {
9690
10217
  return {
9691
- localeError: error46()
10218
+ localeError: error49()
9692
10219
  };
9693
10220
  }
9694
10221
 
9695
10222
  // ../../node_modules/zod/v4/locales/yo.js
9696
- var error47 = () => {
10223
+ var error50 = () => {
9697
10224
  const Sizable = {
9698
10225
  string: { unit: "\xE0mi", verb: "n\xED" },
9699
10226
  file: { unit: "bytes", verb: "n\xED" },
@@ -9796,12 +10323,12 @@ var error47 = () => {
9796
10323
  };
9797
10324
  function yo_default() {
9798
10325
  return {
9799
- localeError: error47()
10326
+ localeError: error50()
9800
10327
  };
9801
10328
  }
9802
10329
 
9803
10330
  // ../../node_modules/zod/v4/core/registries.js
9804
- var _a;
10331
+ var _a2;
9805
10332
  var $output = /* @__PURE__ */ Symbol("ZodOutput");
9806
10333
  var $input = /* @__PURE__ */ Symbol("ZodInput");
9807
10334
  var $ZodRegistry = class {
@@ -9847,7 +10374,7 @@ var $ZodRegistry = class {
9847
10374
  function registry() {
9848
10375
  return new $ZodRegistry();
9849
10376
  }
9850
- (_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());
10377
+ (_a2 = globalThis).__zod_globalRegistry ?? (_a2.__zod_globalRegistry = registry());
9851
10378
  var globalRegistry = globalThis.__zod_globalRegistry;
9852
10379
 
9853
10380
  // ../../node_modules/zod/v4/core/api.js
@@ -10765,7 +11292,7 @@ function _refine(Class2, fn, _params) {
10765
11292
  return schema;
10766
11293
  }
10767
11294
  // @__NO_SIDE_EFFECTS__
10768
- function _superRefine(fn) {
11295
+ function _superRefine(fn, params) {
10769
11296
  const ch = /* @__PURE__ */ _check((payload) => {
10770
11297
  payload.addIssue = (issue2) => {
10771
11298
  if (typeof issue2 === "string") {
@@ -10782,7 +11309,7 @@ function _superRefine(fn) {
10782
11309
  }
10783
11310
  };
10784
11311
  return fn(payload.value, payload);
10785
- });
11312
+ }, params);
10786
11313
  return ch;
10787
11314
  }
10788
11315
  // @__NO_SIDE_EFFECTS__
@@ -10912,7 +11439,7 @@ function initializeContext(params) {
10912
11439
  };
10913
11440
  }
10914
11441
  function process(schema, ctx, _params = { path: [], schemaPath: [] }) {
10915
- var _a2;
11442
+ var _a3;
10916
11443
  const def = schema._zod.def;
10917
11444
  const seen = ctx.seen.get(schema);
10918
11445
  if (seen) {
@@ -10959,8 +11486,8 @@ function process(schema, ctx, _params = { path: [], schemaPath: [] }) {
10959
11486
  delete result.schema.examples;
10960
11487
  delete result.schema.default;
10961
11488
  }
10962
- if (ctx.io === "input" && result.schema._prefault)
10963
- (_a2 = result.schema).default ?? (_a2.default = result.schema._prefault);
11489
+ if (ctx.io === "input" && "_prefault" in result.schema)
11490
+ (_a3 = result.schema).default ?? (_a3.default = result.schema._prefault);
10964
11491
  delete result.schema._prefault;
10965
11492
  const _result = ctx.seen.get(schema);
10966
11493
  return _result.schema;
@@ -11139,10 +11666,15 @@ function finalize(ctx, schema) {
11139
11666
  result.$id = ctx.external.uri(id);
11140
11667
  }
11141
11668
  Object.assign(result, root.def ?? root.schema);
11669
+ const rootMetaId = ctx.metadataRegistry.get(schema)?.id;
11670
+ if (rootMetaId !== void 0 && result.id === rootMetaId)
11671
+ delete result.id;
11142
11672
  const defs = ctx.external?.defs ?? {};
11143
11673
  for (const entry of ctx.seen.entries()) {
11144
11674
  const seen = entry[1];
11145
11675
  if (seen.def && seen.defId) {
11676
+ if (seen.def.id === seen.defId)
11677
+ delete seen.def.id;
11146
11678
  defs[seen.defId] = seen.def;
11147
11679
  }
11148
11680
  }
@@ -11197,6 +11729,8 @@ function isTransforming(_schema, _ctx) {
11197
11729
  return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);
11198
11730
  }
11199
11731
  if (def.type === "pipe") {
11732
+ if (_schema._zod.traits.has("$ZodCodec"))
11733
+ return true;
11200
11734
  return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);
11201
11735
  }
11202
11736
  if (def.type === "object") {
@@ -11286,39 +11820,28 @@ var numberProcessor = (schema, ctx, _json, _params) => {
11286
11820
  json2.type = "integer";
11287
11821
  else
11288
11822
  json2.type = "number";
11289
- if (typeof exclusiveMinimum === "number") {
11290
- if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
11823
+ const exMin = typeof exclusiveMinimum === "number" && exclusiveMinimum >= (minimum ?? Number.NEGATIVE_INFINITY);
11824
+ const exMax = typeof exclusiveMaximum === "number" && exclusiveMaximum <= (maximum ?? Number.POSITIVE_INFINITY);
11825
+ const legacy = ctx.target === "draft-04" || ctx.target === "openapi-3.0";
11826
+ if (exMin) {
11827
+ if (legacy) {
11291
11828
  json2.minimum = exclusiveMinimum;
11292
11829
  json2.exclusiveMinimum = true;
11293
11830
  } else {
11294
11831
  json2.exclusiveMinimum = exclusiveMinimum;
11295
11832
  }
11296
- }
11297
- if (typeof minimum === "number") {
11833
+ } else if (typeof minimum === "number") {
11298
11834
  json2.minimum = minimum;
11299
- if (typeof exclusiveMinimum === "number" && ctx.target !== "draft-04") {
11300
- if (exclusiveMinimum >= minimum)
11301
- delete json2.minimum;
11302
- else
11303
- delete json2.exclusiveMinimum;
11304
- }
11305
11835
  }
11306
- if (typeof exclusiveMaximum === "number") {
11307
- if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
11836
+ if (exMax) {
11837
+ if (legacy) {
11308
11838
  json2.maximum = exclusiveMaximum;
11309
11839
  json2.exclusiveMaximum = true;
11310
11840
  } else {
11311
11841
  json2.exclusiveMaximum = exclusiveMaximum;
11312
11842
  }
11313
- }
11314
- if (typeof maximum === "number") {
11843
+ } else if (typeof maximum === "number") {
11315
11844
  json2.maximum = maximum;
11316
- if (typeof exclusiveMaximum === "number" && ctx.target !== "draft-04") {
11317
- if (exclusiveMaximum <= maximum)
11318
- delete json2.maximum;
11319
- else
11320
- delete json2.exclusiveMaximum;
11321
- }
11322
11845
  }
11323
11846
  if (typeof multipleOf === "number")
11324
11847
  json2.multipleOf = multipleOf;
@@ -11488,7 +12011,10 @@ var arrayProcessor = (schema, ctx, _json, params) => {
11488
12011
  if (typeof maximum === "number")
11489
12012
  json2.maxItems = maximum;
11490
12013
  json2.type = "array";
11491
- json2.items = process(def.element, ctx, { ...params, path: [...params.path, "items"] });
12014
+ json2.items = process(def.element, ctx, {
12015
+ ...params,
12016
+ path: [...params.path, "items"]
12017
+ });
11492
12018
  };
11493
12019
  var objectProcessor = (schema, ctx, _json, params) => {
11494
12020
  const json2 = _json;
@@ -11681,7 +12207,8 @@ var catchProcessor = (schema, ctx, json2, params) => {
11681
12207
  };
11682
12208
  var pipeProcessor = (schema, ctx, _json, params) => {
11683
12209
  const def = schema._zod.def;
11684
- const innerType = ctx.io === "input" ? def.in._zod.def.type === "transform" ? def.out : def.in : def.out;
12210
+ const inIsTransform = def.in._zod.traits.has("$ZodTransform");
12211
+ const innerType = ctx.io === "input" ? inIsTransform ? def.out : def.in : def.out;
11685
12212
  process(innerType, ctx, params);
11686
12213
  const seen = ctx.seen.get(schema);
11687
12214
  seen.ref = innerType;
@@ -11915,6 +12442,7 @@ __export(schemas_exports2, {
11915
12442
  ZodOptional: () => ZodOptional,
11916
12443
  ZodPipe: () => ZodPipe,
11917
12444
  ZodPrefault: () => ZodPrefault,
12445
+ ZodPreprocess: () => ZodPreprocess,
11918
12446
  ZodPromise: () => ZodPromise,
11919
12447
  ZodReadonly: () => ZodReadonly,
11920
12448
  ZodRecord: () => ZodRecord,
@@ -11975,6 +12503,7 @@ __export(schemas_exports2, {
11975
12503
  int32: () => int32,
11976
12504
  int64: () => int64,
11977
12505
  intersection: () => intersection,
12506
+ invertCodec: () => invertCodec,
11978
12507
  ipv4: () => ipv42,
11979
12508
  ipv6: () => ipv62,
11980
12509
  json: () => json,
@@ -12144,8 +12673,8 @@ var initializer2 = (inst, issues) => {
12144
12673
  }
12145
12674
  });
12146
12675
  };
12147
- var ZodError = $constructor("ZodError", initializer2);
12148
- var ZodRealError = $constructor("ZodError", initializer2, {
12676
+ var ZodError = /* @__PURE__ */ $constructor("ZodError", initializer2);
12677
+ var ZodRealError = /* @__PURE__ */ $constructor("ZodError", initializer2, {
12149
12678
  Parent: Error
12150
12679
  });
12151
12680
 
@@ -12164,6 +12693,43 @@ var safeEncodeAsync2 = /* @__PURE__ */ _safeEncodeAsync(ZodRealError);
12164
12693
  var safeDecodeAsync2 = /* @__PURE__ */ _safeDecodeAsync(ZodRealError);
12165
12694
 
12166
12695
  // ../../node_modules/zod/v4/classic/schemas.js
12696
+ var _installedGroups = /* @__PURE__ */ new WeakMap();
12697
+ function _installLazyMethods(inst, group, methods) {
12698
+ const proto = Object.getPrototypeOf(inst);
12699
+ let installed = _installedGroups.get(proto);
12700
+ if (!installed) {
12701
+ installed = /* @__PURE__ */ new Set();
12702
+ _installedGroups.set(proto, installed);
12703
+ }
12704
+ if (installed.has(group))
12705
+ return;
12706
+ installed.add(group);
12707
+ for (const key in methods) {
12708
+ const fn = methods[key];
12709
+ Object.defineProperty(proto, key, {
12710
+ configurable: true,
12711
+ enumerable: false,
12712
+ get() {
12713
+ const bound = fn.bind(this);
12714
+ Object.defineProperty(this, key, {
12715
+ configurable: true,
12716
+ writable: true,
12717
+ enumerable: true,
12718
+ value: bound
12719
+ });
12720
+ return bound;
12721
+ },
12722
+ set(v) {
12723
+ Object.defineProperty(this, key, {
12724
+ configurable: true,
12725
+ writable: true,
12726
+ enumerable: true,
12727
+ value: v
12728
+ });
12729
+ }
12730
+ });
12731
+ }
12732
+ }
12167
12733
  var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
12168
12734
  $ZodType.init(inst, def);
12169
12735
  Object.assign(inst["~standard"], {
@@ -12176,23 +12742,6 @@ var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
12176
12742
  inst.def = def;
12177
12743
  inst.type = def.type;
12178
12744
  Object.defineProperty(inst, "_def", { value: def });
12179
- inst.check = (...checks) => {
12180
- return inst.clone(util_exports.mergeDefs(def, {
12181
- checks: [
12182
- ...def.checks ?? [],
12183
- ...checks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch)
12184
- ]
12185
- }), {
12186
- parent: true
12187
- });
12188
- };
12189
- inst.with = inst.check;
12190
- inst.clone = (def2, params) => clone(inst, def2, params);
12191
- inst.brand = () => inst;
12192
- inst.register = ((reg, meta3) => {
12193
- reg.add(inst, meta3);
12194
- return inst;
12195
- });
12196
12745
  inst.parse = (data, params) => parse2(inst, data, params, { callee: inst.parse });
12197
12746
  inst.safeParse = (data, params) => safeParse2(inst, data, params);
12198
12747
  inst.parseAsync = async (data, params) => parseAsync2(inst, data, params, { callee: inst.parseAsync });
@@ -12206,45 +12755,108 @@ var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
12206
12755
  inst.safeDecode = (data, params) => safeDecode2(inst, data, params);
12207
12756
  inst.safeEncodeAsync = async (data, params) => safeEncodeAsync2(inst, data, params);
12208
12757
  inst.safeDecodeAsync = async (data, params) => safeDecodeAsync2(inst, data, params);
12209
- inst.refine = (check2, params) => inst.check(refine(check2, params));
12210
- inst.superRefine = (refinement) => inst.check(superRefine(refinement));
12211
- inst.overwrite = (fn) => inst.check(_overwrite(fn));
12212
- inst.optional = () => optional(inst);
12213
- inst.exactOptional = () => exactOptional(inst);
12214
- inst.nullable = () => nullable(inst);
12215
- inst.nullish = () => optional(nullable(inst));
12216
- inst.nonoptional = (params) => nonoptional(inst, params);
12217
- inst.array = () => array(inst);
12218
- inst.or = (arg) => union([inst, arg]);
12219
- inst.and = (arg) => intersection(inst, arg);
12220
- inst.transform = (tx) => pipe(inst, transform(tx));
12221
- inst.default = (def2) => _default2(inst, def2);
12222
- inst.prefault = (def2) => prefault(inst, def2);
12223
- inst.catch = (params) => _catch2(inst, params);
12224
- inst.pipe = (target) => pipe(inst, target);
12225
- inst.readonly = () => readonly(inst);
12226
- inst.describe = (description) => {
12227
- const cl = inst.clone();
12228
- globalRegistry.add(cl, { description });
12229
- return cl;
12230
- };
12758
+ _installLazyMethods(inst, "ZodType", {
12759
+ check(...chks) {
12760
+ const def2 = this.def;
12761
+ return this.clone(util_exports.mergeDefs(def2, {
12762
+ checks: [
12763
+ ...def2.checks ?? [],
12764
+ ...chks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch)
12765
+ ]
12766
+ }), { parent: true });
12767
+ },
12768
+ with(...chks) {
12769
+ return this.check(...chks);
12770
+ },
12771
+ clone(def2, params) {
12772
+ return clone(this, def2, params);
12773
+ },
12774
+ brand() {
12775
+ return this;
12776
+ },
12777
+ register(reg, meta3) {
12778
+ reg.add(this, meta3);
12779
+ return this;
12780
+ },
12781
+ refine(check2, params) {
12782
+ return this.check(refine(check2, params));
12783
+ },
12784
+ superRefine(refinement, params) {
12785
+ return this.check(superRefine(refinement, params));
12786
+ },
12787
+ overwrite(fn) {
12788
+ return this.check(_overwrite(fn));
12789
+ },
12790
+ optional() {
12791
+ return optional(this);
12792
+ },
12793
+ exactOptional() {
12794
+ return exactOptional(this);
12795
+ },
12796
+ nullable() {
12797
+ return nullable(this);
12798
+ },
12799
+ nullish() {
12800
+ return optional(nullable(this));
12801
+ },
12802
+ nonoptional(params) {
12803
+ return nonoptional(this, params);
12804
+ },
12805
+ array() {
12806
+ return array(this);
12807
+ },
12808
+ or(arg) {
12809
+ return union([this, arg]);
12810
+ },
12811
+ and(arg) {
12812
+ return intersection(this, arg);
12813
+ },
12814
+ transform(tx) {
12815
+ return pipe(this, transform(tx));
12816
+ },
12817
+ default(d) {
12818
+ return _default2(this, d);
12819
+ },
12820
+ prefault(d) {
12821
+ return prefault(this, d);
12822
+ },
12823
+ catch(params) {
12824
+ return _catch2(this, params);
12825
+ },
12826
+ pipe(target) {
12827
+ return pipe(this, target);
12828
+ },
12829
+ readonly() {
12830
+ return readonly(this);
12831
+ },
12832
+ describe(description) {
12833
+ const cl = this.clone();
12834
+ globalRegistry.add(cl, { description });
12835
+ return cl;
12836
+ },
12837
+ meta(...args) {
12838
+ if (args.length === 0)
12839
+ return globalRegistry.get(this);
12840
+ const cl = this.clone();
12841
+ globalRegistry.add(cl, args[0]);
12842
+ return cl;
12843
+ },
12844
+ isOptional() {
12845
+ return this.safeParse(void 0).success;
12846
+ },
12847
+ isNullable() {
12848
+ return this.safeParse(null).success;
12849
+ },
12850
+ apply(fn) {
12851
+ return fn(this);
12852
+ }
12853
+ });
12231
12854
  Object.defineProperty(inst, "description", {
12232
12855
  get() {
12233
12856
  return globalRegistry.get(inst)?.description;
12234
12857
  },
12235
12858
  configurable: true
12236
12859
  });
12237
- inst.meta = (...args) => {
12238
- if (args.length === 0) {
12239
- return globalRegistry.get(inst);
12240
- }
12241
- const cl = inst.clone();
12242
- globalRegistry.add(cl, args[0]);
12243
- return cl;
12244
- };
12245
- inst.isOptional = () => inst.safeParse(void 0).success;
12246
- inst.isNullable = () => inst.safeParse(null).success;
12247
- inst.apply = (fn) => fn(inst);
12248
12860
  return inst;
12249
12861
  });
12250
12862
  var _ZodString = /* @__PURE__ */ $constructor("_ZodString", (inst, def) => {
@@ -12255,21 +12867,53 @@ var _ZodString = /* @__PURE__ */ $constructor("_ZodString", (inst, def) => {
12255
12867
  inst.format = bag.format ?? null;
12256
12868
  inst.minLength = bag.minimum ?? null;
12257
12869
  inst.maxLength = bag.maximum ?? null;
12258
- inst.regex = (...args) => inst.check(_regex(...args));
12259
- inst.includes = (...args) => inst.check(_includes(...args));
12260
- inst.startsWith = (...args) => inst.check(_startsWith(...args));
12261
- inst.endsWith = (...args) => inst.check(_endsWith(...args));
12262
- inst.min = (...args) => inst.check(_minLength(...args));
12263
- inst.max = (...args) => inst.check(_maxLength(...args));
12264
- inst.length = (...args) => inst.check(_length(...args));
12265
- inst.nonempty = (...args) => inst.check(_minLength(1, ...args));
12266
- inst.lowercase = (params) => inst.check(_lowercase(params));
12267
- inst.uppercase = (params) => inst.check(_uppercase(params));
12268
- inst.trim = () => inst.check(_trim());
12269
- inst.normalize = (...args) => inst.check(_normalize(...args));
12270
- inst.toLowerCase = () => inst.check(_toLowerCase());
12271
- inst.toUpperCase = () => inst.check(_toUpperCase());
12272
- inst.slugify = () => inst.check(_slugify());
12870
+ _installLazyMethods(inst, "_ZodString", {
12871
+ regex(...args) {
12872
+ return this.check(_regex(...args));
12873
+ },
12874
+ includes(...args) {
12875
+ return this.check(_includes(...args));
12876
+ },
12877
+ startsWith(...args) {
12878
+ return this.check(_startsWith(...args));
12879
+ },
12880
+ endsWith(...args) {
12881
+ return this.check(_endsWith(...args));
12882
+ },
12883
+ min(...args) {
12884
+ return this.check(_minLength(...args));
12885
+ },
12886
+ max(...args) {
12887
+ return this.check(_maxLength(...args));
12888
+ },
12889
+ length(...args) {
12890
+ return this.check(_length(...args));
12891
+ },
12892
+ nonempty(...args) {
12893
+ return this.check(_minLength(1, ...args));
12894
+ },
12895
+ lowercase(params) {
12896
+ return this.check(_lowercase(params));
12897
+ },
12898
+ uppercase(params) {
12899
+ return this.check(_uppercase(params));
12900
+ },
12901
+ trim() {
12902
+ return this.check(_trim());
12903
+ },
12904
+ normalize(...args) {
12905
+ return this.check(_normalize(...args));
12906
+ },
12907
+ toLowerCase() {
12908
+ return this.check(_toLowerCase());
12909
+ },
12910
+ toUpperCase() {
12911
+ return this.check(_toUpperCase());
12912
+ },
12913
+ slugify() {
12914
+ return this.check(_slugify());
12915
+ }
12916
+ });
12273
12917
  });
12274
12918
  var ZodString = /* @__PURE__ */ $constructor("ZodString", (inst, def) => {
12275
12919
  $ZodString.init(inst, def);
@@ -12348,7 +12992,7 @@ function url(params) {
12348
12992
  }
12349
12993
  function httpUrl(params) {
12350
12994
  return _url(ZodURL, {
12351
- protocol: /^https?$/,
12995
+ protocol: regexes_exports.httpProtocol,
12352
12996
  hostname: regexes_exports.domain,
12353
12997
  ...util_exports.normalizeParams(params)
12354
12998
  });
@@ -12490,21 +13134,53 @@ var ZodNumber = /* @__PURE__ */ $constructor("ZodNumber", (inst, def) => {
12490
13134
  $ZodNumber.init(inst, def);
12491
13135
  ZodType.init(inst, def);
12492
13136
  inst._zod.processJSONSchema = (ctx, json2, params) => numberProcessor(inst, ctx, json2);
12493
- inst.gt = (value, params) => inst.check(_gt(value, params));
12494
- inst.gte = (value, params) => inst.check(_gte(value, params));
12495
- inst.min = (value, params) => inst.check(_gte(value, params));
12496
- inst.lt = (value, params) => inst.check(_lt(value, params));
12497
- inst.lte = (value, params) => inst.check(_lte(value, params));
12498
- inst.max = (value, params) => inst.check(_lte(value, params));
12499
- inst.int = (params) => inst.check(int(params));
12500
- inst.safe = (params) => inst.check(int(params));
12501
- inst.positive = (params) => inst.check(_gt(0, params));
12502
- inst.nonnegative = (params) => inst.check(_gte(0, params));
12503
- inst.negative = (params) => inst.check(_lt(0, params));
12504
- inst.nonpositive = (params) => inst.check(_lte(0, params));
12505
- inst.multipleOf = (value, params) => inst.check(_multipleOf(value, params));
12506
- inst.step = (value, params) => inst.check(_multipleOf(value, params));
12507
- inst.finite = () => inst;
13137
+ _installLazyMethods(inst, "ZodNumber", {
13138
+ gt(value, params) {
13139
+ return this.check(_gt(value, params));
13140
+ },
13141
+ gte(value, params) {
13142
+ return this.check(_gte(value, params));
13143
+ },
13144
+ min(value, params) {
13145
+ return this.check(_gte(value, params));
13146
+ },
13147
+ lt(value, params) {
13148
+ return this.check(_lt(value, params));
13149
+ },
13150
+ lte(value, params) {
13151
+ return this.check(_lte(value, params));
13152
+ },
13153
+ max(value, params) {
13154
+ return this.check(_lte(value, params));
13155
+ },
13156
+ int(params) {
13157
+ return this.check(int(params));
13158
+ },
13159
+ safe(params) {
13160
+ return this.check(int(params));
13161
+ },
13162
+ positive(params) {
13163
+ return this.check(_gt(0, params));
13164
+ },
13165
+ nonnegative(params) {
13166
+ return this.check(_gte(0, params));
13167
+ },
13168
+ negative(params) {
13169
+ return this.check(_lt(0, params));
13170
+ },
13171
+ nonpositive(params) {
13172
+ return this.check(_lte(0, params));
13173
+ },
13174
+ multipleOf(value, params) {
13175
+ return this.check(_multipleOf(value, params));
13176
+ },
13177
+ step(value, params) {
13178
+ return this.check(_multipleOf(value, params));
13179
+ },
13180
+ finite() {
13181
+ return this;
13182
+ }
13183
+ });
12508
13184
  const bag = inst._zod.bag;
12509
13185
  inst.minValue = Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;
12510
13186
  inst.maxValue = Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;
@@ -12651,11 +13327,23 @@ var ZodArray = /* @__PURE__ */ $constructor("ZodArray", (inst, def) => {
12651
13327
  ZodType.init(inst, def);
12652
13328
  inst._zod.processJSONSchema = (ctx, json2, params) => arrayProcessor(inst, ctx, json2, params);
12653
13329
  inst.element = def.element;
12654
- inst.min = (minLength, params) => inst.check(_minLength(minLength, params));
12655
- inst.nonempty = (params) => inst.check(_minLength(1, params));
12656
- inst.max = (maxLength, params) => inst.check(_maxLength(maxLength, params));
12657
- inst.length = (len, params) => inst.check(_length(len, params));
12658
- inst.unwrap = () => inst.element;
13330
+ _installLazyMethods(inst, "ZodArray", {
13331
+ min(n, params) {
13332
+ return this.check(_minLength(n, params));
13333
+ },
13334
+ nonempty(params) {
13335
+ return this.check(_minLength(1, params));
13336
+ },
13337
+ max(n, params) {
13338
+ return this.check(_maxLength(n, params));
13339
+ },
13340
+ length(n, params) {
13341
+ return this.check(_length(n, params));
13342
+ },
13343
+ unwrap() {
13344
+ return this.element;
13345
+ }
13346
+ });
12659
13347
  });
12660
13348
  function array(element, params) {
12661
13349
  return _array(ZodArray, element, params);
@@ -12671,23 +13359,47 @@ var ZodObject = /* @__PURE__ */ $constructor("ZodObject", (inst, def) => {
12671
13359
  util_exports.defineLazy(inst, "shape", () => {
12672
13360
  return def.shape;
12673
13361
  });
12674
- inst.keyof = () => _enum2(Object.keys(inst._zod.def.shape));
12675
- inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall });
12676
- inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });
12677
- inst.loose = () => inst.clone({ ...inst._zod.def, catchall: unknown() });
12678
- inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });
12679
- inst.strip = () => inst.clone({ ...inst._zod.def, catchall: void 0 });
12680
- inst.extend = (incoming) => {
12681
- return util_exports.extend(inst, incoming);
12682
- };
12683
- inst.safeExtend = (incoming) => {
12684
- return util_exports.safeExtend(inst, incoming);
12685
- };
12686
- inst.merge = (other) => util_exports.merge(inst, other);
12687
- inst.pick = (mask) => util_exports.pick(inst, mask);
12688
- inst.omit = (mask) => util_exports.omit(inst, mask);
12689
- inst.partial = (...args) => util_exports.partial(ZodOptional, inst, args[0]);
12690
- inst.required = (...args) => util_exports.required(ZodNonOptional, inst, args[0]);
13362
+ _installLazyMethods(inst, "ZodObject", {
13363
+ keyof() {
13364
+ return _enum2(Object.keys(this._zod.def.shape));
13365
+ },
13366
+ catchall(catchall) {
13367
+ return this.clone({ ...this._zod.def, catchall });
13368
+ },
13369
+ passthrough() {
13370
+ return this.clone({ ...this._zod.def, catchall: unknown() });
13371
+ },
13372
+ loose() {
13373
+ return this.clone({ ...this._zod.def, catchall: unknown() });
13374
+ },
13375
+ strict() {
13376
+ return this.clone({ ...this._zod.def, catchall: never() });
13377
+ },
13378
+ strip() {
13379
+ return this.clone({ ...this._zod.def, catchall: void 0 });
13380
+ },
13381
+ extend(incoming) {
13382
+ return util_exports.extend(this, incoming);
13383
+ },
13384
+ safeExtend(incoming) {
13385
+ return util_exports.safeExtend(this, incoming);
13386
+ },
13387
+ merge(other) {
13388
+ return util_exports.merge(this, other);
13389
+ },
13390
+ pick(mask) {
13391
+ return util_exports.pick(this, mask);
13392
+ },
13393
+ omit(mask) {
13394
+ return util_exports.omit(this, mask);
13395
+ },
13396
+ partial(...args) {
13397
+ return util_exports.partial(ZodOptional, this, args[0]);
13398
+ },
13399
+ required(...args) {
13400
+ return util_exports.required(ZodNonOptional, this, args[0]);
13401
+ }
13402
+ });
12691
13403
  });
12692
13404
  function object(shape, params) {
12693
13405
  const def = {
@@ -12792,6 +13504,14 @@ var ZodRecord = /* @__PURE__ */ $constructor("ZodRecord", (inst, def) => {
12792
13504
  inst.valueType = def.valueType;
12793
13505
  });
12794
13506
  function record(keyType, valueType, params) {
13507
+ if (!valueType || !valueType._zod) {
13508
+ return new ZodRecord({
13509
+ type: "record",
13510
+ keyType: string2(),
13511
+ valueType: keyType,
13512
+ ...util_exports.normalizeParams(valueType)
13513
+ });
13514
+ }
12795
13515
  return new ZodRecord({
12796
13516
  type: "record",
12797
13517
  keyType,
@@ -12963,10 +13683,12 @@ var ZodTransform = /* @__PURE__ */ $constructor("ZodTransform", (inst, def) => {
12963
13683
  if (output instanceof Promise) {
12964
13684
  return output.then((output2) => {
12965
13685
  payload.value = output2;
13686
+ payload.fallback = true;
12966
13687
  return payload;
12967
13688
  });
12968
13689
  }
12969
13690
  payload.value = output;
13691
+ payload.fallback = true;
12970
13692
  return payload;
12971
13693
  };
12972
13694
  });
@@ -13121,6 +13843,20 @@ function codec(in_, out, params) {
13121
13843
  reverseTransform: params.encode
13122
13844
  });
13123
13845
  }
13846
+ function invertCodec(codec2) {
13847
+ const def = codec2._zod.def;
13848
+ return new ZodCodec({
13849
+ type: "pipe",
13850
+ in: def.out,
13851
+ out: def.in,
13852
+ transform: def.reverseTransform,
13853
+ reverseTransform: def.transform
13854
+ });
13855
+ }
13856
+ var ZodPreprocess = /* @__PURE__ */ $constructor("ZodPreprocess", (inst, def) => {
13857
+ ZodPipe.init(inst, def);
13858
+ $ZodPreprocess.init(inst, def);
13859
+ });
13124
13860
  var ZodReadonly = /* @__PURE__ */ $constructor("ZodReadonly", (inst, def) => {
13125
13861
  $ZodReadonly.init(inst, def);
13126
13862
  ZodType.init(inst, def);
@@ -13200,8 +13936,8 @@ function custom(fn, _params) {
13200
13936
  function refine(fn, _params = {}) {
13201
13937
  return _refine(ZodCustom, fn, _params);
13202
13938
  }
13203
- function superRefine(fn) {
13204
- return _superRefine(fn);
13939
+ function superRefine(fn, params) {
13940
+ return _superRefine(fn, params);
13205
13941
  }
13206
13942
  var describe2 = describe;
13207
13943
  var meta2 = meta;
@@ -13239,7 +13975,11 @@ function json(params) {
13239
13975
  return jsonSchema;
13240
13976
  }
13241
13977
  function preprocess(fn, schema) {
13242
- return pipe(transform(fn), schema);
13978
+ return new ZodPreprocess({
13979
+ type: "pipe",
13980
+ in: transform(fn),
13981
+ out: schema
13982
+ });
13243
13983
  }
13244
13984
 
13245
13985
  // ../../node_modules/zod/v4/classic/compat.js
@@ -13660,12 +14400,6 @@ function convertBaseSchema(schema, ctx) {
13660
14400
  default:
13661
14401
  throw new Error(`Unsupported type: ${type}`);
13662
14402
  }
13663
- if (schema.description) {
13664
- zodSchema = zodSchema.describe(schema.description);
13665
- }
13666
- if (schema.default !== void 0) {
13667
- zodSchema = zodSchema.default(schema.default);
13668
- }
13669
14403
  return zodSchema;
13670
14404
  }
13671
14405
  function convertSchema(schema, ctx) {
@@ -13702,6 +14436,9 @@ function convertSchema(schema, ctx) {
13702
14436
  if (schema.readOnly === true) {
13703
14437
  baseSchema = z.readonly(baseSchema);
13704
14438
  }
14439
+ if (schema.default !== void 0) {
14440
+ baseSchema = baseSchema.default(schema.default);
14441
+ }
13705
14442
  const extraMeta = {};
13706
14443
  const coreMetadataKeys = ["$id", "id", "$comment", "$anchor", "$vocabulary", "$dynamicRef", "$dynamicAnchor"];
13707
14444
  for (const key of coreMetadataKeys) {
@@ -13723,23 +14460,32 @@ function convertSchema(schema, ctx) {
13723
14460
  if (Object.keys(extraMeta).length > 0) {
13724
14461
  ctx.registry.add(baseSchema, extraMeta);
13725
14462
  }
14463
+ if (schema.description) {
14464
+ baseSchema = baseSchema.describe(schema.description);
14465
+ }
13726
14466
  return baseSchema;
13727
14467
  }
13728
14468
  function fromJSONSchema(schema, params) {
13729
14469
  if (typeof schema === "boolean") {
13730
14470
  return schema ? z.any() : z.never();
13731
14471
  }
13732
- const version2 = detectVersion(schema, params?.defaultTarget);
13733
- const defs = schema.$defs || schema.definitions || {};
14472
+ let normalized;
14473
+ try {
14474
+ normalized = JSON.parse(JSON.stringify(schema));
14475
+ } catch {
14476
+ throw new Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas");
14477
+ }
14478
+ const version2 = detectVersion(normalized, params?.defaultTarget);
14479
+ const defs = normalized.$defs || normalized.definitions || {};
13734
14480
  const ctx = {
13735
14481
  version: version2,
13736
14482
  defs,
13737
14483
  refs: /* @__PURE__ */ new Map(),
13738
14484
  processing: /* @__PURE__ */ new Set(),
13739
- rootSchema: schema,
14485
+ rootSchema: normalized,
13740
14486
  registry: params?.registry ?? globalRegistry
13741
14487
  };
13742
- return convertSchema(schema, ctx);
14488
+ return convertSchema(normalized, ctx);
13743
14489
  }
13744
14490
 
13745
14491
  // ../../node_modules/zod/v4/classic/coerce.js
@@ -13929,14 +14675,14 @@ function loadCredentials() {
13929
14675
  }
13930
14676
  logger.debug("Credentials loaded", { count: keys.length });
13931
14677
  return ok(keys);
13932
- } catch (error48) {
13933
- logger.error("Failed to load credentials", { error: error48 });
14678
+ } catch (error51) {
14679
+ logger.error("Failed to load credentials", { error: error51 });
13934
14680
  return err(
13935
14681
  HaiDeployError.CREDENTIAL_ERROR,
13936
14682
  deployM("deploy_credentialError", {
13937
- params: { error: error48 instanceof Error ? error48.message : String(error48) }
14683
+ params: { error: error51 instanceof Error ? error51.message : String(error51) }
13938
14684
  }),
13939
- error48
14685
+ error51
13940
14686
  );
13941
14687
  }
13942
14688
  }
@@ -13948,14 +14694,14 @@ function saveCredential(key, value) {
13948
14694
  process2.env[key] = value;
13949
14695
  logger.debug("Credential saved", { key });
13950
14696
  return ok(void 0);
13951
- } catch (error48) {
13952
- logger.error("Failed to save credential", { key, error: error48 });
14697
+ } catch (error51) {
14698
+ logger.error("Failed to save credential", { key, error: error51 });
13953
14699
  return err(
13954
14700
  HaiDeployError.CREDENTIAL_ERROR,
13955
14701
  deployM("deploy_credentialError", {
13956
- params: { error: error48 instanceof Error ? error48.message : String(error48) }
14702
+ params: { error: error51 instanceof Error ? error51.message : String(error51) }
13957
14703
  }),
13958
- error48
14704
+ error51
13959
14705
  );
13960
14706
  }
13961
14707
  }
@@ -13969,14 +14715,14 @@ function saveCredentials(entries) {
13969
14715
  writeCredentialsFile(data);
13970
14716
  logger.debug("Credentials saved", { count: Object.keys(entries).length });
13971
14717
  return ok(void 0);
13972
- } catch (error48) {
13973
- logger.error("Failed to save credentials", { error: error48 });
14718
+ } catch (error51) {
14719
+ logger.error("Failed to save credentials", { error: error51 });
13974
14720
  return err(
13975
14721
  HaiDeployError.CREDENTIAL_ERROR,
13976
14722
  deployM("deploy_credentialError", {
13977
- params: { error: error48 instanceof Error ? error48.message : String(error48) }
14723
+ params: { error: error51 instanceof Error ? error51.message : String(error51) }
13978
14724
  }),
13979
- error48
14725
+ error51
13980
14726
  );
13981
14727
  }
13982
14728
  }
@@ -13990,13 +14736,13 @@ function buildApp(appDir, buildCommand) {
13990
14736
  env: { ...process2.env }
13991
14737
  });
13992
14738
  return ok(void 0);
13993
- } catch (error48) {
14739
+ } catch (error51) {
13994
14740
  return err(
13995
14741
  HaiDeployError.BUILD_FAILED,
13996
14742
  deployM("deploy_buildFailed", {
13997
- params: { error: error48 instanceof Error ? error48.message : String(error48) }
14743
+ params: { error: error51 instanceof Error ? error51.message : String(error51) }
13998
14744
  }),
13999
- error48
14745
+ error51
14000
14746
  );
14001
14747
  }
14002
14748
  }
@@ -14149,14 +14895,14 @@ async function scanApp(appDir) {
14149
14895
  requiredServices
14150
14896
  });
14151
14897
  return ok(scanResult);
14152
- } catch (error48) {
14153
- logger3.error("Application scan failed", { appDir, error: error48 });
14898
+ } catch (error51) {
14899
+ logger3.error("Application scan failed", { appDir, error: error51 });
14154
14900
  return err(
14155
14901
  HaiDeployError.SCAN_FAILED,
14156
14902
  deployM("deploy_scanFailed", {
14157
- params: { error: error48 instanceof Error ? error48.message : String(error48) }
14903
+ params: { error: error51 instanceof Error ? error51.message : String(error51) }
14158
14904
  }),
14159
- error48
14905
+ error51
14160
14906
  );
14161
14907
  }
14162
14908
  }
@@ -14186,13 +14932,13 @@ var logger4 = core.logger.child({ module: "deploy", scope: "provider-vercel" });
14186
14932
  var VERCEL_API = "https://api.vercel.com";
14187
14933
  var POLL_INTERVAL = 3e3;
14188
14934
  var MAX_POLL_ATTEMPTS = 60;
14189
- function toDeployError(codeDef, messageKey, error48) {
14935
+ function toDeployError(codeDef, messageKey, error51) {
14190
14936
  return {
14191
14937
  ...codeDef,
14192
14938
  message: deployM(messageKey, {
14193
- params: { error: error48 instanceof Error ? error48.message : String(error48) }
14939
+ params: { error: error51 instanceof Error ? error51.message : String(error51) }
14194
14940
  }),
14195
- cause: error48
14941
+ cause: error51
14196
14942
  };
14197
14943
  }
14198
14944
  async function vercelFetch(token, path, options) {
@@ -14239,9 +14985,9 @@ function createVercelProvider() {
14239
14985
  const username = user.user.username || user.user.email;
14240
14986
  logger4.info("Vercel authenticated", { user: username });
14241
14987
  return ok(username);
14242
- } catch (error48) {
14243
- logger4.error("Vercel authentication failed", { error: error48 });
14244
- return err(toDeployError(HaiDeployError.AUTH_FAILED, "deploy_authFailed", error48));
14988
+ } catch (error51) {
14989
+ logger4.error("Vercel authentication failed", { error: error51 });
14990
+ return err(toDeployError(HaiDeployError.AUTH_FAILED, "deploy_authFailed", error51));
14245
14991
  }
14246
14992
  },
14247
14993
  async createProject(projectName) {
@@ -14271,9 +15017,9 @@ function createVercelProvider() {
14271
15017
  );
14272
15018
  logger4.info("Vercel project created", { projectName, projectId: project.id });
14273
15019
  return ok(project.id);
14274
- } catch (error48) {
14275
- logger4.error("Vercel project creation failed", { projectName, error: error48 });
14276
- return err(toDeployError(HaiDeployError.PROJECT_CREATE_FAILED, "deploy_projectCreateFailed", error48));
15020
+ } catch (error51) {
15021
+ logger4.error("Vercel project creation failed", { projectName, error: error51 });
15022
+ return err(toDeployError(HaiDeployError.PROJECT_CREATE_FAILED, "deploy_projectCreateFailed", error51));
14277
15023
  }
14278
15024
  },
14279
15025
  async setEnvVars(projectId, envVars) {
@@ -14301,9 +15047,9 @@ function createVercelProvider() {
14301
15047
  );
14302
15048
  logger4.info("Vercel env vars set", { projectId, count: envEntries.length });
14303
15049
  return ok(void 0);
14304
- } catch (error48) {
14305
- logger4.error("Vercel env vars setup failed", { projectId, error: error48 });
14306
- return err(toDeployError(HaiDeployError.ENV_VAR_FAILED, "deploy_envVarFailed", error48));
15050
+ } catch (error51) {
15051
+ logger4.error("Vercel env vars setup failed", { projectId, error: error51 });
15052
+ return err(toDeployError(HaiDeployError.ENV_VAR_FAILED, "deploy_envVarFailed", error51));
14307
15053
  }
14308
15054
  },
14309
15055
  async deploy(projectId, outputDir) {
@@ -14351,9 +15097,9 @@ function createVercelProvider() {
14351
15097
  status: finalStatus
14352
15098
  });
14353
15099
  return ok(result);
14354
- } catch (error48) {
14355
- logger4.error("Vercel deployment failed", { projectId, error: error48 });
14356
- return err(toDeployError(HaiDeployError.UPLOAD_FAILED, "deploy_uploadFailed", error48));
15100
+ } catch (error51) {
15101
+ logger4.error("Vercel deployment failed", { projectId, error: error51 });
15102
+ return err(toDeployError(HaiDeployError.UPLOAD_FAILED, "deploy_uploadFailed", error51));
14357
15103
  }
14358
15104
  }
14359
15105
  };
@@ -14417,14 +15163,14 @@ function createAliyunProvisioner() {
14417
15163
  secretKey = akSecret;
14418
15164
  logger5.info("Aliyun authenticated", { accessKeyId: `${akId.slice(0, 6)}***` });
14419
15165
  return ok(akId);
14420
- } catch (error48) {
14421
- logger5.error("Aliyun authentication failed", { error: error48 });
15166
+ } catch (error51) {
15167
+ logger5.error("Aliyun authentication failed", { error: error51 });
14422
15168
  return err(
14423
15169
  HaiDeployError.AUTH_FAILED,
14424
15170
  deployM("deploy_authFailed", {
14425
- params: { error: error48 instanceof Error ? error48.message : String(error48) }
15171
+ params: { error: error51 instanceof Error ? error51.message : String(error51) }
14426
15172
  }),
14427
- error48
15173
+ error51
14428
15174
  );
14429
15175
  }
14430
15176
  },
@@ -14471,14 +15217,14 @@ function createNeonProvisioner() {
14471
15217
  token = apiToken;
14472
15218
  logger6.info("Neon authenticated");
14473
15219
  return ok("neon-user");
14474
- } catch (error48) {
14475
- logger6.error("Neon authentication failed", { error: error48 });
15220
+ } catch (error51) {
15221
+ logger6.error("Neon authentication failed", { error: error51 });
14476
15222
  return err(
14477
15223
  HaiDeployError.AUTH_FAILED,
14478
15224
  deployM("deploy_authFailed", {
14479
- params: { error: error48 instanceof Error ? error48.message : String(error48) }
15225
+ params: { error: error51 instanceof Error ? error51.message : String(error51) }
14480
15226
  }),
14481
- error48
15227
+ error51
14482
15228
  );
14483
15229
  }
14484
15230
  },
@@ -14521,17 +15267,17 @@ function createNeonProvisioner() {
14521
15267
  },
14522
15268
  resourceInfo: `neon-project:${data.project.id}`
14523
15269
  });
14524
- } catch (error48) {
14525
- logger6.error("Neon provisioning failed", { appName, error: error48 });
15270
+ } catch (error51) {
15271
+ logger6.error("Neon provisioning failed", { appName, error: error51 });
14526
15272
  return err(
14527
15273
  HaiDeployError.PROVISION_FAILED,
14528
15274
  deployM("deploy_provisionFailed", {
14529
15275
  params: {
14530
15276
  service: "neon",
14531
- error: error48 instanceof Error ? error48.message : String(error48)
15277
+ error: error51 instanceof Error ? error51.message : String(error51)
14532
15278
  }
14533
15279
  }),
14534
- error48
15280
+ error51
14535
15281
  );
14536
15282
  }
14537
15283
  }
@@ -14563,14 +15309,14 @@ function createR2Provisioner() {
14563
15309
  token = apiTok;
14564
15310
  logger7.info("Cloudflare R2 authenticated", { accountId: acctId });
14565
15311
  return ok(acctId);
14566
- } catch (error48) {
14567
- logger7.error("Cloudflare R2 authentication failed", { error: error48 });
15312
+ } catch (error51) {
15313
+ logger7.error("Cloudflare R2 authentication failed", { error: error51 });
14568
15314
  return err(
14569
15315
  HaiDeployError.AUTH_FAILED,
14570
15316
  deployM("deploy_authFailed", {
14571
- params: { error: error48 instanceof Error ? error48.message : String(error48) }
15317
+ params: { error: error51 instanceof Error ? error51.message : String(error51) }
14572
15318
  }),
14573
- error48
15319
+ error51
14574
15320
  );
14575
15321
  }
14576
15322
  },
@@ -14635,17 +15381,17 @@ function createR2Provisioner() {
14635
15381
  },
14636
15382
  resourceInfo: `r2-bucket:${bucketName}`
14637
15383
  });
14638
- } catch (error48) {
14639
- logger7.error("R2 provisioning failed", { appName, error: error48 });
15384
+ } catch (error51) {
15385
+ logger7.error("R2 provisioning failed", { appName, error: error51 });
14640
15386
  return err(
14641
15387
  HaiDeployError.PROVISION_FAILED,
14642
15388
  deployM("deploy_provisionFailed", {
14643
15389
  params: {
14644
15390
  service: "r2",
14645
- error: error48 instanceof Error ? error48.message : String(error48)
15391
+ error: error51 instanceof Error ? error51.message : String(error51)
14646
15392
  }
14647
15393
  }),
14648
- error48
15394
+ error51
14649
15395
  );
14650
15396
  }
14651
15397
  }
@@ -14674,14 +15420,14 @@ function createResendProvisioner() {
14674
15420
  token = apiToken;
14675
15421
  logger8.info("Resend authenticated");
14676
15422
  return ok("resend-user");
14677
- } catch (error48) {
14678
- logger8.error("Resend authentication failed", { error: error48 });
15423
+ } catch (error51) {
15424
+ logger8.error("Resend authentication failed", { error: error51 });
14679
15425
  return err(
14680
15426
  HaiDeployError.AUTH_FAILED,
14681
15427
  deployM("deploy_authFailed", {
14682
- params: { error: error48 instanceof Error ? error48.message : String(error48) }
15428
+ params: { error: error51 instanceof Error ? error51.message : String(error51) }
14683
15429
  }),
14684
- error48
15430
+ error51
14685
15431
  );
14686
15432
  }
14687
15433
  },
@@ -14732,14 +15478,14 @@ function createUpstashProvisioner() {
14732
15478
  apiKey = userKey;
14733
15479
  logger9.info("Upstash authenticated", { email: userEmail });
14734
15480
  return ok(userEmail);
14735
- } catch (error48) {
14736
- logger9.error("Upstash authentication failed", { error: error48 });
15481
+ } catch (error51) {
15482
+ logger9.error("Upstash authentication failed", { error: error51 });
14737
15483
  return err(
14738
15484
  HaiDeployError.AUTH_FAILED,
14739
15485
  deployM("deploy_authFailed", {
14740
- params: { error: error48 instanceof Error ? error48.message : String(error48) }
15486
+ params: { error: error51 instanceof Error ? error51.message : String(error51) }
14741
15487
  }),
14742
- error48
15488
+ error51
14743
15489
  );
14744
15490
  }
14745
15491
  },
@@ -14778,17 +15524,17 @@ function createUpstashProvisioner() {
14778
15524
  },
14779
15525
  resourceInfo: `upstash-db:${data.database_id}`
14780
15526
  });
14781
- } catch (error48) {
14782
- logger9.error("Upstash provisioning failed", { appName, error: error48 });
15527
+ } catch (error51) {
15528
+ logger9.error("Upstash provisioning failed", { appName, error: error51 });
14783
15529
  return err(
14784
15530
  HaiDeployError.PROVISION_FAILED,
14785
15531
  deployM("deploy_provisionFailed", {
14786
15532
  params: {
14787
15533
  service: "upstash",
14788
- error: error48 instanceof Error ? error48.message : String(error48)
15534
+ error: error51 instanceof Error ? error51.message : String(error51)
14789
15535
  }
14790
15536
  }),
14791
- error48
15537
+ error51
14792
15538
  );
14793
15539
  }
14794
15540
  }
@@ -14901,17 +15647,17 @@ var deploy = {
14901
15647
  provisioners: [...currentProvisioners.keys()]
14902
15648
  });
14903
15649
  return ok(void 0);
14904
- } catch (error48) {
15650
+ } catch (error51) {
14905
15651
  currentProvider = null;
14906
15652
  currentConfig = null;
14907
15653
  currentProvisioners.clear();
14908
- logger10.error("Deploy module initialization failed", { error: error48 });
15654
+ logger10.error("Deploy module initialization failed", { error: error51 });
14909
15655
  return err(
14910
15656
  HaiDeployError.CONFIG_ERROR,
14911
15657
  deployM("deploy_configError", {
14912
- params: { error: error48 instanceof Error ? error48.message : String(error48) }
15658
+ params: { error: error51 instanceof Error ? error51.message : String(error51) }
14913
15659
  }),
14914
- error48
15660
+ error51
14915
15661
  );
14916
15662
  }
14917
15663
  } finally {
@@ -15026,5 +15772,5 @@ var deploy = {
15026
15772
  };
15027
15773
 
15028
15774
  export { DeployConfigSchema, HaiDeployError, ProviderConfigSchema, deploy, getCredentialsPath, loadCredentials, saveCredential, saveCredentials, scanApp };
15029
- //# sourceMappingURL=src-RZ4DPYNJ.js.map
15030
- //# sourceMappingURL=src-RZ4DPYNJ.js.map
15775
+ //# sourceMappingURL=src-N4NPS7AG.js.map
15776
+ //# sourceMappingURL=src-N4NPS7AG.js.map