@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.
Files changed (483) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/CODE-REFERENCES.md +156 -0
  3. package/README.md +18 -6
  4. package/adapters/python/requirements.txt +1 -0
  5. package/adapters/python/shoalrun_reference.py +234 -0
  6. package/adapters/typescript/README.md +27 -0
  7. package/adapters/typescript/shoalrun-reference.mjs +260 -0
  8. package/agent-docs/.well-known/shoalrun/navigation/project-updates-50f26fe22670.txt +6 -2
  9. package/agent-docs/SNAPSHOT.json +5 -5
  10. package/agent-docs/about.md +3 -3
  11. package/agent-docs/api-docs/code-reference-settings.md +160 -0
  12. package/agent-docs/api-docs/code-reference-settings.sections/catalog-settings.md +50 -0
  13. package/agent-docs/api-docs/code-reference-settings.sections/complete-reference-page.md +46 -0
  14. package/agent-docs/api-docs/code-reference-settings.sections/converter-snapshot.md +58 -0
  15. package/agent-docs/api-docs/code-reference-settings.sections/descriptions-type-links-and-source-links.md +40 -0
  16. package/agent-docs/api-docs/code-reference-settings.sections/html-markdown-and-agents.md +38 -0
  17. package/agent-docs/api-docs/code-reference-settings.sections/metadata-and-selection.md +38 -0
  18. package/agent-docs/api-docs/code-reference-settings.sections/publication-sources.md +54 -0
  19. package/agent-docs/api-docs/code-reference-settings.sections/python-adapter-limits.md +38 -0
  20. package/agent-docs/api-docs/code-reference-settings.sections/related-reading.md +32 -0
  21. package/agent-docs/api-docs/code-reference-settings.sections/symbol-fields.md +56 -0
  22. package/agent-docs/api-docs/code-references.md +151 -0
  23. package/agent-docs/api-docs/code-references.sections/a-real-typescript-example.md +38 -0
  24. package/agent-docs/api-docs/code-references.sections/add-python-source.md +56 -0
  25. package/agent-docs/api-docs/code-references.sections/before-you-start.md +40 -0
  26. package/agent-docs/api-docs/code-references.sections/build-and-verify.md +47 -0
  27. package/agent-docs/api-docs/code-references.sections/choose-the-reading-layout.md +46 -0
  28. package/agent-docs/api-docs/code-references.sections/extract-and-validate-a-snapshot.md +52 -0
  29. package/agent-docs/api-docs/code-references.sections/html-markdown-and-agents.md +42 -0
  30. package/agent-docs/api-docs/code-references.sections/register-the-catalog-and-navigation.md +58 -0
  31. package/agent-docs/api-docs/code-references.sections/related-reading.md +40 -0
  32. package/agent-docs/api-docs/code-references.sections/versions-profiles-and-delivery.md +40 -0
  33. package/agent-docs/api-docs/typescript-references.md +93 -0
  34. package/agent-docs/author/agent-overview.md +2 -2
  35. package/agent-docs/author/components/for-facet.md +127 -0
  36. package/agent-docs/author/components/only.md +3 -1
  37. package/agent-docs/author/components.md +2 -1
  38. package/agent-docs/author/reader-views.md +2 -2
  39. package/agent-docs/author/reader-views.sections/configure-the-choices.md +2 -2
  40. package/agent-docs/author/reader-views.sections/connect-your-own-control.md +2 -2
  41. package/agent-docs/author/reader-views.sections/how-it-works-for-agents.md +2 -2
  42. package/agent-docs/author/reader-views.sections/mark-pages.md +2 -2
  43. package/agent-docs/author/reader-views.sections/mark-sections-and-add-an-entry-choice.md +2 -2
  44. package/agent-docs/author/reader-views.sections/place-filter-controls.md +2 -2
  45. package/agent-docs/author/reader-views.sections/try-the-controls-here.md +2 -2
  46. package/agent-docs/changelog/code-api-references.md +44 -0
  47. package/agent-docs/changelog/facet-typescript.md +54 -0
  48. package/agent-docs/changelog.md +17 -1
  49. package/agent-docs/cli.md +11 -1
  50. package/agent-docs/cli.sections/audit-a-project-and-api-sources.md +1 -1
  51. package/agent-docs/cli.sections/author-pages.md +1 -1
  52. package/agent-docs/cli.sections/build-and-serve.md +1 -1
  53. package/agent-docs/cli.sections/inspect-config-and-operations.md +1 -1
  54. package/agent-docs/cli.sections/npm-scripts-in-this-repository.md +1 -1
  55. package/agent-docs/cli.sections/related-reading.md +1 -1
  56. package/agent-docs/cli.sections/search-and-chat.md +1 -1
  57. package/agent-docs/cli.sections/start-a-project.md +1 -1
  58. package/agent-docs/cli.sections/validate-code-reference-snapshots.md +41 -0
  59. package/agent-docs/cli.sections/working-tree-authoring-tools.md +1 -1
  60. package/agent-docs/config/apis.md +5 -1
  61. package/agent-docs/config/examples.md +3 -3
  62. package/agent-docs/config/examples.sections/feature-showcase.md +3 -3
  63. package/agent-docs/config/examples.sections/minimal-site.md +2 -2
  64. package/agent-docs/config/examples.sections/multilingual-help-center.md +2 -2
  65. package/agent-docs/config/examples.sections/parcel-api-documentation.md +2 -2
  66. package/agent-docs/config/examples.sections/related-reading.md +2 -2
  67. package/agent-docs/config/examples.sections/shared-company-preset.md +2 -2
  68. package/agent-docs/config/outputs.md +12 -12
  69. package/agent-docs/config/outputs.sections/exports.md +12 -12
  70. package/agent-docs/config/outputs.sections/metadata.md +1 -1
  71. package/agent-docs/config/outputs.sections/pdf-output.md +1 -1
  72. package/agent-docs/config/outputs.sections/related-reading.md +1 -1
  73. package/agent-docs/config/site.md +17 -17
  74. package/agent-docs/config/site.sections/related-reading.md +1 -1
  75. package/agent-docs/config/site.sections/theme.md +1 -1
  76. package/agent-docs/config.md +2 -2
  77. package/agent-docs/configuration.md +2 -2
  78. package/agent-docs/configuration.sections/build-several-sites-from-shared-content.md +1 -1
  79. package/agent-docs/configuration.sections/change-inherited-lists-deliberately.md +1 -1
  80. package/agent-docs/configuration.sections/extract-a-section-with-include.md +1 -1
  81. package/agent-docs/configuration.sections/inspect-and-validate-changes.md +1 -1
  82. package/agent-docs/configuration.sections/related-reading.md +1 -1
  83. package/agent-docs/configuration.sections/separate-config-inheritance-from-page-metadata.md +1 -1
  84. package/agent-docs/configuration.sections/share-defaults-through-extends.md +1 -1
  85. package/agent-docs/configuration.sections/start-with-one-working-file.md +2 -2
  86. package/agent-docs/configuration.sections/understand-the-three-stages.md +1 -1
  87. package/agent-docs/configuration.sections/understand-where-paths-point.md +1 -1
  88. package/agent-docs/content-delivery/api.md +10 -2
  89. package/agent-docs/content-delivery/api.sections/errors.md +52 -0
  90. package/agent-docs/content-delivery/api.sections/generated-typescript-reference.md +36 -0
  91. package/agent-docs/content-delivery/api.sections/html-markdown-and-agents.md +36 -0
  92. package/agent-docs/content-delivery/api.sections/mount-html.md +42 -0
  93. package/agent-docs/content-delivery/api.sections/open-a-rest-source.md +55 -0
  94. package/agent-docs/content-delivery/api.sections/open-a-source.md +51 -0
  95. package/agent-docs/content-delivery/api.sections/read-a-snapshot.md +55 -0
  96. package/agent-docs/content-delivery/api.sections/related-reading.md +42 -0
  97. package/agent-docs/content-delivery/api.sections/validate-a-manifest.md +40 -0
  98. package/agent-docs/content-delivery/client.md +9 -1
  99. package/agent-docs/content-delivery/sdk/all.md +1772 -0
  100. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentanchor-exportedid.md +34 -0
  101. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentanchor-id.md +34 -0
  102. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentanchor-title.md +34 -0
  103. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentanchor.md +44 -0
  104. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentasset-mediatype.md +34 -0
  105. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentasset.md +40 -0
  106. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliveryerror-code.md +34 -0
  107. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliveryerror.md +46 -0
  108. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliverylimits-manifestbytes.md +36 -0
  109. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliverylimits-resourcebytes.md +36 -0
  110. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliverylimits-resources.md +36 -0
  111. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliverylimits.md +44 -0
  112. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contenterrorcode.md +32 -0
  113. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentfile-bytes.md +34 -0
  114. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentfile-digest.md +34 -0
  115. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentfile-path.md +34 -0
  116. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentfile.md +44 -0
  117. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentformat.md +32 -0
  118. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-asset.md +34 -0
  119. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-fragment.md +34 -0
  120. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-href.md +34 -0
  121. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-key.md +34 -0
  122. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-kind.md +34 -0
  123. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-query.md +34 -0
  124. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-ref.md +34 -0
  125. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink.md +52 -0
  126. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-assets.md +34 -0
  127. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-diagnostics.md +34 -0
  128. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-digest.md +34 -0
  129. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-files.md +34 -0
  130. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-kind.md +34 -0
  131. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-publication.md +34 -0
  132. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-publicbase.md +34 -0
  133. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-resources.md +34 -0
  134. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-review.md +34 -0
  135. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-schemaversion.md +34 -0
  136. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest.md +68 -0
  137. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmount-anchors.md +36 -0
  138. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmount-links.md +36 -0
  139. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmount-unmount.md +36 -0
  140. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmount.md +49 -0
  141. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication-channel.md +34 -0
  142. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication-language.md +34 -0
  143. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication-product.md +34 -0
  144. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication-version.md +34 -0
  145. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication.md +46 -0
  146. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentref.md +43 -0
  147. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrefkey.md +42 -0
  148. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrepresentation-anchors.md +34 -0
  149. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrepresentation-links.md +34 -0
  150. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrepresentation.md +42 -0
  151. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-assets.md +34 -0
  152. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-canonicalurl.md +34 -0
  153. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-externaldependencies.md +34 -0
  154. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-publication.md +36 -0
  155. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-ref.md +36 -0
  156. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-representations.md +36 -0
  157. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-source.md +34 -0
  158. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-summary.md +36 -0
  159. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-title.md +36 -0
  160. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-type.md +36 -0
  161. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource.md +65 -0
  162. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresourcekey.md +42 -0
  163. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestentry-key.md +34 -0
  164. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestentry-resource.md +34 -0
  165. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestentry.md +42 -0
  166. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresterror-error.md +34 -0
  167. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresterror.md +43 -0
  168. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresterrorcode.md +32 -0
  169. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist-publication.md +34 -0
  170. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist-resources.md +34 -0
  171. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist-revision.md +34 -0
  172. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist-schemaversion.md +34 -0
  173. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist.md +46 -0
  174. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-key.md +34 -0
  175. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-publication.md +34 -0
  176. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-resource.md +34 -0
  177. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-revision.md +34 -0
  178. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-schemaversion.md +34 -0
  179. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource.md +48 -0
  180. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-content.md +36 -0
  181. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-format.md +36 -0
  182. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-representation.md +36 -0
  183. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-resource.md +36 -0
  184. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-revision.md +36 -0
  185. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult.md +48 -0
  186. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-dispose.md +36 -0
  187. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-get.md +45 -0
  188. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-list.md +38 -0
  189. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-publication.md +36 -0
  190. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-revision.md +36 -0
  191. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot.md +47 -0
  192. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions-fetch.md +36 -0
  193. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions-limits.md +36 -0
  194. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions-manifesturl.md +36 -0
  195. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions-signal.md +36 -0
  196. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions.md +46 -0
  197. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-mountcontent.md +48 -0
  198. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-openmanifestcontentsource.md +54 -0
  199. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-openrestcontentsource.md +44 -0
  200. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-baseurl.md +36 -0
  201. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-fetch.md +36 -0
  202. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-limits.md +36 -0
  203. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-publication.md +36 -0
  204. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-revision.md +36 -0
  205. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-signal.md +36 -0
  206. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions.md +50 -0
  207. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-validatecontentmanifest.md +45 -0
  208. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content.md +65 -0
  209. package/agent-docs/content-delivery/sdk/content-anchor/exported-id.md +25 -0
  210. package/agent-docs/content-delivery/sdk/content-anchor/id.md +25 -0
  211. package/agent-docs/content-delivery/sdk/content-anchor/title.md +25 -0
  212. package/agent-docs/content-delivery/sdk/content-anchor.md +71 -0
  213. package/agent-docs/content-delivery/sdk/content-asset/media-type.md +25 -0
  214. package/agent-docs/content-delivery/sdk/content-asset.md +43 -0
  215. package/agent-docs/content-delivery/sdk/content-delivery-error/code.md +25 -0
  216. package/agent-docs/content-delivery/sdk/content-delivery-error.md +53 -0
  217. package/agent-docs/content-delivery/sdk/content-delivery-limits/manifest-bytes.md +27 -0
  218. package/agent-docs/content-delivery/sdk/content-delivery-limits/resource-bytes.md +27 -0
  219. package/agent-docs/content-delivery/sdk/content-delivery-limits/resources.md +27 -0
  220. package/agent-docs/content-delivery/sdk/content-delivery-limits.md +77 -0
  221. package/agent-docs/content-delivery/sdk/content-error-code.md +23 -0
  222. package/agent-docs/content-delivery/sdk/content-file/bytes.md +25 -0
  223. package/agent-docs/content-delivery/sdk/content-file/digest.md +25 -0
  224. package/agent-docs/content-delivery/sdk/content-file/path.md +25 -0
  225. package/agent-docs/content-delivery/sdk/content-file.md +71 -0
  226. package/agent-docs/content-delivery/sdk/content-format.md +23 -0
  227. package/agent-docs/content-delivery/sdk/content-link/asset.md +25 -0
  228. package/agent-docs/content-delivery/sdk/content-link/fragment.md +25 -0
  229. package/agent-docs/content-delivery/sdk/content-link/href.md +25 -0
  230. package/agent-docs/content-delivery/sdk/content-link/key.md +25 -0
  231. package/agent-docs/content-delivery/sdk/content-link/kind.md +25 -0
  232. package/agent-docs/content-delivery/sdk/content-link/query.md +25 -0
  233. package/agent-docs/content-delivery/sdk/content-link/ref.md +25 -0
  234. package/agent-docs/content-delivery/sdk/content-link.md +127 -0
  235. package/agent-docs/content-delivery/sdk/content-manifest/assets.md +25 -0
  236. package/agent-docs/content-delivery/sdk/content-manifest/diagnostics.md +25 -0
  237. package/agent-docs/content-delivery/sdk/content-manifest/digest.md +25 -0
  238. package/agent-docs/content-delivery/sdk/content-manifest/files.md +25 -0
  239. package/agent-docs/content-delivery/sdk/content-manifest/kind.md +25 -0
  240. package/agent-docs/content-delivery/sdk/content-manifest/public-base.md +25 -0
  241. package/agent-docs/content-delivery/sdk/content-manifest/publication.md +25 -0
  242. package/agent-docs/content-delivery/sdk/content-manifest/resources.md +25 -0
  243. package/agent-docs/content-delivery/sdk/content-manifest/review.md +25 -0
  244. package/agent-docs/content-delivery/sdk/content-manifest/schema-version.md +25 -0
  245. package/agent-docs/content-delivery/sdk/content-manifest.md +179 -0
  246. package/agent-docs/content-delivery/sdk/content-mount/anchors.md +27 -0
  247. package/agent-docs/content-delivery/sdk/content-mount/links.md +27 -0
  248. package/agent-docs/content-delivery/sdk/content-mount/unmount.md +27 -0
  249. package/agent-docs/content-delivery/sdk/content-mount.md +82 -0
  250. package/agent-docs/content-delivery/sdk/content-publication/channel.md +25 -0
  251. package/agent-docs/content-delivery/sdk/content-publication/language.md +25 -0
  252. package/agent-docs/content-delivery/sdk/content-publication/product.md +25 -0
  253. package/agent-docs/content-delivery/sdk/content-publication/version.md +25 -0
  254. package/agent-docs/content-delivery/sdk/content-publication.md +85 -0
  255. package/agent-docs/content-delivery/sdk/content-ref-key.md +34 -0
  256. package/agent-docs/content-delivery/sdk/content-ref.md +40 -0
  257. package/agent-docs/content-delivery/sdk/content-representation/anchors.md +25 -0
  258. package/agent-docs/content-delivery/sdk/content-representation/links.md +25 -0
  259. package/agent-docs/content-delivery/sdk/content-representation.md +57 -0
  260. package/agent-docs/content-delivery/sdk/content-resource/assets.md +25 -0
  261. package/agent-docs/content-delivery/sdk/content-resource/canonical-url.md +25 -0
  262. package/agent-docs/content-delivery/sdk/content-resource/external-dependencies.md +25 -0
  263. package/agent-docs/content-delivery/sdk/content-resource/publication.md +27 -0
  264. package/agent-docs/content-delivery/sdk/content-resource/ref.md +27 -0
  265. package/agent-docs/content-delivery/sdk/content-resource/representations.md +27 -0
  266. package/agent-docs/content-delivery/sdk/content-resource/source.md +25 -0
  267. package/agent-docs/content-delivery/sdk/content-resource/summary.md +27 -0
  268. package/agent-docs/content-delivery/sdk/content-resource/title.md +27 -0
  269. package/agent-docs/content-delivery/sdk/content-resource/type.md +27 -0
  270. package/agent-docs/content-delivery/sdk/content-resource-key.md +34 -0
  271. package/agent-docs/content-delivery/sdk/content-resource.md +192 -0
  272. package/agent-docs/content-delivery/sdk/content-rest-entry/key.md +25 -0
  273. package/agent-docs/content-delivery/sdk/content-rest-entry/resource.md +25 -0
  274. package/agent-docs/content-delivery/sdk/content-rest-entry.md +57 -0
  275. package/agent-docs/content-delivery/sdk/content-rest-error/error.md +25 -0
  276. package/agent-docs/content-delivery/sdk/content-rest-error-code.md +23 -0
  277. package/agent-docs/content-delivery/sdk/content-rest-error.md +46 -0
  278. package/agent-docs/content-delivery/sdk/content-rest-list/publication.md +25 -0
  279. package/agent-docs/content-delivery/sdk/content-rest-list/resources.md +25 -0
  280. package/agent-docs/content-delivery/sdk/content-rest-list/revision.md +25 -0
  281. package/agent-docs/content-delivery/sdk/content-rest-list/schema-version.md +25 -0
  282. package/agent-docs/content-delivery/sdk/content-rest-list.md +85 -0
  283. package/agent-docs/content-delivery/sdk/content-rest-resource/key.md +25 -0
  284. package/agent-docs/content-delivery/sdk/content-rest-resource/publication.md +25 -0
  285. package/agent-docs/content-delivery/sdk/content-rest-resource/resource.md +25 -0
  286. package/agent-docs/content-delivery/sdk/content-rest-resource/revision.md +25 -0
  287. package/agent-docs/content-delivery/sdk/content-rest-resource/schema-version.md +25 -0
  288. package/agent-docs/content-delivery/sdk/content-rest-resource.md +99 -0
  289. package/agent-docs/content-delivery/sdk/content-result/content.md +27 -0
  290. package/agent-docs/content-delivery/sdk/content-result/format.md +27 -0
  291. package/agent-docs/content-delivery/sdk/content-result/representation.md +27 -0
  292. package/agent-docs/content-delivery/sdk/content-result/resource.md +27 -0
  293. package/agent-docs/content-delivery/sdk/content-result/revision.md +27 -0
  294. package/agent-docs/content-delivery/sdk/content-result.md +114 -0
  295. package/agent-docs/content-delivery/sdk/content-snapshot/dispose.md +27 -0
  296. package/agent-docs/content-delivery/sdk/content-snapshot/get.md +36 -0
  297. package/agent-docs/content-delivery/sdk/content-snapshot/list.md +29 -0
  298. package/agent-docs/content-delivery/sdk/content-snapshot/publication.md +27 -0
  299. package/agent-docs/content-delivery/sdk/content-snapshot/revision.md +27 -0
  300. package/agent-docs/content-delivery/sdk/content-snapshot.md +123 -0
  301. package/agent-docs/content-delivery/sdk/exports.md +742 -0
  302. package/agent-docs/content-delivery/sdk/exports.sections/functions.md +30 -0
  303. package/agent-docs/content-delivery/sdk/exports.sections/members.md +47 -0
  304. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentanchor.md +41 -0
  305. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentasset.md +37 -0
  306. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentdeliveryerror.md +43 -0
  307. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentdeliverylimits.md +41 -0
  308. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contenterrorcode.md +29 -0
  309. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentfile.md +41 -0
  310. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentformat.md +29 -0
  311. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentlink.md +49 -0
  312. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentmanifest.md +65 -0
  313. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentmount.md +46 -0
  314. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentpublication.md +43 -0
  315. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentref.md +40 -0
  316. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrefkey.md +39 -0
  317. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrepresentation.md +39 -0
  318. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresource.md +62 -0
  319. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresourcekey.md +39 -0
  320. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrestentry.md +39 -0
  321. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresterror.md +40 -0
  322. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresterrorcode.md +29 -0
  323. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrestlist.md +43 -0
  324. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrestresource.md +45 -0
  325. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresult.md +45 -0
  326. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentsnapshot.md +44 -0
  327. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-manifestcontentsourceoptions.md +43 -0
  328. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-mountcontent.md +45 -0
  329. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-openmanifestcontentsource.md +51 -0
  330. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-openrestcontentsource.md +41 -0
  331. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-restcontentsourceoptions.md +47 -0
  332. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-validatecontentmanifest.md +42 -0
  333. package/agent-docs/content-delivery/sdk/manifest-content-source-options/fetch.md +27 -0
  334. package/agent-docs/content-delivery/sdk/manifest-content-source-options/limits.md +27 -0
  335. package/agent-docs/content-delivery/sdk/manifest-content-source-options/manifest-url.md +27 -0
  336. package/agent-docs/content-delivery/sdk/manifest-content-source-options/signal.md +27 -0
  337. package/agent-docs/content-delivery/sdk/manifest-content-source-options.md +93 -0
  338. package/agent-docs/content-delivery/sdk/mount-content.md +46 -0
  339. package/agent-docs/content-delivery/sdk/open-manifest-content-source.md +51 -0
  340. package/agent-docs/content-delivery/sdk/open-rest-content-source.md +39 -0
  341. package/agent-docs/content-delivery/sdk/rest-content-source-options/base-url.md +28 -0
  342. package/agent-docs/content-delivery/sdk/rest-content-source-options/fetch.md +27 -0
  343. package/agent-docs/content-delivery/sdk/rest-content-source-options/limits.md +27 -0
  344. package/agent-docs/content-delivery/sdk/rest-content-source-options/publication.md +27 -0
  345. package/agent-docs/content-delivery/sdk/rest-content-source-options/revision.md +27 -0
  346. package/agent-docs/content-delivery/sdk/rest-content-source-options/signal.md +27 -0
  347. package/agent-docs/content-delivery/sdk/rest-content-source-options.md +125 -0
  348. package/agent-docs/content-delivery/sdk/validate-content-manifest.md +38 -0
  349. package/agent-docs/contribute/agent-skills.md +33 -6
  350. package/agent-docs/documents.json +7710 -530
  351. package/agent-docs/features.md +20 -18
  352. package/agent-docs/provenance.json +6 -6
  353. package/agent-docs/publish/api-references.md +3 -1
  354. package/agent-docs/publish/api-references.sections/author-the-reference-page.md +3 -1
  355. package/agent-docs/publish/api-references.sections/build-and-verify-the-output.md +3 -1
  356. package/agent-docs/publish/api-references.sections/inspect-the-machine-readable-contract.md +3 -1
  357. package/agent-docs/publish/api-references.sections/next-steps.md +3 -1
  358. package/agent-docs/publish/api-references.sections/preview-a-small-api-reference.md +3 -1
  359. package/agent-docs/publish/api-references.sections/put-the-spec-in-your-project.md +3 -1
  360. package/agent-docs/publish/api-references.sections/register-the-operation.md +3 -1
  361. package/agent-docs/publish/api-references.sections/related-reading.md +3 -1
  362. package/agent-docs/publish/api-references.sections/review-imported-content-before-publishing.md +3 -1
  363. package/agent-docs/publish/api-references.sections/what-readers-get.md +3 -1
  364. package/agent-docs/publish/content-export.md +3 -1
  365. package/agent-docs/publish/content-export.sections/assets-downloads-and-notices.md +1 -1
  366. package/agent-docs/publish/content-export.sections/check-the-result.md +1 -1
  367. package/agent-docs/publish/content-export.sections/inspect-the-manifest.md +1 -1
  368. package/agent-docs/publish/content-export.sections/prerequisites.md +1 -1
  369. package/agent-docs/publish/content-export.sections/related-reading.md +1 -1
  370. package/agent-docs/publish/content-export.sections/review-exported-api-material.md +1 -1
  371. package/agent-docs/publish/content-export.sections/try-the-help-drawer-example.md +1 -1
  372. package/agent-docs/publish/content-export.sections/what-the-representations-retain.md +1 -1
  373. package/agent-docs/publish/pdf.md +2 -2
  374. package/agent-docs/publish/pdf.sections/apply-print-styling.md +1 -1
  375. package/agent-docs/publish/pdf.sections/check-the-result.md +1 -1
  376. package/agent-docs/publish/pdf.sections/export-a-page-or-publication.md +2 -2
  377. package/agent-docs/publish/pdf.sections/html-markdown-and-agents.md +1 -1
  378. package/agent-docs/publish/pdf.sections/offer-browser-page-printing.md +1 -1
  379. package/agent-docs/publish/pdf.sections/offer-direct-downloads-through-a-node-server.md +1 -1
  380. package/agent-docs/publish/pdf.sections/prerequisites.md +1 -1
  381. package/agent-docs/publish/pdf.sections/publish-an-optional-manual-download.md +1 -1
  382. package/agent-docs/publish/single-source-sites.md +26 -2
  383. package/agent-docs/publish/single-source-sites.sections/build-and-check-each-output.md +49 -0
  384. package/agent-docs/publish/single-source-sites.sections/html-markdown-and-agents.md +33 -0
  385. package/agent-docs/publish/single-source-sites.sections/include-additional-sections-in-a-build.md +47 -0
  386. package/agent-docs/publish/single-source-sites.sections/related-reading.md +43 -0
  387. package/agent-docs/publish/single-source-sites.sections/select-the-pages-for-each-site.md +74 -0
  388. package/agent-docs/publish/single-source-sites.sections/share-the-base-configuration.md +93 -0
  389. package/agent-docs/reference/agent-skills.md +2 -2
  390. package/agent-docs/search-index.json +1 -1
  391. package/agent-docs/start.md +3 -3
  392. package/agent-docs/start.sections/add-the-page-to-navigation.md +2 -2
  393. package/agent-docs/start.sections/build-and-check-both-outputs.md +2 -2
  394. package/agent-docs/start.sections/build-this-site.md +2 -2
  395. package/agent-docs/start.sections/check-writing-style.md +2 -2
  396. package/agent-docs/start.sections/create-a-page.md +2 -2
  397. package/agent-docs/start.sections/make-it-yours.md +2 -2
  398. package/agent-docs/start.sections/migrating-from-github-packages.md +2 -2
  399. package/agent-docs/start.sections/prerequisites.md +2 -2
  400. package/agent-docs/start.sections/related-reading.md +2 -2
  401. package/agent-docs/start.sections/start-your-own-project.md +3 -3
  402. package/agent-docs/status.md +6 -4
  403. package/agent-docs/styling/themes.md +7 -3
  404. package/agent-docs/what-is-shoalrun.md +2 -2
  405. package/assets/search-lexical.js +15 -4
  406. package/dist/artifact-bundle.d.ts +1 -0
  407. package/dist/artifact-bundle.js +11 -3
  408. package/dist/cli-discovery.d.ts +1 -1
  409. package/dist/cli-discovery.js +1 -0
  410. package/dist/cli.js +7 -0
  411. package/dist/code-reference-model.d.ts +85 -0
  412. package/dist/code-reference-model.js +73 -0
  413. package/dist/code-references.d.ts +23 -0
  414. package/dist/code-references.js +371 -0
  415. package/dist/compiler-config.d.ts +1 -0
  416. package/dist/compiler.d.ts +8 -0
  417. package/dist/compiler.js +14 -7
  418. package/dist/component-names.js +1 -1
  419. package/dist/component-transform.js +14 -22
  420. package/dist/conditional-tree.d.ts +2 -0
  421. package/dist/conditional-tree.js +14 -0
  422. package/dist/config.js +1 -1
  423. package/dist/content-delivery-contract.d.ts +39 -0
  424. package/dist/content-delivery-contract.js +2 -0
  425. package/dist/content-delivery-validation.d.ts +6 -0
  426. package/dist/content-delivery-validation.js +6 -0
  427. package/dist/content-delivery.d.ts +19 -1
  428. package/dist/content-delivery.js +10 -1
  429. package/dist/content-export-command.d.ts +42 -3
  430. package/dist/content-export.d.ts +42 -3
  431. package/dist/content-export.js +15 -6
  432. package/dist/content-filter.d.ts +2 -0
  433. package/dist/content-filter.js +4 -0
  434. package/dist/content-mount.d.ts +12 -1
  435. package/dist/content-mount.js +8 -1
  436. package/dist/content-rest-client.d.ts +11 -1
  437. package/dist/content-rest-client.js +4 -1
  438. package/dist/content-rest-contract.d.ts +5 -0
  439. package/dist/content-source.d.ts +2 -0
  440. package/dist/content-workspace.d.ts +5 -1
  441. package/dist/content-workspace.js +7 -2
  442. package/dist/deployment-profile.d.ts +3 -1
  443. package/dist/deployment-profile.js +18 -19
  444. package/dist/fonts.d.ts +9 -0
  445. package/dist/fonts.js +58 -3
  446. package/dist/page-materialization.js +3 -2
  447. package/dist/page-renderer.d.ts +1 -0
  448. package/dist/page-renderer.js +3 -1
  449. package/dist/palettes.d.ts +1 -1
  450. package/dist/publication-manifest.js +1 -1
  451. package/dist/publication-render.d.ts +2 -1
  452. package/dist/publication-render.js +2 -2
  453. package/dist/representation-tree.js +12 -2
  454. package/dist/search-query.js +13 -6
  455. package/dist/section-selection.d.ts +29 -0
  456. package/dist/section-selection.js +92 -0
  457. package/dist/snippets.d.ts +1 -0
  458. package/example-configs/facet-sections/README.md +37 -0
  459. package/example-configs/facet-sections/base.yaml +29 -0
  460. package/example-configs/facet-sections/content/billing.mdx +25 -0
  461. package/example-configs/facet-sections/customer.config.yaml +4 -0
  462. package/example-configs/facet-sections/docs.config.yaml +3 -0
  463. package/example-configs/faceted-sites/README.md +4 -2
  464. package/examples/code-references/content/start.md +53 -0
  465. package/examples/code-references/docs.config.yaml +262 -0
  466. package/examples/code-references/python/orchard/__init__.py +11 -0
  467. package/examples/code-references/python/orchard/client.py +212 -0
  468. package/examples/code-references/python/orchard/errors.py +31 -0
  469. package/examples/code-references/python/orchard/models.py +69 -0
  470. package/examples/code-references/python/orchard/pagination.py +39 -0
  471. package/examples/code-references/reference.json +1244 -0
  472. package/package.json +9 -1
  473. package/schemas/code-reference.schema.json +306 -0
  474. package/skills/shoalrun-author/SKILL.md +17 -0
  475. package/skills/shoalrun-author/references/code-api-references.md +19 -0
  476. package/skills/shoalrun-author/references/facet-selection.md +48 -0
  477. package/skills/shoalrun-brand/SKILL.md +9 -0
  478. package/skills/shoalrun-component-author/SKILL.md +9 -0
  479. package/skills/shoalrun-pdf/SKILL.md +9 -0
  480. package/skills/shoalrun-recipes/SKILL.md +9 -0
  481. package/skills/shoalrun-setup/SKILL.md +9 -0
  482. package/skills/shoalrun-walkthrough/SKILL.md +9 -0
  483. 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.
@@ -0,0 +1,4 @@
1
+ extends: [./base.yaml]
2
+ site:
3
+ title: Customer documentation
4
+ contentFilter: { audience: [customer] }
@@ -0,0 +1,3 @@
1
+ extends: [./base.yaml]
2
+ site:
3
+ title: Complete documentation
@@ -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 whole authored and generated pages before rendering. A
23
- selected page retains its complete body, including reader-marked sections.
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