@aotter/mantle 0.1.4 → 0.2.0-alpha.1

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 (849) hide show
  1. package/README.md +39 -306
  2. package/dist/admin/consent.d.ts +17 -0
  3. package/dist/admin/consent.d.ts.map +1 -0
  4. package/dist/admin/consent.js +17 -0
  5. package/dist/admin/consent.js.map +1 -0
  6. package/dist/admin/createAdminSurface.d.ts +22 -0
  7. package/dist/admin/createAdminSurface.d.ts.map +1 -0
  8. package/dist/admin/createAdminSurface.js +589 -0
  9. package/dist/admin/createAdminSurface.js.map +1 -0
  10. package/dist/admin/developerConsole.d.ts +264 -0
  11. package/dist/admin/developerConsole.d.ts.map +1 -0
  12. package/dist/admin/developerConsole.js +136 -0
  13. package/dist/admin/developerConsole.js.map +1 -0
  14. package/dist/admin/identity.d.ts +62 -0
  15. package/dist/admin/identity.d.ts.map +1 -0
  16. package/dist/admin/identity.js +7 -0
  17. package/dist/admin/identity.js.map +1 -0
  18. package/dist/admin/index.d.ts +4 -0
  19. package/dist/admin/index.d.ts.map +1 -0
  20. package/dist/admin/index.js +4 -0
  21. package/dist/admin/index.js.map +1 -0
  22. package/dist/admin/procedureFlow.d.ts +25 -0
  23. package/dist/admin/procedureFlow.d.ts.map +1 -0
  24. package/dist/admin/procedureFlow.js +154 -0
  25. package/dist/admin/procedureFlow.js.map +1 -0
  26. package/dist/auth/ConsoleEmailSender.d.ts +15 -0
  27. package/dist/auth/ConsoleEmailSender.d.ts.map +1 -0
  28. package/dist/auth/ConsoleEmailSender.js +19 -0
  29. package/dist/auth/ConsoleEmailSender.js.map +1 -0
  30. package/dist/auth/appleClientSecret.d.ts +75 -0
  31. package/dist/auth/appleClientSecret.d.ts.map +1 -0
  32. package/dist/auth/appleClientSecret.js +116 -0
  33. package/dist/auth/appleClientSecret.js.map +1 -0
  34. package/dist/auth/buildAuth.d.ts +4565 -0
  35. package/dist/auth/buildAuth.d.ts.map +1 -0
  36. package/dist/auth/buildAuth.js +307 -0
  37. package/dist/auth/buildAuth.js.map +1 -0
  38. package/dist/auth/callerResolver.d.ts +48 -0
  39. package/dist/auth/callerResolver.d.ts.map +1 -0
  40. package/dist/auth/callerResolver.js +49 -0
  41. package/dist/auth/callerResolver.js.map +1 -0
  42. package/dist/auth/createAuthRoutes.d.ts +22 -0
  43. package/dist/auth/createAuthRoutes.d.ts.map +1 -0
  44. package/dist/auth/createAuthRoutes.js +128 -0
  45. package/dist/auth/createAuthRoutes.js.map +1 -0
  46. package/dist/auth/createMantleAuth.d.ts +3 -0
  47. package/dist/auth/createMantleAuth.d.ts.map +1 -0
  48. package/dist/auth/createMantleAuth.js +483 -0
  49. package/dist/auth/createMantleAuth.js.map +1 -0
  50. package/dist/auth/db.d.ts +17 -0
  51. package/dist/auth/db.d.ts.map +1 -0
  52. package/dist/auth/db.js +24 -0
  53. package/dist/auth/db.js.map +1 -0
  54. package/dist/auth/emailTemplates.d.ts +7 -0
  55. package/dist/auth/emailTemplates.d.ts.map +1 -0
  56. package/dist/auth/emailTemplates.js +27 -0
  57. package/dist/auth/emailTemplates.js.map +1 -0
  58. package/dist/auth/index.d.ts +9 -0
  59. package/dist/auth/index.d.ts.map +1 -0
  60. package/dist/auth/index.js +7 -0
  61. package/dist/auth/index.js.map +1 -0
  62. package/dist/auth/methods.d.ts +717 -0
  63. package/dist/auth/methods.d.ts.map +1 -0
  64. package/dist/auth/methods.js +321 -0
  65. package/dist/auth/methods.js.map +1 -0
  66. package/dist/auth/oauthTokens.d.ts +24 -0
  67. package/dist/auth/oauthTokens.d.ts.map +1 -0
  68. package/dist/auth/oauthTokens.js +146 -0
  69. package/dist/auth/oauthTokens.js.map +1 -0
  70. package/dist/auth/setupIncomplete.d.ts +16 -0
  71. package/dist/auth/setupIncomplete.d.ts.map +1 -0
  72. package/dist/auth/setupIncomplete.js +50 -0
  73. package/dist/auth/setupIncomplete.js.map +1 -0
  74. package/dist/auth/types.d.ts +440 -0
  75. package/dist/auth/types.d.ts.map +1 -0
  76. package/dist/auth/types.js +10 -0
  77. package/dist/auth/types.js.map +1 -0
  78. package/dist/bun/index.d.ts +65 -0
  79. package/dist/bun/index.d.ts.map +1 -0
  80. package/dist/bun/index.js +130 -0
  81. package/dist/bun/index.js.map +1 -0
  82. package/dist/cli/emitModule.d.ts +7 -0
  83. package/dist/cli/emitModule.d.ts.map +1 -0
  84. package/dist/cli/emitModule.js +127 -0
  85. package/dist/cli/emitModule.js.map +1 -0
  86. package/dist/cli/generate.d.ts +4 -16
  87. package/dist/cli/generate.d.ts.map +1 -1
  88. package/dist/cli/generate.js +332 -165
  89. package/dist/cli/generate.js.map +1 -1
  90. package/dist/cli/main.d.ts +1 -1
  91. package/dist/cli/main.d.ts.map +1 -1
  92. package/dist/cli/main.js +15 -71
  93. package/dist/cli/main.js.map +1 -1
  94. package/dist/cli/preset.d.ts +18 -0
  95. package/dist/cli/preset.d.ts.map +1 -0
  96. package/dist/cli/preset.js +352 -0
  97. package/dist/cli/preset.js.map +1 -0
  98. package/dist/cloudflare/index.d.ts +21 -0
  99. package/dist/cloudflare/index.d.ts.map +1 -0
  100. package/dist/cloudflare/index.js +14 -0
  101. package/dist/cloudflare/index.js.map +1 -0
  102. package/dist/cloudflare/r2Media.d.ts +43 -0
  103. package/dist/cloudflare/r2Media.d.ts.map +1 -0
  104. package/dist/cloudflare/r2Media.js +69 -0
  105. package/dist/cloudflare/r2Media.js.map +1 -0
  106. package/dist/core/caller.d.ts +35 -0
  107. package/dist/core/caller.d.ts.map +1 -0
  108. package/dist/core/caller.js +3 -0
  109. package/dist/core/caller.js.map +1 -0
  110. package/dist/core/createMantle.d.ts +22 -0
  111. package/dist/core/createMantle.d.ts.map +1 -0
  112. package/dist/core/createMantle.js +117 -0
  113. package/dist/core/createMantle.js.map +1 -0
  114. package/dist/core/dialect.d.ts +41 -0
  115. package/dist/core/dialect.d.ts.map +1 -0
  116. package/dist/core/dialect.js +7 -0
  117. package/dist/core/dialect.js.map +1 -0
  118. package/dist/core/driver.d.ts +17 -0
  119. package/dist/core/driver.d.ts.map +1 -0
  120. package/dist/core/driver.js +2 -0
  121. package/dist/core/driver.js.map +1 -0
  122. package/dist/core/email.d.ts +17 -0
  123. package/dist/core/email.d.ts.map +1 -0
  124. package/dist/core/email.js +2 -0
  125. package/dist/core/email.js.map +1 -0
  126. package/dist/core/index.d.ts +16 -0
  127. package/dist/core/index.d.ts.map +1 -0
  128. package/dist/core/index.js +16 -0
  129. package/dist/core/index.js.map +1 -0
  130. package/dist/core/invocation.d.ts +66 -0
  131. package/dist/core/invocation.d.ts.map +1 -0
  132. package/dist/core/invocation.js +3 -0
  133. package/dist/core/invocation.js.map +1 -0
  134. package/dist/core/runtime/auth.d.ts +9 -0
  135. package/dist/core/runtime/auth.d.ts.map +1 -0
  136. package/dist/core/runtime/auth.js +39 -0
  137. package/dist/core/runtime/auth.js.map +1 -0
  138. package/dist/core/runtime/createRuntime.d.ts +23 -0
  139. package/dist/core/runtime/createRuntime.d.ts.map +1 -0
  140. package/dist/core/runtime/createRuntime.js +214 -0
  141. package/dist/core/runtime/createRuntime.js.map +1 -0
  142. package/dist/core/runtime/verifyPlan.d.ts +34 -0
  143. package/dist/core/runtime/verifyPlan.d.ts.map +1 -0
  144. package/dist/core/runtime/verifyPlan.js +301 -0
  145. package/dist/core/runtime/verifyPlan.js.map +1 -0
  146. package/dist/core/service.d.ts +45 -0
  147. package/dist/core/service.d.ts.map +1 -0
  148. package/dist/core/service.js +2 -0
  149. package/dist/core/service.js.map +1 -0
  150. package/dist/core/site.d.ts +117 -0
  151. package/dist/core/site.d.ts.map +1 -0
  152. package/dist/core/site.js +2 -0
  153. package/dist/core/site.js.map +1 -0
  154. package/dist/core/siteConfig.d.ts +5 -0
  155. package/dist/core/siteConfig.d.ts.map +1 -0
  156. package/dist/core/siteConfig.js +24 -0
  157. package/dist/core/siteConfig.js.map +1 -0
  158. package/dist/core/sql/allowlist.d.ts +65 -0
  159. package/dist/core/sql/allowlist.d.ts.map +1 -0
  160. package/dist/core/sql/allowlist.js +705 -0
  161. package/dist/core/sql/allowlist.js.map +1 -0
  162. package/dist/core/sql/ast.d.ts +24 -0
  163. package/dist/core/sql/ast.d.ts.map +1 -0
  164. package/dist/core/sql/ast.js +32 -0
  165. package/dist/core/sql/ast.js.map +1 -0
  166. package/dist/core/sql/compile.d.ts +50 -0
  167. package/dist/core/sql/compile.d.ts.map +1 -0
  168. package/dist/core/sql/compile.js +48 -0
  169. package/dist/core/sql/compile.js.map +1 -0
  170. package/dist/core/sql/policy.d.ts +121 -0
  171. package/dist/core/sql/policy.d.ts.map +1 -0
  172. package/dist/core/sql/policy.js +379 -0
  173. package/dist/core/sql/policy.js.map +1 -0
  174. package/dist/core/sql/positions.d.ts +30 -0
  175. package/dist/core/sql/positions.d.ts.map +1 -0
  176. package/dist/core/sql/positions.js +22 -0
  177. package/dist/core/sql/positions.js.map +1 -0
  178. package/dist/core/sql/run.d.ts +76 -0
  179. package/dist/core/sql/run.d.ts.map +1 -0
  180. package/dist/core/sql/run.js +267 -0
  181. package/dist/core/sql/run.js.map +1 -0
  182. package/dist/core/store/createStore.d.ts +49 -0
  183. package/dist/core/store/createStore.d.ts.map +1 -0
  184. package/dist/core/store/createStore.js +227 -0
  185. package/dist/core/store/createStore.js.map +1 -0
  186. package/dist/core/store/cursor.d.ts +4 -0
  187. package/dist/core/store/cursor.d.ts.map +1 -0
  188. package/dist/core/store/cursor.js +22 -0
  189. package/dist/core/store/cursor.js.map +1 -0
  190. package/dist/core/store/json.d.ts +80 -0
  191. package/dist/core/store/json.d.ts.map +1 -0
  192. package/dist/core/store/json.js +342 -0
  193. package/dist/core/store/json.js.map +1 -0
  194. package/dist/core/store.d.ts +160 -0
  195. package/dist/core/store.d.ts.map +1 -0
  196. package/dist/core/store.js +2 -0
  197. package/dist/core/store.js.map +1 -0
  198. package/dist/core/wire.d.ts +20 -0
  199. package/dist/core/wire.d.ts.map +1 -0
  200. package/dist/core/wire.js +84 -0
  201. package/dist/core/wire.js.map +1 -0
  202. package/dist/core/withCaller.d.ts +16 -0
  203. package/dist/core/withCaller.d.ts.map +1 -0
  204. package/dist/core/withCaller.js +29 -0
  205. package/dist/core/withCaller.js.map +1 -0
  206. package/dist/d1/adapter.d.ts +12 -0
  207. package/dist/d1/adapter.d.ts.map +1 -0
  208. package/dist/d1/adapter.js +23 -0
  209. package/dist/d1/adapter.js.map +1 -0
  210. package/dist/d1/codec.d.ts +14 -0
  211. package/dist/d1/codec.d.ts.map +1 -0
  212. package/dist/d1/codec.js +136 -0
  213. package/dist/d1/codec.js.map +1 -0
  214. package/dist/d1/compile/index.d.ts +9 -0
  215. package/dist/d1/compile/index.d.ts.map +1 -0
  216. package/dist/d1/compile/index.js +9 -0
  217. package/dist/d1/compile/index.js.map +1 -0
  218. package/dist/d1/dialect.d.ts +4 -0
  219. package/dist/d1/dialect.d.ts.map +1 -0
  220. package/dist/d1/dialect.js +13 -0
  221. package/dist/d1/dialect.js.map +1 -0
  222. package/dist/d1/executor.d.ts +13 -0
  223. package/dist/d1/executor.d.ts.map +1 -0
  224. package/dist/d1/executor.js +91 -0
  225. package/dist/d1/executor.js.map +1 -0
  226. package/dist/d1/index.d.ts +6 -0
  227. package/dist/d1/index.d.ts.map +1 -0
  228. package/dist/d1/index.js +6 -0
  229. package/dist/d1/index.js.map +1 -0
  230. package/dist/d1/lower.d.ts +8 -0
  231. package/dist/d1/lower.d.ts.map +1 -0
  232. package/dist/d1/lower.js +167 -0
  233. package/dist/d1/lower.js.map +1 -0
  234. package/dist/d1/media.d.ts +5 -0
  235. package/dist/d1/media.d.ts.map +1 -0
  236. package/dist/d1/media.js +157 -0
  237. package/dist/d1/media.js.map +1 -0
  238. package/dist/d1/migrations.d.ts +12 -0
  239. package/dist/d1/migrations.d.ts.map +1 -0
  240. package/dist/d1/migrations.js +111 -0
  241. package/dist/d1/migrations.js.map +1 -0
  242. package/dist/d1/print.d.ts +28 -0
  243. package/dist/d1/print.d.ts.map +1 -0
  244. package/dist/d1/print.js +54 -0
  245. package/dist/d1/print.js.map +1 -0
  246. package/dist/d1/site.d.ts +17 -0
  247. package/dist/d1/site.d.ts.map +1 -0
  248. package/dist/d1/site.js +63 -0
  249. package/dist/d1/site.js.map +1 -0
  250. package/dist/d1/storage.d.ts +34 -0
  251. package/dist/d1/storage.d.ts.map +1 -0
  252. package/dist/d1/storage.js +288 -0
  253. package/dist/d1/storage.js.map +1 -0
  254. package/dist/d1/tz.d.ts +21 -0
  255. package/dist/d1/tz.d.ts.map +1 -0
  256. package/dist/d1/tz.js +54 -0
  257. package/dist/d1/tz.js.map +1 -0
  258. package/dist/d1/validator.d.ts +10 -0
  259. package/dist/d1/validator.d.ts.map +1 -0
  260. package/dist/d1/validator.js +33 -0
  261. package/dist/d1/validator.js.map +1 -0
  262. package/dist/mcp/apps.d.ts +43 -0
  263. package/dist/mcp/apps.d.ts.map +1 -0
  264. package/dist/mcp/apps.js +57 -0
  265. package/dist/mcp/apps.js.map +1 -0
  266. package/dist/mcp/catalog.d.ts +55 -0
  267. package/dist/mcp/catalog.d.ts.map +1 -0
  268. package/dist/mcp/catalog.js +81 -0
  269. package/dist/mcp/catalog.js.map +1 -0
  270. package/dist/mcp/createMcpSurface.d.ts +34 -0
  271. package/dist/mcp/createMcpSurface.d.ts.map +1 -0
  272. package/dist/mcp/createMcpSurface.js +150 -0
  273. package/dist/mcp/createMcpSurface.js.map +1 -0
  274. package/dist/mcp/index.d.ts +4 -0
  275. package/dist/mcp/index.d.ts.map +1 -0
  276. package/dist/mcp/index.js +4 -0
  277. package/dist/mcp/index.js.map +1 -0
  278. package/dist/postgres/adapter.d.ts +20 -0
  279. package/dist/postgres/adapter.d.ts.map +1 -0
  280. package/dist/postgres/adapter.js +44 -0
  281. package/dist/postgres/adapter.js.map +1 -0
  282. package/dist/postgres/codec.d.ts +13 -0
  283. package/dist/postgres/codec.d.ts.map +1 -0
  284. package/dist/postgres/codec.js +110 -0
  285. package/dist/postgres/codec.js.map +1 -0
  286. package/dist/postgres/compile/index.d.ts +9 -0
  287. package/dist/postgres/compile/index.d.ts.map +1 -0
  288. package/dist/postgres/compile/index.js +9 -0
  289. package/dist/postgres/compile/index.js.map +1 -0
  290. package/dist/postgres/driver.d.ts +92 -0
  291. package/dist/postgres/driver.d.ts.map +1 -0
  292. package/dist/postgres/driver.js +110 -0
  293. package/dist/postgres/driver.js.map +1 -0
  294. package/dist/postgres/executor.d.ts +20 -0
  295. package/dist/postgres/executor.d.ts.map +1 -0
  296. package/dist/postgres/executor.js +69 -0
  297. package/dist/postgres/executor.js.map +1 -0
  298. package/dist/postgres/index.d.ts +7 -0
  299. package/dist/postgres/index.d.ts.map +1 -0
  300. package/dist/postgres/index.js +7 -0
  301. package/dist/postgres/index.js.map +1 -0
  302. package/dist/postgres/lower.d.ts +6 -0
  303. package/dist/postgres/lower.d.ts.map +1 -0
  304. package/dist/postgres/lower.js +157 -0
  305. package/dist/postgres/lower.js.map +1 -0
  306. package/dist/postgres/print.d.ts +11 -0
  307. package/dist/postgres/print.d.ts.map +1 -0
  308. package/dist/postgres/print.js +121 -0
  309. package/dist/postgres/print.js.map +1 -0
  310. package/dist/postgres/storage.d.ts +19 -0
  311. package/dist/postgres/storage.d.ts.map +1 -0
  312. package/dist/postgres/storage.js +201 -0
  313. package/dist/postgres/storage.js.map +1 -0
  314. package/dist/postgres/textRows.d.ts +10 -0
  315. package/dist/postgres/textRows.d.ts.map +1 -0
  316. package/dist/postgres/textRows.js +44 -0
  317. package/dist/postgres/textRows.js.map +1 -0
  318. package/dist/postgres/validator.d.ts +12 -0
  319. package/dist/postgres/validator.d.ts.map +1 -0
  320. package/dist/postgres/validator.js +46 -0
  321. package/dist/postgres/validator.js.map +1 -0
  322. package/dist/spec/domain/index.d.ts +3 -0
  323. package/dist/spec/domain/index.d.ts.map +1 -0
  324. package/dist/spec/domain/index.js +3 -0
  325. package/dist/spec/domain/index.js.map +1 -0
  326. package/dist/spec/domain/model/ContentState.d.ts +8 -0
  327. package/dist/spec/domain/model/ContentState.d.ts.map +1 -0
  328. package/dist/spec/domain/model/ContentState.js +7 -0
  329. package/dist/spec/domain/model/ContentState.js.map +1 -0
  330. package/dist/spec/domain/model/Entry.d.ts +29 -0
  331. package/dist/spec/domain/model/Entry.d.ts.map +1 -0
  332. package/dist/spec/domain/model/Entry.js +16 -0
  333. package/dist/spec/domain/model/Entry.js.map +1 -0
  334. package/dist/spec/domain/model/Locale.d.ts +30 -0
  335. package/dist/spec/domain/model/Locale.d.ts.map +1 -0
  336. package/dist/spec/domain/model/Locale.js +33 -0
  337. package/dist/spec/domain/model/Locale.js.map +1 -0
  338. package/dist/spec/domain/model/ManifestGrammar.d.ts +452 -0
  339. package/dist/spec/domain/model/ManifestGrammar.d.ts.map +1 -0
  340. package/dist/spec/domain/model/ManifestGrammar.js +149 -0
  341. package/dist/spec/domain/model/ManifestGrammar.js.map +1 -0
  342. package/dist/spec/domain/model/MediaMimeAccept.d.ts +55 -0
  343. package/dist/spec/domain/model/MediaMimeAccept.d.ts.map +1 -0
  344. package/dist/spec/domain/model/MediaMimeAccept.js +90 -0
  345. package/dist/spec/domain/model/MediaMimeAccept.js.map +1 -0
  346. package/dist/spec/domain/model/RuntimePlan.d.ts +94 -0
  347. package/dist/spec/domain/model/RuntimePlan.d.ts.map +1 -0
  348. package/dist/spec/domain/model/RuntimePlan.js +4 -0
  349. package/dist/spec/domain/model/RuntimePlan.js.map +1 -0
  350. package/dist/spec/domain/model/SiteConfig.d.ts +173 -0
  351. package/dist/spec/domain/model/SiteConfig.d.ts.map +1 -0
  352. package/dist/spec/domain/model/SiteConfig.js +13 -0
  353. package/dist/spec/domain/model/SiteConfig.js.map +1 -0
  354. package/dist/spec/domain/model/SqlIr.d.ts +96 -0
  355. package/dist/spec/domain/model/SqlIr.d.ts.map +1 -0
  356. package/dist/spec/domain/model/SqlIr.js +95 -0
  357. package/dist/spec/domain/model/SqlIr.js.map +1 -0
  358. package/dist/spec/domain/model/index.d.ts +14 -0
  359. package/dist/spec/domain/model/index.d.ts.map +1 -0
  360. package/dist/spec/domain/model/index.js +14 -0
  361. package/dist/spec/domain/model/index.js.map +1 -0
  362. package/dist/spec/domain/service/CloudflareCron.d.ts +2 -0
  363. package/dist/spec/domain/service/CloudflareCron.d.ts.map +1 -0
  364. package/dist/spec/domain/service/CloudflareCron.js +63 -0
  365. package/dist/spec/domain/service/CloudflareCron.js.map +1 -0
  366. package/dist/spec/domain/service/CrossSchemaChecker.d.ts +34 -0
  367. package/dist/spec/domain/service/CrossSchemaChecker.d.ts.map +1 -0
  368. package/dist/spec/domain/service/CrossSchemaChecker.js +114 -0
  369. package/dist/spec/domain/service/CrossSchemaChecker.js.map +1 -0
  370. package/dist/spec/domain/service/EntryDataValidator.d.ts +56 -0
  371. package/dist/spec/domain/service/EntryDataValidator.d.ts.map +1 -0
  372. package/dist/spec/domain/service/EntryDataValidator.js +88 -0
  373. package/dist/spec/domain/service/EntryDataValidator.js.map +1 -0
  374. package/dist/spec/domain/service/JsonSchemaToZod.d.ts +29 -0
  375. package/dist/spec/domain/service/JsonSchemaToZod.d.ts.map +1 -0
  376. package/dist/spec/domain/service/JsonSchemaToZod.js +156 -0
  377. package/dist/spec/domain/service/JsonSchemaToZod.js.map +1 -0
  378. package/dist/spec/domain/service/LifecycleStateMachine.d.ts +75 -0
  379. package/dist/spec/domain/service/LifecycleStateMachine.d.ts.map +1 -0
  380. package/dist/spec/domain/service/LifecycleStateMachine.js +76 -0
  381. package/dist/spec/domain/service/LifecycleStateMachine.js.map +1 -0
  382. package/dist/spec/domain/service/LocaleCanonicalizer.d.ts +29 -0
  383. package/dist/spec/domain/service/LocaleCanonicalizer.d.ts.map +1 -0
  384. package/dist/spec/domain/service/LocaleCanonicalizer.js +96 -0
  385. package/dist/spec/domain/service/LocaleCanonicalizer.js.map +1 -0
  386. package/dist/spec/domain/service/ManifestFieldChecks.d.ts +60 -0
  387. package/dist/spec/domain/service/ManifestFieldChecks.d.ts.map +1 -0
  388. package/dist/spec/domain/service/ManifestFieldChecks.js +116 -0
  389. package/dist/spec/domain/service/ManifestFieldChecks.js.map +1 -0
  390. package/dist/spec/domain/service/ManifestGraphValidator.d.ts +15 -0
  391. package/dist/spec/domain/service/ManifestGraphValidator.d.ts.map +1 -0
  392. package/dist/spec/domain/service/ManifestGraphValidator.js +225 -0
  393. package/dist/spec/domain/service/ManifestGraphValidator.js.map +1 -0
  394. package/dist/spec/domain/service/ManifestLinker.d.ts +45 -0
  395. package/dist/spec/domain/service/ManifestLinker.d.ts.map +1 -0
  396. package/dist/spec/domain/service/ManifestLinker.js +92 -0
  397. package/dist/spec/domain/service/ManifestLinker.js.map +1 -0
  398. package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts +16 -0
  399. package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts.map +1 -0
  400. package/dist/spec/domain/service/ManifestLocaleTrimmer.js +76 -0
  401. package/dist/spec/domain/service/ManifestLocaleTrimmer.js.map +1 -0
  402. package/dist/spec/domain/service/ManifestParser.d.ts +49 -0
  403. package/dist/spec/domain/service/ManifestParser.d.ts.map +1 -0
  404. package/dist/spec/domain/service/ManifestParser.js +203 -0
  405. package/dist/spec/domain/service/ManifestParser.js.map +1 -0
  406. package/dist/spec/domain/service/ManifestPartition.d.ts +9 -0
  407. package/dist/spec/domain/service/ManifestPartition.d.ts.map +1 -0
  408. package/dist/spec/domain/service/ManifestPartition.js +19 -0
  409. package/dist/spec/domain/service/ManifestPartition.js.map +1 -0
  410. package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts +33 -0
  411. package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts.map +1 -0
  412. package/dist/spec/domain/service/ManifestPathDiagnoser.js +43 -0
  413. package/dist/spec/domain/service/ManifestPathDiagnoser.js.map +1 -0
  414. package/dist/spec/domain/service/ManifestSourceSpans.d.ts +10 -0
  415. package/dist/spec/domain/service/ManifestSourceSpans.d.ts.map +1 -0
  416. package/dist/spec/domain/service/ManifestSourceSpans.js +76 -0
  417. package/dist/spec/domain/service/ManifestSourceSpans.js.map +1 -0
  418. package/dist/spec/domain/service/McpToolNaming.d.ts +25 -0
  419. package/dist/spec/domain/service/McpToolNaming.d.ts.map +1 -0
  420. package/dist/spec/domain/service/McpToolNaming.js +50 -0
  421. package/dist/spec/domain/service/McpToolNaming.js.map +1 -0
  422. package/dist/spec/domain/service/PlanFingerprint.d.ts +4 -0
  423. package/dist/spec/domain/service/PlanFingerprint.d.ts.map +1 -0
  424. package/dist/spec/domain/service/PlanFingerprint.js +14 -0
  425. package/dist/spec/domain/service/PlanFingerprint.js.map +1 -0
  426. package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts +4 -0
  427. package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts.map +1 -0
  428. package/dist/spec/domain/service/ProcedureViewSpecChecks.js +211 -0
  429. package/dist/spec/domain/service/ProcedureViewSpecChecks.js.map +1 -0
  430. package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts +42 -0
  431. package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts.map +1 -0
  432. package/dist/spec/domain/service/SchemaAdminUiChecker.js +289 -0
  433. package/dist/spec/domain/service/SchemaAdminUiChecker.js.map +1 -0
  434. package/dist/spec/domain/service/SchemaIndexChecker.d.ts +33 -0
  435. package/dist/spec/domain/service/SchemaIndexChecker.d.ts.map +1 -0
  436. package/dist/spec/domain/service/SchemaIndexChecker.js +256 -0
  437. package/dist/spec/domain/service/SchemaIndexChecker.js.map +1 -0
  438. package/dist/spec/domain/service/SchemaSearchChecker.d.ts +11 -0
  439. package/dist/spec/domain/service/SchemaSearchChecker.d.ts.map +1 -0
  440. package/dist/spec/domain/service/SchemaSearchChecker.js +78 -0
  441. package/dist/spec/domain/service/SchemaSearchChecker.js.map +1 -0
  442. package/dist/spec/domain/service/SchemaSpecChecks.d.ts +31 -0
  443. package/dist/spec/domain/service/SchemaSpecChecks.d.ts.map +1 -0
  444. package/dist/spec/domain/service/SchemaSpecChecks.js +445 -0
  445. package/dist/spec/domain/service/SchemaSpecChecks.js.map +1 -0
  446. package/dist/spec/domain/service/SiteDefaultsValidator.d.ts +39 -0
  447. package/dist/spec/domain/service/SiteDefaultsValidator.d.ts.map +1 -0
  448. package/dist/spec/domain/service/SiteDefaultsValidator.js +194 -0
  449. package/dist/spec/domain/service/SiteDefaultsValidator.js.map +1 -0
  450. package/dist/spec/domain/service/SqlClassify.d.ts +19 -0
  451. package/dist/spec/domain/service/SqlClassify.d.ts.map +1 -0
  452. package/dist/spec/domain/service/SqlClassify.js +42 -0
  453. package/dist/spec/domain/service/SqlClassify.js.map +1 -0
  454. package/dist/spec/domain/service/SqlRefusal.d.ts +16 -0
  455. package/dist/spec/domain/service/SqlRefusal.d.ts.map +1 -0
  456. package/dist/spec/domain/service/SqlRefusal.js +20 -0
  457. package/dist/spec/domain/service/SqlRefusal.js.map +1 -0
  458. package/dist/spec/domain/service/SqlTypes.d.ts +40 -0
  459. package/dist/spec/domain/service/SqlTypes.d.ts.map +1 -0
  460. package/dist/spec/domain/service/SqlTypes.js +110 -0
  461. package/dist/spec/domain/service/SqlTypes.js.map +1 -0
  462. package/dist/spec/domain/service/StaffRoleHierarchy.d.ts +3 -0
  463. package/dist/spec/domain/service/StaffRoleHierarchy.d.ts.map +1 -0
  464. package/dist/spec/domain/service/StaffRoleHierarchy.js +19 -0
  465. package/dist/spec/domain/service/StaffRoleHierarchy.js.map +1 -0
  466. package/dist/spec/domain/service/TriggerGraphChecks.d.ts +16 -0
  467. package/dist/spec/domain/service/TriggerGraphChecks.d.ts.map +1 -0
  468. package/dist/spec/domain/service/TriggerGraphChecks.js +337 -0
  469. package/dist/spec/domain/service/TriggerGraphChecks.js.map +1 -0
  470. package/dist/spec/domain/service/TriggerSpecChecks.d.ts +4 -0
  471. package/dist/spec/domain/service/TriggerSpecChecks.d.ts.map +1 -0
  472. package/dist/spec/domain/service/TriggerSpecChecks.js +89 -0
  473. package/dist/spec/domain/service/TriggerSpecChecks.js.map +1 -0
  474. package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts +11 -0
  475. package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts.map +1 -0
  476. package/dist/spec/domain/service/ValidatedAdminUiProjection.js +26 -0
  477. package/dist/spec/domain/service/ValidatedAdminUiProjection.js.map +1 -0
  478. package/dist/spec/domain/service/ViewAdminUiChecker.d.ts +14 -0
  479. package/dist/spec/domain/service/ViewAdminUiChecker.d.ts.map +1 -0
  480. package/dist/spec/domain/service/ViewAdminUiChecker.js +53 -0
  481. package/dist/spec/domain/service/ViewAdminUiChecker.js.map +1 -0
  482. package/dist/spec/domain/service/index.d.ts +24 -0
  483. package/dist/spec/domain/service/index.d.ts.map +1 -0
  484. package/dist/spec/domain/service/index.js +24 -0
  485. package/dist/spec/domain/service/index.js.map +1 -0
  486. package/dist/spec/index.d.ts +10 -0
  487. package/dist/spec/index.d.ts.map +1 -0
  488. package/dist/spec/index.js +12 -0
  489. package/dist/spec/index.js.map +1 -0
  490. package/dist/spec/infrastructure/cli/parseArgsError.d.ts +16 -0
  491. package/dist/spec/infrastructure/cli/parseArgsError.d.ts.map +1 -0
  492. package/dist/spec/infrastructure/cli/parseArgsError.js +34 -0
  493. package/dist/spec/infrastructure/cli/parseArgsError.js.map +1 -0
  494. package/dist/spec/infrastructure/index.d.ts +2 -0
  495. package/dist/spec/infrastructure/index.d.ts.map +1 -0
  496. package/dist/spec/infrastructure/index.js +2 -0
  497. package/dist/spec/infrastructure/index.js.map +1 -0
  498. package/dist/spec/infrastructure/sql/PgQueryParser.d.ts +18 -0
  499. package/dist/spec/infrastructure/sql/PgQueryParser.d.ts.map +1 -0
  500. package/dist/spec/infrastructure/sql/PgQueryParser.js +17 -0
  501. package/dist/spec/infrastructure/sql/PgQueryParser.js.map +1 -0
  502. package/dist/spec/infrastructure/sql/compilePlan.d.ts +37 -0
  503. package/dist/spec/infrastructure/sql/compilePlan.d.ts.map +1 -0
  504. package/dist/spec/infrastructure/sql/compilePlan.js +282 -0
  505. package/dist/spec/infrastructure/sql/compilePlan.js.map +1 -0
  506. package/dist/spec/infrastructure/sql/compileSql.d.ts +35 -0
  507. package/dist/spec/infrastructure/sql/compileSql.d.ts.map +1 -0
  508. package/dist/spec/infrastructure/sql/compileSql.js +92 -0
  509. package/dist/spec/infrastructure/sql/compileSql.js.map +1 -0
  510. package/dist/spec/infrastructure/sql/frontEnd.d.ts +8 -0
  511. package/dist/spec/infrastructure/sql/frontEnd.d.ts.map +1 -0
  512. package/dist/spec/infrastructure/sql/frontEnd.js +100 -0
  513. package/dist/spec/infrastructure/sql/frontEnd.js.map +1 -0
  514. package/dist/spec/infrastructure/sql/index.d.ts +4 -0
  515. package/dist/spec/infrastructure/sql/index.d.ts.map +1 -0
  516. package/dist/spec/infrastructure/sql/index.js +4 -0
  517. package/dist/spec/infrastructure/sql/index.js.map +1 -0
  518. package/dist/spec/kernel/diagnostic.d.ts +137 -0
  519. package/dist/spec/kernel/diagnostic.d.ts.map +1 -0
  520. package/dist/spec/kernel/diagnostic.js +296 -0
  521. package/dist/spec/kernel/diagnostic.js.map +1 -0
  522. package/dist/spec/kernel/index.d.ts +8 -0
  523. package/dist/spec/kernel/index.d.ts.map +1 -0
  524. package/dist/spec/kernel/index.js +8 -0
  525. package/dist/spec/kernel/index.js.map +1 -0
  526. package/dist/spec/usecase/EmitTypes.d.ts +22 -0
  527. package/dist/spec/usecase/EmitTypes.d.ts.map +1 -0
  528. package/dist/spec/usecase/EmitTypes.js +182 -0
  529. package/dist/spec/usecase/EmitTypes.js.map +1 -0
  530. package/dist/spec/usecase/ValidateManifestsUseCase.d.ts +8 -0
  531. package/dist/spec/usecase/ValidateManifestsUseCase.d.ts.map +1 -0
  532. package/dist/spec/usecase/ValidateManifestsUseCase.js +101 -0
  533. package/dist/spec/usecase/ValidateManifestsUseCase.js.map +1 -0
  534. package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts +27 -0
  535. package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts.map +1 -0
  536. package/dist/spec/usecase/dto/ValidateManifestsRequest.js +2 -0
  537. package/dist/spec/usecase/dto/ValidateManifestsRequest.js.map +1 -0
  538. package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts +14 -0
  539. package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts.map +1 -0
  540. package/dist/spec/usecase/dto/ValidateManifestsResponse.js +2 -0
  541. package/dist/spec/usecase/dto/ValidateManifestsResponse.js.map +1 -0
  542. package/dist/spec/usecase/dto/index.d.ts +3 -0
  543. package/dist/spec/usecase/dto/index.d.ts.map +1 -0
  544. package/dist/spec/usecase/dto/index.js +3 -0
  545. package/dist/spec/usecase/dto/index.js.map +1 -0
  546. package/dist/spec/usecase/index.d.ts +10 -0
  547. package/dist/spec/usecase/index.d.ts.map +1 -0
  548. package/dist/spec/usecase/index.js +10 -0
  549. package/dist/spec/usecase/index.js.map +1 -0
  550. package/dist/testing/cases/before-hook.d.ts +4 -0
  551. package/dist/testing/cases/before-hook.d.ts.map +1 -0
  552. package/dist/testing/cases/before-hook.js +71 -0
  553. package/dist/testing/cases/before-hook.js.map +1 -0
  554. package/dist/testing/cases/corpus.d.ts +12 -0
  555. package/dist/testing/cases/corpus.d.ts.map +1 -0
  556. package/dist/testing/cases/corpus.js +91 -0
  557. package/dist/testing/cases/corpus.js.map +1 -0
  558. package/dist/testing/cases/policy.d.ts +74 -0
  559. package/dist/testing/cases/policy.d.ts.map +1 -0
  560. package/dist/testing/cases/policy.js +142 -0
  561. package/dist/testing/cases/policy.js.map +1 -0
  562. package/dist/testing/cases/printer.d.ts +4 -0
  563. package/dist/testing/cases/printer.d.ts.map +1 -0
  564. package/dist/testing/cases/printer.js +32 -0
  565. package/dist/testing/cases/printer.js.map +1 -0
  566. package/dist/testing/cases/report-view.d.ts +5 -0
  567. package/dist/testing/cases/report-view.d.ts.map +1 -0
  568. package/dist/testing/cases/report-view.js +33 -0
  569. package/dist/testing/cases/report-view.js.map +1 -0
  570. package/dist/testing/cases/requisition.d.ts +4 -0
  571. package/dist/testing/cases/requisition.d.ts.map +1 -0
  572. package/dist/testing/cases/requisition.js +38 -0
  573. package/dist/testing/cases/requisition.js.map +1 -0
  574. package/dist/testing/cases/search-places.d.ts +4 -0
  575. package/dist/testing/cases/search-places.d.ts.map +1 -0
  576. package/dist/testing/cases/search-places.js +60 -0
  577. package/dist/testing/cases/search-places.js.map +1 -0
  578. package/dist/testing/cases/stock.d.ts +4 -0
  579. package/dist/testing/cases/stock.d.ts.map +1 -0
  580. package/dist/testing/cases/stock.js +35 -0
  581. package/dist/testing/cases/stock.js.map +1 -0
  582. package/dist/testing/cases/store.d.ts +4 -0
  583. package/dist/testing/cases/store.d.ts.map +1 -0
  584. package/dist/testing/cases/store.js +100 -0
  585. package/dist/testing/cases/store.js.map +1 -0
  586. package/dist/testing/harness.d.ts +94 -0
  587. package/dist/testing/harness.d.ts.map +1 -0
  588. package/dist/testing/harness.js +168 -0
  589. package/dist/testing/harness.js.map +1 -0
  590. package/dist/testing/index.d.ts +37 -0
  591. package/dist/testing/index.d.ts.map +1 -0
  592. package/dist/testing/index.js +43 -0
  593. package/dist/testing/index.js.map +1 -0
  594. package/dist/testing/report.d.ts +15 -0
  595. package/dist/testing/report.d.ts.map +1 -0
  596. package/dist/testing/report.js +22 -0
  597. package/dist/testing/report.js.map +1 -0
  598. package/dist/web/createRestSurface.d.ts +7 -0
  599. package/dist/web/createRestSurface.d.ts.map +1 -0
  600. package/dist/web/createRestSurface.js +39 -0
  601. package/dist/web/createRestSurface.js.map +1 -0
  602. package/dist/web/index.d.ts +2 -0
  603. package/dist/web/index.d.ts.map +1 -0
  604. package/dist/web/index.js +2 -0
  605. package/dist/web/index.js.map +1 -0
  606. package/docs/adr/0008-structured-diagnostic-shape.md +2 -2
  607. package/docs/adr/0011-adapter-port-spec.md +2 -2
  608. package/docs/adr/0014-auth-better-auth-and-multi-tenant-mcp.md +21 -2
  609. package/docs/adr/0019-sealed-manifest-runtime-pipeline.md +5 -1
  610. package/docs/adr/0021-retire-starter-scaffolding.md +1 -1
  611. package/docs/adr/0022-caller-observed-version-occ.md +1 -1
  612. package/docs/adr/0024-manifest-native-schema-tables.md +2 -2
  613. package/docs/adr/0026-progressive-generate.md +36 -0
  614. package/docs/adr/0027-scheduled-procedure-triggers.md +31 -0
  615. package/docs/adr/0028-schema-ttl-expiry.md +33 -0
  616. package/docs/adr/0029-mcp-apps-interaction-contracts.md +324 -0
  617. package/docs/adr/0030-store.md +40 -0
  618. package/docs/adr/0031-host-cloud-core-contract.md +25 -0
  619. package/docs/adr/0032-store-centric-core-and-service-contract.md +361 -0
  620. package/docs/adr/0033-storage-converges-to-the-plan.md +92 -0
  621. package/docs/adr/0034-store-is-authored-as-sql.md +192 -0
  622. package/docs/adr/0035-sql-dialects.md +154 -0
  623. package/docs/adr/0036-host-and-dialect.md +65 -0
  624. package/docs/adr/0037-postgresql-is-the-reference-dialect.md +124 -0
  625. package/docs/adr/0038-bun-native-host.md +63 -0
  626. package/docs/adr/README.md +26 -8
  627. package/docs/adr/adr-lite-861-admin-webmcp.md +6 -0
  628. package/docs/adr/adr-lite-909-admin-ui-kit.md +1 -1
  629. package/docs/examples/README.md +16 -18
  630. package/docs/examples/commerce-inventory.md +481 -0
  631. package/docs/examples/commerce.md +254 -0
  632. package/docs/examples/guarded-api.md +238 -0
  633. package/docs/examples/intake-hooks.md +237 -0
  634. package/docs/examples/intake.md +127 -0
  635. package/docs/examples/legal-documents.md +218 -0
  636. package/docs/examples/procurement.md +215 -0
  637. package/docs/examples/publication.md +211 -0
  638. package/docs/examples/reference-service/.dev.vars.example +4 -0
  639. package/docs/examples/reference-service/.mantle/generated/mantle.ts +174 -0
  640. package/docs/examples/reference-service/.mantle/generated/plan.json +1936 -0
  641. package/docs/examples/reference-service/README.md +33 -0
  642. package/docs/examples/reference-service/manifests/catalog.yaml +103 -0
  643. package/docs/examples/reference-service/manifests/orders.yaml +120 -0
  644. package/docs/examples/reference-service/mantle.config.json +1 -0
  645. package/docs/examples/reference-service/package.json +27 -0
  646. package/docs/examples/reference-service/smoke.mjs +156 -0
  647. package/docs/examples/reference-service/src/handlers.ts +36 -0
  648. package/docs/examples/reference-service/src/index.ts +33 -0
  649. package/docs/examples/reference-service/src/service.ts +78 -0
  650. package/docs/examples/{host-minimal-worker → reference-service}/tsconfig.json +7 -2
  651. package/docs/examples/reference-service/wrangler.jsonc +26 -0
  652. package/docs/examples/reservation.md +142 -0
  653. package/docs/handbook/cloudflare/authentication.md +96 -299
  654. package/docs/handbook/cloudflare/chatgpt-sites.md +104 -15
  655. package/docs/handbook/cloudflare/deploy-and-operate.md +77 -71
  656. package/docs/handbook/cloudflare/media-r2.md +64 -187
  657. package/docs/handbook/cloudflare/service-entry.md +138 -0
  658. package/docs/handbook/concepts/authorization.md +104 -94
  659. package/docs/handbook/concepts/four-atoms.md +68 -144
  660. package/docs/handbook/concepts/lifecycle-and-locales.md +62 -114
  661. package/docs/handbook/concepts/mcp-and-agents.md +112 -117
  662. package/docs/handbook/concepts/procedures-and-triggers.md +126 -181
  663. package/docs/handbook/concepts/runtime-and-adapters.md +177 -156
  664. package/docs/handbook/concepts/views.md +97 -173
  665. package/docs/handbook/examples/hub.md +17 -6
  666. package/docs/handbook/guides/admin-ui.md +101 -96
  667. package/docs/handbook/guides/agent-setup.md +56 -71
  668. package/docs/handbook/guides/typed-queries.md +105 -111
  669. package/docs/handbook/navigation.json +8 -32
  670. package/docs/handbook/reference/authorization.md +52 -271
  671. package/docs/handbook/reference/diagnostics.md +69 -173
  672. package/docs/handbook/reference/features.md +48 -50
  673. package/docs/handbook/reference/manifest.md +56 -116
  674. package/docs/handbook/reference/procedure.md +92 -229
  675. package/docs/handbook/reference/schema.md +156 -215
  676. package/docs/handbook/reference/site-config.md +58 -211
  677. package/docs/handbook/reference/surface.md +69 -181
  678. package/docs/handbook/reference/trigger.md +73 -162
  679. package/docs/handbook/reference/view.md +140 -241
  680. package/docs/handbook/releases/index.md +58 -22
  681. package/docs/handbook/start/overview.md +59 -48
  682. package/docs/handbook/start/project-and-cli.md +127 -116
  683. package/docs/handbook/start/quickstart-worker.md +102 -151
  684. package/docs/skills/develop/SKILL.md +114 -232
  685. package/docs/skills/develop/mcp-app.md +79 -0
  686. package/docs/skills/integrate/SKILL.md +96 -0
  687. package/docs/skills/media-gc/SKILL.md +21 -10
  688. package/docs/skills/provision/SKILL.md +68 -162
  689. package/docs/skills/update/SKILL.md +33 -34
  690. package/docs/upgrade-0.1-to-0.2.md +211 -0
  691. package/package.json +87 -105
  692. package/dist/admin-ui.d.ts +0 -2
  693. package/dist/admin-ui.d.ts.map +0 -1
  694. package/dist/admin-ui.js +0 -2
  695. package/dist/admin-ui.js.map +0 -1
  696. package/dist/admin.d.ts +0 -2
  697. package/dist/admin.d.ts.map +0 -1
  698. package/dist/admin.js +0 -2
  699. package/dist/admin.js.map +0 -1
  700. package/dist/auth.d.ts +0 -2
  701. package/dist/auth.d.ts.map +0 -1
  702. package/dist/auth.js +0 -2
  703. package/dist/auth.js.map +0 -1
  704. package/dist/bun.d.ts +0 -2
  705. package/dist/bun.d.ts.map +0 -1
  706. package/dist/bun.js +0 -2
  707. package/dist/bun.js.map +0 -1
  708. package/dist/cli/harness.d.ts +0 -3
  709. package/dist/cli/harness.d.ts.map +0 -1
  710. package/dist/cli/harness.js +0 -214
  711. package/dist/cli/harness.js.map +0 -1
  712. package/dist/cli/skills.d.ts +0 -3
  713. package/dist/cli/skills.d.ts.map +0 -1
  714. package/dist/cli/skills.js +0 -128
  715. package/dist/cli/skills.js.map +0 -1
  716. package/dist/cloudflare.d.ts +0 -2
  717. package/dist/cloudflare.d.ts.map +0 -1
  718. package/dist/cloudflare.js +0 -2
  719. package/dist/cloudflare.js.map +0 -1
  720. package/dist/codegen/emitMantleModule.d.ts +0 -22
  721. package/dist/codegen/emitMantleModule.d.ts.map +0 -1
  722. package/dist/codegen/emitMantleModule.js +0 -291
  723. package/dist/codegen/emitMantleModule.js.map +0 -1
  724. package/dist/codegen.d.ts +0 -2
  725. package/dist/codegen.d.ts.map +0 -1
  726. package/dist/codegen.js +0 -2
  727. package/dist/codegen.js.map +0 -1
  728. package/dist/runtime-testing.d.ts +0 -2
  729. package/dist/runtime-testing.d.ts.map +0 -1
  730. package/dist/runtime-testing.js +0 -2
  731. package/dist/runtime-testing.js.map +0 -1
  732. package/dist/runtime.d.ts +0 -2
  733. package/dist/runtime.d.ts.map +0 -1
  734. package/dist/runtime.js +0 -2
  735. package/dist/runtime.js.map +0 -1
  736. package/dist/spec.d.ts +0 -2
  737. package/dist/spec.d.ts.map +0 -1
  738. package/dist/spec.js +0 -2
  739. package/dist/spec.js.map +0 -1
  740. package/dist/vercel-libsql.d.ts +0 -2
  741. package/dist/vercel-libsql.d.ts.map +0 -1
  742. package/dist/vercel-libsql.js +0 -2
  743. package/dist/vercel-libsql.js.map +0 -1
  744. package/dist/vercel.d.ts +0 -2
  745. package/dist/vercel.d.ts.map +0 -1
  746. package/dist/vercel.js +0 -2
  747. package/dist/vercel.js.map +0 -1
  748. package/dist/web.d.ts +0 -2
  749. package/dist/web.d.ts.map +0 -1
  750. package/dist/web.js +0 -2
  751. package/dist/web.js.map +0 -1
  752. package/docs/adapter-guide.md +0 -222
  753. package/docs/agent-prompts.md +0 -102
  754. package/docs/api-mcp-authorization.md +0 -5
  755. package/docs/assets/mantle-admin-developer.png +0 -0
  756. package/docs/assets/mantle-admin-operations.png +0 -0
  757. package/docs/assets/mantle-hero.jpg +0 -0
  758. package/docs/auth-hosting-model.md +0 -166
  759. package/docs/cloudflare-low-level-composition.md +0 -5
  760. package/docs/consumer-onboarding-audit.md +0 -65
  761. package/docs/deferred-lifecycle-queues.md +0 -5
  762. package/docs/design-atoms.md +0 -16
  763. package/docs/design-references/editorial-blog-2026-05-05.md +0 -218
  764. package/docs/direct-authoring.md +0 -5
  765. package/docs/examples/builtin-commerce.md +0 -269
  766. package/docs/examples/builtin-intake.md +0 -143
  767. package/docs/examples/builtin-legal-documents.md +0 -189
  768. package/docs/examples/builtin-procurement.md +0 -241
  769. package/docs/examples/builtin-publication.md +0 -241
  770. package/docs/examples/builtin-reservation.md +0 -149
  771. package/docs/examples/cf-primitives-commerce-inventory.md +0 -809
  772. package/docs/examples/cf-primitives-guarded-api.md +0 -429
  773. package/docs/examples/cf-primitives-intake-hooks.md +0 -319
  774. package/docs/examples/host-chatgpt-sites/.openai/hosting.json +0 -1
  775. package/docs/examples/host-chatgpt-sites/README.md +0 -70
  776. package/docs/examples/host-chatgpt-sites/drizzle/0000_sites_users.sql +0 -8
  777. package/docs/examples/host-chatgpt-sites/drizzle/0001_mantle.sql +0 -294
  778. package/docs/examples/host-chatgpt-sites/drizzle/0002_article_cover.sql +0 -5
  779. package/docs/examples/host-chatgpt-sites/drizzle/0003_store_instance_id.sql +0 -1
  780. package/docs/examples/host-chatgpt-sites/drizzle/meta/_journal.json +0 -1
  781. package/docs/examples/host-chatgpt-sites/manifests/site.yaml +0 -27
  782. package/docs/examples/host-chatgpt-sites/package.json +0 -1
  783. package/docs/examples/host-chatgpt-sites/public/site.css +0 -1
  784. package/docs/examples/host-chatgpt-sites/scripts/build.mjs +0 -13
  785. package/docs/examples/host-chatgpt-sites/scripts/check.mjs +0 -101
  786. package/docs/examples/host-chatgpt-sites/scripts/migration.mjs +0 -9
  787. package/docs/examples/host-chatgpt-sites/src/chatgpt-auth.ts +0 -63
  788. package/docs/examples/host-chatgpt-sites/src/index.ts +0 -46
  789. package/docs/examples/host-chatgpt-sites/src/mcp.ts +0 -49
  790. package/docs/examples/host-chatgpt-sites/src/media.ts +0 -109
  791. package/docs/examples/host-chatgpt-sites/src/r2-lab.ts +0 -38
  792. package/docs/examples/host-chatgpt-sites/src/storage-fingerprint.json +0 -1
  793. package/docs/examples/host-chatgpt-sites/src/web.ts +0 -35
  794. package/docs/examples/host-chatgpt-sites/tsconfig.json +0 -1
  795. package/docs/examples/host-chatgpt-sites/wrangler.jsonc +0 -10
  796. package/docs/examples/host-local-admin-otp/.dev.vars.example +0 -3
  797. package/docs/examples/host-local-admin-otp/README.md +0 -80
  798. package/docs/examples/host-local-admin-otp/ensure-dev-vars.mjs +0 -5
  799. package/docs/examples/host-local-admin-otp/manifests/site.yaml +0 -25
  800. package/docs/examples/host-local-admin-otp/package.json +0 -29
  801. package/docs/examples/host-local-admin-otp/public/.gitkeep +0 -1
  802. package/docs/examples/host-local-admin-otp/smoke.mjs +0 -141
  803. package/docs/examples/host-local-admin-otp/src/index.ts +0 -54
  804. package/docs/examples/host-local-admin-otp/tsconfig.json +0 -17
  805. package/docs/examples/host-local-admin-otp/wrangler.jsonc +0 -23
  806. package/docs/examples/host-minimal-worker/README.md +0 -41
  807. package/docs/examples/host-minimal-worker/manifests/site.yaml +0 -25
  808. package/docs/examples/host-minimal-worker/package.json +0 -26
  809. package/docs/examples/host-minimal-worker/smoke.mjs +0 -23
  810. package/docs/examples/host-minimal-worker/src/index.ts +0 -4
  811. package/docs/examples/host-minimal-worker/wrangler.jsonc +0 -22
  812. package/docs/handbook/chatgpt-sites/equipment-checkout.md +0 -231
  813. package/docs/handbook/chatgpt-sites/host-reference.md +0 -113
  814. package/docs/handbook/chatgpt-sites/index.md +0 -123
  815. package/docs/handbook/cloudflare/bindings.md +0 -298
  816. package/docs/handbook/cloudflare/conventional-worker.md +0 -162
  817. package/docs/handbook/cloudflare/deferred-hooks-queues.md +0 -170
  818. package/docs/handbook/cloudflare/low-level-composition.md +0 -169
  819. package/docs/handbook/cloudflare/public-web.md +0 -144
  820. package/docs/handbook/cloudflare/site-chrome.md +0 -75
  821. package/docs/handbook/examples/commerce-transaction.md +0 -11
  822. package/docs/handbook/examples/commerce.md +0 -11
  823. package/docs/handbook/examples/guarded-api.md +0 -10
  824. package/docs/handbook/examples/intake-form.md +0 -12
  825. package/docs/handbook/examples/intake-hooks.md +0 -11
  826. package/docs/handbook/examples/legal-documents.md +0 -10
  827. package/docs/handbook/examples/procurement-approvals.md +0 -10
  828. package/docs/handbook/examples/publication.md +0 -10
  829. package/docs/handbook/examples/reservation.md +0 -10
  830. package/docs/handbook/start/quickstart-admin.md +0 -50
  831. package/docs/labels.md +0 -71
  832. package/docs/media-uploads.md +0 -5
  833. package/docs/migration-0.1.2.md +0 -13
  834. package/docs/performance-harness.md +0 -228
  835. package/docs/release-process.md +0 -244
  836. package/docs/schema-indexes.md +0 -5
  837. package/docs/sealed-pipeline-ownership.md +0 -101
  838. package/docs/skills/plugin/SKILL.md +0 -132
  839. package/docs/skills/theme/SKILL.md +0 -77
  840. package/docs/spec-only-host-adoption.md +0 -157
  841. package/docs/transaction-patterns.md +0 -5
  842. package/skills/README.md +0 -125
  843. package/skills/develop/SKILL.md +0 -250
  844. package/skills/install/SKILL.md +0 -149
  845. package/skills/media-gc/SKILL.md +0 -85
  846. package/skills/plugin/SKILL.md +0 -132
  847. package/skills/provision/SKILL.md +0 -194
  848. package/skills/theme/SKILL.md +0 -77
  849. package/skills/update/SKILL.md +0 -51
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowlist.js","sourceRoot":"","sources":["../../../src/core/sql/allowlist.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /** Builders for the IR nodes Core writes itself (policy fills, Store's JSON converter, the runner's pre-reads, the TTL sweep). */
2
+ import type { SqlNode as N } from "../../spec/domain/index.js";
3
+ export declare const S: (s: string) => {
4
+ String: {
5
+ sval: string;
6
+ };
7
+ };
8
+ /** `ref("t", "id")` is `t.id`. */
9
+ export declare const ref: (...f: string[]) => N;
10
+ export declare const op: (o: string, l: N, r: N) => N;
11
+ /** Integers past int32 must be `fval` in libpg-query's shape; 0 must keep its `ival` key. */
12
+ export declare const num: (n: number) => N;
13
+ export declare const target: (val: N, name?: string) => N;
14
+ /** A relation as the CLI tags it: a Schema `table`, or `system` for Core's own (never reachable from author IR). */
15
+ export declare const table: (relname: string, mantle?: "table" | "system") => N;
16
+ /** `x` in parentheses: the printers' `Raw` prints its parts inside `( )`. */
17
+ export declare const paren: (x: N | undefined) => N | undefined;
18
+ /**
19
+ * An operator, test or `IN (subquery)` with each non-atomic operand in parentheses. pgsql-deparser prints the operands of BETWEEN,
20
+ * LIKE, IN and IS as written, so a nested condition there would read as another expression (SQLite groups `a BETWEEN 0 AND b IN
21
+ * (...)` left to right) or not parse (PostgreSQL). Both printers pass every A_Expr, NullTest, BooleanTest and SubLink through it.
22
+ */
23
+ export declare function parenthesized(key: "A_Expr" | "NullTest" | "BooleanTest" | "SubLink", n: N): N;
24
+ //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/core/sql/ast.ts"],"names":[],"mappings":"AAAA,kIAAkI;AAClI,OAAO,KAAK,EAAE,OAAO,IAAI,CAAC,EAAE,MAAM,4BAA4B,CAAC;AAE/D,eAAO,MAAM,CAAC,GAAI,GAAG,MAAM;;;;CAA8B,CAAC;AAC1D,kCAAkC;AAClC,eAAO,MAAM,GAAG,GAAI,GAAG,GAAG,MAAM,EAAE,KAAG,CAA0C,CAAC;AAChF,eAAO,MAAM,EAAE,GAAI,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,CAAyE,CAAC;AACrH,6FAA6F;AAC7F,eAAO,MAAM,GAAG,GAAI,GAAG,MAAM,KAAG,CAAyI,CAAC;AAC1K,eAAO,MAAM,MAAM,GAAI,KAAK,CAAC,EAAE,OAAO,MAAM,KAAG,CAAoD,CAAC;AACpG,oHAAoH;AACpH,eAAO,MAAM,KAAK,GAAI,SAAS,MAAM,EAAE,SAAQ,OAAO,GAAG,QAAkB,KAAG,CAA0D,CAAC;AAMzI,6EAA6E;AAC7E,eAAO,MAAM,KAAK,GAAI,GAAG,CAAC,GAAG,SAAS,kBAA8C,CAAC;AAErF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAQ7F"}
@@ -0,0 +1,32 @@
1
+ export const S = (s) => ({ String: { sval: s } });
2
+ /** `ref("t", "id")` is `t.id`. */
3
+ export const ref = (...f) => ({ ColumnRef: { fields: f.map(S) } });
4
+ export const op = (o, l, r) => ({ A_Expr: { kind: "AEXPR_OP", name: [S(o)], lexpr: l, rexpr: r } });
5
+ /** Integers past int32 must be `fval` in libpg-query's shape; 0 must keep its `ival` key. */
6
+ export const num = (n) => (Number.isSafeInteger(n) && Math.abs(n) < 2 ** 31 ? { A_Const: { ival: { ival: n } } } : { A_Const: { fval: { fval: String(n) } } });
7
+ export const target = (val, name) => ({ ResTarget: name ? { name, val } : { val } });
8
+ /** A relation as the CLI tags it: a Schema `table`, or `system` for Core's own (never reachable from author IR). */
9
+ export const table = (relname, mantle = "table") => ({ relname, inh: true, relpersistence: "p", mantle });
10
+ /** Nodes that print as one unit on both engines; anything else is an expression a printer must parenthesize as an operand. */
11
+ const ATOMIC = new Set(["ColumnRef", "A_Const", "ParamRef", "FuncCall", "TypeCast", "CaseExpr", "CoalesceExpr", "MinMaxExpr", "Raw"]);
12
+ const atomic = (x) => !x || typeof x !== "object" || Object.keys(x).some((k) => ATOMIC.has(k)) ||
13
+ (x.SubLink && ["EXPR_SUBLINK", "ARRAY_SUBLINK"].includes(x.SubLink.subLinkType));
14
+ /** `x` in parentheses: the printers' `Raw` prints its parts inside `( )`. */
15
+ export const paren = (x) => (atomic(x) ? x : { Raw: { parts: [x] } });
16
+ /**
17
+ * An operator, test or `IN (subquery)` with each non-atomic operand in parentheses. pgsql-deparser prints the operands of BETWEEN,
18
+ * LIKE, IN and IS as written, so a nested condition there would read as another expression (SQLite groups `a BETWEEN 0 AND b IN
19
+ * (...)` left to right) or not parse (PostgreSQL). Both printers pass every A_Expr, NullTest, BooleanTest and SubLink through it.
20
+ */
21
+ export function parenthesized(key, n) {
22
+ if (key === "NullTest" || key === "BooleanTest")
23
+ return { ...n, arg: paren(n.arg) };
24
+ if (key === "SubLink")
25
+ return n.testexpr ? { ...n, testexpr: paren(n.testexpr) } : n;
26
+ const r = n.rexpr;
27
+ const rexpr = r?.List ? { List: { ...r.List, items: r.List.items.map(paren) } }
28
+ : r?.FuncCall && r.FuncCall.funcname?.at(-1)?.String?.sval === "like_escape" ? { FuncCall: { ...r.FuncCall, args: r.FuncCall.args?.map(paren) } }
29
+ : paren(r);
30
+ return { ...n, ...(n.lexpr ? { lexpr: paren(n.lexpr) } : {}), ...(r ? { rexpr } : {}) };
31
+ }
32
+ //# sourceMappingURL=ast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/core/sql/ast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * IR -> physical statements: validate (the runtime never trusts an IR), inject policy, resolve binds.
3
+ * Everything a Store does per statement before the executor runs it (ADR-0034 decisions 3 and 8).
4
+ */
5
+ import { type JsonSchema, type SchemaColumns, type SqlNode } from "../../spec/domain/index.js";
6
+ import type { MantleDialect, StorageSchema } from "../dialect.js";
7
+ import { type BindSpec, type Compiled, type Mode } from "./policy.js";
8
+ import type { RelationPosition } from "./positions.js";
9
+ export type { Compiled, Mode } from "./policy.js";
10
+ /** Who and when a statement runs for; `input` is the Procedure or View input. */
11
+ export interface BindContext {
12
+ /** The caller's subject; null for an anonymous caller, who matches no scoped row. */
13
+ readonly uid: string | null;
14
+ readonly now: number;
15
+ readonly role?: string | null;
16
+ readonly input?: Readonly<Record<string, unknown>>;
17
+ }
18
+ /**
19
+ * The input as a statement binds it. SQL folds an unquoted `input.itemId` to `itemid`, so the statement names the folded name. Only
20
+ * declared properties are keyed: a key the caller added that folds the same (`ITEMID`) skipped the schema's checks and is never read.
21
+ */
22
+ export declare function sqlInput(schema: JsonSchema | undefined, input: unknown): Record<string, unknown>;
23
+ export interface CompileContext {
24
+ readonly dialect: MantleDialect;
25
+ readonly schemas: Readonly<Record<string, StorageSchema>>;
26
+ /** `schemaColumns(schemas)`, when the caller checks many programs against one plan. */
27
+ readonly columns?: SchemaColumns;
28
+ /** Declared input properties and their Mantle types. */
29
+ readonly inputs: Readonly<Record<string, string>>;
30
+ readonly kind: "view" | "procedure";
31
+ readonly mode?: Mode;
32
+ /** Schemas with an after hook: their writes return `id` and `version` in hidden columns. */
33
+ readonly returning?: ReadonlySet<string>;
34
+ /** Add `AND version = ?` (the version the before hook saw) to a row op. */
35
+ readonly lockVersion?: boolean;
36
+ /** Per statement: the status an update moves the entry to (Store's `set: { status }`). */
37
+ readonly statuses?: readonly (string | undefined)[];
38
+ /** Records every relation position the policy printed a wrapper for (the position probe checks it is complete). */
39
+ readonly seen?: Set<RelationPosition>;
40
+ /** NEGATIVE CONTROL ONLY (see RunEnv). */
41
+ readonly unsafeNoVisibility?: boolean;
42
+ }
43
+ /** Check every statement of a program with the dialect, then inject policy. A refused IR is `INPUT_VALIDATION_FAILED`. */
44
+ export declare function compileProgram(stmts: readonly SqlNode[], ctx: CompileContext): Compiled[];
45
+ /** Resolve a statement's numbered binds. `version` and `cursor` values come from the caller of this function. */
46
+ export declare function bindValues(dialect: MantleDialect, binds: readonly BindSpec[], ctx: BindContext, extra?: {
47
+ version?: unknown;
48
+ cursor?: readonly unknown[];
49
+ }): unknown[];
50
+ //# sourceMappingURL=compile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/core/sql/compile.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,OAAO,EAAgB,MAAM,4BAA4B,CAAC;AAEzH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAe,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAmB,MAAM,aAAa,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAElD,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGhG;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1D,uFAAuF;IACvF,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IACpD,mHAAmH;IACnH,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACtC,0CAA0C;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CACvC;AAED,0HAA0H;AAC1H,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,EAAE,GAAG,EAAE,cAAc,GAAG,QAAQ,EAAE,CAYzF;AAED,iHAAiH;AACjH,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;CAAO,GAAG,OAAO,EAAE,CAgB1K"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * IR -> physical statements: validate (the runtime never trusts an IR), inject policy, resolve binds.
3
+ * Everything a Store does per statement before the executor runs it (ADR-0034 decisions 3 and 8).
4
+ */
5
+ import { PG_GRAMMAR } from "../../spec/domain/index.js";
6
+ import { runtimeDiagnostic, DiagnosticError } from "../../spec/kernel/index.js";
7
+ import { applyPolicy } from "./policy.js";
8
+ /**
9
+ * The input as a statement binds it. SQL folds an unquoted `input.itemId` to `itemid`, so the statement names the folded name. Only
10
+ * declared properties are keyed: a key the caller added that folds the same (`ITEMID`) skipped the schema's checks and is never read.
11
+ */
12
+ export function sqlInput(schema, input) {
13
+ const given = (input ?? {});
14
+ return Object.fromEntries(Object.keys(schema?.properties ?? {}).map((name) => [name.toLowerCase(), Object.hasOwn(given, name) ? given[name] : undefined]));
15
+ }
16
+ /** Check every statement of a program with the dialect, then inject policy. A refused IR is `INPUT_VALIDATION_FAILED`. */
17
+ export function compileProgram(stmts, ctx) {
18
+ const diagnostics = ctx.dialect.check({ grammar: PG_GRAMMAR, stmts }, { schemas: ctx.schemas, ...(ctx.columns ? { columns: ctx.columns } : {}), inputs: ctx.inputs, kind: ctx.kind, public: ctx.mode === "public" });
19
+ if (diagnostics.length)
20
+ throw new DiagnosticError(diagnostics.map((d) => runtimeDiagnostic({ code: "INPUT_VALIDATION_FAILED", severity: "error", path: "store", message: `${d.code}: ${d.message}` })));
21
+ const opts = { schemas: ctx.schemas, inputs: ctx.inputs, mode: ctx.mode, lockVersion: ctx.lockVersion, returning: ctx.returning, seen: ctx.seen, unsafeNoVisibility: ctx.unsafeNoVisibility, lower: ctx.dialect.lowering };
22
+ return stmts.map((stmt, i) => {
23
+ const c = applyPolicy(stmt, { ...opts, status: ctx.statuses?.[i] });
24
+ // a Schema whose published entries are protected takes row ops only (ADR-0032 decision 2, ADR-0034 decision 4)
25
+ if (c.kind === "set" && c.schema && ctx.schemas[c.schema]?.publishing)
26
+ throw new DiagnosticError(runtimeDiagnostic({ code: "INPUT_VALIDATION_FAILED", severity: "error", path: "store", message: `SQL_SHAPE: a set op on ${c.schema} is refused: its lifecycle is publishing, so published entries are protected and writes take row ops only` }));
27
+ return c;
28
+ });
29
+ }
30
+ /** Resolve a statement's numbered binds. `version` and `cursor` values come from the caller of this function. */
31
+ export function bindValues(dialect, binds, ctx, extra = {}) {
32
+ const input = ctx.input ?? {};
33
+ return binds.map((b) => {
34
+ switch (b.k) {
35
+ case "uid": return ctx.uid;
36
+ // an instant is bound as the dialect stores one (microseconds on D1, an ISO string on PostgreSQL)
37
+ case "now": return dialect.codec.encode("timestamptz", ctx.now);
38
+ case "cutoff": return dialect.codec.encode("timestamptz", ctx.now - b.seconds * 1_000_000);
39
+ case "const": return b.value;
40
+ case "role": return ctx.role ?? null;
41
+ case "input": return dialect.codec.encode(b.type, input[b.name]);
42
+ case "version": return extra.version;
43
+ case "cursor": return extra.cursor[b.i];
44
+ case "dialect": return dialect.bind(b, ctx);
45
+ }
46
+ });
47
+ }
48
+ //# sourceMappingURL=compile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../src/core/sql/compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import { type SqlNode as N } from '../../spec/domain/index.js';
2
+ import type { RelationPosition } from './positions.js';
3
+ import type { StorageSchema as SchemaDef } from '../dialect.js';
4
+ type Schemas = Record<string, SchemaDef>;
5
+ /** A bind a dialect's lowering adds; the dialect resolves it (`MantleDialect.bind`). */
6
+ export type DialectBind = {
7
+ readonly k: 'dialect';
8
+ readonly [key: string]: unknown;
9
+ };
10
+ export type BindSpec = {
11
+ k: 'uid';
12
+ } | {
13
+ k: 'now';
14
+ } | {
15
+ k: 'role';
16
+ } | {
17
+ k: 'cutoff';
18
+ seconds: number;
19
+ } | {
20
+ k: 'const';
21
+ value: unknown;
22
+ } | {
23
+ k: 'input';
24
+ name: string;
25
+ type: string;
26
+ } | DialectBind | {
27
+ k: 'version';
28
+ } | {
29
+ k: 'cursor';
30
+ i: number;
31
+ };
32
+ /** The prefix of the columns that carry an after hook's row; the runner strips them from the result. */
33
+ export declare const HOOK_PREFIX = "_mantle_h_";
34
+ export type Mode = 'caller' | 'public' | 'trusted';
35
+ export type PolicyOpts = {
36
+ schemas: Schemas;
37
+ inputs: Record<string, string>;
38
+ mode?: Mode;
39
+ /** add `AND version = ?` (the version the before hook saw) to a row op's WHERE */
40
+ lockVersion?: boolean;
41
+ /** the status an update moves the entry to (the lifecycle decided it is legal); SQL cannot write `status` */
42
+ status?: string;
43
+ /** schemas that have an after hook: their writes get RETURNING */
44
+ returning?: Set<string>;
45
+ /** NEGATIVE CONTROL ONLY: print no visibility predicate, so a probe that cannot fail is caught */
46
+ unsafeNoVisibility?: boolean;
47
+ /** records every relation position the pass printed a wrapper for (the probe checks it is complete) */
48
+ seen?: Set<RelationPosition>;
49
+ /** what the dialect spells itself */
50
+ lower: PolicyLowering;
51
+ };
52
+ /** What a lowering reads of the statement being rewritten. */
53
+ export interface LoweringScope {
54
+ readonly inputs: Readonly<Record<string, string>>;
55
+ /** a bind, numbered once per distinct spec */
56
+ param(spec: BindSpec): N;
57
+ /** rewrite a sub-tree (policy and lowering apply inside it) */
58
+ tx(node: N | undefined): N;
59
+ /** the Schema an alias in scope reads, and the query of its `mantle.search(alias, q)` in the same select */
60
+ alias(name: string): {
61
+ schema: string;
62
+ def: SchemaDef;
63
+ searchQuery?: N;
64
+ };
65
+ /** record a relation position the lowering reaches (the position probe checks the list is complete) */
66
+ seen(position: RelationPosition): void;
67
+ }
68
+ /** The pieces of a physical statement only the dialect can spell. Each takes the node already rewritten by Core, except where noted. */
69
+ export interface PolicyLowering {
70
+ /** `input.<name>`: the bind, as the engine reads a value of this Mantle type */
71
+ input(param: N, type: string): N;
72
+ /** A function call, before rewriting (`f` is its name without `pg_catalog.`): its lowering, or undefined to keep it a call. */
73
+ func(f: string, n: N, scope: LoweringScope): N | undefined;
74
+ /** A call that is kept, with its arguments rewritten. */
75
+ call(out: N): N;
76
+ /** A cast, before rewriting. */
77
+ cast(n: N, scope: LoweringScope): N;
78
+ /** A subquery link, with its subquery rewritten. */
79
+ sublink(out: N): N;
80
+ /** A new entry id, for an insert that names none. */
81
+ newId(): N;
82
+ /** Extra columns a Schema's read wrapper exposes (the dialect's own index joins). */
83
+ columns(s: SchemaDef): N[];
84
+ /** `now()`'s bind, for an engine that cannot infer a parameter's type from `$n - interval '1 hour'` (absent: the bare bind). */
85
+ system?(param: N, type: "timestamptz"): N;
86
+ }
87
+ export type Compiled = {
88
+ ast: N;
89
+ binds: BindSpec[];
90
+ kind: 'read' | 'row' | 'set';
91
+ schema?: string;
92
+ verb?: 'insert' | 'update' | 'delete';
93
+ /** an after hook exists for the target: RETURNING carries the row in `HOOK_PREFIX` columns the runner splits off */
94
+ hooked: boolean;
95
+ /** the update publishes the entry: publish hooks fire instead of update hooks */
96
+ publish: boolean;
97
+ };
98
+ type SelInfo = {
99
+ container: RelationPosition;
100
+ hasWindow: boolean;
101
+ hasJsonEach: boolean;
102
+ scope: Map<string, string>;
103
+ searchQ: Map<string, N>;
104
+ };
105
+ type C = PolicyOpts & {
106
+ binds: BindSpec[];
107
+ keys: Map<string, number>;
108
+ edge: string;
109
+ embed: 'top' | 'sublink' | 'from-subquery' | 'insert-select' | 'cte' | 'setop.left' | 'setop.right';
110
+ sel: SelInfo[];
111
+ /** the CTEs in scope, innermost last: a reference reads its body's outputs (ordering needs its id) */
112
+ ctes: Map<string, N>[];
113
+ dml?: {
114
+ alias: string;
115
+ schema: string;
116
+ };
117
+ };
118
+ export declare function tx(v: any, c: C): any;
119
+ export declare function applyPolicy(stmt: N, opts: PolicyOpts): Compiled;
120
+ export {};
121
+ //# sourceMappingURL=policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/core/sql/policy.ts"],"names":[],"mappings":"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"}