@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
@@ -0,0 +1,60 @@
1
+ /** Field checks every manifest kind shares: LocalizedText, unknown keys, the kind and enum sets, and the parse error. */
2
+ import type { Diagnostic, DiagnosticCode } from "../../kernel/diagnostic.js";
3
+ import { type HttpMethod, type LifecycleHook, type ManifestKind } from "../model/ManifestGrammar.js";
4
+ /**
5
+ * Shared shape validator for `LocalizedText` fields (`Schema.spec.title`
6
+ * / `.description`, `Procedure.spec.title` / `.description` — #430;
7
+ * `View.spec.title` — #443).
8
+ * Accepts:
9
+ * - a non-empty string, or
10
+ * - a plain object (not an array) with at least one own-enumerable
11
+ * key, where every key AND every value is a non-empty string.
12
+ * Rejects everything else — including an empty string, an empty
13
+ * object, an array (arrays are `typeof "object"` in JS so they need an
14
+ * explicit `Array.isArray` guard), and any non-string property value.
15
+ * When `required` is `false` and `value` is `undefined`, this is a
16
+ * silent no-op (the field is simply absent).
17
+ */
18
+ export declare function validateLocalizedText(value: unknown, idx: number, pointer: string, fieldLabel: string, required: boolean): void;
19
+ /**
20
+ * Day-1 envelope-and-shape parser. The linker (`mantle generate`) does
21
+ * the cross-manifest checks (Trigger.target.procedure exists, View.from
22
+ * is a Schema, etc.) — see ADR-0007 and `docs/handbook/reference/manifest.md`.
23
+ *
24
+ * Diagnostics emitted here are intentionally narrow: bad envelope or
25
+ * structurally malformed shipped grammar.
26
+ *
27
+ * The canonical API withholds its value when any document fails. The legacy
28
+ * `{ manifests, diagnostics }` adapter below therefore returns no manifests
29
+ * on failure rather than exposing a partial graph.
30
+ *
31
+ * Each caller-owned source may contain multiple YAML documents separated by
32
+ * `---`; source identities and document indexes remain intact.
33
+ */
34
+ /**
35
+ * Throwable carrier used by the envelope-shape validators below
36
+ * (`validateEnvelope`, kind-specific `validate*Spec`). Each throw
37
+ * carries a JSON Pointer + diagnostic code; the top-level
38
+ * The source parser catches the throw and converts it to a Diagnostic
39
+ * for the public `{ manifests, diagnostics }` return shape.
40
+ */
41
+ export declare class ManifestParseError extends Error {
42
+ readonly docIndex?: number | undefined;
43
+ /** JSON Pointer into the manifest (e.g. `/spec/output`). */
44
+ readonly pointer?: string | undefined;
45
+ readonly code: DiagnosticCode;
46
+ readonly details?: Pick<Diagnostic, "value" | "expected" | "candidates" | "suggestion"> | undefined;
47
+ constructor(message: string, docIndex?: number | undefined,
48
+ /** JSON Pointer into the manifest (e.g. `/spec/output`). */
49
+ pointer?: string | undefined, code?: DiagnosticCode, details?: Pick<Diagnostic, "value" | "expected" | "candidates" | "suggestion"> | undefined);
50
+ }
51
+ export declare const KNOWN_KINDS: ReadonlySet<ManifestKind>;
52
+ export declare const V01_TRIGGER_SOURCE_KINDS: ReadonlySet<string>;
53
+ export declare const V01_HTTP_METHODS: ReadonlySet<HttpMethod>;
54
+ export declare const V01_LIFECYCLE_HOOKS: ReadonlySet<LifecycleHook>;
55
+ export declare const V01_MCP_TRIGGER_SURFACES: ReadonlySet<string>;
56
+ export declare const V01_VIEW_SURFACES: ReadonlySet<string>;
57
+ export declare const V01_LIFECYCLE_MODES: ReadonlySet<string>;
58
+ export declare function rejectUnknownKeys(value: Record<string, unknown>, allowed: readonly string[], idx: number, pointer: string): void;
59
+ export declare function escapeJsonPointerSegment(value: string): string;
60
+ //# sourceMappingURL=ManifestFieldChecks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManifestFieldChecks.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/ManifestFieldChecks.ts"],"names":[],"mappings":"AAAA,yHAAyH;AACzH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAwD,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3J;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,GAChB,IAAI,CAqDN;AAED;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,QAAQ,CAAC,EAAE,MAAM;IACjC,4DAA4D;aAC5C,OAAO,CAAC,EAAE,MAAM;aAChB,IAAI,EAAE,cAAc;aACpB,OAAO,CAAC,EAAE,IAAI,CAC5B,UAAU,EACV,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CACnD;gBARD,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,EAAE,MAAM,YAAA;IACjC,4DAA4D;IAC5C,OAAO,CAAC,EAAE,MAAM,YAAA,EAChB,IAAI,GAAE,cAA4C,EAClD,OAAO,CAAC,EAAE,IAAI,CAC5B,UAAU,EACV,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CACnD,YAAA;CAKJ;AAED,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,YAAY,CAKhD,CAAC;AAEH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAKvD,CAAC;AAEH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,UAAU,CAKnD,CAAC;AAEH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,aAAa,CAA4B,CAAC;AACxF,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAAiC,CAAC;AAC3F,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAA0B,CAAC;AAC7E,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAA0C,CAAC;AAE/F,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,IAAI,CAUN;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D"}
@@ -0,0 +1,116 @@
1
+ import { LIFECYCLE_HOOKS, MCP_TRIGGER_SURFACES, VIEW_SURFACES } from "../model/ManifestGrammar.js";
2
+ /**
3
+ * Shared shape validator for `LocalizedText` fields (`Schema.spec.title`
4
+ * / `.description`, `Procedure.spec.title` / `.description` — #430;
5
+ * `View.spec.title` — #443).
6
+ * Accepts:
7
+ * - a non-empty string, or
8
+ * - a plain object (not an array) with at least one own-enumerable
9
+ * key, where every key AND every value is a non-empty string.
10
+ * Rejects everything else — including an empty string, an empty
11
+ * object, an array (arrays are `typeof "object"` in JS so they need an
12
+ * explicit `Array.isArray` guard), and any non-string property value.
13
+ * When `required` is `false` and `value` is `undefined`, this is a
14
+ * silent no-op (the field is simply absent).
15
+ */
16
+ export function validateLocalizedText(value, idx, pointer, fieldLabel, required) {
17
+ if (value === undefined) {
18
+ if (required) {
19
+ throw new ManifestParseError(`${fieldLabel} is required (non-empty string, or an object mapping locale → non-empty string)`, idx, pointer);
20
+ }
21
+ return;
22
+ }
23
+ if (typeof value === "string") {
24
+ if (value.length === 0) {
25
+ throw new ManifestParseError(`${fieldLabel} must be a non-empty string when present (or an object mapping locale → non-empty string)`, idx, pointer);
26
+ }
27
+ return;
28
+ }
29
+ if (typeof value === "object" && value !== null && !Array.isArray(value)) {
30
+ const entries = Object.entries(value);
31
+ if (entries.length === 0) {
32
+ throw new ManifestParseError(`${fieldLabel} object form must have at least one locale → string entry; got {}`, idx, pointer);
33
+ }
34
+ for (const [key, entryValue] of entries) {
35
+ if (key.length === 0) {
36
+ throw new ManifestParseError(`${fieldLabel} object form keys must be non-empty locale codes; got an empty key`, idx, pointer);
37
+ }
38
+ if (typeof entryValue !== "string" || entryValue.length === 0) {
39
+ throw new ManifestParseError(`${fieldLabel} object form value for locale '${key}' must be a non-empty string; got ${JSON.stringify(entryValue)}`, idx, `${pointer}/${key}`);
40
+ }
41
+ }
42
+ return;
43
+ }
44
+ throw new ManifestParseError(`${fieldLabel} must be a non-empty string, or an object mapping locale → non-empty string; got ${JSON.stringify(value)}`, idx, pointer);
45
+ }
46
+ /**
47
+ * Day-1 envelope-and-shape parser. The linker (`mantle generate`) does
48
+ * the cross-manifest checks (Trigger.target.procedure exists, View.from
49
+ * is a Schema, etc.) — see ADR-0007 and `docs/handbook/reference/manifest.md`.
50
+ *
51
+ * Diagnostics emitted here are intentionally narrow: bad envelope or
52
+ * structurally malformed shipped grammar.
53
+ *
54
+ * The canonical API withholds its value when any document fails. The legacy
55
+ * `{ manifests, diagnostics }` adapter below therefore returns no manifests
56
+ * on failure rather than exposing a partial graph.
57
+ *
58
+ * Each caller-owned source may contain multiple YAML documents separated by
59
+ * `---`; source identities and document indexes remain intact.
60
+ */
61
+ /**
62
+ * Throwable carrier used by the envelope-shape validators below
63
+ * (`validateEnvelope`, kind-specific `validate*Spec`). Each throw
64
+ * carries a JSON Pointer + diagnostic code; the top-level
65
+ * The source parser catches the throw and converts it to a Diagnostic
66
+ * for the public `{ manifests, diagnostics }` return shape.
67
+ */
68
+ export class ManifestParseError extends Error {
69
+ docIndex;
70
+ pointer;
71
+ code;
72
+ details;
73
+ constructor(message, docIndex,
74
+ /** JSON Pointer into the manifest (e.g. `/spec/output`). */
75
+ pointer, code = "INVALID_MANIFEST_ENVELOPE", details) {
76
+ super(docIndex != null ? `[doc ${docIndex}] ${message}` : message);
77
+ this.docIndex = docIndex;
78
+ this.pointer = pointer;
79
+ this.code = code;
80
+ this.details = details;
81
+ this.name = "ManifestParseError";
82
+ }
83
+ }
84
+ export const KNOWN_KINDS = new Set([
85
+ "Schema",
86
+ "View",
87
+ "Procedure",
88
+ "Trigger",
89
+ ]);
90
+ export const V01_TRIGGER_SOURCE_KINDS = new Set([
91
+ "http",
92
+ "lifecycle",
93
+ "mcp",
94
+ "schedule",
95
+ ]);
96
+ export const V01_HTTP_METHODS = new Set([
97
+ "POST",
98
+ "PUT",
99
+ "PATCH",
100
+ "DELETE",
101
+ ]);
102
+ export const V01_LIFECYCLE_HOOKS = new Set(LIFECYCLE_HOOKS);
103
+ export const V01_MCP_TRIGGER_SURFACES = new Set(MCP_TRIGGER_SURFACES);
104
+ export const V01_VIEW_SURFACES = new Set(VIEW_SURFACES);
105
+ export const V01_LIFECYCLE_MODES = new Set(["publishing", "operational"]);
106
+ export function rejectUnknownKeys(value, allowed, idx, pointer) {
107
+ const unknown = Object.keys(value).find((key) => !allowed.includes(key));
108
+ if (unknown !== undefined) {
109
+ const unknownPointer = pointer === "/" ? `/${unknown}` : `${pointer}/${unknown}`;
110
+ throw new ManifestParseError(`${unknownPointer.replaceAll("/", ".").slice(1)} is not supported`, idx, unknownPointer);
111
+ }
112
+ }
113
+ export function escapeJsonPointerSegment(value) {
114
+ return value.replace(/~/g, "~0").replace(/\//g, "~1");
115
+ }
116
+ //# sourceMappingURL=ManifestFieldChecks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManifestFieldChecks.js","sourceRoot":"","sources":["../../../../src/spec/domain/service/ManifestFieldChecks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type Diagnostic } from "../../kernel/diagnostic.js";
2
+ import { type Manifest, type ProcedureManifest, type SchemaManifest, type TriggerManifest, type ViewManifest } from "../model/ManifestGrammar.js";
3
+ import { type ManifestFilePaths } from "./ManifestPathDiagnoser.js";
4
+ /**
5
+ * Package-private implementation of the pure graph rules. The public sealed
6
+ * entry is `linkManifestSet`; the compatibility validator delegates there.
7
+ */
8
+ export declare function validateManifestGraph(manifests: readonly Manifest[], filePaths?: ManifestFilePaths): {
9
+ readonly diagnostics: readonly Diagnostic[];
10
+ readonly schemas: readonly SchemaManifest[];
11
+ readonly views: readonly ViewManifest[];
12
+ readonly procedures: readonly ProcedureManifest[];
13
+ readonly triggers: readonly TriggerManifest[];
14
+ };
15
+ //# sourceMappingURL=ManifestGraphValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManifestGraphValidator.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/ManifestGraphValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAyF,KAAK,QAAQ,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGzO,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAK7F;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,SAAS,CAAC,EAAE,iBAAiB,GAC5B;IACD,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;CAC/C,CA+CA"}
@@ -0,0 +1,225 @@
1
+ import { validateDiagnostic } from "../../kernel/diagnostic.js";
2
+ import { MANTLE_REF_KEYWORD, RESERVED_PROCEDURE_INPUT_NAMES, resolveMantleRef } from "../model/ManifestGrammar.js";
3
+ import { checkTranslatesReferences } from "./CrossSchemaChecker.js";
4
+ import { partitionManifests } from "./ManifestPartition.js";
5
+ import { bestMatch, manifestPath } from "./ManifestPathDiagnoser.js";
6
+ import { checkSchemaNavTargets } from "./SchemaAdminUiChecker.js";
7
+ import { checkSchemaIndexes } from "./SchemaIndexChecker.js";
8
+ import { checkGuards, checkMcpToolNameCollisions, checkProcedureTarget, checkSqlHandler, checkTriggerRefs, checkViewRefs } from "./TriggerGraphChecks.js";
9
+ /**
10
+ * Package-private implementation of the pure graph rules. The public sealed
11
+ * entry is `linkManifestSet`; the compatibility validator delegates there.
12
+ */
13
+ export function validateManifestGraph(manifests, filePaths) {
14
+ const diags = [];
15
+ const partitioned = partitionManifests(manifests);
16
+ const schemasByName = byName(partitioned.schemas);
17
+ const proceduresByName = byName(partitioned.procedures);
18
+ diags.push(...checkDuplicates("Schema", partitioned.schemas, filePaths));
19
+ diags.push(...checkDuplicates("View", partitioned.views, filePaths));
20
+ diags.push(...checkDuplicates("Procedure", partitioned.procedures, filePaths));
21
+ diags.push(...checkDuplicates("Trigger", partitioned.triggers, filePaths));
22
+ diags.push(...checkSchemaReservedWireNames(partitioned.schemas, filePaths));
23
+ diags.push(...checkCaseCollisions(partitioned.schemas, [...partitioned.views, ...partitioned.procedures], filePaths));
24
+ diags.push(...checkTranslatesReferences(partitioned.schemas, "validate", filePaths));
25
+ diags.push(...checkSchemaNavTargetsGraph(partitioned.schemas, schemasByName, filePaths));
26
+ for (const v of partitioned.views) {
27
+ diags.push(...checkViewRefs(v, schemasByName, filePaths));
28
+ }
29
+ for (const s of partitioned.schemas) {
30
+ diags.push(...checkMantleRefs("Schema", s.metadata.name, "/spec/schema", s.spec.schema, schemasByName, filePaths));
31
+ }
32
+ for (const p of partitioned.procedures) {
33
+ diags.push(...checkSqlHandler(p, filePaths));
34
+ diags.push(...checkCollectionActionRef(p, schemasByName, filePaths));
35
+ diags.push(...checkMantleRefs("Procedure", p.metadata.name, "/spec/input", p.spec.input, schemasByName, filePaths));
36
+ diags.push(...checkProcedureTarget(p, schemasByName, filePaths));
37
+ }
38
+ diags.push(...checkGuards([...partitioned.procedures, ...partitioned.views], proceduresByName, filePaths));
39
+ diags.push(...checkTriggerRefs(partitioned.triggers, proceduresByName, filePaths, schemasByName));
40
+ diags.push(...checkMcpToolNameCollisions(partitioned.views, partitioned.procedures, partitioned.triggers, filePaths));
41
+ return { diagnostics: diags, ...partitioned };
42
+ }
43
+ function checkSchemaNavTargetsGraph(schemas, schemasByName, filePaths) {
44
+ const out = [];
45
+ for (const schema of schemas) {
46
+ const problem = checkSchemaNavTargets(schema, schemasByName);
47
+ if (!problem)
48
+ continue;
49
+ out.push(validateDiagnostic({
50
+ code: "SCHEMA_UI_INVALID",
51
+ severity: "error",
52
+ path: manifestPath("Schema", schema.metadata.name, problem.pointer, filePaths),
53
+ value: problem.value,
54
+ expected: problem.expected,
55
+ message: problem.message,
56
+ }));
57
+ }
58
+ return out;
59
+ }
60
+ function checkCollectionActionRef(procedure, schemasByName, filePaths) {
61
+ const target = procedure.spec.uiSchema?.["collectionAction"];
62
+ if (typeof target !== "string" || schemasByName.has(target))
63
+ return [];
64
+ return [validateDiagnostic({
65
+ code: "SCHEMA_UI_INVALID",
66
+ severity: "error",
67
+ path: manifestPath("Procedure", procedure.metadata.name, "/spec/uiSchema/collectionAction", filePaths),
68
+ value: target,
69
+ expected: "the metadata.name of an existing Schema",
70
+ message: `Procedure '${procedure.metadata.name}' collection action references unknown Schema '${target}'.`,
71
+ })];
72
+ }
73
+ /**
74
+ * `x-mantle-ref` on top-level properties. The string form is unchanged; the
75
+ * object form must name an existing Schema and a field that identifies one
76
+ * entry: `id` or a single-field unique index (ADR-0029).
77
+ */
78
+ function checkMantleRefs(kind, name, pointer, schema, schemasByName, filePaths) {
79
+ const out = [];
80
+ for (const [field, property] of Object.entries(schema.properties ?? {})) {
81
+ const raw = property?.[MANTLE_REF_KEYWORD];
82
+ if (raw === undefined || typeof raw === "string")
83
+ continue;
84
+ const path = manifestPath(kind, name, `${pointer}/properties/${pointerSegment(field)}/${MANTLE_REF_KEYWORD}`, filePaths);
85
+ const ref = resolveMantleRef(property);
86
+ const keys = typeof raw === "object" && raw !== null && !Array.isArray(raw) ? Object.keys(raw) : [];
87
+ if (!ref || keys.some((key) => key !== "schema" && key !== "field")) {
88
+ out.push(validateDiagnostic({
89
+ code: "MANTLE_REF_INVALID",
90
+ severity: "error",
91
+ path,
92
+ value: raw,
93
+ expected: "a Schema name, or { schema: <Schema name>, field: <id or single-field unique index> }",
94
+ message: `${kind} '${name}' field '${field}' has a malformed x-mantle-ref.`,
95
+ }));
96
+ continue;
97
+ }
98
+ const target = schemasByName.get(ref.schema);
99
+ if (!target) {
100
+ out.push(validateDiagnostic({
101
+ code: "MANTLE_REF_INVALID",
102
+ severity: "error",
103
+ path: `${path}/schema`,
104
+ value: ref.schema,
105
+ expected: "the metadata.name of an existing Schema",
106
+ candidates: [...schemasByName.keys()],
107
+ suggestion: bestMatch(ref.schema, [...schemasByName.keys()]),
108
+ message: `${kind} '${name}' field '${field}' references unknown Schema '${ref.schema}'.`,
109
+ }));
110
+ continue;
111
+ }
112
+ const keyFields = entryKeyFields(target);
113
+ if (!keyFields.includes(ref.field)) {
114
+ out.push(validateDiagnostic({
115
+ code: "MANTLE_REF_INVALID",
116
+ severity: "error",
117
+ path: `${path}/field`,
118
+ value: ref.field,
119
+ expected: `one of ${keyFields.join(", ")}`,
120
+ candidates: keyFields,
121
+ message: `${kind} '${name}' field '${field}' references '${ref.schema}.${ref.field}', which does not identify one entry; use id or a single-field unique index.`,
122
+ }));
123
+ }
124
+ }
125
+ return out;
126
+ }
127
+ /** Fields whose value identifies exactly one entry of a Schema. */
128
+ function entryKeyFields(schema) {
129
+ const unique = checkSchemaIndexes(schema).declarations
130
+ .filter((declaration) => declaration.unique && declaration.fields.length === 1)
131
+ .map((declaration) => declaration.fields[0].name);
132
+ return ["id", ...new Set(unique)];
133
+ }
134
+ function pointerSegment(value) {
135
+ return value.replaceAll("~", "~0").replaceAll("/", "~1");
136
+ }
137
+ function byName(arr) {
138
+ const m = new Map();
139
+ for (const x of arr)
140
+ m.set(x.metadata.name, x);
141
+ return m;
142
+ }
143
+ function checkSchemaReservedWireNames(schemas, filePaths) {
144
+ const out = [];
145
+ for (const schema of schemas) {
146
+ const properties = schema.spec.schema.properties ?? {};
147
+ for (const reserved of RESERVED_PROCEDURE_INPUT_NAMES) {
148
+ if (!(reserved in properties) || properties[reserved] === undefined)
149
+ continue;
150
+ out.push(validateDiagnostic({
151
+ code: "INVALID_MANIFEST_ENVELOPE",
152
+ severity: "error",
153
+ path: manifestPath("Schema", schema.metadata.name, `/spec/schema/properties/${reserved}`, filePaths),
154
+ value: reserved,
155
+ expected: `Schema data properties that do not collide with reserved Procedure input names (${RESERVED_PROCEDURE_INPUT_NAMES.join(", ")}). New reserved names need an ADR.`,
156
+ message: `Schema '${schema.metadata.name}' must not declare reserved Procedure input name '${reserved}' as a data property (ADR-0022). New reserved names need an ADR.`,
157
+ }));
158
+ }
159
+ }
160
+ return out;
161
+ }
162
+ /**
163
+ * SQL resolves identifiers case-insensitively (ADR-0034 decision 2) and the plan keys Schemas, fields and inputs by their lower-case
164
+ * name, so two names that differ only by case would silently become one table, one column or one input.
165
+ */
166
+ function checkCaseCollisions(schemas, programs, filePaths) {
167
+ const out = [];
168
+ const collide = (names, report) => {
169
+ const first = new Map();
170
+ for (const n of names) {
171
+ const seen = first.get(n.toLowerCase());
172
+ if (seen === undefined)
173
+ first.set(n.toLowerCase(), n);
174
+ else if (seen !== n)
175
+ report(n, seen); // an exact repeat is DUPLICATE_NAME
176
+ }
177
+ };
178
+ collide(schemas.map((s) => s.metadata.name), (name, other) => out.push(validateDiagnostic({
179
+ code: "SCHEMA_NAME_CASE_COLLISION", severity: "error", path: manifestPath("Schema", name, "/metadata/name", filePaths), value: name,
180
+ message: `Schema '${name}' and Schema '${other}' differ only by case; SQL names them the same table. Rename one.`,
181
+ })));
182
+ for (const s of schemas)
183
+ collide(Object.keys(s.spec.schema.properties ?? {}), (name, other) => out.push(validateDiagnostic({
184
+ code: "FIELD_NAME_CASE_COLLISION", severity: "error", path: manifestPath("Schema", s.metadata.name, `/spec/schema/properties/${pointerSegment(name)}`, filePaths), value: name,
185
+ message: `Schema '${s.metadata.name}' declares '${name}' and '${other}', which differ only by case; SQL names them the same column. Rename one.`,
186
+ })));
187
+ // `input.itemId` and `input.ItemId` are one name in SQL, so a statement could not tell the two inputs apart; a `ref` handler reads
188
+ // the JS object, where they are two keys
189
+ for (const m of programs.filter((p) => p.kind === "View" || "sql" in p.spec.handler))
190
+ collide(Object.keys(m.spec.input?.properties ?? {}), (name, other) => out.push(validateDiagnostic({
191
+ code: "FIELD_NAME_CASE_COLLISION", severity: "error", path: manifestPath(m.kind, m.metadata.name, `/spec/input/properties/${pointerSegment(name)}`, filePaths), value: name,
192
+ message: `${m.kind} '${m.metadata.name}' declares the inputs '${name}' and '${other}', which differ only by case; SQL names them the same input. Rename one.`,
193
+ })));
194
+ return out;
195
+ }
196
+ function checkDuplicates(kind, arr, filePaths) {
197
+ // Two-pass: count duplicates, then emit one diagnostic per
198
+ // occurrence (including the first). `manifestPath`'s `occurrence`
199
+ // arg pulls the correct file location per copy so each diagnostic
200
+ // points at its own source position — not at whichever copy the
201
+ // loader saw last.
202
+ const counts = new Map();
203
+ for (const m of arr) {
204
+ counts.set(m.metadata.name, (counts.get(m.metadata.name) ?? 0) + 1);
205
+ }
206
+ const seenIndex = new Map();
207
+ const out = [];
208
+ for (const m of arr) {
209
+ const total = counts.get(m.metadata.name) ?? 0;
210
+ if (total < 2)
211
+ continue;
212
+ const ordinal = (seenIndex.get(m.metadata.name) ?? 0) + 1;
213
+ seenIndex.set(m.metadata.name, ordinal);
214
+ out.push(validateDiagnostic({
215
+ code: "DUPLICATE_NAME",
216
+ severity: "error",
217
+ path: manifestPath(kind, m.metadata.name, "/metadata/name", filePaths, ordinal),
218
+ value: m.metadata.name,
219
+ expected: `metadata.name unique within kind ${kind}`,
220
+ message: `${kind} manifest '${m.metadata.name}' is duplicated (occurrence ${ordinal} of ${total}).`,
221
+ }));
222
+ }
223
+ return out;
224
+ }
225
+ //# sourceMappingURL=ManifestGraphValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManifestGraphValidator.js","sourceRoot":"","sources":["../../../../src/spec/domain/service/ManifestGraphValidator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { SourceLocation } from "../../kernel/diagnostic.js";
2
+ import { type ParsedManifest, type ParsedManifestSet, type ParseResult } from "./ManifestParser.js";
3
+ type ParsedSchema = Extract<ParsedManifest, {
4
+ kind: "Schema";
5
+ }>;
6
+ type ParsedView = Extract<ParsedManifest, {
7
+ kind: "View";
8
+ }>;
9
+ type ParsedProcedure = Extract<ParsedManifest, {
10
+ kind: "Procedure";
11
+ }>;
12
+ type ParsedTrigger = Extract<ParsedManifest, {
13
+ kind: "Trigger";
14
+ }>;
15
+ export interface ResolvedManifestReference<M extends ParsedManifest> {
16
+ readonly manifest: M;
17
+ readonly source: SourceLocation;
18
+ }
19
+ export interface LinkedSchema extends ResolvedManifestReference<ParsedSchema> {
20
+ readonly translationParent?: ResolvedManifestReference<ParsedSchema>;
21
+ }
22
+ export interface LinkedView extends ResolvedManifestReference<ParsedView> {
23
+ readonly guard?: ResolvedManifestReference<ParsedProcedure>;
24
+ }
25
+ export interface LinkedProcedure extends ResolvedManifestReference<ParsedProcedure> {
26
+ readonly collectionActionSchema?: ResolvedManifestReference<ParsedSchema>;
27
+ readonly guard?: ResolvedManifestReference<ParsedProcedure>;
28
+ }
29
+ export interface LinkedTrigger extends ResolvedManifestReference<ParsedTrigger> {
30
+ readonly target: ResolvedManifestReference<ParsedProcedure>;
31
+ readonly lifecycleSchema?: ResolvedManifestReference<ParsedSchema>;
32
+ }
33
+ declare const linkedManifestSetBrand: unique symbol;
34
+ export interface LinkedManifestSet {
35
+ readonly schemas: readonly LinkedSchema[];
36
+ readonly views: readonly LinkedView[];
37
+ readonly procedures: readonly LinkedProcedure[];
38
+ readonly triggers: readonly LinkedTrigger[];
39
+ readonly [linkedManifestSetBrand]: true;
40
+ }
41
+ export type LinkResult<T> = ParseResult<T>;
42
+ /** Pure cross-manifest resolution. A failed graph never exposes a linked value. */
43
+ export declare function linkManifestSet(parsed: ParsedManifestSet): LinkResult<LinkedManifestSet>;
44
+ export {};
45
+ //# sourceMappingURL=ManifestLinker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManifestLinker.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/ManifestLinker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE7E,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAG7B,KAAK,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAChE,KAAK,UAAU,GAAG,OAAO,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC5D,KAAK,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC;AACtE,KAAK,aAAa,GAAG,OAAO,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAElE,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,cAAc;IACjE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,YAAa,SAAQ,yBAAyB,CAAC,YAAY,CAAC;IAC3E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,UAAW,SAAQ,yBAAyB,CAAC,UAAU,CAAC;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,eAAgB,SAAQ,yBAAyB,CAAC,eAAe,CAAC;IACjF,QAAQ,CAAC,sBAAsB,CAAC,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,aAAc,SAAQ,yBAAyB,CAAC,aAAa,CAAC;IAC7E,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC;CACpE;AAED,OAAO,CAAC,MAAM,sBAAsB,EAAE,OAAO,MAAM,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC;CACzC;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAE3C,mFAAmF;AACnF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,iBAAiB,GACxB,UAAU,CAAC,iBAAiB,CAAC,CAiE/B"}
@@ -0,0 +1,92 @@
1
+ import { sourceLocationAt, } from "./ManifestParser.js";
2
+ import { validateManifestGraph } from "./ManifestGraphValidator.js";
3
+ /** Pure cross-manifest resolution. A failed graph never exposes a linked value. */
4
+ export function linkManifestSet(parsed) {
5
+ const manifests = parsed.entries.map((entry) => entry.manifest);
6
+ const filePaths = sourceFilePaths(parsed.entries);
7
+ const graph = validateManifestGraph(manifests, filePaths);
8
+ const diagnostics = graph.diagnostics.map((diagnostic) => attachSource(diagnostic, parsed.entries));
9
+ if (diagnostics.some((diagnostic) => diagnostic.severity === "error")) {
10
+ return { ok: false, diagnostics };
11
+ }
12
+ const entriesByManifest = new Map(parsed.entries.map((entry) => [entry.manifest, entry]));
13
+ const schemasByName = new Map(graph.schemas.map((manifest) => [manifest.metadata.name, manifest]));
14
+ const proceduresByName = new Map(graph.procedures.map((manifest) => [manifest.metadata.name, manifest]));
15
+ const resolve = (manifest) => {
16
+ const entry = entriesByManifest.get(manifest);
17
+ if (!entry)
18
+ throw new Error(`linked manifest '${manifest.kind}/${manifest.metadata.name}' lost its source`);
19
+ return Object.freeze({ manifest, source: entry.source });
20
+ };
21
+ const resolveSchema = (name) => resolve(schemasByName.get(name));
22
+ const resolveProcedure = (name) => resolve(proceduresByName.get(name));
23
+ const schemas = graph.schemas.map((manifest) => Object.freeze({
24
+ ...resolve(manifest),
25
+ ...(manifest.spec.translates
26
+ ? { translationParent: resolveSchema(manifest.spec.translates.parent) }
27
+ : {}),
28
+ }));
29
+ const views = graph.views.map((manifest) => Object.freeze({
30
+ ...resolve(manifest),
31
+ ...(manifest.spec.requires?.guard
32
+ ? { guard: resolveProcedure(manifest.spec.requires.guard.procedure) }
33
+ : {}),
34
+ }));
35
+ const procedures = graph.procedures.map((manifest) => Object.freeze({
36
+ ...resolve(manifest),
37
+ ...(typeof manifest.spec.uiSchema?.["collectionAction"] === "string"
38
+ ? { collectionActionSchema: resolveSchema(manifest.spec.uiSchema["collectionAction"]) }
39
+ : {}),
40
+ ...(manifest.spec.requires?.guard
41
+ ? { guard: resolveProcedure(manifest.spec.requires.guard.procedure) }
42
+ : {}),
43
+ }));
44
+ const triggers = graph.triggers.map((manifest) => Object.freeze({
45
+ ...resolve(manifest),
46
+ target: resolveProcedure(manifest.spec.target.procedure),
47
+ ...(manifest.spec.source.kind === "lifecycle"
48
+ ? { lifecycleSchema: resolveSchema(manifest.spec.source.schema) }
49
+ : {}),
50
+ }));
51
+ return {
52
+ ok: true,
53
+ value: Object.freeze({
54
+ schemas: Object.freeze(schemas),
55
+ views: Object.freeze(views),
56
+ procedures: Object.freeze(procedures),
57
+ triggers: Object.freeze(triggers),
58
+ }),
59
+ diagnostics,
60
+ };
61
+ }
62
+ function sourceFilePaths(entries) {
63
+ const paths = new Map();
64
+ for (const entry of entries) {
65
+ const key = `${entry.manifest.kind}/${entry.manifest.metadata.name}`;
66
+ const location = {
67
+ file: entry.source.sourceId,
68
+ docIndex: entry.source.documentIndex,
69
+ };
70
+ const list = paths.get(key);
71
+ if (list)
72
+ list.push(location);
73
+ else
74
+ paths.set(key, [location]);
75
+ }
76
+ return paths;
77
+ }
78
+ function attachSource(diagnostic, entries) {
79
+ const matches = entries
80
+ .map((entry) => ({
81
+ entry,
82
+ prefix: `${entry.source.sourceId}#/${entry.source.documentIndex}`,
83
+ }))
84
+ .filter(({ prefix }) => diagnostic.path.startsWith(prefix))
85
+ .sort((a, b) => b.prefix.length - a.prefix.length);
86
+ const match = matches[0];
87
+ if (!match)
88
+ return diagnostic;
89
+ const path = diagnostic.path.slice(match.prefix.length) || "/";
90
+ return { ...diagnostic, path, source: sourceLocationAt(match.entry, path) };
91
+ }
92
+ //# sourceMappingURL=ManifestLinker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManifestLinker.js","sourceRoot":"","sources":["../../../../src/spec/domain/service/ManifestLinker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Drops every locale a project did not select from a manifest's localized
3
+ * `title` / `description` maps, preserving the rest of the document byte for
4
+ * byte. Provisioning calls this so a generated project's manifest carries
5
+ * only the locales it was created with.
6
+ *
7
+ * Lives in spec because manifest text is spec's material: it owns the YAML
8
+ * dependency and the shape of a localized-text node.
9
+ */
10
+ export declare class ManifestLocaleTrimError extends Error {
11
+ readonly reason: "invalid_yaml" | "unsupported_locale";
12
+ constructor(reason: "invalid_yaml" | "unsupported_locale", message: string);
13
+ }
14
+ /** Returns the manifest text unchanged when nothing needed trimming. */
15
+ export declare function trimManifestLocales(text: string, locales: readonly string[]): string;
16
+ //# sourceMappingURL=ManifestLocaleTrimmer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManifestLocaleTrimmer.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/ManifestLocaleTrimmer.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAE9C,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,oBAAoB;gBAA7C,MAAM,EAAE,cAAc,GAAG,oBAAoB,EACtD,OAAO,EAAE,MAAM;CAKlB;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CA4BpF"}