blume 1.7.3 → 2.0.1

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 (690) hide show
  1. package/AGENTS.md +19 -0
  2. package/CHANGELOG.md +245 -0
  3. package/README.md +34 -21
  4. package/dist/cli/{chunk-vacwm2hv.js → chunk-27g6wdth.js} +2 -2
  5. package/dist/cli/{chunk-ps4m1xh4.js → chunk-2hn4b8z7.js} +513 -550
  6. package/dist/cli/chunk-2hn4b8z7.js.map +12 -0
  7. package/dist/cli/chunk-5shv93fd.js +39 -0
  8. package/dist/cli/chunk-5shv93fd.js.map +10 -0
  9. package/dist/cli/chunk-6crbhc3x.js +361 -0
  10. package/dist/cli/chunk-6crbhc3x.js.map +14 -0
  11. package/dist/cli/{chunk-8cjtbafj.js → chunk-6hsn950k.js} +109 -383
  12. package/dist/cli/chunk-6hsn950k.js.map +10 -0
  13. package/dist/cli/chunk-6vm74dry.js +148 -0
  14. package/dist/cli/chunk-6vm74dry.js.map +10 -0
  15. package/dist/cli/{chunk-yg63d42r.js → chunk-79jhk4py.js} +87 -58
  16. package/dist/cli/chunk-79jhk4py.js.map +35 -0
  17. package/dist/cli/chunk-82bbrxdn.js +51 -0
  18. package/dist/cli/chunk-82bbrxdn.js.map +10 -0
  19. package/dist/cli/chunk-abh8yjkn.js +31 -0
  20. package/dist/cli/chunk-abh8yjkn.js.map +10 -0
  21. package/dist/cli/chunk-ah61y8py.js +75 -0
  22. package/dist/cli/chunk-ah61y8py.js.map +11 -0
  23. package/dist/cli/{chunk-dwgcp5sm.js → chunk-ce574jw2.js} +1 -1
  24. package/dist/cli/chunk-ch6g3ar0.js +102 -0
  25. package/dist/cli/chunk-ch6g3ar0.js.map +10 -0
  26. package/dist/cli/chunk-dh8cwk36.js +279 -0
  27. package/dist/cli/chunk-dh8cwk36.js.map +10 -0
  28. package/dist/cli/{chunk-rqy0s5wh.js → chunk-epjnccmv.js} +17 -16
  29. package/dist/cli/{chunk-rqy0s5wh.js.map → chunk-epjnccmv.js.map} +3 -3
  30. package/dist/cli/chunk-f2z5v128.js +97 -0
  31. package/dist/cli/chunk-f2z5v128.js.map +10 -0
  32. package/dist/cli/{chunk-2z47ypj8.js → chunk-fa25z98p.js} +16 -3
  33. package/dist/cli/chunk-fa25z98p.js.map +11 -0
  34. package/dist/cli/{chunk-1jefwnfs.js → chunk-fs23ddbb.js} +1076 -2592
  35. package/dist/cli/chunk-fs23ddbb.js.map +35 -0
  36. package/dist/cli/{chunk-e7f42gdj.js → chunk-fxypxtvm.js} +2 -2
  37. package/dist/cli/{chunk-bvwwhd84.js → chunk-fz5wtpmh.js} +15 -15
  38. package/dist/cli/{chunk-bvwwhd84.js.map → chunk-fz5wtpmh.js.map} +1 -1
  39. package/dist/cli/chunk-hdpx1tax.js +91 -0
  40. package/dist/cli/chunk-hdpx1tax.js.map +10 -0
  41. package/dist/cli/{chunk-ct47dqpx.js → chunk-jts8mvcz.js} +67 -7
  42. package/dist/cli/{chunk-2mzebbbz.js.map → chunk-jts8mvcz.js.map} +6 -4
  43. package/dist/cli/{chunk-ahnw3kxw.js → chunk-jwyddg7y.js} +27 -22
  44. package/dist/cli/chunk-jwyddg7y.js.map +15 -0
  45. package/dist/cli/{chunk-cjtn640a.js → chunk-kdp5q7ke.js} +43 -20
  46. package/dist/cli/chunk-kdp5q7ke.js.map +10 -0
  47. package/dist/cli/{chunk-5g0w1e2c.js → chunk-kpf8rrjc.js} +28 -16
  48. package/dist/cli/{chunk-5g0w1e2c.js.map → chunk-kpf8rrjc.js.map} +4 -4
  49. package/dist/cli/chunk-m3vmjgmq.js +133 -0
  50. package/dist/cli/chunk-m3vmjgmq.js.map +10 -0
  51. package/dist/cli/{chunk-b27xqwn9.js → chunk-mb2919y2.js} +9 -5
  52. package/dist/cli/chunk-mb2919y2.js.map +10 -0
  53. package/dist/cli/{chunk-5qk08vmp.js → chunk-q5163e60.js} +133 -54
  54. package/dist/cli/chunk-q5163e60.js.map +11 -0
  55. package/dist/cli/chunk-qkqwkpte.js +12437 -0
  56. package/dist/cli/chunk-qkqwkpte.js.map +182 -0
  57. package/dist/cli/{chunk-4x36ddpw.js → chunk-qs4q5p4e.js} +81 -87
  58. package/dist/cli/chunk-qs4q5p4e.js.map +10 -0
  59. package/dist/cli/{chunk-0xjyb285.js → chunk-qwsrynx5.js} +15 -5
  60. package/dist/cli/{chunk-0xjyb285.js.map → chunk-qwsrynx5.js.map} +4 -4
  61. package/dist/cli/chunk-s1p84fyh.js +261 -0
  62. package/dist/cli/chunk-s1p84fyh.js.map +10 -0
  63. package/dist/cli/chunk-s6jhgk0q.js +176 -0
  64. package/dist/cli/chunk-s6jhgk0q.js.map +11 -0
  65. package/dist/cli/chunk-vtk4a6dg.js +374 -0
  66. package/dist/cli/chunk-vtk4a6dg.js.map +10 -0
  67. package/dist/cli/{chunk-k79xp7av.js → chunk-wgm7m9qk.js} +230 -700
  68. package/dist/cli/chunk-wgm7m9qk.js.map +36 -0
  69. package/dist/cli/chunk-wm7js3j9.js +145 -0
  70. package/dist/cli/chunk-wm7js3j9.js.map +11 -0
  71. package/dist/cli/chunk-yt5n7ppj.js +79 -0
  72. package/dist/cli/chunk-yt5n7ppj.js.map +10 -0
  73. package/dist/cli/{chunk-3r45185y.js → chunk-yw7dm696.js} +9 -11
  74. package/dist/cli/{chunk-3r45185y.js.map → chunk-yw7dm696.js.map} +3 -3
  75. package/dist/cli/{chunk-nn13znc2.js → chunk-zxcczpyx.js} +1 -1
  76. package/dist/cli/chunk-zxh4d9vy.js +122 -0
  77. package/dist/cli/chunk-zxh4d9vy.js.map +11 -0
  78. package/dist/cli/index.js +214 -57
  79. package/dist/cli/index.js.map +8 -7
  80. package/dist/types/ai/agent-readability.d.ts +52 -0
  81. package/dist/types/ai/ai-catalog.d.ts +42 -0
  82. package/dist/types/ai/api/paths.d.ts +17 -0
  83. package/dist/types/ai/api-catalog.d.ts +18 -0
  84. package/dist/types/ai/ask-context.d.ts +7 -7
  85. package/dist/types/ai/ask.d.ts +368 -0
  86. package/dist/types/ai/changelog-markdown.d.ts +2 -0
  87. package/dist/types/ai/component-markdown.d.ts +2 -2
  88. package/dist/types/ai/index.d.ts +24 -0
  89. package/dist/types/ai/link-headers.d.ts +24 -0
  90. package/dist/types/ai/llms.d.ts +25 -0
  91. package/dist/types/ai/markdown.d.ts +45 -0
  92. package/dist/types/ai/mcp/discovery.d.ts +68 -0
  93. package/dist/types/ai/mcp/tools.d.ts +16 -0
  94. package/dist/types/ai/openapi-components.d.ts +43 -0
  95. package/dist/types/ai/relative-links.d.ts +26 -0
  96. package/dist/types/ai/serializers.d.ts +15 -0
  97. package/dist/types/ai/skills.d.ts +42 -0
  98. package/dist/types/ai/tar.d.ts +25 -0
  99. package/dist/types/ai/visibility.d.ts +17 -0
  100. package/dist/types/ai/web-bot-auth.d.ts +16 -0
  101. package/dist/types/analytics/adobe.d.ts +35 -0
  102. package/dist/types/analytics/amplitude.d.ts +50 -0
  103. package/dist/types/analytics/clarity.d.ts +31 -0
  104. package/dist/types/analytics/clearbit.d.ts +29 -0
  105. package/dist/types/analytics/cloudflare.d.ts +41 -0
  106. package/dist/types/analytics/fathom.d.ts +41 -0
  107. package/dist/types/analytics/google-analytics.d.ts +44 -0
  108. package/dist/types/analytics/google-tag-manager.d.ts +40 -0
  109. package/dist/types/analytics/head.d.ts +30 -0
  110. package/dist/types/analytics/heap.d.ts +40 -0
  111. package/dist/types/analytics/hightouch.d.ts +44 -0
  112. package/dist/types/analytics/hotjar.d.ts +33 -0
  113. package/dist/types/analytics/index.d.ts +61 -0
  114. package/dist/types/analytics/inline.d.ts +17 -0
  115. package/dist/types/analytics/logrocket.d.ts +44 -0
  116. package/dist/types/analytics/mixpanel.d.ts +67 -0
  117. package/dist/types/analytics/pirsch.d.ts +42 -0
  118. package/dist/types/analytics/plausible.d.ts +56 -0
  119. package/dist/types/analytics/posthog.d.ts +45 -0
  120. package/dist/types/analytics/schema.d.ts +320 -0
  121. package/dist/types/analytics/script.d.ts +46 -0
  122. package/dist/types/analytics/segment.d.ts +50 -0
  123. package/dist/types/analytics/vercel.d.ts +48 -0
  124. package/dist/types/astro/integration.d.ts +76 -0
  125. package/dist/types/astro/markdown-negotiation.d.ts +23 -0
  126. package/dist/types/astro/module-types.d.ts +14 -0
  127. package/dist/types/astro/pages.d.ts +44 -0
  128. package/dist/types/cli/env.d.ts +12 -0
  129. package/dist/types/cli/init/scaffold.d.ts +154 -0
  130. package/dist/types/components/layout/nav-utils.d.ts +11 -0
  131. package/dist/types/core/adapter.d.ts +47 -0
  132. package/dist/types/core/api-name.d.ts +7 -0
  133. package/dist/types/core/changelog-index.d.ts +13 -0
  134. package/dist/types/core/config-input.d.ts +197 -526
  135. package/dist/types/core/config.d.ts +61 -35
  136. package/dist/types/core/content-assets.d.ts +76 -0
  137. package/dist/types/core/custom-pages.d.ts +33 -0
  138. package/dist/types/core/data.d.ts +30 -15
  139. package/dist/types/core/define-components.d.ts +12 -9
  140. package/dist/types/core/deployment-env.d.ts +6 -11
  141. package/dist/types/core/frontmatter.d.ts +10 -0
  142. package/dist/types/core/graph.d.ts +18 -0
  143. package/dist/types/core/heading-markers.d.ts +54 -0
  144. package/dist/types/core/i18n-ui.d.ts +12 -10
  145. package/dist/types/core/i18n.d.ts +87 -0
  146. package/dist/types/core/includes.d.ts +138 -0
  147. package/dist/types/core/last-modified.d.ts +47 -0
  148. package/dist/types/core/links.d.ts +95 -0
  149. package/dist/types/core/locale-links.d.ts +60 -0
  150. package/dist/types/core/manifest.d.ts +17 -0
  151. package/dist/types/core/meta.d.ts +38 -0
  152. package/dist/types/core/nav-diagnostics.d.ts +26 -0
  153. package/dist/types/core/navigation.d.ts +6 -0
  154. package/dist/types/core/node-require.d.ts +19 -0
  155. package/dist/types/core/package-json.d.ts +13 -0
  156. package/dist/types/core/probe.d.ts +42 -0
  157. package/dist/types/core/project-graph.d.ts +51 -0
  158. package/dist/types/core/project.d.ts +2 -0
  159. package/dist/types/core/safe-href.d.ts +2 -0
  160. package/dist/types/core/safe-links.d.ts +26 -0
  161. package/dist/types/core/schema.d.ts +2284 -454
  162. package/dist/types/core/site-url.d.ts +16 -0
  163. package/dist/types/core/sources/assets.d.ts +36 -0
  164. package/dist/types/core/sources/cache.d.ts +37 -0
  165. package/dist/types/core/sources/collection.d.ts +28 -0
  166. package/dist/types/core/sources/contentful-rich-text.d.ts +31 -0
  167. package/dist/types/core/sources/contentful.d.ts +40 -0
  168. package/dist/types/core/sources/filesystem.d.ts +24 -0
  169. package/dist/types/core/sources/github-releases.d.ts +31 -0
  170. package/dist/types/core/sources/json.d.ts +30 -0
  171. package/dist/types/core/sources/lexical.d.ts +19 -0
  172. package/dist/types/core/sources/lower.d.ts +75 -0
  173. package/dist/types/core/sources/mdx-remote.d.ts +28 -0
  174. package/dist/types/core/sources/normalize.d.ts +147 -0
  175. package/dist/types/core/sources/notion.d.ts +131 -0
  176. package/dist/types/core/sources/obsidian.d.ts +46 -0
  177. package/dist/types/core/sources/payload.d.ts +39 -0
  178. package/dist/types/core/sources/portable-text.d.ts +42 -0
  179. package/dist/types/core/sources/read.d.ts +23 -0
  180. package/dist/types/core/sources/remote.d.ts +74 -0
  181. package/dist/types/core/sources/resolve.d.ts +19 -0
  182. package/dist/types/core/sources/sanity.d.ts +43 -0
  183. package/dist/types/core/sources/strapi-blocks.d.ts +12 -0
  184. package/dist/types/core/sources/strapi.d.ts +33 -0
  185. package/dist/types/core/sources/types.d.ts +7 -0
  186. package/dist/types/core/sources/watch.d.ts +45 -0
  187. package/dist/types/core/text-width.d.ts +11 -0
  188. package/dist/types/core/types.d.ts +15 -1
  189. package/dist/types/core/unrecognized-keys.d.ts +7 -0
  190. package/dist/types/core/versions.d.ts +72 -0
  191. package/dist/types/core/yaml.d.ts +9 -0
  192. package/dist/types/deploy/adapter-output.d.ts +45 -0
  193. package/dist/types/deploy/adapters/cloudflare.d.ts +40 -0
  194. package/dist/types/deploy/adapters/index.d.ts +29 -0
  195. package/dist/types/deploy/adapters/netlify.d.ts +37 -0
  196. package/dist/types/deploy/adapters/node.d.ts +37 -0
  197. package/dist/types/deploy/adapters/registry.d.ts +133 -0
  198. package/dist/types/deploy/adapters/types.d.ts +71 -0
  199. package/dist/types/deploy/adapters/vercel.d.ts +38 -0
  200. package/dist/types/deploy/artifacts.d.ts +65 -0
  201. package/dist/types/deploy/cloudflare-negotiation.d.ts +196 -0
  202. package/dist/types/deploy/function-bundle.d.ts +80 -0
  203. package/dist/types/deploy/headers.d.ts +50 -0
  204. package/dist/types/deploy/node-headers.d.ts +42 -0
  205. package/dist/types/deploy/platforms/cloudflare.d.ts +40 -0
  206. package/dist/types/deploy/platforms/index.d.ts +18 -0
  207. package/dist/types/deploy/platforms/netlify.d.ts +13 -0
  208. package/dist/types/deploy/platforms/node.d.ts +11 -0
  209. package/dist/types/deploy/platforms/paths.d.ts +27 -0
  210. package/dist/types/deploy/platforms/static.d.ts +10 -0
  211. package/dist/types/deploy/platforms/types.d.ts +104 -0
  212. package/dist/types/deploy/platforms/vercel.d.ts +32 -0
  213. package/dist/types/deploy/redirects.d.ts +53 -0
  214. package/dist/types/deploy/robots.d.ts +8 -0
  215. package/dist/types/deploy/rss.d.ts +31 -0
  216. package/dist/types/deploy/sitemap.d.ts +21 -0
  217. package/dist/types/deploy/vercel-negotiation.d.ts +109 -0
  218. package/dist/types/markdown/code-title.d.ts +32 -0
  219. package/dist/types/markdown/fence-meta.d.ts +23 -0
  220. package/dist/types/markdown/themes.d.ts +3 -3
  221. package/dist/types/openapi/asyncapi.d.ts +129 -0
  222. package/dist/types/openapi/graphql-build.d.ts +8 -0
  223. package/dist/types/openapi/graphql.d.ts +122 -0
  224. package/dist/types/openapi/model.d.ts +158 -0
  225. package/dist/types/openapi/parse.d.ts +57 -0
  226. package/dist/types/openapi/references.d.ts +37 -25
  227. package/dist/types/openapi/render-mdx.d.ts +33 -0
  228. package/dist/types/openapi/sentence.d.ts +7 -0
  229. package/dist/types/openapi/signature.d.ts +10 -0
  230. package/dist/types/openapi/source.d.ts +22 -0
  231. package/dist/types/openapi/spec-dependency-error.d.ts +10 -0
  232. package/dist/types/reference/asyncapi.d.ts +166 -0
  233. package/dist/types/reference/graphql.d.ts +181 -0
  234. package/dist/types/reference/index.d.ts +32 -0
  235. package/dist/types/reference/openapi.d.ts +165 -0
  236. package/dist/types/reference/options.d.ts +157 -0
  237. package/dist/types/reference/scalar.d.ts +136 -0
  238. package/dist/types/reference/schema.d.ts +630 -0
  239. package/dist/types/search/adapters/algolia.d.ts +32 -0
  240. package/dist/types/search/adapters/flexsearch.d.ts +12 -0
  241. package/dist/types/search/adapters/index.d.ts +31 -0
  242. package/dist/types/search/adapters/mixedbread.d.ts +22 -0
  243. package/dist/types/search/adapters/orama-cloud.d.ts +33 -0
  244. package/dist/types/search/adapters/orama.d.ts +13 -0
  245. package/dist/types/search/adapters/pagefind.d.ts +12 -0
  246. package/dist/types/search/adapters/registry.d.ts +228 -0
  247. package/dist/types/search/adapters/types.d.ts +34 -0
  248. package/dist/types/search/adapters/typesense.d.ts +42 -0
  249. package/dist/types/search/build.d.ts +23 -0
  250. package/dist/types/search/documents.d.ts +90 -0
  251. package/dist/types/search/facets.d.ts +3 -0
  252. package/dist/types/search/orama-index.d.ts +1 -1
  253. package/dist/types/search/sync/algolia.d.ts +14 -0
  254. package/dist/types/search/sync/index.d.ts +14 -0
  255. package/dist/types/search/sync/orama-cloud.d.ts +10 -0
  256. package/dist/types/search/sync/typesense.d.ts +14 -0
  257. package/dist/types/sources/contentful.d.ts +68 -0
  258. package/dist/types/sources/custom.d.ts +20 -0
  259. package/dist/types/sources/filesystem.d.ts +42 -0
  260. package/dist/types/sources/github-releases.d.ts +46 -0
  261. package/dist/types/sources/index.d.ts +48 -0
  262. package/dist/types/sources/mdx-remote.d.ts +63 -0
  263. package/dist/types/sources/notion.d.ts +65 -0
  264. package/dist/types/sources/obsidian.d.ts +34 -0
  265. package/dist/types/sources/payload.d.ts +68 -0
  266. package/dist/types/sources/registry.d.ts +1414 -0
  267. package/dist/types/sources/sanity.d.ts +69 -0
  268. package/dist/types/sources/shared.d.ts +46 -0
  269. package/dist/types/sources/strapi.d.ts +66 -0
  270. package/dist/types/theme/icon-kind.d.ts +11 -0
  271. package/dist/types/theme/icons.d.ts +20 -0
  272. package/docs/01-quickstart.mdx +18 -18
  273. package/docs/02-deployment.mdx +52 -28
  274. package/docs/03-upgrading.mdx +364 -0
  275. package/docs/04-migrating.mdx +58 -0
  276. package/docs/08-faq.mdx +5 -5
  277. package/docs/advanced/blog.mdx +13 -6
  278. package/docs/advanced/changelog.mdx +23 -35
  279. package/docs/advanced/custom-pages.mdx +22 -10
  280. package/docs/advanced/meta.ts +1 -8
  281. package/docs/advanced/skills.mdx +8 -0
  282. package/docs/cli/audit.mdx +646 -0
  283. package/docs/cli/doctor.mdx +29 -0
  284. package/docs/{reference/eval.mdx → cli/evals.mdx} +12 -11
  285. package/docs/cli/index.mdx +105 -0
  286. package/docs/cli/meta.ts +7 -0
  287. package/docs/{reference → cli}/translate.mdx +9 -9
  288. package/docs/cli/validate.mdx +41 -0
  289. package/docs/cli/version.mdx +40 -0
  290. package/docs/configuration/analytics.mdx +350 -59
  291. package/docs/configuration/assistant.mdx +357 -0
  292. package/docs/configuration/customization.mdx +16 -10
  293. package/docs/configuration/index.mdx +50 -31
  294. package/docs/configuration/meta.ts +1 -1
  295. package/docs/configuration/search.mdx +76 -55
  296. package/docs/configuration/theming.mdx +24 -15
  297. package/docs/content/components.mdx +21 -5
  298. package/docs/{reference → content}/frontmatter.mdx +35 -1
  299. package/docs/content/i18n.mdx +9 -7
  300. package/docs/content/includes.mdx +2 -4
  301. package/docs/content/index.mdx +1 -1
  302. package/docs/content/islands.mdx +11 -6
  303. package/docs/content/meta.mdx +1 -1
  304. package/docs/content/meta.ts +1 -0
  305. package/docs/content/navigation.mdx +9 -7
  306. package/docs/content/sources.mdx +145 -50
  307. package/docs/content/syntax.mdx +16 -12
  308. package/docs/content/versioning.mdx +3 -3
  309. package/docs/discoverability/agent-discovery.mdx +12 -12
  310. package/docs/discoverability/index.mdx +4 -4
  311. package/docs/discoverability/json-api.mdx +4 -4
  312. package/docs/discoverability/llms-txt.mdx +6 -6
  313. package/docs/discoverability/markdown.mdx +4 -4
  314. package/docs/discoverability/mcp.mdx +11 -11
  315. package/docs/discoverability/sitemap-and-robots.mdx +3 -3
  316. package/docs/index.mdx +4 -4
  317. package/docs/references/asyncapi.mdx +59 -0
  318. package/docs/{advanced → references}/graphql.mdx +45 -32
  319. package/docs/{reference → references}/meta.ts +2 -2
  320. package/docs/references/openapi.mdx +171 -0
  321. package/docs/references/scalar.mdx +64 -0
  322. package/package.json +42 -8
  323. package/skills/blume/SKILL.md +23 -10
  324. package/skills/blume-migrate/SKILL.md +22 -21
  325. package/skills/blume-migrate/assets/oxfmt@0.67.0.patch +49 -0
  326. package/skills/blume-migrate/references/docusaurus.md +5 -4
  327. package/skills/blume-migrate/references/fumadocs.md +4 -4
  328. package/skills/blume-migrate/references/mintlify.md +23 -8
  329. package/skills/blume-migrate/references/monorepo.md +6 -6
  330. package/skills/blume-migrate/references/starlight.md +4 -4
  331. package/src/ai/agent-readability.ts +25 -26
  332. package/src/ai/ai-catalog.ts +50 -32
  333. package/src/ai/api/handlers.ts +46 -11
  334. package/src/ai/api/paths.ts +1 -1
  335. package/src/ai/api-catalog.ts +8 -8
  336. package/src/ai/ask-context.ts +7 -7
  337. package/src/ai/ask-data.ts +3 -3
  338. package/src/ai/ask.ts +637 -100
  339. package/src/ai/changelog-markdown.ts +91 -0
  340. package/src/ai/component-markdown.ts +328 -12
  341. package/src/ai/cors.ts +3 -3
  342. package/src/ai/index.ts +45 -0
  343. package/src/ai/link-headers.ts +7 -6
  344. package/src/ai/llms.ts +20 -15
  345. package/src/ai/markdown.ts +35 -5
  346. package/src/ai/mcp/data.ts +9 -5
  347. package/src/ai/openapi-components.ts +5 -2
  348. package/src/ai/relative-links.ts +170 -0
  349. package/src/ai/serializers.ts +3 -3
  350. package/src/ai/skills.ts +1 -1
  351. package/src/ai/visibility.ts +1 -1
  352. package/src/ai/web-bot-auth.ts +2 -2
  353. package/src/analytics/adobe.ts +46 -0
  354. package/src/analytics/amplitude.ts +79 -0
  355. package/src/analytics/clarity.ts +46 -0
  356. package/src/analytics/clearbit.ts +47 -0
  357. package/src/analytics/cloudflare.ts +67 -0
  358. package/src/analytics/fathom.ts +64 -0
  359. package/src/analytics/google-analytics.ts +84 -0
  360. package/src/analytics/google-tag-manager.ts +61 -0
  361. package/src/analytics/head.ts +130 -0
  362. package/src/analytics/heap.ts +65 -0
  363. package/src/analytics/hightouch.ts +77 -0
  364. package/src/analytics/hotjar.ts +47 -0
  365. package/src/analytics/index.ts +71 -0
  366. package/src/analytics/inline.ts +21 -0
  367. package/src/analytics/logrocket.ts +71 -0
  368. package/src/analytics/mixpanel.ts +92 -0
  369. package/src/analytics/pirsch.ts +66 -0
  370. package/src/analytics/plausible.ts +83 -0
  371. package/src/analytics/posthog.ts +78 -0
  372. package/src/analytics/schema.ts +60 -0
  373. package/src/analytics/script.ts +60 -0
  374. package/src/analytics/segment.ts +85 -0
  375. package/src/analytics/vercel.ts +50 -0
  376. package/src/astro/adapter-root.ts +7 -9
  377. package/src/astro/component-slots.ts +131 -91
  378. package/src/astro/generate.ts +129 -361
  379. package/src/astro/integration.ts +2 -6
  380. package/src/astro/module-types.ts +1 -1
  381. package/src/astro/pages.ts +13 -101
  382. package/src/astro/render-deps.ts +379 -0
  383. package/src/astro/runtime-deps.ts +201 -0
  384. package/src/astro/templates.ts +575 -562
  385. package/src/audit/agent.ts +24 -0
  386. package/src/audit/catalog.ts +2 -2
  387. package/src/audit/checks/assets.ts +2 -2
  388. package/src/audit/checks/dns-aid.ts +1 -1
  389. package/src/audit/checks/duplicates.ts +3 -1
  390. package/src/audit/checks/i18n.ts +1 -1
  391. package/src/audit/checks/indexability.ts +7 -7
  392. package/src/audit/checks/links.ts +2 -2
  393. package/src/audit/checks/llms.ts +6 -6
  394. package/src/audit/checks/network.ts +3 -3
  395. package/src/audit/checks/og-image.ts +2 -2
  396. package/src/audit/checks/robots.ts +1 -1
  397. package/src/audit/checks/sitemap.ts +2 -2
  398. package/src/audit/checks/social.ts +1 -1
  399. package/src/audit/run.ts +4 -3
  400. package/src/audit/terms.ts +31 -0
  401. package/src/audit/url.ts +13 -13
  402. package/src/blume-modules.d.ts +2 -2
  403. package/src/cli/command-meta.ts +10 -0
  404. package/src/cli/commands/audit.ts +40 -21
  405. package/src/cli/commands/build.ts +71 -316
  406. package/src/cli/commands/check.ts +1 -0
  407. package/src/cli/commands/dev.ts +40 -1
  408. package/src/cli/commands/doctor.ts +92 -14
  409. package/src/cli/commands/eject.ts +44 -7
  410. package/src/cli/commands/eval.ts +5 -5
  411. package/src/cli/commands/init.ts +161 -41
  412. package/src/cli/commands/migrate.ts +121 -0
  413. package/src/cli/commands/preview.ts +7 -1
  414. package/src/cli/commands/translate.ts +5 -5
  415. package/src/cli/commands/upgrade.ts +141 -0
  416. package/src/cli/commands/version.ts +57 -44
  417. package/src/cli/eject-scripts.ts +121 -6
  418. package/src/cli/index.ts +11 -1
  419. package/src/cli/init/install.ts +70 -0
  420. package/src/cli/init/questions.ts +7 -0
  421. package/src/cli/init/scaffold.ts +459 -75
  422. package/src/cli/lazy-command.ts +37 -1
  423. package/src/cli/prepare.ts +40 -6
  424. package/src/cli/required-secrets.ts +39 -12
  425. package/src/cli/unknown-flags.ts +266 -0
  426. package/src/cli/yarn-pnp.ts +52 -0
  427. package/src/components/content/AccordionItem.astro +7 -1
  428. package/src/components/content/Card.astro +4 -3
  429. package/src/components/content/ColorItem.astro +22 -4
  430. package/src/components/content/GithubInfo.astro +2 -2
  431. package/src/components/content/Prompt.astro +25 -25
  432. package/src/components/content/Tabs.astro +3 -1
  433. package/src/components/content/Tile.astro +2 -3
  434. package/src/components/content/Tooltip.astro +57 -9
  435. package/src/components/content/content-strings.ts +34 -0
  436. package/src/components/content/diff.ts +1 -1
  437. package/src/components/content/mermaid-element.ts +13 -2
  438. package/src/components/content/prompt-markdown.ts +292 -0
  439. package/src/components/content/tooltip-id.ts +41 -0
  440. package/src/components/copy-feedback.ts +1 -1
  441. package/src/components/islands/{AskAI.astro → Assistant.astro} +10 -10
  442. package/src/components/islands/{ask-ai.tsx → assistant.tsx} +23 -23
  443. package/src/components/islands/hooks.ts +36 -11
  444. package/src/components/layout/Analytics.astro +21 -79
  445. package/src/components/layout/Banner.astro +3 -1
  446. package/src/components/layout/DiscoveryLinks.astro +69 -0
  447. package/src/components/layout/Header.astro +93 -30
  448. package/src/components/layout/LanguageSwitcher.astro +4 -1
  449. package/src/components/layout/Logo.astro +23 -2
  450. package/src/components/layout/NavSelector.astro +13 -2
  451. package/src/components/layout/NavTree.astro +12 -3
  452. package/src/components/layout/NavTreeScript.astro +17 -3
  453. package/src/components/layout/PageActions.astro +3 -3
  454. package/src/components/layout/PageFeedback.astro +11 -1
  455. package/src/components/layout/PageLayout.astro +58 -11
  456. package/src/components/layout/Pagination.astro +7 -7
  457. package/src/components/layout/ReferenceLayout.astro +22 -13
  458. package/src/components/layout/RootLayout.astro +75 -72
  459. package/src/components/layout/Search.astro +43 -19
  460. package/src/components/layout/WebMcp.astro +1 -1
  461. package/src/components/layout/analytics-client.ts +73 -16
  462. package/src/components/layout/drawer-inert.ts +113 -15
  463. package/src/components/layout/dropdown-clamp.ts +105 -0
  464. package/src/components/layout/head-scripts.ts +15 -6
  465. package/src/components/layout/nav-utils.ts +17 -0
  466. package/src/components/layout/search/algolia.ts +8 -8
  467. package/src/components/layout/search/orama-cloud.ts +9 -7
  468. package/src/components/layout/search/typesense.ts +11 -17
  469. package/src/components/openapi/MessageComposer.astro +2 -2
  470. package/src/components/openapi/Playground.astro +2 -2
  471. package/src/components/openapi/description.ts +2 -2
  472. package/src/components/openapi/playground-client.ts +79 -10
  473. package/src/core/changelog-index.ts +24 -0
  474. package/src/core/code-fences.ts +1 -1
  475. package/src/core/component-overrides.ts +399 -154
  476. package/src/core/config-input.ts +201 -566
  477. package/src/core/config.ts +131 -42
  478. package/src/core/custom-pages.ts +105 -0
  479. package/src/core/data.ts +34 -15
  480. package/src/core/define-components.ts +12 -9
  481. package/src/core/deployment-env.ts +18 -74
  482. package/src/core/diagnostics.ts +14 -7
  483. package/src/core/graph.ts +69 -25
  484. package/src/core/i18n-ui.ts +41 -11
  485. package/src/core/i18n.ts +17 -0
  486. package/src/core/includes.ts +156 -38
  487. package/src/core/last-modified.ts +6 -11
  488. package/src/core/links.ts +166 -2
  489. package/src/core/manifest.ts +10 -3
  490. package/src/core/navigation.ts +115 -16
  491. package/src/core/new-tab.ts +35 -0
  492. package/src/core/node-require.ts +21 -0
  493. package/src/core/project-graph.ts +42 -26
  494. package/src/core/project.ts +9 -4
  495. package/src/core/request-body.ts +61 -0
  496. package/src/core/safe-href.ts +28 -0
  497. package/src/core/safe-links.ts +68 -0
  498. package/src/core/schema.ts +528 -745
  499. package/src/core/server-features.ts +10 -11
  500. package/src/core/sources/assets.ts +47 -11
  501. package/src/core/sources/collection.ts +67 -0
  502. package/src/core/sources/contentful-rich-text.ts +285 -0
  503. package/src/core/sources/contentful.ts +173 -0
  504. package/src/core/sources/github-releases.ts +51 -1
  505. package/src/core/sources/json.ts +71 -0
  506. package/src/core/sources/lexical.ts +195 -0
  507. package/src/core/sources/lower.ts +226 -0
  508. package/src/core/sources/normalize.ts +52 -2
  509. package/src/core/sources/notion.ts +39 -28
  510. package/src/core/sources/payload.ts +135 -0
  511. package/src/core/sources/portable-text.ts +11 -16
  512. package/src/core/sources/remote.ts +226 -0
  513. package/src/core/sources/resolve.ts +104 -166
  514. package/src/core/sources/sanity.ts +16 -49
  515. package/src/core/sources/strapi-blocks.ts +124 -0
  516. package/src/core/sources/strapi.ts +191 -0
  517. package/src/core/sources/types.ts +12 -1
  518. package/src/core/types.ts +15 -1
  519. package/src/core/ui-packs/ar.ts +10 -7
  520. package/src/core/ui-packs/bg.ts +10 -7
  521. package/src/core/ui-packs/bn.ts +10 -7
  522. package/src/core/ui-packs/ca.ts +7 -6
  523. package/src/core/ui-packs/cs.ts +10 -7
  524. package/src/core/ui-packs/da.ts +10 -7
  525. package/src/core/ui-packs/de.ts +10 -7
  526. package/src/core/ui-packs/el.ts +7 -6
  527. package/src/core/ui-packs/es.ts +7 -6
  528. package/src/core/ui-packs/fa.ts +10 -7
  529. package/src/core/ui-packs/fi.ts +10 -7
  530. package/src/core/ui-packs/fr.ts +7 -6
  531. package/src/core/ui-packs/he.ts +10 -7
  532. package/src/core/ui-packs/hi.ts +10 -7
  533. package/src/core/ui-packs/hr.ts +10 -7
  534. package/src/core/ui-packs/hu.ts +10 -7
  535. package/src/core/ui-packs/id.ts +10 -7
  536. package/src/core/ui-packs/it.ts +7 -6
  537. package/src/core/ui-packs/ja.ts +7 -6
  538. package/src/core/ui-packs/ko.ts +7 -6
  539. package/src/core/ui-packs/nl.ts +10 -7
  540. package/src/core/ui-packs/no.ts +10 -7
  541. package/src/core/ui-packs/pl.ts +10 -7
  542. package/src/core/ui-packs/pt-br.ts +7 -6
  543. package/src/core/ui-packs/pt.ts +7 -6
  544. package/src/core/ui-packs/ro.ts +10 -7
  545. package/src/core/ui-packs/ru.ts +10 -7
  546. package/src/core/ui-packs/sk.ts +10 -7
  547. package/src/core/ui-packs/sr.ts +10 -7
  548. package/src/core/ui-packs/sv.ts +10 -7
  549. package/src/core/ui-packs/th.ts +7 -6
  550. package/src/core/ui-packs/tr.ts +10 -7
  551. package/src/core/ui-packs/uk.ts +10 -7
  552. package/src/core/ui-packs/vi.ts +7 -6
  553. package/src/core/ui-packs/zh-tw.ts +7 -6
  554. package/src/core/ui-packs/zh.ts +7 -6
  555. package/src/core/unrecognized-keys.ts +10 -0
  556. package/src/core/version-cut.ts +116 -8
  557. package/src/deploy/adapter-output.ts +57 -97
  558. package/src/deploy/adapters/cloudflare.ts +39 -0
  559. package/src/deploy/adapters/index.ts +41 -0
  560. package/src/deploy/adapters/netlify.ts +34 -0
  561. package/src/deploy/adapters/node.ts +34 -0
  562. package/src/deploy/adapters/registry.ts +127 -0
  563. package/src/deploy/adapters/types.ts +92 -0
  564. package/src/deploy/adapters/vercel.ts +35 -0
  565. package/src/deploy/artifacts.ts +55 -27
  566. package/src/deploy/cloudflare-negotiation.ts +179 -100
  567. package/src/deploy/function-bundle.ts +18 -3
  568. package/src/deploy/headers.ts +124 -23
  569. package/src/deploy/node-headers.ts +198 -0
  570. package/src/deploy/platforms/cloudflare.ts +312 -0
  571. package/src/deploy/platforms/index.ts +67 -0
  572. package/src/deploy/platforms/netlify.ts +52 -0
  573. package/src/deploy/platforms/node.ts +40 -0
  574. package/src/deploy/platforms/paths.ts +42 -0
  575. package/src/deploy/platforms/static.ts +29 -0
  576. package/src/deploy/platforms/types.ts +112 -0
  577. package/src/deploy/platforms/vercel.ts +193 -0
  578. package/src/deploy/redirects.ts +30 -18
  579. package/src/deploy/robots.ts +3 -3
  580. package/src/deploy/rss.ts +2 -2
  581. package/src/deploy/sitemap.ts +2 -2
  582. package/src/deploy/vercel-negotiation.ts +2 -2
  583. package/src/eval/agents.ts +32 -1
  584. package/src/eval/findings.ts +19 -11
  585. package/src/eval/report.ts +10 -2
  586. package/src/markdown/external-links.ts +65 -0
  587. package/src/markdown/include.ts +45 -27
  588. package/src/markdown/index.ts +34 -9
  589. package/src/markdown/inline-code.ts +12 -6
  590. package/src/markdown/relative-links.ts +324 -0
  591. package/src/markdown/themes.ts +3 -3
  592. package/src/migrate/migrate.ts +149 -0
  593. package/src/openapi/parse.ts +64 -16
  594. package/src/openapi/proxy.ts +62 -10
  595. package/src/openapi/references.ts +147 -147
  596. package/src/openapi/render-mdx.ts +32 -10
  597. package/src/openapi/scalar.ts +15 -13
  598. package/src/openapi/sentence.ts +14 -0
  599. package/src/openapi/source.ts +37 -21
  600. package/src/openapi/spec-dependency-error.ts +15 -0
  601. package/src/reference/asyncapi.ts +83 -0
  602. package/src/reference/graphql.ts +89 -0
  603. package/src/reference/index.ts +40 -0
  604. package/src/reference/openapi.ts +83 -0
  605. package/src/reference/options.ts +201 -0
  606. package/src/reference/scalar.ts +136 -0
  607. package/src/reference/schema.ts +88 -0
  608. package/src/registry/eject.ts +109 -53
  609. package/src/search/adapters/algolia.ts +46 -0
  610. package/src/search/adapters/flexsearch.ts +29 -0
  611. package/src/search/adapters/index.ts +39 -0
  612. package/src/search/adapters/mixedbread.ts +39 -0
  613. package/src/search/adapters/orama-cloud.ts +51 -0
  614. package/src/search/adapters/orama.ts +24 -0
  615. package/src/search/adapters/pagefind.ts +27 -0
  616. package/src/search/adapters/registry.ts +131 -0
  617. package/src/search/adapters/types.ts +46 -0
  618. package/src/search/adapters/typesense.ts +57 -0
  619. package/src/search/build.ts +8 -4
  620. package/src/search/documents.ts +8 -2
  621. package/src/search/orama-index.ts +1 -1
  622. package/src/search/sync/algolia.ts +12 -11
  623. package/src/search/sync/index.ts +35 -20
  624. package/src/search/sync/orama-cloud.ts +12 -9
  625. package/src/search/sync/typesense.ts +15 -13
  626. package/src/sources/contentful.ts +63 -0
  627. package/src/sources/custom.ts +38 -0
  628. package/src/sources/filesystem.ts +51 -0
  629. package/src/sources/github-releases.ts +52 -0
  630. package/src/sources/index.ts +60 -0
  631. package/src/sources/mdx-remote.ts +76 -0
  632. package/src/sources/notion.ts +63 -0
  633. package/src/sources/obsidian.ts +38 -0
  634. package/src/sources/payload.ts +60 -0
  635. package/src/sources/registry.ts +182 -0
  636. package/src/sources/sanity.ts +66 -0
  637. package/src/sources/shared.ts +52 -0
  638. package/src/sources/strapi.ts +58 -0
  639. package/src/theme/entry.ts +24 -2
  640. package/src/translate/report.ts +40 -7
  641. package/src/upgrade/upgrade.ts +499 -0
  642. package/dist/cli/chunk-0qymqwzz.js +0 -164
  643. package/dist/cli/chunk-0qymqwzz.js.map +0 -15
  644. package/dist/cli/chunk-1jefwnfs.js.map +0 -48
  645. package/dist/cli/chunk-2mzebbbz.js +0 -69
  646. package/dist/cli/chunk-2z47ypj8.js.map +0 -11
  647. package/dist/cli/chunk-4x36ddpw.js.map +0 -11
  648. package/dist/cli/chunk-5093q3n7.js +0 -68
  649. package/dist/cli/chunk-5093q3n7.js.map +0 -10
  650. package/dist/cli/chunk-5qk08vmp.js.map +0 -11
  651. package/dist/cli/chunk-7s8hm3b6.js +0 -5347
  652. package/dist/cli/chunk-7s8hm3b6.js.map +0 -58
  653. package/dist/cli/chunk-8cjtbafj.js.map +0 -13
  654. package/dist/cli/chunk-97r59kpr.js +0 -381
  655. package/dist/cli/chunk-97r59kpr.js.map +0 -12
  656. package/dist/cli/chunk-ahnw3kxw.js.map +0 -15
  657. package/dist/cli/chunk-b27xqwn9.js.map +0 -10
  658. package/dist/cli/chunk-bf6bt1xt.js +0 -185
  659. package/dist/cli/chunk-bf6bt1xt.js.map +0 -11
  660. package/dist/cli/chunk-cjtn640a.js.map +0 -10
  661. package/dist/cli/chunk-ct47dqpx.js.map +0 -11
  662. package/dist/cli/chunk-esphfr8p.js +0 -107
  663. package/dist/cli/chunk-esphfr8p.js.map +0 -11
  664. package/dist/cli/chunk-ex56aa81.js +0 -1016
  665. package/dist/cli/chunk-ex56aa81.js.map +0 -13
  666. package/dist/cli/chunk-garjf5z9.js +0 -30
  667. package/dist/cli/chunk-garjf5z9.js.map +0 -10
  668. package/dist/cli/chunk-js7saxwm.js +0 -1045
  669. package/dist/cli/chunk-js7saxwm.js.map +0 -22
  670. package/dist/cli/chunk-k79xp7av.js.map +0 -39
  671. package/dist/cli/chunk-ps4m1xh4.js.map +0 -15
  672. package/dist/cli/chunk-q4rae3bg.js +0 -60
  673. package/dist/cli/chunk-q4rae3bg.js.map +0 -10
  674. package/dist/cli/chunk-rz9jmfhz.js +0 -108
  675. package/dist/cli/chunk-rz9jmfhz.js.map +0 -10
  676. package/dist/cli/chunk-vh9w1sgp.js +0 -73
  677. package/dist/cli/chunk-vh9w1sgp.js.map +0 -10
  678. package/dist/cli/chunk-vrfp10qk.js +0 -81
  679. package/dist/cli/chunk-vrfp10qk.js.map +0 -10
  680. package/dist/cli/chunk-yg63d42r.js.map +0 -34
  681. package/docs/advanced/api-reference.mdx +0 -240
  682. package/docs/configuration/ask-ai.mdx +0 -256
  683. package/docs/reference/cli.mdx +0 -197
  684. package/skills/blume-migrate/assets/oxfmt@0.55.0.patch +0 -20
  685. package/src/components/content/changelog-element.ts +0 -69
  686. package/src/search/providers.ts +0 -91
  687. /package/dist/cli/{chunk-vacwm2hv.js.map → chunk-27g6wdth.js.map} +0 -0
  688. /package/dist/cli/{chunk-dwgcp5sm.js.map → chunk-ce574jw2.js.map} +0 -0
  689. /package/dist/cli/{chunk-e7f42gdj.js.map → chunk-fxypxtvm.js.map} +0 -0
  690. /package/dist/cli/{chunk-nn13znc2.js.map → chunk-zxcczpyx.js.map} +0 -0
@@ -1,4 +1,5 @@
1
1
  import type { BlumeConfig } from "./config-input.ts";
2
+ import { BlumeError } from "./diagnostics.ts";
2
3
  import type { ResolvedConfig } from "./schema.ts";
3
4
  import type { Diagnostic } from "./types.ts";
4
5
  /**
@@ -35,10 +36,12 @@ import type { Diagnostic } from "./types.ts";
35
36
  * dismissible }`.
36
37
  *
37
38
  * **Content & navigation**
38
- * - `content` — where content lives (`root`, defaults to `docs`) and pluggable
39
- * `sources` (filesystem, remote MDX, GitHub Releases, Sanity, Notion, or a
40
- * custom `ContentSource`). Omit `sources` and the top-level `root` becomes one
41
- * implicit filesystem source.
39
+ * - `content` — where content lives: adapters from `blume/sources` under
40
+ * `sources` (`filesystem({ root })`, `mdxRemote({…})`, `githubReleases({…})`,
41
+ * `sanity({…})`, `notion({…})`, `contentful({…})`, `payload({…})`,
42
+ * `strapi({…})`, `obsidian({…})`, or `custom(source)`), or the
43
+ * zero-config shorthand `root`/`include`/`exclude`, which desugars to one
44
+ * `filesystem()` source and can't be combined with `sources`.
42
45
  * - `navigation` — sidebar, header `tabs`, `selectors` (version/language/product
43
46
  * switchers), pinned `featured` links, header `actions` and the one `cta`,
44
47
  * and the `repo` link (a toggle, or a URL). Omit `sidebar` to generate it
@@ -60,35 +63,41 @@ import type { Diagnostic } from "./types.ts";
60
63
  * - `export` — reader-facing PDF/EPUB export actions (off by default).
61
64
  *
62
65
  * **Reference docs**
63
- * - `openapi` — native OpenAPI reference: one real page per operation, woven
64
- * into the sidebar and search. Point `sources`/`spec` at your spec.
65
- * - `asyncapi` — native AsyncAPI reference with the same treatment; 2.x specs
66
- * are normalized to 3.x automatically.
67
- *
68
- * **Search & AI**
69
- * - `search` — search backend `provider` (`orama` by default; `pagefind`,
70
- * `algolia`, `typesense`, `orama-cloud`, `mixedbread`, or `none`) plus its
71
- * credential block.
72
- * - `ai` — `ask` (the Ask AI chat endpoint and its provider/model), `llmsTxt`
73
- * (emit `llms.txt`), `mcp` (expose the docs as an MCP server for connecting
74
- * agents), and `markdownComponents` (Markdown serializers for custom
75
- * components in agent-facing output).
66
+ * - `reference` — API references as a list of adapters from
67
+ * `blume/reference`: `openapi({…})` and `asyncapi({…})` render native pages
68
+ * (one real page per operation, woven into the sidebar and search; AsyncAPI
69
+ * 2.x specs are normalized to 3.x), `graphql({…})` renders a schema, and
70
+ * `scalar({…})` embeds the Scalar reference instead.
71
+ *
72
+ * **Search, AI & agents**
73
+ * - `search` — a search adapter from `blume/search` (`orama()` by default;
74
+ * `flexsearch()`, `pagefind()`, `algolia({…})`, `oramaCloud({…})`,
75
+ * `typesense({…})`, `mixedbread({…})`, or `false`), or `{ provider,
76
+ * popular, indexing }` to add curated links and indexing settings.
77
+ * - `ai` — what faces a model at read time: `assistant` (the chat assistant, with
78
+ * a provider adapter from `blume/ai` such as `gateway()` or `openrouter()`)
79
+ * and `openInChat` (the "Open in chat" page action).
80
+ * - `agents` — the machine-readable surface: `llmsTxt`, the JSON `api`, the
81
+ * `mcp` server, published `skills`, `markdownComponents` (Markdown
82
+ * serializers for custom components), the `catalog` manifests,
83
+ * `agentReadability`, robots `contentSignals`, `webmcp`, and `webBotAuth`.
76
84
  *
77
85
  * **SEO, feeds & analytics**
78
- * - `seo` — `og` images, `sitemap`, `robots`, `rss` feeds, `structuredData`
79
- * JSON-LD, `agentReadability`, and robots `contentSignals`.
80
- * - `analytics` — PostHog, Vercel, or arbitrary `scripts` (Plausible, Fathom,
81
- * GA, …).
86
+ * - `seo` — `og` images, `sitemap`, `robots`, `rss` feeds, and
87
+ * `structuredData` JSON-LD.
88
+ * - `analytics` — a list of adapters from `blume/analytics`, one per provider
89
+ * (`posthog()`, `googleAnalytics()`, `plausible()`, `fathom()`, `vercel()`,
90
+ * `cloudflare()`, …), or `script()` for anything without one.
82
91
  *
83
92
  * **Astro**
84
93
  * - `integrations` — Astro integrations appended after Blume's built-ins, in
85
94
  * declaration order. Install and maintain each integration in the site.
86
95
  *
87
96
  * **Deployment & i18n**
88
- * - `deployment` — `site` URL (needed for absolute links, sitemaps, and OG),
89
- * `adapter` (`vercel`/`node`/`netlify`/`cloudflare`), `output`
90
- * (`static`/`server`), and `base` path. Auto-detected on Vercel/Netlify/
91
- * Cloudflare from the platform env.
97
+ * - `deployment` — a host adapter from `blume/deploy` (`vercel()`, `node()`,
98
+ * `netlify()`, `cloudflare()`) for a server build, each taking `site`,
99
+ * `base`, and `output`; or `{ site, base }` for a static build anywhere.
100
+ * `site` is auto-detected on Vercel/Netlify/Cloudflare from the platform env.
92
101
  * - `i18n` — opt-in multi-locale: `locales`, `defaultLocale`, `parser`
93
102
  * (`dir` vs filename `dot` suffix), and per-locale UI overrides.
94
103
  *
@@ -103,33 +112,41 @@ import type { Diagnostic } from "./types.ts";
103
112
  *
104
113
  * @example A production docs site with theming, search, and deployment.
105
114
  * ```ts
115
+ * import { vercel } from "blume/deploy";
116
+ * import { orama } from "blume/search";
117
+ *
106
118
  * export default defineConfig({
107
119
  * title: "Acme Docs",
108
120
  * description: "Build faster with Acme.",
109
121
  * logo: { image: "/logo.svg", text: "Acme" },
110
122
  * github: { owner: "acme", repo: "acme" },
111
- * theme: { accent: "violet", fonts: { body: "inter" }, radius: "lg" },
123
+ * theme: { accent: "purple", fonts: { body: "inter" }, radius: "lg" },
112
124
  * navigation: {
113
125
  * tabs: [
114
126
  * { label: "Guides", path: "/guides" },
115
127
  * { label: "API", path: "/api" },
116
128
  * ],
117
129
  * },
118
- * search: { provider: "orama" },
119
- * deployment: { site: "https://docs.acme.com", adapter: "vercel" },
130
+ * search: orama(),
131
+ * // A server build on Vercel.
132
+ * deployment: vercel({ site: "https://docs.acme.com" }),
120
133
  * });
121
134
  * ```
122
135
  *
123
- * @example An OpenAPI reference with the Ask AI assistant enabled.
136
+ * @example An OpenAPI reference with the assistant enabled.
124
137
  * ```ts
138
+ * import { openapi } from "blume/reference";
139
+ *
125
140
  * export default defineConfig({
126
141
  * title: "Acme API",
127
- * openapi: {
128
- * enabled: true,
129
- * route: "/reference",
130
- * sources: [{ label: "Core", spec: "./openapi.json" }],
131
- * },
132
- * ai: { ask: { enabled: true }, llmsTxt: true },
142
+ * reference: [
143
+ * openapi({
144
+ * route: "/reference",
145
+ * sources: [{ label: "Core", spec: "./openapi.json" }],
146
+ * }),
147
+ * ],
148
+ * agents: { llmsTxt: true },
149
+ * ai: { assistant: { enabled: true } },
133
150
  * });
134
151
  * ```
135
152
  *
@@ -138,6 +155,15 @@ import type { Diagnostic } from "./types.ts";
138
155
  * @see https://useblume.dev/docs for the full configuration reference.
139
156
  */
140
157
  export declare const defineConfig: (config: BlumeConfig) => BlumeConfig;
158
+ /**
159
+ * A config that fails validation. `diagnostic` folds every issue into the one
160
+ * message a command prints; `issues` keeps each on its own, with its own
161
+ * line, for `blume upgrade`, which lists them one by one.
162
+ */
163
+ export declare class ConfigValidationError extends BlumeError {
164
+ readonly issues: Diagnostic[];
165
+ constructor(diagnostic: Diagnostic, issues: Diagnostic[]);
166
+ }
141
167
  /** Result of loading + validating a project config. */
142
168
  export interface ConfigLoadResult {
143
169
  config: ResolvedConfig;
@@ -0,0 +1,76 @@
1
+ import type { ContentSource } from "./sources/types.ts";
2
+ import type { PageRecord } from "./types.ts";
3
+ /**
4
+ * Colocated content images — `![alt](./diagram.png)` next to the page that
5
+ * references it. The HTML render optimizes these through `astro:assets` into
6
+ * hashed `_astro/` files, but that mapping doesn't exist yet when the raw
7
+ * agent-facing Markdown (`/<route>.md`, llms-full.txt, MCP) is snapshotted at
8
+ * generate time — so a verbatim relative path would 404 for every agent
9
+ * fetching the page by URL. Instead, the originals are served at
10
+ * `/blume-assets/content/<project-relative path>` by a generated endpoint (see
11
+ * `contentAssetsEndpointTemplate`), and these helpers rewrite the relative
12
+ * references in agent-facing output to that URL.
13
+ */
14
+ /** The endpoint route prefix colocated content images are served under. */
15
+ export declare const CONTENT_ASSETS_PREFIX = "/blume-assets/content";
16
+ /**
17
+ * The endpoint param a colocated image is served under: its project-relative
18
+ * path (readable, collision-free — it mirrors the source tree). A file outside
19
+ * the project root can't be addressed that way (`..` segments don't survive a
20
+ * URL), so it falls back to a content-addressed name.
21
+ */
22
+ export declare const contentAssetParam: (projectRoot: string, absPath: string) => string;
23
+ /**
24
+ * Whether a target is *shaped* like a colocated image reference: a relative
25
+ * filesystem path with an image extension. Exported so link validation can
26
+ * tell "not a colocated candidate" apart from "a candidate that resolves
27
+ * nowhere" — the former falls through to the public-dir probe, the latter is
28
+ * a broken reference beside the page source.
29
+ */
30
+ export declare const isRelativeImageTarget: (target: string) => boolean;
31
+ /**
32
+ * Resolve one image target against its page's directory. Returns the absolute
33
+ * file path when the target is relative, is an image, and exists on disk —
34
+ * anything else (remote URLs, `public/` absolutes, broken refs, code-block
35
+ * examples that happen to look like paths) is null and left untouched. Shared
36
+ * with link validation, so what counts as a colocated image is decided once.
37
+ */
38
+ export declare const resolveRelativeImage: (sourceDir: string, target: string) => string | null;
39
+ /**
40
+ * Rewrite a page's relative image references to their served
41
+ * `/blume-assets/content/…` URLs (under `deployment.base` when set). Fenced
42
+ * code blocks and inline code are skipped; only references whose file actually
43
+ * exists next to the source are touched. `register` observes each rewritten
44
+ * asset so a caller can accumulate the files the endpoint must serve.
45
+ */
46
+ export declare const rewriteRelativeImages: (options: {
47
+ source: string;
48
+ sourcePath: string;
49
+ projectRoot: string;
50
+ deployBase?: string;
51
+ register?: (param: string, absPath: string) => void;
52
+ }) => string;
53
+ /**
54
+ * Every colocated image the project's pages reference, keyed by endpoint param.
55
+ * Serialized to `generated/content-assets.json`, which the
56
+ * `/blume-assets/[...asset]` endpoint reads to serve the original files. Runs
57
+ * the same rewrite the agent-Markdown builders apply — over the same
58
+ * include-expanded text, so a partial's colocated images (rebased into the
59
+ * including page by the expander) are served too — keeping the served set and
60
+ * the rewritten URLs from drifting apart.
61
+ */
62
+ export declare const collectContentAssets: (project: {
63
+ context: {
64
+ root: string;
65
+ };
66
+ manifest: {
67
+ routes: {
68
+ id: string;
69
+ sourcePath?: string;
70
+ }[];
71
+ };
72
+ graph: {
73
+ pages: PageRecord[];
74
+ };
75
+ sources?: ContentSource[];
76
+ }) => Promise<Record<string, string>>;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Custom `.astro` pages (the `pages/` folder): discovery and the routes they
3
+ * serve. Lives in core so the content graph can see them too — a header tab or
4
+ * brand link that points at a custom page must know the page exists only at
5
+ * its own path, not under every locale prefix.
6
+ */
7
+ /** A user `.astro` page and the route pattern Blume injects it at. */
8
+ export interface CustomPageRoute {
9
+ /** Route pattern, e.g. `/changelog` or `/examples/[slug]`. */
10
+ pattern: string;
11
+ /** Absolute path to the user's `.astro` page file. */
12
+ entrypoint: string;
13
+ }
14
+ /**
15
+ * Discover user `.astro` pages and map them to route patterns. Files keep their
16
+ * original location; only the route pattern is derived (index -> parent,
17
+ * dynamic `[param]` segments preserved).
18
+ */
19
+ export declare const discoverPages: (pagesRoot: string) => Promise<CustomPageRoute[]>;
20
+ /** {@link discoverPages} for synchronous callers (e.g. the sitemap builder). */
21
+ export declare const discoverPagesSync: (pagesRoot: string) => CustomPageRoute[];
22
+ /** Segments of a static, shareable page pattern; null for dynamic/private ones. */
23
+ export declare const staticSegments: (pattern: string) => string[] | null;
24
+ /**
25
+ * The static routes served by custom `.astro` pages — the same filtering as
26
+ * the generated OG cards, but yielding the routes themselves. Feeds the route
27
+ * sets that must know every servable page beyond the content graph (the link
28
+ * checker, the sitemap); dynamic (`[param]`) and private segments are skipped
29
+ * because their concrete URLs can't be enumerated statically.
30
+ */
31
+ export declare const customStaticRoutes: (pages: {
32
+ pattern: string;
33
+ }[]) => string[];
@@ -1,7 +1,8 @@
1
+ import type { SearchAdapterKind } from "../search/adapters/registry.ts";
1
2
  import type { StructuredDataIdentity } from "../seo/jsonld.ts";
2
3
  import type { FontHead } from "../theme/fonts.ts";
3
4
  import type { UIStrings } from "./i18n-ui.ts";
4
- import type { ResolvedConfig, SearchProvider } from "./schema.ts";
5
+ import type { ResolvedConfig } from "./schema.ts";
5
6
  import type { Navigation, RouteAlternate, VersionAlternate } from "./types.ts";
6
7
  /**
7
8
  * The shape of the `blume:data` virtual module — the resolved, serializable
@@ -102,6 +103,11 @@ export interface BlumeRoute {
102
103
  lastModified: string | null;
103
104
  /** Resolved locale code (the default locale when not under i18n). */
104
105
  locale: string;
106
+ /**
107
+ * True when the page's source publishes one language only (GitHub
108
+ * Releases), so the page renders without a language switcher.
109
+ */
110
+ monolingual: boolean;
105
111
  path: string;
106
112
  title: string;
107
113
  /** Resolved docs version (`""` for the current docs). */
@@ -115,35 +121,37 @@ export interface BlumeRoute {
115
121
  }
116
122
  /** Site-wide settings derived from `blume.config` — the `config` field of {@link BlumeData}. */
117
123
  export interface BlumeDataConfig {
118
- analytics: NonNullable<ResolvedConfig["analytics"]> | null;
124
+ /** Analytics adapter descriptors, in configured order; empty when none. */
125
+ analytics: ResolvedConfig["analytics"];
119
126
  /** Apple touch icon, or `null` when none is configured/detected. */
120
127
  appleIcon: BlumeFavicon | null;
121
- /** Ask AI empty-state suggestions, or `null` when Ask AI is off. */
122
- ask: {
128
+ /** The assistant's empty-state suggestions, or `null` when the assistant is off. */
129
+ assistant: {
123
130
  endpoint: string | null;
124
- suggestions: NonNullable<ResolvedConfig["ai"]["ask"]>["suggestions"];
131
+ suggestions: NonNullable<ResolvedConfig["ai"]["assistant"]>["suggestions"];
125
132
  } | null;
126
133
  banner: BlumeBanner | null;
127
134
  /** Site-wide route mount point, normalized to `""` or `/seg` (see config). */
128
135
  basePath: string;
129
- /** `markdown.codeBlocks.theme`: light/dark Shiki themes for code surfaces. */
130
- codeThemes: ResolvedConfig["markdown"]["codeBlocks"]["theme"];
136
+ /** `markdown.code.theme`: light/dark Shiki themes for code surfaces. */
137
+ codeThemes: ResolvedConfig["markdown"]["code"]["theme"];
131
138
  /** `markdown.code.wrap`: wrap long code lines instead of scrolling. */
132
139
  codeWrap: boolean;
133
140
  /** `dateFormat`: `Intl.DateTimeFormat` options for the date stamps. */
134
141
  dateFormat: ResolvedConfig["dateFormat"];
135
142
  description: string | undefined;
136
143
  /**
137
- * Which agent-discovery resources exist for the layout to advertise in every
138
- * page's `<head>` (`seo.agentReadability`, `ai.llmsTxt.enabled`) — the HTML
139
- * counterpart of the homepage-only HTTP `Link` header, for agents that enter
140
- * on a deep page (see `ai/link-headers.ts`). `sitemap` (`seo.sitemap` with a
144
+ * Which agent-discovery resources exist for every layout to advertise in its
145
+ * page's `<head>` (`agents.agentReadability`, `agents.llmsTxt.enabled`) via
146
+ * the shared `DiscoveryLinks.astro` partial — the HTML counterpart of the
147
+ * homepage-only HTTP `Link` header, for agents that enter on a deep page
148
+ * (see `ai/link-headers.ts`). `sitemap` (`seo.sitemap` with a
141
149
  * `deployment.site`, the condition under which one is emitted) feeds the
142
150
  * 404 page's recovery links rather than the head.
143
151
  */
144
152
  discovery: {
145
153
  agentReadability: boolean;
146
- /** Whether the AI Catalog / ARD manifest is published (`ai.catalog`). */
154
+ /** Whether the AI Catalog / ARD manifest is published (`agents.catalog`). */
147
155
  aiCatalog: boolean;
148
156
  /** Whether the JSON docs API and its `/openapi.json` are published. */
149
157
  api: boolean;
@@ -218,7 +226,8 @@ export interface BlumeDataConfig {
218
226
  label: string;
219
227
  route: string;
220
228
  }[];
221
- provider: SearchProvider;
229
+ /** The configured adapter's kind (`none` when search is disabled). */
230
+ provider: SearchAdapterKind;
222
231
  };
223
232
  /** Deployment site URL, or `null` when none is configured/detected. */
224
233
  site: string | null;
@@ -228,8 +237,8 @@ export interface BlumeDataConfig {
228
237
  /** Table-of-contents settings: whether to show it and the heading range. */
229
238
  toc: ResolvedConfig["toc"];
230
239
  /**
231
- * WebMCP in-page tools (`ai.webmcp`), plus whether llms.txt exists for the
232
- * list tool to fetch (`ai.llmsTxt.enabled`).
240
+ * WebMCP in-page tools (`agents.webmcp`), plus whether llms.txt exists for the
241
+ * list tool to fetch (`agents.llmsTxt.enabled`).
233
242
  */
234
243
  /** Docs versioning config; `null` when the site is unversioned. */
235
244
  versions: NonNullable<ResolvedConfig["versions"]> | null;
@@ -243,6 +252,12 @@ export interface BlumeDataConfig {
243
252
  handle?: string;
244
253
  };
245
254
  }
255
+ /**
256
+ * The `discovery` flags the head partial (`components/layout/DiscoveryLinks.astro`)
257
+ * advertises — every layout's `discovery` prop is typed from here so a renamed
258
+ * or added flag surfaces in the shells at typecheck instead of drifting.
259
+ */
260
+ export type DiscoveryHeadLinks = Pick<BlumeDataConfig["discovery"], "agentReadability" | "aiCatalog" | "llmsTxt">;
246
261
  /**
247
262
  * The compact snapshot the layout serializes into the page for React island
248
263
  * hooks (`blume/hooks`). Islands hydrate independently, so this is read from a
@@ -13,18 +13,21 @@ export interface IslandDescriptor {
13
13
  }
14
14
  /** A component override: a static component or a hydrated island. */
15
15
  export type ComponentOverride = ComponentReference | IslandDescriptor;
16
- /** User-authored component overrides, grouped by surface. */
16
+ /**
17
+ * User-authored component overrides, grouped by surface. Blume reads this file
18
+ * statically (never executing it), so every entry must be an imported
19
+ * identifier, a path string, or a `{ component, client, media }` object literal
20
+ * — an entry with a `client` mode is an island, hydrated through a generated
21
+ * wrapper.
22
+ */
17
23
  export interface ComponentOverrides {
18
- /**
19
- * Interactive framework components made available in every `.mdx` page. Like
20
- * `mdx`, but hydrated: entries default to `client: "visible"`. Shorthand for
21
- * an `mdx` descriptor with a client mode, and the config-file equivalent of
22
- * dropping a component in the `islands/` folder.
23
- */
24
- islands?: Record<string, ComponentOverride>;
25
24
  /** Layout slot overrides (`Header`, `Sidebar`, `Footer`, ...). */
26
25
  layout?: Record<string, ComponentOverride>;
27
- /** MDX component map overrides (`Callout`, `Card`, ...). */
26
+ /**
27
+ * MDX component map overrides (`Callout`, `Card`, ...) and additions,
28
+ * available in every `.mdx` page. Give an entry a `client` mode to hydrate
29
+ * it — the config-file equivalent of dropping a component in `islands/`.
30
+ */
28
31
  mdx?: Record<string, ComponentOverride>;
29
32
  }
30
33
  /**
@@ -1,15 +1,10 @@
1
1
  import type { ResolvedConfig } from "./schema.ts";
2
2
  /**
3
- * Adapters whose `deployment.site` arrives from platform env vars at deploy
4
- * time. Consumers (e.g. the audit) use this to tell "site is missing" apart
5
- * from "site is missing *here*, but the platform will set it".
6
- */
7
- export declare const SITE_INFERRING_ADAPTERS: ReadonlySet<string>;
8
- /**
9
- * Fill in `deployment.adapter` and `deployment.site` from platform env vars
10
- * (Vercel, Netlify, Cloudflare Pages) when the user hasn't set them. Explicit
11
- * config always wins, and the adapter is only inferred for server output (it
12
- * has no effect on static builds). Mirrors Astro's platform auto-detection so a
13
- * project deployed to a known host gets a working canonical origin for free.
3
+ * Fill in the deployment `site` from platform env vars (Vercel, Netlify,
4
+ * Cloudflare Pages) when the config hasn't set one. Explicit config always
5
+ * wins. Each adapter's platform declares its own detection and URL vars (see
6
+ * `deploy/platforms/*`); the configured adapter is asked first, then every
7
+ * other platform, so a static build deployed to a known host gets a working
8
+ * canonical origin for free, mirroring Astro's platform auto-detection.
14
9
  */
15
10
  export declare const applyDeploymentEnv: (config: ResolvedConfig, env?: NodeJS.ProcessEnv) => ResolvedConfig;
@@ -0,0 +1,10 @@
1
+ import baseMatter from "gray-matter";
2
+ type MatterInput = Parameters<typeof baseMatter>[0];
3
+ type MatterOptions = Parameters<typeof baseMatter>[1];
4
+ type ReadArgs = Parameters<typeof baseMatter.read>;
5
+ type StringifyArgs = Parameters<typeof baseMatter.stringify>;
6
+ declare const matter: ((input: MatterInput, options?: MatterOptions) => baseMatter.GrayMatterFile<baseMatter.Input>) & typeof baseMatter & {
7
+ read: (filepath: ReadArgs[0], options?: ReadArgs[1]) => baseMatter.GrayMatterFile<string>;
8
+ stringify: (file: StringifyArgs[0], data: StringifyArgs[1], options?: StringifyArgs[2]) => string;
9
+ };
10
+ export default matter;
@@ -0,0 +1,18 @@
1
+ import type { FolderMeta, ResolvedConfig, ResolvedI18nConfig, ResolvedVersionsConfig } from "./schema.ts";
2
+ import type { ContentGraph, PageRecord } from "./types.ts";
3
+ interface BuildContentGraphOptions {
4
+ /** Site-wide route mount point (`""` or `/seg`); invisible to the nav tree. */
5
+ basePath?: string;
6
+ /** The header brand link as configured (`logo.href`, default `/`). */
7
+ brandHref?: string;
8
+ /** Routes served outside the content tree that tabs may link to directly. */
9
+ extraRoutes?: ReadonlySet<string>;
10
+ folderMeta: Map<string, FolderMeta>;
11
+ sharedFolderMeta?: Map<string, FolderMeta>;
12
+ navigation: ResolvedConfig["navigation"];
13
+ i18n?: ResolvedI18nConfig;
14
+ versions?: ResolvedVersionsConfig;
15
+ }
16
+ /** Assemble the content graph: routes map, nav, and duplicate diagnostics. */
17
+ export declare const buildContentGraph: (pages: PageRecord[], options: BuildContentGraphOptions) => ContentGraph;
18
+ export {};
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Trailing heading markers, matching Fumadocs' syntax so migrated content works
3
+ * verbatim: `## Heading [#custom-id]` pins the anchor id, `## Heading [!toc]`
4
+ * keeps the heading on the page but out of the table of contents, and
5
+ * `## Heading [toc]` shows it only in the table of contents. Markers chain in
6
+ * any order (`## Heading [toc] [#id]`). The `{#id}` pin of Pandoc, kramdown,
7
+ * and Markdown-based specification toolchains is accepted as an equivalent of
8
+ * `[#id]` — in `.md` verbatim, in `.mdx` only as the escape `\{#id\}` (a bare
9
+ * `{…}` there is a JSX expression; the scan-time scanner reports one as
10
+ * `BLUME_MDX_CURLY_ANCHOR`). Both pipelines resolve escapes before parsing
11
+ * markers, so the escaped and bare spellings reach this parser identically.
12
+ *
13
+ * Both heading pipelines share this parser — the render-time hast plugin
14
+ * (`markdown/heading-anchors.ts`) and the scan-time source scanner
15
+ * (`core/sources/normalize.ts`) — so the rendered `id`, the TOC entry, and the
16
+ * anchor index `blume validate` checks against always agree.
17
+ */
18
+ import type GithubSlugger from "github-slugger";
19
+ /**
20
+ * Frontmatter key carrying the slugs of `[!toc]` headings out of a render. The
21
+ * hast plugin pushes onto it and the generated page template reads it back via
22
+ * `remarkPluginFrontmatter` to filter the TOC.
23
+ */
24
+ export declare const TOC_HIDDEN_KEY = "__blumeTocHidden";
25
+ /**
26
+ * Register a pinned `[#id]` with the document slugger, the way
27
+ * `GithubSlugger#slug` registers the slugs it returns — so a later heading
28
+ * whose auto-slug collides disambiguates (`setup` → `setup-1`) instead of
29
+ * silently duplicating the anchor id. An id that is already taken is left
30
+ * untouched (the pin still uses it verbatim; duplicate pins are the author's
31
+ * explicit choice).
32
+ */
33
+ export declare const occupySlug: (slugger: GithubSlugger, id: string) => void;
34
+ export interface HeadingMarkers {
35
+ /** Author-pinned anchor id from `[#id]` or `{#id}`, used verbatim (never re-slugged). */
36
+ id?: string;
37
+ /** The heading text with every trailing marker stripped. */
38
+ text: string;
39
+ /** `[!toc]` hides the heading from the TOC; `[toc]` shows it only there. */
40
+ toc?: "hide" | "only";
41
+ }
42
+ /**
43
+ * Split trailing markers off a heading's text. Only markers at the very end of
44
+ * the heading count (mid-text brackets are ordinary prose); when a marker kind
45
+ * repeats, the last one written wins.
46
+ *
47
+ * `isRefDefined` reports whether a link-reference definition exists for a
48
+ * bracket's label (`toc`, `!toc`, `#id`): a defined bracket is a CommonMark
49
+ * shortcut link, not a marker — the renderer sees a resolved `<a>` element
50
+ * there and strips nothing at or before it, so the parse stops the same way.
51
+ * The render-time hast plugin never passes it (resolved links are already
52
+ * elements by the time it runs); the raw-source scanner does.
53
+ */
54
+ export declare const parseHeadingMarkers: (text: string, isRefDefined?: (label: string) => boolean) => HeadingMarkers;
@@ -11,7 +11,6 @@ declare const uiStringsObject: z.ZodObject<{
11
11
  actions: z.ZodPrefault<z.ZodObject<{
12
12
  addToCursor: z.ZodDefault<z.ZodString>;
13
13
  addToVscode: z.ZodDefault<z.ZodString>;
14
- askAI: z.ZodDefault<z.ZodString>;
15
14
  connectMcp: z.ZodDefault<z.ZodString>;
16
15
  copied: z.ZodDefault<z.ZodString>;
17
16
  copyClaudeCode: z.ZodDefault<z.ZodString>;
@@ -30,7 +29,7 @@ declare const uiStringsObject: z.ZodObject<{
30
29
  openInChatPrompt: z.ZodDefault<z.ZodString>;
31
30
  scrollToTop: z.ZodDefault<z.ZodString>;
32
31
  }, z.core.$strip>>;
33
- ask: z.ZodPrefault<z.ZodObject<{
32
+ assistant: z.ZodPrefault<z.ZodObject<{
34
33
  ai: z.ZodDefault<z.ZodString>;
35
34
  clear: z.ZodDefault<z.ZodString>;
36
35
  close: z.ZodDefault<z.ZodString>;
@@ -49,10 +48,11 @@ declare const uiStringsObject: z.ZodObject<{
49
48
  }, z.core.$strip>>;
50
49
  changelog: z.ZodPrefault<z.ZodObject<{
51
50
  description: z.ZodDefault<z.ZodString>;
52
- showReleases: z.ZodDefault<z.ZodString>;
53
51
  title: z.ZodDefault<z.ZodString>;
54
52
  }, z.core.$strip>>;
55
53
  content: z.ZodPrefault<z.ZodObject<{
54
+ copyColor: z.ZodDefault<z.ZodString>;
55
+ copyPrompt: z.ZodDefault<z.ZodString>;
56
56
  diagramError: z.ZodDefault<z.ZodString>;
57
57
  }, z.core.$strip>>;
58
58
  feedback: z.ZodPrefault<z.ZodObject<{
@@ -73,6 +73,7 @@ declare const uiStringsObject: z.ZodObject<{
73
73
  featured: z.ZodDefault<z.ZodString>;
74
74
  githubRepository: z.ZodDefault<z.ZodString>;
75
75
  navigation: z.ZodDefault<z.ZodString>;
76
+ opensInNewTab: z.ZodDefault<z.ZodString>;
76
77
  primary: z.ZodDefault<z.ZodString>;
77
78
  sections: z.ZodDefault<z.ZodString>;
78
79
  toggleNavigation: z.ZodDefault<z.ZodString>;
@@ -98,8 +99,8 @@ declare const uiStringsObject: z.ZodObject<{
98
99
  all: z.ZodDefault<z.ZodString>;
99
100
  allLanguages: z.ZodDefault<z.ZodString>;
100
101
  allVersions: z.ZodDefault<z.ZodString>;
101
- askAi: z.ZodDefault<z.ZodString>;
102
- askAiHint: z.ZodDefault<z.ZodString>;
102
+ assistant: z.ZodDefault<z.ZodString>;
103
+ assistantHint: z.ZodDefault<z.ZodString>;
103
104
  button: z.ZodDefault<z.ZodString>;
104
105
  devOnly: z.ZodDefault<z.ZodString>;
105
106
  error: z.ZodDefault<z.ZodString>;
@@ -125,7 +126,6 @@ export declare const uiStringsSchema: z.ZodPrefault<z.ZodObject<{
125
126
  actions: z.ZodPrefault<z.ZodObject<{
126
127
  addToCursor: z.ZodDefault<z.ZodString>;
127
128
  addToVscode: z.ZodDefault<z.ZodString>;
128
- askAI: z.ZodDefault<z.ZodString>;
129
129
  connectMcp: z.ZodDefault<z.ZodString>;
130
130
  copied: z.ZodDefault<z.ZodString>;
131
131
  copyClaudeCode: z.ZodDefault<z.ZodString>;
@@ -144,7 +144,7 @@ export declare const uiStringsSchema: z.ZodPrefault<z.ZodObject<{
144
144
  openInChatPrompt: z.ZodDefault<z.ZodString>;
145
145
  scrollToTop: z.ZodDefault<z.ZodString>;
146
146
  }, z.core.$strip>>;
147
- ask: z.ZodPrefault<z.ZodObject<{
147
+ assistant: z.ZodPrefault<z.ZodObject<{
148
148
  ai: z.ZodDefault<z.ZodString>;
149
149
  clear: z.ZodDefault<z.ZodString>;
150
150
  close: z.ZodDefault<z.ZodString>;
@@ -163,10 +163,11 @@ export declare const uiStringsSchema: z.ZodPrefault<z.ZodObject<{
163
163
  }, z.core.$strip>>;
164
164
  changelog: z.ZodPrefault<z.ZodObject<{
165
165
  description: z.ZodDefault<z.ZodString>;
166
- showReleases: z.ZodDefault<z.ZodString>;
167
166
  title: z.ZodDefault<z.ZodString>;
168
167
  }, z.core.$strip>>;
169
168
  content: z.ZodPrefault<z.ZodObject<{
169
+ copyColor: z.ZodDefault<z.ZodString>;
170
+ copyPrompt: z.ZodDefault<z.ZodString>;
170
171
  diagramError: z.ZodDefault<z.ZodString>;
171
172
  }, z.core.$strip>>;
172
173
  feedback: z.ZodPrefault<z.ZodObject<{
@@ -187,6 +188,7 @@ export declare const uiStringsSchema: z.ZodPrefault<z.ZodObject<{
187
188
  featured: z.ZodDefault<z.ZodString>;
188
189
  githubRepository: z.ZodDefault<z.ZodString>;
189
190
  navigation: z.ZodDefault<z.ZodString>;
191
+ opensInNewTab: z.ZodDefault<z.ZodString>;
190
192
  primary: z.ZodDefault<z.ZodString>;
191
193
  sections: z.ZodDefault<z.ZodString>;
192
194
  toggleNavigation: z.ZodDefault<z.ZodString>;
@@ -212,8 +214,8 @@ export declare const uiStringsSchema: z.ZodPrefault<z.ZodObject<{
212
214
  all: z.ZodDefault<z.ZodString>;
213
215
  allLanguages: z.ZodDefault<z.ZodString>;
214
216
  allVersions: z.ZodDefault<z.ZodString>;
215
- askAi: z.ZodDefault<z.ZodString>;
216
- askAiHint: z.ZodDefault<z.ZodString>;
217
+ assistant: z.ZodDefault<z.ZodString>;
218
+ assistantHint: z.ZodDefault<z.ZodString>;
217
219
  button: z.ZodDefault<z.ZodString>;
218
220
  devOnly: z.ZodDefault<z.ZodString>;
219
221
  error: z.ZodDefault<z.ZodString>;