@aotter/mantle 0.1.4 → 0.2.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (849) hide show
  1. package/README.md +39 -306
  2. package/dist/admin/consent.d.ts +17 -0
  3. package/dist/admin/consent.d.ts.map +1 -0
  4. package/dist/admin/consent.js +17 -0
  5. package/dist/admin/consent.js.map +1 -0
  6. package/dist/admin/createAdminSurface.d.ts +22 -0
  7. package/dist/admin/createAdminSurface.d.ts.map +1 -0
  8. package/dist/admin/createAdminSurface.js +589 -0
  9. package/dist/admin/createAdminSurface.js.map +1 -0
  10. package/dist/admin/developerConsole.d.ts +264 -0
  11. package/dist/admin/developerConsole.d.ts.map +1 -0
  12. package/dist/admin/developerConsole.js +136 -0
  13. package/dist/admin/developerConsole.js.map +1 -0
  14. package/dist/admin/identity.d.ts +62 -0
  15. package/dist/admin/identity.d.ts.map +1 -0
  16. package/dist/admin/identity.js +7 -0
  17. package/dist/admin/identity.js.map +1 -0
  18. package/dist/admin/index.d.ts +4 -0
  19. package/dist/admin/index.d.ts.map +1 -0
  20. package/dist/admin/index.js +4 -0
  21. package/dist/admin/index.js.map +1 -0
  22. package/dist/admin/procedureFlow.d.ts +25 -0
  23. package/dist/admin/procedureFlow.d.ts.map +1 -0
  24. package/dist/admin/procedureFlow.js +154 -0
  25. package/dist/admin/procedureFlow.js.map +1 -0
  26. package/dist/auth/ConsoleEmailSender.d.ts +15 -0
  27. package/dist/auth/ConsoleEmailSender.d.ts.map +1 -0
  28. package/dist/auth/ConsoleEmailSender.js +19 -0
  29. package/dist/auth/ConsoleEmailSender.js.map +1 -0
  30. package/dist/auth/appleClientSecret.d.ts +75 -0
  31. package/dist/auth/appleClientSecret.d.ts.map +1 -0
  32. package/dist/auth/appleClientSecret.js +116 -0
  33. package/dist/auth/appleClientSecret.js.map +1 -0
  34. package/dist/auth/buildAuth.d.ts +4565 -0
  35. package/dist/auth/buildAuth.d.ts.map +1 -0
  36. package/dist/auth/buildAuth.js +307 -0
  37. package/dist/auth/buildAuth.js.map +1 -0
  38. package/dist/auth/callerResolver.d.ts +48 -0
  39. package/dist/auth/callerResolver.d.ts.map +1 -0
  40. package/dist/auth/callerResolver.js +49 -0
  41. package/dist/auth/callerResolver.js.map +1 -0
  42. package/dist/auth/createAuthRoutes.d.ts +22 -0
  43. package/dist/auth/createAuthRoutes.d.ts.map +1 -0
  44. package/dist/auth/createAuthRoutes.js +128 -0
  45. package/dist/auth/createAuthRoutes.js.map +1 -0
  46. package/dist/auth/createMantleAuth.d.ts +3 -0
  47. package/dist/auth/createMantleAuth.d.ts.map +1 -0
  48. package/dist/auth/createMantleAuth.js +483 -0
  49. package/dist/auth/createMantleAuth.js.map +1 -0
  50. package/dist/auth/db.d.ts +17 -0
  51. package/dist/auth/db.d.ts.map +1 -0
  52. package/dist/auth/db.js +24 -0
  53. package/dist/auth/db.js.map +1 -0
  54. package/dist/auth/emailTemplates.d.ts +7 -0
  55. package/dist/auth/emailTemplates.d.ts.map +1 -0
  56. package/dist/auth/emailTemplates.js +27 -0
  57. package/dist/auth/emailTemplates.js.map +1 -0
  58. package/dist/auth/index.d.ts +9 -0
  59. package/dist/auth/index.d.ts.map +1 -0
  60. package/dist/auth/index.js +7 -0
  61. package/dist/auth/index.js.map +1 -0
  62. package/dist/auth/methods.d.ts +717 -0
  63. package/dist/auth/methods.d.ts.map +1 -0
  64. package/dist/auth/methods.js +321 -0
  65. package/dist/auth/methods.js.map +1 -0
  66. package/dist/auth/oauthTokens.d.ts +24 -0
  67. package/dist/auth/oauthTokens.d.ts.map +1 -0
  68. package/dist/auth/oauthTokens.js +146 -0
  69. package/dist/auth/oauthTokens.js.map +1 -0
  70. package/dist/auth/setupIncomplete.d.ts +16 -0
  71. package/dist/auth/setupIncomplete.d.ts.map +1 -0
  72. package/dist/auth/setupIncomplete.js +50 -0
  73. package/dist/auth/setupIncomplete.js.map +1 -0
  74. package/dist/auth/types.d.ts +440 -0
  75. package/dist/auth/types.d.ts.map +1 -0
  76. package/dist/auth/types.js +10 -0
  77. package/dist/auth/types.js.map +1 -0
  78. package/dist/bun/index.d.ts +65 -0
  79. package/dist/bun/index.d.ts.map +1 -0
  80. package/dist/bun/index.js +130 -0
  81. package/dist/bun/index.js.map +1 -0
  82. package/dist/cli/emitModule.d.ts +7 -0
  83. package/dist/cli/emitModule.d.ts.map +1 -0
  84. package/dist/cli/emitModule.js +127 -0
  85. package/dist/cli/emitModule.js.map +1 -0
  86. package/dist/cli/generate.d.ts +4 -16
  87. package/dist/cli/generate.d.ts.map +1 -1
  88. package/dist/cli/generate.js +332 -165
  89. package/dist/cli/generate.js.map +1 -1
  90. package/dist/cli/main.d.ts +1 -1
  91. package/dist/cli/main.d.ts.map +1 -1
  92. package/dist/cli/main.js +15 -71
  93. package/dist/cli/main.js.map +1 -1
  94. package/dist/cli/preset.d.ts +18 -0
  95. package/dist/cli/preset.d.ts.map +1 -0
  96. package/dist/cli/preset.js +352 -0
  97. package/dist/cli/preset.js.map +1 -0
  98. package/dist/cloudflare/index.d.ts +21 -0
  99. package/dist/cloudflare/index.d.ts.map +1 -0
  100. package/dist/cloudflare/index.js +14 -0
  101. package/dist/cloudflare/index.js.map +1 -0
  102. package/dist/cloudflare/r2Media.d.ts +43 -0
  103. package/dist/cloudflare/r2Media.d.ts.map +1 -0
  104. package/dist/cloudflare/r2Media.js +69 -0
  105. package/dist/cloudflare/r2Media.js.map +1 -0
  106. package/dist/core/caller.d.ts +35 -0
  107. package/dist/core/caller.d.ts.map +1 -0
  108. package/dist/core/caller.js +3 -0
  109. package/dist/core/caller.js.map +1 -0
  110. package/dist/core/createMantle.d.ts +22 -0
  111. package/dist/core/createMantle.d.ts.map +1 -0
  112. package/dist/core/createMantle.js +117 -0
  113. package/dist/core/createMantle.js.map +1 -0
  114. package/dist/core/dialect.d.ts +41 -0
  115. package/dist/core/dialect.d.ts.map +1 -0
  116. package/dist/core/dialect.js +7 -0
  117. package/dist/core/dialect.js.map +1 -0
  118. package/dist/core/driver.d.ts +17 -0
  119. package/dist/core/driver.d.ts.map +1 -0
  120. package/dist/core/driver.js +2 -0
  121. package/dist/core/driver.js.map +1 -0
  122. package/dist/core/email.d.ts +17 -0
  123. package/dist/core/email.d.ts.map +1 -0
  124. package/dist/core/email.js +2 -0
  125. package/dist/core/email.js.map +1 -0
  126. package/dist/core/index.d.ts +16 -0
  127. package/dist/core/index.d.ts.map +1 -0
  128. package/dist/core/index.js +16 -0
  129. package/dist/core/index.js.map +1 -0
  130. package/dist/core/invocation.d.ts +66 -0
  131. package/dist/core/invocation.d.ts.map +1 -0
  132. package/dist/core/invocation.js +3 -0
  133. package/dist/core/invocation.js.map +1 -0
  134. package/dist/core/runtime/auth.d.ts +9 -0
  135. package/dist/core/runtime/auth.d.ts.map +1 -0
  136. package/dist/core/runtime/auth.js +39 -0
  137. package/dist/core/runtime/auth.js.map +1 -0
  138. package/dist/core/runtime/createRuntime.d.ts +23 -0
  139. package/dist/core/runtime/createRuntime.d.ts.map +1 -0
  140. package/dist/core/runtime/createRuntime.js +214 -0
  141. package/dist/core/runtime/createRuntime.js.map +1 -0
  142. package/dist/core/runtime/verifyPlan.d.ts +34 -0
  143. package/dist/core/runtime/verifyPlan.d.ts.map +1 -0
  144. package/dist/core/runtime/verifyPlan.js +301 -0
  145. package/dist/core/runtime/verifyPlan.js.map +1 -0
  146. package/dist/core/service.d.ts +45 -0
  147. package/dist/core/service.d.ts.map +1 -0
  148. package/dist/core/service.js +2 -0
  149. package/dist/core/service.js.map +1 -0
  150. package/dist/core/site.d.ts +117 -0
  151. package/dist/core/site.d.ts.map +1 -0
  152. package/dist/core/site.js +2 -0
  153. package/dist/core/site.js.map +1 -0
  154. package/dist/core/siteConfig.d.ts +5 -0
  155. package/dist/core/siteConfig.d.ts.map +1 -0
  156. package/dist/core/siteConfig.js +24 -0
  157. package/dist/core/siteConfig.js.map +1 -0
  158. package/dist/core/sql/allowlist.d.ts +65 -0
  159. package/dist/core/sql/allowlist.d.ts.map +1 -0
  160. package/dist/core/sql/allowlist.js +705 -0
  161. package/dist/core/sql/allowlist.js.map +1 -0
  162. package/dist/core/sql/ast.d.ts +24 -0
  163. package/dist/core/sql/ast.d.ts.map +1 -0
  164. package/dist/core/sql/ast.js +32 -0
  165. package/dist/core/sql/ast.js.map +1 -0
  166. package/dist/core/sql/compile.d.ts +50 -0
  167. package/dist/core/sql/compile.d.ts.map +1 -0
  168. package/dist/core/sql/compile.js +48 -0
  169. package/dist/core/sql/compile.js.map +1 -0
  170. package/dist/core/sql/policy.d.ts +121 -0
  171. package/dist/core/sql/policy.d.ts.map +1 -0
  172. package/dist/core/sql/policy.js +379 -0
  173. package/dist/core/sql/policy.js.map +1 -0
  174. package/dist/core/sql/positions.d.ts +30 -0
  175. package/dist/core/sql/positions.d.ts.map +1 -0
  176. package/dist/core/sql/positions.js +22 -0
  177. package/dist/core/sql/positions.js.map +1 -0
  178. package/dist/core/sql/run.d.ts +76 -0
  179. package/dist/core/sql/run.d.ts.map +1 -0
  180. package/dist/core/sql/run.js +267 -0
  181. package/dist/core/sql/run.js.map +1 -0
  182. package/dist/core/store/createStore.d.ts +49 -0
  183. package/dist/core/store/createStore.d.ts.map +1 -0
  184. package/dist/core/store/createStore.js +227 -0
  185. package/dist/core/store/createStore.js.map +1 -0
  186. package/dist/core/store/cursor.d.ts +4 -0
  187. package/dist/core/store/cursor.d.ts.map +1 -0
  188. package/dist/core/store/cursor.js +22 -0
  189. package/dist/core/store/cursor.js.map +1 -0
  190. package/dist/core/store/json.d.ts +80 -0
  191. package/dist/core/store/json.d.ts.map +1 -0
  192. package/dist/core/store/json.js +342 -0
  193. package/dist/core/store/json.js.map +1 -0
  194. package/dist/core/store.d.ts +160 -0
  195. package/dist/core/store.d.ts.map +1 -0
  196. package/dist/core/store.js +2 -0
  197. package/dist/core/store.js.map +1 -0
  198. package/dist/core/wire.d.ts +20 -0
  199. package/dist/core/wire.d.ts.map +1 -0
  200. package/dist/core/wire.js +84 -0
  201. package/dist/core/wire.js.map +1 -0
  202. package/dist/core/withCaller.d.ts +16 -0
  203. package/dist/core/withCaller.d.ts.map +1 -0
  204. package/dist/core/withCaller.js +29 -0
  205. package/dist/core/withCaller.js.map +1 -0
  206. package/dist/d1/adapter.d.ts +12 -0
  207. package/dist/d1/adapter.d.ts.map +1 -0
  208. package/dist/d1/adapter.js +23 -0
  209. package/dist/d1/adapter.js.map +1 -0
  210. package/dist/d1/codec.d.ts +14 -0
  211. package/dist/d1/codec.d.ts.map +1 -0
  212. package/dist/d1/codec.js +136 -0
  213. package/dist/d1/codec.js.map +1 -0
  214. package/dist/d1/compile/index.d.ts +9 -0
  215. package/dist/d1/compile/index.d.ts.map +1 -0
  216. package/dist/d1/compile/index.js +9 -0
  217. package/dist/d1/compile/index.js.map +1 -0
  218. package/dist/d1/dialect.d.ts +4 -0
  219. package/dist/d1/dialect.d.ts.map +1 -0
  220. package/dist/d1/dialect.js +13 -0
  221. package/dist/d1/dialect.js.map +1 -0
  222. package/dist/d1/executor.d.ts +13 -0
  223. package/dist/d1/executor.d.ts.map +1 -0
  224. package/dist/d1/executor.js +91 -0
  225. package/dist/d1/executor.js.map +1 -0
  226. package/dist/d1/index.d.ts +6 -0
  227. package/dist/d1/index.d.ts.map +1 -0
  228. package/dist/d1/index.js +6 -0
  229. package/dist/d1/index.js.map +1 -0
  230. package/dist/d1/lower.d.ts +8 -0
  231. package/dist/d1/lower.d.ts.map +1 -0
  232. package/dist/d1/lower.js +167 -0
  233. package/dist/d1/lower.js.map +1 -0
  234. package/dist/d1/media.d.ts +5 -0
  235. package/dist/d1/media.d.ts.map +1 -0
  236. package/dist/d1/media.js +157 -0
  237. package/dist/d1/media.js.map +1 -0
  238. package/dist/d1/migrations.d.ts +12 -0
  239. package/dist/d1/migrations.d.ts.map +1 -0
  240. package/dist/d1/migrations.js +111 -0
  241. package/dist/d1/migrations.js.map +1 -0
  242. package/dist/d1/print.d.ts +28 -0
  243. package/dist/d1/print.d.ts.map +1 -0
  244. package/dist/d1/print.js +54 -0
  245. package/dist/d1/print.js.map +1 -0
  246. package/dist/d1/site.d.ts +17 -0
  247. package/dist/d1/site.d.ts.map +1 -0
  248. package/dist/d1/site.js +63 -0
  249. package/dist/d1/site.js.map +1 -0
  250. package/dist/d1/storage.d.ts +34 -0
  251. package/dist/d1/storage.d.ts.map +1 -0
  252. package/dist/d1/storage.js +288 -0
  253. package/dist/d1/storage.js.map +1 -0
  254. package/dist/d1/tz.d.ts +21 -0
  255. package/dist/d1/tz.d.ts.map +1 -0
  256. package/dist/d1/tz.js +54 -0
  257. package/dist/d1/tz.js.map +1 -0
  258. package/dist/d1/validator.d.ts +10 -0
  259. package/dist/d1/validator.d.ts.map +1 -0
  260. package/dist/d1/validator.js +33 -0
  261. package/dist/d1/validator.js.map +1 -0
  262. package/dist/mcp/apps.d.ts +43 -0
  263. package/dist/mcp/apps.d.ts.map +1 -0
  264. package/dist/mcp/apps.js +57 -0
  265. package/dist/mcp/apps.js.map +1 -0
  266. package/dist/mcp/catalog.d.ts +55 -0
  267. package/dist/mcp/catalog.d.ts.map +1 -0
  268. package/dist/mcp/catalog.js +81 -0
  269. package/dist/mcp/catalog.js.map +1 -0
  270. package/dist/mcp/createMcpSurface.d.ts +34 -0
  271. package/dist/mcp/createMcpSurface.d.ts.map +1 -0
  272. package/dist/mcp/createMcpSurface.js +150 -0
  273. package/dist/mcp/createMcpSurface.js.map +1 -0
  274. package/dist/mcp/index.d.ts +4 -0
  275. package/dist/mcp/index.d.ts.map +1 -0
  276. package/dist/mcp/index.js +4 -0
  277. package/dist/mcp/index.js.map +1 -0
  278. package/dist/postgres/adapter.d.ts +20 -0
  279. package/dist/postgres/adapter.d.ts.map +1 -0
  280. package/dist/postgres/adapter.js +44 -0
  281. package/dist/postgres/adapter.js.map +1 -0
  282. package/dist/postgres/codec.d.ts +13 -0
  283. package/dist/postgres/codec.d.ts.map +1 -0
  284. package/dist/postgres/codec.js +110 -0
  285. package/dist/postgres/codec.js.map +1 -0
  286. package/dist/postgres/compile/index.d.ts +9 -0
  287. package/dist/postgres/compile/index.d.ts.map +1 -0
  288. package/dist/postgres/compile/index.js +9 -0
  289. package/dist/postgres/compile/index.js.map +1 -0
  290. package/dist/postgres/driver.d.ts +92 -0
  291. package/dist/postgres/driver.d.ts.map +1 -0
  292. package/dist/postgres/driver.js +110 -0
  293. package/dist/postgres/driver.js.map +1 -0
  294. package/dist/postgres/executor.d.ts +20 -0
  295. package/dist/postgres/executor.d.ts.map +1 -0
  296. package/dist/postgres/executor.js +69 -0
  297. package/dist/postgres/executor.js.map +1 -0
  298. package/dist/postgres/index.d.ts +7 -0
  299. package/dist/postgres/index.d.ts.map +1 -0
  300. package/dist/postgres/index.js +7 -0
  301. package/dist/postgres/index.js.map +1 -0
  302. package/dist/postgres/lower.d.ts +6 -0
  303. package/dist/postgres/lower.d.ts.map +1 -0
  304. package/dist/postgres/lower.js +157 -0
  305. package/dist/postgres/lower.js.map +1 -0
  306. package/dist/postgres/print.d.ts +11 -0
  307. package/dist/postgres/print.d.ts.map +1 -0
  308. package/dist/postgres/print.js +121 -0
  309. package/dist/postgres/print.js.map +1 -0
  310. package/dist/postgres/storage.d.ts +19 -0
  311. package/dist/postgres/storage.d.ts.map +1 -0
  312. package/dist/postgres/storage.js +201 -0
  313. package/dist/postgres/storage.js.map +1 -0
  314. package/dist/postgres/textRows.d.ts +10 -0
  315. package/dist/postgres/textRows.d.ts.map +1 -0
  316. package/dist/postgres/textRows.js +44 -0
  317. package/dist/postgres/textRows.js.map +1 -0
  318. package/dist/postgres/validator.d.ts +12 -0
  319. package/dist/postgres/validator.d.ts.map +1 -0
  320. package/dist/postgres/validator.js +46 -0
  321. package/dist/postgres/validator.js.map +1 -0
  322. package/dist/spec/domain/index.d.ts +3 -0
  323. package/dist/spec/domain/index.d.ts.map +1 -0
  324. package/dist/spec/domain/index.js +3 -0
  325. package/dist/spec/domain/index.js.map +1 -0
  326. package/dist/spec/domain/model/ContentState.d.ts +8 -0
  327. package/dist/spec/domain/model/ContentState.d.ts.map +1 -0
  328. package/dist/spec/domain/model/ContentState.js +7 -0
  329. package/dist/spec/domain/model/ContentState.js.map +1 -0
  330. package/dist/spec/domain/model/Entry.d.ts +29 -0
  331. package/dist/spec/domain/model/Entry.d.ts.map +1 -0
  332. package/dist/spec/domain/model/Entry.js +16 -0
  333. package/dist/spec/domain/model/Entry.js.map +1 -0
  334. package/dist/spec/domain/model/Locale.d.ts +30 -0
  335. package/dist/spec/domain/model/Locale.d.ts.map +1 -0
  336. package/dist/spec/domain/model/Locale.js +33 -0
  337. package/dist/spec/domain/model/Locale.js.map +1 -0
  338. package/dist/spec/domain/model/ManifestGrammar.d.ts +452 -0
  339. package/dist/spec/domain/model/ManifestGrammar.d.ts.map +1 -0
  340. package/dist/spec/domain/model/ManifestGrammar.js +149 -0
  341. package/dist/spec/domain/model/ManifestGrammar.js.map +1 -0
  342. package/dist/spec/domain/model/MediaMimeAccept.d.ts +55 -0
  343. package/dist/spec/domain/model/MediaMimeAccept.d.ts.map +1 -0
  344. package/dist/spec/domain/model/MediaMimeAccept.js +90 -0
  345. package/dist/spec/domain/model/MediaMimeAccept.js.map +1 -0
  346. package/dist/spec/domain/model/RuntimePlan.d.ts +94 -0
  347. package/dist/spec/domain/model/RuntimePlan.d.ts.map +1 -0
  348. package/dist/spec/domain/model/RuntimePlan.js +4 -0
  349. package/dist/spec/domain/model/RuntimePlan.js.map +1 -0
  350. package/dist/spec/domain/model/SiteConfig.d.ts +173 -0
  351. package/dist/spec/domain/model/SiteConfig.d.ts.map +1 -0
  352. package/dist/spec/domain/model/SiteConfig.js +13 -0
  353. package/dist/spec/domain/model/SiteConfig.js.map +1 -0
  354. package/dist/spec/domain/model/SqlIr.d.ts +96 -0
  355. package/dist/spec/domain/model/SqlIr.d.ts.map +1 -0
  356. package/dist/spec/domain/model/SqlIr.js +95 -0
  357. package/dist/spec/domain/model/SqlIr.js.map +1 -0
  358. package/dist/spec/domain/model/index.d.ts +14 -0
  359. package/dist/spec/domain/model/index.d.ts.map +1 -0
  360. package/dist/spec/domain/model/index.js +14 -0
  361. package/dist/spec/domain/model/index.js.map +1 -0
  362. package/dist/spec/domain/service/CloudflareCron.d.ts +2 -0
  363. package/dist/spec/domain/service/CloudflareCron.d.ts.map +1 -0
  364. package/dist/spec/domain/service/CloudflareCron.js +63 -0
  365. package/dist/spec/domain/service/CloudflareCron.js.map +1 -0
  366. package/dist/spec/domain/service/CrossSchemaChecker.d.ts +34 -0
  367. package/dist/spec/domain/service/CrossSchemaChecker.d.ts.map +1 -0
  368. package/dist/spec/domain/service/CrossSchemaChecker.js +114 -0
  369. package/dist/spec/domain/service/CrossSchemaChecker.js.map +1 -0
  370. package/dist/spec/domain/service/EntryDataValidator.d.ts +56 -0
  371. package/dist/spec/domain/service/EntryDataValidator.d.ts.map +1 -0
  372. package/dist/spec/domain/service/EntryDataValidator.js +88 -0
  373. package/dist/spec/domain/service/EntryDataValidator.js.map +1 -0
  374. package/dist/spec/domain/service/JsonSchemaToZod.d.ts +29 -0
  375. package/dist/spec/domain/service/JsonSchemaToZod.d.ts.map +1 -0
  376. package/dist/spec/domain/service/JsonSchemaToZod.js +156 -0
  377. package/dist/spec/domain/service/JsonSchemaToZod.js.map +1 -0
  378. package/dist/spec/domain/service/LifecycleStateMachine.d.ts +75 -0
  379. package/dist/spec/domain/service/LifecycleStateMachine.d.ts.map +1 -0
  380. package/dist/spec/domain/service/LifecycleStateMachine.js +76 -0
  381. package/dist/spec/domain/service/LifecycleStateMachine.js.map +1 -0
  382. package/dist/spec/domain/service/LocaleCanonicalizer.d.ts +29 -0
  383. package/dist/spec/domain/service/LocaleCanonicalizer.d.ts.map +1 -0
  384. package/dist/spec/domain/service/LocaleCanonicalizer.js +96 -0
  385. package/dist/spec/domain/service/LocaleCanonicalizer.js.map +1 -0
  386. package/dist/spec/domain/service/ManifestFieldChecks.d.ts +60 -0
  387. package/dist/spec/domain/service/ManifestFieldChecks.d.ts.map +1 -0
  388. package/dist/spec/domain/service/ManifestFieldChecks.js +116 -0
  389. package/dist/spec/domain/service/ManifestFieldChecks.js.map +1 -0
  390. package/dist/spec/domain/service/ManifestGraphValidator.d.ts +15 -0
  391. package/dist/spec/domain/service/ManifestGraphValidator.d.ts.map +1 -0
  392. package/dist/spec/domain/service/ManifestGraphValidator.js +225 -0
  393. package/dist/spec/domain/service/ManifestGraphValidator.js.map +1 -0
  394. package/dist/spec/domain/service/ManifestLinker.d.ts +45 -0
  395. package/dist/spec/domain/service/ManifestLinker.d.ts.map +1 -0
  396. package/dist/spec/domain/service/ManifestLinker.js +92 -0
  397. package/dist/spec/domain/service/ManifestLinker.js.map +1 -0
  398. package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts +16 -0
  399. package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts.map +1 -0
  400. package/dist/spec/domain/service/ManifestLocaleTrimmer.js +76 -0
  401. package/dist/spec/domain/service/ManifestLocaleTrimmer.js.map +1 -0
  402. package/dist/spec/domain/service/ManifestParser.d.ts +49 -0
  403. package/dist/spec/domain/service/ManifestParser.d.ts.map +1 -0
  404. package/dist/spec/domain/service/ManifestParser.js +203 -0
  405. package/dist/spec/domain/service/ManifestParser.js.map +1 -0
  406. package/dist/spec/domain/service/ManifestPartition.d.ts +9 -0
  407. package/dist/spec/domain/service/ManifestPartition.d.ts.map +1 -0
  408. package/dist/spec/domain/service/ManifestPartition.js +19 -0
  409. package/dist/spec/domain/service/ManifestPartition.js.map +1 -0
  410. package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts +33 -0
  411. package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts.map +1 -0
  412. package/dist/spec/domain/service/ManifestPathDiagnoser.js +43 -0
  413. package/dist/spec/domain/service/ManifestPathDiagnoser.js.map +1 -0
  414. package/dist/spec/domain/service/ManifestSourceSpans.d.ts +10 -0
  415. package/dist/spec/domain/service/ManifestSourceSpans.d.ts.map +1 -0
  416. package/dist/spec/domain/service/ManifestSourceSpans.js +76 -0
  417. package/dist/spec/domain/service/ManifestSourceSpans.js.map +1 -0
  418. package/dist/spec/domain/service/McpToolNaming.d.ts +25 -0
  419. package/dist/spec/domain/service/McpToolNaming.d.ts.map +1 -0
  420. package/dist/spec/domain/service/McpToolNaming.js +50 -0
  421. package/dist/spec/domain/service/McpToolNaming.js.map +1 -0
  422. package/dist/spec/domain/service/PlanFingerprint.d.ts +4 -0
  423. package/dist/spec/domain/service/PlanFingerprint.d.ts.map +1 -0
  424. package/dist/spec/domain/service/PlanFingerprint.js +14 -0
  425. package/dist/spec/domain/service/PlanFingerprint.js.map +1 -0
  426. package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts +4 -0
  427. package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts.map +1 -0
  428. package/dist/spec/domain/service/ProcedureViewSpecChecks.js +211 -0
  429. package/dist/spec/domain/service/ProcedureViewSpecChecks.js.map +1 -0
  430. package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts +42 -0
  431. package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts.map +1 -0
  432. package/dist/spec/domain/service/SchemaAdminUiChecker.js +289 -0
  433. package/dist/spec/domain/service/SchemaAdminUiChecker.js.map +1 -0
  434. package/dist/spec/domain/service/SchemaIndexChecker.d.ts +33 -0
  435. package/dist/spec/domain/service/SchemaIndexChecker.d.ts.map +1 -0
  436. package/dist/spec/domain/service/SchemaIndexChecker.js +256 -0
  437. package/dist/spec/domain/service/SchemaIndexChecker.js.map +1 -0
  438. package/dist/spec/domain/service/SchemaSearchChecker.d.ts +11 -0
  439. package/dist/spec/domain/service/SchemaSearchChecker.d.ts.map +1 -0
  440. package/dist/spec/domain/service/SchemaSearchChecker.js +78 -0
  441. package/dist/spec/domain/service/SchemaSearchChecker.js.map +1 -0
  442. package/dist/spec/domain/service/SchemaSpecChecks.d.ts +31 -0
  443. package/dist/spec/domain/service/SchemaSpecChecks.d.ts.map +1 -0
  444. package/dist/spec/domain/service/SchemaSpecChecks.js +445 -0
  445. package/dist/spec/domain/service/SchemaSpecChecks.js.map +1 -0
  446. package/dist/spec/domain/service/SiteDefaultsValidator.d.ts +39 -0
  447. package/dist/spec/domain/service/SiteDefaultsValidator.d.ts.map +1 -0
  448. package/dist/spec/domain/service/SiteDefaultsValidator.js +194 -0
  449. package/dist/spec/domain/service/SiteDefaultsValidator.js.map +1 -0
  450. package/dist/spec/domain/service/SqlClassify.d.ts +19 -0
  451. package/dist/spec/domain/service/SqlClassify.d.ts.map +1 -0
  452. package/dist/spec/domain/service/SqlClassify.js +42 -0
  453. package/dist/spec/domain/service/SqlClassify.js.map +1 -0
  454. package/dist/spec/domain/service/SqlRefusal.d.ts +16 -0
  455. package/dist/spec/domain/service/SqlRefusal.d.ts.map +1 -0
  456. package/dist/spec/domain/service/SqlRefusal.js +20 -0
  457. package/dist/spec/domain/service/SqlRefusal.js.map +1 -0
  458. package/dist/spec/domain/service/SqlTypes.d.ts +40 -0
  459. package/dist/spec/domain/service/SqlTypes.d.ts.map +1 -0
  460. package/dist/spec/domain/service/SqlTypes.js +110 -0
  461. package/dist/spec/domain/service/SqlTypes.js.map +1 -0
  462. package/dist/spec/domain/service/StaffRoleHierarchy.d.ts +3 -0
  463. package/dist/spec/domain/service/StaffRoleHierarchy.d.ts.map +1 -0
  464. package/dist/spec/domain/service/StaffRoleHierarchy.js +19 -0
  465. package/dist/spec/domain/service/StaffRoleHierarchy.js.map +1 -0
  466. package/dist/spec/domain/service/TriggerGraphChecks.d.ts +16 -0
  467. package/dist/spec/domain/service/TriggerGraphChecks.d.ts.map +1 -0
  468. package/dist/spec/domain/service/TriggerGraphChecks.js +337 -0
  469. package/dist/spec/domain/service/TriggerGraphChecks.js.map +1 -0
  470. package/dist/spec/domain/service/TriggerSpecChecks.d.ts +4 -0
  471. package/dist/spec/domain/service/TriggerSpecChecks.d.ts.map +1 -0
  472. package/dist/spec/domain/service/TriggerSpecChecks.js +89 -0
  473. package/dist/spec/domain/service/TriggerSpecChecks.js.map +1 -0
  474. package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts +11 -0
  475. package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts.map +1 -0
  476. package/dist/spec/domain/service/ValidatedAdminUiProjection.js +26 -0
  477. package/dist/spec/domain/service/ValidatedAdminUiProjection.js.map +1 -0
  478. package/dist/spec/domain/service/ViewAdminUiChecker.d.ts +14 -0
  479. package/dist/spec/domain/service/ViewAdminUiChecker.d.ts.map +1 -0
  480. package/dist/spec/domain/service/ViewAdminUiChecker.js +53 -0
  481. package/dist/spec/domain/service/ViewAdminUiChecker.js.map +1 -0
  482. package/dist/spec/domain/service/index.d.ts +24 -0
  483. package/dist/spec/domain/service/index.d.ts.map +1 -0
  484. package/dist/spec/domain/service/index.js +24 -0
  485. package/dist/spec/domain/service/index.js.map +1 -0
  486. package/dist/spec/index.d.ts +10 -0
  487. package/dist/spec/index.d.ts.map +1 -0
  488. package/dist/spec/index.js +12 -0
  489. package/dist/spec/index.js.map +1 -0
  490. package/dist/spec/infrastructure/cli/parseArgsError.d.ts +16 -0
  491. package/dist/spec/infrastructure/cli/parseArgsError.d.ts.map +1 -0
  492. package/dist/spec/infrastructure/cli/parseArgsError.js +34 -0
  493. package/dist/spec/infrastructure/cli/parseArgsError.js.map +1 -0
  494. package/dist/spec/infrastructure/index.d.ts +2 -0
  495. package/dist/spec/infrastructure/index.d.ts.map +1 -0
  496. package/dist/spec/infrastructure/index.js +2 -0
  497. package/dist/spec/infrastructure/index.js.map +1 -0
  498. package/dist/spec/infrastructure/sql/PgQueryParser.d.ts +18 -0
  499. package/dist/spec/infrastructure/sql/PgQueryParser.d.ts.map +1 -0
  500. package/dist/spec/infrastructure/sql/PgQueryParser.js +17 -0
  501. package/dist/spec/infrastructure/sql/PgQueryParser.js.map +1 -0
  502. package/dist/spec/infrastructure/sql/compilePlan.d.ts +37 -0
  503. package/dist/spec/infrastructure/sql/compilePlan.d.ts.map +1 -0
  504. package/dist/spec/infrastructure/sql/compilePlan.js +282 -0
  505. package/dist/spec/infrastructure/sql/compilePlan.js.map +1 -0
  506. package/dist/spec/infrastructure/sql/compileSql.d.ts +35 -0
  507. package/dist/spec/infrastructure/sql/compileSql.d.ts.map +1 -0
  508. package/dist/spec/infrastructure/sql/compileSql.js +92 -0
  509. package/dist/spec/infrastructure/sql/compileSql.js.map +1 -0
  510. package/dist/spec/infrastructure/sql/frontEnd.d.ts +8 -0
  511. package/dist/spec/infrastructure/sql/frontEnd.d.ts.map +1 -0
  512. package/dist/spec/infrastructure/sql/frontEnd.js +100 -0
  513. package/dist/spec/infrastructure/sql/frontEnd.js.map +1 -0
  514. package/dist/spec/infrastructure/sql/index.d.ts +4 -0
  515. package/dist/spec/infrastructure/sql/index.d.ts.map +1 -0
  516. package/dist/spec/infrastructure/sql/index.js +4 -0
  517. package/dist/spec/infrastructure/sql/index.js.map +1 -0
  518. package/dist/spec/kernel/diagnostic.d.ts +137 -0
  519. package/dist/spec/kernel/diagnostic.d.ts.map +1 -0
  520. package/dist/spec/kernel/diagnostic.js +296 -0
  521. package/dist/spec/kernel/diagnostic.js.map +1 -0
  522. package/dist/spec/kernel/index.d.ts +8 -0
  523. package/dist/spec/kernel/index.d.ts.map +1 -0
  524. package/dist/spec/kernel/index.js +8 -0
  525. package/dist/spec/kernel/index.js.map +1 -0
  526. package/dist/spec/usecase/EmitTypes.d.ts +22 -0
  527. package/dist/spec/usecase/EmitTypes.d.ts.map +1 -0
  528. package/dist/spec/usecase/EmitTypes.js +182 -0
  529. package/dist/spec/usecase/EmitTypes.js.map +1 -0
  530. package/dist/spec/usecase/ValidateManifestsUseCase.d.ts +8 -0
  531. package/dist/spec/usecase/ValidateManifestsUseCase.d.ts.map +1 -0
  532. package/dist/spec/usecase/ValidateManifestsUseCase.js +101 -0
  533. package/dist/spec/usecase/ValidateManifestsUseCase.js.map +1 -0
  534. package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts +27 -0
  535. package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts.map +1 -0
  536. package/dist/spec/usecase/dto/ValidateManifestsRequest.js +2 -0
  537. package/dist/spec/usecase/dto/ValidateManifestsRequest.js.map +1 -0
  538. package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts +14 -0
  539. package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts.map +1 -0
  540. package/dist/spec/usecase/dto/ValidateManifestsResponse.js +2 -0
  541. package/dist/spec/usecase/dto/ValidateManifestsResponse.js.map +1 -0
  542. package/dist/spec/usecase/dto/index.d.ts +3 -0
  543. package/dist/spec/usecase/dto/index.d.ts.map +1 -0
  544. package/dist/spec/usecase/dto/index.js +3 -0
  545. package/dist/spec/usecase/dto/index.js.map +1 -0
  546. package/dist/spec/usecase/index.d.ts +10 -0
  547. package/dist/spec/usecase/index.d.ts.map +1 -0
  548. package/dist/spec/usecase/index.js +10 -0
  549. package/dist/spec/usecase/index.js.map +1 -0
  550. package/dist/testing/cases/before-hook.d.ts +4 -0
  551. package/dist/testing/cases/before-hook.d.ts.map +1 -0
  552. package/dist/testing/cases/before-hook.js +71 -0
  553. package/dist/testing/cases/before-hook.js.map +1 -0
  554. package/dist/testing/cases/corpus.d.ts +12 -0
  555. package/dist/testing/cases/corpus.d.ts.map +1 -0
  556. package/dist/testing/cases/corpus.js +91 -0
  557. package/dist/testing/cases/corpus.js.map +1 -0
  558. package/dist/testing/cases/policy.d.ts +74 -0
  559. package/dist/testing/cases/policy.d.ts.map +1 -0
  560. package/dist/testing/cases/policy.js +142 -0
  561. package/dist/testing/cases/policy.js.map +1 -0
  562. package/dist/testing/cases/printer.d.ts +4 -0
  563. package/dist/testing/cases/printer.d.ts.map +1 -0
  564. package/dist/testing/cases/printer.js +32 -0
  565. package/dist/testing/cases/printer.js.map +1 -0
  566. package/dist/testing/cases/report-view.d.ts +5 -0
  567. package/dist/testing/cases/report-view.d.ts.map +1 -0
  568. package/dist/testing/cases/report-view.js +33 -0
  569. package/dist/testing/cases/report-view.js.map +1 -0
  570. package/dist/testing/cases/requisition.d.ts +4 -0
  571. package/dist/testing/cases/requisition.d.ts.map +1 -0
  572. package/dist/testing/cases/requisition.js +38 -0
  573. package/dist/testing/cases/requisition.js.map +1 -0
  574. package/dist/testing/cases/search-places.d.ts +4 -0
  575. package/dist/testing/cases/search-places.d.ts.map +1 -0
  576. package/dist/testing/cases/search-places.js +60 -0
  577. package/dist/testing/cases/search-places.js.map +1 -0
  578. package/dist/testing/cases/stock.d.ts +4 -0
  579. package/dist/testing/cases/stock.d.ts.map +1 -0
  580. package/dist/testing/cases/stock.js +35 -0
  581. package/dist/testing/cases/stock.js.map +1 -0
  582. package/dist/testing/cases/store.d.ts +4 -0
  583. package/dist/testing/cases/store.d.ts.map +1 -0
  584. package/dist/testing/cases/store.js +100 -0
  585. package/dist/testing/cases/store.js.map +1 -0
  586. package/dist/testing/harness.d.ts +94 -0
  587. package/dist/testing/harness.d.ts.map +1 -0
  588. package/dist/testing/harness.js +168 -0
  589. package/dist/testing/harness.js.map +1 -0
  590. package/dist/testing/index.d.ts +37 -0
  591. package/dist/testing/index.d.ts.map +1 -0
  592. package/dist/testing/index.js +43 -0
  593. package/dist/testing/index.js.map +1 -0
  594. package/dist/testing/report.d.ts +15 -0
  595. package/dist/testing/report.d.ts.map +1 -0
  596. package/dist/testing/report.js +22 -0
  597. package/dist/testing/report.js.map +1 -0
  598. package/dist/web/createRestSurface.d.ts +7 -0
  599. package/dist/web/createRestSurface.d.ts.map +1 -0
  600. package/dist/web/createRestSurface.js +39 -0
  601. package/dist/web/createRestSurface.js.map +1 -0
  602. package/dist/web/index.d.ts +2 -0
  603. package/dist/web/index.d.ts.map +1 -0
  604. package/dist/web/index.js +2 -0
  605. package/dist/web/index.js.map +1 -0
  606. package/docs/adr/0008-structured-diagnostic-shape.md +2 -2
  607. package/docs/adr/0011-adapter-port-spec.md +2 -2
  608. package/docs/adr/0014-auth-better-auth-and-multi-tenant-mcp.md +21 -2
  609. package/docs/adr/0019-sealed-manifest-runtime-pipeline.md +5 -1
  610. package/docs/adr/0021-retire-starter-scaffolding.md +1 -1
  611. package/docs/adr/0022-caller-observed-version-occ.md +1 -1
  612. package/docs/adr/0024-manifest-native-schema-tables.md +2 -2
  613. package/docs/adr/0026-progressive-generate.md +36 -0
  614. package/docs/adr/0027-scheduled-procedure-triggers.md +31 -0
  615. package/docs/adr/0028-schema-ttl-expiry.md +33 -0
  616. package/docs/adr/0029-mcp-apps-interaction-contracts.md +324 -0
  617. package/docs/adr/0030-store.md +40 -0
  618. package/docs/adr/0031-host-cloud-core-contract.md +25 -0
  619. package/docs/adr/0032-store-centric-core-and-service-contract.md +361 -0
  620. package/docs/adr/0033-storage-converges-to-the-plan.md +92 -0
  621. package/docs/adr/0034-store-is-authored-as-sql.md +192 -0
  622. package/docs/adr/0035-sql-dialects.md +154 -0
  623. package/docs/adr/0036-host-and-dialect.md +65 -0
  624. package/docs/adr/0037-postgresql-is-the-reference-dialect.md +124 -0
  625. package/docs/adr/0038-bun-native-host.md +63 -0
  626. package/docs/adr/README.md +26 -8
  627. package/docs/adr/adr-lite-861-admin-webmcp.md +6 -0
  628. package/docs/adr/adr-lite-909-admin-ui-kit.md +1 -1
  629. package/docs/examples/README.md +16 -18
  630. package/docs/examples/commerce-inventory.md +481 -0
  631. package/docs/examples/commerce.md +254 -0
  632. package/docs/examples/guarded-api.md +238 -0
  633. package/docs/examples/intake-hooks.md +237 -0
  634. package/docs/examples/intake.md +127 -0
  635. package/docs/examples/legal-documents.md +218 -0
  636. package/docs/examples/procurement.md +215 -0
  637. package/docs/examples/publication.md +211 -0
  638. package/docs/examples/reference-service/.dev.vars.example +4 -0
  639. package/docs/examples/reference-service/.mantle/generated/mantle.ts +174 -0
  640. package/docs/examples/reference-service/.mantle/generated/plan.json +1936 -0
  641. package/docs/examples/reference-service/README.md +33 -0
  642. package/docs/examples/reference-service/manifests/catalog.yaml +103 -0
  643. package/docs/examples/reference-service/manifests/orders.yaml +120 -0
  644. package/docs/examples/reference-service/mantle.config.json +1 -0
  645. package/docs/examples/reference-service/package.json +27 -0
  646. package/docs/examples/reference-service/smoke.mjs +156 -0
  647. package/docs/examples/reference-service/src/handlers.ts +36 -0
  648. package/docs/examples/reference-service/src/index.ts +33 -0
  649. package/docs/examples/reference-service/src/service.ts +78 -0
  650. package/docs/examples/{host-minimal-worker → reference-service}/tsconfig.json +7 -2
  651. package/docs/examples/reference-service/wrangler.jsonc +26 -0
  652. package/docs/examples/reservation.md +142 -0
  653. package/docs/handbook/cloudflare/authentication.md +96 -299
  654. package/docs/handbook/cloudflare/chatgpt-sites.md +104 -15
  655. package/docs/handbook/cloudflare/deploy-and-operate.md +77 -71
  656. package/docs/handbook/cloudflare/media-r2.md +64 -187
  657. package/docs/handbook/cloudflare/service-entry.md +138 -0
  658. package/docs/handbook/concepts/authorization.md +104 -94
  659. package/docs/handbook/concepts/four-atoms.md +68 -144
  660. package/docs/handbook/concepts/lifecycle-and-locales.md +62 -114
  661. package/docs/handbook/concepts/mcp-and-agents.md +112 -117
  662. package/docs/handbook/concepts/procedures-and-triggers.md +126 -181
  663. package/docs/handbook/concepts/runtime-and-adapters.md +177 -156
  664. package/docs/handbook/concepts/views.md +97 -173
  665. package/docs/handbook/examples/hub.md +17 -6
  666. package/docs/handbook/guides/admin-ui.md +101 -96
  667. package/docs/handbook/guides/agent-setup.md +56 -71
  668. package/docs/handbook/guides/typed-queries.md +105 -111
  669. package/docs/handbook/navigation.json +8 -32
  670. package/docs/handbook/reference/authorization.md +52 -271
  671. package/docs/handbook/reference/diagnostics.md +69 -173
  672. package/docs/handbook/reference/features.md +48 -50
  673. package/docs/handbook/reference/manifest.md +56 -116
  674. package/docs/handbook/reference/procedure.md +92 -229
  675. package/docs/handbook/reference/schema.md +156 -215
  676. package/docs/handbook/reference/site-config.md +58 -211
  677. package/docs/handbook/reference/surface.md +69 -181
  678. package/docs/handbook/reference/trigger.md +73 -162
  679. package/docs/handbook/reference/view.md +140 -241
  680. package/docs/handbook/releases/index.md +58 -22
  681. package/docs/handbook/start/overview.md +59 -48
  682. package/docs/handbook/start/project-and-cli.md +127 -116
  683. package/docs/handbook/start/quickstart-worker.md +102 -151
  684. package/docs/skills/develop/SKILL.md +114 -232
  685. package/docs/skills/develop/mcp-app.md +79 -0
  686. package/docs/skills/integrate/SKILL.md +96 -0
  687. package/docs/skills/media-gc/SKILL.md +21 -10
  688. package/docs/skills/provision/SKILL.md +68 -162
  689. package/docs/skills/update/SKILL.md +33 -34
  690. package/docs/upgrade-0.1-to-0.2.md +211 -0
  691. package/package.json +87 -105
  692. package/dist/admin-ui.d.ts +0 -2
  693. package/dist/admin-ui.d.ts.map +0 -1
  694. package/dist/admin-ui.js +0 -2
  695. package/dist/admin-ui.js.map +0 -1
  696. package/dist/admin.d.ts +0 -2
  697. package/dist/admin.d.ts.map +0 -1
  698. package/dist/admin.js +0 -2
  699. package/dist/admin.js.map +0 -1
  700. package/dist/auth.d.ts +0 -2
  701. package/dist/auth.d.ts.map +0 -1
  702. package/dist/auth.js +0 -2
  703. package/dist/auth.js.map +0 -1
  704. package/dist/bun.d.ts +0 -2
  705. package/dist/bun.d.ts.map +0 -1
  706. package/dist/bun.js +0 -2
  707. package/dist/bun.js.map +0 -1
  708. package/dist/cli/harness.d.ts +0 -3
  709. package/dist/cli/harness.d.ts.map +0 -1
  710. package/dist/cli/harness.js +0 -214
  711. package/dist/cli/harness.js.map +0 -1
  712. package/dist/cli/skills.d.ts +0 -3
  713. package/dist/cli/skills.d.ts.map +0 -1
  714. package/dist/cli/skills.js +0 -128
  715. package/dist/cli/skills.js.map +0 -1
  716. package/dist/cloudflare.d.ts +0 -2
  717. package/dist/cloudflare.d.ts.map +0 -1
  718. package/dist/cloudflare.js +0 -2
  719. package/dist/cloudflare.js.map +0 -1
  720. package/dist/codegen/emitMantleModule.d.ts +0 -22
  721. package/dist/codegen/emitMantleModule.d.ts.map +0 -1
  722. package/dist/codegen/emitMantleModule.js +0 -291
  723. package/dist/codegen/emitMantleModule.js.map +0 -1
  724. package/dist/codegen.d.ts +0 -2
  725. package/dist/codegen.d.ts.map +0 -1
  726. package/dist/codegen.js +0 -2
  727. package/dist/codegen.js.map +0 -1
  728. package/dist/runtime-testing.d.ts +0 -2
  729. package/dist/runtime-testing.d.ts.map +0 -1
  730. package/dist/runtime-testing.js +0 -2
  731. package/dist/runtime-testing.js.map +0 -1
  732. package/dist/runtime.d.ts +0 -2
  733. package/dist/runtime.d.ts.map +0 -1
  734. package/dist/runtime.js +0 -2
  735. package/dist/runtime.js.map +0 -1
  736. package/dist/spec.d.ts +0 -2
  737. package/dist/spec.d.ts.map +0 -1
  738. package/dist/spec.js +0 -2
  739. package/dist/spec.js.map +0 -1
  740. package/dist/vercel-libsql.d.ts +0 -2
  741. package/dist/vercel-libsql.d.ts.map +0 -1
  742. package/dist/vercel-libsql.js +0 -2
  743. package/dist/vercel-libsql.js.map +0 -1
  744. package/dist/vercel.d.ts +0 -2
  745. package/dist/vercel.d.ts.map +0 -1
  746. package/dist/vercel.js +0 -2
  747. package/dist/vercel.js.map +0 -1
  748. package/dist/web.d.ts +0 -2
  749. package/dist/web.d.ts.map +0 -1
  750. package/dist/web.js +0 -2
  751. package/dist/web.js.map +0 -1
  752. package/docs/adapter-guide.md +0 -222
  753. package/docs/agent-prompts.md +0 -102
  754. package/docs/api-mcp-authorization.md +0 -5
  755. package/docs/assets/mantle-admin-developer.png +0 -0
  756. package/docs/assets/mantle-admin-operations.png +0 -0
  757. package/docs/assets/mantle-hero.jpg +0 -0
  758. package/docs/auth-hosting-model.md +0 -166
  759. package/docs/cloudflare-low-level-composition.md +0 -5
  760. package/docs/consumer-onboarding-audit.md +0 -65
  761. package/docs/deferred-lifecycle-queues.md +0 -5
  762. package/docs/design-atoms.md +0 -16
  763. package/docs/design-references/editorial-blog-2026-05-05.md +0 -218
  764. package/docs/direct-authoring.md +0 -5
  765. package/docs/examples/builtin-commerce.md +0 -269
  766. package/docs/examples/builtin-intake.md +0 -143
  767. package/docs/examples/builtin-legal-documents.md +0 -189
  768. package/docs/examples/builtin-procurement.md +0 -241
  769. package/docs/examples/builtin-publication.md +0 -241
  770. package/docs/examples/builtin-reservation.md +0 -149
  771. package/docs/examples/cf-primitives-commerce-inventory.md +0 -809
  772. package/docs/examples/cf-primitives-guarded-api.md +0 -429
  773. package/docs/examples/cf-primitives-intake-hooks.md +0 -319
  774. package/docs/examples/host-chatgpt-sites/.openai/hosting.json +0 -1
  775. package/docs/examples/host-chatgpt-sites/README.md +0 -70
  776. package/docs/examples/host-chatgpt-sites/drizzle/0000_sites_users.sql +0 -8
  777. package/docs/examples/host-chatgpt-sites/drizzle/0001_mantle.sql +0 -294
  778. package/docs/examples/host-chatgpt-sites/drizzle/0002_article_cover.sql +0 -5
  779. package/docs/examples/host-chatgpt-sites/drizzle/0003_store_instance_id.sql +0 -1
  780. package/docs/examples/host-chatgpt-sites/drizzle/meta/_journal.json +0 -1
  781. package/docs/examples/host-chatgpt-sites/manifests/site.yaml +0 -27
  782. package/docs/examples/host-chatgpt-sites/package.json +0 -1
  783. package/docs/examples/host-chatgpt-sites/public/site.css +0 -1
  784. package/docs/examples/host-chatgpt-sites/scripts/build.mjs +0 -13
  785. package/docs/examples/host-chatgpt-sites/scripts/check.mjs +0 -101
  786. package/docs/examples/host-chatgpt-sites/scripts/migration.mjs +0 -9
  787. package/docs/examples/host-chatgpt-sites/src/chatgpt-auth.ts +0 -63
  788. package/docs/examples/host-chatgpt-sites/src/index.ts +0 -46
  789. package/docs/examples/host-chatgpt-sites/src/mcp.ts +0 -49
  790. package/docs/examples/host-chatgpt-sites/src/media.ts +0 -109
  791. package/docs/examples/host-chatgpt-sites/src/r2-lab.ts +0 -38
  792. package/docs/examples/host-chatgpt-sites/src/storage-fingerprint.json +0 -1
  793. package/docs/examples/host-chatgpt-sites/src/web.ts +0 -35
  794. package/docs/examples/host-chatgpt-sites/tsconfig.json +0 -1
  795. package/docs/examples/host-chatgpt-sites/wrangler.jsonc +0 -10
  796. package/docs/examples/host-local-admin-otp/.dev.vars.example +0 -3
  797. package/docs/examples/host-local-admin-otp/README.md +0 -80
  798. package/docs/examples/host-local-admin-otp/ensure-dev-vars.mjs +0 -5
  799. package/docs/examples/host-local-admin-otp/manifests/site.yaml +0 -25
  800. package/docs/examples/host-local-admin-otp/package.json +0 -29
  801. package/docs/examples/host-local-admin-otp/public/.gitkeep +0 -1
  802. package/docs/examples/host-local-admin-otp/smoke.mjs +0 -141
  803. package/docs/examples/host-local-admin-otp/src/index.ts +0 -54
  804. package/docs/examples/host-local-admin-otp/tsconfig.json +0 -17
  805. package/docs/examples/host-local-admin-otp/wrangler.jsonc +0 -23
  806. package/docs/examples/host-minimal-worker/README.md +0 -41
  807. package/docs/examples/host-minimal-worker/manifests/site.yaml +0 -25
  808. package/docs/examples/host-minimal-worker/package.json +0 -26
  809. package/docs/examples/host-minimal-worker/smoke.mjs +0 -23
  810. package/docs/examples/host-minimal-worker/src/index.ts +0 -4
  811. package/docs/examples/host-minimal-worker/wrangler.jsonc +0 -22
  812. package/docs/handbook/chatgpt-sites/equipment-checkout.md +0 -231
  813. package/docs/handbook/chatgpt-sites/host-reference.md +0 -113
  814. package/docs/handbook/chatgpt-sites/index.md +0 -123
  815. package/docs/handbook/cloudflare/bindings.md +0 -298
  816. package/docs/handbook/cloudflare/conventional-worker.md +0 -162
  817. package/docs/handbook/cloudflare/deferred-hooks-queues.md +0 -170
  818. package/docs/handbook/cloudflare/low-level-composition.md +0 -169
  819. package/docs/handbook/cloudflare/public-web.md +0 -144
  820. package/docs/handbook/cloudflare/site-chrome.md +0 -75
  821. package/docs/handbook/examples/commerce-transaction.md +0 -11
  822. package/docs/handbook/examples/commerce.md +0 -11
  823. package/docs/handbook/examples/guarded-api.md +0 -10
  824. package/docs/handbook/examples/intake-form.md +0 -12
  825. package/docs/handbook/examples/intake-hooks.md +0 -11
  826. package/docs/handbook/examples/legal-documents.md +0 -10
  827. package/docs/handbook/examples/procurement-approvals.md +0 -10
  828. package/docs/handbook/examples/publication.md +0 -10
  829. package/docs/handbook/examples/reservation.md +0 -10
  830. package/docs/handbook/start/quickstart-admin.md +0 -50
  831. package/docs/labels.md +0 -71
  832. package/docs/media-uploads.md +0 -5
  833. package/docs/migration-0.1.2.md +0 -13
  834. package/docs/performance-harness.md +0 -228
  835. package/docs/release-process.md +0 -244
  836. package/docs/schema-indexes.md +0 -5
  837. package/docs/sealed-pipeline-ownership.md +0 -101
  838. package/docs/skills/plugin/SKILL.md +0 -132
  839. package/docs/skills/theme/SKILL.md +0 -77
  840. package/docs/spec-only-host-adoption.md +0 -157
  841. package/docs/transaction-patterns.md +0 -5
  842. package/skills/README.md +0 -125
  843. package/skills/develop/SKILL.md +0 -250
  844. package/skills/install/SKILL.md +0 -149
  845. package/skills/media-gc/SKILL.md +0 -85
  846. package/skills/plugin/SKILL.md +0 -132
  847. package/skills/provision/SKILL.md +0 -194
  848. package/skills/theme/SKILL.md +0 -77
  849. package/skills/update/SKILL.md +0 -51
@@ -1,250 +0,0 @@
1
- ---
2
- name: develop
3
- description: Work on any Mantle project using the Core SDK contract. Use for manifest, runtime, content model, handler, adapter, validation, and MCP work after a project already exists.
4
- metadata:
5
- source: "@aotter/mantle"
6
- sourcePath: docs/skills/develop/SKILL.md
7
- applies_to: mantle grammar v0.1
8
- projection: project
9
- ---
10
-
11
- # Mantle Develop
12
-
13
- This is the Core workflow skill for an existing Mantle project. Repo-local
14
- copies are byte-for-byte projections from the installed package; its embedded
15
- docs govern runtime/API behavior.
16
-
17
- ## First Read
18
-
19
- 1. `package.json` for the installed `@aotter/mantle*` versions.
20
- 2. The manifest directory selected by the project scripts, the actual host
21
- entry and adapter config (for example `wrangler.jsonc` on Cloudflare).
22
- Read custom Auth construction there when present.
23
- 3. Optional local context: `.mantle/plugins.json`, `.mantle/plugins.lock.json`,
24
- and `.mantle/recipes/`. Legacy launch/handoff files are context only.
25
- 4. Installed Core docs in `node_modules/@aotter/mantle/docs/`.
26
-
27
- If `node_modules/` is missing, run `pnpm install --frozen-lockfile` before
28
- falling back to remote docs. Remote docs must use a tag matching the installed
29
- version; never use `develop` branch docs for a versioned consumer project.
30
-
31
- ## Existing Examples
32
-
33
- Read installed `docs/handbook/start/project-and-cli.md` and
34
- `docs/examples/README.md`. Use `docs/examples/host-minimal-worker/` for Spec +
35
- adapter without Admin. Read `docs/examples/host-local-admin-otp/` only when the
36
- project already has Admin or the human asked for Dev UI — that path is opt-in.
37
- Ingest only `docs/examples/builtin-*.md` Manifests as grammar for new domains.
38
- Read `docs/examples/cf-primitives-*.md` before inventing Durable Object, Queue,
39
- cron, or `ref` handler patterns.
40
- References are test/documentation, not a Starter or a fixed application shape.
41
-
42
- Public rendering is opt-in consumer wiring: `mountPublicRoutes`, a
43
- `TemplateRegistry`, and a matching `publicPathResolver` must agree on the
44
- exposed collections. Do not auto-publish every Schema. Applications document their mounted URL surface in their own README.
45
- Import the registry and resolver from `@aotter/mantle/web`; Core runtime does
46
- not install public rendering by itself.
47
-
48
- ## Authoring CLI
49
-
50
- Use the project's scripts first; applications use the shipping
51
- `mantle` authoring CLI from `@aotter/mantle`. Ask the installed CLI for its
52
- command list instead of trusting one copied into prose — the surface is
53
- version-matched and changes between releases:
54
-
55
- ```bash
56
- pnpm exec mantle --help
57
- pnpm validate
58
- ```
59
-
60
- This CLI validates and derives artifacts from application-authored manifests.
61
- It does not create projects, business schemas or a visitor homepage. There is
62
- no `mantle create` / `mantle update` happy path.
63
-
64
- ## Core Model
65
-
66
- Mantle exposes exactly four declarative atoms:
67
-
68
- | Atom | Purpose |
69
- |---|---|
70
- | `Schema` | Stored entity/table shape. |
71
- | `View` | Read/query surface. |
72
- | `Procedure` | Typed mutation or operation. |
73
- | `Trigger` | HTTP/lifecycle/MCP invocation binding. |
74
-
75
- Do not invent manifest kinds such as `Form`, `Feature`, `Workflow`, or
76
- `Membership`. Compose those from the four atoms plus TypeScript only where
77
- the atoms cannot express the behavior.
78
-
79
- ## Choose the manifest feature first
80
-
81
- Read installed `docs/handbook/reference/features.md` to map the requested
82
- behavior to fields before adding handlers or a custom UI. For host-only reads,
83
- `surface: internal` keeps a View out of REST/MCP/Admin while preserving its
84
- `requires` checks. Read `docs/handbook/guides/typed-queries.md` for generated
85
- View params/results, indexed entry reads, and their authorization boundary.
86
- Use `from` for portable typed projections; SQL is for queries needing native
87
- SQLite and produces `unknown` row types.
88
-
89
- For Admin labels, inputs, collection columns/tabs, reports or action buttons,
90
- read `docs/handbook/guides/admin-ui.md`. Prefer supported Schema/Procedure/View
91
- metadata and `uiSchema` before custom frontend code. These control the Admin
92
- console, not the visitor frontend. Regenerate and verify the actual console;
93
- never edit generated `public/_mantle/admin/` assets.
94
-
95
- ## Content Edits
96
-
97
- - Follow the actual frontend content source. Use Admin or Staff MCP for
98
- runtime-backed content. Do not invent an overlay/seed homepage.
99
- - For a new submitted field, update the stored `Schema` and the public
100
- `Procedure.spec.input` before any form UI. Keep public mutation inputs
101
- `additionalProperties: false`; otherwise JSON Schema's default may strip an
102
- undeclared field while returning success.
103
- - Use `lifecycle: operational` for submissions, inquiries, orders, and other
104
- Procedure-created operational records that staff inspect or correct. Reserve
105
- `publishing` for content a person stages and publishes.
106
- - Lifecycle `before_update` / `after_update` hooks also fire for unpublish,
107
- archive, and every other status transition whose target is not `published`;
108
- do not use them for edit-only work.
109
- - When a form's fixed option values change, update the stored Schema and public
110
- Procedure input `enum` together. Keep translated labels in the frontend content source;
111
- Admin and Staff MCP derive their typed controls from the manifest values.
112
- - If the application has a `page` Schema with sections, update its declared
113
- section properties when adding display fields; an undeclared property has no
114
- runtime-backed Admin or Staff MCP path.
115
- - Update notification handlers when they need the new field. Test the stored
116
- entry, not only the HTTP `{ "ok": true }` response.
117
-
118
- ## Locales
119
-
120
- - `data.locale` is reserved for `localized: true` Schemas. A non-localized
121
- Schema must use a domain field such as `replyLocale`.
122
- - Use a standalone localized Schema only for independent locale rows. For
123
- versions of one entity, use a non-localized parent plus a localized child
124
- with `translates: { parent, on }`. The child must own at least one field
125
- besides `locale` and the join field.
126
- - Parallel locale blocks must keep field names, option values, step IDs, and
127
- result keys identical; translate display strings only.
128
- - `siteDefaults.origin`, `siteDefaults.locales`, and `siteDefaults.icons` are
129
- code-owned and boot-synced. The icon list is shared by browser favicons,
130
- Admin chrome, and MCP `serverInfo.icons`; keep its static files under
131
- `public/`. Brand, title, and description seed once, then change through site
132
- settings.
133
- - When changing an existing collection from `[slug]` to `[slug, locale]`,
134
- boot with a Mantle version that reconciles obsolete unique indexes and test
135
- the same slug in two locales. Do not patch D1 manually.
136
-
137
- ## Adapter Boundary
138
-
139
- The runtime is adapter-neutral. A `MantleStorageAdapter` prepares the compiled
140
- plan into semantic storage ports; `createMantleRuntime` binds that prepared
141
- storage and selected capabilities. Database drivers and asset serving belong
142
- to the host/optional composition. Follow the installed adapter guide.
143
-
144
- Do not assume Cloudflare unless the project imports `@aotter/mantle/cloudflare`
145
- or its adapter config is visible. A future Netlify adapter should satisfy the
146
- same Core workflow through its own ports and provider setup.
147
-
148
- Site code is a consumer of this abstraction. Use Manifests, runtime use cases,
149
- `runtime.entries`, and optional `runtime.siteConfig`; do not query Mantle-owned `entries` or
150
- `site_config`, reach through deprecated `runtime.db`, copy generated-column
151
- names, or construct SDK KV keys. Cloudflare bindings belong only at the
152
- composition root. If a normal feature cannot be expressed through a
153
- purpose-shaped surface, treat that as a Core abstraction gap instead of
154
- teaching the project Mantle internals.
155
-
156
- ## Auth Composition
157
-
158
- Admin is opt-in. A project without `@aotter/mantle-admin-ui` is complete.
159
- When Admin is installed, `createMantleWorker({ auth })` with `email-otp`
160
- and `ConsoleEmailSender` is the local human path (OTP in wrangler logs).
161
- That override owns Auth construction; Core still owns `/admin` and
162
- `/api/auth/*`. Admin also requires wrangler `assets.directory=./public`
163
- and an `ASSETS` binding. A white screen at `/admin` with HTML 200 and
164
- `/_mantle/admin/assets/*` 404 is a missing assets binding, not a missing
165
- frontend build.
166
-
167
- Conventional Cloudflare projects that do not replace Auth declare
168
- `MANTLE_AUTH_MODE=hosted` or `self-managed`; Core owns that standard
169
- composition and rejects partial or mixed bindings. Preserve the explicit
170
- mode recorded in Worker config, keep provider secrets out of source, and
171
- do not infer a mode from whichever credentials happen to be present.
172
-
173
- ## Performance Loop
174
-
175
- After changing a Schema index, View filter/order, public API, or rendered page,
176
- run the project's index check when present. Otherwise run the installed
177
- harness directly:
178
-
179
- ```bash
180
- pnpm exec mantle-harness indexes --require-public --format text
181
- ```
182
-
183
- The check uses crowded real SQLite and the shipped compiler. It complements
184
- `pnpm validate`; it does not replace correctness validation. Declare the
185
- smallest ordered index justified by the measured path and respect SQLite's
186
- leftmost-prefix rule; which columns an index may name and how a public View's
187
- status predicate shapes it is in the handbook (`reference/schema.md#indexes`).
188
- Do not change user-visible filter or ordering semantics
189
- just to make the gate pass. Do not add every permutation or cache every read.
190
-
191
- For relevant Cloudflare serving changes, start the project and sample the
192
- actual routes:
193
-
194
- ```bash
195
- pnpm exec mantle-harness http \
196
- --base-url http://127.0.0.1:8787 \
197
- --route page=/en/example \
198
- --rounds 20 --warmup 2 --format text
199
- ```
200
-
201
- Prefer query plan, query count, `rows_read` scaling, and cache MISS/HIT
202
- evidence. Do not create CI gates from absolute local milliseconds.
203
-
204
- ## Loop
205
-
206
- ```bash
207
- pnpm install --frozen-lockfile
208
- pnpm validate
209
- pnpm check:indexes # when the project provides it
210
- pnpm typecheck
211
- pnpm check
212
- ```
213
-
214
- Use `pnpm dev` for local preview when the project provides it.
215
-
216
- ## Connect a Local MCP Client
217
-
218
- Start the project with `pnpm dev`, then use the exact local origin it prints.
219
- The conventional Cloudflare adapter exposes:
220
-
221
- - `http://localhost:8787/mcp` for public tools;
222
- - `http://localhost:8787/mcp/staff` for authenticated authoring tools.
223
-
224
- Prefer the client's native remote HTTP + OAuth support. Use a standard
225
- HTTP-to-stdio bridge such as `npx -y mcp-remote <url>` only when the client
226
- accepts stdio MCP servers but cannot connect to remote HTTP directly. Mantle
227
- does not own a separate local proxy or an auth-bypass mode.
228
-
229
- Before changing client config, confirm the Worker is reachable:
230
-
231
- ```bash
232
- curl -i http://localhost:8787/mcp
233
- ```
234
-
235
- An OAuth-protected endpoint should respond with `401` and a
236
- `WWW-Authenticate` resource-metadata challenge before sign-in. After
237
- connecting, inspect `tools/list`; make one read-only `query_view_*` call when
238
- available before invoking any mutation. Use project-scoped client config when
239
- the client offers it, and never commit OAuth tokens or the bridge's token
240
- cache.
241
-
242
- ## Rules
243
-
244
- - Keep content models in the configured manifest directory; its immediate
245
- `.yaml` and `.yml` files are loaded together.
246
- - Add TypeScript only for handlers, rendering, adapter wiring, or real behavior.
247
- - Do not write directly to D1, KV, Postgres, or object storage for content
248
- authoring. Use runtime use cases, admin APIs, or Staff MCP.
249
- - Do not commit provider secrets.
250
- - If the work is an installable capability, switch to `mantle:plugin`.
@@ -1,149 +0,0 @@
1
- ---
2
- name: mantle
3
- description: Author a new Mantle application directly from version-matched SDK docs, or continue an existing project. Use when asked to install Mantle, build a Mantle application, or open a Mantle repository.
4
- metadata:
5
- source: "@aotter/mantle"
6
- sourcePath: skills/install/SKILL.md
7
- applies_to: mantle grammar v0.1
8
- projection: plugin
9
- projectionReason: Creates a new project; nothing to project into an existing one.
10
- ---
11
-
12
- # Mantle
13
-
14
- Mantle is an embeddable manifest engine. The application owns its source and
15
- provider configuration. There is no Starter/type picker or `mantle create`.
16
- Do not use the SDK checkout as the application, copy an old Starter tree, or
17
- turn `generate` into implicit scaffolding.
18
- A same-version `mantle-starters` tag is not required; do not wait for one.
19
-
20
- ## Locate the version-matched instructions
21
-
22
- `npx skills add aotter/mantle` installs this brief, not the SDK,
23
- a project, or the handbook. Read the path printed by the installer (Codex's
24
- project-local path is `.agents/skills/mantle/SKILL.md`); `metadata.sourcePath`
25
- is repository provenance, not a consumer path. A repository install follows
26
- the selected Git ref and does not pin an npm release.
27
-
28
- After selecting the host and exact version, install `@aotter/mantle` locally
29
- with the selected optional packages. All `docs/...` paths below then mean
30
- `node_modules/@aotter/mantle/docs/...`; package skills are under
31
- `node_modules/@aotter/mantle/skills/`. Read that package's
32
- `skills/install/SKILL.md` before authoring: it supersedes this bootstrap copy.
33
- Use the new application's installation, never another project's `node_modules`
34
- or an SDK checkout packing harness, to resolve these paths.
35
- Before reading a handbook page, verify the version in that application's
36
- `node_modules/@aotter/mantle/package.json` against its lockfile and confirm
37
- the page exists under the same package directory. If the package is missing or
38
- the versions differ, fix the installation first; do not substitute a nearby
39
- checkout's docs or another project's `node_modules`.
40
- If the user requested a prerelease, resolve that channel explicitly; `latest`
41
- need not contain prerelease features. Never mix versioned npm code with branch
42
- docs. No local CLI exists until the package is installed.
43
-
44
- ## New application
45
-
46
- 1. Determine the actual host and required surfaces from the request. Reuse an
47
- existing application when available; otherwise work in its own directory.
48
- Do not assume Cloudflare, public HTML or Admin is required. Check Node 22+
49
- and pnpm 9+ for these SDK examples. A ChatGPT Site is not a conventional
50
- Cloudflare Worker deployment; use the installed
51
- `docs/handbook/chatgpt-sites/index.md` integration guide and
52
- `docs/examples/host-chatgpt-sites/` runnable reference when selected.
53
- 2. Choose the requested exact SDK version, or resolve the intended release
54
- channel once. Pin all selected `@aotter/mantle*` dependencies to that same
55
- version. Install only the adapter/optional packages the application needs.
56
- If a global scope registry overrides public npmjs, use a project-owned
57
- `.npmrc` with `@aotter:registry=https://registry.npmjs.org/`.
58
- 3. Use the host and surfaces already established in step 1; ask only for
59
- information still missing. Read `docs/handbook/start/overview.md` and
60
- `docs/handbook/reference/features.md`, then select the matching path:
61
- - Spec + generate / embed Runtime — `docs/handbook/start/project-and-cli.md`.
62
- - Adapter without Admin — `docs/examples/host-minimal-worker/`.
63
- - Opt-in Admin / Dev UI — only when a human needs a console: interview
64
- the bootstrap owner email, then `docs/examples/host-local-admin-otp/`
65
- (`pnpm install && pnpm generate && pnpm dev`, `/admin/sign-in`, OTP
66
- in wrangler logs). Admin needs `@aotter/mantle-admin`,
67
- `@aotter/mantle-admin-ui`, wrangler `ASSETS` on `./public`, and
68
- `createAuth` email-otp + `ConsoleEmailSender`. Do not Vite-build Admin.
69
- - ChatGPT Sites with Admin/D1/R2 — follow
70
- `docs/examples/host-chatgpt-sites/`, not the email-OTP Worker example.
71
- Copy it outside the SDK checkout, pin its `@aotter/mantle*` dependencies
72
- to the selected exact version, then `npm install`,
73
- `npx mantle validate --phase deploy`, `npm run generate`, `npm run check`,
74
- `npx wrangler d1 migrations apply DB --local`,
75
- `npm run dev -- --port 4174`, and `npm test` in a second terminal.
76
- Preserve its Sites-owned identity ingress and hosting manifest; author the
77
- user's Schema/View/Procedure/Trigger, then review migrations, media policy
78
- and the local/production smoke gates. Sites provisions and deploys; never
79
- `wrangler deploy` a Site. Request both D1 and R2 when uploads are in scope.
80
- Browser Admin WebMCP and Sites-session `/api/mcp/staff` do not enable remote staff OAuth MCP.
81
- At handoff, show the owner where Admin WebMCP and the public/staff MCP
82
- endpoints appear, and state which are usable from the browser versus a
83
- remote connector.
84
- - ChatGPT Sites with custom business rules or an external callback — the
85
- runnable reference covers builtin content only. For application-owned
86
- operational state, `handler: { kind: ref }` Procedures, staff-only SQL
87
- Views, staff MCP Triggers with `requires.auth`, and outbound webhooks
88
- called from handler code, follow
89
- `docs/handbook/chatgpt-sites/equipment-checkout.md`. It is an implementation
90
- guide, not a shipped app: keep Mantle-owned Schema tables and
91
- application-owned tables separate, and give every application table a
92
- reviewed migration.
93
- - Grammar — `docs/examples/README.md`. Copy `builtin-*` Manifests directly.
94
- Read `cf-primitives-*` when the request needs Durable Objects, Queues,
95
- cron, payment-provider callbacks, or API-key and entitlement guards;
96
- those carry `ref` handlers and are not Builder-ingestible.
97
- None of these is a template to install wholesale. Other hosts use the
98
- embedded adapter guides. Author package scripts, manifests, entry and
99
- configuration for the user's requirements. No default notes model, home
100
- page, icon, launch metadata or visitor frontend is required.
101
- 4. Compile and verify using the application's commands. The fundamental CLI
102
- sequence is:
103
-
104
- ```sh
105
- pnpm exec mantle generate
106
- pnpm exec mantle generate --check
107
- pnpm exec mantle validate
108
- pnpm exec mantle skills
109
- pnpm exec mantle skills --check
110
- ```
111
-
112
- Run the project's TypeScript check and start its actual local server. Probe
113
- a route the application declares. An API-only or adapter-only project may
114
- correctly return 404 at `/` and have no Admin. When Admin was requested,
115
- probe `/admin/sign-in` and a `/_mantle/admin/assets/*` URL — both must be
116
- 200. A white screen is an assets 404, not a missing frontend build.
117
- Conventional Auth routes may return `503 setup_incomplete` until that mode
118
- is configured; the local OTP path replaces construction instead. Do not
119
- introduce an auth bypass to make smoke pass.
120
-
121
- Commit the resolved lockfile in the application's normal workflow; subsequent
122
- installs use `pnpm install --frozen-lockfile`. Do not initialize/push a remote,
123
- provision resources, deploy or commit secrets as part of local verification.
124
-
125
- ## Existing application
126
-
127
- Read package.json, lockfile, actual entry, manifest files, provider config and
128
- project instructions. `.mantle/launch-state.json`, features or handoff files
129
- are optional legacy context, never prerequisites. Preserve them and user code.
130
- Install the frozen dependency graph, project installed Core skills, then read
131
- those skills and embedded docs. Never apply develop docs to an older package.
132
- Use the installed `mantle --help` and the project's scripts as authority.
133
-
134
- For a legacy pre-stable project, retain its pinned behavior until an explicit
135
- upgrade is requested. Do not rewrite provider identities, delete metadata or
136
- fetch a nonexistent new Starter tag. SDK upgrades follow the update skill, not
137
- a bundle comparison command.
138
-
139
- ## Ship and report
140
-
141
- When deployment is requested, read
142
- `node_modules/@aotter/mantle/skills/provision/SKILL.md` (not projected by
143
- `mantle skills`) and follow that version-matched skill and the
144
- observed host configuration. Legacy Landing remains a pre-stable product; it
145
- is not a launch dependency for new Core projects.
146
-
147
- Report the project path, exact SDK version, local URL/HTTP result and checks,
148
- plus any genuinely missing auth/provider setup. Do not claim a working homepage
149
- or authenticated MCP based only on successful generation.
@@ -1,85 +0,0 @@
1
- ---
2
- name: media-gc
3
- description: Audit and safely remove stale, uncommitted public media uploads from a Mantle Cloudflare R2 bucket. Use when a Mantle operator asks to inspect or clean orphan media objects left after create_media_upload without commit_media_upload.
4
- metadata:
5
- source: "@aotter/mantle"
6
- sourcePath: docs/skills/media-gc/SKILL.md
7
- applies_to: mantle grammar v0.1
8
- projection: package
9
- projectionReason: Destructive remote object deletion and Cloudflare-specific; opt-in only.
10
- ---
11
-
12
- # Mantle Media GC
13
-
14
- Use the connected Cloudflare API. Audit by default; delete only the exact
15
- objects approved by the user.
16
-
17
- ## Preflight
18
-
19
- 1. Read the project's Wrangler config and Mantle config. Resolve the R2 bucket
20
- binding, bucket name, and declared public media purpose names.
21
- 2. Confirm the exact Cloudflare account and bucket. If either is ambiguous,
22
- ask; never choose by name similarity.
23
- 3. Use the Cloudflare OpenAPI search before execution to resolve the current
24
- R2 List Objects and Delete Objects endpoints. If the connected account lacks
25
- access, stop. Do not create, request, or store credentials.
26
- 4. Stop when the project has no public R2 media binding or no declared purpose.
27
-
28
- ## Audit
29
-
30
- For each declared purpose, list up to 1,000 objects per page under the exact
31
- `<purpose>/` prefix. Use the API cursor until `is_truncated` is false.
32
-
33
- An object is a deletion candidate only when all conditions hold:
34
-
35
- - `last_modified` is more than 24 hours old;
36
- - `custom_metadata.committedAt` is absent or empty;
37
- - the key matches the exact Mantle layout
38
- `<purpose>/<group>/(primary|alternate|fallback).(png|jpg|webp|avif|gif|svg)`,
39
- where `<purpose>` is declared by this project and `<group>` contains only
40
- letters, digits, `_`, or `-`.
41
-
42
- Skip committed, unknown-prefix, unprefixed, malformed, or ambiguous objects.
43
- Delete only an uncommitted variant, never its whole group.
44
-
45
- Report the account, bucket, purpose prefixes, UTC cutoff, candidate object and
46
- group counts, total bytes, skipped count, and a SHA-256 digest of the sorted
47
- `key + etag` candidate set. Do not print object keys, upload group IDs,
48
- filenames, public URLs, signed URLs, or secrets.
49
-
50
- ## Apply
51
-
52
- 1. Show the audit summary and get explicit confirmation for that exact account,
53
- bucket, cutoff, count, byte total, and candidate-set digest.
54
- 2. Re-run the complete audit with the same UTC cutoff. If the candidate count,
55
- bytes, or digest changed, stop and present the new audit for confirmation.
56
- 3. Call Delete Objects with JSON arrays of exact keys, at most 1,000 keys per
57
- request. Never send the `prefix` query parameter: an empty prefix can empty
58
- the bucket.
59
- 4. Do not automatically retry failed keys. Report safe API error codes and
60
- counts; a later invocation can audit and retry what remains.
61
- 5. Re-list every inspected purpose prefix and report the remaining candidate
62
- count and bytes.
63
-
64
- ## Don't
65
-
66
- - Don't create a Worker, Cron Trigger, lifecycle rule, D1 table, or local script.
67
- - Don't use prefix deletion or empty-bucket operations.
68
- - Don't delete private-media buckets or objects outside declared purpose
69
- prefixes.
70
- - Don't treat missing pagination pages, metadata, or permissions as an empty
71
- result.
72
-
73
- ## Diagnostics
74
-
75
- | Symptom | Action |
76
- |---|---|
77
- | Multiple matching accounts or buckets | Stop and ask the user to select the exact target. |
78
- | A page is truncated without a cursor | Stop; do not delete from a partial audit. |
79
- | A candidate has an unexpected key or metadata shape | Skip it and include it only in the aggregate skipped count. |
80
- | A delete request partially fails | Report safe error codes and leave the remaining objects for a later audit. |
81
-
82
- ## When You're Done
83
-
84
- Return whether the run was audit-only or applied, the aggregate before/after
85
- counts and bytes, and any safely redacted failures.
@@ -1,132 +0,0 @@
1
- ---
2
- name: plugin
3
- description: Discover, plan, apply, and verify Mantle marketplace plugins through the Core SDK contract. Use when the user wants to add an installable capability without hand-planning provisioning steps.
4
- metadata:
5
- source: "@aotter/mantle"
6
- sourcePath: docs/skills/plugin/SKILL.md
7
- applies_to: mantle grammar v0.1
8
- projection: project
9
- ---
10
-
11
- # Mantle Plugin
12
-
13
- Mantle plugins are Core SDK capability packages. They are not application
14
- scaffolds (retired in ADR-0021) and they are not provider provisioning scripts.
15
-
16
- A plugin may contribute:
17
-
18
- - manifests: `Schema`, `View`, `Procedure`, `Trigger`;
19
- - handler source or handler registration notes;
20
- - site defaults or media policy additions;
21
- - expected HTTP, admin, and MCP surfaces;
22
- - adapter capability requirements and provider setup notes.
23
-
24
- ## User Install Entry
25
-
26
- The user-facing install path is:
27
-
28
- ```txt
29
- Use repo-local mantle:plugin to install <plugin slug or recipe URL> in this repo.
30
- Use repo-local mantle:plugin to update <plugin id> in this repo.
31
- Use repo-local mantle:plugin to remove <plugin id> from this repo.
32
- ```
33
-
34
- There is no `mantle plugin add` CLI yet. Do not invent one. Install from a
35
- marketplace entry, plugin package, or recipe URL that declares enough data for
36
- an agent to apply the capability deterministically.
37
-
38
- A valid marketplace entry must include:
39
-
40
- - plugin id, title, source, and version;
41
- - supported Mantle version range;
42
- - files, manifests, handlers, routes, MCP tools, and admin surfaces it adds;
43
- - adapter capabilities and provider resources it requires;
44
- - required env vars and secrets, without secret values;
45
- - verification commands and expected surfaces.
46
-
47
- If the marketplace page is only marketing copy or lacks an install recipe,
48
- stop and ask for the recipe instead of guessing.
49
-
50
- ## First Read
51
-
52
- 1. `package.json` for Mantle version and adapter package.
53
- 2. The manifest directory selected by project scripts for current atom names
54
- and route/tool collisions.
55
- 3. The actual host entry and its handler, template and port registrations;
56
- `src/mantle/config.ts` and `src/mantle/handlers/` are conventions, not required paths.
57
- 4. `.mantle/plugins.json` and `.mantle/plugins.lock.json` if present.
58
- 5. `.mantle/launch-state.json` only as context, not as plugin authority.
59
-
60
- Read version-matched contracts under `node_modules/@aotter/mantle/docs/`,
61
- starting with `handbook/reference/features.md`. Plugin recipes cannot override
62
- the installed grammar.
63
-
64
- ## Plan First
65
-
66
- Before applying any plugin, produce a plan:
67
-
68
- - files to add or change;
69
- - atoms to add and their names;
70
- - HTTP routes and MCP tools that will appear;
71
- - required runtime ports;
72
- - adapter-specific resources, env vars, and secrets;
73
- - checks to run.
74
-
75
- If the plugin needs a capability the current adapter does not expose, stop
76
- with the missing capability instead of inventing provider steps.
77
-
78
- ## Apply
79
-
80
- Apply the smallest deterministic diff. Do not run arbitrary install scripts
81
- from a plugin package. Copy declared files, wire declared handlers, update the
82
- plugin ledger, then validate.
83
-
84
- Suggested ledger paths:
85
-
86
- ```txt
87
- .mantle/plugins.json
88
- .mantle/plugins.lock.json
89
- ```
90
-
91
- Keep optional legacy launch files such as `.mantle/features.json` separate from
92
- plugin state. They are not the Core plugin ledger.
93
-
94
- ## Update
95
-
96
- Compare the installed lock entry against the marketplace entry or recipe URL.
97
- Apply only the declared version diff, update `.mantle/plugins.lock.json`, then
98
- run the same verification checks.
99
-
100
- ## Remove
101
-
102
- Use the lock entry as the removal manifest. Delete only files and atoms owned
103
- by that plugin, unwind handler registrations it added, remove its ledger entry,
104
- then validate. If another plugin or local code depends on a removed atom, stop
105
- and report the dependency instead of deleting through it.
106
-
107
- ## Verify
108
-
109
- Use the project's validation and typecheck scripts when present. Regenerate
110
- the plan after manifest changes before probing the running host:
111
-
112
- ```bash
113
- pnpm exec mantle validate
114
- pnpm exec mantle generate
115
- pnpm exec mantle generate --check
116
- # Run the project's TypeScript check and restart its local server.
117
- ```
118
-
119
- Then verify the plugin's declared surfaces:
120
-
121
- - public Views via `GET /api/views/<name>`, staff Views via authenticated
122
- Admin/staff MCP, and internal Views through the host binding;
123
- - HTTP Trigger path for public writes;
124
- - Staff/Public MCP `tools/list` for MCP Trigger or Schema-derived tools;
125
- - adapter resource presence when the plugin requires optional ports.
126
-
127
- ## Don't
128
-
129
- - Don't treat an application template as a plugin.
130
- - Don't assume Cloudflare; inspect the active adapter and capability ports.
131
- - Don't create a second skill namespace for host-specific plugins.
132
- - Don't commit secrets. Provider secrets stay in the platform secret store.