@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
@@ -1,218 +0,0 @@
1
- # Editorial Blog Design Reference (2026-05-05)
2
-
3
- This document preserves the visual system from the retired
4
- `blog-editorial-2026-05-05` starter. The runnable starter was removed because
5
- it looked like a maintained template, but the design work is still useful as a
6
- reference for future themes.
7
-
8
- Use this as a design specimen, not as implementation guidance. Apply it through
9
- the version-matched `mantle:theme` workflow and the generated project's owned
10
- theme paths, such as `styles/globals.css`, `components/`, and `src/web/`.
11
-
12
- ## Design Thesis
13
-
14
- The direction was a quiet literary journal: warm paper, dark ink, a narrow
15
- reading measure, editorial serif typography, and one vermilion accent. The UI
16
- avoided dashboard styling and treated the site chrome as magazine furniture:
17
- small caps, rules, careful spacing, and minimal controls.
18
-
19
- The design was intentionally opinionated. That is why it should be reused as a
20
- theme preset or design prompt, not shipped as the default blog starter.
21
-
22
- ## Visual Tokens
23
-
24
- | Token | Light | Dark | Role |
25
- |---|---:|---:|---|
26
- | `paper` | `#f6f1e7` | `#1a1814` | Page background |
27
- | `ink` | `#1a1814` | `#f1ebdf` | Primary text |
28
- | `rule` | `#d4c8b3` | `#3d342a` | Hairlines, subtle borders |
29
- | `rule-strong` | `#3d342a` | `#5a4d40` | Form underlines, stronger separators |
30
- | `mute` | `#7a6d5e` | `#9a8d7e` | Metadata and secondary copy |
31
- | `accent` | `#a3331f` | `#e6594a` | Links, drop caps, error states, preview banner |
32
- | `accent-soft` | `#c9614a` | `#c9614a` | Secondary accent |
33
- | `selection` | `#f0d6a3` | `#4a3520` | Text selection background |
34
-
35
- Layout tokens:
36
-
37
- | Token | Value | Role |
38
- |---|---:|---|
39
- | `measure` | `38rem` | Main article measure |
40
- | `main max-width` | `48rem` | Single-column shell, slightly wider than the article |
41
- | `gutter` | `clamp(1.25rem, 4vw, 3rem)` | Responsive page padding |
42
- | `base font size` | `18px` | Reading-first default |
43
- | `line height` | `1.65` | Long-form prose rhythm |
44
-
45
- ## Typography
46
-
47
- The type system used four families:
48
-
49
- | Use | Font stack |
50
- |---|---|
51
- | Display | `Fraunces`, `Noto Serif TC`, `Source Serif 4`, `Georgia`, `serif` |
52
- | Body | `Source Serif 4`, `Noto Serif TC`, `Georgia`, `serif` |
53
- | Mono/meta | `JetBrains Mono`, `ui-monospace`, `SF Mono`, `Menlo`, `monospace` |
54
- | CJK fallback | `Noto Serif TC` |
55
-
56
- Important behaviors:
57
-
58
- - Body text enables `kern`, `liga`, and `onum`.
59
- - Headings use Fraunces variable optical sizing with `opsz` and `SOFT`.
60
- - `h1` scales from `2.2rem` to `3.4rem`; hero `h1` scales up to `4rem`.
61
- - Metadata uses JetBrains Mono at `0.75rem`, uppercase, and `0.04em` tracking.
62
- - Paragraphs indent after the first paragraph with `p + p { text-indent: 1.5em; }`.
63
- - Post bodies reset the first paragraph indent and add a vermilion drop cap.
64
-
65
- ## Page Chrome
66
-
67
- Header:
68
-
69
- - Sticky top header with a one-pixel rule.
70
- - Warm translucent paper background using `color-mix`, `saturate(140%)`, and
71
- `blur(10px)`.
72
- - Wordmark uses display serif and inserts a vermilion middle dot between the
73
- first word and the remaining brand words.
74
- - Navigation is centered, uppercase, display serif, and tracked at `0.18em`.
75
- - Current nav item is shown by a one-pixel underline in `ink`; hover uses
76
- `accent`.
77
-
78
- Controls:
79
-
80
- - Language and theme are small popovers in the header.
81
- - Popover trigger typography follows mono/meta styling.
82
- - The language trigger shows a globe icon, full locale label, and chevron.
83
- - The theme trigger is icon-only and supports system, light, and dark.
84
- - Menu items use `menuitemradio` semantics and show a check icon for the active
85
- value.
86
- - Popovers close on outside click and `Escape`.
87
-
88
- Footer:
89
-
90
- - One-pixel top rule.
91
- - Mono text at `0.75rem`.
92
- - Left side shows `site.brand` and `site.description`.
93
- - Right side links to `mantle`.
94
-
95
- ## Templates
96
-
97
- Home:
98
-
99
- - Starts with a `hero` block: mono eyebrow, large display title, muted intro,
100
- and markdown body.
101
- - Recent posts appear below the hero as an `entry-list`.
102
-
103
- Post:
104
-
105
- - Uses a narrow `article` measure.
106
- - Header contains optional publish date and title.
107
- - Optional cover image is bordered by `rule`.
108
- - Body markdown supports headings, blockquotes, inline code, code blocks, and
109
- lists.
110
- - First body paragraph gets an editorial drop cap.
111
-
112
- Post list:
113
-
114
- - Reuses the hero grammar with an index eyebrow.
115
- - Entries render as a two-column grid: fixed `7rem` date rail plus flexible
116
- title/excerpt column.
117
- - On narrow screens, entries collapse to one column.
118
-
119
- Page:
120
-
121
- - Same article shell as posts.
122
- - Uses page `intro` as muted mono metadata under the title.
123
- - `about` and `contact` slugs drive active nav hints.
124
-
125
- Contact:
126
-
127
- - Article intro and body are followed by a vertical form.
128
- - Field labels are uppercase mono.
129
- - Text inputs use underline-only styling; textarea uses a bordered box.
130
- - Submit button uses display serif, uppercase tracking, and an inverted
131
- `ink`/`paper` fill.
132
- - Cloudflare Turnstile is mounted explicitly so it can re-render when the site
133
- theme changes.
134
-
135
- 404:
136
-
137
- - Centered block with a huge display-serif `404` glyph in `accent`.
138
- - Copy follows the same i18n bundle pattern as the rest of the chrome.
139
-
140
- ## Interaction Model
141
-
142
- Theme preference is a three-way choice:
143
-
144
- - `system`: no stored value, follows `prefers-color-scheme`.
145
- - `light`: explicit localStorage override.
146
- - `dark`: explicit localStorage override.
147
-
148
- A bootstrap script runs in `<head>` before paint to avoid theme flash. Runtime
149
- theme changes dispatch a `mantle:theme` event. The contact page listens to that
150
- event and re-renders Turnstile with the resolved light/dark value.
151
-
152
- Language switching rewrites the leading locale segment in the current path. It
153
- does not translate content itself; it navigates to the equivalent route under
154
- the selected locale.
155
-
156
- ## I18n Surface
157
-
158
- The archived design included two UI bundles:
159
-
160
- | Locale | Label |
161
- |---|---|
162
- | `en` | `English` |
163
- | `zh-TW` | `繁體中文` |
164
-
165
- The bundles covered:
166
-
167
- - Header labels: posts, about, contact.
168
- - Theme labels: auto, light, dark.
169
- - Language aria label.
170
- - Home and post-list eyebrows.
171
- - 404 title, body, and return link.
172
- - Contact labels, submit states, success message, and error prefix.
173
-
174
- Content translations were intentionally separate from UI chrome translations.
175
- Posts and pages came from CMS entries; nav and form labels came from the local
176
- i18n bundles.
177
-
178
- ## Icons
179
-
180
- The icon system was deliberately tiny:
181
-
182
- - Inline SVG strings injected by templates.
183
- - Monochrome `currentColor` stroke.
184
- - Default size `16`.
185
- - Default stroke width `2`, with check icons at `2.5`.
186
- - No runtime icon dependency until the set grows beyond roughly 20 icons.
187
-
188
- The archived set included `sun`, `moon`, `monitor`, `globe`,
189
- `chevron-down`, `check`, `menu`, and `x`.
190
-
191
- ## Reuse With The Current Theme Stack
192
-
193
- Map the design into the maintained starter layers instead of reviving the old
194
- runnable starter:
195
-
196
- | Current layer | What to reuse |
197
- |---|---|
198
- | L1 tokens | Colors, font stacks, measure, gutter, base rhythm |
199
- | L2 components | Popover styling, entry list, post body, drop cap, contact form |
200
- | L3 slots | Header, footer, language switcher, theme switcher |
201
- | L4 templates | Home, post, post list, page, contact, 404 composition |
202
-
203
- Do not copy the old package metadata, Wrangler config, fixtures, workspace
204
- dependencies, or smoke tests. Those belonged to the removed runnable starter and
205
- will drift from the maintained SDK packages.
206
-
207
- ## If Reviving This Direction
208
-
209
- Revive it as one of these:
210
-
211
- - A documented visual preset selectable during agent seeding.
212
- - A project-owned theme preset applied through `mantle:theme`.
213
- - A generated design prompt that tells the provisioning agent how to style a
214
- user's own brand.
215
-
216
- Do not bring it back as a runnable starter in this SDK repository. Agents treat
217
- runnable code as current product surface, so the preserved design belongs only
218
- in this reference.
@@ -1,5 +0,0 @@
1
- # Direct authoring
2
-
3
- This guide moved into the handbook: [`docs/handbook/start/project-and-cli.md`](handbook/start/project-and-cli.md).
4
-
5
- The handbook ships inside the `@aotter/mantle` package under `node_modules/@aotter/mantle/docs/handbook/` and describes the installed release.
@@ -1,269 +0,0 @@
1
- ---
2
- description: A product catalog and guest orders using only builtin create and update. No Durable Object, Queue, payment provider, or ref handlers.
3
- ---
4
- # Commerce catalog and orders
5
-
6
- **Handler class:** builtin · **Builder:** yes · [Examples hub](./README.md). Stock authority, Queue expiry, and a verified payment callback are [Commerce inventory](./cf-primitives-commerce-inventory.md).
7
-
8
- This example publishes products, lists them publicly, accepts guest orders with builtin `create`, and lets staff mark orders fulfilled or cancelled with builtin `update`. Every Procedure is `handler.kind: builtin`. It does not re-price lines, reserve stock, or talk to a payment provider.
9
-
10
- ## Problem
11
-
12
- Staff publish products with a price. A guest places an order by sending customer fields, an order number, currency, a total, and line items. Staff see submitted orders and record fulfillment or cancellation. Mantle stores the catalog and the order rows. There is no inventory authority in this Manifest.
13
-
14
- ## Manifest
15
-
16
- ```yaml
17
- apiVersion: cms.mantle.aotter.net/v1
18
- kind: Schema
19
- metadata:
20
- name: products
21
- spec:
22
- title: Products
23
- lifecycle: publishing
24
- uniqueIndexes:
25
- - [slug]
26
- schema:
27
- type: object
28
- additionalProperties: false
29
- required: [slug, title, priceMinor, currency]
30
- properties:
31
- slug: { type: string, pattern: "^[a-z0-9-]+$" }
32
- title: { type: string, minLength: 1, maxLength: 160 }
33
- summary: { type: string, maxLength: 500 }
34
- priceMinor: { type: integer, minimum: 0, x-mcp-hint: money-minor }
35
- currency: { type: string, pattern: "^[A-Z]{3}$" }
36
- ---
37
- apiVersion: cms.mantle.aotter.net/v1
38
- kind: Schema
39
- metadata:
40
- name: orders
41
- spec:
42
- title: Orders
43
- description: Guest orders created and updated only by declared builtin Procedures.
44
- lifecycle: operational
45
- uniqueIndexes:
46
- - [orderNumber]
47
- indexes:
48
- - [orderStatus]
49
- searchableFields: [orderNumber, customerName, customerEmail]
50
- schema:
51
- type: object
52
- additionalProperties: false
53
- required: [orderNumber, orderStatus, currency, totalMinor, customerName, customerEmail, shippingAddress, items, placedAt]
54
- properties:
55
- orderNumber: { type: string, minLength: 1, maxLength: 40 }
56
- orderStatus: { type: string, enum: [submitted, fulfilled, cancelled] }
57
- currency: { type: string, pattern: "^[A-Z]{3}$" }
58
- totalMinor: { type: integer, minimum: 0, x-mcp-hint: money-minor }
59
- customerName: { type: string, minLength: 1, maxLength: 120 }
60
- customerEmail: { type: string, format: email }
61
- shippingAddress: { type: string, minLength: 1, maxLength: 500 }
62
- items:
63
- type: array
64
- minItems: 1
65
- maxItems: 20
66
- items:
67
- type: object
68
- additionalProperties: false
69
- required: [productSlug, title, quantity, unitPriceMinor, lineTotalMinor]
70
- properties:
71
- productSlug: { type: string, pattern: "^[a-z0-9-]+$" }
72
- title: { type: string }
73
- quantity: { type: integer, minimum: 1, maximum: 99 }
74
- unitPriceMinor: { type: integer, minimum: 0 }
75
- lineTotalMinor: { type: integer, minimum: 0 }
76
- trackingNumber: { type: string, maxLength: 120 }
77
- cancelReason: { type: string, maxLength: 500 }
78
- placedAt: { type: number, x-mcp-hint: timestamp-ms, x-mantle-bind: now }
79
- ---
80
- apiVersion: cms.mantle.aotter.net/v1
81
- kind: View
82
- metadata:
83
- name: public-products
84
- spec:
85
- title: Public products
86
- surface: public
87
- from: products
88
- fields: [id, slug, title, summary, priceMinor, currency, updatedAt]
89
- filter:
90
- eq: { field: status, value: published }
91
- orderBy:
92
- - { field: slug, direction: asc }
93
- limit: 100
94
- ---
95
- apiVersion: cms.mantle.aotter.net/v1
96
- kind: View
97
- metadata:
98
- name: submitted-orders
99
- spec:
100
- title: Submitted orders
101
- surface: staff
102
- from: orders
103
- fields: [id, version, orderNumber, orderStatus, customerName, customerEmail, shippingAddress, totalMinor, currency, placedAt]
104
- filter:
105
- eq: { field: orderStatus, value: submitted }
106
- orderBy:
107
- - { field: placedAt, direction: asc }
108
- limit: 100
109
- ---
110
- apiVersion: cms.mantle.aotter.net/v1
111
- kind: Procedure
112
- metadata:
113
- name: place-order
114
- spec:
115
- title: Place order
116
- input:
117
- type: object
118
- additionalProperties: false
119
- required: [orderNumber, orderStatus, currency, totalMinor, customerName, customerEmail, shippingAddress, items]
120
- properties:
121
- orderNumber: { type: string, minLength: 1, maxLength: 40 }
122
- orderStatus: { type: string, enum: [submitted] }
123
- currency: { type: string, pattern: "^[A-Z]{3}$" }
124
- totalMinor: { type: integer, minimum: 0, x-mcp-hint: money-minor }
125
- customerName: { type: string, minLength: 1, maxLength: 120 }
126
- customerEmail: { type: string, format: email }
127
- shippingAddress: { type: string, minLength: 1, maxLength: 500 }
128
- items:
129
- type: array
130
- minItems: 1
131
- maxItems: 20
132
- items:
133
- type: object
134
- additionalProperties: false
135
- required: [productSlug, title, quantity, unitPriceMinor, lineTotalMinor]
136
- properties:
137
- productSlug: { type: string, pattern: "^[a-z0-9-]+$" }
138
- title: { type: string }
139
- quantity: { type: integer, minimum: 1, maximum: 99 }
140
- unitPriceMinor: { type: integer, minimum: 0 }
141
- lineTotalMinor: { type: integer, minimum: 0 }
142
- output: { type: object }
143
- handler: { kind: builtin, op: create, schema: orders }
144
- ---
145
- apiVersion: cms.mantle.aotter.net/v1
146
- kind: Procedure
147
- metadata:
148
- name: review-order
149
- spec:
150
- title: Review order
151
- requires:
152
- auth:
153
- all:
154
- - { "ctx.staff": [owner, editor] }
155
- input:
156
- type: object
157
- additionalProperties: false
158
- required: [id, expectedVersion, orderStatus]
159
- properties:
160
- id: { type: string }
161
- expectedVersion: { type: number, minimum: 1 }
162
- orderStatus: { type: string, enum: [fulfilled, cancelled] }
163
- trackingNumber: { type: string, maxLength: 120 }
164
- cancelReason: { type: string, maxLength: 500 }
165
- output: { type: object }
166
- handler: { kind: builtin, op: update, schema: orders }
167
- ---
168
- apiVersion: cms.mantle.aotter.net/v1
169
- kind: Trigger
170
- metadata:
171
- name: place-order-http
172
- spec:
173
- source: { kind: http, method: POST, path: /api/commerce/orders }
174
- target: { procedure: place-order }
175
- ---
176
- apiVersion: cms.mantle.aotter.net/v1
177
- kind: Trigger
178
- metadata:
179
- name: place-order-mcp
180
- spec:
181
- source: { kind: mcp, surface: public }
182
- target: { procedure: place-order }
183
- ---
184
- apiVersion: cms.mantle.aotter.net/v1
185
- kind: Trigger
186
- metadata:
187
- name: review-order-mcp
188
- spec:
189
- source: { kind: mcp, surface: staff }
190
- target: { procedure: review-order }
191
- ```
192
-
193
- Points worth noticing:
194
-
195
- - `products` is a publishing Schema. Staff draft and publish through Admin or Staff MCP generic lifecycle tools. The public View filters `status: published`.
196
- - `orders` is operational. `place-order` is builtin `create`; `review-order` is builtin `update` with `id` and `expectedVersion` required. `placedAt` is server-stamped.
197
- - `orderStatus` on create is narrowed to `submitted`, so this Procedure cannot insert a fulfilled row. Staff `review-order` can only move a row to `fulfilled` or `cancelled`.
198
- - Line titles, unit prices and `totalMinor` are caller-supplied. This Manifest does not re-price from `products` and does not reserve stock.
199
- - `review-order` does not set `x-mantle-ref` on `id`. Drive reviews from `submitted-orders` (which exposes `id` and `version`) through Staff MCP or Admin operations. A lone `[orderNumber]` unique index would otherwise make Admin prefill `id` with the order number; see [Procurement approvals](./builtin-procurement.md).
200
-
201
- ## Worker and handlers
202
-
203
- None. Both Procedures are builtin:
204
-
205
- ```ts
206
- import { createMantleWorker } from "@aotter/mantle/cloudflare";
207
- import { plan } from "../.mantle/generated/mantle.js";
208
-
209
- export default createMantleWorker({ plan });
210
- ```
211
-
212
- Sign-in for staff review is the conventional Worker's Auth; see [Authentication](../handbook/cloudflare/authentication.md). The [local Admin OTP host](./host-local-admin-otp/README.md) is the opt-in Dev UI path.
213
-
214
- ## Try it
215
-
216
- Public catalog:
217
-
218
- ```sh
219
- curl -sS 'http://localhost:8787/api/views/public-products?show=20'
220
- ```
221
-
222
- Place an order (the body is stored as sent; the server does not re-price):
223
-
224
- ```sh
225
- curl -sS -X POST http://localhost:8787/api/commerce/orders \
226
- -H 'content-type: application/json' \
227
- -d '{"orderNumber":"MNT-20260919-1","orderStatus":"submitted","currency":"TWD","totalMinor":2400,"customerName":"Ada","customerEmail":"ada@example.test","shippingAddress":"1 Shell Lane","items":[{"productSlug":"notebook","title":"Notebook","quantity":2,"unitPriceMinor":1200,"lineTotalMinor":2400}]}'
228
- ```
229
-
230
- The response is `{ ok: true, data: <EntryRow> }` with `collection: "orders"` and `status: "published"`. A duplicate `orderNumber` is HTTP 409 `CONFLICT`. `orderStatus` other than `submitted` is HTTP 400 `INPUT_VALIDATION_FAILED`.
231
-
232
- Staff, on `/mcp/staff`, read `query_view_submitted_orders` then:
233
-
234
- ```json
235
- {
236
- "jsonrpc": "2.0", "id": 2, "method": "tools/call",
237
- "params": {
238
- "name": "review_order",
239
- "arguments": { "id": "ord_01j...", "expectedVersion": 1, "orderStatus": "fulfilled", "trackingNumber": "TEST-1" }
240
- }
241
- }
242
- ```
243
-
244
- A second reviewer replaying `expectedVersion: 1` receives `CONFLICT`. A contributor-role session is denied with `AUTH_DENIED`.
245
-
246
- | Surface | Tool | Origin |
247
- |---|---|---|
248
- | `/mcp` | `query_view_public_products` | public View |
249
- | `/mcp` | `place_order` | `place-order-mcp` Trigger |
250
- | `/mcp/staff` | `query_view_submitted_orders` | staff View |
251
- | `/mcp/staff` | `review_order` | staff MCP Trigger |
252
- | `/mcp/staff` | `create_draft_products`, `update_draft_products`, `request_publish`, ... | publishing Schema `products` |
253
- | `/mcp/staff` | `create_record_orders`, `update_record_orders` | operational Schema `orders` |
254
-
255
- ## What this deliberately leaves out
256
-
257
- - **Stock authority.** There is no `inventory` Schema and no Durable Object. Two orders for the last unit both succeed. That story is [Commerce inventory](./cf-primitives-commerce-inventory.md).
258
- - **Re-pricing.** `totalMinor` and line totals are whatever the caller sent.
259
- - **Payments.** `submitted` is not `pending_payment`. There is no provider callback and no `pay-order` Procedure.
260
- - **Queue expiry and cron.** Unpaid reservation release does not apply; there is no reservation.
261
- - **Picking-list SQL View.** `submitted-orders` is a declared View over `orders`. The `json_each` picking list lives on the cf-primitives page.
262
-
263
- Related: [Publication](./builtin-publication.md) for localized product copy; [Procurement approvals](./builtin-procurement.md) for `ctx.user`-owned rows and OCC updates.
264
-
265
- ## Source
266
-
267
- - [Commerce inventory](./cf-primitives-commerce-inventory.md) — DO stock, Queue expiry, payment callback
268
- - [Schema](../handbook/reference/schema.md), [Procedure](../handbook/reference/procedure.md), and [View](../handbook/reference/view.md) references — publishing vs operational, builtin `create`/`update`
269
- - [`host-local-admin-otp`](./host-local-admin-otp/README.md) — opt-in Admin host for publishing products
@@ -1,143 +0,0 @@
1
- ---
2
- description: A public intake form that creates operational request rows with a builtin handler. No Turnstile or email ref hooks.
3
- ---
4
- # Intake form
5
-
6
- **Handler class:** builtin · **Builder:** yes · [Examples hub](./README.md). Turnstile verification and staff email are [Intake Turnstile and email hooks](./cf-primitives-intake-hooks.md).
7
-
8
- This example collects a public request and lists recent rows for staff. Every Procedure is `handler.kind: builtin`. Read it if you need any form that anonymous visitors submit and you are not wiring bot checks or mailers into the Manifest.
9
-
10
- ## Problem
11
-
12
- Visitors submit a name, an email address and a message. Staff read recent submissions in Admin, over the staff View REST route, or through Staff MCP. Submissions are live records, not authored content, so the Schema is `operational`.
13
-
14
- ## Manifest
15
-
16
- ```yaml
17
- apiVersion: cms.mantle.aotter.net/v1
18
- kind: Schema
19
- metadata:
20
- name: requests
21
- spec:
22
- title: Requests
23
- description: Requests submitted through the public intake flow.
24
- lifecycle: operational
25
- schema:
26
- type: object
27
- additionalProperties: false
28
- required: [name, email, message]
29
- properties:
30
- name: { type: string, minLength: 1, maxLength: 120 }
31
- email: { type: string, format: email }
32
- message: { type: string, minLength: 1, maxLength: 2000 }
33
- submittedAt: { type: number, x-mcp-hint: timestamp-ms, x-mantle-bind: now }
34
- ---
35
- apiVersion: cms.mantle.aotter.net/v1
36
- kind: View
37
- metadata:
38
- name: recent-requests
39
- spec:
40
- title: Recent requests
41
- surface: staff
42
- from: requests
43
- fields: [id, name, email, message, submittedAt]
44
- orderBy:
45
- - { field: submittedAt, direction: desc }
46
- limit: 50
47
- ---
48
- apiVersion: cms.mantle.aotter.net/v1
49
- kind: Procedure
50
- metadata:
51
- name: submit-request
52
- spec:
53
- title: Submit request
54
- description: Create a new public request.
55
- input:
56
- type: object
57
- additionalProperties: false
58
- required: [name, email, message]
59
- properties:
60
- name: { type: string, minLength: 1, maxLength: 120 }
61
- email: { type: string, format: email }
62
- message: { type: string, minLength: 1, maxLength: 2000 }
63
- output: { type: object }
64
- handler: { kind: builtin, op: create, schema: requests }
65
- ---
66
- apiVersion: cms.mantle.aotter.net/v1
67
- kind: Trigger
68
- metadata:
69
- name: submit-request-http
70
- spec:
71
- source: { kind: http, method: POST, path: /api/requests }
72
- target: { procedure: submit-request }
73
- ---
74
- apiVersion: cms.mantle.aotter.net/v1
75
- kind: Trigger
76
- metadata:
77
- name: submit-request-mcp
78
- spec:
79
- source: { kind: mcp, surface: public }
80
- target: { procedure: submit-request }
81
- ```
82
-
83
- `submittedAt` is stamped by the server (`x-mantle-bind: now`); a caller-supplied value is ignored. It lives in `data` next to the native `createdAt` column so the timestamp travels with the record through MCP output and exports; data properties may not reuse the native column names. The builtin `create` projects `input ∩ Schema.properties`.
84
-
85
- ## Worker and handlers
86
-
87
- None are required. The Manifest above runs on the minimal Worker:
88
-
89
- ```ts
90
- import { createMantleWorker } from "@aotter/mantle/cloudflare";
91
- import { plan } from "../.mantle/generated/mantle.js";
92
-
93
- export default createMantleWorker({ plan });
94
- ```
95
-
96
- ## Try it
97
-
98
- ```sh
99
- curl -sS -X POST http://localhost:8787/api/requests \
100
- -H 'content-type: application/json' \
101
- -d '{"name":"Ada","email":"ada@example.test","message":"Please call me back."}'
102
- ```
103
-
104
- ```json
105
- {
106
- "ok": true,
107
- "data": {
108
- "id": "req_01j...",
109
- "collection": "requests",
110
- "status": "published",
111
- "version": 1,
112
- "data": { "name": "Ada", "email": "ada@example.test", "message": "Please call me back.", "submittedAt": 1788879363492 },
113
- "authorId": null,
114
- "createdAt": 1788879363492,
115
- "updatedAt": 1788879363492
116
- }
117
- }
118
- ```
119
-
120
- The builtin `create` returns the `EntryRow`; `status` is `published` immediately because the Schema is operational. A missing `name` is HTTP 400 `INPUT_VALIDATION_FAILED`.
121
-
122
- Staff read the queue at `GET /admin/api/views/recent-requests?page=1&show=50` with a staff session; the envelope is `{ ok, data: { rows, page, show, hasMore } }`.
123
-
124
- MCP tools:
125
-
126
- | Surface | Tool | Origin |
127
- |---|---|---|
128
- | `/mcp` | `submit_request` | `submit-request-mcp` Trigger |
129
- | `/mcp/staff` | `query_view_recent_requests` | `recent-requests` View |
130
- | `/mcp/staff` | `create_record_requests`, `update_record_requests` | operational Schema `requests` |
131
-
132
- ## What this deliberately leaves out
133
-
134
- - **Bot check and notification.** Those are `ref` lifecycle hooks in [Intake Turnstile and email hooks](./cf-primitives-intake-hooks.md). They are not in this Manifest; Builder must not ingest that page.
135
- - **Deduplication.** Two identical submissions create two rows.
136
- - **Rate limiting.** The adapter applies its own request limits to Auth and Admin routes, not a per-form quota.
137
-
138
- Related: [Reservation requests](./builtin-reservation.md) uses the same builtin-create shape; [Procurement approvals](./builtin-procurement.md) adds member and staff roles.
139
-
140
- ## Source
141
-
142
- - [Procedure reference](../handbook/reference/procedure.md) — builtin `create`
143
- - [Intake Turnstile and email hooks](./cf-primitives-intake-hooks.md) — Turnstile and email `ref` hooks on the same Schema