@contractspec/bundle.library 1.12.0 → 1.14.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 (1524) hide show
  1. package/.turbo/turbo-build.log +571 -1228
  2. package/.turbo/turbo-prebuild.log +1 -0
  3. package/CHANGELOG.md +41 -0
  4. package/dist/__tests__/env-setup.d.ts +2 -0
  5. package/dist/__tests__/env-setup.d.ts.map +1 -0
  6. package/dist/__tests__/mocks/prisma.d.ts +16 -0
  7. package/dist/__tests__/mocks/prisma.d.ts.map +1 -0
  8. package/dist/__tests__/setup.d.ts +2 -0
  9. package/dist/__tests__/setup.d.ts.map +1 -0
  10. package/dist/application/index.d.ts +2 -4
  11. package/dist/application/index.d.ts.map +1 -0
  12. package/dist/application/index.js +696 -5
  13. package/dist/application/mcp/cliMcp.d.ts +79 -85
  14. package/dist/application/mcp/cliMcp.d.ts.map +1 -1
  15. package/dist/application/mcp/cliMcp.js +329 -218
  16. package/dist/application/mcp/common.d.ts +90 -103
  17. package/dist/application/mcp/common.d.ts.map +1 -1
  18. package/dist/application/mcp/common.js +73 -61
  19. package/dist/application/mcp/docsMcp.d.ts +79 -85
  20. package/dist/application/mcp/docsMcp.d.ts.map +1 -1
  21. package/dist/application/mcp/docsMcp.js +259 -136
  22. package/dist/application/mcp/index.d.ts +4 -4
  23. package/dist/application/mcp/index.d.ts.map +1 -0
  24. package/dist/application/mcp/index.js +696 -4
  25. package/dist/application/mcp/internalMcp.d.ts +79 -85
  26. package/dist/application/mcp/internalMcp.d.ts.map +1 -1
  27. package/dist/application/mcp/internalMcp.js +285 -172
  28. package/dist/components/docs/DocsIndexPage.d.ts +1 -6
  29. package/dist/components/docs/DocsIndexPage.d.ts.map +1 -1
  30. package/dist/components/docs/DocsIndexPage.js +259 -211
  31. package/dist/components/docs/advanced/AdvancedMCPPage.d.ts +1 -6
  32. package/dist/components/docs/advanced/AdvancedMCPPage.d.ts.map +1 -1
  33. package/dist/components/docs/advanced/AdvancedMCPPage.js +269 -212
  34. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.d.ts +1 -6
  35. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.d.ts.map +1 -1
  36. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +105 -74
  37. package/dist/components/docs/advanced/AdvancedRenderersPage.d.ts +1 -6
  38. package/dist/components/docs/advanced/AdvancedRenderersPage.d.ts.map +1 -1
  39. package/dist/components/docs/advanced/AdvancedRenderersPage.js +116 -86
  40. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.d.ts +1 -6
  41. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.d.ts.map +1 -1
  42. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +88 -71
  43. package/dist/components/docs/advanced/AdvancedTelemetryPage.d.ts +1 -6
  44. package/dist/components/docs/advanced/AdvancedTelemetryPage.d.ts.map +1 -1
  45. package/dist/components/docs/advanced/AdvancedTelemetryPage.js +371 -203
  46. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.d.ts +1 -6
  47. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.d.ts.map +1 -1
  48. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +97 -72
  49. package/dist/components/docs/advanced/index.d.ts +7 -7
  50. package/dist/components/docs/advanced/index.d.ts.map +1 -0
  51. package/dist/components/docs/advanced/index.js +1221 -8
  52. package/dist/components/docs/architecture/ArchitectureAppConfigPage.d.ts +1 -6
  53. package/dist/components/docs/architecture/ArchitectureAppConfigPage.d.ts.map +1 -1
  54. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +235 -171
  55. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.d.ts +1 -6
  56. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.d.ts.map +1 -1
  57. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +251 -180
  58. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.d.ts +1 -6
  59. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.d.ts.map +1 -1
  60. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +366 -282
  61. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.d.ts +1 -6
  62. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.d.ts.map +1 -1
  63. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +162 -113
  64. package/dist/components/docs/architecture/ArchitectureOverviewPage.d.ts +1 -6
  65. package/dist/components/docs/architecture/ArchitectureOverviewPage.d.ts.map +1 -1
  66. package/dist/components/docs/architecture/ArchitectureOverviewPage.js +446 -321
  67. package/dist/components/docs/architecture/index.d.ts +6 -6
  68. package/dist/components/docs/architecture/index.d.ts.map +1 -0
  69. package/dist/components/docs/architecture/index.js +1913 -6
  70. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.d.ts +1 -6
  71. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.d.ts.map +1 -1
  72. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +244 -198
  73. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.d.ts +1 -6
  74. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.d.ts.map +1 -1
  75. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +228 -168
  76. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.d.ts +1 -6
  77. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.d.ts.map +1 -1
  78. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +244 -198
  79. package/dist/components/docs/comparison/ComparisonOverviewPage.d.ts +1 -6
  80. package/dist/components/docs/comparison/ComparisonOverviewPage.d.ts.map +1 -1
  81. package/dist/components/docs/comparison/ComparisonOverviewPage.js +201 -166
  82. package/dist/components/docs/comparison/ComparisonWindmillPage.d.ts +1 -6
  83. package/dist/components/docs/comparison/ComparisonWindmillPage.d.ts.map +1 -1
  84. package/dist/components/docs/comparison/ComparisonWindmillPage.js +253 -175
  85. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.d.ts +1 -6
  86. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.d.ts.map +1 -1
  87. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +338 -274
  88. package/dist/components/docs/comparison/index.d.ts +7 -7
  89. package/dist/components/docs/comparison/index.d.ts.map +1 -0
  90. package/dist/components/docs/comparison/index.js +1511 -8
  91. package/dist/components/docs/ecosystem/IntegrationsPage.d.ts +1 -6
  92. package/dist/components/docs/ecosystem/IntegrationsPage.d.ts.map +1 -1
  93. package/dist/components/docs/ecosystem/IntegrationsPage.js +96 -76
  94. package/dist/components/docs/ecosystem/PluginsPage.d.ts +1 -6
  95. package/dist/components/docs/ecosystem/PluginsPage.d.ts.map +1 -1
  96. package/dist/components/docs/ecosystem/PluginsPage.js +139 -114
  97. package/dist/components/docs/ecosystem/RegistryPage.d.ts +1 -6
  98. package/dist/components/docs/ecosystem/RegistryPage.d.ts.map +1 -1
  99. package/dist/components/docs/ecosystem/RegistryPage.js +81 -71
  100. package/dist/components/docs/ecosystem/TemplatesPage.d.ts +1 -6
  101. package/dist/components/docs/ecosystem/TemplatesPage.d.ts.map +1 -1
  102. package/dist/components/docs/ecosystem/TemplatesPage.js +136 -84
  103. package/dist/components/docs/ecosystem/ecosystem.docblocks.d.ts +2 -1
  104. package/dist/components/docs/ecosystem/ecosystem.docblocks.d.ts.map +1 -0
  105. package/dist/components/docs/ecosystem/ecosystem.docblocks.js +45 -51
  106. package/dist/components/docs/ecosystem/index.d.ts +6 -5
  107. package/dist/components/docs/ecosystem/index.d.ts.map +1 -0
  108. package/dist/components/docs/ecosystem/index.js +614 -6
  109. package/dist/components/docs/examples/DocsExamplesPage.d.ts +1 -6
  110. package/dist/components/docs/examples/DocsExamplesPage.d.ts.map +1 -1
  111. package/dist/components/docs/examples/DocsExamplesPage.js +79 -65
  112. package/dist/components/docs/examples/index.d.ts +2 -2
  113. package/dist/components/docs/examples/index.d.ts.map +1 -0
  114. package/dist/components/docs/examples/index.js +85 -3
  115. package/dist/components/docs/generated/docs-index.generated.d.ts +24 -27
  116. package/dist/components/docs/generated/docs-index.generated.d.ts.map +1 -1
  117. package/dist/components/docs/generated/docs-index.generated.js +6 -6
  118. package/dist/components/docs/generated/index.d.ts +3 -3
  119. package/dist/components/docs/generated/index.d.ts.map +1 -0
  120. package/dist/components/docs/generated/index.js +74 -2
  121. package/dist/components/docs/generated/loader.d.ts +6 -10
  122. package/dist/components/docs/generated/loader.d.ts.map +1 -1
  123. package/dist/components/docs/generated/loader.js +60 -48
  124. package/dist/components/docs/getting-started/CLIPage.d.ts +1 -6
  125. package/dist/components/docs/getting-started/CLIPage.d.ts.map +1 -1
  126. package/dist/components/docs/getting-started/CLIPage.js +265 -231
  127. package/dist/components/docs/getting-started/CompatibilityPage.d.ts +1 -6
  128. package/dist/components/docs/getting-started/CompatibilityPage.d.ts.map +1 -1
  129. package/dist/components/docs/getting-started/CompatibilityPage.js +171 -115
  130. package/dist/components/docs/getting-started/DataViewTutorialPage.d.ts +1 -6
  131. package/dist/components/docs/getting-started/DataViewTutorialPage.d.ts.map +1 -1
  132. package/dist/components/docs/getting-started/DataViewTutorialPage.js +128 -105
  133. package/dist/components/docs/getting-started/DeveloperToolsPage.d.ts +1 -6
  134. package/dist/components/docs/getting-started/DeveloperToolsPage.d.ts.map +1 -1
  135. package/dist/components/docs/getting-started/DeveloperToolsPage.js +191 -151
  136. package/dist/components/docs/getting-started/HelloWorldPage.d.ts +1 -6
  137. package/dist/components/docs/getting-started/HelloWorldPage.d.ts.map +1 -1
  138. package/dist/components/docs/getting-started/HelloWorldPage.js +176 -138
  139. package/dist/components/docs/getting-started/InstallationPage.d.ts +1 -6
  140. package/dist/components/docs/getting-started/InstallationPage.d.ts.map +1 -1
  141. package/dist/components/docs/getting-started/InstallationPage.js +149 -115
  142. package/dist/components/docs/getting-started/StartHerePage.d.ts +1 -6
  143. package/dist/components/docs/getting-started/StartHerePage.d.ts.map +1 -1
  144. package/dist/components/docs/getting-started/StartHerePage.js +125 -98
  145. package/dist/components/docs/getting-started/TroubleshootingPage.d.ts +1 -6
  146. package/dist/components/docs/getting-started/TroubleshootingPage.d.ts.map +1 -1
  147. package/dist/components/docs/getting-started/TroubleshootingPage.js +164 -111
  148. package/dist/components/docs/getting-started/VSCodeExtensionPage.d.ts +1 -6
  149. package/dist/components/docs/getting-started/VSCodeExtensionPage.d.ts.map +1 -1
  150. package/dist/components/docs/getting-started/VSCodeExtensionPage.js +429 -353
  151. package/dist/components/docs/getting-started/getting-started.docblocks.d.ts +2 -6
  152. package/dist/components/docs/getting-started/getting-started.docblocks.d.ts.map +1 -1
  153. package/dist/components/docs/getting-started/getting-started.docblocks.js +36 -37
  154. package/dist/components/docs/getting-started/index.d.ts +11 -11
  155. package/dist/components/docs/getting-started/index.d.ts.map +1 -0
  156. package/dist/components/docs/getting-started/index.js +2184 -12
  157. package/dist/components/docs/guides/GuideCIDiffGatingPage.d.ts +1 -6
  158. package/dist/components/docs/guides/GuideCIDiffGatingPage.d.ts.map +1 -1
  159. package/dist/components/docs/guides/GuideCIDiffGatingPage.js +192 -143
  160. package/dist/components/docs/guides/GuideContractTypesPage.d.ts +1 -6
  161. package/dist/components/docs/guides/GuideContractTypesPage.d.ts.map +1 -1
  162. package/dist/components/docs/guides/GuideContractTypesPage.js +532 -440
  163. package/dist/components/docs/guides/GuideDocsPipelinePage.d.ts +1 -6
  164. package/dist/components/docs/guides/GuideDocsPipelinePage.d.ts.map +1 -1
  165. package/dist/components/docs/guides/GuideDocsPipelinePage.js +202 -142
  166. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.d.ts +1 -6
  167. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.d.ts.map +1 -1
  168. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +205 -152
  169. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.d.ts +1 -6
  170. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.d.ts.map +1 -1
  171. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +743 -543
  172. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.d.ts +1 -6
  173. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.d.ts.map +1 -1
  174. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +260 -199
  175. package/dist/components/docs/guides/GuideSpecValidationTypingPage.d.ts +1 -6
  176. package/dist/components/docs/guides/GuideSpecValidationTypingPage.d.ts.map +1 -1
  177. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +190 -139
  178. package/dist/components/docs/guides/GuidesIndexPage.d.ts +1 -6
  179. package/dist/components/docs/guides/GuidesIndexPage.d.ts.map +1 -1
  180. package/dist/components/docs/guides/GuidesIndexPage.js +141 -115
  181. package/dist/components/docs/guides/guides.docblocks.d.ts +2 -1
  182. package/dist/components/docs/guides/guides.docblocks.d.ts.map +1 -0
  183. package/dist/components/docs/guides/guides.docblocks.js +65 -87
  184. package/dist/components/docs/guides/index.d.ts +10 -9
  185. package/dist/components/docs/guides/index.d.ts.map +1 -0
  186. package/dist/components/docs/guides/index.js +2903 -11
  187. package/dist/components/docs/index.d.ts +20 -135
  188. package/dist/components/docs/index.d.ts.map +1 -0
  189. package/dist/components/docs/index.js +28182 -136
  190. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.d.ts +1 -6
  191. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.d.ts.map +1 -1
  192. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +40 -33
  193. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.d.ts +1 -6
  194. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.d.ts.map +1 -1
  195. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +103 -72
  196. package/dist/components/docs/integrations/IntegrationsGmailPage.d.ts +1 -6
  197. package/dist/components/docs/integrations/IntegrationsGmailPage.d.ts.map +1 -1
  198. package/dist/components/docs/integrations/IntegrationsGmailPage.js +107 -79
  199. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.d.ts +1 -6
  200. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.d.ts.map +1 -1
  201. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +77 -57
  202. package/dist/components/docs/integrations/IntegrationsOpenAIPage.d.ts +1 -6
  203. package/dist/components/docs/integrations/IntegrationsOpenAIPage.d.ts.map +1 -1
  204. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +138 -95
  205. package/dist/components/docs/integrations/IntegrationsOverviewPage.d.ts +1 -6
  206. package/dist/components/docs/integrations/IntegrationsOverviewPage.d.ts.map +1 -1
  207. package/dist/components/docs/integrations/IntegrationsOverviewPage.js +598 -481
  208. package/dist/components/docs/integrations/IntegrationsPostmarkPage.d.ts +1 -6
  209. package/dist/components/docs/integrations/IntegrationsPostmarkPage.d.ts.map +1 -1
  210. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +217 -146
  211. package/dist/components/docs/integrations/IntegrationsPowensPage.d.ts +1 -6
  212. package/dist/components/docs/integrations/IntegrationsPowensPage.d.ts.map +1 -1
  213. package/dist/components/docs/integrations/IntegrationsPowensPage.js +298 -243
  214. package/dist/components/docs/integrations/IntegrationsQdrantPage.d.ts +1 -6
  215. package/dist/components/docs/integrations/IntegrationsQdrantPage.d.ts.map +1 -1
  216. package/dist/components/docs/integrations/IntegrationsQdrantPage.js +112 -82
  217. package/dist/components/docs/integrations/IntegrationsResendPage.d.ts +1 -6
  218. package/dist/components/docs/integrations/IntegrationsResendPage.d.ts.map +1 -1
  219. package/dist/components/docs/integrations/IntegrationsResendPage.js +100 -71
  220. package/dist/components/docs/integrations/IntegrationsS3Page.d.ts +1 -6
  221. package/dist/components/docs/integrations/IntegrationsS3Page.d.ts.map +1 -1
  222. package/dist/components/docs/integrations/IntegrationsS3Page.js +122 -84
  223. package/dist/components/docs/integrations/IntegrationsSpecModelPage.d.ts +1 -6
  224. package/dist/components/docs/integrations/IntegrationsSpecModelPage.d.ts.map +1 -1
  225. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +248 -167
  226. package/dist/components/docs/integrations/IntegrationsStripePage.d.ts +1 -6
  227. package/dist/components/docs/integrations/IntegrationsStripePage.d.ts.map +1 -1
  228. package/dist/components/docs/integrations/IntegrationsStripePage.js +332 -255
  229. package/dist/components/docs/integrations/IntegrationsTwilioPage.d.ts +1 -6
  230. package/dist/components/docs/integrations/IntegrationsTwilioPage.d.ts.map +1 -1
  231. package/dist/components/docs/integrations/IntegrationsTwilioPage.js +126 -87
  232. package/dist/components/docs/integrations/index.d.ts +15 -15
  233. package/dist/components/docs/integrations/index.d.ts.map +1 -0
  234. package/dist/components/docs/integrations/index.js +3312 -16
  235. package/dist/components/docs/intent/ContractFirstApiPage.d.ts +3 -9
  236. package/dist/components/docs/intent/ContractFirstApiPage.d.ts.map +1 -1
  237. package/dist/components/docs/intent/ContractFirstApiPage.js +120 -96
  238. package/dist/components/docs/intent/DeterministicCodegenPage.d.ts +3 -9
  239. package/dist/components/docs/intent/DeterministicCodegenPage.d.ts.map +1 -1
  240. package/dist/components/docs/intent/DeterministicCodegenPage.js +138 -117
  241. package/dist/components/docs/intent/GenerateClientFromSchemaPage.d.ts +3 -9
  242. package/dist/components/docs/intent/GenerateClientFromSchemaPage.d.ts.map +1 -1
  243. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +198 -168
  244. package/dist/components/docs/intent/OpenapiAlternativePage.d.ts +3 -9
  245. package/dist/components/docs/intent/OpenapiAlternativePage.d.ts.map +1 -1
  246. package/dist/components/docs/intent/OpenapiAlternativePage.js +196 -146
  247. package/dist/components/docs/intent/SchemaValidationTypescriptPage.d.ts +3 -9
  248. package/dist/components/docs/intent/SchemaValidationTypescriptPage.d.ts.map +1 -1
  249. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +138 -117
  250. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.d.ts +3 -9
  251. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.d.ts.map +1 -1
  252. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +120 -96
  253. package/dist/components/docs/intent/index.d.ts +8 -7
  254. package/dist/components/docs/intent/index.d.ts.map +1 -0
  255. package/dist/components/docs/intent/index.js +1595 -8
  256. package/dist/components/docs/intent/intent-pages.docblocks.d.ts +7 -11
  257. package/dist/components/docs/intent/intent-pages.docblocks.d.ts.map +1 -1
  258. package/dist/components/docs/intent/intent-pages.docblocks.js +196 -173
  259. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.d.ts +1 -6
  260. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.d.ts.map +1 -1
  261. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +748 -447
  262. package/dist/components/docs/knowledge/KnowledgeExamplesPage.d.ts +1 -6
  263. package/dist/components/docs/knowledge/KnowledgeExamplesPage.d.ts.map +1 -1
  264. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +189 -125
  265. package/dist/components/docs/knowledge/KnowledgeOverviewPage.d.ts +1 -6
  266. package/dist/components/docs/knowledge/KnowledgeOverviewPage.d.ts.map +1 -1
  267. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +405 -294
  268. package/dist/components/docs/knowledge/KnowledgeSourcesPage.d.ts +1 -6
  269. package/dist/components/docs/knowledge/KnowledgeSourcesPage.d.ts.map +1 -1
  270. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +389 -288
  271. package/dist/components/docs/knowledge/KnowledgeSpacesPage.d.ts +1 -6
  272. package/dist/components/docs/knowledge/KnowledgeSpacesPage.d.ts.map +1 -1
  273. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +300 -227
  274. package/dist/components/docs/knowledge/index.d.ts +6 -6
  275. package/dist/components/docs/knowledge/index.d.ts.map +1 -0
  276. package/dist/components/docs/knowledge/index.js +2444 -6
  277. package/dist/components/docs/libraries/LibrariesAccessibilityPage.d.ts +1 -6
  278. package/dist/components/docs/libraries/LibrariesAccessibilityPage.d.ts.map +1 -1
  279. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +193 -132
  280. package/dist/components/docs/libraries/LibrariesAiAgentPage.d.ts +1 -6
  281. package/dist/components/docs/libraries/LibrariesAiAgentPage.d.ts.map +1 -1
  282. package/dist/components/docs/libraries/LibrariesAiAgentPage.js +141 -89
  283. package/dist/components/docs/libraries/LibrariesAnalyticsPage.d.ts +1 -6
  284. package/dist/components/docs/libraries/LibrariesAnalyticsPage.d.ts.map +1 -1
  285. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +75 -59
  286. package/dist/components/docs/libraries/LibrariesContentGenPage.d.ts +1 -6
  287. package/dist/components/docs/libraries/LibrariesContentGenPage.d.ts.map +1 -1
  288. package/dist/components/docs/libraries/LibrariesContentGenPage.js +96 -67
  289. package/dist/components/docs/libraries/LibrariesContractsPage.d.ts +1 -6
  290. package/dist/components/docs/libraries/LibrariesContractsPage.d.ts.map +1 -1
  291. package/dist/components/docs/libraries/LibrariesContractsPage.js +277 -140
  292. package/dist/components/docs/libraries/LibrariesCostTrackingPage.d.ts +1 -6
  293. package/dist/components/docs/libraries/LibrariesCostTrackingPage.d.ts.map +1 -1
  294. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +107 -76
  295. package/dist/components/docs/libraries/LibrariesDataBackendPage.d.ts +1 -6
  296. package/dist/components/docs/libraries/LibrariesDataBackendPage.d.ts.map +1 -1
  297. package/dist/components/docs/libraries/LibrariesDataBackendPage.js +162 -106
  298. package/dist/components/docs/libraries/LibrariesDataViewsPage.d.ts +1 -6
  299. package/dist/components/docs/libraries/LibrariesDataViewsPage.d.ts.map +1 -1
  300. package/dist/components/docs/libraries/LibrariesDataViewsPage.js +181 -112
  301. package/dist/components/docs/libraries/LibrariesDesignSystemPage.d.ts +1 -6
  302. package/dist/components/docs/libraries/LibrariesDesignSystemPage.d.ts.map +1 -1
  303. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +273 -158
  304. package/dist/components/docs/libraries/LibrariesEvolutionPage.d.ts +1 -6
  305. package/dist/components/docs/libraries/LibrariesEvolutionPage.d.ts.map +1 -1
  306. package/dist/components/docs/libraries/LibrariesEvolutionPage.js +121 -91
  307. package/dist/components/docs/libraries/LibrariesGraphQLPage.d.ts +1 -6
  308. package/dist/components/docs/libraries/LibrariesGraphQLPage.d.ts.map +1 -1
  309. package/dist/components/docs/libraries/LibrariesGraphQLPage.js +169 -118
  310. package/dist/components/docs/libraries/LibrariesGrowthPage.d.ts +1 -6
  311. package/dist/components/docs/libraries/LibrariesGrowthPage.d.ts.map +1 -1
  312. package/dist/components/docs/libraries/LibrariesGrowthPage.js +83 -62
  313. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.d.ts +1 -6
  314. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.d.ts.map +1 -1
  315. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +103 -84
  316. package/dist/components/docs/libraries/LibrariesObservabilityPage.d.ts +1 -6
  317. package/dist/components/docs/libraries/LibrariesObservabilityPage.d.ts.map +1 -1
  318. package/dist/components/docs/libraries/LibrariesObservabilityPage.js +123 -100
  319. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.d.ts +1 -6
  320. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.d.ts.map +1 -1
  321. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +104 -86
  322. package/dist/components/docs/libraries/LibrariesOverviewPage.d.ts +1 -6
  323. package/dist/components/docs/libraries/LibrariesOverviewPage.d.ts.map +1 -1
  324. package/dist/components/docs/libraries/LibrariesOverviewPage.js +481 -356
  325. package/dist/components/docs/libraries/LibrariesPersonalizationPage.d.ts +1 -6
  326. package/dist/components/docs/libraries/LibrariesPersonalizationPage.d.ts.map +1 -1
  327. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +108 -93
  328. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.d.ts +1 -6
  329. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.d.ts.map +1 -1
  330. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +127 -96
  331. package/dist/components/docs/libraries/LibrariesResiliencePage.d.ts +1 -6
  332. package/dist/components/docs/libraries/LibrariesResiliencePage.d.ts.map +1 -1
  333. package/dist/components/docs/libraries/LibrariesResiliencePage.js +114 -97
  334. package/dist/components/docs/libraries/LibrariesRuntimePage.d.ts +1 -6
  335. package/dist/components/docs/libraries/LibrariesRuntimePage.d.ts.map +1 -1
  336. package/dist/components/docs/libraries/LibrariesRuntimePage.js +196 -116
  337. package/dist/components/docs/libraries/LibrariesSLOPage.d.ts +1 -6
  338. package/dist/components/docs/libraries/LibrariesSLOPage.d.ts.map +1 -1
  339. package/dist/components/docs/libraries/LibrariesSLOPage.js +111 -83
  340. package/dist/components/docs/libraries/LibrariesSchemaPage.d.ts +1 -6
  341. package/dist/components/docs/libraries/LibrariesSchemaPage.d.ts.map +1 -1
  342. package/dist/components/docs/libraries/LibrariesSchemaPage.js +268 -151
  343. package/dist/components/docs/libraries/LibrariesSupportBotPage.d.ts +1 -6
  344. package/dist/components/docs/libraries/LibrariesSupportBotPage.d.ts.map +1 -1
  345. package/dist/components/docs/libraries/LibrariesSupportBotPage.js +129 -77
  346. package/dist/components/docs/libraries/LibrariesTestingPage.d.ts +1 -6
  347. package/dist/components/docs/libraries/LibrariesTestingPage.d.ts.map +1 -1
  348. package/dist/components/docs/libraries/LibrariesTestingPage.js +121 -91
  349. package/dist/components/docs/libraries/LibrariesUIKitPage.d.ts +1 -6
  350. package/dist/components/docs/libraries/LibrariesUIKitPage.d.ts.map +1 -1
  351. package/dist/components/docs/libraries/LibrariesUIKitPage.js +226 -136
  352. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.d.ts +1 -6
  353. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.d.ts.map +1 -1
  354. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +83 -62
  355. package/dist/components/docs/libraries/LibrariesWorkflowsPage.d.ts +1 -6
  356. package/dist/components/docs/libraries/LibrariesWorkflowsPage.d.ts.map +1 -1
  357. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +177 -111
  358. package/dist/components/docs/libraries/index.d.ts +28 -28
  359. package/dist/components/docs/libraries/index.d.ts.map +1 -0
  360. package/dist/components/docs/libraries/index.js +5005 -29
  361. package/dist/components/docs/manifesto/ManifestoPage.d.ts +1 -6
  362. package/dist/components/docs/manifesto/ManifestoPage.d.ts.map +1 -1
  363. package/dist/components/docs/manifesto/ManifestoPage.js +190 -183
  364. package/dist/components/docs/ops/AutoEvolutionOpsPage.d.ts +1 -6
  365. package/dist/components/docs/ops/AutoEvolutionOpsPage.d.ts.map +1 -1
  366. package/dist/components/docs/ops/AutoEvolutionOpsPage.js +130 -92
  367. package/dist/components/docs/ops/DistributedTracingOpsPage.d.ts +1 -6
  368. package/dist/components/docs/ops/DistributedTracingOpsPage.d.ts.map +1 -1
  369. package/dist/components/docs/ops/DistributedTracingOpsPage.js +69 -55
  370. package/dist/components/docs/ops/index.d.ts +3 -3
  371. package/dist/components/docs/ops/index.d.ts.map +1 -0
  372. package/dist/components/docs/ops/index.js +213 -3
  373. package/dist/components/docs/ops/ops-lifecycle.docblocks.d.ts +2 -6
  374. package/dist/components/docs/ops/ops-lifecycle.docblocks.d.ts.map +1 -1
  375. package/dist/components/docs/ops/ops-lifecycle.docblocks.js +38 -38
  376. package/dist/components/docs/ops/ops-runbooks-a.docblocks.d.ts +2 -6
  377. package/dist/components/docs/ops/ops-runbooks-a.docblocks.d.ts.map +1 -1
  378. package/dist/components/docs/ops/ops-runbooks-a.docblocks.js +68 -68
  379. package/dist/components/docs/ops/ops-runbooks-b.docblocks.d.ts +2 -6
  380. package/dist/components/docs/ops/ops-runbooks-b.docblocks.d.ts.map +1 -1
  381. package/dist/components/docs/ops/ops-runbooks-b.docblocks.js +69 -69
  382. package/dist/components/docs/ops/ops-slo-tenant.docblocks.d.ts +2 -6
  383. package/dist/components/docs/ops/ops-slo-tenant.docblocks.d.ts.map +1 -1
  384. package/dist/components/docs/ops/ops-slo-tenant.docblocks.js +69 -69
  385. package/dist/components/docs/ops/ops-top.docs.d.ts +2 -6
  386. package/dist/components/docs/ops/ops-top.docs.d.ts.map +1 -1
  387. package/dist/components/docs/ops/ops-top.docs.js +17 -15
  388. package/dist/components/docs/ops/ops.docs.d.ts +2 -6
  389. package/dist/components/docs/ops/ops.docs.d.ts.map +1 -1
  390. package/dist/components/docs/ops/ops.docs.js +579 -16
  391. package/dist/components/docs/product/product.docblocks.d.ts +2 -6
  392. package/dist/components/docs/product/product.docblocks.d.ts.map +1 -1
  393. package/dist/components/docs/product/product.docblocks.js +66 -67
  394. package/dist/components/docs/reference/DocsMarkdownContent.d.ts +3 -10
  395. package/dist/components/docs/reference/DocsMarkdownContent.d.ts.map +1 -1
  396. package/dist/components/docs/reference/DocsMarkdownContent.js +188 -64
  397. package/dist/components/docs/reference/DocsReferenceContent.d.ts +5 -12
  398. package/dist/components/docs/reference/DocsReferenceContent.d.ts.map +1 -1
  399. package/dist/components/docs/reference/DocsReferenceContent.js +251 -45
  400. package/dist/components/docs/reference/DocsReferenceIndexClient.d.ts +4 -10
  401. package/dist/components/docs/reference/DocsReferenceIndexClient.d.ts.map +1 -1
  402. package/dist/components/docs/reference/DocsReferenceIndexClient.js +120 -98
  403. package/dist/components/docs/reference/DocsReferenceIndexPage.d.ts +1 -6
  404. package/dist/components/docs/reference/DocsReferenceIndexPage.d.ts.map +1 -1
  405. package/dist/components/docs/reference/DocsReferenceIndexPage.js +205 -9
  406. package/dist/components/docs/reference/DocsReferencePage.d.ts +5 -12
  407. package/dist/components/docs/reference/DocsReferencePage.d.ts.map +1 -1
  408. package/dist/components/docs/reference/DocsReferencePage.js +264 -11
  409. package/dist/components/docs/reference/docsMarkdownParser.d.ts +15 -18
  410. package/dist/components/docs/reference/docsMarkdownParser.d.ts.map +1 -1
  411. package/dist/components/docs/reference/docsMarkdownParser.js +87 -90
  412. package/dist/components/docs/reference/index.d.ts +3 -3
  413. package/dist/components/docs/reference/index.d.ts.map +1 -0
  414. package/dist/components/docs/reference/index.js +472 -3
  415. package/dist/components/docs/safety/SafetyAuditingPage.d.ts +1 -6
  416. package/dist/components/docs/safety/SafetyAuditingPage.d.ts.map +1 -1
  417. package/dist/components/docs/safety/SafetyAuditingPage.js +348 -210
  418. package/dist/components/docs/safety/SafetyMigrationsPage.d.ts +1 -6
  419. package/dist/components/docs/safety/SafetyMigrationsPage.d.ts.map +1 -1
  420. package/dist/components/docs/safety/SafetyMigrationsPage.js +357 -220
  421. package/dist/components/docs/safety/SafetyOverviewPage.d.ts +1 -6
  422. package/dist/components/docs/safety/SafetyOverviewPage.d.ts.map +1 -1
  423. package/dist/components/docs/safety/SafetyOverviewPage.js +236 -194
  424. package/dist/components/docs/safety/SafetyPDPPage.d.ts +1 -6
  425. package/dist/components/docs/safety/SafetyPDPPage.d.ts.map +1 -1
  426. package/dist/components/docs/safety/SafetyPDPPage.js +299 -201
  427. package/dist/components/docs/safety/SafetySecurityTrustPage.d.ts +1 -6
  428. package/dist/components/docs/safety/SafetySecurityTrustPage.d.ts.map +1 -1
  429. package/dist/components/docs/safety/SafetySecurityTrustPage.js +204 -154
  430. package/dist/components/docs/safety/SafetySigningPage.d.ts +1 -6
  431. package/dist/components/docs/safety/SafetySigningPage.d.ts.map +1 -1
  432. package/dist/components/docs/safety/SafetySigningPage.js +89 -66
  433. package/dist/components/docs/safety/SafetyTenantIsolationPage.d.ts +1 -6
  434. package/dist/components/docs/safety/SafetyTenantIsolationPage.d.ts.map +1 -1
  435. package/dist/components/docs/safety/SafetyTenantIsolationPage.js +77 -59
  436. package/dist/components/docs/safety/index.d.ts +8 -8
  437. package/dist/components/docs/safety/index.d.ts.map +1 -0
  438. package/dist/components/docs/safety/index.js +1698 -9
  439. package/dist/components/docs/shared/StudioPrompt.d.ts +6 -15
  440. package/dist/components/docs/shared/StudioPrompt.d.ts.map +1 -1
  441. package/dist/components/docs/shared/StudioPrompt.js +30 -26
  442. package/dist/components/docs/specs/SpecsCapabilitiesPage.d.ts +1 -6
  443. package/dist/components/docs/specs/SpecsCapabilitiesPage.d.ts.map +1 -1
  444. package/dist/components/docs/specs/SpecsCapabilitiesPage.js +156 -126
  445. package/dist/components/docs/specs/SpecsDataViewsPage.d.ts +1 -6
  446. package/dist/components/docs/specs/SpecsDataViewsPage.d.ts.map +1 -1
  447. package/dist/components/docs/specs/SpecsDataViewsPage.js +258 -168
  448. package/dist/components/docs/specs/SpecsOverlaysPage.d.ts +1 -6
  449. package/dist/components/docs/specs/SpecsOverlaysPage.d.ts.map +1 -1
  450. package/dist/components/docs/specs/SpecsOverlaysPage.js +370 -205
  451. package/dist/components/docs/specs/SpecsOverviewPage.d.ts +1 -6
  452. package/dist/components/docs/specs/SpecsOverviewPage.d.ts.map +1 -1
  453. package/dist/components/docs/specs/SpecsOverviewPage.js +346 -277
  454. package/dist/components/docs/specs/SpecsPolicyPage.d.ts +1 -6
  455. package/dist/components/docs/specs/SpecsPolicyPage.d.ts.map +1 -1
  456. package/dist/components/docs/specs/SpecsPolicyPage.js +418 -311
  457. package/dist/components/docs/specs/SpecsWorkflowsPage.d.ts +1 -6
  458. package/dist/components/docs/specs/SpecsWorkflowsPage.d.ts.map +1 -1
  459. package/dist/components/docs/specs/SpecsWorkflowsPage.js +310 -205
  460. package/dist/components/docs/specs/index.d.ts +7 -7
  461. package/dist/components/docs/specs/index.d.ts.map +1 -0
  462. package/dist/components/docs/specs/index.js +2082 -8
  463. package/dist/components/docs/studio/StudioBYOKPage.d.ts +1 -6
  464. package/dist/components/docs/studio/StudioBYOKPage.d.ts.map +1 -1
  465. package/dist/components/docs/studio/StudioBYOKPage.js +78 -76
  466. package/dist/components/docs/studio/StudioDeploymentsPage.d.ts +1 -6
  467. package/dist/components/docs/studio/StudioDeploymentsPage.d.ts.map +1 -1
  468. package/dist/components/docs/studio/StudioDeploymentsPage.js +99 -81
  469. package/dist/components/docs/studio/StudioGettingStartedPage.d.ts +1 -6
  470. package/dist/components/docs/studio/StudioGettingStartedPage.d.ts.map +1 -1
  471. package/dist/components/docs/studio/StudioGettingStartedPage.js +82 -80
  472. package/dist/components/docs/studio/StudioIntegrationsPage.d.ts +1 -6
  473. package/dist/components/docs/studio/StudioIntegrationsPage.d.ts.map +1 -1
  474. package/dist/components/docs/studio/StudioIntegrationsPage.js +70 -65
  475. package/dist/components/docs/studio/StudioOverviewPage.d.ts +1 -6
  476. package/dist/components/docs/studio/StudioOverviewPage.d.ts.map +1 -1
  477. package/dist/components/docs/studio/StudioOverviewPage.js +71 -66
  478. package/dist/components/docs/studio/StudioVisualBuilderPage.d.ts +1 -6
  479. package/dist/components/docs/studio/StudioVisualBuilderPage.d.ts.map +1 -1
  480. package/dist/components/docs/studio/StudioVisualBuilderPage.js +118 -99
  481. package/dist/components/docs/studio/index.d.ts +7 -7
  482. package/dist/components/docs/studio/index.d.ts.map +1 -0
  483. package/dist/components/docs/studio/index.js +538 -8
  484. package/dist/components/docs/tech/contracts/tech-docs.docblocks.d.ts +2 -6
  485. package/dist/components/docs/tech/contracts/tech-docs.docblocks.d.ts.map +1 -1
  486. package/dist/components/docs/tech/contracts/tech-docs.docblocks.js +17 -16
  487. package/dist/components/integrations/index.d.ts +5 -5
  488. package/dist/components/integrations/index.d.ts.map +1 -0
  489. package/dist/components/integrations/index.js +601 -5
  490. package/dist/components/integrations/molecules/IntegrationCard.d.ts +11 -26
  491. package/dist/components/integrations/molecules/IntegrationCard.d.ts.map +1 -1
  492. package/dist/components/integrations/molecules/IntegrationCard.js +98 -60
  493. package/dist/components/integrations/organisms/IntegrationMarketplace.d.ts +13 -22
  494. package/dist/components/integrations/organisms/IntegrationMarketplace.d.ts.map +1 -1
  495. package/dist/components/integrations/organisms/IntegrationMarketplace.js +211 -77
  496. package/dist/components/integrations/organisms/IntegrationSettings.d.ts +15 -27
  497. package/dist/components/integrations/organisms/IntegrationSettings.d.ts.map +1 -1
  498. package/dist/components/integrations/organisms/IntegrationSettings.js +281 -189
  499. package/dist/components/integrations/organisms/KnowledgeSourceList.d.ts +12 -22
  500. package/dist/components/integrations/organisms/KnowledgeSourceList.d.ts.map +1 -1
  501. package/dist/components/integrations/organisms/KnowledgeSourceList.js +102 -65
  502. package/dist/components/legal/PrivacyTemplate.d.ts +3 -9
  503. package/dist/components/legal/PrivacyTemplate.d.ts.map +1 -1
  504. package/dist/components/legal/PrivacyTemplate.js +1023 -842
  505. package/dist/components/legal/TermsTemplate.d.ts +3 -9
  506. package/dist/components/legal/TermsTemplate.d.ts.map +1 -1
  507. package/dist/components/legal/TermsTemplate.js +939 -780
  508. package/dist/components/legal/index.d.ts +3 -3
  509. package/dist/components/legal/index.d.ts.map +1 -0
  510. package/dist/components/legal/index.js +1963 -3
  511. package/dist/components/shared/FeatureGateNotice.d.ts +6 -16
  512. package/dist/components/shared/FeatureGateNotice.d.ts.map +1 -1
  513. package/dist/components/shared/FeatureGateNotice.js +37 -32
  514. package/dist/components/shared/index.d.ts +2 -2
  515. package/dist/components/shared/index.d.ts.map +1 -0
  516. package/dist/components/shared/index.js +39 -3
  517. package/dist/components/shell/WorkspaceHeader.d.ts +19 -32
  518. package/dist/components/shell/WorkspaceHeader.d.ts.map +1 -1
  519. package/dist/components/shell/WorkspaceHeader.js +97 -59
  520. package/dist/components/shell/WorkspaceProjectShellLayout.d.ts +9 -28
  521. package/dist/components/shell/WorkspaceProjectShellLayout.d.ts.map +1 -1
  522. package/dist/components/shell/WorkspaceProjectShellLayout.js +220 -35
  523. package/dist/components/shell/WorkspaceSidebar.d.ts +12 -22
  524. package/dist/components/shell/WorkspaceSidebar.d.ts.map +1 -1
  525. package/dist/components/shell/WorkspaceSidebar.js +67 -31
  526. package/dist/components/shell/index.d.ts +4 -4
  527. package/dist/components/shell/index.d.ts.map +1 -0
  528. package/dist/components/shell/index.js +224 -4
  529. package/dist/components/templates/engine/index.d.ts +18 -11
  530. package/dist/components/templates/engine/index.d.ts.map +1 -1
  531. package/dist/components/templates/engine/index.js +28 -41
  532. package/dist/components/templates/index.d.ts +4 -16
  533. package/dist/components/templates/index.d.ts.map +1 -0
  534. package/dist/components/templates/index.js +1067 -17
  535. package/dist/components/templates/messaging/ConversationList.d.ts +4 -12
  536. package/dist/components/templates/messaging/ConversationList.d.ts.map +1 -1
  537. package/dist/components/templates/messaging/ConversationList.js +79 -52
  538. package/dist/components/templates/messaging/MessageComposer.d.ts +5 -14
  539. package/dist/components/templates/messaging/MessageComposer.d.ts.map +1 -1
  540. package/dist/components/templates/messaging/MessageComposer.js +159 -52
  541. package/dist/components/templates/messaging/MessageThread.d.ts +5 -14
  542. package/dist/components/templates/messaging/MessageThread.d.ts.map +1 -1
  543. package/dist/components/templates/messaging/MessageThread.js +78 -75
  544. package/dist/components/templates/messaging/MessagingWorkspace.d.ts +1 -6
  545. package/dist/components/templates/messaging/MessagingWorkspace.d.ts.map +1 -1
  546. package/dist/components/templates/messaging/MessagingWorkspace.js +290 -25
  547. package/dist/components/templates/messaging/index.d.ts +5 -5
  548. package/dist/components/templates/messaging/index.d.ts.map +1 -0
  549. package/dist/components/templates/messaging/index.js +300 -5
  550. package/dist/components/templates/messaging/types.d.ts +20 -23
  551. package/dist/components/templates/messaging/types.d.ts.map +1 -1
  552. package/dist/components/templates/messaging/types.js +1 -0
  553. package/dist/components/templates/recipes/LanguageSwitcher.d.ts +4 -12
  554. package/dist/components/templates/recipes/LanguageSwitcher.d.ts.map +1 -1
  555. package/dist/components/templates/recipes/LanguageSwitcher.js +15 -16
  556. package/dist/components/templates/recipes/RecipeCard.d.ts +6 -15
  557. package/dist/components/templates/recipes/RecipeCard.d.ts.map +1 -1
  558. package/dist/components/templates/recipes/RecipeCard.js +79 -57
  559. package/dist/components/templates/recipes/RecipeDetail.d.ts +4 -11
  560. package/dist/components/templates/recipes/RecipeDetail.d.ts.map +1 -1
  561. package/dist/components/templates/recipes/RecipeDetail.js +72 -47
  562. package/dist/components/templates/recipes/RecipeList.d.ts +1 -6
  563. package/dist/components/templates/recipes/RecipeList.d.ts.map +1 -1
  564. package/dist/components/templates/recipes/RecipeList.js +236 -72
  565. package/dist/components/templates/recipes/index.d.ts +5 -5
  566. package/dist/components/templates/recipes/index.d.ts.map +1 -0
  567. package/dist/components/templates/recipes/index.js +282 -5
  568. package/dist/components/templates/recipes/types.d.ts +23 -26
  569. package/dist/components/templates/recipes/types.d.ts.map +1 -1
  570. package/dist/components/templates/recipes/types.js +1 -0
  571. package/dist/components/templates/todos/FilterBar.d.ts +11 -20
  572. package/dist/components/templates/todos/FilterBar.d.ts.map +1 -1
  573. package/dist/components/templates/todos/FilterBar.js +106 -95
  574. package/dist/components/templates/todos/TaskForm.d.ts +4 -11
  575. package/dist/components/templates/todos/TaskForm.d.ts.map +1 -1
  576. package/dist/components/templates/todos/TaskForm.js +150 -127
  577. package/dist/components/templates/todos/TaskItem.d.ts +6 -15
  578. package/dist/components/templates/todos/TaskItem.d.ts.map +1 -1
  579. package/dist/components/templates/todos/TaskItem.js +75 -64
  580. package/dist/components/templates/todos/TaskList.d.ts +1 -6
  581. package/dist/components/templates/todos/TaskList.d.ts.map +1 -1
  582. package/dist/components/templates/todos/TaskList.js +446 -102
  583. package/dist/components/templates/todos/index.d.ts +5 -5
  584. package/dist/components/templates/todos/index.d.ts.map +1 -0
  585. package/dist/components/templates/todos/index.js +488 -5
  586. package/dist/components/templates/todos/types.d.ts +14 -17
  587. package/dist/components/templates/todos/types.d.ts.map +1 -1
  588. package/dist/components/templates/todos/types.js +1 -0
  589. package/dist/config/contractspec-blueprint.d.ts +2 -6
  590. package/dist/config/contractspec-blueprint.d.ts.map +1 -1
  591. package/dist/config/contractspec-blueprint.js +122 -70
  592. package/dist/config/contractspec-branding.d.ts +3 -7
  593. package/dist/config/contractspec-branding.d.ts.map +1 -1
  594. package/dist/config/contractspec-branding.js +43 -66
  595. package/dist/config/contractspec-routes.d.ts +2 -6
  596. package/dist/config/contractspec-routes.d.ts.map +1 -1
  597. package/dist/config/contractspec-routes.js +24 -68
  598. package/dist/config/index.d.ts +5 -5
  599. package/dist/config/index.d.ts.map +1 -0
  600. package/dist/config/index.js +126 -4
  601. package/dist/features/contracts-registry.d.ts +39 -36
  602. package/dist/features/contracts-registry.d.ts.map +1 -1
  603. package/dist/features/contracts-registry.js +122 -85
  604. package/dist/features/docs/docs.contracts.d.ts +2 -2
  605. package/dist/features/docs/docs.contracts.d.ts.map +1 -0
  606. package/dist/features/docs/docs.contracts.js +18 -3
  607. package/dist/features/docs/index.d.ts +2 -2
  608. package/dist/features/docs/index.d.ts.map +1 -0
  609. package/dist/features/docs/index.js +18 -3
  610. package/dist/features/docs.feature.d.ts +2 -6
  611. package/dist/features/docs.feature.d.ts.map +1 -1
  612. package/dist/features/docs.feature.js +33 -59
  613. package/dist/features/index.d.ts +10 -9
  614. package/dist/features/index.d.ts.map +1 -0
  615. package/dist/features/index.js +310 -8
  616. package/dist/features/mcp.feature.d.ts +2 -6
  617. package/dist/features/mcp.feature.d.ts.map +1 -1
  618. package/dist/features/mcp.feature.js +30 -56
  619. package/dist/features/presentations.feature.d.ts +2 -6
  620. package/dist/features/presentations.feature.d.ts.map +1 -1
  621. package/dist/features/presentations.feature.js +33 -60
  622. package/dist/features/registry.d.ts +4 -8
  623. package/dist/features/registry.d.ts.map +1 -1
  624. package/dist/features/registry.js +109 -31
  625. package/dist/index.d.ts +9 -158
  626. package/dist/index.d.ts.map +1 -0
  627. package/dist/index.js +32497 -158
  628. package/dist/infrastructure/elysia/index.d.ts +2 -2
  629. package/dist/infrastructure/elysia/index.d.ts.map +1 -0
  630. package/dist/infrastructure/elysia/index.js +36 -3
  631. package/dist/infrastructure/elysia/logger.d.ts +6 -9
  632. package/dist/infrastructure/elysia/logger.d.ts.map +1 -1
  633. package/dist/infrastructure/elysia/logger.js +33 -29
  634. package/dist/infrastructure/index.d.ts +2 -3
  635. package/dist/infrastructure/index.d.ts.map +1 -0
  636. package/dist/infrastructure/index.js +36 -4
  637. package/dist/libs/email/client.d.ts +9 -12
  638. package/dist/libs/email/client.d.ts.map +1 -1
  639. package/dist/libs/email/client.js +107 -105
  640. package/dist/libs/email/client.test.d.ts +2 -0
  641. package/dist/libs/email/client.test.d.ts.map +1 -0
  642. package/dist/libs/email/contact.d.ts +2 -6
  643. package/dist/libs/email/contact.d.ts.map +1 -1
  644. package/dist/libs/email/contact.js +153 -41
  645. package/dist/libs/email/newsletter.d.ts +2 -6
  646. package/dist/libs/email/newsletter.d.ts.map +1 -1
  647. package/dist/libs/email/newsletter.js +167 -54
  648. package/dist/libs/email/types.d.ts +48 -52
  649. package/dist/libs/email/types.d.ts.map +1 -1
  650. package/dist/libs/email/types.js +3 -1
  651. package/dist/libs/email/utils.d.ts +2 -5
  652. package/dist/libs/email/utils.d.ts.map +1 -1
  653. package/dist/libs/email/utils.js +9 -7
  654. package/dist/libs/email/waitlist-application.d.ts +2 -6
  655. package/dist/libs/email/waitlist-application.d.ts.map +1 -1
  656. package/dist/libs/email/waitlist-application.js +187 -69
  657. package/dist/libs/email/waitlist.d.ts +2 -6
  658. package/dist/libs/email/waitlist.d.ts.map +1 -1
  659. package/dist/libs/email/waitlist.js +169 -56
  660. package/dist/libs/email.d.ts +6 -6
  661. package/dist/libs/email.d.ts.map +1 -0
  662. package/dist/libs/email.js +541 -6
  663. package/dist/libs/posthog/client.d.ts +15 -17
  664. package/dist/libs/posthog/client.d.ts.map +1 -1
  665. package/dist/libs/posthog/client.js +56 -44
  666. package/dist/libs/posthog/native.d.ts +6 -9
  667. package/dist/libs/posthog/native.d.ts.map +1 -1
  668. package/dist/libs/posthog/native.js +21 -16
  669. package/dist/libs/posthog/server.d.ts +3 -6
  670. package/dist/libs/posthog/server.d.ts.map +1 -1
  671. package/dist/libs/posthog/server.js +12 -12
  672. package/dist/libs/pricing-examples.d.ts +13 -16
  673. package/dist/libs/pricing-examples.d.ts.map +1 -1
  674. package/dist/libs/pricing-examples.js +18 -20
  675. package/dist/node/application/index.js +696 -0
  676. package/dist/node/application/mcp/cliMcp.js +341 -0
  677. package/dist/node/application/mcp/common.js +77 -0
  678. package/dist/node/application/mcp/docsMcp.js +267 -0
  679. package/dist/node/application/mcp/index.js +696 -0
  680. package/dist/node/application/mcp/internalMcp.js +294 -0
  681. package/dist/node/components/docs/DocsIndexPage.js +270 -0
  682. package/dist/node/components/docs/advanced/AdvancedMCPPage.js +337 -0
  683. package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +107 -0
  684. package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +132 -0
  685. package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +124 -0
  686. package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +417 -0
  687. package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +108 -0
  688. package/dist/node/components/docs/advanced/index.js +1220 -0
  689. package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +383 -0
  690. package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +386 -0
  691. package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +528 -0
  692. package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +172 -0
  693. package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +448 -0
  694. package/dist/node/components/docs/architecture/index.js +1913 -0
  695. package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +245 -0
  696. package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +230 -0
  697. package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +245 -0
  698. package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +202 -0
  699. package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +254 -0
  700. package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +339 -0
  701. package/dist/node/components/docs/comparison/index.js +1510 -0
  702. package/dist/node/components/docs/ecosystem/IntegrationsPage.js +102 -0
  703. package/dist/node/components/docs/ecosystem/PluginsPage.js +200 -0
  704. package/dist/node/components/docs/ecosystem/RegistryPage.js +119 -0
  705. package/dist/node/components/docs/ecosystem/TemplatesPage.js +146 -0
  706. package/dist/node/components/docs/ecosystem/ecosystem.docblocks.js +49 -0
  707. package/dist/node/components/docs/ecosystem/index.js +614 -0
  708. package/dist/node/components/docs/examples/DocsExamplesPage.js +84 -0
  709. package/dist/node/components/docs/examples/index.js +84 -0
  710. package/dist/node/components/docs/generated/docs-index.generated.js +5 -0
  711. package/dist/node/components/docs/generated/index.js +74 -0
  712. package/dist/node/components/docs/generated/loader.js +74 -0
  713. package/dist/node/components/docs/getting-started/CLIPage.js +292 -0
  714. package/dist/node/components/docs/getting-started/CompatibilityPage.js +173 -0
  715. package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +238 -0
  716. package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +194 -0
  717. package/dist/node/components/docs/getting-started/HelloWorldPage.js +273 -0
  718. package/dist/node/components/docs/getting-started/InstallationPage.js +156 -0
  719. package/dist/node/components/docs/getting-started/StartHerePage.js +129 -0
  720. package/dist/node/components/docs/getting-started/TroubleshootingPage.js +169 -0
  721. package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +432 -0
  722. package/dist/node/components/docs/getting-started/getting-started.docblocks.js +137 -0
  723. package/dist/node/components/docs/getting-started/index.js +2183 -0
  724. package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +197 -0
  725. package/dist/node/components/docs/guides/GuideContractTypesPage.js +738 -0
  726. package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +225 -0
  727. package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +211 -0
  728. package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +878 -0
  729. package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +318 -0
  730. package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +255 -0
  731. package/dist/node/components/docs/guides/GuidesIndexPage.js +149 -0
  732. package/dist/node/components/docs/guides/guides.docblocks.js +111 -0
  733. package/dist/node/components/docs/guides/index.js +2902 -0
  734. package/dist/node/components/docs/index.js +28181 -0
  735. package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +51 -0
  736. package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +123 -0
  737. package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +131 -0
  738. package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +104 -0
  739. package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +195 -0
  740. package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +650 -0
  741. package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +261 -0
  742. package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +352 -0
  743. package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +178 -0
  744. package/dist/node/components/docs/integrations/IntegrationsResendPage.js +123 -0
  745. package/dist/node/components/docs/integrations/IntegrationsS3Page.js +163 -0
  746. package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +422 -0
  747. package/dist/node/components/docs/integrations/IntegrationsStripePage.js +425 -0
  748. package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +146 -0
  749. package/dist/node/components/docs/integrations/index.js +3311 -0
  750. package/dist/node/components/docs/intent/ContractFirstApiPage.js +159 -0
  751. package/dist/node/components/docs/intent/DeterministicCodegenPage.js +184 -0
  752. package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +398 -0
  753. package/dist/node/components/docs/intent/OpenapiAlternativePage.js +237 -0
  754. package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +236 -0
  755. package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +197 -0
  756. package/dist/node/components/docs/intent/index.js +1594 -0
  757. package/dist/node/components/docs/intent/intent-pages.docblocks.js +201 -0
  758. package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +829 -0
  759. package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +340 -0
  760. package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +464 -0
  761. package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +454 -0
  762. package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +361 -0
  763. package/dist/node/components/docs/knowledge/index.js +2444 -0
  764. package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +227 -0
  765. package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +168 -0
  766. package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +96 -0
  767. package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +119 -0
  768. package/dist/node/components/docs/libraries/LibrariesContractsPage.js +302 -0
  769. package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +123 -0
  770. package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +183 -0
  771. package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +204 -0
  772. package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +312 -0
  773. package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +164 -0
  774. package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +186 -0
  775. package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +116 -0
  776. package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +118 -0
  777. package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +149 -0
  778. package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +135 -0
  779. package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +483 -0
  780. package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +129 -0
  781. package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +151 -0
  782. package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +138 -0
  783. package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +239 -0
  784. package/dist/node/components/docs/libraries/LibrariesSLOPage.js +126 -0
  785. package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +304 -0
  786. package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +144 -0
  787. package/dist/node/components/docs/libraries/LibrariesTestingPage.js +159 -0
  788. package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +247 -0
  789. package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +108 -0
  790. package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +200 -0
  791. package/dist/node/components/docs/libraries/index.js +5004 -0
  792. package/dist/node/components/docs/manifesto/ManifestoPage.js +191 -0
  793. package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +141 -0
  794. package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +73 -0
  795. package/dist/node/components/docs/ops/index.js +213 -0
  796. package/dist/node/components/docs/ops/ops-lifecycle.docblocks.js +151 -0
  797. package/dist/node/components/docs/ops/ops-runbooks-a.docblocks.js +123 -0
  798. package/dist/node/components/docs/ops/ops-runbooks-b.docblocks.js +134 -0
  799. package/dist/node/components/docs/ops/ops-slo-tenant.docblocks.js +146 -0
  800. package/dist/node/components/docs/ops/ops-top.docs.js +25 -0
  801. package/dist/node/components/docs/ops/ops.docs.js +580 -0
  802. package/dist/node/components/docs/product/product.docblocks.js +78 -0
  803. package/dist/node/components/docs/reference/DocsMarkdownContent.js +196 -0
  804. package/dist/node/components/docs/reference/DocsReferenceContent.js +257 -0
  805. package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +128 -0
  806. package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +207 -0
  807. package/dist/node/components/docs/reference/DocsReferencePage.js +266 -0
  808. package/dist/node/components/docs/reference/docsMarkdownParser.js +92 -0
  809. package/dist/node/components/docs/reference/index.js +472 -0
  810. package/dist/node/components/docs/safety/SafetyAuditingPage.js +380 -0
  811. package/dist/node/components/docs/safety/SafetyMigrationsPage.js +381 -0
  812. package/dist/node/components/docs/safety/SafetyOverviewPage.js +238 -0
  813. package/dist/node/components/docs/safety/SafetyPDPPage.js +318 -0
  814. package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +206 -0
  815. package/dist/node/components/docs/safety/SafetySigningPage.js +92 -0
  816. package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +88 -0
  817. package/dist/node/components/docs/safety/index.js +1697 -0
  818. package/dist/node/components/docs/shared/StudioPrompt.js +31 -0
  819. package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +195 -0
  820. package/dist/node/components/docs/specs/SpecsDataViewsPage.js +299 -0
  821. package/dist/node/components/docs/specs/SpecsOverlaysPage.js +408 -0
  822. package/dist/node/components/docs/specs/SpecsOverviewPage.js +348 -0
  823. package/dist/node/components/docs/specs/SpecsPolicyPage.js +473 -0
  824. package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +363 -0
  825. package/dist/node/components/docs/specs/index.js +2081 -0
  826. package/dist/node/components/docs/studio/StudioBYOKPage.js +80 -0
  827. package/dist/node/components/docs/studio/StudioDeploymentsPage.js +101 -0
  828. package/dist/node/components/docs/studio/StudioGettingStartedPage.js +94 -0
  829. package/dist/node/components/docs/studio/StudioIntegrationsPage.js +72 -0
  830. package/dist/node/components/docs/studio/StudioOverviewPage.js +74 -0
  831. package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +121 -0
  832. package/dist/node/components/docs/studio/index.js +537 -0
  833. package/dist/node/components/docs/tech/contracts/tech-docs.docblocks.js +20 -0
  834. package/dist/node/components/integrations/index.js +601 -0
  835. package/dist/node/components/integrations/molecules/IntegrationCard.js +100 -0
  836. package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +214 -0
  837. package/dist/node/components/integrations/organisms/IntegrationSettings.js +285 -0
  838. package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +103 -0
  839. package/dist/node/components/legal/PrivacyTemplate.js +1025 -0
  840. package/dist/node/components/legal/TermsTemplate.js +941 -0
  841. package/dist/node/components/legal/index.js +1963 -0
  842. package/dist/node/components/shared/FeatureGateNotice.js +38 -0
  843. package/dist/node/components/shared/index.js +38 -0
  844. package/dist/node/components/shell/WorkspaceHeader.js +100 -0
  845. package/dist/node/components/shell/WorkspaceProjectShellLayout.js +222 -0
  846. package/dist/node/components/shell/WorkspaceSidebar.js +68 -0
  847. package/dist/node/components/shell/index.js +224 -0
  848. package/dist/node/components/templates/engine/index.js +39 -0
  849. package/dist/node/components/templates/index.js +1066 -0
  850. package/dist/node/components/templates/messaging/ConversationList.js +96 -0
  851. package/dist/node/components/templates/messaging/MessageComposer.js +168 -0
  852. package/dist/node/components/templates/messaging/MessageThread.js +96 -0
  853. package/dist/node/components/templates/messaging/MessagingWorkspace.js +296 -0
  854. package/dist/node/components/templates/messaging/index.js +300 -0
  855. package/dist/node/components/templates/messaging/types.js +0 -0
  856. package/dist/node/components/templates/recipes/LanguageSwitcher.js +16 -0
  857. package/dist/node/components/templates/recipes/RecipeCard.js +80 -0
  858. package/dist/node/components/templates/recipes/RecipeDetail.js +74 -0
  859. package/dist/node/components/templates/recipes/RecipeList.js +279 -0
  860. package/dist/node/components/templates/recipes/index.js +282 -0
  861. package/dist/node/components/templates/recipes/types.js +0 -0
  862. package/dist/node/components/templates/todos/FilterBar.js +107 -0
  863. package/dist/node/components/templates/todos/TaskForm.js +164 -0
  864. package/dist/node/components/templates/todos/TaskItem.js +77 -0
  865. package/dist/node/components/templates/todos/TaskList.js +485 -0
  866. package/dist/node/components/templates/todos/index.js +488 -0
  867. package/dist/node/components/templates/todos/types.js +0 -0
  868. package/dist/node/config/contractspec-blueprint.js +123 -0
  869. package/dist/node/config/contractspec-branding.js +44 -0
  870. package/dist/node/config/contractspec-routes.js +24 -0
  871. package/dist/node/config/index.js +126 -0
  872. package/dist/node/features/contracts-registry.js +174 -0
  873. package/dist/node/features/docs/docs.contracts.js +17 -0
  874. package/dist/node/features/docs/index.js +17 -0
  875. package/dist/node/features/docs.feature.js +33 -0
  876. package/dist/node/features/index.js +311 -0
  877. package/dist/node/features/mcp.feature.js +30 -0
  878. package/dist/node/features/presentations.feature.js +33 -0
  879. package/dist/node/features/registry.js +116 -0
  880. package/dist/node/index.js +32496 -0
  881. package/dist/node/infrastructure/elysia/index.js +35 -0
  882. package/dist/node/infrastructure/elysia/logger.js +35 -0
  883. package/dist/node/infrastructure/index.js +35 -0
  884. package/dist/node/libs/email/client.js +114 -0
  885. package/dist/node/libs/email/contact.js +182 -0
  886. package/dist/node/libs/email/newsletter.js +207 -0
  887. package/dist/node/libs/email/types.js +2 -0
  888. package/dist/node/libs/email/utils.js +8 -0
  889. package/dist/node/libs/email/waitlist-application.js +281 -0
  890. package/dist/node/libs/email/waitlist.js +217 -0
  891. package/dist/node/libs/email.js +542 -0
  892. package/dist/node/libs/posthog/client.js +63 -0
  893. package/dist/node/libs/posthog/native.js +23 -0
  894. package/dist/node/libs/posthog/server.js +13 -0
  895. package/dist/node/libs/pricing-examples.js +18 -0
  896. package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +97 -0
  897. package/dist/node/presentation/features/atoms/FeatureIcon/index.js +97 -0
  898. package/dist/node/presentation/features/atoms/index.js +97 -0
  899. package/dist/node/presentation/features/hooks/index.js +393 -0
  900. package/dist/node/presentation/features/hooks/useContractsRegistry.js +285 -0
  901. package/dist/node/presentation/features/hooks/useFeatureFilters.js +75 -0
  902. package/dist/node/presentation/features/hooks/useFeatureRegistry.js +147 -0
  903. package/dist/node/presentation/features/hooks/useRelatedDocs.js +28 -0
  904. package/dist/node/presentation/features/index.js +3059 -0
  905. package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +366 -0
  906. package/dist/node/presentation/features/molecules/FeatureCard/index.js +366 -0
  907. package/dist/node/presentation/features/molecules/FeatureCard/types.js +0 -0
  908. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +50 -0
  909. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +50 -0
  910. package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +92 -0
  911. package/dist/node/presentation/features/molecules/FeatureFilters/index.js +92 -0
  912. package/dist/node/presentation/features/molecules/FeatureFilters/types.js +0 -0
  913. package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +176 -0
  914. package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +176 -0
  915. package/dist/node/presentation/features/molecules/index.js +505 -0
  916. package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +300 -0
  917. package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +154 -0
  918. package/dist/node/presentation/features/organisms/FeatureDetail/index.js +154 -0
  919. package/dist/node/presentation/features/organisms/FeatureDetail/types.js +0 -0
  920. package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +909 -0
  921. package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +909 -0
  922. package/dist/node/presentation/features/organisms/FeatureDiscovery/types.js +0 -0
  923. package/dist/node/presentation/features/organisms/FeatureEventsList.js +298 -0
  924. package/dist/node/presentation/features/organisms/FeatureFormsList.js +298 -0
  925. package/dist/node/presentation/features/organisms/FeatureOperationsList.js +176 -0
  926. package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +300 -0
  927. package/dist/node/presentation/features/organisms/index.js +1355 -0
  928. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +332 -0
  929. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +332 -0
  930. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/types.js +0 -0
  931. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +338 -0
  932. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +338 -0
  933. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +303 -0
  934. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +303 -0
  935. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/types.js +0 -0
  936. package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +336 -0
  937. package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +336 -0
  938. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +329 -0
  939. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +329 -0
  940. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/types.js +0 -0
  941. package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +336 -0
  942. package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +336 -0
  943. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +302 -0
  944. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +302 -0
  945. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/types.js +0 -0
  946. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +214 -0
  947. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +214 -0
  948. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +187 -0
  949. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +187 -0
  950. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +306 -0
  951. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +306 -0
  952. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/types.js +0 -0
  953. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +338 -0
  954. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +338 -0
  955. package/dist/node/presentation/features/templates/types.js +0 -0
  956. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.d.ts +16 -28
  957. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.d.ts.map +1 -1
  958. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +89 -78
  959. package/dist/presentation/features/atoms/FeatureIcon/index.d.ts +2 -2
  960. package/dist/presentation/features/atoms/FeatureIcon/index.d.ts.map +1 -0
  961. package/dist/presentation/features/atoms/FeatureIcon/index.js +98 -3
  962. package/dist/presentation/features/atoms/index.d.ts +2 -3
  963. package/dist/presentation/features/atoms/index.d.ts.map +1 -0
  964. package/dist/presentation/features/atoms/index.js +98 -4
  965. package/dist/presentation/features/hooks/index.d.ts +4 -4
  966. package/dist/presentation/features/hooks/index.d.ts.map +1 -0
  967. package/dist/presentation/features/hooks/index.js +393 -4
  968. package/dist/presentation/features/hooks/useContractsRegistry.d.ts +10 -14
  969. package/dist/presentation/features/hooks/useContractsRegistry.d.ts.map +1 -1
  970. package/dist/presentation/features/hooks/useContractsRegistry.js +282 -19
  971. package/dist/presentation/features/hooks/useFeatureFilters.d.ts +24 -28
  972. package/dist/presentation/features/hooks/useFeatureFilters.d.ts.map +1 -1
  973. package/dist/presentation/features/hooks/useFeatureFilters.js +73 -74
  974. package/dist/presentation/features/hooks/useFeatureRegistry.d.ts +17 -21
  975. package/dist/presentation/features/hooks/useFeatureRegistry.d.ts.map +1 -1
  976. package/dist/presentation/features/hooks/useFeatureRegistry.js +144 -33
  977. package/dist/presentation/features/hooks/useRelatedDocs.d.ts +5 -8
  978. package/dist/presentation/features/hooks/useRelatedDocs.d.ts.map +1 -1
  979. package/dist/presentation/features/hooks/useRelatedDocs.js +25 -28
  980. package/dist/presentation/features/index.d.ts +27 -57
  981. package/dist/presentation/features/index.d.ts.map +1 -0
  982. package/dist/presentation/features/index.js +3060 -48
  983. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.d.ts +2 -11
  984. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.d.ts.map +1 -1
  985. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +364 -80
  986. package/dist/presentation/features/molecules/FeatureCard/index.d.ts +3 -3
  987. package/dist/presentation/features/molecules/FeatureCard/index.d.ts.map +1 -0
  988. package/dist/presentation/features/molecules/FeatureCard/index.js +367 -3
  989. package/dist/presentation/features/molecules/FeatureCard/types.d.ts +8 -12
  990. package/dist/presentation/features/molecules/FeatureCard/types.d.ts.map +1 -1
  991. package/dist/presentation/features/molecules/FeatureCard/types.js +1 -0
  992. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.d.ts +15 -27
  993. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.d.ts.map +1 -1
  994. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +48 -40
  995. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.d.ts +2 -2
  996. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.d.ts.map +1 -0
  997. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +51 -3
  998. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.d.ts +2 -17
  999. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.d.ts.map +1 -1
  1000. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +90 -77
  1001. package/dist/presentation/features/molecules/FeatureFilters/index.d.ts +3 -3
  1002. package/dist/presentation/features/molecules/FeatureFilters/index.d.ts.map +1 -0
  1003. package/dist/presentation/features/molecules/FeatureFilters/index.js +93 -3
  1004. package/dist/presentation/features/molecules/FeatureFilters/types.d.ts +20 -24
  1005. package/dist/presentation/features/molecules/FeatureFilters/types.d.ts.map +1 -1
  1006. package/dist/presentation/features/molecules/FeatureFilters/types.js +1 -0
  1007. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.d.ts +5 -12
  1008. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.d.ts.map +1 -1
  1009. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +173 -136
  1010. package/dist/presentation/features/molecules/FeatureHoverPreview/index.d.ts +2 -2
  1011. package/dist/presentation/features/molecules/FeatureHoverPreview/index.d.ts.map +1 -0
  1012. package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +177 -3
  1013. package/dist/presentation/features/molecules/index.d.ts +5 -11
  1014. package/dist/presentation/features/molecules/index.d.ts.map +1 -0
  1015. package/dist/presentation/features/molecules/index.js +506 -10
  1016. package/dist/presentation/features/organisms/FeatureDataViewsList.d.ts +4 -11
  1017. package/dist/presentation/features/organisms/FeatureDataViewsList.d.ts.map +1 -1
  1018. package/dist/presentation/features/organisms/FeatureDataViewsList.js +297 -25
  1019. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.d.ts +2 -10
  1020. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.d.ts.map +1 -1
  1021. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +150 -138
  1022. package/dist/presentation/features/organisms/FeatureDetail/index.d.ts +3 -3
  1023. package/dist/presentation/features/organisms/FeatureDetail/index.d.ts.map +1 -0
  1024. package/dist/presentation/features/organisms/FeatureDetail/index.js +155 -3
  1025. package/dist/presentation/features/organisms/FeatureDetail/types.d.ts +6 -10
  1026. package/dist/presentation/features/organisms/FeatureDetail/types.d.ts.map +1 -1
  1027. package/dist/presentation/features/organisms/FeatureDetail/types.js +1 -0
  1028. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.d.ts +2 -13
  1029. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.d.ts.map +1 -1
  1030. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +901 -154
  1031. package/dist/presentation/features/organisms/FeatureDiscovery/index.d.ts +3 -3
  1032. package/dist/presentation/features/organisms/FeatureDiscovery/index.d.ts.map +1 -0
  1033. package/dist/presentation/features/organisms/FeatureDiscovery/index.js +909 -2
  1034. package/dist/presentation/features/organisms/FeatureDiscovery/types.d.ts +14 -18
  1035. package/dist/presentation/features/organisms/FeatureDiscovery/types.d.ts.map +1 -1
  1036. package/dist/presentation/features/organisms/FeatureDiscovery/types.js +1 -0
  1037. package/dist/presentation/features/organisms/FeatureEventsList.d.ts +4 -11
  1038. package/dist/presentation/features/organisms/FeatureEventsList.d.ts.map +1 -1
  1039. package/dist/presentation/features/organisms/FeatureEventsList.js +295 -25
  1040. package/dist/presentation/features/organisms/FeatureFormsList.d.ts +4 -11
  1041. package/dist/presentation/features/organisms/FeatureFormsList.d.ts.map +1 -1
  1042. package/dist/presentation/features/organisms/FeatureFormsList.js +295 -25
  1043. package/dist/presentation/features/organisms/FeatureOperationsList.d.ts +4 -11
  1044. package/dist/presentation/features/organisms/FeatureOperationsList.d.ts.map +1 -1
  1045. package/dist/presentation/features/organisms/FeatureOperationsList.js +174 -25
  1046. package/dist/presentation/features/organisms/FeaturePresentationsList.d.ts +4 -11
  1047. package/dist/presentation/features/organisms/FeaturePresentationsList.d.ts.map +1 -1
  1048. package/dist/presentation/features/organisms/FeaturePresentationsList.js +297 -25
  1049. package/dist/presentation/features/organisms/index.d.ts +8 -12
  1050. package/dist/presentation/features/organisms/index.d.ts.map +1 -0
  1051. package/dist/presentation/features/organisms/index.js +1356 -11
  1052. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.d.ts +2 -13
  1053. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.d.ts.map +1 -1
  1054. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +329 -231
  1055. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.d.ts +3 -3
  1056. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.d.ts.map +1 -0
  1057. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +332 -2
  1058. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/types.d.ts +8 -12
  1059. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/types.d.ts.map +1 -1
  1060. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/types.js +1 -0
  1061. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.d.ts +2 -10
  1062. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.d.ts.map +1 -1
  1063. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +335 -30
  1064. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.d.ts +2 -2
  1065. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.d.ts.map +1 -0
  1066. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +338 -2
  1067. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.d.ts +2 -13
  1068. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.d.ts.map +1 -1
  1069. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +300 -210
  1070. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.d.ts +3 -3
  1071. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.d.ts.map +1 -0
  1072. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +303 -2
  1073. package/dist/presentation/features/templates/FeatureEventDetailTemplate/types.d.ts +8 -12
  1074. package/dist/presentation/features/templates/FeatureEventDetailTemplate/types.d.ts.map +1 -1
  1075. package/dist/presentation/features/templates/FeatureEventDetailTemplate/types.js +1 -0
  1076. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.d.ts +2 -10
  1077. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.d.ts.map +1 -1
  1078. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +333 -30
  1079. package/dist/presentation/features/templates/FeatureEventsTemplate/index.d.ts +2 -2
  1080. package/dist/presentation/features/templates/FeatureEventsTemplate/index.d.ts.map +1 -0
  1081. package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +336 -2
  1082. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.d.ts +2 -13
  1083. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.d.ts.map +1 -1
  1084. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +326 -231
  1085. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.d.ts +3 -3
  1086. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.d.ts.map +1 -0
  1087. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +329 -2
  1088. package/dist/presentation/features/templates/FeatureFormDetailTemplate/types.d.ts +8 -12
  1089. package/dist/presentation/features/templates/FeatureFormDetailTemplate/types.d.ts.map +1 -1
  1090. package/dist/presentation/features/templates/FeatureFormDetailTemplate/types.js +1 -0
  1091. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.d.ts +2 -10
  1092. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.d.ts.map +1 -1
  1093. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +333 -30
  1094. package/dist/presentation/features/templates/FeatureFormsTemplate/index.d.ts +2 -2
  1095. package/dist/presentation/features/templates/FeatureFormsTemplate/index.d.ts.map +1 -0
  1096. package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +336 -2
  1097. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.d.ts +2 -13
  1098. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.d.ts.map +1 -1
  1099. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +300 -205
  1100. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.d.ts +3 -3
  1101. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.d.ts.map +1 -0
  1102. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +302 -2
  1103. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/types.d.ts +8 -12
  1104. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/types.d.ts.map +1 -1
  1105. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/types.js +1 -0
  1106. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.d.ts +2 -10
  1107. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.d.ts.map +1 -1
  1108. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +212 -31
  1109. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.d.ts +2 -2
  1110. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.d.ts.map +1 -0
  1111. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +214 -2
  1112. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.d.ts +5 -13
  1113. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.d.ts.map +1 -1
  1114. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +186 -26
  1115. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.d.ts +2 -2
  1116. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.d.ts.map +1 -0
  1117. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +188 -3
  1118. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.d.ts +2 -13
  1119. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.d.ts.map +1 -1
  1120. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +303 -210
  1121. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.d.ts +3 -3
  1122. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.d.ts.map +1 -0
  1123. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +306 -2
  1124. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/types.d.ts +9 -13
  1125. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/types.d.ts.map +1 -1
  1126. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/types.js +1 -0
  1127. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.d.ts +2 -10
  1128. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.d.ts.map +1 -1
  1129. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +335 -30
  1130. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.d.ts +2 -2
  1131. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.d.ts.map +1 -0
  1132. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +338 -2
  1133. package/dist/presentation/features/templates/types.d.ts +4 -8
  1134. package/dist/presentation/features/templates/types.d.ts.map +1 -1
  1135. package/dist/presentation/features/templates/types.js +1 -0
  1136. package/package.json +2107 -303
  1137. package/src/components/docs/generated/docs-index.manifest.json +1 -1
  1138. package/src/components/docs/generated/docs-index.platform-integrations.json +1 -1
  1139. package/tsdown.config.js +1 -2
  1140. package/.turbo/turbo-build$colon$bundle.log +0 -1230
  1141. package/dist/application/mcp/cliMcp.js.map +0 -1
  1142. package/dist/application/mcp/common.js.map +0 -1
  1143. package/dist/application/mcp/docsMcp.js.map +0 -1
  1144. package/dist/application/mcp/internalMcp.js.map +0 -1
  1145. package/dist/components/docs/DocsIndexPage.js.map +0 -1
  1146. package/dist/components/docs/advanced/AdvancedMCPPage.js.map +0 -1
  1147. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js.map +0 -1
  1148. package/dist/components/docs/advanced/AdvancedRenderersPage.js.map +0 -1
  1149. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js.map +0 -1
  1150. package/dist/components/docs/advanced/AdvancedTelemetryPage.js.map +0 -1
  1151. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js.map +0 -1
  1152. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js.map +0 -1
  1153. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js.map +0 -1
  1154. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js.map +0 -1
  1155. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js.map +0 -1
  1156. package/dist/components/docs/architecture/ArchitectureOverviewPage.js.map +0 -1
  1157. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js.map +0 -1
  1158. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js.map +0 -1
  1159. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js.map +0 -1
  1160. package/dist/components/docs/comparison/ComparisonOverviewPage.js.map +0 -1
  1161. package/dist/components/docs/comparison/ComparisonWindmillPage.js.map +0 -1
  1162. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js.map +0 -1
  1163. package/dist/components/docs/ecosystem/IntegrationsPage.js.map +0 -1
  1164. package/dist/components/docs/ecosystem/PluginsPage.js.map +0 -1
  1165. package/dist/components/docs/ecosystem/RegistryPage.js.map +0 -1
  1166. package/dist/components/docs/ecosystem/TemplatesPage.js.map +0 -1
  1167. package/dist/components/docs/ecosystem/ecosystem.docblocks.js.map +0 -1
  1168. package/dist/components/docs/examples/DocsExamplesPage.js.map +0 -1
  1169. package/dist/components/docs/generated/docs-index.generated.js.map +0 -1
  1170. package/dist/components/docs/generated/loader.js.map +0 -1
  1171. package/dist/components/docs/getting-started/CLIPage.js.map +0 -1
  1172. package/dist/components/docs/getting-started/CompatibilityPage.js.map +0 -1
  1173. package/dist/components/docs/getting-started/DataViewTutorialPage.js.map +0 -1
  1174. package/dist/components/docs/getting-started/DeveloperToolsPage.js.map +0 -1
  1175. package/dist/components/docs/getting-started/HelloWorldPage.js.map +0 -1
  1176. package/dist/components/docs/getting-started/InstallationPage.js.map +0 -1
  1177. package/dist/components/docs/getting-started/StartHerePage.js.map +0 -1
  1178. package/dist/components/docs/getting-started/TroubleshootingPage.js.map +0 -1
  1179. package/dist/components/docs/getting-started/VSCodeExtensionPage.js.map +0 -1
  1180. package/dist/components/docs/getting-started/getting-started.docblocks.js.map +0 -1
  1181. package/dist/components/docs/guides/GuideCIDiffGatingPage.js.map +0 -1
  1182. package/dist/components/docs/guides/GuideContractTypesPage.js.map +0 -1
  1183. package/dist/components/docs/guides/GuideDocsPipelinePage.js.map +0 -1
  1184. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js.map +0 -1
  1185. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js.map +0 -1
  1186. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js.map +0 -1
  1187. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js.map +0 -1
  1188. package/dist/components/docs/guides/GuidesIndexPage.js.map +0 -1
  1189. package/dist/components/docs/guides/guides.docblocks.js.map +0 -1
  1190. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js.map +0 -1
  1191. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js.map +0 -1
  1192. package/dist/components/docs/integrations/IntegrationsGmailPage.js.map +0 -1
  1193. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js.map +0 -1
  1194. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js.map +0 -1
  1195. package/dist/components/docs/integrations/IntegrationsOverviewPage.js.map +0 -1
  1196. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js.map +0 -1
  1197. package/dist/components/docs/integrations/IntegrationsPowensPage.js.map +0 -1
  1198. package/dist/components/docs/integrations/IntegrationsQdrantPage.js.map +0 -1
  1199. package/dist/components/docs/integrations/IntegrationsResendPage.js.map +0 -1
  1200. package/dist/components/docs/integrations/IntegrationsS3Page.js.map +0 -1
  1201. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js.map +0 -1
  1202. package/dist/components/docs/integrations/IntegrationsStripePage.js.map +0 -1
  1203. package/dist/components/docs/integrations/IntegrationsTwilioPage.js.map +0 -1
  1204. package/dist/components/docs/intent/ContractFirstApiPage.js.map +0 -1
  1205. package/dist/components/docs/intent/DeterministicCodegenPage.js.map +0 -1
  1206. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js.map +0 -1
  1207. package/dist/components/docs/intent/OpenapiAlternativePage.js.map +0 -1
  1208. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js.map +0 -1
  1209. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js.map +0 -1
  1210. package/dist/components/docs/intent/intent-pages.docblocks.js.map +0 -1
  1211. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js.map +0 -1
  1212. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js.map +0 -1
  1213. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js.map +0 -1
  1214. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js.map +0 -1
  1215. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js.map +0 -1
  1216. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js.map +0 -1
  1217. package/dist/components/docs/libraries/LibrariesAiAgentPage.js.map +0 -1
  1218. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js.map +0 -1
  1219. package/dist/components/docs/libraries/LibrariesContentGenPage.js.map +0 -1
  1220. package/dist/components/docs/libraries/LibrariesContractsPage.js.map +0 -1
  1221. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js.map +0 -1
  1222. package/dist/components/docs/libraries/LibrariesDataBackendPage.js.map +0 -1
  1223. package/dist/components/docs/libraries/LibrariesDataViewsPage.js.map +0 -1
  1224. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js.map +0 -1
  1225. package/dist/components/docs/libraries/LibrariesEvolutionPage.js.map +0 -1
  1226. package/dist/components/docs/libraries/LibrariesGraphQLPage.js.map +0 -1
  1227. package/dist/components/docs/libraries/LibrariesGrowthPage.js.map +0 -1
  1228. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js.map +0 -1
  1229. package/dist/components/docs/libraries/LibrariesObservabilityPage.js.map +0 -1
  1230. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js.map +0 -1
  1231. package/dist/components/docs/libraries/LibrariesOverviewPage.js.map +0 -1
  1232. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js.map +0 -1
  1233. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js.map +0 -1
  1234. package/dist/components/docs/libraries/LibrariesResiliencePage.js.map +0 -1
  1235. package/dist/components/docs/libraries/LibrariesRuntimePage.js.map +0 -1
  1236. package/dist/components/docs/libraries/LibrariesSLOPage.js.map +0 -1
  1237. package/dist/components/docs/libraries/LibrariesSchemaPage.js.map +0 -1
  1238. package/dist/components/docs/libraries/LibrariesSupportBotPage.js.map +0 -1
  1239. package/dist/components/docs/libraries/LibrariesTestingPage.js.map +0 -1
  1240. package/dist/components/docs/libraries/LibrariesUIKitPage.js.map +0 -1
  1241. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js.map +0 -1
  1242. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js.map +0 -1
  1243. package/dist/components/docs/manifesto/ManifestoPage.js.map +0 -1
  1244. package/dist/components/docs/ops/AutoEvolutionOpsPage.js.map +0 -1
  1245. package/dist/components/docs/ops/DistributedTracingOpsPage.js.map +0 -1
  1246. package/dist/components/docs/ops/ops-lifecycle.docblocks.js.map +0 -1
  1247. package/dist/components/docs/ops/ops-runbooks-a.docblocks.js.map +0 -1
  1248. package/dist/components/docs/ops/ops-runbooks-b.docblocks.js.map +0 -1
  1249. package/dist/components/docs/ops/ops-slo-tenant.docblocks.js.map +0 -1
  1250. package/dist/components/docs/ops/ops-top.docs.js.map +0 -1
  1251. package/dist/components/docs/ops/ops.docs.js.map +0 -1
  1252. package/dist/components/docs/product/product.docblocks.js.map +0 -1
  1253. package/dist/components/docs/reference/DocsMarkdownContent.js.map +0 -1
  1254. package/dist/components/docs/reference/DocsReferenceContent.js.map +0 -1
  1255. package/dist/components/docs/reference/DocsReferenceIndexClient.js.map +0 -1
  1256. package/dist/components/docs/reference/DocsReferenceIndexPage.js.map +0 -1
  1257. package/dist/components/docs/reference/DocsReferencePage.js.map +0 -1
  1258. package/dist/components/docs/reference/docsMarkdownParser.js.map +0 -1
  1259. package/dist/components/docs/safety/SafetyAuditingPage.js.map +0 -1
  1260. package/dist/components/docs/safety/SafetyMigrationsPage.js.map +0 -1
  1261. package/dist/components/docs/safety/SafetyOverviewPage.js.map +0 -1
  1262. package/dist/components/docs/safety/SafetyPDPPage.js.map +0 -1
  1263. package/dist/components/docs/safety/SafetySecurityTrustPage.js.map +0 -1
  1264. package/dist/components/docs/safety/SafetySigningPage.js.map +0 -1
  1265. package/dist/components/docs/safety/SafetyTenantIsolationPage.js.map +0 -1
  1266. package/dist/components/docs/shared/StudioPrompt.js.map +0 -1
  1267. package/dist/components/docs/specs/SpecsCapabilitiesPage.js.map +0 -1
  1268. package/dist/components/docs/specs/SpecsDataViewsPage.js.map +0 -1
  1269. package/dist/components/docs/specs/SpecsOverlaysPage.js.map +0 -1
  1270. package/dist/components/docs/specs/SpecsOverviewPage.js.map +0 -1
  1271. package/dist/components/docs/specs/SpecsPolicyPage.js.map +0 -1
  1272. package/dist/components/docs/specs/SpecsWorkflowsPage.js.map +0 -1
  1273. package/dist/components/docs/studio/StudioBYOKPage.js.map +0 -1
  1274. package/dist/components/docs/studio/StudioDeploymentsPage.js.map +0 -1
  1275. package/dist/components/docs/studio/StudioGettingStartedPage.js.map +0 -1
  1276. package/dist/components/docs/studio/StudioIntegrationsPage.js.map +0 -1
  1277. package/dist/components/docs/studio/StudioOverviewPage.js.map +0 -1
  1278. package/dist/components/docs/studio/StudioVisualBuilderPage.js.map +0 -1
  1279. package/dist/components/docs/tech/contracts/tech-docs.docblocks.js.map +0 -1
  1280. package/dist/components/integrations/molecules/IntegrationCard.js.map +0 -1
  1281. package/dist/components/integrations/organisms/IntegrationMarketplace.js.map +0 -1
  1282. package/dist/components/integrations/organisms/IntegrationSettings.js.map +0 -1
  1283. package/dist/components/integrations/organisms/KnowledgeSourceList.js.map +0 -1
  1284. package/dist/components/legal/PrivacyTemplate.js.map +0 -1
  1285. package/dist/components/legal/TermsTemplate.js.map +0 -1
  1286. package/dist/components/shared/FeatureGateNotice.js.map +0 -1
  1287. package/dist/components/shell/WorkspaceHeader.js.map +0 -1
  1288. package/dist/components/shell/WorkspaceProjectShellLayout.js.map +0 -1
  1289. package/dist/components/shell/WorkspaceSidebar.js.map +0 -1
  1290. package/dist/components/templates/engine/index.js.map +0 -1
  1291. package/dist/components/templates/messaging/ConversationList.js.map +0 -1
  1292. package/dist/components/templates/messaging/MessageComposer.js.map +0 -1
  1293. package/dist/components/templates/messaging/MessageThread.js.map +0 -1
  1294. package/dist/components/templates/messaging/MessagingWorkspace.js.map +0 -1
  1295. package/dist/components/templates/recipes/LanguageSwitcher.js.map +0 -1
  1296. package/dist/components/templates/recipes/RecipeCard.js.map +0 -1
  1297. package/dist/components/templates/recipes/RecipeDetail.js.map +0 -1
  1298. package/dist/components/templates/recipes/RecipeList.js.map +0 -1
  1299. package/dist/components/templates/todos/FilterBar.js.map +0 -1
  1300. package/dist/components/templates/todos/TaskForm.js.map +0 -1
  1301. package/dist/components/templates/todos/TaskItem.js.map +0 -1
  1302. package/dist/components/templates/todos/TaskList.js.map +0 -1
  1303. package/dist/config/contractspec-blueprint.js.map +0 -1
  1304. package/dist/config/contractspec-branding.js.map +0 -1
  1305. package/dist/config/contractspec-routes.js.map +0 -1
  1306. package/dist/features/contracts-registry.js.map +0 -1
  1307. package/dist/features/docs.feature.js.map +0 -1
  1308. package/dist/features/mcp.feature.js.map +0 -1
  1309. package/dist/features/presentations.feature.js.map +0 -1
  1310. package/dist/features/registry.js.map +0 -1
  1311. package/dist/infrastructure/elysia/logger.js.map +0 -1
  1312. package/dist/libs/email/client.js.map +0 -1
  1313. package/dist/libs/email/contact.js.map +0 -1
  1314. package/dist/libs/email/newsletter.js.map +0 -1
  1315. package/dist/libs/email/utils.js.map +0 -1
  1316. package/dist/libs/email/waitlist-application.js.map +0 -1
  1317. package/dist/libs/email/waitlist.js.map +0 -1
  1318. package/dist/libs/posthog/client.js.map +0 -1
  1319. package/dist/libs/posthog/native.js.map +0 -1
  1320. package/dist/libs/posthog/server.js.map +0 -1
  1321. package/dist/libs/pricing-examples.js.map +0 -1
  1322. package/dist/node_modules/next/dist/build/adapter/build-complete.d.ts +0 -3
  1323. package/dist/node_modules/next/dist/build/analysis/get-page-static-info.d.ts +0 -15
  1324. package/dist/node_modules/next/dist/build/analysis/get-page-static-info.d.ts.map +0 -1
  1325. package/dist/node_modules/next/dist/build/build-context.d.ts +0 -3
  1326. package/dist/node_modules/next/dist/build/index.d.ts +0 -19
  1327. package/dist/node_modules/next/dist/build/index.d.ts.map +0 -1
  1328. package/dist/node_modules/next/dist/build/load-jsconfig.d.ts +0 -1
  1329. package/dist/node_modules/next/dist/build/segment-config/app/app-segments.d.ts +0 -3
  1330. package/dist/node_modules/next/dist/build/static-paths/types.d.ts +0 -2
  1331. package/dist/node_modules/next/dist/build/swc/generated-native.d.ts +0 -1
  1332. package/dist/node_modules/next/dist/build/swc/types.d.ts +0 -2
  1333. package/dist/node_modules/next/dist/build/templates/app-page.d.ts +0 -1
  1334. package/dist/node_modules/next/dist/build/templates/app-route.d.ts +0 -3
  1335. package/dist/node_modules/next/dist/build/utils.d.ts +0 -8
  1336. package/dist/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts +0 -2
  1337. package/dist/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts +0 -1
  1338. package/dist/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts +0 -3
  1339. package/dist/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts +0 -7
  1340. package/dist/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts.map +0 -1
  1341. package/dist/node_modules/next/dist/build/webpack-config.d.ts +0 -5
  1342. package/dist/node_modules/next/dist/build/worker.d.ts +0 -2
  1343. package/dist/node_modules/next/dist/cli/next-test.d.ts +0 -6
  1344. package/dist/node_modules/next/dist/cli/next-test.d.ts.map +0 -1
  1345. package/dist/node_modules/next/dist/client/components/app-router-headers.d.ts +0 -5
  1346. package/dist/node_modules/next/dist/client/components/app-router-headers.d.ts.map +0 -1
  1347. package/dist/node_modules/next/dist/client/components/client-page.d.ts +0 -3
  1348. package/dist/node_modules/next/dist/client/components/client-segment.d.ts +0 -2
  1349. package/dist/node_modules/next/dist/client/components/error-boundary.d.ts +0 -1
  1350. package/dist/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts +0 -2
  1351. package/dist/node_modules/next/dist/client/components/layout-router.d.ts +0 -2
  1352. package/dist/node_modules/next/dist/client/components/render-from-template-context.d.ts +0 -1
  1353. package/dist/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts +0 -2
  1354. package/dist/node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts +0 -1
  1355. package/dist/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts +0 -3
  1356. package/dist/node_modules/next/dist/client/components/segment-cache/navigation.d.ts +0 -3
  1357. package/dist/node_modules/next/dist/client/flight-data-helpers.d.ts +0 -1
  1358. package/dist/node_modules/next/dist/client/page-loader.d.ts +0 -16
  1359. package/dist/node_modules/next/dist/client/page-loader.d.ts.map +0 -1
  1360. package/dist/node_modules/next/dist/client/route-loader.d.ts +0 -22
  1361. package/dist/node_modules/next/dist/client/route-loader.d.ts.map +0 -1
  1362. package/dist/node_modules/next/dist/client/router.d.ts +0 -2
  1363. package/dist/node_modules/next/dist/client/with-router.d.ts +0 -3
  1364. package/dist/node_modules/next/dist/export/types.d.ts +0 -8
  1365. package/dist/node_modules/next/dist/export/worker.d.ts +0 -1
  1366. package/dist/node_modules/next/dist/lib/constants.d.ts +0 -1
  1367. package/dist/node_modules/next/dist/lib/framework/boundary-components.d.ts +0 -1
  1368. package/dist/node_modules/next/dist/lib/load-custom-routes.d.ts +0 -47
  1369. package/dist/node_modules/next/dist/lib/load-custom-routes.d.ts.map +0 -1
  1370. package/dist/node_modules/next/dist/lib/metadata/metadata.d.ts +0 -6
  1371. package/dist/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts +0 -4
  1372. package/dist/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts +0 -22
  1373. package/dist/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts.map +0 -1
  1374. package/dist/node_modules/next/dist/lib/metadata/types/extra-types.d.ts +0 -79
  1375. package/dist/node_modules/next/dist/lib/metadata/types/extra-types.d.ts.map +0 -1
  1376. package/dist/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts +0 -479
  1377. package/dist/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts.map +0 -1
  1378. package/dist/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts +0 -97
  1379. package/dist/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts.map +0 -1
  1380. package/dist/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts +0 -134
  1381. package/dist/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts.map +0 -1
  1382. package/dist/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts +0 -58
  1383. package/dist/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts.map +0 -1
  1384. package/dist/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts +0 -3
  1385. package/dist/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts +0 -2
  1386. package/dist/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts +0 -1
  1387. package/dist/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts +0 -2
  1388. package/dist/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts +0 -2
  1389. package/dist/node_modules/next/dist/server/after/after-context.d.ts +0 -1
  1390. package/dist/node_modules/next/dist/server/api-utils/index.d.ts +0 -2
  1391. package/dist/node_modules/next/dist/server/app-render/app-render.d.ts +0 -11
  1392. package/dist/node_modules/next/dist/server/app-render/collect-segment-data.d.ts +0 -2
  1393. package/dist/node_modules/next/dist/server/app-render/create-error-handler.d.ts +0 -7
  1394. package/dist/node_modules/next/dist/server/app-render/create-error-handler.d.ts.map +0 -1
  1395. package/dist/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts +0 -2
  1396. package/dist/node_modules/next/dist/server/app-render/entry-base.d.ts +0 -22
  1397. package/dist/node_modules/next/dist/server/app-render/entry-base.d.ts.map +0 -1
  1398. package/dist/node_modules/next/dist/server/app-render/rsc/postpone.d.ts +0 -1
  1399. package/dist/node_modules/next/dist/server/app-render/types.d.ts +0 -11
  1400. package/dist/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts +0 -1
  1401. package/dist/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts +0 -5
  1402. package/dist/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts +0 -1
  1403. package/dist/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts +0 -9
  1404. package/dist/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts +0 -3
  1405. package/dist/node_modules/next/dist/server/async-storage/work-store.d.ts +0 -5
  1406. package/dist/node_modules/next/dist/server/base-http/index.d.ts +0 -2
  1407. package/dist/node_modules/next/dist/server/base-http/node.d.ts +0 -3
  1408. package/dist/node_modules/next/dist/server/base-server.d.ts +0 -21
  1409. package/dist/node_modules/next/dist/server/config-shared.d.ts +0 -1128
  1410. package/dist/node_modules/next/dist/server/config-shared.d.ts.map +0 -1
  1411. package/dist/node_modules/next/dist/server/dev/debug-channel.d.ts +0 -1
  1412. package/dist/node_modules/next/dist/server/dev/hot-reloader-types.d.ts +0 -5
  1413. package/dist/node_modules/next/dist/server/dev/next-dev-server.d.ts +0 -17
  1414. package/dist/node_modules/next/dist/server/dev/static-paths-worker.d.ts +0 -3
  1415. package/dist/node_modules/next/dist/server/image-optimizer.d.ts +0 -3
  1416. package/dist/node_modules/next/dist/server/lib/app-dir-module.d.ts +0 -1
  1417. package/dist/node_modules/next/dist/server/lib/dev-bundler-service.d.ts +0 -2
  1418. package/dist/node_modules/next/dist/server/lib/experimental/ppr.d.ts +0 -12
  1419. package/dist/node_modules/next/dist/server/lib/experimental/ppr.d.ts.map +0 -1
  1420. package/dist/node_modules/next/dist/server/lib/i18n-provider.d.ts +0 -2
  1421. package/dist/node_modules/next/dist/server/lib/implicit-tags.d.ts +0 -1
  1422. package/dist/node_modules/next/dist/server/lib/incremental-cache/index.d.ts +0 -3
  1423. package/dist/node_modules/next/dist/server/lib/render-server.d.ts +0 -6
  1424. package/dist/node_modules/next/dist/server/lib/router-server.d.ts +0 -1
  1425. package/dist/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts +0 -3
  1426. package/dist/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts +0 -2
  1427. package/dist/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts +0 -7
  1428. package/dist/node_modules/next/dist/server/load-components.d.ts +0 -3
  1429. package/dist/node_modules/next/dist/server/load-default-error-components.d.ts +0 -2
  1430. package/dist/node_modules/next/dist/server/next-server.d.ts +0 -19
  1431. package/dist/node_modules/next/dist/server/next.d.ts +0 -4
  1432. package/dist/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts +0 -1
  1433. package/dist/node_modules/next/dist/server/render-result.d.ts +0 -3
  1434. package/dist/node_modules/next/dist/server/render.d.ts +0 -9
  1435. package/dist/node_modules/next/dist/server/request/fallback-params.d.ts +0 -3
  1436. package/dist/node_modules/next/dist/server/request/params.d.ts +0 -1
  1437. package/dist/node_modules/next/dist/server/request/search-params.d.ts +0 -1
  1438. package/dist/node_modules/next/dist/server/request-meta.d.ts +0 -21
  1439. package/dist/node_modules/next/dist/server/request-meta.d.ts.map +0 -1
  1440. package/dist/node_modules/next/dist/server/response-cache/index.d.ts +0 -1
  1441. package/dist/node_modules/next/dist/server/response-cache/types.d.ts +0 -1
  1442. package/dist/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts +0 -1
  1443. package/dist/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts +0 -1
  1444. package/dist/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts +0 -3
  1445. package/dist/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts +0 -1
  1446. package/dist/node_modules/next/dist/server/route-matchers/route-matcher.d.ts +0 -2
  1447. package/dist/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts +0 -1
  1448. package/dist/node_modules/next/dist/server/route-matches/route-match.d.ts +0 -1
  1449. package/dist/node_modules/next/dist/server/route-modules/app-page/module.d.ts +0 -15
  1450. package/dist/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts +0 -6
  1451. package/dist/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts +0 -2
  1452. package/dist/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts +0 -2
  1453. package/dist/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts +0 -1
  1454. package/dist/node_modules/next/dist/server/route-modules/app-route/module.d.ts +0 -11
  1455. package/dist/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts +0 -1
  1456. package/dist/node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts +0 -1
  1457. package/dist/node_modules/next/dist/server/route-modules/pages/module.d.ts +0 -7
  1458. package/dist/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts +0 -9
  1459. package/dist/node_modules/next/dist/server/route-modules/route-module.d.ts +0 -11
  1460. package/dist/node_modules/next/dist/server/web/adapter.d.ts +0 -4
  1461. package/dist/node_modules/next/dist/server/web/next-url.d.ts +0 -2
  1462. package/dist/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts +0 -1
  1463. package/dist/node_modules/next/dist/server/web/spec-extension/request.d.ts +0 -2
  1464. package/dist/node_modules/next/dist/server/web/spec-extension/response.d.ts +0 -2
  1465. package/dist/node_modules/next/dist/server/web/types.d.ts +0 -5
  1466. package/dist/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts +0 -4
  1467. package/dist/node_modules/next/dist/shared/lib/app-router-types.d.ts +0 -1
  1468. package/dist/node_modules/next/dist/shared/lib/constants.d.ts +0 -9
  1469. package/dist/node_modules/next/dist/shared/lib/constants.d.ts.map +0 -1
  1470. package/dist/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts +0 -1
  1471. package/dist/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts +0 -2
  1472. package/dist/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts +0 -3
  1473. package/dist/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts +0 -1
  1474. package/dist/node_modules/next/dist/shared/lib/image-config.d.ts +0 -78
  1475. package/dist/node_modules/next/dist/shared/lib/image-config.d.ts.map +0 -1
  1476. package/dist/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts +0 -1
  1477. package/dist/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts +0 -9
  1478. package/dist/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts.map +0 -1
  1479. package/dist/node_modules/next/dist/shared/lib/router/router.d.ts +0 -13
  1480. package/dist/node_modules/next/dist/shared/lib/router/router.d.ts.map +0 -1
  1481. package/dist/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts +0 -3
  1482. package/dist/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts +0 -1
  1483. package/dist/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts +0 -2
  1484. package/dist/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts +0 -1
  1485. package/dist/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts +0 -1
  1486. package/dist/node_modules/next/dist/shared/lib/size-limit.d.ts +0 -1
  1487. package/dist/node_modules/next/dist/shared/lib/utils.d.ts +0 -45
  1488. package/dist/node_modules/next/dist/shared/lib/utils.d.ts.map +0 -1
  1489. package/dist/node_modules/next/dist/types.d.ts +0 -39
  1490. package/dist/node_modules/next/dist/types.d.ts.map +0 -1
  1491. package/dist/node_modules/next/index.d.ts +0 -20
  1492. package/dist/node_modules/next/types.d.ts +0 -3
  1493. package/dist/packages/libs/content-gen/dist/seo/optimizer.js +0 -49
  1494. package/dist/packages/libs/content-gen/dist/seo/optimizer.js.map +0 -1
  1495. package/dist/packages/libs/content-gen/dist/types.d.ts +0 -27
  1496. package/dist/packages/libs/content-gen/dist/types.d.ts.map +0 -1
  1497. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js.map +0 -1
  1498. package/dist/presentation/features/hooks/useContractsRegistry.js.map +0 -1
  1499. package/dist/presentation/features/hooks/useFeatureFilters.js.map +0 -1
  1500. package/dist/presentation/features/hooks/useFeatureRegistry.js.map +0 -1
  1501. package/dist/presentation/features/hooks/useRelatedDocs.js.map +0 -1
  1502. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js.map +0 -1
  1503. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js.map +0 -1
  1504. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js.map +0 -1
  1505. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js.map +0 -1
  1506. package/dist/presentation/features/organisms/FeatureDataViewsList.js.map +0 -1
  1507. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js.map +0 -1
  1508. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js.map +0 -1
  1509. package/dist/presentation/features/organisms/FeatureEventsList.js.map +0 -1
  1510. package/dist/presentation/features/organisms/FeatureFormsList.js.map +0 -1
  1511. package/dist/presentation/features/organisms/FeatureOperationsList.js.map +0 -1
  1512. package/dist/presentation/features/organisms/FeaturePresentationsList.js.map +0 -1
  1513. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js.map +0 -1
  1514. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js.map +0 -1
  1515. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js.map +0 -1
  1516. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js.map +0 -1
  1517. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js.map +0 -1
  1518. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js.map +0 -1
  1519. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js.map +0 -1
  1520. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js.map +0 -1
  1521. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js.map +0 -1
  1522. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js.map +0 -1
  1523. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js.map +0 -1
  1524. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,2902 @@
1
+ // src/components/docs/shared/StudioPrompt.tsx
2
+ import Link from "@contractspec/lib.ui-link";
3
+ import { jsxDEV } from "react/jsx-dev-runtime";
4
+ function StudioPrompt({
5
+ title = "Need managed policy gates and approvals?",
6
+ body = "ContractSpec Studio adds policy gates, remote registry workflows, and audit trails when you are ready to scale adoption.",
7
+ ctaLabel = "Join Studio waitlist",
8
+ href = "/contact#waitlist"
9
+ }) {
10
+ return /* @__PURE__ */ jsxDEV("div", {
11
+ className: "card-subtle space-y-3 p-6",
12
+ children: [
13
+ /* @__PURE__ */ jsxDEV("h3", {
14
+ className: "text-lg font-semibold",
15
+ children: title
16
+ }, undefined, false, undefined, this),
17
+ /* @__PURE__ */ jsxDEV("p", {
18
+ className: "text-muted-foreground text-sm",
19
+ children: body
20
+ }, undefined, false, undefined, this),
21
+ /* @__PURE__ */ jsxDEV(Link, {
22
+ href,
23
+ className: "btn-primary",
24
+ children: ctaLabel
25
+ }, undefined, false, undefined, this)
26
+ ]
27
+ }, undefined, true, undefined, this);
28
+ }
29
+
30
+ // src/components/docs/guides/GuideCIDiffGatingPage.tsx
31
+ import { CodeBlock } from "@contractspec/lib.design-system";
32
+ import Link2 from "@contractspec/lib.ui-link";
33
+ import { ChevronRight } from "lucide-react";
34
+ import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
35
+ function GuideCIDiffGatingPage() {
36
+ return /* @__PURE__ */ jsxDEV2("div", {
37
+ className: "space-y-8",
38
+ children: [
39
+ /* @__PURE__ */ jsxDEV2("div", {
40
+ className: "space-y-3",
41
+ children: [
42
+ /* @__PURE__ */ jsxDEV2("h1", {
43
+ className: "text-4xl font-bold",
44
+ children: "CI gating with deterministic diffs"
45
+ }, undefined, false, undefined, this),
46
+ /* @__PURE__ */ jsxDEV2("p", {
47
+ className: "text-muted-foreground text-lg",
48
+ children: "Add ContractSpec CI checks that validate specs, detect drift, and gate breaking changes before merge."
49
+ }, undefined, false, undefined, this)
50
+ ]
51
+ }, undefined, true, undefined, this),
52
+ /* @__PURE__ */ jsxDEV2("div", {
53
+ className: "card-subtle space-y-4 p-6",
54
+ children: [
55
+ /* @__PURE__ */ jsxDEV2("h2", {
56
+ className: "text-2xl font-bold",
57
+ children: "What you'll build"
58
+ }, undefined, false, undefined, this),
59
+ /* @__PURE__ */ jsxDEV2("ul", {
60
+ className: "text-muted-foreground space-y-2 text-sm",
61
+ children: [
62
+ /* @__PURE__ */ jsxDEV2("li", {
63
+ children: "CI workflow running ContractSpec validation and drift checks."
64
+ }, undefined, false, undefined, this),
65
+ /* @__PURE__ */ jsxDEV2("li", {
66
+ children: "Machine-readable output for PR annotations."
67
+ }, undefined, false, undefined, this),
68
+ /* @__PURE__ */ jsxDEV2("li", {
69
+ children: "Deterministic contract diffs in review."
70
+ }, undefined, false, undefined, this)
71
+ ]
72
+ }, undefined, true, undefined, this)
73
+ ]
74
+ }, undefined, true, undefined, this),
75
+ /* @__PURE__ */ jsxDEV2("div", {
76
+ className: "space-y-6",
77
+ children: [
78
+ /* @__PURE__ */ jsxDEV2("div", {
79
+ className: "space-y-3",
80
+ children: [
81
+ /* @__PURE__ */ jsxDEV2("h2", {
82
+ className: "text-2xl font-bold",
83
+ children: "1) Add the CI workflow"
84
+ }, undefined, false, undefined, this),
85
+ /* @__PURE__ */ jsxDEV2("p", {
86
+ className: "text-muted-foreground text-sm",
87
+ children: "Copy the template from the CLI package."
88
+ }, undefined, false, undefined, this),
89
+ /* @__PURE__ */ jsxDEV2(CodeBlock, {
90
+ language: "bash",
91
+ filename: "ci-copy",
92
+ code: `cp node_modules/@contractspec/app.cli-contractspec/templates/github-action.yml .github/workflows/contractspec.yml`
93
+ }, undefined, false, undefined, this),
94
+ /* @__PURE__ */ jsxDEV2("p", {
95
+ className: "text-muted-foreground text-sm",
96
+ children: [
97
+ "Expected output: new workflow file in ",
98
+ /* @__PURE__ */ jsxDEV2("code", {
99
+ children: ".github/workflows"
100
+ }, undefined, false, undefined, this),
101
+ "."
102
+ ]
103
+ }, undefined, true, undefined, this)
104
+ ]
105
+ }, undefined, true, undefined, this),
106
+ /* @__PURE__ */ jsxDEV2("div", {
107
+ className: "space-y-3",
108
+ children: [
109
+ /* @__PURE__ */ jsxDEV2("h2", {
110
+ className: "text-2xl font-bold",
111
+ children: "2) Run CI locally"
112
+ }, undefined, false, undefined, this),
113
+ /* @__PURE__ */ jsxDEV2(CodeBlock, {
114
+ language: "bash",
115
+ filename: "ci-local",
116
+ code: `contractspec ci --format json --check-drift`
117
+ }, undefined, false, undefined, this),
118
+ /* @__PURE__ */ jsxDEV2("p", {
119
+ className: "text-muted-foreground text-sm",
120
+ children: "Expected output: JSON summary including pass/fail counts and drift status (if configured)."
121
+ }, undefined, false, undefined, this)
122
+ ]
123
+ }, undefined, true, undefined, this),
124
+ /* @__PURE__ */ jsxDEV2("div", {
125
+ className: "space-y-3",
126
+ children: [
127
+ /* @__PURE__ */ jsxDEV2("h2", {
128
+ className: "text-2xl font-bold",
129
+ children: "3) Add a diff check"
130
+ }, undefined, false, undefined, this),
131
+ /* @__PURE__ */ jsxDEV2("p", {
132
+ className: "text-muted-foreground text-sm",
133
+ children: "Use the diff command to inspect breaking changes in PRs."
134
+ }, undefined, false, undefined, this),
135
+ /* @__PURE__ */ jsxDEV2(CodeBlock, {
136
+ language: "bash",
137
+ filename: "ci-diff",
138
+ code: `contractspec diff src/contracts/spec-v1.ts src/contracts/spec-v2.ts --breaking`
139
+ }, undefined, false, undefined, this),
140
+ /* @__PURE__ */ jsxDEV2("p", {
141
+ className: "text-muted-foreground text-sm",
142
+ children: "Expected output: deterministic diff with breaking change hints."
143
+ }, undefined, false, undefined, this)
144
+ ]
145
+ }, undefined, true, undefined, this),
146
+ /* @__PURE__ */ jsxDEV2("div", {
147
+ className: "card-subtle space-y-3 p-6",
148
+ children: [
149
+ /* @__PURE__ */ jsxDEV2("h3", {
150
+ className: "text-lg font-semibold",
151
+ children: "Example package"
152
+ }, undefined, false, undefined, this),
153
+ /* @__PURE__ */ jsxDEV2("p", {
154
+ className: "text-muted-foreground text-sm",
155
+ children: "The CRM pipeline example is already wired in the quickstart smoke test. Use it as a CI-ready template."
156
+ }, undefined, false, undefined, this),
157
+ /* @__PURE__ */ jsxDEV2(CodeBlock, {
158
+ language: "bash",
159
+ filename: "crm-ci",
160
+ code: `cd packages/examples/crm-pipeline
161
+ bun run build
162
+ bun run validate`
163
+ }, undefined, false, undefined, this)
164
+ ]
165
+ }, undefined, true, undefined, this),
166
+ /* @__PURE__ */ jsxDEV2(StudioPrompt, {
167
+ title: "Need managed CI policy gates?",
168
+ body: "Studio adds policy approvals, drift dashboards, and audit trails after CI checks pass."
169
+ }, undefined, false, undefined, this)
170
+ ]
171
+ }, undefined, true, undefined, this),
172
+ /* @__PURE__ */ jsxDEV2("div", {
173
+ className: "flex items-center gap-4 pt-4",
174
+ children: [
175
+ /* @__PURE__ */ jsxDEV2(Link2, {
176
+ href: "/docs/guides",
177
+ className: "btn-primary",
178
+ children: [
179
+ "Back to guides ",
180
+ /* @__PURE__ */ jsxDEV2(ChevronRight, {
181
+ size: 16
182
+ }, undefined, false, undefined, this)
183
+ ]
184
+ }, undefined, true, undefined, this),
185
+ /* @__PURE__ */ jsxDEV2(Link2, {
186
+ href: "/docs",
187
+ className: "btn-ghost",
188
+ children: "Docs home"
189
+ }, undefined, false, undefined, this)
190
+ ]
191
+ }, undefined, true, undefined, this)
192
+ ]
193
+ }, undefined, true, undefined, this);
194
+ }
195
+
196
+ // src/components/docs/guides/GuideContractTypesPage.tsx
197
+ import { CodeBlock as CodeBlock2 } from "@contractspec/lib.design-system";
198
+ import Link3 from "@contractspec/lib.ui-link";
199
+ import { ChevronRight as ChevronRight2, Layers, Zap, Shield, Globe } from "lucide-react";
200
+ import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
201
+ var contractTypes = [
202
+ {
203
+ name: "Operations",
204
+ factory: "defineCommand / defineQuery",
205
+ description: "API endpoints with input/output schemas, validation, and policy.",
206
+ icon: Zap,
207
+ color: "text-blue-400"
208
+ },
209
+ {
210
+ name: "Events",
211
+ factory: "defineEvent",
212
+ description: "Domain events with typed payloads and PII handling.",
213
+ icon: Layers,
214
+ color: "text-green-400"
215
+ },
216
+ {
217
+ name: "Capabilities",
218
+ factory: "defineCapability",
219
+ description: "Feature groupings that link operations, events, and UIs.",
220
+ icon: Shield,
221
+ color: "text-purple-400"
222
+ },
223
+ {
224
+ name: "Presentations",
225
+ factory: "definePresentation",
226
+ description: "UI specifications for rendering data and handling interactions.",
227
+ icon: Globe,
228
+ color: "text-orange-400"
229
+ }
230
+ ];
231
+ function GuideContractTypesPage() {
232
+ return /* @__PURE__ */ jsxDEV3("div", {
233
+ className: "space-y-8",
234
+ children: [
235
+ /* @__PURE__ */ jsxDEV3("div", {
236
+ className: "space-y-3",
237
+ children: [
238
+ /* @__PURE__ */ jsxDEV3("h1", {
239
+ className: "text-4xl font-bold",
240
+ children: "Contract Types Overview"
241
+ }, undefined, false, undefined, this),
242
+ /* @__PURE__ */ jsxDEV3("p", {
243
+ className: "text-muted-foreground text-lg",
244
+ children: "Learn about the different contract types in ContractSpec and when to use each one for spec-first development."
245
+ }, undefined, false, undefined, this)
246
+ ]
247
+ }, undefined, true, undefined, this),
248
+ /* @__PURE__ */ jsxDEV3("div", {
249
+ className: "card-subtle space-y-4 p-6",
250
+ children: [
251
+ /* @__PURE__ */ jsxDEV3("h2", {
252
+ className: "text-2xl font-bold",
253
+ children: "Core Contract Types"
254
+ }, undefined, false, undefined, this),
255
+ /* @__PURE__ */ jsxDEV3("div", {
256
+ className: "grid gap-3 md:grid-cols-2",
257
+ children: contractTypes.map((type) => /* @__PURE__ */ jsxDEV3("div", {
258
+ className: "flex items-start gap-3 rounded-lg border border-white/10 p-4",
259
+ children: [
260
+ /* @__PURE__ */ jsxDEV3(type.icon, {
261
+ className: type.color,
262
+ size: 20
263
+ }, undefined, false, undefined, this),
264
+ /* @__PURE__ */ jsxDEV3("div", {
265
+ className: "space-y-1",
266
+ children: [
267
+ /* @__PURE__ */ jsxDEV3("h3", {
268
+ className: "font-semibold",
269
+ children: type.name
270
+ }, undefined, false, undefined, this),
271
+ /* @__PURE__ */ jsxDEV3("p", {
272
+ className: "text-muted-foreground text-xs",
273
+ children: type.description
274
+ }, undefined, false, undefined, this),
275
+ /* @__PURE__ */ jsxDEV3("code", {
276
+ className: "text-xs text-violet-400",
277
+ children: type.factory
278
+ }, undefined, false, undefined, this)
279
+ ]
280
+ }, undefined, true, undefined, this)
281
+ ]
282
+ }, type.name, true, undefined, this))
283
+ }, undefined, false, undefined, this)
284
+ ]
285
+ }, undefined, true, undefined, this),
286
+ /* @__PURE__ */ jsxDEV3("div", {
287
+ className: "space-y-6",
288
+ children: [
289
+ /* @__PURE__ */ jsxDEV3("div", {
290
+ className: "space-y-3",
291
+ children: [
292
+ /* @__PURE__ */ jsxDEV3("h2", {
293
+ className: "text-2xl font-bold",
294
+ children: "1) Operations (Commands & Queries)"
295
+ }, undefined, false, undefined, this),
296
+ /* @__PURE__ */ jsxDEV3("p", {
297
+ className: "text-muted-foreground text-sm",
298
+ children: "Operations are the backbone of your API. Commands mutate state, queries read state. Both have typed input/output schemas."
299
+ }, undefined, false, undefined, this),
300
+ /* @__PURE__ */ jsxDEV3(CodeBlock2, {
301
+ language: "typescript",
302
+ filename: "src/contracts/user.operation.ts",
303
+ code: `import { defineCommand, defineQuery } from "@contractspec/lib.contracts";
304
+ import { SchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
305
+
306
+ // Command: Mutates state (creates a user)
307
+ export const CreateUserCommand = defineCommand({
308
+ meta: {
309
+ key: "user.create",
310
+ version: "1.0.0",
311
+ description: "Create a new user account",
312
+ stability: "stable",
313
+ owners: ["platform.core"],
314
+ tags: ["users", "auth"],
315
+ },
316
+ io: {
317
+ input: new SchemaModel({
318
+ name: "CreateUserInput",
319
+ fields: {
320
+ email: { type: ScalarTypeEnum.Email(), isOptional: false },
321
+ name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
322
+ },
323
+ }),
324
+ output: new SchemaModel({
325
+ name: "CreateUserOutput",
326
+ fields: {
327
+ id: { type: ScalarTypeEnum.UUID(), isOptional: false },
328
+ email: { type: ScalarTypeEnum.Email(), isOptional: false },
329
+ },
330
+ }),
331
+ errors: {
332
+ EMAIL_EXISTS: {
333
+ description: "Email already registered",
334
+ http: 409,
335
+ when: "User with this email already exists",
336
+ },
337
+ },
338
+ },
339
+ policy: { auth: "admin" },
340
+ });
341
+
342
+ // Query: Reads state (gets user by ID)
343
+ export const GetUserQuery = defineQuery({
344
+ meta: {
345
+ key: "user.get",
346
+ version: "1.0.0",
347
+ description: "Get user by ID",
348
+ stability: "stable",
349
+ owners: ["platform.core"],
350
+ tags: ["users"],
351
+ },
352
+ io: {
353
+ input: new SchemaModel({
354
+ name: "GetUserInput",
355
+ fields: {
356
+ id: { type: ScalarTypeEnum.UUID(), isOptional: false },
357
+ },
358
+ }),
359
+ output: new SchemaModel({
360
+ name: "GetUserOutput",
361
+ fields: {
362
+ id: { type: ScalarTypeEnum.UUID(), isOptional: false },
363
+ email: { type: ScalarTypeEnum.Email(), isOptional: false },
364
+ name: { type: ScalarTypeEnum.String(), isOptional: false },
365
+ },
366
+ }),
367
+ },
368
+ policy: { auth: "user" },
369
+ });`
370
+ }, undefined, false, undefined, this)
371
+ ]
372
+ }, undefined, true, undefined, this),
373
+ /* @__PURE__ */ jsxDEV3("div", {
374
+ className: "space-y-3",
375
+ children: [
376
+ /* @__PURE__ */ jsxDEV3("h2", {
377
+ className: "text-2xl font-bold",
378
+ children: "2) Events"
379
+ }, undefined, false, undefined, this),
380
+ /* @__PURE__ */ jsxDEV3("p", {
381
+ className: "text-muted-foreground text-sm",
382
+ children: "Events represent domain occurrences. They have typed payloads with PII field marking for compliance."
383
+ }, undefined, false, undefined, this),
384
+ /* @__PURE__ */ jsxDEV3(CodeBlock2, {
385
+ language: "typescript",
386
+ filename: "src/contracts/user.event.ts",
387
+ code: `import { defineEvent } from "@contractspec/lib.contracts";
388
+ import { SchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
389
+
390
+ export const UserCreatedEvent = defineEvent({
391
+ meta: {
392
+ key: "user.created",
393
+ version: "1.0.0",
394
+ description: "Emitted when a new user is created",
395
+ stability: "stable",
396
+ owners: ["platform.core"],
397
+ tags: ["users", "auth"],
398
+ },
399
+ // Mark PII fields for redaction in logs/exports
400
+ pii: ["email"],
401
+ payload: new SchemaModel({
402
+ name: "UserCreatedPayload",
403
+ fields: {
404
+ userId: { type: ScalarTypeEnum.UUID(), isOptional: false },
405
+ email: { type: ScalarTypeEnum.Email(), isOptional: false },
406
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
407
+ },
408
+ }),
409
+ });
410
+
411
+ export const UserDeletedEvent = defineEvent({
412
+ meta: {
413
+ key: "user.deleted",
414
+ version: "1.0.0",
415
+ description: "Emitted when a user is deleted",
416
+ stability: "stable",
417
+ owners: ["platform.core"],
418
+ tags: ["users"],
419
+ },
420
+ payload: new SchemaModel({
421
+ name: "UserDeletedPayload",
422
+ fields: {
423
+ userId: { type: ScalarTypeEnum.UUID(), isOptional: false },
424
+ deletedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
425
+ reason: { type: ScalarTypeEnum.String(), isOptional: true },
426
+ },
427
+ }),
428
+ });`
429
+ }, undefined, false, undefined, this)
430
+ ]
431
+ }, undefined, true, undefined, this),
432
+ /* @__PURE__ */ jsxDEV3("div", {
433
+ className: "space-y-3",
434
+ children: [
435
+ /* @__PURE__ */ jsxDEV3("h2", {
436
+ className: "text-2xl font-bold",
437
+ children: "3) Capabilities"
438
+ }, undefined, false, undefined, this),
439
+ /* @__PURE__ */ jsxDEV3("p", {
440
+ className: "text-muted-foreground text-sm",
441
+ children: "Capabilities group related operations, events, and presentations. They define feature boundaries and dependencies."
442
+ }, undefined, false, undefined, this),
443
+ /* @__PURE__ */ jsxDEV3(CodeBlock2, {
444
+ language: "typescript",
445
+ filename: "src/contracts/user-management.capability.ts",
446
+ code: `import { defineCapability } from "@contractspec/lib.contracts";
447
+
448
+ export const UserManagementCapability = defineCapability({
449
+ meta: {
450
+ key: "user.management",
451
+ version: "1.0.0",
452
+ description: "User account management features",
453
+ stability: "stable",
454
+ owners: ["platform.core"],
455
+ tags: ["users", "core"],
456
+ kind: "api",
457
+ },
458
+ // Operations/events this capability provides
459
+ provides: [
460
+ { surface: "operation", key: "user.create", version: "1.0.0" },
461
+ { surface: "operation", key: "user.get", version: "1.0.0" },
462
+ { surface: "operation", key: "user.delete", version: "1.0.0" },
463
+ { surface: "event", key: "user.created", version: "1.0.0" },
464
+ { surface: "event", key: "user.deleted", version: "1.0.0" },
465
+ ],
466
+ // Dependencies on other capabilities
467
+ requires: [
468
+ { key: "auth.core", reason: "Needs authentication for user operations" },
469
+ ],
470
+ });
471
+
472
+ // Capabilities can extend other capabilities
473
+ export const AdminUserCapability = defineCapability({
474
+ meta: {
475
+ key: "user.admin",
476
+ version: "1.0.0",
477
+ description: "Admin-only user management features",
478
+ stability: "stable",
479
+ owners: ["platform.core"],
480
+ tags: ["users", "admin"],
481
+ kind: "api",
482
+ },
483
+ // Inherit from base capability
484
+ extends: { key: "user.management", version: "1.0.0" },
485
+ provides: [
486
+ { surface: "operation", key: "user.ban", version: "1.0.0" },
487
+ { surface: "operation", key: "user.impersonate", version: "1.0.0" },
488
+ ],
489
+ });`
490
+ }, undefined, false, undefined, this)
491
+ ]
492
+ }, undefined, true, undefined, this),
493
+ /* @__PURE__ */ jsxDEV3("div", {
494
+ className: "space-y-3",
495
+ children: [
496
+ /* @__PURE__ */ jsxDEV3("h2", {
497
+ className: "text-2xl font-bold",
498
+ children: "4) Presentations"
499
+ }, undefined, false, undefined, this),
500
+ /* @__PURE__ */ jsxDEV3("p", {
501
+ className: "text-muted-foreground text-sm",
502
+ children: "Presentations define UI specifications. They link to capabilities and specify how data should be displayed."
503
+ }, undefined, false, undefined, this),
504
+ /* @__PURE__ */ jsxDEV3(CodeBlock2, {
505
+ language: "typescript",
506
+ filename: "src/contracts/user-list.presentation.ts",
507
+ code: `import { definePresentation } from "@contractspec/lib.contracts";
508
+
509
+ export const UserListPresentation = definePresentation({
510
+ meta: {
511
+ key: "users.list",
512
+ version: "1.0.0",
513
+ description: "Display a list of users with search and pagination",
514
+ stability: "stable",
515
+ owners: ["platform.core"],
516
+ tags: ["users", "ui"],
517
+ },
518
+ // Link to capability that provides data
519
+ capability: { key: "user.management", version: "1.0.0" },
520
+ // UI specifications
521
+ config: {
522
+ title: "Users",
523
+ layout: "table",
524
+ columns: ["name", "email", "createdAt", "status"],
525
+ actions: ["view", "edit", "delete"],
526
+ pagination: { defaultPageSize: 25 },
527
+ search: { fields: ["name", "email"] },
528
+ },
529
+ });`
530
+ }, undefined, false, undefined, this)
531
+ ]
532
+ }, undefined, true, undefined, this),
533
+ /* @__PURE__ */ jsxDEV3("div", {
534
+ className: "space-y-3",
535
+ children: [
536
+ /* @__PURE__ */ jsxDEV3("h2", {
537
+ className: "text-2xl font-bold",
538
+ children: "5) Additional Contract Types"
539
+ }, undefined, false, undefined, this),
540
+ /* @__PURE__ */ jsxDEV3("p", {
541
+ className: "text-muted-foreground text-sm",
542
+ children: "ContractSpec provides specialized contracts for different concerns:"
543
+ }, undefined, false, undefined, this),
544
+ /* @__PURE__ */ jsxDEV3("div", {
545
+ className: "grid gap-4 md:grid-cols-2",
546
+ children: [
547
+ /* @__PURE__ */ jsxDEV3("div", {
548
+ className: "card-subtle space-y-2 p-4",
549
+ children: [
550
+ /* @__PURE__ */ jsxDEV3("h3", {
551
+ className: "font-semibold",
552
+ children: "Policy"
553
+ }, undefined, false, undefined, this),
554
+ /* @__PURE__ */ jsxDEV3("code", {
555
+ className: "text-xs text-violet-400",
556
+ children: "definePolicy"
557
+ }, undefined, false, undefined, this),
558
+ /* @__PURE__ */ jsxDEV3("p", {
559
+ className: "text-muted-foreground text-xs",
560
+ children: "RBAC/ABAC rules, rate limits, and access control."
561
+ }, undefined, false, undefined, this)
562
+ ]
563
+ }, undefined, true, undefined, this),
564
+ /* @__PURE__ */ jsxDEV3("div", {
565
+ className: "card-subtle space-y-2 p-4",
566
+ children: [
567
+ /* @__PURE__ */ jsxDEV3("h3", {
568
+ className: "font-semibold",
569
+ children: "Workflow"
570
+ }, undefined, false, undefined, this),
571
+ /* @__PURE__ */ jsxDEV3("code", {
572
+ className: "text-xs text-violet-400",
573
+ children: "defineWorkflow"
574
+ }, undefined, false, undefined, this),
575
+ /* @__PURE__ */ jsxDEV3("p", {
576
+ className: "text-muted-foreground text-xs",
577
+ children: "Multi-step processes with states, transitions, and SLAs."
578
+ }, undefined, false, undefined, this)
579
+ ]
580
+ }, undefined, true, undefined, this),
581
+ /* @__PURE__ */ jsxDEV3("div", {
582
+ className: "card-subtle space-y-2 p-4",
583
+ children: [
584
+ /* @__PURE__ */ jsxDEV3("h3", {
585
+ className: "font-semibold",
586
+ children: "Translation"
587
+ }, undefined, false, undefined, this),
588
+ /* @__PURE__ */ jsxDEV3("code", {
589
+ className: "text-xs text-violet-400",
590
+ children: "defineTranslation"
591
+ }, undefined, false, undefined, this),
592
+ /* @__PURE__ */ jsxDEV3("p", {
593
+ className: "text-muted-foreground text-xs",
594
+ children: "i18n messages with ICU format and locale fallbacks."
595
+ }, undefined, false, undefined, this)
596
+ ]
597
+ }, undefined, true, undefined, this),
598
+ /* @__PURE__ */ jsxDEV3("div", {
599
+ className: "card-subtle space-y-2 p-4",
600
+ children: [
601
+ /* @__PURE__ */ jsxDEV3("h3", {
602
+ className: "font-semibold",
603
+ children: "Integration"
604
+ }, undefined, false, undefined, this),
605
+ /* @__PURE__ */ jsxDEV3("code", {
606
+ className: "text-xs text-violet-400",
607
+ children: "defineIntegration"
608
+ }, undefined, false, undefined, this),
609
+ /* @__PURE__ */ jsxDEV3("p", {
610
+ className: "text-muted-foreground text-xs",
611
+ children: "External service connections and API adapters."
612
+ }, undefined, false, undefined, this)
613
+ ]
614
+ }, undefined, true, undefined, this),
615
+ /* @__PURE__ */ jsxDEV3("div", {
616
+ className: "card-subtle space-y-2 p-4",
617
+ children: [
618
+ /* @__PURE__ */ jsxDEV3("h3", {
619
+ className: "font-semibold",
620
+ children: "Form"
621
+ }, undefined, false, undefined, this),
622
+ /* @__PURE__ */ jsxDEV3("code", {
623
+ className: "text-xs text-violet-400",
624
+ children: "defineFormSpec"
625
+ }, undefined, false, undefined, this),
626
+ /* @__PURE__ */ jsxDEV3("p", {
627
+ className: "text-muted-foreground text-xs",
628
+ children: "Form definitions with fields, validation, and layouts."
629
+ }, undefined, false, undefined, this)
630
+ ]
631
+ }, undefined, true, undefined, this),
632
+ /* @__PURE__ */ jsxDEV3("div", {
633
+ className: "card-subtle space-y-2 p-4",
634
+ children: [
635
+ /* @__PURE__ */ jsxDEV3("h3", {
636
+ className: "font-semibold",
637
+ children: "Data View"
638
+ }, undefined, false, undefined, this),
639
+ /* @__PURE__ */ jsxDEV3("code", {
640
+ className: "text-xs text-violet-400",
641
+ children: "defineDataView"
642
+ }, undefined, false, undefined, this),
643
+ /* @__PURE__ */ jsxDEV3("p", {
644
+ className: "text-muted-foreground text-xs",
645
+ children: "Read-only data projections and aggregations."
646
+ }, undefined, false, undefined, this)
647
+ ]
648
+ }, undefined, true, undefined, this),
649
+ /* @__PURE__ */ jsxDEV3("div", {
650
+ className: "card-subtle space-y-2 p-4",
651
+ children: [
652
+ /* @__PURE__ */ jsxDEV3("h3", {
653
+ className: "font-semibold",
654
+ children: "Feature"
655
+ }, undefined, false, undefined, this),
656
+ /* @__PURE__ */ jsxDEV3("code", {
657
+ className: "text-xs text-violet-400",
658
+ children: "defineFeature"
659
+ }, undefined, false, undefined, this),
660
+ /* @__PURE__ */ jsxDEV3("p", {
661
+ className: "text-muted-foreground text-xs",
662
+ children: "Feature flags and progressive rollout configurations."
663
+ }, undefined, false, undefined, this)
664
+ ]
665
+ }, undefined, true, undefined, this),
666
+ /* @__PURE__ */ jsxDEV3("div", {
667
+ className: "card-subtle space-y-2 p-4",
668
+ children: [
669
+ /* @__PURE__ */ jsxDEV3("h3", {
670
+ className: "font-semibold",
671
+ children: "Test"
672
+ }, undefined, false, undefined, this),
673
+ /* @__PURE__ */ jsxDEV3("code", {
674
+ className: "text-xs text-violet-400",
675
+ children: "defineTestSpec"
676
+ }, undefined, false, undefined, this),
677
+ /* @__PURE__ */ jsxDEV3("p", {
678
+ className: "text-muted-foreground text-xs",
679
+ children: "Contract-driven test scenarios and fixtures."
680
+ }, undefined, false, undefined, this)
681
+ ]
682
+ }, undefined, true, undefined, this)
683
+ ]
684
+ }, undefined, true, undefined, this)
685
+ ]
686
+ }, undefined, true, undefined, this),
687
+ /* @__PURE__ */ jsxDEV3("div", {
688
+ className: "space-y-3",
689
+ children: [
690
+ /* @__PURE__ */ jsxDEV3("h2", {
691
+ className: "text-2xl font-bold",
692
+ children: "6) Registering Contracts"
693
+ }, undefined, false, undefined, this),
694
+ /* @__PURE__ */ jsxDEV3("p", {
695
+ className: "text-muted-foreground text-sm",
696
+ children: "Each contract type has a registry for lookup and validation."
697
+ }, undefined, false, undefined, this),
698
+ /* @__PURE__ */ jsxDEV3(CodeBlock2, {
699
+ language: "typescript",
700
+ filename: "src/contracts/registry.ts",
701
+ code: `import {
702
+ OperationSpecRegistry,
703
+ installOp,
704
+ } from "@contractspec/lib.contracts/operations";
705
+ import { EventRegistry } from "@contractspec/lib.contracts";
706
+ import { CapabilityRegistry } from "@contractspec/lib.contracts/capabilities";
707
+
708
+ // Import your contracts
709
+ import { CreateUserCommand, GetUserQuery } from "./user.operation";
710
+ import { UserCreatedEvent } from "./user.event";
711
+ import { UserManagementCapability } from "./user-management.capability";
712
+
713
+ // Create registries
714
+ export const operationRegistry = new OperationSpecRegistry();
715
+ export const eventRegistry = new EventRegistry();
716
+ export const capabilityRegistry = new CapabilityRegistry();
717
+
718
+ // Register operations with handlers
719
+ installOp(operationRegistry, CreateUserCommand, async (input) => {
720
+ // Your implementation here
721
+ return { id: "uuid", email: input.email };
722
+ });
723
+
724
+ installOp(operationRegistry, GetUserQuery, async (input) => {
725
+ // Your implementation here
726
+ return { id: input.id, email: "user@example.com", name: "User" };
727
+ });
728
+
729
+ // Register events and capabilities
730
+ eventRegistry.register(UserCreatedEvent);
731
+ capabilityRegistry.register(UserManagementCapability);`
732
+ }, undefined, false, undefined, this)
733
+ ]
734
+ }, undefined, true, undefined, this),
735
+ /* @__PURE__ */ jsxDEV3("div", {
736
+ className: "card-subtle space-y-3 p-6",
737
+ children: [
738
+ /* @__PURE__ */ jsxDEV3("h3", {
739
+ className: "text-lg font-semibold",
740
+ children: "Contract Type Decision Guide"
741
+ }, undefined, false, undefined, this),
742
+ /* @__PURE__ */ jsxDEV3("table", {
743
+ className: "w-full text-sm",
744
+ children: [
745
+ /* @__PURE__ */ jsxDEV3("thead", {
746
+ children: /* @__PURE__ */ jsxDEV3("tr", {
747
+ className: "border-b border-white/10",
748
+ children: [
749
+ /* @__PURE__ */ jsxDEV3("th", {
750
+ className: "py-2 text-left",
751
+ children: "When you need..."
752
+ }, undefined, false, undefined, this),
753
+ /* @__PURE__ */ jsxDEV3("th", {
754
+ className: "py-2 text-left",
755
+ children: "Use this contract"
756
+ }, undefined, false, undefined, this)
757
+ ]
758
+ }, undefined, true, undefined, this)
759
+ }, undefined, false, undefined, this),
760
+ /* @__PURE__ */ jsxDEV3("tbody", {
761
+ className: "text-muted-foreground",
762
+ children: [
763
+ /* @__PURE__ */ jsxDEV3("tr", {
764
+ className: "border-b border-white/5",
765
+ children: [
766
+ /* @__PURE__ */ jsxDEV3("td", {
767
+ className: "py-2",
768
+ children: "An API endpoint that changes data"
769
+ }, undefined, false, undefined, this),
770
+ /* @__PURE__ */ jsxDEV3("td", {
771
+ className: "py-2",
772
+ children: /* @__PURE__ */ jsxDEV3("code", {
773
+ children: "defineCommand"
774
+ }, undefined, false, undefined, this)
775
+ }, undefined, false, undefined, this)
776
+ ]
777
+ }, undefined, true, undefined, this),
778
+ /* @__PURE__ */ jsxDEV3("tr", {
779
+ className: "border-b border-white/5",
780
+ children: [
781
+ /* @__PURE__ */ jsxDEV3("td", {
782
+ className: "py-2",
783
+ children: "An API endpoint that reads data"
784
+ }, undefined, false, undefined, this),
785
+ /* @__PURE__ */ jsxDEV3("td", {
786
+ className: "py-2",
787
+ children: /* @__PURE__ */ jsxDEV3("code", {
788
+ children: "defineQuery"
789
+ }, undefined, false, undefined, this)
790
+ }, undefined, false, undefined, this)
791
+ ]
792
+ }, undefined, true, undefined, this),
793
+ /* @__PURE__ */ jsxDEV3("tr", {
794
+ className: "border-b border-white/5",
795
+ children: [
796
+ /* @__PURE__ */ jsxDEV3("td", {
797
+ className: "py-2",
798
+ children: "Async notification of something that happened"
799
+ }, undefined, false, undefined, this),
800
+ /* @__PURE__ */ jsxDEV3("td", {
801
+ className: "py-2",
802
+ children: /* @__PURE__ */ jsxDEV3("code", {
803
+ children: "defineEvent"
804
+ }, undefined, false, undefined, this)
805
+ }, undefined, false, undefined, this)
806
+ ]
807
+ }, undefined, true, undefined, this),
808
+ /* @__PURE__ */ jsxDEV3("tr", {
809
+ className: "border-b border-white/5",
810
+ children: [
811
+ /* @__PURE__ */ jsxDEV3("td", {
812
+ className: "py-2",
813
+ children: "Group related specs under a feature"
814
+ }, undefined, false, undefined, this),
815
+ /* @__PURE__ */ jsxDEV3("td", {
816
+ className: "py-2",
817
+ children: /* @__PURE__ */ jsxDEV3("code", {
818
+ children: "defineCapability"
819
+ }, undefined, false, undefined, this)
820
+ }, undefined, false, undefined, this)
821
+ ]
822
+ }, undefined, true, undefined, this),
823
+ /* @__PURE__ */ jsxDEV3("tr", {
824
+ className: "border-b border-white/5",
825
+ children: [
826
+ /* @__PURE__ */ jsxDEV3("td", {
827
+ className: "py-2",
828
+ children: "Define UI rendering specifications"
829
+ }, undefined, false, undefined, this),
830
+ /* @__PURE__ */ jsxDEV3("td", {
831
+ className: "py-2",
832
+ children: /* @__PURE__ */ jsxDEV3("code", {
833
+ children: "definePresentation"
834
+ }, undefined, false, undefined, this)
835
+ }, undefined, false, undefined, this)
836
+ ]
837
+ }, undefined, true, undefined, this),
838
+ /* @__PURE__ */ jsxDEV3("tr", {
839
+ className: "border-b border-white/5",
840
+ children: [
841
+ /* @__PURE__ */ jsxDEV3("td", {
842
+ className: "py-2",
843
+ children: "Access control and rate limiting"
844
+ }, undefined, false, undefined, this),
845
+ /* @__PURE__ */ jsxDEV3("td", {
846
+ className: "py-2",
847
+ children: /* @__PURE__ */ jsxDEV3("code", {
848
+ children: "definePolicy"
849
+ }, undefined, false, undefined, this)
850
+ }, undefined, false, undefined, this)
851
+ ]
852
+ }, undefined, true, undefined, this),
853
+ /* @__PURE__ */ jsxDEV3("tr", {
854
+ children: [
855
+ /* @__PURE__ */ jsxDEV3("td", {
856
+ className: "py-2",
857
+ children: "Multi-step business processes"
858
+ }, undefined, false, undefined, this),
859
+ /* @__PURE__ */ jsxDEV3("td", {
860
+ className: "py-2",
861
+ children: /* @__PURE__ */ jsxDEV3("code", {
862
+ children: "defineWorkflow"
863
+ }, undefined, false, undefined, this)
864
+ }, undefined, false, undefined, this)
865
+ ]
866
+ }, undefined, true, undefined, this)
867
+ ]
868
+ }, undefined, true, undefined, this)
869
+ ]
870
+ }, undefined, true, undefined, this)
871
+ ]
872
+ }, undefined, true, undefined, this),
873
+ /* @__PURE__ */ jsxDEV3(StudioPrompt, {
874
+ title: "Want visual contract design?",
875
+ body: "Studio provides a visual editor for creating and managing contracts with team collaboration and version control."
876
+ }, undefined, false, undefined, this)
877
+ ]
878
+ }, undefined, true, undefined, this),
879
+ /* @__PURE__ */ jsxDEV3("div", {
880
+ className: "flex items-center gap-4 pt-4",
881
+ children: [
882
+ /* @__PURE__ */ jsxDEV3(Link3, {
883
+ href: "/docs/guides/nextjs-one-endpoint",
884
+ className: "btn-primary",
885
+ children: [
886
+ "Next: Add your first endpoint ",
887
+ /* @__PURE__ */ jsxDEV3(ChevronRight2, {
888
+ size: 16
889
+ }, undefined, false, undefined, this)
890
+ ]
891
+ }, undefined, true, undefined, this),
892
+ /* @__PURE__ */ jsxDEV3(Link3, {
893
+ href: "/docs/guides",
894
+ className: "btn-ghost",
895
+ children: "Back to guides"
896
+ }, undefined, false, undefined, this)
897
+ ]
898
+ }, undefined, true, undefined, this)
899
+ ]
900
+ }, undefined, true, undefined, this);
901
+ }
902
+
903
+ // src/components/docs/guides/GuideDocsPipelinePage.tsx
904
+ import { CodeBlock as CodeBlock3 } from "@contractspec/lib.design-system";
905
+ import Link4 from "@contractspec/lib.ui-link";
906
+ import { ChevronRight as ChevronRight3 } from "lucide-react";
907
+ import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
908
+ function GuideDocsPipelinePage() {
909
+ return /* @__PURE__ */ jsxDEV4("div", {
910
+ className: "space-y-8",
911
+ children: [
912
+ /* @__PURE__ */ jsxDEV4("div", {
913
+ className: "space-y-3",
914
+ children: [
915
+ /* @__PURE__ */ jsxDEV4("h1", {
916
+ className: "text-4xl font-bold",
917
+ children: "Build the docs pipeline"
918
+ }, undefined, false, undefined, this),
919
+ /* @__PURE__ */ jsxDEV4("p", {
920
+ className: "text-muted-foreground text-lg",
921
+ children: "Generate reference docs, chunk the index, and wire the docs pages the same way this repo does."
922
+ }, undefined, false, undefined, this)
923
+ ]
924
+ }, undefined, true, undefined, this),
925
+ /* @__PURE__ */ jsxDEV4("div", {
926
+ className: "card-subtle space-y-4 p-6",
927
+ children: [
928
+ /* @__PURE__ */ jsxDEV4("h2", {
929
+ className: "text-2xl font-bold",
930
+ children: "What you'll build"
931
+ }, undefined, false, undefined, this),
932
+ /* @__PURE__ */ jsxDEV4("ul", {
933
+ className: "text-muted-foreground space-y-2 text-sm",
934
+ children: [
935
+ /* @__PURE__ */ jsxDEV4("li", {
936
+ children: "Generated Markdown and a chunked index manifest."
937
+ }, undefined, false, undefined, this),
938
+ /* @__PURE__ */ jsxDEV4("li", {
939
+ children: "Reference routes powered by the docs loader."
940
+ }, undefined, false, undefined, this),
941
+ /* @__PURE__ */ jsxDEV4("li", {
942
+ children: "Versioned outputs you can publish per release."
943
+ }, undefined, false, undefined, this)
944
+ ]
945
+ }, undefined, true, undefined, this)
946
+ ]
947
+ }, undefined, true, undefined, this),
948
+ /* @__PURE__ */ jsxDEV4("div", {
949
+ className: "space-y-6",
950
+ children: [
951
+ /* @__PURE__ */ jsxDEV4("div", {
952
+ className: "space-y-3",
953
+ children: [
954
+ /* @__PURE__ */ jsxDEV4("h2", {
955
+ className: "text-2xl font-bold",
956
+ children: "1) Generate contract docs"
957
+ }, undefined, false, undefined, this),
958
+ /* @__PURE__ */ jsxDEV4(CodeBlock3, {
959
+ language: "bash",
960
+ filename: "generate-contract-docs",
961
+ code: `contractspec generate`
962
+ }, undefined, false, undefined, this),
963
+ /* @__PURE__ */ jsxDEV4("p", {
964
+ className: "text-muted-foreground text-sm",
965
+ children: [
966
+ "Expected output: Markdown in ",
967
+ /* @__PURE__ */ jsxDEV4("code", {
968
+ children: "generated/docs"
969
+ }, undefined, false, undefined, this),
970
+ "."
971
+ ]
972
+ }, undefined, true, undefined, this)
973
+ ]
974
+ }, undefined, true, undefined, this),
975
+ /* @__PURE__ */ jsxDEV4("div", {
976
+ className: "space-y-3",
977
+ children: [
978
+ /* @__PURE__ */ jsxDEV4("h2", {
979
+ className: "text-2xl font-bold",
980
+ children: "2) Build the docs index"
981
+ }, undefined, false, undefined, this),
982
+ /* @__PURE__ */ jsxDEV4(CodeBlock3, {
983
+ language: "bash",
984
+ filename: "docs-generate",
985
+ code: `bun docs:generate
986
+ # versioned output
987
+ bun docs:generate -- --version v1.0.0`
988
+ }, undefined, false, undefined, this),
989
+ /* @__PURE__ */ jsxDEV4("p", {
990
+ className: "text-muted-foreground text-sm",
991
+ children: [
992
+ "This writes ",
993
+ /* @__PURE__ */ jsxDEV4("code", {
994
+ children: "docs-index.manifest.json"
995
+ }, undefined, false, undefined, this),
996
+ " and chunked",
997
+ /* @__PURE__ */ jsxDEV4("code", {
998
+ children: "docs-index.*.json"
999
+ }, undefined, false, undefined, this),
1000
+ " files in the generated docs bundle."
1001
+ ]
1002
+ }, undefined, true, undefined, this)
1003
+ ]
1004
+ }, undefined, true, undefined, this),
1005
+ /* @__PURE__ */ jsxDEV4("div", {
1006
+ className: "space-y-3",
1007
+ children: [
1008
+ /* @__PURE__ */ jsxDEV4("h2", {
1009
+ className: "text-2xl font-bold",
1010
+ children: "3) Wire reference routes"
1011
+ }, undefined, false, undefined, this),
1012
+ /* @__PURE__ */ jsxDEV4(CodeBlock3, {
1013
+ language: "tsx",
1014
+ filename: "docs-reference-route",
1015
+ code: `import { notFound } from "next/navigation";
1016
+ import {
1017
+ DocsReferenceIndexPage,
1018
+ DocsReferencePage,
1019
+ getGeneratedDocById,
1020
+ listGeneratedDocs,
1021
+ } from "@contractspec/bundle.library";
1022
+
1023
+ export async function generateStaticParams() {
1024
+ const docs = await listGeneratedDocs();
1025
+ return docs.map((doc) => ({ slug: doc.id.split("/") }));
1026
+ }
1027
+
1028
+ export default async function Page({ params }: { params: { slug?: string[] } }) {
1029
+ const slug = params.slug?.join("/") ?? "";
1030
+ const doc = await getGeneratedDocById(slug);
1031
+ if (!doc) notFound();
1032
+ return <DocsReferencePage entry={doc.entry} content={doc.content} />;
1033
+ }`
1034
+ }, undefined, false, undefined, this),
1035
+ /* @__PURE__ */ jsxDEV4("p", {
1036
+ className: "text-muted-foreground text-sm",
1037
+ children: [
1038
+ "Use the index page on ",
1039
+ /* @__PURE__ */ jsxDEV4("code", {
1040
+ children: "/docs/reference"
1041
+ }, undefined, false, undefined, this),
1042
+ " to render the searchable list."
1043
+ ]
1044
+ }, undefined, true, undefined, this)
1045
+ ]
1046
+ }, undefined, true, undefined, this),
1047
+ /* @__PURE__ */ jsxDEV4("div", {
1048
+ className: "card-subtle space-y-3 p-6",
1049
+ children: [
1050
+ /* @__PURE__ */ jsxDEV4("h3", {
1051
+ className: "text-lg font-semibold",
1052
+ children: "Repo reference"
1053
+ }, undefined, false, undefined, this),
1054
+ /* @__PURE__ */ jsxDEV4("p", {
1055
+ className: "text-muted-foreground text-sm",
1056
+ children: [
1057
+ "This repo wires docs under",
1058
+ " ",
1059
+ /* @__PURE__ */ jsxDEV4("code", {
1060
+ children: "packages/apps/web-landing/src/app/docs/reference"
1061
+ }, undefined, false, undefined, this),
1062
+ "."
1063
+ ]
1064
+ }, undefined, true, undefined, this)
1065
+ ]
1066
+ }, undefined, true, undefined, this),
1067
+ /* @__PURE__ */ jsxDEV4(StudioPrompt, {
1068
+ title: "Need hosted docs releases?",
1069
+ body: "Studio can publish versioned docs bundles with approvals and audit trails."
1070
+ }, undefined, false, undefined, this)
1071
+ ]
1072
+ }, undefined, true, undefined, this),
1073
+ /* @__PURE__ */ jsxDEV4("div", {
1074
+ className: "flex items-center gap-4 pt-4",
1075
+ children: [
1076
+ /* @__PURE__ */ jsxDEV4(Link4, {
1077
+ href: "/docs/guides/ci-contract-diff-gating",
1078
+ className: "btn-primary",
1079
+ children: [
1080
+ "Next: CI gating ",
1081
+ /* @__PURE__ */ jsxDEV4(ChevronRight3, {
1082
+ size: 16
1083
+ }, undefined, false, undefined, this)
1084
+ ]
1085
+ }, undefined, true, undefined, this),
1086
+ /* @__PURE__ */ jsxDEV4(Link4, {
1087
+ href: "/docs/guides",
1088
+ className: "btn-ghost",
1089
+ children: "Back to guides"
1090
+ }, undefined, false, undefined, this)
1091
+ ]
1092
+ }, undefined, true, undefined, this)
1093
+ ]
1094
+ }, undefined, true, undefined, this);
1095
+ }
1096
+
1097
+ // src/components/docs/guides/GuideGenerateDocsClientsSchemasPage.tsx
1098
+ import { CodeBlock as CodeBlock4 } from "@contractspec/lib.design-system";
1099
+ import Link5 from "@contractspec/lib.ui-link";
1100
+ import { ChevronRight as ChevronRight4 } from "lucide-react";
1101
+ import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
1102
+ function GuideGenerateDocsClientsSchemasPage() {
1103
+ return /* @__PURE__ */ jsxDEV5("div", {
1104
+ className: "space-y-8",
1105
+ children: [
1106
+ /* @__PURE__ */ jsxDEV5("div", {
1107
+ className: "space-y-3",
1108
+ children: [
1109
+ /* @__PURE__ */ jsxDEV5("h1", {
1110
+ className: "text-4xl font-bold",
1111
+ children: "Generate docs + client schemas"
1112
+ }, undefined, false, undefined, this),
1113
+ /* @__PURE__ */ jsxDEV5("p", {
1114
+ className: "text-muted-foreground text-lg",
1115
+ children: "Generate docs and OpenAPI output from ContractSpec operations to power SDKs, docs sites, and tooling."
1116
+ }, undefined, false, undefined, this)
1117
+ ]
1118
+ }, undefined, true, undefined, this),
1119
+ /* @__PURE__ */ jsxDEV5("div", {
1120
+ className: "card-subtle space-y-4 p-6",
1121
+ children: [
1122
+ /* @__PURE__ */ jsxDEV5("h2", {
1123
+ className: "text-2xl font-bold",
1124
+ children: "What you'll build"
1125
+ }, undefined, false, undefined, this),
1126
+ /* @__PURE__ */ jsxDEV5("ul", {
1127
+ className: "text-muted-foreground space-y-2 text-sm",
1128
+ children: [
1129
+ /* @__PURE__ */ jsxDEV5("li", {
1130
+ children: "Export docs from your specs."
1131
+ }, undefined, false, undefined, this),
1132
+ /* @__PURE__ */ jsxDEV5("li", {
1133
+ children: "Emit OpenAPI 3.1 for client SDK generation."
1134
+ }, undefined, false, undefined, this),
1135
+ /* @__PURE__ */ jsxDEV5("li", {
1136
+ children: "Keep outputs deterministic with CI validation."
1137
+ }, undefined, false, undefined, this)
1138
+ ]
1139
+ }, undefined, true, undefined, this)
1140
+ ]
1141
+ }, undefined, true, undefined, this),
1142
+ /* @__PURE__ */ jsxDEV5("div", {
1143
+ className: "space-y-6",
1144
+ children: [
1145
+ /* @__PURE__ */ jsxDEV5("div", {
1146
+ className: "space-y-3",
1147
+ children: [
1148
+ /* @__PURE__ */ jsxDEV5("h2", {
1149
+ className: "text-2xl font-bold",
1150
+ children: "1) Generate docs"
1151
+ }, undefined, false, undefined, this),
1152
+ /* @__PURE__ */ jsxDEV5("p", {
1153
+ className: "text-muted-foreground text-sm",
1154
+ children: "Use the generator to emit docs from your contracts."
1155
+ }, undefined, false, undefined, this),
1156
+ /* @__PURE__ */ jsxDEV5(CodeBlock4, {
1157
+ language: "bash",
1158
+ filename: "generate-docs",
1159
+ code: `contractspec generate`
1160
+ }, undefined, false, undefined, this),
1161
+ /* @__PURE__ */ jsxDEV5("p", {
1162
+ className: "text-muted-foreground text-sm",
1163
+ children: [
1164
+ "Expected output: ",
1165
+ /* @__PURE__ */ jsxDEV5("code", {
1166
+ children: "Generate X doc files in generated/docs"
1167
+ }, undefined, false, undefined, this),
1168
+ "."
1169
+ ]
1170
+ }, undefined, true, undefined, this)
1171
+ ]
1172
+ }, undefined, true, undefined, this),
1173
+ /* @__PURE__ */ jsxDEV5("div", {
1174
+ className: "space-y-3",
1175
+ children: [
1176
+ /* @__PURE__ */ jsxDEV5("h2", {
1177
+ className: "text-2xl font-bold",
1178
+ children: "2) Export OpenAPI"
1179
+ }, undefined, false, undefined, this),
1180
+ /* @__PURE__ */ jsxDEV5("p", {
1181
+ className: "text-muted-foreground text-sm",
1182
+ children: "Export an OpenAPI document from your registry module."
1183
+ }, undefined, false, undefined, this),
1184
+ /* @__PURE__ */ jsxDEV5(CodeBlock4, {
1185
+ language: "bash",
1186
+ filename: "openapi-export",
1187
+ code: `contractspec openapi export --registry ./src/contracts/registry.ts --out ./generated/openapi.json`
1188
+ }, undefined, false, undefined, this),
1189
+ /* @__PURE__ */ jsxDEV5("p", {
1190
+ className: "text-muted-foreground text-sm",
1191
+ children: [
1192
+ "Expected output:",
1193
+ " ",
1194
+ /* @__PURE__ */ jsxDEV5("code", {
1195
+ children: "OpenAPI written to .../generated/openapi.json"
1196
+ }, undefined, false, undefined, this),
1197
+ "."
1198
+ ]
1199
+ }, undefined, true, undefined, this)
1200
+ ]
1201
+ }, undefined, true, undefined, this),
1202
+ /* @__PURE__ */ jsxDEV5("div", {
1203
+ className: "space-y-3",
1204
+ children: [
1205
+ /* @__PURE__ */ jsxDEV5("h2", {
1206
+ className: "text-2xl font-bold",
1207
+ children: "3) Validate specs"
1208
+ }, undefined, false, undefined, this),
1209
+ /* @__PURE__ */ jsxDEV5(CodeBlock4, {
1210
+ language: "bash",
1211
+ filename: "validate-specs",
1212
+ code: `contractspec validate`
1213
+ }, undefined, false, undefined, this),
1214
+ /* @__PURE__ */ jsxDEV5("p", {
1215
+ className: "text-muted-foreground text-sm",
1216
+ children: [
1217
+ "Expected output: ",
1218
+ /* @__PURE__ */ jsxDEV5("code", {
1219
+ children: "Validation passed"
1220
+ }, undefined, false, undefined, this),
1221
+ "."
1222
+ ]
1223
+ }, undefined, true, undefined, this)
1224
+ ]
1225
+ }, undefined, true, undefined, this),
1226
+ /* @__PURE__ */ jsxDEV5("div", {
1227
+ className: "card-subtle space-y-3 p-6",
1228
+ children: [
1229
+ /* @__PURE__ */ jsxDEV5("h3", {
1230
+ className: "text-lg font-semibold",
1231
+ children: "Example package"
1232
+ }, undefined, false, undefined, this),
1233
+ /* @__PURE__ */ jsxDEV5("p", {
1234
+ className: "text-muted-foreground text-sm",
1235
+ children: "The Integration Hub example provides a full registry of operations and is a good source for OpenAPI exports."
1236
+ }, undefined, false, undefined, this),
1237
+ /* @__PURE__ */ jsxDEV5(CodeBlock4, {
1238
+ language: "bash",
1239
+ filename: "integration-hub-example",
1240
+ code: `contractspec examples show integration-hub
1241
+
1242
+ # openapi export against your registry module
1243
+ contractspec openapi export --registry ./src/contracts/registry.ts --out ./generated/openapi.json`
1244
+ }, undefined, false, undefined, this)
1245
+ ]
1246
+ }, undefined, true, undefined, this),
1247
+ /* @__PURE__ */ jsxDEV5(StudioPrompt, {
1248
+ title: "Want managed schema releases?",
1249
+ body: "Studio can publish OpenAPI, SDKs, and release notes automatically with approvals."
1250
+ }, undefined, false, undefined, this)
1251
+ ]
1252
+ }, undefined, true, undefined, this),
1253
+ /* @__PURE__ */ jsxDEV5("div", {
1254
+ className: "flex items-center gap-4 pt-4",
1255
+ children: [
1256
+ /* @__PURE__ */ jsxDEV5(Link5, {
1257
+ href: "/docs/guides/docs-generation-pipeline",
1258
+ className: "btn-primary",
1259
+ children: [
1260
+ "Next: Docs pipeline ",
1261
+ /* @__PURE__ */ jsxDEV5(ChevronRight4, {
1262
+ size: 16
1263
+ }, undefined, false, undefined, this)
1264
+ ]
1265
+ }, undefined, true, undefined, this),
1266
+ /* @__PURE__ */ jsxDEV5(Link5, {
1267
+ href: "/docs/guides",
1268
+ className: "btn-ghost",
1269
+ children: "Back to guides"
1270
+ }, undefined, false, undefined, this)
1271
+ ]
1272
+ }, undefined, true, undefined, this)
1273
+ ]
1274
+ }, undefined, true, undefined, this);
1275
+ }
1276
+
1277
+ // src/components/docs/guides/GuideImportExistingCodebasesPage.tsx
1278
+ import { CodeBlock as CodeBlock5 } from "@contractspec/lib.design-system";
1279
+ import Link6 from "@contractspec/lib.ui-link";
1280
+ import {
1281
+ ChevronRight as ChevronRight5,
1282
+ FileCode,
1283
+ Scan,
1284
+ Settings,
1285
+ AlertCircle
1286
+ } from "lucide-react";
1287
+ import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
1288
+ var supportedFrameworks = [
1289
+ {
1290
+ name: "NestJS",
1291
+ flag: "nestjs",
1292
+ description: "Controllers, decorators, DTOs"
1293
+ },
1294
+ {
1295
+ name: "Express",
1296
+ flag: "express",
1297
+ description: "Router methods, middleware"
1298
+ },
1299
+ {
1300
+ name: "Fastify",
1301
+ flag: "fastify",
1302
+ description: "Route definitions, schemas"
1303
+ },
1304
+ {
1305
+ name: "Hono",
1306
+ flag: "hono",
1307
+ description: "Route handlers, validators"
1308
+ },
1309
+ {
1310
+ name: "Elysia",
1311
+ flag: "elysia",
1312
+ description: "Type-safe routes, schemas"
1313
+ },
1314
+ {
1315
+ name: "tRPC",
1316
+ flag: "trpc",
1317
+ description: "Procedure definitions"
1318
+ },
1319
+ {
1320
+ name: "Next.js",
1321
+ flag: "next-api",
1322
+ description: "API routes (app/api, pages/api)"
1323
+ }
1324
+ ];
1325
+ function GuideImportExistingCodebasesPage() {
1326
+ return /* @__PURE__ */ jsxDEV6("div", {
1327
+ className: "space-y-8",
1328
+ children: [
1329
+ /* @__PURE__ */ jsxDEV6("div", {
1330
+ className: "space-y-3",
1331
+ children: [
1332
+ /* @__PURE__ */ jsxDEV6("h1", {
1333
+ className: "text-4xl font-bold",
1334
+ children: "Import Existing Codebases"
1335
+ }, undefined, false, undefined, this),
1336
+ /* @__PURE__ */ jsxDEV6("p", {
1337
+ className: "text-muted-foreground text-lg",
1338
+ children: "Convert your existing API endpoints into ContractSpec contracts. Auto-detect frameworks, extract schemas, and generate spec-first definitions from your code."
1339
+ }, undefined, false, undefined, this)
1340
+ ]
1341
+ }, undefined, true, undefined, this),
1342
+ /* @__PURE__ */ jsxDEV6("div", {
1343
+ className: "card-subtle space-y-4 p-6",
1344
+ children: [
1345
+ /* @__PURE__ */ jsxDEV6("h2", {
1346
+ className: "text-2xl font-bold",
1347
+ children: "What you'll learn"
1348
+ }, undefined, false, undefined, this),
1349
+ /* @__PURE__ */ jsxDEV6("ul", {
1350
+ className: "text-muted-foreground space-y-2 text-sm",
1351
+ children: [
1352
+ /* @__PURE__ */ jsxDEV6("li", {
1353
+ children: "How to import existing API endpoints as ContractSpec contracts."
1354
+ }, undefined, false, undefined, this),
1355
+ /* @__PURE__ */ jsxDEV6("li", {
1356
+ children: "Framework-specific patterns and auto-detection."
1357
+ }, undefined, false, undefined, this),
1358
+ /* @__PURE__ */ jsxDEV6("li", {
1359
+ children: "Customizing imports with scopes, dry-run, and output options."
1360
+ }, undefined, false, undefined, this),
1361
+ /* @__PURE__ */ jsxDEV6("li", {
1362
+ children: "Registering imported contracts and adding handlers."
1363
+ }, undefined, false, undefined, this)
1364
+ ]
1365
+ }, undefined, true, undefined, this)
1366
+ ]
1367
+ }, undefined, true, undefined, this),
1368
+ /* @__PURE__ */ jsxDEV6("div", {
1369
+ className: "space-y-6",
1370
+ children: [
1371
+ /* @__PURE__ */ jsxDEV6("div", {
1372
+ className: "space-y-3",
1373
+ children: [
1374
+ /* @__PURE__ */ jsxDEV6("h2", {
1375
+ className: "text-2xl font-bold",
1376
+ children: "Why import existing code?"
1377
+ }, undefined, false, undefined, this),
1378
+ /* @__PURE__ */ jsxDEV6("p", {
1379
+ className: "text-muted-foreground text-sm",
1380
+ children: "Instead of writing contracts from scratch, the import command extracts endpoint patterns from your existing codebase. This gives you:"
1381
+ }, undefined, false, undefined, this),
1382
+ /* @__PURE__ */ jsxDEV6("ul", {
1383
+ className: "text-muted-foreground list-disc space-y-1 pl-5 text-sm",
1384
+ children: [
1385
+ /* @__PURE__ */ jsxDEV6("li", {
1386
+ children: "Instant spec coverage for existing APIs"
1387
+ }, undefined, false, undefined, this),
1388
+ /* @__PURE__ */ jsxDEV6("li", {
1389
+ children: "Type-safe schemas derived from your existing types"
1390
+ }, undefined, false, undefined, this),
1391
+ /* @__PURE__ */ jsxDEV6("li", {
1392
+ children: "A foundation to iterate and refine contracts"
1393
+ }, undefined, false, undefined, this),
1394
+ /* @__PURE__ */ jsxDEV6("li", {
1395
+ children: "Gradual adoption without rewriting code"
1396
+ }, undefined, false, undefined, this)
1397
+ ]
1398
+ }, undefined, true, undefined, this)
1399
+ ]
1400
+ }, undefined, true, undefined, this),
1401
+ /* @__PURE__ */ jsxDEV6("div", {
1402
+ className: "space-y-3",
1403
+ children: [
1404
+ /* @__PURE__ */ jsxDEV6("h2", {
1405
+ className: "text-2xl font-bold",
1406
+ children: "Supported frameworks"
1407
+ }, undefined, false, undefined, this),
1408
+ /* @__PURE__ */ jsxDEV6("div", {
1409
+ className: "grid gap-3 md:grid-cols-2 lg:grid-cols-3",
1410
+ children: supportedFrameworks.map((fw) => /* @__PURE__ */ jsxDEV6("div", {
1411
+ className: "flex items-start gap-3 rounded-lg border border-white/10 p-4",
1412
+ children: [
1413
+ /* @__PURE__ */ jsxDEV6(FileCode, {
1414
+ className: "text-violet-400",
1415
+ size: 18
1416
+ }, undefined, false, undefined, this),
1417
+ /* @__PURE__ */ jsxDEV6("div", {
1418
+ className: "space-y-1",
1419
+ children: [
1420
+ /* @__PURE__ */ jsxDEV6("h3", {
1421
+ className: "font-semibold",
1422
+ children: fw.name
1423
+ }, undefined, false, undefined, this),
1424
+ /* @__PURE__ */ jsxDEV6("p", {
1425
+ className: "text-muted-foreground text-xs",
1426
+ children: fw.description
1427
+ }, undefined, false, undefined, this),
1428
+ /* @__PURE__ */ jsxDEV6("code", {
1429
+ className: "text-xs text-violet-400",
1430
+ children: [
1431
+ "--framework ",
1432
+ fw.flag
1433
+ ]
1434
+ }, undefined, true, undefined, this)
1435
+ ]
1436
+ }, undefined, true, undefined, this)
1437
+ ]
1438
+ }, fw.flag, true, undefined, this))
1439
+ }, undefined, false, undefined, this)
1440
+ ]
1441
+ }, undefined, true, undefined, this),
1442
+ /* @__PURE__ */ jsxDEV6("div", {
1443
+ className: "space-y-3",
1444
+ children: [
1445
+ /* @__PURE__ */ jsxDEV6("h2", {
1446
+ className: "text-2xl font-bold",
1447
+ children: "1) Quick start"
1448
+ }, undefined, false, undefined, this),
1449
+ /* @__PURE__ */ jsxDEV6("p", {
1450
+ className: "text-muted-foreground text-sm",
1451
+ children: "Run the import command to auto-detect your framework and extract endpoints:"
1452
+ }, undefined, false, undefined, this),
1453
+ /* @__PURE__ */ jsxDEV6(CodeBlock5, {
1454
+ language: "bash",
1455
+ filename: "import-quickstart",
1456
+ code: `# Auto-detect framework and import all endpoints
1457
+ contractspec import ./src
1458
+
1459
+ # Preview what would be imported (dry-run)
1460
+ contractspec import ./src --dry-run
1461
+
1462
+ # Force a specific framework
1463
+ contractspec import ./src --framework nestjs`
1464
+ }, undefined, false, undefined, this),
1465
+ /* @__PURE__ */ jsxDEV6("p", {
1466
+ className: "text-muted-foreground text-sm",
1467
+ children: "Expected output: A summary of endpoints found, schemas extracted, and files generated."
1468
+ }, undefined, false, undefined, this)
1469
+ ]
1470
+ }, undefined, true, undefined, this),
1471
+ /* @__PURE__ */ jsxDEV6("div", {
1472
+ className: "space-y-3",
1473
+ children: [
1474
+ /* @__PURE__ */ jsxDEV6("h2", {
1475
+ className: "text-2xl font-bold",
1476
+ children: "2) Framework-specific patterns"
1477
+ }, undefined, false, undefined, this),
1478
+ /* @__PURE__ */ jsxDEV6("p", {
1479
+ className: "text-muted-foreground text-sm",
1480
+ children: "The import command recognizes these patterns in each framework:"
1481
+ }, undefined, false, undefined, this)
1482
+ ]
1483
+ }, undefined, true, undefined, this),
1484
+ /* @__PURE__ */ jsxDEV6("div", {
1485
+ className: "space-y-3",
1486
+ children: [
1487
+ /* @__PURE__ */ jsxDEV6("h3", {
1488
+ className: "flex items-center gap-2 text-xl font-semibold",
1489
+ children: [
1490
+ /* @__PURE__ */ jsxDEV6(Scan, {
1491
+ size: 18,
1492
+ className: "text-blue-400"
1493
+ }, undefined, false, undefined, this),
1494
+ "NestJS"
1495
+ ]
1496
+ }, undefined, true, undefined, this),
1497
+ /* @__PURE__ */ jsxDEV6(CodeBlock5, {
1498
+ language: "typescript",
1499
+ filename: "src/users/users.controller.ts (before)",
1500
+ code: `@Controller('users')
1501
+ export class UsersController {
1502
+ @Get(':id')
1503
+ async getUser(@Param('id') id: string): Promise<UserDto> {
1504
+ return this.usersService.findOne(id);
1505
+ }
1506
+
1507
+ @Post()
1508
+ @UseGuards(AuthGuard)
1509
+ async createUser(@Body() dto: CreateUserDto): Promise<UserDto> {
1510
+ return this.usersService.create(dto);
1511
+ }
1512
+ }`
1513
+ }, undefined, false, undefined, this),
1514
+ /* @__PURE__ */ jsxDEV6("p", {
1515
+ className: "text-muted-foreground text-sm",
1516
+ children: [
1517
+ "Detected: ",
1518
+ /* @__PURE__ */ jsxDEV6("code", {
1519
+ children: "@Controller"
1520
+ }, undefined, false, undefined, this),
1521
+ ", ",
1522
+ /* @__PURE__ */ jsxDEV6("code", {
1523
+ children: "@Get"
1524
+ }, undefined, false, undefined, this),
1525
+ ",",
1526
+ " ",
1527
+ /* @__PURE__ */ jsxDEV6("code", {
1528
+ children: "@Post"
1529
+ }, undefined, false, undefined, this),
1530
+ ", ",
1531
+ /* @__PURE__ */ jsxDEV6("code", {
1532
+ children: "@Body"
1533
+ }, undefined, false, undefined, this),
1534
+ ", ",
1535
+ /* @__PURE__ */ jsxDEV6("code", {
1536
+ children: "@Param"
1537
+ }, undefined, false, undefined, this),
1538
+ ",",
1539
+ " ",
1540
+ /* @__PURE__ */ jsxDEV6("code", {
1541
+ children: "@UseGuards"
1542
+ }, undefined, false, undefined, this),
1543
+ " decorators."
1544
+ ]
1545
+ }, undefined, true, undefined, this)
1546
+ ]
1547
+ }, undefined, true, undefined, this),
1548
+ /* @__PURE__ */ jsxDEV6("div", {
1549
+ className: "space-y-3",
1550
+ children: [
1551
+ /* @__PURE__ */ jsxDEV6("h3", {
1552
+ className: "flex items-center gap-2 text-xl font-semibold",
1553
+ children: [
1554
+ /* @__PURE__ */ jsxDEV6(Scan, {
1555
+ size: 18,
1556
+ className: "text-green-400"
1557
+ }, undefined, false, undefined, this),
1558
+ "Express"
1559
+ ]
1560
+ }, undefined, true, undefined, this),
1561
+ /* @__PURE__ */ jsxDEV6(CodeBlock5, {
1562
+ language: "typescript",
1563
+ filename: "src/routes/users.ts (before)",
1564
+ code: `const router = express.Router();
1565
+
1566
+ router.get('/users/:id', async (req, res) => {
1567
+ const user = await getUserById(req.params.id);
1568
+ res.json(user);
1569
+ });
1570
+
1571
+ router.post('/users', validateBody(CreateUserSchema), async (req, res) => {
1572
+ const user = await createUser(req.body);
1573
+ res.status(201).json(user);
1574
+ });`
1575
+ }, undefined, false, undefined, this),
1576
+ /* @__PURE__ */ jsxDEV6("p", {
1577
+ className: "text-muted-foreground text-sm",
1578
+ children: [
1579
+ "Detected: ",
1580
+ /* @__PURE__ */ jsxDEV6("code", {
1581
+ children: "router.get"
1582
+ }, undefined, false, undefined, this),
1583
+ ", ",
1584
+ /* @__PURE__ */ jsxDEV6("code", {
1585
+ children: "router.post"
1586
+ }, undefined, false, undefined, this),
1587
+ ", validation middleware, Zod schemas."
1588
+ ]
1589
+ }, undefined, true, undefined, this)
1590
+ ]
1591
+ }, undefined, true, undefined, this),
1592
+ /* @__PURE__ */ jsxDEV6("div", {
1593
+ className: "space-y-3",
1594
+ children: [
1595
+ /* @__PURE__ */ jsxDEV6("h3", {
1596
+ className: "flex items-center gap-2 text-xl font-semibold",
1597
+ children: [
1598
+ /* @__PURE__ */ jsxDEV6(Scan, {
1599
+ size: 18,
1600
+ className: "text-purple-400"
1601
+ }, undefined, false, undefined, this),
1602
+ "Next.js API Routes"
1603
+ ]
1604
+ }, undefined, true, undefined, this),
1605
+ /* @__PURE__ */ jsxDEV6(CodeBlock5, {
1606
+ language: "typescript",
1607
+ filename: "app/api/users/[id]/route.ts (before)",
1608
+ code: `export async function GET(
1609
+ request: Request,
1610
+ { params }: { params: { id: string } }
1611
+ ) {
1612
+ const user = await getUserById(params.id);
1613
+ return Response.json(user);
1614
+ }
1615
+
1616
+ export async function POST(request: Request) {
1617
+ const body = await request.json();
1618
+ const user = await createUser(body);
1619
+ return Response.json(user, { status: 201 });
1620
+ }`
1621
+ }, undefined, false, undefined, this),
1622
+ /* @__PURE__ */ jsxDEV6("p", {
1623
+ className: "text-muted-foreground text-sm",
1624
+ children: [
1625
+ "Detected: ",
1626
+ /* @__PURE__ */ jsxDEV6("code", {
1627
+ children: "GET"
1628
+ }, undefined, false, undefined, this),
1629
+ ", ",
1630
+ /* @__PURE__ */ jsxDEV6("code", {
1631
+ children: "POST"
1632
+ }, undefined, false, undefined, this),
1633
+ " exports in",
1634
+ " ",
1635
+ /* @__PURE__ */ jsxDEV6("code", {
1636
+ children: "app/api/**/route.ts"
1637
+ }, undefined, false, undefined, this),
1638
+ " and ",
1639
+ /* @__PURE__ */ jsxDEV6("code", {
1640
+ children: "pages/api/**/*.ts"
1641
+ }, undefined, false, undefined, this),
1642
+ "."
1643
+ ]
1644
+ }, undefined, true, undefined, this)
1645
+ ]
1646
+ }, undefined, true, undefined, this),
1647
+ /* @__PURE__ */ jsxDEV6("div", {
1648
+ className: "space-y-3",
1649
+ children: [
1650
+ /* @__PURE__ */ jsxDEV6("h2", {
1651
+ className: "text-2xl font-bold",
1652
+ children: "3) Understanding generated contracts"
1653
+ }, undefined, false, undefined, this),
1654
+ /* @__PURE__ */ jsxDEV6("p", {
1655
+ className: "text-muted-foreground text-sm",
1656
+ children: "The import command generates ContractSpec operations with TODO placeholders for fields it cannot infer:"
1657
+ }, undefined, false, undefined, this),
1658
+ /* @__PURE__ */ jsxDEV6(CodeBlock5, {
1659
+ language: "typescript",
1660
+ filename: ".contractspec/generated/users.operation.ts",
1661
+ code: `import { defineQuery, defineCommand } from "@contractspec/lib.contracts";
1662
+ import { SchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
1663
+
1664
+ export const GetUserQuery = defineQuery({
1665
+ meta: {
1666
+ key: "users.get",
1667
+ version: "1.0.0",
1668
+ description: "TODO: Add description",
1669
+ stability: "draft",
1670
+ owners: ["TODO"],
1671
+ tags: ["users"],
1672
+ },
1673
+ io: {
1674
+ input: new SchemaModel({
1675
+ name: "GetUserInput",
1676
+ fields: {
1677
+ id: { type: ScalarTypeEnum.String(), isOptional: false },
1678
+ },
1679
+ }),
1680
+ output: new SchemaModel({
1681
+ name: "GetUserOutput",
1682
+ fields: {
1683
+ // TODO: Add output fields based on your UserDto
1684
+ id: { type: ScalarTypeEnum.String(), isOptional: false },
1685
+ },
1686
+ }),
1687
+ },
1688
+ policy: { auth: "user" }, // Inferred from @UseGuards
1689
+ transport: {
1690
+ rest: { method: "GET", path: "/users/:id" },
1691
+ },
1692
+ });
1693
+
1694
+ export const CreateUserCommand = defineCommand({
1695
+ meta: {
1696
+ key: "users.create",
1697
+ version: "1.0.0",
1698
+ description: "TODO: Add description",
1699
+ stability: "draft",
1700
+ owners: ["TODO"],
1701
+ tags: ["users"],
1702
+ },
1703
+ io: {
1704
+ input: new SchemaModel({
1705
+ name: "CreateUserInput",
1706
+ fields: {
1707
+ // TODO: Add fields from CreateUserDto
1708
+ },
1709
+ }),
1710
+ output: new SchemaModel({
1711
+ name: "CreateUserOutput",
1712
+ fields: {
1713
+ id: { type: ScalarTypeEnum.String(), isOptional: false },
1714
+ },
1715
+ }),
1716
+ },
1717
+ policy: { auth: "admin" },
1718
+ transport: {
1719
+ rest: { method: "POST", path: "/users" },
1720
+ },
1721
+ });`
1722
+ }, undefined, false, undefined, this)
1723
+ ]
1724
+ }, undefined, true, undefined, this),
1725
+ /* @__PURE__ */ jsxDEV6("div", {
1726
+ className: "space-y-3",
1727
+ children: [
1728
+ /* @__PURE__ */ jsxDEV6("h2", {
1729
+ className: "text-2xl font-bold",
1730
+ children: "4) Customizing imports"
1731
+ }, undefined, false, undefined, this),
1732
+ /* @__PURE__ */ jsxDEV6("div", {
1733
+ className: "flex items-center gap-2",
1734
+ children: [
1735
+ /* @__PURE__ */ jsxDEV6(Settings, {
1736
+ size: 18,
1737
+ className: "text-violet-400"
1738
+ }, undefined, false, undefined, this),
1739
+ /* @__PURE__ */ jsxDEV6("h3", {
1740
+ className: "text-lg font-semibold",
1741
+ children: "Available options"
1742
+ }, undefined, false, undefined, this)
1743
+ ]
1744
+ }, undefined, true, undefined, this),
1745
+ /* @__PURE__ */ jsxDEV6("div", {
1746
+ className: "overflow-x-auto",
1747
+ children: /* @__PURE__ */ jsxDEV6("table", {
1748
+ className: "w-full text-sm",
1749
+ children: [
1750
+ /* @__PURE__ */ jsxDEV6("thead", {
1751
+ children: /* @__PURE__ */ jsxDEV6("tr", {
1752
+ className: "border-b border-white/10",
1753
+ children: [
1754
+ /* @__PURE__ */ jsxDEV6("th", {
1755
+ className: "py-2 pr-4 text-left",
1756
+ children: "Option"
1757
+ }, undefined, false, undefined, this),
1758
+ /* @__PURE__ */ jsxDEV6("th", {
1759
+ className: "py-2 pr-4 text-left",
1760
+ children: "Description"
1761
+ }, undefined, false, undefined, this),
1762
+ /* @__PURE__ */ jsxDEV6("th", {
1763
+ className: "py-2 text-left",
1764
+ children: "Example"
1765
+ }, undefined, false, undefined, this)
1766
+ ]
1767
+ }, undefined, true, undefined, this)
1768
+ }, undefined, false, undefined, this),
1769
+ /* @__PURE__ */ jsxDEV6("tbody", {
1770
+ className: "text-muted-foreground",
1771
+ children: [
1772
+ /* @__PURE__ */ jsxDEV6("tr", {
1773
+ className: "border-b border-white/5",
1774
+ children: [
1775
+ /* @__PURE__ */ jsxDEV6("td", {
1776
+ className: "py-2 pr-4",
1777
+ children: /* @__PURE__ */ jsxDEV6("code", {
1778
+ children: "--scope"
1779
+ }, undefined, false, undefined, this)
1780
+ }, undefined, false, undefined, this),
1781
+ /* @__PURE__ */ jsxDEV6("td", {
1782
+ className: "py-2 pr-4",
1783
+ children: "Limit to specific directories"
1784
+ }, undefined, false, undefined, this),
1785
+ /* @__PURE__ */ jsxDEV6("td", {
1786
+ className: "py-2",
1787
+ children: /* @__PURE__ */ jsxDEV6("code", {
1788
+ children: "--scope src/users src/auth"
1789
+ }, undefined, false, undefined, this)
1790
+ }, undefined, false, undefined, this)
1791
+ ]
1792
+ }, undefined, true, undefined, this),
1793
+ /* @__PURE__ */ jsxDEV6("tr", {
1794
+ className: "border-b border-white/5",
1795
+ children: [
1796
+ /* @__PURE__ */ jsxDEV6("td", {
1797
+ className: "py-2 pr-4",
1798
+ children: /* @__PURE__ */ jsxDEV6("code", {
1799
+ children: "--framework"
1800
+ }, undefined, false, undefined, this)
1801
+ }, undefined, false, undefined, this),
1802
+ /* @__PURE__ */ jsxDEV6("td", {
1803
+ className: "py-2 pr-4",
1804
+ children: "Force a specific framework"
1805
+ }, undefined, false, undefined, this),
1806
+ /* @__PURE__ */ jsxDEV6("td", {
1807
+ className: "py-2",
1808
+ children: /* @__PURE__ */ jsxDEV6("code", {
1809
+ children: "--framework express"
1810
+ }, undefined, false, undefined, this)
1811
+ }, undefined, false, undefined, this)
1812
+ ]
1813
+ }, undefined, true, undefined, this),
1814
+ /* @__PURE__ */ jsxDEV6("tr", {
1815
+ className: "border-b border-white/5",
1816
+ children: [
1817
+ /* @__PURE__ */ jsxDEV6("td", {
1818
+ className: "py-2 pr-4",
1819
+ children: /* @__PURE__ */ jsxDEV6("code", {
1820
+ children: "--output"
1821
+ }, undefined, false, undefined, this)
1822
+ }, undefined, false, undefined, this),
1823
+ /* @__PURE__ */ jsxDEV6("td", {
1824
+ className: "py-2 pr-4",
1825
+ children: "Output directory"
1826
+ }, undefined, false, undefined, this),
1827
+ /* @__PURE__ */ jsxDEV6("td", {
1828
+ className: "py-2",
1829
+ children: /* @__PURE__ */ jsxDEV6("code", {
1830
+ children: "--output ./contracts"
1831
+ }, undefined, false, undefined, this)
1832
+ }, undefined, false, undefined, this)
1833
+ ]
1834
+ }, undefined, true, undefined, this),
1835
+ /* @__PURE__ */ jsxDEV6("tr", {
1836
+ className: "border-b border-white/5",
1837
+ children: [
1838
+ /* @__PURE__ */ jsxDEV6("td", {
1839
+ className: "py-2 pr-4",
1840
+ children: /* @__PURE__ */ jsxDEV6("code", {
1841
+ children: "--dry-run"
1842
+ }, undefined, false, undefined, this)
1843
+ }, undefined, false, undefined, this),
1844
+ /* @__PURE__ */ jsxDEV6("td", {
1845
+ className: "py-2 pr-4",
1846
+ children: "Preview without writing files"
1847
+ }, undefined, false, undefined, this),
1848
+ /* @__PURE__ */ jsxDEV6("td", {
1849
+ className: "py-2",
1850
+ children: /* @__PURE__ */ jsxDEV6("code", {
1851
+ children: "--dry-run"
1852
+ }, undefined, false, undefined, this)
1853
+ }, undefined, false, undefined, this)
1854
+ ]
1855
+ }, undefined, true, undefined, this),
1856
+ /* @__PURE__ */ jsxDEV6("tr", {
1857
+ className: "border-b border-white/5",
1858
+ children: [
1859
+ /* @__PURE__ */ jsxDEV6("td", {
1860
+ className: "py-2 pr-4",
1861
+ children: /* @__PURE__ */ jsxDEV6("code", {
1862
+ children: "--analyze"
1863
+ }, undefined, false, undefined, this)
1864
+ }, undefined, false, undefined, this),
1865
+ /* @__PURE__ */ jsxDEV6("td", {
1866
+ className: "py-2 pr-4",
1867
+ children: "Analysis only, no code generation"
1868
+ }, undefined, false, undefined, this),
1869
+ /* @__PURE__ */ jsxDEV6("td", {
1870
+ className: "py-2",
1871
+ children: /* @__PURE__ */ jsxDEV6("code", {
1872
+ children: "--analyze"
1873
+ }, undefined, false, undefined, this)
1874
+ }, undefined, false, undefined, this)
1875
+ ]
1876
+ }, undefined, true, undefined, this),
1877
+ /* @__PURE__ */ jsxDEV6("tr", {
1878
+ children: [
1879
+ /* @__PURE__ */ jsxDEV6("td", {
1880
+ className: "py-2 pr-4",
1881
+ children: /* @__PURE__ */ jsxDEV6("code", {
1882
+ children: "--json"
1883
+ }, undefined, false, undefined, this)
1884
+ }, undefined, false, undefined, this),
1885
+ /* @__PURE__ */ jsxDEV6("td", {
1886
+ className: "py-2 pr-4",
1887
+ children: "Output as JSON for scripting"
1888
+ }, undefined, false, undefined, this),
1889
+ /* @__PURE__ */ jsxDEV6("td", {
1890
+ className: "py-2",
1891
+ children: /* @__PURE__ */ jsxDEV6("code", {
1892
+ children: "--json"
1893
+ }, undefined, false, undefined, this)
1894
+ }, undefined, false, undefined, this)
1895
+ ]
1896
+ }, undefined, true, undefined, this)
1897
+ ]
1898
+ }, undefined, true, undefined, this)
1899
+ ]
1900
+ }, undefined, true, undefined, this)
1901
+ }, undefined, false, undefined, this),
1902
+ /* @__PURE__ */ jsxDEV6(CodeBlock5, {
1903
+ language: "bash",
1904
+ filename: "import-options",
1905
+ code: `# Import only specific modules
1906
+ contractspec import ./src --scope src/users src/orders
1907
+
1908
+ # Preview with analysis
1909
+ contractspec import ./src --dry-run --analyze
1910
+
1911
+ # Output to custom directory
1912
+ contractspec import ./src --output ./src/contracts/generated
1913
+
1914
+ # Get JSON for CI/scripting
1915
+ contractspec import ./src --json > import-result.json`
1916
+ }, undefined, false, undefined, this)
1917
+ ]
1918
+ }, undefined, true, undefined, this),
1919
+ /* @__PURE__ */ jsxDEV6("div", {
1920
+ className: "space-y-3",
1921
+ children: [
1922
+ /* @__PURE__ */ jsxDEV6("h2", {
1923
+ className: "text-2xl font-bold",
1924
+ children: "5) Registering imported contracts"
1925
+ }, undefined, false, undefined, this),
1926
+ /* @__PURE__ */ jsxDEV6("p", {
1927
+ className: "text-muted-foreground text-sm",
1928
+ children: "After import, register contracts and add handlers:"
1929
+ }, undefined, false, undefined, this),
1930
+ /* @__PURE__ */ jsxDEV6(CodeBlock5, {
1931
+ language: "typescript",
1932
+ filename: "src/contracts/registry.ts",
1933
+ code: `import {
1934
+ OperationSpecRegistry,
1935
+ installOp,
1936
+ } from "@contractspec/lib.contracts/operations";
1937
+ import {
1938
+ GetUserQuery,
1939
+ CreateUserCommand,
1940
+ } from "./.contractspec/generated/users.operation";
1941
+
1942
+ export const registry = new OperationSpecRegistry();
1943
+
1944
+ // Add handlers to imported operations
1945
+ installOp(registry, GetUserQuery, async (input) => {
1946
+ const user = await db.user.findUnique({ where: { id: input.id } });
1947
+ return user;
1948
+ });
1949
+
1950
+ installOp(registry, CreateUserCommand, async (input) => {
1951
+ const user = await db.user.create({ data: input });
1952
+ return { id: user.id };
1953
+ });`
1954
+ }, undefined, false, undefined, this)
1955
+ ]
1956
+ }, undefined, true, undefined, this),
1957
+ /* @__PURE__ */ jsxDEV6("div", {
1958
+ className: "space-y-3",
1959
+ children: [
1960
+ /* @__PURE__ */ jsxDEV6("h2", {
1961
+ className: "text-2xl font-bold",
1962
+ children: "6) After importing"
1963
+ }, undefined, false, undefined, this),
1964
+ /* @__PURE__ */ jsxDEV6("ol", {
1965
+ className: "text-muted-foreground list-decimal space-y-2 pl-5 text-sm",
1966
+ children: [
1967
+ /* @__PURE__ */ jsxDEV6("li", {
1968
+ children: [
1969
+ /* @__PURE__ */ jsxDEV6("strong", {
1970
+ children: "Review generated contracts"
1971
+ }, undefined, false, undefined, this),
1972
+ " — Check the TODO placeholders and fill in descriptions, owners, and tags."
1973
+ ]
1974
+ }, undefined, true, undefined, this),
1975
+ /* @__PURE__ */ jsxDEV6("li", {
1976
+ children: [
1977
+ /* @__PURE__ */ jsxDEV6("strong", {
1978
+ children: "Refine schemas"
1979
+ }, undefined, false, undefined, this),
1980
+ " — Add proper types, validation rules, and error definitions."
1981
+ ]
1982
+ }, undefined, true, undefined, this),
1983
+ /* @__PURE__ */ jsxDEV6("li", {
1984
+ children: [
1985
+ /* @__PURE__ */ jsxDEV6("strong", {
1986
+ children: "Run validation"
1987
+ }, undefined, false, undefined, this),
1988
+ " —",
1989
+ " ",
1990
+ /* @__PURE__ */ jsxDEV6("code", {
1991
+ children: "contractspec validate"
1992
+ }, undefined, false, undefined, this),
1993
+ " to ensure contracts are valid."
1994
+ ]
1995
+ }, undefined, true, undefined, this),
1996
+ /* @__PURE__ */ jsxDEV6("li", {
1997
+ children: [
1998
+ /* @__PURE__ */ jsxDEV6("strong", {
1999
+ children: "Register and wire handlers"
2000
+ }, undefined, false, undefined, this),
2001
+ " — Connect contracts to your existing business logic."
2002
+ ]
2003
+ }, undefined, true, undefined, this),
2004
+ /* @__PURE__ */ jsxDEV6("li", {
2005
+ children: [
2006
+ /* @__PURE__ */ jsxDEV6("strong", {
2007
+ children: "Iterate"
2008
+ }, undefined, false, undefined, this),
2009
+ " — The imported contracts are a starting point. Refine them as your spec matures."
2010
+ ]
2011
+ }, undefined, true, undefined, this)
2012
+ ]
2013
+ }, undefined, true, undefined, this)
2014
+ ]
2015
+ }, undefined, true, undefined, this),
2016
+ /* @__PURE__ */ jsxDEV6("div", {
2017
+ className: "space-y-3",
2018
+ children: [
2019
+ /* @__PURE__ */ jsxDEV6("h2", {
2020
+ className: "flex items-center gap-2 text-2xl font-bold",
2021
+ children: [
2022
+ /* @__PURE__ */ jsxDEV6(AlertCircle, {
2023
+ size: 20,
2024
+ className: "text-yellow-400"
2025
+ }, undefined, false, undefined, this),
2026
+ "Troubleshooting"
2027
+ ]
2028
+ }, undefined, true, undefined, this),
2029
+ /* @__PURE__ */ jsxDEV6("div", {
2030
+ className: "space-y-4",
2031
+ children: [
2032
+ /* @__PURE__ */ jsxDEV6("div", {
2033
+ className: "card-subtle space-y-2 p-4",
2034
+ children: [
2035
+ /* @__PURE__ */ jsxDEV6("h3", {
2036
+ className: "font-semibold",
2037
+ children: "Framework not detected"
2038
+ }, undefined, false, undefined, this),
2039
+ /* @__PURE__ */ jsxDEV6("p", {
2040
+ className: "text-muted-foreground text-sm",
2041
+ children: [
2042
+ "Use ",
2043
+ /* @__PURE__ */ jsxDEV6("code", {
2044
+ children: "--framework <name>"
2045
+ }, undefined, false, undefined, this),
2046
+ " to force a specific framework. Check that your entry files follow standard patterns."
2047
+ ]
2048
+ }, undefined, true, undefined, this)
2049
+ ]
2050
+ }, undefined, true, undefined, this),
2051
+ /* @__PURE__ */ jsxDEV6("div", {
2052
+ className: "card-subtle space-y-2 p-4",
2053
+ children: [
2054
+ /* @__PURE__ */ jsxDEV6("h3", {
2055
+ className: "font-semibold",
2056
+ children: "Missing schemas"
2057
+ }, undefined, false, undefined, this),
2058
+ /* @__PURE__ */ jsxDEV6("p", {
2059
+ className: "text-muted-foreground text-sm",
2060
+ children: [
2061
+ "Schema inference works best with explicit types. If using",
2062
+ " ",
2063
+ /* @__PURE__ */ jsxDEV6("code", {
2064
+ children: "any"
2065
+ }, undefined, false, undefined, this),
2066
+ " or dynamic types, you'll see TODO placeholders. Fill them in manually."
2067
+ ]
2068
+ }, undefined, true, undefined, this)
2069
+ ]
2070
+ }, undefined, true, undefined, this),
2071
+ /* @__PURE__ */ jsxDEV6("div", {
2072
+ className: "card-subtle space-y-2 p-4",
2073
+ children: [
2074
+ /* @__PURE__ */ jsxDEV6("h3", {
2075
+ className: "font-semibold",
2076
+ children: "Partial imports"
2077
+ }, undefined, false, undefined, this),
2078
+ /* @__PURE__ */ jsxDEV6("p", {
2079
+ className: "text-muted-foreground text-sm",
2080
+ children: [
2081
+ "Some endpoints may not be detected if they use unconventional patterns. Use ",
2082
+ /* @__PURE__ */ jsxDEV6("code", {
2083
+ children: "--analyze"
2084
+ }, undefined, false, undefined, this),
2085
+ " to see what was found, then add missing contracts manually."
2086
+ ]
2087
+ }, undefined, true, undefined, this)
2088
+ ]
2089
+ }, undefined, true, undefined, this)
2090
+ ]
2091
+ }, undefined, true, undefined, this)
2092
+ ]
2093
+ }, undefined, true, undefined, this),
2094
+ /* @__PURE__ */ jsxDEV6(StudioPrompt, {
2095
+ title: "Want automated contract evolution?",
2096
+ body: "Studio monitors your codebase and suggests contract updates when your API changes, keeping specs and code in sync."
2097
+ }, undefined, false, undefined, this)
2098
+ ]
2099
+ }, undefined, true, undefined, this),
2100
+ /* @__PURE__ */ jsxDEV6("div", {
2101
+ className: "flex items-center gap-4 pt-4",
2102
+ children: [
2103
+ /* @__PURE__ */ jsxDEV6(Link6, {
2104
+ href: "/docs/guides/spec-validation-and-typing",
2105
+ className: "btn-primary",
2106
+ children: [
2107
+ "Next: Spec validation + typing ",
2108
+ /* @__PURE__ */ jsxDEV6(ChevronRight5, {
2109
+ size: 16
2110
+ }, undefined, false, undefined, this)
2111
+ ]
2112
+ }, undefined, true, undefined, this),
2113
+ /* @__PURE__ */ jsxDEV6(Link6, {
2114
+ href: "/docs/guides",
2115
+ className: "btn-ghost",
2116
+ children: "Back to guides"
2117
+ }, undefined, false, undefined, this)
2118
+ ]
2119
+ }, undefined, true, undefined, this)
2120
+ ]
2121
+ }, undefined, true, undefined, this);
2122
+ }
2123
+
2124
+ // src/components/docs/guides/GuideNextjsOneEndpointPage.tsx
2125
+ import { CodeBlock as CodeBlock6 } from "@contractspec/lib.design-system";
2126
+ import Link7 from "@contractspec/lib.ui-link";
2127
+ import { ChevronRight as ChevronRight6 } from "lucide-react";
2128
+ import { jsxDEV as jsxDEV7 } from "react/jsx-dev-runtime";
2129
+ function GuideNextjsOneEndpointPage() {
2130
+ return /* @__PURE__ */ jsxDEV7("div", {
2131
+ className: "space-y-8",
2132
+ children: [
2133
+ /* @__PURE__ */ jsxDEV7("div", {
2134
+ className: "space-y-3",
2135
+ children: [
2136
+ /* @__PURE__ */ jsxDEV7("h1", {
2137
+ className: "text-4xl font-bold",
2138
+ children: "Next.js: add one endpoint"
2139
+ }, undefined, false, undefined, this),
2140
+ /* @__PURE__ */ jsxDEV7("p", {
2141
+ className: "text-muted-foreground text-lg",
2142
+ children: "Add ContractSpec to an existing Next.js App Router project by wiring a single operation end-to-end with validation and types."
2143
+ }, undefined, false, undefined, this)
2144
+ ]
2145
+ }, undefined, true, undefined, this),
2146
+ /* @__PURE__ */ jsxDEV7("div", {
2147
+ className: "card-subtle space-y-4 p-6",
2148
+ children: [
2149
+ /* @__PURE__ */ jsxDEV7("h2", {
2150
+ className: "text-2xl font-bold",
2151
+ children: "What you'll build"
2152
+ }, undefined, false, undefined, this),
2153
+ /* @__PURE__ */ jsxDEV7("ul", {
2154
+ className: "text-muted-foreground space-y-2 text-sm",
2155
+ children: [
2156
+ /* @__PURE__ */ jsxDEV7("li", {
2157
+ children: "One OperationSpec with SchemaModel validation."
2158
+ }, undefined, false, undefined, this),
2159
+ /* @__PURE__ */ jsxDEV7("li", {
2160
+ children: "A registry wiring the operation to its handler."
2161
+ }, undefined, false, undefined, this),
2162
+ /* @__PURE__ */ jsxDEV7("li", {
2163
+ children: "A Next.js route handler that exposes the operation."
2164
+ }, undefined, false, undefined, this)
2165
+ ]
2166
+ }, undefined, true, undefined, this)
2167
+ ]
2168
+ }, undefined, true, undefined, this),
2169
+ /* @__PURE__ */ jsxDEV7("div", {
2170
+ className: "space-y-6",
2171
+ children: [
2172
+ /* @__PURE__ */ jsxDEV7("div", {
2173
+ className: "space-y-3",
2174
+ children: [
2175
+ /* @__PURE__ */ jsxDEV7("h2", {
2176
+ className: "text-2xl font-bold",
2177
+ children: "1) Install core packages"
2178
+ }, undefined, false, undefined, this),
2179
+ /* @__PURE__ */ jsxDEV7(CodeBlock6, {
2180
+ language: "bash",
2181
+ filename: "nextjs-install",
2182
+ code: `bun add -D contractspec
2183
+ bun add @contractspec/lib.contracts @contractspec/lib.schema`
2184
+ }, undefined, false, undefined, this),
2185
+ /* @__PURE__ */ jsxDEV7("p", {
2186
+ className: "text-muted-foreground text-sm",
2187
+ children: [
2188
+ "Expected output: ",
2189
+ /* @__PURE__ */ jsxDEV7("code", {
2190
+ children: "added 3 packages"
2191
+ }, undefined, false, undefined, this),
2192
+ " and a lockfile update."
2193
+ ]
2194
+ }, undefined, true, undefined, this)
2195
+ ]
2196
+ }, undefined, true, undefined, this),
2197
+ /* @__PURE__ */ jsxDEV7("div", {
2198
+ className: "space-y-3",
2199
+ children: [
2200
+ /* @__PURE__ */ jsxDEV7("h2", {
2201
+ className: "text-2xl font-bold",
2202
+ children: "2) Define the operation spec"
2203
+ }, undefined, false, undefined, this),
2204
+ /* @__PURE__ */ jsxDEV7("p", {
2205
+ className: "text-muted-foreground text-sm",
2206
+ children: [
2207
+ "Create ",
2208
+ /* @__PURE__ */ jsxDEV7("code", {
2209
+ children: "src/contracts/healthcheck.operation.ts"
2210
+ }, undefined, false, undefined, this),
2211
+ ":"
2212
+ ]
2213
+ }, undefined, true, undefined, this),
2214
+ /* @__PURE__ */ jsxDEV7(CodeBlock6, {
2215
+ language: "typescript",
2216
+ filename: "src/contracts/healthcheck.operation.ts",
2217
+ code: `import { defineQuery } from "@contractspec/lib.contracts/operations";
2218
+ import { SchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
2219
+
2220
+ const HealthcheckOutput = new SchemaModel({
2221
+ name: "HealthcheckOutput",
2222
+ fields: {
2223
+ status: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
2224
+ checkedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
2225
+ },
2226
+ });
2227
+
2228
+ export const HealthcheckQuery = defineQuery({
2229
+ meta: {
2230
+ key: "healthcheck.get",
2231
+ version: "1.0.0",
2232
+ description: "Return service health status",
2233
+ owners: ["@platform.core"],
2234
+ tags: ["health", "observability"],
2235
+ },
2236
+ io: {
2237
+ input: null,
2238
+ output: HealthcheckOutput,
2239
+ },
2240
+ policy: {
2241
+ auth: "public",
2242
+ },
2243
+ transport: {
2244
+ rest: { method: "GET" },
2245
+ gql: { field: "healthcheck_get" },
2246
+ mcp: { toolName: "healthcheck.get.v1" },
2247
+ },
2248
+ });`
2249
+ }, undefined, false, undefined, this)
2250
+ ]
2251
+ }, undefined, true, undefined, this),
2252
+ /* @__PURE__ */ jsxDEV7("div", {
2253
+ className: "space-y-3",
2254
+ children: [
2255
+ /* @__PURE__ */ jsxDEV7("h2", {
2256
+ className: "text-2xl font-bold",
2257
+ children: "3) Register the operation"
2258
+ }, undefined, false, undefined, this),
2259
+ /* @__PURE__ */ jsxDEV7("p", {
2260
+ className: "text-muted-foreground text-sm",
2261
+ children: [
2262
+ "Create ",
2263
+ /* @__PURE__ */ jsxDEV7("code", {
2264
+ children: "src/contracts/registry.ts"
2265
+ }, undefined, false, undefined, this),
2266
+ ":"
2267
+ ]
2268
+ }, undefined, true, undefined, this),
2269
+ /* @__PURE__ */ jsxDEV7(CodeBlock6, {
2270
+ language: "typescript",
2271
+ filename: "src/contracts/registry.ts",
2272
+ code: `import {
2273
+ OperationSpecRegistry,
2274
+ installOp,
2275
+ } from "@contractspec/lib.contracts/operations";
2276
+ import { HealthcheckQuery } from "./healthcheck.operation";
2277
+
2278
+ export const registry = new OperationSpecRegistry();
2279
+
2280
+ installOp(registry, HealthcheckQuery, async () => ({
2281
+ status: "ok",
2282
+ checkedAt: new Date().toISOString(),
2283
+ }));`
2284
+ }, undefined, false, undefined, this)
2285
+ ]
2286
+ }, undefined, true, undefined, this),
2287
+ /* @__PURE__ */ jsxDEV7("div", {
2288
+ className: "space-y-3",
2289
+ children: [
2290
+ /* @__PURE__ */ jsxDEV7("h2", {
2291
+ className: "text-2xl font-bold",
2292
+ children: "4) Add the Next.js handler"
2293
+ }, undefined, false, undefined, this),
2294
+ /* @__PURE__ */ jsxDEV7("p", {
2295
+ className: "text-muted-foreground text-sm",
2296
+ children: [
2297
+ "Create ",
2298
+ /* @__PURE__ */ jsxDEV7("code", {
2299
+ children: "app/api/ops/[...route]/route.ts"
2300
+ }, undefined, false, undefined, this),
2301
+ ":"
2302
+ ]
2303
+ }, undefined, true, undefined, this),
2304
+ /* @__PURE__ */ jsxDEV7(CodeBlock6, {
2305
+ language: "typescript",
2306
+ filename: "app/api/ops/[...route]/route.ts",
2307
+ code: `import { makeNextAppHandler } from "@contractspec/lib.contracts/server/rest-next-app";
2308
+ import { registry } from "@/contracts/registry";
2309
+
2310
+ const handler = makeNextAppHandler(registry, async () => ({
2311
+ actor: "public",
2312
+ tenantId: "public",
2313
+ }));
2314
+
2315
+ export { handler as GET, handler as POST };`
2316
+ }, undefined, false, undefined, this),
2317
+ /* @__PURE__ */ jsxDEV7("p", {
2318
+ className: "text-muted-foreground text-sm",
2319
+ children: [
2320
+ "Expected output: the route responds at",
2321
+ /* @__PURE__ */ jsxDEV7("code", {
2322
+ children: " /api/ops/healthcheck.get"
2323
+ }, undefined, false, undefined, this),
2324
+ "."
2325
+ ]
2326
+ }, undefined, true, undefined, this)
2327
+ ]
2328
+ }, undefined, true, undefined, this),
2329
+ /* @__PURE__ */ jsxDEV7("div", {
2330
+ className: "space-y-3",
2331
+ children: [
2332
+ /* @__PURE__ */ jsxDEV7("h2", {
2333
+ className: "text-2xl font-bold",
2334
+ children: "5) Validate the spec"
2335
+ }, undefined, false, undefined, this),
2336
+ /* @__PURE__ */ jsxDEV7(CodeBlock6, {
2337
+ language: "bash",
2338
+ filename: "nextjs-validate",
2339
+ code: `contractspec validate src/contracts/healthcheck.operation.ts`
2340
+ }, undefined, false, undefined, this),
2341
+ /* @__PURE__ */ jsxDEV7("p", {
2342
+ className: "text-muted-foreground text-sm",
2343
+ children: [
2344
+ "Expected output: ",
2345
+ /* @__PURE__ */ jsxDEV7("code", {
2346
+ children: "Validation passed"
2347
+ }, undefined, false, undefined, this),
2348
+ "."
2349
+ ]
2350
+ }, undefined, true, undefined, this)
2351
+ ]
2352
+ }, undefined, true, undefined, this),
2353
+ /* @__PURE__ */ jsxDEV7("div", {
2354
+ className: "card-subtle space-y-3 p-6",
2355
+ children: [
2356
+ /* @__PURE__ */ jsxDEV7("h3", {
2357
+ className: "text-lg font-semibold",
2358
+ children: "Example package"
2359
+ }, undefined, false, undefined, this),
2360
+ /* @__PURE__ */ jsxDEV7("p", {
2361
+ className: "text-muted-foreground text-sm",
2362
+ children: [
2363
+ "Use ",
2364
+ /* @__PURE__ */ jsxDEV7("code", {
2365
+ children: "@contractspec/example.lifecycle-dashboard"
2366
+ }, undefined, false, undefined, this),
2367
+ " as a lightweight Next.js snippet reference."
2368
+ ]
2369
+ }, undefined, true, undefined, this),
2370
+ /* @__PURE__ */ jsxDEV7(CodeBlock6, {
2371
+ language: "bash",
2372
+ filename: "nextjs-example",
2373
+ code: `# Inspect the example docs
2374
+ contractspec examples show lifecycle-dashboard
2375
+
2376
+ # Validate all example manifests in this repo
2377
+ contractspec examples validate --repo-root .`
2378
+ }, undefined, false, undefined, this)
2379
+ ]
2380
+ }, undefined, true, undefined, this),
2381
+ /* @__PURE__ */ jsxDEV7(StudioPrompt, {
2382
+ title: "Need team approvals for new endpoints?",
2383
+ body: "Studio adds review gates, shared registries, and audit trails after you ship your first endpoint."
2384
+ }, undefined, false, undefined, this)
2385
+ ]
2386
+ }, undefined, true, undefined, this),
2387
+ /* @__PURE__ */ jsxDEV7("div", {
2388
+ className: "flex items-center gap-4 pt-4",
2389
+ children: [
2390
+ /* @__PURE__ */ jsxDEV7(Link7, {
2391
+ href: "/docs/guides/spec-validation-and-typing",
2392
+ className: "btn-primary",
2393
+ children: [
2394
+ "Next: Spec validation + typing ",
2395
+ /* @__PURE__ */ jsxDEV7(ChevronRight6, {
2396
+ size: 16
2397
+ }, undefined, false, undefined, this)
2398
+ ]
2399
+ }, undefined, true, undefined, this),
2400
+ /* @__PURE__ */ jsxDEV7(Link7, {
2401
+ href: "/docs/guides",
2402
+ className: "btn-ghost",
2403
+ children: "Back to guides"
2404
+ }, undefined, false, undefined, this)
2405
+ ]
2406
+ }, undefined, true, undefined, this)
2407
+ ]
2408
+ }, undefined, true, undefined, this);
2409
+ }
2410
+
2411
+ // src/components/docs/guides/GuideSpecValidationTypingPage.tsx
2412
+ import { CodeBlock as CodeBlock7 } from "@contractspec/lib.design-system";
2413
+ import Link8 from "@contractspec/lib.ui-link";
2414
+ import { ChevronRight as ChevronRight7 } from "lucide-react";
2415
+ import { jsxDEV as jsxDEV8 } from "react/jsx-dev-runtime";
2416
+ function GuideSpecValidationTypingPage() {
2417
+ return /* @__PURE__ */ jsxDEV8("div", {
2418
+ className: "space-y-8",
2419
+ children: [
2420
+ /* @__PURE__ */ jsxDEV8("div", {
2421
+ className: "space-y-3",
2422
+ children: [
2423
+ /* @__PURE__ */ jsxDEV8("h1", {
2424
+ className: "text-4xl font-bold",
2425
+ children: "Spec-driven validation + typing"
2426
+ }, undefined, false, undefined, this),
2427
+ /* @__PURE__ */ jsxDEV8("p", {
2428
+ className: "text-muted-foreground text-lg",
2429
+ children: "Define a single operation with SchemaModel, generate validation, and keep your existing handler logic."
2430
+ }, undefined, false, undefined, this)
2431
+ ]
2432
+ }, undefined, true, undefined, this),
2433
+ /* @__PURE__ */ jsxDEV8("div", {
2434
+ className: "card-subtle space-y-4 p-6",
2435
+ children: [
2436
+ /* @__PURE__ */ jsxDEV8("h2", {
2437
+ className: "text-2xl font-bold",
2438
+ children: "What you'll build"
2439
+ }, undefined, false, undefined, this),
2440
+ /* @__PURE__ */ jsxDEV8("ul", {
2441
+ className: "text-muted-foreground space-y-2 text-sm",
2442
+ children: [
2443
+ /* @__PURE__ */ jsxDEV8("li", {
2444
+ children: "One command spec with explicit input/output models."
2445
+ }, undefined, false, undefined, this),
2446
+ /* @__PURE__ */ jsxDEV8("li", {
2447
+ children: "Validation + typing without rewriting your service layer."
2448
+ }, undefined, false, undefined, this),
2449
+ /* @__PURE__ */ jsxDEV8("li", {
2450
+ children: "Clear acceptance scenarios for regression safety."
2451
+ }, undefined, false, undefined, this)
2452
+ ]
2453
+ }, undefined, true, undefined, this)
2454
+ ]
2455
+ }, undefined, true, undefined, this),
2456
+ /* @__PURE__ */ jsxDEV8("div", {
2457
+ className: "space-y-6",
2458
+ children: [
2459
+ /* @__PURE__ */ jsxDEV8("div", {
2460
+ className: "space-y-3",
2461
+ children: [
2462
+ /* @__PURE__ */ jsxDEV8("h2", {
2463
+ className: "text-2xl font-bold",
2464
+ children: "1) Define the spec"
2465
+ }, undefined, false, undefined, this),
2466
+ /* @__PURE__ */ jsxDEV8("p", {
2467
+ className: "text-muted-foreground text-sm",
2468
+ children: [
2469
+ "Create ",
2470
+ /* @__PURE__ */ jsxDEV8("code", {
2471
+ children: "src/contracts/contact-create.operation.ts"
2472
+ }, undefined, false, undefined, this),
2473
+ ":"
2474
+ ]
2475
+ }, undefined, true, undefined, this),
2476
+ /* @__PURE__ */ jsxDEV8(CodeBlock7, {
2477
+ language: "typescript",
2478
+ filename: "src/contracts/contact-create.operation.ts",
2479
+ code: `import { defineCommand } from "@contractspec/lib.contracts/operations";
2480
+ import { SchemaModel, ScalarTypeEnum } from "@contractspec/lib.schema";
2481
+
2482
+ const ContactInput = new SchemaModel({
2483
+ name: "ContactInput",
2484
+ fields: {
2485
+ email: { type: ScalarTypeEnum.Email(), isOptional: false },
2486
+ firstName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
2487
+ lastName: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },
2488
+ },
2489
+ });
2490
+
2491
+ const ContactOutput = new SchemaModel({
2492
+ name: "ContactOutput",
2493
+ fields: {
2494
+ id: { type: ScalarTypeEnum.String(), isOptional: false },
2495
+ email: { type: ScalarTypeEnum.Email(), isOptional: false },
2496
+ createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },
2497
+ },
2498
+ });
2499
+
2500
+ export const ContactCreateCommand = defineCommand({
2501
+ meta: {
2502
+ key: "contact.create",
2503
+ version: "1.0.0",
2504
+ description: "Create a CRM contact",
2505
+ owners: ["@sales"],
2506
+ tags: ["crm", "contacts"],
2507
+ },
2508
+ io: {
2509
+ input: ContactInput,
2510
+ output: ContactOutput,
2511
+ },
2512
+ policy: {
2513
+ auth: "user",
2514
+ },
2515
+ acceptance: {
2516
+ scenarios: [
2517
+ {
2518
+ key: "create-contact",
2519
+ given: ["User is authenticated"],
2520
+ when: ["ContactCreateCommand executes"],
2521
+ then: ["Contact is persisted", "Email is validated"],
2522
+ },
2523
+ ],
2524
+ },
2525
+ });`
2526
+ }, undefined, false, undefined, this)
2527
+ ]
2528
+ }, undefined, true, undefined, this),
2529
+ /* @__PURE__ */ jsxDEV8("div", {
2530
+ className: "space-y-3",
2531
+ children: [
2532
+ /* @__PURE__ */ jsxDEV8("h2", {
2533
+ className: "text-2xl font-bold",
2534
+ children: "2) Wire the handler"
2535
+ }, undefined, false, undefined, this),
2536
+ /* @__PURE__ */ jsxDEV8("p", {
2537
+ className: "text-muted-foreground text-sm",
2538
+ children: "Keep your existing code. Just ensure the handler returns the output shape defined above."
2539
+ }, undefined, false, undefined, this),
2540
+ /* @__PURE__ */ jsxDEV8(CodeBlock7, {
2541
+ language: "typescript",
2542
+ filename: "src/handlers/contact-create.ts",
2543
+ code: `import { ContactCreateCommand } from "@/contracts/contact-create.operation";
2544
+
2545
+ export async function handleContactCreate(
2546
+ input: (typeof ContactCreateCommand)["io"]["input"],
2547
+ ctx: { userId: string }
2548
+ ) {
2549
+ // Your existing persistence logic
2550
+ return {
2551
+ id: "contact_123",
2552
+ email: input.email,
2553
+ createdAt: new Date().toISOString(),
2554
+ };
2555
+ }`
2556
+ }, undefined, false, undefined, this)
2557
+ ]
2558
+ }, undefined, true, undefined, this),
2559
+ /* @__PURE__ */ jsxDEV8("div", {
2560
+ className: "space-y-3",
2561
+ children: [
2562
+ /* @__PURE__ */ jsxDEV8("h2", {
2563
+ className: "text-2xl font-bold",
2564
+ children: "3) Validate"
2565
+ }, undefined, false, undefined, this),
2566
+ /* @__PURE__ */ jsxDEV8(CodeBlock7, {
2567
+ language: "bash",
2568
+ filename: "spec-validation",
2569
+ code: `contractspec validate src/contracts/contact-create.operation.ts`
2570
+ }, undefined, false, undefined, this),
2571
+ /* @__PURE__ */ jsxDEV8("p", {
2572
+ className: "text-muted-foreground text-sm",
2573
+ children: [
2574
+ "Expected output: ",
2575
+ /* @__PURE__ */ jsxDEV8("code", {
2576
+ children: "Validation passed"
2577
+ }, undefined, false, undefined, this),
2578
+ "."
2579
+ ]
2580
+ }, undefined, true, undefined, this)
2581
+ ]
2582
+ }, undefined, true, undefined, this),
2583
+ /* @__PURE__ */ jsxDEV8("div", {
2584
+ className: "card-subtle space-y-3 p-6",
2585
+ children: [
2586
+ /* @__PURE__ */ jsxDEV8("h3", {
2587
+ className: "text-lg font-semibold",
2588
+ children: "Example package"
2589
+ }, undefined, false, undefined, this),
2590
+ /* @__PURE__ */ jsxDEV8("p", {
2591
+ className: "text-muted-foreground text-sm",
2592
+ children: "The CRM Pipeline example includes real specs, handlers, and presentations for contact + deal flows."
2593
+ }, undefined, false, undefined, this),
2594
+ /* @__PURE__ */ jsxDEV8(CodeBlock7, {
2595
+ language: "bash",
2596
+ filename: "crm-example",
2597
+ code: `# Build + validate the CRM pipeline example
2598
+ cd packages/examples/crm-pipeline
2599
+ bun install
2600
+ bun run build
2601
+ bun run validate`
2602
+ }, undefined, false, undefined, this)
2603
+ ]
2604
+ }, undefined, true, undefined, this),
2605
+ /* @__PURE__ */ jsxDEV8(StudioPrompt, {
2606
+ title: "Need shared validation policies?",
2607
+ body: "Studio lets teams enforce validation policies and review changes before they ship."
2608
+ }, undefined, false, undefined, this)
2609
+ ]
2610
+ }, undefined, true, undefined, this),
2611
+ /* @__PURE__ */ jsxDEV8("div", {
2612
+ className: "flex items-center gap-4 pt-4",
2613
+ children: [
2614
+ /* @__PURE__ */ jsxDEV8(Link8, {
2615
+ href: "/docs/guides/generate-docs-clients-schemas",
2616
+ className: "btn-primary",
2617
+ children: [
2618
+ "Next: Generate docs + clients ",
2619
+ /* @__PURE__ */ jsxDEV8(ChevronRight7, {
2620
+ size: 16
2621
+ }, undefined, false, undefined, this)
2622
+ ]
2623
+ }, undefined, true, undefined, this),
2624
+ /* @__PURE__ */ jsxDEV8(Link8, {
2625
+ href: "/docs/guides",
2626
+ className: "btn-ghost",
2627
+ children: "Back to guides"
2628
+ }, undefined, false, undefined, this)
2629
+ ]
2630
+ }, undefined, true, undefined, this)
2631
+ ]
2632
+ }, undefined, true, undefined, this);
2633
+ }
2634
+
2635
+ // src/components/docs/guides/GuidesIndexPage.tsx
2636
+ import { CodeBlock as CodeBlock8 } from "@contractspec/lib.design-system";
2637
+ import Link9 from "@contractspec/lib.ui-link";
2638
+ import { ArrowRight, BookOpen, CheckCircle2 } from "lucide-react";
2639
+ import { jsxDEV as jsxDEV9 } from "react/jsx-dev-runtime";
2640
+ var guides = [
2641
+ {
2642
+ title: "Contract types overview",
2643
+ description: "Learn about the different contract types and when to use each one.",
2644
+ href: "/docs/guides/contract-types",
2645
+ time: "15 min"
2646
+ },
2647
+ {
2648
+ title: "Next.js: one endpoint",
2649
+ description: "Add ContractSpec to an existing Next.js app by wiring one operation end-to-end.",
2650
+ href: "/docs/guides/nextjs-one-endpoint",
2651
+ time: "25 min"
2652
+ },
2653
+ {
2654
+ title: "Import existing codebases",
2655
+ description: "Convert your existing API endpoints into ContractSpec contracts for fast onboarding.",
2656
+ href: "/docs/guides/import-existing-codebases",
2657
+ time: "20 min"
2658
+ },
2659
+ {
2660
+ title: "Spec-driven validation + typing",
2661
+ description: "Define operations with SchemaModel, generate types, and enforce validation without rewrites.",
2662
+ href: "/docs/guides/spec-validation-and-typing",
2663
+ time: "20 min"
2664
+ },
2665
+ {
2666
+ title: "Generate docs + client schemas",
2667
+ description: "Export docs and OpenAPI for client SDKs and tooling from your specs.",
2668
+ href: "/docs/guides/generate-docs-clients-schemas",
2669
+ time: "20 min"
2670
+ },
2671
+ {
2672
+ title: "Docs pipeline",
2673
+ description: "Wire generated docs into a reference site with a chunked index.",
2674
+ href: "/docs/guides/docs-generation-pipeline",
2675
+ time: "20 min"
2676
+ },
2677
+ {
2678
+ title: "CI gating with deterministic diffs",
2679
+ description: "Add ContractSpec CI checks to gate breaking changes and drift.",
2680
+ href: "/docs/guides/ci-contract-diff-gating",
2681
+ time: "15 min"
2682
+ }
2683
+ ];
2684
+ function GuidesIndexPage() {
2685
+ return /* @__PURE__ */ jsxDEV9("div", {
2686
+ className: "space-y-10",
2687
+ children: [
2688
+ /* @__PURE__ */ jsxDEV9("div", {
2689
+ className: "space-y-3",
2690
+ children: [
2691
+ /* @__PURE__ */ jsxDEV9("h1", {
2692
+ className: "text-4xl font-bold",
2693
+ children: "Guides"
2694
+ }, undefined, false, undefined, this),
2695
+ /* @__PURE__ */ jsxDEV9("p", {
2696
+ className: "text-muted-foreground text-lg",
2697
+ children: "Hands-on guides with commands, expected output, and CI-verified example packages."
2698
+ }, undefined, false, undefined, this)
2699
+ ]
2700
+ }, undefined, true, undefined, this),
2701
+ /* @__PURE__ */ jsxDEV9("div", {
2702
+ className: "grid gap-4 md:grid-cols-2",
2703
+ children: guides.map((guide) => /* @__PURE__ */ jsxDEV9(Link9, {
2704
+ href: guide.href,
2705
+ className: "card-subtle group space-y-3 p-6 transition-colors hover:border-violet-500/50",
2706
+ children: [
2707
+ /* @__PURE__ */ jsxDEV9("div", {
2708
+ className: "flex items-center justify-between",
2709
+ children: [
2710
+ /* @__PURE__ */ jsxDEV9("h2", {
2711
+ className: "text-xl font-semibold transition-colors group-hover:text-violet-400",
2712
+ children: guide.title
2713
+ }, undefined, false, undefined, this),
2714
+ /* @__PURE__ */ jsxDEV9(ArrowRight, {
2715
+ className: "text-violet-400",
2716
+ size: 18
2717
+ }, undefined, false, undefined, this)
2718
+ ]
2719
+ }, undefined, true, undefined, this),
2720
+ /* @__PURE__ */ jsxDEV9("p", {
2721
+ className: "text-muted-foreground text-sm",
2722
+ children: guide.description
2723
+ }, undefined, false, undefined, this),
2724
+ /* @__PURE__ */ jsxDEV9("div", {
2725
+ className: "text-muted-foreground flex items-center gap-2 text-xs",
2726
+ children: [
2727
+ /* @__PURE__ */ jsxDEV9(CheckCircle2, {
2728
+ size: 14
2729
+ }, undefined, false, undefined, this),
2730
+ /* @__PURE__ */ jsxDEV9("span", {
2731
+ children: [
2732
+ "Target time: ",
2733
+ guide.time
2734
+ ]
2735
+ }, undefined, true, undefined, this)
2736
+ ]
2737
+ }, undefined, true, undefined, this)
2738
+ ]
2739
+ }, guide.href, true, undefined, this))
2740
+ }, undefined, false, undefined, this),
2741
+ /* @__PURE__ */ jsxDEV9("div", {
2742
+ className: "card-subtle space-y-4 p-6",
2743
+ children: [
2744
+ /* @__PURE__ */ jsxDEV9("div", {
2745
+ className: "flex items-center gap-2 text-sm font-semibold tracking-[0.2em] text-violet-400 uppercase",
2746
+ children: [
2747
+ /* @__PURE__ */ jsxDEV9(BookOpen, {
2748
+ size: 16
2749
+ }, undefined, false, undefined, this),
2750
+ "How to use the guides"
2751
+ ]
2752
+ }, undefined, true, undefined, this),
2753
+ /* @__PURE__ */ jsxDEV9("ul", {
2754
+ className: "text-muted-foreground space-y-2 text-sm",
2755
+ children: [
2756
+ /* @__PURE__ */ jsxDEV9("li", {
2757
+ children: "Run each guide in a fresh branch or sandbox workspace."
2758
+ }, undefined, false, undefined, this),
2759
+ /* @__PURE__ */ jsxDEV9("li", {
2760
+ children: "Use the linked example package to validate end-to-end."
2761
+ }, undefined, false, undefined, this),
2762
+ /* @__PURE__ */ jsxDEV9("li", {
2763
+ children: "Keep the commands as written to match CI expectations."
2764
+ }, undefined, false, undefined, this)
2765
+ ]
2766
+ }, undefined, true, undefined, this),
2767
+ /* @__PURE__ */ jsxDEV9(CodeBlock8, {
2768
+ language: "bash",
2769
+ filename: "guides-quickstart",
2770
+ code: `# list all examples
2771
+ contractspec examples list
2772
+
2773
+ # validate example packages in this repo
2774
+ contractspec examples validate --repo-root .`
2775
+ }, undefined, false, undefined, this)
2776
+ ]
2777
+ }, undefined, true, undefined, this)
2778
+ ]
2779
+ }, undefined, true, undefined, this);
2780
+ }
2781
+
2782
+ // src/components/docs/guides/guides.docblocks.ts
2783
+ import { registerDocBlocks } from "@contractspec/lib.contracts/docs";
2784
+ var guideDocBlocks = [
2785
+ {
2786
+ id: "docs.guides.index",
2787
+ title: "Guides",
2788
+ summary: "Hands-on guides for adopting ContractSpec in real workflows.",
2789
+ kind: "goal",
2790
+ visibility: "public",
2791
+ route: "/docs/guides",
2792
+ tags: ["guides", "adoption"],
2793
+ body: `# Guides
2794
+
2795
+ Hands-on, runnable guides that map to real adoption scenarios. Each guide includes commands, expected output, and a CI-verified example package.`
2796
+ },
2797
+ {
2798
+ id: "docs.guides.nextjs-one-endpoint",
2799
+ title: "Next.js one endpoint",
2800
+ summary: "Add ContractSpec to an existing Next.js app with one endpoint.",
2801
+ kind: "usage",
2802
+ visibility: "public",
2803
+ route: "/docs/guides/nextjs-one-endpoint",
2804
+ tags: ["guides", "nextjs", "operations"],
2805
+ body: `# Add ContractSpec to a Next.js app (one endpoint)
2806
+
2807
+ Create a single OperationSpec, register it, and expose it through a Next.js App Router handler.`
2808
+ },
2809
+ {
2810
+ id: "docs.guides.spec-validation-typing",
2811
+ title: "Spec validation and typing",
2812
+ summary: "Define an operation spec with validation and types, no rewrites.",
2813
+ kind: "usage",
2814
+ visibility: "public",
2815
+ route: "/docs/guides/spec-validation-and-typing",
2816
+ tags: ["guides", "validation", "typing"],
2817
+ body: `# Spec-driven validation and typing
2818
+
2819
+ Define command/query specs that enforce validation and generate types without rewriting your app.`
2820
+ },
2821
+ {
2822
+ id: "docs.guides.docs-clients-schemas",
2823
+ title: "Generate docs, clients, schemas",
2824
+ summary: "Generate docs and OpenAPI for client SDKs from specs.",
2825
+ kind: "usage",
2826
+ visibility: "public",
2827
+ route: "/docs/guides/generate-docs-clients-schemas",
2828
+ tags: ["guides", "docs", "openapi"],
2829
+ body: `# Generate docs and client schemas
2830
+
2831
+ Use ContractSpec to generate documentation and OpenAPI exports for client SDKs.
2832
+
2833
+ ## Generate reference docs
2834
+
2835
+ 1. Regenerate contract artifacts:
2836
+
2837
+ \`\`\`bash
2838
+ bun contractspec generate
2839
+ \`\`\`
2840
+
2841
+ 2. Build docs output (index + markdown):
2842
+
2843
+ \`\`\`bash
2844
+ bun docs:generate
2845
+ # or versioned output
2846
+ bun docs:generate -- --version v1.0.0
2847
+ \`\`\``
2848
+ },
2849
+ {
2850
+ id: "docs.guides.docs-generation-pipeline",
2851
+ title: "Docs generation pipeline",
2852
+ summary: "Wire generated docs into a reference site with chunked indexes.",
2853
+ kind: "usage",
2854
+ visibility: "public",
2855
+ route: "/docs/guides/docs-generation-pipeline",
2856
+ tags: ["guides", "docs", "pipeline"],
2857
+ body: `# Build the docs pipeline
2858
+
2859
+ Use ContractSpec to generate reference markdown, build a chunked index, and wire it into your docs routes.
2860
+
2861
+ ## Generate contract docs
2862
+
2863
+ \`\`\`bash
2864
+ contractspec generate
2865
+ \`\`\`
2866
+
2867
+ ## Build the docs index
2868
+
2869
+ \`\`\`bash
2870
+ bun docs:generate
2871
+ # versioned output
2872
+ bun docs:generate -- --version v1.0.0
2873
+ \`\`\`
2874
+
2875
+ ## Reference wiring
2876
+
2877
+ Use the generated manifest and chunks under \`docs-index.manifest.json\` and \`docs-index.*.json\` to load the index at runtime.`
2878
+ },
2879
+ {
2880
+ id: "docs.guides.ci-contract-diff-gating",
2881
+ title: "CI gating for contract diffs",
2882
+ summary: "Gate changes with deterministic diffs and CI checks.",
2883
+ kind: "usage",
2884
+ visibility: "public",
2885
+ route: "/docs/guides/ci-contract-diff-gating",
2886
+ tags: ["guides", "ci", "diff"],
2887
+ body: `# CI gating with deterministic diffs
2888
+
2889
+ Run ContractSpec CI checks to detect drift and breaking changes before merge.`
2890
+ }
2891
+ ];
2892
+ registerDocBlocks(guideDocBlocks);
2893
+ export {
2894
+ GuidesIndexPage,
2895
+ GuideSpecValidationTypingPage,
2896
+ GuideNextjsOneEndpointPage,
2897
+ GuideImportExistingCodebasesPage,
2898
+ GuideGenerateDocsClientsSchemasPage,
2899
+ GuideDocsPipelinePage,
2900
+ GuideContractTypesPage,
2901
+ GuideCIDiffGatingPage
2902
+ };