@wildo-ai/saas-technical-doc 1.1.1

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 (216) hide show
  1. package/LICENSE +34 -0
  2. package/dist/esm/.builder.pid +9 -0
  3. package/dist/esm/build/csp-emit.d.ts +9 -0
  4. package/dist/esm/build/csp-emit.d.ts.map +1 -0
  5. package/dist/esm/build/csp-emit.js +8 -0
  6. package/dist/esm/build/csp-emit.js.map +1 -0
  7. package/dist/esm/build/load-materialized-frontend-providers.d.ts +9 -0
  8. package/dist/esm/build/load-materialized-frontend-providers.d.ts.map +1 -0
  9. package/dist/esm/build/load-materialized-frontend-providers.js +9 -0
  10. package/dist/esm/build/load-materialized-frontend-providers.js.map +1 -0
  11. package/dist/esm/companion/application-documentation/application-organization-role-documentation.d.ts +66 -0
  12. package/dist/esm/companion/application-documentation/application-organization-role-documentation.d.ts.map +1 -0
  13. package/dist/esm/companion/application-documentation/application-organization-role-documentation.js +195 -0
  14. package/dist/esm/companion/application-documentation/application-organization-role-documentation.js.map +1 -0
  15. package/dist/esm/companion/application-documentation/application-organization-unit-resource-documentation.d.ts +36 -0
  16. package/dist/esm/companion/application-documentation/application-organization-unit-resource-documentation.d.ts.map +1 -0
  17. package/dist/esm/companion/application-documentation/application-organization-unit-resource-documentation.js +71 -0
  18. package/dist/esm/companion/application-documentation/application-organization-unit-resource-documentation.js.map +1 -0
  19. package/dist/esm/companion/application-documentation/technical-documentation-engine-content-bundle.d.ts +37 -0
  20. package/dist/esm/companion/application-documentation/technical-documentation-engine-content-bundle.d.ts.map +1 -0
  21. package/dist/esm/companion/application-documentation/technical-documentation-engine-content-bundle.js +1865 -0
  22. package/dist/esm/companion/application-documentation/technical-documentation-engine-content-bundle.js.map +1 -0
  23. package/dist/esm/companion/application-documentation/technical-documentation-operational-evidence.d.ts +22 -0
  24. package/dist/esm/companion/application-documentation/technical-documentation-operational-evidence.d.ts.map +1 -0
  25. package/dist/esm/companion/application-documentation/technical-documentation-operational-evidence.js +31 -0
  26. package/dist/esm/companion/application-documentation/technical-documentation-operational-evidence.js.map +1 -0
  27. package/dist/esm/companion/application-documentation/technical-documentation-private-derivation.d.ts +31 -0
  28. package/dist/esm/companion/application-documentation/technical-documentation-private-derivation.d.ts.map +1 -0
  29. package/dist/esm/companion/application-documentation/technical-documentation-private-derivation.js +33 -0
  30. package/dist/esm/companion/application-documentation/technical-documentation-private-derivation.js.map +1 -0
  31. package/dist/esm/companion/application-documentation/technical-documentation-publication-policy.d.ts +13 -0
  32. package/dist/esm/companion/application-documentation/technical-documentation-publication-policy.d.ts.map +1 -0
  33. package/dist/esm/companion/application-documentation/technical-documentation-publication-policy.js +93 -0
  34. package/dist/esm/companion/application-documentation/technical-documentation-publication-policy.js.map +1 -0
  35. package/dist/esm/companion/content/application-consumer-documentation-content-loader.d.ts +52 -0
  36. package/dist/esm/companion/content/application-consumer-documentation-content-loader.d.ts.map +1 -0
  37. package/dist/esm/companion/content/application-consumer-documentation-content-loader.js +191 -0
  38. package/dist/esm/companion/content/application-consumer-documentation-content-loader.js.map +1 -0
  39. package/dist/esm/companion/index.d.ts +39 -0
  40. package/dist/esm/companion/index.d.ts.map +1 -0
  41. package/dist/esm/companion/index.js +39 -0
  42. package/dist/esm/companion/index.js.map +1 -0
  43. package/dist/esm/companion/openapi-generator.d.ts +94 -0
  44. package/dist/esm/companion/openapi-generator.d.ts.map +1 -0
  45. package/dist/esm/companion/openapi-generator.js +1562 -0
  46. package/dist/esm/companion/openapi-generator.js.map +1 -0
  47. package/dist/esm/companion/operation-projection.schemas.d.ts +797 -0
  48. package/dist/esm/companion/operation-projection.schemas.d.ts.map +1 -0
  49. package/dist/esm/companion/operation-projection.schemas.js +610 -0
  50. package/dist/esm/companion/operation-projection.schemas.js.map +1 -0
  51. package/dist/esm/companion/publish-result.types.d.ts +124 -0
  52. package/dist/esm/companion/publish-result.types.d.ts.map +1 -0
  53. package/dist/esm/companion/publish-result.types.js +28 -0
  54. package/dist/esm/companion/publish-result.types.js.map +1 -0
  55. package/dist/esm/companion/rendering/technical-documentation-authorized-bundle-reader.d.ts +26 -0
  56. package/dist/esm/companion/rendering/technical-documentation-authorized-bundle-reader.d.ts.map +1 -0
  57. package/dist/esm/companion/rendering/technical-documentation-authorized-bundle-reader.js +63 -0
  58. package/dist/esm/companion/rendering/technical-documentation-authorized-bundle-reader.js.map +1 -0
  59. package/dist/esm/companion/rendering/technical-documentation-build-measurement.d.ts +23 -0
  60. package/dist/esm/companion/rendering/technical-documentation-build-measurement.d.ts.map +1 -0
  61. package/dist/esm/companion/rendering/technical-documentation-build-measurement.js +104 -0
  62. package/dist/esm/companion/rendering/technical-documentation-build-measurement.js.map +1 -0
  63. package/dist/esm/companion/rendering/technical-documentation-docusaurus-renderer.d.ts +9 -0
  64. package/dist/esm/companion/rendering/technical-documentation-docusaurus-renderer.d.ts.map +1 -0
  65. package/dist/esm/companion/rendering/technical-documentation-docusaurus-renderer.js +421 -0
  66. package/dist/esm/companion/rendering/technical-documentation-docusaurus-renderer.js.map +1 -0
  67. package/dist/esm/companion/rendering/technical-documentation-managed-tree-validator.d.ts +72 -0
  68. package/dist/esm/companion/rendering/technical-documentation-managed-tree-validator.d.ts.map +1 -0
  69. package/dist/esm/companion/rendering/technical-documentation-managed-tree-validator.js +204 -0
  70. package/dist/esm/companion/rendering/technical-documentation-managed-tree-validator.js.map +1 -0
  71. package/dist/esm/companion/rendering/technical-documentation-markdown-renderer.d.ts +9 -0
  72. package/dist/esm/companion/rendering/technical-documentation-markdown-renderer.d.ts.map +1 -0
  73. package/dist/esm/companion/rendering/technical-documentation-markdown-renderer.js +106 -0
  74. package/dist/esm/companion/rendering/technical-documentation-markdown-renderer.js.map +1 -0
  75. package/dist/esm/companion/rendering/technical-documentation-mdx-escaping.d.ts +43 -0
  76. package/dist/esm/companion/rendering/technical-documentation-mdx-escaping.d.ts.map +1 -0
  77. package/dist/esm/companion/rendering/technical-documentation-mdx-escaping.js +88 -0
  78. package/dist/esm/companion/rendering/technical-documentation-mdx-escaping.js.map +1 -0
  79. package/dist/esm/companion/rendering/technical-documentation-openapi-renderer.d.ts +7 -0
  80. package/dist/esm/companion/rendering/technical-documentation-openapi-renderer.d.ts.map +1 -0
  81. package/dist/esm/companion/rendering/technical-documentation-openapi-renderer.js +51 -0
  82. package/dist/esm/companion/rendering/technical-documentation-openapi-renderer.js.map +1 -0
  83. package/dist/esm/companion/rendering/technical-documentation-render-model.d.ts +45 -0
  84. package/dist/esm/companion/rendering/technical-documentation-render-model.d.ts.map +1 -0
  85. package/dist/esm/companion/rendering/technical-documentation-render-model.js +178 -0
  86. package/dist/esm/companion/rendering/technical-documentation-render-model.js.map +1 -0
  87. package/dist/esm/companion/rendering/technical-documentation-search-index-renderer.d.ts +3 -0
  88. package/dist/esm/companion/rendering/technical-documentation-search-index-renderer.d.ts.map +1 -0
  89. package/dist/esm/companion/rendering/technical-documentation-search-index-renderer.js +49 -0
  90. package/dist/esm/companion/rendering/technical-documentation-search-index-renderer.js.map +1 -0
  91. package/dist/esm/companion/spec-to-operation-doc.d.ts +176 -0
  92. package/dist/esm/companion/spec-to-operation-doc.d.ts.map +1 -0
  93. package/dist/esm/companion/spec-to-operation-doc.js +326 -0
  94. package/dist/esm/companion/spec-to-operation-doc.js.map +1 -0
  95. package/dist/esm/companion/technical-documentation-asset-path.d.ts +16 -0
  96. package/dist/esm/companion/technical-documentation-asset-path.d.ts.map +1 -0
  97. package/dist/esm/companion/technical-documentation-asset-path.js +19 -0
  98. package/dist/esm/companion/technical-documentation-asset-path.js.map +1 -0
  99. package/dist/esm/companion/technical-documentation-capture-execution-port.d.ts +14 -0
  100. package/dist/esm/companion/technical-documentation-capture-execution-port.d.ts.map +1 -0
  101. package/dist/esm/companion/technical-documentation-capture-execution-port.js +1 -0
  102. package/dist/esm/companion/technical-documentation-capture-execution-port.js.map +1 -0
  103. package/dist/esm/companion/technical-documentation-diagram-materializer.d.ts +25 -0
  104. package/dist/esm/companion/technical-documentation-diagram-materializer.d.ts.map +1 -0
  105. package/dist/esm/companion/technical-documentation-diagram-materializer.js +86 -0
  106. package/dist/esm/companion/technical-documentation-diagram-materializer.js.map +1 -0
  107. package/dist/esm/companion/technical-documentation-placeholder-materializer.d.ts +17 -0
  108. package/dist/esm/companion/technical-documentation-placeholder-materializer.d.ts.map +1 -0
  109. package/dist/esm/companion/technical-documentation-placeholder-materializer.js +63 -0
  110. package/dist/esm/companion/technical-documentation-placeholder-materializer.js.map +1 -0
  111. package/dist/esm/companion/zod-to-openapi.d.ts +67 -0
  112. package/dist/esm/companion/zod-to-openapi.d.ts.map +1 -0
  113. package/dist/esm/companion/zod-to-openapi.js +211 -0
  114. package/dist/esm/companion/zod-to-openapi.js.map +1 -0
  115. package/dist/esm/companion-exports.d.ts +32 -0
  116. package/dist/esm/companion-exports.d.ts.map +1 -0
  117. package/dist/esm/companion-exports.js +32 -0
  118. package/dist/esm/companion-exports.js.map +1 -0
  119. package/dist/esm/config/define-tech-doc-config.d.ts +38 -0
  120. package/dist/esm/config/define-tech-doc-config.d.ts.map +1 -0
  121. package/dist/esm/config/define-tech-doc-config.js +40 -0
  122. package/dist/esm/config/define-tech-doc-config.js.map +1 -0
  123. package/dist/esm/config/index.d.ts +22 -0
  124. package/dist/esm/config/index.d.ts.map +1 -0
  125. package/dist/esm/config/index.js +22 -0
  126. package/dist/esm/config/index.js.map +1 -0
  127. package/dist/esm/config/wildo-tech-doc-config.schemas.d.ts +204 -0
  128. package/dist/esm/config/wildo-tech-doc-config.schemas.d.ts.map +1 -0
  129. package/dist/esm/config/wildo-tech-doc-config.schemas.js +192 -0
  130. package/dist/esm/config/wildo-tech-doc-config.schemas.js.map +1 -0
  131. package/dist/esm/content/application-consumer-documentation-content-manifest.schemas.d.ts +82 -0
  132. package/dist/esm/content/application-consumer-documentation-content-manifest.schemas.d.ts.map +1 -0
  133. package/dist/esm/content/application-consumer-documentation-content-manifest.schemas.js +114 -0
  134. package/dist/esm/content/application-consumer-documentation-content-manifest.schemas.js.map +1 -0
  135. package/dist/esm/content/application-consumer-documentation-content.techdoc.d.ts +420 -0
  136. package/dist/esm/content/application-consumer-documentation-content.techdoc.d.ts.map +1 -0
  137. package/dist/esm/content/application-consumer-documentation-content.techdoc.js +9619 -0
  138. package/dist/esm/content/application-consumer-documentation-content.techdoc.js.map +1 -0
  139. package/dist/esm/content.exports.d.ts +9 -0
  140. package/dist/esm/content.exports.d.ts.map +1 -0
  141. package/dist/esm/content.exports.js +9 -0
  142. package/dist/esm/content.exports.js.map +1 -0
  143. package/dist/esm/index.d.ts +26 -0
  144. package/dist/esm/index.d.ts.map +1 -0
  145. package/dist/esm/index.js +26 -0
  146. package/dist/esm/index.js.map +1 -0
  147. package/dist/esm/openapi/api-reference-link-index.d.ts +98 -0
  148. package/dist/esm/openapi/api-reference-link-index.d.ts.map +1 -0
  149. package/dist/esm/openapi/api-reference-link-index.js +301 -0
  150. package/dist/esm/openapi/api-reference-link-index.js.map +1 -0
  151. package/dist/esm/openapi/api-reference-targets.d.ts +71 -0
  152. package/dist/esm/openapi/api-reference-targets.d.ts.map +1 -0
  153. package/dist/esm/openapi/api-reference-targets.js +114 -0
  154. package/dist/esm/openapi/api-reference-targets.js.map +1 -0
  155. package/dist/esm/openapi/index.d.ts +20 -0
  156. package/dist/esm/openapi/index.d.ts.map +1 -0
  157. package/dist/esm/openapi/index.js +20 -0
  158. package/dist/esm/openapi/index.js.map +1 -0
  159. package/dist/esm/openapi/openapi-generation-output.schemas.d.ts +80 -0
  160. package/dist/esm/openapi/openapi-generation-output.schemas.d.ts.map +1 -0
  161. package/dist/esm/openapi/openapi-generation-output.schemas.js +76 -0
  162. package/dist/esm/openapi/openapi-generation-output.schemas.js.map +1 -0
  163. package/dist/esm/openapi-reference-model.exports.d.ts +10 -0
  164. package/dist/esm/openapi-reference-model.exports.d.ts.map +1 -0
  165. package/dist/esm/openapi-reference-model.exports.js +10 -0
  166. package/dist/esm/openapi-reference-model.exports.js.map +1 -0
  167. package/dist/esm/runtime/AuthExchangePage.d.ts +84 -0
  168. package/dist/esm/runtime/AuthExchangePage.d.ts.map +1 -0
  169. package/dist/esm/runtime/AuthExchangePage.js +188 -0
  170. package/dist/esm/runtime/AuthExchangePage.js.map +1 -0
  171. package/dist/esm/runtime/DocsAuthContext.d.ts +119 -0
  172. package/dist/esm/runtime/DocsAuthContext.d.ts.map +1 -0
  173. package/dist/esm/runtime/DocsAuthContext.js +171 -0
  174. package/dist/esm/runtime/DocsAuthContext.js.map +1 -0
  175. package/dist/esm/runtime/decode-jwt-claims.d.ts +39 -0
  176. package/dist/esm/runtime/decode-jwt-claims.d.ts.map +1 -0
  177. package/dist/esm/runtime/decode-jwt-claims.js +86 -0
  178. package/dist/esm/runtime/decode-jwt-claims.js.map +1 -0
  179. package/dist/esm/runtime/docs-auth-client.d.ts +193 -0
  180. package/dist/esm/runtime/docs-auth-client.d.ts.map +1 -0
  181. package/dist/esm/runtime/docs-auth-client.js +211 -0
  182. package/dist/esm/runtime/docs-auth-client.js.map +1 -0
  183. package/dist/esm/runtime/docs-auth-session.schemas.d.ts +77 -0
  184. package/dist/esm/runtime/docs-auth-session.schemas.d.ts.map +1 -0
  185. package/dist/esm/runtime/docs-auth-session.schemas.js +50 -0
  186. package/dist/esm/runtime/docs-auth-session.schemas.js.map +1 -0
  187. package/dist/esm/runtime/frontend-provider-registry.techdoc.d.ts +17 -0
  188. package/dist/esm/runtime/frontend-provider-registry.techdoc.d.ts.map +1 -0
  189. package/dist/esm/runtime/frontend-provider-registry.techdoc.js +23 -0
  190. package/dist/esm/runtime/frontend-provider-registry.techdoc.js.map +1 -0
  191. package/dist/esm/runtime/index.d.ts +57 -0
  192. package/dist/esm/runtime/index.d.ts.map +1 -0
  193. package/dist/esm/runtime/index.js +76 -0
  194. package/dist/esm/runtime/index.js.map +1 -0
  195. package/dist/esm/runtime/openapi-reference-conservation.d.ts +20 -0
  196. package/dist/esm/runtime/openapi-reference-conservation.d.ts.map +1 -0
  197. package/dist/esm/runtime/openapi-reference-conservation.js +102 -0
  198. package/dist/esm/runtime/openapi-reference-conservation.js.map +1 -0
  199. package/dist/esm/runtime/openapi-reference-model.d.ts +224 -0
  200. package/dist/esm/runtime/openapi-reference-model.d.ts.map +1 -0
  201. package/dist/esm/runtime/openapi-reference-model.js +579 -0
  202. package/dist/esm/runtime/openapi-reference-model.js.map +1 -0
  203. package/dist/esm/runtime/openapi-reference-view.d.ts +13 -0
  204. package/dist/esm/runtime/openapi-reference-view.d.ts.map +1 -0
  205. package/dist/esm/runtime/openapi-reference-view.js +284 -0
  206. package/dist/esm/runtime/openapi-reference-view.js.map +1 -0
  207. package/dist/esm/runtime/use-docs-auth-session.d.ts +26 -0
  208. package/dist/esm/runtime/use-docs-auth-session.d.ts.map +1 -0
  209. package/dist/esm/runtime/use-docs-auth-session.js +34 -0
  210. package/dist/esm/runtime/use-docs-auth-session.js.map +1 -0
  211. package/dist/esm/runtime/use-docs-frontend-provider-registry.d.ts +3 -0
  212. package/dist/esm/runtime/use-docs-frontend-provider-registry.d.ts.map +1 -0
  213. package/dist/esm/runtime/use-docs-frontend-provider-registry.js +5 -0
  214. package/dist/esm/runtime/use-docs-frontend-provider-registry.js.map +1 -0
  215. package/dist/tsconfig.build.tsbuildinfo +1 -0
  216. package/package.json +117 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-reference-view.js","sourceRoot":"","sources":["../../../../src/runtime/openapi-reference-view.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Fragment, useEffect, useMemo, useState, type ReactNode } from 'react';\nimport { ApiReferenceSchemaCompositionKind } from './openapi-reference-model';\nimport type {\n ApiReferenceMediaType,\n ApiReferenceExample,\n ApiReferenceModel,\n ApiReferenceParameter,\n ApiReferenceResource,\n ApiReferenceResourceCategory,\n ApiReferenceResponse,\n ApiReferenceSchemaNode,\n ApiReferenceSchemaProperty,\n ApiReferenceSecurityScheme,\n ApiReferenceServer,\n ApiReferenceVariant,\n} from './openapi-reference-model';\n\n/**\n * Generic OpenAPI reference presentation for every generated application.\n *\n * It receives only the ephemeral model derived from verified OpenAPI bytes.\n * Application routes, branding, and document loading remain outside this\n * component; API semantics remain in OpenAPI rather than in React.\n */\nexport function OpenApiReferenceView({ model }: { readonly model: ApiReferenceModel }): ReactNode {\n const [query, setQuery] = useState('');\n const [selectedResourceRef, setSelectedResourceRef] = useState<string | null>(null);\n const [activeFragment, setActiveFragment] = useState(() => currentFragment());\n const resources = useMemo(() => filterResources(model, query), [model, query]);\n const selectedResource = model.resources.find((resource) => resource.resourceRef === selectedResourceRef) ?? null;\n\n useEffect(() => {\n const synchronizeSelection = () => {\n const fragment = currentFragment();\n setActiveFragment(fragment);\n setSelectedResourceRef(findResourceForFragment(model.resources, fragment)?.resourceRef ?? null);\n };\n synchronizeSelection();\n window.addEventListener('hashchange', synchronizeSelection);\n return () => window.removeEventListener('hashchange', synchronizeSelection);\n }, [model]);\n\n /**\n * The browser performs its ordinary fragment jump before React has mounted a\n * resource selected from a deep link. Repeat the jump after that resource is\n * present so resource, family and variant URLs all behave as true deep links.\n */\n useEffect(() => {\n const target = activeFragment.length > 0 ? document.getElementById(activeFragment) : null;\n if (target !== null && typeof target.scrollIntoView === 'function') target.scrollIntoView({ block: 'start' });\n }, [activeFragment, selectedResource]);\n\n return <>\n {model.description !== null ? <OpenApiDocumentDescription description={model.description} /> : null}\n {(model.servers.length > 0 || model.securitySchemes.length > 0)\n ? <ApiConnectionDetails servers={model.servers} securitySchemes={model.securitySchemes} />\n : null}\n <p>{model.operationCount} operations across {model.resources.length} resources.</p>\n <div className=\"margin-bottom--lg\">\n <label htmlFor=\"api-reference-search\">Search this API reference</label>\n <input\n id=\"api-reference-search\"\n className=\"margin-left--sm\"\n type=\"search\"\n aria-describedby=\"api-reference-search-status\"\n value={query}\n onChange={(event) => {\n setQuery(event.target.value);\n clearResourceSelection();\n }}\n placeholder=\"Resource, operation, path, role…\"\n />\n {query.length > 0 ? <button className=\"button button--secondary button--sm margin-left--sm\" type=\"button\" onClick={() => setQuery('')}>Clear</button> : null}\n </div>\n <p id=\"api-reference-search-status\" className=\"margin-bottom--lg\" role=\"status\" aria-live=\"polite\">\n {query.length > 0 ? `${resources.length} matching resource${resources.length === 1 ? '' : 's'}.` : ''}\n </p>\n <details open={selectedResource === null} className=\"margin-bottom--xl\">\n <summary>Browse {resources.length} resource{resources.length === 1 ? '' : 's'}</summary>\n <nav aria-label=\"API resources\">\n {resourceCategoryGroups(resources).map((group) => <section key={group.id} className=\"margin-top--lg\">\n {group.category !== null ? <>\n <h2 id={group.anchorId}>{group.category.label}</h2>\n {group.category.description !== null ? <p>{group.category.description}</p> : null}\n </> : null}\n <ul style={{ display: 'grid', gap: '0.75rem', gridTemplateColumns: 'repeat(auto-fit, minmax(16rem, 1fr))', listStyle: 'none', margin: '1rem 0 0', padding: 0 }}>\n {group.resources.map((resource) => <ResourceCard key={resource.resourceRef} resource={resource} />)}\n </ul>\n </section>)}\n </nav>\n </details>\n {resources.length === 0 ? <p role=\"status\">No resources or operation variants match this search.</p> : null}\n {selectedResource === null && resources.length > 0 ? <p role=\"status\">Select a resource to explore its operation families and variants.</p> : null}\n {selectedResource !== null ? <section key={selectedResource.resourceRef} className=\"margin-bottom--xl\">\n <p><button className=\"button button--secondary button--sm\" type=\"button\" onClick={clearResourceSelection}>All resources</button></p>\n <ResourceReference resource={selectedResource} activeFragment={activeFragment} />\n </section> : null}\n <ComponentSchemaReference schemas={model.componentSchemas} activeFragment={activeFragment} />\n </>;\n}\n\nfunction OpenApiDocumentDescription({ description }: { readonly description: string }): ReactNode {\n const conventionsMarker = '\\n\\n## API conventions';\n const markerIndex = description.indexOf(conventionsMarker);\n const overview = markerIndex === -1 ? description : description.slice(0, markerIndex);\n const conventions = markerIndex === -1 ? null : description.slice(markerIndex + conventionsMarker.length).trim();\n return <section className=\"margin-bottom--lg\" aria-label=\"API overview\">\n <OpenApiCommonMark source={overview} />\n {conventions !== null && conventions.length > 0 ? <details className=\"margin-top--md\">\n <summary><h2 style={{ display: 'inline', fontSize: 'inherit', margin: 0 }}>API conventions</h2></summary>\n <div className=\"margin-top--md\"><OpenApiCommonMark source={conventions} /></div>\n </details> : null}\n </section>;\n}\n\n/**\n * Safe, deliberately small CommonMark presenter for the generator-owned\n * OpenAPI description vocabulary. It supports the headings, paragraphs,\n * unordered lists, strong text and inline code emitted by the generator and\n * never evaluates HTML.\n */\nfunction OpenApiCommonMark({ source }: { readonly source: string }): ReactNode {\n const lines = source.split(/\\r?\\n/);\n const blocks: ReactNode[] = [];\n let index = 0;\n while (index < lines.length) {\n const line = lines[index] ?? '';\n if (line.trim().length === 0) {\n index += 1;\n continue;\n }\n const heading = line.match(/^(#{2,4})\\s+(.+)$/);\n if (heading !== null) {\n const text = heading[2] ?? '';\n blocks.push(heading[1]?.length === 2\n ? <h2 key={`heading:${index}`}><OpenApiInlineCommonMark source={text} /></h2>\n : <h3 key={`heading:${index}`}><OpenApiInlineCommonMark source={text} /></h3>);\n index += 1;\n continue;\n }\n if (line.startsWith('- ')) {\n const items: string[] = [];\n while (index < lines.length && (lines[index] ?? '').startsWith('- ')) {\n items.push((lines[index] ?? '').slice(2));\n index += 1;\n }\n blocks.push(<ul key={`list:${index}`}>{items.map((item, itemIndex) => <li key={`${itemIndex}:${item}`}><OpenApiInlineCommonMark source={item} /></li>)}</ul>);\n continue;\n }\n const paragraph: string[] = [];\n while (index < lines.length) {\n const candidate = lines[index] ?? '';\n if (candidate.trim().length === 0 || /^(#{2,4})\\s+/.test(candidate) || candidate.startsWith('- ')) break;\n paragraph.push(candidate.trim());\n index += 1;\n }\n blocks.push(<p key={`paragraph:${index}`}><OpenApiInlineCommonMark source={paragraph.join(' ')} /></p>);\n }\n return <>{blocks}</>;\n}\n\nfunction OpenApiInlineCommonMark({ source }: { readonly source: string }): ReactNode {\n return <>{source.split(/(\\*\\*[^*]+\\*\\*|`[^`]+`)/g).filter(Boolean).map((part, index) => {\n if (part.startsWith('**') && part.endsWith('**')) return <strong key={`${index}:${part}`}>{part.slice(2, -2)}</strong>;\n if (part.startsWith('`') && part.endsWith('`')) return <code key={`${index}:${part}`}>{part.slice(1, -1)}</code>;\n return <Fragment key={`${index}:${part}`}>{part}</Fragment>;\n })}</>;\n}\n\nfunction ApiConnectionDetails({\n servers,\n securitySchemes,\n}: {\n readonly servers: readonly ApiReferenceServer[];\n readonly securitySchemes: readonly ApiReferenceSecurityScheme[];\n}): ReactNode {\n return <section className=\"card margin-bottom--lg\" aria-labelledby=\"api-connection-details\">\n <div className=\"card__body\">\n <h2 id=\"api-connection-details\">Connection details</h2>\n {servers.length > 0 ? <>\n <h3>Base URLs</h3>\n <ul>{servers.map((server) => <li key={server.url}><code>{server.url}</code>{server.description !== null ? <> — {server.description}</> : null}</li>)}</ul>\n </> : null}\n {securitySchemes.length > 0 ? <>\n <h3>Authentication mechanisms</h3>\n <dl>{securitySchemes.map((securityScheme) => <Fragment key={securityScheme.name}>\n <dt><code>{securityScheme.name}</code></dt>\n <dd>\n <p className=\"margin-bottom--sm\">\n Type: <code>{securityScheme.type}</code>\n {securityScheme.scheme !== null ? <> · Scheme: <code>{securityScheme.scheme}</code></> : null}\n {securityScheme.bearerFormat !== null ? <> · Format: <code>{securityScheme.bearerFormat}</code></> : null}\n {securityScheme.location !== null ? <> · Location: <code>{securityScheme.location}</code></> : null}\n {securityScheme.parameterName !== null ? <> · Name: <code>{securityScheme.parameterName}</code></> : null}\n </p>\n {securityScheme.description !== null ? <p><OpenApiInlineCommonMark source={securityScheme.description} /></p> : null}\n </dd>\n </Fragment>)}</dl>\n </> : null}\n </div>\n </section>;\n}\n\nfunction ResourceCard({ resource }: { readonly resource: ApiReferenceResource }): ReactNode {\n const variantCount = resource.families.reduce((count, family) => count + family.variants.length, 0);\n return <li style={{ border: '1px solid var(--ifm-color-emphasis-300)', borderRadius: '0.5rem', padding: '1rem' }}>\n <a href={`#${resource.anchorId}`}><strong>{resource.label}</strong></a>\n {resource.description !== null ? <p className=\"margin-top--sm margin-bottom--sm\">{resource.description}</p> : null}\n <p className=\"margin-bottom--none text--muted\">{resource.families.length} operation {resource.families.length === 1 ? 'family' : 'families'} · {variantCount} variant{variantCount === 1 ? '' : 's'}</p>\n </li>;\n}\n\n/**\n * Groups only by source-projected category metadata. A document without\n * categories remains usable, but it is never silently bucketed by filenames,\n * labels or a framework-owned guess.\n */\nfunction resourceCategoryGroups(resources: readonly ApiReferenceResource[]): ReadonlyArray<{\n readonly id: string;\n readonly anchorId: string;\n readonly category: ApiReferenceResourceCategory | null;\n readonly resources: readonly ApiReferenceResource[];\n}> {\n const groups = new Map<string, { category: ApiReferenceResourceCategory | null; resources: ApiReferenceResource[] }>();\n for (const resource of resources) {\n const key = resource.category?.id ?? '__uncategorized__';\n const group = groups.get(key) ?? { category: resource.category, resources: [] };\n if (group.category?.label !== resource.category?.label || group.category?.description !== resource.category?.description) {\n throw new Error(`API reference category '${key}' has inconsistent source metadata`);\n }\n group.resources.push(resource);\n groups.set(key, group);\n }\n return [...groups.entries()]\n .map(([id, group]) => ({\n id,\n anchorId: group.category === null ? 'uncategorized-resources' : group.category.anchorId,\n category: group.category,\n resources: group.resources,\n }))\n .sort((left, right) => (left.category?.label ?? '').localeCompare(right.category?.label ?? ''));\n}\n\nfunction ResourceReference({ resource, activeFragment }: { readonly resource: ApiReferenceResource; readonly activeFragment: string }): ReactNode {\n return <>\n <h2 id={resource.anchorId}>{resource.label}</h2>\n {resource.description !== null ? <p>{resource.description}</p> : null}\n {resource.lifecycleRole !== null ? <><h3>Lifecycle</h3><p>{resource.lifecycleRole}</p></> : null}\n {resource.relationships.length > 0 ? <RelationshipSemantics relationships={resource.relationships} /> : null}\n {resource.families.map((family) => <div key={family.familyRef} className=\"card margin-bottom--md\">\n <div className=\"card__body\">\n <h3 id={family.anchorId}>{family.label}</h3>\n <p className=\"text--muted\">{family.variants.length} documented variant{family.variants.length === 1 ? '' : 's'}</p>\n {family.variants.map((variant) => <OperationVariant key={variant.operationId} variant={variant} activeFragment={activeFragment} />)}\n </div>\n </div>)}\n </>;\n}\n\nfunction RelationshipSemantics({ relationships }: { readonly relationships: ApiReferenceResource['relationships'] }): ReactNode {\n return <details className=\"margin-bottom--lg\">\n <summary>Data relationships ({relationships.length})</summary>\n <ul className=\"margin-top--md\">\n {relationships.map((relationship, index) => <li key={`${relationship.relatedResourceName}:${relationship.foreignKeyField ?? 'none'}:${relationship.nature}:${index}`}>\n <strong>{relationship.relatedResourceLabel}</strong>{relationship.foreignKeyField !== null ? <> via <code>{relationship.foreignKeyField}</code></> : null}: {relationship.nature} relationship ({relationship.resourceCardinality} to {relationship.relatedResourceCardinality}); lifecycle: {relationship.lifecycleModel}.\n {relationship.onParentDelete !== null\n ? <> Parent-delete policy: {relationship.onParentDelete.enabled ? `${relationship.onParentDelete.strategy} (${relationship.onParentDelete.mode}, depth ${relationship.onParentDelete.maxDepth})` : 'does not cascade'}.</>\n : null}\n </li>)}\n </ul>\n </details>;\n}\n\nfunction clearResourceSelection(): void {\n if (typeof window !== 'undefined') window.location.hash = '';\n}\n\nfunction findResourceForFragment(resources: ApiReferenceModel['resources'], hash: string): ApiReferenceResource | null {\n const fragment = hash.startsWith('#') ? hash.slice(1) : hash;\n if (fragment.length === 0) return null;\n return resources.find((resource) => resource.anchorId === fragment\n || resource.families.some((family) => family.anchorId === fragment || family.variants.some((variant) => variant.anchorId === fragment\n || variant.requestBody?.anchorId === fragment\n || variant.responses.some((response) => response.anchorId === fragment)))) ?? null;\n}\n\nfunction filterResources(model: ApiReferenceModel, query: string): ApiReferenceModel['resources'] {\n const normalizedQuery = query.trim().toLocaleLowerCase();\n if (normalizedQuery.length === 0) return model.resources;\n return model.resources.map((resource) => ({\n ...resource,\n families: resource.families.map((family) => ({\n ...family,\n variants: family.variants.filter((variant) => [\n resource.label,\n resource.description ?? '',\n resource.lifecycleRole ?? '',\n ...resource.relationships.flatMap((relationship) => [\n relationship.relatedResourceName,\n relationship.relatedResourceLabel,\n relationship.foreignKeyField ?? '',\n relationship.nature,\n relationship.lifecycleModel,\n relationship.onParentDelete?.strategy ?? '',\n ]),\n family.label,\n variant.summary,\n variant.method,\n variant.path,\n variant.access.authenticationSummary,\n ...variant.access.roleRequirements.flatMap((requirement) => [\n requirement.role,\n requirement.label,\n requirement.businessRole ?? '',\n requirement.authorityBoundary ?? '',\n ]),\n ...variant.securitySchemes,\n ].some((value) => value.toLocaleLowerCase().includes(normalizedQuery))),\n })).filter((family) => family.variants.length > 0),\n })).filter((resource) => resource.families.length > 0);\n}\n\nfunction OperationVariant({ variant, activeFragment }: { readonly variant: ApiReferenceVariant; readonly activeFragment: string }): ReactNode {\n const [isContractOpen, setIsContractOpen] = useState(() => isContractTarget(variant, activeFragment));\n\n useEffect(() => {\n if (isContractTarget(variant, activeFragment)) setIsContractOpen(true);\n }, [activeFragment, variant]);\n\n return <article className=\"margin-bottom--lg\">\n <h4 id={variant.anchorId}>{variant.summary}</h4>\n <p><code>{variant.method}</code> <code>{variant.path}</code></p>\n {variant.description !== null ? <p>{variant.description}</p> : null}\n <p className=\"margin-bottom--sm\">\n <strong>Access:</strong> {variant.access.authenticationSummary}\n {variant.access.roleRequirements.length > 0 ? <> Authorization: any one of {variant.access.roleRequirements.map((requirement, index) => <Fragment key={requirement.role}>\n {index > 0 ? ' or ' : ''}<strong>{requirement.label}</strong> (<code>{requirement.role}</code>)\n </Fragment>)}.</> : null}\n {' '}\n {variant.securitySchemes.length > 0 ? <>Authentication: <code>{variant.securitySchemes.join(' or ')}</code>. </> : null}\n {variant.idempotent !== null ? <>Idempotent: <code>{variant.idempotent ? 'yes' : 'no'}</code>.</> : null}\n </p>\n {variant.access.roleRequirements.some((requirement) => requirement.businessRole !== null || requirement.authorityBoundary !== null) ? <details className=\"margin-bottom--sm\">\n <summary>Role authority details</summary>\n <ul className=\"margin-top--sm\">{variant.access.roleRequirements.map((requirement) => <li key={requirement.role}>\n <strong>{requirement.label}</strong>\n {requirement.businessRole !== null ? <> — {requirement.businessRole}</> : null}\n {requirement.authorityBoundary !== null ? <p className=\"margin-bottom--sm\">Boundary: {requirement.authorityBoundary}</p> : null}\n </li>)}</ul>\n </details> : null}\n <details open={isContractOpen} onToggle={(event) => setIsContractOpen(event.currentTarget.open)}>\n <summary>Request and response contract</summary>\n <div className=\"margin-top--md\">\n <h5>Parameters</h5>\n {variant.parameters.length === 0 ? <p>No parameters.</p> : <ParameterTable parameters={variant.parameters} />}\n {variant.requestBody !== null ? <>\n <h5 id={variant.requestBody.anchorId}>Request body {variant.requestBody.required ? '(required)' : '(optional)'}</h5>\n <RepresentationList mediaTypes={variant.requestBody.mediaTypes} />\n </> : null}\n <h5>Responses</h5>\n {variant.responses.length === 0 ? <p>No response contract was emitted.</p> : variant.responses.map((response) => <ResponseContract key={response.status} response={response} />)}\n </div>\n </details>\n </article>;\n}\n\n/** Opens the native contract disclosure before a request/response fragment is scrolled into view. */\nfunction isContractTarget(variant: ApiReferenceVariant, fragment: string): boolean {\n return variant.requestBody?.anchorId === fragment || variant.responses.some((response) => response.anchorId === fragment);\n}\n\nfunction currentFragment(): string {\n if (typeof window === 'undefined') return '';\n return window.location.hash.startsWith('#') ? window.location.hash.slice(1) : window.location.hash;\n}\n\nfunction ParameterTable({ parameters }: { readonly parameters: readonly ApiReferenceParameter[] }): ReactNode {\n return <div style={{ maxWidth: '100%', overflowX: 'auto' }}>\n <table>\n <thead><tr><th>Name</th><th>Location</th><th>Type</th><th>Required</th><th>Description</th><th>Examples</th></tr></thead>\n <tbody>{parameters.map((parameter) => <tr key={`${parameter.location}:${parameter.name}`}>\n <td><code>{parameter.name}</code></td><td>{parameter.location}</td><td>{parameter.schema === null ? '—' : <SchemaType schema={parameter.schema} />}</td><td>{parameter.required ? 'Yes' : 'No'}</td><td>{parameter.description ?? '—'}</td>\n <td>{parameter.examples.length > 0 ? <Examples examples={parameter.examples} /> : '—'}</td>\n </tr>)}</tbody>\n </table>\n </div>;\n}\n\nfunction ResponseContract({ response }: { readonly response: ApiReferenceResponse }): ReactNode {\n return <section className=\"margin-bottom--md\">\n <p id={response.anchorId} className=\"margin-bottom--sm\"><strong><code>{response.status}</code></strong>{response.description !== null ? ` — ${response.description}` : ''}</p>\n <RepresentationList mediaTypes={response.mediaTypes} />\n </section>;\n}\n\nfunction RepresentationList({ mediaTypes }: { readonly mediaTypes: readonly ApiReferenceMediaType[] }): ReactNode {\n if (mediaTypes.length === 0) return <p>No structured representation.</p>;\n return <ul>{mediaTypes.map((representation) => <li key={representation.mediaType}>\n <code>{representation.mediaType}</code>{representation.schema !== null ? <> — <SchemaType schema={representation.schema} /></> : null}\n {representation.examples.length > 0 ? <Examples examples={representation.examples} /> : null}\n </li>)}</ul>;\n}\n\n/** Presents a schema identity without resolving component references in React. */\nfunction SchemaType({ schema }: { readonly schema: ApiReferenceSchemaNode }): ReactNode {\n if (schema.booleanSchema !== null) return <code>{schema.booleanSchema ? 'any value' : 'no value'}</code>;\n if (schema.referenceName !== null) {\n return schema.referenceAnchorId === null\n ? <code>{schema.referenceName}</code>\n : <a href={`#${schema.referenceAnchorId}`}><code>{schema.referenceName}</code></a>;\n }\n if (schema.types.length > 0) return <code>{schema.types.join(' | ')}</code>;\n if (schema.compositions.length > 0) return <code>{schema.compositions.map((composition) => composition.kind).join(' + ')}</code>;\n return <code>schema</code>;\n}\n\nfunction schemaHasNestedContract(schema: ApiReferenceSchemaNode): boolean {\n return schema.properties.length > 0\n || schema.items !== null\n || schema.compositions.length > 0\n || (schema.additionalProperties !== null && typeof schema.additionalProperties === 'object');\n}\n\nfunction schemaHasContractDetails(schema: ApiReferenceSchemaNode): boolean {\n return schemaHasNestedContract(schema)\n || schema.description !== null\n || schema.format !== null\n || schema.defaultValue !== null\n || schema.constValue !== null\n || schema.enumValues.length > 0\n || schema.constraints.length > 0\n || schema.additionalProperties !== null;\n}\n\n/** Recursively renders only the contract fields carried by the OpenAPI Schema Object. */\nfunction SchemaContract({ schema }: { readonly schema: ApiReferenceSchemaNode }): ReactNode {\n return <div>\n {schema.description !== null ? <p>{schema.description}</p> : null}\n {schema.format !== null ? <p className=\"margin-bottom--sm\"><strong>Format:</strong> <code>{schema.format}</code></p> : null}\n {schema.defaultValue !== null ? <p className=\"margin-bottom--sm\"><strong>Default:</strong> <code>{schema.defaultValue}</code></p> : null}\n {schema.constValue !== null ? <p className=\"margin-bottom--sm\"><strong>Constant:</strong> <code>{schema.constValue}</code></p> : null}\n {schema.constraints.length > 0 ? <dl className=\"margin-bottom--md\">\n {schema.constraints.map((constraint) => <Fragment key={constraint.kind}>\n <dt><code>{constraint.kind}</code></dt><dd><code>{constraint.jsonValue}</code></dd>\n </Fragment>)}\n </dl> : null}\n {schema.enumValues.length > 0 ? <>\n <p className=\"margin-bottom--sm\"><strong>Allowed values</strong></p>\n <ul>{schema.enumValues.map((enumValue) => <li key={enumValue.jsonValue}>\n <code>{enumValue.jsonValue}</code>{enumValue.description !== null ? ` — ${enumValue.description}` : ''}\n </li>)}</ul>\n </> : null}\n {schema.properties.length > 0 ? <>\n <p className=\"margin-bottom--sm\"><strong>Properties</strong></p>\n <ul style={{ listStyle: 'none', paddingInlineStart: '1rem' }}>\n {schema.properties.map((property) => <SchemaProperty key={property.name} property={property} />)}\n </ul>\n </> : null}\n {schema.items !== null ? <details className=\"margin-bottom--sm\">\n <summary>Array items — <SchemaType schema={schema.items} /></summary>\n <div className=\"margin-left--md margin-top--sm\"><SchemaContract schema={schema.items} /></div>\n </details> : null}\n {schema.compositions.map((composition) => <section key={composition.kind} className=\"margin-bottom--md\">\n <p className=\"margin-bottom--sm\"><strong>{schemaCompositionLabel(composition.kind)}</strong></p>\n <ol>{composition.branches.map((branch, index) => <li key={index} className=\"margin-bottom--sm\">\n <SchemaType schema={branch} />\n {schemaHasContractDetails(branch)\n ? <div className=\"margin-left--md margin-top--sm\"><SchemaContract schema={branch} /></div>\n : null}\n </li>)}</ol>\n </section>)}\n {schema.additionalProperties !== null ? <div className=\"margin-bottom--sm\">\n <strong>Additional properties:</strong>{typeof schema.additionalProperties === 'boolean'\n ? ` ${schema.additionalProperties ? 'allowed' : 'not allowed'}`\n : <><span> </span><SchemaType schema={schema.additionalProperties} /><div className=\"margin-left--md\"><SchemaContract schema={schema.additionalProperties} /></div></>}\n </div> : null}\n </div>;\n}\n\nfunction SchemaProperty({ property }: { readonly property: ApiReferenceSchemaProperty }): ReactNode {\n const identity = <><code>{property.name}</code> — <SchemaType schema={property.schema} /> — {property.required ? 'required' : 'optional'}</>;\n return <li className=\"margin-bottom--sm\" style={{ borderLeft: '2px solid var(--ifm-color-emphasis-300)', paddingInlineStart: '0.75rem' }}>\n {schemaHasNestedContract(property.schema)\n ? <details><summary>{identity}</summary><div className=\"margin-top--sm\"><SchemaContract schema={property.schema} /></div></details>\n : <><p className=\"margin-bottom--sm\">{identity}</p><SchemaContract schema={property.schema} /></>}\n </li>;\n}\n\nfunction schemaCompositionLabel(kind: ApiReferenceSchemaCompositionKind): string {\n switch (kind) {\n case ApiReferenceSchemaCompositionKind.ONE_OF: return 'One of';\n case ApiReferenceSchemaCompositionKind.ANY_OF: return 'Any of';\n case ApiReferenceSchemaCompositionKind.ALL_OF: return 'All of';\n }\n}\n\n/** Renders OpenAPI reusable schemas only when a reader explicitly selects one. */\nfunction ComponentSchemaReference({\n schemas,\n activeFragment,\n}: {\n readonly schemas: ApiReferenceModel['componentSchemas'];\n readonly activeFragment: string;\n}): ReactNode {\n const selectedSchema = schemas.find((schema) => schema.anchorId === activeFragment) ?? null;\n return <details className=\"margin-bottom--xl\" open={selectedSchema !== null}>\n <summary>Reusable data models ({schemas.length})</summary>\n {selectedSchema === null ? <p className=\"margin-top--md\">Select a request or response model link to inspect its OpenAPI schema.</p> : <section className=\"margin-top--lg\">\n <h2 id={selectedSchema.anchorId}>{selectedSchema.name}</h2>\n <p><strong>Type:</strong> <span> </span><SchemaType schema={selectedSchema.schema} /></p>\n <SchemaContract schema={selectedSchema.schema} />\n </section>}\n </details>;\n}\n\n/** Renders only OpenAPI-declared examples; this component never invents sample payloads. */\nfunction Examples({ examples }: { readonly examples: readonly ApiReferenceExample[] }): ReactNode {\n return <details className=\"margin-top--sm\">\n <summary>Examples ({examples.length})</summary>\n {examples.map((example) => <div key={example.name} className=\"margin-top--sm\">\n <p className=\"margin-bottom--sm\"><strong>{example.name}</strong>{example.summary !== null ? ` — ${example.summary}` : ''}</p>\n {example.description !== null ? <p className=\"margin-bottom--sm\">{example.description}</p> : null}\n {example.jsonValue !== null ? <pre><code>{example.jsonValue}</code></pre> : null}\n {example.externalValue !== null ? <p className=\"margin-bottom--sm\">External example: <a href={example.externalValue}>{example.externalValue}</a></p> : null}\n {example.jsonValue === null && example.externalValue === null ? <p className=\"margin-bottom--sm\">No inline example value was supplied.</p> : null}\n </div>)}\n </details>;\n}\n"]}
@@ -0,0 +1,26 @@
1
+ import { type DocsAuthContextValue } from './DocsAuthContext';
2
+ /**
3
+ * Read the current docs-site auth session.
4
+ *
5
+ * The three Docusaurus swizzles (Root, Navbar, DocItem — see
6
+ * saas-technical-doc.md K-11) all consume the same hook:
7
+ *
8
+ * - Navbar : `session.status === 'authenticated' && session.claims.role === DocsRole.ORG_ADMIN`
9
+ * decides whether the "Organization API" link is rendered.
10
+ * - DocItem : on `/api/organization/*` routes, branches on the same
11
+ * check; if anonymous, deep-links to the SaaS app because
12
+ * handoff issuance requires a bearer.
13
+ * - Root : the `<AuthExchangePage>` wired at `/auth/exchange` calls
14
+ * `beginExchange(code)` on mount.
15
+ *
16
+ * Throws when used outside `<DocsAuthProvider>` so misconfigured swizzles
17
+ * fail loud during the Docusaurus build (rather than silently rendering
18
+ * "anonymous" for every reader). This mirrors the pattern in
19
+ * `saas-frontend-lib`'s `useAuthSession()`.
20
+ *
21
+ * Lives in its own file so editing the context value type does not
22
+ * invalidate the hook's React Fast Refresh boundary, mirroring the
23
+ * `useAuthSession.ts` / `AuthSessionContext.tsx` split.
24
+ */
25
+ export declare function useDocsAuthSession(): DocsAuthContextValue;
26
+ //# sourceMappingURL=use-docs-auth-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-docs-auth-session.d.ts","sourceRoot":"","sources":["../../../../src/runtime/use-docs-auth-session.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,IAAI,oBAAoB,CASzD"}
@@ -0,0 +1,34 @@
1
+ import { useContext } from 'react';
2
+ import { DocsAuthContext } from './DocsAuthContext.js';
3
+ /**
4
+ * Read the current docs-site auth session.
5
+ *
6
+ * The three Docusaurus swizzles (Root, Navbar, DocItem — see
7
+ * saas-technical-doc.md K-11) all consume the same hook:
8
+ *
9
+ * - Navbar : `session.status === 'authenticated' && session.claims.role === DocsRole.ORG_ADMIN`
10
+ * decides whether the "Organization API" link is rendered.
11
+ * - DocItem : on `/api/organization/*` routes, branches on the same
12
+ * check; if anonymous, deep-links to the SaaS app because
13
+ * handoff issuance requires a bearer.
14
+ * - Root : the `<AuthExchangePage>` wired at `/auth/exchange` calls
15
+ * `beginExchange(code)` on mount.
16
+ *
17
+ * Throws when used outside `<DocsAuthProvider>` so misconfigured swizzles
18
+ * fail loud during the Docusaurus build (rather than silently rendering
19
+ * "anonymous" for every reader). This mirrors the pattern in
20
+ * `saas-frontend-lib`'s `useAuthSession()`.
21
+ *
22
+ * Lives in its own file so editing the context value type does not
23
+ * invalidate the hook's React Fast Refresh boundary, mirroring the
24
+ * `useAuthSession.ts` / `AuthSessionContext.tsx` split.
25
+ */
26
+ export function useDocsAuthSession() {
27
+ const ctx = useContext(DocsAuthContext);
28
+ if (!ctx) {
29
+ throw new Error('`useDocsAuthSession` must be used within `<DocsAuthProvider>`. ' +
30
+ 'Mount it via the Root swizzle on your Docusaurus site (see saas-technical-doc.md Step 6).');
31
+ }
32
+ return ctx;
33
+ }
34
+ //# sourceMappingURL=use-docs-auth-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-docs-auth-session.js","sourceRoot":"","sources":["../../../../src/runtime/use-docs-auth-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,iEAAiE;YAC/D,2FAA2F,CAC9F,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import { useContext } from 'react';\nimport { DocsAuthContext, type DocsAuthContextValue } from './DocsAuthContext';\n\n/**\n * Read the current docs-site auth session.\n *\n * The three Docusaurus swizzles (Root, Navbar, DocItem — see\n * saas-technical-doc.md K-11) all consume the same hook:\n *\n * - Navbar : `session.status === 'authenticated' && session.claims.role === DocsRole.ORG_ADMIN`\n * decides whether the \"Organization API\" link is rendered.\n * - DocItem : on `/api/organization/*` routes, branches on the same\n * check; if anonymous, deep-links to the SaaS app because\n * handoff issuance requires a bearer.\n * - Root : the `<AuthExchangePage>` wired at `/auth/exchange` calls\n * `beginExchange(code)` on mount.\n *\n * Throws when used outside `<DocsAuthProvider>` so misconfigured swizzles\n * fail loud during the Docusaurus build (rather than silently rendering\n * \"anonymous\" for every reader). This mirrors the pattern in\n * `saas-frontend-lib`'s `useAuthSession()`.\n *\n * Lives in its own file so editing the context value type does not\n * invalidate the hook's React Fast Refresh boundary, mirroring the\n * `useAuthSession.ts` / `AuthSessionContext.tsx` split.\n */\nexport function useDocsAuthSession(): DocsAuthContextValue {\n const ctx = useContext(DocsAuthContext);\n if (!ctx) {\n throw new Error(\n '`useDocsAuthSession` must be used within `<DocsAuthProvider>`. ' +\n 'Mount it via the Root swizzle on your Docusaurus site (see saas-technical-doc.md Step 6).',\n );\n }\n return ctx;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { FrontendTechdocProviderRegistry } from './frontend-provider-registry.techdoc';
2
+ export declare function useDocsFrontendProviderRegistry(): FrontendTechdocProviderRegistry;
3
+ //# sourceMappingURL=use-docs-frontend-provider-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-docs-frontend-provider-registry.d.ts","sourceRoot":"","sources":["../../../../src/runtime/use-docs-frontend-provider-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAG5F,wBAAgB,+BAA+B,IAAI,+BAA+B,CAEjF"}
@@ -0,0 +1,5 @@
1
+ import { useDocsAuthSession } from './use-docs-auth-session.js';
2
+ export function useDocsFrontendProviderRegistry() {
3
+ return useDocsAuthSession().frontendProviderRegistry;
4
+ }
5
+ //# sourceMappingURL=use-docs-frontend-provider-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-docs-frontend-provider-registry.js","sourceRoot":"","sources":["../../../../src/runtime/use-docs-frontend-provider-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,UAAU,+BAA+B;IAC7C,OAAO,kBAAkB,EAAE,CAAC,wBAAwB,CAAC;AACvD,CAAC","sourcesContent":["import type { FrontendTechdocProviderRegistry } from './frontend-provider-registry.techdoc';\nimport { useDocsAuthSession } from './use-docs-auth-session';\n\nexport function useDocsFrontendProviderRegistry(): FrontendTechdocProviderRegistry {\n return useDocsAuthSession().frontendProviderRegistry;\n}\n"]}