blume 2.0.3 → 2.1.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 (607) hide show
  1. package/AGENTS.md +1 -0
  2. package/CHANGELOG.md +142 -0
  3. package/README.md +1 -1
  4. package/dist/cli/{chunk-5f86nr5m.js → chunk-073rdvgb.js} +21 -48
  5. package/dist/cli/{chunk-5f86nr5m.js.map → chunk-073rdvgb.js.map} +4 -5
  6. package/dist/cli/{chunk-ga0pf4aj.js → chunk-0n9xkp3d.js} +12 -3
  7. package/dist/cli/{chunk-ga0pf4aj.js.map → chunk-0n9xkp3d.js.map} +3 -3
  8. package/dist/cli/chunk-150jk7km.js +52 -0
  9. package/dist/cli/chunk-150jk7km.js.map +10 -0
  10. package/dist/cli/{chunk-9t7a85s3.js → chunk-313vnn40.js} +30 -19
  11. package/dist/cli/chunk-313vnn40.js.map +10 -0
  12. package/dist/cli/{chunk-tkacnehg.js → chunk-3v3ffbrj.js} +2 -2
  13. package/dist/cli/{chunk-q58y5e6a.js → chunk-3x6x3pph.js} +46 -24
  14. package/dist/cli/chunk-3x6x3pph.js.map +10 -0
  15. package/dist/cli/{chunk-1d7ve1dm.js → chunk-42t4jxdx.js} +37 -5
  16. package/dist/cli/chunk-42t4jxdx.js.map +12 -0
  17. package/dist/cli/{chunk-8ktnccpt.js → chunk-54ztw1nj.js} +21 -2
  18. package/dist/cli/chunk-54ztw1nj.js.map +10 -0
  19. package/dist/cli/{chunk-hm3vjy5s.js → chunk-5vjtgs6e.js} +28 -10
  20. package/dist/cli/{chunk-hm3vjy5s.js.map → chunk-5vjtgs6e.js.map} +4 -4
  21. package/dist/cli/chunk-66w9j7p6.js +322 -0
  22. package/dist/cli/chunk-66w9j7p6.js.map +14 -0
  23. package/dist/cli/{chunk-2hsdwb9n.js → chunk-7ppf1rva.js} +34 -18
  24. package/dist/cli/chunk-7ppf1rva.js.map +10 -0
  25. package/dist/cli/{chunk-r9rcc4w7.js → chunk-8y2kmjv8.js} +7 -7
  26. package/dist/cli/{chunk-r20tn01b.js → chunk-c1y538kd.js} +8 -2
  27. package/dist/cli/{chunk-r20tn01b.js.map → chunk-c1y538kd.js.map} +3 -3
  28. package/dist/cli/{chunk-2eytanqx.js → chunk-c887fj0s.js} +2 -2
  29. package/dist/cli/{chunk-p3v96n38.js → chunk-cfyg47zg.js} +16 -6
  30. package/dist/cli/chunk-cfyg47zg.js.map +10 -0
  31. package/dist/cli/chunk-cm89scdv.js +443 -0
  32. package/dist/cli/chunk-cm89scdv.js.map +11 -0
  33. package/dist/cli/{chunk-akbpwfxc.js → chunk-dzwehpy7.js} +2 -2
  34. package/dist/cli/{chunk-wrr3j9w9.js → chunk-e6atmn4h.js} +299 -72
  35. package/dist/cli/chunk-e6atmn4h.js.map +36 -0
  36. package/dist/cli/{chunk-tzmab476.js → chunk-e8xw9qkh.js} +8 -6
  37. package/dist/cli/{chunk-tzmab476.js.map → chunk-e8xw9qkh.js.map} +3 -3
  38. package/dist/cli/{chunk-6dsbexzp.js → chunk-e9q7a2ak.js} +17 -15
  39. package/dist/cli/{chunk-6dsbexzp.js.map → chunk-e9q7a2ak.js.map} +2 -2
  40. package/dist/cli/{chunk-pv29h0wf.js → chunk-ehweg4fr.js} +5155 -1249
  41. package/dist/cli/chunk-ehweg4fr.js.map +218 -0
  42. package/dist/cli/{chunk-c8chx29p.js → chunk-ep6nd0rn.js} +390 -318
  43. package/dist/cli/chunk-ep6nd0rn.js.map +36 -0
  44. package/dist/cli/{chunk-p73c0m7w.js → chunk-fdrkhpjy.js} +18 -15
  45. package/dist/cli/{chunk-p73c0m7w.js.map → chunk-fdrkhpjy.js.map} +3 -3
  46. package/dist/cli/{chunk-2z928egk.js → chunk-ft9vfys6.js} +5 -5
  47. package/dist/cli/{chunk-5m5nmvyq.js → chunk-gb420vvz.js} +316 -79
  48. package/dist/cli/chunk-gb420vvz.js.map +17 -0
  49. package/dist/cli/{chunk-vg9r4eb9.js → chunk-hebn0tpx.js} +86 -13
  50. package/dist/cli/chunk-hebn0tpx.js.map +14 -0
  51. package/dist/cli/{chunk-35d4wj9f.js → chunk-htrwgabr.js} +41 -23
  52. package/dist/cli/chunk-htrwgabr.js.map +15 -0
  53. package/dist/cli/{chunk-g4hq16wv.js → chunk-hx3xqnk9.js} +16 -14
  54. package/dist/cli/{chunk-g4hq16wv.js.map → chunk-hx3xqnk9.js.map} +2 -2
  55. package/dist/cli/chunk-j134vrp2.js +65 -0
  56. package/dist/cli/chunk-j134vrp2.js.map +10 -0
  57. package/dist/cli/{chunk-a58773jm.js → chunk-kma9f6sf.js} +2 -2
  58. package/dist/cli/chunk-kwrg63tm.js +31 -0
  59. package/dist/cli/chunk-kwrg63tm.js.map +10 -0
  60. package/dist/cli/{chunk-ey84smr6.js → chunk-mrcccgnh.js} +6 -6
  61. package/dist/cli/{chunk-ey84smr6.js.map → chunk-mrcccgnh.js.map} +1 -1
  62. package/dist/cli/{chunk-yfyb25rh.js → chunk-n0v7m8ry.js} +24 -8
  63. package/dist/cli/chunk-n0v7m8ry.js.map +14 -0
  64. package/dist/cli/{chunk-j85vccga.js → chunk-ncj7w596.js} +576 -367
  65. package/dist/cli/chunk-ncj7w596.js.map +35 -0
  66. package/dist/cli/{chunk-5xvm6tfj.js → chunk-nq1d20w2.js} +17 -15
  67. package/dist/cli/{chunk-5xvm6tfj.js.map → chunk-nq1d20w2.js.map} +2 -2
  68. package/dist/cli/{chunk-pehfxfta.js → chunk-nrns10mj.js} +6 -98
  69. package/dist/cli/chunk-nrns10mj.js.map +10 -0
  70. package/dist/cli/{chunk-crgn1q09.js → chunk-sds923fa.js} +4 -4
  71. package/dist/cli/chunk-t2m5j4pr.js +104 -0
  72. package/dist/cli/chunk-t2m5j4pr.js.map +11 -0
  73. package/dist/cli/{chunk-acanzt5p.js → chunk-tdqhyxfz.js} +6 -6
  74. package/dist/cli/chunk-tphac74f.js +126 -0
  75. package/dist/cli/chunk-tphac74f.js.map +11 -0
  76. package/dist/cli/chunk-w1r4vase.js +18 -0
  77. package/dist/cli/chunk-w1r4vase.js.map +10 -0
  78. package/dist/cli/{chunk-3em5wd2y.js → chunk-zccbjcj0.js} +4 -3
  79. package/dist/cli/{chunk-3em5wd2y.js.map → chunk-zccbjcj0.js.map} +2 -2
  80. package/dist/cli/index.js +31 -20
  81. package/dist/cli/index.js.map +5 -5
  82. package/dist/types/ai/agent-surface.d.ts +8 -7
  83. package/dist/types/ai/ai-catalog.d.ts +7 -0
  84. package/dist/types/ai/ask-context.d.ts +26 -0
  85. package/dist/types/ai/ask.d.ts +271 -58
  86. package/dist/types/ai/component-markdown.d.ts +2 -0
  87. package/dist/types/ai/index.d.ts +2 -2
  88. package/dist/types/ai/openapi-components.d.ts +4 -1
  89. package/dist/types/ai/site-skill.d.ts +26 -0
  90. package/dist/types/ai/skills.d.ts +16 -0
  91. package/dist/types/astro/integration.d.ts +9 -0
  92. package/dist/types/astro/markdown-negotiation.d.ts +3 -0
  93. package/dist/types/astro/pages.d.ts +10 -0
  94. package/dist/types/captcha/hcaptcha.d.ts +27 -0
  95. package/dist/types/captcha/index.d.ts +28 -0
  96. package/dist/types/captcha/schema.d.ts +29 -0
  97. package/dist/types/captcha/turnstile.d.ts +28 -0
  98. package/dist/types/cli/init/scaffold.d.ts +1 -1
  99. package/dist/types/components/content/api-field.d.ts +62 -0
  100. package/dist/types/components/content/api-page.d.ts +100 -0
  101. package/dist/types/components/layout/nav-utils.d.ts +26 -0
  102. package/dist/types/components/openapi/code-samples.d.ts +29 -0
  103. package/dist/types/components/openapi/helpers.d.ts +158 -0
  104. package/dist/types/components/openapi/security.d.ts +95 -0
  105. package/dist/types/components/openapi/snippets.d.ts +60 -0
  106. package/dist/types/consent/ethyca.d.ts +48 -0
  107. package/dist/types/consent/index.d.ts +37 -0
  108. package/dist/types/consent/native.d.ts +28 -0
  109. package/dist/types/consent/osano.d.ts +42 -0
  110. package/dist/types/consent/schema.d.ts +110 -0
  111. package/dist/types/core/changelog-index.d.ts +8 -0
  112. package/dist/types/core/config-input.d.ts +217 -23
  113. package/dist/types/core/data.d.ts +53 -4
  114. package/dist/types/core/footer.d.ts +8 -0
  115. package/dist/types/core/i18n-ui.d.ts +88 -0
  116. package/dist/types/core/includes.d.ts +8 -2
  117. package/dist/types/core/links.d.ts +8 -0
  118. package/dist/types/core/localizable.d.ts +7 -0
  119. package/dist/types/core/page-modes.d.ts +29 -0
  120. package/dist/types/core/probe.d.ts +2 -0
  121. package/dist/types/core/project-graph.d.ts +6 -0
  122. package/dist/types/core/redirect-patterns.d.ts +152 -0
  123. package/dist/types/core/related.d.ts +40 -0
  124. package/dist/types/core/schema.d.ts +670 -56
  125. package/dist/types/core/sources/cache.d.ts +3 -0
  126. package/dist/types/core/sources/contentful-rich-text.d.ts +11 -2
  127. package/dist/types/core/sources/contentful.d.ts +17 -1
  128. package/dist/types/core/sources/lexical.d.ts +5 -0
  129. package/dist/types/core/sources/normalize.d.ts +20 -1
  130. package/dist/types/core/sources/read.d.ts +5 -0
  131. package/dist/types/core/sources/remote.d.ts +37 -10
  132. package/dist/types/core/sources/sanity.d.ts +1 -1
  133. package/dist/types/core/types.d.ts +18 -1
  134. package/dist/types/core/variables.d.ts +42 -0
  135. package/dist/types/deploy/adapter-output.d.ts +2 -1
  136. package/dist/types/deploy/adapters/cloudflare.d.ts +7 -5
  137. package/dist/types/deploy/adapters/node.d.ts +58 -23
  138. package/dist/types/deploy/adapters/registry.d.ts +10 -0
  139. package/dist/types/deploy/adapters/types.d.ts +3 -2
  140. package/dist/types/deploy/node-headers.d.ts +13 -2
  141. package/dist/types/deploy/platforms/cloudflare.d.ts +15 -7
  142. package/dist/types/deploy/platforms/netlify.d.ts +7 -0
  143. package/dist/types/deploy/platforms/node.d.ts +3 -1
  144. package/dist/types/deploy/platforms/types.d.ts +18 -7
  145. package/dist/types/deploy/platforms/vercel.d.ts +26 -1
  146. package/dist/types/deploy/redirects.d.ts +55 -11
  147. package/dist/types/deploy/sitemap.d.ts +2 -1
  148. package/dist/types/deploy/vercel-negotiation.d.ts +51 -21
  149. package/dist/types/markdown/code-title.d.ts +17 -0
  150. package/dist/types/markdown/features.d.ts +3 -2
  151. package/dist/types/narration/build.d.ts +70 -0
  152. package/dist/types/narration/provider.d.ts +26 -0
  153. package/dist/types/narration/script.d.ts +154 -0
  154. package/dist/types/openapi/checks.d.ts +27 -0
  155. package/dist/types/openapi/graphql.d.ts +6 -0
  156. package/dist/types/openapi/model.d.ts +27 -10
  157. package/dist/types/openapi/overlay.d.ts +54 -0
  158. package/dist/types/openapi/parse.d.ts +16 -0
  159. package/dist/types/openapi/references.d.ts +30 -4
  160. package/dist/types/ratelimit/cloudflare.d.ts +39 -0
  161. package/dist/types/ratelimit/index.d.ts +27 -0
  162. package/dist/types/ratelimit/memory.d.ts +36 -0
  163. package/dist/types/ratelimit/schema.d.ts +119 -0
  164. package/dist/types/ratelimit/upstash.d.ts +46 -0
  165. package/dist/types/ratelimit/wrangler.d.ts +23 -0
  166. package/dist/types/reference/asyncapi.d.ts +10 -10
  167. package/dist/types/reference/graphql.d.ts +89 -11
  168. package/dist/types/reference/index.d.ts +1 -1
  169. package/dist/types/reference/openapi.d.ts +33 -12
  170. package/dist/types/reference/options.d.ts +82 -6
  171. package/dist/types/reference/scalar.d.ts +13 -0
  172. package/dist/types/reference/schema.d.ts +144 -36
  173. package/dist/types/search/adapters/registry.d.ts +3 -0
  174. package/dist/types/search/adapters/typesense.d.ts +14 -4
  175. package/dist/types/search/build.d.ts +3 -1
  176. package/dist/types/search/documents.d.ts +12 -1
  177. package/dist/types/search/orama-index.d.ts +13 -9
  178. package/dist/types/search/sync/algolia.d.ts +5 -2
  179. package/dist/types/search/sync/index.d.ts +3 -1
  180. package/dist/types/search/sync/typesense.d.ts +11 -7
  181. package/dist/types/seo/metatags.d.ts +20 -0
  182. package/dist/types/sources/contentful.d.ts +16 -0
  183. package/dist/types/sources/github-releases.d.ts +8 -1
  184. package/dist/types/sources/payload.d.ts +2 -0
  185. package/dist/types/sources/registry.d.ts +54 -0
  186. package/dist/types/sources/shared.d.ts +3 -0
  187. package/dist/types/sources/strapi.d.ts +2 -0
  188. package/docs/01-quickstart.mdx +4 -2
  189. package/docs/02-deployment.mdx +71 -17
  190. package/docs/03-upgrading.mdx +4 -4
  191. package/docs/04-migrating.mdx +1 -1
  192. package/docs/advanced/changelog.mdx +13 -2
  193. package/docs/advanced/skills.mdx +15 -1
  194. package/docs/cli/audit.mdx +51 -8
  195. package/docs/cli/doctor.mdx +5 -1
  196. package/docs/cli/evals.mdx +4 -4
  197. package/docs/cli/index.mdx +1 -0
  198. package/docs/cli/translate.mdx +1 -0
  199. package/docs/cli/validate.mdx +4 -3
  200. package/docs/configuration/analytics.mdx +3 -1
  201. package/docs/configuration/assistant.mdx +194 -38
  202. package/docs/configuration/consent.mdx +100 -0
  203. package/docs/configuration/customization.mdx +8 -6
  204. package/docs/configuration/export.mdx +5 -3
  205. package/docs/configuration/index.mdx +64 -5
  206. package/docs/configuration/meta.ts +3 -0
  207. package/docs/configuration/narration.mdx +119 -0
  208. package/docs/configuration/rate-limiting.mdx +90 -0
  209. package/docs/configuration/search.mdx +63 -12
  210. package/docs/configuration/theming.mdx +3 -1
  211. package/docs/content/components.mdx +108 -2
  212. package/docs/content/frontmatter.mdx +80 -2
  213. package/docs/content/i18n.mdx +39 -4
  214. package/docs/content/includes.mdx +16 -0
  215. package/docs/content/meta.mdx +1 -0
  216. package/docs/content/meta.ts +1 -0
  217. package/docs/content/navigation.mdx +32 -10
  218. package/docs/content/sources/contentful.mdx +35 -0
  219. package/docs/content/sources/custom.mdx +43 -0
  220. package/docs/content/sources/github-releases.mdx +39 -0
  221. package/docs/content/sources/index.mdx +91 -0
  222. package/docs/content/sources/meta.ts +16 -0
  223. package/docs/content/sources/notion.mdx +32 -0
  224. package/docs/content/sources/obsidian.mdx +37 -0
  225. package/docs/content/sources/payload.mdx +31 -0
  226. package/docs/content/sources/remote-mdx.mdx +44 -0
  227. package/docs/content/sources/sanity.mdx +29 -0
  228. package/docs/content/sources/strapi.mdx +32 -0
  229. package/docs/content/syntax.mdx +69 -4
  230. package/docs/content/variables.mdx +41 -0
  231. package/docs/discoverability/agent-discovery.mdx +29 -2
  232. package/docs/discoverability/index.mdx +2 -2
  233. package/docs/discoverability/json-api.mdx +2 -0
  234. package/docs/discoverability/llms-txt.mdx +2 -2
  235. package/docs/discoverability/markdown.mdx +3 -1
  236. package/docs/discoverability/mcp.mdx +4 -0
  237. package/docs/discoverability/metadata.mdx +17 -0
  238. package/docs/discoverability/sitemap-and-robots.mdx +1 -1
  239. package/docs/references/api-pages.mdx +74 -0
  240. package/docs/references/asyncapi.mdx +4 -2
  241. package/docs/references/graphql.mdx +14 -2
  242. package/docs/references/meta.ts +1 -1
  243. package/docs/references/openapi.mdx +148 -7
  244. package/docs/references/scalar.mdx +3 -1
  245. package/package.json +43 -8
  246. package/skills/blume/SKILL.md +3 -0
  247. package/skills/blume-migrate/SKILL.md +6 -6
  248. package/skills/blume-migrate/references/docusaurus.md +7 -7
  249. package/skills/blume-migrate/references/fumadocs.md +17 -13
  250. package/skills/blume-migrate/references/mintlify.md +37 -19
  251. package/skills/blume-migrate/references/nextra.md +10 -7
  252. package/skills/blume-migrate/references/starlight.md +11 -8
  253. package/skills/blume-migrate/scripts/mintlify-codemod.mjs +60 -14
  254. package/skills/blume-write-skill/SKILL.md +82 -0
  255. package/src/ai/agent-readability.ts +2 -1
  256. package/src/ai/agent-surface.ts +9 -7
  257. package/src/ai/ai-catalog.ts +6 -3
  258. package/src/ai/ask-context.ts +103 -20
  259. package/src/ai/ask-data.ts +6 -0
  260. package/src/ai/ask-limits.ts +13 -0
  261. package/src/ai/ask-tools.ts +142 -0
  262. package/src/ai/ask.ts +354 -76
  263. package/src/ai/changelog-markdown.ts +11 -6
  264. package/src/ai/component-markdown.ts +76 -1
  265. package/src/ai/cors.ts +14 -3
  266. package/src/ai/index.ts +12 -0
  267. package/src/ai/llms.ts +6 -2
  268. package/src/ai/markdown.ts +2 -1
  269. package/src/ai/mcp/data.ts +6 -0
  270. package/src/ai/mcp/query.ts +14 -6
  271. package/src/ai/openapi-components.ts +36 -6
  272. package/src/ai/relative-links.ts +4 -38
  273. package/src/ai/site-skill.ts +274 -0
  274. package/src/ai/skills.ts +35 -2
  275. package/src/ai/write-skill.ts +97 -0
  276. package/src/astro/generate.ts +210 -66
  277. package/src/astro/index.ts +1 -0
  278. package/src/astro/integration.ts +42 -4
  279. package/src/astro/markdown-negotiation.ts +3 -0
  280. package/src/astro/module-types.ts +9 -1
  281. package/src/astro/pages.ts +23 -0
  282. package/src/astro/templates.ts +406 -108
  283. package/src/astro/variables.ts +31 -0
  284. package/src/audit/catalog.ts +38 -3
  285. package/src/audit/checks/contrast.ts +183 -0
  286. package/src/audit/checks/i18n.ts +2 -3
  287. package/src/audit/checks/indexability.ts +2 -3
  288. package/src/audit/checks/links.ts +19 -13
  289. package/src/audit/checks/network.ts +110 -6
  290. package/src/audit/checks/redirects.ts +6 -4
  291. package/src/audit/checks/robots.ts +58 -2
  292. package/src/audit/checks/sitemap.ts +2 -3
  293. package/src/audit/redirects.ts +46 -15
  294. package/src/audit/run.ts +5 -0
  295. package/src/audit/types.ts +4 -1
  296. package/src/audit/url.ts +14 -5
  297. package/src/blume-modules.d.ts +12 -1
  298. package/src/captcha/client.ts +152 -0
  299. package/src/captcha/hcaptcha.ts +36 -0
  300. package/src/captcha/index.ts +28 -0
  301. package/src/captcha/schema.ts +32 -0
  302. package/src/captcha/turnstile.ts +38 -0
  303. package/src/captcha/verify.ts +71 -0
  304. package/src/cli/args.ts +51 -0
  305. package/src/cli/build-failure.ts +23 -0
  306. package/src/cli/command-meta.ts +5 -0
  307. package/src/cli/commands/audit.ts +10 -1
  308. package/src/cli/commands/dev.ts +18 -2
  309. package/src/cli/commands/doctor.ts +67 -28
  310. package/src/cli/commands/eval.ts +36 -4
  311. package/src/cli/commands/init.ts +6 -4
  312. package/src/cli/commands/skill.ts +96 -0
  313. package/src/cli/commands/validate.ts +10 -1
  314. package/src/cli/index.ts +5 -0
  315. package/src/cli/init/scaffold.ts +3 -3
  316. package/src/cli/prepare.ts +6 -3
  317. package/src/cli/required-secrets.ts +72 -30
  318. package/src/components/BlumePage.astro +2 -0
  319. package/src/components/content/ApiEndpoint.astro +18 -0
  320. package/src/components/content/ApiField.astro +79 -0
  321. package/src/components/content/ApiPlayground.astro +66 -0
  322. package/src/components/content/ApiRail.astro +19 -0
  323. package/src/components/content/Color.astro +1 -0
  324. package/src/components/content/FileTree.astro +1 -0
  325. package/src/components/content/GithubInfo.astro +1 -0
  326. package/src/components/content/Panel.astro +1 -0
  327. package/src/components/content/ParamField.astro +25 -0
  328. package/src/components/content/RequestExample.astro +17 -0
  329. package/src/components/content/ResponseExample.astro +17 -0
  330. package/src/components/content/ResponseField.astro +32 -0
  331. package/src/components/content/Step.astro +1 -0
  332. package/src/components/content/Tile.astro +1 -0
  333. package/src/components/content/Tooltip.astro +1 -0
  334. package/src/components/content/Tree.astro +1 -0
  335. package/src/components/content/TypeTable.astro +4 -1
  336. package/src/components/content/View.astro +21 -0
  337. package/src/components/content/ViewSwitcher.astro +168 -0
  338. package/src/components/content/api-field.ts +103 -0
  339. package/src/components/content/api-page.ts +248 -0
  340. package/src/components/content/mermaid-element.ts +15 -1
  341. package/src/components/content/view-switcher.ts +71 -0
  342. package/src/components/index.ts +2 -0
  343. package/src/components/islands/Assistant.astro +10 -1
  344. package/src/components/islands/assistant.tsx +104 -14
  345. package/src/components/islands/code-question.ts +62 -0
  346. package/src/components/islands/hooks.ts +136 -21
  347. package/src/components/islands/support-link.ts +68 -0
  348. package/src/components/layout/Analytics.astro +11 -2
  349. package/src/components/layout/Banner.astro +14 -10
  350. package/src/components/layout/Breadcrumbs.astro +6 -2
  351. package/src/components/layout/ConsentBanner.astro +62 -0
  352. package/src/components/layout/ConsentHead.astro +38 -0
  353. package/src/components/layout/Directory.astro +94 -0
  354. package/src/components/layout/DrawerSwitchers.astro +51 -0
  355. package/src/components/layout/Empty.astro +2 -2
  356. package/src/components/layout/Header.astro +122 -80
  357. package/src/components/layout/LanguageSwitcher.astro +48 -15
  358. package/src/components/layout/NarrationPlayer.astro +1085 -0
  359. package/src/components/layout/NavSelector.astro +33 -7
  360. package/src/components/layout/PageActions.astro +139 -24
  361. package/src/components/layout/PageFeedback.astro +54 -49
  362. package/src/components/layout/PageLayout.astro +71 -3
  363. package/src/components/layout/ReferenceLayout.astro +17 -6
  364. package/src/components/layout/RelatedPages.astro +42 -0
  365. package/src/components/layout/RootLayout.astro +318 -47
  366. package/src/components/layout/Search.astro +47 -19
  367. package/src/components/layout/SiteFooter.astro +124 -0
  368. package/src/components/layout/SiteMetatags.astro +16 -0
  369. package/src/components/layout/TableOfContents.astro +24 -17
  370. package/src/components/layout/consent/native.ts +79 -0
  371. package/src/components/layout/consent/types.ts +37 -0
  372. package/src/components/layout/footer-links.ts +53 -0
  373. package/src/components/layout/footer-socials.ts +87 -0
  374. package/src/components/layout/head-scripts.ts +6 -1
  375. package/src/components/layout/locale-redirect.ts +107 -0
  376. package/src/components/layout/nav-utils.ts +83 -0
  377. package/src/components/layout/page-feedback.ts +96 -0
  378. package/src/components/layout/search/algolia.ts +10 -1
  379. package/src/components/layout/search/analytics.ts +126 -0
  380. package/src/components/layout/search/endpoint.ts +48 -5
  381. package/src/components/layout/search/flexsearch.ts +17 -5
  382. package/src/components/layout/search/orama-cloud.ts +26 -14
  383. package/src/components/layout/search/pagefind.ts +114 -5
  384. package/src/components/layout/search/types.ts +32 -0
  385. package/src/components/layout/search/typesense.ts +19 -3
  386. package/src/components/openapi/AsyncApiOperation.astro +14 -7
  387. package/src/components/openapi/Authorization.astro +10 -0
  388. package/src/components/openapi/GraphqlOperation.astro +5 -0
  389. package/src/components/openapi/Operation.astro +184 -13
  390. package/src/components/openapi/ParametersTable.astro +8 -4
  391. package/src/components/openapi/Playground.astro +7 -1
  392. package/src/components/openapi/RequestBody.astro +24 -5
  393. package/src/components/openapi/RequestPanel.astro +59 -7
  394. package/src/components/openapi/Responses.astro +7 -4
  395. package/src/components/openapi/SchemaTable.astro +15 -3
  396. package/src/components/openapi/async-snippets.ts +65 -9
  397. package/src/components/openapi/async.ts +123 -29
  398. package/src/components/openapi/code-samples.ts +97 -0
  399. package/src/components/openapi/graphql-helpers.ts +35 -12
  400. package/src/components/openapi/helpers.ts +36 -2
  401. package/src/components/openapi/message-model.ts +54 -11
  402. package/src/components/openapi/message.ts +14 -4
  403. package/src/components/openapi/operation-model.ts +16 -7
  404. package/src/components/openapi/playground-client.ts +24 -5
  405. package/src/components/openapi/playground-schema.ts +1 -1
  406. package/src/components/openapi/schema-tree.ts +44 -14
  407. package/src/components/openapi/security.ts +16 -3
  408. package/src/components/openapi/snippets.ts +873 -10
  409. package/src/components/openapi/validate-json.ts +4 -3
  410. package/src/components/props.ts +6 -0
  411. package/src/consent/client.ts +95 -0
  412. package/src/consent/clients.ts +19 -0
  413. package/src/consent/ethyca.ts +71 -0
  414. package/src/consent/head.ts +24 -0
  415. package/src/consent/index.ts +37 -0
  416. package/src/consent/init.ts +29 -0
  417. package/src/consent/native.ts +36 -0
  418. package/src/consent/osano.ts +59 -0
  419. package/src/consent/schema.ts +30 -0
  420. package/src/core/builtin-tags.ts +5 -0
  421. package/src/core/changelog-index.ts +31 -1
  422. package/src/core/client-address.ts +19 -0
  423. package/src/core/component-diagnostics.ts +53 -0
  424. package/src/core/component-overrides.ts +32 -0
  425. package/src/core/config-input.ts +225 -23
  426. package/src/core/data.ts +46 -4
  427. package/src/core/diagnostics.ts +8 -2
  428. package/src/core/footer.ts +26 -0
  429. package/src/core/graph.ts +39 -36
  430. package/src/core/i18n-ui.ts +84 -2
  431. package/src/core/includes.ts +21 -4
  432. package/src/core/links.ts +63 -19
  433. package/src/core/localizable.ts +26 -0
  434. package/src/core/navigation.ts +43 -12
  435. package/src/core/page-modes.ts +56 -0
  436. package/src/core/probe.ts +26 -6
  437. package/src/core/project-graph.ts +163 -16
  438. package/src/core/redirect-patterns.ts +520 -0
  439. package/src/core/related.ts +131 -0
  440. package/src/core/schema.ts +339 -66
  441. package/src/core/sources/cache.ts +6 -0
  442. package/src/core/sources/contentful-rich-text.ts +29 -6
  443. package/src/core/sources/contentful.ts +135 -25
  444. package/src/core/sources/filesystem.ts +26 -4
  445. package/src/core/sources/github-releases.ts +12 -1
  446. package/src/core/sources/lexical.ts +15 -10
  447. package/src/core/sources/mdx-remote.ts +62 -10
  448. package/src/core/sources/normalize.ts +228 -41
  449. package/src/core/sources/notion.ts +7 -1
  450. package/src/core/sources/obsidian.ts +16 -3
  451. package/src/core/sources/payload.ts +38 -15
  452. package/src/core/sources/read.ts +8 -3
  453. package/src/core/sources/remote.ts +72 -15
  454. package/src/core/sources/resolve.ts +11 -1
  455. package/src/core/sources/sanity.ts +43 -25
  456. package/src/core/sources/strapi.ts +2 -2
  457. package/src/core/types.ts +19 -1
  458. package/src/core/ui-packs/ar.ts +44 -0
  459. package/src/core/ui-packs/bg.ts +46 -0
  460. package/src/core/ui-packs/bn.ts +44 -0
  461. package/src/core/ui-packs/ca.ts +47 -0
  462. package/src/core/ui-packs/cs.ts +45 -0
  463. package/src/core/ui-packs/da.ts +46 -0
  464. package/src/core/ui-packs/de.ts +47 -0
  465. package/src/core/ui-packs/el.ts +46 -0
  466. package/src/core/ui-packs/es.ts +47 -0
  467. package/src/core/ui-packs/fa.ts +46 -0
  468. package/src/core/ui-packs/fi.ts +46 -0
  469. package/src/core/ui-packs/fr.ts +47 -0
  470. package/src/core/ui-packs/he.ts +44 -0
  471. package/src/core/ui-packs/hi.ts +45 -0
  472. package/src/core/ui-packs/hr.ts +46 -0
  473. package/src/core/ui-packs/hu.ts +45 -0
  474. package/src/core/ui-packs/id.ts +46 -0
  475. package/src/core/ui-packs/it.ts +46 -0
  476. package/src/core/ui-packs/ja.ts +46 -0
  477. package/src/core/ui-packs/ko.ts +45 -0
  478. package/src/core/ui-packs/nl.ts +47 -0
  479. package/src/core/ui-packs/no.ts +45 -0
  480. package/src/core/ui-packs/pl.ts +46 -0
  481. package/src/core/ui-packs/pt-br.ts +47 -0
  482. package/src/core/ui-packs/pt.ts +46 -0
  483. package/src/core/ui-packs/ro.ts +46 -0
  484. package/src/core/ui-packs/ru.ts +46 -0
  485. package/src/core/ui-packs/sk.ts +45 -0
  486. package/src/core/ui-packs/sr.ts +46 -0
  487. package/src/core/ui-packs/sv.ts +45 -0
  488. package/src/core/ui-packs/th.ts +44 -0
  489. package/src/core/ui-packs/tr.ts +46 -0
  490. package/src/core/ui-packs/uk.ts +46 -0
  491. package/src/core/ui-packs/vi.ts +46 -0
  492. package/src/core/ui-packs/zh-tw.ts +44 -0
  493. package/src/core/ui-packs/zh.ts +44 -0
  494. package/src/core/variables.ts +103 -0
  495. package/src/deploy/adapter-output.ts +7 -2
  496. package/src/deploy/adapters/cloudflare.ts +7 -5
  497. package/src/deploy/adapters/node.ts +47 -9
  498. package/src/deploy/adapters/types.ts +7 -3
  499. package/src/deploy/artifacts.ts +79 -9
  500. package/src/deploy/cloudflare-negotiation.ts +35 -5
  501. package/src/deploy/headers.ts +2 -1
  502. package/src/deploy/node-headers.ts +63 -9
  503. package/src/deploy/platforms/cloudflare.ts +45 -9
  504. package/src/deploy/platforms/netlify.ts +35 -2
  505. package/src/deploy/platforms/node.ts +12 -2
  506. package/src/deploy/platforms/types.ts +21 -7
  507. package/src/deploy/platforms/vercel.ts +149 -17
  508. package/src/deploy/redirects.ts +151 -24
  509. package/src/deploy/rss.ts +3 -1
  510. package/src/deploy/sitemap.ts +39 -5
  511. package/src/deploy/vercel-negotiation.ts +326 -102
  512. package/src/eval/agents.ts +18 -1
  513. package/src/eval/prompts.ts +6 -3
  514. package/src/eval/report.ts +34 -13
  515. package/src/eval/run.ts +5 -0
  516. package/src/markdown/api-rail.ts +259 -0
  517. package/src/markdown/code-title.ts +35 -9
  518. package/src/markdown/features.ts +3 -2
  519. package/src/markdown/fence-meta.ts +2 -0
  520. package/src/markdown/include.ts +11 -1
  521. package/src/markdown/index.ts +28 -5
  522. package/src/markdown/math.ts +4 -4
  523. package/src/markdown/relative-links.ts +3 -2
  524. package/src/markdown/variables.ts +56 -0
  525. package/src/markdown/views.ts +82 -0
  526. package/src/narration/build.ts +412 -0
  527. package/src/narration/player.ts +249 -0
  528. package/src/narration/provider.ts +29 -0
  529. package/src/narration/script.ts +592 -0
  530. package/src/og/card.ts +7 -6
  531. package/src/openapi/checks.ts +273 -0
  532. package/src/openapi/graphql-build.ts +21 -0
  533. package/src/openapi/graphql.ts +11 -0
  534. package/src/openapi/model.ts +72 -27
  535. package/src/openapi/overlay.ts +256 -0
  536. package/src/openapi/parse.ts +182 -4
  537. package/src/openapi/references.ts +64 -8
  538. package/src/openapi/render-mdx.ts +5 -1
  539. package/src/openapi/scalar.ts +40 -6
  540. package/src/openapi/source.ts +40 -15
  541. package/src/ratelimit/cloudflare.ts +54 -0
  542. package/src/ratelimit/index.ts +30 -0
  543. package/src/ratelimit/memory.ts +45 -0
  544. package/src/ratelimit/runtime.ts +247 -0
  545. package/src/ratelimit/schema.ts +28 -0
  546. package/src/ratelimit/upstash.ts +60 -0
  547. package/src/ratelimit/wrangler.ts +70 -0
  548. package/src/reference/asyncapi.ts +2 -2
  549. package/src/reference/graphql.ts +20 -3
  550. package/src/reference/index.ts +1 -0
  551. package/src/reference/openapi.ts +21 -7
  552. package/src/reference/options.ts +80 -8
  553. package/src/reference/scalar.ts +33 -8
  554. package/src/registry/eject.ts +23 -5
  555. package/src/registry/registry.ts +7 -0
  556. package/src/search/adapters/locale-scope.ts +30 -0
  557. package/src/search/adapters/typesense.ts +14 -4
  558. package/src/search/build.ts +21 -3
  559. package/src/search/documents.ts +26 -2
  560. package/src/search/orama-index.ts +191 -34
  561. package/src/search/pagefind-ranking.ts +39 -0
  562. package/src/search/source-pages.ts +29 -0
  563. package/src/search/sync/algolia.ts +111 -10
  564. package/src/search/sync/index.ts +52 -13
  565. package/src/search/sync/orama-cloud.ts +3 -0
  566. package/src/search/sync/typesense.ts +76 -26
  567. package/src/seo/metatags.ts +67 -0
  568. package/src/sources/contentful.ts +12 -0
  569. package/src/sources/github-releases.ts +7 -1
  570. package/src/sources/shared.ts +3 -0
  571. package/src/theme/chrome-icons.ts +1 -0
  572. package/src/theme/color.ts +500 -0
  573. package/src/theme/entry.ts +85 -6
  574. package/src/theme/palette.ts +121 -45
  575. package/src/translate/prompts.ts +1 -0
  576. package/src/translate/validate.ts +31 -3
  577. package/src/upgrade/upgrade.ts +4 -171
  578. package/dist/cli/chunk-1d7ve1dm.js.map +0 -12
  579. package/dist/cli/chunk-2hsdwb9n.js.map +0 -10
  580. package/dist/cli/chunk-35d4wj9f.js.map +0 -15
  581. package/dist/cli/chunk-364znk6q.js +0 -75
  582. package/dist/cli/chunk-364znk6q.js.map +0 -11
  583. package/dist/cli/chunk-5m5nmvyq.js.map +0 -13
  584. package/dist/cli/chunk-8ktnccpt.js.map +0 -10
  585. package/dist/cli/chunk-9t7a85s3.js.map +0 -10
  586. package/dist/cli/chunk-b07cmahc.js +0 -145
  587. package/dist/cli/chunk-b07cmahc.js.map +0 -11
  588. package/dist/cli/chunk-c8chx29p.js.map +0 -36
  589. package/dist/cli/chunk-e04dxsz1.js +0 -39
  590. package/dist/cli/chunk-e04dxsz1.js.map +0 -10
  591. package/dist/cli/chunk-j85vccga.js.map +0 -36
  592. package/dist/cli/chunk-p3v96n38.js.map +0 -10
  593. package/dist/cli/chunk-pehfxfta.js.map +0 -10
  594. package/dist/cli/chunk-pv29h0wf.js.map +0 -190
  595. package/dist/cli/chunk-q58y5e6a.js.map +0 -10
  596. package/dist/cli/chunk-vg9r4eb9.js.map +0 -14
  597. package/dist/cli/chunk-wrr3j9w9.js.map +0 -35
  598. package/dist/cli/chunk-yfyb25rh.js.map +0 -14
  599. package/docs/content/sources.mdx +0 -334
  600. /package/dist/cli/{chunk-tkacnehg.js.map → chunk-3v3ffbrj.js.map} +0 -0
  601. /package/dist/cli/{chunk-r9rcc4w7.js.map → chunk-8y2kmjv8.js.map} +0 -0
  602. /package/dist/cli/{chunk-2eytanqx.js.map → chunk-c887fj0s.js.map} +0 -0
  603. /package/dist/cli/{chunk-akbpwfxc.js.map → chunk-dzwehpy7.js.map} +0 -0
  604. /package/dist/cli/{chunk-2z928egk.js.map → chunk-ft9vfys6.js.map} +0 -0
  605. /package/dist/cli/{chunk-a58773jm.js.map → chunk-kma9f6sf.js.map} +0 -0
  606. /package/dist/cli/{chunk-crgn1q09.js.map → chunk-sds923fa.js.map} +0 -0
  607. /package/dist/cli/{chunk-acanzt5p.js.map → chunk-tdqhyxfz.js.map} +0 -0
@@ -1,10 +1,20 @@
1
1
  import { z } from "zod";
2
2
  import type { AdapterDescriptor } from "../core/adapter.ts";
3
- import type { GraphqlSourceOptions, PlaygroundOptions } from "./options.ts";
3
+ import type { GraphqlAuthOptions, GraphqlSourceOptions, PlaygroundOptions } from "./options.ts";
4
4
  /** Options for {@link graphql}. */
5
5
  export interface GraphqlOptions {
6
- /** Code-sample languages shown per operation. Defaults to `["curl", "js", "python"]`. */
7
- codeSamples?: string[];
6
+ /**
7
+ * How the endpoint authenticates, like the site's `api.auth`: `bearer`,
8
+ * `basic`, or `key` (sent in the `name` header, `x-api-key` by default).
9
+ * The Try it panel gets a field for the credential and the code samples
10
+ * send a placeholder. Applies to every source; a per-source `auth` wins.
11
+ */
12
+ auth?: GraphqlAuthOptions;
13
+ /**
14
+ * Code-sample languages shown per operation, in order. Defaults to
15
+ * `["curl", "js", "python"]`; `false` shows none.
16
+ */
17
+ codeSamples?: string[] | false;
8
18
  /**
9
19
  * URL of the live GraphQL endpoint the playground and code samples target —
10
20
  * a schema, unlike an OpenAPI document, names no server. Applies to every
@@ -33,6 +43,15 @@ export interface GraphqlOptions {
33
43
  * AsyncAPI documents only.
34
44
  */
35
45
  export declare const graphqlOptionsSchema: z.ZodPipe<z.ZodObject<{
46
+ auth: z.ZodOptional<z.ZodObject<{
47
+ method: z.ZodEnum<{
48
+ none: "none";
49
+ key: "key";
50
+ bearer: "bearer";
51
+ basic: "basic";
52
+ }>;
53
+ name: z.ZodOptional<z.ZodString>;
54
+ }, z.core.$strict>>;
36
55
  endpoint: z.ZodOptional<z.ZodString>;
37
56
  sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
38
57
  includeInLlms: z.ZodDefault<z.ZodBoolean>;
@@ -42,9 +61,18 @@ export declare const graphqlOptionsSchema: z.ZodPipe<z.ZodObject<{
42
61
  route: z.ZodOptional<z.ZodString>;
43
62
  seoDescriptionSuffix: z.ZodDefault<z.ZodBoolean>;
44
63
  spec: z.ZodString;
64
+ auth: z.ZodOptional<z.ZodObject<{
65
+ method: z.ZodEnum<{
66
+ none: "none";
67
+ key: "key";
68
+ bearer: "bearer";
69
+ basic: "basic";
70
+ }>;
71
+ name: z.ZodOptional<z.ZodString>;
72
+ }, z.core.$strict>>;
45
73
  endpoint: z.ZodOptional<z.ZodString>;
46
74
  }, z.core.$strict>>>;
47
- codeSamples: z.ZodDefault<z.ZodArray<z.ZodString>>;
75
+ codeSamples: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodString>]>>;
48
76
  playground: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
49
77
  enabled: z.ZodDefault<z.ZodBoolean>;
50
78
  proxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
@@ -66,17 +94,25 @@ export declare const graphqlOptionsSchema: z.ZodPipe<z.ZodObject<{
66
94
  spec: string;
67
95
  label?: string | undefined;
68
96
  route?: string | undefined;
97
+ auth?: {
98
+ method: "none" | "key" | "bearer" | "basic";
99
+ name?: string | undefined;
100
+ } | undefined;
69
101
  endpoint?: string | undefined;
70
102
  }[];
71
- codeSamples: string[];
103
+ codeSamples: false | string[];
72
104
  playground: {
73
105
  enabled: boolean;
74
106
  proxy: string | boolean;
75
107
  };
76
108
  route: string;
109
+ auth?: {
110
+ method: "none" | "key" | "bearer" | "basic";
111
+ name?: string | undefined;
112
+ } | undefined;
77
113
  endpoint?: string | undefined;
78
114
  spec?: string | undefined;
79
- }, "spec">, {
115
+ }, "spec" | "overlays">, {
80
116
  sources: {
81
117
  includeInLlms: boolean;
82
118
  includeInSearch: boolean;
@@ -85,14 +121,22 @@ export declare const graphqlOptionsSchema: z.ZodPipe<z.ZodObject<{
85
121
  spec: string;
86
122
  label?: string | undefined;
87
123
  route?: string | undefined;
124
+ auth?: {
125
+ method: "none" | "key" | "bearer" | "basic";
126
+ name?: string | undefined;
127
+ } | undefined;
88
128
  endpoint?: string | undefined;
89
129
  }[];
90
- codeSamples: string[];
130
+ codeSamples: false | string[];
91
131
  playground: {
92
132
  enabled: boolean;
93
133
  proxy: string | boolean;
94
134
  };
95
135
  route: string;
136
+ auth?: {
137
+ method: "none" | "key" | "bearer" | "basic";
138
+ name?: string | undefined;
139
+ } | undefined;
96
140
  endpoint?: string | undefined;
97
141
  spec?: string | undefined;
98
142
  }>>;
@@ -104,6 +148,15 @@ export type ResolvedGraphqlAdapter = AdapterDescriptor<"graphql", ResolvedGraphq
104
148
  export declare const graphqlAdapterSchema: z.ZodObject<{
105
149
  kind: z.ZodLiteral<"graphql">;
106
150
  options: z.ZodPipe<z.ZodObject<{
151
+ auth: z.ZodOptional<z.ZodObject<{
152
+ method: z.ZodEnum<{
153
+ none: "none";
154
+ key: "key";
155
+ bearer: "bearer";
156
+ basic: "basic";
157
+ }>;
158
+ name: z.ZodOptional<z.ZodString>;
159
+ }, z.core.$strict>>;
107
160
  endpoint: z.ZodOptional<z.ZodString>;
108
161
  sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
109
162
  includeInLlms: z.ZodDefault<z.ZodBoolean>;
@@ -113,9 +166,18 @@ export declare const graphqlAdapterSchema: z.ZodObject<{
113
166
  route: z.ZodOptional<z.ZodString>;
114
167
  seoDescriptionSuffix: z.ZodDefault<z.ZodBoolean>;
115
168
  spec: z.ZodString;
169
+ auth: z.ZodOptional<z.ZodObject<{
170
+ method: z.ZodEnum<{
171
+ none: "none";
172
+ key: "key";
173
+ bearer: "bearer";
174
+ basic: "basic";
175
+ }>;
176
+ name: z.ZodOptional<z.ZodString>;
177
+ }, z.core.$strict>>;
116
178
  endpoint: z.ZodOptional<z.ZodString>;
117
179
  }, z.core.$strict>>>;
118
- codeSamples: z.ZodDefault<z.ZodArray<z.ZodString>>;
180
+ codeSamples: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodString>]>>;
119
181
  playground: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
120
182
  enabled: z.ZodDefault<z.ZodBoolean>;
121
183
  proxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
@@ -137,17 +199,25 @@ export declare const graphqlAdapterSchema: z.ZodObject<{
137
199
  spec: string;
138
200
  label?: string | undefined;
139
201
  route?: string | undefined;
202
+ auth?: {
203
+ method: "none" | "key" | "bearer" | "basic";
204
+ name?: string | undefined;
205
+ } | undefined;
140
206
  endpoint?: string | undefined;
141
207
  }[];
142
- codeSamples: string[];
208
+ codeSamples: false | string[];
143
209
  playground: {
144
210
  enabled: boolean;
145
211
  proxy: string | boolean;
146
212
  };
147
213
  route: string;
214
+ auth?: {
215
+ method: "none" | "key" | "bearer" | "basic";
216
+ name?: string | undefined;
217
+ } | undefined;
148
218
  endpoint?: string | undefined;
149
219
  spec?: string | undefined;
150
- }, "spec">, {
220
+ }, "spec" | "overlays">, {
151
221
  sources: {
152
222
  includeInLlms: boolean;
153
223
  includeInSearch: boolean;
@@ -156,14 +226,22 @@ export declare const graphqlAdapterSchema: z.ZodObject<{
156
226
  spec: string;
157
227
  label?: string | undefined;
158
228
  route?: string | undefined;
229
+ auth?: {
230
+ method: "none" | "key" | "bearer" | "basic";
231
+ name?: string | undefined;
232
+ } | undefined;
159
233
  endpoint?: string | undefined;
160
234
  }[];
161
- codeSamples: string[];
235
+ codeSamples: false | string[];
162
236
  playground: {
163
237
  enabled: boolean;
164
238
  proxy: string | boolean;
165
239
  };
166
240
  route: string;
241
+ auth?: {
242
+ method: "none" | "key" | "bearer" | "basic";
243
+ name?: string | undefined;
244
+ } | undefined;
167
245
  endpoint?: string | undefined;
168
246
  spec?: string | undefined;
169
247
  }>>;
@@ -26,7 +26,7 @@ export { graphql } from "./graphql.ts";
26
26
  export type { GraphqlAdapter, GraphqlOptions } from "./graphql.ts";
27
27
  export { openapi } from "./openapi.ts";
28
28
  export type { OpenApiAdapter, OpenApiOptions } from "./openapi.ts";
29
- export type { GraphqlSourceOptions, PlaygroundOptions, ReferenceSourceOptions, } from "./options.ts";
29
+ export type { GraphqlAuthOptions, GraphqlSourceOptions, PlaygroundOptions, ReferenceSourceOptions, } from "./options.ts";
30
30
  export { scalar } from "./scalar.ts";
31
31
  export type { ScalarAdapter, ScalarOptions, ScalarSourceOptions, } from "./scalar.ts";
32
32
  export type { ReferenceAdapter, ResolvedReferenceAdapter } from "./schema.ts";
@@ -1,10 +1,14 @@
1
1
  import { z } from "zod";
2
2
  import type { AdapterDescriptor } from "../core/adapter.ts";
3
- import type { PlaygroundOptions, ReferenceSourceOptions } from "./options.ts";
3
+ import type { OpenApiSourceOptions, PlaygroundOptions } from "./options.ts";
4
4
  /** Options for {@link openapi}. */
5
5
  export interface OpenApiOptions {
6
- /** Code-sample languages shown per operation (Blume renderer). Defaults to `["curl", "js", "python"]`. */
7
- codeSamples?: string[];
6
+ /**
7
+ * Code-sample languages generated per operation (Blume renderer), in
8
+ * order. Defaults to `["curl", "js", "python"]`; `false` (or an empty list)
9
+ * generates none, so only the spec's own `x-codeSamples` show.
10
+ */
11
+ codeSamples?: string[] | false;
8
12
  /** Start nested schema rows expanded rather than collapsed (Blume renderer). Defaults to `false`. */
9
13
  expandSchemas?: boolean;
10
14
  /**
@@ -15,15 +19,21 @@ export interface OpenApiOptions {
15
19
  * `vercel()` in `deployment`).
16
20
  */
17
21
  playground?: PlaygroundOptions;
22
+ /**
23
+ * OpenAPI Overlay documents for `spec`, applied in order before it renders.
24
+ * With `sources`, each source takes its own `overlays`.
25
+ */
26
+ overlays?: string[];
18
27
  /** Where the reference mounts. Defaults to `/reference`. */
19
28
  route?: string;
20
29
  /** One or more specs; each renders on its own route by default. */
21
- sources?: ReferenceSourceOptions[];
30
+ sources?: OpenApiSourceOptions[];
22
31
  /** Shorthand for a single source: `sources: [{ spec }]`. */
23
32
  spec?: string;
24
33
  }
25
34
  export declare const openapiOptionsSchema: z.ZodPipe<z.ZodObject<{
26
35
  expandSchemas: z.ZodDefault<z.ZodBoolean>;
36
+ overlays: z.ZodOptional<z.ZodArray<z.ZodString>>;
27
37
  sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
28
38
  includeInLlms: z.ZodDefault<z.ZodBoolean>;
29
39
  includeInSearch: z.ZodDefault<z.ZodBoolean>;
@@ -32,8 +42,9 @@ export declare const openapiOptionsSchema: z.ZodPipe<z.ZodObject<{
32
42
  route: z.ZodOptional<z.ZodString>;
33
43
  seoDescriptionSuffix: z.ZodDefault<z.ZodBoolean>;
34
44
  spec: z.ZodString;
45
+ overlays: z.ZodDefault<z.ZodArray<z.ZodString>>;
35
46
  }, z.core.$strict>>>;
36
- codeSamples: z.ZodDefault<z.ZodArray<z.ZodString>>;
47
+ codeSamples: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodString>]>>;
37
48
  playground: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
38
49
  enabled: z.ZodDefault<z.ZodBoolean>;
39
50
  proxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
@@ -54,17 +65,19 @@ export declare const openapiOptionsSchema: z.ZodPipe<z.ZodObject<{
54
65
  noindex: boolean;
55
66
  seoDescriptionSuffix: boolean;
56
67
  spec: string;
68
+ overlays: string[];
57
69
  label?: string | undefined;
58
70
  route?: string | undefined;
59
71
  }[];
60
- codeSamples: string[];
72
+ codeSamples: false | string[];
61
73
  playground: {
62
74
  enabled: boolean;
63
75
  proxy: string | boolean;
64
76
  };
65
77
  route: string;
78
+ overlays?: string[] | undefined;
66
79
  spec?: string | undefined;
67
- }, "spec">, {
80
+ }, "spec" | "overlays">, {
68
81
  expandSchemas: boolean;
69
82
  sources: {
70
83
  includeInLlms: boolean;
@@ -72,15 +85,17 @@ export declare const openapiOptionsSchema: z.ZodPipe<z.ZodObject<{
72
85
  noindex: boolean;
73
86
  seoDescriptionSuffix: boolean;
74
87
  spec: string;
88
+ overlays: string[];
75
89
  label?: string | undefined;
76
90
  route?: string | undefined;
77
91
  }[];
78
- codeSamples: string[];
92
+ codeSamples: false | string[];
79
93
  playground: {
80
94
  enabled: boolean;
81
95
  proxy: string | boolean;
82
96
  };
83
97
  route: string;
98
+ overlays?: string[] | undefined;
84
99
  spec?: string | undefined;
85
100
  }>>;
86
101
  /** `openapi()` options with every default applied and `spec` folded into `sources`. */
@@ -92,6 +107,7 @@ export declare const openapiAdapterSchema: z.ZodObject<{
92
107
  kind: z.ZodLiteral<"openapi">;
93
108
  options: z.ZodPipe<z.ZodObject<{
94
109
  expandSchemas: z.ZodDefault<z.ZodBoolean>;
110
+ overlays: z.ZodOptional<z.ZodArray<z.ZodString>>;
95
111
  sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
96
112
  includeInLlms: z.ZodDefault<z.ZodBoolean>;
97
113
  includeInSearch: z.ZodDefault<z.ZodBoolean>;
@@ -100,8 +116,9 @@ export declare const openapiAdapterSchema: z.ZodObject<{
100
116
  route: z.ZodOptional<z.ZodString>;
101
117
  seoDescriptionSuffix: z.ZodDefault<z.ZodBoolean>;
102
118
  spec: z.ZodString;
119
+ overlays: z.ZodDefault<z.ZodArray<z.ZodString>>;
103
120
  }, z.core.$strict>>>;
104
- codeSamples: z.ZodDefault<z.ZodArray<z.ZodString>>;
121
+ codeSamples: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodString>]>>;
105
122
  playground: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
106
123
  enabled: z.ZodDefault<z.ZodBoolean>;
107
124
  proxy: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
@@ -122,17 +139,19 @@ export declare const openapiAdapterSchema: z.ZodObject<{
122
139
  noindex: boolean;
123
140
  seoDescriptionSuffix: boolean;
124
141
  spec: string;
142
+ overlays: string[];
125
143
  label?: string | undefined;
126
144
  route?: string | undefined;
127
145
  }[];
128
- codeSamples: string[];
146
+ codeSamples: false | string[];
129
147
  playground: {
130
148
  enabled: boolean;
131
149
  proxy: string | boolean;
132
150
  };
133
151
  route: string;
152
+ overlays?: string[] | undefined;
134
153
  spec?: string | undefined;
135
- }, "spec">, {
154
+ }, "spec" | "overlays">, {
136
155
  expandSchemas: boolean;
137
156
  sources: {
138
157
  includeInLlms: boolean;
@@ -140,15 +159,17 @@ export declare const openapiAdapterSchema: z.ZodObject<{
140
159
  noindex: boolean;
141
160
  seoDescriptionSuffix: boolean;
142
161
  spec: string;
162
+ overlays: string[];
143
163
  label?: string | undefined;
144
164
  route?: string | undefined;
145
165
  }[];
146
- codeSamples: string[];
166
+ codeSamples: false | string[];
147
167
  playground: {
148
168
  enabled: boolean;
149
169
  proxy: string | boolean;
150
170
  };
151
171
  route: string;
172
+ overlays?: string[] | undefined;
152
173
  spec?: string | undefined;
153
174
  }>>;
154
175
  requiredSecrets: z.ZodArray<z.ZodString>;
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import type { AuthMethod } from "../components/content/api-page.ts";
2
3
  /**
3
4
  * A single spec rendered by a reference. `spec` is a local path or an
4
5
  * `http(s)` URL (an OpenAPI document for `openapi()`, an AsyncAPI document
@@ -36,10 +37,69 @@ export interface ReferenceSourceOptions {
36
37
  }
37
38
  /** A spec source with every default applied. */
38
39
  export type ResolvedReferenceSource = z.output<typeof referenceSourceSchema>;
40
+ /**
41
+ * [OpenAPI Overlay](https://spec.openapis.org/overlay/latest.html) documents
42
+ * (local paths or `http(s)` URLs) applied in order to an OpenAPI spec before
43
+ * it renders: changes to a spec you don't edit by hand.
44
+ */
45
+ export declare const overlaysSchema: z.ZodDefault<z.ZodArray<z.ZodString>>;
46
+ /** Whether adapter-level `overlays` has the `spec` it belongs to. */
47
+ export declare const overlaysHaveSpec: (options: {
48
+ overlays?: string[];
49
+ spec?: string;
50
+ }) => boolean;
51
+ /** The refinement issue for `overlays` set beside `sources` instead of `spec`. */
52
+ export declare const overlaysNeedSpecIssue: {
53
+ message: string;
54
+ path: string[];
55
+ };
56
+ /** An OpenAPI spec source: the shared shape plus its `overlays`. */
57
+ export declare const openapiSourceSchema: z.ZodObject<{
58
+ includeInLlms: z.ZodDefault<z.ZodBoolean>;
59
+ includeInSearch: z.ZodDefault<z.ZodBoolean>;
60
+ label: z.ZodOptional<z.ZodString>;
61
+ noindex: z.ZodDefault<z.ZodBoolean>;
62
+ route: z.ZodOptional<z.ZodString>;
63
+ seoDescriptionSuffix: z.ZodDefault<z.ZodBoolean>;
64
+ spec: z.ZodString;
65
+ overlays: z.ZodDefault<z.ZodArray<z.ZodString>>;
66
+ }, z.core.$strict>;
67
+ /** One OpenAPI spec source, as `openapi()` accepts it. */
68
+ export interface OpenApiSourceOptions extends ReferenceSourceOptions {
69
+ /**
70
+ * OpenAPI Overlay documents (local paths or `http(s)` URLs) applied in
71
+ * order to the spec before it renders.
72
+ */
73
+ overlays?: string[];
74
+ }
75
+ /**
76
+ * How a GraphQL endpoint authenticates, in the shape the site's `api.auth`
77
+ * takes for hand-written endpoints: `bearer`, `basic`, or `key` (sent in the
78
+ * `name` header, `x-api-key` by default). A schema, unlike an OpenAPI
79
+ * document, declares no security schemes, so this is what gives the Try it
80
+ * panel its credential field.
81
+ */
82
+ export declare const graphqlAuthSchema: z.ZodObject<{
83
+ method: z.ZodEnum<{
84
+ none: "none";
85
+ key: "key";
86
+ bearer: "bearer";
87
+ basic: "basic";
88
+ }>;
89
+ name: z.ZodOptional<z.ZodString>;
90
+ }, z.core.$strict>;
91
+ /** The `auth` option of `graphql()` and its sources. */
92
+ export interface GraphqlAuthOptions {
93
+ /** `bearer`, `basic`, `key`, or `none`. */
94
+ method: AuthMethod;
95
+ /** The header an API key goes in. Defaults to `x-api-key`. */
96
+ name?: string;
97
+ }
39
98
  /**
40
99
  * A single GraphQL schema: the shared source shape plus `endpoint`, the live
41
100
  * GraphQL API URL the playground and code samples target (a schema, unlike an
42
- * OpenAPI document, names no server).
101
+ * OpenAPI document, names no server), and `auth`, how that endpoint
102
+ * authenticates.
43
103
  */
44
104
  export declare const graphqlSourceSchema: z.ZodObject<{
45
105
  includeInLlms: z.ZodDefault<z.ZodBoolean>;
@@ -49,10 +109,21 @@ export declare const graphqlSourceSchema: z.ZodObject<{
49
109
  route: z.ZodOptional<z.ZodString>;
50
110
  seoDescriptionSuffix: z.ZodDefault<z.ZodBoolean>;
51
111
  spec: z.ZodString;
112
+ auth: z.ZodOptional<z.ZodObject<{
113
+ method: z.ZodEnum<{
114
+ none: "none";
115
+ key: "key";
116
+ bearer: "bearer";
117
+ basic: "basic";
118
+ }>;
119
+ name: z.ZodOptional<z.ZodString>;
120
+ }, z.core.$strict>>;
52
121
  endpoint: z.ZodOptional<z.ZodString>;
53
122
  }, z.core.$strict>;
54
123
  /** One schema source, as `graphql()` accepts it. */
55
124
  export interface GraphqlSourceOptions extends ReferenceSourceOptions {
125
+ /** How the endpoint authenticates; wins over the adapter's `auth`. */
126
+ auth?: GraphqlAuthOptions;
56
127
  /** URL of the live GraphQL endpoint (playground + code samples); wins over the adapter's `endpoint`. */
57
128
  endpoint?: string;
58
129
  }
@@ -110,8 +181,11 @@ export declare const sharedOptions: (defaults: {
110
181
  codeSamples: string[];
111
182
  route: string;
112
183
  }) => {
113
- /** Code-sample languages/tools shown per operation (Blume renderer). */
114
- codeSamples: z.ZodDefault<z.ZodArray<z.ZodString>>;
184
+ /**
185
+ * Code-sample languages/tools shown per operation (Blume renderer), or
186
+ * `false` for none: only the spec's own `x-codeSamples` then.
187
+ */
188
+ codeSamples: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodString>]>>;
115
189
  /** The "Try it" panel; see {@link playgroundSchema}. */
116
190
  playground: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
117
191
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -129,8 +203,9 @@ export declare const sharedOptions: (defaults: {
129
203
  spec: z.ZodOptional<z.ZodString>;
130
204
  };
131
205
  /**
132
- * Resolve the `spec` shorthand into `sources` so downstream code reads one
133
- * field: the shorthand becomes the first source (with the source defaults
206
+ * Resolve the `spec` shorthand (and, on OpenAPI kinds, the `overlays` beside
207
+ * it) into `sources` so downstream code reads one field: the shorthand becomes
208
+ * the first source (with the source defaults
134
209
  * applied through the source schema itself, so the two can never drift) and
135
210
  * the `spec` key is dropped. An adapter with neither renders nothing, which
136
211
  * is a config mistake rather than a choice — `refine` it away with
@@ -143,7 +218,8 @@ export declare const liftSpec: <Source extends {
143
218
  }>) => <Options extends {
144
219
  sources: Source[];
145
220
  spec?: string;
146
- }>({ spec, ...options }: Options) => Omit<Options, "spec">;
221
+ overlays?: string[];
222
+ }>({ overlays, spec, ...options }: Options) => Omit<Options, "spec" | "overlays">;
147
223
  /** Whether an adapter has anything to render; pairs with {@link missingSourcesIssue}. */
148
224
  export declare const hasSources: (options: {
149
225
  sources: {
@@ -15,6 +15,7 @@ export declare const SCALAR_RUNTIME_DEPS: readonly string[];
15
15
  export declare const scalarSourceSchema: z.ZodObject<{
16
16
  label: z.ZodOptional<z.ZodString>;
17
17
  noindex: z.ZodDefault<z.ZodBoolean>;
18
+ overlays: z.ZodDefault<z.ZodArray<z.ZodString>>;
18
19
  route: z.ZodOptional<z.ZodString>;
19
20
  spec: z.ZodString;
20
21
  }, z.core.$strict>;
@@ -24,6 +25,8 @@ export interface ScalarSourceOptions {
24
25
  label?: string;
25
26
  /** Emit noindex metadata and omit the page from the sitemap. Defaults to `false`. */
26
27
  noindex?: boolean;
28
+ /** OpenAPI Overlay documents applied in order to the document before it's embedded. */
29
+ overlays?: string[];
27
30
  /** Per-source route; defaults to the adapter's `route` (or a derived path). */
28
31
  route?: string;
29
32
  /** Local path or `http(s)` URL to the OpenAPI or AsyncAPI document. */
@@ -44,6 +47,8 @@ export type ResolvedScalarOptions = {
44
47
  };
45
48
  /** The options {@link scalar} maps itself. */
46
49
  export interface ScalarNamedOptions {
50
+ /** OpenAPI Overlay documents for `spec`; with `sources`, each takes its own. */
51
+ overlays?: string[];
47
52
  /** Where the reference mounts. Defaults to `/reference`. */
48
53
  route?: string;
49
54
  /** One or more documents; each renders on its own route by default. */
@@ -73,10 +78,12 @@ export type ScalarOptions = ScalarNamedOptions & {
73
78
  * the named ones is Scalar configuration and passes through untouched.
74
79
  */
75
80
  export declare const scalarOptionsSchema: z.ZodPipe<z.ZodObject<{
81
+ overlays: z.ZodOptional<z.ZodArray<z.ZodString>>;
76
82
  route: z.ZodDefault<z.ZodString>;
77
83
  sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
78
84
  label: z.ZodOptional<z.ZodString>;
79
85
  noindex: z.ZodDefault<z.ZodBoolean>;
86
+ overlays: z.ZodDefault<z.ZodArray<z.ZodString>>;
80
87
  route: z.ZodOptional<z.ZodString>;
81
88
  spec: z.ZodString;
82
89
  }, z.core.$strict>>>;
@@ -87,10 +94,12 @@ export declare const scalarOptionsSchema: z.ZodPipe<z.ZodObject<{
87
94
  route: string;
88
95
  sources: {
89
96
  noindex: boolean;
97
+ overlays: string[];
90
98
  spec: string;
91
99
  label?: string | undefined;
92
100
  route?: string | undefined;
93
101
  }[];
102
+ overlays?: string[] | undefined;
94
103
  spec?: string | undefined;
95
104
  theme?: string | undefined;
96
105
  }>>;
@@ -100,10 +109,12 @@ export type ResolvedScalarAdapter = AdapterDescriptor<"scalar", ResolvedScalarOp
100
109
  export declare const scalarAdapterSchema: z.ZodObject<{
101
110
  kind: z.ZodLiteral<"scalar">;
102
111
  options: z.ZodPipe<z.ZodObject<{
112
+ overlays: z.ZodOptional<z.ZodArray<z.ZodString>>;
103
113
  route: z.ZodDefault<z.ZodString>;
104
114
  sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
105
115
  label: z.ZodOptional<z.ZodString>;
106
116
  noindex: z.ZodDefault<z.ZodBoolean>;
117
+ overlays: z.ZodDefault<z.ZodArray<z.ZodString>>;
107
118
  route: z.ZodOptional<z.ZodString>;
108
119
  spec: z.ZodString;
109
120
  }, z.core.$strict>>>;
@@ -114,10 +125,12 @@ export declare const scalarAdapterSchema: z.ZodObject<{
114
125
  route: string;
115
126
  sources: {
116
127
  noindex: boolean;
128
+ overlays: string[];
117
129
  spec: string;
118
130
  label?: string | undefined;
119
131
  route?: string | undefined;
120
132
  }[];
133
+ overlays?: string[] | undefined;
121
134
  spec?: string | undefined;
122
135
  theme?: string | undefined;
123
136
  }>>;