@contractspec/bundle.library 3.9.0 → 3.9.3

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 (724) hide show
  1. package/.turbo/turbo-build.log +612 -608
  2. package/CHANGELOG.md +89 -0
  3. package/README.md +2 -1
  4. package/dist/__tests__/mocks/prisma.d.ts +5 -5
  5. package/dist/application/context-storage/index.js +1 -1
  6. package/dist/application/index.js +6 -6
  7. package/dist/application/mcp/cliMcp.js +2 -2
  8. package/dist/application/mcp/cliMcp.onboarding.js +1 -1
  9. package/dist/application/mcp/common.js +1 -1
  10. package/dist/application/mcp/contractsMcp.js +2 -2
  11. package/dist/application/mcp/contractsMcpAdoptionTools.js +1 -1
  12. package/dist/application/mcp/contractsMcpResources.js +2 -2
  13. package/dist/application/mcp/contractsMcpTools.js +1 -1
  14. package/dist/application/mcp/docsMcp.catalog.js +2 -2
  15. package/dist/application/mcp/docsMcp.data.js +1 -1
  16. package/dist/application/mcp/docsMcp.js +3 -3
  17. package/dist/application/mcp/docsMcp.prompts.js +3 -3
  18. package/dist/application/mcp/docsMcp.reference.js +2 -2
  19. package/dist/application/mcp/docsMcp.resources.js +2 -2
  20. package/dist/application/mcp/docsMcp.tools.js +2 -2
  21. package/dist/application/mcp/index.js +6 -6
  22. package/dist/application/mcp/internalMcp.js +2 -2
  23. package/dist/application/mcp/normalizeMcpRequest.js +1 -1
  24. package/dist/application/mcp/providerRankingMcp.js +1 -1
  25. package/dist/bundles/LibraryBundle.d.ts +19 -111
  26. package/dist/bundles/LibraryBundle.js +1 -1
  27. package/dist/bundles/index.js +1 -1
  28. package/dist/components/docs/DocsIndexPage.js +2 -2
  29. package/dist/components/docs/advanced/AdvancedMCPPage.js +3 -3
  30. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
  31. package/dist/components/docs/advanced/AdvancedRenderersPage.js +2 -2
  32. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
  33. package/dist/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
  34. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
  35. package/dist/components/docs/advanced/index.js +9 -9
  36. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
  37. package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
  38. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
  39. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
  40. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
  41. package/dist/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
  42. package/dist/components/docs/architecture/index.js +20 -20
  43. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
  44. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
  45. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
  46. package/dist/components/docs/comparison/ComparisonOverviewPage.js +1 -1
  47. package/dist/components/docs/comparison/ComparisonWindmillPage.js +1 -1
  48. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
  49. package/dist/components/docs/comparison/index.js +1 -1
  50. package/dist/components/docs/docsManifest.js +1 -1
  51. package/dist/components/docs/ecosystem/IntegrationsPage.js +2 -2
  52. package/dist/components/docs/ecosystem/PluginsPage.js +4 -4
  53. package/dist/components/docs/ecosystem/RegistryPage.js +4 -4
  54. package/dist/components/docs/ecosystem/TemplatesPage.js +3 -3
  55. package/dist/components/docs/ecosystem/index.js +11 -11
  56. package/dist/components/docs/examples/DocsExamplesPage.js +1 -1
  57. package/dist/components/docs/examples/ExampleShowcasePage.js +2 -2
  58. package/dist/components/docs/examples/exampleShowcaseData.js +2 -2
  59. package/dist/components/docs/examples/index.js +2 -2
  60. package/dist/components/docs/generated/docs-index.generated.js +1 -1
  61. package/dist/components/docs/generated/index.d.ts +7 -1
  62. package/dist/components/docs/generated/index.js +1 -1
  63. package/dist/components/docs/generated/loader.js +1 -1
  64. package/dist/components/docs/getting-started/CLIPage.js +4 -4
  65. package/dist/components/docs/getting-started/CompatibilityPage.js +1 -1
  66. package/dist/components/docs/getting-started/DataViewTutorialPage.js +4 -4
  67. package/dist/components/docs/getting-started/DeveloperToolsPage.js +1 -1
  68. package/dist/components/docs/getting-started/HelloWorldPage.js +5 -5
  69. package/dist/components/docs/getting-started/InstallationPage.js +3 -3
  70. package/dist/components/docs/getting-started/StartHerePage.js +3 -3
  71. package/dist/components/docs/getting-started/TroubleshootingPage.js +2 -2
  72. package/dist/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
  73. package/dist/components/docs/getting-started/getting-started.docblocks.js +2 -2
  74. package/dist/components/docs/getting-started/index.js +17 -17
  75. package/dist/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
  76. package/dist/components/docs/guides/GuideConnectInRepoPage.js +6 -6
  77. package/dist/components/docs/guides/GuideContractTypesPage.js +6 -6
  78. package/dist/components/docs/guides/GuideDocsPipelinePage.js +3 -3
  79. package/dist/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
  80. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
  81. package/dist/components/docs/guides/GuideHostBuilderWorkbenchPage.js +7 -7
  82. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
  83. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
  84. package/dist/components/docs/guides/GuideReleaseCapsulesPage.js +3 -3
  85. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
  86. package/dist/components/docs/guides/GuidesIndexPage.js +2 -2
  87. package/dist/components/docs/guides/index.js +43 -43
  88. package/dist/components/docs/index.js +375 -255
  89. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
  90. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
  91. package/dist/components/docs/integrations/IntegrationsGithubPage.js +2 -2
  92. package/dist/components/docs/integrations/IntegrationsGmailPage.js +3 -3
  93. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
  94. package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
  95. package/dist/components/docs/integrations/IntegrationsMistralPage.js +2 -2
  96. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
  97. package/dist/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
  98. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
  99. package/dist/components/docs/integrations/IntegrationsPowensPage.js +2 -2
  100. package/dist/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
  101. package/dist/components/docs/integrations/IntegrationsResendPage.js +3 -3
  102. package/dist/components/docs/integrations/IntegrationsS3Page.js +4 -4
  103. package/dist/components/docs/integrations/IntegrationsSlackPage.js +2 -2
  104. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
  105. package/dist/components/docs/integrations/IntegrationsStripePage.js +2 -2
  106. package/dist/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
  107. package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
  108. package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
  109. package/dist/components/docs/integrations/index.js +39 -39
  110. package/dist/components/docs/intent/ContractFirstApiPage.js +2 -2
  111. package/dist/components/docs/intent/DeterministicCodegenPage.js +2 -2
  112. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
  113. package/dist/components/docs/intent/OpenapiAlternativePage.js +3 -3
  114. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
  115. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
  116. package/dist/components/docs/intent/index.js +15 -15
  117. package/dist/components/docs/intent/intent-pages.docblocks.js +1 -1
  118. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
  119. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
  120. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
  121. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
  122. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
  123. package/dist/components/docs/knowledge/index.js +5 -5
  124. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
  125. package/dist/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
  126. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
  127. package/dist/components/docs/libraries/LibrariesContentGenPage.js +2 -2
  128. package/dist/components/docs/libraries/LibrariesContractsPage.js +2 -2
  129. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
  130. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.d.ts +67 -0
  131. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +86 -0
  132. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.d.ts +1 -0
  133. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.js +86 -0
  134. package/dist/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
  135. package/dist/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
  136. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +38 -2
  137. package/dist/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
  138. package/dist/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
  139. package/dist/components/docs/libraries/LibrariesGrowthPage.js +3 -3
  140. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
  141. package/dist/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
  142. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
  143. package/dist/components/docs/libraries/LibrariesOverviewPage.js +1 -1
  144. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
  145. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
  146. package/dist/components/docs/libraries/LibrariesResiliencePage.js +4 -4
  147. package/dist/components/docs/libraries/LibrariesRuntimePage.js +2 -2
  148. package/dist/components/docs/libraries/LibrariesSLOPage.js +3 -3
  149. package/dist/components/docs/libraries/LibrariesSchemaPage.js +3 -3
  150. package/dist/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
  151. package/dist/components/docs/libraries/LibrariesTestingPage.js +3 -3
  152. package/dist/components/docs/libraries/LibrariesUIKitPage.js +2 -2
  153. package/dist/components/docs/libraries/LibrariesUIKitWebPage.js +2 -2
  154. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
  155. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
  156. package/dist/components/docs/libraries/index.d.ts +1 -0
  157. package/dist/components/docs/libraries/index.js +173 -53
  158. package/dist/components/docs/manifesto/ManifestoPage.js +1 -1
  159. package/dist/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
  160. package/dist/components/docs/ops/DistributedTracingOpsPage.js +2 -2
  161. package/dist/components/docs/ops/index.js +3 -3
  162. package/dist/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
  163. package/dist/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
  164. package/dist/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
  165. package/dist/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
  166. package/dist/components/docs/ops/ops-top.docs.js +2 -2
  167. package/dist/components/docs/ops/ops.docs.js +6 -6
  168. package/dist/components/docs/product/product.docblocks.js +2 -2
  169. package/dist/components/docs/reference/DocsMarkdownContent.js +2 -2
  170. package/dist/components/docs/reference/DocsReferenceContent.js +3 -3
  171. package/dist/components/docs/reference/DocsReferenceIndexClient.js +2 -2
  172. package/dist/components/docs/reference/DocsReferenceIndexPage.js +2 -2
  173. package/dist/components/docs/reference/DocsReferencePage.js +3 -3
  174. package/dist/components/docs/reference/docsMarkdownParser.js +2 -2
  175. package/dist/components/docs/reference/index.js +4 -4
  176. package/dist/components/docs/safety/SafetyAuditingPage.js +2 -2
  177. package/dist/components/docs/safety/SafetyMigrationsPage.js +2 -2
  178. package/dist/components/docs/safety/SafetyOverviewPage.js +1 -1
  179. package/dist/components/docs/safety/SafetyPDPPage.js +2 -2
  180. package/dist/components/docs/safety/SafetySecurityTrustPage.js +1 -1
  181. package/dist/components/docs/safety/SafetySigningPage.js +3 -3
  182. package/dist/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
  183. package/dist/components/docs/safety/index.js +7 -7
  184. package/dist/components/docs/shared/StudioPrompt.js +1 -1
  185. package/dist/components/docs/specs/SpecsBuilderControlPlanePage.js +4 -4
  186. package/dist/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
  187. package/dist/components/docs/specs/SpecsConnectPage.js +2 -2
  188. package/dist/components/docs/specs/SpecsDataViewsPage.js +2 -2
  189. package/dist/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
  190. package/dist/components/docs/specs/SpecsOverlaysPage.js +2 -2
  191. package/dist/components/docs/specs/SpecsOverviewPage.js +1 -1
  192. package/dist/components/docs/specs/SpecsPolicyPage.js +3 -3
  193. package/dist/components/docs/specs/SpecsWorkflowsPage.js +2 -2
  194. package/dist/components/docs/specs/index.js +13 -13
  195. package/dist/components/docs/studio/StudioBYOKPage.js +1 -1
  196. package/dist/components/docs/studio/StudioDeploymentsPage.js +1 -1
  197. package/dist/components/docs/studio/StudioGettingStartedPage.js +1 -1
  198. package/dist/components/docs/studio/StudioIntegrationsPage.js +1 -1
  199. package/dist/components/docs/studio/StudioOverviewPage.js +1 -1
  200. package/dist/components/docs/studio/StudioVisualBuilderPage.js +1 -1
  201. package/dist/components/docs/studio/index.js +1 -1
  202. package/dist/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
  203. package/dist/components/integrations/index.js +2 -2
  204. package/dist/components/integrations/molecules/IntegrationCard.js +1 -1
  205. package/dist/components/integrations/organisms/IntegrationMarketplace.js +1 -1
  206. package/dist/components/integrations/organisms/IntegrationSettings.js +2 -2
  207. package/dist/components/integrations/organisms/KnowledgeSourceList.js +1 -1
  208. package/dist/components/legal/PrivacyTemplate.js +1 -1
  209. package/dist/components/legal/TermsTemplate.js +1 -1
  210. package/dist/components/legal/index.js +1 -1
  211. package/dist/components/shared/FeatureGateNotice.js +1 -1
  212. package/dist/components/shared/index.js +1 -1
  213. package/dist/components/shell/WorkspaceHeader.js +1 -1
  214. package/dist/components/shell/WorkspaceProjectShellLayout.js +1 -1
  215. package/dist/components/shell/WorkspaceShellRenderer.js +1 -1
  216. package/dist/components/shell/WorkspaceSidebar.js +1 -1
  217. package/dist/components/shell/index.js +1 -1
  218. package/dist/components/templates/engine/index.js +1 -1
  219. package/dist/components/templates/index.js +11 -11
  220. package/dist/components/templates/messaging/ConversationList.js +2 -2
  221. package/dist/components/templates/messaging/MessageComposer.js +4 -4
  222. package/dist/components/templates/messaging/MessageThread.js +3 -3
  223. package/dist/components/templates/messaging/MessagingWorkspace.js +5 -5
  224. package/dist/components/templates/messaging/index.js +5 -5
  225. package/dist/components/templates/recipes/LanguageSwitcher.js +1 -1
  226. package/dist/components/templates/recipes/RecipeCard.js +1 -1
  227. package/dist/components/templates/recipes/RecipeDetail.js +1 -1
  228. package/dist/components/templates/recipes/RecipeList.js +3 -3
  229. package/dist/components/templates/recipes/index.js +3 -3
  230. package/dist/components/templates/todos/FilterBar.js +1 -1
  231. package/dist/components/templates/todos/TaskForm.js +2 -2
  232. package/dist/components/templates/todos/TaskItem.js +1 -1
  233. package/dist/components/templates/todos/TaskList.js +5 -5
  234. package/dist/components/templates/todos/index.js +5 -5
  235. package/dist/config/contractspec-blueprint.js +1 -1
  236. package/dist/config/contractspec-branding.js +1 -1
  237. package/dist/config/contractspec-routes.js +1 -1
  238. package/dist/config/index.js +1 -1
  239. package/dist/features/contracts-registry.js +1 -1
  240. package/dist/features/docs/docs.contracts.js +1 -1
  241. package/dist/features/docs/index.js +1 -1
  242. package/dist/features/docs.feature.js +1 -1
  243. package/dist/features/index.js +1 -1
  244. package/dist/features/mcp.feature.js +1 -1
  245. package/dist/features/presentations.feature.js +1 -1
  246. package/dist/features/registry.js +1 -1
  247. package/dist/index.d.ts +1 -0
  248. package/dist/index.js +382 -262
  249. package/dist/infrastructure/elysia/index.js +1 -1
  250. package/dist/infrastructure/elysia/logger.js +1 -1
  251. package/dist/infrastructure/index.js +1 -1
  252. package/dist/libs/email/client.js +1 -1
  253. package/dist/libs/email/contact.js +3 -3
  254. package/dist/libs/email/newsletter.js +3 -3
  255. package/dist/libs/email/utils.js +2 -2
  256. package/dist/libs/email/waitlist-application.js +3 -3
  257. package/dist/libs/email/waitlist.js +3 -3
  258. package/dist/libs/email.js +6 -6
  259. package/dist/libs/posthog/client.js +1 -1
  260. package/dist/libs/posthog/native.js +1 -1
  261. package/dist/libs/posthog/server.js +1 -1
  262. package/dist/libs/pricing-examples.js +1 -1
  263. package/dist/node/application/context-storage/index.js +1 -1
  264. package/dist/node/application/index.js +6 -6
  265. package/dist/node/application/mcp/cliMcp.js +2 -2
  266. package/dist/node/application/mcp/cliMcp.onboarding.js +1 -1
  267. package/dist/node/application/mcp/common.js +1 -1
  268. package/dist/node/application/mcp/contractsMcp.js +2 -2
  269. package/dist/node/application/mcp/contractsMcpAdoptionTools.js +1 -1
  270. package/dist/node/application/mcp/contractsMcpResources.js +2 -2
  271. package/dist/node/application/mcp/contractsMcpTools.js +1 -1
  272. package/dist/node/application/mcp/docsMcp.catalog.js +2 -2
  273. package/dist/node/application/mcp/docsMcp.data.js +1 -1
  274. package/dist/node/application/mcp/docsMcp.js +3 -3
  275. package/dist/node/application/mcp/docsMcp.prompts.js +3 -3
  276. package/dist/node/application/mcp/docsMcp.reference.js +2 -2
  277. package/dist/node/application/mcp/docsMcp.resources.js +2 -2
  278. package/dist/node/application/mcp/docsMcp.tools.js +2 -2
  279. package/dist/node/application/mcp/index.js +6 -6
  280. package/dist/node/application/mcp/internalMcp.js +2 -2
  281. package/dist/node/application/mcp/normalizeMcpRequest.js +1 -1
  282. package/dist/node/application/mcp/providerRankingMcp.js +1 -1
  283. package/dist/node/bundles/LibraryBundle.js +1 -1
  284. package/dist/node/bundles/index.js +1 -1
  285. package/dist/node/components/docs/DocsIndexPage.js +2 -2
  286. package/dist/node/components/docs/advanced/AdvancedMCPPage.js +3 -3
  287. package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
  288. package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +2 -2
  289. package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
  290. package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
  291. package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
  292. package/dist/node/components/docs/advanced/index.js +9 -9
  293. package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
  294. package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
  295. package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
  296. package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
  297. package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
  298. package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
  299. package/dist/node/components/docs/architecture/index.js +20 -20
  300. package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
  301. package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
  302. package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
  303. package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +1 -1
  304. package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +1 -1
  305. package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
  306. package/dist/node/components/docs/comparison/index.js +1 -1
  307. package/dist/node/components/docs/docsManifest.js +1 -1
  308. package/dist/node/components/docs/ecosystem/IntegrationsPage.js +2 -2
  309. package/dist/node/components/docs/ecosystem/PluginsPage.js +4 -4
  310. package/dist/node/components/docs/ecosystem/RegistryPage.js +4 -4
  311. package/dist/node/components/docs/ecosystem/TemplatesPage.js +3 -3
  312. package/dist/node/components/docs/ecosystem/index.js +11 -11
  313. package/dist/node/components/docs/examples/DocsExamplesPage.js +1 -1
  314. package/dist/node/components/docs/examples/ExampleShowcasePage.js +2 -2
  315. package/dist/node/components/docs/examples/exampleShowcaseData.js +2 -2
  316. package/dist/node/components/docs/examples/index.js +2 -2
  317. package/dist/node/components/docs/generated/docs-index.generated.js +1 -1
  318. package/dist/node/components/docs/generated/index.js +1 -1
  319. package/dist/node/components/docs/generated/loader.js +1 -1
  320. package/dist/node/components/docs/getting-started/CLIPage.js +4 -4
  321. package/dist/node/components/docs/getting-started/CompatibilityPage.js +1 -1
  322. package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +4 -4
  323. package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +1 -1
  324. package/dist/node/components/docs/getting-started/HelloWorldPage.js +5 -5
  325. package/dist/node/components/docs/getting-started/InstallationPage.js +3 -3
  326. package/dist/node/components/docs/getting-started/StartHerePage.js +3 -3
  327. package/dist/node/components/docs/getting-started/TroubleshootingPage.js +2 -2
  328. package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
  329. package/dist/node/components/docs/getting-started/getting-started.docblocks.js +2 -2
  330. package/dist/node/components/docs/getting-started/index.js +17 -17
  331. package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
  332. package/dist/node/components/docs/guides/GuideConnectInRepoPage.js +6 -6
  333. package/dist/node/components/docs/guides/GuideContractTypesPage.js +6 -6
  334. package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +3 -3
  335. package/dist/node/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
  336. package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
  337. package/dist/node/components/docs/guides/GuideHostBuilderWorkbenchPage.js +7 -7
  338. package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
  339. package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
  340. package/dist/node/components/docs/guides/GuideReleaseCapsulesPage.js +3 -3
  341. package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
  342. package/dist/node/components/docs/guides/GuidesIndexPage.js +2 -2
  343. package/dist/node/components/docs/guides/index.js +43 -43
  344. package/dist/node/components/docs/index.js +375 -255
  345. package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
  346. package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
  347. package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +2 -2
  348. package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +3 -3
  349. package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
  350. package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
  351. package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +2 -2
  352. package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
  353. package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
  354. package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
  355. package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +2 -2
  356. package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
  357. package/dist/node/components/docs/integrations/IntegrationsResendPage.js +3 -3
  358. package/dist/node/components/docs/integrations/IntegrationsS3Page.js +4 -4
  359. package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +2 -2
  360. package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
  361. package/dist/node/components/docs/integrations/IntegrationsStripePage.js +2 -2
  362. package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
  363. package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
  364. package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
  365. package/dist/node/components/docs/integrations/index.js +39 -39
  366. package/dist/node/components/docs/intent/ContractFirstApiPage.js +2 -2
  367. package/dist/node/components/docs/intent/DeterministicCodegenPage.js +2 -2
  368. package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
  369. package/dist/node/components/docs/intent/OpenapiAlternativePage.js +3 -3
  370. package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
  371. package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
  372. package/dist/node/components/docs/intent/index.js +15 -15
  373. package/dist/node/components/docs/intent/intent-pages.docblocks.js +1 -1
  374. package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
  375. package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
  376. package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
  377. package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
  378. package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
  379. package/dist/node/components/docs/knowledge/index.js +5 -5
  380. package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
  381. package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
  382. package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
  383. package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +2 -2
  384. package/dist/node/components/docs/libraries/LibrariesContractsPage.js +2 -2
  385. package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
  386. package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +85 -0
  387. package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.js +85 -0
  388. package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
  389. package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
  390. package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +38 -2
  391. package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
  392. package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
  393. package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +3 -3
  394. package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
  395. package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
  396. package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
  397. package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +1 -1
  398. package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
  399. package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
  400. package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +4 -4
  401. package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +2 -2
  402. package/dist/node/components/docs/libraries/LibrariesSLOPage.js +3 -3
  403. package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +3 -3
  404. package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
  405. package/dist/node/components/docs/libraries/LibrariesTestingPage.js +3 -3
  406. package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +2 -2
  407. package/dist/node/components/docs/libraries/LibrariesUIKitWebPage.js +2 -2
  408. package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
  409. package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
  410. package/dist/node/components/docs/libraries/index.js +173 -53
  411. package/dist/node/components/docs/manifesto/ManifestoPage.js +1 -1
  412. package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
  413. package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +2 -2
  414. package/dist/node/components/docs/ops/index.js +3 -3
  415. package/dist/node/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
  416. package/dist/node/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
  417. package/dist/node/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
  418. package/dist/node/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
  419. package/dist/node/components/docs/ops/ops-top.docs.js +2 -2
  420. package/dist/node/components/docs/ops/ops.docs.js +6 -6
  421. package/dist/node/components/docs/product/product.docblocks.js +2 -2
  422. package/dist/node/components/docs/reference/DocsMarkdownContent.js +2 -2
  423. package/dist/node/components/docs/reference/DocsReferenceContent.js +3 -3
  424. package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +2 -2
  425. package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +2 -2
  426. package/dist/node/components/docs/reference/DocsReferencePage.js +3 -3
  427. package/dist/node/components/docs/reference/docsMarkdownParser.js +2 -2
  428. package/dist/node/components/docs/reference/index.js +4 -4
  429. package/dist/node/components/docs/safety/SafetyAuditingPage.js +2 -2
  430. package/dist/node/components/docs/safety/SafetyMigrationsPage.js +2 -2
  431. package/dist/node/components/docs/safety/SafetyOverviewPage.js +1 -1
  432. package/dist/node/components/docs/safety/SafetyPDPPage.js +2 -2
  433. package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +1 -1
  434. package/dist/node/components/docs/safety/SafetySigningPage.js +3 -3
  435. package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
  436. package/dist/node/components/docs/safety/index.js +7 -7
  437. package/dist/node/components/docs/shared/StudioPrompt.js +1 -1
  438. package/dist/node/components/docs/specs/SpecsBuilderControlPlanePage.js +4 -4
  439. package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
  440. package/dist/node/components/docs/specs/SpecsConnectPage.js +2 -2
  441. package/dist/node/components/docs/specs/SpecsDataViewsPage.js +2 -2
  442. package/dist/node/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
  443. package/dist/node/components/docs/specs/SpecsOverlaysPage.js +2 -2
  444. package/dist/node/components/docs/specs/SpecsOverviewPage.js +1 -1
  445. package/dist/node/components/docs/specs/SpecsPolicyPage.js +3 -3
  446. package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +2 -2
  447. package/dist/node/components/docs/specs/index.js +13 -13
  448. package/dist/node/components/docs/studio/StudioBYOKPage.js +1 -1
  449. package/dist/node/components/docs/studio/StudioDeploymentsPage.js +1 -1
  450. package/dist/node/components/docs/studio/StudioGettingStartedPage.js +1 -1
  451. package/dist/node/components/docs/studio/StudioIntegrationsPage.js +1 -1
  452. package/dist/node/components/docs/studio/StudioOverviewPage.js +1 -1
  453. package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +1 -1
  454. package/dist/node/components/docs/studio/index.js +1 -1
  455. package/dist/node/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
  456. package/dist/node/components/integrations/index.js +2 -2
  457. package/dist/node/components/integrations/molecules/IntegrationCard.js +1 -1
  458. package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +1 -1
  459. package/dist/node/components/integrations/organisms/IntegrationSettings.js +2 -2
  460. package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +1 -1
  461. package/dist/node/components/legal/PrivacyTemplate.js +1 -1
  462. package/dist/node/components/legal/TermsTemplate.js +1 -1
  463. package/dist/node/components/legal/index.js +1 -1
  464. package/dist/node/components/shared/FeatureGateNotice.js +1 -1
  465. package/dist/node/components/shared/index.js +1 -1
  466. package/dist/node/components/shell/WorkspaceHeader.js +1 -1
  467. package/dist/node/components/shell/WorkspaceProjectShellLayout.js +1 -1
  468. package/dist/node/components/shell/WorkspaceShellRenderer.js +1 -1
  469. package/dist/node/components/shell/WorkspaceSidebar.js +1 -1
  470. package/dist/node/components/shell/index.js +1 -1
  471. package/dist/node/components/templates/engine/index.js +1 -1
  472. package/dist/node/components/templates/index.js +11 -11
  473. package/dist/node/components/templates/messaging/ConversationList.js +2 -2
  474. package/dist/node/components/templates/messaging/MessageComposer.js +4 -4
  475. package/dist/node/components/templates/messaging/MessageThread.js +3 -3
  476. package/dist/node/components/templates/messaging/MessagingWorkspace.js +5 -5
  477. package/dist/node/components/templates/messaging/index.js +5 -5
  478. package/dist/node/components/templates/recipes/LanguageSwitcher.js +1 -1
  479. package/dist/node/components/templates/recipes/RecipeCard.js +1 -1
  480. package/dist/node/components/templates/recipes/RecipeDetail.js +1 -1
  481. package/dist/node/components/templates/recipes/RecipeList.js +3 -3
  482. package/dist/node/components/templates/recipes/index.js +3 -3
  483. package/dist/node/components/templates/todos/FilterBar.js +1 -1
  484. package/dist/node/components/templates/todos/TaskForm.js +2 -2
  485. package/dist/node/components/templates/todos/TaskItem.js +1 -1
  486. package/dist/node/components/templates/todos/TaskList.js +5 -5
  487. package/dist/node/components/templates/todos/index.js +5 -5
  488. package/dist/node/config/contractspec-blueprint.js +1 -1
  489. package/dist/node/config/contractspec-branding.js +1 -1
  490. package/dist/node/config/contractspec-routes.js +1 -1
  491. package/dist/node/config/index.js +1 -1
  492. package/dist/node/features/contracts-registry.js +1 -1
  493. package/dist/node/features/docs/docs.contracts.js +1 -1
  494. package/dist/node/features/docs/index.js +1 -1
  495. package/dist/node/features/docs.feature.js +1 -1
  496. package/dist/node/features/index.js +1 -1
  497. package/dist/node/features/mcp.feature.js +1 -1
  498. package/dist/node/features/presentations.feature.js +1 -1
  499. package/dist/node/features/registry.js +1 -1
  500. package/dist/node/index.js +382 -262
  501. package/dist/node/infrastructure/elysia/index.js +1 -1
  502. package/dist/node/infrastructure/elysia/logger.js +1 -1
  503. package/dist/node/infrastructure/index.js +1 -1
  504. package/dist/node/libs/email/client.js +1 -1
  505. package/dist/node/libs/email/contact.js +3 -3
  506. package/dist/node/libs/email/newsletter.js +3 -3
  507. package/dist/node/libs/email/utils.js +2 -2
  508. package/dist/node/libs/email/waitlist-application.js +3 -3
  509. package/dist/node/libs/email/waitlist.js +3 -3
  510. package/dist/node/libs/email.js +6 -6
  511. package/dist/node/libs/posthog/client.js +1 -1
  512. package/dist/node/libs/posthog/native.js +1 -1
  513. package/dist/node/libs/posthog/server.js +1 -1
  514. package/dist/node/libs/pricing-examples.js +1 -1
  515. package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
  516. package/dist/node/presentation/features/atoms/FeatureIcon/index.js +1 -1
  517. package/dist/node/presentation/features/atoms/index.js +1 -1
  518. package/dist/node/presentation/features/hooks/index.js +1 -1
  519. package/dist/node/presentation/features/hooks/useContractsRegistry.js +1 -1
  520. package/dist/node/presentation/features/hooks/useFeatureFilters.js +1 -1
  521. package/dist/node/presentation/features/hooks/useFeatureRegistry.js +1 -1
  522. package/dist/node/presentation/features/hooks/useRelatedDocs.js +1 -1
  523. package/dist/node/presentation/features/index.js +1 -1
  524. package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
  525. package/dist/node/presentation/features/molecules/FeatureCard/index.js +1 -1
  526. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
  527. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
  528. package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
  529. package/dist/node/presentation/features/molecules/FeatureFilters/index.js +1 -1
  530. package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
  531. package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
  532. package/dist/node/presentation/features/molecules/index.js +1 -1
  533. package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +1 -1
  534. package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
  535. package/dist/node/presentation/features/organisms/FeatureDetail/index.js +1 -1
  536. package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
  537. package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
  538. package/dist/node/presentation/features/organisms/FeatureEventsList.js +1 -1
  539. package/dist/node/presentation/features/organisms/FeatureFormsList.js +1 -1
  540. package/dist/node/presentation/features/organisms/FeatureOperationsList.js +1 -1
  541. package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +1 -1
  542. package/dist/node/presentation/features/organisms/index.js +1 -1
  543. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
  544. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
  545. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
  546. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
  547. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
  548. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
  549. package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
  550. package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
  551. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
  552. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
  553. package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
  554. package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
  555. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
  556. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
  557. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
  558. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
  559. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
  560. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
  561. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
  562. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
  563. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
  564. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
  565. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
  566. package/dist/presentation/features/atoms/FeatureIcon/index.js +1 -1
  567. package/dist/presentation/features/atoms/index.js +1 -1
  568. package/dist/presentation/features/hooks/index.js +1 -1
  569. package/dist/presentation/features/hooks/useContractsRegistry.js +1 -1
  570. package/dist/presentation/features/hooks/useFeatureFilters.js +1 -1
  571. package/dist/presentation/features/hooks/useFeatureRegistry.js +1 -1
  572. package/dist/presentation/features/hooks/useRelatedDocs.js +1 -1
  573. package/dist/presentation/features/index.js +1 -1
  574. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
  575. package/dist/presentation/features/molecules/FeatureCard/index.js +1 -1
  576. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
  577. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
  578. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
  579. package/dist/presentation/features/molecules/FeatureFilters/index.js +1 -1
  580. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
  581. package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
  582. package/dist/presentation/features/molecules/index.js +1 -1
  583. package/dist/presentation/features/organisms/FeatureDataViewsList.js +1 -1
  584. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
  585. package/dist/presentation/features/organisms/FeatureDetail/index.js +1 -1
  586. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
  587. package/dist/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
  588. package/dist/presentation/features/organisms/FeatureEventsList.js +1 -1
  589. package/dist/presentation/features/organisms/FeatureFormsList.js +1 -1
  590. package/dist/presentation/features/organisms/FeatureOperationsList.js +1 -1
  591. package/dist/presentation/features/organisms/FeaturePresentationsList.js +1 -1
  592. package/dist/presentation/features/organisms/index.js +1 -1
  593. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
  594. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
  595. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
  596. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
  597. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
  598. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
  599. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
  600. package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
  601. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
  602. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
  603. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
  604. package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
  605. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
  606. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
  607. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
  608. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
  609. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
  610. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
  611. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
  612. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
  613. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
  614. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
  615. package/package.json +49 -24
  616. package/src/application/mcp/internalMcp.ts +1 -1
  617. package/src/bundles/LibraryBundle.ts +19 -130
  618. package/src/components/docs/docsManifest.test.ts +14 -0
  619. package/src/components/docs/docsManifest.ts +10 -0
  620. package/src/components/docs/examples/DocsExamplesPage.tsx +3 -3
  621. package/src/components/docs/examples/ExampleShowcasePage.tsx +1 -1
  622. package/src/components/docs/examples/exampleShowcaseData.test.ts +5 -3
  623. package/src/components/docs/examples/exampleShowcaseData.ts +3 -3
  624. package/src/components/docs/generated/docs-index._common.json +1699 -2008
  625. package/src/components/docs/generated/docs-index.agent-console.json +377 -377
  626. package/src/components/docs/generated/docs-index.ai-chat-assistant.json +17 -17
  627. package/src/components/docs/generated/docs-index.ai-chat.json +105 -105
  628. package/src/components/docs/generated/docs-index.ai-support-bot.json +9 -9
  629. package/src/components/docs/generated/docs-index.analytics-dashboard.json +169 -169
  630. package/src/components/docs/generated/docs-index.app-config.json +137 -137
  631. package/src/components/docs/generated/docs-index.artisan-knowledge-product.json +17 -17
  632. package/src/components/docs/generated/docs-index.artisan-payments-stripe.json +33 -33
  633. package/src/components/docs/generated/docs-index.audit-trail.json +49 -49
  634. package/src/components/docs/generated/docs-index.calendar-google.json +9 -9
  635. package/src/components/docs/generated/docs-index.content-generation.json +9 -9
  636. package/src/components/docs/generated/docs-index.control-plane.json +17 -17
  637. package/src/components/docs/generated/docs-index.crm-pipeline.json +161 -161
  638. package/src/components/docs/generated/docs-index.data-grid-showcase.json +25 -25
  639. package/src/components/docs/generated/docs-index.defineExample.json +9 -9
  640. package/src/components/docs/generated/docs-index.email-gmail.json +9 -9
  641. package/src/components/docs/generated/docs-index.feature-flags.json +217 -217
  642. package/src/components/docs/generated/docs-index.files.json +177 -177
  643. package/src/components/docs/generated/docs-index.generated.ts +20 -20
  644. package/src/components/docs/generated/docs-index.harness-lab.json +9 -9
  645. package/src/components/docs/generated/docs-index.health.json +97 -97
  646. package/src/components/docs/generated/docs-index.identity-rbac.json +313 -313
  647. package/src/components/docs/generated/docs-index.in-app-docs.json +9 -9
  648. package/src/components/docs/generated/docs-index.integration-hub.json +265 -265
  649. package/src/components/docs/generated/docs-index.integration-posthog.json +9 -9
  650. package/src/components/docs/generated/docs-index.integration-stripe.json +9 -9
  651. package/src/components/docs/generated/docs-index.integration-supabase.json +9 -9
  652. package/src/components/docs/generated/docs-index.jobs.json +137 -137
  653. package/src/components/docs/generated/docs-index.kb-update-pipeline.json +129 -129
  654. package/src/components/docs/generated/docs-index.knowledge-canon.json +9 -9
  655. package/src/components/docs/generated/docs-index.learning-journey-ambient-coach.json +9 -9
  656. package/src/components/docs/generated/docs-index.learning-journey-crm-onboarding.json +49 -49
  657. package/src/components/docs/generated/docs-index.learning-journey-duo-drills.json +9 -9
  658. package/src/components/docs/generated/docs-index.learning-journey-platform-tour.json +49 -49
  659. package/src/components/docs/generated/docs-index.learning-journey-quest-challenges.json +9 -9
  660. package/src/components/docs/generated/docs-index.learning-journey-registry.json +33 -33
  661. package/src/components/docs/generated/docs-index.learning-journey-studio-onboarding.json +49 -49
  662. package/src/components/docs/generated/docs-index.learning-journey-ui-coaching.json +9 -9
  663. package/src/components/docs/generated/docs-index.learning-journey-ui-gamified.json +9 -9
  664. package/src/components/docs/generated/docs-index.learning-journey-ui-onboarding.json +9 -9
  665. package/src/components/docs/generated/docs-index.learning-journey-ui-shared.json +9 -9
  666. package/src/components/docs/generated/docs-index.learning-journey.json +241 -241
  667. package/src/components/docs/generated/docs-index.learning-patterns.json +9 -9
  668. package/src/components/docs/generated/docs-index.lifecycle-cli.json +9 -9
  669. package/src/components/docs/generated/docs-index.lifecycle-dashboard.json +9 -9
  670. package/src/components/docs/generated/docs-index.locale-jurisdiction-gate.json +65 -65
  671. package/src/components/docs/generated/docs-index.manifest.json +432 -432
  672. package/src/components/docs/generated/docs-index.marketplace.json +337 -337
  673. package/src/components/docs/generated/docs-index.meeting-recorder-providers.json +9 -9
  674. package/src/components/docs/generated/docs-index.meeting-recorder.json +49 -49
  675. package/src/components/docs/generated/docs-index.messaging-agent-actions.json +17 -17
  676. package/src/components/docs/generated/docs-index.metrics.json +201 -201
  677. package/src/components/docs/generated/docs-index.minimal.json +17 -17
  678. package/src/components/docs/generated/docs-index.mobile-demo-landing.json +42 -0
  679. package/src/components/docs/generated/docs-index.notifications.json +65 -65
  680. package/src/components/docs/generated/docs-index.openbanking-powens.json +9 -9
  681. package/src/components/docs/generated/docs-index.openbanking.json +65 -65
  682. package/src/components/docs/generated/docs-index.opencode-cli.json +17 -17
  683. package/src/components/docs/generated/docs-index.personalization.json +9 -9
  684. package/src/components/docs/generated/docs-index.platform-acp.json +137 -137
  685. package/src/components/docs/generated/docs-index.platform-agent.json +201 -201
  686. package/src/components/docs/generated/docs-index.platform-context.json +121 -121
  687. package/src/components/docs/generated/docs-index.platform-control-plane.json +321 -321
  688. package/src/components/docs/generated/docs-index.platform-database.json +89 -89
  689. package/src/components/docs/generated/docs-index.platform-docs.json +161 -161
  690. package/src/components/docs/generated/docs-index.platform-harness.json +177 -177
  691. package/src/components/docs/generated/docs-index.platform-integrations.json +329 -329
  692. package/src/components/docs/generated/docs-index.platform-knowledge.json +57 -57
  693. package/src/components/docs/generated/docs-index.platform-provider-ranking.json +217 -217
  694. package/src/components/docs/generated/docs-index.pocket-family-office.json +129 -129
  695. package/src/components/docs/generated/docs-index.policy-safe-knowledge-assistant.json +9 -9
  696. package/src/components/docs/generated/docs-index.product-intent.json +9 -9
  697. package/src/components/docs/generated/docs-index.project-management-sync.json +9 -9
  698. package/src/components/docs/generated/docs-index.saas-boilerplate.json +209 -209
  699. package/src/components/docs/generated/docs-index.service-business-os.json +193 -193
  700. package/src/components/docs/generated/docs-index.team-hub.json +185 -185
  701. package/src/components/docs/generated/docs-index.unknown.json +521 -521
  702. package/src/components/docs/generated/docs-index.versioned-knowledge-base.json +81 -81
  703. package/src/components/docs/generated/docs-index.video-api-showcase.json +33 -33
  704. package/src/components/docs/generated/docs-index.video-docs-terminal.json +9 -9
  705. package/src/components/docs/generated/docs-index.video-marketing-clip.json +9 -9
  706. package/src/components/docs/generated/docs-index.visualization-showcase.json +17 -17
  707. package/src/components/docs/generated/docs-index.voice-providers.json +9 -9
  708. package/src/components/docs/generated/docs-index.wealth-snapshot.json +153 -153
  709. package/src/components/docs/generated/docs-index.workflow-system.json +433 -433
  710. package/src/components/docs/generated/docs-index.workspace-cli.json +9 -9
  711. package/src/components/docs/generated/index.ts +20 -5
  712. package/src/components/docs/generated/loader.ts +15 -8
  713. package/src/components/docs/getting-started/CompatibilityPage.tsx +14 -0
  714. package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.content.ts +252 -0
  715. package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.tsx +232 -0
  716. package/src/components/docs/libraries/LibrariesDesignSystemPage.tsx +79 -0
  717. package/src/components/docs/libraries/LibrariesOverviewPage.tsx +6 -0
  718. package/src/components/docs/libraries/LibrariesRuntimePage.tsx +15 -0
  719. package/src/components/docs/libraries/LibrariesUIKitPage.tsx +15 -0
  720. package/src/components/docs/libraries/LibrariesUIKitWebPage.tsx +14 -0
  721. package/src/components/docs/libraries/index.ts +1 -0
  722. package/src/components/docs/reference/DocsReferenceIndexPage.tsx +1 -1
  723. package/src/index.ts +1 -1
  724. package/src/components/docs/generated/docs-index.mobile-demo-tasks.json +0 -34
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{CodeBlock as a,InstallCommand as r}from"@contractspec/lib.design-system";import i from"@contractspec/lib.ui-link";import{ChevronRight as c}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function n(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Resilience Library"}),t("p",{className:"text-lg text-muted-foreground",children:["The ",e("code",{children:"@contractspec/lib.resilience"})," library provides primitives to handle failures gracefully."]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(r,{package:"@contractspec/lib.resilience"})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Circuit Breaker"}),e("p",{className:"text-muted-foreground",children:"Prevent cascading failures by stopping calls to a failing dependency."}),e(a,{language:"typescript",code:`import { CircuitBreaker } from '@contractspec/lib.resilience/circuit-breaker';
2
+ var o=Object.defineProperty;var s=(t)=>t;function n(t,i){this[t]=s.bind(null,i)}var m=(t,i)=>{for(var r in i)o(t,r,{get:i[r],enumerable:!0,configurable:!0,set:n.bind(i,r)})};var u=(t,i)=>()=>(t&&(i=t(t=0)),i);import{CodeBlock as c,InstallCommand as d}from"@contractspec/lib.design-system";import l from"@contractspec/lib.ui-link";import{ChevronRight as p}from"lucide-react";import{jsx as e,jsxs as a}from"react/jsx-runtime";function g(){return a("div",{className:"space-y-8",children:[a("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Resilience Library"}),a("p",{className:"text-lg text-muted-foreground",children:["The ",e("code",{children:"@contractspec/lib.resilience"})," library provides primitives to handle failures gracefully."]})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(d,{package:"@contractspec/lib.resilience"})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Circuit Breaker"}),e("p",{className:"text-muted-foreground",children:"Prevent cascading failures by stopping calls to a failing dependency."}),e(c,{language:"typescript",code:`import { CircuitBreaker } from '@contractspec/lib.resilience/circuit-breaker';
3
3
 
4
4
  const breaker = new CircuitBreaker({
5
5
  failureThreshold: 5,
@@ -8,16 +8,16 @@ const breaker = new CircuitBreaker({
8
8
 
9
9
  const result = await breaker.execute(async () => {
10
10
  return await fetch('https://api.stripe.com/v1/charges');
11
- });`})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Retry"}),e("p",{className:"text-muted-foreground",children:"Automatically retry transient failures with exponential backoff."}),e(a,{language:"typescript",code:`import { retry } from '@contractspec/lib.resilience/retry';
11
+ });`})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Retry"}),e("p",{className:"text-muted-foreground",children:"Automatically retry transient failures with exponential backoff."}),e(c,{language:"typescript",code:`import { retry } from '@contractspec/lib.resilience/retry';
12
12
 
13
13
  const result = await retry(
14
14
  async () => fetchUser(id),
15
15
  3, // retries
16
16
  1000, // initial delay
17
17
  true // backoff
18
- );`})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Timeout & Fallback"}),e("p",{className:"text-muted-foreground",children:"Set hard limits on execution time and provide default values on failure."}),e(a,{language:"typescript",code:`import { timeout, fallback } from '@contractspec/lib.resilience';
18
+ );`})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Timeout & Fallback"}),e("p",{className:"text-muted-foreground",children:"Set hard limits on execution time and provide default values on failure."}),e(c,{language:"typescript",code:`import { timeout, fallback } from '@contractspec/lib.resilience';
19
19
 
20
20
  const result = await fallback(
21
21
  () => timeout(slowOperation, 5000),
22
22
  defaultValue
23
- );`})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(i,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),t(i,{href:"/docs/libraries/testing",className:"btn-primary",children:["Next: Testing ",e(c,{size:16})]})]})]})}export{n as LibrariesResiliencePage};
23
+ );`})]}),a("div",{className:"flex items-center gap-4 pt-4",children:[e(l,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),a(l,{href:"/docs/libraries/testing",className:"btn-primary",children:["Next: Testing ",e(p,{size:16})]})]})]})}export{g as LibrariesResiliencePage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{CodeBlock as o,InstallCommand as r}from"@contractspec/lib.design-system";import a from"@contractspec/lib.ui-link";import{ChevronRight as n}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function c(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Runtime Libraries"}),e("p",{className:"text-muted-foreground",children:"The presentation runtime libraries provide the engine for rendering ContractSpec-defined UIs. They handle state management, validation, step navigation, and component rendering for Workflows and DataViews."})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(r,{package:"@contractspec/lib.presentation-runtime-react"})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Libraries"}),t("div",{className:"space-y-6",children:[t("div",{className:"card-subtle p-6",children:[e("h3",{className:"font-bold text-lg",children:"@contractspec/lib.presentation-runtime-core"}),t("p",{className:"mt-2 text-muted-foreground text-sm",children:[e("strong",{children:"Framework-Agnostic Core"}),". Contains the state machines, validation logic, and navigation rules for workflows. Can be used to build renderers for any platform (Vue, Svelte, CLI)."]})]}),t("div",{className:"card-subtle p-6",children:[e("h3",{className:"font-bold text-lg",children:"@contractspec/lib.presentation-runtime-react"}),t("p",{className:"mt-2 text-muted-foreground text-sm",children:[e("strong",{children:"React Bindings"}),". Hooks (`useWorkflow`) and components (`WorkflowStepper`, `WorkflowStepRenderer`) for React Web applications. Integrates with `ui-kit-web`."]})]}),t("div",{className:"card-subtle p-6",children:[e("h3",{className:"font-bold text-lg",children:"@contractspec/lib.presentation-runtime-react-native"}),t("p",{className:"mt-2 text-muted-foreground text-sm",children:[e("strong",{children:"React Native Bindings"}),". Optimized for mobile experiences. Handles native navigation integration and uses universal components from `ui-kit`."]})]})]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Example: React Workflow"}),e(o,{language:"tsx",code:`import { useWorkflow, WorkflowStepRenderer } from '@contractspec/lib.presentation-runtime-react';
2
+ var i=Object.defineProperty;var l=(a)=>a;function s(a,o){this[a]=l.bind(null,o)}var p=(a,o)=>{for(var r in o)i(a,r,{get:o[r],enumerable:!0,configurable:!0,set:s.bind(o,r)})};var f=(a,o)=>()=>(a&&(o=a(a=0)),o);import{CodeBlock as c,InstallCommand as d}from"@contractspec/lib.design-system";import n from"@contractspec/lib.ui-link";import{ChevronRight as m}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function w(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Runtime Libraries"}),e("p",{className:"text-muted-foreground",children:"The presentation runtime libraries provide the engine for rendering ContractSpec-defined UIs. They handle state management, validation, step navigation, and component rendering for Workflows and DataViews."})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(d,{package:"@contractspec/lib.presentation-runtime-react"})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Libraries"}),t("div",{className:"space-y-6",children:[t("div",{className:"card-subtle p-6",children:[e("h3",{className:"font-bold text-lg",children:"@contractspec/lib.presentation-runtime-core"}),t("p",{className:"mt-2 text-muted-foreground text-sm",children:[e("strong",{children:"Framework-Agnostic Core"}),". Contains the state machines, validation logic, and navigation rules for workflows. Can be used to build renderers for any platform (Vue, Svelte, CLI)."]})]}),t("div",{className:"card-subtle p-6",children:[e("h3",{className:"font-bold text-lg",children:"@contractspec/lib.presentation-runtime-react"}),t("p",{className:"mt-2 text-muted-foreground text-sm",children:[e("strong",{children:"React Bindings"}),". Hooks (`useWorkflow`) and components (`WorkflowStepper`, `WorkflowStepRenderer`) for React Web applications. Integrates with `ui-kit-web`."]})]}),t("div",{className:"card-subtle p-6",children:[e("h3",{className:"font-bold text-lg",children:"@contractspec/lib.presentation-runtime-react-native"}),t("p",{className:"mt-2 text-muted-foreground text-sm",children:[e("strong",{children:"React Native Bindings"}),". Optimized for mobile experiences. Handles native navigation integration and uses universal components from `ui-kit`."]})]})]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Example: React Workflow"}),e(c,{language:"tsx",code:`import { useWorkflow, WorkflowStepRenderer } from '@contractspec/lib.presentation-runtime-react';
3
3
  import { OnboardingFlow } from './specs/onboarding';
4
4
 
5
5
  export function OnboardingPage() {
@@ -39,4 +39,4 @@ export function OnboardingPage() {
39
39
  </div>
40
40
  </div>
41
41
  );
42
- }`})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Architecture"}),e("p",{className:"text-muted-foreground",children:'The runtime follows a "render-loop" pattern:'}),t("ol",{className:"list-inside list-decimal space-y-2 text-muted-foreground",children:[t("li",{children:[e("strong",{children:"Spec"}),": Defines the flow, fields, and validation rules."]}),t("li",{children:[e("strong",{children:"Core"}),": Tracks current step, data state, and validation errors."]}),t("li",{children:[e("strong",{children:"Renderer"}),": Maps spec fields to UI components (Input, Select, etc.)."]}),t("li",{children:[e("strong",{children:"User"}),": Interacts with components, updating core state."]}),t("li",{children:[e("strong",{children:"Policy"}),": (Optional) Re-evaluates visibility on every change."]})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(a,{href:"/docs/libraries/data-backend",className:"btn-ghost",children:"Previous: Data & Backend"}),t(a,{href:"/docs/libraries",className:"btn-primary",children:["Back to Libraries ",e(n,{size:16})]})]})]})}export{c as LibrariesRuntimePage};
42
+ }`})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Architecture"}),e("p",{className:"text-muted-foreground",children:'The runtime follows a "render-loop" pattern:'}),t("ol",{className:"list-inside list-decimal space-y-2 text-muted-foreground",children:[t("li",{children:[e("strong",{children:"Spec"}),": Defines the flow, fields, and validation rules."]}),t("li",{children:[e("strong",{children:"Core"}),": Tracks current step, data state, and validation errors."]}),t("li",{children:[e("strong",{children:"Renderer"}),": Maps spec fields to UI components (Input, Select, etc.)."]}),t("li",{children:[e("strong",{children:"User"}),": Interacts with components, updating core state."]}),t("li",{children:[e("strong",{children:"Policy"}),": (Optional) Re-evaluates visibility on every change."]})]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Related reading"}),t("p",{className:"text-muted-foreground",children:["For the full React and React Native layering story across runtime, primitives, and composed components, read"," ",e(n,{href:"/docs/libraries/cross-platform-ui",className:"text-[color:var(--rust)] underline underline-offset-4",children:"Cross-platform UI"}),"."]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(n,{href:"/docs/libraries/data-backend",className:"btn-ghost",children:"Previous: Data & Backend"}),t(n,{href:"/docs/libraries",className:"btn-primary",children:["Back to Libraries ",e(m,{size:16})]})]})]})}export{w as LibrariesRuntimePage};
@@ -1,14 +1,14 @@
1
1
  // @bun
2
- import{CodeBlock as a,InstallCommand as i}from"@contractspec/lib.design-system";import o from"@contractspec/lib.ui-link";import{ChevronRight as r}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function c(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"SLO Library"}),t("p",{className:"text-lg text-muted-foreground",children:[e("code",{children:"@contractspec/lib.slo"})," keeps service level objectives front and center\u2014declarative definitions, rolling snapshots, burn-rate math, and automated incidents."]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(i,{package:"@contractspec/lib.slo"})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Define Targets"}),e(a,{language:"typescript",code:`const definition: SLODefinition = {
2
+ var s=Object.defineProperty;var l=(a)=>a;function c(a,o){this[a]=l.bind(null,o)}var m=(a,o)=>{for(var i in o)s(a,i,{get:o[i],enumerable:!0,configurable:!0,set:c.bind(o,i)})};var p=(a,o)=>()=>(a&&(o=a(a=0)),o);import{CodeBlock as r,InstallCommand as d}from"@contractspec/lib.design-system";import n from"@contractspec/lib.ui-link";import{ChevronRight as h}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function u(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"SLO Library"}),t("p",{className:"text-lg text-muted-foreground",children:[e("code",{children:"@contractspec/lib.slo"})," keeps service level objectives front and center\u2014declarative definitions, rolling snapshots, burn-rate math, and automated incidents."]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(d,{package:"@contractspec/lib.slo"})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Define Targets"}),e(r,{language:"typescript",code:`const definition: SLODefinition = {
3
3
  id: 'billing.createInvoice.availability',
4
4
  targetAvailability: 0.999,
5
5
  latencyP99TargetMs: 500,
6
6
  rollingWindowMs: 7 * 24 * 60 * 60 * 1000,
7
7
  alerts: { fastBurnThreshold: 14, slowBurnThreshold: 6 },
8
- };`})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Monitor Burn Rate"}),e(a,{language:"typescript",code:`const monitor = new SLOMonitor({ definition, incidentManager });
8
+ };`})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Monitor Burn Rate"}),e(r,{language:"typescript",code:`const monitor = new SLOMonitor({ definition, incidentManager });
9
9
  const { snapshot, burnRate } = monitor.recordWindow({
10
10
  good: 12500,
11
11
  bad: 3,
12
12
  latencyP99: 420,
13
13
  latencyP95: 210,
14
- });`}),t("p",{className:"text-muted-foreground text-sm",children:["When burn rate exceeds the configured thresholds the monitor calls your",e("code",{children:"IncidentManager"}),", providing the snapshot that triggered the alert."]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"History & Reporting"}),e("p",{className:"text-muted-foreground text-sm",children:"`SLOTracker.getHistory()` returns the latest snapshots so dashboards can show trends without hitting a warehouse. Prisma models persist everything for long-term audits."})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(o,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),t(o,{href:"/docs/libraries/cost-tracking",className:"btn-primary",children:["Next: Cost Tracking ",e(r,{size:16})]})]})]})}export{c as LibrariesSLOPage};
14
+ });`}),t("p",{className:"text-muted-foreground text-sm",children:["When burn rate exceeds the configured thresholds the monitor calls your",e("code",{children:"IncidentManager"}),", providing the snapshot that triggered the alert."]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"History & Reporting"}),e("p",{className:"text-muted-foreground text-sm",children:"`SLOTracker.getHistory()` returns the latest snapshots so dashboards can show trends without hitting a warehouse. Prisma models persist everything for long-term audits."})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(n,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),t(n,{href:"/docs/libraries/cost-tracking",className:"btn-primary",children:["Next: Cost Tracking ",e(h,{size:16})]})]})]})}export{u as LibrariesSLOPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{CodeBlock as t,InstallCommand as c}from"@contractspec/lib.design-system";import o from"@contractspec/lib.ui-link";import{ChevronRight as l}from"lucide-react";import{jsx as e,jsxs as a}from"react/jsx-runtime";function n(){return a("div",{className:"space-y-8",children:[a("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"@contractspec/lib.schema"}),e("p",{className:"text-muted-foreground",children:"A small schema dictionary to describe operation I/O once and export to Zod (runtime validation), Pothos (GraphQL type refs), and JSON Schema."})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(c,{package:"@contractspec/lib.schema"})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Core Exports"}),a("ul",{className:"space-y-2 text-muted-foreground",children:[a("li",{children:[e("code",{className:"rounded bg-background/50 px-2 py-1",children:"SchemaModel"}),": Compose fields into typed object models"]}),a("li",{children:[e("code",{className:"rounded bg-background/50 px-2 py-1",children:"ScalarTypeEnum"}),": Common scalar types (NonEmptyString, Email, DateTime, etc.)"]}),a("li",{children:[e("code",{className:"rounded bg-background/50 px-2 py-1",children:"defineEnum"}),": Create type-safe enums"]}),a("li",{children:[e("code",{className:"rounded bg-background/50 px-2 py-1",children:"FieldType"}),": Wrap scalars with Zod/GraphQL/JSON Schema"]})]})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Example: Basic Schema"}),e(t,{language:"typescript",code:`import { SchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';
2
+ var d=Object.defineProperty;var m=(t)=>t;function n(t,o){this[t]=m.bind(null,o)}var s=(t,o)=>{for(var c in o)d(t,c,{get:o[c],enumerable:!0,configurable:!0,set:n.bind(o,c)})};var u=(t,o)=>()=>(t&&(o=t(t=0)),o);import{CodeBlock as l,InstallCommand as r}from"@contractspec/lib.design-system";import i from"@contractspec/lib.ui-link";import{ChevronRight as p}from"lucide-react";import{jsx as e,jsxs as a}from"react/jsx-runtime";function f(){return a("div",{className:"space-y-8",children:[a("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"@contractspec/lib.schema"}),e("p",{className:"text-muted-foreground",children:"A small schema dictionary to describe operation I/O once and export to Zod (runtime validation), Pothos (GraphQL type refs), and JSON Schema."})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(r,{package:"@contractspec/lib.schema"})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Core Exports"}),a("ul",{className:"space-y-2 text-muted-foreground",children:[a("li",{children:[e("code",{className:"rounded bg-background/50 px-2 py-1",children:"SchemaModel"}),": Compose fields into typed object models"]}),a("li",{children:[e("code",{className:"rounded bg-background/50 px-2 py-1",children:"ScalarTypeEnum"}),": Common scalar types (NonEmptyString, Email, DateTime, etc.)"]}),a("li",{children:[e("code",{className:"rounded bg-background/50 px-2 py-1",children:"defineEnum"}),": Create type-safe enums"]}),a("li",{children:[e("code",{className:"rounded bg-background/50 px-2 py-1",children:"FieldType"}),": Wrap scalars with Zod/GraphQL/JSON Schema"]})]})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Example: Basic Schema"}),e(l,{language:"typescript",code:`import { SchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';
3
3
 
4
4
  export const CreateSpotInput = new SchemaModel({
5
5
  name: 'CreateSpotInput',
@@ -17,7 +17,7 @@ const zodSchema = CreateSpotInput.getZod();
17
17
  const pothosName = CreateSpotInput.getPothosInput();
18
18
 
19
19
  // Get JSON Schema
20
- const jsonSchema = CreateSpotInput.getJsonSchema();`})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Example: Enums"}),e(t,{language:"typescript",code:`import { defineEnum, SchemaModel } from '@contractspec/lib.schema';
20
+ const jsonSchema = CreateSpotInput.getJsonSchema();`})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Example: Enums"}),e(l,{language:"typescript",code:`import { defineEnum, SchemaModel } from '@contractspec/lib.schema';
21
21
 
22
22
  const Weekday = defineEnum('Weekday', [
23
23
  'MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU',
@@ -32,4 +32,4 @@ const RecurrenceRule = new SchemaModel({
32
32
  },
33
33
  byWeekday: { type: Weekday, isOptional: true, isArray: true },
34
34
  },
35
- });`})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Available Scalars"}),a("div",{className:"grid gap-4 md:grid-cols-2",children:[a("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Strings"}),a("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:e("code",{children:"NonEmptyString()"})}),e("li",{children:e("code",{children:"Email()"})}),e("li",{children:e("code",{children:"PhoneNumber()"})}),e("li",{children:e("code",{children:"CountryCode()"})}),e("li",{children:e("code",{children:"Locale()"})}),e("li",{children:e("code",{children:"TimeZone()"})})]})]}),a("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Numbers"}),a("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:e("code",{children:"PositiveNumber()"})}),e("li",{children:e("code",{children:"Latitude()"})}),e("li",{children:e("code",{children:"Longitude()"})})]})]}),a("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Dates & Times"}),a("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:e("code",{children:"Date()"})}),e("li",{children:e("code",{children:"DateTime()"})})]})]}),a("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Generic"}),a("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:e("code",{children:"String()"})}),e("li",{children:e("code",{children:"JSON()"})})]})]})]})]}),a("div",{className:"flex items-center gap-4 pt-4",children:[e(o,{href:"/docs/libraries/contracts",className:"btn-ghost",children:"Previous: Contracts"}),a(o,{href:"/docs/libraries/ui-kit",className:"btn-primary",children:["Next: UI Kit ",e(l,{size:16})]})]})]})}export{n as LibrariesSchemaPage};
35
+ });`})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Available Scalars"}),a("div",{className:"grid gap-4 md:grid-cols-2",children:[a("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Strings"}),a("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:e("code",{children:"NonEmptyString()"})}),e("li",{children:e("code",{children:"Email()"})}),e("li",{children:e("code",{children:"PhoneNumber()"})}),e("li",{children:e("code",{children:"CountryCode()"})}),e("li",{children:e("code",{children:"Locale()"})}),e("li",{children:e("code",{children:"TimeZone()"})})]})]}),a("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Numbers"}),a("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:e("code",{children:"PositiveNumber()"})}),e("li",{children:e("code",{children:"Latitude()"})}),e("li",{children:e("code",{children:"Longitude()"})})]})]}),a("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Dates & Times"}),a("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:e("code",{children:"Date()"})}),e("li",{children:e("code",{children:"DateTime()"})})]})]}),a("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Generic"}),a("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:e("code",{children:"String()"})}),e("li",{children:e("code",{children:"JSON()"})})]})]})]})]}),a("div",{className:"flex items-center gap-4 pt-4",children:[e(i,{href:"/docs/libraries/contracts",className:"btn-ghost",children:"Previous: Contracts"}),a(i,{href:"/docs/libraries/ui-kit",className:"btn-primary",children:["Next: UI Kit ",e(p,{size:16})]})]})]})}export{f as LibrariesSchemaPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{CodeBlock as o,InstallCommand as i}from"@contractspec/lib.design-system";import r from"@contractspec/lib.ui-link";import{ChevronRight as a}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function c(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"@contractspec/lib.support-bot"}),e("p",{className:"text-lg text-muted-foreground",children:"Build AI-first support flows using drop-in classifiers, knowledge-grounded resolvers, and tone-aware responders\u2014all wired into the agent runner."})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(i,{package:"@contractspec/lib.support-bot"})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Wire the primitives"}),e(o,{language:"typescript",code:`import { TicketClassifier, TicketResolver, AutoResponder } from '@contractspec/lib.support-bot';
2
+ var l=Object.defineProperty;var n=(o)=>o;function c(o,r){this[o]=n.bind(null,r)}var m=(o,r)=>{for(var i in r)l(o,i,{get:r[i],enumerable:!0,configurable:!0,set:c.bind(r,i)})};var u=(o,r)=>()=>(o&&(r=o(o=0)),r);import{CodeBlock as a,InstallCommand as p}from"@contractspec/lib.design-system";import s from"@contractspec/lib.ui-link";import{ChevronRight as d}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function b(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"@contractspec/lib.support-bot"}),e("p",{className:"text-lg text-muted-foreground",children:"Build AI-first support flows using drop-in classifiers, knowledge-grounded resolvers, and tone-aware responders\u2014all wired into the agent runner."})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(p,{package:"@contractspec/lib.support-bot"})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Wire the primitives"}),e(a,{language:"typescript",code:`import { TicketClassifier, TicketResolver, AutoResponder } from '@contractspec/lib.support-bot';
3
3
 
4
4
  const classifier = new TicketClassifier();
5
5
  const resolver = new TicketResolver({ knowledge });
@@ -7,7 +7,7 @@ const responder = new AutoResponder();
7
7
 
8
8
  const classification = await classifier.classify(ticket);
9
9
  const resolution = await resolver.resolve(ticket);
10
- const draft = await responder.draft(ticket, resolution, classification);`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Expose as agent tools"}),e(o,{language:"typescript",code:`import { createSupportTools } from '@contractspec/lib.support-bot/bot';
10
+ const draft = await responder.draft(ticket, resolution, classification);`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Expose as agent tools"}),e(a,{language:"typescript",code:`import { createSupportTools } from '@contractspec/lib.support-bot/bot';
11
11
 
12
12
  const tools = createSupportTools({ resolver, classifier, responder });
13
- // Pass these tools into your host runtime or agent adapter.`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Included modules"}),t("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[t("li",{children:[e("strong",{children:"TicketClassifier"}),": heuristics + optional LLM validation for category/priority."]}),t("li",{children:[e("strong",{children:"TicketResolver"}),": RAG resolver that can plug into any knowledge retriever."]}),t("li",{children:[e("strong",{children:"AutoResponder"}),": generates drafts, citations, and tone-aware copy."]}),t("li",{children:[e("strong",{children:"SupportFeedbackLoop"}),": track auto-resolution rates and sentiment trends."]})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(r,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),t(r,{href:"/docs/libraries/growth",className:"btn-primary",children:["Next: Growth ",e(a,{size:16})]})]})]})}export{c as LibrariesSupportBotPage};
13
+ // Pass these tools into your host runtime or agent adapter.`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Included modules"}),t("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[t("li",{children:[e("strong",{children:"TicketClassifier"}),": heuristics + optional LLM validation for category/priority."]}),t("li",{children:[e("strong",{children:"TicketResolver"}),": RAG resolver that can plug into any knowledge retriever."]}),t("li",{children:[e("strong",{children:"AutoResponder"}),": generates drafts, citations, and tone-aware copy."]}),t("li",{children:[e("strong",{children:"SupportFeedbackLoop"}),": track auto-resolution rates and sentiment trends."]})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(s,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),t(s,{href:"/docs/libraries/growth",className:"btn-primary",children:["Next: Growth ",e(d,{size:16})]})]})]})}export{b as LibrariesSupportBotPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{CodeBlock as a,InstallCommand as n}from"@contractspec/lib.design-system";import o from"@contractspec/lib.ui-link";import{ChevronRight as i}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function d(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"@contractspec/lib.testing"}),e("p",{className:"text-lg text-muted-foreground",children:"Golden tests ensure new rollouts behave exactly like the traffic that inspired them. Record requests in production, replay them locally, and ship with confidence."})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(n,{package:"@contractspec/lib.testing"})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Record traffic"}),e(a,{language:"typescript",code:`import {
2
+ var s=Object.defineProperty;var c=(t)=>t;function l(t,a){this[t]=c.bind(null,a)}var m=(t,a)=>{for(var o in a)s(t,o,{get:a[o],enumerable:!0,configurable:!0,set:l.bind(a,o)})};var u=(t,a)=>()=>(t&&(a=t(t=0)),a);import{CodeBlock as n,InstallCommand as d}from"@contractspec/lib.design-system";import i from"@contractspec/lib.ui-link";import{ChevronRight as p}from"lucide-react";import{jsx as e,jsxs as r}from"react/jsx-runtime";function b(){return r("div",{className:"space-y-8",children:[r("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"@contractspec/lib.testing"}),e("p",{className:"text-lg text-muted-foreground",children:"Golden tests ensure new rollouts behave exactly like the traffic that inspired them. Record requests in production, replay them locally, and ship with confidence."})]}),r("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(d,{package:"@contractspec/lib.testing"})]}),r("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Record traffic"}),e(n,{language:"typescript",code:`import {
3
3
  TrafficRecorder,
4
4
  InMemoryTrafficStore,
5
5
  } from '@contractspec/lib.testing/recorder';
@@ -19,7 +19,7 @@ await recorder.record({
19
19
  output,
20
20
  success: true,
21
21
  tenantId: ctx.organizationId ?? undefined,
22
- });`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Generate suites"}),e(a,{language:"typescript",code:`import { GoldenTestGenerator } from '@contractspec/lib.testing';
22
+ });`})]}),r("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Generate suites"}),e(n,{language:"typescript",code:`import { GoldenTestGenerator } from '@contractspec/lib.testing';
23
23
 
24
24
  const generator = new GoldenTestGenerator();
25
25
  const code = generator.generate(snapshots, {
@@ -27,4 +27,4 @@ const code = generator.generate(snapshots, {
27
27
  runnerImport: './tests/run-operation',
28
28
  runnerFunction: 'runOrdersCommand',
29
29
  framework: 'vitest',
30
- });`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"CLI workflow"}),e(a,{language:"bash",code:"contractspec test generate \\\n --operation orders.create \\\n --output tests/orders.create.golden.test.ts \\\n --runner-import ./tests/run-operation \\\n --runner-fn runOrdersCommand \\\n --from-production \\\n --days 7 \\\n --sample-rate 0.05"})]}),e("div",{className:"grid gap-4 md:grid-cols-2",children:[{title:"Framework agnostic",description:"Vitest by default, Jest via `generateJestSuite`, or call `runGoldenTests` manually inside CI."},{title:"Sanitize & sample",description:"Scrub payloads before persistence and control sample rates per operation to stay within compliance limits."}].map((r)=>t("div",{className:"card-subtle space-y-2 p-4",children:[e("h3",{className:"font-semibold text-lg",children:r.title}),e("p",{className:"text-muted-foreground text-sm",children:r.description})]},r.title))}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(o,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),t(o,{href:"/docs/libraries/resilience",className:"btn-primary",children:["Next: Resilience ",e(i,{size:16})]})]})]})}export{d as LibrariesTestingPage};
30
+ });`})]}),r("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"CLI workflow"}),e(n,{language:"bash",code:"contractspec test generate \\\n --operation orders.create \\\n --output tests/orders.create.golden.test.ts \\\n --runner-import ./tests/run-operation \\\n --runner-fn runOrdersCommand \\\n --from-production \\\n --days 7 \\\n --sample-rate 0.05"})]}),e("div",{className:"grid gap-4 md:grid-cols-2",children:[{title:"Framework agnostic",description:"Vitest by default, Jest via `generateJestSuite`, or call `runGoldenTests` manually inside CI."},{title:"Sanitize & sample",description:"Scrub payloads before persistence and control sample rates per operation to stay within compliance limits."}].map((t)=>r("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))}),r("div",{className:"flex items-center gap-4 pt-4",children:[e(i,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),r(i,{href:"/docs/libraries/resilience",className:"btn-primary",children:["Next: Resilience ",e(p,{size:16})]})]})]})}export{b as LibrariesTestingPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{CodeBlock as o,InstallCommand as i}from"@contractspec/lib.design-system";import a from"@contractspec/lib.ui-link";import{ChevronRight as l}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";var r=`import { DataTable } from '@contractspec/lib.ui-kit/ui/data-table';
2
+ var r=Object.defineProperty;var n=(a)=>a;function c(a,o){this[a]=n.bind(null,o)}var u=(a,o)=>{for(var l in o)r(a,l,{get:o[l],enumerable:!0,configurable:!0,set:c.bind(o,l)})};var h=(a,o)=>()=>(a&&(o=a(a=0)),o);import{CodeBlock as d,InstallCommand as s}from"@contractspec/lib.design-system";import i from"@contractspec/lib.ui-link";import{ChevronRight as m}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";var p=`import { DataTable } from '@contractspec/lib.ui-kit/ui/data-table';
3
3
  import { useContractTable } from '@contractspec/lib.presentation-runtime-react';
4
4
 
5
5
  import { SHOWCASE_ROWS } from '@contractspec/example.data-grid-showcase/ui/data-grid-showcase.data';
@@ -43,4 +43,4 @@ export function NativeAccountGrid() {
43
43
  footer={\`Rows \${controller.rows.length}\`}
44
44
  />
45
45
  );
46
- }`;function s(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"@contractspec/lib.ui-kit"}),t("p",{className:"text-muted-foreground",children:["Universal UI components for React Native and Web, built on top of",e("code",{children:"nativewind"})," and ",e("code",{children:"@rn-primitives"}),"."]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(i,{package:"@contractspec/lib.ui-kit"})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Key Features"}),t("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[t("li",{children:[e("strong",{children:"Universal"}),": Components render natively on iOS/Android and as standard HTML on web"]}),t("li",{children:[e("strong",{children:"Styled with NativeWind"}),": Uses Tailwind CSS classes for styling"]}),t("li",{children:[e("strong",{children:"Accessible"}),": Leverages ",e("code",{children:"@rn-primitives"})," ","(Radix UI for Native)"]}),t("li",{children:[e("strong",{children:"Atomic Design"}),": Exports atoms, molecules, and organisms"]})]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Data table example"}),t("p",{className:"text-muted-foreground",children:["The canonical"," ",e(a,{href:"/docs/examples/data-grid-showcase",className:"text-[color:var(--rust)] underline underline-offset-4",children:"Data Grid Showcase"})," ","uses ",e("code",{children:"@contractspec/lib.ui-kit/ui/data-table"})," as the native-first primitive lane. It shares the same controller model as the web renderer while keeping the React Native / Expo surface explicit."]}),e(o,{language:"tsx",code:r})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Core Components"}),t("div",{className:"grid gap-4 md:grid-cols-3",children:[t("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Form Controls"}),t("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:"Button"}),e("li",{children:"Input"}),e("li",{children:"Checkbox"}),e("li",{children:"Switch"}),e("li",{children:"Select"})]})]}),t("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Layout"}),t("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:"Card"}),e("li",{children:"Stack"}),e("li",{children:"Separator"}),e("li",{children:"Sheet"})]})]}),t("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Feedback"}),t("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:"Alert"}),e("li",{children:"Skeleton"}),e("li",{children:"Progress"}),e("li",{children:"Tooltip"})]})]})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(a,{href:"/docs/libraries/schema",className:"btn-ghost",children:"Previous: Schema"}),t(a,{href:"/docs/libraries/ui-kit-web",className:"btn-primary",children:["Next: UI Kit Web ",e(l,{size:16})]})]})]})}export{s as LibrariesUIKitPage};
46
+ }`;function N(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"@contractspec/lib.ui-kit"}),t("p",{className:"text-muted-foreground",children:["Universal UI components for React Native and Web, built on top of",e("code",{children:"nativewind"})," and ",e("code",{children:"@rn-primitives"}),"."]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(s,{package:"@contractspec/lib.ui-kit"})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Key Features"}),t("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[t("li",{children:[e("strong",{children:"Universal"}),": Components render natively on iOS/Android and as standard HTML on web"]}),t("li",{children:[e("strong",{children:"Styled with NativeWind"}),": Uses Tailwind CSS classes for styling"]}),t("li",{children:[e("strong",{children:"Accessible"}),": Leverages ",e("code",{children:"@rn-primitives"})," ","(Radix UI for Native)"]}),t("li",{children:[e("strong",{children:"Atomic Design"}),": Exports atoms, molecules, and organisms"]})]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Data table example"}),t("p",{className:"text-muted-foreground",children:["The canonical"," ",e(i,{href:"/docs/examples/data-grid-showcase",className:"text-[color:var(--rust)] underline underline-offset-4",children:"Data Grid Showcase"})," ","uses ",e("code",{children:"@contractspec/lib.ui-kit/ui/data-table"})," as the native-first primitive lane. It shares the same controller model as the web renderer while keeping the React Native / Expo surface explicit."]}),e(d,{language:"tsx",code:p})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Core Components"}),t("div",{className:"grid gap-4 md:grid-cols-3",children:[t("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Form Controls"}),t("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:"Button"}),e("li",{children:"Input"}),e("li",{children:"Checkbox"}),e("li",{children:"Switch"}),e("li",{children:"Select"})]})]}),t("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Layout"}),t("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:"Card"}),e("li",{children:"Stack"}),e("li",{children:"Separator"}),e("li",{children:"Sheet"})]})]}),t("div",{className:"card-subtle p-4",children:[e("h3",{className:"mb-2 font-semibold",children:"Feedback"}),t("ul",{className:"space-y-1 text-muted-foreground text-sm",children:[e("li",{children:"Alert"}),e("li",{children:"Skeleton"}),e("li",{children:"Progress"}),e("li",{children:"Tooltip"})]})]})]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Where this layer fits"}),t("p",{className:"text-muted-foreground",children:["Read"," ",e(i,{href:"/docs/libraries/cross-platform-ui",className:"text-[color:var(--rust)] underline underline-offset-4",children:"Cross-platform UI"})," ","for the full React and React Native compatibility model around this native-first primitive lane."]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(i,{href:"/docs/libraries/schema",className:"btn-ghost",children:"Previous: Schema"}),t(i,{href:"/docs/libraries/ui-kit-web",className:"btn-primary",children:["Next: UI Kit Web ",e(m,{size:16})]})]})]})}export{N as LibrariesUIKitPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{CodeBlock as i,InstallCommand as o}from"@contractspec/lib.design-system";import a from"@contractspec/lib.ui-link";import{ChevronRight as n}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";var r=`import { DataTable } from '@contractspec/lib.ui-kit-web/ui/data-table';
2
+ var n=Object.defineProperty;var l=(a)=>a;function s(a,i){this[a]=l.bind(null,i)}var u=(a,i)=>{for(var r in i)n(a,r,{get:i[r],enumerable:!0,configurable:!0,set:s.bind(i,r)})};var h=(a,i)=>()=>(a&&(i=a(a=0)),i);import{CodeBlock as c,InstallCommand as d}from"@contractspec/lib.design-system";import o from"@contractspec/lib.ui-link";import{ChevronRight as m}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";var p=`import { DataTable } from '@contractspec/lib.ui-kit-web/ui/data-table';
3
3
  import { useContractTable } from '@contractspec/lib.presentation-runtime-react';
4
4
 
5
5
  import { SHOWCASE_ROWS } from '@contractspec/example.data-grid-showcase/ui/data-grid-showcase.data';
@@ -44,4 +44,4 @@ export function WebAccountGrid() {
44
44
  footer={\`Rows \${controller.totalItems}\`}
45
45
  />
46
46
  );
47
- }`;function d(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"@contractspec/lib.ui-kit-web"}),e("p",{className:"text-muted-foreground",children:"Web-first React and Next primitives for ContractSpec. The canonical data-table example uses this package to render the raw browser table layer directly, without the design-system shell on top."})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(o,{package:"@contractspec/lib.ui-kit-web"})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Data table example"}),t("p",{className:"text-muted-foreground",children:["This is the raw browser lane from the canonical"," ",e(a,{href:"/docs/examples/data-grid-showcase",className:"text-[color:var(--rust)] underline underline-offset-4",children:"Data Grid Showcase"}),". It demonstrates the primitive renderer with sorting, pagination, single selection, column visibility, column resizing, left/right pinning, row expansion, loading, and empty-state slots."]}),e(i,{language:"tsx",filename:"web-account-grid.tsx",code:r})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"What this layer owns"}),t("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[e("li",{children:"The raw table renderer and browser interaction model."}),e("li",{children:"Pagination, column visibility menus, pin menus, resize handles, and empty/loading states."}),e("li",{children:"Accessibility helpers and other web-specific primitives that stay outside the native-first package."})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(a,{href:"/docs/libraries/ui-kit",className:"btn-ghost",children:"Previous: UI Kit"}),t(a,{href:"/docs/libraries/design-system",className:"btn-primary",children:["Next: Design System ",e(n,{size:16})]})]})]})}export{d as LibrariesUIKitWebPage};
47
+ }`;function v(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"@contractspec/lib.ui-kit-web"}),e("p",{className:"text-muted-foreground",children:"Web-first React and Next primitives for ContractSpec. The canonical data-table example uses this package to render the raw browser table layer directly, without the design-system shell on top."})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(d,{package:"@contractspec/lib.ui-kit-web"})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Data table example"}),t("p",{className:"text-muted-foreground",children:["This is the raw browser lane from the canonical"," ",e(o,{href:"/docs/examples/data-grid-showcase",className:"text-[color:var(--rust)] underline underline-offset-4",children:"Data Grid Showcase"}),". It demonstrates the primitive renderer with sorting, pagination, single selection, column visibility, column resizing, left/right pinning, row expansion, loading, and empty-state slots."]}),e(c,{language:"tsx",filename:"web-account-grid.tsx",code:p})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"What this layer owns"}),t("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[e("li",{children:"The raw table renderer and browser interaction model."}),e("li",{children:"Pagination, column visibility menus, pin menus, resize handles, and empty/loading states."}),e("li",{children:"Accessibility helpers and other web-specific primitives that stay outside the native-first package."})]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Where this layer fits"}),t("p",{className:"text-muted-foreground",children:["Read"," ",e(o,{href:"/docs/libraries/cross-platform-ui",className:"text-[color:var(--rust)] underline underline-offset-4",children:"Cross-platform UI"})," ","for the shared runtime story behind the web and native render lanes."]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(o,{href:"/docs/libraries/ui-kit",className:"btn-ghost",children:"Previous: UI Kit"}),t(o,{href:"/docs/libraries/design-system",className:"btn-primary",children:["Next: Design System ",e(m,{size:16})]})]})]})}export{v as LibrariesUIKitWebPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{CodeBlock as a,InstallCommand as i}from"@contractspec/lib.design-system";import t from"@contractspec/lib.ui-link";import{ChevronRight as l}from"lucide-react";import{jsx as e,jsxs as o}from"react/jsx-runtime";function s(){return o("div",{className:"space-y-8",children:[o("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Workflow Composer"}),e("p",{className:"text-lg text-muted-foreground",children:"`@contractspec/lib.workflow-composer` injects tenant-/role-/device-specific steps into base WorkflowSpecs and keeps transitions valid."})]}),o("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(i,{package:"@contractspec/lib.workflow-composer"})]}),o("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Register extensions"}),e(a,{language:"typescript",code:`const composer = new WorkflowComposer();
2
+ var n=Object.defineProperty;var c=(o)=>o;function s(o,a){this[o]=c.bind(null,a)}var d=(o,a)=>{for(var i in a)n(o,i,{get:a[i],enumerable:!0,configurable:!0,set:s.bind(a,i)})};var f=(o,a)=>()=>(o&&(a=o(o=0)),a);import{CodeBlock as l,InstallCommand as p}from"@contractspec/lib.design-system";import r from"@contractspec/lib.ui-link";import{ChevronRight as m}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function g(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Workflow Composer"}),e("p",{className:"text-lg text-muted-foreground",children:"`@contractspec/lib.workflow-composer` injects tenant-/role-/device-specific steps into base WorkflowSpecs and keeps transitions valid."})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(p,{package:"@contractspec/lib.workflow-composer"})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Register extensions"}),e(l,{language:"typescript",code:`const composer = new WorkflowComposer();
3
3
 
4
4
  composer.register({
5
5
  workflow: 'billing.invoiceApproval',
@@ -16,9 +16,9 @@ composer.register({
16
16
  },
17
17
  ],
18
18
  hiddenSteps: ['internal-audit'],
19
- });`})]}),o("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Compose at runtime"}),e(a,{language:"typescript",code:`const tenantWorkflow = composer.compose({
19
+ });`})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Compose at runtime"}),e(l,{language:"typescript",code:`const tenantWorkflow = composer.compose({
20
20
  base: BaseInvoiceWorkflow,
21
21
  tenantId: 'acme',
22
22
  });
23
23
 
24
- workflowRunner.execute(tenantWorkflow, ctx);`})]}),o("div",{className:"flex items-center gap-4 pt-4",children:[e(t,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),o(t,{href:"/docs/libraries/workflows",className:"btn-primary",children:["Next: Workflow Runtime ",e(l,{size:16})]})]})]})}export{s as LibrariesWorkflowComposerPage};
24
+ workflowRunner.execute(tenantWorkflow, ctx);`})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(r,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),t(r,{href:"/docs/libraries/workflows",className:"btn-primary",children:["Next: Workflow Runtime ",e(m,{size:16})]})]})]})}export{g as LibrariesWorkflowComposerPage};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{CodeBlock as r,InstallCommand as a}from"@contractspec/lib.design-system";import t from"@contractspec/lib.ui-link";import{ChevronRight as c}from"lucide-react";import{jsx as e,jsxs as o}from"react/jsx-runtime";function d(){return o("div",{className:"space-y-8",children:[o("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Workflow Runtime Library"}),o("p",{className:"text-lg text-muted-foreground",children:["The ",e("code",{children:"@contractspec/lib.contracts-spec/workflow"})," library provides the core ",e("code",{children:"WorkflowRunner"})," for executing stateful, durable workflows."]})]}),o("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(a,{package:"@contractspec/lib.contracts-spec"})]}),o("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"WorkflowRunner"}),e("p",{className:"text-muted-foreground",children:"The runner manages execution state, step transitions, retries, and compensation."}),e(r,{language:"typescript",code:`import { WorkflowRunner } from '@contractspec/lib.contracts-spec/workflow/runner';
2
+ var l=Object.defineProperty;var i=(t)=>t;function n(t,r){this[t]=i.bind(null,r)}var m=(t,r)=>{for(var a in r)l(t,a,{get:r[a],enumerable:!0,configurable:!0,set:n.bind(r,a)})};var u=(t,r)=>()=>(t&&(r=t(t=0)),r);import{CodeBlock as d,InstallCommand as s}from"@contractspec/lib.design-system";import c from"@contractspec/lib.ui-link";import{ChevronRight as p}from"lucide-react";import{jsx as e,jsxs as o}from"react/jsx-runtime";function g(){return o("div",{className:"space-y-8",children:[o("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Workflow Runtime Library"}),o("p",{className:"text-lg text-muted-foreground",children:["The ",e("code",{children:"@contractspec/lib.contracts-spec/workflow"})," library provides the core ",e("code",{children:"WorkflowRunner"})," for executing stateful, durable workflows."]})]}),o("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Installation"}),e(s,{package:"@contractspec/lib.contracts-spec"})]}),o("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"WorkflowRunner"}),e("p",{className:"text-muted-foreground",children:"The runner manages execution state, step transitions, retries, and compensation."}),e(d,{language:"typescript",code:`import { WorkflowRunner } from '@contractspec/lib.contracts-spec/workflow/runner';
3
3
  import { InMemoryStateStore } from '@contractspec/lib.contracts-spec/workflow/adapters/memory-store';
4
4
  import { WorkflowRegistry } from '@contractspec/lib.contracts-spec/workflow/spec';
5
5
 
@@ -19,4 +19,4 @@ const runner = new WorkflowRunner({
19
19
  const workflowId = await runner.start('my.workflow', 1, { userId: '123' });
20
20
 
21
21
  // Execute next step (usually called by a worker or queue consumer)
22
- await runner.executeStep(workflowId);`})]}),o("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"State Persistence"}),o("p",{className:"text-muted-foreground",children:["The runner relies on a ",e("code",{children:"StateStore"})," to persist workflow execution history. ContractSpec ships with:"]}),o("ul",{className:"list-disc space-y-2 pl-6 text-muted-foreground",children:[o("li",{children:[e("code",{children:"InMemoryStateStore"})," - for testing and development."]}),o("li",{children:[e("code",{children:"PrismaStateStore"})," - for production using Prisma ORM."]})]})]}),o("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Events"}),e("p",{className:"text-muted-foreground",children:"The runner emits events that you can subscribe to for monitoring:"}),o("ul",{className:"list-disc space-y-2 pl-6 text-muted-foreground",children:[e("li",{children:e("code",{children:"workflow.started"})}),e("li",{children:e("code",{children:"workflow.step_completed"})}),e("li",{children:e("code",{children:"workflow.step_failed"})}),e("li",{children:e("code",{children:"workflow.step_retrying"})}),e("li",{children:e("code",{children:"workflow.completed"})}),e("li",{children:e("code",{children:"workflow.cancelled"})}),e("li",{children:e("code",{children:"workflow.compensation_step_completed"})})]})]}),o("div",{className:"flex items-center gap-4 pt-4",children:[e(t,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),o(t,{href:"/docs/libraries/data-views",className:"btn-primary",children:["Next: Data Views ",e(c,{size:16})]})]})]})}export{d as LibrariesWorkflowsPage};
22
+ await runner.executeStep(workflowId);`})]}),o("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"State Persistence"}),o("p",{className:"text-muted-foreground",children:["The runner relies on a ",e("code",{children:"StateStore"})," to persist workflow execution history. ContractSpec ships with:"]}),o("ul",{className:"list-disc space-y-2 pl-6 text-muted-foreground",children:[o("li",{children:[e("code",{children:"InMemoryStateStore"})," - for testing and development."]}),o("li",{children:[e("code",{children:"PrismaStateStore"})," - for production using Prisma ORM."]})]})]}),o("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Events"}),e("p",{className:"text-muted-foreground",children:"The runner emits events that you can subscribe to for monitoring:"}),o("ul",{className:"list-disc space-y-2 pl-6 text-muted-foreground",children:[e("li",{children:e("code",{children:"workflow.started"})}),e("li",{children:e("code",{children:"workflow.step_completed"})}),e("li",{children:e("code",{children:"workflow.step_failed"})}),e("li",{children:e("code",{children:"workflow.step_retrying"})}),e("li",{children:e("code",{children:"workflow.completed"})}),e("li",{children:e("code",{children:"workflow.cancelled"})}),e("li",{children:e("code",{children:"workflow.compensation_step_completed"})})]})]}),o("div",{className:"flex items-center gap-4 pt-4",children:[e(c,{href:"/docs/libraries",className:"btn-ghost",children:"Back to Libraries"}),o(c,{href:"/docs/libraries/data-views",className:"btn-primary",children:["Next: Data Views ",e(p,{size:16})]})]})]})}export{g as LibrariesWorkflowsPage};
@@ -4,6 +4,7 @@ export { LibrariesAnalyticsPage } from './LibrariesAnalyticsPage';
4
4
  export { LibrariesContentGenPage } from './LibrariesContentGenPage';
5
5
  export { LibrariesContractsPage } from './LibrariesContractsPage';
6
6
  export { LibrariesCostTrackingPage } from './LibrariesCostTrackingPage';
7
+ export { LibrariesCrossPlatformUIPage } from './LibrariesCrossPlatformUIPage';
7
8
  export { LibrariesDataBackendPage } from './LibrariesDataBackendPage';
8
9
  export { LibrariesDataViewsPage } from './LibrariesDataViewsPage';
9
10
  export { LibrariesDesignSystemPage } from './LibrariesDesignSystemPage';