@shoalrun/cli 0.1.0-beta.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/CODE-REFERENCES.md +156 -0
- package/README.md +18 -6
- package/adapters/python/requirements.txt +1 -0
- package/adapters/python/shoalrun_reference.py +234 -0
- package/adapters/typescript/README.md +27 -0
- package/adapters/typescript/shoalrun-reference.mjs +260 -0
- package/agent-docs/.well-known/shoalrun/navigation/project-updates-50f26fe22670.txt +6 -2
- package/agent-docs/SNAPSHOT.json +5 -5
- package/agent-docs/about.md +3 -3
- package/agent-docs/api-docs/code-reference-settings.md +160 -0
- package/agent-docs/api-docs/code-reference-settings.sections/catalog-settings.md +50 -0
- package/agent-docs/api-docs/code-reference-settings.sections/complete-reference-page.md +46 -0
- package/agent-docs/api-docs/code-reference-settings.sections/converter-snapshot.md +58 -0
- package/agent-docs/api-docs/code-reference-settings.sections/descriptions-type-links-and-source-links.md +40 -0
- package/agent-docs/api-docs/code-reference-settings.sections/html-markdown-and-agents.md +38 -0
- package/agent-docs/api-docs/code-reference-settings.sections/metadata-and-selection.md +38 -0
- package/agent-docs/api-docs/code-reference-settings.sections/publication-sources.md +54 -0
- package/agent-docs/api-docs/code-reference-settings.sections/python-adapter-limits.md +38 -0
- package/agent-docs/api-docs/code-reference-settings.sections/related-reading.md +32 -0
- package/agent-docs/api-docs/code-reference-settings.sections/symbol-fields.md +56 -0
- package/agent-docs/api-docs/code-references.md +151 -0
- package/agent-docs/api-docs/code-references.sections/a-real-typescript-example.md +38 -0
- package/agent-docs/api-docs/code-references.sections/add-python-source.md +56 -0
- package/agent-docs/api-docs/code-references.sections/before-you-start.md +40 -0
- package/agent-docs/api-docs/code-references.sections/build-and-verify.md +47 -0
- package/agent-docs/api-docs/code-references.sections/choose-the-reading-layout.md +46 -0
- package/agent-docs/api-docs/code-references.sections/extract-and-validate-a-snapshot.md +52 -0
- package/agent-docs/api-docs/code-references.sections/html-markdown-and-agents.md +42 -0
- package/agent-docs/api-docs/code-references.sections/register-the-catalog-and-navigation.md +58 -0
- package/agent-docs/api-docs/code-references.sections/related-reading.md +40 -0
- package/agent-docs/api-docs/code-references.sections/versions-profiles-and-delivery.md +40 -0
- package/agent-docs/api-docs/typescript-references.md +93 -0
- package/agent-docs/author/agent-overview.md +2 -2
- package/agent-docs/author/components/for-facet.md +127 -0
- package/agent-docs/author/components/only.md +3 -1
- package/agent-docs/author/components.md +2 -1
- package/agent-docs/author/reader-views.md +2 -2
- 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 +2 -2
- package/agent-docs/author/reader-views.sections/how-it-works-for-agents.md +2 -2
- package/agent-docs/author/reader-views.sections/mark-pages.md +2 -2
- 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/changelog/code-api-references.md +44 -0
- package/agent-docs/changelog/facet-typescript.md +54 -0
- package/agent-docs/changelog.md +17 -1
- package/agent-docs/cli.md +11 -1
- package/agent-docs/cli.sections/audit-a-project-and-api-sources.md +1 -1
- package/agent-docs/cli.sections/author-pages.md +1 -1
- package/agent-docs/cli.sections/build-and-serve.md +1 -1
- package/agent-docs/cli.sections/inspect-config-and-operations.md +1 -1
- package/agent-docs/cli.sections/npm-scripts-in-this-repository.md +1 -1
- package/agent-docs/cli.sections/related-reading.md +1 -1
- package/agent-docs/cli.sections/search-and-chat.md +1 -1
- package/agent-docs/cli.sections/start-a-project.md +1 -1
- package/agent-docs/cli.sections/validate-code-reference-snapshots.md +41 -0
- package/agent-docs/cli.sections/working-tree-authoring-tools.md +1 -1
- package/agent-docs/config/apis.md +5 -1
- package/agent-docs/config/examples.md +3 -3
- package/agent-docs/config/examples.sections/feature-showcase.md +3 -3
- 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/outputs.md +12 -12
- package/agent-docs/config/outputs.sections/exports.md +12 -12
- package/agent-docs/config/outputs.sections/metadata.md +1 -1
- package/agent-docs/config/outputs.sections/pdf-output.md +1 -1
- package/agent-docs/config/outputs.sections/related-reading.md +1 -1
- package/agent-docs/config/site.md +17 -17
- 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 +2 -2
- package/agent-docs/configuration.sections/build-several-sites-from-shared-content.md +1 -1
- package/agent-docs/configuration.sections/change-inherited-lists-deliberately.md +1 -1
- package/agent-docs/configuration.sections/extract-a-section-with-include.md +1 -1
- package/agent-docs/configuration.sections/inspect-and-validate-changes.md +1 -1
- package/agent-docs/configuration.sections/related-reading.md +1 -1
- package/agent-docs/configuration.sections/separate-config-inheritance-from-page-metadata.md +1 -1
- package/agent-docs/configuration.sections/share-defaults-through-extends.md +1 -1
- package/agent-docs/configuration.sections/start-with-one-working-file.md +2 -2
- package/agent-docs/configuration.sections/understand-the-three-stages.md +1 -1
- package/agent-docs/configuration.sections/understand-where-paths-point.md +1 -1
- package/agent-docs/content-delivery/api.md +10 -2
- package/agent-docs/content-delivery/api.sections/errors.md +52 -0
- package/agent-docs/content-delivery/api.sections/generated-typescript-reference.md +36 -0
- package/agent-docs/content-delivery/api.sections/html-markdown-and-agents.md +36 -0
- package/agent-docs/content-delivery/api.sections/mount-html.md +42 -0
- package/agent-docs/content-delivery/api.sections/open-a-rest-source.md +55 -0
- package/agent-docs/content-delivery/api.sections/open-a-source.md +51 -0
- package/agent-docs/content-delivery/api.sections/read-a-snapshot.md +55 -0
- package/agent-docs/content-delivery/api.sections/related-reading.md +42 -0
- package/agent-docs/content-delivery/api.sections/validate-a-manifest.md +40 -0
- package/agent-docs/content-delivery/client.md +9 -1
- package/agent-docs/content-delivery/sdk/all.md +1772 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentanchor-exportedid.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentanchor-id.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentanchor-title.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentanchor.md +44 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentasset-mediatype.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentasset.md +40 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliveryerror-code.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliveryerror.md +46 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliverylimits-manifestbytes.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliverylimits-resourcebytes.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliverylimits-resources.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliverylimits.md +44 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contenterrorcode.md +32 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentfile-bytes.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentfile-digest.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentfile-path.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentfile.md +44 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentformat.md +32 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-asset.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-fragment.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-href.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-key.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-kind.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-query.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-ref.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink.md +52 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-assets.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-diagnostics.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-digest.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-files.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-kind.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-publication.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-publicbase.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-resources.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-review.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-schemaversion.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest.md +68 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmount-anchors.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmount-links.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmount-unmount.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmount.md +49 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication-channel.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication-language.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication-product.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication-version.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication.md +46 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentref.md +43 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrefkey.md +42 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrepresentation-anchors.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrepresentation-links.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrepresentation.md +42 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-assets.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-canonicalurl.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-externaldependencies.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-publication.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-ref.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-representations.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-source.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-summary.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-title.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-type.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource.md +65 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresourcekey.md +42 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestentry-key.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestentry-resource.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestentry.md +42 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresterror-error.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresterror.md +43 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresterrorcode.md +32 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist-publication.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist-resources.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist-revision.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist-schemaversion.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist.md +46 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-key.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-publication.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-resource.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-revision.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-schemaversion.md +34 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource.md +48 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-content.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-format.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-representation.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-resource.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-revision.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult.md +48 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-dispose.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-get.md +45 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-list.md +38 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-publication.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-revision.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot.md +47 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions-fetch.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions-limits.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions-manifesturl.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions-signal.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions.md +46 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-mountcontent.md +48 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-openmanifestcontentsource.md +54 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-openrestcontentsource.md +44 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-baseurl.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-fetch.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-limits.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-publication.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-revision.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-signal.md +36 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions.md +50 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-validatecontentmanifest.md +45 -0
- package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content.md +65 -0
- package/agent-docs/content-delivery/sdk/content-anchor/exported-id.md +25 -0
- package/agent-docs/content-delivery/sdk/content-anchor/id.md +25 -0
- package/agent-docs/content-delivery/sdk/content-anchor/title.md +25 -0
- package/agent-docs/content-delivery/sdk/content-anchor.md +71 -0
- package/agent-docs/content-delivery/sdk/content-asset/media-type.md +25 -0
- package/agent-docs/content-delivery/sdk/content-asset.md +43 -0
- package/agent-docs/content-delivery/sdk/content-delivery-error/code.md +25 -0
- package/agent-docs/content-delivery/sdk/content-delivery-error.md +53 -0
- package/agent-docs/content-delivery/sdk/content-delivery-limits/manifest-bytes.md +27 -0
- package/agent-docs/content-delivery/sdk/content-delivery-limits/resource-bytes.md +27 -0
- package/agent-docs/content-delivery/sdk/content-delivery-limits/resources.md +27 -0
- package/agent-docs/content-delivery/sdk/content-delivery-limits.md +77 -0
- package/agent-docs/content-delivery/sdk/content-error-code.md +23 -0
- package/agent-docs/content-delivery/sdk/content-file/bytes.md +25 -0
- package/agent-docs/content-delivery/sdk/content-file/digest.md +25 -0
- package/agent-docs/content-delivery/sdk/content-file/path.md +25 -0
- package/agent-docs/content-delivery/sdk/content-file.md +71 -0
- package/agent-docs/content-delivery/sdk/content-format.md +23 -0
- package/agent-docs/content-delivery/sdk/content-link/asset.md +25 -0
- package/agent-docs/content-delivery/sdk/content-link/fragment.md +25 -0
- package/agent-docs/content-delivery/sdk/content-link/href.md +25 -0
- package/agent-docs/content-delivery/sdk/content-link/key.md +25 -0
- package/agent-docs/content-delivery/sdk/content-link/kind.md +25 -0
- package/agent-docs/content-delivery/sdk/content-link/query.md +25 -0
- package/agent-docs/content-delivery/sdk/content-link/ref.md +25 -0
- package/agent-docs/content-delivery/sdk/content-link.md +127 -0
- package/agent-docs/content-delivery/sdk/content-manifest/assets.md +25 -0
- package/agent-docs/content-delivery/sdk/content-manifest/diagnostics.md +25 -0
- package/agent-docs/content-delivery/sdk/content-manifest/digest.md +25 -0
- package/agent-docs/content-delivery/sdk/content-manifest/files.md +25 -0
- package/agent-docs/content-delivery/sdk/content-manifest/kind.md +25 -0
- package/agent-docs/content-delivery/sdk/content-manifest/public-base.md +25 -0
- package/agent-docs/content-delivery/sdk/content-manifest/publication.md +25 -0
- package/agent-docs/content-delivery/sdk/content-manifest/resources.md +25 -0
- package/agent-docs/content-delivery/sdk/content-manifest/review.md +25 -0
- package/agent-docs/content-delivery/sdk/content-manifest/schema-version.md +25 -0
- package/agent-docs/content-delivery/sdk/content-manifest.md +179 -0
- package/agent-docs/content-delivery/sdk/content-mount/anchors.md +27 -0
- package/agent-docs/content-delivery/sdk/content-mount/links.md +27 -0
- package/agent-docs/content-delivery/sdk/content-mount/unmount.md +27 -0
- package/agent-docs/content-delivery/sdk/content-mount.md +82 -0
- package/agent-docs/content-delivery/sdk/content-publication/channel.md +25 -0
- package/agent-docs/content-delivery/sdk/content-publication/language.md +25 -0
- package/agent-docs/content-delivery/sdk/content-publication/product.md +25 -0
- package/agent-docs/content-delivery/sdk/content-publication/version.md +25 -0
- package/agent-docs/content-delivery/sdk/content-publication.md +85 -0
- package/agent-docs/content-delivery/sdk/content-ref-key.md +34 -0
- package/agent-docs/content-delivery/sdk/content-ref.md +40 -0
- package/agent-docs/content-delivery/sdk/content-representation/anchors.md +25 -0
- package/agent-docs/content-delivery/sdk/content-representation/links.md +25 -0
- package/agent-docs/content-delivery/sdk/content-representation.md +57 -0
- package/agent-docs/content-delivery/sdk/content-resource/assets.md +25 -0
- package/agent-docs/content-delivery/sdk/content-resource/canonical-url.md +25 -0
- package/agent-docs/content-delivery/sdk/content-resource/external-dependencies.md +25 -0
- package/agent-docs/content-delivery/sdk/content-resource/publication.md +27 -0
- package/agent-docs/content-delivery/sdk/content-resource/ref.md +27 -0
- package/agent-docs/content-delivery/sdk/content-resource/representations.md +27 -0
- package/agent-docs/content-delivery/sdk/content-resource/source.md +25 -0
- package/agent-docs/content-delivery/sdk/content-resource/summary.md +27 -0
- package/agent-docs/content-delivery/sdk/content-resource/title.md +27 -0
- package/agent-docs/content-delivery/sdk/content-resource/type.md +27 -0
- package/agent-docs/content-delivery/sdk/content-resource-key.md +34 -0
- package/agent-docs/content-delivery/sdk/content-resource.md +192 -0
- package/agent-docs/content-delivery/sdk/content-rest-entry/key.md +25 -0
- package/agent-docs/content-delivery/sdk/content-rest-entry/resource.md +25 -0
- package/agent-docs/content-delivery/sdk/content-rest-entry.md +57 -0
- package/agent-docs/content-delivery/sdk/content-rest-error/error.md +25 -0
- package/agent-docs/content-delivery/sdk/content-rest-error-code.md +23 -0
- package/agent-docs/content-delivery/sdk/content-rest-error.md +46 -0
- package/agent-docs/content-delivery/sdk/content-rest-list/publication.md +25 -0
- package/agent-docs/content-delivery/sdk/content-rest-list/resources.md +25 -0
- package/agent-docs/content-delivery/sdk/content-rest-list/revision.md +25 -0
- package/agent-docs/content-delivery/sdk/content-rest-list/schema-version.md +25 -0
- package/agent-docs/content-delivery/sdk/content-rest-list.md +85 -0
- package/agent-docs/content-delivery/sdk/content-rest-resource/key.md +25 -0
- package/agent-docs/content-delivery/sdk/content-rest-resource/publication.md +25 -0
- package/agent-docs/content-delivery/sdk/content-rest-resource/resource.md +25 -0
- package/agent-docs/content-delivery/sdk/content-rest-resource/revision.md +25 -0
- package/agent-docs/content-delivery/sdk/content-rest-resource/schema-version.md +25 -0
- package/agent-docs/content-delivery/sdk/content-rest-resource.md +99 -0
- package/agent-docs/content-delivery/sdk/content-result/content.md +27 -0
- package/agent-docs/content-delivery/sdk/content-result/format.md +27 -0
- package/agent-docs/content-delivery/sdk/content-result/representation.md +27 -0
- package/agent-docs/content-delivery/sdk/content-result/resource.md +27 -0
- package/agent-docs/content-delivery/sdk/content-result/revision.md +27 -0
- package/agent-docs/content-delivery/sdk/content-result.md +114 -0
- package/agent-docs/content-delivery/sdk/content-snapshot/dispose.md +27 -0
- package/agent-docs/content-delivery/sdk/content-snapshot/get.md +36 -0
- package/agent-docs/content-delivery/sdk/content-snapshot/list.md +29 -0
- package/agent-docs/content-delivery/sdk/content-snapshot/publication.md +27 -0
- package/agent-docs/content-delivery/sdk/content-snapshot/revision.md +27 -0
- package/agent-docs/content-delivery/sdk/content-snapshot.md +123 -0
- package/agent-docs/content-delivery/sdk/exports.md +742 -0
- package/agent-docs/content-delivery/sdk/exports.sections/functions.md +30 -0
- package/agent-docs/content-delivery/sdk/exports.sections/members.md +47 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentanchor.md +41 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentasset.md +37 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentdeliveryerror.md +43 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentdeliverylimits.md +41 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contenterrorcode.md +29 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentfile.md +41 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentformat.md +29 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentlink.md +49 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentmanifest.md +65 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentmount.md +46 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentpublication.md +43 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentref.md +40 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrefkey.md +39 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrepresentation.md +39 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresource.md +62 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresourcekey.md +39 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrestentry.md +39 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresterror.md +40 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresterrorcode.md +29 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrestlist.md +43 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrestresource.md +45 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresult.md +45 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentsnapshot.md +44 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-manifestcontentsourceoptions.md +43 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-mountcontent.md +45 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-openmanifestcontentsource.md +51 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-openrestcontentsource.md +41 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-restcontentsourceoptions.md +47 -0
- package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-validatecontentmanifest.md +42 -0
- package/agent-docs/content-delivery/sdk/manifest-content-source-options/fetch.md +27 -0
- package/agent-docs/content-delivery/sdk/manifest-content-source-options/limits.md +27 -0
- package/agent-docs/content-delivery/sdk/manifest-content-source-options/manifest-url.md +27 -0
- package/agent-docs/content-delivery/sdk/manifest-content-source-options/signal.md +27 -0
- package/agent-docs/content-delivery/sdk/manifest-content-source-options.md +93 -0
- package/agent-docs/content-delivery/sdk/mount-content.md +46 -0
- package/agent-docs/content-delivery/sdk/open-manifest-content-source.md +51 -0
- package/agent-docs/content-delivery/sdk/open-rest-content-source.md +39 -0
- package/agent-docs/content-delivery/sdk/rest-content-source-options/base-url.md +28 -0
- package/agent-docs/content-delivery/sdk/rest-content-source-options/fetch.md +27 -0
- package/agent-docs/content-delivery/sdk/rest-content-source-options/limits.md +27 -0
- package/agent-docs/content-delivery/sdk/rest-content-source-options/publication.md +27 -0
- package/agent-docs/content-delivery/sdk/rest-content-source-options/revision.md +27 -0
- package/agent-docs/content-delivery/sdk/rest-content-source-options/signal.md +27 -0
- package/agent-docs/content-delivery/sdk/rest-content-source-options.md +125 -0
- package/agent-docs/content-delivery/sdk/validate-content-manifest.md +38 -0
- package/agent-docs/contribute/agent-skills.md +33 -6
- package/agent-docs/documents.json +7710 -530
- package/agent-docs/features.md +20 -18
- package/agent-docs/provenance.json +6 -6
- package/agent-docs/publish/api-references.md +3 -1
- package/agent-docs/publish/api-references.sections/author-the-reference-page.md +3 -1
- package/agent-docs/publish/api-references.sections/build-and-verify-the-output.md +3 -1
- package/agent-docs/publish/api-references.sections/inspect-the-machine-readable-contract.md +3 -1
- package/agent-docs/publish/api-references.sections/next-steps.md +3 -1
- package/agent-docs/publish/api-references.sections/preview-a-small-api-reference.md +3 -1
- package/agent-docs/publish/api-references.sections/put-the-spec-in-your-project.md +3 -1
- package/agent-docs/publish/api-references.sections/register-the-operation.md +3 -1
- package/agent-docs/publish/api-references.sections/related-reading.md +3 -1
- package/agent-docs/publish/api-references.sections/review-imported-content-before-publishing.md +3 -1
- package/agent-docs/publish/api-references.sections/what-readers-get.md +3 -1
- package/agent-docs/publish/content-export.md +3 -1
- package/agent-docs/publish/content-export.sections/assets-downloads-and-notices.md +1 -1
- package/agent-docs/publish/content-export.sections/check-the-result.md +1 -1
- package/agent-docs/publish/content-export.sections/inspect-the-manifest.md +1 -1
- package/agent-docs/publish/content-export.sections/prerequisites.md +1 -1
- package/agent-docs/publish/content-export.sections/related-reading.md +1 -1
- package/agent-docs/publish/content-export.sections/review-exported-api-material.md +1 -1
- package/agent-docs/publish/content-export.sections/try-the-help-drawer-example.md +1 -1
- package/agent-docs/publish/content-export.sections/what-the-representations-retain.md +1 -1
- package/agent-docs/publish/pdf.md +2 -2
- package/agent-docs/publish/pdf.sections/apply-print-styling.md +1 -1
- package/agent-docs/publish/pdf.sections/check-the-result.md +1 -1
- package/agent-docs/publish/pdf.sections/export-a-page-or-publication.md +2 -2
- package/agent-docs/publish/pdf.sections/html-markdown-and-agents.md +1 -1
- package/agent-docs/publish/pdf.sections/offer-browser-page-printing.md +1 -1
- package/agent-docs/publish/pdf.sections/offer-direct-downloads-through-a-node-server.md +1 -1
- package/agent-docs/publish/pdf.sections/prerequisites.md +1 -1
- package/agent-docs/publish/pdf.sections/publish-an-optional-manual-download.md +1 -1
- package/agent-docs/publish/single-source-sites.md +26 -2
- package/agent-docs/publish/single-source-sites.sections/build-and-check-each-output.md +49 -0
- package/agent-docs/publish/single-source-sites.sections/html-markdown-and-agents.md +33 -0
- package/agent-docs/publish/single-source-sites.sections/include-additional-sections-in-a-build.md +47 -0
- package/agent-docs/publish/single-source-sites.sections/related-reading.md +43 -0
- package/agent-docs/publish/single-source-sites.sections/select-the-pages-for-each-site.md +74 -0
- package/agent-docs/publish/single-source-sites.sections/share-the-base-configuration.md +93 -0
- package/agent-docs/reference/agent-skills.md +2 -2
- package/agent-docs/search-index.json +1 -1
- package/agent-docs/start.md +3 -3
- package/agent-docs/start.sections/add-the-page-to-navigation.md +2 -2
- package/agent-docs/start.sections/build-and-check-both-outputs.md +2 -2
- 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 +6 -4
- package/agent-docs/styling/themes.md +7 -3
- package/agent-docs/what-is-shoalrun.md +2 -2
- package/assets/search-lexical.js +15 -4
- package/dist/artifact-bundle.d.ts +1 -0
- package/dist/artifact-bundle.js +11 -3
- package/dist/cli-discovery.d.ts +1 -1
- package/dist/cli-discovery.js +1 -0
- package/dist/cli.js +7 -0
- package/dist/code-reference-model.d.ts +85 -0
- package/dist/code-reference-model.js +73 -0
- package/dist/code-references.d.ts +23 -0
- package/dist/code-references.js +371 -0
- package/dist/compiler-config.d.ts +1 -0
- package/dist/compiler.d.ts +8 -0
- package/dist/compiler.js +14 -7
- package/dist/component-names.js +1 -1
- package/dist/component-transform.js +14 -22
- package/dist/conditional-tree.d.ts +2 -0
- package/dist/conditional-tree.js +14 -0
- package/dist/config.js +1 -1
- package/dist/content-delivery-contract.d.ts +39 -0
- package/dist/content-delivery-contract.js +2 -0
- package/dist/content-delivery-validation.d.ts +6 -0
- package/dist/content-delivery-validation.js +6 -0
- package/dist/content-delivery.d.ts +19 -1
- package/dist/content-delivery.js +10 -1
- package/dist/content-export-command.d.ts +42 -3
- package/dist/content-export.d.ts +42 -3
- package/dist/content-export.js +15 -6
- package/dist/content-filter.d.ts +2 -0
- package/dist/content-filter.js +4 -0
- package/dist/content-mount.d.ts +12 -1
- package/dist/content-mount.js +8 -1
- package/dist/content-rest-client.d.ts +11 -1
- package/dist/content-rest-client.js +4 -1
- package/dist/content-rest-contract.d.ts +5 -0
- package/dist/content-source.d.ts +2 -0
- package/dist/content-workspace.d.ts +5 -1
- package/dist/content-workspace.js +7 -2
- package/dist/deployment-profile.d.ts +3 -1
- package/dist/deployment-profile.js +18 -19
- package/dist/fonts.d.ts +9 -0
- package/dist/fonts.js +58 -3
- package/dist/page-materialization.js +3 -2
- package/dist/page-renderer.d.ts +1 -0
- package/dist/page-renderer.js +3 -1
- package/dist/palettes.d.ts +1 -1
- package/dist/publication-manifest.js +1 -1
- package/dist/publication-render.d.ts +2 -1
- package/dist/publication-render.js +2 -2
- package/dist/representation-tree.js +12 -2
- package/dist/search-query.js +13 -6
- package/dist/section-selection.d.ts +29 -0
- package/dist/section-selection.js +92 -0
- package/dist/snippets.d.ts +1 -0
- package/example-configs/facet-sections/README.md +37 -0
- package/example-configs/facet-sections/base.yaml +29 -0
- package/example-configs/facet-sections/content/billing.mdx +25 -0
- package/example-configs/facet-sections/customer.config.yaml +4 -0
- package/example-configs/facet-sections/docs.config.yaml +3 -0
- package/example-configs/faceted-sites/README.md +4 -2
- package/examples/code-references/content/start.md +53 -0
- package/examples/code-references/docs.config.yaml +262 -0
- package/examples/code-references/python/orchard/__init__.py +11 -0
- package/examples/code-references/python/orchard/client.py +212 -0
- package/examples/code-references/python/orchard/errors.py +31 -0
- package/examples/code-references/python/orchard/models.py +69 -0
- package/examples/code-references/python/orchard/pagination.py +39 -0
- package/examples/code-references/reference.json +1244 -0
- package/package.json +9 -1
- package/schemas/code-reference.schema.json +306 -0
- package/skills/shoalrun-author/SKILL.md +17 -0
- package/skills/shoalrun-author/references/code-api-references.md +19 -0
- package/skills/shoalrun-author/references/facet-selection.md +48 -0
- package/skills/shoalrun-brand/SKILL.md +9 -0
- package/skills/shoalrun-component-author/SKILL.md +9 -0
- package/skills/shoalrun-pdf/SKILL.md +9 -0
- package/skills/shoalrun-recipes/SKILL.md +9 -0
- package/skills/shoalrun-setup/SKILL.md +9 -0
- package/skills/shoalrun-walkthrough/SKILL.md +9 -0
- package/styles/site.css +61 -2
package/agent-docs/start.md
CHANGED
|
@@ -16,11 +16,11 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Get started > Getting started
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-11-
|
|
19
|
+
**Updated: 2026-11-07.**
|
|
20
20
|
|
|
21
21
|
This quickstart takes you from installing Shoalrun to your own working documentation site. You'll scaffold a page from a template, complete its draft, put it in the sidebar, and read its HTML and Markdown output.
|
|
22
22
|
|
|
23
|
-
> **
|
|
23
|
+
> **Upgrades:** Pin an exact version and review release notes before upgrading. Rebuild and check HTML, Markdown, and any application content consumers before deploying.
|
|
24
24
|
|
|
25
25
|
## Prerequisites
|
|
26
26
|
|
|
@@ -36,7 +36,7 @@ Install an exact version of the beta and initialize the minimal starter:
|
|
|
36
36
|
mkdir my-docs
|
|
37
37
|
cd my-docs
|
|
38
38
|
npm init -y
|
|
39
|
-
npm install --save-exact @shoalrun/cli@
|
|
39
|
+
npm install --save-exact @shoalrun/cli@1.1.0
|
|
40
40
|
npx --no-install shoalrun init .
|
|
41
41
|
```
|
|
42
42
|
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Get started > Getting started
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-11-
|
|
19
|
+
**Updated: 2026-11-07.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/start.md)
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/start.md)
|
|
|
28
28
|
|
|
29
29
|
This quickstart takes you from installing Shoalrun to your own working documentation site. You'll scaffold a page from a template, complete its draft, put it in the sidebar, and read its HTML and Markdown output.
|
|
30
30
|
|
|
31
|
-
> **
|
|
31
|
+
> **Upgrades:** Pin an exact version and review release notes before upgrading. Rebuild and check HTML, Markdown, and any application content consumers before deploying.
|
|
32
32
|
|
|
33
33
|
## Add the page to navigation
|
|
34
34
|
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Get started > Getting started
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-11-
|
|
19
|
+
**Updated: 2026-11-07.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/start.md)
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/start.md)
|
|
|
28
28
|
|
|
29
29
|
This quickstart takes you from installing Shoalrun to your own working documentation site. You'll scaffold a page from a template, complete its draft, put it in the sidebar, and read its HTML and Markdown output.
|
|
30
30
|
|
|
31
|
-
> **
|
|
31
|
+
> **Upgrades:** Pin an exact version and review release notes before upgrading. Rebuild and check HTML, Markdown, and any application content consumers before deploying.
|
|
32
32
|
|
|
33
33
|
## Build and check both outputs
|
|
34
34
|
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Get started > Getting started
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-11-
|
|
19
|
+
**Updated: 2026-11-07.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/start.md)
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/start.md)
|
|
|
28
28
|
|
|
29
29
|
This quickstart takes you from installing Shoalrun to your own working documentation site. You'll scaffold a page from a template, complete its draft, put it in the sidebar, and read its HTML and Markdown output.
|
|
30
30
|
|
|
31
|
-
> **
|
|
31
|
+
> **Upgrades:** Pin an exact version and review release notes before upgrading. Rebuild and check HTML, Markdown, and any application content consumers before deploying.
|
|
32
32
|
|
|
33
33
|
## Build this site
|
|
34
34
|
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Get started > Getting started
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-11-
|
|
19
|
+
**Updated: 2026-11-07.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/start.md)
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/start.md)
|
|
|
28
28
|
|
|
29
29
|
This quickstart takes you from installing Shoalrun to your own working documentation site. You'll scaffold a page from a template, complete its draft, put it in the sidebar, and read its HTML and Markdown output.
|
|
30
30
|
|
|
31
|
-
> **
|
|
31
|
+
> **Upgrades:** Pin an exact version and review release notes before upgrading. Rebuild and check HTML, Markdown, and any application content consumers before deploying.
|
|
32
32
|
|
|
33
33
|
## Check writing style
|
|
34
34
|
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Get started > Getting started
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-11-
|
|
19
|
+
**Updated: 2026-11-07.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/start.md)
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/start.md)
|
|
|
28
28
|
|
|
29
29
|
This quickstart takes you from installing Shoalrun to your own working documentation site. You'll scaffold a page from a template, complete its draft, put it in the sidebar, and read its HTML and Markdown output.
|
|
30
30
|
|
|
31
|
-
> **
|
|
31
|
+
> **Upgrades:** Pin an exact version and review release notes before upgrading. Rebuild and check HTML, Markdown, and any application content consumers before deploying.
|
|
32
32
|
|
|
33
33
|
## Create a page
|
|
34
34
|
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Get started > Getting started
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-11-
|
|
19
|
+
**Updated: 2026-11-07.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/start.md)
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/start.md)
|
|
|
28
28
|
|
|
29
29
|
This quickstart takes you from installing Shoalrun to your own working documentation site. You'll scaffold a page from a template, complete its draft, put it in the sidebar, and read its HTML and Markdown output.
|
|
30
30
|
|
|
31
|
-
> **
|
|
31
|
+
> **Upgrades:** Pin an exact version and review release notes before upgrading. Rebuild and check HTML, Markdown, and any application content consumers before deploying.
|
|
32
32
|
|
|
33
33
|
## Make it yours
|
|
34
34
|
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Get started > Getting started
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-11-
|
|
19
|
+
**Updated: 2026-11-07.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/start.md)
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/start.md)
|
|
|
28
28
|
|
|
29
29
|
This quickstart takes you from installing Shoalrun to your own working documentation site. You'll scaffold a page from a template, complete its draft, put it in the sidebar, and read its HTML and Markdown output.
|
|
30
30
|
|
|
31
|
-
> **
|
|
31
|
+
> **Upgrades:** Pin an exact version and review release notes before upgrading. Rebuild and check HTML, Markdown, and any application content consumers before deploying.
|
|
32
32
|
|
|
33
33
|
## Migrating from GitHub Packages
|
|
34
34
|
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Get started > Getting started
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-11-
|
|
19
|
+
**Updated: 2026-11-07.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/start.md)
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/start.md)
|
|
|
28
28
|
|
|
29
29
|
This quickstart takes you from installing Shoalrun to your own working documentation site. You'll scaffold a page from a template, complete its draft, put it in the sidebar, and read its HTML and Markdown output.
|
|
30
30
|
|
|
31
|
-
> **
|
|
31
|
+
> **Upgrades:** Pin an exact version and review release notes before upgrading. Rebuild and check HTML, Markdown, and any application content consumers before deploying.
|
|
32
32
|
|
|
33
33
|
## Prerequisites
|
|
34
34
|
|
|
@@ -16,13 +16,13 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Get started > Getting started
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-11-
|
|
19
|
+
**Updated: 2026-11-07.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/start.md)
|
|
22
22
|
|
|
23
23
|
This quickstart takes you from installing Shoalrun to your own working documentation site. You'll scaffold a page from a template, complete its draft, put it in the sidebar, and read its HTML and Markdown output.
|
|
24
24
|
|
|
25
|
-
> **
|
|
25
|
+
> **Upgrades:** Pin an exact version and review release notes before upgrading. Rebuild and check HTML, Markdown, and any application content consumers before deploying.
|
|
26
26
|
|
|
27
27
|
## Related reading
|
|
28
28
|
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Get started > Getting started
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-11-
|
|
19
|
+
**Updated: 2026-11-07.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/start.md)
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ Parent page: [Full Markdown page](/start.md)
|
|
|
28
28
|
|
|
29
29
|
This quickstart takes you from installing Shoalrun to your own working documentation site. You'll scaffold a page from a template, complete its draft, put it in the sidebar, and read its HTML and Markdown output.
|
|
30
30
|
|
|
31
|
-
> **
|
|
31
|
+
> **Upgrades:** Pin an exact version and review release notes before upgrading. Rebuild and check HTML, Markdown, and any application content consumers before deploying.
|
|
32
32
|
|
|
33
33
|
## Start your own project
|
|
34
34
|
|
|
@@ -38,7 +38,7 @@ Install an exact version of the beta and initialize the minimal starter:
|
|
|
38
38
|
mkdir my-docs
|
|
39
39
|
cd my-docs
|
|
40
40
|
npm init -y
|
|
41
|
-
npm install --save-exact @shoalrun/cli@
|
|
41
|
+
npm install --save-exact @shoalrun/cli@1.1.0
|
|
42
42
|
npx --no-install shoalrun init .
|
|
43
43
|
```
|
|
44
44
|
|
package/agent-docs/status.md
CHANGED
|
@@ -16,11 +16,11 @@ Navigation section: [Project](https://www.shoalrun.com/.well-known/shoalrun/navi
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Project](https://www.shoalrun.com/status.md) > Project > Project status
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-11-
|
|
19
|
+
**Updated: 2026-11-07.**
|
|
20
20
|
|
|
21
|
-
Shoalrun
|
|
21
|
+
Shoalrun 1.0 publishes documentation for people and agents from the same source. This site is built with it. Install the public `@shoalrun/cli` npm package through [Getting started](https://www.shoalrun.com/start.md). No account or package token is needed.
|
|
22
22
|
|
|
23
|
-
The [features overview](https://www.shoalrun.com/features.md) summarizes the platform on one page. The capabilities below
|
|
23
|
+
The [features overview](https://www.shoalrun.com/features.md) summarizes the platform on one page. The capabilities below describe `1.0.0`.
|
|
24
24
|
|
|
25
25
|
## What works today
|
|
26
26
|
|
|
@@ -38,6 +38,8 @@ The [features overview](https://www.shoalrun.com/features.md) summarizes the pla
|
|
|
38
38
|
|
|
39
39
|
- **API documentation.** [OpenAPI sources](https://www.shoalrun.com/publish/api-references.md) supply reference pages, named examples, request samples, and contracts for individual operations. Authors can combine generated references with guides and review imported API content before publishing it.
|
|
40
40
|
|
|
41
|
+
- **SDK references.** [Code API references](https://www.shoalrun.com/api-docs/code-references.md) use Python source and docstrings or a converter snapshot. Choose separate symbols, inline class/module pages, and an optional complete reference, with linked types and field defaults.
|
|
42
|
+
|
|
41
43
|
- **Search and documentation tools.** Built-in search works in the browser without a model key. Optional [semantic search and cited answers](https://www.shoalrun.com/search-and-chat.md) use your configured providers. Read-only [Model Context Protocol (MCP) tools](https://www.shoalrun.com/publish/mcp.md) let agents search and read pages or sections. They run through a local stdio process or a public HTTP endpoint on Node or Vercel.
|
|
42
44
|
|
|
43
45
|
- **Publishing and measurement.** Local previews and checks support static publishing, with Node and Vercel serving options. Optional [browser analytics](https://www.shoalrun.com/author/analytics.md) and [HTTP MCP analytics](https://www.shoalrun.com/publish/mcp-analytics.md) send events through adapters to your chosen service. Both are off by default; their guides describe the event fields, filtering, and configuration.
|
|
@@ -62,7 +64,7 @@ These are intended additions, without a promised release date.
|
|
|
62
64
|
|
|
63
65
|
## Current limits
|
|
64
66
|
|
|
65
|
-
- **
|
|
67
|
+
- **Upgrade checks.** Pin exact versions and review release notes before upgrading. Rebuild and verify the site and application content consumers before deploying. Older release lines aren't maintained; experimental features keep their lifecycle labels.
|
|
66
68
|
- **Component extensibility.** [Trusted custom components](https://www.shoalrun.com/author/components/custom.md) lower into shared content, with a portable authoring skill. Arbitrary executable MDX remains unsupported. Project CSS, browser modules, and configured build extensions are trusted project code.
|
|
67
69
|
- **API coverage.** OpenAPI and JSON Schema support is partial; check the [support reference](https://www.shoalrun.com/api-docs/support.md) against your source. Request examples are copyable, but Shoalrun doesn't provide a live API explorer that sends requests.
|
|
68
70
|
- **Private content.** Reader views don't restrict access to published files. Shoalrun has no built-in reader authentication, and its HTTP MCP endpoint currently serves one selected public publication. Host-level authorization is a separate responsibility.
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Configure and customize > Themes
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-11-
|
|
20
|
+
**Updated: 2026-11-07.**
|
|
21
21
|
|
|
22
22
|
The `theme` setting controls how the HTML site looks. It has five keys, and each has a default:
|
|
23
23
|
|
|
@@ -60,7 +60,7 @@ Each preset ships its own fonts, so the site looks the same on every operating s
|
|
|
60
60
|
| `ledger` | Source Serif 4 | JetBrains Mono | JetBrains Mono |
|
|
61
61
|
| `vice` | Figtree | Jost | System monospace |
|
|
62
62
|
|
|
63
|
-
The fonts are Latin variable fonts under the SIL Open Font License. The build copies them to `/assets/fonts/` with their license files. A browser downloads
|
|
63
|
+
The fonts are Latin variable fonts under the SIL Open Font License. The build copies them to `/assets/fonts/` with their license files. A browser downloads the faces a page uses; preload hints can start key font downloads earlier. Characters outside the Latin set use the system fallback. Until a font arrives, the page uses a local font resized to match it. A fallback can still look different from the final font, especially when a custom face has different metrics. Agents read the Markdown twins, which load no fonts.
|
|
64
64
|
|
|
65
65
|
To use system fonts only, set `fonts: system`. Each preset then falls back to its system font stack.
|
|
66
66
|
|
|
@@ -84,9 +84,13 @@ theme:
|
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
- `family` is the name CSS uses. A plain string, such as `headings: Acme Display`, names a font without shipping files. Use it for a font that [project CSS](https://www.shoalrun.com/author/css.md) loads, or one installed on readers' machines.
|
|
87
|
-
- `files` lists local `.woff2`, `.woff`, `.ttf`, or `.otf` files, relative to the config file that declares them. The build copies them to `/assets/fonts/project/`. File names can use letters, numbers, dots, dashes, and underscores, and two files can't share a name.
|
|
87
|
+
- `files` lists local `.woff2`, `.woff`, `.ttf`, or `.otf` files, relative to the config file that declares them. The build copies them to content-versioned URLs under `/assets/fonts/project/`. File names can use letters, numbers, dots, dashes, and underscores, and two files can't share a name.
|
|
88
88
|
- Each file can set `style` (`normal` or `italic`) and `weight`, such as `400` or `"100 900"`. The default weight, `"100 900"`, suits variable fonts; give each static file its own weight.
|
|
89
89
|
|
|
90
|
+
Since 1.0.0
|
|
91
|
+
|
|
92
|
+
Local custom body and heading faces are preloaded to start their downloads earlier. Versioned custom-font URLs support long-lived caching; changing a font's bytes changes its URL. Bundled font URLs revalidate so a development browser doesn't keep an older file indefinitely. These settings reduce late font loading, but don't guarantee that every custom font matches its fallback without a visible change. Family names supplied without local files don't create a preload.
|
|
93
|
+
|
|
90
94
|
A missing file, an unsupported format, or an unknown key fails the build. Check that your font license allows web embedding.
|
|
91
95
|
|
|
92
96
|
Fonts set here become the `--font-body`, `--font-heading`, and `--font-code` [CSS tokens](https://www.shoalrun.com/author/css.md), each followed by a system fallback.
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Get started > What is Shoalrun?
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-11-
|
|
20
|
+
**Updated: 2026-11-07.**
|
|
21
21
|
|
|
22
22
|
Shoalrun is a documentation compiler for product and API docs. It reads project configuration, Markdown and supported MDX pages, and optional local OpenAPI files. From those sources, it builds a site for people and readable Markdown pages for agents. The normal build is deterministic: it makes no model calls or network requests.
|
|
23
23
|
|
|
@@ -43,7 +43,7 @@ Optional ingredients, recipes, and cookbooks extend the same idea to tasks. An i
|
|
|
43
43
|
|
|
44
44
|
## Where it stands
|
|
45
45
|
|
|
46
|
-
The public documentation site shows output built by Shoalrun. Install the
|
|
46
|
+
The public documentation site shows output built by Shoalrun. Install the CLI from npm using [Getting started](https://www.shoalrun.com/start.md). The [project status](https://www.shoalrun.com/status.md) lists implemented capabilities and current limits.
|
|
47
47
|
|
|
48
48
|
## Related reading
|
|
49
49
|
|
package/assets/search-lexical.js
CHANGED
|
@@ -57,10 +57,21 @@ export async function search(query, context) {
|
|
|
57
57
|
const matched = terms.filter(term => match(title, term) || match(summary, term) || match(text, term) || headings.some(heading => match(heading, term)));
|
|
58
58
|
if (!matched.length) continue;
|
|
59
59
|
let score = 0;
|
|
60
|
-
|
|
60
|
+
let contentScore = 0;
|
|
61
|
+
for (const term of terms) {
|
|
62
|
+
const termScore = weight(title, term, title.startsWith(term.term) ? 12 : 8) || weight(summary, term, 4) || (headings.some(heading => match(heading, term)) ? 3 : 0) || weight(text, term, 1);
|
|
63
|
+
score += termScore;
|
|
64
|
+
if (!fallbackStopWords.has(term.term)) contentScore += termScore;
|
|
65
|
+
}
|
|
61
66
|
const section = filtered || terms.every(term => match(title, term)) ? undefined : doc.headings.find((heading, index) => terms.every(term => match(headings[index], term)));
|
|
62
|
-
hits.push({ score, matched: matched.length, partialMatched: matched.filter(term => !fallbackStopWords.has(term.term)).length, result: { url: section ? `${doc.url}#${section.id}` : doc.url, title: doc.title, summary: doc.summary, section: section?.title } });
|
|
67
|
+
hits.push({ score, contentScore, matched: matched.length, partialMatched: matched.filter(term => !fallbackStopWords.has(term.term)).length, result: { url: section ? `${doc.url}#${section.id}` : doc.url, title: doc.title, summary: doc.summary, section: section?.title } });
|
|
63
68
|
}
|
|
64
|
-
const
|
|
65
|
-
|
|
69
|
+
const contentTerms = terms.filter(term => !fallbackStopWords.has(term.term)).length;
|
|
70
|
+
// Filler words shape the sentence, not the subject. A page that covers every
|
|
71
|
+
// content term is complete even when it omits "how", "do", or "the"; otherwise
|
|
72
|
+
// a page that happens to repeat filler words can hide the focused result.
|
|
73
|
+
const complete = contentTerms === 0
|
|
74
|
+
? hits.filter(hit => hit.matched === terms.length)
|
|
75
|
+
: hits.filter(hit => hit.partialMatched === contentTerms);
|
|
76
|
+
return (complete.length ? complete : hits.filter(hit => hit.partialMatched > 0)).sort((a, b) => (complete.length ? b.contentScore - a.contentScore : b.partialMatched - a.partialMatched) || b.score - a.score || a.result.title.localeCompare(b.result.title)).slice(0, context.limit).map(hit => hit.result);
|
|
66
77
|
}
|
|
@@ -59,6 +59,7 @@ export type ArtifactAssemblyInput = {
|
|
|
59
59
|
colorMode: 'light' | 'dark' | 'system';
|
|
60
60
|
generatedFontsCss?: string;
|
|
61
61
|
fontFiles: string[];
|
|
62
|
+
projectFontAssets: Map<string, Buffer>;
|
|
62
63
|
fonts: SiteFonts;
|
|
63
64
|
shareImages: ShareSettings;
|
|
64
65
|
shareFor: (doc: Document) => {
|
package/dist/artifact-bundle.js
CHANGED
|
@@ -12,6 +12,8 @@ import { fictionalDocument, optionalDocument, resolveLlmsDiscovery } from './llm
|
|
|
12
12
|
import { boundedDiscovery } from './compact-discovery.js';
|
|
13
13
|
import { iconLicenseFile } from './icons.js';
|
|
14
14
|
import { peleLicenseFile } from './diagrams.js';
|
|
15
|
+
import { fontMediaType } from './fonts.js';
|
|
16
|
+
import { createHash } from 'node:crypto';
|
|
15
17
|
import { defaultShareSvg, faviconSvg, fillShareTemplate, renderPng, touchIconSvg } from './share-images.js';
|
|
16
18
|
import { paletteCatalog, paletteCss, presetCatalog, resolvePalette } from './palettes.js';
|
|
17
19
|
import { heading, link, list, paragraph, renderMarkdown, root, searchIndex, shareCardText, text } from './content.js';
|
|
@@ -148,10 +150,16 @@ export async function assembleArtifacts(input) {
|
|
|
148
150
|
}
|
|
149
151
|
if (generatedFontsCss)
|
|
150
152
|
addPublicArtifact('/assets/fonts.css', generatedFontsCss.replaceAll('url("/assets/', `url("${basePath}/assets/`));
|
|
153
|
+
const addFont = (route, bytes, immutable) => {
|
|
154
|
+
addPublicArtifact(route, bytes);
|
|
155
|
+
const type = fontMediaType(route);
|
|
156
|
+
if (type)
|
|
157
|
+
headers[publicPath(route)] = { 'Content-Type': type, 'Cache-Control': immutable ? 'public, max-age=31536000, immutable' : 'public, max-age=0, must-revalidate', ETag: `"${createHash('sha256').update(bytes).digest('hex')}"` };
|
|
158
|
+
};
|
|
151
159
|
for (const file of fontFiles)
|
|
152
|
-
|
|
153
|
-
for (const route of
|
|
154
|
-
|
|
160
|
+
addFont(`/assets/fonts/${path.basename(file)}`, await readFile(file), false);
|
|
161
|
+
for (const [route, bytes] of input.projectFontAssets)
|
|
162
|
+
addFont(route, bytes, true);
|
|
155
163
|
const shareTemplate = shareImages.template ? await readFile(shareImages.template, 'utf8') : undefined;
|
|
156
164
|
for (const page of rendered) {
|
|
157
165
|
const share = shareFor(page.doc);
|
package/dist/cli-discovery.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const docsHelp = "Usage: shoalrun docs <command>\n\nRead bundled references (no project or provider key required):\n search <query> [--json]\n read <document-id> [--json]\n outline <document-id> [--json]\n section <document-id> <section-id> [--json]\n\nSearch and reads accept --site DIRECTORY, --max-tokens N, and publication\nselectors --product P --channel C --version V --language L.\n\nInspect a project:\n project [--config FILE] [--profile FILE] [--section pages|guidance|configuration|navigation|relationships|templates|findings]\n source FILE [--config FILE] [--profile FILE]\n context <document-id> [--config FILE]\n\nValidate and preview edits:\n baseline --out FILE [--config FILE] [--profile FILE]\n validate (--baseline FILE | --file FILE | --id ID) [--config FILE] [--profile FILE]\n validation-status REPORT\n review REPORT [--format json|markdown]\n preview REPORT [--port PORT]\n\nOther authoring tools: changes, plan, apply, mcp.\nDiscover packaged agent guidance with shoalrun skills list.\n";
|
|
2
2
|
export declare const skillsHelp = "Usage: shoalrun skills list [--json]\n shoalrun skills read <name> [--json]\n\nList the names, descriptions and local paths of packaged skills, or read a skill.\nThese commands do not install skills or require a project or provider key.\n";
|
|
3
|
-
export declare const cliHelp = "Usage: shoalrun <command>\n\nStart and build:\n init [directory] [--starter minimal|api-docs|showcase]\n build [config] [output] [--profile FILE]\n export [config] --out DIRECTORY [--target NAME] [--profile FILE]\n dev [config] [output] [--profile FILE] [--port PORT]\n serve <site-directory> [--host HOST] [--port PORT]\n check [config] [--json]\n audit [config]\n scaffold <template> -n <target> [--config FILE] [--product P]\n\nAgent guidance and offline documentation:\n skills list [--json]\n skills read <name> [--json]\n docs search <query> [--site DIRECTORY] [--product P] [--json]\n docs read <document-id> [--site DIRECTORY] [--product P] [--json]\n docs project [--config FILE] [--profile FILE]\n docs baseline --out FILE [--config FILE] [--profile FILE]\n docs validate (--baseline FILE | --file FILE | --id ID) [--config FILE] [--profile FILE]\n docs review REPORT [--format json|markdown]\n docs preview REPORT [--port PORT]\n\nOther commands: config, api, operation, ingredient, recipe, search, index,\nask, answers, ask-log, chat, eval, vercel.\nRun shoalrun docs --help or shoalrun skills --help for discovery commands.\n";
|
|
3
|
+
export declare const cliHelp = "Usage: shoalrun <command>\n\nStart and build:\n init [directory] [--starter minimal|api-docs|showcase]\n build [config] [output] [--profile FILE]\n export [config] --out DIRECTORY [--target NAME] [--profile FILE]\n dev [config] [output] [--profile FILE] [--port PORT]\n serve <site-directory> [--host HOST] [--port PORT]\n check [config] [--json]\n references check <snapshot.json>\n audit [config]\n scaffold <template> -n <target> [--config FILE] [--product P]\n\nAgent guidance and offline documentation:\n skills list [--json]\n skills read <name> [--json]\n docs search <query> [--site DIRECTORY] [--product P] [--json]\n docs read <document-id> [--site DIRECTORY] [--product P] [--json]\n docs project [--config FILE] [--profile FILE]\n docs baseline --out FILE [--config FILE] [--profile FILE]\n docs validate (--baseline FILE | --file FILE | --id ID) [--config FILE] [--profile FILE]\n docs review REPORT [--format json|markdown]\n docs preview REPORT [--port PORT]\n\nOther commands: config, api, operation, ingredient, recipe, search, index,\nask, answers, ask-log, chat, eval, vercel.\nRun shoalrun docs --help or shoalrun skills --help for discovery commands.\n";
|
|
4
4
|
export declare function runSkillsCommand(args: string[]): Promise<string>;
|
package/dist/cli-discovery.js
CHANGED
|
@@ -43,6 +43,7 @@ Start and build:
|
|
|
43
43
|
dev [config] [output] [--profile FILE] [--port PORT]
|
|
44
44
|
serve <site-directory> [--host HOST] [--port PORT]
|
|
45
45
|
check [config] [--json]
|
|
46
|
+
references check <snapshot.json>
|
|
46
47
|
audit [config]
|
|
47
48
|
scaffold <template> -n <target> [--config FILE] [--product P]
|
|
48
49
|
|
package/dist/cli.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { readCodeReference } from './code-reference-model.js';
|
|
2
3
|
import { runExportCommand, exportHelp } from './content-export-command.js';
|
|
3
4
|
import { cliHelp, docsHelp, skillsHelp, runSkillsCommand } from './cli-discovery.js';
|
|
4
5
|
import { compareDocumentSnapshots } from './document-sync.js';
|
|
@@ -99,6 +100,12 @@ try {
|
|
|
99
100
|
else if (command === 'skills') {
|
|
100
101
|
process.stdout.write(await runSkillsCommand([subcommand, ...rest].filter((value) => value !== undefined)));
|
|
101
102
|
}
|
|
103
|
+
else if (command === 'references') {
|
|
104
|
+
if (subcommand !== 'check' || rest.length !== 1)
|
|
105
|
+
throw new Error('Usage: shoalrun references check <snapshot.json>');
|
|
106
|
+
const snapshot = await readCodeReference(path.resolve(rest[0]));
|
|
107
|
+
process.stdout.write(JSON.stringify({ status: 'ok', programmingLanguage: snapshot.programmingLanguage, symbols: snapshot.symbols.length }) + '\n');
|
|
108
|
+
}
|
|
102
109
|
else if (command === 'init') {
|
|
103
110
|
const args = [subcommand, ...rest].filter((item) => item !== undefined);
|
|
104
111
|
let directory = '.';
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const codeReferenceSchema: z.ZodObject<{
|
|
3
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
4
|
+
kind: z.ZodLiteral<"shoalrun-code-reference">;
|
|
5
|
+
programmingLanguage: z.ZodString;
|
|
6
|
+
producer: z.ZodObject<{
|
|
7
|
+
name: z.ZodString;
|
|
8
|
+
version: z.ZodString;
|
|
9
|
+
extractorVersion: z.ZodOptional<z.ZodString>;
|
|
10
|
+
}, z.core.$strict>;
|
|
11
|
+
sourceDigest: z.ZodOptional<z.ZodString>;
|
|
12
|
+
symbols: z.ZodArray<z.ZodObject<{
|
|
13
|
+
id: z.ZodString;
|
|
14
|
+
name: z.ZodString;
|
|
15
|
+
kind: z.ZodEnum<{
|
|
16
|
+
function: "function";
|
|
17
|
+
constructor: "constructor";
|
|
18
|
+
module: "module";
|
|
19
|
+
type: "type";
|
|
20
|
+
namespace: "namespace";
|
|
21
|
+
class: "class";
|
|
22
|
+
interface: "interface";
|
|
23
|
+
enum: "enum";
|
|
24
|
+
method: "method";
|
|
25
|
+
property: "property";
|
|
26
|
+
attribute: "attribute";
|
|
27
|
+
constant: "constant";
|
|
28
|
+
}>;
|
|
29
|
+
parent: z.ZodOptional<z.ZodString>;
|
|
30
|
+
visibility: z.ZodDefault<z.ZodEnum<{
|
|
31
|
+
public: "public";
|
|
32
|
+
private: "private";
|
|
33
|
+
}>>;
|
|
34
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
35
|
+
description: z.ZodOptional<z.ZodString>;
|
|
36
|
+
annotation: z.ZodOptional<z.ZodString>;
|
|
37
|
+
default: z.ZodOptional<z.ZodString>;
|
|
38
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
39
|
+
bases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
40
|
+
constructorSignature: z.ZodOptional<z.ZodString>;
|
|
41
|
+
typeReferences: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
42
|
+
signatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
|
+
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
44
|
+
name: z.ZodString;
|
|
45
|
+
type: z.ZodOptional<z.ZodString>;
|
|
46
|
+
description: z.ZodOptional<z.ZodString>;
|
|
47
|
+
default: z.ZodOptional<z.ZodString>;
|
|
48
|
+
}, z.core.$strict>>>;
|
|
49
|
+
returns: z.ZodOptional<z.ZodObject<{
|
|
50
|
+
type: z.ZodOptional<z.ZodString>;
|
|
51
|
+
description: z.ZodOptional<z.ZodString>;
|
|
52
|
+
}, z.core.$strict>>;
|
|
53
|
+
yields: z.ZodOptional<z.ZodObject<{
|
|
54
|
+
type: z.ZodOptional<z.ZodString>;
|
|
55
|
+
description: z.ZodOptional<z.ZodString>;
|
|
56
|
+
}, z.core.$strict>>;
|
|
57
|
+
raises: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
58
|
+
name: z.ZodString;
|
|
59
|
+
type: z.ZodOptional<z.ZodString>;
|
|
60
|
+
description: z.ZodOptional<z.ZodString>;
|
|
61
|
+
default: z.ZodOptional<z.ZodString>;
|
|
62
|
+
}, z.core.$strict>>>;
|
|
63
|
+
examples: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
64
|
+
title: z.ZodOptional<z.ZodString>;
|
|
65
|
+
code: z.ZodString;
|
|
66
|
+
}, z.core.$strict>>>;
|
|
67
|
+
seeAlso: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
68
|
+
source: z.ZodOptional<z.ZodObject<{
|
|
69
|
+
path: z.ZodString;
|
|
70
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
71
|
+
}, z.core.$strict>>;
|
|
72
|
+
}, z.core.$strict>>;
|
|
73
|
+
}, z.core.$strict>;
|
|
74
|
+
export type CodeReferenceSnapshot = z.infer<typeof codeReferenceSchema>;
|
|
75
|
+
export type CodeSymbol = CodeReferenceSnapshot['symbols'][number];
|
|
76
|
+
export type CodeReference = {
|
|
77
|
+
catalog: string;
|
|
78
|
+
programmingLanguage: string;
|
|
79
|
+
symbol: CodeSymbol;
|
|
80
|
+
sourceUrl?: string;
|
|
81
|
+
layout?: 'symbols' | 'classes' | 'modules';
|
|
82
|
+
complete?: boolean;
|
|
83
|
+
};
|
|
84
|
+
export declare function validateCodeReference(value: unknown): CodeReferenceSnapshot;
|
|
85
|
+
export declare function readCodeReference(file: string, root?: string): Promise<CodeReferenceSnapshot>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { readFile, realpath, stat } from 'node:fs/promises';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
const text = z.string().max(100_000);
|
|
5
|
+
const id = z.string().min(1).max(512).regex(/^[^\s\x00-\x1f]+$/, 'Symbol IDs cannot contain whitespace or control characters');
|
|
6
|
+
const detail = z.object({ name: z.string().min(1).max(512), type: text.optional(), description: text.optional(), default: text.optional() }).strict();
|
|
7
|
+
export const codeReferenceSchema = z.object({
|
|
8
|
+
schemaVersion: z.literal(1),
|
|
9
|
+
kind: z.literal('shoalrun-code-reference'),
|
|
10
|
+
programmingLanguage: z.string().regex(/^[a-z][a-z0-9_-]{0,63}$/),
|
|
11
|
+
producer: z.object({ name: z.string().min(1).max(100), version: z.string().min(1).max(100), extractorVersion: z.string().max(100).optional() }).strict(),
|
|
12
|
+
sourceDigest: z.string().regex(/^[a-f0-9]{64}$/).optional(),
|
|
13
|
+
symbols: z.array(z.object({
|
|
14
|
+
id, name: z.string().min(1).max(512),
|
|
15
|
+
kind: z.enum(['module', 'namespace', 'class', 'interface', 'enum', 'type', 'function', 'method', 'constructor', 'property', 'attribute', 'constant']),
|
|
16
|
+
parent: id.optional(), visibility: z.enum(['public', 'private']).default('public'),
|
|
17
|
+
summary: z.string().max(1000).optional(), description: text.optional(),
|
|
18
|
+
annotation: text.optional(), default: text.optional(), required: z.boolean().optional(),
|
|
19
|
+
bases: z.array(text).max(100).optional(), constructorSignature: text.optional(),
|
|
20
|
+
typeReferences: z.record(z.string().min(1).max(512), id).optional(),
|
|
21
|
+
signatures: z.array(text).max(100).optional(),
|
|
22
|
+
parameters: z.array(detail).max(1000).optional(),
|
|
23
|
+
returns: z.object({ type: text.optional(), description: text.optional() }).strict().optional(),
|
|
24
|
+
yields: z.object({ type: text.optional(), description: text.optional() }).strict().optional(),
|
|
25
|
+
raises: z.array(detail).max(1000).optional(),
|
|
26
|
+
examples: z.array(z.object({ title: z.string().max(512).optional(), code: text }).strict()).max(100).optional(),
|
|
27
|
+
seeAlso: z.array(id).max(1000).optional(),
|
|
28
|
+
source: z.object({ path: z.string().min(1).max(1000).regex(/^(?!\/)(?!.*(?:^|\/)\.{1,2}(?:\/|$))[^/\\\x00:]+(?:\/[^/\\\x00:]+)*$/), line: z.number().int().positive().optional() }).strict().optional()
|
|
29
|
+
}).strict()).min(1).max(10_000)
|
|
30
|
+
}).strict();
|
|
31
|
+
export function validateCodeReference(value) {
|
|
32
|
+
const result = codeReferenceSchema.parse(value);
|
|
33
|
+
const symbols = new Map();
|
|
34
|
+
for (const symbol of result.symbols) {
|
|
35
|
+
if (symbols.has(symbol.id))
|
|
36
|
+
throw new Error(`Duplicate code symbol ${symbol.id}`);
|
|
37
|
+
symbols.set(symbol.id, symbol);
|
|
38
|
+
}
|
|
39
|
+
const complete = new Set();
|
|
40
|
+
for (const symbol of result.symbols) {
|
|
41
|
+
for (const target of [symbol.parent, ...symbol.seeAlso ?? [], ...Object.values(symbol.typeReferences ?? {})])
|
|
42
|
+
if (target && !symbols.has(target))
|
|
43
|
+
throw new Error(`${symbol.id}: unknown code symbol ${target}`);
|
|
44
|
+
const seen = new Set([symbol.id]);
|
|
45
|
+
let parent = symbol.parent;
|
|
46
|
+
while (parent && !complete.has(parent)) {
|
|
47
|
+
if (seen.has(parent))
|
|
48
|
+
throw new Error(`${symbol.id}: cyclic symbol ownership`);
|
|
49
|
+
seen.add(parent);
|
|
50
|
+
parent = symbols.get(parent)?.parent;
|
|
51
|
+
}
|
|
52
|
+
for (const id of seen)
|
|
53
|
+
complete.add(id);
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
export async function readCodeReference(file, root) {
|
|
58
|
+
const canonical = await realpath(file);
|
|
59
|
+
if (root) {
|
|
60
|
+
const base = await realpath(root);
|
|
61
|
+
if (canonical !== base && !canonical.startsWith(base + path.sep))
|
|
62
|
+
throw new Error('Code reference source escapes the project root');
|
|
63
|
+
}
|
|
64
|
+
if (canonical.split(path.sep).some(part => /^\.env(?:\.|$)|^\.git$|\.(?:local|override)\.md$/i.test(part)))
|
|
65
|
+
throw new Error('Private local files cannot be code reference sources');
|
|
66
|
+
const info = await stat(canonical);
|
|
67
|
+
if (!info.isFile() || info.size > 32 * 1024 * 1024)
|
|
68
|
+
throw new Error('Code reference source must be a regular JSON file at most 32 MiB');
|
|
69
|
+
const bytes = await readFile(canonical);
|
|
70
|
+
if (bytes.length > 32 * 1024 * 1024)
|
|
71
|
+
throw new Error('Code reference source exceeds 32 MiB');
|
|
72
|
+
return validateCodeReference(JSON.parse(bytes.toString('utf8')));
|
|
73
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type CodeReference } from './code-reference-model.js';
|
|
2
|
+
import { type loadConfig } from './config.js';
|
|
3
|
+
import { type ReaderFiltersConfig, type ReaderSelection } from './reader-filters.js';
|
|
4
|
+
import { type Document, type Variant } from './content-source.js';
|
|
5
|
+
import type { AuthoredPublicationConfig, AuthoredPublicationPlan } from './publication-plan.js';
|
|
6
|
+
export declare function codeDocumentId(catalog: string, symbol: string): string;
|
|
7
|
+
export declare function materializeCodeReferences(input: {
|
|
8
|
+
config: AuthoredPublicationConfig & {
|
|
9
|
+
codeReferences?: unknown;
|
|
10
|
+
};
|
|
11
|
+
loaded: Awaited<ReturnType<typeof loadConfig>>;
|
|
12
|
+
plan: AuthoredPublicationPlan;
|
|
13
|
+
base: string;
|
|
14
|
+
basePath: string;
|
|
15
|
+
variants: Variant[];
|
|
16
|
+
language: string;
|
|
17
|
+
readerFilters?: ReaderFiltersConfig;
|
|
18
|
+
contentFilter?: ReaderSelection;
|
|
19
|
+
dependencies: Set<string>;
|
|
20
|
+
allowRouteCollisions?: boolean;
|
|
21
|
+
}): Promise<void>;
|
|
22
|
+
/** Imported prose is inert Markdown; it never enters MDX or project directive expansion. */
|
|
23
|
+
export declare function renderCodeReference(reference: CodeReference, doc: Document, documents: Map<string, Document>): any;
|