blume 2.0.0 → 2.0.2
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 +110 -0
- package/README.md +2 -2
- package/dist/cli/{chunk-f2972sbt.js → chunk-00gs3wqs.js} +1 -1
- package/dist/cli/{chunk-fa25z98p.js → chunk-273ygyr4.js} +4 -3
- package/dist/cli/chunk-273ygyr4.js.map +11 -0
- package/dist/cli/{chunk-pat2zzwc.js → chunk-3yce002v.js} +21 -8
- package/dist/cli/{chunk-pat2zzwc.js.map → chunk-3yce002v.js.map} +4 -4
- package/dist/cli/{chunk-d1tadaw7.js → chunk-4e9b9ra6.js} +17 -7
- package/dist/cli/chunk-4e9b9ra6.js.map +10 -0
- package/dist/cli/{chunk-zg2gtj10.js → chunk-5r8g91qn.js} +352 -676
- package/dist/cli/chunk-5r8g91qn.js.map +34 -0
- package/dist/cli/{chunk-11j0384y.js → chunk-6dtt0zfn.js} +14 -14
- package/dist/cli/{chunk-11j0384y.js.map → chunk-6dtt0zfn.js.map} +3 -3
- package/dist/cli/{chunk-bw22s759.js → chunk-6k4ftwze.js} +38 -19
- package/dist/cli/{chunk-bw22s759.js.map → chunk-6k4ftwze.js.map} +4 -4
- package/dist/cli/{chunk-sqn5t4q0.js → chunk-7mbqtmgb.js} +16 -7
- package/dist/cli/chunk-7mbqtmgb.js.map +10 -0
- package/dist/cli/{chunk-79njf86q.js → chunk-7vtckvaw.js} +21 -19
- package/dist/cli/chunk-7vtckvaw.js.map +11 -0
- package/dist/cli/{chunk-fh5hj5jt.js → chunk-8g8ytmgx.js} +17 -18
- package/dist/cli/{chunk-fh5hj5jt.js.map → chunk-8g8ytmgx.js.map} +2 -2
- package/dist/cli/{chunk-1w8dp3qb.js → chunk-91ws1n6j.js} +18 -15
- package/dist/cli/chunk-91ws1n6j.js.map +10 -0
- package/dist/cli/{chunk-7ez8ny0t.js → chunk-bbnwccaz.js} +2 -2
- package/dist/cli/{chunk-5a2z0198.js → chunk-bfwp9vp6.js} +18 -10
- package/dist/cli/chunk-bfwp9vp6.js.map +10 -0
- package/dist/cli/{chunk-ernrthtr.js → chunk-d1v5rhy0.js} +14 -15
- package/dist/cli/{chunk-ernrthtr.js.map → chunk-d1v5rhy0.js.map} +2 -2
- package/dist/cli/{chunk-a9kptbw5.js → chunk-ddndchfr.js} +21 -6
- package/dist/cli/chunk-ddndchfr.js.map +14 -0
- package/dist/cli/{chunk-zxccj738.js → chunk-esh98wmb.js} +1 -1
- package/dist/cli/{chunk-88cpgt6h.js → chunk-fsmrqk8a.js} +1 -1
- package/dist/cli/{chunk-b5aj94ah.js → chunk-g698a744.js} +5 -5
- package/dist/cli/{chunk-jts8mvcz.js → chunk-gs7r695n.js} +9 -3
- package/dist/cli/{chunk-jts8mvcz.js.map → chunk-gs7r695n.js.map} +3 -3
- package/dist/cli/{chunk-41za066z.js → chunk-h2ez8dzb.js} +4 -4
- package/dist/cli/{chunk-by2290sx.js → chunk-h7k3nq3v.js} +2 -2
- package/dist/cli/{chunk-j8mw0za6.js → chunk-hqp2ajnh.js} +252 -123
- package/dist/cli/chunk-hqp2ajnh.js.map +35 -0
- package/dist/cli/{chunk-mnqj32sj.js → chunk-hr8ne106.js} +119 -50
- package/dist/cli/chunk-hr8ne106.js.map +13 -0
- package/dist/cli/{chunk-mwt1k8n7.js → chunk-j85scx15.js} +74 -30
- package/dist/cli/chunk-j85scx15.js.map +10 -0
- package/dist/cli/{chunk-z01ze5c1.js → chunk-k7pj68a8.js} +63 -22
- package/dist/cli/chunk-k7pj68a8.js.map +11 -0
- package/dist/cli/{chunk-2q1dwty4.js → chunk-mqc662a6.js} +8 -8
- package/dist/cli/{chunk-2q1dwty4.js.map → chunk-mqc662a6.js.map} +4 -4
- package/dist/cli/{chunk-y3e45rc8.js → chunk-n1yg3tj3.js} +4 -4
- package/dist/cli/{chunk-bctazmbk.js → chunk-nfcyttvj.js} +17 -6
- package/dist/cli/chunk-nfcyttvj.js.map +10 -0
- package/dist/cli/{chunk-6k8vp3ta.js → chunk-pbg5a4s3.js} +60 -28
- package/dist/cli/chunk-pbg5a4s3.js.map +19 -0
- package/dist/cli/{chunk-d80hr03s.js → chunk-ppzjqwx2.js} +24 -17
- package/dist/cli/{chunk-d80hr03s.js.map → chunk-ppzjqwx2.js.map} +4 -4
- package/dist/cli/{chunk-beat36xx.js → chunk-qkb5a8sa.js} +25 -10
- package/dist/cli/chunk-qkb5a8sa.js.map +10 -0
- package/dist/cli/{chunk-bnbmcwfb.js → chunk-sqw4ekg1.js} +5 -5
- package/dist/cli/{chunk-bnbmcwfb.js.map → chunk-sqw4ekg1.js.map} +3 -3
- package/dist/cli/{chunk-xaz13gwg.js → chunk-v6ya5kcb.js} +3268 -1150
- package/dist/cli/chunk-v6ya5kcb.js.map +189 -0
- package/dist/cli/{chunk-tzne8qfq.js → chunk-w4bxdvsa.js} +18 -15
- package/dist/cli/chunk-w4bxdvsa.js.map +10 -0
- package/dist/cli/{chunk-f7t03s3g.js → chunk-wdrt2k2v.js} +2 -2
- package/dist/cli/{chunk-z1f5arsg.js → chunk-xh43dwgw.js} +170 -55
- package/dist/cli/chunk-xh43dwgw.js.map +36 -0
- package/dist/cli/{chunk-pnnvybbk.js → chunk-zp79m0ts.js} +5 -5
- package/dist/cli/{chunk-pnnvybbk.js.map → chunk-zp79m0ts.js.map} +2 -2
- package/dist/cli/index.js +160 -35
- package/dist/cli/index.js.map +4 -4
- package/dist/types/ai/agent-readability.d.ts +1 -1
- package/dist/types/ai/agent-surface.d.ts +32 -0
- package/dist/types/ai/api/paths.d.ts +1 -1
- package/dist/types/ai/api-catalog.d.ts +7 -1
- package/dist/types/ai/ask-context.d.ts +14 -7
- package/dist/types/ai/ask.d.ts +43 -43
- package/dist/types/ai/component-markdown.d.ts +4 -4
- package/dist/types/ai/index.d.ts +3 -3
- package/dist/types/ai/openapi-components.d.ts +1 -1
- package/dist/types/ai/relative-links.d.ts +9 -4
- package/dist/types/ai/serializers.d.ts +1 -1
- package/dist/types/ai/static-expression.d.ts +28 -0
- package/dist/types/ai/visibility.d.ts +1 -1
- package/dist/types/analytics/databuddy.d.ts +43 -0
- package/dist/types/analytics/index.d.ts +2 -0
- package/dist/types/analytics/schema.d.ts +14 -0
- package/dist/types/cli/env.d.ts +5 -0
- package/dist/types/cli/init/scaffold.d.ts +19 -3
- package/dist/types/cli/init/starter-spec.d.ts +11 -0
- package/dist/types/core/base-path.d.ts +9 -0
- package/dist/types/core/config-input.d.ts +21 -21
- package/dist/types/core/config.d.ts +5 -5
- package/dist/types/core/data.d.ts +3 -3
- package/dist/types/core/graph.d.ts +2 -0
- package/dist/types/core/i18n-ui.d.ts +37 -8
- package/dist/types/core/i18n.d.ts +7 -1
- package/dist/types/core/links.d.ts +3 -1
- package/dist/types/core/load-module.d.ts +10 -0
- package/dist/types/core/locale-links.d.ts +12 -2
- package/dist/types/core/meta.d.ts +5 -1
- package/dist/types/core/nav-diagnostics.d.ts +10 -0
- package/dist/types/core/navigation.d.ts +38 -0
- package/dist/types/core/ordering-prefix.d.ts +4 -0
- package/dist/types/core/safe-links.d.ts +3 -1
- package/dist/types/core/schema.d.ts +57 -18
- package/dist/types/core/sources/github-releases.d.ts +5 -0
- package/dist/types/core/sources/lower.d.ts +14 -2
- package/dist/types/core/sources/normalize.d.ts +10 -1
- package/dist/types/core/sources/remote.d.ts +11 -1
- package/dist/types/core/sources/resolve.d.ts +12 -0
- package/dist/types/core/sources/types.d.ts +31 -0
- package/dist/types/core/types.d.ts +9 -0
- package/dist/types/core/unrecognized-keys.d.ts +1 -1
- package/dist/types/deploy/adapters/node.d.ts +5 -2
- package/dist/types/deploy/adapters/types.d.ts +7 -0
- package/dist/types/deploy/cloudflare-negotiation.d.ts +3 -2
- package/dist/types/deploy/headers.d.ts +31 -7
- package/dist/types/deploy/node-headers.d.ts +43 -8
- package/dist/types/deploy/platforms/netlify.d.ts +27 -2
- package/dist/types/deploy/platforms/node.d.ts +6 -5
- package/dist/types/deploy/platforms/types.d.ts +7 -0
- package/dist/types/deploy/platforms/vercel.d.ts +3 -2
- package/dist/types/deploy/redirects.d.ts +7 -2
- package/dist/types/deploy/vercel-negotiation.d.ts +3 -2
- package/dist/types/openapi/model.d.ts +20 -6
- package/dist/types/search/documents.d.ts +1 -1
- package/dist/types/search/orama-index.d.ts +1 -1
- package/dist/types/search/sync/algolia.d.ts +3 -1
- package/docs/01-quickstart.mdx +3 -2
- package/docs/02-deployment.mdx +21 -12
- package/docs/03-upgrading.mdx +22 -9
- package/docs/04-migrating.mdx +4 -4
- package/docs/08-faq.mdx +12 -5
- package/docs/advanced/changelog.mdx +1 -1
- package/docs/advanced/custom-pages.mdx +5 -3
- package/docs/advanced/skills.mdx +1 -1
- package/docs/cli/audit.mdx +5 -5
- package/docs/cli/doctor.mdx +4 -4
- package/docs/cli/evals.mdx +9 -9
- package/docs/cli/index.mdx +6 -3
- package/docs/cli/translate.mdx +8 -8
- package/docs/configuration/analytics.mdx +23 -2
- package/docs/configuration/{ask-ai.mdx → assistant.mdx} +20 -20
- package/docs/configuration/customization.mdx +5 -4
- package/docs/configuration/index.mdx +7 -5
- package/docs/configuration/meta.ts +1 -1
- package/docs/configuration/search.mdx +2 -2
- package/docs/content/components.mdx +1 -1
- package/docs/content/frontmatter.mdx +5 -1
- package/docs/content/i18n.mdx +3 -3
- package/docs/content/index.mdx +4 -2
- package/docs/content/islands.mdx +1 -1
- package/docs/content/meta.mdx +5 -3
- package/docs/content/navigation.mdx +29 -4
- package/docs/content/sources.mdx +18 -12
- package/docs/content/versioning.mdx +1 -0
- package/docs/discoverability/agent-discovery.mdx +22 -8
- package/docs/discoverability/index.mdx +3 -3
- package/docs/discoverability/llms-txt.mdx +2 -5
- package/docs/discoverability/markdown.mdx +5 -3
- package/docs/discoverability/mcp.mdx +4 -0
- package/docs/discoverability/metadata.mdx +3 -2
- package/docs/discoverability/open-graph.mdx +6 -4
- package/docs/discoverability/rss.mdx +3 -1
- package/docs/index.mdx +2 -2
- package/docs/references/asyncapi.mdx +1 -1
- package/docs/references/graphql.mdx +2 -2
- package/docs/references/openapi.mdx +3 -3
- package/package.json +1 -1
- package/skills/blume/SKILL.md +5 -5
- package/skills/blume-migrate/SKILL.md +6 -6
- package/skills/blume-migrate/references/docusaurus.md +6 -6
- package/skills/blume-migrate/references/mintlify.md +3 -3
- package/skills/blume-migrate/references/monorepo.md +1 -1
- package/skills/blume-migrate/references/nextra.md +1 -1
- package/skills/blume-migrate/references/starlight.md +5 -5
- package/skills/blume-migrate/scripts/mintlify-codemod.mjs +2 -2
- package/skills/blume-update-docs/references/audit-checklist.md +1 -1
- package/src/ai/agent-readability.ts +4 -4
- package/src/ai/agent-surface.ts +56 -0
- package/src/ai/api/paths.ts +1 -1
- package/src/ai/api/spec.ts +15 -2
- package/src/ai/api-catalog.ts +7 -1
- package/src/ai/ask-context.ts +21 -9
- package/src/ai/ask-data.ts +28 -14
- package/src/ai/ask.ts +84 -71
- package/src/ai/component-markdown.ts +43 -37
- package/src/ai/cors.ts +3 -3
- package/src/ai/index.ts +16 -16
- package/src/ai/link-headers.ts +8 -3
- package/src/ai/llms.ts +4 -3
- package/src/ai/markdown.ts +23 -11
- package/src/ai/mcp/server.ts +78 -7
- package/src/ai/openapi-components.ts +1 -1
- package/src/ai/relative-links.ts +78 -10
- package/src/ai/serializers.ts +1 -1
- package/src/ai/static-expression.ts +416 -0
- package/src/ai/visibility.ts +46 -15
- package/src/analytics/databuddy.ts +67 -0
- package/src/analytics/head.ts +4 -0
- package/src/analytics/index.ts +2 -0
- package/src/analytics/posthog.ts +21 -3
- package/src/analytics/schema.ts +2 -0
- package/src/astro/generate.ts +90 -45
- package/src/astro/module-types.ts +1 -1
- package/src/astro/runtime-deps.ts +6 -6
- package/src/astro/templates.ts +87 -49
- package/src/audit/catalog.ts +2 -2
- package/src/audit/checks/assets.ts +25 -5
- package/src/audit/checks/content.ts +20 -2
- package/src/audit/checks/i18n.ts +46 -8
- package/src/audit/checks/indexability.ts +39 -19
- package/src/audit/checks/links.ts +14 -0
- package/src/audit/checks/llms.ts +6 -3
- package/src/audit/checks/network.ts +3 -1
- package/src/audit/checks/og-image.ts +10 -0
- package/src/audit/checks/robots.ts +6 -1
- package/src/audit/checks/sitemap.ts +56 -31
- package/src/audit/checks/social.ts +21 -2
- package/src/audit/crawl.ts +88 -15
- package/src/audit/report.ts +54 -17
- package/src/audit/run.ts +1 -0
- package/src/audit/types.ts +18 -0
- package/src/audit/url.ts +37 -6
- package/src/blume-modules.d.ts +2 -2
- package/src/cli/build-failure.ts +50 -0
- package/src/cli/commands/audit.ts +8 -1
- package/src/cli/commands/build.ts +19 -5
- package/src/cli/commands/check.ts +2 -0
- package/src/cli/commands/doctor.ts +7 -5
- package/src/cli/commands/eval.ts +4 -10
- package/src/cli/commands/init.ts +15 -5
- package/src/cli/commands/migrate.ts +2 -2
- package/src/cli/commands/preview.ts +15 -0
- package/src/cli/commands/sync.ts +2 -0
- package/src/cli/commands/translate.ts +12 -9
- package/src/cli/commands/upgrade.ts +13 -2
- package/src/cli/eject-scripts.ts +32 -7
- package/src/cli/env.ts +12 -1
- package/src/cli/init/scaffold.ts +117 -11
- package/src/cli/init/starter-spec.ts +235 -0
- package/src/cli/required-secrets.ts +3 -3
- package/src/components/content/AccordionItem.astro +26 -22
- package/src/components/content/Badge.astro +2 -9
- package/src/components/content/Card.astro +2 -2
- package/src/components/content/Component.astro +9 -3
- package/src/components/content/Expandable.astro +5 -1
- package/src/components/content/Frame.astro +2 -7
- package/src/components/content/GithubInfo.astro +12 -2
- package/src/components/content/Prompt.astro +2 -7
- package/src/components/content/Tabs.astro +54 -5
- package/src/components/content/Tile.astro +1 -1
- package/src/components/content/Tooltip.astro +69 -7
- package/src/components/content/Tree.astro +7 -2
- package/src/components/content/TypeTable.astro +10 -5
- package/src/components/content/Update.astro +8 -2
- package/src/components/content/auto-type-table.ts +4 -1
- package/src/components/content/badge-color.ts +17 -0
- package/src/components/content/base-href.ts +18 -3
- package/src/components/content/inline-markdown.ts +27 -7
- package/src/components/copy-feedback.ts +36 -9
- package/src/components/islands/{AskAI.astro → Assistant.astro} +10 -10
- package/src/components/islands/{ask-ai.tsx → assistant.tsx} +39 -25
- package/src/components/islands/hooks.ts +21 -14
- package/src/components/islands/webmcp.ts +12 -8
- package/src/components/layout/Banner.astro +23 -4
- package/src/components/layout/Header.astro +32 -19
- package/src/components/layout/Logo.astro +5 -0
- package/src/components/layout/NavSelector.astro +6 -1
- package/src/components/layout/NavTabMenu.astro +133 -0
- package/src/components/layout/NavTree.astro +15 -6
- package/src/components/layout/NavTreeCache.astro +5 -2
- package/src/components/layout/NavTreeScript.astro +45 -5
- package/src/components/layout/PageLayout.astro +28 -14
- package/src/components/layout/Pagination.astro +7 -7
- package/src/components/layout/ReferenceLayout.astro +5 -2
- package/src/components/layout/RootLayout.astro +27 -14
- package/src/components/layout/Search.astro +18 -14
- package/src/components/layout/analytics-client.ts +3 -1
- package/src/components/layout/drawer-inert.ts +1 -1
- package/src/components/openapi/GraphqlType.astro +11 -3
- package/src/components/openapi/MessageComposer.astro +1 -1
- package/src/components/openapi/Operation.astro +21 -5
- package/src/components/openapi/PanelTabs.astro +4 -1
- package/src/components/openapi/Playground.astro +8 -2
- package/src/components/openapi/RequestPanel.astro +9 -5
- package/src/components/openapi/SchemaProperty.astro +11 -33
- package/src/components/openapi/SchemaTable.astro +27 -52
- package/src/components/openapi/description.ts +2 -2
- package/src/components/openapi/helpers.ts +90 -12
- package/src/components/openapi/message-composer.ts +8 -0
- package/src/components/openapi/message-model.ts +12 -2
- package/src/components/openapi/message.ts +4 -1
- package/src/components/openapi/operation-model.ts +40 -8
- package/src/components/openapi/panel.ts +29 -5
- package/src/components/openapi/playground-client.ts +37 -7
- package/src/components/openapi/playground-schema.ts +25 -6
- package/src/components/openapi/request.ts +2 -0
- package/src/components/openapi/schema-tree.ts +203 -0
- package/src/components/openapi/snippets.ts +30 -15
- package/src/components/openapi/validate-json.ts +1 -1
- package/src/core/base-path.ts +15 -0
- package/src/core/code-fences.ts +1 -1
- package/src/core/config-input.ts +23 -23
- package/src/core/config.ts +21 -7
- package/src/core/data.ts +3 -3
- package/src/core/diagnostics.ts +217 -30
- package/src/core/graph.ts +120 -11
- package/src/core/i18n-ui.ts +74 -11
- package/src/core/i18n.ts +13 -2
- package/src/core/links.ts +7 -4
- package/src/core/load-module.ts +20 -0
- package/src/core/locale-links.ts +17 -17
- package/src/core/manifest.ts +3 -2
- package/src/core/meta.ts +69 -6
- package/src/core/nav-diagnostics.ts +56 -1
- package/src/core/navigation.ts +245 -76
- package/src/core/ordering-prefix.ts +27 -0
- package/src/core/project-graph.ts +23 -1
- package/src/core/request-body.ts +1 -1
- package/src/core/safe-href.ts +53 -1
- package/src/core/safe-links.ts +11 -2
- package/src/core/schema.ts +95 -34
- package/src/core/server-features.ts +2 -2
- package/src/core/sources/assets.ts +83 -41
- package/src/core/sources/contentful-rich-text.ts +3 -2
- package/src/core/sources/contentful.ts +25 -12
- package/src/core/sources/filesystem.ts +5 -1
- package/src/core/sources/github-releases.ts +106 -5
- package/src/core/sources/lexical.ts +9 -4
- package/src/core/sources/lower.ts +79 -26
- package/src/core/sources/mdx-remote.ts +1 -0
- package/src/core/sources/normalize.ts +132 -30
- package/src/core/sources/notion.ts +26 -10
- package/src/core/sources/obsidian.ts +17 -3
- package/src/core/sources/payload.ts +1 -0
- package/src/core/sources/portable-text.ts +63 -44
- package/src/core/sources/remote.ts +18 -2
- package/src/core/sources/resolve.ts +52 -33
- package/src/core/sources/sanity.ts +1 -0
- package/src/core/sources/strapi-blocks.ts +9 -4
- package/src/core/sources/strapi.ts +1 -0
- package/src/core/sources/types.ts +31 -0
- package/src/core/types.ts +9 -0
- package/src/core/ui-packs/ar.ts +17 -5
- package/src/core/ui-packs/bg.ts +17 -5
- package/src/core/ui-packs/bn.ts +17 -5
- package/src/core/ui-packs/ca.ts +17 -5
- package/src/core/ui-packs/cs.ts +17 -5
- package/src/core/ui-packs/da.ts +17 -5
- package/src/core/ui-packs/de.ts +17 -5
- package/src/core/ui-packs/el.ts +17 -5
- package/src/core/ui-packs/es.ts +17 -5
- package/src/core/ui-packs/fa.ts +17 -5
- package/src/core/ui-packs/fi.ts +17 -5
- package/src/core/ui-packs/fr.ts +17 -5
- package/src/core/ui-packs/he.ts +17 -5
- package/src/core/ui-packs/hi.ts +17 -5
- package/src/core/ui-packs/hr.ts +17 -5
- package/src/core/ui-packs/hu.ts +17 -5
- package/src/core/ui-packs/id.ts +17 -5
- package/src/core/ui-packs/it.ts +17 -5
- package/src/core/ui-packs/ja.ts +17 -5
- package/src/core/ui-packs/ko.ts +17 -5
- package/src/core/ui-packs/nl.ts +17 -5
- package/src/core/ui-packs/no.ts +17 -5
- package/src/core/ui-packs/pl.ts +17 -5
- package/src/core/ui-packs/pt-br.ts +17 -5
- package/src/core/ui-packs/pt.ts +17 -5
- package/src/core/ui-packs/ro.ts +17 -5
- package/src/core/ui-packs/ru.ts +17 -5
- package/src/core/ui-packs/sk.ts +17 -5
- package/src/core/ui-packs/sr.ts +17 -5
- package/src/core/ui-packs/sv.ts +17 -5
- package/src/core/ui-packs/th.ts +17 -5
- package/src/core/ui-packs/tr.ts +17 -5
- package/src/core/ui-packs/uk.ts +17 -5
- package/src/core/ui-packs/vi.ts +17 -5
- package/src/core/ui-packs/zh-tw.ts +17 -5
- package/src/core/ui-packs/zh.ts +17 -5
- package/src/core/unrecognized-keys.ts +1 -1
- package/src/core/version-cut.ts +17 -2
- package/src/core/versions.ts +4 -1
- package/src/deploy/adapters/node.ts +5 -2
- package/src/deploy/adapters/registry.ts +2 -1
- package/src/deploy/adapters/types.ts +13 -1
- package/src/deploy/artifacts.ts +25 -5
- package/src/deploy/cloudflare-negotiation.ts +23 -4
- package/src/deploy/headers.ts +67 -51
- package/src/deploy/node-headers.ts +148 -27
- package/src/deploy/platforms/cloudflare.ts +1 -0
- package/src/deploy/platforms/netlify.ts +82 -5
- package/src/deploy/platforms/node.ts +7 -5
- package/src/deploy/platforms/static.ts +1 -0
- package/src/deploy/platforms/types.ts +7 -0
- package/src/deploy/platforms/vercel.ts +9 -3
- package/src/deploy/redirects.ts +14 -3
- package/src/deploy/vercel-negotiation.ts +35 -3
- package/src/eval/agents.ts +10 -2
- package/src/eval/run.ts +25 -0
- package/src/markdown/base-links.ts +55 -8
- package/src/markdown/index.ts +6 -3
- package/src/markdown/relative-links.ts +3 -23
- package/src/markdown/route-snapshot.ts +37 -0
- package/src/og/card.ts +20 -4
- package/src/og/derive.ts +145 -4
- package/src/openapi/graphql-build.ts +28 -2
- package/src/openapi/model.ts +77 -13
- package/src/openapi/render-mdx.ts +10 -1
- package/src/registry/eject.ts +135 -37
- package/src/search/documents.ts +24 -3
- package/src/search/orama-index.ts +1 -1
- package/src/search/sync/algolia.ts +36 -2
- package/src/sources/registry.ts +5 -0
- package/src/theme/entry.ts +11 -4
- package/src/translate/agents.ts +6 -1
- package/src/translate/ledger.ts +26 -3
- package/src/translate/meta.ts +11 -3
- package/src/translate/report.ts +1 -1
- package/src/translate/run.ts +11 -5
- package/src/translate/validate.ts +10 -1
- package/src/translate/work-list.ts +36 -3
- package/src/upgrade/upgrade.ts +37 -5
- package/dist/cli/chunk-1w8dp3qb.js.map +0 -10
- package/dist/cli/chunk-5a2z0198.js.map +0 -10
- package/dist/cli/chunk-6k8vp3ta.js.map +0 -19
- package/dist/cli/chunk-79njf86q.js.map +0 -11
- package/dist/cli/chunk-a9kptbw5.js.map +0 -14
- package/dist/cli/chunk-abh8yjkn.js +0 -31
- package/dist/cli/chunk-abh8yjkn.js.map +0 -10
- package/dist/cli/chunk-bctazmbk.js.map +0 -10
- package/dist/cli/chunk-beat36xx.js.map +0 -10
- package/dist/cli/chunk-d1tadaw7.js.map +0 -10
- package/dist/cli/chunk-fa25z98p.js.map +0 -11
- package/dist/cli/chunk-j8mw0za6.js.map +0 -35
- package/dist/cli/chunk-mnqj32sj.js.map +0 -12
- package/dist/cli/chunk-mwt1k8n7.js.map +0 -10
- package/dist/cli/chunk-nk3ts2xk.js +0 -51
- package/dist/cli/chunk-nk3ts2xk.js.map +0 -10
- package/dist/cli/chunk-sqn5t4q0.js.map +0 -10
- package/dist/cli/chunk-tzne8qfq.js.map +0 -10
- package/dist/cli/chunk-xaz13gwg.js.map +0 -182
- package/dist/cli/chunk-z01ze5c1.js.map +0 -10
- package/dist/cli/chunk-z1f5arsg.js.map +0 -36
- package/dist/cli/chunk-zg2gtj10.js.map +0 -35
- /package/dist/cli/{chunk-f2972sbt.js.map → chunk-00gs3wqs.js.map} +0 -0
- /package/dist/cli/{chunk-7ez8ny0t.js.map → chunk-bbnwccaz.js.map} +0 -0
- /package/dist/cli/{chunk-zxccj738.js.map → chunk-esh98wmb.js.map} +0 -0
- /package/dist/cli/{chunk-88cpgt6h.js.map → chunk-fsmrqk8a.js.map} +0 -0
- /package/dist/cli/{chunk-b5aj94ah.js.map → chunk-g698a744.js.map} +0 -0
- /package/dist/cli/{chunk-41za066z.js.map → chunk-h2ez8dzb.js.map} +0 -0
- /package/dist/cli/{chunk-by2290sx.js.map → chunk-h7k3nq3v.js.map} +0 -0
- /package/dist/cli/{chunk-y3e45rc8.js.map → chunk-n1yg3tj3.js.map} +0 -0
- /package/dist/cli/{chunk-f7t03s3g.js.map → chunk-wdrt2k2v.js.map} +0 -0
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
trimChar,
|
|
4
|
-
normalizeBasePath
|
|
5
|
-
} from "./chunk-jts8mvcz.js";
|
|
6
2
|
import {
|
|
7
3
|
buildHomeLinkHeader,
|
|
8
4
|
resolveDocsCollection,
|
|
@@ -10,18 +6,61 @@ import {
|
|
|
10
6
|
deployPassthrough,
|
|
11
7
|
fontLocaleCodes,
|
|
12
8
|
buildFontEntries,
|
|
9
|
+
SVG_ASSET_HEADERS,
|
|
13
10
|
applyBaseToAstroRedirects,
|
|
14
11
|
distDir,
|
|
15
12
|
adapterRoot,
|
|
16
|
-
|
|
17
|
-
deployPlatform
|
|
18
|
-
} from "./chunk-xaz13gwg.js";
|
|
19
|
-
import {
|
|
13
|
+
deployPlatform,
|
|
20
14
|
BLUME_IGNORE_DIRS
|
|
21
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-v6ya5kcb.js";
|
|
16
|
+
import {
|
|
17
|
+
trimChar,
|
|
18
|
+
normalizeBasePath
|
|
19
|
+
} from "./chunk-gs7r695n.js";
|
|
20
|
+
|
|
21
|
+
// src/deploy/adapter-output.ts
|
|
22
|
+
import { existsSync } from "node:fs";
|
|
23
|
+
import { cp, mkdir, rm } from "node:fs/promises";
|
|
24
|
+
import { dirname, join } from "pathe";
|
|
25
|
+
var deployOutputDir = (config, context) => {
|
|
26
|
+
const { deployment } = config;
|
|
27
|
+
return deployment.options.output === "server" ? deployPlatform(deployment).serverOutputDir(context) : distDir(context);
|
|
28
|
+
};
|
|
29
|
+
var deployStaticDir = (config, context) => {
|
|
30
|
+
const { deployment } = config;
|
|
31
|
+
return deployment.options.output === "server" ? deployPlatform(deployment).serverStaticDir(context) : distDir(context);
|
|
32
|
+
};
|
|
33
|
+
var surfaceAdapterOutput = async (config, context) => {
|
|
34
|
+
const { deployment } = config;
|
|
35
|
+
if (deployment.options.output !== "server") {
|
|
36
|
+
return { moved: false };
|
|
37
|
+
}
|
|
38
|
+
const rel = deployPlatform(deployment).hiddenRuntime.surfacePath;
|
|
39
|
+
if (!rel) {
|
|
40
|
+
return { moved: false };
|
|
41
|
+
}
|
|
42
|
+
const from = join(context.outDir, rel);
|
|
43
|
+
const to = join(context.root, rel);
|
|
44
|
+
if (!existsSync(from)) {
|
|
45
|
+
return { moved: false };
|
|
46
|
+
}
|
|
47
|
+
await mkdir(dirname(to), { recursive: true });
|
|
48
|
+
await rm(to, { force: true, recursive: true });
|
|
49
|
+
try {
|
|
50
|
+
await cp(from, to, { recursive: true, verbatimSymlinks: true });
|
|
51
|
+
} catch (error) {
|
|
52
|
+
if (error.code !== "EPERM") {
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
await rm(to, { force: true, recursive: true });
|
|
56
|
+
await cp(from, to, { dereference: true, recursive: true });
|
|
57
|
+
}
|
|
58
|
+
await rm(from, { force: true, recursive: true });
|
|
59
|
+
return { from, moved: true, to };
|
|
60
|
+
};
|
|
22
61
|
|
|
23
62
|
// src/astro/component-slots.ts
|
|
24
|
-
import { isAbsolute, join, relative } from "pathe";
|
|
63
|
+
import { isAbsolute, join as join2, relative } from "pathe";
|
|
25
64
|
var attributeValue = (value) => value.replaceAll(/["\n\r]/gu, " ").trim();
|
|
26
65
|
var CLIENT_LOAD = "client:load";
|
|
27
66
|
var directiveFor = (override) => {
|
|
@@ -77,7 +116,7 @@ var islandOverride = (island) => ({
|
|
|
77
116
|
var record = (entries) => entries.length ? `{ ${entries.join(", ")} }` : "{}";
|
|
78
117
|
var planComponentSlots = (islands, analysis, options = {}) => {
|
|
79
118
|
const { relativeTo } = options;
|
|
80
|
-
const wrapperDir = relativeTo === undefined ? undefined :
|
|
119
|
+
const wrapperDir = relativeTo === undefined ? undefined : join2(relativeTo, "component-slots");
|
|
81
120
|
const frameworks = new Set;
|
|
82
121
|
const wrappers = [];
|
|
83
122
|
const importLines = [];
|
|
@@ -168,9 +207,9 @@ var publishRuntimeModules = (modules) => {
|
|
|
168
207
|
};
|
|
169
208
|
|
|
170
209
|
// src/astro/templates.ts
|
|
171
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
210
|
+
import { existsSync as existsSync2, readFileSync } from "node:fs";
|
|
172
211
|
import { pathToFileURL } from "node:url";
|
|
173
|
-
import { dirname, isAbsolute as isAbsolute2, join as
|
|
212
|
+
import { dirname as dirname2, isAbsolute as isAbsolute2, join as join3, relative as relative2 } from "pathe";
|
|
174
213
|
var WORKSPACE_MARKERS = [
|
|
175
214
|
".git",
|
|
176
215
|
"bun.lock",
|
|
@@ -181,7 +220,7 @@ var WORKSPACE_MARKERS = [
|
|
|
181
220
|
"yarn.lock"
|
|
182
221
|
];
|
|
183
222
|
var hasWorkspacesField = (pkgPath) => {
|
|
184
|
-
if (!
|
|
223
|
+
if (!existsSync2(pkgPath)) {
|
|
185
224
|
return false;
|
|
186
225
|
}
|
|
187
226
|
try {
|
|
@@ -191,14 +230,14 @@ var hasWorkspacesField = (pkgPath) => {
|
|
|
191
230
|
return false;
|
|
192
231
|
}
|
|
193
232
|
};
|
|
194
|
-
var hasWorkspaceMarker = (dir) => hasWorkspacesField(
|
|
233
|
+
var hasWorkspaceMarker = (dir) => hasWorkspacesField(join3(dir, "package.json")) || WORKSPACE_MARKERS.some((marker) => existsSync2(join3(dir, marker)));
|
|
195
234
|
var findWorkspaceRoot = (start) => {
|
|
196
235
|
let dir = start;
|
|
197
236
|
for (;; ) {
|
|
198
237
|
if (hasWorkspaceMarker(dir)) {
|
|
199
238
|
return dir;
|
|
200
239
|
}
|
|
201
|
-
const parent =
|
|
240
|
+
const parent = dirname2(dir);
|
|
202
241
|
if (parent === dir) {
|
|
203
242
|
return start;
|
|
204
243
|
}
|
|
@@ -255,8 +294,8 @@ var runtimeDependencies = (options) => {
|
|
|
255
294
|
}
|
|
256
295
|
}
|
|
257
296
|
}
|
|
258
|
-
if (config.ai.
|
|
259
|
-
deps.push(...config.ai.
|
|
297
|
+
if (config.ai.assistant?.enabled && !config.ai.assistant.endpoint) {
|
|
298
|
+
deps.push(...config.ai.assistant.provider.runtimeDeps);
|
|
260
299
|
}
|
|
261
300
|
deps.push(...config.deployment.runtimeDeps);
|
|
262
301
|
return deps;
|
|
@@ -428,7 +467,7 @@ var astroConfigTemplate = (options) => {
|
|
|
428
467
|
return {
|
|
429
468
|
...face,
|
|
430
469
|
src: [
|
|
431
|
-
isAbsolute2(variant.src) ? variant.src :
|
|
470
|
+
isAbsolute2(variant.src) ? variant.src : join3(context.root, variant.src)
|
|
432
471
|
]
|
|
433
472
|
};
|
|
434
473
|
}))} } }` : `{ provider: fontProviders.${font.provider}(), name: ${JSON.stringify(font.name)}, cssVariable: ${JSON.stringify(font.cssVariable)}, weights: ${astroFontWeights(font.weights)}, subsets: ${JSON.stringify(font.subsets)}, fallbacks: ${JSON.stringify(font.fallbacks)} }`).join(", ")}],` : "";
|
|
@@ -601,7 +640,7 @@ ${userConfigSetup}export default defineConfig({
|
|
|
601
640
|
});
|
|
602
641
|
`;
|
|
603
642
|
};
|
|
604
|
-
var stagedContentDir = (outDir) =>
|
|
643
|
+
var stagedContentDir = (outDir) => join3(outDir, "content");
|
|
605
644
|
var runtimeDirWithin = (base, outDir) => {
|
|
606
645
|
const rel = relative2(base, outDir);
|
|
607
646
|
return rel && !rel.startsWith("..") && !isAbsolute2(rel) ? rel : null;
|
|
@@ -740,7 +779,7 @@ const ground = createAskContext(askData${groundOptions});
|
|
|
740
779
|
}));`;
|
|
741
780
|
const { keyCheck } = backend.template;
|
|
742
781
|
const onError = ` onError({ error }) {
|
|
743
|
-
console.error("
|
|
782
|
+
console.error("Assistant provider error:", error);
|
|
744
783
|
},`;
|
|
745
784
|
const streamFields = [
|
|
746
785
|
`model: ${backend.template.model}`,
|
|
@@ -779,22 +818,22 @@ ${setup}${cors.setup}
|
|
|
779
818
|
${handler}
|
|
780
819
|
`;
|
|
781
820
|
};
|
|
782
|
-
var askComponentTemplate = (
|
|
821
|
+
var askComponentTemplate = (assistantEnabled) => assistantEnabled ? `---
|
|
783
822
|
// Generated by Blume. Do not edit.
|
|
784
|
-
import
|
|
823
|
+
import Assistant from "blume/components/islands/Assistant.astro";
|
|
785
824
|
import data from "blume:data";
|
|
786
825
|
|
|
787
826
|
const { strings } = Astro.props;
|
|
788
827
|
---
|
|
789
828
|
|
|
790
|
-
<
|
|
791
|
-
endpoint={data.config.
|
|
792
|
-
strings={strings ?? data.ui.
|
|
793
|
-
suggestions={data.config.
|
|
829
|
+
<Assistant
|
|
830
|
+
endpoint={data.config.assistant?.endpoint ?? undefined}
|
|
831
|
+
strings={strings ?? data.ui.assistant}
|
|
832
|
+
suggestions={data.config.assistant?.suggestions ?? []}
|
|
794
833
|
/>
|
|
795
834
|
` : `---
|
|
796
835
|
// Generated by Blume. Do not edit.
|
|
797
|
-
//
|
|
836
|
+
// The assistant is off (\`ai.assistant.enabled\`), so the header's Ask trigger renders nothing.
|
|
798
837
|
// Deliberately imports no React island, keeping the JSX renderer out of projects
|
|
799
838
|
// that don't need it.
|
|
800
839
|
---
|
|
@@ -834,9 +873,9 @@ var featuresTemplate = (features) => `// Generated by Blume. Do not edit.
|
|
|
834
873
|
export const loadMermaid: (() => Promise<unknown>) | null = ${features.mermaid ? '() => import("blume/components/content/mermaid-element.ts")' : "null"};
|
|
835
874
|
|
|
836
875
|
/** The EPUB generator's browser bundle; null when export.epub is off. */
|
|
837
|
-
export const loadEpub:
|
|
876
|
+
${features.epub ? `export const loadEpub:
|
|
838
877
|
| (() => Promise<typeof import("epub-gen-memory/bundle")>)
|
|
839
|
-
| null =
|
|
878
|
+
| null = () => import("epub-gen-memory/bundle");` : "export const loadEpub: (() => Promise<unknown>) | null = null;"}
|
|
840
879
|
`;
|
|
841
880
|
var searchClientTemplate = (config) => {
|
|
842
881
|
const { provider } = config.search;
|
|
@@ -973,18 +1012,29 @@ const TYPES: Record<string, string> = {
|
|
|
973
1012
|
".ico": "image/x-icon",
|
|
974
1013
|
".jpeg": "image/jpeg",
|
|
975
1014
|
".jpg": "image/jpeg",
|
|
1015
|
+
".mov": "video/quicktime",
|
|
1016
|
+
".mp4": "video/mp4",
|
|
1017
|
+
".ogv": "video/ogg",
|
|
976
1018
|
".png": "image/png",
|
|
977
1019
|
".svg": "image/svg+xml",
|
|
978
1020
|
".tiff": "image/tiff",
|
|
1021
|
+
".webm": "video/webm",
|
|
979
1022
|
".webp": "image/webp",
|
|
980
1023
|
};
|
|
981
1024
|
|
|
1025
|
+
const extensionOf = (path: string): string =>
|
|
1026
|
+
path.slice(path.lastIndexOf(".")).toLowerCase();
|
|
1027
|
+
|
|
982
1028
|
const contentType = (path: string): string =>
|
|
983
|
-
TYPES[
|
|
984
|
-
|
|
1029
|
+
TYPES[extensionOf(path)] ?? "application/octet-stream";
|
|
1030
|
+
|
|
1031
|
+
// A source downloads only images and videos; anything else in the staged
|
|
1032
|
+
// directory (a page an older build saved under its URL's extension) is never
|
|
1033
|
+
// published from the docs origin.
|
|
1034
|
+
const isMedia = (path: string): boolean => Object.hasOwn(TYPES, extensionOf(path));
|
|
985
1035
|
|
|
986
1036
|
const stagedParams = async (): Promise<string[]> => {
|
|
987
|
-
if (!existsSync(STAGED_DIR)) {
|
|
1037
|
+
if (STAGED_DIR === null || !existsSync(STAGED_DIR)) {
|
|
988
1038
|
return [];
|
|
989
1039
|
}
|
|
990
1040
|
const entries = await readdir(STAGED_DIR, {
|
|
@@ -992,7 +1042,7 @@ const stagedParams = async (): Promise<string[]> => {
|
|
|
992
1042
|
withFileTypes: true,
|
|
993
1043
|
});
|
|
994
1044
|
return entries
|
|
995
|
-
.filter((entry) => entry.isFile())
|
|
1045
|
+
.filter((entry) => entry.isFile() && isMedia(entry.name))
|
|
996
1046
|
.map((entry) =>
|
|
997
1047
|
relative(STAGED_DIR, join(entry.parentPath, entry.name)).replaceAll(
|
|
998
1048
|
"\\\\",
|
|
@@ -1013,6 +1063,9 @@ const resolveAsset = (asset: string): string | null => {
|
|
|
1013
1063
|
if (asset.startsWith("content/")) {
|
|
1014
1064
|
return files[asset.slice("content/".length)] ?? null;
|
|
1015
1065
|
}
|
|
1066
|
+
if (STAGED_DIR === null) {
|
|
1067
|
+
return null;
|
|
1068
|
+
}
|
|
1016
1069
|
const abs = resolve(STAGED_DIR, asset);
|
|
1017
1070
|
// Traversal guard: the dev server renders on demand, so the param is
|
|
1018
1071
|
// attacker-controlled there — never step outside the staged directory.
|
|
@@ -1022,7 +1075,7 @@ const resolveAsset = (asset: string): string | null => {
|
|
|
1022
1075
|
// asset — and a bare prefix also admits a sibling directory that merely
|
|
1023
1076
|
// shares the name.
|
|
1024
1077
|
const rel = relative(STAGED_DIR, abs);
|
|
1025
|
-
if (rel === "" || rel.startsWith("..") || isAbsolute(rel)) {
|
|
1078
|
+
if (rel === "" || rel.startsWith("..") || isAbsolute(rel) || !isMedia(rel)) {
|
|
1026
1079
|
return null;
|
|
1027
1080
|
}
|
|
1028
1081
|
return existsSync(abs) ? abs : null;
|
|
@@ -1036,11 +1089,12 @@ export const GET: APIRoute = async ({ params }) => {
|
|
|
1036
1089
|
const body = await readFile(path);
|
|
1037
1090
|
const type = contentType(path);
|
|
1038
1091
|
// An SVG opened directly is a document that can run script; the sandbox
|
|
1039
|
-
// keeps an uploaded one inert on the docs origin.
|
|
1040
|
-
//
|
|
1092
|
+
// keeps an uploaded one inert on the docs origin. This endpoint
|
|
1093
|
+
// prerenders, so these headers reach dev only: a build serves the files
|
|
1094
|
+
// with the same headers from its host's rules (see deploy/headers.ts).
|
|
1041
1095
|
const headers: Record<string, string> =
|
|
1042
1096
|
type === "image/svg+xml"
|
|
1043
|
-
? {
|
|
1097
|
+
? { ...${JSON.stringify(SVG_ASSET_HEADERS)}, "Content-Type": type }
|
|
1044
1098
|
: { "Content-Type": type };
|
|
1045
1099
|
return new Response(new Uint8Array(body), { headers });
|
|
1046
1100
|
};
|
|
@@ -1980,6 +2034,7 @@ var notFoundPageTemplate = () => `---
|
|
|
1980
2034
|
import Icon from "blume/components/Icon.astro";
|
|
1981
2035
|
import PageLayout from "blume/components/layout/PageLayout.astro";
|
|
1982
2036
|
import { withBase } from "blume/components/islands/base-path.ts";
|
|
2037
|
+
import { withBasePath } from "blume/core/base-path.ts";
|
|
1983
2038
|
import data from "blume:data";
|
|
1984
2039
|
|
|
1985
2040
|
export const prerender = true;
|
|
@@ -2017,8 +2072,13 @@ const suggestions = [
|
|
|
2017
2072
|
// Every host serves this one page for any missing URL, so a reader who
|
|
2018
2073
|
// mistyped \`/ar/…\` would get the default locale's message. The other locales'
|
|
2019
2074
|
// copy rides along, and the script below swaps it in when the URL's first
|
|
2020
|
-
// segment names one of them — the message, its language
|
|
2021
|
-
// tab title, and the home link (to that locale's root).
|
|
2075
|
+
// segment past the site's base names one of them — the message, its language
|
|
2076
|
+
// and direction, the tab title, and the home link (to that locale's root).
|
|
2077
|
+
// Localized routes sit under both bases (\`{deployment.base}/{basePath}/ar/…\`),
|
|
2078
|
+
// so the script strips the two together, trailing slash included.
|
|
2079
|
+
const { basePath } = data.config;
|
|
2080
|
+
const siteRoot = withBase(withBasePath(basePath, "/"));
|
|
2081
|
+
const localeBase = siteRoot.endsWith("/") ? siteRoot : siteRoot + "/";
|
|
2022
2082
|
const localized = Object.fromEntries(
|
|
2023
2083
|
(i18n?.locales ?? [])
|
|
2024
2084
|
.filter((l) => l.code !== i18n?.defaultLocale && data.uiByLocale[l.code])
|
|
@@ -2030,7 +2090,7 @@ const localized = Object.fromEntries(
|
|
|
2030
2090
|
description: strings.description,
|
|
2031
2091
|
dir: l.dir ?? "ltr",
|
|
2032
2092
|
home: strings.home,
|
|
2033
|
-
homeHref: withBase("/" + l.code),
|
|
2093
|
+
homeHref: withBase(withBasePath(basePath, "/" + l.code)),
|
|
2034
2094
|
suggestions: strings.suggestions,
|
|
2035
2095
|
title: strings.title,
|
|
2036
2096
|
},
|
|
@@ -2059,7 +2119,7 @@ const localizedJson = JSON.stringify(localized).replaceAll("<", "\\\\u003c");
|
|
|
2059
2119
|
>
|
|
2060
2120
|
<div
|
|
2061
2121
|
class="mx-auto grid w-full max-w-5xl gap-12 px-6 py-20 sm:py-28 md:grid-cols-[3fr_2fr] md:gap-16 lg:gap-24 lg:py-36"
|
|
2062
|
-
data-base={
|
|
2122
|
+
data-base={localeBase}
|
|
2063
2123
|
data-blume-not-found
|
|
2064
2124
|
>
|
|
2065
2125
|
<div class="flex flex-col items-start">
|
|
@@ -2379,11 +2439,20 @@ const Example = entry.Component;
|
|
|
2379
2439
|
root.dataset.theme = theme;
|
|
2380
2440
|
root.classList.toggle("dark", theme === "dark");
|
|
2381
2441
|
};
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2442
|
+
// Blocked storage (a sandboxed or privacy-locked frame) throws on
|
|
2443
|
+
// access; it falls through to the OS setting like an unset preference.
|
|
2444
|
+
const stored = () => {
|
|
2445
|
+
let theme = null;
|
|
2446
|
+
try {
|
|
2447
|
+
theme = localStorage.getItem("blume-theme");
|
|
2448
|
+
} catch {}
|
|
2449
|
+
return (
|
|
2450
|
+
theme ??
|
|
2451
|
+
(matchMedia("(prefers-color-scheme: dark)").matches
|
|
2452
|
+
? "dark"
|
|
2453
|
+
: "light")
|
|
2454
|
+
);
|
|
2455
|
+
};
|
|
2387
2456
|
try {
|
|
2388
2457
|
const host = window.parent.document.documentElement;
|
|
2389
2458
|
apply(host.dataset.theme ?? stored());
|
|
@@ -2465,7 +2534,7 @@ var runtimeTsconfigTemplate = () => `${JSON.stringify({
|
|
|
2465
2534
|
}, null, 2)}
|
|
2466
2535
|
`;
|
|
2467
2536
|
|
|
2468
|
-
export { planComponentSlots, publishRuntimeModules, runtimeDependencies, EJECTED_CONFIG_HEADER, astroConfigTemplate, stagedContentDir, contentConfigTemplate, askEndpointTemplate, askComponentTemplate, searchEndpointTemplate, featuresTemplate, searchClientTemplate, mixedbreadSearchEndpointTemplate, rawMarkdownEndpointTemplate, contentAssetsEndpointTemplate, mcpPageFile, mcpEndpointTemplate, playgroundProxyTemplate, staticJsonEndpointTemplate, rssEndpointTemplate, navFragmentTemplate, ogEndpointTemplate, scalarReferenceTemplate, catchAllPageTemplate, changelogIndexTemplate, notFoundPageTemplate, notFoundMarkdownTemplate, notFoundJsonTemplate, apiPagesIndexTemplate, apiPageTemplate, apiNavigationTemplate, apiSearchTemplate, apiNotFoundTemplate, exampleSlug, exampleWrapperTemplate, examplesRouteBase, exampleMapTemplate, examplesPageTemplate, runtimePackageTemplate, runtimeTsconfigTemplate };
|
|
2537
|
+
export { deployOutputDir, deployStaticDir, surfaceAdapterOutput, planComponentSlots, publishRuntimeModules, runtimeDependencies, EJECTED_CONFIG_HEADER, astroConfigTemplate, stagedContentDir, contentConfigTemplate, askEndpointTemplate, askComponentTemplate, searchEndpointTemplate, featuresTemplate, searchClientTemplate, mixedbreadSearchEndpointTemplate, rawMarkdownEndpointTemplate, contentAssetsEndpointTemplate, mcpPageFile, mcpEndpointTemplate, playgroundProxyTemplate, staticJsonEndpointTemplate, rssEndpointTemplate, navFragmentTemplate, ogEndpointTemplate, scalarReferenceTemplate, catchAllPageTemplate, changelogIndexTemplate, notFoundPageTemplate, notFoundMarkdownTemplate, notFoundJsonTemplate, apiPagesIndexTemplate, apiPageTemplate, apiNavigationTemplate, apiSearchTemplate, apiNotFoundTemplate, exampleSlug, exampleWrapperTemplate, examplesRouteBase, exampleMapTemplate, examplesPageTemplate, runtimePackageTemplate, runtimeTsconfigTemplate };
|
|
2469
2538
|
|
|
2470
|
-
//# debugId=
|
|
2471
|
-
//# sourceMappingURL=chunk-
|
|
2539
|
+
//# debugId=941D4E587200F86C64756E2164756E21
|
|
2540
|
+
//# sourceMappingURL=chunk-hr8ne106.js.map
|