blume 2.0.2 → 2.1.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/AGENTS.md +1 -0
- package/CHANGELOG.md +113 -0
- package/README.md +1 -1
- package/dist/cli/{chunk-6k4ftwze.js → chunk-0gz36akr.js} +18 -2
- package/dist/cli/{chunk-6k4ftwze.js.map → chunk-0gz36akr.js.map} +3 -3
- package/dist/cli/{chunk-zp79m0ts.js → chunk-1n228xqb.js} +2 -2
- package/dist/cli/{chunk-ddndchfr.js → chunk-2f3ndkpw.js} +57 -29
- package/dist/cli/chunk-2f3ndkpw.js.map +14 -0
- package/dist/cli/{chunk-fsmrqk8a.js → chunk-2f7n4qzt.js} +8 -2
- package/dist/cli/{chunk-fsmrqk8a.js.map → chunk-2f7n4qzt.js.map} +3 -3
- package/dist/cli/{chunk-ppzjqwx2.js → chunk-2n4ps1b3.js} +17 -18
- package/dist/cli/{chunk-ppzjqwx2.js.map → chunk-2n4ps1b3.js.map} +3 -3
- package/dist/cli/{chunk-5r8g91qn.js → chunk-43zcf4gz.js} +398 -159
- package/dist/cli/chunk-43zcf4gz.js.map +36 -0
- package/dist/cli/chunk-4ejxbzee.js +39 -0
- package/dist/cli/chunk-4ejxbzee.js.map +10 -0
- package/dist/cli/{chunk-hr8ne106.js → chunk-4h8z9vv5.js} +296 -77
- package/dist/cli/chunk-4h8z9vv5.js.map +16 -0
- package/dist/cli/{chunk-k7pj68a8.js → chunk-5cg2rzgf.js} +18 -16
- package/dist/cli/{chunk-k7pj68a8.js.map → chunk-5cg2rzgf.js.map} +2 -2
- package/dist/cli/{chunk-h2ez8dzb.js → chunk-5ffywsmb.js} +4 -4
- package/dist/cli/{chunk-g698a744.js → chunk-5wj2qwn2.js} +5 -5
- package/dist/cli/chunk-6bm0xpgd.js +18 -0
- package/dist/cli/chunk-6bm0xpgd.js.map +10 -0
- package/dist/cli/{chunk-3yce002v.js → chunk-713mngdq.js} +15 -8
- package/dist/cli/chunk-713mngdq.js.map +14 -0
- package/dist/cli/{chunk-91ws1n6j.js → chunk-9geymqns.js} +17 -15
- package/dist/cli/{chunk-91ws1n6j.js.map → chunk-9geymqns.js.map} +2 -2
- package/dist/cli/{chunk-6dtt0zfn.js → chunk-9xr4dgee.js} +27 -18
- package/dist/cli/chunk-9xr4dgee.js.map +10 -0
- package/dist/cli/{chunk-sqw4ekg1.js → chunk-amrb6hgh.js} +2 -2
- package/dist/cli/chunk-cm89scdv.js +443 -0
- package/dist/cli/chunk-cm89scdv.js.map +11 -0
- package/dist/cli/{chunk-wdrt2k2v.js → chunk-cmtcnh9f.js} +90 -26
- package/dist/cli/chunk-cmtcnh9f.js.map +10 -0
- package/dist/cli/chunk-cy5bm0j0.js +104 -0
- package/dist/cli/chunk-cy5bm0j0.js.map +11 -0
- package/dist/cli/{chunk-7mbqtmgb.js → chunk-e7vvk5ya.js} +21 -12
- package/dist/cli/chunk-e7vvk5ya.js.map +10 -0
- package/dist/cli/{chunk-qkb5a8sa.js → chunk-g2z9x01v.js} +6 -98
- package/dist/cli/chunk-g2z9x01v.js.map +10 -0
- package/dist/cli/{chunk-273ygyr4.js → chunk-ga0pf4aj.js} +7 -7
- package/dist/cli/{chunk-273ygyr4.js.map → chunk-ga0pf4aj.js.map} +3 -3
- package/dist/cli/{chunk-h7k3nq3v.js → chunk-gp84za0h.js} +2 -2
- package/dist/cli/{chunk-hqp2ajnh.js → chunk-h2a48yhd.js} +195 -73
- package/dist/cli/chunk-h2a48yhd.js.map +36 -0
- package/dist/cli/{chunk-pbg5a4s3.js → chunk-jnwj5kjj.js} +71 -47
- package/dist/cli/chunk-jnwj5kjj.js.map +19 -0
- package/dist/cli/chunk-kwrg63tm.js +31 -0
- package/dist/cli/chunk-kwrg63tm.js.map +10 -0
- package/dist/cli/{chunk-8g8ytmgx.js → chunk-nd1821sk.js} +21 -19
- package/dist/cli/{chunk-8g8ytmgx.js.map → chunk-nd1821sk.js.map} +2 -2
- package/dist/cli/{chunk-w4bxdvsa.js → chunk-ntv4qrt7.js} +17 -15
- package/dist/cli/{chunk-w4bxdvsa.js.map → chunk-ntv4qrt7.js.map} +2 -2
- package/dist/cli/{chunk-bfwp9vp6.js → chunk-p804f3pe.js} +7 -7
- package/dist/cli/{chunk-4e9b9ra6.js → chunk-py62fewh.js} +6 -6
- package/dist/cli/{chunk-4e9b9ra6.js.map → chunk-py62fewh.js.map} +1 -1
- package/dist/cli/chunk-q3wxxq39.js +126 -0
- package/dist/cli/chunk-q3wxxq39.js.map +11 -0
- package/dist/cli/{chunk-j85scx15.js → chunk-rekqz4qg.js} +142 -46
- package/dist/cli/chunk-rekqz4qg.js.map +10 -0
- package/dist/cli/{chunk-00gs3wqs.js → chunk-ta27feev.js} +1 -1
- package/dist/cli/{chunk-v6ya5kcb.js → chunk-xkz5xbtv.js} +4031 -1132
- package/dist/cli/chunk-xkz5xbtv.js.map +213 -0
- package/dist/cli/{chunk-bbnwccaz.js → chunk-y4ykbark.js} +2 -2
- package/dist/cli/{chunk-n1yg3tj3.js → chunk-y5h4r2y0.js} +6 -6
- package/dist/cli/{chunk-n1yg3tj3.js.map → chunk-y5h4r2y0.js.map} +3 -3
- package/dist/cli/{chunk-nfcyttvj.js → chunk-yj17vs39.js} +9 -9
- package/dist/cli/{chunk-nfcyttvj.js.map → chunk-yj17vs39.js.map} +1 -1
- package/dist/cli/{chunk-7vtckvaw.js → chunk-yxmk4pec.js} +16 -14
- package/dist/cli/{chunk-7vtckvaw.js.map → chunk-yxmk4pec.js.map} +2 -2
- package/dist/cli/{chunk-gs7r695n.js → chunk-zccbjcj0.js} +22 -8
- package/dist/cli/{chunk-gs7r695n.js.map → chunk-zccbjcj0.js.map} +3 -3
- package/dist/cli/{chunk-xh43dwgw.js → chunk-zf748avv.js} +415 -225
- package/dist/cli/chunk-zf748avv.js.map +37 -0
- package/dist/cli/{chunk-d1v5rhy0.js → chunk-zhvd6adm.js} +16 -14
- package/dist/cli/{chunk-d1v5rhy0.js.map → chunk-zhvd6adm.js.map} +2 -2
- package/dist/cli/index.js +28 -20
- package/dist/cli/index.js.map +5 -5
- package/dist/types/ai/agent-surface.d.ts +8 -7
- package/dist/types/ai/ai-catalog.d.ts +7 -0
- package/dist/types/ai/ask-context.d.ts +22 -0
- package/dist/types/ai/ask.d.ts +271 -58
- package/dist/types/ai/index.d.ts +2 -2
- package/dist/types/ai/link-headers.d.ts +8 -1
- package/dist/types/ai/openapi-components.d.ts +5 -2
- package/dist/types/ai/relative-links.d.ts +9 -7
- package/dist/types/ai/site-skill.d.ts +26 -0
- package/dist/types/ai/skills.d.ts +20 -1
- package/dist/types/ai/tar.d.ts +1 -3
- package/dist/types/analytics/index.d.ts +2 -0
- package/dist/types/analytics/one-dollar-stats.d.ts +48 -0
- package/dist/types/analytics/schema.d.ts +14 -0
- package/dist/types/astro/integration.d.ts +11 -2
- package/dist/types/captcha/hcaptcha.d.ts +27 -0
- package/dist/types/captcha/index.d.ts +28 -0
- package/dist/types/captcha/schema.d.ts +29 -0
- package/dist/types/captcha/turnstile.d.ts +28 -0
- package/dist/types/components/content/api-field.d.ts +59 -0
- package/dist/types/components/content/api-page.d.ts +95 -0
- package/dist/types/components/layout/nav-utils.d.ts +26 -0
- package/dist/types/components/openapi/helpers.d.ts +137 -0
- package/dist/types/components/openapi/security.d.ts +85 -0
- package/dist/types/consent/ethyca.d.ts +48 -0
- package/dist/types/consent/index.d.ts +37 -0
- package/dist/types/consent/native.d.ts +28 -0
- package/dist/types/consent/osano.d.ts +42 -0
- package/dist/types/consent/schema.d.ts +110 -0
- package/dist/types/core/base-path.d.ts +21 -7
- package/dist/types/core/config-input.d.ts +196 -27
- package/dist/types/core/data.d.ts +49 -4
- package/dist/types/core/directive-diagnostics.d.ts +12 -0
- package/dist/types/core/footer.d.ts +8 -0
- package/dist/types/core/heading-markers.d.ts +5 -7
- package/dist/types/core/i18n-ui.d.ts +86 -0
- package/dist/types/core/i18n.d.ts +2 -0
- package/dist/types/core/includes.d.ts +8 -2
- package/dist/types/core/last-modified.d.ts +10 -0
- package/dist/types/core/localizable.d.ts +7 -0
- package/dist/types/core/meta.d.ts +8 -0
- package/dist/types/core/page-modes.d.ts +29 -0
- package/dist/types/core/redirect-patterns.d.ts +144 -0
- package/dist/types/core/related.d.ts +40 -0
- package/dist/types/core/schema.d.ts +558 -56
- package/dist/types/core/sources/lower.d.ts +29 -16
- package/dist/types/core/sources/normalize.d.ts +13 -1
- package/dist/types/core/sources/read.d.ts +5 -0
- package/dist/types/core/sources/watch.d.ts +12 -5
- package/dist/types/core/standard-schema.d.ts +5 -0
- package/dist/types/core/types.d.ts +1 -1
- package/dist/types/core/variables.d.ts +42 -0
- package/dist/types/deploy/artifacts.d.ts +6 -4
- package/dist/types/deploy/headers.d.ts +5 -0
- package/dist/types/deploy/node-headers.d.ts +13 -2
- package/dist/types/deploy/platforms/cloudflare.d.ts +5 -0
- package/dist/types/deploy/platforms/netlify.d.ts +7 -0
- package/dist/types/deploy/platforms/types.d.ts +8 -0
- package/dist/types/deploy/platforms/vercel.d.ts +6 -0
- package/dist/types/deploy/redirects.d.ts +61 -22
- package/dist/types/deploy/vercel-negotiation.d.ts +9 -0
- package/dist/types/markdown/code-title.d.ts +17 -0
- package/dist/types/markdown/directives.d.ts +62 -0
- package/dist/types/markdown/features.d.ts +24 -2
- package/dist/types/markdown/mdast.d.ts +63 -0
- package/dist/types/narration/build.d.ts +70 -0
- package/dist/types/narration/provider.d.ts +26 -0
- package/dist/types/narration/script.d.ts +154 -0
- package/dist/types/openapi/asyncapi.d.ts +4 -2
- package/dist/types/openapi/model.d.ts +12 -6
- package/dist/types/openapi/overlay.d.ts +54 -0
- package/dist/types/openapi/parse.d.ts +13 -0
- package/dist/types/openapi/references.d.ts +14 -4
- package/dist/types/ratelimit/cloudflare.d.ts +39 -0
- package/dist/types/ratelimit/index.d.ts +27 -0
- package/dist/types/ratelimit/memory.d.ts +36 -0
- package/dist/types/ratelimit/schema.d.ts +111 -0
- package/dist/types/ratelimit/upstash.d.ts +21 -0
- package/dist/types/ratelimit/wrangler.d.ts +23 -0
- package/dist/types/reference/asyncapi.d.ts +10 -10
- package/dist/types/reference/graphql.d.ts +13 -10
- package/dist/types/reference/openapi.d.ts +33 -12
- package/dist/types/reference/options.d.ts +45 -5
- package/dist/types/reference/scalar.d.ts +13 -0
- package/dist/types/reference/schema.d.ts +60 -36
- package/dist/types/search/documents.d.ts +12 -1
- package/dist/types/search/orama-index.d.ts +4 -0
- package/dist/types/seo/metatags.d.ts +20 -0
- package/docs/02-deployment.mdx +44 -6
- package/docs/03-upgrading.mdx +4 -4
- package/docs/04-migrating.mdx +1 -1
- package/docs/08-faq.mdx +1 -1
- package/docs/advanced/changelog.mdx +2 -2
- package/docs/advanced/custom-pages.mdx +3 -3
- package/docs/advanced/skills.mdx +14 -0
- package/docs/cli/audit.mdx +38 -2
- package/docs/cli/evals.mdx +3 -3
- package/docs/cli/index.mdx +1 -0
- package/docs/cli/translate.mdx +3 -3
- package/docs/cli/version.mdx +1 -1
- package/docs/configuration/analytics.mdx +22 -1
- package/docs/configuration/assistant.mdx +188 -36
- package/docs/configuration/consent.mdx +100 -0
- package/docs/configuration/customization.mdx +6 -4
- package/docs/configuration/index.mdx +63 -5
- package/docs/configuration/meta.ts +3 -0
- package/docs/configuration/narration.mdx +119 -0
- package/docs/configuration/rate-limiting.mdx +69 -0
- package/docs/configuration/search.mdx +30 -2
- package/docs/configuration/theming.mdx +3 -1
- package/docs/content/components.mdx +107 -1
- package/docs/content/frontmatter.mdx +77 -1
- package/docs/content/i18n.mdx +40 -3
- package/docs/content/includes.mdx +16 -0
- package/docs/content/index.mdx +4 -2
- package/docs/content/islands.mdx +1 -1
- package/docs/content/meta.mdx +4 -1
- package/docs/content/meta.ts +1 -0
- package/docs/content/navigation.mdx +28 -6
- package/docs/content/sources/contentful.mdx +32 -0
- package/docs/content/sources/custom.mdx +39 -0
- package/docs/content/sources/github-releases.mdx +31 -0
- package/docs/content/sources/index.mdx +91 -0
- package/docs/content/sources/meta.ts +16 -0
- package/docs/content/sources/notion.mdx +32 -0
- package/docs/content/sources/obsidian.mdx +37 -0
- package/docs/content/sources/payload.mdx +30 -0
- package/docs/content/sources/remote-mdx.mdx +40 -0
- package/docs/content/sources/sanity.mdx +29 -0
- package/docs/content/sources/strapi.mdx +31 -0
- package/docs/content/syntax.mdx +81 -2
- package/docs/content/variables.mdx +41 -0
- package/docs/content/versioning.mdx +1 -1
- package/docs/discoverability/agent-discovery.mdx +30 -3
- package/docs/discoverability/index.mdx +3 -2
- package/docs/discoverability/llms-txt.mdx +1 -1
- package/docs/discoverability/markdown.mdx +2 -2
- package/docs/discoverability/metadata.mdx +17 -0
- package/docs/discoverability/open-graph.mdx +5 -3
- package/docs/discoverability/rss.mdx +1 -1
- package/docs/references/api-pages.mdx +74 -0
- package/docs/references/asyncapi.mdx +2 -2
- package/docs/references/graphql.mdx +3 -3
- package/docs/references/meta.ts +1 -1
- package/docs/references/openapi.mdx +106 -5
- package/docs/references/scalar.mdx +3 -1
- package/package.json +36 -1
- package/skills/blume/SKILL.md +3 -0
- package/skills/blume-migrate/SKILL.md +5 -5
- package/skills/blume-migrate/references/docusaurus.md +3 -3
- package/skills/blume-migrate/references/fumadocs.md +1 -1
- package/skills/blume-migrate/references/mintlify.md +37 -19
- package/skills/blume-migrate/references/nextra.md +3 -3
- package/skills/blume-migrate/references/starlight.md +2 -1
- package/skills/blume-migrate/scripts/mintlify-codemod.mjs +67 -16
- package/skills/blume-write-skill/SKILL.md +82 -0
- package/src/ai/agent-readability.ts +4 -3
- package/src/ai/agent-surface.ts +9 -7
- package/src/ai/ai-catalog.ts +12 -5
- package/src/ai/api/handlers.ts +2 -2
- package/src/ai/api/spec.ts +2 -2
- package/src/ai/api-catalog.ts +6 -2
- package/src/ai/ask-context.ts +73 -20
- package/src/ai/ask-data.ts +6 -0
- package/src/ai/ask-tools.ts +142 -0
- package/src/ai/ask.ts +354 -76
- package/src/ai/changelog-markdown.ts +2 -2
- package/src/ai/component-markdown.ts +75 -0
- package/src/ai/cors.ts +2 -0
- package/src/ai/index.ts +12 -0
- package/src/ai/link-headers.ts +14 -5
- package/src/ai/llms.ts +24 -9
- package/src/ai/markdown.ts +2 -1
- package/src/ai/mcp/data.ts +6 -0
- package/src/ai/mcp/discovery.ts +2 -2
- package/src/ai/mcp/query.ts +2 -2
- package/src/ai/mcp/server.ts +2 -2
- package/src/ai/openapi-components.ts +31 -9
- package/src/ai/relative-links.ts +42 -26
- package/src/ai/serializers.ts +2 -1
- package/src/ai/site-skill.ts +274 -0
- package/src/ai/skills.ts +49 -3
- package/src/ai/tar.ts +139 -12
- package/src/ai/write-skill.ts +97 -0
- package/src/analytics/head.ts +4 -0
- package/src/analytics/index.ts +5 -0
- package/src/analytics/one-dollar-stats.ts +86 -0
- package/src/analytics/schema.ts +2 -0
- package/src/astro/generate.ts +133 -19
- package/src/astro/include-hmr.ts +31 -12
- package/src/astro/include-refresh.ts +19 -8
- package/src/astro/index.ts +1 -0
- package/src/astro/integration.ts +143 -14
- package/src/astro/module-types.ts +6 -0
- package/src/astro/runtime-modules.ts +28 -13
- package/src/astro/templates.ts +364 -67
- package/src/astro/variables.ts +31 -0
- package/src/audit/catalog.ts +19 -0
- package/src/audit/checks/contrast.ts +183 -0
- package/src/audit/checks/i18n.ts +2 -3
- package/src/audit/checks/indexability.ts +2 -3
- package/src/audit/checks/links.ts +13 -13
- package/src/audit/checks/sitemap.ts +2 -3
- package/src/audit/graph.ts +3 -1
- package/src/audit/redirects.ts +46 -15
- package/src/audit/run.ts +14 -9
- package/src/audit/snapshot.ts +5 -0
- package/src/audit/types.ts +2 -1
- package/src/blume-modules.d.ts +7 -0
- package/src/captcha/client.ts +152 -0
- package/src/captcha/hcaptcha.ts +36 -0
- package/src/captcha/index.ts +28 -0
- package/src/captcha/schema.ts +32 -0
- package/src/captcha/turnstile.ts +38 -0
- package/src/captcha/verify.ts +71 -0
- package/src/cli/args.ts +32 -0
- package/src/cli/command-meta.ts +5 -0
- package/src/cli/commands/audit.ts +4 -1
- package/src/cli/commands/doctor.ts +25 -17
- package/src/cli/commands/eval.ts +19 -11
- package/src/cli/commands/skill.ts +96 -0
- package/src/cli/commands/translate.ts +9 -12
- package/src/cli/commands/validate.ts +3 -1
- package/src/cli/dev-lock.ts +157 -37
- package/src/cli/index.ts +5 -0
- package/src/cli/report-format.ts +11 -6
- package/src/cli/required-secrets.ts +71 -29
- package/src/components/BlumePage.astro +2 -0
- package/src/components/colors.ts +19 -0
- package/src/components/content/ApiEndpoint.astro +18 -0
- package/src/components/content/ApiField.astro +79 -0
- package/src/components/content/ApiPlayground.astro +62 -0
- package/src/components/content/ApiRail.astro +19 -0
- package/src/components/content/Badge.astro +5 -3
- package/src/components/content/Color.astro +1 -0
- package/src/components/content/Component.astro +2 -2
- package/src/components/content/FileTree.astro +1 -0
- package/src/components/content/GithubInfo.astro +1 -0
- package/src/components/content/Panel.astro +1 -0
- package/src/components/content/ParamField.astro +25 -0
- package/src/components/content/RequestExample.astro +17 -0
- package/src/components/content/ResponseExample.astro +17 -0
- package/src/components/content/ResponseField.astro +32 -0
- package/src/components/content/Step.astro +1 -0
- package/src/components/content/Tab.astro +0 -1
- package/src/components/content/Tabs.astro +4 -0
- package/src/components/content/Tile.astro +1 -0
- package/src/components/content/Tooltip.astro +1 -0
- package/src/components/content/Tree.astro +1 -0
- package/src/components/content/TypeTable.astro +4 -1
- package/src/components/content/View.astro +21 -0
- package/src/components/content/ViewSwitcher.astro +168 -0
- package/src/components/content/api-field.ts +100 -0
- package/src/components/content/api-page.ts +224 -0
- package/src/components/content/badge-color.ts +5 -2
- package/src/components/content/base-href.ts +13 -36
- package/src/components/content/view-switcher.ts +71 -0
- package/src/components/index.ts +2 -0
- package/src/components/islands/Assistant.astro +10 -1
- package/src/components/islands/assistant.tsx +125 -18
- package/src/components/islands/base-path.ts +47 -10
- package/src/components/islands/code-question.ts +62 -0
- package/src/components/islands/hooks.ts +145 -40
- package/src/components/islands/support-link.ts +68 -0
- package/src/components/islands/webmcp.ts +4 -2
- package/src/components/layout/Analytics.astro +11 -2
- package/src/components/layout/Banner.astro +14 -10
- package/src/components/layout/Breadcrumbs.astro +11 -4
- package/src/components/layout/ConsentBanner.astro +62 -0
- package/src/components/layout/ConsentHead.astro +38 -0
- package/src/components/layout/Directory.astro +94 -0
- package/src/components/layout/DiscoveryLinks.astro +9 -5
- package/src/components/layout/DrawerSwitchers.astro +51 -0
- package/src/components/layout/Empty.astro +2 -2
- package/src/components/layout/Header.astro +124 -82
- package/src/components/layout/LanguageSwitcher.astro +50 -17
- package/src/components/layout/NarrationPlayer.astro +1085 -0
- package/src/components/layout/NavSelector.astro +35 -9
- package/src/components/layout/NavTabMenu.astro +3 -3
- package/src/components/layout/NavTree.astro +16 -6
- package/src/components/layout/PageActions.astro +4 -3
- package/src/components/layout/PageFeedback.astro +54 -49
- package/src/components/layout/PageLayout.astro +78 -9
- package/src/components/layout/Pagination.astro +3 -3
- package/src/components/layout/ReferenceLayout.astro +17 -6
- package/src/components/layout/RelatedPages.astro +42 -0
- package/src/components/layout/RootLayout.astro +313 -50
- package/src/components/layout/Search.astro +64 -30
- package/src/components/layout/SiteFooter.astro +124 -0
- package/src/components/layout/SiteMetatags.astro +16 -0
- package/src/components/layout/VersionBanner.astro +2 -2
- package/src/components/layout/analytics-client.ts +12 -0
- package/src/components/layout/consent/native.ts +79 -0
- package/src/components/layout/consent/types.ts +37 -0
- package/src/components/layout/footer-links.ts +53 -0
- package/src/components/layout/footer-socials.ts +87 -0
- package/src/components/layout/locale-redirect.ts +107 -0
- package/src/components/layout/nav-utils.ts +83 -0
- package/src/components/layout/page-feedback.ts +96 -0
- package/src/components/layout/search/analytics.ts +98 -0
- package/src/components/layout/search/flexsearch.ts +17 -5
- package/src/components/layout/search/orama-cloud.ts +26 -14
- package/src/components/layout/search/types.ts +20 -0
- package/src/components/layout/search/typesense.ts +5 -1
- package/src/components/layout/toc-active.ts +41 -0
- package/src/components/layout/toc-element.ts +8 -14
- package/src/components/openapi/ApiTagOperations.astro +2 -2
- package/src/components/openapi/AsyncApiOperation.astro +7 -4
- package/src/components/openapi/GraphqlChip.astro +2 -2
- package/src/components/openapi/Operation.astro +163 -13
- package/src/components/openapi/Playground.astro +4 -4
- package/src/components/openapi/RequestBody.astro +6 -4
- package/src/components/openapi/RequestPanel.astro +63 -8
- package/src/components/openapi/Responses.astro +6 -4
- package/src/components/openapi/SchemaTable.astro +7 -0
- package/src/components/openapi/async-snippets.ts +4 -4
- package/src/components/openapi/async.ts +38 -6
- package/src/components/openapi/code-samples.ts +97 -0
- package/src/components/openapi/helpers.ts +19 -9
- package/src/components/openapi/message-composer.ts +6 -1
- package/src/components/openapi/message.ts +17 -2
- package/src/components/openapi/operation-model.ts +81 -11
- package/src/components/openapi/panel.ts +4 -2
- package/src/components/openapi/param-style.ts +181 -0
- package/src/components/openapi/playground-client.ts +73 -16
- package/src/components/openapi/request.ts +190 -26
- package/src/components/openapi/schema-tree.ts +30 -24
- package/src/components/openapi/security.ts +6 -3
- package/src/components/openapi/snippets.ts +953 -13
- package/src/components/openapi/ws-client.ts +18 -2
- package/src/components/props.ts +6 -0
- package/src/consent/client.ts +95 -0
- package/src/consent/clients.ts +19 -0
- package/src/consent/ethyca.ts +71 -0
- package/src/consent/head.ts +24 -0
- package/src/consent/index.ts +37 -0
- package/src/consent/init.ts +29 -0
- package/src/consent/native.ts +36 -0
- package/src/consent/osano.ts +59 -0
- package/src/consent/schema.ts +30 -0
- package/src/core/base-path.ts +62 -16
- package/src/core/builtin-tags.ts +5 -0
- package/src/core/client-address.ts +19 -0
- package/src/core/config-input.ts +203 -27
- package/src/core/data.ts +44 -4
- package/src/core/diagnostics.ts +5 -2
- package/src/core/directive-diagnostics.ts +99 -0
- package/src/core/footer.ts +26 -0
- package/src/core/frontmatter.ts +21 -18
- package/src/core/graph.ts +39 -36
- package/src/core/heading-markers.ts +5 -18
- package/src/core/i18n-ui.ts +82 -2
- package/src/core/i18n.ts +31 -3
- package/src/core/includes.ts +20 -3
- package/src/core/last-modified.ts +25 -3
- package/src/core/links.ts +16 -2
- package/src/core/locale-links.ts +5 -1
- package/src/core/localizable.ts +26 -0
- package/src/core/meta.ts +33 -19
- package/src/core/navigation.ts +71 -20
- package/src/core/page-modes.ts +56 -0
- package/src/core/project-graph.ts +138 -10
- package/src/core/redirect-patterns.ts +491 -0
- package/src/core/related.ts +131 -0
- package/src/core/schema.ts +342 -68
- package/src/core/sources/contentful-rich-text.ts +27 -20
- package/src/core/sources/filesystem.ts +20 -2
- package/src/core/sources/github-releases.ts +25 -6
- package/src/core/sources/lexical.ts +23 -18
- package/src/core/sources/lower.ts +201 -34
- package/src/core/sources/mdx-remote.ts +51 -16
- package/src/core/sources/normalize.ts +327 -91
- package/src/core/sources/notion.ts +52 -25
- package/src/core/sources/obsidian.ts +23 -6
- package/src/core/sources/portable-text.ts +38 -21
- package/src/core/sources/read.ts +8 -3
- package/src/core/sources/strapi-blocks.ts +20 -16
- package/src/core/sources/watch.ts +20 -7
- package/src/core/standard-schema.ts +10 -6
- package/src/core/types.ts +1 -1
- package/src/core/ui-packs/ar.ts +43 -0
- package/src/core/ui-packs/bg.ts +45 -0
- package/src/core/ui-packs/bn.ts +43 -0
- package/src/core/ui-packs/ca.ts +46 -0
- package/src/core/ui-packs/cs.ts +44 -0
- package/src/core/ui-packs/da.ts +45 -0
- package/src/core/ui-packs/de.ts +46 -0
- package/src/core/ui-packs/el.ts +45 -0
- package/src/core/ui-packs/es.ts +46 -0
- package/src/core/ui-packs/fa.ts +45 -0
- package/src/core/ui-packs/fi.ts +45 -0
- package/src/core/ui-packs/fr.ts +46 -0
- package/src/core/ui-packs/he.ts +43 -0
- package/src/core/ui-packs/hi.ts +44 -0
- package/src/core/ui-packs/hr.ts +45 -0
- package/src/core/ui-packs/hu.ts +44 -0
- package/src/core/ui-packs/id.ts +45 -0
- package/src/core/ui-packs/it.ts +45 -0
- package/src/core/ui-packs/ja.ts +45 -0
- package/src/core/ui-packs/ko.ts +44 -0
- package/src/core/ui-packs/nl.ts +46 -0
- package/src/core/ui-packs/no.ts +44 -0
- package/src/core/ui-packs/pl.ts +45 -0
- package/src/core/ui-packs/pt-br.ts +46 -0
- package/src/core/ui-packs/pt.ts +45 -0
- package/src/core/ui-packs/ro.ts +45 -0
- package/src/core/ui-packs/ru.ts +45 -0
- package/src/core/ui-packs/sk.ts +44 -0
- package/src/core/ui-packs/sr.ts +45 -0
- package/src/core/ui-packs/sv.ts +44 -0
- package/src/core/ui-packs/th.ts +43 -0
- package/src/core/ui-packs/tr.ts +45 -0
- package/src/core/ui-packs/uk.ts +45 -0
- package/src/core/ui-packs/vi.ts +45 -0
- package/src/core/ui-packs/zh-tw.ts +43 -0
- package/src/core/ui-packs/zh.ts +43 -0
- package/src/core/variables.ts +103 -0
- package/src/core/version-cut.ts +52 -15
- package/src/deploy/artifacts.ts +104 -14
- package/src/deploy/cloudflare-negotiation.ts +39 -17
- package/src/deploy/headers.ts +10 -5
- package/src/deploy/node-headers.ts +64 -10
- package/src/deploy/platforms/cloudflare.ts +44 -3
- package/src/deploy/platforms/netlify.ts +34 -1
- package/src/deploy/platforms/node.ts +1 -0
- package/src/deploy/platforms/static.ts +1 -0
- package/src/deploy/platforms/types.ts +8 -0
- package/src/deploy/platforms/vercel.ts +38 -2
- package/src/deploy/redirects.ts +139 -36
- package/src/deploy/robots.ts +2 -2
- package/src/deploy/rss.ts +4 -3
- package/src/deploy/sitemap.ts +7 -5
- package/src/deploy/vercel-negotiation.ts +36 -0
- package/src/markdown/api-rail.ts +259 -0
- package/src/markdown/base-links.ts +34 -36
- package/src/markdown/code-title.ts +35 -9
- package/src/markdown/directives.ts +242 -36
- package/src/markdown/features.ts +20 -2
- package/src/markdown/fence-meta.ts +2 -0
- package/src/markdown/include.ts +11 -1
- package/src/markdown/index.ts +35 -11
- package/src/markdown/math.ts +4 -4
- package/src/markdown/mdast.ts +5 -2
- package/src/markdown/relative-links.ts +12 -4
- package/src/markdown/variables.ts +56 -0
- package/src/markdown/views.ts +82 -0
- package/src/narration/build.ts +412 -0
- package/src/narration/player.ts +249 -0
- package/src/narration/provider.ts +29 -0
- package/src/narration/script.ts +592 -0
- package/src/og/card.ts +136 -11
- package/src/og/derive.ts +41 -31
- package/src/og/index.ts +1 -0
- package/src/openapi/asyncapi.ts +4 -2
- package/src/openapi/model.ts +77 -36
- package/src/openapi/overlay.ts +256 -0
- package/src/openapi/parse.ts +55 -2
- package/src/openapi/proxy.ts +63 -10
- package/src/openapi/references.ts +21 -5
- package/src/openapi/render-mdx.ts +46 -3
- package/src/openapi/scalar.ts +40 -6
- package/src/openapi/source.ts +1 -1
- package/src/ratelimit/cloudflare.ts +54 -0
- package/src/ratelimit/index.ts +30 -0
- package/src/ratelimit/memory.ts +45 -0
- package/src/ratelimit/runtime.ts +229 -0
- package/src/ratelimit/schema.ts +28 -0
- package/src/ratelimit/upstash.ts +30 -0
- package/src/ratelimit/wrangler.ts +70 -0
- package/src/reference/asyncapi.ts +2 -2
- package/src/reference/graphql.ts +5 -2
- package/src/reference/openapi.ts +21 -7
- package/src/reference/options.ts +51 -7
- package/src/reference/scalar.ts +33 -8
- package/src/registry/eject.ts +201 -28
- package/src/registry/registry.ts +7 -0
- package/src/search/adapters/version-scope.ts +30 -0
- package/src/search/documents.ts +93 -28
- package/src/search/orama-index.ts +28 -3
- package/src/search/pagefind-ranking.ts +39 -0
- package/src/search/popular.ts +2 -1
- package/src/search/sync/algolia.ts +15 -4
- package/src/search/sync/orama-cloud.ts +3 -0
- package/src/search/sync/typesense.ts +5 -0
- package/src/seo/jsonld.ts +7 -3
- package/src/seo/metatags.ts +67 -0
- package/src/theme/chrome-icons.ts +1 -0
- package/src/theme/color.ts +500 -0
- package/src/theme/entry.ts +56 -3
- package/src/theme/palette.ts +121 -45
- package/src/translate/meta.ts +68 -24
- package/src/translate/prompts.ts +1 -0
- package/src/translate/run.ts +3 -3
- package/src/translate/validate.ts +12 -3
- package/src/translate/work-list.ts +56 -17
- package/src/upgrade/upgrade.ts +4 -171
- package/dist/cli/chunk-3yce002v.js.map +0 -14
- package/dist/cli/chunk-5r8g91qn.js.map +0 -34
- package/dist/cli/chunk-6dtt0zfn.js.map +0 -10
- package/dist/cli/chunk-7mbqtmgb.js.map +0 -10
- package/dist/cli/chunk-ddndchfr.js.map +0 -14
- package/dist/cli/chunk-esh98wmb.js +0 -23
- package/dist/cli/chunk-esh98wmb.js.map +0 -10
- package/dist/cli/chunk-hqp2ajnh.js.map +0 -35
- package/dist/cli/chunk-hr8ne106.js.map +0 -13
- package/dist/cli/chunk-j85scx15.js.map +0 -10
- package/dist/cli/chunk-mqc662a6.js +0 -75
- package/dist/cli/chunk-mqc662a6.js.map +0 -11
- package/dist/cli/chunk-pbg5a4s3.js.map +0 -19
- package/dist/cli/chunk-qkb5a8sa.js.map +0 -10
- package/dist/cli/chunk-v6ya5kcb.js.map +0 -189
- package/dist/cli/chunk-wdrt2k2v.js.map +0 -10
- package/dist/cli/chunk-xh43dwgw.js.map +0 -36
- package/docs/content/sources.mdx +0 -338
- /package/dist/cli/{chunk-zp79m0ts.js.map → chunk-1n228xqb.js.map} +0 -0
- /package/dist/cli/{chunk-h2ez8dzb.js.map → chunk-5ffywsmb.js.map} +0 -0
- /package/dist/cli/{chunk-g698a744.js.map → chunk-5wj2qwn2.js.map} +0 -0
- /package/dist/cli/{chunk-sqw4ekg1.js.map → chunk-amrb6hgh.js.map} +0 -0
- /package/dist/cli/{chunk-h7k3nq3v.js.map → chunk-gp84za0h.js.map} +0 -0
- /package/dist/cli/{chunk-bfwp9vp6.js.map → chunk-p804f3pe.js.map} +0 -0
- /package/dist/cli/{chunk-00gs3wqs.js.map → chunk-ta27feev.js.map} +0 -0
- /package/dist/cli/{chunk-bbnwccaz.js.map → chunk-y4ykbark.js.map} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
|
+
OPENAPI_PATH,
|
|
3
4
|
hasScalarReferences,
|
|
4
5
|
needsPlaygroundProxy,
|
|
5
6
|
buildMcpDiscovery,
|
|
@@ -10,20 +11,49 @@ import {
|
|
|
10
11
|
routeIsTaken,
|
|
11
12
|
customOgRoutes,
|
|
12
13
|
resolveAskBackend,
|
|
14
|
+
fontLocaleCodes,
|
|
13
15
|
buildIncludeGraph,
|
|
14
16
|
collectContentAssets,
|
|
15
17
|
buildRssFeeds,
|
|
16
18
|
renderRssFeed,
|
|
17
19
|
isOpenApiSource,
|
|
18
20
|
buildRawMarkdown
|
|
19
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-xkz5xbtv.js";
|
|
22
|
+
import {
|
|
23
|
+
buildApiSpec,
|
|
24
|
+
buildAskData,
|
|
25
|
+
resolveOgFonts,
|
|
26
|
+
buildReferenceFiles,
|
|
27
|
+
tailwindEntryTemplate,
|
|
28
|
+
examplesEntryTemplate,
|
|
29
|
+
rebaseSourceDirectives,
|
|
30
|
+
twoslashCss,
|
|
31
|
+
EXAMPLE_SCAN_GLOB,
|
|
32
|
+
exampleScanRoots,
|
|
33
|
+
discoverExamples,
|
|
34
|
+
exampleMarkdownLookup,
|
|
35
|
+
detectNeedsReact,
|
|
36
|
+
detectUsesMath,
|
|
37
|
+
collectStaged,
|
|
38
|
+
playgroundProxyPattern,
|
|
39
|
+
buildRuntimeData,
|
|
40
|
+
PLAYGROUND_PROXY_ENTRY,
|
|
41
|
+
specOrigins,
|
|
42
|
+
proxyAllowlistWarnings,
|
|
43
|
+
analyzeComponentsFile,
|
|
44
|
+
languageIconCssFor,
|
|
45
|
+
clientFeaturesFor
|
|
46
|
+
} from "./chunk-zf748avv.js";
|
|
20
47
|
import {
|
|
21
48
|
packageRoot
|
|
22
49
|
} from "./index.js";
|
|
23
50
|
import {
|
|
24
51
|
buildSearchDocuments,
|
|
25
52
|
buildMcpData
|
|
26
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-2f3ndkpw.js";
|
|
54
|
+
import {
|
|
55
|
+
scanProject
|
|
56
|
+
} from "./chunk-43zcf4gz.js";
|
|
27
57
|
import {
|
|
28
58
|
planComponentSlots,
|
|
29
59
|
runtimeDependencies,
|
|
@@ -33,6 +63,7 @@ import {
|
|
|
33
63
|
askComponentTemplate,
|
|
34
64
|
searchEndpointTemplate,
|
|
35
65
|
featuresTemplate,
|
|
66
|
+
consentClientTemplate,
|
|
36
67
|
searchClientTemplate,
|
|
37
68
|
mixedbreadSearchEndpointTemplate,
|
|
38
69
|
rawMarkdownEndpointTemplate,
|
|
@@ -46,42 +77,25 @@ import {
|
|
|
46
77
|
catchAllPageTemplate,
|
|
47
78
|
changelogIndexTemplate,
|
|
48
79
|
notFoundPageTemplate,
|
|
80
|
+
notFoundMarkdownTemplate,
|
|
81
|
+
notFoundJsonTemplate,
|
|
82
|
+
apiPagesIndexTemplate,
|
|
83
|
+
apiPageTemplate,
|
|
84
|
+
apiNavigationTemplate,
|
|
85
|
+
apiSearchTemplate,
|
|
86
|
+
apiNotFoundTemplate,
|
|
49
87
|
exampleSlug,
|
|
50
88
|
exampleWrapperTemplate,
|
|
51
89
|
exampleMapTemplate,
|
|
52
90
|
examplesPageTemplate,
|
|
53
91
|
runtimeTsconfigTemplate
|
|
54
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-4h8z9vv5.js";
|
|
55
93
|
import {
|
|
56
94
|
discoverIslands
|
|
57
|
-
} from "./chunk-
|
|
58
|
-
import {
|
|
59
|
-
buildAskData,
|
|
60
|
-
buildThemeCss,
|
|
61
|
-
buildReferenceFiles,
|
|
62
|
-
tailwindEntryTemplate,
|
|
63
|
-
examplesEntryTemplate,
|
|
64
|
-
rebaseSourceDirectives,
|
|
65
|
-
twoslashCss,
|
|
66
|
-
EXAMPLE_SCAN_GLOB,
|
|
67
|
-
exampleScanRoots,
|
|
68
|
-
discoverExamples,
|
|
69
|
-
exampleMarkdownLookup,
|
|
70
|
-
detectNeedsReact,
|
|
71
|
-
detectUsesMath,
|
|
72
|
-
collectStaged,
|
|
73
|
-
buildRuntimeData,
|
|
74
|
-
PLAYGROUND_PROXY_ENTRY,
|
|
75
|
-
playgroundProxyPattern,
|
|
76
|
-
specOrigins,
|
|
77
|
-
proxyAllowlistWarnings,
|
|
78
|
-
analyzeComponentsFile,
|
|
79
|
-
languageIconCssFor,
|
|
80
|
-
clientFeaturesFor
|
|
81
|
-
} from "./chunk-xh43dwgw.js";
|
|
95
|
+
} from "./chunk-amrb6hgh.js";
|
|
82
96
|
import {
|
|
83
|
-
|
|
84
|
-
} from "./chunk-
|
|
97
|
+
buildThemeCss
|
|
98
|
+
} from "./chunk-cm89scdv.js";
|
|
85
99
|
|
|
86
100
|
// src/registry/eject.ts
|
|
87
101
|
import { existsSync } from "node:fs";
|
|
@@ -122,9 +136,12 @@ var askFiles = async (project, srcDir, genDir) => {
|
|
|
122
136
|
const files = [
|
|
123
137
|
{
|
|
124
138
|
content: askEndpointTemplate(backend, {
|
|
139
|
+
captcha: assistant.captcha,
|
|
125
140
|
cors: assistant.cors,
|
|
126
141
|
instructions: assistant.instructions,
|
|
127
|
-
|
|
142
|
+
rateLimit: project.config.rateLimit,
|
|
143
|
+
retrieval: assistant.retrieval,
|
|
144
|
+
tools: assistant.tools ?? backend.toolsByDefault
|
|
128
145
|
}),
|
|
129
146
|
path: join(srcDir, "pages", "api", "ask.ts")
|
|
130
147
|
}
|
|
@@ -157,16 +174,16 @@ var playgroundProxyPages = (config) => needsPlaygroundProxy(config) ? [
|
|
|
157
174
|
] : [];
|
|
158
175
|
var playgroundProxyFiles = (config, openApiData, srcDir) => needsPlaygroundProxy(config) ? [
|
|
159
176
|
{
|
|
160
|
-
content: playgroundProxyTemplate(specOrigins(openApiData)),
|
|
177
|
+
content: playgroundProxyTemplate(specOrigins(openApiData), config.rateLimit),
|
|
161
178
|
path: join(srcDir, PLAYGROUND_PROXY_ENTRY)
|
|
162
179
|
}
|
|
163
180
|
] : [];
|
|
164
|
-
var
|
|
165
|
-
|
|
181
|
+
var ejectAgentData = async (project, userPages) => hostsMcp(project, userPages) || project.config.agents.api ? await buildMcpData(project) : null;
|
|
182
|
+
var mcpFiles = (project, userPages, srcDir, data) => {
|
|
183
|
+
if (!(data && hostsMcp(project, userPages))) {
|
|
166
184
|
return [];
|
|
167
185
|
}
|
|
168
186
|
const { route } = project.config.agents.mcp;
|
|
169
|
-
const data = await buildMcpData(project);
|
|
170
187
|
const discoveryInput = {
|
|
171
188
|
base: data.base,
|
|
172
189
|
name: data.name,
|
|
@@ -175,11 +192,6 @@ var mcpFiles = async (project, userPages, srcDir, genDir) => {
|
|
|
175
192
|
version: data.version
|
|
176
193
|
};
|
|
177
194
|
return [
|
|
178
|
-
{
|
|
179
|
-
content: `${JSON.stringify(data)}
|
|
180
|
-
`,
|
|
181
|
-
path: join(genDir, "mcp-data.json")
|
|
182
|
-
},
|
|
183
195
|
{
|
|
184
196
|
content: mcpEndpointTemplate(),
|
|
185
197
|
path: join(srcDir, "pages", mcpPageFile(route))
|
|
@@ -194,6 +206,58 @@ var mcpFiles = async (project, userPages, srcDir, genDir) => {
|
|
|
194
206
|
}
|
|
195
207
|
];
|
|
196
208
|
};
|
|
209
|
+
var apiFiles = (project, userPages, root, srcDir, data) => {
|
|
210
|
+
const { config } = project;
|
|
211
|
+
if (!(data && config.agents.api)) {
|
|
212
|
+
return [];
|
|
213
|
+
}
|
|
214
|
+
const server = config.deployment.options.output === "server";
|
|
215
|
+
const apiDir = join(srcDir, "pages", "api");
|
|
216
|
+
const files = [
|
|
217
|
+
{
|
|
218
|
+
content: apiPagesIndexTemplate(),
|
|
219
|
+
path: join(apiDir, "docs", "pages.json.ts")
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
content: apiPageTemplate(),
|
|
223
|
+
path: join(apiDir, "docs", "pages", "[...route].json.ts")
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
content: apiNavigationTemplate(),
|
|
227
|
+
path: join(apiDir, "docs", "navigation.json.ts")
|
|
228
|
+
}
|
|
229
|
+
];
|
|
230
|
+
if (server) {
|
|
231
|
+
files.push({
|
|
232
|
+
content: apiSearchTemplate(),
|
|
233
|
+
path: join(apiDir, "docs", "search.ts")
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
const apiOwned = userPages.some((page) => page.pattern.startsWith("/api/[")) || project.graph.pages.some((page) => page.route === "/api" || page.route.startsWith("/api/"));
|
|
237
|
+
if (server && !apiOwned) {
|
|
238
|
+
files.push({
|
|
239
|
+
content: apiNotFoundTemplate({ base: data.base, site: data.site }),
|
|
240
|
+
path: join(apiDir, "[...path].ts")
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
if (!(routeIsTaken(userPages, project.graph.pages, OPENAPI_PATH) || existsSync(join(root, "public", "openapi.json")))) {
|
|
244
|
+
files.push({
|
|
245
|
+
content: staticJsonEndpointTemplate(buildApiSpec({
|
|
246
|
+
agentReadability: config.agents.agentReadability,
|
|
247
|
+
base: data.base,
|
|
248
|
+
description: config.description,
|
|
249
|
+
llmsTxt: config.agents.llmsTxt.enabled,
|
|
250
|
+
mcpRoute: hostsMcp(project, userPages) ? config.agents.mcp.route : null,
|
|
251
|
+
name: config.title,
|
|
252
|
+
search: server,
|
|
253
|
+
site: data.site,
|
|
254
|
+
version: data.version
|
|
255
|
+
})),
|
|
256
|
+
path: join(srcDir, "pages", "openapi.json.ts")
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
return files;
|
|
260
|
+
};
|
|
197
261
|
var changelogFiles = (project, userPages, srcDir, options) => {
|
|
198
262
|
const hasChangelog = project.graph.pages.some((page) => page.contentType === "changelog" && !(page.meta.draft || page.meta.sidebar.hidden));
|
|
199
263
|
const hasChangelogSource = sourcesOfKind(project.config, "github-releases").length > 0;
|
|
@@ -225,6 +289,10 @@ var contentAssetFiles = async (project, root, srcDir, genDir) => {
|
|
|
225
289
|
}
|
|
226
290
|
];
|
|
227
291
|
};
|
|
292
|
+
var portableIncludeGraph = (project, root) => Object.fromEntries(Object.entries(buildIncludeGraph(project.graph.pages)).map(([partial, includers]) => [
|
|
293
|
+
toPosix(relative(root, partial)),
|
|
294
|
+
includers.map((page) => toPosix(relative(root, page)))
|
|
295
|
+
]));
|
|
228
296
|
var readUserCss = async (file, genDir) => {
|
|
229
297
|
if (!(file && existsSync(file))) {
|
|
230
298
|
return "";
|
|
@@ -327,6 +395,7 @@ var eject = async (root) => {
|
|
|
327
395
|
content: astroConfigTemplate({
|
|
328
396
|
askPath: "./src/generated/Ask.astro",
|
|
329
397
|
config,
|
|
398
|
+
consentClientPath: "./src/generated/consent-client.ts",
|
|
330
399
|
contentRoot: relContext.contentRoot,
|
|
331
400
|
contentRoutes: project.manifest.routes.map((route) => route.path),
|
|
332
401
|
context: relContext,
|
|
@@ -414,7 +483,7 @@ var eject = async (root) => {
|
|
|
414
483
|
path: join(genDir, "raw-markdown.json")
|
|
415
484
|
},
|
|
416
485
|
{
|
|
417
|
-
content: `${JSON.stringify(
|
|
486
|
+
content: `${JSON.stringify(portableIncludeGraph(project, root))}
|
|
418
487
|
`,
|
|
419
488
|
path: join(genDir, "includes.json")
|
|
420
489
|
},
|
|
@@ -438,16 +507,40 @@ var eject = async (root) => {
|
|
|
438
507
|
staged: hasStaged
|
|
439
508
|
});
|
|
440
509
|
if (config.seo.og.enabled) {
|
|
510
|
+
const { fallbacks, families } = resolveOgFonts({
|
|
511
|
+
locales: fontLocaleCodes(config.i18n),
|
|
512
|
+
ogFonts: config.seo.og.fonts,
|
|
513
|
+
themeFonts: config.theme.fonts,
|
|
514
|
+
themeFontsConfigured: false
|
|
515
|
+
}, root);
|
|
441
516
|
files.push({
|
|
442
|
-
content: ogEndpointTemplate(customOgRoutes(pages, config.title, config.seo.og.titles), {
|
|
517
|
+
content: ogEndpointTemplate(customOgRoutes(pages, config.title, config.seo.og.titles), {
|
|
518
|
+
fallbacks,
|
|
519
|
+
families,
|
|
520
|
+
pageDescriptions: config.seo.og.description !== false
|
|
521
|
+
}, changelog.length > 0),
|
|
443
522
|
path: join(srcDir, "pages", "og", "[...slug].png.ts")
|
|
444
523
|
});
|
|
445
524
|
}
|
|
446
|
-
|
|
525
|
+
const agentData = await ejectAgentData(project, pages);
|
|
526
|
+
if (agentData) {
|
|
527
|
+
files.push({
|
|
528
|
+
content: `${JSON.stringify(agentData)}
|
|
529
|
+
`,
|
|
530
|
+
path: join(genDir, "mcp-data.json")
|
|
531
|
+
});
|
|
532
|
+
}
|
|
533
|
+
files.push(...mcpFiles(project, pages, srcDir, agentData), ...apiFiles(project, pages, root, srcDir, agentData), ...changelog, ...playgroundProxyFiles(config, openApiData, srcDir));
|
|
447
534
|
if (!routeIsTaken(pages, project.graph.pages, "/404")) {
|
|
448
535
|
files.push({
|
|
449
536
|
content: notFoundPageTemplate(),
|
|
450
537
|
path: join(srcDir, "pages", "404.astro")
|
|
538
|
+
}, {
|
|
539
|
+
content: notFoundMarkdownTemplate(),
|
|
540
|
+
path: join(srcDir, "pages", "404.md.ts")
|
|
541
|
+
}, {
|
|
542
|
+
content: notFoundJsonTemplate(),
|
|
543
|
+
path: join(srcDir, "pages", "404.json.ts")
|
|
451
544
|
});
|
|
452
545
|
}
|
|
453
546
|
files.push({
|
|
@@ -456,6 +549,9 @@ var eject = async (root) => {
|
|
|
456
549
|
}, {
|
|
457
550
|
content: searchClientTemplate(config),
|
|
458
551
|
path: join(genDir, "search-client.ts")
|
|
552
|
+
}, {
|
|
553
|
+
content: consentClientTemplate(config.consent),
|
|
554
|
+
path: join(genDir, "consent-client.ts")
|
|
459
555
|
});
|
|
460
556
|
const searchAdapter = config.search.provider;
|
|
461
557
|
if (searchAdapter.mode === "static") {
|
|
@@ -471,7 +567,7 @@ var eject = async (root) => {
|
|
|
471
567
|
}
|
|
472
568
|
if (searchAdapter.kind === "mixedbread") {
|
|
473
569
|
files.push({
|
|
474
|
-
content: mixedbreadSearchEndpointTemplate(searchAdapter.options),
|
|
570
|
+
content: mixedbreadSearchEndpointTemplate(searchAdapter.options, config.rateLimit),
|
|
475
571
|
path: join(srcDir, "pages", "api", "search.ts")
|
|
476
572
|
});
|
|
477
573
|
}
|
|
@@ -538,5 +634,5 @@ var eject = async (root) => {
|
|
|
538
634
|
|
|
539
635
|
export { eject };
|
|
540
636
|
|
|
541
|
-
//# debugId=
|
|
542
|
-
//# sourceMappingURL=chunk-
|
|
637
|
+
//# debugId=CE6B7910AE02D8C964756E2164756E21
|
|
638
|
+
//# sourceMappingURL=chunk-rekqz4qg.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/registry/eject.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { existsSync } from \"node:fs\";\nimport { cp, mkdir, readFile, rm, writeFile } from \"node:fs/promises\";\n\nimport { join, relative } from \"pathe\";\n\nimport { OPENAPI_PATH } from \"../ai/api/paths.ts\";\nimport { buildApiSpec } from \"../ai/api/spec.ts\";\nimport { buildAskData } from \"../ai/ask-data.ts\";\nimport { resolveAskBackend } from \"../ai/ask.ts\";\nimport { buildRawMarkdown } from \"../ai/markdown.ts\";\nimport { buildMcpData } from \"../ai/mcp/data.ts\";\nimport type { McpData } from \"../ai/mcp/data.ts\";\nimport { buildMcpDiscovery, buildMcpServerCard } from \"../ai/mcp/discovery.ts\";\nimport { planComponentSlots } from \"../astro/component-slots.ts\";\nimport {\n EXAMPLE_SCAN_GLOB,\n discoverExamples,\n exampleMarkdownLookup,\n exampleScanRoots,\n} from \"../astro/examples.ts\";\nimport {\n analyzeComponentsFile,\n buildRuntimeData,\n clientFeaturesFor,\n collectStaged,\n detectNeedsReact,\n detectUsesMath,\n languageIconCssFor,\n PLAYGROUND_PROXY_ENTRY,\n playgroundProxyPattern,\n proxyAllowlistWarnings,\n specOrigins,\n} from \"../astro/generate.ts\";\nimport { discoverIslands } from \"../astro/islands.ts\";\nimport { customOgRoutes, discoverPages, routeIsTaken } from \"../astro/pages.ts\";\nimport {\n apiNavigationTemplate,\n apiNotFoundTemplate,\n apiPagesIndexTemplate,\n apiPageTemplate,\n apiSearchTemplate,\n askComponentTemplate,\n askEndpointTemplate,\n astroConfigTemplate,\n catchAllPageTemplate,\n changelogIndexTemplate,\n contentAssetsEndpointTemplate,\n contentConfigTemplate,\n exampleMapTemplate,\n exampleSlug,\n examplesPageTemplate,\n exampleWrapperTemplate,\n featuresTemplate,\n mcpEndpointTemplate,\n mcpPageFile,\n mixedbreadSearchEndpointTemplate,\n notFoundJsonTemplate,\n notFoundMarkdownTemplate,\n notFoundPageTemplate,\n ogEndpointTemplate,\n playgroundProxyTemplate,\n rawMarkdownEndpointTemplate,\n rssEndpointTemplate,\n runtimeDependencies,\n runtimeTsconfigTemplate,\n consentClientTemplate,\n searchClientTemplate,\n searchEndpointTemplate,\n staticJsonEndpointTemplate,\n} from \"../astro/templates.ts\";\nimport { collectContentAssets } from \"../core/content-assets.ts\";\nimport { buildIncludeGraph } from \"../core/includes.ts\";\nimport { packageRoot } from \"../core/package-root.ts\";\nimport { scanProject } from \"../core/project-graph.ts\";\nimport type { BlumeProject } from \"../core/project-graph.ts\";\nimport {\n resolveDocsCollection,\n sourcesOfKind,\n} from \"../core/sources/collection.ts\";\nimport type { ProjectContext } from \"../core/types.ts\";\nimport { buildRssFeeds, renderRssFeed } from \"../deploy/rss.ts\";\nimport { resolveOgFonts } from \"../og/derive.ts\";\nimport type { OpenApiData } from \"../openapi/model.ts\";\nimport {\n hasScalarReferences,\n needsPlaygroundProxy,\n} from \"../openapi/references.ts\";\nimport { buildReferenceFiles } from \"../openapi/scalar.ts\";\nimport { isOpenApiSource } from \"../openapi/source.ts\";\nimport { buildSearchDocuments } from \"../search/documents.ts\";\nimport {\n examplesEntryTemplate,\n tailwindEntryTemplate,\n} from \"../theme/entry.ts\";\nimport { fontLocaleCodes } from \"../theme/fonts.ts\";\nimport { buildThemeCss } from \"../theme/palette.ts\";\nimport { rebaseSourceDirectives } from \"../theme/sources.ts\";\nimport { twoslashCss } from \"../theme/twoslash.ts\";\n\nconst toPosix = (path: string): string => path.split(\"\\\\\").join(\"/\");\n\n/** The portable `@source` guess: blume in the project's own node_modules. */\nconst LOCAL_BLUME_SOURCE = \"../../node_modules/blume/src/**/*.{astro,ts,tsx}\";\n\n/**\n * The `@source` glob pointing Tailwind at Blume's own source, relative to the\n * ejected `src/generated/app.css`. The project-local `node_modules/blume` is\n * preferred (portable, and under pnpm the symlink survives version bumps), but\n * hoisted installs (npm/yarn workspaces lift blume into the workspace root's\n * node_modules) would make that guess match nothing and silently drop utility\n * classes — so fall back to the package's real installed location, and when\n * even that fails, warn instead of failing silently.\n *\n * Exported for testing.\n */\nexport const blumeSourceGlob = (\n root: string,\n genDir: string,\n resolveBlumeRoot: () => string = packageRoot\n): string => {\n if (existsSync(join(root, \"node_modules\", \"blume\"))) {\n return LOCAL_BLUME_SOURCE;\n }\n try {\n const src = join(resolveBlumeRoot(), \"src\");\n return `${toPosix(relative(genDir, src))}/**/*.{astro,ts,tsx}`;\n } catch {\n console.warn(\n 'blume: could not locate the installed blume package; src/generated/app.css keeps its default `@source \"../../node_modules/blume/...\"` glob. If blume is hoisted elsewhere, point that glob at its install location or Blume\\'s utility classes will be missing.'\n );\n return LOCAL_BLUME_SOURCE;\n }\n};\n\n/** The `blume:openapi` payload for the ejected app (`{}` when none). */\nconst ejectOpenApiData = (project: BlumeProject): OpenApiData => {\n const source = project.sources.find(isOpenApiSource);\n return source ? source.openApiData() : {};\n};\n\n/**\n * The assistant endpoint plus, unless the backend runs its own retrieval (Inkeep),\n * its grounding snapshot. Empty when the assistant is disabled.\n */\nconst askFiles = async (\n project: BlumeProject,\n srcDir: string,\n genDir: string\n): Promise<{ content: string; path: string }[]> => {\n const { assistant } = project.config.ai;\n if (!(assistant?.enabled && !assistant.endpoint)) {\n const endpointPath = join(srcDir, \"pages\", \"api\", \"ask.ts\");\n if (existsSync(endpointPath)) {\n const content = await readFile(endpointPath, \"utf-8\");\n if (content.startsWith(\"// Generated by Blume. Do not edit.\")) {\n await rm(endpointPath, { force: true });\n }\n }\n await rm(join(genDir, \"ask-data.json\"), { force: true });\n return [];\n }\n const backend = resolveAskBackend(assistant.provider);\n const files = [\n {\n content: askEndpointTemplate(backend, {\n captcha: assistant.captcha,\n cors: assistant.cors,\n instructions: assistant.instructions,\n rateLimit: project.config.rateLimit,\n retrieval: assistant.retrieval,\n tools: assistant.tools ?? backend.toolsByDefault,\n }),\n path: join(srcDir, \"pages\", \"api\", \"ask.ts\"),\n },\n ];\n if (backend.grounded) {\n files.push({\n content: `${JSON.stringify(await buildAskData(project))}\\n`,\n path: join(genDir, \"ask-data.json\"),\n });\n }\n return files;\n};\n\n/** Whether the ejected app hosts the MCP server (enabled and route free). */\nconst hostsMcp = (\n project: BlumeProject,\n userPages: { pattern: string }[]\n): boolean =>\n project.config.agents.mcp.enabled &&\n !routeIsTaken(\n userPages,\n project.graph.pages,\n project.config.agents.mcp.route\n );\n\n/**\n * The `.well-known` MCP discovery routes, injected as prerendered pages\n * alongside the user's own so the ejected Astro config wires them in. Empty\n * when the server is disabled or its route is already owned by a page.\n */\nconst mcpDiscoveryPages = (\n project: BlumeProject,\n userPages: { pattern: string }[]\n): { entrypoint: string; pattern: string }[] =>\n hostsMcp(project, userPages)\n ? [\n {\n entrypoint: \"src/blume-mcp/discovery.ts\",\n pattern: \"/.well-known/mcp.json\",\n },\n {\n entrypoint: \"src/blume-mcp/server-card.ts\",\n pattern: \"/.well-known/mcp/server-card.json\",\n },\n ]\n : [];\n\n/**\n * The playground's built-in CORS proxy route (`playground: { proxy: true }`),\n * mirroring `planPlaygroundProxy` in generate.ts: injected like the MCP\n * discovery routes, because Astro treats a `_`-prefixed page file as private,\n * and mounted under `basePath` at the URL the playground sends to. Empty when\n * no reference routes its playground through it.\n */\nconst playgroundProxyPages = (\n config: BlumeProject[\"config\"]\n): { entrypoint: string; pattern: string }[] =>\n needsPlaygroundProxy(config)\n ? [\n {\n entrypoint: toPosix(join(\"src\", PLAYGROUND_PROXY_ENTRY)),\n pattern: playgroundProxyPattern(config),\n },\n ]\n : [];\n\n/**\n * The proxy endpoint behind {@link playgroundProxyPages}, with the origin\n * allowlist baked in from the same parsed specs the reference pages render.\n */\nconst playgroundProxyFiles = (\n config: BlumeProject[\"config\"],\n openApiData: OpenApiData,\n srcDir: string\n): { content: string; path: string }[] =>\n needsPlaygroundProxy(config)\n ? [\n {\n content: playgroundProxyTemplate(\n specOrigins(openApiData),\n config.rateLimit\n ),\n path: join(srcDir, PLAYGROUND_PROXY_ENTRY),\n },\n ]\n : [];\n\n/**\n * The agent data snapshot (`blume:mcp-data`) behind the MCP server and the\n * JSON docs API, mirroring `publishAgentData` in generate.ts: built when\n * either is on, null when neither needs it.\n */\nconst ejectAgentData = async (\n project: BlumeProject,\n userPages: { pattern: string }[]\n): Promise<McpData | null> =>\n hostsMcp(project, userPages) || project.config.agents.api\n ? await buildMcpData(project)\n : null;\n\n/**\n * The MCP server endpoint and `.well-known` discovery documents, mirroring\n * `writeMcpFiles` in generate.ts. Empty when the server is disabled or its\n * route is already owned by a page.\n */\nconst mcpFiles = (\n project: BlumeProject,\n userPages: { pattern: string }[],\n srcDir: string,\n data: McpData | null\n): { content: string; path: string }[] => {\n if (!(data && hostsMcp(project, userPages))) {\n return [];\n }\n const { route } = project.config.agents.mcp;\n const discoveryInput = {\n base: data.base,\n name: data.name,\n route,\n site: data.site,\n version: data.version,\n };\n return [\n {\n content: mcpEndpointTemplate(),\n path: join(srcDir, \"pages\", mcpPageFile(route)),\n },\n {\n content: staticJsonEndpointTemplate(buildMcpDiscovery(discoveryInput)),\n path: join(srcDir, \"blume-mcp\", \"discovery.ts\"),\n },\n {\n content: staticJsonEndpointTemplate(buildMcpServerCard(discoveryInput)),\n path: join(srcDir, \"blume-mcp\", \"server-card.ts\"),\n },\n ];\n};\n\n/**\n * The JSON docs API, mirroring `planApi` and `writeApiFiles` in generate.ts:\n * the prerendered page index, per-page documents, and navigation; on server\n * output the search endpoint and, unless a user page or a content page already\n * lives under `/api/`, the JSON 404 catch-all; and `/openapi.json`, unless a\n * `public/openapi.json` or a page owns that route. The ejected `llms.txt`,\n * homepage `Link` header, and 404 page advertise these routes, so the ejected\n * app serves them. Empty when `agents.api` is off.\n */\nconst apiFiles = (\n project: BlumeProject,\n userPages: { pattern: string }[],\n root: string,\n srcDir: string,\n data: McpData | null\n): { content: string; path: string }[] => {\n const { config } = project;\n if (!(data && config.agents.api)) {\n return [];\n }\n const server = config.deployment.options.output === \"server\";\n const apiDir = join(srcDir, \"pages\", \"api\");\n const files = [\n {\n content: apiPagesIndexTemplate(),\n path: join(apiDir, \"docs\", \"pages.json.ts\"),\n },\n {\n content: apiPageTemplate(),\n path: join(apiDir, \"docs\", \"pages\", \"[...route].json.ts\"),\n },\n {\n content: apiNavigationTemplate(),\n path: join(apiDir, \"docs\", \"navigation.json.ts\"),\n },\n ];\n if (server) {\n files.push({\n content: apiSearchTemplate(),\n path: join(apiDir, \"docs\", \"search.ts\"),\n });\n }\n const apiOwned =\n userPages.some((page) => page.pattern.startsWith(\"/api/[\")) ||\n project.graph.pages.some(\n (page) => page.route === \"/api\" || page.route.startsWith(\"/api/\")\n );\n if (server && !apiOwned) {\n files.push({\n content: apiNotFoundTemplate({ base: data.base, site: data.site }),\n path: join(apiDir, \"[...path].ts\"),\n });\n }\n if (\n !(\n routeIsTaken(userPages, project.graph.pages, OPENAPI_PATH) ||\n existsSync(join(root, \"public\", \"openapi.json\"))\n )\n ) {\n files.push({\n content: staticJsonEndpointTemplate(\n buildApiSpec({\n agentReadability: config.agents.agentReadability,\n base: data.base,\n description: config.description,\n llmsTxt: config.agents.llmsTxt.enabled,\n mcpRoute: hostsMcp(project, userPages)\n ? config.agents.mcp.route\n : null,\n name: config.title,\n search: server,\n site: data.site,\n version: data.version,\n })\n ),\n path: join(srcDir, \"pages\", \"openapi.json.ts\"),\n });\n }\n return files;\n};\n\n/**\n * The `/changelog` index page, mirroring `shouldGenerateChangelog` in\n * generate.ts: emitted when `type: changelog` entries or a release-backed\n * changelog source exist, unless a user page already owns the route.\n */\nconst changelogFiles = (\n project: BlumeProject,\n userPages: { pattern: string }[],\n srcDir: string,\n options: Parameters<typeof changelogIndexTemplate>[0]\n): { content: string; path: string }[] => {\n const hasChangelog = project.graph.pages.some(\n (page) =>\n page.contentType === \"changelog\" &&\n !(page.meta.draft || page.meta.sidebar.hidden)\n );\n const hasChangelogSource =\n sourcesOfKind(project.config, \"github-releases\").length > 0;\n if (\n !(hasChangelog || hasChangelogSource) ||\n routeIsTaken(userPages, project.graph.pages, \"/changelog\")\n ) {\n return [];\n }\n return [\n {\n content: changelogIndexTemplate(options),\n path: join(srcDir, \"pages\", \"changelog.astro\"),\n },\n ];\n};\n\n/**\n * The colocated-image map and the `/blume-assets/[...asset]` endpoint that\n * serves it, mirroring generate.ts: the ejected raw Markdown points\n * `` at `/blume-assets/content/…`, and the config aliases\n * `blume:content-assets` to the map. Each original's path is written relative\n * to the project root (the directory `astro dev`/`astro build` run from), so\n * the ejected app builds from any checkout. Remote-source images need no\n * endpoint: eject copies them into the project's own `public/blume-assets`.\n */\nconst contentAssetFiles = async (\n project: BlumeProject,\n root: string,\n srcDir: string,\n genDir: string\n): Promise<{ content: string; path: string }[]> => {\n const assets = await collectContentAssets(project);\n const portable = Object.fromEntries(\n Object.entries(assets).map(([param, abs]) => [\n param,\n toPosix(relative(root, abs)),\n ])\n );\n return [\n {\n content: `${JSON.stringify(portable)}\\n`,\n path: join(genDir, \"content-assets.json\"),\n },\n {\n content: contentAssetsEndpointTemplate(null),\n path: join(srcDir, \"pages\", \"blume-assets\", \"[...asset].ts\"),\n },\n ];\n};\n\n/**\n * The partial → including-pages map with every path relative to the project\n * root, like every other path in the ejected app, so it holds in any checkout.\n * Its readers (`includeHmrPlugin`, `withIncludeRefresh`) resolve each path\n * against the app's root, which after eject is the project itself.\n */\nconst portableIncludeGraph = (\n project: BlumeProject,\n root: string\n): Record<string, string[]> =>\n Object.fromEntries(\n Object.entries(buildIncludeGraph(project.graph.pages)).map(\n ([partial, includers]) => [\n toPosix(relative(root, partial)),\n includers.map((page) => toPosix(relative(root, page))),\n ]\n )\n );\n\n/** Contents of the configured `examples.css`, or `\"\"` when unset/absent. */\n/**\n * Read a user stylesheet that eject inlines into a generated entry under\n * `genDir`, re-rooting its relative `@source` paths from the user's file.\n * Resolves to an empty string when the file is unset or absent.\n */\nconst readUserCss = async (\n file: string | null,\n genDir: string\n): Promise<string> => {\n if (!(file && existsSync(file))) {\n return \"\";\n }\n const css = await readFile(file, \"utf-8\");\n return rebaseSourceDirectives(css, { from: file, to: genDir });\n};\n\n/**\n * The per-example preview route `<Component />` iframes embed, nested under\n * `basePath` so it stays reachable behind a proxy that only forwards the\n * base. Empty when the project has no examples.\n */\nconst examplesPreviewFiles = (\n srcDir: string,\n basePath: string,\n hasExamples: boolean\n): { content: string; path: string }[] =>\n hasExamples\n ? [\n {\n content: examplesPageTemplate(),\n path: join(\n srcDir,\n \"pages\",\n ...basePath.split(\"/\").filter(Boolean),\n \"blume-examples\",\n \"[...path].astro\"\n ),\n },\n ]\n : [];\n\n/**\n * The packages the ejected app imports by bare name: Astro, Tailwind's Vite\n * plugin, Tailwind and its typography plugin (which the generated `app.css`\n * and `examples.css` import by name), `blume` itself, the integrations the\n * config wires in, whatever the configured adapters declare, and React when\n * islands, examples, or the assistant render with it (Blume ships React, so\n * projects rarely list it). They have to be the project's own dependencies\n * after eject — under a strict linker such as pnpm nothing else makes them\n * resolvable, and `astro build` fails. The hidden runtime reaches the same\n * packages through its `node_modules` junction into Blume's own, so only\n * eject declares the ones its generated files import directly: the AI SDK the\n * assistant route streams through (unless `ai.assistant.endpoint` points\n * elsewhere, when no route is written) and the EPUB generator's browser bundle\n * `features.ts` loads (only named there when `export.epub` is on).\n */\nconst ejectDependencies = (\n options: Parameters<typeof runtimeDependencies>[0]\n): string[] => {\n const { assistant } = options.config.ai;\n return [\n ...new Set([\n \"astro\",\n \"@tailwindcss/vite\",\n \"tailwindcss\",\n \"@tailwindcss/typography\",\n \"blume\",\n ...runtimeDependencies(options),\n ...(options.needsReact ? [\"react\", \"react-dom\"] : []),\n ...(assistant?.enabled && !assistant.endpoint ? [\"ai\"] : []),\n ...(options.config.export.epub ? [\"epub-gen-memory\"] : []),\n ]),\n ];\n};\n\nconst ejectIntegrationBridge = (\n config: BlumeProject[\"config\"],\n root: string,\n configFile: string | null\n): Parameters<typeof astroConfigTemplate>[0][\"integrationBridge\"] =>\n config.integrations.length > 0 && configFile\n ? { configFile: toPosix(relative(root, configFile)) }\n : undefined;\n\n/**\n * Promote the generated runtime into the project as an owned Astro app. After\n * eject the project has a normal `astro.config.mjs` and `src/`, the `blume` CLI\n * is no longer required, and the `blume` package remains importable.\n *\n * Returns the written files plus non-fatal warnings, mirroring the generated\n * runtime (e.g. a Scalar reference spec that wasn't found, or a reference\n * route colliding with a content page), and the packages the ejected app\n * imports by bare name, for the caller to add to package.json.\n */\nexport const eject = async (\n root: string\n): Promise<{ dependencies: string[]; files: string[]; warnings: string[] }> => {\n const project = await scanProject(root, { mode: \"build\" });\n const { context, config } = project;\n\n const srcDir = join(root, \"src\");\n const genDir = join(srcDir, \"generated\");\n const assistantEnabled = config.ai.assistant?.enabled ?? false;\n const exportPdf = config.export.pdf;\n const exportEpub = config.export.epub;\n\n // Discover examples first and expose them on the project, so the agent-facing\n // Markdown built below (raw `.md`, MCP) downlevels `<Component>` to its source.\n const examples = await discoverExamples(root, config.examples.source);\n project.examples = exampleMarkdownLookup(examples.examples);\n\n const [\n pages,\n needsReactRaw,\n usesMath,\n userTheme,\n userExamplesCss,\n rawMarkdown,\n islands,\n overrideAnalysis,\n ] = await Promise.all([\n context.pagesRoot ? discoverPages(context.pagesRoot) : Promise.resolve([]),\n detectNeedsReact(root),\n detectUsesMath(root),\n readUserCss(context.themeFile, genDir),\n readUserCss(\n config.examples.css ? join(root, config.examples.css) : null,\n genDir\n ),\n buildRawMarkdown(project),\n discoverIslands(root),\n analyzeComponentsFile(context.componentsFile),\n ]);\n // The `islands/` convention and `components.ts` share the same static plan\n // the CLI uses, with every import written relative to its generated file so\n // the ejected app builds from any checkout (like the example wrappers below).\n const slotPlan = planComponentSlots(islands.islands, overrideAnalysis, {\n relativeTo: genDir,\n });\n // Island/example/override frameworks drive which Astro renderers the ejected\n // config wires in; React also switches on for project `.tsx`/`.jsx` and the assistant.\n const frameworks = new Set<string>([\n ...islands.islands.map((island) => island.framework),\n ...examples.examples.map((example) => example.framework),\n ...slotPlan.frameworks,\n ]);\n const needsReact =\n needsReactRaw || assistantEnabled || frameworks.has(\"react\");\n const needsVue = frameworks.has(\"vue\");\n const needsSvelte = frameworks.has(\"svelte\");\n\n // A project-relative context so generated files use portable paths.\n const relContext: ProjectContext = {\n ...context,\n contentRoot: toPosix(relative(root, context.contentRoot)),\n distDir: \"./dist\",\n outDir: \".\",\n pagesRoot: context.pagesRoot\n ? `./${toPosix(relative(root, context.pagesRoot))}`\n : null,\n root: \".\",\n };\n // The `docs` collection resolves its base against the real project root and\n // is then relativized like everything else, so the ejected content config\n // never bakes in the absolute path `eject` happened to run from.\n const docsCollection = resolveDocsCollection(config, root);\n const relCollection = {\n ...docsCollection,\n base: toPosix(relative(root, docsCollection.base)),\n };\n\n const relPages = [\n ...pages.map((page) => ({\n entrypoint: toPosix(relative(root, page.entrypoint)),\n pattern: page.pattern,\n })),\n ...mcpDiscoveryPages(project, pages),\n ...playgroundProxyPages(config),\n ];\n const openApiData = ejectOpenApiData(project);\n\n // Non-filesystem sources eject their materialized MDX into `<root>/blume-staged`\n // (a dedicated dir so it never clashes with a content root literally named\n // `content`; the relative `staged` collection points there).\n const staged = collectStaged(project);\n const hasStaged = staged.size > 0;\n const stagedDir = \"blume-staged\";\n const features = await clientFeaturesFor(project);\n const languageIcons = await languageIconCssFor(project);\n\n const files: {\n path: string;\n content: string;\n /** Don't overwrite a file the user already owns (e.g. a tuned tsconfig). */\n skipIfExists?: boolean;\n }[] = [\n {\n content: astroConfigTemplate({\n askPath: \"./src/generated/Ask.astro\",\n config,\n consentClientPath: \"./src/generated/consent-client.ts\",\n contentRoot: relContext.contentRoot,\n contentRoutes: project.manifest.routes.map((route) => route.path),\n context: relContext,\n examplesPath: \"./src/generated/examples.ts\",\n examplesThemePath: \"./src/generated/examples.css\",\n features,\n featuresPath: \"./src/generated/features.ts\",\n // No CLI publishes the runtime data modules in memory after eject, so\n // the config aliases each to the JSON snapshot written below.\n generatedModulesDir: \"./src/generated\",\n integrationBridge: ejectIntegrationBridge(\n config,\n root,\n context.configFile\n ),\n needsReact,\n needsSvelte,\n needsVue,\n pages: relPages,\n searchClientPath: \"./src/generated/search-client.ts\",\n themePath: \"./src/generated/app.css\",\n }),\n path: join(root, \"astro.config.mjs\"),\n },\n {\n content: runtimeTsconfigTemplate(),\n path: join(root, \"tsconfig.json\"),\n // Never clobber a hand-tuned tsconfig; only write ours if none exists.\n skipIfExists: true,\n },\n {\n content: contentConfigTemplate({\n collection: relCollection,\n config,\n context: relContext,\n staged: hasStaged,\n stagedBase: stagedDir,\n }),\n path: join(srcDir, \"content.config.ts\"),\n },\n {\n content: catchAllPageTemplate({\n exportEpub,\n exportPdf,\n mathEnabled: usesMath,\n needsReact,\n }),\n path: join(srcDir, \"pages\", \"[...slug].astro\"),\n },\n {\n content: slotPlan.module,\n path: join(genDir, \"components.ts\"),\n },\n // The example map the catch-all imports; written even when empty so the\n // `blume:examples` alias always resolves.\n {\n content: exampleMapTemplate(examples.examples, config.basePath),\n path: join(genDir, \"examples.ts\"),\n },\n {\n // The isolated Tailwind entry for `<Component />` preview frames.\n // Relative sources keep the ejected app portable.\n content: examplesEntryTemplate({\n configTokens: buildThemeCss(config.theme),\n sources: exampleScanRoots(root, examples.dir).map(\n (dir) => `${relative(genDir, dir)}/${EXAMPLE_SCAN_GLOB}`\n ),\n userCss: userExamplesCss,\n }),\n path: join(genDir, \"examples.css\"),\n },\n {\n content: tailwindEntryTemplate({\n configTokens: buildThemeCss(config.theme),\n languageIcons,\n // Relative paths from src/generated/app.css keep the ejected app\n // portable; the blume glob resolves the real install location when\n // the package is hoisted out of the project's own node_modules.\n sources: [\n blumeSourceGlob(root, genDir),\n \"../../**/*.{astro,mdx,ts,tsx}\",\n ],\n twoslashCss: twoslashCss(),\n userTheme,\n }),\n path: join(genDir, \"app.css\"),\n },\n { content: buildRuntimeData(project), path: join(genDir, \"data.json\") },\n // The header's Ask trigger behind the `blume:ask` alias. Always written — it\n // renders nothing when Ask is off — so the alias always resolves.\n {\n content: askComponentTemplate(assistantEnabled),\n path: join(genDir, \"Ask.astro\"),\n },\n {\n content: `${JSON.stringify(openApiData)}\\n`,\n path: join(genDir, \"openapi.json\"),\n },\n {\n content: `${JSON.stringify(rawMarkdown)}\\n`,\n path: join(genDir, \"raw-markdown.json\"),\n },\n {\n // The partial → including-pages map behind `includeHmrPlugin`, which the\n // ejected astro.config wires at this exact path — without the file every\n // hot update's read would silently no-op and partial edits would serve\n // stale pages. A snapshot like the rest of `src/generated`: the ejected\n // app owns (and may regenerate or prune) it.\n content: `${JSON.stringify(portableIncludeGraph(project, root))}\\n`,\n path: join(genDir, \"includes.json\"),\n },\n {\n content: rawMarkdownEndpointTemplate(\"md\"),\n path: join(srcDir, \"pages\", \"[...slug].md.ts\"),\n },\n {\n content: rawMarkdownEndpointTemplate(\"mdx\"),\n path: join(srcDir, \"pages\", \"[...slug].mdx.ts\"),\n },\n ];\n\n files.push(...(await contentAssetFiles(project, root, srcDir, genDir)));\n\n if (assistantEnabled) {\n files.push(...(await askFiles(project, srcDir, genDir)));\n }\n\n // The `/changelog` index, mirrored from the generated runtime (`[]` when\n // the project has no changelog). The OG endpoint below adds its card.\n const changelog = changelogFiles(project, pages, srcDir, {\n exportEpub,\n exportPdf,\n needsReact,\n staged: hasStaged,\n });\n\n if (config.seo.og.enabled) {\n // The default script fallbacks ride along (Google family names, nothing\n // machine-specific), so a non-Latin card still renders after eject. An\n // explicit seo.og.fonts replaces them, and isn't carried over.\n const { fallbacks, families } = resolveOgFonts(\n {\n locales: fontLocaleCodes(config.i18n),\n ogFonts: config.seo.og.fonts,\n themeFonts: config.theme.fonts,\n themeFontsConfigured: false,\n },\n root\n );\n files.push({\n content: ogEndpointTemplate(\n customOgRoutes(pages, config.title, config.seo.og.titles),\n {\n fallbacks,\n families,\n pageDescriptions: config.seo.og.description !== false,\n },\n changelog.length > 0\n ),\n path: join(srcDir, \"pages\", \"og\", \"[...slug].png.ts\"),\n });\n }\n\n // The hosted MCP server, the JSON docs API, and the playground's built-in\n // proxy, mirrored from the generated runtime (`[]` when each is off). The\n // server and the API share one agent data snapshot.\n const agentData = await ejectAgentData(project, pages);\n if (agentData) {\n files.push({\n content: `${JSON.stringify(agentData)}\\n`,\n path: join(genDir, \"mcp-data.json\"),\n });\n }\n files.push(\n ...mcpFiles(project, pages, srcDir, agentData),\n ...apiFiles(project, pages, root, srcDir, agentData),\n ...changelog,\n ...playgroundProxyFiles(config, openApiData, srcDir)\n );\n\n // Default 404 page and its Markdown (`/404.md`) and JSON (`/404.json`)\n // twins, mirroring `writeNotFoundPage` in generate.ts: all three are skipped\n // when the project already owns `/404` (a custom `pages/404.astro` or a\n // `404.md` content page). The ejected project owns the files afterwards and\n // can edit or remove them.\n if (!routeIsTaken(pages, project.graph.pages, \"/404\")) {\n files.push(\n {\n content: notFoundPageTemplate(),\n path: join(srcDir, \"pages\", \"404.astro\"),\n },\n {\n content: notFoundMarkdownTemplate(),\n path: join(srcDir, \"pages\", \"404.md.ts\"),\n },\n {\n content: notFoundJsonTemplate(),\n path: join(srcDir, \"pages\", \"404.json.ts\"),\n }\n );\n }\n\n // The client-feature loaders behind the `blume:features` alias, the\n // provider-specific client loader behind `blume:search-client`, and the\n // consent adapter's browser module behind `blume:consent-client`.\n files.push(\n {\n content: featuresTemplate(features),\n path: join(genDir, \"features.ts\"),\n },\n {\n content: searchClientTemplate(config),\n path: join(genDir, \"search-client.ts\"),\n },\n {\n content: consentClientTemplate(config.consent),\n path: join(genDir, \"consent-client.ts\"),\n }\n );\n\n const searchAdapter = config.search.provider;\n if (searchAdapter.mode === \"static\") {\n const documents = await buildSearchDocuments(project);\n files.push(\n {\n content: `${JSON.stringify(documents)}\\n`,\n path: join(genDir, \"search.json\"),\n },\n {\n content: searchEndpointTemplate(),\n path: join(srcDir, \"pages\", \"blume-search.json.ts\"),\n }\n );\n }\n\n if (searchAdapter.kind === \"mixedbread\") {\n files.push({\n content: mixedbreadSearchEndpointTemplate(\n searchAdapter.options,\n config.rateLimit\n ),\n path: join(srcDir, \"pages\", \"api\", \"search.ts\"),\n });\n }\n\n const feeds = buildRssFeeds(project);\n if (feeds.length > 0) {\n const feedXml = Object.fromEntries(\n feeds.map((feed) => [feed.type, renderRssFeed(feed)])\n );\n files.push(\n {\n content: `${JSON.stringify(feedXml)}\\n`,\n path: join(genDir, \"rss.json\"),\n },\n {\n content: rssEndpointTemplate(),\n path: join(srcDir, \"pages\", \"[section]\", \"rss.xml.ts\"),\n }\n );\n }\n\n // Scalar API/AsyncAPI reference pages, mirrored from the generated runtime so\n // the ejected app keeps its reference routes — including the warnings (a\n // missing spec file, a route collision), which the caller surfaces exactly\n // like the generated-runtime path does.\n // A proxied spec with no origin to allow gets the generated runtime's\n // diagnostic too.\n const warnings: string[] = proxyAllowlistWarnings(config, openApiData);\n if (hasScalarReferences(config)) {\n const references = await buildReferenceFiles({\n config,\n contentRoutes: new Set(project.graph.pages.map((page) => page.route)),\n root,\n });\n warnings.push(...references.warnings);\n for (const file of references.files) {\n files.push({\n content: file.content,\n path: join(srcDir, \"pages\", file.pagePath),\n });\n }\n }\n\n // Per-override and per-example live wrappers referenced by the maps above.\n files.push(\n ...slotPlan.wrappers.map((wrapper) => ({\n content: wrapper.content,\n path: join(genDir, \"component-slots\", `${wrapper.name}.astro`),\n })),\n ...examples.examples.map((example) => ({\n content: exampleWrapperTemplate(example, join(genDir, \"examples\")),\n path: join(genDir, \"examples\", `${exampleSlug(example.path)}.astro`),\n })),\n ...examplesPreviewFiles(\n srcDir,\n config.basePath,\n examples.examples.length > 0\n )\n );\n\n // Materialize staged source bodies under `<root>/blume-staged/<source>/<ref>`,\n // matching the relative `staged` collection base in the ejected config.\n for (const [entryId, content] of staged) {\n files.push({ content, path: join(root, stagedDir, entryId) });\n }\n\n const written = files.filter(\n (file) => !(file.skipIfExists && existsSync(file.path))\n );\n await Promise.all(\n written.map(async (file) => {\n await mkdir(join(file.path, \"..\"), { recursive: true });\n await writeFile(file.path, file.content, \"utf-8\");\n })\n );\n\n // Materialized source assets (e.g. downloaded Notion images) live under the\n // hidden runtime's public dir; copy them into the owned project's `public/`\n // so the staged content's `/blume-assets/…` references still resolve.\n const assetsSrc = join(context.outDir, \"public\", \"blume-assets\");\n if (existsSync(assetsSrc)) {\n await cp(assetsSrc, join(root, \"public\", \"blume-assets\"), {\n recursive: true,\n });\n }\n\n // The hidden runtime is no longer the source of truth.\n await rm(context.outDir, { force: true, recursive: true });\n\n return {\n dependencies: ejectDependencies({\n config,\n needsReact,\n needsSvelte,\n needsVue,\n }),\n files: written.map((file) => file.path),\n warnings,\n };\n};\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "CE6B7910AE02D8C964756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -371,4 +371,4 @@ var analyzeComponentOverrides = (source, filePath) => {
|
|
|
371
371
|
export { emptyComponentOverrides, ComponentOverridesError, analyzeComponentOverrides };
|
|
372
372
|
|
|
373
373
|
//# debugId=D84ED7D5A5A4CC7064756E2164756E21
|
|
374
|
-
//# sourceMappingURL=chunk-
|
|
374
|
+
//# sourceMappingURL=chunk-ta27feev.js.map
|