blume 2.0.2 → 2.1.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 (601) hide show
  1. package/AGENTS.md +1 -0
  2. package/CHANGELOG.md +113 -0
  3. package/README.md +1 -1
  4. package/dist/cli/{chunk-6k4ftwze.js → chunk-0gz36akr.js} +18 -2
  5. package/dist/cli/{chunk-6k4ftwze.js.map → chunk-0gz36akr.js.map} +3 -3
  6. package/dist/cli/{chunk-zp79m0ts.js → chunk-1n228xqb.js} +2 -2
  7. package/dist/cli/{chunk-ddndchfr.js → chunk-2f3ndkpw.js} +57 -29
  8. package/dist/cli/chunk-2f3ndkpw.js.map +14 -0
  9. package/dist/cli/{chunk-fsmrqk8a.js → chunk-2f7n4qzt.js} +8 -2
  10. package/dist/cli/{chunk-fsmrqk8a.js.map → chunk-2f7n4qzt.js.map} +3 -3
  11. package/dist/cli/{chunk-ppzjqwx2.js → chunk-2n4ps1b3.js} +17 -18
  12. package/dist/cli/{chunk-ppzjqwx2.js.map → chunk-2n4ps1b3.js.map} +3 -3
  13. package/dist/cli/{chunk-5r8g91qn.js → chunk-43zcf4gz.js} +398 -159
  14. package/dist/cli/chunk-43zcf4gz.js.map +36 -0
  15. package/dist/cli/chunk-4ejxbzee.js +39 -0
  16. package/dist/cli/chunk-4ejxbzee.js.map +10 -0
  17. package/dist/cli/{chunk-hr8ne106.js → chunk-4h8z9vv5.js} +296 -77
  18. package/dist/cli/chunk-4h8z9vv5.js.map +16 -0
  19. package/dist/cli/{chunk-k7pj68a8.js → chunk-5cg2rzgf.js} +18 -16
  20. package/dist/cli/{chunk-k7pj68a8.js.map → chunk-5cg2rzgf.js.map} +2 -2
  21. package/dist/cli/{chunk-h2ez8dzb.js → chunk-5ffywsmb.js} +4 -4
  22. package/dist/cli/{chunk-g698a744.js → chunk-5wj2qwn2.js} +5 -5
  23. package/dist/cli/chunk-6bm0xpgd.js +18 -0
  24. package/dist/cli/chunk-6bm0xpgd.js.map +10 -0
  25. package/dist/cli/{chunk-3yce002v.js → chunk-713mngdq.js} +15 -8
  26. package/dist/cli/chunk-713mngdq.js.map +14 -0
  27. package/dist/cli/{chunk-91ws1n6j.js → chunk-9geymqns.js} +17 -15
  28. package/dist/cli/{chunk-91ws1n6j.js.map → chunk-9geymqns.js.map} +2 -2
  29. package/dist/cli/{chunk-6dtt0zfn.js → chunk-9xr4dgee.js} +27 -18
  30. package/dist/cli/chunk-9xr4dgee.js.map +10 -0
  31. package/dist/cli/{chunk-sqw4ekg1.js → chunk-amrb6hgh.js} +2 -2
  32. package/dist/cli/chunk-cm89scdv.js +443 -0
  33. package/dist/cli/chunk-cm89scdv.js.map +11 -0
  34. package/dist/cli/{chunk-wdrt2k2v.js → chunk-cmtcnh9f.js} +90 -26
  35. package/dist/cli/chunk-cmtcnh9f.js.map +10 -0
  36. package/dist/cli/chunk-cy5bm0j0.js +104 -0
  37. package/dist/cli/chunk-cy5bm0j0.js.map +11 -0
  38. package/dist/cli/{chunk-7mbqtmgb.js → chunk-e7vvk5ya.js} +21 -12
  39. package/dist/cli/chunk-e7vvk5ya.js.map +10 -0
  40. package/dist/cli/{chunk-qkb5a8sa.js → chunk-g2z9x01v.js} +6 -98
  41. package/dist/cli/chunk-g2z9x01v.js.map +10 -0
  42. package/dist/cli/{chunk-273ygyr4.js → chunk-ga0pf4aj.js} +7 -7
  43. package/dist/cli/{chunk-273ygyr4.js.map → chunk-ga0pf4aj.js.map} +3 -3
  44. package/dist/cli/{chunk-h7k3nq3v.js → chunk-gp84za0h.js} +2 -2
  45. package/dist/cli/{chunk-hqp2ajnh.js → chunk-h2a48yhd.js} +195 -73
  46. package/dist/cli/chunk-h2a48yhd.js.map +36 -0
  47. package/dist/cli/{chunk-pbg5a4s3.js → chunk-jnwj5kjj.js} +71 -47
  48. package/dist/cli/chunk-jnwj5kjj.js.map +19 -0
  49. package/dist/cli/chunk-kwrg63tm.js +31 -0
  50. package/dist/cli/chunk-kwrg63tm.js.map +10 -0
  51. package/dist/cli/{chunk-8g8ytmgx.js → chunk-nd1821sk.js} +21 -19
  52. package/dist/cli/{chunk-8g8ytmgx.js.map → chunk-nd1821sk.js.map} +2 -2
  53. package/dist/cli/{chunk-w4bxdvsa.js → chunk-ntv4qrt7.js} +17 -15
  54. package/dist/cli/{chunk-w4bxdvsa.js.map → chunk-ntv4qrt7.js.map} +2 -2
  55. package/dist/cli/{chunk-bfwp9vp6.js → chunk-p804f3pe.js} +7 -7
  56. package/dist/cli/{chunk-4e9b9ra6.js → chunk-py62fewh.js} +6 -6
  57. package/dist/cli/{chunk-4e9b9ra6.js.map → chunk-py62fewh.js.map} +1 -1
  58. package/dist/cli/chunk-q3wxxq39.js +126 -0
  59. package/dist/cli/chunk-q3wxxq39.js.map +11 -0
  60. package/dist/cli/{chunk-j85scx15.js → chunk-rekqz4qg.js} +142 -46
  61. package/dist/cli/chunk-rekqz4qg.js.map +10 -0
  62. package/dist/cli/{chunk-00gs3wqs.js → chunk-ta27feev.js} +1 -1
  63. package/dist/cli/{chunk-v6ya5kcb.js → chunk-xkz5xbtv.js} +4031 -1132
  64. package/dist/cli/chunk-xkz5xbtv.js.map +213 -0
  65. package/dist/cli/{chunk-bbnwccaz.js → chunk-y4ykbark.js} +2 -2
  66. package/dist/cli/{chunk-n1yg3tj3.js → chunk-y5h4r2y0.js} +6 -6
  67. package/dist/cli/{chunk-n1yg3tj3.js.map → chunk-y5h4r2y0.js.map} +3 -3
  68. package/dist/cli/{chunk-nfcyttvj.js → chunk-yj17vs39.js} +9 -9
  69. package/dist/cli/{chunk-nfcyttvj.js.map → chunk-yj17vs39.js.map} +1 -1
  70. package/dist/cli/{chunk-7vtckvaw.js → chunk-yxmk4pec.js} +16 -14
  71. package/dist/cli/{chunk-7vtckvaw.js.map → chunk-yxmk4pec.js.map} +2 -2
  72. package/dist/cli/{chunk-gs7r695n.js → chunk-zccbjcj0.js} +22 -8
  73. package/dist/cli/{chunk-gs7r695n.js.map → chunk-zccbjcj0.js.map} +3 -3
  74. package/dist/cli/{chunk-xh43dwgw.js → chunk-zf748avv.js} +415 -225
  75. package/dist/cli/chunk-zf748avv.js.map +37 -0
  76. package/dist/cli/{chunk-d1v5rhy0.js → chunk-zhvd6adm.js} +16 -14
  77. package/dist/cli/{chunk-d1v5rhy0.js.map → chunk-zhvd6adm.js.map} +2 -2
  78. package/dist/cli/index.js +28 -20
  79. package/dist/cli/index.js.map +5 -5
  80. package/dist/types/ai/agent-surface.d.ts +8 -7
  81. package/dist/types/ai/ai-catalog.d.ts +7 -0
  82. package/dist/types/ai/ask-context.d.ts +22 -0
  83. package/dist/types/ai/ask.d.ts +271 -58
  84. package/dist/types/ai/index.d.ts +2 -2
  85. package/dist/types/ai/link-headers.d.ts +8 -1
  86. package/dist/types/ai/openapi-components.d.ts +5 -2
  87. package/dist/types/ai/relative-links.d.ts +9 -7
  88. package/dist/types/ai/site-skill.d.ts +26 -0
  89. package/dist/types/ai/skills.d.ts +20 -1
  90. package/dist/types/ai/tar.d.ts +1 -3
  91. package/dist/types/analytics/index.d.ts +2 -0
  92. package/dist/types/analytics/one-dollar-stats.d.ts +48 -0
  93. package/dist/types/analytics/schema.d.ts +14 -0
  94. package/dist/types/astro/integration.d.ts +11 -2
  95. package/dist/types/captcha/hcaptcha.d.ts +27 -0
  96. package/dist/types/captcha/index.d.ts +28 -0
  97. package/dist/types/captcha/schema.d.ts +29 -0
  98. package/dist/types/captcha/turnstile.d.ts +28 -0
  99. package/dist/types/components/content/api-field.d.ts +59 -0
  100. package/dist/types/components/content/api-page.d.ts +95 -0
  101. package/dist/types/components/layout/nav-utils.d.ts +26 -0
  102. package/dist/types/components/openapi/helpers.d.ts +137 -0
  103. package/dist/types/components/openapi/security.d.ts +85 -0
  104. package/dist/types/consent/ethyca.d.ts +48 -0
  105. package/dist/types/consent/index.d.ts +37 -0
  106. package/dist/types/consent/native.d.ts +28 -0
  107. package/dist/types/consent/osano.d.ts +42 -0
  108. package/dist/types/consent/schema.d.ts +110 -0
  109. package/dist/types/core/base-path.d.ts +21 -7
  110. package/dist/types/core/config-input.d.ts +196 -27
  111. package/dist/types/core/data.d.ts +49 -4
  112. package/dist/types/core/directive-diagnostics.d.ts +12 -0
  113. package/dist/types/core/footer.d.ts +8 -0
  114. package/dist/types/core/heading-markers.d.ts +5 -7
  115. package/dist/types/core/i18n-ui.d.ts +86 -0
  116. package/dist/types/core/i18n.d.ts +2 -0
  117. package/dist/types/core/includes.d.ts +8 -2
  118. package/dist/types/core/last-modified.d.ts +10 -0
  119. package/dist/types/core/localizable.d.ts +7 -0
  120. package/dist/types/core/meta.d.ts +8 -0
  121. package/dist/types/core/page-modes.d.ts +29 -0
  122. package/dist/types/core/redirect-patterns.d.ts +144 -0
  123. package/dist/types/core/related.d.ts +40 -0
  124. package/dist/types/core/schema.d.ts +558 -56
  125. package/dist/types/core/sources/lower.d.ts +29 -16
  126. package/dist/types/core/sources/normalize.d.ts +13 -1
  127. package/dist/types/core/sources/read.d.ts +5 -0
  128. package/dist/types/core/sources/watch.d.ts +12 -5
  129. package/dist/types/core/standard-schema.d.ts +5 -0
  130. package/dist/types/core/types.d.ts +1 -1
  131. package/dist/types/core/variables.d.ts +42 -0
  132. package/dist/types/deploy/artifacts.d.ts +6 -4
  133. package/dist/types/deploy/headers.d.ts +5 -0
  134. package/dist/types/deploy/node-headers.d.ts +13 -2
  135. package/dist/types/deploy/platforms/cloudflare.d.ts +5 -0
  136. package/dist/types/deploy/platforms/netlify.d.ts +7 -0
  137. package/dist/types/deploy/platforms/types.d.ts +8 -0
  138. package/dist/types/deploy/platforms/vercel.d.ts +6 -0
  139. package/dist/types/deploy/redirects.d.ts +61 -22
  140. package/dist/types/deploy/vercel-negotiation.d.ts +9 -0
  141. package/dist/types/markdown/code-title.d.ts +17 -0
  142. package/dist/types/markdown/directives.d.ts +62 -0
  143. package/dist/types/markdown/features.d.ts +24 -2
  144. package/dist/types/markdown/mdast.d.ts +63 -0
  145. package/dist/types/narration/build.d.ts +70 -0
  146. package/dist/types/narration/provider.d.ts +26 -0
  147. package/dist/types/narration/script.d.ts +154 -0
  148. package/dist/types/openapi/asyncapi.d.ts +4 -2
  149. package/dist/types/openapi/model.d.ts +12 -6
  150. package/dist/types/openapi/overlay.d.ts +54 -0
  151. package/dist/types/openapi/parse.d.ts +13 -0
  152. package/dist/types/openapi/references.d.ts +14 -4
  153. package/dist/types/ratelimit/cloudflare.d.ts +39 -0
  154. package/dist/types/ratelimit/index.d.ts +27 -0
  155. package/dist/types/ratelimit/memory.d.ts +36 -0
  156. package/dist/types/ratelimit/schema.d.ts +111 -0
  157. package/dist/types/ratelimit/upstash.d.ts +21 -0
  158. package/dist/types/ratelimit/wrangler.d.ts +23 -0
  159. package/dist/types/reference/asyncapi.d.ts +10 -10
  160. package/dist/types/reference/graphql.d.ts +13 -10
  161. package/dist/types/reference/openapi.d.ts +33 -12
  162. package/dist/types/reference/options.d.ts +45 -5
  163. package/dist/types/reference/scalar.d.ts +13 -0
  164. package/dist/types/reference/schema.d.ts +60 -36
  165. package/dist/types/search/documents.d.ts +12 -1
  166. package/dist/types/search/orama-index.d.ts +4 -0
  167. package/dist/types/seo/metatags.d.ts +20 -0
  168. package/docs/02-deployment.mdx +44 -6
  169. package/docs/03-upgrading.mdx +4 -4
  170. package/docs/04-migrating.mdx +1 -1
  171. package/docs/08-faq.mdx +1 -1
  172. package/docs/advanced/changelog.mdx +2 -2
  173. package/docs/advanced/custom-pages.mdx +3 -3
  174. package/docs/advanced/skills.mdx +14 -0
  175. package/docs/cli/audit.mdx +38 -2
  176. package/docs/cli/evals.mdx +3 -3
  177. package/docs/cli/index.mdx +1 -0
  178. package/docs/cli/translate.mdx +3 -3
  179. package/docs/cli/version.mdx +1 -1
  180. package/docs/configuration/analytics.mdx +22 -1
  181. package/docs/configuration/assistant.mdx +188 -36
  182. package/docs/configuration/consent.mdx +100 -0
  183. package/docs/configuration/customization.mdx +6 -4
  184. package/docs/configuration/index.mdx +63 -5
  185. package/docs/configuration/meta.ts +3 -0
  186. package/docs/configuration/narration.mdx +119 -0
  187. package/docs/configuration/rate-limiting.mdx +69 -0
  188. package/docs/configuration/search.mdx +30 -2
  189. package/docs/configuration/theming.mdx +3 -1
  190. package/docs/content/components.mdx +107 -1
  191. package/docs/content/frontmatter.mdx +77 -1
  192. package/docs/content/i18n.mdx +40 -3
  193. package/docs/content/includes.mdx +16 -0
  194. package/docs/content/index.mdx +4 -2
  195. package/docs/content/islands.mdx +1 -1
  196. package/docs/content/meta.mdx +4 -1
  197. package/docs/content/meta.ts +1 -0
  198. package/docs/content/navigation.mdx +28 -6
  199. package/docs/content/sources/contentful.mdx +32 -0
  200. package/docs/content/sources/custom.mdx +39 -0
  201. package/docs/content/sources/github-releases.mdx +31 -0
  202. package/docs/content/sources/index.mdx +91 -0
  203. package/docs/content/sources/meta.ts +16 -0
  204. package/docs/content/sources/notion.mdx +32 -0
  205. package/docs/content/sources/obsidian.mdx +37 -0
  206. package/docs/content/sources/payload.mdx +30 -0
  207. package/docs/content/sources/remote-mdx.mdx +40 -0
  208. package/docs/content/sources/sanity.mdx +29 -0
  209. package/docs/content/sources/strapi.mdx +31 -0
  210. package/docs/content/syntax.mdx +81 -2
  211. package/docs/content/variables.mdx +41 -0
  212. package/docs/content/versioning.mdx +1 -1
  213. package/docs/discoverability/agent-discovery.mdx +30 -3
  214. package/docs/discoverability/index.mdx +3 -2
  215. package/docs/discoverability/llms-txt.mdx +1 -1
  216. package/docs/discoverability/markdown.mdx +2 -2
  217. package/docs/discoverability/metadata.mdx +17 -0
  218. package/docs/discoverability/open-graph.mdx +5 -3
  219. package/docs/discoverability/rss.mdx +1 -1
  220. package/docs/references/api-pages.mdx +74 -0
  221. package/docs/references/asyncapi.mdx +2 -2
  222. package/docs/references/graphql.mdx +3 -3
  223. package/docs/references/meta.ts +1 -1
  224. package/docs/references/openapi.mdx +106 -5
  225. package/docs/references/scalar.mdx +3 -1
  226. package/package.json +36 -1
  227. package/skills/blume/SKILL.md +3 -0
  228. package/skills/blume-migrate/SKILL.md +5 -5
  229. package/skills/blume-migrate/references/docusaurus.md +3 -3
  230. package/skills/blume-migrate/references/fumadocs.md +1 -1
  231. package/skills/blume-migrate/references/mintlify.md +37 -19
  232. package/skills/blume-migrate/references/nextra.md +3 -3
  233. package/skills/blume-migrate/references/starlight.md +2 -1
  234. package/skills/blume-migrate/scripts/mintlify-codemod.mjs +67 -16
  235. package/skills/blume-write-skill/SKILL.md +82 -0
  236. package/src/ai/agent-readability.ts +4 -3
  237. package/src/ai/agent-surface.ts +9 -7
  238. package/src/ai/ai-catalog.ts +12 -5
  239. package/src/ai/api/handlers.ts +2 -2
  240. package/src/ai/api/spec.ts +2 -2
  241. package/src/ai/api-catalog.ts +6 -2
  242. package/src/ai/ask-context.ts +73 -20
  243. package/src/ai/ask-data.ts +6 -0
  244. package/src/ai/ask-tools.ts +142 -0
  245. package/src/ai/ask.ts +354 -76
  246. package/src/ai/changelog-markdown.ts +2 -2
  247. package/src/ai/component-markdown.ts +75 -0
  248. package/src/ai/cors.ts +2 -0
  249. package/src/ai/index.ts +12 -0
  250. package/src/ai/link-headers.ts +14 -5
  251. package/src/ai/llms.ts +24 -9
  252. package/src/ai/markdown.ts +2 -1
  253. package/src/ai/mcp/data.ts +6 -0
  254. package/src/ai/mcp/discovery.ts +2 -2
  255. package/src/ai/mcp/query.ts +2 -2
  256. package/src/ai/mcp/server.ts +2 -2
  257. package/src/ai/openapi-components.ts +31 -9
  258. package/src/ai/relative-links.ts +42 -26
  259. package/src/ai/serializers.ts +2 -1
  260. package/src/ai/site-skill.ts +274 -0
  261. package/src/ai/skills.ts +49 -3
  262. package/src/ai/tar.ts +139 -12
  263. package/src/ai/write-skill.ts +97 -0
  264. package/src/analytics/head.ts +4 -0
  265. package/src/analytics/index.ts +5 -0
  266. package/src/analytics/one-dollar-stats.ts +86 -0
  267. package/src/analytics/schema.ts +2 -0
  268. package/src/astro/generate.ts +133 -19
  269. package/src/astro/include-hmr.ts +31 -12
  270. package/src/astro/include-refresh.ts +19 -8
  271. package/src/astro/index.ts +1 -0
  272. package/src/astro/integration.ts +143 -14
  273. package/src/astro/module-types.ts +6 -0
  274. package/src/astro/runtime-modules.ts +28 -13
  275. package/src/astro/templates.ts +364 -67
  276. package/src/astro/variables.ts +31 -0
  277. package/src/audit/catalog.ts +19 -0
  278. package/src/audit/checks/contrast.ts +183 -0
  279. package/src/audit/checks/i18n.ts +2 -3
  280. package/src/audit/checks/indexability.ts +2 -3
  281. package/src/audit/checks/links.ts +13 -13
  282. package/src/audit/checks/sitemap.ts +2 -3
  283. package/src/audit/graph.ts +3 -1
  284. package/src/audit/redirects.ts +46 -15
  285. package/src/audit/run.ts +14 -9
  286. package/src/audit/snapshot.ts +5 -0
  287. package/src/audit/types.ts +2 -1
  288. package/src/blume-modules.d.ts +7 -0
  289. package/src/captcha/client.ts +152 -0
  290. package/src/captcha/hcaptcha.ts +36 -0
  291. package/src/captcha/index.ts +28 -0
  292. package/src/captcha/schema.ts +32 -0
  293. package/src/captcha/turnstile.ts +38 -0
  294. package/src/captcha/verify.ts +71 -0
  295. package/src/cli/args.ts +32 -0
  296. package/src/cli/command-meta.ts +5 -0
  297. package/src/cli/commands/audit.ts +4 -1
  298. package/src/cli/commands/doctor.ts +25 -17
  299. package/src/cli/commands/eval.ts +19 -11
  300. package/src/cli/commands/skill.ts +96 -0
  301. package/src/cli/commands/translate.ts +9 -12
  302. package/src/cli/commands/validate.ts +3 -1
  303. package/src/cli/dev-lock.ts +157 -37
  304. package/src/cli/index.ts +5 -0
  305. package/src/cli/report-format.ts +11 -6
  306. package/src/cli/required-secrets.ts +71 -29
  307. package/src/components/BlumePage.astro +2 -0
  308. package/src/components/colors.ts +19 -0
  309. package/src/components/content/ApiEndpoint.astro +18 -0
  310. package/src/components/content/ApiField.astro +79 -0
  311. package/src/components/content/ApiPlayground.astro +62 -0
  312. package/src/components/content/ApiRail.astro +19 -0
  313. package/src/components/content/Badge.astro +5 -3
  314. package/src/components/content/Color.astro +1 -0
  315. package/src/components/content/Component.astro +2 -2
  316. package/src/components/content/FileTree.astro +1 -0
  317. package/src/components/content/GithubInfo.astro +1 -0
  318. package/src/components/content/Panel.astro +1 -0
  319. package/src/components/content/ParamField.astro +25 -0
  320. package/src/components/content/RequestExample.astro +17 -0
  321. package/src/components/content/ResponseExample.astro +17 -0
  322. package/src/components/content/ResponseField.astro +32 -0
  323. package/src/components/content/Step.astro +1 -0
  324. package/src/components/content/Tab.astro +0 -1
  325. package/src/components/content/Tabs.astro +4 -0
  326. package/src/components/content/Tile.astro +1 -0
  327. package/src/components/content/Tooltip.astro +1 -0
  328. package/src/components/content/Tree.astro +1 -0
  329. package/src/components/content/TypeTable.astro +4 -1
  330. package/src/components/content/View.astro +21 -0
  331. package/src/components/content/ViewSwitcher.astro +168 -0
  332. package/src/components/content/api-field.ts +100 -0
  333. package/src/components/content/api-page.ts +224 -0
  334. package/src/components/content/badge-color.ts +5 -2
  335. package/src/components/content/base-href.ts +13 -36
  336. package/src/components/content/view-switcher.ts +71 -0
  337. package/src/components/index.ts +2 -0
  338. package/src/components/islands/Assistant.astro +10 -1
  339. package/src/components/islands/assistant.tsx +125 -18
  340. package/src/components/islands/base-path.ts +47 -10
  341. package/src/components/islands/code-question.ts +62 -0
  342. package/src/components/islands/hooks.ts +145 -40
  343. package/src/components/islands/support-link.ts +68 -0
  344. package/src/components/islands/webmcp.ts +4 -2
  345. package/src/components/layout/Analytics.astro +11 -2
  346. package/src/components/layout/Banner.astro +14 -10
  347. package/src/components/layout/Breadcrumbs.astro +11 -4
  348. package/src/components/layout/ConsentBanner.astro +62 -0
  349. package/src/components/layout/ConsentHead.astro +38 -0
  350. package/src/components/layout/Directory.astro +94 -0
  351. package/src/components/layout/DiscoveryLinks.astro +9 -5
  352. package/src/components/layout/DrawerSwitchers.astro +51 -0
  353. package/src/components/layout/Empty.astro +2 -2
  354. package/src/components/layout/Header.astro +124 -82
  355. package/src/components/layout/LanguageSwitcher.astro +50 -17
  356. package/src/components/layout/NarrationPlayer.astro +1085 -0
  357. package/src/components/layout/NavSelector.astro +35 -9
  358. package/src/components/layout/NavTabMenu.astro +3 -3
  359. package/src/components/layout/NavTree.astro +16 -6
  360. package/src/components/layout/PageActions.astro +4 -3
  361. package/src/components/layout/PageFeedback.astro +54 -49
  362. package/src/components/layout/PageLayout.astro +78 -9
  363. package/src/components/layout/Pagination.astro +3 -3
  364. package/src/components/layout/ReferenceLayout.astro +17 -6
  365. package/src/components/layout/RelatedPages.astro +42 -0
  366. package/src/components/layout/RootLayout.astro +313 -50
  367. package/src/components/layout/Search.astro +64 -30
  368. package/src/components/layout/SiteFooter.astro +124 -0
  369. package/src/components/layout/SiteMetatags.astro +16 -0
  370. package/src/components/layout/VersionBanner.astro +2 -2
  371. package/src/components/layout/analytics-client.ts +12 -0
  372. package/src/components/layout/consent/native.ts +79 -0
  373. package/src/components/layout/consent/types.ts +37 -0
  374. package/src/components/layout/footer-links.ts +53 -0
  375. package/src/components/layout/footer-socials.ts +87 -0
  376. package/src/components/layout/locale-redirect.ts +107 -0
  377. package/src/components/layout/nav-utils.ts +83 -0
  378. package/src/components/layout/page-feedback.ts +96 -0
  379. package/src/components/layout/search/analytics.ts +98 -0
  380. package/src/components/layout/search/flexsearch.ts +17 -5
  381. package/src/components/layout/search/orama-cloud.ts +26 -14
  382. package/src/components/layout/search/types.ts +20 -0
  383. package/src/components/layout/search/typesense.ts +5 -1
  384. package/src/components/layout/toc-active.ts +41 -0
  385. package/src/components/layout/toc-element.ts +8 -14
  386. package/src/components/openapi/ApiTagOperations.astro +2 -2
  387. package/src/components/openapi/AsyncApiOperation.astro +7 -4
  388. package/src/components/openapi/GraphqlChip.astro +2 -2
  389. package/src/components/openapi/Operation.astro +163 -13
  390. package/src/components/openapi/Playground.astro +4 -4
  391. package/src/components/openapi/RequestBody.astro +6 -4
  392. package/src/components/openapi/RequestPanel.astro +63 -8
  393. package/src/components/openapi/Responses.astro +6 -4
  394. package/src/components/openapi/SchemaTable.astro +7 -0
  395. package/src/components/openapi/async-snippets.ts +4 -4
  396. package/src/components/openapi/async.ts +38 -6
  397. package/src/components/openapi/code-samples.ts +97 -0
  398. package/src/components/openapi/helpers.ts +19 -9
  399. package/src/components/openapi/message-composer.ts +6 -1
  400. package/src/components/openapi/message.ts +17 -2
  401. package/src/components/openapi/operation-model.ts +81 -11
  402. package/src/components/openapi/panel.ts +4 -2
  403. package/src/components/openapi/param-style.ts +181 -0
  404. package/src/components/openapi/playground-client.ts +73 -16
  405. package/src/components/openapi/request.ts +190 -26
  406. package/src/components/openapi/schema-tree.ts +30 -24
  407. package/src/components/openapi/security.ts +6 -3
  408. package/src/components/openapi/snippets.ts +953 -13
  409. package/src/components/openapi/ws-client.ts +18 -2
  410. package/src/components/props.ts +6 -0
  411. package/src/consent/client.ts +95 -0
  412. package/src/consent/clients.ts +19 -0
  413. package/src/consent/ethyca.ts +71 -0
  414. package/src/consent/head.ts +24 -0
  415. package/src/consent/index.ts +37 -0
  416. package/src/consent/init.ts +29 -0
  417. package/src/consent/native.ts +36 -0
  418. package/src/consent/osano.ts +59 -0
  419. package/src/consent/schema.ts +30 -0
  420. package/src/core/base-path.ts +62 -16
  421. package/src/core/builtin-tags.ts +5 -0
  422. package/src/core/client-address.ts +19 -0
  423. package/src/core/config-input.ts +203 -27
  424. package/src/core/data.ts +44 -4
  425. package/src/core/diagnostics.ts +5 -2
  426. package/src/core/directive-diagnostics.ts +99 -0
  427. package/src/core/footer.ts +26 -0
  428. package/src/core/frontmatter.ts +21 -18
  429. package/src/core/graph.ts +39 -36
  430. package/src/core/heading-markers.ts +5 -18
  431. package/src/core/i18n-ui.ts +82 -2
  432. package/src/core/i18n.ts +31 -3
  433. package/src/core/includes.ts +20 -3
  434. package/src/core/last-modified.ts +25 -3
  435. package/src/core/links.ts +16 -2
  436. package/src/core/locale-links.ts +5 -1
  437. package/src/core/localizable.ts +26 -0
  438. package/src/core/meta.ts +33 -19
  439. package/src/core/navigation.ts +71 -20
  440. package/src/core/page-modes.ts +56 -0
  441. package/src/core/project-graph.ts +138 -10
  442. package/src/core/redirect-patterns.ts +491 -0
  443. package/src/core/related.ts +131 -0
  444. package/src/core/schema.ts +342 -68
  445. package/src/core/sources/contentful-rich-text.ts +27 -20
  446. package/src/core/sources/filesystem.ts +20 -2
  447. package/src/core/sources/github-releases.ts +25 -6
  448. package/src/core/sources/lexical.ts +23 -18
  449. package/src/core/sources/lower.ts +201 -34
  450. package/src/core/sources/mdx-remote.ts +51 -16
  451. package/src/core/sources/normalize.ts +327 -91
  452. package/src/core/sources/notion.ts +52 -25
  453. package/src/core/sources/obsidian.ts +23 -6
  454. package/src/core/sources/portable-text.ts +38 -21
  455. package/src/core/sources/read.ts +8 -3
  456. package/src/core/sources/strapi-blocks.ts +20 -16
  457. package/src/core/sources/watch.ts +20 -7
  458. package/src/core/standard-schema.ts +10 -6
  459. package/src/core/types.ts +1 -1
  460. package/src/core/ui-packs/ar.ts +43 -0
  461. package/src/core/ui-packs/bg.ts +45 -0
  462. package/src/core/ui-packs/bn.ts +43 -0
  463. package/src/core/ui-packs/ca.ts +46 -0
  464. package/src/core/ui-packs/cs.ts +44 -0
  465. package/src/core/ui-packs/da.ts +45 -0
  466. package/src/core/ui-packs/de.ts +46 -0
  467. package/src/core/ui-packs/el.ts +45 -0
  468. package/src/core/ui-packs/es.ts +46 -0
  469. package/src/core/ui-packs/fa.ts +45 -0
  470. package/src/core/ui-packs/fi.ts +45 -0
  471. package/src/core/ui-packs/fr.ts +46 -0
  472. package/src/core/ui-packs/he.ts +43 -0
  473. package/src/core/ui-packs/hi.ts +44 -0
  474. package/src/core/ui-packs/hr.ts +45 -0
  475. package/src/core/ui-packs/hu.ts +44 -0
  476. package/src/core/ui-packs/id.ts +45 -0
  477. package/src/core/ui-packs/it.ts +45 -0
  478. package/src/core/ui-packs/ja.ts +45 -0
  479. package/src/core/ui-packs/ko.ts +44 -0
  480. package/src/core/ui-packs/nl.ts +46 -0
  481. package/src/core/ui-packs/no.ts +44 -0
  482. package/src/core/ui-packs/pl.ts +45 -0
  483. package/src/core/ui-packs/pt-br.ts +46 -0
  484. package/src/core/ui-packs/pt.ts +45 -0
  485. package/src/core/ui-packs/ro.ts +45 -0
  486. package/src/core/ui-packs/ru.ts +45 -0
  487. package/src/core/ui-packs/sk.ts +44 -0
  488. package/src/core/ui-packs/sr.ts +45 -0
  489. package/src/core/ui-packs/sv.ts +44 -0
  490. package/src/core/ui-packs/th.ts +43 -0
  491. package/src/core/ui-packs/tr.ts +45 -0
  492. package/src/core/ui-packs/uk.ts +45 -0
  493. package/src/core/ui-packs/vi.ts +45 -0
  494. package/src/core/ui-packs/zh-tw.ts +43 -0
  495. package/src/core/ui-packs/zh.ts +43 -0
  496. package/src/core/variables.ts +103 -0
  497. package/src/core/version-cut.ts +52 -15
  498. package/src/deploy/artifacts.ts +104 -14
  499. package/src/deploy/cloudflare-negotiation.ts +39 -17
  500. package/src/deploy/headers.ts +10 -5
  501. package/src/deploy/node-headers.ts +64 -10
  502. package/src/deploy/platforms/cloudflare.ts +44 -3
  503. package/src/deploy/platforms/netlify.ts +34 -1
  504. package/src/deploy/platforms/node.ts +1 -0
  505. package/src/deploy/platforms/static.ts +1 -0
  506. package/src/deploy/platforms/types.ts +8 -0
  507. package/src/deploy/platforms/vercel.ts +38 -2
  508. package/src/deploy/redirects.ts +139 -36
  509. package/src/deploy/robots.ts +2 -2
  510. package/src/deploy/rss.ts +4 -3
  511. package/src/deploy/sitemap.ts +7 -5
  512. package/src/deploy/vercel-negotiation.ts +36 -0
  513. package/src/markdown/api-rail.ts +259 -0
  514. package/src/markdown/base-links.ts +34 -36
  515. package/src/markdown/code-title.ts +35 -9
  516. package/src/markdown/directives.ts +242 -36
  517. package/src/markdown/features.ts +20 -2
  518. package/src/markdown/fence-meta.ts +2 -0
  519. package/src/markdown/include.ts +11 -1
  520. package/src/markdown/index.ts +35 -11
  521. package/src/markdown/math.ts +4 -4
  522. package/src/markdown/mdast.ts +5 -2
  523. package/src/markdown/relative-links.ts +12 -4
  524. package/src/markdown/variables.ts +56 -0
  525. package/src/markdown/views.ts +82 -0
  526. package/src/narration/build.ts +412 -0
  527. package/src/narration/player.ts +249 -0
  528. package/src/narration/provider.ts +29 -0
  529. package/src/narration/script.ts +592 -0
  530. package/src/og/card.ts +136 -11
  531. package/src/og/derive.ts +41 -31
  532. package/src/og/index.ts +1 -0
  533. package/src/openapi/asyncapi.ts +4 -2
  534. package/src/openapi/model.ts +77 -36
  535. package/src/openapi/overlay.ts +256 -0
  536. package/src/openapi/parse.ts +55 -2
  537. package/src/openapi/proxy.ts +63 -10
  538. package/src/openapi/references.ts +21 -5
  539. package/src/openapi/render-mdx.ts +46 -3
  540. package/src/openapi/scalar.ts +40 -6
  541. package/src/openapi/source.ts +1 -1
  542. package/src/ratelimit/cloudflare.ts +54 -0
  543. package/src/ratelimit/index.ts +30 -0
  544. package/src/ratelimit/memory.ts +45 -0
  545. package/src/ratelimit/runtime.ts +229 -0
  546. package/src/ratelimit/schema.ts +28 -0
  547. package/src/ratelimit/upstash.ts +30 -0
  548. package/src/ratelimit/wrangler.ts +70 -0
  549. package/src/reference/asyncapi.ts +2 -2
  550. package/src/reference/graphql.ts +5 -2
  551. package/src/reference/openapi.ts +21 -7
  552. package/src/reference/options.ts +51 -7
  553. package/src/reference/scalar.ts +33 -8
  554. package/src/registry/eject.ts +201 -28
  555. package/src/registry/registry.ts +7 -0
  556. package/src/search/adapters/version-scope.ts +30 -0
  557. package/src/search/documents.ts +93 -28
  558. package/src/search/orama-index.ts +28 -3
  559. package/src/search/pagefind-ranking.ts +39 -0
  560. package/src/search/popular.ts +2 -1
  561. package/src/search/sync/algolia.ts +15 -4
  562. package/src/search/sync/orama-cloud.ts +3 -0
  563. package/src/search/sync/typesense.ts +5 -0
  564. package/src/seo/jsonld.ts +7 -3
  565. package/src/seo/metatags.ts +67 -0
  566. package/src/theme/chrome-icons.ts +1 -0
  567. package/src/theme/color.ts +500 -0
  568. package/src/theme/entry.ts +56 -3
  569. package/src/theme/palette.ts +121 -45
  570. package/src/translate/meta.ts +68 -24
  571. package/src/translate/prompts.ts +1 -0
  572. package/src/translate/run.ts +3 -3
  573. package/src/translate/validate.ts +12 -3
  574. package/src/translate/work-list.ts +56 -17
  575. package/src/upgrade/upgrade.ts +4 -171
  576. package/dist/cli/chunk-3yce002v.js.map +0 -14
  577. package/dist/cli/chunk-5r8g91qn.js.map +0 -34
  578. package/dist/cli/chunk-6dtt0zfn.js.map +0 -10
  579. package/dist/cli/chunk-7mbqtmgb.js.map +0 -10
  580. package/dist/cli/chunk-ddndchfr.js.map +0 -14
  581. package/dist/cli/chunk-esh98wmb.js +0 -23
  582. package/dist/cli/chunk-esh98wmb.js.map +0 -10
  583. package/dist/cli/chunk-hqp2ajnh.js.map +0 -35
  584. package/dist/cli/chunk-hr8ne106.js.map +0 -13
  585. package/dist/cli/chunk-j85scx15.js.map +0 -10
  586. package/dist/cli/chunk-mqc662a6.js +0 -75
  587. package/dist/cli/chunk-mqc662a6.js.map +0 -11
  588. package/dist/cli/chunk-pbg5a4s3.js.map +0 -19
  589. package/dist/cli/chunk-qkb5a8sa.js.map +0 -10
  590. package/dist/cli/chunk-v6ya5kcb.js.map +0 -189
  591. package/dist/cli/chunk-wdrt2k2v.js.map +0 -10
  592. package/dist/cli/chunk-xh43dwgw.js.map +0 -36
  593. package/docs/content/sources.mdx +0 -338
  594. /package/dist/cli/{chunk-zp79m0ts.js.map → chunk-1n228xqb.js.map} +0 -0
  595. /package/dist/cli/{chunk-h2ez8dzb.js.map → chunk-5ffywsmb.js.map} +0 -0
  596. /package/dist/cli/{chunk-g698a744.js.map → chunk-5wj2qwn2.js.map} +0 -0
  597. /package/dist/cli/{chunk-sqw4ekg1.js.map → chunk-amrb6hgh.js.map} +0 -0
  598. /package/dist/cli/{chunk-h7k3nq3v.js.map → chunk-gp84za0h.js.map} +0 -0
  599. /package/dist/cli/{chunk-bfwp9vp6.js.map → chunk-p804f3pe.js.map} +0 -0
  600. /package/dist/cli/{chunk-00gs3wqs.js.map → chunk-ta27feev.js.map} +0 -0
  601. /package/dist/cli/{chunk-bbnwccaz.js.map → chunk-y4ykbark.js.map} +0 -0
@@ -26,11 +26,30 @@ declare const sidebarDisplaySchema: z.ZodEnum<{
26
26
  page: "page";
27
27
  }>;
28
28
  export type SidebarDisplay = z.infer<typeof sidebarDisplaySchema>;
29
+ /**
30
+ * How a group's own page lists the group's other pages below its content:
31
+ * `card` a grid of cards, `accordion` a list with each subgroup collapsible,
32
+ * `none` no listing (the default). A group without its own page has nowhere
33
+ * to show one. Nested groups inherit the nearest setting above them.
34
+ */
35
+ declare const directoryModeSchema: z.ZodEnum<{
36
+ none: "none";
37
+ accordion: "accordion";
38
+ card: "card";
39
+ }>;
40
+ export type DirectoryMode = z.infer<typeof directoryModeSchema>;
29
41
  /** Frontmatter accepted on any content page. */
30
42
  declare const pageMetaBaseSchema: z.ZodObject<{
31
43
  ai: z.ZodPrefault<z.ZodObject<{
32
44
  exclude: z.ZodDefault<z.ZodBoolean>;
33
45
  }, z.core.$strict>>;
46
+ api: z.ZodOptional<z.ZodString>;
47
+ authMethod: z.ZodOptional<z.ZodEnum<{
48
+ none: "none";
49
+ key: "key";
50
+ bearer: "bearer";
51
+ basic: "basic";
52
+ }>>;
34
53
  authors: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
35
54
  avatar: z.ZodOptional<z.ZodString>;
36
55
  image: z.ZodOptional<z.ZodString>;
@@ -54,9 +73,26 @@ declare const pageMetaBaseSchema: z.ZodObject<{
54
73
  hidden: z.ZodDefault<z.ZodBoolean>;
55
74
  icon: z.ZodOptional<z.ZodString>;
56
75
  lastModified: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>, z.ZodTransform<string, string | Date>>>;
76
+ mode: z.ZodOptional<z.ZodEnum<{
77
+ default: "default";
78
+ custom: "custom";
79
+ wide: "wide";
80
+ center: "center";
81
+ frame: "frame";
82
+ }>>;
83
+ narration: z.ZodDefault<z.ZodBoolean>;
57
84
  noindex: z.ZodDefault<z.ZodBoolean>;
85
+ pagination: z.ZodDefault<z.ZodBoolean>;
86
+ playground: z.ZodOptional<z.ZodEnum<{
87
+ none: "none";
88
+ interactive: "interactive";
89
+ simple: "simple";
90
+ }>>;
91
+ related: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>]>>;
58
92
  search: z.ZodPrefault<z.ZodObject<{
93
+ boost: z.ZodOptional<z.ZodNumber>;
59
94
  exclude: z.ZodDefault<z.ZodBoolean>;
95
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
60
96
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
61
97
  }, z.core.$strict>>;
62
98
  seo: z.ZodPrefault<z.ZodObject<{
@@ -89,6 +125,13 @@ export declare const pageMetaSchema: z.ZodObject<{
89
125
  ai: z.ZodPrefault<z.ZodObject<{
90
126
  exclude: z.ZodDefault<z.ZodBoolean>;
91
127
  }, z.core.$strict>>;
128
+ api: z.ZodOptional<z.ZodString>;
129
+ authMethod: z.ZodOptional<z.ZodEnum<{
130
+ none: "none";
131
+ key: "key";
132
+ bearer: "bearer";
133
+ basic: "basic";
134
+ }>>;
92
135
  authors: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
93
136
  avatar: z.ZodOptional<z.ZodString>;
94
137
  image: z.ZodOptional<z.ZodString>;
@@ -112,9 +155,26 @@ export declare const pageMetaSchema: z.ZodObject<{
112
155
  hidden: z.ZodDefault<z.ZodBoolean>;
113
156
  icon: z.ZodOptional<z.ZodString>;
114
157
  lastModified: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>, z.ZodTransform<string, string | Date>>>;
158
+ mode: z.ZodOptional<z.ZodEnum<{
159
+ default: "default";
160
+ custom: "custom";
161
+ wide: "wide";
162
+ center: "center";
163
+ frame: "frame";
164
+ }>>;
165
+ narration: z.ZodDefault<z.ZodBoolean>;
115
166
  noindex: z.ZodDefault<z.ZodBoolean>;
167
+ pagination: z.ZodDefault<z.ZodBoolean>;
168
+ playground: z.ZodOptional<z.ZodEnum<{
169
+ none: "none";
170
+ interactive: "interactive";
171
+ simple: "simple";
172
+ }>>;
173
+ related: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>]>>;
116
174
  search: z.ZodPrefault<z.ZodObject<{
175
+ boost: z.ZodOptional<z.ZodNumber>;
117
176
  exclude: z.ZodDefault<z.ZodBoolean>;
177
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
118
178
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
119
179
  }, z.core.$strict>>;
120
180
  seo: z.ZodPrefault<z.ZodObject<{
@@ -160,6 +220,13 @@ export declare const pageCollectionSchema: z.ZodCatch<z.ZodObject<{
160
220
  ai: z.ZodPrefault<z.ZodObject<{
161
221
  exclude: z.ZodDefault<z.ZodBoolean>;
162
222
  }, z.core.$strict>>;
223
+ api: z.ZodOptional<z.ZodString>;
224
+ authMethod: z.ZodOptional<z.ZodEnum<{
225
+ none: "none";
226
+ key: "key";
227
+ bearer: "bearer";
228
+ basic: "basic";
229
+ }>>;
163
230
  authors: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
164
231
  avatar: z.ZodOptional<z.ZodString>;
165
232
  image: z.ZodOptional<z.ZodString>;
@@ -183,9 +250,26 @@ export declare const pageCollectionSchema: z.ZodCatch<z.ZodObject<{
183
250
  hidden: z.ZodDefault<z.ZodBoolean>;
184
251
  icon: z.ZodOptional<z.ZodString>;
185
252
  lastModified: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>, z.ZodTransform<string, string | Date>>>;
253
+ mode: z.ZodOptional<z.ZodEnum<{
254
+ default: "default";
255
+ custom: "custom";
256
+ wide: "wide";
257
+ center: "center";
258
+ frame: "frame";
259
+ }>>;
260
+ narration: z.ZodDefault<z.ZodBoolean>;
186
261
  noindex: z.ZodDefault<z.ZodBoolean>;
262
+ pagination: z.ZodDefault<z.ZodBoolean>;
263
+ playground: z.ZodOptional<z.ZodEnum<{
264
+ none: "none";
265
+ interactive: "interactive";
266
+ simple: "simple";
267
+ }>>;
268
+ related: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>]>>;
187
269
  search: z.ZodPrefault<z.ZodObject<{
270
+ boost: z.ZodOptional<z.ZodNumber>;
188
271
  exclude: z.ZodDefault<z.ZodBoolean>;
272
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
189
273
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
190
274
  }, z.core.$strict>>;
191
275
  seo: z.ZodPrefault<z.ZodObject<{
@@ -216,6 +300,11 @@ export declare const pageCollectionSchema: z.ZodCatch<z.ZodObject<{
216
300
  }, z.core.$loose>>;
217
301
  export declare const folderMetaSchema: z.ZodObject<{
218
302
  collapsed: z.ZodOptional<z.ZodBoolean>;
303
+ directory: z.ZodOptional<z.ZodEnum<{
304
+ none: "none";
305
+ accordion: "accordion";
306
+ card: "card";
307
+ }>>;
219
308
  display: z.ZodOptional<z.ZodEnum<{
220
309
  flat: "flat";
221
310
  group: "group";
@@ -227,24 +316,18 @@ export declare const folderMetaSchema: z.ZodObject<{
227
316
  title: z.ZodOptional<z.ZodString>;
228
317
  }, z.core.$strict>;
229
318
  export type FolderMeta = z.infer<typeof folderMetaSchema>;
230
- /** A validated `content.sources` entry: an adapter descriptor from `blume/sources`. */
231
- export type { ContentSourceAdapter } from "../sources/registry.ts";
232
319
  /**
233
- * A header label that may localize: a plain string, or a map of locale code to
234
- * label (`{ en: "Docs", ja: "ドキュメント" }`). Resolved when each locale's
235
- * navigation is built — the active locale's entry wins, then the default
236
- * locale's, then the map's first entry — so a single-locale site can keep
237
- * plain strings and an i18n site can translate its header without forking the
238
- * config.
320
+ * A label that may localize (header tabs and links, the banner, the footer):
321
+ * a plain string, or a map of locale code to label (`{ en: "Docs", ja: "ドキュメント" }`).
322
+ * Resolved per locale by `core/localizable.ts` — the active locale's entry
323
+ * wins, then the default locale's, then the map's first entry — so a
324
+ * single-locale site can keep plain strings and an i18n site can translate
325
+ * its labels without forking the config.
239
326
  */
240
327
  declare const localizableLabelSchema: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
241
328
  export type LocalizableLabel = z.infer<typeof localizableLabelSchema>;
242
- declare const directoryModeSchema: z.ZodEnum<{
243
- none: "none";
244
- accordion: "accordion";
245
- card: "card";
246
- }>;
247
- export type DirectoryMode = z.infer<typeof directoryModeSchema>;
329
+ /** A validated `content.sources` entry: an adapter descriptor from `blume/sources`. */
330
+ export type { ContentSourceAdapter } from "../sources/registry.ts";
248
331
  /** A node in an explicit sidebar config: a page reference or a group/link. */
249
332
  export type SidebarItemConfig = string | {
250
333
  label: string;
@@ -472,6 +555,21 @@ type SearchOptionsInput = z.input<typeof searchOptionsSchema>;
472
555
  type SearchConfigInput = false | SearchAdapterInput | SearchOptionsInput;
473
556
  declare const aiConfigSchema: z.ZodObject<{
474
557
  assistant: z.ZodOptional<z.ZodObject<{
558
+ captcha: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
559
+ kind: z.ZodLiteral<"hcaptcha">;
560
+ options: z.ZodObject<{
561
+ siteKey: z.ZodString;
562
+ }, z.core.$strict>;
563
+ requiredSecrets: z.ZodArray<z.ZodString>;
564
+ runtimeDeps: z.ZodArray<z.ZodString>;
565
+ }, z.core.$strict>, z.ZodObject<{
566
+ kind: z.ZodLiteral<"turnstile">;
567
+ options: z.ZodObject<{
568
+ siteKey: z.ZodString;
569
+ }, z.core.$strict>;
570
+ requiredSecrets: z.ZodArray<z.ZodString>;
571
+ runtimeDeps: z.ZodArray<z.ZodString>;
572
+ }, z.core.$strict>], "kind">>;
475
573
  cors: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodPipe<z.ZodURL, z.ZodTransform<string, string>>]>>>;
476
574
  enabled: z.ZodDefault<z.ZodBoolean>;
477
575
  endpoint: z.ZodOptional<z.ZodString>;
@@ -495,9 +593,11 @@ declare const aiConfigSchema: z.ZodObject<{
495
593
  requiredSecrets: z.ZodArray<z.ZodString>;
496
594
  runtimeDeps: z.ZodArray<z.ZodString>;
497
595
  }, z.core.$strict>, z.ZodObject<{
498
- kind: z.ZodLiteral<"openrouter">;
596
+ kind: z.ZodLiteral<"openai">;
499
597
  options: z.ZodObject<{
598
+ baseUrl: z.ZodOptional<z.ZodURL>;
500
599
  model: z.ZodString;
600
+ name: z.ZodOptional<z.ZodString>;
501
601
  reasoning: z.ZodOptional<z.ZodEnum<{
502
602
  none: "none";
503
603
  minimal: "minimal";
@@ -513,9 +613,8 @@ declare const aiConfigSchema: z.ZodObject<{
513
613
  requiredSecrets: z.ZodArray<z.ZodString>;
514
614
  runtimeDeps: z.ZodArray<z.ZodString>;
515
615
  }, z.core.$strict>, z.ZodObject<{
516
- kind: z.ZodLiteral<"llmgateway">;
616
+ kind: z.ZodLiteral<"anthropic">;
517
617
  options: z.ZodObject<{
518
- baseUrl: z.ZodDefault<z.ZodURL>;
519
618
  model: z.ZodString;
520
619
  reasoning: z.ZodOptional<z.ZodEnum<{
521
620
  none: "none";
@@ -532,10 +631,53 @@ declare const aiConfigSchema: z.ZodObject<{
532
631
  requiredSecrets: z.ZodArray<z.ZodString>;
533
632
  runtimeDeps: z.ZodArray<z.ZodString>;
534
633
  }, z.core.$strict>, z.ZodObject<{
535
- kind: z.ZodLiteral<"inkeep">;
634
+ kind: z.ZodLiteral<"gemini">;
635
+ options: z.ZodObject<{
636
+ model: z.ZodString;
637
+ reasoning: z.ZodOptional<z.ZodEnum<{
638
+ none: "none";
639
+ minimal: "minimal";
640
+ low: "low";
641
+ medium: "medium";
642
+ high: "high";
643
+ xhigh: "xhigh";
644
+ }>>;
645
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
646
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
647
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
648
+ }, z.core.$strict>;
649
+ requiredSecrets: z.ZodArray<z.ZodString>;
650
+ runtimeDeps: z.ZodArray<z.ZodString>;
651
+ }, z.core.$strict>, z.ZodObject<{
652
+ kind: z.ZodLiteral<"grok">;
536
653
  options: z.ZodObject<{
537
- baseUrl: z.ZodDefault<z.ZodURL>;
538
654
  model: z.ZodString;
655
+ reasoning: z.ZodOptional<z.ZodEnum<{
656
+ none: "none";
657
+ minimal: "minimal";
658
+ low: "low";
659
+ medium: "medium";
660
+ high: "high";
661
+ xhigh: "xhigh";
662
+ }>>;
663
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
664
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
665
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
666
+ }, z.core.$strict>;
667
+ requiredSecrets: z.ZodArray<z.ZodString>;
668
+ runtimeDeps: z.ZodArray<z.ZodString>;
669
+ }, z.core.$strict>, z.ZodObject<{
670
+ kind: z.ZodLiteral<"openrouter">;
671
+ options: z.ZodObject<{
672
+ model: z.ZodString;
673
+ reasoning: z.ZodOptional<z.ZodEnum<{
674
+ none: "none";
675
+ minimal: "minimal";
676
+ low: "low";
677
+ medium: "medium";
678
+ high: "high";
679
+ xhigh: "xhigh";
680
+ }>>;
539
681
  apiKeyEnv: z.ZodDefault<z.ZodString>;
540
682
  headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
541
683
  providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
@@ -543,12 +685,10 @@ declare const aiConfigSchema: z.ZodObject<{
543
685
  requiredSecrets: z.ZodArray<z.ZodString>;
544
686
  runtimeDeps: z.ZodArray<z.ZodString>;
545
687
  }, z.core.$strict>, z.ZodObject<{
546
- kind: z.ZodLiteral<"openai-compatible">;
688
+ kind: z.ZodLiteral<"llmgateway">;
547
689
  options: z.ZodObject<{
548
- apiKeyEnv: z.ZodString;
549
- baseUrl: z.ZodURL;
690
+ baseUrl: z.ZodDefault<z.ZodURL>;
550
691
  model: z.ZodString;
551
- name: z.ZodDefault<z.ZodString>;
552
692
  reasoning: z.ZodOptional<z.ZodEnum<{
553
693
  none: "none";
554
694
  minimal: "minimal";
@@ -557,6 +697,18 @@ declare const aiConfigSchema: z.ZodObject<{
557
697
  high: "high";
558
698
  xhigh: "xhigh";
559
699
  }>>;
700
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
701
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
702
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
703
+ }, z.core.$strict>;
704
+ requiredSecrets: z.ZodArray<z.ZodString>;
705
+ runtimeDeps: z.ZodArray<z.ZodString>;
706
+ }, z.core.$strict>, z.ZodObject<{
707
+ kind: z.ZodLiteral<"inkeep">;
708
+ options: z.ZodObject<{
709
+ baseUrl: z.ZodDefault<z.ZodURL>;
710
+ model: z.ZodString;
711
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
560
712
  headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
561
713
  providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
562
714
  }, z.core.$strict>;
@@ -572,6 +724,8 @@ declare const aiConfigSchema: z.ZodObject<{
572
724
  icon: z.ZodOptional<z.ZodString>;
573
725
  label: z.ZodString;
574
726
  }, z.core.$strict>>>;
727
+ support: z.ZodOptional<z.ZodString>;
728
+ tools: z.ZodOptional<z.ZodBoolean>;
575
729
  }, z.core.$strict>>;
576
730
  openInChat: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodEnum<{
577
731
  v0: "v0";
@@ -619,6 +773,7 @@ declare const i18nConfigSchema: z.ZodObject<{
619
773
  dir: "dir";
620
774
  dot: "dot";
621
775
  }>>;
776
+ routeByBrowserLanguage: z.ZodDefault<z.ZodBoolean>;
622
777
  ui: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>>;
623
778
  }, z.core.$strict>;
624
779
  /**
@@ -790,6 +945,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
790
945
  name: z.ZodOptional<z.ZodString>;
791
946
  route: z.ZodPipe<z.ZodDefault<z.ZodString>, z.ZodTransform<string, string>>;
792
947
  }, z.core.$strict>>;
948
+ skillMd: z.ZodDefault<z.ZodBoolean>;
793
949
  skills: z.ZodOptional<z.ZodString>;
794
950
  webBotAuth: z.ZodPrefault<z.ZodObject<{
795
951
  keys: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
@@ -798,6 +954,21 @@ export declare const blumeConfigSchema: z.ZodObject<{
798
954
  }, z.core.$strict>>;
799
955
  ai: z.ZodPrefault<z.ZodObject<{
800
956
  assistant: z.ZodOptional<z.ZodObject<{
957
+ captcha: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
958
+ kind: z.ZodLiteral<"hcaptcha">;
959
+ options: z.ZodObject<{
960
+ siteKey: z.ZodString;
961
+ }, z.core.$strict>;
962
+ requiredSecrets: z.ZodArray<z.ZodString>;
963
+ runtimeDeps: z.ZodArray<z.ZodString>;
964
+ }, z.core.$strict>, z.ZodObject<{
965
+ kind: z.ZodLiteral<"turnstile">;
966
+ options: z.ZodObject<{
967
+ siteKey: z.ZodString;
968
+ }, z.core.$strict>;
969
+ requiredSecrets: z.ZodArray<z.ZodString>;
970
+ runtimeDeps: z.ZodArray<z.ZodString>;
971
+ }, z.core.$strict>], "kind">>;
801
972
  cors: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodPipe<z.ZodURL, z.ZodTransform<string, string>>]>>>;
802
973
  enabled: z.ZodDefault<z.ZodBoolean>;
803
974
  endpoint: z.ZodOptional<z.ZodString>;
@@ -821,9 +992,11 @@ export declare const blumeConfigSchema: z.ZodObject<{
821
992
  requiredSecrets: z.ZodArray<z.ZodString>;
822
993
  runtimeDeps: z.ZodArray<z.ZodString>;
823
994
  }, z.core.$strict>, z.ZodObject<{
824
- kind: z.ZodLiteral<"openrouter">;
995
+ kind: z.ZodLiteral<"openai">;
825
996
  options: z.ZodObject<{
997
+ baseUrl: z.ZodOptional<z.ZodURL>;
826
998
  model: z.ZodString;
999
+ name: z.ZodOptional<z.ZodString>;
827
1000
  reasoning: z.ZodOptional<z.ZodEnum<{
828
1001
  none: "none";
829
1002
  minimal: "minimal";
@@ -839,9 +1012,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
839
1012
  requiredSecrets: z.ZodArray<z.ZodString>;
840
1013
  runtimeDeps: z.ZodArray<z.ZodString>;
841
1014
  }, z.core.$strict>, z.ZodObject<{
842
- kind: z.ZodLiteral<"llmgateway">;
1015
+ kind: z.ZodLiteral<"anthropic">;
843
1016
  options: z.ZodObject<{
844
- baseUrl: z.ZodDefault<z.ZodURL>;
845
1017
  model: z.ZodString;
846
1018
  reasoning: z.ZodOptional<z.ZodEnum<{
847
1019
  none: "none";
@@ -858,10 +1030,53 @@ export declare const blumeConfigSchema: z.ZodObject<{
858
1030
  requiredSecrets: z.ZodArray<z.ZodString>;
859
1031
  runtimeDeps: z.ZodArray<z.ZodString>;
860
1032
  }, z.core.$strict>, z.ZodObject<{
861
- kind: z.ZodLiteral<"inkeep">;
1033
+ kind: z.ZodLiteral<"gemini">;
862
1034
  options: z.ZodObject<{
863
- baseUrl: z.ZodDefault<z.ZodURL>;
864
1035
  model: z.ZodString;
1036
+ reasoning: z.ZodOptional<z.ZodEnum<{
1037
+ none: "none";
1038
+ minimal: "minimal";
1039
+ low: "low";
1040
+ medium: "medium";
1041
+ high: "high";
1042
+ xhigh: "xhigh";
1043
+ }>>;
1044
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
1045
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1046
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
1047
+ }, z.core.$strict>;
1048
+ requiredSecrets: z.ZodArray<z.ZodString>;
1049
+ runtimeDeps: z.ZodArray<z.ZodString>;
1050
+ }, z.core.$strict>, z.ZodObject<{
1051
+ kind: z.ZodLiteral<"grok">;
1052
+ options: z.ZodObject<{
1053
+ model: z.ZodString;
1054
+ reasoning: z.ZodOptional<z.ZodEnum<{
1055
+ none: "none";
1056
+ minimal: "minimal";
1057
+ low: "low";
1058
+ medium: "medium";
1059
+ high: "high";
1060
+ xhigh: "xhigh";
1061
+ }>>;
1062
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
1063
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1064
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
1065
+ }, z.core.$strict>;
1066
+ requiredSecrets: z.ZodArray<z.ZodString>;
1067
+ runtimeDeps: z.ZodArray<z.ZodString>;
1068
+ }, z.core.$strict>, z.ZodObject<{
1069
+ kind: z.ZodLiteral<"openrouter">;
1070
+ options: z.ZodObject<{
1071
+ model: z.ZodString;
1072
+ reasoning: z.ZodOptional<z.ZodEnum<{
1073
+ none: "none";
1074
+ minimal: "minimal";
1075
+ low: "low";
1076
+ medium: "medium";
1077
+ high: "high";
1078
+ xhigh: "xhigh";
1079
+ }>>;
865
1080
  apiKeyEnv: z.ZodDefault<z.ZodString>;
866
1081
  headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
867
1082
  providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
@@ -869,12 +1084,10 @@ export declare const blumeConfigSchema: z.ZodObject<{
869
1084
  requiredSecrets: z.ZodArray<z.ZodString>;
870
1085
  runtimeDeps: z.ZodArray<z.ZodString>;
871
1086
  }, z.core.$strict>, z.ZodObject<{
872
- kind: z.ZodLiteral<"openai-compatible">;
1087
+ kind: z.ZodLiteral<"llmgateway">;
873
1088
  options: z.ZodObject<{
874
- apiKeyEnv: z.ZodString;
875
- baseUrl: z.ZodURL;
1089
+ baseUrl: z.ZodDefault<z.ZodURL>;
876
1090
  model: z.ZodString;
877
- name: z.ZodDefault<z.ZodString>;
878
1091
  reasoning: z.ZodOptional<z.ZodEnum<{
879
1092
  none: "none";
880
1093
  minimal: "minimal";
@@ -883,6 +1096,18 @@ export declare const blumeConfigSchema: z.ZodObject<{
883
1096
  high: "high";
884
1097
  xhigh: "xhigh";
885
1098
  }>>;
1099
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
1100
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1101
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
1102
+ }, z.core.$strict>;
1103
+ requiredSecrets: z.ZodArray<z.ZodString>;
1104
+ runtimeDeps: z.ZodArray<z.ZodString>;
1105
+ }, z.core.$strict>, z.ZodObject<{
1106
+ kind: z.ZodLiteral<"inkeep">;
1107
+ options: z.ZodObject<{
1108
+ baseUrl: z.ZodDefault<z.ZodURL>;
1109
+ model: z.ZodString;
1110
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
886
1111
  headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
887
1112
  providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
888
1113
  }, z.core.$strict>;
@@ -898,6 +1123,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
898
1123
  icon: z.ZodOptional<z.ZodString>;
899
1124
  label: z.ZodString;
900
1125
  }, z.core.$strict>>>;
1126
+ support: z.ZodOptional<z.ZodString>;
1127
+ tools: z.ZodOptional<z.ZodBoolean>;
901
1128
  }, z.core.$strict>>;
902
1129
  openInChat: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodEnum<{
903
1130
  v0: "v0";
@@ -1014,6 +1241,13 @@ export declare const blumeConfigSchema: z.ZodObject<{
1014
1241
  }, z.core.$catchall<z.ZodJSONSchema>>;
1015
1242
  requiredSecrets: z.ZodArray<z.ZodString>;
1016
1243
  runtimeDeps: z.ZodArray<z.ZodString>;
1244
+ }, z.core.$strict>, z.ZodObject<{
1245
+ kind: z.ZodLiteral<"one-dollar-stats">;
1246
+ options: z.ZodObject<{
1247
+ hostname: z.ZodOptional<z.ZodString>;
1248
+ }, z.core.$catchall<z.ZodString>>;
1249
+ requiredSecrets: z.ZodArray<z.ZodString>;
1250
+ runtimeDeps: z.ZodArray<z.ZodString>;
1017
1251
  }, z.core.$strict>, z.ZodObject<{
1018
1252
  kind: z.ZodLiteral<"pirsch">;
1019
1253
  options: z.ZodObject<{
@@ -1071,16 +1305,111 @@ export declare const blumeConfigSchema: z.ZodObject<{
1071
1305
  requiredSecrets: z.ZodArray<z.ZodString>;
1072
1306
  runtimeDeps: z.ZodArray<z.ZodString>;
1073
1307
  }, z.core.$strict>], "kind">>>;
1308
+ api: z.ZodPrefault<z.ZodObject<{
1309
+ auth: z.ZodOptional<z.ZodObject<{
1310
+ method: z.ZodEnum<{
1311
+ none: "none";
1312
+ key: "key";
1313
+ bearer: "bearer";
1314
+ basic: "basic";
1315
+ }>;
1316
+ name: z.ZodOptional<z.ZodString>;
1317
+ }, z.core.$strict>>;
1318
+ playground: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1319
+ enabled: z.ZodDefault<z.ZodBoolean>;
1320
+ proxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
1321
+ }, z.core.$strict>]>>, z.ZodTransform<{
1322
+ enabled: boolean;
1323
+ proxy: string | boolean;
1324
+ }, boolean | {
1325
+ enabled: boolean;
1326
+ proxy: string | boolean;
1327
+ }>>;
1328
+ server: z.ZodOptional<z.ZodString>;
1329
+ }, z.core.$strict>>;
1074
1330
  banner: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1075
- content: z.ZodString;
1331
+ content: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
1076
1332
  dismissible: z.ZodDefault<z.ZodBoolean>;
1077
1333
  id: z.ZodOptional<z.ZodString>;
1078
1334
  link: z.ZodOptional<z.ZodObject<{
1079
1335
  href: z.ZodString;
1080
- text: z.ZodString;
1336
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
1081
1337
  }, z.core.$strict>>;
1082
1338
  }, z.core.$strict>]>>;
1083
1339
  basePath: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string, string | undefined>>;
1340
+ consent: z.ZodPipe<z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1341
+ kind: z.ZodLiteral<"ethyca">;
1342
+ options: z.ZodObject<{
1343
+ notice: z.ZodOptional<z.ZodString>;
1344
+ privacyCenter: z.ZodURL;
1345
+ propertyId: z.ZodOptional<z.ZodString>;
1346
+ }, z.core.$strict>;
1347
+ requiredSecrets: z.ZodArray<z.ZodString>;
1348
+ runtimeDeps: z.ZodArray<z.ZodString>;
1349
+ }, z.core.$strict>, z.ZodObject<{
1350
+ kind: z.ZodLiteral<"native">;
1351
+ options: z.ZodObject<{
1352
+ policy: z.ZodOptional<z.ZodString>;
1353
+ }, z.core.$strict>;
1354
+ requiredSecrets: z.ZodArray<z.ZodString>;
1355
+ runtimeDeps: z.ZodArray<z.ZodString>;
1356
+ }, z.core.$strict>, z.ZodObject<{
1357
+ kind: z.ZodLiteral<"osano">;
1358
+ options: z.ZodObject<{
1359
+ configId: z.ZodString;
1360
+ customerId: z.ZodString;
1361
+ }, z.core.$strict>;
1362
+ requiredSecrets: z.ZodArray<z.ZodString>;
1363
+ runtimeDeps: z.ZodArray<z.ZodString>;
1364
+ }, z.core.$strict>], "kind">>, z.ZodTransform<{
1365
+ kind: "ethyca";
1366
+ options: {
1367
+ privacyCenter: string;
1368
+ notice?: string | undefined;
1369
+ propertyId?: string | undefined;
1370
+ };
1371
+ requiredSecrets: string[];
1372
+ runtimeDeps: string[];
1373
+ } | {
1374
+ kind: "native";
1375
+ options: {
1376
+ policy?: string | undefined;
1377
+ };
1378
+ requiredSecrets: string[];
1379
+ runtimeDeps: string[];
1380
+ } | {
1381
+ kind: "osano";
1382
+ options: {
1383
+ configId: string;
1384
+ customerId: string;
1385
+ };
1386
+ requiredSecrets: string[];
1387
+ runtimeDeps: string[];
1388
+ } | null, {
1389
+ kind: "ethyca";
1390
+ options: {
1391
+ privacyCenter: string;
1392
+ notice?: string | undefined;
1393
+ propertyId?: string | undefined;
1394
+ };
1395
+ requiredSecrets: string[];
1396
+ runtimeDeps: string[];
1397
+ } | {
1398
+ kind: "native";
1399
+ options: {
1400
+ policy?: string | undefined;
1401
+ };
1402
+ requiredSecrets: string[];
1403
+ runtimeDeps: string[];
1404
+ } | {
1405
+ kind: "osano";
1406
+ options: {
1407
+ configId: string;
1408
+ customerId: string;
1409
+ };
1410
+ requiredSecrets: string[];
1411
+ runtimeDeps: string[];
1412
+ } | undefined>>;
1084
1413
  content: z.ZodPrefault<z.ZodPipe<z.ZodObject<{
1085
1414
  defaultType: z.ZodDefault<z.ZodString>;
1086
1415
  exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -2357,7 +2686,43 @@ export declare const blumeConfigSchema: z.ZodObject<{
2357
2686
  epub: boolean;
2358
2687
  pdf: boolean;
2359
2688
  }>>>;
2360
- feedback: z.ZodDefault<z.ZodBoolean>;
2689
+ feedback: z.ZodPrefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
2690
+ comments: z.ZodDefault<z.ZodBoolean>;
2691
+ enabled: z.ZodDefault<z.ZodBoolean>;
2692
+ }, z.core.$strict>]>, z.ZodTransform<{
2693
+ comments: boolean;
2694
+ enabled: (boolean | {
2695
+ comments: boolean;
2696
+ enabled: boolean;
2697
+ }) & boolean;
2698
+ }, boolean | {
2699
+ comments: boolean;
2700
+ enabled: boolean;
2701
+ }>>>;
2702
+ footer: z.ZodOptional<z.ZodObject<{
2703
+ links: z.ZodDefault<z.ZodArray<z.ZodObject<{
2704
+ href: z.ZodString;
2705
+ label: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
2706
+ }, z.core.$strict>>>;
2707
+ socials: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
2708
+ medium: "medium";
2709
+ github: "github";
2710
+ bluesky: "bluesky";
2711
+ discord: "discord";
2712
+ facebook: "facebook";
2713
+ "hacker-news": "hacker-news";
2714
+ instagram: "instagram";
2715
+ linkedin: "linkedin";
2716
+ podcast: "podcast";
2717
+ reddit: "reddit";
2718
+ slack: "slack";
2719
+ telegram: "telegram";
2720
+ threads: "threads";
2721
+ website: "website";
2722
+ x: "x";
2723
+ youtube: "youtube";
2724
+ }> & z.core.$partial, z.ZodString>>;
2725
+ }, z.core.$strict>>;
2361
2726
  frontmatter: z.ZodPrefault<z.ZodObject<{
2362
2727
  extend: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodCustom<StandardSchema<unknown, unknown>, StandardSchema<unknown, unknown>>>>;
2363
2728
  }, z.core.$strict>>;
@@ -2386,6 +2751,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2386
2751
  dir: "dir";
2387
2752
  dot: "dot";
2388
2753
  }>>;
2754
+ routeByBrowserLanguage: z.ZodDefault<z.ZodBoolean>;
2389
2755
  ui: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>>;
2390
2756
  }, z.core.$strict>>;
2391
2757
  image: z.ZodPrefault<z.ZodObject<{
@@ -2424,19 +2790,65 @@ export declare const blumeConfigSchema: z.ZodObject<{
2424
2790
  headingAnchors: z.ZodDefault<z.ZodBoolean>;
2425
2791
  imageZoom: z.ZodDefault<z.ZodBoolean>;
2426
2792
  }, z.core.$strict>>;
2793
+ narration: z.ZodPrefault<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
2794
+ enabled: z.ZodDefault<z.ZodBoolean>;
2795
+ provider: z.ZodOptional<z.ZodObject<{
2796
+ kind: z.ZodLiteral<"gateway">;
2797
+ options: z.ZodObject<{
2798
+ instructions: z.ZodOptional<z.ZodString>;
2799
+ model: z.ZodDefault<z.ZodString>;
2800
+ voice: z.ZodDefault<z.ZodString>;
2801
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
2802
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2803
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
2804
+ }, z.core.$strict>;
2805
+ requiredSecrets: z.ZodArray<z.ZodString>;
2806
+ runtimeDeps: z.ZodArray<z.ZodString>;
2807
+ }, z.core.$strict>>;
2808
+ }, z.core.$strict>]>, z.ZodTransform<{
2809
+ enabled: boolean;
2810
+ provider: {
2811
+ kind: "gateway";
2812
+ options: {
2813
+ model: string;
2814
+ voice: string;
2815
+ apiKeyEnv: string;
2816
+ instructions?: string | undefined;
2817
+ headers?: Record<string, string> | undefined;
2818
+ providerOptions?: Record<string, Record<string, z.core.util.JSONType>> | undefined;
2819
+ };
2820
+ requiredSecrets: string[];
2821
+ runtimeDeps: string[];
2822
+ } | null;
2823
+ }, boolean | {
2824
+ enabled: boolean;
2825
+ provider?: {
2826
+ kind: "gateway";
2827
+ options: {
2828
+ model: string;
2829
+ voice: string;
2830
+ apiKeyEnv: string;
2831
+ instructions?: string | undefined;
2832
+ headers?: Record<string, string> | undefined;
2833
+ providerOptions?: Record<string, Record<string, z.core.util.JSONType>> | undefined;
2834
+ };
2835
+ requiredSecrets: string[];
2836
+ runtimeDeps: string[];
2837
+ } | undefined;
2838
+ }>>>;
2427
2839
  navigation: z.ZodPrefault<z.ZodObject<{
2428
2840
  actions: z.ZodDefault<z.ZodArray<z.ZodObject<{
2429
2841
  href: z.ZodString;
2430
- label: z.ZodString;
2842
+ label: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
2431
2843
  }, z.core.$strict>>>;
2432
2844
  cta: z.ZodOptional<z.ZodObject<{
2433
2845
  href: z.ZodString;
2434
- label: z.ZodString;
2846
+ label: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
2435
2847
  }, z.core.$strict>>;
2436
2848
  featured: z.ZodDefault<z.ZodArray<z.ZodObject<{
2437
2849
  href: z.ZodString;
2438
2850
  icon: z.ZodOptional<z.ZodString>;
2439
- label: z.ZodString;
2851
+ label: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
2440
2852
  }, z.core.$strict>>>;
2441
2853
  repo: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodURL]>>;
2442
2854
  selectors: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -2483,6 +2895,82 @@ export declare const blumeConfigSchema: z.ZodObject<{
2483
2895
  path: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
2484
2896
  }, z.core.$strict>>>;
2485
2897
  }, z.core.$strict>>;
2898
+ rateLimit: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodDiscriminatedUnion<[z.ZodObject<{
2899
+ kind: z.ZodLiteral<"cloudflare">;
2900
+ options: z.ZodObject<{
2901
+ namespaceId: z.ZodOptional<z.ZodString>;
2902
+ requests: z.ZodOptional<z.ZodNumber>;
2903
+ window: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<10>, z.ZodLiteral<60>]>>;
2904
+ }, z.core.$strict>;
2905
+ requiredSecrets: z.ZodArray<z.ZodString>;
2906
+ runtimeDeps: z.ZodArray<z.ZodString>;
2907
+ }, z.core.$strict>, z.ZodObject<{
2908
+ kind: z.ZodLiteral<"memory">;
2909
+ options: z.ZodObject<{
2910
+ requests: z.ZodOptional<z.ZodNumber>;
2911
+ window: z.ZodOptional<z.ZodNumber>;
2912
+ }, z.core.$strict>;
2913
+ requiredSecrets: z.ZodArray<z.ZodString>;
2914
+ runtimeDeps: z.ZodArray<z.ZodString>;
2915
+ }, z.core.$strict>, z.ZodObject<{
2916
+ kind: z.ZodLiteral<"upstash">;
2917
+ options: z.ZodObject<{
2918
+ requests: z.ZodOptional<z.ZodNumber>;
2919
+ window: z.ZodOptional<z.ZodNumber>;
2920
+ }, z.core.$strict>;
2921
+ requiredSecrets: z.ZodArray<z.ZodString>;
2922
+ runtimeDeps: z.ZodArray<z.ZodString>;
2923
+ }, z.core.$strict>], "kind">]>>, z.ZodTransform<{
2924
+ kind: "cloudflare";
2925
+ options: {
2926
+ namespaceId?: string | undefined;
2927
+ requests?: number | undefined;
2928
+ window?: 10 | 60 | undefined;
2929
+ };
2930
+ requiredSecrets: string[];
2931
+ runtimeDeps: string[];
2932
+ } | {
2933
+ kind: "memory";
2934
+ options: {
2935
+ requests?: number | undefined;
2936
+ window?: number | undefined;
2937
+ };
2938
+ requiredSecrets: string[];
2939
+ runtimeDeps: string[];
2940
+ } | {
2941
+ kind: "upstash";
2942
+ options: {
2943
+ requests?: number | undefined;
2944
+ window?: number | undefined;
2945
+ };
2946
+ requiredSecrets: string[];
2947
+ runtimeDeps: string[];
2948
+ } | null, false | {
2949
+ kind: "cloudflare";
2950
+ options: {
2951
+ namespaceId?: string | undefined;
2952
+ requests?: number | undefined;
2953
+ window?: 10 | 60 | undefined;
2954
+ };
2955
+ requiredSecrets: string[];
2956
+ runtimeDeps: string[];
2957
+ } | {
2958
+ kind: "memory";
2959
+ options: {
2960
+ requests?: number | undefined;
2961
+ window?: number | undefined;
2962
+ };
2963
+ requiredSecrets: string[];
2964
+ runtimeDeps: string[];
2965
+ } | {
2966
+ kind: "upstash";
2967
+ options: {
2968
+ requests?: number | undefined;
2969
+ window?: number | undefined;
2970
+ };
2971
+ requiredSecrets: string[];
2972
+ runtimeDeps: string[];
2973
+ } | undefined>>;
2486
2974
  react: z.ZodPrefault<z.ZodObject<{
2487
2975
  compiler: z.ZodDefault<z.ZodBoolean>;
2488
2976
  }, z.core.$strict>>;
@@ -2504,7 +2992,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2504
2992
  seoDescriptionSuffix: z.ZodDefault<z.ZodBoolean>;
2505
2993
  spec: z.ZodString;
2506
2994
  }, z.core.$strict>>>;
2507
- codeSamples: z.ZodDefault<z.ZodArray<z.ZodString>>;
2995
+ codeSamples: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodString>]>>;
2508
2996
  playground: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
2509
2997
  enabled: z.ZodDefault<z.ZodBoolean>;
2510
2998
  proxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
@@ -2528,14 +3016,14 @@ export declare const blumeConfigSchema: z.ZodObject<{
2528
3016
  label?: string | undefined;
2529
3017
  route?: string | undefined;
2530
3018
  }[];
2531
- codeSamples: string[];
3019
+ codeSamples: false | string[];
2532
3020
  playground: {
2533
3021
  enabled: boolean;
2534
3022
  proxy: string | boolean;
2535
3023
  };
2536
3024
  route: string;
2537
3025
  spec?: string | undefined;
2538
- }, "spec">, {
3026
+ }, "spec" | "overlays">, {
2539
3027
  expandSchemas: boolean;
2540
3028
  sources: {
2541
3029
  includeInLlms: boolean;
@@ -2546,7 +3034,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2546
3034
  label?: string | undefined;
2547
3035
  route?: string | undefined;
2548
3036
  }[];
2549
- codeSamples: string[];
3037
+ codeSamples: false | string[];
2550
3038
  playground: {
2551
3039
  enabled: boolean;
2552
3040
  proxy: string | boolean;
@@ -2570,7 +3058,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2570
3058
  spec: z.ZodString;
2571
3059
  endpoint: z.ZodOptional<z.ZodString>;
2572
3060
  }, z.core.$strict>>>;
2573
- codeSamples: z.ZodDefault<z.ZodArray<z.ZodString>>;
3061
+ codeSamples: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodString>]>>;
2574
3062
  playground: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
2575
3063
  enabled: z.ZodDefault<z.ZodBoolean>;
2576
3064
  proxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
@@ -2594,7 +3082,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2594
3082
  route?: string | undefined;
2595
3083
  endpoint?: string | undefined;
2596
3084
  }[];
2597
- codeSamples: string[];
3085
+ codeSamples: false | string[];
2598
3086
  playground: {
2599
3087
  enabled: boolean;
2600
3088
  proxy: string | boolean;
@@ -2602,7 +3090,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2602
3090
  route: string;
2603
3091
  endpoint?: string | undefined;
2604
3092
  spec?: string | undefined;
2605
- }, "spec">, {
3093
+ }, "spec" | "overlays">, {
2606
3094
  sources: {
2607
3095
  includeInLlms: boolean;
2608
3096
  includeInSearch: boolean;
@@ -2613,7 +3101,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2613
3101
  route?: string | undefined;
2614
3102
  endpoint?: string | undefined;
2615
3103
  }[];
2616
- codeSamples: string[];
3104
+ codeSamples: false | string[];
2617
3105
  playground: {
2618
3106
  enabled: boolean;
2619
3107
  proxy: string | boolean;
@@ -2628,6 +3116,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2628
3116
  kind: z.ZodLiteral<"openapi">;
2629
3117
  options: z.ZodPipe<z.ZodObject<{
2630
3118
  expandSchemas: z.ZodDefault<z.ZodBoolean>;
3119
+ overlays: z.ZodOptional<z.ZodArray<z.ZodString>>;
2631
3120
  sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
2632
3121
  includeInLlms: z.ZodDefault<z.ZodBoolean>;
2633
3122
  includeInSearch: z.ZodDefault<z.ZodBoolean>;
@@ -2636,8 +3125,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
2636
3125
  route: z.ZodOptional<z.ZodString>;
2637
3126
  seoDescriptionSuffix: z.ZodDefault<z.ZodBoolean>;
2638
3127
  spec: z.ZodString;
3128
+ overlays: z.ZodDefault<z.ZodArray<z.ZodString>>;
2639
3129
  }, z.core.$strict>>>;
2640
- codeSamples: z.ZodDefault<z.ZodArray<z.ZodString>>;
3130
+ codeSamples: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodString>]>>;
2641
3131
  playground: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
2642
3132
  enabled: z.ZodDefault<z.ZodBoolean>;
2643
3133
  proxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
@@ -2658,17 +3148,19 @@ export declare const blumeConfigSchema: z.ZodObject<{
2658
3148
  noindex: boolean;
2659
3149
  seoDescriptionSuffix: boolean;
2660
3150
  spec: string;
3151
+ overlays: string[];
2661
3152
  label?: string | undefined;
2662
3153
  route?: string | undefined;
2663
3154
  }[];
2664
- codeSamples: string[];
3155
+ codeSamples: false | string[];
2665
3156
  playground: {
2666
3157
  enabled: boolean;
2667
3158
  proxy: string | boolean;
2668
3159
  };
2669
3160
  route: string;
3161
+ overlays?: string[] | undefined;
2670
3162
  spec?: string | undefined;
2671
- }, "spec">, {
3163
+ }, "spec" | "overlays">, {
2672
3164
  expandSchemas: boolean;
2673
3165
  sources: {
2674
3166
  includeInLlms: boolean;
@@ -2676,15 +3168,17 @@ export declare const blumeConfigSchema: z.ZodObject<{
2676
3168
  noindex: boolean;
2677
3169
  seoDescriptionSuffix: boolean;
2678
3170
  spec: string;
3171
+ overlays: string[];
2679
3172
  label?: string | undefined;
2680
3173
  route?: string | undefined;
2681
3174
  }[];
2682
- codeSamples: string[];
3175
+ codeSamples: false | string[];
2683
3176
  playground: {
2684
3177
  enabled: boolean;
2685
3178
  proxy: string | boolean;
2686
3179
  };
2687
3180
  route: string;
3181
+ overlays?: string[] | undefined;
2688
3182
  spec?: string | undefined;
2689
3183
  }>>;
2690
3184
  requiredSecrets: z.ZodArray<z.ZodString>;
@@ -2692,10 +3186,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
2692
3186
  }, z.core.$strict>, z.ZodObject<{
2693
3187
  kind: z.ZodLiteral<"scalar">;
2694
3188
  options: z.ZodPipe<z.ZodObject<{
3189
+ overlays: z.ZodOptional<z.ZodArray<z.ZodString>>;
2695
3190
  route: z.ZodDefault<z.ZodString>;
2696
3191
  sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
2697
3192
  label: z.ZodOptional<z.ZodString>;
2698
3193
  noindex: z.ZodDefault<z.ZodBoolean>;
3194
+ overlays: z.ZodDefault<z.ZodArray<z.ZodString>>;
2699
3195
  route: z.ZodOptional<z.ZodString>;
2700
3196
  spec: z.ZodString;
2701
3197
  }, z.core.$strict>>>;
@@ -2706,10 +3202,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
2706
3202
  route: string;
2707
3203
  sources: {
2708
3204
  noindex: boolean;
3205
+ overlays: string[];
2709
3206
  spec: string;
2710
3207
  label?: string | undefined;
2711
3208
  route?: string | undefined;
2712
3209
  }[];
3210
+ overlays?: string[] | undefined;
2713
3211
  spec?: string | undefined;
2714
3212
  theme?: string | undefined;
2715
3213
  }>>;
@@ -2733,14 +3231,14 @@ export declare const blumeConfigSchema: z.ZodObject<{
2733
3231
  label?: string | undefined;
2734
3232
  route?: string | undefined;
2735
3233
  }[];
2736
- codeSamples: string[];
3234
+ codeSamples: false | string[];
2737
3235
  playground: {
2738
3236
  enabled: boolean;
2739
3237
  proxy: string | boolean;
2740
3238
  };
2741
3239
  route: string;
2742
3240
  spec?: string | undefined;
2743
- }, "spec">;
3241
+ }, "spec" | "overlays">;
2744
3242
  requiredSecrets: string[];
2745
3243
  runtimeDeps: string[];
2746
3244
  } | {
@@ -2756,7 +3254,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2756
3254
  route?: string | undefined;
2757
3255
  endpoint?: string | undefined;
2758
3256
  }[];
2759
- codeSamples: string[];
3257
+ codeSamples: false | string[];
2760
3258
  playground: {
2761
3259
  enabled: boolean;
2762
3260
  proxy: string | boolean;
@@ -2764,7 +3262,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2764
3262
  route: string;
2765
3263
  endpoint?: string | undefined;
2766
3264
  spec?: string | undefined;
2767
- }, "spec">;
3265
+ }, "spec" | "overlays">;
2768
3266
  requiredSecrets: string[];
2769
3267
  runtimeDeps: string[];
2770
3268
  } | {
@@ -2777,17 +3275,19 @@ export declare const blumeConfigSchema: z.ZodObject<{
2777
3275
  noindex: boolean;
2778
3276
  seoDescriptionSuffix: boolean;
2779
3277
  spec: string;
3278
+ overlays: string[];
2780
3279
  label?: string | undefined;
2781
3280
  route?: string | undefined;
2782
3281
  }[];
2783
- codeSamples: string[];
3282
+ codeSamples: false | string[];
2784
3283
  playground: {
2785
3284
  enabled: boolean;
2786
3285
  proxy: string | boolean;
2787
3286
  };
2788
3287
  route: string;
3288
+ overlays?: string[] | undefined;
2789
3289
  spec?: string | undefined;
2790
- }, "spec">;
3290
+ }, "spec" | "overlays">;
2791
3291
  requiredSecrets: string[];
2792
3292
  runtimeDeps: string[];
2793
3293
  }>>>>;
@@ -3012,6 +3512,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
3012
3512
  }>>>>;
3013
3513
  }, z.core.$strict>>>;
3014
3514
  seo: z.ZodPrefault<z.ZodObject<{
3515
+ metatags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3015
3516
  og: z.ZodDefault<z.ZodObject<{
3016
3517
  description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
3017
3518
  enabled: z.ZodOptional<z.ZodBoolean>;
@@ -3259,6 +3760,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
3259
3760
  maxHeadingLevel?: number | undefined;
3260
3761
  minHeadingLevel?: number | undefined;
3261
3762
  }>>;
3763
+ variables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
3262
3764
  versions: z.ZodOptional<z.ZodObject<{
3263
3765
  archived: z.ZodDefault<z.ZodArray<z.ZodObject<{
3264
3766
  banner: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;