@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
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Additional information in a selected build
|
|
2
|
+
|
|
3
|
+
This example uses one shared page, with an internal operations section. It needs
|
|
4
|
+
no customer profile or feature manifest. From this directory, with Shoalrun installed:
|
|
5
|
+
|
|
6
|
+
```sh
|
|
7
|
+
shoalrun build docs.config.yaml dist/complete
|
|
8
|
+
shoalrun build customer.config.yaml dist/customer
|
|
9
|
+
shoalrun serve dist/complete --port 8771
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Open <http://127.0.0.1:8771/>. In another terminal, serve the customer output:
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
shoalrun serve dist/customer --port 8772
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Open <http://127.0.0.1:8772/>. Both sites show **Review a bill** and **Get help**.
|
|
19
|
+
Only the complete build has **Check the retry queue**. Check `index.md` and
|
|
20
|
+
`search-index.json` in each output: the customer files must contain neither that
|
|
21
|
+
heading nor its instructions. The unfiltered build includes all valid blocks.
|
|
22
|
+
|
|
23
|
+
**Unmarked sections stay included. Unmarked pages are excluded when a selected
|
|
24
|
+
facet has no matching page mark.** This page explicitly belongs to both audiences.
|
|
25
|
+
`<ForFacet audience="internal partner">` would accept either choice if both were
|
|
26
|
+
configured; multiple facet attributes must all match. A facet the build doesn't
|
|
27
|
+
filter passes automatically. Selection removes sections rather than swapping
|
|
28
|
+
variants. Use positive literal matches only.
|
|
29
|
+
|
|
30
|
+
`<ReaderSection>` is different: it hides content in browser views while publishing
|
|
31
|
+
it in output files. Never use it to omit internal instructions from a customer
|
|
32
|
+
build. Build-time omission doesn't authenticate the complete site's deployment.
|
|
33
|
+
|
|
34
|
+
After each successful build, `.shoalrun/content-selection.json` records its target
|
|
35
|
+
and section decisions. Follow its `receipt` path for the artifact-specific copy;
|
|
36
|
+
these reports belong outside served output. Portable exports need their own
|
|
37
|
+
`contentFilter`; PDF exports inherit the site's filter unless overridden.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
schemaVersion: 1
|
|
2
|
+
site:
|
|
3
|
+
title: Service documentation
|
|
4
|
+
contentDir: content
|
|
5
|
+
publications:
|
|
6
|
+
defaults: { channel: production, version: current, language: en }
|
|
7
|
+
channels:
|
|
8
|
+
production: { pathPrefix: "" }
|
|
9
|
+
versions:
|
|
10
|
+
current: { pathPrefix: "" }
|
|
11
|
+
enabled:
|
|
12
|
+
- { channel: production, version: current }
|
|
13
|
+
frontmatter:
|
|
14
|
+
defaults:
|
|
15
|
+
type: guide
|
|
16
|
+
channel: production
|
|
17
|
+
version: current
|
|
18
|
+
access: { policy: public }
|
|
19
|
+
readerFilters:
|
|
20
|
+
facets:
|
|
21
|
+
audience:
|
|
22
|
+
label: Audience
|
|
23
|
+
options: { customer: Customers, internal: Internal }
|
|
24
|
+
outputs:
|
|
25
|
+
html:
|
|
26
|
+
shareImages: false
|
|
27
|
+
highlighting: { provider: none }
|
|
28
|
+
navigation:
|
|
29
|
+
- { id: billing, doc: guide.billing }
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: guide.billing
|
|
3
|
+
title: Billing
|
|
4
|
+
summary: Understand billing and check operational status.
|
|
5
|
+
slug: /
|
|
6
|
+
audiences: [customer, internal]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Review a bill
|
|
10
|
+
|
|
11
|
+
Open the billing page and choose the billing period. Check the total and download
|
|
12
|
+
the statement before contacting support about a charge.
|
|
13
|
+
|
|
14
|
+
<ForFacet audience="internal">
|
|
15
|
+
|
|
16
|
+
## Check the retry queue
|
|
17
|
+
|
|
18
|
+
Before replaying a failed billing job, check whether the original request
|
|
19
|
+
completed. Record the job identifier and use the team's approved replay procedure.
|
|
20
|
+
|
|
21
|
+
</ForFacet>
|
|
22
|
+
|
|
23
|
+
## Get help
|
|
24
|
+
|
|
25
|
+
Include the statement identifier and billing period in your support request.
|
|
@@ -19,8 +19,10 @@ all applicable values, or supply appropriate `readerFilters.typeDefaults`.
|
|
|
19
19
|
Unknown facets, unknown choices, empty selectors, and selections with no pages
|
|
20
20
|
fail the build. Omit `contentFilter` to publish all otherwise eligible pages.
|
|
21
21
|
|
|
22
|
-
Selection applies to
|
|
23
|
-
|
|
22
|
+
Selection applies to authored and generated pages before rendering. On a selected
|
|
23
|
+
page, `<ForFacet>` blocks also follow the build selection. Unmarked sections stay
|
|
24
|
+
included, and `<ReaderSection>` content remains published. See
|
|
25
|
+
[the audience section example](../facet-sections/README.md).
|
|
24
26
|
Reader controls do not bring excluded pages back. Keep links and navigation
|
|
25
27
|
within the selected set; missing targets fail validation. Configure API sources
|
|
26
28
|
and operation selection separately: publishing an API contract may expose the
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: guide.start
|
|
3
|
+
title: Python SDK
|
|
4
|
+
summary: Explore a typed SDK with synchronous and async clients, models, pagination, and exceptions.
|
|
5
|
+
type: guide
|
|
6
|
+
slug: /
|
|
7
|
+
channel: production
|
|
8
|
+
version: current
|
|
9
|
+
language: en
|
|
10
|
+
access: { policy: public }
|
|
11
|
+
---
|
|
12
|
+
This example SDK manages records. Its reference pages are generated from Python source and docstrings, then rendered with Shoalrun's normal theme, navigation, search, and Markdown output.
|
|
13
|
+
|
|
14
|
+
The sample client stores records in memory. It doesn't connect to a live service.
|
|
15
|
+
|
|
16
|
+
## Fetch a typed record
|
|
17
|
+
|
|
18
|
+
```python
|
|
19
|
+
from orchard import Client
|
|
20
|
+
|
|
21
|
+
client = Client("demo-key")
|
|
22
|
+
record = client.fetch("rec_42")
|
|
23
|
+
print(record.title)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Read [Client](doc:reference.client) for configuration and [fetch](doc:reference.fetch) for its typed and raw-response overloads.
|
|
27
|
+
|
|
28
|
+
## Work with more than one page
|
|
29
|
+
|
|
30
|
+
```python
|
|
31
|
+
from orchard import RecordStatus
|
|
32
|
+
|
|
33
|
+
for record in client.iter_records(page_size=50, status=RecordStatus.READY):
|
|
34
|
+
print(record.id, record.title)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Choose [list_records](doc:reference.Client.list_records) when your application needs explicit cursor control, or [Page.map](doc:reference.pagination.Page.map) to transform a response without losing its pagination metadata.
|
|
38
|
+
|
|
39
|
+
## Use an async client
|
|
40
|
+
|
|
41
|
+
```python
|
|
42
|
+
from orchard import AsyncClient
|
|
43
|
+
|
|
44
|
+
client = AsyncClient("demo-key")
|
|
45
|
+
async for record in client.iter_records(page_size=50):
|
|
46
|
+
print(record.title)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Browse [AsyncClient](doc:reference.AsyncClient), [Record](doc:reference.models.Record), and the [typed exceptions](doc:reference.errors) to see how the generated reference fits together.
|
|
50
|
+
|
|
51
|
+
## Choose how to browse
|
|
52
|
+
|
|
53
|
+
Read the [Client class with member details inline](doc:reference.client), or open the [complete Python SDK reference](doc:reference.complete) to browse everything on one page. The example uses `layout: classes` and enables `singlePage` in its catalog configuration. Individual symbol links remain available.
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
schemaVersion: 1
|
|
2
|
+
site:
|
|
3
|
+
title: Python SDK documentation
|
|
4
|
+
publications:
|
|
5
|
+
channels:
|
|
6
|
+
production: {}
|
|
7
|
+
versions:
|
|
8
|
+
current: {}
|
|
9
|
+
defaults:
|
|
10
|
+
channel: production
|
|
11
|
+
version: current
|
|
12
|
+
language: en
|
|
13
|
+
enabled:
|
|
14
|
+
- channel: production
|
|
15
|
+
version: current
|
|
16
|
+
language: en
|
|
17
|
+
codeReferences:
|
|
18
|
+
sdk:
|
|
19
|
+
source:
|
|
20
|
+
kind: file
|
|
21
|
+
path: ./reference.json
|
|
22
|
+
symbols:
|
|
23
|
+
orchard:
|
|
24
|
+
documentId: reference.orchard
|
|
25
|
+
slug: /reference/orchard
|
|
26
|
+
orchard.client:
|
|
27
|
+
documentId: reference.clients
|
|
28
|
+
slug: /reference/clients
|
|
29
|
+
orchard.client.AsyncClient:
|
|
30
|
+
documentId: reference.AsyncClient
|
|
31
|
+
slug: /reference/async-client
|
|
32
|
+
orchard.client.AsyncClient.__init__:
|
|
33
|
+
documentId: reference.AsyncClient.__init__
|
|
34
|
+
slug: /reference/async-client/constructor
|
|
35
|
+
orchard.client.AsyncClient.fetch:
|
|
36
|
+
documentId: reference.AsyncClient.fetch
|
|
37
|
+
slug: /reference/async-client/fetch
|
|
38
|
+
orchard.client.AsyncClient.iter_records:
|
|
39
|
+
documentId: reference.AsyncClient.iter_records
|
|
40
|
+
slug: /reference/async-client/iter-records
|
|
41
|
+
orchard.client.Client:
|
|
42
|
+
documentId: reference.client
|
|
43
|
+
slug: /reference/client
|
|
44
|
+
orchard.client.Client.__init__:
|
|
45
|
+
documentId: reference.Client.__init__
|
|
46
|
+
slug: /reference/client/constructor
|
|
47
|
+
orchard.client.Client.base_url:
|
|
48
|
+
documentId: reference.Client.base_url
|
|
49
|
+
slug: /reference/client/base-url
|
|
50
|
+
orchard.client.Client.bulk_create:
|
|
51
|
+
documentId: reference.Client.bulk_create
|
|
52
|
+
slug: /reference/client/bulk-create
|
|
53
|
+
orchard.client.Client.create_record:
|
|
54
|
+
documentId: reference.Client.create_record
|
|
55
|
+
slug: /reference/client/create-record
|
|
56
|
+
orchard.client.Client.fetch:
|
|
57
|
+
documentId: reference.fetch
|
|
58
|
+
slug: /reference/client/fetch
|
|
59
|
+
orchard.client.Client.iter_records:
|
|
60
|
+
documentId: reference.Client.iter_records
|
|
61
|
+
slug: /reference/client/iter-records
|
|
62
|
+
orchard.client.Client.list_records:
|
|
63
|
+
documentId: reference.Client.list_records
|
|
64
|
+
slug: /reference/client/list-records
|
|
65
|
+
orchard.client.Client.max_retries:
|
|
66
|
+
documentId: reference.Client.max_retries
|
|
67
|
+
slug: /reference/client/max-retries
|
|
68
|
+
orchard.client.Client.timeout:
|
|
69
|
+
documentId: reference.Client.timeout
|
|
70
|
+
slug: /reference/client/timeout
|
|
71
|
+
orchard.errors:
|
|
72
|
+
documentId: reference.errors
|
|
73
|
+
slug: /reference/errors
|
|
74
|
+
orchard.errors.APIError:
|
|
75
|
+
documentId: reference.errors.APIError
|
|
76
|
+
slug: /reference/errors/apierror
|
|
77
|
+
orchard.errors.APIError.__init__:
|
|
78
|
+
documentId: reference.errors.APIError.__init__
|
|
79
|
+
slug: /reference/errors/apierror/constructor
|
|
80
|
+
orchard.errors.APIError.request_id:
|
|
81
|
+
documentId: reference.errors.APIError.request_id
|
|
82
|
+
slug: /reference/errors/apierror/request-id
|
|
83
|
+
orchard.errors.AuthenticationError:
|
|
84
|
+
documentId: reference.errors.AuthenticationError
|
|
85
|
+
slug: /reference/errors/authenticationerror
|
|
86
|
+
orchard.errors.NotFoundError:
|
|
87
|
+
documentId: reference.errors.NotFoundError
|
|
88
|
+
slug: /reference/errors/notfounderror
|
|
89
|
+
orchard.errors.RateLimitError:
|
|
90
|
+
documentId: reference.errors.RateLimitError
|
|
91
|
+
slug: /reference/errors/ratelimiterror
|
|
92
|
+
orchard.errors.RateLimitError.__init__:
|
|
93
|
+
documentId: reference.errors.RateLimitError.__init__
|
|
94
|
+
slug: /reference/errors/ratelimiterror/constructor
|
|
95
|
+
orchard.errors.RateLimitError.retry_after:
|
|
96
|
+
documentId: reference.errors.RateLimitError.retry_after
|
|
97
|
+
slug: /reference/errors/ratelimiterror/retry-after
|
|
98
|
+
orchard.models:
|
|
99
|
+
documentId: reference.models
|
|
100
|
+
slug: /reference/models
|
|
101
|
+
orchard.models.Record:
|
|
102
|
+
documentId: reference.models.Record
|
|
103
|
+
slug: /reference/models/record
|
|
104
|
+
orchard.models.Record.created_at:
|
|
105
|
+
documentId: reference.models.Record.created_at
|
|
106
|
+
slug: /reference/models/record/created-at
|
|
107
|
+
orchard.models.Record.id:
|
|
108
|
+
documentId: reference.models.Record.id
|
|
109
|
+
slug: /reference/models/record/id
|
|
110
|
+
orchard.models.Record.labels:
|
|
111
|
+
documentId: reference.models.Record.labels
|
|
112
|
+
slug: /reference/models/record/labels
|
|
113
|
+
orchard.models.Record.status:
|
|
114
|
+
documentId: reference.models.Record.status
|
|
115
|
+
slug: /reference/models/record/status
|
|
116
|
+
orchard.models.Record.title:
|
|
117
|
+
documentId: reference.models.Record.title
|
|
118
|
+
slug: /reference/models/record/title
|
|
119
|
+
orchard.models.Record.to_dict:
|
|
120
|
+
documentId: reference.models.Record.to_dict
|
|
121
|
+
slug: /reference/models/record/to-dict
|
|
122
|
+
orchard.models.RecordDict:
|
|
123
|
+
documentId: reference.models.RecordDict
|
|
124
|
+
slug: /reference/models/recorddict
|
|
125
|
+
orchard.models.RecordDict.id:
|
|
126
|
+
documentId: reference.models.RecordDict.id
|
|
127
|
+
slug: /reference/models/recorddict/id
|
|
128
|
+
orchard.models.RecordDict.status:
|
|
129
|
+
documentId: reference.models.RecordDict.status
|
|
130
|
+
slug: /reference/models/recorddict/status
|
|
131
|
+
orchard.models.RecordDict.title:
|
|
132
|
+
documentId: reference.models.RecordDict.title
|
|
133
|
+
slug: /reference/models/recorddict/title
|
|
134
|
+
orchard.models.RecordInput:
|
|
135
|
+
documentId: reference.models.RecordInput
|
|
136
|
+
slug: /reference/models/recordinput
|
|
137
|
+
orchard.models.RecordInput.labels:
|
|
138
|
+
documentId: reference.models.RecordInput.labels
|
|
139
|
+
slug: /reference/models/recordinput/labels
|
|
140
|
+
orchard.models.RecordInput.title:
|
|
141
|
+
documentId: reference.models.RecordInput.title
|
|
142
|
+
slug: /reference/models/recordinput/title
|
|
143
|
+
orchard.models.RecordStatus:
|
|
144
|
+
documentId: reference.models.RecordStatus
|
|
145
|
+
slug: /reference/models/recordstatus
|
|
146
|
+
orchard.models.RecordStatus.FAILED:
|
|
147
|
+
documentId: reference.models.RecordStatus.FAILED
|
|
148
|
+
slug: /reference/models/recordstatus/failed
|
|
149
|
+
orchard.models.RecordStatus.PENDING:
|
|
150
|
+
documentId: reference.models.RecordStatus.PENDING
|
|
151
|
+
slug: /reference/models/recordstatus/pending
|
|
152
|
+
orchard.models.RecordStatus.READY:
|
|
153
|
+
documentId: reference.models.RecordStatus.READY
|
|
154
|
+
slug: /reference/models/recordstatus/ready
|
|
155
|
+
orchard.pagination:
|
|
156
|
+
documentId: reference.pagination
|
|
157
|
+
slug: /reference/pagination
|
|
158
|
+
orchard.pagination.Page:
|
|
159
|
+
documentId: reference.pagination.Page
|
|
160
|
+
slug: /reference/pagination/page
|
|
161
|
+
orchard.pagination.Page.has_more:
|
|
162
|
+
documentId: reference.pagination.Page.has_more
|
|
163
|
+
slug: /reference/pagination/page/has-more
|
|
164
|
+
orchard.pagination.Page.items:
|
|
165
|
+
documentId: reference.pagination.Page.items
|
|
166
|
+
slug: /reference/pagination/page/items
|
|
167
|
+
orchard.pagination.Page.map:
|
|
168
|
+
documentId: reference.pagination.Page.map
|
|
169
|
+
slug: /reference/pagination/page/map
|
|
170
|
+
orchard.pagination.Page.next_cursor:
|
|
171
|
+
documentId: reference.pagination.Page.next_cursor
|
|
172
|
+
slug: /reference/pagination/page/next-cursor
|
|
173
|
+
orchard.pagination.Page.total:
|
|
174
|
+
documentId: reference.pagination.Page.total
|
|
175
|
+
slug: /reference/pagination/page/total
|
|
176
|
+
orchard.pagination.T:
|
|
177
|
+
documentId: reference.pagination.T
|
|
178
|
+
slug: /reference/pagination/t
|
|
179
|
+
orchard.pagination.U:
|
|
180
|
+
documentId: reference.pagination.U
|
|
181
|
+
slug: /reference/pagination/u
|
|
182
|
+
layout: classes
|
|
183
|
+
singlePage:
|
|
184
|
+
documentId: reference.complete
|
|
185
|
+
slug: /reference/all
|
|
186
|
+
title: Complete Python SDK reference
|
|
187
|
+
summary: Browse every public module, class, method, and field on one page.
|
|
188
|
+
navigation:
|
|
189
|
+
- id: start
|
|
190
|
+
doc: guide.start
|
|
191
|
+
- id: complete
|
|
192
|
+
doc: reference.complete
|
|
193
|
+
- id: overview
|
|
194
|
+
label: Package
|
|
195
|
+
items:
|
|
196
|
+
- id: orchard
|
|
197
|
+
doc: reference.orchard
|
|
198
|
+
- id: orchard.client
|
|
199
|
+
doc: reference.clients
|
|
200
|
+
- id: client
|
|
201
|
+
label: Synchronous client
|
|
202
|
+
items:
|
|
203
|
+
- id: orchard.client.Client
|
|
204
|
+
doc: reference.client
|
|
205
|
+
- id: orchard.client.Client.__init__
|
|
206
|
+
doc: reference.Client.__init__
|
|
207
|
+
- id: orchard.client.Client.fetch
|
|
208
|
+
doc: reference.fetch
|
|
209
|
+
- id: orchard.client.Client.list_records
|
|
210
|
+
doc: reference.Client.list_records
|
|
211
|
+
- id: orchard.client.Client.iter_records
|
|
212
|
+
doc: reference.Client.iter_records
|
|
213
|
+
- id: orchard.client.Client.create_record
|
|
214
|
+
doc: reference.Client.create_record
|
|
215
|
+
- id: orchard.client.Client.bulk_create
|
|
216
|
+
doc: reference.Client.bulk_create
|
|
217
|
+
- id: async
|
|
218
|
+
label: Asynchronous client
|
|
219
|
+
items:
|
|
220
|
+
- id: orchard.client.AsyncClient
|
|
221
|
+
doc: reference.AsyncClient
|
|
222
|
+
- id: orchard.client.AsyncClient.fetch
|
|
223
|
+
doc: reference.AsyncClient.fetch
|
|
224
|
+
- id: orchard.client.AsyncClient.iter_records
|
|
225
|
+
doc: reference.AsyncClient.iter_records
|
|
226
|
+
- id: models
|
|
227
|
+
label: Models
|
|
228
|
+
items:
|
|
229
|
+
- id: orchard.models
|
|
230
|
+
doc: reference.models
|
|
231
|
+
- id: orchard.models.Record
|
|
232
|
+
doc: reference.models.Record
|
|
233
|
+
- id: orchard.models.RecordInput
|
|
234
|
+
doc: reference.models.RecordInput
|
|
235
|
+
- id: orchard.models.RecordDict
|
|
236
|
+
doc: reference.models.RecordDict
|
|
237
|
+
- id: orchard.models.RecordStatus
|
|
238
|
+
doc: reference.models.RecordStatus
|
|
239
|
+
- id: orchard.models.Record.to_dict
|
|
240
|
+
doc: reference.models.Record.to_dict
|
|
241
|
+
- id: pagination
|
|
242
|
+
label: Pagination
|
|
243
|
+
items:
|
|
244
|
+
- id: orchard.pagination.Page
|
|
245
|
+
doc: reference.pagination.Page
|
|
246
|
+
- id: orchard.pagination.Page.map
|
|
247
|
+
doc: reference.pagination.Page.map
|
|
248
|
+
- id: orchard.pagination.Page.has_more
|
|
249
|
+
doc: reference.pagination.Page.has_more
|
|
250
|
+
- id: errors
|
|
251
|
+
label: Exceptions
|
|
252
|
+
items:
|
|
253
|
+
- id: orchard.errors
|
|
254
|
+
doc: reference.errors
|
|
255
|
+
- id: orchard.errors.APIError
|
|
256
|
+
doc: reference.errors.APIError
|
|
257
|
+
- id: orchard.errors.AuthenticationError
|
|
258
|
+
doc: reference.errors.AuthenticationError
|
|
259
|
+
- id: orchard.errors.NotFoundError
|
|
260
|
+
doc: reference.errors.NotFoundError
|
|
261
|
+
- id: orchard.errors.RateLimitError
|
|
262
|
+
doc: reference.errors.RateLimitError
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""A sample SDK for working with records, collections, and paginated results.
|
|
2
|
+
|
|
3
|
+
Use [Client](symbol:orchard.client.Client) in synchronous applications, or
|
|
4
|
+
[AsyncClient](symbol:orchard.client.AsyncClient) in an async service. Models,
|
|
5
|
+
pagination helpers, and typed exceptions have their own reference pages.
|
|
6
|
+
|
|
7
|
+
This package is documentation example code. It doesn't contact a live service.
|
|
8
|
+
"""
|
|
9
|
+
from .client import AsyncClient, Client
|
|
10
|
+
from .models import Record, RecordInput, RecordStatus
|
|
11
|
+
from .pagination import Page
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
"""Synchronous and asynchronous clients for the sample records SDK."""
|
|
2
|
+
from collections.abc import AsyncIterator, Iterator, Sequence
|
|
3
|
+
from typing import Literal, overload
|
|
4
|
+
from .errors import AuthenticationError, NotFoundError
|
|
5
|
+
from .models import Record, RecordDict, RecordInput, RecordStatus
|
|
6
|
+
from .pagination import Page
|
|
7
|
+
|
|
8
|
+
class Client:
|
|
9
|
+
"""Manage records from a synchronous Python application.
|
|
10
|
+
|
|
11
|
+
Create one client per API credential and reuse it across requests. Use
|
|
12
|
+
[AsyncClient](symbol:orchard.client.AsyncClient) in an async application.
|
|
13
|
+
|
|
14
|
+
The sample client keeps records in memory; it doesn't make network calls.
|
|
15
|
+
"""
|
|
16
|
+
def __init__(self, api_key: str, *, base_url: str = "https://api.example.com/v1", timeout: float = 10.0, max_retries: int = 2):
|
|
17
|
+
"""Configure a reusable client.
|
|
18
|
+
|
|
19
|
+
Args:
|
|
20
|
+
api_key: Credential used to identify the application.
|
|
21
|
+
base_url: Root URL of the API deployment.
|
|
22
|
+
timeout: Default request timeout, in seconds.
|
|
23
|
+
max_retries: Number of retries for transient failures.
|
|
24
|
+
|
|
25
|
+
Raises:
|
|
26
|
+
AuthenticationError: If the API key is empty.
|
|
27
|
+
"""
|
|
28
|
+
if not api_key:
|
|
29
|
+
raise AuthenticationError("API key must not be empty")
|
|
30
|
+
self.base_url = base_url
|
|
31
|
+
self.timeout = timeout
|
|
32
|
+
self.max_retries = max_retries
|
|
33
|
+
self._records: dict[str, Record] = {"rec_42": Record("rec_42", "Getting started")}
|
|
34
|
+
|
|
35
|
+
@overload
|
|
36
|
+
def fetch(self, record_id: str, *, raw: Literal[False] = False, timeout: float | None = None) -> Record: ...
|
|
37
|
+
@overload
|
|
38
|
+
def fetch(self, record_id: str, *, raw: Literal[True], timeout: float | None = None) -> RecordDict: ...
|
|
39
|
+
def fetch(self, record_id: str, *, raw: bool = False, timeout: float | None = None) -> Record | RecordDict:
|
|
40
|
+
"""Retrieve a record by its stable identifier.
|
|
41
|
+
|
|
42
|
+
The default response is a typed [Record](symbol:orchard.models.Record).
|
|
43
|
+
Set `raw=True` to receive a dictionary for serialization or a legacy
|
|
44
|
+
integration. An explicit timeout overrides the client's default.
|
|
45
|
+
|
|
46
|
+
Args:
|
|
47
|
+
record_id: Stable identifier of the record to retrieve.
|
|
48
|
+
raw: Return a wire-format dictionary instead of a model.
|
|
49
|
+
timeout: Request timeout override, in seconds.
|
|
50
|
+
|
|
51
|
+
Returns:
|
|
52
|
+
The record model, or a dictionary when `raw=True`.
|
|
53
|
+
|
|
54
|
+
Raises:
|
|
55
|
+
ValueError: If the record identifier is empty.
|
|
56
|
+
NotFoundError: If no record matches the identifier.
|
|
57
|
+
|
|
58
|
+
Examples:
|
|
59
|
+
>>> client = Client("demo-key")
|
|
60
|
+
>>> record = client.fetch("rec_42")
|
|
61
|
+
>>> record.title
|
|
62
|
+
'Getting started'
|
|
63
|
+
>>> payload = client.fetch("rec_42", raw=True)
|
|
64
|
+
>>> payload["status"]
|
|
65
|
+
'ready'
|
|
66
|
+
"""
|
|
67
|
+
if not record_id:
|
|
68
|
+
raise ValueError("record_id must not be empty")
|
|
69
|
+
if record_id not in self._records:
|
|
70
|
+
raise NotFoundError(f"Record {record_id} was not found")
|
|
71
|
+
record = self._records[record_id]
|
|
72
|
+
return record.to_dict() if raw else record
|
|
73
|
+
|
|
74
|
+
def list_records(self, *, limit: int = 20, cursor: str | None = None, status: RecordStatus | None = None) -> Page[Record]:
|
|
75
|
+
"""List a single page of records with optional status filtering.
|
|
76
|
+
|
|
77
|
+
Use [iter_records](symbol:orchard.client.Client.iter_records) when you
|
|
78
|
+
want to read every page without managing continuation cursors.
|
|
79
|
+
|
|
80
|
+
Args:
|
|
81
|
+
limit: Maximum number of records in a page, from 1 to 100.
|
|
82
|
+
cursor: Opaque continuation token from an earlier response.
|
|
83
|
+
status: Include only records with this processing status.
|
|
84
|
+
|
|
85
|
+
Returns:
|
|
86
|
+
A page of matching records with an optional continuation cursor.
|
|
87
|
+
|
|
88
|
+
Raises:
|
|
89
|
+
ValueError: If the page size is outside the supported range.
|
|
90
|
+
|
|
91
|
+
Examples:
|
|
92
|
+
>>> page = client.list_records(limit=10, status=RecordStatus.READY)
|
|
93
|
+
>>> titles = page.map(lambda record: record.title)
|
|
94
|
+
"""
|
|
95
|
+
if not 1 <= limit <= 100:
|
|
96
|
+
raise ValueError("limit must be between 1 and 100")
|
|
97
|
+
records = [r for r in self._records.values() if status is None or r.status == status]
|
|
98
|
+
start = int(cursor or "0")
|
|
99
|
+
end = start + limit
|
|
100
|
+
return Page(records[start:end], str(end) if end < len(records) else None, len(records))
|
|
101
|
+
|
|
102
|
+
def iter_records(self, *, page_size: int = 20, status: RecordStatus | None = None) -> Iterator[Record]:
|
|
103
|
+
"""Iterate through records across every page.
|
|
104
|
+
|
|
105
|
+
Pagination is lazy: another page is read only when the iterator needs it.
|
|
106
|
+
Stop iteration early to avoid fetching pages your application won't use.
|
|
107
|
+
|
|
108
|
+
Args:
|
|
109
|
+
page_size: Number of records requested per page, from 1 to 100.
|
|
110
|
+
status: Optional processing status filter.
|
|
111
|
+
|
|
112
|
+
Yields:
|
|
113
|
+
Records in the service's response order.
|
|
114
|
+
|
|
115
|
+
Examples:
|
|
116
|
+
>>> for record in client.iter_records(page_size=50):
|
|
117
|
+
... print(record.id, record.title)
|
|
118
|
+
"""
|
|
119
|
+
cursor = None
|
|
120
|
+
while True:
|
|
121
|
+
page = self.list_records(limit=page_size, cursor=cursor, status=status)
|
|
122
|
+
yield from page.items
|
|
123
|
+
if not page.has_more:
|
|
124
|
+
return
|
|
125
|
+
cursor = page.next_cursor
|
|
126
|
+
|
|
127
|
+
def create_record(self, data: RecordInput, *, idempotency_key: str | None = None) -> Record:
|
|
128
|
+
"""Create a record from a typed input model.
|
|
129
|
+
|
|
130
|
+
Use an idempotency key when retrying a request after a timeout. Reuse the
|
|
131
|
+
same key only for retries of the same logical operation.
|
|
132
|
+
|
|
133
|
+
Args:
|
|
134
|
+
data: Title and labels for the new record.
|
|
135
|
+
idempotency_key: Application-generated retry token.
|
|
136
|
+
|
|
137
|
+
Returns:
|
|
138
|
+
An immutable snapshot of the created record.
|
|
139
|
+
|
|
140
|
+
Examples:
|
|
141
|
+
>>> data = RecordInput(title="Deployment notes", labels={"team": "platform"})
|
|
142
|
+
>>> record = client.create_record(data, idempotency_key="deploy-42")
|
|
143
|
+
"""
|
|
144
|
+
record = Record(f"rec_{len(self._records) + 1}", data.title, labels=data.labels)
|
|
145
|
+
self._records[record.id] = record
|
|
146
|
+
return record
|
|
147
|
+
|
|
148
|
+
def bulk_create(self, records: Sequence[RecordInput], *, batch_size: int = 25) -> list[Record]:
|
|
149
|
+
"""Create multiple records in bounded batches.
|
|
150
|
+
|
|
151
|
+
Args:
|
|
152
|
+
records: Input models to create, in submission order.
|
|
153
|
+
batch_size: Maximum number of records per batch, from 1 to 100.
|
|
154
|
+
|
|
155
|
+
Returns:
|
|
156
|
+
Created records in the same order as the submitted inputs.
|
|
157
|
+
|
|
158
|
+
Raises:
|
|
159
|
+
ValueError: If the batch size is outside the supported range.
|
|
160
|
+
"""
|
|
161
|
+
if not 1 <= batch_size <= 100:
|
|
162
|
+
raise ValueError("batch_size must be between 1 and 100")
|
|
163
|
+
return [self.create_record(item) for item in records]
|
|
164
|
+
|
|
165
|
+
class AsyncClient:
|
|
166
|
+
"""Use the records SDK from an async Python application.
|
|
167
|
+
|
|
168
|
+
Await individual operations, or use `async for` to consume a record iterator.
|
|
169
|
+
This example delegates to an in-memory client; no network calls are made.
|
|
170
|
+
"""
|
|
171
|
+
def __init__(self, api_key: str, *, timeout: float = 10.0):
|
|
172
|
+
"""Configure an async client.
|
|
173
|
+
|
|
174
|
+
Args:
|
|
175
|
+
api_key: Application credential.
|
|
176
|
+
timeout: Default request timeout, in seconds.
|
|
177
|
+
"""
|
|
178
|
+
self._client = Client(api_key, timeout=timeout)
|
|
179
|
+
|
|
180
|
+
async def fetch(self, record_id: str, *, timeout: float | None = None) -> Record:
|
|
181
|
+
"""Await a typed record response.
|
|
182
|
+
|
|
183
|
+
Args:
|
|
184
|
+
record_id: Stable record identifier.
|
|
185
|
+
timeout: Optional request timeout override, in seconds.
|
|
186
|
+
|
|
187
|
+
Returns:
|
|
188
|
+
The matching record model.
|
|
189
|
+
|
|
190
|
+
Raises:
|
|
191
|
+
NotFoundError: If the record doesn't exist.
|
|
192
|
+
|
|
193
|
+
Examples:
|
|
194
|
+
>>> record = await client.fetch("rec_42")
|
|
195
|
+
"""
|
|
196
|
+
return self._client.fetch(record_id, timeout=timeout)
|
|
197
|
+
|
|
198
|
+
async def iter_records(self, *, page_size: int = 20) -> AsyncIterator[Record]:
|
|
199
|
+
"""Consume paginated records using asynchronous iteration.
|
|
200
|
+
|
|
201
|
+
Args:
|
|
202
|
+
page_size: Maximum number of records read in one page.
|
|
203
|
+
|
|
204
|
+
Yields:
|
|
205
|
+
Typed records from successive pages.
|
|
206
|
+
|
|
207
|
+
Examples:
|
|
208
|
+
>>> async for record in client.iter_records(page_size=50):
|
|
209
|
+
... print(record.title)
|
|
210
|
+
"""
|
|
211
|
+
for record in self._client.iter_records(page_size=page_size):
|
|
212
|
+
yield record
|