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