blume 0.7.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/CHANGELOG.md +666 -0
  2. package/LICENSE +21 -0
  3. package/README.md +107 -0
  4. package/dist/cli/index.js +1852 -380
  5. package/dist/cli/index.js.map +98 -91
  6. package/dist/types/ai/component-markdown.d.ts +34 -0
  7. package/dist/types/components/content/youtube.d.ts +18 -0
  8. package/dist/types/core/base-path.d.ts +9 -0
  9. package/dist/types/core/config-input.d.ts +47 -2
  10. package/dist/types/core/config.d.ts +3 -2
  11. package/dist/types/core/data.d.ts +7 -0
  12. package/dist/types/core/i18n-ui.d.ts +526 -132
  13. package/dist/types/core/schema.d.ts +293 -146
  14. package/dist/types/index.d.ts +1 -0
  15. package/dist/types/openapi/references.d.ts +60 -0
  16. package/dist/types/seo/x-handle.d.ts +12 -0
  17. package/docs/01-quickstart.mdx +5 -2
  18. package/docs/02-deployment.mdx +8 -8
  19. package/docs/03-faq.mdx +46 -16
  20. package/docs/advanced/api-reference.mdx +1 -1
  21. package/docs/advanced/changelog.mdx +1 -1
  22. package/docs/advanced/custom-pages.mdx +1 -1
  23. package/docs/advanced/skills.mdx +1 -1
  24. package/docs/configuration/ai.mdx +49 -10
  25. package/docs/configuration/customization.mdx +11 -0
  26. package/docs/configuration/export.mdx +1 -1
  27. package/docs/configuration/index.mdx +27 -3
  28. package/docs/configuration/seo.mdx +35 -5
  29. package/docs/content/components.mdx +2 -2
  30. package/docs/content/i18n.mdx +1 -1
  31. package/docs/content/navigation.mdx +3 -3
  32. package/docs/content/sources.mdx +1 -1
  33. package/docs/content/syntax.mdx +6 -4
  34. package/docs/index.mdx +2 -2
  35. package/docs/reference/cli.mdx +9 -7
  36. package/docs/reference/frontmatter.mdx +1 -1
  37. package/package.json +22 -4
  38. package/skills/blume/SKILL.md +5 -3
  39. package/skills/blume-update-docs/SKILL.md +3 -2
  40. package/src/ai/agent-readability.ts +9 -8
  41. package/src/ai/ask-context.ts +7 -2
  42. package/src/ai/ask-data.ts +3 -0
  43. package/src/ai/component-markdown.ts +461 -0
  44. package/src/ai/llms.ts +135 -26
  45. package/src/ai/markdown.ts +35 -6
  46. package/src/ai/mcp/data.ts +25 -4
  47. package/src/ai/mcp/discovery.ts +10 -3
  48. package/src/ai/mcp/server.ts +21 -7
  49. package/src/ai/mcp/tools.ts +1 -1
  50. package/src/ai/visibility.ts +74 -0
  51. package/src/astro/component-slots.ts +11 -1
  52. package/src/astro/generate.ts +77 -45
  53. package/src/astro/integration.ts +1 -1
  54. package/src/astro/markdown-negotiation.ts +1 -1
  55. package/src/astro/pages.ts +81 -19
  56. package/src/astro/templates.ts +150 -19
  57. package/src/blume-modules.d.ts +8 -0
  58. package/src/cli/commands/build.ts +120 -23
  59. package/src/cli/commands/check.ts +1 -1
  60. package/src/cli/commands/dev.ts +26 -5
  61. package/src/cli/commands/eject.ts +47 -19
  62. package/src/cli/commands/init.ts +120 -180
  63. package/src/cli/commands/preview.ts +4 -1
  64. package/src/cli/commands/validate.ts +43 -2
  65. package/src/cli/dev-lock.ts +8 -4
  66. package/src/cli/eject-scripts.ts +72 -0
  67. package/src/cli/env.ts +15 -5
  68. package/src/cli/init/questions.ts +158 -0
  69. package/src/cli/init/scaffold.ts +380 -0
  70. package/src/cli/internal-error.ts +9 -4
  71. package/src/cli/prepare.ts +3 -2
  72. package/src/components/Icon.astro +2 -1
  73. package/src/components/content/AccordionItem.astro +23 -4
  74. package/src/components/content/Badge.astro +3 -1
  75. package/src/components/content/Card.astro +4 -2
  76. package/src/components/content/Step.astro +10 -1
  77. package/src/components/content/Tabs.astro +15 -3
  78. package/src/components/content/Tile.astro +2 -1
  79. package/src/components/content/Tooltip.astro +3 -1
  80. package/src/components/content/Update.astro +9 -2
  81. package/src/components/content/auto-type-table.ts +7 -1
  82. package/src/components/content/base-href.ts +33 -0
  83. package/src/components/content/changelog-element.ts +9 -2
  84. package/src/components/content/mermaid-element.ts +7 -2
  85. package/src/components/islands/AskAI.astro +5 -2
  86. package/src/components/islands/ask-ai.tsx +86 -11
  87. package/src/components/islands/hooks.ts +28 -8
  88. package/src/components/layout/Banner.astro +10 -2
  89. package/src/components/layout/Breadcrumbs.astro +11 -2
  90. package/src/components/layout/Header.astro +13 -4
  91. package/src/components/layout/Logo.astro +11 -3
  92. package/src/components/layout/NavTree.astro +19 -5
  93. package/src/components/layout/PageActions.astro +25 -10
  94. package/src/components/layout/PageLayout.astro +85 -9
  95. package/src/components/layout/Pagination.astro +10 -4
  96. package/src/components/layout/ReferenceLayout.astro +20 -2
  97. package/src/components/layout/RootLayout.astro +142 -12
  98. package/src/components/layout/Search.astro +117 -27
  99. package/src/components/layout/search/algolia.ts +11 -2
  100. package/src/components/layout/search/endpoint.ts +11 -5
  101. package/src/components/layout/search/orama-cloud.ts +8 -2
  102. package/src/components/layout/search/types.ts +5 -1
  103. package/src/components/layout/search/typesense.ts +4 -1
  104. package/src/components/layout/toc-element.ts +1 -1
  105. package/src/components/openapi/ApiTagOperations.astro +2 -1
  106. package/src/components/openapi/Operation.astro +47 -40
  107. package/src/components/openapi/RequestPanel.astro +1 -1
  108. package/src/components/openapi/helpers.ts +71 -3
  109. package/src/components/openapi/panel.ts +1 -1
  110. package/src/core/base-path.ts +24 -0
  111. package/src/core/builtin-tags.ts +2 -0
  112. package/src/core/config-input.ts +48 -2
  113. package/src/core/config.ts +3 -2
  114. package/src/core/data.ts +4 -0
  115. package/src/core/frontmatter.ts +7 -0
  116. package/src/core/graph.ts +15 -5
  117. package/src/core/i18n-ui.ts +54 -0
  118. package/src/core/i18n.ts +16 -8
  119. package/src/core/last-modified.ts +13 -6
  120. package/src/core/links.ts +32 -8
  121. package/src/core/navigation.ts +29 -4
  122. package/src/core/package-json.ts +17 -2
  123. package/src/core/project-graph.ts +15 -6
  124. package/src/core/schema.ts +71 -2
  125. package/src/core/sources/assets.ts +6 -1
  126. package/src/core/sources/filesystem.ts +4 -0
  127. package/src/core/sources/mdx-remote.ts +23 -14
  128. package/src/core/sources/normalize.ts +152 -50
  129. package/src/core/sources/notion.ts +8 -8
  130. package/src/core/ui-packs/ar.ts +8 -0
  131. package/src/core/ui-packs/bg.ts +8 -0
  132. package/src/core/ui-packs/bn.ts +8 -0
  133. package/src/core/ui-packs/ca.ts +8 -0
  134. package/src/core/ui-packs/cs.ts +8 -0
  135. package/src/core/ui-packs/da.ts +8 -0
  136. package/src/core/ui-packs/de.ts +8 -0
  137. package/src/core/ui-packs/el.ts +8 -0
  138. package/src/core/ui-packs/es.ts +8 -0
  139. package/src/core/ui-packs/fa.ts +8 -0
  140. package/src/core/ui-packs/fi.ts +8 -0
  141. package/src/core/ui-packs/fr.ts +9 -1
  142. package/src/core/ui-packs/he.ts +8 -0
  143. package/src/core/ui-packs/hi.ts +8 -0
  144. package/src/core/ui-packs/hr.ts +8 -0
  145. package/src/core/ui-packs/hu.ts +8 -0
  146. package/src/core/ui-packs/id.ts +8 -0
  147. package/src/core/ui-packs/it.ts +8 -0
  148. package/src/core/ui-packs/ja.ts +8 -0
  149. package/src/core/ui-packs/ko.ts +8 -0
  150. package/src/core/ui-packs/nl.ts +8 -0
  151. package/src/core/ui-packs/no.ts +8 -0
  152. package/src/core/ui-packs/pl.ts +8 -0
  153. package/src/core/ui-packs/pt-br.ts +8 -0
  154. package/src/core/ui-packs/pt.ts +8 -0
  155. package/src/core/ui-packs/ro.ts +8 -0
  156. package/src/core/ui-packs/ru.ts +8 -0
  157. package/src/core/ui-packs/sk.ts +8 -0
  158. package/src/core/ui-packs/sr.ts +8 -0
  159. package/src/core/ui-packs/sv.ts +8 -0
  160. package/src/core/ui-packs/th.ts +8 -0
  161. package/src/core/ui-packs/tr.ts +8 -0
  162. package/src/core/ui-packs/uk.ts +8 -0
  163. package/src/core/ui-packs/vi.ts +8 -0
  164. package/src/core/ui-packs/zh-tw.ts +8 -0
  165. package/src/core/ui-packs/zh.ts +8 -0
  166. package/src/deploy/adapter-output.ts +18 -8
  167. package/src/deploy/redirects.ts +7 -2
  168. package/src/deploy/sitemap.ts +53 -11
  169. package/src/index.ts +5 -0
  170. package/src/markdown/base-links.ts +10 -8
  171. package/src/markdown/index.ts +15 -3
  172. package/src/markdown/inline-code.ts +7 -2
  173. package/src/markdown/package-commands.ts +10 -4
  174. package/src/og/card.ts +4 -2
  175. package/src/og/dimensions.ts +12 -0
  176. package/src/openapi/model.ts +12 -4
  177. package/src/openapi/parse.ts +21 -0
  178. package/src/openapi/references.ts +38 -8
  179. package/src/openapi/render-mdx.ts +62 -1
  180. package/src/openapi/source.ts +59 -10
  181. package/src/registry/eject.ts +184 -12
  182. package/src/registry/registry.ts +0 -3
  183. package/src/search/documents.ts +34 -2
  184. package/src/seo/jsonld.ts +20 -13
  185. package/src/seo/x-handle.ts +18 -0
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import type { ComponentMarkdown } from "../ai/component-markdown.ts";
2
3
  import type { ContentSource } from "./sources/types.ts";
3
4
  declare const hydrationMode: z.ZodEnum<["load", "idle", "visible", "media", "only"]>;
4
5
  export type HydrationMode = z.infer<typeof hydrationMode>;
@@ -78,18 +79,32 @@ declare const pageMetaBaseSchema: z.ZodObject<{
78
79
  image: z.ZodOptional<z.ZodString>;
79
80
  noindex: z.ZodDefault<z.ZodBoolean>;
80
81
  title: z.ZodOptional<z.ZodString>;
82
+ /** Per-page X attribution — a guest post credits its own author. */
83
+ x: z.ZodOptional<z.ZodObject<{
84
+ creator: z.ZodOptional<z.ZodEffects<z.ZodString, string | undefined, string>>;
85
+ }, "strict", z.ZodTypeAny, {
86
+ creator?: string | undefined;
87
+ }, {
88
+ creator?: string | undefined;
89
+ }>>;
81
90
  }, "strict", z.ZodTypeAny, {
82
91
  noindex: boolean;
83
92
  title?: string | undefined;
84
- description?: string | undefined;
85
93
  image?: string | undefined;
94
+ description?: string | undefined;
86
95
  canonical?: string | undefined;
96
+ x?: {
97
+ creator?: string | undefined;
98
+ } | undefined;
87
99
  }, {
88
100
  title?: string | undefined;
89
- description?: string | undefined;
90
101
  image?: string | undefined;
102
+ description?: string | undefined;
91
103
  noindex?: boolean | undefined;
92
104
  canonical?: string | undefined;
105
+ x?: {
106
+ creator?: string | undefined;
107
+ } | undefined;
93
108
  }>>;
94
109
  sidebar: z.ZodDefault<z.ZodObject<{
95
110
  badge: z.ZodOptional<z.ZodString>;
@@ -99,48 +114,50 @@ declare const pageMetaBaseSchema: z.ZodObject<{
99
114
  order: z.ZodOptional<z.ZodNumber>;
100
115
  }, "strict", z.ZodTypeAny, {
101
116
  hidden: boolean;
102
- label?: string | undefined;
103
117
  icon?: string | undefined;
104
118
  badge?: string | undefined;
119
+ label?: string | undefined;
105
120
  order?: number | undefined;
106
121
  }, {
107
- label?: string | undefined;
108
122
  hidden?: boolean | undefined;
109
123
  icon?: string | undefined;
110
124
  badge?: string | undefined;
125
+ label?: string | undefined;
111
126
  order?: number | undefined;
112
127
  }>>;
113
128
  slug: z.ZodOptional<z.ZodString>;
114
129
  title: z.ZodOptional<z.ZodString>;
115
130
  type: z.ZodOptional<z.ZodString>;
116
131
  }, "strict", z.ZodTypeAny, {
132
+ deprecated: boolean;
133
+ draft: boolean;
134
+ hidden: boolean;
135
+ noindex: boolean;
117
136
  search: {
118
137
  exclude: boolean;
119
138
  boost?: number | undefined;
120
139
  tags?: string[] | undefined;
121
140
  };
122
- deprecated: boolean;
123
- draft: boolean;
124
- hidden: boolean;
125
- noindex: boolean;
126
141
  seo: {
127
142
  noindex: boolean;
128
143
  title?: string | undefined;
129
- description?: string | undefined;
130
144
  image?: string | undefined;
145
+ description?: string | undefined;
131
146
  canonical?: string | undefined;
147
+ x?: {
148
+ creator?: string | undefined;
149
+ } | undefined;
132
150
  };
133
151
  sidebar: {
134
152
  hidden: boolean;
135
- label?: string | undefined;
136
153
  icon?: string | undefined;
137
154
  badge?: string | undefined;
155
+ label?: string | undefined;
138
156
  order?: number | undefined;
139
157
  };
140
158
  type?: string | undefined;
141
- date?: string | undefined;
142
159
  title?: string | undefined;
143
- description?: string | undefined;
160
+ date?: string | undefined;
144
161
  authors?: string | z.objectOutputType<{
145
162
  avatar: z.ZodOptional<z.ZodString>;
146
163
  image: z.ZodOptional<z.ZodString>;
@@ -157,19 +174,14 @@ declare const pageMetaBaseSchema: z.ZodObject<{
157
174
  category?: string | undefined;
158
175
  version?: string | undefined;
159
176
  } | undefined;
177
+ description?: string | undefined;
160
178
  icon?: string | undefined;
161
179
  lastModified?: string | undefined;
162
180
  slug?: string | undefined;
163
181
  }, {
164
182
  type?: string | undefined;
165
- date?: string | Date | undefined;
166
183
  title?: string | undefined;
167
- search?: {
168
- boost?: number | undefined;
169
- exclude?: boolean | undefined;
170
- tags?: string[] | undefined;
171
- } | undefined;
172
- description?: string | undefined;
184
+ date?: string | Date | undefined;
173
185
  authors?: string | z.objectInputType<{
174
186
  avatar: z.ZodOptional<z.ZodString>;
175
187
  image: z.ZodOptional<z.ZodString>;
@@ -187,23 +199,32 @@ declare const pageMetaBaseSchema: z.ZodObject<{
187
199
  version?: string | undefined;
188
200
  } | undefined;
189
201
  deprecated?: boolean | undefined;
202
+ description?: string | undefined;
190
203
  draft?: boolean | undefined;
191
204
  hidden?: boolean | undefined;
192
205
  icon?: string | undefined;
193
206
  lastModified?: string | Date | undefined;
194
207
  noindex?: boolean | undefined;
208
+ search?: {
209
+ boost?: number | undefined;
210
+ exclude?: boolean | undefined;
211
+ tags?: string[] | undefined;
212
+ } | undefined;
195
213
  seo?: {
196
214
  title?: string | undefined;
197
- description?: string | undefined;
198
215
  image?: string | undefined;
216
+ description?: string | undefined;
199
217
  noindex?: boolean | undefined;
200
218
  canonical?: string | undefined;
219
+ x?: {
220
+ creator?: string | undefined;
221
+ } | undefined;
201
222
  } | undefined;
202
223
  sidebar?: {
203
- label?: string | undefined;
204
224
  hidden?: boolean | undefined;
205
225
  icon?: string | undefined;
206
226
  badge?: string | undefined;
227
+ label?: string | undefined;
207
228
  order?: number | undefined;
208
229
  } | undefined;
209
230
  slug?: string | undefined;
@@ -283,18 +304,32 @@ export declare const pageMetaSchema: z.ZodObject<{
283
304
  image: z.ZodOptional<z.ZodString>;
284
305
  noindex: z.ZodDefault<z.ZodBoolean>;
285
306
  title: z.ZodOptional<z.ZodString>;
307
+ /** Per-page X attribution — a guest post credits its own author. */
308
+ x: z.ZodOptional<z.ZodObject<{
309
+ creator: z.ZodOptional<z.ZodEffects<z.ZodString, string | undefined, string>>;
310
+ }, "strict", z.ZodTypeAny, {
311
+ creator?: string | undefined;
312
+ }, {
313
+ creator?: string | undefined;
314
+ }>>;
286
315
  }, "strict", z.ZodTypeAny, {
287
316
  noindex: boolean;
288
317
  title?: string | undefined;
289
- description?: string | undefined;
290
318
  image?: string | undefined;
319
+ description?: string | undefined;
291
320
  canonical?: string | undefined;
321
+ x?: {
322
+ creator?: string | undefined;
323
+ } | undefined;
292
324
  }, {
293
325
  title?: string | undefined;
294
- description?: string | undefined;
295
326
  image?: string | undefined;
327
+ description?: string | undefined;
296
328
  noindex?: boolean | undefined;
297
329
  canonical?: string | undefined;
330
+ x?: {
331
+ creator?: string | undefined;
332
+ } | undefined;
298
333
  }>>;
299
334
  sidebar: z.ZodDefault<z.ZodObject<{
300
335
  badge: z.ZodOptional<z.ZodString>;
@@ -304,48 +339,50 @@ export declare const pageMetaSchema: z.ZodObject<{
304
339
  order: z.ZodOptional<z.ZodNumber>;
305
340
  }, "strict", z.ZodTypeAny, {
306
341
  hidden: boolean;
307
- label?: string | undefined;
308
342
  icon?: string | undefined;
309
343
  badge?: string | undefined;
344
+ label?: string | undefined;
310
345
  order?: number | undefined;
311
346
  }, {
312
- label?: string | undefined;
313
347
  hidden?: boolean | undefined;
314
348
  icon?: string | undefined;
315
349
  badge?: string | undefined;
350
+ label?: string | undefined;
316
351
  order?: number | undefined;
317
352
  }>>;
318
353
  slug: z.ZodOptional<z.ZodString>;
319
354
  title: z.ZodOptional<z.ZodString>;
320
355
  type: z.ZodOptional<z.ZodString>;
321
356
  }, "strict", z.ZodTypeAny, {
357
+ deprecated: boolean;
358
+ draft: boolean;
359
+ hidden: boolean;
360
+ noindex: boolean;
322
361
  search: {
323
362
  exclude: boolean;
324
363
  boost?: number | undefined;
325
364
  tags?: string[] | undefined;
326
365
  };
327
- deprecated: boolean;
328
- draft: boolean;
329
- hidden: boolean;
330
- noindex: boolean;
331
366
  seo: {
332
367
  noindex: boolean;
333
368
  title?: string | undefined;
334
- description?: string | undefined;
335
369
  image?: string | undefined;
370
+ description?: string | undefined;
336
371
  canonical?: string | undefined;
372
+ x?: {
373
+ creator?: string | undefined;
374
+ } | undefined;
337
375
  };
338
376
  sidebar: {
339
377
  hidden: boolean;
340
- label?: string | undefined;
341
378
  icon?: string | undefined;
342
379
  badge?: string | undefined;
380
+ label?: string | undefined;
343
381
  order?: number | undefined;
344
382
  };
345
383
  type?: string | undefined;
346
- date?: string | undefined;
347
384
  title?: string | undefined;
348
- description?: string | undefined;
385
+ date?: string | undefined;
349
386
  authors?: string | z.objectOutputType<{
350
387
  avatar: z.ZodOptional<z.ZodString>;
351
388
  image: z.ZodOptional<z.ZodString>;
@@ -362,19 +399,14 @@ export declare const pageMetaSchema: z.ZodObject<{
362
399
  category?: string | undefined;
363
400
  version?: string | undefined;
364
401
  } | undefined;
402
+ description?: string | undefined;
365
403
  icon?: string | undefined;
366
404
  lastModified?: string | undefined;
367
405
  slug?: string | undefined;
368
406
  }, {
369
407
  type?: string | undefined;
370
- date?: string | Date | undefined;
371
408
  title?: string | undefined;
372
- search?: {
373
- boost?: number | undefined;
374
- exclude?: boolean | undefined;
375
- tags?: string[] | undefined;
376
- } | undefined;
377
- description?: string | undefined;
409
+ date?: string | Date | undefined;
378
410
  authors?: string | z.objectInputType<{
379
411
  avatar: z.ZodOptional<z.ZodString>;
380
412
  image: z.ZodOptional<z.ZodString>;
@@ -392,23 +424,32 @@ export declare const pageMetaSchema: z.ZodObject<{
392
424
  version?: string | undefined;
393
425
  } | undefined;
394
426
  deprecated?: boolean | undefined;
427
+ description?: string | undefined;
395
428
  draft?: boolean | undefined;
396
429
  hidden?: boolean | undefined;
397
430
  icon?: string | undefined;
398
431
  lastModified?: string | Date | undefined;
399
432
  noindex?: boolean | undefined;
433
+ search?: {
434
+ boost?: number | undefined;
435
+ exclude?: boolean | undefined;
436
+ tags?: string[] | undefined;
437
+ } | undefined;
400
438
  seo?: {
401
439
  title?: string | undefined;
402
- description?: string | undefined;
403
440
  image?: string | undefined;
441
+ description?: string | undefined;
404
442
  noindex?: boolean | undefined;
405
443
  canonical?: string | undefined;
444
+ x?: {
445
+ creator?: string | undefined;
446
+ } | undefined;
406
447
  } | undefined;
407
448
  sidebar?: {
408
- label?: string | undefined;
409
449
  hidden?: boolean | undefined;
410
450
  icon?: string | undefined;
411
451
  badge?: string | undefined;
452
+ label?: string | undefined;
412
453
  order?: number | undefined;
413
454
  } | undefined;
414
455
  slug?: string | undefined;
@@ -455,15 +496,15 @@ declare const contentSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
455
496
  type: z.ZodLiteral<"filesystem">;
456
497
  }, "strict", z.ZodTypeAny, {
457
498
  type: "filesystem";
499
+ root: string;
458
500
  exclude: string[];
459
501
  include: string[];
460
- root: string;
461
502
  prefix?: string | undefined;
462
503
  }, {
463
504
  type: "filesystem";
505
+ root?: string | undefined;
464
506
  exclude?: string[] | undefined;
465
507
  include?: string[] | undefined;
466
- root?: string | undefined;
467
508
  prefix?: string | undefined;
468
509
  }>, z.ZodObject<{
469
510
  /** Explicit list of source-relative file paths to fetch from `url`. */
@@ -566,14 +607,14 @@ declare const contentSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
566
607
  slug: z.ZodOptional<z.ZodString>;
567
608
  title: z.ZodOptional<z.ZodString>;
568
609
  }, "strict", z.ZodTypeAny, {
569
- body?: string | undefined;
570
610
  title?: string | undefined;
611
+ body?: string | undefined;
571
612
  description?: string | undefined;
572
613
  lastModified?: string | undefined;
573
614
  slug?: string | undefined;
574
615
  }, {
575
- body?: string | undefined;
576
616
  title?: string | undefined;
617
+ body?: string | undefined;
577
618
  description?: string | undefined;
578
619
  lastModified?: string | undefined;
579
620
  slug?: string | undefined;
@@ -594,8 +635,8 @@ declare const contentSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
594
635
  pollInterval?: number | undefined;
595
636
  apiVersion?: string | undefined;
596
637
  fields?: {
597
- body?: string | undefined;
598
638
  title?: string | undefined;
639
+ body?: string | undefined;
599
640
  description?: string | undefined;
600
641
  lastModified?: string | undefined;
601
642
  slug?: string | undefined;
@@ -609,8 +650,8 @@ declare const contentSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
609
650
  pollInterval?: number | undefined;
610
651
  apiVersion?: string | undefined;
611
652
  fields?: {
612
- body?: string | undefined;
613
653
  title?: string | undefined;
654
+ body?: string | undefined;
614
655
  description?: string | undefined;
615
656
  lastModified?: string | undefined;
616
657
  slug?: string | undefined;
@@ -628,14 +669,14 @@ declare const contentSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
628
669
  status: z.ZodOptional<z.ZodString>;
629
670
  title: z.ZodOptional<z.ZodString>;
630
671
  }, "strict", z.ZodTypeAny, {
631
- status?: string | undefined;
632
672
  title?: string | undefined;
673
+ status?: string | undefined;
633
674
  description?: string | undefined;
634
675
  order?: string | undefined;
635
676
  slug?: string | undefined;
636
677
  }, {
637
- status?: string | undefined;
638
678
  title?: string | undefined;
679
+ status?: string | undefined;
639
680
  description?: string | undefined;
640
681
  order?: string | undefined;
641
682
  slug?: string | undefined;
@@ -649,8 +690,8 @@ declare const contentSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
649
690
  prefix?: string | undefined;
650
691
  pollInterval?: number | undefined;
651
692
  properties?: {
652
- status?: string | undefined;
653
693
  title?: string | undefined;
694
+ status?: string | undefined;
654
695
  description?: string | undefined;
655
696
  order?: string | undefined;
656
697
  slug?: string | undefined;
@@ -662,8 +703,8 @@ declare const contentSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
662
703
  prefix?: string | undefined;
663
704
  pollInterval?: number | undefined;
664
705
  properties?: {
665
- status?: string | undefined;
666
706
  title?: string | undefined;
707
+ status?: string | undefined;
667
708
  description?: string | undefined;
668
709
  order?: string | undefined;
669
710
  slug?: string | undefined;
@@ -756,9 +797,34 @@ declare const aiConfigSchema: z.ZodObject<{
756
797
  icon?: string | undefined;
757
798
  }[] | undefined;
758
799
  }>>;
759
- llmsTxt: z.ZodDefault<z.ZodBoolean>;
800
+ /**
801
+ * `llms.txt`/`llms-full.txt` emission. A bare boolean toggles it; the object
802
+ * form adds `openapi: false` to keep generated API reference pages out of
803
+ * both files (e.g. when the configured spec is example content).
804
+ */
805
+ llmsTxt: z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
806
+ enabled: z.ZodDefault<z.ZodBoolean>;
807
+ openapi: z.ZodDefault<z.ZodBoolean>;
808
+ }, "strict", z.ZodTypeAny, {
809
+ enabled: boolean;
810
+ openapi: boolean;
811
+ }, {
812
+ enabled?: boolean | undefined;
813
+ openapi?: boolean | undefined;
814
+ }>]>>, {
815
+ enabled: boolean;
816
+ openapi: boolean;
817
+ }, boolean | {
818
+ enabled?: boolean | undefined;
819
+ openapi?: boolean | undefined;
820
+ } | undefined>;
821
+ markdownComponents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<ComponentMarkdown, z.ZodTypeDef, ComponentMarkdown>>>;
760
822
  }, "strict", z.ZodTypeAny, {
761
- llmsTxt: boolean;
823
+ llmsTxt: {
824
+ enabled: boolean;
825
+ openapi: boolean;
826
+ };
827
+ markdownComponents: Record<string, ComponentMarkdown>;
762
828
  ask?: {
763
829
  enabled: boolean;
764
830
  model: string;
@@ -782,7 +848,11 @@ declare const aiConfigSchema: z.ZodObject<{
782
848
  icon?: string | undefined;
783
849
  }[] | undefined;
784
850
  } | undefined;
785
- llmsTxt?: boolean | undefined;
851
+ llmsTxt?: boolean | {
852
+ enabled?: boolean | undefined;
853
+ openapi?: boolean | undefined;
854
+ } | undefined;
855
+ markdownComponents?: Record<string, ComponentMarkdown> | undefined;
786
856
  }>;
787
857
  export type AskAiProvider = (typeof askAiProviders)[number];
788
858
  export type AskAiConfig = NonNullable<z.infer<typeof aiConfigSchema>["ask"]>;
@@ -983,9 +1053,34 @@ export declare const blumeConfigSchema: z.ZodObject<{
983
1053
  icon?: string | undefined;
984
1054
  }[] | undefined;
985
1055
  }>>;
986
- llmsTxt: z.ZodDefault<z.ZodBoolean>;
1056
+ /**
1057
+ * `llms.txt`/`llms-full.txt` emission. A bare boolean toggles it; the object
1058
+ * form adds `openapi: false` to keep generated API reference pages out of
1059
+ * both files (e.g. when the configured spec is example content).
1060
+ */
1061
+ llmsTxt: z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
1062
+ enabled: z.ZodDefault<z.ZodBoolean>;
1063
+ openapi: z.ZodDefault<z.ZodBoolean>;
1064
+ }, "strict", z.ZodTypeAny, {
1065
+ enabled: boolean;
1066
+ openapi: boolean;
1067
+ }, {
1068
+ enabled?: boolean | undefined;
1069
+ openapi?: boolean | undefined;
1070
+ }>]>>, {
1071
+ enabled: boolean;
1072
+ openapi: boolean;
1073
+ }, boolean | {
1074
+ enabled?: boolean | undefined;
1075
+ openapi?: boolean | undefined;
1076
+ } | undefined>;
1077
+ markdownComponents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<ComponentMarkdown, z.ZodTypeDef, ComponentMarkdown>>>;
987
1078
  }, "strict", z.ZodTypeAny, {
988
- llmsTxt: boolean;
1079
+ llmsTxt: {
1080
+ enabled: boolean;
1081
+ openapi: boolean;
1082
+ };
1083
+ markdownComponents: Record<string, ComponentMarkdown>;
989
1084
  ask?: {
990
1085
  enabled: boolean;
991
1086
  model: string;
@@ -1009,7 +1104,11 @@ export declare const blumeConfigSchema: z.ZodObject<{
1009
1104
  icon?: string | undefined;
1010
1105
  }[] | undefined;
1011
1106
  } | undefined;
1012
- llmsTxt?: boolean | undefined;
1107
+ llmsTxt?: boolean | {
1108
+ enabled?: boolean | undefined;
1109
+ openapi?: boolean | undefined;
1110
+ } | undefined;
1111
+ markdownComponents?: Record<string, ComponentMarkdown> | undefined;
1013
1112
  }>>;
1014
1113
  analytics: z.ZodOptional<z.ZodObject<{
1015
1114
  posthog: z.ZodOptional<z.ZodObject<{
@@ -1126,28 +1225,28 @@ export declare const blumeConfigSchema: z.ZodObject<{
1126
1225
  href: z.ZodString;
1127
1226
  text: z.ZodString;
1128
1227
  }, "strict", z.ZodTypeAny, {
1129
- href: string;
1130
1228
  text: string;
1131
- }, {
1132
1229
  href: string;
1230
+ }, {
1133
1231
  text: string;
1232
+ href: string;
1134
1233
  }>>;
1135
1234
  }, "strict", z.ZodTypeAny, {
1136
1235
  content: string;
1137
1236
  dismissible: boolean;
1138
1237
  id?: string | undefined;
1139
1238
  link?: {
1140
- href: string;
1141
1239
  text: string;
1240
+ href: string;
1142
1241
  } | undefined;
1143
1242
  }, {
1144
1243
  content: string;
1145
1244
  id?: string | undefined;
1146
- dismissible?: boolean | undefined;
1147
1245
  link?: {
1148
- href: string;
1149
1246
  text: string;
1247
+ href: string;
1150
1248
  } | undefined;
1249
+ dismissible?: boolean | undefined;
1151
1250
  }>]>>;
1152
1251
  /**
1153
1252
  * Site-wide mount point prepended to every generated route (e.g. `/docs`),
@@ -1176,15 +1275,15 @@ export declare const blumeConfigSchema: z.ZodObject<{
1176
1275
  type: z.ZodLiteral<"filesystem">;
1177
1276
  }, "strict", z.ZodTypeAny, {
1178
1277
  type: "filesystem";
1278
+ root: string;
1179
1279
  exclude: string[];
1180
1280
  include: string[];
1181
- root: string;
1182
1281
  prefix?: string | undefined;
1183
1282
  }, {
1184
1283
  type: "filesystem";
1284
+ root?: string | undefined;
1185
1285
  exclude?: string[] | undefined;
1186
1286
  include?: string[] | undefined;
1187
- root?: string | undefined;
1188
1287
  prefix?: string | undefined;
1189
1288
  }>, z.ZodObject<{
1190
1289
  /** Explicit list of source-relative file paths to fetch from `url`. */
@@ -1287,14 +1386,14 @@ export declare const blumeConfigSchema: z.ZodObject<{
1287
1386
  slug: z.ZodOptional<z.ZodString>;
1288
1387
  title: z.ZodOptional<z.ZodString>;
1289
1388
  }, "strict", z.ZodTypeAny, {
1290
- body?: string | undefined;
1291
1389
  title?: string | undefined;
1390
+ body?: string | undefined;
1292
1391
  description?: string | undefined;
1293
1392
  lastModified?: string | undefined;
1294
1393
  slug?: string | undefined;
1295
1394
  }, {
1296
- body?: string | undefined;
1297
1395
  title?: string | undefined;
1396
+ body?: string | undefined;
1298
1397
  description?: string | undefined;
1299
1398
  lastModified?: string | undefined;
1300
1399
  slug?: string | undefined;
@@ -1315,8 +1414,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1315
1414
  pollInterval?: number | undefined;
1316
1415
  apiVersion?: string | undefined;
1317
1416
  fields?: {
1318
- body?: string | undefined;
1319
1417
  title?: string | undefined;
1418
+ body?: string | undefined;
1320
1419
  description?: string | undefined;
1321
1420
  lastModified?: string | undefined;
1322
1421
  slug?: string | undefined;
@@ -1330,8 +1429,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1330
1429
  pollInterval?: number | undefined;
1331
1430
  apiVersion?: string | undefined;
1332
1431
  fields?: {
1333
- body?: string | undefined;
1334
1432
  title?: string | undefined;
1433
+ body?: string | undefined;
1335
1434
  description?: string | undefined;
1336
1435
  lastModified?: string | undefined;
1337
1436
  slug?: string | undefined;
@@ -1349,14 +1448,14 @@ export declare const blumeConfigSchema: z.ZodObject<{
1349
1448
  status: z.ZodOptional<z.ZodString>;
1350
1449
  title: z.ZodOptional<z.ZodString>;
1351
1450
  }, "strict", z.ZodTypeAny, {
1352
- status?: string | undefined;
1353
1451
  title?: string | undefined;
1452
+ status?: string | undefined;
1354
1453
  description?: string | undefined;
1355
1454
  order?: string | undefined;
1356
1455
  slug?: string | undefined;
1357
1456
  }, {
1358
- status?: string | undefined;
1359
1457
  title?: string | undefined;
1458
+ status?: string | undefined;
1360
1459
  description?: string | undefined;
1361
1460
  order?: string | undefined;
1362
1461
  slug?: string | undefined;
@@ -1370,8 +1469,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1370
1469
  prefix?: string | undefined;
1371
1470
  pollInterval?: number | undefined;
1372
1471
  properties?: {
1373
- status?: string | undefined;
1374
1472
  title?: string | undefined;
1473
+ status?: string | undefined;
1375
1474
  description?: string | undefined;
1376
1475
  order?: string | undefined;
1377
1476
  slug?: string | undefined;
@@ -1383,8 +1482,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1383
1482
  prefix?: string | undefined;
1384
1483
  pollInterval?: number | undefined;
1385
1484
  properties?: {
1386
- status?: string | undefined;
1387
1485
  title?: string | undefined;
1486
+ status?: string | undefined;
1388
1487
  description?: string | undefined;
1389
1488
  order?: string | undefined;
1390
1489
  slug?: string | undefined;
@@ -1401,16 +1500,16 @@ export declare const blumeConfigSchema: z.ZodObject<{
1401
1500
  source: ContentSource;
1402
1501
  }>]>, "many">>;
1403
1502
  }, "strict", z.ZodTypeAny, {
1503
+ root: string;
1404
1504
  exclude: string[];
1405
1505
  defaultType: string;
1406
1506
  include: string[];
1407
1507
  pages: string;
1408
- root: string;
1409
1508
  sources?: ({
1410
1509
  type: "filesystem";
1510
+ root: string;
1411
1511
  exclude: string[];
1412
1512
  include: string[];
1413
- root: string;
1414
1513
  prefix?: string | undefined;
1415
1514
  } | {
1416
1515
  type: "mdx-remote";
@@ -1443,8 +1542,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1443
1542
  pollInterval?: number | undefined;
1444
1543
  apiVersion?: string | undefined;
1445
1544
  fields?: {
1446
- body?: string | undefined;
1447
1545
  title?: string | undefined;
1546
+ body?: string | undefined;
1448
1547
  description?: string | undefined;
1449
1548
  lastModified?: string | undefined;
1450
1549
  slug?: string | undefined;
@@ -1455,8 +1554,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1455
1554
  prefix?: string | undefined;
1456
1555
  pollInterval?: number | undefined;
1457
1556
  properties?: {
1458
- status?: string | undefined;
1459
1557
  title?: string | undefined;
1558
+ status?: string | undefined;
1460
1559
  description?: string | undefined;
1461
1560
  order?: string | undefined;
1462
1561
  slug?: string | undefined;
@@ -1467,12 +1566,13 @@ export declare const blumeConfigSchema: z.ZodObject<{
1467
1566
  source: ContentSource;
1468
1567
  })[] | undefined;
1469
1568
  }, {
1569
+ root?: string | undefined;
1470
1570
  exclude?: string[] | undefined;
1471
1571
  sources?: ({
1472
1572
  type: "filesystem";
1573
+ root?: string | undefined;
1473
1574
  exclude?: string[] | undefined;
1474
1575
  include?: string[] | undefined;
1475
- root?: string | undefined;
1476
1576
  prefix?: string | undefined;
1477
1577
  } | {
1478
1578
  type: "mdx-remote";
@@ -1505,8 +1605,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1505
1605
  pollInterval?: number | undefined;
1506
1606
  apiVersion?: string | undefined;
1507
1607
  fields?: {
1508
- body?: string | undefined;
1509
1608
  title?: string | undefined;
1609
+ body?: string | undefined;
1510
1610
  description?: string | undefined;
1511
1611
  lastModified?: string | undefined;
1512
1612
  slug?: string | undefined;
@@ -1517,8 +1617,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
1517
1617
  prefix?: string | undefined;
1518
1618
  pollInterval?: number | undefined;
1519
1619
  properties?: {
1520
- status?: string | undefined;
1521
1620
  title?: string | undefined;
1621
+ status?: string | undefined;
1522
1622
  description?: string | undefined;
1523
1623
  order?: string | undefined;
1524
1624
  slug?: string | undefined;
@@ -1531,7 +1631,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
1531
1631
  defaultType?: string | undefined;
1532
1632
  include?: string[] | undefined;
1533
1633
  pages?: string | undefined;
1534
- root?: string | undefined;
1535
1634
  }>>;
1536
1635
  deployment: z.ZodDefault<z.ZodObject<{
1537
1636
  adapter: z.ZodDefault<z.ZodNullable<z.ZodEnum<["vercel", "node", "netlify", "cloudflare"]>>>;
@@ -1705,16 +1804,16 @@ export declare const blumeConfigSchema: z.ZodObject<{
1705
1804
  dark?: string | undefined;
1706
1805
  light?: string | undefined;
1707
1806
  } | undefined;
1708
- href?: string | undefined;
1709
1807
  text?: string | undefined;
1808
+ href?: string | undefined;
1710
1809
  }, {
1711
1810
  image?: string | {
1712
1811
  alt?: string | undefined;
1713
1812
  dark?: string | undefined;
1714
1813
  light?: string | undefined;
1715
1814
  } | undefined;
1716
- href?: string | undefined;
1717
1815
  text?: string | undefined;
1816
+ href?: string | undefined;
1718
1817
  }>]>>;
1719
1818
  markdown: z.ZodDefault<z.ZodObject<{
1720
1819
  /** Code-block rendering: language icons and line wrapping. */
@@ -1802,7 +1901,11 @@ export declare const blumeConfigSchema: z.ZodObject<{
1802
1901
  instructions: z.ZodOptional<z.ZodString>;
1803
1902
  /** Server name shown to clients; defaults to the site title. */
1804
1903
  name: z.ZodOptional<z.ZodString>;
1805
- route: z.ZodDefault<z.ZodString>;
1904
+ /**
1905
+ * Normalized like `openapi.route`: a slash-less value would otherwise be
1906
+ * string-concatenated onto the site origin (`https://acme.comdocs-mcp`).
1907
+ */
1908
+ route: z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>;
1806
1909
  }, "strict", z.ZodTypeAny, {
1807
1910
  enabled: boolean;
1808
1911
  route: string;
@@ -2321,7 +2424,24 @@ export declare const blumeConfigSchema: z.ZodObject<{
2321
2424
  sitemap: z.ZodDefault<z.ZodBoolean>;
2322
2425
  /** Emit schema.org JSON-LD in each page's <head>. */
2323
2426
  structuredData: z.ZodDefault<z.ZodBoolean>;
2427
+ /** X (Twitter) account attribution for share cards. */
2428
+ x: z.ZodDefault<z.ZodObject<{
2429
+ /** The author's account, overridable per page via `seo.x.creator`. */
2430
+ creator: z.ZodOptional<z.ZodEffects<z.ZodString, string | undefined, string>>;
2431
+ /** The site's own account, e.g. `@blume`. */
2432
+ handle: z.ZodOptional<z.ZodEffects<z.ZodString, string | undefined, string>>;
2433
+ }, "strict", z.ZodTypeAny, {
2434
+ creator?: string | undefined;
2435
+ handle?: string | undefined;
2436
+ }, {
2437
+ creator?: string | undefined;
2438
+ handle?: string | undefined;
2439
+ }>>;
2324
2440
  }, "strict", z.ZodTypeAny, {
2441
+ x: {
2442
+ creator?: string | undefined;
2443
+ handle?: string | undefined;
2444
+ };
2325
2445
  agentReadability: boolean;
2326
2446
  contentSignals: {
2327
2447
  search: boolean;
@@ -2340,6 +2460,10 @@ export declare const blumeConfigSchema: z.ZodObject<{
2340
2460
  sitemap: boolean;
2341
2461
  structuredData: boolean;
2342
2462
  }, {
2463
+ x?: {
2464
+ creator?: string | undefined;
2465
+ handle?: string | undefined;
2466
+ } | undefined;
2343
2467
  agentReadability?: boolean | undefined;
2344
2468
  contentSignals?: boolean | {
2345
2469
  search?: boolean | undefined;
@@ -2470,7 +2594,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2470
2594
  radius?: "md" | "none" | "sm" | "lg" | undefined;
2471
2595
  }>>;
2472
2596
  title: z.ZodDefault<z.ZodString>;
2473
- toc: z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
2597
+ toc: z.ZodEffects<z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
2474
2598
  maxHeadingLevel: z.ZodOptional<z.ZodNumber>;
2475
2599
  minHeadingLevel: z.ZodOptional<z.ZodNumber>;
2476
2600
  }, "strict", z.ZodTypeAny, {
@@ -2486,10 +2610,19 @@ export declare const blumeConfigSchema: z.ZodObject<{
2486
2610
  }, boolean | {
2487
2611
  maxHeadingLevel?: number | undefined;
2488
2612
  minHeadingLevel?: number | undefined;
2613
+ } | undefined>, {
2614
+ enabled: boolean;
2615
+ maxLevel: number;
2616
+ minLevel: number;
2617
+ }, boolean | {
2618
+ maxHeadingLevel?: number | undefined;
2619
+ minHeadingLevel?: number | undefined;
2489
2620
  } | undefined>;
2490
2621
  }, "strict", z.ZodTypeAny, {
2491
2622
  title: string;
2492
- feedback: boolean;
2623
+ lastModified: boolean | {
2624
+ type: "git" | "frontmatter";
2625
+ };
2493
2626
  search: {
2494
2627
  provider: "none" | "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense";
2495
2628
  indexing: {
@@ -2516,15 +2649,11 @@ export declare const blumeConfigSchema: z.ZodObject<{
2516
2649
  protocol?: "http" | "https" | undefined;
2517
2650
  } | undefined;
2518
2651
  };
2519
- toc: {
2520
- enabled: boolean;
2521
- maxLevel: number;
2522
- minLevel: number;
2523
- };
2524
- lastModified: boolean | {
2525
- type: "git" | "frontmatter";
2526
- };
2527
2652
  seo: {
2653
+ x: {
2654
+ creator?: string | undefined;
2655
+ handle?: string | undefined;
2656
+ };
2528
2657
  agentReadability: boolean;
2529
2658
  contentSignals: {
2530
2659
  search: boolean;
@@ -2543,8 +2672,26 @@ export declare const blumeConfigSchema: z.ZodObject<{
2543
2672
  sitemap: boolean;
2544
2673
  structuredData: boolean;
2545
2674
  };
2675
+ openapi: {
2676
+ enabled: boolean;
2677
+ route: string;
2678
+ sources: {
2679
+ spec: string;
2680
+ label?: string | undefined;
2681
+ route?: string | undefined;
2682
+ }[];
2683
+ codeSamples: string[];
2684
+ expandSchemas: boolean;
2685
+ renderer: "blume" | "scalar";
2686
+ spec?: string | undefined;
2687
+ theme?: string | undefined;
2688
+ };
2546
2689
  ai: {
2547
- llmsTxt: boolean;
2690
+ llmsTxt: {
2691
+ enabled: boolean;
2692
+ openapi: boolean;
2693
+ };
2694
+ markdownComponents: Record<string, ComponentMarkdown>;
2548
2695
  ask?: {
2549
2696
  enabled: boolean;
2550
2697
  model: string;
@@ -2558,16 +2705,16 @@ export declare const blumeConfigSchema: z.ZodObject<{
2558
2705
  } | undefined;
2559
2706
  };
2560
2707
  content: {
2708
+ root: string;
2561
2709
  exclude: string[];
2562
2710
  defaultType: string;
2563
2711
  include: string[];
2564
2712
  pages: string;
2565
- root: string;
2566
2713
  sources?: ({
2567
2714
  type: "filesystem";
2715
+ root: string;
2568
2716
  exclude: string[];
2569
2717
  include: string[];
2570
- root: string;
2571
2718
  prefix?: string | undefined;
2572
2719
  } | {
2573
2720
  type: "mdx-remote";
@@ -2600,8 +2747,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
2600
2747
  pollInterval?: number | undefined;
2601
2748
  apiVersion?: string | undefined;
2602
2749
  fields?: {
2603
- body?: string | undefined;
2604
2750
  title?: string | undefined;
2751
+ body?: string | undefined;
2605
2752
  description?: string | undefined;
2606
2753
  lastModified?: string | undefined;
2607
2754
  slug?: string | undefined;
@@ -2612,8 +2759,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
2612
2759
  prefix?: string | undefined;
2613
2760
  pollInterval?: number | undefined;
2614
2761
  properties?: {
2615
- status?: string | undefined;
2616
2762
  title?: string | undefined;
2763
+ status?: string | undefined;
2617
2764
  description?: string | undefined;
2618
2765
  order?: string | undefined;
2619
2766
  slug?: string | undefined;
@@ -2673,6 +2820,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
2673
2820
  epub: boolean;
2674
2821
  pdf: boolean;
2675
2822
  };
2823
+ feedback: boolean;
2676
2824
  markdown: {
2677
2825
  code: {
2678
2826
  icons: boolean;
@@ -2728,20 +2876,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2728
2876
  }[] | undefined;
2729
2877
  }[] | undefined;
2730
2878
  };
2731
- openapi: {
2732
- enabled: boolean;
2733
- route: string;
2734
- sources: {
2735
- spec: string;
2736
- label?: string | undefined;
2737
- route?: string | undefined;
2738
- }[];
2739
- codeSamples: string[];
2740
- expandSchemas: boolean;
2741
- renderer: "blume" | "scalar";
2742
- spec?: string | undefined;
2743
- theme?: string | undefined;
2744
- };
2745
2879
  react: {
2746
2880
  compiler: boolean;
2747
2881
  };
@@ -2750,6 +2884,11 @@ export declare const blumeConfigSchema: z.ZodObject<{
2750
2884
  from: string;
2751
2885
  to: string;
2752
2886
  }[];
2887
+ toc: {
2888
+ enabled: boolean;
2889
+ maxLevel: number;
2890
+ minLevel: number;
2891
+ };
2753
2892
  description?: string | undefined;
2754
2893
  analytics?: {
2755
2894
  posthog?: {
@@ -2769,8 +2908,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
2769
2908
  dismissible: boolean;
2770
2909
  id?: string | undefined;
2771
2910
  link?: {
2772
- href: string;
2773
2911
  text: string;
2912
+ href: string;
2774
2913
  } | undefined;
2775
2914
  } | undefined;
2776
2915
  github?: {
@@ -2797,12 +2936,15 @@ export declare const blumeConfigSchema: z.ZodObject<{
2797
2936
  dark?: string | undefined;
2798
2937
  light?: string | undefined;
2799
2938
  } | undefined;
2800
- href?: string | undefined;
2801
2939
  text?: string | undefined;
2940
+ href?: string | undefined;
2802
2941
  } | undefined;
2803
2942
  }, {
2804
2943
  title?: string | undefined;
2805
- feedback?: boolean | undefined;
2944
+ description?: string | undefined;
2945
+ lastModified?: boolean | {
2946
+ type?: "git" | "frontmatter" | undefined;
2947
+ } | undefined;
2806
2948
  search?: {
2807
2949
  provider?: "none" | "algolia" | "mixedbread" | "orama" | "pagefind" | "flexsearch" | "orama-cloud" | "typesense" | undefined;
2808
2950
  algolia?: {
@@ -2829,15 +2971,11 @@ export declare const blumeConfigSchema: z.ZodObject<{
2829
2971
  protocol?: "http" | "https" | undefined;
2830
2972
  } | undefined;
2831
2973
  } | undefined;
2832
- toc?: boolean | {
2833
- maxHeadingLevel?: number | undefined;
2834
- minHeadingLevel?: number | undefined;
2835
- } | undefined;
2836
- description?: string | undefined;
2837
- lastModified?: boolean | {
2838
- type?: "git" | "frontmatter" | undefined;
2839
- } | undefined;
2840
2974
  seo?: {
2975
+ x?: {
2976
+ creator?: string | undefined;
2977
+ handle?: string | undefined;
2978
+ } | undefined;
2841
2979
  agentReadability?: boolean | undefined;
2842
2980
  contentSignals?: boolean | {
2843
2981
  search?: boolean | undefined;
@@ -2856,6 +2994,20 @@ export declare const blumeConfigSchema: z.ZodObject<{
2856
2994
  sitemap?: boolean | undefined;
2857
2995
  structuredData?: boolean | undefined;
2858
2996
  } | undefined;
2997
+ openapi?: {
2998
+ enabled?: boolean | undefined;
2999
+ route?: string | undefined;
3000
+ spec?: string | undefined;
3001
+ sources?: {
3002
+ spec: string;
3003
+ label?: string | undefined;
3004
+ route?: string | undefined;
3005
+ }[] | undefined;
3006
+ theme?: string | undefined;
3007
+ codeSamples?: string[] | undefined;
3008
+ expandSchemas?: boolean | undefined;
3009
+ renderer?: "blume" | "scalar" | undefined;
3010
+ } | undefined;
2859
3011
  ai?: {
2860
3012
  ask?: {
2861
3013
  apiKeyEnv?: string | undefined;
@@ -2868,15 +3020,20 @@ export declare const blumeConfigSchema: z.ZodObject<{
2868
3020
  icon?: string | undefined;
2869
3021
  }[] | undefined;
2870
3022
  } | undefined;
2871
- llmsTxt?: boolean | undefined;
3023
+ llmsTxt?: boolean | {
3024
+ enabled?: boolean | undefined;
3025
+ openapi?: boolean | undefined;
3026
+ } | undefined;
3027
+ markdownComponents?: Record<string, ComponentMarkdown> | undefined;
2872
3028
  } | undefined;
2873
3029
  content?: {
3030
+ root?: string | undefined;
2874
3031
  exclude?: string[] | undefined;
2875
3032
  sources?: ({
2876
3033
  type: "filesystem";
3034
+ root?: string | undefined;
2877
3035
  exclude?: string[] | undefined;
2878
3036
  include?: string[] | undefined;
2879
- root?: string | undefined;
2880
3037
  prefix?: string | undefined;
2881
3038
  } | {
2882
3039
  type: "mdx-remote";
@@ -2909,8 +3066,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
2909
3066
  pollInterval?: number | undefined;
2910
3067
  apiVersion?: string | undefined;
2911
3068
  fields?: {
2912
- body?: string | undefined;
2913
3069
  title?: string | undefined;
3070
+ body?: string | undefined;
2914
3071
  description?: string | undefined;
2915
3072
  lastModified?: string | undefined;
2916
3073
  slug?: string | undefined;
@@ -2921,8 +3078,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
2921
3078
  prefix?: string | undefined;
2922
3079
  pollInterval?: number | undefined;
2923
3080
  properties?: {
2924
- status?: string | undefined;
2925
3081
  title?: string | undefined;
3082
+ status?: string | undefined;
2926
3083
  description?: string | undefined;
2927
3084
  order?: string | undefined;
2928
3085
  slug?: string | undefined;
@@ -2935,7 +3092,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
2935
3092
  defaultType?: string | undefined;
2936
3093
  include?: string[] | undefined;
2937
3094
  pages?: string | undefined;
2938
- root?: string | undefined;
2939
3095
  } | undefined;
2940
3096
  analytics?: {
2941
3097
  posthog?: {
@@ -2987,11 +3143,11 @@ export declare const blumeConfigSchema: z.ZodObject<{
2987
3143
  banner?: string | {
2988
3144
  content: string;
2989
3145
  id?: string | undefined;
2990
- dismissible?: boolean | undefined;
2991
3146
  link?: {
2992
- href: string;
2993
3147
  text: string;
3148
+ href: string;
2994
3149
  } | undefined;
3150
+ dismissible?: boolean | undefined;
2995
3151
  } | undefined;
2996
3152
  basePath?: string | undefined;
2997
3153
  github?: {
@@ -3014,6 +3170,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
3014
3170
  epub?: boolean | undefined;
3015
3171
  pdf?: boolean | undefined;
3016
3172
  } | undefined;
3173
+ feedback?: boolean | undefined;
3017
3174
  i18n?: {
3018
3175
  locales: {
3019
3176
  code: string;
@@ -3032,8 +3189,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
3032
3189
  dark?: string | undefined;
3033
3190
  light?: string | undefined;
3034
3191
  } | undefined;
3035
- href?: string | undefined;
3036
3192
  text?: string | undefined;
3193
+ href?: string | undefined;
3037
3194
  } | undefined;
3038
3195
  markdown?: {
3039
3196
  code?: {
@@ -3090,20 +3247,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
3090
3247
  }[] | undefined;
3091
3248
  }[] | undefined;
3092
3249
  } | undefined;
3093
- openapi?: {
3094
- enabled?: boolean | undefined;
3095
- route?: string | undefined;
3096
- spec?: string | undefined;
3097
- sources?: {
3098
- spec: string;
3099
- label?: string | undefined;
3100
- route?: string | undefined;
3101
- }[] | undefined;
3102
- theme?: string | undefined;
3103
- codeSamples?: string[] | undefined;
3104
- expandSchemas?: boolean | undefined;
3105
- renderer?: "blume" | "scalar" | undefined;
3106
- } | undefined;
3107
3250
  react?: {
3108
3251
  compiler?: boolean | undefined;
3109
3252
  } | undefined;
@@ -3112,6 +3255,10 @@ export declare const blumeConfigSchema: z.ZodObject<{
3112
3255
  to: string;
3113
3256
  status?: 301 | 302 | 307 | 308 | undefined;
3114
3257
  }[] | undefined;
3258
+ toc?: boolean | {
3259
+ maxHeadingLevel?: number | undefined;
3260
+ minHeadingLevel?: number | undefined;
3261
+ } | undefined;
3115
3262
  }>;
3116
3263
  /** Resolved config: every field present after defaults are applied. */
3117
3264
  export type ResolvedConfig = z.infer<typeof blumeConfigSchema>;