@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/dist/server.js
CHANGED
|
@@ -6,6 +6,13 @@ import { readFile, realpath, stat } from 'node:fs/promises';
|
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import { homeUrl, negotiatedDocument } from './negotiation.js';
|
|
8
8
|
const types = { '.html': 'text/html; charset=utf-8', '.md': 'text/markdown; charset=utf-8', '.xml': 'application/xml; charset=utf-8', '.json': 'application/json', '.yaml': 'application/yaml', '.yml': 'application/yaml', '.css': 'text/css; charset=utf-8', '.js': 'text/javascript; charset=utf-8', '.txt': 'text/plain; charset=utf-8', '.png': 'image/png', '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg', '.svg': 'image/svg+xml', '.woff2': 'font/woff2', '.woff': 'font/woff', '.ttf': 'font/ttf', '.otf': 'font/otf' };
|
|
9
|
+
const escapeHtml = (value) => value.replace(/[&<>"']/g, character => ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[character]));
|
|
10
|
+
const scriptJson = (value) => JSON.stringify(value).replace(/</g, '\\u003c');
|
|
11
|
+
export function previewMarkup(basePath, preview) {
|
|
12
|
+
const identity = preview?.profile ? `Customer preview: ${preview.profile} (edition ${preview.profileDigest?.slice(0, 12) ?? 'unknown'}, build ${preview.buildId?.slice(0, 12) ?? 'unknown'}).` : '';
|
|
13
|
+
const failure = preview?.error ? `Build failed: ${preview.error}. Showing the last successful build.` : '';
|
|
14
|
+
return `${identity ? `<aside id="shoalrun-preview-edition" role="status">${escapeHtml(identity)}</aside>` : ''}${failure ? `<aside id="shoalrun-build-status" role="alert">${escapeHtml(failure)}</aside>` : ''}<script>const updates=new EventSource(${scriptJson(`${basePath}/__shoalrun/reload`)});updates.addEventListener("built",event=>{const update=JSON.parse(event.data);let pathname=location.pathname;try{pathname=decodeURIComponent(pathname)}catch{}const route=pathname.replace(/\\/+$/,"")||"/";if(update.routes&&!update.routes.includes(route)&&update.home){location.assign(update.home)}else{location.reload()}});updates.addEventListener("failed",event=>{let status=document.getElementById("shoalrun-build-status");if(!status){status=document.createElement("aside");status.id="shoalrun-build-status";status.setAttribute("role","alert");document.body.append(status)}status.textContent="Build failed: "+JSON.parse(event.data).message+". Showing the last successful build."})</script>`;
|
|
15
|
+
}
|
|
9
16
|
const bridgeLimit = 20_000;
|
|
10
17
|
// Read a Node request into a Web `Request`, refusing bodies over the limit before a handler sees them.
|
|
11
18
|
async function bridge(request, response, handler) {
|
|
@@ -91,6 +98,8 @@ export async function createSiteServer(directory, liveClients, extras = {}) {
|
|
|
91
98
|
if (liveClients && pathname === `${basePath}/__shoalrun/reload`) {
|
|
92
99
|
response.writeHead(200, { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', Connection: 'keep-alive' });
|
|
93
100
|
response.write(': connected\n\n');
|
|
101
|
+
if (extras.preview?.error)
|
|
102
|
+
response.write(`event: failed\ndata: ${JSON.stringify({ message: extras.preview.error })}\n\n`);
|
|
94
103
|
liveClients.add(response);
|
|
95
104
|
response.on('close', () => liveClients.delete(response));
|
|
96
105
|
return;
|
|
@@ -149,7 +158,7 @@ export async function createSiteServer(directory, liveClients, extras = {}) {
|
|
|
149
158
|
const sendRepresentation = (body, resourceHeaders) => {
|
|
150
159
|
const match = request.headers['if-none-match'];
|
|
151
160
|
const etag = resourceHeaders.ETag;
|
|
152
|
-
const notModified = (request.method === 'GET' || request.method === 'HEAD') && etag && match?.split(',').some(value => value.trim() === '*' || value.trim().replace(/^W\//, '') === etag);
|
|
161
|
+
const notModified = !liveClients && (request.method === 'GET' || request.method === 'HEAD') && etag && match?.split(',').some(value => value.trim() === '*' || value.trim().replace(/^W\//, '') === etag);
|
|
153
162
|
response.writeHead(notModified ? 304 : 200, resourceHeaders);
|
|
154
163
|
response.end(notModified || request.method === 'HEAD' ? undefined : body);
|
|
155
164
|
};
|
|
@@ -172,7 +181,7 @@ export async function createSiteServer(directory, liveClients, extras = {}) {
|
|
|
172
181
|
let body = await readFile(file);
|
|
173
182
|
const documentRoute = pathname === '/' ? '/' : pathname.replace(/\/+$/, '');
|
|
174
183
|
const document = manifest.documents.find(item => item.url === documentRoute);
|
|
175
|
-
const injected = `${liveClients ?
|
|
184
|
+
const injected = `${liveClients ? previewMarkup(basePath, extras.preview) : ''}${extras.ask && extras.widget ? `<script src="${basePath}/__shoalrun/ask.js" defer></script>` : ''}`;
|
|
176
185
|
if (injected && file.endsWith('.html') && request.method !== 'HEAD')
|
|
177
186
|
body = Buffer.from(body.toString('utf8').replace('</body>', `${injected}</body>`));
|
|
178
187
|
sendRepresentation(body, { ...(headers[pathname] ?? { 'Content-Type': types[path.extname(file)] ?? 'application/octet-stream' }), ...(file.toLowerCase().endsWith('.svg') ? { 'Content-Security-Policy': 'sandbox' } : {}), ...(document ? { Vary: 'Accept', Link: `<${document.markdownUrl}>; rel="alternate"; type="text/markdown"` } : {}) });
|
|
@@ -206,7 +215,9 @@ export async function createSiteServer(directory, liveClients, extras = {}) {
|
|
|
206
215
|
const document = manifest.documents.find(item => item.markdownUrl === pathname || (markdown && item.url === (pathname.replace(/\/+$/, '') || '/')));
|
|
207
216
|
const twin = document && await siteFile(document.url === '/' ? '/index.html' : `${document.url}/index.html`).then(file => stat(file)).then(info => info.isFile()).catch(() => false) ? document.url : undefined;
|
|
208
217
|
response.writeHead(404, { 'Content-Type': markdown ? 'text/markdown; charset=utf-8' : 'text/html; charset=utf-8', Vary: 'Accept', 'X-Robots-Tag': 'noindex', ...(twin ? { Link: `<${twin}>; rel="alternate"; type="text/html"` } : {}) });
|
|
209
|
-
|
|
218
|
+
let body = !markdown && errorHtml ? (twin ? addNotFoundTwin(errorHtml, twin) : errorHtml) : notFoundPage(basePath, home ?? `${basePath}/`, markdown, twin, search);
|
|
219
|
+
if (!markdown && liveClients)
|
|
220
|
+
body = body.replace('</body>', `${previewMarkup(basePath, extras.preview)}</body>`);
|
|
210
221
|
response.end(request.method === 'HEAD' ? undefined : body);
|
|
211
222
|
}
|
|
212
223
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { documentKey } from './publication-identity.js';
|
|
1
2
|
import { link, paragraph, root, text } from './semantic-markdown.js';
|
|
2
3
|
export function validateSubjectDeprecation(value, file) {
|
|
3
4
|
if (value === undefined)
|
|
@@ -34,7 +35,7 @@ export function resolveSubjectDeprecation(doc, docs) {
|
|
|
34
35
|
const id = value[key];
|
|
35
36
|
if (!id)
|
|
36
37
|
continue;
|
|
37
|
-
const target = docs.get(
|
|
38
|
+
const target = docs.get(documentKey(id, doc.variant));
|
|
38
39
|
if (id === doc.frontmatter.id || !target || target.frontmatter.access?.policy !== 'public')
|
|
39
40
|
throw new Error(`${doc.file}: subjectDeprecation.${key} must name another public document in the same publication: ${id}`);
|
|
40
41
|
result[key] = { id, title: target.frontmatter.title, url: target.route, markdownUrl: target.markdownRoute };
|
package/dist/vercel-function.js
CHANGED
|
@@ -90,7 +90,7 @@ export async function addAskFunction(input) {
|
|
|
90
90
|
const runtime = {
|
|
91
91
|
schemaVersion: 1,
|
|
92
92
|
settings: { chat: settings.chat, retrieval: settings.retrieval, ...(settings.search ? { search: settings.search } : {}), ...(settings.readerFilters ? { readerFilters: settings.readerFilters } : {}) },
|
|
93
|
-
...(publications?.channel && publications.version && publications.language ? { variant: { channel: publications.channel, version: publications.version, language: publications.language } } : {}),
|
|
93
|
+
...(publications?.channel && publications.version && publications.language ? { variant: { ...(publications.product ? { product: publications.product } : {}), channel: publications.channel, version: publications.version, language: publications.language } } : {}),
|
|
94
94
|
...(origin ? { hosts: [new URL(origin).host] } : {})
|
|
95
95
|
};
|
|
96
96
|
await writeFile(path.join(func, 'runtime.json'), JSON.stringify(runtime, null, 2) + '\n');
|
|
@@ -100,8 +100,16 @@ export async function addAskFunction(input) {
|
|
|
100
100
|
await writeFile(path.join(func, 'index.js'), `import { createAskFunction, nodeAdapter } from './lib/ask-function.js';\n\nconst directory = new URL('.', import.meta.url).pathname;\nexport default nodeAdapter(() => createAskFunction(directory));\n`);
|
|
101
101
|
// The answer can take about a minute. Hobby allows up to 300 seconds with Fluid compute, so 120 leaves room.
|
|
102
102
|
await writeFile(path.join(func, '.vc-config.json'), JSON.stringify({ runtime: 'nodejs22.x', handler: 'index.js', launcherType: 'Nodejs', shouldAddHelpers: false, maxDuration: 120, memory: 1024 }, null, 2) + '\n');
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
// Build Search from its own runtime closure and private retrieval data. It
|
|
104
|
+
// must not inherit chat generation, cards, logging, or compiler dependencies.
|
|
105
|
+
await mkdir(path.join(searchFunc, 'site', 'ai'), { recursive: true });
|
|
106
|
+
for (const name of ['chunks.json', 'embeddings.json', 'embeddings.bin'])
|
|
107
|
+
await cp(path.join(site, 'ai', name), path.join(searchFunc, 'site', 'ai', name));
|
|
108
|
+
const { chat: _chat, ...searchSettings } = runtime.settings;
|
|
109
|
+
await writeFile(path.join(searchFunc, 'runtime.json'), JSON.stringify({ ...runtime, settings: searchSettings, searchStore: chat.budget.store }, null, 2) + '\n');
|
|
110
|
+
await writeFile(path.join(searchFunc, 'package.json'), JSON.stringify({ type: 'module' }) + '\n');
|
|
111
|
+
await copyFunctionRuntime(dist, 'search-function.js', searchFunc);
|
|
112
|
+
await writeFile(path.join(searchFunc, 'index.js'), `import { createHostedSearchFunction } from './lib/search-function.js';\nimport { nodeAdapter } from './lib/function-runtime.js';\n\nconst directory = new URL('.', import.meta.url).pathname;\nexport default nodeAdapter(() => createHostedSearchFunction(directory));\n`);
|
|
105
113
|
await writeFile(path.join(searchFunc, '.vc-config.json'), JSON.stringify({ runtime: 'nodejs22.x', handler: 'index.js', launcherType: 'Nodejs', shouldAddHelpers: false, maxDuration: 30, memory: 1024 }, null, 2) + '\n');
|
|
106
114
|
await readdir(func);
|
|
107
115
|
return { added: true, directory: func, chunks: built.index.chunks.length, embedded: true, embeddingCounts: { embedded: embedded.embedded, reused: embedded.reused } };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Independent product editions
|
|
2
|
+
|
|
3
|
+
This runnable example publishes a small Payments and Reporting documentation site from six source pages. Payments has v2 and v3 releases; Reporting has an independent v1 release. The operating checklist is one source with explicit membership in all three publications.
|
|
4
|
+
|
|
5
|
+
| Customer profile | Payments | Reporting | Feature grants |
|
|
6
|
+
| --- | --- | --- | --- |
|
|
7
|
+
| Customer A | v3 | v1 | Priority settlement and scheduled exports |
|
|
8
|
+
| Customer B | v2 | v1 | Neither optional feature |
|
|
9
|
+
|
|
10
|
+
From the repository root, build the CLI once with `npm --prefix framework run build`, then start either preview:
|
|
11
|
+
|
|
12
|
+
```sh
|
|
13
|
+
node framework/dist/cli.js dev framework/example-configs/products/docs.config.yaml /tmp/shoalrun-products-a --profile framework/example-configs/products/profiles/customer-a.yaml --port 8775
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Open <http://127.0.0.1:8775/payments/v3/start> or <http://127.0.0.1:8775/reporting/v1/start>.
|
|
17
|
+
|
|
18
|
+
```sh
|
|
19
|
+
node framework/dist/cli.js dev framework/example-configs/products/docs.config.yaml /tmp/shoalrun-products-b --profile framework/example-configs/products/profiles/customer-b.yaml --port 8776
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Open <http://127.0.0.1:8776/payments/v2/start> or <http://127.0.0.1:8776/reporting/v1/start>.
|
|
23
|
+
|
|
24
|
+
To include both Payments releases in the same preview, select `profiles/all-releases.yaml` instead. The publication dropdown then offers Payments v2, Payments v3, and Reporting v1. Customer profiles A and B expose only their selected releases.
|
|
25
|
+
|
|
26
|
+
Language labels are hidden automatically because this example publishes English only. Set `site.publicationSelector.showLanguage: false` to suppress language labels explicitly, or `true` to show them.
|
|
27
|
+
|
|
28
|
+
Inspect these differences:
|
|
29
|
+
|
|
30
|
+
- Customer A gets Payments v3 instructions and its priority settlement page. Customer B gets Payments v2 instructions.
|
|
31
|
+
- Both editions use Reporting v1, but only Customer A includes the scheduled exports page and feature-specific sections.
|
|
32
|
+
- Links from the shared operating checklist return to the current product and release.
|
|
33
|
+
- Editing the selected profile, SKU manifest, or page source refreshes the preview. For example, change Customer A's Payments selection from v3 to v2 while leaving Reporting at v1.
|
|
34
|
+
|
|
35
|
+
`requires` removes whole pages during compilation. `<ForFeature>` removes sections. Neither relies on browser reader filters. `profiles.requireClassification` checks every public source for an explicit `shared: true` or feature requirement.
|
|
36
|
+
|
|
37
|
+
For a static edition, replace `dev` with `build` and omit `--port`; pass the same profile and output directory. The data and workflows in this example describe a fictional product suite.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: guide.operations
|
|
3
|
+
title: Daily operating checklist
|
|
4
|
+
summary: A shared source page published explicitly into each supported product release.
|
|
5
|
+
slug: /operations
|
|
6
|
+
shared: true
|
|
7
|
+
publications:
|
|
8
|
+
- { product: payments, channel: production, version: v2 }
|
|
9
|
+
- { product: payments, channel: production, version: v3 }
|
|
10
|
+
- { product: reporting, channel: production, version: v1 }
|
|
11
|
+
---
|
|
12
|
+
Run this checklist before closing a reporting period. The same source page serves Payments v2, Payments v3, and Reporting v1; each publication keeps its own links and navigation.
|
|
13
|
+
|
|
14
|
+
## Before you start
|
|
15
|
+
|
|
16
|
+
- Confirm the product and release shown in the page header.
|
|
17
|
+
- Check the account and currency used for the day's activity.
|
|
18
|
+
- Keep a list of orders that still need investigation.
|
|
19
|
+
|
|
20
|
+
## Close the day
|
|
21
|
+
|
|
22
|
+
1. Review completed payments and unsettled orders.
|
|
23
|
+
2. Compare the settlement total with the matching reporting period.
|
|
24
|
+
3. Record any unresolved discrepancy and assign an owner.
|
|
25
|
+
|
|
26
|
+
<ForPublication product="payments" version="v2">
|
|
27
|
+
|
|
28
|
+
### Payments v2 check
|
|
29
|
+
|
|
30
|
+
Match settlement records using the merchant reference. This instruction belongs only to the Payments v2 publication.
|
|
31
|
+
|
|
32
|
+
</ForPublication>
|
|
33
|
+
|
|
34
|
+
<ForPublication product="payments" version="v3">
|
|
35
|
+
|
|
36
|
+
### Payments v3 check
|
|
37
|
+
|
|
38
|
+
Match settlement records using the order reference. Use the idempotency key only when investigating retries.
|
|
39
|
+
|
|
40
|
+
</ForPublication>
|
|
41
|
+
|
|
42
|
+
<ForFeature allOf="scheduled-exports">
|
|
43
|
+
|
|
44
|
+
## Check automatic deliveries
|
|
45
|
+
|
|
46
|
+
Confirm the latest scheduled export arrived and covers the expected period. This section is compiled into Customer A's edition.
|
|
47
|
+
|
|
48
|
+
</ForFeature>
|
|
49
|
+
|
|
50
|
+
[Return to this product's getting-started guide](doc:guide.start).
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: guide.start
|
|
3
|
+
title: Start with Payments v2
|
|
4
|
+
summary: Configure the reference-based payment workflow used by Customer B.
|
|
5
|
+
slug: /start
|
|
6
|
+
product: payments
|
|
7
|
+
version: v2
|
|
8
|
+
shared: true
|
|
9
|
+
---
|
|
10
|
+
Payments v2 uses a merchant reference to track a payment from creation through settlement. This edition follows the v2 workflow while Reporting remains on its own v1 release.
|
|
11
|
+
|
|
12
|
+
## Create a payment
|
|
13
|
+
|
|
14
|
+
1. Choose a unique merchant reference for the order.
|
|
15
|
+
2. Submit the amount and currency with that reference.
|
|
16
|
+
3. Save the returned payment identifier before confirming the order.
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"merchantReference": "order-1042",
|
|
21
|
+
"amount": 12500,
|
|
22
|
+
"currency": "USD"
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Confirm settlement
|
|
27
|
+
|
|
28
|
+
Match the merchant reference on the settlement record to the original order. Retry a failed submission with the same reference so reconciliation can identify it.
|
|
29
|
+
|
|
30
|
+
[Review the daily operating checklist](doc:guide.operations).
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: guide.start
|
|
3
|
+
title: Start with Payments v3
|
|
4
|
+
summary: Use an idempotency key and a separate reconciliation reference in Payments v3.
|
|
5
|
+
slug: /start
|
|
6
|
+
product: payments
|
|
7
|
+
version: v3
|
|
8
|
+
shared: true
|
|
9
|
+
---
|
|
10
|
+
Payments v3 separates request retries from business reconciliation. Use an idempotency key for retry safety and an order reference for settlement matching. Reporting can stay on v1 when Payments moves to v3.
|
|
11
|
+
|
|
12
|
+
## Create a payment
|
|
13
|
+
|
|
14
|
+
1. Generate an idempotency key for this payment attempt.
|
|
15
|
+
2. Send the order reference separately from the key.
|
|
16
|
+
3. Save the returned payment identifier and status.
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"idempotencyKey": "payment-attempt-1042",
|
|
21
|
+
"orderReference": "order-1042",
|
|
22
|
+
"amount": { "value": 12500, "currency": "USD" }
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Retry a submission
|
|
27
|
+
|
|
28
|
+
Reuse the idempotency key for the same attempt. A new order needs a new key. Keep the order reference stable when comparing payment and settlement records.
|
|
29
|
+
|
|
30
|
+
<ForFeature allOf="priority-settlement">
|
|
31
|
+
|
|
32
|
+
## Settle an eligible payment sooner
|
|
33
|
+
|
|
34
|
+
Your edition includes priority settlement. [Prepare and submit a priority batch](doc:guide.priority-settlement) after the payment reaches the eligible state.
|
|
35
|
+
|
|
36
|
+
</ForFeature>
|
|
37
|
+
|
|
38
|
+
[Review the daily operating checklist](doc:guide.operations).
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: guide.priority-settlement
|
|
3
|
+
title: Submit a priority settlement batch
|
|
4
|
+
summary: Check eligibility and submit a Payments v3 priority batch.
|
|
5
|
+
slug: /priority-settlement
|
|
6
|
+
product: payments
|
|
7
|
+
version: v3
|
|
8
|
+
requires:
|
|
9
|
+
allOf: [priority-settlement]
|
|
10
|
+
---
|
|
11
|
+
Priority settlement is included in Customer A's feature grants. This entire page is absent from an edition without that grant.
|
|
12
|
+
|
|
13
|
+
## Prepare the batch
|
|
14
|
+
|
|
15
|
+
1. Select payments that have completed authorization and meet the settlement rules.
|
|
16
|
+
2. Confirm the settlement account, currency, and batch total.
|
|
17
|
+
3. Assign a unique batch reference and submit the batch once.
|
|
18
|
+
|
|
19
|
+
## Check the result
|
|
20
|
+
|
|
21
|
+
Save the batch identifier and compare its accepted count with the submitted count. Investigate rejected entries before retrying them; do not resubmit payments already accepted into the batch.
|
|
22
|
+
|
|
23
|
+
[Return to Payments v3](doc:guide.start).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: guide.start
|
|
3
|
+
title: Start with Reporting v1
|
|
4
|
+
summary: Reconcile completed payments with a daily reporting period.
|
|
5
|
+
slug: /start
|
|
6
|
+
product: reporting
|
|
7
|
+
version: v1
|
|
8
|
+
shared: true
|
|
9
|
+
---
|
|
10
|
+
Reporting v1 organizes completed transactions by reporting period. Both customer editions use this release, even though they use different Payments versions.
|
|
11
|
+
|
|
12
|
+
## Prepare a daily report
|
|
13
|
+
|
|
14
|
+
1. Select a completed reporting period.
|
|
15
|
+
2. Choose the account and settlement currency.
|
|
16
|
+
3. Generate the report and record its period and creation time.
|
|
17
|
+
|
|
18
|
+
| Field | Check before reconciliation |
|
|
19
|
+
| --- | --- |
|
|
20
|
+
| Reporting period | Covers the day being reconciled. |
|
|
21
|
+
| Currency | Matches the settlement account. |
|
|
22
|
+
| Order reference | Identifies the original order. |
|
|
23
|
+
|
|
24
|
+
## Compare totals
|
|
25
|
+
|
|
26
|
+
Compare the report total to the settlement record. Investigate missing orders and currency mismatches before closing the period.
|
|
27
|
+
|
|
28
|
+
<ForFeature allOf="scheduled-exports">
|
|
29
|
+
|
|
30
|
+
## Receive reports automatically
|
|
31
|
+
|
|
32
|
+
Your edition includes scheduled exports. [Configure a recurring delivery](doc:guide.scheduled-exports) after reviewing the account and reporting period.
|
|
33
|
+
|
|
34
|
+
</ForFeature>
|
|
35
|
+
|
|
36
|
+
[Use the shared operating checklist](doc:guide.operations).
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: guide.scheduled-exports
|
|
3
|
+
title: Schedule a daily reporting export
|
|
4
|
+
summary: Choose a delivery period and verify the first Reporting v1 export.
|
|
5
|
+
slug: /scheduled-exports
|
|
6
|
+
product: reporting
|
|
7
|
+
version: v1
|
|
8
|
+
requires:
|
|
9
|
+
allOf: [scheduled-exports]
|
|
10
|
+
---
|
|
11
|
+
Scheduled exports are included in Customer A's feature grants. Customer B uses the same Reporting v1 release with manual reporting instructions.
|
|
12
|
+
|
|
13
|
+
## Configure the delivery
|
|
14
|
+
|
|
15
|
+
1. Select the account, reporting period, and settlement currency.
|
|
16
|
+
2. Choose a daily delivery time after the reporting period closes.
|
|
17
|
+
3. Set the delivery destination and save the schedule.
|
|
18
|
+
|
|
19
|
+
## Verify the first export
|
|
20
|
+
|
|
21
|
+
Check that the first delivered file uses the expected period and currency. Compare its row count and total with a report generated manually for the same period.
|
|
22
|
+
|
|
23
|
+
[Return to Reporting v1](doc:guide.start).
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
schemaVersion: 1
|
|
2
|
+
|
|
3
|
+
site:
|
|
4
|
+
title: Harbor product documentation
|
|
5
|
+
editionBadge: always
|
|
6
|
+
|
|
7
|
+
theme:
|
|
8
|
+
preset: reef
|
|
9
|
+
palette: harbor
|
|
10
|
+
mode: system
|
|
11
|
+
|
|
12
|
+
publications:
|
|
13
|
+
defaults: { channel: production, language: en }
|
|
14
|
+
channels:
|
|
15
|
+
production: { pathPrefix: "" }
|
|
16
|
+
products:
|
|
17
|
+
payments:
|
|
18
|
+
label: Payments
|
|
19
|
+
pathPrefix: /payments
|
|
20
|
+
defaultVersion: v3
|
|
21
|
+
versions:
|
|
22
|
+
v2: { pathPrefix: /v2 }
|
|
23
|
+
v3: { pathPrefix: /v3 }
|
|
24
|
+
reporting:
|
|
25
|
+
label: Reporting
|
|
26
|
+
pathPrefix: /reporting
|
|
27
|
+
defaultVersion: v1
|
|
28
|
+
versions:
|
|
29
|
+
v1: { pathPrefix: /v1 }
|
|
30
|
+
enabled:
|
|
31
|
+
- { product: payments, channel: production, version: v2 }
|
|
32
|
+
- { product: payments, channel: production, version: v3 }
|
|
33
|
+
- { product: reporting, channel: production, version: v1 }
|
|
34
|
+
|
|
35
|
+
profiles:
|
|
36
|
+
manifest: ./skus.yaml
|
|
37
|
+
requireClassification: true
|
|
38
|
+
pruneNavigation: true
|
|
39
|
+
|
|
40
|
+
frontmatter:
|
|
41
|
+
defaults:
|
|
42
|
+
type: guide
|
|
43
|
+
channel: production
|
|
44
|
+
language: en
|
|
45
|
+
access: { policy: public }
|
|
46
|
+
|
|
47
|
+
navigation:
|
|
48
|
+
- { id: start, doc: guide.start }
|
|
49
|
+
- { id: operations, doc: guide.operations }
|
|
50
|
+
- { id: priority-settlement, doc: guide.priority-settlement }
|
|
51
|
+
- { id: scheduled-exports, doc: guide.scheduled-exports }
|
|
52
|
+
|
|
53
|
+
outputs:
|
|
54
|
+
html:
|
|
55
|
+
highlighting: { provider: none }
|
|
56
|
+
shareImages: false
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
schemaVersion: 1
|
|
2
|
+
skus:
|
|
3
|
+
- { id: business, revision: '2026' }
|
|
4
|
+
site:
|
|
5
|
+
title: Harbor - Customer A
|
|
6
|
+
header:
|
|
7
|
+
links:
|
|
8
|
+
- { label: Payments, href: /payments/v3/start }
|
|
9
|
+
- { label: Reporting, href: /reporting/v1/start }
|
|
10
|
+
publications:
|
|
11
|
+
enabled:
|
|
12
|
+
- { product: payments, channel: production, version: v3 }
|
|
13
|
+
- { product: reporting, channel: production, version: v1 }
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
schemaVersion: 1
|
|
2
|
+
skus:
|
|
3
|
+
- { id: business, revision: '2025' }
|
|
4
|
+
site:
|
|
5
|
+
title: Harbor - Customer B
|
|
6
|
+
header:
|
|
7
|
+
links:
|
|
8
|
+
- { label: Payments, href: /payments/v2/start }
|
|
9
|
+
- { label: Reporting, href: /reporting/v1/start }
|
|
10
|
+
publications:
|
|
11
|
+
enabled:
|
|
12
|
+
- { product: payments, channel: production, version: v2 }
|
|
13
|
+
- { product: reporting, channel: production, version: v1 }
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
schemaVersion: 1
|
|
2
|
+
features:
|
|
3
|
+
priority-settlement:
|
|
4
|
+
description: Priority settlement instructions for Payments v3.
|
|
5
|
+
scheduled-exports:
|
|
6
|
+
description: Scheduled export instructions for Reporting v1.
|
|
7
|
+
skus:
|
|
8
|
+
business:
|
|
9
|
+
revisions:
|
|
10
|
+
'2025': { features: [] }
|
|
11
|
+
'2026': { features: [priority-settlement, scheduled-exports] }
|
|
@@ -24,7 +24,7 @@ const clientDirectory = path.dirname(clientEntry);
|
|
|
24
24
|
const clientFiles = new Map([
|
|
25
25
|
['/shoalrun/content-delivery.js', clientEntry],
|
|
26
26
|
['/shoalrun/content-delivery-contract.js', path.join(clientDirectory, 'content-delivery-contract.js')],
|
|
27
|
-
...['content-mount', 'content-delivery-validation', 'content-delivery-transport', 'content-rest-client', 'content-rest-contract'].map(name => [`/shoalrun/${name}.js`, path.join(clientDirectory, `${name}.js`)]),
|
|
27
|
+
...['content-mount', 'content-delivery-validation', 'content-delivery-transport', 'content-rest-client', 'content-rest-contract', 'publication-identity'].map(name => [`/shoalrun/${name}.js`, path.join(clientDirectory, `${name}.js`)]),
|
|
28
28
|
]);
|
|
29
29
|
const mount = '/help/releases/demo/';
|
|
30
30
|
const types = { '.html': 'text/html; charset=utf-8', '.js': 'text/javascript; charset=utf-8', '.json': 'application/json', '.svg': 'image/svg+xml', '.md': 'text/markdown; charset=utf-8', '.png': 'image/png' };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://shoalrun.com/schemas/content-export.schema.json",
|
|
4
|
-
"title": "Shoalrun content delivery manifest,
|
|
4
|
+
"title": "Shoalrun content delivery manifest, versions 1 and 2",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"additionalProperties": false,
|
|
7
7
|
"required": [
|
|
@@ -18,7 +18,10 @@
|
|
|
18
18
|
],
|
|
19
19
|
"properties": {
|
|
20
20
|
"schemaVersion": {
|
|
21
|
-
"
|
|
21
|
+
"enum": [
|
|
22
|
+
1,
|
|
23
|
+
2
|
|
24
|
+
]
|
|
22
25
|
},
|
|
23
26
|
"kind": {
|
|
24
27
|
"const": "shoalrun-content-export"
|
|
@@ -229,6 +232,10 @@
|
|
|
229
232
|
"language": {
|
|
230
233
|
"type": "string",
|
|
231
234
|
"minLength": 1
|
|
235
|
+
},
|
|
236
|
+
"product": {
|
|
237
|
+
"type": "string",
|
|
238
|
+
"minLength": 1
|
|
232
239
|
}
|
|
233
240
|
}
|
|
234
241
|
},
|
|
@@ -487,5 +494,36 @@
|
|
|
487
494
|
}
|
|
488
495
|
]
|
|
489
496
|
}
|
|
490
|
-
}
|
|
497
|
+
},
|
|
498
|
+
"allOf": [
|
|
499
|
+
{
|
|
500
|
+
"if": {
|
|
501
|
+
"properties": {
|
|
502
|
+
"schemaVersion": {
|
|
503
|
+
"const": 1
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
},
|
|
507
|
+
"then": {
|
|
508
|
+
"properties": {
|
|
509
|
+
"publication": {
|
|
510
|
+
"not": {
|
|
511
|
+
"required": [
|
|
512
|
+
"product"
|
|
513
|
+
]
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
},
|
|
518
|
+
"else": {
|
|
519
|
+
"properties": {
|
|
520
|
+
"publication": {
|
|
521
|
+
"required": [
|
|
522
|
+
"product"
|
|
523
|
+
]
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
]
|
|
491
529
|
}
|