@farthershore/cli 0.3.9 → 0.3.10

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 (1213) hide show
  1. package/node_modules/@farther-shore/shared-types/README.md +63 -0
  2. package/node_modules/@farther-shore/shared-types/dist/admin.d.ts +26 -0
  3. package/node_modules/@farther-shore/shared-types/dist/admin.d.ts.map +1 -0
  4. package/node_modules/@farther-shore/shared-types/dist/admin.js +10 -0
  5. package/node_modules/@farther-shore/shared-types/dist/admin.js.map +1 -0
  6. package/node_modules/@farther-shore/shared-types/dist/analytics.d.ts +229 -0
  7. package/node_modules/@farther-shore/shared-types/dist/analytics.d.ts.map +1 -0
  8. package/node_modules/@farther-shore/shared-types/dist/analytics.js +101 -0
  9. package/node_modules/@farther-shore/shared-types/dist/analytics.js.map +1 -0
  10. package/node_modules/@farther-shore/shared-types/dist/api.d.ts +16 -0
  11. package/node_modules/@farther-shore/shared-types/dist/api.d.ts.map +1 -0
  12. package/node_modules/@farther-shore/shared-types/dist/api.js +5 -0
  13. package/node_modules/@farther-shore/shared-types/dist/api.js.map +1 -0
  14. package/node_modules/@farther-shore/shared-types/dist/auth/permissions.d.ts +63 -0
  15. package/node_modules/@farther-shore/shared-types/dist/auth/permissions.d.ts.map +1 -0
  16. package/node_modules/@farther-shore/shared-types/dist/auth/permissions.js +143 -0
  17. package/node_modules/@farther-shore/shared-types/dist/auth/permissions.js.map +1 -0
  18. package/node_modules/@farther-shore/shared-types/dist/base.d.ts +18 -0
  19. package/node_modules/@farther-shore/shared-types/dist/base.d.ts.map +1 -0
  20. package/node_modules/@farther-shore/shared-types/dist/base.js +6 -0
  21. package/node_modules/@farther-shore/shared-types/dist/base.js.map +1 -0
  22. package/node_modules/@farther-shore/shared-types/dist/billing.d.ts +58 -0
  23. package/node_modules/@farther-shore/shared-types/dist/billing.d.ts.map +1 -0
  24. package/node_modules/@farther-shore/shared-types/dist/billing.js +9 -0
  25. package/node_modules/@farther-shore/shared-types/dist/billing.js.map +1 -0
  26. package/node_modules/@farther-shore/shared-types/dist/builder-context.d.ts +33 -0
  27. package/node_modules/@farther-shore/shared-types/dist/builder-context.d.ts.map +1 -0
  28. package/node_modules/@farther-shore/shared-types/dist/builder-context.js +6 -0
  29. package/node_modules/@farther-shore/shared-types/dist/builder-context.js.map +1 -0
  30. package/node_modules/@farther-shore/shared-types/dist/consumer.d.ts +162 -0
  31. package/node_modules/@farther-shore/shared-types/dist/consumer.d.ts.map +1 -0
  32. package/node_modules/@farther-shore/shared-types/dist/consumer.js +37 -0
  33. package/node_modules/@farther-shore/shared-types/dist/consumer.js.map +1 -0
  34. package/node_modules/@farther-shore/shared-types/dist/dlq.d.ts +47 -0
  35. package/node_modules/@farther-shore/shared-types/dist/dlq.d.ts.map +1 -0
  36. package/node_modules/@farther-shore/shared-types/dist/dlq.js +86 -0
  37. package/node_modules/@farther-shore/shared-types/dist/dlq.js.map +1 -0
  38. package/node_modules/@farther-shore/shared-types/dist/edge-kv-keys.d.ts +254 -0
  39. package/node_modules/@farther-shore/shared-types/dist/edge-kv-keys.d.ts.map +1 -0
  40. package/node_modules/@farther-shore/shared-types/dist/edge-kv-keys.js +134 -0
  41. package/node_modules/@farther-shore/shared-types/dist/edge-kv-keys.js.map +1 -0
  42. package/node_modules/@farther-shore/shared-types/dist/entitlements.d.ts +86 -0
  43. package/node_modules/@farther-shore/shared-types/dist/entitlements.d.ts.map +1 -0
  44. package/node_modules/@farther-shore/shared-types/dist/entitlements.js +30 -0
  45. package/node_modules/@farther-shore/shared-types/dist/entitlements.js.map +1 -0
  46. package/node_modules/@farther-shore/shared-types/dist/enums.d.ts +36 -0
  47. package/node_modules/@farther-shore/shared-types/dist/enums.d.ts.map +1 -0
  48. package/node_modules/@farther-shore/shared-types/dist/enums.js +5 -0
  49. package/node_modules/@farther-shore/shared-types/dist/enums.js.map +1 -0
  50. package/node_modules/@farther-shore/shared-types/dist/format.d.ts +8 -0
  51. package/node_modules/@farther-shore/shared-types/dist/format.d.ts.map +1 -0
  52. package/node_modules/@farther-shore/shared-types/dist/format.js +14 -0
  53. package/node_modules/@farther-shore/shared-types/dist/format.js.map +1 -0
  54. package/node_modules/@farther-shore/shared-types/dist/index.d.ts +24 -0
  55. package/node_modules/@farther-shore/shared-types/dist/index.d.ts.map +1 -0
  56. package/node_modules/@farther-shore/shared-types/dist/index.js +24 -0
  57. package/node_modules/@farther-shore/shared-types/dist/index.js.map +1 -0
  58. package/node_modules/@farther-shore/shared-types/dist/limits.d.ts +24 -0
  59. package/node_modules/@farther-shore/shared-types/dist/limits.d.ts.map +1 -0
  60. package/node_modules/@farther-shore/shared-types/dist/limits.js +5 -0
  61. package/node_modules/@farther-shore/shared-types/dist/limits.js.map +1 -0
  62. package/node_modules/@farther-shore/shared-types/dist/logger.d.ts +67 -0
  63. package/node_modules/@farther-shore/shared-types/dist/logger.d.ts.map +1 -0
  64. package/node_modules/@farther-shore/shared-types/dist/logger.js +252 -0
  65. package/node_modules/@farther-shore/shared-types/dist/logger.js.map +1 -0
  66. package/node_modules/@farther-shore/shared-types/dist/metering.d.ts +18 -0
  67. package/node_modules/@farther-shore/shared-types/dist/metering.d.ts.map +1 -0
  68. package/node_modules/@farther-shore/shared-types/dist/metering.js +5 -0
  69. package/node_modules/@farther-shore/shared-types/dist/metering.js.map +1 -0
  70. package/node_modules/@farther-shore/shared-types/dist/plans/index.d.ts +4 -0
  71. package/node_modules/@farther-shore/shared-types/dist/plans/index.d.ts.map +1 -0
  72. package/node_modules/@farther-shore/shared-types/dist/plans/index.js +18 -0
  73. package/node_modules/@farther-shore/shared-types/dist/plans/index.js.map +1 -0
  74. package/node_modules/@farther-shore/shared-types/dist/plans/limits-schema.d.ts +80 -0
  75. package/node_modules/@farther-shore/shared-types/dist/plans/limits-schema.d.ts.map +1 -0
  76. package/node_modules/@farther-shore/shared-types/dist/plans/limits-schema.js +50 -0
  77. package/node_modules/@farther-shore/shared-types/dist/plans/limits-schema.js.map +1 -0
  78. package/node_modules/@farther-shore/shared-types/dist/plans/projections.d.ts +42 -0
  79. package/node_modules/@farther-shore/shared-types/dist/plans/projections.d.ts.map +1 -0
  80. package/node_modules/@farther-shore/shared-types/dist/plans/projections.js +18 -0
  81. package/node_modules/@farther-shore/shared-types/dist/plans/projections.js.map +1 -0
  82. package/node_modules/@farther-shore/shared-types/dist/plans/spec.d.ts +2387 -0
  83. package/node_modules/@farther-shore/shared-types/dist/plans/spec.d.ts.map +1 -0
  84. package/node_modules/@farther-shore/shared-types/dist/plans/spec.js +513 -0
  85. package/node_modules/@farther-shore/shared-types/dist/plans/spec.js.map +1 -0
  86. package/node_modules/@farther-shore/shared-types/dist/portal.d.ts +204 -0
  87. package/node_modules/@farther-shore/shared-types/dist/portal.d.ts.map +1 -0
  88. package/node_modules/@farther-shore/shared-types/dist/portal.js +20 -0
  89. package/node_modules/@farther-shore/shared-types/dist/portal.js.map +1 -0
  90. package/node_modules/@farther-shore/shared-types/dist/pricing-model.d.ts +92 -0
  91. package/node_modules/@farther-shore/shared-types/dist/pricing-model.d.ts.map +1 -0
  92. package/node_modules/@farther-shore/shared-types/dist/pricing-model.js +11 -0
  93. package/node_modules/@farther-shore/shared-types/dist/pricing-model.js.map +1 -0
  94. package/node_modules/@farther-shore/shared-types/dist/projections.d.ts +80 -0
  95. package/node_modules/@farther-shore/shared-types/dist/projections.d.ts.map +1 -0
  96. package/node_modules/@farther-shore/shared-types/dist/projections.js +6 -0
  97. package/node_modules/@farther-shore/shared-types/dist/projections.js.map +1 -0
  98. package/node_modules/@farther-shore/shared-types/dist/scope-matcher.d.ts +49 -0
  99. package/node_modules/@farther-shore/shared-types/dist/scope-matcher.d.ts.map +1 -0
  100. package/node_modules/@farther-shore/shared-types/dist/scope-matcher.js +159 -0
  101. package/node_modules/@farther-shore/shared-types/dist/scope-matcher.js.map +1 -0
  102. package/node_modules/@farther-shore/shared-types/dist/service-auth.d.ts +70 -0
  103. package/node_modules/@farther-shore/shared-types/dist/service-auth.d.ts.map +1 -0
  104. package/node_modules/@farther-shore/shared-types/dist/service-auth.js +253 -0
  105. package/node_modules/@farther-shore/shared-types/dist/service-auth.js.map +1 -0
  106. package/node_modules/@farther-shore/shared-types/dist/web-ui.d.ts +239 -0
  107. package/node_modules/@farther-shore/shared-types/dist/web-ui.d.ts.map +1 -0
  108. package/node_modules/@farther-shore/shared-types/dist/web-ui.js +6 -0
  109. package/node_modules/@farther-shore/shared-types/dist/web-ui.js.map +1 -0
  110. package/node_modules/@farther-shore/shared-types/dist/webhooks/events.d.ts +48 -0
  111. package/node_modules/@farther-shore/shared-types/dist/webhooks/events.d.ts.map +1 -0
  112. package/node_modules/@farther-shore/shared-types/dist/webhooks/events.js +68 -0
  113. package/node_modules/@farther-shore/shared-types/dist/webhooks/events.js.map +1 -0
  114. package/node_modules/@farther-shore/shared-types/dist/webhooks/migration.d.ts +8 -0
  115. package/node_modules/@farther-shore/shared-types/dist/webhooks/migration.d.ts.map +1 -0
  116. package/node_modules/@farther-shore/shared-types/dist/webhooks/migration.js +21 -0
  117. package/node_modules/@farther-shore/shared-types/dist/webhooks/migration.js.map +1 -0
  118. package/node_modules/@farther-shore/shared-types/package.json +156 -0
  119. package/node_modules/@pinojs/redact/.github/dependabot.yml +13 -0
  120. package/node_modules/@pinojs/redact/.github/workflows/ci.yml +48 -0
  121. package/node_modules/@pinojs/redact/.github/workflows/publish-release.yml +43 -0
  122. package/node_modules/@pinojs/redact/LICENSE +21 -0
  123. package/node_modules/@pinojs/redact/README.md +350 -0
  124. package/node_modules/@pinojs/redact/benchmarks/basic.js +184 -0
  125. package/node_modules/@pinojs/redact/eslint.config.js +1 -0
  126. package/node_modules/@pinojs/redact/index.d.ts +52 -0
  127. package/node_modules/@pinojs/redact/index.js +529 -0
  128. package/node_modules/@pinojs/redact/index.test-d.ts +22 -0
  129. package/node_modules/@pinojs/redact/package.json +37 -0
  130. package/node_modules/@pinojs/redact/scripts/sync-version.mjs +20 -0
  131. package/node_modules/@pinojs/redact/test/actual-redact-comparison.test.js +211 -0
  132. package/node_modules/@pinojs/redact/test/index.test.js +824 -0
  133. package/node_modules/@pinojs/redact/test/integration.test.js +390 -0
  134. package/node_modules/@pinojs/redact/test/multiple-wildcards.test.js +227 -0
  135. package/node_modules/@pinojs/redact/test/prototype-pollution.test.js +223 -0
  136. package/node_modules/@pinojs/redact/test/selective-clone.test.js +115 -0
  137. package/node_modules/@pinojs/redact/tsconfig.json +19 -0
  138. package/node_modules/atomic-sleep/.travis.yml +11 -0
  139. package/node_modules/atomic-sleep/LICENSE +22 -0
  140. package/node_modules/atomic-sleep/index.js +38 -0
  141. package/node_modules/atomic-sleep/package.json +37 -0
  142. package/node_modules/atomic-sleep/readme.md +58 -0
  143. package/node_modules/atomic-sleep/test.js +47 -0
  144. package/node_modules/on-exit-leak-free/.github/dependabot.yml +12 -0
  145. package/node_modules/on-exit-leak-free/.github/workflows/ci.yml +46 -0
  146. package/node_modules/on-exit-leak-free/LICENSE +21 -0
  147. package/node_modules/on-exit-leak-free/README.md +54 -0
  148. package/node_modules/on-exit-leak-free/index.js +108 -0
  149. package/node_modules/on-exit-leak-free/package.json +37 -0
  150. package/node_modules/on-exit-leak-free/test/base.test.js +30 -0
  151. package/node_modules/on-exit-leak-free/test/event-emitter-leak.test.js +23 -0
  152. package/node_modules/on-exit-leak-free/test/fixtures/beforeExit.js +33 -0
  153. package/node_modules/on-exit-leak-free/test/fixtures/close.js +21 -0
  154. package/node_modules/on-exit-leak-free/test/fixtures/gc-not-close.js +24 -0
  155. package/node_modules/on-exit-leak-free/test/fixtures/unregister.js +24 -0
  156. package/node_modules/pino/.nojekyll +0 -0
  157. package/node_modules/pino/.prettierignore +1 -0
  158. package/node_modules/pino/CNAME +1 -0
  159. package/node_modules/pino/CONTRIBUTING.md +30 -0
  160. package/node_modules/pino/LICENSE +21 -0
  161. package/node_modules/pino/README.md +177 -0
  162. package/node_modules/pino/SECURITY.md +87 -0
  163. package/node_modules/pino/benchmarks/basic.bench.js +95 -0
  164. package/node_modules/pino/benchmarks/child-child.bench.js +52 -0
  165. package/node_modules/pino/benchmarks/child-creation.bench.js +73 -0
  166. package/node_modules/pino/benchmarks/child.bench.js +62 -0
  167. package/node_modules/pino/benchmarks/deep-object.bench.js +88 -0
  168. package/node_modules/pino/benchmarks/formatters.bench.js +50 -0
  169. package/node_modules/pino/benchmarks/internal/custom-levels.js +67 -0
  170. package/node_modules/pino/benchmarks/internal/just-pino-heavy.bench.js +76 -0
  171. package/node_modules/pino/benchmarks/internal/just-pino.bench.js +182 -0
  172. package/node_modules/pino/benchmarks/internal/parent-vs-child.bench.js +75 -0
  173. package/node_modules/pino/benchmarks/internal/redact.bench.js +86 -0
  174. package/node_modules/pino/benchmarks/long-string.bench.js +81 -0
  175. package/node_modules/pino/benchmarks/multi-arg.bench.js +193 -0
  176. package/node_modules/pino/benchmarks/multistream.js +98 -0
  177. package/node_modules/pino/benchmarks/object.bench.js +82 -0
  178. package/node_modules/pino/benchmarks/utils/generate-benchmark-doc.js +36 -0
  179. package/node_modules/pino/benchmarks/utils/runbench.js +138 -0
  180. package/node_modules/pino/benchmarks/utils/wrap-log-level.js +55 -0
  181. package/node_modules/pino/bin.js +6 -0
  182. package/node_modules/pino/browser.js +547 -0
  183. package/node_modules/pino/build/sync-version.js +25 -0
  184. package/node_modules/pino/docs/api.md +1593 -0
  185. package/node_modules/pino/docs/asynchronous.md +40 -0
  186. package/node_modules/pino/docs/benchmarks.md +55 -0
  187. package/node_modules/pino/docs/browser.md +278 -0
  188. package/node_modules/pino/docs/bundling.md +40 -0
  189. package/node_modules/pino/docs/child-loggers.md +95 -0
  190. package/node_modules/pino/docs/diagnostics.md +16 -0
  191. package/node_modules/pino/docs/ecosystem.md +86 -0
  192. package/node_modules/pino/docs/help.md +345 -0
  193. package/node_modules/pino/docs/lts.md +64 -0
  194. package/node_modules/pino/docs/pretty.md +35 -0
  195. package/node_modules/pino/docs/redaction.md +135 -0
  196. package/node_modules/pino/docs/transports.md +1376 -0
  197. package/node_modules/pino/docs/web.md +309 -0
  198. package/node_modules/pino/eslint.config.js +28 -0
  199. package/node_modules/pino/examples/basic.js +43 -0
  200. package/node_modules/pino/examples/transport.js +68 -0
  201. package/node_modules/pino/favicon.ico +0 -0
  202. package/node_modules/pino/file.js +12 -0
  203. package/node_modules/pino/inc-version.sh +42 -0
  204. package/node_modules/pino/index.html +55 -0
  205. package/node_modules/pino/lib/caller.js +30 -0
  206. package/node_modules/pino/lib/constants.js +28 -0
  207. package/node_modules/pino/lib/deprecations.js +8 -0
  208. package/node_modules/pino/lib/levels.js +241 -0
  209. package/node_modules/pino/lib/meta.js +3 -0
  210. package/node_modules/pino/lib/multistream.js +203 -0
  211. package/node_modules/pino/lib/proto.js +256 -0
  212. package/node_modules/pino/lib/redaction.js +114 -0
  213. package/node_modules/pino/lib/symbols.js +74 -0
  214. package/node_modules/pino/lib/time.js +39 -0
  215. package/node_modules/pino/lib/tools.js +427 -0
  216. package/node_modules/pino/lib/transport-stream.js +56 -0
  217. package/node_modules/pino/lib/transport.js +289 -0
  218. package/node_modules/pino/lib/worker.js +194 -0
  219. package/node_modules/pino/package.json +120 -0
  220. package/node_modules/pino/pino.d.ts +908 -0
  221. package/node_modules/pino/pino.js +234 -0
  222. package/node_modules/pino/test/basic.test.js +886 -0
  223. package/node_modules/pino/test/broken-pipe.test.js +59 -0
  224. package/node_modules/pino/test/browser-child.test.js +132 -0
  225. package/node_modules/pino/test/browser-disabled.test.js +87 -0
  226. package/node_modules/pino/test/browser-early-console-freeze.test.js +12 -0
  227. package/node_modules/pino/test/browser-is-level-enabled.test.js +101 -0
  228. package/node_modules/pino/test/browser-levels.test.js +241 -0
  229. package/node_modules/pino/test/browser-serializers.test.js +352 -0
  230. package/node_modules/pino/test/browser-timestamp.test.js +88 -0
  231. package/node_modules/pino/test/browser-transmit.test.js +417 -0
  232. package/node_modules/pino/test/browser.test.js +698 -0
  233. package/node_modules/pino/test/complex-objects.test.js +36 -0
  234. package/node_modules/pino/test/crlf.test.js +34 -0
  235. package/node_modules/pino/test/custom-levels.test.js +267 -0
  236. package/node_modules/pino/test/diagnostics.test.js +107 -0
  237. package/node_modules/pino/test/error-key.test.js +37 -0
  238. package/node_modules/pino/test/error.test.js +403 -0
  239. package/node_modules/pino/test/escaping.test.js +93 -0
  240. package/node_modules/pino/test/esm/esm.mjs +14 -0
  241. package/node_modules/pino/test/esm/index.test.js +21 -0
  242. package/node_modules/pino/test/esm/named-exports.mjs +29 -0
  243. package/node_modules/pino/test/exit.test.js +79 -0
  244. package/node_modules/pino/test/fixtures/broken-pipe/basic.js +9 -0
  245. package/node_modules/pino/test/fixtures/broken-pipe/destination.js +10 -0
  246. package/node_modules/pino/test/fixtures/broken-pipe/syncfalse.js +12 -0
  247. package/node_modules/pino/test/fixtures/console-transport.js +13 -0
  248. package/node_modules/pino/test/fixtures/crashing-transport.js +13 -0
  249. package/node_modules/pino/test/fixtures/default-exit.js +8 -0
  250. package/node_modules/pino/test/fixtures/destination-exit.js +8 -0
  251. package/node_modules/pino/test/fixtures/eval/index.js +13 -0
  252. package/node_modules/pino/test/fixtures/eval/node_modules/14-files.js +3 -0
  253. package/node_modules/pino/test/fixtures/eval/node_modules/2-files.js +3 -0
  254. package/node_modules/pino/test/fixtures/eval/node_modules/file1.js +5 -0
  255. package/node_modules/pino/test/fixtures/eval/node_modules/file10.js +5 -0
  256. package/node_modules/pino/test/fixtures/eval/node_modules/file11.js +5 -0
  257. package/node_modules/pino/test/fixtures/eval/node_modules/file12.js +5 -0
  258. package/node_modules/pino/test/fixtures/eval/node_modules/file13.js +5 -0
  259. package/node_modules/pino/test/fixtures/eval/node_modules/file14.js +11 -0
  260. package/node_modules/pino/test/fixtures/eval/node_modules/file2.js +5 -0
  261. package/node_modules/pino/test/fixtures/eval/node_modules/file3.js +5 -0
  262. package/node_modules/pino/test/fixtures/eval/node_modules/file4.js +5 -0
  263. package/node_modules/pino/test/fixtures/eval/node_modules/file5.js +5 -0
  264. package/node_modules/pino/test/fixtures/eval/node_modules/file6.js +5 -0
  265. package/node_modules/pino/test/fixtures/eval/node_modules/file7.js +5 -0
  266. package/node_modules/pino/test/fixtures/eval/node_modules/file8.js +5 -0
  267. package/node_modules/pino/test/fixtures/eval/node_modules/file9.js +5 -0
  268. package/node_modules/pino/test/fixtures/noop-transport.js +10 -0
  269. package/node_modules/pino/test/fixtures/pretty/null-prototype.js +8 -0
  270. package/node_modules/pino/test/fixtures/stdout-hack-protection.js +11 -0
  271. package/node_modules/pino/test/fixtures/syncfalse-child.js +6 -0
  272. package/node_modules/pino/test/fixtures/syncfalse-exit.js +9 -0
  273. package/node_modules/pino/test/fixtures/syncfalse-flush-exit.js +10 -0
  274. package/node_modules/pino/test/fixtures/syncfalse.js +6 -0
  275. package/node_modules/pino/test/fixtures/syntax-error-esm.mjs +2 -0
  276. package/node_modules/pino/test/fixtures/to-file-transport-with-transform.js +20 -0
  277. package/node_modules/pino/test/fixtures/to-file-transport.js +13 -0
  278. package/node_modules/pino/test/fixtures/to-file-transport.mjs +8 -0
  279. package/node_modules/pino/test/fixtures/transport/index.js +12 -0
  280. package/node_modules/pino/test/fixtures/transport/package.json +5 -0
  281. package/node_modules/pino/test/fixtures/transport-exit-immediately-with-async-dest.js +16 -0
  282. package/node_modules/pino/test/fixtures/transport-exit-immediately.js +11 -0
  283. package/node_modules/pino/test/fixtures/transport-exit-on-ready.js +12 -0
  284. package/node_modules/pino/test/fixtures/transport-invalid-node-options.js +26 -0
  285. package/node_modules/pino/test/fixtures/transport-main.js +9 -0
  286. package/node_modules/pino/test/fixtures/transport-many-lines.js +29 -0
  287. package/node_modules/pino/test/fixtures/transport-preload-main.mjs +13 -0
  288. package/node_modules/pino/test/fixtures/transport-preload.mjs +13 -0
  289. package/node_modules/pino/test/fixtures/transport-string-stdout.js +9 -0
  290. package/node_modules/pino/test/fixtures/transport-transform.js +21 -0
  291. package/node_modules/pino/test/fixtures/transport-uses-pino-config.js +33 -0
  292. package/node_modules/pino/test/fixtures/transport-with-on-exit.js +12 -0
  293. package/node_modules/pino/test/fixtures/transport-worker-data.js +19 -0
  294. package/node_modules/pino/test/fixtures/transport-worker-name.js +24 -0
  295. package/node_modules/pino/test/fixtures/transport-worker.js +15 -0
  296. package/node_modules/pino/test/fixtures/transport-wrong-export-type.js +3 -0
  297. package/node_modules/pino/test/fixtures/ts/to-file-transport-native.mts +15 -0
  298. package/node_modules/pino/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
  299. package/node_modules/pino/test/fixtures/ts/to-file-transport.ts +11 -0
  300. package/node_modules/pino/test/fixtures/ts/transpile.cjs +36 -0
  301. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +15 -0
  302. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately.ts +10 -0
  303. package/node_modules/pino/test/fixtures/ts/transport-exit-on-ready.ts +11 -0
  304. package/node_modules/pino/test/fixtures/ts/transport-main.ts +8 -0
  305. package/node_modules/pino/test/fixtures/ts/transport-string-stdout.ts +8 -0
  306. package/node_modules/pino/test/fixtures/ts/transport-worker.ts +14 -0
  307. package/node_modules/pino/test/formatters.test.js +364 -0
  308. package/node_modules/pino/test/helper.d.ts +4 -0
  309. package/node_modules/pino/test/helper.js +155 -0
  310. package/node_modules/pino/test/hooks.test.js +114 -0
  311. package/node_modules/pino/test/http.test.js +214 -0
  312. package/node_modules/pino/test/internals/version.test.js +17 -0
  313. package/node_modules/pino/test/is-level-enabled.test.js +179 -0
  314. package/node_modules/pino/test/jest/basic.spec.js +10 -0
  315. package/node_modules/pino/test/levels.test.js +810 -0
  316. package/node_modules/pino/test/metadata.test.js +120 -0
  317. package/node_modules/pino/test/mixin-merge-strategy.test.js +57 -0
  318. package/node_modules/pino/test/mixin.test.js +241 -0
  319. package/node_modules/pino/test/multistream.test.js +729 -0
  320. package/node_modules/pino/test/redact.test.js +893 -0
  321. package/node_modules/pino/test/serializers.test.js +257 -0
  322. package/node_modules/pino/test/stdout-protection.test.js +41 -0
  323. package/node_modules/pino/test/syncfalse.test.js +186 -0
  324. package/node_modules/pino/test/timestamp-nano.test.js +37 -0
  325. package/node_modules/pino/test/timestamp.test.js +124 -0
  326. package/node_modules/pino/test/transport/big.test.js +42 -0
  327. package/node_modules/pino/test/transport/bundlers-support.test.js +99 -0
  328. package/node_modules/pino/test/transport/caller.test.js +24 -0
  329. package/node_modules/pino/test/transport/core.test.js +733 -0
  330. package/node_modules/pino/test/transport/core.transpiled.test.ts +114 -0
  331. package/node_modules/pino/test/transport/crash.test.js +36 -0
  332. package/node_modules/pino/test/transport/module-link.test.js +241 -0
  333. package/node_modules/pino/test/transport/native-type-stripping.test.mjs +151 -0
  334. package/node_modules/pino/test/transport/node-options.test.js +116 -0
  335. package/node_modules/pino/test/transport/pipeline.test.js +137 -0
  336. package/node_modules/pino/test/transport/preload.test.js +54 -0
  337. package/node_modules/pino/test/transport/repl.test.js +15 -0
  338. package/node_modules/pino/test/transport/sync-false.test.js +67 -0
  339. package/node_modules/pino/test/transport/sync-true.test.js +57 -0
  340. package/node_modules/pino/test/transport/targets.test.js +48 -0
  341. package/node_modules/pino/test/transport/uses-pino-config.test.js +166 -0
  342. package/node_modules/pino/test/transport-stream.test.js +40 -0
  343. package/node_modules/pino/test/types/pino-import.test-d.cts +30 -0
  344. package/node_modules/pino/test/types/pino-multistream.test-d.ts +28 -0
  345. package/node_modules/pino/test/types/pino-top-export.test-d.ts +34 -0
  346. package/node_modules/pino/test/types/pino-transport.test-d.ts +156 -0
  347. package/node_modules/pino/test/types/pino-type-only.test-d.ts +75 -0
  348. package/node_modules/pino/test/types/pino.test-d.ts +683 -0
  349. package/node_modules/pino/test/types/pino.ts +91 -0
  350. package/node_modules/pino/tsconfig.json +14 -0
  351. package/node_modules/pino-abstract-transport/.github/dependabot.yml +13 -0
  352. package/node_modules/pino-abstract-transport/.github/workflows/ci.yml +80 -0
  353. package/node_modules/pino-abstract-transport/.husky/pre-commit +4 -0
  354. package/node_modules/pino-abstract-transport/LICENSE +21 -0
  355. package/node_modules/pino-abstract-transport/README.md +171 -0
  356. package/node_modules/pino-abstract-transport/index.d.ts +122 -0
  357. package/node_modules/pino-abstract-transport/index.js +128 -0
  358. package/node_modules/pino-abstract-transport/package.json +41 -0
  359. package/node_modules/pino-abstract-transport/test/base.test.js +473 -0
  360. package/node_modules/pino-abstract-transport/test/fixtures/transport-async-iteration.js +22 -0
  361. package/node_modules/pino-abstract-transport/test/fixtures/transport-on-data.js +22 -0
  362. package/node_modules/pino-abstract-transport/test/fixtures/transport-transform.js +24 -0
  363. package/node_modules/pino-abstract-transport/test/fixtures/worker-pipeline.js +15 -0
  364. package/node_modules/pino-abstract-transport/test/match.js +24 -0
  365. package/node_modules/pino-abstract-transport/test/types/index.test-d.ts +31 -0
  366. package/node_modules/pino-abstract-transport/test/worker.test.js +372 -0
  367. package/node_modules/pino-std-serializers/.editorconfig +13 -0
  368. package/node_modules/pino-std-serializers/.github/dependabot.yml +13 -0
  369. package/node_modules/pino-std-serializers/.github/workflows/ci.yml +81 -0
  370. package/node_modules/pino-std-serializers/LICENSE +7 -0
  371. package/node_modules/pino-std-serializers/Readme.md +182 -0
  372. package/node_modules/pino-std-serializers/eslint.config.js +7 -0
  373. package/node_modules/pino-std-serializers/index.d.ts +145 -0
  374. package/node_modules/pino-std-serializers/index.js +36 -0
  375. package/node_modules/pino-std-serializers/lib/err-helpers.js +118 -0
  376. package/node_modules/pino-std-serializers/lib/err-proto.js +48 -0
  377. package/node_modules/pino-std-serializers/lib/err-with-cause.js +48 -0
  378. package/node_modules/pino-std-serializers/lib/err.js +45 -0
  379. package/node_modules/pino-std-serializers/lib/req.js +100 -0
  380. package/node_modules/pino-std-serializers/lib/res.js +47 -0
  381. package/node_modules/pino-std-serializers/package.json +42 -0
  382. package/node_modules/pino-std-serializers/test/err-with-cause.test.js +187 -0
  383. package/node_modules/pino-std-serializers/test/err.test.js +200 -0
  384. package/node_modules/pino-std-serializers/test/req.test.js +477 -0
  385. package/node_modules/pino-std-serializers/test/res.test.js +120 -0
  386. package/node_modules/pino-std-serializers/test/types/index.test-d.ts +71 -0
  387. package/node_modules/pino-std-serializers/tsconfig.json +13 -0
  388. package/node_modules/process-warning/.gitattributes +2 -0
  389. package/node_modules/process-warning/.github/dependabot.yml +13 -0
  390. package/node_modules/process-warning/.github/workflows/ci.yml +22 -0
  391. package/node_modules/process-warning/LICENSE +21 -0
  392. package/node_modules/process-warning/README.md +118 -0
  393. package/node_modules/process-warning/benchmarks/warn.js +25 -0
  394. package/node_modules/process-warning/eslint.config.js +6 -0
  395. package/node_modules/process-warning/examples/example.js +11 -0
  396. package/node_modules/process-warning/index.js +124 -0
  397. package/node_modules/process-warning/package.json +73 -0
  398. package/node_modules/process-warning/test/emit-interpolated-string.test.js +34 -0
  399. package/node_modules/process-warning/test/emit-once-only.test.js +33 -0
  400. package/node_modules/process-warning/test/emit-reset.test.js +40 -0
  401. package/node_modules/process-warning/test/emit-set.test.js +35 -0
  402. package/node_modules/process-warning/test/emit-unlimited.test.js +42 -0
  403. package/node_modules/process-warning/test/index.test.js +99 -0
  404. package/node_modules/process-warning/test/issue-88.test.js +38 -0
  405. package/node_modules/process-warning/test/jest.test.js +24 -0
  406. package/node_modules/process-warning/test/no-warnings.test.js +80 -0
  407. package/node_modules/process-warning/test/promise.js +10 -0
  408. package/node_modules/process-warning/types/index.d.ts +37 -0
  409. package/node_modules/process-warning/types/index.test-d.ts +36 -0
  410. package/node_modules/quick-format-unescaped/.github/workflows/ci.yml +21 -0
  411. package/node_modules/quick-format-unescaped/LICENSE +21 -0
  412. package/node_modules/quick-format-unescaped/benchmark.js +24 -0
  413. package/node_modules/quick-format-unescaped/index.js +109 -0
  414. package/node_modules/quick-format-unescaped/package.json +29 -0
  415. package/node_modules/quick-format-unescaped/readme.md +66 -0
  416. package/node_modules/quick-format-unescaped/test/index.js +136 -0
  417. package/node_modules/real-require/LICENSE.md +21 -0
  418. package/node_modules/real-require/README.md +51 -0
  419. package/node_modules/real-require/package.json +49 -0
  420. package/node_modules/real-require/src/index.js +14 -0
  421. package/node_modules/safe-stable-stringify/LICENSE +21 -0
  422. package/node_modules/safe-stable-stringify/esm/package.json +4 -0
  423. package/node_modules/safe-stable-stringify/esm/wrapper.d.ts +4 -0
  424. package/node_modules/safe-stable-stringify/esm/wrapper.js +6 -0
  425. package/node_modules/safe-stable-stringify/index.d.ts +22 -0
  426. package/node_modules/safe-stable-stringify/index.js +625 -0
  427. package/node_modules/safe-stable-stringify/package.json +65 -0
  428. package/node_modules/safe-stable-stringify/readme.md +179 -0
  429. package/node_modules/sonic-boom/.eslintignore +2 -0
  430. package/node_modules/sonic-boom/.taprc +3 -0
  431. package/node_modules/sonic-boom/LICENSE +21 -0
  432. package/node_modules/sonic-boom/README.md +153 -0
  433. package/node_modules/sonic-boom/bench.js +98 -0
  434. package/node_modules/sonic-boom/check.js +18 -0
  435. package/node_modules/sonic-boom/example.js +8 -0
  436. package/node_modules/sonic-boom/fixtures/firehose.js +22 -0
  437. package/node_modules/sonic-boom/index.js +733 -0
  438. package/node_modules/sonic-boom/package.json +52 -0
  439. package/node_modules/sonic-boom/test/destroy.test.js +49 -0
  440. package/node_modules/sonic-boom/test/end.test.js +98 -0
  441. package/node_modules/sonic-boom/test/flush-sync.test.js +140 -0
  442. package/node_modules/sonic-boom/test/flush.test.js +419 -0
  443. package/node_modules/sonic-boom/test/fsync.test.js +63 -0
  444. package/node_modules/sonic-boom/test/helper.js +42 -0
  445. package/node_modules/sonic-boom/test/minlength.test.js +35 -0
  446. package/node_modules/sonic-boom/test/mode.test.js +116 -0
  447. package/node_modules/sonic-boom/test/periodicflush.test.js +61 -0
  448. package/node_modules/sonic-boom/test/reopen.test.js +239 -0
  449. package/node_modules/sonic-boom/test/retry.test.js +414 -0
  450. package/node_modules/sonic-boom/test/sync.test.js +261 -0
  451. package/node_modules/sonic-boom/test/write.test.js +515 -0
  452. package/node_modules/sonic-boom/types/index.d.ts +63 -0
  453. package/node_modules/sonic-boom/types/tests/test.ts +4 -0
  454. package/node_modules/split2/LICENSE +13 -0
  455. package/node_modules/split2/README.md +85 -0
  456. package/node_modules/split2/bench.js +27 -0
  457. package/node_modules/split2/index.js +141 -0
  458. package/node_modules/split2/package.json +39 -0
  459. package/node_modules/split2/test.js +409 -0
  460. package/node_modules/thread-stream/.github/dependabot.yml +13 -0
  461. package/node_modules/thread-stream/.github/workflows/ci.yml +74 -0
  462. package/node_modules/thread-stream/.husky/pre-commit +4 -0
  463. package/node_modules/thread-stream/CLAUDE.md +53 -0
  464. package/node_modules/thread-stream/LICENSE +21 -0
  465. package/node_modules/thread-stream/README.md +135 -0
  466. package/node_modules/thread-stream/bench.js +85 -0
  467. package/node_modules/thread-stream/eslint.config.js +10 -0
  468. package/node_modules/thread-stream/index.d.ts +92 -0
  469. package/node_modules/thread-stream/index.js +541 -0
  470. package/node_modules/thread-stream/lib/indexes.js +9 -0
  471. package/node_modules/thread-stream/lib/wait.js +68 -0
  472. package/node_modules/thread-stream/lib/worker.js +179 -0
  473. package/node_modules/thread-stream/package.json +52 -0
  474. package/node_modules/thread-stream/test/base.test.js +259 -0
  475. package/node_modules/thread-stream/test/bench.test.js +38 -0
  476. package/node_modules/thread-stream/test/bundlers.test.js +59 -0
  477. package/node_modules/thread-stream/test/close-on-gc.js +37 -0
  478. package/node_modules/thread-stream/test/commonjs-fallback.test.js +75 -0
  479. package/node_modules/thread-stream/test/context.test.js +21 -0
  480. package/node_modules/thread-stream/test/create-and-exit.js +16 -0
  481. package/node_modules/thread-stream/test/custom-worker.js +9 -0
  482. package/node_modules/thread-stream/test/dir with spaces/test-package.zip +0 -0
  483. package/node_modules/thread-stream/test/emit-event.js +22 -0
  484. package/node_modules/thread-stream/test/end.test.js +56 -0
  485. package/node_modules/thread-stream/test/error.js +14 -0
  486. package/node_modules/thread-stream/test/esm.test.mjs +46 -0
  487. package/node_modules/thread-stream/test/event.test.js +24 -0
  488. package/node_modules/thread-stream/test/exit.js +14 -0
  489. package/node_modules/thread-stream/test/get-context.js +22 -0
  490. package/node_modules/thread-stream/test/helper.d.ts +1 -0
  491. package/node_modules/thread-stream/test/helper.js +26 -0
  492. package/node_modules/thread-stream/test/indexes.test.js +11 -0
  493. package/node_modules/thread-stream/test/multibyte-chars.test.mjs +75 -0
  494. package/node_modules/thread-stream/test/on-message.js +18 -0
  495. package/node_modules/thread-stream/test/pkg/index.js +37 -0
  496. package/node_modules/thread-stream/test/pkg/pkg.config.json +14 -0
  497. package/node_modules/thread-stream/test/pkg/pkg.test.js +45 -0
  498. package/node_modules/thread-stream/test/port.js +16 -0
  499. package/node_modules/thread-stream/test/post-message.test.js +23 -0
  500. package/node_modules/thread-stream/test/string-limit-2.test.js +35 -0
  501. package/node_modules/thread-stream/test/string-limit.test.js +37 -0
  502. package/node_modules/thread-stream/test/syntax-error.mjs +2 -0
  503. package/node_modules/thread-stream/test/thread-management.test.js +138 -0
  504. package/node_modules/thread-stream/test/to-file-on-destroy.js +23 -0
  505. package/node_modules/thread-stream/test/to-file-on-final.js +24 -0
  506. package/node_modules/thread-stream/test/to-file.js +12 -0
  507. package/node_modules/thread-stream/test/to-file.mjs +8 -0
  508. package/node_modules/thread-stream/test/to-next.js +9 -0
  509. package/node_modules/thread-stream/test/transpiled.test.js +29 -0
  510. package/node_modules/thread-stream/test/ts/to-file.ts +10 -0
  511. package/node_modules/thread-stream/test/ts/transpile.sh +19 -0
  512. package/node_modules/thread-stream/test/ts-commonjs-default-export.zip +0 -0
  513. package/node_modules/thread-stream/test/ts-native.test.mjs +35 -0
  514. package/node_modules/thread-stream/test/ts-node-fallback.test.js +35 -0
  515. package/node_modules/thread-stream/test/uncaughtException.js +21 -0
  516. package/node_modules/thread-stream/test/unhandledRejection.js +21 -0
  517. package/node_modules/thread-stream/test/yarnrc.yml +7 -0
  518. package/node_modules/thread-stream/tsconfig.json +8 -0
  519. package/node_modules/zod/LICENSE +21 -0
  520. package/node_modules/zod/README.md +208 -0
  521. package/node_modules/zod/index.cjs +33 -0
  522. package/node_modules/zod/index.d.cts +4 -0
  523. package/node_modules/zod/index.d.ts +4 -0
  524. package/node_modules/zod/index.js +4 -0
  525. package/node_modules/zod/locales/index.cjs +17 -0
  526. package/node_modules/zod/locales/index.d.cts +1 -0
  527. package/node_modules/zod/locales/index.d.ts +1 -0
  528. package/node_modules/zod/locales/index.js +1 -0
  529. package/node_modules/zod/locales/package.json +6 -0
  530. package/node_modules/zod/mini/index.cjs +32 -0
  531. package/node_modules/zod/mini/index.d.cts +3 -0
  532. package/node_modules/zod/mini/index.d.ts +3 -0
  533. package/node_modules/zod/mini/index.js +3 -0
  534. package/node_modules/zod/mini/package.json +6 -0
  535. package/node_modules/zod/package.json +135 -0
  536. package/node_modules/zod/src/index.ts +4 -0
  537. package/node_modules/zod/src/locales/index.ts +1 -0
  538. package/node_modules/zod/src/mini/index.ts +3 -0
  539. package/node_modules/zod/src/v3/ZodError.ts +330 -0
  540. package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  541. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  542. package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  543. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  544. package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  545. package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  546. package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  547. package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  548. package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  549. package/node_modules/zod/src/v3/errors.ts +13 -0
  550. package/node_modules/zod/src/v3/external.ts +6 -0
  551. package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  552. package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  553. package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  554. package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  555. package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  556. package/node_modules/zod/src/v3/helpers/util.ts +224 -0
  557. package/node_modules/zod/src/v3/index.ts +4 -0
  558. package/node_modules/zod/src/v3/locales/en.ts +124 -0
  559. package/node_modules/zod/src/v3/standard-schema.ts +113 -0
  560. package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  561. package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  562. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  563. package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  564. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  565. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  566. package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  567. package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  568. package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  569. package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  570. package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  571. package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
  572. package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  573. package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  574. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  575. package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  576. package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  577. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  578. package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  579. package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  580. package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  581. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  582. package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
  583. package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  584. package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  585. package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  586. package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  587. package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  588. package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  589. package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  590. package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  591. package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  592. package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
  593. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  594. package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  595. package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  596. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  597. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  598. package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  599. package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  600. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  601. package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  602. package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  603. package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  604. package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  605. package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  606. package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  607. package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  608. package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  609. package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  610. package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  611. package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  612. package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  613. package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  614. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  615. package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  616. package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  617. package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  618. package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  619. package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  620. package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  621. package/node_modules/zod/src/v3/types.ts +5138 -0
  622. package/node_modules/zod/src/v4/classic/checks.ts +32 -0
  623. package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  624. package/node_modules/zod/src/v4/classic/compat.ts +70 -0
  625. package/node_modules/zod/src/v4/classic/errors.ts +82 -0
  626. package/node_modules/zod/src/v4/classic/external.ts +51 -0
  627. package/node_modules/zod/src/v4/classic/from-json-schema.ts +643 -0
  628. package/node_modules/zod/src/v4/classic/index.ts +5 -0
  629. package/node_modules/zod/src/v4/classic/iso.ts +90 -0
  630. package/node_modules/zod/src/v4/classic/parse.ts +82 -0
  631. package/node_modules/zod/src/v4/classic/schemas.ts +2409 -0
  632. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  633. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
  634. package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  635. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
  636. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  637. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  638. package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  639. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  640. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
  641. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +276 -0
  642. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  643. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  644. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
  645. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  646. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
  647. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  648. package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
  649. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  650. package/node_modules/zod/src/v4/classic/tests/default.test.ts +365 -0
  651. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  652. package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  653. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +661 -0
  654. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  655. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +595 -0
  656. package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  657. package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  658. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  659. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  660. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +734 -0
  661. package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
  662. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  663. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  664. package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
  665. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
  666. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
  667. package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
  668. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  669. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  670. package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
  671. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  672. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  673. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  674. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  675. package/node_modules/zod/src/v4/classic/tests/number.test.ts +270 -0
  676. package/node_modules/zod/src/v4/classic/tests/object.test.ts +640 -0
  677. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +223 -0
  678. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +427 -0
  679. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
  680. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  681. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  682. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +282 -0
  683. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  684. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  685. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  686. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  687. package/node_modules/zod/src/v4/classic/tests/record.test.ts +632 -0
  688. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +582 -0
  689. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +570 -0
  690. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
  691. package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  692. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
  693. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  694. package/node_modules/zod/src/v4/classic/tests/string.test.ts +1175 -0
  695. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  696. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
  697. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  698. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2990 -0
  699. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +361 -0
  700. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +183 -0
  701. package/node_modules/zod/src/v4/classic/tests/union.test.ts +219 -0
  702. package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  703. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  704. package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  705. package/node_modules/zod/src/v4/core/api.ts +1798 -0
  706. package/node_modules/zod/src/v4/core/checks.ts +1293 -0
  707. package/node_modules/zod/src/v4/core/config.ts +15 -0
  708. package/node_modules/zod/src/v4/core/core.ts +138 -0
  709. package/node_modules/zod/src/v4/core/doc.ts +44 -0
  710. package/node_modules/zod/src/v4/core/errors.ts +448 -0
  711. package/node_modules/zod/src/v4/core/index.ts +16 -0
  712. package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
  713. package/node_modules/zod/src/v4/core/json-schema-processors.ts +667 -0
  714. package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  715. package/node_modules/zod/src/v4/core/parse.ts +195 -0
  716. package/node_modules/zod/src/v4/core/regexes.ts +183 -0
  717. package/node_modules/zod/src/v4/core/registries.ts +105 -0
  718. package/node_modules/zod/src/v4/core/schemas.ts +4538 -0
  719. package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
  720. package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  721. package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  722. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  723. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  724. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  725. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  726. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  727. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  728. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  729. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +83 -0
  730. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +67 -0
  731. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  732. package/node_modules/zod/src/v4/core/to-json-schema.ts +613 -0
  733. package/node_modules/zod/src/v4/core/util.ts +966 -0
  734. package/node_modules/zod/src/v4/core/versions.ts +5 -0
  735. package/node_modules/zod/src/v4/core/zsf.ts +323 -0
  736. package/node_modules/zod/src/v4/index.ts +4 -0
  737. package/node_modules/zod/src/v4/locales/ar.ts +115 -0
  738. package/node_modules/zod/src/v4/locales/az.ts +111 -0
  739. package/node_modules/zod/src/v4/locales/be.ts +176 -0
  740. package/node_modules/zod/src/v4/locales/bg.ts +128 -0
  741. package/node_modules/zod/src/v4/locales/ca.ts +116 -0
  742. package/node_modules/zod/src/v4/locales/cs.ts +118 -0
  743. package/node_modules/zod/src/v4/locales/da.ts +123 -0
  744. package/node_modules/zod/src/v4/locales/de.ts +116 -0
  745. package/node_modules/zod/src/v4/locales/en.ts +119 -0
  746. package/node_modules/zod/src/v4/locales/eo.ts +118 -0
  747. package/node_modules/zod/src/v4/locales/es.ts +141 -0
  748. package/node_modules/zod/src/v4/locales/fa.ts +126 -0
  749. package/node_modules/zod/src/v4/locales/fi.ts +121 -0
  750. package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
  751. package/node_modules/zod/src/v4/locales/fr.ts +116 -0
  752. package/node_modules/zod/src/v4/locales/he.ts +246 -0
  753. package/node_modules/zod/src/v4/locales/hu.ts +117 -0
  754. package/node_modules/zod/src/v4/locales/hy.ts +164 -0
  755. package/node_modules/zod/src/v4/locales/id.ts +115 -0
  756. package/node_modules/zod/src/v4/locales/index.ts +49 -0
  757. package/node_modules/zod/src/v4/locales/is.ts +119 -0
  758. package/node_modules/zod/src/v4/locales/it.ts +116 -0
  759. package/node_modules/zod/src/v4/locales/ja.ts +114 -0
  760. package/node_modules/zod/src/v4/locales/ka.ts +123 -0
  761. package/node_modules/zod/src/v4/locales/kh.ts +7 -0
  762. package/node_modules/zod/src/v4/locales/km.ts +119 -0
  763. package/node_modules/zod/src/v4/locales/ko.ts +121 -0
  764. package/node_modules/zod/src/v4/locales/lt.ts +239 -0
  765. package/node_modules/zod/src/v4/locales/mk.ts +118 -0
  766. package/node_modules/zod/src/v4/locales/ms.ts +115 -0
  767. package/node_modules/zod/src/v4/locales/nl.ts +121 -0
  768. package/node_modules/zod/src/v4/locales/no.ts +116 -0
  769. package/node_modules/zod/src/v4/locales/ota.ts +117 -0
  770. package/node_modules/zod/src/v4/locales/pl.ts +118 -0
  771. package/node_modules/zod/src/v4/locales/ps.ts +126 -0
  772. package/node_modules/zod/src/v4/locales/pt.ts +116 -0
  773. package/node_modules/zod/src/v4/locales/ru.ts +176 -0
  774. package/node_modules/zod/src/v4/locales/sl.ts +118 -0
  775. package/node_modules/zod/src/v4/locales/sv.ts +119 -0
  776. package/node_modules/zod/src/v4/locales/ta.ts +118 -0
  777. package/node_modules/zod/src/v4/locales/th.ts +119 -0
  778. package/node_modules/zod/src/v4/locales/tr.ts +111 -0
  779. package/node_modules/zod/src/v4/locales/ua.ts +7 -0
  780. package/node_modules/zod/src/v4/locales/uk.ts +117 -0
  781. package/node_modules/zod/src/v4/locales/ur.ts +119 -0
  782. package/node_modules/zod/src/v4/locales/uz.ts +116 -0
  783. package/node_modules/zod/src/v4/locales/vi.ts +117 -0
  784. package/node_modules/zod/src/v4/locales/yo.ts +124 -0
  785. package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
  786. package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
  787. package/node_modules/zod/src/v4/mini/checks.ts +32 -0
  788. package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
  789. package/node_modules/zod/src/v4/mini/external.ts +40 -0
  790. package/node_modules/zod/src/v4/mini/index.ts +3 -0
  791. package/node_modules/zod/src/v4/mini/iso.ts +66 -0
  792. package/node_modules/zod/src/v4/mini/parse.ts +14 -0
  793. package/node_modules/zod/src/v4/mini/schemas.ts +1916 -0
  794. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
  795. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  796. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
  797. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  798. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
  799. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  800. package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  801. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
  802. package/node_modules/zod/src/v4/mini/tests/index.test.ts +963 -0
  803. package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  804. package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
  805. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  806. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
  807. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  808. package/node_modules/zod/src/v4/mini/tests/string.test.ts +347 -0
  809. package/node_modules/zod/src/v4-mini/index.ts +3 -0
  810. package/node_modules/zod/v3/ZodError.cjs +138 -0
  811. package/node_modules/zod/v3/ZodError.d.cts +164 -0
  812. package/node_modules/zod/v3/ZodError.d.ts +164 -0
  813. package/node_modules/zod/v3/ZodError.js +133 -0
  814. package/node_modules/zod/v3/errors.cjs +17 -0
  815. package/node_modules/zod/v3/errors.d.cts +5 -0
  816. package/node_modules/zod/v3/errors.d.ts +5 -0
  817. package/node_modules/zod/v3/errors.js +9 -0
  818. package/node_modules/zod/v3/external.cjs +22 -0
  819. package/node_modules/zod/v3/external.d.cts +6 -0
  820. package/node_modules/zod/v3/external.d.ts +6 -0
  821. package/node_modules/zod/v3/external.js +6 -0
  822. package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  823. package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  824. package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  825. package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  826. package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  827. package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  828. package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  829. package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  830. package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  831. package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  832. package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  833. package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  834. package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  835. package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  836. package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  837. package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  838. package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  839. package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  840. package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  841. package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  842. package/node_modules/zod/v3/helpers/util.cjs +137 -0
  843. package/node_modules/zod/v3/helpers/util.d.cts +85 -0
  844. package/node_modules/zod/v3/helpers/util.d.ts +85 -0
  845. package/node_modules/zod/v3/helpers/util.js +133 -0
  846. package/node_modules/zod/v3/index.cjs +33 -0
  847. package/node_modules/zod/v3/index.d.cts +4 -0
  848. package/node_modules/zod/v3/index.d.ts +4 -0
  849. package/node_modules/zod/v3/index.js +4 -0
  850. package/node_modules/zod/v3/locales/en.cjs +112 -0
  851. package/node_modules/zod/v3/locales/en.d.cts +3 -0
  852. package/node_modules/zod/v3/locales/en.d.ts +3 -0
  853. package/node_modules/zod/v3/locales/en.js +109 -0
  854. package/node_modules/zod/v3/package.json +6 -0
  855. package/node_modules/zod/v3/standard-schema.cjs +2 -0
  856. package/node_modules/zod/v3/standard-schema.d.cts +102 -0
  857. package/node_modules/zod/v3/standard-schema.d.ts +102 -0
  858. package/node_modules/zod/v3/standard-schema.js +1 -0
  859. package/node_modules/zod/v3/types.cjs +3777 -0
  860. package/node_modules/zod/v3/types.d.cts +1034 -0
  861. package/node_modules/zod/v3/types.d.ts +1034 -0
  862. package/node_modules/zod/v3/types.js +3695 -0
  863. package/node_modules/zod/v4/classic/checks.cjs +33 -0
  864. package/node_modules/zod/v4/classic/checks.d.cts +1 -0
  865. package/node_modules/zod/v4/classic/checks.d.ts +1 -0
  866. package/node_modules/zod/v4/classic/checks.js +1 -0
  867. package/node_modules/zod/v4/classic/coerce.cjs +47 -0
  868. package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  869. package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  870. package/node_modules/zod/v4/classic/coerce.js +17 -0
  871. package/node_modules/zod/v4/classic/compat.cjs +61 -0
  872. package/node_modules/zod/v4/classic/compat.d.cts +50 -0
  873. package/node_modules/zod/v4/classic/compat.d.ts +50 -0
  874. package/node_modules/zod/v4/classic/compat.js +31 -0
  875. package/node_modules/zod/v4/classic/errors.cjs +74 -0
  876. package/node_modules/zod/v4/classic/errors.d.cts +30 -0
  877. package/node_modules/zod/v4/classic/errors.d.ts +30 -0
  878. package/node_modules/zod/v4/classic/errors.js +48 -0
  879. package/node_modules/zod/v4/classic/external.cjs +73 -0
  880. package/node_modules/zod/v4/classic/external.d.cts +15 -0
  881. package/node_modules/zod/v4/classic/external.d.ts +15 -0
  882. package/node_modules/zod/v4/classic/external.js +20 -0
  883. package/node_modules/zod/v4/classic/from-json-schema.cjs +610 -0
  884. package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  885. package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  886. package/node_modules/zod/v4/classic/from-json-schema.js +584 -0
  887. package/node_modules/zod/v4/classic/index.cjs +33 -0
  888. package/node_modules/zod/v4/classic/index.d.cts +4 -0
  889. package/node_modules/zod/v4/classic/index.d.ts +4 -0
  890. package/node_modules/zod/v4/classic/index.js +4 -0
  891. package/node_modules/zod/v4/classic/iso.cjs +60 -0
  892. package/node_modules/zod/v4/classic/iso.d.cts +22 -0
  893. package/node_modules/zod/v4/classic/iso.d.ts +22 -0
  894. package/node_modules/zod/v4/classic/iso.js +30 -0
  895. package/node_modules/zod/v4/classic/package.json +6 -0
  896. package/node_modules/zod/v4/classic/parse.cjs +41 -0
  897. package/node_modules/zod/v4/classic/parse.d.cts +31 -0
  898. package/node_modules/zod/v4/classic/parse.d.ts +31 -0
  899. package/node_modules/zod/v4/classic/parse.js +15 -0
  900. package/node_modules/zod/v4/classic/schemas.cjs +1272 -0
  901. package/node_modules/zod/v4/classic/schemas.d.cts +739 -0
  902. package/node_modules/zod/v4/classic/schemas.d.ts +739 -0
  903. package/node_modules/zod/v4/classic/schemas.js +1157 -0
  904. package/node_modules/zod/v4/core/api.cjs +1222 -0
  905. package/node_modules/zod/v4/core/api.d.cts +304 -0
  906. package/node_modules/zod/v4/core/api.d.ts +304 -0
  907. package/node_modules/zod/v4/core/api.js +1082 -0
  908. package/node_modules/zod/v4/core/checks.cjs +601 -0
  909. package/node_modules/zod/v4/core/checks.d.cts +278 -0
  910. package/node_modules/zod/v4/core/checks.d.ts +278 -0
  911. package/node_modules/zod/v4/core/checks.js +575 -0
  912. package/node_modules/zod/v4/core/core.cjs +83 -0
  913. package/node_modules/zod/v4/core/core.d.cts +70 -0
  914. package/node_modules/zod/v4/core/core.d.ts +70 -0
  915. package/node_modules/zod/v4/core/core.js +76 -0
  916. package/node_modules/zod/v4/core/doc.cjs +39 -0
  917. package/node_modules/zod/v4/core/doc.d.cts +14 -0
  918. package/node_modules/zod/v4/core/doc.d.ts +14 -0
  919. package/node_modules/zod/v4/core/doc.js +35 -0
  920. package/node_modules/zod/v4/core/errors.cjs +213 -0
  921. package/node_modules/zod/v4/core/errors.d.cts +220 -0
  922. package/node_modules/zod/v4/core/errors.d.ts +220 -0
  923. package/node_modules/zod/v4/core/errors.js +182 -0
  924. package/node_modules/zod/v4/core/index.cjs +47 -0
  925. package/node_modules/zod/v4/core/index.d.cts +16 -0
  926. package/node_modules/zod/v4/core/index.d.ts +16 -0
  927. package/node_modules/zod/v4/core/index.js +16 -0
  928. package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
  929. package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  930. package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  931. package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  932. package/node_modules/zod/v4/core/json-schema-processors.cjs +648 -0
  933. package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
  934. package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
  935. package/node_modules/zod/v4/core/json-schema-processors.js +605 -0
  936. package/node_modules/zod/v4/core/json-schema.cjs +2 -0
  937. package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  938. package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  939. package/node_modules/zod/v4/core/json-schema.js +1 -0
  940. package/node_modules/zod/v4/core/package.json +6 -0
  941. package/node_modules/zod/v4/core/parse.cjs +131 -0
  942. package/node_modules/zod/v4/core/parse.d.cts +49 -0
  943. package/node_modules/zod/v4/core/parse.d.ts +49 -0
  944. package/node_modules/zod/v4/core/parse.js +93 -0
  945. package/node_modules/zod/v4/core/regexes.cjs +166 -0
  946. package/node_modules/zod/v4/core/regexes.d.cts +79 -0
  947. package/node_modules/zod/v4/core/regexes.d.ts +79 -0
  948. package/node_modules/zod/v4/core/regexes.js +133 -0
  949. package/node_modules/zod/v4/core/registries.cjs +56 -0
  950. package/node_modules/zod/v4/core/registries.d.cts +35 -0
  951. package/node_modules/zod/v4/core/registries.d.ts +35 -0
  952. package/node_modules/zod/v4/core/registries.js +51 -0
  953. package/node_modules/zod/v4/core/schemas.cjs +2124 -0
  954. package/node_modules/zod/v4/core/schemas.d.cts +1146 -0
  955. package/node_modules/zod/v4/core/schemas.d.ts +1146 -0
  956. package/node_modules/zod/v4/core/schemas.js +2093 -0
  957. package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  958. package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
  959. package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
  960. package/node_modules/zod/v4/core/standard-schema.js +1 -0
  961. package/node_modules/zod/v4/core/to-json-schema.cjs +446 -0
  962. package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
  963. package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
  964. package/node_modules/zod/v4/core/to-json-schema.js +437 -0
  965. package/node_modules/zod/v4/core/util.cjs +710 -0
  966. package/node_modules/zod/v4/core/util.d.cts +199 -0
  967. package/node_modules/zod/v4/core/util.d.ts +199 -0
  968. package/node_modules/zod/v4/core/util.js +651 -0
  969. package/node_modules/zod/v4/core/versions.cjs +8 -0
  970. package/node_modules/zod/v4/core/versions.d.cts +5 -0
  971. package/node_modules/zod/v4/core/versions.d.ts +5 -0
  972. package/node_modules/zod/v4/core/versions.js +5 -0
  973. package/node_modules/zod/v4/index.cjs +22 -0
  974. package/node_modules/zod/v4/index.d.cts +3 -0
  975. package/node_modules/zod/v4/index.d.ts +3 -0
  976. package/node_modules/zod/v4/index.js +3 -0
  977. package/node_modules/zod/v4/locales/ar.cjs +133 -0
  978. package/node_modules/zod/v4/locales/ar.d.cts +5 -0
  979. package/node_modules/zod/v4/locales/ar.d.ts +4 -0
  980. package/node_modules/zod/v4/locales/ar.js +106 -0
  981. package/node_modules/zod/v4/locales/az.cjs +132 -0
  982. package/node_modules/zod/v4/locales/az.d.cts +5 -0
  983. package/node_modules/zod/v4/locales/az.d.ts +4 -0
  984. package/node_modules/zod/v4/locales/az.js +105 -0
  985. package/node_modules/zod/v4/locales/be.cjs +183 -0
  986. package/node_modules/zod/v4/locales/be.d.cts +5 -0
  987. package/node_modules/zod/v4/locales/be.d.ts +4 -0
  988. package/node_modules/zod/v4/locales/be.js +156 -0
  989. package/node_modules/zod/v4/locales/bg.cjs +147 -0
  990. package/node_modules/zod/v4/locales/bg.d.cts +5 -0
  991. package/node_modules/zod/v4/locales/bg.d.ts +4 -0
  992. package/node_modules/zod/v4/locales/bg.js +120 -0
  993. package/node_modules/zod/v4/locales/ca.cjs +134 -0
  994. package/node_modules/zod/v4/locales/ca.d.cts +5 -0
  995. package/node_modules/zod/v4/locales/ca.d.ts +4 -0
  996. package/node_modules/zod/v4/locales/ca.js +107 -0
  997. package/node_modules/zod/v4/locales/cs.cjs +138 -0
  998. package/node_modules/zod/v4/locales/cs.d.cts +5 -0
  999. package/node_modules/zod/v4/locales/cs.d.ts +4 -0
  1000. package/node_modules/zod/v4/locales/cs.js +111 -0
  1001. package/node_modules/zod/v4/locales/da.cjs +142 -0
  1002. package/node_modules/zod/v4/locales/da.d.cts +5 -0
  1003. package/node_modules/zod/v4/locales/da.d.ts +4 -0
  1004. package/node_modules/zod/v4/locales/da.js +115 -0
  1005. package/node_modules/zod/v4/locales/de.cjs +135 -0
  1006. package/node_modules/zod/v4/locales/de.d.cts +5 -0
  1007. package/node_modules/zod/v4/locales/de.d.ts +4 -0
  1008. package/node_modules/zod/v4/locales/de.js +108 -0
  1009. package/node_modules/zod/v4/locales/en.cjs +136 -0
  1010. package/node_modules/zod/v4/locales/en.d.cts +5 -0
  1011. package/node_modules/zod/v4/locales/en.d.ts +4 -0
  1012. package/node_modules/zod/v4/locales/en.js +109 -0
  1013. package/node_modules/zod/v4/locales/eo.cjs +136 -0
  1014. package/node_modules/zod/v4/locales/eo.d.cts +5 -0
  1015. package/node_modules/zod/v4/locales/eo.d.ts +4 -0
  1016. package/node_modules/zod/v4/locales/eo.js +109 -0
  1017. package/node_modules/zod/v4/locales/es.cjs +159 -0
  1018. package/node_modules/zod/v4/locales/es.d.cts +5 -0
  1019. package/node_modules/zod/v4/locales/es.d.ts +4 -0
  1020. package/node_modules/zod/v4/locales/es.js +132 -0
  1021. package/node_modules/zod/v4/locales/fa.cjs +141 -0
  1022. package/node_modules/zod/v4/locales/fa.d.cts +5 -0
  1023. package/node_modules/zod/v4/locales/fa.d.ts +4 -0
  1024. package/node_modules/zod/v4/locales/fa.js +114 -0
  1025. package/node_modules/zod/v4/locales/fi.cjs +139 -0
  1026. package/node_modules/zod/v4/locales/fi.d.cts +5 -0
  1027. package/node_modules/zod/v4/locales/fi.d.ts +4 -0
  1028. package/node_modules/zod/v4/locales/fi.js +112 -0
  1029. package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
  1030. package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  1031. package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  1032. package/node_modules/zod/v4/locales/fr-CA.js +107 -0
  1033. package/node_modules/zod/v4/locales/fr.cjs +135 -0
  1034. package/node_modules/zod/v4/locales/fr.d.cts +5 -0
  1035. package/node_modules/zod/v4/locales/fr.d.ts +4 -0
  1036. package/node_modules/zod/v4/locales/fr.js +108 -0
  1037. package/node_modules/zod/v4/locales/he.cjs +241 -0
  1038. package/node_modules/zod/v4/locales/he.d.cts +5 -0
  1039. package/node_modules/zod/v4/locales/he.d.ts +4 -0
  1040. package/node_modules/zod/v4/locales/he.js +214 -0
  1041. package/node_modules/zod/v4/locales/hu.cjs +135 -0
  1042. package/node_modules/zod/v4/locales/hu.d.cts +5 -0
  1043. package/node_modules/zod/v4/locales/hu.d.ts +4 -0
  1044. package/node_modules/zod/v4/locales/hu.js +108 -0
  1045. package/node_modules/zod/v4/locales/hy.cjs +174 -0
  1046. package/node_modules/zod/v4/locales/hy.d.cts +5 -0
  1047. package/node_modules/zod/v4/locales/hy.d.ts +4 -0
  1048. package/node_modules/zod/v4/locales/hy.js +147 -0
  1049. package/node_modules/zod/v4/locales/id.cjs +133 -0
  1050. package/node_modules/zod/v4/locales/id.d.cts +5 -0
  1051. package/node_modules/zod/v4/locales/id.d.ts +4 -0
  1052. package/node_modules/zod/v4/locales/id.js +106 -0
  1053. package/node_modules/zod/v4/locales/index.cjs +104 -0
  1054. package/node_modules/zod/v4/locales/index.d.cts +49 -0
  1055. package/node_modules/zod/v4/locales/index.d.ts +49 -0
  1056. package/node_modules/zod/v4/locales/index.js +49 -0
  1057. package/node_modules/zod/v4/locales/is.cjs +136 -0
  1058. package/node_modules/zod/v4/locales/is.d.cts +5 -0
  1059. package/node_modules/zod/v4/locales/is.d.ts +4 -0
  1060. package/node_modules/zod/v4/locales/is.js +109 -0
  1061. package/node_modules/zod/v4/locales/it.cjs +135 -0
  1062. package/node_modules/zod/v4/locales/it.d.cts +5 -0
  1063. package/node_modules/zod/v4/locales/it.d.ts +4 -0
  1064. package/node_modules/zod/v4/locales/it.js +108 -0
  1065. package/node_modules/zod/v4/locales/ja.cjs +134 -0
  1066. package/node_modules/zod/v4/locales/ja.d.cts +5 -0
  1067. package/node_modules/zod/v4/locales/ja.d.ts +4 -0
  1068. package/node_modules/zod/v4/locales/ja.js +107 -0
  1069. package/node_modules/zod/v4/locales/ka.cjs +139 -0
  1070. package/node_modules/zod/v4/locales/ka.d.cts +5 -0
  1071. package/node_modules/zod/v4/locales/ka.d.ts +4 -0
  1072. package/node_modules/zod/v4/locales/ka.js +112 -0
  1073. package/node_modules/zod/v4/locales/kh.cjs +12 -0
  1074. package/node_modules/zod/v4/locales/kh.d.cts +5 -0
  1075. package/node_modules/zod/v4/locales/kh.d.ts +5 -0
  1076. package/node_modules/zod/v4/locales/kh.js +5 -0
  1077. package/node_modules/zod/v4/locales/km.cjs +137 -0
  1078. package/node_modules/zod/v4/locales/km.d.cts +5 -0
  1079. package/node_modules/zod/v4/locales/km.d.ts +4 -0
  1080. package/node_modules/zod/v4/locales/km.js +110 -0
  1081. package/node_modules/zod/v4/locales/ko.cjs +138 -0
  1082. package/node_modules/zod/v4/locales/ko.d.cts +5 -0
  1083. package/node_modules/zod/v4/locales/ko.d.ts +4 -0
  1084. package/node_modules/zod/v4/locales/ko.js +111 -0
  1085. package/node_modules/zod/v4/locales/lt.cjs +230 -0
  1086. package/node_modules/zod/v4/locales/lt.d.cts +5 -0
  1087. package/node_modules/zod/v4/locales/lt.d.ts +4 -0
  1088. package/node_modules/zod/v4/locales/lt.js +203 -0
  1089. package/node_modules/zod/v4/locales/mk.cjs +136 -0
  1090. package/node_modules/zod/v4/locales/mk.d.cts +5 -0
  1091. package/node_modules/zod/v4/locales/mk.d.ts +4 -0
  1092. package/node_modules/zod/v4/locales/mk.js +109 -0
  1093. package/node_modules/zod/v4/locales/ms.cjs +134 -0
  1094. package/node_modules/zod/v4/locales/ms.d.cts +5 -0
  1095. package/node_modules/zod/v4/locales/ms.d.ts +4 -0
  1096. package/node_modules/zod/v4/locales/ms.js +107 -0
  1097. package/node_modules/zod/v4/locales/nl.cjs +137 -0
  1098. package/node_modules/zod/v4/locales/nl.d.cts +5 -0
  1099. package/node_modules/zod/v4/locales/nl.d.ts +4 -0
  1100. package/node_modules/zod/v4/locales/nl.js +110 -0
  1101. package/node_modules/zod/v4/locales/no.cjs +135 -0
  1102. package/node_modules/zod/v4/locales/no.d.cts +5 -0
  1103. package/node_modules/zod/v4/locales/no.d.ts +4 -0
  1104. package/node_modules/zod/v4/locales/no.js +108 -0
  1105. package/node_modules/zod/v4/locales/ota.cjs +136 -0
  1106. package/node_modules/zod/v4/locales/ota.d.cts +5 -0
  1107. package/node_modules/zod/v4/locales/ota.d.ts +4 -0
  1108. package/node_modules/zod/v4/locales/ota.js +109 -0
  1109. package/node_modules/zod/v4/locales/package.json +6 -0
  1110. package/node_modules/zod/v4/locales/pl.cjs +136 -0
  1111. package/node_modules/zod/v4/locales/pl.d.cts +5 -0
  1112. package/node_modules/zod/v4/locales/pl.d.ts +4 -0
  1113. package/node_modules/zod/v4/locales/pl.js +109 -0
  1114. package/node_modules/zod/v4/locales/ps.cjs +141 -0
  1115. package/node_modules/zod/v4/locales/ps.d.cts +5 -0
  1116. package/node_modules/zod/v4/locales/ps.d.ts +4 -0
  1117. package/node_modules/zod/v4/locales/ps.js +114 -0
  1118. package/node_modules/zod/v4/locales/pt.cjs +135 -0
  1119. package/node_modules/zod/v4/locales/pt.d.cts +5 -0
  1120. package/node_modules/zod/v4/locales/pt.d.ts +4 -0
  1121. package/node_modules/zod/v4/locales/pt.js +108 -0
  1122. package/node_modules/zod/v4/locales/ru.cjs +183 -0
  1123. package/node_modules/zod/v4/locales/ru.d.cts +5 -0
  1124. package/node_modules/zod/v4/locales/ru.d.ts +4 -0
  1125. package/node_modules/zod/v4/locales/ru.js +156 -0
  1126. package/node_modules/zod/v4/locales/sl.cjs +136 -0
  1127. package/node_modules/zod/v4/locales/sl.d.cts +5 -0
  1128. package/node_modules/zod/v4/locales/sl.d.ts +4 -0
  1129. package/node_modules/zod/v4/locales/sl.js +109 -0
  1130. package/node_modules/zod/v4/locales/sv.cjs +137 -0
  1131. package/node_modules/zod/v4/locales/sv.d.cts +5 -0
  1132. package/node_modules/zod/v4/locales/sv.d.ts +4 -0
  1133. package/node_modules/zod/v4/locales/sv.js +110 -0
  1134. package/node_modules/zod/v4/locales/ta.cjs +137 -0
  1135. package/node_modules/zod/v4/locales/ta.d.cts +5 -0
  1136. package/node_modules/zod/v4/locales/ta.d.ts +4 -0
  1137. package/node_modules/zod/v4/locales/ta.js +110 -0
  1138. package/node_modules/zod/v4/locales/th.cjs +137 -0
  1139. package/node_modules/zod/v4/locales/th.d.cts +5 -0
  1140. package/node_modules/zod/v4/locales/th.d.ts +4 -0
  1141. package/node_modules/zod/v4/locales/th.js +110 -0
  1142. package/node_modules/zod/v4/locales/tr.cjs +132 -0
  1143. package/node_modules/zod/v4/locales/tr.d.cts +5 -0
  1144. package/node_modules/zod/v4/locales/tr.d.ts +4 -0
  1145. package/node_modules/zod/v4/locales/tr.js +105 -0
  1146. package/node_modules/zod/v4/locales/ua.cjs +12 -0
  1147. package/node_modules/zod/v4/locales/ua.d.cts +5 -0
  1148. package/node_modules/zod/v4/locales/ua.d.ts +5 -0
  1149. package/node_modules/zod/v4/locales/ua.js +5 -0
  1150. package/node_modules/zod/v4/locales/uk.cjs +135 -0
  1151. package/node_modules/zod/v4/locales/uk.d.cts +5 -0
  1152. package/node_modules/zod/v4/locales/uk.d.ts +4 -0
  1153. package/node_modules/zod/v4/locales/uk.js +108 -0
  1154. package/node_modules/zod/v4/locales/ur.cjs +137 -0
  1155. package/node_modules/zod/v4/locales/ur.d.cts +5 -0
  1156. package/node_modules/zod/v4/locales/ur.d.ts +4 -0
  1157. package/node_modules/zod/v4/locales/ur.js +110 -0
  1158. package/node_modules/zod/v4/locales/uz.cjs +136 -0
  1159. package/node_modules/zod/v4/locales/uz.d.cts +5 -0
  1160. package/node_modules/zod/v4/locales/uz.d.ts +4 -0
  1161. package/node_modules/zod/v4/locales/uz.js +109 -0
  1162. package/node_modules/zod/v4/locales/vi.cjs +135 -0
  1163. package/node_modules/zod/v4/locales/vi.d.cts +5 -0
  1164. package/node_modules/zod/v4/locales/vi.d.ts +4 -0
  1165. package/node_modules/zod/v4/locales/vi.js +108 -0
  1166. package/node_modules/zod/v4/locales/yo.cjs +134 -0
  1167. package/node_modules/zod/v4/locales/yo.d.cts +5 -0
  1168. package/node_modules/zod/v4/locales/yo.d.ts +4 -0
  1169. package/node_modules/zod/v4/locales/yo.js +107 -0
  1170. package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
  1171. package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  1172. package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  1173. package/node_modules/zod/v4/locales/zh-CN.js +109 -0
  1174. package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
  1175. package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  1176. package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  1177. package/node_modules/zod/v4/locales/zh-TW.js +107 -0
  1178. package/node_modules/zod/v4/mini/checks.cjs +34 -0
  1179. package/node_modules/zod/v4/mini/checks.d.cts +1 -0
  1180. package/node_modules/zod/v4/mini/checks.d.ts +1 -0
  1181. package/node_modules/zod/v4/mini/checks.js +1 -0
  1182. package/node_modules/zod/v4/mini/coerce.cjs +52 -0
  1183. package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  1184. package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  1185. package/node_modules/zod/v4/mini/coerce.js +22 -0
  1186. package/node_modules/zod/v4/mini/external.cjs +63 -0
  1187. package/node_modules/zod/v4/mini/external.d.cts +12 -0
  1188. package/node_modules/zod/v4/mini/external.d.ts +12 -0
  1189. package/node_modules/zod/v4/mini/external.js +14 -0
  1190. package/node_modules/zod/v4/mini/index.cjs +32 -0
  1191. package/node_modules/zod/v4/mini/index.d.cts +3 -0
  1192. package/node_modules/zod/v4/mini/index.d.ts +3 -0
  1193. package/node_modules/zod/v4/mini/index.js +3 -0
  1194. package/node_modules/zod/v4/mini/iso.cjs +64 -0
  1195. package/node_modules/zod/v4/mini/iso.d.cts +22 -0
  1196. package/node_modules/zod/v4/mini/iso.d.ts +22 -0
  1197. package/node_modules/zod/v4/mini/iso.js +34 -0
  1198. package/node_modules/zod/v4/mini/package.json +6 -0
  1199. package/node_modules/zod/v4/mini/parse.cjs +16 -0
  1200. package/node_modules/zod/v4/mini/parse.d.cts +1 -0
  1201. package/node_modules/zod/v4/mini/parse.d.ts +1 -0
  1202. package/node_modules/zod/v4/mini/parse.js +1 -0
  1203. package/node_modules/zod/v4/mini/schemas.cjs +1046 -0
  1204. package/node_modules/zod/v4/mini/schemas.d.cts +427 -0
  1205. package/node_modules/zod/v4/mini/schemas.d.ts +427 -0
  1206. package/node_modules/zod/v4/mini/schemas.js +925 -0
  1207. package/node_modules/zod/v4/package.json +6 -0
  1208. package/node_modules/zod/v4-mini/index.cjs +32 -0
  1209. package/node_modules/zod/v4-mini/index.d.cts +3 -0
  1210. package/node_modules/zod/v4-mini/index.d.ts +3 -0
  1211. package/node_modules/zod/v4-mini/index.js +3 -0
  1212. package/node_modules/zod/v4-mini/package.json +6 -0
  1213. package/package.json +4 -1
@@ -0,0 +1,86 @@
1
+ // ---------------------------------------------------------------------------
2
+ // dlq.ts — DLQ entry contract (TASK 1 / event-pipeline-hardening)
3
+ // ---------------------------------------------------------------------------
4
+ //
5
+ // Single source of truth for the producer-pushed schema-failure DLQ envelope.
6
+ // Previously this shape was hand-defined identically in BOTH
7
+ // fs-usage-consumer/src/dlq-helper.ts (producer side) AND
8
+ // fs-dlq-consumer/src/index.ts + replay-worker.ts (consumer side). A
9
+ // one-side edit silently broke replay because the consumer-side trust
10
+ // gate (consumerVersion prefix check) depends on byte-compatible
11
+ // envelope shape.
12
+ //
13
+ // Centralizing here:
14
+ // 1. Eliminates duplication risk
15
+ // 2. Provides a runtime zod validator that BOTH sides can use
16
+ // 3. Makes the contract independently testable via the roundtrip
17
+ // pattern at shared-types/test/dlq.test.mjs
18
+ //
19
+ // ---------------------------------------------------------------------------
20
+ import { z } from "zod";
21
+ /**
22
+ * Compact zod issue summary suitable for log lines + DLQ envelopes.
23
+ * Mirrors the ZodIssue base shape but trims to the fields operators
24
+ * actually need to triage a schema regression.
25
+ */
26
+ export const dlqZodIssueSchema = z.object({
27
+ path: z.string(),
28
+ code: z.string(),
29
+ message: z.string(),
30
+ });
31
+ /**
32
+ * Envelope that fs-usage-consumer's sendToSchemaFailureDlq emits when
33
+ * a queue message fails gatewayUsageEventSchema validation.
34
+ *
35
+ * Trust gate: consumers (fs-dlq-consumer) MUST verify
36
+ * `consumerVersion.startsWith("fs-usage-consumer/")` before unwrapping
37
+ * `rawPayload`. Without that gate, any writer to the DLQ queue could
38
+ * forge the shape and have rawPayload replayed against the main queue.
39
+ */
40
+ export const schemaFailureDlqEntrySchema = z.object({
41
+ /** Discriminator. fs-dlq-consumer's handler branches on this. */
42
+ reason: z.literal("schema_validation_failed"),
43
+ /** ISO 8601 of when the entry was written to the DLQ. */
44
+ receivedAt: z.string(),
45
+ /**
46
+ * The original wire payload, exactly as received from the queue.
47
+ * Preserved verbatim so the operator-repair CLI can re-validate
48
+ * after a fix is deployed.
49
+ */
50
+ rawPayload: z.unknown(),
51
+ /** Compact zod issue summary — list of `{path, code, message}` triples. */
52
+ issues: z.array(dlqZodIssueSchema),
53
+ /**
54
+ * Build identifier of the consumer that ran the validation.
55
+ * Trust-gate convention: MUST start with "fs-usage-consumer/" for
56
+ * the dlq-consumer to recognize this as a producer-pushed entry.
57
+ */
58
+ consumerVersion: z.string().optional(),
59
+ /**
60
+ * The CF Queue id of the original message. Lets the operator
61
+ * correlate to the gateway's `op: queue_publish_failed` log line if
62
+ * one was emitted.
63
+ */
64
+ originalMessageId: z.string().optional(),
65
+ });
66
+ /**
67
+ * Trust-gate predicate used by fs-dlq-consumer. Returns true ONLY when:
68
+ * 1. The body parses cleanly against schemaFailureDlqEntrySchema, AND
69
+ * 2. consumerVersion is present and starts with the trusted prefix.
70
+ *
71
+ * The prefix is the contract — whoever owns publishing to the DLQ
72
+ * controls it. fs-usage-consumer stamps it via env.CONSUMER_VERSION
73
+ * and the prefix is hardcoded both here and in the consumer's
74
+ * dlq-helper.ts. A drifted consumer is the one regression risk.
75
+ */
76
+ export const TRUSTED_DLQ_CONSUMER_VERSION_PREFIX = "fs-usage-consumer/";
77
+ export function isTrustedSchemaFailureDlqEntry(body) {
78
+ const parsed = schemaFailureDlqEntrySchema.safeParse(body);
79
+ if (!parsed.success)
80
+ return false;
81
+ const { consumerVersion } = parsed.data;
82
+ if (typeof consumerVersion !== "string")
83
+ return false;
84
+ return consumerVersion.startsWith(TRUSTED_DLQ_CONSUMER_VERSION_PREFIX);
85
+ }
86
+ //# sourceMappingURL=dlq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dlq.js","sourceRoot":"","sources":["../src/dlq.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,kEAAkE;AAClE,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,6DAA6D;AAC7D,0DAA0D;AAC1D,qEAAqE;AACrE,sEAAsE;AACtE,iEAAiE;AACjE,kBAAkB;AAClB,EAAE;AACF,qBAAqB;AACrB,mCAAmC;AACnC,gEAAgE;AAChE,mEAAmE;AACnE,iDAAiD;AACjD,EAAE;AACF,8EAA8E;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAGH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,iEAAiE;IACjE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC7C,yDAAyD;IACzD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB;;;;OAIG;IACH,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,2EAA2E;IAC3E,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAClC;;;;OAIG;IACH,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC;;;;OAIG;IACH,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAGH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,oBAAoB,CAAC;AAExE,MAAM,UAAU,8BAA8B,CAAC,IAAa;IAC3D,MAAM,MAAM,GAAG,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACxC,IAAI,OAAO,eAAe,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,eAAe,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Incremented whenever a key format or artifact envelope shape changes.
3
+ * Writers stamp this version on every record; readers inspect it and can
4
+ * log / fall back / refuse on mismatch.
5
+ */
6
+ export declare const KV_KEY_SCHEMA_VERSION = 1;
7
+ export declare const kvKeys: {
8
+ /** Tenant routing key — "which product does this subdomain belong to?" */
9
+ readonly subdomain: (slug: string) => string;
10
+ /**
11
+ * Per-product config record. Env-scoped when `environmentId` is set —
12
+ * the gateway looks up the env-scoped key first and falls back to the
13
+ * production key when it misses.
14
+ */
15
+ readonly product: (productId: string, environmentId?: string | null) => string;
16
+ /** Per-plan config record. Shared across envs — plan IDs are globally unique. */
17
+ readonly plan: (planId: string) => string;
18
+ /**
19
+ * Credential record keyed by the hash of the presented API key. The
20
+ * gateway hashes inbound keys and looks up this record to resolve the
21
+ * caller's subject. Never key by the raw API key.
22
+ */
23
+ readonly credential: (keyHash: string) => string;
24
+ /**
25
+ * Compiled entitlement record.
26
+ *
27
+ * v0.14.0 — keyed by `compiledPlanId` (immutable CompiledPlan pointer).
28
+ * All subscribers on the same CompiledPlan share one KV entry.
29
+ *
30
+ * Prior to v0.14.0 this was keyed by `subjectKey`. Writers must call
31
+ * the builder with the new argument name; readers that still receive a
32
+ * subject-keyed record should fall back gracefully (treated as cache
33
+ * miss and re-read from DB).
34
+ */
35
+ readonly entitlement: (compiledPlanId: string) => string;
36
+ /** Shard policy record. One per product; env shares the production policy. */
37
+ readonly shardPolicy: (productId: string) => string;
38
+ /**
39
+ * Per-subscriber lifecycle state overlay.
40
+ *
41
+ * One entry per (subjectKey, environmentId). The gateway reads this on
42
+ * every request to resolve:
43
+ * - which CompiledPlan's entitlement is currently active for the sub
44
+ * (`activeCompiledPlanId` → fetch `entitlement:<that>`)
45
+ * - the enforcement mode (STRICT | GRACE | TRACK_ONLY)
46
+ * - per-subscriber overrides (spend cap, reduced grace limits, …)
47
+ * - whether a transition is scheduled (so it can pre-cache the next
48
+ * entitlement)
49
+ *
50
+ * Together with `entitlement:<compiledPlanId>` (shared across subs on
51
+ * the same plan version) + `subscription_state:<subjectKey>` (per-sub
52
+ * overlay), the gateway has everything it needs to make a per-request
53
+ * enforcement decision without recompiling entitlements per subscriber.
54
+ */
55
+ readonly subscriptionState: (subjectKey: string, environmentId?: string | null) => string;
56
+ /**
57
+ * Per-lineage atomic snapshot — the xDS pattern for long-horizon API
58
+ * versioning (Phase A8a).
59
+ *
60
+ * Single-key bundle of every CompiledPlan currently serving a lineage:
61
+ * the ACTIVE head + the optional LEGACY_STABLE secondary head + every
62
+ * EXPERIMENTAL variant. The gateway prefers this key over the
63
+ * per-CompiledPlan `entitlement:<id>` keys so it can read the full
64
+ * "current entitlement set for lineage L" with one round-trip and zero
65
+ * possibility of torn state.
66
+ *
67
+ * Atomicity: writes are last-writer-wins on a single Cloudflare KV
68
+ * key. Two concurrent compiles on the same lineage produce a
69
+ * deterministic resolution — the later `publishedAt` wins; the
70
+ * `reconcileEdgeKvKeys` cron heals drift.
71
+ *
72
+ * Backward compat: gateway falls back to per-CP key
73
+ * (`entitlement:<compiledPlanId>`) when the snapshot is missing.
74
+ * Writers dual-publish during the rollout; eventual consistency on
75
+ * the snapshot is fine.
76
+ */
77
+ readonly lineageSnapshot: (lineageId: string) => string;
78
+ /**
79
+ * Per-lineage tombstone (Phase A8c). Written briefly when a CP is
80
+ * removed from the snapshot mid-flight (e.g. variant rollback) so
81
+ * late readers in the gateway's 2-second cache window see a clear
82
+ * "this lineage's experimental set is shrinking" signal instead of
83
+ * "key not found." Cleared on next successful publish; cron sweeps
84
+ * after 24h.
85
+ */
86
+ readonly lineageTombstone: (lineageId: string) => string;
87
+ };
88
+ export type KvKeyBuilder = typeof kvKeys;
89
+ /**
90
+ * What the gateway reads + applies on every request, layered on top of
91
+ * the shared `entitlement:<compiledPlanId>` record.
92
+ *
93
+ * Written by core's `subscription-state-publisher` whenever the
94
+ * subscription's lifecycle / scheduledTransition / overrides change.
95
+ * Read by the gateway worker on every request after credential lookup.
96
+ */
97
+ export type EdgeSubscriptionState = {
98
+ /** Internal Subscription.id — for diagnostics / cross-ref into core. */
99
+ subscriptionId: string;
100
+ /** SubscriptionPeriod.id of the currently-active period (Phase 6 stub —
101
+ * may be undefined until SubscriptionPeriod is fully wired). */
102
+ activePeriodId?: string;
103
+ /** Points at `entitlement:<compiledPlanId>`. The gateway fetches that
104
+ * separately; this overlay just routes to the right one. */
105
+ activeCompiledPlanId: string;
106
+ /** Enforcement mode for this subscriber RIGHT NOW.
107
+ * STRICT — hard limits, BLOCK on overage
108
+ * GRACE — limits soft (track) until gracePeriodEndsAt
109
+ * TRACK_ONLY — log everything, never block (trial prep, dunning) */
110
+ enforcementMode: "STRICT" | "GRACE" | "TRACK_ONLY";
111
+ /** Set when enforcementMode = GRACE. ISO 8601 string. Gateway compares
112
+ * against now; expired grace self-heals to STRICT on the next
113
+ * request. Absent when enforcementMode != GRACE. */
114
+ gracePeriodEndsAt?: string;
115
+ /** Per-subscriber overrides applied AFTER the base entitlement loads. */
116
+ overrides?: {
117
+ /** Hard cap on monthly consumer spend. Compiled into a dollars/month
118
+ * enforce-mode rule even if the plan otherwise lets overage through. */
119
+ maxMonthlySpendCents?: number;
120
+ /** Reduced limits during grace, e.g. {requests: 100} drops the
121
+ * requests-per-minute cap to 100 instead of the plan's 1000. */
122
+ limitOverrides?: Record<string, number>;
123
+ /** Per-subscriber feature-gate overrides — flip individual flags
124
+ * without rebuilding the CompiledPlan. */
125
+ featureGateOverrides?: Record<string, boolean>;
126
+ };
127
+ /** Heads-up to the gateway about an upcoming transition. Lets it
128
+ * pre-warm the next entitlement record so the cutover is hot. */
129
+ scheduledTransition?: {
130
+ kind: string;
131
+ timing: string;
132
+ scheduledFor: string;
133
+ toCompiledPlanId: string | null;
134
+ };
135
+ /** Monotonic generation counter — bumped on every state change so
136
+ * caches downstream of the gateway can detect staleness. */
137
+ generation: number;
138
+ /** When this overlay was last written. */
139
+ updatedAt: string;
140
+ };
141
+ /**
142
+ * One member of a lineage's experimental rollout. The gateway uses these
143
+ * to bucket new subscribers (sticky-assigned via SHA-256 hash) without
144
+ * re-querying core. Mirrors `CompiledPlan.{rolloutPercent, assignmentSeed,
145
+ * prorationOnRollback}` from Phase A1 schema.
146
+ */
147
+ export type LineageSnapshotExperimentalMember = {
148
+ compiledPlanId: string;
149
+ rolloutPercent: number;
150
+ assignmentSeed: string;
151
+ prorationOnRollback: "NONE" | "PRORATE" | "CREDIT";
152
+ /** SHA-256 of the entitlement payload — lets the gateway detect a
153
+ * bypass / KV inconsistency without refetching the per-CP key. */
154
+ entitlementHash: string;
155
+ };
156
+ /**
157
+ * One member of a lineage's stable head. There are at most two: the
158
+ * `ACTIVE` head (always present) and the optional `LEGACY_STABLE` head
159
+ * (the grandfathered cohort).
160
+ */
161
+ export type LineageSnapshotStableMember = {
162
+ compiledPlanId: string;
163
+ /** SHA-256 of the entitlement payload. */
164
+ entitlementHash: string;
165
+ };
166
+ /**
167
+ * Atomic snapshot of every CompiledPlan currently serving a lineage.
168
+ * The gateway reads ONE key (`lineage:<lineageId>:current`) and has the
169
+ * full set — no torn state where ACTIVE is updated but LEGACY_STABLE
170
+ * still on the previous content.
171
+ *
172
+ * Signature: HMAC-SHA256 over `{ lineageId, publishedAt, active,
173
+ * secondaryActive?, experimental[] }` (everything except the signature
174
+ * field itself), using the same signing secret as
175
+ * `entitlement-compiler.ts`. Gateway verifies; mismatch → log + treat
176
+ * as miss + fall back to per-CP key.
177
+ */
178
+ export type EdgeLineageSnapshot = {
179
+ /** Internal PlanLineage.id — stable across compiles. */
180
+ lineageId: string;
181
+ /** ISO 8601. Last-writer-wins tiebreaker for concurrent compiles. */
182
+ publishedAt: string;
183
+ /** The current ACTIVE head — non-null at all times for any lineage
184
+ * that has subscribers. */
185
+ active: LineageSnapshotStableMember;
186
+ /** The LEGACY_STABLE head, if YAML declared `legacy: true` on a peer
187
+ * plan. */
188
+ secondaryActive?: LineageSnapshotStableMember;
189
+ /** Every EXPERIMENTAL variant currently in this lineage. Empty when
190
+ * no variants are running. */
191
+ experimental: LineageSnapshotExperimentalMember[];
192
+ /** HMAC signature over the snapshot fields (excluding `signature`). */
193
+ signature: string;
194
+ };
195
+ /**
196
+ * Tombstone payload for a temporarily-shrinking lineage. Written when
197
+ * a CP is being removed from the snapshot AND the new snapshot hasn't
198
+ * landed yet (KV consistency window). Cleared on next successful
199
+ * publish; cron sweeps after 24h.
200
+ */
201
+ export type EdgeLineageTombstone = {
202
+ /** Same id as `EdgeLineageSnapshot.lineageId`. */
203
+ lineageId: string;
204
+ /** When the tombstone was written. */
205
+ archivedAt: string;
206
+ /** Set of compiledPlanIds being removed from the snapshot. */
207
+ removedCompiledPlanIds: string[];
208
+ };
209
+ /**
210
+ * Tombstone payload written to `ent:<compiledPlanId>` when a
211
+ * CompiledPlan transitions to ARCHIVED but the key isn't yet eligible
212
+ * for hard-delete (within the 7-day retention window).
213
+ *
214
+ * Late readers in the gateway's 2-second cache window get a clear
215
+ * "this CP is archived" signal instead of a "key not found" miss
216
+ * (which the gateway would otherwise treat as an unknown CP).
217
+ *
218
+ * The reconcileEdgeKvKeys cron promotes tombstones past the retention
219
+ * window into hard deletes. The envelope's `kind: "ARCHIVED"`
220
+ * discriminator distinguishes it from a live `CompiledEntitlement`
221
+ * payload — gateway readers branch on it.
222
+ */
223
+ export type EdgeEntitlementTombstone = {
224
+ kind: "ARCHIVED";
225
+ compiledPlanId: string;
226
+ /** When the tombstone was written. */
227
+ archivedAt: string;
228
+ /** Optional pointer to the lineage's current ACTIVE head; lets the
229
+ * gateway emit a useful 410 Gone with redirect hint. */
230
+ lineageActiveCompiledPlanId?: string;
231
+ };
232
+ /**
233
+ * Every artifact written to KV is wrapped in an envelope that records the
234
+ * schema version it was written with. Readers unwrap on load; if the
235
+ * version has advanced the reader can branch or fall back.
236
+ */
237
+ export type EdgeArtifactEnvelope<T> = {
238
+ version: number;
239
+ payload: T;
240
+ };
241
+ /** Wrap a payload for write. Stamps the current schema version. */
242
+ export declare function wrapEnvelope<T>(payload: T): EdgeArtifactEnvelope<T>;
243
+ /**
244
+ * Unwrap a record from KV. Tolerates three shapes:
245
+ * 1. `{ version, payload }` — modern envelope. Returned as-is.
246
+ * 2. Raw payload object — legacy writes that pre-date versioning.
247
+ * Returned as `{ version: 0, payload: raw }` so readers can detect
248
+ * the legacy case and migrate in place if desired.
249
+ * 3. `null` / non-object — treated as a miss.
250
+ *
251
+ * Does NOT throw on version mismatch. Callers inspect `version` and decide.
252
+ */
253
+ export declare function readEnvelope<T>(raw: unknown): EdgeArtifactEnvelope<T> | null;
254
+ //# sourceMappingURL=edge-kv-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge-kv-keys.d.ts","sourceRoot":"","sources":["../src/edge-kv-keys.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,eAAO,MAAM,MAAM;IACjB,0EAA0E;+BACxD,MAAM;IAExB;;;;OAIG;kCACkB,MAAM,kBAAkB,MAAM,GAAG,IAAI;IAK1D,iFAAiF;4BAClE,MAAM;IAErB;;;;OAIG;mCACmB,MAAM;IAE5B;;;;;;;;;;OAUG;2CAC2B,MAAM;IAEpC,8EAA8E;sCACrD,MAAM;IAE/B;;;;;;;;;;;;;;;;OAgBG;6CAC6B,MAAM,kBAAkB,MAAM,GAAG,IAAI;IAKrE;;;;;;;;;;;;;;;;;;;;OAoBG;0CAC0B,MAAM;IAEnC;;;;;;;OAOG;2CAC2B,MAAM;CAC5B,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,MAAM,CAAC;AAOzC;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB;qEACiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;iEAC6D;IAC7D,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;2EAGuE;IACvE,eAAe,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IACnD;;yDAEqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,SAAS,CAAC,EAAE;QACV;iFACyE;QACzE,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B;yEACiE;QACjE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC;mDAC2C;QAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChD,CAAC;IACF;sEACkE;IAClE,mBAAmB,CAAC,EAAE;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC,CAAC;IACF;iEAC6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAMF;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnD;uEACmE;IACnE,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB;gCAC4B;IAC5B,MAAM,EAAE,2BAA2B,CAAC;IACpC;gBACY;IACZ,eAAe,CAAC,EAAE,2BAA2B,CAAC;IAC9C;mCAC+B;IAC/B,YAAY,EAAE,iCAAiC,EAAE,CAAC;IAClD,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB;6DACyD;IACzD,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC,CAAC;AAMF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAEnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,GAAG,EAAE,OAAO,GACX,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAahC"}
@@ -0,0 +1,134 @@
1
+ // Canonical edge-KV key builders + versioned artifact envelope.
2
+ //
3
+ // Single source of truth for the key formats that the gateway (reader) and
4
+ // core (writer) must agree on. If the format changes, bump
5
+ // `KV_KEY_SCHEMA_VERSION` here and both ends pick it up atomically when
6
+ // they rebuild against the new shared-types release.
7
+ //
8
+ // Gateway reads these keys; core writes them. Every KV key ever put into
9
+ // the product/plan/credential/entitlement/shard/subdomain namespace must
10
+ // go through one of the `kvKeys.*` builders.
11
+ //
12
+ // Envelope (Phase 4.2): every artifact is wrapped with a `version` field
13
+ // so schema changes have a migration lane. Legacy unwrapped values are
14
+ // tolerated by `readEnvelope` as `{ version: 0, payload: raw }`.
15
+ /**
16
+ * Incremented whenever a key format or artifact envelope shape changes.
17
+ * Writers stamp this version on every record; readers inspect it and can
18
+ * log / fall back / refuse on mismatch.
19
+ */
20
+ export const KV_KEY_SCHEMA_VERSION = 1;
21
+ export const kvKeys = {
22
+ /** Tenant routing key — "which product does this subdomain belong to?" */
23
+ subdomain: (slug) => `subdomain:${slug.toLowerCase()}`,
24
+ /**
25
+ * Per-product config record. Env-scoped when `environmentId` is set —
26
+ * the gateway looks up the env-scoped key first and falls back to the
27
+ * production key when it misses.
28
+ */
29
+ product: (productId, environmentId) => environmentId
30
+ ? `product:${productId}:env:${environmentId}`
31
+ : `product:${productId}`,
32
+ /** Per-plan config record. Shared across envs — plan IDs are globally unique. */
33
+ plan: (planId) => `plan:${planId}`,
34
+ /**
35
+ * Credential record keyed by the hash of the presented API key. The
36
+ * gateway hashes inbound keys and looks up this record to resolve the
37
+ * caller's subject. Never key by the raw API key.
38
+ */
39
+ credential: (keyHash) => `cred:${keyHash}`,
40
+ /**
41
+ * Compiled entitlement record.
42
+ *
43
+ * v0.14.0 — keyed by `compiledPlanId` (immutable CompiledPlan pointer).
44
+ * All subscribers on the same CompiledPlan share one KV entry.
45
+ *
46
+ * Prior to v0.14.0 this was keyed by `subjectKey`. Writers must call
47
+ * the builder with the new argument name; readers that still receive a
48
+ * subject-keyed record should fall back gracefully (treated as cache
49
+ * miss and re-read from DB).
50
+ */
51
+ entitlement: (compiledPlanId) => `ent:${compiledPlanId}`,
52
+ /** Shard policy record. One per product; env shares the production policy. */
53
+ shardPolicy: (productId) => `shard:${productId}`,
54
+ /**
55
+ * Per-subscriber lifecycle state overlay.
56
+ *
57
+ * One entry per (subjectKey, environmentId). The gateway reads this on
58
+ * every request to resolve:
59
+ * - which CompiledPlan's entitlement is currently active for the sub
60
+ * (`activeCompiledPlanId` → fetch `entitlement:<that>`)
61
+ * - the enforcement mode (STRICT | GRACE | TRACK_ONLY)
62
+ * - per-subscriber overrides (spend cap, reduced grace limits, …)
63
+ * - whether a transition is scheduled (so it can pre-cache the next
64
+ * entitlement)
65
+ *
66
+ * Together with `entitlement:<compiledPlanId>` (shared across subs on
67
+ * the same plan version) + `subscription_state:<subjectKey>` (per-sub
68
+ * overlay), the gateway has everything it needs to make a per-request
69
+ * enforcement decision without recompiling entitlements per subscriber.
70
+ */
71
+ subscriptionState: (subjectKey, environmentId) => environmentId
72
+ ? `substate:${environmentId}:${subjectKey}`
73
+ : `substate:${subjectKey}`,
74
+ /**
75
+ * Per-lineage atomic snapshot — the xDS pattern for long-horizon API
76
+ * versioning (Phase A8a).
77
+ *
78
+ * Single-key bundle of every CompiledPlan currently serving a lineage:
79
+ * the ACTIVE head + the optional LEGACY_STABLE secondary head + every
80
+ * EXPERIMENTAL variant. The gateway prefers this key over the
81
+ * per-CompiledPlan `entitlement:<id>` keys so it can read the full
82
+ * "current entitlement set for lineage L" with one round-trip and zero
83
+ * possibility of torn state.
84
+ *
85
+ * Atomicity: writes are last-writer-wins on a single Cloudflare KV
86
+ * key. Two concurrent compiles on the same lineage produce a
87
+ * deterministic resolution — the later `publishedAt` wins; the
88
+ * `reconcileEdgeKvKeys` cron heals drift.
89
+ *
90
+ * Backward compat: gateway falls back to per-CP key
91
+ * (`entitlement:<compiledPlanId>`) when the snapshot is missing.
92
+ * Writers dual-publish during the rollout; eventual consistency on
93
+ * the snapshot is fine.
94
+ */
95
+ lineageSnapshot: (lineageId) => `lineage:${lineageId}:current`,
96
+ /**
97
+ * Per-lineage tombstone (Phase A8c). Written briefly when a CP is
98
+ * removed from the snapshot mid-flight (e.g. variant rollback) so
99
+ * late readers in the gateway's 2-second cache window see a clear
100
+ * "this lineage's experimental set is shrinking" signal instead of
101
+ * "key not found." Cleared on next successful publish; cron sweeps
102
+ * after 24h.
103
+ */
104
+ lineageTombstone: (lineageId) => `lineage:${lineageId}:tombstone`,
105
+ };
106
+ /** Wrap a payload for write. Stamps the current schema version. */
107
+ export function wrapEnvelope(payload) {
108
+ return { version: KV_KEY_SCHEMA_VERSION, payload };
109
+ }
110
+ /**
111
+ * Unwrap a record from KV. Tolerates three shapes:
112
+ * 1. `{ version, payload }` — modern envelope. Returned as-is.
113
+ * 2. Raw payload object — legacy writes that pre-date versioning.
114
+ * Returned as `{ version: 0, payload: raw }` so readers can detect
115
+ * the legacy case and migrate in place if desired.
116
+ * 3. `null` / non-object — treated as a miss.
117
+ *
118
+ * Does NOT throw on version mismatch. Callers inspect `version` and decide.
119
+ */
120
+ export function readEnvelope(raw) {
121
+ if (raw === null || raw === undefined)
122
+ return null;
123
+ if (typeof raw !== "object")
124
+ return null;
125
+ const obj = raw;
126
+ if (typeof obj.version === "number" &&
127
+ "payload" in obj &&
128
+ obj.payload !== undefined) {
129
+ return { version: obj.version, payload: obj.payload };
130
+ }
131
+ // Legacy pre-envelope shape — the whole object is the payload.
132
+ return { version: 0, payload: raw };
133
+ }
134
+ //# sourceMappingURL=edge-kv-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge-kv-keys.js","sourceRoot":"","sources":["../src/edge-kv-keys.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,2EAA2E;AAC3E,2DAA2D;AAC3D,wEAAwE;AACxE,qDAAqD;AACrD,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,6CAA6C;AAC7C,EAAE;AACF,yEAAyE;AACzE,uEAAuE;AACvE,iEAAiE;AAEjE;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,0EAA0E;IAC1E,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,EAAE;IAE9D;;;;OAIG;IACH,OAAO,EAAE,CAAC,SAAiB,EAAE,aAA6B,EAAE,EAAE,CAC5D,aAAa;QACX,CAAC,CAAC,WAAW,SAAS,QAAQ,aAAa,EAAE;QAC7C,CAAC,CAAC,WAAW,SAAS,EAAE;IAE5B,iFAAiF;IACjF,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,QAAQ,MAAM,EAAE;IAE1C;;;;OAIG;IACH,UAAU,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,QAAQ,OAAO,EAAE;IAElD;;;;;;;;;;OAUG;IACH,WAAW,EAAE,CAAC,cAAsB,EAAE,EAAE,CAAC,OAAO,cAAc,EAAE;IAEhE,8EAA8E;IAC9E,WAAW,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,SAAS,EAAE;IAExD;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,EAAE,CAAC,UAAkB,EAAE,aAA6B,EAAE,EAAE,CACvE,aAAa;QACX,CAAC,CAAC,YAAY,aAAa,IAAI,UAAU,EAAE;QAC3C,CAAC,CAAC,YAAY,UAAU,EAAE;IAE9B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,WAAW,SAAS,UAAU;IAEtE;;;;;;;OAOG;IACH,gBAAgB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,WAAW,SAAS,YAAY;CACjE,CAAC;AAgLX,mEAAmE;AACnE,MAAM,UAAU,YAAY,CAAI,OAAU;IACxC,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC;AACrD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAY;IAEZ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,IACE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC/B,SAAS,IAAI,GAAG;QAChB,GAAG,CAAC,OAAO,KAAK,SAAS,EACzB,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAY,EAAE,CAAC;IAC7D,CAAC;IACD,+DAA+D;IAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAQ,EAAE,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,86 @@
1
+ import type { OverageBehavior } from "./enums.js";
2
+ export type CompiledFloorSpec = {
3
+ perRequestMinUnitsByDim?: Record<string, number>;
4
+ creditPoolMicros?: number;
5
+ perDimUnitCostMicros?: Record<string, number>;
6
+ };
7
+ export type CompiledConsumptiveRule = {
8
+ d: number;
9
+ w: number;
10
+ c: number;
11
+ m?: "e" | "t";
12
+ };
13
+ export type CompiledOccupancyRule = {
14
+ d: number;
15
+ max: number;
16
+ ttl: number;
17
+ };
18
+ /**
19
+ * Compiled entitlement record. Published to KV at `ent:<compiledPlanId>`
20
+ * and SHARED across all subscribers on the same CompiledPlan. The record
21
+ * does NOT identify an individual subject — it is strictly a plan-level
22
+ * artifact.
23
+ *
24
+ * Subject-scoped authorization happens at the gateway by comparing
25
+ * `CredentialRecord.compiledPlanId` (signed at credential-sync time)
26
+ * against `CompiledEntitlement.compiledPlanId` (signed at compile time).
27
+ * Use {@link verifyCredentialBindsToEntitlement} for this check — it is
28
+ * the single canonical trust-boundary comparison now that the
29
+ * entitlement artifact no longer carries subject identity.
30
+ *
31
+ * The `sub` field is retained ONLY for audit / correlation and MAY hold
32
+ * a representative or constant placeholder (e.g. `"cp:<compiledPlanId>"`).
33
+ * Consumers MUST NOT use it for authorization decisions; a stale
34
+ * credential paired with the wrong compiledPlanId would otherwise still
35
+ * resolve against a valid entitlement and defeat fail-closed semantics.
36
+ */
37
+ export type CompiledEntitlement = {
38
+ v: number;
39
+ /**
40
+ * Subject key for audit + correlation ONLY. NOT authoritative; NOT the
41
+ * KV lookup key (that's `compiledPlanId`). When a CompiledPlan is
42
+ * shared across many subscribers, this holds a representative or
43
+ * constant placeholder (e.g. `"cp:<compiledPlanId>"`). Do NOT use for
44
+ * authorization; see the type-level doc for the correct pattern.
45
+ */
46
+ sub: string;
47
+ /**
48
+ * Immutable CompiledPlan.id pointer. Replaces legacy `planId`. This
49
+ * is the field the gateway compares against `CredentialRecord.compiledPlanId`
50
+ * to bind a request to an entitlement.
51
+ */
52
+ compiledPlanId: string;
53
+ planType: string;
54
+ ts: number;
55
+ cr: CompiledConsumptiveRule[];
56
+ or: CompiledOccupancyRule[];
57
+ fg: Record<string, boolean>;
58
+ dm: Record<string, number>;
59
+ dmv: number;
60
+ floor: CompiledFloorSpec | null;
61
+ displayDims: number[];
62
+ ovr: OverageBehavior;
63
+ sig: string;
64
+ environmentId?: string;
65
+ };
66
+ /**
67
+ * Verify that a credential binds to a given entitlement — the single
68
+ * canonical trust-boundary check now that `CompiledEntitlement.sub` no
69
+ * longer identifies a subject.
70
+ *
71
+ * Returns `true` iff `cred.compiledPlanId === ent.compiledPlanId`. The
72
+ * gateway MUST call this (or an equivalent check) before honoring any
73
+ * entitlement decision for a given request; relying on `ent.sub` would
74
+ * miss the case where a stale credential is paired with a newly-compiled
75
+ * plan for a different subscriber.
76
+ *
77
+ * Both arguments are deliberately structurally typed so the helper works
78
+ * with partial / projected shapes in tests and integration layers
79
+ * without requiring the full record.
80
+ */
81
+ export declare function verifyCredentialBindsToEntitlement(cred: {
82
+ compiledPlanId: string;
83
+ }, ent: {
84
+ compiledPlanId: string;
85
+ }): boolean;
86
+ //# sourceMappingURL=entitlements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitlements.d.ts","sourceRoot":"","sources":["../src/entitlements.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,EAAE,MAAM,CAAC;IACV;;;;;;OAMG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IAEX,EAAE,EAAE,uBAAuB,EAAE,CAAC;IAC9B,EAAE,EAAE,qBAAqB,EAAE,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,EAChC,GAAG,EAAE;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GAC9B,OAAO,CAMT"}
@@ -0,0 +1,30 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Compiled entitlement types — wire format pushed to edge KV
3
+ //
4
+ // v0.14.0 — `planId` renamed to `compiledPlanId` to line up with the new
5
+ // immutable CompiledPlan model. The `sub` (subject) field is retained for
6
+ // audit / correlation but is NO LONGER the KV key (see ./edge-kv-keys.ts);
7
+ // the gateway looks up entitlements by compiledPlanId and then reads the
8
+ // subject off the CredentialRecord.
9
+ // ---------------------------------------------------------------------------
10
+ /**
11
+ * Verify that a credential binds to a given entitlement — the single
12
+ * canonical trust-boundary check now that `CompiledEntitlement.sub` no
13
+ * longer identifies a subject.
14
+ *
15
+ * Returns `true` iff `cred.compiledPlanId === ent.compiledPlanId`. The
16
+ * gateway MUST call this (or an equivalent check) before honoring any
17
+ * entitlement decision for a given request; relying on `ent.sub` would
18
+ * miss the case where a stale credential is paired with a newly-compiled
19
+ * plan for a different subscriber.
20
+ *
21
+ * Both arguments are deliberately structurally typed so the helper works
22
+ * with partial / projected shapes in tests and integration layers
23
+ * without requiring the full record.
24
+ */
25
+ export function verifyCredentialBindsToEntitlement(cred, ent) {
26
+ return (typeof cred.compiledPlanId === "string" &&
27
+ cred.compiledPlanId.length > 0 &&
28
+ cred.compiledPlanId === ent.compiledPlanId);
29
+ }
30
+ //# sourceMappingURL=entitlements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitlements.js","sourceRoot":"","sources":["../src/entitlements.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6DAA6D;AAC7D,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,oCAAoC;AACpC,8EAA8E;AA0E9E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kCAAkC,CAChD,IAAgC,EAChC,GAA+B;IAE/B,OAAO,CACL,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;QACvC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAC9B,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC,cAAc,CAC3C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,36 @@
1
+ export type PlanType = "FREE" | "FLAT_RATE" | "INCLUDED_USAGE" | "PAY_AS_YOU_GO" | "CONFIGURABLE_USAGE";
2
+ export type ProductStatus = "DRAFT" | "ACTIVE";
3
+ /**
4
+ * Subscriber status — replaces ConsumerStatus in v0.14.0.
5
+ * Values kept identical so persisted rows don't need remapping.
6
+ */
7
+ export type SubscriberStatus = "ONBOARDING" | "ACTIVE" | "SUSPENDED";
8
+ /** Subscriber kind on the `Subscriber` model and wire DTOs. */
9
+ export type SubscriberKind = "INDIVIDUAL" | "ORGANIZATION";
10
+ /** Display ownership for API subscriptions across builder + consumer UIs. */
11
+ export type SubscriptionOwnerType = "personal_organization" | "team_organization";
12
+ export type BillingStrategy = "subscription" | "usage_based" | "hybrid";
13
+ export type ApiKeyStatus = "ACTIVE" | "REVOKED";
14
+ export type AuthStrategy = "API_KEY";
15
+ export type OverageBehavior = "BLOCK" | "ALLOW_AND_BILL";
16
+ export type PlanStatus = "DRAFT" | "ACTIVE" | "ARCHIVED";
17
+ /**
18
+ * Lifecycle status of a CompiledPlan row.
19
+ *
20
+ * Phase A1 (long-horizon API versioning) added `EXPERIMENTAL` and
21
+ * `LEGACY_STABLE`:
22
+ * - `ACTIVE`: the current head new subscribers join
23
+ * - `EXPERIMENTAL`: A/B variant of an ACTIVE plan; sticky-assigned
24
+ * to a percentage of new subscribers via the variant-assignment
25
+ * hash. Promoted to ACTIVE or rolled back to ARCHIVED.
26
+ * - `LEGACY_STABLE`: a frozen plan version kept alive for the
27
+ * existing subscriber cohort alongside an `ACTIVE` head. Hidden
28
+ * from public pricing; new subscribers cannot join.
29
+ * - `PHASING_OUT`: a previous ACTIVE that's being migrated to a
30
+ * newer version; counts down to SUPERSEDED on count=0.
31
+ * - `SUPERSEDED`: empty version retained for audit; flips to
32
+ * ARCHIVED after `archiveAfterDays`.
33
+ * - `ARCHIVED`: cold storage; KV entry + Stripe Product removed.
34
+ */
35
+ export type CompiledPlanStatus = "ACTIVE" | "EXPERIMENTAL" | "LEGACY_STABLE" | "PHASING_OUT" | "SUPERSEDED" | "ARCHIVED";
36
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,oBAAoB,CAAC;AAEzB,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAC;AAErE,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,cAAc,CAAC;AAE3D,6EAA6E;AAC7E,MAAM,MAAM,qBAAqB,GAC7B,uBAAuB,GACvB,mBAAmB,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,aAAa,GAAG,QAAQ,CAAC;AAExE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC;AAErC,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,cAAc,GACd,eAAe,GACf,aAAa,GACb,YAAY,GACZ,UAAU,CAAC"}