blume 0.5.4 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +380 -157
- package/dist/cli/index.js.map +23 -22
- package/dist/types/core/data.d.ts +4 -0
- package/dist/types/core/i18n-ui.d.ts +50 -0
- package/dist/types/core/schema.d.ts +328 -39
- package/dist/types/core/types.d.ts +8 -0
- package/docs/configuration/ai.mdx +56 -0
- package/docs/configuration/seo.mdx +59 -1
- package/docs/configuration/theming.mdx +14 -9
- package/docs/content/meta.mdx +3 -17
- package/docs/content/navigation.mdx +41 -4
- package/package.json +3 -1
- package/src/ai/agent-readability.ts +97 -0
- package/src/ai/ask-context.ts +131 -8
- package/src/ai/ask-data.ts +4 -1
- package/src/astro/generate.ts +4 -0
- package/src/astro/templates.ts +24 -5
- package/src/cli/commands/build.ts +15 -0
- package/src/cli/commands/dev.ts +31 -14
- package/src/cli/dev-lock.ts +94 -21
- package/src/components/content/GithubInfo.astro +11 -10
- package/src/components/content/TypeTable.astro +8 -3
- package/src/components/islands/AskAI.astro +66 -2
- package/src/components/islands/ask-ai.tsx +289 -53
- package/src/components/layout/Header.astro +1 -1
- package/src/components/layout/NavTree.astro +1 -1
- package/src/components/layout/PageActions.astro +73 -30
- package/src/components/layout/RootLayout.astro +48 -2
- package/src/core/data.ts +4 -0
- package/src/core/graph.ts +7 -2
- package/src/core/i18n-ui.ts +5 -0
- package/src/core/nav-diagnostics.ts +7 -0
- package/src/core/navigation.ts +38 -12
- package/src/core/schema.ts +124 -9
- package/src/core/sources/filesystem.ts +5 -1
- package/src/core/sources/watch.ts +43 -12
- package/src/core/types.ts +9 -0
- package/src/deploy/robots.ts +37 -4
- package/src/openapi/scalar.ts +1 -1
- package/src/search/documents.ts +9 -2
- package/src/theme/palette.ts +21 -14
|
@@ -426,21 +426,18 @@ declare const sidebarDisplaySchema: z.ZodEnum<["flat", "group", "page"]>;
|
|
|
426
426
|
export type SidebarDisplay = z.infer<typeof sidebarDisplaySchema>;
|
|
427
427
|
export declare const folderMetaSchema: z.ZodObject<{
|
|
428
428
|
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
429
|
-
display: z.ZodOptional<z.ZodEnum<["flat", "group", "page"]>>;
|
|
430
429
|
icon: z.ZodOptional<z.ZodString>;
|
|
431
430
|
order: z.ZodOptional<z.ZodNumber>;
|
|
432
431
|
/** Explicit child ordering by slug segment (without numeric prefix). */
|
|
433
432
|
pages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
434
433
|
title: z.ZodOptional<z.ZodString>;
|
|
435
434
|
}, "strict", z.ZodTypeAny, {
|
|
436
|
-
display?: "flat" | "page" | "group" | undefined;
|
|
437
435
|
title?: string | undefined;
|
|
438
436
|
icon?: string | undefined;
|
|
439
437
|
order?: number | undefined;
|
|
440
438
|
pages?: string[] | undefined;
|
|
441
439
|
collapsed?: boolean | undefined;
|
|
442
440
|
}, {
|
|
443
|
-
display?: "flat" | "page" | "group" | undefined;
|
|
444
441
|
title?: string | undefined;
|
|
445
442
|
icon?: string | undefined;
|
|
446
443
|
order?: number | undefined;
|
|
@@ -708,10 +705,24 @@ declare const aiConfigSchema: z.ZodObject<{
|
|
|
708
705
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
709
706
|
model: z.ZodDefault<z.ZodString>;
|
|
710
707
|
provider: z.ZodDefault<z.ZodEnum<["gateway", "openrouter", "llmgateway", "inkeep", "openai-compatible"]>>;
|
|
708
|
+
suggestions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
709
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
710
|
+
label: z.ZodString;
|
|
711
|
+
}, "strict", z.ZodTypeAny, {
|
|
712
|
+
label: string;
|
|
713
|
+
icon?: string | undefined;
|
|
714
|
+
}, {
|
|
715
|
+
label: string;
|
|
716
|
+
icon?: string | undefined;
|
|
717
|
+
}>, "many">>;
|
|
711
718
|
}, "strict", z.ZodTypeAny, {
|
|
712
719
|
enabled: boolean;
|
|
713
720
|
model: string;
|
|
714
721
|
provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
|
|
722
|
+
suggestions: {
|
|
723
|
+
label: string;
|
|
724
|
+
icon?: string | undefined;
|
|
725
|
+
}[];
|
|
715
726
|
apiKeyEnv?: string | undefined;
|
|
716
727
|
baseUrl?: string | undefined;
|
|
717
728
|
}, {
|
|
@@ -720,10 +731,18 @@ declare const aiConfigSchema: z.ZodObject<{
|
|
|
720
731
|
enabled?: boolean | undefined;
|
|
721
732
|
model?: string | undefined;
|
|
722
733
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
734
|
+
suggestions?: {
|
|
735
|
+
label: string;
|
|
736
|
+
icon?: string | undefined;
|
|
737
|
+
}[] | undefined;
|
|
723
738
|
}>, {
|
|
724
739
|
enabled: boolean;
|
|
725
740
|
model: string;
|
|
726
741
|
provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
|
|
742
|
+
suggestions: {
|
|
743
|
+
label: string;
|
|
744
|
+
icon?: string | undefined;
|
|
745
|
+
}[];
|
|
727
746
|
apiKeyEnv?: string | undefined;
|
|
728
747
|
baseUrl?: string | undefined;
|
|
729
748
|
}, {
|
|
@@ -732,6 +751,10 @@ declare const aiConfigSchema: z.ZodObject<{
|
|
|
732
751
|
enabled?: boolean | undefined;
|
|
733
752
|
model?: string | undefined;
|
|
734
753
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
754
|
+
suggestions?: {
|
|
755
|
+
label: string;
|
|
756
|
+
icon?: string | undefined;
|
|
757
|
+
}[] | undefined;
|
|
735
758
|
}>>;
|
|
736
759
|
llmsTxt: z.ZodDefault<z.ZodBoolean>;
|
|
737
760
|
}, "strict", z.ZodTypeAny, {
|
|
@@ -740,6 +763,10 @@ declare const aiConfigSchema: z.ZodObject<{
|
|
|
740
763
|
enabled: boolean;
|
|
741
764
|
model: string;
|
|
742
765
|
provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
|
|
766
|
+
suggestions: {
|
|
767
|
+
label: string;
|
|
768
|
+
icon?: string | undefined;
|
|
769
|
+
}[];
|
|
743
770
|
apiKeyEnv?: string | undefined;
|
|
744
771
|
baseUrl?: string | undefined;
|
|
745
772
|
} | undefined;
|
|
@@ -750,6 +777,10 @@ declare const aiConfigSchema: z.ZodObject<{
|
|
|
750
777
|
enabled?: boolean | undefined;
|
|
751
778
|
model?: string | undefined;
|
|
752
779
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
780
|
+
suggestions?: {
|
|
781
|
+
label: string;
|
|
782
|
+
icon?: string | undefined;
|
|
783
|
+
}[] | undefined;
|
|
753
784
|
} | undefined;
|
|
754
785
|
llmsTxt?: boolean | undefined;
|
|
755
786
|
}>;
|
|
@@ -844,6 +875,34 @@ declare const i18nConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
844
875
|
parser?: "dir" | "dot" | undefined;
|
|
845
876
|
ui?: Record<string, Record<string, Record<string, string>>> | undefined;
|
|
846
877
|
}>;
|
|
878
|
+
/**
|
|
879
|
+
* Content signals accept a boolean shorthand or a per-signal object, and
|
|
880
|
+
* normalize to `{ search, aiInput, aiTrain }` — or `null` when disabled, so
|
|
881
|
+
* robots.txt omits the declaration entirely. On by default (`true`): Blume
|
|
882
|
+
* declares the docs open to search and agents. `false` opts out; an object
|
|
883
|
+
* restricts individual signals (unset signals stay `yes`).
|
|
884
|
+
*/
|
|
885
|
+
declare const contentSignalsSchema: z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
|
|
886
|
+
aiInput: z.ZodDefault<z.ZodBoolean>;
|
|
887
|
+
aiTrain: z.ZodDefault<z.ZodBoolean>;
|
|
888
|
+
search: z.ZodDefault<z.ZodBoolean>;
|
|
889
|
+
}, "strict", z.ZodTypeAny, {
|
|
890
|
+
search: boolean;
|
|
891
|
+
aiInput: boolean;
|
|
892
|
+
aiTrain: boolean;
|
|
893
|
+
}, {
|
|
894
|
+
search?: boolean | undefined;
|
|
895
|
+
aiInput?: boolean | undefined;
|
|
896
|
+
aiTrain?: boolean | undefined;
|
|
897
|
+
}>]>, {
|
|
898
|
+
search: boolean;
|
|
899
|
+
aiInput: boolean;
|
|
900
|
+
aiTrain: boolean;
|
|
901
|
+
} | null, boolean | {
|
|
902
|
+
search?: boolean | undefined;
|
|
903
|
+
aiInput?: boolean | undefined;
|
|
904
|
+
aiTrain?: boolean | undefined;
|
|
905
|
+
}>;
|
|
847
906
|
/**
|
|
848
907
|
* A single spec rendered by the API reference. `spec` is a local path or an
|
|
849
908
|
* `http(s)` URL (OpenAPI for the Blume renderer; OpenAPI or AsyncAPI for Scalar).
|
|
@@ -873,10 +932,24 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
873
932
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
874
933
|
model: z.ZodDefault<z.ZodString>;
|
|
875
934
|
provider: z.ZodDefault<z.ZodEnum<["gateway", "openrouter", "llmgateway", "inkeep", "openai-compatible"]>>;
|
|
935
|
+
suggestions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
936
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
937
|
+
label: z.ZodString;
|
|
938
|
+
}, "strict", z.ZodTypeAny, {
|
|
939
|
+
label: string;
|
|
940
|
+
icon?: string | undefined;
|
|
941
|
+
}, {
|
|
942
|
+
label: string;
|
|
943
|
+
icon?: string | undefined;
|
|
944
|
+
}>, "many">>;
|
|
876
945
|
}, "strict", z.ZodTypeAny, {
|
|
877
946
|
enabled: boolean;
|
|
878
947
|
model: string;
|
|
879
948
|
provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
|
|
949
|
+
suggestions: {
|
|
950
|
+
label: string;
|
|
951
|
+
icon?: string | undefined;
|
|
952
|
+
}[];
|
|
880
953
|
apiKeyEnv?: string | undefined;
|
|
881
954
|
baseUrl?: string | undefined;
|
|
882
955
|
}, {
|
|
@@ -885,10 +958,18 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
885
958
|
enabled?: boolean | undefined;
|
|
886
959
|
model?: string | undefined;
|
|
887
960
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
961
|
+
suggestions?: {
|
|
962
|
+
label: string;
|
|
963
|
+
icon?: string | undefined;
|
|
964
|
+
}[] | undefined;
|
|
888
965
|
}>, {
|
|
889
966
|
enabled: boolean;
|
|
890
967
|
model: string;
|
|
891
968
|
provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
|
|
969
|
+
suggestions: {
|
|
970
|
+
label: string;
|
|
971
|
+
icon?: string | undefined;
|
|
972
|
+
}[];
|
|
892
973
|
apiKeyEnv?: string | undefined;
|
|
893
974
|
baseUrl?: string | undefined;
|
|
894
975
|
}, {
|
|
@@ -897,6 +978,10 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
897
978
|
enabled?: boolean | undefined;
|
|
898
979
|
model?: string | undefined;
|
|
899
980
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
981
|
+
suggestions?: {
|
|
982
|
+
label: string;
|
|
983
|
+
icon?: string | undefined;
|
|
984
|
+
}[] | undefined;
|
|
900
985
|
}>>;
|
|
901
986
|
llmsTxt: z.ZodDefault<z.ZodBoolean>;
|
|
902
987
|
}, "strict", z.ZodTypeAny, {
|
|
@@ -905,6 +990,10 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
905
990
|
enabled: boolean;
|
|
906
991
|
model: string;
|
|
907
992
|
provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
|
|
993
|
+
suggestions: {
|
|
994
|
+
label: string;
|
|
995
|
+
icon?: string | undefined;
|
|
996
|
+
}[];
|
|
908
997
|
apiKeyEnv?: string | undefined;
|
|
909
998
|
baseUrl?: string | undefined;
|
|
910
999
|
} | undefined;
|
|
@@ -915,6 +1004,10 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
915
1004
|
enabled?: boolean | undefined;
|
|
916
1005
|
model?: string | undefined;
|
|
917
1006
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
1007
|
+
suggestions?: {
|
|
1008
|
+
label: string;
|
|
1009
|
+
icon?: string | undefined;
|
|
1010
|
+
}[] | undefined;
|
|
918
1011
|
} | undefined;
|
|
919
1012
|
llmsTxt?: boolean | undefined;
|
|
920
1013
|
}>>;
|
|
@@ -1723,6 +1816,20 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1723
1816
|
instructions?: string | undefined;
|
|
1724
1817
|
}>>;
|
|
1725
1818
|
navigation: z.ZodDefault<z.ZodObject<{
|
|
1819
|
+
/** Pinned links shown above the generated sidebar sections. */
|
|
1820
|
+
featured: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1821
|
+
href: z.ZodString;
|
|
1822
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
1823
|
+
label: z.ZodString;
|
|
1824
|
+
}, "strict", z.ZodTypeAny, {
|
|
1825
|
+
label: string;
|
|
1826
|
+
href: string;
|
|
1827
|
+
icon?: string | undefined;
|
|
1828
|
+
}, {
|
|
1829
|
+
label: string;
|
|
1830
|
+
href: string;
|
|
1831
|
+
icon?: string | undefined;
|
|
1832
|
+
}>, "many">>;
|
|
1726
1833
|
/** Show a GitHub repo link in the header (requires `github` configured). */
|
|
1727
1834
|
repo: z.ZodDefault<z.ZodBoolean>;
|
|
1728
1835
|
selectors: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -1768,8 +1875,28 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1768
1875
|
tag?: string | undefined;
|
|
1769
1876
|
}[] | undefined;
|
|
1770
1877
|
}>, "many">>;
|
|
1771
|
-
/**
|
|
1772
|
-
|
|
1878
|
+
/**
|
|
1879
|
+
* Sidebar behavior. `display` sets how every group renders (a group in an
|
|
1880
|
+
* explicit `items` config may still override it); `items` is an explicit
|
|
1881
|
+
* sidebar — when omitted the sidebar is generated from the content tree.
|
|
1882
|
+
* A bare array is shorthand for `{ items }`.
|
|
1883
|
+
*/
|
|
1884
|
+
sidebar: z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodType<SidebarItemConfig, z.ZodTypeDef, SidebarItemConfig>, "many">, z.ZodObject<{
|
|
1885
|
+
display: z.ZodDefault<z.ZodEnum<["flat", "group", "page"]>>;
|
|
1886
|
+
items: z.ZodOptional<z.ZodArray<z.ZodType<SidebarItemConfig, z.ZodTypeDef, SidebarItemConfig>, "many">>;
|
|
1887
|
+
}, "strict", z.ZodTypeAny, {
|
|
1888
|
+
display: "flat" | "page" | "group";
|
|
1889
|
+
items?: SidebarItemConfig[] | undefined;
|
|
1890
|
+
}, {
|
|
1891
|
+
display?: "flat" | "page" | "group" | undefined;
|
|
1892
|
+
items?: SidebarItemConfig[] | undefined;
|
|
1893
|
+
}>]>>, {
|
|
1894
|
+
display: "flat" | "page" | "group";
|
|
1895
|
+
items?: SidebarItemConfig[] | undefined;
|
|
1896
|
+
}, SidebarItemConfig[] | {
|
|
1897
|
+
display?: "flat" | "page" | "group" | undefined;
|
|
1898
|
+
items?: SidebarItemConfig[] | undefined;
|
|
1899
|
+
} | undefined>;
|
|
1773
1900
|
tabs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1774
1901
|
icon: z.ZodOptional<z.ZodString>;
|
|
1775
1902
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -1817,7 +1944,16 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1817
1944
|
}[] | undefined;
|
|
1818
1945
|
}>, "many">>;
|
|
1819
1946
|
}, "strict", z.ZodTypeAny, {
|
|
1947
|
+
sidebar: {
|
|
1948
|
+
display: "flat" | "page" | "group";
|
|
1949
|
+
items?: SidebarItemConfig[] | undefined;
|
|
1950
|
+
};
|
|
1820
1951
|
repo: boolean;
|
|
1952
|
+
featured: {
|
|
1953
|
+
label: string;
|
|
1954
|
+
href: string;
|
|
1955
|
+
icon?: string | undefined;
|
|
1956
|
+
}[];
|
|
1821
1957
|
selectors: {
|
|
1822
1958
|
label: string;
|
|
1823
1959
|
items: {
|
|
@@ -1829,7 +1965,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1829
1965
|
}[];
|
|
1830
1966
|
kind: "version" | "dropdown" | "language" | "product";
|
|
1831
1967
|
}[];
|
|
1832
|
-
sidebar?: SidebarItemConfig[] | undefined;
|
|
1833
1968
|
tabs?: {
|
|
1834
1969
|
path: string;
|
|
1835
1970
|
label: string;
|
|
@@ -1843,8 +1978,16 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1843
1978
|
}[] | undefined;
|
|
1844
1979
|
}[] | undefined;
|
|
1845
1980
|
}, {
|
|
1846
|
-
sidebar?: SidebarItemConfig[] |
|
|
1981
|
+
sidebar?: SidebarItemConfig[] | {
|
|
1982
|
+
display?: "flat" | "page" | "group" | undefined;
|
|
1983
|
+
items?: SidebarItemConfig[] | undefined;
|
|
1984
|
+
} | undefined;
|
|
1847
1985
|
repo?: boolean | undefined;
|
|
1986
|
+
featured?: {
|
|
1987
|
+
label: string;
|
|
1988
|
+
href: string;
|
|
1989
|
+
icon?: string | undefined;
|
|
1990
|
+
}[] | undefined;
|
|
1848
1991
|
selectors?: {
|
|
1849
1992
|
label: string;
|
|
1850
1993
|
kind: "version" | "dropdown" | "language" | "product";
|
|
@@ -2104,6 +2247,34 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2104
2247
|
} | undefined;
|
|
2105
2248
|
}>>;
|
|
2106
2249
|
seo: z.ZodDefault<z.ZodObject<{
|
|
2250
|
+
/**
|
|
2251
|
+
* Emit `agent-readability.json` at the site root: a manifest that indexes
|
|
2252
|
+
* the agent-facing surface (llms.txt, Markdown mirrors, MCP server, feeds)
|
|
2253
|
+
* so agents can discover it without scraping HTML.
|
|
2254
|
+
*/
|
|
2255
|
+
agentReadability: z.ZodDefault<z.ZodBoolean>;
|
|
2256
|
+
/** robots.txt `Content-Signal` usage declaration (on by default). */
|
|
2257
|
+
contentSignals: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
|
|
2258
|
+
aiInput: z.ZodDefault<z.ZodBoolean>;
|
|
2259
|
+
aiTrain: z.ZodDefault<z.ZodBoolean>;
|
|
2260
|
+
search: z.ZodDefault<z.ZodBoolean>;
|
|
2261
|
+
}, "strict", z.ZodTypeAny, {
|
|
2262
|
+
search: boolean;
|
|
2263
|
+
aiInput: boolean;
|
|
2264
|
+
aiTrain: boolean;
|
|
2265
|
+
}, {
|
|
2266
|
+
search?: boolean | undefined;
|
|
2267
|
+
aiInput?: boolean | undefined;
|
|
2268
|
+
aiTrain?: boolean | undefined;
|
|
2269
|
+
}>]>, {
|
|
2270
|
+
search: boolean;
|
|
2271
|
+
aiInput: boolean;
|
|
2272
|
+
aiTrain: boolean;
|
|
2273
|
+
} | null, boolean | {
|
|
2274
|
+
search?: boolean | undefined;
|
|
2275
|
+
aiInput?: boolean | undefined;
|
|
2276
|
+
aiTrain?: boolean | undefined;
|
|
2277
|
+
}>>;
|
|
2107
2278
|
og: z.ZodDefault<z.ZodObject<{
|
|
2108
2279
|
/**
|
|
2109
2280
|
* Generate a per-page Open Graph image. Defaults to on once a deployment
|
|
@@ -2139,6 +2310,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2139
2310
|
/** Emit schema.org JSON-LD in each page's <head>. */
|
|
2140
2311
|
structuredData: z.ZodDefault<z.ZodBoolean>;
|
|
2141
2312
|
}, "strict", z.ZodTypeAny, {
|
|
2313
|
+
agentReadability: boolean;
|
|
2314
|
+
contentSignals: {
|
|
2315
|
+
search: boolean;
|
|
2316
|
+
aiInput: boolean;
|
|
2317
|
+
aiTrain: boolean;
|
|
2318
|
+
} | null;
|
|
2142
2319
|
og: {
|
|
2143
2320
|
enabled?: boolean | undefined;
|
|
2144
2321
|
};
|
|
@@ -2151,6 +2328,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2151
2328
|
sitemap: boolean;
|
|
2152
2329
|
structuredData: boolean;
|
|
2153
2330
|
}, {
|
|
2331
|
+
agentReadability?: boolean | undefined;
|
|
2332
|
+
contentSignals?: boolean | {
|
|
2333
|
+
search?: boolean | undefined;
|
|
2334
|
+
aiInput?: boolean | undefined;
|
|
2335
|
+
aiTrain?: boolean | undefined;
|
|
2336
|
+
} | undefined;
|
|
2154
2337
|
og?: {
|
|
2155
2338
|
enabled?: boolean | undefined;
|
|
2156
2339
|
} | undefined;
|
|
@@ -2164,13 +2347,55 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2164
2347
|
structuredData?: boolean | undefined;
|
|
2165
2348
|
}>>;
|
|
2166
2349
|
theme: z.ZodDefault<z.ZodObject<{
|
|
2167
|
-
accent: z.ZodDefault<z.ZodString
|
|
2168
|
-
|
|
2350
|
+
accent: z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
2351
|
+
dark: z.ZodString;
|
|
2352
|
+
light: z.ZodString;
|
|
2353
|
+
}, "strict", z.ZodTypeAny, {
|
|
2354
|
+
dark: string;
|
|
2355
|
+
light: string;
|
|
2356
|
+
}, {
|
|
2357
|
+
dark: string;
|
|
2358
|
+
light: string;
|
|
2359
|
+
}>]>>, {
|
|
2360
|
+
dark: string;
|
|
2361
|
+
light: string;
|
|
2362
|
+
}, string | {
|
|
2363
|
+
dark: string;
|
|
2364
|
+
light: string;
|
|
2365
|
+
} | undefined>;
|
|
2169
2366
|
action: z.ZodOptional<z.ZodString>;
|
|
2170
|
-
background: z.ZodOptional<z.ZodString
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2367
|
+
background: z.ZodEffects<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
2368
|
+
dark: z.ZodOptional<z.ZodString>;
|
|
2369
|
+
light: z.ZodOptional<z.ZodString>;
|
|
2370
|
+
}, "strict", z.ZodTypeAny, {
|
|
2371
|
+
dark?: string | undefined;
|
|
2372
|
+
light?: string | undefined;
|
|
2373
|
+
}, {
|
|
2374
|
+
dark?: string | undefined;
|
|
2375
|
+
light?: string | undefined;
|
|
2376
|
+
}>]>>, {
|
|
2377
|
+
dark?: string | undefined;
|
|
2378
|
+
light?: string | undefined;
|
|
2379
|
+
} | undefined, string | {
|
|
2380
|
+
dark?: string | undefined;
|
|
2381
|
+
light?: string | undefined;
|
|
2382
|
+
} | undefined>;
|
|
2383
|
+
backgroundImage: z.ZodEffects<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
2384
|
+
dark: z.ZodOptional<z.ZodString>;
|
|
2385
|
+
light: z.ZodOptional<z.ZodString>;
|
|
2386
|
+
}, "strict", z.ZodTypeAny, {
|
|
2387
|
+
dark?: string | undefined;
|
|
2388
|
+
light?: string | undefined;
|
|
2389
|
+
}, {
|
|
2390
|
+
dark?: string | undefined;
|
|
2391
|
+
light?: string | undefined;
|
|
2392
|
+
}>]>>, {
|
|
2393
|
+
dark?: string | undefined;
|
|
2394
|
+
light?: string | undefined;
|
|
2395
|
+
} | undefined, string | {
|
|
2396
|
+
dark?: string | undefined;
|
|
2397
|
+
light?: string | undefined;
|
|
2398
|
+
} | undefined>;
|
|
2174
2399
|
fonts: z.ZodDefault<z.ZodObject<{
|
|
2175
2400
|
body: z.ZodDefault<z.ZodEffects<z.ZodString, "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans", string>>;
|
|
2176
2401
|
display: z.ZodDefault<z.ZodEffects<z.ZodString, "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans", string>>;
|
|
@@ -2190,7 +2415,10 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2190
2415
|
strict: z.ZodDefault<z.ZodBoolean>;
|
|
2191
2416
|
}, "strict", z.ZodTypeAny, {
|
|
2192
2417
|
strict: boolean;
|
|
2193
|
-
accent:
|
|
2418
|
+
accent: {
|
|
2419
|
+
dark: string;
|
|
2420
|
+
light: string;
|
|
2421
|
+
};
|
|
2194
2422
|
fonts: {
|
|
2195
2423
|
mono: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
|
|
2196
2424
|
display: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
|
|
@@ -2199,21 +2427,30 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2199
2427
|
layout: "sidebar";
|
|
2200
2428
|
mode: "dark" | "light" | "system";
|
|
2201
2429
|
radius: "md" | "none" | "sm" | "lg";
|
|
2202
|
-
accentDark?: string | undefined;
|
|
2203
2430
|
action?: string | undefined;
|
|
2204
|
-
background?:
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2431
|
+
background?: {
|
|
2432
|
+
dark?: string | undefined;
|
|
2433
|
+
light?: string | undefined;
|
|
2434
|
+
} | undefined;
|
|
2435
|
+
backgroundImage?: {
|
|
2436
|
+
dark?: string | undefined;
|
|
2437
|
+
light?: string | undefined;
|
|
2438
|
+
} | undefined;
|
|
2208
2439
|
}, {
|
|
2209
2440
|
strict?: boolean | undefined;
|
|
2210
|
-
accent?: string |
|
|
2211
|
-
|
|
2441
|
+
accent?: string | {
|
|
2442
|
+
dark: string;
|
|
2443
|
+
light: string;
|
|
2444
|
+
} | undefined;
|
|
2212
2445
|
action?: string | undefined;
|
|
2213
|
-
background?: string |
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2446
|
+
background?: string | {
|
|
2447
|
+
dark?: string | undefined;
|
|
2448
|
+
light?: string | undefined;
|
|
2449
|
+
} | undefined;
|
|
2450
|
+
backgroundImage?: string | {
|
|
2451
|
+
dark?: string | undefined;
|
|
2452
|
+
light?: string | undefined;
|
|
2453
|
+
} | undefined;
|
|
2217
2454
|
fonts?: {
|
|
2218
2455
|
mono?: string | undefined;
|
|
2219
2456
|
display?: string | undefined;
|
|
@@ -2279,6 +2516,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2279
2516
|
type: "git" | "frontmatter";
|
|
2280
2517
|
};
|
|
2281
2518
|
seo: {
|
|
2519
|
+
agentReadability: boolean;
|
|
2520
|
+
contentSignals: {
|
|
2521
|
+
search: boolean;
|
|
2522
|
+
aiInput: boolean;
|
|
2523
|
+
aiTrain: boolean;
|
|
2524
|
+
} | null;
|
|
2282
2525
|
og: {
|
|
2283
2526
|
enabled?: boolean | undefined;
|
|
2284
2527
|
};
|
|
@@ -2297,6 +2540,10 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2297
2540
|
enabled: boolean;
|
|
2298
2541
|
model: string;
|
|
2299
2542
|
provider: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible";
|
|
2543
|
+
suggestions: {
|
|
2544
|
+
label: string;
|
|
2545
|
+
icon?: string | undefined;
|
|
2546
|
+
}[];
|
|
2300
2547
|
apiKeyEnv?: string | undefined;
|
|
2301
2548
|
baseUrl?: string | undefined;
|
|
2302
2549
|
} | undefined;
|
|
@@ -2370,7 +2617,10 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2370
2617
|
};
|
|
2371
2618
|
theme: {
|
|
2372
2619
|
strict: boolean;
|
|
2373
|
-
accent:
|
|
2620
|
+
accent: {
|
|
2621
|
+
dark: string;
|
|
2622
|
+
light: string;
|
|
2623
|
+
};
|
|
2374
2624
|
fonts: {
|
|
2375
2625
|
mono: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
|
|
2376
2626
|
display: "dm-sans" | "figtree" | "fira-code" | "geist" | "geist-mono" | "ibm-plex-mono" | "ibm-plex-sans" | "ibm-plex-serif" | "inter" | "inter-tight" | "jetbrains-mono" | "lora" | "manrope" | "merriweather" | "open-sans" | "playfair-display" | "plus-jakarta-sans" | "roboto" | "roboto-mono" | "source-code-pro" | "source-sans-3" | "source-serif-4" | "space-grotesk" | "space-mono" | "work-sans";
|
|
@@ -2379,12 +2629,15 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2379
2629
|
layout: "sidebar";
|
|
2380
2630
|
mode: "dark" | "light" | "system";
|
|
2381
2631
|
radius: "md" | "none" | "sm" | "lg";
|
|
2382
|
-
accentDark?: string | undefined;
|
|
2383
2632
|
action?: string | undefined;
|
|
2384
|
-
background?:
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2633
|
+
background?: {
|
|
2634
|
+
dark?: string | undefined;
|
|
2635
|
+
light?: string | undefined;
|
|
2636
|
+
} | undefined;
|
|
2637
|
+
backgroundImage?: {
|
|
2638
|
+
dark?: string | undefined;
|
|
2639
|
+
light?: string | undefined;
|
|
2640
|
+
} | undefined;
|
|
2388
2641
|
};
|
|
2389
2642
|
asyncapi: {
|
|
2390
2643
|
enabled: boolean;
|
|
@@ -2431,7 +2684,16 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2431
2684
|
instructions?: string | undefined;
|
|
2432
2685
|
};
|
|
2433
2686
|
navigation: {
|
|
2687
|
+
sidebar: {
|
|
2688
|
+
display: "flat" | "page" | "group";
|
|
2689
|
+
items?: SidebarItemConfig[] | undefined;
|
|
2690
|
+
};
|
|
2434
2691
|
repo: boolean;
|
|
2692
|
+
featured: {
|
|
2693
|
+
label: string;
|
|
2694
|
+
href: string;
|
|
2695
|
+
icon?: string | undefined;
|
|
2696
|
+
}[];
|
|
2435
2697
|
selectors: {
|
|
2436
2698
|
label: string;
|
|
2437
2699
|
items: {
|
|
@@ -2443,7 +2705,6 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2443
2705
|
}[];
|
|
2444
2706
|
kind: "version" | "dropdown" | "language" | "product";
|
|
2445
2707
|
}[];
|
|
2446
|
-
sidebar?: SidebarItemConfig[] | undefined;
|
|
2447
2708
|
tabs?: {
|
|
2448
2709
|
path: string;
|
|
2449
2710
|
label: string;
|
|
@@ -2564,6 +2825,12 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2564
2825
|
type?: "git" | "frontmatter" | undefined;
|
|
2565
2826
|
} | undefined;
|
|
2566
2827
|
seo?: {
|
|
2828
|
+
agentReadability?: boolean | undefined;
|
|
2829
|
+
contentSignals?: boolean | {
|
|
2830
|
+
search?: boolean | undefined;
|
|
2831
|
+
aiInput?: boolean | undefined;
|
|
2832
|
+
aiTrain?: boolean | undefined;
|
|
2833
|
+
} | undefined;
|
|
2567
2834
|
og?: {
|
|
2568
2835
|
enabled?: boolean | undefined;
|
|
2569
2836
|
} | undefined;
|
|
@@ -2583,6 +2850,10 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2583
2850
|
enabled?: boolean | undefined;
|
|
2584
2851
|
model?: string | undefined;
|
|
2585
2852
|
provider?: "gateway" | "openrouter" | "llmgateway" | "inkeep" | "openai-compatible" | undefined;
|
|
2853
|
+
suggestions?: {
|
|
2854
|
+
label: string;
|
|
2855
|
+
icon?: string | undefined;
|
|
2856
|
+
}[] | undefined;
|
|
2586
2857
|
} | undefined;
|
|
2587
2858
|
llmsTxt?: boolean | undefined;
|
|
2588
2859
|
} | undefined;
|
|
@@ -2668,13 +2939,19 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2668
2939
|
} | undefined;
|
|
2669
2940
|
theme?: {
|
|
2670
2941
|
strict?: boolean | undefined;
|
|
2671
|
-
accent?: string |
|
|
2672
|
-
|
|
2942
|
+
accent?: string | {
|
|
2943
|
+
dark: string;
|
|
2944
|
+
light: string;
|
|
2945
|
+
} | undefined;
|
|
2673
2946
|
action?: string | undefined;
|
|
2674
|
-
background?: string |
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2947
|
+
background?: string | {
|
|
2948
|
+
dark?: string | undefined;
|
|
2949
|
+
light?: string | undefined;
|
|
2950
|
+
} | undefined;
|
|
2951
|
+
backgroundImage?: string | {
|
|
2952
|
+
dark?: string | undefined;
|
|
2953
|
+
light?: string | undefined;
|
|
2954
|
+
} | undefined;
|
|
2678
2955
|
fonts?: {
|
|
2679
2956
|
mono?: string | undefined;
|
|
2680
2957
|
display?: string | undefined;
|
|
@@ -2765,8 +3042,16 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2765
3042
|
instructions?: string | undefined;
|
|
2766
3043
|
} | undefined;
|
|
2767
3044
|
navigation?: {
|
|
2768
|
-
sidebar?: SidebarItemConfig[] |
|
|
3045
|
+
sidebar?: SidebarItemConfig[] | {
|
|
3046
|
+
display?: "flat" | "page" | "group" | undefined;
|
|
3047
|
+
items?: SidebarItemConfig[] | undefined;
|
|
3048
|
+
} | undefined;
|
|
2769
3049
|
repo?: boolean | undefined;
|
|
3050
|
+
featured?: {
|
|
3051
|
+
label: string;
|
|
3052
|
+
href: string;
|
|
3053
|
+
icon?: string | undefined;
|
|
3054
|
+
}[] | undefined;
|
|
2770
3055
|
selectors?: {
|
|
2771
3056
|
label: string;
|
|
2772
3057
|
kind: "version" | "dropdown" | "language" | "product";
|
|
@@ -2821,4 +3106,8 @@ export type LocaleConfig = z.infer<typeof localeSchema>;
|
|
|
2821
3106
|
export type BlumeConfig = z.input<typeof blumeConfigSchema>;
|
|
2822
3107
|
/** A configured search backend. */
|
|
2823
3108
|
export type SearchProvider = (typeof searchProviders)[number];
|
|
3109
|
+
/** Resolved robots.txt `Content-Signal` preferences (`null` when disabled). */
|
|
3110
|
+
export type ContentSignals = z.infer<typeof contentSignalsSchema>;
|
|
3111
|
+
/** The resolved per-signal policy object (present when signals are enabled). */
|
|
3112
|
+
export type ContentSignalPolicy = NonNullable<ContentSignals>;
|
|
2824
3113
|
export {};
|
|
@@ -168,11 +168,19 @@ export interface NavSelector {
|
|
|
168
168
|
kind: "dropdown" | "language" | "product" | "version";
|
|
169
169
|
items: NavSelectorItem[];
|
|
170
170
|
}
|
|
171
|
+
/** A pinned link rendered above the sidebar sections (external or internal). */
|
|
172
|
+
export interface FeaturedLink {
|
|
173
|
+
label: string;
|
|
174
|
+
href: string;
|
|
175
|
+
icon?: string;
|
|
176
|
+
}
|
|
171
177
|
/** The complete navigation model derived from the content graph. */
|
|
172
178
|
export interface Navigation {
|
|
173
179
|
tabs: NavTab[];
|
|
174
180
|
selectors: NavSelector[];
|
|
175
181
|
sidebar: NavNode[];
|
|
182
|
+
/** Pinned links shown above the sidebar sections, unscoped by tab. */
|
|
183
|
+
featured: FeaturedLink[];
|
|
176
184
|
/** Repo URL for the header link, or null when hidden (`navigation.repo`). */
|
|
177
185
|
repoUrl?: string | null;
|
|
178
186
|
}
|