blume 2.1.3 → 2.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/AGENTS.md +1 -1
- package/CHANGELOG.md +134 -0
- package/README.md +4 -4
- package/dist/cli/{chunk-y4msrwm9.js → chunk-080mfch6.js} +15 -15
- package/dist/cli/{chunk-gfc5fqvf.js → chunk-1ch3ct3r.js} +18 -18
- package/dist/cli/{chunk-gfc5fqvf.js.map → chunk-1ch3ct3r.js.map} +1 -1
- package/dist/cli/{chunk-32khwcb6.js → chunk-2ssh60qh.js} +42 -69
- package/dist/cli/{chunk-32khwcb6.js.map → chunk-2ssh60qh.js.map} +9 -10
- package/dist/cli/{chunk-9qzgg6mj.js → chunk-34wap3ed.js} +3 -3
- package/dist/cli/{chunk-k3gr1nm9.js → chunk-40vk8kgf.js} +13 -16
- package/dist/cli/{chunk-k3gr1nm9.js.map → chunk-40vk8kgf.js.map} +3 -3
- package/dist/cli/chunk-487b95qy.js +329 -0
- package/dist/cli/chunk-487b95qy.js.map +13 -0
- package/dist/cli/chunk-4zxh25hc.js +157 -0
- package/dist/cli/chunk-4zxh25hc.js.map +10 -0
- package/dist/cli/chunk-69rjf786.js +146 -0
- package/dist/cli/chunk-69rjf786.js.map +11 -0
- package/dist/cli/{chunk-dqhg54mr.js → chunk-9h8mh2tk.js} +3 -3
- package/dist/cli/{chunk-dqhg54mr.js.map → chunk-9h8mh2tk.js.map} +2 -2
- package/dist/cli/{chunk-bqxaqn5p.js → chunk-9jqmq5hv.js} +8 -8
- package/dist/cli/{chunk-bqxaqn5p.js.map → chunk-9jqmq5hv.js.map} +1 -1
- package/dist/cli/{chunk-dv2z0rzf.js → chunk-aafhwx74.js} +38 -13
- package/dist/cli/{chunk-dv2z0rzf.js.map → chunk-aafhwx74.js.map} +5 -4
- package/dist/cli/{chunk-desvm72z.js → chunk-b680sv30.js} +22 -26
- package/dist/cli/chunk-b680sv30.js.map +13 -0
- package/dist/cli/{chunk-0w6hs479.js → chunk-beb0z983.js} +30 -18
- package/dist/cli/chunk-beb0z983.js.map +10 -0
- package/dist/cli/{chunk-1f882900.js → chunk-c5bjxq8v.js} +2 -2
- package/dist/cli/chunk-e1n41w9m.js +155 -0
- package/dist/cli/chunk-e1n41w9m.js.map +11 -0
- package/dist/cli/{chunk-sc93apfs.js → chunk-etckvbrh.js} +17 -17
- package/dist/cli/{chunk-sc93apfs.js.map → chunk-etckvbrh.js.map} +2 -2
- package/dist/cli/{chunk-bxwhtvw8.js → chunk-f260jdrn.js} +5 -5
- package/dist/cli/{chunk-74wfhv79.js → chunk-fnxgtjeq.js} +1 -1
- package/dist/cli/{chunk-ms9z66nz.js → chunk-gwy55cx3.js} +2 -2
- package/dist/cli/{chunk-ms9z66nz.js.map → chunk-gwy55cx3.js.map} +2 -2
- package/dist/cli/{chunk-dhwtqnnd.js → chunk-gxhcf2hs.js} +2 -2
- package/dist/cli/{chunk-tfycddbt.js → chunk-h0qwdbem.js} +2 -2
- package/dist/cli/{chunk-nbyvgnnm.js → chunk-hktq4j5r.js} +109 -49
- package/dist/cli/chunk-hktq4j5r.js.map +36 -0
- package/dist/cli/{chunk-twy7psdz.js → chunk-hn3g2b89.js} +14 -10
- package/dist/cli/chunk-hn3g2b89.js.map +10 -0
- package/dist/cli/{chunk-j1x92mx9.js → chunk-j4nfgn2j.js} +1 -1
- package/dist/cli/{chunk-dpy8qdjf.js → chunk-k45sq16q.js} +74 -183
- package/dist/cli/chunk-k45sq16q.js.map +18 -0
- package/dist/cli/{chunk-5cmts6dv.js → chunk-kmswjxj9.js} +7 -7
- package/dist/cli/{chunk-5cmts6dv.js.map → chunk-kmswjxj9.js.map} +1 -1
- package/dist/cli/{chunk-36bxs9c7.js → chunk-nqna8dzp.js} +27 -23
- package/dist/cli/chunk-nqna8dzp.js.map +10 -0
- package/dist/cli/{chunk-a57yh0h9.js → chunk-p834rkcn.js} +7 -7
- package/dist/cli/{chunk-a57yh0h9.js.map → chunk-p834rkcn.js.map} +1 -1
- package/dist/cli/{chunk-60hz265r.js → chunk-ppa6mg4d.js} +24 -11
- package/dist/cli/chunk-ppa6mg4d.js.map +10 -0
- package/dist/cli/{chunk-s0bdnc7v.js → chunk-q1wwrxzw.js} +5 -4
- package/dist/cli/chunk-q1wwrxzw.js.map +10 -0
- package/dist/cli/{chunk-ave1wcbr.js → chunk-qcyxkj44.js} +1 -1
- package/dist/cli/{chunk-124fvmzq.js → chunk-r5nm9w0c.js} +11183 -8806
- package/dist/cli/{chunk-124fvmzq.js.map → chunk-r5nm9w0c.js.map} +82 -66
- package/dist/cli/{chunk-ckrcm08h.js → chunk-rtvgmg2j.js} +48 -62
- package/dist/cli/{chunk-ckrcm08h.js.map → chunk-rtvgmg2j.js.map} +4 -5
- package/dist/cli/{chunk-297ajdcv.js → chunk-t2h8pwy1.js} +6 -6
- package/dist/cli/{chunk-297ajdcv.js.map → chunk-t2h8pwy1.js.map} +3 -3
- package/dist/cli/{chunk-gxtg6ed2.js → chunk-x60e15st.js} +21 -21
- package/dist/cli/{chunk-gxtg6ed2.js.map → chunk-x60e15st.js.map} +3 -3
- package/dist/cli/{chunk-58bt3hag.js → chunk-x7bh6d9j.js} +4 -4
- package/dist/cli/{chunk-hvcxng5f.js → chunk-ydqzkhjn.js} +6 -6
- package/dist/cli/{chunk-kdpzw38a.js → chunk-yg8ckc3g.js} +95 -7
- package/dist/cli/chunk-yg8ckc3g.js.map +11 -0
- package/dist/cli/{chunk-0pmb4tr4.js → chunk-zxd5jrgx.js} +1205 -222
- package/dist/cli/chunk-zxd5jrgx.js.map +44 -0
- package/dist/cli/index.js +78 -42
- package/dist/cli/index.js.map +7 -6
- package/dist/types/ai/changelog-components.d.ts +18 -0
- package/dist/types/ai/changelog-markdown.d.ts +12 -0
- package/dist/types/ai/openapi-components.d.ts +7 -7
- package/dist/types/ai/operation-details.d.ts +39 -0
- package/dist/types/ai/relative-links.d.ts +3 -1
- package/dist/types/ai/serializers.d.ts +6 -4
- package/dist/types/analytics/head.d.ts +4 -2
- package/dist/types/analytics/script.d.ts +8 -2
- package/dist/types/components/content/youtube.d.ts +20 -0
- package/dist/types/components/layout/nav-utils.d.ts +8 -0
- package/dist/types/components/openapi/example-panels.d.ts +33 -0
- package/dist/types/components/openapi/helpers.d.ts +53 -11
- package/dist/types/components/openapi/snippets.d.ts +7 -1
- package/dist/types/core/alert-diagnostics.d.ts +10 -0
- package/dist/types/core/builtin-tags.d.ts +16 -0
- package/dist/types/core/changelog-list.d.ts +48 -0
- package/dist/types/core/closest-match.d.ts +6 -0
- package/dist/types/core/code-fence-diagnostics.d.ts +18 -0
- package/dist/types/core/code-fences.d.ts +8 -1
- package/dist/types/core/config-input.d.ts +38 -6
- package/dist/types/core/content-assets.d.ts +16 -18
- package/dist/types/core/data.d.ts +6 -2
- package/dist/types/core/diagnostics.d.ts +14 -0
- package/dist/types/core/directive-diagnostics.d.ts +22 -8
- package/dist/types/core/former-routes.d.ts +14 -0
- package/dist/types/core/github.d.ts +5 -4
- package/dist/types/core/heading-markers.d.ts +65 -2
- package/dist/types/core/hidden-pages.d.ts +3 -0
- package/dist/types/core/includes.d.ts +23 -0
- package/dist/types/core/last-modified.d.ts +18 -6
- package/dist/types/core/links.d.ts +42 -2
- package/dist/types/core/load-module.d.ts +19 -4
- package/dist/types/core/manifest.d.ts +14 -1
- package/dist/types/core/markdown-mirrors.d.ts +22 -0
- package/dist/types/core/mcp-clients.d.ts +47 -0
- package/dist/types/core/mdx-elements.d.ts +32 -0
- package/dist/types/core/mdx-syntax.d.ts +100 -0
- package/dist/types/core/meta-diagnostics.d.ts +7 -0
- package/dist/types/core/meta.d.ts +32 -5
- package/dist/types/core/nav-diagnostics.d.ts +16 -2
- package/dist/types/core/navigation.d.ts +13 -0
- package/dist/types/core/ordering-prefix.d.ts +6 -0
- package/dist/types/core/pinned-ids.d.ts +23 -0
- package/dist/types/core/project-graph.d.ts +9 -1
- package/dist/types/core/redirect-patterns.d.ts +18 -0
- package/dist/types/core/relative-files.d.ts +31 -0
- package/dist/types/core/schema.d.ts +322 -11
- package/dist/types/core/sources/normalize.d.ts +101 -9
- package/dist/types/core/sources/types.d.ts +16 -0
- package/dist/types/core/static-files.d.ts +10 -0
- package/dist/types/core/static-host.d.ts +42 -0
- package/dist/types/core/svg-images.d.ts +26 -0
- package/dist/types/core/syntax-diagnostics.d.ts +14 -0
- package/dist/types/core/types.d.ts +42 -1
- package/dist/types/deploy/generated-files.d.ts +41 -0
- package/dist/types/deploy/redirects.d.ts +21 -7
- package/dist/types/markdown/code-title.d.ts +9 -5
- package/dist/types/markdown/directives.d.ts +8 -0
- package/dist/types/markdown/fence-language.d.ts +51 -0
- package/dist/types/markdown/fence-meta.d.ts +5 -0
- package/dist/types/markdown/github-alerts.d.ts +35 -0
- package/dist/types/openapi/asyncapi.d.ts +6 -5
- package/dist/types/openapi/checks.d.ts +10 -5
- package/dist/types/openapi/model.d.ts +55 -8
- package/dist/types/openapi/parse.d.ts +4 -1
- package/dist/types/ratelimit/index.d.ts +2 -0
- package/dist/types/ratelimit/memory.d.ts +1 -1
- package/dist/types/ratelimit/schema.d.ts +40 -0
- package/dist/types/ratelimit/unkey.d.ts +48 -0
- package/dist/types/sources/filesystem.d.ts +14 -4
- package/dist/types/sources/mdx-remote.d.ts +6 -3
- package/dist/types/sources/registry.d.ts +3 -3
- package/dist/types/theme/color.d.ts +33 -0
- package/dist/types/theme/palette.d.ts +122 -0
- package/docs/01-quickstart.mdx +1 -1
- package/docs/02-deployment.mdx +24 -8
- package/docs/04-migrating.mdx +16 -4
- package/docs/advanced/changelog.mdx +27 -1
- package/docs/advanced/skills.mdx +1 -1
- package/docs/cli/audit.mdx +1 -1
- package/docs/cli/doctor.mdx +2 -2
- package/docs/cli/evals.mdx +1 -1
- package/docs/cli/index.mdx +4 -2
- package/docs/cli/validate.mdx +10 -7
- package/docs/configuration/analytics.mdx +2 -0
- package/docs/configuration/customization.mdx +3 -1
- package/docs/configuration/index.mdx +7 -6
- package/docs/configuration/rate-limiting.mdx +20 -1
- package/docs/configuration/theming.mdx +5 -1
- package/docs/content/components.mdx +26 -6
- package/docs/content/frontmatter.mdx +1 -1
- package/docs/content/i18n.mdx +1 -1
- package/docs/content/includes.mdx +6 -2
- package/docs/content/index.mdx +11 -1
- package/docs/content/islands.mdx +2 -0
- package/docs/content/meta.mdx +9 -3
- package/docs/content/navigation.mdx +14 -6
- package/docs/content/sources/obsidian.mdx +1 -1
- package/docs/content/sources/remote-mdx.mdx +3 -1
- package/docs/content/syntax.mdx +76 -8
- package/docs/content/variables.mdx +3 -1
- package/docs/discoverability/agent-discovery.mdx +1 -1
- package/docs/discoverability/json-api.mdx +1 -1
- package/docs/discoverability/llms-txt.mdx +1 -1
- package/docs/discoverability/markdown.mdx +2 -2
- package/docs/discoverability/mcp.mdx +40 -8
- package/docs/discoverability/open-graph.mdx +1 -1
- package/docs/discoverability/sitemap-and-robots.mdx +1 -1
- package/docs/references/graphql.mdx +2 -0
- package/docs/references/openapi.mdx +45 -7
- package/package.json +4 -4
- package/skills/blume/SKILL.md +2 -2
- package/skills/blume-migrate/SKILL.md +51 -29
- package/skills/blume-migrate/references/docsify.md +262 -0
- package/skills/blume-migrate/references/docus.md +298 -0
- package/skills/blume-migrate/references/docusaurus.md +5 -5
- package/skills/blume-migrate/references/fern.md +327 -0
- package/skills/blume-migrate/references/fumadocs.md +1 -1
- package/skills/blume-migrate/references/gitbook.md +267 -0
- package/skills/blume-migrate/references/github-wiki.md +259 -0
- package/skills/blume-migrate/references/jekyll.md +253 -0
- package/skills/blume-migrate/references/mdbook.md +256 -0
- package/skills/blume-migrate/references/mintlify.md +5 -5
- package/skills/blume-migrate/references/mkdocs.md +236 -0
- package/skills/blume-migrate/references/monorepo.md +20 -8
- package/skills/blume-migrate/references/nextra.md +5 -5
- package/skills/blume-migrate/references/readme.md +257 -0
- package/skills/blume-migrate/references/redocly.md +198 -0
- package/skills/blume-migrate/references/starlight.md +3 -3
- package/skills/blume-migrate/references/vitepress.md +204 -0
- package/skills/blume-migrate/references/vuepress.md +271 -0
- package/skills/blume-migrate/scripts/docsify-codemod.mjs +2387 -0
- package/skills/blume-migrate/scripts/docus-codemod.mjs +2542 -0
- package/skills/blume-migrate/scripts/fern-codemod.mjs +2633 -0
- package/skills/blume-migrate/scripts/github-wiki-codemod.mjs +2808 -0
- package/skills/blume-migrate/scripts/include-excerpts.mjs +649 -0
- package/skills/blume-migrate/scripts/jekyll-codemod.mjs +3649 -0
- package/skills/blume-migrate/scripts/mintlify-codemod.mjs +17 -13
- package/skills/blume-migrate/scripts/mkdocs-codemod.mjs +2526 -0
- package/skills/blume-migrate/scripts/operation-routes.mjs +508 -0
- package/skills/blume-migrate/scripts/pin-heading-ids.mjs +1049 -0
- package/skills/blume-migrate/scripts/readme-codemod.mjs +4139 -0
- package/skills/blume-migrate/scripts/vitepress-codemod.mjs +1511 -0
- package/src/ai/changelog-components.ts +24 -0
- package/src/ai/changelog-markdown.ts +45 -41
- package/src/ai/component-markdown.ts +22 -9
- package/src/ai/llms.ts +36 -5
- package/src/ai/markdown.ts +2 -2
- package/src/ai/openapi-components.ts +25 -9
- package/src/ai/operation-details.ts +208 -0
- package/src/ai/relative-links.ts +48 -8
- package/src/ai/serializers.ts +7 -6
- package/src/ai/site-skill.ts +6 -2
- package/src/analytics/head.ts +11 -5
- package/src/analytics/script.ts +13 -3
- package/src/astro/generate.ts +47 -11
- package/src/astro/index.ts +1 -0
- package/src/astro/integration.ts +27 -1
- package/src/astro/mdx-source-errors.ts +46 -0
- package/src/astro/templates.ts +93 -189
- package/src/audit/checks/redirects.ts +5 -1
- package/src/audit/redirects.ts +36 -19
- package/src/audit/report.ts +22 -9
- package/src/audit/run.ts +12 -28
- package/src/audit/terms.ts +23 -0
- package/src/audit/url.ts +2 -2
- package/src/cli/build-failure.ts +256 -7
- package/src/cli/command-meta.ts +1 -1
- package/src/cli/commands/audit.ts +1 -1
- package/src/cli/commands/build.ts +12 -3
- package/src/cli/commands/check.ts +13 -2
- package/src/cli/commands/dev.ts +1 -1
- package/src/cli/commands/doctor.ts +4 -2
- package/src/cli/commands/init.ts +3 -3
- package/src/cli/commands/preview.ts +17 -1
- package/src/cli/commands/validate.ts +22 -10
- package/src/cli/prepare.ts +1 -1
- package/src/cli/preview-pages.ts +161 -0
- package/src/cli/required-secrets.ts +0 -1
- package/src/cli/unknown-flags.ts +1 -42
- package/src/components/code-copy.ts +51 -0
- package/src/components/code-language.ts +75 -0
- package/src/components/content/AccordionItem.astro +16 -1
- package/src/components/content/Callout.astro +11 -1
- package/src/components/content/Changelog.astro +189 -0
- package/src/components/content/CodeBlock.astro +8 -11
- package/src/components/content/Tabs.astro +16 -2
- package/src/components/content/YouTube.astro +6 -4
- package/src/components/content/code-block.ts +33 -0
- package/src/components/content/content-strings.ts +5 -1
- package/src/components/content/inline-markdown.ts +35 -8
- package/src/components/content/youtube.ts +49 -7
- package/src/components/layout/Analytics.astro +5 -1
- package/src/components/layout/NavTree.astro +8 -3
- package/src/components/layout/PageActions.astro +81 -23
- package/src/components/layout/RootLayout.astro +35 -32
- package/src/components/layout/SiteFooter.astro +31 -8
- package/src/components/layout/nav-utils.ts +14 -0
- package/src/components/layout/search/pagefind.ts +2 -1
- package/src/components/openapi/Operation.astro +4 -0
- package/src/components/openapi/PanelTabs.astro +9 -3
- package/src/components/openapi/RequestBody.astro +42 -8
- package/src/components/openapi/RequestPanel.astro +34 -53
- package/src/components/openapi/example-panels.ts +110 -0
- package/src/components/openapi/helpers.ts +195 -20
- package/src/components/openapi/operation-model.ts +63 -26
- package/src/components/openapi/request.ts +13 -0
- package/src/components/openapi/snippets.ts +14 -2
- package/src/core/alert-diagnostics.ts +89 -0
- package/src/core/builtin-tags.ts +76 -0
- package/src/core/changelog-list.ts +87 -0
- package/src/core/closest-match.ts +41 -0
- package/src/core/code-fence-diagnostics.ts +267 -0
- package/src/core/code-fences.ts +43 -7
- package/src/core/component-diagnostics.ts +65 -12
- package/src/core/config-input.ts +39 -5
- package/src/core/config.ts +46 -1
- package/src/core/content-assets.ts +64 -144
- package/src/core/data.ts +10 -3
- package/src/core/diagnostics.ts +36 -3
- package/src/core/directive-diagnostics.ts +265 -47
- package/src/core/former-routes.ts +46 -0
- package/src/core/git-ignored.ts +53 -0
- package/src/core/github.ts +5 -4
- package/src/core/heading-markers.ts +156 -2
- package/src/core/hidden-pages.ts +64 -0
- package/src/core/includes.ts +181 -41
- package/src/core/last-modified.ts +47 -10
- package/src/core/links.ts +438 -83
- package/src/core/load-module.ts +98 -9
- package/src/core/manifest.ts +12 -9
- package/src/core/markdown-mirrors.ts +52 -0
- package/src/core/mcp-clients.ts +87 -0
- package/src/core/mdx-elements.ts +153 -0
- package/src/core/mdx-syntax.ts +377 -0
- package/src/core/meta-diagnostics.ts +134 -0
- package/src/core/meta.ts +154 -55
- package/src/core/nav-diagnostics.ts +41 -4
- package/src/core/navigation.ts +70 -10
- package/src/core/ordering-prefix.ts +22 -2
- package/src/core/pinned-ids.ts +141 -0
- package/src/core/project-graph.ts +221 -29
- package/src/core/redirect-patterns.ts +41 -0
- package/src/core/relative-files.ts +145 -0
- package/src/core/schema.ts +110 -6
- package/src/core/sources/mdx-remote.ts +75 -14
- package/src/core/sources/normalize.ts +885 -179
- package/src/core/sources/notion.ts +5 -4
- package/src/core/sources/obsidian.ts +2 -5
- package/src/core/sources/types.ts +17 -0
- package/src/core/static-files.ts +40 -0
- package/src/core/static-host.ts +125 -0
- package/src/core/svg-images.ts +98 -0
- package/src/core/syntax-diagnostics.ts +491 -0
- package/src/core/types.ts +43 -1
- package/src/deploy/artifacts.ts +2 -28
- package/src/deploy/generated-files.ts +128 -0
- package/src/deploy/platforms/vercel.ts +25 -1
- package/src/deploy/redirects.ts +43 -16
- package/src/deploy/sitemap.ts +2 -1
- package/src/markdown/base-links.ts +87 -6
- package/src/markdown/code-title.ts +29 -13
- package/src/markdown/content-assets.ts +210 -0
- package/src/markdown/directives.ts +69 -5
- package/src/markdown/fence-language.ts +106 -0
- package/src/markdown/fence-meta.ts +42 -0
- package/src/markdown/github-alerts.ts +172 -0
- package/src/markdown/heading-anchors.ts +265 -56
- package/src/markdown/include.ts +30 -3
- package/src/markdown/index.ts +145 -40
- package/src/markdown/prompt-text.ts +95 -0
- package/src/markdown/relative-links.ts +37 -2
- package/src/markdown/route-snapshot.ts +22 -12
- package/src/markdown/svg-fallback.ts +51 -0
- package/src/markdown/title-heading.ts +134 -0
- package/src/migrate/migrate.ts +127 -2
- package/src/og/card.ts +14 -4
- package/src/openapi/asyncapi.ts +14 -6
- package/src/openapi/checks.ts +160 -15
- package/src/openapi/model.ts +172 -33
- package/src/openapi/parse.ts +13 -4
- package/src/openapi/render-mdx.ts +55 -9
- package/src/openapi/source.ts +87 -6
- package/src/ratelimit/index.ts +2 -0
- package/src/ratelimit/memory.ts +1 -1
- package/src/ratelimit/runtime.ts +81 -0
- package/src/ratelimit/schema.ts +2 -0
- package/src/ratelimit/unkey.ts +61 -0
- package/src/registry/eject.ts +0 -1
- package/src/registry/registry.ts +1 -1
- package/src/search/documents.ts +10 -2
- package/src/sources/filesystem.ts +28 -3
- package/src/sources/mdx-remote.ts +7 -15
- package/src/theme/color.ts +14 -0
- package/src/theme/entry.ts +22 -1
- package/src/theme/palette.ts +74 -1
- package/dist/cli/chunk-0pmb4tr4.js.map +0 -35
- package/dist/cli/chunk-0w6hs479.js.map +0 -10
- package/dist/cli/chunk-150jk7km.js +0 -52
- package/dist/cli/chunk-150jk7km.js.map +0 -10
- package/dist/cli/chunk-36bxs9c7.js.map +0 -10
- package/dist/cli/chunk-53jqw8z0.js +0 -89
- package/dist/cli/chunk-53jqw8z0.js.map +0 -10
- package/dist/cli/chunk-60hz265r.js.map +0 -10
- package/dist/cli/chunk-desvm72z.js.map +0 -14
- package/dist/cli/chunk-dpy8qdjf.js.map +0 -17
- package/dist/cli/chunk-es8h0v3j.js +0 -441
- package/dist/cli/chunk-es8h0v3j.js.map +0 -11
- package/dist/cli/chunk-kdpzw38a.js.map +0 -11
- package/dist/cli/chunk-nbyvgnnm.js.map +0 -36
- package/dist/cli/chunk-s0bdnc7v.js.map +0 -10
- package/dist/cli/chunk-twy7psdz.js.map +0 -10
- package/dist/cli/chunk-ydp3065p.js +0 -64
- package/dist/cli/chunk-ydp3065p.js.map +0 -10
- /package/dist/cli/{chunk-y4msrwm9.js.map → chunk-080mfch6.js.map} +0 -0
- /package/dist/cli/{chunk-9qzgg6mj.js.map → chunk-34wap3ed.js.map} +0 -0
- /package/dist/cli/{chunk-1f882900.js.map → chunk-c5bjxq8v.js.map} +0 -0
- /package/dist/cli/{chunk-bxwhtvw8.js.map → chunk-f260jdrn.js.map} +0 -0
- /package/dist/cli/{chunk-74wfhv79.js.map → chunk-fnxgtjeq.js.map} +0 -0
- /package/dist/cli/{chunk-dhwtqnnd.js.map → chunk-gxhcf2hs.js.map} +0 -0
- /package/dist/cli/{chunk-tfycddbt.js.map → chunk-h0qwdbem.js.map} +0 -0
- /package/dist/cli/{chunk-j1x92mx9.js.map → chunk-j4nfgn2j.js.map} +0 -0
- /package/dist/cli/{chunk-ave1wcbr.js.map → chunk-qcyxkj44.js.map} +0 -0
- /package/dist/cli/{chunk-58bt3hag.js.map → chunk-x7bh6d9j.js.map} +0 -0
- /package/dist/cli/{chunk-hvcxng5f.js.map → chunk-ydqzkhjn.js.map} +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { McpClientEntry } from "./mcp-clients.ts";
|
|
1
2
|
import type { SidebarItemConfig } from "./schema.ts";
|
|
2
3
|
import type { Diagnostic, Navigation, PageRecord } from "./types.ts";
|
|
3
4
|
/** Warn about icon names that aren't in Blume's set (skipping image/SVG icons). */
|
|
@@ -10,13 +11,26 @@ export declare const validateSearchPopularIcons: (popular: {
|
|
|
10
11
|
icon?: string;
|
|
11
12
|
label: string;
|
|
12
13
|
}[]) => Diagnostic[];
|
|
14
|
+
/**
|
|
15
|
+
* Warn about unknown icons on custom "Connect to MCP" clients
|
|
16
|
+
* (`agents.mcp.clients`), which live outside the navigation model too. A
|
|
17
|
+
* per-locale label is named in the default locale.
|
|
18
|
+
*/
|
|
19
|
+
export declare const validateMcpClientIcons: (clients: readonly McpClientEntry[], defaultLocale?: string) => Diagnostic[];
|
|
13
20
|
/**
|
|
14
21
|
* Warn when a config-linked tab/selector target has no matching page. `routes`
|
|
15
22
|
* must be the full set of servable routes — content, custom `.astro` pages, and
|
|
16
23
|
* generated routes — so this runs where all three are known (`generateRuntime`),
|
|
17
|
-
* not in the content-only graph build.
|
|
24
|
+
* not in the content-only graph build. `servesFile` answers for the files the
|
|
25
|
+
* site serves beside its pages — `public/` and the generated ones (see
|
|
26
|
+
* `staticFileResolver`) — so a featured link to `/spec.pdf` or `/llms.txt`
|
|
27
|
+
* resolves too.
|
|
28
|
+
*
|
|
29
|
+
* A tab is checked where it links: its `href` — the author's, or the
|
|
30
|
+
* section's first page that navigation resolved for a `path` with no page of
|
|
31
|
+
* its own — and its `path` only when it links there.
|
|
18
32
|
*/
|
|
19
|
-
export declare const validateNavTargets: (navigation: Navigation, routes: Set<string
|
|
33
|
+
export declare const validateNavTargets: (navigation: Navigation, routes: Set<string>, servesFile?: (path: string) => boolean) => Diagnostic[];
|
|
20
34
|
/**
|
|
21
35
|
* Warn about explicit `navigation.sidebar` items that can't render as written,
|
|
22
36
|
* instead of dropping them without a word: a page ref that matches no page
|
|
@@ -25,6 +25,19 @@ export declare const isRootTab: (tab: NavTab, root: string) => boolean;
|
|
|
25
25
|
* named alike read alike.
|
|
26
26
|
*/
|
|
27
27
|
export declare const titleWord: (word: string) => string;
|
|
28
|
+
/**
|
|
29
|
+
* A page's key in its folder meta `pages` list: its file name without the
|
|
30
|
+
* extension, ordering prefix, or parentheses (`01-quickstart.mdx` is
|
|
31
|
+
* `quickstart`).
|
|
32
|
+
*/
|
|
33
|
+
export declare const pageKey: (filename: string) => string;
|
|
34
|
+
/**
|
|
35
|
+
* The keys a folder meta `pages` list can name, by group path: each folder's
|
|
36
|
+
* pages and subfolders, keyed as `buildFileSystemSidebar` keys its nodes (the
|
|
37
|
+
* name without its extension, ordering prefix, or parentheses). Read off nav
|
|
38
|
+
* paths, so it covers pages the sidebar leaves out, like hidden ones.
|
|
39
|
+
*/
|
|
40
|
+
export declare const folderChildKeys: (navPaths: Iterable<string>) => Map<string, Set<string>>;
|
|
28
41
|
/**
|
|
29
42
|
* An explicit-sidebar ref (`"guides/"`, `"/guides/index"`, `"index"`) in the
|
|
30
43
|
* slashless route form pages are keyed by (`/guides`, `/`).
|
|
@@ -2,3 +2,9 @@
|
|
|
2
2
|
export declare const orderingPrefix: (name: string) => string | undefined;
|
|
3
3
|
/** `name` without its ordering prefix (`01-intro` -> `intro`). */
|
|
4
4
|
export declare const stripOrderingPrefix: (name: string) => string;
|
|
5
|
+
/**
|
|
6
|
+
* The name an earlier Blume routed `name` as, when it differs from today's:
|
|
7
|
+
* a {@link DATE_NAME} lost its first number as an ordering prefix
|
|
8
|
+
* (`12-05-2022` routed as `05-2022`, `2024-01` as `01`).
|
|
9
|
+
*/
|
|
10
|
+
export declare const formerRouteName: (name: string) => string | undefined;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A pinned heading id (`## Heading [#a--b]`, `{#a--b}`) is used verbatim, but
|
|
3
|
+
* the parse that reads it applies smart punctuation (Astro's `smartypants`,
|
|
4
|
+
* on by default) to the whole heading first: `--` became `–`, `...` became
|
|
5
|
+
* `…`, and quotes curled, so the id rendered as `a–b` while every link
|
|
6
|
+
* written to it says `#a--b`. Smart punctuation leaves a backslash-escaped
|
|
7
|
+
* character alone, so before a source is parsed, the punctuation in each
|
|
8
|
+
* heading's trailing markers is escaped where the author wrote it, and the
|
|
9
|
+
* parse reads the id as typed. An id with a typed `–` keeps it.
|
|
10
|
+
*
|
|
11
|
+
* The page render, each `<include>` splice, and the scan-time heading reader
|
|
12
|
+
* all escape their source this way, so the rendered id and the anchor index
|
|
13
|
+
* `blume validate` checks against agree.
|
|
14
|
+
*/
|
|
15
|
+
import type { SourceFormat } from "satteri";
|
|
16
|
+
/**
|
|
17
|
+
* `source` with the smart-punctuation characters in each heading's pinned id
|
|
18
|
+
* backslash-escaped, so a parse with smart punctuation reads the id as
|
|
19
|
+
* written. `source` must be the whole text the parse will read, link
|
|
20
|
+
* definitions included: they decide which brackets are links. A source
|
|
21
|
+
* without such a pin is returned as is, unparsed.
|
|
22
|
+
*/
|
|
23
|
+
export declare const escapePinnedIds: (source: string, format: SourceFormat) => string;
|
|
@@ -21,8 +21,16 @@ export interface BlumeProject {
|
|
|
21
21
|
graph: ContentGraph;
|
|
22
22
|
manifest: BlumeManifest;
|
|
23
23
|
diagnostics: Diagnostic[];
|
|
24
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Entries excluded from the graph because their frontmatter failed
|
|
26
|
+
* validation, or (in a build) their MDX doesn't parse.
|
|
27
|
+
*/
|
|
25
28
|
droppedPages: number;
|
|
29
|
+
/**
|
|
30
|
+
* The local `.mdx` files a build dropped because they don't parse, which
|
|
31
|
+
* the docs collection leaves out so Astro never compiles them.
|
|
32
|
+
*/
|
|
33
|
+
unparsable: string[];
|
|
26
34
|
/** The instantiated content sources, for lazy entry reads (search/AI/raw). */
|
|
27
35
|
sources: ContentSource[];
|
|
28
36
|
/**
|
|
@@ -61,6 +61,13 @@ export interface RedirectRule {
|
|
|
61
61
|
status: number;
|
|
62
62
|
to: string;
|
|
63
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* The literal start of a `to` that reads a capture, up to its first
|
|
66
|
+
* reference: `/guides/` for `/guides/:slug*`, `/new/article-` for
|
|
67
|
+
* `/new/article-*`. `undefined` for a `to` that reads none, which is one
|
|
68
|
+
* exact path.
|
|
69
|
+
*/
|
|
70
|
+
export declare const destinationPrefix: (to: string) => string | undefined;
|
|
64
71
|
/** Whether a path is a pattern, rather than one exact path. */
|
|
65
72
|
export declare const isPatternPath: (path: string) => boolean;
|
|
66
73
|
/** Why a redirect's ends can't work, and which end to fix. */
|
|
@@ -80,6 +87,17 @@ export declare const redirectPatternError: (from: string, to: string) => Redirec
|
|
|
80
87
|
* rules; an exact redirect gets none.
|
|
81
88
|
*/
|
|
82
89
|
export declare const expandRedirect: (redirect: RedirectEnds) => RedirectRule[];
|
|
90
|
+
/**
|
|
91
|
+
* The bare path a pattern ending in a rest also matches, as the exact
|
|
92
|
+
* redirect every host is given for it: `/beta/:slug*` (or `/beta/*`) to
|
|
93
|
+
* `/v2/:slug*` sends `/beta` itself to `/v2`. Null for an exact redirect,
|
|
94
|
+
* a pattern with no rest, and one whose bare path still holds a capture
|
|
95
|
+
* (`/:lang/*`), which names no single path.
|
|
96
|
+
*/
|
|
97
|
+
export declare const bareRedirect: (redirect: RedirectEnds) => {
|
|
98
|
+
from: string;
|
|
99
|
+
to: string;
|
|
100
|
+
} | null;
|
|
83
101
|
/** Put exact redirects ahead of patterns, which hosts try in order. */
|
|
84
102
|
export declare const exactFirst: <Redirect extends {
|
|
85
103
|
from: string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a target is *shaped* like a colocated image reference: a relative
|
|
3
|
+
* filesystem path with an image extension. Exported so link validation can
|
|
4
|
+
* tell "not a colocated candidate" apart from "a candidate that resolves
|
|
5
|
+
* nowhere" — the former falls through to the public-dir probe, the latter is
|
|
6
|
+
* a broken reference beside the page source.
|
|
7
|
+
*/
|
|
8
|
+
export declare const isRelativeImageTarget: (target: string) => boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Resolve one image target against its page's directory. Returns the absolute
|
|
11
|
+
* file path when the target is relative, is an image, and exists on disk —
|
|
12
|
+
* anything else (remote URLs, `public/` absolutes, broken refs, code-block
|
|
13
|
+
* examples that happen to look like paths) is null and left untouched. Shared
|
|
14
|
+
* with link validation, so what counts as a colocated image is decided once.
|
|
15
|
+
*/
|
|
16
|
+
export declare const resolveRelativeImage: (sourceDir: string, target: string) => string | null;
|
|
17
|
+
/** A file a link names beside its page, and the link's `?query#fragment`. */
|
|
18
|
+
export interface RelativeFile {
|
|
19
|
+
path: string;
|
|
20
|
+
suffix: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Resolve the file a link, an element's `src`, or an `href` names beside its
|
|
24
|
+
* page (`./spec.pdf`, `../files/data.csv#L2`): a relative path whose name
|
|
25
|
+
* carries an extension other than a page's (`.md`, `.mdx`), on disk as
|
|
26
|
+
* written (see `existsAsWritten`). Its `?query` or `#fragment` is set aside,
|
|
27
|
+
* so `./spec.pdf#page=2` opens the served file at that page. Anything else is
|
|
28
|
+
* null: a page link, a URL, a root path, a missing file. Shared with link
|
|
29
|
+
* validation, which accepts what this resolves.
|
|
30
|
+
*/
|
|
31
|
+
export declare const resolveRelativeFile: (sourceDir: string, target: string) => RelativeFile | null;
|
|
@@ -121,7 +121,9 @@ declare const pageMetaBaseSchema: z.ZodObject<{
|
|
|
121
121
|
title: z.ZodOptional<z.ZodString>;
|
|
122
122
|
type: z.ZodOptional<z.ZodString>;
|
|
123
123
|
}, z.core.$strict>;
|
|
124
|
-
export
|
|
124
|
+
export type PageMeta = z.infer<typeof pageMetaBaseSchema>;
|
|
125
|
+
export type PageMetaInput = z.input<typeof pageMetaBaseSchema>;
|
|
126
|
+
export declare const pageMetaSchema: z.ZodPipe<z.ZodObject<{
|
|
125
127
|
ai: z.ZodPrefault<z.ZodObject<{
|
|
126
128
|
exclude: z.ZodDefault<z.ZodBoolean>;
|
|
127
129
|
}, z.core.$strict>>;
|
|
@@ -202,9 +204,135 @@ export declare const pageMetaSchema: z.ZodObject<{
|
|
|
202
204
|
slug: z.ZodOptional<z.ZodString>;
|
|
203
205
|
title: z.ZodOptional<z.ZodString>;
|
|
204
206
|
type: z.ZodOptional<z.ZodString>;
|
|
205
|
-
}, z.core.$strict
|
|
206
|
-
|
|
207
|
-
|
|
207
|
+
}, z.core.$strict>, z.ZodTransform<{
|
|
208
|
+
ai: {
|
|
209
|
+
exclude: boolean;
|
|
210
|
+
};
|
|
211
|
+
deprecated: boolean;
|
|
212
|
+
draft: boolean;
|
|
213
|
+
hidden: boolean;
|
|
214
|
+
narration: boolean;
|
|
215
|
+
noindex: boolean;
|
|
216
|
+
pagination: boolean;
|
|
217
|
+
search: {
|
|
218
|
+
exclude: boolean;
|
|
219
|
+
boost?: number | undefined;
|
|
220
|
+
keywords?: string[] | undefined;
|
|
221
|
+
tags?: string[] | undefined;
|
|
222
|
+
};
|
|
223
|
+
seo: {
|
|
224
|
+
noindex: boolean;
|
|
225
|
+
canonical?: string | undefined;
|
|
226
|
+
description?: string | undefined;
|
|
227
|
+
image?: string | undefined;
|
|
228
|
+
title?: string | undefined;
|
|
229
|
+
x?: {
|
|
230
|
+
creator?: string | undefined;
|
|
231
|
+
} | undefined;
|
|
232
|
+
};
|
|
233
|
+
sidebar: {
|
|
234
|
+
hidden: boolean;
|
|
235
|
+
badge?: string | undefined;
|
|
236
|
+
display?: "flat" | "group" | "page" | undefined;
|
|
237
|
+
icon?: string | undefined;
|
|
238
|
+
label?: string | undefined;
|
|
239
|
+
order?: number | undefined;
|
|
240
|
+
};
|
|
241
|
+
api?: string | undefined;
|
|
242
|
+
authMethod?: "none" | "key" | "bearer" | "basic" | undefined;
|
|
243
|
+
authors?: string | {
|
|
244
|
+
[x: string]: unknown;
|
|
245
|
+
name: string;
|
|
246
|
+
avatar?: string | undefined;
|
|
247
|
+
image?: string | undefined;
|
|
248
|
+
url?: string | undefined;
|
|
249
|
+
} | (string | {
|
|
250
|
+
[x: string]: unknown;
|
|
251
|
+
name: string;
|
|
252
|
+
avatar?: string | undefined;
|
|
253
|
+
image?: string | undefined;
|
|
254
|
+
url?: string | undefined;
|
|
255
|
+
})[] | undefined;
|
|
256
|
+
changelog?: {
|
|
257
|
+
category?: string | undefined;
|
|
258
|
+
date?: string | undefined;
|
|
259
|
+
version?: string | undefined;
|
|
260
|
+
} | undefined;
|
|
261
|
+
date?: string | undefined;
|
|
262
|
+
description?: string | undefined;
|
|
263
|
+
icon?: string | undefined;
|
|
264
|
+
lastModified?: string | undefined;
|
|
265
|
+
mode?: "default" | "custom" | "wide" | "center" | "frame" | undefined;
|
|
266
|
+
playground?: "none" | "interactive" | "simple" | undefined;
|
|
267
|
+
related?: false | (string | Record<string, string>)[] | undefined;
|
|
268
|
+
slug?: string | undefined;
|
|
269
|
+
title?: string | undefined;
|
|
270
|
+
type?: string | undefined;
|
|
271
|
+
}, {
|
|
272
|
+
ai: {
|
|
273
|
+
exclude: boolean;
|
|
274
|
+
};
|
|
275
|
+
deprecated: boolean;
|
|
276
|
+
draft: boolean;
|
|
277
|
+
hidden: boolean;
|
|
278
|
+
narration: boolean;
|
|
279
|
+
noindex: boolean;
|
|
280
|
+
pagination: boolean;
|
|
281
|
+
search: {
|
|
282
|
+
exclude: boolean;
|
|
283
|
+
boost?: number | undefined;
|
|
284
|
+
keywords?: string[] | undefined;
|
|
285
|
+
tags?: string[] | undefined;
|
|
286
|
+
};
|
|
287
|
+
seo: {
|
|
288
|
+
noindex: boolean;
|
|
289
|
+
canonical?: string | undefined;
|
|
290
|
+
description?: string | undefined;
|
|
291
|
+
image?: string | undefined;
|
|
292
|
+
title?: string | undefined;
|
|
293
|
+
x?: {
|
|
294
|
+
creator?: string | undefined;
|
|
295
|
+
} | undefined;
|
|
296
|
+
};
|
|
297
|
+
sidebar: {
|
|
298
|
+
hidden: boolean;
|
|
299
|
+
badge?: string | undefined;
|
|
300
|
+
display?: "flat" | "group" | "page" | undefined;
|
|
301
|
+
icon?: string | undefined;
|
|
302
|
+
label?: string | undefined;
|
|
303
|
+
order?: number | undefined;
|
|
304
|
+
};
|
|
305
|
+
api?: string | undefined;
|
|
306
|
+
authMethod?: "none" | "key" | "bearer" | "basic" | undefined;
|
|
307
|
+
authors?: string | {
|
|
308
|
+
[x: string]: unknown;
|
|
309
|
+
name: string;
|
|
310
|
+
avatar?: string | undefined;
|
|
311
|
+
image?: string | undefined;
|
|
312
|
+
url?: string | undefined;
|
|
313
|
+
} | (string | {
|
|
314
|
+
[x: string]: unknown;
|
|
315
|
+
name: string;
|
|
316
|
+
avatar?: string | undefined;
|
|
317
|
+
image?: string | undefined;
|
|
318
|
+
url?: string | undefined;
|
|
319
|
+
})[] | undefined;
|
|
320
|
+
changelog?: {
|
|
321
|
+
category?: string | undefined;
|
|
322
|
+
date?: string | undefined;
|
|
323
|
+
version?: string | undefined;
|
|
324
|
+
} | undefined;
|
|
325
|
+
date?: string | undefined;
|
|
326
|
+
description?: string | undefined;
|
|
327
|
+
icon?: string | undefined;
|
|
328
|
+
lastModified?: string | undefined;
|
|
329
|
+
mode?: "default" | "custom" | "wide" | "center" | "frame" | undefined;
|
|
330
|
+
playground?: "none" | "interactive" | "simple" | undefined;
|
|
331
|
+
related?: false | (string | Record<string, string>)[] | undefined;
|
|
332
|
+
slug?: string | undefined;
|
|
333
|
+
title?: string | undefined;
|
|
334
|
+
type?: string | undefined;
|
|
335
|
+
}>>;
|
|
208
336
|
/**
|
|
209
337
|
* The page schema as the generated content collections declare it, so
|
|
210
338
|
* `entry.data` is typed and normalized (dates as ISO strings, X handles with
|
|
@@ -216,7 +344,7 @@ export type PageMetaInput = z.input<typeof pageMetaBaseSchema>;
|
|
|
216
344
|
* diagnostic — Blume continues without it unless `--strict` — so the
|
|
217
345
|
* collection must not turn that dropped page into a failed content sync.
|
|
218
346
|
*/
|
|
219
|
-
export declare const pageCollectionSchema: z.ZodCatch<z.ZodObject<{
|
|
347
|
+
export declare const pageCollectionSchema: z.ZodCatch<z.ZodPipe<z.ZodObject<{
|
|
220
348
|
ai: z.ZodPrefault<z.ZodObject<{
|
|
221
349
|
exclude: z.ZodDefault<z.ZodBoolean>;
|
|
222
350
|
}, z.core.$strict>>;
|
|
@@ -297,7 +425,139 @@ export declare const pageCollectionSchema: z.ZodCatch<z.ZodObject<{
|
|
|
297
425
|
slug: z.ZodOptional<z.ZodString>;
|
|
298
426
|
title: z.ZodOptional<z.ZodString>;
|
|
299
427
|
type: z.ZodOptional<z.ZodString>;
|
|
300
|
-
}, z.core.$loose
|
|
428
|
+
}, z.core.$loose>, z.ZodTransform<{
|
|
429
|
+
[x: string]: unknown;
|
|
430
|
+
ai: {
|
|
431
|
+
exclude: boolean;
|
|
432
|
+
};
|
|
433
|
+
deprecated: boolean;
|
|
434
|
+
draft: boolean;
|
|
435
|
+
hidden: boolean;
|
|
436
|
+
narration: boolean;
|
|
437
|
+
noindex: boolean;
|
|
438
|
+
pagination: boolean;
|
|
439
|
+
search: {
|
|
440
|
+
exclude: boolean;
|
|
441
|
+
boost?: number | undefined;
|
|
442
|
+
keywords?: string[] | undefined;
|
|
443
|
+
tags?: string[] | undefined;
|
|
444
|
+
};
|
|
445
|
+
seo: {
|
|
446
|
+
noindex: boolean;
|
|
447
|
+
canonical?: string | undefined;
|
|
448
|
+
description?: string | undefined;
|
|
449
|
+
image?: string | undefined;
|
|
450
|
+
title?: string | undefined;
|
|
451
|
+
x?: {
|
|
452
|
+
creator?: string | undefined;
|
|
453
|
+
} | undefined;
|
|
454
|
+
};
|
|
455
|
+
sidebar: {
|
|
456
|
+
hidden: boolean;
|
|
457
|
+
badge?: string | undefined;
|
|
458
|
+
display?: "flat" | "group" | "page" | undefined;
|
|
459
|
+
icon?: string | undefined;
|
|
460
|
+
label?: string | undefined;
|
|
461
|
+
order?: number | undefined;
|
|
462
|
+
};
|
|
463
|
+
api?: string | undefined;
|
|
464
|
+
authMethod?: "none" | "key" | "bearer" | "basic" | undefined;
|
|
465
|
+
authors?: string | {
|
|
466
|
+
[x: string]: unknown;
|
|
467
|
+
name: string;
|
|
468
|
+
avatar?: string | undefined;
|
|
469
|
+
image?: string | undefined;
|
|
470
|
+
url?: string | undefined;
|
|
471
|
+
} | (string | {
|
|
472
|
+
[x: string]: unknown;
|
|
473
|
+
name: string;
|
|
474
|
+
avatar?: string | undefined;
|
|
475
|
+
image?: string | undefined;
|
|
476
|
+
url?: string | undefined;
|
|
477
|
+
})[] | undefined;
|
|
478
|
+
changelog?: {
|
|
479
|
+
category?: string | undefined;
|
|
480
|
+
date?: string | undefined;
|
|
481
|
+
version?: string | undefined;
|
|
482
|
+
} | undefined;
|
|
483
|
+
date?: string | undefined;
|
|
484
|
+
description?: string | undefined;
|
|
485
|
+
icon?: string | undefined;
|
|
486
|
+
lastModified?: string | undefined;
|
|
487
|
+
mode?: "default" | "custom" | "wide" | "center" | "frame" | undefined;
|
|
488
|
+
playground?: "none" | "interactive" | "simple" | undefined;
|
|
489
|
+
related?: false | (string | Record<string, string>)[] | undefined;
|
|
490
|
+
slug?: string | undefined;
|
|
491
|
+
title?: string | undefined;
|
|
492
|
+
type?: string | undefined;
|
|
493
|
+
}, {
|
|
494
|
+
[x: string]: unknown;
|
|
495
|
+
ai: {
|
|
496
|
+
exclude: boolean;
|
|
497
|
+
};
|
|
498
|
+
deprecated: boolean;
|
|
499
|
+
draft: boolean;
|
|
500
|
+
hidden: boolean;
|
|
501
|
+
narration: boolean;
|
|
502
|
+
noindex: boolean;
|
|
503
|
+
pagination: boolean;
|
|
504
|
+
search: {
|
|
505
|
+
exclude: boolean;
|
|
506
|
+
boost?: number | undefined;
|
|
507
|
+
keywords?: string[] | undefined;
|
|
508
|
+
tags?: string[] | undefined;
|
|
509
|
+
};
|
|
510
|
+
seo: {
|
|
511
|
+
noindex: boolean;
|
|
512
|
+
canonical?: string | undefined;
|
|
513
|
+
description?: string | undefined;
|
|
514
|
+
image?: string | undefined;
|
|
515
|
+
title?: string | undefined;
|
|
516
|
+
x?: {
|
|
517
|
+
creator?: string | undefined;
|
|
518
|
+
} | undefined;
|
|
519
|
+
};
|
|
520
|
+
sidebar: {
|
|
521
|
+
hidden: boolean;
|
|
522
|
+
badge?: string | undefined;
|
|
523
|
+
display?: "flat" | "group" | "page" | undefined;
|
|
524
|
+
icon?: string | undefined;
|
|
525
|
+
label?: string | undefined;
|
|
526
|
+
order?: number | undefined;
|
|
527
|
+
};
|
|
528
|
+
api?: string | undefined;
|
|
529
|
+
authMethod?: "none" | "key" | "bearer" | "basic" | undefined;
|
|
530
|
+
authors?: string | {
|
|
531
|
+
[x: string]: unknown;
|
|
532
|
+
name: string;
|
|
533
|
+
avatar?: string | undefined;
|
|
534
|
+
image?: string | undefined;
|
|
535
|
+
url?: string | undefined;
|
|
536
|
+
} | (string | {
|
|
537
|
+
[x: string]: unknown;
|
|
538
|
+
name: string;
|
|
539
|
+
avatar?: string | undefined;
|
|
540
|
+
image?: string | undefined;
|
|
541
|
+
url?: string | undefined;
|
|
542
|
+
})[] | undefined;
|
|
543
|
+
changelog?: {
|
|
544
|
+
category?: string | undefined;
|
|
545
|
+
date?: string | undefined;
|
|
546
|
+
version?: string | undefined;
|
|
547
|
+
} | undefined;
|
|
548
|
+
date?: string | undefined;
|
|
549
|
+
description?: string | undefined;
|
|
550
|
+
icon?: string | undefined;
|
|
551
|
+
lastModified?: string | undefined;
|
|
552
|
+
mode?: "default" | "custom" | "wide" | "center" | "frame" | undefined;
|
|
553
|
+
playground?: "none" | "interactive" | "simple" | undefined;
|
|
554
|
+
related?: false | (string | Record<string, string>)[] | undefined;
|
|
555
|
+
slug?: string | undefined;
|
|
556
|
+
title?: string | undefined;
|
|
557
|
+
type?: string | undefined;
|
|
558
|
+
}>>>;
|
|
559
|
+
/** Built-in page frontmatter keys; custom keys must never redeclare one. */
|
|
560
|
+
export declare const BUILT_IN_PAGE_META_KEYS: ReadonlySet<string>;
|
|
301
561
|
export declare const folderMetaSchema: z.ZodObject<{
|
|
302
562
|
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
303
563
|
directory: z.ZodOptional<z.ZodEnum<{
|
|
@@ -734,19 +994,21 @@ declare const aiConfigSchema: z.ZodObject<{
|
|
|
734
994
|
tools: z.ZodOptional<z.ZodBoolean>;
|
|
735
995
|
}, z.core.$strict>>;
|
|
736
996
|
openInChat: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodEnum<{
|
|
997
|
+
cursor: "cursor";
|
|
737
998
|
v0: "v0";
|
|
738
999
|
chatgpt: "chatgpt";
|
|
739
1000
|
claude: "claude";
|
|
740
1001
|
t3: "t3";
|
|
741
1002
|
scira: "scira";
|
|
742
|
-
|
|
743
|
-
}>>]>>, z.ZodTransform<("v0" | "chatgpt" | "claude" | "t3" | "scira" | "cursor")[], boolean | ("v0" | "chatgpt" | "claude" | "t3" | "scira" | "cursor")[]>>;
|
|
1003
|
+
}>>]>>, z.ZodTransform<("cursor" | "v0" | "chatgpt" | "claude" | "t3" | "scira")[], boolean | ("cursor" | "v0" | "chatgpt" | "claude" | "t3" | "scira")[]>>;
|
|
744
1004
|
}, z.core.$strict>;
|
|
745
1005
|
export { assistantReasoningLevels } from "../ai/ask.ts";
|
|
746
1006
|
export type { AssistantReasoning } from "../ai/ask.ts";
|
|
747
1007
|
export type AssistantConfig = NonNullable<z.infer<typeof aiConfigSchema>["assistant"]>;
|
|
748
1008
|
export { openInChatProviders } from "./open-in-chat.ts";
|
|
749
1009
|
export type { OpenInChatProvider } from "./open-in-chat.ts";
|
|
1010
|
+
export { mcpClients } from "./mcp-clients.ts";
|
|
1011
|
+
export type { McpClient, McpCustomClient } from "./mcp-clients.ts";
|
|
750
1012
|
/** A configured locale: ISO-ish code plus display metadata for the switcher. */
|
|
751
1013
|
declare const localeSchema: z.ZodObject<{
|
|
752
1014
|
code: z.ZodString;
|
|
@@ -946,6 +1208,24 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
946
1208
|
}>>;
|
|
947
1209
|
markdownComponents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodCustom<ComponentMarkdown, ComponentMarkdown>>>;
|
|
948
1210
|
mcp: z.ZodPrefault<z.ZodObject<{
|
|
1211
|
+
clients: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
|
|
1212
|
+
"claude-code": "claude-code";
|
|
1213
|
+
codex: "codex";
|
|
1214
|
+
cursor: "cursor";
|
|
1215
|
+
vscode: "vscode";
|
|
1216
|
+
}>, z.ZodObject<{
|
|
1217
|
+
command: z.ZodString;
|
|
1218
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
1219
|
+
label: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
|
|
1220
|
+
}, z.core.$strict>]>>]>>, z.ZodTransform<("claude-code" | "codex" | "cursor" | "vscode" | {
|
|
1221
|
+
command: string;
|
|
1222
|
+
label: string | Record<string, string>;
|
|
1223
|
+
icon?: string | undefined;
|
|
1224
|
+
})[], boolean | ("claude-code" | "codex" | "cursor" | "vscode" | {
|
|
1225
|
+
command: string;
|
|
1226
|
+
label: string | Record<string, string>;
|
|
1227
|
+
icon?: string | undefined;
|
|
1228
|
+
})[]>>;
|
|
949
1229
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
950
1230
|
instructions: z.ZodOptional<z.ZodString>;
|
|
951
1231
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -1133,13 +1413,13 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1133
1413
|
tools: z.ZodOptional<z.ZodBoolean>;
|
|
1134
1414
|
}, z.core.$strict>>;
|
|
1135
1415
|
openInChat: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodEnum<{
|
|
1416
|
+
cursor: "cursor";
|
|
1136
1417
|
v0: "v0";
|
|
1137
1418
|
chatgpt: "chatgpt";
|
|
1138
1419
|
claude: "claude";
|
|
1139
1420
|
t3: "t3";
|
|
1140
1421
|
scira: "scira";
|
|
1141
|
-
|
|
1142
|
-
}>>]>>, z.ZodTransform<("v0" | "chatgpt" | "claude" | "t3" | "scira" | "cursor")[], boolean | ("v0" | "chatgpt" | "claude" | "t3" | "scira" | "cursor")[]>>;
|
|
1422
|
+
}>>]>>, z.ZodTransform<("cursor" | "v0" | "chatgpt" | "claude" | "t3" | "scira")[], boolean | ("cursor" | "v0" | "chatgpt" | "claude" | "t3" | "scira")[]>>;
|
|
1143
1423
|
}, z.core.$strict>>;
|
|
1144
1424
|
analytics: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1145
1425
|
kind: z.ZodLiteral<"adobe">;
|
|
@@ -1760,7 +2040,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
1760
2040
|
options: z.ZodObject<{
|
|
1761
2041
|
pollInterval: z.ZodOptional<z.ZodNumber>;
|
|
1762
2042
|
prefix: z.ZodOptional<z.ZodString>;
|
|
1763
|
-
exclude: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
2043
|
+
exclude: z.ZodPipe<z.ZodDefault<z.ZodArray<z.ZodString>>, z.ZodTransform<string[], string[]>>;
|
|
1764
2044
|
include: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
1765
2045
|
root: z.ZodDefault<z.ZodString>;
|
|
1766
2046
|
}, z.core.$strict>;
|
|
@@ -2778,6 +3058,7 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
2778
3058
|
enabled: boolean;
|
|
2779
3059
|
}>>>;
|
|
2780
3060
|
footer: z.ZodOptional<z.ZodObject<{
|
|
3061
|
+
copyright: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
|
|
2781
3062
|
links: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2782
3063
|
href: z.ZodString;
|
|
2783
3064
|
label: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
|
|
@@ -3090,6 +3371,16 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3090
3371
|
}, z.core.$strict>;
|
|
3091
3372
|
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
3092
3373
|
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
3374
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
3375
|
+
kind: z.ZodLiteral<"unkey">;
|
|
3376
|
+
options: z.ZodObject<{
|
|
3377
|
+
requests: z.ZodOptional<z.ZodNumber>;
|
|
3378
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
3379
|
+
rootKeyEnv: z.ZodOptional<z.ZodString>;
|
|
3380
|
+
window: z.ZodOptional<z.ZodNumber>;
|
|
3381
|
+
}, z.core.$strict>;
|
|
3382
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
3383
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
3093
3384
|
}, z.core.$strict>], "kind">]>>, z.ZodTransform<{
|
|
3094
3385
|
kind: "cloudflare";
|
|
3095
3386
|
options: {
|
|
@@ -3117,6 +3408,16 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3117
3408
|
};
|
|
3118
3409
|
requiredSecrets: string[];
|
|
3119
3410
|
runtimeDeps: string[];
|
|
3411
|
+
} | {
|
|
3412
|
+
kind: "unkey";
|
|
3413
|
+
options: {
|
|
3414
|
+
requests?: number | undefined;
|
|
3415
|
+
namespace?: string | undefined;
|
|
3416
|
+
rootKeyEnv?: string | undefined;
|
|
3417
|
+
window?: number | undefined;
|
|
3418
|
+
};
|
|
3419
|
+
requiredSecrets: string[];
|
|
3420
|
+
runtimeDeps: string[];
|
|
3120
3421
|
} | null, false | {
|
|
3121
3422
|
kind: "cloudflare";
|
|
3122
3423
|
options: {
|
|
@@ -3144,6 +3445,16 @@ export declare const blumeConfigSchema: z.ZodObject<{
|
|
|
3144
3445
|
};
|
|
3145
3446
|
requiredSecrets: string[];
|
|
3146
3447
|
runtimeDeps: string[];
|
|
3448
|
+
} | {
|
|
3449
|
+
kind: "unkey";
|
|
3450
|
+
options: {
|
|
3451
|
+
requests?: number | undefined;
|
|
3452
|
+
namespace?: string | undefined;
|
|
3453
|
+
rootKeyEnv?: string | undefined;
|
|
3454
|
+
window?: number | undefined;
|
|
3455
|
+
};
|
|
3456
|
+
requiredSecrets: string[];
|
|
3457
|
+
runtimeDeps: string[];
|
|
3147
3458
|
} | undefined>>;
|
|
3148
3459
|
react: z.ZodPrefault<z.ZodObject<{
|
|
3149
3460
|
compiler: z.ZodDefault<z.ZodBoolean>;
|