@farthershore/cli 0.3.8 → 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 (1223) hide show
  1. package/dist/commands/apply.js +11 -0
  2. package/dist/commands/billing.js +46 -6
  3. package/dist/commands/feature.js +30 -1
  4. package/dist/commands/login.js +16 -1
  5. package/dist/commands/meter.js +30 -3
  6. package/dist/commands/plan.js +50 -1
  7. package/dist/commands/product.js +40 -4
  8. package/dist/commands/transition.js +18 -1
  9. package/dist/commands/validate.js +11 -1
  10. package/dist/index.js +29 -2
  11. package/node_modules/@farther-shore/shared-types/README.md +63 -0
  12. package/node_modules/@farther-shore/shared-types/dist/admin.d.ts +26 -0
  13. package/node_modules/@farther-shore/shared-types/dist/admin.d.ts.map +1 -0
  14. package/node_modules/@farther-shore/shared-types/dist/admin.js +10 -0
  15. package/node_modules/@farther-shore/shared-types/dist/admin.js.map +1 -0
  16. package/node_modules/@farther-shore/shared-types/dist/analytics.d.ts +229 -0
  17. package/node_modules/@farther-shore/shared-types/dist/analytics.d.ts.map +1 -0
  18. package/node_modules/@farther-shore/shared-types/dist/analytics.js +101 -0
  19. package/node_modules/@farther-shore/shared-types/dist/analytics.js.map +1 -0
  20. package/node_modules/@farther-shore/shared-types/dist/api.d.ts +16 -0
  21. package/node_modules/@farther-shore/shared-types/dist/api.d.ts.map +1 -0
  22. package/node_modules/@farther-shore/shared-types/dist/api.js +5 -0
  23. package/node_modules/@farther-shore/shared-types/dist/api.js.map +1 -0
  24. package/node_modules/@farther-shore/shared-types/dist/auth/permissions.d.ts +63 -0
  25. package/node_modules/@farther-shore/shared-types/dist/auth/permissions.d.ts.map +1 -0
  26. package/node_modules/@farther-shore/shared-types/dist/auth/permissions.js +143 -0
  27. package/node_modules/@farther-shore/shared-types/dist/auth/permissions.js.map +1 -0
  28. package/node_modules/@farther-shore/shared-types/dist/base.d.ts +18 -0
  29. package/node_modules/@farther-shore/shared-types/dist/base.d.ts.map +1 -0
  30. package/node_modules/@farther-shore/shared-types/dist/base.js +6 -0
  31. package/node_modules/@farther-shore/shared-types/dist/base.js.map +1 -0
  32. package/node_modules/@farther-shore/shared-types/dist/billing.d.ts +58 -0
  33. package/node_modules/@farther-shore/shared-types/dist/billing.d.ts.map +1 -0
  34. package/node_modules/@farther-shore/shared-types/dist/billing.js +9 -0
  35. package/node_modules/@farther-shore/shared-types/dist/billing.js.map +1 -0
  36. package/node_modules/@farther-shore/shared-types/dist/builder-context.d.ts +33 -0
  37. package/node_modules/@farther-shore/shared-types/dist/builder-context.d.ts.map +1 -0
  38. package/node_modules/@farther-shore/shared-types/dist/builder-context.js +6 -0
  39. package/node_modules/@farther-shore/shared-types/dist/builder-context.js.map +1 -0
  40. package/node_modules/@farther-shore/shared-types/dist/consumer.d.ts +162 -0
  41. package/node_modules/@farther-shore/shared-types/dist/consumer.d.ts.map +1 -0
  42. package/node_modules/@farther-shore/shared-types/dist/consumer.js +37 -0
  43. package/node_modules/@farther-shore/shared-types/dist/consumer.js.map +1 -0
  44. package/node_modules/@farther-shore/shared-types/dist/dlq.d.ts +47 -0
  45. package/node_modules/@farther-shore/shared-types/dist/dlq.d.ts.map +1 -0
  46. package/node_modules/@farther-shore/shared-types/dist/dlq.js +86 -0
  47. package/node_modules/@farther-shore/shared-types/dist/dlq.js.map +1 -0
  48. package/node_modules/@farther-shore/shared-types/dist/edge-kv-keys.d.ts +254 -0
  49. package/node_modules/@farther-shore/shared-types/dist/edge-kv-keys.d.ts.map +1 -0
  50. package/node_modules/@farther-shore/shared-types/dist/edge-kv-keys.js +134 -0
  51. package/node_modules/@farther-shore/shared-types/dist/edge-kv-keys.js.map +1 -0
  52. package/node_modules/@farther-shore/shared-types/dist/entitlements.d.ts +86 -0
  53. package/node_modules/@farther-shore/shared-types/dist/entitlements.d.ts.map +1 -0
  54. package/node_modules/@farther-shore/shared-types/dist/entitlements.js +30 -0
  55. package/node_modules/@farther-shore/shared-types/dist/entitlements.js.map +1 -0
  56. package/node_modules/@farther-shore/shared-types/dist/enums.d.ts +36 -0
  57. package/node_modules/@farther-shore/shared-types/dist/enums.d.ts.map +1 -0
  58. package/node_modules/@farther-shore/shared-types/dist/enums.js +5 -0
  59. package/node_modules/@farther-shore/shared-types/dist/enums.js.map +1 -0
  60. package/node_modules/@farther-shore/shared-types/dist/format.d.ts +8 -0
  61. package/node_modules/@farther-shore/shared-types/dist/format.d.ts.map +1 -0
  62. package/node_modules/@farther-shore/shared-types/dist/format.js +14 -0
  63. package/node_modules/@farther-shore/shared-types/dist/format.js.map +1 -0
  64. package/node_modules/@farther-shore/shared-types/dist/index.d.ts +24 -0
  65. package/node_modules/@farther-shore/shared-types/dist/index.d.ts.map +1 -0
  66. package/node_modules/@farther-shore/shared-types/dist/index.js +24 -0
  67. package/node_modules/@farther-shore/shared-types/dist/index.js.map +1 -0
  68. package/node_modules/@farther-shore/shared-types/dist/limits.d.ts +24 -0
  69. package/node_modules/@farther-shore/shared-types/dist/limits.d.ts.map +1 -0
  70. package/node_modules/@farther-shore/shared-types/dist/limits.js +5 -0
  71. package/node_modules/@farther-shore/shared-types/dist/limits.js.map +1 -0
  72. package/node_modules/@farther-shore/shared-types/dist/logger.d.ts +67 -0
  73. package/node_modules/@farther-shore/shared-types/dist/logger.d.ts.map +1 -0
  74. package/node_modules/@farther-shore/shared-types/dist/logger.js +252 -0
  75. package/node_modules/@farther-shore/shared-types/dist/logger.js.map +1 -0
  76. package/node_modules/@farther-shore/shared-types/dist/metering.d.ts +18 -0
  77. package/node_modules/@farther-shore/shared-types/dist/metering.d.ts.map +1 -0
  78. package/node_modules/@farther-shore/shared-types/dist/metering.js +5 -0
  79. package/node_modules/@farther-shore/shared-types/dist/metering.js.map +1 -0
  80. package/node_modules/@farther-shore/shared-types/dist/plans/index.d.ts +4 -0
  81. package/node_modules/@farther-shore/shared-types/dist/plans/index.d.ts.map +1 -0
  82. package/node_modules/@farther-shore/shared-types/dist/plans/index.js +18 -0
  83. package/node_modules/@farther-shore/shared-types/dist/plans/index.js.map +1 -0
  84. package/node_modules/@farther-shore/shared-types/dist/plans/limits-schema.d.ts +80 -0
  85. package/node_modules/@farther-shore/shared-types/dist/plans/limits-schema.d.ts.map +1 -0
  86. package/node_modules/@farther-shore/shared-types/dist/plans/limits-schema.js +50 -0
  87. package/node_modules/@farther-shore/shared-types/dist/plans/limits-schema.js.map +1 -0
  88. package/node_modules/@farther-shore/shared-types/dist/plans/projections.d.ts +42 -0
  89. package/node_modules/@farther-shore/shared-types/dist/plans/projections.d.ts.map +1 -0
  90. package/node_modules/@farther-shore/shared-types/dist/plans/projections.js +18 -0
  91. package/node_modules/@farther-shore/shared-types/dist/plans/projections.js.map +1 -0
  92. package/node_modules/@farther-shore/shared-types/dist/plans/spec.d.ts +2387 -0
  93. package/node_modules/@farther-shore/shared-types/dist/plans/spec.d.ts.map +1 -0
  94. package/node_modules/@farther-shore/shared-types/dist/plans/spec.js +513 -0
  95. package/node_modules/@farther-shore/shared-types/dist/plans/spec.js.map +1 -0
  96. package/node_modules/@farther-shore/shared-types/dist/portal.d.ts +204 -0
  97. package/node_modules/@farther-shore/shared-types/dist/portal.d.ts.map +1 -0
  98. package/node_modules/@farther-shore/shared-types/dist/portal.js +20 -0
  99. package/node_modules/@farther-shore/shared-types/dist/portal.js.map +1 -0
  100. package/node_modules/@farther-shore/shared-types/dist/pricing-model.d.ts +92 -0
  101. package/node_modules/@farther-shore/shared-types/dist/pricing-model.d.ts.map +1 -0
  102. package/node_modules/@farther-shore/shared-types/dist/pricing-model.js +11 -0
  103. package/node_modules/@farther-shore/shared-types/dist/pricing-model.js.map +1 -0
  104. package/node_modules/@farther-shore/shared-types/dist/projections.d.ts +80 -0
  105. package/node_modules/@farther-shore/shared-types/dist/projections.d.ts.map +1 -0
  106. package/node_modules/@farther-shore/shared-types/dist/projections.js +6 -0
  107. package/node_modules/@farther-shore/shared-types/dist/projections.js.map +1 -0
  108. package/node_modules/@farther-shore/shared-types/dist/scope-matcher.d.ts +49 -0
  109. package/node_modules/@farther-shore/shared-types/dist/scope-matcher.d.ts.map +1 -0
  110. package/node_modules/@farther-shore/shared-types/dist/scope-matcher.js +159 -0
  111. package/node_modules/@farther-shore/shared-types/dist/scope-matcher.js.map +1 -0
  112. package/node_modules/@farther-shore/shared-types/dist/service-auth.d.ts +70 -0
  113. package/node_modules/@farther-shore/shared-types/dist/service-auth.d.ts.map +1 -0
  114. package/node_modules/@farther-shore/shared-types/dist/service-auth.js +253 -0
  115. package/node_modules/@farther-shore/shared-types/dist/service-auth.js.map +1 -0
  116. package/node_modules/@farther-shore/shared-types/dist/web-ui.d.ts +239 -0
  117. package/node_modules/@farther-shore/shared-types/dist/web-ui.d.ts.map +1 -0
  118. package/node_modules/@farther-shore/shared-types/dist/web-ui.js +6 -0
  119. package/node_modules/@farther-shore/shared-types/dist/web-ui.js.map +1 -0
  120. package/node_modules/@farther-shore/shared-types/dist/webhooks/events.d.ts +48 -0
  121. package/node_modules/@farther-shore/shared-types/dist/webhooks/events.d.ts.map +1 -0
  122. package/node_modules/@farther-shore/shared-types/dist/webhooks/events.js +68 -0
  123. package/node_modules/@farther-shore/shared-types/dist/webhooks/events.js.map +1 -0
  124. package/node_modules/@farther-shore/shared-types/dist/webhooks/migration.d.ts +8 -0
  125. package/node_modules/@farther-shore/shared-types/dist/webhooks/migration.d.ts.map +1 -0
  126. package/node_modules/@farther-shore/shared-types/dist/webhooks/migration.js +21 -0
  127. package/node_modules/@farther-shore/shared-types/dist/webhooks/migration.js.map +1 -0
  128. package/node_modules/@farther-shore/shared-types/package.json +156 -0
  129. package/node_modules/@pinojs/redact/.github/dependabot.yml +13 -0
  130. package/node_modules/@pinojs/redact/.github/workflows/ci.yml +48 -0
  131. package/node_modules/@pinojs/redact/.github/workflows/publish-release.yml +43 -0
  132. package/node_modules/@pinojs/redact/LICENSE +21 -0
  133. package/node_modules/@pinojs/redact/README.md +350 -0
  134. package/node_modules/@pinojs/redact/benchmarks/basic.js +184 -0
  135. package/node_modules/@pinojs/redact/eslint.config.js +1 -0
  136. package/node_modules/@pinojs/redact/index.d.ts +52 -0
  137. package/node_modules/@pinojs/redact/index.js +529 -0
  138. package/node_modules/@pinojs/redact/index.test-d.ts +22 -0
  139. package/node_modules/@pinojs/redact/package.json +37 -0
  140. package/node_modules/@pinojs/redact/scripts/sync-version.mjs +20 -0
  141. package/node_modules/@pinojs/redact/test/actual-redact-comparison.test.js +211 -0
  142. package/node_modules/@pinojs/redact/test/index.test.js +824 -0
  143. package/node_modules/@pinojs/redact/test/integration.test.js +390 -0
  144. package/node_modules/@pinojs/redact/test/multiple-wildcards.test.js +227 -0
  145. package/node_modules/@pinojs/redact/test/prototype-pollution.test.js +223 -0
  146. package/node_modules/@pinojs/redact/test/selective-clone.test.js +115 -0
  147. package/node_modules/@pinojs/redact/tsconfig.json +19 -0
  148. package/node_modules/atomic-sleep/.travis.yml +11 -0
  149. package/node_modules/atomic-sleep/LICENSE +22 -0
  150. package/node_modules/atomic-sleep/index.js +38 -0
  151. package/node_modules/atomic-sleep/package.json +37 -0
  152. package/node_modules/atomic-sleep/readme.md +58 -0
  153. package/node_modules/atomic-sleep/test.js +47 -0
  154. package/node_modules/on-exit-leak-free/.github/dependabot.yml +12 -0
  155. package/node_modules/on-exit-leak-free/.github/workflows/ci.yml +46 -0
  156. package/node_modules/on-exit-leak-free/LICENSE +21 -0
  157. package/node_modules/on-exit-leak-free/README.md +54 -0
  158. package/node_modules/on-exit-leak-free/index.js +108 -0
  159. package/node_modules/on-exit-leak-free/package.json +37 -0
  160. package/node_modules/on-exit-leak-free/test/base.test.js +30 -0
  161. package/node_modules/on-exit-leak-free/test/event-emitter-leak.test.js +23 -0
  162. package/node_modules/on-exit-leak-free/test/fixtures/beforeExit.js +33 -0
  163. package/node_modules/on-exit-leak-free/test/fixtures/close.js +21 -0
  164. package/node_modules/on-exit-leak-free/test/fixtures/gc-not-close.js +24 -0
  165. package/node_modules/on-exit-leak-free/test/fixtures/unregister.js +24 -0
  166. package/node_modules/pino/.nojekyll +0 -0
  167. package/node_modules/pino/.prettierignore +1 -0
  168. package/node_modules/pino/CNAME +1 -0
  169. package/node_modules/pino/CONTRIBUTING.md +30 -0
  170. package/node_modules/pino/LICENSE +21 -0
  171. package/node_modules/pino/README.md +177 -0
  172. package/node_modules/pino/SECURITY.md +87 -0
  173. package/node_modules/pino/benchmarks/basic.bench.js +95 -0
  174. package/node_modules/pino/benchmarks/child-child.bench.js +52 -0
  175. package/node_modules/pino/benchmarks/child-creation.bench.js +73 -0
  176. package/node_modules/pino/benchmarks/child.bench.js +62 -0
  177. package/node_modules/pino/benchmarks/deep-object.bench.js +88 -0
  178. package/node_modules/pino/benchmarks/formatters.bench.js +50 -0
  179. package/node_modules/pino/benchmarks/internal/custom-levels.js +67 -0
  180. package/node_modules/pino/benchmarks/internal/just-pino-heavy.bench.js +76 -0
  181. package/node_modules/pino/benchmarks/internal/just-pino.bench.js +182 -0
  182. package/node_modules/pino/benchmarks/internal/parent-vs-child.bench.js +75 -0
  183. package/node_modules/pino/benchmarks/internal/redact.bench.js +86 -0
  184. package/node_modules/pino/benchmarks/long-string.bench.js +81 -0
  185. package/node_modules/pino/benchmarks/multi-arg.bench.js +193 -0
  186. package/node_modules/pino/benchmarks/multistream.js +98 -0
  187. package/node_modules/pino/benchmarks/object.bench.js +82 -0
  188. package/node_modules/pino/benchmarks/utils/generate-benchmark-doc.js +36 -0
  189. package/node_modules/pino/benchmarks/utils/runbench.js +138 -0
  190. package/node_modules/pino/benchmarks/utils/wrap-log-level.js +55 -0
  191. package/node_modules/pino/bin.js +6 -0
  192. package/node_modules/pino/browser.js +547 -0
  193. package/node_modules/pino/build/sync-version.js +25 -0
  194. package/node_modules/pino/docs/api.md +1593 -0
  195. package/node_modules/pino/docs/asynchronous.md +40 -0
  196. package/node_modules/pino/docs/benchmarks.md +55 -0
  197. package/node_modules/pino/docs/browser.md +278 -0
  198. package/node_modules/pino/docs/bundling.md +40 -0
  199. package/node_modules/pino/docs/child-loggers.md +95 -0
  200. package/node_modules/pino/docs/diagnostics.md +16 -0
  201. package/node_modules/pino/docs/ecosystem.md +86 -0
  202. package/node_modules/pino/docs/help.md +345 -0
  203. package/node_modules/pino/docs/lts.md +64 -0
  204. package/node_modules/pino/docs/pretty.md +35 -0
  205. package/node_modules/pino/docs/redaction.md +135 -0
  206. package/node_modules/pino/docs/transports.md +1376 -0
  207. package/node_modules/pino/docs/web.md +309 -0
  208. package/node_modules/pino/eslint.config.js +28 -0
  209. package/node_modules/pino/examples/basic.js +43 -0
  210. package/node_modules/pino/examples/transport.js +68 -0
  211. package/node_modules/pino/favicon.ico +0 -0
  212. package/node_modules/pino/file.js +12 -0
  213. package/node_modules/pino/inc-version.sh +42 -0
  214. package/node_modules/pino/index.html +55 -0
  215. package/node_modules/pino/lib/caller.js +30 -0
  216. package/node_modules/pino/lib/constants.js +28 -0
  217. package/node_modules/pino/lib/deprecations.js +8 -0
  218. package/node_modules/pino/lib/levels.js +241 -0
  219. package/node_modules/pino/lib/meta.js +3 -0
  220. package/node_modules/pino/lib/multistream.js +203 -0
  221. package/node_modules/pino/lib/proto.js +256 -0
  222. package/node_modules/pino/lib/redaction.js +114 -0
  223. package/node_modules/pino/lib/symbols.js +74 -0
  224. package/node_modules/pino/lib/time.js +39 -0
  225. package/node_modules/pino/lib/tools.js +427 -0
  226. package/node_modules/pino/lib/transport-stream.js +56 -0
  227. package/node_modules/pino/lib/transport.js +289 -0
  228. package/node_modules/pino/lib/worker.js +194 -0
  229. package/node_modules/pino/package.json +120 -0
  230. package/node_modules/pino/pino.d.ts +908 -0
  231. package/node_modules/pino/pino.js +234 -0
  232. package/node_modules/pino/test/basic.test.js +886 -0
  233. package/node_modules/pino/test/broken-pipe.test.js +59 -0
  234. package/node_modules/pino/test/browser-child.test.js +132 -0
  235. package/node_modules/pino/test/browser-disabled.test.js +87 -0
  236. package/node_modules/pino/test/browser-early-console-freeze.test.js +12 -0
  237. package/node_modules/pino/test/browser-is-level-enabled.test.js +101 -0
  238. package/node_modules/pino/test/browser-levels.test.js +241 -0
  239. package/node_modules/pino/test/browser-serializers.test.js +352 -0
  240. package/node_modules/pino/test/browser-timestamp.test.js +88 -0
  241. package/node_modules/pino/test/browser-transmit.test.js +417 -0
  242. package/node_modules/pino/test/browser.test.js +698 -0
  243. package/node_modules/pino/test/complex-objects.test.js +36 -0
  244. package/node_modules/pino/test/crlf.test.js +34 -0
  245. package/node_modules/pino/test/custom-levels.test.js +267 -0
  246. package/node_modules/pino/test/diagnostics.test.js +107 -0
  247. package/node_modules/pino/test/error-key.test.js +37 -0
  248. package/node_modules/pino/test/error.test.js +403 -0
  249. package/node_modules/pino/test/escaping.test.js +93 -0
  250. package/node_modules/pino/test/esm/esm.mjs +14 -0
  251. package/node_modules/pino/test/esm/index.test.js +21 -0
  252. package/node_modules/pino/test/esm/named-exports.mjs +29 -0
  253. package/node_modules/pino/test/exit.test.js +79 -0
  254. package/node_modules/pino/test/fixtures/broken-pipe/basic.js +9 -0
  255. package/node_modules/pino/test/fixtures/broken-pipe/destination.js +10 -0
  256. package/node_modules/pino/test/fixtures/broken-pipe/syncfalse.js +12 -0
  257. package/node_modules/pino/test/fixtures/console-transport.js +13 -0
  258. package/node_modules/pino/test/fixtures/crashing-transport.js +13 -0
  259. package/node_modules/pino/test/fixtures/default-exit.js +8 -0
  260. package/node_modules/pino/test/fixtures/destination-exit.js +8 -0
  261. package/node_modules/pino/test/fixtures/eval/index.js +13 -0
  262. package/node_modules/pino/test/fixtures/eval/node_modules/14-files.js +3 -0
  263. package/node_modules/pino/test/fixtures/eval/node_modules/2-files.js +3 -0
  264. package/node_modules/pino/test/fixtures/eval/node_modules/file1.js +5 -0
  265. package/node_modules/pino/test/fixtures/eval/node_modules/file10.js +5 -0
  266. package/node_modules/pino/test/fixtures/eval/node_modules/file11.js +5 -0
  267. package/node_modules/pino/test/fixtures/eval/node_modules/file12.js +5 -0
  268. package/node_modules/pino/test/fixtures/eval/node_modules/file13.js +5 -0
  269. package/node_modules/pino/test/fixtures/eval/node_modules/file14.js +11 -0
  270. package/node_modules/pino/test/fixtures/eval/node_modules/file2.js +5 -0
  271. package/node_modules/pino/test/fixtures/eval/node_modules/file3.js +5 -0
  272. package/node_modules/pino/test/fixtures/eval/node_modules/file4.js +5 -0
  273. package/node_modules/pino/test/fixtures/eval/node_modules/file5.js +5 -0
  274. package/node_modules/pino/test/fixtures/eval/node_modules/file6.js +5 -0
  275. package/node_modules/pino/test/fixtures/eval/node_modules/file7.js +5 -0
  276. package/node_modules/pino/test/fixtures/eval/node_modules/file8.js +5 -0
  277. package/node_modules/pino/test/fixtures/eval/node_modules/file9.js +5 -0
  278. package/node_modules/pino/test/fixtures/noop-transport.js +10 -0
  279. package/node_modules/pino/test/fixtures/pretty/null-prototype.js +8 -0
  280. package/node_modules/pino/test/fixtures/stdout-hack-protection.js +11 -0
  281. package/node_modules/pino/test/fixtures/syncfalse-child.js +6 -0
  282. package/node_modules/pino/test/fixtures/syncfalse-exit.js +9 -0
  283. package/node_modules/pino/test/fixtures/syncfalse-flush-exit.js +10 -0
  284. package/node_modules/pino/test/fixtures/syncfalse.js +6 -0
  285. package/node_modules/pino/test/fixtures/syntax-error-esm.mjs +2 -0
  286. package/node_modules/pino/test/fixtures/to-file-transport-with-transform.js +20 -0
  287. package/node_modules/pino/test/fixtures/to-file-transport.js +13 -0
  288. package/node_modules/pino/test/fixtures/to-file-transport.mjs +8 -0
  289. package/node_modules/pino/test/fixtures/transport/index.js +12 -0
  290. package/node_modules/pino/test/fixtures/transport/package.json +5 -0
  291. package/node_modules/pino/test/fixtures/transport-exit-immediately-with-async-dest.js +16 -0
  292. package/node_modules/pino/test/fixtures/transport-exit-immediately.js +11 -0
  293. package/node_modules/pino/test/fixtures/transport-exit-on-ready.js +12 -0
  294. package/node_modules/pino/test/fixtures/transport-invalid-node-options.js +26 -0
  295. package/node_modules/pino/test/fixtures/transport-main.js +9 -0
  296. package/node_modules/pino/test/fixtures/transport-many-lines.js +29 -0
  297. package/node_modules/pino/test/fixtures/transport-preload-main.mjs +13 -0
  298. package/node_modules/pino/test/fixtures/transport-preload.mjs +13 -0
  299. package/node_modules/pino/test/fixtures/transport-string-stdout.js +9 -0
  300. package/node_modules/pino/test/fixtures/transport-transform.js +21 -0
  301. package/node_modules/pino/test/fixtures/transport-uses-pino-config.js +33 -0
  302. package/node_modules/pino/test/fixtures/transport-with-on-exit.js +12 -0
  303. package/node_modules/pino/test/fixtures/transport-worker-data.js +19 -0
  304. package/node_modules/pino/test/fixtures/transport-worker-name.js +24 -0
  305. package/node_modules/pino/test/fixtures/transport-worker.js +15 -0
  306. package/node_modules/pino/test/fixtures/transport-wrong-export-type.js +3 -0
  307. package/node_modules/pino/test/fixtures/ts/to-file-transport-native.mts +15 -0
  308. package/node_modules/pino/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
  309. package/node_modules/pino/test/fixtures/ts/to-file-transport.ts +11 -0
  310. package/node_modules/pino/test/fixtures/ts/transpile.cjs +36 -0
  311. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +15 -0
  312. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately.ts +10 -0
  313. package/node_modules/pino/test/fixtures/ts/transport-exit-on-ready.ts +11 -0
  314. package/node_modules/pino/test/fixtures/ts/transport-main.ts +8 -0
  315. package/node_modules/pino/test/fixtures/ts/transport-string-stdout.ts +8 -0
  316. package/node_modules/pino/test/fixtures/ts/transport-worker.ts +14 -0
  317. package/node_modules/pino/test/formatters.test.js +364 -0
  318. package/node_modules/pino/test/helper.d.ts +4 -0
  319. package/node_modules/pino/test/helper.js +155 -0
  320. package/node_modules/pino/test/hooks.test.js +114 -0
  321. package/node_modules/pino/test/http.test.js +214 -0
  322. package/node_modules/pino/test/internals/version.test.js +17 -0
  323. package/node_modules/pino/test/is-level-enabled.test.js +179 -0
  324. package/node_modules/pino/test/jest/basic.spec.js +10 -0
  325. package/node_modules/pino/test/levels.test.js +810 -0
  326. package/node_modules/pino/test/metadata.test.js +120 -0
  327. package/node_modules/pino/test/mixin-merge-strategy.test.js +57 -0
  328. package/node_modules/pino/test/mixin.test.js +241 -0
  329. package/node_modules/pino/test/multistream.test.js +729 -0
  330. package/node_modules/pino/test/redact.test.js +893 -0
  331. package/node_modules/pino/test/serializers.test.js +257 -0
  332. package/node_modules/pino/test/stdout-protection.test.js +41 -0
  333. package/node_modules/pino/test/syncfalse.test.js +186 -0
  334. package/node_modules/pino/test/timestamp-nano.test.js +37 -0
  335. package/node_modules/pino/test/timestamp.test.js +124 -0
  336. package/node_modules/pino/test/transport/big.test.js +42 -0
  337. package/node_modules/pino/test/transport/bundlers-support.test.js +99 -0
  338. package/node_modules/pino/test/transport/caller.test.js +24 -0
  339. package/node_modules/pino/test/transport/core.test.js +733 -0
  340. package/node_modules/pino/test/transport/core.transpiled.test.ts +114 -0
  341. package/node_modules/pino/test/transport/crash.test.js +36 -0
  342. package/node_modules/pino/test/transport/module-link.test.js +241 -0
  343. package/node_modules/pino/test/transport/native-type-stripping.test.mjs +151 -0
  344. package/node_modules/pino/test/transport/node-options.test.js +116 -0
  345. package/node_modules/pino/test/transport/pipeline.test.js +137 -0
  346. package/node_modules/pino/test/transport/preload.test.js +54 -0
  347. package/node_modules/pino/test/transport/repl.test.js +15 -0
  348. package/node_modules/pino/test/transport/sync-false.test.js +67 -0
  349. package/node_modules/pino/test/transport/sync-true.test.js +57 -0
  350. package/node_modules/pino/test/transport/targets.test.js +48 -0
  351. package/node_modules/pino/test/transport/uses-pino-config.test.js +166 -0
  352. package/node_modules/pino/test/transport-stream.test.js +40 -0
  353. package/node_modules/pino/test/types/pino-import.test-d.cts +30 -0
  354. package/node_modules/pino/test/types/pino-multistream.test-d.ts +28 -0
  355. package/node_modules/pino/test/types/pino-top-export.test-d.ts +34 -0
  356. package/node_modules/pino/test/types/pino-transport.test-d.ts +156 -0
  357. package/node_modules/pino/test/types/pino-type-only.test-d.ts +75 -0
  358. package/node_modules/pino/test/types/pino.test-d.ts +683 -0
  359. package/node_modules/pino/test/types/pino.ts +91 -0
  360. package/node_modules/pino/tsconfig.json +14 -0
  361. package/node_modules/pino-abstract-transport/.github/dependabot.yml +13 -0
  362. package/node_modules/pino-abstract-transport/.github/workflows/ci.yml +80 -0
  363. package/node_modules/pino-abstract-transport/.husky/pre-commit +4 -0
  364. package/node_modules/pino-abstract-transport/LICENSE +21 -0
  365. package/node_modules/pino-abstract-transport/README.md +171 -0
  366. package/node_modules/pino-abstract-transport/index.d.ts +122 -0
  367. package/node_modules/pino-abstract-transport/index.js +128 -0
  368. package/node_modules/pino-abstract-transport/package.json +41 -0
  369. package/node_modules/pino-abstract-transport/test/base.test.js +473 -0
  370. package/node_modules/pino-abstract-transport/test/fixtures/transport-async-iteration.js +22 -0
  371. package/node_modules/pino-abstract-transport/test/fixtures/transport-on-data.js +22 -0
  372. package/node_modules/pino-abstract-transport/test/fixtures/transport-transform.js +24 -0
  373. package/node_modules/pino-abstract-transport/test/fixtures/worker-pipeline.js +15 -0
  374. package/node_modules/pino-abstract-transport/test/match.js +24 -0
  375. package/node_modules/pino-abstract-transport/test/types/index.test-d.ts +31 -0
  376. package/node_modules/pino-abstract-transport/test/worker.test.js +372 -0
  377. package/node_modules/pino-std-serializers/.editorconfig +13 -0
  378. package/node_modules/pino-std-serializers/.github/dependabot.yml +13 -0
  379. package/node_modules/pino-std-serializers/.github/workflows/ci.yml +81 -0
  380. package/node_modules/pino-std-serializers/LICENSE +7 -0
  381. package/node_modules/pino-std-serializers/Readme.md +182 -0
  382. package/node_modules/pino-std-serializers/eslint.config.js +7 -0
  383. package/node_modules/pino-std-serializers/index.d.ts +145 -0
  384. package/node_modules/pino-std-serializers/index.js +36 -0
  385. package/node_modules/pino-std-serializers/lib/err-helpers.js +118 -0
  386. package/node_modules/pino-std-serializers/lib/err-proto.js +48 -0
  387. package/node_modules/pino-std-serializers/lib/err-with-cause.js +48 -0
  388. package/node_modules/pino-std-serializers/lib/err.js +45 -0
  389. package/node_modules/pino-std-serializers/lib/req.js +100 -0
  390. package/node_modules/pino-std-serializers/lib/res.js +47 -0
  391. package/node_modules/pino-std-serializers/package.json +42 -0
  392. package/node_modules/pino-std-serializers/test/err-with-cause.test.js +187 -0
  393. package/node_modules/pino-std-serializers/test/err.test.js +200 -0
  394. package/node_modules/pino-std-serializers/test/req.test.js +477 -0
  395. package/node_modules/pino-std-serializers/test/res.test.js +120 -0
  396. package/node_modules/pino-std-serializers/test/types/index.test-d.ts +71 -0
  397. package/node_modules/pino-std-serializers/tsconfig.json +13 -0
  398. package/node_modules/process-warning/.gitattributes +2 -0
  399. package/node_modules/process-warning/.github/dependabot.yml +13 -0
  400. package/node_modules/process-warning/.github/workflows/ci.yml +22 -0
  401. package/node_modules/process-warning/LICENSE +21 -0
  402. package/node_modules/process-warning/README.md +118 -0
  403. package/node_modules/process-warning/benchmarks/warn.js +25 -0
  404. package/node_modules/process-warning/eslint.config.js +6 -0
  405. package/node_modules/process-warning/examples/example.js +11 -0
  406. package/node_modules/process-warning/index.js +124 -0
  407. package/node_modules/process-warning/package.json +73 -0
  408. package/node_modules/process-warning/test/emit-interpolated-string.test.js +34 -0
  409. package/node_modules/process-warning/test/emit-once-only.test.js +33 -0
  410. package/node_modules/process-warning/test/emit-reset.test.js +40 -0
  411. package/node_modules/process-warning/test/emit-set.test.js +35 -0
  412. package/node_modules/process-warning/test/emit-unlimited.test.js +42 -0
  413. package/node_modules/process-warning/test/index.test.js +99 -0
  414. package/node_modules/process-warning/test/issue-88.test.js +38 -0
  415. package/node_modules/process-warning/test/jest.test.js +24 -0
  416. package/node_modules/process-warning/test/no-warnings.test.js +80 -0
  417. package/node_modules/process-warning/test/promise.js +10 -0
  418. package/node_modules/process-warning/types/index.d.ts +37 -0
  419. package/node_modules/process-warning/types/index.test-d.ts +36 -0
  420. package/node_modules/quick-format-unescaped/.github/workflows/ci.yml +21 -0
  421. package/node_modules/quick-format-unescaped/LICENSE +21 -0
  422. package/node_modules/quick-format-unescaped/benchmark.js +24 -0
  423. package/node_modules/quick-format-unescaped/index.js +109 -0
  424. package/node_modules/quick-format-unescaped/package.json +29 -0
  425. package/node_modules/quick-format-unescaped/readme.md +66 -0
  426. package/node_modules/quick-format-unescaped/test/index.js +136 -0
  427. package/node_modules/real-require/LICENSE.md +21 -0
  428. package/node_modules/real-require/README.md +51 -0
  429. package/node_modules/real-require/package.json +49 -0
  430. package/node_modules/real-require/src/index.js +14 -0
  431. package/node_modules/safe-stable-stringify/LICENSE +21 -0
  432. package/node_modules/safe-stable-stringify/esm/package.json +4 -0
  433. package/node_modules/safe-stable-stringify/esm/wrapper.d.ts +4 -0
  434. package/node_modules/safe-stable-stringify/esm/wrapper.js +6 -0
  435. package/node_modules/safe-stable-stringify/index.d.ts +22 -0
  436. package/node_modules/safe-stable-stringify/index.js +625 -0
  437. package/node_modules/safe-stable-stringify/package.json +65 -0
  438. package/node_modules/safe-stable-stringify/readme.md +179 -0
  439. package/node_modules/sonic-boom/.eslintignore +2 -0
  440. package/node_modules/sonic-boom/.taprc +3 -0
  441. package/node_modules/sonic-boom/LICENSE +21 -0
  442. package/node_modules/sonic-boom/README.md +153 -0
  443. package/node_modules/sonic-boom/bench.js +98 -0
  444. package/node_modules/sonic-boom/check.js +18 -0
  445. package/node_modules/sonic-boom/example.js +8 -0
  446. package/node_modules/sonic-boom/fixtures/firehose.js +22 -0
  447. package/node_modules/sonic-boom/index.js +733 -0
  448. package/node_modules/sonic-boom/package.json +52 -0
  449. package/node_modules/sonic-boom/test/destroy.test.js +49 -0
  450. package/node_modules/sonic-boom/test/end.test.js +98 -0
  451. package/node_modules/sonic-boom/test/flush-sync.test.js +140 -0
  452. package/node_modules/sonic-boom/test/flush.test.js +419 -0
  453. package/node_modules/sonic-boom/test/fsync.test.js +63 -0
  454. package/node_modules/sonic-boom/test/helper.js +42 -0
  455. package/node_modules/sonic-boom/test/minlength.test.js +35 -0
  456. package/node_modules/sonic-boom/test/mode.test.js +116 -0
  457. package/node_modules/sonic-boom/test/periodicflush.test.js +61 -0
  458. package/node_modules/sonic-boom/test/reopen.test.js +239 -0
  459. package/node_modules/sonic-boom/test/retry.test.js +414 -0
  460. package/node_modules/sonic-boom/test/sync.test.js +261 -0
  461. package/node_modules/sonic-boom/test/write.test.js +515 -0
  462. package/node_modules/sonic-boom/types/index.d.ts +63 -0
  463. package/node_modules/sonic-boom/types/tests/test.ts +4 -0
  464. package/node_modules/split2/LICENSE +13 -0
  465. package/node_modules/split2/README.md +85 -0
  466. package/node_modules/split2/bench.js +27 -0
  467. package/node_modules/split2/index.js +141 -0
  468. package/node_modules/split2/package.json +39 -0
  469. package/node_modules/split2/test.js +409 -0
  470. package/node_modules/thread-stream/.github/dependabot.yml +13 -0
  471. package/node_modules/thread-stream/.github/workflows/ci.yml +74 -0
  472. package/node_modules/thread-stream/.husky/pre-commit +4 -0
  473. package/node_modules/thread-stream/CLAUDE.md +53 -0
  474. package/node_modules/thread-stream/LICENSE +21 -0
  475. package/node_modules/thread-stream/README.md +135 -0
  476. package/node_modules/thread-stream/bench.js +85 -0
  477. package/node_modules/thread-stream/eslint.config.js +10 -0
  478. package/node_modules/thread-stream/index.d.ts +92 -0
  479. package/node_modules/thread-stream/index.js +541 -0
  480. package/node_modules/thread-stream/lib/indexes.js +9 -0
  481. package/node_modules/thread-stream/lib/wait.js +68 -0
  482. package/node_modules/thread-stream/lib/worker.js +179 -0
  483. package/node_modules/thread-stream/package.json +52 -0
  484. package/node_modules/thread-stream/test/base.test.js +259 -0
  485. package/node_modules/thread-stream/test/bench.test.js +38 -0
  486. package/node_modules/thread-stream/test/bundlers.test.js +59 -0
  487. package/node_modules/thread-stream/test/close-on-gc.js +37 -0
  488. package/node_modules/thread-stream/test/commonjs-fallback.test.js +75 -0
  489. package/node_modules/thread-stream/test/context.test.js +21 -0
  490. package/node_modules/thread-stream/test/create-and-exit.js +16 -0
  491. package/node_modules/thread-stream/test/custom-worker.js +9 -0
  492. package/node_modules/thread-stream/test/dir with spaces/test-package.zip +0 -0
  493. package/node_modules/thread-stream/test/emit-event.js +22 -0
  494. package/node_modules/thread-stream/test/end.test.js +56 -0
  495. package/node_modules/thread-stream/test/error.js +14 -0
  496. package/node_modules/thread-stream/test/esm.test.mjs +46 -0
  497. package/node_modules/thread-stream/test/event.test.js +24 -0
  498. package/node_modules/thread-stream/test/exit.js +14 -0
  499. package/node_modules/thread-stream/test/get-context.js +22 -0
  500. package/node_modules/thread-stream/test/helper.d.ts +1 -0
  501. package/node_modules/thread-stream/test/helper.js +26 -0
  502. package/node_modules/thread-stream/test/indexes.test.js +11 -0
  503. package/node_modules/thread-stream/test/multibyte-chars.test.mjs +75 -0
  504. package/node_modules/thread-stream/test/on-message.js +18 -0
  505. package/node_modules/thread-stream/test/pkg/index.js +37 -0
  506. package/node_modules/thread-stream/test/pkg/pkg.config.json +14 -0
  507. package/node_modules/thread-stream/test/pkg/pkg.test.js +45 -0
  508. package/node_modules/thread-stream/test/port.js +16 -0
  509. package/node_modules/thread-stream/test/post-message.test.js +23 -0
  510. package/node_modules/thread-stream/test/string-limit-2.test.js +35 -0
  511. package/node_modules/thread-stream/test/string-limit.test.js +37 -0
  512. package/node_modules/thread-stream/test/syntax-error.mjs +2 -0
  513. package/node_modules/thread-stream/test/thread-management.test.js +138 -0
  514. package/node_modules/thread-stream/test/to-file-on-destroy.js +23 -0
  515. package/node_modules/thread-stream/test/to-file-on-final.js +24 -0
  516. package/node_modules/thread-stream/test/to-file.js +12 -0
  517. package/node_modules/thread-stream/test/to-file.mjs +8 -0
  518. package/node_modules/thread-stream/test/to-next.js +9 -0
  519. package/node_modules/thread-stream/test/transpiled.test.js +29 -0
  520. package/node_modules/thread-stream/test/ts/to-file.ts +10 -0
  521. package/node_modules/thread-stream/test/ts/transpile.sh +19 -0
  522. package/node_modules/thread-stream/test/ts-commonjs-default-export.zip +0 -0
  523. package/node_modules/thread-stream/test/ts-native.test.mjs +35 -0
  524. package/node_modules/thread-stream/test/ts-node-fallback.test.js +35 -0
  525. package/node_modules/thread-stream/test/uncaughtException.js +21 -0
  526. package/node_modules/thread-stream/test/unhandledRejection.js +21 -0
  527. package/node_modules/thread-stream/test/yarnrc.yml +7 -0
  528. package/node_modules/thread-stream/tsconfig.json +8 -0
  529. package/node_modules/zod/LICENSE +21 -0
  530. package/node_modules/zod/README.md +208 -0
  531. package/node_modules/zod/index.cjs +33 -0
  532. package/node_modules/zod/index.d.cts +4 -0
  533. package/node_modules/zod/index.d.ts +4 -0
  534. package/node_modules/zod/index.js +4 -0
  535. package/node_modules/zod/locales/index.cjs +17 -0
  536. package/node_modules/zod/locales/index.d.cts +1 -0
  537. package/node_modules/zod/locales/index.d.ts +1 -0
  538. package/node_modules/zod/locales/index.js +1 -0
  539. package/node_modules/zod/locales/package.json +6 -0
  540. package/node_modules/zod/mini/index.cjs +32 -0
  541. package/node_modules/zod/mini/index.d.cts +3 -0
  542. package/node_modules/zod/mini/index.d.ts +3 -0
  543. package/node_modules/zod/mini/index.js +3 -0
  544. package/node_modules/zod/mini/package.json +6 -0
  545. package/node_modules/zod/package.json +135 -0
  546. package/node_modules/zod/src/index.ts +4 -0
  547. package/node_modules/zod/src/locales/index.ts +1 -0
  548. package/node_modules/zod/src/mini/index.ts +3 -0
  549. package/node_modules/zod/src/v3/ZodError.ts +330 -0
  550. package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  551. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  552. package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  553. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  554. package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  555. package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  556. package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  557. package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  558. package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  559. package/node_modules/zod/src/v3/errors.ts +13 -0
  560. package/node_modules/zod/src/v3/external.ts +6 -0
  561. package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  562. package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  563. package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  564. package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  565. package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  566. package/node_modules/zod/src/v3/helpers/util.ts +224 -0
  567. package/node_modules/zod/src/v3/index.ts +4 -0
  568. package/node_modules/zod/src/v3/locales/en.ts +124 -0
  569. package/node_modules/zod/src/v3/standard-schema.ts +113 -0
  570. package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  571. package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  572. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  573. package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  574. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  575. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  576. package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  577. package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  578. package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  579. package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  580. package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  581. package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
  582. package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  583. package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  584. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  585. package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  586. package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  587. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  588. package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  589. package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  590. package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  591. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  592. package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
  593. package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  594. package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  595. package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  596. package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  597. package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  598. package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  599. package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  600. package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  601. package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  602. package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
  603. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  604. package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  605. package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  606. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  607. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  608. package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  609. package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  610. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  611. package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  612. package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  613. package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  614. package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  615. package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  616. package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  617. package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  618. package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  619. package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  620. package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  621. package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  622. package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  623. package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  624. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  625. package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  626. package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  627. package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  628. package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  629. package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  630. package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  631. package/node_modules/zod/src/v3/types.ts +5138 -0
  632. package/node_modules/zod/src/v4/classic/checks.ts +32 -0
  633. package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  634. package/node_modules/zod/src/v4/classic/compat.ts +70 -0
  635. package/node_modules/zod/src/v4/classic/errors.ts +82 -0
  636. package/node_modules/zod/src/v4/classic/external.ts +51 -0
  637. package/node_modules/zod/src/v4/classic/from-json-schema.ts +643 -0
  638. package/node_modules/zod/src/v4/classic/index.ts +5 -0
  639. package/node_modules/zod/src/v4/classic/iso.ts +90 -0
  640. package/node_modules/zod/src/v4/classic/parse.ts +82 -0
  641. package/node_modules/zod/src/v4/classic/schemas.ts +2409 -0
  642. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  643. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
  644. package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  645. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
  646. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  647. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  648. package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  649. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  650. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
  651. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +276 -0
  652. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  653. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  654. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
  655. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  656. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
  657. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  658. package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
  659. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  660. package/node_modules/zod/src/v4/classic/tests/default.test.ts +365 -0
  661. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  662. package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  663. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +661 -0
  664. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  665. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +595 -0
  666. package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  667. package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  668. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  669. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  670. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +734 -0
  671. package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
  672. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  673. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  674. package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
  675. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
  676. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
  677. package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
  678. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  679. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  680. package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
  681. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  682. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  683. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  684. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  685. package/node_modules/zod/src/v4/classic/tests/number.test.ts +270 -0
  686. package/node_modules/zod/src/v4/classic/tests/object.test.ts +640 -0
  687. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +223 -0
  688. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +427 -0
  689. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
  690. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  691. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  692. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +282 -0
  693. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  694. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  695. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  696. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  697. package/node_modules/zod/src/v4/classic/tests/record.test.ts +632 -0
  698. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +582 -0
  699. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +570 -0
  700. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
  701. package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  702. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
  703. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  704. package/node_modules/zod/src/v4/classic/tests/string.test.ts +1175 -0
  705. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  706. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
  707. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  708. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2990 -0
  709. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +361 -0
  710. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +183 -0
  711. package/node_modules/zod/src/v4/classic/tests/union.test.ts +219 -0
  712. package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  713. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  714. package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  715. package/node_modules/zod/src/v4/core/api.ts +1798 -0
  716. package/node_modules/zod/src/v4/core/checks.ts +1293 -0
  717. package/node_modules/zod/src/v4/core/config.ts +15 -0
  718. package/node_modules/zod/src/v4/core/core.ts +138 -0
  719. package/node_modules/zod/src/v4/core/doc.ts +44 -0
  720. package/node_modules/zod/src/v4/core/errors.ts +448 -0
  721. package/node_modules/zod/src/v4/core/index.ts +16 -0
  722. package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
  723. package/node_modules/zod/src/v4/core/json-schema-processors.ts +667 -0
  724. package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  725. package/node_modules/zod/src/v4/core/parse.ts +195 -0
  726. package/node_modules/zod/src/v4/core/regexes.ts +183 -0
  727. package/node_modules/zod/src/v4/core/registries.ts +105 -0
  728. package/node_modules/zod/src/v4/core/schemas.ts +4538 -0
  729. package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
  730. package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  731. package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  732. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  733. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  734. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  735. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  736. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  737. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  738. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  739. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +83 -0
  740. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +67 -0
  741. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  742. package/node_modules/zod/src/v4/core/to-json-schema.ts +613 -0
  743. package/node_modules/zod/src/v4/core/util.ts +966 -0
  744. package/node_modules/zod/src/v4/core/versions.ts +5 -0
  745. package/node_modules/zod/src/v4/core/zsf.ts +323 -0
  746. package/node_modules/zod/src/v4/index.ts +4 -0
  747. package/node_modules/zod/src/v4/locales/ar.ts +115 -0
  748. package/node_modules/zod/src/v4/locales/az.ts +111 -0
  749. package/node_modules/zod/src/v4/locales/be.ts +176 -0
  750. package/node_modules/zod/src/v4/locales/bg.ts +128 -0
  751. package/node_modules/zod/src/v4/locales/ca.ts +116 -0
  752. package/node_modules/zod/src/v4/locales/cs.ts +118 -0
  753. package/node_modules/zod/src/v4/locales/da.ts +123 -0
  754. package/node_modules/zod/src/v4/locales/de.ts +116 -0
  755. package/node_modules/zod/src/v4/locales/en.ts +119 -0
  756. package/node_modules/zod/src/v4/locales/eo.ts +118 -0
  757. package/node_modules/zod/src/v4/locales/es.ts +141 -0
  758. package/node_modules/zod/src/v4/locales/fa.ts +126 -0
  759. package/node_modules/zod/src/v4/locales/fi.ts +121 -0
  760. package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
  761. package/node_modules/zod/src/v4/locales/fr.ts +116 -0
  762. package/node_modules/zod/src/v4/locales/he.ts +246 -0
  763. package/node_modules/zod/src/v4/locales/hu.ts +117 -0
  764. package/node_modules/zod/src/v4/locales/hy.ts +164 -0
  765. package/node_modules/zod/src/v4/locales/id.ts +115 -0
  766. package/node_modules/zod/src/v4/locales/index.ts +49 -0
  767. package/node_modules/zod/src/v4/locales/is.ts +119 -0
  768. package/node_modules/zod/src/v4/locales/it.ts +116 -0
  769. package/node_modules/zod/src/v4/locales/ja.ts +114 -0
  770. package/node_modules/zod/src/v4/locales/ka.ts +123 -0
  771. package/node_modules/zod/src/v4/locales/kh.ts +7 -0
  772. package/node_modules/zod/src/v4/locales/km.ts +119 -0
  773. package/node_modules/zod/src/v4/locales/ko.ts +121 -0
  774. package/node_modules/zod/src/v4/locales/lt.ts +239 -0
  775. package/node_modules/zod/src/v4/locales/mk.ts +118 -0
  776. package/node_modules/zod/src/v4/locales/ms.ts +115 -0
  777. package/node_modules/zod/src/v4/locales/nl.ts +121 -0
  778. package/node_modules/zod/src/v4/locales/no.ts +116 -0
  779. package/node_modules/zod/src/v4/locales/ota.ts +117 -0
  780. package/node_modules/zod/src/v4/locales/pl.ts +118 -0
  781. package/node_modules/zod/src/v4/locales/ps.ts +126 -0
  782. package/node_modules/zod/src/v4/locales/pt.ts +116 -0
  783. package/node_modules/zod/src/v4/locales/ru.ts +176 -0
  784. package/node_modules/zod/src/v4/locales/sl.ts +118 -0
  785. package/node_modules/zod/src/v4/locales/sv.ts +119 -0
  786. package/node_modules/zod/src/v4/locales/ta.ts +118 -0
  787. package/node_modules/zod/src/v4/locales/th.ts +119 -0
  788. package/node_modules/zod/src/v4/locales/tr.ts +111 -0
  789. package/node_modules/zod/src/v4/locales/ua.ts +7 -0
  790. package/node_modules/zod/src/v4/locales/uk.ts +117 -0
  791. package/node_modules/zod/src/v4/locales/ur.ts +119 -0
  792. package/node_modules/zod/src/v4/locales/uz.ts +116 -0
  793. package/node_modules/zod/src/v4/locales/vi.ts +117 -0
  794. package/node_modules/zod/src/v4/locales/yo.ts +124 -0
  795. package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
  796. package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
  797. package/node_modules/zod/src/v4/mini/checks.ts +32 -0
  798. package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
  799. package/node_modules/zod/src/v4/mini/external.ts +40 -0
  800. package/node_modules/zod/src/v4/mini/index.ts +3 -0
  801. package/node_modules/zod/src/v4/mini/iso.ts +66 -0
  802. package/node_modules/zod/src/v4/mini/parse.ts +14 -0
  803. package/node_modules/zod/src/v4/mini/schemas.ts +1916 -0
  804. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
  805. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  806. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
  807. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  808. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
  809. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  810. package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  811. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
  812. package/node_modules/zod/src/v4/mini/tests/index.test.ts +963 -0
  813. package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  814. package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
  815. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  816. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
  817. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  818. package/node_modules/zod/src/v4/mini/tests/string.test.ts +347 -0
  819. package/node_modules/zod/src/v4-mini/index.ts +3 -0
  820. package/node_modules/zod/v3/ZodError.cjs +138 -0
  821. package/node_modules/zod/v3/ZodError.d.cts +164 -0
  822. package/node_modules/zod/v3/ZodError.d.ts +164 -0
  823. package/node_modules/zod/v3/ZodError.js +133 -0
  824. package/node_modules/zod/v3/errors.cjs +17 -0
  825. package/node_modules/zod/v3/errors.d.cts +5 -0
  826. package/node_modules/zod/v3/errors.d.ts +5 -0
  827. package/node_modules/zod/v3/errors.js +9 -0
  828. package/node_modules/zod/v3/external.cjs +22 -0
  829. package/node_modules/zod/v3/external.d.cts +6 -0
  830. package/node_modules/zod/v3/external.d.ts +6 -0
  831. package/node_modules/zod/v3/external.js +6 -0
  832. package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  833. package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  834. package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  835. package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  836. package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  837. package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  838. package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  839. package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  840. package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  841. package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  842. package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  843. package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  844. package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  845. package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  846. package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  847. package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  848. package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  849. package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  850. package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  851. package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  852. package/node_modules/zod/v3/helpers/util.cjs +137 -0
  853. package/node_modules/zod/v3/helpers/util.d.cts +85 -0
  854. package/node_modules/zod/v3/helpers/util.d.ts +85 -0
  855. package/node_modules/zod/v3/helpers/util.js +133 -0
  856. package/node_modules/zod/v3/index.cjs +33 -0
  857. package/node_modules/zod/v3/index.d.cts +4 -0
  858. package/node_modules/zod/v3/index.d.ts +4 -0
  859. package/node_modules/zod/v3/index.js +4 -0
  860. package/node_modules/zod/v3/locales/en.cjs +112 -0
  861. package/node_modules/zod/v3/locales/en.d.cts +3 -0
  862. package/node_modules/zod/v3/locales/en.d.ts +3 -0
  863. package/node_modules/zod/v3/locales/en.js +109 -0
  864. package/node_modules/zod/v3/package.json +6 -0
  865. package/node_modules/zod/v3/standard-schema.cjs +2 -0
  866. package/node_modules/zod/v3/standard-schema.d.cts +102 -0
  867. package/node_modules/zod/v3/standard-schema.d.ts +102 -0
  868. package/node_modules/zod/v3/standard-schema.js +1 -0
  869. package/node_modules/zod/v3/types.cjs +3777 -0
  870. package/node_modules/zod/v3/types.d.cts +1034 -0
  871. package/node_modules/zod/v3/types.d.ts +1034 -0
  872. package/node_modules/zod/v3/types.js +3695 -0
  873. package/node_modules/zod/v4/classic/checks.cjs +33 -0
  874. package/node_modules/zod/v4/classic/checks.d.cts +1 -0
  875. package/node_modules/zod/v4/classic/checks.d.ts +1 -0
  876. package/node_modules/zod/v4/classic/checks.js +1 -0
  877. package/node_modules/zod/v4/classic/coerce.cjs +47 -0
  878. package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  879. package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  880. package/node_modules/zod/v4/classic/coerce.js +17 -0
  881. package/node_modules/zod/v4/classic/compat.cjs +61 -0
  882. package/node_modules/zod/v4/classic/compat.d.cts +50 -0
  883. package/node_modules/zod/v4/classic/compat.d.ts +50 -0
  884. package/node_modules/zod/v4/classic/compat.js +31 -0
  885. package/node_modules/zod/v4/classic/errors.cjs +74 -0
  886. package/node_modules/zod/v4/classic/errors.d.cts +30 -0
  887. package/node_modules/zod/v4/classic/errors.d.ts +30 -0
  888. package/node_modules/zod/v4/classic/errors.js +48 -0
  889. package/node_modules/zod/v4/classic/external.cjs +73 -0
  890. package/node_modules/zod/v4/classic/external.d.cts +15 -0
  891. package/node_modules/zod/v4/classic/external.d.ts +15 -0
  892. package/node_modules/zod/v4/classic/external.js +20 -0
  893. package/node_modules/zod/v4/classic/from-json-schema.cjs +610 -0
  894. package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  895. package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  896. package/node_modules/zod/v4/classic/from-json-schema.js +584 -0
  897. package/node_modules/zod/v4/classic/index.cjs +33 -0
  898. package/node_modules/zod/v4/classic/index.d.cts +4 -0
  899. package/node_modules/zod/v4/classic/index.d.ts +4 -0
  900. package/node_modules/zod/v4/classic/index.js +4 -0
  901. package/node_modules/zod/v4/classic/iso.cjs +60 -0
  902. package/node_modules/zod/v4/classic/iso.d.cts +22 -0
  903. package/node_modules/zod/v4/classic/iso.d.ts +22 -0
  904. package/node_modules/zod/v4/classic/iso.js +30 -0
  905. package/node_modules/zod/v4/classic/package.json +6 -0
  906. package/node_modules/zod/v4/classic/parse.cjs +41 -0
  907. package/node_modules/zod/v4/classic/parse.d.cts +31 -0
  908. package/node_modules/zod/v4/classic/parse.d.ts +31 -0
  909. package/node_modules/zod/v4/classic/parse.js +15 -0
  910. package/node_modules/zod/v4/classic/schemas.cjs +1272 -0
  911. package/node_modules/zod/v4/classic/schemas.d.cts +739 -0
  912. package/node_modules/zod/v4/classic/schemas.d.ts +739 -0
  913. package/node_modules/zod/v4/classic/schemas.js +1157 -0
  914. package/node_modules/zod/v4/core/api.cjs +1222 -0
  915. package/node_modules/zod/v4/core/api.d.cts +304 -0
  916. package/node_modules/zod/v4/core/api.d.ts +304 -0
  917. package/node_modules/zod/v4/core/api.js +1082 -0
  918. package/node_modules/zod/v4/core/checks.cjs +601 -0
  919. package/node_modules/zod/v4/core/checks.d.cts +278 -0
  920. package/node_modules/zod/v4/core/checks.d.ts +278 -0
  921. package/node_modules/zod/v4/core/checks.js +575 -0
  922. package/node_modules/zod/v4/core/core.cjs +83 -0
  923. package/node_modules/zod/v4/core/core.d.cts +70 -0
  924. package/node_modules/zod/v4/core/core.d.ts +70 -0
  925. package/node_modules/zod/v4/core/core.js +76 -0
  926. package/node_modules/zod/v4/core/doc.cjs +39 -0
  927. package/node_modules/zod/v4/core/doc.d.cts +14 -0
  928. package/node_modules/zod/v4/core/doc.d.ts +14 -0
  929. package/node_modules/zod/v4/core/doc.js +35 -0
  930. package/node_modules/zod/v4/core/errors.cjs +213 -0
  931. package/node_modules/zod/v4/core/errors.d.cts +220 -0
  932. package/node_modules/zod/v4/core/errors.d.ts +220 -0
  933. package/node_modules/zod/v4/core/errors.js +182 -0
  934. package/node_modules/zod/v4/core/index.cjs +47 -0
  935. package/node_modules/zod/v4/core/index.d.cts +16 -0
  936. package/node_modules/zod/v4/core/index.d.ts +16 -0
  937. package/node_modules/zod/v4/core/index.js +16 -0
  938. package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
  939. package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  940. package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  941. package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  942. package/node_modules/zod/v4/core/json-schema-processors.cjs +648 -0
  943. package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
  944. package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
  945. package/node_modules/zod/v4/core/json-schema-processors.js +605 -0
  946. package/node_modules/zod/v4/core/json-schema.cjs +2 -0
  947. package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  948. package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  949. package/node_modules/zod/v4/core/json-schema.js +1 -0
  950. package/node_modules/zod/v4/core/package.json +6 -0
  951. package/node_modules/zod/v4/core/parse.cjs +131 -0
  952. package/node_modules/zod/v4/core/parse.d.cts +49 -0
  953. package/node_modules/zod/v4/core/parse.d.ts +49 -0
  954. package/node_modules/zod/v4/core/parse.js +93 -0
  955. package/node_modules/zod/v4/core/regexes.cjs +166 -0
  956. package/node_modules/zod/v4/core/regexes.d.cts +79 -0
  957. package/node_modules/zod/v4/core/regexes.d.ts +79 -0
  958. package/node_modules/zod/v4/core/regexes.js +133 -0
  959. package/node_modules/zod/v4/core/registries.cjs +56 -0
  960. package/node_modules/zod/v4/core/registries.d.cts +35 -0
  961. package/node_modules/zod/v4/core/registries.d.ts +35 -0
  962. package/node_modules/zod/v4/core/registries.js +51 -0
  963. package/node_modules/zod/v4/core/schemas.cjs +2124 -0
  964. package/node_modules/zod/v4/core/schemas.d.cts +1146 -0
  965. package/node_modules/zod/v4/core/schemas.d.ts +1146 -0
  966. package/node_modules/zod/v4/core/schemas.js +2093 -0
  967. package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  968. package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
  969. package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
  970. package/node_modules/zod/v4/core/standard-schema.js +1 -0
  971. package/node_modules/zod/v4/core/to-json-schema.cjs +446 -0
  972. package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
  973. package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
  974. package/node_modules/zod/v4/core/to-json-schema.js +437 -0
  975. package/node_modules/zod/v4/core/util.cjs +710 -0
  976. package/node_modules/zod/v4/core/util.d.cts +199 -0
  977. package/node_modules/zod/v4/core/util.d.ts +199 -0
  978. package/node_modules/zod/v4/core/util.js +651 -0
  979. package/node_modules/zod/v4/core/versions.cjs +8 -0
  980. package/node_modules/zod/v4/core/versions.d.cts +5 -0
  981. package/node_modules/zod/v4/core/versions.d.ts +5 -0
  982. package/node_modules/zod/v4/core/versions.js +5 -0
  983. package/node_modules/zod/v4/index.cjs +22 -0
  984. package/node_modules/zod/v4/index.d.cts +3 -0
  985. package/node_modules/zod/v4/index.d.ts +3 -0
  986. package/node_modules/zod/v4/index.js +3 -0
  987. package/node_modules/zod/v4/locales/ar.cjs +133 -0
  988. package/node_modules/zod/v4/locales/ar.d.cts +5 -0
  989. package/node_modules/zod/v4/locales/ar.d.ts +4 -0
  990. package/node_modules/zod/v4/locales/ar.js +106 -0
  991. package/node_modules/zod/v4/locales/az.cjs +132 -0
  992. package/node_modules/zod/v4/locales/az.d.cts +5 -0
  993. package/node_modules/zod/v4/locales/az.d.ts +4 -0
  994. package/node_modules/zod/v4/locales/az.js +105 -0
  995. package/node_modules/zod/v4/locales/be.cjs +183 -0
  996. package/node_modules/zod/v4/locales/be.d.cts +5 -0
  997. package/node_modules/zod/v4/locales/be.d.ts +4 -0
  998. package/node_modules/zod/v4/locales/be.js +156 -0
  999. package/node_modules/zod/v4/locales/bg.cjs +147 -0
  1000. package/node_modules/zod/v4/locales/bg.d.cts +5 -0
  1001. package/node_modules/zod/v4/locales/bg.d.ts +4 -0
  1002. package/node_modules/zod/v4/locales/bg.js +120 -0
  1003. package/node_modules/zod/v4/locales/ca.cjs +134 -0
  1004. package/node_modules/zod/v4/locales/ca.d.cts +5 -0
  1005. package/node_modules/zod/v4/locales/ca.d.ts +4 -0
  1006. package/node_modules/zod/v4/locales/ca.js +107 -0
  1007. package/node_modules/zod/v4/locales/cs.cjs +138 -0
  1008. package/node_modules/zod/v4/locales/cs.d.cts +5 -0
  1009. package/node_modules/zod/v4/locales/cs.d.ts +4 -0
  1010. package/node_modules/zod/v4/locales/cs.js +111 -0
  1011. package/node_modules/zod/v4/locales/da.cjs +142 -0
  1012. package/node_modules/zod/v4/locales/da.d.cts +5 -0
  1013. package/node_modules/zod/v4/locales/da.d.ts +4 -0
  1014. package/node_modules/zod/v4/locales/da.js +115 -0
  1015. package/node_modules/zod/v4/locales/de.cjs +135 -0
  1016. package/node_modules/zod/v4/locales/de.d.cts +5 -0
  1017. package/node_modules/zod/v4/locales/de.d.ts +4 -0
  1018. package/node_modules/zod/v4/locales/de.js +108 -0
  1019. package/node_modules/zod/v4/locales/en.cjs +136 -0
  1020. package/node_modules/zod/v4/locales/en.d.cts +5 -0
  1021. package/node_modules/zod/v4/locales/en.d.ts +4 -0
  1022. package/node_modules/zod/v4/locales/en.js +109 -0
  1023. package/node_modules/zod/v4/locales/eo.cjs +136 -0
  1024. package/node_modules/zod/v4/locales/eo.d.cts +5 -0
  1025. package/node_modules/zod/v4/locales/eo.d.ts +4 -0
  1026. package/node_modules/zod/v4/locales/eo.js +109 -0
  1027. package/node_modules/zod/v4/locales/es.cjs +159 -0
  1028. package/node_modules/zod/v4/locales/es.d.cts +5 -0
  1029. package/node_modules/zod/v4/locales/es.d.ts +4 -0
  1030. package/node_modules/zod/v4/locales/es.js +132 -0
  1031. package/node_modules/zod/v4/locales/fa.cjs +141 -0
  1032. package/node_modules/zod/v4/locales/fa.d.cts +5 -0
  1033. package/node_modules/zod/v4/locales/fa.d.ts +4 -0
  1034. package/node_modules/zod/v4/locales/fa.js +114 -0
  1035. package/node_modules/zod/v4/locales/fi.cjs +139 -0
  1036. package/node_modules/zod/v4/locales/fi.d.cts +5 -0
  1037. package/node_modules/zod/v4/locales/fi.d.ts +4 -0
  1038. package/node_modules/zod/v4/locales/fi.js +112 -0
  1039. package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
  1040. package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  1041. package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  1042. package/node_modules/zod/v4/locales/fr-CA.js +107 -0
  1043. package/node_modules/zod/v4/locales/fr.cjs +135 -0
  1044. package/node_modules/zod/v4/locales/fr.d.cts +5 -0
  1045. package/node_modules/zod/v4/locales/fr.d.ts +4 -0
  1046. package/node_modules/zod/v4/locales/fr.js +108 -0
  1047. package/node_modules/zod/v4/locales/he.cjs +241 -0
  1048. package/node_modules/zod/v4/locales/he.d.cts +5 -0
  1049. package/node_modules/zod/v4/locales/he.d.ts +4 -0
  1050. package/node_modules/zod/v4/locales/he.js +214 -0
  1051. package/node_modules/zod/v4/locales/hu.cjs +135 -0
  1052. package/node_modules/zod/v4/locales/hu.d.cts +5 -0
  1053. package/node_modules/zod/v4/locales/hu.d.ts +4 -0
  1054. package/node_modules/zod/v4/locales/hu.js +108 -0
  1055. package/node_modules/zod/v4/locales/hy.cjs +174 -0
  1056. package/node_modules/zod/v4/locales/hy.d.cts +5 -0
  1057. package/node_modules/zod/v4/locales/hy.d.ts +4 -0
  1058. package/node_modules/zod/v4/locales/hy.js +147 -0
  1059. package/node_modules/zod/v4/locales/id.cjs +133 -0
  1060. package/node_modules/zod/v4/locales/id.d.cts +5 -0
  1061. package/node_modules/zod/v4/locales/id.d.ts +4 -0
  1062. package/node_modules/zod/v4/locales/id.js +106 -0
  1063. package/node_modules/zod/v4/locales/index.cjs +104 -0
  1064. package/node_modules/zod/v4/locales/index.d.cts +49 -0
  1065. package/node_modules/zod/v4/locales/index.d.ts +49 -0
  1066. package/node_modules/zod/v4/locales/index.js +49 -0
  1067. package/node_modules/zod/v4/locales/is.cjs +136 -0
  1068. package/node_modules/zod/v4/locales/is.d.cts +5 -0
  1069. package/node_modules/zod/v4/locales/is.d.ts +4 -0
  1070. package/node_modules/zod/v4/locales/is.js +109 -0
  1071. package/node_modules/zod/v4/locales/it.cjs +135 -0
  1072. package/node_modules/zod/v4/locales/it.d.cts +5 -0
  1073. package/node_modules/zod/v4/locales/it.d.ts +4 -0
  1074. package/node_modules/zod/v4/locales/it.js +108 -0
  1075. package/node_modules/zod/v4/locales/ja.cjs +134 -0
  1076. package/node_modules/zod/v4/locales/ja.d.cts +5 -0
  1077. package/node_modules/zod/v4/locales/ja.d.ts +4 -0
  1078. package/node_modules/zod/v4/locales/ja.js +107 -0
  1079. package/node_modules/zod/v4/locales/ka.cjs +139 -0
  1080. package/node_modules/zod/v4/locales/ka.d.cts +5 -0
  1081. package/node_modules/zod/v4/locales/ka.d.ts +4 -0
  1082. package/node_modules/zod/v4/locales/ka.js +112 -0
  1083. package/node_modules/zod/v4/locales/kh.cjs +12 -0
  1084. package/node_modules/zod/v4/locales/kh.d.cts +5 -0
  1085. package/node_modules/zod/v4/locales/kh.d.ts +5 -0
  1086. package/node_modules/zod/v4/locales/kh.js +5 -0
  1087. package/node_modules/zod/v4/locales/km.cjs +137 -0
  1088. package/node_modules/zod/v4/locales/km.d.cts +5 -0
  1089. package/node_modules/zod/v4/locales/km.d.ts +4 -0
  1090. package/node_modules/zod/v4/locales/km.js +110 -0
  1091. package/node_modules/zod/v4/locales/ko.cjs +138 -0
  1092. package/node_modules/zod/v4/locales/ko.d.cts +5 -0
  1093. package/node_modules/zod/v4/locales/ko.d.ts +4 -0
  1094. package/node_modules/zod/v4/locales/ko.js +111 -0
  1095. package/node_modules/zod/v4/locales/lt.cjs +230 -0
  1096. package/node_modules/zod/v4/locales/lt.d.cts +5 -0
  1097. package/node_modules/zod/v4/locales/lt.d.ts +4 -0
  1098. package/node_modules/zod/v4/locales/lt.js +203 -0
  1099. package/node_modules/zod/v4/locales/mk.cjs +136 -0
  1100. package/node_modules/zod/v4/locales/mk.d.cts +5 -0
  1101. package/node_modules/zod/v4/locales/mk.d.ts +4 -0
  1102. package/node_modules/zod/v4/locales/mk.js +109 -0
  1103. package/node_modules/zod/v4/locales/ms.cjs +134 -0
  1104. package/node_modules/zod/v4/locales/ms.d.cts +5 -0
  1105. package/node_modules/zod/v4/locales/ms.d.ts +4 -0
  1106. package/node_modules/zod/v4/locales/ms.js +107 -0
  1107. package/node_modules/zod/v4/locales/nl.cjs +137 -0
  1108. package/node_modules/zod/v4/locales/nl.d.cts +5 -0
  1109. package/node_modules/zod/v4/locales/nl.d.ts +4 -0
  1110. package/node_modules/zod/v4/locales/nl.js +110 -0
  1111. package/node_modules/zod/v4/locales/no.cjs +135 -0
  1112. package/node_modules/zod/v4/locales/no.d.cts +5 -0
  1113. package/node_modules/zod/v4/locales/no.d.ts +4 -0
  1114. package/node_modules/zod/v4/locales/no.js +108 -0
  1115. package/node_modules/zod/v4/locales/ota.cjs +136 -0
  1116. package/node_modules/zod/v4/locales/ota.d.cts +5 -0
  1117. package/node_modules/zod/v4/locales/ota.d.ts +4 -0
  1118. package/node_modules/zod/v4/locales/ota.js +109 -0
  1119. package/node_modules/zod/v4/locales/package.json +6 -0
  1120. package/node_modules/zod/v4/locales/pl.cjs +136 -0
  1121. package/node_modules/zod/v4/locales/pl.d.cts +5 -0
  1122. package/node_modules/zod/v4/locales/pl.d.ts +4 -0
  1123. package/node_modules/zod/v4/locales/pl.js +109 -0
  1124. package/node_modules/zod/v4/locales/ps.cjs +141 -0
  1125. package/node_modules/zod/v4/locales/ps.d.cts +5 -0
  1126. package/node_modules/zod/v4/locales/ps.d.ts +4 -0
  1127. package/node_modules/zod/v4/locales/ps.js +114 -0
  1128. package/node_modules/zod/v4/locales/pt.cjs +135 -0
  1129. package/node_modules/zod/v4/locales/pt.d.cts +5 -0
  1130. package/node_modules/zod/v4/locales/pt.d.ts +4 -0
  1131. package/node_modules/zod/v4/locales/pt.js +108 -0
  1132. package/node_modules/zod/v4/locales/ru.cjs +183 -0
  1133. package/node_modules/zod/v4/locales/ru.d.cts +5 -0
  1134. package/node_modules/zod/v4/locales/ru.d.ts +4 -0
  1135. package/node_modules/zod/v4/locales/ru.js +156 -0
  1136. package/node_modules/zod/v4/locales/sl.cjs +136 -0
  1137. package/node_modules/zod/v4/locales/sl.d.cts +5 -0
  1138. package/node_modules/zod/v4/locales/sl.d.ts +4 -0
  1139. package/node_modules/zod/v4/locales/sl.js +109 -0
  1140. package/node_modules/zod/v4/locales/sv.cjs +137 -0
  1141. package/node_modules/zod/v4/locales/sv.d.cts +5 -0
  1142. package/node_modules/zod/v4/locales/sv.d.ts +4 -0
  1143. package/node_modules/zod/v4/locales/sv.js +110 -0
  1144. package/node_modules/zod/v4/locales/ta.cjs +137 -0
  1145. package/node_modules/zod/v4/locales/ta.d.cts +5 -0
  1146. package/node_modules/zod/v4/locales/ta.d.ts +4 -0
  1147. package/node_modules/zod/v4/locales/ta.js +110 -0
  1148. package/node_modules/zod/v4/locales/th.cjs +137 -0
  1149. package/node_modules/zod/v4/locales/th.d.cts +5 -0
  1150. package/node_modules/zod/v4/locales/th.d.ts +4 -0
  1151. package/node_modules/zod/v4/locales/th.js +110 -0
  1152. package/node_modules/zod/v4/locales/tr.cjs +132 -0
  1153. package/node_modules/zod/v4/locales/tr.d.cts +5 -0
  1154. package/node_modules/zod/v4/locales/tr.d.ts +4 -0
  1155. package/node_modules/zod/v4/locales/tr.js +105 -0
  1156. package/node_modules/zod/v4/locales/ua.cjs +12 -0
  1157. package/node_modules/zod/v4/locales/ua.d.cts +5 -0
  1158. package/node_modules/zod/v4/locales/ua.d.ts +5 -0
  1159. package/node_modules/zod/v4/locales/ua.js +5 -0
  1160. package/node_modules/zod/v4/locales/uk.cjs +135 -0
  1161. package/node_modules/zod/v4/locales/uk.d.cts +5 -0
  1162. package/node_modules/zod/v4/locales/uk.d.ts +4 -0
  1163. package/node_modules/zod/v4/locales/uk.js +108 -0
  1164. package/node_modules/zod/v4/locales/ur.cjs +137 -0
  1165. package/node_modules/zod/v4/locales/ur.d.cts +5 -0
  1166. package/node_modules/zod/v4/locales/ur.d.ts +4 -0
  1167. package/node_modules/zod/v4/locales/ur.js +110 -0
  1168. package/node_modules/zod/v4/locales/uz.cjs +136 -0
  1169. package/node_modules/zod/v4/locales/uz.d.cts +5 -0
  1170. package/node_modules/zod/v4/locales/uz.d.ts +4 -0
  1171. package/node_modules/zod/v4/locales/uz.js +109 -0
  1172. package/node_modules/zod/v4/locales/vi.cjs +135 -0
  1173. package/node_modules/zod/v4/locales/vi.d.cts +5 -0
  1174. package/node_modules/zod/v4/locales/vi.d.ts +4 -0
  1175. package/node_modules/zod/v4/locales/vi.js +108 -0
  1176. package/node_modules/zod/v4/locales/yo.cjs +134 -0
  1177. package/node_modules/zod/v4/locales/yo.d.cts +5 -0
  1178. package/node_modules/zod/v4/locales/yo.d.ts +4 -0
  1179. package/node_modules/zod/v4/locales/yo.js +107 -0
  1180. package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
  1181. package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  1182. package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  1183. package/node_modules/zod/v4/locales/zh-CN.js +109 -0
  1184. package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
  1185. package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  1186. package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  1187. package/node_modules/zod/v4/locales/zh-TW.js +107 -0
  1188. package/node_modules/zod/v4/mini/checks.cjs +34 -0
  1189. package/node_modules/zod/v4/mini/checks.d.cts +1 -0
  1190. package/node_modules/zod/v4/mini/checks.d.ts +1 -0
  1191. package/node_modules/zod/v4/mini/checks.js +1 -0
  1192. package/node_modules/zod/v4/mini/coerce.cjs +52 -0
  1193. package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  1194. package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  1195. package/node_modules/zod/v4/mini/coerce.js +22 -0
  1196. package/node_modules/zod/v4/mini/external.cjs +63 -0
  1197. package/node_modules/zod/v4/mini/external.d.cts +12 -0
  1198. package/node_modules/zod/v4/mini/external.d.ts +12 -0
  1199. package/node_modules/zod/v4/mini/external.js +14 -0
  1200. package/node_modules/zod/v4/mini/index.cjs +32 -0
  1201. package/node_modules/zod/v4/mini/index.d.cts +3 -0
  1202. package/node_modules/zod/v4/mini/index.d.ts +3 -0
  1203. package/node_modules/zod/v4/mini/index.js +3 -0
  1204. package/node_modules/zod/v4/mini/iso.cjs +64 -0
  1205. package/node_modules/zod/v4/mini/iso.d.cts +22 -0
  1206. package/node_modules/zod/v4/mini/iso.d.ts +22 -0
  1207. package/node_modules/zod/v4/mini/iso.js +34 -0
  1208. package/node_modules/zod/v4/mini/package.json +6 -0
  1209. package/node_modules/zod/v4/mini/parse.cjs +16 -0
  1210. package/node_modules/zod/v4/mini/parse.d.cts +1 -0
  1211. package/node_modules/zod/v4/mini/parse.d.ts +1 -0
  1212. package/node_modules/zod/v4/mini/parse.js +1 -0
  1213. package/node_modules/zod/v4/mini/schemas.cjs +1046 -0
  1214. package/node_modules/zod/v4/mini/schemas.d.cts +427 -0
  1215. package/node_modules/zod/v4/mini/schemas.d.ts +427 -0
  1216. package/node_modules/zod/v4/mini/schemas.js +925 -0
  1217. package/node_modules/zod/v4/package.json +6 -0
  1218. package/node_modules/zod/v4-mini/index.cjs +32 -0
  1219. package/node_modules/zod/v4-mini/index.d.cts +3 -0
  1220. package/node_modules/zod/v4-mini/index.d.ts +3 -0
  1221. package/node_modules/zod/v4-mini/index.js +3 -0
  1222. package/node_modules/zod/v4-mini/package.json +6 -0
  1223. package/package.json +4 -1
@@ -0,0 +1,229 @@
1
+ /**
2
+ * analytics.ts — canonical types for the analytics domain.
3
+ *
4
+ * Lives in shared-types so core (writer), gateway (publisher),
5
+ * fs-usage-consumer (queue worker), and any future BI/dashboard surface
6
+ * all agree on one wire shape. The previous home was
7
+ * `core/src/services/gateway-usage-ingestion.ts`, which made cross-repo
8
+ * consumers re-derive the type and risk drift (gateway already had a
9
+ * divergent `QueueUsageEvent` for the queue payload).
10
+ *
11
+ * Three concept groups:
12
+ *
13
+ * 1. `GatewayUsageEvent` — the canonical wire shape that flows from
14
+ * gateway → queue → fs-usage-consumer → core ingestion route.
15
+ * Mirrors the Prisma `UsageEvent` row field-for-field where it
16
+ * matters (the `rawDimsJson` column is `rawDimsUnits` here, the
17
+ * `idempotencyKey` is `requestId`, etc.). The 0.21.0 superset
18
+ * reconciles the gateway's richer publisher-side shape (orgId /
19
+ * actorType / subjectKey / overageBehavior / environment) into
20
+ * shared-types as OPTIONAL fields so existing producers and
21
+ * consumers stay backward-compatible while we migrate everyone
22
+ * onto the canonical contract.
23
+ *
24
+ * 2. `AnalyticsSink` — provider-agnostic interface for fan-out to an
25
+ * analytics warehouse (ClickHouse / Tinybird / DuckDB / Timescale).
26
+ * Implementations live in core; the interface lives here so future
27
+ * cross-repo consumers (admin reports, dashboards, replay scripts)
28
+ * can typecheck against one contract. Designed for best-effort
29
+ * fire-and-forget — Postgres remains the source of truth for
30
+ * billing.
31
+ *
32
+ * 3. `UsageRollup` — forward-compatible aggregation row shape. Not
33
+ * consumed by the sink itself; published now so dashboard endpoints
34
+ * added later can typecheck against the rolled-up wire format
35
+ * without churning shared-types again.
36
+ *
37
+ * Runtime gate: `gatewayUsageEventSchema` mirrors `GatewayUsageEvent`
38
+ * with `.passthrough()` so consumers (fs-usage-consumer, core ingestion)
39
+ * can validate inbound queue payloads at the boundary without rejecting
40
+ * forward-compatible unknown fields.
41
+ */
42
+ import { z } from "zod";
43
+ import type { OverageBehavior } from "./enums.js";
44
+ /**
45
+ * Canonical wire shape for usage events flowing through the pipeline.
46
+ *
47
+ * Field semantics:
48
+ * - `requestId` doubles as the idempotency key — `core/src/services/
49
+ * gateway-usage-ingestion.ts` uses `prisma.usageEvent.createMany`
50
+ * with `skipDuplicates` against the unique `idempotencyKey` index,
51
+ * so re-deliveries from the Cloudflare Queue are no-ops.
52
+ * - `timestamp` is a Unix epoch in **milliseconds** (matches what
53
+ * `Date.now()` produces; the ingestion route converts it to a
54
+ * `Date` for `occurredAt`).
55
+ * - `rawDimsUnits` is the per-metric value map (e.g.
56
+ * `{ requests: 1, tokens: 42 }`). Persisted to Postgres as
57
+ * `rawDimsJson` JSON.
58
+ * - `apiKeyId` is nullable — internal traffic + reservation flows
59
+ * don't always carry a credential.
60
+ * - `environmentId` is nullable for production-scope events.
61
+ * - `subscriberStatus` is a closed literal union — gateway only
62
+ * publishes events for subscriptions in one of three lifecycle
63
+ * states. (Pre-0.21.0 this was an open string for forward-compat
64
+ * with unknown future statuses; we now require the closed set so
65
+ * consumers can switch-exhaustively.)
66
+ *
67
+ * 0.21.0 superset (additive, all optional):
68
+ * - `orgId` — tenant's owning Org (gateway publishes; core ingestion
69
+ * denormalizes for analytics partitioning).
70
+ * - `actorType` / `actorId` — who initiated the request (an org-level
71
+ * service token vs. a specific end-user).
72
+ * - `subjectKey` — gateway-side composed cache/dedupe key.
73
+ * - `overageBehavior` — snapshot of the plan's overage policy at the
74
+ * moment of measurement; lets consumers reconstruct the gating
75
+ * decision without re-reading the compiled plan.
76
+ * - `environment` — `'production' | 'sandbox'`. Distinct from
77
+ * `environmentId` (the env-branch UUID); this is the lifecycle
78
+ * channel.
79
+ */
80
+ export type GatewayUsageEvent = {
81
+ requestId: string;
82
+ tenantId: string;
83
+ slug: string;
84
+ subscriptionId: string;
85
+ subscriberId: string;
86
+ apiKeyId: string | null;
87
+ compiledPlanId: string;
88
+ subscriberStatus: "ONBOARDING" | "ACTIVE" | "SUSPENDED";
89
+ subscriptionStatus: string;
90
+ productId: string;
91
+ statusCode: number;
92
+ path: string;
93
+ latencyMs: number;
94
+ rawDimsUnits: Record<string, number>;
95
+ reportingAttested: boolean;
96
+ measureContext?: Record<string, unknown>;
97
+ creditUnitsConsumed?: Record<string, number>;
98
+ timestamp: number;
99
+ environmentId?: string | null;
100
+ /** Owning org of the tenant. Gateway populates; analytics partitions on it. */
101
+ orgId?: string;
102
+ /** Whether the request was driven by an org-level token or an end-user. */
103
+ actorType?: "org" | "user";
104
+ /** Stable id of the actor (null when actorType is org-level / anonymous). */
105
+ actorId?: string | null;
106
+ /** Gateway-composed cache/dedupe key. Opaque to downstream consumers. */
107
+ subjectKey?: string;
108
+ /** Snapshot of the overage policy at measurement time. */
109
+ overageBehavior?: OverageBehavior;
110
+ /** Lifecycle channel — distinct from `environmentId` (the env-branch UUID). */
111
+ environment?: "production" | "sandbox";
112
+ /**
113
+ * Self-describing metadata stamped onto every event for forensics. The
114
+ * one field today is `gatewayVersion` — the build identifier of the
115
+ * `fs-gateway` worker that produced this event. Required when triaging
116
+ * a poison-message DLQ entry: "every malformed event came from
117
+ * gateway v1.42.0 → look at that release". Future fields (e.g.
118
+ * `regionId`, `colo`) can be added without a breaking change.
119
+ */
120
+ _meta?: {
121
+ gatewayVersion?: string;
122
+ };
123
+ };
124
+ /**
125
+ * Runtime zod schema mirroring {@link GatewayUsageEvent}. Use this at
126
+ * trust boundaries (queue consumer, ingestion HTTP route) to validate
127
+ * inbound payloads — the type alone gives no runtime guarantees.
128
+ *
129
+ * Uses `.passthrough()` (not `.strict()` / `.strip()`) so unknown fields
130
+ * survive the round-trip. This protects us against the staged-deploy
131
+ * window where gateway publishes a new optional field before the
132
+ * consumer side picks up the new shared-types release.
133
+ */
134
+ export declare const gatewayUsageEventSchema: z.ZodObject<{
135
+ requestId: z.ZodString;
136
+ tenantId: z.ZodString;
137
+ slug: z.ZodString;
138
+ subscriptionId: z.ZodString;
139
+ subscriberId: z.ZodString;
140
+ apiKeyId: z.ZodNullable<z.ZodString>;
141
+ compiledPlanId: z.ZodString;
142
+ subscriberStatus: z.ZodEnum<{
143
+ ACTIVE: "ACTIVE";
144
+ ONBOARDING: "ONBOARDING";
145
+ SUSPENDED: "SUSPENDED";
146
+ }>;
147
+ subscriptionStatus: z.ZodString;
148
+ productId: z.ZodString;
149
+ statusCode: z.ZodNumber;
150
+ path: z.ZodString;
151
+ latencyMs: z.ZodNumber;
152
+ rawDimsUnits: z.ZodRecord<z.ZodString, z.ZodNumber>;
153
+ reportingAttested: z.ZodBoolean;
154
+ measureContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
155
+ creditUnitsConsumed: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
156
+ timestamp: z.ZodNumber;
157
+ environmentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
158
+ orgId: z.ZodOptional<z.ZodString>;
159
+ actorType: z.ZodOptional<z.ZodEnum<{
160
+ org: "org";
161
+ user: "user";
162
+ }>>;
163
+ actorId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
164
+ subjectKey: z.ZodOptional<z.ZodString>;
165
+ overageBehavior: z.ZodOptional<z.ZodEnum<{
166
+ BLOCK: "BLOCK";
167
+ ALLOW_AND_BILL: "ALLOW_AND_BILL";
168
+ }>>;
169
+ environment: z.ZodOptional<z.ZodEnum<{
170
+ production: "production";
171
+ sandbox: "sandbox";
172
+ }>>;
173
+ _meta: z.ZodOptional<z.ZodObject<{
174
+ gatewayVersion: z.ZodOptional<z.ZodString>;
175
+ }, z.core.$loose>>;
176
+ }, z.core.$loose>;
177
+ /**
178
+ * Provider-agnostic analytics sink. Implementations fan out usage events
179
+ * to an analytics warehouse (currently ClickHouse-shaped, but the
180
+ * interface is intentionally provider-free so swapping to Tinybird /
181
+ * DuckDB / Timescale is a one-class change in core).
182
+ *
183
+ * Contract:
184
+ * - `publishUsageEvents` is best-effort. Implementations log + swallow
185
+ * transport errors; never throw to the caller (the ingestion route
186
+ * must commit to Postgres regardless).
187
+ * - `ping` is for `/healthz/analytics` only — must not have side
188
+ * effects.
189
+ * - `provider` is a stable string used in logs and health output.
190
+ * Reserved values: `"null"` (the no-op default), `"clickhouse"`,
191
+ * `"tinybird"`. Implementations of new providers MUST pick a
192
+ * unique stable value.
193
+ */
194
+ export interface AnalyticsSink {
195
+ /** Best-effort batch publish. Failures are logged, never thrown. */
196
+ publishUsageEvents(events: GatewayUsageEvent[]): Promise<void>;
197
+ /** Health probe for /healthz/analytics. Must be side-effect free. */
198
+ ping(): Promise<AnalyticsSinkPing>;
199
+ /** Stable provider identifier for logs + health output. */
200
+ readonly provider: string;
201
+ }
202
+ export type AnalyticsSinkPing = {
203
+ ok: boolean;
204
+ provider: string;
205
+ /** Wall-clock duration of the ping round-trip, when measurable. */
206
+ latencyMs?: number;
207
+ /** Short error string when `ok === false`. Never the raw stack. */
208
+ error?: string;
209
+ };
210
+ /**
211
+ * Hourly per-(subscription, dimension) aggregation row.
212
+ *
213
+ * Forward-compatible: the sink itself does not produce this shape —
214
+ * it's the wire format dashboard endpoints will return when the read
215
+ * path comes online. Published now so admin / dev-portal callers can
216
+ * typecheck against one contract without churning shared-types when
217
+ * the dashboards land.
218
+ *
219
+ * `hour` is an ISO-8601 timestamp truncated to the hour boundary.
220
+ * `dimensionKey` matches a key from `GatewayUsageEvent.rawDimsUnits`.
221
+ */
222
+ export type UsageRollup = {
223
+ subscriptionId: string;
224
+ hour: string;
225
+ dimensionKey: string;
226
+ dimensionSum: number;
227
+ eventCount: number;
228
+ };
229
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAC;IACxD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,+EAA+E;IAC/E,WAAW,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAEvC;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE;QACN,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+CpB,CAAC;AAEjB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,qEAAqE;IACrE,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * analytics.ts — canonical types for the analytics domain.
3
+ *
4
+ * Lives in shared-types so core (writer), gateway (publisher),
5
+ * fs-usage-consumer (queue worker), and any future BI/dashboard surface
6
+ * all agree on one wire shape. The previous home was
7
+ * `core/src/services/gateway-usage-ingestion.ts`, which made cross-repo
8
+ * consumers re-derive the type and risk drift (gateway already had a
9
+ * divergent `QueueUsageEvent` for the queue payload).
10
+ *
11
+ * Three concept groups:
12
+ *
13
+ * 1. `GatewayUsageEvent` — the canonical wire shape that flows from
14
+ * gateway → queue → fs-usage-consumer → core ingestion route.
15
+ * Mirrors the Prisma `UsageEvent` row field-for-field where it
16
+ * matters (the `rawDimsJson` column is `rawDimsUnits` here, the
17
+ * `idempotencyKey` is `requestId`, etc.). The 0.21.0 superset
18
+ * reconciles the gateway's richer publisher-side shape (orgId /
19
+ * actorType / subjectKey / overageBehavior / environment) into
20
+ * shared-types as OPTIONAL fields so existing producers and
21
+ * consumers stay backward-compatible while we migrate everyone
22
+ * onto the canonical contract.
23
+ *
24
+ * 2. `AnalyticsSink` — provider-agnostic interface for fan-out to an
25
+ * analytics warehouse (ClickHouse / Tinybird / DuckDB / Timescale).
26
+ * Implementations live in core; the interface lives here so future
27
+ * cross-repo consumers (admin reports, dashboards, replay scripts)
28
+ * can typecheck against one contract. Designed for best-effort
29
+ * fire-and-forget — Postgres remains the source of truth for
30
+ * billing.
31
+ *
32
+ * 3. `UsageRollup` — forward-compatible aggregation row shape. Not
33
+ * consumed by the sink itself; published now so dashboard endpoints
34
+ * added later can typecheck against the rolled-up wire format
35
+ * without churning shared-types again.
36
+ *
37
+ * Runtime gate: `gatewayUsageEventSchema` mirrors `GatewayUsageEvent`
38
+ * with `.passthrough()` so consumers (fs-usage-consumer, core ingestion)
39
+ * can validate inbound queue payloads at the boundary without rejecting
40
+ * forward-compatible unknown fields.
41
+ */
42
+ import { z } from "zod";
43
+ /**
44
+ * Runtime zod schema mirroring {@link GatewayUsageEvent}. Use this at
45
+ * trust boundaries (queue consumer, ingestion HTTP route) to validate
46
+ * inbound payloads — the type alone gives no runtime guarantees.
47
+ *
48
+ * Uses `.passthrough()` (not `.strict()` / `.strip()`) so unknown fields
49
+ * survive the round-trip. This protects us against the staged-deploy
50
+ * window where gateway publishes a new optional field before the
51
+ * consumer side picks up the new shared-types release.
52
+ */
53
+ export const gatewayUsageEventSchema = z
54
+ .object({
55
+ requestId: z.string(),
56
+ tenantId: z.string(),
57
+ slug: z.string(),
58
+ subscriptionId: z.string(),
59
+ subscriberId: z.string(),
60
+ apiKeyId: z.string().nullable(),
61
+ compiledPlanId: z.string(),
62
+ subscriberStatus: z.enum(["ONBOARDING", "ACTIVE", "SUSPENDED"]),
63
+ subscriptionStatus: z.string(),
64
+ productId: z.string(),
65
+ statusCode: z.number(),
66
+ path: z.string(),
67
+ latencyMs: z.number(),
68
+ rawDimsUnits: z.record(z.string(), z.number()),
69
+ reportingAttested: z.boolean(),
70
+ measureContext: z.record(z.string(), z.unknown()).optional(),
71
+ creditUnitsConsumed: z.record(z.string(), z.number()).optional(),
72
+ timestamp: z.number(),
73
+ environmentId: z.string().nullable().optional(),
74
+ // --- 0.21.0 superset (all optional) ---
75
+ orgId: z.string().optional(),
76
+ actorType: z.enum(["org", "user"]).optional(),
77
+ actorId: z.string().nullable().optional(),
78
+ subjectKey: z.string().optional(),
79
+ overageBehavior: z.enum(["BLOCK", "ALLOW_AND_BILL"]).optional(),
80
+ environment: z.enum(["production", "sandbox"]).optional(),
81
+ // --- 0.24.0 event-pipeline-hardening (Risk 5) ---
82
+ // Self-describing metadata for forensics. Optional + permissive so a
83
+ // gateway version that ships before this field is recognized
84
+ // produces no validation failure (the schema is `.passthrough()` so
85
+ // unknown fields are preserved either way; declaring it explicitly
86
+ // here lets downstream code consume it via the typed shape).
87
+ // Swarm-1D P1 audit fix: `.passthrough()` on the inner _meta object.
88
+ // Without it, zod's default `.strip()` silently drops unknown fields
89
+ // when they reach a v0.24-pinned consumer. A future gateway shipping
90
+ // _meta.regionId would have it disappear from `parsed._meta` even
91
+ // though the outer schema's passthrough preserves it on the raw
92
+ // body. Mirror the outer-schema's permissive contract here.
93
+ _meta: z
94
+ .object({
95
+ gatewayVersion: z.string().optional(),
96
+ })
97
+ .passthrough()
98
+ .optional(),
99
+ })
100
+ .passthrough();
101
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsFxB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC/D,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9C,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC9B,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5D,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,yCAAyC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/D,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzD,mDAAmD;IACnD,qEAAqE;IACrE,6DAA6D;IAC7D,oEAAoE;IACpE,mEAAmE;IACnE,6DAA6D;IAC7D,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,kEAAkE;IAClE,gEAAgE;IAChE,4DAA4D;IAC5D,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC;SACD,WAAW,EAAE;SACb,QAAQ,EAAE;CACd,CAAC;KACD,WAAW,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ /** Standard error response from the core API */
2
+ export type ApiErrorResponse = {
3
+ error: string;
4
+ code?: string;
5
+ details?: unknown;
6
+ };
7
+ /** Paginated list response */
8
+ export type PaginatedResponse<T> = {
9
+ data: T[];
10
+ total: number;
11
+ page: number;
12
+ limit: number;
13
+ };
14
+ /** Usage summary keyed by meter dimension */
15
+ export type UsageSummary = Record<string, number>;
16
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAIA,gDAAgD;AAChD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,8BAA8B;AAC9B,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,6CAA6C;AAC7C,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ // ---------------------------------------------------------------------------
2
+ // API response envelope types — canonical shapes for all API responses
3
+ // ---------------------------------------------------------------------------
4
+ export {};
5
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * The 9 resources the builder authorization layer knows about.
3
+ * Each resource has a per-verb namespace below. Adding a new resource
4
+ * means: add a `<resource>` constant here AND a `<RESOURCE>_VERBS` array
5
+ * below AND wire it into core's `defaultRolePolicies()`.
6
+ */
7
+ export declare const RESOURCES: {
8
+ readonly ORG: "org";
9
+ readonly TEAM: "team";
10
+ readonly PRODUCT: "product";
11
+ readonly PLAN: "plan";
12
+ readonly APIKEY: "apikey";
13
+ readonly MAKERTOKEN: "makertoken";
14
+ readonly BILLING: "billing";
15
+ readonly WEBHOOK: "webhook";
16
+ readonly AUDIT_LOG: "audit_log";
17
+ };
18
+ export type Resource = (typeof RESOURCES)[keyof typeof RESOURCES];
19
+ /**
20
+ * Org-level verbs. `manage_billing` and `delete` are owner-only by default.
21
+ *
22
+ * The act of creating a brand-new org is technically a user-level action
23
+ * — the caller doesn't yet have a Membership row in the new org — so
24
+ * core enforces `org.create` on the caller's CURRENT active org (where
25
+ * they DO have a role). admin+owner are allowed to create new orgs,
26
+ * members are not.
27
+ */
28
+ export declare const ORG_VERBS: readonly ["read", "create", "update", "delete", "manage_settings", "manage_billing"];
29
+ export type OrgVerb = (typeof ORG_VERBS)[number];
30
+ /** Team / membership verbs. */
31
+ export declare const TEAM_VERBS: readonly ["read", "invite", "remove_member", "change_role"];
32
+ export type TeamVerb = (typeof TEAM_VERBS)[number];
33
+ /** Product CRUD + lifecycle. `publish` and `delete` are owner-only by default. */
34
+ export declare const PRODUCT_VERBS: readonly ["read", "create", "update", "delete", "publish", "archive"];
35
+ export type ProductVerb = (typeof PRODUCT_VERBS)[number];
36
+ /** Plan CRUD + version promote. */
37
+ export declare const PLAN_VERBS: readonly ["read", "create", "update", "delete", "promote_version"];
38
+ export type PlanVerb = (typeof PLAN_VERBS)[number];
39
+ /** Subscriber-facing API key management at the builder layer. */
40
+ export declare const APIKEY_VERBS: readonly ["read", "create", "rotate", "revoke"];
41
+ export type ApiKeyVerb = (typeof APIKEY_VERBS)[number];
42
+ /** MakerToken (builder CI/CD machine identity) management. */
43
+ export declare const MAKERTOKEN_VERBS: readonly ["read", "create", "rotate", "revoke"];
44
+ export type MakerTokenVerb = (typeof MAKERTOKEN_VERBS)[number];
45
+ /** Billing surface: builder's own subscription + per-product billing config. */
46
+ export declare const BILLING_VERBS: readonly ["read", "manage_subscription", "refund", "change_payment_method"];
47
+ export type BillingVerb = (typeof BILLING_VERBS)[number];
48
+ /** Outbound webhook configuration (the URLs FartherShore POSTs events to). */
49
+ export declare const WEBHOOK_VERBS: readonly ["read", "configure", "rotate_secret"];
50
+ export type WebhookVerb = (typeof WEBHOOK_VERBS)[number];
51
+ /** Audit log read + export (separate verb so SOC 2 access reviews can scope it). */
52
+ export declare const AUDIT_LOG_VERBS: readonly ["read", "export"];
53
+ export type AuditLogVerb = (typeof AUDIT_LOG_VERBS)[number];
54
+ /**
55
+ * Resource → verb-array map. Useful for tests and tooling (matrix
56
+ * generators, scope validators, role-policy builders).
57
+ */
58
+ export declare const VERBS_BY_RESOURCE: Record<Resource, readonly string[]>;
59
+ /** Total verb count across all resources — sanity check for tests. */
60
+ export declare const TOTAL_VERB_COUNT: number;
61
+ export declare const MAKER_TOKEN_SCOPES: readonly ["products:create", "products:update", "products:publish", "products:read", "customers:read", "customers:write", "billing:checkout", "billing:manage", "entitlements:read", "entitlements:check"];
62
+ export type MakerTokenScope = (typeof MAKER_TOKEN_SCOPES)[number];
63
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/auth/permissions.ts"],"names":[],"mappings":"AAyBA;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;CAUZ,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAUlE;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,sFAOZ,CAAC;AACX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,+BAA+B;AAC/B,eAAO,MAAM,UAAU,6DAKb,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,kFAAkF;AAClF,eAAO,MAAM,aAAa,uEAOhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,mCAAmC;AACnC,eAAO,MAAM,UAAU,oEAMb,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,iEAAiE;AACjE,eAAO,MAAM,YAAY,iDAAkD,CAAC;AAC5E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,iDAAkD,CAAC;AAChF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,gFAAgF;AAChF,eAAO,MAAM,aAAa,6EAKhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,8EAA8E;AAC9E,eAAO,MAAM,aAAa,iDAAkD,CAAC;AAC7E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,oFAAoF;AACpF,eAAO,MAAM,eAAe,6BAA8B,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAUjE,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,QAG5B,CAAC;AAYF,eAAO,MAAM,kBAAkB,4MAWrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,143 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Canonical scope grammar + verb namespace.
3
+ //
4
+ // This module is the cross-repo source of truth for the resource/verb
5
+ // grammar that powers RBAC across FartherShore. core re-exports these
6
+ // symbols from `core/src/services/authorization/permissions.ts` and
7
+ // `core/src/services/workspaces.ts` for backward compat.
8
+ //
9
+ // Future: SDK + fs-admin should validate scope strings (e.g. on
10
+ // maker-token issuance and Casbin policy authoring) against the constants
11
+ // exported here, instead of accepting free-form strings. That keeps the
12
+ // scope vocabulary closed and lets us extend the grammar without
13
+ // silently accepting typos.
14
+ //
15
+ // Notes:
16
+ // - Only the namespace constants live here. Role bundles
17
+ // (`defaultRolePolicies`), `ALL_READ_VERBS`, and `ADMIN_DENY_LIST`
18
+ // are core-only enforcement logic and stay in core.
19
+ // - Casbin enforcement still uses regexMatch on the action field, so
20
+ // any string matching `<resource>.<verb>` is technically a legal
21
+ // action. The namespace below is the canonical set; routes calling
22
+ // enforcement helpers should always pass a tuple drawn from these
23
+ // constants, not a free-form string.
24
+ // ---------------------------------------------------------------------------
25
+ /**
26
+ * The 9 resources the builder authorization layer knows about.
27
+ * Each resource has a per-verb namespace below. Adding a new resource
28
+ * means: add a `<resource>` constant here AND a `<RESOURCE>_VERBS` array
29
+ * below AND wire it into core's `defaultRolePolicies()`.
30
+ */
31
+ export const RESOURCES = {
32
+ ORG: "org",
33
+ TEAM: "team",
34
+ PRODUCT: "product",
35
+ PLAN: "plan",
36
+ APIKEY: "apikey",
37
+ MAKERTOKEN: "makertoken",
38
+ BILLING: "billing",
39
+ WEBHOOK: "webhook",
40
+ AUDIT_LOG: "audit_log",
41
+ };
42
+ // ---------------------------------------------------------------------------
43
+ // Per-resource verb namespaces.
44
+ //
45
+ // Each `<RESOURCE>_VERBS` is the closed set of actions the platform knows
46
+ // how to enforce for that resource. The `<Resource>Verb` types extract
47
+ // the union so callers get autocomplete + compile-time errors on typos.
48
+ // ---------------------------------------------------------------------------
49
+ /**
50
+ * Org-level verbs. `manage_billing` and `delete` are owner-only by default.
51
+ *
52
+ * The act of creating a brand-new org is technically a user-level action
53
+ * — the caller doesn't yet have a Membership row in the new org — so
54
+ * core enforces `org.create` on the caller's CURRENT active org (where
55
+ * they DO have a role). admin+owner are allowed to create new orgs,
56
+ * members are not.
57
+ */
58
+ export const ORG_VERBS = [
59
+ "read",
60
+ "create",
61
+ "update",
62
+ "delete",
63
+ "manage_settings",
64
+ "manage_billing",
65
+ ];
66
+ /** Team / membership verbs. */
67
+ export const TEAM_VERBS = [
68
+ "read",
69
+ "invite",
70
+ "remove_member",
71
+ "change_role",
72
+ ];
73
+ /** Product CRUD + lifecycle. `publish` and `delete` are owner-only by default. */
74
+ export const PRODUCT_VERBS = [
75
+ "read",
76
+ "create",
77
+ "update",
78
+ "delete",
79
+ "publish",
80
+ "archive",
81
+ ];
82
+ /** Plan CRUD + version promote. */
83
+ export const PLAN_VERBS = [
84
+ "read",
85
+ "create",
86
+ "update",
87
+ "delete",
88
+ "promote_version",
89
+ ];
90
+ /** Subscriber-facing API key management at the builder layer. */
91
+ export const APIKEY_VERBS = ["read", "create", "rotate", "revoke"];
92
+ /** MakerToken (builder CI/CD machine identity) management. */
93
+ export const MAKERTOKEN_VERBS = ["read", "create", "rotate", "revoke"];
94
+ /** Billing surface: builder's own subscription + per-product billing config. */
95
+ export const BILLING_VERBS = [
96
+ "read",
97
+ "manage_subscription",
98
+ "refund",
99
+ "change_payment_method",
100
+ ];
101
+ /** Outbound webhook configuration (the URLs FartherShore POSTs events to). */
102
+ export const WEBHOOK_VERBS = ["read", "configure", "rotate_secret"];
103
+ /** Audit log read + export (separate verb so SOC 2 access reviews can scope it). */
104
+ export const AUDIT_LOG_VERBS = ["read", "export"];
105
+ /**
106
+ * Resource → verb-array map. Useful for tests and tooling (matrix
107
+ * generators, scope validators, role-policy builders).
108
+ */
109
+ export const VERBS_BY_RESOURCE = {
110
+ [RESOURCES.ORG]: ORG_VERBS,
111
+ [RESOURCES.TEAM]: TEAM_VERBS,
112
+ [RESOURCES.PRODUCT]: PRODUCT_VERBS,
113
+ [RESOURCES.PLAN]: PLAN_VERBS,
114
+ [RESOURCES.APIKEY]: APIKEY_VERBS,
115
+ [RESOURCES.MAKERTOKEN]: MAKERTOKEN_VERBS,
116
+ [RESOURCES.BILLING]: BILLING_VERBS,
117
+ [RESOURCES.WEBHOOK]: WEBHOOK_VERBS,
118
+ [RESOURCES.AUDIT_LOG]: AUDIT_LOG_VERBS,
119
+ };
120
+ /** Total verb count across all resources — sanity check for tests. */
121
+ export const TOTAL_VERB_COUNT = Object.values(VERBS_BY_RESOURCE).reduce((sum, verbs) => sum + verbs.length, 0);
122
+ // ---------------------------------------------------------------------------
123
+ // MakerToken scope grammar.
124
+ //
125
+ // MakerTokens are CI/CD machine identities. Their scopes are the
126
+ // coarse-grained `domain:action` strings issuers can pin onto a token
127
+ // at creation time. Tier mapping (READONLY / WRITE / ADMIN) is enforced
128
+ // in core; the closed set itself lives here so SDK + fs-admin can
129
+ // validate scope strings without reaching into core.
130
+ // ---------------------------------------------------------------------------
131
+ export const MAKER_TOKEN_SCOPES = [
132
+ "products:create",
133
+ "products:update",
134
+ "products:publish",
135
+ "products:read",
136
+ "customers:read",
137
+ "customers:write",
138
+ "billing:checkout",
139
+ "billing:manage",
140
+ "entitlements:read",
141
+ "entitlements:check",
142
+ ];
143
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/auth/permissions.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,EAAE;AACF,sEAAsE;AACtE,sEAAsE;AACtE,oEAAoE;AACpE,yDAAyD;AACzD,EAAE;AACF,gEAAgE;AAChE,0EAA0E;AAC1E,wEAAwE;AACxE,iEAAiE;AACjE,4BAA4B;AAC5B,EAAE;AACF,SAAS;AACT,2DAA2D;AAC3D,uEAAuE;AACvE,wDAAwD;AACxD,uEAAuE;AACvE,qEAAqE;AACrE,uEAAuE;AACvE,sEAAsE;AACtE,yCAAyC;AACzC,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;CACd,CAAC;AAIX,8EAA8E;AAC9E,gCAAgC;AAChC,EAAE;AACF,0EAA0E;AAC1E,uEAAuE;AACvE,wEAAwE;AACxE,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,iBAAiB;IACjB,gBAAgB;CACR,CAAC;AAGX,+BAA+B;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM;IACN,QAAQ;IACR,eAAe;IACf,aAAa;CACL,CAAC;AAGX,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;CACD,CAAC;AAGX,mCAAmC;AACnC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,iBAAiB;CACT,CAAC;AAGX,iEAAiE;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAG5E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAGhF,gFAAgF;AAChF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM;IACN,qBAAqB;IACrB,QAAQ;IACR,uBAAuB;CACf,CAAC;AAGX,8EAA8E;AAC9E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,CAAU,CAAC;AAG7E,oFAAoF;AACpF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAU,CAAC;AAG3D;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwC;IACpE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,SAAS;IAC1B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU;IAC5B,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa;IAClC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU;IAC5B,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY;IAChC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,gBAAgB;IACxC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa;IAClC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa;IAClC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,eAAe;CACvC,CAAC;AAEF,sEAAsE;AACtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CACrE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAClC,CAAC,CACF,CAAC;AAEF,8EAA8E;AAC9E,4BAA4B;AAC5B,EAAE;AACF,iEAAiE;AACjE,sEAAsE;AACtE,wEAAwE;AACxE,kEAAkE;AAClE,qDAAqD;AACrD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,oBAAoB;CACZ,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { PlanType, ProductStatus, SubscriberStatus } from "./enums.js";
2
+ export type ProductBase = {
3
+ id: string;
4
+ name: string;
5
+ status: ProductStatus;
6
+ };
7
+ export type PlanBase = {
8
+ id: string;
9
+ name: string;
10
+ type: PlanType;
11
+ monthlyPriceCents: number;
12
+ };
13
+ export type SubscriberBase = {
14
+ id: string;
15
+ productId: string;
16
+ status: SubscriberStatus;
17
+ };
18
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE5E,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC"}
@@ -0,0 +1,6 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Base interfaces — minimal fields present in ALL repo projections.
3
+ // Each repo extends these locally with its own API-specific fields.
4
+ // ---------------------------------------------------------------------------
5
+ export {};
6
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,oEAAoE;AACpE,oEAAoE;AACpE,8EAA8E"}