blume 2.0.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/AGENTS.md +1 -0
  2. package/CHANGELOG.md +48 -0
  3. package/README.md +1 -1
  4. package/dist/cli/{chunk-1d7ve1dm.js → chunk-0gz36akr.js} +18 -2
  5. package/dist/cli/{chunk-1d7ve1dm.js.map → chunk-0gz36akr.js.map} +3 -3
  6. package/dist/cli/{chunk-2eytanqx.js → chunk-1n228xqb.js} +2 -2
  7. package/dist/cli/{chunk-yfyb25rh.js → chunk-2f3ndkpw.js} +24 -8
  8. package/dist/cli/chunk-2f3ndkpw.js.map +14 -0
  9. package/dist/cli/{chunk-r20tn01b.js → chunk-2f7n4qzt.js} +8 -2
  10. package/dist/cli/{chunk-r20tn01b.js.map → chunk-2f7n4qzt.js.map} +3 -3
  11. package/dist/cli/{chunk-35d4wj9f.js → chunk-2n4ps1b3.js} +7 -7
  12. package/dist/cli/{chunk-j85vccga.js → chunk-43zcf4gz.js} +97 -57
  13. package/dist/cli/{chunk-j85vccga.js.map → chunk-43zcf4gz.js.map} +6 -6
  14. package/dist/cli/{chunk-e04dxsz1.js → chunk-4ejxbzee.js} +1 -1
  15. package/dist/cli/{chunk-5m5nmvyq.js → chunk-4h8z9vv5.js} +233 -39
  16. package/dist/cli/chunk-4h8z9vv5.js.map +16 -0
  17. package/dist/cli/{chunk-5f86nr5m.js → chunk-5cg2rzgf.js} +18 -16
  18. package/dist/cli/{chunk-5f86nr5m.js.map → chunk-5cg2rzgf.js.map} +2 -2
  19. package/dist/cli/{chunk-tzmab476.js → chunk-5ffywsmb.js} +4 -4
  20. package/dist/cli/{chunk-2z928egk.js → chunk-5wj2qwn2.js} +5 -5
  21. package/dist/cli/chunk-6bm0xpgd.js +18 -0
  22. package/dist/cli/chunk-6bm0xpgd.js.map +10 -0
  23. package/dist/cli/{chunk-vg9r4eb9.js → chunk-713mngdq.js} +12 -5
  24. package/dist/cli/{chunk-vg9r4eb9.js.map → chunk-713mngdq.js.map} +3 -3
  25. package/dist/cli/{chunk-5xvm6tfj.js → chunk-9geymqns.js} +17 -15
  26. package/dist/cli/{chunk-5xvm6tfj.js.map → chunk-9geymqns.js.map} +2 -2
  27. package/dist/cli/{chunk-q58y5e6a.js → chunk-9xr4dgee.js} +26 -17
  28. package/dist/cli/chunk-9xr4dgee.js.map +10 -0
  29. package/dist/cli/{chunk-b07cmahc.js → chunk-amrb6hgh.js} +2 -2
  30. package/dist/cli/chunk-cm89scdv.js +443 -0
  31. package/dist/cli/chunk-cm89scdv.js.map +11 -0
  32. package/dist/cli/{chunk-akbpwfxc.js → chunk-cmtcnh9f.js} +2 -2
  33. package/dist/cli/chunk-cy5bm0j0.js +104 -0
  34. package/dist/cli/chunk-cy5bm0j0.js.map +11 -0
  35. package/dist/cli/{chunk-crgn1q09.js → chunk-e7vvk5ya.js} +4 -4
  36. package/dist/cli/{chunk-pehfxfta.js → chunk-g2z9x01v.js} +6 -98
  37. package/dist/cli/chunk-g2z9x01v.js.map +10 -0
  38. package/dist/cli/{chunk-tkacnehg.js → chunk-gp84za0h.js} +2 -2
  39. package/dist/cli/{chunk-wrr3j9w9.js → chunk-h2a48yhd.js} +186 -63
  40. package/dist/cli/chunk-h2a48yhd.js.map +36 -0
  41. package/dist/cli/{chunk-hm3vjy5s.js → chunk-jnwj5kjj.js} +14 -9
  42. package/dist/cli/{chunk-hm3vjy5s.js.map → chunk-jnwj5kjj.js.map} +4 -4
  43. package/dist/cli/chunk-kwrg63tm.js +31 -0
  44. package/dist/cli/chunk-kwrg63tm.js.map +10 -0
  45. package/dist/cli/{chunk-2hsdwb9n.js → chunk-nd1821sk.js} +18 -16
  46. package/dist/cli/{chunk-2hsdwb9n.js.map → chunk-nd1821sk.js.map} +2 -2
  47. package/dist/cli/{chunk-6dsbexzp.js → chunk-ntv4qrt7.js} +17 -15
  48. package/dist/cli/{chunk-6dsbexzp.js.map → chunk-ntv4qrt7.js.map} +2 -2
  49. package/dist/cli/{chunk-r9rcc4w7.js → chunk-p804f3pe.js} +7 -7
  50. package/dist/cli/{chunk-ey84smr6.js → chunk-py62fewh.js} +6 -6
  51. package/dist/cli/{chunk-ey84smr6.js.map → chunk-py62fewh.js.map} +1 -1
  52. package/dist/cli/chunk-q3wxxq39.js +126 -0
  53. package/dist/cli/chunk-q3wxxq39.js.map +11 -0
  54. package/dist/cli/{chunk-9t7a85s3.js → chunk-rekqz4qg.js} +23 -13
  55. package/dist/cli/chunk-rekqz4qg.js.map +10 -0
  56. package/dist/cli/{chunk-8ktnccpt.js → chunk-ta27feev.js} +1 -1
  57. package/dist/cli/{chunk-pv29h0wf.js → chunk-xkz5xbtv.js} +3476 -822
  58. package/dist/cli/chunk-xkz5xbtv.js.map +213 -0
  59. package/dist/cli/{chunk-a58773jm.js → chunk-y4ykbark.js} +2 -2
  60. package/dist/cli/{chunk-p3v96n38.js → chunk-y5h4r2y0.js} +4 -4
  61. package/dist/cli/{chunk-acanzt5p.js → chunk-yj17vs39.js} +6 -6
  62. package/dist/cli/{chunk-p73c0m7w.js → chunk-yxmk4pec.js} +16 -14
  63. package/dist/cli/{chunk-p73c0m7w.js.map → chunk-yxmk4pec.js.map} +2 -2
  64. package/dist/cli/{chunk-3em5wd2y.js → chunk-zccbjcj0.js} +4 -3
  65. package/dist/cli/{chunk-3em5wd2y.js.map → chunk-zccbjcj0.js.map} +2 -2
  66. package/dist/cli/{chunk-c8chx29p.js → chunk-zf748avv.js} +384 -207
  67. package/dist/cli/chunk-zf748avv.js.map +37 -0
  68. package/dist/cli/{chunk-g4hq16wv.js → chunk-zhvd6adm.js} +16 -14
  69. package/dist/cli/{chunk-g4hq16wv.js.map → chunk-zhvd6adm.js.map} +2 -2
  70. package/dist/cli/index.js +26 -20
  71. package/dist/cli/index.js.map +5 -5
  72. package/dist/types/ai/agent-surface.d.ts +8 -7
  73. package/dist/types/ai/ai-catalog.d.ts +7 -0
  74. package/dist/types/ai/ask-context.d.ts +22 -0
  75. package/dist/types/ai/ask.d.ts +271 -58
  76. package/dist/types/ai/index.d.ts +2 -2
  77. package/dist/types/ai/site-skill.d.ts +26 -0
  78. package/dist/types/ai/skills.d.ts +16 -0
  79. package/dist/types/astro/integration.d.ts +8 -0
  80. package/dist/types/captcha/hcaptcha.d.ts +27 -0
  81. package/dist/types/captcha/index.d.ts +28 -0
  82. package/dist/types/captcha/schema.d.ts +29 -0
  83. package/dist/types/captcha/turnstile.d.ts +28 -0
  84. package/dist/types/components/content/api-field.d.ts +59 -0
  85. package/dist/types/components/content/api-page.d.ts +95 -0
  86. package/dist/types/components/layout/nav-utils.d.ts +26 -0
  87. package/dist/types/components/openapi/helpers.d.ts +137 -0
  88. package/dist/types/components/openapi/security.d.ts +85 -0
  89. package/dist/types/consent/ethyca.d.ts +48 -0
  90. package/dist/types/consent/index.d.ts +37 -0
  91. package/dist/types/consent/native.d.ts +28 -0
  92. package/dist/types/consent/osano.d.ts +42 -0
  93. package/dist/types/consent/schema.d.ts +110 -0
  94. package/dist/types/core/config-input.d.ts +187 -20
  95. package/dist/types/core/data.d.ts +49 -4
  96. package/dist/types/core/footer.d.ts +8 -0
  97. package/dist/types/core/i18n-ui.d.ts +86 -0
  98. package/dist/types/core/includes.d.ts +8 -2
  99. package/dist/types/core/localizable.d.ts +7 -0
  100. package/dist/types/core/page-modes.d.ts +29 -0
  101. package/dist/types/core/redirect-patterns.d.ts +144 -0
  102. package/dist/types/core/related.d.ts +40 -0
  103. package/dist/types/core/schema.d.ts +551 -56
  104. package/dist/types/core/sources/read.d.ts +5 -0
  105. package/dist/types/core/types.d.ts +1 -1
  106. package/dist/types/core/variables.d.ts +42 -0
  107. package/dist/types/deploy/node-headers.d.ts +13 -2
  108. package/dist/types/deploy/platforms/cloudflare.d.ts +5 -0
  109. package/dist/types/deploy/platforms/netlify.d.ts +7 -0
  110. package/dist/types/deploy/platforms/vercel.d.ts +6 -0
  111. package/dist/types/deploy/redirects.d.ts +39 -11
  112. package/dist/types/deploy/vercel-negotiation.d.ts +9 -0
  113. package/dist/types/markdown/code-title.d.ts +17 -0
  114. package/dist/types/markdown/features.d.ts +3 -2
  115. package/dist/types/narration/build.d.ts +70 -0
  116. package/dist/types/narration/provider.d.ts +26 -0
  117. package/dist/types/narration/script.d.ts +154 -0
  118. package/dist/types/openapi/model.d.ts +12 -6
  119. package/dist/types/openapi/overlay.d.ts +54 -0
  120. package/dist/types/openapi/parse.d.ts +13 -0
  121. package/dist/types/openapi/references.d.ts +14 -4
  122. package/dist/types/ratelimit/cloudflare.d.ts +39 -0
  123. package/dist/types/ratelimit/index.d.ts +27 -0
  124. package/dist/types/ratelimit/memory.d.ts +36 -0
  125. package/dist/types/ratelimit/schema.d.ts +111 -0
  126. package/dist/types/ratelimit/upstash.d.ts +21 -0
  127. package/dist/types/ratelimit/wrangler.d.ts +23 -0
  128. package/dist/types/reference/asyncapi.d.ts +10 -10
  129. package/dist/types/reference/graphql.d.ts +13 -10
  130. package/dist/types/reference/openapi.d.ts +33 -12
  131. package/dist/types/reference/options.d.ts +45 -5
  132. package/dist/types/reference/scalar.d.ts +13 -0
  133. package/dist/types/reference/schema.d.ts +60 -36
  134. package/dist/types/search/documents.d.ts +12 -1
  135. package/dist/types/search/orama-index.d.ts +4 -0
  136. package/dist/types/seo/metatags.d.ts +20 -0
  137. package/docs/02-deployment.mdx +41 -5
  138. package/docs/03-upgrading.mdx +4 -4
  139. package/docs/04-migrating.mdx +1 -1
  140. package/docs/advanced/changelog.mdx +2 -2
  141. package/docs/advanced/skills.mdx +14 -0
  142. package/docs/cli/audit.mdx +21 -1
  143. package/docs/cli/index.mdx +1 -0
  144. package/docs/configuration/analytics.mdx +3 -1
  145. package/docs/configuration/assistant.mdx +188 -36
  146. package/docs/configuration/consent.mdx +100 -0
  147. package/docs/configuration/customization.mdx +4 -4
  148. package/docs/configuration/index.mdx +63 -5
  149. package/docs/configuration/meta.ts +3 -0
  150. package/docs/configuration/narration.mdx +119 -0
  151. package/docs/configuration/rate-limiting.mdx +69 -0
  152. package/docs/configuration/search.mdx +29 -1
  153. package/docs/configuration/theming.mdx +3 -1
  154. package/docs/content/components.mdx +106 -0
  155. package/docs/content/frontmatter.mdx +76 -0
  156. package/docs/content/i18n.mdx +38 -3
  157. package/docs/content/includes.mdx +16 -0
  158. package/docs/content/meta.mdx +1 -0
  159. package/docs/content/meta.ts +1 -0
  160. package/docs/content/navigation.mdx +28 -6
  161. package/docs/content/sources/contentful.mdx +32 -0
  162. package/docs/content/sources/custom.mdx +39 -0
  163. package/docs/content/sources/github-releases.mdx +31 -0
  164. package/docs/content/sources/index.mdx +91 -0
  165. package/docs/content/sources/meta.ts +16 -0
  166. package/docs/content/sources/notion.mdx +32 -0
  167. package/docs/content/sources/obsidian.mdx +37 -0
  168. package/docs/content/sources/payload.mdx +30 -0
  169. package/docs/content/sources/remote-mdx.mdx +40 -0
  170. package/docs/content/sources/sanity.mdx +29 -0
  171. package/docs/content/sources/strapi.mdx +31 -0
  172. package/docs/content/syntax.mdx +67 -2
  173. package/docs/content/variables.mdx +41 -0
  174. package/docs/discoverability/agent-discovery.mdx +29 -2
  175. package/docs/discoverability/index.mdx +1 -1
  176. package/docs/discoverability/llms-txt.mdx +1 -1
  177. package/docs/discoverability/metadata.mdx +17 -0
  178. package/docs/references/api-pages.mdx +74 -0
  179. package/docs/references/asyncapi.mdx +1 -1
  180. package/docs/references/graphql.mdx +2 -2
  181. package/docs/references/meta.ts +1 -1
  182. package/docs/references/openapi.mdx +102 -3
  183. package/docs/references/scalar.mdx +3 -1
  184. package/package.json +36 -1
  185. package/skills/blume/SKILL.md +3 -0
  186. package/skills/blume-migrate/SKILL.md +5 -5
  187. package/skills/blume-migrate/references/docusaurus.md +3 -3
  188. package/skills/blume-migrate/references/mintlify.md +37 -19
  189. package/skills/blume-migrate/references/nextra.md +2 -2
  190. package/skills/blume-migrate/references/starlight.md +2 -1
  191. package/skills/blume-migrate/scripts/mintlify-codemod.mjs +60 -14
  192. package/skills/blume-write-skill/SKILL.md +82 -0
  193. package/src/ai/agent-readability.ts +2 -1
  194. package/src/ai/agent-surface.ts +9 -7
  195. package/src/ai/ai-catalog.ts +6 -3
  196. package/src/ai/ask-context.ts +73 -20
  197. package/src/ai/ask-data.ts +6 -0
  198. package/src/ai/ask-tools.ts +142 -0
  199. package/src/ai/ask.ts +354 -76
  200. package/src/ai/component-markdown.ts +75 -0
  201. package/src/ai/cors.ts +2 -0
  202. package/src/ai/index.ts +12 -0
  203. package/src/ai/llms.ts +6 -2
  204. package/src/ai/markdown.ts +2 -1
  205. package/src/ai/mcp/data.ts +6 -0
  206. package/src/ai/openapi-components.ts +9 -3
  207. package/src/ai/site-skill.ts +274 -0
  208. package/src/ai/skills.ts +35 -2
  209. package/src/ai/write-skill.ts +97 -0
  210. package/src/astro/generate.ts +132 -18
  211. package/src/astro/index.ts +1 -0
  212. package/src/astro/integration.ts +35 -0
  213. package/src/astro/module-types.ts +6 -0
  214. package/src/astro/templates.ts +283 -30
  215. package/src/astro/variables.ts +31 -0
  216. package/src/audit/catalog.ts +19 -0
  217. package/src/audit/checks/contrast.ts +183 -0
  218. package/src/audit/checks/i18n.ts +2 -3
  219. package/src/audit/checks/indexability.ts +2 -3
  220. package/src/audit/checks/links.ts +5 -12
  221. package/src/audit/checks/sitemap.ts +2 -3
  222. package/src/audit/redirects.ts +46 -15
  223. package/src/audit/run.ts +2 -0
  224. package/src/audit/types.ts +2 -1
  225. package/src/blume-modules.d.ts +7 -0
  226. package/src/captcha/client.ts +152 -0
  227. package/src/captcha/hcaptcha.ts +36 -0
  228. package/src/captcha/index.ts +28 -0
  229. package/src/captcha/schema.ts +32 -0
  230. package/src/captcha/turnstile.ts +38 -0
  231. package/src/captcha/verify.ts +71 -0
  232. package/src/cli/command-meta.ts +5 -0
  233. package/src/cli/commands/doctor.ts +22 -16
  234. package/src/cli/commands/skill.ts +96 -0
  235. package/src/cli/index.ts +5 -0
  236. package/src/cli/required-secrets.ts +71 -29
  237. package/src/components/BlumePage.astro +2 -0
  238. package/src/components/content/ApiEndpoint.astro +18 -0
  239. package/src/components/content/ApiField.astro +79 -0
  240. package/src/components/content/ApiPlayground.astro +62 -0
  241. package/src/components/content/ApiRail.astro +19 -0
  242. package/src/components/content/Color.astro +1 -0
  243. package/src/components/content/FileTree.astro +1 -0
  244. package/src/components/content/GithubInfo.astro +1 -0
  245. package/src/components/content/Panel.astro +1 -0
  246. package/src/components/content/ParamField.astro +25 -0
  247. package/src/components/content/RequestExample.astro +17 -0
  248. package/src/components/content/ResponseExample.astro +17 -0
  249. package/src/components/content/ResponseField.astro +32 -0
  250. package/src/components/content/Step.astro +1 -0
  251. package/src/components/content/Tile.astro +1 -0
  252. package/src/components/content/Tooltip.astro +1 -0
  253. package/src/components/content/Tree.astro +1 -0
  254. package/src/components/content/TypeTable.astro +4 -1
  255. package/src/components/content/View.astro +21 -0
  256. package/src/components/content/ViewSwitcher.astro +168 -0
  257. package/src/components/content/api-field.ts +100 -0
  258. package/src/components/content/api-page.ts +224 -0
  259. package/src/components/content/view-switcher.ts +71 -0
  260. package/src/components/index.ts +2 -0
  261. package/src/components/islands/Assistant.astro +10 -1
  262. package/src/components/islands/assistant.tsx +104 -14
  263. package/src/components/islands/code-question.ts +62 -0
  264. package/src/components/islands/hooks.ts +110 -21
  265. package/src/components/islands/support-link.ts +68 -0
  266. package/src/components/layout/Analytics.astro +11 -2
  267. package/src/components/layout/Banner.astro +14 -10
  268. package/src/components/layout/Breadcrumbs.astro +6 -2
  269. package/src/components/layout/ConsentBanner.astro +62 -0
  270. package/src/components/layout/ConsentHead.astro +38 -0
  271. package/src/components/layout/Directory.astro +94 -0
  272. package/src/components/layout/DrawerSwitchers.astro +51 -0
  273. package/src/components/layout/Empty.astro +2 -2
  274. package/src/components/layout/Header.astro +122 -80
  275. package/src/components/layout/LanguageSwitcher.astro +48 -15
  276. package/src/components/layout/NarrationPlayer.astro +1085 -0
  277. package/src/components/layout/NavSelector.astro +33 -7
  278. package/src/components/layout/PageFeedback.astro +54 -49
  279. package/src/components/layout/PageLayout.astro +71 -3
  280. package/src/components/layout/ReferenceLayout.astro +17 -6
  281. package/src/components/layout/RelatedPages.astro +42 -0
  282. package/src/components/layout/RootLayout.astro +308 -45
  283. package/src/components/layout/Search.astro +31 -17
  284. package/src/components/layout/SiteFooter.astro +124 -0
  285. package/src/components/layout/SiteMetatags.astro +16 -0
  286. package/src/components/layout/consent/native.ts +79 -0
  287. package/src/components/layout/consent/types.ts +37 -0
  288. package/src/components/layout/footer-links.ts +53 -0
  289. package/src/components/layout/footer-socials.ts +87 -0
  290. package/src/components/layout/locale-redirect.ts +107 -0
  291. package/src/components/layout/nav-utils.ts +83 -0
  292. package/src/components/layout/page-feedback.ts +96 -0
  293. package/src/components/layout/search/analytics.ts +98 -0
  294. package/src/components/layout/search/flexsearch.ts +17 -5
  295. package/src/components/layout/search/orama-cloud.ts +26 -14
  296. package/src/components/layout/search/types.ts +20 -0
  297. package/src/components/layout/search/typesense.ts +5 -1
  298. package/src/components/openapi/Operation.astro +161 -13
  299. package/src/components/openapi/RequestBody.astro +6 -4
  300. package/src/components/openapi/RequestPanel.astro +59 -7
  301. package/src/components/openapi/Responses.astro +6 -4
  302. package/src/components/openapi/async-snippets.ts +4 -4
  303. package/src/components/openapi/code-samples.ts +97 -0
  304. package/src/components/openapi/security.ts +6 -3
  305. package/src/components/openapi/snippets.ts +869 -8
  306. package/src/components/props.ts +6 -0
  307. package/src/consent/client.ts +95 -0
  308. package/src/consent/clients.ts +19 -0
  309. package/src/consent/ethyca.ts +71 -0
  310. package/src/consent/head.ts +24 -0
  311. package/src/consent/index.ts +37 -0
  312. package/src/consent/init.ts +29 -0
  313. package/src/consent/native.ts +36 -0
  314. package/src/consent/osano.ts +59 -0
  315. package/src/consent/schema.ts +30 -0
  316. package/src/core/builtin-tags.ts +5 -0
  317. package/src/core/client-address.ts +19 -0
  318. package/src/core/config-input.ts +194 -20
  319. package/src/core/data.ts +44 -4
  320. package/src/core/diagnostics.ts +3 -2
  321. package/src/core/footer.ts +26 -0
  322. package/src/core/graph.ts +39 -36
  323. package/src/core/i18n-ui.ts +82 -2
  324. package/src/core/includes.ts +20 -3
  325. package/src/core/links.ts +16 -2
  326. package/src/core/localizable.ts +26 -0
  327. package/src/core/navigation.ts +43 -12
  328. package/src/core/page-modes.ts +56 -0
  329. package/src/core/project-graph.ts +111 -5
  330. package/src/core/redirect-patterns.ts +491 -0
  331. package/src/core/related.ts +131 -0
  332. package/src/core/schema.ts +318 -64
  333. package/src/core/sources/normalize.ts +2 -1
  334. package/src/core/sources/read.ts +8 -3
  335. package/src/core/types.ts +1 -1
  336. package/src/core/ui-packs/ar.ts +43 -0
  337. package/src/core/ui-packs/bg.ts +45 -0
  338. package/src/core/ui-packs/bn.ts +43 -0
  339. package/src/core/ui-packs/ca.ts +46 -0
  340. package/src/core/ui-packs/cs.ts +44 -0
  341. package/src/core/ui-packs/da.ts +45 -0
  342. package/src/core/ui-packs/de.ts +46 -0
  343. package/src/core/ui-packs/el.ts +45 -0
  344. package/src/core/ui-packs/es.ts +46 -0
  345. package/src/core/ui-packs/fa.ts +45 -0
  346. package/src/core/ui-packs/fi.ts +45 -0
  347. package/src/core/ui-packs/fr.ts +46 -0
  348. package/src/core/ui-packs/he.ts +43 -0
  349. package/src/core/ui-packs/hi.ts +44 -0
  350. package/src/core/ui-packs/hr.ts +45 -0
  351. package/src/core/ui-packs/hu.ts +44 -0
  352. package/src/core/ui-packs/id.ts +45 -0
  353. package/src/core/ui-packs/it.ts +45 -0
  354. package/src/core/ui-packs/ja.ts +45 -0
  355. package/src/core/ui-packs/ko.ts +44 -0
  356. package/src/core/ui-packs/nl.ts +46 -0
  357. package/src/core/ui-packs/no.ts +44 -0
  358. package/src/core/ui-packs/pl.ts +45 -0
  359. package/src/core/ui-packs/pt-br.ts +46 -0
  360. package/src/core/ui-packs/pt.ts +45 -0
  361. package/src/core/ui-packs/ro.ts +45 -0
  362. package/src/core/ui-packs/ru.ts +45 -0
  363. package/src/core/ui-packs/sk.ts +44 -0
  364. package/src/core/ui-packs/sr.ts +45 -0
  365. package/src/core/ui-packs/sv.ts +44 -0
  366. package/src/core/ui-packs/th.ts +43 -0
  367. package/src/core/ui-packs/tr.ts +45 -0
  368. package/src/core/ui-packs/uk.ts +45 -0
  369. package/src/core/ui-packs/vi.ts +45 -0
  370. package/src/core/ui-packs/zh-tw.ts +43 -0
  371. package/src/core/ui-packs/zh.ts +43 -0
  372. package/src/core/variables.ts +103 -0
  373. package/src/deploy/artifacts.ts +77 -8
  374. package/src/deploy/cloudflare-negotiation.ts +35 -5
  375. package/src/deploy/headers.ts +2 -1
  376. package/src/deploy/node-headers.ts +63 -9
  377. package/src/deploy/platforms/cloudflare.ts +32 -0
  378. package/src/deploy/platforms/netlify.ts +33 -1
  379. package/src/deploy/platforms/vercel.ts +37 -2
  380. package/src/deploy/redirects.ts +91 -24
  381. package/src/deploy/vercel-negotiation.ts +36 -0
  382. package/src/markdown/api-rail.ts +259 -0
  383. package/src/markdown/code-title.ts +35 -9
  384. package/src/markdown/features.ts +3 -2
  385. package/src/markdown/fence-meta.ts +2 -0
  386. package/src/markdown/include.ts +11 -1
  387. package/src/markdown/index.ts +28 -5
  388. package/src/markdown/math.ts +4 -4
  389. package/src/markdown/variables.ts +56 -0
  390. package/src/markdown/views.ts +82 -0
  391. package/src/narration/build.ts +412 -0
  392. package/src/narration/player.ts +249 -0
  393. package/src/narration/provider.ts +29 -0
  394. package/src/narration/script.ts +592 -0
  395. package/src/og/card.ts +7 -6
  396. package/src/openapi/model.ts +57 -24
  397. package/src/openapi/overlay.ts +256 -0
  398. package/src/openapi/parse.ts +55 -2
  399. package/src/openapi/references.ts +21 -5
  400. package/src/openapi/render-mdx.ts +5 -1
  401. package/src/openapi/scalar.ts +40 -6
  402. package/src/openapi/source.ts +1 -1
  403. package/src/ratelimit/cloudflare.ts +54 -0
  404. package/src/ratelimit/index.ts +30 -0
  405. package/src/ratelimit/memory.ts +45 -0
  406. package/src/ratelimit/runtime.ts +229 -0
  407. package/src/ratelimit/schema.ts +28 -0
  408. package/src/ratelimit/upstash.ts +30 -0
  409. package/src/ratelimit/wrangler.ts +70 -0
  410. package/src/reference/asyncapi.ts +2 -2
  411. package/src/reference/graphql.ts +5 -2
  412. package/src/reference/openapi.ts +21 -7
  413. package/src/reference/options.ts +51 -7
  414. package/src/reference/scalar.ts +33 -8
  415. package/src/registry/eject.ts +20 -4
  416. package/src/registry/registry.ts +7 -0
  417. package/src/search/documents.ts +26 -2
  418. package/src/search/orama-index.ts +28 -3
  419. package/src/search/pagefind-ranking.ts +39 -0
  420. package/src/search/sync/algolia.ts +15 -4
  421. package/src/search/sync/orama-cloud.ts +3 -0
  422. package/src/search/sync/typesense.ts +5 -0
  423. package/src/seo/metatags.ts +67 -0
  424. package/src/theme/chrome-icons.ts +1 -0
  425. package/src/theme/color.ts +500 -0
  426. package/src/theme/entry.ts +56 -3
  427. package/src/theme/palette.ts +121 -45
  428. package/src/translate/prompts.ts +1 -0
  429. package/src/translate/validate.ts +8 -2
  430. package/src/upgrade/upgrade.ts +4 -171
  431. package/dist/cli/chunk-364znk6q.js +0 -75
  432. package/dist/cli/chunk-364znk6q.js.map +0 -11
  433. package/dist/cli/chunk-5m5nmvyq.js.map +0 -13
  434. package/dist/cli/chunk-9t7a85s3.js.map +0 -10
  435. package/dist/cli/chunk-c8chx29p.js.map +0 -36
  436. package/dist/cli/chunk-pehfxfta.js.map +0 -10
  437. package/dist/cli/chunk-pv29h0wf.js.map +0 -190
  438. package/dist/cli/chunk-q58y5e6a.js.map +0 -10
  439. package/dist/cli/chunk-wrr3j9w9.js.map +0 -35
  440. package/dist/cli/chunk-yfyb25rh.js.map +0 -14
  441. package/docs/content/sources.mdx +0 -334
  442. /package/dist/cli/{chunk-2eytanqx.js.map → chunk-1n228xqb.js.map} +0 -0
  443. /package/dist/cli/{chunk-35d4wj9f.js.map → chunk-2n4ps1b3.js.map} +0 -0
  444. /package/dist/cli/{chunk-e04dxsz1.js.map → chunk-4ejxbzee.js.map} +0 -0
  445. /package/dist/cli/{chunk-tzmab476.js.map → chunk-5ffywsmb.js.map} +0 -0
  446. /package/dist/cli/{chunk-2z928egk.js.map → chunk-5wj2qwn2.js.map} +0 -0
  447. /package/dist/cli/{chunk-b07cmahc.js.map → chunk-amrb6hgh.js.map} +0 -0
  448. /package/dist/cli/{chunk-akbpwfxc.js.map → chunk-cmtcnh9f.js.map} +0 -0
  449. /package/dist/cli/{chunk-crgn1q09.js.map → chunk-e7vvk5ya.js.map} +0 -0
  450. /package/dist/cli/{chunk-tkacnehg.js.map → chunk-gp84za0h.js.map} +0 -0
  451. /package/dist/cli/{chunk-r9rcc4w7.js.map → chunk-p804f3pe.js.map} +0 -0
  452. /package/dist/cli/{chunk-8ktnccpt.js.map → chunk-ta27feev.js.map} +0 -0
  453. /package/dist/cli/{chunk-a58773jm.js.map → chunk-y4ykbark.js.map} +0 -0
  454. /package/dist/cli/{chunk-p3v96n38.js.map → chunk-y5h4r2y0.js.map} +0 -0
  455. /package/dist/cli/{chunk-acanzt5p.js.map → chunk-yj17vs39.js.map} +0 -0
@@ -5,6 +5,7 @@ export const sr: UIStringsOverride = {
5
5
  actions: {
6
6
  addToCursor: "Додај у Cursor",
7
7
  addToVscode: "Додај у VS Code",
8
+ askAboutCode: "Питај о овом коду",
8
9
  connectMcp: "Повежи се са MCP-ом",
9
10
  copied: "Копирано!",
10
11
  copyClaudeCode: "Копирај Claude Code команду",
@@ -30,11 +31,19 @@ export const sr: UIStringsOverride = {
30
31
  copy: "Копирај разговор",
31
32
  empty: "Поставите питање о документацији.",
32
33
  error: "Жао нам је, нешто је пошло наопако.",
34
+ explainCode: "Објасни овај код.",
33
35
  label: "Постави питање",
36
+ open: "Отвори асистента",
34
37
  placeholder: "Поставите питање…",
38
+ rateLimited:
39
+ "Поставили сте много питања. Покушајте поново за неколико минута.",
40
+ removeCode: "Уклони код",
35
41
  send: "Пошаљи",
42
+ support: "Контактирај подршку",
43
+ supportSubject: "Питање из документације",
36
44
  tip: "Савет: Ћаскање можете отворити и затворити помоћу",
37
45
  title: "Асистент",
46
+ verifyFailed: "Нисмо могли да потврдимо да сте човек. Покушајте поново.",
38
47
  you: "Ви",
39
48
  },
40
49
  banner: { dismiss: "Затвори обавештење" },
@@ -42,6 +51,15 @@ export const sr: UIStringsOverride = {
42
51
  description: "Ажурирања производа и белешке о издањима.",
43
52
  title: "Дневник измена",
44
53
  },
54
+ consent: {
55
+ accept: "Прихвати",
56
+ decline: "Одбиј",
57
+ label: "Сагласност за колачиће",
58
+ message:
59
+ "Желели бисмо да користимо колачиће како бисмо разумели како се ова документација користи.",
60
+ policy: "Политика приватности",
61
+ settings: "Подешавања колачића",
62
+ },
45
63
  content: {
46
64
  code: "Код",
47
65
  copyColor: "Копирај боју {name} {value}",
@@ -52,6 +70,8 @@ export const sr: UIStringsOverride = {
52
70
  preview: "Преглед",
53
71
  prop: "Својство",
54
72
  selectTab: "Изабери картицу",
73
+ selectView: "Изабери приказ",
74
+ showLess: "Прикажи мање",
55
75
  showMore: "Прикажи више",
56
76
  stars: "Звездице",
57
77
  tab: "Картица {n}",
@@ -59,12 +79,36 @@ export const sr: UIStringsOverride = {
59
79
  update: "Ажурирање",
60
80
  },
61
81
  feedback: {
82
+ comment: "Реците нам више (опционо)",
62
83
  no: "Не",
63
84
  question: "Да ли вам је ова страница помогла?",
85
+ send: "Пошаљи",
64
86
  thanks: "Хвала на вашој повратној информацији!",
65
87
  yes: "Да",
66
88
  },
67
89
  languageSwitcher: { label: "Језик", untranslated: "Није преведено" },
90
+ narration: {
91
+ cueDanger: "Опасност.",
92
+ cueInfo: "Информација.",
93
+ cueNote: "Напомена.",
94
+ cueSection: "Проширив одељак.",
95
+ cueStep: "Корак {n}.",
96
+ cueSuccess: "Успех.",
97
+ cueTab: "Картица {title}.",
98
+ cueTip: "Савет.",
99
+ cueWarning: "Упозорење.",
100
+ error: "Није могуће учитати звучну верзију.",
101
+ follow: "Прати читање",
102
+ label: "Послушај ову страницу",
103
+ minutes: "{n} мин",
104
+ next: "Следећа реченица",
105
+ pause: "Паузирај",
106
+ play: "Пусти",
107
+ previous: "Претходна реченица",
108
+ progress: "Напредак читања",
109
+ speed: "Брзина репродукције",
110
+ stop: "Заустави слушање",
111
+ },
68
112
  nav: {
69
113
  back: "Назад",
70
114
  breadcrumb: "Путања навигације",
@@ -89,6 +133,7 @@ export const sr: UIStringsOverride = {
89
133
  next: "Следеће",
90
134
  pagination: "Пагинација",
91
135
  previous: "Претходно",
136
+ related: "Сродне странице",
92
137
  skipToContent: "Пређи на садржај",
93
138
  },
94
139
  search: {
@@ -5,6 +5,7 @@ export const sv: UIStringsOverride = {
5
5
  actions: {
6
6
  addToCursor: "Lägg till i Cursor",
7
7
  addToVscode: "Lägg till i VS Code",
8
+ askAboutCode: "Fråga om den här koden",
8
9
  connectMcp: "Anslut till MCP",
9
10
  copied: "Kopierat!",
10
11
  copyClaudeCode: "Kopiera Claude Code-kommando",
@@ -31,11 +32,18 @@ export const sv: UIStringsOverride = {
31
32
  copy: "Kopiera konversationen",
32
33
  empty: "Ställ en fråga om dokumentationen.",
33
34
  error: "Tyvärr, något gick fel.",
35
+ explainCode: "Förklara den här koden.",
34
36
  label: "Ställ en fråga",
37
+ open: "Öppna assistenten",
35
38
  placeholder: "Ställ en fråga…",
39
+ rateLimited: "Du har ställt många frågor. Försök igen om några minuter.",
40
+ removeCode: "Ta bort koden",
36
41
  send: "Skicka",
42
+ support: "Kontakta support",
43
+ supportSubject: "Fråga från dokumentationen",
37
44
  tip: "Tips: Du kan öppna och stänga chatten med",
38
45
  title: "Assistent",
46
+ verifyFailed: "Vi kunde inte bekräfta att du är en människa. Försök igen.",
39
47
  you: "Du",
40
48
  },
41
49
  banner: { dismiss: "Stäng meddelandet" },
@@ -43,6 +51,15 @@ export const sv: UIStringsOverride = {
43
51
  description: "Produktuppdateringar och versionsinformation.",
44
52
  title: "Ändringslogg",
45
53
  },
54
+ consent: {
55
+ accept: "Godkänn",
56
+ decline: "Avvisa",
57
+ label: "Samtycke till cookies",
58
+ message:
59
+ "Vi vill gärna använda cookies för att förstå hur den här dokumentationen används.",
60
+ policy: "Integritetspolicy",
61
+ settings: "Cookieinställningar",
62
+ },
46
63
  content: {
47
64
  code: "Kod",
48
65
  copyColor: "Kopiera färgen {name} {value}",
@@ -53,6 +70,8 @@ export const sv: UIStringsOverride = {
53
70
  preview: "Förhandsgranskning",
54
71
  prop: "Egenskap",
55
72
  selectTab: "Välj flik",
73
+ selectView: "Välj vy",
74
+ showLess: "Visa mindre",
56
75
  showMore: "Visa mer",
57
76
  stars: "Stjärnor",
58
77
  tab: "Flik {n}",
@@ -60,12 +79,36 @@ export const sv: UIStringsOverride = {
60
79
  update: "Uppdatering",
61
80
  },
62
81
  feedback: {
82
+ comment: "Berätta mer (valfritt)",
63
83
  no: "Nej",
64
84
  question: "Var den här sidan till hjälp?",
85
+ send: "Skicka",
65
86
  thanks: "Tack för din feedback!",
66
87
  yes: "Ja",
67
88
  },
68
89
  languageSwitcher: { label: "Språk", untranslated: "Inte översatt" },
90
+ narration: {
91
+ cueDanger: "Fara.",
92
+ cueInfo: "Info.",
93
+ cueNote: "Observera.",
94
+ cueSection: "Expanderbart avsnitt.",
95
+ cueStep: "Steg {n}.",
96
+ cueSuccess: "Klart.",
97
+ cueTab: "Fliken {title}.",
98
+ cueTip: "Tips.",
99
+ cueWarning: "Varning.",
100
+ error: "Uppläsningen kunde inte läsas in.",
101
+ follow: "Följ med",
102
+ label: "Lyssna på den här sidan",
103
+ minutes: "{n} min",
104
+ next: "Nästa mening",
105
+ pause: "Pausa",
106
+ play: "Spela upp",
107
+ previous: "Föregående mening",
108
+ progress: "Uppläsningens förlopp",
109
+ speed: "Uppspelningshastighet",
110
+ stop: "Sluta lyssna",
111
+ },
69
112
  nav: {
70
113
  back: "Tillbaka",
71
114
  breadcrumb: "Brödsmulor",
@@ -90,6 +133,7 @@ export const sv: UIStringsOverride = {
90
133
  next: "Nästa",
91
134
  pagination: "Paginering",
92
135
  previous: "Föregående",
136
+ related: "Relaterade sidor",
93
137
  skipToContent: "Hoppa till innehåll",
94
138
  },
95
139
  search: {
@@ -5,6 +5,7 @@ export const th: UIStringsOverride = {
5
5
  actions: {
6
6
  addToCursor: "เพิ่มไปยัง Cursor",
7
7
  addToVscode: "เพิ่มไปยัง VS Code",
8
+ askAboutCode: "ถามเกี่ยวกับโค้ดนี้",
8
9
  connectMcp: "เชื่อมต่อกับ MCP",
9
10
  copied: "คัดลอกแล้ว!",
10
11
  copyClaudeCode: "คัดลอกคำสั่ง Claude Code",
@@ -30,11 +31,18 @@ export const th: UIStringsOverride = {
30
31
  copy: "คัดลอกการสนทนา",
31
32
  empty: "ถามคำถามเกี่ยวกับเอกสาร",
32
33
  error: "ขออภัย เกิดข้อผิดพลาดบางอย่าง",
34
+ explainCode: "อธิบายโค้ดนี้",
33
35
  label: "ถามคำถาม",
36
+ open: "เปิดผู้ช่วย",
34
37
  placeholder: "ถามคำถาม…",
38
+ rateLimited: "คุณถามคำถามจำนวนมากแล้ว โปรดลองอีกครั้งในอีกไม่กี่นาที",
39
+ removeCode: "นำโค้ดออก",
35
40
  send: "ส่ง",
41
+ support: "ติดต่อฝ่ายสนับสนุน",
42
+ supportSubject: "คำถามจากเอกสาร",
36
43
  tip: "เคล็ดลับ: คุณสามารถเปิดและปิดแชทได้ด้วย",
37
44
  title: "ผู้ช่วย",
45
+ verifyFailed: "เราไม่สามารถยืนยันได้ว่าคุณเป็นมนุษย์ โปรดลองอีกครั้ง",
38
46
  you: "คุณ",
39
47
  },
40
48
  banner: { dismiss: "ปิดประกาศ" },
@@ -42,6 +50,14 @@ export const th: UIStringsOverride = {
42
50
  description: "อัปเดตผลิตภัณฑ์และบันทึกประจำรุ่น",
43
51
  title: "บันทึกการเปลี่ยนแปลง",
44
52
  },
53
+ consent: {
54
+ accept: "ยอมรับ",
55
+ decline: "ปฏิเสธ",
56
+ label: "ความยินยอมคุกกี้",
57
+ message: "เราต้องการใช้คุกกี้เพื่อทำความเข้าใจว่าเอกสารนี้ถูกใช้งานอย่างไร",
58
+ policy: "นโยบายความเป็นส่วนตัว",
59
+ settings: "การตั้งค่าคุกกี้",
60
+ },
45
61
  content: {
46
62
  code: "โค้ด",
47
63
  copyColor: "คัดลอกสี {name} {value}",
@@ -52,6 +68,8 @@ export const th: UIStringsOverride = {
52
68
  preview: "ตัวอย่าง",
53
69
  prop: "คุณสมบัติ",
54
70
  selectTab: "เลือกแท็บ",
71
+ selectView: "เลือกมุมมอง",
72
+ showLess: "แสดงน้อยลง",
55
73
  showMore: "แสดงเพิ่มเติม",
56
74
  stars: "ดาว",
57
75
  tab: "แท็บ {n}",
@@ -59,12 +77,36 @@ export const th: UIStringsOverride = {
59
77
  update: "อัปเดต",
60
78
  },
61
79
  feedback: {
80
+ comment: "บอกเราเพิ่มเติม (ไม่บังคับ)",
62
81
  no: "ไม่",
63
82
  question: "หน้านี้มีประโยชน์หรือไม่?",
83
+ send: "ส่ง",
64
84
  thanks: "ขอบคุณสำหรับความคิดเห็นของคุณ!",
65
85
  yes: "ใช่",
66
86
  },
67
87
  languageSwitcher: { label: "ภาษา", untranslated: "ยังไม่ได้แปล" },
88
+ narration: {
89
+ cueDanger: "อันตราย",
90
+ cueInfo: "ข้อมูล",
91
+ cueNote: "หมายเหตุ",
92
+ cueSection: "ส่วนที่ขยายได้",
93
+ cueStep: "ขั้นตอนที่ {n}",
94
+ cueSuccess: "สำเร็จ",
95
+ cueTab: "แท็บ {title}",
96
+ cueTip: "เคล็ดลับ",
97
+ cueWarning: "คำเตือน",
98
+ error: "ไม่สามารถโหลดเสียงบรรยายได้",
99
+ follow: "ติดตามการอ่าน",
100
+ label: "ฟังหน้านี้",
101
+ minutes: "{n} นาที",
102
+ next: "ประโยคถัดไป",
103
+ pause: "หยุดชั่วคราว",
104
+ play: "เล่น",
105
+ previous: "ประโยคก่อนหน้า",
106
+ progress: "ความคืบหน้าการบรรยาย",
107
+ speed: "ความเร็วในการเล่น",
108
+ stop: "หยุดฟัง",
109
+ },
68
110
  nav: {
69
111
  back: "ย้อนกลับ",
70
112
  breadcrumb: "เส้นทางนำทาง",
@@ -89,6 +131,7 @@ export const th: UIStringsOverride = {
89
131
  next: "ถัดไป",
90
132
  pagination: "การแบ่งหน้า",
91
133
  previous: "ก่อนหน้า",
134
+ related: "หน้าที่เกี่ยวข้อง",
92
135
  skipToContent: "ข้ามไปยังเนื้อหา",
93
136
  },
94
137
  search: {
@@ -5,6 +5,7 @@ export const tr: UIStringsOverride = {
5
5
  actions: {
6
6
  addToCursor: "Cursor'a ekle",
7
7
  addToVscode: "VS Code'a ekle",
8
+ askAboutCode: "Bu kod hakkında sor",
8
9
  connectMcp: "MCP'ye bağlan",
9
10
  copied: "Kopyalandı!",
10
11
  copyClaudeCode: "Claude Code komutunu kopyala",
@@ -31,11 +32,19 @@ export const tr: UIStringsOverride = {
31
32
  copy: "Konuşmayı kopyala",
32
33
  empty: "Belgeler hakkında bir soru sorun.",
33
34
  error: "Üzgünüz, bir şeyler ters gitti.",
35
+ explainCode: "Bu kodu açıkla.",
34
36
  label: "Bir soru sorun",
37
+ open: "Asistanı aç",
35
38
  placeholder: "Bir soru sorun…",
39
+ rateLimited:
40
+ "Çok sayıda soru sordunuz. Birkaç dakika sonra yeniden deneyin.",
41
+ removeCode: "Kodu kaldır",
36
42
  send: "Gönder",
43
+ support: "Destekle iletişime geç",
44
+ supportSubject: "Belgelerden soru",
37
45
  tip: "İpucu: Sohbeti şu tuşla açıp kapatabilirsiniz:",
38
46
  title: "Asistan",
47
+ verifyFailed: "İnsan olduğunuzu doğrulayamadık. Yeniden deneyin.",
39
48
  you: "Siz",
40
49
  },
41
50
  banner: { dismiss: "Duyuruyu kapat" },
@@ -43,6 +52,15 @@ export const tr: UIStringsOverride = {
43
52
  description: "Ürün güncellemeleri ve sürüm notları.",
44
53
  title: "Değişiklik günlüğü",
45
54
  },
55
+ consent: {
56
+ accept: "Kabul et",
57
+ decline: "Reddet",
58
+ label: "Çerez onayı",
59
+ message:
60
+ "Bu belgelerin nasıl kullanıldığını anlamak için çerez kullanmak istiyoruz.",
61
+ policy: "Gizlilik politikası",
62
+ settings: "Çerez ayarları",
63
+ },
46
64
  content: {
47
65
  code: "Kod",
48
66
  copyColor: "Rengi kopyala: {name} {value}",
@@ -53,6 +71,8 @@ export const tr: UIStringsOverride = {
53
71
  preview: "Önizleme",
54
72
  prop: "Özellik",
55
73
  selectTab: "Sekme seç",
74
+ selectView: "Görünüm seç",
75
+ showLess: "Daha az göster",
56
76
  showMore: "Daha fazla göster",
57
77
  stars: "Yıldızlar",
58
78
  tab: "Sekme {n}",
@@ -60,12 +80,36 @@ export const tr: UIStringsOverride = {
60
80
  update: "Güncelleme",
61
81
  },
62
82
  feedback: {
83
+ comment: "Bize daha fazlasını anlatın (isteğe bağlı)",
63
84
  no: "Hayır",
64
85
  question: "Bu sayfa yardımcı oldu mu?",
86
+ send: "Gönder",
65
87
  thanks: "Geri bildiriminiz için teşekkürler!",
66
88
  yes: "Evet",
67
89
  },
68
90
  languageSwitcher: { label: "Dil", untranslated: "Çevrilmemiş" },
91
+ narration: {
92
+ cueDanger: "Tehlike.",
93
+ cueInfo: "Bilgi.",
94
+ cueNote: "Not.",
95
+ cueSection: "Genişletilebilir bölüm.",
96
+ cueStep: "Adım {n}.",
97
+ cueSuccess: "Başarılı.",
98
+ cueTab: "{title} sekmesi.",
99
+ cueTip: "İpucu.",
100
+ cueWarning: "Uyarı.",
101
+ error: "Seslendirme yüklenemedi.",
102
+ follow: "Okumayı takip et",
103
+ label: "Bu sayfayı dinle",
104
+ minutes: "{n} dk",
105
+ next: "Sonraki cümle",
106
+ pause: "Duraklat",
107
+ play: "Oynat",
108
+ previous: "Önceki cümle",
109
+ progress: "Seslendirme ilerlemesi",
110
+ speed: "Oynatma hızı",
111
+ stop: "Dinlemeyi durdur",
112
+ },
69
113
  nav: {
70
114
  back: "Geri",
71
115
  breadcrumb: "Gezinme yolu",
@@ -90,6 +134,7 @@ export const tr: UIStringsOverride = {
90
134
  next: "Sonraki",
91
135
  pagination: "Sayfalama",
92
136
  previous: "Önceki",
137
+ related: "İlgili sayfalar",
93
138
  skipToContent: "İçeriğe geç",
94
139
  },
95
140
  search: {
@@ -5,6 +5,7 @@ export const uk: UIStringsOverride = {
5
5
  actions: {
6
6
  addToCursor: "Додати до Cursor",
7
7
  addToVscode: "Додати до VS Code",
8
+ askAboutCode: "Запитати про цей код",
8
9
  connectMcp: "Підключитися до MCP",
9
10
  copied: "Скопійовано!",
10
11
  copyClaudeCode: "Скопіювати команду Claude Code",
@@ -31,11 +32,19 @@ export const uk: UIStringsOverride = {
31
32
  copy: "Скопіювати бесіду",
32
33
  empty: "Поставте запитання щодо документації.",
33
34
  error: "Вибачте, щось пішло не так.",
35
+ explainCode: "Поясни цей код.",
34
36
  label: "Поставити запитання",
37
+ open: "Відкрити асистента",
35
38
  placeholder: "Поставте запитання…",
39
+ rateLimited:
40
+ "Ви поставили багато запитань. Спробуйте знову за кілька хвилин.",
41
+ removeCode: "Прибрати код",
36
42
  send: "Надіслати",
43
+ support: "Зв'язатися з підтримкою",
44
+ supportSubject: "Питання з документації",
37
45
  tip: "Порада: чат можна відкрити й закрити за допомогою",
38
46
  title: "Асистент",
47
+ verifyFailed: "Не вдалося підтвердити, що ви людина. Спробуйте знову.",
39
48
  you: "Ви",
40
49
  },
41
50
  banner: { dismiss: "Закрити оголошення" },
@@ -43,6 +52,15 @@ export const uk: UIStringsOverride = {
43
52
  description: "Оновлення продукту та примітки до випусків.",
44
53
  title: "Журнал змін",
45
54
  },
55
+ consent: {
56
+ accept: "Прийняти",
57
+ decline: "Відхилити",
58
+ label: "Згода на cookie",
59
+ message:
60
+ "Ми хотіли б використовувати файли cookie, щоб розуміти, як використовується ця документація.",
61
+ policy: "Політика конфіденційності",
62
+ settings: "Налаштування cookie",
63
+ },
46
64
  content: {
47
65
  code: "Код",
48
66
  copyColor: "Скопіювати колір {name} {value}",
@@ -53,6 +71,8 @@ export const uk: UIStringsOverride = {
53
71
  preview: "Попередній перегляд",
54
72
  prop: "Властивість",
55
73
  selectTab: "Вибрати вкладку",
74
+ selectView: "Вибрати подання",
75
+ showLess: "Показати менше",
56
76
  showMore: "Показати більше",
57
77
  stars: "Зірки",
58
78
  tab: "Вкладка {n}",
@@ -60,12 +80,36 @@ export const uk: UIStringsOverride = {
60
80
  update: "Оновлення",
61
81
  },
62
82
  feedback: {
83
+ comment: "Розкажіть докладніше (необов'язково)",
63
84
  no: "Ні",
64
85
  question: "Чи була ця сторінка корисною?",
86
+ send: "Надіслати",
65
87
  thanks: "Дякуємо за ваш відгук!",
66
88
  yes: "Так",
67
89
  },
68
90
  languageSwitcher: { label: "Мова", untranslated: "Не перекладено" },
91
+ narration: {
92
+ cueDanger: "Небезпека.",
93
+ cueInfo: "Інформація.",
94
+ cueNote: "Примітка.",
95
+ cueSection: "Розгортуваний розділ.",
96
+ cueStep: "Крок {n}.",
97
+ cueSuccess: "Успіх.",
98
+ cueTab: "Вкладка {title}.",
99
+ cueTip: "Порада.",
100
+ cueWarning: "Попередження.",
101
+ error: "Не вдалося завантажити озвучення.",
102
+ follow: "Стежити за читанням",
103
+ label: "Прослухати сторінку",
104
+ minutes: "{n} хв",
105
+ next: "Наступне речення",
106
+ pause: "Пауза",
107
+ play: "Відтворити",
108
+ previous: "Попереднє речення",
109
+ progress: "Хід відтворення",
110
+ speed: "Швидкість відтворення",
111
+ stop: "Зупинити прослуховування",
112
+ },
69
113
  nav: {
70
114
  back: "Назад",
71
115
  breadcrumb: "Навігаційний ланцюжок",
@@ -90,6 +134,7 @@ export const uk: UIStringsOverride = {
90
134
  next: "Далі",
91
135
  pagination: "Пагінація",
92
136
  previous: "Назад",
137
+ related: "Пов'язані сторінки",
93
138
  skipToContent: "Перейти до вмісту",
94
139
  },
95
140
  search: {
@@ -5,6 +5,7 @@ export const vi: UIStringsOverride = {
5
5
  actions: {
6
6
  addToCursor: "Thêm vào Cursor",
7
7
  addToVscode: "Thêm vào VS Code",
8
+ askAboutCode: "Hỏi về đoạn mã này",
8
9
  connectMcp: "Kết nối với MCP",
9
10
  copied: "Đã sao chép!",
10
11
  copyClaudeCode: "Sao chép lệnh Claude Code",
@@ -30,11 +31,19 @@ export const vi: UIStringsOverride = {
30
31
  copy: "Sao chép cuộc trò chuyện",
31
32
  empty: "Đặt câu hỏi về tài liệu.",
32
33
  error: "Xin lỗi, đã xảy ra sự cố.",
34
+ explainCode: "Giải thích đoạn mã này.",
33
35
  label: "Đặt câu hỏi",
36
+ open: "Mở trợ lý",
34
37
  placeholder: "Đặt câu hỏi…",
38
+ rateLimited: "Bạn đã hỏi rất nhiều câu hỏi. Hãy thử lại sau vài phút.",
39
+ removeCode: "Xóa mã",
35
40
  send: "Gửi",
41
+ support: "Liên hệ hỗ trợ",
42
+ supportSubject: "Câu hỏi từ tài liệu",
36
43
  tip: "Mẹo: Bạn có thể mở và đóng trò chuyện bằng",
37
44
  title: "Trợ lý",
45
+ verifyFailed:
46
+ "Chúng tôi không thể xác minh bạn là người thật. Hãy thử lại.",
38
47
  you: "Bạn",
39
48
  },
40
49
  banner: { dismiss: "Đóng thông báo" },
@@ -42,6 +51,15 @@ export const vi: UIStringsOverride = {
42
51
  description: "Cập nhật sản phẩm và ghi chú phát hành.",
43
52
  title: "Nhật ký thay đổi",
44
53
  },
54
+ consent: {
55
+ accept: "Chấp nhận",
56
+ decline: "Từ chối",
57
+ label: "Đồng ý cookie",
58
+ message:
59
+ "Chúng tôi muốn sử dụng cookie để hiểu cách tài liệu này được sử dụng.",
60
+ policy: "Chính sách quyền riêng tư",
61
+ settings: "Cài đặt cookie",
62
+ },
45
63
  content: {
46
64
  code: "Mã",
47
65
  copyColor: "Sao chép màu {name} {value}",
@@ -52,6 +70,8 @@ export const vi: UIStringsOverride = {
52
70
  preview: "Xem trước",
53
71
  prop: "Thuộc tính",
54
72
  selectTab: "Chọn tab",
73
+ selectView: "Chọn chế độ xem",
74
+ showLess: "Ẩn bớt",
55
75
  showMore: "Hiển thị thêm",
56
76
  stars: "Sao",
57
77
  tab: "Tab {n}",
@@ -59,12 +79,36 @@ export const vi: UIStringsOverride = {
59
79
  update: "Cập nhật",
60
80
  },
61
81
  feedback: {
82
+ comment: "Cho chúng tôi biết thêm (không bắt buộc)",
62
83
  no: "Không",
63
84
  question: "Trang này có hữu ích không?",
85
+ send: "Gửi",
64
86
  thanks: "Cảm ơn phản hồi của bạn!",
65
87
  yes: "Có",
66
88
  },
67
89
  languageSwitcher: { label: "Ngôn ngữ", untranslated: "Chưa dịch" },
90
+ narration: {
91
+ cueDanger: "Nguy hiểm.",
92
+ cueInfo: "Thông tin.",
93
+ cueNote: "Ghi chú.",
94
+ cueSection: "Mục có thể mở rộng.",
95
+ cueStep: "Bước {n}.",
96
+ cueSuccess: "Thành công.",
97
+ cueTab: "Tab {title}.",
98
+ cueTip: "Mẹo.",
99
+ cueWarning: "Cảnh báo.",
100
+ error: "Không thể tải âm thanh.",
101
+ follow: "Theo dõi lời đọc",
102
+ label: "Nghe trang này",
103
+ minutes: "{n} phút",
104
+ next: "Câu tiếp theo",
105
+ pause: "Tạm dừng",
106
+ play: "Phát",
107
+ previous: "Câu trước",
108
+ progress: "Tiến độ đọc",
109
+ speed: "Tốc độ phát",
110
+ stop: "Dừng nghe",
111
+ },
68
112
  nav: {
69
113
  back: "Quay lại",
70
114
  breadcrumb: "Đường dẫn điều hướng",
@@ -89,6 +133,7 @@ export const vi: UIStringsOverride = {
89
133
  next: "Tiếp theo",
90
134
  pagination: "Phân trang",
91
135
  previous: "Trước",
136
+ related: "Trang liên quan",
92
137
  skipToContent: "Chuyển đến nội dung",
93
138
  },
94
139
  search: {
@@ -5,6 +5,7 @@ export const zhTW: UIStringsOverride = {
5
5
  actions: {
6
6
  addToCursor: "新增至 Cursor",
7
7
  addToVscode: "新增至 VS Code",
8
+ askAboutCode: "詢問這段程式碼",
8
9
  connectMcp: "連線至 MCP",
9
10
  copied: "已複製!",
10
11
  copyClaudeCode: "複製 Claude Code 指令",
@@ -30,11 +31,18 @@ export const zhTW: UIStringsOverride = {
30
31
  copy: "複製對話",
31
32
  empty: "針對文件提出問題。",
32
33
  error: "抱歉,發生了一些問題。",
34
+ explainCode: "解釋這段程式碼。",
33
35
  label: "提出問題",
36
+ open: "開啟助理",
34
37
  placeholder: "提出問題…",
38
+ rateLimited: "你提出的問題太多了,請幾分鐘後再試。",
39
+ removeCode: "移除程式碼",
35
40
  send: "傳送",
41
+ support: "聯絡支援團隊",
42
+ supportSubject: "來自文件的問題",
36
43
  tip: "提示:可透過以下快捷鍵開啟和關閉聊天",
37
44
  title: "助理",
45
+ verifyFailed: "無法確認你是真人,請再試一次。",
38
46
  you: "你",
39
47
  },
40
48
  banner: { dismiss: "關閉公告" },
@@ -42,6 +50,14 @@ export const zhTW: UIStringsOverride = {
42
50
  description: "產品更新與版本說明。",
43
51
  title: "更新日誌",
44
52
  },
53
+ consent: {
54
+ accept: "接受",
55
+ decline: "拒絕",
56
+ label: "Cookie 同意",
57
+ message: "我們希望使用 Cookie 來了解這份文件的使用情況。",
58
+ policy: "隱私權政策",
59
+ settings: "Cookie 設定",
60
+ },
45
61
  content: {
46
62
  code: "程式碼",
47
63
  copyColor: "複製顏色 {name} {value}",
@@ -52,6 +68,8 @@ export const zhTW: UIStringsOverride = {
52
68
  preview: "預覽",
53
69
  prop: "屬性",
54
70
  selectTab: "選擇分頁",
71
+ selectView: "選擇檢視",
72
+ showLess: "顯示較少",
55
73
  showMore: "顯示更多",
56
74
  stars: "星標",
57
75
  tab: "分頁 {n}",
@@ -59,12 +77,36 @@ export const zhTW: UIStringsOverride = {
59
77
  update: "更新",
60
78
  },
61
79
  feedback: {
80
+ comment: "告訴我們更多(選填)",
62
81
  no: "沒有幫助",
63
82
  question: "這個頁面有幫助嗎?",
83
+ send: "送出",
64
84
  thanks: "感謝你的意見回饋!",
65
85
  yes: "有幫助",
66
86
  },
67
87
  languageSwitcher: { label: "語言", untranslated: "未翻譯" },
88
+ narration: {
89
+ cueDanger: "危險。",
90
+ cueInfo: "資訊。",
91
+ cueNote: "備註。",
92
+ cueSection: "可展開區段。",
93
+ cueStep: "第 {n} 步。",
94
+ cueSuccess: "成功。",
95
+ cueTab: "{title} 分頁。",
96
+ cueTip: "提示。",
97
+ cueWarning: "警告。",
98
+ error: "無法載入朗讀音訊。",
99
+ follow: "跟隨朗讀",
100
+ label: "收聽此頁面",
101
+ minutes: "{n} 分鐘",
102
+ next: "下一句",
103
+ pause: "暫停",
104
+ play: "播放",
105
+ previous: "上一句",
106
+ progress: "朗讀進度",
107
+ speed: "播放速度",
108
+ stop: "停止收聽",
109
+ },
68
110
  nav: {
69
111
  back: "返回",
70
112
  breadcrumb: "麵包屑導覽",
@@ -89,6 +131,7 @@ export const zhTW: UIStringsOverride = {
89
131
  next: "下一頁",
90
132
  pagination: "分頁",
91
133
  previous: "上一頁",
134
+ related: "相關頁面",
92
135
  skipToContent: "跳至內容",
93
136
  },
94
137
  search: {