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