blume 1.1.4 → 1.2.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.
- package/CHANGELOG.md +27 -0
- package/README.md +1 -1
- package/dist/cli/index.js +1319 -66
- package/dist/cli/index.js.map +34 -23
- package/dist/types/core/config-input.d.ts +18 -0
- package/dist/types/core/config.d.ts +4 -0
- package/dist/types/core/data.d.ts +1 -0
- package/dist/types/core/schema.d.ts +132 -17
- package/dist/types/core/types.d.ts +5 -3
- package/dist/types/openapi/references.d.ts +6 -0
- package/docs/advanced/api-reference.mdx +27 -0
- package/docs/advanced/changelog.mdx +10 -0
- package/docs/configuration/ai.mdx +38 -2
- package/docs/configuration/customization.mdx +27 -0
- package/docs/configuration/index.mdx +5 -0
- package/docs/configuration/search.mdx +15 -0
- package/docs/content/navigation.mdx +12 -0
- package/docs/reference/cli.mdx +17 -13
- package/docs/reference/eval.mdx +106 -0
- package/docs/reference/meta.ts +1 -1
- package/package.json +2 -2
- package/src/ai/agent-readability.ts +19 -1
- package/src/ai/ask-context.ts +7 -1
- package/src/ai/ask-data.ts +1 -0
- package/src/ai/llms.ts +9 -4
- package/src/ai/mcp/data.ts +7 -0
- package/src/ai/mcp/server.ts +24 -8
- package/src/ai/mcp/stdio.ts +38 -0
- package/src/astro/generate.ts +25 -2
- package/src/astro/templates.ts +129 -26
- package/src/cli/commands/eval.ts +291 -0
- package/src/cli/commands/init.ts +9 -4
- package/src/cli/commands/mcp-stdio.ts +36 -0
- package/src/cli/index.ts +4 -0
- package/src/cli/required-secrets.ts +1 -1
- package/src/components/content/AccordionItem.astro +2 -2
- package/src/components/content/TreeFolder.astro +1 -2
- package/src/components/islands/AskAI.astro +9 -2
- package/src/components/islands/ask-ai.tsx +4 -2
- package/src/components/islands/hooks.ts +10 -4
- package/src/components/layout/NavTree.astro +38 -20
- package/src/components/layout/ReferenceLayout.astro +4 -0
- package/src/components/layout/RootLayout.astro +2 -2
- package/src/components/layout/search/orama.ts +5 -2
- package/src/components/openapi/SchemaProperty.astro +3 -3
- package/src/core/config-input.ts +18 -0
- package/src/core/config.ts +4 -0
- package/src/core/data.ts +1 -0
- package/src/core/graph.ts +1 -0
- package/src/core/navigation.ts +9 -2
- package/src/core/schema.ts +51 -4
- package/src/core/server-features.ts +1 -1
- package/src/core/types.ts +5 -3
- package/src/eval/agents.ts +340 -0
- package/src/eval/findings.ts +103 -0
- package/src/eval/prompts.ts +78 -0
- package/src/eval/report.ts +214 -0
- package/src/eval/run.ts +290 -0
- package/src/eval/schema.ts +124 -0
- package/src/openapi/references.ts +23 -2
- package/src/openapi/render-mdx.ts +27 -4
- package/src/openapi/scalar.ts +1 -0
- package/src/openapi/source.ts +11 -4
- package/src/registry/eject.ts +23 -1
- package/src/search/build.ts +4 -3
- package/src/search/orama-index.ts +55 -5
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AstroIntegration } from "astro";
|
|
1
2
|
import type { ComponentMarkdown } from "../ai/component-markdown.ts";
|
|
2
3
|
import type { CodeTheme } from "../markdown/themes.ts";
|
|
3
4
|
import type { FontSlug } from "../theme/fonts.ts";
|
|
@@ -241,6 +242,15 @@ export interface NavTabItem {
|
|
|
241
242
|
}
|
|
242
243
|
/** A top-level tab in the header, optionally opening a dropdown of items. */
|
|
243
244
|
export interface NavTab {
|
|
245
|
+
/**
|
|
246
|
+
* Where the tab links to, when that differs from `path`. `path` scopes the
|
|
247
|
+
* sidebar section and matches the active tab; without `href`, a section whose
|
|
248
|
+
* `path` isn't itself a page falls back to the section's first page, or keeps
|
|
249
|
+
* `path` when the section has no linkable page at all. Set this to send
|
|
250
|
+
* readers somewhere else — e.g. a generated `/changelog` index, or a custom
|
|
251
|
+
* `.astro` landing page, neither of which is part of the content tree.
|
|
252
|
+
*/
|
|
253
|
+
href?: string;
|
|
244
254
|
/** Lucide icon name shown beside the label. */
|
|
245
255
|
icon?: string;
|
|
246
256
|
/** Dropdown items; omit for a plain link tab. */
|
|
@@ -444,6 +454,12 @@ export interface AskConfig {
|
|
|
444
454
|
baseUrl?: string;
|
|
445
455
|
/** Turn Ask AI on. Defaults to `false`. */
|
|
446
456
|
enabled?: boolean;
|
|
457
|
+
/**
|
|
458
|
+
* Existing Ask AI endpoint to call instead of generating one. This keeps a
|
|
459
|
+
* Blume site static while an API backend owns retrieval, model access, rate
|
|
460
|
+
* limiting, and streaming. Accepts an absolute URL or root-relative path.
|
|
461
|
+
*/
|
|
462
|
+
endpoint?: string;
|
|
447
463
|
/** Model id to use. Defaults to `openai/gpt-5.5`. */
|
|
448
464
|
model?: string;
|
|
449
465
|
/** Which backend routes the request. Defaults to `gateway`. */
|
|
@@ -961,6 +977,8 @@ export interface BlumeConfig {
|
|
|
961
977
|
github?: GithubConfig;
|
|
962
978
|
/** Internationalization (opt-in multi-locale). */
|
|
963
979
|
i18n?: I18nConfig;
|
|
980
|
+
/** Astro integrations appended after Blume's built-ins, in declaration order. */
|
|
981
|
+
integrations?: AstroIntegration[];
|
|
964
982
|
/** "Last updated" timestamps from git history or frontmatter. Defaults to `false`. */
|
|
965
983
|
lastModified?: LastModifiedConfig;
|
|
966
984
|
/** Site logo / brand mark. */
|
|
@@ -76,6 +76,10 @@ import type { Diagnostic } from "./types.ts";
|
|
|
76
76
|
* - `analytics` — PostHog, Vercel, or arbitrary `scripts` (Plausible, Fathom,
|
|
77
77
|
* GA, …).
|
|
78
78
|
*
|
|
79
|
+
* **Astro**
|
|
80
|
+
* - `integrations` — Astro integrations appended after Blume's built-ins, in
|
|
81
|
+
* declaration order. Install and maintain each integration in the site.
|
|
82
|
+
*
|
|
79
83
|
* **Deployment & i18n**
|
|
80
84
|
* - `deployment` — `site` URL (needed for absolute links, sitemaps, and OG),
|
|
81
85
|
* `adapter` (`vercel`/`node`/`netlify`/`cloudflare`), `output`
|
|
@@ -95,6 +95,7 @@ export interface BlumeDataConfig {
|
|
|
95
95
|
appleIcon: BlumeFavicon | null;
|
|
96
96
|
/** Ask AI empty-state suggestions, or `null` when Ask AI is off. */
|
|
97
97
|
ask: {
|
|
98
|
+
endpoint: string | null;
|
|
98
99
|
suggestions: NonNullable<ResolvedConfig["ai"]["ask"]>["suggestions"];
|
|
99
100
|
} | null;
|
|
100
101
|
banner: BlumeBanner | null;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AstroIntegration } from "astro";
|
|
1
2
|
import { z } from "zod";
|
|
2
3
|
import type { ComponentMarkdown } from "../ai/component-markdown.ts";
|
|
3
4
|
import type { CodeTheme } from "../markdown/themes.ts";
|
|
@@ -7,6 +8,14 @@ declare const hydrationMode: z.ZodEnum<["load", "idle", "visible", "media", "onl
|
|
|
7
8
|
export type HydrationMode = z.infer<typeof hydrationMode>;
|
|
8
9
|
/** Frontmatter accepted on any content page. */
|
|
9
10
|
declare const pageMetaBaseSchema: z.ZodObject<{
|
|
11
|
+
ai: z.ZodDefault<z.ZodObject<{
|
|
12
|
+
/** Exclude this page from llms.txt and llms-full.txt. */
|
|
13
|
+
exclude: z.ZodDefault<z.ZodBoolean>;
|
|
14
|
+
}, "strict", z.ZodTypeAny, {
|
|
15
|
+
exclude: boolean;
|
|
16
|
+
}, {
|
|
17
|
+
exclude?: boolean | undefined;
|
|
18
|
+
}>>;
|
|
10
19
|
/** Post author(s) for blog/changelog content; preserved, not yet rendered. */
|
|
11
20
|
authors: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
12
21
|
avatar: z.ZodOptional<z.ZodString>;
|
|
@@ -99,6 +108,7 @@ declare const pageMetaBaseSchema: z.ZodObject<{
|
|
|
99
108
|
} | undefined;
|
|
100
109
|
canonical?: string | undefined;
|
|
101
110
|
}, {
|
|
111
|
+
noindex?: boolean | undefined;
|
|
102
112
|
description?: string | undefined;
|
|
103
113
|
title?: string | undefined;
|
|
104
114
|
image?: string | undefined;
|
|
@@ -106,7 +116,6 @@ declare const pageMetaBaseSchema: z.ZodObject<{
|
|
|
106
116
|
creator?: string | undefined;
|
|
107
117
|
} | undefined;
|
|
108
118
|
canonical?: string | undefined;
|
|
109
|
-
noindex?: boolean | undefined;
|
|
110
119
|
}>>;
|
|
111
120
|
sidebar: z.ZodDefault<z.ZodObject<{
|
|
112
121
|
badge: z.ZodOptional<z.ZodString>;
|
|
@@ -131,6 +140,10 @@ declare const pageMetaBaseSchema: z.ZodObject<{
|
|
|
131
140
|
title: z.ZodOptional<z.ZodString>;
|
|
132
141
|
type: z.ZodOptional<z.ZodString>;
|
|
133
142
|
}, "strict", z.ZodTypeAny, {
|
|
143
|
+
ai: {
|
|
144
|
+
exclude: boolean;
|
|
145
|
+
};
|
|
146
|
+
noindex: boolean;
|
|
134
147
|
sidebar: {
|
|
135
148
|
hidden: boolean;
|
|
136
149
|
icon?: string | undefined;
|
|
@@ -155,7 +168,6 @@ declare const pageMetaBaseSchema: z.ZodObject<{
|
|
|
155
168
|
};
|
|
156
169
|
deprecated: boolean;
|
|
157
170
|
hidden: boolean;
|
|
158
|
-
noindex: boolean;
|
|
159
171
|
draft: boolean;
|
|
160
172
|
type?: string | undefined;
|
|
161
173
|
date?: string | undefined;
|
|
@@ -184,6 +196,10 @@ declare const pageMetaBaseSchema: z.ZodObject<{
|
|
|
184
196
|
type?: string | undefined;
|
|
185
197
|
date?: string | Date | undefined;
|
|
186
198
|
icon?: string | undefined;
|
|
199
|
+
ai?: {
|
|
200
|
+
exclude?: boolean | undefined;
|
|
201
|
+
} | undefined;
|
|
202
|
+
noindex?: boolean | undefined;
|
|
187
203
|
description?: string | undefined;
|
|
188
204
|
lastModified?: string | Date | undefined;
|
|
189
205
|
slug?: string | undefined;
|
|
@@ -206,6 +222,7 @@ declare const pageMetaBaseSchema: z.ZodObject<{
|
|
|
206
222
|
category?: string | undefined;
|
|
207
223
|
} | undefined;
|
|
208
224
|
seo?: {
|
|
225
|
+
noindex?: boolean | undefined;
|
|
209
226
|
description?: string | undefined;
|
|
210
227
|
title?: string | undefined;
|
|
211
228
|
image?: string | undefined;
|
|
@@ -213,11 +230,9 @@ declare const pageMetaBaseSchema: z.ZodObject<{
|
|
|
213
230
|
creator?: string | undefined;
|
|
214
231
|
} | undefined;
|
|
215
232
|
canonical?: string | undefined;
|
|
216
|
-
noindex?: boolean | undefined;
|
|
217
233
|
} | undefined;
|
|
218
234
|
deprecated?: boolean | undefined;
|
|
219
235
|
hidden?: boolean | undefined;
|
|
220
|
-
noindex?: boolean | undefined;
|
|
221
236
|
authors?: string | z.objectInputType<{
|
|
222
237
|
avatar: z.ZodOptional<z.ZodString>;
|
|
223
238
|
image: z.ZodOptional<z.ZodString>;
|
|
@@ -232,6 +247,14 @@ declare const pageMetaBaseSchema: z.ZodObject<{
|
|
|
232
247
|
draft?: boolean | undefined;
|
|
233
248
|
}>;
|
|
234
249
|
export declare const pageMetaSchema: z.ZodObject<{
|
|
250
|
+
ai: z.ZodDefault<z.ZodObject<{
|
|
251
|
+
/** Exclude this page from llms.txt and llms-full.txt. */
|
|
252
|
+
exclude: z.ZodDefault<z.ZodBoolean>;
|
|
253
|
+
}, "strict", z.ZodTypeAny, {
|
|
254
|
+
exclude: boolean;
|
|
255
|
+
}, {
|
|
256
|
+
exclude?: boolean | undefined;
|
|
257
|
+
}>>;
|
|
235
258
|
/** Post author(s) for blog/changelog content; preserved, not yet rendered. */
|
|
236
259
|
authors: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
237
260
|
avatar: z.ZodOptional<z.ZodString>;
|
|
@@ -324,6 +347,7 @@ export declare const pageMetaSchema: z.ZodObject<{
|
|
|
324
347
|
} | undefined;
|
|
325
348
|
canonical?: string | undefined;
|
|
326
349
|
}, {
|
|
350
|
+
noindex?: boolean | undefined;
|
|
327
351
|
description?: string | undefined;
|
|
328
352
|
title?: string | undefined;
|
|
329
353
|
image?: string | undefined;
|
|
@@ -331,7 +355,6 @@ export declare const pageMetaSchema: z.ZodObject<{
|
|
|
331
355
|
creator?: string | undefined;
|
|
332
356
|
} | undefined;
|
|
333
357
|
canonical?: string | undefined;
|
|
334
|
-
noindex?: boolean | undefined;
|
|
335
358
|
}>>;
|
|
336
359
|
sidebar: z.ZodDefault<z.ZodObject<{
|
|
337
360
|
badge: z.ZodOptional<z.ZodString>;
|
|
@@ -356,6 +379,10 @@ export declare const pageMetaSchema: z.ZodObject<{
|
|
|
356
379
|
title: z.ZodOptional<z.ZodString>;
|
|
357
380
|
type: z.ZodOptional<z.ZodString>;
|
|
358
381
|
}, "strict", z.ZodTypeAny, {
|
|
382
|
+
ai: {
|
|
383
|
+
exclude: boolean;
|
|
384
|
+
};
|
|
385
|
+
noindex: boolean;
|
|
359
386
|
sidebar: {
|
|
360
387
|
hidden: boolean;
|
|
361
388
|
icon?: string | undefined;
|
|
@@ -380,7 +407,6 @@ export declare const pageMetaSchema: z.ZodObject<{
|
|
|
380
407
|
};
|
|
381
408
|
deprecated: boolean;
|
|
382
409
|
hidden: boolean;
|
|
383
|
-
noindex: boolean;
|
|
384
410
|
draft: boolean;
|
|
385
411
|
type?: string | undefined;
|
|
386
412
|
date?: string | undefined;
|
|
@@ -409,6 +435,10 @@ export declare const pageMetaSchema: z.ZodObject<{
|
|
|
409
435
|
type?: string | undefined;
|
|
410
436
|
date?: string | Date | undefined;
|
|
411
437
|
icon?: string | undefined;
|
|
438
|
+
ai?: {
|
|
439
|
+
exclude?: boolean | undefined;
|
|
440
|
+
} | undefined;
|
|
441
|
+
noindex?: boolean | undefined;
|
|
412
442
|
description?: string | undefined;
|
|
413
443
|
lastModified?: string | Date | undefined;
|
|
414
444
|
slug?: string | undefined;
|
|
@@ -431,6 +461,7 @@ export declare const pageMetaSchema: z.ZodObject<{
|
|
|
431
461
|
category?: string | undefined;
|
|
432
462
|
} | undefined;
|
|
433
463
|
seo?: {
|
|
464
|
+
noindex?: boolean | undefined;
|
|
434
465
|
description?: string | undefined;
|
|
435
466
|
title?: string | undefined;
|
|
436
467
|
image?: string | undefined;
|
|
@@ -438,11 +469,9 @@ export declare const pageMetaSchema: z.ZodObject<{
|
|
|
438
469
|
creator?: string | undefined;
|
|
439
470
|
} | undefined;
|
|
440
471
|
canonical?: string | undefined;
|
|
441
|
-
noindex?: boolean | undefined;
|
|
442
472
|
} | undefined;
|
|
443
473
|
deprecated?: boolean | undefined;
|
|
444
474
|
hidden?: boolean | undefined;
|
|
445
|
-
noindex?: boolean | undefined;
|
|
446
475
|
authors?: string | z.objectInputType<{
|
|
447
476
|
avatar: z.ZodOptional<z.ZodString>;
|
|
448
477
|
image: z.ZodOptional<z.ZodString>;
|
|
@@ -746,6 +775,7 @@ declare const aiConfigSchema: z.ZodObject<{
|
|
|
746
775
|
apiKeyEnv: z.ZodOptional<z.ZodString>;
|
|
747
776
|
baseUrl: z.ZodOptional<z.ZodString>;
|
|
748
777
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
778
|
+
endpoint: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
749
779
|
model: z.ZodDefault<z.ZodString>;
|
|
750
780
|
provider: z.ZodDefault<z.ZodEnum<["gateway", "openrouter", "llmgateway", "inkeep", "openai-compatible"]>>;
|
|
751
781
|
suggestions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -768,10 +798,12 @@ declare const aiConfigSchema: z.ZodObject<{
|
|
|
768
798
|
}[];
|
|
769
799
|
apiKeyEnv?: string | undefined;
|
|
770
800
|
baseUrl?: string | undefined;
|
|
801
|
+
endpoint?: string | undefined;
|
|
771
802
|
}, {
|
|
772
803
|
apiKeyEnv?: string | undefined;
|
|
773
804
|
baseUrl?: string | undefined;
|
|
774
805
|
enabled?: boolean | undefined;
|
|
806
|
+
endpoint?: string | undefined;
|
|
775
807
|
model?: string | undefined;
|
|
776
808
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
777
809
|
suggestions?: {
|
|
@@ -788,10 +820,12 @@ declare const aiConfigSchema: z.ZodObject<{
|
|
|
788
820
|
}[];
|
|
789
821
|
apiKeyEnv?: string | undefined;
|
|
790
822
|
baseUrl?: string | undefined;
|
|
823
|
+
endpoint?: string | undefined;
|
|
791
824
|
}, {
|
|
792
825
|
apiKeyEnv?: string | undefined;
|
|
793
826
|
baseUrl?: string | undefined;
|
|
794
827
|
enabled?: boolean | undefined;
|
|
828
|
+
endpoint?: string | undefined;
|
|
795
829
|
model?: string | undefined;
|
|
796
830
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
797
831
|
suggestions?: {
|
|
@@ -866,12 +900,14 @@ declare const aiConfigSchema: z.ZodObject<{
|
|
|
866
900
|
}[];
|
|
867
901
|
apiKeyEnv?: string | undefined;
|
|
868
902
|
baseUrl?: string | undefined;
|
|
903
|
+
endpoint?: string | undefined;
|
|
869
904
|
} | undefined;
|
|
870
905
|
}, {
|
|
871
906
|
ask?: {
|
|
872
907
|
apiKeyEnv?: string | undefined;
|
|
873
908
|
baseUrl?: string | undefined;
|
|
874
909
|
enabled?: boolean | undefined;
|
|
910
|
+
endpoint?: string | undefined;
|
|
875
911
|
model?: string | undefined;
|
|
876
912
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
877
913
|
suggestions?: {
|
|
@@ -1083,13 +1119,22 @@ declare const dateFormatConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1083
1119
|
* `http(s)` URL (OpenAPI for the Blume renderer; OpenAPI or AsyncAPI for Scalar).
|
|
1084
1120
|
*/
|
|
1085
1121
|
declare const openapiSourceSchema: z.ZodObject<{
|
|
1122
|
+
/** Include generated pages from this spec in llms.txt/llms-full.txt. */
|
|
1123
|
+
includeInLlms: z.ZodDefault<z.ZodBoolean>;
|
|
1124
|
+
/** Include generated pages from this spec in site search. */
|
|
1125
|
+
includeInSearch: z.ZodDefault<z.ZodBoolean>;
|
|
1086
1126
|
/** Nav/section label for this source. */
|
|
1087
1127
|
label: z.ZodOptional<z.ZodString>;
|
|
1128
|
+
/** Emit noindex metadata and omit generated pages from the sitemap. */
|
|
1129
|
+
noindex: z.ZodDefault<z.ZodBoolean>;
|
|
1088
1130
|
/** Per-source route; defaults to the block's `route` (or a derived path). */
|
|
1089
1131
|
route: z.ZodOptional<z.ZodString>;
|
|
1090
1132
|
/** Local path or `http(s)` URL to the spec. */
|
|
1091
1133
|
spec: z.ZodString;
|
|
1092
1134
|
}, "strict", z.ZodTypeAny, {
|
|
1135
|
+
includeInLlms: boolean;
|
|
1136
|
+
includeInSearch: boolean;
|
|
1137
|
+
noindex: boolean;
|
|
1093
1138
|
spec: string;
|
|
1094
1139
|
label?: string | undefined;
|
|
1095
1140
|
route?: string | undefined;
|
|
@@ -1097,14 +1142,18 @@ declare const openapiSourceSchema: z.ZodObject<{
|
|
|
1097
1142
|
spec: string;
|
|
1098
1143
|
label?: string | undefined;
|
|
1099
1144
|
route?: string | undefined;
|
|
1145
|
+
includeInLlms?: boolean | undefined;
|
|
1146
|
+
includeInSearch?: boolean | undefined;
|
|
1147
|
+
noindex?: boolean | undefined;
|
|
1100
1148
|
}>;
|
|
1101
|
-
export type OpenApiSource = z.
|
|
1149
|
+
export type OpenApiSource = z.input<typeof openapiSourceSchema>;
|
|
1102
1150
|
export declare const blumeConfigSchema: z.ZodObject<{
|
|
1103
1151
|
ai: z.ZodDefault<z.ZodObject<{
|
|
1104
1152
|
ask: z.ZodOptional<z.ZodEffects<z.ZodObject<{
|
|
1105
1153
|
apiKeyEnv: z.ZodOptional<z.ZodString>;
|
|
1106
1154
|
baseUrl: z.ZodOptional<z.ZodString>;
|
|
1107
1155
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1156
|
+
endpoint: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
1108
1157
|
model: z.ZodDefault<z.ZodString>;
|
|
1109
1158
|
provider: z.ZodDefault<z.ZodEnum<["gateway", "openrouter", "llmgateway", "inkeep", "openai-compatible"]>>;
|
|
1110
1159
|
suggestions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -1127,10 +1176,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1127
1176
|
}[];
|
|
1128
1177
|
apiKeyEnv?: string | undefined;
|
|
1129
1178
|
baseUrl?: string | undefined;
|
|
1179
|
+
endpoint?: string | undefined;
|
|
1130
1180
|
}, {
|
|
1131
1181
|
apiKeyEnv?: string | undefined;
|
|
1132
1182
|
baseUrl?: string | undefined;
|
|
1133
1183
|
enabled?: boolean | undefined;
|
|
1184
|
+
endpoint?: string | undefined;
|
|
1134
1185
|
model?: string | undefined;
|
|
1135
1186
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
1136
1187
|
suggestions?: {
|
|
@@ -1147,10 +1198,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1147
1198
|
}[];
|
|
1148
1199
|
apiKeyEnv?: string | undefined;
|
|
1149
1200
|
baseUrl?: string | undefined;
|
|
1201
|
+
endpoint?: string | undefined;
|
|
1150
1202
|
}, {
|
|
1151
1203
|
apiKeyEnv?: string | undefined;
|
|
1152
1204
|
baseUrl?: string | undefined;
|
|
1153
1205
|
enabled?: boolean | undefined;
|
|
1206
|
+
endpoint?: string | undefined;
|
|
1154
1207
|
model?: string | undefined;
|
|
1155
1208
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
1156
1209
|
suggestions?: {
|
|
@@ -1225,12 +1278,14 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1225
1278
|
}[];
|
|
1226
1279
|
apiKeyEnv?: string | undefined;
|
|
1227
1280
|
baseUrl?: string | undefined;
|
|
1281
|
+
endpoint?: string | undefined;
|
|
1228
1282
|
} | undefined;
|
|
1229
1283
|
}, {
|
|
1230
1284
|
ask?: {
|
|
1231
1285
|
apiKeyEnv?: string | undefined;
|
|
1232
1286
|
baseUrl?: string | undefined;
|
|
1233
1287
|
enabled?: boolean | undefined;
|
|
1288
|
+
endpoint?: string | undefined;
|
|
1234
1289
|
model?: string | undefined;
|
|
1235
1290
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
1236
1291
|
suggestions?: {
|
|
@@ -1319,13 +1374,22 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1319
1374
|
/** Extra Scalar config forwarded to `<ScalarComponent>`. */
|
|
1320
1375
|
scalar: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1321
1376
|
sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1377
|
+
/** Include generated pages from this spec in llms.txt/llms-full.txt. */
|
|
1378
|
+
includeInLlms: z.ZodDefault<z.ZodBoolean>;
|
|
1379
|
+
/** Include generated pages from this spec in site search. */
|
|
1380
|
+
includeInSearch: z.ZodDefault<z.ZodBoolean>;
|
|
1322
1381
|
/** Nav/section label for this source. */
|
|
1323
1382
|
label: z.ZodOptional<z.ZodString>;
|
|
1383
|
+
/** Emit noindex metadata and omit generated pages from the sitemap. */
|
|
1384
|
+
noindex: z.ZodDefault<z.ZodBoolean>;
|
|
1324
1385
|
/** Per-source route; defaults to the block's `route` (or a derived path). */
|
|
1325
1386
|
route: z.ZodOptional<z.ZodString>;
|
|
1326
1387
|
/** Local path or `http(s)` URL to the spec. */
|
|
1327
1388
|
spec: z.ZodString;
|
|
1328
1389
|
}, "strict", z.ZodTypeAny, {
|
|
1390
|
+
includeInLlms: boolean;
|
|
1391
|
+
includeInSearch: boolean;
|
|
1392
|
+
noindex: boolean;
|
|
1329
1393
|
spec: string;
|
|
1330
1394
|
label?: string | undefined;
|
|
1331
1395
|
route?: string | undefined;
|
|
@@ -1333,6 +1397,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1333
1397
|
spec: string;
|
|
1334
1398
|
label?: string | undefined;
|
|
1335
1399
|
route?: string | undefined;
|
|
1400
|
+
includeInLlms?: boolean | undefined;
|
|
1401
|
+
includeInSearch?: boolean | undefined;
|
|
1402
|
+
noindex?: boolean | undefined;
|
|
1336
1403
|
}>, "many">>;
|
|
1337
1404
|
spec: z.ZodOptional<z.ZodString>;
|
|
1338
1405
|
theme: z.ZodOptional<z.ZodString>;
|
|
@@ -1340,6 +1407,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1340
1407
|
enabled: boolean;
|
|
1341
1408
|
route: string;
|
|
1342
1409
|
sources: {
|
|
1410
|
+
includeInLlms: boolean;
|
|
1411
|
+
includeInSearch: boolean;
|
|
1412
|
+
noindex: boolean;
|
|
1343
1413
|
spec: string;
|
|
1344
1414
|
label?: string | undefined;
|
|
1345
1415
|
route?: string | undefined;
|
|
@@ -1356,6 +1426,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1356
1426
|
spec: string;
|
|
1357
1427
|
label?: string | undefined;
|
|
1358
1428
|
route?: string | undefined;
|
|
1429
|
+
includeInLlms?: boolean | undefined;
|
|
1430
|
+
includeInSearch?: boolean | undefined;
|
|
1431
|
+
noindex?: boolean | undefined;
|
|
1359
1432
|
}[] | undefined;
|
|
1360
1433
|
theme?: string | undefined;
|
|
1361
1434
|
}>>;
|
|
@@ -1991,6 +2064,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1991
2064
|
parser?: "dir" | "dot" | undefined;
|
|
1992
2065
|
ui?: Record<string, Record<string, Record<string, string>>> | undefined;
|
|
1993
2066
|
}>>;
|
|
2067
|
+
integrations: z.ZodDefault<z.ZodArray<z.ZodType<AstroIntegration, z.ZodTypeDef, AstroIntegration>, "many">>;
|
|
1994
2068
|
lastModified: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
|
|
1995
2069
|
type: z.ZodDefault<z.ZodEnum<["git", "frontmatter"]>>;
|
|
1996
2070
|
}, "strict", z.ZodTypeAny, {
|
|
@@ -2194,6 +2268,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2194
2268
|
display?: "flat" | "group" | "page" | undefined;
|
|
2195
2269
|
} | undefined>;
|
|
2196
2270
|
tabs: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2271
|
+
href: z.ZodOptional<z.ZodString>;
|
|
2197
2272
|
icon: z.ZodOptional<z.ZodString>;
|
|
2198
2273
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2199
2274
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -2220,6 +2295,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2220
2295
|
path: string;
|
|
2221
2296
|
label: string;
|
|
2222
2297
|
icon?: string | undefined;
|
|
2298
|
+
href?: string | undefined;
|
|
2223
2299
|
items?: {
|
|
2224
2300
|
path: string;
|
|
2225
2301
|
label: string;
|
|
@@ -2231,6 +2307,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2231
2307
|
path: string;
|
|
2232
2308
|
label: string;
|
|
2233
2309
|
icon?: string | undefined;
|
|
2310
|
+
href?: string | undefined;
|
|
2234
2311
|
items?: {
|
|
2235
2312
|
path: string;
|
|
2236
2313
|
label: string;
|
|
@@ -2265,6 +2342,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2265
2342
|
path: string;
|
|
2266
2343
|
label: string;
|
|
2267
2344
|
icon?: string | undefined;
|
|
2345
|
+
href?: string | undefined;
|
|
2268
2346
|
items?: {
|
|
2269
2347
|
path: string;
|
|
2270
2348
|
label: string;
|
|
@@ -2299,6 +2377,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2299
2377
|
path: string;
|
|
2300
2378
|
label: string;
|
|
2301
2379
|
icon?: string | undefined;
|
|
2380
|
+
href?: string | undefined;
|
|
2302
2381
|
items?: {
|
|
2303
2382
|
path: string;
|
|
2304
2383
|
label: string;
|
|
@@ -2322,13 +2401,22 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2322
2401
|
scalar: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2323
2402
|
/** One or more specs; each renders on its own route by default. */
|
|
2324
2403
|
sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2404
|
+
/** Include generated pages from this spec in llms.txt/llms-full.txt. */
|
|
2405
|
+
includeInLlms: z.ZodDefault<z.ZodBoolean>;
|
|
2406
|
+
/** Include generated pages from this spec in site search. */
|
|
2407
|
+
includeInSearch: z.ZodDefault<z.ZodBoolean>;
|
|
2325
2408
|
/** Nav/section label for this source. */
|
|
2326
2409
|
label: z.ZodOptional<z.ZodString>;
|
|
2410
|
+
/** Emit noindex metadata and omit generated pages from the sitemap. */
|
|
2411
|
+
noindex: z.ZodDefault<z.ZodBoolean>;
|
|
2327
2412
|
/** Per-source route; defaults to the block's `route` (or a derived path). */
|
|
2328
2413
|
route: z.ZodOptional<z.ZodString>;
|
|
2329
2414
|
/** Local path or `http(s)` URL to the spec. */
|
|
2330
2415
|
spec: z.ZodString;
|
|
2331
2416
|
}, "strict", z.ZodTypeAny, {
|
|
2417
|
+
includeInLlms: boolean;
|
|
2418
|
+
includeInSearch: boolean;
|
|
2419
|
+
noindex: boolean;
|
|
2332
2420
|
spec: string;
|
|
2333
2421
|
label?: string | undefined;
|
|
2334
2422
|
route?: string | undefined;
|
|
@@ -2336,6 +2424,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2336
2424
|
spec: string;
|
|
2337
2425
|
label?: string | undefined;
|
|
2338
2426
|
route?: string | undefined;
|
|
2427
|
+
includeInLlms?: boolean | undefined;
|
|
2428
|
+
includeInSearch?: boolean | undefined;
|
|
2429
|
+
noindex?: boolean | undefined;
|
|
2339
2430
|
}>, "many">>;
|
|
2340
2431
|
/** Shorthand for a single source: `sources: [{ spec }]`. */
|
|
2341
2432
|
spec: z.ZodOptional<z.ZodString>;
|
|
@@ -2345,6 +2436,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2345
2436
|
enabled: boolean;
|
|
2346
2437
|
route: string;
|
|
2347
2438
|
sources: {
|
|
2439
|
+
includeInLlms: boolean;
|
|
2440
|
+
includeInSearch: boolean;
|
|
2441
|
+
noindex: boolean;
|
|
2348
2442
|
spec: string;
|
|
2349
2443
|
label?: string | undefined;
|
|
2350
2444
|
route?: string | undefined;
|
|
@@ -2364,6 +2458,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2364
2458
|
spec: string;
|
|
2365
2459
|
label?: string | undefined;
|
|
2366
2460
|
route?: string | undefined;
|
|
2461
|
+
includeInLlms?: boolean | undefined;
|
|
2462
|
+
includeInSearch?: boolean | undefined;
|
|
2463
|
+
noindex?: boolean | undefined;
|
|
2367
2464
|
}[] | undefined;
|
|
2368
2465
|
theme?: string | undefined;
|
|
2369
2466
|
codeSamples?: string[] | undefined;
|
|
@@ -2430,12 +2527,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2430
2527
|
/** Index id used by the build-time sync (with `ORAMA_PRIVATE_API_KEY`). */
|
|
2431
2528
|
indexId: z.ZodOptional<z.ZodString>;
|
|
2432
2529
|
}, "strict", z.ZodTypeAny, {
|
|
2433
|
-
apiKey: string;
|
|
2434
2530
|
endpoint: string;
|
|
2531
|
+
apiKey: string;
|
|
2435
2532
|
indexId?: string | undefined;
|
|
2436
2533
|
}, {
|
|
2437
|
-
apiKey: string;
|
|
2438
2534
|
endpoint: string;
|
|
2535
|
+
apiKey: string;
|
|
2439
2536
|
indexId?: string | undefined;
|
|
2440
2537
|
}>>;
|
|
2441
2538
|
/** Curated links for the Cmd+K empty state; defaults to the first sidebar pages. */
|
|
@@ -2491,8 +2588,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2491
2588
|
storeId: string;
|
|
2492
2589
|
} | undefined;
|
|
2493
2590
|
oramaCloud?: {
|
|
2494
|
-
apiKey: string;
|
|
2495
2591
|
endpoint: string;
|
|
2592
|
+
apiKey: string;
|
|
2496
2593
|
indexId?: string | undefined;
|
|
2497
2594
|
} | undefined;
|
|
2498
2595
|
typesense?: {
|
|
@@ -2516,8 +2613,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2516
2613
|
storeId: string;
|
|
2517
2614
|
} | undefined;
|
|
2518
2615
|
oramaCloud?: {
|
|
2519
|
-
apiKey: string;
|
|
2520
2616
|
endpoint: string;
|
|
2617
|
+
apiKey: string;
|
|
2521
2618
|
indexId?: string | undefined;
|
|
2522
2619
|
} | undefined;
|
|
2523
2620
|
popular?: {
|
|
@@ -2551,8 +2648,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2551
2648
|
storeId: string;
|
|
2552
2649
|
} | undefined;
|
|
2553
2650
|
oramaCloud?: {
|
|
2554
|
-
apiKey: string;
|
|
2555
2651
|
endpoint: string;
|
|
2652
|
+
apiKey: string;
|
|
2556
2653
|
indexId?: string | undefined;
|
|
2557
2654
|
} | undefined;
|
|
2558
2655
|
typesense?: {
|
|
@@ -2576,8 +2673,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2576
2673
|
storeId: string;
|
|
2577
2674
|
} | undefined;
|
|
2578
2675
|
oramaCloud?: {
|
|
2579
|
-
apiKey: string;
|
|
2580
2676
|
endpoint: string;
|
|
2677
|
+
apiKey: string;
|
|
2581
2678
|
indexId?: string | undefined;
|
|
2582
2679
|
} | undefined;
|
|
2583
2680
|
popular?: {
|
|
@@ -2958,6 +3055,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2958
3055
|
enabled: boolean;
|
|
2959
3056
|
route: string;
|
|
2960
3057
|
sources: {
|
|
3058
|
+
includeInLlms: boolean;
|
|
3059
|
+
includeInSearch: boolean;
|
|
3060
|
+
noindex: boolean;
|
|
2961
3061
|
spec: string;
|
|
2962
3062
|
label?: string | undefined;
|
|
2963
3063
|
route?: string | undefined;
|
|
@@ -2973,6 +3073,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2973
3073
|
enabled: boolean;
|
|
2974
3074
|
route: string;
|
|
2975
3075
|
sources: {
|
|
3076
|
+
includeInLlms: boolean;
|
|
3077
|
+
includeInSearch: boolean;
|
|
3078
|
+
noindex: boolean;
|
|
2976
3079
|
spec: string;
|
|
2977
3080
|
label?: string | undefined;
|
|
2978
3081
|
route?: string | undefined;
|
|
@@ -3003,6 +3106,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3003
3106
|
}[];
|
|
3004
3107
|
apiKeyEnv?: string | undefined;
|
|
3005
3108
|
baseUrl?: string | undefined;
|
|
3109
|
+
endpoint?: string | undefined;
|
|
3006
3110
|
} | undefined;
|
|
3007
3111
|
};
|
|
3008
3112
|
content: {
|
|
@@ -3129,6 +3233,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3129
3233
|
frontmatter: {
|
|
3130
3234
|
extend: Record<string, StandardSchema<unknown, unknown>>;
|
|
3131
3235
|
};
|
|
3236
|
+
integrations: AstroIntegration[];
|
|
3132
3237
|
markdown: {
|
|
3133
3238
|
code: {
|
|
3134
3239
|
icons: boolean;
|
|
@@ -3169,6 +3274,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3169
3274
|
path: string;
|
|
3170
3275
|
label: string;
|
|
3171
3276
|
icon?: string | undefined;
|
|
3277
|
+
href?: string | undefined;
|
|
3172
3278
|
items?: {
|
|
3173
3279
|
path: string;
|
|
3174
3280
|
label: string;
|
|
@@ -3205,8 +3311,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3205
3311
|
storeId: string;
|
|
3206
3312
|
} | undefined;
|
|
3207
3313
|
oramaCloud?: {
|
|
3208
|
-
apiKey: string;
|
|
3209
3314
|
endpoint: string;
|
|
3315
|
+
apiKey: string;
|
|
3210
3316
|
indexId?: string | undefined;
|
|
3211
3317
|
} | undefined;
|
|
3212
3318
|
typesense?: {
|
|
@@ -3319,6 +3425,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3319
3425
|
spec: string;
|
|
3320
3426
|
label?: string | undefined;
|
|
3321
3427
|
route?: string | undefined;
|
|
3428
|
+
includeInLlms?: boolean | undefined;
|
|
3429
|
+
includeInSearch?: boolean | undefined;
|
|
3430
|
+
noindex?: boolean | undefined;
|
|
3322
3431
|
}[] | undefined;
|
|
3323
3432
|
theme?: string | undefined;
|
|
3324
3433
|
codeSamples?: string[] | undefined;
|
|
@@ -3334,6 +3443,9 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3334
3443
|
spec: string;
|
|
3335
3444
|
label?: string | undefined;
|
|
3336
3445
|
route?: string | undefined;
|
|
3446
|
+
includeInLlms?: boolean | undefined;
|
|
3447
|
+
includeInSearch?: boolean | undefined;
|
|
3448
|
+
noindex?: boolean | undefined;
|
|
3337
3449
|
}[] | undefined;
|
|
3338
3450
|
theme?: string | undefined;
|
|
3339
3451
|
} | undefined;
|
|
@@ -3342,6 +3454,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3342
3454
|
apiKeyEnv?: string | undefined;
|
|
3343
3455
|
baseUrl?: string | undefined;
|
|
3344
3456
|
enabled?: boolean | undefined;
|
|
3457
|
+
endpoint?: string | undefined;
|
|
3345
3458
|
model?: string | undefined;
|
|
3346
3459
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
3347
3460
|
suggestions?: {
|
|
@@ -3526,6 +3639,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3526
3639
|
parser?: "dir" | "dot" | undefined;
|
|
3527
3640
|
ui?: Record<string, Record<string, Record<string, string>>> | undefined;
|
|
3528
3641
|
} | undefined;
|
|
3642
|
+
integrations?: AstroIntegration[] | undefined;
|
|
3529
3643
|
logo?: string | {
|
|
3530
3644
|
href?: string | undefined;
|
|
3531
3645
|
text?: string | undefined;
|
|
@@ -3575,6 +3689,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3575
3689
|
path: string;
|
|
3576
3690
|
label: string;
|
|
3577
3691
|
icon?: string | undefined;
|
|
3692
|
+
href?: string | undefined;
|
|
3578
3693
|
items?: {
|
|
3579
3694
|
path: string;
|
|
3580
3695
|
label: string;
|
|
@@ -3606,8 +3721,8 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3606
3721
|
storeId: string;
|
|
3607
3722
|
} | undefined;
|
|
3608
3723
|
oramaCloud?: {
|
|
3609
|
-
apiKey: string;
|
|
3610
3724
|
endpoint: string;
|
|
3725
|
+
apiKey: string;
|
|
3611
3726
|
indexId?: string | undefined;
|
|
3612
3727
|
} | undefined;
|
|
3613
3728
|
popular?: {
|
|
@@ -190,9 +190,11 @@ export interface NavTab {
|
|
|
190
190
|
*/
|
|
191
191
|
path: string;
|
|
192
192
|
/**
|
|
193
|
-
* The clickable target.
|
|
194
|
-
*
|
|
195
|
-
*
|
|
193
|
+
* The clickable target. Author-declared when the config sets it; otherwise
|
|
194
|
+
* equals `path` when the section has an index page, and resolves to the
|
|
195
|
+
* section's first page when it doesn't, so the tab doesn't link to a 404 as
|
|
196
|
+
* long as the section has a page to offer — a section with no linkable page at
|
|
197
|
+
* all keeps `path`. Absent when a resolved target matches `path`.
|
|
196
198
|
*/
|
|
197
199
|
href?: string;
|
|
198
200
|
icon?: string;
|