@aotter/mantle 0.1.5-alpha.1 → 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 (870) 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 +318 -262
  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/0022-caller-observed-version-occ.md +1 -1
  611. package/docs/adr/0024-manifest-native-schema-tables.md +2 -2
  612. package/docs/adr/0027-scheduled-procedure-triggers.md +1 -1
  613. package/docs/adr/0028-schema-ttl-expiry.md +3 -3
  614. package/docs/adr/0029-mcp-apps-interaction-contracts.md +324 -0
  615. package/docs/adr/0030-store.md +40 -0
  616. package/docs/adr/0031-host-cloud-core-contract.md +25 -0
  617. package/docs/adr/0032-store-centric-core-and-service-contract.md +361 -0
  618. package/docs/adr/0033-storage-converges-to-the-plan.md +92 -0
  619. package/docs/adr/0034-store-is-authored-as-sql.md +192 -0
  620. package/docs/adr/0035-sql-dialects.md +154 -0
  621. package/docs/adr/0036-host-and-dialect.md +65 -0
  622. package/docs/adr/0037-postgresql-is-the-reference-dialect.md +124 -0
  623. package/docs/adr/0038-bun-native-host.md +63 -0
  624. package/docs/adr/README.md +23 -8
  625. package/docs/adr/adr-lite-861-admin-webmcp.md +6 -0
  626. package/docs/adr/adr-lite-909-admin-ui-kit.md +1 -1
  627. package/docs/examples/README.md +16 -18
  628. package/docs/examples/commerce-inventory.md +481 -0
  629. package/docs/examples/commerce.md +254 -0
  630. package/docs/examples/guarded-api.md +238 -0
  631. package/docs/examples/intake-hooks.md +237 -0
  632. package/docs/examples/intake.md +127 -0
  633. package/docs/examples/legal-documents.md +218 -0
  634. package/docs/examples/procurement.md +215 -0
  635. package/docs/examples/publication.md +211 -0
  636. package/docs/examples/reference-service/.dev.vars.example +4 -0
  637. package/docs/examples/reference-service/.mantle/generated/mantle.ts +174 -0
  638. package/docs/examples/reference-service/.mantle/generated/plan.json +1936 -0
  639. package/docs/examples/reference-service/README.md +33 -0
  640. package/docs/examples/reference-service/manifests/catalog.yaml +103 -0
  641. package/docs/examples/reference-service/manifests/orders.yaml +120 -0
  642. package/docs/examples/reference-service/mantle.config.json +1 -0
  643. package/docs/examples/reference-service/package.json +27 -0
  644. package/docs/examples/reference-service/smoke.mjs +156 -0
  645. package/docs/examples/reference-service/src/handlers.ts +36 -0
  646. package/docs/examples/reference-service/src/index.ts +33 -0
  647. package/docs/examples/reference-service/src/service.ts +78 -0
  648. package/docs/examples/{host-minimal-worker → reference-service}/tsconfig.json +7 -2
  649. package/docs/examples/reference-service/wrangler.jsonc +26 -0
  650. package/docs/examples/reservation.md +142 -0
  651. package/docs/handbook/cloudflare/authentication.md +96 -316
  652. package/docs/handbook/cloudflare/chatgpt-sites.md +104 -15
  653. package/docs/handbook/cloudflare/deploy-and-operate.md +77 -71
  654. package/docs/handbook/cloudflare/media-r2.md +64 -187
  655. package/docs/handbook/cloudflare/service-entry.md +138 -0
  656. package/docs/handbook/concepts/authorization.md +104 -94
  657. package/docs/handbook/concepts/four-atoms.md +68 -144
  658. package/docs/handbook/concepts/lifecycle-and-locales.md +62 -114
  659. package/docs/handbook/concepts/mcp-and-agents.md +112 -117
  660. package/docs/handbook/concepts/procedures-and-triggers.md +126 -181
  661. package/docs/handbook/concepts/runtime-and-adapters.md +177 -163
  662. package/docs/handbook/concepts/views.md +97 -173
  663. package/docs/handbook/examples/hub.md +17 -6
  664. package/docs/handbook/guides/admin-ui.md +101 -96
  665. package/docs/handbook/guides/agent-setup.md +56 -71
  666. package/docs/handbook/guides/typed-queries.md +105 -111
  667. package/docs/handbook/navigation.json +8 -33
  668. package/docs/handbook/reference/authorization.md +52 -271
  669. package/docs/handbook/reference/diagnostics.md +69 -178
  670. package/docs/handbook/reference/features.md +48 -50
  671. package/docs/handbook/reference/manifest.md +56 -116
  672. package/docs/handbook/reference/procedure.md +91 -279
  673. package/docs/handbook/reference/schema.md +154 -239
  674. package/docs/handbook/reference/site-config.md +58 -211
  675. package/docs/handbook/reference/surface.md +69 -181
  676. package/docs/handbook/reference/trigger.md +72 -181
  677. package/docs/handbook/reference/view.md +140 -241
  678. package/docs/handbook/releases/index.md +58 -77
  679. package/docs/handbook/start/overview.md +59 -51
  680. package/docs/handbook/start/project-and-cli.md +132 -105
  681. package/docs/handbook/start/quickstart-worker.md +102 -160
  682. package/docs/skills/develop/SKILL.md +114 -240
  683. package/docs/skills/develop/mcp-app.md +79 -0
  684. package/docs/skills/integrate/SKILL.md +83 -47
  685. package/docs/skills/media-gc/SKILL.md +21 -10
  686. package/docs/skills/provision/SKILL.md +68 -162
  687. package/docs/skills/update/SKILL.md +33 -34
  688. package/docs/upgrade-0.1-to-0.2.md +211 -0
  689. package/package.json +87 -106
  690. package/dist/admin-ui.d.ts +0 -2
  691. package/dist/admin-ui.d.ts.map +0 -1
  692. package/dist/admin-ui.js +0 -2
  693. package/dist/admin-ui.js.map +0 -1
  694. package/dist/admin.d.ts +0 -2
  695. package/dist/admin.d.ts.map +0 -1
  696. package/dist/admin.js +0 -2
  697. package/dist/admin.js.map +0 -1
  698. package/dist/auth.d.ts +0 -2
  699. package/dist/auth.d.ts.map +0 -1
  700. package/dist/auth.js +0 -2
  701. package/dist/auth.js.map +0 -1
  702. package/dist/bun.d.ts +0 -2
  703. package/dist/bun.d.ts.map +0 -1
  704. package/dist/bun.js +0 -2
  705. package/dist/bun.js.map +0 -1
  706. package/dist/cli/generate-cloudflare.d.ts +0 -7
  707. package/dist/cli/generate-cloudflare.d.ts.map +0 -1
  708. package/dist/cli/generate-cloudflare.js +0 -123
  709. package/dist/cli/generate-cloudflare.js.map +0 -1
  710. package/dist/cli/generate-project.d.ts +0 -25
  711. package/dist/cli/generate-project.d.ts.map +0 -1
  712. package/dist/cli/generate-project.js +0 -282
  713. package/dist/cli/generate-project.js.map +0 -1
  714. package/dist/cli/generate-sites.d.ts +0 -8
  715. package/dist/cli/generate-sites.d.ts.map +0 -1
  716. package/dist/cli/generate-sites.js +0 -273
  717. package/dist/cli/generate-sites.js.map +0 -1
  718. package/dist/cli/harness.d.ts +0 -3
  719. package/dist/cli/harness.d.ts.map +0 -1
  720. package/dist/cli/harness.js +0 -214
  721. package/dist/cli/harness.js.map +0 -1
  722. package/dist/cli/skills.d.ts +0 -3
  723. package/dist/cli/skills.d.ts.map +0 -1
  724. package/dist/cli/skills.js +0 -128
  725. package/dist/cli/skills.js.map +0 -1
  726. package/dist/cloudflare.d.ts +0 -2
  727. package/dist/cloudflare.d.ts.map +0 -1
  728. package/dist/cloudflare.js +0 -2
  729. package/dist/cloudflare.js.map +0 -1
  730. package/dist/codegen/emitMantleModule.d.ts +0 -22
  731. package/dist/codegen/emitMantleModule.d.ts.map +0 -1
  732. package/dist/codegen/emitMantleModule.js +0 -291
  733. package/dist/codegen/emitMantleModule.js.map +0 -1
  734. package/dist/codegen.d.ts +0 -2
  735. package/dist/codegen.d.ts.map +0 -1
  736. package/dist/codegen.js +0 -2
  737. package/dist/codegen.js.map +0 -1
  738. package/dist/runtime-testing.d.ts +0 -2
  739. package/dist/runtime-testing.d.ts.map +0 -1
  740. package/dist/runtime-testing.js +0 -2
  741. package/dist/runtime-testing.js.map +0 -1
  742. package/dist/runtime.d.ts +0 -2
  743. package/dist/runtime.d.ts.map +0 -1
  744. package/dist/runtime.js +0 -2
  745. package/dist/runtime.js.map +0 -1
  746. package/dist/spec.d.ts +0 -2
  747. package/dist/spec.d.ts.map +0 -1
  748. package/dist/spec.js +0 -2
  749. package/dist/spec.js.map +0 -1
  750. package/dist/vercel-libsql.d.ts +0 -2
  751. package/dist/vercel-libsql.d.ts.map +0 -1
  752. package/dist/vercel-libsql.js +0 -2
  753. package/dist/vercel-libsql.js.map +0 -1
  754. package/dist/vercel.d.ts +0 -2
  755. package/dist/vercel.d.ts.map +0 -1
  756. package/dist/vercel.js +0 -2
  757. package/dist/vercel.js.map +0 -1
  758. package/dist/web.d.ts +0 -2
  759. package/dist/web.d.ts.map +0 -1
  760. package/dist/web.js +0 -2
  761. package/dist/web.js.map +0 -1
  762. package/docs/adapter-guide.md +0 -222
  763. package/docs/agent-prompts.md +0 -64
  764. package/docs/api-mcp-authorization.md +0 -5
  765. package/docs/assets/mantle-admin-developer.png +0 -0
  766. package/docs/assets/mantle-admin-operations.png +0 -0
  767. package/docs/assets/mantle-hero.jpg +0 -0
  768. package/docs/auth-hosting-model.md +0 -166
  769. package/docs/cloudflare-low-level-composition.md +0 -5
  770. package/docs/consumer-onboarding-audit.md +0 -65
  771. package/docs/deferred-lifecycle-queues.md +0 -5
  772. package/docs/design-atoms.md +0 -16
  773. package/docs/design-references/editorial-blog-2026-05-05.md +0 -218
  774. package/docs/direct-authoring.md +0 -5
  775. package/docs/examples/builtin-commerce.md +0 -269
  776. package/docs/examples/builtin-intake.md +0 -143
  777. package/docs/examples/builtin-legal-documents.md +0 -189
  778. package/docs/examples/builtin-procurement.md +0 -241
  779. package/docs/examples/builtin-publication.md +0 -241
  780. package/docs/examples/builtin-reservation.md +0 -149
  781. package/docs/examples/cf-primitives-commerce-inventory.md +0 -809
  782. package/docs/examples/cf-primitives-guarded-api.md +0 -429
  783. package/docs/examples/cf-primitives-intake-hooks.md +0 -319
  784. package/docs/examples/host-chatgpt-sites/.openai/hosting.json +0 -1
  785. package/docs/examples/host-chatgpt-sites/README.md +0 -70
  786. package/docs/examples/host-chatgpt-sites/drizzle/0000_sites_users.sql +0 -8
  787. package/docs/examples/host-chatgpt-sites/drizzle/0001_mantle.sql +0 -294
  788. package/docs/examples/host-chatgpt-sites/drizzle/0002_article_cover.sql +0 -5
  789. package/docs/examples/host-chatgpt-sites/drizzle/0003_store_instance_id.sql +0 -1
  790. package/docs/examples/host-chatgpt-sites/drizzle/0004_mantle.sql +0 -10
  791. package/docs/examples/host-chatgpt-sites/drizzle/0005_mantle.sql +0 -24
  792. package/docs/examples/host-chatgpt-sites/drizzle/meta/_journal.json +0 -1
  793. package/docs/examples/host-chatgpt-sites/drizzle/meta/mantle-state.json +0 -60
  794. package/docs/examples/host-chatgpt-sites/manifests/site.yaml +0 -27
  795. package/docs/examples/host-chatgpt-sites/package.json +0 -1
  796. package/docs/examples/host-chatgpt-sites/public/site.css +0 -1
  797. package/docs/examples/host-chatgpt-sites/scripts/build.mjs +0 -13
  798. package/docs/examples/host-chatgpt-sites/scripts/check.mjs +0 -101
  799. package/docs/examples/host-chatgpt-sites/scripts/migration.mjs +0 -43
  800. package/docs/examples/host-chatgpt-sites/src/chatgpt-auth.ts +0 -66
  801. package/docs/examples/host-chatgpt-sites/src/index.ts +0 -46
  802. package/docs/examples/host-chatgpt-sites/src/mcp.ts +0 -49
  803. package/docs/examples/host-chatgpt-sites/src/media.ts +0 -109
  804. package/docs/examples/host-chatgpt-sites/src/r2-lab.ts +0 -38
  805. package/docs/examples/host-chatgpt-sites/src/storage-fingerprint.json +0 -1
  806. package/docs/examples/host-chatgpt-sites/src/web.ts +0 -35
  807. package/docs/examples/host-chatgpt-sites/tsconfig.json +0 -1
  808. package/docs/examples/host-chatgpt-sites/wrangler.jsonc +0 -10
  809. package/docs/examples/host-local-admin-otp/.dev.vars.example +0 -3
  810. package/docs/examples/host-local-admin-otp/README.md +0 -80
  811. package/docs/examples/host-local-admin-otp/ensure-dev-vars.mjs +0 -5
  812. package/docs/examples/host-local-admin-otp/manifests/site.yaml +0 -25
  813. package/docs/examples/host-local-admin-otp/package.json +0 -29
  814. package/docs/examples/host-local-admin-otp/public/.gitkeep +0 -1
  815. package/docs/examples/host-local-admin-otp/smoke.mjs +0 -141
  816. package/docs/examples/host-local-admin-otp/src/index.ts +0 -54
  817. package/docs/examples/host-local-admin-otp/tsconfig.json +0 -17
  818. package/docs/examples/host-local-admin-otp/wrangler.jsonc +0 -23
  819. package/docs/examples/host-minimal-worker/README.md +0 -41
  820. package/docs/examples/host-minimal-worker/manifests/site.yaml +0 -25
  821. package/docs/examples/host-minimal-worker/package.json +0 -26
  822. package/docs/examples/host-minimal-worker/smoke.mjs +0 -23
  823. package/docs/examples/host-minimal-worker/src/index.ts +0 -4
  824. package/docs/examples/host-minimal-worker/wrangler.jsonc +0 -22
  825. package/docs/handbook/chatgpt-sites/equipment-checkout.md +0 -231
  826. package/docs/handbook/chatgpt-sites/generated-app.md +0 -84
  827. package/docs/handbook/chatgpt-sites/host-reference.md +0 -113
  828. package/docs/handbook/chatgpt-sites/index.md +0 -133
  829. package/docs/handbook/cloudflare/bindings.md +0 -291
  830. package/docs/handbook/cloudflare/conventional-worker.md +0 -166
  831. package/docs/handbook/cloudflare/deferred-hooks-queues.md +0 -170
  832. package/docs/handbook/cloudflare/low-level-composition.md +0 -169
  833. package/docs/handbook/cloudflare/public-web.md +0 -144
  834. package/docs/handbook/cloudflare/site-chrome.md +0 -75
  835. package/docs/handbook/examples/commerce-transaction.md +0 -11
  836. package/docs/handbook/examples/commerce.md +0 -11
  837. package/docs/handbook/examples/guarded-api.md +0 -10
  838. package/docs/handbook/examples/intake-form.md +0 -12
  839. package/docs/handbook/examples/intake-hooks.md +0 -11
  840. package/docs/handbook/examples/legal-documents.md +0 -10
  841. package/docs/handbook/examples/procurement-approvals.md +0 -10
  842. package/docs/handbook/examples/publication.md +0 -10
  843. package/docs/handbook/examples/reservation.md +0 -10
  844. package/docs/handbook/start/quickstart-admin.md +0 -52
  845. package/docs/labels.md +0 -71
  846. package/docs/media-uploads.md +0 -5
  847. package/docs/migration-0.1.2.md +0 -13
  848. package/docs/performance-harness.md +0 -228
  849. package/docs/release-process.md +0 -244
  850. package/docs/schema-indexes.md +0 -5
  851. package/docs/sealed-pipeline-ownership.md +0 -101
  852. package/docs/skills/plugin/SKILL.md +0 -132
  853. package/docs/skills/theme/SKILL.md +0 -77
  854. package/docs/spec-only-host-adoption.md +0 -157
  855. package/docs/transaction-patterns.md +0 -5
  856. package/skills/README.md +0 -127
  857. package/skills/develop/SKILL.md +0 -258
  858. package/skills/install/SKILL.md +0 -112
  859. package/skills/integrate/SKILL.md +0 -60
  860. package/skills/media-gc/SKILL.md +0 -85
  861. package/skills/plugin/SKILL.md +0 -132
  862. package/skills/provision/SKILL.md +0 -194
  863. package/skills/theme/SKILL.md +0 -77
  864. package/skills/update/SKILL.md +0 -51
  865. package/templates/chatgpt-sites/auth.ts +0 -66
  866. package/templates/chatgpt-sites/build.mjs +0 -14
  867. package/templates/chatgpt-sites/env.ts +0 -1
  868. package/templates/chatgpt-sites/mcp.ts +0 -48
  869. package/templates/chatgpt-sites/public-mcp.ts +0 -29
  870. package/templates/chatgpt-sites/smoke-local.mjs +0 -20
@@ -0,0 +1,1936 @@
1
+ {
2
+ "sourceHash": "6f7b8f545325b7c315f51d8a0e0b4d2ffa01132cb4e2969e47fc775f69d37010",
3
+ "plan": {
4
+ "version": 6,
5
+ "dialect": {
6
+ "name": "@aotter/mantle/d1",
7
+ "version": "1"
8
+ },
9
+ "schemas": {
10
+ "items": {
11
+ "name": "items",
12
+ "title": "Items",
13
+ "uiSchema": {
14
+ "list": {
15
+ "primaryField": "name",
16
+ "columns": [
17
+ "sku",
18
+ "stock"
19
+ ]
20
+ }
21
+ },
22
+ "publishing": false,
23
+ "schema": {
24
+ "type": "object",
25
+ "required": [
26
+ "sku",
27
+ "name",
28
+ "stock"
29
+ ],
30
+ "properties": {
31
+ "sku": {
32
+ "type": "string"
33
+ },
34
+ "name": {
35
+ "type": "string"
36
+ },
37
+ "priceCents": {
38
+ "type": "integer",
39
+ "minimum": 0
40
+ },
41
+ "stock": {
42
+ "type": "integer",
43
+ "default": 0
44
+ }
45
+ }
46
+ },
47
+ "fields": {
48
+ "sku": "text",
49
+ "name": "text",
50
+ "pricecents": "integer",
51
+ "stock": "integer"
52
+ },
53
+ "names": {
54
+ "sku": "sku",
55
+ "name": "name",
56
+ "pricecents": "priceCents",
57
+ "stock": "stock"
58
+ },
59
+ "search": [
60
+ "name",
61
+ "sku"
62
+ ],
63
+ "unique": [
64
+ [
65
+ "sku"
66
+ ]
67
+ ],
68
+ "checks": [
69
+ {
70
+ "A_Expr": {
71
+ "kind": "AEXPR_OP",
72
+ "name": [
73
+ {
74
+ "String": {
75
+ "sval": ">="
76
+ }
77
+ }
78
+ ],
79
+ "lexpr": {
80
+ "ColumnRef": {
81
+ "fields": [
82
+ {
83
+ "String": {
84
+ "sval": "stock"
85
+ }
86
+ }
87
+ ]
88
+ }
89
+ },
90
+ "rexpr": {
91
+ "A_Const": {
92
+ "ival": {}
93
+ }
94
+ }
95
+ }
96
+ }
97
+ ]
98
+ },
99
+ "orders": {
100
+ "name": "orders",
101
+ "title": "Orders",
102
+ "uiSchema": {
103
+ "list": {
104
+ "primaryField": "itemId",
105
+ "columns": [
106
+ "qty",
107
+ "orderStatus"
108
+ ]
109
+ }
110
+ },
111
+ "scope": "owner",
112
+ "publishing": false,
113
+ "schema": {
114
+ "type": "object",
115
+ "required": [
116
+ "owner",
117
+ "itemId",
118
+ "qty",
119
+ "orderStatus"
120
+ ],
121
+ "properties": {
122
+ "owner": {
123
+ "type": "string"
124
+ },
125
+ "itemId": {
126
+ "type": "string"
127
+ },
128
+ "qty": {
129
+ "type": "integer",
130
+ "minimum": 1
131
+ },
132
+ "orderStatus": {
133
+ "type": "string",
134
+ "enum": [
135
+ "placed",
136
+ "cancelled"
137
+ ]
138
+ },
139
+ "placedAt": {
140
+ "type": "string",
141
+ "format": "date-time"
142
+ }
143
+ }
144
+ },
145
+ "fields": {
146
+ "owner": "text",
147
+ "itemid": "text",
148
+ "qty": "integer",
149
+ "orderstatus": "text",
150
+ "placedat": "timestamptz"
151
+ },
152
+ "names": {
153
+ "owner": "owner",
154
+ "itemid": "itemId",
155
+ "qty": "qty",
156
+ "orderstatus": "orderStatus",
157
+ "placedat": "placedAt"
158
+ },
159
+ "indexes": [
160
+ [
161
+ "owner"
162
+ ]
163
+ ]
164
+ },
165
+ "activity": {
166
+ "name": "activity",
167
+ "title": "Activity",
168
+ "publishing": false,
169
+ "schema": {
170
+ "type": "object",
171
+ "required": [
172
+ "kind",
173
+ "subject"
174
+ ],
175
+ "properties": {
176
+ "kind": {
177
+ "type": "string"
178
+ },
179
+ "subject": {
180
+ "type": "string"
181
+ },
182
+ "detail": {
183
+ "type": "string"
184
+ }
185
+ }
186
+ },
187
+ "fields": {
188
+ "kind": "text",
189
+ "subject": "text",
190
+ "detail": "text"
191
+ },
192
+ "names": {
193
+ "kind": "kind",
194
+ "subject": "subject",
195
+ "detail": "detail"
196
+ }
197
+ }
198
+ },
199
+ "views": {
200
+ "catalog": {
201
+ "grammar": 180004,
202
+ "stmts": [
203
+ {
204
+ "SelectStmt": {
205
+ "targetList": [
206
+ {
207
+ "ResTarget": {
208
+ "val": {
209
+ "ColumnRef": {
210
+ "fields": [
211
+ {
212
+ "String": {
213
+ "sval": "id"
214
+ }
215
+ }
216
+ ]
217
+ }
218
+ }
219
+ }
220
+ },
221
+ {
222
+ "ResTarget": {
223
+ "val": {
224
+ "ColumnRef": {
225
+ "fields": [
226
+ {
227
+ "String": {
228
+ "sval": "sku"
229
+ }
230
+ }
231
+ ]
232
+ }
233
+ }
234
+ }
235
+ },
236
+ {
237
+ "ResTarget": {
238
+ "val": {
239
+ "ColumnRef": {
240
+ "fields": [
241
+ {
242
+ "String": {
243
+ "sval": "name"
244
+ }
245
+ }
246
+ ]
247
+ }
248
+ }
249
+ }
250
+ },
251
+ {
252
+ "ResTarget": {
253
+ "val": {
254
+ "ColumnRef": {
255
+ "fields": [
256
+ {
257
+ "String": {
258
+ "sval": "pricecents"
259
+ }
260
+ }
261
+ ]
262
+ }
263
+ }
264
+ }
265
+ },
266
+ {
267
+ "ResTarget": {
268
+ "val": {
269
+ "ColumnRef": {
270
+ "fields": [
271
+ {
272
+ "String": {
273
+ "sval": "stock"
274
+ }
275
+ }
276
+ ]
277
+ }
278
+ }
279
+ }
280
+ }
281
+ ],
282
+ "fromClause": [
283
+ {
284
+ "RangeVar": {
285
+ "relname": "items",
286
+ "inh": true,
287
+ "relpersistence": "p",
288
+ "mantle": "table"
289
+ }
290
+ }
291
+ ],
292
+ "sortClause": [
293
+ {
294
+ "SortBy": {
295
+ "node": {
296
+ "ColumnRef": {
297
+ "fields": [
298
+ {
299
+ "String": {
300
+ "sval": "name"
301
+ }
302
+ }
303
+ ]
304
+ }
305
+ },
306
+ "sortby_dir": "SORTBY_DEFAULT",
307
+ "sortby_nulls": "SORTBY_NULLS_DEFAULT"
308
+ }
309
+ }
310
+ ],
311
+ "limitOption": "LIMIT_OPTION_DEFAULT",
312
+ "op": "SETOP_NONE"
313
+ }
314
+ }
315
+ ],
316
+ "columns": {
317
+ "sku": {
318
+ "schema": "items",
319
+ "field": "sku"
320
+ },
321
+ "name": {
322
+ "schema": "items",
323
+ "field": "name"
324
+ },
325
+ "pricecents": {
326
+ "schema": "items",
327
+ "field": "pricecents"
328
+ },
329
+ "stock": {
330
+ "schema": "items",
331
+ "field": "stock"
332
+ }
333
+ },
334
+ "inputs": {},
335
+ "source": "SELECT id, sku, name, priceCents, stock FROM items ORDER BY name",
336
+ "surface": "public"
337
+ },
338
+ "search-items": {
339
+ "grammar": 180004,
340
+ "stmts": [
341
+ {
342
+ "SelectStmt": {
343
+ "targetList": [
344
+ {
345
+ "ResTarget": {
346
+ "val": {
347
+ "ColumnRef": {
348
+ "fields": [
349
+ {
350
+ "String": {
351
+ "sval": "i"
352
+ }
353
+ },
354
+ {
355
+ "String": {
356
+ "sval": "id"
357
+ }
358
+ }
359
+ ]
360
+ }
361
+ }
362
+ }
363
+ },
364
+ {
365
+ "ResTarget": {
366
+ "val": {
367
+ "ColumnRef": {
368
+ "fields": [
369
+ {
370
+ "String": {
371
+ "sval": "i"
372
+ }
373
+ },
374
+ {
375
+ "String": {
376
+ "sval": "name"
377
+ }
378
+ }
379
+ ]
380
+ }
381
+ }
382
+ }
383
+ },
384
+ {
385
+ "ResTarget": {
386
+ "val": {
387
+ "ColumnRef": {
388
+ "fields": [
389
+ {
390
+ "String": {
391
+ "sval": "i"
392
+ }
393
+ },
394
+ {
395
+ "String": {
396
+ "sval": "stock"
397
+ }
398
+ }
399
+ ]
400
+ }
401
+ }
402
+ }
403
+ }
404
+ ],
405
+ "fromClause": [
406
+ {
407
+ "RangeVar": {
408
+ "relname": "items",
409
+ "inh": true,
410
+ "relpersistence": "p",
411
+ "alias": {
412
+ "aliasname": "i"
413
+ },
414
+ "mantle": "table"
415
+ }
416
+ }
417
+ ],
418
+ "whereClause": {
419
+ "FuncCall": {
420
+ "funcname": [
421
+ {
422
+ "String": {
423
+ "sval": "mantle"
424
+ }
425
+ },
426
+ {
427
+ "String": {
428
+ "sval": "search"
429
+ }
430
+ }
431
+ ],
432
+ "args": [
433
+ {
434
+ "ColumnRef": {
435
+ "fields": [
436
+ {
437
+ "String": {
438
+ "sval": "i"
439
+ }
440
+ }
441
+ ]
442
+ }
443
+ },
444
+ {
445
+ "ColumnRef": {
446
+ "fields": [
447
+ {
448
+ "String": {
449
+ "sval": "input"
450
+ }
451
+ },
452
+ {
453
+ "String": {
454
+ "sval": "q"
455
+ }
456
+ }
457
+ ]
458
+ }
459
+ }
460
+ ],
461
+ "funcformat": "COERCE_EXPLICIT_CALL"
462
+ }
463
+ },
464
+ "sortClause": [
465
+ {
466
+ "SortBy": {
467
+ "node": {
468
+ "FuncCall": {
469
+ "funcname": [
470
+ {
471
+ "String": {
472
+ "sval": "mantle"
473
+ }
474
+ },
475
+ {
476
+ "String": {
477
+ "sval": "search_rank"
478
+ }
479
+ }
480
+ ],
481
+ "args": [
482
+ {
483
+ "ColumnRef": {
484
+ "fields": [
485
+ {
486
+ "String": {
487
+ "sval": "i"
488
+ }
489
+ }
490
+ ]
491
+ }
492
+ }
493
+ ],
494
+ "funcformat": "COERCE_EXPLICIT_CALL"
495
+ }
496
+ },
497
+ "sortby_dir": "SORTBY_DEFAULT",
498
+ "sortby_nulls": "SORTBY_NULLS_DEFAULT"
499
+ }
500
+ },
501
+ {
502
+ "SortBy": {
503
+ "node": {
504
+ "ColumnRef": {
505
+ "fields": [
506
+ {
507
+ "String": {
508
+ "sval": "i"
509
+ }
510
+ },
511
+ {
512
+ "String": {
513
+ "sval": "name"
514
+ }
515
+ }
516
+ ]
517
+ }
518
+ },
519
+ "sortby_dir": "SORTBY_DEFAULT",
520
+ "sortby_nulls": "SORTBY_NULLS_DEFAULT"
521
+ }
522
+ }
523
+ ],
524
+ "limitOption": "LIMIT_OPTION_DEFAULT",
525
+ "op": "SETOP_NONE"
526
+ }
527
+ }
528
+ ],
529
+ "columns": {
530
+ "name": {
531
+ "schema": "items",
532
+ "field": "name"
533
+ },
534
+ "stock": {
535
+ "schema": "items",
536
+ "field": "stock"
537
+ }
538
+ },
539
+ "inputs": {
540
+ "q": "text"
541
+ },
542
+ "input": {
543
+ "type": "object",
544
+ "required": [
545
+ "q"
546
+ ],
547
+ "properties": {
548
+ "q": {
549
+ "type": "string",
550
+ "minLength": 1
551
+ }
552
+ }
553
+ },
554
+ "source": "SELECT i.id, i.name, i.stock FROM items i\nWHERE mantle.search(i, input.q)\nORDER BY mantle.search_rank(i), i.name\n",
555
+ "surface": "public"
556
+ },
557
+ "my-orders": {
558
+ "grammar": 180004,
559
+ "stmts": [
560
+ {
561
+ "SelectStmt": {
562
+ "targetList": [
563
+ {
564
+ "ResTarget": {
565
+ "val": {
566
+ "ColumnRef": {
567
+ "fields": [
568
+ {
569
+ "String": {
570
+ "sval": "o"
571
+ }
572
+ },
573
+ {
574
+ "String": {
575
+ "sval": "id"
576
+ }
577
+ }
578
+ ]
579
+ }
580
+ }
581
+ }
582
+ },
583
+ {
584
+ "ResTarget": {
585
+ "val": {
586
+ "ColumnRef": {
587
+ "fields": [
588
+ {
589
+ "String": {
590
+ "sval": "o"
591
+ }
592
+ },
593
+ {
594
+ "String": {
595
+ "sval": "qty"
596
+ }
597
+ }
598
+ ]
599
+ }
600
+ }
601
+ }
602
+ },
603
+ {
604
+ "ResTarget": {
605
+ "val": {
606
+ "ColumnRef": {
607
+ "fields": [
608
+ {
609
+ "String": {
610
+ "sval": "o"
611
+ }
612
+ },
613
+ {
614
+ "String": {
615
+ "sval": "orderstatus"
616
+ }
617
+ }
618
+ ]
619
+ }
620
+ }
621
+ }
622
+ },
623
+ {
624
+ "ResTarget": {
625
+ "name": "item",
626
+ "val": {
627
+ "ColumnRef": {
628
+ "fields": [
629
+ {
630
+ "String": {
631
+ "sval": "i"
632
+ }
633
+ },
634
+ {
635
+ "String": {
636
+ "sval": "name"
637
+ }
638
+ }
639
+ ]
640
+ }
641
+ }
642
+ }
643
+ },
644
+ {
645
+ "ResTarget": {
646
+ "val": {
647
+ "ColumnRef": {
648
+ "fields": [
649
+ {
650
+ "String": {
651
+ "sval": "o"
652
+ }
653
+ },
654
+ {
655
+ "String": {
656
+ "sval": "version"
657
+ }
658
+ }
659
+ ]
660
+ }
661
+ }
662
+ }
663
+ }
664
+ ],
665
+ "fromClause": [
666
+ {
667
+ "JoinExpr": {
668
+ "jointype": "JOIN_INNER",
669
+ "larg": {
670
+ "RangeVar": {
671
+ "relname": "orders",
672
+ "inh": true,
673
+ "relpersistence": "p",
674
+ "alias": {
675
+ "aliasname": "o"
676
+ },
677
+ "mantle": "table"
678
+ }
679
+ },
680
+ "rarg": {
681
+ "RangeVar": {
682
+ "relname": "items",
683
+ "inh": true,
684
+ "relpersistence": "p",
685
+ "alias": {
686
+ "aliasname": "i"
687
+ },
688
+ "mantle": "table"
689
+ }
690
+ },
691
+ "quals": {
692
+ "A_Expr": {
693
+ "kind": "AEXPR_OP",
694
+ "name": [
695
+ {
696
+ "String": {
697
+ "sval": "="
698
+ }
699
+ }
700
+ ],
701
+ "lexpr": {
702
+ "ColumnRef": {
703
+ "fields": [
704
+ {
705
+ "String": {
706
+ "sval": "i"
707
+ }
708
+ },
709
+ {
710
+ "String": {
711
+ "sval": "id"
712
+ }
713
+ }
714
+ ]
715
+ }
716
+ },
717
+ "rexpr": {
718
+ "ColumnRef": {
719
+ "fields": [
720
+ {
721
+ "String": {
722
+ "sval": "o"
723
+ }
724
+ },
725
+ {
726
+ "String": {
727
+ "sval": "itemid"
728
+ }
729
+ }
730
+ ]
731
+ }
732
+ }
733
+ }
734
+ }
735
+ }
736
+ }
737
+ ],
738
+ "sortClause": [
739
+ {
740
+ "SortBy": {
741
+ "node": {
742
+ "ColumnRef": {
743
+ "fields": [
744
+ {
745
+ "String": {
746
+ "sval": "o"
747
+ }
748
+ },
749
+ {
750
+ "String": {
751
+ "sval": "created_at"
752
+ }
753
+ }
754
+ ]
755
+ }
756
+ },
757
+ "sortby_dir": "SORTBY_DESC",
758
+ "sortby_nulls": "SORTBY_NULLS_DEFAULT"
759
+ }
760
+ }
761
+ ],
762
+ "limitOption": "LIMIT_OPTION_DEFAULT",
763
+ "op": "SETOP_NONE"
764
+ }
765
+ }
766
+ ],
767
+ "columns": {
768
+ "qty": {
769
+ "schema": "orders",
770
+ "field": "qty"
771
+ },
772
+ "orderstatus": {
773
+ "schema": "orders",
774
+ "field": "orderstatus"
775
+ },
776
+ "item": {
777
+ "schema": "items",
778
+ "field": "name"
779
+ }
780
+ },
781
+ "inputs": {},
782
+ "source": "SELECT o.id, o.qty, o.orderStatus, i.name AS item, o.version\nFROM orders o JOIN items i ON i.id = o.itemId\nORDER BY o.created_at DESC\n",
783
+ "surface": "public",
784
+ "requires": {
785
+ "auth": {
786
+ "all": [
787
+ "ctx.user"
788
+ ]
789
+ }
790
+ }
791
+ },
792
+ "sales-by-item": {
793
+ "grammar": 180004,
794
+ "stmts": [
795
+ {
796
+ "SelectStmt": {
797
+ "targetList": [
798
+ {
799
+ "ResTarget": {
800
+ "val": {
801
+ "ColumnRef": {
802
+ "fields": [
803
+ {
804
+ "String": {
805
+ "sval": "i"
806
+ }
807
+ },
808
+ {
809
+ "String": {
810
+ "sval": "name"
811
+ }
812
+ }
813
+ ]
814
+ }
815
+ }
816
+ }
817
+ },
818
+ {
819
+ "ResTarget": {
820
+ "name": "orders",
821
+ "val": {
822
+ "FuncCall": {
823
+ "funcname": [
824
+ {
825
+ "String": {
826
+ "sval": "count"
827
+ }
828
+ }
829
+ ],
830
+ "args": [
831
+ {
832
+ "ColumnRef": {
833
+ "fields": [
834
+ {
835
+ "String": {
836
+ "sval": "o"
837
+ }
838
+ },
839
+ {
840
+ "String": {
841
+ "sval": "id"
842
+ }
843
+ }
844
+ ]
845
+ }
846
+ }
847
+ ],
848
+ "funcformat": "COERCE_EXPLICIT_CALL"
849
+ }
850
+ }
851
+ }
852
+ },
853
+ {
854
+ "ResTarget": {
855
+ "name": "units",
856
+ "val": {
857
+ "CoalesceExpr": {
858
+ "args": [
859
+ {
860
+ "FuncCall": {
861
+ "funcname": [
862
+ {
863
+ "String": {
864
+ "sval": "sum"
865
+ }
866
+ }
867
+ ],
868
+ "args": [
869
+ {
870
+ "ColumnRef": {
871
+ "fields": [
872
+ {
873
+ "String": {
874
+ "sval": "o"
875
+ }
876
+ },
877
+ {
878
+ "String": {
879
+ "sval": "qty"
880
+ }
881
+ }
882
+ ]
883
+ }
884
+ }
885
+ ],
886
+ "funcformat": "COERCE_EXPLICIT_CALL"
887
+ }
888
+ },
889
+ {
890
+ "A_Const": {
891
+ "ival": {}
892
+ }
893
+ }
894
+ ]
895
+ }
896
+ }
897
+ }
898
+ }
899
+ ],
900
+ "fromClause": [
901
+ {
902
+ "JoinExpr": {
903
+ "jointype": "JOIN_LEFT",
904
+ "larg": {
905
+ "RangeVar": {
906
+ "relname": "items",
907
+ "inh": true,
908
+ "relpersistence": "p",
909
+ "alias": {
910
+ "aliasname": "i"
911
+ },
912
+ "mantle": "table"
913
+ }
914
+ },
915
+ "rarg": {
916
+ "RangeVar": {
917
+ "relname": "orders",
918
+ "inh": true,
919
+ "relpersistence": "p",
920
+ "alias": {
921
+ "aliasname": "o"
922
+ },
923
+ "mantle": "table"
924
+ }
925
+ },
926
+ "quals": {
927
+ "BoolExpr": {
928
+ "boolop": "AND_EXPR",
929
+ "args": [
930
+ {
931
+ "A_Expr": {
932
+ "kind": "AEXPR_OP",
933
+ "name": [
934
+ {
935
+ "String": {
936
+ "sval": "="
937
+ }
938
+ }
939
+ ],
940
+ "lexpr": {
941
+ "ColumnRef": {
942
+ "fields": [
943
+ {
944
+ "String": {
945
+ "sval": "o"
946
+ }
947
+ },
948
+ {
949
+ "String": {
950
+ "sval": "itemid"
951
+ }
952
+ }
953
+ ]
954
+ }
955
+ },
956
+ "rexpr": {
957
+ "ColumnRef": {
958
+ "fields": [
959
+ {
960
+ "String": {
961
+ "sval": "i"
962
+ }
963
+ },
964
+ {
965
+ "String": {
966
+ "sval": "id"
967
+ }
968
+ }
969
+ ]
970
+ }
971
+ }
972
+ }
973
+ },
974
+ {
975
+ "A_Expr": {
976
+ "kind": "AEXPR_OP",
977
+ "name": [
978
+ {
979
+ "String": {
980
+ "sval": "="
981
+ }
982
+ }
983
+ ],
984
+ "lexpr": {
985
+ "ColumnRef": {
986
+ "fields": [
987
+ {
988
+ "String": {
989
+ "sval": "o"
990
+ }
991
+ },
992
+ {
993
+ "String": {
994
+ "sval": "orderstatus"
995
+ }
996
+ }
997
+ ]
998
+ }
999
+ },
1000
+ "rexpr": {
1001
+ "A_Const": {
1002
+ "sval": {
1003
+ "sval": "placed"
1004
+ }
1005
+ }
1006
+ }
1007
+ }
1008
+ }
1009
+ ]
1010
+ }
1011
+ }
1012
+ }
1013
+ }
1014
+ ],
1015
+ "groupClause": [
1016
+ {
1017
+ "ColumnRef": {
1018
+ "fields": [
1019
+ {
1020
+ "String": {
1021
+ "sval": "i"
1022
+ }
1023
+ },
1024
+ {
1025
+ "String": {
1026
+ "sval": "name"
1027
+ }
1028
+ }
1029
+ ]
1030
+ }
1031
+ }
1032
+ ],
1033
+ "sortClause": [
1034
+ {
1035
+ "SortBy": {
1036
+ "node": {
1037
+ "ColumnRef": {
1038
+ "fields": [
1039
+ {
1040
+ "String": {
1041
+ "sval": "units"
1042
+ }
1043
+ }
1044
+ ]
1045
+ }
1046
+ },
1047
+ "sortby_dir": "SORTBY_DESC",
1048
+ "sortby_nulls": "SORTBY_NULLS_DEFAULT"
1049
+ }
1050
+ },
1051
+ {
1052
+ "SortBy": {
1053
+ "node": {
1054
+ "ColumnRef": {
1055
+ "fields": [
1056
+ {
1057
+ "String": {
1058
+ "sval": "i"
1059
+ }
1060
+ },
1061
+ {
1062
+ "String": {
1063
+ "sval": "name"
1064
+ }
1065
+ }
1066
+ ]
1067
+ }
1068
+ },
1069
+ "sortby_dir": "SORTBY_DEFAULT",
1070
+ "sortby_nulls": "SORTBY_NULLS_DEFAULT"
1071
+ }
1072
+ }
1073
+ ],
1074
+ "limitOption": "LIMIT_OPTION_DEFAULT",
1075
+ "op": "SETOP_NONE"
1076
+ }
1077
+ }
1078
+ ],
1079
+ "columns": {
1080
+ "name": {
1081
+ "schema": "items",
1082
+ "field": "name"
1083
+ }
1084
+ },
1085
+ "inputs": {},
1086
+ "source": "SELECT i.name, count(o.id) AS orders, coalesce(sum(o.qty), 0) AS units\nFROM items i LEFT JOIN orders o ON o.itemId = i.id AND o.orderStatus = 'placed'\nGROUP BY i.name\nORDER BY units DESC, i.name\n",
1087
+ "surface": "staff",
1088
+ "requires": {
1089
+ "auth": {
1090
+ "all": [
1091
+ {
1092
+ "ctx.staff": [
1093
+ "owner",
1094
+ "editor"
1095
+ ]
1096
+ }
1097
+ ]
1098
+ }
1099
+ }
1100
+ },
1101
+ "recent-activity": {
1102
+ "grammar": 180004,
1103
+ "stmts": [
1104
+ {
1105
+ "SelectStmt": {
1106
+ "targetList": [
1107
+ {
1108
+ "ResTarget": {
1109
+ "val": {
1110
+ "ColumnRef": {
1111
+ "fields": [
1112
+ {
1113
+ "String": {
1114
+ "sval": "kind"
1115
+ }
1116
+ }
1117
+ ]
1118
+ }
1119
+ }
1120
+ }
1121
+ },
1122
+ {
1123
+ "ResTarget": {
1124
+ "val": {
1125
+ "ColumnRef": {
1126
+ "fields": [
1127
+ {
1128
+ "String": {
1129
+ "sval": "subject"
1130
+ }
1131
+ }
1132
+ ]
1133
+ }
1134
+ }
1135
+ }
1136
+ },
1137
+ {
1138
+ "ResTarget": {
1139
+ "val": {
1140
+ "ColumnRef": {
1141
+ "fields": [
1142
+ {
1143
+ "String": {
1144
+ "sval": "detail"
1145
+ }
1146
+ }
1147
+ ]
1148
+ }
1149
+ }
1150
+ }
1151
+ }
1152
+ ],
1153
+ "fromClause": [
1154
+ {
1155
+ "RangeVar": {
1156
+ "relname": "activity",
1157
+ "inh": true,
1158
+ "relpersistence": "p",
1159
+ "mantle": "table"
1160
+ }
1161
+ }
1162
+ ],
1163
+ "sortClause": [
1164
+ {
1165
+ "SortBy": {
1166
+ "node": {
1167
+ "ColumnRef": {
1168
+ "fields": [
1169
+ {
1170
+ "String": {
1171
+ "sval": "created_at"
1172
+ }
1173
+ }
1174
+ ]
1175
+ }
1176
+ },
1177
+ "sortby_dir": "SORTBY_DESC",
1178
+ "sortby_nulls": "SORTBY_NULLS_DEFAULT"
1179
+ }
1180
+ }
1181
+ ],
1182
+ "limitCount": {
1183
+ "A_Const": {
1184
+ "ival": {
1185
+ "ival": 50
1186
+ }
1187
+ }
1188
+ },
1189
+ "limitOption": "LIMIT_OPTION_COUNT",
1190
+ "op": "SETOP_NONE"
1191
+ }
1192
+ }
1193
+ ],
1194
+ "columns": {
1195
+ "kind": {
1196
+ "schema": "activity",
1197
+ "field": "kind"
1198
+ },
1199
+ "subject": {
1200
+ "schema": "activity",
1201
+ "field": "subject"
1202
+ },
1203
+ "detail": {
1204
+ "schema": "activity",
1205
+ "field": "detail"
1206
+ }
1207
+ },
1208
+ "inputs": {},
1209
+ "source": "SELECT kind, subject, detail FROM activity ORDER BY created_at DESC LIMIT 50",
1210
+ "surface": "staff",
1211
+ "requires": {
1212
+ "auth": {
1213
+ "all": [
1214
+ {
1215
+ "ctx.staff": [
1216
+ "owner",
1217
+ "editor"
1218
+ ]
1219
+ }
1220
+ ]
1221
+ }
1222
+ }
1223
+ }
1224
+ },
1225
+ "procedures": {
1226
+ "place-order": {
1227
+ "title": "Place an order",
1228
+ "description": "Order one item for the signed-in caller; the stock check fails the whole order when stock runs out.",
1229
+ "input": {
1230
+ "type": "object",
1231
+ "required": [
1232
+ "itemId",
1233
+ "qty"
1234
+ ],
1235
+ "properties": {
1236
+ "itemId": {
1237
+ "type": "string"
1238
+ },
1239
+ "qty": {
1240
+ "type": "integer",
1241
+ "minimum": 1
1242
+ }
1243
+ }
1244
+ },
1245
+ "output": {
1246
+ "type": "object"
1247
+ },
1248
+ "inputs": {
1249
+ "itemid": "text",
1250
+ "qty": "integer"
1251
+ },
1252
+ "requires": {
1253
+ "auth": {
1254
+ "all": [
1255
+ "ctx.user"
1256
+ ]
1257
+ }
1258
+ },
1259
+ "target": {
1260
+ "schema": "items",
1261
+ "id": "itemId"
1262
+ },
1263
+ "handler": {
1264
+ "sql": {
1265
+ "grammar": 180004,
1266
+ "stmts": [
1267
+ {
1268
+ "InsertStmt": {
1269
+ "relation": {
1270
+ "relname": "orders",
1271
+ "inh": true,
1272
+ "relpersistence": "p",
1273
+ "mantle": "table"
1274
+ },
1275
+ "cols": [
1276
+ {
1277
+ "ResTarget": {
1278
+ "name": "itemid"
1279
+ }
1280
+ },
1281
+ {
1282
+ "ResTarget": {
1283
+ "name": "qty"
1284
+ }
1285
+ },
1286
+ {
1287
+ "ResTarget": {
1288
+ "name": "orderstatus"
1289
+ }
1290
+ },
1291
+ {
1292
+ "ResTarget": {
1293
+ "name": "placedat"
1294
+ }
1295
+ }
1296
+ ],
1297
+ "selectStmt": {
1298
+ "SelectStmt": {
1299
+ "targetList": [
1300
+ {
1301
+ "ResTarget": {
1302
+ "val": {
1303
+ "ColumnRef": {
1304
+ "fields": [
1305
+ {
1306
+ "String": {
1307
+ "sval": "id"
1308
+ }
1309
+ }
1310
+ ]
1311
+ }
1312
+ }
1313
+ }
1314
+ },
1315
+ {
1316
+ "ResTarget": {
1317
+ "val": {
1318
+ "ColumnRef": {
1319
+ "fields": [
1320
+ {
1321
+ "String": {
1322
+ "sval": "input"
1323
+ }
1324
+ },
1325
+ {
1326
+ "String": {
1327
+ "sval": "qty"
1328
+ }
1329
+ }
1330
+ ]
1331
+ }
1332
+ }
1333
+ }
1334
+ },
1335
+ {
1336
+ "ResTarget": {
1337
+ "val": {
1338
+ "A_Const": {
1339
+ "sval": {
1340
+ "sval": "placed"
1341
+ }
1342
+ }
1343
+ }
1344
+ }
1345
+ },
1346
+ {
1347
+ "ResTarget": {
1348
+ "val": {
1349
+ "FuncCall": {
1350
+ "funcname": [
1351
+ {
1352
+ "String": {
1353
+ "sval": "now"
1354
+ }
1355
+ }
1356
+ ],
1357
+ "funcformat": "COERCE_EXPLICIT_CALL"
1358
+ }
1359
+ }
1360
+ }
1361
+ }
1362
+ ],
1363
+ "fromClause": [
1364
+ {
1365
+ "RangeVar": {
1366
+ "relname": "items",
1367
+ "inh": true,
1368
+ "relpersistence": "p",
1369
+ "mantle": "table"
1370
+ }
1371
+ }
1372
+ ],
1373
+ "whereClause": {
1374
+ "A_Expr": {
1375
+ "kind": "AEXPR_OP",
1376
+ "name": [
1377
+ {
1378
+ "String": {
1379
+ "sval": "="
1380
+ }
1381
+ }
1382
+ ],
1383
+ "lexpr": {
1384
+ "ColumnRef": {
1385
+ "fields": [
1386
+ {
1387
+ "String": {
1388
+ "sval": "id"
1389
+ }
1390
+ }
1391
+ ]
1392
+ }
1393
+ },
1394
+ "rexpr": {
1395
+ "ColumnRef": {
1396
+ "fields": [
1397
+ {
1398
+ "String": {
1399
+ "sval": "input"
1400
+ }
1401
+ },
1402
+ {
1403
+ "String": {
1404
+ "sval": "itemid"
1405
+ }
1406
+ }
1407
+ ]
1408
+ }
1409
+ }
1410
+ }
1411
+ },
1412
+ "limitOption": "LIMIT_OPTION_DEFAULT",
1413
+ "op": "SETOP_NONE"
1414
+ }
1415
+ },
1416
+ "returningClause": {
1417
+ "exprs": [
1418
+ {
1419
+ "ResTarget": {
1420
+ "val": {
1421
+ "ColumnRef": {
1422
+ "fields": [
1423
+ {
1424
+ "String": {
1425
+ "sval": "id"
1426
+ }
1427
+ }
1428
+ ]
1429
+ }
1430
+ }
1431
+ }
1432
+ },
1433
+ {
1434
+ "ResTarget": {
1435
+ "val": {
1436
+ "ColumnRef": {
1437
+ "fields": [
1438
+ {
1439
+ "String": {
1440
+ "sval": "qty"
1441
+ }
1442
+ }
1443
+ ]
1444
+ }
1445
+ }
1446
+ }
1447
+ },
1448
+ {
1449
+ "ResTarget": {
1450
+ "val": {
1451
+ "ColumnRef": {
1452
+ "fields": [
1453
+ {
1454
+ "String": {
1455
+ "sval": "orderstatus"
1456
+ }
1457
+ }
1458
+ ]
1459
+ }
1460
+ }
1461
+ }
1462
+ }
1463
+ ]
1464
+ },
1465
+ "override": "OVERRIDING_NOT_SET"
1466
+ }
1467
+ },
1468
+ {
1469
+ "UpdateStmt": {
1470
+ "relation": {
1471
+ "relname": "items",
1472
+ "inh": true,
1473
+ "relpersistence": "p",
1474
+ "mantle": "table"
1475
+ },
1476
+ "targetList": [
1477
+ {
1478
+ "ResTarget": {
1479
+ "name": "stock",
1480
+ "val": {
1481
+ "A_Expr": {
1482
+ "kind": "AEXPR_OP",
1483
+ "name": [
1484
+ {
1485
+ "String": {
1486
+ "sval": "-"
1487
+ }
1488
+ }
1489
+ ],
1490
+ "lexpr": {
1491
+ "ColumnRef": {
1492
+ "fields": [
1493
+ {
1494
+ "String": {
1495
+ "sval": "stock"
1496
+ }
1497
+ }
1498
+ ]
1499
+ }
1500
+ },
1501
+ "rexpr": {
1502
+ "ColumnRef": {
1503
+ "fields": [
1504
+ {
1505
+ "String": {
1506
+ "sval": "input"
1507
+ }
1508
+ },
1509
+ {
1510
+ "String": {
1511
+ "sval": "qty"
1512
+ }
1513
+ }
1514
+ ]
1515
+ }
1516
+ }
1517
+ }
1518
+ }
1519
+ }
1520
+ }
1521
+ ],
1522
+ "whereClause": {
1523
+ "A_Expr": {
1524
+ "kind": "AEXPR_OP",
1525
+ "name": [
1526
+ {
1527
+ "String": {
1528
+ "sval": "="
1529
+ }
1530
+ }
1531
+ ],
1532
+ "lexpr": {
1533
+ "ColumnRef": {
1534
+ "fields": [
1535
+ {
1536
+ "String": {
1537
+ "sval": "id"
1538
+ }
1539
+ }
1540
+ ]
1541
+ }
1542
+ },
1543
+ "rexpr": {
1544
+ "ColumnRef": {
1545
+ "fields": [
1546
+ {
1547
+ "String": {
1548
+ "sval": "input"
1549
+ }
1550
+ },
1551
+ {
1552
+ "String": {
1553
+ "sval": "itemid"
1554
+ }
1555
+ }
1556
+ ]
1557
+ }
1558
+ }
1559
+ }
1560
+ }
1561
+ }
1562
+ }
1563
+ ]
1564
+ },
1565
+ "source": "INSERT INTO orders (itemId, qty, orderStatus, placedAt)\nSELECT id, input.qty, 'placed', now() FROM items WHERE id = input.itemId\nRETURNING id, qty, orderStatus;\nUPDATE items SET stock = stock - input.qty WHERE id = input.itemId\n"
1566
+ }
1567
+ },
1568
+ "cancel-order": {
1569
+ "title": "Cancel an order",
1570
+ "input": {
1571
+ "type": "object",
1572
+ "required": [
1573
+ "orderId",
1574
+ "expectedVersion"
1575
+ ],
1576
+ "properties": {
1577
+ "orderId": {
1578
+ "type": "string"
1579
+ },
1580
+ "expectedVersion": {
1581
+ "type": "integer"
1582
+ }
1583
+ }
1584
+ },
1585
+ "output": {
1586
+ "type": "object"
1587
+ },
1588
+ "inputs": {
1589
+ "orderid": "text",
1590
+ "expectedversion": "integer"
1591
+ },
1592
+ "requires": {
1593
+ "auth": {
1594
+ "all": [
1595
+ "ctx.user"
1596
+ ]
1597
+ }
1598
+ },
1599
+ "handler": {
1600
+ "ref": "cancelOrder"
1601
+ }
1602
+ },
1603
+ "restock": {
1604
+ "title": "Restock an item",
1605
+ "description": "Add stock to an item by SKU, creating the item if it is new.",
1606
+ "input": {
1607
+ "type": "object",
1608
+ "required": [
1609
+ "sku",
1610
+ "name",
1611
+ "qty"
1612
+ ],
1613
+ "properties": {
1614
+ "sku": {
1615
+ "type": "string"
1616
+ },
1617
+ "name": {
1618
+ "type": "string"
1619
+ },
1620
+ "qty": {
1621
+ "type": "integer",
1622
+ "minimum": 1
1623
+ }
1624
+ }
1625
+ },
1626
+ "output": {
1627
+ "type": "object"
1628
+ },
1629
+ "inputs": {
1630
+ "sku": "text",
1631
+ "name": "text",
1632
+ "qty": "integer"
1633
+ },
1634
+ "requires": {
1635
+ "auth": {
1636
+ "all": [
1637
+ {
1638
+ "ctx.staff": [
1639
+ "owner",
1640
+ "editor"
1641
+ ]
1642
+ }
1643
+ ]
1644
+ }
1645
+ },
1646
+ "handler": {
1647
+ "sql": {
1648
+ "grammar": 180004,
1649
+ "stmts": [
1650
+ {
1651
+ "InsertStmt": {
1652
+ "relation": {
1653
+ "relname": "items",
1654
+ "inh": true,
1655
+ "relpersistence": "p",
1656
+ "mantle": "table"
1657
+ },
1658
+ "cols": [
1659
+ {
1660
+ "ResTarget": {
1661
+ "name": "sku"
1662
+ }
1663
+ },
1664
+ {
1665
+ "ResTarget": {
1666
+ "name": "name"
1667
+ }
1668
+ },
1669
+ {
1670
+ "ResTarget": {
1671
+ "name": "stock"
1672
+ }
1673
+ }
1674
+ ],
1675
+ "selectStmt": {
1676
+ "SelectStmt": {
1677
+ "valuesLists": [
1678
+ {
1679
+ "List": {
1680
+ "items": [
1681
+ {
1682
+ "ColumnRef": {
1683
+ "fields": [
1684
+ {
1685
+ "String": {
1686
+ "sval": "input"
1687
+ }
1688
+ },
1689
+ {
1690
+ "String": {
1691
+ "sval": "sku"
1692
+ }
1693
+ }
1694
+ ]
1695
+ }
1696
+ },
1697
+ {
1698
+ "ColumnRef": {
1699
+ "fields": [
1700
+ {
1701
+ "String": {
1702
+ "sval": "input"
1703
+ }
1704
+ },
1705
+ {
1706
+ "String": {
1707
+ "sval": "name"
1708
+ }
1709
+ }
1710
+ ]
1711
+ }
1712
+ },
1713
+ {
1714
+ "ColumnRef": {
1715
+ "fields": [
1716
+ {
1717
+ "String": {
1718
+ "sval": "input"
1719
+ }
1720
+ },
1721
+ {
1722
+ "String": {
1723
+ "sval": "qty"
1724
+ }
1725
+ }
1726
+ ]
1727
+ }
1728
+ }
1729
+ ]
1730
+ }
1731
+ }
1732
+ ],
1733
+ "limitOption": "LIMIT_OPTION_DEFAULT",
1734
+ "op": "SETOP_NONE"
1735
+ }
1736
+ },
1737
+ "onConflictClause": {
1738
+ "action": "ONCONFLICT_UPDATE",
1739
+ "infer": {
1740
+ "indexElems": [
1741
+ {
1742
+ "IndexElem": {
1743
+ "name": "sku",
1744
+ "ordering": "SORTBY_DEFAULT",
1745
+ "nulls_ordering": "SORTBY_NULLS_DEFAULT"
1746
+ }
1747
+ }
1748
+ ]
1749
+ },
1750
+ "targetList": [
1751
+ {
1752
+ "ResTarget": {
1753
+ "name": "stock",
1754
+ "val": {
1755
+ "A_Expr": {
1756
+ "kind": "AEXPR_OP",
1757
+ "name": [
1758
+ {
1759
+ "String": {
1760
+ "sval": "+"
1761
+ }
1762
+ }
1763
+ ],
1764
+ "lexpr": {
1765
+ "ColumnRef": {
1766
+ "fields": [
1767
+ {
1768
+ "String": {
1769
+ "sval": "items"
1770
+ }
1771
+ },
1772
+ {
1773
+ "String": {
1774
+ "sval": "stock"
1775
+ }
1776
+ }
1777
+ ]
1778
+ }
1779
+ },
1780
+ "rexpr": {
1781
+ "ColumnRef": {
1782
+ "fields": [
1783
+ {
1784
+ "String": {
1785
+ "sval": "excluded"
1786
+ }
1787
+ },
1788
+ {
1789
+ "String": {
1790
+ "sval": "stock"
1791
+ }
1792
+ }
1793
+ ]
1794
+ }
1795
+ }
1796
+ }
1797
+ }
1798
+ }
1799
+ }
1800
+ ]
1801
+ },
1802
+ "returningClause": {
1803
+ "exprs": [
1804
+ {
1805
+ "ResTarget": {
1806
+ "val": {
1807
+ "ColumnRef": {
1808
+ "fields": [
1809
+ {
1810
+ "String": {
1811
+ "sval": "id"
1812
+ }
1813
+ }
1814
+ ]
1815
+ }
1816
+ }
1817
+ }
1818
+ },
1819
+ {
1820
+ "ResTarget": {
1821
+ "val": {
1822
+ "ColumnRef": {
1823
+ "fields": [
1824
+ {
1825
+ "String": {
1826
+ "sval": "sku"
1827
+ }
1828
+ }
1829
+ ]
1830
+ }
1831
+ }
1832
+ }
1833
+ },
1834
+ {
1835
+ "ResTarget": {
1836
+ "val": {
1837
+ "ColumnRef": {
1838
+ "fields": [
1839
+ {
1840
+ "String": {
1841
+ "sval": "stock"
1842
+ }
1843
+ }
1844
+ ]
1845
+ }
1846
+ }
1847
+ }
1848
+ }
1849
+ ]
1850
+ },
1851
+ "override": "OVERRIDING_NOT_SET"
1852
+ }
1853
+ }
1854
+ ]
1855
+ },
1856
+ "source": "INSERT INTO items (sku, name, stock) VALUES (input.sku, input.name, input.qty)\nON CONFLICT (sku) DO UPDATE SET stock = items.stock + EXCLUDED.stock\nRETURNING id, sku, stock\n"
1857
+ }
1858
+ },
1859
+ "record-orders": {
1860
+ "input": {
1861
+ "type": "object"
1862
+ },
1863
+ "output": {
1864
+ "type": "object"
1865
+ },
1866
+ "inputs": {},
1867
+ "handler": {
1868
+ "ref": "recordOrders"
1869
+ }
1870
+ },
1871
+ "weekly-digest": {
1872
+ "input": {
1873
+ "type": "object"
1874
+ },
1875
+ "output": {
1876
+ "type": "object"
1877
+ },
1878
+ "inputs": {},
1879
+ "handler": {
1880
+ "ref": "weeklyDigest"
1881
+ }
1882
+ }
1883
+ },
1884
+ "triggers": {
1885
+ "place-order-http": {
1886
+ "source": {
1887
+ "kind": "http",
1888
+ "method": "POST",
1889
+ "path": "/api/orders"
1890
+ },
1891
+ "procedure": "place-order"
1892
+ },
1893
+ "place-order-mcp": {
1894
+ "source": {
1895
+ "kind": "mcp",
1896
+ "surface": "public"
1897
+ },
1898
+ "procedure": "place-order"
1899
+ },
1900
+ "cancel-order-http": {
1901
+ "source": {
1902
+ "kind": "http",
1903
+ "method": "POST",
1904
+ "path": "/api/orders/cancel"
1905
+ },
1906
+ "procedure": "cancel-order"
1907
+ },
1908
+ "restock-mcp": {
1909
+ "source": {
1910
+ "kind": "mcp",
1911
+ "surface": "staff"
1912
+ },
1913
+ "procedure": "restock"
1914
+ },
1915
+ "orders-recorded": {
1916
+ "source": {
1917
+ "kind": "lifecycle",
1918
+ "schema": "orders",
1919
+ "on": [
1920
+ "after_create",
1921
+ "after_update"
1922
+ ]
1923
+ },
1924
+ "procedure": "record-orders"
1925
+ },
1926
+ "weekly-digest": {
1927
+ "source": {
1928
+ "kind": "schedule",
1929
+ "cron": "0 3 * * 0"
1930
+ },
1931
+ "procedure": "weekly-digest"
1932
+ }
1933
+ },
1934
+ "fingerprint": "e3e18eb517297a5fe1ed9b4ba182271694858f261e20026f22f2e8615751ce56"
1935
+ }
1936
+ }