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
package/dist/types/ai/ask.d.ts
CHANGED
|
@@ -34,9 +34,24 @@ export interface AssistantAdapterOptions {
|
|
|
34
34
|
*/
|
|
35
35
|
providerOptions?: AssistantProviderOptions;
|
|
36
36
|
}
|
|
37
|
+
/** The shared option schema, with the adapter's own key env var default. */
|
|
38
|
+
export declare const sharedOptions: (apiKeyEnv: string) => {
|
|
39
|
+
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
40
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
41
|
+
providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
42
|
+
};
|
|
43
|
+
export declare const GATEWAY_API_KEY_ENV = "AI_GATEWAY_API_KEY";
|
|
37
44
|
/** Options for {@link gateway}. */
|
|
38
45
|
export interface AssistantGatewayOptions extends AssistantAdapterOptions {
|
|
39
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Narration only: how the voice should sound, for speech models that take
|
|
48
|
+
* instructions ("Read calmly, like a teacher").
|
|
49
|
+
*/
|
|
50
|
+
instructions?: string;
|
|
51
|
+
/**
|
|
52
|
+
* A `provider/model` id routed by the gateway. Defaults to `openai/gpt-5.5`
|
|
53
|
+
* for the assistant and `openai/tts-1-hd` for narration.
|
|
54
|
+
*/
|
|
40
55
|
model?: string;
|
|
41
56
|
/**
|
|
42
57
|
* How much the model reasons before answering. Sent as the AI SDK's
|
|
@@ -45,6 +60,8 @@ export interface AssistantGatewayOptions extends AssistantAdapterOptions {
|
|
|
45
60
|
* offer the level you pick. Omitted keeps the model's default.
|
|
46
61
|
*/
|
|
47
62
|
reasoning?: AssistantReasoning;
|
|
63
|
+
/** Narration only: the speech model's voice. Defaults to `alloy`. */
|
|
64
|
+
voice?: string;
|
|
48
65
|
}
|
|
49
66
|
export type AssistantGatewayAdapter = AdapterDescriptor<"gateway", AssistantGatewayOptions>;
|
|
50
67
|
export declare const gatewayAdapterSchema: z.ZodObject<{
|
|
@@ -67,12 +84,193 @@ export declare const gatewayAdapterSchema: z.ZodObject<{
|
|
|
67
84
|
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
68
85
|
}, z.core.$strict>;
|
|
69
86
|
/**
|
|
70
|
-
* Route the assistant through the Vercel AI Gateway (the default)
|
|
87
|
+
* Route the assistant through the Vercel AI Gateway (the default), or generate
|
|
88
|
+
* narration audio with one of its speech models. `model` is a
|
|
71
89
|
* `provider/model` string; the key is `AI_GATEWAY_API_KEY`, or Vercel's OIDC
|
|
72
90
|
* token when deployed there. Needs no provider SDK beyond the `ai` package
|
|
73
91
|
* Blume ships.
|
|
74
92
|
*/
|
|
75
93
|
export declare const gateway: (options?: AssistantGatewayOptions) => AssistantGatewayAdapter;
|
|
94
|
+
/** Options for {@link openai}. */
|
|
95
|
+
export interface AssistantOpenAIOptions extends AssistantAdapterOptions {
|
|
96
|
+
/**
|
|
97
|
+
* An OpenAI-compatible endpoint to call instead of OpenAI
|
|
98
|
+
* (`https://llm.internal.example.com/v1`): a self-hosted model or an
|
|
99
|
+
* internal gateway. The route then talks Chat Completions through
|
|
100
|
+
* `@ai-sdk/openai-compatible`, and the docs tools are off unless
|
|
101
|
+
* `ai.assistant.tools` turns them on, since the model may not call tools.
|
|
102
|
+
*/
|
|
103
|
+
baseUrl?: string;
|
|
104
|
+
/** The model id (`gpt-5.5`). */
|
|
105
|
+
model: string;
|
|
106
|
+
/**
|
|
107
|
+
* The provider name the AI SDK reports, which a custom endpoint also reads
|
|
108
|
+
* its `providerOptions` under. Defaults to `openai`, or `openai-compatible`
|
|
109
|
+
* with a `baseUrl`.
|
|
110
|
+
*/
|
|
111
|
+
name?: string;
|
|
112
|
+
/**
|
|
113
|
+
* How much the model reasons before answering, sent as `reasoning_effort`;
|
|
114
|
+
* with a `baseUrl`, the endpoint has to accept that parameter. Omitted
|
|
115
|
+
* keeps the model's default.
|
|
116
|
+
*/
|
|
117
|
+
reasoning?: AssistantReasoning;
|
|
118
|
+
}
|
|
119
|
+
export type AssistantOpenAIAdapter = AdapterDescriptor<"openai", AssistantOpenAIOptions>;
|
|
120
|
+
export declare const openaiAdapterSchema: z.ZodObject<{
|
|
121
|
+
kind: z.ZodLiteral<"openai">;
|
|
122
|
+
options: z.ZodObject<{
|
|
123
|
+
baseUrl: z.ZodOptional<z.ZodURL>;
|
|
124
|
+
model: z.ZodString;
|
|
125
|
+
name: z.ZodOptional<z.ZodString>;
|
|
126
|
+
reasoning: z.ZodOptional<z.ZodEnum<{
|
|
127
|
+
none: "none";
|
|
128
|
+
minimal: "minimal";
|
|
129
|
+
low: "low";
|
|
130
|
+
medium: "medium";
|
|
131
|
+
high: "high";
|
|
132
|
+
xhigh: "xhigh";
|
|
133
|
+
}>>;
|
|
134
|
+
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
135
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
136
|
+
providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
137
|
+
}, z.core.$strict>;
|
|
138
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
139
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
140
|
+
}, z.core.$strict>;
|
|
141
|
+
/**
|
|
142
|
+
* Route the assistant to OpenAI, or to any OpenAI-compatible endpoint with
|
|
143
|
+
* `baseUrl`. Reads `OPENAI_API_KEY` and needs `@ai-sdk/openai` installed; a
|
|
144
|
+
* custom endpoint needs `@ai-sdk/openai-compatible` instead, since most
|
|
145
|
+
* don't serve OpenAI's Responses API.
|
|
146
|
+
*/
|
|
147
|
+
export declare const openai: (options: AssistantOpenAIOptions) => AssistantOpenAIAdapter;
|
|
148
|
+
/**
|
|
149
|
+
* Options for the deprecated {@link openaiCompatible}: {@link openai}'s, with
|
|
150
|
+
* the endpoint and its key env var required.
|
|
151
|
+
*
|
|
152
|
+
* @deprecated Use {@link AssistantOpenAIOptions}.
|
|
153
|
+
*/
|
|
154
|
+
export interface AssistantOpenAICompatibleOptions extends AssistantOpenAIOptions {
|
|
155
|
+
apiKeyEnv: string;
|
|
156
|
+
baseUrl: string;
|
|
157
|
+
}
|
|
158
|
+
/** @deprecated Use {@link AssistantOpenAIAdapter}. */
|
|
159
|
+
export type AssistantOpenAICompatibleAdapter = AssistantOpenAIAdapter;
|
|
160
|
+
/**
|
|
161
|
+
* Route the assistant through an OpenAI-compatible endpoint.
|
|
162
|
+
*
|
|
163
|
+
* @deprecated Use `openai({ baseUrl, model, apiKeyEnv })`, which this calls.
|
|
164
|
+
*/
|
|
165
|
+
export declare const openaiCompatible: (options: AssistantOpenAICompatibleOptions) => AssistantOpenAIAdapter;
|
|
166
|
+
/** Options for {@link anthropic}. */
|
|
167
|
+
export interface AssistantAnthropicOptions extends AssistantAdapterOptions {
|
|
168
|
+
/** The Claude model id (`claude-sonnet-5`). */
|
|
169
|
+
model: string;
|
|
170
|
+
/**
|
|
171
|
+
* How much the model reasons before answering. The Anthropic provider
|
|
172
|
+
* maps the level to the model's thinking: an effort on models with
|
|
173
|
+
* adaptive thinking, a thinking budget on older ones, and thinking off for
|
|
174
|
+
* `"none"`. Omitted keeps the model's default.
|
|
175
|
+
*/
|
|
176
|
+
reasoning?: AssistantReasoning;
|
|
177
|
+
}
|
|
178
|
+
export type AssistantAnthropicAdapter = AdapterDescriptor<"anthropic", AssistantAnthropicOptions>;
|
|
179
|
+
export declare const anthropicAdapterSchema: z.ZodObject<{
|
|
180
|
+
kind: z.ZodLiteral<"anthropic">;
|
|
181
|
+
options: z.ZodObject<{
|
|
182
|
+
model: z.ZodString;
|
|
183
|
+
reasoning: z.ZodOptional<z.ZodEnum<{
|
|
184
|
+
none: "none";
|
|
185
|
+
minimal: "minimal";
|
|
186
|
+
low: "low";
|
|
187
|
+
medium: "medium";
|
|
188
|
+
high: "high";
|
|
189
|
+
xhigh: "xhigh";
|
|
190
|
+
}>>;
|
|
191
|
+
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
192
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
193
|
+
providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
194
|
+
}, z.core.$strict>;
|
|
195
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
196
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
197
|
+
}, z.core.$strict>;
|
|
198
|
+
/**
|
|
199
|
+
* Route the assistant to Anthropic's Claude API. Reads `ANTHROPIC_API_KEY`
|
|
200
|
+
* and needs `@ai-sdk/anthropic` installed.
|
|
201
|
+
*/
|
|
202
|
+
export declare const anthropic: (options: AssistantAnthropicOptions) => AssistantAnthropicAdapter;
|
|
203
|
+
/** Options for {@link gemini}. */
|
|
204
|
+
export interface AssistantGeminiOptions extends AssistantAdapterOptions {
|
|
205
|
+
/** The Gemini model id (`gemini-3.5-flash`). */
|
|
206
|
+
model: string;
|
|
207
|
+
/**
|
|
208
|
+
* How much the model reasons before answering. The Google provider maps
|
|
209
|
+
* the level to the model's thinking level, or to a thinking budget on
|
|
210
|
+
* models that take one. Omitted keeps the model's default.
|
|
211
|
+
*/
|
|
212
|
+
reasoning?: AssistantReasoning;
|
|
213
|
+
}
|
|
214
|
+
export type AssistantGeminiAdapter = AdapterDescriptor<"gemini", AssistantGeminiOptions>;
|
|
215
|
+
export declare const geminiAdapterSchema: z.ZodObject<{
|
|
216
|
+
kind: z.ZodLiteral<"gemini">;
|
|
217
|
+
options: z.ZodObject<{
|
|
218
|
+
model: z.ZodString;
|
|
219
|
+
reasoning: z.ZodOptional<z.ZodEnum<{
|
|
220
|
+
none: "none";
|
|
221
|
+
minimal: "minimal";
|
|
222
|
+
low: "low";
|
|
223
|
+
medium: "medium";
|
|
224
|
+
high: "high";
|
|
225
|
+
xhigh: "xhigh";
|
|
226
|
+
}>>;
|
|
227
|
+
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
228
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
229
|
+
providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
230
|
+
}, z.core.$strict>;
|
|
231
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
232
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
233
|
+
}, z.core.$strict>;
|
|
234
|
+
/**
|
|
235
|
+
* Route the assistant to Google's Gemini API. Reads `GEMINI_API_KEY` and
|
|
236
|
+
* needs `@ai-sdk/google` installed.
|
|
237
|
+
*/
|
|
238
|
+
export declare const gemini: (options: AssistantGeminiOptions) => AssistantGeminiAdapter;
|
|
239
|
+
/** Options for {@link grok}. */
|
|
240
|
+
export interface AssistantGrokOptions extends AssistantAdapterOptions {
|
|
241
|
+
/** The Grok model id (`grok-4.7`). */
|
|
242
|
+
model: string;
|
|
243
|
+
/**
|
|
244
|
+
* How much the model reasons before answering, sent as xAI's reasoning
|
|
245
|
+
* effort on the models that take one. Omitted keeps the model's default.
|
|
246
|
+
*/
|
|
247
|
+
reasoning?: AssistantReasoning;
|
|
248
|
+
}
|
|
249
|
+
export type AssistantGrokAdapter = AdapterDescriptor<"grok", AssistantGrokOptions>;
|
|
250
|
+
export declare const grokAdapterSchema: z.ZodObject<{
|
|
251
|
+
kind: z.ZodLiteral<"grok">;
|
|
252
|
+
options: z.ZodObject<{
|
|
253
|
+
model: z.ZodString;
|
|
254
|
+
reasoning: z.ZodOptional<z.ZodEnum<{
|
|
255
|
+
none: "none";
|
|
256
|
+
minimal: "minimal";
|
|
257
|
+
low: "low";
|
|
258
|
+
medium: "medium";
|
|
259
|
+
high: "high";
|
|
260
|
+
xhigh: "xhigh";
|
|
261
|
+
}>>;
|
|
262
|
+
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
263
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
264
|
+
providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
265
|
+
}, z.core.$strict>;
|
|
266
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
267
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
268
|
+
}, z.core.$strict>;
|
|
269
|
+
/**
|
|
270
|
+
* Route the assistant to xAI's Grok models. Reads `XAI_API_KEY` and needs
|
|
271
|
+
* `@ai-sdk/xai` installed.
|
|
272
|
+
*/
|
|
273
|
+
export declare const grok: (options: AssistantGrokOptions) => AssistantGrokAdapter;
|
|
76
274
|
/** Options for {@link openrouter}. */
|
|
77
275
|
export interface AssistantOpenRouterOptions extends AssistantAdapterOptions {
|
|
78
276
|
/** The OpenRouter model id (`anthropic/claude-sonnet-4-5`). */
|
|
@@ -176,53 +374,8 @@ export declare const inkeepAdapterSchema: z.ZodObject<{
|
|
|
176
374
|
* Reads `INKEEP_API_KEY` and needs `@ai-sdk/openai-compatible` installed.
|
|
177
375
|
*/
|
|
178
376
|
export declare const inkeep: (options: AssistantInkeepOptions) => AssistantInkeepAdapter;
|
|
179
|
-
/**
|
|
180
|
-
export
|
|
181
|
-
/** Name of the env var holding the endpoint's API key. */
|
|
182
|
-
apiKeyEnv: string;
|
|
183
|
-
/** The endpoint's base URL (`https://my-gateway.example.com/v1`). */
|
|
184
|
-
baseUrl: string;
|
|
185
|
-
/** The model id the endpoint serves. */
|
|
186
|
-
model: string;
|
|
187
|
-
/** The provider name the AI SDK reports. Defaults to `openai-compatible`. */
|
|
188
|
-
name?: string;
|
|
189
|
-
/**
|
|
190
|
-
* How much the model reasons before answering, sent in the request as
|
|
191
|
-
* `reasoning_effort`, so the endpoint has to accept that parameter.
|
|
192
|
-
* Omitted keeps the model's default.
|
|
193
|
-
*/
|
|
194
|
-
reasoning?: AssistantReasoning;
|
|
195
|
-
}
|
|
196
|
-
export type AssistantOpenAICompatibleAdapter = AdapterDescriptor<"openai-compatible", AssistantOpenAICompatibleOptions>;
|
|
197
|
-
export declare const openaiCompatibleAdapterSchema: z.ZodObject<{
|
|
198
|
-
kind: z.ZodLiteral<"openai-compatible">;
|
|
199
|
-
options: z.ZodObject<{
|
|
200
|
-
apiKeyEnv: z.ZodString;
|
|
201
|
-
baseUrl: z.ZodURL;
|
|
202
|
-
model: z.ZodString;
|
|
203
|
-
name: z.ZodDefault<z.ZodString>;
|
|
204
|
-
reasoning: z.ZodOptional<z.ZodEnum<{
|
|
205
|
-
none: "none";
|
|
206
|
-
minimal: "minimal";
|
|
207
|
-
low: "low";
|
|
208
|
-
medium: "medium";
|
|
209
|
-
high: "high";
|
|
210
|
-
xhigh: "xhigh";
|
|
211
|
-
}>>;
|
|
212
|
-
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
213
|
-
providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
214
|
-
}, z.core.$strict>;
|
|
215
|
-
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
216
|
-
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
217
|
-
}, z.core.$strict>;
|
|
218
|
-
/**
|
|
219
|
-
* Route the assistant through any OpenAI-compatible endpoint: supply its `baseUrl`,
|
|
220
|
-
* the `model` it serves, and the env var holding its key. Needs
|
|
221
|
-
* `@ai-sdk/openai-compatible` installed.
|
|
222
|
-
*/
|
|
223
|
-
export declare const openaiCompatible: (options: AssistantOpenAICompatibleOptions) => AssistantOpenAICompatibleAdapter;
|
|
224
|
-
/** Which backend answers the assistant: the value of `gateway()`, `openrouter()`, … */
|
|
225
|
-
export type AssistantAdapter = AssistantGatewayAdapter | AssistantOpenRouterAdapter | AssistantLlmGatewayAdapter | AssistantInkeepAdapter | AssistantOpenAICompatibleAdapter;
|
|
377
|
+
/** Which backend answers the assistant: the value of `gateway()`, `openai()`, … */
|
|
378
|
+
export type AssistantAdapter = AssistantGatewayAdapter | AssistantOpenAIAdapter | AssistantAnthropicAdapter | AssistantGeminiAdapter | AssistantGrokAdapter | AssistantOpenRouterAdapter | AssistantLlmGatewayAdapter | AssistantInkeepAdapter;
|
|
226
379
|
/**
|
|
227
380
|
* Error params for `ai.assistant`: a 1.x flat provider field (`model`, `apiKeyEnv`,
|
|
228
381
|
* `baseUrl`, `headers`, `reasoning`) names the adapter call it moves into —
|
|
@@ -256,9 +409,11 @@ export declare const assistantAdapterSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
256
409
|
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
257
410
|
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
258
411
|
}, z.core.$strict>, z.ZodObject<{
|
|
259
|
-
kind: z.ZodLiteral<"
|
|
412
|
+
kind: z.ZodLiteral<"openai">;
|
|
260
413
|
options: z.ZodObject<{
|
|
414
|
+
baseUrl: z.ZodOptional<z.ZodURL>;
|
|
261
415
|
model: z.ZodString;
|
|
416
|
+
name: z.ZodOptional<z.ZodString>;
|
|
262
417
|
reasoning: z.ZodOptional<z.ZodEnum<{
|
|
263
418
|
none: "none";
|
|
264
419
|
minimal: "minimal";
|
|
@@ -274,9 +429,8 @@ export declare const assistantAdapterSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
274
429
|
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
275
430
|
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
276
431
|
}, z.core.$strict>, z.ZodObject<{
|
|
277
|
-
kind: z.ZodLiteral<"
|
|
432
|
+
kind: z.ZodLiteral<"anthropic">;
|
|
278
433
|
options: z.ZodObject<{
|
|
279
|
-
baseUrl: z.ZodDefault<z.ZodURL>;
|
|
280
434
|
model: z.ZodString;
|
|
281
435
|
reasoning: z.ZodOptional<z.ZodEnum<{
|
|
282
436
|
none: "none";
|
|
@@ -293,10 +447,35 @@ export declare const assistantAdapterSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
293
447
|
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
294
448
|
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
295
449
|
}, z.core.$strict>, z.ZodObject<{
|
|
296
|
-
kind: z.ZodLiteral<"
|
|
450
|
+
kind: z.ZodLiteral<"gemini">;
|
|
451
|
+
options: z.ZodObject<{
|
|
452
|
+
model: z.ZodString;
|
|
453
|
+
reasoning: z.ZodOptional<z.ZodEnum<{
|
|
454
|
+
none: "none";
|
|
455
|
+
minimal: "minimal";
|
|
456
|
+
low: "low";
|
|
457
|
+
medium: "medium";
|
|
458
|
+
high: "high";
|
|
459
|
+
xhigh: "xhigh";
|
|
460
|
+
}>>;
|
|
461
|
+
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
462
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
463
|
+
providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
464
|
+
}, z.core.$strict>;
|
|
465
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
466
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
467
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
468
|
+
kind: z.ZodLiteral<"grok">;
|
|
297
469
|
options: z.ZodObject<{
|
|
298
|
-
baseUrl: z.ZodDefault<z.ZodURL>;
|
|
299
470
|
model: z.ZodString;
|
|
471
|
+
reasoning: z.ZodOptional<z.ZodEnum<{
|
|
472
|
+
none: "none";
|
|
473
|
+
minimal: "minimal";
|
|
474
|
+
low: "low";
|
|
475
|
+
medium: "medium";
|
|
476
|
+
high: "high";
|
|
477
|
+
xhigh: "xhigh";
|
|
478
|
+
}>>;
|
|
300
479
|
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
301
480
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
302
481
|
providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
@@ -304,12 +483,9 @@ export declare const assistantAdapterSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
304
483
|
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
305
484
|
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
306
485
|
}, z.core.$strict>, z.ZodObject<{
|
|
307
|
-
kind: z.ZodLiteral<"
|
|
486
|
+
kind: z.ZodLiteral<"openrouter">;
|
|
308
487
|
options: z.ZodObject<{
|
|
309
|
-
apiKeyEnv: z.ZodString;
|
|
310
|
-
baseUrl: z.ZodURL;
|
|
311
488
|
model: z.ZodString;
|
|
312
|
-
name: z.ZodDefault<z.ZodString>;
|
|
313
489
|
reasoning: z.ZodOptional<z.ZodEnum<{
|
|
314
490
|
none: "none";
|
|
315
491
|
minimal: "minimal";
|
|
@@ -318,6 +494,37 @@ export declare const assistantAdapterSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
318
494
|
high: "high";
|
|
319
495
|
xhigh: "xhigh";
|
|
320
496
|
}>>;
|
|
497
|
+
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
498
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
499
|
+
providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
500
|
+
}, z.core.$strict>;
|
|
501
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
502
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
503
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
504
|
+
kind: z.ZodLiteral<"llmgateway">;
|
|
505
|
+
options: z.ZodObject<{
|
|
506
|
+
baseUrl: z.ZodDefault<z.ZodURL>;
|
|
507
|
+
model: z.ZodString;
|
|
508
|
+
reasoning: z.ZodOptional<z.ZodEnum<{
|
|
509
|
+
none: "none";
|
|
510
|
+
minimal: "minimal";
|
|
511
|
+
low: "low";
|
|
512
|
+
medium: "medium";
|
|
513
|
+
high: "high";
|
|
514
|
+
xhigh: "xhigh";
|
|
515
|
+
}>>;
|
|
516
|
+
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
517
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
518
|
+
providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
519
|
+
}, z.core.$strict>;
|
|
520
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
521
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
522
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
523
|
+
kind: z.ZodLiteral<"inkeep">;
|
|
524
|
+
options: z.ZodObject<{
|
|
525
|
+
baseUrl: z.ZodDefault<z.ZodURL>;
|
|
526
|
+
model: z.ZodString;
|
|
527
|
+
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
321
528
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
322
529
|
providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
323
530
|
}, z.core.$strict>;
|
|
@@ -357,6 +564,12 @@ export interface AskBackendTemplate {
|
|
|
357
564
|
export interface AskBackend {
|
|
358
565
|
/** Whether Blume grounds answers in the docs (Inkeep retrieves itself). */
|
|
359
566
|
grounded: boolean;
|
|
567
|
+
/**
|
|
568
|
+
* Whether the docs tools are on when `ai.assistant.tools` is unset: yes for
|
|
569
|
+
* the hosted model catalogs, whose models call tools, and no for an
|
|
570
|
+
* OpenAI-compatible backend, which may be a local model that can't.
|
|
571
|
+
*/
|
|
572
|
+
toolsByDefault: boolean;
|
|
360
573
|
kind: AssistantAdapterKind;
|
|
361
574
|
/** Human-readable adapter name for diagnostics ("AI Gateway"). */
|
|
362
575
|
label: string;
|
package/dist/types/ai/index.d.ts
CHANGED
|
@@ -19,6 +19,6 @@
|
|
|
19
19
|
* schema validates and the generated `/api/ask` route inlines as literals;
|
|
20
20
|
* nothing here runs at request time.
|
|
21
21
|
*/
|
|
22
|
-
export { gateway, inkeep, llmgateway, openaiCompatible, openrouter, } from "./ask.ts";
|
|
23
|
-
export type { AssistantAdapter, AssistantAdapterOptions, AssistantGatewayAdapter, AssistantGatewayOptions, AssistantInkeepAdapter, AssistantInkeepOptions, AssistantLlmGatewayAdapter, AssistantLlmGatewayOptions, AssistantOpenAICompatibleAdapter, AssistantOpenAICompatibleOptions, AssistantOpenRouterAdapter, AssistantOpenRouterOptions, AssistantProviderOptions, AssistantReasoning, } from "./ask.ts";
|
|
22
|
+
export { anthropic, gateway, gemini, grok, inkeep, llmgateway, openai, openaiCompatible, openrouter, } from "./ask.ts";
|
|
23
|
+
export type { AssistantAdapter, AssistantAdapterOptions, AssistantAnthropicAdapter, AssistantAnthropicOptions, AssistantGatewayAdapter, AssistantGatewayOptions, AssistantGeminiAdapter, AssistantGeminiOptions, AssistantGrokAdapter, AssistantGrokOptions, AssistantInkeepAdapter, AssistantInkeepOptions, AssistantLlmGatewayAdapter, AssistantLlmGatewayOptions, AssistantOpenAIAdapter, AssistantOpenAICompatibleAdapter, AssistantOpenAICompatibleOptions, AssistantOpenAIOptions, AssistantOpenRouterAdapter, AssistantOpenRouterOptions, AssistantProviderOptions, AssistantReasoning, } from "./ask.ts";
|
|
24
24
|
export type { AdapterDescriptor } from "../core/adapter.ts";
|
|
@@ -20,5 +20,12 @@ import type { ResolvedConfig } from "../core/schema.ts";
|
|
|
20
20
|
* headers. Targets are
|
|
21
21
|
* root-relative under `deployment.base` — RFC 8288 resolves them against the
|
|
22
22
|
* request URL. Returns null when nothing is advertisable.
|
|
23
|
+
*
|
|
24
|
+
* `surface` is where the header is sent. A deployed site (`"build"`) serves
|
|
25
|
+
* every target. The dev server (`"dev"`) serves the routes — the JSON API's
|
|
26
|
+
* OpenAPI document and the Markdown mirror — but not the files `blume build`
|
|
27
|
+
* writes after the build (the API and AI catalogs, `agent-readability.json`,
|
|
28
|
+
* `llms.txt`), so its header leaves those out rather than point agents at
|
|
29
|
+
* 404s.
|
|
23
30
|
*/
|
|
24
|
-
export declare const buildHomeLinkHeader: (config: ResolvedConfig, routePaths: readonly string[]) => string | null;
|
|
31
|
+
export declare const buildHomeLinkHeader: (config: ResolvedConfig, routePaths: readonly string[], surface?: "build" | "dev") => string | null;
|
|
@@ -23,9 +23,12 @@ import type { OpenApiData } from "../openapi/model.ts";
|
|
|
23
23
|
* endpoint and what it does is the part that was missing altogether.
|
|
24
24
|
*
|
|
25
25
|
* `specs` is the parsed `blume:openapi` data — empty when the project has no
|
|
26
|
-
* API reference, in which case every serializer declines.
|
|
26
|
+
* API reference, in which case every serializer declines. `deployBase` is the
|
|
27
|
+
* configured `deployment.base`: operation routes carry `basePath` but not it,
|
|
28
|
+
* and the links written here are made after the agent surfaces rebase the
|
|
29
|
+
* page's own links, so they take it here, as the rendered page's do.
|
|
27
30
|
*/
|
|
28
|
-
export declare const openapiComponentSerializers: (specs: OpenApiData) => {
|
|
31
|
+
export declare const openapiComponentSerializers: (specs: OpenApiData, deployBase?: string) => {
|
|
29
32
|
/**
|
|
30
33
|
* The spec-level block at the top of the overview page: its version and
|
|
31
34
|
* where the API lives. The tag sections that follow are real Markdown
|
|
@@ -6,14 +6,16 @@ import type { BlumeProject } from "../core/project-graph.ts";
|
|
|
6
6
|
* link lands on `/install`; the rendered page rewrites it to the route it
|
|
7
7
|
* means (`markdown/relative-links.ts`), and the Markdown an agent reads gets
|
|
8
8
|
* the same rewrite from the same resolver (`resolveRelativeHref`), so both
|
|
9
|
-
* point at one page. Root-relative
|
|
10
|
-
* `<Card href="/guide"
|
|
11
|
-
*
|
|
12
|
-
* `components/content/base-href.ts`)
|
|
9
|
+
* point at one page. Root-relative links (`[x](/guide)`,
|
|
10
|
+
* `<Card href="/guide">`, ``) get what the rendered page
|
|
11
|
+
* gives them too (`markdown/base-links.ts`,
|
|
12
|
+
* `components/content/base-href.ts`): a page link the `deployment.base` +
|
|
13
|
+
* `basePath` prefix, a public file (`/spec.pdf`) or image the
|
|
14
|
+
* `deployment.base` alone, and, on a page in a prefixed locale, a page link
|
|
13
15
|
* that locale's copy of the route when it is served
|
|
14
|
-
* (`components/layout/LocaleLinks.astro`). Inline links, component
|
|
15
|
-
* and reference definitions are rewritten; fenced and inline code,
|
|
16
|
-
* asset links, and external URLs are left as written.
|
|
16
|
+
* (`components/layout/LocaleLinks.astro`). Inline links, images, component
|
|
17
|
+
* `href`s, and reference definitions are rewritten; fenced and inline code,
|
|
18
|
+
* relative images and asset links, and external URLs are left as written.
|
|
17
19
|
*/
|
|
18
20
|
/** The page a Markdown text was written for. */
|
|
19
21
|
export interface LinkedPage {
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { BlumeProject } from "../core/project-graph.ts";
|
|
2
|
+
import type { SkillArtifact } from "./skills.ts";
|
|
3
|
+
/**
|
|
4
|
+
* The site's own agent skill (`agents.skillMd`): a `SKILL.md` in the Agent
|
|
5
|
+
* Skills format, built from what the build already knows — the site's title
|
|
6
|
+
* and description, how to read any page as Markdown, llms.txt and the MCP
|
|
7
|
+
* server, the API references, and a map of the docs with each page's one-line
|
|
8
|
+
* description. No model writes it, so it costs nothing and is current with
|
|
9
|
+
* every build: a guide to the docs rather than a summary of the product. A
|
|
10
|
+
* hand-written skill of the same name in `agents.skills` replaces it.
|
|
11
|
+
*/
|
|
12
|
+
/** The most pages the map lists; llms.txt holds the rest. */
|
|
13
|
+
export declare const MAX_SKILL_PAGES = 200;
|
|
14
|
+
/** Where the site skill is served besides the discovery index. */
|
|
15
|
+
export declare const SKILL_MD_PATH = "/skill.md";
|
|
16
|
+
/**
|
|
17
|
+
* The site skill's name: the title as a skill name (lowercase alphanumerics
|
|
18
|
+
* and single hyphens), else the site's host, for a title with no Latin
|
|
19
|
+
* letters in it.
|
|
20
|
+
*/
|
|
21
|
+
export declare const siteSkillName: (project: BlumeProject) => string;
|
|
22
|
+
/**
|
|
23
|
+
* The generated site skill, or `null` when `agents.skillMd` is off or there
|
|
24
|
+
* is no `deployment.site` to make its links absolute.
|
|
25
|
+
*/
|
|
26
|
+
export declare const buildSiteSkill: (project: BlumeProject) => SkillArtifact | null;
|
|
@@ -10,6 +10,8 @@ import type { ResolvedConfig } from "../core/schema.ts";
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const AGENT_SKILLS_DIR = "/.well-known/agent-skills";
|
|
12
12
|
export declare const AGENT_SKILLS_INDEX_PATH = "/.well-known/agent-skills/index.json";
|
|
13
|
+
/** The Agent Skills spec caps `description` at 1024 characters. */
|
|
14
|
+
export declare const SKILL_DESCRIPTION_MAX = 1024;
|
|
13
15
|
/** One publishable skill artifact plus its index entry. */
|
|
14
16
|
export interface SkillArtifact {
|
|
15
17
|
/** Raw bytes to publish (the digest is computed over exactly these). */
|
|
@@ -32,9 +34,26 @@ export interface CollectedSkills {
|
|
|
32
34
|
* hold a `SKILL.md` (the layout `npx skills add` consumes). Subdirectories
|
|
33
35
|
* without one are ignored silently — the directory may hold other assets —
|
|
34
36
|
* while a present-but-invalid skill earns a warning so it isn't dropped
|
|
35
|
-
* behind the publisher's back.
|
|
37
|
+
* behind the publisher's back. Two directories declaring the same `name`
|
|
38
|
+
* would publish to the same artifact path under two index entries, so the
|
|
39
|
+
* first directory in sorted order keeps the name and the other is skipped
|
|
40
|
+
* with a warning naming both.
|
|
36
41
|
*/
|
|
37
42
|
export declare const collectSkills: (dir: string) => Promise<CollectedSkills>;
|
|
43
|
+
/** A skill that is one `SKILL.md`, published verbatim. */
|
|
44
|
+
export declare const skillMdArtifact: (name: string, description: string, markdown: string) => SkillArtifact;
|
|
45
|
+
/**
|
|
46
|
+
* Whether the build generates the site's own skill (`agents.skillMd`): on,
|
|
47
|
+
* and with a `deployment.site` to make its links absolute, since an installed
|
|
48
|
+
* skill is read away from the site.
|
|
49
|
+
*/
|
|
50
|
+
export declare const generatesSiteSkill: (config: ResolvedConfig) => boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Whether a skills discovery index is served: from `agents.skills`, or for
|
|
53
|
+
* the generated site skill alone. On an advertised config (see
|
|
54
|
+
* `advertisedConfig`), both are already switched off when nothing published.
|
|
55
|
+
*/
|
|
56
|
+
export declare const servesSkillsIndex: (config: ResolvedConfig) => boolean;
|
|
38
57
|
/**
|
|
39
58
|
* The discovery index (v0.2.0 schema). Artifact URLs are path-absolute under
|
|
40
59
|
* `deployment.base` — the RFC resolves them against the index origin.
|
package/dist/types/ai/tar.d.ts
CHANGED
|
@@ -18,8 +18,6 @@ export interface TarEntry {
|
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Build a gzipped ustar archive of the given files, in the given order. Paths
|
|
21
|
-
*
|
|
22
|
-
* surface a programming error — nanotar would silently truncate an oversized
|
|
23
|
-
* name into a corrupt archive, so the validation stays here.
|
|
21
|
+
* escaping the archive root throw to surface a programming error.
|
|
24
22
|
*/
|
|
25
23
|
export declare const buildTarGz: (entries: readonly TarEntry[]) => Uint8Array;
|
|
@@ -48,6 +48,8 @@ export { logrocket } from "./logrocket.ts";
|
|
|
48
48
|
export type { LogrocketAdapter, LogrocketOptions } from "./logrocket.ts";
|
|
49
49
|
export { mixpanel } from "./mixpanel.ts";
|
|
50
50
|
export type { MixpanelAdapter, MixpanelOptions, MixpanelRegion, } from "./mixpanel.ts";
|
|
51
|
+
export { oneDollarStats } from "./one-dollar-stats.ts";
|
|
52
|
+
export type { OneDollarStatsAdapter, OneDollarStatsOptions, } from "./one-dollar-stats.ts";
|
|
51
53
|
export { pirsch } from "./pirsch.ts";
|
|
52
54
|
export type { PirschAdapter, PirschOptions } from "./pirsch.ts";
|
|
53
55
|
export { plausible } from "./plausible.ts";
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AdapterDescriptor } from "../core/adapter.ts";
|
|
3
|
+
import type { HeadScript } from "./head.ts";
|
|
4
|
+
/** The script OneDollarStats' install snippet loads. */
|
|
5
|
+
export declare const ONE_DOLLAR_STATS_SCRIPT_SRC = "https://assets.onedollarstats.com/stonks.js";
|
|
6
|
+
/** The options {@link oneDollarStats} checks itself. */
|
|
7
|
+
export interface OneDollarStatsNamedOptions {
|
|
8
|
+
/**
|
|
9
|
+
* A bare host name, e.g. `docs.example.com`. The tracker reports every
|
|
10
|
+
* event under it on every host, not just `localhost`.
|
|
11
|
+
*/
|
|
12
|
+
hostname?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Options for {@link oneDollarStats}: any tracker setting, forwarded as a
|
|
16
|
+
* `data-` attribute on the tag (`hostname` → `data-hostname`, `devmode`,
|
|
17
|
+
* `url`, `autocollect`, `"hash-routing"`, …).
|
|
18
|
+
*/
|
|
19
|
+
export type OneDollarStatsOptions = OneDollarStatsNamedOptions & {
|
|
20
|
+
[setting: string]: string;
|
|
21
|
+
};
|
|
22
|
+
export declare const oneDollarStatsOptionsSchema: z.ZodObject<{
|
|
23
|
+
hostname: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.core.$catchall<z.ZodString>>;
|
|
25
|
+
export type OneDollarStatsAdapter = AdapterDescriptor<"one-dollar-stats", OneDollarStatsOptions>;
|
|
26
|
+
export declare const oneDollarStatsAdapterSchema: z.ZodObject<{
|
|
27
|
+
kind: z.ZodLiteral<"one-dollar-stats">;
|
|
28
|
+
options: z.ZodObject<{
|
|
29
|
+
hostname: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, z.core.$catchall<z.ZodString>>;
|
|
31
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
32
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
33
|
+
}, z.core.$strict>;
|
|
34
|
+
/**
|
|
35
|
+
* OneDollarStats. Needs no keys — the dashboard matches events to a site by
|
|
36
|
+
* the domain they come from.
|
|
37
|
+
*/
|
|
38
|
+
export declare const oneDollarStats: (options?: OneDollarStatsOptions) => OneDollarStatsAdapter;
|
|
39
|
+
/**
|
|
40
|
+
* The deferred tag from the install instructions, with every option as its
|
|
41
|
+
* own `data-` attribute. The tracker reads them from `document.currentScript`,
|
|
42
|
+
* so the tag stays a classic external script. It hooks `pushState` and
|
|
43
|
+
* `popstate` itself, so client-router navigations need no extra hook.
|
|
44
|
+
*
|
|
45
|
+
* The tracker turns hash routing on whenever `data-hash-routing` is present,
|
|
46
|
+
* whatever its value, so `"hash-routing": "false"` leaves the attribute off.
|
|
47
|
+
*/
|
|
48
|
+
export declare const oneDollarStatsHead: (options: OneDollarStatsOptions) => HeadScript[];
|
|
@@ -106,6 +106,13 @@ export declare const analyticsAdapterSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
106
106
|
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
107
107
|
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
108
108
|
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
109
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
110
|
+
kind: z.ZodLiteral<"one-dollar-stats">;
|
|
111
|
+
options: z.ZodObject<{
|
|
112
|
+
hostname: z.ZodOptional<z.ZodString>;
|
|
113
|
+
}, z.core.$catchall<z.ZodString>>;
|
|
114
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
115
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
109
116
|
}, z.core.$strict>, z.ZodObject<{
|
|
110
117
|
kind: z.ZodLiteral<"pirsch">;
|
|
111
118
|
options: z.ZodObject<{
|
|
@@ -275,6 +282,13 @@ export declare const analyticsConfigSchema: z.ZodDefault<z.ZodArray<z.ZodDiscrim
|
|
|
275
282
|
}, z.core.$catchall<z.ZodJSONSchema>>;
|
|
276
283
|
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
277
284
|
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
285
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
286
|
+
kind: z.ZodLiteral<"one-dollar-stats">;
|
|
287
|
+
options: z.ZodObject<{
|
|
288
|
+
hostname: z.ZodOptional<z.ZodString>;
|
|
289
|
+
}, z.core.$catchall<z.ZodString>>;
|
|
290
|
+
requiredSecrets: z.ZodArray<z.ZodString>;
|
|
291
|
+
runtimeDeps: z.ZodArray<z.ZodString>;
|
|
278
292
|
}, z.core.$strict>, z.ZodObject<{
|
|
279
293
|
kind: z.ZodLiteral<"pirsch">;
|
|
280
294
|
options: z.ZodObject<{
|