@aotter/mantle 0.1.5-alpha.1 → 0.2.0-alpha.2

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 +592 -0
  9. package/dist/admin/createAdminSurface.js.map +1 -0
  10. package/dist/admin/developerConsole.d.ts +266 -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 +38 -0
  23. package/dist/admin/procedureFlow.d.ts.map +1 -0
  24. package/dist/admin/procedureFlow.js +188 -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 +129 -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 +508 -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 +353 -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 +119 -311
  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,157 +0,0 @@
1
- # Spec-only adoption in an existing host
2
-
3
- An existing application can reuse Mantle's Schema grammar and validation by
4
- consuming the published `@aotter/mantle-spec` package, without running Mantle
5
- Runtime. This Spec-only path is allowed by
6
- [ADR-0019](adr/0019-sealed-manifest-runtime-pipeline.md), not a new adapter,
7
- manifest grammar, or fork of Core.
8
-
9
- This recipe targets `0.1.4`. Pin the package, record the tested version, and
10
- rerun compatibility checks when upgrading.
11
-
12
- ## What stays with the host
13
-
14
- | Concern | Spec reuse | Host responsibility |
15
- |---|---|---|
16
- | Model definitions | Schema grammar, parse/link diagnostics | Project existing definitions into supported JSON Schema |
17
- | Input | `EntryDataValidator` and structured errors | Authentication, authorization, normalization, write orchestration |
18
- | Model browser | Parsed/linked Schema metadata | UI, metadata visibility, field display, graph layout |
19
- | Relationships | Translation declaration/link validation | Existing slug joins, record integrity, locale policy |
20
- | Storage and publishing | None in this recipe | Files, database, transactions, revisions, release/recovery |
21
- | Operations and tools | None in this recipe | No automatic View, Procedure, Trigger, REST or MCP execution |
22
-
23
- Mantle's Web, Admin UI and platform adapters remain optional. A Vue host does
24
- not have to embed the React Admin SPA to reuse Spec. Avoid importing SDK
25
- internals or maintaining a second manifest interpreter.
26
-
27
- ## One definition, several projections
28
-
29
- The motivating Aotter official-website implementation keeps its existing
30
- Nuxt/Nitro host and Git/D1 storage. Shared content definitions drive the site's
31
- content layer, admin write validation, a responsive model/ER browser, and
32
- Schema export. That website implementation was validated locally; this SDK
33
- contribution does not deploy it or claim a production rollout.
34
-
35
- ```text
36
- Host-owned content definitions
37
- ├─ existing CMS/content queries
38
- └─ JSON Schema in Mantle Schema manifests
39
- ├─ parse + link → model browser / metadata export
40
- └─ EntryDataValidator → host-authorized write path
41
- ```
42
-
43
- Use the existing definitions as the source of truth. If the host starts with
44
- Zod or another schema language, conversion is a host concern: verify that the
45
- result uses supported JSON Schema keywords and preserves the intended
46
- validation semantics. Do not hand-maintain a second field list for the graph.
47
-
48
- ## Minimal public-API recipe
49
-
50
- Install the exact Spec package and its supported peer, without Runtime:
51
-
52
- ```sh
53
- npm install --save-exact @aotter/mantle-spec zod@4.5.4
54
- ```
55
-
56
- The [synthetic fixture](../packages/mantle-spec/test/fixtures/spec-only-host.yaml)
57
- contains categories, articles and article translations. It contains no real
58
- website records, account configuration or credentials. Given that fixture as
59
- `manifestYaml`, the application can prepare its validated model once:
60
-
61
- ```ts
62
- import {
63
- EntryDataValidator,
64
- parseManifestSources,
65
- ValidateManifestsUseCase,
66
- } from "@aotter/mantle-spec";
67
-
68
- const parsed = parseManifestSources({
69
- sources: [{ sourceId: "host:content-model", text: manifestYaml }],
70
- });
71
- if (!parsed.ok) throw new Error(JSON.stringify(parsed.diagnostics));
72
-
73
- const checked = ValidateManifestsUseCase.run({
74
- parsed: parsed.value,
75
- siteLocales: ["zh-TW", "en-US"],
76
- });
77
- if (checked.errorCount || !checked.linked) {
78
- throw new Error(JSON.stringify(checked.diagnostics));
79
- }
80
-
81
- const article = checked.linked.schemas.find(
82
- ({ manifest }) => manifest.metadata.name === "articles",
83
- )!.manifest;
84
- const validator = new EntryDataValidator();
85
- const diagnostics = validator.validate(article, { category: 42 }, { partial: true });
86
- // INPUT_VALIDATION_FAILED at /category. The host must reject the write.
87
- ```
88
-
89
- The non-null assertion is specific to this known fixture. A dynamic host must
90
- handle an unknown collection explicitly and fail closed. Do not fabricate
91
- sealed parser/linker values or re-parse the same revision in each request.
92
-
93
- `EntryDataValidator` returns diagnostics, not a sanitized payload. It does not
94
- persist, authorize, coerce the original object, or enforce storage integrity.
95
- Normalize explicitly in the host before validation and write only after
96
- successful validation and authorization. An `additionalProperties: true`
97
- compatibility policy accepts legacy fields; it is not a reason to expose those
98
- fields publicly.
99
-
100
- `partial: true` relaxes top-level required fields for drafts, while still
101
- checking supplied types and nested required fields. Validate without `partial`
102
- when the host needs a complete record, alongside its own publication rules.
103
- Create a fresh validator for each model revision: its compiled cache is keyed
104
- by manifest name (and partial/full mode), not by a changing schema body.
105
-
106
- ## Honest ER diagrams and metadata export
107
-
108
- - Derive model nodes and field details from Schema properties. Use a small
109
- host-owned relationship registry for relations not represented by Mantle
110
- grammar; show logical joins distinctly from actual database foreign keys.
111
- - The fixture's `x-example-source` and `x-example-relations` live inside JSON
112
- Schema. They are illustrative vendor annotations, **not new Mantle keys or
113
- executable relationship definitions**. Core may preserve them without
114
- interpreting them. The host must validate their shape and endpoint fields.
115
- - Do not label a filename/slug join as `x-mantle-ref`: that keyword represents
116
- Mantle entry-ID references. A category slug matching a key inside a YAML
117
- array remains a host-specific relation, not a generated SQL foreign key.
118
- - `translates` validates the parent and join-field declarations, not whether
119
- actual translation records exist. A Spec-only host still owns allowed
120
- locales, uniqueness, fallback, and orphan handling. See
121
- [ADR-0010](adr/0010-locale-and-translates.md); Runtime locale/storage gates
122
- are not installed by this recipe.
123
- - A read-only inventory can add derived fields such as filename `slug` or
124
- directory `locale` without changing stored files. Document that projection;
125
- it is not evidence that existing data is ready for Runtime import.
126
- - The fixture uses JSON Schema `readOnly` as an inventory annotation. It is
127
- not a security boundary: entry validation does not enforce host write
128
- permissions. Export only after applying the host's metadata access policy.
129
- - Exclude credential/account models and private data. Export schemas, not
130
- records. Where appropriate, require an administrator and use
131
- `Cache-Control: private, no-store` for model and export endpoints.
132
- - Keep the graph usable on narrow screens: searchable model selection,
133
- focused relationships, zoom/scroll, keyboard controls and a field-table
134
- alternative. A graph must not be the only accessible representation.
135
-
136
- ## Reproducible evidence
137
-
138
- From this SDK checkout:
139
-
140
- ```sh
141
- pnpm --filter @aotter/mantle-spec test -- test/spec-only-host.test.ts
142
- pnpm --filter @aotter/mantle-spec typecheck
143
- ```
144
-
145
- The [regression test](../packages/mantle-spec/test/spec-only-host.test.ts)
146
- exercises the public export surface, manifest round trips, translation linking,
147
- and strict/partial entry validation without Runtime. It is an SDK regression
148
- fixture, not a new Starter workspace or a certification test suite.
149
-
150
- An adopting host must also test its own installed package, real content
151
- compatibility, HTTP authorization/invalid-input paths, metadata exclusions and
152
- responsive UI. Existing data need not be published or uploaded to prove this.
153
- Keep sensitive evidence internal and expose only an agreed verification report.
154
-
155
- Spec validation against an exact SDK version is not official certification or
156
- proof of Runtime compatibility, data migration, or security. Recognition policy
157
- is tracked separately in [#840](https://github.com/aotter/mantle/issues/840).
@@ -1,5 +0,0 @@
1
- # Transaction patterns
2
-
3
- This guide lives in the Examples hub: [`docs/examples/cf-primitives-commerce-inventory.md`](examples/cf-primitives-commerce-inventory.md). The Builder-safe catalog is [`docs/examples/builtin-commerce.md`](examples/builtin-commerce.md).
4
-
5
- The handbook and examples hub ship inside the `@aotter/mantle` package under `node_modules/@aotter/mantle/docs/` and describe the installed release.
package/skills/README.md DELETED
@@ -1,127 +0,0 @@
1
- # SKILL.md briefs (mantle)
2
-
3
- Agent-readable skill briefs for consumers of `@aotter/mantle-*`. Discoverable by URL — no plugin install needed.
4
-
5
- | Skill | When to invoke |
6
- |---|---|
7
- | [`develop`](../docs/skills/develop/SKILL.md) | `mantle:develop`: Core-owned workflow for manifest, runtime, handler, adapter, validation, and MCP work in any Mantle project. |
8
- | [`integrate`](../docs/skills/integrate/SKILL.md) | `mantle:integrate`: choose and carry out an existing application's Mantle integration or rebuild and data migration. |
9
- | [`media-gc`](../docs/skills/media-gc/SKILL.md) | `mantle:media-gc`: audit or remove stale uncommitted public media objects with the connected Cloudflare API. |
10
- | [`plugin`](../docs/skills/plugin/SKILL.md) | `mantle:plugin`: Core-owned marketplace workflow for plan-first capability installs across applications and adapters. |
11
- | [`theme`](../docs/skills/theme/SKILL.md) | `mantle:theme`: Core-owned visual workflow. Reads project-owned theme and UI contracts. |
12
- | [`update`](../docs/skills/update/SKILL.md) | `mantle:update`: Core-owned drift check workflow for SDK dependencies, local skills, and plugin lockfiles. |
13
- | [`mantle`](install/SKILL.md) | User wants to author a local Mantle application or continue an existing project. |
14
- | [`provision`](../docs/skills/provision/SKILL.md) | User wants a local project shipped to Cloudflare with production auth and operator handoff. |
15
-
16
- The skills target Mantle's v0.1 grammar. The installed package version, not
17
- duplicated skill prose, selects the exact runtime and embedded docs.
18
-
19
- ## Disclosure audit
20
-
21
- Every skill ships as one `SKILL.md` with no reference files, scripts, or
22
- assets, so nothing is deferred behind a second load. Progressive disclosure
23
- here is section routing inside one file: the agent reads the entry constraints,
24
- then only the section its selected path names. `scripts/check-skills.mjs`
25
- enforces the columns below.
26
-
27
- | Skill | Routes on | Entry-path constraints (read before acting) | Path-gated sections | Projection | Restricted because |
28
- |---|---|---|---|---|---|
29
- | `develop` | existing project; manifest, runtime, handler, adapter, or MCP work | four-atom model; adapter neutrality; no direct D1/KV/Postgres writes; no committed secrets | performance harness; local MCP client; locale rules | project | — |
30
- | `integrate` | independently authored application; add Mantle or rebuild with migration | inspect application before strategy; version-matched SDK; protect live data | embed; incrementally replace; rebuild and migrate | package | Existing-project migration is opt-in; a fresh generated app does not need this brief. |
31
- | `plugin` | user wants an installable capability | plan before apply; lock entry is the removal manifest; delete only plugin-owned files and atoms | apply; remove | project | — |
32
- | `theme` | brand or visual direction in a project | repo-owned theme and UI contracts | — | project | — |
33
- | `update` | SDK upgrade or plugin lock review | never blindly overwrite user-owned code | — | project | — |
34
- | `mantle` | new application, or opening an existing project | do not use the SDK checkout as the application; no push/deploy/provider config during cold start | author local project; continue existing project | plugin | Creates a new project; nothing to project into an existing one. |
35
- | `provision` | ship to Cloudflare and finish production auth | secrets never enter source or logs; explicit auth mode | hosted auth; self-managed auth | package | Platform-specific deploy that handles production secrets; opt-in only. |
36
- | `media-gc` | audit or remove stale uncommitted media objects | audit by default; confirm exact account, bucket, cutoff, and candidate digest; re-audit before applying; never prefix-delete; never print keys | apply | package | Destructive remote object deletion and Cloudflare-specific; opt-in only. |
37
-
38
- Deliberately monolithic:
39
-
40
- - `develop` is the widest file, but its adapter, auth, and data-ownership rules
41
- constrain every path through it. Splitting them behind routing would let an
42
- agent reach a write path without them, which is the failure this audit
43
- exists to prevent.
44
- - `media-gc` keeps its full audit-confirm-reapply sequence inline for the same
45
- reason: each safeguard is a precondition of the delete that follows it.
46
-
47
- ## Skill authority
48
-
49
- The `mantle:*` namespace is owned by `@aotter/mantle`. Every skill declares its
50
- own distribution scope in front matter: `metadata.projection: project` marks a
51
- skill `mantle skills` should place in a consumer project, and a skill that
52
- withholds `project` must say why. `plugin` is the bootstrap skill and `package`
53
- is an opt-in brief in the installed SDK. `scripts/check-skills.mjs` holds that
54
- declaration and the audit table below to each other.
55
-
56
- Run `mantle skills` to project the installed package's skills into a project;
57
- use `mantle skills --check` to fail closed on drift. The installed package and
58
- `node_modules/@aotter/mantle/docs/` are the single version-matched authority.
59
- Application files and plugin recipes are project context, not competing
60
- contracts.
61
-
62
- ## Source-repository marketplace install
63
-
64
- `skills/install/SKILL.md` declares `name: mantle`. It is the only repository
65
- skill discovered by the no-flag command and copied as a small directory.
66
- The other seven skills live in `docs/skills/` and ship with the npm package.
67
- `mantle skills` projects the four ongoing workflows after package installation.
68
-
69
- Other marketplace hosts point to the same entry:
70
-
71
- ```sh
72
- npx skills add aotter/mantle
73
- ```
74
-
75
- ```bash
76
- # Claude Code — two separate prompts
77
- /plugin marketplace add aotter/mantle
78
- /plugin install mantle@mantle
79
-
80
- # Codex
81
- codex plugin marketplace add aotter/mantle
82
- codex plugin add mantle@mantle
83
- ```
84
-
85
- Read the path printed by the installer (for project-local Codex,
86
- `.agents/skills/mantle/SKILL.md`). Only the selected brief is installed, not
87
- the SDK or handbook. After choosing and installing an exact SDK version, read
88
- `node_modules/@aotter/mantle/skills/install/SKILL.md` and its embedded docs;
89
- that package supersedes the bootstrap Git-ref instructions. After packages are
90
- installed, `mantle skills` projects the installed package's own skills into the
91
- project, and `mantle skills --check` fails on drift.
92
-
93
- Cursor and GitHub Copilot read their manifests from the repository directly.
94
- These manifests are not duplicated into the npm package:
95
-
96
- - Claude Code: `.claude-plugin/plugin.json` plus `.claude-plugin/marketplace.json`.
97
- - Codex: `.codex-plugin/plugin.json` plus `.agents/plugins/marketplace.json`.
98
- - Cursor: `.cursor-plugin/plugin.json`.
99
- - VS Code + GitHub Copilot: `.copilot-plugin/plugin.json`.
100
-
101
- ## Audience
102
-
103
- These are written for **AI agents acting on behalf of consumers of mantle**,
104
- not for contributors maintaining the Mantle SDK itself. SDK contributors use
105
- the repo-root `CONTRIBUTING.md`; it is intentionally not shipped inside the npm
106
- package. Two audiences, two artifacts.
107
-
108
- ## Discoverability
109
-
110
- The skills target ADR-0007's "AI as primary author" thesis: agents reach these files by URL when the user invokes them by intent ("install mantle", "develop my Mantle site", "deploy"). Official cold start is `npx skills add aotter/mantle`. Point the agent at the repository or pass the version-matched markdown content directly.
111
-
112
- ## Conventions
113
-
114
- Each SKILL.md ships:
115
-
116
- - **Front-matter** with a stable `name`, trigger-complete
117
- `description`, and optional source/version `metadata`. Plugin hosts add the
118
- external `mantle:` namespace.
119
- - **Preflight** section — environment + user-confirmation gates.
120
- - **Step-by-step** — concrete commands (`pnpm validate`, `mantle emit-openapi`, etc.).
121
- - **Diagnostic recipes** — `Symptom → Cause → Fix` table for the common failure modes.
122
- - **Don't** — reviewer-style list of patterns the agent must reject (often citing ADRs).
123
- - **When you're done** — what to report back to the user.
124
-
125
- If you're writing a new SKILL, follow the same structure. Commands and prose
126
- must match the package version that carries the skill; later prereleases may
127
- revise both together.
@@ -1,258 +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
- On 0.1.5 and newer, `generate --host cf|chatgpt-sites` assembles a new blank
61
- app; no `--features` selects Spec, Runtime, API, MCP, Admin and Web. Explicit
62
- `--features` selects a smaller composition. It never invents a business
63
- Schema. Existing authored apps keep compile mode, and older installed CLIs
64
- may not support project generation. Check this project's CLI help first.
65
-
66
- ## Core Model
67
-
68
- Mantle exposes exactly four declarative atoms:
69
-
70
- | Atom | Purpose |
71
- |---|---|
72
- | `Schema` | Stored entity/table shape. |
73
- | `View` | Read/query surface. |
74
- | `Procedure` | Typed mutation or operation. |
75
- | `Trigger` | HTTP/lifecycle/MCP invocation binding. |
76
-
77
- Do not invent manifest kinds such as `Form`, `Feature`, `Workflow`, or
78
- `Membership`. Compose those from the four atoms plus TypeScript only where
79
- the atoms cannot express the behavior.
80
-
81
- ## Choose the manifest feature first
82
-
83
- Read installed `docs/handbook/reference/features.md` to map the requested
84
- behavior to fields before adding handlers or a custom UI. For host-only reads,
85
- `surface: internal` keeps a View out of REST/MCP/Admin while preserving its
86
- `requires` checks. Read `docs/handbook/guides/typed-queries.md` for generated
87
- View params/results, indexed entry reads, and their authorization boundary.
88
- Use `from` for portable typed projections; SQL is for queries needing native
89
- SQLite and produces `unknown` row types.
90
-
91
- For Admin labels, inputs, collection columns/tabs, reports or action buttons,
92
- read `docs/handbook/guides/admin-ui.md`. Prefer supported Schema/Procedure/View
93
- metadata and `uiSchema` before custom frontend code. These control the Admin
94
- console, not the visitor frontend. Regenerate and verify the actual console;
95
- never edit generated `public/_mantle/admin/` assets.
96
-
97
- ## Content Edits
98
-
99
- - Follow the actual frontend content source. Use Admin or Staff MCP for
100
- runtime-backed content. Do not invent an overlay/seed homepage.
101
- - For a new submitted field, update the stored `Schema` and the public
102
- `Procedure.spec.input` before any form UI. Keep public mutation inputs
103
- `additionalProperties: false`; otherwise JSON Schema's default may strip an
104
- undeclared field while returning success.
105
- - Use `lifecycle: operational` for submissions, inquiries, orders, and other
106
- Procedure-created operational records that staff inspect or correct. Reserve
107
- `publishing` for content a person stages and publishes.
108
- - Lifecycle `before_update` / `after_update` hooks also fire for unpublish,
109
- archive, and every other status transition whose target is not `published`;
110
- do not use them for edit-only work.
111
- - When a form's fixed option values change, update the stored Schema and public
112
- Procedure input `enum` together. Keep translated labels in the frontend content source;
113
- Admin and Staff MCP derive their typed controls from the manifest values.
114
- - If the application has a `page` Schema with sections, update its declared
115
- section properties when adding display fields; an undeclared property has no
116
- runtime-backed Admin or Staff MCP path.
117
- - Update notification handlers when they need the new field. Test the stored
118
- entry, not only the HTTP `{ "ok": true }` response.
119
-
120
- ## Locales
121
-
122
- - `data.locale` is reserved for `localized: true` Schemas. A non-localized
123
- Schema must use a domain field such as `replyLocale`.
124
- - Use a standalone localized Schema only for independent locale rows. For
125
- versions of one entity, use a non-localized parent plus a localized child
126
- with `translates: { parent, on }`. The child must own at least one field
127
- besides `locale` and the join field.
128
- - Parallel locale blocks must keep field names, option values, step IDs, and
129
- result keys identical; translate display strings only.
130
- - `siteDefaults.origin`, `siteDefaults.locales`, and `siteDefaults.icons` are
131
- code-owned and boot-synced. The icon list is shared by browser favicons,
132
- Admin chrome, and MCP `serverInfo.icons`; keep its static files under
133
- `public/`. Brand, title, and description seed once, then change through site
134
- settings.
135
- - When changing an existing collection from `[slug]` to `[slug, locale]`,
136
- boot with a Mantle version that reconciles obsolete unique indexes and test
137
- the same slug in two locales. Do not patch D1 manually.
138
-
139
- ## Adapter Boundary
140
-
141
- The runtime is adapter-neutral. A `MantleStorageAdapter` prepares the compiled
142
- plan into semantic storage ports; `createMantleRuntime` binds that prepared
143
- storage and selected capabilities. Database drivers and asset serving belong
144
- to the host/optional composition. Follow the installed adapter guide.
145
-
146
- Do not assume Cloudflare unless the project imports `@aotter/mantle/cloudflare`
147
- or its adapter config is visible. A future Netlify adapter should satisfy the
148
- same Core workflow through its own ports and provider setup.
149
-
150
- Site code is a consumer of this abstraction. Use Manifests, runtime use cases,
151
- `runtime.entries`, and optional `runtime.siteConfig`; do not query Mantle-owned `entries` or
152
- `site_config`, reach through deprecated `runtime.db`, copy generated-column
153
- names, or construct SDK KV keys. Cloudflare bindings belong only at the
154
- composition root. If a normal feature cannot be expressed through a
155
- purpose-shaped surface, treat that as a Core abstraction gap instead of
156
- teaching the project Mantle internals.
157
-
158
- ## Auth Composition
159
-
160
- Generated full apps select Admin by default; smaller selections can omit it.
161
- A project without `@aotter/mantle-admin-ui` is complete when Admin was not
162
- selected. If Admin was selected but its package is missing, install the
163
- CLI-declared exact version and rerun generation.
164
- When Admin is installed, `createMantleWorker({ auth })` with `email-otp`
165
- and `ConsoleEmailSender` is the local human path (OTP in wrangler logs).
166
- That override owns Auth construction; Core still owns `/admin` and
167
- `/api/auth/*`. Admin also requires wrangler `assets.directory=./public`
168
- and an `ASSETS` binding. A white screen at `/admin` with HTML 200 and
169
- `/_mantle/admin/assets/*` 404 is a missing assets binding, not a missing
170
- frontend build.
171
-
172
- Generated Cloudflare apps use `MANTLE_AUTH_MODE=local-otp` on loopback after
173
- copying `.dev.vars.example` to `.dev.vars` and setting a real owner email and
174
- random secret. Production uses `hosted` or `self-managed` with provider
175
- credentials and `ADMIN_GITHUB_LOGIN`. Conventional Cloudflare projects that
176
- do not replace Auth use those two production modes; Core owns that standard
177
- composition and rejects partial or mixed bindings. Preserve the explicit
178
- mode recorded in Worker config, keep provider secrets out of source, and
179
- do not infer a mode from whichever credentials happen to be present.
180
-
181
- ## Performance Loop
182
-
183
- After changing a Schema index, View filter/order, public API, or rendered page,
184
- run the project's index check when present. Otherwise run the installed
185
- harness directly:
186
-
187
- ```bash
188
- pnpm exec mantle-harness indexes --require-public --format text
189
- ```
190
-
191
- The check uses crowded real SQLite and the shipped compiler. It complements
192
- `pnpm validate`; it does not replace correctness validation. Declare the
193
- smallest ordered index justified by the measured path and respect SQLite's
194
- leftmost-prefix rule; which columns an index may name and how a public View's
195
- status predicate shapes it is in the handbook (`reference/schema.md#indexes`).
196
- Do not change user-visible filter or ordering semantics
197
- just to make the gate pass. Do not add every permutation or cache every read.
198
-
199
- For relevant Cloudflare serving changes, start the project and sample the
200
- actual routes:
201
-
202
- ```bash
203
- pnpm exec mantle-harness http \
204
- --base-url http://127.0.0.1:8787 \
205
- --route page=/en/example \
206
- --rounds 20 --warmup 2 --format text
207
- ```
208
-
209
- Prefer query plan, query count, `rows_read` scaling, and cache MISS/HIT
210
- evidence. Do not create CI gates from absolute local milliseconds.
211
-
212
- ## Loop
213
-
214
- ```bash
215
- pnpm install --frozen-lockfile
216
- pnpm validate
217
- pnpm check:indexes # when the project provides it
218
- pnpm typecheck
219
- pnpm check
220
- ```
221
-
222
- Use `pnpm dev` for local preview when the project provides it.
223
-
224
- ## Connect a Local MCP Client
225
-
226
- Start the project with `pnpm dev`, then use the exact local origin it prints.
227
- The conventional Cloudflare adapter exposes:
228
-
229
- - `http://localhost:8787/mcp` for public tools;
230
- - `http://localhost:8787/mcp/staff` for authenticated authoring tools.
231
-
232
- Prefer the client's native remote HTTP + OAuth support. Use a standard
233
- HTTP-to-stdio bridge such as `npx -y mcp-remote <url>` only when the client
234
- accepts stdio MCP servers but cannot connect to remote HTTP directly. Mantle
235
- does not own a separate local proxy or an auth-bypass mode.
236
-
237
- Before changing client config, confirm the Worker is reachable:
238
-
239
- ```bash
240
- curl -i http://localhost:8787/mcp
241
- ```
242
-
243
- An OAuth-protected endpoint should respond with `401` and a
244
- `WWW-Authenticate` resource-metadata challenge before sign-in. After
245
- connecting, inspect `tools/list`; make one read-only `query_view_*` call when
246
- available before invoking any mutation. Use project-scoped client config when
247
- the client offers it, and never commit OAuth tokens or the bridge's token
248
- cache.
249
-
250
- ## Rules
251
-
252
- - Keep content models in the configured manifest directory; its immediate
253
- `.yaml` and `.yml` files are loaded together.
254
- - Add TypeScript only for handlers, rendering, adapter wiring, or real behavior.
255
- - Do not write directly to D1, KV, Postgres, or object storage for content
256
- authoring. Use runtime use cases, admin APIs, or Staff MCP.
257
- - Do not commit provider secrets.
258
- - If the work is an installable capability, switch to `mantle:plugin`.
@@ -1,112 +0,0 @@
1
- ---
2
- name: mantle
3
- description: Set up a new Mantle application or continue an existing one using the installed SDK's matching instructions.
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
- `npx skills add aotter/mantle` installs this small bootstrap skill. It does not
15
- install the SDK or create a project. The skill name is `mantle`; the source
16
- folder remains `skills/install/` so installation does not copy the repository.
17
-
18
- ## Find the application and its version
19
-
20
- First locate the user's target project. If it already has `@aotter/mantle`,
21
- read that project's `package.json`, lockfile, and
22
- `node_modules/@aotter/mantle/package.json`. Follow the CLI and docs shipped in
23
- that exact installed package. Never use another project's dependencies, the
24
- SDK checkout, a floating GitHub handbook, or an old alpha/Starter fallback.
25
- An older installed SDK may only support direct authoring; its own
26
- `mantle generate --help` decides which flags exist. Upgrade only when requested.
27
-
28
- For a new project, choose `cf` or `chatgpt-sites` from the request; ask only if
29
- it remains ambiguous. A host-free Spec-only project needs no host. Resolve the
30
- latest **published stable** `@aotter/mantle` version from npm once, confirm it
31
- is not a prerelease, and install it with an exact version in the new project.
32
- For example, run `npm view @aotter/mantle@latest version`, inspect the returned
33
- plain `X.Y.Z`, then `npm install --save-exact @aotter/mantle@X.Y.Z` with that
34
- actual version substituted. Set `type=module` in `package.json` first; npm's
35
- default project type may be CommonJS.
36
- When testing a release candidate, use the explicitly supplied exact version
37
- or local tarball instead of npm latest. Pin every selected `@aotter/mantle*`
38
- package to the running CLI's exact version; `generate` writes the required
39
- package declarations. Do not let npm's default `^` range remain. If the
40
- project registry overrides public npmjs, set `@aotter:registry=https://registry.npmjs.org/`
41
- in a project-owned `.npmrc`.
42
-
43
- ## New project sequence
44
-
45
- 1. Create a separate application directory with Node 22+ and a project
46
- `package.json` containing `"type":"module"`. Install the exact chosen
47
- `@aotter/mantle` version locally. Read its
48
- `node_modules/@aotter/mantle/skills/install/SKILL.md` and version-matched
49
- `docs/handbook/start/overview.md` before continuing. These installed
50
- instructions take precedence over this GitHub bootstrap copy. Check
51
- `npx mantle generate --help`: if it does not list `--host`, follow the
52
- installed version's direct-authoring path instead of the steps below.
53
- 2. On a CLI that supports it, run with an explicit host, for example
54
- `npx mantle generate --host cf` or `npx mantle generate --host chatgpt-sites`.
55
- No `--features` means Spec, Runtime, API, MCP, Admin and a blank editable
56
- home. For a smaller app, positively list the modules with `--features`
57
- (for example `spec,api`); use `--features spec` for a host-free compiler.
58
- Do not remove Admin merely because its package is not installed yet.
59
- 3. The first run may declare selected dependencies and exit asking for an
60
- install. Install them using the project's package manager, then rerun
61
- `mantle generate` to finish. Read `docs/handbook/start/project-and-cli.md`
62
- from the same installed package for saved selections, owned files,
63
- `--check`.
64
- 4. Before adding a Schema on ChatGPT Sites, review and apply its initial local
65
- D1 migration as the installed Sites guide says. Then add only the user's
66
- Schema, View, Procedure and Trigger manifests. Keep the blank home editable;
67
- do not invent business data or media bindings. Run `mantle generate` to
68
- append any new migration, review and apply it, then run `generate --check`,
69
- `validate`, `skills`, build/typecheck and local smoke.
70
- 5. For Cloudflare, follow installed `docs/handbook/start/project-and-cli.md`
71
- and `docs/handbook/cloudflare/authentication.md`. Copy `.dev.vars.example`
72
- to `.dev.vars`, set `ADMIN_EMAIL` and `BETTER_AUTH_SECRET`, and match
73
- `PUBLIC_ORIGIN` to the loopback URL printed by `wrangler dev`. Open
74
- `/admin/sign-in` with that email; read the OTP from wrangler logs. Check
75
- Admin assets and an owner-only Admin API before claiming Admin works. For
76
- ChatGPT Sites, follow installed
77
- `docs/handbook/chatgpt-sites/generated-app.md`: review and apply local D1
78
- migrations, set `OWNER_EMAIL` and `PUBLIC_ORIGIN`, then test the blank home,
79
- unauthorized Admin, owner Admin, public MCP and staff MCP. Local owner
80
- identity is simulated by the loopback-only smoke; it does not create a
81
- browser ChatGPT session. Sites owns
82
- production identity and deployment; do not deploy its Worker directly.
83
- Browser Admin WebMCP and Sites-session `/api/mcp/staff` do not provide
84
- remote staff OAuth MCP. The owner can maintain content through Admin and
85
- the applicable authenticated MCP surface.
86
-
87
- Use installed `docs/handbook/reference/features.md` for Manifest choices and
88
- `docs/examples/` for optional examples. The generated project is the starting
89
- point; a domain example is not a template to copy wholesale. Do not use a
90
- `mantle-starters` tag or `mantle create`.
91
-
92
- ## Existing project and handoff
93
-
94
- For an application that already uses Mantle, preserve selected features,
95
- user-authored files, migrations, package versions, identity settings and
96
- provider resources. Use its installed CLI's `--help` and package-local docs.
97
- Run `generate --check` without writing, then the project's normal tests.
98
-
99
- When the request is to add Mantle to an independently authored application,
100
- inspect its host, code and data first. Use the exact installed package's
101
- `docs/skills/integrate/SKILL.md` if available. If Mantle is not installed,
102
- choose between selective embedding, incremental replacement and creating a
103
- separate Mantle app followed by frontend/data migration before installing an
104
- exact SDK version. The existing application does not need to adopt the
105
- generated project's entry or directory layout. An older SDK's own docs and
106
- CLI govern its behavior; upgrade deliberately if the selected strategy needs
107
- newer capabilities.
108
-
109
- When deployment is requested, read the installed version's
110
- `skills/provision/SKILL.md`. Report the target path, exact SDK version, local
111
- HTTP results, Admin/MCP identity evidence, and any missing provider setup.
112
- Local simulated Sites headers do not prove deployed ChatGPT sign-in.