gazetta 0.7.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 (738) 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/hook-audit-emitter.d.ts +38 -0
  21. package/dist/admin-api/hook-audit-emitter.d.ts.map +1 -0
  22. package/dist/admin-api/hook-audit-emitter.js +21 -0
  23. package/dist/admin-api/hook-audit-emitter.js.map +1 -0
  24. package/dist/admin-api/index.d.ts +84 -0
  25. package/dist/admin-api/index.d.ts.map +1 -1
  26. package/dist/admin-api/index.js +254 -9
  27. package/dist/admin-api/index.js.map +1 -1
  28. package/dist/admin-api/middleware/audit.d.ts +25 -0
  29. package/dist/admin-api/middleware/audit.d.ts.map +1 -0
  30. package/dist/admin-api/middleware/audit.js +65 -0
  31. package/dist/admin-api/middleware/audit.js.map +1 -0
  32. package/dist/admin-api/middleware/capability.d.ts +8 -0
  33. package/dist/admin-api/middleware/capability.d.ts.map +1 -0
  34. package/dist/admin-api/middleware/capability.js +65 -0
  35. package/dist/admin-api/middleware/capability.js.map +1 -0
  36. package/dist/admin-api/middleware/principal.d.ts +18 -0
  37. package/dist/admin-api/middleware/principal.d.ts.map +1 -0
  38. package/dist/admin-api/middleware/principal.js +128 -0
  39. package/dist/admin-api/middleware/principal.js.map +1 -0
  40. package/dist/admin-api/routes/archive-review.d.ts +80 -0
  41. package/dist/admin-api/routes/archive-review.d.ts.map +1 -0
  42. package/dist/admin-api/routes/archive-review.js +70 -0
  43. package/dist/admin-api/routes/archive-review.js.map +1 -0
  44. package/dist/admin-api/routes/archive.d.ts +145 -0
  45. package/dist/admin-api/routes/archive.d.ts.map +1 -0
  46. package/dist/admin-api/routes/archive.js +540 -0
  47. package/dist/admin-api/routes/archive.js.map +1 -0
  48. package/dist/admin-api/routes/assets.d.ts +6 -1
  49. package/dist/admin-api/routes/assets.d.ts.map +1 -1
  50. package/dist/admin-api/routes/assets.js +167 -14
  51. package/dist/admin-api/routes/assets.js.map +1 -1
  52. package/dist/admin-api/routes/audit.d.ts +71 -0
  53. package/dist/admin-api/routes/audit.d.ts.map +1 -0
  54. package/dist/admin-api/routes/audit.js +178 -0
  55. package/dist/admin-api/routes/audit.js.map +1 -0
  56. package/dist/admin-api/routes/compare.d.ts.map +1 -1
  57. package/dist/admin-api/routes/compare.js +3 -2
  58. package/dist/admin-api/routes/compare.js.map +1 -1
  59. package/dist/admin-api/routes/fields.d.ts.map +1 -1
  60. package/dist/admin-api/routes/fields.js +2 -1
  61. package/dist/admin-api/routes/fields.js.map +1 -1
  62. package/dist/admin-api/routes/fragments.d.ts +13 -1
  63. package/dist/admin-api/routes/fragments.d.ts.map +1 -1
  64. package/dist/admin-api/routes/fragments.js +127 -92
  65. package/dist/admin-api/routes/fragments.js.map +1 -1
  66. package/dist/admin-api/routes/health.d.ts +60 -0
  67. package/dist/admin-api/routes/health.d.ts.map +1 -0
  68. package/dist/admin-api/routes/health.js +65 -0
  69. package/dist/admin-api/routes/health.js.map +1 -0
  70. package/dist/admin-api/routes/history.d.ts +2 -1
  71. package/dist/admin-api/routes/history.d.ts.map +1 -1
  72. package/dist/admin-api/routes/history.js +26 -4
  73. package/dist/admin-api/routes/history.js.map +1 -1
  74. package/dist/admin-api/routes/pages.d.ts +20 -1
  75. package/dist/admin-api/routes/pages.d.ts.map +1 -1
  76. package/dist/admin-api/routes/pages.js +157 -117
  77. package/dist/admin-api/routes/pages.js.map +1 -1
  78. package/dist/admin-api/routes/preview.d.ts.map +1 -1
  79. package/dist/admin-api/routes/preview.js +56 -17
  80. package/dist/admin-api/routes/preview.js.map +1 -1
  81. package/dist/admin-api/routes/publish.d.ts +19 -1
  82. package/dist/admin-api/routes/publish.d.ts.map +1 -1
  83. package/dist/admin-api/routes/publish.js +508 -92
  84. package/dist/admin-api/routes/publish.js.map +1 -1
  85. package/dist/admin-api/routes/rename.d.ts +62 -0
  86. package/dist/admin-api/routes/rename.d.ts.map +1 -0
  87. package/dist/admin-api/routes/rename.js +366 -0
  88. package/dist/admin-api/routes/rename.js.map +1 -0
  89. package/dist/admin-api/routes/site.d.ts.map +1 -1
  90. package/dist/admin-api/routes/site.js +6 -18
  91. package/dist/admin-api/routes/site.js.map +1 -1
  92. package/dist/admin-api/routes/system.d.ts +23 -0
  93. package/dist/admin-api/routes/system.d.ts.map +1 -0
  94. package/dist/admin-api/routes/system.js +115 -0
  95. package/dist/admin-api/routes/system.js.map +1 -0
  96. package/dist/admin-api/routes/templates.d.ts +11 -1
  97. package/dist/admin-api/routes/templates.d.ts.map +1 -1
  98. package/dist/admin-api/routes/templates.js +36 -3
  99. package/dist/admin-api/routes/templates.js.map +1 -1
  100. package/dist/admin-api/routes/validation.d.ts +47 -0
  101. package/dist/admin-api/routes/validation.d.ts.map +1 -0
  102. package/dist/admin-api/routes/validation.js +120 -0
  103. package/dist/admin-api/routes/validation.js.map +1 -0
  104. package/dist/admin-api/schemas/archive.d.ts +124 -0
  105. package/dist/admin-api/schemas/archive.d.ts.map +1 -0
  106. package/dist/admin-api/schemas/archive.js +93 -0
  107. package/dist/admin-api/schemas/archive.js.map +1 -0
  108. package/dist/admin-api/schemas/assets.d.ts +16 -0
  109. package/dist/admin-api/schemas/assets.d.ts.map +1 -1
  110. package/dist/admin-api/schemas/assets.js +15 -0
  111. package/dist/admin-api/schemas/assets.js.map +1 -1
  112. package/dist/admin-api/schemas/audit.d.ts +175 -0
  113. package/dist/admin-api/schemas/audit.d.ts.map +1 -0
  114. package/dist/admin-api/schemas/audit.js +91 -0
  115. package/dist/admin-api/schemas/audit.js.map +1 -0
  116. package/dist/admin-api/schemas/error.d.ts +94 -0
  117. package/dist/admin-api/schemas/error.d.ts.map +1 -0
  118. package/dist/admin-api/schemas/error.js +79 -0
  119. package/dist/admin-api/schemas/error.js.map +1 -0
  120. package/dist/admin-api/schemas/fragments.d.ts +2 -0
  121. package/dist/admin-api/schemas/fragments.d.ts.map +1 -1
  122. package/dist/admin-api/schemas/fragments.js +4 -0
  123. package/dist/admin-api/schemas/fragments.js.map +1 -1
  124. package/dist/admin-api/schemas/index.d.ts +8 -0
  125. package/dist/admin-api/schemas/index.d.ts.map +1 -1
  126. package/dist/admin-api/schemas/index.js +8 -0
  127. package/dist/admin-api/schemas/index.js.map +1 -1
  128. package/dist/admin-api/schemas/pages.d.ts +2 -0
  129. package/dist/admin-api/schemas/pages.d.ts.map +1 -1
  130. package/dist/admin-api/schemas/pages.js +11 -0
  131. package/dist/admin-api/schemas/pages.js.map +1 -1
  132. package/dist/admin-api/schemas/rename.d.ts +77 -0
  133. package/dist/admin-api/schemas/rename.d.ts.map +1 -0
  134. package/dist/admin-api/schemas/rename.js +75 -0
  135. package/dist/admin-api/schemas/rename.js.map +1 -0
  136. package/dist/admin-api/schemas/site.d.ts +3 -2
  137. package/dist/admin-api/schemas/site.d.ts.map +1 -1
  138. package/dist/admin-api/schemas/site.js +3 -2
  139. package/dist/admin-api/schemas/site.js.map +1 -1
  140. package/dist/admin-api/schemas/system.d.ts +28 -0
  141. package/dist/admin-api/schemas/system.d.ts.map +1 -0
  142. package/dist/admin-api/schemas/system.js +35 -0
  143. package/dist/admin-api/schemas/system.js.map +1 -0
  144. package/dist/admin-api/schemas/targets.d.ts +55 -0
  145. package/dist/admin-api/schemas/targets.d.ts.map +1 -1
  146. package/dist/admin-api/schemas/targets.js +46 -0
  147. package/dist/admin-api/schemas/targets.js.map +1 -1
  148. package/dist/admin-api/schemas/templates.d.ts +54 -0
  149. package/dist/admin-api/schemas/templates.d.ts.map +1 -1
  150. package/dist/admin-api/schemas/templates.js +21 -0
  151. package/dist/admin-api/schemas/templates.js.map +1 -1
  152. package/dist/admin-api/schemas/validation.d.ts +101 -0
  153. package/dist/admin-api/schemas/validation.d.ts.map +1 -0
  154. package/dist/admin-api/schemas/validation.js +57 -0
  155. package/dist/admin-api/schemas/validation.js.map +1 -0
  156. package/dist/admin-api/source-context.d.ts +66 -10
  157. package/dist/admin-api/source-context.d.ts.map +1 -1
  158. package/dist/admin-api/source-context.js +43 -5
  159. package/dist/admin-api/source-context.js.map +1 -1
  160. package/dist/ai/adapter-scaffold.d.ts +63 -0
  161. package/dist/ai/adapter-scaffold.d.ts.map +1 -0
  162. package/dist/ai/adapter-scaffold.js +89 -0
  163. package/dist/ai/adapter-scaffold.js.map +1 -0
  164. package/dist/ai/compose-prompt.d.ts +50 -0
  165. package/dist/ai/compose-prompt.d.ts.map +1 -0
  166. package/dist/ai/compose-prompt.js +49 -0
  167. package/dist/ai/compose-prompt.js.map +1 -0
  168. package/dist/ai/errors.d.ts +65 -0
  169. package/dist/ai/errors.d.ts.map +1 -0
  170. package/dist/ai/errors.js +59 -0
  171. package/dist/ai/errors.js.map +1 -0
  172. package/dist/ai/index.d.ts +17 -0
  173. package/dist/ai/index.d.ts.map +1 -0
  174. package/dist/ai/index.js +16 -0
  175. package/dist/ai/index.js.map +1 -0
  176. package/dist/ai/provider.d.ts +76 -0
  177. package/dist/ai/provider.d.ts.map +1 -0
  178. package/dist/ai/provider.js +13 -0
  179. package/dist/ai/provider.js.map +1 -0
  180. package/dist/ai/refusal.d.ts +50 -0
  181. package/dist/ai/refusal.d.ts.map +1 -0
  182. package/dist/ai/refusal.js +100 -0
  183. package/dist/ai/refusal.js.map +1 -0
  184. package/dist/ai/vision-prep.d.ts +32 -0
  185. package/dist/ai/vision-prep.d.ts.map +1 -0
  186. package/dist/ai/vision-prep.js +113 -0
  187. package/dist/ai/vision-prep.js.map +1 -0
  188. package/dist/alt/adapter.d.ts +140 -0
  189. package/dist/alt/adapter.d.ts.map +1 -0
  190. package/dist/alt/adapter.js +7 -0
  191. package/dist/alt/adapter.js.map +1 -0
  192. package/dist/alt/anthropic.d.ts +63 -0
  193. package/dist/alt/anthropic.d.ts.map +1 -0
  194. package/dist/alt/anthropic.js +147 -0
  195. package/dist/alt/anthropic.js.map +1 -0
  196. package/dist/alt/config.d.ts +67 -0
  197. package/dist/alt/config.d.ts.map +1 -0
  198. package/dist/alt/config.js +41 -0
  199. package/dist/alt/config.js.map +1 -0
  200. package/dist/alt/factory.d.ts +19 -0
  201. package/dist/alt/factory.d.ts.map +1 -0
  202. package/dist/alt/factory.js +69 -0
  203. package/dist/alt/factory.js.map +1 -0
  204. package/dist/alt/null-adapter.d.ts +3 -0
  205. package/dist/alt/null-adapter.d.ts.map +1 -0
  206. package/dist/alt/null-adapter.js +43 -0
  207. package/dist/alt/null-adapter.js.map +1 -0
  208. package/dist/alt/ollama.d.ts +40 -0
  209. package/dist/alt/ollama.d.ts.map +1 -0
  210. package/dist/alt/ollama.js +139 -0
  211. package/dist/alt/ollama.js.map +1 -0
  212. package/dist/alt/openai.d.ts +46 -0
  213. package/dist/alt/openai.d.ts.map +1 -0
  214. package/dist/alt/openai.js +118 -0
  215. package/dist/alt/openai.js.map +1 -0
  216. package/dist/alt/prompt-policies.d.ts +79 -0
  217. package/dist/alt/prompt-policies.d.ts.map +1 -0
  218. package/dist/alt/prompt-policies.js +67 -0
  219. package/dist/alt/prompt-policies.js.map +1 -0
  220. package/dist/alt/route-handler.d.ts +56 -0
  221. package/dist/alt/route-handler.d.ts.map +1 -0
  222. package/dist/alt/route-handler.js +122 -0
  223. package/dist/alt/route-handler.js.map +1 -0
  224. package/dist/alt/suggester.d.ts +57 -0
  225. package/dist/alt/suggester.d.ts.map +1 -0
  226. package/dist/alt/suggester.js +133 -0
  227. package/dist/alt/suggester.js.map +1 -0
  228. package/dist/app.js +1 -1
  229. package/dist/app.js.map +1 -1
  230. package/dist/archive-aliases.d.ts +79 -0
  231. package/dist/archive-aliases.d.ts.map +1 -0
  232. package/dist/archive-aliases.js +60 -0
  233. package/dist/archive-aliases.js.map +1 -0
  234. package/dist/archive-helpers.d.ts +73 -0
  235. package/dist/archive-helpers.d.ts.map +1 -0
  236. package/dist/archive-helpers.js +94 -0
  237. package/dist/archive-helpers.js.map +1 -0
  238. package/dist/assets/find-refs.d.ts +1 -1
  239. package/dist/assets/find-refs.js +1 -1
  240. package/dist/assets/find-refs.js.map +1 -1
  241. package/dist/assets/rename.js +1 -1
  242. package/dist/assets/rename.js.map +1 -1
  243. package/dist/assets/replace.js +1 -1
  244. package/dist/assets/replace.js.map +1 -1
  245. package/dist/assets/resolve.js +4 -4
  246. package/dist/assets/resolve.js.map +1 -1
  247. package/dist/assets/serve-route.js +2 -2
  248. package/dist/assets/serve-route.js.map +1 -1
  249. package/dist/assets/validate.d.ts +1 -1
  250. package/dist/assets/validate.js +1 -1
  251. package/dist/audit/config.d.ts +75 -0
  252. package/dist/audit/config.d.ts.map +1 -0
  253. package/dist/audit/config.js +91 -0
  254. package/dist/audit/config.js.map +1 -0
  255. package/dist/audit/context.d.ts +98 -0
  256. package/dist/audit/context.d.ts.map +1 -0
  257. package/dist/audit/context.js +51 -0
  258. package/dist/audit/context.js.map +1 -0
  259. package/dist/audit/errors.d.ts +73 -0
  260. package/dist/audit/errors.d.ts.map +1 -0
  261. package/dist/audit/errors.js +78 -0
  262. package/dist/audit/errors.js.map +1 -0
  263. package/dist/audit/index.d.ts +16 -0
  264. package/dist/audit/index.d.ts.map +1 -0
  265. package/dist/audit/index.js +10 -0
  266. package/dist/audit/index.js.map +1 -0
  267. package/dist/audit/provider.d.ts +73 -0
  268. package/dist/audit/provider.d.ts.map +1 -0
  269. package/dist/audit/provider.js +2 -0
  270. package/dist/audit/provider.js.map +1 -0
  271. package/dist/audit/providers/history.d.ts +66 -0
  272. package/dist/audit/providers/history.d.ts.map +1 -0
  273. package/dist/audit/providers/history.js +102 -0
  274. package/dist/audit/providers/history.js.map +1 -0
  275. package/dist/audit/pseudonymize.d.ts +26 -0
  276. package/dist/audit/pseudonymize.d.ts.map +1 -0
  277. package/dist/audit/pseudonymize.js +86 -0
  278. package/dist/audit/pseudonymize.js.map +1 -0
  279. package/dist/audit/recorder.d.ts +102 -0
  280. package/dist/audit/recorder.d.ts.map +1 -0
  281. package/dist/audit/recorder.js +55 -0
  282. package/dist/audit/recorder.js.map +1 -0
  283. package/dist/audit/retention.d.ts +83 -0
  284. package/dist/audit/retention.d.ts.map +1 -0
  285. package/dist/audit/retention.js +142 -0
  286. package/dist/audit/retention.js.map +1 -0
  287. package/dist/audit/source-ip.d.ts +32 -0
  288. package/dist/audit/source-ip.d.ts.map +1 -0
  289. package/dist/audit/source-ip.js +164 -0
  290. package/dist/audit/source-ip.js.map +1 -0
  291. package/dist/audit/types.d.ts +143 -0
  292. package/dist/audit/types.d.ts.map +1 -0
  293. package/dist/audit/types.js +33 -0
  294. package/dist/audit/types.js.map +1 -0
  295. package/dist/audit/user-agent.d.ts +28 -0
  296. package/dist/audit/user-agent.d.ts.map +1 -0
  297. package/dist/audit/user-agent.js +63 -0
  298. package/dist/audit/user-agent.js.map +1 -0
  299. package/dist/auth/capabilities.d.ts +28 -0
  300. package/dist/auth/capabilities.d.ts.map +1 -0
  301. package/dist/auth/capabilities.js +101 -0
  302. package/dist/auth/capabilities.js.map +1 -0
  303. package/dist/auth/config.d.ts +109 -0
  304. package/dist/auth/config.d.ts.map +1 -0
  305. package/dist/auth/config.js +221 -0
  306. package/dist/auth/config.js.map +1 -0
  307. package/dist/auth/errors.d.ts +72 -0
  308. package/dist/auth/errors.d.ts.map +1 -0
  309. package/dist/auth/errors.js +78 -0
  310. package/dist/auth/errors.js.map +1 -0
  311. package/dist/auth/factory.d.ts +43 -0
  312. package/dist/auth/factory.d.ts.map +1 -0
  313. package/dist/auth/factory.js +48 -0
  314. package/dist/auth/factory.js.map +1 -0
  315. package/dist/auth/index.d.ts +21 -0
  316. package/dist/auth/index.d.ts.map +1 -0
  317. package/dist/auth/index.js +14 -0
  318. package/dist/auth/index.js.map +1 -0
  319. package/dist/auth/ip-match.d.ts +29 -0
  320. package/dist/auth/ip-match.d.ts.map +1 -0
  321. package/dist/auth/ip-match.js +162 -0
  322. package/dist/auth/ip-match.js.map +1 -0
  323. package/dist/auth/provider.d.ts +76 -0
  324. package/dist/auth/provider.d.ts.map +1 -0
  325. package/dist/auth/provider.js +2 -0
  326. package/dist/auth/provider.js.map +1 -0
  327. package/dist/auth/providers/aws-cognito.d.ts +55 -0
  328. package/dist/auth/providers/aws-cognito.d.ts.map +1 -0
  329. package/dist/auth/providers/aws-cognito.js +114 -0
  330. package/dist/auth/providers/aws-cognito.js.map +1 -0
  331. package/dist/auth/providers/azure-easy-auth.d.ts +7 -0
  332. package/dist/auth/providers/azure-easy-auth.d.ts.map +1 -0
  333. package/dist/auth/providers/azure-easy-auth.js +48 -0
  334. package/dist/auth/providers/azure-easy-auth.js.map +1 -0
  335. package/dist/auth/providers/cloudflare-access.d.ts +71 -0
  336. package/dist/auth/providers/cloudflare-access.d.ts.map +1 -0
  337. package/dist/auth/providers/cloudflare-access.js +120 -0
  338. package/dist/auth/providers/cloudflare-access.js.map +1 -0
  339. package/dist/auth/providers/forwarded-user.d.ts +31 -0
  340. package/dist/auth/providers/forwarded-user.d.ts.map +1 -0
  341. package/dist/auth/providers/forwarded-user.js +72 -0
  342. package/dist/auth/providers/forwarded-user.js.map +1 -0
  343. package/dist/auth/providers/none.d.ts +6 -0
  344. package/dist/auth/providers/none.d.ts.map +1 -0
  345. package/dist/auth/providers/none.js +19 -0
  346. package/dist/auth/providers/none.js.map +1 -0
  347. package/dist/auth/providers/tailscale.d.ts +7 -0
  348. package/dist/auth/providers/tailscale.d.ts.map +1 -0
  349. package/dist/auth/providers/tailscale.js +30 -0
  350. package/dist/auth/providers/tailscale.js.map +1 -0
  351. package/dist/auth/role-resolver.d.ts +38 -0
  352. package/dist/auth/role-resolver.d.ts.map +1 -0
  353. package/dist/auth/role-resolver.js +92 -0
  354. package/dist/auth/role-resolver.js.map +1 -0
  355. package/dist/auth/types.d.ts +150 -0
  356. package/dist/auth/types.d.ts.map +1 -0
  357. package/dist/auth/types.js +60 -0
  358. package/dist/auth/types.js.map +1 -0
  359. package/dist/cache/errors.d.ts +41 -0
  360. package/dist/cache/errors.d.ts.map +1 -0
  361. package/dist/cache/errors.js +44 -0
  362. package/dist/cache/errors.js.map +1 -0
  363. package/dist/cache/factories.d.ts +17 -0
  364. package/dist/cache/factories.d.ts.map +1 -0
  365. package/dist/cache/factories.js +17 -0
  366. package/dist/cache/factories.js.map +1 -0
  367. package/dist/cache/keys.d.ts +63 -0
  368. package/dist/cache/keys.d.ts.map +1 -0
  369. package/dist/cache/keys.js +145 -0
  370. package/dist/cache/keys.js.map +1 -0
  371. package/dist/cache/memory.d.ts +51 -0
  372. package/dist/cache/memory.d.ts.map +1 -0
  373. package/dist/cache/memory.js +204 -0
  374. package/dist/cache/memory.js.map +1 -0
  375. package/dist/cache/per-site.d.ts +22 -0
  376. package/dist/cache/per-site.d.ts.map +1 -0
  377. package/dist/cache/per-site.js +114 -0
  378. package/dist/cache/per-site.js.map +1 -0
  379. package/dist/cache/types.d.ts +142 -0
  380. package/dist/cache/types.d.ts.map +1 -0
  381. package/dist/cache/types.js +33 -0
  382. package/dist/cache/types.js.map +1 -0
  383. package/dist/cli/archive.d.ts +44 -0
  384. package/dist/cli/archive.d.ts.map +1 -0
  385. package/dist/cli/archive.js +310 -0
  386. package/dist/cli/archive.js.map +1 -0
  387. package/dist/cli/bootstrap.d.ts +15 -8
  388. package/dist/cli/bootstrap.d.ts.map +1 -1
  389. package/dist/cli/bootstrap.js +59 -23
  390. package/dist/cli/bootstrap.js.map +1 -1
  391. package/dist/cli/dev-template-watcher.d.ts +29 -0
  392. package/dist/cli/dev-template-watcher.d.ts.map +1 -0
  393. package/dist/cli/dev-template-watcher.js +38 -0
  394. package/dist/cli/dev-template-watcher.js.map +1 -0
  395. package/dist/cli/history.d.ts.map +1 -1
  396. package/dist/cli/history.js +5 -3
  397. package/dist/cli/history.js.map +1 -1
  398. package/dist/cli/index.js +712 -395
  399. package/dist/cli/index.js.map +1 -1
  400. package/dist/cli/validate-flags.d.ts +29 -0
  401. package/dist/cli/validate-flags.d.ts.map +1 -0
  402. package/dist/cli/validate-flags.js +49 -0
  403. package/dist/cli/validate-flags.js.map +1 -0
  404. package/dist/compare.d.ts +1 -1
  405. package/dist/compare.d.ts.map +1 -1
  406. package/dist/compare.js +25 -23
  407. package/dist/compare.js.map +1 -1
  408. package/dist/component-ids.d.ts +25 -0
  409. package/dist/component-ids.d.ts.map +1 -0
  410. package/dist/component-ids.js +83 -0
  411. package/dist/component-ids.js.map +1 -0
  412. package/dist/config/define.d.ts +61 -0
  413. package/dist/config/define.d.ts.map +1 -0
  414. package/dist/config/define.js +64 -0
  415. package/dist/config/define.js.map +1 -0
  416. package/dist/config/errors.d.ts +32 -0
  417. package/dist/config/errors.d.ts.map +1 -0
  418. package/dist/config/errors.js +40 -0
  419. package/dist/config/errors.js.map +1 -0
  420. package/dist/config/index.d.ts +13 -0
  421. package/dist/config/index.d.ts.map +1 -0
  422. package/dist/config/index.js +20 -0
  423. package/dist/config/index.js.map +1 -0
  424. package/dist/config/loader.d.ts +105 -0
  425. package/dist/config/loader.d.ts.map +1 -0
  426. package/dist/config/loader.js +265 -0
  427. package/dist/config/loader.js.map +1 -0
  428. package/dist/config/schemas.d.ts +89 -0
  429. package/dist/config/schemas.d.ts.map +1 -0
  430. package/dist/config/schemas.js +172 -0
  431. package/dist/config/schemas.js.map +1 -0
  432. package/dist/config/types.d.ts +32 -0
  433. package/dist/config/types.d.ts.map +1 -0
  434. package/dist/config/types.js +15 -0
  435. package/dist/config/types.js.map +1 -0
  436. package/dist/deploy/cloudflare-workers.d.ts +46 -0
  437. package/dist/deploy/cloudflare-workers.d.ts.map +1 -0
  438. package/dist/deploy/cloudflare-workers.js +213 -0
  439. package/dist/deploy/cloudflare-workers.js.map +1 -0
  440. package/dist/deploy/errors.d.ts +66 -0
  441. package/dist/deploy/errors.d.ts.map +1 -0
  442. package/dist/deploy/errors.js +82 -0
  443. package/dist/deploy/errors.js.map +1 -0
  444. package/dist/deploy/index.d.ts +9 -0
  445. package/dist/deploy/index.d.ts.map +1 -0
  446. package/dist/deploy/index.js +3 -0
  447. package/dist/deploy/index.js.map +1 -0
  448. package/dist/deploy/types.d.ts +162 -0
  449. package/dist/deploy/types.d.ts.map +1 -0
  450. package/dist/deploy/types.js +2 -0
  451. package/dist/deploy/types.js.map +1 -0
  452. package/dist/fragments/create.d.ts +70 -0
  453. package/dist/fragments/create.d.ts.map +1 -0
  454. package/dist/fragments/create.js +93 -0
  455. package/dist/fragments/create.js.map +1 -0
  456. package/dist/fragments/publish.d.ts +37 -0
  457. package/dist/fragments/publish.d.ts.map +1 -0
  458. package/dist/fragments/publish.js +52 -0
  459. package/dist/fragments/publish.js.map +1 -0
  460. package/dist/fragments/save.d.ts +81 -0
  461. package/dist/fragments/save.d.ts.map +1 -0
  462. package/dist/fragments/save.js +105 -0
  463. package/dist/fragments/save.js.map +1 -0
  464. package/dist/history-recorder.d.ts +5 -5
  465. package/dist/history-recorder.d.ts.map +1 -1
  466. package/dist/history-recorder.js +4 -4
  467. package/dist/history-recorder.js.map +1 -1
  468. package/dist/history-restorer.js +2 -2
  469. package/dist/history-restorer.js.map +1 -1
  470. package/dist/history.d.ts +1 -1
  471. package/dist/hooks/audit-emitter.d.ts +73 -0
  472. package/dist/hooks/audit-emitter.d.ts.map +1 -0
  473. package/dist/hooks/audit-emitter.js +13 -0
  474. package/dist/hooks/audit-emitter.js.map +1 -0
  475. package/dist/hooks/context.d.ts +78 -0
  476. package/dist/hooks/context.d.ts.map +1 -0
  477. package/dist/hooks/context.js +56 -0
  478. package/dist/hooks/context.js.map +1 -0
  479. package/dist/hooks/contribution.d.ts +90 -0
  480. package/dist/hooks/contribution.d.ts.map +1 -0
  481. package/dist/hooks/contribution.js +2 -0
  482. package/dist/hooks/contribution.js.map +1 -0
  483. package/dist/hooks/dispatch.d.ts +30 -0
  484. package/dist/hooks/dispatch.d.ts.map +1 -0
  485. package/dist/hooks/dispatch.js +252 -0
  486. package/dist/hooks/dispatch.js.map +1 -0
  487. package/dist/hooks/errors.d.ts +100 -0
  488. package/dist/hooks/errors.d.ts.map +1 -0
  489. package/dist/hooks/errors.js +103 -0
  490. package/dist/hooks/errors.js.map +1 -0
  491. package/dist/hooks/index.d.ts +15 -0
  492. package/dist/hooks/index.d.ts.map +1 -0
  493. package/dist/hooks/index.js +6 -0
  494. package/dist/hooks/index.js.map +1 -0
  495. package/dist/hooks/registry.d.ts +53 -0
  496. package/dist/hooks/registry.d.ts.map +1 -0
  497. package/dist/hooks/registry.js +139 -0
  498. package/dist/hooks/registry.js.map +1 -0
  499. package/dist/hooks/storage.d.ts +43 -0
  500. package/dist/hooks/storage.d.ts.map +1 -0
  501. package/dist/hooks/storage.js +2 -0
  502. package/dist/hooks/storage.js.map +1 -0
  503. package/dist/hooks/types.d.ts +324 -0
  504. package/dist/hooks/types.d.ts.map +1 -0
  505. package/dist/hooks/types.js +2 -0
  506. package/dist/hooks/types.js.map +1 -0
  507. package/dist/index.d.ts +26 -6
  508. package/dist/index.d.ts.map +1 -1
  509. package/dist/index.js +49 -5
  510. package/dist/index.js.map +1 -1
  511. package/dist/locale.d.ts +5 -1
  512. package/dist/locale.d.ts.map +1 -1
  513. package/dist/locale.js +6 -2
  514. package/dist/locale.js.map +1 -1
  515. package/dist/manifest-save.d.ts +255 -0
  516. package/dist/manifest-save.d.ts.map +1 -0
  517. package/dist/manifest-save.js +260 -0
  518. package/dist/manifest-save.js.map +1 -0
  519. package/dist/manifest.d.ts +1 -2
  520. package/dist/manifest.d.ts.map +1 -1
  521. package/dist/manifest.js +43 -44
  522. package/dist/manifest.js.map +1 -1
  523. package/dist/node-floor.d.ts +3 -0
  524. package/dist/node-floor.d.ts.map +1 -0
  525. package/dist/node-floor.js +3 -0
  526. package/dist/node-floor.js.map +1 -0
  527. package/dist/pages/create.d.ts +103 -0
  528. package/dist/pages/create.d.ts.map +1 -0
  529. package/dist/pages/create.js +117 -0
  530. package/dist/pages/create.js.map +1 -0
  531. package/dist/pages/publish.d.ts +59 -0
  532. package/dist/pages/publish.d.ts.map +1 -0
  533. package/dist/pages/publish.js +78 -0
  534. package/dist/pages/publish.js.map +1 -0
  535. package/dist/pages/save.d.ts +97 -0
  536. package/dist/pages/save.d.ts.map +1 -0
  537. package/dist/pages/save.js +138 -0
  538. package/dist/pages/save.js.map +1 -0
  539. package/dist/providers/factories.d.ts +65 -0
  540. package/dist/providers/factories.d.ts.map +1 -0
  541. package/dist/providers/factories.js +189 -0
  542. package/dist/providers/factories.js.map +1 -0
  543. package/dist/publish-item.d.ts +225 -0
  544. package/dist/publish-item.d.ts.map +1 -0
  545. package/dist/publish-item.js +210 -0
  546. package/dist/publish-item.js.map +1 -0
  547. package/dist/publish-rendered.d.ts.map +1 -1
  548. package/dist/publish-rendered.js +75 -6
  549. package/dist/publish-rendered.js.map +1 -1
  550. package/dist/publish-renderers.d.ts +132 -0
  551. package/dist/publish-renderers.d.ts.map +1 -0
  552. package/dist/publish-renderers.js +240 -0
  553. package/dist/publish-renderers.js.map +1 -0
  554. package/dist/publish-run.d.ts +223 -0
  555. package/dist/publish-run.d.ts.map +1 -0
  556. package/dist/publish-run.js +307 -0
  557. package/dist/publish-run.js.map +1 -0
  558. package/dist/publish.d.ts.map +1 -1
  559. package/dist/publish.js +1 -10
  560. package/dist/publish.js.map +1 -1
  561. package/dist/render-for-analysis.d.ts +24 -0
  562. package/dist/render-for-analysis.d.ts.map +1 -0
  563. package/dist/render-for-analysis.js +146 -0
  564. package/dist/render-for-analysis.js.map +1 -0
  565. package/dist/resolver.d.ts.map +1 -1
  566. package/dist/resolver.js +47 -23
  567. package/dist/resolver.js.map +1 -1
  568. package/dist/runtime/archive-marker.d.ts +62 -0
  569. package/dist/runtime/archive-marker.d.ts.map +1 -0
  570. package/dist/runtime/archive-marker.js +88 -0
  571. package/dist/runtime/archive-marker.js.map +1 -0
  572. package/dist/runtime/capability-gap-warnings.d.ts +42 -0
  573. package/dist/runtime/capability-gap-warnings.d.ts.map +1 -0
  574. package/dist/runtime/capability-gap-warnings.js +28 -0
  575. package/dist/runtime/capability-gap-warnings.js.map +1 -0
  576. package/dist/runtime/redirects-emit.d.ts +93 -0
  577. package/dist/runtime/redirects-emit.d.ts.map +1 -0
  578. package/dist/runtime/redirects-emit.js +89 -0
  579. package/dist/runtime/redirects-emit.js.map +1 -0
  580. package/dist/runtime/runtime-capabilities.d.ts +79 -0
  581. package/dist/runtime/runtime-capabilities.d.ts.map +1 -0
  582. package/dist/runtime/runtime-capabilities.js +60 -0
  583. package/dist/runtime/runtime-capabilities.js.map +1 -0
  584. package/dist/save-etag.d.ts +69 -0
  585. package/dist/save-etag.d.ts.map +1 -0
  586. package/dist/save-etag.js +118 -0
  587. package/dist/save-etag.js.map +1 -0
  588. package/dist/site-loader.d.ts +42 -4
  589. package/dist/site-loader.d.ts.map +1 -1
  590. package/dist/site-loader.js +27 -8
  591. package/dist/site-loader.js.map +1 -1
  592. package/dist/targets.d.ts +21 -12
  593. package/dist/targets.d.ts.map +1 -1
  594. package/dist/targets.js +27 -95
  595. package/dist/targets.js.map +1 -1
  596. package/dist/testing/admin-cache-contract.d.ts +52 -0
  597. package/dist/testing/admin-cache-contract.d.ts.map +1 -0
  598. package/dist/testing/admin-cache-contract.js +203 -0
  599. package/dist/testing/admin-cache-contract.js.map +1 -0
  600. package/dist/testing/index.d.ts +11 -0
  601. package/dist/testing/index.d.ts.map +1 -0
  602. package/dist/testing/index.js +11 -0
  603. package/dist/testing/index.js.map +1 -0
  604. package/dist/transforms/factories.d.ts +16 -0
  605. package/dist/transforms/factories.d.ts.map +1 -0
  606. package/dist/transforms/factories.js +18 -0
  607. package/dist/transforms/factories.js.map +1 -0
  608. package/dist/transforms/index.d.ts +10 -17
  609. package/dist/transforms/index.d.ts.map +1 -1
  610. package/dist/transforms/index.js +4 -28
  611. package/dist/transforms/index.js.map +1 -1
  612. package/dist/transforms/sharp.d.ts +15 -1
  613. package/dist/transforms/sharp.d.ts.map +1 -1
  614. package/dist/transforms/sharp.js +34 -20
  615. package/dist/transforms/sharp.js.map +1 -1
  616. package/dist/types.d.ts +379 -52
  617. package/dist/types.d.ts.map +1 -1
  618. package/dist/types.js +20 -1
  619. package/dist/types.js.map +1 -1
  620. package/dist/validation/alt-required-walker.d.ts +27 -0
  621. package/dist/validation/alt-required-walker.d.ts.map +1 -0
  622. package/dist/validation/alt-required-walker.js +108 -0
  623. package/dist/validation/alt-required-walker.js.map +1 -0
  624. package/dist/validation/default-registry.d.ts +12 -0
  625. package/dist/validation/default-registry.d.ts.map +1 -0
  626. package/dist/validation/default-registry.js +55 -0
  627. package/dist/validation/default-registry.js.map +1 -0
  628. package/dist/validation/publish-audit.d.ts +44 -0
  629. package/dist/validation/publish-audit.d.ts.map +1 -0
  630. package/dist/validation/publish-audit.js +64 -0
  631. package/dist/validation/publish-audit.js.map +1 -0
  632. package/dist/validation/registry.d.ts +23 -0
  633. package/dist/validation/registry.d.ts.map +1 -0
  634. package/dist/validation/registry.js +15 -0
  635. package/dist/validation/registry.js.map +1 -0
  636. package/dist/validation/save-delta.d.ts +46 -0
  637. package/dist/validation/save-delta.d.ts.map +1 -0
  638. package/dist/validation/save-delta.js +57 -0
  639. package/dist/validation/save-delta.js.map +1 -0
  640. package/dist/validation/scanner.d.ts +91 -0
  641. package/dist/validation/scanner.d.ts.map +1 -0
  642. package/dist/validation/scanner.js +327 -0
  643. package/dist/validation/scanner.js.map +1 -0
  644. package/dist/validation/template-impact.d.ts +52 -0
  645. package/dist/validation/template-impact.d.ts.map +1 -0
  646. package/dist/validation/template-impact.js +53 -0
  647. package/dist/validation/template-impact.js.map +1 -0
  648. package/dist/validation/types.d.ts +123 -0
  649. package/dist/validation/types.d.ts.map +1 -0
  650. package/dist/validation/types.js +7 -0
  651. package/dist/validation/types.js.map +1 -0
  652. package/dist/validation/validators/accessibility.d.ts +3 -0
  653. package/dist/validation/validators/accessibility.d.ts.map +1 -0
  654. package/dist/validation/validators/accessibility.js +106 -0
  655. package/dist/validation/validators/accessibility.js.map +1 -0
  656. package/dist/validation/validators/aliasof-points-to-archived.d.ts +40 -0
  657. package/dist/validation/validators/aliasof-points-to-archived.d.ts.map +1 -0
  658. package/dist/validation/validators/aliasof-points-to-archived.js +34 -0
  659. package/dist/validation/validators/aliasof-points-to-archived.js.map +1 -0
  660. package/dist/validation/validators/alt-required.d.ts +3 -0
  661. package/dist/validation/validators/alt-required.d.ts.map +1 -0
  662. package/dist/validation/validators/alt-required.js +118 -0
  663. package/dist/validation/validators/alt-required.js.map +1 -0
  664. package/dist/validation/validators/archive-not-supported-on-target.d.ts +3 -0
  665. package/dist/validation/validators/archive-not-supported-on-target.d.ts.map +1 -0
  666. package/dist/validation/validators/archive-not-supported-on-target.js +38 -0
  667. package/dist/validation/validators/archive-not-supported-on-target.js.map +1 -0
  668. package/dist/validation/validators/broken-links.d.ts +3 -0
  669. package/dist/validation/validators/broken-links.d.ts.map +1 -0
  670. package/dist/validation/validators/broken-links.js +190 -0
  671. package/dist/validation/validators/broken-links.js.map +1 -0
  672. package/dist/validation/validators/circular-alias.d.ts +36 -0
  673. package/dist/validation/validators/circular-alias.d.ts.map +1 -0
  674. package/dist/validation/validators/circular-alias.js +63 -0
  675. package/dist/validation/validators/circular-alias.js.map +1 -0
  676. package/dist/validation/validators/circular-fragment.d.ts +15 -0
  677. package/dist/validation/validators/circular-fragment.d.ts.map +1 -0
  678. package/dist/validation/validators/circular-fragment.js +97 -0
  679. package/dist/validation/validators/circular-fragment.js.map +1 -0
  680. package/dist/validation/validators/dangling-alias.d.ts +38 -0
  681. package/dist/validation/validators/dangling-alias.d.ts.map +1 -0
  682. package/dist/validation/validators/dangling-alias.js +31 -0
  683. package/dist/validation/validators/dangling-alias.js.map +1 -0
  684. package/dist/validation/validators/deploy-target-type-supported.d.ts +3 -0
  685. package/dist/validation/validators/deploy-target-type-supported.d.ts.map +1 -0
  686. package/dist/validation/validators/deploy-target-type-supported.js +32 -0
  687. package/dist/validation/validators/deploy-target-type-supported.js.map +1 -0
  688. package/dist/validation/validators/dynamic-route-conflict.d.ts +18 -0
  689. package/dist/validation/validators/dynamic-route-conflict.d.ts.map +1 -0
  690. package/dist/validation/validators/dynamic-route-conflict.js +80 -0
  691. package/dist/validation/validators/dynamic-route-conflict.js.map +1 -0
  692. package/dist/validation/validators/html-validity.d.ts +3 -0
  693. package/dist/validation/validators/html-validity.d.ts.map +1 -0
  694. package/dist/validation/validators/html-validity.js +89 -0
  695. package/dist/validation/validators/html-validity.js.map +1 -0
  696. package/dist/validation/validators/orphaned-locale-file.d.ts +21 -0
  697. package/dist/validation/validators/orphaned-locale-file.d.ts.map +1 -0
  698. package/dist/validation/validators/orphaned-locale-file.js +84 -0
  699. package/dist/validation/validators/orphaned-locale-file.js.map +1 -0
  700. package/dist/validation/validators/referenced-archived-without-alias.d.ts +3 -0
  701. package/dist/validation/validators/referenced-archived-without-alias.d.ts.map +1 -0
  702. package/dist/validation/validators/referenced-archived-without-alias.js +65 -0
  703. package/dist/validation/validators/referenced-archived-without-alias.js.map +1 -0
  704. package/dist/validation/validators/referenced-asset-exists.d.ts +13 -0
  705. package/dist/validation/validators/referenced-asset-exists.d.ts.map +1 -0
  706. package/dist/validation/validators/referenced-asset-exists.js +80 -0
  707. package/dist/validation/validators/referenced-asset-exists.js.map +1 -0
  708. package/dist/validation/validators/referenced-fragment-exists.d.ts +9 -0
  709. package/dist/validation/validators/referenced-fragment-exists.d.ts.map +1 -0
  710. package/dist/validation/validators/referenced-fragment-exists.js +52 -0
  711. package/dist/validation/validators/referenced-fragment-exists.js.map +1 -0
  712. package/dist/validation/validators/referenced-template-exists.d.ts +10 -0
  713. package/dist/validation/validators/referenced-template-exists.d.ts.map +1 -0
  714. package/dist/validation/validators/referenced-template-exists.js +74 -0
  715. package/dist/validation/validators/referenced-template-exists.js.map +1 -0
  716. package/dist/validation/validators/schema-conformance.d.ts +17 -0
  717. package/dist/validation/validators/schema-conformance.d.ts.map +1 -0
  718. package/dist/validation/validators/schema-conformance.js +94 -0
  719. package/dist/validation/validators/schema-conformance.js.map +1 -0
  720. package/dist/validation/validators/target-deploy-coverage.d.ts +3 -0
  721. package/dist/validation/validators/target-deploy-coverage.d.ts.map +1 -0
  722. package/dist/validation/validators/target-deploy-coverage.js +37 -0
  723. package/dist/validation/validators/target-deploy-coverage.js.map +1 -0
  724. package/dist/validation/validators/unused-fragment.d.ts +16 -0
  725. package/dist/validation/validators/unused-fragment.d.ts.map +1 -0
  726. package/dist/validation/validators/unused-fragment.js +86 -0
  727. package/dist/validation/validators/unused-fragment.js.map +1 -0
  728. package/package.json +54 -31
  729. package/admin-dist/assets/index-BO9-CXmW.css +0 -1
  730. package/admin-dist/assets/index-Ufu8zZH_.js +0 -668
  731. package/admin-dist/assets/rolldown-runtime-COnpUsM8.js +0 -1
  732. package/admin-dist/assets/vendor-rjsf-HKBAjOmQ.js +0 -32
  733. package/admin-dist/assets/vendor-tiptap-IyO99U4R.js +0 -142
  734. package/admin-dist/assets/vendor-vue-D3wBSmDf.js +0 -1
  735. package/dist/publish-locale.d.ts +0 -44
  736. package/dist/publish-locale.d.ts.map +0 -1
  737. package/dist/publish-locale.js +0 -103
  738. package/dist/publish-locale.js.map +0 -1
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Publish pipeline (per-item) — orchestrator for one Page or Fragment
3
+ * write to one Target.
4
+ *
5
+ * Today's `publish-rendered.ts` has 5 publish-* exports
6
+ * (`publishPageRendered`, `publishPageStatic`, `publishFragmentRendered`,
7
+ * `publishArchiveMarker`, `publishSiteManifest`) each repeating the same
8
+ * 13-step sequence: archive precheck → resolve → render → assemble →
9
+ * list-old-files → write-new → cleanup → write hash sidecar → write
10
+ * publish-state sidecar. Adding the soft-delete archive marker (Cut 3)
11
+ * had to land in three places. Adding scheduled-publish or review-state
12
+ * gates would too.
13
+ *
14
+ * `publishItemCore` is the seam that hides the orchestration. Per-kind
15
+ * wrappers (`publishPage`, `publishFragment` in pages/publish.ts +
16
+ * fragments/publish.ts — Cut 4) own kind-specific dispatch:
17
+ * page resolves render-mode from target.type (static vs esi vs dynamic);
18
+ * fragment has only one mode; archive short-circuit applies to both.
19
+ *
20
+ * Pipeline order is locked semantics, not configuration. Per-item:
21
+ *
22
+ * 1. (RESERVED) review-state precheck — Review Cut 5 (pending-review
23
+ * behavior at publish time)
24
+ * 2. archive precheck (isArchived → route to archive-marker renderer)
25
+ * 3. resolve item from preloadedSite (locale variant if applicable)
26
+ * 4. (RESERVED) dispatchBeforePublishItem hooks
27
+ * 5. invoke renderer (page-rendered / page-static / fragment-rendered /
28
+ * archive-marker)
29
+ * 6. assemble HTML + CSS + JS (per renderer's output)
30
+ * 7. list old hashed files at item dir
31
+ * 8. write new hashed files (per-file atomic via storage.writeFile;
32
+ * transient failures retry inline 3x with backoff)
33
+ * 9. write item HTML + content-hash sidecar (.{8hex}.hash)
34
+ * 10. cleanup oldFiles − newFiles
35
+ * 11. write publish-state sidecar (.pub-{ts}, includes noindex flag)
36
+ * 12. (RESERVED) dispatchAfterPublishItem hooks
37
+ * 13. return PublishItemResult
38
+ *
39
+ * Throws are reserved for storage transport failures after retries
40
+ * exhausted, AND for prerequisite breaches (caller must supply a
41
+ * preloadedSite and target init must have completed). Expected
42
+ * outcomes — NOT_FOUND / RENDER_FAILED / TEMPLATE_INVALID /
43
+ * VALIDATION_FAILED — are typed `PublishItemResult` variants.
44
+ */
45
+ import { renderArchiveMarker, renderFragmentRendered, renderPageStatic, renderPageWithEsi, } from './publish-renderers.js';
46
+ import { writeSidecars } from './sidecars.js';
47
+ /** List existing hashed files at item dir (for cleanup). */
48
+ async function listHashedFiles(storage, dir) {
49
+ try {
50
+ const entries = await storage.readDir(dir);
51
+ return entries
52
+ .filter(e => !e.isDirectory && /\.(css|js)$/.test(e.name) && /\.[a-f0-9]{8}\./.test(e.name))
53
+ .map(e => `${dir}/${e.name}`);
54
+ }
55
+ catch {
56
+ return [];
57
+ }
58
+ }
59
+ /** Delete files from oldFiles[] not in newFiles[]; return removed count. */
60
+ async function cleanupOldFiles(storage, oldFiles, newFiles) {
61
+ const newSet = new Set(newFiles);
62
+ let removed = 0;
63
+ for (const file of oldFiles) {
64
+ if (!newSet.has(file)) {
65
+ try {
66
+ await storage.rm(file);
67
+ removed++;
68
+ }
69
+ catch {
70
+ /* already gone */
71
+ }
72
+ }
73
+ }
74
+ return removed;
75
+ }
76
+ /**
77
+ * Item dir resolution per render mode. ESI + fragment + archive write
78
+ * under `pages/{name}/` or `fragments/{name}/`; static-mode pages
79
+ * write to URL-derived path (`/about` → `about/index.html`). Static
80
+ * mode is handled by `pages/publish.ts` Cut 4 — core treats all kinds
81
+ * uniformly under `{kind}s/{name}/`.
82
+ */
83
+ function itemDir(kind, name) {
84
+ return `${kind === 'page' ? 'pages' : 'fragments'}/${name}`;
85
+ }
86
+ /**
87
+ * Publish pipeline orchestrator (per-item) — Cut 3.
88
+ *
89
+ * Ports the 13-step spine from `publish-rendered.ts`'s 5 publish-*
90
+ * functions. Mode dispatch (page-rendered / page-static /
91
+ * fragment-rendered / archive-marker) consumes pure-fn renderers
92
+ * from `publish-renderers.ts` (Cut 2). Storage I/O + sidecar writes
93
+ * + cleanup live here.
94
+ *
95
+ * Pipeline sequence (locked per Q5):
96
+ *
97
+ * 1. (RESERVED) review-state precheck — Review Cut 5
98
+ * 2. archive precheck — `mode: 'archive-marker'` → renderArchiveMarker
99
+ * 3. resolve item from preloadedSite (NOT_FOUND if missing)
100
+ * 4. (RESERVED) dispatchBeforePublishItem hooks
101
+ * 5. invoke renderer (mode dispatch)
102
+ * 6-7. (renderer produces RenderOutput; assembly + hashing internal)
103
+ * 8. list old hashed files
104
+ * 9. mkdir + write index file + write hashed files
105
+ * 10. cleanup oldFiles − newFiles
106
+ * 11. write content-hash + publish-state sidecars
107
+ * 12. (RESERVED) dispatchAfterPublishItem hooks
108
+ * 13. return PublishItemResult
109
+ */
110
+ export async function publishItemCore(input) {
111
+ const { kind, name, locale, mode, site, target } = input;
112
+ // Step 3 — resolve item. Mode dispatch reads from site.pages /
113
+ // site.fragments to verify existence; renderers do their own lookup
114
+ // but we surface NOT_FOUND here (via typed result) before render.
115
+ const map = kind === 'page' ? site.pages : site.fragments;
116
+ const item = map.get(name);
117
+ if (!item) {
118
+ return {
119
+ kind,
120
+ name,
121
+ locale,
122
+ ok: false,
123
+ code: 'NOT_FOUND',
124
+ reason: `${kind === 'page' ? 'Page' : 'Fragment'} "${name}" not found in source`,
125
+ };
126
+ }
127
+ // Step 5 — invoke renderer per mode. Each renderer is pure;
128
+ // assembly + hashing happen inside.
129
+ let output;
130
+ try {
131
+ if (mode === 'archive-marker') {
132
+ // Step 2 — archive precheck materializes here. Renderer reads
133
+ // aliasOf directly; caller (per-kind wrapper) chose this mode
134
+ // because isArchived(item) was true.
135
+ output = renderArchiveMarker(item, locale);
136
+ }
137
+ else if (mode === 'page-rendered') {
138
+ const ctx = { site, locale, seo: target.seo, targetCache: target.cache };
139
+ output = await renderPageWithEsi(name, ctx);
140
+ }
141
+ else if (mode === 'page-static') {
142
+ const ctx = { site, locale, seo: target.seo, targetCache: target.cache };
143
+ output = await renderPageStatic(name, ctx);
144
+ }
145
+ else {
146
+ // fragment-rendered
147
+ const ctx = { site, locale };
148
+ output = await renderFragmentRendered(name, ctx);
149
+ }
150
+ }
151
+ catch (err) {
152
+ // Renderer threw (template SSR fail, malformed manifest). Surface
153
+ // as RENDER_FAILED per Q4 fail-soft — orchestrator continues with
154
+ // next item.
155
+ const reason = err instanceof Error ? err.message : String(err);
156
+ return { kind, name, locale, ok: false, code: 'RENDER_FAILED', reason };
157
+ }
158
+ // Step 8 — list old hashed files at item dir for cleanup pass below.
159
+ // Static-mode page writes use URL-derived paths handled by per-kind
160
+ // wrapper (Cut 4); core's cleanup applies to ESI / fragment /
161
+ // archive layouts under `{kind}s/{name}/`.
162
+ const dir = itemDir(kind, name);
163
+ const oldFiles = await listHashedFiles(target.storage, dir);
164
+ const newFiles = [];
165
+ // Step 9 — mkdir, write index, write hashed files. Per-file atomic
166
+ // via storage.writeFile; surface storage failures as
167
+ // STORAGE_WRITE_FAILED per Q4.
168
+ try {
169
+ await target.storage.mkdir(dir);
170
+ await target.storage.writeFile(`${dir}/${output.indexFile}`, output.indexHtml);
171
+ let fileCount = 1; // index file
172
+ for (const f of output.files) {
173
+ await target.storage.writeFile(f.path, f.content);
174
+ newFiles.push(f.path);
175
+ fileCount++;
176
+ }
177
+ // Step 10 — cleanup old hashed files not in newFiles.
178
+ const removed = await cleanupOldFiles(target.storage, oldFiles, newFiles);
179
+ // Step 11 — sidecars (hash + publish-state). Skipped when caller
180
+ // doesn't pass manifestHash (CLI / tests sometimes omit). Archive
181
+ // marker forces noindex: true; live pages read it from
182
+ // metadata.robots; fragments don't carry pub state at all.
183
+ if (target.manifestHash) {
184
+ // Pages can declare noindex via metadata.robots; fragments have no
185
+ // metadata field. Archive marker always forces noindex.
186
+ const pageMeta = kind === 'page' ? item.metadata : undefined;
187
+ const noindex = output.archived ? true : !!pageMeta?.robots?.includes('noindex');
188
+ await writeSidecars(target.storage, dir, {
189
+ hash: target.manifestHash,
190
+ // Fragments don't get pub-state sidecars (they're composition
191
+ // primitives, not addressable URLs). Pages always get one.
192
+ pub: kind === 'page' ? { lastPublished: new Date().toISOString(), noindex } : null,
193
+ }, locale);
194
+ }
195
+ return {
196
+ kind,
197
+ name,
198
+ locale,
199
+ ok: true,
200
+ mode,
201
+ files: fileCount,
202
+ removed,
203
+ };
204
+ }
205
+ catch (err) {
206
+ const reason = err instanceof Error ? err.message : String(err);
207
+ return { kind, name, locale, ok: false, code: 'STORAGE_WRITE_FAILED', reason };
208
+ }
209
+ }
210
+ //# sourceMappingURL=publish-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-item.js","sourceRoot":"","sources":["../src/publish-item.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"publish-rendered.d.ts","sourceRoot":"","sources":["../src/publish-rendered.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish-rendered.d.ts","sourceRoot":"","sources":["../src/publish-rendered.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ import { resolveSeoTags, escapeAttr } from './seo.js';
8
8
  import { rebuildItemDeps } from './dep-sidecars.js';
9
9
  import { ASSET_REFS } from './assets/asset-deps.js';
10
10
  import { FRAGMENT_DEPS } from './fragment-deps.js';
11
+ import { aliasTarget, isArchived } from './archive-helpers.js';
12
+ import { archiveMarker } from './runtime/archive-marker.js';
11
13
  function contentHash(content) {
12
14
  return createHash('md5').update(content).digest('hex').slice(0, 8);
13
15
  }
@@ -40,6 +42,42 @@ async function cleanupOldFiles(storage, oldFiles, newFiles) {
40
42
  }
41
43
  return removed;
42
44
  }
45
+ /**
46
+ * Soft-delete short-circuit — emit ONLY the archive marker line as the
47
+ * page HTML, no body, no doctype, no CSS/JS. The worker reads the first
48
+ * 200 bytes, sees the marker, and emits 301 / 410 without composing.
49
+ *
50
+ * Body content for an archived page is dead weight. The page content
51
+ * hash sidecar is still written so cross-target compare works
52
+ * (compare picks up that the page changed when archived).
53
+ *
54
+ * Hashed CSS/JS files from the previous (live) publish are cleaned up
55
+ * via the same `cleanupOldFiles` pass the live-page emit uses.
56
+ */
57
+ async function publishArchiveMarker(page, pageName, targetStorage, manifestHash, locale) {
58
+ const target = aliasTarget(page);
59
+ const marker = target ? archiveMarker({ kind: 'alias', target }) : archiveMarker({ kind: 'gone' });
60
+ const pageDir = `pages/${pageName}`;
61
+ const oldFiles = await listHashedFiles(targetStorage, pageDir);
62
+ const indexFile = locale ? `index.${locale}.html` : 'index.html';
63
+ await targetStorage.mkdir(pageDir);
64
+ await targetStorage.writeFile(`${pageDir}/${indexFile}`, marker);
65
+ if (manifestHash) {
66
+ await writeSidecars(targetStorage, pageDir, {
67
+ hash: manifestHash,
68
+ pub: {
69
+ lastPublished: new Date().toISOString(),
70
+ // Archived pages always 410 (no alias) or 301 (alias) — both
71
+ // exclude from sitemap; encode noindex flag for sitemap generator.
72
+ noindex: true,
73
+ },
74
+ }, locale);
75
+ }
76
+ // Live publish wrote `styles.<hash>.css` and `script.<hash>.js`; archive
77
+ // emits no CSS/JS. cleanupOldFiles deletes the stale hashed files.
78
+ const removed = await cleanupOldFiles(targetStorage, oldFiles, []);
79
+ return { files: 1, removed };
80
+ }
43
81
  /**
44
82
  * Publish a page as HTML with ESI placeholders for fragments.
45
83
  * Local components are baked in. Fragment markup is replaced at request time by the worker.
@@ -52,10 +90,17 @@ seo,
52
90
  locale) {
53
91
  // Reuse a preloaded site when the caller already has one (runPublish loops
54
92
  // over N items; loading per-item was quadratic). loadSite is idempotent.
55
- const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, templatesDir }));
93
+ const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, templatesDir, manifest: { name: '(publish)' } }));
56
94
  const page = site.pages.get(pageName);
57
95
  if (!page)
58
96
  throw new Error(`Page "${pageName}" not found`);
97
+ // Soft-delete short-circuit (per design-soft-delete.md Q10):
98
+ // archived pages emit ONLY the marker line as the page HTML. Body
99
+ // content is dead weight — worker reads the first 200 bytes, sees
100
+ // the marker, emits 301/410 without composing.
101
+ if (isArchived(page)) {
102
+ return publishArchiveMarker(page, pageName, targetStorage, manifestHash, locale);
103
+ }
59
104
  // Scope IDs are now deterministic (hash-based), no reset needed
60
105
  const resolved = await resolvePage(pageName, site, locale);
61
106
  // Render each child — fragments become ESI placeholders, local components baked in
@@ -188,10 +233,34 @@ export async function publishPageStatic(pageName, sourceRoot, targetStorage, tem
188
233
  seo,
189
234
  /** Locale for this render pass. When set, resolves locale-specific content and writes to locale-prefixed path. */
190
235
  locale) {
191
- const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, templatesDir }));
236
+ const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, templatesDir, manifest: { name: '(publish)' } }));
192
237
  const page = site.pages.get(pageName);
193
238
  if (!page)
194
239
  throw new Error(`Page "${pageName}" not found`);
240
+ // Soft-delete short-circuit — see publishArchiveMarker. For static
241
+ // targets the URL path comes from the route (page.route → /url/path)
242
+ // rather than the pages/{name}/ ESI layout; the route maps to a
243
+ // disk path the host serves directly.
244
+ if (isArchived(page)) {
245
+ const target = aliasTarget(page);
246
+ const marker = target ? archiveMarker({ kind: 'alias', target }) : archiveMarker({ kind: 'gone' });
247
+ const baseUrlPath = page.route === '/' ? '' : page.route.replace(/^\//, '');
248
+ const urlPath = locale ? (baseUrlPath ? `${locale}/${baseUrlPath}` : locale) : baseUrlPath;
249
+ const outputPath = urlPath ? `${urlPath}/index.html` : 'index.html';
250
+ const outputDir = urlPath || '.';
251
+ await targetStorage.mkdir(outputDir);
252
+ await targetStorage.writeFile(outputPath, marker);
253
+ if (manifestHash) {
254
+ await writeSidecars(targetStorage, `pages/${pageName}`, {
255
+ hash: manifestHash,
256
+ pub: {
257
+ lastPublished: new Date().toISOString(),
258
+ noindex: true,
259
+ },
260
+ });
261
+ }
262
+ return { files: 1 };
263
+ }
195
264
  // Scope IDs are now deterministic (hash-based), no reset needed
196
265
  const resolved = await resolvePage(pageName, site, locale);
197
266
  const html = await renderPage(resolved, {
@@ -228,7 +297,7 @@ locale) {
228
297
  export async function publishFragmentRendered(fragmentName, sourceRoot, targetStorage, templatesDir, manifestHash, preloadedSite,
229
298
  /** Locale for this render pass. When set, resolves locale-specific content and writes to index.{locale}.html. */
230
299
  locale) {
231
- const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, templatesDir }));
300
+ const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, templatesDir, manifest: { name: '(publish)' } }));
232
301
  const fragment = site.fragments.get(fragmentName);
233
302
  if (!fragment)
234
303
  throw new Error(`Fragment "${fragmentName}" not found`);
@@ -286,7 +355,7 @@ locale) {
286
355
  * Publish site manifest (stripped of targets config).
287
356
  */
288
357
  export async function publishSiteManifest(sourceRoot, targetStorage, preloadedSite) {
289
- const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot }));
358
+ const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, manifest: { name: '(publish)' } }));
290
359
  const manifest = { name: site.manifest.name, version: site.manifest.version };
291
360
  await targetStorage.writeFile('site.json', JSON.stringify(manifest));
292
361
  }
@@ -342,7 +411,7 @@ export function rebuildAssetRefsIndex(sourceSite, destStorage, destRootPath = ''
342
411
  * publish-UI blast radius and fragment cache-purge URL lookup)
343
412
  */
344
413
  export async function publishDepIndices(sourceRoot, targetStorage, preloadedSite) {
345
- const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot }));
414
+ const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, manifest: { name: '(publish)' } }));
346
415
  await Promise.all([
347
416
  rebuildDepIndex(ASSET_REFS, site, targetStorage, ''),
348
417
  rebuildDepIndex(FRAGMENT_DEPS, site, targetStorage, ''),
@@ -353,7 +422,7 @@ export async function publishDepIndices(sourceRoot, targetStorage, preloadedSite
353
422
  * `publishDepIndices` to get both indices rebuilt in one walk.
354
423
  */
355
424
  export async function publishAssetRefsIndex(sourceRoot, targetStorage, preloadedSite) {
356
- const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot }));
425
+ const site = preloadedSite ?? (await loadSite({ contentRoot: sourceRoot, manifest: { name: '(publish)' } }));
357
426
  await rebuildDepIndex(ASSET_REFS, site, targetStorage, '');
358
427
  }
359
428
  /** Purge via Cloudflare zone cache API */
@@ -1 +1 @@
1
- {"version":3,"file":"publish-rendered.js","sourceRoot":"","sources":["../src/publish-rendered.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish-rendered.js","sourceRoot":"","sources":["../src/publish-rendered.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Pure-fn renderers — Cut 2 of publish pipeline extraction.
3
+ *
4
+ * Each renderer takes a resolved item + render context and returns
5
+ * a `RenderOutput` describing what should be written to storage:
6
+ * the index HTML body, plus zero-or-more hashed files (CSS/JS) that
7
+ * the spine emits as separate writes.
8
+ *
9
+ * Renderers are PURE — no I/O, no side effects. They produce data;
10
+ * the spine writes it. This separation lets us test each render
11
+ * mode in isolation (fast unit tests, no storage mocks) and lets
12
+ * future modes plug in without touching the spine.
13
+ *
14
+ * Per Q2 lock: 4 modes, each their own pure fn.
15
+ * - `renderPageWithEsi` — page-rendered (ESI placeholders for `@fragment`
16
+ * refs; fragments composed at request time by worker)
17
+ * - `renderPageStatic` — page-static (full-bake; fragments inlined)
18
+ * - `renderFragmentRendered` — fragment-rendered (standalone for ESI
19
+ * composition)
20
+ * - `renderArchiveMarker` — archive-marker (body-skip; emit ONLY the
21
+ * HTML comment marker line)
22
+ *
23
+ * Cut 2 introduces these as standalone fns; the existing 5 publish-*
24
+ * exports in publish-rendered.ts stay and call into them inline.
25
+ * Cut 3 wires them through `publishItemCore`'s spine; Cut 8 deletes
26
+ * the publish-rendered.ts orchestration.
27
+ */
28
+ import { type SeoContext } from './seo.js';
29
+ import type { Site } from './site-loader.js';
30
+ import type { CacheConfig } from './types.js';
31
+ /**
32
+ * One file to write. The spine emits these — renderer produces the
33
+ * descriptor. `path` is relative to the target's content root;
34
+ * `content` is the body bytes.
35
+ *
36
+ * Hashed files (CSS/JS) get their content-hash computed by the
37
+ * renderer (so the renderer can build the `<link>` / `<script>` tags
38
+ * pointing at the hashed filename). The spine writes them as-is.
39
+ */
40
+ export interface RenderedFile {
41
+ readonly path: string;
42
+ readonly content: string;
43
+ }
44
+ /**
45
+ * Output of a renderer pass. Spine consumes this:
46
+ * 1. Writes `indexFile` content to `{itemDir}/{indexFile}`
47
+ * 2. Writes each `files[i]` content to `files[i].path`
48
+ * 3. Lists pre-existing hashed files at `itemDir`, removes any
49
+ * not in `files[]` (cleanup)
50
+ * 4. Writes sidecars (hash + pub-state) if `sidecarHash` provided
51
+ *
52
+ * `archived` is true for the archive-marker renderer — spine uses it
53
+ * to set the `noindex` flag on the publish-state sidecar.
54
+ */
55
+ export interface RenderOutput {
56
+ /** Filename for the index HTML write (e.g., 'index.html' or 'index.fr.html'). */
57
+ readonly indexFile: string;
58
+ /** HTML body to write at `{itemDir}/{indexFile}`. */
59
+ readonly indexHtml: string;
60
+ /** Hashed CSS / JS files to write alongside the index. */
61
+ readonly files: readonly RenderedFile[];
62
+ /** True for archived-marker renderer (drives noindex flag in pub sidecar). */
63
+ readonly archived: boolean;
64
+ }
65
+ /**
66
+ * Page render context — assembled by per-kind wrapper from the
67
+ * loaded site + target config. Renderers are agnostic to where this
68
+ * came from; pure-fn input.
69
+ */
70
+ export interface PageRenderContext {
71
+ /** Loaded site (shared across the publish run). */
72
+ readonly site: Site;
73
+ /** Locale variant being rendered; undefined = default locale. */
74
+ readonly locale?: string;
75
+ /** SEO fallback-chain context (target siteUrl + site name + locale + defaultOgImage). */
76
+ readonly seo?: SeoContext;
77
+ /** Target-level cache config (browser / edge TTL); page-level overrides win in renderer. */
78
+ readonly targetCache?: CacheConfig;
79
+ }
80
+ /** Fragment render context — same shape minus page-only fields. */
81
+ export interface FragmentRenderContext {
82
+ readonly site: Site;
83
+ readonly locale?: string;
84
+ }
85
+ /**
86
+ * Render a page in ESI mode: `@fragment` refs become ESI placeholders
87
+ * for the worker to compose at request time; inline components are
88
+ * baked into the page HTML. Used for `esi` targets.
89
+ *
90
+ * Pure fn: returns descriptors; caller (spine) writes them.
91
+ *
92
+ * Throws if the page is archived — caller must check `isArchived`
93
+ * first and route to `renderArchiveMarker` instead. Same for
94
+ * not-found pages (caller resolves from `site.pages.get` and
95
+ * surfaces NOT_FOUND result).
96
+ */
97
+ export declare function renderPageWithEsi(pageName: string, ctx: PageRenderContext): Promise<RenderOutput>;
98
+ /**
99
+ * Render a page in static mode: full-bake; fragments inlined; CSS/JS
100
+ * inline. Used for `static` targets (no worker).
101
+ *
102
+ * Different output layout than ESI mode: writes to URL-derived path
103
+ * (`/about` → `about/index.html`) rather than `pages/{name}/`. Caller
104
+ * computes the output path from `page.route` + locale prefix.
105
+ *
106
+ * Returns the rendered HTML; spine handles directory layout decision
107
+ * (caller knows the path conventions for the static-target layout).
108
+ */
109
+ export declare function renderPageStatic(pageName: string, ctx: PageRenderContext): Promise<RenderOutput>;
110
+ /**
111
+ * Render a fragment standalone for ESI composition. Output is the
112
+ * fragment's HTML wrapped in a `<head>` section if CSS/JS exist —
113
+ * the worker injects head content before `</head>` and body content
114
+ * at the ESI placeholder.
115
+ */
116
+ export declare function renderFragmentRendered(fragmentName: string, ctx: FragmentRenderContext): Promise<RenderOutput>;
117
+ /**
118
+ * Render the soft-delete archive marker — body-skip, single line.
119
+ * The worker reads the first 200 bytes, sees the marker, and emits
120
+ * 301 (alias) or 410 (gone) without composing. Per
121
+ * design-soft-delete.md Q10.
122
+ *
123
+ * Caller checks `isArchived(page)` first; this is the dispatch
124
+ * target for that branch.
125
+ */
126
+ export declare function renderArchiveMarker(page: {
127
+ aliasOf?: string;
128
+ metadata?: {
129
+ robots?: string;
130
+ };
131
+ }, locale?: string): RenderOutput;
132
+ //# sourceMappingURL=publish-renderers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-renderers.d.ts","sourceRoot":"","sources":["../src/publish-renderers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAA;IACvC,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,iEAAiE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,yFAAyF;IACzF,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAA;IACzB,4FAA4F;IAC5F,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CACnC;AAED,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AASD;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CA4GvG;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAmBtG;AAID;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAkCpH;AAID;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAC1D,MAAM,CAAC,EAAE,MAAM,GACd,YAAY,CAYd"}