simplepractice-mcp 1.1.1 → 1.1.3

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.
@@ -6,14 +6,14 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "SimplePractice Client Portal tools for Claude",
9
- "version": "1.1.1"
9
+ "version": "1.1.3"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "simplepractice",
14
14
  "source": "./",
15
15
  "description": "Read a SimplePractice Client Portal — appointments, invoices and superbills, documents to sign, and practice announcements. Signs in with the portal's own passwordless emailed link; requests go straight to the portal's JSON:API over your own session.",
16
- "version": "1.1.1",
16
+ "version": "1.1.3",
17
17
  "author": {
18
18
  "name": "Chris Chall",
19
19
  "url": "https://github.com/chrischall"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "simplepractice",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "SimplePractice Client Portal — appointments, billing, documents, and announcements",
5
5
  "author": {
6
6
  "name": "Chris Chall",
package/dist/bundle.js CHANGED
@@ -147,7 +147,6 @@ __export(external_exports, {
147
147
  ZodPrefault: () => ZodPrefault,
148
148
  ZodPreprocess: () => ZodPreprocess,
149
149
  ZodPromise: () => ZodPromise,
150
- ZodProperties: () => ZodProperties,
151
150
  ZodReadonly: () => ZodReadonly,
152
151
  ZodRealError: () => ZodRealError,
153
152
  ZodRecord: () => ZodRecord,
@@ -191,6 +190,7 @@ __export(external_exports, {
191
190
  creditCard: () => creditCard2,
192
191
  cuid: () => cuid3,
193
192
  cuid2: () => cuid22,
193
+ currencyCode: () => currencyCode2,
194
194
  custom: () => custom,
195
195
  date: () => date2,
196
196
  decode: () => decode2,
@@ -284,7 +284,7 @@ __export(external_exports, {
284
284
  preprocess: () => preprocess,
285
285
  prettifyError: () => prettifyError,
286
286
  promise: () => promise,
287
- properties: () => properties,
287
+ properties: () => _properties,
288
288
  property: () => _property,
289
289
  readonly: () => readonly,
290
290
  record: () => record,
@@ -372,6 +372,7 @@ __export(core_exports2, {
372
372
  $ZodCheckMultipleOf: () => $ZodCheckMultipleOf,
373
373
  $ZodCheckNumberFormat: () => $ZodCheckNumberFormat,
374
374
  $ZodCheckOverwrite: () => $ZodCheckOverwrite,
375
+ $ZodCheckProperties: () => $ZodCheckProperties,
375
376
  $ZodCheckProperty: () => $ZodCheckProperty,
376
377
  $ZodCheckRegex: () => $ZodCheckRegex,
377
378
  $ZodCheckSizeEquals: () => $ZodCheckSizeEquals,
@@ -425,7 +426,6 @@ __export(core_exports2, {
425
426
  $ZodPrefault: () => $ZodPrefault,
426
427
  $ZodPreprocess: () => $ZodPreprocess,
427
428
  $ZodPromise: () => $ZodPromise,
428
- $ZodProperties: () => $ZodProperties,
429
429
  $ZodReadonly: () => $ZodReadonly,
430
430
  $ZodRealError: () => $ZodRealError,
431
431
  $ZodRecord: () => $ZodRecord,
@@ -593,6 +593,7 @@ __export(core_exports2, {
593
593
  _xor: () => _xor,
594
594
  base64Charset: () => base64Charset,
595
595
  base64urlCharset: () => base64urlCharset,
596
+ canParseURL: () => canParseURL,
596
597
  clone: () => clone,
597
598
  compile: () => compile,
598
599
  compileFn: () => compileFn,
@@ -615,7 +616,6 @@ __export(core_exports2, {
615
616
  initializeContext: () => initializeContext,
616
617
  isBackEdge: () => isBackEdge,
617
618
  isRecursiveSchema: () => isRecursiveSchema,
618
- isTransforming: () => isTransforming,
619
619
  isValidBase64: () => isValidBase64,
620
620
  isValidBase64URL: () => isValidBase64URL,
621
621
  isValidCIDRv6: () => isValidCIDRv6,
@@ -652,6 +652,7 @@ __export(core_exports2, {
652
652
  util: () => util_exports,
653
653
  validate: () => validate,
654
654
  validateAsync: () => validateAsync,
655
+ validateURL: () => validateURL,
655
656
  version: () => version,
656
657
  withParser: () => withParser
657
658
  });
@@ -1393,9 +1394,6 @@ function members(proto, table) {
1393
1394
  else
1394
1395
  defineBound(proto, key, desc.value);
1395
1396
  }
1396
- for (const sym of Object.getOwnPropertySymbols(table)) {
1397
- defineBound(proto, sym, table[sym]);
1398
- }
1399
1397
  }
1400
1398
  function own(inst, key, value, enumerable = true) {
1401
1399
  Object.defineProperty(inst, key, { configurable: true, writable: true, enumerable, value });
@@ -1548,8 +1546,7 @@ function $constructor(name, initializer3, proto, params) {
1548
1546
  } finally {
1549
1547
  _zodDesc.value = void 0;
1550
1548
  }
1551
- }
1552
- if (inst._zod.traits.has(name)) {
1549
+ } else if (inst._zod.traits.has(name)) {
1553
1550
  return;
1554
1551
  }
1555
1552
  inst._zod.traits.add(name);
@@ -1991,6 +1988,7 @@ __export(regexes_exports, {
1991
1988
  creditCard: () => creditCard,
1992
1989
  cuid: () => cuid,
1993
1990
  cuid2: () => cuid2,
1991
+ currencyCode: () => currencyCode,
1994
1992
  date: () => date,
1995
1993
  datetime: () => datetime,
1996
1994
  domain: () => domain,
@@ -2089,6 +2087,7 @@ var domain = /^(?=.{1,253}$)([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a
2089
2087
  var httpProtocol = /^https?$/;
2090
2088
  var e164 = /^\+[1-9]\d{6,14}$/;
2091
2089
  var creditCard = /^\d(?:[ -]?\d){11,18}$/;
2090
+ var currencyCode = /^(?:AED|AFN|ALL|AMD|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAD|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XCG|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWG)$/;
2092
2091
  var iban = /^[A-Z]{2}(?!00|01|99)\d{2}[A-Z0-9]{11,30}$/;
2093
2092
  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])))`;
2094
2093
  function anchor(source) {
@@ -2573,6 +2572,34 @@ var $ZodCheckProperty = /* @__PURE__ */ $constructor("$ZodCheckProperty", (inst,
2573
2572
  return;
2574
2573
  };
2575
2574
  });
2575
+ var $ZodCheckProperties = /* @__PURE__ */ $constructor("$ZodCheckProperties", (inst, def) => {
2576
+ $ZodCheck.init(inst, def);
2577
+ hide(inst, Symbol.iterator, function* () {
2578
+ yield inst;
2579
+ });
2580
+ let entries;
2581
+ inst._zod.check = (payload) => {
2582
+ if (payload.value == null) {
2583
+ payload.issues.push({ expected: "object", code: "invalid_type", input: payload.value, inst });
2584
+ return void 0;
2585
+ }
2586
+ entries ?? (entries = Reflect.ownKeys(def.shape).map((key) => [key, def.shape[key]]));
2587
+ const input2 = payload.value;
2588
+ let proms;
2589
+ for (const [key, schema] of entries) {
2590
+ const result = schema._zod.run({ value: input2[key], issues: [] }, {});
2591
+ if (result instanceof Promise) {
2592
+ proms ?? (proms = []);
2593
+ proms.push(result.then((result2) => handleCheckPropertyResult(result2, payload, key)));
2594
+ } else {
2595
+ handleCheckPropertyResult(result, payload, key);
2596
+ }
2597
+ }
2598
+ if (proms)
2599
+ return Promise.all(proms).then(() => void 0);
2600
+ return void 0;
2601
+ };
2602
+ });
2576
2603
  var $ZodCheckMimeType = /* @__PURE__ */ $constructor("$ZodCheckMimeType", (inst, def) => {
2577
2604
  $ZodCheck.init(inst, def);
2578
2605
  const mimeSet = new Set(def.mime);
@@ -2640,7 +2667,7 @@ ${content.join("\n")}
2640
2667
  var version = {
2641
2668
  major: 4,
2642
2669
  minor: 6,
2643
- patch: 2
2670
+ patch: 5
2644
2671
  };
2645
2672
 
2646
2673
  // node_modules/zod/v4/core/schemas.js
@@ -2828,11 +2855,32 @@ var $ZodEmail = /* @__PURE__ */ $constructor("$ZodEmail", (inst, def) => {
2828
2855
  });
2829
2856
  var URL_BAD_FORMAT = 1;
2830
2857
  var URL_UNPARSEABLE = 2;
2858
+ function canParseURL(input2) {
2859
+ try {
2860
+ if (typeof URL !== "undefined" && typeof URL.canParse === "function")
2861
+ return URL.canParse(input2);
2862
+ new URL(input2);
2863
+ return true;
2864
+ } catch {
2865
+ return false;
2866
+ }
2867
+ }
2868
+ function validateURL(trimmed, def) {
2869
+ if (!("normalize" in def) && !("hostname" in def) && !("protocol" in def)) {
2870
+ return canParseURL(trimmed) || URL_UNPARSEABLE;
2871
+ }
2872
+ return parseURLObject(trimmed, def);
2873
+ }
2831
2874
  function parseURLObject(trimmed, def) {
2832
2875
  if (!def.normalize && def.protocol?.source === httpProtocol.source && !/^https?:\/\//i.test(trimmed)) {
2833
2876
  return URL_BAD_FORMAT;
2834
2877
  }
2835
2878
  try {
2879
+ if (typeof URL !== "undefined") {
2880
+ const URLStatic = URL;
2881
+ if (typeof URLStatic.parse === "function")
2882
+ return URLStatic.parse(trimmed) ?? URL_UNPARSEABLE;
2883
+ }
2836
2884
  return new URL(trimmed);
2837
2885
  } catch {
2838
2886
  return URL_UNPARSEABLE;
@@ -2855,7 +2903,7 @@ var $ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => {
2855
2903
  inst._zod.check = (payload) => {
2856
2904
  try {
2857
2905
  const trimmed = payload.value.trim();
2858
- const url2 = parseURLObject(trimmed, def);
2906
+ const url2 = validateURL(trimmed, def);
2859
2907
  if (url2 === URL_BAD_FORMAT) {
2860
2908
  payload.issues.push({
2861
2909
  code: "invalid_format",
@@ -2877,6 +2925,10 @@ var $ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => {
2877
2925
  });
2878
2926
  return;
2879
2927
  }
2928
+ if (url2 === true) {
2929
+ payload.value = stripTabAndNewline(trimmed);
2930
+ return;
2931
+ }
2880
2932
  if (def.hostname && !urlHostnameOk(url2, def.hostname)) {
2881
2933
  payload.issues.push({
2882
2934
  code: "invalid_format",
@@ -2966,12 +3018,7 @@ var ipv6Alphabet = /^[0-9a-fA-F:.]+$/;
2966
3018
  function isValidIPv6(value) {
2967
3019
  if (!ipv6Alphabet.test(value))
2968
3020
  return false;
2969
- try {
2970
- new URL(`http://[${value}]`);
2971
- return true;
2972
- } catch {
2973
- return false;
2974
- }
3021
+ return canParseURL(`http://[${value}]`);
2975
3022
  }
2976
3023
  var $ZodIPv6 = /* @__PURE__ */ $constructor("$ZodIPv6", (inst, def) => {
2977
3024
  def.pattern ?? (def.pattern = ipv6);
@@ -5036,59 +5083,6 @@ function handleRefineResult(result, payload, input2, inst) {
5036
5083
  payload.issues.push(issue(_iss));
5037
5084
  }
5038
5085
  }
5039
- function handlePropertiesResult(result, payload, key) {
5040
- if (result.issues.length) {
5041
- payload.issues.push(...prefixIssues(key, result.issues));
5042
- }
5043
- }
5044
- var $ZodProperties = /* @__PURE__ */ $constructor("$ZodProperties", (inst, def) => {
5045
- $ZodType.init(inst, def);
5046
- $ZodCheck.init(inst, def);
5047
- const memo3 = globalConfig.memoizer;
5048
- memo3?.attach(inst);
5049
- let entries;
5050
- const runShape = (payload, ctx) => {
5051
- entries ?? (entries = Reflect.ownKeys(def.shape).map((key) => [key, def.shape[key]]));
5052
- const input2 = payload.value;
5053
- let proms;
5054
- for (const [key, schema] of entries) {
5055
- const result = schema._zod.run({ value: input2[key], issues: [] }, ctx);
5056
- if (result instanceof Promise) {
5057
- proms ?? (proms = []);
5058
- proms.push(result.then((result2) => handlePropertiesResult(result2, payload, key)));
5059
- } else {
5060
- handlePropertiesResult(result, payload, key);
5061
- }
5062
- }
5063
- if (proms)
5064
- return Promise.all(proms).then(() => void 0);
5065
- return void 0;
5066
- };
5067
- inst._zod.parse = (payload, ctx) => {
5068
- const input2 = payload.value;
5069
- if (input2 === null || typeof input2 !== "object" && typeof input2 !== "function") {
5070
- payload.issues.push({ expected: "object", code: "invalid_type", input: input2, inst });
5071
- return payload;
5072
- }
5073
- if (ctx.direction === "backward")
5074
- ctx = { ...ctx, direction: "forward" };
5075
- if (memo3)
5076
- memo3.alloc(inst, payload, input2, ctx);
5077
- const result = runShape(payload, ctx);
5078
- return result instanceof Promise ? result.then(() => payload) : payload;
5079
- };
5080
- inst._zod.check = (payload) => {
5081
- if (payload.value == null) {
5082
- payload.issues.push({ expected: "object", code: "invalid_type", input: payload.value, inst });
5083
- return void 0;
5084
- }
5085
- return runShape(payload, {});
5086
- };
5087
- }, {
5088
- *[Symbol.iterator]() {
5089
- yield this;
5090
- }
5091
- });
5092
5086
 
5093
5087
  // node_modules/zod/v4/core/memoizer.js
5094
5088
  var $ZodCyclicError = class extends Error {
@@ -5100,7 +5094,7 @@ var $ZodCyclicError = class extends Error {
5100
5094
  var STATE = "~memo";
5101
5095
  var NO_ISSUES = [];
5102
5096
  function isRef(value) {
5103
- return value !== null && (typeof value === "object" || typeof value === "function");
5097
+ return value !== null && typeof value === "object";
5104
5098
  }
5105
5099
  function cloneIssues(issues) {
5106
5100
  return issues.map((iss) => iss.path ? { ...iss, path: iss.path.slice() } : { ...iss });
@@ -5149,9 +5143,6 @@ function isRecursive(inst, stack, resolve3) {
5149
5143
  check2(def.catchall);
5150
5144
  break;
5151
5145
  }
5152
- case "properties":
5153
- merge2(shape(def.shape, false));
5154
- break;
5155
5146
  case "array":
5156
5147
  check2(def.element);
5157
5148
  break;
@@ -5479,6 +5470,7 @@ var error = () => {
5479
5470
  json_string: "\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",
5480
5471
  e164: "\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",
5481
5472
  credit_card: "\u0631\u0642\u0645 \u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0627\u0626\u062A\u0645\u0627\u0646",
5473
+ currency_code: "\u0631\u0645\u0632 \u0627\u0644\u0639\u0645\u0644\u0629",
5482
5474
  iban: "IBAN",
5483
5475
  jwt: "JWT",
5484
5476
  template_literal: "\u0645\u062F\u062E\u0644"
@@ -5590,6 +5582,7 @@ var error2 = () => {
5590
5582
  json_string: "JSON string",
5591
5583
  e164: "E.164 number",
5592
5584
  credit_card: "kredit kart\u0131 n\xF6mr\u0259si",
5585
+ currency_code: "valyuta kodu",
5593
5586
  iban: "IBAN",
5594
5587
  jwt: "JWT",
5595
5588
  template_literal: "input"
@@ -5750,6 +5743,7 @@ var error3 = () => {
5750
5743
  json_string: "JSON \u0440\u0430\u0434\u043E\u043A",
5751
5744
  e164: "\u043D\u0443\u043C\u0430\u0440 E.164",
5752
5745
  credit_card: "\u043D\u0443\u043C\u0430\u0440 \u043A\u0440\u044D\u0434\u044B\u0442\u043D\u0430\u0439 \u043A\u0430\u0440\u0442\u044B",
5746
+ currency_code: "\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u044B",
5753
5747
  iban: "IBAN",
5754
5748
  jwt: "JWT",
5755
5749
  template_literal: "\u0443\u0432\u043E\u0434"
@@ -5868,6 +5862,7 @@ var error4 = () => {
5868
5862
  json_string: "JSON \u043D\u0438\u0437",
5869
5863
  e164: "E.164 \u043D\u043E\u043C\u0435\u0440",
5870
5864
  credit_card: "\u043D\u043E\u043C\u0435\u0440 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u0430 \u043A\u0430\u0440\u0442\u0430",
5865
+ currency_code: "\u043A\u043E\u0434 \u043D\u0430 \u0432\u0430\u043B\u0443\u0442\u0430",
5871
5866
  iban: "IBAN",
5872
5867
  jwt: "JWT",
5873
5868
  template_literal: "\u0432\u0445\u043E\u0434"
@@ -5993,6 +5988,7 @@ var error5 = () => {
5993
5988
  json_string: "JSON \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982",
5994
5989
  e164: "E.164 \u09A8\u09AE\u09CD\u09AC\u09B0",
5995
5990
  credit_card: "\u0995\u09CD\u09B0\u09C7\u09A1\u09BF\u099F \u0995\u09BE\u09B0\u09CD\u09A1 \u09A8\u09AE\u09CD\u09AC\u09B0",
5991
+ currency_code: "\u09AE\u09C1\u09A6\u09CD\u09B0\u09BE \u0995\u09CB\u09A1",
5996
5992
  iban: "IBAN",
5997
5993
  jwt: "JWT",
5998
5994
  template_literal: "\u0987\u09A8\u09AA\u09C1\u099F"
@@ -6106,6 +6102,7 @@ var error6 = () => {
6106
6102
  json_string: "cadena JSON",
6107
6103
  e164: "n\xFAmero E.164",
6108
6104
  credit_card: "n\xFAmero de targeta de cr\xE8dit",
6105
+ currency_code: "codi de moneda",
6109
6106
  iban: "IBAN",
6110
6107
  jwt: "JWT",
6111
6108
  template_literal: "entrada"
@@ -6219,6 +6216,7 @@ var error7 = () => {
6219
6216
  json_string: "\u062F\u06D5\u0642\u06CC JSON",
6220
6217
  e164: "\u0698\u0645\u0627\u0631\u06D5\u06CC E.164",
6221
6218
  credit_card: "\u0698\u0645\u0627\u0631\u06D5\u06CC \u06A9\u0627\u0631\u062A\u06CC \u06A9\u0631\u06CE\u062F\u06CC\u062A",
6219
+ currency_code: "\u06A9\u06C6\u062F\u06CC \u062F\u0631\u0627\u0648",
6222
6220
  iban: "IBAN",
6223
6221
  jwt: "JWT",
6224
6222
  template_literal: "\u062A\u06CE\u06A9\u0631\u062F\u06D5"
@@ -6351,6 +6349,7 @@ var error8 = () => {
6351
6349
  json_string: "\u0159et\u011Bzec ve form\xE1tu JSON",
6352
6350
  e164: "\u010D\xEDslo E.164",
6353
6351
  credit_card: "\u010D\xEDslo kreditn\xED karty",
6352
+ currency_code: "k\xF3d m\u011Bny",
6354
6353
  iban: "IBAN",
6355
6354
  jwt: "JWT",
6356
6355
  template_literal: "vstup"
@@ -6467,6 +6466,7 @@ var error9 = () => {
6467
6466
  json_string: "JSON-streng",
6468
6467
  e164: "E.164-nummer",
6469
6468
  credit_card: "kreditkortnummer",
6469
+ currency_code: "valutakode",
6470
6470
  iban: "IBAN",
6471
6471
  jwt: "JWT",
6472
6472
  template_literal: "input"
@@ -6587,6 +6587,7 @@ var error10 = () => {
6587
6587
  json_string: "JSON-String",
6588
6588
  e164: "E.164-Nummer",
6589
6589
  credit_card: "Kreditkartennummer",
6590
+ currency_code: "W\xE4hrungscode",
6590
6591
  iban: "IBAN",
6591
6592
  jwt: "JWT",
6592
6593
  template_literal: "Eingabe"
@@ -6700,6 +6701,7 @@ var error11 = () => {
6700
6701
  json_string: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON",
6701
6702
  e164: "\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164",
6702
6703
  credit_card: "\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 \u03C0\u03B9\u03C3\u03C4\u03C9\u03C4\u03B9\u03BA\u03AE\u03C2 \u03BA\u03AC\u03C1\u03C4\u03B1\u03C2",
6704
+ currency_code: "\u03BA\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 \u03BD\u03BF\u03BC\u03AF\u03C3\u03BC\u03B1\u03C4\u03BF\u03C2",
6703
6705
  iban: "IBAN",
6704
6706
  jwt: "JWT",
6705
6707
  template_literal: "\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"
@@ -6811,6 +6813,7 @@ var error12 = () => {
6811
6813
  base64url: "base64url-encoded string",
6812
6814
  json_string: "JSON string",
6813
6815
  e164: "E.164 number",
6816
+ currency_code: "currency code",
6814
6817
  credit_card: "credit card number",
6815
6818
  iban: "IBAN",
6816
6819
  jwt: "JWT",
@@ -6936,6 +6939,7 @@ var error13 = () => {
6936
6939
  json_string: "JSON-karaktraro",
6937
6940
  e164: "E.164-nombro",
6938
6941
  credit_card: "kreditkarta numero",
6942
+ currency_code: "valuta kodo",
6939
6943
  iban: "IBAN",
6940
6944
  jwt: "JWT",
6941
6945
  template_literal: "enigo"
@@ -7049,6 +7053,7 @@ var error14 = () => {
7049
7053
  json_string: "cadena JSON",
7050
7054
  e164: "n\xFAmero E.164",
7051
7055
  credit_card: "n\xFAmero de tarjeta de cr\xE9dito",
7056
+ currency_code: "c\xF3digo de moneda",
7052
7057
  iban: "IBAN",
7053
7058
  jwt: "JWT",
7054
7059
  template_literal: "entrada"
@@ -7186,6 +7191,7 @@ var error15 = () => {
7186
7191
  json_string: "JSON \u0631\u0634\u062A\u0647",
7187
7192
  e164: "E.164 \u0639\u062F\u062F",
7188
7193
  credit_card: "\u0634\u0645\u0627\u0631\u0647 \u06A9\u0627\u0631\u062A \u0627\u0639\u062A\u0628\u0627\u0631\u06CC",
7194
+ currency_code: "\u06A9\u062F \u0627\u0631\u0632",
7189
7195
  iban: "IBAN",
7190
7196
  jwt: "JWT",
7191
7197
  template_literal: "\u0648\u0631\u0648\u062F\u06CC"
@@ -7309,6 +7315,7 @@ var error16 = () => {
7309
7315
  json_string: "JSON-merkkijono",
7310
7316
  e164: "E.164-luku",
7311
7317
  credit_card: "luottokortin numero",
7318
+ currency_code: "valuuttakoodi",
7312
7319
  iban: "IBAN",
7313
7320
  jwt: "JWT",
7314
7321
  template_literal: "templaattimerkkijono"
@@ -7421,6 +7428,7 @@ var error17 = () => {
7421
7428
  json_string: "cha\xEEne de caract\xE8res JSON",
7422
7429
  e164: "num\xE9ro au format E.164",
7423
7430
  credit_card: "num\xE9ro de carte de cr\xE9dit",
7431
+ currency_code: "code de devise",
7424
7432
  iban: "IBAN",
7425
7433
  jwt: "JWT",
7426
7434
  template_literal: "entr\xE9e"
@@ -7551,6 +7559,7 @@ var error18 = () => {
7551
7559
  json_string: "cha\xEEne JSON",
7552
7560
  e164: "num\xE9ro E.164",
7553
7561
  credit_card: "num\xE9ro de carte de cr\xE9dit",
7562
+ currency_code: "code de devise",
7554
7563
  iban: "IBAN",
7555
7564
  jwt: "JWT",
7556
7565
  template_literal: "entr\xE9e"
@@ -7663,6 +7672,7 @@ var error19 = () => {
7663
7672
  json_string: "JSON \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97",
7664
7673
  e164: "E.164 \u0AA8\u0A82\u0AAC\u0AB0",
7665
7674
  credit_card: "\u0A95\u0ACD\u0AB0\u0AC7\u0AA1\u0ABF\u0A9F \u0A95\u0ABE\u0AB0\u0ACD\u0AA1 \u0AA8\u0A82\u0AAC\u0AB0",
7675
+ currency_code: "\u0A9A\u0AB2\u0AA3 \u0A95\u0ACB\u0AA1",
7666
7676
  iban: "IBAN",
7667
7677
  jwt: "JWT",
7668
7678
  template_literal: "\u0A87\u0AA8\u0AAA\u0AC1\u0A9F"
@@ -7812,6 +7822,7 @@ var error20 = () => {
7812
7822
  json_string: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON", gender: "f" },
7813
7823
  e164: { label: "\u05DE\u05E1\u05E4\u05E8 E.164", gender: "m" },
7814
7824
  credit_card: { label: "\u05DE\u05E1\u05E4\u05E8 \u05DB\u05E8\u05D8\u05D9\u05E1 \u05D0\u05E9\u05E8\u05D0\u05D9", gender: "m" },
7825
+ currency_code: { label: "\u05E7\u05D5\u05D3 \u05DE\u05D8\u05D1\u05E2", gender: "m" },
7815
7826
  iban: { label: "IBAN", gender: "m" },
7816
7827
  jwt: { label: "JWT", gender: "m" },
7817
7828
  template_literal: { label: "\u05E7\u05DC\u05D8", gender: "m" },
@@ -7977,6 +7988,7 @@ var error21 = () => {
7977
7988
  json_string: "JSON \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917",
7978
7989
  e164: "E.164 \u0938\u0902\u0916\u094D\u092F\u093E",
7979
7990
  credit_card: "\u0915\u094D\u0930\u0947\u0921\u093F\u091F \u0915\u093E\u0930\u094D\u0921 \u0938\u0902\u0916\u094D\u092F\u093E",
7991
+ currency_code: "\u092E\u0941\u0926\u094D\u0930\u093E \u0915\u094B\u0921",
7980
7992
  iban: "IBAN",
7981
7993
  jwt: "JWT",
7982
7994
  template_literal: "\u0907\u0928\u092A\u0941\u091F"
@@ -8087,6 +8099,7 @@ var error22 = () => {
8087
8099
  json_string: "JSON tekst",
8088
8100
  e164: "E.164 broj",
8089
8101
  credit_card: "broj kreditne kartice",
8102
+ currency_code: "kod valute",
8090
8103
  iban: "IBAN",
8091
8104
  jwt: "JWT",
8092
8105
  template_literal: "unos"
@@ -8214,6 +8227,7 @@ var error23 = () => {
8214
8227
  json_string: "JSON string",
8215
8228
  e164: "E.164 sz\xE1m",
8216
8229
  credit_card: "hitelk\xE1rtyasz\xE1m",
8230
+ currency_code: "p\xE9nznemk\xF3d",
8217
8231
  iban: "IBAN",
8218
8232
  jwt: "JWT",
8219
8233
  template_literal: "bemenet"
@@ -8367,6 +8381,7 @@ var error24 = () => {
8367
8381
  json_string: "JSON \u057F\u0578\u0572",
8368
8382
  e164: "E.164 \u0570\u0561\u0574\u0561\u0580",
8369
8383
  credit_card: "\u056F\u0580\u0565\u0564\u056B\u057F \u0584\u0561\u0580\u057F\u056B \u0570\u0561\u0574\u0561\u0580",
8384
+ currency_code: "\u0561\u0580\u056A\u0578\u0582\u0575\u0569\u056B \u056F\u0578\u0564",
8370
8385
  iban: "IBAN",
8371
8386
  jwt: "JWT",
8372
8387
  template_literal: "\u0574\u0578\u0582\u057F\u0584"
@@ -8485,6 +8500,7 @@ var error25 = () => {
8485
8500
  json_string: "string JSON",
8486
8501
  e164: "angka E.164",
8487
8502
  credit_card: "nomor kartu kredit",
8503
+ currency_code: "kode mata uang",
8488
8504
  iban: "IBAN",
8489
8505
  jwt: "JWT",
8490
8506
  template_literal: "input"
@@ -8596,6 +8612,7 @@ var error26 = () => {
8596
8612
  json_string: "JSON strengur",
8597
8613
  e164: "E.164 t\xF6lugildi",
8598
8614
  credit_card: "kreditkortan\xFAmer",
8615
+ currency_code: "gjaldmi\xF0ilsk\xF3\xF0i",
8599
8616
  iban: "IBAN",
8600
8617
  jwt: "JWT",
8601
8618
  template_literal: "gildi"
@@ -8710,6 +8727,7 @@ var error27 = () => {
8710
8727
  json_string: "stringa JSON",
8711
8728
  e164: "numero E.164",
8712
8729
  credit_card: "numero di carta di credito",
8730
+ currency_code: "codice valuta",
8713
8731
  iban: "IBAN",
8714
8732
  jwt: "JWT",
8715
8733
  template_literal: "input"
@@ -8823,6 +8841,7 @@ var error28 = () => {
8823
8841
  json_string: "JSON\u6587\u5B57\u5217",
8824
8842
  e164: "E.164\u756A\u53F7",
8825
8843
  credit_card: "\u30AF\u30EC\u30B8\u30C3\u30C8\u30AB\u30FC\u30C9\u756A\u53F7",
8844
+ currency_code: "\u901A\u8CA8\u30B3\u30FC\u30C9",
8826
8845
  iban: "IBAN",
8827
8846
  jwt: "JWT",
8828
8847
  template_literal: "\u5165\u529B\u5024"
@@ -8935,6 +8954,7 @@ var error29 = () => {
8935
8954
  json_string: "JSON \u10D5\u10D4\u10DA\u10D8",
8936
8955
  e164: "E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",
8937
8956
  credit_card: "\u10E1\u10D0\u10D9\u10E0\u10D4\u10D3\u10D8\u10E2\u10DD \u10D1\u10D0\u10E0\u10D0\u10D7\u10D8\u10E1 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",
8957
+ currency_code: "\u10D5\u10D0\u10DA\u10E3\u10E2\u10D8\u10E1 \u10D9\u10DD\u10D3\u10D8",
8938
8958
  iban: "IBAN",
8939
8959
  jwt: "JWT",
8940
8960
  template_literal: "\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"
@@ -9052,6 +9072,7 @@ var error30 = () => {
9052
9072
  json_string: "\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",
9053
9073
  e164: "\u179B\u17C1\u1781 E.164",
9054
9074
  credit_card: "\u179B\u17C1\u1781\u1794\u17D0\u178E\u17D2\u178E\u17A5\u178E\u1791\u17B6\u1793",
9075
+ currency_code: "\u1780\u17BC\u178A\u179A\u17BC\u1794\u17B7\u1799\u1794\u17D0\u178E\u17D2\u178E",
9055
9076
  iban: "IBAN",
9056
9077
  jwt: "JWT",
9057
9078
  template_literal: "\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"
@@ -9172,6 +9193,7 @@ var error31 = () => {
9172
9193
  json_string: "JSON\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD",
9173
9194
  e164: "E.164 \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6",
9174
9195
  credit_card: "\u0C95\u0CCD\u0CB0\u0CC6\u0CA1\u0CBF\u0C9F\u0CCD \u0C95\u0CBE\u0CB0\u0CCD\u0CA1\u0CCD \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6",
9196
+ currency_code: "\u0C95\u0CB0\u0CC6\u0CA8\u0CCD\u0CB8\u0CBF \u0C95\u0CCB\u0CA1\u0CCD",
9175
9197
  iban: "IBAN",
9176
9198
  jwt: "JWT",
9177
9199
  template_literal: "\u0C87\u0CA8\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD"
@@ -9287,6 +9309,7 @@ var error32 = () => {
9287
9309
  json_string: "JSON \uBB38\uC790\uC5F4",
9288
9310
  e164: "E.164 \uBC88\uD638",
9289
9311
  credit_card: "\uC2E0\uC6A9\uCE74\uB4DC \uBC88\uD638",
9312
+ currency_code: "\uD1B5\uD654 \uCF54\uB4DC",
9290
9313
  iban: "IBAN",
9291
9314
  jwt: "JWT",
9292
9315
  template_literal: "\uC785\uB825"
@@ -9485,6 +9508,7 @@ var error33 = () => {
9485
9508
  json_string: "JSON eilut\u0117",
9486
9509
  e164: "E.164 numeris",
9487
9510
  credit_card: "kredito kortel\u0117s numeris",
9511
+ currency_code: "valiutos kodas",
9488
9512
  iban: "IBAN",
9489
9513
  jwt: "JWT",
9490
9514
  template_literal: "\u012Fvestis"
@@ -9610,6 +9634,7 @@ var error34 = () => {
9610
9634
  json_string: "JSON \u043D\u0438\u0437\u0430",
9611
9635
  e164: "E.164 \u0431\u0440\u043E\u0458",
9612
9636
  credit_card: "\u0431\u0440\u043E\u0458 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u0447\u043A\u0430",
9637
+ currency_code: "\u043A\u043E\u0434 \u043D\u0430 \u0432\u0430\u043B\u0443\u0442\u0430",
9613
9638
  iban: "IBAN",
9614
9639
  jwt: "JWT",
9615
9640
  template_literal: "\u0432\u043D\u0435\u0441"
@@ -9724,6 +9749,7 @@ var error35 = () => {
9724
9749
  json_string: "string JSON",
9725
9750
  e164: "nombor E.164",
9726
9751
  credit_card: "nombor kad kredit",
9752
+ currency_code: "kod mata wang",
9727
9753
  iban: "IBAN",
9728
9754
  jwt: "JWT",
9729
9755
  template_literal: "input"
@@ -9836,6 +9862,7 @@ var error36 = () => {
9836
9862
  json_string: "JSON \u0938\u094D\u091F\u094D\u0930\u093F\u0919",
9837
9863
  e164: "E.164 \u0928\u092E\u094D\u092C\u0930",
9838
9864
  credit_card: "\u0915\u094D\u0930\u0947\u0921\u093F\u091F \u0915\u093E\u0930\u094D\u0921 \u0928\u092E\u094D\u092C\u0930",
9865
+ currency_code: "\u092E\u0941\u0926\u094D\u0930\u093E \u0915\u094B\u0921",
9839
9866
  iban: "IBAN",
9840
9867
  jwt: "JWT",
9841
9868
  template_literal: "\u0907\u0928\u092A\u0941\u091F"
@@ -9947,6 +9974,7 @@ var error37 = () => {
9947
9974
  json_string: "JSON string",
9948
9975
  e164: "E.164-nummer",
9949
9976
  credit_card: "creditcardnummer",
9977
+ currency_code: "valutacode",
9950
9978
  iban: "IBAN",
9951
9979
  jwt: "JWT",
9952
9980
  template_literal: "invoer"
@@ -10062,6 +10090,7 @@ var error38 = () => {
10062
10090
  json_string: "JSON-streng",
10063
10091
  e164: "E.164-nummer",
10064
10092
  credit_card: "kredittkortnummer",
10093
+ currency_code: "valutakode",
10065
10094
  iban: "IBAN",
10066
10095
  jwt: "JWT",
10067
10096
  template_literal: "input"
@@ -10175,6 +10204,7 @@ var error39 = () => {
10175
10204
  json_string: "JSON-streng",
10176
10205
  e164: "E.164-nummer",
10177
10206
  credit_card: "kredittkortnummer",
10207
+ currency_code: "valutakode",
10178
10208
  iban: "IBAN",
10179
10209
  jwt: "JWT",
10180
10210
  template_literal: "input"
@@ -10288,6 +10318,7 @@ var error40 = () => {
10288
10318
  json_string: "JSON metin",
10289
10319
  e164: "E.164 say\u0131s\u0131",
10290
10320
  credit_card: "i'tib\xE2r kart\u0131 numaras\u0131",
10321
+ currency_code: "para birimi kodu",
10291
10322
  iban: "IBAN",
10292
10323
  jwt: "JWT",
10293
10324
  template_literal: "giren"
@@ -10402,6 +10433,7 @@ var error41 = () => {
10402
10433
  json_string: "JSON \u0645\u062A\u0646",
10403
10434
  e164: "\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",
10404
10435
  credit_card: "\u062F \u06A9\u0631\u06CC\u0689\u06CC\u067C \u06A9\u0627\u0631\u062A \u0634\u0645\u06CC\u0631\u0647",
10436
+ currency_code: "\u062F \u0627\u0633\u0639\u0627\u0631\u0648 \u06A9\u0648\u0689",
10405
10437
  iban: "IBAN",
10406
10438
  jwt: "JWT",
10407
10439
  template_literal: "\u0648\u0631\u0648\u062F\u064A"
@@ -10521,6 +10553,7 @@ var error42 = () => {
10521
10553
  json_string: "ci\u0105g znak\xF3w w formacie JSON",
10522
10554
  e164: "liczba E.164",
10523
10555
  credit_card: "numer karty kredytowej",
10556
+ currency_code: "kod waluty",
10524
10557
  iban: "IBAN",
10525
10558
  jwt: "JWT",
10526
10559
  template_literal: "wej\u015Bcie"
@@ -10635,6 +10668,7 @@ var error43 = () => {
10635
10668
  json_string: "o texto JSON",
10636
10669
  e164: "o n\xFAmero E.164",
10637
10670
  credit_card: "o n\xFAmero de cart\xE3o de cr\xE9dito",
10671
+ currency_code: "o c\xF3digo de moeda",
10638
10672
  iban: "o IBAN",
10639
10673
  jwt: "o JWT",
10640
10674
  template_literal: "a entrada"
@@ -10778,6 +10812,7 @@ var error44 = () => {
10778
10812
  json_string: "o texto JSON",
10779
10813
  e164: "o n\xFAmero E.164",
10780
10814
  credit_card: "o n\xFAmero de cart\xE3o de cr\xE9dito",
10815
+ currency_code: "o c\xF3digo de moeda",
10781
10816
  iban: "o IBAN",
10782
10817
  jwt: "o JWT",
10783
10818
  template_literal: "a entrada"
@@ -10922,6 +10957,7 @@ var error45 = () => {
10922
10957
  json_string: "\u0219ir JSON",
10923
10958
  e164: "num\u0103r E.164",
10924
10959
  credit_card: "num\u0103r de card de credit",
10960
+ currency_code: "cod valutar",
10925
10961
  iban: "IBAN",
10926
10962
  jwt: "JWT",
10927
10963
  template_literal: "intrare"
@@ -11094,6 +11130,7 @@ var error46 = () => {
11094
11130
  json_string: "JSON \u0441\u0442\u0440\u043E\u043A\u0430",
11095
11131
  e164: "\u043D\u043E\u043C\u0435\u0440 E.164",
11096
11132
  credit_card: "\u043D\u043E\u043C\u0435\u0440 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u043E\u0439 \u043A\u0430\u0440\u0442\u044B",
11133
+ currency_code: "\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u044B",
11097
11134
  iban: "IBAN",
11098
11135
  jwt: "JWT",
11099
11136
  template_literal: "\u0432\u0432\u043E\u0434"
@@ -11212,6 +11249,7 @@ var error47 = () => {
11212
11249
  json_string: "re\u0165azec vo form\xE1te JSON",
11213
11250
  e164: "\u010D\xEDslo E.164",
11214
11251
  credit_card: "\u010D\xEDslo kreditnej karty",
11252
+ currency_code: "k\xF3d meny",
11215
11253
  iban: "IBAN",
11216
11254
  jwt: "JWT",
11217
11255
  template_literal: "vstup"
@@ -11328,6 +11366,7 @@ var error48 = () => {
11328
11366
  json_string: "JSON niz",
11329
11367
  e164: "E.164 \u0161tevilka",
11330
11368
  credit_card: "\u0161tevilka kreditne kartice",
11369
+ currency_code: "koda valute",
11331
11370
  iban: "IBAN",
11332
11371
  jwt: "JWT",
11333
11372
  template_literal: "vnos"
@@ -11442,6 +11481,7 @@ var error49 = () => {
11442
11481
  json_string: "JSON-str\xE4ng",
11443
11482
  e164: "E.164-nummer",
11444
11483
  credit_card: "kreditkortsnummer",
11484
+ currency_code: "valutakod",
11445
11485
  iban: "IBAN",
11446
11486
  jwt: "JWT",
11447
11487
  template_literal: "mall-literal"
@@ -11557,6 +11597,7 @@ var error50 = () => {
11557
11597
  json_string: "JSON \u0B9A\u0BB0\u0BAE\u0BCD",
11558
11598
  e164: "E.164 \u0B8E\u0BA3\u0BCD",
11559
11599
  credit_card: "\u0B95\u0B9F\u0BA9\u0BCD \u0B85\u0B9F\u0BCD\u0B9F\u0BC8 \u0B8E\u0BA3\u0BCD",
11600
+ currency_code: "\u0BA8\u0BBE\u0BA3\u0BAF\u0B95\u0BCD \u0B95\u0BC1\u0BB1\u0BBF\u0BAF\u0BC0\u0B9F\u0BC1",
11560
11601
  iban: "IBAN",
11561
11602
  jwt: "JWT",
11562
11603
  template_literal: "input"
@@ -11672,6 +11713,7 @@ var error51 = () => {
11672
11713
  json_string: "\u0441\u0430\u0442\u0440\u0438 JSON",
11673
11714
  e164: "\u0440\u0430\u049B\u0430\u043C\u0438 E.164",
11674
11715
  credit_card: "\u0440\u0430\u049B\u0430\u043C\u0438 \u043A\u043E\u0440\u0442\u0438 \u043A\u0440\u0435\u0434\u0438\u0442\u04E3",
11716
+ currency_code: "\u0440\u0430\u043C\u0437\u0438 \u0430\u0441\u044A\u043E\u0440",
11675
11717
  iban: "IBAN",
11676
11718
  jwt: "JWT",
11677
11719
  template_literal: "\u0432\u0443\u0440\u0443\u0434"
@@ -11788,6 +11830,7 @@ var error52 = () => {
11788
11830
  json_string: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",
11789
11831
  e164: "\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)",
11790
11832
  credit_card: "\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E1A\u0E31\u0E15\u0E23\u0E40\u0E04\u0E23\u0E14\u0E34\u0E15",
11833
+ currency_code: "\u0E23\u0E2B\u0E31\u0E2A\u0E2A\u0E01\u0E38\u0E25\u0E40\u0E07\u0E34\u0E19",
11791
11834
  iban: "IBAN",
11792
11835
  jwt: "\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",
11793
11836
  template_literal: "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"
@@ -11903,6 +11946,7 @@ var error53 = () => {
11903
11946
  json_string: "JSON setiri",
11904
11947
  e164: "E.164 nomeri",
11905
11948
  credit_card: "kredit kartyny\u0148 nomeri",
11949
+ currency_code: "wal\xFDuta kody",
11906
11950
  iban: "IBAN",
11907
11951
  jwt: "JWT",
11908
11952
  template_literal: "\u015Fablon"
@@ -12010,6 +12054,7 @@ var error54 = () => {
12010
12054
  json_string: "JSON dizesi",
12011
12055
  e164: "E.164 say\u0131s\u0131",
12012
12056
  credit_card: "kredi kart\u0131 numaras\u0131",
12057
+ currency_code: "para birimi kodu",
12013
12058
  iban: "IBAN",
12014
12059
  jwt: "JWT",
12015
12060
  template_literal: "\u015Eablon dizesi"
@@ -12120,6 +12165,7 @@ var error55 = () => {
12120
12165
  json_string: "\u0440\u044F\u0434\u043E\u043A JSON",
12121
12166
  e164: "\u043D\u043E\u043C\u0435\u0440 E.164",
12122
12167
  credit_card: "\u043D\u043E\u043C\u0435\u0440 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u043E\u0457 \u043A\u0430\u0440\u0442\u043A\u0438",
12168
+ currency_code: "\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u0438",
12123
12169
  iban: "IBAN",
12124
12170
  jwt: "JWT",
12125
12171
  template_literal: "\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"
@@ -12238,6 +12284,7 @@ var error56 = () => {
12238
12284
  json_string: "\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",
12239
12285
  e164: "\u0627\u06CC 164 \u0646\u0645\u0628\u0631",
12240
12286
  credit_card: "\u06A9\u0631\u06CC\u0688\u0679 \u06A9\u0627\u0631\u0688 \u0646\u0645\u0628\u0631",
12287
+ currency_code: "\u06A9\u0631\u0646\u0633\u06CC \u06A9\u0648\u0688",
12241
12288
  iban: "IBAN",
12242
12289
  jwt: "\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",
12243
12290
  template_literal: "\u0627\u0646 \u067E\u0679"
@@ -12353,6 +12400,7 @@ var error57 = () => {
12353
12400
  json_string: "JSON satr",
12354
12401
  e164: "E.164 raqam",
12355
12402
  credit_card: "kredit karta raqami",
12403
+ currency_code: "valyuta kodi",
12356
12404
  iban: "IBAN",
12357
12405
  jwt: "JWT",
12358
12406
  template_literal: "kirish"
@@ -12466,6 +12514,7 @@ var error58 = () => {
12466
12514
  json_string: "chu\u1ED7i JSON",
12467
12515
  e164: "s\u1ED1 E.164",
12468
12516
  credit_card: "s\u1ED1 th\u1EBB t\xEDn d\u1EE5ng",
12517
+ currency_code: "m\xE3 ti\u1EC1n t\u1EC7",
12469
12518
  iban: "IBAN",
12470
12519
  jwt: "JWT",
12471
12520
  template_literal: "\u0111\u1EA7u v\xE0o"
@@ -12579,6 +12628,7 @@ var error59 = () => {
12579
12628
  json_string: "JSON\u5B57\u7B26\u4E32",
12580
12629
  e164: "E.164\u53F7\u7801",
12581
12630
  credit_card: "\u4FE1\u7528\u5361\u53F7",
12631
+ currency_code: "\u8D27\u5E01\u4EE3\u7801",
12582
12632
  iban: "IBAN",
12583
12633
  jwt: "JWT",
12584
12634
  template_literal: "\u8F93\u5165"
@@ -12693,6 +12743,7 @@ var error60 = () => {
12693
12743
  json_string: "JSON \u5B57\u4E32",
12694
12744
  e164: "E.164 \u6578\u503C",
12695
12745
  credit_card: "\u4FE1\u7528\u5361\u865F",
12746
+ currency_code: "\u8CA8\u5E63\u4EE3\u78BC",
12696
12747
  iban: "IBAN",
12697
12748
  jwt: "JWT",
12698
12749
  template_literal: "\u8F38\u5165"
@@ -12805,6 +12856,7 @@ var error61 = () => {
12805
12856
  json_string: "\u1ECD\u0300r\u1ECD\u0300 JSON",
12806
12857
  e164: "n\u1ECD\u0301mb\xE0 E.164",
12807
12858
  credit_card: "n\u1ECDmba kaadi gbese",
12859
+ currency_code: "koodu ow\xF3",
12808
12860
  iban: "IBAN",
12809
12861
  jwt: "JWT",
12810
12862
  template_literal: "\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"
@@ -13183,7 +13235,7 @@ function generateChecks(doc, ctx, schema, accessor) {
13183
13235
  generatePropertyCheck(doc, ctx, def, currentAccessor);
13184
13236
  break;
13185
13237
  case "properties":
13186
- generatePropertiesChecks(doc, ctx, def, currentAccessor, false);
13238
+ generatePropertiesChecks(doc, ctx, def, currentAccessor);
13187
13239
  break;
13188
13240
  case "overwrite": {
13189
13241
  const newAccessor = newVar(ctx);
@@ -13293,11 +13345,11 @@ function generateMimeTypeCheck(doc, ctx, def, accessor) {
13293
13345
  doc.write(`if (!${mimeSet}.has(${accessor}.type)) return INVALID;`);
13294
13346
  }
13295
13347
  }
13296
- function generatePropertiesChecks(doc, ctx, def, accessor, schemaRole) {
13348
+ function generatePropertiesChecks(doc, ctx, def, accessor) {
13297
13349
  if (def.when) {
13298
13350
  throw new ZodCompileUnsupportedError(`check with a custom "when" condition`);
13299
13351
  }
13300
- doc.write(schemaRole ? `if (${accessor} === null || (typeof ${accessor} !== "object" && typeof ${accessor} !== "function")) return INVALID;` : `if (${accessor} == null) return INVALID;`);
13352
+ doc.write(`if (${accessor} == null) return INVALID;`);
13301
13353
  const shape = def.shape;
13302
13354
  for (const key of Reflect.ownKeys(shape)) {
13303
13355
  const keyExpr = typeof key === "symbol" ? addConstant(ctx, key) : esc(key);
@@ -13387,7 +13439,7 @@ var PATTERN_IS_COMPLETE = /* @__PURE__ */ new Set([
13387
13439
  "uuid",
13388
13440
  "xid"
13389
13441
  ]);
13390
- function generateStringFormatCheck(doc, ctx, def, accessor) {
13442
+ function generateStringFormatCheck(doc, ctx, def, accessor, needsValue = true) {
13391
13443
  const fmt = def.format;
13392
13444
  if (fmt === "base64") {
13393
13445
  const validator = addConstant(ctx, isValidBase64);
@@ -13427,7 +13479,7 @@ function generateStringFormatCheck(doc, ctx, def, accessor) {
13427
13479
  }
13428
13480
  const formatDef = def;
13429
13481
  if (fmt === "url" || fmt === "httpurl" || formatDef.normalize || formatDef.hostname !== void 0 || formatDef.protocol !== void 0) {
13430
- const parseConst = addConstant(ctx, parseURLObject);
13482
+ const parseConst = addConstant(ctx, validateURL);
13431
13483
  const defConst = addConstant(ctx, def);
13432
13484
  const trimVar = newVar(ctx);
13433
13485
  const urlVar = newVar(ctx);
@@ -13442,6 +13494,8 @@ function generateStringFormatCheck(doc, ctx, def, accessor) {
13442
13494
  const protocolConst = addConstant(ctx, urlProtocolOk);
13443
13495
  doc.write(`if (!${protocolConst}(${urlVar}, ${defConst}.protocol)) return INVALID;`);
13444
13496
  }
13497
+ if (!needsValue)
13498
+ return null;
13445
13499
  const outputVar = newVar(ctx);
13446
13500
  const outputExpr = formatDef.normalize ? `${urlVar}.href` : `${addConstant(ctx, stripTabAndNewline)}(${trimVar})`;
13447
13501
  doc.write(`const ${outputVar} = ${outputExpr};`);
@@ -13501,7 +13555,7 @@ function generateCheck(doc, ctx, schema, accessor, needsValue = true) {
13501
13555
  let typeAccessor;
13502
13556
  switch (type) {
13503
13557
  case "string":
13504
- typeAccessor = generateStringCheck(doc, ctx, schema, accessor);
13558
+ typeAccessor = generateStringCheck(doc, ctx, schema, accessor, buildsValue);
13505
13559
  break;
13506
13560
  case "number":
13507
13561
  typeAccessor = generateNumberCheck(doc, schema, accessor);
@@ -13607,10 +13661,6 @@ function generateCheck(doc, ctx, schema, accessor, needsValue = true) {
13607
13661
  case "custom":
13608
13662
  typeAccessor = generateCustomCheck(doc, ctx, schema, accessor);
13609
13663
  break;
13610
- case "properties":
13611
- generatePropertiesChecks(doc, ctx, schema._zod.def, accessor, true);
13612
- typeAccessor = accessor;
13613
- break;
13614
13664
  case "transform":
13615
13665
  typeAccessor = generateTransformCheck(doc, ctx, schema, accessor);
13616
13666
  break;
@@ -13626,12 +13676,12 @@ function generateCheck(doc, ctx, schema, accessor, needsValue = true) {
13626
13676
  return null;
13627
13677
  return generateChecks(doc, ctx, schema, typeAccessor);
13628
13678
  }
13629
- function generateStringCheck(doc, ctx, schema, accessor) {
13679
+ function generateStringCheck(doc, ctx, schema, accessor, needsValue = true) {
13630
13680
  doc.write(`if (typeof ${accessor} !== "string") return INVALID;`);
13631
13681
  const def = schema._zod.def;
13632
13682
  if (def.format === void 0)
13633
13683
  return accessor;
13634
- return generateStringFormatCheck(doc, ctx, def, accessor);
13684
+ return generateStringFormatCheck(doc, ctx, def, accessor, needsValue);
13635
13685
  }
13636
13686
  function generateNumberCheck(doc, schema, accessor) {
13637
13687
  doc.write(`if (typeof ${accessor} !== "number" || !Number.isFinite(${accessor})) return INVALID;`);
@@ -14531,20 +14581,18 @@ function generateTransformCheck(doc, ctx, schema, accessor) {
14531
14581
  }
14532
14582
 
14533
14583
  // node_modules/zod/v4/core/api.js
14584
+ function snapshotChecks(def) {
14585
+ if (def.checks)
14586
+ def.checks = [...def.checks];
14587
+ return def;
14588
+ }
14534
14589
  // @__NO_SIDE_EFFECTS__
14535
14590
  function _string(Class2, params) {
14536
- return new Class2({
14537
- type: "string",
14538
- ...normalizeParams(params)
14539
- });
14591
+ return new Class2(snapshotChecks({ type: "string", ...normalizeParams(params) }));
14540
14592
  }
14541
14593
  // @__NO_SIDE_EFFECTS__
14542
14594
  function _coercedString(Class2, params) {
14543
- return new Class2({
14544
- type: "string",
14545
- coerce: true,
14546
- ...normalizeParams(params)
14547
- });
14595
+ return new Class2(snapshotChecks({ type: "string", coerce: true, ...normalizeParams(params) }));
14548
14596
  }
14549
14597
  // @__NO_SIDE_EFFECTS__
14550
14598
  function _email(Class2, params) {
@@ -14848,20 +14896,11 @@ function _isoDuration(Class2, params) {
14848
14896
  }
14849
14897
  // @__NO_SIDE_EFFECTS__
14850
14898
  function _number(Class2, params) {
14851
- return new Class2({
14852
- type: "number",
14853
- checks: [],
14854
- ...normalizeParams(params)
14855
- });
14899
+ return new Class2(snapshotChecks({ type: "number", checks: [], ...normalizeParams(params) }));
14856
14900
  }
14857
14901
  // @__NO_SIDE_EFFECTS__
14858
14902
  function _coercedNumber(Class2, params) {
14859
- return new Class2({
14860
- type: "number",
14861
- coerce: true,
14862
- checks: [],
14863
- ...normalizeParams(params)
14864
- });
14903
+ return new Class2(snapshotChecks({ type: "number", coerce: true, checks: [], ...normalizeParams(params) }));
14865
14904
  }
14866
14905
  // @__NO_SIDE_EFFECTS__
14867
14906
  function _int(Class2, params) {
@@ -15203,9 +15242,8 @@ function _property(property, schema, params) {
15203
15242
  });
15204
15243
  }
15205
15244
  // @__NO_SIDE_EFFECTS__
15206
- function _properties(Class2, shape, params) {
15207
- return new Class2({
15208
- type: "properties",
15245
+ function _properties(shape, params) {
15246
+ return new $ZodCheckProperties({
15209
15247
  check: "properties",
15210
15248
  shape,
15211
15249
  ...normalizeParams(params)
@@ -15840,11 +15878,11 @@ function foldObjects(members2) {
15840
15878
  }
15841
15879
  objects.push(member);
15842
15880
  }
15843
- const properties2 = {};
15881
+ const properties = {};
15844
15882
  const required2 = /* @__PURE__ */ new Set();
15845
15883
  for (const object2 of objects) {
15846
15884
  for (const key in object2.properties) {
15847
- if (Object.prototype.hasOwnProperty.call(properties2, key))
15885
+ if (Object.prototype.hasOwnProperty.call(properties, key))
15848
15886
  continue;
15849
15887
  const parts = [];
15850
15888
  for (const other of objects) {
@@ -15855,12 +15893,12 @@ function foldObjects(members2) {
15855
15893
  parts.push(part);
15856
15894
  }
15857
15895
  const merged = parts.length === 1 ? parts[0] : foldObjects(parts) ?? { allOf: parts };
15858
- assignProp(properties2, key, merged);
15896
+ assignProp(properties, key, merged);
15859
15897
  }
15860
15898
  for (const key of object2.required ?? [])
15861
15899
  required2.add(key);
15862
15900
  }
15863
- const folded = { type: "object", properties: properties2 };
15901
+ const folded = { type: "object", properties };
15864
15902
  if (required2.size)
15865
15903
  folded.required = [...required2];
15866
15904
  if (objects.every((object2) => object2.additionalProperties === false)) {
@@ -16482,17 +16520,15 @@ var objectProcessor = (schema, ctx, _json, params) => {
16482
16520
  path: [...params.path, "properties", key]
16483
16521
  }));
16484
16522
  }
16485
- const allKeys = new Set(Object.keys(shape));
16486
- const requiredKeys = new Set([...allKeys].filter((key) => {
16523
+ const requiredKeys = [];
16524
+ for (const key of Object.keys(shape)) {
16487
16525
  const field = def.shape[key];
16488
- if (ctx.io === "input") {
16489
- return inputOptin(field) === void 0;
16490
- } else {
16491
- return field._zod.optout === void 0;
16526
+ if (ctx.io === "input" ? inputOptin(field) === void 0 : field._zod.optout === void 0) {
16527
+ requiredKeys.push(key);
16492
16528
  }
16493
- }));
16494
- if (requiredKeys.size > 0) {
16495
- json2.required = Array.from(requiredKeys);
16529
+ }
16530
+ if (requiredKeys.length > 0) {
16531
+ json2.required = requiredKeys;
16496
16532
  }
16497
16533
  if (def.catchall?._zod.def.type === "never") {
16498
16534
  json2.additionalProperties = false;
@@ -16506,31 +16542,6 @@ var objectProcessor = (schema, ctx, _json, params) => {
16506
16542
  });
16507
16543
  }
16508
16544
  };
16509
- var propertiesProcessor = (schema, ctx, _json, params) => {
16510
- const json2 = _json;
16511
- const def = schema._zod.def;
16512
- if (Object.getOwnPropertySymbols(def.shape).length && handleUnrepresentable(schema, ctx, json2, params, "Symbol keys cannot be represented in JSON Schema")) {
16513
- return;
16514
- }
16515
- if (ctx.io === "output") {
16516
- for (const key in def.shape) {
16517
- if (isTransforming(def.shape[key]) && handleUnrepresentable(schema, ctx, json2, params, `z.properties() returns its input, so the output of a transforming schema at key "${key}" cannot be represented in JSON Schema`)) {
16518
- return;
16519
- }
16520
- }
16521
- }
16522
- json2.type = "object";
16523
- json2.properties = {};
16524
- for (const key in def.shape) {
16525
- assignProp(json2.properties, key, processSchema(def.shape[key], ctx, {
16526
- ...params,
16527
- path: [...params.path, "properties", key]
16528
- }));
16529
- }
16530
- const required2 = Object.keys(def.shape).filter((key) => inputOptin(def.shape[key]) === void 0);
16531
- if (required2.length > 0)
16532
- json2.required = required2;
16533
- };
16534
16545
  var unionProcessor = (schema, ctx, json2, params) => {
16535
16546
  const def = schema._zod.def;
16536
16547
  const isExclusive = def.inclusive === false;
@@ -16850,7 +16861,6 @@ var allProcessors = {
16850
16861
  file: fileProcessor,
16851
16862
  success: successProcessor,
16852
16863
  custom: customProcessor,
16853
- properties: propertiesProcessor,
16854
16864
  function: functionProcessor,
16855
16865
  transform: transformProcessor,
16856
16866
  map: mapProcessor,
@@ -17047,7 +17057,6 @@ __export(schemas_exports2, {
17047
17057
  ZodPrefault: () => ZodPrefault,
17048
17058
  ZodPreprocess: () => ZodPreprocess,
17049
17059
  ZodPromise: () => ZodPromise,
17050
- ZodProperties: () => ZodProperties,
17051
17060
  ZodReadonly: () => ZodReadonly,
17052
17061
  ZodRecord: () => ZodRecord,
17053
17062
  ZodSet: () => ZodSet,
@@ -17085,6 +17094,7 @@ __export(schemas_exports2, {
17085
17094
  creditCard: () => creditCard2,
17086
17095
  cuid: () => cuid3,
17087
17096
  cuid2: () => cuid22,
17097
+ currencyCode: () => currencyCode2,
17088
17098
  custom: () => custom,
17089
17099
  date: () => date2,
17090
17100
  describe: () => describe2,
@@ -17139,7 +17149,6 @@ __export(schemas_exports2, {
17139
17149
  prefault: () => prefault,
17140
17150
  preprocess: () => preprocess,
17141
17151
  promise: () => promise,
17142
- properties: () => properties,
17143
17152
  readonly: () => readonly,
17144
17153
  record: () => record,
17145
17154
  refine: () => refine,
@@ -17193,6 +17202,7 @@ __export(checks_exports2, {
17193
17202
  normalize: () => _normalize,
17194
17203
  overwrite: () => _overwrite,
17195
17204
  positive: () => _positive,
17205
+ properties: () => _properties,
17196
17206
  property: () => _property,
17197
17207
  regex: () => _regex,
17198
17208
  size: () => _size,
@@ -17652,8 +17662,8 @@ function url(params) {
17652
17662
  }
17653
17663
  function httpUrl(params) {
17654
17664
  return _url(ZodURL, {
17655
- protocol: regexes_exports.httpProtocol,
17656
- hostname: regexes_exports.domain,
17665
+ protocol: httpProtocol,
17666
+ hostname: domain,
17657
17667
  ...util_exports.normalizeParams(params)
17658
17668
  });
17659
17669
  }
@@ -17791,10 +17801,13 @@ function stringFormat(format, fnOrRegex, _params = {}) {
17791
17801
  return _stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);
17792
17802
  }
17793
17803
  function hostname2(_params) {
17794
- return _stringFormat(ZodCustomStringFormat, "hostname", regexes_exports.hostname, _params);
17804
+ return _stringFormat(ZodCustomStringFormat, "hostname", hostname, _params);
17795
17805
  }
17796
17806
  function hex2(_params) {
17797
- return _stringFormat(ZodCustomStringFormat, "hex", regexes_exports.hex, _params);
17807
+ return _stringFormat(ZodCustomStringFormat, "hex", hex, _params);
17808
+ }
17809
+ function currencyCode2(_params) {
17810
+ return _stringFormat(ZodCustomStringFormat, "currency_code", currencyCode, _params);
17798
17811
  }
17799
17812
  function hash(alg, params) {
17800
17813
  const enc = params?.enc ?? "hex";
@@ -18659,14 +18672,6 @@ var ZodCustom = /* @__PURE__ */ $constructor("ZodCustom", (inst, def) => {
18659
18672
  ZodType.init(inst, def);
18660
18673
  inst._zod.processJSONSchema = (ctx, json2, params) => customProcessor(inst, ctx, json2, params);
18661
18674
  });
18662
- var ZodProperties = /* @__PURE__ */ $constructor("ZodProperties", (inst, def) => {
18663
- _ensureDefaultMemoizer();
18664
- $ZodProperties.init(inst, def);
18665
- ZodType.init(inst, def);
18666
- });
18667
- function properties(shape, params) {
18668
- return _properties(ZodProperties, shape, params);
18669
- }
18670
18675
  function check(fn) {
18671
18676
  const ch = new $ZodCheck({
18672
18677
  check: "custom"
@@ -18690,7 +18695,7 @@ var ZodInstanceOf = /* @__PURE__ */ $constructor("ZodInstanceOf", (inst, def) =>
18690
18695
  ZodCustom.init(inst, def);
18691
18696
  }, {
18692
18697
  properties(shape, params) {
18693
- return this.check(properties(shape, params));
18698
+ return this.check(_properties(shape, params));
18694
18699
  }
18695
18700
  });
18696
18701
  function _instanceof(cls, params = {}) {
@@ -19277,10 +19282,10 @@ function convertBaseSchema(schema, ctx) {
19277
19282
  }
19278
19283
  case "object": {
19279
19284
  const shape = {};
19280
- const properties2 = schema.properties || {};
19285
+ const properties = schema.properties || {};
19281
19286
  const requiredSet = new Set(schema.required || []);
19282
19287
  const additionalSchema = typeof schema.additionalProperties === "object" ? convertSchema(schema.additionalProperties, ctx) : void 0;
19283
- for (const [key, propSchema] of Object.entries(properties2)) {
19288
+ for (const [key, propSchema] of Object.entries(properties)) {
19284
19289
  const propZodSchema = convertSchema(propSchema, ctx);
19285
19290
  assignProp(shape, key, requiredSet.has(key) ? propZodSchema : propZodSchema.optional());
19286
19291
  }
@@ -19641,18 +19646,6 @@ function visit(schema, fnOrHandlers) {
19641
19646
  const { _cachedInner, ...rest } = def;
19642
19647
  return clone(s, { ...rest, getter: () => run(original()) });
19643
19648
  }
19644
- case "properties": {
19645
- const oldShape = def.shape;
19646
- let changed = false;
19647
- const newShape = {};
19648
- for (const k of Reflect.ownKeys(oldShape)) {
19649
- const mapped = run(oldShape[k]);
19650
- if (mapped !== oldShape[k])
19651
- changed = true;
19652
- newShape[k] = mapped;
19653
- }
19654
- return changed ? clone(s, { ...def, shape: newShape }) : s;
19655
- }
19656
19649
  // A leaf by choice: `parts` are regex fragments, not data positions.
19657
19650
  case "template_literal":
19658
19651
  // Leaves.
@@ -23655,8 +23648,8 @@ function scanXMcpHeaderDeclarations(inputSchema) {
23655
23648
  type
23656
23649
  });
23657
23650
  }
23658
- const properties2 = schema.properties;
23659
- if (properties2 !== null && typeof properties2 === "object") for (const [key, child] of Object.entries(properties2)) {
23651
+ const properties = schema.properties;
23652
+ if (properties !== null && typeof properties === "object") for (const [key, child] of Object.entries(properties)) {
23660
23653
  const fault$1 = visit2(child, [...path, key], reachable);
23661
23654
  if (fault$1 !== void 0) return fault$1;
23662
23655
  }
@@ -23950,9 +23943,9 @@ function isLibraryFormatPattern(format, pattern, vendor) {
23950
23943
  }
23951
23944
  function promptArgumentsFromStandardSchema(schema) {
23952
23945
  const jsonSchema = standardSchemaToJsonSchema(schema, "input");
23953
- const properties2 = jsonSchema.properties || {};
23946
+ const properties = jsonSchema.properties || {};
23954
23947
  const required2 = jsonSchema.required || [];
23955
- return Object.entries(properties2).map(([name, prop]) => ({
23948
+ return Object.entries(properties).map(([name, prop]) => ({
23956
23949
  name,
23957
23950
  description: prop?.description,
23958
23951
  required: required2.includes(name)
@@ -26799,8 +26792,8 @@ var require_defaults = /* @__PURE__ */ __commonJSMin(((exports) => {
26799
26792
  const codegen_1 = require_codegen();
26800
26793
  const util_1 = require_util();
26801
26794
  function assignDefaults(it, ty) {
26802
- const { properties: properties2, items } = it.schema;
26803
- if (ty === "object" && properties2) for (const key in properties2) assignDefault(it, key, properties2[key].default);
26795
+ const { properties, items } = it.schema;
26796
+ if (ty === "object" && properties) for (const key in properties) assignDefault(it, key, properties[key].default);
26804
26797
  else if (ty === "array" && Array.isArray(items)) items.forEach((sch, i) => assignDefault(it, i, sch.default));
26805
26798
  }
26806
26799
  exports.assignDefaults = assignDefaults;
@@ -26832,8 +26825,8 @@ var require_code = /* @__PURE__ */ __commonJSMin(((exports) => {
26832
26825
  });
26833
26826
  }
26834
26827
  exports.checkReportMissingProp = checkReportMissingProp;
26835
- function checkMissingProp({ gen, data, it: { opts } }, properties2, missing) {
26836
- return (0, codegen_1.or)(...properties2.map((prop) => (0, codegen_1.and)(noPropertyInData(gen, data, prop, opts.ownProperties), (0, codegen_1._)`${missing} = ${prop}`)));
26828
+ function checkMissingProp({ gen, data, it: { opts } }, properties, missing) {
26829
+ return (0, codegen_1.or)(...properties.map((prop) => (0, codegen_1.and)(noPropertyInData(gen, data, prop, opts.ownProperties), (0, codegen_1._)`${missing} = ${prop}`)));
26837
26830
  }
26838
26831
  exports.checkMissingProp = checkMissingProp;
26839
26832
  function reportMissingProp(cxt, missing) {
@@ -30109,10 +30102,10 @@ var require_properties = /* @__PURE__ */ __commonJSMin(((exports) => {
30109
30102
  const allProps = (0, code_1.allSchemaProperties)(schema);
30110
30103
  for (const prop of allProps) it.definedProperties.add(prop);
30111
30104
  if (it.opts.unevaluated && allProps.length && it.props !== true) it.props = util_1.mergeEvaluated.props(gen, (0, util_1.toHash)(allProps), it.props);
30112
- const properties2 = allProps.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema[p]));
30113
- if (properties2.length === 0) return;
30105
+ const properties = allProps.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema[p]));
30106
+ if (properties.length === 0) return;
30114
30107
  const valid = gen.name("valid");
30115
- for (const prop of properties2) {
30108
+ for (const prop of properties) {
30116
30109
  if (hasDefault(prop)) applyPropertySchema(prop);
30117
30110
  else {
30118
30111
  gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties));
@@ -34369,13 +34362,28 @@ var API_KEY_RE = new RegExp([
34369
34362
  "whsec_[A-Za-z0-9]{16,}\\b"
34370
34363
  // webhook signing secret (Stripe-style)
34371
34364
  ].map((p) => `\\b${p}`).join("|"), "g");
34372
- var QUERY_SECRET_RE = /([?&](?:access_token|refresh_token|client_secret|api_?key|signature|token|key|sig)=)[^&#\s"'<>`]+/gi;
34365
+ var QUERY_SECRET_RE = /([?&](?:(?:access|refresh|id|auth|session|csrf|xsrf)[_-]?token|client[_-]?secret|api[_-]?secret|api[_-]?key|password|passwd|signature|token|key|sig)=)[^&#\s"'<>`]+/gi;
34366
+ var OAUTH_CODE_RE = /([?&]code=)(?=[^&#\s"'<>`]{16,})[^&#\s"'<>`]+/gi;
34367
+ var FORM_PASSWORD_RE = /((?:^|[\s,;:"'(\[{])(?:password|passwd)=)[^&#\s"'<>`]+/gim;
34368
+ var HEADER_SECRET_RE = /(\b(?:x[-_][a-z0-9_-]*?(?:api[-_]?key|token|secret|auth)[a-z0-9_-]*|api[-_]?key)\s*:\s*)[^\s,;"'<>`]+/gi;
34373
34369
  var AWS_SIGV4_RE = /([?&]X-Amz-(?:Signature|Security-Token|Credential)=)[^&#\s"'<>`]+/gi;
34374
- var JSON_SECRET_KEYS = "access_token|refresh_token|client_secret|api_?key|password|passwd|secret|token";
34375
- var JSON_SECRET_DQ_RE = new RegExp(`("(?:${JSON_SECRET_KEYS})"\\s*:\\s*")[^"]*(")`, "gi");
34376
- var JSON_SECRET_SQ_RE = new RegExp(`('(?:${JSON_SECRET_KEYS})'\\s*:\\s*')[^']*(')`, "gi");
34370
+ var JSON_SECRET_KEYS = [
34371
+ "(?:access|refresh|id|auth|session|bearer|csrf|xsrf)[_-]?token",
34372
+ "client[_-]?secret",
34373
+ "api[_-]?secret",
34374
+ "(?:x[_-])?api[_-]?key",
34375
+ "private[_-]?key",
34376
+ "x[_-][a-z0-9_-]*?(?:api[_-]?key|token|secret|auth)[a-z0-9_-]*",
34377
+ "(?:proxy-)?authorization",
34378
+ "password",
34379
+ "passwd",
34380
+ "secret",
34381
+ "token"
34382
+ ].join("|");
34383
+ var JSON_SECRET_DQ_RE = new RegExp(`("(?:${JSON_SECRET_KEYS})"\\s*:\\s*")(?:[^"\\\\]|\\\\.)*(")`, "gi");
34384
+ var JSON_SECRET_SQ_RE = new RegExp(`('(?:${JSON_SECRET_KEYS})'\\s*:\\s*')(?:[^'\\\\]|\\\\.)*(')`, "gi");
34377
34385
  function redactSecrets(text) {
34378
- return text.replace(BEARER_RE, "$1[REDACTED]").replace(BASIC_AUTH_RE, "$1[REDACTED]").replace(SET_COOKIE_RE, "$1$2=[REDACTED]").replace(COOKIE_HEADER_RE, (_m, prefix, pairs) => `${prefix}${pairs.replace(/=[^;,\s]*/g, "=[REDACTED]")}`).replace(API_KEY_RE, "[REDACTED]").replace(QUERY_SECRET_RE, "$1[REDACTED]").replace(AWS_SIGV4_RE, "$1[REDACTED]").replace(JSON_SECRET_DQ_RE, "$1[REDACTED]$2").replace(JSON_SECRET_SQ_RE, "$1[REDACTED]$2").replace(JWT_RE, "[REDACTED]");
34386
+ return text.replace(BEARER_RE, "$1[REDACTED]").replace(BASIC_AUTH_RE, "$1[REDACTED]").replace(SET_COOKIE_RE, "$1$2=[REDACTED]").replace(COOKIE_HEADER_RE, (_m, prefix, pairs) => `${prefix}${pairs.replace(/=[^;,\s]*/g, "=[REDACTED]")}`).replace(API_KEY_RE, "[REDACTED]").replace(HEADER_SECRET_RE, "$1[REDACTED]").replace(QUERY_SECRET_RE, "$1[REDACTED]").replace(OAUTH_CODE_RE, "$1[REDACTED]").replace(FORM_PASSWORD_RE, "$1[REDACTED]").replace(AWS_SIGV4_RE, "$1[REDACTED]").replace(JSON_SECRET_DQ_RE, "$1[REDACTED]$2").replace(JSON_SECRET_SQ_RE, "$1[REDACTED]$2").replace(JWT_RE, "[REDACTED]");
34379
34387
  }
34380
34388
  function truncateErrorMessage(text, max = DEFAULT_ERROR_MESSAGE_MAX) {
34381
34389
  const str = text === null || text === void 0 ? "" : String(text);
@@ -34567,13 +34575,47 @@ async function createMcpServer(opts) {
34567
34575
  }
34568
34576
  return server;
34569
34577
  }
34578
+ var DEFAULT_SHUTDOWN_TIMEOUT_MS = 5e3;
34579
+ var DEFAULT_REPEAT_SIGNAL_GRACE_MS = 500;
34570
34580
  function withGracefulShutdown(target, opts = {}) {
34571
34581
  const shouldExit = opts.exit ?? true;
34582
+ if (opts.timeoutMs !== void 0 && !(Number.isFinite(opts.timeoutMs) && opts.timeoutMs > 0)) {
34583
+ throw new RangeError("withGracefulShutdown: timeoutMs must be a finite number greater than 0.");
34584
+ }
34585
+ const timeoutMs = opts.timeoutMs ?? DEFAULT_SHUTDOWN_TIMEOUT_MS;
34586
+ if (opts.repeatSignalGraceMs !== void 0 && !(Number.isFinite(opts.repeatSignalGraceMs) && opts.repeatSignalGraceMs >= 0)) {
34587
+ throw new RangeError("withGracefulShutdown: repeatSignalGraceMs must be a finite number >= 0.");
34588
+ }
34589
+ const repeatGraceMs = opts.repeatSignalGraceMs ?? DEFAULT_REPEAT_SIGNAL_GRACE_MS;
34572
34590
  let shuttingDown = false;
34591
+ let firstSignalAt = 0;
34592
+ let exited = false;
34593
+ const exitOnce = () => {
34594
+ if (exited)
34595
+ return;
34596
+ exited = true;
34597
+ process.exit(0);
34598
+ };
34573
34599
  const handler = (signal) => {
34574
- if (shuttingDown)
34600
+ if (shuttingDown) {
34601
+ if (Date.now() - firstSignalAt < repeatGraceMs)
34602
+ return;
34603
+ if (shouldExit) {
34604
+ console.error(`[mcp-utils] second ${signal} during shutdown \u2014 exiting now`);
34605
+ exitOnce();
34606
+ }
34575
34607
  return;
34608
+ }
34576
34609
  shuttingDown = true;
34610
+ firstSignalAt = Date.now();
34611
+ let timer;
34612
+ if (shouldExit) {
34613
+ timer = setTimeout(() => {
34614
+ console.error(`[mcp-utils] graceful shutdown on ${signal} did not finish in ${timeoutMs}ms \u2014 exiting`);
34615
+ exitOnce();
34616
+ }, timeoutMs);
34617
+ timer.unref?.();
34618
+ }
34577
34619
  void (async () => {
34578
34620
  try {
34579
34621
  if (opts.onSignal)
@@ -34582,8 +34624,10 @@ function withGracefulShutdown(target, opts = {}) {
34582
34624
  } catch (err) {
34583
34625
  console.error(`[mcp-utils] error during graceful shutdown on ${signal}: ${err instanceof Error ? err.message : String(err)}`);
34584
34626
  } finally {
34627
+ if (timer !== void 0)
34628
+ clearTimeout(timer);
34585
34629
  if (shouldExit)
34586
- process.exit(0);
34630
+ exitOnce();
34587
34631
  }
34588
34632
  })();
34589
34633
  };
@@ -34725,9 +34769,12 @@ var pageSchema = {
34725
34769
  page_size: external_exports.number().int().min(1).max(200).default(50).describe("Number of items per page (1-200).")
34726
34770
  };
34727
34771
  function toolAnnotations(opts = {}) {
34772
+ if (opts.readOnly === true && opts.destructive === true) {
34773
+ throw new Error("toolAnnotations: readOnly: true contradicts destructive: true \u2014 a destructive tool is not read-only.");
34774
+ }
34728
34775
  return {
34729
34776
  ...opts.title !== void 0 ? { title: opts.title } : {},
34730
- readOnlyHint: opts.readOnly ?? true,
34777
+ readOnlyHint: opts.readOnly ?? opts.destructive === void 0,
34731
34778
  ...opts.idempotent !== void 0 ? { idempotentHint: opts.idempotent } : {},
34732
34779
  ...opts.destructive !== void 0 ? { destructiveHint: opts.destructive } : {},
34733
34780
  ...opts.openWorld !== void 0 ? { openWorldHint: opts.openWorld } : {}
@@ -34735,7 +34782,7 @@ function toolAnnotations(opts = {}) {
34735
34782
  }
34736
34783
 
34737
34784
  // src/version.ts
34738
- var VERSION = "1.1.1";
34785
+ var VERSION = "1.1.3";
34739
34786
 
34740
34787
  // node_modules/@chrischall/mcp-utils/dist/session/index.js
34741
34788
  import { existsSync, readFileSync, writeFileSync, mkdirSync, chmodSync, renameSync, unlinkSync } from "node:fs";
package/dist/version.js CHANGED
@@ -2,4 +2,4 @@
2
2
  * Single source of truth for the server version. release-please rewrites the
3
3
  * literal below; every other file imports VERSION rather than repeating it.
4
4
  */
5
- export const VERSION = '1.1.1'; // x-release-please-version
5
+ export const VERSION = '1.1.3'; // x-release-please-version
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "simplepractice-mcp",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "license": "MIT",
5
5
  "mcpName": "io.github.chrischall/simplepractice-mcp",
6
6
  "description": "SimplePractice Client Portal MCP server for Claude — developed and maintained by AI (Claude Code)",
@@ -34,10 +34,10 @@
34
34
  "test:watch": "vitest"
35
35
  },
36
36
  "dependencies": {
37
- "@chrischall/mcp-utils": "^2.2.0",
37
+ "@chrischall/mcp-utils": "^2.4.0",
38
38
  "@modelcontextprotocol/server": "^2.0.0",
39
- "dotenv": "^17.4.2",
40
- "zod": "^4.6.2"
39
+ "dotenv": "^18.0.0",
40
+ "zod": "^4.6.5"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@modelcontextprotocol/client": "^2.0.0",
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/chrischall/simplepractice-mcp",
7
7
  "source": "github"
8
8
  },
9
- "version": "1.1.1",
9
+ "version": "1.1.3",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "simplepractice-mcp",
14
- "version": "1.1.1",
14
+ "version": "1.1.3",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },