blume 2.0.3 → 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 (455) hide show
  1. package/AGENTS.md +1 -0
  2. package/CHANGELOG.md +48 -0
  3. package/README.md +1 -1
  4. package/dist/cli/{chunk-1d7ve1dm.js → chunk-0gz36akr.js} +18 -2
  5. package/dist/cli/{chunk-1d7ve1dm.js.map → chunk-0gz36akr.js.map} +3 -3
  6. package/dist/cli/{chunk-2eytanqx.js → chunk-1n228xqb.js} +2 -2
  7. package/dist/cli/{chunk-yfyb25rh.js → chunk-2f3ndkpw.js} +24 -8
  8. package/dist/cli/chunk-2f3ndkpw.js.map +14 -0
  9. package/dist/cli/{chunk-r20tn01b.js → chunk-2f7n4qzt.js} +8 -2
  10. package/dist/cli/{chunk-r20tn01b.js.map → chunk-2f7n4qzt.js.map} +3 -3
  11. package/dist/cli/{chunk-35d4wj9f.js → chunk-2n4ps1b3.js} +7 -7
  12. package/dist/cli/{chunk-j85vccga.js → chunk-43zcf4gz.js} +97 -57
  13. package/dist/cli/{chunk-j85vccga.js.map → chunk-43zcf4gz.js.map} +6 -6
  14. package/dist/cli/{chunk-e04dxsz1.js → chunk-4ejxbzee.js} +1 -1
  15. package/dist/cli/{chunk-5m5nmvyq.js → chunk-4h8z9vv5.js} +233 -39
  16. package/dist/cli/chunk-4h8z9vv5.js.map +16 -0
  17. package/dist/cli/{chunk-5f86nr5m.js → chunk-5cg2rzgf.js} +18 -16
  18. package/dist/cli/{chunk-5f86nr5m.js.map → chunk-5cg2rzgf.js.map} +2 -2
  19. package/dist/cli/{chunk-tzmab476.js → chunk-5ffywsmb.js} +4 -4
  20. package/dist/cli/{chunk-2z928egk.js → chunk-5wj2qwn2.js} +5 -5
  21. package/dist/cli/chunk-6bm0xpgd.js +18 -0
  22. package/dist/cli/chunk-6bm0xpgd.js.map +10 -0
  23. package/dist/cli/{chunk-vg9r4eb9.js → chunk-713mngdq.js} +12 -5
  24. package/dist/cli/{chunk-vg9r4eb9.js.map → chunk-713mngdq.js.map} +3 -3
  25. package/dist/cli/{chunk-5xvm6tfj.js → chunk-9geymqns.js} +17 -15
  26. package/dist/cli/{chunk-5xvm6tfj.js.map → chunk-9geymqns.js.map} +2 -2
  27. package/dist/cli/{chunk-q58y5e6a.js → chunk-9xr4dgee.js} +26 -17
  28. package/dist/cli/chunk-9xr4dgee.js.map +10 -0
  29. package/dist/cli/{chunk-b07cmahc.js → chunk-amrb6hgh.js} +2 -2
  30. package/dist/cli/chunk-cm89scdv.js +443 -0
  31. package/dist/cli/chunk-cm89scdv.js.map +11 -0
  32. package/dist/cli/{chunk-akbpwfxc.js → chunk-cmtcnh9f.js} +2 -2
  33. package/dist/cli/chunk-cy5bm0j0.js +104 -0
  34. package/dist/cli/chunk-cy5bm0j0.js.map +11 -0
  35. package/dist/cli/{chunk-crgn1q09.js → chunk-e7vvk5ya.js} +4 -4
  36. package/dist/cli/{chunk-pehfxfta.js → chunk-g2z9x01v.js} +6 -98
  37. package/dist/cli/chunk-g2z9x01v.js.map +10 -0
  38. package/dist/cli/{chunk-tkacnehg.js → chunk-gp84za0h.js} +2 -2
  39. package/dist/cli/{chunk-wrr3j9w9.js → chunk-h2a48yhd.js} +186 -63
  40. package/dist/cli/chunk-h2a48yhd.js.map +36 -0
  41. package/dist/cli/{chunk-hm3vjy5s.js → chunk-jnwj5kjj.js} +14 -9
  42. package/dist/cli/{chunk-hm3vjy5s.js.map → chunk-jnwj5kjj.js.map} +4 -4
  43. package/dist/cli/chunk-kwrg63tm.js +31 -0
  44. package/dist/cli/chunk-kwrg63tm.js.map +10 -0
  45. package/dist/cli/{chunk-2hsdwb9n.js → chunk-nd1821sk.js} +18 -16
  46. package/dist/cli/{chunk-2hsdwb9n.js.map → chunk-nd1821sk.js.map} +2 -2
  47. package/dist/cli/{chunk-6dsbexzp.js → chunk-ntv4qrt7.js} +17 -15
  48. package/dist/cli/{chunk-6dsbexzp.js.map → chunk-ntv4qrt7.js.map} +2 -2
  49. package/dist/cli/{chunk-r9rcc4w7.js → chunk-p804f3pe.js} +7 -7
  50. package/dist/cli/{chunk-ey84smr6.js → chunk-py62fewh.js} +6 -6
  51. package/dist/cli/{chunk-ey84smr6.js.map → chunk-py62fewh.js.map} +1 -1
  52. package/dist/cli/chunk-q3wxxq39.js +126 -0
  53. package/dist/cli/chunk-q3wxxq39.js.map +11 -0
  54. package/dist/cli/{chunk-9t7a85s3.js → chunk-rekqz4qg.js} +23 -13
  55. package/dist/cli/chunk-rekqz4qg.js.map +10 -0
  56. package/dist/cli/{chunk-8ktnccpt.js → chunk-ta27feev.js} +1 -1
  57. package/dist/cli/{chunk-pv29h0wf.js → chunk-xkz5xbtv.js} +3476 -822
  58. package/dist/cli/chunk-xkz5xbtv.js.map +213 -0
  59. package/dist/cli/{chunk-a58773jm.js → chunk-y4ykbark.js} +2 -2
  60. package/dist/cli/{chunk-p3v96n38.js → chunk-y5h4r2y0.js} +4 -4
  61. package/dist/cli/{chunk-acanzt5p.js → chunk-yj17vs39.js} +6 -6
  62. package/dist/cli/{chunk-p73c0m7w.js → chunk-yxmk4pec.js} +16 -14
  63. package/dist/cli/{chunk-p73c0m7w.js.map → chunk-yxmk4pec.js.map} +2 -2
  64. package/dist/cli/{chunk-3em5wd2y.js → chunk-zccbjcj0.js} +4 -3
  65. package/dist/cli/{chunk-3em5wd2y.js.map → chunk-zccbjcj0.js.map} +2 -2
  66. package/dist/cli/{chunk-c8chx29p.js → chunk-zf748avv.js} +384 -207
  67. package/dist/cli/chunk-zf748avv.js.map +37 -0
  68. package/dist/cli/{chunk-g4hq16wv.js → chunk-zhvd6adm.js} +16 -14
  69. package/dist/cli/{chunk-g4hq16wv.js.map → chunk-zhvd6adm.js.map} +2 -2
  70. package/dist/cli/index.js +26 -20
  71. package/dist/cli/index.js.map +5 -5
  72. package/dist/types/ai/agent-surface.d.ts +8 -7
  73. package/dist/types/ai/ai-catalog.d.ts +7 -0
  74. package/dist/types/ai/ask-context.d.ts +22 -0
  75. package/dist/types/ai/ask.d.ts +271 -58
  76. package/dist/types/ai/index.d.ts +2 -2
  77. package/dist/types/ai/site-skill.d.ts +26 -0
  78. package/dist/types/ai/skills.d.ts +16 -0
  79. package/dist/types/astro/integration.d.ts +8 -0
  80. package/dist/types/captcha/hcaptcha.d.ts +27 -0
  81. package/dist/types/captcha/index.d.ts +28 -0
  82. package/dist/types/captcha/schema.d.ts +29 -0
  83. package/dist/types/captcha/turnstile.d.ts +28 -0
  84. package/dist/types/components/content/api-field.d.ts +59 -0
  85. package/dist/types/components/content/api-page.d.ts +95 -0
  86. package/dist/types/components/layout/nav-utils.d.ts +26 -0
  87. package/dist/types/components/openapi/helpers.d.ts +137 -0
  88. package/dist/types/components/openapi/security.d.ts +85 -0
  89. package/dist/types/consent/ethyca.d.ts +48 -0
  90. package/dist/types/consent/index.d.ts +37 -0
  91. package/dist/types/consent/native.d.ts +28 -0
  92. package/dist/types/consent/osano.d.ts +42 -0
  93. package/dist/types/consent/schema.d.ts +110 -0
  94. package/dist/types/core/config-input.d.ts +187 -20
  95. package/dist/types/core/data.d.ts +49 -4
  96. package/dist/types/core/footer.d.ts +8 -0
  97. package/dist/types/core/i18n-ui.d.ts +86 -0
  98. package/dist/types/core/includes.d.ts +8 -2
  99. package/dist/types/core/localizable.d.ts +7 -0
  100. package/dist/types/core/page-modes.d.ts +29 -0
  101. package/dist/types/core/redirect-patterns.d.ts +144 -0
  102. package/dist/types/core/related.d.ts +40 -0
  103. package/dist/types/core/schema.d.ts +551 -56
  104. package/dist/types/core/sources/read.d.ts +5 -0
  105. package/dist/types/core/types.d.ts +1 -1
  106. package/dist/types/core/variables.d.ts +42 -0
  107. package/dist/types/deploy/node-headers.d.ts +13 -2
  108. package/dist/types/deploy/platforms/cloudflare.d.ts +5 -0
  109. package/dist/types/deploy/platforms/netlify.d.ts +7 -0
  110. package/dist/types/deploy/platforms/vercel.d.ts +6 -0
  111. package/dist/types/deploy/redirects.d.ts +39 -11
  112. package/dist/types/deploy/vercel-negotiation.d.ts +9 -0
  113. package/dist/types/markdown/code-title.d.ts +17 -0
  114. package/dist/types/markdown/features.d.ts +3 -2
  115. package/dist/types/narration/build.d.ts +70 -0
  116. package/dist/types/narration/provider.d.ts +26 -0
  117. package/dist/types/narration/script.d.ts +154 -0
  118. package/dist/types/openapi/model.d.ts +12 -6
  119. package/dist/types/openapi/overlay.d.ts +54 -0
  120. package/dist/types/openapi/parse.d.ts +13 -0
  121. package/dist/types/openapi/references.d.ts +14 -4
  122. package/dist/types/ratelimit/cloudflare.d.ts +39 -0
  123. package/dist/types/ratelimit/index.d.ts +27 -0
  124. package/dist/types/ratelimit/memory.d.ts +36 -0
  125. package/dist/types/ratelimit/schema.d.ts +111 -0
  126. package/dist/types/ratelimit/upstash.d.ts +21 -0
  127. package/dist/types/ratelimit/wrangler.d.ts +23 -0
  128. package/dist/types/reference/asyncapi.d.ts +10 -10
  129. package/dist/types/reference/graphql.d.ts +13 -10
  130. package/dist/types/reference/openapi.d.ts +33 -12
  131. package/dist/types/reference/options.d.ts +45 -5
  132. package/dist/types/reference/scalar.d.ts +13 -0
  133. package/dist/types/reference/schema.d.ts +60 -36
  134. package/dist/types/search/documents.d.ts +12 -1
  135. package/dist/types/search/orama-index.d.ts +4 -0
  136. package/dist/types/seo/metatags.d.ts +20 -0
  137. package/docs/02-deployment.mdx +41 -5
  138. package/docs/03-upgrading.mdx +4 -4
  139. package/docs/04-migrating.mdx +1 -1
  140. package/docs/advanced/changelog.mdx +2 -2
  141. package/docs/advanced/skills.mdx +14 -0
  142. package/docs/cli/audit.mdx +21 -1
  143. package/docs/cli/index.mdx +1 -0
  144. package/docs/configuration/analytics.mdx +3 -1
  145. package/docs/configuration/assistant.mdx +188 -36
  146. package/docs/configuration/consent.mdx +100 -0
  147. package/docs/configuration/customization.mdx +4 -4
  148. package/docs/configuration/index.mdx +63 -5
  149. package/docs/configuration/meta.ts +3 -0
  150. package/docs/configuration/narration.mdx +119 -0
  151. package/docs/configuration/rate-limiting.mdx +69 -0
  152. package/docs/configuration/search.mdx +29 -1
  153. package/docs/configuration/theming.mdx +3 -1
  154. package/docs/content/components.mdx +106 -0
  155. package/docs/content/frontmatter.mdx +76 -0
  156. package/docs/content/i18n.mdx +38 -3
  157. package/docs/content/includes.mdx +16 -0
  158. package/docs/content/meta.mdx +1 -0
  159. package/docs/content/meta.ts +1 -0
  160. package/docs/content/navigation.mdx +28 -6
  161. package/docs/content/sources/contentful.mdx +32 -0
  162. package/docs/content/sources/custom.mdx +39 -0
  163. package/docs/content/sources/github-releases.mdx +31 -0
  164. package/docs/content/sources/index.mdx +91 -0
  165. package/docs/content/sources/meta.ts +16 -0
  166. package/docs/content/sources/notion.mdx +32 -0
  167. package/docs/content/sources/obsidian.mdx +37 -0
  168. package/docs/content/sources/payload.mdx +30 -0
  169. package/docs/content/sources/remote-mdx.mdx +40 -0
  170. package/docs/content/sources/sanity.mdx +29 -0
  171. package/docs/content/sources/strapi.mdx +31 -0
  172. package/docs/content/syntax.mdx +67 -2
  173. package/docs/content/variables.mdx +41 -0
  174. package/docs/discoverability/agent-discovery.mdx +29 -2
  175. package/docs/discoverability/index.mdx +1 -1
  176. package/docs/discoverability/llms-txt.mdx +1 -1
  177. package/docs/discoverability/metadata.mdx +17 -0
  178. package/docs/references/api-pages.mdx +74 -0
  179. package/docs/references/asyncapi.mdx +1 -1
  180. package/docs/references/graphql.mdx +2 -2
  181. package/docs/references/meta.ts +1 -1
  182. package/docs/references/openapi.mdx +102 -3
  183. package/docs/references/scalar.mdx +3 -1
  184. package/package.json +36 -1
  185. package/skills/blume/SKILL.md +3 -0
  186. package/skills/blume-migrate/SKILL.md +5 -5
  187. package/skills/blume-migrate/references/docusaurus.md +3 -3
  188. package/skills/blume-migrate/references/mintlify.md +37 -19
  189. package/skills/blume-migrate/references/nextra.md +2 -2
  190. package/skills/blume-migrate/references/starlight.md +2 -1
  191. package/skills/blume-migrate/scripts/mintlify-codemod.mjs +60 -14
  192. package/skills/blume-write-skill/SKILL.md +82 -0
  193. package/src/ai/agent-readability.ts +2 -1
  194. package/src/ai/agent-surface.ts +9 -7
  195. package/src/ai/ai-catalog.ts +6 -3
  196. package/src/ai/ask-context.ts +73 -20
  197. package/src/ai/ask-data.ts +6 -0
  198. package/src/ai/ask-tools.ts +142 -0
  199. package/src/ai/ask.ts +354 -76
  200. package/src/ai/component-markdown.ts +75 -0
  201. package/src/ai/cors.ts +2 -0
  202. package/src/ai/index.ts +12 -0
  203. package/src/ai/llms.ts +6 -2
  204. package/src/ai/markdown.ts +2 -1
  205. package/src/ai/mcp/data.ts +6 -0
  206. package/src/ai/openapi-components.ts +9 -3
  207. package/src/ai/site-skill.ts +274 -0
  208. package/src/ai/skills.ts +35 -2
  209. package/src/ai/write-skill.ts +97 -0
  210. package/src/astro/generate.ts +132 -18
  211. package/src/astro/index.ts +1 -0
  212. package/src/astro/integration.ts +35 -0
  213. package/src/astro/module-types.ts +6 -0
  214. package/src/astro/templates.ts +283 -30
  215. package/src/astro/variables.ts +31 -0
  216. package/src/audit/catalog.ts +19 -0
  217. package/src/audit/checks/contrast.ts +183 -0
  218. package/src/audit/checks/i18n.ts +2 -3
  219. package/src/audit/checks/indexability.ts +2 -3
  220. package/src/audit/checks/links.ts +5 -12
  221. package/src/audit/checks/sitemap.ts +2 -3
  222. package/src/audit/redirects.ts +46 -15
  223. package/src/audit/run.ts +2 -0
  224. package/src/audit/types.ts +2 -1
  225. package/src/blume-modules.d.ts +7 -0
  226. package/src/captcha/client.ts +152 -0
  227. package/src/captcha/hcaptcha.ts +36 -0
  228. package/src/captcha/index.ts +28 -0
  229. package/src/captcha/schema.ts +32 -0
  230. package/src/captcha/turnstile.ts +38 -0
  231. package/src/captcha/verify.ts +71 -0
  232. package/src/cli/command-meta.ts +5 -0
  233. package/src/cli/commands/doctor.ts +22 -16
  234. package/src/cli/commands/skill.ts +96 -0
  235. package/src/cli/index.ts +5 -0
  236. package/src/cli/required-secrets.ts +71 -29
  237. package/src/components/BlumePage.astro +2 -0
  238. package/src/components/content/ApiEndpoint.astro +18 -0
  239. package/src/components/content/ApiField.astro +79 -0
  240. package/src/components/content/ApiPlayground.astro +62 -0
  241. package/src/components/content/ApiRail.astro +19 -0
  242. package/src/components/content/Color.astro +1 -0
  243. package/src/components/content/FileTree.astro +1 -0
  244. package/src/components/content/GithubInfo.astro +1 -0
  245. package/src/components/content/Panel.astro +1 -0
  246. package/src/components/content/ParamField.astro +25 -0
  247. package/src/components/content/RequestExample.astro +17 -0
  248. package/src/components/content/ResponseExample.astro +17 -0
  249. package/src/components/content/ResponseField.astro +32 -0
  250. package/src/components/content/Step.astro +1 -0
  251. package/src/components/content/Tile.astro +1 -0
  252. package/src/components/content/Tooltip.astro +1 -0
  253. package/src/components/content/Tree.astro +1 -0
  254. package/src/components/content/TypeTable.astro +4 -1
  255. package/src/components/content/View.astro +21 -0
  256. package/src/components/content/ViewSwitcher.astro +168 -0
  257. package/src/components/content/api-field.ts +100 -0
  258. package/src/components/content/api-page.ts +224 -0
  259. package/src/components/content/view-switcher.ts +71 -0
  260. package/src/components/index.ts +2 -0
  261. package/src/components/islands/Assistant.astro +10 -1
  262. package/src/components/islands/assistant.tsx +104 -14
  263. package/src/components/islands/code-question.ts +62 -0
  264. package/src/components/islands/hooks.ts +110 -21
  265. package/src/components/islands/support-link.ts +68 -0
  266. package/src/components/layout/Analytics.astro +11 -2
  267. package/src/components/layout/Banner.astro +14 -10
  268. package/src/components/layout/Breadcrumbs.astro +6 -2
  269. package/src/components/layout/ConsentBanner.astro +62 -0
  270. package/src/components/layout/ConsentHead.astro +38 -0
  271. package/src/components/layout/Directory.astro +94 -0
  272. package/src/components/layout/DrawerSwitchers.astro +51 -0
  273. package/src/components/layout/Empty.astro +2 -2
  274. package/src/components/layout/Header.astro +122 -80
  275. package/src/components/layout/LanguageSwitcher.astro +48 -15
  276. package/src/components/layout/NarrationPlayer.astro +1085 -0
  277. package/src/components/layout/NavSelector.astro +33 -7
  278. package/src/components/layout/PageFeedback.astro +54 -49
  279. package/src/components/layout/PageLayout.astro +71 -3
  280. package/src/components/layout/ReferenceLayout.astro +17 -6
  281. package/src/components/layout/RelatedPages.astro +42 -0
  282. package/src/components/layout/RootLayout.astro +308 -45
  283. package/src/components/layout/Search.astro +31 -17
  284. package/src/components/layout/SiteFooter.astro +124 -0
  285. package/src/components/layout/SiteMetatags.astro +16 -0
  286. package/src/components/layout/consent/native.ts +79 -0
  287. package/src/components/layout/consent/types.ts +37 -0
  288. package/src/components/layout/footer-links.ts +53 -0
  289. package/src/components/layout/footer-socials.ts +87 -0
  290. package/src/components/layout/locale-redirect.ts +107 -0
  291. package/src/components/layout/nav-utils.ts +83 -0
  292. package/src/components/layout/page-feedback.ts +96 -0
  293. package/src/components/layout/search/analytics.ts +98 -0
  294. package/src/components/layout/search/flexsearch.ts +17 -5
  295. package/src/components/layout/search/orama-cloud.ts +26 -14
  296. package/src/components/layout/search/types.ts +20 -0
  297. package/src/components/layout/search/typesense.ts +5 -1
  298. package/src/components/openapi/Operation.astro +161 -13
  299. package/src/components/openapi/RequestBody.astro +6 -4
  300. package/src/components/openapi/RequestPanel.astro +59 -7
  301. package/src/components/openapi/Responses.astro +6 -4
  302. package/src/components/openapi/async-snippets.ts +4 -4
  303. package/src/components/openapi/code-samples.ts +97 -0
  304. package/src/components/openapi/security.ts +6 -3
  305. package/src/components/openapi/snippets.ts +869 -8
  306. package/src/components/props.ts +6 -0
  307. package/src/consent/client.ts +95 -0
  308. package/src/consent/clients.ts +19 -0
  309. package/src/consent/ethyca.ts +71 -0
  310. package/src/consent/head.ts +24 -0
  311. package/src/consent/index.ts +37 -0
  312. package/src/consent/init.ts +29 -0
  313. package/src/consent/native.ts +36 -0
  314. package/src/consent/osano.ts +59 -0
  315. package/src/consent/schema.ts +30 -0
  316. package/src/core/builtin-tags.ts +5 -0
  317. package/src/core/client-address.ts +19 -0
  318. package/src/core/config-input.ts +194 -20
  319. package/src/core/data.ts +44 -4
  320. package/src/core/diagnostics.ts +3 -2
  321. package/src/core/footer.ts +26 -0
  322. package/src/core/graph.ts +39 -36
  323. package/src/core/i18n-ui.ts +82 -2
  324. package/src/core/includes.ts +20 -3
  325. package/src/core/links.ts +16 -2
  326. package/src/core/localizable.ts +26 -0
  327. package/src/core/navigation.ts +43 -12
  328. package/src/core/page-modes.ts +56 -0
  329. package/src/core/project-graph.ts +111 -5
  330. package/src/core/redirect-patterns.ts +491 -0
  331. package/src/core/related.ts +131 -0
  332. package/src/core/schema.ts +318 -64
  333. package/src/core/sources/normalize.ts +2 -1
  334. package/src/core/sources/read.ts +8 -3
  335. package/src/core/types.ts +1 -1
  336. package/src/core/ui-packs/ar.ts +43 -0
  337. package/src/core/ui-packs/bg.ts +45 -0
  338. package/src/core/ui-packs/bn.ts +43 -0
  339. package/src/core/ui-packs/ca.ts +46 -0
  340. package/src/core/ui-packs/cs.ts +44 -0
  341. package/src/core/ui-packs/da.ts +45 -0
  342. package/src/core/ui-packs/de.ts +46 -0
  343. package/src/core/ui-packs/el.ts +45 -0
  344. package/src/core/ui-packs/es.ts +46 -0
  345. package/src/core/ui-packs/fa.ts +45 -0
  346. package/src/core/ui-packs/fi.ts +45 -0
  347. package/src/core/ui-packs/fr.ts +46 -0
  348. package/src/core/ui-packs/he.ts +43 -0
  349. package/src/core/ui-packs/hi.ts +44 -0
  350. package/src/core/ui-packs/hr.ts +45 -0
  351. package/src/core/ui-packs/hu.ts +44 -0
  352. package/src/core/ui-packs/id.ts +45 -0
  353. package/src/core/ui-packs/it.ts +45 -0
  354. package/src/core/ui-packs/ja.ts +45 -0
  355. package/src/core/ui-packs/ko.ts +44 -0
  356. package/src/core/ui-packs/nl.ts +46 -0
  357. package/src/core/ui-packs/no.ts +44 -0
  358. package/src/core/ui-packs/pl.ts +45 -0
  359. package/src/core/ui-packs/pt-br.ts +46 -0
  360. package/src/core/ui-packs/pt.ts +45 -0
  361. package/src/core/ui-packs/ro.ts +45 -0
  362. package/src/core/ui-packs/ru.ts +45 -0
  363. package/src/core/ui-packs/sk.ts +44 -0
  364. package/src/core/ui-packs/sr.ts +45 -0
  365. package/src/core/ui-packs/sv.ts +44 -0
  366. package/src/core/ui-packs/th.ts +43 -0
  367. package/src/core/ui-packs/tr.ts +45 -0
  368. package/src/core/ui-packs/uk.ts +45 -0
  369. package/src/core/ui-packs/vi.ts +45 -0
  370. package/src/core/ui-packs/zh-tw.ts +43 -0
  371. package/src/core/ui-packs/zh.ts +43 -0
  372. package/src/core/variables.ts +103 -0
  373. package/src/deploy/artifacts.ts +77 -8
  374. package/src/deploy/cloudflare-negotiation.ts +35 -5
  375. package/src/deploy/headers.ts +2 -1
  376. package/src/deploy/node-headers.ts +63 -9
  377. package/src/deploy/platforms/cloudflare.ts +32 -0
  378. package/src/deploy/platforms/netlify.ts +33 -1
  379. package/src/deploy/platforms/vercel.ts +37 -2
  380. package/src/deploy/redirects.ts +91 -24
  381. package/src/deploy/vercel-negotiation.ts +36 -0
  382. package/src/markdown/api-rail.ts +259 -0
  383. package/src/markdown/code-title.ts +35 -9
  384. package/src/markdown/features.ts +3 -2
  385. package/src/markdown/fence-meta.ts +2 -0
  386. package/src/markdown/include.ts +11 -1
  387. package/src/markdown/index.ts +28 -5
  388. package/src/markdown/math.ts +4 -4
  389. package/src/markdown/variables.ts +56 -0
  390. package/src/markdown/views.ts +82 -0
  391. package/src/narration/build.ts +412 -0
  392. package/src/narration/player.ts +249 -0
  393. package/src/narration/provider.ts +29 -0
  394. package/src/narration/script.ts +592 -0
  395. package/src/og/card.ts +7 -6
  396. package/src/openapi/model.ts +57 -24
  397. package/src/openapi/overlay.ts +256 -0
  398. package/src/openapi/parse.ts +55 -2
  399. package/src/openapi/references.ts +21 -5
  400. package/src/openapi/render-mdx.ts +5 -1
  401. package/src/openapi/scalar.ts +40 -6
  402. package/src/openapi/source.ts +1 -1
  403. package/src/ratelimit/cloudflare.ts +54 -0
  404. package/src/ratelimit/index.ts +30 -0
  405. package/src/ratelimit/memory.ts +45 -0
  406. package/src/ratelimit/runtime.ts +229 -0
  407. package/src/ratelimit/schema.ts +28 -0
  408. package/src/ratelimit/upstash.ts +30 -0
  409. package/src/ratelimit/wrangler.ts +70 -0
  410. package/src/reference/asyncapi.ts +2 -2
  411. package/src/reference/graphql.ts +5 -2
  412. package/src/reference/openapi.ts +21 -7
  413. package/src/reference/options.ts +51 -7
  414. package/src/reference/scalar.ts +33 -8
  415. package/src/registry/eject.ts +20 -4
  416. package/src/registry/registry.ts +7 -0
  417. package/src/search/documents.ts +26 -2
  418. package/src/search/orama-index.ts +28 -3
  419. package/src/search/pagefind-ranking.ts +39 -0
  420. package/src/search/sync/algolia.ts +15 -4
  421. package/src/search/sync/orama-cloud.ts +3 -0
  422. package/src/search/sync/typesense.ts +5 -0
  423. package/src/seo/metatags.ts +67 -0
  424. package/src/theme/chrome-icons.ts +1 -0
  425. package/src/theme/color.ts +500 -0
  426. package/src/theme/entry.ts +56 -3
  427. package/src/theme/palette.ts +121 -45
  428. package/src/translate/prompts.ts +1 -0
  429. package/src/translate/validate.ts +8 -2
  430. package/src/upgrade/upgrade.ts +4 -171
  431. package/dist/cli/chunk-364znk6q.js +0 -75
  432. package/dist/cli/chunk-364znk6q.js.map +0 -11
  433. package/dist/cli/chunk-5m5nmvyq.js.map +0 -13
  434. package/dist/cli/chunk-9t7a85s3.js.map +0 -10
  435. package/dist/cli/chunk-c8chx29p.js.map +0 -36
  436. package/dist/cli/chunk-pehfxfta.js.map +0 -10
  437. package/dist/cli/chunk-pv29h0wf.js.map +0 -190
  438. package/dist/cli/chunk-q58y5e6a.js.map +0 -10
  439. package/dist/cli/chunk-wrr3j9w9.js.map +0 -35
  440. package/dist/cli/chunk-yfyb25rh.js.map +0 -14
  441. package/docs/content/sources.mdx +0 -334
  442. /package/dist/cli/{chunk-2eytanqx.js.map → chunk-1n228xqb.js.map} +0 -0
  443. /package/dist/cli/{chunk-35d4wj9f.js.map → chunk-2n4ps1b3.js.map} +0 -0
  444. /package/dist/cli/{chunk-e04dxsz1.js.map → chunk-4ejxbzee.js.map} +0 -0
  445. /package/dist/cli/{chunk-tzmab476.js.map → chunk-5ffywsmb.js.map} +0 -0
  446. /package/dist/cli/{chunk-2z928egk.js.map → chunk-5wj2qwn2.js.map} +0 -0
  447. /package/dist/cli/{chunk-b07cmahc.js.map → chunk-amrb6hgh.js.map} +0 -0
  448. /package/dist/cli/{chunk-akbpwfxc.js.map → chunk-cmtcnh9f.js.map} +0 -0
  449. /package/dist/cli/{chunk-crgn1q09.js.map → chunk-e7vvk5ya.js.map} +0 -0
  450. /package/dist/cli/{chunk-tkacnehg.js.map → chunk-gp84za0h.js.map} +0 -0
  451. /package/dist/cli/{chunk-r9rcc4w7.js.map → chunk-p804f3pe.js.map} +0 -0
  452. /package/dist/cli/{chunk-8ktnccpt.js.map → chunk-ta27feev.js.map} +0 -0
  453. /package/dist/cli/{chunk-a58773jm.js.map → chunk-y4ykbark.js.map} +0 -0
  454. /package/dist/cli/{chunk-p3v96n38.js.map → chunk-y5h4r2y0.js.map} +0 -0
  455. /package/dist/cli/{chunk-acanzt5p.js.map → chunk-yj17vs39.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,17 @@ 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">;
536
635
  options: z.ZodObject<{
537
- baseUrl: z.ZodDefault<z.ZodURL>;
538
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
+ }>>;
539
645
  apiKeyEnv: z.ZodDefault<z.ZodString>;
540
646
  headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
541
647
  providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
@@ -543,12 +649,9 @@ declare const aiConfigSchema: z.ZodObject<{
543
649
  requiredSecrets: z.ZodArray<z.ZodString>;
544
650
  runtimeDeps: z.ZodArray<z.ZodString>;
545
651
  }, z.core.$strict>, z.ZodObject<{
546
- kind: z.ZodLiteral<"openai-compatible">;
652
+ kind: z.ZodLiteral<"grok">;
547
653
  options: z.ZodObject<{
548
- apiKeyEnv: z.ZodString;
549
- baseUrl: z.ZodURL;
550
654
  model: z.ZodString;
551
- name: z.ZodDefault<z.ZodString>;
552
655
  reasoning: z.ZodOptional<z.ZodEnum<{
553
656
  none: "none";
554
657
  minimal: "minimal";
@@ -557,6 +660,55 @@ declare const aiConfigSchema: z.ZodObject<{
557
660
  high: "high";
558
661
  xhigh: "xhigh";
559
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
+ }>>;
681
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
682
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
683
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
684
+ }, z.core.$strict>;
685
+ requiredSecrets: z.ZodArray<z.ZodString>;
686
+ runtimeDeps: z.ZodArray<z.ZodString>;
687
+ }, z.core.$strict>, z.ZodObject<{
688
+ kind: z.ZodLiteral<"llmgateway">;
689
+ options: z.ZodObject<{
690
+ baseUrl: z.ZodDefault<z.ZodURL>;
691
+ model: z.ZodString;
692
+ reasoning: z.ZodOptional<z.ZodEnum<{
693
+ none: "none";
694
+ minimal: "minimal";
695
+ low: "low";
696
+ medium: "medium";
697
+ high: "high";
698
+ xhigh: "xhigh";
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";
@@ -1078,16 +1305,111 @@ export declare const blumeConfigSchema: z.ZodObject<{
1078
1305
  requiredSecrets: z.ZodArray<z.ZodString>;
1079
1306
  runtimeDeps: z.ZodArray<z.ZodString>;
1080
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>>;
1081
1330
  banner: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1082
- content: z.ZodString;
1331
+ content: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
1083
1332
  dismissible: z.ZodDefault<z.ZodBoolean>;
1084
1333
  id: z.ZodOptional<z.ZodString>;
1085
1334
  link: z.ZodOptional<z.ZodObject<{
1086
1335
  href: z.ZodString;
1087
- text: z.ZodString;
1336
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
1088
1337
  }, z.core.$strict>>;
1089
1338
  }, z.core.$strict>]>>;
1090
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>>;
1091
1413
  content: z.ZodPrefault<z.ZodPipe<z.ZodObject<{
1092
1414
  defaultType: z.ZodDefault<z.ZodString>;
1093
1415
  exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -2364,7 +2686,43 @@ export declare const blumeConfigSchema: z.ZodObject<{
2364
2686
  epub: boolean;
2365
2687
  pdf: boolean;
2366
2688
  }>>>;
2367
- 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>>;
2368
2726
  frontmatter: z.ZodPrefault<z.ZodObject<{
2369
2727
  extend: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodCustom<StandardSchema<unknown, unknown>, StandardSchema<unknown, unknown>>>>;
2370
2728
  }, z.core.$strict>>;
@@ -2393,6 +2751,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2393
2751
  dir: "dir";
2394
2752
  dot: "dot";
2395
2753
  }>>;
2754
+ routeByBrowserLanguage: z.ZodDefault<z.ZodBoolean>;
2396
2755
  ui: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>>;
2397
2756
  }, z.core.$strict>>;
2398
2757
  image: z.ZodPrefault<z.ZodObject<{
@@ -2431,19 +2790,65 @@ export declare const blumeConfigSchema: z.ZodObject<{
2431
2790
  headingAnchors: z.ZodDefault<z.ZodBoolean>;
2432
2791
  imageZoom: z.ZodDefault<z.ZodBoolean>;
2433
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
+ }>>>;
2434
2839
  navigation: z.ZodPrefault<z.ZodObject<{
2435
2840
  actions: z.ZodDefault<z.ZodArray<z.ZodObject<{
2436
2841
  href: z.ZodString;
2437
- label: z.ZodString;
2842
+ label: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
2438
2843
  }, z.core.$strict>>>;
2439
2844
  cta: z.ZodOptional<z.ZodObject<{
2440
2845
  href: z.ZodString;
2441
- label: z.ZodString;
2846
+ label: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
2442
2847
  }, z.core.$strict>>;
2443
2848
  featured: z.ZodDefault<z.ZodArray<z.ZodObject<{
2444
2849
  href: z.ZodString;
2445
2850
  icon: z.ZodOptional<z.ZodString>;
2446
- label: z.ZodString;
2851
+ label: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
2447
2852
  }, z.core.$strict>>>;
2448
2853
  repo: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodURL]>>;
2449
2854
  selectors: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -2490,6 +2895,82 @@ export declare const blumeConfigSchema: z.ZodObject<{
2490
2895
  path: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
2491
2896
  }, z.core.$strict>>>;
2492
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>>;
2493
2974
  react: z.ZodPrefault<z.ZodObject<{
2494
2975
  compiler: z.ZodDefault<z.ZodBoolean>;
2495
2976
  }, z.core.$strict>>;
@@ -2511,7 +2992,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2511
2992
  seoDescriptionSuffix: z.ZodDefault<z.ZodBoolean>;
2512
2993
  spec: z.ZodString;
2513
2994
  }, z.core.$strict>>>;
2514
- codeSamples: z.ZodDefault<z.ZodArray<z.ZodString>>;
2995
+ codeSamples: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodString>]>>;
2515
2996
  playground: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
2516
2997
  enabled: z.ZodDefault<z.ZodBoolean>;
2517
2998
  proxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
@@ -2535,14 +3016,14 @@ export declare const blumeConfigSchema: z.ZodObject<{
2535
3016
  label?: string | undefined;
2536
3017
  route?: string | undefined;
2537
3018
  }[];
2538
- codeSamples: string[];
3019
+ codeSamples: false | string[];
2539
3020
  playground: {
2540
3021
  enabled: boolean;
2541
3022
  proxy: string | boolean;
2542
3023
  };
2543
3024
  route: string;
2544
3025
  spec?: string | undefined;
2545
- }, "spec">, {
3026
+ }, "spec" | "overlays">, {
2546
3027
  expandSchemas: boolean;
2547
3028
  sources: {
2548
3029
  includeInLlms: boolean;
@@ -2553,7 +3034,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2553
3034
  label?: string | undefined;
2554
3035
  route?: string | undefined;
2555
3036
  }[];
2556
- codeSamples: string[];
3037
+ codeSamples: false | string[];
2557
3038
  playground: {
2558
3039
  enabled: boolean;
2559
3040
  proxy: string | boolean;
@@ -2577,7 +3058,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2577
3058
  spec: z.ZodString;
2578
3059
  endpoint: z.ZodOptional<z.ZodString>;
2579
3060
  }, z.core.$strict>>>;
2580
- codeSamples: z.ZodDefault<z.ZodArray<z.ZodString>>;
3061
+ codeSamples: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodString>]>>;
2581
3062
  playground: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
2582
3063
  enabled: z.ZodDefault<z.ZodBoolean>;
2583
3064
  proxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
@@ -2601,7 +3082,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2601
3082
  route?: string | undefined;
2602
3083
  endpoint?: string | undefined;
2603
3084
  }[];
2604
- codeSamples: string[];
3085
+ codeSamples: false | string[];
2605
3086
  playground: {
2606
3087
  enabled: boolean;
2607
3088
  proxy: string | boolean;
@@ -2609,7 +3090,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2609
3090
  route: string;
2610
3091
  endpoint?: string | undefined;
2611
3092
  spec?: string | undefined;
2612
- }, "spec">, {
3093
+ }, "spec" | "overlays">, {
2613
3094
  sources: {
2614
3095
  includeInLlms: boolean;
2615
3096
  includeInSearch: boolean;
@@ -2620,7 +3101,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2620
3101
  route?: string | undefined;
2621
3102
  endpoint?: string | undefined;
2622
3103
  }[];
2623
- codeSamples: string[];
3104
+ codeSamples: false | string[];
2624
3105
  playground: {
2625
3106
  enabled: boolean;
2626
3107
  proxy: string | boolean;
@@ -2635,6 +3116,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2635
3116
  kind: z.ZodLiteral<"openapi">;
2636
3117
  options: z.ZodPipe<z.ZodObject<{
2637
3118
  expandSchemas: z.ZodDefault<z.ZodBoolean>;
3119
+ overlays: z.ZodOptional<z.ZodArray<z.ZodString>>;
2638
3120
  sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
2639
3121
  includeInLlms: z.ZodDefault<z.ZodBoolean>;
2640
3122
  includeInSearch: z.ZodDefault<z.ZodBoolean>;
@@ -2643,8 +3125,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
2643
3125
  route: z.ZodOptional<z.ZodString>;
2644
3126
  seoDescriptionSuffix: z.ZodDefault<z.ZodBoolean>;
2645
3127
  spec: z.ZodString;
3128
+ overlays: z.ZodDefault<z.ZodArray<z.ZodString>>;
2646
3129
  }, z.core.$strict>>>;
2647
- codeSamples: z.ZodDefault<z.ZodArray<z.ZodString>>;
3130
+ codeSamples: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodString>]>>;
2648
3131
  playground: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
2649
3132
  enabled: z.ZodDefault<z.ZodBoolean>;
2650
3133
  proxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
@@ -2665,17 +3148,19 @@ export declare const blumeConfigSchema: z.ZodObject<{
2665
3148
  noindex: boolean;
2666
3149
  seoDescriptionSuffix: boolean;
2667
3150
  spec: string;
3151
+ overlays: string[];
2668
3152
  label?: string | undefined;
2669
3153
  route?: string | undefined;
2670
3154
  }[];
2671
- codeSamples: string[];
3155
+ codeSamples: false | string[];
2672
3156
  playground: {
2673
3157
  enabled: boolean;
2674
3158
  proxy: string | boolean;
2675
3159
  };
2676
3160
  route: string;
3161
+ overlays?: string[] | undefined;
2677
3162
  spec?: string | undefined;
2678
- }, "spec">, {
3163
+ }, "spec" | "overlays">, {
2679
3164
  expandSchemas: boolean;
2680
3165
  sources: {
2681
3166
  includeInLlms: boolean;
@@ -2683,15 +3168,17 @@ export declare const blumeConfigSchema: z.ZodObject<{
2683
3168
  noindex: boolean;
2684
3169
  seoDescriptionSuffix: boolean;
2685
3170
  spec: string;
3171
+ overlays: string[];
2686
3172
  label?: string | undefined;
2687
3173
  route?: string | undefined;
2688
3174
  }[];
2689
- codeSamples: string[];
3175
+ codeSamples: false | string[];
2690
3176
  playground: {
2691
3177
  enabled: boolean;
2692
3178
  proxy: string | boolean;
2693
3179
  };
2694
3180
  route: string;
3181
+ overlays?: string[] | undefined;
2695
3182
  spec?: string | undefined;
2696
3183
  }>>;
2697
3184
  requiredSecrets: z.ZodArray<z.ZodString>;
@@ -2699,10 +3186,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
2699
3186
  }, z.core.$strict>, z.ZodObject<{
2700
3187
  kind: z.ZodLiteral<"scalar">;
2701
3188
  options: z.ZodPipe<z.ZodObject<{
3189
+ overlays: z.ZodOptional<z.ZodArray<z.ZodString>>;
2702
3190
  route: z.ZodDefault<z.ZodString>;
2703
3191
  sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
2704
3192
  label: z.ZodOptional<z.ZodString>;
2705
3193
  noindex: z.ZodDefault<z.ZodBoolean>;
3194
+ overlays: z.ZodDefault<z.ZodArray<z.ZodString>>;
2706
3195
  route: z.ZodOptional<z.ZodString>;
2707
3196
  spec: z.ZodString;
2708
3197
  }, z.core.$strict>>>;
@@ -2713,10 +3202,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
2713
3202
  route: string;
2714
3203
  sources: {
2715
3204
  noindex: boolean;
3205
+ overlays: string[];
2716
3206
  spec: string;
2717
3207
  label?: string | undefined;
2718
3208
  route?: string | undefined;
2719
3209
  }[];
3210
+ overlays?: string[] | undefined;
2720
3211
  spec?: string | undefined;
2721
3212
  theme?: string | undefined;
2722
3213
  }>>;
@@ -2740,14 +3231,14 @@ export declare const blumeConfigSchema: z.ZodObject<{
2740
3231
  label?: string | undefined;
2741
3232
  route?: string | undefined;
2742
3233
  }[];
2743
- codeSamples: string[];
3234
+ codeSamples: false | string[];
2744
3235
  playground: {
2745
3236
  enabled: boolean;
2746
3237
  proxy: string | boolean;
2747
3238
  };
2748
3239
  route: string;
2749
3240
  spec?: string | undefined;
2750
- }, "spec">;
3241
+ }, "spec" | "overlays">;
2751
3242
  requiredSecrets: string[];
2752
3243
  runtimeDeps: string[];
2753
3244
  } | {
@@ -2763,7 +3254,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2763
3254
  route?: string | undefined;
2764
3255
  endpoint?: string | undefined;
2765
3256
  }[];
2766
- codeSamples: string[];
3257
+ codeSamples: false | string[];
2767
3258
  playground: {
2768
3259
  enabled: boolean;
2769
3260
  proxy: string | boolean;
@@ -2771,7 +3262,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2771
3262
  route: string;
2772
3263
  endpoint?: string | undefined;
2773
3264
  spec?: string | undefined;
2774
- }, "spec">;
3265
+ }, "spec" | "overlays">;
2775
3266
  requiredSecrets: string[];
2776
3267
  runtimeDeps: string[];
2777
3268
  } | {
@@ -2784,17 +3275,19 @@ export declare const blumeConfigSchema: z.ZodObject<{
2784
3275
  noindex: boolean;
2785
3276
  seoDescriptionSuffix: boolean;
2786
3277
  spec: string;
3278
+ overlays: string[];
2787
3279
  label?: string | undefined;
2788
3280
  route?: string | undefined;
2789
3281
  }[];
2790
- codeSamples: string[];
3282
+ codeSamples: false | string[];
2791
3283
  playground: {
2792
3284
  enabled: boolean;
2793
3285
  proxy: string | boolean;
2794
3286
  };
2795
3287
  route: string;
3288
+ overlays?: string[] | undefined;
2796
3289
  spec?: string | undefined;
2797
- }, "spec">;
3290
+ }, "spec" | "overlays">;
2798
3291
  requiredSecrets: string[];
2799
3292
  runtimeDeps: string[];
2800
3293
  }>>>>;
@@ -3019,6 +3512,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
3019
3512
  }>>>>;
3020
3513
  }, z.core.$strict>>>;
3021
3514
  seo: z.ZodPrefault<z.ZodObject<{
3515
+ metatags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3022
3516
  og: z.ZodDefault<z.ZodObject<{
3023
3517
  description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
3024
3518
  enabled: z.ZodOptional<z.ZodBoolean>;
@@ -3266,6 +3760,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
3266
3760
  maxHeadingLevel?: number | undefined;
3267
3761
  minHeadingLevel?: number | undefined;
3268
3762
  }>>;
3763
+ variables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
3269
3764
  versions: z.ZodOptional<z.ZodObject<{
3270
3765
  archived: z.ZodDefault<z.ZodArray<z.ZodObject<{
3271
3766
  banner: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;