@shoalrun/cli 0.1.0-alpha.16 → 0.1.0-alpha.18
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/AUTHORING.md +29 -0
- package/CHANGELOG.md +40 -0
- package/DEPLOYMENT-PROFILES.md +96 -5
- package/README.md +59 -3
- package/agent-docs/.well-known/shoalrun/navigation/project-updates-50f26fe22670.txt +21 -17
- package/agent-docs/SNAPSHOT.json +5 -5
- package/agent-docs/api-docs/focused-contracts.md +4 -4
- package/agent-docs/api-docs/generate.md +11 -11
- package/agent-docs/api-docs/generate.sections/add-useful-examples.md +3 -3
- package/agent-docs/api-docs/generate.sections/choose-generated-references-or-mdx.md +4 -4
- package/agent-docs/api-docs/generate.sections/describe-filters-that-do-not-use-their-openapi-parameter-name.md +1 -1
- package/agent-docs/api-docs/generate.sections/generate-many-pages-selectively.md +2 -2
- package/agent-docs/api-docs/generate.sections/link-guides-to-api-references.md +1 -1
- package/agent-docs/api-docs/generate.sections/map-extension-values-to-shoalrun-status.md +1 -1
- package/agent-docs/api-docs/generate.sections/override-generated-reference-order-in-navigation.md +4 -4
- package/agent-docs/api-docs/generate.sections/related-reading.md +1 -1
- package/agent-docs/api-docs/generate.sections/use-a-template-for-editorial-context.md +2 -2
- package/agent-docs/api-docs/support.md +7 -7
- package/agent-docs/author/add-page.md +3 -3
- package/agent-docs/author/agent-overview.md +3 -3
- package/agent-docs/author/agent-workflow.md +7 -7
- package/agent-docs/author/analytics.md +27 -27
- package/agent-docs/author/analytics.sections/adapter-exports-and-consent.md +3 -3
- package/agent-docs/author/analytics.sections/built-in-events.md +15 -15
- package/agent-docs/author/analytics.sections/configure-an-adapter.md +1 -1
- package/agent-docs/author/analytics.sections/custom-interactions.md +2 -2
- package/agent-docs/author/analytics.sections/event-format.md +2 -2
- package/agent-docs/author/analytics.sections/html-markdown-and-agents.md +4 -4
- package/agent-docs/author/analytics.sections/inspect-events-locally.md +2 -2
- package/agent-docs/author/analytics.sections/map-events-to-your-service.md +3 -3
- package/agent-docs/author/analytics.sections/posthog-example.md +3 -3
- package/agent-docs/author/analytics.sections/related-reading.md +1 -1
- package/agent-docs/author/authoring-agent.md +3 -3
- package/agent-docs/author/coding-agent.md +4 -4
- package/agent-docs/author/components/api-embeds.md +6 -6
- package/agent-docs/author/components/api-embeds.sections/apiexample.md +3 -3
- package/agent-docs/author/components/api-embeds.sections/html-markdown-and-agents.md +1 -1
- package/agent-docs/author/components/api-embeds.sections/related-reading.md +1 -1
- package/agent-docs/author/components/badge.md +2 -2
- package/agent-docs/author/components/callout.md +2 -2
- package/agent-docs/author/components/cards.md +16 -16
- package/agent-docs/author/components/cards.sections/add-a-lucide-icon.md +4 -4
- package/agent-docs/author/components/cards.sections/build-a-collection.md +7 -7
- package/agent-docs/author/components/cards.sections/curate-a-reading-list.md +9 -9
- package/agent-docs/author/components/cards.sections/html-markdown-and-agents.md +3 -3
- package/agent-docs/author/components/cards.sections/link-to-one-document.md +3 -3
- package/agent-docs/author/components/cards.sections/override-card-text.md +5 -5
- package/agent-docs/author/components/cards.sections/related-reading.md +3 -3
- package/agent-docs/author/components/code-blocks.md +2 -2
- package/agent-docs/author/components/collapsible.md +3 -3
- package/agent-docs/author/components/cookbook-chooser.md +5 -5
- package/agent-docs/author/components/custom/react.md +8 -8
- package/agent-docs/author/components/custom/react.sections/html-markdown-and-agents.md +3 -3
- package/agent-docs/author/components/custom/react.sections/interactive-react-example.md +2 -2
- package/agent-docs/author/components/custom/react.sections/registration.md +1 -1
- package/agent-docs/author/components/custom/react.sections/related-reading.md +1 -1
- package/agent-docs/author/components/custom/react.sections/share-the-model-with-the-browser.md +3 -3
- package/agent-docs/author/components/custom/react.sections/where-the-content-lives.md +3 -3
- package/agent-docs/author/components/custom.md +7 -7
- package/agent-docs/author/components/definition-list.md +2 -2
- package/agent-docs/author/components/diagrams/d2-gallery.md +2 -2
- package/agent-docs/author/components/diagrams/d2-gallery.sections/basic-shapes.md +2 -2
- package/agent-docs/author/components/diagrams/d2-gallery.sections/flows-and-structures.md +2 -2
- package/agent-docs/author/components/diagrams/d2-gallery.sections/html-markdown-and-agents.md +2 -2
- package/agent-docs/author/components/diagrams/d2-gallery.sections/layout-engines.md +2 -2
- package/agent-docs/author/components/diagrams/d2-gallery.sections/related-reading.md +2 -2
- package/agent-docs/author/components/diagrams/d2-gallery.sections/sequences-and-grids.md +2 -2
- package/agent-docs/author/components/diagrams/d2-gallery.sections/styles-and-code.md +2 -2
- package/agent-docs/author/components/diagrams/pele-gallery.md +3 -3
- package/agent-docs/author/components/diagrams/pele-gallery.sections/charts-and-planning.md +2 -2
- package/agent-docs/author/components/diagrams/pele-gallery.sections/flowchart-shapes.md +2 -2
- package/agent-docs/author/components/diagrams/pele-gallery.sections/flows-and-behavior.md +2 -2
- package/agent-docs/author/components/diagrams/pele-gallery.sections/html-markdown-and-agents.md +3 -3
- package/agent-docs/author/components/diagrams/pele-gallery.sections/related-reading.md +2 -2
- package/agent-docs/author/components/diagrams/pele-gallery.sections/specialized-diagrams.md +2 -2
- package/agent-docs/author/components/diagrams/pele-gallery.sections/systems-and-structures.md +2 -2
- package/agent-docs/author/components/diagrams.md +8 -8
- package/agent-docs/author/components/doc-link.md +3 -3
- package/agent-docs/author/components/fields.md +18 -18
- package/agent-docs/author/components/file-tree.md +2 -2
- package/agent-docs/author/components/images.md +5 -5
- package/agent-docs/author/components/info-hint.md +3 -3
- package/agent-docs/author/components/kbd.md +2 -2
- package/agent-docs/author/components/math.md +2 -2
- package/agent-docs/author/components/only.md +3 -3
- package/agent-docs/author/components/progress.md +3 -3
- package/agent-docs/author/components/steps.md +2 -2
- package/agent-docs/author/components/tables.md +2 -2
- package/agent-docs/author/components/tabs.md +5 -5
- package/agent-docs/author/components/timeline.md +2 -2
- package/agent-docs/author/components/tooltips.md +2 -2
- package/agent-docs/author/components/walkthroughs.md +2 -2
- package/agent-docs/author/components/walkthroughs.sections/attributes.md +1 -1
- package/agent-docs/author/components/walkthroughs.sections/build-up-code.md +1 -1
- package/agent-docs/author/components/walkthroughs.sections/choose-a-layout.md +2 -2
- package/agent-docs/author/components/walkthroughs.sections/explain-one-file.md +1 -1
- package/agent-docs/author/components/walkthroughs.sections/html-markdown-and-agents.md +1 -1
- package/agent-docs/author/components/walkthroughs.sections/related-reading.md +1 -1
- package/agent-docs/author/components/walkthroughs.sections/syntax.md +1 -1
- package/agent-docs/author/components/walkthroughs.sections/take-code-from-a-file.md +1 -1
- package/agent-docs/author/components.md +2 -2
- package/agent-docs/author/content.md +3 -3
- package/agent-docs/author/cookbooks.md +9 -9
- package/agent-docs/author/css.md +4 -4
- package/agent-docs/author/css.sections/borders-fields-and-navigation-tokens.md +3 -3
- package/agent-docs/author/css.sections/core-color-tokens.md +3 -3
- package/agent-docs/author/css.sections/html-markdown-and-agents.md +4 -4
- package/agent-docs/author/css.sections/page-attributes.md +3 -3
- package/agent-docs/author/css.sections/page-transitions.md +3 -3
- package/agent-docs/author/css.sections/responsive-behavior.md +3 -3
- package/agent-docs/author/css.sections/status-code-and-callout-tokens.md +3 -3
- package/agent-docs/author/css.sections/typography-shape-and-width-tokens.md +3 -3
- package/agent-docs/author/custom-metadata.md +13 -13
- package/agent-docs/author/custom-metadata.sections/add-a-custom-page-field.md +4 -4
- package/agent-docs/author/custom-metadata.sections/choose-text-for-each-surface.md +3 -3
- package/agent-docs/author/custom-metadata.sections/preview-changes-to-metadata-providers.md +2 -2
- package/agent-docs/author/custom-metadata.sections/read-metadata-from-a-project-module.md +3 -3
- package/agent-docs/author/custom-metadata.sections/related-reading.md +1 -1
- package/agent-docs/author/design-templates.md +3 -3
- package/agent-docs/author/design-writing-guides.md +3 -3
- package/agent-docs/author/frontmatter-reference.md +59 -16
- package/agent-docs/author/frontmatter-reference.sections/categorize-connect-and-present-the-page.md +64 -0
- package/agent-docs/author/frontmatter-reference.sections/choose-a-publication-and-visibility.md +14 -12
- package/agent-docs/author/frontmatter-reference.sections/control-output-details.md +2 -2
- package/agent-docs/author/frontmatter-reference.sections/feature-availability.md +59 -0
- package/agent-docs/author/frontmatter-reference.sections/global-defaults-and-enforced-values.md +2 -2
- package/agent-docs/author/frontmatter-reference.sections/html-markdown-and-agents.md +3 -3
- package/agent-docs/author/frontmatter-reference.sections/identify-and-route-a-page.md +2 -2
- package/agent-docs/author/frontmatter-reference.sections/point-agents-to-it.md +2 -2
- package/agent-docs/author/frontmatter-reference.sections/product-publication-fields.md +37 -0
- package/agent-docs/author/frontmatter-reference.sections/project-defined-fields.md +2 -2
- package/agent-docs/author/frontmatter-reference.sections/related-reading.md +2 -2
- package/agent-docs/author/frontmatter-reference.sections/use-the-local-files-while-authoring.md +4 -4
- package/agent-docs/author/frontmatter-reference.sections/when-the-files-update.md +2 -2
- package/agent-docs/author/frontmatter.md +13 -13
- package/agent-docs/author/frontmatter.sections/audience-badges.md +3 -3
- package/agent-docs/author/frontmatter.sections/give-deprecation-guidance.md +4 -4
- package/agent-docs/author/frontmatter.sections/global-defaults-and-enforced-values.md +1 -1
- package/agent-docs/author/frontmatter.sections/optional-native-fields.md +4 -4
- package/agent-docs/author/frontmatter.sections/publication-fields.md +2 -2
- package/agent-docs/author/frontmatter.sections/publishing-policy.md +1 -1
- package/agent-docs/author/frontmatter.sections/related-metadata-tasks.md +1 -1
- package/agent-docs/author/frontmatter.sections/related-reading.md +1 -1
- package/agent-docs/author/frontmatter.sections/required-after-inheritance.md +1 -1
- package/agent-docs/author/frontmatter.sections/seo-fields.md +2 -2
- package/agent-docs/author/frontmatter.sections/validation-rules.md +3 -3
- package/agent-docs/author/markdown-metadata.md +20 -20
- package/agent-docs/author/navigation.md +12 -12
- package/agent-docs/author/navigation.sections/arrange-authored-pages.md +4 -4
- package/agent-docs/author/navigation.sections/fill-an-api-tag-group.md +2 -2
- package/agent-docs/author/navigation.sections/hide-group-page-counts.md +4 -4
- package/agent-docs/author/navigation.sections/html-markdown-and-agents.md +4 -4
- package/agent-docs/author/navigation.sections/local-api-preview.md +2 -2
- package/agent-docs/author/navigation.sections/mix-guides-and-api-references.md +3 -3
- package/agent-docs/author/navigation.sections/optionally-split-a-large-menu-into-files.md +2 -2
- package/agent-docs/author/navigation.sections/reach-navigation-while-reading.md +2 -2
- package/agent-docs/author/navigation.sections/related-reading.md +2 -2
- package/agent-docs/author/navigation.sections/split-navigation-into-tabs.md +4 -4
- package/agent-docs/author/navigation.sections/subject-lifecycle-labels.md +3 -3
- package/agent-docs/author/reader-views.md +9 -9
- package/agent-docs/author/reader-views.sections/configure-the-choices.md +2 -2
- package/agent-docs/author/reader-views.sections/connect-your-own-control.md +1 -1
- package/agent-docs/author/reader-views.sections/how-it-works-for-agents.md +3 -3
- package/agent-docs/author/reader-views.sections/mark-pages.md +3 -3
- package/agent-docs/author/reader-views.sections/mark-sections-and-add-an-entry-choice.md +2 -2
- package/agent-docs/author/reader-views.sections/place-filter-controls.md +2 -2
- package/agent-docs/author/reader-views.sections/try-the-controls-here.md +2 -2
- package/agent-docs/author/recipe-drafts.md +5 -5
- package/agent-docs/author/recipe-drafts.sections/1-write-one-reusable-step.md +2 -2
- package/agent-docs/author/recipe-drafts.sections/2-list-the-steps-for-one-complete-goal.md +2 -2
- package/agent-docs/author/recipe-drafts.sections/3-generate-a-draft-and-review-it.md +1 -1
- package/agent-docs/author/recipe-drafts.sections/4-maintain-shoalrun-s-published-recipe-snapshots.md +2 -2
- package/agent-docs/author/recipe-drafts.sections/related-reading.md +1 -1
- package/agent-docs/author/recipe-drafts.sections/start-an-ingredient-from-an-api-example.md +2 -2
- package/agent-docs/author/recipes.md +9 -9
- package/agent-docs/author/recipes.sections/how-agents-use-this.md +3 -3
- package/agent-docs/author/recipes.sections/one-example-from-shoalrun.md +3 -3
- package/agent-docs/author/recipes.sections/related-reading.md +2 -2
- package/agent-docs/author/recipes.sections/try-a-complete-workflow.md +3 -3
- package/agent-docs/author/recipes.sections/use-recipes-for-task-oriented-how-tos.md +4 -4
- package/agent-docs/author/recipes.sections/what-changing-an-ingredient-updates.md +3 -3
- package/agent-docs/author/recipes.sections/what-each-file-does.md +2 -2
- package/agent-docs/author/recipes.sections/what-happens-and-when.md +3 -3
- package/agent-docs/author/related-reading.md +11 -11
- package/agent-docs/author/related-reading.sections/automatic-footers.md +3 -3
- package/agent-docs/author/related-reading.sections/declare-relationships.md +3 -3
- package/agent-docs/author/related-reading.sections/display-related-documents.md +3 -3
- package/agent-docs/author/related-reading.sections/html-markdown-and-agents.md +1 -1
- package/agent-docs/author/related-reading.sections/inspect-output-and-changes.md +2 -2
- package/agent-docs/author/related-reading.sections/reading-paths-in-section-markdown.md +3 -3
- package/agent-docs/author/related-reading.sections/related-reading.md +1 -1
- package/agent-docs/author/related-reading.sections/where-relationship-explanations-come-from.md +2 -2
- package/agent-docs/author/release-notes.md +8 -8
- package/agent-docs/author/search.md +82 -29
- package/agent-docs/author/search.sections/agent-and-mcp-search-scope.md +52 -0
- package/agent-docs/author/search.sections/choose-a-provider.md +8 -7
- package/agent-docs/author/search.sections/cli-and-mcp-ranking-details.md +4 -4
- package/agent-docs/author/search.sections/enable-included-semantic-search.md +66 -0
- package/agent-docs/author/search.sections/hosted-semantic-search-limits.md +3 -3
- package/agent-docs/author/search.sections/html-markdown-and-agents.md +3 -3
- package/agent-docs/author/search.sections/lexical-search.md +6 -6
- package/agent-docs/author/search.sections/local-semantic-preview.md +3 -3
- package/agent-docs/author/search.sections/read-a-search-result-with-an-agent.md +2 -2
- package/agent-docs/author/search.sections/related-reading.md +2 -2
- package/agent-docs/author/search.sections/reuse-the-lexical-index.md +5 -5
- package/agent-docs/author/search.sections/turn-search-off.md +3 -3
- package/agent-docs/author/search.sections/use-the-search-box.md +2 -2
- package/agent-docs/author/search.sections/write-a-custom-provider.md +11 -11
- package/agent-docs/author/snippets.md +3 -3
- package/agent-docs/author/taxonomy.md +3 -3
- package/agent-docs/author/templates.md +16 -14
- package/agent-docs/author/templates.sections/built-in-feature-templates.md +2 -2
- package/agent-docs/author/templates.sections/built-in-templates.md +2 -2
- package/agent-docs/author/templates.sections/choose-formatting-enforcement-for-your-project.md +7 -7
- package/agent-docs/author/templates.sections/create-or-edit-a-project-template.md +8 -6
- package/agent-docs/author/templates.sections/keep-the-four-shapes-distinct.md +2 -2
- package/agent-docs/author/templates.sections/project-added-templates.md +3 -3
- package/agent-docs/author/templates.sections/related-reading.md +2 -2
- package/agent-docs/author/templates.sections/scaffold-a-page.md +2 -2
- package/agent-docs/author/templates.sections/short-cli-and-derived-values.md +3 -3
- package/agent-docs/author/templates.sections/what-every-template-gives-you.md +3 -3
- package/agent-docs/author/workspace/commands.md +4 -4
- package/agent-docs/author/workspace.md +7 -7
- package/agent-docs/author/writing-style.md +33 -18
- package/agent-docs/author/writing-style.sections/adapt-this-example.md +2 -2
- package/agent-docs/author/writing-style.sections/choose-components-by-reader-need.md +3 -3
- package/agent-docs/author/writing-style.sections/evidence-and-uncertainty.md +4 -4
- package/agent-docs/author/writing-style.sections/example-audience-and-scope.md +2 -2
- package/agent-docs/author/writing-style.sections/feature-availability.md +20 -7
- package/agent-docs/author/writing-style.sections/ingredients-recipes-and-cookbooks.md +5 -5
- package/agent-docs/author/writing-style.sections/page-purpose-and-structure.md +4 -4
- package/agent-docs/author/writing-style.sections/procedures-and-examples.md +4 -4
- package/agent-docs/author/writing-style.sections/related-reading.md +2 -2
- package/agent-docs/author/writing-style.sections/review-a-draft.md +3 -3
- package/agent-docs/author/writing-style.sections/reviewed-writing-examples.md +2 -2
- package/agent-docs/author/writing-style.sections/voice-and-explanations.md +4 -2
- package/agent-docs/changelog/2026-10-14-agent-readiness.md +2 -2
- package/agent-docs/changelog/2026-10-15-evaluation-builds.md +9 -9
- package/agent-docs/changelog/2026-10-16-navigation-layouts.md +4 -4
- package/agent-docs/changelog/2026-10-17-mcp-hosting.md +2 -2
- package/agent-docs/changelog/2026-10-18-search-and-tooltips.md +3 -3
- package/agent-docs/changelog/2026-10-19-visual-navigation.md +3 -3
- package/agent-docs/changelog/2026-10-25.md +2 -2
- package/agent-docs/changelog/2026-10-26.md +4 -4
- package/agent-docs/changelog/2026-10-27.md +1 -1
- package/agent-docs/changelog/2026-10-28.md +3 -3
- package/agent-docs/changelog/2026-10-30.md +1 -1
- package/agent-docs/changelog/2026-11-03.md +5 -5
- package/agent-docs/changelog/2026-11-04-runtime-packaging.md +46 -0
- package/agent-docs/changelog/authoring-preview.md +3 -3
- package/agent-docs/changelog/authoring-search.md +1 -1
- package/agent-docs/changelog/authoring-tools.md +2 -2
- package/agent-docs/changelog/product-publications.md +60 -0
- package/agent-docs/changelog/working-tree-skill.md +1 -1
- package/agent-docs/changelog.md +17 -1
- package/agent-docs/chat/checks.md +11 -11
- package/agent-docs/chat/checks.sections/answer-ahead-of-time.md +1 -1
- package/agent-docs/chat/checks.sections/answer-for-one-audience.md +2 -2
- package/agent-docs/chat/checks.sections/answer-without-a-model.md +2 -2
- package/agent-docs/chat/checks.sections/follow-up-questions.md +2 -2
- package/agent-docs/chat/checks.sections/how-an-answer-is-checked.md +3 -3
- package/agent-docs/chat/checks.sections/questions-with-several-parts.md +3 -3
- package/agent-docs/chat/checks.sections/related-reading.md +1 -1
- package/agent-docs/chat/checks.sections/reuse-answers.md +4 -4
- package/agent-docs/chat/host.md +8 -8
- package/agent-docs/chat/host.sections/cap-the-daily-spend.md +2 -2
- package/agent-docs/chat/host.sections/keep-a-record-of-questions.md +3 -3
- package/agent-docs/chat/host.sections/related-reading.md +2 -2
- package/agent-docs/chat/passage-index.md +31 -27
- package/agent-docs/chat/passage-index.sections/build-the-index.md +3 -3
- package/agent-docs/chat/passage-index.sections/embed-passages.md +4 -4
- package/agent-docs/chat/passage-index.sections/how-the-default-chunker-splits-a-page.md +3 -3
- package/agent-docs/chat/passage-index.sections/limits.md +3 -3
- package/agent-docs/chat/passage-index.sections/passage-ids-and-links.md +14 -10
- package/agent-docs/chat/passage-index.sections/related-reading.md +3 -3
- package/agent-docs/chat/passage-index.sections/what-a-passage-contains.md +19 -19
- package/agent-docs/chat/prepared-answers.md +4 -4
- package/agent-docs/chat/settings.md +3 -3
- package/agent-docs/chat/settings.sections/choose-the-scorer.md +1 -1
- package/agent-docs/chat/settings.sections/configure-chat.md +1 -1
- package/agent-docs/chat/settings.sections/configure-retrieval.md +1 -1
- package/agent-docs/chat/settings.sections/related-reading.md +1 -1
- package/agent-docs/chat/settings.sections/send-extra-request-fields.md +2 -2
- package/agent-docs/chat/settings.sections/use-more-than-one-model.md +2 -2
- package/agent-docs/chat/settings.sections/when-the-scorer-is-down.md +1 -1
- package/agent-docs/chat/setup.md +2 -2
- package/agent-docs/chat.md +3 -3
- package/agent-docs/cli.md +73 -59
- package/agent-docs/cli.sections/audit-a-project-and-api-sources.md +11 -7
- package/agent-docs/cli.sections/author-pages.md +16 -12
- package/agent-docs/cli.sections/build-and-serve.md +30 -18
- package/agent-docs/cli.sections/inspect-config-and-operations.md +13 -9
- package/agent-docs/cli.sections/npm-scripts-in-this-repository.md +7 -3
- package/agent-docs/cli.sections/related-reading.md +6 -2
- package/agent-docs/cli.sections/search-and-chat.md +24 -18
- package/agent-docs/cli.sections/start-a-project.md +7 -3
- package/agent-docs/cli.sections/working-tree-authoring-tools.md +7 -3
- package/agent-docs/concepts.md +2 -2
- package/agent-docs/config/apis.md +2 -2
- package/agent-docs/config/content.md +3 -3
- package/agent-docs/config/content.sections/authoring.md +3 -3
- package/agent-docs/config/content.sections/badges.md +1 -1
- package/agent-docs/config/content.sections/callouts.md +1 -1
- package/agent-docs/config/content.sections/cookbooks.md +1 -1
- package/agent-docs/config/content.sections/frontmatter.md +1 -1
- package/agent-docs/config/content.sections/readerfilters.md +1 -1
- package/agent-docs/config/content.sections/related-reading.md +1 -1
- package/agent-docs/config/content.sections/relationships.md +1 -1
- package/agent-docs/config/content.sections/snippets.md +1 -1
- package/agent-docs/config/content.sections/templates.md +1 -1
- package/agent-docs/config/content.sections/variables.md +1 -1
- package/agent-docs/config/examples.md +4 -4
- package/agent-docs/config/examples.sections/feature-showcase.md +4 -4
- package/agent-docs/config/examples.sections/minimal-site.md +2 -2
- package/agent-docs/config/examples.sections/multilingual-help-center.md +2 -2
- package/agent-docs/config/examples.sections/parcel-api-documentation.md +2 -2
- package/agent-docs/config/examples.sections/related-reading.md +2 -2
- package/agent-docs/config/examples.sections/shared-company-preset.md +2 -2
- package/agent-docs/config/integrations.md +4 -4
- package/agent-docs/config/outputs.md +22 -16
- package/agent-docs/config/outputs.sections/exports.md +19 -13
- package/agent-docs/config/outputs.sections/metadata.md +2 -2
- package/agent-docs/config/outputs.sections/related-reading.md +1 -1
- package/agent-docs/config/publishing.md +29 -19
- package/agent-docs/config/publishing.sections/navigation.md +2 -2
- package/agent-docs/config/publishing.sections/redirects.md +8 -8
- package/agent-docs/config/publishing.sections/related-reading.md +2 -2
- package/agent-docs/config/site.md +42 -18
- package/agent-docs/config/site.sections/related-reading.md +1 -1
- package/agent-docs/config/site.sections/theme.md +1 -1
- package/agent-docs/config.md +2 -2
- package/agent-docs/configuration.md +19 -19
- package/agent-docs/configuration.sections/build-several-sites-from-shared-content.md +1 -1
- package/agent-docs/configuration.sections/change-inherited-lists-deliberately.md +5 -5
- package/agent-docs/configuration.sections/extract-a-section-with-include.md +1 -1
- package/agent-docs/configuration.sections/inspect-and-validate-changes.md +5 -5
- package/agent-docs/configuration.sections/related-reading.md +1 -1
- package/agent-docs/configuration.sections/separate-config-inheritance-from-page-metadata.md +5 -5
- package/agent-docs/configuration.sections/share-defaults-through-extends.md +3 -3
- package/agent-docs/configuration.sections/start-with-one-working-file.md +2 -2
- package/agent-docs/configuration.sections/understand-the-three-stages.md +3 -3
- package/agent-docs/configuration.sections/understand-where-paths-point.md +2 -2
- package/agent-docs/connect/mcp.md +24 -15
- package/agent-docs/content-delivery/agents.md +6 -6
- package/agent-docs/content-delivery/api.md +29 -16
- package/agent-docs/content-delivery/client.md +14 -8
- package/agent-docs/content-delivery/http-api/operations/get-content-representation-fa1d2e3f.md +10 -2
- package/agent-docs/content-delivery/http-api/operations/get-content-representation-head-4052375c.md +10 -2
- package/agent-docs/content-delivery/http-api/operations/get-content-resource-849f1c49.md +537 -3
- package/agent-docs/content-delivery/http-api/operations/get-content-resource-head-0a352acd.md +10 -2
- package/agent-docs/content-delivery/http-api/operations/list-content-resources-8e977ec7.md +545 -3
- package/agent-docs/content-delivery/http-api/operations/list-content-resources-head-b67cbad9.md +10 -2
- package/agent-docs/content-delivery/http-api.md +21 -7
- package/agent-docs/content-delivery/manifest.md +30 -8
- package/agent-docs/content-delivery/publish.md +5 -5
- package/agent-docs/content-delivery/render.md +6 -6
- package/agent-docs/content-delivery/rest.md +16 -8
- package/agent-docs/content-delivery/sections.md +11 -11
- package/agent-docs/content-delivery/select.md +6 -6
- package/agent-docs/content-delivery.md +4 -4
- package/agent-docs/contribute/agent-skills.md +3 -3
- package/agent-docs/cookbooks/authoring.md +3 -3
- package/agent-docs/cookbooks/site-workflows.md +2 -2
- package/agent-docs/cookbooks/welcome-email.md +14 -11
- package/agent-docs/documents.json +2445 -1942
- package/agent-docs/example-api/cedar.md +4 -4
- package/agent-docs/features.md +49 -0
- package/agent-docs/glossary.md +22 -22
- package/agent-docs/index.md +5 -5
- package/agent-docs/ingredients/audit-site.md +2 -2
- package/agent-docs/ingredients/build-site.md +2 -2
- package/agent-docs/ingredients/complete-page.md +2 -2
- package/agent-docs/ingredients/refresh-agent-bundle.md +2 -2
- package/agent-docs/non-goals.md +4 -4
- package/agent-docs/provenance.json +10 -4
- package/agent-docs/publish/agent-discovery.md +8 -2
- package/agent-docs/publish/agent-friendliness.md +21 -21
- package/agent-docs/publish/agent-friendliness.sections/discover-a-page-with-a-small-context-budget.md +5 -5
- package/agent-docs/publish/agent-friendliness.sections/distinguish-examples-from-a-real-service.md +5 -5
- package/agent-docs/publish/agent-friendliness.sections/evidence-has-a-scope.md +5 -5
- package/agent-docs/publish/agent-friendliness.sections/keep-shared-instructions-complete.md +5 -5
- package/agent-docs/publish/agent-friendliness.sections/related-reading.md +3 -3
- package/agent-docs/publish/agent-friendliness.sections/secret-handshake.md +3 -3
- package/agent-docs/publish/agent-friendliness.sections/try-the-page-controls.md +3 -3
- package/agent-docs/publish/agent-friendliness.sections/use-the-transport-your-client-supports.md +4 -4
- package/agent-docs/publish/agent-friendliness.sections/verify-the-page-and-detect-changes.md +9 -9
- package/agent-docs/publish/agent-friendliness.sections/what-an-agent-reads.md +5 -5
- package/agent-docs/publish/agent-friendliness.sections/what-happens-to-an-unsupported-component.md +4 -4
- package/agent-docs/publish/api-references.md +5 -5
- package/agent-docs/publish/api-references.sections/author-the-reference-page.md +2 -2
- package/agent-docs/publish/api-references.sections/build-and-verify-the-output.md +3 -3
- package/agent-docs/publish/api-references.sections/inspect-the-machine-readable-contract.md +2 -2
- package/agent-docs/publish/api-references.sections/next-steps.md +2 -2
- package/agent-docs/publish/api-references.sections/preview-a-small-api-reference.md +2 -2
- package/agent-docs/publish/api-references.sections/put-the-spec-in-your-project.md +2 -2
- package/agent-docs/publish/api-references.sections/register-the-operation.md +2 -2
- package/agent-docs/publish/api-references.sections/related-reading.md +2 -2
- package/agent-docs/publish/api-references.sections/review-imported-content-before-publishing.md +3 -3
- package/agent-docs/publish/api-references.sections/what-readers-get.md +3 -3
- package/agent-docs/publish/audit.md +8 -8
- package/agent-docs/publish/audit.sections/add-project-tests.md +2 -2
- package/agent-docs/publish/audit.sections/check-agent-evaluation-reports.md +2 -2
- package/agent-docs/publish/audit.sections/check-before-pushing.md +3 -3
- package/agent-docs/publish/audit.sections/connect-a-documentation-test-suite.md +2 -2
- package/agent-docs/publish/audit.sections/read-the-report.md +3 -3
- package/agent-docs/publish/audit.sections/related-reading.md +1 -1
- package/agent-docs/publish/content-export.md +37 -15
- package/agent-docs/publish/content-export.sections/assets-downloads-and-notices.md +4 -4
- package/agent-docs/publish/content-export.sections/check-the-result.md +2 -2
- package/agent-docs/publish/content-export.sections/inspect-the-manifest.md +3 -3
- package/agent-docs/publish/content-export.sections/prerequisites.md +4 -4
- package/agent-docs/publish/content-export.sections/related-reading.md +2 -2
- package/agent-docs/publish/content-export.sections/review-exported-api-material.md +3 -3
- package/agent-docs/publish/content-export.sections/try-the-help-drawer-example.md +2 -2
- package/agent-docs/publish/content-export.sections/what-the-representations-retain.md +4 -4
- package/agent-docs/publish/content-negotiation.md +10 -10
- package/agent-docs/publish/content-negotiation.sections/hosting-contract.md +2 -2
- package/agent-docs/publish/content-negotiation.sections/missing-pages.md +3 -3
- package/agent-docs/publish/content-negotiation.sections/related-reading.md +1 -1
- package/agent-docs/publish/content-negotiation.sections/validators-and-manifest-links.md +2 -2
- package/agent-docs/publish/content-negotiation.sections/verify-the-deployed-url.md +2 -2
- package/agent-docs/publish/content-negotiation.sections/what-if-the-host-cannot-negotiate.md +3 -3
- package/agent-docs/publish/content-negotiation.sections/what-shoalrun-builds-and-what-the-host-does.md +2 -2
- package/agent-docs/publish/content-negotiation.sections/why-this-matters.md +2 -2
- package/agent-docs/publish/deployment-check.md +6 -6
- package/agent-docs/publish/deployment-profiles.md +60 -26
- package/agent-docs/publish/deployment-profiles.sections/before-you-begin.md +5 -5
- package/agent-docs/publish/deployment-profiles.sections/build-and-inspect-the-edition.md +9 -9
- package/agent-docs/publish/deployment-profiles.sections/check-the-result.md +7 -7
- package/agent-docs/publish/deployment-profiles.sections/choose-navigation-labels.md +6 -6
- package/agent-docs/publish/deployment-profiles.sections/current-limits.md +7 -7
- package/agent-docs/publish/deployment-profiles.sections/define-the-shared-sku-manifest.md +6 -6
- package/agent-docs/publish/deployment-profiles.sections/html-markdown-and-agents.md +7 -7
- package/agent-docs/publish/deployment-profiles.sections/mark-pages-and-shared-sections.md +13 -13
- package/agent-docs/publish/deployment-profiles.sections/preview-and-edit-a-customer-edition.md +55 -0
- package/agent-docs/publish/deployment-profiles.sections/related-reading.md +6 -6
- package/agent-docs/publish/deployment-profiles.sections/select-each-product-release.md +55 -0
- package/agent-docs/publish/deployment-profiles.sections/supply-the-profile-from-the-deployment.md +6 -6
- package/agent-docs/publish/evals.md +16 -16
- package/agent-docs/publish/evals.sections/add-the-audit-hook.md +5 -5
- package/agent-docs/publish/evals.sections/check-the-report.md +4 -4
- package/agent-docs/publish/evals.sections/define-a-task-file.md +5 -5
- package/agent-docs/publish/evals.sections/diagnose-a-different-build.md +5 -5
- package/agent-docs/publish/evals.sections/prepare-a-report-for-the-built-site.md +5 -5
- package/agent-docs/publish/evals.sections/related-reading.md +3 -3
- package/agent-docs/publish/evals.sections/run-and-review-the-tasks.md +4 -4
- package/agent-docs/publish/evals.sections/shoalrun-s-own-example.md +6 -6
- package/agent-docs/publish/host-adapters.md +6 -6
- package/agent-docs/publish/manni.md +16 -16
- package/agent-docs/publish/manni.sections/check-the-result.md +3 -3
- package/agent-docs/publish/manni.sections/how-this-site-uses-manni.md +6 -6
- package/agent-docs/publish/manni.sections/optional-custom-policies.md +4 -4
- package/agent-docs/publish/manni.sections/prerequisites.md +2 -2
- package/agent-docs/publish/mcp-analytics.md +12 -12
- package/agent-docs/publish/mcp-analytics.sections/adapter-exports.md +4 -4
- package/agent-docs/publish/mcp-analytics.sections/enable-analytics.md +4 -4
- package/agent-docs/publish/mcp-analytics.sections/event-fields-and-service-mappings.md +4 -4
- package/agent-docs/publish/mcp-analytics.sections/optionally-collect-intent-and-group-calls.md +4 -4
- package/agent-docs/publish/mcp-analytics.sections/optionally-identify-the-client-and-model.md +5 -5
- package/agent-docs/publish/mcp-analytics.sections/related-reading.md +3 -3
- package/agent-docs/publish/mcp-analytics.sections/safeguards-and-limits.md +5 -5
- package/agent-docs/publish/mcp.md +56 -29
- package/agent-docs/publish/mcp.sections/check-budgets-and-errors.md +8 -8
- package/agent-docs/publish/mcp.sections/choose-the-documentation-source.md +4 -4
- package/agent-docs/publish/mcp.sections/configure-the-client.md +4 -4
- package/agent-docs/publish/mcp.sections/discover-product-releases-before-searching.md +52 -0
- package/agent-docs/publish/mcp.sections/generate-a-vercel-endpoint.md +6 -6
- package/agent-docs/publish/mcp.sections/html-markdown-and-agents.md +38 -0
- package/agent-docs/publish/mcp.sections/related-reading.md +3 -3
- package/agent-docs/publish/mcp.sections/search-then-read.md +13 -12
- package/agent-docs/publish/mcp.sections/serve-a-public-endpoint-on-node.md +12 -8
- package/agent-docs/publish/mcp.sections/verify-the-connection.md +4 -4
- package/agent-docs/publish/mcp.sections/why-offer-mcp-for-public-docs.md +4 -4
- package/agent-docs/publish/openapi-extension-mappings.md +12 -12
- package/agent-docs/publish/output.md +20 -20
- package/agent-docs/publish/output.sections/api-contracts.md +1 -1
- package/agent-docs/publish/output.sections/code-highlighting.md +1 -1
- package/agent-docs/publish/output.sections/current-limits.md +1 -1
- package/agent-docs/publish/output.sections/incremental-sync.md +4 -4
- package/agent-docs/publish/output.sections/manifest-records-and-sections.md +3 -3
- package/agent-docs/publish/output.sections/navigation-section-indexes.md +1 -1
- package/agent-docs/publish/output.sections/page-formats.md +2 -2
- package/agent-docs/publish/output.sections/published-output-contract.md +5 -5
- package/agent-docs/publish/output.sections/reader-appearance-and-controls.md +1 -1
- package/agent-docs/publish/output.sections/related-reading.md +1 -1
- package/agent-docs/publish/output.sections/response-identity.md +1 -1
- package/agent-docs/publish/output.sections/site-files.md +6 -6
- package/agent-docs/publish/output.sections/validate-an-existing-build-locally.md +3 -3
- package/agent-docs/publish/output.sections/where-files-go.md +3 -3
- package/agent-docs/publish/publications.md +108 -19
- package/agent-docs/publish/publications.sections/add-a-language.md +60 -0
- package/agent-docs/publish/publications.sections/change-just-one-part-of-a-shared-page.md +63 -0
- package/agent-docs/publish/publications.sections/give-each-api-version-its-own-contract.md +34 -0
- package/agent-docs/publish/publications.sections/keep-an-unchanged-page-in-one-file.md +53 -0
- package/agent-docs/publish/publications.sections/publish-versions-without-a-product-catalog.md +49 -0
- package/agent-docs/publish/publications.sections/related-reading.md +42 -0
- package/agent-docs/publish/publications.sections/version-products-independently.md +115 -0
- package/agent-docs/publish/publications.sections/what-agents-receive.md +38 -0
- package/agent-docs/publish/revisions.md +4 -4
- package/agent-docs/publish/seo.md +10 -10
- package/agent-docs/publish/seo.sections/related-reading.md +2 -2
- package/agent-docs/publish/seo.sections/set-the-public-address.md +3 -3
- package/agent-docs/publish/seo.sections/what-agents-receive.md +3 -3
- package/agent-docs/publish/seo.sections/what-the-build-adds.md +2 -2
- package/agent-docs/publish/seo.sections/write-the-page-title-and-summary.md +2 -2
- package/agent-docs/publish/single-source-sites.md +5 -5
- package/agent-docs/publish/troubleshooting.md +10 -10
- package/agent-docs/publish/vercel.md +5 -5
- package/agent-docs/publish/vercel.sections/check-the-deployment.md +1 -1
- package/agent-docs/publish/vercel.sections/include-an-mcp-endpoint.md +2 -2
- package/agent-docs/publish/vercel.sections/prepare-your-project.md +2 -2
- package/agent-docs/publish/vercel.sections/related-reading.md +1 -1
- package/agent-docs/publish.md +2 -2
- package/agent-docs/recipes/add-page.md +5 -5
- package/agent-docs/recipes/add-page.sections/audit-the-shoalrun-docs-project.md +2 -2
- package/agent-docs/recipes/add-page.sections/before-you-start.md +1 -1
- package/agent-docs/recipes/add-page.sections/build-the-shoalrun-docs-site.md +2 -2
- package/agent-docs/recipes/add-page.sections/check-agent-search-and-page-lookup.md +1 -1
- package/agent-docs/recipes/add-page.sections/check-the-built-page-artifacts.md +1 -1
- package/agent-docs/recipes/add-page.sections/check-the-outcome.md +1 -1
- package/agent-docs/recipes/add-page.sections/complete-the-guide-and-add-navigation.md +2 -2
- package/agent-docs/recipes/add-page.sections/install-the-site-dependencies.md +1 -1
- package/agent-docs/recipes/add-page.sections/regenerate-the-agent-documentation-bundle.md +2 -2
- package/agent-docs/recipes/add-page.sections/related-reading.md +1 -1
- package/agent-docs/recipes/add-page.sections/scaffold-a-new-guide.md +1 -1
- package/agent-docs/recipes/audit-docs.md +4 -4
- package/agent-docs/recipes/build-docs.md +2 -2
- package/agent-docs/recipes/preview-hybrid-search.md +5 -5
- package/agent-docs/recipes/preview-page.md +2 -2
- package/agent-docs/recipes/queue-email.md +3 -3
- package/agent-docs/recipes/refresh-agent-docs.md +4 -4
- package/agent-docs/recipes/send-welcome-email.md +15 -15
- package/agent-docs/reference/agent-skills.md +7 -7
- package/agent-docs/search-and-chat.md +4 -4
- package/agent-docs/search-index.json +1 -1
- package/agent-docs/start.md +5 -5
- package/agent-docs/start.sections/add-the-page-to-navigation.md +3 -3
- package/agent-docs/start.sections/build-and-check-both-outputs.md +3 -3
- package/agent-docs/start.sections/build-this-site.md +2 -2
- package/agent-docs/start.sections/check-writing-style.md +2 -2
- package/agent-docs/start.sections/create-a-page.md +2 -2
- package/agent-docs/start.sections/make-it-yours.md +2 -2
- package/agent-docs/start.sections/migrating-from-github-packages.md +2 -2
- package/agent-docs/start.sections/prerequisites.md +2 -2
- package/agent-docs/start.sections/related-reading.md +2 -2
- package/agent-docs/start.sections/start-your-own-project.md +3 -3
- package/agent-docs/status.md +14 -4
- package/agent-docs/styling/color-modes.md +2 -2
- package/agent-docs/styling/footer.md +2 -2
- package/agent-docs/styling/header.md +2 -2
- package/agent-docs/styling/layouts.md +3 -3
- package/agent-docs/styling/layouts.sections/build-a-landing-page.md +1 -1
- package/agent-docs/styling/layouts.sections/build-a-splash-page.md +1 -1
- package/agent-docs/styling/layouts.sections/control-navigation-tabs.md +2 -2
- package/agent-docs/styling/layouts.sections/customize-the-hero.md +1 -1
- package/agent-docs/styling/layouts.sections/hero.md +1 -1
- package/agent-docs/styling/layouts.sections/hide-the-table-of-contents-or-give-content-more-room.md +1 -1
- package/agent-docs/styling/layouts.sections/html-markdown-and-agents.md +2 -2
- package/agent-docs/styling/layouts.sections/related-reading.md +1 -1
- package/agent-docs/styling/palettes.md +3 -3
- package/agent-docs/styling/share-images.md +3 -3
- package/agent-docs/styling/themes.md +2 -2
- package/agent-docs/styling/try.md +2 -2
- package/agent-docs/what-is-shoalrun.md +7 -3
- package/assets/ask-widget.js +20 -6
- package/assets/navigation.js +5 -0
- package/dist/ai-directory.d.ts +1 -0
- package/dist/ai-directory.js +12 -0
- package/dist/answer-cards.js +1 -1
- package/dist/api-materialize.d.ts +2 -1
- package/dist/api-materialize.js +21 -9
- package/dist/api-publication-plan.d.ts +2 -0
- package/dist/api-publication-plan.js +23 -7
- package/dist/api-publication-review.js +4 -3
- package/dist/api-selection.d.ts +5 -2
- package/dist/api-selection.js +18 -11
- package/dist/artifact-bundle.js +9 -6
- package/dist/ask-function.d.ts +4 -18
- package/dist/ask-function.js +12 -71
- package/dist/ask-runtime.d.ts +46 -0
- package/dist/ask-runtime.js +101 -0
- package/dist/ask-setup.d.ts +3 -42
- package/dist/ask-setup.js +5 -93
- package/dist/authored-change.js +2 -1
- package/dist/authoring-project.js +1 -1
- package/dist/cards.js +2 -1
- package/dist/cli-discovery.d.ts +2 -2
- package/dist/cli-discovery.js +9 -4
- package/dist/cli.js +48 -23
- package/dist/compiler-config.d.ts +17 -0
- package/dist/compiler-config.js +43 -2
- package/dist/compiler.d.ts +21 -0
- package/dist/compiler.js +16 -12
- package/dist/component-transform.d.ts +2 -4
- package/dist/component-transform.js +20 -7
- package/dist/config.d.ts +1 -0
- package/dist/config.js +2 -1
- package/dist/content-delivery-contract.d.ts +2 -1
- package/dist/content-delivery-validation.d.ts +2 -2
- package/dist/content-delivery-validation.js +6 -4
- package/dist/content-export-command.d.ts +1 -1
- package/dist/content-export-command.js +4 -4
- package/dist/content-export-comparison.js +6 -5
- package/dist/content-export-config.js +3 -1
- package/dist/content-export.js +9 -8
- package/dist/content-rest-client.js +4 -2
- package/dist/content-rest-contract.d.ts +2 -2
- package/dist/content-rest-server.js +11 -6
- package/dist/content-source.d.ts +13 -0
- package/dist/content-source.js +5 -2
- package/dist/content-workspace.d.ts +12 -0
- package/dist/content-workspace.js +2 -1
- package/dist/content.js +3 -2
- package/dist/cookbook-chooser.js +2 -1
- package/dist/deployment-profile.d.ts +2 -1
- package/dist/deployment-profile.js +38 -8
- package/dist/dev.d.ts +3 -1
- package/dist/dev.js +99 -12
- package/dist/docs-author.js +2 -1
- package/dist/docs-command.js +2 -2
- package/dist/docs-eval.d.ts +1 -0
- package/dist/docs-eval.js +2 -2
- package/dist/docs-mcp.d.ts +1 -0
- package/dist/docs-mcp.js +10 -5
- package/dist/docs-tool.d.ts +4 -10
- package/dist/document-sync.d.ts +1 -0
- package/dist/document-sync.js +2 -2
- package/dist/documentation-core.d.ts +29 -10
- package/dist/documentation-core.js +38 -4
- package/dist/embeddings.d.ts +1 -1
- package/dist/embeddings.js +1 -1
- package/dist/freshness.js +2 -2
- package/dist/frontmatter.js +13 -7
- package/dist/function-package.js +5 -0
- package/dist/function-runtime.d.ts +24 -0
- package/dist/function-runtime.js +45 -0
- package/dist/index-build.d.ts +2 -2
- package/dist/index-build.js +5 -13
- package/dist/ingredient-draft.js +20 -10
- package/dist/mcp-analytics.d.ts +1 -0
- package/dist/mcp-artifacts.js +13 -4
- package/dist/mcp-config.d.ts +1 -0
- package/dist/mcp-config.js +3 -1
- package/dist/mcp-http.js +1 -1
- package/dist/page-materialization.d.ts +3 -4
- package/dist/page-materialization.js +15 -8
- package/dist/page-renderer.d.ts +6 -0
- package/dist/page-renderer.js +16 -5
- package/dist/project-navigation.js +2 -1
- package/dist/publication-identity.d.ts +12 -0
- package/dist/publication-identity.js +17 -0
- package/dist/publication-manifest.d.ts +24 -1
- package/dist/publication-manifest.js +14 -6
- package/dist/publication-plan.js +21 -9
- package/dist/publication-render.js +24 -8
- package/dist/recipe-draft.js +9 -6
- package/dist/retrieval-runtime.d.ts +5 -0
- package/dist/retrieval-runtime.js +21 -0
- package/dist/scaffold.d.ts +7 -4
- package/dist/scaffold.js +16 -16
- package/dist/search-function.d.ts +2 -0
- package/dist/search-function.js +30 -0
- package/dist/search-handler.js +2 -2
- package/dist/search-identifier-core.d.ts +4 -0
- package/dist/search-identifier-core.js +30 -0
- package/dist/search-identifier.d.ts +3 -3
- package/dist/search-identifier.js +7 -30
- package/dist/search-literal.js +1 -1
- package/dist/search-query.d.ts +4 -10
- package/dist/search-query.js +10 -9
- package/dist/search-results.js +1 -1
- package/dist/search-snippet.d.ts +1 -1
- package/dist/search-snippet.js +2 -14
- package/dist/search-text.d.ts +1 -0
- package/dist/search-text.js +14 -0
- package/dist/server.d.ts +8 -0
- package/dist/server.js +14 -3
- package/dist/subject-deprecation.js +2 -1
- package/dist/vercel-function.js +11 -3
- package/example-configs/products/README.md +37 -0
- package/example-configs/products/content/operations.mdx +50 -0
- package/example-configs/products/content/payments-v2.mdx +30 -0
- package/example-configs/products/content/payments-v3.mdx +38 -0
- package/example-configs/products/content/priority-settlement.mdx +23 -0
- package/example-configs/products/content/reporting-v1.mdx +36 -0
- package/example-configs/products/content/scheduled-exports.mdx +23 -0
- package/example-configs/products/docs.config.yaml +56 -0
- package/example-configs/products/profiles/all-releases.yaml +9 -0
- package/example-configs/products/profiles/customer-a.yaml +13 -0
- package/example-configs/products/profiles/customer-b.yaml +13 -0
- package/example-configs/products/skus.yaml +11 -0
- package/examples/content-delivery/preview.mjs +1 -1
- package/package.json +1 -1
- package/schemas/content-export.schema.json +41 -3
- package/schemas/content-rest.openapi.json +184 -37
- package/skills/shoalrun-author/SKILL.md +6 -2
- package/skills/shoalrun-author/references/customer-editions.md +34 -4
- package/skills/shoalrun-author/references/publications.md +60 -0
- package/skills/shoalrun-recipes/SKILL.md +2 -0
- package/skills/shoalrun-setup/SKILL.md +3 -1
- package/styles/header.css +3 -0
- package/styles/site.css +3 -0
- package/agent-docs/publish/content-export.sections/export-selected-pages.md +0 -116
package/agent-docs/chat/host.md
CHANGED
|
@@ -18,7 +18,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Documentation chat > Host on Vercel
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
@@ -30,7 +30,7 @@ Before building the hosted function, have these ready:
|
|
|
30
30
|
- A shared store that speaks the Upstash REST API.
|
|
31
31
|
- A Vercel project and the public address in `site.origin`.
|
|
32
32
|
|
|
33
|
-
The normal site build
|
|
33
|
+
The normal site build doesn't add this function. Hosted provider requests can incur costs.
|
|
34
34
|
|
|
35
35
|
## Cap the daily spend
|
|
36
36
|
|
|
@@ -77,13 +77,13 @@ Because a slot is taken before the answer and not counted after, questions that
|
|
|
77
77
|
|
|
78
78
|
## Host the chat on Vercel
|
|
79
79
|
|
|
80
|
-
The chat can run as a Vercel function on the same deployment as the site. It
|
|
80
|
+
The chat can run as a Vercel function on the same deployment as the site. It's optional, and a build never adds it unless you ask. Add `--chat` to the Vercel build:
|
|
81
81
|
|
|
82
82
|
```sh
|
|
83
83
|
shoalrun vercel build docs.config.yaml .vercel/output --chat
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
The build indexes the site and puts the index inside the function's own directory, never in the public static files. It writes the chat settings, without any key, and copies the code the function needs. The function answers at `/__shoalrun/ask`. If the function
|
|
86
|
+
The build indexes the site and puts the index inside the function's own directory, never in the public static files. It writes the chat settings, without any key, and copies the code the function needs. The function answers at `/__shoalrun/ask`. If the function can't be added, the build fails with a reason. Check for:
|
|
87
87
|
|
|
88
88
|
- A missing `chat` or `retrieval.embeddings` section.
|
|
89
89
|
- A missing `chat.budget.store`.
|
|
@@ -107,7 +107,7 @@ The hosted chat shows only answers that cite the docs. When the model's answer c
|
|
|
107
107
|
|
|
108
108
|
### Check visitors with Turnstile
|
|
109
109
|
|
|
110
|
-
`chat.challenge` turns on a Cloudflare Turnstile check. The browser gets a one-time token, and the function asks Cloudflare whether it
|
|
110
|
+
`chat.challenge` turns on a Cloudflare Turnstile check. The browser gets a one-time token, and the function asks Cloudflare whether it's real. A failed check is refused before any model is called.
|
|
111
111
|
|
|
112
112
|
```yaml title="docs.config.yaml"
|
|
113
113
|
chat:
|
|
@@ -122,7 +122,7 @@ The default `adaptive` mode requests a challenge when usage crosses a threshold:
|
|
|
122
122
|
- Everyone is asked once the site has used `busyShare` of its daily budget. The default is 0.5.
|
|
123
123
|
- A budget store that can't be read means "ask", so an outage never removes the check.
|
|
124
124
|
|
|
125
|
-
When challenged, the panel runs the check and resends the question. It shows
|
|
125
|
+
When challenged, the panel runs the check and resends the question. It shows `Checking that you are a person…` while waiting.
|
|
126
126
|
|
|
127
127
|
A successful check creates a signed, browser-script-inaccessible cookie tied to the caller’s address. The signing key is derived from the Turnstile secret. The pass lasts 15 minutes, so follow-up questions need no new challenge during that time.
|
|
128
128
|
|
|
@@ -153,7 +153,7 @@ shoalrun ask-log --kv --config docs.config.yaml --days 30
|
|
|
153
153
|
|
|
154
154
|
The command reads the store's address and token from the environment variables the config names. Recording a question never delays or changes the answer, and a failed write is logged and dropped.
|
|
155
155
|
|
|
156
|
-
Each recorded hosted answer has a **Delete logged question** button. The reader can remove that one record even while chat is paused. Its unguessable deletion code also appears under the answer so the reader can save it for a later request. Deleting a record
|
|
156
|
+
Each recorded hosted answer has a **Delete logged question** button. The reader can remove that one record even while chat is paused. Its unguessable deletion code also appears under the answer so the reader can save it for a later request. Deleting a record doesn't delete the docs answer from the conversation. Earlier records made before deletion codes were added expire under the retention rule.
|
|
157
157
|
|
|
158
158
|
For a later request, send the saved code to the same site's answer endpoint:
|
|
159
159
|
|
|
@@ -203,7 +203,7 @@ It also counts how questions were answered and how many called the model. It cou
|
|
|
203
203
|
|
|
204
204
|
### Local log privacy
|
|
205
205
|
|
|
206
|
-
Questions can contain personal details. These controls reduce exposure but
|
|
206
|
+
Questions can contain personal details. These controls reduce exposure but don't guarantee that sensitive text is removed:
|
|
207
207
|
|
|
208
208
|
- Emails, phone and card-length numbers, keys, and the query part of a web address are replaced before the line is written. That's best effort and no guarantee.
|
|
209
209
|
- The file is created with owner-only permissions and rotates at 5 MB, keeping one older file.
|
|
@@ -18,7 +18,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Documentation chat > Host on Vercel
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
@@ -32,7 +32,7 @@ Before building the hosted function, have these ready:
|
|
|
32
32
|
- A shared store that speaks the Upstash REST API.
|
|
33
33
|
- A Vercel project and the public address in `site.origin`.
|
|
34
34
|
|
|
35
|
-
The normal site build
|
|
35
|
+
The normal site build doesn't add this function. Hosted provider requests can incur costs.
|
|
36
36
|
|
|
37
37
|
## Cap the daily spend
|
|
38
38
|
|
|
@@ -18,7 +18,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Documentation chat > Host on Vercel
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
@@ -32,7 +32,7 @@ Before building the hosted function, have these ready:
|
|
|
32
32
|
- A shared store that speaks the Upstash REST API.
|
|
33
33
|
- A Vercel project and the public address in `site.origin`.
|
|
34
34
|
|
|
35
|
-
The normal site build
|
|
35
|
+
The normal site build doesn't add this function. Hosted provider requests can incur costs.
|
|
36
36
|
|
|
37
37
|
## Keep a record of questions
|
|
38
38
|
|
|
@@ -53,7 +53,7 @@ It also counts how questions were answered and how many called the model. It cou
|
|
|
53
53
|
|
|
54
54
|
### Local log privacy
|
|
55
55
|
|
|
56
|
-
Questions can contain personal details. These controls reduce exposure but
|
|
56
|
+
Questions can contain personal details. These controls reduce exposure but don't guarantee that sensitive text is removed:
|
|
57
57
|
|
|
58
58
|
- Emails, phone and card-length numbers, keys, and the query part of a web address are replaced before the line is written. That's best effort and no guarantee.
|
|
59
59
|
- The file is created with owner-only permissions and rotates at 5 MB, keeping one older file.
|
|
@@ -18,7 +18,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Documentation chat > Host on Vercel
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
@@ -32,7 +32,7 @@ Before building the hosted function, have these ready:
|
|
|
32
32
|
- A shared store that speaks the Upstash REST API.
|
|
33
33
|
- A Vercel project and the public address in `site.origin`.
|
|
34
34
|
|
|
35
|
-
The normal site build
|
|
35
|
+
The normal site build doesn't add this function. Hosted provider requests can incur costs.
|
|
36
36
|
|
|
37
37
|
## Related reading
|
|
38
38
|
|
|
@@ -18,13 +18,13 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Passage index
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
25
|
-
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and
|
|
25
|
+
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and the optional semantic search endpoint use it to find relevant parts of a page.
|
|
26
26
|
|
|
27
|
-
The
|
|
27
|
+
The default keyword [search box](https://www.shoalrun.com/author/search.md) uses the separate page-level `search-index.json`. The included `semantic` provider connects that box to the passage-search endpoint. You don't need a passage index for normal static-site keyword search.
|
|
28
28
|
|
|
29
29
|
Create the files after building the site:
|
|
30
30
|
|
|
@@ -90,7 +90,7 @@ Each entry in `chunks` describes one passage:
|
|
|
90
90
|
|
|
91
91
|
```json title="ai/chunks.json"
|
|
92
92
|
{
|
|
93
|
-
"id": "guide.configuration#understand-the-three-stages",
|
|
93
|
+
"id": "production%7Ccurrent%7Cen:guide.configuration#understand-the-three-stages",
|
|
94
94
|
"docId": "guide.configuration",
|
|
95
95
|
"title": "Organize project configuration",
|
|
96
96
|
"type": "how-to",
|
|
@@ -108,20 +108,20 @@ Each entry in `chunks` describes one passage:
|
|
|
108
108
|
}
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
| Field | Value
|
|
112
|
-
| ------------------------ |
|
|
113
|
-
| `id` | The passage ID. See [Passage IDs](#passage-ids-and-links).
|
|
114
|
-
| `docId`, `title`, `type` | The page's ID, title, and type.
|
|
115
|
-
| `variant` | The page's channel, version, and language, joined by `\|`. Passages from different publications never mix.
|
|
116
|
-
| `headingPath` | The `##` and `###` headings above the passage, outermost first. Empty for an intro passage.
|
|
117
|
-
| `url` | The page URL, plus `#` and the section's heading ID when one exists.
|
|
118
|
-
| `markdownUrl` | The page's Markdown twin.
|
|
119
|
-
| `readerFilters` | Optional. The page's reader marks, such as `{ "audience": ["maintainers"] }`. It
|
|
120
|
-
| `text` | The passage's Markdown, without its own heading.
|
|
121
|
-
| `digest` | A SHA-256 hash of the passage's embedding input.
|
|
122
|
-
| `search` | Prepared result content: `schemaVersion: 1`, explanatory `paragraphs`, and code/table `literalLines`. Generated navigation lists are excluded from the paragraphs.
|
|
123
|
-
|
|
124
|
-
The file also records `schemaVersion` and a `sourceDigest`
|
|
111
|
+
| Field | Value |
|
|
112
|
+
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
113
|
+
| `id` | The passage ID. See [Passage IDs](#passage-ids-and-links). |
|
|
114
|
+
| `docId`, `title`, `type` | The page's ID, title, and type. |
|
|
115
|
+
| `variant` | The page's channel, version, and language, joined by `\|`. Passages from different publications never mix. |
|
|
116
|
+
| `headingPath` | The `##` and `###` headings above the passage, outermost first. Empty for an intro passage. |
|
|
117
|
+
| `url` | The page URL, plus `#` and the section's heading ID when one exists. |
|
|
118
|
+
| `markdownUrl` | The page's Markdown twin. |
|
|
119
|
+
| `readerFilters` | Optional. The page's reader marks, such as `{ "audience": ["maintainers"] }`. It's present only when the page has marks. Retrieval uses it to answer for one audience. |
|
|
120
|
+
| `text` | The passage's Markdown, without its own heading. |
|
|
121
|
+
| `digest` | A SHA-256 hash of the passage's embedding input. |
|
|
122
|
+
| `search` | Prepared result content: `schemaVersion: 1`, explanatory `paragraphs`, and code/table `literalLines`. Generated navigation lists are excluded from the paragraphs. |
|
|
123
|
+
|
|
124
|
+
The file also records `schemaVersion` and a `sourceDigest`. Since `0.1.0-alpha.16`, this digest identifies passage content, publication membership, routes, reader marks, and prepared search evidence. Metadata changes can change this digest without requiring new embeddings.
|
|
125
125
|
|
|
126
126
|
### Embedding input
|
|
127
127
|
|
|
@@ -135,19 +135,23 @@ Configuration takes effect in three stages: …
|
|
|
135
135
|
|
|
136
136
|
`digest` hashes that string, so it changes when the title, the heading path, or the text changes. A stored vector or score that no longer matches a passage's digest is stale.
|
|
137
137
|
|
|
138
|
-
The derived `search` data
|
|
138
|
+
The derived `search` data isn't part of the embedding input or its digest. Preparing it doesn't require new embeddings for unchanged passages.
|
|
139
139
|
|
|
140
140
|
## Passage IDs and links
|
|
141
141
|
|
|
142
|
-
|
|
142
|
+
Since `0.1.0-alpha.16`, a passage ID contains the URL-encoded publication, `:`, the URL-encoded page ID, `#`, and a slug of the heading path. Repeated logical page IDs in different releases have distinct passage IDs. A passage without headings uses `intro`. The chunker adds a suffix when IDs would collide:
|
|
143
143
|
|
|
144
|
-
| ID
|
|
145
|
-
|
|
|
146
|
-
| `guide.configuration#understand-the-three-stages` | The first passage in that section. |
|
|
147
|
-
| `guide.configuration#understand-the-three-stages~2` | The second part of a section that split. |
|
|
148
|
-
| `guide.configuration#notes-2` | The second section on the page with the same heading path. |
|
|
144
|
+
| ID | Meaning |
|
|
145
|
+
| ----------------------------------------------------------------------------- | ---------------------------------------------------------- |
|
|
146
|
+
| `production%7Ccurrent%7Cen:guide.configuration#understand-the-three-stages` | The first passage in that section. |
|
|
147
|
+
| `production%7Ccurrent%7Cen:guide.configuration#understand-the-three-stages~2` | The second part of a section that split. |
|
|
148
|
+
| `production%7Ccurrent%7Cen:guide.configuration#notes-2` | The second section on the page with the same heading path. |
|
|
149
149
|
|
|
150
|
-
IDs stay the same when body text changes. They change when you rename a heading or the page
|
|
150
|
+
IDs stay the same when body text changes. They change when you rename a heading, the page ID, or its publication. Treat the complete passage ID as an opaque identifier; use `docId` for the logical page identity.
|
|
151
|
+
|
|
152
|
+
When upgrading an existing index, rerun `shoalrun index site-dist --embed --config docs.config.yaml` with the same embedding configuration. Matching input vectors are reused even when stored passage IDs change. Regenerate answer cards after rebuilding their cited IDs. Older indexes with duplicate passage IDs fail with rebuild instructions instead of silently sharing vectors across releases.
|
|
153
|
+
|
|
154
|
+
The index command’s JSON summary includes `sourceDigest` and passage counts for each publication. Check these fields before starting a server, and index each customer’s already-pruned build separately. A running preview reads indexes at startup, so restart it after reindexing. Stored vectors remain file-backed; this release doesn't add an external vector database.
|
|
151
155
|
|
|
152
156
|
Section links come from the heading IDs in `search-index.json`. A passage links to the page, without a `#` anchor, when the build has no search index or when a component generated the heading. Walkthrough steps and tab labels are examples. The [site search](https://www.shoalrun.com/author/search.md) page describes the index.
|
|
153
157
|
|
|
@@ -184,7 +188,7 @@ The summary gains an `embeddings` object:
|
|
|
184
188
|
}
|
|
185
189
|
```
|
|
186
190
|
|
|
187
|
-
The command sends each passage's [embedding input](#embedding-input) to the configured provider. The key
|
|
191
|
+
The command sends each passage's [embedding input](#embedding-input) to the configured provider. The key isn't written to the output.
|
|
188
192
|
|
|
189
193
|
It writes two files next to `chunks.json`:
|
|
190
194
|
|
|
@@ -18,15 +18,15 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Passage index
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
25
25
|
Parent page: [Full Markdown page](/chat/passage-index.md)
|
|
26
26
|
|
|
27
|
-
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and
|
|
27
|
+
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and the optional semantic search endpoint use it to find relevant parts of a page.
|
|
28
28
|
|
|
29
|
-
The
|
|
29
|
+
The default keyword [search box](https://www.shoalrun.com/author/search.md) uses the separate page-level `search-index.json`. The included `semantic` provider connects that box to the passage-search endpoint. You don't need a passage index for normal static-site keyword search.
|
|
30
30
|
|
|
31
31
|
Create the files after building the site:
|
|
32
32
|
|
|
@@ -18,15 +18,15 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Passage index
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
25
25
|
Parent page: [Full Markdown page](/chat/passage-index.md)
|
|
26
26
|
|
|
27
|
-
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and
|
|
27
|
+
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and the optional semantic search endpoint use it to find relevant parts of a page.
|
|
28
28
|
|
|
29
|
-
The
|
|
29
|
+
The default keyword [search box](https://www.shoalrun.com/author/search.md) uses the separate page-level `search-index.json`. The included `semantic` provider connects that box to the passage-search endpoint. You don't need a passage index for normal static-site keyword search.
|
|
30
30
|
|
|
31
31
|
Create the files after building the site:
|
|
32
32
|
|
|
@@ -70,7 +70,7 @@ The summary gains an `embeddings` object:
|
|
|
70
70
|
}
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
The command sends each passage's [embedding input](https://www.shoalrun.com/chat/passage-index.md#embedding-input) to the configured provider. The key
|
|
73
|
+
The command sends each passage's [embedding input](https://www.shoalrun.com/chat/passage-index.md#embedding-input) to the configured provider. The key isn't written to the output.
|
|
74
74
|
|
|
75
75
|
It writes two files next to `chunks.json`:
|
|
76
76
|
|
|
@@ -18,15 +18,15 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Passage index
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
25
25
|
Parent page: [Full Markdown page](/chat/passage-index.md)
|
|
26
26
|
|
|
27
|
-
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and
|
|
27
|
+
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and the optional semantic search endpoint use it to find relevant parts of a page.
|
|
28
28
|
|
|
29
|
-
The
|
|
29
|
+
The default keyword [search box](https://www.shoalrun.com/author/search.md) uses the separate page-level `search-index.json`. The included `semantic` provider connects that box to the passage-search endpoint. You don't need a passage index for normal static-site keyword search.
|
|
30
30
|
|
|
31
31
|
Create the files after building the site:
|
|
32
32
|
|
|
@@ -18,15 +18,15 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Passage index
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
25
25
|
Parent page: [Full Markdown page](/chat/passage-index.md)
|
|
26
26
|
|
|
27
|
-
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and
|
|
27
|
+
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and the optional semantic search endpoint use it to find relevant parts of a page.
|
|
28
28
|
|
|
29
|
-
The
|
|
29
|
+
The default keyword [search box](https://www.shoalrun.com/author/search.md) uses the separate page-level `search-index.json`. The included `semantic` provider connects that box to the passage-search endpoint. You don't need a passage index for normal static-site keyword search.
|
|
30
30
|
|
|
31
31
|
Create the files after building the site:
|
|
32
32
|
|
|
@@ -18,15 +18,15 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Passage index
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
25
25
|
Parent page: [Full Markdown page](/chat/passage-index.md)
|
|
26
26
|
|
|
27
|
-
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and
|
|
27
|
+
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and the optional semantic search endpoint use it to find relevant parts of a page.
|
|
28
28
|
|
|
29
|
-
The
|
|
29
|
+
The default keyword [search box](https://www.shoalrun.com/author/search.md) uses the separate page-level `search-index.json`. The included `semantic` provider connects that box to the passage-search endpoint. You don't need a passage index for normal static-site keyword search.
|
|
30
30
|
|
|
31
31
|
Create the files after building the site:
|
|
32
32
|
|
|
@@ -39,14 +39,18 @@ Indexing leaves published page content unchanged. The files sit beside the build
|
|
|
39
39
|
|
|
40
40
|
## Passage IDs and links
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
Since `0.1.0-alpha.16`, a passage ID contains the URL-encoded publication, `:`, the URL-encoded page ID, `#`, and a slug of the heading path. Repeated logical page IDs in different releases have distinct passage IDs. A passage without headings uses `intro`. The chunker adds a suffix when IDs would collide:
|
|
43
43
|
|
|
44
|
-
| ID
|
|
45
|
-
|
|
|
46
|
-
| `guide.configuration#understand-the-three-stages` | The first passage in that section. |
|
|
47
|
-
| `guide.configuration#understand-the-three-stages~2` | The second part of a section that split. |
|
|
48
|
-
| `guide.configuration#notes-2` | The second section on the page with the same heading path. |
|
|
44
|
+
| ID | Meaning |
|
|
45
|
+
| ----------------------------------------------------------------------------- | ---------------------------------------------------------- |
|
|
46
|
+
| `production%7Ccurrent%7Cen:guide.configuration#understand-the-three-stages` | The first passage in that section. |
|
|
47
|
+
| `production%7Ccurrent%7Cen:guide.configuration#understand-the-three-stages~2` | The second part of a section that split. |
|
|
48
|
+
| `production%7Ccurrent%7Cen:guide.configuration#notes-2` | The second section on the page with the same heading path. |
|
|
49
49
|
|
|
50
|
-
IDs stay the same when body text changes. They change when you rename a heading or the page
|
|
50
|
+
IDs stay the same when body text changes. They change when you rename a heading, the page ID, or its publication. Treat the complete passage ID as an opaque identifier; use `docId` for the logical page identity.
|
|
51
|
+
|
|
52
|
+
When upgrading an existing index, rerun `shoalrun index site-dist --embed --config docs.config.yaml` with the same embedding configuration. Matching input vectors are reused even when stored passage IDs change. Regenerate answer cards after rebuilding their cited IDs. Older indexes with duplicate passage IDs fail with rebuild instructions instead of silently sharing vectors across releases.
|
|
53
|
+
|
|
54
|
+
The index command’s JSON summary includes `sourceDigest` and passage counts for each publication. Check these fields before starting a server, and index each customer’s already-pruned build separately. A running preview reads indexes at startup, so restart it after reindexing. Stored vectors remain file-backed; this release doesn't add an external vector database.
|
|
51
55
|
|
|
52
56
|
Section links come from the heading IDs in `search-index.json`. A passage links to the page, without a `#` anchor, when the build has no search index or when a component generated the heading. Walkthrough steps and tab labels are examples. The [site search](https://www.shoalrun.com/author/search.md) page describes the index.
|
|
@@ -18,15 +18,15 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Passage index
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
25
25
|
Parent page: [Full Markdown page](/chat/passage-index.md)
|
|
26
26
|
|
|
27
|
-
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and
|
|
27
|
+
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and the optional semantic search endpoint use it to find relevant parts of a page.
|
|
28
28
|
|
|
29
|
-
The
|
|
29
|
+
The default keyword [search box](https://www.shoalrun.com/author/search.md) uses the separate page-level `search-index.json`. The included `semantic` provider connects that box to the passage-search endpoint. You don't need a passage index for normal static-site keyword search.
|
|
30
30
|
|
|
31
31
|
Create the files after building the site:
|
|
32
32
|
|
|
@@ -18,15 +18,15 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Passage index
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
25
25
|
Parent page: [Full Markdown page](/chat/passage-index.md)
|
|
26
26
|
|
|
27
|
-
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and
|
|
27
|
+
A passage index splits built Markdown pages into smaller pieces for retrieval. Each passage keeps its page title, heading path, and source link. [Chat](https://www.shoalrun.com/chat.md) and the optional semantic search endpoint use it to find relevant parts of a page.
|
|
28
28
|
|
|
29
|
-
The
|
|
29
|
+
The default keyword [search box](https://www.shoalrun.com/author/search.md) uses the separate page-level `search-index.json`. The included `semantic` provider connects that box to the passage-search endpoint. You don't need a passage index for normal static-site keyword search.
|
|
30
30
|
|
|
31
31
|
Create the files after building the site:
|
|
32
32
|
|
|
@@ -43,7 +43,7 @@ Each entry in `chunks` describes one passage:
|
|
|
43
43
|
|
|
44
44
|
```json title="ai/chunks.json"
|
|
45
45
|
{
|
|
46
|
-
"id": "guide.configuration#understand-the-three-stages",
|
|
46
|
+
"id": "production%7Ccurrent%7Cen:guide.configuration#understand-the-three-stages",
|
|
47
47
|
"docId": "guide.configuration",
|
|
48
48
|
"title": "Organize project configuration",
|
|
49
49
|
"type": "how-to",
|
|
@@ -61,20 +61,20 @@ Each entry in `chunks` describes one passage:
|
|
|
61
61
|
}
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
| Field | Value
|
|
65
|
-
| ------------------------ |
|
|
66
|
-
| `id` | The passage ID. See [Passage IDs](https://www.shoalrun.com/chat/passage-index.md#passage-ids-and-links).
|
|
67
|
-
| `docId`, `title`, `type` | The page's ID, title, and type.
|
|
68
|
-
| `variant` | The page's channel, version, and language, joined by `\|`. Passages from different publications never mix.
|
|
69
|
-
| `headingPath` | The `##` and `###` headings above the passage, outermost first. Empty for an intro passage.
|
|
70
|
-
| `url` | The page URL, plus `#` and the section's heading ID when one exists.
|
|
71
|
-
| `markdownUrl` | The page's Markdown twin.
|
|
72
|
-
| `readerFilters` | Optional. The page's reader marks, such as `{ "audience": ["maintainers"] }`. It
|
|
73
|
-
| `text` | The passage's Markdown, without its own heading.
|
|
74
|
-
| `digest` | A SHA-256 hash of the passage's embedding input.
|
|
75
|
-
| `search` | Prepared result content: `schemaVersion: 1`, explanatory `paragraphs`, and code/table `literalLines`. Generated navigation lists are excluded from the paragraphs.
|
|
76
|
-
|
|
77
|
-
The file also records `schemaVersion` and a `sourceDigest`
|
|
64
|
+
| Field | Value |
|
|
65
|
+
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
66
|
+
| `id` | The passage ID. See [Passage IDs](https://www.shoalrun.com/chat/passage-index.md#passage-ids-and-links). |
|
|
67
|
+
| `docId`, `title`, `type` | The page's ID, title, and type. |
|
|
68
|
+
| `variant` | The page's channel, version, and language, joined by `\|`. Passages from different publications never mix. |
|
|
69
|
+
| `headingPath` | The `##` and `###` headings above the passage, outermost first. Empty for an intro passage. |
|
|
70
|
+
| `url` | The page URL, plus `#` and the section's heading ID when one exists. |
|
|
71
|
+
| `markdownUrl` | The page's Markdown twin. |
|
|
72
|
+
| `readerFilters` | Optional. The page's reader marks, such as `{ "audience": ["maintainers"] }`. It's present only when the page has marks. Retrieval uses it to answer for one audience. |
|
|
73
|
+
| `text` | The passage's Markdown, without its own heading. |
|
|
74
|
+
| `digest` | A SHA-256 hash of the passage's embedding input. |
|
|
75
|
+
| `search` | Prepared result content: `schemaVersion: 1`, explanatory `paragraphs`, and code/table `literalLines`. Generated navigation lists are excluded from the paragraphs. |
|
|
76
|
+
|
|
77
|
+
The file also records `schemaVersion` and a `sourceDigest`. Since `0.1.0-alpha.16`, this digest identifies passage content, publication membership, routes, reader marks, and prepared search evidence. Metadata changes can change this digest without requiring new embeddings.
|
|
78
78
|
|
|
79
79
|
### Embedding input
|
|
80
80
|
|
|
@@ -88,4 +88,4 @@ Configuration takes effect in three stages: …
|
|
|
88
88
|
|
|
89
89
|
`digest` hashes that string, so it changes when the title, the heading path, or the text changes. A stored vector or score that no longer matches a passage's digest is stale.
|
|
90
90
|
|
|
91
|
-
The derived `search` data
|
|
91
|
+
The derived `search` data isn't part of the embedding input or its digest. Preparing it doesn't require new embeddings for unchanged passages.
|
|
@@ -18,7 +18,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
18
18
|
|
|
19
19
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > Documentation chat > Answer cards
|
|
20
20
|
|
|
21
|
-
**Updated: 2026-
|
|
21
|
+
**Updated: 2026-11-05.**
|
|
22
22
|
|
|
23
23
|
**Status: Experimental.**
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@ An answer card stores a reviewed answer to a recurring question. Generate cards
|
|
|
26
26
|
|
|
27
27
|
A confirmed card avoids generating a new answer. Matching still calls the embedding provider and relevance scorer.
|
|
28
28
|
|
|
29
|
-
> **Note:** An answer card
|
|
29
|
+
> **Note:** An answer card isn't a page card. Page cards preview another page; see [Cards and collections](https://www.shoalrun.com/author/components/cards.md). Answer cards are stored answers.
|
|
30
30
|
|
|
31
31
|
## What you need
|
|
32
32
|
|
|
@@ -61,7 +61,7 @@ shoalrun index site-dist --embed
|
|
|
61
61
|
shoalrun answers site-dist --questions config/answers.yaml
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
Each question goes through the normal retrieval and answer checks. The command turns off card reuse and direct excerpts while generating cards, so an accepted card contains a freshly written answer. It also embeds each kept question and its aliases for later similarity matching. A question the docs
|
|
64
|
+
Each question goes through the normal retrieval and answer checks. The command turns off card reuse and direct excerpts while generating cards, so an accepted card contains a freshly written answer. It also embeds each kept question and its aliases for later similarity matching. A question the docs don't cover may be declined before a chat-model call. The command writes `ai/answers.json` and reports kept and skipped questions. It skips a question when:
|
|
65
65
|
|
|
66
66
|
- The docs don't cover it.
|
|
67
67
|
- The answer was hedged.
|
|
@@ -103,7 +103,7 @@ shoalrun ask-log ask.jsonl --cards-out candidates.yaml
|
|
|
103
103
|
|
|
104
104
|
Cards work in the terminal, the local panel, and the Vercel chat function.
|
|
105
105
|
|
|
106
|
-
For Vercel, build with `--chat`, then run `shoalrun answers` against the function's private `site` directory before deployment. The function reads `site/ai/answers.json` from that directory. A plain `shoalrun vercel build --chat` embeds passages but
|
|
106
|
+
For Vercel, build with `--chat`, then run `shoalrun answers` against the function's private `site` directory before deployment. The function reads `site/ai/answers.json` from that directory. A plain `shoalrun vercel build --chat` embeds passages but doesn't generate cards.
|
|
107
107
|
|
|
108
108
|
This repository's `npm run docs:build-all` performs both steps. See [Publish on Vercel](https://www.shoalrun.com/publish/vercel.md) for the deployment workflow.
|
|
109
109
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Retrieval and chat settings
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-
|
|
20
|
+
**Updated: 2026-11-05.**
|
|
21
21
|
|
|
22
22
|
**Status: Experimental.**
|
|
23
23
|
|
|
@@ -123,7 +123,7 @@ chat:
|
|
|
123
123
|
|
|
124
124
|
The fields can add to a request but can't replace what Shoalrun sets, which is `model`, `messages`, `max_tokens`, `temperature`, and `stream`. Use `chat.model`, `chat.maxTokens`, and `chat.temperature` for those. A field whose name looks like a secret, such as a key, token, or password, fails validation, because the config never holds a key. Each fallback and escalation model inherits `body` and can replace it with its own. An empty `body: {}` clears it. Another service may reject a field it doesn't know, so check what yours accepts.
|
|
125
125
|
|
|
126
|
-
Service-specific fields can affect latency, cost, and quality. Test them with your own questions and model; support and effects vary by service. Shoalrun
|
|
126
|
+
Service-specific fields can affect latency, cost, and quality. Test them with your own questions and model; support and effects vary by service. Shoalrun doesn't interpret those extra fields.
|
|
127
127
|
|
|
128
128
|
## Choose the scorer
|
|
129
129
|
|
|
@@ -206,7 +206,7 @@ The main model answers first, and the checks run. If one of the `when` reasons a
|
|
|
206
206
|
|
|
207
207
|
Without `when`, the reasons are `unsupported-code` and `uncited`, plus `unsupported-claim` when `verify` is set. The code check is a heuristic that can misjudge a valid example. A second answer from a thinking model adds seconds. So many sites limit `when` to `unsupported-claim` and `uncited`. A declined answer or a direct excerpt is never escalated. If the escalation model fails, the first answer is shown with a note. `--no-escalate` on `ask` turns it off for one run.
|
|
208
208
|
|
|
209
|
-
Choose an escalation model using reviewed questions that your primary model handles poorly. A larger model
|
|
209
|
+
Choose an escalation model using reviewed questions that your primary model handles poorly. A larger model isn't automatically a better fit.
|
|
210
210
|
|
|
211
211
|
## Related reading
|
|
212
212
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Retrieval and chat settings
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-
|
|
20
|
+
**Updated: 2026-11-05.**
|
|
21
21
|
|
|
22
22
|
**Status: Experimental.**
|
|
23
23
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Retrieval and chat settings
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-
|
|
20
|
+
**Updated: 2026-11-05.**
|
|
21
21
|
|
|
22
22
|
**Status: Experimental.**
|
|
23
23
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Retrieval and chat settings
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-
|
|
20
|
+
**Updated: 2026-11-05.**
|
|
21
21
|
|
|
22
22
|
**Status: Experimental.**
|
|
23
23
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Retrieval and chat settings
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-
|
|
20
|
+
**Updated: 2026-11-05.**
|
|
21
21
|
|
|
22
22
|
**Status: Experimental.**
|
|
23
23
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/na
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Retrieval and chat > Retrieval and chat settings
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-
|
|
20
|
+
**Updated: 2026-11-05.**
|
|
21
21
|
|
|
22
22
|
**Status: Experimental.**
|
|
23
23
|
|
|
@@ -39,4 +39,4 @@ chat:
|
|
|
39
39
|
|
|
40
40
|
The fields can add to a request but can't replace what Shoalrun sets, which is `model`, `messages`, `max_tokens`, `temperature`, and `stream`. Use `chat.model`, `chat.maxTokens`, and `chat.temperature` for those. A field whose name looks like a secret, such as a key, token, or password, fails validation, because the config never holds a key. Each fallback and escalation model inherits `body` and can replace it with its own. An empty `body: {}` clears it. Another service may reject a field it doesn't know, so check what yours accepts.
|
|
41
41
|
|
|
42
|
-
Service-specific fields can affect latency, cost, and quality. Test them with your own questions and model; support and effects vary by service. Shoalrun
|
|
42
|
+
Service-specific fields can affect latency, cost, and quality. Test them with your own questions and model; support and effects vary by service. Shoalrun doesn't interpret those extra fields.
|