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,86 @@
1
+ import { manifestComponents } from '../types.js';
2
+ /**
3
+ * A fragment defined in `fragments/` but not referenced by any page or other
4
+ * fragment is unused. Surfaces as `info` (not `warn`) — operators legitimately
5
+ * keep work-in-progress fragments around; this is a hint, not a defect.
6
+ *
7
+ * Background scope only: requires walking the entire site to know whether
8
+ * any item references the fragment in question. Per-item save-delta can't
9
+ * tell — adding the fragment is fine; removing the only ref is what makes
10
+ * it orphaned.
11
+ *
12
+ * One issue per orphaned fragment, surfaced on the fragment itself
13
+ * (`itemPath: fragments/{name}/fragment.json`).
14
+ */
15
+ export const unusedFragment = {
16
+ source: 'gazetta',
17
+ name: 'unused-fragment',
18
+ stages: ['background', 'cli'],
19
+ defaultSeverity() {
20
+ return 'info';
21
+ },
22
+ async validate(input) {
23
+ const { scope, site } = input;
24
+ if (scope.kind !== 'background' && scope.kind !== 'cli')
25
+ return [];
26
+ // Background scope is per-item; only emit issues from the fragment itself,
27
+ // so the issue lands on the right tree node. CLI scope is site-wide and
28
+ // emits all orphans at once.
29
+ if (scope.kind === 'background' && scope.item.kind !== 'fragment')
30
+ return [];
31
+ const referenced = collectReferencedFragments(site);
32
+ if (scope.kind === 'background') {
33
+ const fragName = scope.item.name;
34
+ if (referenced.has(fragName))
35
+ return [];
36
+ return [
37
+ {
38
+ validator: 'unused-fragment',
39
+ severity: 'info',
40
+ message: `Fragment "@${fragName}" is defined but no page or fragment references it.`,
41
+ itemPath: scope.item.itemPath,
42
+ },
43
+ ];
44
+ }
45
+ // CLI: enumerate every orphan
46
+ const issues = [];
47
+ for (const [name, frag] of site.fragments) {
48
+ if (referenced.has(name))
49
+ continue;
50
+ issues.push({
51
+ validator: 'unused-fragment',
52
+ severity: 'info',
53
+ message: `Fragment "@${name}" is defined but no page or fragment references it.`,
54
+ itemPath: `${frag.dir}/fragment.json`,
55
+ });
56
+ }
57
+ return issues;
58
+ },
59
+ };
60
+ /**
61
+ * Walk every page and every fragment, collecting the set of fragment names
62
+ * referenced via `@name` in their components tree (recursively). The result
63
+ * is the "live" set; anything in `site.fragments` not in this set is orphaned.
64
+ */
65
+ function collectReferencedFragments(site) {
66
+ const referenced = new Set();
67
+ for (const page of site.pages.values()) {
68
+ walkFragmentRefs(manifestComponents(page), referenced);
69
+ }
70
+ for (const frag of site.fragments.values()) {
71
+ walkFragmentRefs(manifestComponents(frag), referenced);
72
+ }
73
+ return referenced;
74
+ }
75
+ function walkFragmentRefs(components, out) {
76
+ for (const entry of components) {
77
+ if (typeof entry === 'string' && entry.startsWith('@')) {
78
+ out.add(entry.slice(1));
79
+ continue;
80
+ }
81
+ if (typeof entry === 'object' && entry !== null && entry.components) {
82
+ walkFragmentRefs(entry.components, out);
83
+ }
84
+ }
85
+ }
86
+ //# sourceMappingURL=unused-fragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unused-fragment.js","sourceRoot":"","sources":["../../../src/validation/validators/unused-fragment.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,CAAC,YAAY,EAAE,KAAK,CAAU;IAEtC,eAAe;QACb,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAqB;QAClC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,EAAE,CAAA;QAClE,2EAA2E;QAC3E,wEAAwE;QACxE,6BAA6B;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,EAAE,CAAA;QAE5E,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAA;QAEnD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;YAChC,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO,EAAE,CAAA;YACvC,OAAO;gBACL;oBACE,SAAS,EAAE,iBAAiB;oBAC5B,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,cAAc,QAAQ,qDAAqD;oBACpF,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;iBAC9B;aACF,CAAA;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAClC,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,iBAAiB;gBAC5B,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,cAAc,IAAI,qDAAqD;gBAChF,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,gBAAgB;aACtC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAED;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,IAAU;IAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;IACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACvC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;IACxD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAqC,EAAE,GAAgB;IAC/E,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACvB,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACpE,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gazetta",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Stateless CMS for composable websites",
5
5
  "keywords": [
6
6
  "cms",
@@ -30,6 +30,14 @@
30
30
  "types": "./dist/types.d.ts",
31
31
  "import": "./dist/types.js"
32
32
  },
33
+ "./format": {
34
+ "types": "./dist/format.d.ts",
35
+ "import": "./dist/format.js"
36
+ },
37
+ "./save-etag": {
38
+ "types": "./dist/save-etag.d.ts",
39
+ "import": "./dist/save-etag.js"
40
+ },
33
41
  "./editor": {
34
42
  "types": "./dist/editor/mount.d.ts",
35
43
  "import": "./dist/editor/mount.js"
@@ -42,6 +50,22 @@
42
50
  "types": "./dist/admin-api/schemas/index.d.ts",
43
51
  "import": "./dist/admin-api/schemas/index.js"
44
52
  },
53
+ "./schema": {
54
+ "types": "./dist/schema/index.d.ts",
55
+ "import": "./dist/schema/index.js"
56
+ },
57
+ "./testing": {
58
+ "types": "./dist/testing/index.d.ts",
59
+ "import": "./dist/testing/index.js"
60
+ },
61
+ "./providers/azure-blob": {
62
+ "types": "./dist/providers/azure-blob.d.ts",
63
+ "import": "./dist/providers/azure-blob.js"
64
+ },
65
+ "./providers/s3": {
66
+ "types": "./dist/providers/s3.d.ts",
67
+ "import": "./dist/providers/s3.js"
68
+ },
45
69
  "./workers/cloudflare-r2": {
46
70
  "types": "./dist/workers/cloudflare-r2.d.ts",
47
71
  "import": "./dist/workers/cloudflare-r2.js"
@@ -63,28 +87,40 @@
63
87
  "test:mutation": "stryker run"
64
88
  },
65
89
  "dependencies": {
66
- "@clack/prompts": "^1.2.0",
90
+ "@anthropic-ai/sdk": "^0.95.2",
91
+ "@clack/prompts": "^1.3.0",
67
92
  "@floating-ui/dom": "^1.7.6",
68
93
  "@hello-pangea/dnd": "^18.0.1",
69
- "@hono/node-server": "^1.19.14",
70
- "@rjsf/core": "^6.4.0",
71
- "@rjsf/utils": "^6.4.0",
72
- "@rjsf/validator-ajv8": "^6.4.0",
73
- "@tiptap/extension-link": "^3.22.3",
74
- "@tiptap/extension-placeholder": "^3.22.3",
75
- "@tiptap/pm": "^3.22.3",
76
- "@tiptap/react": "^3.22.3",
77
- "@tiptap/starter-kit": "^3.22.3",
78
- "hono": "^4.12.0",
79
- "jiti": "^2.6.1",
80
- "js-yaml": "^4.1.0",
81
- "marked": "^18.0.0",
82
- "postcss": "^8.5.8",
94
+ "@hono/node-server": "^2.0.2",
95
+ "@rjsf/core": "^6.5.2",
96
+ "@rjsf/utils": "^6.5.2",
97
+ "@rjsf/validator-ajv8": "^6.5.2",
98
+ "@tiptap/extension-link": "^3.23.1",
99
+ "@tiptap/extension-placeholder": "^3.23.1",
100
+ "@tiptap/pm": "^3.23.1",
101
+ "@tiptap/react": "^3.23.1",
102
+ "@tiptap/starter-kit": "^3.23.1",
103
+ "axe-core": "^4.11.4",
104
+ "file-type": "^22.0.1",
105
+ "hono": "^4.12.18",
106
+ "html-validate": "^11.0.0",
107
+ "isomorphic-dompurify": "^3.12.0",
108
+ "jiti": "^2.7.0",
109
+ "jose": "^6.2.3",
110
+ "jsdom": "^29.1.1",
111
+ "marked": "^18.0.3",
112
+ "music-metadata": "^11.12.3",
113
+ "nanoid": "^5.1.11",
114
+ "openai": "^6.37.0",
115
+ "postcss": "^8.5.14",
83
116
  "postcss-prefix-selector": "^2.1.1",
84
- "zod": "^4.3.6"
117
+ "sharp": "^0.34.5",
118
+ "write-file-atomic": "^8.0.0",
119
+ "zod": "^4.4.3"
85
120
  },
86
121
  "peerDependencies": {
87
122
  "@aws-sdk/client-s3": ">=3",
123
+ "@aws-sdk/lib-storage": ">=3",
88
124
  "@azure/storage-blob": ">=12",
89
125
  "react": "^18.0.0 || ^19.0.0",
90
126
  "react-dom": "^18.0.0 || ^19.0.0"
@@ -93,26 +129,32 @@
93
129
  "@aws-sdk/client-s3": {
94
130
  "optional": true
95
131
  },
132
+ "@aws-sdk/lib-storage": {
133
+ "optional": true
134
+ },
96
135
  "@azure/storage-blob": {
97
136
  "optional": true
98
137
  }
99
138
  },
100
139
  "devDependencies": {
101
- "@aws-sdk/client-s3": "^3.1030.0",
140
+ "@aws-sdk/client-s3": "^3.1045.0",
141
+ "@aws-sdk/lib-storage": "^3.1045.0",
102
142
  "@azure/storage-blob": "^12.31.0",
103
- "@cloudflare/workers-types": "^4.20260413.1",
143
+ "@cloudflare/workers-types": "^4.20260511.1",
104
144
  "@stryker-mutator/core": "^9.6.1",
105
145
  "@stryker-mutator/typescript-checker": "^9.6.1",
106
146
  "@stryker-mutator/vitest-runner": "^9.6.1",
107
- "@types/js-yaml": "^4.0.0",
108
- "@types/node": "^25.6.0",
109
- "@types/react": "^19.2.0",
110
- "@types/react-dom": "^19.2.0",
147
+ "@types/jsdom": "^28.0.2",
148
+ "@types/node": "^25.7.0",
149
+ "@types/react": "^19.2.14",
150
+ "@types/react-dom": "^19.2.3",
151
+ "@types/write-file-atomic": "^4.0.3",
111
152
  "@vitejs/plugin-vue": "^6.0.6",
112
- "fast-check": "^4.6.0",
153
+ "fast-check": "^4.8.0",
154
+ "msw": "^2.14.6",
113
155
  "tsx": "^4.21.0",
114
- "typescript": "^6.0.2",
115
- "vite": "^8.0.8",
116
- "vitest": "^4.1.0"
156
+ "typescript": "^6.0.3",
157
+ "vite": "^8.0.12",
158
+ "vitest": "^4.1.6"
117
159
  }
118
160
  }
@@ -1 +0,0 @@
1
- .blast-radius[data-v-44748290]{border-radius:var(--p-border-radius-sm);color:var(--color-muted);background:var(--color-hover-bg);border:1px solid var(--color-border);letter-spacing:-.01em;align-items:center;gap:.375rem;padding:.125rem .5rem;font-size:.75rem;display:inline-flex}.blast-radius .pi[data-v-44748290]{opacity:.7;font-size:.625rem}.blast-radius .unused[data-v-44748290]{opacity:.75;font-style:italic}.blast-radius.compact[data-v-44748290]{font-variant-numeric:tabular-nums;background:0 0;border:0;padding:0 .25rem;font-size:.6875rem}.blast-radius.compact .count[data-v-44748290]{font-weight:600}.publish-item-list[data-v-ba2e46af]{flex-direction:column;gap:.625rem;width:100%;display:flex}.list-header[data-v-ba2e46af]{color:var(--color-muted);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.summary[data-v-ba2e46af]{font-variant-numeric:tabular-nums}.list-actions[data-v-ba2e46af]{align-items:center;gap:.375rem;display:flex}.link-btn[data-v-ba2e46af]{font:inherit;color:var(--p-primary-color);cursor:pointer;background:0 0;border:0;padding:0}.link-btn[data-v-ba2e46af]:hover{text-decoration:underline}.sep[data-v-ba2e46af]{color:var(--color-border)}.state-loading[data-v-ba2e46af],.state-error[data-v-ba2e46af],.state-empty[data-v-ba2e46af]{color:var(--color-muted);border:1px dashed var(--color-border);border-radius:var(--p-border-radius-sm);align-items:center;gap:.5rem;padding:.75rem;font-size:.8125rem;display:flex}.state-error[data-v-ba2e46af]{color:var(--color-danger-fg);border-color:var(--color-danger-fg)}.items[data-v-ba2e46af]{flex-direction:column;gap:.25rem;max-height:50vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.item[data-v-ba2e46af]{border-radius:var(--p-border-radius-sm);grid-template-columns:1.25rem auto 1fr auto auto;align-items:center;gap:.625rem;padding:.375rem .5rem;font-size:.875rem;display:grid}.item[data-v-ba2e46af]:hover{background:var(--color-hover-bg)}.marker[data-v-ba2e46af]{text-align:center;font-variant-numeric:tabular-nums;font-weight:700}.marker-added[data-v-ba2e46af]{color:var(--color-success-fg)}.marker-modified[data-v-ba2e46af]{color:var(--color-warning-fg)}.marker-deleted[data-v-ba2e46af]{color:var(--color-danger-fg)}.marker-unchanged[data-v-ba2e46af]{color:var(--color-muted);opacity:.4}.deleted-spacer[data-v-ba2e46af]{width:1.125rem;height:1px;display:inline-block}.path[data-v-ba2e46af]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.8125rem;overflow:hidden}.item-deleted .path[data-v-ba2e46af]{opacity:.6;text-decoration:line-through}.by-dest[data-v-ba2e46af]{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:flex}.dest-state[data-v-ba2e46af]{border-radius:var(--p-border-radius-xs);border:1px solid var(--color-border);color:var(--color-muted);align-items:center;gap:.25rem;padding:.0625rem .375rem;font-size:.6875rem;display:inline-flex}.dest-name[data-v-ba2e46af]{font-weight:500}.dest-label[data-v-ba2e46af]{opacity:.75}.dest-state-added[data-v-ba2e46af]{color:var(--color-success-fg);border-color:var(--color-success-fg)}.dest-state-modified[data-v-ba2e46af]{color:var(--color-warning-fg);border-color:var(--color-warning-fg)}.dest-state-deleted[data-v-ba2e46af]{color:var(--color-danger-fg);border-color:var(--color-danger-fg)}.dest-state-unchanged[data-v-ba2e46af]{opacity:.5}.publish-panel[data-v-a260edc1]{flex-direction:column;gap:1.25rem;padding-top:.5rem;display:flex}.row[data-v-a260edc1]{align-items:flex-start;gap:1rem;display:flex}.row-items[data-v-a260edc1]{flex-direction:column;align-items:stretch;gap:.5rem}.row-items .row-label[data-v-a260edc1]{padding-top:0}.row-label[data-v-a260edc1]{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;flex:0 0 5rem;padding-top:.375rem;font-size:.8125rem;font-weight:500}.row-control[data-v-a260edc1]{flex:1;min-width:0}.row-value[data-v-a260edc1]{flex:1;min-width:0;padding-top:.375rem}.row-value.muted[data-v-a260edc1]{color:var(--color-muted);font-size:.8125rem;font-style:italic}.chip[data-v-a260edc1]{border-radius:var(--p-border-radius-sm);background:var(--color-hover-bg);border:1px solid var(--color-border);align-items:center;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;display:inline-flex}.chip.env-production[data-v-a260edc1]{background:var(--color-env-prod-bg);color:var(--color-env-prod-fg);border-color:var(--color-env-prod-fg)}.chip.env-staging[data-v-a260edc1]{background:var(--color-env-staging-bg);color:var(--color-env-staging-fg);border-color:var(--color-env-staging-fg)}.destinations[data-v-a260edc1]{flex-direction:column;flex:1;gap:.375rem;display:flex}.destination[data-v-a260edc1]{border-radius:var(--p-border-radius-sm);border:1px solid var(--color-border);cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.625rem;padding:.5rem .75rem;font-size:.875rem;display:grid}.destination[data-v-a260edc1]:hover{background:var(--color-hover-bg)}.dest-name[data-v-a260edc1]{font-weight:500}.dest-badge[data-v-a260edc1]{text-transform:uppercase;letter-spacing:.05em;opacity:.65;border-radius:var(--p-border-radius-xs);border:1px solid;padding:.125rem .375rem;font-size:.6875rem}.dest-status[data-v-a260edc1]{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.destination.env-production[data-v-a260edc1]{border-left:3px solid var(--color-env-prod-fg)}.destination.env-staging[data-v-a260edc1]{border-left:3px solid var(--color-env-staging-fg)}.destination.grouped[data-v-a260edc1]{border-left:1px solid var(--color-border);margin-left:1.25rem}.destination-group-header[data-v-a260edc1]{border-radius:var(--p-border-radius-sm);text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--color-border);cursor:pointer;color:inherit;text-align:left;background:0 0;align-items:center;gap:.5rem;width:100%;margin-bottom:.125rem;padding:.375rem .625rem;font-family:inherit;font-size:.8125rem;font-weight:600;display:flex}.destination-group-header[data-v-a260edc1]:hover{opacity:.9}.destination-group-header.env-production[data-v-a260edc1]{background:var(--color-env-prod-bg);color:var(--color-env-prod-fg);border-color:var(--color-env-prod-fg)}.destination-group-header.env-staging[data-v-a260edc1]{background:var(--color-env-staging-bg);color:var(--color-env-staging-fg);border-color:var(--color-env-staging-fg)}.group-label[data-v-a260edc1]{flex:1}.group-count[data-v-a260edc1]{letter-spacing:0;text-transform:none;opacity:.75;font-size:.6875rem;font-weight:500}.publish-confirm-banner[data-v-a260edc1]{border-radius:var(--p-border-radius-md);background:var(--color-danger-bg);color:var(--color-danger-fg);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.publish-error[data-v-a260edc1]{border-radius:var(--p-border-radius-md);background:var(--color-danger-bg);color:var(--color-danger-fg);gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.publish-error-body[data-v-a260edc1]{flex-direction:column;flex:1;gap:.375rem;display:flex}.publish-error-body p[data-v-a260edc1]{margin:0}.publish-invalid-list[data-v-a260edc1]{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.publish-invalid-list li[data-v-a260edc1]{flex-direction:column;gap:.125rem;font-size:.8125rem;display:flex}.publish-invalid-name[data-v-a260edc1]{font-family:ui-monospace,monospace;font-weight:600}.publish-invalid-error[data-v-a260edc1]{opacity:.85;font-size:.75rem}.publish-progress[data-v-a260edc1]{flex-direction:column;gap:.75rem;display:flex}.progress-row[data-v-a260edc1]{flex-direction:column;gap:.25rem;display:flex}.progress-header[data-v-a260edc1]{justify-content:space-between;align-items:baseline;font-size:.8125rem;display:flex}.progress-target[data-v-a260edc1]{font-weight:600}.progress-count[data-v-a260edc1]{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.progress-bar[data-v-a260edc1]{background:var(--color-hover-bg);border-radius:2px;height:4px;overflow:hidden}.progress-fill[data-v-a260edc1]{background:var(--p-primary-color);height:100%;transition:width .2s}.progress-label[data-v-a260edc1]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:.75rem;overflow:hidden}.publish-results[data-v-a260edc1]{flex-direction:column;gap:.5rem;display:flex}.publish-result[data-v-a260edc1]{border-radius:var(--p-border-radius-md);align-items:center;gap:.5rem;padding:.5rem;display:flex}.publish-result.success[data-v-a260edc1]{background:var(--color-success-bg);color:var(--color-success-fg)}.publish-result.error[data-v-a260edc1]{background:var(--color-danger-bg);color:var(--color-danger-fg)}.result-target[data-v-a260edc1]{font-weight:600}.result-detail[data-v-a260edc1]{opacity:.8;margin-left:auto;font-size:.875rem}.result-undo[data-v-a260edc1]{color:inherit;border-radius:var(--p-border-radius-sm);font:inherit;cursor:pointer;opacity:.85;background:0 0;border:1px solid;padding:.125rem .5rem;font-size:.75rem}.result-undo[data-v-a260edc1]:hover:not(:disabled){opacity:1}.result-undo[data-v-a260edc1]:disabled{cursor:default;opacity:.5}.state-loading[data-v-da5daf1a],.state-error[data-v-da5daf1a],.state-empty[data-v-da5daf1a]{color:var(--color-muted);border:1px dashed var(--color-border);border-radius:var(--p-border-radius-sm);align-items:center;gap:.5rem;padding:1rem;font-size:.875rem;display:flex}.state-error[data-v-da5daf1a]{color:var(--color-danger-fg);border-color:var(--color-danger-fg)}.revisions[data-v-da5daf1a]{flex-direction:column;gap:.375rem;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.revision[data-v-da5daf1a]{border-radius:var(--p-border-radius-sm);border:1px solid var(--color-border);grid-template-columns:auto 1fr auto;align-items:start;gap:.75rem;padding:.625rem .75rem;display:grid}.op-icon[data-v-da5daf1a]{color:var(--color-muted);padding-top:.125rem;font-size:.875rem}.meta[data-v-da5daf1a]{flex-direction:column;gap:.25rem;min-width:0;display:flex}.head-row[data-v-da5daf1a]{flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.8125rem;display:flex}.op-label[data-v-da5daf1a]{font-weight:600}.source[data-v-da5daf1a]{color:var(--color-muted);font-size:.75rem;font-weight:500}.head-badge[data-v-da5daf1a]{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--p-border-radius-xs);background:var(--color-info-bg);color:var(--color-info-fg);padding:.125rem .375rem;font-size:.6875rem;font-weight:600}.time[data-v-da5daf1a]{color:var(--color-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.75rem}.message[data-v-da5daf1a]{color:var(--color-muted);font-size:.8125rem;font-style:italic}.items[data-v-da5daf1a]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.75rem;overflow:hidden}.active-target[data-v-4279054b]{border-radius:var(--p-border-radius-sm);background:var(--color-hover-bg);color:var(--color-fg);border:1px solid var(--color-border);cursor:default;align-items:center;gap:.375rem;padding:.25rem .625rem;font-family:inherit;font-size:.8125rem;font-weight:500;display:inline-flex}.active-target.interactive[data-v-4279054b]{cursor:pointer}.active-target.interactive[data-v-4279054b]:hover{filter:brightness(.96)}.active-target.interactive[data-v-4279054b]:focus-visible{outline:2px solid var(--p-primary-color);outline-offset:2px}.dot[data-v-4279054b]{opacity:.6;background:currentColor;border-radius:50%;width:.5rem;height:.5rem}.name[data-v-4279054b]{letter-spacing:-.01em}.readonly-badge[data-v-4279054b]{text-transform:uppercase;letter-spacing:.05em;opacity:.65;border-left:1px solid;margin-left:.125rem;padding-left:.375rem;font-size:.6875rem}.chevron[data-v-4279054b]{opacity:.6;margin-left:.125rem;font-size:.625rem}.env-production[data-v-4279054b]{background:var(--color-env-prod-bg);color:var(--color-env-prod-fg);border-color:var(--color-env-prod-fg)}.env-staging[data-v-4279054b]{background:var(--color-env-staging-bg);color:var(--color-env-staging-fg);border-color:var(--color-env-staging-fg)}.p-menu .p-menuitem.active>.p-menuitem-content{font-weight:600}.p-menu .p-menuitem.active .p-menuitem-icon{color:var(--p-primary-color)}.sync-indicators[data-v-4674f672]{align-items:center;gap:.25rem;margin-left:.5rem;display:inline-flex}.sync-chip[data-v-4674f672]{border-radius:var(--p-border-radius-sm);color:var(--color-muted);border:1px solid var(--color-border);letter-spacing:-.01em;cursor:pointer;background:0 0;align-items:center;gap:.375rem;padding:.125rem .5rem;font-family:inherit;font-size:.75rem;display:inline-flex}.sync-chip[data-v-4674f672]:hover{background:var(--color-hover-bg)}.sync-chip[data-v-4674f672]:focus-visible{outline:2px solid var(--p-primary-color);outline-offset:2px}.dot[data-v-4674f672]{opacity:.55;background:currentColor;border-radius:50%;width:.375rem;height:.375rem}.name[data-v-4674f672]{font-weight:500}.sep[data-v-4674f672]{opacity:.4}.status[data-v-4674f672]{opacity:.85}.sync-chip.state-synced[data-v-4674f672]{color:var(--color-success-fg)}.sync-chip.state-behind[data-v-4674f672]{color:var(--color-fg);border-color:var(--color-fg);opacity:.9}.sync-chip.state-unpublished[data-v-4674f672]{color:var(--color-muted)}.sync-chip.state-error[data-v-4674f672]{color:var(--color-danger-fg)}.sync-chip.state-loading .status[data-v-4674f672]{font-style:italic}.sync-chip.env-production[data-v-4674f672]{border-color:var(--color-env-prod-fg)}.sync-chip.env-production .dot[data-v-4674f672]{color:var(--color-env-prod-fg)}.sync-chip.env-staging[data-v-4674f672]{border-color:var(--color-env-staging-fg)}.sync-chip.env-staging .dot[data-v-4674f672]{color:var(--color-env-staging-fg)}.sync-chip-group[data-v-4674f672]{font-weight:500}.sync-chip-group .pi[data-v-4674f672]{opacity:.7;margin-left:.125rem;font-size:.625rem}.sync-chip-group .group-count[data-v-4674f672]{margin-left:-.125rem;font-weight:400}.sync-chip-group.expanded[data-v-4674f672]{background:var(--color-hover-bg)}.sync-chip-member[data-v-4674f672]{padding-left:.625rem}.sync-chip-member .name[data-v-4674f672]:before{content:"↳ ";opacity:.5;font-weight:400}.locale-picker[data-v-62ef19f8]{align-items:center;gap:2px;margin-left:.5rem;display:flex}.locale-btn[data-v-62ef19f8]{border:1px solid var(--color-border);color:var(--color-muted);letter-spacing:.05em;cursor:pointer;background:0 0;border-radius:3px;padding:.125rem .375rem;font-size:.625rem;font-weight:700;transition:all .15s}.locale-btn[data-v-62ef19f8]:hover{color:var(--color-fg);border-color:var(--color-fg)}.locale-btn.active[data-v-62ef19f8]{color:var(--color-primary);border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.locale-dropdown[data-v-62ef19f8]{position:relative}.locale-trigger[data-v-62ef19f8]{align-items:center;gap:2px;display:flex}.locale-chevron[data-v-62ef19f8]{font-size:.5rem}.locale-menu[data-v-62ef19f8]{background:var(--color-bg);border:1px solid var(--color-border);z-index:100;border-radius:4px;min-width:48px;margin-top:4px;padding:2px;display:none;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000026}.locale-dropdown:hover .locale-menu[data-v-62ef19f8],.locale-dropdown:focus-within .locale-menu[data-v-62ef19f8]{flex-direction:column;gap:1px;display:flex}.locale-menu-item[data-v-62ef19f8]{color:var(--color-muted);letter-spacing:.05em;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:2px;padding:.25rem .5rem;font-size:.625rem;font-weight:700;transition:all .15s}.locale-menu-item[data-v-62ef19f8]:hover{background:var(--color-hover-bg);color:var(--color-fg)}.locale-menu-item.active[data-v-62ef19f8]{color:var(--color-primary)}.cms-toolbar[data-v-07bf38cf]{border-top:0;border-left:0;border-right:0;border-radius:0}.cms-logo[data-v-07bf38cf]{align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;display:flex}.cms-site-name[data-v-07bf38cf]{color:var(--color-muted);margin-left:1rem;margin-right:1rem;font-size:.875rem}.cms-btn[data-v-07bf38cf]{margin-left:.5rem}.cms-toast[data-v-07bf38cf]{align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.cms-toast-error[data-v-07bf38cf]{color:var(--color-danger-fg)}.fade-enter-active[data-v-07bf38cf],.fade-leave-active[data-v-07bf38cf]{transition:opacity .2s}.fade-enter-from[data-v-07bf38cf],.fade-leave-to[data-v-07bf38cf]{opacity:0}.unsaved-message[data-v-31aaf260]{color:#374151;margin:0;font-size:.875rem;line-height:1.5}.dark{color:#e4e4e7}.unsaved-actions[data-v-31aaf260]{justify-content:flex-end;gap:.5rem;width:100%;display:flex}*{box-sizing:border-box;margin:0;padding:0}html,body,#app,.cms-app{height:100%}body{color:var(--color-fg);background:var(--color-bg);font-family:system-ui,-apple-system,sans-serif}.cms-error{color:var(--color-danger-fg);padding:2rem}.cms-loading{color:var(--color-muted);padding:2rem}.global-toast{z-index:1001;background:var(--color-bg);color:var(--color-fg);border:1px solid var(--color-border);border-top:none;border-radius:0 0 8px 8px;align-items:center;gap:8px;max-width:400px;padding:8px 20px;font-size:13px;font-weight:500;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.toast-success{color:var(--color-success-fg)}.toast-error{color:var(--color-danger-fg)}.toast-info{color:var(--color-info-fg)}.toast-link{color:inherit;text-decoration:underline}.toast-action{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;margin-left:4px;padding:2px 6px;font-weight:600;text-decoration:underline}.toast-action:hover{opacity:.8}.toast-dismiss{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;align-items:center;margin-left:4px;padding:2px 4px;display:flex}.toast-dismiss:hover{opacity:1}.toast-dismiss .pi{font-size:11px}.toast-enter-active{transition:transform .2s ease-out,opacity .2s ease-out}.toast-leave-active{transition:transform .15s ease-in,opacity .15s ease-in}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%)translateY(-100%)}body.workspace-editable-prod:before{content:"";pointer-events:none;border:3px solid var(--color-env-prod-fg);z-index:9999;position:fixed;inset:0}.create-content[data-v-6dee5718]{flex-direction:column;gap:1rem;display:flex}.create-field[data-v-6dee5718]{flex-direction:column;gap:.375rem;display:flex}.create-field label[data-v-6dee5718]{text-transform:uppercase;color:#888;letter-spacing:.03em;font-size:.75rem}.create-input[data-v-6dee5718],.create-list[data-v-6dee5718]{width:100%}.create-hint[data-v-6dee5718]{color:#666;font-size:.75rem}.create-error[data-v-6dee5718]{color:#f87171;font-size:.875rem}.create-content[data-v-f1ae2b06]{flex-direction:column;gap:1rem;display:flex}.create-field[data-v-f1ae2b06]{flex-direction:column;gap:.375rem;display:flex}.create-field label[data-v-f1ae2b06]{text-transform:uppercase;color:#888;letter-spacing:.03em;font-size:.75rem}.create-input[data-v-f1ae2b06],.create-list[data-v-f1ae2b06]{width:100%}.create-error[data-v-f1ae2b06]{color:#f87171;font-size:.875rem}.site-tree[data-v-d0c1625f]{font-size:13px;line-height:22px}.section-label[data-v-d0c1625f]{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);padding:4px 8px;font-size:11px;font-weight:600}.section-divider[data-v-d0c1625f]{border-top:1px solid var(--color-border);margin:4px 8px}.node-item[data-v-d0c1625f]{cursor:pointer;border-radius:3px;align-items:center;gap:4px;height:22px;margin:0 2px;padding:0 6px;display:flex}.node-item[data-v-d0c1625f]:hover{background:var(--color-hover-bg)}.node-item.selected[data-v-d0c1625f]{background:#a78bfa26;box-shadow:inset 2px 0 #a78bfa}.node-icon[data-v-d0c1625f]{text-align:center;width:16px;color:var(--color-muted);opacity:.85;flex-shrink:0;font-size:10px}.node-label[data-v-d0c1625f]{white-space:nowrap;text-overflow:ellipsis;color:var(--color-muted);flex:1;overflow:hidden}.node-item.selected .node-label[data-v-d0c1625f],.node-item:hover .node-label[data-v-d0c1625f]{color:var(--color-fg)}.node-dirty-dot[data-v-d0c1625f]{background:var(--color-warning-fg);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:2px}.node-delete[data-v-d0c1625f]{opacity:0;flex-shrink:0;transition:opacity .1s}.node-item:hover .node-delete[data-v-d0c1625f]{opacity:1}.new-btns[data-v-d0c1625f]{gap:.5rem;margin-top:8px;padding:0 6px;display:flex}.node-locales[data-v-d0c1625f]{flex-shrink:0;gap:2px;margin-left:auto;display:flex}.locale-badge[data-v-d0c1625f]{letter-spacing:.05em;color:var(--color-muted);border:1px solid var(--color-border);border-radius:2px;padding:0 3px;font-size:.5rem;font-weight:700;line-height:1.4}.add-content[data-v-a05fde9a]{flex-direction:column;gap:1rem;display:flex}.add-field[data-v-a05fde9a]{flex-direction:column;gap:.375rem;display:flex}.add-field label[data-v-a05fde9a]{text-transform:uppercase;color:#888;letter-spacing:.03em;font-size:.75rem}.add-input[data-v-a05fde9a],.add-list[data-v-a05fde9a]{width:100%}.add-error[data-v-a05fde9a]{color:#f87171;font-size:.875rem}.component-tree[data-v-09491004]{font-size:13px;line-height:22px}.empty[data-v-09491004]{color:var(--color-muted)}.node-item[data-v-09491004]{cursor:pointer;border-radius:3px;align-items:center;gap:4px;height:22px;margin:0 2px;padding:0 6px;display:flex}.node-item[data-v-09491004]:hover,.node-item.hovered[data-v-09491004]{background:var(--color-hover-bg)}.node-item.selected[data-v-09491004]{box-shadow:inset 2px 0 0 var(--p-violet-400);background:#a78bfa26}.node-root[data-v-09491004]{border-bottom:1px solid var(--color-border);border-radius:0;height:26px;margin:0 0 2px;padding:0 6px;font-weight:600;line-height:26px}.node-root.selected[data-v-09491004]{box-shadow:none;border-bottom-color:var(--p-violet-400);background:#a78bfa1a}.node-icon[data-v-09491004]{text-align:center;width:16px;color:var(--color-muted);flex-shrink:0;font-size:10px}.node-label[data-v-09491004]{white-space:nowrap;text-overflow:ellipsis;color:var(--color-muted);flex:1;overflow:hidden}.node-item.selected .node-label[data-v-09491004],.node-item:hover .node-label[data-v-09491004],.node-item.hovered .node-label[data-v-09491004],.node-root .node-label[data-v-09491004]{color:var(--color-fg)}.node-error-icon[data-v-09491004]{color:var(--color-danger-fg)}.node-dirty-dot[data-v-09491004]{background:var(--color-warning-fg);border-radius:50%;flex-shrink:0;width:6px;height:6px}.node-revert[data-v-09491004]{opacity:0;flex-shrink:0;width:18px;height:18px;transition:opacity .1s}.node-item:hover .node-revert[data-v-09491004]{opacity:1}.node-actions[data-v-09491004]{opacity:0;flex-shrink:0;gap:0;transition:opacity .1s;display:flex}.node-item:hover .node-actions[data-v-09491004]{opacity:1}.add-btn[data-v-09491004]{margin-top:6px}.metadata-editor[data-v-17b57a38]{border-top:1px solid var(--color-border);margin-top:1rem;padding-top:.75rem}.meta-header[data-v-17b57a38]{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.meta-header h3[data-v-17b57a38]{text-transform:uppercase;color:var(--color-muted);letter-spacing:.05em;margin:0;font-size:.75rem}.meta-save-btn[data-v-17b57a38]{border:1px solid var(--p-primary-color);border-radius:var(--p-border-radius-sm);background:var(--p-primary-color);color:#fff;cursor:pointer;padding:.1875rem .5rem;font-family:inherit;font-size:.6875rem}.meta-save-btn[data-v-17b57a38]:disabled{opacity:.5;cursor:not-allowed}.meta-fields[data-v-17b57a38]{flex-direction:column;gap:.625rem;display:flex}.field[data-v-17b57a38]{flex-direction:column;gap:.25rem;display:flex;position:relative}.field label[data-v-17b57a38]{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-size:.6875rem;font-weight:500}.field input[data-v-17b57a38],.field textarea[data-v-17b57a38]{border:1px solid var(--color-input-border);border-radius:var(--p-border-radius-sm);background:var(--color-input-bg);color:var(--color-fg);resize:vertical;padding:.375rem .5rem;font-family:inherit;font-size:.8125rem}.field input[data-v-17b57a38]::placeholder,.field textarea[data-v-17b57a38]::placeholder{color:var(--color-muted);opacity:.6;font-style:italic}.field input[data-v-17b57a38]:focus,.field textarea[data-v-17b57a38]:focus{outline:2px solid var(--p-primary-color);outline-offset:-1px}.char-count[data-v-17b57a38]{font-variant-numeric:tabular-nums;align-self:flex-end;font-size:.625rem}.char-count.ok[data-v-17b57a38]{color:var(--color-muted)}.char-count.warn[data-v-17b57a38]{color:var(--color-warning-fg)}.char-count.over[data-v-17b57a38]{color:var(--color-danger-fg);font-weight:600}.field-checkbox[data-v-17b57a38]{flex-direction:row;align-items:flex-start;gap:.375rem}.checkbox-label[data-v-17b57a38]{color:var(--color-fg);cursor:pointer;align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.checkbox-label input[type=checkbox][data-v-17b57a38]{cursor:pointer}.checkbox-hint[data-v-17b57a38]{color:var(--color-muted);margin-left:1.25rem;font-size:.6875rem}.checkbox-hint code[data-v-17b57a38]{background:var(--color-hover-bg);border-radius:2px;padding:.0625rem .25rem;font-size:.625rem}.serp-preview[data-v-17b57a38]{background:#fff;border:1px solid #dadce0;border-radius:8px;margin-top:1rem;padding:.75rem}.serp-card[data-v-17b57a38]{font-family:Arial,sans-serif}.serp-url[data-v-17b57a38]{color:#202124;white-space:nowrap;text-overflow:ellipsis;margin-bottom:.125rem;font-size:.75rem;overflow:hidden}.serp-title[data-v-17b57a38]{color:#1a0dab;cursor:pointer;margin-bottom:.25rem;font-size:1.125rem;line-height:1.3}.serp-title[data-v-17b57a38]:hover{text-decoration:underline}.serp-desc[data-v-17b57a38]{color:#4d5156;font-size:.8125rem;line-height:1.4}.serp-noindex .serp-card[data-v-17b57a38]{opacity:.4}.serp-noindex-badge[data-v-17b57a38]{color:#b91c1c;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.6875rem;font-weight:500;display:flex}.editor-panel h3[data-v-d4d3503b]{text-transform:uppercase;color:var(--color-muted);letter-spacing:.05em;margin:0;font-size:.75rem}.editor-header[data-v-d4d3503b]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.editor-error[data-v-d4d3503b]{color:var(--color-danger-fg);text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding-top:3rem;font-size:.875rem;display:flex}.editor-error .pi[data-v-d4d3503b]{font-size:2rem}.editor-error p[data-v-d4d3503b]{max-width:300px;line-height:1.5}.editor-empty[data-v-d4d3503b]{color:var(--color-muted);flex-direction:column;align-items:center;padding-top:3rem;font-size:.875rem;display:flex}.editor-fragment-link[data-v-d4d3503b]{color:var(--color-muted);flex-direction:column;align-items:center;gap:.5rem;padding-top:3rem;font-size:.875rem;display:flex}.editor-fragment-link .pi[data-v-d4d3503b]{opacity:.3;font-size:2rem}.fragment-go-link[data-v-d4d3503b]{color:var(--color-primary);cursor:pointer;font-weight:500}.fragment-go-link[data-v-d4d3503b]:hover{text-decoration:underline}.editor-container[data-v-d4d3503b]{font-size:.875rem}.editor-no-schema[data-v-d4d3503b]{color:var(--color-muted);font-size:.875rem}.preview-panel[data-v-ae9f4f7a]{flex-direction:column;height:100%;display:flex}.preview-panel.fullscreen[data-v-ae9f4f7a]{z-index:1000;background:#f8f8fa;position:fixed;inset:0}.preview-empty[data-v-ae9f4f7a]{color:#aaa;flex-direction:column;align-items:center;padding:3rem 1rem 1rem;font-size:.875rem;display:flex}.preview-toolbar[data-v-ae9f4f7a]{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.375rem .5rem;display:flex}.preview-devices[data-v-ae9f4f7a],.preview-actions[data-v-ae9f4f7a]{align-items:center;gap:.25rem;display:flex}.device-btn[data-v-ae9f4f7a]{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:.25rem .5rem;font-size:.875rem}.device-btn[data-v-ae9f4f7a]:hover{color:#374151;border-color:#d1d5db}.device-btn.active[data-v-ae9f4f7a]{color:#a78bfa;border-color:#a78bfa}.host-page-select[data-v-ae9f4f7a]{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;padding:.2rem .4rem;font-size:.75rem}.preview-separator[data-v-ae9f4f7a]{background:#d1d5db;width:1px;height:14px;margin-left:8px;margin-right:8px}.preview-route[data-v-ae9f4f7a]{color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:9999px;align-items:center;gap:6px;height:24px;padding:2px 10px;font-family:ui-monospace,monospace;font-size:12px;display:inline-flex}.preview-route .pi[data-v-ae9f4f7a]{color:#9ca3af;font-size:10px}.preview-frame-wrapper[data-v-ae9f4f7a]{background:#e5e7eb;flex:1;justify-content:center;display:flex;overflow:auto}.preview-iframe[data-v-ae9f4f7a]{background:#fff;border:0;flex:none;height:100%;transition:width .2s}.dark .preview-panel.fullscreen{background:#09090b}.dark .preview-toolbar{border-bottom-color:#27272a}.dark .device-btn{color:#71717a}.dark .device-btn:hover{color:#e4e4e7;border-color:#3f3f46}.dark .host-page-select{color:#e0e0e0;background:#1e1e2e;border-color:#3f3f46}.dark .preview-separator{background:#3f3f46}.dark .preview-route{color:#a1a1aa;background:#18181b;border-color:#27272a}.dark .preview-route .pi{color:#52525b}.dark .preview-frame-wrapper{background:#1a1a2e}.cms-editor[data-v-56c2e312]{height:calc(100% - 60px);display:flex}.cms-left[data-v-56c2e312]{border-right:1px solid #27272a;flex-shrink:0;width:250px;overflow:auto}.cms-left-wide[data-v-56c2e312]{width:55%;max-width:900px;overflow:hidden}.cms-splitter[data-v-56c2e312]{border:0;border-radius:0;height:100%}.cms-preview[data-v-56c2e312]{flex:1;min-width:0;overflow:hidden}.cms-panel[data-v-56c2e312]{overflow:auto}.cms-panel-content[data-v-56c2e312]{padding:1rem}.playground[data-v-9cdabe71]{height:calc(100% - 60px);display:flex}.playground-sidebar[data-v-9cdabe71]{border-right:1px solid #e5e7eb;flex-shrink:0;width:220px;padding:.75rem 0;overflow-y:auto}.sidebar-header[data-v-9cdabe71]{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-bottom:.75rem;padding:0 1rem;font-size:.75rem;font-weight:700}.sidebar-loading[data-v-9cdabe71]{color:#9ca3af;padding:1rem;font-size:.8125rem}.sidebar-section[data-v-9cdabe71]{margin-bottom:.5rem}.section-label[data-v-9cdabe71]{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:.375rem 1rem;font-size:.625rem;font-weight:600}.section-label-toggle[data-v-9cdabe71]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.375rem;display:flex}.section-label-toggle[data-v-9cdabe71]:hover{color:#6b7280}.toggle-icon[data-v-9cdabe71]{font-size:.5rem}.sidebar-item[data-v-9cdabe71]{cursor:pointer;color:#6b7280;align-items:center;gap:.5rem;padding:.3125rem 1rem;font-size:.8125rem;display:flex}.sidebar-item[data-v-9cdabe71]:hover{color:#374151;background:#80808014}.sidebar-item.active[data-v-9cdabe71]{color:#667eea;background:#667eea1a}.item-icon[data-v-9cdabe71]{text-align:center;flex-shrink:0;width:14px;font-size:.6875rem}.item-name[data-v-9cdabe71]{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar-empty[data-v-9cdabe71]{color:#9ca3af;padding:1.5rem 1rem;font-size:.8125rem;line-height:1.6}.sidebar-empty .hint[data-v-9cdabe71]{margin-top:.75rem}.sidebar-empty code[data-v-9cdabe71]{background:#8080801a;border-radius:3px;padding:1px 4px;font-family:monospace;font-size:.75rem}.playground-main[data-v-9cdabe71]{flex-direction:column;flex:1;display:flex;overflow:hidden}.main-empty[data-v-9cdabe71]{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;height:100%;font-size:.875rem;display:flex}.main-toolbar[data-v-9cdabe71]{border-bottom:1px solid #e5e7eb;flex-shrink:0;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.8125rem;display:flex}.toolbar-label[data-v-9cdabe71]{color:#6b7280;flex:1;align-items:baseline;gap:.5rem;display:flex}.toolbar-type[data-v-9cdabe71]{text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem}.toolbar-label strong[data-v-9cdabe71]{color:#374151;font-size:.875rem}.toolbar-hint[data-v-9cdabe71]{color:#9ca3af;font-size:.6875rem;font-style:italic}.toolbar-btn[data-v-9cdabe71]{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;display:flex}.toolbar-btn[data-v-9cdabe71]:hover{color:#374151;background:#80808014}.main-body[data-v-9cdabe71]{flex:1;display:flex;overflow:hidden}.main-content[data-v-9cdabe71]{flex:1;min-width:0;padding:1.5rem;overflow-y:auto}.mount-container[data-v-9cdabe71]{max-width:600px}.mount-error[data-v-9cdabe71]{color:#dc2626;background:#dc262614;border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.8125rem}.value-inspector[data-v-9cdabe71]{border-left:1px solid #e5e7eb;flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.inspector-header[data-v-9cdabe71]{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;border-bottom:1px solid #e5e7eb;flex-shrink:0;padding:.5rem .75rem;font-size:.625rem;font-weight:600}.inspector-value[data-v-9cdabe71]{color:#374151;white-space:pre-wrap;word-break:break-word;flex:1;margin:0;padding:.75rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;line-height:1.7}.inspector-value .jv-key[data-v-9cdabe71]{color:#6b7280}.inspector-value .jv-str[data-v-9cdabe71]{color:#16a34a}.inspector-value .jv-num[data-v-9cdabe71]{color:#d97706}.inspector-value .jv-bool[data-v-9cdabe71]{color:#7c3aed}.inspector-value .jv-null[data-v-9cdabe71]{color:#9ca3af}.dark .playground .playground-sidebar{border-right-color:#27272a}.dark .playground .sidebar-header{color:#666}.dark .playground .section-label{color:#555}.dark .playground .section-label-toggle:hover{color:#999}.dark .playground .sidebar-item{color:#bbb}.dark .playground .sidebar-item:hover{color:#e4e4e7;background:#ffffff0d}.dark .playground .sidebar-item.active{color:#667eea;background:#667eea26}.dark .playground .main-toolbar{border-bottom-color:#27272a}.dark .playground .toolbar-label{color:#999}.dark .playground .toolbar-label strong{color:#e4e4e7}.dark .playground .toolbar-hint{color:#555}.dark .playground .toolbar-btn{color:#999;border-color:#333}.dark .playground .toolbar-btn:hover{color:#e4e4e7;background:#ffffff0d}.dark .playground .mount-error{color:#f87171;background:#f8717114}.dark .playground .value-inspector{background:#0c0c14;border-left-color:#27272a}.dark .playground .inspector-header{color:#666;border-bottom-color:#27272a}.dark .playground .inspector-value{color:#e4e4e7}.dark .playground .inspector-value .jv-key{color:#8888a0}.dark .playground .inspector-value .jv-str{color:#4ade80}.dark .playground .inspector-value .jv-num{color:#fbbf24}.dark .playground .inspector-value .jv-bool{color:#a78bfa}.dark .playground .inspector-value .jv-null{color:#52525b}:root{--color-bg:var(--p-content-background);--color-fg:var(--p-text-color);--color-muted:var(--p-text-muted-color);--color-border:var(--p-content-border-color);--color-hover-bg:var(--p-content-hover-background);--color-input-bg:var(--p-form-field-background);--color-input-border:var(--p-form-field-border-color);--color-primary:var(--p-primary-color);--color-danger-bg:var(--p-red-50);--color-danger-fg:var(--p-red-700);--color-success-bg:var(--p-green-50);--color-success-fg:var(--p-green-700);--color-warning-bg:var(--p-amber-50);--color-warning-fg:var(--p-amber-900);--color-info-bg:var(--p-blue-50);--color-info-fg:var(--p-blue-900);--color-env-prod-bg:var(--p-red-100);--color-env-prod-fg:var(--p-red-800);--color-env-staging-bg:var(--p-amber-100);--color-env-staging-fg:var(--p-amber-800);--color-change-added:var(--p-green-700);--color-change-modified:var(--p-amber-700);--color-change-deleted:var(--p-gray-500);--color-bg-code:var(--p-surface-100);--color-bg-chip:var(--p-content-hover-background)}.dark{--color-danger-bg:var(--p-red-950);--color-danger-fg:var(--p-red-300);--color-success-bg:var(--p-green-950);--color-success-fg:var(--p-green-400);--color-warning-bg:var(--p-amber-950);--color-warning-fg:var(--p-amber-300);--color-info-bg:var(--p-blue-950);--color-info-fg:var(--p-blue-300);--color-env-prod-bg:var(--p-red-950);--color-env-prod-fg:var(--p-red-300);--color-env-staging-bg:var(--p-amber-950);--color-env-staging-fg:var(--p-amber-300);--color-change-added:var(--p-green-400);--color-change-modified:var(--p-amber-400);--color-change-deleted:var(--p-gray-400);--color-bg-code:var(--p-surface-900)}