@hoox-sh/hoox-shared 1.4.0 → 1.6.0

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 (110) hide show
  1. package/README.md +6 -0
  2. package/dist/agent-config-fields.d.ts +5 -0
  3. package/dist/agent-config-fields.d.ts.map +1 -1
  4. package/dist/agent-config-fields.js +21 -29
  5. package/dist/analytics.d.ts +3 -4
  6. package/dist/analytics.d.ts.map +1 -1
  7. package/dist/analytics.js +64 -19
  8. package/dist/api-client.js +12 -21
  9. package/dist/colors.js +5 -21
  10. package/dist/config.d.ts +10 -2
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +267 -51
  13. package/dist/cron-handler.js +0 -16
  14. package/dist/d1/index.js +8 -25
  15. package/dist/d1/repository.js +3 -19
  16. package/dist/d1/schemas.js +4 -20
  17. package/dist/dashboard-manifest.d.ts +2 -1
  18. package/dist/dashboard-manifest.d.ts.map +1 -1
  19. package/dist/dashboard-manifest.js +37 -33
  20. package/dist/entitlements.d.ts +46 -0
  21. package/dist/entitlements.d.ts.map +1 -0
  22. package/dist/entitlements.js +15 -0
  23. package/dist/errors.d.ts +1 -0
  24. package/dist/errors.d.ts.map +1 -1
  25. package/dist/errors.js +7 -23
  26. package/dist/exchange-client.d.ts +0 -19
  27. package/dist/exchange-client.d.ts.map +1 -1
  28. package/dist/exchange-client.js +1 -83
  29. package/dist/exchanges/base-exchange-client.d.ts.map +1 -1
  30. package/dist/exchanges/base-exchange-client.js +4 -19
  31. package/dist/exchanges/index.js +4 -19
  32. package/dist/format-time.js +2 -18
  33. package/dist/formatters.js +12 -28
  34. package/dist/health.js +3 -19
  35. package/dist/index.d.ts +7 -4
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +3568 -3766
  38. package/dist/kill-switch.js +12 -20
  39. package/dist/kvKeys.d.ts +8 -0
  40. package/dist/kvKeys.d.ts.map +1 -1
  41. package/dist/kvKeys.js +42 -46
  42. package/dist/kvUtils.js +8 -24
  43. package/dist/legal.js +5 -21
  44. package/dist/middleware/auth.d.ts +9 -0
  45. package/dist/middleware/auth.d.ts.map +1 -1
  46. package/dist/middleware/auth.js +9 -25
  47. package/dist/middleware/cors.js +4 -20
  48. package/dist/middleware/index.js +144 -165
  49. package/dist/middleware/logger.d.ts +2 -0
  50. package/dist/middleware/logger.d.ts.map +1 -1
  51. package/dist/middleware/logger.js +9 -25
  52. package/dist/middleware/rate-limit.d.ts +7 -0
  53. package/dist/middleware/rate-limit.d.ts.map +1 -1
  54. package/dist/middleware/rate-limit.js +5 -20
  55. package/dist/middleware/security-headers.js +2 -18
  56. package/dist/middleware/validate.d.ts +2 -0
  57. package/dist/middleware/validate.d.ts.map +1 -1
  58. package/dist/middleware/validate.js +5 -21
  59. package/dist/middleware/wait-until.js +2 -18
  60. package/dist/operator-transport.js +13 -17
  61. package/dist/path-utils.d.ts.map +1 -1
  62. package/dist/path-utils.js +28 -34
  63. package/dist/queue-handler.d.ts.map +1 -1
  64. package/dist/queue-handler.js +19 -24
  65. package/dist/router.d.ts +5 -0
  66. package/dist/router.d.ts.map +1 -1
  67. package/dist/router.js +0 -16
  68. package/dist/schemas/index.js +75 -50
  69. package/dist/schemas/registry.d.ts.map +1 -1
  70. package/dist/schemas/registry.js +33 -21
  71. package/dist/schemas/validators.d.ts.map +1 -1
  72. package/dist/schemas/validators.js +41 -43
  73. package/dist/service-bindings.d.ts +4 -0
  74. package/dist/service-bindings.d.ts.map +1 -1
  75. package/dist/service-bindings.js +13 -29
  76. package/dist/session.d.ts +10 -3
  77. package/dist/session.d.ts.map +1 -1
  78. package/dist/session.js +111 -51
  79. package/dist/sse.d.ts.map +1 -1
  80. package/dist/sse.js +34 -24
  81. package/dist/stores/config-store.d.ts +2 -50
  82. package/dist/stores/config-store.d.ts.map +1 -1
  83. package/dist/stores/config-store.js +153 -156
  84. package/dist/stores/service-store.d.ts +2 -192
  85. package/dist/stores/service-store.d.ts.map +1 -1
  86. package/dist/stores/service-store.js +40 -35
  87. package/dist/stores/ui-store.d.ts +2 -48
  88. package/dist/stores/ui-store.d.ts.map +1 -1
  89. package/dist/stores/ui-store.js +0 -16
  90. package/dist/tenant.d.ts +62 -0
  91. package/dist/tenant.d.ts.map +1 -0
  92. package/dist/tenant.js +56 -0
  93. package/dist/test-utils.js +11 -27
  94. package/dist/types.d.ts +10 -3
  95. package/dist/types.d.ts.map +1 -1
  96. package/dist/types.js +29 -24
  97. package/dist/wizard/engine.d.ts.map +1 -1
  98. package/dist/wizard/engine.js +33 -27
  99. package/dist/wizard/index.d.ts +1 -0
  100. package/dist/wizard/index.d.ts.map +1 -1
  101. package/dist/wizard/index.js +48 -39
  102. package/dist/wizard/persistence.d.ts +4 -0
  103. package/dist/wizard/persistence.d.ts.map +1 -1
  104. package/dist/wizard/persistence.js +7 -19
  105. package/dist/wizard/presets.d.ts.map +1 -1
  106. package/dist/wizard/presets.js +13 -25
  107. package/dist/wizard/types.d.ts +6 -0
  108. package/dist/wizard/types.d.ts.map +1 -1
  109. package/dist/wizard/types.js +5 -0
  110. package/package.json +7 -2
@@ -1,19 +1,15 @@
1
1
  // @bun
2
- var __defProp = Object.defineProperty;
3
- var __returnValue = (v) => v;
4
- function __exportSetter(name, newValue) {
5
- this[name] = __returnValue.bind(null, newValue);
6
- }
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, {
10
- get: all[name],
11
- enumerable: true,
12
- configurable: true,
13
- set: __exportSetter.bind(all, name)
14
- });
2
+ var __esm = (fn, res, err) => () => {
3
+ if (fn)
4
+ try {
5
+ res = fn(fn = 0);
6
+ } catch (e) {
7
+ err = [e];
8
+ }
9
+ if (err)
10
+ throw err[0];
11
+ return res;
15
12
  };
16
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
17
13
 
18
14
  // src/operator-transport.ts
19
15
  function stripTrailingSlashes(url) {
@@ -84,8 +80,8 @@ var init_operator_transport = __esm(() => {
84
80
  init_operator_transport();
85
81
 
86
82
  export {
87
- resolveOperatorTransportProfile,
88
- operatorUrl,
83
+ buildOperatorAuthHeaders,
89
84
  hasOperatorClientCredentials,
90
- buildOperatorAuthHeaders
85
+ operatorUrl,
86
+ resolveOperatorTransportProfile
91
87
  };
@@ -1 +1 @@
1
- {"version":3,"file":"path-utils.d.ts","sourceRoot":"","sources":["../src/path-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkCH;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;CAAE,CAAC;AAEjE,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GACzB,KAAK,GACL,KAAK,GACL,YAAY,GACZ,QAAQ,GACR,MAAM,CAAC;AAEX,0CAA0C;AAC1C,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qDAAqD;IACrD,OAAO,EAAE;QACP,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;CACnB;AAUD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAgBtC;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAgBpD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,QAAQ,CAEpD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,IAAI,CAYzD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CA4B1D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,GAAE,MAAsB,GAC/B,MAAM,GAAG,IAAI,CAQf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,iBAAiB,CAiEpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAOnE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAiC9D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAStD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,IAAI,QAAQ,CAE1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAEzC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,IAAI,QAAQ,CAE9C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C"}
1
+ {"version":3,"file":"path-utils.d.ts","sourceRoot":"","sources":["../src/path-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkCH;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;CAAE,CAAC;AAEjE,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAC3B,KAAK,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEnD,0CAA0C;AAC1C,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qDAAqD;IACrD,OAAO,EAAE;QACP,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;CACnB;AA4BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAgBtC;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAgBpD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,QAAQ,CAEpD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,IAAI,CAYzD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CA4B1D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,GAAE,MAAsB,GAC/B,MAAM,GAAG,IAAI,CAQf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,iBAAiB,CAiEpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAOnE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAiC9D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAStD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,IAAI,QAAQ,CAE1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAEzC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,IAAI,QAAQ,CAE9C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C"}
@@ -1,20 +1,4 @@
1
1
  // @bun
2
- var __defProp = Object.defineProperty;
3
- var __returnValue = (v) => v;
4
- function __exportSetter(name, newValue) {
5
- this[name] = __returnValue.bind(null, newValue);
6
- }
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, {
10
- get: all[name],
11
- enumerable: true,
12
- configurable: true,
13
- set: __exportSetter.bind(all, name)
14
- });
15
- };
16
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
17
-
18
2
  // src/path-utils.ts
19
3
  import {
20
4
  existsSync,
@@ -24,10 +8,20 @@ import {
24
8
  chmodSync
25
9
  } from "fs";
26
10
  import { homedir } from "os";
27
- import { dirname, join, resolve } from "path";
11
+ import { dirname, join, resolve, sep } from "path";
28
12
  function createHooxPath(path) {
29
13
  return path;
30
14
  }
15
+ function isInsideDir(child, parent) {
16
+ const resolvedChild = resolve(child);
17
+ const resolvedParent = resolve(parent);
18
+ const cmpChild = process.platform === "win32" ? resolvedChild.toLowerCase() : resolvedChild;
19
+ const cmpParent = process.platform === "win32" ? resolvedParent.toLowerCase() : resolvedParent;
20
+ if (cmpChild === cmpParent)
21
+ return true;
22
+ const prefix = cmpParent.endsWith(sep) ? cmpParent : cmpParent + sep;
23
+ return cmpChild.startsWith(prefix);
24
+ }
31
25
  function getHooxHome() {
32
26
  try {
33
27
  const override = process.env.HOOX_HOME?.trim();
@@ -191,7 +185,7 @@ function resolveHooxPath(relativePath) {
191
185
  const fullPath = join(hooxHome, normalizedPath);
192
186
  const resolvedPath = resolve(fullPath);
193
187
  const resolvedHome = resolve(hooxHome);
194
- if (!resolvedPath.startsWith(resolvedHome)) {
188
+ if (!isInsideDir(resolvedPath, resolvedHome)) {
195
189
  throw new Error(`Resolved path "${resolvedPath}" is outside Hoox home directory`);
196
190
  }
197
191
  return createHooxPath(resolvedPath);
@@ -201,7 +195,7 @@ function isWithinHooxHome(path) {
201
195
  const hooxHome = getHooxHome();
202
196
  const resolvedPath = resolve(path);
203
197
  const resolvedHome = resolve(hooxHome);
204
- return resolvedPath.startsWith(resolvedHome);
198
+ return isInsideDir(resolvedPath, resolvedHome);
205
199
  } catch {
206
200
  return false;
207
201
  }
@@ -236,20 +230,20 @@ function getHooxStatePath() {
236
230
  return resolveHooxPath("data/state.json");
237
231
  }
238
232
  export {
239
- resolveHooxRuntimeRoot,
240
- resolveHooxPath,
241
- rememberMonorepoRoot,
242
- isWithinHooxHome,
243
- isHooxSetupRoot,
244
- getTuiEntryCandidates,
245
- getRememberedMonorepoRoot,
246
- getRememberedMonorepoPath,
247
- getRelativeHooxPath,
248
- getHooxWranglerPath,
249
- getHooxStatePath,
250
- getHooxRepoPath,
251
- getHooxHome,
252
- getHooxDataDir,
233
+ findHooxSetupRoot,
253
234
  getHooxConfigDir,
254
- findHooxSetupRoot
235
+ getHooxDataDir,
236
+ getHooxHome,
237
+ getHooxRepoPath,
238
+ getHooxStatePath,
239
+ getHooxWranglerPath,
240
+ getRelativeHooxPath,
241
+ getRememberedMonorepoPath,
242
+ getRememberedMonorepoRoot,
243
+ getTuiEntryCandidates,
244
+ isHooxSetupRoot,
245
+ isWithinHooxHome,
246
+ rememberMonorepoRoot,
247
+ resolveHooxPath,
248
+ resolveHooxRuntimeRoot
255
249
  };
@@ -1 +1 @@
1
- {"version":3,"file":"queue-handler.d.ts","sourceRoot":"","sources":["../src/queue-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,2BAA2B,CAAC;AAEvE,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,+CAA+C;IAC/C,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC7E,sDAAsD;IACtD,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,CAAC,EACV,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,KACjB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,iEAAiE;IACjE,KAAK,CAAC,EAAE,CACN,OAAO,EAAE,CAAC,EACV,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,KACV,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,oCAAoC;IACpC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KAC1C,CAAC;IACF;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAkCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAqDrD,OAAO,YAAY,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC,CAGrD"}
1
+ {"version":3,"file":"queue-handler.d.ts","sourceRoot":"","sources":["../src/queue-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,2BAA2B,CAAC;AAEvE,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,+CAA+C;IAC/C,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC7E,sDAAsD;IACtD,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,CAAC,EACV,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,KACjB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,iEAAiE;IACjE,KAAK,CAAC,EAAE,CACN,OAAO,EAAE,CAAC,EACV,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,KACV,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,oCAAoC;IACpC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KAC1C,CAAC;IACF;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAkCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,IA2ErD,OAAO,YAAY,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC,CAGrD"}
@@ -1,20 +1,4 @@
1
1
  // @bun
2
- var __defProp = Object.defineProperty;
3
- var __returnValue = (v) => v;
4
- function __exportSetter(name, newValue) {
5
- this[name] = __returnValue.bind(null, newValue);
6
- }
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, {
10
- get: all[name],
11
- enumerable: true,
12
- configurable: true,
13
- set: __exportSetter.bind(all, name)
14
- });
15
- };
16
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
17
-
18
2
  // src/queue-handler.ts
19
3
  async function mapPool(items, concurrency, fn) {
20
4
  if (items.length === 0)
@@ -49,22 +33,33 @@ function createQueueHandler(options) {
49
33
  } = options;
50
34
  const concurrency = typeof concurrencyOpt === "number" && Number.isFinite(concurrencyOpt) && concurrencyOpt >= 1 ? Math.floor(concurrencyOpt) : 1;
51
35
  async function processMessage(msg) {
52
- const attemptNumber = msg.attempts || 0;
36
+ const delivery = Math.max(1, typeof msg.attempts === "number" && Number.isFinite(msg.attempts) ? msg.attempts : 1);
37
+ const retryIndex = delivery - 1;
53
38
  const logId = `[${msg.id}]`;
54
39
  try {
55
- logger?.info(`${logId} Processing message (attempt ${attemptNumber + 1})`);
56
- await onMessage(msg.body, attemptNumber);
40
+ logger?.info(`${logId} Processing message (attempt ${delivery})`);
41
+ await onMessage(msg.body, retryIndex);
57
42
  logger?.info(`${logId} Message processed successfully`);
43
+ msg.ack();
58
44
  } catch (error) {
59
45
  const errorMsg = error instanceof Error ? error.message : String(error);
60
- if (attemptNumber < maxRetries) {
61
- const delaySeconds = backoffDelays[attemptNumber] ?? backoffDelays[backoffDelays.length - 1] ?? 0;
62
- logger?.info(`${logId} Retrying in ${delaySeconds}s (attempt ${attemptNumber + 2}/${maxRetries + 1})`);
63
- await onRetry?.(msg.body, attemptNumber, errorMsg, delaySeconds);
46
+ if (retryIndex < maxRetries) {
47
+ const delaySeconds = backoffDelays[retryIndex] ?? backoffDelays[backoffDelays.length - 1] ?? 0;
48
+ logger?.info(`${logId} Retrying in ${delaySeconds}s (attempt ${delivery + 1}/${maxRetries + 1})`);
49
+ try {
50
+ await onRetry?.(msg.body, retryIndex, errorMsg, delaySeconds);
51
+ } catch (hookError) {
52
+ logger?.error(`${logId} onRetry failed: ${hookError instanceof Error ? hookError.message : String(hookError)}`);
53
+ }
64
54
  msg.retry({ delaySeconds });
65
55
  } else {
66
56
  logger?.error(`${logId} Max retries exceeded (${maxRetries + 1} attempts), moving to DLQ`);
67
- await onDLQ?.(msg.body, attemptNumber, errorMsg);
57
+ try {
58
+ await onDLQ?.(msg.body, retryIndex, errorMsg);
59
+ } catch (hookError) {
60
+ logger?.error(`${logId} onDLQ failed: ${hookError instanceof Error ? hookError.message : String(hookError)}`);
61
+ }
62
+ msg.ack();
68
63
  }
69
64
  }
70
65
  }
package/dist/router.d.ts CHANGED
@@ -11,5 +11,10 @@
11
11
  */
12
12
  import type { Router } from "./types/router";
13
13
  export type { Handler, MiddlewareHandler, RouteParams } from "./types/router";
14
+ /**
15
+ * Create a Worker router with exact-path and `:param` matching.
16
+ * Last registered route for a method+path wins. Unmatched methods on a
17
+ * known path return 405; unknown paths return 404.
18
+ */
14
19
  export declare function createRouter<TEnv = unknown>(): Router<TEnv>;
15
20
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AAEH,OAAO,KAAK,EAKV,MAAM,EACP,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE9E,wBAAgB,YAAY,CAAC,IAAI,GAAG,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,CA6M3D"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AAEH,OAAO,KAAK,EAKV,MAAM,EACP,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE9E;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAG,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,CA6M3D"}
package/dist/router.js CHANGED
@@ -1,20 +1,4 @@
1
1
  // @bun
2
- var __defProp = Object.defineProperty;
3
- var __returnValue = (v) => v;
4
- function __exportSetter(name, newValue) {
5
- this[name] = __returnValue.bind(null, newValue);
6
- }
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, {
10
- get: all[name],
11
- enumerable: true,
12
- configurable: true,
13
- set: __exportSetter.bind(all, name)
14
- });
15
- };
16
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
17
-
18
2
  // src/router.ts
19
3
  function createRouter() {
20
4
  const routes = [];
@@ -1,20 +1,4 @@
1
1
  // @bun
2
- var __defProp = Object.defineProperty;
3
- var __returnValue = (v) => v;
4
- function __exportSetter(name, newValue) {
5
- this[name] = __returnValue.bind(null, newValue);
6
- }
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, {
10
- get: all[name],
11
- enumerable: true,
12
- configurable: true,
13
- set: __exportSetter.bind(all, name)
14
- });
15
- };
16
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
17
-
18
2
  // src/schemas/registry.ts
19
3
  function deriveCalledBy(manifests) {
20
4
  const calledBy = {};
@@ -121,6 +105,10 @@ var manifests = {
121
105
  EXCHANGE_TESTNET_SECRET_BINDING: {
122
106
  type: "secret",
123
107
  description: "Optional unified testnet API secret"
108
+ },
109
+ WALLET_EXECUTE_KEY_BINDING: {
110
+ type: "secret",
111
+ description: "Mesh key for DEX swaps via web3-wallet-worker"
124
112
  }
125
113
  },
126
114
  services: [
@@ -133,6 +121,11 @@ var manifests = {
133
121
  binding: "TELEGRAM_SERVICE",
134
122
  service: "telegram-worker",
135
123
  description: "Notifications"
124
+ },
125
+ {
126
+ binding: "WEB3_WALLET_SERVICE",
127
+ service: "web3-wallet-worker",
128
+ description: "DEX spot swaps (Uniswap / Jupiter)"
136
129
  }
137
130
  ],
138
131
  infrastructure: {
@@ -230,6 +223,22 @@ var manifests = {
230
223
  WALLET_MNEMONIC_SECRET: {
231
224
  type: "secret",
232
225
  description: "Wallet mnemonic phrase"
226
+ },
227
+ WALLET_EXECUTE_KEY_BINDING: {
228
+ type: "secret",
229
+ description: "Mesh key for privileged wallet routes"
230
+ },
231
+ SOLANA_PRIVATE_KEY: {
232
+ type: "secret",
233
+ description: "Solana signing key (base58 seed or Phantom export)"
234
+ },
235
+ JUPITER_API_KEY: {
236
+ type: "secret",
237
+ description: "Jupiter Swap V2 API key"
238
+ },
239
+ RPC_URL_SOLANA: {
240
+ type: "plaintext",
241
+ description: "Solana JSON-RPC URL"
233
242
  }
234
243
  },
235
244
  services: [
@@ -251,7 +260,10 @@ var manifests = {
251
260
  INTERNAL_KEY_BINDING: {
252
261
  type: "secret",
253
262
  description: "Inter-worker auth key"
254
- }
263
+ },
264
+ OPENAI_API_KEY: { type: "secret", description: "OpenAI API key" },
265
+ ANTHROPIC_API_KEY: { type: "secret", description: "Anthropic API key" },
266
+ GOOGLE_API_KEY: { type: "secret", description: "Google AI API key" }
255
267
  },
256
268
  services: [
257
269
  {
@@ -467,15 +479,17 @@ var WORKER_CATALOG = WORKER_NAMES.map((name) => {
467
479
  function getWorkerDefaultEnabled(name) {
468
480
  return manifests[name]?.defaultEnabled;
469
481
  }
470
-
471
482
  // src/schemas/validators.ts
472
483
  import { parse } from "jsonc-parser";
484
+ function parseJsoncDocument(content) {
485
+ const errors = [];
486
+ const value = parse(content, errors, { allowTrailingComma: true });
487
+ return { value, errors };
488
+ }
473
489
  function validateWranglerJsonc(workerName, manifest, jsoncContent) {
474
490
  const errors = [];
475
- let parsed;
476
- try {
477
- parsed = parse(jsoncContent);
478
- } catch {
491
+ const { value: parsed, errors: parseErrors } = parseJsoncDocument(jsoncContent);
492
+ if (parseErrors.length > 0) {
479
493
  errors.push({
480
494
  worker: workerName,
481
495
  severity: "error",
@@ -506,7 +520,7 @@ function validateWranglerJsonc(workerName, manifest, jsoncContent) {
506
520
  }
507
521
  }
508
522
  for (const [name, def] of Object.entries(manifest.vars)) {
509
- if (def.type === "secret" && !name.endsWith("_BINDING") && !name.endsWith("_SECRET") && !name.startsWith("CLOUDFLARE_") && name !== "TELEGRAM_SECRET_TOKEN" && name !== "TELEGRAM_ALLOWED_CHAT_IDS" && name !== "AUTHORIZED_CHAT_IDS" && name !== "MAILGUN_API_KEY" && name !== "EMAIL_SCAN_SUBJECT" && name !== "DASHBOARD_USER" && name !== "DASHBOARD_PASS" && name !== "SESSION_SECRET" && name !== "AGENT_INTERNAL_KEY") {
523
+ if (def.type === "secret" && !name.endsWith("_BINDING") && !name.endsWith("_SECRET") && !name.startsWith("CLOUDFLARE_") && name !== "TELEGRAM_SECRET_TOKEN" && name !== "TELEGRAM_ALLOWED_CHAT_IDS" && name !== "AUTHORIZED_CHAT_IDS" && name !== "MAILGUN_API_KEY" && name !== "EMAIL_SCAN_SUBJECT" && name !== "DASHBOARD_USER" && name !== "DASHBOARD_PASS" && name !== "SESSION_SECRET" && name !== "AGENT_INTERNAL_KEY" && name !== "OPENAI_API_KEY" && name !== "ANTHROPIC_API_KEY" && name !== "GOOGLE_API_KEY") {
510
524
  errors.push({
511
525
  worker: workerName,
512
526
  severity: "warning",
@@ -552,10 +566,8 @@ function validateWranglerJsonc(workerName, manifest, jsoncContent) {
552
566
  }
553
567
  function validateRootSecrets(workerName, manifest, rootJsoncContent) {
554
568
  const errors = [];
555
- let parsed;
556
- try {
557
- parsed = parse(rootJsoncContent);
558
- } catch {
569
+ const { value: parsed, errors: parseErrors } = parseJsoncDocument(rootJsoncContent);
570
+ if (parseErrors.length > 0) {
559
571
  errors.push({
560
572
  worker: workerName,
561
573
  severity: "error",
@@ -613,6 +625,11 @@ function validateDevVars(workerName, manifest, devVarsContent) {
613
625
  }
614
626
  return errors;
615
627
  }
628
+ function queueProducerBinding(queue) {
629
+ if (queue === "trade-execution")
630
+ return "TRADE_QUEUE";
631
+ return queue.replace(/[^A-Za-z0-9]+/g, "_").toUpperCase();
632
+ }
616
633
  function generateWranglerJsonc(manifest) {
617
634
  const parts = [];
618
635
  parts.push(`{`);
@@ -679,21 +696,29 @@ function generateWranglerJsonc(manifest) {
679
696
  parts.push(` ],`);
680
697
  }
681
698
  if (infra.queues) {
682
- if (infra.queues.producer && infra.queues.producer.length > 0) {
683
- parts.push(` "queues": { "producers": [`);
684
- for (const [i, q] of infra.queues.producer.entries()) {
685
- const comma = i < infra.queues.producer.length - 1 ? "," : "";
686
- parts.push(` { "queue": "${q}", "binding": "" }${comma}`);
699
+ const producers = infra.queues.producer ?? [];
700
+ const consumers = infra.queues.consumer ?? [];
701
+ if (producers.length > 0 || consumers.length > 0) {
702
+ const queueParts = [];
703
+ if (producers.length > 0) {
704
+ queueParts.push(` "producers": [`);
705
+ for (const [i, q] of producers.entries()) {
706
+ const comma = i < producers.length - 1 ? "," : "";
707
+ queueParts.push(` { "queue": "${q}", "binding": "${queueProducerBinding(q)}" }${comma}`);
708
+ }
709
+ queueParts.push(consumers.length > 0 ? ` ],` : ` ]`);
687
710
  }
688
- parts.push(` ] },`);
689
- }
690
- if (infra.queues.consumer && infra.queues.consumer.length > 0) {
691
- parts.push(` "queues": { "consumers": [`);
692
- for (const [i, q] of infra.queues.consumer.entries()) {
693
- const comma = i < infra.queues.consumer.length - 1 ? "," : "";
694
- parts.push(` { "queue": "${q}" }${comma}`);
711
+ if (consumers.length > 0) {
712
+ queueParts.push(` "consumers": [`);
713
+ for (const [i, q] of consumers.entries()) {
714
+ const comma = i < consumers.length - 1 ? "," : "";
715
+ queueParts.push(` { "queue": "${q}" }${comma}`);
716
+ }
717
+ queueParts.push(` ]`);
695
718
  }
696
- parts.push(` ] },`);
719
+ parts.push(` "queues": {`);
720
+ parts.push(...queueParts);
721
+ parts.push(` },`);
697
722
  }
698
723
  }
699
724
  if (infra.durableObjects && infra.durableObjects.length > 0) {
@@ -736,15 +761,15 @@ function validateAll(workerName, manifest, files) {
736
761
  };
737
762
  }
738
763
  export {
739
- validateWranglerJsonc,
740
- validateRootSecrets,
741
- validateDevVars,
742
- validateAll,
743
- getWorkerDefaultEnabled,
744
- generateWranglerJsonc,
745
- generateDevVars,
746
- WORKER_NAMES,
747
- WORKER_MANIFESTS,
764
+ CALLED_BY,
748
765
  WORKER_CATALOG,
749
- CALLED_BY
766
+ WORKER_MANIFESTS,
767
+ WORKER_NAMES,
768
+ generateDevVars,
769
+ generateWranglerJsonc,
770
+ getWorkerDefaultEnabled,
771
+ validateAll,
772
+ validateDevVars,
773
+ validateRootSecrets,
774
+ validateWranglerJsonc
750
775
  };
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/schemas/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA4cjD,qEAAqE;AACrE,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAA6B,CAAC;AAE7E,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAa,CAAC;AAE1E,gDAAgD;AAChD,eAAO,MAAM,YAAY,EAAE,MAAM,EAAkC,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,gFAAgF;AAChF,eAAO,MAAM,cAAc,EAAE,kBAAkB,EAO7C,CAAC;AAEH,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEzE"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/schemas/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAwejD,qEAAqE;AACrE,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAA6B,CAAC;AAE7E,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAa,CAAC;AAE1E,gDAAgD;AAChD,eAAO,MAAM,YAAY,EAAE,MAAM,EAAkC,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,gFAAgF;AAChF,eAAO,MAAM,cAAc,EAAE,kBAAkB,EAO7C,CAAC;AAEH,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEzE"}
@@ -1,20 +1,4 @@
1
1
  // @bun
2
- var __defProp = Object.defineProperty;
3
- var __returnValue = (v) => v;
4
- function __exportSetter(name, newValue) {
5
- this[name] = __returnValue.bind(null, newValue);
6
- }
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, {
10
- get: all[name],
11
- enumerable: true,
12
- configurable: true,
13
- set: __exportSetter.bind(all, name)
14
- });
15
- };
16
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
17
-
18
2
  // src/schemas/registry.ts
19
3
  function deriveCalledBy(manifests) {
20
4
  const calledBy = {};
@@ -121,6 +105,10 @@ var manifests = {
121
105
  EXCHANGE_TESTNET_SECRET_BINDING: {
122
106
  type: "secret",
123
107
  description: "Optional unified testnet API secret"
108
+ },
109
+ WALLET_EXECUTE_KEY_BINDING: {
110
+ type: "secret",
111
+ description: "Mesh key for DEX swaps via web3-wallet-worker"
124
112
  }
125
113
  },
126
114
  services: [
@@ -133,6 +121,11 @@ var manifests = {
133
121
  binding: "TELEGRAM_SERVICE",
134
122
  service: "telegram-worker",
135
123
  description: "Notifications"
124
+ },
125
+ {
126
+ binding: "WEB3_WALLET_SERVICE",
127
+ service: "web3-wallet-worker",
128
+ description: "DEX spot swaps (Uniswap / Jupiter)"
136
129
  }
137
130
  ],
138
131
  infrastructure: {
@@ -230,6 +223,22 @@ var manifests = {
230
223
  WALLET_MNEMONIC_SECRET: {
231
224
  type: "secret",
232
225
  description: "Wallet mnemonic phrase"
226
+ },
227
+ WALLET_EXECUTE_KEY_BINDING: {
228
+ type: "secret",
229
+ description: "Mesh key for privileged wallet routes"
230
+ },
231
+ SOLANA_PRIVATE_KEY: {
232
+ type: "secret",
233
+ description: "Solana signing key (base58 seed or Phantom export)"
234
+ },
235
+ JUPITER_API_KEY: {
236
+ type: "secret",
237
+ description: "Jupiter Swap V2 API key"
238
+ },
239
+ RPC_URL_SOLANA: {
240
+ type: "plaintext",
241
+ description: "Solana JSON-RPC URL"
233
242
  }
234
243
  },
235
244
  services: [
@@ -251,7 +260,10 @@ var manifests = {
251
260
  INTERNAL_KEY_BINDING: {
252
261
  type: "secret",
253
262
  description: "Inter-worker auth key"
254
- }
263
+ },
264
+ OPENAI_API_KEY: { type: "secret", description: "OpenAI API key" },
265
+ ANTHROPIC_API_KEY: { type: "secret", description: "Anthropic API key" },
266
+ GOOGLE_API_KEY: { type: "secret", description: "Google AI API key" }
255
267
  },
256
268
  services: [
257
269
  {
@@ -468,9 +480,9 @@ function getWorkerDefaultEnabled(name) {
468
480
  return manifests[name]?.defaultEnabled;
469
481
  }
470
482
  export {
471
- getWorkerDefaultEnabled,
472
- WORKER_NAMES,
473
- WORKER_MANIFESTS,
483
+ CALLED_BY,
474
484
  WORKER_CATALOG,
475
- CALLED_BY
485
+ WORKER_MANIFESTS,
486
+ WORKER_NAMES,
487
+ getWorkerDefaultEnabled
476
488
  };
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/schemas/validators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAalE;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CA8GnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,gBAAgB,EAAE,MAAM,GACvB,eAAe,EAAE,CA2CnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,GACrB,eAAe,EAAE,CA6BnB;AAID;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAoItE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAYhE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE;IACL,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CAWhE"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/schemas/validators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAsBlE;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CAgHnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,gBAAgB,EAAE,MAAM,GACvB,eAAe,EAAE,CA0CnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,GACrB,eAAe,EAAE,CA6BnB;AAUD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CA8ItE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAYhE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE;IACL,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CAWhE"}