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,540 @@
1
+ /**
2
+ * Archive / unarchive / purge routes for pages + fragments.
3
+ *
4
+ * Per `design-soft-delete.md`'s Cut 5 lock and the implementation
5
+ * grilling Q1 (one `archive.ts` module mounting both kinds): the
6
+ * lifecycle is the same shape for pages and fragments; the only
7
+ * axis that differs is the manifest filename + ItemRef source.
8
+ * Co-locating keeps "what does the archive lifecycle do?" answerable
9
+ * by reading one file.
10
+ *
11
+ * # The six routes
12
+ *
13
+ * POST /api/pages/:name/archive (capability: delete:pages)
14
+ * POST /api/pages/:name/unarchive (capability: edit:pages)
15
+ * DELETE /api/pages/:name/purge (capability: delete:pages)
16
+ * POST /api/fragments/:name/archive (capability: delete:fragments)
17
+ * POST /api/fragments/:name/unarchive (capability: edit:fragments)
18
+ * DELETE /api/fragments/:name/purge (capability: delete:fragments)
19
+ *
20
+ * Capability assignment per implementation Q6 (locked F1): archive +
21
+ * purge are delete-class; unarchive is edit-class. Symmetric authority
22
+ * (delete-class to remove from production; edit-class to bring back).
23
+ *
24
+ * # Direct write, own pipeline (Q2 lock B1)
25
+ *
26
+ * Archive is a lifecycle event, not a content edit. Don't reuse the
27
+ * PUT pipeline — it would fire `beforeSave` / `afterSave` hooks built
28
+ * for content saves and run save-delta validation against the full
29
+ * schema. Archive flips a manifest field; the audit `action` is
30
+ * `archive` / `unarchive` / `purge`, NOT `save`.
31
+ *
32
+ * # Existing dep-sidecars untouched on archive (Q3 lock C1)
33
+ *
34
+ * Archived items keep their `asset-refs` and `fragment-deps` sidecars.
35
+ * An archive still references its assets / fragments — that's why an
36
+ * asset-purge attempt finds it. Tearing down on archive (and rebuilding
37
+ * on unarchive) would silently break refs whenever an asset got purged
38
+ * during the archive window. Tear-down happens on PURGE only.
39
+ *
40
+ * # `archive-aliases` reverse index (Cut 5a)
41
+ *
42
+ * Cut 5a shipped `archive-aliases.ts` — a per-edge sidecar at
43
+ * `.gazetta/alias-targets/{aliasTarget}/{encoded-source-item}`. The
44
+ * archive route writes it on archive-with-aliasOf; the purge route
45
+ * reads it (via `readArchivesAliasing`) for the alias-pointers part of
46
+ * the purge-blocked check. Per `team-preferences.md` rule 24: at the
47
+ * 5K-page envelope, walking every manifest to find aliases is ~30s on
48
+ * cloud; the sidecar is ~5ms `readDir`. Same pattern as `asset-refs`.
49
+ *
50
+ * # Purge-blocked: one 409 with both arrays (Q4 lock D1)
51
+ *
52
+ * { code: 'DELETE_BLOCKED', aliases: [...], liveRefs: [...] }
53
+ *
54
+ * One 409, both arrays present. Surfaces every blocker in one
55
+ * round-trip; lets the author resolve in any order. UI gets one panel
56
+ * to render. Empty array when that class isn't blocking.
57
+ *
58
+ * # `?force=true` bypass (Q5 lock E1)
59
+ *
60
+ * Bypasses BOTH alias-pointers AND live-refs. One mental model — "I am
61
+ * an operator overriding the safety check." Audit records what was
62
+ * bypassed (`metadata.bypassedAliases` + `metadata.bypassedRefs`) so
63
+ * forensics finds what broke. Validators surface dangling aliases on
64
+ * the next save (P3); render emits 404 / errors on broken refs.
65
+ *
66
+ * # SOLID lenses
67
+ *
68
+ * - SRP: this module owns the archive lifecycle. Doesn't touch the
69
+ * PUT pipeline (Q2 B1); doesn't touch dep-sidecars on archive
70
+ * (Q3 C1). Each function answers one question.
71
+ * - DIP: routes consume `SourceContextResolver` like every other
72
+ * route module; archive primitives consume the typed `ItemKind`
73
+ * parameter rather than branching on URL shape inside helpers.
74
+ */
75
+ import { Hono } from 'hono';
76
+ import { join } from 'node:path';
77
+ import { loadSiteFromSource } from '../source-context.js';
78
+ import { recordWrite } from '../../history-recorder.js';
79
+ import { requireCapability } from '../middleware/capability.js';
80
+ import { readArchivesAliasing, rebuildArchiveAliases } from '../../archive-aliases.js';
81
+ import { rebuildAssetRefs } from '../../assets/asset-deps.js';
82
+ import { rebuildFragmentDeps, readDepsForFragment } from '../../fragment-deps.js';
83
+ import { ArchiveRequestSchema, SetAliasRequestSchema, } from '../schemas/archive.js';
84
+ import { archiveReviewMetadata, buildAutoWithdrawEvent, stripReviewStateForRestore } from './archive-review.js';
85
+ export const PAGE_HANDLE = {
86
+ refSource: 'page',
87
+ scopeKind: 'page',
88
+ filename: 'page.json',
89
+ label: 'Page',
90
+ };
91
+ export const FRAGMENT_HANDLE = {
92
+ refSource: 'fragment',
93
+ scopeKind: 'fragment',
94
+ filename: 'fragment.json',
95
+ label: 'Fragment',
96
+ };
97
+ export function archiveRoutes(resolve, opts = {}) {
98
+ const app = new Hono();
99
+ const scanner = opts.scanner ?? null;
100
+ // ─── Pages ────────────────────────────────────────────────────────
101
+ app.post('/api/pages/:name/archive', requireCapability('delete:pages'), c => handleArchive(c, resolve, PAGE_HANDLE, scanner));
102
+ app.post('/api/pages/:name/unarchive', requireCapability('edit:pages'), c => handleUnarchive(c, resolve, PAGE_HANDLE, scanner));
103
+ app.delete('/api/pages/:name/purge', requireCapability('delete:pages'), c => handlePurge(c, resolve, PAGE_HANDLE, scanner));
104
+ // Cut 12 — edit an archive's aliasOf (set / drop) from the
105
+ // purge-blocked resolution modal. Capability `edit:` since this is
106
+ // a content-state edit, not destruction (symmetric with unarchive).
107
+ app.patch('/api/pages/:name/alias', requireCapability('edit:pages'), c => handleSetAlias(c, resolve, PAGE_HANDLE, scanner));
108
+ // ─── Fragments ────────────────────────────────────────────────────
109
+ app.post('/api/fragments/:name/archive', requireCapability('delete:fragments'), c => handleArchive(c, resolve, FRAGMENT_HANDLE, scanner));
110
+ app.post('/api/fragments/:name/unarchive', requireCapability('edit:fragments'), c => handleUnarchive(c, resolve, FRAGMENT_HANDLE, scanner));
111
+ app.delete('/api/fragments/:name/purge', requireCapability('delete:fragments'), c => handlePurge(c, resolve, FRAGMENT_HANDLE, scanner));
112
+ app.patch('/api/fragments/:name/alias', requireCapability('edit:fragments'), c => handleSetAlias(c, resolve, FRAGMENT_HANDLE, scanner));
113
+ return app;
114
+ }
115
+ /**
116
+ * Fire-and-forget: notify the scanner that a manifest write happened
117
+ * for `handle.scopeKind` named `name`. Mirrors `manifest-save.ts`'s
118
+ * scanner.rescan() call site shape.
119
+ */
120
+ function notifyScanner(scanner, handle, name) {
121
+ if (!scanner)
122
+ return;
123
+ const root = handle.scopeKind === 'page' ? 'pages' : 'fragments';
124
+ const itemPath = `${root}/${name}/${handle.filename}`;
125
+ void scanner.rescan({
126
+ kind: 'manifest',
127
+ item: { kind: handle.scopeKind, name, itemPath },
128
+ });
129
+ }
130
+ // ─── Archive ───────────────────────────────────────────────────────────
131
+ export async function handleArchive(c, resolve, handle, scanner = null) {
132
+ const name = c.req.param('name');
133
+ if (!name)
134
+ return c.json({ error: 'Missing name parameter' }, 400);
135
+ const source = await resolve(c.req.query('target'));
136
+ const site = await loadSiteFromSource(source);
137
+ const manifest = lookupManifest(site, handle, name);
138
+ if (!manifest)
139
+ return c.json({ error: `${handle.label} "${name}" not found` }, 404);
140
+ // Schema-validate body — same MCP discipline as other admin-API
141
+ // routes. `aliasOf` is optional; absence = pure soft-delete.
142
+ let body = {};
143
+ try {
144
+ body = await c.req.json();
145
+ }
146
+ catch {
147
+ // Empty body is fine (archive without aliasOf). Hono returns null
148
+ // for empty body, JSON.parse throws on empty string — catch and
149
+ // fall through.
150
+ }
151
+ const parsed = ArchiveRequestSchema.safeParse(body ?? {});
152
+ if (!parsed.success) {
153
+ return c.json({
154
+ error: 'Invalid request body',
155
+ issues: parsed.error.issues.map(i => ({ path: i.path.join('.'), message: i.message })),
156
+ }, 400);
157
+ }
158
+ const aliasOf = parsed.data.aliasOf;
159
+ const force = c.req.query('force') === 'true';
160
+ // P8 (save-handler check per design-soft-delete.md Q11): refuse
161
+ // archive without aliasOf when live refs exist. Pure soft-delete
162
+ // (no aliasOf) renders 410 / fragment-render error — silently
163
+ // breaking any live reference. Author resolves by setting aliasOf
164
+ // OR removing live refs. Admin `?force=true` bypasses; audit
165
+ // records the bypass per Q5 E1 lock.
166
+ //
167
+ // Only fragments can be referenced from other items today (pages
168
+ // can't be embedded). Pages get the check trivially-pass.
169
+ if (!aliasOf && !force && manifest.archived !== true) {
170
+ const liveRefs = await collectLiveRefs(source, handle, site, name);
171
+ if (liveRefs.length > 0) {
172
+ const blocked = { code: 'ARCHIVE_HAS_LIVE_REFS', liveRefs };
173
+ return c.json(blocked, 409);
174
+ }
175
+ }
176
+ // Already archived? Idempotent — return current state. Avoids
177
+ // double-emitting the audit event and double-writing the sidecar.
178
+ if (manifest.archived === true) {
179
+ const response = {
180
+ ok: true,
181
+ name,
182
+ archivedAt: manifest.archivedAt ?? new Date().toISOString(),
183
+ ...(manifest.aliasOf ? { aliasOf: manifest.aliasOf } : {}),
184
+ };
185
+ return c.json(response);
186
+ }
187
+ // Build the post-archive manifest. Per Q1 lock A1: archive fields
188
+ // are additive on the existing manifest; content + components stay
189
+ // intact so unarchive restores them as-is.
190
+ const principal = c.var.principal;
191
+ const archivedAt = new Date().toISOString();
192
+ const archived = {
193
+ ...manifest,
194
+ archived: true,
195
+ archivedAt,
196
+ archivedBy: principal.id,
197
+ };
198
+ if (aliasOf)
199
+ archived.aliasOf = aliasOf;
200
+ await writeManifest(source, handle, name, archived, manifest);
201
+ // Write the archive-aliases sidecar (Cut 5a). The relation's
202
+ // `extract` returns `{aliasOf}` only when archived === true AND
203
+ // aliasOf is a non-empty string — so this call is correct whether
204
+ // aliasOf was passed or not.
205
+ const itemRef = { source: handle.refSource, name };
206
+ await rebuildArchiveAliases(source.contentRoot, itemRef, manifest, archived);
207
+ // Existing dep-sidecars (asset-refs, fragment-deps) are NOT touched
208
+ // here per Q3 lock C1. The archive still references its assets +
209
+ // fragments; that's why a future asset-purge will find the archive
210
+ // and refuse cleanly. Tear-down happens on PURGE only.
211
+ await Promise.all([
212
+ source.cache.invalidatePrefix(`${handle.scopeKind}s:`),
213
+ handle.scopeKind === 'fragment' ? source.cache.invalidatePrefix('pages:') : Promise.resolve(),
214
+ ]);
215
+ // Audit metadata captures aliasOf and (when force bypass) the live
216
+ // refs the operator overrode — forensics finds the broken refs
217
+ // through the bypass list per Q5 E1 audit shape.
218
+ // Cut 14: also capture priorReviewState if the item was in a non-
219
+ // draft review state (forward-compat with review-workflow).
220
+ const archiveMetadata = { ...archiveReviewMetadata(manifest) };
221
+ if (aliasOf)
222
+ archiveMetadata.aliasOf = aliasOf;
223
+ if (force) {
224
+ archiveMetadata.forced = true;
225
+ const bypassedRefs = await collectLiveRefs(source, handle, site, name);
226
+ if (bypassedRefs.length > 0)
227
+ archiveMetadata.bypassedRefs = bypassedRefs;
228
+ }
229
+ // Cut 14: when archiving an item in `pending-review`, emit the
230
+ // synthetic `review-withdraw` event FIRST per design-soft-delete.md
231
+ // Q9 N-A.2. Approved state (no synthetic withdraw) is captured via
232
+ // priorReviewState on the archive event itself. Pre-review-workflow,
233
+ // this returns null and is a no-op.
234
+ const withdrawEvent = buildAutoWithdrawEvent(manifest, { kind: handle.scopeKind, name });
235
+ if (withdrawEvent) {
236
+ await c.var.audit.record(withdrawEvent);
237
+ }
238
+ await c.var.audit.record({
239
+ action: 'archive',
240
+ outcome: 'success',
241
+ scope: { kind: handle.scopeKind, name },
242
+ metadata: Object.keys(archiveMetadata).length > 0 ? archiveMetadata : undefined,
243
+ });
244
+ // Background-stage validators (P1, P5) re-run on the archived item.
245
+ // Fire-and-forget per `manifest-save.ts` shape; the scanner emits
246
+ // its own SSE event when the pass completes.
247
+ notifyScanner(scanner, handle, name);
248
+ const response = { ok: true, name, archivedAt, ...(aliasOf ? { aliasOf } : {}) };
249
+ return c.json(response);
250
+ }
251
+ // ─── Unarchive ─────────────────────────────────────────────────────────
252
+ async function handleUnarchive(c, resolve, handle, scanner = null) {
253
+ const name = c.req.param('name');
254
+ if (!name)
255
+ return c.json({ error: 'Missing name parameter' }, 400);
256
+ const source = await resolve(c.req.query('target'));
257
+ const site = await loadSiteFromSource(source);
258
+ const manifest = lookupManifest(site, handle, name);
259
+ if (!manifest)
260
+ return c.json({ error: `${handle.label} "${name}" not found` }, 404);
261
+ // Already live? Idempotent — same rationale as archive's idempotent
262
+ // branch.
263
+ if (manifest.archived !== true) {
264
+ const response = { ok: true, name };
265
+ return c.json(response);
266
+ }
267
+ // Strip the archive fields. Per Q6 lock D1: unarchive = flip the bit.
268
+ // Content + components unchanged from archive time.
269
+ // Cut 14: also strip `reviewState` per design-soft-delete.md Q9 N-B.1
270
+ // (restore always to draft). Pre-review-workflow this is a no-op.
271
+ const restored = stripReviewStateForRestore(stripArchiveFields(manifest));
272
+ await writeManifest(source, handle, name, restored, manifest);
273
+ // Tear down the archive-aliases sidecar — `extract` on a live manifest
274
+ // returns the empty set, so the diff cleans up.
275
+ const itemRef = { source: handle.refSource, name };
276
+ await rebuildArchiveAliases(source.contentRoot, itemRef, manifest, restored);
277
+ await Promise.all([
278
+ source.cache.invalidatePrefix(`${handle.scopeKind}s:`),
279
+ handle.scopeKind === 'fragment' ? source.cache.invalidatePrefix('pages:') : Promise.resolve(),
280
+ ]);
281
+ await c.var.audit.record({
282
+ action: 'unarchive',
283
+ outcome: 'success',
284
+ scope: { kind: handle.scopeKind, name },
285
+ });
286
+ // Background-stage validators re-run on the restored item — clears
287
+ // stale archive-related issues from the scanner cache.
288
+ notifyScanner(scanner, handle, name);
289
+ const response = { ok: true, name };
290
+ return c.json(response);
291
+ }
292
+ // ─── Set alias (Cut 12) ────────────────────────────────────────────────
293
+ /**
294
+ * Edit an existing archive's `aliasOf` field. Set to a string to
295
+ * point at a different live target; set to null to drop the alias
296
+ * (pure soft-delete).
297
+ *
298
+ * Per Cut 12 grilling Q4 D1'': dedicated PATCH endpoint matches the
299
+ * archive route family pattern. Only valid on archived items — live
300
+ * items return 409 since their `aliasOf` is meaningless.
301
+ *
302
+ * Audit: emits `archive` action with `metadata.aliasEdited: true` so
303
+ * forensics can distinguish alias-edits from initial archives.
304
+ */
305
+ async function handleSetAlias(c, resolve, handle, scanner = null) {
306
+ const name = c.req.param('name');
307
+ if (!name)
308
+ return c.json({ error: 'Missing name parameter' }, 400);
309
+ const source = await resolve(c.req.query('target'));
310
+ const site = await loadSiteFromSource(source);
311
+ const manifest = lookupManifest(site, handle, name);
312
+ if (!manifest)
313
+ return c.json({ error: `${handle.label} "${name}" not found` }, 404);
314
+ if (manifest.archived !== true) {
315
+ return c.json({ error: `${handle.label} "${name}" is not archived; cannot set alias on a live item` }, 409);
316
+ }
317
+ // Schema-validate body. `aliasOf: null` is the canonical "drop" form.
318
+ let raw;
319
+ try {
320
+ raw = await c.req.json();
321
+ }
322
+ catch {
323
+ return c.json({ error: 'Invalid JSON body' }, 400);
324
+ }
325
+ const parsed = SetAliasRequestSchema.safeParse(raw);
326
+ if (!parsed.success) {
327
+ return c.json({
328
+ error: 'Invalid request body',
329
+ issues: parsed.error.issues.map(i => ({ path: i.path.join('.'), message: i.message })),
330
+ }, 400);
331
+ }
332
+ const { aliasOf } = parsed.data;
333
+ // Idempotent — return the current state when the alias didn't change.
334
+ if (manifest.aliasOf === (aliasOf ?? undefined)) {
335
+ const response = { ok: true, name, ...(aliasOf ? { aliasOf } : {}) };
336
+ return c.json(response);
337
+ }
338
+ // Build the updated manifest. Drop aliasOf when null; set when string.
339
+ const updated = { ...manifest };
340
+ if (aliasOf === null)
341
+ delete updated.aliasOf;
342
+ else
343
+ updated.aliasOf = aliasOf;
344
+ await writeManifest(source, handle, name, updated, manifest);
345
+ // Update the archive-aliases sidecar — extract sees the new aliasOf
346
+ // (or empty set when dropped) and the diff handles add/remove.
347
+ const itemRef = { source: handle.refSource, name };
348
+ await rebuildArchiveAliases(source.contentRoot, itemRef, manifest, updated);
349
+ await Promise.all([
350
+ source.cache.invalidatePrefix(`${handle.scopeKind}s:`),
351
+ handle.scopeKind === 'fragment' ? source.cache.invalidatePrefix('pages:') : Promise.resolve(),
352
+ ]);
353
+ await c.var.audit.record({
354
+ action: 'archive',
355
+ outcome: 'success',
356
+ scope: { kind: handle.scopeKind, name },
357
+ metadata: {
358
+ aliasEdited: true,
359
+ ...(aliasOf ? { aliasOf } : { aliasDropped: true }),
360
+ },
361
+ });
362
+ // Re-validate after alias edit — P5 (`aliasof-points-to-archived`)
363
+ // and P2 (`dangling-alias`) depend on the manifest's aliasOf field.
364
+ notifyScanner(scanner, handle, name);
365
+ const response = { ok: true, name, ...(aliasOf ? { aliasOf } : {}) };
366
+ return c.json(response);
367
+ }
368
+ // ─── Purge ─────────────────────────────────────────────────────────────
369
+ export async function handlePurge(c, resolve, handle, scanner = null) {
370
+ const name = c.req.param('name');
371
+ if (!name)
372
+ return c.json({ error: 'Missing name parameter' }, 400);
373
+ const force = c.req.query('force') === 'true';
374
+ const source = await resolve(c.req.query('target'));
375
+ const site = await loadSiteFromSource(source);
376
+ const manifest = lookupManifest(site, handle, name);
377
+ if (!manifest)
378
+ return c.json({ error: `${handle.label} "${name}" not found` }, 404);
379
+ // Per Q4 lock D1: refuse on aliases AND live refs (one 409 with
380
+ // both arrays). `?force=true` bypasses both per Q5 lock E1; admin
381
+ // role gate is enforced by `requireCapability('delete:*')` paired
382
+ // with the audit metadata recording what was bypassed.
383
+ const aliases = await collectAliases(source, name);
384
+ const liveRefs = await collectLiveRefs(source, handle, site, name);
385
+ if (!force && (aliases.length > 0 || liveRefs.length > 0)) {
386
+ const blocked = { code: 'DELETE_BLOCKED', aliases, liveRefs };
387
+ return c.json(blocked, 409);
388
+ }
389
+ // History first per pages.ts/fragments.ts pattern: the recorder's
390
+ // first call scans pre-purge to build the baseline, then captures
391
+ // the post-purge state. Writing first would lose the baseline.
392
+ const itemDir = source.contentRoot.path(`${handle.scopeKind}s`, name);
393
+ const manifestPath = join(itemDir, handle.filename);
394
+ if (source.history) {
395
+ await recordWrite({
396
+ history: source.history,
397
+ contentRoot: source.contentRoot,
398
+ operation: 'save',
399
+ items: [{ path: source.contentRoot.relative(manifestPath), content: null }],
400
+ });
401
+ }
402
+ await source.storage.rm(itemDir);
403
+ // Tear down dep-sidecars — purge IS edge removal. Asset-refs +
404
+ // fragment-deps go away; archive-aliases tears down too. Per-locale
405
+ // variants share the directory, but we tear down their sidecars
406
+ // separately so the per-locale ItemRef variants are explicit.
407
+ const itemRef = { source: handle.refSource, name };
408
+ const teardowns = [
409
+ rebuildArchiveAliases(source.contentRoot, itemRef, manifest, null),
410
+ rebuildAssetRefs(source.contentRoot, itemRef, manifest, null),
411
+ rebuildFragmentDeps(source.contentRoot, itemRef, manifest, null),
412
+ ];
413
+ // Locale variants from the loader (when the item had any).
414
+ const variantManifests = collectLocaleVariants(site, handle, name);
415
+ for (const [loc, variant] of variantManifests) {
416
+ const ref = { source: handle.refSource, name, locale: loc };
417
+ teardowns.push(rebuildArchiveAliases(source.contentRoot, ref, variant, null), rebuildAssetRefs(source.contentRoot, ref, variant, null), rebuildFragmentDeps(source.contentRoot, ref, variant, null));
418
+ }
419
+ await Promise.all(teardowns);
420
+ await Promise.all([
421
+ source.cache.invalidatePrefix(`${handle.scopeKind}s:`),
422
+ handle.scopeKind === 'fragment' ? source.cache.invalidatePrefix('pages:') : Promise.resolve(),
423
+ ]);
424
+ // Audit metadata captures the bypass when `?force=true` cleared
425
+ // blockers — per Q8 audit shape (Q5 E1 lock). Forensics finds the
426
+ // broken refs / dangling aliases by querying the bypass arrays.
427
+ const metadata = {};
428
+ if (manifest.archived === true) {
429
+ if (manifest.archivedAt)
430
+ metadata.archivedAt = manifest.archivedAt;
431
+ if (manifest.archivedBy)
432
+ metadata.archivedBy = manifest.archivedBy;
433
+ }
434
+ if (force) {
435
+ metadata.forced = true;
436
+ if (aliases.length > 0)
437
+ metadata.bypassedAliases = aliases;
438
+ if (liveRefs.length > 0)
439
+ metadata.bypassedRefs = liveRefs;
440
+ }
441
+ await c.var.audit.record({
442
+ action: 'purge',
443
+ outcome: 'success',
444
+ scope: { kind: handle.scopeKind, name },
445
+ metadata: Object.keys(metadata).length > 0 ? metadata : undefined,
446
+ });
447
+ // Item is gone — scanner clears any cached issues for this path.
448
+ notifyScanner(scanner, handle, name);
449
+ const response = { ok: true, name };
450
+ return c.json(response);
451
+ }
452
+ // ─── Helpers ──────────────────────────────────────────────────────────
453
+ function lookupManifest(site, handle, name) {
454
+ return handle.scopeKind === 'page' ? site.pages.get(name) : site.fragments.get(name);
455
+ }
456
+ function collectLocaleVariants(site, handle, name) {
457
+ const localeEntry = handle.scopeKind === 'page' ? site.pageLocales.get(name) : site.fragmentLocales.get(name);
458
+ if (!localeEntry)
459
+ return [];
460
+ return [...localeEntry.locales.entries()];
461
+ }
462
+ async function writeManifest(source, handle, name, manifest, preManifest) {
463
+ const itemDir = source.contentRoot.path(`${handle.scopeKind}s`, name);
464
+ const manifestPath = join(itemDir, handle.filename);
465
+ const serialized = JSON.stringify(stripDirAndRoute(manifest, preManifest, handle), null, 2) + '\n';
466
+ // History record before write (same rationale as PUT handler).
467
+ if (source.history) {
468
+ await recordWrite({
469
+ history: source.history,
470
+ contentRoot: source.contentRoot,
471
+ operation: 'save',
472
+ items: [{ path: source.contentRoot.relative(manifestPath), content: serialized }],
473
+ });
474
+ }
475
+ await source.storage.writeFile(manifestPath, serialized);
476
+ }
477
+ /**
478
+ * Pages have a derived `route` field on the in-memory manifest (from
479
+ * the directory name). Fragments don't carry serializable extras here.
480
+ * The on-disk `page.json` only stores fields the author authors —
481
+ * `route` and `dir` are runtime projections from the loader.
482
+ */
483
+ function stripDirAndRoute(manifest, preManifest, _handle) {
484
+ const stripped = { ...manifest };
485
+ delete stripped.route;
486
+ delete stripped.dir;
487
+ // Preserve any author-stored fields not in our typed shape — copy
488
+ // anything in preManifest that we didn't already include.
489
+ void preManifest;
490
+ return stripped;
491
+ }
492
+ function stripArchiveFields(manifest) {
493
+ const restored = { ...manifest };
494
+ delete restored.archived;
495
+ delete restored.archivedAt;
496
+ delete restored.archivedBy;
497
+ delete restored.aliasOf;
498
+ return restored;
499
+ }
500
+ /**
501
+ * Read every archive whose `aliasOf` points at `name`. Per Cut 5a's
502
+ * sidecar pattern this is one `readDir`; at the 5K-page envelope
503
+ * that's sub-millisecond on filesystem and ~5ms on cloud — well
504
+ * under the admin SLA per `team-preferences.md` rule 24.
505
+ */
506
+ async function collectAliases(source, name) {
507
+ const refs = await readArchivesAliasing(source.contentRoot, name);
508
+ // ItemRef.source is `'page' | 'fragment'`; both are valid kinds
509
+ // for the AliasPointer. Locale variants don't show up in this
510
+ // index because the alias-aware renderer resolves at the bare
511
+ // name — locale variants share their parent's archive state.
512
+ return refs
513
+ .filter(r => r.source === 'page' || r.source === 'fragment')
514
+ .map(r => ({ kind: r.source, name: r.name }));
515
+ }
516
+ /**
517
+ * Collect live (non-archived) page/fragment refs for the target name.
518
+ * Fragment scope: walk `fragment-deps` reverse-dep sidecars; discard
519
+ * any referencing item that is itself archived (those are aliased,
520
+ * not live). Page scope: pages aren't fragment-referenced, but pages
521
+ * CAN be aliased by other archives (collected separately above).
522
+ */
523
+ async function collectLiveRefs(source, handle, site, name) {
524
+ if (handle.scopeKind !== 'fragment')
525
+ return [];
526
+ const refs = await readDepsForFragment(source.contentRoot, name);
527
+ const live = [];
528
+ for (const ref of refs) {
529
+ if (ref.source !== 'page' && ref.source !== 'fragment')
530
+ continue;
531
+ const referrer = ref.source === 'page' ? site.pages.get(ref.name) : site.fragments.get(ref.name);
532
+ if (!referrer)
533
+ continue;
534
+ if (referrer.archived === true)
535
+ continue;
536
+ live.push({ kind: ref.source, name: ref.name });
537
+ }
538
+ return live;
539
+ }
540
+ //# sourceMappingURL=archive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/admin-api/routes/archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAG/D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAIL,oBAAoB,EAKpB,qBAAqB,GAEtB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAe/G,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,MAAM;CACd,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,eAAe;IACzB,KAAK,EAAE,UAAU;CAClB,CAAA;AAmBD,MAAM,UAAU,aAAa,CAAC,OAA8B,EAAE,OAA6B,EAAE;IAC3F,MAAM,GAAG,GAAG,IAAI,IAAI,EAAY,CAAA;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAA;IAEpC,qEAAqE;IACrE,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,CAC1E,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAChD,CAAA;IACD,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAC1E,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAClD,CAAA;IACD,GAAG,CAAC,MAAM,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,CAC1E,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAC9C,CAAA;IACD,2DAA2D;IAC3D,mEAAmE;IACnE,oEAAoE;IACpE,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CACvE,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CACjD,CAAA;IAED,qEAAqE;IACrE,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,CAClF,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,CACpD,CAAA;IACD,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,CAClF,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,CACtD,CAAA;IACD,GAAG,CAAC,MAAM,CAAC,4BAA4B,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,CAClF,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,CAClD,CAAA;IACD,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,CAC/E,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,CACrD,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CACpB,OAAuE,EACvE,MAAkB,EAClB,IAAY;IAEZ,IAAI,CAAC,OAAO;QAAE,OAAM;IACpB,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAA;IAChE,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAA;IACrD,KAAK,OAAO,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;KACjD,CAAC,CAAA;AACJ,CAAC;AAED,0EAA0E;AAE1E,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,CAAoB,EACpB,OAA8B,EAC9B,MAAkB,EAClB,UAA0E,IAAI;IAE9E,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,GAAG,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAE7C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,aAAa,EAAE,EAAE,GAAG,CAAC,CAAA;IAEnF,gEAAgE;IAChE,6DAA6D;IAC7D,IAAI,IAAI,GAAY,EAAE,CAAA;IACtB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;QAClE,gEAAgE;QAChE,gBAAgB;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IACzD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC,IAAI,CACX;YACE,KAAK,EAAE,sBAAsB;YAC7B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SACvF,EACD,GAAG,CACJ,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAA;IACnC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,MAAM,CAAA;IAE7C,gEAAgE;IAChE,iEAAiE;IACjE,8DAA8D;IAC9D,kEAAkE;IAClE,6DAA6D;IAC7D,qCAAqC;IACrC,EAAE;IACF,iEAAiE;IACjE,0DAA0D;IAC1D,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAClE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAuB,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,CAAA;YAC/E,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,kEAAkE;IAClE,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAoB;YAChC,EAAE,EAAE,IAAI;YACR,IAAI;YACJ,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC3D,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAA;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,kEAAkE;IAClE,mEAAmE;IACnE,2CAA2C;IAC3C,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAA;IACjC,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC3C,MAAM,QAAQ,GAAsB;QAClC,GAAG,QAAQ;QACX,QAAQ,EAAE,IAAI;QACd,UAAU;QACV,UAAU,EAAE,SAAS,CAAC,EAAE;KACzB,CAAA;IACD,IAAI,OAAO;QAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;IAEvC,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE7D,6DAA6D;IAC7D,gEAAgE;IAChE,kEAAkE;IAClE,6BAA6B;IAC7B,MAAM,OAAO,GAAY,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAA;IAC3D,MAAM,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE5E,oEAAoE;IACpE,iEAAiE;IACjE,mEAAmE;IACnE,uDAAuD;IAEvD,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC;QACtD,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;KAC9F,CAAC,CAAA;IACF,mEAAmE;IACnE,+DAA+D;IAC/D,iDAAiD;IACjD,kEAAkE;IAClE,4DAA4D;IAC5D,MAAM,eAAe,GAA4B,EAAE,GAAG,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAA;IACvF,IAAI,OAAO;QAAE,eAAe,CAAC,OAAO,GAAG,OAAO,CAAA;IAC9C,IAAI,KAAK,EAAE,CAAC;QACV,eAAe,CAAC,MAAM,GAAG,IAAI,CAAA;QAC7B,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACtE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,eAAe,CAAC,YAAY,GAAG,YAAY,CAAA;IAC1E,CAAC;IACD,+DAA+D;IAC/D,oEAAoE;IACpE,mEAAmE;IACnE,qEAAqE;IACrE,oCAAoC;IACpC,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxF,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QACvB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE;QACvC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;KAChF,CAAC,CAAA;IACF,oEAAoE;IACpE,kEAAkE;IAClE,6CAA6C;IAC7C,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAEpC,MAAM,QAAQ,GAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACjG,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC;AAED,0EAA0E;AAE1E,KAAK,UAAU,eAAe,CAC5B,CAAoB,EACpB,OAA8B,EAC9B,MAAkB,EAClB,UAA0E,IAAI;IAE9E,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,GAAG,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAE7C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,aAAa,EAAE,EAAE,GAAG,CAAC,CAAA;IAEnF,oEAAoE;IACpE,UAAU;IACV,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACtD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,sEAAsE;IACtE,oDAAoD;IACpD,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,QAAQ,GAAsB,0BAA0B,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE5F,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE7D,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,OAAO,GAAY,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAA;IAC3D,MAAM,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE5E,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC;QACtD,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;KAC9F,CAAC,CAAA;IACF,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QACvB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE;KACxC,CAAC,CAAA;IACF,mEAAmE;IACnE,uDAAuD;IACvD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAEpC,MAAM,QAAQ,GAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACtD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC;AAED,0EAA0E;AAE1E;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,cAAc,CAC3B,CAAoB,EACpB,OAA8B,EAC9B,MAAkB,EAClB,UAA0E,IAAI;IAE9E,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,GAAG,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAE7C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,aAAa,EAAE,EAAE,GAAG,CAAC,CAAA;IAEnF,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,oDAAoD,EAAE,EAAE,GAAG,CAAC,CAAA;IAC7G,CAAC;IAED,sEAAsE;IACtE,IAAI,GAAY,CAAA;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAA;IACpD,CAAC;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC,IAAI,CACX;YACE,KAAK,EAAE,sBAAsB;YAC7B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SACvF,EACD,GAAG,CACJ,CAAA;IACH,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;IAE/B,sEAAsE;IACtE,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAqB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QACtF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,uEAAuE;IACvE,MAAM,OAAO,GAAsB,EAAE,GAAG,QAAQ,EAAE,CAAA;IAClD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,OAAO,CAAA;;QACvC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;IAE9B,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAE5D,oEAAoE;IACpE,+DAA+D;IAC/D,MAAM,OAAO,GAAY,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAA;IAC3D,MAAM,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAE3E,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC;QACtD,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;KAC9F,CAAC,CAAA;IACF,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QACvB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE;QACvC,QAAQ,EAAE;YACR,WAAW,EAAE,IAAI;YACjB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACpD;KACF,CAAC,CAAA;IACF,mEAAmE;IACnE,oEAAoE;IACpE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAEpC,MAAM,QAAQ,GAAqB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACtF,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC;AAED,0EAA0E;AAE1E,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,CAAoB,EACpB,OAA8B,EAC9B,MAAkB,EAClB,UAA0E,IAAI;IAE9E,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,GAAG,CAAC,CAAA;IAClE,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,MAAM,CAAA;IAC7C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAE7C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,aAAa,EAAE,EAAE,GAAG,CAAC,CAAA;IAEnF,gEAAgE;IAChE,kEAAkE;IAClE,kEAAkE;IAClE,uDAAuD;IACvD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAElE,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;QAC3E,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,kEAAkE;IAClE,kEAAkE;IAClE,+DAA+D;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,CAAA;IACrE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IACnD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,WAAW,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC5E,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;IAEhC,+DAA+D;IAC/D,oEAAoE;IACpE,gEAAgE;IAChE,8DAA8D;IAC9D,MAAM,OAAO,GAAY,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAA;IAC3D,MAAM,SAAS,GAAoB;QACjC,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC;QAClE,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC;QAC7D,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC;KACjE,CAAA;IACD,2DAA2D;IAC3D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAClE,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAY,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;QACpE,SAAS,CAAC,IAAI,CACZ,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAC7D,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EACxD,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAC5D,CAAA;IACH,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAE5B,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC;QACtD,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;KAC9F,CAAC,CAAA;IAEF,gEAAgE;IAChE,kEAAkE;IAClE,gEAAgE;IAChE,MAAM,QAAQ,GAA4B,EAAE,CAAA;IAC5C,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC/B,IAAI,QAAQ,CAAC,UAAU;YAAE,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAClE,IAAI,QAAQ,CAAC,UAAU;YAAE,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;IACpE,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAA;QACtB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAA;QAC1D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAA;IAC3D,CAAC;IACD,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QACvB,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE;QACvC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;KAClE,CAAC,CAAA;IACF,iEAAiE;IACjE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAEpC,MAAM,QAAQ,GAAkB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAClD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC;AAED,yEAAyE;AAEzE,SAAS,cAAc,CACrB,IAAyC,EACzC,MAAkB,EAClB,IAAY;IAEZ,OAAO,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACtF,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAyC,EACzC,MAAkB,EAClB,IAAY;IAEZ,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7G,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAA;IAC3B,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAoD,EACpD,MAAkB,EAClB,IAAY,EACZ,QAA2B,EAC3B,WAA4C;IAE5C,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,CAAA;IACrE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;IAElG,+DAA+D;IAC/D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,WAAW,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SAClF,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,QAA2B,EAC3B,WAA4C,EAC5C,OAAmB;IAEnB,MAAM,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAiD,CAAA;IAC/E,OAAO,QAAQ,CAAC,KAAK,CAAA;IACrB,OAAO,QAAQ,CAAC,GAAG,CAAA;IACnB,kEAAkE;IAClE,0DAA0D;IAC1D,KAAK,WAAW,CAAA;IAChB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,QAA2B;IACrD,MAAM,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAiD,CAAA;IAC/E,OAAO,QAAQ,CAAC,QAAQ,CAAA;IACxB,OAAO,QAAQ,CAAC,UAAU,CAAA;IAC1B,OAAO,QAAQ,CAAC,UAAU,CAAA;IAC1B,OAAO,QAAQ,CAAC,OAAO,CAAA;IACvB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,cAAc,CAC3B,MAAoD,EACpD,IAAY;IAEZ,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IACjE,gEAAgE;IAChE,8DAA8D;IAC9D,8DAA8D;IAC9D,6DAA6D;IAC7D,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;SAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAA6B,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AACxE,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAC5B,MAAoD,EACpD,MAAkB,EAClB,IAAyC,EACzC,IAAY;IAEZ,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU;QAAE,OAAO,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAChE,MAAM,IAAI,GAAc,EAAE,CAAA;IAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;YAAE,SAAQ;QAChE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAChG,IAAI,CAAC,QAAQ;YAAE,SAAQ;QACvB,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI;YAAE,SAAQ;QACxC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * HTTP routes for `/api/assets*`.
3
+ *
4
+ * Thin adapters. Each handler:
5
+ * 1. resolves the active target's source context,
6
+ * 2. delegates to the appropriate asset-domain operation,
7
+ * 3. maps success to the HTTP response,
8
+ * 4. delegates error-to-response translation to `respondWithAssetError`.
9
+ *
10
+ * No validation, storage, or orchestration logic in here — the asset
11
+ * domain owns all of that (see `src/assets/`).
12
+ */
13
+ import { Hono } from 'hono';
14
+ import type { SourceContextResolver } from '../source-context.js';
15
+ import type { AuditEnv } from '../middleware/audit.js';
16
+ import { type HookRegistry } from '../../hooks/index.js';
17
+ export interface AssetRoutesOptions {
18
+ hooks?: HookRegistry;
19
+ }
20
+ export declare function assetRoutes(resolve: SourceContextResolver, opts?: AssetRoutesOptions): Hono<AuditEnv, import("hono/types").BlankSchema, "/">;
21
+ //# sourceMappingURL=assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/admin-api/routes/assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAgB3B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAEjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAML,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAA;AAG7B,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAoCD,wBAAgB,WAAW,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,GAAE,kBAAuB,yDA8gBxF"}