blume 0.0.0 → 0.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 (330) hide show
  1. package/bin/blume.mjs +18 -0
  2. package/dist/cli/index.js +12696 -0
  3. package/dist/cli/index.js.map +145 -0
  4. package/dist/types/core/bridge.d.ts +24 -0
  5. package/dist/types/core/config.d.ts +35 -0
  6. package/dist/types/core/data.d.ts +129 -0
  7. package/dist/types/core/define-components.d.ts +27 -0
  8. package/dist/types/core/define-meta.d.ts +16 -0
  9. package/dist/types/core/deployment-env.d.ts +9 -0
  10. package/dist/types/core/diagnostics.d.ts +17 -0
  11. package/dist/types/core/i18n-ui.d.ts +500 -0
  12. package/dist/types/core/load-module.d.ts +7 -0
  13. package/dist/types/core/package-root.d.ts +17 -0
  14. package/dist/types/core/project.d.ts +9 -0
  15. package/dist/types/core/schema.d.ts +3451 -0
  16. package/dist/types/core/sources/types.d.ts +107 -0
  17. package/dist/types/core/types.d.ts +245 -0
  18. package/dist/types/core/ui-packs/ar.d.ts +3 -0
  19. package/dist/types/core/ui-packs/bg.d.ts +3 -0
  20. package/dist/types/core/ui-packs/bn.d.ts +3 -0
  21. package/dist/types/core/ui-packs/ca.d.ts +3 -0
  22. package/dist/types/core/ui-packs/cs.d.ts +3 -0
  23. package/dist/types/core/ui-packs/da.d.ts +3 -0
  24. package/dist/types/core/ui-packs/de.d.ts +3 -0
  25. package/dist/types/core/ui-packs/el.d.ts +3 -0
  26. package/dist/types/core/ui-packs/es.d.ts +3 -0
  27. package/dist/types/core/ui-packs/fa.d.ts +3 -0
  28. package/dist/types/core/ui-packs/fi.d.ts +3 -0
  29. package/dist/types/core/ui-packs/fr.d.ts +3 -0
  30. package/dist/types/core/ui-packs/he.d.ts +3 -0
  31. package/dist/types/core/ui-packs/hi.d.ts +3 -0
  32. package/dist/types/core/ui-packs/hr.d.ts +3 -0
  33. package/dist/types/core/ui-packs/hu.d.ts +3 -0
  34. package/dist/types/core/ui-packs/id.d.ts +3 -0
  35. package/dist/types/core/ui-packs/index.d.ts +13 -0
  36. package/dist/types/core/ui-packs/it.d.ts +3 -0
  37. package/dist/types/core/ui-packs/ja.d.ts +3 -0
  38. package/dist/types/core/ui-packs/ko.d.ts +3 -0
  39. package/dist/types/core/ui-packs/nl.d.ts +3 -0
  40. package/dist/types/core/ui-packs/no.d.ts +3 -0
  41. package/dist/types/core/ui-packs/pl.d.ts +3 -0
  42. package/dist/types/core/ui-packs/pt-br.d.ts +3 -0
  43. package/dist/types/core/ui-packs/pt.d.ts +3 -0
  44. package/dist/types/core/ui-packs/ro.d.ts +3 -0
  45. package/dist/types/core/ui-packs/ru.d.ts +3 -0
  46. package/dist/types/core/ui-packs/sk.d.ts +3 -0
  47. package/dist/types/core/ui-packs/sr.d.ts +3 -0
  48. package/dist/types/core/ui-packs/sv.d.ts +3 -0
  49. package/dist/types/core/ui-packs/th.d.ts +3 -0
  50. package/dist/types/core/ui-packs/tr.d.ts +3 -0
  51. package/dist/types/core/ui-packs/uk.d.ts +3 -0
  52. package/dist/types/core/ui-packs/vi.d.ts +3 -0
  53. package/dist/types/core/ui-packs/zh-tw.d.ts +3 -0
  54. package/dist/types/core/ui-packs/zh.d.ts +3 -0
  55. package/dist/types/core/version.d.ts +8 -0
  56. package/dist/types/index.d.ts +10 -0
  57. package/dist/types/migrate/mintlify/config.d.ts +2 -0
  58. package/dist/types/migrate/mintlify/i18n.d.ts +7 -0
  59. package/dist/types/theme/fonts.d.ts +163 -0
  60. package/docs/01-quickstart.mdx +99 -0
  61. package/docs/02-deployment.mdx +129 -0
  62. package/docs/advanced/api-reference.mdx +114 -0
  63. package/docs/advanced/blog.mdx +121 -0
  64. package/docs/advanced/changelog.mdx +113 -0
  65. package/docs/advanced/custom-pages.mdx +268 -0
  66. package/docs/advanced/meta.ts +7 -0
  67. package/docs/changelog/v0-1-0.mdx +12 -0
  68. package/docs/changelog/v0-2-0.mdx +16 -0
  69. package/docs/configuration/ai.mdx +228 -0
  70. package/docs/configuration/analytics.mdx +98 -0
  71. package/docs/configuration/customization.mdx +91 -0
  72. package/docs/configuration/export.mdx +70 -0
  73. package/docs/configuration/index.mdx +290 -0
  74. package/docs/configuration/meta.ts +15 -0
  75. package/docs/configuration/search.mdx +172 -0
  76. package/docs/configuration/seo.mdx +196 -0
  77. package/docs/configuration/theming.mdx +178 -0
  78. package/docs/content/components.mdx +651 -0
  79. package/docs/content/i18n.mdx +205 -0
  80. package/docs/content/index.mdx +161 -0
  81. package/docs/content/islands.mdx +94 -0
  82. package/docs/content/meta.mdx +119 -0
  83. package/docs/content/meta.ts +15 -0
  84. package/docs/content/navigation.mdx +168 -0
  85. package/docs/content/sources.mdx +216 -0
  86. package/docs/content/syntax.mdx +445 -0
  87. package/docs/index.mdx +112 -0
  88. package/docs/reference/cli.mdx +43 -0
  89. package/docs/reference/frontmatter.mdx +74 -0
  90. package/docs/reference/meta.ts +7 -0
  91. package/package.json +150 -6
  92. package/src/ai/ask.ts +93 -0
  93. package/src/ai/llms.ts +64 -0
  94. package/src/ai/markdown.ts +31 -0
  95. package/src/ai/mcp/data.ts +74 -0
  96. package/src/ai/mcp/discovery.ts +49 -0
  97. package/src/ai/mcp/server.ts +225 -0
  98. package/src/ai/mcp/tools.ts +47 -0
  99. package/src/assets/icon.png +0 -0
  100. package/src/astro/examples.ts +104 -0
  101. package/src/astro/generate.ts +1006 -0
  102. package/src/astro/index.ts +4 -0
  103. package/src/astro/integration.ts +74 -0
  104. package/src/astro/islands.ts +131 -0
  105. package/src/astro/markdown-negotiation.ts +68 -0
  106. package/src/astro/pages.ts +87 -0
  107. package/src/astro/templates.ts +1326 -0
  108. package/src/cli/commands/add.ts +81 -0
  109. package/src/cli/commands/build.ts +103 -0
  110. package/src/cli/commands/dev.ts +108 -0
  111. package/src/cli/commands/doctor.ts +74 -0
  112. package/src/cli/commands/eject.ts +57 -0
  113. package/src/cli/commands/init.ts +98 -0
  114. package/src/cli/commands/migrate.ts +39 -0
  115. package/src/cli/commands/preview.ts +39 -0
  116. package/src/cli/commands/sync.ts +52 -0
  117. package/src/cli/commands/validate.ts +61 -0
  118. package/src/cli/index.ts +35 -0
  119. package/src/cli/log.ts +37 -0
  120. package/src/cli/prepare.ts +80 -0
  121. package/src/components/Icon.astro +99 -0
  122. package/src/components/content/Accordion.astro +8 -0
  123. package/src/components/content/AccordionItem.astro +121 -0
  124. package/src/components/content/AutoTypeTable.astro +51 -0
  125. package/src/components/content/Badge.astro +124 -0
  126. package/src/components/content/Callout.astro +73 -0
  127. package/src/components/content/Card.astro +104 -0
  128. package/src/components/content/CardGroup.astro +14 -0
  129. package/src/components/content/CodeBlock.astro +28 -0
  130. package/src/components/content/CodeGroup.astro +13 -0
  131. package/src/components/content/Color.astro +15 -0
  132. package/src/components/content/ColorItem.astro +87 -0
  133. package/src/components/content/ColorRow.astro +10 -0
  134. package/src/components/content/Column.astro +6 -0
  135. package/src/components/content/Columns.astro +9 -0
  136. package/src/components/content/Component.astro +65 -0
  137. package/src/components/content/Diff.astro +44 -0
  138. package/src/components/content/Expandable.astro +11 -0
  139. package/src/components/content/FileTree.astro +8 -0
  140. package/src/components/content/Frame.astro +70 -0
  141. package/src/components/content/GithubInfo.astro +110 -0
  142. package/src/components/content/Math.astro +24 -0
  143. package/src/components/content/Panel.astro +20 -0
  144. package/src/components/content/Prompt.astro +129 -0
  145. package/src/components/content/Step.astro +34 -0
  146. package/src/components/content/Steps.astro +20 -0
  147. package/src/components/content/Tab.astro +46 -0
  148. package/src/components/content/Tabs.astro +273 -0
  149. package/src/components/content/Tile.astro +42 -0
  150. package/src/components/content/Tooltip.astro +68 -0
  151. package/src/components/content/Tree.astro +300 -0
  152. package/src/components/content/TreeFile.astro +15 -0
  153. package/src/components/content/TreeFolder.astro +62 -0
  154. package/src/components/content/TypeTable.astro +106 -0
  155. package/src/components/content/Update.astro +66 -0
  156. package/src/components/content/Visibility.astro +12 -0
  157. package/src/components/content/Warning.astro +9 -0
  158. package/src/components/content/auto-type-table.ts +141 -0
  159. package/src/components/content/diff.ts +95 -0
  160. package/src/components/content/github-info.ts +79 -0
  161. package/src/components/content/mermaid-element.ts +68 -0
  162. package/src/components/github-mark.ts +9 -0
  163. package/src/components/index.ts +14 -0
  164. package/src/components/islands/AskAI.astro +12 -0
  165. package/src/components/islands/ask-ai.tsx +156 -0
  166. package/src/components/layout/Analytics.astro +63 -0
  167. package/src/components/layout/Banner.astro +50 -0
  168. package/src/components/layout/Breadcrumbs.astro +31 -0
  169. package/src/components/layout/Favicon.astro +22 -0
  170. package/src/components/layout/Fonts.astro +14 -0
  171. package/src/components/layout/Header.astro +188 -0
  172. package/src/components/layout/LanguageSwitcher.astro +56 -0
  173. package/src/components/layout/NavTree.astro +462 -0
  174. package/src/components/layout/PageActions.astro +438 -0
  175. package/src/components/layout/PageFeedback.astro +58 -0
  176. package/src/components/layout/PageLayout.astro +173 -0
  177. package/src/components/layout/Pagination.astro +56 -0
  178. package/src/components/layout/ReferenceLayout.astro +107 -0
  179. package/src/components/layout/RootLayout.astro +537 -0
  180. package/src/components/layout/Search.astro +608 -0
  181. package/src/components/layout/TableOfContents.astro +68 -0
  182. package/src/components/layout/analytics-client.ts +38 -0
  183. package/src/components/layout/head-scripts.ts +19 -0
  184. package/src/components/layout/nav-utils.ts +87 -0
  185. package/src/components/layout/overrides.ts +32 -0
  186. package/src/components/layout/search/algolia.ts +43 -0
  187. package/src/components/layout/search/endpoint.ts +22 -0
  188. package/src/components/layout/search/flexsearch.ts +52 -0
  189. package/src/components/layout/search/orama-cloud.ts +41 -0
  190. package/src/components/layout/search/orama.ts +26 -0
  191. package/src/components/layout/search/pagefind.ts +43 -0
  192. package/src/components/layout/search/types.ts +163 -0
  193. package/src/components/layout/search/typesense.ts +60 -0
  194. package/src/components/layout/toc-element.ts +108 -0
  195. package/src/core/bridge.ts +92 -0
  196. package/src/core/config.ts +112 -0
  197. package/src/core/content.ts +50 -0
  198. package/src/core/data.ts +128 -0
  199. package/src/core/define-components.ts +34 -0
  200. package/src/core/define-meta.ts +20 -0
  201. package/src/core/deployment-env.ts +73 -0
  202. package/src/core/diagnostics.ts +104 -0
  203. package/src/core/frontmatter.ts +43 -0
  204. package/src/core/graph.ts +128 -0
  205. package/src/core/i18n-ui.ts +171 -0
  206. package/src/core/i18n.ts +169 -0
  207. package/src/core/last-modified.ts +88 -0
  208. package/src/core/links.ts +352 -0
  209. package/src/core/load-module.ts +15 -0
  210. package/src/core/manifest.ts +126 -0
  211. package/src/core/meta.ts +97 -0
  212. package/src/core/navigation.ts +392 -0
  213. package/src/core/package-root.ts +37 -0
  214. package/src/core/project-graph.ts +153 -0
  215. package/src/core/project.ts +56 -0
  216. package/src/core/schema.ts +1057 -0
  217. package/src/core/server-features.ts +23 -0
  218. package/src/core/sources/assets.ts +77 -0
  219. package/src/core/sources/cache.ts +122 -0
  220. package/src/core/sources/filesystem.ts +99 -0
  221. package/src/core/sources/mdx-remote.ts +215 -0
  222. package/src/core/sources/mintlify.ts +161 -0
  223. package/src/core/sources/normalize.ts +243 -0
  224. package/src/core/sources/notion.ts +440 -0
  225. package/src/core/sources/portable-text.ts +143 -0
  226. package/src/core/sources/read.ts +36 -0
  227. package/src/core/sources/resolve.ts +158 -0
  228. package/src/core/sources/sanity.ts +218 -0
  229. package/src/core/sources/types.ts +105 -0
  230. package/src/core/tsconfig-aliases.ts +201 -0
  231. package/src/core/types.ts +261 -0
  232. package/src/core/ui-packs/ar.ts +47 -0
  233. package/src/core/ui-packs/bg.ts +47 -0
  234. package/src/core/ui-packs/bn.ts +47 -0
  235. package/src/core/ui-packs/ca.ts +47 -0
  236. package/src/core/ui-packs/cs.ts +47 -0
  237. package/src/core/ui-packs/da.ts +47 -0
  238. package/src/core/ui-packs/de.ts +47 -0
  239. package/src/core/ui-packs/el.ts +47 -0
  240. package/src/core/ui-packs/es.ts +47 -0
  241. package/src/core/ui-packs/fa.ts +47 -0
  242. package/src/core/ui-packs/fi.ts +47 -0
  243. package/src/core/ui-packs/fr.ts +47 -0
  244. package/src/core/ui-packs/he.ts +47 -0
  245. package/src/core/ui-packs/hi.ts +47 -0
  246. package/src/core/ui-packs/hr.ts +47 -0
  247. package/src/core/ui-packs/hu.ts +47 -0
  248. package/src/core/ui-packs/id.ts +47 -0
  249. package/src/core/ui-packs/index.ts +87 -0
  250. package/src/core/ui-packs/it.ts +47 -0
  251. package/src/core/ui-packs/ja.ts +47 -0
  252. package/src/core/ui-packs/ko.ts +47 -0
  253. package/src/core/ui-packs/nl.ts +47 -0
  254. package/src/core/ui-packs/no.ts +47 -0
  255. package/src/core/ui-packs/pl.ts +47 -0
  256. package/src/core/ui-packs/pt-br.ts +47 -0
  257. package/src/core/ui-packs/pt.ts +47 -0
  258. package/src/core/ui-packs/ro.ts +47 -0
  259. package/src/core/ui-packs/ru.ts +47 -0
  260. package/src/core/ui-packs/sk.ts +47 -0
  261. package/src/core/ui-packs/sr.ts +47 -0
  262. package/src/core/ui-packs/sv.ts +47 -0
  263. package/src/core/ui-packs/th.ts +47 -0
  264. package/src/core/ui-packs/tr.ts +47 -0
  265. package/src/core/ui-packs/uk.ts +47 -0
  266. package/src/core/ui-packs/vi.ts +47 -0
  267. package/src/core/ui-packs/zh-tw.ts +47 -0
  268. package/src/core/ui-packs/zh.ts +47 -0
  269. package/src/core/version.ts +23 -0
  270. package/src/deploy/robots.ts +20 -0
  271. package/src/deploy/rss.ts +128 -0
  272. package/src/deploy/sitemap.ts +28 -0
  273. package/src/index.ts +39 -0
  274. package/src/markdown/code-title.ts +71 -0
  275. package/src/markdown/directives.ts +83 -0
  276. package/src/markdown/heading-anchors.ts +137 -0
  277. package/src/markdown/index.ts +228 -0
  278. package/src/markdown/inline-code.ts +108 -0
  279. package/src/markdown/language-icon.ts +172 -0
  280. package/src/markdown/math.ts +32 -0
  281. package/src/markdown/mdast.ts +48 -0
  282. package/src/markdown/mermaid.ts +37 -0
  283. package/src/markdown/package-commands.ts +159 -0
  284. package/src/markdown/package-install.ts +40 -0
  285. package/src/migrate/fumadocs/config.ts +155 -0
  286. package/src/migrate/fumadocs/content.ts +365 -0
  287. package/src/migrate/fumadocs/frontmatter.ts +18 -0
  288. package/src/migrate/fumadocs/groups.ts +230 -0
  289. package/src/migrate/fumadocs/index.ts +337 -0
  290. package/src/migrate/fumadocs/meta.ts +244 -0
  291. package/src/migrate/migrate.ts +53 -0
  292. package/src/migrate/mintlify/config.ts +1040 -0
  293. package/src/migrate/mintlify/content.ts +98 -0
  294. package/src/migrate/mintlify/frontmatter.ts +126 -0
  295. package/src/migrate/mintlify/i18n.ts +51 -0
  296. package/src/migrate/mintlify/icons.ts +128 -0
  297. package/src/migrate/mintlify/index.ts +266 -0
  298. package/src/migrate/mintlify/snippets.ts +306 -0
  299. package/src/migrate/mintlify/transform.ts +80 -0
  300. package/src/migrate/nextra/content.ts +46 -0
  301. package/src/migrate/nextra/frontmatter.ts +40 -0
  302. package/src/migrate/nextra/index.ts +374 -0
  303. package/src/migrate/nextra/meta.ts +266 -0
  304. package/src/migrate/shared.ts +720 -0
  305. package/src/migrate/starlight/config.ts +459 -0
  306. package/src/migrate/starlight/content.ts +78 -0
  307. package/src/migrate/starlight/frontmatter.ts +111 -0
  308. package/src/migrate/starlight/i18n.ts +54 -0
  309. package/src/migrate/starlight/index.ts +131 -0
  310. package/src/og/card.ts +92 -0
  311. package/src/og/index.ts +2 -0
  312. package/src/openapi/scalar.ts +246 -0
  313. package/src/registry/eject.ts +310 -0
  314. package/src/registry/registry.ts +100 -0
  315. package/src/registry/rewrite-imports.ts +39 -0
  316. package/src/runtime/index.ts +14 -0
  317. package/src/search/build.ts +23 -0
  318. package/src/search/documents.ts +164 -0
  319. package/src/search/orama-index.ts +66 -0
  320. package/src/search/providers.ts +91 -0
  321. package/src/search/sync/algolia.ts +30 -0
  322. package/src/search/sync/index.ts +50 -0
  323. package/src/search/sync/orama-cloud.ts +40 -0
  324. package/src/search/sync/typesense.ts +65 -0
  325. package/src/seo/jsonld.ts +113 -0
  326. package/src/theme/entry.ts +637 -0
  327. package/src/theme/fonts.ts +198 -0
  328. package/src/theme/icons.ts +184 -0
  329. package/src/theme/palette.ts +143 -0
  330. package/src/theme/twoslash.ts +81 -0
@@ -0,0 +1,3451 @@
1
+ import { z } from "zod";
2
+ import type { ContentSource } from "./sources/types.ts";
3
+ declare const hydrationMode: z.ZodEnum<["load", "idle", "visible", "media", "only"]>;
4
+ export type HydrationMode = z.infer<typeof hydrationMode>;
5
+ /** Frontmatter accepted on any content page. */
6
+ declare const pageMetaBaseSchema: z.ZodObject<{
7
+ changelog: z.ZodOptional<z.ZodObject<{
8
+ category: z.ZodOptional<z.ZodString>;
9
+ date: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>;
10
+ version: z.ZodOptional<z.ZodString>;
11
+ }, "strict", z.ZodTypeAny, {
12
+ date?: string | undefined;
13
+ category?: string | undefined;
14
+ version?: string | undefined;
15
+ }, {
16
+ date?: string | Date | undefined;
17
+ category?: string | undefined;
18
+ version?: string | undefined;
19
+ }>>;
20
+ /** Publish date for feed-backed content like blog/changelog. */
21
+ date: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>;
22
+ deprecated: z.ZodDefault<z.ZodBoolean>;
23
+ description: z.ZodOptional<z.ZodString>;
24
+ draft: z.ZodDefault<z.ZodBoolean>;
25
+ groups: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
26
+ hidden: z.ZodDefault<z.ZodBoolean>;
27
+ hideApiMarker: z.ZodDefault<z.ZodBoolean>;
28
+ hideFooterPagination: z.ZodOptional<z.ZodBoolean>;
29
+ icon: z.ZodOptional<z.ZodString>;
30
+ iconType: z.ZodOptional<z.ZodString>;
31
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
32
+ /** Overrides the git-derived last-modified date when `lastModified` is on. */
33
+ lastModified: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>;
34
+ mode: z.ZodOptional<z.ZodString>;
35
+ noindex: z.ZodDefault<z.ZodBoolean>;
36
+ public: z.ZodOptional<z.ZodBoolean>;
37
+ rss: z.ZodOptional<z.ZodBoolean>;
38
+ search: z.ZodDefault<z.ZodObject<{
39
+ boost: z.ZodOptional<z.ZodNumber>;
40
+ exclude: z.ZodDefault<z.ZodBoolean>;
41
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
42
+ }, "strict", z.ZodTypeAny, {
43
+ exclude: boolean;
44
+ boost?: number | undefined;
45
+ tags?: string[] | undefined;
46
+ }, {
47
+ boost?: number | undefined;
48
+ exclude?: boolean | undefined;
49
+ tags?: string[] | undefined;
50
+ }>>;
51
+ seo: z.ZodDefault<z.ZodObject<{
52
+ canonical: z.ZodOptional<z.ZodString>;
53
+ description: z.ZodOptional<z.ZodString>;
54
+ image: z.ZodOptional<z.ZodString>;
55
+ noindex: z.ZodDefault<z.ZodBoolean>;
56
+ title: z.ZodOptional<z.ZodString>;
57
+ }, "strict", z.ZodTypeAny, {
58
+ noindex: boolean;
59
+ title?: string | undefined;
60
+ canonical?: string | undefined;
61
+ description?: string | undefined;
62
+ image?: string | undefined;
63
+ }, {
64
+ title?: string | undefined;
65
+ canonical?: string | undefined;
66
+ description?: string | undefined;
67
+ image?: string | undefined;
68
+ noindex?: boolean | undefined;
69
+ }>>;
70
+ sidebar: z.ZodDefault<z.ZodObject<{
71
+ badge: z.ZodOptional<z.ZodString>;
72
+ hidden: z.ZodDefault<z.ZodBoolean>;
73
+ icon: z.ZodOptional<z.ZodString>;
74
+ label: z.ZodOptional<z.ZodString>;
75
+ order: z.ZodOptional<z.ZodNumber>;
76
+ }, "strict", z.ZodTypeAny, {
77
+ hidden: boolean;
78
+ label?: string | undefined;
79
+ badge?: string | undefined;
80
+ icon?: string | undefined;
81
+ order?: number | undefined;
82
+ }, {
83
+ label?: string | undefined;
84
+ badge?: string | undefined;
85
+ hidden?: boolean | undefined;
86
+ icon?: string | undefined;
87
+ order?: number | undefined;
88
+ }>>;
89
+ sidebarTitle: z.ZodOptional<z.ZodString>;
90
+ slug: z.ZodOptional<z.ZodString>;
91
+ tag: z.ZodOptional<z.ZodString>;
92
+ title: z.ZodOptional<z.ZodString>;
93
+ type: z.ZodDefault<z.ZodString>;
94
+ }, "strict", z.ZodTypeAny, {
95
+ type: string;
96
+ search: {
97
+ exclude: boolean;
98
+ boost?: number | undefined;
99
+ tags?: string[] | undefined;
100
+ };
101
+ hidden: boolean;
102
+ noindex: boolean;
103
+ deprecated: boolean;
104
+ draft: boolean;
105
+ hideApiMarker: boolean;
106
+ seo: {
107
+ noindex: boolean;
108
+ title?: string | undefined;
109
+ canonical?: string | undefined;
110
+ description?: string | undefined;
111
+ image?: string | undefined;
112
+ };
113
+ sidebar: {
114
+ hidden: boolean;
115
+ label?: string | undefined;
116
+ badge?: string | undefined;
117
+ icon?: string | undefined;
118
+ order?: number | undefined;
119
+ };
120
+ date?: string | undefined;
121
+ title?: string | undefined;
122
+ icon?: string | undefined;
123
+ description?: string | undefined;
124
+ changelog?: {
125
+ date?: string | undefined;
126
+ category?: string | undefined;
127
+ version?: string | undefined;
128
+ } | undefined;
129
+ groups?: string | string[] | undefined;
130
+ hideFooterPagination?: boolean | undefined;
131
+ iconType?: string | undefined;
132
+ keywords?: string[] | undefined;
133
+ lastModified?: string | undefined;
134
+ mode?: string | undefined;
135
+ public?: boolean | undefined;
136
+ rss?: boolean | undefined;
137
+ sidebarTitle?: string | undefined;
138
+ slug?: string | undefined;
139
+ tag?: string | undefined;
140
+ }, {
141
+ type?: string | undefined;
142
+ date?: string | Date | undefined;
143
+ title?: string | undefined;
144
+ search?: {
145
+ boost?: number | undefined;
146
+ exclude?: boolean | undefined;
147
+ tags?: string[] | undefined;
148
+ } | undefined;
149
+ hidden?: boolean | undefined;
150
+ icon?: string | undefined;
151
+ description?: string | undefined;
152
+ noindex?: boolean | undefined;
153
+ changelog?: {
154
+ date?: string | Date | undefined;
155
+ category?: string | undefined;
156
+ version?: string | undefined;
157
+ } | undefined;
158
+ deprecated?: boolean | undefined;
159
+ draft?: boolean | undefined;
160
+ groups?: string | string[] | undefined;
161
+ hideApiMarker?: boolean | undefined;
162
+ hideFooterPagination?: boolean | undefined;
163
+ iconType?: string | undefined;
164
+ keywords?: string[] | undefined;
165
+ lastModified?: string | Date | undefined;
166
+ mode?: string | undefined;
167
+ public?: boolean | undefined;
168
+ rss?: boolean | undefined;
169
+ seo?: {
170
+ title?: string | undefined;
171
+ canonical?: string | undefined;
172
+ description?: string | undefined;
173
+ image?: string | undefined;
174
+ noindex?: boolean | undefined;
175
+ } | undefined;
176
+ sidebar?: {
177
+ label?: string | undefined;
178
+ badge?: string | undefined;
179
+ hidden?: boolean | undefined;
180
+ icon?: string | undefined;
181
+ order?: number | undefined;
182
+ } | undefined;
183
+ sidebarTitle?: string | undefined;
184
+ slug?: string | undefined;
185
+ tag?: string | undefined;
186
+ }>;
187
+ export declare const pageMetaSchema: z.ZodObject<{
188
+ changelog: z.ZodOptional<z.ZodObject<{
189
+ category: z.ZodOptional<z.ZodString>;
190
+ date: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>;
191
+ version: z.ZodOptional<z.ZodString>;
192
+ }, "strict", z.ZodTypeAny, {
193
+ date?: string | undefined;
194
+ category?: string | undefined;
195
+ version?: string | undefined;
196
+ }, {
197
+ date?: string | Date | undefined;
198
+ category?: string | undefined;
199
+ version?: string | undefined;
200
+ }>>;
201
+ /** Publish date for feed-backed content like blog/changelog. */
202
+ date: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>;
203
+ deprecated: z.ZodDefault<z.ZodBoolean>;
204
+ description: z.ZodOptional<z.ZodString>;
205
+ draft: z.ZodDefault<z.ZodBoolean>;
206
+ groups: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
207
+ hidden: z.ZodDefault<z.ZodBoolean>;
208
+ hideApiMarker: z.ZodDefault<z.ZodBoolean>;
209
+ hideFooterPagination: z.ZodOptional<z.ZodBoolean>;
210
+ icon: z.ZodOptional<z.ZodString>;
211
+ iconType: z.ZodOptional<z.ZodString>;
212
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
213
+ /** Overrides the git-derived last-modified date when `lastModified` is on. */
214
+ lastModified: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>;
215
+ mode: z.ZodOptional<z.ZodString>;
216
+ noindex: z.ZodDefault<z.ZodBoolean>;
217
+ public: z.ZodOptional<z.ZodBoolean>;
218
+ rss: z.ZodOptional<z.ZodBoolean>;
219
+ search: z.ZodDefault<z.ZodObject<{
220
+ boost: z.ZodOptional<z.ZodNumber>;
221
+ exclude: z.ZodDefault<z.ZodBoolean>;
222
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
223
+ }, "strict", z.ZodTypeAny, {
224
+ exclude: boolean;
225
+ boost?: number | undefined;
226
+ tags?: string[] | undefined;
227
+ }, {
228
+ boost?: number | undefined;
229
+ exclude?: boolean | undefined;
230
+ tags?: string[] | undefined;
231
+ }>>;
232
+ seo: z.ZodDefault<z.ZodObject<{
233
+ canonical: z.ZodOptional<z.ZodString>;
234
+ description: z.ZodOptional<z.ZodString>;
235
+ image: z.ZodOptional<z.ZodString>;
236
+ noindex: z.ZodDefault<z.ZodBoolean>;
237
+ title: z.ZodOptional<z.ZodString>;
238
+ }, "strict", z.ZodTypeAny, {
239
+ noindex: boolean;
240
+ title?: string | undefined;
241
+ canonical?: string | undefined;
242
+ description?: string | undefined;
243
+ image?: string | undefined;
244
+ }, {
245
+ title?: string | undefined;
246
+ canonical?: string | undefined;
247
+ description?: string | undefined;
248
+ image?: string | undefined;
249
+ noindex?: boolean | undefined;
250
+ }>>;
251
+ sidebar: z.ZodDefault<z.ZodObject<{
252
+ badge: z.ZodOptional<z.ZodString>;
253
+ hidden: z.ZodDefault<z.ZodBoolean>;
254
+ icon: z.ZodOptional<z.ZodString>;
255
+ label: z.ZodOptional<z.ZodString>;
256
+ order: z.ZodOptional<z.ZodNumber>;
257
+ }, "strict", z.ZodTypeAny, {
258
+ hidden: boolean;
259
+ label?: string | undefined;
260
+ badge?: string | undefined;
261
+ icon?: string | undefined;
262
+ order?: number | undefined;
263
+ }, {
264
+ label?: string | undefined;
265
+ badge?: string | undefined;
266
+ hidden?: boolean | undefined;
267
+ icon?: string | undefined;
268
+ order?: number | undefined;
269
+ }>>;
270
+ sidebarTitle: z.ZodOptional<z.ZodString>;
271
+ slug: z.ZodOptional<z.ZodString>;
272
+ tag: z.ZodOptional<z.ZodString>;
273
+ title: z.ZodOptional<z.ZodString>;
274
+ type: z.ZodDefault<z.ZodString>;
275
+ }, "strict", z.ZodTypeAny, {
276
+ type: string;
277
+ search: {
278
+ exclude: boolean;
279
+ boost?: number | undefined;
280
+ tags?: string[] | undefined;
281
+ };
282
+ hidden: boolean;
283
+ noindex: boolean;
284
+ deprecated: boolean;
285
+ draft: boolean;
286
+ hideApiMarker: boolean;
287
+ seo: {
288
+ noindex: boolean;
289
+ title?: string | undefined;
290
+ canonical?: string | undefined;
291
+ description?: string | undefined;
292
+ image?: string | undefined;
293
+ };
294
+ sidebar: {
295
+ hidden: boolean;
296
+ label?: string | undefined;
297
+ badge?: string | undefined;
298
+ icon?: string | undefined;
299
+ order?: number | undefined;
300
+ };
301
+ date?: string | undefined;
302
+ title?: string | undefined;
303
+ icon?: string | undefined;
304
+ description?: string | undefined;
305
+ changelog?: {
306
+ date?: string | undefined;
307
+ category?: string | undefined;
308
+ version?: string | undefined;
309
+ } | undefined;
310
+ groups?: string | string[] | undefined;
311
+ hideFooterPagination?: boolean | undefined;
312
+ iconType?: string | undefined;
313
+ keywords?: string[] | undefined;
314
+ lastModified?: string | undefined;
315
+ mode?: string | undefined;
316
+ public?: boolean | undefined;
317
+ rss?: boolean | undefined;
318
+ sidebarTitle?: string | undefined;
319
+ slug?: string | undefined;
320
+ tag?: string | undefined;
321
+ }, {
322
+ type?: string | undefined;
323
+ date?: string | Date | undefined;
324
+ title?: string | undefined;
325
+ search?: {
326
+ boost?: number | undefined;
327
+ exclude?: boolean | undefined;
328
+ tags?: string[] | undefined;
329
+ } | undefined;
330
+ hidden?: boolean | undefined;
331
+ icon?: string | undefined;
332
+ description?: string | undefined;
333
+ noindex?: boolean | undefined;
334
+ changelog?: {
335
+ date?: string | Date | undefined;
336
+ category?: string | undefined;
337
+ version?: string | undefined;
338
+ } | undefined;
339
+ deprecated?: boolean | undefined;
340
+ draft?: boolean | undefined;
341
+ groups?: string | string[] | undefined;
342
+ hideApiMarker?: boolean | undefined;
343
+ hideFooterPagination?: boolean | undefined;
344
+ iconType?: string | undefined;
345
+ keywords?: string[] | undefined;
346
+ lastModified?: string | Date | undefined;
347
+ mode?: string | undefined;
348
+ public?: boolean | undefined;
349
+ rss?: boolean | undefined;
350
+ seo?: {
351
+ title?: string | undefined;
352
+ canonical?: string | undefined;
353
+ description?: string | undefined;
354
+ image?: string | undefined;
355
+ noindex?: boolean | undefined;
356
+ } | undefined;
357
+ sidebar?: {
358
+ label?: string | undefined;
359
+ badge?: string | undefined;
360
+ hidden?: boolean | undefined;
361
+ icon?: string | undefined;
362
+ order?: number | undefined;
363
+ } | undefined;
364
+ sidebarTitle?: string | undefined;
365
+ slug?: string | undefined;
366
+ tag?: string | undefined;
367
+ }>;
368
+ export type PageMeta = z.infer<typeof pageMetaBaseSchema>;
369
+ export type PageMetaInput = z.input<typeof pageMetaBaseSchema>;
370
+ /**
371
+ * How a sidebar group renders:
372
+ * - `flat`: a non-collapsible header with its items listed beneath (default).
373
+ * - `group`: a collapsible `<details>` disclosure.
374
+ * - `page`: a single row that drills into a sub-panel showing only this group's
375
+ * items, with a back arrow at the top.
376
+ */
377
+ declare const sidebarDisplaySchema: z.ZodEnum<["flat", "group", "page"]>;
378
+ export type SidebarDisplay = z.infer<typeof sidebarDisplaySchema>;
379
+ export declare const folderMetaSchema: z.ZodObject<{
380
+ collapsed: z.ZodOptional<z.ZodBoolean>;
381
+ display: z.ZodOptional<z.ZodEnum<["flat", "group", "page"]>>;
382
+ icon: z.ZodOptional<z.ZodString>;
383
+ order: z.ZodOptional<z.ZodNumber>;
384
+ /** Explicit child ordering by slug segment (without numeric prefix). */
385
+ pages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
386
+ title: z.ZodOptional<z.ZodString>;
387
+ }, "strict", z.ZodTypeAny, {
388
+ display?: "flat" | "page" | "group" | undefined;
389
+ title?: string | undefined;
390
+ icon?: string | undefined;
391
+ order?: number | undefined;
392
+ collapsed?: boolean | undefined;
393
+ pages?: string[] | undefined;
394
+ }, {
395
+ display?: "flat" | "page" | "group" | undefined;
396
+ title?: string | undefined;
397
+ icon?: string | undefined;
398
+ order?: number | undefined;
399
+ collapsed?: boolean | undefined;
400
+ pages?: string[] | undefined;
401
+ }>;
402
+ export type FolderMeta = z.infer<typeof folderMetaSchema>;
403
+ /** A single configured content source. */
404
+ declare const contentSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
405
+ exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
406
+ include: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
407
+ /** Namespaces the source's routes under `/<prefix>/`. */
408
+ prefix: z.ZodOptional<z.ZodString>;
409
+ root: z.ZodDefault<z.ZodString>;
410
+ type: z.ZodLiteral<"filesystem">;
411
+ }, "strict", z.ZodTypeAny, {
412
+ type: "filesystem";
413
+ exclude: string[];
414
+ include: string[];
415
+ root: string;
416
+ prefix?: string | undefined;
417
+ }, {
418
+ type: "filesystem";
419
+ exclude?: string[] | undefined;
420
+ include?: string[] | undefined;
421
+ prefix?: string | undefined;
422
+ root?: string | undefined;
423
+ }>, z.ZodObject<{
424
+ /** Explicit list of source-relative file paths to fetch from `url`. */
425
+ files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
426
+ /** Enumerate a GitHub repo subtree via the git-trees API. */
427
+ github: z.ZodOptional<z.ZodObject<{
428
+ owner: z.ZodString;
429
+ path: z.ZodDefault<z.ZodString>;
430
+ ref: z.ZodDefault<z.ZodString>;
431
+ repo: z.ZodString;
432
+ }, "strict", z.ZodTypeAny, {
433
+ path: string;
434
+ owner: string;
435
+ ref: string;
436
+ repo: string;
437
+ }, {
438
+ owner: string;
439
+ repo: string;
440
+ path?: string | undefined;
441
+ ref?: string | undefined;
442
+ }>>;
443
+ /** Glob patterns applied to enumerated refs. */
444
+ include: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
445
+ /** Opt-in dev polling interval (seconds); omit to freeze for the session. */
446
+ pollInterval: z.ZodOptional<z.ZodNumber>;
447
+ /** Namespaces the source's routes under `/<prefix>/`. */
448
+ prefix: z.ZodOptional<z.ZodString>;
449
+ type: z.ZodLiteral<"mdx-remote">;
450
+ /** Raw base URL, e.g. `https://raw.githubusercontent.com/acme/sdk/main/docs`. */
451
+ url: z.ZodOptional<z.ZodString>;
452
+ }, "strict", z.ZodTypeAny, {
453
+ type: "mdx-remote";
454
+ include: string[];
455
+ url?: string | undefined;
456
+ prefix?: string | undefined;
457
+ files?: string[] | undefined;
458
+ github?: {
459
+ path: string;
460
+ owner: string;
461
+ ref: string;
462
+ repo: string;
463
+ } | undefined;
464
+ pollInterval?: number | undefined;
465
+ }, {
466
+ type: "mdx-remote";
467
+ url?: string | undefined;
468
+ include?: string[] | undefined;
469
+ prefix?: string | undefined;
470
+ files?: string[] | undefined;
471
+ github?: {
472
+ owner: string;
473
+ repo: string;
474
+ path?: string | undefined;
475
+ ref?: string | undefined;
476
+ } | undefined;
477
+ pollInterval?: number | undefined;
478
+ }>, z.ZodObject<{
479
+ /** Sanity API version (a date); default `2024-01-01`. */
480
+ apiVersion: z.ZodOptional<z.ZodString>;
481
+ dataset: z.ZodString;
482
+ /** Field paths mapping a document onto Blume meta + body. */
483
+ fields: z.ZodOptional<z.ZodObject<{
484
+ body: z.ZodOptional<z.ZodString>;
485
+ description: z.ZodOptional<z.ZodString>;
486
+ lastModified: z.ZodOptional<z.ZodString>;
487
+ slug: z.ZodOptional<z.ZodString>;
488
+ title: z.ZodOptional<z.ZodString>;
489
+ }, "strict", z.ZodTypeAny, {
490
+ body?: string | undefined;
491
+ title?: string | undefined;
492
+ description?: string | undefined;
493
+ lastModified?: string | undefined;
494
+ slug?: string | undefined;
495
+ }, {
496
+ body?: string | undefined;
497
+ title?: string | undefined;
498
+ description?: string | undefined;
499
+ lastModified?: string | undefined;
500
+ slug?: string | undefined;
501
+ }>>;
502
+ /** Opt-in dev polling interval (seconds); omit to freeze for the session. */
503
+ pollInterval: z.ZodOptional<z.ZodNumber>;
504
+ prefix: z.ZodOptional<z.ZodString>;
505
+ projectId: z.ZodString;
506
+ /** GROQ query selecting the documents to import. */
507
+ query: z.ZodString;
508
+ type: z.ZodLiteral<"sanity">;
509
+ }, "strip", z.ZodTypeAny, {
510
+ type: "sanity";
511
+ dataset: string;
512
+ projectId: string;
513
+ query: string;
514
+ prefix?: string | undefined;
515
+ pollInterval?: number | undefined;
516
+ apiVersion?: string | undefined;
517
+ fields?: {
518
+ body?: string | undefined;
519
+ title?: string | undefined;
520
+ description?: string | undefined;
521
+ lastModified?: string | undefined;
522
+ slug?: string | undefined;
523
+ } | undefined;
524
+ }, {
525
+ type: "sanity";
526
+ dataset: string;
527
+ projectId: string;
528
+ query: string;
529
+ prefix?: string | undefined;
530
+ pollInterval?: number | undefined;
531
+ apiVersion?: string | undefined;
532
+ fields?: {
533
+ body?: string | undefined;
534
+ title?: string | undefined;
535
+ description?: string | undefined;
536
+ lastModified?: string | undefined;
537
+ slug?: string | undefined;
538
+ } | undefined;
539
+ }>, z.ZodObject<{
540
+ database: z.ZodString;
541
+ /** Opt-in dev polling interval (seconds); omit to freeze for the session. */
542
+ pollInterval: z.ZodOptional<z.ZodNumber>;
543
+ prefix: z.ZodOptional<z.ZodString>;
544
+ /** Notion property names mapped onto Blume meta. */
545
+ properties: z.ZodOptional<z.ZodObject<{
546
+ description: z.ZodOptional<z.ZodString>;
547
+ order: z.ZodOptional<z.ZodString>;
548
+ slug: z.ZodOptional<z.ZodString>;
549
+ status: z.ZodOptional<z.ZodString>;
550
+ title: z.ZodOptional<z.ZodString>;
551
+ }, "strict", z.ZodTypeAny, {
552
+ status?: string | undefined;
553
+ title?: string | undefined;
554
+ order?: string | undefined;
555
+ description?: string | undefined;
556
+ slug?: string | undefined;
557
+ }, {
558
+ status?: string | undefined;
559
+ title?: string | undefined;
560
+ order?: string | undefined;
561
+ description?: string | undefined;
562
+ slug?: string | undefined;
563
+ }>>;
564
+ /** Status value treated as published; others map to `draft`. Default `Published`. */
565
+ publishedValue: z.ZodOptional<z.ZodString>;
566
+ type: z.ZodLiteral<"notion">;
567
+ }, "strip", z.ZodTypeAny, {
568
+ type: "notion";
569
+ database: string;
570
+ prefix?: string | undefined;
571
+ pollInterval?: number | undefined;
572
+ properties?: {
573
+ status?: string | undefined;
574
+ title?: string | undefined;
575
+ order?: string | undefined;
576
+ description?: string | undefined;
577
+ slug?: string | undefined;
578
+ } | undefined;
579
+ publishedValue?: string | undefined;
580
+ }, {
581
+ type: "notion";
582
+ database: string;
583
+ prefix?: string | undefined;
584
+ pollInterval?: number | undefined;
585
+ properties?: {
586
+ status?: string | undefined;
587
+ title?: string | undefined;
588
+ order?: string | undefined;
589
+ description?: string | undefined;
590
+ slug?: string | undefined;
591
+ } | undefined;
592
+ publishedValue?: string | undefined;
593
+ }>, z.ZodObject<{
594
+ /** Absolute path of the `docs.json`/`mint.json`, watched for changes in dev. */
595
+ configFile: z.ZodOptional<z.ZodString>;
596
+ /** Patterns excluded from page discovery (Mintlify defaults are merged in). */
597
+ exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
598
+ /** Glob patterns for Mintlify content files. */
599
+ include: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
600
+ /** Namespaces the source's routes under `/<prefix>/`. */
601
+ prefix: z.ZodOptional<z.ZodString>;
602
+ /** Content root, absolute or relative to the project root (Mintlify: `.`). */
603
+ root: z.ZodDefault<z.ZodString>;
604
+ type: z.ZodLiteral<"mintlify">;
605
+ /** `docs.json` variables, inlined into content (`{{name}}`) at scan time. */
606
+ variables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
607
+ }, "strict", z.ZodTypeAny, {
608
+ type: "mintlify";
609
+ exclude: string[];
610
+ include: string[];
611
+ root: string;
612
+ variables: Record<string, string>;
613
+ prefix?: string | undefined;
614
+ configFile?: string | undefined;
615
+ }, {
616
+ type: "mintlify";
617
+ exclude?: string[] | undefined;
618
+ include?: string[] | undefined;
619
+ prefix?: string | undefined;
620
+ root?: string | undefined;
621
+ configFile?: string | undefined;
622
+ variables?: Record<string, string> | undefined;
623
+ }>, z.ZodObject<{
624
+ source: z.ZodType<ContentSource, z.ZodTypeDef, ContentSource>;
625
+ type: z.ZodLiteral<"custom">;
626
+ }, "strip", z.ZodTypeAny, {
627
+ type: "custom";
628
+ source: ContentSource;
629
+ }, {
630
+ type: "custom";
631
+ source: ContentSource;
632
+ }>]>;
633
+ /** A resolved content-source config entry (post-defaults). */
634
+ export type ContentSourceConfig = z.infer<typeof contentSourceSchema>;
635
+ declare const directoryModeSchema: z.ZodEnum<["accordion", "card", "none"]>;
636
+ export type DirectoryMode = z.infer<typeof directoryModeSchema>;
637
+ /** A node in an explicit sidebar config: a page reference or a group/link. */
638
+ export type SidebarItemConfig = string | {
639
+ label: string;
640
+ badge?: string;
641
+ directory?: DirectoryMode;
642
+ display?: SidebarDisplay;
643
+ href?: string;
644
+ icon?: string;
645
+ collapsed?: boolean;
646
+ items?: SidebarItemConfig[];
647
+ root?: string;
648
+ };
649
+ export declare const searchProviders: readonly ["orama", "pagefind", "flexsearch", "algolia", "orama-cloud", "typesense", "mixedbread", "none"];
650
+ /** Ask AI backends. `gateway` (default) routes through the Vercel AI Gateway. */
651
+ export declare const askAiProviders: readonly ["gateway", "openrouter", "llmgateway", "inkeep", "openai-compatible"];
652
+ declare const aiConfigSchema: z.ZodObject<{
653
+ ask: z.ZodOptional<z.ZodEffects<z.ZodObject<{
654
+ apiKeyEnv: z.ZodOptional<z.ZodString>;
655
+ baseUrl: z.ZodOptional<z.ZodString>;
656
+ enabled: z.ZodDefault<z.ZodBoolean>;
657
+ model: z.ZodDefault<z.ZodString>;
658
+ provider: z.ZodDefault<z.ZodEnum<["gateway", "openrouter", "llmgateway", "inkeep", "openai-compatible"]>>;
659
+ }, "strict", z.ZodTypeAny, {
660
+ provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
661
+ enabled: boolean;
662
+ model: string;
663
+ apiKeyEnv?: string | undefined;
664
+ baseUrl?: string | undefined;
665
+ }, {
666
+ provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
667
+ apiKeyEnv?: string | undefined;
668
+ baseUrl?: string | undefined;
669
+ enabled?: boolean | undefined;
670
+ model?: string | undefined;
671
+ }>, {
672
+ provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
673
+ enabled: boolean;
674
+ model: string;
675
+ apiKeyEnv?: string | undefined;
676
+ baseUrl?: string | undefined;
677
+ }, {
678
+ provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
679
+ apiKeyEnv?: string | undefined;
680
+ baseUrl?: string | undefined;
681
+ enabled?: boolean | undefined;
682
+ model?: string | undefined;
683
+ }>>;
684
+ llmsTxt: z.ZodDefault<z.ZodBoolean>;
685
+ }, "strict", z.ZodTypeAny, {
686
+ llmsTxt: boolean;
687
+ ask?: {
688
+ provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
689
+ enabled: boolean;
690
+ model: string;
691
+ apiKeyEnv?: string | undefined;
692
+ baseUrl?: string | undefined;
693
+ } | undefined;
694
+ }, {
695
+ ask?: {
696
+ provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
697
+ apiKeyEnv?: string | undefined;
698
+ baseUrl?: string | undefined;
699
+ enabled?: boolean | undefined;
700
+ model?: string | undefined;
701
+ } | undefined;
702
+ llmsTxt?: boolean | undefined;
703
+ }>;
704
+ export type AskAiProvider = (typeof askAiProviders)[number];
705
+ export type AskAiConfig = NonNullable<z.infer<typeof aiConfigSchema>["ask"]>;
706
+ /** A configured locale: ISO-ish code plus display metadata for the switcher. */
707
+ declare const localeSchema: z.ZodObject<{
708
+ code: z.ZodString;
709
+ /** Text direction; drives `<html dir>` and a future RTL pass. */
710
+ dir: z.ZodDefault<z.ZodEnum<["ltr", "rtl"]>>;
711
+ label: z.ZodString;
712
+ }, "strict", z.ZodTypeAny, {
713
+ code: string;
714
+ label: string;
715
+ dir: "ltr" | "rtl";
716
+ }, {
717
+ code: string;
718
+ label: string;
719
+ dir?: "ltr" | "rtl" | undefined;
720
+ }>;
721
+ /**
722
+ * Internationalization. Opt-in: when absent, Blume is single-locale and behaves
723
+ * exactly as before. The default locale lives at the content root; other locales
724
+ * are top-level directories named by `code` (the `dir` parser).
725
+ */
726
+ declare const i18nConfigSchema: z.ZodEffects<z.ZodObject<{
727
+ defaultLocale: z.ZodDefault<z.ZodString>;
728
+ /** Locale rendered for a missing translation; `null` disables fallback. */
729
+ fallbackLocale: z.ZodOptional<z.ZodNullable<z.ZodString>>;
730
+ /** Drop the URL prefix for the default locale (`/`, `/fr/…`). Static-safe. */
731
+ hideDefaultLocalePrefix: z.ZodDefault<z.ZodBoolean>;
732
+ locales: z.ZodArray<z.ZodObject<{
733
+ code: z.ZodString;
734
+ /** Text direction; drives `<html dir>` and a future RTL pass. */
735
+ dir: z.ZodDefault<z.ZodEnum<["ltr", "rtl"]>>;
736
+ label: z.ZodString;
737
+ }, "strict", z.ZodTypeAny, {
738
+ code: string;
739
+ label: string;
740
+ dir: "ltr" | "rtl";
741
+ }, {
742
+ code: string;
743
+ label: string;
744
+ dir?: "ltr" | "rtl" | undefined;
745
+ }>, "many">;
746
+ /** `"dir"`: locale directories (`fr/page.mdx`). `"dot"`: filename suffix (`page.fr.mdx`). */
747
+ parser: z.ZodDefault<z.ZodEnum<["dir", "dot"]>>;
748
+ /** Per-locale UI string overrides: `{ fr: { search: { button: "…" } } }`. */
749
+ ui: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>>;
750
+ }, "strict", z.ZodTypeAny, {
751
+ defaultLocale: string;
752
+ hideDefaultLocalePrefix: boolean;
753
+ locales: {
754
+ code: string;
755
+ label: string;
756
+ dir: "ltr" | "rtl";
757
+ }[];
758
+ parser: "dir" | "dot";
759
+ fallbackLocale?: string | null | undefined;
760
+ ui?: Record<string, Record<string, Record<string, string>>> | undefined;
761
+ }, {
762
+ locales: {
763
+ code: string;
764
+ label: string;
765
+ dir?: "ltr" | "rtl" | undefined;
766
+ }[];
767
+ defaultLocale?: string | undefined;
768
+ fallbackLocale?: string | null | undefined;
769
+ hideDefaultLocalePrefix?: boolean | undefined;
770
+ parser?: "dir" | "dot" | undefined;
771
+ ui?: Record<string, Record<string, Record<string, string>>> | undefined;
772
+ }>, {
773
+ defaultLocale: string;
774
+ hideDefaultLocalePrefix: boolean;
775
+ locales: {
776
+ code: string;
777
+ label: string;
778
+ dir: "ltr" | "rtl";
779
+ }[];
780
+ parser: "dir" | "dot";
781
+ fallbackLocale?: string | null | undefined;
782
+ ui?: Record<string, Record<string, Record<string, string>>> | undefined;
783
+ }, {
784
+ locales: {
785
+ code: string;
786
+ label: string;
787
+ dir?: "ltr" | "rtl" | undefined;
788
+ }[];
789
+ defaultLocale?: string | undefined;
790
+ fallbackLocale?: string | null | undefined;
791
+ hideDefaultLocalePrefix?: boolean | undefined;
792
+ parser?: "dir" | "dot" | undefined;
793
+ ui?: Record<string, Record<string, Record<string, string>>> | undefined;
794
+ }>;
795
+ /**
796
+ * A single spec rendered by the API reference (Scalar). `spec` is a local path
797
+ * or an `http(s)` URL; Scalar auto-detects OpenAPI vs AsyncAPI documents.
798
+ */
799
+ declare const openapiSourceSchema: z.ZodObject<{
800
+ /** Nav/section label for this source. */
801
+ label: z.ZodOptional<z.ZodString>;
802
+ /** Per-source route; defaults to the block's `route` (or a derived path). */
803
+ route: z.ZodOptional<z.ZodString>;
804
+ /** Local path or `http(s)` URL to the spec. */
805
+ spec: z.ZodString;
806
+ }, "strict", z.ZodTypeAny, {
807
+ spec: string;
808
+ label?: string | undefined;
809
+ route?: string | undefined;
810
+ }, {
811
+ spec: string;
812
+ label?: string | undefined;
813
+ route?: string | undefined;
814
+ }>;
815
+ export type OpenApiSource = z.infer<typeof openapiSourceSchema>;
816
+ /** Full user-facing config schema. All fields optional with defaults. */
817
+ export declare const blumeConfigSchema: z.ZodObject<{
818
+ ai: z.ZodDefault<z.ZodObject<{
819
+ ask: z.ZodOptional<z.ZodEffects<z.ZodObject<{
820
+ apiKeyEnv: z.ZodOptional<z.ZodString>;
821
+ baseUrl: z.ZodOptional<z.ZodString>;
822
+ enabled: z.ZodDefault<z.ZodBoolean>;
823
+ model: z.ZodDefault<z.ZodString>;
824
+ provider: z.ZodDefault<z.ZodEnum<["gateway", "openrouter", "llmgateway", "inkeep", "openai-compatible"]>>;
825
+ }, "strict", z.ZodTypeAny, {
826
+ provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
827
+ enabled: boolean;
828
+ model: string;
829
+ apiKeyEnv?: string | undefined;
830
+ baseUrl?: string | undefined;
831
+ }, {
832
+ provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
833
+ apiKeyEnv?: string | undefined;
834
+ baseUrl?: string | undefined;
835
+ enabled?: boolean | undefined;
836
+ model?: string | undefined;
837
+ }>, {
838
+ provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
839
+ enabled: boolean;
840
+ model: string;
841
+ apiKeyEnv?: string | undefined;
842
+ baseUrl?: string | undefined;
843
+ }, {
844
+ provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
845
+ apiKeyEnv?: string | undefined;
846
+ baseUrl?: string | undefined;
847
+ enabled?: boolean | undefined;
848
+ model?: string | undefined;
849
+ }>>;
850
+ llmsTxt: z.ZodDefault<z.ZodBoolean>;
851
+ }, "strict", z.ZodTypeAny, {
852
+ llmsTxt: boolean;
853
+ ask?: {
854
+ provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
855
+ enabled: boolean;
856
+ model: string;
857
+ apiKeyEnv?: string | undefined;
858
+ baseUrl?: string | undefined;
859
+ } | undefined;
860
+ }, {
861
+ ask?: {
862
+ provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
863
+ apiKeyEnv?: string | undefined;
864
+ baseUrl?: string | undefined;
865
+ enabled?: boolean | undefined;
866
+ model?: string | undefined;
867
+ } | undefined;
868
+ llmsTxt?: boolean | undefined;
869
+ }>>;
870
+ analytics: z.ZodOptional<z.ZodObject<{
871
+ posthog: z.ZodOptional<z.ZodObject<{
872
+ host: z.ZodOptional<z.ZodString>;
873
+ key: z.ZodString;
874
+ }, "strict", z.ZodTypeAny, {
875
+ key: string;
876
+ host?: string | undefined;
877
+ }, {
878
+ key: string;
879
+ host?: string | undefined;
880
+ }>>;
881
+ scripts: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
882
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
883
+ content: z.ZodOptional<z.ZodString>;
884
+ src: z.ZodOptional<z.ZodString>;
885
+ strategy: z.ZodOptional<z.ZodEnum<["async", "defer"]>>;
886
+ }, "strict", z.ZodTypeAny, {
887
+ content?: string | undefined;
888
+ attributes?: Record<string, string> | undefined;
889
+ src?: string | undefined;
890
+ strategy?: "async" | "defer" | undefined;
891
+ }, {
892
+ content?: string | undefined;
893
+ attributes?: Record<string, string> | undefined;
894
+ src?: string | undefined;
895
+ strategy?: "async" | "defer" | undefined;
896
+ }>, {
897
+ content?: string | undefined;
898
+ attributes?: Record<string, string> | undefined;
899
+ src?: string | undefined;
900
+ strategy?: "async" | "defer" | undefined;
901
+ }, {
902
+ content?: string | undefined;
903
+ attributes?: Record<string, string> | undefined;
904
+ src?: string | undefined;
905
+ strategy?: "async" | "defer" | undefined;
906
+ }>, "many">>;
907
+ vercel: z.ZodOptional<z.ZodBoolean>;
908
+ }, "strict", z.ZodTypeAny, {
909
+ posthog?: {
910
+ key: string;
911
+ host?: string | undefined;
912
+ } | undefined;
913
+ scripts?: {
914
+ content?: string | undefined;
915
+ attributes?: Record<string, string> | undefined;
916
+ src?: string | undefined;
917
+ strategy?: "async" | "defer" | undefined;
918
+ }[] | undefined;
919
+ vercel?: boolean | undefined;
920
+ }, {
921
+ posthog?: {
922
+ key: string;
923
+ host?: string | undefined;
924
+ } | undefined;
925
+ scripts?: {
926
+ content?: string | undefined;
927
+ attributes?: Record<string, string> | undefined;
928
+ src?: string | undefined;
929
+ strategy?: "async" | "defer" | undefined;
930
+ }[] | undefined;
931
+ vercel?: boolean | undefined;
932
+ }>>;
933
+ asyncapi: z.ZodDefault<z.ZodObject<{
934
+ enabled: z.ZodDefault<z.ZodBoolean>;
935
+ route: z.ZodDefault<z.ZodString>;
936
+ sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
937
+ /** Nav/section label for this source. */
938
+ label: z.ZodOptional<z.ZodString>;
939
+ /** Per-source route; defaults to the block's `route` (or a derived path). */
940
+ route: z.ZodOptional<z.ZodString>;
941
+ /** Local path or `http(s)` URL to the spec. */
942
+ spec: z.ZodString;
943
+ }, "strict", z.ZodTypeAny, {
944
+ spec: string;
945
+ label?: string | undefined;
946
+ route?: string | undefined;
947
+ }, {
948
+ spec: string;
949
+ label?: string | undefined;
950
+ route?: string | undefined;
951
+ }>, "many">>;
952
+ spec: z.ZodOptional<z.ZodString>;
953
+ theme: z.ZodOptional<z.ZodString>;
954
+ }, "strict", z.ZodTypeAny, {
955
+ sources: {
956
+ spec: string;
957
+ label?: string | undefined;
958
+ route?: string | undefined;
959
+ }[];
960
+ enabled: boolean;
961
+ route: string;
962
+ theme?: string | undefined;
963
+ spec?: string | undefined;
964
+ }, {
965
+ sources?: {
966
+ spec: string;
967
+ label?: string | undefined;
968
+ route?: string | undefined;
969
+ }[] | undefined;
970
+ enabled?: boolean | undefined;
971
+ route?: string | undefined;
972
+ theme?: string | undefined;
973
+ spec?: string | undefined;
974
+ }>>;
975
+ banner: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
976
+ /** Background color override (Mintlify compatibility). */
977
+ color: z.ZodOptional<z.ZodEffects<z.ZodObject<{
978
+ dark: z.ZodOptional<z.ZodString>;
979
+ light: z.ZodOptional<z.ZodString>;
980
+ }, "strict", z.ZodTypeAny, {
981
+ dark?: string | undefined;
982
+ light?: string | undefined;
983
+ }, {
984
+ dark?: string | undefined;
985
+ light?: string | undefined;
986
+ }>, {
987
+ dark?: string | undefined;
988
+ light?: string | undefined;
989
+ }, {
990
+ dark?: string | undefined;
991
+ light?: string | undefined;
992
+ }>>;
993
+ content: z.ZodString;
994
+ /** Show a dismiss button; the choice is remembered per visitor. */
995
+ dismissible: z.ZodDefault<z.ZodBoolean>;
996
+ /** Stable key for remembering dismissal; defaults to the content. */
997
+ id: z.ZodOptional<z.ZodString>;
998
+ link: z.ZodOptional<z.ZodObject<{
999
+ href: z.ZodString;
1000
+ text: z.ZodString;
1001
+ }, "strict", z.ZodTypeAny, {
1002
+ href: string;
1003
+ text: string;
1004
+ }, {
1005
+ href: string;
1006
+ text: string;
1007
+ }>>;
1008
+ /** Tone (Mintlify compatibility). */
1009
+ type: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
1010
+ }, "strict", z.ZodTypeAny, {
1011
+ content: string;
1012
+ dismissible: boolean;
1013
+ type?: "info" | "warning" | "critical" | undefined;
1014
+ id?: string | undefined;
1015
+ color?: {
1016
+ dark?: string | undefined;
1017
+ light?: string | undefined;
1018
+ } | undefined;
1019
+ link?: {
1020
+ href: string;
1021
+ text: string;
1022
+ } | undefined;
1023
+ }, {
1024
+ content: string;
1025
+ type?: "info" | "warning" | "critical" | undefined;
1026
+ id?: string | undefined;
1027
+ color?: {
1028
+ dark?: string | undefined;
1029
+ light?: string | undefined;
1030
+ } | undefined;
1031
+ dismissible?: boolean | undefined;
1032
+ link?: {
1033
+ href: string;
1034
+ text: string;
1035
+ } | undefined;
1036
+ }>]>>;
1037
+ content: z.ZodDefault<z.ZodObject<{
1038
+ defaultType: z.ZodDefault<z.ZodString>;
1039
+ exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1040
+ include: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1041
+ pages: z.ZodDefault<z.ZodString>;
1042
+ root: z.ZodDefault<z.ZodString>;
1043
+ /**
1044
+ * Pluggable content sources. When omitted, the top-level
1045
+ * `root`/`include`/`exclude` desugar to one implicit filesystem source, so
1046
+ * existing projects are unchanged.
1047
+ */
1048
+ sources: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1049
+ exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1050
+ include: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1051
+ /** Namespaces the source's routes under `/<prefix>/`. */
1052
+ prefix: z.ZodOptional<z.ZodString>;
1053
+ root: z.ZodDefault<z.ZodString>;
1054
+ type: z.ZodLiteral<"filesystem">;
1055
+ }, "strict", z.ZodTypeAny, {
1056
+ type: "filesystem";
1057
+ exclude: string[];
1058
+ include: string[];
1059
+ root: string;
1060
+ prefix?: string | undefined;
1061
+ }, {
1062
+ type: "filesystem";
1063
+ exclude?: string[] | undefined;
1064
+ include?: string[] | undefined;
1065
+ prefix?: string | undefined;
1066
+ root?: string | undefined;
1067
+ }>, z.ZodObject<{
1068
+ /** Explicit list of source-relative file paths to fetch from `url`. */
1069
+ files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1070
+ /** Enumerate a GitHub repo subtree via the git-trees API. */
1071
+ github: z.ZodOptional<z.ZodObject<{
1072
+ owner: z.ZodString;
1073
+ path: z.ZodDefault<z.ZodString>;
1074
+ ref: z.ZodDefault<z.ZodString>;
1075
+ repo: z.ZodString;
1076
+ }, "strict", z.ZodTypeAny, {
1077
+ path: string;
1078
+ owner: string;
1079
+ ref: string;
1080
+ repo: string;
1081
+ }, {
1082
+ owner: string;
1083
+ repo: string;
1084
+ path?: string | undefined;
1085
+ ref?: string | undefined;
1086
+ }>>;
1087
+ /** Glob patterns applied to enumerated refs. */
1088
+ include: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1089
+ /** Opt-in dev polling interval (seconds); omit to freeze for the session. */
1090
+ pollInterval: z.ZodOptional<z.ZodNumber>;
1091
+ /** Namespaces the source's routes under `/<prefix>/`. */
1092
+ prefix: z.ZodOptional<z.ZodString>;
1093
+ type: z.ZodLiteral<"mdx-remote">;
1094
+ /** Raw base URL, e.g. `https://raw.githubusercontent.com/acme/sdk/main/docs`. */
1095
+ url: z.ZodOptional<z.ZodString>;
1096
+ }, "strict", z.ZodTypeAny, {
1097
+ type: "mdx-remote";
1098
+ include: string[];
1099
+ url?: string | undefined;
1100
+ prefix?: string | undefined;
1101
+ files?: string[] | undefined;
1102
+ github?: {
1103
+ path: string;
1104
+ owner: string;
1105
+ ref: string;
1106
+ repo: string;
1107
+ } | undefined;
1108
+ pollInterval?: number | undefined;
1109
+ }, {
1110
+ type: "mdx-remote";
1111
+ url?: string | undefined;
1112
+ include?: string[] | undefined;
1113
+ prefix?: string | undefined;
1114
+ files?: string[] | undefined;
1115
+ github?: {
1116
+ owner: string;
1117
+ repo: string;
1118
+ path?: string | undefined;
1119
+ ref?: string | undefined;
1120
+ } | undefined;
1121
+ pollInterval?: number | undefined;
1122
+ }>, z.ZodObject<{
1123
+ /** Sanity API version (a date); default `2024-01-01`. */
1124
+ apiVersion: z.ZodOptional<z.ZodString>;
1125
+ dataset: z.ZodString;
1126
+ /** Field paths mapping a document onto Blume meta + body. */
1127
+ fields: z.ZodOptional<z.ZodObject<{
1128
+ body: z.ZodOptional<z.ZodString>;
1129
+ description: z.ZodOptional<z.ZodString>;
1130
+ lastModified: z.ZodOptional<z.ZodString>;
1131
+ slug: z.ZodOptional<z.ZodString>;
1132
+ title: z.ZodOptional<z.ZodString>;
1133
+ }, "strict", z.ZodTypeAny, {
1134
+ body?: string | undefined;
1135
+ title?: string | undefined;
1136
+ description?: string | undefined;
1137
+ lastModified?: string | undefined;
1138
+ slug?: string | undefined;
1139
+ }, {
1140
+ body?: string | undefined;
1141
+ title?: string | undefined;
1142
+ description?: string | undefined;
1143
+ lastModified?: string | undefined;
1144
+ slug?: string | undefined;
1145
+ }>>;
1146
+ /** Opt-in dev polling interval (seconds); omit to freeze for the session. */
1147
+ pollInterval: z.ZodOptional<z.ZodNumber>;
1148
+ prefix: z.ZodOptional<z.ZodString>;
1149
+ projectId: z.ZodString;
1150
+ /** GROQ query selecting the documents to import. */
1151
+ query: z.ZodString;
1152
+ type: z.ZodLiteral<"sanity">;
1153
+ }, "strip", z.ZodTypeAny, {
1154
+ type: "sanity";
1155
+ dataset: string;
1156
+ projectId: string;
1157
+ query: string;
1158
+ prefix?: string | undefined;
1159
+ pollInterval?: number | undefined;
1160
+ apiVersion?: string | undefined;
1161
+ fields?: {
1162
+ body?: string | undefined;
1163
+ title?: string | undefined;
1164
+ description?: string | undefined;
1165
+ lastModified?: string | undefined;
1166
+ slug?: string | undefined;
1167
+ } | undefined;
1168
+ }, {
1169
+ type: "sanity";
1170
+ dataset: string;
1171
+ projectId: string;
1172
+ query: string;
1173
+ prefix?: string | undefined;
1174
+ pollInterval?: number | undefined;
1175
+ apiVersion?: string | undefined;
1176
+ fields?: {
1177
+ body?: string | undefined;
1178
+ title?: string | undefined;
1179
+ description?: string | undefined;
1180
+ lastModified?: string | undefined;
1181
+ slug?: string | undefined;
1182
+ } | undefined;
1183
+ }>, z.ZodObject<{
1184
+ database: z.ZodString;
1185
+ /** Opt-in dev polling interval (seconds); omit to freeze for the session. */
1186
+ pollInterval: z.ZodOptional<z.ZodNumber>;
1187
+ prefix: z.ZodOptional<z.ZodString>;
1188
+ /** Notion property names mapped onto Blume meta. */
1189
+ properties: z.ZodOptional<z.ZodObject<{
1190
+ description: z.ZodOptional<z.ZodString>;
1191
+ order: z.ZodOptional<z.ZodString>;
1192
+ slug: z.ZodOptional<z.ZodString>;
1193
+ status: z.ZodOptional<z.ZodString>;
1194
+ title: z.ZodOptional<z.ZodString>;
1195
+ }, "strict", z.ZodTypeAny, {
1196
+ status?: string | undefined;
1197
+ title?: string | undefined;
1198
+ order?: string | undefined;
1199
+ description?: string | undefined;
1200
+ slug?: string | undefined;
1201
+ }, {
1202
+ status?: string | undefined;
1203
+ title?: string | undefined;
1204
+ order?: string | undefined;
1205
+ description?: string | undefined;
1206
+ slug?: string | undefined;
1207
+ }>>;
1208
+ /** Status value treated as published; others map to `draft`. Default `Published`. */
1209
+ publishedValue: z.ZodOptional<z.ZodString>;
1210
+ type: z.ZodLiteral<"notion">;
1211
+ }, "strip", z.ZodTypeAny, {
1212
+ type: "notion";
1213
+ database: string;
1214
+ prefix?: string | undefined;
1215
+ pollInterval?: number | undefined;
1216
+ properties?: {
1217
+ status?: string | undefined;
1218
+ title?: string | undefined;
1219
+ order?: string | undefined;
1220
+ description?: string | undefined;
1221
+ slug?: string | undefined;
1222
+ } | undefined;
1223
+ publishedValue?: string | undefined;
1224
+ }, {
1225
+ type: "notion";
1226
+ database: string;
1227
+ prefix?: string | undefined;
1228
+ pollInterval?: number | undefined;
1229
+ properties?: {
1230
+ status?: string | undefined;
1231
+ title?: string | undefined;
1232
+ order?: string | undefined;
1233
+ description?: string | undefined;
1234
+ slug?: string | undefined;
1235
+ } | undefined;
1236
+ publishedValue?: string | undefined;
1237
+ }>, z.ZodObject<{
1238
+ /** Absolute path of the `docs.json`/`mint.json`, watched for changes in dev. */
1239
+ configFile: z.ZodOptional<z.ZodString>;
1240
+ /** Patterns excluded from page discovery (Mintlify defaults are merged in). */
1241
+ exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1242
+ /** Glob patterns for Mintlify content files. */
1243
+ include: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1244
+ /** Namespaces the source's routes under `/<prefix>/`. */
1245
+ prefix: z.ZodOptional<z.ZodString>;
1246
+ /** Content root, absolute or relative to the project root (Mintlify: `.`). */
1247
+ root: z.ZodDefault<z.ZodString>;
1248
+ type: z.ZodLiteral<"mintlify">;
1249
+ /** `docs.json` variables, inlined into content (`{{name}}`) at scan time. */
1250
+ variables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1251
+ }, "strict", z.ZodTypeAny, {
1252
+ type: "mintlify";
1253
+ exclude: string[];
1254
+ include: string[];
1255
+ root: string;
1256
+ variables: Record<string, string>;
1257
+ prefix?: string | undefined;
1258
+ configFile?: string | undefined;
1259
+ }, {
1260
+ type: "mintlify";
1261
+ exclude?: string[] | undefined;
1262
+ include?: string[] | undefined;
1263
+ prefix?: string | undefined;
1264
+ root?: string | undefined;
1265
+ configFile?: string | undefined;
1266
+ variables?: Record<string, string> | undefined;
1267
+ }>, z.ZodObject<{
1268
+ source: z.ZodType<ContentSource, z.ZodTypeDef, ContentSource>;
1269
+ type: z.ZodLiteral<"custom">;
1270
+ }, "strip", z.ZodTypeAny, {
1271
+ type: "custom";
1272
+ source: ContentSource;
1273
+ }, {
1274
+ type: "custom";
1275
+ source: ContentSource;
1276
+ }>]>, "many">>;
1277
+ }, "strict", z.ZodTypeAny, {
1278
+ exclude: string[];
1279
+ pages: string;
1280
+ include: string[];
1281
+ root: string;
1282
+ defaultType: string;
1283
+ sources?: ({
1284
+ type: "filesystem";
1285
+ exclude: string[];
1286
+ include: string[];
1287
+ root: string;
1288
+ prefix?: string | undefined;
1289
+ } | {
1290
+ type: "mdx-remote";
1291
+ include: string[];
1292
+ url?: string | undefined;
1293
+ prefix?: string | undefined;
1294
+ files?: string[] | undefined;
1295
+ github?: {
1296
+ path: string;
1297
+ owner: string;
1298
+ ref: string;
1299
+ repo: string;
1300
+ } | undefined;
1301
+ pollInterval?: number | undefined;
1302
+ } | {
1303
+ type: "sanity";
1304
+ dataset: string;
1305
+ projectId: string;
1306
+ query: string;
1307
+ prefix?: string | undefined;
1308
+ pollInterval?: number | undefined;
1309
+ apiVersion?: string | undefined;
1310
+ fields?: {
1311
+ body?: string | undefined;
1312
+ title?: string | undefined;
1313
+ description?: string | undefined;
1314
+ lastModified?: string | undefined;
1315
+ slug?: string | undefined;
1316
+ } | undefined;
1317
+ } | {
1318
+ type: "notion";
1319
+ database: string;
1320
+ prefix?: string | undefined;
1321
+ pollInterval?: number | undefined;
1322
+ properties?: {
1323
+ status?: string | undefined;
1324
+ title?: string | undefined;
1325
+ order?: string | undefined;
1326
+ description?: string | undefined;
1327
+ slug?: string | undefined;
1328
+ } | undefined;
1329
+ publishedValue?: string | undefined;
1330
+ } | {
1331
+ type: "mintlify";
1332
+ exclude: string[];
1333
+ include: string[];
1334
+ root: string;
1335
+ variables: Record<string, string>;
1336
+ prefix?: string | undefined;
1337
+ configFile?: string | undefined;
1338
+ } | {
1339
+ type: "custom";
1340
+ source: ContentSource;
1341
+ })[] | undefined;
1342
+ }, {
1343
+ exclude?: string[] | undefined;
1344
+ pages?: string | undefined;
1345
+ include?: string[] | undefined;
1346
+ root?: string | undefined;
1347
+ defaultType?: string | undefined;
1348
+ sources?: ({
1349
+ type: "filesystem";
1350
+ exclude?: string[] | undefined;
1351
+ include?: string[] | undefined;
1352
+ prefix?: string | undefined;
1353
+ root?: string | undefined;
1354
+ } | {
1355
+ type: "mdx-remote";
1356
+ url?: string | undefined;
1357
+ include?: string[] | undefined;
1358
+ prefix?: string | undefined;
1359
+ files?: string[] | undefined;
1360
+ github?: {
1361
+ owner: string;
1362
+ repo: string;
1363
+ path?: string | undefined;
1364
+ ref?: string | undefined;
1365
+ } | undefined;
1366
+ pollInterval?: number | undefined;
1367
+ } | {
1368
+ type: "sanity";
1369
+ dataset: string;
1370
+ projectId: string;
1371
+ query: string;
1372
+ prefix?: string | undefined;
1373
+ pollInterval?: number | undefined;
1374
+ apiVersion?: string | undefined;
1375
+ fields?: {
1376
+ body?: string | undefined;
1377
+ title?: string | undefined;
1378
+ description?: string | undefined;
1379
+ lastModified?: string | undefined;
1380
+ slug?: string | undefined;
1381
+ } | undefined;
1382
+ } | {
1383
+ type: "notion";
1384
+ database: string;
1385
+ prefix?: string | undefined;
1386
+ pollInterval?: number | undefined;
1387
+ properties?: {
1388
+ status?: string | undefined;
1389
+ title?: string | undefined;
1390
+ order?: string | undefined;
1391
+ description?: string | undefined;
1392
+ slug?: string | undefined;
1393
+ } | undefined;
1394
+ publishedValue?: string | undefined;
1395
+ } | {
1396
+ type: "mintlify";
1397
+ exclude?: string[] | undefined;
1398
+ include?: string[] | undefined;
1399
+ prefix?: string | undefined;
1400
+ root?: string | undefined;
1401
+ configFile?: string | undefined;
1402
+ variables?: Record<string, string> | undefined;
1403
+ } | {
1404
+ type: "custom";
1405
+ source: ContentSource;
1406
+ })[] | undefined;
1407
+ }>>;
1408
+ contextual: z.ZodDefault<z.ZodObject<{
1409
+ display: z.ZodDefault<z.ZodEnum<["header", "toc"]>>;
1410
+ options: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
1411
+ description: z.ZodOptional<z.ZodString>;
1412
+ href: z.ZodOptional<z.ZodString>;
1413
+ icon: z.ZodOptional<z.ZodString>;
1414
+ title: z.ZodString;
1415
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1416
+ description: z.ZodOptional<z.ZodString>;
1417
+ href: z.ZodOptional<z.ZodString>;
1418
+ icon: z.ZodOptional<z.ZodString>;
1419
+ title: z.ZodString;
1420
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1421
+ description: z.ZodOptional<z.ZodString>;
1422
+ href: z.ZodOptional<z.ZodString>;
1423
+ icon: z.ZodOptional<z.ZodString>;
1424
+ title: z.ZodString;
1425
+ }, z.ZodTypeAny, "passthrough">>]>, "many">>;
1426
+ }, "strict", z.ZodTypeAny, {
1427
+ display: "toc" | "header";
1428
+ options: (string | z.objectOutputType<{
1429
+ description: z.ZodOptional<z.ZodString>;
1430
+ href: z.ZodOptional<z.ZodString>;
1431
+ icon: z.ZodOptional<z.ZodString>;
1432
+ title: z.ZodString;
1433
+ }, z.ZodTypeAny, "passthrough">)[];
1434
+ }, {
1435
+ display?: "toc" | "header" | undefined;
1436
+ options?: (string | z.objectInputType<{
1437
+ description: z.ZodOptional<z.ZodString>;
1438
+ href: z.ZodOptional<z.ZodString>;
1439
+ icon: z.ZodOptional<z.ZodString>;
1440
+ title: z.ZodString;
1441
+ }, z.ZodTypeAny, "passthrough">)[] | undefined;
1442
+ }>>;
1443
+ deployment: z.ZodDefault<z.ZodObject<{
1444
+ adapter: z.ZodDefault<z.ZodNullable<z.ZodEnum<["vercel", "node", "netlify", "cloudflare"]>>>;
1445
+ base: z.ZodOptional<z.ZodString>;
1446
+ output: z.ZodDefault<z.ZodEnum<["static", "server"]>>;
1447
+ site: z.ZodOptional<z.ZodString>;
1448
+ }, "strict", z.ZodTypeAny, {
1449
+ adapter: "vercel" | "node" | "netlify" | "cloudflare" | null;
1450
+ output: "static" | "server";
1451
+ base?: string | undefined;
1452
+ site?: string | undefined;
1453
+ }, {
1454
+ adapter?: "vercel" | "node" | "netlify" | "cloudflare" | null | undefined;
1455
+ base?: string | undefined;
1456
+ output?: "static" | "server" | undefined;
1457
+ site?: string | undefined;
1458
+ }>>;
1459
+ description: z.ZodOptional<z.ZodString>;
1460
+ export: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
1461
+ epub: z.ZodDefault<z.ZodBoolean>;
1462
+ pdf: z.ZodDefault<z.ZodBoolean>;
1463
+ }, "strict", z.ZodTypeAny, {
1464
+ epub: boolean;
1465
+ pdf: boolean;
1466
+ }, {
1467
+ epub?: boolean | undefined;
1468
+ pdf?: boolean | undefined;
1469
+ }>]>, {
1470
+ epub: boolean;
1471
+ pdf: boolean;
1472
+ }, boolean | {
1473
+ epub?: boolean | undefined;
1474
+ pdf?: boolean | undefined;
1475
+ }>>;
1476
+ favicon: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
1477
+ dark: z.ZodOptional<z.ZodString>;
1478
+ light: z.ZodOptional<z.ZodString>;
1479
+ }, "strict", z.ZodTypeAny, {
1480
+ dark?: string | undefined;
1481
+ light?: string | undefined;
1482
+ }, {
1483
+ dark?: string | undefined;
1484
+ light?: string | undefined;
1485
+ }>]>>;
1486
+ feedback: z.ZodDefault<z.ZodBoolean>;
1487
+ footer: z.ZodDefault<z.ZodObject<{
1488
+ links: z.ZodDefault<z.ZodArray<z.ZodObject<{
1489
+ header: z.ZodOptional<z.ZodString>;
1490
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
1491
+ href: z.ZodString;
1492
+ label: z.ZodString;
1493
+ }, "strict", z.ZodTypeAny, {
1494
+ label: string;
1495
+ href: string;
1496
+ }, {
1497
+ label: string;
1498
+ href: string;
1499
+ }>, "many">>;
1500
+ }, "strict", z.ZodTypeAny, {
1501
+ items: {
1502
+ label: string;
1503
+ href: string;
1504
+ }[];
1505
+ header?: string | undefined;
1506
+ }, {
1507
+ items?: {
1508
+ label: string;
1509
+ href: string;
1510
+ }[] | undefined;
1511
+ header?: string | undefined;
1512
+ }>, "many">>;
1513
+ socials: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1514
+ }, "strict", z.ZodTypeAny, {
1515
+ links: {
1516
+ items: {
1517
+ label: string;
1518
+ href: string;
1519
+ }[];
1520
+ header?: string | undefined;
1521
+ }[];
1522
+ socials: Record<string, string>;
1523
+ }, {
1524
+ links?: {
1525
+ items?: {
1526
+ label: string;
1527
+ href: string;
1528
+ }[] | undefined;
1529
+ header?: string | undefined;
1530
+ }[] | undefined;
1531
+ socials?: Record<string, string> | undefined;
1532
+ }>>;
1533
+ github: z.ZodOptional<z.ZodObject<{
1534
+ branch: z.ZodDefault<z.ZodString>;
1535
+ /** Path from the repo root to the project root (for monorepos). */
1536
+ dir: z.ZodOptional<z.ZodString>;
1537
+ owner: z.ZodString;
1538
+ repo: z.ZodString;
1539
+ }, "strict", z.ZodTypeAny, {
1540
+ owner: string;
1541
+ repo: string;
1542
+ branch: string;
1543
+ dir?: string | undefined;
1544
+ }, {
1545
+ owner: string;
1546
+ repo: string;
1547
+ dir?: string | undefined;
1548
+ branch?: string | undefined;
1549
+ }>>;
1550
+ i18n: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1551
+ defaultLocale: z.ZodDefault<z.ZodString>;
1552
+ /** Locale rendered for a missing translation; `null` disables fallback. */
1553
+ fallbackLocale: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1554
+ /** Drop the URL prefix for the default locale (`/`, `/fr/…`). Static-safe. */
1555
+ hideDefaultLocalePrefix: z.ZodDefault<z.ZodBoolean>;
1556
+ locales: z.ZodArray<z.ZodObject<{
1557
+ code: z.ZodString;
1558
+ /** Text direction; drives `<html dir>` and a future RTL pass. */
1559
+ dir: z.ZodDefault<z.ZodEnum<["ltr", "rtl"]>>;
1560
+ label: z.ZodString;
1561
+ }, "strict", z.ZodTypeAny, {
1562
+ code: string;
1563
+ label: string;
1564
+ dir: "ltr" | "rtl";
1565
+ }, {
1566
+ code: string;
1567
+ label: string;
1568
+ dir?: "ltr" | "rtl" | undefined;
1569
+ }>, "many">;
1570
+ /** `"dir"`: locale directories (`fr/page.mdx`). `"dot"`: filename suffix (`page.fr.mdx`). */
1571
+ parser: z.ZodDefault<z.ZodEnum<["dir", "dot"]>>;
1572
+ /** Per-locale UI string overrides: `{ fr: { search: { button: "…" } } }`. */
1573
+ ui: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>>;
1574
+ }, "strict", z.ZodTypeAny, {
1575
+ defaultLocale: string;
1576
+ hideDefaultLocalePrefix: boolean;
1577
+ locales: {
1578
+ code: string;
1579
+ label: string;
1580
+ dir: "ltr" | "rtl";
1581
+ }[];
1582
+ parser: "dir" | "dot";
1583
+ fallbackLocale?: string | null | undefined;
1584
+ ui?: Record<string, Record<string, Record<string, string>>> | undefined;
1585
+ }, {
1586
+ locales: {
1587
+ code: string;
1588
+ label: string;
1589
+ dir?: "ltr" | "rtl" | undefined;
1590
+ }[];
1591
+ defaultLocale?: string | undefined;
1592
+ fallbackLocale?: string | null | undefined;
1593
+ hideDefaultLocalePrefix?: boolean | undefined;
1594
+ parser?: "dir" | "dot" | undefined;
1595
+ ui?: Record<string, Record<string, Record<string, string>>> | undefined;
1596
+ }>, {
1597
+ defaultLocale: string;
1598
+ hideDefaultLocalePrefix: boolean;
1599
+ locales: {
1600
+ code: string;
1601
+ label: string;
1602
+ dir: "ltr" | "rtl";
1603
+ }[];
1604
+ parser: "dir" | "dot";
1605
+ fallbackLocale?: string | null | undefined;
1606
+ ui?: Record<string, Record<string, Record<string, string>>> | undefined;
1607
+ }, {
1608
+ locales: {
1609
+ code: string;
1610
+ label: string;
1611
+ dir?: "ltr" | "rtl" | undefined;
1612
+ }[];
1613
+ defaultLocale?: string | undefined;
1614
+ fallbackLocale?: string | null | undefined;
1615
+ hideDefaultLocalePrefix?: boolean | undefined;
1616
+ parser?: "dir" | "dot" | undefined;
1617
+ ui?: Record<string, Record<string, Record<string, string>>> | undefined;
1618
+ }>>;
1619
+ icons: z.ZodDefault<z.ZodObject<{
1620
+ library: z.ZodDefault<z.ZodEnum<["fontawesome", "lucide", "tabler"]>>;
1621
+ }, "strict", z.ZodTypeAny, {
1622
+ library: "fontawesome" | "lucide" | "tabler";
1623
+ }, {
1624
+ library?: "fontawesome" | "lucide" | "tabler" | undefined;
1625
+ }>>;
1626
+ lastModified: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
1627
+ type: z.ZodDefault<z.ZodEnum<["git", "frontmatter"]>>;
1628
+ }, "strict", z.ZodTypeAny, {
1629
+ type: "git" | "frontmatter";
1630
+ }, {
1631
+ type?: "git" | "frontmatter" | undefined;
1632
+ }>]>>;
1633
+ logo: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
1634
+ alt: z.ZodOptional<z.ZodString>;
1635
+ dark: z.ZodOptional<z.ZodString>;
1636
+ href: z.ZodOptional<z.ZodString>;
1637
+ light: z.ZodOptional<z.ZodString>;
1638
+ }, "strict", z.ZodTypeAny, {
1639
+ alt?: string | undefined;
1640
+ dark?: string | undefined;
1641
+ href?: string | undefined;
1642
+ light?: string | undefined;
1643
+ }, {
1644
+ alt?: string | undefined;
1645
+ dark?: string | undefined;
1646
+ href?: string | undefined;
1647
+ light?: string | undefined;
1648
+ }>]>>;
1649
+ markdown: z.ZodDefault<z.ZodObject<{
1650
+ /** Code-block rendering: language icons and line wrapping. */
1651
+ code: z.ZodDefault<z.ZodObject<{
1652
+ /**
1653
+ * Show a brand language icon in the code-block header (TypeScript, Python,
1654
+ * …). On by default; recognized languages only.
1655
+ */
1656
+ icons: z.ZodDefault<z.ZodBoolean>;
1657
+ /**
1658
+ * Syntax-highlight inline `` `code{:lang}` `` snippets. Off by default — most
1659
+ * inline code (flags, file names) reads better plain; opt a snippet in with
1660
+ * a trailing `{:lang}` marker.
1661
+ */
1662
+ inline: z.ZodDefault<z.ZodBoolean>;
1663
+ /**
1664
+ * Wrap long lines instead of scrolling horizontally. Off by default, so
1665
+ * code keeps its original line breaks and overflows into a scroll area.
1666
+ */
1667
+ wrap: z.ZodDefault<z.ZodBoolean>;
1668
+ }, "strict", z.ZodTypeAny, {
1669
+ icons: boolean;
1670
+ inline: boolean;
1671
+ wrap: boolean;
1672
+ }, {
1673
+ icons?: boolean | undefined;
1674
+ inline?: boolean | undefined;
1675
+ wrap?: boolean | undefined;
1676
+ }>>;
1677
+ codeBlocks: z.ZodDefault<z.ZodObject<{
1678
+ theme: z.ZodDefault<z.ZodObject<{
1679
+ dark: z.ZodDefault<z.ZodString>;
1680
+ light: z.ZodDefault<z.ZodString>;
1681
+ }, "strict", z.ZodTypeAny, {
1682
+ dark: string;
1683
+ light: string;
1684
+ }, {
1685
+ dark?: string | undefined;
1686
+ light?: string | undefined;
1687
+ }>>;
1688
+ }, "strict", z.ZodTypeAny, {
1689
+ theme: {
1690
+ dark: string;
1691
+ light: string;
1692
+ };
1693
+ }, {
1694
+ theme?: {
1695
+ dark?: string | undefined;
1696
+ light?: string | undefined;
1697
+ } | undefined;
1698
+ }>>;
1699
+ /**
1700
+ * Wrap each `##`–`######` heading in a link to its own anchor so readers can
1701
+ * click to copy, bookmark, or share a permalink to that section. On by
1702
+ * default; set to `false` to render plain headings.
1703
+ */
1704
+ headingAnchors: z.ZodDefault<z.ZodBoolean>;
1705
+ /**
1706
+ * Make content images click-to-zoom (open in a lightbox). On by default;
1707
+ * opt a single image out with `data-no-zoom`.
1708
+ */
1709
+ imageZoom: z.ZodDefault<z.ZodBoolean>;
1710
+ /**
1711
+ * Enable LaTeX math (`$…$` inline, `$$…$$` block) rendered with KaTeX.
1712
+ * Off by default since `$` is common in prose, shell, and code. MDX only.
1713
+ */
1714
+ math: z.ZodDefault<z.ZodBoolean>;
1715
+ }, "strict", z.ZodTypeAny, {
1716
+ code: {
1717
+ icons: boolean;
1718
+ inline: boolean;
1719
+ wrap: boolean;
1720
+ };
1721
+ codeBlocks: {
1722
+ theme: {
1723
+ dark: string;
1724
+ light: string;
1725
+ };
1726
+ };
1727
+ headingAnchors: boolean;
1728
+ imageZoom: boolean;
1729
+ math: boolean;
1730
+ }, {
1731
+ code?: {
1732
+ icons?: boolean | undefined;
1733
+ inline?: boolean | undefined;
1734
+ wrap?: boolean | undefined;
1735
+ } | undefined;
1736
+ codeBlocks?: {
1737
+ theme?: {
1738
+ dark?: string | undefined;
1739
+ light?: string | undefined;
1740
+ } | undefined;
1741
+ } | undefined;
1742
+ headingAnchors?: boolean | undefined;
1743
+ imageZoom?: boolean | undefined;
1744
+ math?: boolean | undefined;
1745
+ }>>;
1746
+ mcp: z.ZodDefault<z.ZodObject<{
1747
+ enabled: z.ZodDefault<z.ZodBoolean>;
1748
+ /** Optional system hint passed to connecting agents. */
1749
+ instructions: z.ZodOptional<z.ZodString>;
1750
+ /** Server name shown to clients; defaults to the site title. */
1751
+ name: z.ZodOptional<z.ZodString>;
1752
+ route: z.ZodDefault<z.ZodString>;
1753
+ }, "strict", z.ZodTypeAny, {
1754
+ enabled: boolean;
1755
+ route: string;
1756
+ instructions?: string | undefined;
1757
+ name?: string | undefined;
1758
+ }, {
1759
+ enabled?: boolean | undefined;
1760
+ instructions?: string | undefined;
1761
+ name?: string | undefined;
1762
+ route?: string | undefined;
1763
+ }>>;
1764
+ navbar: z.ZodDefault<z.ZodObject<{
1765
+ links: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
1766
+ href: z.ZodString;
1767
+ icon: z.ZodOptional<z.ZodString>;
1768
+ label: z.ZodOptional<z.ZodString>;
1769
+ type: z.ZodOptional<z.ZodEnum<["github", "discord"]>>;
1770
+ }, "strict", z.ZodTypeAny, {
1771
+ href: string;
1772
+ type?: "github" | "discord" | undefined;
1773
+ label?: string | undefined;
1774
+ icon?: string | undefined;
1775
+ }, {
1776
+ href: string;
1777
+ type?: "github" | "discord" | undefined;
1778
+ label?: string | undefined;
1779
+ icon?: string | undefined;
1780
+ }>, {
1781
+ href: string;
1782
+ type?: "github" | "discord" | undefined;
1783
+ label?: string | undefined;
1784
+ icon?: string | undefined;
1785
+ }, {
1786
+ href: string;
1787
+ type?: "github" | "discord" | undefined;
1788
+ label?: string | undefined;
1789
+ icon?: string | undefined;
1790
+ }>, "many">>;
1791
+ primary: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1792
+ href: z.ZodString;
1793
+ label: z.ZodOptional<z.ZodString>;
1794
+ type: z.ZodDefault<z.ZodEnum<["button", "github", "discord"]>>;
1795
+ }, "strict", z.ZodTypeAny, {
1796
+ type: "button" | "github" | "discord";
1797
+ href: string;
1798
+ label?: string | undefined;
1799
+ }, {
1800
+ href: string;
1801
+ type?: "button" | "github" | "discord" | undefined;
1802
+ label?: string | undefined;
1803
+ }>, {
1804
+ type: "button" | "github" | "discord";
1805
+ href: string;
1806
+ label?: string | undefined;
1807
+ }, {
1808
+ href: string;
1809
+ type?: "button" | "github" | "discord" | undefined;
1810
+ label?: string | undefined;
1811
+ }>>;
1812
+ }, "strict", z.ZodTypeAny, {
1813
+ links: {
1814
+ href: string;
1815
+ type?: "github" | "discord" | undefined;
1816
+ label?: string | undefined;
1817
+ icon?: string | undefined;
1818
+ }[];
1819
+ primary?: {
1820
+ type: "button" | "github" | "discord";
1821
+ href: string;
1822
+ label?: string | undefined;
1823
+ } | undefined;
1824
+ }, {
1825
+ links?: {
1826
+ href: string;
1827
+ type?: "github" | "discord" | undefined;
1828
+ label?: string | undefined;
1829
+ icon?: string | undefined;
1830
+ }[] | undefined;
1831
+ primary?: {
1832
+ href: string;
1833
+ type?: "button" | "github" | "discord" | undefined;
1834
+ label?: string | undefined;
1835
+ } | undefined;
1836
+ }>>;
1837
+ navigation: z.ZodDefault<z.ZodObject<{
1838
+ chromeVariants: z.ZodDefault<z.ZodArray<z.ZodObject<{
1839
+ banner: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
1840
+ /** Background color override (Mintlify compatibility). */
1841
+ color: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1842
+ dark: z.ZodOptional<z.ZodString>;
1843
+ light: z.ZodOptional<z.ZodString>;
1844
+ }, "strict", z.ZodTypeAny, {
1845
+ dark?: string | undefined;
1846
+ light?: string | undefined;
1847
+ }, {
1848
+ dark?: string | undefined;
1849
+ light?: string | undefined;
1850
+ }>, {
1851
+ dark?: string | undefined;
1852
+ light?: string | undefined;
1853
+ }, {
1854
+ dark?: string | undefined;
1855
+ light?: string | undefined;
1856
+ }>>;
1857
+ content: z.ZodString;
1858
+ /** Show a dismiss button; the choice is remembered per visitor. */
1859
+ dismissible: z.ZodDefault<z.ZodBoolean>;
1860
+ /** Stable key for remembering dismissal; defaults to the content. */
1861
+ id: z.ZodOptional<z.ZodString>;
1862
+ link: z.ZodOptional<z.ZodObject<{
1863
+ href: z.ZodString;
1864
+ text: z.ZodString;
1865
+ }, "strict", z.ZodTypeAny, {
1866
+ href: string;
1867
+ text: string;
1868
+ }, {
1869
+ href: string;
1870
+ text: string;
1871
+ }>>;
1872
+ /** Tone (Mintlify compatibility). */
1873
+ type: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
1874
+ }, "strict", z.ZodTypeAny, {
1875
+ content: string;
1876
+ dismissible: boolean;
1877
+ type?: "info" | "warning" | "critical" | undefined;
1878
+ id?: string | undefined;
1879
+ color?: {
1880
+ dark?: string | undefined;
1881
+ light?: string | undefined;
1882
+ } | undefined;
1883
+ link?: {
1884
+ href: string;
1885
+ text: string;
1886
+ } | undefined;
1887
+ }, {
1888
+ content: string;
1889
+ type?: "info" | "warning" | "critical" | undefined;
1890
+ id?: string | undefined;
1891
+ color?: {
1892
+ dark?: string | undefined;
1893
+ light?: string | undefined;
1894
+ } | undefined;
1895
+ dismissible?: boolean | undefined;
1896
+ link?: {
1897
+ href: string;
1898
+ text: string;
1899
+ } | undefined;
1900
+ }>]>>;
1901
+ footer: z.ZodOptional<z.ZodObject<{
1902
+ links: z.ZodDefault<z.ZodArray<z.ZodObject<{
1903
+ header: z.ZodOptional<z.ZodString>;
1904
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
1905
+ href: z.ZodString;
1906
+ label: z.ZodString;
1907
+ }, "strict", z.ZodTypeAny, {
1908
+ label: string;
1909
+ href: string;
1910
+ }, {
1911
+ label: string;
1912
+ href: string;
1913
+ }>, "many">>;
1914
+ }, "strict", z.ZodTypeAny, {
1915
+ items: {
1916
+ label: string;
1917
+ href: string;
1918
+ }[];
1919
+ header?: string | undefined;
1920
+ }, {
1921
+ items?: {
1922
+ label: string;
1923
+ href: string;
1924
+ }[] | undefined;
1925
+ header?: string | undefined;
1926
+ }>, "many">>;
1927
+ socials: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
1928
+ }, "strict", z.ZodTypeAny, {
1929
+ links: {
1930
+ items: {
1931
+ label: string;
1932
+ href: string;
1933
+ }[];
1934
+ header?: string | undefined;
1935
+ }[];
1936
+ socials: Record<string, string>;
1937
+ }, {
1938
+ links?: {
1939
+ items?: {
1940
+ label: string;
1941
+ href: string;
1942
+ }[] | undefined;
1943
+ header?: string | undefined;
1944
+ }[] | undefined;
1945
+ socials?: Record<string, string> | undefined;
1946
+ }>>;
1947
+ navbar: z.ZodOptional<z.ZodObject<{
1948
+ links: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
1949
+ href: z.ZodString;
1950
+ icon: z.ZodOptional<z.ZodString>;
1951
+ label: z.ZodOptional<z.ZodString>;
1952
+ type: z.ZodOptional<z.ZodEnum<["github", "discord"]>>;
1953
+ }, "strict", z.ZodTypeAny, {
1954
+ href: string;
1955
+ type?: "github" | "discord" | undefined;
1956
+ label?: string | undefined;
1957
+ icon?: string | undefined;
1958
+ }, {
1959
+ href: string;
1960
+ type?: "github" | "discord" | undefined;
1961
+ label?: string | undefined;
1962
+ icon?: string | undefined;
1963
+ }>, {
1964
+ href: string;
1965
+ type?: "github" | "discord" | undefined;
1966
+ label?: string | undefined;
1967
+ icon?: string | undefined;
1968
+ }, {
1969
+ href: string;
1970
+ type?: "github" | "discord" | undefined;
1971
+ label?: string | undefined;
1972
+ icon?: string | undefined;
1973
+ }>, "many">>;
1974
+ primary: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1975
+ href: z.ZodString;
1976
+ label: z.ZodOptional<z.ZodString>;
1977
+ type: z.ZodDefault<z.ZodEnum<["button", "github", "discord"]>>;
1978
+ }, "strict", z.ZodTypeAny, {
1979
+ type: "button" | "github" | "discord";
1980
+ href: string;
1981
+ label?: string | undefined;
1982
+ }, {
1983
+ href: string;
1984
+ type?: "button" | "github" | "discord" | undefined;
1985
+ label?: string | undefined;
1986
+ }>, {
1987
+ type: "button" | "github" | "discord";
1988
+ href: string;
1989
+ label?: string | undefined;
1990
+ }, {
1991
+ href: string;
1992
+ type?: "button" | "github" | "discord" | undefined;
1993
+ label?: string | undefined;
1994
+ }>>;
1995
+ }, "strict", z.ZodTypeAny, {
1996
+ links: {
1997
+ href: string;
1998
+ type?: "github" | "discord" | undefined;
1999
+ label?: string | undefined;
2000
+ icon?: string | undefined;
2001
+ }[];
2002
+ primary?: {
2003
+ type: "button" | "github" | "discord";
2004
+ href: string;
2005
+ label?: string | undefined;
2006
+ } | undefined;
2007
+ }, {
2008
+ links?: {
2009
+ href: string;
2010
+ type?: "github" | "discord" | undefined;
2011
+ label?: string | undefined;
2012
+ icon?: string | undefined;
2013
+ }[] | undefined;
2014
+ primary?: {
2015
+ href: string;
2016
+ type?: "button" | "github" | "discord" | undefined;
2017
+ label?: string | undefined;
2018
+ } | undefined;
2019
+ }>>;
2020
+ path: z.ZodString;
2021
+ }, "strict", z.ZodTypeAny, {
2022
+ path: string;
2023
+ banner?: string | {
2024
+ content: string;
2025
+ dismissible: boolean;
2026
+ type?: "info" | "warning" | "critical" | undefined;
2027
+ id?: string | undefined;
2028
+ color?: {
2029
+ dark?: string | undefined;
2030
+ light?: string | undefined;
2031
+ } | undefined;
2032
+ link?: {
2033
+ href: string;
2034
+ text: string;
2035
+ } | undefined;
2036
+ } | undefined;
2037
+ footer?: {
2038
+ links: {
2039
+ items: {
2040
+ label: string;
2041
+ href: string;
2042
+ }[];
2043
+ header?: string | undefined;
2044
+ }[];
2045
+ socials: Record<string, string>;
2046
+ } | undefined;
2047
+ navbar?: {
2048
+ links: {
2049
+ href: string;
2050
+ type?: "github" | "discord" | undefined;
2051
+ label?: string | undefined;
2052
+ icon?: string | undefined;
2053
+ }[];
2054
+ primary?: {
2055
+ type: "button" | "github" | "discord";
2056
+ href: string;
2057
+ label?: string | undefined;
2058
+ } | undefined;
2059
+ } | undefined;
2060
+ }, {
2061
+ path: string;
2062
+ banner?: string | {
2063
+ content: string;
2064
+ type?: "info" | "warning" | "critical" | undefined;
2065
+ id?: string | undefined;
2066
+ color?: {
2067
+ dark?: string | undefined;
2068
+ light?: string | undefined;
2069
+ } | undefined;
2070
+ dismissible?: boolean | undefined;
2071
+ link?: {
2072
+ href: string;
2073
+ text: string;
2074
+ } | undefined;
2075
+ } | undefined;
2076
+ footer?: {
2077
+ links?: {
2078
+ items?: {
2079
+ label: string;
2080
+ href: string;
2081
+ }[] | undefined;
2082
+ header?: string | undefined;
2083
+ }[] | undefined;
2084
+ socials?: Record<string, string> | undefined;
2085
+ } | undefined;
2086
+ navbar?: {
2087
+ links?: {
2088
+ href: string;
2089
+ type?: "github" | "discord" | undefined;
2090
+ label?: string | undefined;
2091
+ icon?: string | undefined;
2092
+ }[] | undefined;
2093
+ primary?: {
2094
+ href: string;
2095
+ type?: "button" | "github" | "discord" | undefined;
2096
+ label?: string | undefined;
2097
+ } | undefined;
2098
+ } | undefined;
2099
+ }>, "many">>;
2100
+ /** Show a GitHub repo link in the header (requires `github` configured). */
2101
+ repo: z.ZodDefault<z.ZodBoolean>;
2102
+ selectors: z.ZodDefault<z.ZodArray<z.ZodObject<{
2103
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
2104
+ description: z.ZodOptional<z.ZodString>;
2105
+ icon: z.ZodOptional<z.ZodString>;
2106
+ label: z.ZodString;
2107
+ path: z.ZodString;
2108
+ tag: z.ZodOptional<z.ZodString>;
2109
+ }, "strict", z.ZodTypeAny, {
2110
+ path: string;
2111
+ label: string;
2112
+ icon?: string | undefined;
2113
+ description?: string | undefined;
2114
+ tag?: string | undefined;
2115
+ }, {
2116
+ path: string;
2117
+ label: string;
2118
+ icon?: string | undefined;
2119
+ description?: string | undefined;
2120
+ tag?: string | undefined;
2121
+ }>, "many">>;
2122
+ kind: z.ZodEnum<["dropdown", "language", "product", "version"]>;
2123
+ label: z.ZodString;
2124
+ }, "strict", z.ZodTypeAny, {
2125
+ label: string;
2126
+ items: {
2127
+ path: string;
2128
+ label: string;
2129
+ icon?: string | undefined;
2130
+ description?: string | undefined;
2131
+ tag?: string | undefined;
2132
+ }[];
2133
+ kind: "version" | "dropdown" | "language" | "product";
2134
+ }, {
2135
+ label: string;
2136
+ kind: "version" | "dropdown" | "language" | "product";
2137
+ items?: {
2138
+ path: string;
2139
+ label: string;
2140
+ icon?: string | undefined;
2141
+ description?: string | undefined;
2142
+ tag?: string | undefined;
2143
+ }[] | undefined;
2144
+ }>, "many">>;
2145
+ /** Explicit sidebar override; when omitted the sidebar is generated. */
2146
+ sidebar: z.ZodOptional<z.ZodArray<z.ZodType<SidebarItemConfig, z.ZodTypeDef, SidebarItemConfig>, "many">>;
2147
+ sidebarVariants: z.ZodDefault<z.ZodArray<z.ZodObject<{
2148
+ items: z.ZodDefault<z.ZodArray<z.ZodType<SidebarItemConfig, z.ZodTypeDef, SidebarItemConfig>, "many">>;
2149
+ path: z.ZodString;
2150
+ }, "strict", z.ZodTypeAny, {
2151
+ path: string;
2152
+ items: SidebarItemConfig[];
2153
+ }, {
2154
+ path: string;
2155
+ items?: SidebarItemConfig[] | undefined;
2156
+ }>, "many">>;
2157
+ tabs: z.ZodOptional<z.ZodArray<z.ZodObject<{
2158
+ icon: z.ZodOptional<z.ZodString>;
2159
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
2160
+ description: z.ZodOptional<z.ZodString>;
2161
+ icon: z.ZodOptional<z.ZodString>;
2162
+ label: z.ZodString;
2163
+ path: z.ZodString;
2164
+ tag: z.ZodOptional<z.ZodString>;
2165
+ }, "strict", z.ZodTypeAny, {
2166
+ path: string;
2167
+ label: string;
2168
+ icon?: string | undefined;
2169
+ description?: string | undefined;
2170
+ tag?: string | undefined;
2171
+ }, {
2172
+ path: string;
2173
+ label: string;
2174
+ icon?: string | undefined;
2175
+ description?: string | undefined;
2176
+ tag?: string | undefined;
2177
+ }>, "many">>;
2178
+ label: z.ZodString;
2179
+ path: z.ZodString;
2180
+ }, "strict", z.ZodTypeAny, {
2181
+ path: string;
2182
+ label: string;
2183
+ icon?: string | undefined;
2184
+ items?: {
2185
+ path: string;
2186
+ label: string;
2187
+ icon?: string | undefined;
2188
+ description?: string | undefined;
2189
+ tag?: string | undefined;
2190
+ }[] | undefined;
2191
+ }, {
2192
+ path: string;
2193
+ label: string;
2194
+ icon?: string | undefined;
2195
+ items?: {
2196
+ path: string;
2197
+ label: string;
2198
+ icon?: string | undefined;
2199
+ description?: string | undefined;
2200
+ tag?: string | undefined;
2201
+ }[] | undefined;
2202
+ }>, "many">>;
2203
+ }, "strict", z.ZodTypeAny, {
2204
+ repo: boolean;
2205
+ chromeVariants: {
2206
+ path: string;
2207
+ banner?: string | {
2208
+ content: string;
2209
+ dismissible: boolean;
2210
+ type?: "info" | "warning" | "critical" | undefined;
2211
+ id?: string | undefined;
2212
+ color?: {
2213
+ dark?: string | undefined;
2214
+ light?: string | undefined;
2215
+ } | undefined;
2216
+ link?: {
2217
+ href: string;
2218
+ text: string;
2219
+ } | undefined;
2220
+ } | undefined;
2221
+ footer?: {
2222
+ links: {
2223
+ items: {
2224
+ label: string;
2225
+ href: string;
2226
+ }[];
2227
+ header?: string | undefined;
2228
+ }[];
2229
+ socials: Record<string, string>;
2230
+ } | undefined;
2231
+ navbar?: {
2232
+ links: {
2233
+ href: string;
2234
+ type?: "github" | "discord" | undefined;
2235
+ label?: string | undefined;
2236
+ icon?: string | undefined;
2237
+ }[];
2238
+ primary?: {
2239
+ type: "button" | "github" | "discord";
2240
+ href: string;
2241
+ label?: string | undefined;
2242
+ } | undefined;
2243
+ } | undefined;
2244
+ }[];
2245
+ selectors: {
2246
+ label: string;
2247
+ items: {
2248
+ path: string;
2249
+ label: string;
2250
+ icon?: string | undefined;
2251
+ description?: string | undefined;
2252
+ tag?: string | undefined;
2253
+ }[];
2254
+ kind: "version" | "dropdown" | "language" | "product";
2255
+ }[];
2256
+ sidebarVariants: {
2257
+ path: string;
2258
+ items: SidebarItemConfig[];
2259
+ }[];
2260
+ sidebar?: SidebarItemConfig[] | undefined;
2261
+ tabs?: {
2262
+ path: string;
2263
+ label: string;
2264
+ icon?: string | undefined;
2265
+ items?: {
2266
+ path: string;
2267
+ label: string;
2268
+ icon?: string | undefined;
2269
+ description?: string | undefined;
2270
+ tag?: string | undefined;
2271
+ }[] | undefined;
2272
+ }[] | undefined;
2273
+ }, {
2274
+ sidebar?: SidebarItemConfig[] | undefined;
2275
+ repo?: boolean | undefined;
2276
+ chromeVariants?: {
2277
+ path: string;
2278
+ banner?: string | {
2279
+ content: string;
2280
+ type?: "info" | "warning" | "critical" | undefined;
2281
+ id?: string | undefined;
2282
+ color?: {
2283
+ dark?: string | undefined;
2284
+ light?: string | undefined;
2285
+ } | undefined;
2286
+ dismissible?: boolean | undefined;
2287
+ link?: {
2288
+ href: string;
2289
+ text: string;
2290
+ } | undefined;
2291
+ } | undefined;
2292
+ footer?: {
2293
+ links?: {
2294
+ items?: {
2295
+ label: string;
2296
+ href: string;
2297
+ }[] | undefined;
2298
+ header?: string | undefined;
2299
+ }[] | undefined;
2300
+ socials?: Record<string, string> | undefined;
2301
+ } | undefined;
2302
+ navbar?: {
2303
+ links?: {
2304
+ href: string;
2305
+ type?: "github" | "discord" | undefined;
2306
+ label?: string | undefined;
2307
+ icon?: string | undefined;
2308
+ }[] | undefined;
2309
+ primary?: {
2310
+ href: string;
2311
+ type?: "button" | "github" | "discord" | undefined;
2312
+ label?: string | undefined;
2313
+ } | undefined;
2314
+ } | undefined;
2315
+ }[] | undefined;
2316
+ selectors?: {
2317
+ label: string;
2318
+ kind: "version" | "dropdown" | "language" | "product";
2319
+ items?: {
2320
+ path: string;
2321
+ label: string;
2322
+ icon?: string | undefined;
2323
+ description?: string | undefined;
2324
+ tag?: string | undefined;
2325
+ }[] | undefined;
2326
+ }[] | undefined;
2327
+ sidebarVariants?: {
2328
+ path: string;
2329
+ items?: SidebarItemConfig[] | undefined;
2330
+ }[] | undefined;
2331
+ tabs?: {
2332
+ path: string;
2333
+ label: string;
2334
+ icon?: string | undefined;
2335
+ items?: {
2336
+ path: string;
2337
+ label: string;
2338
+ icon?: string | undefined;
2339
+ description?: string | undefined;
2340
+ tag?: string | undefined;
2341
+ }[] | undefined;
2342
+ }[] | undefined;
2343
+ }>>;
2344
+ openapi: z.ZodDefault<z.ZodObject<{
2345
+ enabled: z.ZodDefault<z.ZodBoolean>;
2346
+ /** Where the reference mounts. */
2347
+ route: z.ZodDefault<z.ZodString>;
2348
+ /** One or more specs; each renders on its own route by default. */
2349
+ sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
2350
+ /** Nav/section label for this source. */
2351
+ label: z.ZodOptional<z.ZodString>;
2352
+ /** Per-source route; defaults to the block's `route` (or a derived path). */
2353
+ route: z.ZodOptional<z.ZodString>;
2354
+ /** Local path or `http(s)` URL to the spec. */
2355
+ spec: z.ZodString;
2356
+ }, "strict", z.ZodTypeAny, {
2357
+ spec: string;
2358
+ label?: string | undefined;
2359
+ route?: string | undefined;
2360
+ }, {
2361
+ spec: string;
2362
+ label?: string | undefined;
2363
+ route?: string | undefined;
2364
+ }>, "many">>;
2365
+ /** Shorthand for a single source: `sources: [{ spec }]`. */
2366
+ spec: z.ZodOptional<z.ZodString>;
2367
+ /** Scalar theme name; defaults to a Blume-derived accent override. */
2368
+ theme: z.ZodOptional<z.ZodString>;
2369
+ }, "strict", z.ZodTypeAny, {
2370
+ sources: {
2371
+ spec: string;
2372
+ label?: string | undefined;
2373
+ route?: string | undefined;
2374
+ }[];
2375
+ enabled: boolean;
2376
+ route: string;
2377
+ theme?: string | undefined;
2378
+ spec?: string | undefined;
2379
+ }, {
2380
+ sources?: {
2381
+ spec: string;
2382
+ label?: string | undefined;
2383
+ route?: string | undefined;
2384
+ }[] | undefined;
2385
+ enabled?: boolean | undefined;
2386
+ route?: string | undefined;
2387
+ theme?: string | undefined;
2388
+ spec?: string | undefined;
2389
+ }>>;
2390
+ redirects: z.ZodDefault<z.ZodArray<z.ZodObject<{
2391
+ from: z.ZodString;
2392
+ status: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<301>, z.ZodLiteral<302>, z.ZodLiteral<307>, z.ZodLiteral<308>]>>;
2393
+ to: z.ZodString;
2394
+ }, "strict", z.ZodTypeAny, {
2395
+ status: 301 | 302 | 307 | 308;
2396
+ from: string;
2397
+ to: string;
2398
+ }, {
2399
+ from: string;
2400
+ to: string;
2401
+ status?: 301 | 302 | 307 | 308 | undefined;
2402
+ }>, "many">>;
2403
+ search: z.ZodDefault<z.ZodEffects<z.ZodObject<{
2404
+ algolia: z.ZodOptional<z.ZodObject<{
2405
+ appId: z.ZodString;
2406
+ indexName: z.ZodString;
2407
+ searchApiKey: z.ZodString;
2408
+ }, "strict", z.ZodTypeAny, {
2409
+ appId: string;
2410
+ indexName: string;
2411
+ searchApiKey: string;
2412
+ }, {
2413
+ appId: string;
2414
+ indexName: string;
2415
+ searchApiKey: string;
2416
+ }>>;
2417
+ indexing: z.ZodDefault<z.ZodObject<{
2418
+ includeHiddenPages: z.ZodDefault<z.ZodBoolean>;
2419
+ }, "strict", z.ZodTypeAny, {
2420
+ includeHiddenPages: boolean;
2421
+ }, {
2422
+ includeHiddenPages?: boolean | undefined;
2423
+ }>>;
2424
+ mixedbread: z.ZodOptional<z.ZodObject<{
2425
+ storeId: z.ZodString;
2426
+ }, "strict", z.ZodTypeAny, {
2427
+ storeId: string;
2428
+ }, {
2429
+ storeId: string;
2430
+ }>>;
2431
+ oramaCloud: z.ZodOptional<z.ZodObject<{
2432
+ apiKey: z.ZodString;
2433
+ endpoint: z.ZodString;
2434
+ /** Index id used by the build-time sync (with `ORAMA_PRIVATE_API_KEY`). */
2435
+ indexId: z.ZodOptional<z.ZodString>;
2436
+ }, "strict", z.ZodTypeAny, {
2437
+ apiKey: string;
2438
+ endpoint: string;
2439
+ indexId?: string | undefined;
2440
+ }, {
2441
+ apiKey: string;
2442
+ endpoint: string;
2443
+ indexId?: string | undefined;
2444
+ }>>;
2445
+ prompt: z.ZodOptional<z.ZodString>;
2446
+ provider: z.ZodDefault<z.ZodEnum<["orama", "pagefind", "flexsearch", "algolia", "orama-cloud", "typesense", "mixedbread", "none"]>>;
2447
+ typesense: z.ZodOptional<z.ZodObject<{
2448
+ collection: z.ZodString;
2449
+ host: z.ZodString;
2450
+ port: z.ZodOptional<z.ZodNumber>;
2451
+ protocol: z.ZodOptional<z.ZodEnum<["http", "https"]>>;
2452
+ searchApiKey: z.ZodString;
2453
+ }, "strict", z.ZodTypeAny, {
2454
+ searchApiKey: string;
2455
+ collection: string;
2456
+ host: string;
2457
+ port?: number | undefined;
2458
+ protocol?: "http" | "https" | undefined;
2459
+ }, {
2460
+ searchApiKey: string;
2461
+ collection: string;
2462
+ host: string;
2463
+ port?: number | undefined;
2464
+ protocol?: "http" | "https" | undefined;
2465
+ }>>;
2466
+ }, "strict", z.ZodTypeAny, {
2467
+ indexing: {
2468
+ includeHiddenPages: boolean;
2469
+ };
2470
+ provider: "none" | "orama" | "pagefind" | "flexsearch" | "algolia" | "orama-cloud" | "typesense" | "mixedbread";
2471
+ algolia?: {
2472
+ appId: string;
2473
+ indexName: string;
2474
+ searchApiKey: string;
2475
+ } | undefined;
2476
+ typesense?: {
2477
+ searchApiKey: string;
2478
+ collection: string;
2479
+ host: string;
2480
+ port?: number | undefined;
2481
+ protocol?: "http" | "https" | undefined;
2482
+ } | undefined;
2483
+ mixedbread?: {
2484
+ storeId: string;
2485
+ } | undefined;
2486
+ oramaCloud?: {
2487
+ apiKey: string;
2488
+ endpoint: string;
2489
+ indexId?: string | undefined;
2490
+ } | undefined;
2491
+ prompt?: string | undefined;
2492
+ }, {
2493
+ algolia?: {
2494
+ appId: string;
2495
+ indexName: string;
2496
+ searchApiKey: string;
2497
+ } | undefined;
2498
+ typesense?: {
2499
+ searchApiKey: string;
2500
+ collection: string;
2501
+ host: string;
2502
+ port?: number | undefined;
2503
+ protocol?: "http" | "https" | undefined;
2504
+ } | undefined;
2505
+ mixedbread?: {
2506
+ storeId: string;
2507
+ } | undefined;
2508
+ oramaCloud?: {
2509
+ apiKey: string;
2510
+ endpoint: string;
2511
+ indexId?: string | undefined;
2512
+ } | undefined;
2513
+ indexing?: {
2514
+ includeHiddenPages?: boolean | undefined;
2515
+ } | undefined;
2516
+ prompt?: string | undefined;
2517
+ provider?: "none" | "orama" | "pagefind" | "flexsearch" | "algolia" | "orama-cloud" | "typesense" | "mixedbread" | undefined;
2518
+ }>, {
2519
+ indexing: {
2520
+ includeHiddenPages: boolean;
2521
+ };
2522
+ provider: "none" | "orama" | "pagefind" | "flexsearch" | "algolia" | "orama-cloud" | "typesense" | "mixedbread";
2523
+ algolia?: {
2524
+ appId: string;
2525
+ indexName: string;
2526
+ searchApiKey: string;
2527
+ } | undefined;
2528
+ typesense?: {
2529
+ searchApiKey: string;
2530
+ collection: string;
2531
+ host: string;
2532
+ port?: number | undefined;
2533
+ protocol?: "http" | "https" | undefined;
2534
+ } | undefined;
2535
+ mixedbread?: {
2536
+ storeId: string;
2537
+ } | undefined;
2538
+ oramaCloud?: {
2539
+ apiKey: string;
2540
+ endpoint: string;
2541
+ indexId?: string | undefined;
2542
+ } | undefined;
2543
+ prompt?: string | undefined;
2544
+ }, {
2545
+ algolia?: {
2546
+ appId: string;
2547
+ indexName: string;
2548
+ searchApiKey: string;
2549
+ } | undefined;
2550
+ typesense?: {
2551
+ searchApiKey: string;
2552
+ collection: string;
2553
+ host: string;
2554
+ port?: number | undefined;
2555
+ protocol?: "http" | "https" | undefined;
2556
+ } | undefined;
2557
+ mixedbread?: {
2558
+ storeId: string;
2559
+ } | undefined;
2560
+ oramaCloud?: {
2561
+ apiKey: string;
2562
+ endpoint: string;
2563
+ indexId?: string | undefined;
2564
+ } | undefined;
2565
+ indexing?: {
2566
+ includeHiddenPages?: boolean | undefined;
2567
+ } | undefined;
2568
+ prompt?: string | undefined;
2569
+ provider?: "none" | "orama" | "pagefind" | "flexsearch" | "algolia" | "orama-cloud" | "typesense" | "mixedbread" | undefined;
2570
+ }>>;
2571
+ seo: z.ZodDefault<z.ZodObject<{
2572
+ metatags: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
2573
+ og: z.ZodDefault<z.ZodObject<{
2574
+ /**
2575
+ * Generate a per-page Open Graph image. Defaults to on once a deployment
2576
+ * site URL is known (set or auto-detected) and off otherwise, since
2577
+ * `og:image` must be absolute to be useful to crawlers — resolved in
2578
+ * `loadConfig`. An explicit value here always wins.
2579
+ */
2580
+ enabled: z.ZodOptional<z.ZodBoolean>;
2581
+ }, "strict", z.ZodTypeAny, {
2582
+ enabled?: boolean | undefined;
2583
+ }, {
2584
+ enabled?: boolean | undefined;
2585
+ }>>;
2586
+ /** Generate robots.txt (with a Sitemap reference when available). */
2587
+ robots: z.ZodDefault<z.ZodBoolean>;
2588
+ rss: z.ZodDefault<z.ZodObject<{
2589
+ enabled: z.ZodDefault<z.ZodBoolean>;
2590
+ /** Max items per feed, newest first. */
2591
+ limit: z.ZodDefault<z.ZodNumber>;
2592
+ /** Content types that each get a feed at `/<type>/rss.xml`. */
2593
+ types: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2594
+ }, "strict", z.ZodTypeAny, {
2595
+ enabled: boolean;
2596
+ limit: number;
2597
+ types: string[];
2598
+ }, {
2599
+ enabled?: boolean | undefined;
2600
+ limit?: number | undefined;
2601
+ types?: string[] | undefined;
2602
+ }>>;
2603
+ /** Generate sitemap.xml (requires deployment.site). */
2604
+ sitemap: z.ZodDefault<z.ZodBoolean>;
2605
+ /** Emit schema.org JSON-LD in each page's <head>. */
2606
+ structuredData: z.ZodDefault<z.ZodBoolean>;
2607
+ }, "strict", z.ZodTypeAny, {
2608
+ rss: {
2609
+ enabled: boolean;
2610
+ limit: number;
2611
+ types: string[];
2612
+ };
2613
+ metatags: Record<string, string>;
2614
+ og: {
2615
+ enabled?: boolean | undefined;
2616
+ };
2617
+ robots: boolean;
2618
+ sitemap: boolean;
2619
+ structuredData: boolean;
2620
+ }, {
2621
+ rss?: {
2622
+ enabled?: boolean | undefined;
2623
+ limit?: number | undefined;
2624
+ types?: string[] | undefined;
2625
+ } | undefined;
2626
+ metatags?: Record<string, string> | undefined;
2627
+ og?: {
2628
+ enabled?: boolean | undefined;
2629
+ } | undefined;
2630
+ robots?: boolean | undefined;
2631
+ sitemap?: boolean | undefined;
2632
+ structuredData?: boolean | undefined;
2633
+ }>>;
2634
+ styling: z.ZodDefault<z.ZodObject<{
2635
+ eyebrows: z.ZodDefault<z.ZodEnum<["breadcrumbs", "section"]>>;
2636
+ }, "strict", z.ZodTypeAny, {
2637
+ eyebrows: "breadcrumbs" | "section";
2638
+ }, {
2639
+ eyebrows?: "breadcrumbs" | "section" | undefined;
2640
+ }>>;
2641
+ theme: z.ZodDefault<z.ZodObject<{
2642
+ accent: z.ZodDefault<z.ZodString>;
2643
+ accentDark: z.ZodOptional<z.ZodString>;
2644
+ action: z.ZodOptional<z.ZodString>;
2645
+ background: z.ZodOptional<z.ZodString>;
2646
+ backgroundDark: z.ZodOptional<z.ZodString>;
2647
+ backgroundDecoration: z.ZodOptional<z.ZodEnum<["gradient", "grid", "windows"]>>;
2648
+ backgroundImage: z.ZodOptional<z.ZodString>;
2649
+ backgroundImageDark: z.ZodOptional<z.ZodString>;
2650
+ fonts: z.ZodDefault<z.ZodObject<{
2651
+ body: z.ZodDefault<z.ZodEffects<z.ZodString, "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans", string>>;
2652
+ display: z.ZodDefault<z.ZodEffects<z.ZodString, "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans", string>>;
2653
+ mono: z.ZodDefault<z.ZodEffects<z.ZodString, "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans", string>>;
2654
+ }, "strict", z.ZodTypeAny, {
2655
+ mono: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
2656
+ display: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
2657
+ body: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
2658
+ }, {
2659
+ mono?: string | undefined;
2660
+ display?: string | undefined;
2661
+ body?: string | undefined;
2662
+ }>>;
2663
+ layout: z.ZodDefault<z.ZodEnum<["sidebar"]>>;
2664
+ mode: z.ZodDefault<z.ZodEnum<["system", "light", "dark"]>>;
2665
+ radius: z.ZodDefault<z.ZodEnum<["none", "sm", "md", "lg"]>>;
2666
+ strict: z.ZodDefault<z.ZodBoolean>;
2667
+ }, "strict", z.ZodTypeAny, {
2668
+ strict: boolean;
2669
+ mode: "dark" | "light" | "system";
2670
+ accent: string;
2671
+ fonts: {
2672
+ mono: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
2673
+ display: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
2674
+ body: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
2675
+ };
2676
+ layout: "sidebar";
2677
+ radius: "md" | "none" | "sm" | "lg";
2678
+ accentDark?: string | undefined;
2679
+ action?: string | undefined;
2680
+ background?: string | undefined;
2681
+ backgroundDark?: string | undefined;
2682
+ backgroundDecoration?: "gradient" | "grid" | "windows" | undefined;
2683
+ backgroundImage?: string | undefined;
2684
+ backgroundImageDark?: string | undefined;
2685
+ }, {
2686
+ strict?: boolean | undefined;
2687
+ mode?: "dark" | "light" | "system" | undefined;
2688
+ accent?: string | undefined;
2689
+ accentDark?: string | undefined;
2690
+ action?: string | undefined;
2691
+ background?: string | undefined;
2692
+ backgroundDark?: string | undefined;
2693
+ backgroundDecoration?: "gradient" | "grid" | "windows" | undefined;
2694
+ backgroundImage?: string | undefined;
2695
+ backgroundImageDark?: string | undefined;
2696
+ fonts?: {
2697
+ mono?: string | undefined;
2698
+ display?: string | undefined;
2699
+ body?: string | undefined;
2700
+ } | undefined;
2701
+ layout?: "sidebar" | undefined;
2702
+ radius?: "md" | "none" | "sm" | "lg" | undefined;
2703
+ }>>;
2704
+ title: z.ZodDefault<z.ZodString>;
2705
+ variables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
2706
+ }, "strict", z.ZodTypeAny, {
2707
+ title: string;
2708
+ feedback: boolean;
2709
+ search: {
2710
+ indexing: {
2711
+ includeHiddenPages: boolean;
2712
+ };
2713
+ provider: "none" | "orama" | "pagefind" | "flexsearch" | "algolia" | "orama-cloud" | "typesense" | "mixedbread";
2714
+ algolia?: {
2715
+ appId: string;
2716
+ indexName: string;
2717
+ searchApiKey: string;
2718
+ } | undefined;
2719
+ typesense?: {
2720
+ searchApiKey: string;
2721
+ collection: string;
2722
+ host: string;
2723
+ port?: number | undefined;
2724
+ protocol?: "http" | "https" | undefined;
2725
+ } | undefined;
2726
+ mixedbread?: {
2727
+ storeId: string;
2728
+ } | undefined;
2729
+ oramaCloud?: {
2730
+ apiKey: string;
2731
+ endpoint: string;
2732
+ indexId?: string | undefined;
2733
+ } | undefined;
2734
+ prompt?: string | undefined;
2735
+ };
2736
+ lastModified: boolean | {
2737
+ type: "git" | "frontmatter";
2738
+ };
2739
+ seo: {
2740
+ rss: {
2741
+ enabled: boolean;
2742
+ limit: number;
2743
+ types: string[];
2744
+ };
2745
+ metatags: Record<string, string>;
2746
+ og: {
2747
+ enabled?: boolean | undefined;
2748
+ };
2749
+ robots: boolean;
2750
+ sitemap: boolean;
2751
+ structuredData: boolean;
2752
+ };
2753
+ content: {
2754
+ exclude: string[];
2755
+ pages: string;
2756
+ include: string[];
2757
+ root: string;
2758
+ defaultType: string;
2759
+ sources?: ({
2760
+ type: "filesystem";
2761
+ exclude: string[];
2762
+ include: string[];
2763
+ root: string;
2764
+ prefix?: string | undefined;
2765
+ } | {
2766
+ type: "mdx-remote";
2767
+ include: string[];
2768
+ url?: string | undefined;
2769
+ prefix?: string | undefined;
2770
+ files?: string[] | undefined;
2771
+ github?: {
2772
+ path: string;
2773
+ owner: string;
2774
+ ref: string;
2775
+ repo: string;
2776
+ } | undefined;
2777
+ pollInterval?: number | undefined;
2778
+ } | {
2779
+ type: "sanity";
2780
+ dataset: string;
2781
+ projectId: string;
2782
+ query: string;
2783
+ prefix?: string | undefined;
2784
+ pollInterval?: number | undefined;
2785
+ apiVersion?: string | undefined;
2786
+ fields?: {
2787
+ body?: string | undefined;
2788
+ title?: string | undefined;
2789
+ description?: string | undefined;
2790
+ lastModified?: string | undefined;
2791
+ slug?: string | undefined;
2792
+ } | undefined;
2793
+ } | {
2794
+ type: "notion";
2795
+ database: string;
2796
+ prefix?: string | undefined;
2797
+ pollInterval?: number | undefined;
2798
+ properties?: {
2799
+ status?: string | undefined;
2800
+ title?: string | undefined;
2801
+ order?: string | undefined;
2802
+ description?: string | undefined;
2803
+ slug?: string | undefined;
2804
+ } | undefined;
2805
+ publishedValue?: string | undefined;
2806
+ } | {
2807
+ type: "mintlify";
2808
+ exclude: string[];
2809
+ include: string[];
2810
+ root: string;
2811
+ variables: Record<string, string>;
2812
+ prefix?: string | undefined;
2813
+ configFile?: string | undefined;
2814
+ } | {
2815
+ type: "custom";
2816
+ source: ContentSource;
2817
+ })[] | undefined;
2818
+ };
2819
+ variables: Record<string, string>;
2820
+ footer: {
2821
+ links: {
2822
+ items: {
2823
+ label: string;
2824
+ href: string;
2825
+ }[];
2826
+ header?: string | undefined;
2827
+ }[];
2828
+ socials: Record<string, string>;
2829
+ };
2830
+ navbar: {
2831
+ links: {
2832
+ href: string;
2833
+ type?: "github" | "discord" | undefined;
2834
+ label?: string | undefined;
2835
+ icon?: string | undefined;
2836
+ }[];
2837
+ primary?: {
2838
+ type: "button" | "github" | "discord";
2839
+ href: string;
2840
+ label?: string | undefined;
2841
+ } | undefined;
2842
+ };
2843
+ theme: {
2844
+ strict: boolean;
2845
+ mode: "dark" | "light" | "system";
2846
+ accent: string;
2847
+ fonts: {
2848
+ mono: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
2849
+ display: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
2850
+ body: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
2851
+ };
2852
+ layout: "sidebar";
2853
+ radius: "md" | "none" | "sm" | "lg";
2854
+ accentDark?: string | undefined;
2855
+ action?: string | undefined;
2856
+ background?: string | undefined;
2857
+ backgroundDark?: string | undefined;
2858
+ backgroundDecoration?: "gradient" | "grid" | "windows" | undefined;
2859
+ backgroundImage?: string | undefined;
2860
+ backgroundImageDark?: string | undefined;
2861
+ };
2862
+ icons: {
2863
+ library: "fontawesome" | "lucide" | "tabler";
2864
+ };
2865
+ ai: {
2866
+ llmsTxt: boolean;
2867
+ ask?: {
2868
+ provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
2869
+ enabled: boolean;
2870
+ model: string;
2871
+ apiKeyEnv?: string | undefined;
2872
+ baseUrl?: string | undefined;
2873
+ } | undefined;
2874
+ };
2875
+ asyncapi: {
2876
+ sources: {
2877
+ spec: string;
2878
+ label?: string | undefined;
2879
+ route?: string | undefined;
2880
+ }[];
2881
+ enabled: boolean;
2882
+ route: string;
2883
+ theme?: string | undefined;
2884
+ spec?: string | undefined;
2885
+ };
2886
+ contextual: {
2887
+ display: "toc" | "header";
2888
+ options: (string | z.objectOutputType<{
2889
+ description: z.ZodOptional<z.ZodString>;
2890
+ href: z.ZodOptional<z.ZodString>;
2891
+ icon: z.ZodOptional<z.ZodString>;
2892
+ title: z.ZodString;
2893
+ }, z.ZodTypeAny, "passthrough">)[];
2894
+ };
2895
+ deployment: {
2896
+ adapter: "vercel" | "node" | "netlify" | "cloudflare" | null;
2897
+ output: "static" | "server";
2898
+ base?: string | undefined;
2899
+ site?: string | undefined;
2900
+ };
2901
+ export: {
2902
+ epub: boolean;
2903
+ pdf: boolean;
2904
+ };
2905
+ markdown: {
2906
+ code: {
2907
+ icons: boolean;
2908
+ inline: boolean;
2909
+ wrap: boolean;
2910
+ };
2911
+ codeBlocks: {
2912
+ theme: {
2913
+ dark: string;
2914
+ light: string;
2915
+ };
2916
+ };
2917
+ headingAnchors: boolean;
2918
+ imageZoom: boolean;
2919
+ math: boolean;
2920
+ };
2921
+ mcp: {
2922
+ enabled: boolean;
2923
+ route: string;
2924
+ instructions?: string | undefined;
2925
+ name?: string | undefined;
2926
+ };
2927
+ navigation: {
2928
+ repo: boolean;
2929
+ chromeVariants: {
2930
+ path: string;
2931
+ banner?: string | {
2932
+ content: string;
2933
+ dismissible: boolean;
2934
+ type?: "info" | "warning" | "critical" | undefined;
2935
+ id?: string | undefined;
2936
+ color?: {
2937
+ dark?: string | undefined;
2938
+ light?: string | undefined;
2939
+ } | undefined;
2940
+ link?: {
2941
+ href: string;
2942
+ text: string;
2943
+ } | undefined;
2944
+ } | undefined;
2945
+ footer?: {
2946
+ links: {
2947
+ items: {
2948
+ label: string;
2949
+ href: string;
2950
+ }[];
2951
+ header?: string | undefined;
2952
+ }[];
2953
+ socials: Record<string, string>;
2954
+ } | undefined;
2955
+ navbar?: {
2956
+ links: {
2957
+ href: string;
2958
+ type?: "github" | "discord" | undefined;
2959
+ label?: string | undefined;
2960
+ icon?: string | undefined;
2961
+ }[];
2962
+ primary?: {
2963
+ type: "button" | "github" | "discord";
2964
+ href: string;
2965
+ label?: string | undefined;
2966
+ } | undefined;
2967
+ } | undefined;
2968
+ }[];
2969
+ selectors: {
2970
+ label: string;
2971
+ items: {
2972
+ path: string;
2973
+ label: string;
2974
+ icon?: string | undefined;
2975
+ description?: string | undefined;
2976
+ tag?: string | undefined;
2977
+ }[];
2978
+ kind: "version" | "dropdown" | "language" | "product";
2979
+ }[];
2980
+ sidebarVariants: {
2981
+ path: string;
2982
+ items: SidebarItemConfig[];
2983
+ }[];
2984
+ sidebar?: SidebarItemConfig[] | undefined;
2985
+ tabs?: {
2986
+ path: string;
2987
+ label: string;
2988
+ icon?: string | undefined;
2989
+ items?: {
2990
+ path: string;
2991
+ label: string;
2992
+ icon?: string | undefined;
2993
+ description?: string | undefined;
2994
+ tag?: string | undefined;
2995
+ }[] | undefined;
2996
+ }[] | undefined;
2997
+ };
2998
+ openapi: {
2999
+ sources: {
3000
+ spec: string;
3001
+ label?: string | undefined;
3002
+ route?: string | undefined;
3003
+ }[];
3004
+ enabled: boolean;
3005
+ route: string;
3006
+ theme?: string | undefined;
3007
+ spec?: string | undefined;
3008
+ };
3009
+ redirects: {
3010
+ status: 301 | 302 | 307 | 308;
3011
+ from: string;
3012
+ to: string;
3013
+ }[];
3014
+ styling: {
3015
+ eyebrows: "breadcrumbs" | "section";
3016
+ };
3017
+ description?: string | undefined;
3018
+ github?: {
3019
+ owner: string;
3020
+ repo: string;
3021
+ branch: string;
3022
+ dir?: string | undefined;
3023
+ } | undefined;
3024
+ banner?: string | {
3025
+ content: string;
3026
+ dismissible: boolean;
3027
+ type?: "info" | "warning" | "critical" | undefined;
3028
+ id?: string | undefined;
3029
+ color?: {
3030
+ dark?: string | undefined;
3031
+ light?: string | undefined;
3032
+ } | undefined;
3033
+ link?: {
3034
+ href: string;
3035
+ text: string;
3036
+ } | undefined;
3037
+ } | undefined;
3038
+ analytics?: {
3039
+ posthog?: {
3040
+ key: string;
3041
+ host?: string | undefined;
3042
+ } | undefined;
3043
+ scripts?: {
3044
+ content?: string | undefined;
3045
+ attributes?: Record<string, string> | undefined;
3046
+ src?: string | undefined;
3047
+ strategy?: "async" | "defer" | undefined;
3048
+ }[] | undefined;
3049
+ vercel?: boolean | undefined;
3050
+ } | undefined;
3051
+ favicon?: string | {
3052
+ dark?: string | undefined;
3053
+ light?: string | undefined;
3054
+ } | undefined;
3055
+ i18n?: {
3056
+ defaultLocale: string;
3057
+ hideDefaultLocalePrefix: boolean;
3058
+ locales: {
3059
+ code: string;
3060
+ label: string;
3061
+ dir: "ltr" | "rtl";
3062
+ }[];
3063
+ parser: "dir" | "dot";
3064
+ fallbackLocale?: string | null | undefined;
3065
+ ui?: Record<string, Record<string, Record<string, string>>> | undefined;
3066
+ } | undefined;
3067
+ logo?: string | {
3068
+ alt?: string | undefined;
3069
+ dark?: string | undefined;
3070
+ href?: string | undefined;
3071
+ light?: string | undefined;
3072
+ } | undefined;
3073
+ }, {
3074
+ title?: string | undefined;
3075
+ feedback?: boolean | undefined;
3076
+ search?: {
3077
+ algolia?: {
3078
+ appId: string;
3079
+ indexName: string;
3080
+ searchApiKey: string;
3081
+ } | undefined;
3082
+ typesense?: {
3083
+ searchApiKey: string;
3084
+ collection: string;
3085
+ host: string;
3086
+ port?: number | undefined;
3087
+ protocol?: "http" | "https" | undefined;
3088
+ } | undefined;
3089
+ mixedbread?: {
3090
+ storeId: string;
3091
+ } | undefined;
3092
+ oramaCloud?: {
3093
+ apiKey: string;
3094
+ endpoint: string;
3095
+ indexId?: string | undefined;
3096
+ } | undefined;
3097
+ indexing?: {
3098
+ includeHiddenPages?: boolean | undefined;
3099
+ } | undefined;
3100
+ prompt?: string | undefined;
3101
+ provider?: "none" | "orama" | "pagefind" | "flexsearch" | "algolia" | "orama-cloud" | "typesense" | "mixedbread" | undefined;
3102
+ } | undefined;
3103
+ description?: string | undefined;
3104
+ lastModified?: boolean | {
3105
+ type?: "git" | "frontmatter" | undefined;
3106
+ } | undefined;
3107
+ seo?: {
3108
+ rss?: {
3109
+ enabled?: boolean | undefined;
3110
+ limit?: number | undefined;
3111
+ types?: string[] | undefined;
3112
+ } | undefined;
3113
+ metatags?: Record<string, string> | undefined;
3114
+ og?: {
3115
+ enabled?: boolean | undefined;
3116
+ } | undefined;
3117
+ robots?: boolean | undefined;
3118
+ sitemap?: boolean | undefined;
3119
+ structuredData?: boolean | undefined;
3120
+ } | undefined;
3121
+ content?: {
3122
+ exclude?: string[] | undefined;
3123
+ pages?: string | undefined;
3124
+ include?: string[] | undefined;
3125
+ root?: string | undefined;
3126
+ defaultType?: string | undefined;
3127
+ sources?: ({
3128
+ type: "filesystem";
3129
+ exclude?: string[] | undefined;
3130
+ include?: string[] | undefined;
3131
+ prefix?: string | undefined;
3132
+ root?: string | undefined;
3133
+ } | {
3134
+ type: "mdx-remote";
3135
+ url?: string | undefined;
3136
+ include?: string[] | undefined;
3137
+ prefix?: string | undefined;
3138
+ files?: string[] | undefined;
3139
+ github?: {
3140
+ owner: string;
3141
+ repo: string;
3142
+ path?: string | undefined;
3143
+ ref?: string | undefined;
3144
+ } | undefined;
3145
+ pollInterval?: number | undefined;
3146
+ } | {
3147
+ type: "sanity";
3148
+ dataset: string;
3149
+ projectId: string;
3150
+ query: string;
3151
+ prefix?: string | undefined;
3152
+ pollInterval?: number | undefined;
3153
+ apiVersion?: string | undefined;
3154
+ fields?: {
3155
+ body?: string | undefined;
3156
+ title?: string | undefined;
3157
+ description?: string | undefined;
3158
+ lastModified?: string | undefined;
3159
+ slug?: string | undefined;
3160
+ } | undefined;
3161
+ } | {
3162
+ type: "notion";
3163
+ database: string;
3164
+ prefix?: string | undefined;
3165
+ pollInterval?: number | undefined;
3166
+ properties?: {
3167
+ status?: string | undefined;
3168
+ title?: string | undefined;
3169
+ order?: string | undefined;
3170
+ description?: string | undefined;
3171
+ slug?: string | undefined;
3172
+ } | undefined;
3173
+ publishedValue?: string | undefined;
3174
+ } | {
3175
+ type: "mintlify";
3176
+ exclude?: string[] | undefined;
3177
+ include?: string[] | undefined;
3178
+ prefix?: string | undefined;
3179
+ root?: string | undefined;
3180
+ configFile?: string | undefined;
3181
+ variables?: Record<string, string> | undefined;
3182
+ } | {
3183
+ type: "custom";
3184
+ source: ContentSource;
3185
+ })[] | undefined;
3186
+ } | undefined;
3187
+ github?: {
3188
+ owner: string;
3189
+ repo: string;
3190
+ dir?: string | undefined;
3191
+ branch?: string | undefined;
3192
+ } | undefined;
3193
+ variables?: Record<string, string> | undefined;
3194
+ banner?: string | {
3195
+ content: string;
3196
+ type?: "info" | "warning" | "critical" | undefined;
3197
+ id?: string | undefined;
3198
+ color?: {
3199
+ dark?: string | undefined;
3200
+ light?: string | undefined;
3201
+ } | undefined;
3202
+ dismissible?: boolean | undefined;
3203
+ link?: {
3204
+ href: string;
3205
+ text: string;
3206
+ } | undefined;
3207
+ } | undefined;
3208
+ footer?: {
3209
+ links?: {
3210
+ items?: {
3211
+ label: string;
3212
+ href: string;
3213
+ }[] | undefined;
3214
+ header?: string | undefined;
3215
+ }[] | undefined;
3216
+ socials?: Record<string, string> | undefined;
3217
+ } | undefined;
3218
+ navbar?: {
3219
+ links?: {
3220
+ href: string;
3221
+ type?: "github" | "discord" | undefined;
3222
+ label?: string | undefined;
3223
+ icon?: string | undefined;
3224
+ }[] | undefined;
3225
+ primary?: {
3226
+ href: string;
3227
+ type?: "button" | "github" | "discord" | undefined;
3228
+ label?: string | undefined;
3229
+ } | undefined;
3230
+ } | undefined;
3231
+ theme?: {
3232
+ strict?: boolean | undefined;
3233
+ mode?: "dark" | "light" | "system" | undefined;
3234
+ accent?: string | undefined;
3235
+ accentDark?: string | undefined;
3236
+ action?: string | undefined;
3237
+ background?: string | undefined;
3238
+ backgroundDark?: string | undefined;
3239
+ backgroundDecoration?: "gradient" | "grid" | "windows" | undefined;
3240
+ backgroundImage?: string | undefined;
3241
+ backgroundImageDark?: string | undefined;
3242
+ fonts?: {
3243
+ mono?: string | undefined;
3244
+ display?: string | undefined;
3245
+ body?: string | undefined;
3246
+ } | undefined;
3247
+ layout?: "sidebar" | undefined;
3248
+ radius?: "md" | "none" | "sm" | "lg" | undefined;
3249
+ } | undefined;
3250
+ icons?: {
3251
+ library?: "fontawesome" | "lucide" | "tabler" | undefined;
3252
+ } | undefined;
3253
+ ai?: {
3254
+ ask?: {
3255
+ provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
3256
+ apiKeyEnv?: string | undefined;
3257
+ baseUrl?: string | undefined;
3258
+ enabled?: boolean | undefined;
3259
+ model?: string | undefined;
3260
+ } | undefined;
3261
+ llmsTxt?: boolean | undefined;
3262
+ } | undefined;
3263
+ analytics?: {
3264
+ posthog?: {
3265
+ key: string;
3266
+ host?: string | undefined;
3267
+ } | undefined;
3268
+ scripts?: {
3269
+ content?: string | undefined;
3270
+ attributes?: Record<string, string> | undefined;
3271
+ src?: string | undefined;
3272
+ strategy?: "async" | "defer" | undefined;
3273
+ }[] | undefined;
3274
+ vercel?: boolean | undefined;
3275
+ } | undefined;
3276
+ asyncapi?: {
3277
+ sources?: {
3278
+ spec: string;
3279
+ label?: string | undefined;
3280
+ route?: string | undefined;
3281
+ }[] | undefined;
3282
+ enabled?: boolean | undefined;
3283
+ route?: string | undefined;
3284
+ theme?: string | undefined;
3285
+ spec?: string | undefined;
3286
+ } | undefined;
3287
+ contextual?: {
3288
+ display?: "toc" | "header" | undefined;
3289
+ options?: (string | z.objectInputType<{
3290
+ description: z.ZodOptional<z.ZodString>;
3291
+ href: z.ZodOptional<z.ZodString>;
3292
+ icon: z.ZodOptional<z.ZodString>;
3293
+ title: z.ZodString;
3294
+ }, z.ZodTypeAny, "passthrough">)[] | undefined;
3295
+ } | undefined;
3296
+ deployment?: {
3297
+ adapter?: "vercel" | "node" | "netlify" | "cloudflare" | null | undefined;
3298
+ base?: string | undefined;
3299
+ output?: "static" | "server" | undefined;
3300
+ site?: string | undefined;
3301
+ } | undefined;
3302
+ export?: boolean | {
3303
+ epub?: boolean | undefined;
3304
+ pdf?: boolean | undefined;
3305
+ } | undefined;
3306
+ favicon?: string | {
3307
+ dark?: string | undefined;
3308
+ light?: string | undefined;
3309
+ } | undefined;
3310
+ i18n?: {
3311
+ locales: {
3312
+ code: string;
3313
+ label: string;
3314
+ dir?: "ltr" | "rtl" | undefined;
3315
+ }[];
3316
+ defaultLocale?: string | undefined;
3317
+ fallbackLocale?: string | null | undefined;
3318
+ hideDefaultLocalePrefix?: boolean | undefined;
3319
+ parser?: "dir" | "dot" | undefined;
3320
+ ui?: Record<string, Record<string, Record<string, string>>> | undefined;
3321
+ } | undefined;
3322
+ logo?: string | {
3323
+ alt?: string | undefined;
3324
+ dark?: string | undefined;
3325
+ href?: string | undefined;
3326
+ light?: string | undefined;
3327
+ } | undefined;
3328
+ markdown?: {
3329
+ code?: {
3330
+ icons?: boolean | undefined;
3331
+ inline?: boolean | undefined;
3332
+ wrap?: boolean | undefined;
3333
+ } | undefined;
3334
+ codeBlocks?: {
3335
+ theme?: {
3336
+ dark?: string | undefined;
3337
+ light?: string | undefined;
3338
+ } | undefined;
3339
+ } | undefined;
3340
+ headingAnchors?: boolean | undefined;
3341
+ imageZoom?: boolean | undefined;
3342
+ math?: boolean | undefined;
3343
+ } | undefined;
3344
+ mcp?: {
3345
+ enabled?: boolean | undefined;
3346
+ instructions?: string | undefined;
3347
+ name?: string | undefined;
3348
+ route?: string | undefined;
3349
+ } | undefined;
3350
+ navigation?: {
3351
+ sidebar?: SidebarItemConfig[] | undefined;
3352
+ repo?: boolean | undefined;
3353
+ chromeVariants?: {
3354
+ path: string;
3355
+ banner?: string | {
3356
+ content: string;
3357
+ type?: "info" | "warning" | "critical" | undefined;
3358
+ id?: string | undefined;
3359
+ color?: {
3360
+ dark?: string | undefined;
3361
+ light?: string | undefined;
3362
+ } | undefined;
3363
+ dismissible?: boolean | undefined;
3364
+ link?: {
3365
+ href: string;
3366
+ text: string;
3367
+ } | undefined;
3368
+ } | undefined;
3369
+ footer?: {
3370
+ links?: {
3371
+ items?: {
3372
+ label: string;
3373
+ href: string;
3374
+ }[] | undefined;
3375
+ header?: string | undefined;
3376
+ }[] | undefined;
3377
+ socials?: Record<string, string> | undefined;
3378
+ } | undefined;
3379
+ navbar?: {
3380
+ links?: {
3381
+ href: string;
3382
+ type?: "github" | "discord" | undefined;
3383
+ label?: string | undefined;
3384
+ icon?: string | undefined;
3385
+ }[] | undefined;
3386
+ primary?: {
3387
+ href: string;
3388
+ type?: "button" | "github" | "discord" | undefined;
3389
+ label?: string | undefined;
3390
+ } | undefined;
3391
+ } | undefined;
3392
+ }[] | undefined;
3393
+ selectors?: {
3394
+ label: string;
3395
+ kind: "version" | "dropdown" | "language" | "product";
3396
+ items?: {
3397
+ path: string;
3398
+ label: string;
3399
+ icon?: string | undefined;
3400
+ description?: string | undefined;
3401
+ tag?: string | undefined;
3402
+ }[] | undefined;
3403
+ }[] | undefined;
3404
+ sidebarVariants?: {
3405
+ path: string;
3406
+ items?: SidebarItemConfig[] | undefined;
3407
+ }[] | undefined;
3408
+ tabs?: {
3409
+ path: string;
3410
+ label: string;
3411
+ icon?: string | undefined;
3412
+ items?: {
3413
+ path: string;
3414
+ label: string;
3415
+ icon?: string | undefined;
3416
+ description?: string | undefined;
3417
+ tag?: string | undefined;
3418
+ }[] | undefined;
3419
+ }[] | undefined;
3420
+ } | undefined;
3421
+ openapi?: {
3422
+ sources?: {
3423
+ spec: string;
3424
+ label?: string | undefined;
3425
+ route?: string | undefined;
3426
+ }[] | undefined;
3427
+ enabled?: boolean | undefined;
3428
+ route?: string | undefined;
3429
+ theme?: string | undefined;
3430
+ spec?: string | undefined;
3431
+ } | undefined;
3432
+ redirects?: {
3433
+ from: string;
3434
+ to: string;
3435
+ status?: 301 | 302 | 307 | 308 | undefined;
3436
+ }[] | undefined;
3437
+ styling?: {
3438
+ eyebrows?: "breadcrumbs" | "section" | undefined;
3439
+ } | undefined;
3440
+ }>;
3441
+ /** Resolved config: every field present after defaults are applied. */
3442
+ export type ResolvedConfig = z.infer<typeof blumeConfigSchema>;
3443
+ /** Resolved i18n block (present only when the project opts into i18n). */
3444
+ export type ResolvedI18nConfig = z.infer<typeof i18nConfigSchema>;
3445
+ /** A configured locale with display metadata. */
3446
+ export type LocaleConfig = z.infer<typeof localeSchema>;
3447
+ /** User-authored config: the shape accepted by `defineConfig`. */
3448
+ export type BlumeConfig = z.input<typeof blumeConfigSchema>;
3449
+ /** A configured search backend. */
3450
+ export type SearchProvider = (typeof searchProviders)[number];
3451
+ export {};