gazetta 0.6.0 → 0.8.0

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 (983) hide show
  1. package/admin-dist/assets/index-CBeq0rRb.js +693 -0
  2. package/admin-dist/assets/index-Dtg1dTZQ.css +1 -0
  3. package/admin-dist/assets/rolldown-runtime-BYbx6iT9.js +1 -0
  4. package/admin-dist/assets/{vendor-primevue-C0Q_YTCb.js → vendor-primevue-CBGHkaXv.js} +183 -39
  5. package/admin-dist/assets/{vendor-react-BipDVGow.js → vendor-react-BdW_kNCG.js} +2 -2
  6. package/admin-dist/assets/vendor-rjsf-lN2SztQt.js +33 -0
  7. package/admin-dist/assets/vendor-tiptap-C36yDquB.js +141 -0
  8. package/admin-dist/assets/vendor-vue-Bt5uR1VW.js +1 -0
  9. package/admin-dist/assets/workbox-window.prod.es5-DGMtIXHc.js +2 -0
  10. package/admin-dist/index.html +8 -8
  11. package/admin-dist/sw.js +1 -0
  12. package/dist/admin-api/archived-name-conflict.d.ts +31 -0
  13. package/dist/admin-api/archived-name-conflict.d.ts.map +1 -0
  14. package/dist/admin-api/archived-name-conflict.js +226 -0
  15. package/dist/admin-api/archived-name-conflict.js.map +1 -0
  16. package/dist/admin-api/cache-stats-logger.d.ts +83 -0
  17. package/dist/admin-api/cache-stats-logger.d.ts.map +1 -0
  18. package/dist/admin-api/cache-stats-logger.js +59 -0
  19. package/dist/admin-api/cache-stats-logger.js.map +1 -0
  20. package/dist/admin-api/error-response.d.ts +21 -0
  21. package/dist/admin-api/error-response.d.ts.map +1 -0
  22. package/dist/admin-api/error-response.js +12 -0
  23. package/dist/admin-api/error-response.js.map +1 -0
  24. package/dist/admin-api/hook-audit-emitter.d.ts +38 -0
  25. package/dist/admin-api/hook-audit-emitter.d.ts.map +1 -0
  26. package/dist/admin-api/hook-audit-emitter.js +21 -0
  27. package/dist/admin-api/hook-audit-emitter.js.map +1 -0
  28. package/dist/admin-api/index.d.ts +84 -2
  29. package/dist/admin-api/index.d.ts.map +1 -1
  30. package/dist/admin-api/index.js +257 -32
  31. package/dist/admin-api/index.js.map +1 -1
  32. package/dist/admin-api/middleware/audit.d.ts +25 -0
  33. package/dist/admin-api/middleware/audit.d.ts.map +1 -0
  34. package/dist/admin-api/middleware/audit.js +65 -0
  35. package/dist/admin-api/middleware/audit.js.map +1 -0
  36. package/dist/admin-api/middleware/capability.d.ts +8 -0
  37. package/dist/admin-api/middleware/capability.d.ts.map +1 -0
  38. package/dist/admin-api/middleware/capability.js +65 -0
  39. package/dist/admin-api/middleware/capability.js.map +1 -0
  40. package/dist/admin-api/middleware/principal.d.ts +18 -0
  41. package/dist/admin-api/middleware/principal.d.ts.map +1 -0
  42. package/dist/admin-api/middleware/principal.js +128 -0
  43. package/dist/admin-api/middleware/principal.js.map +1 -0
  44. package/dist/admin-api/routes/archive-review.d.ts +80 -0
  45. package/dist/admin-api/routes/archive-review.d.ts.map +1 -0
  46. package/dist/admin-api/routes/archive-review.js +70 -0
  47. package/dist/admin-api/routes/archive-review.js.map +1 -0
  48. package/dist/admin-api/routes/archive.d.ts +145 -0
  49. package/dist/admin-api/routes/archive.d.ts.map +1 -0
  50. package/dist/admin-api/routes/archive.js +540 -0
  51. package/dist/admin-api/routes/archive.js.map +1 -0
  52. package/dist/admin-api/routes/assets.d.ts +21 -0
  53. package/dist/admin-api/routes/assets.d.ts.map +1 -0
  54. package/dist/admin-api/routes/assets.js +586 -0
  55. package/dist/admin-api/routes/assets.js.map +1 -0
  56. package/dist/admin-api/routes/audit.d.ts +71 -0
  57. package/dist/admin-api/routes/audit.d.ts.map +1 -0
  58. package/dist/admin-api/routes/audit.js +178 -0
  59. package/dist/admin-api/routes/audit.js.map +1 -0
  60. package/dist/admin-api/routes/compare.d.ts.map +1 -1
  61. package/dist/admin-api/routes/compare.js +3 -2
  62. package/dist/admin-api/routes/compare.js.map +1 -1
  63. package/dist/admin-api/routes/fields.d.ts.map +1 -1
  64. package/dist/admin-api/routes/fields.js +2 -1
  65. package/dist/admin-api/routes/fields.js.map +1 -1
  66. package/dist/admin-api/routes/fragments.d.ts +13 -1
  67. package/dist/admin-api/routes/fragments.d.ts.map +1 -1
  68. package/dist/admin-api/routes/fragments.js +128 -67
  69. package/dist/admin-api/routes/fragments.js.map +1 -1
  70. package/dist/admin-api/routes/health.d.ts +60 -0
  71. package/dist/admin-api/routes/health.d.ts.map +1 -0
  72. package/dist/admin-api/routes/health.js +65 -0
  73. package/dist/admin-api/routes/health.js.map +1 -0
  74. package/dist/admin-api/routes/history.d.ts +2 -1
  75. package/dist/admin-api/routes/history.d.ts.map +1 -1
  76. package/dist/admin-api/routes/history.js +26 -4
  77. package/dist/admin-api/routes/history.js.map +1 -1
  78. package/dist/admin-api/routes/pages.d.ts +20 -1
  79. package/dist/admin-api/routes/pages.d.ts.map +1 -1
  80. package/dist/admin-api/routes/pages.js +158 -85
  81. package/dist/admin-api/routes/pages.js.map +1 -1
  82. package/dist/admin-api/routes/preview.d.ts.map +1 -1
  83. package/dist/admin-api/routes/preview.js +56 -17
  84. package/dist/admin-api/routes/preview.js.map +1 -1
  85. package/dist/admin-api/routes/publish.d.ts +19 -1
  86. package/dist/admin-api/routes/publish.d.ts.map +1 -1
  87. package/dist/admin-api/routes/publish.js +548 -99
  88. package/dist/admin-api/routes/publish.js.map +1 -1
  89. package/dist/admin-api/routes/rename.d.ts +62 -0
  90. package/dist/admin-api/routes/rename.d.ts.map +1 -0
  91. package/dist/admin-api/routes/rename.js +366 -0
  92. package/dist/admin-api/routes/rename.js.map +1 -0
  93. package/dist/admin-api/routes/site.d.ts.map +1 -1
  94. package/dist/admin-api/routes/site.js +6 -18
  95. package/dist/admin-api/routes/site.js.map +1 -1
  96. package/dist/admin-api/routes/system.d.ts +23 -0
  97. package/dist/admin-api/routes/system.d.ts.map +1 -0
  98. package/dist/admin-api/routes/system.js +115 -0
  99. package/dist/admin-api/routes/system.js.map +1 -0
  100. package/dist/admin-api/routes/templates.d.ts +11 -1
  101. package/dist/admin-api/routes/templates.d.ts.map +1 -1
  102. package/dist/admin-api/routes/templates.js +36 -3
  103. package/dist/admin-api/routes/templates.js.map +1 -1
  104. package/dist/admin-api/routes/validation.d.ts +47 -0
  105. package/dist/admin-api/routes/validation.d.ts.map +1 -0
  106. package/dist/admin-api/routes/validation.js +120 -0
  107. package/dist/admin-api/routes/validation.js.map +1 -0
  108. package/dist/admin-api/schemas/archive.d.ts +124 -0
  109. package/dist/admin-api/schemas/archive.d.ts.map +1 -0
  110. package/dist/admin-api/schemas/archive.js +93 -0
  111. package/dist/admin-api/schemas/archive.js.map +1 -0
  112. package/dist/admin-api/schemas/assets.d.ts +64 -0
  113. package/dist/admin-api/schemas/assets.d.ts.map +1 -0
  114. package/dist/admin-api/schemas/assets.js +59 -0
  115. package/dist/admin-api/schemas/assets.js.map +1 -0
  116. package/dist/admin-api/schemas/audit.d.ts +175 -0
  117. package/dist/admin-api/schemas/audit.d.ts.map +1 -0
  118. package/dist/admin-api/schemas/audit.js +91 -0
  119. package/dist/admin-api/schemas/audit.js.map +1 -0
  120. package/dist/admin-api/schemas/error.d.ts +94 -0
  121. package/dist/admin-api/schemas/error.d.ts.map +1 -0
  122. package/dist/admin-api/schemas/error.js +79 -0
  123. package/dist/admin-api/schemas/error.js.map +1 -0
  124. package/dist/admin-api/schemas/fragments.d.ts +2 -0
  125. package/dist/admin-api/schemas/fragments.d.ts.map +1 -1
  126. package/dist/admin-api/schemas/fragments.js +4 -0
  127. package/dist/admin-api/schemas/fragments.js.map +1 -1
  128. package/dist/admin-api/schemas/index.d.ts +10 -0
  129. package/dist/admin-api/schemas/index.d.ts.map +1 -1
  130. package/dist/admin-api/schemas/index.js +10 -0
  131. package/dist/admin-api/schemas/index.js.map +1 -1
  132. package/dist/admin-api/schemas/pages.d.ts +2 -0
  133. package/dist/admin-api/schemas/pages.d.ts.map +1 -1
  134. package/dist/admin-api/schemas/pages.js +11 -0
  135. package/dist/admin-api/schemas/pages.js.map +1 -1
  136. package/dist/admin-api/schemas/rename.d.ts +77 -0
  137. package/dist/admin-api/schemas/rename.d.ts.map +1 -0
  138. package/dist/admin-api/schemas/rename.js +75 -0
  139. package/dist/admin-api/schemas/rename.js.map +1 -0
  140. package/dist/admin-api/schemas/site.d.ts +3 -2
  141. package/dist/admin-api/schemas/site.d.ts.map +1 -1
  142. package/dist/admin-api/schemas/site.js +3 -2
  143. package/dist/admin-api/schemas/site.js.map +1 -1
  144. package/dist/admin-api/schemas/system.d.ts +28 -0
  145. package/dist/admin-api/schemas/system.d.ts.map +1 -0
  146. package/dist/admin-api/schemas/system.js +35 -0
  147. package/dist/admin-api/schemas/system.js.map +1 -0
  148. package/dist/admin-api/schemas/targets.d.ts +55 -0
  149. package/dist/admin-api/schemas/targets.d.ts.map +1 -1
  150. package/dist/admin-api/schemas/targets.js +46 -0
  151. package/dist/admin-api/schemas/targets.js.map +1 -1
  152. package/dist/admin-api/schemas/templates.d.ts +54 -0
  153. package/dist/admin-api/schemas/templates.d.ts.map +1 -1
  154. package/dist/admin-api/schemas/templates.js +21 -0
  155. package/dist/admin-api/schemas/templates.js.map +1 -1
  156. package/dist/admin-api/schemas/validation.d.ts +101 -0
  157. package/dist/admin-api/schemas/validation.d.ts.map +1 -0
  158. package/dist/admin-api/schemas/validation.js +57 -0
  159. package/dist/admin-api/schemas/validation.js.map +1 -0
  160. package/dist/admin-api/source-context.d.ts +66 -17
  161. package/dist/admin-api/source-context.d.ts.map +1 -1
  162. package/dist/admin-api/source-context.js +43 -8
  163. package/dist/admin-api/source-context.js.map +1 -1
  164. package/dist/ai/adapter-scaffold.d.ts +63 -0
  165. package/dist/ai/adapter-scaffold.d.ts.map +1 -0
  166. package/dist/ai/adapter-scaffold.js +89 -0
  167. package/dist/ai/adapter-scaffold.js.map +1 -0
  168. package/dist/ai/compose-prompt.d.ts +50 -0
  169. package/dist/ai/compose-prompt.d.ts.map +1 -0
  170. package/dist/ai/compose-prompt.js +49 -0
  171. package/dist/ai/compose-prompt.js.map +1 -0
  172. package/dist/ai/errors.d.ts +65 -0
  173. package/dist/ai/errors.d.ts.map +1 -0
  174. package/dist/ai/errors.js +59 -0
  175. package/dist/ai/errors.js.map +1 -0
  176. package/dist/ai/index.d.ts +17 -0
  177. package/dist/ai/index.d.ts.map +1 -0
  178. package/dist/ai/index.js +16 -0
  179. package/dist/ai/index.js.map +1 -0
  180. package/dist/ai/provider.d.ts +76 -0
  181. package/dist/ai/provider.d.ts.map +1 -0
  182. package/dist/ai/provider.js +13 -0
  183. package/dist/ai/provider.js.map +1 -0
  184. package/dist/ai/refusal.d.ts +50 -0
  185. package/dist/ai/refusal.d.ts.map +1 -0
  186. package/dist/ai/refusal.js +100 -0
  187. package/dist/ai/refusal.js.map +1 -0
  188. package/dist/ai/vision-prep.d.ts +32 -0
  189. package/dist/ai/vision-prep.d.ts.map +1 -0
  190. package/dist/ai/vision-prep.js +113 -0
  191. package/dist/ai/vision-prep.js.map +1 -0
  192. package/dist/alt/adapter.d.ts +140 -0
  193. package/dist/alt/adapter.d.ts.map +1 -0
  194. package/dist/alt/adapter.js +7 -0
  195. package/dist/alt/adapter.js.map +1 -0
  196. package/dist/alt/anthropic.d.ts +63 -0
  197. package/dist/alt/anthropic.d.ts.map +1 -0
  198. package/dist/alt/anthropic.js +147 -0
  199. package/dist/alt/anthropic.js.map +1 -0
  200. package/dist/alt/config.d.ts +67 -0
  201. package/dist/alt/config.d.ts.map +1 -0
  202. package/dist/alt/config.js +41 -0
  203. package/dist/alt/config.js.map +1 -0
  204. package/dist/alt/factory.d.ts +19 -0
  205. package/dist/alt/factory.d.ts.map +1 -0
  206. package/dist/alt/factory.js +69 -0
  207. package/dist/alt/factory.js.map +1 -0
  208. package/dist/alt/null-adapter.d.ts +3 -0
  209. package/dist/alt/null-adapter.d.ts.map +1 -0
  210. package/dist/alt/null-adapter.js +43 -0
  211. package/dist/alt/null-adapter.js.map +1 -0
  212. package/dist/alt/ollama.d.ts +40 -0
  213. package/dist/alt/ollama.d.ts.map +1 -0
  214. package/dist/alt/ollama.js +139 -0
  215. package/dist/alt/ollama.js.map +1 -0
  216. package/dist/alt/openai.d.ts +46 -0
  217. package/dist/alt/openai.d.ts.map +1 -0
  218. package/dist/alt/openai.js +118 -0
  219. package/dist/alt/openai.js.map +1 -0
  220. package/dist/alt/prompt-policies.d.ts +79 -0
  221. package/dist/alt/prompt-policies.d.ts.map +1 -0
  222. package/dist/alt/prompt-policies.js +67 -0
  223. package/dist/alt/prompt-policies.js.map +1 -0
  224. package/dist/alt/route-handler.d.ts +56 -0
  225. package/dist/alt/route-handler.d.ts.map +1 -0
  226. package/dist/alt/route-handler.js +122 -0
  227. package/dist/alt/route-handler.js.map +1 -0
  228. package/dist/alt/suggester.d.ts +57 -0
  229. package/dist/alt/suggester.d.ts.map +1 -0
  230. package/dist/alt/suggester.js +133 -0
  231. package/dist/alt/suggester.js.map +1 -0
  232. package/dist/app.js +1 -1
  233. package/dist/app.js.map +1 -1
  234. package/dist/archive-aliases.d.ts +79 -0
  235. package/dist/archive-aliases.d.ts.map +1 -0
  236. package/dist/archive-aliases.js +60 -0
  237. package/dist/archive-aliases.js.map +1 -0
  238. package/dist/archive-helpers.d.ts +73 -0
  239. package/dist/archive-helpers.d.ts.map +1 -0
  240. package/dist/archive-helpers.js +94 -0
  241. package/dist/archive-helpers.js.map +1 -0
  242. package/dist/assets/analyze-audio.d.ts +3 -0
  243. package/dist/assets/analyze-audio.d.ts.map +1 -0
  244. package/dist/assets/analyze-audio.js +80 -0
  245. package/dist/assets/analyze-audio.js.map +1 -0
  246. package/dist/assets/analyze-image.d.ts +19 -0
  247. package/dist/assets/analyze-image.d.ts.map +1 -0
  248. package/dist/assets/analyze-image.js +123 -0
  249. package/dist/assets/analyze-image.js.map +1 -0
  250. package/dist/assets/analyze.d.ts +94 -0
  251. package/dist/assets/analyze.d.ts.map +1 -0
  252. package/dist/assets/analyze.js +45 -0
  253. package/dist/assets/analyze.js.map +1 -0
  254. package/dist/assets/asset-deps.d.ts +30 -0
  255. package/dist/assets/asset-deps.d.ts.map +1 -0
  256. package/dist/assets/asset-deps.js +42 -0
  257. package/dist/assets/asset-deps.js.map +1 -0
  258. package/dist/assets/asset-paths.d.ts +155 -0
  259. package/dist/assets/asset-paths.d.ts.map +1 -0
  260. package/dist/assets/asset-paths.js +197 -0
  261. package/dist/assets/asset-paths.js.map +1 -0
  262. package/dist/assets/delete.d.ts +75 -0
  263. package/dist/assets/delete.d.ts.map +1 -0
  264. package/dist/assets/delete.js +82 -0
  265. package/dist/assets/delete.js.map +1 -0
  266. package/dist/assets/errors.d.ts +241 -0
  267. package/dist/assets/errors.d.ts.map +1 -0
  268. package/dist/assets/errors.js +300 -0
  269. package/dist/assets/errors.js.map +1 -0
  270. package/dist/assets/find-refs.d.ts +37 -0
  271. package/dist/assets/find-refs.d.ts.map +1 -0
  272. package/dist/assets/find-refs.js +35 -0
  273. package/dist/assets/find-refs.js.map +1 -0
  274. package/dist/assets/hash.d.ts +13 -0
  275. package/dist/assets/hash.d.ts.map +1 -0
  276. package/dist/assets/hash.js +43 -0
  277. package/dist/assets/hash.js.map +1 -0
  278. package/dist/assets/image-metadata.d.ts +11 -0
  279. package/dist/assets/image-metadata.d.ts.map +1 -0
  280. package/dist/assets/image-metadata.js +31 -0
  281. package/dist/assets/image-metadata.js.map +1 -0
  282. package/dist/assets/ingest-locale.d.ts +86 -0
  283. package/dist/assets/ingest-locale.d.ts.map +1 -0
  284. package/dist/assets/ingest-locale.js +209 -0
  285. package/dist/assets/ingest-locale.js.map +1 -0
  286. package/dist/assets/ingest.d.ts +96 -0
  287. package/dist/assets/ingest.d.ts.map +1 -0
  288. package/dist/assets/ingest.js +308 -0
  289. package/dist/assets/ingest.js.map +1 -0
  290. package/dist/assets/kind-compat.d.ts +34 -0
  291. package/dist/assets/kind-compat.d.ts.map +1 -0
  292. package/dist/assets/kind-compat.js +33 -0
  293. package/dist/assets/kind-compat.js.map +1 -0
  294. package/dist/assets/list.d.ts +46 -0
  295. package/dist/assets/list.d.ts.map +1 -0
  296. package/dist/assets/list.js +102 -0
  297. package/dist/assets/list.js.map +1 -0
  298. package/dist/assets/manifest-default.d.ts +56 -0
  299. package/dist/assets/manifest-default.d.ts.map +1 -0
  300. package/dist/assets/manifest-default.js +120 -0
  301. package/dist/assets/manifest-default.js.map +1 -0
  302. package/dist/assets/manifest-filename.d.ts +52 -0
  303. package/dist/assets/manifest-filename.d.ts.map +1 -0
  304. package/dist/assets/manifest-filename.js +104 -0
  305. package/dist/assets/manifest-filename.js.map +1 -0
  306. package/dist/assets/manifest-locale.d.ts +60 -0
  307. package/dist/assets/manifest-locale.d.ts.map +1 -0
  308. package/dist/assets/manifest-locale.js +206 -0
  309. package/dist/assets/manifest-locale.js.map +1 -0
  310. package/dist/assets/manifest-merge.d.ts +66 -0
  311. package/dist/assets/manifest-merge.d.ts.map +1 -0
  312. package/dist/assets/manifest-merge.js +82 -0
  313. package/dist/assets/manifest-merge.js.map +1 -0
  314. package/dist/assets/manifest.d.ts +83 -0
  315. package/dist/assets/manifest.d.ts.map +1 -0
  316. package/dist/assets/manifest.js +93 -0
  317. package/dist/assets/manifest.js.map +1 -0
  318. package/dist/assets/mime-sniff.d.ts +18 -0
  319. package/dist/assets/mime-sniff.d.ts.map +1 -0
  320. package/dist/assets/mime-sniff.js +84 -0
  321. package/dist/assets/mime-sniff.js.map +1 -0
  322. package/dist/assets/preprocess-svg.d.ts +3 -0
  323. package/dist/assets/preprocess-svg.d.ts.map +1 -0
  324. package/dist/assets/preprocess-svg.js +49 -0
  325. package/dist/assets/preprocess-svg.js.map +1 -0
  326. package/dist/assets/preprocess.d.ts +62 -0
  327. package/dist/assets/preprocess.d.ts.map +1 -0
  328. package/dist/assets/preprocess.js +86 -0
  329. package/dist/assets/preprocess.js.map +1 -0
  330. package/dist/assets/publish-plan.d.ts +41 -0
  331. package/dist/assets/publish-plan.d.ts.map +1 -0
  332. package/dist/assets/publish-plan.js +49 -0
  333. package/dist/assets/publish-plan.js.map +1 -0
  334. package/dist/assets/publish.d.ts +33 -0
  335. package/dist/assets/publish.d.ts.map +1 -0
  336. package/dist/assets/publish.js +81 -0
  337. package/dist/assets/publish.js.map +1 -0
  338. package/dist/assets/refs.d.ts +37 -0
  339. package/dist/assets/refs.d.ts.map +1 -0
  340. package/dist/assets/refs.js +33 -0
  341. package/dist/assets/refs.js.map +1 -0
  342. package/dist/assets/remove-override.d.ts +42 -0
  343. package/dist/assets/remove-override.d.ts.map +1 -0
  344. package/dist/assets/remove-override.js +53 -0
  345. package/dist/assets/remove-override.js.map +1 -0
  346. package/dist/assets/rename.d.ts +43 -0
  347. package/dist/assets/rename.d.ts.map +1 -0
  348. package/dist/assets/rename.js +271 -0
  349. package/dist/assets/rename.js.map +1 -0
  350. package/dist/assets/replace.d.ts +37 -0
  351. package/dist/assets/replace.d.ts.map +1 -0
  352. package/dist/assets/replace.js +195 -0
  353. package/dist/assets/replace.js.map +1 -0
  354. package/dist/assets/resolve.d.ts +141 -0
  355. package/dist/assets/resolve.d.ts.map +1 -0
  356. package/dist/assets/resolve.js +381 -0
  357. package/dist/assets/resolve.js.map +1 -0
  358. package/dist/assets/rewrite-manifest-asset-ref.d.ts +44 -0
  359. package/dist/assets/rewrite-manifest-asset-ref.d.ts.map +1 -0
  360. package/dist/assets/rewrite-manifest-asset-ref.js +51 -0
  361. package/dist/assets/rewrite-manifest-asset-ref.js.map +1 -0
  362. package/dist/assets/scan-manifest-for-asset.d.ts +63 -0
  363. package/dist/assets/scan-manifest-for-asset.d.ts.map +1 -0
  364. package/dist/assets/scan-manifest-for-asset.js +105 -0
  365. package/dist/assets/scan-manifest-for-asset.js.map +1 -0
  366. package/dist/assets/serve-route.d.ts +45 -0
  367. package/dist/assets/serve-route.d.ts.map +1 -0
  368. package/dist/assets/serve-route.js +123 -0
  369. package/dist/assets/serve-route.js.map +1 -0
  370. package/dist/assets/svg-sanitize.d.ts +38 -0
  371. package/dist/assets/svg-sanitize.d.ts.map +1 -0
  372. package/dist/assets/svg-sanitize.js +209 -0
  373. package/dist/assets/svg-sanitize.js.map +1 -0
  374. package/dist/assets/update-metadata.d.ts +61 -0
  375. package/dist/assets/update-metadata.d.ts.map +1 -0
  376. package/dist/assets/update-metadata.js +82 -0
  377. package/dist/assets/update-metadata.js.map +1 -0
  378. package/dist/assets/url.d.ts +82 -0
  379. package/dist/assets/url.d.ts.map +1 -0
  380. package/dist/assets/url.js +103 -0
  381. package/dist/assets/url.js.map +1 -0
  382. package/dist/assets/validate.d.ts +74 -0
  383. package/dist/assets/validate.d.ts.map +1 -0
  384. package/dist/assets/validate.js +136 -0
  385. package/dist/assets/validate.js.map +1 -0
  386. package/dist/assets/variants.d.ts +23 -0
  387. package/dist/assets/variants.d.ts.map +1 -0
  388. package/dist/assets/variants.js +74 -0
  389. package/dist/assets/variants.js.map +1 -0
  390. package/dist/audit/config.d.ts +75 -0
  391. package/dist/audit/config.d.ts.map +1 -0
  392. package/dist/audit/config.js +91 -0
  393. package/dist/audit/config.js.map +1 -0
  394. package/dist/audit/context.d.ts +98 -0
  395. package/dist/audit/context.d.ts.map +1 -0
  396. package/dist/audit/context.js +51 -0
  397. package/dist/audit/context.js.map +1 -0
  398. package/dist/audit/errors.d.ts +73 -0
  399. package/dist/audit/errors.d.ts.map +1 -0
  400. package/dist/audit/errors.js +78 -0
  401. package/dist/audit/errors.js.map +1 -0
  402. package/dist/audit/index.d.ts +16 -0
  403. package/dist/audit/index.d.ts.map +1 -0
  404. package/dist/audit/index.js +10 -0
  405. package/dist/audit/index.js.map +1 -0
  406. package/dist/audit/provider.d.ts +73 -0
  407. package/dist/audit/provider.d.ts.map +1 -0
  408. package/dist/audit/provider.js +2 -0
  409. package/dist/audit/provider.js.map +1 -0
  410. package/dist/audit/providers/history.d.ts +66 -0
  411. package/dist/audit/providers/history.d.ts.map +1 -0
  412. package/dist/audit/providers/history.js +102 -0
  413. package/dist/audit/providers/history.js.map +1 -0
  414. package/dist/audit/pseudonymize.d.ts +26 -0
  415. package/dist/audit/pseudonymize.d.ts.map +1 -0
  416. package/dist/audit/pseudonymize.js +86 -0
  417. package/dist/audit/pseudonymize.js.map +1 -0
  418. package/dist/audit/recorder.d.ts +102 -0
  419. package/dist/audit/recorder.d.ts.map +1 -0
  420. package/dist/audit/recorder.js +55 -0
  421. package/dist/audit/recorder.js.map +1 -0
  422. package/dist/audit/retention.d.ts +83 -0
  423. package/dist/audit/retention.d.ts.map +1 -0
  424. package/dist/audit/retention.js +142 -0
  425. package/dist/audit/retention.js.map +1 -0
  426. package/dist/audit/source-ip.d.ts +32 -0
  427. package/dist/audit/source-ip.d.ts.map +1 -0
  428. package/dist/audit/source-ip.js +164 -0
  429. package/dist/audit/source-ip.js.map +1 -0
  430. package/dist/audit/types.d.ts +143 -0
  431. package/dist/audit/types.d.ts.map +1 -0
  432. package/dist/audit/types.js +33 -0
  433. package/dist/audit/types.js.map +1 -0
  434. package/dist/audit/user-agent.d.ts +28 -0
  435. package/dist/audit/user-agent.d.ts.map +1 -0
  436. package/dist/audit/user-agent.js +63 -0
  437. package/dist/audit/user-agent.js.map +1 -0
  438. package/dist/auth/capabilities.d.ts +28 -0
  439. package/dist/auth/capabilities.d.ts.map +1 -0
  440. package/dist/auth/capabilities.js +101 -0
  441. package/dist/auth/capabilities.js.map +1 -0
  442. package/dist/auth/config.d.ts +109 -0
  443. package/dist/auth/config.d.ts.map +1 -0
  444. package/dist/auth/config.js +221 -0
  445. package/dist/auth/config.js.map +1 -0
  446. package/dist/auth/errors.d.ts +72 -0
  447. package/dist/auth/errors.d.ts.map +1 -0
  448. package/dist/auth/errors.js +78 -0
  449. package/dist/auth/errors.js.map +1 -0
  450. package/dist/auth/factory.d.ts +43 -0
  451. package/dist/auth/factory.d.ts.map +1 -0
  452. package/dist/auth/factory.js +48 -0
  453. package/dist/auth/factory.js.map +1 -0
  454. package/dist/auth/index.d.ts +21 -0
  455. package/dist/auth/index.d.ts.map +1 -0
  456. package/dist/auth/index.js +14 -0
  457. package/dist/auth/index.js.map +1 -0
  458. package/dist/auth/ip-match.d.ts +29 -0
  459. package/dist/auth/ip-match.d.ts.map +1 -0
  460. package/dist/auth/ip-match.js +162 -0
  461. package/dist/auth/ip-match.js.map +1 -0
  462. package/dist/auth/provider.d.ts +76 -0
  463. package/dist/auth/provider.d.ts.map +1 -0
  464. package/dist/auth/provider.js +2 -0
  465. package/dist/auth/provider.js.map +1 -0
  466. package/dist/auth/providers/aws-cognito.d.ts +55 -0
  467. package/dist/auth/providers/aws-cognito.d.ts.map +1 -0
  468. package/dist/auth/providers/aws-cognito.js +114 -0
  469. package/dist/auth/providers/aws-cognito.js.map +1 -0
  470. package/dist/auth/providers/azure-easy-auth.d.ts +7 -0
  471. package/dist/auth/providers/azure-easy-auth.d.ts.map +1 -0
  472. package/dist/auth/providers/azure-easy-auth.js +48 -0
  473. package/dist/auth/providers/azure-easy-auth.js.map +1 -0
  474. package/dist/auth/providers/cloudflare-access.d.ts +71 -0
  475. package/dist/auth/providers/cloudflare-access.d.ts.map +1 -0
  476. package/dist/auth/providers/cloudflare-access.js +120 -0
  477. package/dist/auth/providers/cloudflare-access.js.map +1 -0
  478. package/dist/auth/providers/forwarded-user.d.ts +31 -0
  479. package/dist/auth/providers/forwarded-user.d.ts.map +1 -0
  480. package/dist/auth/providers/forwarded-user.js +72 -0
  481. package/dist/auth/providers/forwarded-user.js.map +1 -0
  482. package/dist/auth/providers/none.d.ts +6 -0
  483. package/dist/auth/providers/none.d.ts.map +1 -0
  484. package/dist/auth/providers/none.js +19 -0
  485. package/dist/auth/providers/none.js.map +1 -0
  486. package/dist/auth/providers/tailscale.d.ts +7 -0
  487. package/dist/auth/providers/tailscale.d.ts.map +1 -0
  488. package/dist/auth/providers/tailscale.js +30 -0
  489. package/dist/auth/providers/tailscale.js.map +1 -0
  490. package/dist/auth/role-resolver.d.ts +38 -0
  491. package/dist/auth/role-resolver.d.ts.map +1 -0
  492. package/dist/auth/role-resolver.js +92 -0
  493. package/dist/auth/role-resolver.js.map +1 -0
  494. package/dist/auth/types.d.ts +150 -0
  495. package/dist/auth/types.d.ts.map +1 -0
  496. package/dist/auth/types.js +60 -0
  497. package/dist/auth/types.js.map +1 -0
  498. package/dist/cache/errors.d.ts +41 -0
  499. package/dist/cache/errors.d.ts.map +1 -0
  500. package/dist/cache/errors.js +44 -0
  501. package/dist/cache/errors.js.map +1 -0
  502. package/dist/cache/factories.d.ts +17 -0
  503. package/dist/cache/factories.d.ts.map +1 -0
  504. package/dist/cache/factories.js +17 -0
  505. package/dist/cache/factories.js.map +1 -0
  506. package/dist/cache/keys.d.ts +63 -0
  507. package/dist/cache/keys.d.ts.map +1 -0
  508. package/dist/cache/keys.js +145 -0
  509. package/dist/cache/keys.js.map +1 -0
  510. package/dist/cache/memory.d.ts +51 -0
  511. package/dist/cache/memory.d.ts.map +1 -0
  512. package/dist/cache/memory.js +204 -0
  513. package/dist/cache/memory.js.map +1 -0
  514. package/dist/cache/per-site.d.ts +22 -0
  515. package/dist/cache/per-site.d.ts.map +1 -0
  516. package/dist/cache/per-site.js +114 -0
  517. package/dist/cache/per-site.js.map +1 -0
  518. package/dist/cache/types.d.ts +142 -0
  519. package/dist/cache/types.d.ts.map +1 -0
  520. package/dist/cache/types.js +33 -0
  521. package/dist/cache/types.js.map +1 -0
  522. package/dist/cli/archive.d.ts +44 -0
  523. package/dist/cli/archive.d.ts.map +1 -0
  524. package/dist/cli/archive.js +310 -0
  525. package/dist/cli/archive.js.map +1 -0
  526. package/dist/cli/assets-cli.d.ts +58 -0
  527. package/dist/cli/assets-cli.d.ts.map +1 -0
  528. package/dist/cli/assets-cli.js +233 -0
  529. package/dist/cli/assets-cli.js.map +1 -0
  530. package/dist/cli/assets-display.d.ts +112 -0
  531. package/dist/cli/assets-display.d.ts.map +1 -0
  532. package/dist/cli/assets-display.js +106 -0
  533. package/dist/cli/assets-display.js.map +1 -0
  534. package/dist/cli/bootstrap.d.ts +15 -10
  535. package/dist/cli/bootstrap.d.ts.map +1 -1
  536. package/dist/cli/bootstrap.js +59 -24
  537. package/dist/cli/bootstrap.js.map +1 -1
  538. package/dist/cli/dev-template-watcher.d.ts +29 -0
  539. package/dist/cli/dev-template-watcher.d.ts.map +1 -0
  540. package/dist/cli/dev-template-watcher.js +38 -0
  541. package/dist/cli/dev-template-watcher.js.map +1 -0
  542. package/dist/cli/history.d.ts.map +1 -1
  543. package/dist/cli/history.js +5 -3
  544. package/dist/cli/history.js.map +1 -1
  545. package/dist/cli/index.js +737 -374
  546. package/dist/cli/index.js.map +1 -1
  547. package/dist/cli/validate-flags.d.ts +29 -0
  548. package/dist/cli/validate-flags.d.ts.map +1 -0
  549. package/dist/cli/validate-flags.js +49 -0
  550. package/dist/cli/validate-flags.js.map +1 -0
  551. package/dist/compare.d.ts +1 -1
  552. package/dist/compare.d.ts.map +1 -1
  553. package/dist/compare.js +40 -35
  554. package/dist/compare.js.map +1 -1
  555. package/dist/component-ids.d.ts +25 -0
  556. package/dist/component-ids.d.ts.map +1 -0
  557. package/dist/component-ids.js +83 -0
  558. package/dist/component-ids.js.map +1 -0
  559. package/dist/config/define.d.ts +61 -0
  560. package/dist/config/define.d.ts.map +1 -0
  561. package/dist/config/define.js +64 -0
  562. package/dist/config/define.js.map +1 -0
  563. package/dist/config/errors.d.ts +32 -0
  564. package/dist/config/errors.d.ts.map +1 -0
  565. package/dist/config/errors.js +40 -0
  566. package/dist/config/errors.js.map +1 -0
  567. package/dist/config/index.d.ts +13 -0
  568. package/dist/config/index.d.ts.map +1 -0
  569. package/dist/config/index.js +20 -0
  570. package/dist/config/index.js.map +1 -0
  571. package/dist/config/loader.d.ts +105 -0
  572. package/dist/config/loader.d.ts.map +1 -0
  573. package/dist/config/loader.js +265 -0
  574. package/dist/config/loader.js.map +1 -0
  575. package/dist/config/schemas.d.ts +89 -0
  576. package/dist/config/schemas.d.ts.map +1 -0
  577. package/dist/config/schemas.js +172 -0
  578. package/dist/config/schemas.js.map +1 -0
  579. package/dist/config/types.d.ts +32 -0
  580. package/dist/config/types.d.ts.map +1 -0
  581. package/dist/config/types.js +15 -0
  582. package/dist/config/types.js.map +1 -0
  583. package/dist/dep-sidecars.d.ts +127 -0
  584. package/dist/dep-sidecars.d.ts.map +1 -0
  585. package/dist/dep-sidecars.js +122 -0
  586. package/dist/dep-sidecars.js.map +1 -0
  587. package/dist/deploy/cloudflare-workers.d.ts +46 -0
  588. package/dist/deploy/cloudflare-workers.d.ts.map +1 -0
  589. package/dist/deploy/cloudflare-workers.js +213 -0
  590. package/dist/deploy/cloudflare-workers.js.map +1 -0
  591. package/dist/deploy/errors.d.ts +66 -0
  592. package/dist/deploy/errors.d.ts.map +1 -0
  593. package/dist/deploy/errors.js +82 -0
  594. package/dist/deploy/errors.js.map +1 -0
  595. package/dist/deploy/index.d.ts +9 -0
  596. package/dist/deploy/index.d.ts.map +1 -0
  597. package/dist/deploy/index.js +3 -0
  598. package/dist/deploy/index.js.map +1 -0
  599. package/dist/deploy/types.d.ts +162 -0
  600. package/dist/deploy/types.d.ts.map +1 -0
  601. package/dist/deploy/types.js +2 -0
  602. package/dist/deploy/types.js.map +1 -0
  603. package/dist/editor/AssetEmbeddedWidget.d.ts +3 -0
  604. package/dist/editor/AssetEmbeddedWidget.d.ts.map +1 -0
  605. package/dist/editor/AssetEmbeddedWidget.js +146 -0
  606. package/dist/editor/AssetEmbeddedWidget.js.map +1 -0
  607. package/dist/editor/mount.d.ts +12 -1
  608. package/dist/editor/mount.d.ts.map +1 -1
  609. package/dist/editor/mount.js +36 -5
  610. package/dist/editor/mount.js.map +1 -1
  611. package/dist/format.d.ts +44 -0
  612. package/dist/format.d.ts.map +1 -0
  613. package/dist/format.js +65 -0
  614. package/dist/format.js.map +1 -0
  615. package/dist/fragment-deps.d.ts +24 -0
  616. package/dist/fragment-deps.d.ts.map +1 -0
  617. package/dist/fragment-deps.js +20 -0
  618. package/dist/fragment-deps.js.map +1 -0
  619. package/dist/fragments/create.d.ts +70 -0
  620. package/dist/fragments/create.d.ts.map +1 -0
  621. package/dist/fragments/create.js +93 -0
  622. package/dist/fragments/create.js.map +1 -0
  623. package/dist/fragments/publish.d.ts +37 -0
  624. package/dist/fragments/publish.d.ts.map +1 -0
  625. package/dist/fragments/publish.js +52 -0
  626. package/dist/fragments/publish.js.map +1 -0
  627. package/dist/fragments/save.d.ts +81 -0
  628. package/dist/fragments/save.d.ts.map +1 -0
  629. package/dist/fragments/save.js +105 -0
  630. package/dist/fragments/save.js.map +1 -0
  631. package/dist/hash.d.ts +0 -6
  632. package/dist/hash.d.ts.map +1 -1
  633. package/dist/hash.js +0 -18
  634. package/dist/hash.js.map +1 -1
  635. package/dist/history-provider.d.ts.map +1 -1
  636. package/dist/history-provider.js +30 -8
  637. package/dist/history-provider.js.map +1 -1
  638. package/dist/history-recorder.d.ts +10 -6
  639. package/dist/history-recorder.d.ts.map +1 -1
  640. package/dist/history-recorder.js +13 -5
  641. package/dist/history-recorder.js.map +1 -1
  642. package/dist/history-restorer.d.ts.map +1 -1
  643. package/dist/history-restorer.js +34 -2
  644. package/dist/history-restorer.js.map +1 -1
  645. package/dist/history.d.ts +26 -8
  646. package/dist/history.d.ts.map +1 -1
  647. package/dist/hooks/audit-emitter.d.ts +73 -0
  648. package/dist/hooks/audit-emitter.d.ts.map +1 -0
  649. package/dist/hooks/audit-emitter.js +13 -0
  650. package/dist/hooks/audit-emitter.js.map +1 -0
  651. package/dist/hooks/context.d.ts +78 -0
  652. package/dist/hooks/context.d.ts.map +1 -0
  653. package/dist/hooks/context.js +56 -0
  654. package/dist/hooks/context.js.map +1 -0
  655. package/dist/hooks/contribution.d.ts +90 -0
  656. package/dist/hooks/contribution.d.ts.map +1 -0
  657. package/dist/hooks/contribution.js +2 -0
  658. package/dist/hooks/contribution.js.map +1 -0
  659. package/dist/hooks/dispatch.d.ts +30 -0
  660. package/dist/hooks/dispatch.d.ts.map +1 -0
  661. package/dist/hooks/dispatch.js +252 -0
  662. package/dist/hooks/dispatch.js.map +1 -0
  663. package/dist/hooks/errors.d.ts +100 -0
  664. package/dist/hooks/errors.d.ts.map +1 -0
  665. package/dist/hooks/errors.js +103 -0
  666. package/dist/hooks/errors.js.map +1 -0
  667. package/dist/hooks/index.d.ts +15 -0
  668. package/dist/hooks/index.d.ts.map +1 -0
  669. package/dist/hooks/index.js +6 -0
  670. package/dist/hooks/index.js.map +1 -0
  671. package/dist/hooks/registry.d.ts +53 -0
  672. package/dist/hooks/registry.d.ts.map +1 -0
  673. package/dist/hooks/registry.js +139 -0
  674. package/dist/hooks/registry.js.map +1 -0
  675. package/dist/hooks/storage.d.ts +43 -0
  676. package/dist/hooks/storage.d.ts.map +1 -0
  677. package/dist/hooks/storage.js +2 -0
  678. package/dist/hooks/storage.js.map +1 -0
  679. package/dist/hooks/types.d.ts +324 -0
  680. package/dist/hooks/types.d.ts.map +1 -0
  681. package/dist/hooks/types.js +2 -0
  682. package/dist/hooks/types.js.map +1 -0
  683. package/dist/index.d.ts +27 -9
  684. package/dist/index.d.ts.map +1 -1
  685. package/dist/index.js +50 -7
  686. package/dist/index.js.map +1 -1
  687. package/dist/locale.d.ts +25 -1
  688. package/dist/locale.d.ts.map +1 -1
  689. package/dist/locale.js +44 -2
  690. package/dist/locale.js.map +1 -1
  691. package/dist/manifest-save.d.ts +255 -0
  692. package/dist/manifest-save.d.ts.map +1 -0
  693. package/dist/manifest-save.js +260 -0
  694. package/dist/manifest-save.js.map +1 -0
  695. package/dist/manifest.d.ts +1 -2
  696. package/dist/manifest.d.ts.map +1 -1
  697. package/dist/manifest.js +43 -44
  698. package/dist/manifest.js.map +1 -1
  699. package/dist/node-floor.d.ts +3 -0
  700. package/dist/node-floor.d.ts.map +1 -0
  701. package/dist/node-floor.js +3 -0
  702. package/dist/node-floor.js.map +1 -0
  703. package/dist/pages/create.d.ts +103 -0
  704. package/dist/pages/create.d.ts.map +1 -0
  705. package/dist/pages/create.js +117 -0
  706. package/dist/pages/create.js.map +1 -0
  707. package/dist/pages/publish.d.ts +59 -0
  708. package/dist/pages/publish.d.ts.map +1 -0
  709. package/dist/pages/publish.js +78 -0
  710. package/dist/pages/publish.js.map +1 -0
  711. package/dist/pages/save.d.ts +97 -0
  712. package/dist/pages/save.d.ts.map +1 -0
  713. package/dist/pages/save.js +138 -0
  714. package/dist/pages/save.js.map +1 -0
  715. package/dist/providers/_atomic-write.d.ts +9 -0
  716. package/dist/providers/_atomic-write.d.ts.map +1 -0
  717. package/dist/providers/_atomic-write.js +72 -0
  718. package/dist/providers/_atomic-write.js.map +1 -0
  719. package/dist/providers/_rm-ignore-missing.d.ts +31 -0
  720. package/dist/providers/_rm-ignore-missing.d.ts.map +1 -0
  721. package/dist/providers/_rm-ignore-missing.js +12 -0
  722. package/dist/providers/_rm-ignore-missing.js.map +1 -0
  723. package/dist/providers/_stream-interop.d.ts +23 -0
  724. package/dist/providers/_stream-interop.d.ts.map +1 -0
  725. package/dist/providers/_stream-interop.js +21 -0
  726. package/dist/providers/_stream-interop.js.map +1 -0
  727. package/dist/providers/azure-blob.d.ts.map +1 -1
  728. package/dist/providers/azure-blob.js +60 -0
  729. package/dist/providers/azure-blob.js.map +1 -1
  730. package/dist/providers/factories.d.ts +65 -0
  731. package/dist/providers/factories.d.ts.map +1 -0
  732. package/dist/providers/factories.js +189 -0
  733. package/dist/providers/factories.js.map +1 -0
  734. package/dist/providers/filesystem.d.ts +4 -0
  735. package/dist/providers/filesystem.d.ts.map +1 -1
  736. package/dist/providers/filesystem.js +63 -2
  737. package/dist/providers/filesystem.js.map +1 -1
  738. package/dist/providers/s3.d.ts.map +1 -1
  739. package/dist/providers/s3.js +84 -1
  740. package/dist/providers/s3.js.map +1 -1
  741. package/dist/publish-item.d.ts +225 -0
  742. package/dist/publish-item.d.ts.map +1 -0
  743. package/dist/publish-item.js +210 -0
  744. package/dist/publish-item.js.map +1 -0
  745. package/dist/publish-rendered.d.ts +37 -17
  746. package/dist/publish-rendered.d.ts.map +1 -1
  747. package/dist/publish-rendered.js +144 -71
  748. package/dist/publish-rendered.js.map +1 -1
  749. package/dist/publish-renderers.d.ts +132 -0
  750. package/dist/publish-renderers.d.ts.map +1 -0
  751. package/dist/publish-renderers.js +240 -0
  752. package/dist/publish-renderers.js.map +1 -0
  753. package/dist/publish-run.d.ts +223 -0
  754. package/dist/publish-run.d.ts.map +1 -0
  755. package/dist/publish-run.js +307 -0
  756. package/dist/publish-run.js.map +1 -0
  757. package/dist/publish.d.ts +13 -12
  758. package/dist/publish.d.ts.map +1 -1
  759. package/dist/publish.js +24 -57
  760. package/dist/publish.js.map +1 -1
  761. package/dist/render-for-analysis.d.ts +24 -0
  762. package/dist/render-for-analysis.d.ts.map +1 -0
  763. package/dist/render-for-analysis.js +146 -0
  764. package/dist/render-for-analysis.js.map +1 -0
  765. package/dist/resolver.d.ts +12 -2
  766. package/dist/resolver.d.ts.map +1 -1
  767. package/dist/resolver.js +101 -32
  768. package/dist/resolver.js.map +1 -1
  769. package/dist/runtime/archive-marker.d.ts +62 -0
  770. package/dist/runtime/archive-marker.d.ts.map +1 -0
  771. package/dist/runtime/archive-marker.js +88 -0
  772. package/dist/runtime/archive-marker.js.map +1 -0
  773. package/dist/runtime/capability-gap-warnings.d.ts +42 -0
  774. package/dist/runtime/capability-gap-warnings.d.ts.map +1 -0
  775. package/dist/runtime/capability-gap-warnings.js +28 -0
  776. package/dist/runtime/capability-gap-warnings.js.map +1 -0
  777. package/dist/runtime/redirects-emit.d.ts +93 -0
  778. package/dist/runtime/redirects-emit.d.ts.map +1 -0
  779. package/dist/runtime/redirects-emit.js +89 -0
  780. package/dist/runtime/redirects-emit.js.map +1 -0
  781. package/dist/runtime/runtime-capabilities.d.ts +79 -0
  782. package/dist/runtime/runtime-capabilities.d.ts.map +1 -0
  783. package/dist/runtime/runtime-capabilities.js +60 -0
  784. package/dist/runtime/runtime-capabilities.js.map +1 -0
  785. package/dist/save-etag.d.ts +69 -0
  786. package/dist/save-etag.d.ts.map +1 -0
  787. package/dist/save-etag.js +118 -0
  788. package/dist/save-etag.js.map +1 -0
  789. package/dist/schema/dimensions.d.ts +78 -0
  790. package/dist/schema/dimensions.d.ts.map +1 -0
  791. package/dist/schema/dimensions.js +97 -0
  792. package/dist/schema/dimensions.js.map +1 -0
  793. package/dist/schema/helpers.d.ts +108 -0
  794. package/dist/schema/helpers.d.ts.map +1 -0
  795. package/dist/schema/helpers.js +133 -0
  796. package/dist/schema/helpers.js.map +1 -0
  797. package/dist/schema/index.d.ts +27 -0
  798. package/dist/schema/index.d.ts.map +1 -0
  799. package/dist/schema/index.js +25 -0
  800. package/dist/schema/index.js.map +1 -0
  801. package/dist/schema/types.d.ts +390 -0
  802. package/dist/schema/types.d.ts.map +1 -0
  803. package/dist/schema/types.js +25 -0
  804. package/dist/schema/types.js.map +1 -0
  805. package/dist/selector-chain.d.ts +63 -0
  806. package/dist/selector-chain.d.ts.map +1 -0
  807. package/dist/selector-chain.js +58 -0
  808. package/dist/selector-chain.js.map +1 -0
  809. package/dist/sidecars.d.ts +19 -18
  810. package/dist/sidecars.d.ts.map +1 -1
  811. package/dist/sidecars.js +70 -62
  812. package/dist/sidecars.js.map +1 -1
  813. package/dist/site-loader.d.ts +42 -4
  814. package/dist/site-loader.d.ts.map +1 -1
  815. package/dist/site-loader.js +27 -8
  816. package/dist/site-loader.js.map +1 -1
  817. package/dist/targets.d.ts +21 -12
  818. package/dist/targets.d.ts.map +1 -1
  819. package/dist/targets.js +27 -117
  820. package/dist/targets.js.map +1 -1
  821. package/dist/testing/admin-cache-contract.d.ts +52 -0
  822. package/dist/testing/admin-cache-contract.d.ts.map +1 -0
  823. package/dist/testing/admin-cache-contract.js +203 -0
  824. package/dist/testing/admin-cache-contract.js.map +1 -0
  825. package/dist/testing/index.d.ts +11 -0
  826. package/dist/testing/index.d.ts.map +1 -0
  827. package/dist/testing/index.js +11 -0
  828. package/dist/testing/index.js.map +1 -0
  829. package/dist/themes.d.ts +69 -0
  830. package/dist/themes.d.ts.map +1 -0
  831. package/dist/themes.js +85 -0
  832. package/dist/themes.js.map +1 -0
  833. package/dist/transforms/adapter.d.ts +115 -0
  834. package/dist/transforms/adapter.d.ts.map +1 -0
  835. package/dist/transforms/adapter.js +2 -0
  836. package/dist/transforms/adapter.js.map +1 -0
  837. package/dist/transforms/cloudflare.d.ts +17 -0
  838. package/dist/transforms/cloudflare.d.ts.map +1 -0
  839. package/dist/transforms/cloudflare.js +110 -0
  840. package/dist/transforms/cloudflare.js.map +1 -0
  841. package/dist/transforms/factories.d.ts +16 -0
  842. package/dist/transforms/factories.d.ts.map +1 -0
  843. package/dist/transforms/factories.js +18 -0
  844. package/dist/transforms/factories.js.map +1 -0
  845. package/dist/transforms/index.d.ts +17 -0
  846. package/dist/transforms/index.d.ts.map +1 -0
  847. package/dist/transforms/index.js +6 -0
  848. package/dist/transforms/index.js.map +1 -0
  849. package/dist/transforms/sharp.d.ts +17 -0
  850. package/dist/transforms/sharp.d.ts.map +1 -0
  851. package/dist/transforms/sharp.js +57 -0
  852. package/dist/transforms/sharp.js.map +1 -0
  853. package/dist/types.d.ts +485 -34
  854. package/dist/types.d.ts.map +1 -1
  855. package/dist/types.js +20 -1
  856. package/dist/types.js.map +1 -1
  857. package/dist/validation/alt-required-walker.d.ts +27 -0
  858. package/dist/validation/alt-required-walker.d.ts.map +1 -0
  859. package/dist/validation/alt-required-walker.js +108 -0
  860. package/dist/validation/alt-required-walker.js.map +1 -0
  861. package/dist/validation/default-registry.d.ts +12 -0
  862. package/dist/validation/default-registry.d.ts.map +1 -0
  863. package/dist/validation/default-registry.js +55 -0
  864. package/dist/validation/default-registry.js.map +1 -0
  865. package/dist/validation/publish-audit.d.ts +44 -0
  866. package/dist/validation/publish-audit.d.ts.map +1 -0
  867. package/dist/validation/publish-audit.js +64 -0
  868. package/dist/validation/publish-audit.js.map +1 -0
  869. package/dist/validation/registry.d.ts +23 -0
  870. package/dist/validation/registry.d.ts.map +1 -0
  871. package/dist/validation/registry.js +15 -0
  872. package/dist/validation/registry.js.map +1 -0
  873. package/dist/validation/save-delta.d.ts +46 -0
  874. package/dist/validation/save-delta.d.ts.map +1 -0
  875. package/dist/validation/save-delta.js +57 -0
  876. package/dist/validation/save-delta.js.map +1 -0
  877. package/dist/validation/scanner.d.ts +91 -0
  878. package/dist/validation/scanner.d.ts.map +1 -0
  879. package/dist/validation/scanner.js +327 -0
  880. package/dist/validation/scanner.js.map +1 -0
  881. package/dist/validation/template-impact.d.ts +52 -0
  882. package/dist/validation/template-impact.d.ts.map +1 -0
  883. package/dist/validation/template-impact.js +53 -0
  884. package/dist/validation/template-impact.js.map +1 -0
  885. package/dist/validation/types.d.ts +123 -0
  886. package/dist/validation/types.d.ts.map +1 -0
  887. package/dist/validation/types.js +7 -0
  888. package/dist/validation/types.js.map +1 -0
  889. package/dist/validation/validators/accessibility.d.ts +3 -0
  890. package/dist/validation/validators/accessibility.d.ts.map +1 -0
  891. package/dist/validation/validators/accessibility.js +106 -0
  892. package/dist/validation/validators/accessibility.js.map +1 -0
  893. package/dist/validation/validators/aliasof-points-to-archived.d.ts +40 -0
  894. package/dist/validation/validators/aliasof-points-to-archived.d.ts.map +1 -0
  895. package/dist/validation/validators/aliasof-points-to-archived.js +34 -0
  896. package/dist/validation/validators/aliasof-points-to-archived.js.map +1 -0
  897. package/dist/validation/validators/alt-required.d.ts +3 -0
  898. package/dist/validation/validators/alt-required.d.ts.map +1 -0
  899. package/dist/validation/validators/alt-required.js +118 -0
  900. package/dist/validation/validators/alt-required.js.map +1 -0
  901. package/dist/validation/validators/archive-not-supported-on-target.d.ts +3 -0
  902. package/dist/validation/validators/archive-not-supported-on-target.d.ts.map +1 -0
  903. package/dist/validation/validators/archive-not-supported-on-target.js +38 -0
  904. package/dist/validation/validators/archive-not-supported-on-target.js.map +1 -0
  905. package/dist/validation/validators/broken-links.d.ts +3 -0
  906. package/dist/validation/validators/broken-links.d.ts.map +1 -0
  907. package/dist/validation/validators/broken-links.js +190 -0
  908. package/dist/validation/validators/broken-links.js.map +1 -0
  909. package/dist/validation/validators/circular-alias.d.ts +36 -0
  910. package/dist/validation/validators/circular-alias.d.ts.map +1 -0
  911. package/dist/validation/validators/circular-alias.js +63 -0
  912. package/dist/validation/validators/circular-alias.js.map +1 -0
  913. package/dist/validation/validators/circular-fragment.d.ts +15 -0
  914. package/dist/validation/validators/circular-fragment.d.ts.map +1 -0
  915. package/dist/validation/validators/circular-fragment.js +97 -0
  916. package/dist/validation/validators/circular-fragment.js.map +1 -0
  917. package/dist/validation/validators/dangling-alias.d.ts +38 -0
  918. package/dist/validation/validators/dangling-alias.d.ts.map +1 -0
  919. package/dist/validation/validators/dangling-alias.js +31 -0
  920. package/dist/validation/validators/dangling-alias.js.map +1 -0
  921. package/dist/validation/validators/deploy-target-type-supported.d.ts +3 -0
  922. package/dist/validation/validators/deploy-target-type-supported.d.ts.map +1 -0
  923. package/dist/validation/validators/deploy-target-type-supported.js +32 -0
  924. package/dist/validation/validators/deploy-target-type-supported.js.map +1 -0
  925. package/dist/validation/validators/dynamic-route-conflict.d.ts +18 -0
  926. package/dist/validation/validators/dynamic-route-conflict.d.ts.map +1 -0
  927. package/dist/validation/validators/dynamic-route-conflict.js +80 -0
  928. package/dist/validation/validators/dynamic-route-conflict.js.map +1 -0
  929. package/dist/validation/validators/html-validity.d.ts +3 -0
  930. package/dist/validation/validators/html-validity.d.ts.map +1 -0
  931. package/dist/validation/validators/html-validity.js +89 -0
  932. package/dist/validation/validators/html-validity.js.map +1 -0
  933. package/dist/validation/validators/orphaned-locale-file.d.ts +21 -0
  934. package/dist/validation/validators/orphaned-locale-file.d.ts.map +1 -0
  935. package/dist/validation/validators/orphaned-locale-file.js +84 -0
  936. package/dist/validation/validators/orphaned-locale-file.js.map +1 -0
  937. package/dist/validation/validators/referenced-archived-without-alias.d.ts +3 -0
  938. package/dist/validation/validators/referenced-archived-without-alias.d.ts.map +1 -0
  939. package/dist/validation/validators/referenced-archived-without-alias.js +65 -0
  940. package/dist/validation/validators/referenced-archived-without-alias.js.map +1 -0
  941. package/dist/validation/validators/referenced-asset-exists.d.ts +13 -0
  942. package/dist/validation/validators/referenced-asset-exists.d.ts.map +1 -0
  943. package/dist/validation/validators/referenced-asset-exists.js +80 -0
  944. package/dist/validation/validators/referenced-asset-exists.js.map +1 -0
  945. package/dist/validation/validators/referenced-fragment-exists.d.ts +9 -0
  946. package/dist/validation/validators/referenced-fragment-exists.d.ts.map +1 -0
  947. package/dist/validation/validators/referenced-fragment-exists.js +52 -0
  948. package/dist/validation/validators/referenced-fragment-exists.js.map +1 -0
  949. package/dist/validation/validators/referenced-template-exists.d.ts +10 -0
  950. package/dist/validation/validators/referenced-template-exists.d.ts.map +1 -0
  951. package/dist/validation/validators/referenced-template-exists.js +74 -0
  952. package/dist/validation/validators/referenced-template-exists.js.map +1 -0
  953. package/dist/validation/validators/schema-conformance.d.ts +17 -0
  954. package/dist/validation/validators/schema-conformance.d.ts.map +1 -0
  955. package/dist/validation/validators/schema-conformance.js +94 -0
  956. package/dist/validation/validators/schema-conformance.js.map +1 -0
  957. package/dist/validation/validators/target-deploy-coverage.d.ts +3 -0
  958. package/dist/validation/validators/target-deploy-coverage.d.ts.map +1 -0
  959. package/dist/validation/validators/target-deploy-coverage.js +37 -0
  960. package/dist/validation/validators/target-deploy-coverage.js.map +1 -0
  961. package/dist/validation/validators/unused-fragment.d.ts +16 -0
  962. package/dist/validation/validators/unused-fragment.d.ts.map +1 -0
  963. package/dist/validation/validators/unused-fragment.js +86 -0
  964. package/dist/validation/validators/unused-fragment.js.map +1 -0
  965. package/package.json +69 -27
  966. package/admin-dist/assets/index-B6pVot0Y.css +0 -1
  967. package/admin-dist/assets/index-DniLwxJA.js +0 -609
  968. package/admin-dist/assets/rolldown-runtime-COnpUsM8.js +0 -1
  969. package/admin-dist/assets/vendor-rjsf-HKBAjOmQ.js +0 -32
  970. package/admin-dist/assets/vendor-tiptap-IyO99U4R.js +0 -142
  971. package/admin-dist/assets/vendor-vue-D3wBSmDf.js +0 -1
  972. package/dist/providers/r2.d.ts +0 -8
  973. package/dist/providers/r2.d.ts.map +0 -1
  974. package/dist/providers/r2.js +0 -86
  975. package/dist/providers/r2.js.map +0 -1
  976. package/dist/publish-locale.d.ts +0 -44
  977. package/dist/publish-locale.d.ts.map +0 -1
  978. package/dist/publish-locale.js +0 -103
  979. package/dist/publish-locale.js.map +0 -1
  980. package/dist/source-sidecars.d.ts +0 -32
  981. package/dist/source-sidecars.d.ts.map +0 -1
  982. package/dist/source-sidecars.js +0 -98
  983. package/dist/source-sidecars.js.map +0 -1
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Reverse-rooted dependency sidecars — per-edge zero-byte index for
3
+ * "which items depend on this target?" queries.
4
+ *
5
+ * Shape:
6
+ * `{root}/.gazetta/{relation-root}/{target}/{encoded-source-item}`
7
+ *
8
+ * Where:
9
+ * - `{relation-root}` is the directory name for the relationship kind
10
+ * (e.g. `asset-refs`, `fragment-deps`)
11
+ * - `{target}` is the depended-upon name (asset name, fragment name, …),
12
+ * slashes encoded via `encodeRefName`
13
+ * - `{encoded-source-item}` is `pages.{name}` or `fragments.{name}`,
14
+ * with `/` → `.` and an optional `:locale` suffix for locale variants
15
+ *
16
+ * Files are zero bytes. Existence is the index.
17
+ *
18
+ * Why per-edge sidecars over an aggregate JSON file:
19
+ * - Multi-instance correctness: two admin instances saving different
20
+ * items both adding refs to `hero` write to *different paths*. No
21
+ * race, no optimistic concurrency, no retry. Granularity solves the
22
+ * write-contention problem an aggregate JSON would face.
23
+ * - Pattern consistency: matches the existing `.gazetta/` namespace
24
+ * for runtime-never-served metadata.
25
+ * - Self-sufficient targets: same shape on source AND target so any
26
+ * target promoted to source is immediately usable.
27
+ *
28
+ * Single responsibility: filename encoding + per-target directory I/O.
29
+ * Save handlers, publish flow, and reindex CLI compose this with their
30
+ * own walks.
31
+ */
32
+ import type { ContentRoot } from './content-root.js';
33
+ /**
34
+ * Loose manifest shape for `extract` callers. Page/fragment manifests
35
+ * (with their inline-component descendants) all satisfy this. Avoids
36
+ * coupling the generic dep-sidecar module to a specific manifest type.
37
+ */
38
+ export type ManifestLike = {
39
+ readonly template?: string;
40
+ readonly content?: Record<string, unknown>;
41
+ readonly components?: readonly unknown[];
42
+ };
43
+ /**
44
+ * One kind of reverse dependency: a domain-specific extractor + the
45
+ * directory under `.gazetta/` where its sidecars live.
46
+ *
47
+ * Each shipping relation is a module-level constant (see
48
+ * `assets/asset-deps.ts`, `fragment-deps.ts`). Add a new relation by
49
+ * declaring another constant; this module needs no changes.
50
+ */
51
+ export interface DepRelation {
52
+ /** Directory name under `.gazetta/`, e.g. `asset-refs`, `fragment-deps`. */
53
+ readonly rootName: string;
54
+ /**
55
+ * Extract the set of target names this manifest depends on. Pure;
56
+ * implementations must not perform I/O.
57
+ *
58
+ * Examples:
59
+ * - asset-refs: walks content for `_asset` refs
60
+ * - fragment-deps: walks components for `@fragment` refs
61
+ * - template-deps (if added): emits the manifest's `template` field
62
+ */
63
+ readonly extract: (manifest: ManifestLike) => Set<string>;
64
+ }
65
+ /**
66
+ * Identity of a depending item. Distinct entries for each locale variant
67
+ * (per design-media.md → i18n: "Each referencing manifest, including
68
+ * locale variants, is a separate entry").
69
+ */
70
+ export interface ItemRef {
71
+ source: 'page' | 'fragment';
72
+ /** Bare item name, e.g. `home` or `blog/[slug]`. */
73
+ name: string;
74
+ /** Locale code for locale variants; absent for the default-locale manifest. */
75
+ locale?: string;
76
+ }
77
+ /**
78
+ * Encode an `ItemRef` into a sidecar filename.
79
+ * { source: 'page', name: 'home' } → 'pages.home'
80
+ * { source: 'page', name: 'blog/[slug]' } → 'pages.blog.[slug]'
81
+ * { source: 'fragment', name: 'header', locale: 'fr' } → 'fragments.header:fr'
82
+ */
83
+ export declare function itemRefToFilename(ref: ItemRef): string;
84
+ /**
85
+ * Parse a sidecar filename back to an `ItemRef`. Returns null for any
86
+ * filename that doesn't match the encoding shape so unrelated files
87
+ * accidentally placed in the directory don't poison reads.
88
+ */
89
+ export declare function filenameToItemRef(filename: string): ItemRef | null;
90
+ /** Directory path for one target's sidecars under a relation. */
91
+ export declare function depDir(rel: DepRelation, contentRoot: ContentRoot, targetName: string): string;
92
+ /** Path of one sidecar file inside its target's directory. */
93
+ export declare function depSidecarPath(rel: DepRelation, contentRoot: ContentRoot, targetName: string, item: ItemRef): string;
94
+ /**
95
+ * Read all `ItemRef`s currently sidecar-indexed for `targetName`.
96
+ * Returns empty when the directory is missing (no deps, or freshly-
97
+ * created site).
98
+ */
99
+ export declare function readDepsFor(rel: DepRelation, contentRoot: ContentRoot, targetName: string): Promise<ItemRef[]>;
100
+ /**
101
+ * Apply the diff for one item's deps in this relation.
102
+ *
103
+ * For each target in `oldTargets ∪ newTargets`:
104
+ * - If new and not old → write the sidecar file (creating the target dir)
105
+ * - If old and not new → remove the sidecar file
106
+ * - If both or neither → no I/O
107
+ *
108
+ * Sidecar writes are idempotent (zero-byte files at fixed paths), so
109
+ * concurrent writes from multiple admin instances converge to the same
110
+ * final state. The diff is per (item × target): each instance's save
111
+ * updates only the sidecars for the item it just wrote.
112
+ */
113
+ export declare function applyDepDiff(rel: DepRelation, contentRoot: ContentRoot, item: ItemRef, oldTargets: ReadonlySet<string>, newTargets: ReadonlySet<string>): Promise<void>;
114
+ /**
115
+ * Rebuild the deps sidecars for one item by diffing old vs new manifest
116
+ * via the relation's `extract` function.
117
+ *
118
+ * Use cases:
119
+ * - Save handler: pass `oldManifest` (loaded for history-recording);
120
+ * module re-extracts both old and new dep sets.
121
+ * - Reindex CLI: pass `oldManifest = null` to write fresh sidecars
122
+ * for every dep the item now references.
123
+ * - Delete handler: pass `newManifest = null` to tear down all this
124
+ * item's sidecars in this relation.
125
+ */
126
+ export declare function rebuildItemDeps(rel: DepRelation, contentRoot: ContentRoot, item: ItemRef, oldManifest: ManifestLike | null, newManifest: ManifestLike | null): Promise<void>;
127
+ //# sourceMappingURL=dep-sidecars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dep-sidecars.d.ts","sourceRoot":"","sources":["../src/dep-sidecars.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;CACzC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,GAAG,CAAC,MAAM,CAAC,CAAA;CAC1D;AAED;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAC3B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAA;IACZ,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAKtD;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CASlE;AAED,iEAAiE;AACjE,wBAAgB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7F;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAEpH;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAiBpH;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,EAChB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAWf;AAgBD;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,WAAW,EAChB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,YAAY,GAAG,IAAI,EAChC,WAAW,EAAE,YAAY,GAAG,IAAI,GAC/B,OAAO,CAAC,IAAI,CAAC,CAIf"}
@@ -0,0 +1,122 @@
1
+ import { encodeRefName } from './hash.js';
2
+ /**
3
+ * Encode an `ItemRef` into a sidecar filename.
4
+ * { source: 'page', name: 'home' } → 'pages.home'
5
+ * { source: 'page', name: 'blog/[slug]' } → 'pages.blog.[slug]'
6
+ * { source: 'fragment', name: 'header', locale: 'fr' } → 'fragments.header:fr'
7
+ */
8
+ export function itemRefToFilename(ref) {
9
+ const prefix = ref.source === 'page' ? 'pages' : 'fragments';
10
+ const encodedName = encodeRefName(ref.name);
11
+ const base = `${prefix}.${encodedName}`;
12
+ return ref.locale ? `${base}:${ref.locale}` : base;
13
+ }
14
+ const FILENAME_RE = /^(pages|fragments)\.(.+?)(?::([a-z]{2}(?:-[a-z]+)?))?$/;
15
+ /**
16
+ * Parse a sidecar filename back to an `ItemRef`. Returns null for any
17
+ * filename that doesn't match the encoding shape so unrelated files
18
+ * accidentally placed in the directory don't poison reads.
19
+ */
20
+ export function filenameToItemRef(filename) {
21
+ const m = FILENAME_RE.exec(filename);
22
+ if (!m)
23
+ return null;
24
+ const source = m[1] === 'pages' ? 'page' : 'fragment';
25
+ // Decode `.` → `/` to recover the original name. encodeRefName rejects
26
+ // dots in input, so this is unambiguous: every `.` came from a slash.
27
+ const name = m[2].replace(/\./g, '/');
28
+ const locale = m[3];
29
+ return locale ? { source, name, locale } : { source, name };
30
+ }
31
+ /** Directory path for one target's sidecars under a relation. */
32
+ export function depDir(rel, contentRoot, targetName) {
33
+ return contentRoot.path('.gazetta', rel.rootName, encodeRefName(targetName));
34
+ }
35
+ /** Path of one sidecar file inside its target's directory. */
36
+ export function depSidecarPath(rel, contentRoot, targetName, item) {
37
+ return contentRoot.path('.gazetta', rel.rootName, encodeRefName(targetName), itemRefToFilename(item));
38
+ }
39
+ /**
40
+ * Read all `ItemRef`s currently sidecar-indexed for `targetName`.
41
+ * Returns empty when the directory is missing (no deps, or freshly-
42
+ * created site).
43
+ */
44
+ export async function readDepsFor(rel, contentRoot, targetName) {
45
+ const dir = depDir(rel, contentRoot, targetName);
46
+ let entries;
47
+ try {
48
+ entries = await contentRoot.storage.readDir(dir);
49
+ }
50
+ catch {
51
+ // Missing directory — treat as no deps. Storage providers vary in
52
+ // exact error shape, so we accept any read failure here.
53
+ return [];
54
+ }
55
+ const refs = [];
56
+ for (const entry of entries) {
57
+ if (entry.isDirectory)
58
+ continue;
59
+ const ref = filenameToItemRef(entry.name);
60
+ if (ref)
61
+ refs.push(ref);
62
+ }
63
+ return refs;
64
+ }
65
+ /**
66
+ * Apply the diff for one item's deps in this relation.
67
+ *
68
+ * For each target in `oldTargets ∪ newTargets`:
69
+ * - If new and not old → write the sidecar file (creating the target dir)
70
+ * - If old and not new → remove the sidecar file
71
+ * - If both or neither → no I/O
72
+ *
73
+ * Sidecar writes are idempotent (zero-byte files at fixed paths), so
74
+ * concurrent writes from multiple admin instances converge to the same
75
+ * final state. The diff is per (item × target): each instance's save
76
+ * updates only the sidecars for the item it just wrote.
77
+ */
78
+ export async function applyDepDiff(rel, contentRoot, item, oldTargets, newTargets) {
79
+ const added = [];
80
+ const removed = [];
81
+ for (const t of newTargets)
82
+ if (!oldTargets.has(t))
83
+ added.push(t);
84
+ for (const t of oldTargets)
85
+ if (!newTargets.has(t))
86
+ removed.push(t);
87
+ // Adds first — order doesn't affect correctness, but adds-before-removes
88
+ // means a transient observer mid-update sees a superset of refs (safe
89
+ // for delete-blocking) rather than a subset.
90
+ await Promise.all(added.map(target => writeSidecar(rel, contentRoot, target, item)));
91
+ await Promise.all(removed.map(target => removeSidecar(rel, contentRoot, target, item)));
92
+ }
93
+ async function writeSidecar(rel, contentRoot, target, item) {
94
+ const dir = depDir(rel, contentRoot, target);
95
+ await contentRoot.storage.mkdir(dir).catch(() => {
96
+ // Already exists — fine.
97
+ });
98
+ await contentRoot.storage.writeFile(depSidecarPath(rel, contentRoot, target, item), '');
99
+ }
100
+ async function removeSidecar(rel, contentRoot, target, item) {
101
+ await contentRoot.storage.rm(depSidecarPath(rel, contentRoot, target, item)).catch(() => {
102
+ // Already gone — fine. rm is idempotent for our purposes.
103
+ });
104
+ }
105
+ /**
106
+ * Rebuild the deps sidecars for one item by diffing old vs new manifest
107
+ * via the relation's `extract` function.
108
+ *
109
+ * Use cases:
110
+ * - Save handler: pass `oldManifest` (loaded for history-recording);
111
+ * module re-extracts both old and new dep sets.
112
+ * - Reindex CLI: pass `oldManifest = null` to write fresh sidecars
113
+ * for every dep the item now references.
114
+ * - Delete handler: pass `newManifest = null` to tear down all this
115
+ * item's sidecars in this relation.
116
+ */
117
+ export async function rebuildItemDeps(rel, contentRoot, item, oldManifest, newManifest) {
118
+ const oldTargets = oldManifest ? rel.extract(oldManifest) : new Set();
119
+ const newTargets = newManifest ? rel.extract(newManifest) : new Set();
120
+ await applyDepDiff(rel, contentRoot, item, oldTargets, newTargets);
121
+ }
122
+ //# sourceMappingURL=dep-sidecars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dep-sidecars.js","sourceRoot":"","sources":["../src/dep-sidecars.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { WorkerCapableDeployAdapter } from './types.js';
2
+ export interface CloudflareWorkersDeployOptions {
3
+ /** Cloudflare API token with Workers Scripts:Edit + R2 Read:Bucket permissions. */
4
+ apiToken: string;
5
+ /** Cloudflare account ID. */
6
+ accountId: string;
7
+ /** Worker name (also used as the workers.dev subdomain). */
8
+ name: string;
9
+ /** R2 bucket name the worker reads from at request time. */
10
+ bucket: string;
11
+ }
12
+ interface WranglerTomlInput {
13
+ name: string;
14
+ bucket: string;
15
+ siteUrl: string | undefined;
16
+ }
17
+ /**
18
+ * Render the wrangler.toml content. Pure function; unit-testable
19
+ * without mocking fs.
20
+ */
21
+ export declare function renderWranglerToml(input: WranglerTomlInput): string;
22
+ /**
23
+ * Render the worker entry-point code. Pure function. The
24
+ * `cloudflare-r2` adapter at `packages/gazetta/src/workers/` provides
25
+ * the actual request-handling logic; the entry is a thin re-export.
26
+ */
27
+ export declare function renderWorkerEntry(): string;
28
+ /**
29
+ * Extract the deployed URL from wrangler stdout. Pure function.
30
+ *
31
+ * Wrangler 4.x stdout opens with a telemetry banner URL pointing at
32
+ * github.com/cloudflare/workers-sdk; the actual deploy URL appears
33
+ * later as either:
34
+ * - `*.workers.dev` — the default subdomain when `workers_dev = true`
35
+ * - the route domain from `[[routes]]` in wrangler.toml (the
36
+ * operator's `target.siteUrl`)
37
+ *
38
+ * Strategy: prefer the configured siteUrl when present in stdout
39
+ * (deploys with a custom route surface it as part of the "Published"
40
+ * line); otherwise pick the first `*.workers.dev` URL; fall through
41
+ * to the first non-github URL.
42
+ */
43
+ export declare function extractDeployUrl(stdout: string, siteUrl: string | undefined): string | undefined;
44
+ export declare function cloudflareWorkersDeploy(opts: CloudflareWorkersDeployOptions): WorkerCapableDeployAdapter;
45
+ export {};
46
+ //# sourceMappingURL=cloudflare-workers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-workers.d.ts","sourceRoot":"","sources":["../../src/deploy/cloudflare-workers.ts"],"names":[],"mappings":"AAmDA,OAAO,KAAK,EAIV,0BAA0B,EAE3B,MAAM,YAAY,CAAA;AAQnB,MAAM,WAAW,8BAA8B;IAC7C,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAA;IAChB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAmBnE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAiBhG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,8BAA8B,GAAG,0BAA0B,CAwHxG"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * Cloudflare Workers deploy adapter (Cut 3 of #203).
3
+ *
4
+ * Refactors the hardcoded `gazetta deploy` flow at
5
+ * `cli/index.ts:1230-1314` into a Pattern 1 Provider factory.
6
+ *
7
+ * Operator usage:
8
+ * ```ts
9
+ * import { defineSite, r2Storage, cloudflareWorkersDeploy } from 'gazetta'
10
+ *
11
+ * defineSite({
12
+ * targets: {
13
+ * production: {
14
+ * type: 'dynamic',
15
+ * storage: r2Storage({...}),
16
+ * deploy: cloudflareWorkersDeploy({
17
+ * apiToken: process.env.CLOUDFLARE_API_TOKEN!,
18
+ * accountId: process.env.CLOUDFLARE_ACCOUNT_ID!,
19
+ * name: 'my-site',
20
+ * bucket: 'my-site',
21
+ * }),
22
+ * },
23
+ * },
24
+ * })
25
+ * ```
26
+ *
27
+ * # WorkerCapableDeployAdapter
28
+ *
29
+ * Implements the capability extension: `workerRuntimeConfig()`
30
+ * returns the R2 binding metadata `gazetta build` needs.
31
+ *
32
+ * # supports
33
+ *
34
+ * `['dynamic']` in v1 — matches today's `TargetType = 'static' |
35
+ * 'dynamic'` enum where `'dynamic'` plays the ESI role per
36
+ * `getType()` semantics. Widens to `['esi']` when
37
+ * `design-rendering.md` Cut 1 splits the enum into three. Future
38
+ * `dynamic` (CF Workers + Node/Bun origin) deferred to v2.
39
+ *
40
+ * # SOLID
41
+ *
42
+ * - SRP: adapter owns Cloudflare Workers deploy mechanics only;
43
+ * pure helpers (renderWranglerToml, renderWorkerEntry) are
44
+ * unit-testable independently.
45
+ * - DIP: CLI depends on `WorkerCapableDeployAdapter` interface,
46
+ * not on this factory directly. Future CF Pages + Functions
47
+ * adapter substitutes through the same contract.
48
+ */
49
+ import { execSync } from 'node:child_process';
50
+ import { mkdir, rm, writeFile } from 'node:fs/promises';
51
+ import { join, resolve } from 'node:path';
52
+ import { DeployAuthError, DeployConfigError, DeployTransportError } from './errors.js';
53
+ const ADAPTER_NAME = 'cloudflare-workers';
54
+ const BUCKET_BINDING = 'SITE_BUCKET';
55
+ const COMPAT_DATE = '2024-12-01';
56
+ /**
57
+ * Render the wrangler.toml content. Pure function; unit-testable
58
+ * without mocking fs.
59
+ */
60
+ export function renderWranglerToml(input) {
61
+ const { name, bucket, siteUrl } = input;
62
+ let out = `name = "${name}"\n` +
63
+ `main = "index.ts"\n` +
64
+ `compatibility_date = "${COMPAT_DATE}"\n` +
65
+ `workers_dev = true\n` +
66
+ `\n` +
67
+ `[[r2_buckets]]\n` +
68
+ `binding = "${BUCKET_BINDING}"\n` +
69
+ `bucket_name = "${bucket}"\n`;
70
+ if (siteUrl) {
71
+ const url = new URL(siteUrl);
72
+ const hostname = url.hostname;
73
+ out += `\n[[routes]]\npattern = "${hostname}/*"\nzone_name = "${hostname}"\n`;
74
+ }
75
+ return out;
76
+ }
77
+ /**
78
+ * Render the worker entry-point code. Pure function. The
79
+ * `cloudflare-r2` adapter at `packages/gazetta/src/workers/` provides
80
+ * the actual request-handling logic; the entry is a thin re-export.
81
+ */
82
+ export function renderWorkerEntry() {
83
+ return `import { createWorker } from 'gazetta/workers/cloudflare-r2'\nexport default createWorker()\n`;
84
+ }
85
+ /**
86
+ * Extract the deployed URL from wrangler stdout. Pure function.
87
+ *
88
+ * Wrangler 4.x stdout opens with a telemetry banner URL pointing at
89
+ * github.com/cloudflare/workers-sdk; the actual deploy URL appears
90
+ * later as either:
91
+ * - `*.workers.dev` — the default subdomain when `workers_dev = true`
92
+ * - the route domain from `[[routes]]` in wrangler.toml (the
93
+ * operator's `target.siteUrl`)
94
+ *
95
+ * Strategy: prefer the configured siteUrl when present in stdout
96
+ * (deploys with a custom route surface it as part of the "Published"
97
+ * line); otherwise pick the first `*.workers.dev` URL; fall through
98
+ * to the first non-github URL.
99
+ */
100
+ export function extractDeployUrl(stdout, siteUrl) {
101
+ const urls = stdout.match(/https:\/\/[^\s]+/g) ?? [];
102
+ if (urls.length === 0)
103
+ return undefined;
104
+ // Strip trailing punctuation that often follows URLs in logs.
105
+ const clean = (u) => u.replace(/[.,;:!?)]+$/, '');
106
+ if (siteUrl) {
107
+ const hit = urls.map(clean).find(u => u.startsWith(siteUrl));
108
+ if (hit)
109
+ return hit;
110
+ }
111
+ const workersDev = urls.map(clean).find(u => /\.workers\.dev/.test(u));
112
+ if (workersDev)
113
+ return workersDev;
114
+ const nonGithub = urls.map(clean).find(u => !u.startsWith('https://github.com/'));
115
+ return nonGithub;
116
+ }
117
+ export function cloudflareWorkersDeploy(opts) {
118
+ // Construction-time validation per Q7 lock: factories validate
119
+ // operator-supplied input synchronously. Bad credentials surface
120
+ // at execute() as DeployAuthError, not here.
121
+ if (!opts.apiToken) {
122
+ throw new DeployConfigError('cloudflareWorkersDeploy requires `apiToken` (e.g., process.env.CLOUDFLARE_API_TOKEN)', ADAPTER_NAME);
123
+ }
124
+ if (!opts.accountId) {
125
+ throw new DeployConfigError('cloudflareWorkersDeploy requires `accountId` (e.g., process.env.CLOUDFLARE_ACCOUNT_ID)', ADAPTER_NAME);
126
+ }
127
+ if (!opts.name) {
128
+ throw new DeployConfigError('cloudflareWorkersDeploy requires `name` — the worker name + workers.dev subdomain', ADAPTER_NAME);
129
+ }
130
+ if (!opts.bucket) {
131
+ throw new DeployConfigError('cloudflareWorkersDeploy requires `bucket` — the R2 bucket the worker reads from', ADAPTER_NAME);
132
+ }
133
+ const { apiToken, accountId, name: workerName, bucket } = opts;
134
+ return {
135
+ name: ADAPTER_NAME,
136
+ // `TargetType` today is `'static' | 'dynamic'`; `'dynamic'` plays
137
+ // the ESI role per current `getType()` semantics. Widens to
138
+ // `['esi']` when design-rendering.md Cut 1 splits the enum.
139
+ supports: ['dynamic'],
140
+ workerRuntimeConfig() {
141
+ return {
142
+ bucketBinding: BUCKET_BINDING,
143
+ // Routes computed lazily from target.siteUrl at deploy time —
144
+ // not at config-eval. `gazetta build` reads the binding name
145
+ // here; the actual route pattern lands in wrangler.toml at
146
+ // deploy time via renderWranglerToml().
147
+ };
148
+ },
149
+ validate(_ctx) {
150
+ // No cross-field invariants in v1 beyond the construction-time
151
+ // checks above. Reserved for future operator-input validation
152
+ // (e.g., warn when target.siteUrl protocol is `http:`).
153
+ return [];
154
+ },
155
+ async execute(ctx) {
156
+ const { target, logger, signal } = ctx;
157
+ const tmpDir = join(process.cwd(), '.gazetta-deploy');
158
+ await rm(tmpDir, { recursive: true, force: true });
159
+ await mkdir(tmpDir, { recursive: true });
160
+ try {
161
+ const tomlBody = renderWranglerToml({
162
+ name: workerName,
163
+ bucket,
164
+ siteUrl: target.siteUrl,
165
+ });
166
+ await writeFile(join(tmpDir, 'wrangler.toml'), tomlBody);
167
+ await writeFile(join(tmpDir, 'index.ts'), renderWorkerEntry());
168
+ await writeFile(join(tmpDir, 'package.json'), JSON.stringify({ type: 'module', dependencies: { gazetta: '*', hono: '*' } }));
169
+ if (signal.aborted)
170
+ throw new DeployTransportError('Deploy aborted by signal', ADAPTER_NAME);
171
+ logger.info({ workerName, bucket }, 'Deploying worker to Cloudflare');
172
+ // Resolve the gazetta package install root for --install-links.
173
+ // import.meta.dirname is two levels above (src/deploy/).
174
+ const gazettaRoot = resolve(import.meta.dirname, '../..');
175
+ execSync(`npm install --install-links ${gazettaRoot}`, { cwd: tmpDir, stdio: 'pipe' });
176
+ if (signal.aborted)
177
+ throw new DeployTransportError('Deploy aborted by signal', ADAPTER_NAME);
178
+ // Wrangler reads CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID
179
+ // from env per its own convention; pass through.
180
+ const wranglerOut = execSync('npx wrangler deploy', {
181
+ cwd: tmpDir,
182
+ stdio: 'pipe',
183
+ env: { ...process.env, CLOUDFLARE_API_TOKEN: apiToken, CLOUDFLARE_ACCOUNT_ID: accountId },
184
+ }).toString();
185
+ // Wrangler 4.x stdout opens with a telemetry banner pointing at
186
+ // github.com/cloudflare/workers-sdk; the actual deploy URL is
187
+ // either `*.workers.dev` (default subdomain) or the route domain
188
+ // from wrangler.toml. Prefer those over any other URL.
189
+ const url = extractDeployUrl(wranglerOut, target.siteUrl);
190
+ logger.info({ workerName, url }, 'Worker deployed');
191
+ return {
192
+ url,
193
+ details: { wranglerOutput: wranglerOut },
194
+ };
195
+ }
196
+ catch (err) {
197
+ if (err instanceof DeployTransportError)
198
+ throw err;
199
+ const stderr = err.stderr?.toString() ?? err.message;
200
+ // Heuristic: wrangler exits with auth-related messages when
201
+ // the token is bad. Distinguish auth vs transport here.
202
+ if (/authentication|unauthorized|invalid token/i.test(stderr)) {
203
+ throw new DeployAuthError(`Cloudflare rejected credentials: ${stderr}`, ADAPTER_NAME);
204
+ }
205
+ throw new DeployTransportError(`Wrangler deploy failed: ${stderr}`, ADAPTER_NAME);
206
+ }
207
+ finally {
208
+ await rm(tmpDir, { recursive: true, force: true });
209
+ }
210
+ },
211
+ };
212
+ }
213
+ //# sourceMappingURL=cloudflare-workers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-workers.js","sourceRoot":"","sources":["../../src/deploy/cloudflare-workers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQzC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGtF,MAAM,YAAY,GAAG,oBAAoB,CAAA;AACzC,MAAM,cAAc,GAAG,aAAa,CAAA;AACpC,MAAM,WAAW,GAAG,YAAY,CAAA;AAmBhC;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IACvC,IAAI,GAAG,GACL,WAAW,IAAI,KAAK;QACpB,qBAAqB;QACrB,yBAAyB,WAAW,KAAK;QACzC,sBAAsB;QACtB,IAAI;QACJ,kBAAkB;QAClB,cAAc,cAAc,KAAK;QACjC,kBAAkB,MAAM,KAAK,CAAA;IAE/B,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;QAC7B,GAAG,IAAI,4BAA4B,QAAQ,qBAAqB,QAAQ,KAAK,CAAA;IAC/E,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,+FAA+F,CAAA;AACxG,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,OAA2B;IAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAA;IACpD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAEvC,8DAA8D;IAC9D,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;IAEzD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5D,IAAI,GAAG;YAAE,OAAO,GAAG,CAAA;IACrB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACtE,IAAI,UAAU;QAAE,OAAO,UAAU,CAAA;IAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAA;IACjF,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAoC;IAC1E,+DAA+D;IAC/D,iEAAiE;IACjE,6CAA6C;IAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,IAAI,iBAAiB,CACzB,sFAAsF,EACtF,YAAY,CACb,CAAA;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,IAAI,iBAAiB,CACzB,wFAAwF,EACxF,YAAY,CACb,CAAA;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,iBAAiB,CACzB,mFAAmF,EACnF,YAAY,CACb,CAAA;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,iBAAiB,CACzB,iFAAiF,EACjF,YAAY,CACb,CAAA;IACH,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAE9D,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,kEAAkE;QAClE,4DAA4D;QAC5D,4DAA4D;QAC5D,QAAQ,EAAE,CAAC,SAAS,CAAU;QAE9B,mBAAmB;YACjB,OAAO;gBACL,aAAa,EAAE,cAAc;gBAC7B,8DAA8D;gBAC9D,6DAA6D;gBAC7D,2DAA2D;gBAC3D,wCAAwC;aACzC,CAAA;QACH,CAAC;QAED,QAAQ,CAAC,IAAqB;YAC5B,+DAA+D;YAC/D,8DAA8D;YAC9D,wDAAwD;YACxD,OAAO,EAAE,CAAA;QACX,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,GAAkB;YAC9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;YAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAA;YACrD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAClD,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAExC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,kBAAkB,CAAC;oBAClC,IAAI,EAAE,UAAU;oBAChB,MAAM;oBACN,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAAA;gBACF,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAA;gBACxD,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAA;gBAC9D,MAAM,SAAS,CACb,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAC5B,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAC9E,CAAA;gBAED,IAAI,MAAM,CAAC,OAAO;oBAAE,MAAM,IAAI,oBAAoB,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;gBAE5F,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,gCAAgC,CAAC,CAAA;gBAErE,gEAAgE;gBAChE,yDAAyD;gBACzD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBACzD,QAAQ,CAAC,+BAA+B,WAAW,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;gBAEtF,IAAI,MAAM,CAAC,OAAO;oBAAE,MAAM,IAAI,oBAAoB,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAA;gBAE5F,8DAA8D;gBAC9D,iDAAiD;gBACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,qBAAqB,EAAE;oBAClD,GAAG,EAAE,MAAM;oBACX,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,oBAAoB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,SAAS,EAAE;iBAC1F,CAAC,CAAC,QAAQ,EAAE,CAAA;gBAEb,gEAAgE;gBAChE,8DAA8D;gBAC9D,iEAAiE;gBACjE,uDAAuD;gBACvD,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;gBAEzD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAA;gBAEnD,OAAO;oBACL,GAAG;oBACH,OAAO,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE;iBACzC,CAAA;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,oBAAoB;oBAAE,MAAM,GAAG,CAAA;gBAClD,MAAM,MAAM,GAAI,GAA2B,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAK,GAAa,CAAC,OAAO,CAAA;gBACxF,4DAA4D;gBAC5D,wDAAwD;gBACxD,IAAI,4CAA4C,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9D,MAAM,IAAI,eAAe,CAAC,oCAAoC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAA;gBACvF,CAAC;gBACD,MAAM,IAAI,oBAAoB,CAAC,2BAA2B,MAAM,EAAE,EAAE,YAAY,CAAC,CAAA;YACnF,CAAC;oBAAS,CAAC;gBACT,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACpD,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Error taxonomy for the DeployAdapter Pattern 1 Provider surface.
3
+ *
4
+ * Cut 1 of the deploy contract. Per ADR-0004 Universal Provider
5
+ * Requirement #6 ("independent error taxonomy"), every Provider
6
+ * surface declares its own error classes for runtime branching.
7
+ *
8
+ * Adapters translate platform-SDK errors into these classes; the CLI
9
+ * catches `DeployError` and surfaces the `adapter` field plus a
10
+ * human-readable message. Debug logs include the underlying cause.
11
+ *
12
+ * Reference: `.claude/rules/design-deploy.md` "Error taxonomy" section.
13
+ */
14
+ /**
15
+ * Base class for all deploy errors. Carries the adapter name so the
16
+ * CLI can surface "Cloudflare Workers deploy failed: ..." instead of
17
+ * a context-free error message.
18
+ */
19
+ export declare class DeployError extends Error {
20
+ readonly adapter: string;
21
+ constructor(message: string, adapter: string);
22
+ }
23
+ /**
24
+ * Raised at factory construction (synchronous) when operator-supplied
25
+ * options are missing required fields or malformed. Surfaces in the
26
+ * IDE / at admin boot, not at deploy time.
27
+ *
28
+ * Example: `cloudflareWorkersDeploy({ name: 'foo' })` without
29
+ * `apiToken` throws `DeployConfigError` because the platform SDK
30
+ * can't proceed without credentials.
31
+ */
32
+ export declare class DeployConfigError extends DeployError {
33
+ constructor(message: string, adapter: string);
34
+ }
35
+ /**
36
+ * Raised at `execute()` time when the platform rejects credentials.
37
+ * Adapters wrap platform-SDK auth failures (401 / 403 from the
38
+ * platform's API) in this class so operators see a consistent
39
+ * "credentials rejected" surface regardless of which platform.
40
+ */
41
+ export declare class DeployAuthError extends DeployError {
42
+ constructor(message: string, adapter: string);
43
+ }
44
+ /**
45
+ * Raised at `execute()` time when the network or platform SDK call
46
+ * fails for transport reasons (timeout, DNS, 5xx from platform,
47
+ * unexpected protocol error). Distinct from auth failures because
48
+ * the operator's remediation differs: auth = check credentials;
49
+ * transport = retry or investigate platform status.
50
+ */
51
+ export declare class DeployTransportError extends DeployError {
52
+ constructor(message: string, adapter: string);
53
+ }
54
+ /**
55
+ * Raised at `execute()` time when the adapter expects published
56
+ * content (e.g., a static-host adapter that reads from
57
+ * `target.storage`) but storage is empty.
58
+ *
59
+ * Per Q4 lock: the CLI doesn't gate on prior publish — adapters that
60
+ * need bytes surface this error themselves. Operator's remediation
61
+ * is `gazetta publish <target>` before retrying `gazetta deploy`.
62
+ */
63
+ export declare class DeployContentError extends DeployError {
64
+ constructor(message: string, adapter: string);
65
+ }
66
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/deploy/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,SAAgB,OAAO,EAAE,MAAM,CAAA;gBAEnB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK7C;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7C;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,WAAW;gBAClC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7C;AAED;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;gBACvC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7C;AAED;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;gBACrC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7C"}