@aotter/mantle 0.2.0-alpha.5 → 0.2.0-alpha.7

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 (932) hide show
  1. package/README.md +152 -45
  2. package/dist/auth/adapter.d.ts +32 -0
  3. package/dist/auth/adapter.js +285 -0
  4. package/dist/auth/admin.d.ts +3 -0
  5. package/dist/auth/admin.js +21 -0
  6. package/dist/auth/caller.d.ts +86 -0
  7. package/dist/auth/caller.js +154 -0
  8. package/dist/auth/hardening.d.ts +24 -0
  9. package/dist/auth/hardening.js +40 -0
  10. package/dist/auth/identity.d.ts +121 -0
  11. package/dist/auth/identity.js +203 -0
  12. package/dist/auth/oauth.d.ts +31 -0
  13. package/dist/auth/oauth.js +124 -0
  14. package/dist/auth/resource-seeds.js +10 -0
  15. package/dist/auth/routes.d.ts +32 -0
  16. package/dist/auth/{createAuthRoutes.js → routes.js} +130 -35
  17. package/dist/build/compiler.d.ts +790 -0
  18. package/dist/build/compiler.js +6971 -0
  19. package/dist/{spec → build/spec}/domain/model/ManifestGrammar.d.ts +28 -42
  20. package/dist/{spec → build/spec}/domain/model/RuntimePlan.d.ts +77 -3
  21. package/dist/{spec → build/spec}/domain/model/SqlIr.d.ts +35 -6
  22. package/dist/build/spec/domain/model/UserFields.d.ts +20 -0
  23. package/dist/{spec → build/spec}/domain/service/PlanFingerprint.d.ts +2 -1
  24. package/dist/{spec → build/spec}/kernel/diagnostic.d.ts +1 -30
  25. package/dist/bun/assets.d.ts +2 -0
  26. package/dist/bun/assets.js +24 -0
  27. package/dist/domain/adminOrder.js +24 -0
  28. package/dist/domain/columns.js +55 -0
  29. package/dist/domain/describe/chunk-ZIQVLA7X.js +363 -0
  30. package/dist/domain/describe/index.d.ts +58 -0
  31. package/dist/domain/describe/index.js +115 -0
  32. package/dist/domain/describe/target-hash.d.ts +8 -0
  33. package/dist/domain/describe/target-hash.js +12 -0
  34. package/dist/domain/describe/targets.d.ts +40 -0
  35. package/dist/domain/entry.js +33 -0
  36. package/dist/domain/generated-tools.js +17 -0
  37. package/dist/domain/generation.d.ts +16 -0
  38. package/dist/domain/generation.js +1 -0
  39. package/dist/domain/input.js +17 -0
  40. package/dist/domain/model.js +1 -0
  41. package/dist/domain/paging.js +204 -0
  42. package/dist/domain/recipes.js +19 -0
  43. package/dist/domain/userReferences.js +5 -0
  44. package/dist/domain/wireScalars.js +47 -0
  45. package/dist/infrastructure/adminEntries.js +153 -0
  46. package/dist/infrastructure/adminPaging.js +72 -0
  47. package/dist/infrastructure/artifacts.js +71 -0
  48. package/dist/infrastructure/authSchema.js +83 -0
  49. package/dist/infrastructure/bundle.js +84 -0
  50. package/dist/infrastructure/cli.js +101 -0
  51. package/dist/infrastructure/generate.d.ts +14 -0
  52. package/dist/infrastructure/generate.js +174 -0
  53. package/dist/infrastructure/generateAuth.d.ts +8 -0
  54. package/dist/infrastructure/generateAuth.js +17 -0
  55. package/dist/infrastructure/inputs.js +36 -0
  56. package/dist/infrastructure/wrangler.js +71 -0
  57. package/dist/kernel/authorization.d.ts +4 -0
  58. package/dist/kernel/authorization.js +16 -0
  59. package/dist/kernel/binds.d.ts +51 -0
  60. package/dist/kernel/binds.js +45 -0
  61. package/dist/kernel/caller-identity.d.ts +24 -0
  62. package/dist/kernel/caller-identity.js +22 -0
  63. package/dist/kernel/contract-error.d.ts +12 -0
  64. package/dist/kernel/contract-error.js +14 -0
  65. package/dist/kernel/contracts.d.ts +139 -0
  66. package/dist/kernel/contracts.js +92 -0
  67. package/dist/{spec/domain/service/CloudflareCron.d.ts → kernel/cron.d.ts} +0 -1
  68. package/dist/{spec/domain/service/CloudflareCron.js → kernel/cron.js} +1 -6
  69. package/dist/kernel/dialect/common.d.ts +39 -0
  70. package/dist/kernel/dialect/common.js +6 -0
  71. package/dist/kernel/dialect/postgres.d.ts +16 -0
  72. package/dist/kernel/dialect/postgres.js +18 -0
  73. package/dist/kernel/dialect/sqlite.d.ts +20 -0
  74. package/dist/kernel/dialect/sqlite.js +34 -0
  75. package/dist/kernel/driver/bun-sqlite.d.ts +19 -0
  76. package/dist/kernel/driver/bun-sqlite.js +77 -0
  77. package/dist/kernel/driver/d1.d.ts +24 -0
  78. package/dist/kernel/driver/d1.js +22 -0
  79. package/dist/kernel/driver/postgres.d.ts +25 -0
  80. package/dist/kernel/driver/postgres.js +95 -0
  81. package/dist/kernel/driver/transaction-context.d.ts +10 -0
  82. package/dist/kernel/driver/transaction-context.js +29 -0
  83. package/dist/kernel/email.d.ts +28 -0
  84. package/dist/{auth/emailTemplates.js → kernel/email.js} +13 -2
  85. package/dist/kernel/host-access.d.ts +10 -0
  86. package/dist/kernel/host-access.js +65 -0
  87. package/dist/kernel/host-caller.d.ts +38 -0
  88. package/dist/kernel/host-caller.js +55 -0
  89. package/dist/kernel/json-body.d.ts +4 -0
  90. package/dist/kernel/json-body.js +44 -0
  91. package/dist/kernel/mcp-apps.d.ts +49 -0
  92. package/dist/kernel/mcp-apps.js +40 -0
  93. package/dist/kernel/mcp-call.d.ts +5 -0
  94. package/dist/kernel/mcp-call.js +25 -0
  95. package/dist/kernel/mcp-handler.js +288 -0
  96. package/dist/kernel/mcp.d.ts +101 -0
  97. package/dist/kernel/mcp.js +25 -0
  98. package/dist/kernel/media.d.ts +27 -0
  99. package/dist/kernel/media.js +216 -0
  100. package/dist/kernel/paging.d.ts +55 -0
  101. package/dist/kernel/paging.js +95 -0
  102. package/dist/kernel/publishing.d.ts +4 -0
  103. package/dist/kernel/publishing.js +16 -0
  104. package/dist/{cloudflare/r2Media.d.ts → kernel/r2-media.d.ts} +4 -5
  105. package/dist/kernel/r2-media.js +78 -0
  106. package/dist/kernel/rest-dispatch.js +38 -0
  107. package/dist/kernel/rest-router.js +63 -0
  108. package/dist/kernel/rest.d.ts +58 -0
  109. package/dist/kernel/rest.js +41 -0
  110. package/dist/kernel/scalars.d.ts +6 -0
  111. package/dist/kernel/scalars.js +43 -0
  112. package/dist/kernel/search.js +5 -0
  113. package/dist/{core/site.d.ts → kernel/site-types.d.ts} +38 -9
  114. package/dist/kernel/site-types.js +1 -0
  115. package/dist/kernel/site.d.ts +41 -0
  116. package/dist/kernel/site.js +32 -0
  117. package/dist/kernel/store.d.ts +165 -0
  118. package/dist/kernel/store.js +257 -0
  119. package/dist/kernel/surface.d.ts +10 -0
  120. package/dist/kernel/surface.js +19 -0
  121. package/dist/kernel/sweep.d.ts +17 -0
  122. package/dist/kernel/sweep.js +27 -0
  123. package/dist/kernel/translations.d.ts +1 -0
  124. package/dist/kernel/translations.js +13 -0
  125. package/dist/kernel/user-caller.d.ts +31 -0
  126. package/dist/kernel/user-caller.js +67 -0
  127. package/dist/kernel/user-field-name.js +3 -0
  128. package/dist/kernel/user-fields.d.ts +34 -0
  129. package/dist/kernel/user-fields.js +71 -0
  130. package/dist/kernel/validation.d.ts +15 -0
  131. package/dist/kernel/validation.js +54 -0
  132. package/dist/kernel/web-gateway.js +68 -0
  133. package/dist/kernel/web-head.js +15 -0
  134. package/dist/kernel/web-response.js +8 -0
  135. package/dist/kernel/web.d.ts +75 -0
  136. package/dist/kernel/web.js +155 -0
  137. package/dist/kernel/where.js +27 -0
  138. package/dist/testing/index.d.ts +1 -37
  139. package/dist/testing/index.js +1 -43
  140. package/dist/usecase/adminBindings.js +142 -0
  141. package/dist/usecase/adminDescriptors.js +153 -0
  142. package/dist/usecase/generate.js +164 -0
  143. package/dist/usecase/handlers.js +21 -0
  144. package/dist/usecase/mcp-media.js +17 -0
  145. package/dist/usecase/mcp.js +96 -0
  146. package/dist/usecase/paging.js +72 -0
  147. package/dist/usecase/publishing.js +63 -0
  148. package/dist/usecase/refusals.js +27 -0
  149. package/dist/usecase/rest.js +54 -0
  150. package/dist/usecase/search.js +7 -0
  151. package/dist/usecase/site.js +40 -0
  152. package/dist/usecase/stores.js +62 -0
  153. package/dist/usecase/translations.js +78 -0
  154. package/dist/usecase/ttl.js +20 -0
  155. package/dist/usecase/validation.js +132 -0
  156. package/dist/usecase/web.js +22 -0
  157. package/docs/examples/README.md +31 -16
  158. package/docs/examples/app-shell/README.md +48 -0
  159. package/docs/examples/app-shell/package.json +34 -0
  160. package/docs/examples/app-shell/pnpm-workspace.yaml +8 -0
  161. package/docs/examples/app-shell/smoke-kit.mjs +100 -0
  162. package/docs/examples/app-shell/src/admin.ts +10 -0
  163. package/docs/examples/app-shell/src/auth.ts +55 -0
  164. package/docs/examples/app-shell/src/handlers.ts +5 -0
  165. package/docs/examples/app-shell/src/index.ts +4 -0
  166. package/docs/examples/app-shell/src/routes.ts +13 -0
  167. package/docs/examples/app-shell/src/schedule.ts +8 -0
  168. package/docs/examples/app-shell/src/service.ts +70 -0
  169. package/docs/examples/app-shell/src/sign-in.ts +41 -0
  170. package/docs/examples/app-shell/src/signup.ts +8 -0
  171. package/docs/examples/{reference-service → app-shell}/tsconfig.json +2 -1
  172. package/docs/examples/app-shell/worker-configuration.d.ts +22 -0
  173. package/docs/examples/app-shell/wrangler.jsonc +61 -0
  174. package/docs/examples/club-events/README.md +60 -0
  175. package/docs/examples/club-events/manifests/club-events.yaml +225 -0
  176. package/docs/examples/club-events/smoke.mjs +121 -0
  177. package/docs/examples/club-events/src/handlers.ts +25 -0
  178. package/docs/examples/club-events/src/signup.ts +9 -0
  179. package/docs/examples/generated-web/README.md +74 -0
  180. package/docs/examples/generated-web/posts.yaml +38 -0
  181. package/docs/examples/generated-web/seed.sql +6 -0
  182. package/docs/examples/generated-web/src/worker.ts +43 -0
  183. package/docs/examples/generated-web/tsconfig.json +8 -0
  184. package/docs/examples/generated-web/wrangler.jsonc +7 -0
  185. package/docs/examples/purchasing/.dev.vars.example +6 -0
  186. package/docs/examples/purchasing/README.md +90 -0
  187. package/docs/examples/purchasing/manifests/purchasing.yaml +341 -0
  188. package/docs/examples/purchasing/seed.sql +4 -0
  189. package/docs/examples/purchasing/smoke.mjs +171 -0
  190. package/docs/examples/purchasing/src/admin.ts +12 -0
  191. package/docs/examples/purchasing/src/handlers.ts +33 -0
  192. package/docs/examples/purchasing/src/notify.ts +29 -0
  193. package/docs/examples/purchasing/src/requests-page.ts +57 -0
  194. package/docs/examples/purchasing/src/routes.ts +53 -0
  195. package/docs/examples/purchasing/src/schedule.ts +31 -0
  196. package/docs/examples/purchasing/src/signup.ts +5 -0
  197. package/docs/examples/purchasing/src/supplier.ts +32 -0
  198. package/docs/examples/purchasing/wrangler.jsonc +68 -0
  199. package/docs/examples/recipes/README.md +58 -0
  200. package/docs/examples/recipes/manifests/recipes.yaml +75 -0
  201. package/docs/examples/recipes/smoke.mjs +102 -0
  202. package/docs/examples/recipes/src/media.ts +13 -0
  203. package/docs/examples/recipes/src/pages.ts +99 -0
  204. package/docs/examples/recipes/src/routes.ts +71 -0
  205. package/docs/examples/recipes/src/site-config.ts +12 -0
  206. package/docs/examples/recipes/wrangler.jsonc +73 -0
  207. package/docs/handbook/cloudflare/authentication.md +142 -212
  208. package/docs/handbook/cloudflare/chatgpt-sites.md +4 -113
  209. package/docs/handbook/cloudflare/deploy-and-operate.md +20 -103
  210. package/docs/handbook/cloudflare/media-r2.md +62 -133
  211. package/docs/handbook/cloudflare/service-entry.md +180 -116
  212. package/docs/handbook/concepts/authorization.md +10 -123
  213. package/docs/handbook/concepts/four-atoms.md +9 -92
  214. package/docs/handbook/concepts/lifecycle-and-locales.md +9 -80
  215. package/docs/handbook/concepts/mcp-and-agents.md +10 -141
  216. package/docs/handbook/concepts/procedures-and-triggers.md +5 -162
  217. package/docs/handbook/concepts/runtime-and-adapters.md +15 -183
  218. package/docs/handbook/concepts/views.md +10 -109
  219. package/docs/handbook/examples/hub.md +2 -18
  220. package/docs/handbook/guides/adapter-guide.md +11 -0
  221. package/docs/handbook/guides/admin-extensions.md +20 -0
  222. package/docs/handbook/guides/admin-ui.md +5 -163
  223. package/docs/handbook/guides/agent-setup.md +5 -18
  224. package/docs/handbook/guides/email.md +86 -0
  225. package/docs/handbook/guides/mcp-apps.md +44 -0
  226. package/docs/handbook/guides/native-admin.md +298 -0
  227. package/docs/handbook/guides/native-execution.md +132 -0
  228. package/docs/handbook/guides/oauth.md +105 -0
  229. package/docs/handbook/guides/postgres-adapters.md +56 -0
  230. package/docs/handbook/guides/public-pages.md +53 -0
  231. package/docs/handbook/guides/size-and-startup.md +9 -0
  232. package/docs/handbook/guides/typed-queries.md +39 -102
  233. package/docs/handbook/navigation.json +164 -30
  234. package/docs/handbook/reference/admin-descriptors.md +88 -0
  235. package/docs/handbook/reference/authorization.md +44 -52
  236. package/docs/handbook/reference/describe.md +56 -0
  237. package/docs/handbook/reference/diagnostics.md +15 -78
  238. package/docs/handbook/reference/features.md +45 -53
  239. package/docs/handbook/reference/manifest.md +6 -69
  240. package/docs/handbook/reference/procedure.md +9 -117
  241. package/docs/handbook/reference/schema.md +65 -172
  242. package/docs/handbook/reference/site-config.md +5 -65
  243. package/docs/handbook/reference/surface.md +279 -93
  244. package/docs/handbook/reference/trigger.md +24 -93
  245. package/docs/handbook/reference/view.md +32 -158
  246. package/docs/handbook/releases/index.md +124 -15
  247. package/docs/handbook/start/overview.md +9 -56
  248. package/docs/handbook/start/project-and-cli.md +40 -141
  249. package/docs/handbook/start/quickstart-worker.md +38 -116
  250. package/docs/skills/develop/SKILL.md +34 -117
  251. package/docs/skills/develop/mcp-app.md +37 -77
  252. package/docs/skills/integrate/SKILL.md +42 -84
  253. package/docs/skills/media-gc/SKILL.md +14 -3
  254. package/docs/skills/provision/SKILL.md +25 -88
  255. package/docs/skills/update/SKILL.md +19 -40
  256. package/docs/source/scripts/postgres-adapter.ts +101 -0
  257. package/docs/upgrade-0.1-to-0.2.md +26 -10
  258. package/package.json +97 -112
  259. package/skills/.keep +0 -0
  260. package/skills/README.md +72 -0
  261. package/skills/mantle/SKILL.md +135 -0
  262. package/skills/mantle/references/local-testing.md +11 -0
  263. package/skills/mantle/references/web.md +41 -0
  264. package/skills/mantle/references/website.md +47 -0
  265. package/dist/admin/consent.d.ts +0 -17
  266. package/dist/admin/consent.d.ts.map +0 -1
  267. package/dist/admin/consent.js +0 -17
  268. package/dist/admin/consent.js.map +0 -1
  269. package/dist/admin/createAdminSurface.d.ts +0 -22
  270. package/dist/admin/createAdminSurface.d.ts.map +0 -1
  271. package/dist/admin/createAdminSurface.js +0 -592
  272. package/dist/admin/createAdminSurface.js.map +0 -1
  273. package/dist/admin/design.d.ts +0 -7
  274. package/dist/admin/design.d.ts.map +0 -1
  275. package/dist/admin/design.js +0 -18
  276. package/dist/admin/design.js.map +0 -1
  277. package/dist/admin/developerConsole.d.ts +0 -267
  278. package/dist/admin/developerConsole.d.ts.map +0 -1
  279. package/dist/admin/developerConsole.js +0 -136
  280. package/dist/admin/developerConsole.js.map +0 -1
  281. package/dist/admin/identity.d.ts +0 -62
  282. package/dist/admin/identity.d.ts.map +0 -1
  283. package/dist/admin/identity.js +0 -7
  284. package/dist/admin/identity.js.map +0 -1
  285. package/dist/admin/index.d.ts +0 -6
  286. package/dist/admin/index.d.ts.map +0 -1
  287. package/dist/admin/index.js +0 -6
  288. package/dist/admin/index.js.map +0 -1
  289. package/dist/admin/procedureFlow.d.ts +0 -38
  290. package/dist/admin/procedureFlow.d.ts.map +0 -1
  291. package/dist/admin/procedureFlow.js +0 -188
  292. package/dist/admin/procedureFlow.js.map +0 -1
  293. package/dist/auth/ConsoleEmailSender.d.ts +0 -15
  294. package/dist/auth/ConsoleEmailSender.d.ts.map +0 -1
  295. package/dist/auth/ConsoleEmailSender.js +0 -19
  296. package/dist/auth/ConsoleEmailSender.js.map +0 -1
  297. package/dist/auth/appleClientSecret.d.ts +0 -75
  298. package/dist/auth/appleClientSecret.d.ts.map +0 -1
  299. package/dist/auth/appleClientSecret.js +0 -116
  300. package/dist/auth/appleClientSecret.js.map +0 -1
  301. package/dist/auth/buildAuth.d.ts +0 -4566
  302. package/dist/auth/buildAuth.d.ts.map +0 -1
  303. package/dist/auth/buildAuth.js +0 -311
  304. package/dist/auth/buildAuth.js.map +0 -1
  305. package/dist/auth/callerResolver.d.ts +0 -48
  306. package/dist/auth/callerResolver.d.ts.map +0 -1
  307. package/dist/auth/callerResolver.js +0 -49
  308. package/dist/auth/callerResolver.js.map +0 -1
  309. package/dist/auth/createAuthRoutes.d.ts +0 -22
  310. package/dist/auth/createAuthRoutes.d.ts.map +0 -1
  311. package/dist/auth/createAuthRoutes.js.map +0 -1
  312. package/dist/auth/createMantleAuth.d.ts +0 -3
  313. package/dist/auth/createMantleAuth.d.ts.map +0 -1
  314. package/dist/auth/createMantleAuth.js +0 -503
  315. package/dist/auth/createMantleAuth.js.map +0 -1
  316. package/dist/auth/db.d.ts +0 -17
  317. package/dist/auth/db.d.ts.map +0 -1
  318. package/dist/auth/db.js +0 -24
  319. package/dist/auth/db.js.map +0 -1
  320. package/dist/auth/emailTemplates.d.ts +0 -7
  321. package/dist/auth/emailTemplates.d.ts.map +0 -1
  322. package/dist/auth/emailTemplates.js.map +0 -1
  323. package/dist/auth/index.d.ts +0 -9
  324. package/dist/auth/index.d.ts.map +0 -1
  325. package/dist/auth/index.js +0 -7
  326. package/dist/auth/index.js.map +0 -1
  327. package/dist/auth/methods.d.ts +0 -717
  328. package/dist/auth/methods.d.ts.map +0 -1
  329. package/dist/auth/methods.js +0 -321
  330. package/dist/auth/methods.js.map +0 -1
  331. package/dist/auth/oauthTokens.d.ts +0 -24
  332. package/dist/auth/oauthTokens.d.ts.map +0 -1
  333. package/dist/auth/oauthTokens.js +0 -146
  334. package/dist/auth/oauthTokens.js.map +0 -1
  335. package/dist/auth/setupIncomplete.d.ts +0 -16
  336. package/dist/auth/setupIncomplete.d.ts.map +0 -1
  337. package/dist/auth/setupIncomplete.js +0 -50
  338. package/dist/auth/setupIncomplete.js.map +0 -1
  339. package/dist/auth/types.d.ts +0 -440
  340. package/dist/auth/types.d.ts.map +0 -1
  341. package/dist/auth/types.js +0 -10
  342. package/dist/auth/types.js.map +0 -1
  343. package/dist/bun/index.d.ts +0 -65
  344. package/dist/bun/index.d.ts.map +0 -1
  345. package/dist/bun/index.js +0 -130
  346. package/dist/bun/index.js.map +0 -1
  347. package/dist/cli/emitModule.d.ts +0 -7
  348. package/dist/cli/emitModule.d.ts.map +0 -1
  349. package/dist/cli/emitModule.js +0 -127
  350. package/dist/cli/emitModule.js.map +0 -1
  351. package/dist/cli/generate.d.ts +0 -8
  352. package/dist/cli/generate.d.ts.map +0 -1
  353. package/dist/cli/generate.js +0 -391
  354. package/dist/cli/generate.js.map +0 -1
  355. package/dist/cli/main.d.ts +0 -3
  356. package/dist/cli/main.d.ts.map +0 -1
  357. package/dist/cli/main.js +0 -21
  358. package/dist/cli/main.js.map +0 -1
  359. package/dist/cli/preset.d.ts +0 -18
  360. package/dist/cli/preset.d.ts.map +0 -1
  361. package/dist/cli/preset.js +0 -353
  362. package/dist/cli/preset.js.map +0 -1
  363. package/dist/cloudflare/index.d.ts +0 -21
  364. package/dist/cloudflare/index.d.ts.map +0 -1
  365. package/dist/cloudflare/index.js +0 -14
  366. package/dist/cloudflare/index.js.map +0 -1
  367. package/dist/cloudflare/r2Media.d.ts.map +0 -1
  368. package/dist/cloudflare/r2Media.js +0 -69
  369. package/dist/cloudflare/r2Media.js.map +0 -1
  370. package/dist/core/caller.d.ts +0 -35
  371. package/dist/core/caller.d.ts.map +0 -1
  372. package/dist/core/caller.js +0 -3
  373. package/dist/core/caller.js.map +0 -1
  374. package/dist/core/createMantle.d.ts +0 -22
  375. package/dist/core/createMantle.d.ts.map +0 -1
  376. package/dist/core/createMantle.js +0 -117
  377. package/dist/core/createMantle.js.map +0 -1
  378. package/dist/core/dialect.d.ts +0 -41
  379. package/dist/core/dialect.d.ts.map +0 -1
  380. package/dist/core/dialect.js +0 -7
  381. package/dist/core/dialect.js.map +0 -1
  382. package/dist/core/driver.d.ts +0 -17
  383. package/dist/core/driver.d.ts.map +0 -1
  384. package/dist/core/driver.js +0 -2
  385. package/dist/core/driver.js.map +0 -1
  386. package/dist/core/email.d.ts +0 -17
  387. package/dist/core/email.d.ts.map +0 -1
  388. package/dist/core/email.js +0 -2
  389. package/dist/core/email.js.map +0 -1
  390. package/dist/core/index.d.ts +0 -16
  391. package/dist/core/index.d.ts.map +0 -1
  392. package/dist/core/index.js +0 -16
  393. package/dist/core/index.js.map +0 -1
  394. package/dist/core/invocation.d.ts +0 -66
  395. package/dist/core/invocation.d.ts.map +0 -1
  396. package/dist/core/invocation.js +0 -3
  397. package/dist/core/invocation.js.map +0 -1
  398. package/dist/core/observation.d.ts +0 -3
  399. package/dist/core/observation.d.ts.map +0 -1
  400. package/dist/core/observation.js +0 -10
  401. package/dist/core/observation.js.map +0 -1
  402. package/dist/core/runtime/auth.d.ts +0 -9
  403. package/dist/core/runtime/auth.d.ts.map +0 -1
  404. package/dist/core/runtime/auth.js +0 -39
  405. package/dist/core/runtime/auth.js.map +0 -1
  406. package/dist/core/runtime/createRuntime.d.ts +0 -23
  407. package/dist/core/runtime/createRuntime.d.ts.map +0 -1
  408. package/dist/core/runtime/createRuntime.js +0 -214
  409. package/dist/core/runtime/createRuntime.js.map +0 -1
  410. package/dist/core/runtime/verifyPlan.d.ts +0 -34
  411. package/dist/core/runtime/verifyPlan.d.ts.map +0 -1
  412. package/dist/core/runtime/verifyPlan.js +0 -301
  413. package/dist/core/runtime/verifyPlan.js.map +0 -1
  414. package/dist/core/service.d.ts +0 -45
  415. package/dist/core/service.d.ts.map +0 -1
  416. package/dist/core/service.js +0 -2
  417. package/dist/core/service.js.map +0 -1
  418. package/dist/core/site.d.ts.map +0 -1
  419. package/dist/core/site.js +0 -2
  420. package/dist/core/site.js.map +0 -1
  421. package/dist/core/siteConfig.d.ts +0 -5
  422. package/dist/core/siteConfig.d.ts.map +0 -1
  423. package/dist/core/siteConfig.js +0 -24
  424. package/dist/core/siteConfig.js.map +0 -1
  425. package/dist/core/sql/allowlist.d.ts +0 -65
  426. package/dist/core/sql/allowlist.d.ts.map +0 -1
  427. package/dist/core/sql/allowlist.js +0 -705
  428. package/dist/core/sql/allowlist.js.map +0 -1
  429. package/dist/core/sql/ast.d.ts +0 -24
  430. package/dist/core/sql/ast.d.ts.map +0 -1
  431. package/dist/core/sql/ast.js +0 -32
  432. package/dist/core/sql/ast.js.map +0 -1
  433. package/dist/core/sql/compile.d.ts +0 -50
  434. package/dist/core/sql/compile.d.ts.map +0 -1
  435. package/dist/core/sql/compile.js +0 -48
  436. package/dist/core/sql/compile.js.map +0 -1
  437. package/dist/core/sql/policy.d.ts +0 -121
  438. package/dist/core/sql/policy.d.ts.map +0 -1
  439. package/dist/core/sql/policy.js +0 -379
  440. package/dist/core/sql/policy.js.map +0 -1
  441. package/dist/core/sql/positions.d.ts +0 -30
  442. package/dist/core/sql/positions.d.ts.map +0 -1
  443. package/dist/core/sql/positions.js +0 -22
  444. package/dist/core/sql/positions.js.map +0 -1
  445. package/dist/core/sql/run.d.ts +0 -76
  446. package/dist/core/sql/run.d.ts.map +0 -1
  447. package/dist/core/sql/run.js +0 -267
  448. package/dist/core/sql/run.js.map +0 -1
  449. package/dist/core/store/createStore.d.ts +0 -49
  450. package/dist/core/store/createStore.d.ts.map +0 -1
  451. package/dist/core/store/createStore.js +0 -227
  452. package/dist/core/store/createStore.js.map +0 -1
  453. package/dist/core/store/cursor.d.ts +0 -4
  454. package/dist/core/store/cursor.d.ts.map +0 -1
  455. package/dist/core/store/cursor.js +0 -22
  456. package/dist/core/store/cursor.js.map +0 -1
  457. package/dist/core/store/json.d.ts +0 -80
  458. package/dist/core/store/json.d.ts.map +0 -1
  459. package/dist/core/store/json.js +0 -342
  460. package/dist/core/store/json.js.map +0 -1
  461. package/dist/core/store.d.ts +0 -160
  462. package/dist/core/store.d.ts.map +0 -1
  463. package/dist/core/store.js +0 -2
  464. package/dist/core/store.js.map +0 -1
  465. package/dist/core/wire.d.ts +0 -20
  466. package/dist/core/wire.d.ts.map +0 -1
  467. package/dist/core/wire.js +0 -84
  468. package/dist/core/wire.js.map +0 -1
  469. package/dist/core/withCaller.d.ts +0 -24
  470. package/dist/core/withCaller.d.ts.map +0 -1
  471. package/dist/core/withCaller.js +0 -35
  472. package/dist/core/withCaller.js.map +0 -1
  473. package/dist/d1/adapter.d.ts +0 -12
  474. package/dist/d1/adapter.d.ts.map +0 -1
  475. package/dist/d1/adapter.js +0 -23
  476. package/dist/d1/adapter.js.map +0 -1
  477. package/dist/d1/codec.d.ts +0 -14
  478. package/dist/d1/codec.d.ts.map +0 -1
  479. package/dist/d1/codec.js +0 -136
  480. package/dist/d1/codec.js.map +0 -1
  481. package/dist/d1/compile/index.d.ts +0 -9
  482. package/dist/d1/compile/index.d.ts.map +0 -1
  483. package/dist/d1/compile/index.js +0 -9
  484. package/dist/d1/compile/index.js.map +0 -1
  485. package/dist/d1/dialect.d.ts +0 -4
  486. package/dist/d1/dialect.d.ts.map +0 -1
  487. package/dist/d1/dialect.js +0 -13
  488. package/dist/d1/dialect.js.map +0 -1
  489. package/dist/d1/executor.d.ts +0 -13
  490. package/dist/d1/executor.d.ts.map +0 -1
  491. package/dist/d1/executor.js +0 -91
  492. package/dist/d1/executor.js.map +0 -1
  493. package/dist/d1/index.d.ts +0 -6
  494. package/dist/d1/index.d.ts.map +0 -1
  495. package/dist/d1/index.js +0 -6
  496. package/dist/d1/index.js.map +0 -1
  497. package/dist/d1/lower.d.ts +0 -8
  498. package/dist/d1/lower.d.ts.map +0 -1
  499. package/dist/d1/lower.js +0 -167
  500. package/dist/d1/lower.js.map +0 -1
  501. package/dist/d1/media.d.ts +0 -5
  502. package/dist/d1/media.d.ts.map +0 -1
  503. package/dist/d1/media.js +0 -157
  504. package/dist/d1/media.js.map +0 -1
  505. package/dist/d1/migrations.d.ts +0 -12
  506. package/dist/d1/migrations.d.ts.map +0 -1
  507. package/dist/d1/migrations.js +0 -111
  508. package/dist/d1/migrations.js.map +0 -1
  509. package/dist/d1/print.d.ts +0 -28
  510. package/dist/d1/print.d.ts.map +0 -1
  511. package/dist/d1/print.js +0 -54
  512. package/dist/d1/print.js.map +0 -1
  513. package/dist/d1/site.d.ts +0 -17
  514. package/dist/d1/site.d.ts.map +0 -1
  515. package/dist/d1/site.js +0 -63
  516. package/dist/d1/site.js.map +0 -1
  517. package/dist/d1/storage.d.ts +0 -34
  518. package/dist/d1/storage.d.ts.map +0 -1
  519. package/dist/d1/storage.js +0 -288
  520. package/dist/d1/storage.js.map +0 -1
  521. package/dist/d1/tz.d.ts +0 -21
  522. package/dist/d1/tz.d.ts.map +0 -1
  523. package/dist/d1/tz.js +0 -54
  524. package/dist/d1/tz.js.map +0 -1
  525. package/dist/d1/validator.d.ts +0 -10
  526. package/dist/d1/validator.d.ts.map +0 -1
  527. package/dist/d1/validator.js +0 -33
  528. package/dist/d1/validator.js.map +0 -1
  529. package/dist/mcp/apps.d.ts +0 -43
  530. package/dist/mcp/apps.d.ts.map +0 -1
  531. package/dist/mcp/apps.js +0 -57
  532. package/dist/mcp/apps.js.map +0 -1
  533. package/dist/mcp/catalog.d.ts +0 -55
  534. package/dist/mcp/catalog.d.ts.map +0 -1
  535. package/dist/mcp/catalog.js +0 -81
  536. package/dist/mcp/catalog.js.map +0 -1
  537. package/dist/mcp/createMcpSurface.d.ts +0 -60
  538. package/dist/mcp/createMcpSurface.d.ts.map +0 -1
  539. package/dist/mcp/createMcpSurface.js +0 -182
  540. package/dist/mcp/createMcpSurface.js.map +0 -1
  541. package/dist/mcp/index.d.ts +0 -4
  542. package/dist/mcp/index.d.ts.map +0 -1
  543. package/dist/mcp/index.js +0 -4
  544. package/dist/mcp/index.js.map +0 -1
  545. package/dist/mcp/media.d.ts +0 -9
  546. package/dist/mcp/media.d.ts.map +0 -1
  547. package/dist/mcp/media.js +0 -33
  548. package/dist/mcp/media.js.map +0 -1
  549. package/dist/postgres/adapter.d.ts +0 -20
  550. package/dist/postgres/adapter.d.ts.map +0 -1
  551. package/dist/postgres/adapter.js +0 -44
  552. package/dist/postgres/adapter.js.map +0 -1
  553. package/dist/postgres/codec.d.ts +0 -13
  554. package/dist/postgres/codec.d.ts.map +0 -1
  555. package/dist/postgres/codec.js +0 -110
  556. package/dist/postgres/codec.js.map +0 -1
  557. package/dist/postgres/compile/index.d.ts +0 -9
  558. package/dist/postgres/compile/index.d.ts.map +0 -1
  559. package/dist/postgres/compile/index.js +0 -9
  560. package/dist/postgres/compile/index.js.map +0 -1
  561. package/dist/postgres/driver.d.ts +0 -92
  562. package/dist/postgres/driver.d.ts.map +0 -1
  563. package/dist/postgres/driver.js +0 -110
  564. package/dist/postgres/driver.js.map +0 -1
  565. package/dist/postgres/executor.d.ts +0 -20
  566. package/dist/postgres/executor.d.ts.map +0 -1
  567. package/dist/postgres/executor.js +0 -69
  568. package/dist/postgres/executor.js.map +0 -1
  569. package/dist/postgres/index.d.ts +0 -7
  570. package/dist/postgres/index.d.ts.map +0 -1
  571. package/dist/postgres/index.js +0 -7
  572. package/dist/postgres/index.js.map +0 -1
  573. package/dist/postgres/lower.d.ts +0 -6
  574. package/dist/postgres/lower.d.ts.map +0 -1
  575. package/dist/postgres/lower.js +0 -157
  576. package/dist/postgres/lower.js.map +0 -1
  577. package/dist/postgres/print.d.ts +0 -11
  578. package/dist/postgres/print.d.ts.map +0 -1
  579. package/dist/postgres/print.js +0 -121
  580. package/dist/postgres/print.js.map +0 -1
  581. package/dist/postgres/storage.d.ts +0 -19
  582. package/dist/postgres/storage.d.ts.map +0 -1
  583. package/dist/postgres/storage.js +0 -201
  584. package/dist/postgres/storage.js.map +0 -1
  585. package/dist/postgres/textRows.d.ts +0 -10
  586. package/dist/postgres/textRows.d.ts.map +0 -1
  587. package/dist/postgres/textRows.js +0 -44
  588. package/dist/postgres/textRows.js.map +0 -1
  589. package/dist/postgres/validator.d.ts +0 -12
  590. package/dist/postgres/validator.d.ts.map +0 -1
  591. package/dist/postgres/validator.js +0 -46
  592. package/dist/postgres/validator.js.map +0 -1
  593. package/dist/spec/domain/index.d.ts +0 -3
  594. package/dist/spec/domain/index.d.ts.map +0 -1
  595. package/dist/spec/domain/index.js +0 -3
  596. package/dist/spec/domain/index.js.map +0 -1
  597. package/dist/spec/domain/model/ContentState.d.ts +0 -8
  598. package/dist/spec/domain/model/ContentState.d.ts.map +0 -1
  599. package/dist/spec/domain/model/ContentState.js +0 -7
  600. package/dist/spec/domain/model/ContentState.js.map +0 -1
  601. package/dist/spec/domain/model/Entry.d.ts +0 -29
  602. package/dist/spec/domain/model/Entry.d.ts.map +0 -1
  603. package/dist/spec/domain/model/Entry.js +0 -16
  604. package/dist/spec/domain/model/Entry.js.map +0 -1
  605. package/dist/spec/domain/model/Locale.d.ts +0 -30
  606. package/dist/spec/domain/model/Locale.d.ts.map +0 -1
  607. package/dist/spec/domain/model/Locale.js +0 -33
  608. package/dist/spec/domain/model/Locale.js.map +0 -1
  609. package/dist/spec/domain/model/ManifestGrammar.d.ts.map +0 -1
  610. package/dist/spec/domain/model/ManifestGrammar.js +0 -149
  611. package/dist/spec/domain/model/ManifestGrammar.js.map +0 -1
  612. package/dist/spec/domain/model/MediaMimeAccept.d.ts +0 -55
  613. package/dist/spec/domain/model/MediaMimeAccept.d.ts.map +0 -1
  614. package/dist/spec/domain/model/MediaMimeAccept.js +0 -90
  615. package/dist/spec/domain/model/MediaMimeAccept.js.map +0 -1
  616. package/dist/spec/domain/model/RuntimePlan.d.ts.map +0 -1
  617. package/dist/spec/domain/model/RuntimePlan.js +0 -4
  618. package/dist/spec/domain/model/RuntimePlan.js.map +0 -1
  619. package/dist/spec/domain/model/SiteConfig.d.ts +0 -173
  620. package/dist/spec/domain/model/SiteConfig.d.ts.map +0 -1
  621. package/dist/spec/domain/model/SiteConfig.js +0 -13
  622. package/dist/spec/domain/model/SiteConfig.js.map +0 -1
  623. package/dist/spec/domain/model/SqlIr.d.ts.map +0 -1
  624. package/dist/spec/domain/model/SqlIr.js +0 -95
  625. package/dist/spec/domain/model/SqlIr.js.map +0 -1
  626. package/dist/spec/domain/model/index.d.ts +0 -14
  627. package/dist/spec/domain/model/index.d.ts.map +0 -1
  628. package/dist/spec/domain/model/index.js +0 -14
  629. package/dist/spec/domain/model/index.js.map +0 -1
  630. package/dist/spec/domain/service/CloudflareCron.d.ts.map +0 -1
  631. package/dist/spec/domain/service/CloudflareCron.js.map +0 -1
  632. package/dist/spec/domain/service/CrossSchemaChecker.d.ts +0 -34
  633. package/dist/spec/domain/service/CrossSchemaChecker.d.ts.map +0 -1
  634. package/dist/spec/domain/service/CrossSchemaChecker.js +0 -114
  635. package/dist/spec/domain/service/CrossSchemaChecker.js.map +0 -1
  636. package/dist/spec/domain/service/EntryDataValidator.d.ts +0 -56
  637. package/dist/spec/domain/service/EntryDataValidator.d.ts.map +0 -1
  638. package/dist/spec/domain/service/EntryDataValidator.js +0 -88
  639. package/dist/spec/domain/service/EntryDataValidator.js.map +0 -1
  640. package/dist/spec/domain/service/JsonSchemaToZod.d.ts +0 -29
  641. package/dist/spec/domain/service/JsonSchemaToZod.d.ts.map +0 -1
  642. package/dist/spec/domain/service/JsonSchemaToZod.js +0 -156
  643. package/dist/spec/domain/service/JsonSchemaToZod.js.map +0 -1
  644. package/dist/spec/domain/service/LifecycleStateMachine.d.ts +0 -75
  645. package/dist/spec/domain/service/LifecycleStateMachine.d.ts.map +0 -1
  646. package/dist/spec/domain/service/LifecycleStateMachine.js +0 -76
  647. package/dist/spec/domain/service/LifecycleStateMachine.js.map +0 -1
  648. package/dist/spec/domain/service/LocaleCanonicalizer.d.ts +0 -29
  649. package/dist/spec/domain/service/LocaleCanonicalizer.d.ts.map +0 -1
  650. package/dist/spec/domain/service/LocaleCanonicalizer.js +0 -96
  651. package/dist/spec/domain/service/LocaleCanonicalizer.js.map +0 -1
  652. package/dist/spec/domain/service/ManifestFieldChecks.d.ts +0 -60
  653. package/dist/spec/domain/service/ManifestFieldChecks.d.ts.map +0 -1
  654. package/dist/spec/domain/service/ManifestFieldChecks.js +0 -116
  655. package/dist/spec/domain/service/ManifestFieldChecks.js.map +0 -1
  656. package/dist/spec/domain/service/ManifestGraphValidator.d.ts +0 -15
  657. package/dist/spec/domain/service/ManifestGraphValidator.d.ts.map +0 -1
  658. package/dist/spec/domain/service/ManifestGraphValidator.js +0 -225
  659. package/dist/spec/domain/service/ManifestGraphValidator.js.map +0 -1
  660. package/dist/spec/domain/service/ManifestLinker.d.ts +0 -45
  661. package/dist/spec/domain/service/ManifestLinker.d.ts.map +0 -1
  662. package/dist/spec/domain/service/ManifestLinker.js +0 -92
  663. package/dist/spec/domain/service/ManifestLinker.js.map +0 -1
  664. package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts +0 -16
  665. package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts.map +0 -1
  666. package/dist/spec/domain/service/ManifestLocaleTrimmer.js +0 -76
  667. package/dist/spec/domain/service/ManifestLocaleTrimmer.js.map +0 -1
  668. package/dist/spec/domain/service/ManifestParser.d.ts +0 -49
  669. package/dist/spec/domain/service/ManifestParser.d.ts.map +0 -1
  670. package/dist/spec/domain/service/ManifestParser.js +0 -203
  671. package/dist/spec/domain/service/ManifestParser.js.map +0 -1
  672. package/dist/spec/domain/service/ManifestPartition.d.ts +0 -9
  673. package/dist/spec/domain/service/ManifestPartition.d.ts.map +0 -1
  674. package/dist/spec/domain/service/ManifestPartition.js +0 -19
  675. package/dist/spec/domain/service/ManifestPartition.js.map +0 -1
  676. package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts +0 -33
  677. package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts.map +0 -1
  678. package/dist/spec/domain/service/ManifestPathDiagnoser.js +0 -43
  679. package/dist/spec/domain/service/ManifestPathDiagnoser.js.map +0 -1
  680. package/dist/spec/domain/service/ManifestSourceSpans.d.ts +0 -10
  681. package/dist/spec/domain/service/ManifestSourceSpans.d.ts.map +0 -1
  682. package/dist/spec/domain/service/ManifestSourceSpans.js +0 -76
  683. package/dist/spec/domain/service/ManifestSourceSpans.js.map +0 -1
  684. package/dist/spec/domain/service/McpToolNaming.d.ts +0 -25
  685. package/dist/spec/domain/service/McpToolNaming.d.ts.map +0 -1
  686. package/dist/spec/domain/service/McpToolNaming.js +0 -50
  687. package/dist/spec/domain/service/McpToolNaming.js.map +0 -1
  688. package/dist/spec/domain/service/PlanFingerprint.d.ts.map +0 -1
  689. package/dist/spec/domain/service/PlanFingerprint.js +0 -14
  690. package/dist/spec/domain/service/PlanFingerprint.js.map +0 -1
  691. package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts +0 -4
  692. package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts.map +0 -1
  693. package/dist/spec/domain/service/ProcedureViewSpecChecks.js +0 -211
  694. package/dist/spec/domain/service/ProcedureViewSpecChecks.js.map +0 -1
  695. package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts +0 -42
  696. package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts.map +0 -1
  697. package/dist/spec/domain/service/SchemaAdminUiChecker.js +0 -289
  698. package/dist/spec/domain/service/SchemaAdminUiChecker.js.map +0 -1
  699. package/dist/spec/domain/service/SchemaIndexChecker.d.ts +0 -33
  700. package/dist/spec/domain/service/SchemaIndexChecker.d.ts.map +0 -1
  701. package/dist/spec/domain/service/SchemaIndexChecker.js +0 -256
  702. package/dist/spec/domain/service/SchemaIndexChecker.js.map +0 -1
  703. package/dist/spec/domain/service/SchemaSearchChecker.d.ts +0 -11
  704. package/dist/spec/domain/service/SchemaSearchChecker.d.ts.map +0 -1
  705. package/dist/spec/domain/service/SchemaSearchChecker.js +0 -78
  706. package/dist/spec/domain/service/SchemaSearchChecker.js.map +0 -1
  707. package/dist/spec/domain/service/SchemaSpecChecks.d.ts +0 -31
  708. package/dist/spec/domain/service/SchemaSpecChecks.d.ts.map +0 -1
  709. package/dist/spec/domain/service/SchemaSpecChecks.js +0 -445
  710. package/dist/spec/domain/service/SchemaSpecChecks.js.map +0 -1
  711. package/dist/spec/domain/service/SiteDefaultsValidator.d.ts +0 -39
  712. package/dist/spec/domain/service/SiteDefaultsValidator.d.ts.map +0 -1
  713. package/dist/spec/domain/service/SiteDefaultsValidator.js +0 -194
  714. package/dist/spec/domain/service/SiteDefaultsValidator.js.map +0 -1
  715. package/dist/spec/domain/service/SqlClassify.d.ts +0 -19
  716. package/dist/spec/domain/service/SqlClassify.d.ts.map +0 -1
  717. package/dist/spec/domain/service/SqlClassify.js +0 -42
  718. package/dist/spec/domain/service/SqlClassify.js.map +0 -1
  719. package/dist/spec/domain/service/SqlRefusal.d.ts +0 -16
  720. package/dist/spec/domain/service/SqlRefusal.d.ts.map +0 -1
  721. package/dist/spec/domain/service/SqlRefusal.js +0 -20
  722. package/dist/spec/domain/service/SqlRefusal.js.map +0 -1
  723. package/dist/spec/domain/service/SqlTypes.d.ts +0 -40
  724. package/dist/spec/domain/service/SqlTypes.d.ts.map +0 -1
  725. package/dist/spec/domain/service/SqlTypes.js +0 -110
  726. package/dist/spec/domain/service/SqlTypes.js.map +0 -1
  727. package/dist/spec/domain/service/StaffRoleHierarchy.d.ts +0 -3
  728. package/dist/spec/domain/service/StaffRoleHierarchy.d.ts.map +0 -1
  729. package/dist/spec/domain/service/StaffRoleHierarchy.js +0 -19
  730. package/dist/spec/domain/service/StaffRoleHierarchy.js.map +0 -1
  731. package/dist/spec/domain/service/TriggerGraphChecks.d.ts +0 -16
  732. package/dist/spec/domain/service/TriggerGraphChecks.d.ts.map +0 -1
  733. package/dist/spec/domain/service/TriggerGraphChecks.js +0 -337
  734. package/dist/spec/domain/service/TriggerGraphChecks.js.map +0 -1
  735. package/dist/spec/domain/service/TriggerSpecChecks.d.ts +0 -4
  736. package/dist/spec/domain/service/TriggerSpecChecks.d.ts.map +0 -1
  737. package/dist/spec/domain/service/TriggerSpecChecks.js +0 -89
  738. package/dist/spec/domain/service/TriggerSpecChecks.js.map +0 -1
  739. package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts +0 -11
  740. package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts.map +0 -1
  741. package/dist/spec/domain/service/ValidatedAdminUiProjection.js +0 -26
  742. package/dist/spec/domain/service/ValidatedAdminUiProjection.js.map +0 -1
  743. package/dist/spec/domain/service/ViewAdminUiChecker.d.ts +0 -14
  744. package/dist/spec/domain/service/ViewAdminUiChecker.d.ts.map +0 -1
  745. package/dist/spec/domain/service/ViewAdminUiChecker.js +0 -53
  746. package/dist/spec/domain/service/ViewAdminUiChecker.js.map +0 -1
  747. package/dist/spec/domain/service/index.d.ts +0 -24
  748. package/dist/spec/domain/service/index.d.ts.map +0 -1
  749. package/dist/spec/domain/service/index.js +0 -24
  750. package/dist/spec/domain/service/index.js.map +0 -1
  751. package/dist/spec/index.d.ts +0 -10
  752. package/dist/spec/index.d.ts.map +0 -1
  753. package/dist/spec/index.js +0 -12
  754. package/dist/spec/index.js.map +0 -1
  755. package/dist/spec/infrastructure/cli/parseArgsError.d.ts +0 -16
  756. package/dist/spec/infrastructure/cli/parseArgsError.d.ts.map +0 -1
  757. package/dist/spec/infrastructure/cli/parseArgsError.js +0 -34
  758. package/dist/spec/infrastructure/cli/parseArgsError.js.map +0 -1
  759. package/dist/spec/infrastructure/index.d.ts +0 -2
  760. package/dist/spec/infrastructure/index.d.ts.map +0 -1
  761. package/dist/spec/infrastructure/index.js +0 -2
  762. package/dist/spec/infrastructure/index.js.map +0 -1
  763. package/dist/spec/infrastructure/sql/PgQueryParser.d.ts +0 -18
  764. package/dist/spec/infrastructure/sql/PgQueryParser.d.ts.map +0 -1
  765. package/dist/spec/infrastructure/sql/PgQueryParser.js +0 -17
  766. package/dist/spec/infrastructure/sql/PgQueryParser.js.map +0 -1
  767. package/dist/spec/infrastructure/sql/compilePlan.d.ts +0 -37
  768. package/dist/spec/infrastructure/sql/compilePlan.d.ts.map +0 -1
  769. package/dist/spec/infrastructure/sql/compilePlan.js +0 -282
  770. package/dist/spec/infrastructure/sql/compilePlan.js.map +0 -1
  771. package/dist/spec/infrastructure/sql/compileSql.d.ts +0 -35
  772. package/dist/spec/infrastructure/sql/compileSql.d.ts.map +0 -1
  773. package/dist/spec/infrastructure/sql/compileSql.js +0 -92
  774. package/dist/spec/infrastructure/sql/compileSql.js.map +0 -1
  775. package/dist/spec/infrastructure/sql/frontEnd.d.ts +0 -8
  776. package/dist/spec/infrastructure/sql/frontEnd.d.ts.map +0 -1
  777. package/dist/spec/infrastructure/sql/frontEnd.js +0 -100
  778. package/dist/spec/infrastructure/sql/frontEnd.js.map +0 -1
  779. package/dist/spec/infrastructure/sql/index.d.ts +0 -4
  780. package/dist/spec/infrastructure/sql/index.d.ts.map +0 -1
  781. package/dist/spec/infrastructure/sql/index.js +0 -4
  782. package/dist/spec/infrastructure/sql/index.js.map +0 -1
  783. package/dist/spec/kernel/diagnostic.d.ts.map +0 -1
  784. package/dist/spec/kernel/diagnostic.js +0 -296
  785. package/dist/spec/kernel/diagnostic.js.map +0 -1
  786. package/dist/spec/kernel/index.d.ts +0 -8
  787. package/dist/spec/kernel/index.d.ts.map +0 -1
  788. package/dist/spec/kernel/index.js +0 -8
  789. package/dist/spec/kernel/index.js.map +0 -1
  790. package/dist/spec/usecase/EmitTypes.d.ts +0 -22
  791. package/dist/spec/usecase/EmitTypes.d.ts.map +0 -1
  792. package/dist/spec/usecase/EmitTypes.js +0 -182
  793. package/dist/spec/usecase/EmitTypes.js.map +0 -1
  794. package/dist/spec/usecase/ValidateManifestsUseCase.d.ts +0 -8
  795. package/dist/spec/usecase/ValidateManifestsUseCase.d.ts.map +0 -1
  796. package/dist/spec/usecase/ValidateManifestsUseCase.js +0 -101
  797. package/dist/spec/usecase/ValidateManifestsUseCase.js.map +0 -1
  798. package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts +0 -27
  799. package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts.map +0 -1
  800. package/dist/spec/usecase/dto/ValidateManifestsRequest.js +0 -2
  801. package/dist/spec/usecase/dto/ValidateManifestsRequest.js.map +0 -1
  802. package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts +0 -14
  803. package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts.map +0 -1
  804. package/dist/spec/usecase/dto/ValidateManifestsResponse.js +0 -2
  805. package/dist/spec/usecase/dto/ValidateManifestsResponse.js.map +0 -1
  806. package/dist/spec/usecase/dto/index.d.ts +0 -3
  807. package/dist/spec/usecase/dto/index.d.ts.map +0 -1
  808. package/dist/spec/usecase/dto/index.js +0 -3
  809. package/dist/spec/usecase/dto/index.js.map +0 -1
  810. package/dist/spec/usecase/index.d.ts +0 -10
  811. package/dist/spec/usecase/index.d.ts.map +0 -1
  812. package/dist/spec/usecase/index.js +0 -10
  813. package/dist/spec/usecase/index.js.map +0 -1
  814. package/dist/testing/cases/before-hook.d.ts +0 -4
  815. package/dist/testing/cases/before-hook.d.ts.map +0 -1
  816. package/dist/testing/cases/before-hook.js +0 -71
  817. package/dist/testing/cases/before-hook.js.map +0 -1
  818. package/dist/testing/cases/corpus.d.ts +0 -12
  819. package/dist/testing/cases/corpus.d.ts.map +0 -1
  820. package/dist/testing/cases/corpus.js +0 -91
  821. package/dist/testing/cases/corpus.js.map +0 -1
  822. package/dist/testing/cases/policy.d.ts +0 -74
  823. package/dist/testing/cases/policy.d.ts.map +0 -1
  824. package/dist/testing/cases/policy.js +0 -142
  825. package/dist/testing/cases/policy.js.map +0 -1
  826. package/dist/testing/cases/printer.d.ts +0 -4
  827. package/dist/testing/cases/printer.d.ts.map +0 -1
  828. package/dist/testing/cases/printer.js +0 -32
  829. package/dist/testing/cases/printer.js.map +0 -1
  830. package/dist/testing/cases/report-view.d.ts +0 -5
  831. package/dist/testing/cases/report-view.d.ts.map +0 -1
  832. package/dist/testing/cases/report-view.js +0 -33
  833. package/dist/testing/cases/report-view.js.map +0 -1
  834. package/dist/testing/cases/requisition.d.ts +0 -4
  835. package/dist/testing/cases/requisition.d.ts.map +0 -1
  836. package/dist/testing/cases/requisition.js +0 -38
  837. package/dist/testing/cases/requisition.js.map +0 -1
  838. package/dist/testing/cases/search-places.d.ts +0 -4
  839. package/dist/testing/cases/search-places.d.ts.map +0 -1
  840. package/dist/testing/cases/search-places.js +0 -60
  841. package/dist/testing/cases/search-places.js.map +0 -1
  842. package/dist/testing/cases/stock.d.ts +0 -4
  843. package/dist/testing/cases/stock.d.ts.map +0 -1
  844. package/dist/testing/cases/stock.js +0 -35
  845. package/dist/testing/cases/stock.js.map +0 -1
  846. package/dist/testing/cases/store.d.ts +0 -4
  847. package/dist/testing/cases/store.d.ts.map +0 -1
  848. package/dist/testing/cases/store.js +0 -100
  849. package/dist/testing/cases/store.js.map +0 -1
  850. package/dist/testing/harness.d.ts +0 -94
  851. package/dist/testing/harness.d.ts.map +0 -1
  852. package/dist/testing/harness.js +0 -168
  853. package/dist/testing/harness.js.map +0 -1
  854. package/dist/testing/index.d.ts.map +0 -1
  855. package/dist/testing/index.js.map +0 -1
  856. package/dist/testing/report.d.ts +0 -15
  857. package/dist/testing/report.d.ts.map +0 -1
  858. package/dist/testing/report.js +0 -22
  859. package/dist/testing/report.js.map +0 -1
  860. package/dist/web/createRestSurface.d.ts +0 -7
  861. package/dist/web/createRestSurface.d.ts.map +0 -1
  862. package/dist/web/createRestSurface.js +0 -41
  863. package/dist/web/createRestSurface.js.map +0 -1
  864. package/dist/web/index.d.ts +0 -2
  865. package/dist/web/index.d.ts.map +0 -1
  866. package/dist/web/index.js +0 -2
  867. package/dist/web/index.js.map +0 -1
  868. package/docs/adr/0001-four-atom-manifest-model.md +0 -440
  869. package/docs/adr/0002-closed-enums-for-bindings.md +0 -253
  870. package/docs/adr/0007-ai-as-primary-author.md +0 -473
  871. package/docs/adr/0008-structured-diagnostic-shape.md +0 -338
  872. package/docs/adr/0009-consumer-supplied-manifests.md +0 -149
  873. package/docs/adr/0010-locale-and-translates.md +0 -453
  874. package/docs/adr/0011-adapter-port-spec.md +0 -281
  875. package/docs/adr/0012-views-as-public-rest.md +0 -161
  876. package/docs/adr/0013-agent-provisioned-consumer-projects.md +0 -154
  877. package/docs/adr/0014-auth-better-auth-and-multi-tenant-mcp.md +0 -939
  878. package/docs/adr/0016-site-semantic-layer.md +0 -70
  879. package/docs/adr/0017-media-multi-variant-agent-side-optimization.md +0 -181
  880. package/docs/adr/0018-core-starters-repository-boundary.md +0 -179
  881. package/docs/adr/0019-sealed-manifest-runtime-pipeline.md +0 -244
  882. package/docs/adr/0020-builtin-handler-contracts-and-matched-upsert.md +0 -199
  883. package/docs/adr/0021-retire-starter-scaffolding.md +0 -30
  884. package/docs/adr/0022-caller-observed-version-occ.md +0 -212
  885. package/docs/adr/0023-port-failure-contract.md +0 -69
  886. package/docs/adr/0024-manifest-native-schema-tables.md +0 -264
  887. package/docs/adr/0025-reserved-native-columns-and-published-only-public-views.md +0 -105
  888. package/docs/adr/0026-progressive-generate.md +0 -36
  889. package/docs/adr/0027-scheduled-procedure-triggers.md +0 -31
  890. package/docs/adr/0028-schema-ttl-expiry.md +0 -33
  891. package/docs/adr/0029-mcp-apps-interaction-contracts.md +0 -324
  892. package/docs/adr/0030-store.md +0 -40
  893. package/docs/adr/0031-host-cloud-core-contract.md +0 -102
  894. package/docs/adr/0032-store-centric-core-and-service-contract.md +0 -384
  895. package/docs/adr/0033-storage-converges-to-the-plan.md +0 -92
  896. package/docs/adr/0034-store-is-authored-as-sql.md +0 -192
  897. package/docs/adr/0035-sql-dialects.md +0 -154
  898. package/docs/adr/0036-host-and-dialect.md +0 -65
  899. package/docs/adr/0037-postgresql-is-the-reference-dialect.md +0 -124
  900. package/docs/adr/0038-bun-native-host.md +0 -63
  901. package/docs/adr/README.md +0 -96
  902. package/docs/adr/adr-lite-803-request-diagnostics.md +0 -38
  903. package/docs/adr/adr-lite-808-route-readiness.md +0 -47
  904. package/docs/adr/adr-lite-809-bounded-public-content.md +0 -71
  905. package/docs/adr/adr-lite-812-native-parity.md +0 -150
  906. package/docs/adr/adr-lite-823-home-statistics.md +0 -64
  907. package/docs/adr/adr-lite-842-mcp-authoring.md +0 -30
  908. package/docs/adr/adr-lite-845-frontend-client.md +0 -38
  909. package/docs/adr/adr-lite-861-admin-webmcp.md +0 -48
  910. package/docs/adr/adr-lite-909-admin-ui-kit.md +0 -37
  911. package/docs/examples/commerce-inventory.md +0 -481
  912. package/docs/examples/commerce.md +0 -254
  913. package/docs/examples/guarded-api.md +0 -238
  914. package/docs/examples/intake-hooks.md +0 -237
  915. package/docs/examples/intake.md +0 -127
  916. package/docs/examples/legal-documents.md +0 -218
  917. package/docs/examples/procurement.md +0 -226
  918. package/docs/examples/publication.md +0 -211
  919. package/docs/examples/reference-service/.mantle/generated/mantle.ts +0 -174
  920. package/docs/examples/reference-service/.mantle/generated/plan.json +0 -1936
  921. package/docs/examples/reference-service/README.md +0 -33
  922. package/docs/examples/reference-service/manifests/catalog.yaml +0 -103
  923. package/docs/examples/reference-service/manifests/orders.yaml +0 -120
  924. package/docs/examples/reference-service/mantle.config.json +0 -1
  925. package/docs/examples/reference-service/package.json +0 -27
  926. package/docs/examples/reference-service/smoke.mjs +0 -160
  927. package/docs/examples/reference-service/src/handlers.ts +0 -36
  928. package/docs/examples/reference-service/src/index.ts +0 -33
  929. package/docs/examples/reference-service/src/service.ts +0 -78
  930. package/docs/examples/reference-service/wrangler.jsonc +0 -26
  931. package/docs/examples/reservation.md +0 -142
  932. /package/docs/examples/{reference-service → app-shell}/.dev.vars.example +0 -0
@@ -1,78 +0,0 @@
1
- export function checkSchemaSearchableFields(manifest) {
2
- const raw = manifest.spec["searchableFields"];
3
- if (raw === undefined)
4
- return [];
5
- if (!Array.isArray(raw)) {
6
- return [{
7
- category: "shape",
8
- pointer: "/spec/searchableFields",
9
- value: raw,
10
- expected: "an array of unique top-level string field names",
11
- message: "Schema.spec.searchableFields must be an array of field-name strings.",
12
- }];
13
- }
14
- const properties = manifest.spec.schema.properties ?? {};
15
- const candidates = Object.keys(properties);
16
- const seen = new Set();
17
- const problems = [];
18
- raw.forEach((value, index) => {
19
- const pointer = `/spec/searchableFields/${index}`;
20
- if (typeof value !== "string") {
21
- problems.push({
22
- category: "shape",
23
- pointer,
24
- value,
25
- expected: "a field-name string",
26
- message: `Schema.spec.searchableFields[${index}] must be a field-name string.`,
27
- });
28
- return;
29
- }
30
- if (seen.has(value)) {
31
- problems.push({
32
- category: "invalid",
33
- pointer,
34
- value,
35
- expected: "each field to appear once",
36
- message: `Schema.spec.searchableFields repeats field '${value}'.`,
37
- });
38
- return;
39
- }
40
- seen.add(value);
41
- if (!Object.hasOwn(properties, value)) {
42
- problems.push({
43
- category: "field-unknown",
44
- pointer,
45
- value,
46
- expected: "an exact top-level key in spec.schema.properties",
47
- candidates,
48
- message: `Schema '${manifest.metadata.name}' searchableFields references unknown top-level field '${value}'.`,
49
- });
50
- return;
51
- }
52
- if (!isStringProperty(properties[value])) {
53
- problems.push({
54
- category: "invalid",
55
- pointer,
56
- value,
57
- expected: "a top-level string property, optionally nullable, not a date or date-time",
58
- message: `Schema '${manifest.metadata.name}' searchable field '${value}' is not a string property.`,
59
- });
60
- }
61
- });
62
- return problems;
63
- }
64
- function isStringProperty(property) {
65
- if (!property || typeof property !== "object" || Array.isArray(property))
66
- return false;
67
- const rawType = property["type"];
68
- // a date or a timestamp is stored as a number (ADR-0034 decision 5), so its text is not what search would match
69
- if (["date", "date-time"].includes(String(property["format"])))
70
- return false;
71
- if (rawType === "string")
72
- return true;
73
- return Array.isArray(rawType) &&
74
- rawType.length > 0 &&
75
- rawType.every((type) => type === "string" || type === "null") &&
76
- rawType.includes("string");
77
- }
78
- //# sourceMappingURL=SchemaSearchChecker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaSearchChecker.js","sourceRoot":"","sources":["../../../../src/spec/domain/service/SchemaSearchChecker.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,2BAA2B,CACzC,QAAwB;IAExB,MAAM,GAAG,GAAI,QAAQ,CAAC,IAA2C,CAAC,kBAAkB,CAAC,CAAC;IACtF,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC;gBACN,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,wBAAwB;gBACjC,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,iDAAiD;gBAC3D,OAAO,EAAE,sEAAsE;aAChF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAC3C,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,0BAA0B,KAAK,EAAE,CAAC;QAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,OAAO;gBACjB,OAAO;gBACP,KAAK;gBACL,QAAQ,EAAE,qBAAqB;gBAC/B,OAAO,EAAE,gCAAgC,KAAK,gCAAgC;aAC/E,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,SAAS;gBACnB,OAAO;gBACP,KAAK;gBACL,QAAQ,EAAE,2BAA2B;gBACrC,OAAO,EAAE,+CAA+C,KAAK,IAAI;aAClE,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,eAAe;gBACzB,OAAO;gBACP,KAAK;gBACL,QAAQ,EAAE,kDAAkD;gBAC5D,UAAU;gBACV,OAAO,EAAE,WAAW,QAAQ,CAAC,QAAQ,CAAC,IAAI,0DAA0D,KAAK,IAAI;aAC9G,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,SAAS;gBACnB,OAAO;gBACP,KAAK;gBACL,QAAQ,EAAE,2EAA2E;gBACrF,OAAO,EAAE,WAAW,QAAQ,CAAC,QAAQ,CAAC,IAAI,uBAAuB,KAAK,6BAA6B;aACpG,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAiB;IACzC,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACvF,MAAM,OAAO,GAAI,QAAoC,CAAC,MAAM,CAAC,CAAC;IAC9D,gHAAgH;IAChH,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAE,QAAoC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1G,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3B,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC;QAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC"}
@@ -1,31 +0,0 @@
1
- /** Schema.spec: its JSON Schema subset, local refs, indexes, search and Admin UI. */
2
- import { type SchemaManifest } from "../model/ManifestGrammar.js";
3
- export declare function validateSchemaSpec(m: SchemaManifest, idx: number): SchemaManifest;
4
- export declare function validateJsonSchema(root: unknown, idx: number, kind: "Schema" | "View" | "Procedure", name: string, basePointer: string): void;
5
- /** The most values one `enum` lists. */
6
- export declare const MAX_JSON_SCHEMA_ENUM = 1000;
7
- /** The longest `pattern`. */
8
- export declare const MAX_JSON_SCHEMA_PATTERN = 1000;
9
- /**
10
- * Why a JSON Schema `pattern` could backtrack exponentially (or undefined): a JavaScript regex backtracks, and a caller's string
11
- * runs it on every call. Refused, conservatively: a group repeated more than once whose body itself repeats a variable number of
12
- * times (`(a+)+`, `(a*b?)*`, `((ab)+c)+`) or alternates (`(a|ab)+`), and a backreference. Character classes and escapes are atoms.
13
- */
14
- export declare function unsafePattern(pattern: string): string | undefined;
15
- /**
16
- * The backtracking a `pattern` can cost on one string of length n, as `branches × n^exponent`. `exponent` counts the quantifiers
17
- * that repeat a variable number of times — `*`, `+`, `?`, `{m,}` and `{m,n}` with m ≠ n — outside character classes and escapes (a
18
- * regex can split a string between k of them about n^k ways: `^a*a*a*$`), plus one when the pattern does not start with `^`, since
19
- * an unanchored pattern is retried at every start offset. `branches` multiplies the alternatives of every alternation (`(a|b)(c|d)`
20
- * tries up to 4 paths). A guard against accidental catastrophic backtracking, not a proof of bounded work: fixed counts,
21
- * lookarounds and many patterned strings in one value cost more than the estimate. Untrusted plans need a per-request CPU limit.
22
- */
23
- export declare function patternCost(pattern: string): {
24
- exponent: number;
25
- branches: number;
26
- };
27
- /** The most backtracking steps a `pattern` may cost on one string: `branches × maxLength^exponent` (`patternCost`). */
28
- export declare const MAX_PATTERN_WORK = 10000000;
29
- /** The longest maxLength a pattern of this cost may declare: the largest n with branches × n^exponent ≤ MAX_PATTERN_WORK (0 if none). */
30
- export declare function maxPatternLength(exponent: number, branches?: number): number;
31
- //# sourceMappingURL=SchemaSpecChecks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaSpecChecks.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/SchemaSpecChecks.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,EAA+E,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAO/I,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAmPjF;AAqBD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,EACrC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,IAAI,CA6JN;AAED,wCAAwC;AACxC,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAC1C,6BAA6B;AAC7B,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAE7C;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAGnF;AAED,uHAAuH;AACvH,eAAO,MAAM,gBAAgB,WAAa,CAAC;AAE3C,yIAAyI;AACzI,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAQvE"}
@@ -1,445 +0,0 @@
1
- /** Schema.spec: its JSON Schema subset, local refs, indexes, search and Admin UI. */
2
- import { MANTLE_BIND_KEYWORD, RESERVED_ENTRY_COLUMNS, RESERVED_PROCEDURE_INPUT_NAMES } from "../model/ManifestGrammar.js";
3
- import { ManifestParseError, V01_LIFECYCLE_MODES, escapeJsonPointerSegment, rejectUnknownKeys, validateLocalizedText } from "./ManifestFieldChecks.js";
4
- import { checkSchemaAdminUi } from "./SchemaAdminUiChecker.js";
5
- import { checkSchemaIndexes, schemaIndexDiagnosticCode } from "./SchemaIndexChecker.js";
6
- import { checkSchemaSearchableFields } from "./SchemaSearchChecker.js";
7
- import { MAX_TTL_SECONDS, isTtlSeconds } from "./SqlTypes.js";
8
- export function validateSchemaSpec(m, idx) {
9
- const s = m.spec;
10
- rejectUnknownKeys(s, [
11
- "title",
12
- "description",
13
- "schema",
14
- "uiSchema",
15
- "checks",
16
- "uniqueIndexes",
17
- "indexes",
18
- "searchableFields",
19
- "localized",
20
- "translates",
21
- "lifecycle",
22
- "ttl",
23
- "scope",
24
- ], idx, "/spec");
25
- if (typeof s["schema"] !== "object" || s["schema"] === null) {
26
- throw new ManifestParseError("Schema.spec.schema is required", idx, "/spec/schema");
27
- }
28
- validateLocalizedText(s["title"], idx, "/spec/title", "Schema.spec.title", true);
29
- validateLocalizedText(s["description"], idx, "/spec/description", "Schema.spec.description", false);
30
- const indexProblem = checkSchemaIndexes(m).problems[0];
31
- if (indexProblem) {
32
- throw new ManifestParseError(indexProblem.message, idx, indexProblem.pointer, schemaIndexDiagnosticCode(indexProblem, true));
33
- }
34
- const searchProblem = checkSchemaSearchableFields(m)[0];
35
- if (searchProblem) {
36
- throw new ManifestParseError(searchProblem.message, idx, searchProblem.pointer, searchProblem.category === "shape"
37
- ? "INVALID_MANIFEST_ENVELOPE"
38
- : searchProblem.category === "field-unknown"
39
- ? "SCHEMA_SEARCH_FIELD_UNKNOWN"
40
- : "SCHEMA_SEARCH_INVALID");
41
- }
42
- const adminUiProblem = checkSchemaAdminUi(m).problems[0];
43
- if (adminUiProblem) {
44
- throw new ManifestParseError(adminUiProblem.message, idx, adminUiProblem.pointer, "SCHEMA_UI_INVALID");
45
- }
46
- if ("checks" in s && (!Array.isArray(s["checks"]) || s["checks"].some((c) => typeof c !== "string" || !c.trim()))) {
47
- throw new ManifestParseError("Schema.spec.checks must be a list of SQL boolean expressions", idx, "/spec/checks");
48
- }
49
- if ("localized" in s && typeof s["localized"] !== "boolean") {
50
- throw new ManifestParseError(`Schema.spec.localized must be a boolean; got ${JSON.stringify(s["localized"])}`, idx, "/spec/localized");
51
- }
52
- const schema = s["schema"];
53
- const properties = schema["properties"];
54
- if (s["ttl"] !== undefined) {
55
- const ttl = s["ttl"];
56
- if (!ttl || typeof ttl !== "object" || Array.isArray(ttl)) {
57
- throw new ManifestParseError("Schema.spec.ttl must be a mapping", idx, "/spec/ttl", "SCHEMA_TTL_INVALID");
58
- }
59
- const policy = ttl;
60
- rejectUnknownKeys(policy, ["field", "expireAfterSeconds"], idx, "/spec/ttl");
61
- const field = policy["field"];
62
- const seconds = policy["expireAfterSeconds"];
63
- const property = typeof field === "string" && properties && typeof properties === "object" && !Array.isArray(properties)
64
- ? properties[field] : undefined;
65
- const types = property && (typeof property["type"] === "string" ? [property["type"]] : property["type"]);
66
- if (typeof field !== "string" || !field || !property || property["format"] !== "date-time" ||
67
- !Array.isArray(types) || !types.includes("string") || types.some((type) => type !== "string" && type !== "null") ||
68
- !isTtlSeconds(seconds)) {
69
- throw new ManifestParseError(`Schema.spec.ttl requires a top-level date-time string field and expireAfterSeconds a whole number from 0 to ${MAX_TTL_SECONDS}`, idx, "/spec/ttl", "SCHEMA_TTL_INVALID");
70
- }
71
- }
72
- const propertyNames = properties && typeof properties === "object" && !Array.isArray(properties)
73
- ? Object.keys(properties)
74
- : [];
75
- if (s["scope"] !== undefined) {
76
- const scope = s["scope"];
77
- if (!scope || typeof scope !== "object" || Array.isArray(scope) || Object.keys(scope).length !== 1) {
78
- throw new ManifestParseError("Schema.spec.scope must bind exactly one field to auth.uid()", idx, "/spec/scope");
79
- }
80
- const [field, ref] = Object.entries(scope)[0];
81
- const property = properties && typeof properties === "object" && !Array.isArray(properties)
82
- ? properties[field] : undefined;
83
- if (ref !== "auth.uid()" || !property || property["type"] !== "string" || property["nullable"] === true || property["oneOf"] !== undefined ||
84
- !Array.isArray(schema["required"]) || !schema["required"].includes(field) ||
85
- ![...(m.spec.uniqueIndexes ?? []), ...(m.spec.indexes ?? [])].some((index) => index[0] === field)) {
86
- throw new ManifestParseError("Schema.spec.scope requires a required string field with a leftmost index and the exact auth.uid() reference", idx, "/spec/scope");
87
- }
88
- if ((m.spec.uniqueIndexes ?? []).some((index) => index[0] !== field)) {
89
- throw new ManifestParseError("Scoped Schema unique indexes must begin with the scope field", idx, "/spec/uniqueIndexes");
90
- }
91
- }
92
- if (s["localized"] !== true && propertyNames.includes("locale")) {
93
- throw new ManifestParseError("Non-localized Schema must not declare the reserved entry field 'locale'; use a domain name such as 'orderLocale', or set localized: true.", idx, "/spec/schema/properties/locale");
94
- }
95
- for (const reserved of RESERVED_ENTRY_COLUMNS) {
96
- if (!propertyNames.includes(reserved))
97
- continue;
98
- throw new ManifestParseError(`Schema '${m.metadata.name}' must not declare the native entry column '${reserved}' as a data property; use a domain name such as 'submittedAt' or 'orderStatus'. Native columns are readable in Views and indexable through spec.indexes without being declared (handbook: reference/schema.md#reserved-entry-columns).`, idx, `/spec/schema/properties/${reserved}`);
99
- }
100
- for (const reserved of RESERVED_PROCEDURE_INPUT_NAMES) {
101
- if (!propertyNames.includes(reserved))
102
- continue;
103
- throw new ManifestParseError(`Schema '${m.metadata.name}' must not declare reserved Procedure input name '${reserved}' as a data property (ADR-0022). New reserved names need an ADR.`, idx, `/spec/schema/properties/${reserved}`);
104
- }
105
- const required = schema["required"];
106
- if (Array.isArray(required)) {
107
- const unknownIndex = required.findIndex((field) => typeof field === "string" && !propertyNames.includes(field));
108
- if (unknownIndex >= 0) {
109
- const field = required[unknownIndex];
110
- throw new ManifestParseError(`Schema '${m.metadata.name}' lists '${String(field)}' in required but never declares it under properties — the constraint is silently unenforced.`, idx, `/spec/schema/required/${unknownIndex}`, "REQUIRED_FIELD_UNKNOWN", {
111
- value: field,
112
- expected: "name of a property declared in spec.schema.properties",
113
- candidates: propertyNames,
114
- });
115
- }
116
- }
117
- validateJsonSchema(s["schema"], idx, "Schema", m.metadata.name, "/spec/schema");
118
- if (properties && typeof properties === "object" && !Array.isArray(properties)) {
119
- for (const [propertyName, property] of Object.entries(properties)) {
120
- if (!property || typeof property !== "object" || Array.isArray(property))
121
- continue;
122
- // 0.1.x stamped the field on write; 0.2.0 stamps nothing from it, so accepting it would leave the field caller-supplied
123
- if (MANTLE_BIND_KEYWORD in property) {
124
- throw new ManifestParseError(`Schema '${m.metadata.name}' property '${propertyName}': x-mantle-bind is removed. Use spec.scope for the caller's own field, or set it in the Procedure's SQL (auth.uid(), now()).`, idx, `/spec/schema/properties/${propertyName}/${MANTLE_BIND_KEYWORD}`);
125
- }
126
- }
127
- }
128
- if ("lifecycle" in s) {
129
- const lc = s["lifecycle"];
130
- if (typeof lc !== "string" || !V01_LIFECYCLE_MODES.has(lc)) {
131
- throw new ManifestParseError(`Schema.spec.lifecycle must be one of ${[...V01_LIFECYCLE_MODES].join(", ")}; got ${JSON.stringify(lc)}`, idx, "/spec/lifecycle");
132
- }
133
- }
134
- if ("translates" in s && s["translates"] != null) {
135
- const t = s["translates"];
136
- if (typeof t !== "object" || Array.isArray(t)) {
137
- throw new ManifestParseError("Schema.spec.translates must be an object { parent, on }", idx, "/spec/translates");
138
- }
139
- const tr = t;
140
- rejectUnknownKeys(tr, ["parent", "on"], idx, "/spec/translates");
141
- if (typeof tr["parent"] !== "string" || tr["parent"].length === 0) {
142
- throw new ManifestParseError("Schema.spec.translates.parent is required (non-empty Schema name)", idx, "/spec/translates/parent");
143
- }
144
- if (typeof tr["on"] !== "string" || tr["on"].length === 0) {
145
- throw new ManifestParseError("Schema.spec.translates.on is required (non-empty field name)", idx, "/spec/translates/on");
146
- }
147
- if (s["localized"] !== true) {
148
- throw new ManifestParseError("Schema.spec.translates requires Schema.spec.localized: true (a non-localized translation table is meaningless)", idx, "/spec/translates", "TRANSLATES_REQUIRES_LOCALIZED");
149
- }
150
- if (!propertyNames.some((name) => name !== "locale" && name !== tr["on"])) {
151
- throw new ManifestParseError("Schema.spec.translates requires at least one locale-specific field besides 'locale' and the join field", idx, "/spec/schema/properties", "TRANSLATES_REQUIRES_CONTENT_FIELD");
152
- }
153
- if (!propertyNames.includes(tr["on"])) {
154
- throw new ManifestParseError(`Schema '${m.metadata.name}' translates.on field '${String(tr["on"])}' is not declared on this Schema's own properties.`, idx, "/spec/translates/on", "TRANSLATES_FIELD_NOT_IN_CHILD", {
155
- value: tr["on"],
156
- expected: `field declared in Schema '${m.metadata.name}' spec.schema.properties`,
157
- candidates: propertyNames,
158
- });
159
- }
160
- }
161
- return m;
162
- }
163
- const UNSUPPORTED_JSON_SCHEMA_KEYWORDS = new Set([
164
- "anyOf",
165
- "allOf",
166
- "not",
167
- "if",
168
- "then",
169
- "else",
170
- "$anchor",
171
- "$dynamicAnchor",
172
- "$dynamicRef",
173
- "definitions",
174
- "patternProperties",
175
- "prefixItems",
176
- "contains",
177
- "dependentSchemas",
178
- "propertyNames",
179
- "unevaluatedProperties",
180
- ]);
181
- export function validateJsonSchema(root, idx, kind, name, basePointer) {
182
- if (!root || typeof root !== "object" || Array.isArray(root)) {
183
- throw new ManifestParseError(`${kind} '${name}' JSON Schema must be an object`, idx, basePointer);
184
- }
185
- const rootObject = root;
186
- let nodes = 0;
187
- /** every `$ref`: where it is, what it says, and the schema it resolves to */
188
- const refs = [];
189
- const visit = (node, pointer, depth) => {
190
- if (!node || typeof node !== "object" || Array.isArray(node)) {
191
- throw new ManifestParseError(`${kind} '${name}' has a non-object JSON Schema at ${pointer}`, idx, pointer);
192
- }
193
- if (depth > 100 || ++nodes > 10_000) {
194
- throw new ManifestParseError(`${kind} '${name}' exceeds the JSON Schema complexity limit`, idx, pointer, "JSON_SCHEMA_LIMIT_EXCEEDED");
195
- }
196
- const value = node;
197
- for (const keyword of UNSUPPORTED_JSON_SCHEMA_KEYWORDS) {
198
- if (keyword in value) {
199
- throw new ManifestParseError(`${kind} '${name}' uses unsupported JSON Schema keyword '${keyword}'`, idx, `${pointer}/${escapeJsonPointerSegment(keyword)}`, "JSON_SCHEMA_UNSUPPORTED");
200
- }
201
- }
202
- if ("$ref" in value)
203
- refs.push([`${pointer}/$ref`, value["$ref"], validateLocalSchemaRef(value["$ref"], rootObject, idx, kind, name, `${pointer}/$ref`)]);
204
- if (value["enum"] !== undefined && (!Array.isArray(value["enum"]) || value["enum"].length > MAX_JSON_SCHEMA_ENUM)) {
205
- throw new ManifestParseError(`${kind} '${name}' enum must be a list of at most ${MAX_JSON_SCHEMA_ENUM} values`, idx, `${pointer}/enum`, "JSON_SCHEMA_LIMIT_EXCEEDED");
206
- }
207
- if (value["pattern"] !== undefined) {
208
- const problem = typeof value["pattern"] === "string" ? unsafePattern(value["pattern"]) : "a pattern is a string";
209
- if (problem) {
210
- throw new ManifestParseError(`${kind} '${name}' has a regex pattern at ${pointer} that could take exponential time: ${problem}`, idx, `${pointer}/pattern`, "INVALID_PATTERN", { value: value["pattern"], expected: `a regular expression of at most ${MAX_JSON_SCHEMA_PATTERN} characters with no repeated group that itself repeats or alternates` });
211
- }
212
- try {
213
- new RegExp(value["pattern"]);
214
- }
215
- catch (error) {
216
- throw new ManifestParseError(`${kind} '${name}' has an uncompilable regex pattern at ${pointer}: ${error instanceof Error ? error.message : String(error)}`, idx, `${pointer}/pattern`, "INVALID_PATTERN", {
217
- value: value["pattern"],
218
- expected: "a valid JavaScript regular expression",
219
- });
220
- }
221
- // Adjacent variable quantifiers (`a*a*a*`), the unanchored retry at every start offset and chained alternations backtrack
222
- const { exponent, branches } = patternCost(value["pattern"]);
223
- const maxLength = value["maxLength"];
224
- const bounded = typeof maxLength === "number" && Number.isInteger(maxLength) && maxLength >= 0;
225
- if (branches * (exponent === 0 ? 1 : bounded ? maxLength ** exponent : Infinity) > MAX_PATTERN_WORK) {
226
- const limit = maxPatternLength(exponent, branches);
227
- const cost = `${branches === 1 ? "" : `${branches} alternative paths × `}maxLength^${exponent}`;
228
- throw new ManifestParseError(`${kind} '${name}' has a regex pattern at ${pointer} that could cost ${cost} backtracking steps on one string (${exponent} = its variable quantifiers *, +, ?, {m,}, {m,n}, plus 1 unless it starts with ^), over the ${MAX_PATTERN_WORK} limit. ${limit > 0 ? `Declare maxLength of at most ${limit}, anchor it with ^, or use fewer variable quantifiers or alternatives.` : "Use fewer alternatives, or an enum."}`, idx, `${pointer}/pattern`, "INVALID_PATTERN", { value: value["pattern"], expected: limit > 0 ? `a string with maxLength of at most ${limit}` : `at most ${MAX_PATTERN_WORK} alternative paths` });
229
- }
230
- }
231
- const properties = value["properties"];
232
- if (properties !== undefined && (!properties || typeof properties !== "object" || Array.isArray(properties))) {
233
- throw new ManifestParseError(`${kind} '${name}' properties must be an object`, idx, `${pointer}/properties`);
234
- }
235
- if (properties && typeof properties === "object") {
236
- for (const [property, child] of Object.entries(properties)) {
237
- visit(child, `${pointer}/properties/${escapeJsonPointerSegment(property)}`, depth + 1);
238
- }
239
- }
240
- if (value["items"] !== undefined)
241
- visit(value["items"], `${pointer}/items`, depth + 1);
242
- if (typeof value["additionalProperties"] === "object" && value["additionalProperties"] !== null) {
243
- visit(value["additionalProperties"], `${pointer}/additionalProperties`, depth + 1);
244
- }
245
- else if (value["additionalProperties"] !== undefined &&
246
- typeof value["additionalProperties"] !== "boolean") {
247
- throw new ManifestParseError(`${kind} '${name}' additionalProperties must be a boolean or schema`, idx, `${pointer}/additionalProperties`);
248
- }
249
- const defs = value["$defs"];
250
- if (defs !== undefined) {
251
- if (!defs || typeof defs !== "object" || Array.isArray(defs)) {
252
- throw new ManifestParseError(`${kind} '${name}' $defs must be an object`, idx, `${pointer}/$defs`);
253
- }
254
- for (const [definition, child] of Object.entries(defs)) {
255
- visit(child, `${pointer}/$defs/${escapeJsonPointerSegment(definition)}`, depth + 1);
256
- }
257
- }
258
- const oneOf = value["oneOf"];
259
- if (oneOf !== undefined) {
260
- if (!Array.isArray(oneOf) || oneOf.length === 0) {
261
- throw new ManifestParseError(`${kind} '${name}' oneOf must be a non-empty array`, idx, `${pointer}/oneOf`);
262
- }
263
- oneOf.forEach((child, index) => visit(child, `${pointer}/oneOf/${index}`, depth + 1));
264
- }
265
- };
266
- visit(root, basePointer, 0);
267
- // A `$ref` that reaches itself through `$ref` and `oneOf` alone never reaches a value: the validator would recurse until the
268
- // stack overflows on every call. A cycle through `properties`, `items` or `additionalProperties` reads one level of the value
269
- // each turn, so it ends with the value.
270
- const target = new Map(refs.map(([, ref, node]) => [ref, node]));
271
- const next = (node) => !node || typeof node !== "object" ? [] : [
272
- ...("$ref" in node ? [node["$ref"]] : []),
273
- ...(Array.isArray(node["oneOf"]) ? node["oneOf"].flatMap(next) : []),
274
- ];
275
- const done = new Set();
276
- const onPath = new Set();
277
- let at = basePointer;
278
- const cycle = (ref) => {
279
- if (onPath.has(ref))
280
- return true;
281
- if (done.has(ref))
282
- return false;
283
- onPath.add(ref);
284
- // a target outside the schemas visited above (a `$ref` into an `enum` value) is resolved by the same rule
285
- const node = typeof ref === "string" && target.has(ref) ? target.get(ref) : validateLocalSchemaRef(ref, rootObject, idx, kind, name, at);
286
- const found = next(node).some(cycle);
287
- onPath.delete(ref);
288
- done.add(ref);
289
- return found;
290
- };
291
- for (const [pointer, ref] of refs) {
292
- at = pointer;
293
- if (cycle(ref)) {
294
- throw new ManifestParseError(`${kind} '${name}' $ref '${ref}' refers back to itself without reading any part of the value`, idx, pointer, "JSON_SCHEMA_REF_INVALID", { value: ref, expected: "a $ref cycle only through properties, items or additionalProperties" });
295
- }
296
- }
297
- }
298
- /** The most values one `enum` lists. */
299
- export const MAX_JSON_SCHEMA_ENUM = 1_000;
300
- /** The longest `pattern`. */
301
- export const MAX_JSON_SCHEMA_PATTERN = 1_000;
302
- /**
303
- * Why a JSON Schema `pattern` could backtrack exponentially (or undefined): a JavaScript regex backtracks, and a caller's string
304
- * runs it on every call. Refused, conservatively: a group repeated more than once whose body itself repeats a variable number of
305
- * times (`(a+)+`, `(a*b?)*`, `((ab)+c)+`) or alternates (`(a|ab)+`), and a backreference. Character classes and escapes are atoms.
306
- */
307
- export function unsafePattern(pattern) {
308
- return scanPattern(pattern).problem;
309
- }
310
- /**
311
- * The backtracking a `pattern` can cost on one string of length n, as `branches × n^exponent`. `exponent` counts the quantifiers
312
- * that repeat a variable number of times — `*`, `+`, `?`, `{m,}` and `{m,n}` with m ≠ n — outside character classes and escapes (a
313
- * regex can split a string between k of them about n^k ways: `^a*a*a*$`), plus one when the pattern does not start with `^`, since
314
- * an unanchored pattern is retried at every start offset. `branches` multiplies the alternatives of every alternation (`(a|b)(c|d)`
315
- * tries up to 4 paths). A guard against accidental catastrophic backtracking, not a proof of bounded work: fixed counts,
316
- * lookarounds and many patterned strings in one value cost more than the estimate. Untrusted plans need a per-request CPU limit.
317
- */
318
- export function patternCost(pattern) {
319
- const { variable, branches, anchored } = scanPattern(pattern);
320
- return { exponent: variable + (anchored ? 0 : 1), branches };
321
- }
322
- /** The most backtracking steps a `pattern` may cost on one string: `branches × maxLength^exponent` (`patternCost`). */
323
- export const MAX_PATTERN_WORK = 10_000_000;
324
- /** The longest maxLength a pattern of this cost may declare: the largest n with branches × n^exponent ≤ MAX_PATTERN_WORK (0 if none). */
325
- export function maxPatternLength(exponent, branches = 1) {
326
- const work = MAX_PATTERN_WORK / branches;
327
- if (work < 1)
328
- return 0;
329
- if (exponent === 0)
330
- return Infinity;
331
- let n = Math.floor(work ** (1 / exponent));
332
- while ((n + 1) ** exponent <= work)
333
- n++;
334
- while (n > 0 && n ** exponent > work)
335
- n--;
336
- return n;
337
- }
338
- function scanPattern(pattern) {
339
- let variable = 0;
340
- let branches = 1;
341
- const anchored = pattern.startsWith("^");
342
- if (pattern.length > MAX_JSON_SCHEMA_PATTERN)
343
- return { problem: `longer than ${MAX_JSON_SCHEMA_PATTERN} characters`, variable, branches, anchored };
344
- const stack = [{ quantified: false, alternates: false, branches: 1 }];
345
- let group; // the group just closed, when it is the atom a quantifier would apply to
346
- let atom = false; // there is an atom a quantifier would apply to
347
- for (let i = 0; i < pattern.length; i++) {
348
- const c = pattern[i];
349
- const top = stack.at(-1);
350
- // a quantifier: `*`, `+`, `?`, `{n}`, `{n,}`, `{n,m}` (a `{` of another shape is a literal)
351
- const brace = c === "{" ? /^\{(\d+)(,(\d*))?\}/.exec(pattern.slice(i)) : null;
352
- if (atom && (c === "*" || c === "+" || c === "?" || brace)) {
353
- const min = brace ? +brace[1] : c === "+" ? 1 : 0;
354
- const max = brace ? (brace[2] === undefined ? min : brace[3] ? +brace[3] : Infinity) : c === "?" ? 1 : Infinity;
355
- if (brace)
356
- i += brace[0].length - 1;
357
- if (pattern[i + 1] === "?")
358
- i++; // lazy
359
- if (group && max > 1 && group.quantified)
360
- return { problem: "a repeated group whose body repeats (nested quantifiers)", variable, branches, anchored };
361
- if (group && max > 1 && group.alternates)
362
- return { problem: "a repeated group whose body alternates", variable, branches, anchored };
363
- if (max !== min) {
364
- top.quantified = true;
365
- variable++;
366
- }
367
- group = undefined;
368
- atom = false;
369
- continue;
370
- }
371
- group = undefined;
372
- atom = true;
373
- if (c === "\\") {
374
- const e = pattern[i + 1];
375
- if (e !== undefined && (/[1-9]/.test(e) || e === "k"))
376
- return { problem: "a backreference", variable, branches, anchored };
377
- i++;
378
- }
379
- else if (c === "[") {
380
- let j = i + 1;
381
- if (pattern[j] === "^")
382
- j++; // without the u or v flag a class ends at its first `]`: `[]` and `[^]` are whole classes
383
- while (j < pattern.length && pattern[j] !== "]")
384
- j += pattern[j] === "\\" ? 2 : 1;
385
- i = j;
386
- }
387
- else if (c === "(") {
388
- stack.push({ quantified: false, alternates: false, branches: 1 });
389
- atom = false;
390
- if (pattern[i + 1] === "?") {
391
- const head = /^\?(?::|=|!|<=|<!|<[A-Za-z_$][\w$]*>)/.exec(pattern.slice(i + 1));
392
- if (head)
393
- i += head[0].length;
394
- }
395
- }
396
- else if (c === ")" && stack.length > 1) {
397
- const closed = stack.pop();
398
- const parent = stack.at(-1);
399
- parent.quantified ||= closed.quantified;
400
- parent.alternates ||= closed.alternates;
401
- branches *= closed.branches;
402
- group = closed;
403
- }
404
- else if (c === "|") {
405
- top.alternates = true;
406
- top.branches++;
407
- atom = false;
408
- }
409
- else if (c === "^" || c === "$") {
410
- atom = false;
411
- }
412
- }
413
- // a top-level alternative after `|` is not anchored by the leading `^`
414
- return { variable, branches: branches * stack[0].branches, anchored: anchored && stack[0].branches === 1 };
415
- }
416
- function validateLocalSchemaRef(ref, root, idx, kind, name, pointer) {
417
- if (typeof ref !== "string" || !ref.startsWith("#/$defs/")) {
418
- throw new ManifestParseError(`${kind} '${name}' $ref must be a same-document pointer beginning '#/$defs/'`, idx, pointer, "JSON_SCHEMA_REF_INVALID", { value: ref, expected: "#/$defs/<definition>" });
419
- }
420
- let tokens;
421
- try {
422
- tokens = decodeURIComponent(ref.slice(2)).split("/");
423
- }
424
- catch {
425
- tokens = undefined;
426
- }
427
- let current = tokens ? root : undefined;
428
- for (const token of tokens ?? []) {
429
- if (/~(?:[^01]|$)/.test(token))
430
- current = undefined;
431
- else if (current && typeof current === "object") {
432
- const key = token.replace(/~1/g, "/").replace(/~0/g, "~");
433
- current = Object.prototype.hasOwnProperty.call(current, key)
434
- ? current[key]
435
- : undefined;
436
- }
437
- else
438
- current = undefined;
439
- }
440
- if (!current || typeof current !== "object" || Array.isArray(current)) {
441
- throw new ManifestParseError(`${kind} '${name}' cannot resolve local $ref '${ref}'`, idx, pointer, "JSON_SCHEMA_REF_INVALID", { value: ref, expected: "a JSON Schema object in this document" });
442
- }
443
- return current;
444
- }
445
- //# sourceMappingURL=SchemaSpecChecks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaSpecChecks.js","sourceRoot":"","sources":["../../../../src/spec/domain/service/SchemaSpecChecks.ts"],"names":[],"mappings":"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"}