@contractspec/bundle.library 3.4.2 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/.turbo/turbo-build.log +494 -488
  2. package/CHANGELOG.md +61 -0
  3. package/dist/application/index.js +8 -8
  4. package/dist/application/mcp/cliMcp.js +8 -8
  5. package/dist/application/mcp/contractsMcp.js +8 -8
  6. package/dist/application/mcp/docsMcp.js +8 -8
  7. package/dist/application/mcp/index.js +8 -8
  8. package/dist/application/mcp/internalMcp.js +8 -8
  9. package/dist/application/mcp/providerRankingMcp.js +8 -8
  10. package/dist/bundles/LibraryBundle.d.ts +126 -0
  11. package/dist/bundles/LibraryBundle.js +139 -0
  12. package/dist/bundles/index.d.ts +1 -0
  13. package/dist/bundles/index.js +139 -0
  14. package/dist/components/docs/DocsIndexPage.js +91 -91
  15. package/dist/components/docs/advanced/AdvancedMCPPage.js +125 -125
  16. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
  17. package/dist/components/docs/advanced/AdvancedRenderersPage.js +51 -51
  18. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
  19. package/dist/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
  20. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
  21. package/dist/components/docs/advanced/index.js +482 -482
  22. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
  23. package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
  24. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
  25. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
  26. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
  27. package/dist/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
  28. package/dist/components/docs/architecture/index.js +748 -748
  29. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
  30. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
  31. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
  32. package/dist/components/docs/comparison/ComparisonOverviewPage.js +97 -97
  33. package/dist/components/docs/comparison/ComparisonWindmillPage.js +125 -125
  34. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
  35. package/dist/components/docs/comparison/index.js +738 -738
  36. package/dist/components/docs/ecosystem/IntegrationsPage.js +45 -45
  37. package/dist/components/docs/ecosystem/PluginsPage.js +73 -73
  38. package/dist/components/docs/ecosystem/RegistryPage.js +37 -37
  39. package/dist/components/docs/ecosystem/TemplatesPage.js +56 -56
  40. package/dist/components/docs/ecosystem/index.js +211 -211
  41. package/dist/components/docs/examples/DocsExamplesPage.js +21 -21
  42. package/dist/components/docs/examples/index.js +21 -21
  43. package/dist/components/docs/getting-started/CLIPage.js +95 -95
  44. package/dist/components/docs/getting-started/CompatibilityPage.js +81 -81
  45. package/dist/components/docs/getting-started/DataViewTutorialPage.js +57 -57
  46. package/dist/components/docs/getting-started/DeveloperToolsPage.js +61 -61
  47. package/dist/components/docs/getting-started/HelloWorldPage.js +77 -77
  48. package/dist/components/docs/getting-started/InstallationPage.js +65 -65
  49. package/dist/components/docs/getting-started/StartHerePage.js +51 -51
  50. package/dist/components/docs/getting-started/TroubleshootingPage.js +73 -73
  51. package/dist/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
  52. package/dist/components/docs/getting-started/index.js +731 -731
  53. package/dist/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
  54. package/dist/components/docs/guides/GuideContractTypesPage.js +232 -232
  55. package/dist/components/docs/guides/GuideDocsPipelinePage.js +82 -82
  56. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
  57. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
  58. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
  59. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
  60. package/dist/components/docs/guides/GuidesIndexPage.js +43 -43
  61. package/dist/components/docs/guides/index.js +975 -975
  62. package/dist/components/docs/index.js +10791 -10791
  63. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
  64. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
  65. package/dist/components/docs/integrations/IntegrationsGithubPage.js +61 -61
  66. package/dist/components/docs/integrations/IntegrationsGmailPage.js +49 -49
  67. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
  68. package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
  69. package/dist/components/docs/integrations/IntegrationsMistralPage.js +69 -69
  70. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
  71. package/dist/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
  72. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
  73. package/dist/components/docs/integrations/IntegrationsPowensPage.js +121 -121
  74. package/dist/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
  75. package/dist/components/docs/integrations/IntegrationsResendPage.js +45 -45
  76. package/dist/components/docs/integrations/IntegrationsS3Page.js +57 -57
  77. package/dist/components/docs/integrations/IntegrationsSlackPage.js +63 -63
  78. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
  79. package/dist/components/docs/integrations/IntegrationsStripePage.js +159 -159
  80. package/dist/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
  81. package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
  82. package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
  83. package/dist/components/docs/integrations/index.js +1642 -1642
  84. package/dist/components/docs/intent/ContractFirstApiPage.js +51 -51
  85. package/dist/components/docs/intent/DeterministicCodegenPage.js +59 -59
  86. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
  87. package/dist/components/docs/intent/OpenapiAlternativePage.js +91 -91
  88. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
  89. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
  90. package/dist/components/docs/intent/index.js +396 -396
  91. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
  92. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
  93. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
  94. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
  95. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
  96. package/dist/components/docs/knowledge/index.js +963 -963
  97. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
  98. package/dist/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
  99. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
  100. package/dist/components/docs/libraries/LibrariesContentGenPage.js +43 -43
  101. package/dist/components/docs/libraries/LibrariesContractsPage.js +125 -125
  102. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
  103. package/dist/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
  104. package/dist/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
  105. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
  106. package/dist/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
  107. package/dist/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
  108. package/dist/components/docs/libraries/LibrariesGrowthPage.js +35 -35
  109. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
  110. package/dist/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
  111. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
  112. package/dist/components/docs/libraries/LibrariesOverviewPage.js +191 -191
  113. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
  114. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
  115. package/dist/components/docs/libraries/LibrariesResiliencePage.js +49 -49
  116. package/dist/components/docs/libraries/LibrariesRuntimePage.js +87 -87
  117. package/dist/components/docs/libraries/LibrariesSLOPage.js +47 -47
  118. package/dist/components/docs/libraries/LibrariesSchemaPage.js +139 -139
  119. package/dist/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
  120. package/dist/components/docs/libraries/LibrariesTestingPage.js +49 -49
  121. package/dist/components/docs/libraries/LibrariesUIKitPage.js +107 -107
  122. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
  123. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
  124. package/dist/components/docs/libraries/index.js +1919 -1919
  125. package/dist/components/docs/manifesto/ManifestoPage.js +79 -79
  126. package/dist/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
  127. package/dist/components/docs/ops/DistributedTracingOpsPage.js +33 -33
  128. package/dist/components/docs/ops/index.js +92 -92
  129. package/dist/components/docs/reference/DocsMarkdownContent.js +27 -27
  130. package/dist/components/docs/reference/DocsReferenceContent.js +34 -34
  131. package/dist/components/docs/reference/DocsReferenceIndexClient.js +23 -23
  132. package/dist/components/docs/reference/DocsReferenceIndexPage.js +26 -26
  133. package/dist/components/docs/reference/DocsReferencePage.js +37 -37
  134. package/dist/components/docs/reference/index.js +63 -63
  135. package/dist/components/docs/safety/SafetyAuditingPage.js +161 -161
  136. package/dist/components/docs/safety/SafetyMigrationsPage.js +169 -169
  137. package/dist/components/docs/safety/SafetyOverviewPage.js +99 -99
  138. package/dist/components/docs/safety/SafetyPDPPage.js +137 -137
  139. package/dist/components/docs/safety/SafetySecurityTrustPage.js +95 -95
  140. package/dist/components/docs/safety/SafetySigningPage.js +39 -39
  141. package/dist/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
  142. package/dist/components/docs/safety/index.js +733 -733
  143. package/dist/components/docs/shared/StudioPrompt.js +9 -9
  144. package/dist/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
  145. package/dist/components/docs/specs/SpecsDataViewsPage.js +119 -119
  146. package/dist/components/docs/specs/SpecsOverlaysPage.js +171 -171
  147. package/dist/components/docs/specs/SpecsOverviewPage.js +167 -167
  148. package/dist/components/docs/specs/SpecsPolicyPage.js +179 -179
  149. package/dist/components/docs/specs/SpecsWorkflowsPage.js +141 -141
  150. package/dist/components/docs/specs/index.js +838 -838
  151. package/dist/components/docs/studio/StudioBYOKPage.js +9 -9
  152. package/dist/components/docs/studio/StudioDeploymentsPage.js +9 -9
  153. package/dist/components/docs/studio/StudioGettingStartedPage.js +9 -9
  154. package/dist/components/docs/studio/StudioIntegrationsPage.js +9 -9
  155. package/dist/components/docs/studio/StudioOverviewPage.js +33 -33
  156. package/dist/components/docs/studio/StudioVisualBuilderPage.js +9 -9
  157. package/dist/components/docs/studio/index.js +78 -78
  158. package/dist/components/integrations/index.js +209 -209
  159. package/dist/components/integrations/molecules/IntegrationCard.js +33 -33
  160. package/dist/components/integrations/organisms/IntegrationMarketplace.js +71 -71
  161. package/dist/components/integrations/organisms/IntegrationSettings.js +98 -98
  162. package/dist/components/integrations/organisms/KnowledgeSourceList.js +40 -40
  163. package/dist/components/legal/PrivacyTemplate.js +477 -477
  164. package/dist/components/legal/TermsTemplate.js +421 -421
  165. package/dist/components/legal/index.js +898 -898
  166. package/dist/components/shared/FeatureGateNotice.js +13 -13
  167. package/dist/components/shared/index.js +13 -13
  168. package/dist/components/shell/WorkspaceHeader.js +37 -37
  169. package/dist/components/shell/WorkspaceProjectShellLayout.js +77 -77
  170. package/dist/components/shell/WorkspaceShellRenderer.d.ts +17 -0
  171. package/dist/components/shell/WorkspaceShellRenderer.js +229 -0
  172. package/dist/components/shell/WorkspaceSidebar.js +27 -27
  173. package/dist/components/shell/index.d.ts +1 -0
  174. package/dist/components/shell/index.js +140 -77
  175. package/dist/components/templates/index.js +272 -272
  176. package/dist/components/templates/messaging/ConversationList.js +27 -27
  177. package/dist/components/templates/messaging/MessageComposer.js +27 -27
  178. package/dist/components/templates/messaging/MessageThread.js +18 -18
  179. package/dist/components/templates/messaging/MessagingWorkspace.js +65 -65
  180. package/dist/components/templates/messaging/index.js +65 -65
  181. package/dist/components/templates/recipes/LanguageSwitcher.js +5 -5
  182. package/dist/components/templates/recipes/RecipeCard.js +26 -26
  183. package/dist/components/templates/recipes/RecipeDetail.js +33 -33
  184. package/dist/components/templates/recipes/RecipeList.js +80 -80
  185. package/dist/components/templates/recipes/index.js +80 -80
  186. package/dist/components/templates/todos/FilterBar.js +39 -39
  187. package/dist/components/templates/todos/TaskForm.js +43 -43
  188. package/dist/components/templates/todos/TaskItem.js +30 -30
  189. package/dist/components/templates/todos/TaskList.js +127 -127
  190. package/dist/components/templates/todos/index.js +127 -127
  191. package/dist/index.js +12323 -12260
  192. package/dist/infrastructure/elysia/index.js +8 -8
  193. package/dist/infrastructure/elysia/logger.js +8 -8
  194. package/dist/infrastructure/index.js +8 -8
  195. package/dist/libs/posthog/client.js +2 -2
  196. package/dist/node/application/index.js +8 -8
  197. package/dist/node/application/mcp/cliMcp.js +8 -8
  198. package/dist/node/application/mcp/contractsMcp.js +8 -8
  199. package/dist/node/application/mcp/docsMcp.js +8 -8
  200. package/dist/node/application/mcp/index.js +8 -8
  201. package/dist/node/application/mcp/internalMcp.js +8 -8
  202. package/dist/node/application/mcp/providerRankingMcp.js +8 -8
  203. package/dist/node/bundles/LibraryBundle.js +138 -0
  204. package/dist/node/bundles/index.js +138 -0
  205. package/dist/node/components/docs/DocsIndexPage.js +91 -91
  206. package/dist/node/components/docs/advanced/AdvancedMCPPage.js +125 -125
  207. package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
  208. package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +51 -51
  209. package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
  210. package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
  211. package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
  212. package/dist/node/components/docs/advanced/index.js +482 -482
  213. package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
  214. package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
  215. package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
  216. package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
  217. package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
  218. package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
  219. package/dist/node/components/docs/architecture/index.js +748 -748
  220. package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
  221. package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
  222. package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
  223. package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +97 -97
  224. package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +125 -125
  225. package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
  226. package/dist/node/components/docs/comparison/index.js +738 -738
  227. package/dist/node/components/docs/ecosystem/IntegrationsPage.js +45 -45
  228. package/dist/node/components/docs/ecosystem/PluginsPage.js +73 -73
  229. package/dist/node/components/docs/ecosystem/RegistryPage.js +37 -37
  230. package/dist/node/components/docs/ecosystem/TemplatesPage.js +56 -56
  231. package/dist/node/components/docs/ecosystem/index.js +211 -211
  232. package/dist/node/components/docs/examples/DocsExamplesPage.js +21 -21
  233. package/dist/node/components/docs/examples/index.js +21 -21
  234. package/dist/node/components/docs/getting-started/CLIPage.js +95 -95
  235. package/dist/node/components/docs/getting-started/CompatibilityPage.js +81 -81
  236. package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +57 -57
  237. package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +61 -61
  238. package/dist/node/components/docs/getting-started/HelloWorldPage.js +77 -77
  239. package/dist/node/components/docs/getting-started/InstallationPage.js +65 -65
  240. package/dist/node/components/docs/getting-started/StartHerePage.js +51 -51
  241. package/dist/node/components/docs/getting-started/TroubleshootingPage.js +73 -73
  242. package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
  243. package/dist/node/components/docs/getting-started/index.js +731 -731
  244. package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
  245. package/dist/node/components/docs/guides/GuideContractTypesPage.js +232 -232
  246. package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +82 -82
  247. package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
  248. package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
  249. package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
  250. package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
  251. package/dist/node/components/docs/guides/GuidesIndexPage.js +43 -43
  252. package/dist/node/components/docs/guides/index.js +975 -975
  253. package/dist/node/components/docs/index.js +10791 -10791
  254. package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
  255. package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
  256. package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +61 -61
  257. package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +49 -49
  258. package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
  259. package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
  260. package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +69 -69
  261. package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
  262. package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
  263. package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
  264. package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +121 -121
  265. package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
  266. package/dist/node/components/docs/integrations/IntegrationsResendPage.js +45 -45
  267. package/dist/node/components/docs/integrations/IntegrationsS3Page.js +57 -57
  268. package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +63 -63
  269. package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
  270. package/dist/node/components/docs/integrations/IntegrationsStripePage.js +159 -159
  271. package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
  272. package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
  273. package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
  274. package/dist/node/components/docs/integrations/index.js +1642 -1642
  275. package/dist/node/components/docs/intent/ContractFirstApiPage.js +51 -51
  276. package/dist/node/components/docs/intent/DeterministicCodegenPage.js +59 -59
  277. package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
  278. package/dist/node/components/docs/intent/OpenapiAlternativePage.js +91 -91
  279. package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
  280. package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
  281. package/dist/node/components/docs/intent/index.js +396 -396
  282. package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
  283. package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
  284. package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
  285. package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
  286. package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
  287. package/dist/node/components/docs/knowledge/index.js +963 -963
  288. package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
  289. package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
  290. package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
  291. package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +43 -43
  292. package/dist/node/components/docs/libraries/LibrariesContractsPage.js +125 -125
  293. package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
  294. package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
  295. package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
  296. package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
  297. package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
  298. package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
  299. package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +35 -35
  300. package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
  301. package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
  302. package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
  303. package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +191 -191
  304. package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
  305. package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
  306. package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +49 -49
  307. package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +87 -87
  308. package/dist/node/components/docs/libraries/LibrariesSLOPage.js +47 -47
  309. package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +139 -139
  310. package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
  311. package/dist/node/components/docs/libraries/LibrariesTestingPage.js +49 -49
  312. package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +107 -107
  313. package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
  314. package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
  315. package/dist/node/components/docs/libraries/index.js +1919 -1919
  316. package/dist/node/components/docs/manifesto/ManifestoPage.js +79 -79
  317. package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
  318. package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +33 -33
  319. package/dist/node/components/docs/ops/index.js +92 -92
  320. package/dist/node/components/docs/reference/DocsMarkdownContent.js +27 -27
  321. package/dist/node/components/docs/reference/DocsReferenceContent.js +34 -34
  322. package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +23 -23
  323. package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +26 -26
  324. package/dist/node/components/docs/reference/DocsReferencePage.js +37 -37
  325. package/dist/node/components/docs/reference/index.js +63 -63
  326. package/dist/node/components/docs/safety/SafetyAuditingPage.js +161 -161
  327. package/dist/node/components/docs/safety/SafetyMigrationsPage.js +169 -169
  328. package/dist/node/components/docs/safety/SafetyOverviewPage.js +99 -99
  329. package/dist/node/components/docs/safety/SafetyPDPPage.js +137 -137
  330. package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +95 -95
  331. package/dist/node/components/docs/safety/SafetySigningPage.js +39 -39
  332. package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
  333. package/dist/node/components/docs/safety/index.js +733 -733
  334. package/dist/node/components/docs/shared/StudioPrompt.js +9 -9
  335. package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
  336. package/dist/node/components/docs/specs/SpecsDataViewsPage.js +119 -119
  337. package/dist/node/components/docs/specs/SpecsOverlaysPage.js +171 -171
  338. package/dist/node/components/docs/specs/SpecsOverviewPage.js +167 -167
  339. package/dist/node/components/docs/specs/SpecsPolicyPage.js +179 -179
  340. package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +141 -141
  341. package/dist/node/components/docs/specs/index.js +838 -838
  342. package/dist/node/components/docs/studio/StudioBYOKPage.js +9 -9
  343. package/dist/node/components/docs/studio/StudioDeploymentsPage.js +9 -9
  344. package/dist/node/components/docs/studio/StudioGettingStartedPage.js +9 -9
  345. package/dist/node/components/docs/studio/StudioIntegrationsPage.js +9 -9
  346. package/dist/node/components/docs/studio/StudioOverviewPage.js +33 -33
  347. package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +9 -9
  348. package/dist/node/components/docs/studio/index.js +78 -78
  349. package/dist/node/components/integrations/index.js +209 -209
  350. package/dist/node/components/integrations/molecules/IntegrationCard.js +33 -33
  351. package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +71 -71
  352. package/dist/node/components/integrations/organisms/IntegrationSettings.js +98 -98
  353. package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +40 -40
  354. package/dist/node/components/legal/PrivacyTemplate.js +477 -477
  355. package/dist/node/components/legal/TermsTemplate.js +421 -421
  356. package/dist/node/components/legal/index.js +898 -898
  357. package/dist/node/components/shared/FeatureGateNotice.js +13 -13
  358. package/dist/node/components/shared/index.js +13 -13
  359. package/dist/node/components/shell/WorkspaceHeader.js +37 -37
  360. package/dist/node/components/shell/WorkspaceProjectShellLayout.js +77 -77
  361. package/dist/node/components/shell/WorkspaceShellRenderer.js +228 -0
  362. package/dist/node/components/shell/WorkspaceSidebar.js +27 -27
  363. package/dist/node/components/shell/index.js +140 -77
  364. package/dist/node/components/templates/index.js +272 -272
  365. package/dist/node/components/templates/messaging/ConversationList.js +27 -27
  366. package/dist/node/components/templates/messaging/MessageComposer.js +27 -27
  367. package/dist/node/components/templates/messaging/MessageThread.js +18 -18
  368. package/dist/node/components/templates/messaging/MessagingWorkspace.js +65 -65
  369. package/dist/node/components/templates/messaging/index.js +65 -65
  370. package/dist/node/components/templates/recipes/LanguageSwitcher.js +5 -5
  371. package/dist/node/components/templates/recipes/RecipeCard.js +26 -26
  372. package/dist/node/components/templates/recipes/RecipeDetail.js +33 -33
  373. package/dist/node/components/templates/recipes/RecipeList.js +80 -80
  374. package/dist/node/components/templates/recipes/index.js +80 -80
  375. package/dist/node/components/templates/todos/FilterBar.js +39 -39
  376. package/dist/node/components/templates/todos/TaskForm.js +43 -43
  377. package/dist/node/components/templates/todos/TaskItem.js +30 -30
  378. package/dist/node/components/templates/todos/TaskList.js +127 -127
  379. package/dist/node/components/templates/todos/index.js +127 -127
  380. package/dist/node/index.js +12323 -12260
  381. package/dist/node/infrastructure/elysia/index.js +8 -8
  382. package/dist/node/infrastructure/elysia/logger.js +8 -8
  383. package/dist/node/infrastructure/index.js +8 -8
  384. package/dist/node/libs/posthog/client.js +2 -2
  385. package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
  386. package/dist/node/presentation/features/atoms/FeatureIcon/index.js +3 -3
  387. package/dist/node/presentation/features/atoms/index.js +3 -3
  388. package/dist/node/presentation/features/index.js +915 -915
  389. package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
  390. package/dist/node/presentation/features/molecules/FeatureCard/index.js +101 -101
  391. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
  392. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
  393. package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
  394. package/dist/node/presentation/features/molecules/FeatureFilters/index.js +23 -23
  395. package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
  396. package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
  397. package/dist/node/presentation/features/molecules/index.js +139 -139
  398. package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +7 -7
  399. package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
  400. package/dist/node/presentation/features/organisms/FeatureDetail/index.js +57 -57
  401. package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
  402. package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
  403. package/dist/node/presentation/features/organisms/FeatureEventsList.js +7 -7
  404. package/dist/node/presentation/features/organisms/FeatureFormsList.js +7 -7
  405. package/dist/node/presentation/features/organisms/FeatureOperationsList.js +7 -7
  406. package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +7 -7
  407. package/dist/node/presentation/features/organisms/index.js +275 -275
  408. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
  409. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
  410. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
  411. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
  412. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
  413. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
  414. package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
  415. package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
  416. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
  417. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
  418. package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
  419. package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
  420. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
  421. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
  422. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
  423. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
  424. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
  425. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
  426. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
  427. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
  428. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
  429. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
  430. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
  431. package/dist/presentation/features/atoms/FeatureIcon/index.js +3 -3
  432. package/dist/presentation/features/atoms/index.js +3 -3
  433. package/dist/presentation/features/index.js +915 -915
  434. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
  435. package/dist/presentation/features/molecules/FeatureCard/index.js +101 -101
  436. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
  437. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
  438. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
  439. package/dist/presentation/features/molecules/FeatureFilters/index.js +23 -23
  440. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
  441. package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
  442. package/dist/presentation/features/molecules/index.js +139 -139
  443. package/dist/presentation/features/organisms/FeatureDataViewsList.js +7 -7
  444. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
  445. package/dist/presentation/features/organisms/FeatureDetail/index.js +57 -57
  446. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
  447. package/dist/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
  448. package/dist/presentation/features/organisms/FeatureEventsList.js +7 -7
  449. package/dist/presentation/features/organisms/FeatureFormsList.js +7 -7
  450. package/dist/presentation/features/organisms/FeatureOperationsList.js +7 -7
  451. package/dist/presentation/features/organisms/FeaturePresentationsList.js +7 -7
  452. package/dist/presentation/features/organisms/index.js +275 -275
  453. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
  454. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
  455. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
  456. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
  457. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
  458. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
  459. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
  460. package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
  461. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
  462. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
  463. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
  464. package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
  465. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
  466. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
  467. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
  468. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
  469. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
  470. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
  471. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
  472. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
  473. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
  474. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
  475. package/package.json +71 -22
  476. package/src/bundles/LibraryBundle.ts +152 -0
  477. package/src/bundles/index.ts +1 -0
  478. package/src/components/shell/WorkspaceShellRenderer.tsx +90 -0
  479. package/src/components/shell/index.ts +1 -0
@@ -2,114 +2,114 @@
2
2
  // src/components/docs/advanced/AdvancedMCPPage.tsx
3
3
  import Link from "@contractspec/lib.ui-link";
4
4
  import { ChevronRight } from "lucide-react";
5
- import { jsxDEV } from "react/jsx-dev-runtime";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
6
  function AdvancedMCPPage() {
7
- return /* @__PURE__ */ jsxDEV("div", {
7
+ return /* @__PURE__ */ jsxs("div", {
8
8
  className: "space-y-8",
9
9
  children: [
10
- /* @__PURE__ */ jsxDEV("div", {
10
+ /* @__PURE__ */ jsxs("div", {
11
11
  className: "space-y-4",
12
12
  children: [
13
- /* @__PURE__ */ jsxDEV("h1", {
13
+ /* @__PURE__ */ jsx("h1", {
14
14
  className: "text-4xl font-bold",
15
15
  children: "MCP Adapters"
16
- }, undefined, false, undefined, this),
17
- /* @__PURE__ */ jsxDEV("p", {
16
+ }),
17
+ /* @__PURE__ */ jsxs("p", {
18
18
  className: "text-muted-foreground",
19
19
  children: [
20
20
  "The ",
21
- /* @__PURE__ */ jsxDEV("strong", {
21
+ /* @__PURE__ */ jsx("strong", {
22
22
  children: "Model Context Protocol (MCP)"
23
- }, undefined, false, undefined, this),
23
+ }),
24
24
  " is an open standard for connecting AI models to external tools and data sources. ContractSpec provides MCP adapters that allow you to expose your capabilities as MCP tools and consume external MCP servers as capabilities."
25
25
  ]
26
- }, undefined, true, undefined, this)
26
+ })
27
27
  ]
28
- }, undefined, true, undefined, this),
29
- /* @__PURE__ */ jsxDEV("div", {
28
+ }),
29
+ /* @__PURE__ */ jsxs("div", {
30
30
  className: "space-y-4",
31
31
  children: [
32
- /* @__PURE__ */ jsxDEV("h2", {
32
+ /* @__PURE__ */ jsx("h2", {
33
33
  className: "text-2xl font-bold",
34
34
  children: "Why MCP integration matters"
35
- }, undefined, false, undefined, this),
36
- /* @__PURE__ */ jsxDEV("p", {
35
+ }),
36
+ /* @__PURE__ */ jsx("p", {
37
37
  className: "text-muted-foreground",
38
38
  children: "AI agents need access to real-world tools and data to be useful. MCP provides a standardized way to expose these capabilities. By integrating ContractSpec with MCP, you can:"
39
- }, undefined, false, undefined, this),
40
- /* @__PURE__ */ jsxDEV("ul", {
39
+ }),
40
+ /* @__PURE__ */ jsxs("ul", {
41
41
  className: "text-muted-foreground list-inside list-disc space-y-2",
42
42
  children: [
43
- /* @__PURE__ */ jsxDEV("li", {
43
+ /* @__PURE__ */ jsx("li", {
44
44
  children: "Let AI agents invoke your ContractSpec capabilities safely and securely"
45
- }, undefined, false, undefined, this),
46
- /* @__PURE__ */ jsxDEV("li", {
45
+ }),
46
+ /* @__PURE__ */ jsx("li", {
47
47
  children: "Use external MCP servers (databases, APIs, search engines) as capability providers in your workflows"
48
- }, undefined, false, undefined, this),
49
- /* @__PURE__ */ jsxDEV("li", {
48
+ }),
49
+ /* @__PURE__ */ jsx("li", {
50
50
  children: "Build AI-powered features without writing custom integration code"
51
- }, undefined, false, undefined, this),
52
- /* @__PURE__ */ jsxDEV("li", {
51
+ }),
52
+ /* @__PURE__ */ jsx("li", {
53
53
  children: "Enforce policies on AI agent actions just like any other user"
54
- }, undefined, false, undefined, this)
54
+ })
55
55
  ]
56
- }, undefined, true, undefined, this)
56
+ })
57
57
  ]
58
- }, undefined, true, undefined, this),
59
- /* @__PURE__ */ jsxDEV("div", {
58
+ }),
59
+ /* @__PURE__ */ jsxs("div", {
60
60
  className: "space-y-4",
61
61
  children: [
62
- /* @__PURE__ */ jsxDEV("h2", {
62
+ /* @__PURE__ */ jsx("h2", {
63
63
  className: "text-2xl font-bold",
64
64
  children: "Exposing capabilities as MCP tools"
65
- }, undefined, false, undefined, this),
66
- /* @__PURE__ */ jsxDEV("p", {
65
+ }),
66
+ /* @__PURE__ */ jsxs("p", {
67
67
  className: "text-muted-foreground",
68
68
  children: [
69
69
  "Any",
70
70
  " ",
71
- /* @__PURE__ */ jsxDEV(Link, {
71
+ /* @__PURE__ */ jsx(Link, {
72
72
  href: "/docs/specs/capabilities",
73
73
  className: "text-violet-400 hover:text-violet-300",
74
74
  children: "CapabilitySpec"
75
- }, undefined, false, undefined, this),
75
+ }),
76
76
  " ",
77
77
  "can be automatically exposed as an MCP tool. ContractSpec generates:"
78
78
  ]
79
- }, undefined, true, undefined, this),
80
- /* @__PURE__ */ jsxDEV("ul", {
79
+ }),
80
+ /* @__PURE__ */ jsxs("ul", {
81
81
  className: "text-muted-foreground list-inside list-disc space-y-2",
82
82
  children: [
83
- /* @__PURE__ */ jsxDEV("li", {
83
+ /* @__PURE__ */ jsx("li", {
84
84
  children: "A tool schema describing the capability's inputs, outputs, and purpose"
85
- }, undefined, false, undefined, this),
86
- /* @__PURE__ */ jsxDEV("li", {
85
+ }),
86
+ /* @__PURE__ */ jsx("li", {
87
87
  children: "An MCP server endpoint that AI agents can connect to"
88
- }, undefined, false, undefined, this),
89
- /* @__PURE__ */ jsxDEV("li", {
88
+ }),
89
+ /* @__PURE__ */ jsx("li", {
90
90
  children: "Policy enforcement ensuring agents can only invoke capabilities they're authorized to use"
91
- }, undefined, false, undefined, this),
92
- /* @__PURE__ */ jsxDEV("li", {
91
+ }),
92
+ /* @__PURE__ */ jsx("li", {
93
93
  children: "Audit logging of all agent actions for compliance and debugging"
94
- }, undefined, false, undefined, this)
94
+ })
95
95
  ]
96
- }, undefined, true, undefined, this)
96
+ })
97
97
  ]
98
- }, undefined, true, undefined, this),
99
- /* @__PURE__ */ jsxDEV("div", {
98
+ }),
99
+ /* @__PURE__ */ jsxs("div", {
100
100
  className: "space-y-4",
101
101
  children: [
102
- /* @__PURE__ */ jsxDEV("h2", {
102
+ /* @__PURE__ */ jsx("h2", {
103
103
  className: "text-2xl font-bold",
104
104
  children: "Example: Exposing a capability"
105
- }, undefined, false, undefined, this),
106
- /* @__PURE__ */ jsxDEV("p", {
105
+ }),
106
+ /* @__PURE__ */ jsx("p", {
107
107
  className: "text-muted-foreground",
108
108
  children: "Here's how to expose ContractSpec operations as MCP tools:"
109
- }, undefined, false, undefined, this),
110
- /* @__PURE__ */ jsxDEV("div", {
109
+ }),
110
+ /* @__PURE__ */ jsx("div", {
111
111
  className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
112
- children: /* @__PURE__ */ jsxDEV("pre", {
112
+ children: /* @__PURE__ */ jsx("pre", {
113
113
  children: `import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
114
114
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
115
115
  import { createMcpServer } from '@contractspec/lib.contracts-runtime-server-mcp/provider-mcp';
@@ -128,28 +128,28 @@ createMcpServer(server, registry, resources, prompts, {
128
128
 
129
129
  const transport = new StdioServerTransport();
130
130
  await server.connect(transport);`
131
- }, undefined, false, undefined, this)
132
- }, undefined, false, undefined, this),
133
- /* @__PURE__ */ jsxDEV("p", {
131
+ })
132
+ }),
133
+ /* @__PURE__ */ jsx("p", {
134
134
  className: "text-muted-foreground",
135
135
  children: "AI agents can now discover and invoke your operations through the MCP protocol. ContractSpec handles authentication, authorization, and execution automatically via the `OperationSpecRegistry`."
136
- }, undefined, false, undefined, this)
136
+ })
137
137
  ]
138
- }, undefined, true, undefined, this),
139
- /* @__PURE__ */ jsxDEV("div", {
138
+ }),
139
+ /* @__PURE__ */ jsxs("div", {
140
140
  className: "space-y-4",
141
141
  children: [
142
- /* @__PURE__ */ jsxDEV("h2", {
142
+ /* @__PURE__ */ jsx("h2", {
143
143
  className: "text-2xl font-bold",
144
144
  children: "Consuming external MCP servers"
145
- }, undefined, false, undefined, this),
146
- /* @__PURE__ */ jsxDEV("p", {
145
+ }),
146
+ /* @__PURE__ */ jsx("p", {
147
147
  className: "text-muted-foreground",
148
148
  children: "You can integrate external MCP servers into your workflows. Define an integration spec and use it in your operations:"
149
- }, undefined, false, undefined, this),
150
- /* @__PURE__ */ jsxDEV("div", {
149
+ }),
150
+ /* @__PURE__ */ jsx("div", {
151
151
  className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
152
- children: /* @__PURE__ */ jsxDEV("pre", {
152
+ children: /* @__PURE__ */ jsx("pre", {
153
153
  children: `import { defineIntegration } from '@contractspec/lib.contracts-integrations';
154
154
  import { SchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';
155
155
 
@@ -180,33 +180,33 @@ const SearchProductsIntegration = defineIntegration({
180
180
  }),
181
181
  },
182
182
  });`
183
- }, undefined, false, undefined, this)
184
- }, undefined, false, undefined, this)
183
+ })
184
+ })
185
185
  ]
186
- }, undefined, true, undefined, this),
187
- /* @__PURE__ */ jsxDEV("div", {
186
+ }),
187
+ /* @__PURE__ */ jsxs("div", {
188
188
  className: "space-y-4",
189
189
  children: [
190
- /* @__PURE__ */ jsxDEV("h2", {
190
+ /* @__PURE__ */ jsx("h2", {
191
191
  className: "text-2xl font-bold",
192
192
  children: "Policy enforcement for AI agents"
193
- }, undefined, false, undefined, this),
194
- /* @__PURE__ */ jsxDEV("p", {
193
+ }),
194
+ /* @__PURE__ */ jsxs("p", {
195
195
  className: "text-muted-foreground",
196
196
  children: [
197
197
  "AI agents are treated like any other actor in ContractSpec. They must authenticate, and all their actions are subject to",
198
198
  " ",
199
- /* @__PURE__ */ jsxDEV(Link, {
199
+ /* @__PURE__ */ jsx(Link, {
200
200
  href: "/docs/specs/policy",
201
201
  className: "text-violet-400 hover:text-violet-300",
202
202
  children: "PolicySpecs"
203
- }, undefined, false, undefined, this),
203
+ }),
204
204
  ". You can define specific policies in TypeScript:"
205
205
  ]
206
- }, undefined, true, undefined, this),
207
- /* @__PURE__ */ jsxDEV("div", {
206
+ }),
207
+ /* @__PURE__ */ jsx("div", {
208
208
  className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
209
- children: /* @__PURE__ */ jsxDEV("pre", {
209
+ children: /* @__PURE__ */ jsx("pre", {
210
210
  children: `import { definePolicy } from '@contractspec/lib.contracts-spec';
211
211
 
212
212
  export const AIAgentRestrictions = definePolicy({
@@ -231,271 +231,271 @@ export const AIAgentRestrictions = definePolicy({
231
231
  },
232
232
  ],
233
233
  });`
234
- }, undefined, false, undefined, this)
235
- }, undefined, false, undefined, this)
234
+ })
235
+ })
236
236
  ]
237
- }, undefined, true, undefined, this),
238
- /* @__PURE__ */ jsxDEV("div", {
237
+ }),
238
+ /* @__PURE__ */ jsxs("div", {
239
239
  className: "space-y-4",
240
240
  children: [
241
- /* @__PURE__ */ jsxDEV("h2", {
241
+ /* @__PURE__ */ jsx("h2", {
242
242
  className: "text-2xl font-bold",
243
243
  children: "Human-in-the-loop workflows"
244
- }, undefined, false, undefined, this),
245
- /* @__PURE__ */ jsxDEV("p", {
244
+ }),
245
+ /* @__PURE__ */ jsx("p", {
246
246
  className: "text-muted-foreground",
247
247
  children: "For sensitive operations, you can require human approval before an AI agent can proceed. ContractSpec provides built-in approval workflows:"
248
- }, undefined, false, undefined, this),
249
- /* @__PURE__ */ jsxDEV("ul", {
248
+ }),
249
+ /* @__PURE__ */ jsxs("ul", {
250
250
  className: "text-muted-foreground list-inside list-disc space-y-2",
251
251
  children: [
252
- /* @__PURE__ */ jsxDEV("li", {
252
+ /* @__PURE__ */ jsx("li", {
253
253
  children: "Agent requests permission to invoke a capability"
254
- }, undefined, false, undefined, this),
255
- /* @__PURE__ */ jsxDEV("li", {
254
+ }),
255
+ /* @__PURE__ */ jsx("li", {
256
256
  children: "Request is sent to designated approvers (via email, Slack, etc.)"
257
- }, undefined, false, undefined, this),
258
- /* @__PURE__ */ jsxDEV("li", {
257
+ }),
258
+ /* @__PURE__ */ jsx("li", {
259
259
  children: "Approver reviews the request and approves or denies it"
260
- }, undefined, false, undefined, this),
261
- /* @__PURE__ */ jsxDEV("li", {
260
+ }),
261
+ /* @__PURE__ */ jsx("li", {
262
262
  children: "Agent receives the decision and can proceed if approved"
263
- }, undefined, false, undefined, this)
263
+ })
264
264
  ]
265
- }, undefined, true, undefined, this),
266
- /* @__PURE__ */ jsxDEV("p", {
265
+ }),
266
+ /* @__PURE__ */ jsxs("p", {
267
267
  className: "text-muted-foreground",
268
268
  children: [
269
269
  "All approval decisions are logged in the",
270
270
  " ",
271
- /* @__PURE__ */ jsxDEV(Link, {
271
+ /* @__PURE__ */ jsx(Link, {
272
272
  href: "/docs/safety/auditing",
273
273
  className: "text-violet-400 hover:text-violet-300",
274
274
  children: "audit log"
275
- }, undefined, false, undefined, this),
275
+ }),
276
276
  "."
277
277
  ]
278
- }, undefined, true, undefined, this)
278
+ })
279
279
  ]
280
- }, undefined, true, undefined, this),
281
- /* @__PURE__ */ jsxDEV("div", {
280
+ }),
281
+ /* @__PURE__ */ jsxs("div", {
282
282
  className: "space-y-4",
283
283
  children: [
284
- /* @__PURE__ */ jsxDEV("h2", {
284
+ /* @__PURE__ */ jsx("h2", {
285
285
  className: "text-2xl font-bold",
286
286
  children: "Best practices"
287
- }, undefined, false, undefined, this),
288
- /* @__PURE__ */ jsxDEV("ul", {
287
+ }),
288
+ /* @__PURE__ */ jsxs("ul", {
289
289
  className: "text-muted-foreground list-inside list-disc space-y-2",
290
290
  children: [
291
- /* @__PURE__ */ jsxDEV("li", {
291
+ /* @__PURE__ */ jsx("li", {
292
292
  children: "Start with read-only capabilities for AI agents\u2014only grant write access when necessary."
293
- }, undefined, false, undefined, this),
294
- /* @__PURE__ */ jsxDEV("li", {
293
+ }),
294
+ /* @__PURE__ */ jsx("li", {
295
295
  children: "Use human-in-the-loop approval for any capability that modifies critical data or triggers financial transactions."
296
- }, undefined, false, undefined, this),
297
- /* @__PURE__ */ jsxDEV("li", {
296
+ }),
297
+ /* @__PURE__ */ jsx("li", {
298
298
  children: "Set rate limits to prevent runaway agents from overwhelming your system."
299
- }, undefined, false, undefined, this),
300
- /* @__PURE__ */ jsxDEV("li", {
299
+ }),
300
+ /* @__PURE__ */ jsx("li", {
301
301
  children: "Provide clear, detailed descriptions for each capability so agents know when to use them."
302
- }, undefined, false, undefined, this),
303
- /* @__PURE__ */ jsxDEV("li", {
302
+ }),
303
+ /* @__PURE__ */ jsx("li", {
304
304
  children: "Monitor agent actions closely in production and adjust policies as needed."
305
- }, undefined, false, undefined, this),
306
- /* @__PURE__ */ jsxDEV("li", {
305
+ }),
306
+ /* @__PURE__ */ jsx("li", {
307
307
  children: "Test agent integrations thoroughly with realistic scenarios before deploying."
308
- }, undefined, false, undefined, this)
308
+ })
309
309
  ]
310
- }, undefined, true, undefined, this)
310
+ })
311
311
  ]
312
- }, undefined, true, undefined, this),
313
- /* @__PURE__ */ jsxDEV("div", {
312
+ }),
313
+ /* @__PURE__ */ jsxs("div", {
314
314
  className: "flex items-center gap-4 pt-4",
315
315
  children: [
316
- /* @__PURE__ */ jsxDEV(Link, {
316
+ /* @__PURE__ */ jsx(Link, {
317
317
  href: "/docs/advanced/renderers",
318
318
  className: "btn-ghost",
319
319
  children: "Previous: Custom Renderers"
320
- }, undefined, false, undefined, this),
321
- /* @__PURE__ */ jsxDEV(Link, {
320
+ }),
321
+ /* @__PURE__ */ jsxs(Link, {
322
322
  href: "/docs/advanced/telemetry",
323
323
  className: "btn-primary",
324
324
  children: [
325
325
  "Next: Telemetry ",
326
- /* @__PURE__ */ jsxDEV(ChevronRight, {
326
+ /* @__PURE__ */ jsx(ChevronRight, {
327
327
  size: 16
328
- }, undefined, false, undefined, this)
328
+ })
329
329
  ]
330
- }, undefined, true, undefined, this)
330
+ })
331
331
  ]
332
- }, undefined, true, undefined, this)
332
+ })
333
333
  ]
334
- }, undefined, true, undefined, this);
334
+ });
335
335
  }
336
336
 
337
337
  // src/components/docs/advanced/AdvancedOverlayEditorPage.tsx
338
338
  import Link2 from "@contractspec/lib.ui-link";
339
- import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
339
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
340
340
  function AdvancedOverlayEditorPage() {
341
- return /* @__PURE__ */ jsxDEV2("div", {
341
+ return /* @__PURE__ */ jsxs2("div", {
342
342
  className: "space-y-8",
343
343
  children: [
344
- /* @__PURE__ */ jsxDEV2("div", {
344
+ /* @__PURE__ */ jsxs2("div", {
345
345
  className: "space-y-4",
346
346
  children: [
347
- /* @__PURE__ */ jsxDEV2("h1", {
347
+ /* @__PURE__ */ jsx2("h1", {
348
348
  className: "text-4xl font-bold",
349
349
  children: "Overlay Editor"
350
- }, undefined, false, undefined, this),
351
- /* @__PURE__ */ jsxDEV2("p", {
350
+ }),
351
+ /* @__PURE__ */ jsx2("p", {
352
352
  className: "text-muted-foreground text-lg",
353
353
  children: "A Next.js app (`@contractspec/app.overlay-editor`) that lets tenant admins tweak field visibility, labels, and ordering, then sign OverlaySpecs."
354
- }, undefined, false, undefined, this)
354
+ })
355
355
  ]
356
- }, undefined, true, undefined, this),
357
- /* @__PURE__ */ jsxDEV2("div", {
356
+ }),
357
+ /* @__PURE__ */ jsxs2("div", {
358
358
  className: "space-y-4",
359
359
  children: [
360
- /* @__PURE__ */ jsxDEV2("h2", {
360
+ /* @__PURE__ */ jsx2("h2", {
361
361
  className: "text-2xl font-bold",
362
362
  children: "Features"
363
- }, undefined, false, undefined, this),
364
- /* @__PURE__ */ jsxDEV2("ul", {
363
+ }),
364
+ /* @__PURE__ */ jsxs2("ul", {
365
365
  className: "list-disc space-y-2 pl-6",
366
366
  children: [
367
- /* @__PURE__ */ jsxDEV2("li", {
367
+ /* @__PURE__ */ jsx2("li", {
368
368
  children: "Toggle visibility and rename labels without touching code."
369
- }, undefined, false, undefined, this),
370
- /* @__PURE__ */ jsxDEV2("li", {
369
+ }),
370
+ /* @__PURE__ */ jsx2("li", {
371
371
  children: "Move fields up/down to define the overlay order."
372
- }, undefined, false, undefined, this),
373
- /* @__PURE__ */ jsxDEV2("li", {
372
+ }),
373
+ /* @__PURE__ */ jsx2("li", {
374
374
  children: "Preview JSON output powered by `@contractspec/lib.overlay-engine`."
375
- }, undefined, false, undefined, this),
376
- /* @__PURE__ */ jsxDEV2("li", {
375
+ }),
376
+ /* @__PURE__ */ jsx2("li", {
377
377
  children: "Server action for PEM signing (Ed25519/RSA-PSS)."
378
- }, undefined, false, undefined, this)
378
+ })
379
379
  ]
380
- }, undefined, true, undefined, this),
381
- /* @__PURE__ */ jsxDEV2("p", {
380
+ }),
381
+ /* @__PURE__ */ jsxs2("p", {
382
382
  children: [
383
383
  "Project path: ",
384
- /* @__PURE__ */ jsxDEV2("code", {
384
+ /* @__PURE__ */ jsx2("code", {
385
385
  children: "packages/apps/overlay-editor"
386
- }, undefined, false, undefined, this)
386
+ })
387
387
  ]
388
- }, undefined, true, undefined, this)
388
+ })
389
389
  ]
390
- }, undefined, true, undefined, this),
391
- /* @__PURE__ */ jsxDEV2("div", {
390
+ }),
391
+ /* @__PURE__ */ jsxs2("div", {
392
392
  className: "space-y-4",
393
393
  children: [
394
- /* @__PURE__ */ jsxDEV2("h2", {
394
+ /* @__PURE__ */ jsx2("h2", {
395
395
  className: "text-2xl font-bold",
396
396
  children: "Provisioning flow"
397
- }, undefined, false, undefined, this),
398
- /* @__PURE__ */ jsxDEV2("ol", {
397
+ }),
398
+ /* @__PURE__ */ jsxs2("ol", {
399
399
  className: "list-decimal space-y-2 pl-6",
400
400
  children: [
401
- /* @__PURE__ */ jsxDEV2("li", {
401
+ /* @__PURE__ */ jsxs2("li", {
402
402
  children: [
403
403
  "Clone the repo and run ",
404
- /* @__PURE__ */ jsxDEV2("code", {
404
+ /* @__PURE__ */ jsx2("code", {
405
405
  children: "bun dev"
406
- }, undefined, false, undefined, this),
406
+ }),
407
407
  " inside the app."
408
408
  ]
409
- }, undefined, true, undefined, this),
410
- /* @__PURE__ */ jsxDEV2("li", {
409
+ }),
410
+ /* @__PURE__ */ jsx2("li", {
411
411
  children: "Use the UI to craft the overlay for a tenant."
412
- }, undefined, false, undefined, this),
413
- /* @__PURE__ */ jsxDEV2("li", {
412
+ }),
413
+ /* @__PURE__ */ jsx2("li", {
414
414
  children: "Paste the tenant's PEM private key (stored in Vault/KMS)."
415
- }, undefined, false, undefined, this),
416
- /* @__PURE__ */ jsxDEV2("li", {
415
+ }),
416
+ /* @__PURE__ */ jsx2("li", {
417
417
  children: "Click \u201CSign overlay\u201D to get the final JSON payload."
418
- }, undefined, false, undefined, this),
419
- /* @__PURE__ */ jsxDEV2("li", {
418
+ }),
419
+ /* @__PURE__ */ jsx2("li", {
420
420
  children: "Persist in the `Overlay` table and register with `OverlayRegistry`."
421
- }, undefined, false, undefined, this)
421
+ })
422
422
  ]
423
- }, undefined, true, undefined, this),
424
- /* @__PURE__ */ jsxDEV2("p", {
423
+ }),
424
+ /* @__PURE__ */ jsxs2("p", {
425
425
  children: [
426
426
  "See also:",
427
427
  " ",
428
- /* @__PURE__ */ jsxDEV2(Link2, {
428
+ /* @__PURE__ */ jsx2(Link2, {
429
429
  href: "/docs/ops/tenant-customization",
430
430
  className: "text-violet-400 underline",
431
431
  children: "Tenant customization runbook"
432
- }, undefined, false, undefined, this),
432
+ }),
433
433
  "."
434
434
  ]
435
- }, undefined, true, undefined, this)
435
+ })
436
436
  ]
437
- }, undefined, true, undefined, this)
437
+ })
438
438
  ]
439
- }, undefined, true, undefined, this);
439
+ });
440
440
  }
441
441
 
442
442
  // src/components/docs/advanced/AdvancedRenderersPage.tsx
443
443
  import Link3 from "@contractspec/lib.ui-link";
444
444
  import { ChevronRight as ChevronRight2 } from "lucide-react";
445
- import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
445
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
446
446
  function AdvancedRenderersPage() {
447
- return /* @__PURE__ */ jsxDEV3("div", {
447
+ return /* @__PURE__ */ jsxs3("div", {
448
448
  className: "space-y-8",
449
449
  children: [
450
- /* @__PURE__ */ jsxDEV3("div", {
450
+ /* @__PURE__ */ jsxs3("div", {
451
451
  className: "space-y-2",
452
452
  children: [
453
- /* @__PURE__ */ jsxDEV3("h1", {
453
+ /* @__PURE__ */ jsx3("h1", {
454
454
  className: "text-4xl font-bold",
455
455
  children: "Custom Renderers"
456
- }, undefined, false, undefined, this),
457
- /* @__PURE__ */ jsxDEV3("p", {
456
+ }),
457
+ /* @__PURE__ */ jsx3("p", {
458
458
  className: "text-muted-foreground text-lg",
459
459
  children: "ContractSpec ships with React and React Native renderers. You can build custom renderers for any framework."
460
- }, undefined, false, undefined, this)
460
+ })
461
461
  ]
462
- }, undefined, true, undefined, this),
463
- /* @__PURE__ */ jsxDEV3("div", {
462
+ }),
463
+ /* @__PURE__ */ jsxs3("div", {
464
464
  className: "space-y-6",
465
465
  children: [
466
- /* @__PURE__ */ jsxDEV3("div", {
466
+ /* @__PURE__ */ jsxs3("div", {
467
467
  className: "space-y-3",
468
468
  children: [
469
- /* @__PURE__ */ jsxDEV3("h2", {
469
+ /* @__PURE__ */ jsx3("h2", {
470
470
  className: "text-2xl font-bold",
471
471
  children: "Overview"
472
- }, undefined, false, undefined, this),
473
- /* @__PURE__ */ jsxDEV3("p", {
472
+ }),
473
+ /* @__PURE__ */ jsxs3("p", {
474
474
  className: "text-muted-foreground",
475
475
  children: [
476
476
  "The presentation runtime libraries (",
477
- /* @__PURE__ */ jsxDEV3("code", {
477
+ /* @__PURE__ */ jsx3("code", {
478
478
  children: "@contractspec/lib.presentation-runtime-react"
479
- }, undefined, false, undefined, this),
479
+ }),
480
480
  " and",
481
- /* @__PURE__ */ jsxDEV3("code", {
481
+ /* @__PURE__ */ jsx3("code", {
482
482
  children: "@contractspec/lib.presentation-runtime-react-native"
483
- }, undefined, false, undefined, this),
483
+ }),
484
484
  ") provide hooks and components to render ContractSpec-defined UI like workflows and data views. You can extend these or create custom implementations for other frameworks."
485
485
  ]
486
- }, undefined, true, undefined, this)
486
+ })
487
487
  ]
488
- }, undefined, true, undefined, this),
489
- /* @__PURE__ */ jsxDEV3("div", {
488
+ }),
489
+ /* @__PURE__ */ jsxs3("div", {
490
490
  className: "space-y-3",
491
491
  children: [
492
- /* @__PURE__ */ jsxDEV3("h2", {
492
+ /* @__PURE__ */ jsx3("h2", {
493
493
  className: "text-2xl font-bold",
494
494
  children: "Using the React Renderer"
495
- }, undefined, false, undefined, this),
496
- /* @__PURE__ */ jsxDEV3("div", {
495
+ }),
496
+ /* @__PURE__ */ jsx3("div", {
497
497
  className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
498
- children: /* @__PURE__ */ jsxDEV3("pre", {
498
+ children: /* @__PURE__ */ jsx3("pre", {
499
499
  children: `import { useWorkflow, WorkflowStepRenderer } from '@contractspec/lib.presentation-runtime-react';
500
500
  import { MyWorkflowSpec } from './specs';
501
501
 
@@ -512,90 +512,90 @@ export function WorkflowPage() {
512
512
  </div>
513
513
  );
514
514
  }`
515
- }, undefined, false, undefined, this)
516
- }, undefined, false, undefined, this)
515
+ })
516
+ })
517
517
  ]
518
- }, undefined, true, undefined, this),
519
- /* @__PURE__ */ jsxDEV3("div", {
518
+ }),
519
+ /* @__PURE__ */ jsxs3("div", {
520
520
  className: "space-y-3",
521
521
  children: [
522
- /* @__PURE__ */ jsxDEV3("h2", {
522
+ /* @__PURE__ */ jsx3("h2", {
523
523
  className: "text-2xl font-bold",
524
524
  children: "Custom Platform Support"
525
- }, undefined, false, undefined, this),
526
- /* @__PURE__ */ jsxDEV3("p", {
525
+ }),
526
+ /* @__PURE__ */ jsx3("p", {
527
527
  className: "text-muted-foreground",
528
528
  children: "To support a new platform (e.g., Vue, Svelte), you would:"
529
- }, undefined, false, undefined, this),
530
- /* @__PURE__ */ jsxDEV3("ol", {
529
+ }),
530
+ /* @__PURE__ */ jsxs3("ol", {
531
531
  className: "text-muted-foreground list-inside list-decimal space-y-2",
532
532
  children: [
533
- /* @__PURE__ */ jsxDEV3("li", {
533
+ /* @__PURE__ */ jsxs3("li", {
534
534
  children: [
535
535
  "Implement the core workflow state machine (from",
536
536
  " ",
537
- /* @__PURE__ */ jsxDEV3("code", {
537
+ /* @__PURE__ */ jsx3("code", {
538
538
  children: "@contractspec/lib.presentation-runtime-core"
539
- }, undefined, false, undefined, this),
539
+ }),
540
540
  ")"
541
541
  ]
542
- }, undefined, true, undefined, this),
543
- /* @__PURE__ */ jsxDEV3("li", {
542
+ }),
543
+ /* @__PURE__ */ jsx3("li", {
544
544
  children: "Create framework-specific hooks/components for step rendering"
545
- }, undefined, false, undefined, this),
546
- /* @__PURE__ */ jsxDEV3("li", {
545
+ }),
546
+ /* @__PURE__ */ jsx3("li", {
547
547
  children: "Handle validation and submission via the ContractSpec I/O schemas"
548
- }, undefined, false, undefined, this)
548
+ })
549
549
  ]
550
- }, undefined, true, undefined, this)
550
+ })
551
551
  ]
552
- }, undefined, true, undefined, this),
553
- /* @__PURE__ */ jsxDEV3("div", {
552
+ }),
553
+ /* @__PURE__ */ jsx3("div", {
554
554
  className: "flex items-center gap-4 pt-4",
555
- children: /* @__PURE__ */ jsxDEV3(Link3, {
555
+ children: /* @__PURE__ */ jsxs3(Link3, {
556
556
  href: "/docs",
557
557
  className: "btn-primary",
558
558
  children: [
559
559
  "Back to docs ",
560
- /* @__PURE__ */ jsxDEV3(ChevronRight2, {
560
+ /* @__PURE__ */ jsx3(ChevronRight2, {
561
561
  size: 16
562
- }, undefined, false, undefined, this)
562
+ })
563
563
  ]
564
- }, undefined, true, undefined, this)
565
- }, undefined, false, undefined, this)
564
+ })
565
+ })
566
566
  ]
567
- }, undefined, true, undefined, this)
567
+ })
568
568
  ]
569
- }, undefined, true, undefined, this);
569
+ });
570
570
  }
571
571
 
572
572
  // src/components/docs/advanced/AdvancedSpecExperimentsPage.tsx
573
- import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
573
+ import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
574
574
  function AdvancedSpecExperimentsPage() {
575
- return /* @__PURE__ */ jsxDEV4("div", {
575
+ return /* @__PURE__ */ jsxs4("div", {
576
576
  className: "space-y-8",
577
577
  children: [
578
- /* @__PURE__ */ jsxDEV4("div", {
578
+ /* @__PURE__ */ jsxs4("div", {
579
579
  className: "space-y-4",
580
580
  children: [
581
- /* @__PURE__ */ jsxDEV4("h1", {
581
+ /* @__PURE__ */ jsx4("h1", {
582
582
  className: "text-4xl font-bold",
583
583
  children: "Spec Experiments"
584
- }, undefined, false, undefined, this),
585
- /* @__PURE__ */ jsxDEV4("p", {
584
+ }),
585
+ /* @__PURE__ */ jsx4("p", {
586
586
  className: "text-muted-foreground text-lg",
587
587
  children: "Run controlled experiments on ContractSpec operations, gradually shift traffic, and roll back automatically when guardrails trip."
588
- }, undefined, false, undefined, this)
588
+ })
589
589
  ]
590
- }, undefined, true, undefined, this),
591
- /* @__PURE__ */ jsxDEV4("div", {
590
+ }),
591
+ /* @__PURE__ */ jsxs4("div", {
592
592
  className: "space-y-3",
593
593
  children: [
594
- /* @__PURE__ */ jsxDEV4("h2", {
594
+ /* @__PURE__ */ jsx4("h2", {
595
595
  className: "text-2xl font-bold",
596
596
  children: "Define control + variants"
597
- }, undefined, false, undefined, this),
598
- /* @__PURE__ */ jsxDEV4("pre", {
597
+ }),
598
+ /* @__PURE__ */ jsx4("pre", {
599
599
  className: "bg-muted rounded-lg border p-4 text-sm",
600
600
  children: `import { SpecExperimentRegistry } from '@contractspec/lib.growth/spec-experiments';
601
601
 
@@ -618,17 +618,17 @@ const registry = new SpecExperimentRegistry().register({
618
618
  rolloutStages: [0.01, 0.1, 0.5, 1],
619
619
  guardrails: { errorRateThreshold: 0.02, latencyP99ThresholdMs: 500 },
620
620
  });`
621
- }, undefined, false, undefined, this)
621
+ })
622
622
  ]
623
- }, undefined, true, undefined, this),
624
- /* @__PURE__ */ jsxDEV4("div", {
623
+ }),
624
+ /* @__PURE__ */ jsxs4("div", {
625
625
  className: "space-y-3",
626
626
  children: [
627
- /* @__PURE__ */ jsxDEV4("h2", {
627
+ /* @__PURE__ */ jsx4("h2", {
628
628
  className: "text-2xl font-bold",
629
629
  children: "Attach to runtime"
630
- }, undefined, false, undefined, this),
631
- /* @__PURE__ */ jsxDEV4("pre", {
630
+ }),
631
+ /* @__PURE__ */ jsx4("pre", {
632
632
  className: "bg-muted rounded-lg border p-4 text-sm",
633
633
  children: `import { createSpecVariantResolver } from '@contractspec/lib.growth/spec-experiments';
634
634
 
@@ -636,17 +636,17 @@ adapterContext.specVariantResolver = createSpecVariantResolver({
636
636
  adapter,
637
637
  resolveUserId: (ctx) => ctx.userId ?? ctx.organizationId ?? 'anon',
638
638
  });`
639
- }, undefined, false, undefined, this)
639
+ })
640
640
  ]
641
- }, undefined, true, undefined, this),
642
- /* @__PURE__ */ jsxDEV4("div", {
641
+ }),
642
+ /* @__PURE__ */ jsxs4("div", {
643
643
  className: "space-y-3",
644
644
  children: [
645
- /* @__PURE__ */ jsxDEV4("h2", {
645
+ /* @__PURE__ */ jsx4("h2", {
646
646
  className: "text-2xl font-bold",
647
647
  children: "Track outcomes + auto-rollback"
648
- }, undefined, false, undefined, this),
649
- /* @__PURE__ */ jsxDEV4("pre", {
648
+ }),
649
+ /* @__PURE__ */ jsx4("pre", {
650
650
  className: "bg-muted rounded-lg border p-4 text-sm",
651
651
  children: `import {
652
652
  SpecExperimentAnalyzer,
@@ -659,10 +659,10 @@ const controller = new SpecExperimentController({
659
659
  analyzer,
660
660
  onRollback: (target, evaluation) => notifyOps(target, evaluation.reasons),
661
661
  });`
662
- }, undefined, false, undefined, this)
662
+ })
663
663
  ]
664
- }, undefined, true, undefined, this),
665
- /* @__PURE__ */ jsxDEV4("div", {
664
+ }),
665
+ /* @__PURE__ */ jsx4("div", {
666
666
  className: "grid gap-4 md:grid-cols-2",
667
667
  children: [
668
668
  {
@@ -673,132 +673,132 @@ const controller = new SpecExperimentController({
673
673
  title: "Multi-stage rollouts",
674
674
  description: "Use `rolloutStages` to shift 1% \u2192 10% \u2192 50% \u2192 100%. Guardrails trigger rollbacks automatically."
675
675
  }
676
- ].map((card) => /* @__PURE__ */ jsxDEV4("div", {
676
+ ].map((card) => /* @__PURE__ */ jsxs4("div", {
677
677
  className: "card-subtle space-y-2 p-4",
678
678
  children: [
679
- /* @__PURE__ */ jsxDEV4("h3", {
679
+ /* @__PURE__ */ jsx4("h3", {
680
680
  className: "text-lg font-semibold",
681
681
  children: card.title
682
- }, undefined, false, undefined, this),
683
- /* @__PURE__ */ jsxDEV4("p", {
682
+ }),
683
+ /* @__PURE__ */ jsx4("p", {
684
684
  className: "text-muted-foreground text-sm",
685
685
  children: card.description
686
- }, undefined, false, undefined, this)
686
+ })
687
687
  ]
688
- }, card.title, true, undefined, this))
689
- }, undefined, false, undefined, this)
688
+ }, card.title))
689
+ })
690
690
  ]
691
- }, undefined, true, undefined, this);
691
+ });
692
692
  }
693
693
 
694
694
  // src/components/docs/advanced/AdvancedTelemetryPage.tsx
695
695
  import Link4 from "@contractspec/lib.ui-link";
696
696
  import { ChevronRight as ChevronRight3 } from "lucide-react";
697
- import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
697
+ import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
698
698
  function AdvancedTelemetryPage() {
699
- return /* @__PURE__ */ jsxDEV5("div", {
699
+ return /* @__PURE__ */ jsxs5("div", {
700
700
  className: "space-y-8",
701
701
  children: [
702
- /* @__PURE__ */ jsxDEV5("div", {
702
+ /* @__PURE__ */ jsxs5("div", {
703
703
  className: "space-y-4",
704
704
  children: [
705
- /* @__PURE__ */ jsxDEV5("h1", {
705
+ /* @__PURE__ */ jsx5("h1", {
706
706
  className: "text-4xl font-bold",
707
707
  children: "Telemetry"
708
- }, undefined, false, undefined, this),
709
- /* @__PURE__ */ jsxDEV5("p", {
708
+ }),
709
+ /* @__PURE__ */ jsxs5("p", {
710
710
  className: "text-muted-foreground",
711
711
  children: [
712
712
  "A ",
713
- /* @__PURE__ */ jsxDEV5("strong", {
713
+ /* @__PURE__ */ jsx5("strong", {
714
714
  children: "TelemetrySpec"
715
- }, undefined, false, undefined, this),
715
+ }),
716
716
  " defines what metrics, logs, and traces to collect for observability. ContractSpec automatically instruments your application based on these specs, ensuring you have the visibility you need to monitor, debug, and optimize your system."
717
717
  ]
718
- }, undefined, true, undefined, this)
718
+ })
719
719
  ]
720
- }, undefined, true, undefined, this),
721
- /* @__PURE__ */ jsxDEV5("div", {
720
+ }),
721
+ /* @__PURE__ */ jsxs5("div", {
722
722
  className: "space-y-4",
723
723
  children: [
724
- /* @__PURE__ */ jsxDEV5("h2", {
724
+ /* @__PURE__ */ jsx5("h2", {
725
725
  className: "text-2xl font-bold",
726
726
  children: "Why telemetry matters"
727
- }, undefined, false, undefined, this),
728
- /* @__PURE__ */ jsxDEV5("p", {
727
+ }),
728
+ /* @__PURE__ */ jsx5("p", {
729
729
  className: "text-muted-foreground",
730
730
  children: "You can't fix what you can't see. Telemetry provides visibility into how your application is performing, where errors are occurring, and how users are interacting with your system. Without proper instrumentation, you're flying blind in production."
731
- }, undefined, false, undefined, this),
732
- /* @__PURE__ */ jsxDEV5("p", {
731
+ }),
732
+ /* @__PURE__ */ jsx5("p", {
733
733
  className: "text-muted-foreground",
734
734
  children: "ContractSpec takes a spec-first approach to telemetry: you declare what you want to observe, and runtime adapters instrument operations automatically. This ensures consistent, comprehensive coverage without manual effort."
735
- }, undefined, false, undefined, this)
735
+ })
736
736
  ]
737
- }, undefined, true, undefined, this),
738
- /* @__PURE__ */ jsxDEV5("div", {
737
+ }),
738
+ /* @__PURE__ */ jsxs5("div", {
739
739
  className: "space-y-4",
740
740
  children: [
741
- /* @__PURE__ */ jsxDEV5("h2", {
741
+ /* @__PURE__ */ jsx5("h2", {
742
742
  className: "text-2xl font-bold",
743
743
  children: "Three pillars of observability"
744
- }, undefined, false, undefined, this),
745
- /* @__PURE__ */ jsxDEV5("div", {
744
+ }),
745
+ /* @__PURE__ */ jsxs5("div", {
746
746
  className: "space-y-3",
747
747
  children: [
748
- /* @__PURE__ */ jsxDEV5("div", {
748
+ /* @__PURE__ */ jsxs5("div", {
749
749
  children: [
750
- /* @__PURE__ */ jsxDEV5("h3", {
750
+ /* @__PURE__ */ jsx5("h3", {
751
751
  className: "text-lg font-semibold",
752
752
  children: "Metrics"
753
- }, undefined, false, undefined, this),
754
- /* @__PURE__ */ jsxDEV5("p", {
753
+ }),
754
+ /* @__PURE__ */ jsx5("p", {
755
755
  className: "text-muted-foreground",
756
756
  children: "Numerical measurements collected over time. Examples: request count, error rate, latency percentiles, active users, queue depth. Metrics are cheap to collect and store, making them ideal for high-level monitoring and alerting."
757
- }, undefined, false, undefined, this)
757
+ })
758
758
  ]
759
- }, undefined, true, undefined, this),
760
- /* @__PURE__ */ jsxDEV5("div", {
759
+ }),
760
+ /* @__PURE__ */ jsxs5("div", {
761
761
  children: [
762
- /* @__PURE__ */ jsxDEV5("h3", {
762
+ /* @__PURE__ */ jsx5("h3", {
763
763
  className: "text-lg font-semibold",
764
764
  children: "Logs"
765
- }, undefined, false, undefined, this),
766
- /* @__PURE__ */ jsxDEV5("p", {
765
+ }),
766
+ /* @__PURE__ */ jsx5("p", {
767
767
  className: "text-muted-foreground",
768
768
  children: 'Timestamped text records of events. Examples: "User 123 logged in", "Payment failed for order 456", "Database connection pool exhausted". Logs provide detailed context for debugging specific issues.'
769
- }, undefined, false, undefined, this)
769
+ })
770
770
  ]
771
- }, undefined, true, undefined, this),
772
- /* @__PURE__ */ jsxDEV5("div", {
771
+ }),
772
+ /* @__PURE__ */ jsxs5("div", {
773
773
  children: [
774
- /* @__PURE__ */ jsxDEV5("h3", {
774
+ /* @__PURE__ */ jsx5("h3", {
775
775
  className: "text-lg font-semibold",
776
776
  children: "Traces"
777
- }, undefined, false, undefined, this),
778
- /* @__PURE__ */ jsxDEV5("p", {
777
+ }),
778
+ /* @__PURE__ */ jsx5("p", {
779
779
  className: "text-muted-foreground",
780
780
  children: "Records of requests as they flow through your system. A trace shows the complete path of a request\u2014which services it touched, how long each step took, and where errors occurred. Traces are essential for debugging distributed systems."
781
- }, undefined, false, undefined, this)
781
+ })
782
782
  ]
783
- }, undefined, true, undefined, this)
783
+ })
784
784
  ]
785
- }, undefined, true, undefined, this)
785
+ })
786
786
  ]
787
- }, undefined, true, undefined, this),
788
- /* @__PURE__ */ jsxDEV5("div", {
787
+ }),
788
+ /* @__PURE__ */ jsxs5("div", {
789
789
  className: "space-y-4",
790
790
  children: [
791
- /* @__PURE__ */ jsxDEV5("h2", {
791
+ /* @__PURE__ */ jsx5("h2", {
792
792
  className: "text-2xl font-bold",
793
793
  children: "Example TelemetrySpec"
794
- }, undefined, false, undefined, this),
795
- /* @__PURE__ */ jsxDEV5("p", {
794
+ }),
795
+ /* @__PURE__ */ jsx5("p", {
796
796
  className: "text-muted-foreground",
797
797
  children: "Here's how telemetry is configured in TypeScript:"
798
- }, undefined, false, undefined, this),
799
- /* @__PURE__ */ jsxDEV5("div", {
798
+ }),
799
+ /* @__PURE__ */ jsx5("div", {
800
800
  className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
801
- children: /* @__PURE__ */ jsxDEV5("pre", {
801
+ children: /* @__PURE__ */ jsx5("pre", {
802
802
  children: `import { defineTelemetry } from '@contractspec/lib.contracts-spec/telemetry';
803
803
 
804
804
  export const OrderProcessingTelemetry = defineTelemetry({
@@ -845,303 +845,303 @@ export const OrderProcessingTelemetry = defineTelemetry({
845
845
  },
846
846
  ],
847
847
  });`
848
- }, undefined, false, undefined, this)
849
- }, undefined, false, undefined, this)
848
+ })
849
+ })
850
850
  ]
851
- }, undefined, true, undefined, this),
852
- /* @__PURE__ */ jsxDEV5("div", {
851
+ }),
852
+ /* @__PURE__ */ jsxs5("div", {
853
853
  className: "space-y-4",
854
854
  children: [
855
- /* @__PURE__ */ jsxDEV5("h2", {
855
+ /* @__PURE__ */ jsx5("h2", {
856
856
  className: "text-2xl font-bold",
857
857
  children: "Automatic instrumentation"
858
- }, undefined, false, undefined, this),
859
- /* @__PURE__ */ jsxDEV5("p", {
858
+ }),
859
+ /* @__PURE__ */ jsx5("p", {
860
860
  className: "text-muted-foreground",
861
861
  children: "ContractSpec automatically instruments:"
862
- }, undefined, false, undefined, this),
863
- /* @__PURE__ */ jsxDEV5("ul", {
862
+ }),
863
+ /* @__PURE__ */ jsxs5("ul", {
864
864
  className: "text-muted-foreground list-inside list-disc space-y-2",
865
865
  children: [
866
- /* @__PURE__ */ jsxDEV5("li", {
866
+ /* @__PURE__ */ jsxs5("li", {
867
867
  children: [
868
- /* @__PURE__ */ jsxDEV5("strong", {
868
+ /* @__PURE__ */ jsx5("strong", {
869
869
  children: "All operations"
870
- }, undefined, false, undefined, this),
870
+ }),
871
871
  " \u2013 Request count, latency, error rate per Command/Query"
872
872
  ]
873
- }, undefined, true, undefined, this),
874
- /* @__PURE__ */ jsxDEV5("li", {
873
+ }),
874
+ /* @__PURE__ */ jsxs5("li", {
875
875
  children: [
876
- /* @__PURE__ */ jsxDEV5("strong", {
876
+ /* @__PURE__ */ jsx5("strong", {
877
877
  children: "All workflows"
878
- }, undefined, false, undefined, this),
878
+ }),
879
879
  " \u2013 Step execution time, retry counts, compensation events"
880
880
  ]
881
- }, undefined, true, undefined, this),
882
- /* @__PURE__ */ jsxDEV5("li", {
881
+ }),
882
+ /* @__PURE__ */ jsxs5("li", {
883
883
  children: [
884
- /* @__PURE__ */ jsxDEV5("strong", {
884
+ /* @__PURE__ */ jsx5("strong", {
885
885
  children: "All data views"
886
- }, undefined, false, undefined, this),
886
+ }),
887
887
  " \u2013 Query execution time, result set size"
888
888
  ]
889
- }, undefined, true, undefined, this),
890
- /* @__PURE__ */ jsxDEV5("li", {
889
+ }),
890
+ /* @__PURE__ */ jsxs5("li", {
891
891
  children: [
892
- /* @__PURE__ */ jsxDEV5("strong", {
892
+ /* @__PURE__ */ jsx5("strong", {
893
893
  children: "All policy decisions"
894
- }, undefined, false, undefined, this),
894
+ }),
895
895
  " \u2013 Decision time, permit/deny ratio"
896
896
  ]
897
- }, undefined, true, undefined, this),
898
- /* @__PURE__ */ jsxDEV5("li", {
897
+ }),
898
+ /* @__PURE__ */ jsxs5("li", {
899
899
  children: [
900
- /* @__PURE__ */ jsxDEV5("strong", {
900
+ /* @__PURE__ */ jsx5("strong", {
901
901
  children: "System resources"
902
- }, undefined, false, undefined, this),
902
+ }),
903
903
  " \u2013 CPU, memory, disk, network usage"
904
904
  ]
905
- }, undefined, true, undefined, this)
905
+ })
906
906
  ]
907
- }, undefined, true, undefined, this),
908
- /* @__PURE__ */ jsxDEV5("p", {
907
+ }),
908
+ /* @__PURE__ */ jsx5("p", {
909
909
  className: "text-muted-foreground",
910
910
  children: "You don't need to add instrumentation code manually\u2014the runtime handles it based on your specs."
911
- }, undefined, false, undefined, this)
911
+ })
912
912
  ]
913
- }, undefined, true, undefined, this),
914
- /* @__PURE__ */ jsxDEV5("div", {
913
+ }),
914
+ /* @__PURE__ */ jsxs5("div", {
915
915
  className: "space-y-4",
916
916
  children: [
917
- /* @__PURE__ */ jsxDEV5("h2", {
917
+ /* @__PURE__ */ jsx5("h2", {
918
918
  className: "text-2xl font-bold",
919
919
  children: "Integration with observability platforms"
920
- }, undefined, false, undefined, this),
921
- /* @__PURE__ */ jsxDEV5("p", {
920
+ }),
921
+ /* @__PURE__ */ jsx5("p", {
922
922
  className: "text-muted-foreground",
923
923
  children: "ContractSpec supports multiple observability backends:"
924
- }, undefined, false, undefined, this),
925
- /* @__PURE__ */ jsxDEV5("ul", {
924
+ }),
925
+ /* @__PURE__ */ jsxs5("ul", {
926
926
  className: "text-muted-foreground list-inside list-disc space-y-2",
927
927
  children: [
928
- /* @__PURE__ */ jsxDEV5("li", {
928
+ /* @__PURE__ */ jsxs5("li", {
929
929
  children: [
930
- /* @__PURE__ */ jsxDEV5("strong", {
930
+ /* @__PURE__ */ jsx5("strong", {
931
931
  children: "Prometheus"
932
- }, undefined, false, undefined, this),
932
+ }),
933
933
  " \u2013 For metrics collection and alerting"
934
934
  ]
935
- }, undefined, true, undefined, this),
936
- /* @__PURE__ */ jsxDEV5("li", {
935
+ }),
936
+ /* @__PURE__ */ jsxs5("li", {
937
937
  children: [
938
- /* @__PURE__ */ jsxDEV5("strong", {
938
+ /* @__PURE__ */ jsx5("strong", {
939
939
  children: "Grafana"
940
- }, undefined, false, undefined, this),
940
+ }),
941
941
  " \u2013 For dashboards and visualization"
942
942
  ]
943
- }, undefined, true, undefined, this),
944
- /* @__PURE__ */ jsxDEV5("li", {
943
+ }),
944
+ /* @__PURE__ */ jsxs5("li", {
945
945
  children: [
946
- /* @__PURE__ */ jsxDEV5("strong", {
946
+ /* @__PURE__ */ jsx5("strong", {
947
947
  children: "Jaeger / Tempo"
948
- }, undefined, false, undefined, this),
948
+ }),
949
949
  " \u2013 For distributed tracing"
950
950
  ]
951
- }, undefined, true, undefined, this),
952
- /* @__PURE__ */ jsxDEV5("li", {
951
+ }),
952
+ /* @__PURE__ */ jsxs5("li", {
953
953
  children: [
954
- /* @__PURE__ */ jsxDEV5("strong", {
954
+ /* @__PURE__ */ jsx5("strong", {
955
955
  children: "Loki"
956
- }, undefined, false, undefined, this),
956
+ }),
957
957
  " \u2013 For log aggregation"
958
958
  ]
959
- }, undefined, true, undefined, this),
960
- /* @__PURE__ */ jsxDEV5("li", {
959
+ }),
960
+ /* @__PURE__ */ jsxs5("li", {
961
961
  children: [
962
- /* @__PURE__ */ jsxDEV5("strong", {
962
+ /* @__PURE__ */ jsx5("strong", {
963
963
  children: "Datadog"
964
- }, undefined, false, undefined, this),
964
+ }),
965
965
  " \u2013 All-in-one observability platform"
966
966
  ]
967
- }, undefined, true, undefined, this),
968
- /* @__PURE__ */ jsxDEV5("li", {
967
+ }),
968
+ /* @__PURE__ */ jsxs5("li", {
969
969
  children: [
970
- /* @__PURE__ */ jsxDEV5("strong", {
970
+ /* @__PURE__ */ jsx5("strong", {
971
971
  children: "New Relic"
972
- }, undefined, false, undefined, this),
972
+ }),
973
973
  " \u2013 Application performance monitoring"
974
974
  ]
975
- }, undefined, true, undefined, this),
976
- /* @__PURE__ */ jsxDEV5("li", {
975
+ }),
976
+ /* @__PURE__ */ jsxs5("li", {
977
977
  children: [
978
- /* @__PURE__ */ jsxDEV5("strong", {
978
+ /* @__PURE__ */ jsx5("strong", {
979
979
  children: "Honeycomb"
980
- }, undefined, false, undefined, this),
980
+ }),
981
981
  " \u2013 Observability for complex systems"
982
982
  ]
983
- }, undefined, true, undefined, this)
983
+ })
984
984
  ]
985
- }, undefined, true, undefined, this),
986
- /* @__PURE__ */ jsxDEV5("p", {
985
+ }),
986
+ /* @__PURE__ */ jsx5("p", {
987
987
  className: "text-muted-foreground",
988
988
  children: "You can configure multiple backends and send telemetry to all of them simultaneously."
989
- }, undefined, false, undefined, this)
989
+ })
990
990
  ]
991
- }, undefined, true, undefined, this),
992
- /* @__PURE__ */ jsxDEV5("div", {
991
+ }),
992
+ /* @__PURE__ */ jsxs5("div", {
993
993
  className: "space-y-4",
994
994
  children: [
995
- /* @__PURE__ */ jsxDEV5("h2", {
995
+ /* @__PURE__ */ jsx5("h2", {
996
996
  className: "text-2xl font-bold",
997
997
  children: "Sampling and performance"
998
- }, undefined, false, undefined, this),
999
- /* @__PURE__ */ jsxDEV5("p", {
998
+ }),
999
+ /* @__PURE__ */ jsx5("p", {
1000
1000
  className: "text-muted-foreground",
1001
1001
  children: "Collecting telemetry has a cost\u2014CPU, memory, network bandwidth, and storage. ContractSpec provides several mechanisms to control overhead:"
1002
- }, undefined, false, undefined, this),
1003
- /* @__PURE__ */ jsxDEV5("ul", {
1002
+ }),
1003
+ /* @__PURE__ */ jsxs5("ul", {
1004
1004
  className: "text-muted-foreground list-inside list-disc space-y-2",
1005
1005
  children: [
1006
- /* @__PURE__ */ jsxDEV5("li", {
1006
+ /* @__PURE__ */ jsxs5("li", {
1007
1007
  children: [
1008
- /* @__PURE__ */ jsxDEV5("strong", {
1008
+ /* @__PURE__ */ jsx5("strong", {
1009
1009
  children: "Sampling"
1010
- }, undefined, false, undefined, this),
1010
+ }),
1011
1011
  " \u2013 Trace only a percentage of requests (e.g., 10%)"
1012
1012
  ]
1013
- }, undefined, true, undefined, this),
1014
- /* @__PURE__ */ jsxDEV5("li", {
1013
+ }),
1014
+ /* @__PURE__ */ jsxs5("li", {
1015
1015
  children: [
1016
- /* @__PURE__ */ jsxDEV5("strong", {
1016
+ /* @__PURE__ */ jsx5("strong", {
1017
1017
  children: "Adaptive sampling"
1018
- }, undefined, false, undefined, this),
1018
+ }),
1019
1019
  " \u2013 Automatically reduce sampling rate under high load"
1020
1020
  ]
1021
- }, undefined, true, undefined, this),
1022
- /* @__PURE__ */ jsxDEV5("li", {
1021
+ }),
1022
+ /* @__PURE__ */ jsxs5("li", {
1023
1023
  children: [
1024
- /* @__PURE__ */ jsxDEV5("strong", {
1024
+ /* @__PURE__ */ jsx5("strong", {
1025
1025
  children: "Tail-based sampling"
1026
- }, undefined, false, undefined, this),
1026
+ }),
1027
1027
  " \u2013 Keep traces for failed requests, sample successful ones"
1028
1028
  ]
1029
- }, undefined, true, undefined, this),
1030
- /* @__PURE__ */ jsxDEV5("li", {
1029
+ }),
1030
+ /* @__PURE__ */ jsxs5("li", {
1031
1031
  children: [
1032
- /* @__PURE__ */ jsxDEV5("strong", {
1032
+ /* @__PURE__ */ jsx5("strong", {
1033
1033
  children: "Field redaction"
1034
- }, undefined, false, undefined, this),
1034
+ }),
1035
1035
  " \u2013 Remove sensitive data from traces and logs"
1036
1036
  ]
1037
- }, undefined, true, undefined, this),
1038
- /* @__PURE__ */ jsxDEV5("li", {
1037
+ }),
1038
+ /* @__PURE__ */ jsxs5("li", {
1039
1039
  children: [
1040
- /* @__PURE__ */ jsxDEV5("strong", {
1040
+ /* @__PURE__ */ jsx5("strong", {
1041
1041
  children: "Aggregation"
1042
- }, undefined, false, undefined, this),
1042
+ }),
1043
1043
  " \u2013 Pre-aggregate metrics before sending to reduce network traffic"
1044
1044
  ]
1045
- }, undefined, true, undefined, this)
1045
+ })
1046
1046
  ]
1047
- }, undefined, true, undefined, this)
1047
+ })
1048
1048
  ]
1049
- }, undefined, true, undefined, this),
1050
- /* @__PURE__ */ jsxDEV5("div", {
1049
+ }),
1050
+ /* @__PURE__ */ jsxs5("div", {
1051
1051
  className: "space-y-4",
1052
1052
  children: [
1053
- /* @__PURE__ */ jsxDEV5("h2", {
1053
+ /* @__PURE__ */ jsx5("h2", {
1054
1054
  className: "text-2xl font-bold",
1055
1055
  children: "Best practices"
1056
- }, undefined, false, undefined, this),
1057
- /* @__PURE__ */ jsxDEV5("ul", {
1056
+ }),
1057
+ /* @__PURE__ */ jsxs5("ul", {
1058
1058
  className: "text-muted-foreground list-inside list-disc space-y-2",
1059
1059
  children: [
1060
- /* @__PURE__ */ jsxDEV5("li", {
1060
+ /* @__PURE__ */ jsx5("li", {
1061
1061
  children: "Start with high-level metrics (request rate, error rate, latency) and add more detailed instrumentation as needed."
1062
- }, undefined, false, undefined, this),
1063
- /* @__PURE__ */ jsxDEV5("li", {
1062
+ }),
1063
+ /* @__PURE__ */ jsx5("li", {
1064
1064
  children: "Use structured logging\u2014log events with structured fields, not free-form text."
1065
- }, undefined, false, undefined, this),
1066
- /* @__PURE__ */ jsxDEV5("li", {
1065
+ }),
1066
+ /* @__PURE__ */ jsx5("li", {
1067
1067
  children: "Set up alerts for critical metrics so you're notified when things go wrong."
1068
- }, undefined, false, undefined, this),
1069
- /* @__PURE__ */ jsxDEV5("li", {
1068
+ }),
1069
+ /* @__PURE__ */ jsx5("li", {
1070
1070
  children: "Use traces to debug complex issues\u2014they show the complete picture of a request."
1071
- }, undefined, false, undefined, this),
1072
- /* @__PURE__ */ jsxDEV5("li", {
1071
+ }),
1072
+ /* @__PURE__ */ jsx5("li", {
1073
1073
  children: "Redact sensitive data from logs and traces to comply with privacy regulations."
1074
- }, undefined, false, undefined, this),
1075
- /* @__PURE__ */ jsxDEV5("li", {
1074
+ }),
1075
+ /* @__PURE__ */ jsx5("li", {
1076
1076
  children: "Review dashboards regularly to understand normal behavior\u2014this makes anomalies easier to spot."
1077
- }, undefined, false, undefined, this),
1078
- /* @__PURE__ */ jsxDEV5("li", {
1077
+ }),
1078
+ /* @__PURE__ */ jsx5("li", {
1079
1079
  children: "Use sampling to control costs, but always trace errors and slow requests."
1080
- }, undefined, false, undefined, this)
1080
+ })
1081
1081
  ]
1082
- }, undefined, true, undefined, this)
1082
+ })
1083
1083
  ]
1084
- }, undefined, true, undefined, this),
1085
- /* @__PURE__ */ jsxDEV5("div", {
1084
+ }),
1085
+ /* @__PURE__ */ jsxs5("div", {
1086
1086
  className: "flex items-center gap-4 pt-4",
1087
1087
  children: [
1088
- /* @__PURE__ */ jsxDEV5(Link4, {
1088
+ /* @__PURE__ */ jsx5(Link4, {
1089
1089
  href: "/docs/advanced/mcp",
1090
1090
  className: "btn-ghost",
1091
1091
  children: "Previous: MCP Adapters"
1092
- }, undefined, false, undefined, this),
1093
- /* @__PURE__ */ jsxDEV5(Link4, {
1092
+ }),
1093
+ /* @__PURE__ */ jsxs5(Link4, {
1094
1094
  href: "/docs/comparison",
1095
1095
  className: "btn-primary",
1096
1096
  children: [
1097
1097
  "Next: Comparison ",
1098
- /* @__PURE__ */ jsxDEV5(ChevronRight3, {
1098
+ /* @__PURE__ */ jsx5(ChevronRight3, {
1099
1099
  size: 16
1100
- }, undefined, false, undefined, this)
1100
+ })
1101
1101
  ]
1102
- }, undefined, true, undefined, this)
1102
+ })
1103
1103
  ]
1104
- }, undefined, true, undefined, this)
1104
+ })
1105
1105
  ]
1106
- }, undefined, true, undefined, this);
1106
+ });
1107
1107
  }
1108
1108
 
1109
1109
  // src/components/docs/advanced/AdvancedWorkflowMonitoringPage.tsx
1110
- import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
1110
+ import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
1111
1111
  function AdvancedWorkflowMonitoringPage() {
1112
- return /* @__PURE__ */ jsxDEV6("div", {
1112
+ return /* @__PURE__ */ jsxs6("div", {
1113
1113
  className: "space-y-8",
1114
1114
  children: [
1115
- /* @__PURE__ */ jsxDEV6("div", {
1115
+ /* @__PURE__ */ jsxs6("div", {
1116
1116
  className: "space-y-4",
1117
1117
  children: [
1118
- /* @__PURE__ */ jsxDEV6("h1", {
1118
+ /* @__PURE__ */ jsx6("h1", {
1119
1119
  className: "text-4xl font-bold",
1120
1120
  children: "Workflow Monitoring"
1121
- }, undefined, false, undefined, this),
1122
- /* @__PURE__ */ jsxDEV6("p", {
1121
+ }),
1122
+ /* @__PURE__ */ jsx6("p", {
1123
1123
  className: "text-muted-foreground text-lg",
1124
1124
  children: "Production workflows need robust observability. ContractSpec provides SLA monitoring, distributed tracing, and audit logging out of the box."
1125
- }, undefined, false, undefined, this)
1125
+ })
1126
1126
  ]
1127
- }, undefined, true, undefined, this),
1128
- /* @__PURE__ */ jsxDEV6("div", {
1127
+ }),
1128
+ /* @__PURE__ */ jsxs6("div", {
1129
1129
  className: "space-y-4",
1130
1130
  children: [
1131
- /* @__PURE__ */ jsxDEV6("h2", {
1131
+ /* @__PURE__ */ jsx6("h2", {
1132
1132
  className: "text-2xl font-bold",
1133
1133
  children: "SLA Monitoring"
1134
- }, undefined, false, undefined, this),
1135
- /* @__PURE__ */ jsxDEV6("p", {
1134
+ }),
1135
+ /* @__PURE__ */ jsxs6("p", {
1136
1136
  children: [
1137
1137
  "Use the ",
1138
- /* @__PURE__ */ jsxDEV6("code", {
1138
+ /* @__PURE__ */ jsx6("code", {
1139
1139
  children: "SLAMonitor"
1140
- }, undefined, false, undefined, this),
1140
+ }),
1141
1141
  " to detect when workflows or individual steps exceed their budgeted duration."
1142
1142
  ]
1143
- }, undefined, true, undefined, this),
1144
- /* @__PURE__ */ jsxDEV6("pre", {
1143
+ }),
1144
+ /* @__PURE__ */ jsx6("pre", {
1145
1145
  className: "bg-muted rounded-lg border p-4 text-sm",
1146
1146
  children: `import { SLAMonitor } from '@contractspec/lib.contracts-spec/workflow/sla-monitor';
1147
1147
 
@@ -1154,62 +1154,62 @@ const monitor = new SLAMonitor((event, payload) => {
1154
1154
 
1155
1155
  // Check periodically
1156
1156
  monitor.check(currentState, workflowSpec);`
1157
- }, undefined, false, undefined, this)
1157
+ })
1158
1158
  ]
1159
- }, undefined, true, undefined, this),
1160
- /* @__PURE__ */ jsxDEV6("div", {
1159
+ }),
1160
+ /* @__PURE__ */ jsxs6("div", {
1161
1161
  className: "space-y-4",
1162
1162
  children: [
1163
- /* @__PURE__ */ jsxDEV6("h2", {
1163
+ /* @__PURE__ */ jsx6("h2", {
1164
1164
  className: "text-2xl font-bold",
1165
1165
  children: "Telemetry & Tracing"
1166
- }, undefined, false, undefined, this),
1167
- /* @__PURE__ */ jsxDEV6("p", {
1166
+ }),
1167
+ /* @__PURE__ */ jsx6("p", {
1168
1168
  children: "Workflows automatically generate OpenTelemetry spans for:"
1169
- }, undefined, false, undefined, this),
1170
- /* @__PURE__ */ jsxDEV6("ul", {
1169
+ }),
1170
+ /* @__PURE__ */ jsxs6("ul", {
1171
1171
  className: "list-disc space-y-2 pl-6",
1172
1172
  children: [
1173
- /* @__PURE__ */ jsxDEV6("li", {
1173
+ /* @__PURE__ */ jsx6("li", {
1174
1174
  children: "Overall workflow execution"
1175
- }, undefined, false, undefined, this),
1176
- /* @__PURE__ */ jsxDEV6("li", {
1175
+ }),
1176
+ /* @__PURE__ */ jsx6("li", {
1177
1177
  children: "Individual steps"
1178
- }, undefined, false, undefined, this),
1179
- /* @__PURE__ */ jsxDEV6("li", {
1178
+ }),
1179
+ /* @__PURE__ */ jsx6("li", {
1180
1180
  children: "Retries and compensation"
1181
- }, undefined, false, undefined, this)
1181
+ })
1182
1182
  ]
1183
- }, undefined, true, undefined, this),
1184
- /* @__PURE__ */ jsxDEV6("p", {
1183
+ }),
1184
+ /* @__PURE__ */ jsx6("p", {
1185
1185
  children: "Configure your OpenTelemetry exporter to send traces to Jaeger, Datadog, or Honeycomb."
1186
- }, undefined, false, undefined, this)
1186
+ })
1187
1187
  ]
1188
- }, undefined, true, undefined, this),
1189
- /* @__PURE__ */ jsxDEV6("div", {
1188
+ }),
1189
+ /* @__PURE__ */ jsxs6("div", {
1190
1190
  className: "space-y-4",
1191
1191
  children: [
1192
- /* @__PURE__ */ jsxDEV6("h2", {
1192
+ /* @__PURE__ */ jsx6("h2", {
1193
1193
  className: "text-2xl font-bold",
1194
1194
  children: "Dashboarding"
1195
- }, undefined, false, undefined, this),
1196
- /* @__PURE__ */ jsxDEV6("p", {
1195
+ }),
1196
+ /* @__PURE__ */ jsxs6("p", {
1197
1197
  children: [
1198
1198
  "You can build a custom dashboard using ",
1199
- /* @__PURE__ */ jsxDEV6("code", {
1199
+ /* @__PURE__ */ jsx6("code", {
1200
1200
  children: "DataViews"
1201
- }, undefined, false, undefined, this),
1201
+ }),
1202
1202
  " over your workflow state database. See the DataViews tutorial for how to visualize ",
1203
- /* @__PURE__ */ jsxDEV6("code", {
1203
+ /* @__PURE__ */ jsx6("code", {
1204
1204
  children: "WorkflowState"
1205
- }, undefined, false, undefined, this),
1205
+ }),
1206
1206
  " records."
1207
1207
  ]
1208
- }, undefined, true, undefined, this)
1208
+ })
1209
1209
  ]
1210
- }, undefined, true, undefined, this)
1210
+ })
1211
1211
  ]
1212
- }, undefined, true, undefined, this);
1212
+ });
1213
1213
  }
1214
1214
  export {
1215
1215
  AdvancedWorkflowMonitoringPage,