@contractspec/bundle.library 3.8.12 → 3.9.2

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 (683) hide show
  1. package/.turbo/turbo-build.log +614 -602
  2. package/CHANGELOG.md +97 -0
  3. package/dist/application/context-storage/index.js +1 -1
  4. package/dist/application/index.js +11 -11
  5. package/dist/application/mcp/cliMcp.js +6 -6
  6. package/dist/application/mcp/cliMcp.onboarding.d.ts +4 -0
  7. package/dist/application/mcp/cliMcp.onboarding.js +2 -0
  8. package/dist/application/mcp/cliMcp.test.d.ts +1 -0
  9. package/dist/application/mcp/common.js +1 -1
  10. package/dist/application/mcp/contractsMcp.js +2 -2
  11. package/dist/application/mcp/contractsMcp.test.d.ts +1 -0
  12. package/dist/application/mcp/contractsMcpAdoptionTools.d.ts +3 -0
  13. package/dist/application/mcp/contractsMcpAdoptionTools.js +2 -0
  14. package/dist/application/mcp/contractsMcpResources.js +2 -2
  15. package/dist/application/mcp/contractsMcpTools.js +1 -1
  16. package/dist/application/mcp/contractsMcpTypes.d.ts +16 -0
  17. package/dist/application/mcp/docsMcp.catalog.js +2 -2
  18. package/dist/application/mcp/docsMcp.data.js +1 -1
  19. package/dist/application/mcp/docsMcp.js +3 -3
  20. package/dist/application/mcp/docsMcp.prompts.js +3 -3
  21. package/dist/application/mcp/docsMcp.reference.js +2 -2
  22. package/dist/application/mcp/docsMcp.resources.js +2 -2
  23. package/dist/application/mcp/docsMcp.tools.js +2 -2
  24. package/dist/application/mcp/index.js +11 -11
  25. package/dist/application/mcp/internalMcp.js +2 -2
  26. package/dist/application/mcp/normalizeMcpRequest.js +1 -1
  27. package/dist/application/mcp/providerRankingMcp.js +1 -1
  28. package/dist/bundles/LibraryBundle.d.ts +19 -111
  29. package/dist/bundles/LibraryBundle.js +1 -1
  30. package/dist/bundles/index.js +1 -1
  31. package/dist/components/docs/DocsIndexPage.js +2 -2
  32. package/dist/components/docs/advanced/AdvancedMCPPage.js +3 -3
  33. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
  34. package/dist/components/docs/advanced/AdvancedRenderersPage.js +2 -2
  35. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
  36. package/dist/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
  37. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
  38. package/dist/components/docs/advanced/index.js +9 -9
  39. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
  40. package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
  41. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
  42. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
  43. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
  44. package/dist/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
  45. package/dist/components/docs/architecture/index.js +20 -20
  46. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
  47. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
  48. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
  49. package/dist/components/docs/comparison/ComparisonOverviewPage.js +1 -1
  50. package/dist/components/docs/comparison/ComparisonWindmillPage.js +1 -1
  51. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
  52. package/dist/components/docs/comparison/index.js +1 -1
  53. package/dist/components/docs/docsManifest.js +1 -1
  54. package/dist/components/docs/ecosystem/IntegrationsPage.js +2 -2
  55. package/dist/components/docs/ecosystem/PluginsPage.js +4 -4
  56. package/dist/components/docs/ecosystem/RegistryPage.js +4 -4
  57. package/dist/components/docs/ecosystem/TemplatesPage.js +3 -3
  58. package/dist/components/docs/ecosystem/index.js +11 -11
  59. package/dist/components/docs/examples/DocsExamplesPage.js +1 -17
  60. package/dist/components/docs/examples/ExampleShowcasePage.d.ts +1 -1
  61. package/dist/components/docs/examples/ExampleShowcasePage.js +2 -17
  62. package/dist/components/docs/examples/exampleShowcaseData.d.ts +2 -2
  63. package/dist/components/docs/examples/exampleShowcaseData.js +2 -17
  64. package/dist/components/docs/examples/exampleShowcaseData.test.d.ts +1 -0
  65. package/dist/components/docs/examples/index.js +2 -17
  66. package/dist/components/docs/generated/docs-index.generated.js +1 -1
  67. package/dist/components/docs/generated/index.d.ts +7 -1
  68. package/dist/components/docs/generated/index.js +1 -1
  69. package/dist/components/docs/generated/loader.js +1 -1
  70. package/dist/components/docs/getting-started/CLIPage.js +6 -5
  71. package/dist/components/docs/getting-started/CompatibilityPage.js +1 -1
  72. package/dist/components/docs/getting-started/DataViewTutorialPage.js +44 -67
  73. package/dist/components/docs/getting-started/DeveloperToolsPage.js +1 -1
  74. package/dist/components/docs/getting-started/HelloWorldPage.js +5 -5
  75. package/dist/components/docs/getting-started/InstallationPage.js +3 -3
  76. package/dist/components/docs/getting-started/StartHerePage.js +4 -2
  77. package/dist/components/docs/getting-started/TroubleshootingPage.js +2 -2
  78. package/dist/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
  79. package/dist/components/docs/getting-started/getting-started.docblocks.js +2 -2
  80. package/dist/components/docs/getting-started/index.js +60 -80
  81. package/dist/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
  82. package/dist/components/docs/guides/GuideConnectInRepoPage.js +30 -5
  83. package/dist/components/docs/guides/GuideContractTypesPage.js +6 -6
  84. package/dist/components/docs/guides/GuideDocsPipelinePage.js +3 -3
  85. package/dist/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
  86. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
  87. package/dist/components/docs/guides/GuideHostBuilderWorkbenchPage.js +21 -6
  88. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
  89. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
  90. package/dist/components/docs/guides/GuideReleaseCapsulesPage.d.ts +1 -0
  91. package/dist/components/docs/guides/GuideReleaseCapsulesPage.js +16 -0
  92. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
  93. package/dist/components/docs/guides/GuidesIndexPage.js +2 -2
  94. package/dist/components/docs/guides/index.d.ts +1 -0
  95. package/dist/components/docs/guides/index.js +93 -39
  96. package/dist/components/docs/index.js +690 -419
  97. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
  98. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
  99. package/dist/components/docs/integrations/IntegrationsGithubPage.js +2 -2
  100. package/dist/components/docs/integrations/IntegrationsGmailPage.js +3 -3
  101. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
  102. package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
  103. package/dist/components/docs/integrations/IntegrationsMistralPage.js +2 -2
  104. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
  105. package/dist/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
  106. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
  107. package/dist/components/docs/integrations/IntegrationsPowensPage.js +2 -2
  108. package/dist/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
  109. package/dist/components/docs/integrations/IntegrationsResendPage.js +3 -3
  110. package/dist/components/docs/integrations/IntegrationsS3Page.js +4 -4
  111. package/dist/components/docs/integrations/IntegrationsSlackPage.js +2 -2
  112. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
  113. package/dist/components/docs/integrations/IntegrationsStripePage.js +2 -2
  114. package/dist/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
  115. package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
  116. package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
  117. package/dist/components/docs/integrations/index.js +39 -39
  118. package/dist/components/docs/intent/ContractFirstApiPage.js +2 -2
  119. package/dist/components/docs/intent/DeterministicCodegenPage.js +2 -2
  120. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
  121. package/dist/components/docs/intent/OpenapiAlternativePage.js +3 -3
  122. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
  123. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
  124. package/dist/components/docs/intent/index.js +15 -15
  125. package/dist/components/docs/intent/intent-pages.docblocks.js +1 -1
  126. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
  127. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
  128. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
  129. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
  130. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
  131. package/dist/components/docs/knowledge/index.js +5 -5
  132. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
  133. package/dist/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
  134. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
  135. package/dist/components/docs/libraries/LibrariesContentGenPage.js +2 -2
  136. package/dist/components/docs/libraries/LibrariesContractsPage.js +43 -18
  137. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
  138. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.d.ts +67 -0
  139. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +86 -0
  140. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.d.ts +1 -0
  141. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.js +86 -0
  142. package/dist/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
  143. package/dist/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
  144. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +77 -29
  145. package/dist/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
  146. package/dist/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
  147. package/dist/components/docs/libraries/LibrariesGrowthPage.js +3 -3
  148. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
  149. package/dist/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
  150. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
  151. package/dist/components/docs/libraries/LibrariesOverviewPage.js +1 -1
  152. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
  153. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
  154. package/dist/components/docs/libraries/LibrariesResiliencePage.js +4 -4
  155. package/dist/components/docs/libraries/LibrariesRuntimePage.js +2 -2
  156. package/dist/components/docs/libraries/LibrariesSLOPage.js +3 -3
  157. package/dist/components/docs/libraries/LibrariesSchemaPage.js +3 -3
  158. package/dist/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
  159. package/dist/components/docs/libraries/LibrariesTestingPage.js +3 -3
  160. package/dist/components/docs/libraries/LibrariesUIKitPage.js +42 -16
  161. package/dist/components/docs/libraries/LibrariesUIKitWebPage.d.ts +1 -0
  162. package/dist/components/docs/libraries/LibrariesUIKitWebPage.js +47 -0
  163. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
  164. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
  165. package/dist/components/docs/libraries/index.d.ts +2 -0
  166. package/dist/components/docs/libraries/index.js +338 -110
  167. package/dist/components/docs/manifesto/ManifestoPage.js +1 -1
  168. package/dist/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
  169. package/dist/components/docs/ops/DistributedTracingOpsPage.js +2 -2
  170. package/dist/components/docs/ops/index.js +3 -3
  171. package/dist/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
  172. package/dist/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
  173. package/dist/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
  174. package/dist/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
  175. package/dist/components/docs/ops/ops-top.docs.js +2 -2
  176. package/dist/components/docs/ops/ops.docs.js +6 -6
  177. package/dist/components/docs/product/product.docblocks.js +2 -2
  178. package/dist/components/docs/reference/DocsMarkdownContent.js +2 -2
  179. package/dist/components/docs/reference/DocsReferenceContent.js +3 -3
  180. package/dist/components/docs/reference/DocsReferenceIndexClient.js +2 -2
  181. package/dist/components/docs/reference/DocsReferenceIndexPage.js +2 -2
  182. package/dist/components/docs/reference/DocsReferencePage.js +3 -3
  183. package/dist/components/docs/reference/docsMarkdownParser.js +2 -2
  184. package/dist/components/docs/reference/index.js +4 -4
  185. package/dist/components/docs/safety/SafetyAuditingPage.js +2 -2
  186. package/dist/components/docs/safety/SafetyMigrationsPage.js +2 -2
  187. package/dist/components/docs/safety/SafetyOverviewPage.js +1 -1
  188. package/dist/components/docs/safety/SafetyPDPPage.js +2 -2
  189. package/dist/components/docs/safety/SafetySecurityTrustPage.js +1 -1
  190. package/dist/components/docs/safety/SafetySigningPage.js +3 -3
  191. package/dist/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
  192. package/dist/components/docs/safety/index.js +7 -7
  193. package/dist/components/docs/shared/StudioPrompt.js +1 -1
  194. package/dist/components/docs/specs/SpecsBuilderControlPlanePage.js +18 -3
  195. package/dist/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
  196. package/dist/components/docs/specs/SpecsConnectPage.js +4 -2
  197. package/dist/components/docs/specs/SpecsDataViewsPage.js +39 -32
  198. package/dist/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
  199. package/dist/components/docs/specs/SpecsOverlaysPage.js +2 -2
  200. package/dist/components/docs/specs/SpecsOverviewPage.js +1 -1
  201. package/dist/components/docs/specs/SpecsPolicyPage.js +3 -3
  202. package/dist/components/docs/specs/SpecsWorkflowsPage.js +2 -2
  203. package/dist/components/docs/specs/index.js +66 -42
  204. package/dist/components/docs/studio/StudioBYOKPage.js +1 -1
  205. package/dist/components/docs/studio/StudioDeploymentsPage.js +1 -1
  206. package/dist/components/docs/studio/StudioGettingStartedPage.js +1 -1
  207. package/dist/components/docs/studio/StudioIntegrationsPage.js +1 -1
  208. package/dist/components/docs/studio/StudioOverviewPage.js +1 -1
  209. package/dist/components/docs/studio/StudioVisualBuilderPage.js +1 -1
  210. package/dist/components/docs/studio/index.js +1 -1
  211. package/dist/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
  212. package/dist/components/integrations/index.js +2 -2
  213. package/dist/components/integrations/molecules/IntegrationCard.js +1 -1
  214. package/dist/components/integrations/organisms/IntegrationMarketplace.js +1 -1
  215. package/dist/components/integrations/organisms/IntegrationSettings.js +2 -2
  216. package/dist/components/integrations/organisms/KnowledgeSourceList.js +1 -1
  217. package/dist/components/legal/PrivacyTemplate.js +1 -1
  218. package/dist/components/legal/TermsTemplate.js +1 -1
  219. package/dist/components/legal/index.js +1 -1
  220. package/dist/components/shared/FeatureGateNotice.js +1 -1
  221. package/dist/components/shared/index.js +1 -1
  222. package/dist/components/shell/WorkspaceHeader.js +1 -1
  223. package/dist/components/shell/WorkspaceProjectShellLayout.js +1 -1
  224. package/dist/components/shell/WorkspaceShellRenderer.js +1 -1
  225. package/dist/components/shell/WorkspaceSidebar.js +1 -1
  226. package/dist/components/shell/index.js +1 -1
  227. package/dist/components/templates/engine/index.js +1 -1
  228. package/dist/components/templates/index.js +11 -11
  229. package/dist/components/templates/messaging/ConversationList.js +2 -2
  230. package/dist/components/templates/messaging/MessageComposer.js +4 -4
  231. package/dist/components/templates/messaging/MessageThread.js +3 -3
  232. package/dist/components/templates/messaging/MessagingWorkspace.js +5 -5
  233. package/dist/components/templates/messaging/index.js +5 -5
  234. package/dist/components/templates/recipes/LanguageSwitcher.js +1 -1
  235. package/dist/components/templates/recipes/RecipeCard.js +1 -1
  236. package/dist/components/templates/recipes/RecipeDetail.js +1 -1
  237. package/dist/components/templates/recipes/RecipeList.js +3 -3
  238. package/dist/components/templates/recipes/index.js +3 -3
  239. package/dist/components/templates/todos/FilterBar.js +1 -1
  240. package/dist/components/templates/todos/TaskForm.js +2 -2
  241. package/dist/components/templates/todos/TaskItem.js +1 -1
  242. package/dist/components/templates/todos/TaskList.js +5 -5
  243. package/dist/components/templates/todos/index.js +5 -5
  244. package/dist/config/contractspec-blueprint.js +1 -1
  245. package/dist/config/contractspec-branding.js +1 -1
  246. package/dist/config/contractspec-routes.js +1 -1
  247. package/dist/config/index.js +1 -1
  248. package/dist/features/contracts-registry.js +1 -1
  249. package/dist/features/docs/docs.contracts.js +1 -1
  250. package/dist/features/docs/index.js +1 -1
  251. package/dist/features/docs.feature.js +1 -1
  252. package/dist/features/index.js +1 -1
  253. package/dist/features/mcp.feature.js +1 -1
  254. package/dist/features/presentations.feature.js +1 -1
  255. package/dist/features/registry.js +1 -1
  256. package/dist/index.d.ts +1 -0
  257. package/dist/index.js +701 -430
  258. package/dist/infrastructure/elysia/index.js +1 -1
  259. package/dist/infrastructure/elysia/logger.js +1 -1
  260. package/dist/infrastructure/index.js +1 -1
  261. package/dist/libs/email/client.js +1 -1
  262. package/dist/libs/email/contact.js +3 -3
  263. package/dist/libs/email/newsletter.js +3 -3
  264. package/dist/libs/email/utils.js +2 -2
  265. package/dist/libs/email/waitlist-application.js +3 -3
  266. package/dist/libs/email/waitlist.js +3 -3
  267. package/dist/libs/email.js +6 -6
  268. package/dist/libs/posthog/client.js +1 -1
  269. package/dist/libs/posthog/native.js +1 -1
  270. package/dist/libs/posthog/server.js +1 -1
  271. package/dist/libs/pricing-examples.js +1 -1
  272. package/dist/node/application/context-storage/index.js +1 -1
  273. package/dist/node/application/index.js +11 -11
  274. package/dist/node/application/mcp/cliMcp.js +6 -6
  275. package/dist/node/application/mcp/cliMcp.onboarding.js +1 -0
  276. package/dist/node/application/mcp/common.js +1 -1
  277. package/dist/node/application/mcp/contractsMcp.js +2 -2
  278. package/dist/node/application/mcp/contractsMcpAdoptionTools.js +1 -0
  279. package/dist/node/application/mcp/contractsMcpResources.js +2 -2
  280. package/dist/node/application/mcp/contractsMcpTools.js +1 -1
  281. package/dist/node/application/mcp/docsMcp.catalog.js +2 -2
  282. package/dist/node/application/mcp/docsMcp.data.js +1 -1
  283. package/dist/node/application/mcp/docsMcp.js +3 -3
  284. package/dist/node/application/mcp/docsMcp.prompts.js +3 -3
  285. package/dist/node/application/mcp/docsMcp.reference.js +2 -2
  286. package/dist/node/application/mcp/docsMcp.resources.js +2 -2
  287. package/dist/node/application/mcp/docsMcp.tools.js +2 -2
  288. package/dist/node/application/mcp/index.js +11 -11
  289. package/dist/node/application/mcp/internalMcp.js +2 -2
  290. package/dist/node/application/mcp/normalizeMcpRequest.js +1 -1
  291. package/dist/node/application/mcp/providerRankingMcp.js +1 -1
  292. package/dist/node/bundles/LibraryBundle.js +1 -1
  293. package/dist/node/bundles/index.js +1 -1
  294. package/dist/node/components/docs/DocsIndexPage.js +2 -2
  295. package/dist/node/components/docs/advanced/AdvancedMCPPage.js +3 -3
  296. package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
  297. package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +2 -2
  298. package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
  299. package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
  300. package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
  301. package/dist/node/components/docs/advanced/index.js +9 -9
  302. package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
  303. package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
  304. package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
  305. package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
  306. package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
  307. package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
  308. package/dist/node/components/docs/architecture/index.js +20 -20
  309. package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
  310. package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
  311. package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
  312. package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +1 -1
  313. package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +1 -1
  314. package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
  315. package/dist/node/components/docs/comparison/index.js +1 -1
  316. package/dist/node/components/docs/docsManifest.js +1 -1
  317. package/dist/node/components/docs/ecosystem/IntegrationsPage.js +2 -2
  318. package/dist/node/components/docs/ecosystem/PluginsPage.js +4 -4
  319. package/dist/node/components/docs/ecosystem/RegistryPage.js +4 -4
  320. package/dist/node/components/docs/ecosystem/TemplatesPage.js +3 -3
  321. package/dist/node/components/docs/ecosystem/index.js +11 -11
  322. package/dist/node/components/docs/examples/DocsExamplesPage.js +1 -17
  323. package/dist/node/components/docs/examples/ExampleShowcasePage.js +2 -17
  324. package/dist/node/components/docs/examples/exampleShowcaseData.js +2 -17
  325. package/dist/node/components/docs/examples/index.js +2 -17
  326. package/dist/node/components/docs/generated/docs-index.generated.js +1 -1
  327. package/dist/node/components/docs/generated/index.js +1 -1
  328. package/dist/node/components/docs/generated/loader.js +1 -1
  329. package/dist/node/components/docs/getting-started/CLIPage.js +6 -5
  330. package/dist/node/components/docs/getting-started/CompatibilityPage.js +1 -1
  331. package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +44 -67
  332. package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +1 -1
  333. package/dist/node/components/docs/getting-started/HelloWorldPage.js +5 -5
  334. package/dist/node/components/docs/getting-started/InstallationPage.js +3 -3
  335. package/dist/node/components/docs/getting-started/StartHerePage.js +4 -2
  336. package/dist/node/components/docs/getting-started/TroubleshootingPage.js +2 -2
  337. package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
  338. package/dist/node/components/docs/getting-started/getting-started.docblocks.js +2 -2
  339. package/dist/node/components/docs/getting-started/index.js +60 -80
  340. package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
  341. package/dist/node/components/docs/guides/GuideConnectInRepoPage.js +30 -5
  342. package/dist/node/components/docs/guides/GuideContractTypesPage.js +6 -6
  343. package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +3 -3
  344. package/dist/node/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
  345. package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
  346. package/dist/node/components/docs/guides/GuideHostBuilderWorkbenchPage.js +21 -6
  347. package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
  348. package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
  349. package/dist/node/components/docs/guides/GuideReleaseCapsulesPage.js +15 -0
  350. package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
  351. package/dist/node/components/docs/guides/GuidesIndexPage.js +2 -2
  352. package/dist/node/components/docs/guides/index.js +93 -39
  353. package/dist/node/components/docs/index.js +690 -419
  354. package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
  355. package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
  356. package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +2 -2
  357. package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +3 -3
  358. package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
  359. package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
  360. package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +2 -2
  361. package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
  362. package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
  363. package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
  364. package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +2 -2
  365. package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
  366. package/dist/node/components/docs/integrations/IntegrationsResendPage.js +3 -3
  367. package/dist/node/components/docs/integrations/IntegrationsS3Page.js +4 -4
  368. package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +2 -2
  369. package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
  370. package/dist/node/components/docs/integrations/IntegrationsStripePage.js +2 -2
  371. package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
  372. package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
  373. package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
  374. package/dist/node/components/docs/integrations/index.js +39 -39
  375. package/dist/node/components/docs/intent/ContractFirstApiPage.js +2 -2
  376. package/dist/node/components/docs/intent/DeterministicCodegenPage.js +2 -2
  377. package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
  378. package/dist/node/components/docs/intent/OpenapiAlternativePage.js +3 -3
  379. package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
  380. package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
  381. package/dist/node/components/docs/intent/index.js +15 -15
  382. package/dist/node/components/docs/intent/intent-pages.docblocks.js +1 -1
  383. package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
  384. package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
  385. package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
  386. package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
  387. package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
  388. package/dist/node/components/docs/knowledge/index.js +5 -5
  389. package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
  390. package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
  391. package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
  392. package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +2 -2
  393. package/dist/node/components/docs/libraries/LibrariesContractsPage.js +43 -18
  394. package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
  395. package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +85 -0
  396. package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.js +85 -0
  397. package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
  398. package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
  399. package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +77 -29
  400. package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
  401. package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
  402. package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +3 -3
  403. package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
  404. package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
  405. package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
  406. package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +1 -1
  407. package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
  408. package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
  409. package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +4 -4
  410. package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +2 -2
  411. package/dist/node/components/docs/libraries/LibrariesSLOPage.js +3 -3
  412. package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +3 -3
  413. package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
  414. package/dist/node/components/docs/libraries/LibrariesTestingPage.js +3 -3
  415. package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +42 -16
  416. package/dist/node/components/docs/libraries/LibrariesUIKitWebPage.js +46 -0
  417. package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
  418. package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
  419. package/dist/node/components/docs/libraries/index.js +338 -110
  420. package/dist/node/components/docs/manifesto/ManifestoPage.js +1 -1
  421. package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
  422. package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +2 -2
  423. package/dist/node/components/docs/ops/index.js +3 -3
  424. package/dist/node/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
  425. package/dist/node/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
  426. package/dist/node/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
  427. package/dist/node/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
  428. package/dist/node/components/docs/ops/ops-top.docs.js +2 -2
  429. package/dist/node/components/docs/ops/ops.docs.js +6 -6
  430. package/dist/node/components/docs/product/product.docblocks.js +2 -2
  431. package/dist/node/components/docs/reference/DocsMarkdownContent.js +2 -2
  432. package/dist/node/components/docs/reference/DocsReferenceContent.js +3 -3
  433. package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +2 -2
  434. package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +2 -2
  435. package/dist/node/components/docs/reference/DocsReferencePage.js +3 -3
  436. package/dist/node/components/docs/reference/docsMarkdownParser.js +2 -2
  437. package/dist/node/components/docs/reference/index.js +4 -4
  438. package/dist/node/components/docs/safety/SafetyAuditingPage.js +2 -2
  439. package/dist/node/components/docs/safety/SafetyMigrationsPage.js +2 -2
  440. package/dist/node/components/docs/safety/SafetyOverviewPage.js +1 -1
  441. package/dist/node/components/docs/safety/SafetyPDPPage.js +2 -2
  442. package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +1 -1
  443. package/dist/node/components/docs/safety/SafetySigningPage.js +3 -3
  444. package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
  445. package/dist/node/components/docs/safety/index.js +7 -7
  446. package/dist/node/components/docs/shared/StudioPrompt.js +1 -1
  447. package/dist/node/components/docs/specs/SpecsBuilderControlPlanePage.js +18 -3
  448. package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
  449. package/dist/node/components/docs/specs/SpecsConnectPage.js +4 -2
  450. package/dist/node/components/docs/specs/SpecsDataViewsPage.js +39 -32
  451. package/dist/node/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
  452. package/dist/node/components/docs/specs/SpecsOverlaysPage.js +2 -2
  453. package/dist/node/components/docs/specs/SpecsOverviewPage.js +1 -1
  454. package/dist/node/components/docs/specs/SpecsPolicyPage.js +3 -3
  455. package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +2 -2
  456. package/dist/node/components/docs/specs/index.js +66 -42
  457. package/dist/node/components/docs/studio/StudioBYOKPage.js +1 -1
  458. package/dist/node/components/docs/studio/StudioDeploymentsPage.js +1 -1
  459. package/dist/node/components/docs/studio/StudioGettingStartedPage.js +1 -1
  460. package/dist/node/components/docs/studio/StudioIntegrationsPage.js +1 -1
  461. package/dist/node/components/docs/studio/StudioOverviewPage.js +1 -1
  462. package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +1 -1
  463. package/dist/node/components/docs/studio/index.js +1 -1
  464. package/dist/node/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
  465. package/dist/node/components/integrations/index.js +2 -2
  466. package/dist/node/components/integrations/molecules/IntegrationCard.js +1 -1
  467. package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +1 -1
  468. package/dist/node/components/integrations/organisms/IntegrationSettings.js +2 -2
  469. package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +1 -1
  470. package/dist/node/components/legal/PrivacyTemplate.js +1 -1
  471. package/dist/node/components/legal/TermsTemplate.js +1 -1
  472. package/dist/node/components/legal/index.js +1 -1
  473. package/dist/node/components/shared/FeatureGateNotice.js +1 -1
  474. package/dist/node/components/shared/index.js +1 -1
  475. package/dist/node/components/shell/WorkspaceHeader.js +1 -1
  476. package/dist/node/components/shell/WorkspaceProjectShellLayout.js +1 -1
  477. package/dist/node/components/shell/WorkspaceShellRenderer.js +1 -1
  478. package/dist/node/components/shell/WorkspaceSidebar.js +1 -1
  479. package/dist/node/components/shell/index.js +1 -1
  480. package/dist/node/components/templates/engine/index.js +1 -1
  481. package/dist/node/components/templates/index.js +11 -11
  482. package/dist/node/components/templates/messaging/ConversationList.js +2 -2
  483. package/dist/node/components/templates/messaging/MessageComposer.js +4 -4
  484. package/dist/node/components/templates/messaging/MessageThread.js +3 -3
  485. package/dist/node/components/templates/messaging/MessagingWorkspace.js +5 -5
  486. package/dist/node/components/templates/messaging/index.js +5 -5
  487. package/dist/node/components/templates/recipes/LanguageSwitcher.js +1 -1
  488. package/dist/node/components/templates/recipes/RecipeCard.js +1 -1
  489. package/dist/node/components/templates/recipes/RecipeDetail.js +1 -1
  490. package/dist/node/components/templates/recipes/RecipeList.js +3 -3
  491. package/dist/node/components/templates/recipes/index.js +3 -3
  492. package/dist/node/components/templates/todos/FilterBar.js +1 -1
  493. package/dist/node/components/templates/todos/TaskForm.js +2 -2
  494. package/dist/node/components/templates/todos/TaskItem.js +1 -1
  495. package/dist/node/components/templates/todos/TaskList.js +5 -5
  496. package/dist/node/components/templates/todos/index.js +5 -5
  497. package/dist/node/config/contractspec-blueprint.js +1 -1
  498. package/dist/node/config/contractspec-branding.js +1 -1
  499. package/dist/node/config/contractspec-routes.js +1 -1
  500. package/dist/node/config/index.js +1 -1
  501. package/dist/node/features/contracts-registry.js +1 -1
  502. package/dist/node/features/docs/docs.contracts.js +1 -1
  503. package/dist/node/features/docs/index.js +1 -1
  504. package/dist/node/features/docs.feature.js +1 -1
  505. package/dist/node/features/index.js +1 -1
  506. package/dist/node/features/mcp.feature.js +1 -1
  507. package/dist/node/features/presentations.feature.js +1 -1
  508. package/dist/node/features/registry.js +1 -1
  509. package/dist/node/index.js +701 -430
  510. package/dist/node/infrastructure/elysia/index.js +1 -1
  511. package/dist/node/infrastructure/elysia/logger.js +1 -1
  512. package/dist/node/infrastructure/index.js +1 -1
  513. package/dist/node/libs/email/client.js +1 -1
  514. package/dist/node/libs/email/contact.js +3 -3
  515. package/dist/node/libs/email/newsletter.js +3 -3
  516. package/dist/node/libs/email/utils.js +2 -2
  517. package/dist/node/libs/email/waitlist-application.js +3 -3
  518. package/dist/node/libs/email/waitlist.js +3 -3
  519. package/dist/node/libs/email.js +6 -6
  520. package/dist/node/libs/posthog/client.js +1 -1
  521. package/dist/node/libs/posthog/native.js +1 -1
  522. package/dist/node/libs/posthog/server.js +1 -1
  523. package/dist/node/libs/pricing-examples.js +1 -1
  524. package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
  525. package/dist/node/presentation/features/atoms/FeatureIcon/index.js +1 -1
  526. package/dist/node/presentation/features/atoms/index.js +1 -1
  527. package/dist/node/presentation/features/hooks/index.js +1 -1
  528. package/dist/node/presentation/features/hooks/useContractsRegistry.js +1 -1
  529. package/dist/node/presentation/features/hooks/useFeatureFilters.js +1 -1
  530. package/dist/node/presentation/features/hooks/useFeatureRegistry.js +1 -1
  531. package/dist/node/presentation/features/hooks/useRelatedDocs.js +1 -1
  532. package/dist/node/presentation/features/index.js +1 -1
  533. package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
  534. package/dist/node/presentation/features/molecules/FeatureCard/index.js +1 -1
  535. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
  536. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
  537. package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
  538. package/dist/node/presentation/features/molecules/FeatureFilters/index.js +1 -1
  539. package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
  540. package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
  541. package/dist/node/presentation/features/molecules/index.js +1 -1
  542. package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +1 -1
  543. package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
  544. package/dist/node/presentation/features/organisms/FeatureDetail/index.js +1 -1
  545. package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
  546. package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
  547. package/dist/node/presentation/features/organisms/FeatureEventsList.js +1 -1
  548. package/dist/node/presentation/features/organisms/FeatureFormsList.js +1 -1
  549. package/dist/node/presentation/features/organisms/FeatureOperationsList.js +1 -1
  550. package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +1 -1
  551. package/dist/node/presentation/features/organisms/index.js +1 -1
  552. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
  553. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
  554. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
  555. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
  556. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
  557. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
  558. package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
  559. package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
  560. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
  561. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
  562. package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
  563. package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
  564. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
  565. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
  566. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
  567. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
  568. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
  569. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
  570. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
  571. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
  572. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
  573. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
  574. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
  575. package/dist/presentation/features/atoms/FeatureIcon/index.js +1 -1
  576. package/dist/presentation/features/atoms/index.js +1 -1
  577. package/dist/presentation/features/hooks/index.js +1 -1
  578. package/dist/presentation/features/hooks/useContractsRegistry.js +1 -1
  579. package/dist/presentation/features/hooks/useFeatureFilters.js +1 -1
  580. package/dist/presentation/features/hooks/useFeatureRegistry.js +1 -1
  581. package/dist/presentation/features/hooks/useRelatedDocs.js +1 -1
  582. package/dist/presentation/features/index.js +1 -1
  583. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
  584. package/dist/presentation/features/molecules/FeatureCard/index.js +1 -1
  585. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
  586. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
  587. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
  588. package/dist/presentation/features/molecules/FeatureFilters/index.js +1 -1
  589. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
  590. package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
  591. package/dist/presentation/features/molecules/index.js +1 -1
  592. package/dist/presentation/features/organisms/FeatureDataViewsList.js +1 -1
  593. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
  594. package/dist/presentation/features/organisms/FeatureDetail/index.js +1 -1
  595. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
  596. package/dist/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
  597. package/dist/presentation/features/organisms/FeatureEventsList.js +1 -1
  598. package/dist/presentation/features/organisms/FeatureFormsList.js +1 -1
  599. package/dist/presentation/features/organisms/FeatureOperationsList.js +1 -1
  600. package/dist/presentation/features/organisms/FeaturePresentationsList.js +1 -1
  601. package/dist/presentation/features/organisms/index.js +1 -1
  602. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
  603. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
  604. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
  605. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
  606. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
  607. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
  608. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
  609. package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
  610. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
  611. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
  612. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
  613. package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
  614. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
  615. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
  616. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
  617. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
  618. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
  619. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
  620. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
  621. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
  622. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
  623. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
  624. package/package.json +96 -23
  625. package/src/application/mcp/cliMcp.onboarding.ts +297 -0
  626. package/src/application/mcp/cliMcp.test.ts +99 -0
  627. package/src/application/mcp/cliMcp.ts +30 -3
  628. package/src/application/mcp/contractsMcp.test.ts +65 -0
  629. package/src/application/mcp/contractsMcpAdoptionTools.ts +131 -0
  630. package/src/application/mcp/contractsMcpResources.ts +49 -0
  631. package/src/application/mcp/contractsMcpTools.ts +2 -0
  632. package/src/application/mcp/contractsMcpTypes.ts +16 -0
  633. package/src/bundles/LibraryBundle.ts +19 -130
  634. package/src/components/docs/docsManifest.test.ts +14 -0
  635. package/src/components/docs/docsManifest.ts +22 -0
  636. package/src/components/docs/examples/DocsExamplesPage.tsx +6 -14
  637. package/src/components/docs/examples/ExampleShowcasePage.tsx +22 -18
  638. package/src/components/docs/examples/exampleShowcaseData.test.ts +22 -0
  639. package/src/components/docs/examples/exampleShowcaseData.ts +75 -50
  640. package/src/components/docs/generated/docs-index._common.json +9 -1
  641. package/src/components/docs/generated/docs-index.ai-chat.json +1 -1
  642. package/src/components/docs/generated/docs-index.app-config.json +4 -4
  643. package/src/components/docs/generated/docs-index.data-grid-showcase.json +9 -1
  644. package/src/components/docs/generated/docs-index.jobs.json +1 -1
  645. package/src/components/docs/generated/docs-index.kb-update-pipeline.json +5 -5
  646. package/src/components/docs/generated/docs-index.learning-journey-crm-onboarding.json +1 -1
  647. package/src/components/docs/generated/docs-index.learning-journey-platform-tour.json +1 -1
  648. package/src/components/docs/generated/docs-index.learning-journey-registry.json +1 -1
  649. package/src/components/docs/generated/docs-index.learning-journey.json +27 -3
  650. package/src/components/docs/generated/docs-index.locale-jurisdiction-gate.json +8 -0
  651. package/src/components/docs/generated/docs-index.manifest.json +13 -13
  652. package/src/components/docs/generated/docs-index.mobile-demo-landing.json +42 -0
  653. package/src/components/docs/generated/docs-index.platform-agent.json +18 -2
  654. package/src/components/docs/generated/docs-index.platform-context.json +16 -0
  655. package/src/components/docs/generated/docs-index.platform-docs.json +9 -1
  656. package/src/components/docs/generated/docs-index.platform-provider-ranking.json +32 -0
  657. package/src/components/docs/generated/docs-index.wealth-snapshot.json +4 -4
  658. package/src/components/docs/generated/index.ts +20 -5
  659. package/src/components/docs/generated/loader.ts +15 -8
  660. package/src/components/docs/getting-started/CLIPage.tsx +10 -2
  661. package/src/components/docs/getting-started/CompatibilityPage.tsx +14 -0
  662. package/src/components/docs/getting-started/DataViewTutorialPage.tsx +63 -70
  663. package/src/components/docs/getting-started/StartHerePage.tsx +10 -9
  664. package/src/components/docs/guides/GuideConnectInRepoPage.tsx +52 -3
  665. package/src/components/docs/guides/GuideHostBuilderWorkbenchPage.tsx +55 -6
  666. package/src/components/docs/guides/GuideReleaseCapsulesPage.tsx +147 -0
  667. package/src/components/docs/guides/GuidesIndexPage.tsx +7 -0
  668. package/src/components/docs/guides/index.ts +1 -0
  669. package/src/components/docs/libraries/LibrariesContractsPage.tsx +72 -27
  670. package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.content.ts +252 -0
  671. package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.tsx +232 -0
  672. package/src/components/docs/libraries/LibrariesDesignSystemPage.tsx +140 -55
  673. package/src/components/docs/libraries/LibrariesOverviewPage.tsx +13 -1
  674. package/src/components/docs/libraries/LibrariesRuntimePage.tsx +15 -0
  675. package/src/components/docs/libraries/LibrariesUIKitPage.tsx +78 -25
  676. package/src/components/docs/libraries/LibrariesUIKitWebPage.tsx +129 -0
  677. package/src/components/docs/libraries/index.ts +2 -0
  678. package/src/components/docs/reference/DocsReferenceIndexPage.tsx +1 -1
  679. package/src/components/docs/specs/SpecsBuilderControlPlanePage.tsx +58 -3
  680. package/src/components/docs/specs/SpecsConnectPage.tsx +30 -0
  681. package/src/components/docs/specs/SpecsDataViewsPage.tsx +63 -42
  682. package/src/index.ts +1 -1
  683. package/src/components/docs/generated/docs-index.mobile-demo-tasks.json +0 -34
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{jsx as e,jsxs as t}from"react/jsx-runtime";function a(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("p",{className:"editorial-kicker",children:"Why ContractSpec"}),e("h1",{className:"font-serif text-4xl tracking-[-0.04em] md:text-5xl",children:"Open system, explicit contracts, incremental adoption."}),e("p",{className:"max-w-3xl text-lg text-muted-foreground leading-8",children:"ContractSpec exists to make AI-native software more legible and more governable. The system should help teams express durable boundaries, keep generated surfaces aligned, and still own the code and contracts they ship."})]}),t("div",{className:"space-y-6",children:[t("section",{className:"editorial-panel space-y-3",children:[e("h2",{className:"font-serif text-3xl tracking-[-0.03em]",children:"Open system, not closed platform"}),e("p",{className:"text-muted-foreground text-sm leading-7",children:"The OSS layer should remain useful on its own. Teams need explicit contracts, readable code, and outputs they can keep. Studio can sit on top of that system, but it should never be the only way to own or understand the behavior."})]}),t("section",{className:"editorial-panel space-y-3",children:[e("h2",{className:"font-serif text-3xl tracking-[-0.03em]",children:"Contracts before surface sprawl"}),e("p",{className:"text-muted-foreground text-sm leading-7",children:"AI tooling accelerates surface creation faster than most teams can govern it. The answer is not more hidden glue. The answer is a durable contract layer that keeps API, UI, data, workflows, and operator behavior aligned."})]}),t("section",{className:"editorial-panel space-y-3",children:[e("h2",{className:"font-serif text-3xl tracking-[-0.03em]",children:"Incremental adoption wins"}),e("p",{className:"text-muted-foreground text-sm leading-7",children:"Most teams already have a codebase. The practical path is to stabilize one boundary at a time, prove the loop, and grow from there. That is why the docs and product should lead with one module, one endpoint, one workflow, one unsafe surface at a time."})]}),t("section",{className:"editorial-panel space-y-3",children:[e("h2",{className:"font-serif text-3xl tracking-[-0.03em]",children:"Studio should stay additive"}),e("p",{className:"text-muted-foreground text-sm leading-7",children:"The best operating product can and should exist on top of the open system. But the OSS foundation must remain strong enough that technical adopters trust it before they ever adopt Studio."})]})]})]})}export{a as ManifestoPage};
2
+ var s=Object.defineProperty;var i=(t)=>t;function r(t,a){this[t]=i.bind(null,a)}var l=(t,a)=>{for(var n in a)s(t,n,{get:a[n],enumerable:!0,configurable:!0,set:r.bind(a,n)})};var c=(t,a)=>()=>(t&&(a=t(t=0)),a);import{jsx as e,jsxs as o}from"react/jsx-runtime";function m(){return o("div",{className:"space-y-8",children:[o("div",{className:"space-y-3",children:[e("p",{className:"editorial-kicker",children:"Why ContractSpec"}),e("h1",{className:"font-serif text-4xl tracking-[-0.04em] md:text-5xl",children:"Open system, explicit contracts, incremental adoption."}),e("p",{className:"max-w-3xl text-lg text-muted-foreground leading-8",children:"ContractSpec exists to make AI-native software more legible and more governable. The system should help teams express durable boundaries, keep generated surfaces aligned, and still own the code and contracts they ship."})]}),o("div",{className:"space-y-6",children:[o("section",{className:"editorial-panel space-y-3",children:[e("h2",{className:"font-serif text-3xl tracking-[-0.03em]",children:"Open system, not closed platform"}),e("p",{className:"text-muted-foreground text-sm leading-7",children:"The OSS layer should remain useful on its own. Teams need explicit contracts, readable code, and outputs they can keep. Studio can sit on top of that system, but it should never be the only way to own or understand the behavior."})]}),o("section",{className:"editorial-panel space-y-3",children:[e("h2",{className:"font-serif text-3xl tracking-[-0.03em]",children:"Contracts before surface sprawl"}),e("p",{className:"text-muted-foreground text-sm leading-7",children:"AI tooling accelerates surface creation faster than most teams can govern it. The answer is not more hidden glue. The answer is a durable contract layer that keeps API, UI, data, workflows, and operator behavior aligned."})]}),o("section",{className:"editorial-panel space-y-3",children:[e("h2",{className:"font-serif text-3xl tracking-[-0.03em]",children:"Incremental adoption wins"}),e("p",{className:"text-muted-foreground text-sm leading-7",children:"Most teams already have a codebase. The practical path is to stabilize one boundary at a time, prove the loop, and grow from there. That is why the docs and product should lead with one module, one endpoint, one workflow, one unsafe surface at a time."})]}),o("section",{className:"editorial-panel space-y-3",children:[e("h2",{className:"font-serif text-3xl tracking-[-0.03em]",children:"Studio should stay additive"}),e("p",{className:"text-muted-foreground text-sm leading-7",children:"The best operating product can and should exist on top of the open system. But the OSS foundation must remain strong enough that technical adopters trust it before they ever adopt Studio."})]})]})]})}export{m as ManifestoPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{jsx as e,jsxs as t}from"react/jsx-runtime";function a(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Auto-Evolution Runbook"}),e("p",{className:"text-lg text-muted-foreground",children:"Configure sampling, approvals, experiments, and golden tests so your app keeps improving without regressions."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Pipeline overview"}),t("ol",{className:"list-decimal space-y-2 pl-6 text-muted-foreground text-sm",children:[e("li",{children:"Tracing middleware emits telemetry samples with tenant/user context."}),e("li",{children:"IntentAggregator batches samples (15m window, configurable)."}),e("li",{children:"IntentDetector raises error/latency/throughput signals."}),e("li",{children:"SpecGenerator produces proposals with confidence scores."}),e("li",{children:"ApprovalWorkflow routes low-confidence suggestions to humans."}),e("li",{children:"SpecExperimentRegistry rolls out approved variants using guardrails."}),e("li",{children:"TrafficRecorder captures new traffic and GoldenTestGenerator outputs suites."})]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Key environment variables"}),e("pre",{className:"rounded-lg border bg-muted p-4 text-sm",children:`# Telemetry sampling
2
+ var l=Object.defineProperty;var r=(t)=>t;function s(t,i){this[t]=r.bind(null,i)}var n=(t,i)=>{for(var o in i)l(t,o,{get:i[o],enumerable:!0,configurable:!0,set:s.bind(i,o)})};var p=(t,i)=>()=>(t&&(i=t(t=0)),i);import{jsx as e,jsxs as a}from"react/jsx-runtime";function d(){return a("div",{className:"space-y-8",children:[a("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Auto-Evolution Runbook"}),e("p",{className:"text-lg text-muted-foreground",children:"Configure sampling, approvals, experiments, and golden tests so your app keeps improving without regressions."})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Pipeline overview"}),a("ol",{className:"list-decimal space-y-2 pl-6 text-muted-foreground text-sm",children:[e("li",{children:"Tracing middleware emits telemetry samples with tenant/user context."}),e("li",{children:"IntentAggregator batches samples (15m window, configurable)."}),e("li",{children:"IntentDetector raises error/latency/throughput signals."}),e("li",{children:"SpecGenerator produces proposals with confidence scores."}),e("li",{children:"ApprovalWorkflow routes low-confidence suggestions to humans."}),e("li",{children:"SpecExperimentRegistry rolls out approved variants using guardrails."}),e("li",{children:"TrafficRecorder captures new traffic and GoldenTestGenerator outputs suites."})]})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Key environment variables"}),e("pre",{className:"rounded-lg border bg-muted p-4 text-sm",children:`# Telemetry sampling
3
3
  AUTO_EVOLUTION_SAMPLE_RATE=0.02
4
4
  AUTO_EVOLUTION_WINDOW_MS=900000
5
5
 
@@ -9,4 +9,4 @@ AUTO_EVOLUTION_AUTO_APPROVE=0.2
9
9
 
10
10
  # Guardrails (fallback defaults)
11
11
  AUTO_EVOLUTION_MAX_ERROR_RATE=0.02
12
- AUTO_EVOLUTION_MAX_P99_MS=500`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Operations checklist"}),t("ul",{className:"list-disc space-y-2 pl-6 text-muted-foreground text-sm",children:[e("li",{children:"Review new `SpecSuggestion` records every morning (UI coming soon; Prisma view today)."}),e("li",{children:"Keep at least one reviewer per domain on-call for approvals."}),e("li",{children:"Attach `SpecExperimentAdapter.trackOutcome` to every runtime adapter."}),e("li",{children:"Schedule `contractspec test generate` nightly (or on deploy) to refresh golden suites."}),e("li",{children:"Feed `runGoldenTests` into CI to gate merges touching evolved specs."})]})]}),e("div",{className:"grid gap-4 md:grid-cols-3",children:[{title:"Sampling",description:"Start at 1\u20132% of traffic. Increase only after sanitization is verified."},{title:"Approvals",description:"High-risk ops (money, compliance) should never auto-approve. Use ApprovalWorkflow notes for audit."},{title:"On-call alerts",description:"Tie SpecExperimentController rollbacks into PagerDuty/Slack so engineers see guardrail trips immediately."}].map((i)=>t("div",{className:"card-subtle space-y-2 p-4",children:[e("h3",{className:"font-semibold text-lg",children:i.title}),e("p",{className:"text-muted-foreground text-sm",children:i.description})]},i.title))})]})}export{a as OpsAutoEvolutionPage};
12
+ AUTO_EVOLUTION_MAX_P99_MS=500`})]}),a("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Operations checklist"}),a("ul",{className:"list-disc space-y-2 pl-6 text-muted-foreground text-sm",children:[e("li",{children:"Review new `SpecSuggestion` records every morning (UI coming soon; Prisma view today)."}),e("li",{children:"Keep at least one reviewer per domain on-call for approvals."}),e("li",{children:"Attach `SpecExperimentAdapter.trackOutcome` to every runtime adapter."}),e("li",{children:"Schedule `contractspec test generate` nightly (or on deploy) to refresh golden suites."}),e("li",{children:"Feed `runGoldenTests` into CI to gate merges touching evolved specs."})]})]}),e("div",{className:"grid gap-4 md:grid-cols-3",children:[{title:"Sampling",description:"Start at 1\u20132% of traffic. Increase only after sanitization is verified."},{title:"Approvals",description:"High-risk ops (money, compliance) should never auto-approve. Use ApprovalWorkflow notes for audit."},{title:"On-call alerts",description:"Tie SpecExperimentController rollbacks into PagerDuty/Slack so engineers see guardrail trips immediately."}].map((t)=>a("div",{className:"card-subtle space-y-2 p-4",children:[e("h3",{className:"font-semibold text-lg",children:t.title}),e("p",{className:"text-muted-foreground text-sm",children:t.description})]},t.title))})]})}export{d as OpsAutoEvolutionPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{jsx as e,jsxs as t}from"react/jsx-runtime";function a(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Distributed Tracing"}),e("p",{className:"text-lg text-muted-foreground",children:"ContractSpec uses OpenTelemetry (OTel) for distributed tracing. This guide explains how to configure exporters and collectors."})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Configuration"}),e("p",{children:"Configure the OTel SDK via environment variables:"}),e("pre",{className:"rounded-lg border bg-muted p-4 text-sm",children:`OTEL_SERVICE_NAME=my-service
2
+ var r=Object.defineProperty;var l=(t)=>t;function n(t,a){this[t]=l.bind(null,a)}var c=(t,a)=>{for(var o in a)r(t,o,{get:a[o],enumerable:!0,configurable:!0,set:n.bind(a,o)})};var d=(t,a)=>()=>(t&&(a=t(t=0)),a);import{jsx as e,jsxs as i}from"react/jsx-runtime";function s(){return i("div",{className:"space-y-8",children:[i("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Distributed Tracing"}),e("p",{className:"text-lg text-muted-foreground",children:"ContractSpec uses OpenTelemetry (OTel) for distributed tracing. This guide explains how to configure exporters and collectors."})]}),i("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Configuration"}),e("p",{children:"Configure the OTel SDK via environment variables:"}),e("pre",{className:"rounded-lg border bg-muted p-4 text-sm",children:`OTEL_SERVICE_NAME=my-service
3
3
  OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
4
4
  OTEL_TRACES_SAMPLER=parentbased_traceidratio
5
- OTEL_TRACES_SAMPLER_ARG=0.1`})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Exporters"}),e("p",{children:"By default, the OTLP exporter is used. You can point it to:"}),t("ul",{className:"list-disc space-y-2 pl-6",children:[e("li",{children:"Jaeger"}),e("li",{children:"Tempo (Grafana)"}),e("li",{children:"Honeycomb"}),e("li",{children:"Datadog (via OTel Collector)"})]})]})]})}export{a as OpsDistributedTracingPage};
5
+ OTEL_TRACES_SAMPLER_ARG=0.1`})]}),i("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Exporters"}),e("p",{children:"By default, the OTLP exporter is used. You can point it to:"}),i("ul",{className:"list-disc space-y-2 pl-6",children:[e("li",{children:"Jaeger"}),e("li",{children:"Tempo (Grafana)"}),e("li",{children:"Honeycomb"}),e("li",{children:"Datadog (via OTel Collector)"})]})]})]})}export{s as OpsDistributedTracingPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{jsx as e,jsxs as i}from"react/jsx-runtime";function l(){return i("div",{className:"space-y-8",children:[i("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Auto-Evolution Runbook"}),e("p",{className:"text-lg text-muted-foreground",children:"Configure sampling, approvals, experiments, and golden tests so your app keeps improving without regressions."})]}),i("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Pipeline overview"}),i("ol",{className:"list-decimal space-y-2 pl-6 text-muted-foreground text-sm",children:[e("li",{children:"Tracing middleware emits telemetry samples with tenant/user context."}),e("li",{children:"IntentAggregator batches samples (15m window, configurable)."}),e("li",{children:"IntentDetector raises error/latency/throughput signals."}),e("li",{children:"SpecGenerator produces proposals with confidence scores."}),e("li",{children:"ApprovalWorkflow routes low-confidence suggestions to humans."}),e("li",{children:"SpecExperimentRegistry rolls out approved variants using guardrails."}),e("li",{children:"TrafficRecorder captures new traffic and GoldenTestGenerator outputs suites."})]})]}),i("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Key environment variables"}),e("pre",{className:"rounded-lg border bg-muted p-4 text-sm",children:`# Telemetry sampling
2
+ var n=Object.defineProperty;var s=(t)=>t;function p(t,a){this[t]=s.bind(null,a)}var u=(t,a)=>{for(var r in a)n(t,r,{get:a[r],enumerable:!0,configurable:!0,set:p.bind(a,r)})};var m=(t,a)=>()=>(t&&(a=t(t=0)),a);import{jsx as e,jsxs as o}from"react/jsx-runtime";function c(){return o("div",{className:"space-y-8",children:[o("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Auto-Evolution Runbook"}),e("p",{className:"text-lg text-muted-foreground",children:"Configure sampling, approvals, experiments, and golden tests so your app keeps improving without regressions."})]}),o("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Pipeline overview"}),o("ol",{className:"list-decimal space-y-2 pl-6 text-muted-foreground text-sm",children:[e("li",{children:"Tracing middleware emits telemetry samples with tenant/user context."}),e("li",{children:"IntentAggregator batches samples (15m window, configurable)."}),e("li",{children:"IntentDetector raises error/latency/throughput signals."}),e("li",{children:"SpecGenerator produces proposals with confidence scores."}),e("li",{children:"ApprovalWorkflow routes low-confidence suggestions to humans."}),e("li",{children:"SpecExperimentRegistry rolls out approved variants using guardrails."}),e("li",{children:"TrafficRecorder captures new traffic and GoldenTestGenerator outputs suites."})]})]}),o("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Key environment variables"}),e("pre",{className:"rounded-lg border bg-muted p-4 text-sm",children:`# Telemetry sampling
3
3
  AUTO_EVOLUTION_SAMPLE_RATE=0.02
4
4
  AUTO_EVOLUTION_WINDOW_MS=900000
5
5
 
@@ -9,7 +9,7 @@ AUTO_EVOLUTION_AUTO_APPROVE=0.2
9
9
 
10
10
  # Guardrails (fallback defaults)
11
11
  AUTO_EVOLUTION_MAX_ERROR_RATE=0.02
12
- AUTO_EVOLUTION_MAX_P99_MS=500`})]}),i("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Operations checklist"}),i("ul",{className:"list-disc space-y-2 pl-6 text-muted-foreground text-sm",children:[e("li",{children:"Review new `SpecSuggestion` records every morning (UI coming soon; Prisma view today)."}),e("li",{children:"Keep at least one reviewer per domain on-call for approvals."}),e("li",{children:"Attach `SpecExperimentAdapter.trackOutcome` to every runtime adapter."}),e("li",{children:"Schedule `contractspec test generate` nightly (or on deploy) to refresh golden suites."}),e("li",{children:"Feed `runGoldenTests` into CI to gate merges touching evolved specs."})]})]}),e("div",{className:"grid gap-4 md:grid-cols-3",children:[{title:"Sampling",description:"Start at 1\u20132% of traffic. Increase only after sanitization is verified."},{title:"Approvals",description:"High-risk ops (money, compliance) should never auto-approve. Use ApprovalWorkflow notes for audit."},{title:"On-call alerts",description:"Tie SpecExperimentController rollbacks into PagerDuty/Slack so engineers see guardrail trips immediately."}].map((o)=>i("div",{className:"card-subtle space-y-2 p-4",children:[e("h3",{className:"font-semibold text-lg",children:o.title}),e("p",{className:"text-muted-foreground text-sm",children:o.description})]},o.title))})]})}import{jsx as t,jsxs as a}from"react/jsx-runtime";function r(){return a("div",{className:"space-y-8",children:[a("div",{className:"space-y-4",children:[t("h1",{className:"font-bold text-4xl",children:"Distributed Tracing"}),t("p",{className:"text-lg text-muted-foreground",children:"ContractSpec uses OpenTelemetry (OTel) for distributed tracing. This guide explains how to configure exporters and collectors."})]}),a("div",{className:"space-y-4",children:[t("h2",{className:"font-bold text-2xl",children:"Configuration"}),t("p",{children:"Configure the OTel SDK via environment variables:"}),t("pre",{className:"rounded-lg border bg-muted p-4 text-sm",children:`OTEL_SERVICE_NAME=my-service
12
+ AUTO_EVOLUTION_MAX_P99_MS=500`})]}),o("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Operations checklist"}),o("ul",{className:"list-disc space-y-2 pl-6 text-muted-foreground text-sm",children:[e("li",{children:"Review new `SpecSuggestion` records every morning (UI coming soon; Prisma view today)."}),e("li",{children:"Keep at least one reviewer per domain on-call for approvals."}),e("li",{children:"Attach `SpecExperimentAdapter.trackOutcome` to every runtime adapter."}),e("li",{children:"Schedule `contractspec test generate` nightly (or on deploy) to refresh golden suites."}),e("li",{children:"Feed `runGoldenTests` into CI to gate merges touching evolved specs."})]})]}),e("div",{className:"grid gap-4 md:grid-cols-3",children:[{title:"Sampling",description:"Start at 1\u20132% of traffic. Increase only after sanitization is verified."},{title:"Approvals",description:"High-risk ops (money, compliance) should never auto-approve. Use ApprovalWorkflow notes for audit."},{title:"On-call alerts",description:"Tie SpecExperimentController rollbacks into PagerDuty/Slack so engineers see guardrail trips immediately."}].map((t)=>o("div",{className:"card-subtle space-y-2 p-4",children:[e("h3",{className:"font-semibold text-lg",children:t.title}),e("p",{className:"text-muted-foreground text-sm",children:t.description})]},t.title))})]})}import{jsx as i,jsxs as l}from"react/jsx-runtime";function d(){return l("div",{className:"space-y-8",children:[l("div",{className:"space-y-4",children:[i("h1",{className:"font-bold text-4xl",children:"Distributed Tracing"}),i("p",{className:"text-lg text-muted-foreground",children:"ContractSpec uses OpenTelemetry (OTel) for distributed tracing. This guide explains how to configure exporters and collectors."})]}),l("div",{className:"space-y-4",children:[i("h2",{className:"font-bold text-2xl",children:"Configuration"}),i("p",{children:"Configure the OTel SDK via environment variables:"}),i("pre",{className:"rounded-lg border bg-muted p-4 text-sm",children:`OTEL_SERVICE_NAME=my-service
13
13
  OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
14
14
  OTEL_TRACES_SAMPLER=parentbased_traceidratio
15
- OTEL_TRACES_SAMPLER_ARG=0.1`})]}),a("div",{className:"space-y-4",children:[t("h2",{className:"font-bold text-2xl",children:"Exporters"}),t("p",{children:"By default, the OTLP exporter is used. You can point it to:"}),a("ul",{className:"list-disc space-y-2 pl-6",children:[t("li",{children:"Jaeger"}),t("li",{children:"Tempo (Grafana)"}),t("li",{children:"Honeycomb"}),t("li",{children:"Datadog (via OTel Collector)"})]})]})]})}export{r as OpsDistributedTracingPage,l as OpsAutoEvolutionPage};
15
+ OTEL_TRACES_SAMPLER_ARG=0.1`})]}),l("div",{className:"space-y-4",children:[i("h2",{className:"font-bold text-2xl",children:"Exporters"}),i("p",{children:"By default, the OTLP exporter is used. You can point it to:"}),l("ul",{className:"list-disc space-y-2 pl-6",children:[i("li",{children:"Jaeger"}),i("li",{children:"Tempo (Grafana)"}),i("li",{children:"Honeycomb"}),i("li",{children:"Datadog (via OTel Collector)"})]})]})]})}export{d as OpsDistributedTracingPage,c as OpsAutoEvolutionPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var e=[{id:"docs.ops.lifecycle-operations.goal",title:"Lifecycle operations goal",summary:"Keep managed lifecycle assessments timely, auditable, and low-risk per tenant.",kind:"goal",visibility:"public",route:"/docs/ops/lifecycle-operations/goal",tags:["ops","lifecycle"],body:"Operate lifecycle assessments with predictable cadence, clear observability, and reversible customizations so tenants stay aligned to milestones without risking data access."},{id:"docs.ops.lifecycle-operations.usage",title:"Lifecycle operations usage guide",summary:"Quick checklist for running lifecycle managed ops.",kind:"usage",visibility:"public",route:"/docs/ops/lifecycle-operations/usage",tags:["ops","lifecycle"],body:`- Run weekly auto-refresh per tenant; allow manual reruns behind \`LIFECYCLE_DETECTION_ALPHA\`.
2
+ var a=Object.defineProperty;var i=(e)=>e;function o(e,s){this[e]=i.bind(null,s)}var n=(e,s)=>{for(var t in s)a(e,t,{get:s[t],enumerable:!0,configurable:!0,set:o.bind(s,t)})};var c=(e,s)=>()=>(e&&(s=e(e=0)),s);var r=[{id:"docs.ops.lifecycle-operations.goal",title:"Lifecycle operations goal",summary:"Keep managed lifecycle assessments timely, auditable, and low-risk per tenant.",kind:"goal",visibility:"public",route:"/docs/ops/lifecycle-operations/goal",tags:["ops","lifecycle"],body:"Operate lifecycle assessments with predictable cadence, clear observability, and reversible customizations so tenants stay aligned to milestones without risking data access."},{id:"docs.ops.lifecycle-operations.usage",title:"Lifecycle operations usage guide",summary:"Quick checklist for running lifecycle managed ops.",kind:"usage",visibility:"public",route:"/docs/ops/lifecycle-operations/usage",tags:["ops","lifecycle"],body:`- Run weekly auto-refresh per tenant; allow manual reruns behind \`LIFECYCLE_DETECTION_ALPHA\`.
3
3
  - Publish top 3 actions + milestone checklist to Studio UI; emit lifecycle events.
4
4
  - Monitor P95 < 500ms; alert on confidence < 0.5 or stage churn.
5
5
  - Version overrides (weights, milestones, playbooks); never edit compiled JS.
@@ -114,4 +114,4 @@ Alert recipients: lifecycle ops squad + product owner.
114
114
  - \`packages/modules/lifecycle-advisor/\` for playbooks and ceremonies.
115
115
  - Progressive delivery config for lifecycle feature flags.
116
116
 
117
- Maintain this runbook alongside code changes; every bundle release must document operational impact and flag defaults.`}];export{e as opsLifecycleDocs};
117
+ Maintain this runbook alongside code changes; every bundle release must document operational impact and flag defaults.`}];export{r as opsLifecycleDocs};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var e=[{id:"docs.ops.anomaly-detection.goal",title:"Anomaly detection goal",summary:"Why anomaly detection matters for ops stability.",kind:"goal",visibility:"public",route:"/docs/ops/anomaly-detection/goal",tags:["ops","observability"],body:"Ensure anomalies are detected early to protect latency, error rate, and throughput SLAs; keep rollback hooks ready and audits reproducible."},{id:"docs.ops.anomaly-detection.usage",title:"Anomaly detection usage guide",summary:"How to run and consume anomaly detection in operations.",kind:"usage",visibility:"public",route:"/docs/ops/anomaly-detection/usage",tags:["ops","observability"],body:`- Enable tracing middleware; emit latency/error/throughput samples.
2
+ var i=Object.defineProperty;var a=(e)=>e;function s(e,t){this[e]=a.bind(null,t)}var n=(e,t)=>{for(var o in t)i(e,o,{get:t[o],enumerable:!0,configurable:!0,set:s.bind(t,o)})};var r=(e,t)=>()=>(e&&(t=e(e=0)),t);var c=[{id:"docs.ops.anomaly-detection.goal",title:"Anomaly detection goal",summary:"Why anomaly detection matters for ops stability.",kind:"goal",visibility:"public",route:"/docs/ops/anomaly-detection/goal",tags:["ops","observability"],body:"Ensure anomalies are detected early to protect latency, error rate, and throughput SLAs; keep rollback hooks ready and audits reproducible."},{id:"docs.ops.anomaly-detection.usage",title:"Anomaly detection usage guide",summary:"How to run and consume anomaly detection in operations.",kind:"usage",visibility:"public",route:"/docs/ops/anomaly-detection/usage",tags:["ops","observability"],body:`- Enable tracing middleware; emit latency/error/throughput samples.
3
3
  - Configure thresholds per capability when bursty traffic exists.
4
4
  - Wire rollback hook in DeploymentCoordinator for error spikes.
5
5
  - Export anomaly JSON into incidents; update MetricBaseline post-fix.
@@ -30,4 +30,4 @@ var e=[{id:"docs.ops.anomaly-detection.goal",title:"Anomaly detection goal",summ
30
30
 
31
31
  ## 5. Testing
32
32
  - Use load test harness to inject latency and verify detector emits signals within 30 seconds.
33
- - Chaos suite should simulate upstream outages to ensure throughput-drop detection fires.`},{id:"docs.ops.cost-optimization.goal",title:"Cost optimization goal",summary:"Keep spend predictable and actionable for ops and finance.",kind:"goal",visibility:"public",route:"/docs/ops/cost-optimization/goal",tags:["ops","cost"],body:"Align telemetry, budgets, and rollback levers so cost spikes are detected early, communicated clearly, and mitigated without breaking SLAs."},{id:"docs.ops.cost-optimization.usage",title:"Cost optimization usage guide",summary:"Quick checklist to run cost tracking and optimization.",kind:"usage",visibility:"public",route:"/docs/ops/cost-optimization/usage",tags:["ops","cost"],body:"- Emit `CostSample` via wrapped DB/HTTP clients; include provider/invoice cost.\n- Batch into `OperationCost` every 5m; alert at 80% of monthlyLimit.\n- Nightly run `OptimizationRecommender.generate`; push tickets with evidence.\n- Use regional overrides for `defaultCostModel` when infra prices differ.\n- Send proactive alerts for \xB120% deviations to enterprise tenants."},{id:"docs.ops.cost-optimization.how",title:"Cost optimization runbook",summary:"Step-by-step cost tracking, alerting, and communication.",kind:"how",visibility:"public",route:"/docs/ops/cost-optimization/how",tags:["ops","cost"],body:"# Cost Tracking & Optimization Runbook\n\n## 1. Instrumentation\n- Wrap DB client and HTTP adapters to emit `CostSample`s to `CostTracker.recordSample`.\n- For external APIs, attach provider name + actual invoice cost when available.\n- Persist aggregate rows into `OperationCost` (batch job every 5 minutes).\n\n## 2. Budgets\n- Insert/update `TenantBudget` per workspace.\n- Default alert threshold: 80% of `monthlyLimit`.\n- `BudgetAlertManager.track(summary)` emits Slack + email payloads including breakdown JSON.\n\n## 3. Optimization Suggestions\n- Nightly job reads `OperationCost` and creates `OptimizationSuggestion` records via `OptimizationRecommender.generate`.\n- Auto-file tickets or push to Growth Agent backlog with the evidence (avg reads, compute share, external spend).\n\n## 4. Forecasting\n- Cost model inputs live in `@contractspec/lib.cost-tracking` (`defaultCostModel`). Override per region if infra prices differ.\n- Keep a history of `OperationCost` to render spark lines in Ops Console; highlight slopes > 15% week-over-week.\n\n## 5. Customer Communication\n- For enterprise tenants offer proactive alerts when spend deviates \xB120% from plan.\n- Connect `TenantBudget` alerts to CRM notes so Success teams see when automation saved costs."}];export{e as opsRunbookDocsA};
33
+ - Chaos suite should simulate upstream outages to ensure throughput-drop detection fires.`},{id:"docs.ops.cost-optimization.goal",title:"Cost optimization goal",summary:"Keep spend predictable and actionable for ops and finance.",kind:"goal",visibility:"public",route:"/docs/ops/cost-optimization/goal",tags:["ops","cost"],body:"Align telemetry, budgets, and rollback levers so cost spikes are detected early, communicated clearly, and mitigated without breaking SLAs."},{id:"docs.ops.cost-optimization.usage",title:"Cost optimization usage guide",summary:"Quick checklist to run cost tracking and optimization.",kind:"usage",visibility:"public",route:"/docs/ops/cost-optimization/usage",tags:["ops","cost"],body:"- Emit `CostSample` via wrapped DB/HTTP clients; include provider/invoice cost.\n- Batch into `OperationCost` every 5m; alert at 80% of monthlyLimit.\n- Nightly run `OptimizationRecommender.generate`; push tickets with evidence.\n- Use regional overrides for `defaultCostModel` when infra prices differ.\n- Send proactive alerts for \xB120% deviations to enterprise tenants."},{id:"docs.ops.cost-optimization.how",title:"Cost optimization runbook",summary:"Step-by-step cost tracking, alerting, and communication.",kind:"how",visibility:"public",route:"/docs/ops/cost-optimization/how",tags:["ops","cost"],body:"# Cost Tracking & Optimization Runbook\n\n## 1. Instrumentation\n- Wrap DB client and HTTP adapters to emit `CostSample`s to `CostTracker.recordSample`.\n- For external APIs, attach provider name + actual invoice cost when available.\n- Persist aggregate rows into `OperationCost` (batch job every 5 minutes).\n\n## 2. Budgets\n- Insert/update `TenantBudget` per workspace.\n- Default alert threshold: 80% of `monthlyLimit`.\n- `BudgetAlertManager.track(summary)` emits Slack + email payloads including breakdown JSON.\n\n## 3. Optimization Suggestions\n- Nightly job reads `OperationCost` and creates `OptimizationSuggestion` records via `OptimizationRecommender.generate`.\n- Auto-file tickets or push to Growth Agent backlog with the evidence (avg reads, compute share, external spend).\n\n## 4. Forecasting\n- Cost model inputs live in `@contractspec/lib.cost-tracking` (`defaultCostModel`). Override per region if infra prices differ.\n- Keep a history of `OperationCost` to render spark lines in Ops Console; highlight slopes > 15% week-over-week.\n\n## 5. Customer Communication\n- For enterprise tenants offer proactive alerts when spend deviates \xB120% from plan.\n- Connect `TenantBudget` alerts to CRM notes so Success teams see when automation saved costs."}];export{c as opsRunbookDocsA};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var e=[{id:"docs.ops.profile-settings.goal",title:"Profile settings goal",summary:"Keep identity/profile flows reliable and debuggable.",kind:"goal",visibility:"public",route:"/docs/ops/profile-settings/goal",tags:["ops","auth"],body:"Ensure profile linking/unlinking stays stable across FC+ and SMS flows, with clear monitoring and quick recovery steps."},{id:"docs.ops.profile-settings.usage",title:"Profile settings usage guide",summary:"Quick checklist for profile settings operations.",kind:"usage",visibility:"public",route:"/docs/ops/profile-settings/usage",tags:["ops","auth"],body:"- Verify Better Auth config in `src/lib/auth.ts`; JWKS for FC+.\n- Monitor Sentry spans `profile.*`; PostHog events connection_linked/unlinked.\n- On unlink failures: check `/api/auth/connections/unlink` logs.\n- FC+ issues: validate discovery URL and partner redirects.\n- OTP throttling: confirm SMS service rate limiter is active."},{id:"docs.ops.profile-settings.how",title:"Profile settings runbook",summary:"Detailed runbook for profile/settings operations.",kind:"how",visibility:"public",route:"/docs/ops/profile-settings/how",tags:["ops","auth"],body:`## Runbook \u2013 Profile Settings
2
+ var o=Object.defineProperty;var r=(e)=>e;function i(e,t){this[e]=r.bind(null,t)}var n=(e,t)=>{for(var s in t)o(e,s,{get:t[s],enumerable:!0,configurable:!0,set:i.bind(t,s)})};var a=(e,t)=>()=>(e&&(t=e(e=0)),t);var c=[{id:"docs.ops.profile-settings.goal",title:"Profile settings goal",summary:"Keep identity/profile flows reliable and debuggable.",kind:"goal",visibility:"public",route:"/docs/ops/profile-settings/goal",tags:["ops","auth"],body:"Ensure profile linking/unlinking stays stable across FC+ and SMS flows, with clear monitoring and quick recovery steps."},{id:"docs.ops.profile-settings.usage",title:"Profile settings usage guide",summary:"Quick checklist for profile settings operations.",kind:"usage",visibility:"public",route:"/docs/ops/profile-settings/usage",tags:["ops","auth"],body:"- Verify Better Auth config in `src/lib/auth.ts`; JWKS for FC+.\n- Monitor Sentry spans `profile.*`; PostHog events connection_linked/unlinked.\n- On unlink failures: check `/api/auth/connections/unlink` logs.\n- FC+ issues: validate discovery URL and partner redirects.\n- OTP throttling: confirm SMS service rate limiter is active."},{id:"docs.ops.profile-settings.how",title:"Profile settings runbook",summary:"Detailed runbook for profile/settings operations.",kind:"how",visibility:"public",route:"/docs/ops/profile-settings/how",tags:["ops","auth"],body:`## Runbook \u2013 Profile Settings
3
3
 
4
4
  ### Feature flags / Env
5
5
 
@@ -59,4 +59,4 @@ thresholds: {
59
59
  ## 5. Incident Hooks
60
60
  - \`Deployment\`, \`DeploymentStage\`, and \`RollbackEvent\` tables store the full history.
61
61
  - Tag rollbacks with incident ID to keep Ops Console synchronized.
62
- - Auto-resolve the incident once \`status === 'completed'\` and SLO burn rate returns < 2x.`}];export{e as opsRunbookDocsB};
62
+ - Auto-resolve the incident once \`status === 'completed'\` and SLO burn rate returns < 2x.`}];export{c as opsRunbookDocsB};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var e=[{id:"docs.ops.slo-management.goal",title:"SLO management goal",summary:"Keep availability/latency SLOs observable and enforceable.",kind:"goal",visibility:"public",route:"/docs/ops/slo-management/goal",tags:["ops","slo"],body:"Ensure every capability has a versioned SLO with alerts, burn-rate workflows, and incident cross-links so rollbacks are justified and auditable."},{id:"docs.ops.slo-management.usage",title:"SLO management usage guide",summary:"Quick checklist for defining and operating SLOs.",kind:"usage",visibility:"public",route:"/docs/ops/slo-management/usage",tags:["ops","slo"],body:"- Define `SLODefinition` per capability; tag tenant/tier for filtering.\n- Deploy `SLOMonitor`; pipe incidents to PagerDuty + Ops Slack.\n- Fast burn 14x -> page; slow burn 6x -> create ticket.\n- Use `SLOSnapshot` for dashboards; include deployment IDs in incidents.\n- Reset or advance error budgets after resolution when appropriate."},{id:"docs.ops.slo-management.how",title:"SLO management runbook",summary:"Detailed runbook for SLO lifecycle and incident handling.",kind:"how",visibility:"public",route:"/docs/ops/slo-management/how",tags:["ops","slo"],body:`# SLO Management Runbook
2
+ var a=Object.defineProperty;var n=(e)=>e;function s(e,o){this[e]=n.bind(null,o)}var i=(e,o)=>{for(var t in o)a(e,t,{get:o[t],enumerable:!0,configurable:!0,set:s.bind(o,t)})};var r=(e,o)=>()=>(e&&(o=e(e=0)),o);var c=[{id:"docs.ops.slo-management.goal",title:"SLO management goal",summary:"Keep availability/latency SLOs observable and enforceable.",kind:"goal",visibility:"public",route:"/docs/ops/slo-management/goal",tags:["ops","slo"],body:"Ensure every capability has a versioned SLO with alerts, burn-rate workflows, and incident cross-links so rollbacks are justified and auditable."},{id:"docs.ops.slo-management.usage",title:"SLO management usage guide",summary:"Quick checklist for defining and operating SLOs.",kind:"usage",visibility:"public",route:"/docs/ops/slo-management/usage",tags:["ops","slo"],body:"- Define `SLODefinition` per capability; tag tenant/tier for filtering.\n- Deploy `SLOMonitor`; pipe incidents to PagerDuty + Ops Slack.\n- Fast burn 14x -> page; slow burn 6x -> create ticket.\n- Use `SLOSnapshot` for dashboards; include deployment IDs in incidents.\n- Reset or advance error budgets after resolution when appropriate."},{id:"docs.ops.slo-management.how",title:"SLO management runbook",summary:"Detailed runbook for SLO lifecycle and incident handling.",kind:"how",visibility:"public",route:"/docs/ops/slo-management/how",tags:["ops","slo"],body:`# SLO Management Runbook
3
3
 
4
4
  ## 1. Definition Lifecycle
5
5
  1. Create an entry in \`SLODefinition\` via migration or the Ops Console.
@@ -71,4 +71,4 @@ Managed tenants can override lifecycle playbooks without touching database schem
71
71
  4. **Event routing**
72
72
  - Subscribe to \`LifecycleKpiPipeline\` events (see \`@contractspec/bundle.lifecycle-managed\`) to forward stage changes into tenant-specific analytics.
73
73
 
74
- All lifecycle overrides must be versioned alongside the tenant\u2019s overlay and workflow extensions so ops can rollback safely.`}];export{e as opsSloTenantDocs};
74
+ All lifecycle overrides must be versioned alongside the tenant\u2019s overlay and workflow extensions so ops can rollback safely.`}];export{c as opsSloTenantDocs};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var o=[{id:"docs.ops.index",title:"Operations docs index",summary:"Entry point for operations runbooks and guides.",kind:"goal",visibility:"public",route:"/docs/ops",tags:["ops"],body:`# Operations
2
+ var a=Object.defineProperty;var i=(o)=>o;function t(o,s){this[o]=i.bind(null,s)}var n=(o,s)=>{for(var e in s)a(o,e,{get:s[e],enumerable:!0,configurable:!0,set:t.bind(s,e)})};var r=(o,s)=>()=>(o&&(s=o(o=0)),s);var g=[{id:"docs.ops.index",title:"Operations docs index",summary:"Entry point for operations runbooks and guides.",kind:"goal",visibility:"public",route:"/docs/ops",tags:["ops"],body:`# Operations
3
3
 
4
4
  Browse runbooks and guides for ops workflows:
5
5
  - Anomaly detection (goal/usage/how)
@@ -8,4 +8,4 @@ Browse runbooks and guides for ops workflows:
8
8
  - Profile settings (goal/usage/how)
9
9
  - Progressive delivery (goal/usage/how)
10
10
  - SLO management (goal/usage/how)
11
- - Tenant customization (goal/usage/how)`}];export{o as opsTopDocs};
11
+ - Tenant customization (goal/usage/how)`}];export{g as opsTopDocs};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var e=[{id:"docs.ops.lifecycle-operations.goal",title:"Lifecycle operations goal",summary:"Keep managed lifecycle assessments timely, auditable, and low-risk per tenant.",kind:"goal",visibility:"public",route:"/docs/ops/lifecycle-operations/goal",tags:["ops","lifecycle"],body:"Operate lifecycle assessments with predictable cadence, clear observability, and reversible customizations so tenants stay aligned to milestones without risking data access."},{id:"docs.ops.lifecycle-operations.usage",title:"Lifecycle operations usage guide",summary:"Quick checklist for running lifecycle managed ops.",kind:"usage",visibility:"public",route:"/docs/ops/lifecycle-operations/usage",tags:["ops","lifecycle"],body:`- Run weekly auto-refresh per tenant; allow manual reruns behind \`LIFECYCLE_DETECTION_ALPHA\`.
2
+ var l=Object.defineProperty;var c=(e)=>e;function d(e,o){this[e]=c.bind(null,o)}var p=(e,o)=>{for(var t in o)l(e,t,{get:o[t],enumerable:!0,configurable:!0,set:d.bind(o,t)})};var u=(e,o)=>()=>(e&&(o=e(e=0)),o);var s=[{id:"docs.ops.lifecycle-operations.goal",title:"Lifecycle operations goal",summary:"Keep managed lifecycle assessments timely, auditable, and low-risk per tenant.",kind:"goal",visibility:"public",route:"/docs/ops/lifecycle-operations/goal",tags:["ops","lifecycle"],body:"Operate lifecycle assessments with predictable cadence, clear observability, and reversible customizations so tenants stay aligned to milestones without risking data access."},{id:"docs.ops.lifecycle-operations.usage",title:"Lifecycle operations usage guide",summary:"Quick checklist for running lifecycle managed ops.",kind:"usage",visibility:"public",route:"/docs/ops/lifecycle-operations/usage",tags:["ops","lifecycle"],body:`- Run weekly auto-refresh per tenant; allow manual reruns behind \`LIFECYCLE_DETECTION_ALPHA\`.
3
3
  - Publish top 3 actions + milestone checklist to Studio UI; emit lifecycle events.
4
4
  - Monitor P95 < 500ms; alert on confidence < 0.5 or stage churn.
5
5
  - Version overrides (weights, milestones, playbooks); never edit compiled JS.
@@ -114,7 +114,7 @@ Alert recipients: lifecycle ops squad + product owner.
114
114
  - \`packages/modules/lifecycle-advisor/\` for playbooks and ceremonies.
115
115
  - Progressive delivery config for lifecycle feature flags.
116
116
 
117
- Maintain this runbook alongside code changes; every bundle release must document operational impact and flag defaults.`}];var o=[{id:"docs.ops.anomaly-detection.goal",title:"Anomaly detection goal",summary:"Why anomaly detection matters for ops stability.",kind:"goal",visibility:"public",route:"/docs/ops/anomaly-detection/goal",tags:["ops","observability"],body:"Ensure anomalies are detected early to protect latency, error rate, and throughput SLAs; keep rollback hooks ready and audits reproducible."},{id:"docs.ops.anomaly-detection.usage",title:"Anomaly detection usage guide",summary:"How to run and consume anomaly detection in operations.",kind:"usage",visibility:"public",route:"/docs/ops/anomaly-detection/usage",tags:["ops","observability"],body:`- Enable tracing middleware; emit latency/error/throughput samples.
117
+ Maintain this runbook alongside code changes; every bundle release must document operational impact and flag defaults.`}];var i=[{id:"docs.ops.anomaly-detection.goal",title:"Anomaly detection goal",summary:"Why anomaly detection matters for ops stability.",kind:"goal",visibility:"public",route:"/docs/ops/anomaly-detection/goal",tags:["ops","observability"],body:"Ensure anomalies are detected early to protect latency, error rate, and throughput SLAs; keep rollback hooks ready and audits reproducible."},{id:"docs.ops.anomaly-detection.usage",title:"Anomaly detection usage guide",summary:"How to run and consume anomaly detection in operations.",kind:"usage",visibility:"public",route:"/docs/ops/anomaly-detection/usage",tags:["ops","observability"],body:`- Enable tracing middleware; emit latency/error/throughput samples.
118
118
  - Configure thresholds per capability when bursty traffic exists.
119
119
  - Wire rollback hook in DeploymentCoordinator for error spikes.
120
120
  - Export anomaly JSON into incidents; update MetricBaseline post-fix.
@@ -145,7 +145,7 @@ Maintain this runbook alongside code changes; every bundle release must document
145
145
 
146
146
  ## 5. Testing
147
147
  - Use load test harness to inject latency and verify detector emits signals within 30 seconds.
148
- - Chaos suite should simulate upstream outages to ensure throughput-drop detection fires.`},{id:"docs.ops.cost-optimization.goal",title:"Cost optimization goal",summary:"Keep spend predictable and actionable for ops and finance.",kind:"goal",visibility:"public",route:"/docs/ops/cost-optimization/goal",tags:["ops","cost"],body:"Align telemetry, budgets, and rollback levers so cost spikes are detected early, communicated clearly, and mitigated without breaking SLAs."},{id:"docs.ops.cost-optimization.usage",title:"Cost optimization usage guide",summary:"Quick checklist to run cost tracking and optimization.",kind:"usage",visibility:"public",route:"/docs/ops/cost-optimization/usage",tags:["ops","cost"],body:"- Emit `CostSample` via wrapped DB/HTTP clients; include provider/invoice cost.\n- Batch into `OperationCost` every 5m; alert at 80% of monthlyLimit.\n- Nightly run `OptimizationRecommender.generate`; push tickets with evidence.\n- Use regional overrides for `defaultCostModel` when infra prices differ.\n- Send proactive alerts for \xB120% deviations to enterprise tenants."},{id:"docs.ops.cost-optimization.how",title:"Cost optimization runbook",summary:"Step-by-step cost tracking, alerting, and communication.",kind:"how",visibility:"public",route:"/docs/ops/cost-optimization/how",tags:["ops","cost"],body:"# Cost Tracking & Optimization Runbook\n\n## 1. Instrumentation\n- Wrap DB client and HTTP adapters to emit `CostSample`s to `CostTracker.recordSample`.\n- For external APIs, attach provider name + actual invoice cost when available.\n- Persist aggregate rows into `OperationCost` (batch job every 5 minutes).\n\n## 2. Budgets\n- Insert/update `TenantBudget` per workspace.\n- Default alert threshold: 80% of `monthlyLimit`.\n- `BudgetAlertManager.track(summary)` emits Slack + email payloads including breakdown JSON.\n\n## 3. Optimization Suggestions\n- Nightly job reads `OperationCost` and creates `OptimizationSuggestion` records via `OptimizationRecommender.generate`.\n- Auto-file tickets or push to Growth Agent backlog with the evidence (avg reads, compute share, external spend).\n\n## 4. Forecasting\n- Cost model inputs live in `@contractspec/lib.cost-tracking` (`defaultCostModel`). Override per region if infra prices differ.\n- Keep a history of `OperationCost` to render spark lines in Ops Console; highlight slopes > 15% week-over-week.\n\n## 5. Customer Communication\n- For enterprise tenants offer proactive alerts when spend deviates \xB120% from plan.\n- Connect `TenantBudget` alerts to CRM notes so Success teams see when automation saved costs."}];var t=[{id:"docs.ops.profile-settings.goal",title:"Profile settings goal",summary:"Keep identity/profile flows reliable and debuggable.",kind:"goal",visibility:"public",route:"/docs/ops/profile-settings/goal",tags:["ops","auth"],body:"Ensure profile linking/unlinking stays stable across FC+ and SMS flows, with clear monitoring and quick recovery steps."},{id:"docs.ops.profile-settings.usage",title:"Profile settings usage guide",summary:"Quick checklist for profile settings operations.",kind:"usage",visibility:"public",route:"/docs/ops/profile-settings/usage",tags:["ops","auth"],body:"- Verify Better Auth config in `src/lib/auth.ts`; JWKS for FC+.\n- Monitor Sentry spans `profile.*`; PostHog events connection_linked/unlinked.\n- On unlink failures: check `/api/auth/connections/unlink` logs.\n- FC+ issues: validate discovery URL and partner redirects.\n- OTP throttling: confirm SMS service rate limiter is active."},{id:"docs.ops.profile-settings.how",title:"Profile settings runbook",summary:"Detailed runbook for profile/settings operations.",kind:"how",visibility:"public",route:"/docs/ops/profile-settings/how",tags:["ops","auth"],body:`## Runbook \u2013 Profile Settings
148
+ - Chaos suite should simulate upstream outages to ensure throughput-drop detection fires.`},{id:"docs.ops.cost-optimization.goal",title:"Cost optimization goal",summary:"Keep spend predictable and actionable for ops and finance.",kind:"goal",visibility:"public",route:"/docs/ops/cost-optimization/goal",tags:["ops","cost"],body:"Align telemetry, budgets, and rollback levers so cost spikes are detected early, communicated clearly, and mitigated without breaking SLAs."},{id:"docs.ops.cost-optimization.usage",title:"Cost optimization usage guide",summary:"Quick checklist to run cost tracking and optimization.",kind:"usage",visibility:"public",route:"/docs/ops/cost-optimization/usage",tags:["ops","cost"],body:"- Emit `CostSample` via wrapped DB/HTTP clients; include provider/invoice cost.\n- Batch into `OperationCost` every 5m; alert at 80% of monthlyLimit.\n- Nightly run `OptimizationRecommender.generate`; push tickets with evidence.\n- Use regional overrides for `defaultCostModel` when infra prices differ.\n- Send proactive alerts for \xB120% deviations to enterprise tenants."},{id:"docs.ops.cost-optimization.how",title:"Cost optimization runbook",summary:"Step-by-step cost tracking, alerting, and communication.",kind:"how",visibility:"public",route:"/docs/ops/cost-optimization/how",tags:["ops","cost"],body:"# Cost Tracking & Optimization Runbook\n\n## 1. Instrumentation\n- Wrap DB client and HTTP adapters to emit `CostSample`s to `CostTracker.recordSample`.\n- For external APIs, attach provider name + actual invoice cost when available.\n- Persist aggregate rows into `OperationCost` (batch job every 5 minutes).\n\n## 2. Budgets\n- Insert/update `TenantBudget` per workspace.\n- Default alert threshold: 80% of `monthlyLimit`.\n- `BudgetAlertManager.track(summary)` emits Slack + email payloads including breakdown JSON.\n\n## 3. Optimization Suggestions\n- Nightly job reads `OperationCost` and creates `OptimizationSuggestion` records via `OptimizationRecommender.generate`.\n- Auto-file tickets or push to Growth Agent backlog with the evidence (avg reads, compute share, external spend).\n\n## 4. Forecasting\n- Cost model inputs live in `@contractspec/lib.cost-tracking` (`defaultCostModel`). Override per region if infra prices differ.\n- Keep a history of `OperationCost` to render spark lines in Ops Console; highlight slopes > 15% week-over-week.\n\n## 5. Customer Communication\n- For enterprise tenants offer proactive alerts when spend deviates \xB120% from plan.\n- Connect `TenantBudget` alerts to CRM notes so Success teams see when automation saved costs."}];var a=[{id:"docs.ops.profile-settings.goal",title:"Profile settings goal",summary:"Keep identity/profile flows reliable and debuggable.",kind:"goal",visibility:"public",route:"/docs/ops/profile-settings/goal",tags:["ops","auth"],body:"Ensure profile linking/unlinking stays stable across FC+ and SMS flows, with clear monitoring and quick recovery steps."},{id:"docs.ops.profile-settings.usage",title:"Profile settings usage guide",summary:"Quick checklist for profile settings operations.",kind:"usage",visibility:"public",route:"/docs/ops/profile-settings/usage",tags:["ops","auth"],body:"- Verify Better Auth config in `src/lib/auth.ts`; JWKS for FC+.\n- Monitor Sentry spans `profile.*`; PostHog events connection_linked/unlinked.\n- On unlink failures: check `/api/auth/connections/unlink` logs.\n- FC+ issues: validate discovery URL and partner redirects.\n- OTP throttling: confirm SMS service rate limiter is active."},{id:"docs.ops.profile-settings.how",title:"Profile settings runbook",summary:"Detailed runbook for profile/settings operations.",kind:"how",visibility:"public",route:"/docs/ops/profile-settings/how",tags:["ops","auth"],body:`## Runbook \u2013 Profile Settings
149
149
 
150
150
  ### Feature flags / Env
151
151
 
@@ -205,7 +205,7 @@ thresholds: {
205
205
  ## 5. Incident Hooks
206
206
  - \`Deployment\`, \`DeploymentStage\`, and \`RollbackEvent\` tables store the full history.
207
207
  - Tag rollbacks with incident ID to keep Ops Console synchronized.
208
- - Auto-resolve the incident once \`status === 'completed'\` and SLO burn rate returns < 2x.`}];var s=[{id:"docs.ops.slo-management.goal",title:"SLO management goal",summary:"Keep availability/latency SLOs observable and enforceable.",kind:"goal",visibility:"public",route:"/docs/ops/slo-management/goal",tags:["ops","slo"],body:"Ensure every capability has a versioned SLO with alerts, burn-rate workflows, and incident cross-links so rollbacks are justified and auditable."},{id:"docs.ops.slo-management.usage",title:"SLO management usage guide",summary:"Quick checklist for defining and operating SLOs.",kind:"usage",visibility:"public",route:"/docs/ops/slo-management/usage",tags:["ops","slo"],body:"- Define `SLODefinition` per capability; tag tenant/tier for filtering.\n- Deploy `SLOMonitor`; pipe incidents to PagerDuty + Ops Slack.\n- Fast burn 14x -> page; slow burn 6x -> create ticket.\n- Use `SLOSnapshot` for dashboards; include deployment IDs in incidents.\n- Reset or advance error budgets after resolution when appropriate."},{id:"docs.ops.slo-management.how",title:"SLO management runbook",summary:"Detailed runbook for SLO lifecycle and incident handling.",kind:"how",visibility:"public",route:"/docs/ops/slo-management/how",tags:["ops","slo"],body:`# SLO Management Runbook
208
+ - Auto-resolve the incident once \`status === 'completed'\` and SLO burn rate returns < 2x.`}];var n=[{id:"docs.ops.slo-management.goal",title:"SLO management goal",summary:"Keep availability/latency SLOs observable and enforceable.",kind:"goal",visibility:"public",route:"/docs/ops/slo-management/goal",tags:["ops","slo"],body:"Ensure every capability has a versioned SLO with alerts, burn-rate workflows, and incident cross-links so rollbacks are justified and auditable."},{id:"docs.ops.slo-management.usage",title:"SLO management usage guide",summary:"Quick checklist for defining and operating SLOs.",kind:"usage",visibility:"public",route:"/docs/ops/slo-management/usage",tags:["ops","slo"],body:"- Define `SLODefinition` per capability; tag tenant/tier for filtering.\n- Deploy `SLOMonitor`; pipe incidents to PagerDuty + Ops Slack.\n- Fast burn 14x -> page; slow burn 6x -> create ticket.\n- Use `SLOSnapshot` for dashboards; include deployment IDs in incidents.\n- Reset or advance error budgets after resolution when appropriate."},{id:"docs.ops.slo-management.how",title:"SLO management runbook",summary:"Detailed runbook for SLO lifecycle and incident handling.",kind:"how",visibility:"public",route:"/docs/ops/slo-management/how",tags:["ops","slo"],body:`# SLO Management Runbook
209
209
 
210
210
  ## 1. Definition Lifecycle
211
211
  1. Create an entry in \`SLODefinition\` via migration or the Ops Console.
@@ -277,7 +277,7 @@ Managed tenants can override lifecycle playbooks without touching database schem
277
277
  4. **Event routing**
278
278
  - Subscribe to \`LifecycleKpiPipeline\` events (see \`@contractspec/bundle.lifecycle-managed\`) to forward stage changes into tenant-specific analytics.
279
279
 
280
- All lifecycle overrides must be versioned alongside the tenant\u2019s overlay and workflow extensions so ops can rollback safely.`}];var i=[{id:"docs.ops.index",title:"Operations docs index",summary:"Entry point for operations runbooks and guides.",kind:"goal",visibility:"public",route:"/docs/ops",tags:["ops"],body:`# Operations
280
+ All lifecycle overrides must be versioned alongside the tenant\u2019s overlay and workflow extensions so ops can rollback safely.`}];var r=[{id:"docs.ops.index",title:"Operations docs index",summary:"Entry point for operations runbooks and guides.",kind:"goal",visibility:"public",route:"/docs/ops",tags:["ops"],body:`# Operations
281
281
 
282
282
  Browse runbooks and guides for ops workflows:
283
283
  - Anomaly detection (goal/usage/how)
@@ -286,4 +286,4 @@ Browse runbooks and guides for ops workflows:
286
286
  - Profile settings (goal/usage/how)
287
287
  - Progressive delivery (goal/usage/how)
288
288
  - SLO management (goal/usage/how)
289
- - Tenant customization (goal/usage/how)`}];var y=[...i,...o,...e,...t,...s];export{y as opsDocBlocks};
289
+ - Tenant customization (goal/usage/how)`}];var C=[...r,...i,...s,...a,...n];export{C as opsDocBlocks};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{registerDocBlocks as f}from"@contractspec/lib.contracts-spec/docs";var h=[{id:"docs.product.lifecycle-stages.goal",title:"Lifecycle stages goal",summary:"Why lifecycle staging exists for ContractSpec products.",kind:"goal",visibility:"public",route:"/docs/product/lifecycle-stages/goal",tags:["product","lifecycle"],body:"Provide a clear, staged journey so teams can adopt ContractSpec incrementally with measurable milestones and ceremonies."},{id:"docs.product.lifecycle-stages.usage",title:"Lifecycle stages usage",summary:"How to use lifecycle stages across products.",kind:"usage",visibility:"public",route:"/docs/product/lifecycle-stages/usage",tags:["product","lifecycle"],body:`- Map tenant or project to a lifecycle stage using assessment signals.
2
+ var m=Object.defineProperty;var q=(f)=>f;function v(f,h){this[f]=q.bind(null,h)}var y=(f,h)=>{for(var j in h)m(f,j,{get:h[j],enumerable:!0,configurable:!0,set:v.bind(h,j)})};var z=(f,h)=>()=>(f&&(h=f(f=0)),h);import{registerDocBlocks as w}from"@contractspec/lib.contracts-spec/docs";var x=[{id:"docs.product.lifecycle-stages.goal",title:"Lifecycle stages goal",summary:"Why lifecycle staging exists for ContractSpec products.",kind:"goal",visibility:"public",route:"/docs/product/lifecycle-stages/goal",tags:["product","lifecycle"],body:"Provide a clear, staged journey so teams can adopt ContractSpec incrementally with measurable milestones and ceremonies."},{id:"docs.product.lifecycle-stages.usage",title:"Lifecycle stages usage",summary:"How to use lifecycle stages across products.",kind:"usage",visibility:"public",route:"/docs/product/lifecycle-stages/usage",tags:["product","lifecycle"],body:`- Map tenant or project to a lifecycle stage using assessment signals.
3
3
  - Use stage checklists to guide adoption; trigger ceremonies on stage change.
4
4
  - Keep stage definitions versioned and referenced by UI and ops docs.
5
5
  - Align product messaging to the current stage for clarity and expectation setting.`},{id:"docs.product.lifecycle-stages.how",title:"Lifecycle stages reference",summary:"Reference of lifecycle stages and guidance (from markdown).",kind:"how",visibility:"public",route:"/docs/product/lifecycle-stages/how",tags:["product","lifecycle"],body:`# Lifecycle Stages
@@ -9,4 +9,4 @@ Refer to lifecycle stages definition and guidance in product docs. Keep stage na
9
9
  - Acknowledge stage regressions and follow suggested remediation.
10
10
  - Use the Studio UI to trigger reassessments when major changes occur.`},{id:"docs.product.lifecycle-user-guide.how",title:"Lifecycle user guide reference",summary:"Reference content for lifecycle user guide.",kind:"how",visibility:"public",route:"/docs/product/lifecycle-user-guide/how",tags:["product","lifecycle"],body:`# Lifecycle User Guide
11
11
 
12
- User-facing guide for navigating lifecycle assessments, recommendations, and ceremonies. Keep aligned with runtime logic and ops runbooks.`}];f(h);export{h as productDocs};
12
+ User-facing guide for navigating lifecycle assessments, recommendations, and ceremonies. Keep aligned with runtime logic and ops runbooks.`}];w(x);export{x as productDocs};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- var w=/^##\s+Metadata[\s\S]*?(?=^##\s|^#\s|Z)/m;function T(e){return e.replace(/^#\s+.*\n+/m,"").replace(w,"")}function c(e){return/^#{1,4}\s+/.test(e)||/^```/.test(e)||/^\s*[-*]\s+/.test(e)||/^\s*\d+\.\s+/.test(e)||/^>\s+/.test(e)}function f(e){let s=T(e).split(/\r?\n/),r=[],t=0;while(t<s.length){let a=s[t]??"";if(a.startsWith("<!-- @generated")){t+=1;continue}let i=a.trim();if(!i){t+=1;continue}if(i.startsWith("```")){let n=i.slice(3).trim(),h=[];t+=1;while(t<s.length&&!(s[t]??"").trim().startsWith("```"))h.push(s[t]??""),t+=1;t+=1,r.push({type:"code",language:n||"text",code:h.join(`
3
- `)});continue}if(/^#{1,4}\s+/.test(i)){let n=i.match(/^#{1,4}/)?.[0].length??2;r.push({type:"heading",level:n,text:i.replace(/^#{1,4}\s+/,"")}),t+=1;continue}if(/^>\s+/.test(i)){let n=[];while(t<s.length&&/^>\s+/.test((s[t]??"").trim()))n.push((s[t]??"").trim().replace(/^>\s+/,"")),t+=1;r.push({type:"quote",text:n.join(" ")});continue}if(/^[-*]\s+/.test(i)||/^\d+\.\s+/.test(i)){let n=/^\d+\.\s+/.test(i),h=[];while(t<s.length&&c((s[t]??"").trim())){let g=(s[t]??"").trim();if(n&&/^\d+\.\s+/.test(g))h.push(g.replace(/^\d+\.\s+/,""));else if(!n&&/^[-*]\s+/.test(g))h.push(g.replace(/^[-*]\s+/,""));else break;t+=1}r.push({type:"list",ordered:n,items:h});continue}let u=[];while(t<s.length&&!c((s[t]??"").trim())){let n=(s[t]??"").trim();if(!n)break;u.push(n),t+=1}r.push({type:"paragraph",text:u.join(" ")})}return r}import{CodeBlock as q}from"@contractspec/lib.design-system";import{HStack as D,VStack as o}from"@contractspec/lib.ui-kit-web/ui/stack";import{BlockQuote as L,H2 as M,H3 as W,H4 as B,Muted as m,P as y}from"@contractspec/lib.ui-kit-web/ui/typography";import{jsx as p,jsxs as E}from"react/jsx-runtime";var A=new Set(["typescript","tsx","javascript","jsx","bash","shell","json","yaml","graphql","sql","python","go","rust","css","scss","html","markdown","text"]);function Z(e){if(!e)return"text";let s=e.toLowerCase();return A.has(s)?s:"text"}function l(e,s){if(e<=2)return p(M,{children:s});if(e===3)return p(W,{children:s});return p(B,{children:s})}function R({content:e}){let s=f(e);if(!s.length)return p(m,{children:"No reference content available."});return p(o,{gap:"md",children:s.map((r,t)=>{switch(r.type){case"heading":return p(o,{children:l(r.level,r.text)},t);case"paragraph":return p(y,{children:r.text},t);case"quote":return p(L,{children:r.text},t);case"code":return p(q,{language:Z(r.language),code:r.code},t);case"list":return p(o,{gap:"xs",children:r.items.map((a,i)=>E(D,{gap:"sm",align:"start",children:[p(m,{children:r.ordered?`${i+1}.`:"\u2022"}),p(y,{className:"leading-relaxed",children:a})]},i))},t);default:return null}})})}export{R as DocsMarkdownContent};
2
+ var w=Object.defineProperty;var T=(e)=>e;function q(e,t){this[e]=T.bind(null,t)}var N=(e,t)=>{for(var r in t)w(e,r,{get:t[r],enumerable:!0,configurable:!0,set:q.bind(t,r)})};var O=(e,t)=>()=>(e&&(t=e(e=0)),t);var D=/^##\s+Metadata[\s\S]*?(?=^##\s|^#\s|Z)/m;function L(e){return e.replace(/^#\s+.*\n+/m,"").replace(D,"")}function c(e){return/^#{1,4}\s+/.test(e)||/^```/.test(e)||/^\s*[-*]\s+/.test(e)||/^\s*\d+\.\s+/.test(e)||/^>\s+/.test(e)}function f(e){let t=L(e).split(/\r?\n/),r=[],s=0;while(s<t.length){let a=t[s]??"";if(a.startsWith("<!-- @generated")){s+=1;continue}let i=a.trim();if(!i){s+=1;continue}if(i.startsWith("```")){let n=i.slice(3).trim(),h=[];s+=1;while(s<t.length&&!(t[s]??"").trim().startsWith("```"))h.push(t[s]??""),s+=1;s+=1,r.push({type:"code",language:n||"text",code:h.join(`
3
+ `)});continue}if(/^#{1,4}\s+/.test(i)){let n=i.match(/^#{1,4}/)?.[0].length??2;r.push({type:"heading",level:n,text:i.replace(/^#{1,4}\s+/,"")}),s+=1;continue}if(/^>\s+/.test(i)){let n=[];while(s<t.length&&/^>\s+/.test((t[s]??"").trim()))n.push((t[s]??"").trim().replace(/^>\s+/,"")),s+=1;r.push({type:"quote",text:n.join(" ")});continue}if(/^[-*]\s+/.test(i)||/^\d+\.\s+/.test(i)){let n=/^\d+\.\s+/.test(i),h=[];while(s<t.length&&c((t[s]??"").trim())){let g=(t[s]??"").trim();if(n&&/^\d+\.\s+/.test(g))h.push(g.replace(/^\d+\.\s+/,""));else if(!n&&/^[-*]\s+/.test(g))h.push(g.replace(/^[-*]\s+/,""));else break;s+=1}r.push({type:"list",ordered:n,items:h});continue}let u=[];while(s<t.length&&!c((t[s]??"").trim())){let n=(t[s]??"").trim();if(!n)break;u.push(n),s+=1}r.push({type:"paragraph",text:u.join(" ")})}return r}import{CodeBlock as M}from"@contractspec/lib.design-system";import{HStack as W,VStack as o}from"@contractspec/lib.ui-kit-web/ui/stack";import{BlockQuote as B,H2 as A,H3 as Z,H4 as l,Muted as m,P as y}from"@contractspec/lib.ui-kit-web/ui/typography";import{jsx as p,jsxs as K}from"react/jsx-runtime";var E=new Set(["typescript","tsx","javascript","jsx","bash","shell","json","yaml","graphql","sql","python","go","rust","css","scss","html","markdown","text"]);function F(e){if(!e)return"text";let t=e.toLowerCase();return E.has(t)?t:"text"}function J(e,t){if(e<=2)return p(A,{children:t});if(e===3)return p(Z,{children:t});return p(l,{children:t})}function Q({content:e}){let t=f(e);if(!t.length)return p(m,{children:"No reference content available."});return p(o,{gap:"md",children:t.map((r,s)=>{switch(r.type){case"heading":return p(o,{children:J(r.level,r.text)},s);case"paragraph":return p(y,{children:r.text},s);case"quote":return p(B,{children:r.text},s);case"code":return p(M,{language:F(r.language),code:r.code},s);case"list":return p(o,{gap:"xs",children:r.items.map((a,i)=>K(W,{gap:"sm",align:"start",children:[p(m,{children:r.ordered?`${i+1}.`:"\u2022"}),p(y,{className:"leading-relaxed",children:a})]},i))},s);default:return null}})})}export{Q as DocsMarkdownContent};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var X=/^##\s+Metadata[\s\S]*?(?=^##\s|^#\s|Z)/m;function Y(i){return i.replace(/^#\s+.*\n+/m,"").replace(X,"")}function E(i){return/^#{1,4}\s+/.test(i)||/^```/.test(i)||/^\s*[-*]\s+/.test(i)||/^\s*\d+\.\s+/.test(i)||/^>\s+/.test(i)}function F(i){let s=Y(i).split(/\r?\n/),h=[],p=0;while(p<s.length){let T=s[p]??"";if(T.startsWith("<!-- @generated")){p+=1;continue}let g=T.trim();if(!g){p+=1;continue}if(g.startsWith("```")){let t=g.slice(3).trim(),f=[];p+=1;while(p<s.length&&!(s[p]??"").trim().startsWith("```"))f.push(s[p]??""),p+=1;p+=1,h.push({type:"code",language:t||"text",code:f.join(`
3
- `)});continue}if(/^#{1,4}\s+/.test(g)){let t=g.match(/^#{1,4}/)?.[0].length??2;h.push({type:"heading",level:t,text:g.replace(/^#{1,4}\s+/,"")}),p+=1;continue}if(/^>\s+/.test(g)){let t=[];while(p<s.length&&/^>\s+/.test((s[p]??"").trim()))t.push((s[p]??"").trim().replace(/^>\s+/,"")),p+=1;h.push({type:"quote",text:t.join(" ")});continue}if(/^[-*]\s+/.test(g)||/^\d+\.\s+/.test(g)){let t=/^\d+\.\s+/.test(g),f=[];while(p<s.length&&E((s[p]??"").trim())){let q=(s[p]??"").trim();if(t&&/^\d+\.\s+/.test(q))f.push(q.replace(/^\d+\.\s+/,""));else if(!t&&/^[-*]\s+/.test(q))f.push(q.replace(/^[-*]\s+/,""));else break;p+=1}h.push({type:"list",ordered:t,items:f});continue}let W=[];while(p<s.length&&!E((s[p]??"").trim())){let t=(s[p]??"").trim();if(!t)break;W.push(t),p+=1}h.push({type:"paragraph",text:W.join(" ")})}return h}import{CodeBlock as _}from"@contractspec/lib.design-system";import{HStack as $,VStack as Z}from"@contractspec/lib.ui-kit-web/ui/stack";import{BlockQuote as Q,H2 as U,H3 as r,H4 as z,Muted as J,P as K}from"@contractspec/lib.ui-kit-web/ui/typography";import{jsx as u,jsxs as P}from"react/jsx-runtime";var G=new Set(["typescript","tsx","javascript","jsx","bash","shell","json","yaml","graphql","sql","python","go","rust","css","scss","html","markdown","text"]);function v(i){if(!i)return"text";let s=i.toLowerCase();return G.has(s)?s:"text"}function w(i,s){if(i<=2)return u(U,{children:s});if(i===3)return u(r,{children:s});return u(z,{children:s})}function N({content:i}){let s=F(i);if(!s.length)return u(J,{children:"No reference content available."});return u(Z,{gap:"md",children:s.map((h,p)=>{switch(h.type){case"heading":return u(Z,{children:w(h.level,h.text)},p);case"paragraph":return u(K,{children:h.text},p);case"quote":return u(Q,{children:h.text},p);case"code":return u(_,{language:v(h.language),code:h.code},p);case"list":return u(Z,{gap:"xs",children:h.items.map((T,g)=>P($,{gap:"sm",align:"start",children:[u(J,{children:h.ordered?`${g+1}.`:"\u2022"}),u(K,{className:"leading-relaxed",children:T})]},g))},p);default:return null}})})}import{ContractReferenceDataView as B}from"@contractspec/lib.contracts-spec/docs";import{DataViewRenderer as D}from"@contractspec/lib.design-system";import{VStack as I}from"@contractspec/lib.ui-kit-web/ui/stack";import{jsx as O,jsxs as d}from"react/jsx-runtime";function L(i,s){return i.match(new RegExp(`- \\*\\*${s}\\*\\*: (.+)`,"i"))?.[1]?.trim()}function M(i){if(!i)return;return i.replace(/<!--.*?-->/g,"").replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
2
+ var X=Object.defineProperty;var Y=(s)=>s;function _(s,i){this[s]=Y.bind(null,i)}var m=(s,i)=>{for(var h in i)X(s,h,{get:i[h],enumerable:!0,configurable:!0,set:_.bind(i,h)})};var l=(s,i)=>()=>(s&&(i=s(s=0)),i);var $=/^##\s+Metadata[\s\S]*?(?=^##\s|^#\s|Z)/m;function Q(s){return s.replace(/^#\s+.*\n+/m,"").replace($,"")}function E(s){return/^#{1,4}\s+/.test(s)||/^```/.test(s)||/^\s*[-*]\s+/.test(s)||/^\s*\d+\.\s+/.test(s)||/^>\s+/.test(s)}function F(s){let i=Q(s).split(/\r?\n/),h=[],p=0;while(p<i.length){let T=i[p]??"";if(T.startsWith("<!-- @generated")){p+=1;continue}let g=T.trim();if(!g){p+=1;continue}if(g.startsWith("```")){let t=g.slice(3).trim(),f=[];p+=1;while(p<i.length&&!(i[p]??"").trim().startsWith("```"))f.push(i[p]??""),p+=1;p+=1,h.push({type:"code",language:t||"text",code:f.join(`
3
+ `)});continue}if(/^#{1,4}\s+/.test(g)){let t=g.match(/^#{1,4}/)?.[0].length??2;h.push({type:"heading",level:t,text:g.replace(/^#{1,4}\s+/,"")}),p+=1;continue}if(/^>\s+/.test(g)){let t=[];while(p<i.length&&/^>\s+/.test((i[p]??"").trim()))t.push((i[p]??"").trim().replace(/^>\s+/,"")),p+=1;h.push({type:"quote",text:t.join(" ")});continue}if(/^[-*]\s+/.test(g)||/^\d+\.\s+/.test(g)){let t=/^\d+\.\s+/.test(g),f=[];while(p<i.length&&E((i[p]??"").trim())){let q=(i[p]??"").trim();if(t&&/^\d+\.\s+/.test(q))f.push(q.replace(/^\d+\.\s+/,""));else if(!t&&/^[-*]\s+/.test(q))f.push(q.replace(/^[-*]\s+/,""));else break;p+=1}h.push({type:"list",ordered:t,items:f});continue}let W=[];while(p<i.length&&!E((i[p]??"").trim())){let t=(i[p]??"").trim();if(!t)break;W.push(t),p+=1}h.push({type:"paragraph",text:W.join(" ")})}return h}import{CodeBlock as U}from"@contractspec/lib.design-system";import{HStack as r,VStack as Z}from"@contractspec/lib.ui-kit-web/ui/stack";import{BlockQuote as z,H2 as G,H3 as v,H4 as w,Muted as J,P as K}from"@contractspec/lib.ui-kit-web/ui/typography";import{jsx as u,jsxs as M}from"react/jsx-runtime";var P=new Set(["typescript","tsx","javascript","jsx","bash","shell","json","yaml","graphql","sql","python","go","rust","css","scss","html","markdown","text"]);function D(s){if(!s)return"text";let i=s.toLowerCase();return P.has(i)?i:"text"}function I(s,i){if(s<=2)return u(G,{children:i});if(s===3)return u(v,{children:i});return u(w,{children:i})}function N({content:s}){let i=F(s);if(!i.length)return u(J,{children:"No reference content available."});return u(Z,{gap:"md",children:i.map((h,p)=>{switch(h.type){case"heading":return u(Z,{children:I(h.level,h.text)},p);case"paragraph":return u(K,{children:h.text},p);case"quote":return u(z,{children:h.text},p);case"code":return u(U,{language:D(h.language),code:h.code},p);case"list":return u(Z,{gap:"xs",children:h.items.map((T,g)=>M(r,{gap:"sm",align:"start",children:[u(J,{children:h.ordered?`${g+1}.`:"\u2022"}),u(K,{className:"leading-relaxed",children:T})]},g))},p);default:return null}})})}import{ContractReferenceDataView as B}from"@contractspec/lib.contracts-spec/docs";import{DataViewRenderer as d}from"@contractspec/lib.design-system";import{VStack as H}from"@contractspec/lib.ui-kit-web/ui/stack";import{jsx as O,jsxs as S}from"react/jsx-runtime";function L(s,i){return s.match(new RegExp(`- \\*\\*${i}\\*\\*: (.+)`,"i"))?.[1]?.trim()}function R(s){if(!s)return;return s.replace(/<!--.*?-->/g,"").replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
4
4
 
5
- `).trim()}function a({entry:i,content:s}){let h=M(i.summary),p=L(s,"Type"),T=L(s,"Version")??i.version,g=L(s,"Tags")?.split(",").map((A)=>A.trim()).filter(Boolean),W=L(s,"Owners")?.split(",").map((A)=>A.trim()).filter(Boolean),t=L(s,"Stability")??i.visibility,f={reference:{key:i.title??i.id,version:T,type:p,title:i.title??i.id,description:h,tags:g??i.tags,owners:W??i.owners,stability:t}},q={...B,meta:{...B.meta,title:i.title??B.meta.title,description:h??B.meta.description}};return d(I,{gap:"xl",children:[O(D,{spec:q,item:f}),O(N,{content:s})]})}export{a as DocsReferenceContent};
5
+ `).trim()}function ss({entry:s,content:i}){let h=R(s.summary),p=L(i,"Type"),T=L(i,"Version")??s.version,g=L(i,"Tags")?.split(",").map((A)=>A.trim()).filter(Boolean),W=L(i,"Owners")?.split(",").map((A)=>A.trim()).filter(Boolean),t=L(i,"Stability")??s.visibility,f={reference:{key:s.title??s.id,version:T,type:p,title:s.title??s.id,description:h,tags:g??s.tags,owners:W??s.owners,stability:t}},q={...B,meta:{...B.meta,title:s.title??B.meta.title,description:h??B.meta.description}};return S(H,{gap:"xl",children:[O(d,{spec:q,item:f}),O(N,{content:i})]})}export{ss as DocsReferenceContent};
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{DocsIndexDataView as _,DocsSearchForm as $}from"@contractspec/lib.contracts-spec/docs";import{DataViewList as g,formRenderer as I,StatusChip as P}from"@contractspec/lib.design-system";import{HStack as L,VStack as T}from"@contractspec/lib.ui-kit-web/ui/stack";import{H1 as Q,Muted as W}from"@contractspec/lib.ui-kit-web/ui/typography";import{useMemo as X,useState as R}from"react";import{jsx as J,jsxs as U}from"react/jsx-runtime";function H(A){if(!A)return;return A.replace(/<!--.*?-->/g,"").replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
2
+ var _=Object.defineProperty;var $=(A)=>A;function g(A,B){this[A]=$.bind(null,B)}var D=(A,B)=>{for(var J in B)_(A,J,{get:B[J],enumerable:!0,configurable:!0,set:g.bind(B,J)})};var E=(A,B)=>()=>(A&&(B=A(A=0)),B);import{DocsIndexDataView as I,DocsSearchForm as L}from"@contractspec/lib.contracts-spec/docs";import{DataViewList as Q,formRenderer as R,StatusChip as P}from"@contractspec/lib.design-system";import{HStack as H,VStack as T}from"@contractspec/lib.ui-kit-web/ui/stack";import{H1 as v,Muted as W}from"@contractspec/lib.ui-kit-web/ui/typography";import{useMemo as X,useState as w}from"react";import{jsx as K,jsxs as U}from"react/jsx-runtime";function z(A){if(!A)return;return A.replace(/<!--.*?-->/g,"").replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
3
3
 
4
- `).trim()}function v(A){let B=H(A.summary),N=A.kind??(A.source==="generated"?"reference":void 0),O=A.visibility??(A.source==="generated"?"public":void 0);return{...A,summary:B,kind:N,visibility:O}}function w(A,B){if(!B)return!0;return[A.title,A.summary,A.id,...A.tags??[]].filter(Boolean).join(" ").toLowerCase().includes(B.toLowerCase())}function M({entries:A}){let[B,N]=R({}),O=X(()=>A.map(v),[A]),Y=X(()=>{let G=B.query?.trim()??"";return O.filter((K)=>{if(B.kind&&K.kind!==B.kind)return!1;if(B.visibility&&K.visibility!==B.visibility)return!1;return w(K,G)})},[B,O]),Z=I.render($,{defaultValues:{query:B.query??"",visibility:B.visibility??"",kind:B.kind??""},overrides:{onSubmitOverride:(G)=>{let K=G;N({query:K.query??"",visibility:K.visibility??"",kind:K.kind??""})}}});return U(T,{gap:"xl",children:[U(T,{gap:"sm",children:[J(Q,{children:"Reference"}),J(W,{children:"Generated reference material for public contract surfaces, versions, owners, and example-backed implementations. Use this when you need the repo truth, not just the narrative docs layer."})]}),J(T,{gap:"sm",className:"max-w-2xl",children:Z}),J(g,{spec:_,items:Y,emptyState:J(W,{children:"No reference docs match your filters."}),onSelect:(G)=>{if(G.route)window.location.assign(G.route)},renderActions:(G)=>{return U(L,{gap:"xs",justify:"end",children:[G.kind?J(P,{size:"sm",label:G.kind}):null,G.visibility?J(P,{size:"sm",label:G.visibility}):null,G.version?J(P,{size:"sm",label:`v${G.version}`}):null]})}})]})}export{M as DocsReferenceIndexClient};
4
+ `).trim()}function C(A){let B=z(A.summary),J=A.kind??(A.source==="generated"?"reference":void 0),O=A.visibility??(A.source==="generated"?"public":void 0);return{...A,summary:B,kind:J,visibility:O}}function F(A,B){if(!B)return!0;return[A.title,A.summary,A.id,...A.tags??[]].filter(Boolean).join(" ").toLowerCase().includes(B.toLowerCase())}function h({entries:A}){let[B,J]=w({}),O=X(()=>A.map(C),[A]),Y=X(()=>{let G=B.query?.trim()??"";return O.filter((N)=>{if(B.kind&&N.kind!==B.kind)return!1;if(B.visibility&&N.visibility!==B.visibility)return!1;return F(N,G)})},[B,O]),Z=R.render(L,{defaultValues:{query:B.query??"",visibility:B.visibility??"",kind:B.kind??""},overrides:{onSubmitOverride:(G)=>{let N=G;J({query:N.query??"",visibility:N.visibility??"",kind:N.kind??""})}}});return U(T,{gap:"xl",children:[U(T,{gap:"sm",children:[K(v,{children:"Reference"}),K(W,{children:"Generated reference material for public contract surfaces, versions, owners, and example-backed implementations. Use this when you need the repo truth, not just the narrative docs layer."})]}),K(T,{gap:"sm",className:"max-w-2xl",children:Z}),K(Q,{spec:I,items:Y,emptyState:K(W,{children:"No reference docs match your filters."}),onSelect:(G)=>{if(G.route)window.location.assign(G.route)},renderActions:(G)=>{return U(H,{gap:"xs",justify:"end",children:[G.kind?K(P,{size:"sm",label:G.kind}):null,G.visibility?K(P,{size:"sm",label:G.visibility}):null,G.version?K(P,{size:"sm",label:`v${G.version}`}):null]})}})]})}export{h as DocsReferenceIndexClient};
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- var P="docs-index.manifest.json";import{readFile as g}from"fs/promises";import{dirname as w,join as d}from"path";import{fileURLToPath as C}from"url";var u=w(C(import.meta.url)),f=null,a=null,m=new Map;function R(n){if(!n)return"_common";if(n.includes("/")){let[o]=n.split("/");return o||"_common"}return"_common"}async function I(){if(!f)f=g(d(u,P),"utf8").then((n)=>JSON.parse(n));return f}function N(n){let o=n.contentRoot??".";return d(u,o)}async function h(n){let o=m.get(n);if(o)return o;let s=g(d(u,n),"utf8").then((i)=>JSON.parse(i));return m.set(n,s),s}async function k(){if(!a)a=(async()=>{let n=await I();return(await Promise.all(n.chunks.map((s)=>h(s.file)))).flat()})();return a}async function b(){return I()}async function Q(n){let o=await I(),s=R(n),i=o.chunks.find((c)=>c.key===s);if(!i)return null;let r=(await h(i.file)).find((c)=>c.id===n);if(!r||!r.contentPath)return null;let t=d(N(o),r.contentPath);try{let c=await g(t,"utf8");return{entry:r,content:c}}catch{return null}}import{DocsIndexDataView as O,DocsSearchForm as A}from"@contractspec/lib.contracts-spec/docs";import{DataViewList as G,formRenderer as T,StatusChip as D}from"@contractspec/lib.design-system";import{HStack as J,VStack as l}from"@contractspec/lib.ui-kit-web/ui/stack";import{H1 as X,Muted as E}from"@contractspec/lib.ui-kit-web/ui/typography";import{useMemo as M,useState as v}from"react";import{jsx as e,jsxs as p}from"react/jsx-runtime";function B(n){if(!n)return;return n.replace(/<!--.*?-->/g,"").replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
2
+ var C=Object.defineProperty;var R=(n)=>n;function N(n,o){this[n]=R.bind(null,o)}var O=(n,o)=>{for(var t in o)C(n,t,{get:o[t],enumerable:!0,configurable:!0,set:N.bind(o,t)})};var A=(n,o)=>()=>(n&&(o=n(n=0)),o);var P="docs-index.manifest.json";var f={};O(f,{listGeneratedDocs:()=>F,getGeneratedDocById:()=>U,getDocsIndexManifest:()=>K});import{readFile as I}from"fs/promises";import*as i from"path";import{fileURLToPath as T}from"url";function X(n){if(!n)return"_common";if(n.includes("/")){let[o]=n.split("/");return o||"_common"}return"_common"}async function u(){if(!g)g=I(i.join(d,P),"utf8").then((n)=>JSON.parse(n));return g}function v(n){let o=n.contentRoot??".";if(o==="../../../../../../../generated/docs")return J;return i.join(d,o)}async function E(n){let o=M.get(n);if(o)return o;let t=I(i.join(d,n),"utf8").then((s)=>JSON.parse(s));return M.set(n,t),t}async function F(){if(!p)p=(async()=>{let n=await u();return(await Promise.all(n.chunks.map((t)=>E(t.file)))).flat()})();return p}async function K(){return u()}async function U(n){let o=await u(),t=X(n),s=o.chunks.find((c)=>c.key===t);if(!s)return null;let a=(await E(s.file)).find((c)=>c.id===n);if(!a||!a.contentPath)return null;let e=i.join(v(o),a.contentPath);try{let c=await I(e,"utf8");return{entry:a,content:c}}catch{return null}}var d,J,g=null,p=null,M;var D=A(()=>{d=i.dirname(T(import.meta.url)),J=i.join(d,"../../../../../../../generated/docs"),M=new Map});async function tn(){let{getDocsIndexManifest:n}=await Promise.resolve().then(() => (D(),f));return n()}async function k(){let{listGeneratedDocs:n}=await Promise.resolve().then(() => (D(),f));return n()}async function en(n){let{getGeneratedDocById:o}=await Promise.resolve().then(() => (D(),f));return o(n)}import{DocsIndexDataView as L,DocsSearchForm as W}from"@contractspec/lib.contracts-spec/docs";import{DataViewList as Y,formRenderer as Z,StatusChip as x}from"@contractspec/lib.design-system";import{HStack as $,VStack as l}from"@contractspec/lib.ui-kit-web/ui/stack";import{H1 as b,Muted as w}from"@contractspec/lib.ui-kit-web/ui/typography";import{useMemo as G,useState as Q}from"react";import{jsx as r,jsxs as m}from"react/jsx-runtime";function S(n){if(!n)return;return n.replace(/<!--.*?-->/g,"").replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
3
3
 
4
- `).trim()}function F(n){let o=B(n.summary),s=n.kind??(n.source==="generated"?"reference":void 0),i=n.visibility??(n.source==="generated"?"public":void 0);return{...n,summary:o,kind:s,visibility:i}}function K(n,o){if(!o)return!0;return[n.title,n.summary,n.id,...n.tags??[]].filter(Boolean).join(" ").toLowerCase().includes(o.toLowerCase())}function _({entries:n}){let[o,s]=v({}),i=M(()=>n.map(F),[n]),x=M(()=>{let t=o.query?.trim()??"";return i.filter((c)=>{if(o.kind&&c.kind!==o.kind)return!1;if(o.visibility&&c.visibility!==o.visibility)return!1;return K(c,t)})},[o,i]),r=T.render(A,{defaultValues:{query:o.query??"",visibility:o.visibility??"",kind:o.kind??""},overrides:{onSubmitOverride:(t)=>{let c=t;s({query:c.query??"",visibility:c.visibility??"",kind:c.kind??""})}}});return p(l,{gap:"xl",children:[p(l,{gap:"sm",children:[e(X,{children:"Reference"}),e(E,{children:"Generated reference material for public contract surfaces, versions, owners, and example-backed implementations. Use this when you need the repo truth, not just the narrative docs layer."})]}),e(l,{gap:"sm",className:"max-w-2xl",children:r}),e(G,{spec:O,items:x,emptyState:e(E,{children:"No reference docs match your filters."}),onSelect:(t)=>{if(t.route)window.location.assign(t.route)},renderActions:(t)=>{return p(J,{gap:"xs",justify:"end",children:[t.kind?e(D,{size:"sm",label:t.kind}):null,t.visibility?e(D,{size:"sm",label:t.visibility}):null,t.version?e(D,{size:"sm",label:`v${t.version}`}):null]})}})]})}import{jsx as U}from"react/jsx-runtime";async function cn(){let n=await k();return U(_,{entries:n})}export{cn as DocsReferenceIndexPage};
4
+ `).trim()}function H(n){let o=S(n.summary),t=n.kind??(n.source==="generated"?"reference":void 0),s=n.visibility??(n.source==="generated"?"public":void 0);return{...n,summary:o,kind:t,visibility:s}}function z(n,o){if(!o)return!0;return[n.title,n.summary,n.id,...n.tags??[]].filter(Boolean).join(" ").toLowerCase().includes(o.toLowerCase())}function _({entries:n}){let[o,t]=Q({}),s=G(()=>n.map(H),[n]),h=G(()=>{let e=o.query?.trim()??"";return s.filter((c)=>{if(o.kind&&c.kind!==o.kind)return!1;if(o.visibility&&c.visibility!==o.visibility)return!1;return z(c,e)})},[o,s]),a=Z.render(W,{defaultValues:{query:o.query??"",visibility:o.visibility??"",kind:o.kind??""},overrides:{onSubmitOverride:(e)=>{let c=e;t({query:c.query??"",visibility:c.visibility??"",kind:c.kind??""})}}});return m(l,{gap:"xl",children:[m(l,{gap:"sm",children:[r(b,{children:"Reference"}),r(w,{children:"Generated reference material for public contract surfaces, versions, owners, and example-backed implementations. Use this when you need the repo truth, not just the narrative docs layer."})]}),r(l,{gap:"sm",className:"max-w-2xl",children:a}),r(Y,{spec:L,items:h,emptyState:r(w,{children:"No reference docs match your filters."}),onSelect:(e)=>{if(e.route)window.location.assign(e.route)},renderActions:(e)=>{return m($,{gap:"xs",justify:"end",children:[e.kind?r(x,{size:"sm",label:e.kind}):null,e.visibility?r(x,{size:"sm",label:e.visibility}):null,e.version?r(x,{size:"sm",label:`v${e.version}`}):null]})}})]})}import{jsx as q}from"react/jsx-runtime";async function un(){let n=await k();return q(_,{entries:n})}export{un as DocsReferenceIndexPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var F=/^##\s+Metadata[\s\S]*?(?=^##\s|^#\s|Z)/m;function J(p){return p.replace(/^#\s+.*\n+/m,"").replace(F,"")}function D(p){return/^#{1,4}\s+/.test(p)||/^```/.test(p)||/^\s*[-*]\s+/.test(p)||/^\s*\d+\.\s+/.test(p)||/^>\s+/.test(p)}function E(p){let s=J(p).split(/\r?\n/),h=[],i=0;while(i<s.length){let u=s[i]??"";if(u.startsWith("<!-- @generated")){i+=1;continue}let t=u.trim();if(!t){i+=1;continue}if(t.startsWith("```")){let g=t.slice(3).trim(),f=[];i+=1;while(i<s.length&&!(s[i]??"").trim().startsWith("```"))f.push(s[i]??""),i+=1;i+=1,h.push({type:"code",language:g||"text",code:f.join(`
3
- `)});continue}if(/^#{1,4}\s+/.test(t)){let g=t.match(/^#{1,4}/)?.[0].length??2;h.push({type:"heading",level:g,text:t.replace(/^#{1,4}\s+/,"")}),i+=1;continue}if(/^>\s+/.test(t)){let g=[];while(i<s.length&&/^>\s+/.test((s[i]??"").trim()))g.push((s[i]??"").trim().replace(/^>\s+/,"")),i+=1;h.push({type:"quote",text:g.join(" ")});continue}if(/^[-*]\s+/.test(t)||/^\d+\.\s+/.test(t)){let g=/^\d+\.\s+/.test(t),f=[];while(i<s.length&&D((s[i]??"").trim())){let o=(s[i]??"").trim();if(g&&/^\d+\.\s+/.test(o))f.push(o.replace(/^\d+\.\s+/,""));else if(!g&&/^[-*]\s+/.test(o))f.push(o.replace(/^[-*]\s+/,""));else break;i+=1}h.push({type:"list",ordered:g,items:f});continue}let q=[];while(i<s.length&&!D((s[i]??"").trim())){let g=(s[i]??"").trim();if(!g)break;q.push(g),i+=1}h.push({type:"paragraph",text:q.join(" ")})}return h}import{CodeBlock as K}from"@contractspec/lib.design-system";import{HStack as N,VStack as B}from"@contractspec/lib.ui-kit-web/ui/stack";import{BlockQuote as O,H2 as X,H3 as Y,H4 as _,Muted as P,P as d}from"@contractspec/lib.ui-kit-web/ui/typography";import{jsx as r,jsxs as U}from"react/jsx-runtime";var $=new Set(["typescript","tsx","javascript","jsx","bash","shell","json","yaml","graphql","sql","python","go","rust","css","scss","html","markdown","text"]);function Q(p){if(!p)return"text";let s=p.toLowerCase();return $.has(s)?s:"text"}function R(p,s){if(p<=2)return r(X,{children:s});if(p===3)return r(Y,{children:s});return r(_,{children:s})}function e({content:p}){let s=E(p);if(!s.length)return r(P,{children:"No reference content available."});return r(B,{gap:"md",children:s.map((h,i)=>{switch(h.type){case"heading":return r(B,{children:R(h.level,h.text)},i);case"paragraph":return r(d,{children:h.text},i);case"quote":return r(O,{children:h.text},i);case"code":return r(K,{language:Q(h.language),code:h.code},i);case"list":return r(B,{gap:"xs",children:h.items.map((u,t)=>U(N,{gap:"sm",align:"start",children:[r(P,{children:h.ordered?`${t+1}.`:"\u2022"}),r(d,{className:"leading-relaxed",children:u})]},t))},i);default:return null}})})}import{ContractReferenceDataView as L}from"@contractspec/lib.contracts-spec/docs";import{DataViewRenderer as z}from"@contractspec/lib.design-system";import{VStack as G}from"@contractspec/lib.ui-kit-web/ui/stack";import{jsx as A,jsxs as n}from"react/jsx-runtime";function T(p,s){return p.match(new RegExp(`- \\*\\*${s}\\*\\*: (.+)`,"i"))?.[1]?.trim()}function I(p){if(!p)return;return p.replace(/<!--.*?-->/g,"").replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
2
+ var F=Object.defineProperty;var J=(s)=>s;function K(s,p){this[s]=J.bind(null,p)}var H=(s,p)=>{for(var h in p)F(s,h,{get:p[h],enumerable:!0,configurable:!0,set:K.bind(p,h)})};var S=(s,p)=>()=>(s&&(p=s(s=0)),p);var N=/^##\s+Metadata[\s\S]*?(?=^##\s|^#\s|Z)/m;function O(s){return s.replace(/^#\s+.*\n+/m,"").replace(N,"")}function D(s){return/^#{1,4}\s+/.test(s)||/^```/.test(s)||/^\s*[-*]\s+/.test(s)||/^\s*\d+\.\s+/.test(s)||/^>\s+/.test(s)}function E(s){let p=O(s).split(/\r?\n/),h=[],i=0;while(i<p.length){let u=p[i]??"";if(u.startsWith("<!-- @generated")){i+=1;continue}let t=u.trim();if(!t){i+=1;continue}if(t.startsWith("```")){let g=t.slice(3).trim(),f=[];i+=1;while(i<p.length&&!(p[i]??"").trim().startsWith("```"))f.push(p[i]??""),i+=1;i+=1,h.push({type:"code",language:g||"text",code:f.join(`
3
+ `)});continue}if(/^#{1,4}\s+/.test(t)){let g=t.match(/^#{1,4}/)?.[0].length??2;h.push({type:"heading",level:g,text:t.replace(/^#{1,4}\s+/,"")}),i+=1;continue}if(/^>\s+/.test(t)){let g=[];while(i<p.length&&/^>\s+/.test((p[i]??"").trim()))g.push((p[i]??"").trim().replace(/^>\s+/,"")),i+=1;h.push({type:"quote",text:g.join(" ")});continue}if(/^[-*]\s+/.test(t)||/^\d+\.\s+/.test(t)){let g=/^\d+\.\s+/.test(t),f=[];while(i<p.length&&D((p[i]??"").trim())){let o=(p[i]??"").trim();if(g&&/^\d+\.\s+/.test(o))f.push(o.replace(/^\d+\.\s+/,""));else if(!g&&/^[-*]\s+/.test(o))f.push(o.replace(/^[-*]\s+/,""));else break;i+=1}h.push({type:"list",ordered:g,items:f});continue}let q=[];while(i<p.length&&!D((p[i]??"").trim())){let g=(p[i]??"").trim();if(!g)break;q.push(g),i+=1}h.push({type:"paragraph",text:q.join(" ")})}return h}import{CodeBlock as X}from"@contractspec/lib.design-system";import{HStack as Y,VStack as B}from"@contractspec/lib.ui-kit-web/ui/stack";import{BlockQuote as _,H2 as $,H3 as Q,H4 as R,Muted as P,P as d}from"@contractspec/lib.ui-kit-web/ui/typography";import{jsx as r,jsxs as I}from"react/jsx-runtime";var U=new Set(["typescript","tsx","javascript","jsx","bash","shell","json","yaml","graphql","sql","python","go","rust","css","scss","html","markdown","text"]);function z(s){if(!s)return"text";let p=s.toLowerCase();return U.has(p)?p:"text"}function G(s,p){if(s<=2)return r($,{children:p});if(s===3)return r(Q,{children:p});return r(R,{children:p})}function e({content:s}){let p=E(s);if(!p.length)return r(P,{children:"No reference content available."});return r(B,{gap:"md",children:p.map((h,i)=>{switch(h.type){case"heading":return r(B,{children:G(h.level,h.text)},i);case"paragraph":return r(d,{children:h.text},i);case"quote":return r(_,{children:h.text},i);case"code":return r(X,{language:z(h.language),code:h.code},i);case"list":return r(B,{gap:"xs",children:h.items.map((u,t)=>I(Y,{gap:"sm",align:"start",children:[r(P,{children:h.ordered?`${t+1}.`:"\u2022"}),r(d,{className:"leading-relaxed",children:u})]},t))},i);default:return null}})})}import{ContractReferenceDataView as L}from"@contractspec/lib.contracts-spec/docs";import{DataViewRenderer as n}from"@contractspec/lib.design-system";import{VStack as v}from"@contractspec/lib.ui-kit-web/ui/stack";import{jsx as A,jsxs as m}from"react/jsx-runtime";function T(s,p){return s.match(new RegExp(`- \\*\\*${p}\\*\\*: (.+)`,"i"))?.[1]?.trim()}function w(s){if(!s)return;return s.replace(/<!--.*?-->/g,"").replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
4
4
 
5
- `).trim()}function Z({entry:p,content:s}){let h=I(p.summary),i=T(s,"Type"),u=T(s,"Version")??p.version,t=T(s,"Tags")?.split(",").map((W)=>W.trim()).filter(Boolean),q=T(s,"Owners")?.split(",").map((W)=>W.trim()).filter(Boolean),g=T(s,"Stability")??p.visibility,f={reference:{key:p.title??p.id,version:u,type:i,title:p.title??p.id,description:h,tags:t??p.tags,owners:q??p.owners,stability:g}},o={...L,meta:{...L.meta,title:p.title??L.meta.title,description:h??L.meta.description}};return n(G,{gap:"xl",children:[A(z,{spec:o,item:f}),A(e,{content:s})]})}import{jsx as v}from"react/jsx-runtime";function x({entry:p,content:s}){return v(Z,{entry:p,content:s})}export{x as DocsReferencePage};
5
+ `).trim()}function Z({entry:s,content:p}){let h=w(s.summary),i=T(p,"Type"),u=T(p,"Version")??s.version,t=T(p,"Tags")?.split(",").map((W)=>W.trim()).filter(Boolean),q=T(p,"Owners")?.split(",").map((W)=>W.trim()).filter(Boolean),g=T(p,"Stability")??s.visibility,f={reference:{key:s.title??s.id,version:u,type:i,title:s.title??s.id,description:h,tags:t??s.tags,owners:q??s.owners,stability:g}},o={...L,meta:{...L.meta,title:s.title??L.meta.title,description:h??L.meta.description}};return m(v,{gap:"xl",children:[A(n,{spec:o,item:f}),A(e,{content:p})]})}import{jsx as M}from"react/jsx-runtime";function gs({entry:s,content:p}){return M(Z,{entry:s,content:p})}export{gs as DocsReferencePage};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- var h=/^##\s+Metadata[\s\S]*?(?=^##\s|^#\s|Z)/m;function g(i){return i.replace(/^#\s+.*\n+/m,"").replace(h,"")}function l(i){return/^#{1,4}\s+/.test(i)||/^```/.test(i)||/^\s*[-*]\s+/.test(i)||/^\s*\d+\.\s+/.test(i)||/^>\s+/.test(i)}function u(i){let e=g(i).split(/\r?\n/),r=[],t=0;while(t<e.length){let c=e[t]??"";if(c.startsWith("<!-- @generated")){t+=1;continue}let n=c.trim();if(!n){t+=1;continue}if(n.startsWith("```")){let s=n.slice(3).trim(),o=[];t+=1;while(t<e.length&&!(e[t]??"").trim().startsWith("```"))o.push(e[t]??""),t+=1;t+=1,r.push({type:"code",language:s||"text",code:o.join(`
3
- `)});continue}if(/^#{1,4}\s+/.test(n)){let s=n.match(/^#{1,4}/)?.[0].length??2;r.push({type:"heading",level:s,text:n.replace(/^#{1,4}\s+/,"")}),t+=1;continue}if(/^>\s+/.test(n)){let s=[];while(t<e.length&&/^>\s+/.test((e[t]??"").trim()))s.push((e[t]??"").trim().replace(/^>\s+/,"")),t+=1;r.push({type:"quote",text:s.join(" ")});continue}if(/^[-*]\s+/.test(n)||/^\d+\.\s+/.test(n)){let s=/^\d+\.\s+/.test(n),o=[];while(t<e.length&&l((e[t]??"").trim())){let a=(e[t]??"").trim();if(s&&/^\d+\.\s+/.test(a))o.push(a.replace(/^\d+\.\s+/,""));else if(!s&&/^[-*]\s+/.test(a))o.push(a.replace(/^[-*]\s+/,""));else break;t+=1}r.push({type:"list",ordered:s,items:o});continue}let p=[];while(t<e.length&&!l((e[t]??"").trim())){let s=(e[t]??"").trim();if(!s)break;p.push(s),t+=1}r.push({type:"paragraph",text:p.join(" ")})}return r}export{u as parseDocsMarkdown};
2
+ var h=Object.defineProperty;var g=(s)=>s;function u(s,t){this[s]=g.bind(null,t)}var f=(s,t)=>{for(var i in t)h(s,i,{get:t[i],enumerable:!0,configurable:!0,set:u.bind(t,i)})};var k=(s,t)=>()=>(s&&(t=s(s=0)),t);var d=/^##\s+Metadata[\s\S]*?(?=^##\s|^#\s|Z)/m;function m(s){return s.replace(/^#\s+.*\n+/m,"").replace(d,"")}function l(s){return/^#{1,4}\s+/.test(s)||/^```/.test(s)||/^\s*[-*]\s+/.test(s)||/^\s*\d+\.\s+/.test(s)||/^>\s+/.test(s)}function y(s){let t=m(s).split(/\r?\n/),i=[],e=0;while(e<t.length){let c=t[e]??"";if(c.startsWith("<!-- @generated")){e+=1;continue}let r=c.trim();if(!r){e+=1;continue}if(r.startsWith("```")){let n=r.slice(3).trim(),o=[];e+=1;while(e<t.length&&!(t[e]??"").trim().startsWith("```"))o.push(t[e]??""),e+=1;e+=1,i.push({type:"code",language:n||"text",code:o.join(`
3
+ `)});continue}if(/^#{1,4}\s+/.test(r)){let n=r.match(/^#{1,4}/)?.[0].length??2;i.push({type:"heading",level:n,text:r.replace(/^#{1,4}\s+/,"")}),e+=1;continue}if(/^>\s+/.test(r)){let n=[];while(e<t.length&&/^>\s+/.test((t[e]??"").trim()))n.push((t[e]??"").trim().replace(/^>\s+/,"")),e+=1;i.push({type:"quote",text:n.join(" ")});continue}if(/^[-*]\s+/.test(r)||/^\d+\.\s+/.test(r)){let n=/^\d+\.\s+/.test(r),o=[];while(e<t.length&&l((t[e]??"").trim())){let a=(t[e]??"").trim();if(n&&/^\d+\.\s+/.test(a))o.push(a.replace(/^\d+\.\s+/,""));else if(!n&&/^[-*]\s+/.test(a))o.push(a.replace(/^[-*]\s+/,""));else break;e+=1}i.push({type:"list",ordered:n,items:o});continue}let p=[];while(e<t.length&&!l((t[e]??"").trim())){let n=(t[e]??"").trim();if(!n)break;p.push(n),e+=1}i.push({type:"paragraph",text:p.join(" ")})}return i}export{y as parseDocsMarkdown};
@@ -1,7 +1,7 @@
1
1
  // @bun
2
- var M="docs-index.manifest.json";import{readFile as l}from"fs/promises";import{dirname as Y,join as d}from"path";import{fileURLToPath as $}from"url";var m=Y($(import.meta.url)),P=null,a=null,N=new Map;function q(s){if(!s)return"_common";if(s.includes("/")){let[n]=s.split("/");return n||"_common"}return"_common"}async function E(){if(!P)P=l(d(m,M),"utf8").then((s)=>JSON.parse(s));return P}function v(s){let n=s.contentRoot??".";return d(m,n)}async function O(s){let n=N.get(s);if(n)return n;let t=l(d(m,s),"utf8").then((o)=>JSON.parse(o));return N.set(s,t),t}async function B(){if(!a)a=(async()=>{let s=await E();return(await Promise.all(s.chunks.map((t)=>O(t.file)))).flat()})();return a}async function As(){return E()}async function Ms(s){let n=await E(),t=q(s),o=n.chunks.find((i)=>i.key===t);if(!o)return null;let e=(await O(o.file)).find((i)=>i.id===s);if(!e||!e.contentPath)return null;let c=d(v(n),e.contentPath);try{let i=await l(c,"utf8");return{entry:e,content:i}}catch{return null}}import{DocsIndexDataView as C,DocsSearchForm as Q}from"@contractspec/lib.contracts-spec/docs";import{DataViewList as z,formRenderer as H,StatusChip as T}from"@contractspec/lib.design-system";import{HStack as S,VStack as _}from"@contractspec/lib.ui-kit-web/ui/stack";import{H1 as x,Muted as L}from"@contractspec/lib.ui-kit-web/ui/typography";import{useMemo as W,useState as k}from"react";import{jsx as g,jsxs as R}from"react/jsx-runtime";function V(s){if(!s)return;return s.replace(/<!--.*?-->/g,"").replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
2
+ var $=Object.defineProperty;var C=(n)=>n;function q(n,o){this[n]=C.bind(null,o)}var v=(n,o)=>{for(var s in o)$(n,s,{get:o[s],enumerable:!0,configurable:!0,set:q.bind(o,s)})};var Q=(n,o)=>()=>(n&&(o=n(n=0)),o);var B="docs-index.manifest.json";var D={};v(D,{listGeneratedDocs:()=>b,getGeneratedDocById:()=>y,getDocsIndexManifest:()=>j});import{readFile as M}from"fs/promises";import*as f from"path";import{fileURLToPath as S}from"url";function k(n){if(!n)return"_common";if(n.includes("/")){let[o]=n.split("/");return o||"_common"}return"_common"}async function T(){if(!m)m=M(f.join(u,B),"utf8").then((n)=>JSON.parse(n));return m}function V(n){let o=n.contentRoot??".";if(o==="../../../../../../../generated/docs")return H;return f.join(u,o)}async function A(n){let o=G.get(n);if(o)return o;let s=M(f.join(u,n),"utf8").then((t)=>JSON.parse(t));return G.set(n,s),s}async function b(){if(!E)E=(async()=>{let n=await T();return(await Promise.all(n.chunks.map((s)=>A(s.file)))).flat()})();return E}async function j(){return T()}async function y(n){let o=await T(),s=k(n),t=o.chunks.find((e)=>e.key===s);if(!t)return null;let i=(await A(t.file)).find((e)=>e.id===n);if(!i||!i.contentPath)return null;let r=f.join(V(o),i.contentPath);try{let e=await M(r,"utf8");return{entry:i,content:e}}catch{return null}}var u,H,m=null,E=null,G;var I=Q(()=>{u=f.dirname(S(import.meta.url)),H=f.join(u,"../../../../../../../generated/docs"),G=new Map});async function Fn(){let{getDocsIndexManifest:n}=await Promise.resolve().then(() => (I(),D));return n()}async function N(){let{listGeneratedDocs:n}=await Promise.resolve().then(() => (I(),D));return n()}async function Kn(n){let{getGeneratedDocById:o}=await Promise.resolve().then(() => (I(),D));return o(n)}import{DocsIndexDataView as nn,DocsSearchForm as on}from"@contractspec/lib.contracts-spec/docs";import{DataViewList as tn,formRenderer as sn,StatusChip as R}from"@contractspec/lib.design-system";import{HStack as en,VStack as _}from"@contractspec/lib.ui-kit-web/ui/stack";import{H1 as rn,Muted as O}from"@contractspec/lib.ui-kit-web/ui/typography";import{useMemo as L,useState as cn}from"react";import{jsx as g,jsxs as x}from"react/jsx-runtime";function pn(n){if(!n)return;return n.replace(/<!--.*?-->/g,"").replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
3
3
 
4
- `).trim()}function b(s){let n=V(s.summary),t=s.kind??(s.source==="generated"?"reference":void 0),o=s.visibility??(s.source==="generated"?"public":void 0);return{...s,summary:n,kind:t,visibility:o}}function j(s,n){if(!n)return!0;return[s.title,s.summary,s.id,...s.tags??[]].filter(Boolean).join(" ").toLowerCase().includes(n.toLowerCase())}function w({entries:s}){let[n,t]=k({}),o=W(()=>s.map(b),[s]),p=W(()=>{let c=n.query?.trim()??"";return o.filter((i)=>{if(n.kind&&i.kind!==n.kind)return!1;if(n.visibility&&i.visibility!==n.visibility)return!1;return j(i,c)})},[n,o]),e=H.render(Q,{defaultValues:{query:n.query??"",visibility:n.visibility??"",kind:n.kind??""},overrides:{onSubmitOverride:(c)=>{let i=c;t({query:i.query??"",visibility:i.visibility??"",kind:i.kind??""})}}});return R(_,{gap:"xl",children:[R(_,{gap:"sm",children:[g(x,{children:"Reference"}),g(L,{children:"Generated reference material for public contract surfaces, versions, owners, and example-backed implementations. Use this when you need the repo truth, not just the narrative docs layer."})]}),g(_,{gap:"sm",className:"max-w-2xl",children:e}),g(z,{spec:C,items:p,emptyState:g(L,{children:"No reference docs match your filters."}),onSelect:(c)=>{if(c.route)window.location.assign(c.route)},renderActions:(c)=>{return R(S,{gap:"xs",justify:"end",children:[c.kind?g(T,{size:"sm",label:c.kind}):null,c.visibility?g(T,{size:"sm",label:c.visibility}):null,c.version?g(T,{size:"sm",label:`v${c.version}`}):null]})}})]})}import{jsx as ss}from"react/jsx-runtime";async function y(){let s=await B();return ss(w,{entries:s})}var ns=/^##\s+Metadata[\s\S]*?(?=^##\s|^#\s|Z)/m;function os(s){return s.replace(/^#\s+.*\n+/m,"").replace(ns,"")}function J(s){return/^#{1,4}\s+/.test(s)||/^```/.test(s)||/^\s*[-*]\s+/.test(s)||/^\s*\d+\.\s+/.test(s)||/^>\s+/.test(s)}function X(s){let n=os(s).split(/\r?\n/),t=[],o=0;while(o<n.length){let p=n[o]??"";if(p.startsWith("<!-- @generated")){o+=1;continue}let e=p.trim();if(!e){o+=1;continue}if(e.startsWith("```")){let i=e.slice(3).trim(),f=[];o+=1;while(o<n.length&&!(n[o]??"").trim().startsWith("```"))f.push(n[o]??""),o+=1;o+=1,t.push({type:"code",language:i||"text",code:f.join(`
5
- `)});continue}if(/^#{1,4}\s+/.test(e)){let i=e.match(/^#{1,4}/)?.[0].length??2;t.push({type:"heading",level:i,text:e.replace(/^#{1,4}\s+/,"")}),o+=1;continue}if(/^>\s+/.test(e)){let i=[];while(o<n.length&&/^>\s+/.test((n[o]??"").trim()))i.push((n[o]??"").trim().replace(/^>\s+/,"")),o+=1;t.push({type:"quote",text:i.join(" ")});continue}if(/^[-*]\s+/.test(e)||/^\d+\.\s+/.test(e)){let i=/^\d+\.\s+/.test(e),f=[];while(o<n.length&&J((n[o]??"").trim())){let h=(n[o]??"").trim();if(i&&/^\d+\.\s+/.test(h))f.push(h.replace(/^\d+\.\s+/,""));else if(!i&&/^[-*]\s+/.test(h))f.push(h.replace(/^[-*]\s+/,""));else break;o+=1}t.push({type:"list",ordered:i,items:f});continue}let c=[];while(o<n.length&&!J((n[o]??"").trim())){let i=(n[o]??"").trim();if(!i)break;c.push(i),o+=1}t.push({type:"paragraph",text:c.join(" ")})}return t}import{CodeBlock as ts}from"@contractspec/lib.design-system";import{HStack as is,VStack as A}from"@contractspec/lib.ui-kit-web/ui/stack";import{BlockQuote as es,H2 as cs,H3 as rs,H4 as ps,Muted as F,P as G}from"@contractspec/lib.ui-kit-web/ui/typography";import{jsx as r,jsxs as us}from"react/jsx-runtime";var fs=new Set(["typescript","tsx","javascript","jsx","bash","shell","json","yaml","graphql","sql","python","go","rust","css","scss","html","markdown","text"]);function gs(s){if(!s)return"text";let n=s.toLowerCase();return fs.has(n)?n:"text"}function hs(s,n){if(s<=2)return r(cs,{children:n});if(s===3)return r(rs,{children:n});return r(ps,{children:n})}function K({content:s}){let n=X(s);if(!n.length)return r(F,{children:"No reference content available."});return r(A,{gap:"md",children:n.map((t,o)=>{switch(t.type){case"heading":return r(A,{children:hs(t.level,t.text)},o);case"paragraph":return r(G,{children:t.text},o);case"quote":return r(es,{children:t.text},o);case"code":return r(ts,{language:gs(t.language),code:t.code},o);case"list":return r(A,{gap:"xs",children:t.items.map((p,e)=>us(is,{gap:"sm",align:"start",children:[r(F,{children:t.ordered?`${e+1}.`:"\u2022"}),r(G,{className:"leading-relaxed",children:p})]},e))},o);default:return null}})})}import{ContractReferenceDataView as D}from"@contractspec/lib.contracts-spec/docs";import{DataViewRenderer as ds}from"@contractspec/lib.design-system";import{VStack as Ds}from"@contractspec/lib.ui-kit-web/ui/stack";import{jsx as Z,jsxs as Ps}from"react/jsx-runtime";function u(s,n){return s.match(new RegExp(`- \\*\\*${n}\\*\\*: (.+)`,"i"))?.[1]?.trim()}function Is(s){if(!s)return;return s.replace(/<!--.*?-->/g,"").replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
4
+ `).trim()}function dn(n){let o=pn(n.summary),s=n.kind??(n.source==="generated"?"reference":void 0),t=n.visibility??(n.source==="generated"?"public":void 0);return{...n,summary:o,kind:s,visibility:t}}function fn(n,o){if(!o)return!0;return[n.title,n.summary,n.id,...n.tags??[]].filter(Boolean).join(" ").toLowerCase().includes(o.toLowerCase())}function W({entries:n}){let[o,s]=cn({}),t=L(()=>n.map(dn),[n]),p=L(()=>{let r=o.query?.trim()??"";return t.filter((e)=>{if(o.kind&&e.kind!==o.kind)return!1;if(o.visibility&&e.visibility!==o.visibility)return!1;return fn(e,r)})},[o,t]),i=sn.render(on,{defaultValues:{query:o.query??"",visibility:o.visibility??"",kind:o.kind??""},overrides:{onSubmitOverride:(r)=>{let e=r;s({query:e.query??"",visibility:e.visibility??"",kind:e.kind??""})}}});return x(_,{gap:"xl",children:[x(_,{gap:"sm",children:[g(rn,{children:"Reference"}),g(O,{children:"Generated reference material for public contract surfaces, versions, owners, and example-backed implementations. Use this when you need the repo truth, not just the narrative docs layer."})]}),g(_,{gap:"sm",className:"max-w-2xl",children:i}),g(tn,{spec:nn,items:p,emptyState:g(O,{children:"No reference docs match your filters."}),onSelect:(r)=>{if(r.route)window.location.assign(r.route)},renderActions:(r)=>{return x(en,{gap:"xs",justify:"end",children:[r.kind?g(R,{size:"sm",label:r.kind}):null,r.visibility?g(R,{size:"sm",label:r.visibility}):null,r.version?g(R,{size:"sm",label:`v${r.version}`}):null]})}})]})}import{jsx as an}from"react/jsx-runtime";async function gn(){let n=await N();return an(W,{entries:n})}var hn=/^##\s+Metadata[\s\S]*?(?=^##\s|^#\s|Z)/m;function un(n){return n.replace(/^#\s+.*\n+/m,"").replace(hn,"")}function J(n){return/^#{1,4}\s+/.test(n)||/^```/.test(n)||/^\s*[-*]\s+/.test(n)||/^\s*\d+\.\s+/.test(n)||/^>\s+/.test(n)}function X(n){let o=un(n).split(/\r?\n/),s=[],t=0;while(t<o.length){let p=o[t]??"";if(p.startsWith("<!-- @generated")){t+=1;continue}let i=p.trim();if(!i){t+=1;continue}if(i.startsWith("```")){let e=i.slice(3).trim(),d=[];t+=1;while(t<o.length&&!(o[t]??"").trim().startsWith("```"))d.push(o[t]??""),t+=1;t+=1,s.push({type:"code",language:e||"text",code:d.join(`
5
+ `)});continue}if(/^#{1,4}\s+/.test(i)){let e=i.match(/^#{1,4}/)?.[0].length??2;s.push({type:"heading",level:e,text:i.replace(/^#{1,4}\s+/,"")}),t+=1;continue}if(/^>\s+/.test(i)){let e=[];while(t<o.length&&/^>\s+/.test((o[t]??"").trim()))e.push((o[t]??"").trim().replace(/^>\s+/,"")),t+=1;s.push({type:"quote",text:e.join(" ")});continue}if(/^[-*]\s+/.test(i)||/^\d+\.\s+/.test(i)){let e=/^\d+\.\s+/.test(i),d=[];while(t<o.length&&J((o[t]??"").trim())){let a=(o[t]??"").trim();if(e&&/^\d+\.\s+/.test(a))d.push(a.replace(/^\d+\.\s+/,""));else if(!e&&/^[-*]\s+/.test(a))d.push(a.replace(/^[-*]\s+/,""));else break;t+=1}s.push({type:"list",ordered:e,items:d});continue}let r=[];while(t<o.length&&!J((o[t]??"").trim())){let e=(o[t]??"").trim();if(!e)break;r.push(e),t+=1}s.push({type:"paragraph",text:r.join(" ")})}return s}import{CodeBlock as Dn}from"@contractspec/lib.design-system";import{HStack as In,VStack as w}from"@contractspec/lib.ui-kit-web/ui/stack";import{BlockQuote as ln,H2 as Pn,H3 as mn,H4 as En,Muted as F,P as K}from"@contractspec/lib.ui-kit-web/ui/typography";import{jsx as c,jsxs as _n}from"react/jsx-runtime";var Mn=new Set(["typescript","tsx","javascript","jsx","bash","shell","json","yaml","graphql","sql","python","go","rust","css","scss","html","markdown","text"]);function Tn(n){if(!n)return"text";let o=n.toLowerCase();return Mn.has(o)?o:"text"}function Rn(n,o){if(n<=2)return c(Pn,{children:o});if(n===3)return c(mn,{children:o});return c(En,{children:o})}function Z({content:n}){let o=X(n);if(!o.length)return c(F,{children:"No reference content available."});return c(w,{gap:"md",children:o.map((s,t)=>{switch(s.type){case"heading":return c(w,{children:Rn(s.level,s.text)},t);case"paragraph":return c(K,{children:s.text},t);case"quote":return c(ln,{children:s.text},t);case"code":return c(Dn,{language:Tn(s.language),code:s.code},t);case"list":return c(w,{gap:"xs",children:s.items.map((p,i)=>_n(In,{gap:"sm",align:"start",children:[c(F,{children:s.ordered?`${i+1}.`:"\u2022"}),c(K,{className:"leading-relaxed",children:p})]},i))},t);default:return null}})})}import{ContractReferenceDataView as l}from"@contractspec/lib.contracts-spec/docs";import{DataViewRenderer as xn}from"@contractspec/lib.design-system";import{VStack as wn}from"@contractspec/lib.ui-kit-web/ui/stack";import{jsx as U,jsxs as Gn}from"react/jsx-runtime";function h(n,o){return n.match(new RegExp(`- \\*\\*${o}\\*\\*: (.+)`,"i"))?.[1]?.trim()}function Bn(n){if(!n)return;return n.replace(/<!--.*?-->/g,"").replace(/[ \t]+/g," ").replace(/\n{3,}/g,`
6
6
 
7
- `).trim()}function U({entry:s,content:n}){let t=Is(s.summary),o=u(n,"Type"),p=u(n,"Version")??s.version,e=u(n,"Tags")?.split(",").map((I)=>I.trim()).filter(Boolean),c=u(n,"Owners")?.split(",").map((I)=>I.trim()).filter(Boolean),i=u(n,"Stability")??s.visibility,f={reference:{key:s.title??s.id,version:p,type:o,title:s.title??s.id,description:t,tags:e??s.tags,owners:c??s.owners,stability:i}},h={...D,meta:{...D.meta,title:s.title??D.meta.title,description:t??D.meta.description}};return Ps(Ds,{gap:"xl",children:[Z(ds,{spec:h,item:f}),Z(K,{content:n})]})}import{jsx as ls}from"react/jsx-runtime";function as({entry:s,content:n}){return ls(U,{entry:s,content:n})}export{as as DocsReferencePage,y as DocsReferenceIndexPage};
7
+ `).trim()}function Y({entry:n,content:o}){let s=Bn(n.summary),t=h(o,"Type"),p=h(o,"Version")??n.version,i=h(o,"Tags")?.split(",").map((P)=>P.trim()).filter(Boolean),r=h(o,"Owners")?.split(",").map((P)=>P.trim()).filter(Boolean),e=h(o,"Stability")??n.visibility,d={reference:{key:n.title??n.id,version:p,type:t,title:n.title??n.id,description:s,tags:i??n.tags,owners:r??n.owners,stability:e}},a={...l,meta:{...l.meta,title:n.title??l.meta.title,description:s??l.meta.description}};return Gn(wn,{gap:"xl",children:[U(xn,{spec:a,item:d}),U(Z,{content:o})]})}import{jsx as Nn}from"react/jsx-runtime";function An({entry:n,content:o}){return Nn(Y,{entry:n,content:o})}export{An as DocsReferencePage,gn as DocsReferenceIndexPage};