@contractspec/bundle.library 1.12.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1524) hide show
  1. package/.turbo/turbo-build.log +571 -1228
  2. package/.turbo/turbo-prebuild.log +1 -0
  3. package/CHANGELOG.md +41 -0
  4. package/dist/__tests__/env-setup.d.ts +2 -0
  5. package/dist/__tests__/env-setup.d.ts.map +1 -0
  6. package/dist/__tests__/mocks/prisma.d.ts +16 -0
  7. package/dist/__tests__/mocks/prisma.d.ts.map +1 -0
  8. package/dist/__tests__/setup.d.ts +2 -0
  9. package/dist/__tests__/setup.d.ts.map +1 -0
  10. package/dist/application/index.d.ts +2 -4
  11. package/dist/application/index.d.ts.map +1 -0
  12. package/dist/application/index.js +696 -5
  13. package/dist/application/mcp/cliMcp.d.ts +79 -85
  14. package/dist/application/mcp/cliMcp.d.ts.map +1 -1
  15. package/dist/application/mcp/cliMcp.js +329 -218
  16. package/dist/application/mcp/common.d.ts +90 -103
  17. package/dist/application/mcp/common.d.ts.map +1 -1
  18. package/dist/application/mcp/common.js +73 -61
  19. package/dist/application/mcp/docsMcp.d.ts +79 -85
  20. package/dist/application/mcp/docsMcp.d.ts.map +1 -1
  21. package/dist/application/mcp/docsMcp.js +259 -136
  22. package/dist/application/mcp/index.d.ts +4 -4
  23. package/dist/application/mcp/index.d.ts.map +1 -0
  24. package/dist/application/mcp/index.js +696 -4
  25. package/dist/application/mcp/internalMcp.d.ts +79 -85
  26. package/dist/application/mcp/internalMcp.d.ts.map +1 -1
  27. package/dist/application/mcp/internalMcp.js +285 -172
  28. package/dist/components/docs/DocsIndexPage.d.ts +1 -6
  29. package/dist/components/docs/DocsIndexPage.d.ts.map +1 -1
  30. package/dist/components/docs/DocsIndexPage.js +259 -211
  31. package/dist/components/docs/advanced/AdvancedMCPPage.d.ts +1 -6
  32. package/dist/components/docs/advanced/AdvancedMCPPage.d.ts.map +1 -1
  33. package/dist/components/docs/advanced/AdvancedMCPPage.js +269 -212
  34. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.d.ts +1 -6
  35. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.d.ts.map +1 -1
  36. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +105 -74
  37. package/dist/components/docs/advanced/AdvancedRenderersPage.d.ts +1 -6
  38. package/dist/components/docs/advanced/AdvancedRenderersPage.d.ts.map +1 -1
  39. package/dist/components/docs/advanced/AdvancedRenderersPage.js +116 -86
  40. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.d.ts +1 -6
  41. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.d.ts.map +1 -1
  42. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +88 -71
  43. package/dist/components/docs/advanced/AdvancedTelemetryPage.d.ts +1 -6
  44. package/dist/components/docs/advanced/AdvancedTelemetryPage.d.ts.map +1 -1
  45. package/dist/components/docs/advanced/AdvancedTelemetryPage.js +371 -203
  46. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.d.ts +1 -6
  47. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.d.ts.map +1 -1
  48. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +97 -72
  49. package/dist/components/docs/advanced/index.d.ts +7 -7
  50. package/dist/components/docs/advanced/index.d.ts.map +1 -0
  51. package/dist/components/docs/advanced/index.js +1221 -8
  52. package/dist/components/docs/architecture/ArchitectureAppConfigPage.d.ts +1 -6
  53. package/dist/components/docs/architecture/ArchitectureAppConfigPage.d.ts.map +1 -1
  54. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +235 -171
  55. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.d.ts +1 -6
  56. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.d.ts.map +1 -1
  57. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +251 -180
  58. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.d.ts +1 -6
  59. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.d.ts.map +1 -1
  60. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +366 -282
  61. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.d.ts +1 -6
  62. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.d.ts.map +1 -1
  63. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +162 -113
  64. package/dist/components/docs/architecture/ArchitectureOverviewPage.d.ts +1 -6
  65. package/dist/components/docs/architecture/ArchitectureOverviewPage.d.ts.map +1 -1
  66. package/dist/components/docs/architecture/ArchitectureOverviewPage.js +446 -321
  67. package/dist/components/docs/architecture/index.d.ts +6 -6
  68. package/dist/components/docs/architecture/index.d.ts.map +1 -0
  69. package/dist/components/docs/architecture/index.js +1913 -6
  70. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.d.ts +1 -6
  71. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.d.ts.map +1 -1
  72. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +244 -198
  73. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.d.ts +1 -6
  74. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.d.ts.map +1 -1
  75. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +228 -168
  76. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.d.ts +1 -6
  77. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.d.ts.map +1 -1
  78. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +244 -198
  79. package/dist/components/docs/comparison/ComparisonOverviewPage.d.ts +1 -6
  80. package/dist/components/docs/comparison/ComparisonOverviewPage.d.ts.map +1 -1
  81. package/dist/components/docs/comparison/ComparisonOverviewPage.js +201 -166
  82. package/dist/components/docs/comparison/ComparisonWindmillPage.d.ts +1 -6
  83. package/dist/components/docs/comparison/ComparisonWindmillPage.d.ts.map +1 -1
  84. package/dist/components/docs/comparison/ComparisonWindmillPage.js +253 -175
  85. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.d.ts +1 -6
  86. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.d.ts.map +1 -1
  87. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +338 -274
  88. package/dist/components/docs/comparison/index.d.ts +7 -7
  89. package/dist/components/docs/comparison/index.d.ts.map +1 -0
  90. package/dist/components/docs/comparison/index.js +1511 -8
  91. package/dist/components/docs/ecosystem/IntegrationsPage.d.ts +1 -6
  92. package/dist/components/docs/ecosystem/IntegrationsPage.d.ts.map +1 -1
  93. package/dist/components/docs/ecosystem/IntegrationsPage.js +96 -76
  94. package/dist/components/docs/ecosystem/PluginsPage.d.ts +1 -6
  95. package/dist/components/docs/ecosystem/PluginsPage.d.ts.map +1 -1
  96. package/dist/components/docs/ecosystem/PluginsPage.js +139 -114
  97. package/dist/components/docs/ecosystem/RegistryPage.d.ts +1 -6
  98. package/dist/components/docs/ecosystem/RegistryPage.d.ts.map +1 -1
  99. package/dist/components/docs/ecosystem/RegistryPage.js +81 -71
  100. package/dist/components/docs/ecosystem/TemplatesPage.d.ts +1 -6
  101. package/dist/components/docs/ecosystem/TemplatesPage.d.ts.map +1 -1
  102. package/dist/components/docs/ecosystem/TemplatesPage.js +136 -84
  103. package/dist/components/docs/ecosystem/ecosystem.docblocks.d.ts +2 -1
  104. package/dist/components/docs/ecosystem/ecosystem.docblocks.d.ts.map +1 -0
  105. package/dist/components/docs/ecosystem/ecosystem.docblocks.js +45 -51
  106. package/dist/components/docs/ecosystem/index.d.ts +6 -5
  107. package/dist/components/docs/ecosystem/index.d.ts.map +1 -0
  108. package/dist/components/docs/ecosystem/index.js +614 -6
  109. package/dist/components/docs/examples/DocsExamplesPage.d.ts +1 -6
  110. package/dist/components/docs/examples/DocsExamplesPage.d.ts.map +1 -1
  111. package/dist/components/docs/examples/DocsExamplesPage.js +79 -65
  112. package/dist/components/docs/examples/index.d.ts +2 -2
  113. package/dist/components/docs/examples/index.d.ts.map +1 -0
  114. package/dist/components/docs/examples/index.js +85 -3
  115. package/dist/components/docs/generated/docs-index.generated.d.ts +24 -27
  116. package/dist/components/docs/generated/docs-index.generated.d.ts.map +1 -1
  117. package/dist/components/docs/generated/docs-index.generated.js +6 -6
  118. package/dist/components/docs/generated/index.d.ts +3 -3
  119. package/dist/components/docs/generated/index.d.ts.map +1 -0
  120. package/dist/components/docs/generated/index.js +74 -2
  121. package/dist/components/docs/generated/loader.d.ts +6 -10
  122. package/dist/components/docs/generated/loader.d.ts.map +1 -1
  123. package/dist/components/docs/generated/loader.js +60 -48
  124. package/dist/components/docs/getting-started/CLIPage.d.ts +1 -6
  125. package/dist/components/docs/getting-started/CLIPage.d.ts.map +1 -1
  126. package/dist/components/docs/getting-started/CLIPage.js +265 -231
  127. package/dist/components/docs/getting-started/CompatibilityPage.d.ts +1 -6
  128. package/dist/components/docs/getting-started/CompatibilityPage.d.ts.map +1 -1
  129. package/dist/components/docs/getting-started/CompatibilityPage.js +171 -115
  130. package/dist/components/docs/getting-started/DataViewTutorialPage.d.ts +1 -6
  131. package/dist/components/docs/getting-started/DataViewTutorialPage.d.ts.map +1 -1
  132. package/dist/components/docs/getting-started/DataViewTutorialPage.js +128 -105
  133. package/dist/components/docs/getting-started/DeveloperToolsPage.d.ts +1 -6
  134. package/dist/components/docs/getting-started/DeveloperToolsPage.d.ts.map +1 -1
  135. package/dist/components/docs/getting-started/DeveloperToolsPage.js +191 -151
  136. package/dist/components/docs/getting-started/HelloWorldPage.d.ts +1 -6
  137. package/dist/components/docs/getting-started/HelloWorldPage.d.ts.map +1 -1
  138. package/dist/components/docs/getting-started/HelloWorldPage.js +176 -138
  139. package/dist/components/docs/getting-started/InstallationPage.d.ts +1 -6
  140. package/dist/components/docs/getting-started/InstallationPage.d.ts.map +1 -1
  141. package/dist/components/docs/getting-started/InstallationPage.js +149 -115
  142. package/dist/components/docs/getting-started/StartHerePage.d.ts +1 -6
  143. package/dist/components/docs/getting-started/StartHerePage.d.ts.map +1 -1
  144. package/dist/components/docs/getting-started/StartHerePage.js +125 -98
  145. package/dist/components/docs/getting-started/TroubleshootingPage.d.ts +1 -6
  146. package/dist/components/docs/getting-started/TroubleshootingPage.d.ts.map +1 -1
  147. package/dist/components/docs/getting-started/TroubleshootingPage.js +164 -111
  148. package/dist/components/docs/getting-started/VSCodeExtensionPage.d.ts +1 -6
  149. package/dist/components/docs/getting-started/VSCodeExtensionPage.d.ts.map +1 -1
  150. package/dist/components/docs/getting-started/VSCodeExtensionPage.js +429 -353
  151. package/dist/components/docs/getting-started/getting-started.docblocks.d.ts +2 -6
  152. package/dist/components/docs/getting-started/getting-started.docblocks.d.ts.map +1 -1
  153. package/dist/components/docs/getting-started/getting-started.docblocks.js +36 -37
  154. package/dist/components/docs/getting-started/index.d.ts +11 -11
  155. package/dist/components/docs/getting-started/index.d.ts.map +1 -0
  156. package/dist/components/docs/getting-started/index.js +2184 -12
  157. package/dist/components/docs/guides/GuideCIDiffGatingPage.d.ts +1 -6
  158. package/dist/components/docs/guides/GuideCIDiffGatingPage.d.ts.map +1 -1
  159. package/dist/components/docs/guides/GuideCIDiffGatingPage.js +192 -143
  160. package/dist/components/docs/guides/GuideContractTypesPage.d.ts +1 -6
  161. package/dist/components/docs/guides/GuideContractTypesPage.d.ts.map +1 -1
  162. package/dist/components/docs/guides/GuideContractTypesPage.js +532 -440
  163. package/dist/components/docs/guides/GuideDocsPipelinePage.d.ts +1 -6
  164. package/dist/components/docs/guides/GuideDocsPipelinePage.d.ts.map +1 -1
  165. package/dist/components/docs/guides/GuideDocsPipelinePage.js +202 -142
  166. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.d.ts +1 -6
  167. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.d.ts.map +1 -1
  168. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +205 -152
  169. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.d.ts +1 -6
  170. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.d.ts.map +1 -1
  171. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +743 -543
  172. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.d.ts +1 -6
  173. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.d.ts.map +1 -1
  174. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +260 -199
  175. package/dist/components/docs/guides/GuideSpecValidationTypingPage.d.ts +1 -6
  176. package/dist/components/docs/guides/GuideSpecValidationTypingPage.d.ts.map +1 -1
  177. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +190 -139
  178. package/dist/components/docs/guides/GuidesIndexPage.d.ts +1 -6
  179. package/dist/components/docs/guides/GuidesIndexPage.d.ts.map +1 -1
  180. package/dist/components/docs/guides/GuidesIndexPage.js +141 -115
  181. package/dist/components/docs/guides/guides.docblocks.d.ts +2 -1
  182. package/dist/components/docs/guides/guides.docblocks.d.ts.map +1 -0
  183. package/dist/components/docs/guides/guides.docblocks.js +65 -87
  184. package/dist/components/docs/guides/index.d.ts +10 -9
  185. package/dist/components/docs/guides/index.d.ts.map +1 -0
  186. package/dist/components/docs/guides/index.js +2903 -11
  187. package/dist/components/docs/index.d.ts +20 -135
  188. package/dist/components/docs/index.d.ts.map +1 -0
  189. package/dist/components/docs/index.js +28182 -136
  190. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.d.ts +1 -6
  191. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.d.ts.map +1 -1
  192. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +40 -33
  193. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.d.ts +1 -6
  194. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.d.ts.map +1 -1
  195. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +103 -72
  196. package/dist/components/docs/integrations/IntegrationsGmailPage.d.ts +1 -6
  197. package/dist/components/docs/integrations/IntegrationsGmailPage.d.ts.map +1 -1
  198. package/dist/components/docs/integrations/IntegrationsGmailPage.js +107 -79
  199. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.d.ts +1 -6
  200. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.d.ts.map +1 -1
  201. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +77 -57
  202. package/dist/components/docs/integrations/IntegrationsOpenAIPage.d.ts +1 -6
  203. package/dist/components/docs/integrations/IntegrationsOpenAIPage.d.ts.map +1 -1
  204. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +138 -95
  205. package/dist/components/docs/integrations/IntegrationsOverviewPage.d.ts +1 -6
  206. package/dist/components/docs/integrations/IntegrationsOverviewPage.d.ts.map +1 -1
  207. package/dist/components/docs/integrations/IntegrationsOverviewPage.js +598 -481
  208. package/dist/components/docs/integrations/IntegrationsPostmarkPage.d.ts +1 -6
  209. package/dist/components/docs/integrations/IntegrationsPostmarkPage.d.ts.map +1 -1
  210. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +217 -146
  211. package/dist/components/docs/integrations/IntegrationsPowensPage.d.ts +1 -6
  212. package/dist/components/docs/integrations/IntegrationsPowensPage.d.ts.map +1 -1
  213. package/dist/components/docs/integrations/IntegrationsPowensPage.js +298 -243
  214. package/dist/components/docs/integrations/IntegrationsQdrantPage.d.ts +1 -6
  215. package/dist/components/docs/integrations/IntegrationsQdrantPage.d.ts.map +1 -1
  216. package/dist/components/docs/integrations/IntegrationsQdrantPage.js +112 -82
  217. package/dist/components/docs/integrations/IntegrationsResendPage.d.ts +1 -6
  218. package/dist/components/docs/integrations/IntegrationsResendPage.d.ts.map +1 -1
  219. package/dist/components/docs/integrations/IntegrationsResendPage.js +100 -71
  220. package/dist/components/docs/integrations/IntegrationsS3Page.d.ts +1 -6
  221. package/dist/components/docs/integrations/IntegrationsS3Page.d.ts.map +1 -1
  222. package/dist/components/docs/integrations/IntegrationsS3Page.js +122 -84
  223. package/dist/components/docs/integrations/IntegrationsSpecModelPage.d.ts +1 -6
  224. package/dist/components/docs/integrations/IntegrationsSpecModelPage.d.ts.map +1 -1
  225. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +248 -167
  226. package/dist/components/docs/integrations/IntegrationsStripePage.d.ts +1 -6
  227. package/dist/components/docs/integrations/IntegrationsStripePage.d.ts.map +1 -1
  228. package/dist/components/docs/integrations/IntegrationsStripePage.js +332 -255
  229. package/dist/components/docs/integrations/IntegrationsTwilioPage.d.ts +1 -6
  230. package/dist/components/docs/integrations/IntegrationsTwilioPage.d.ts.map +1 -1
  231. package/dist/components/docs/integrations/IntegrationsTwilioPage.js +126 -87
  232. package/dist/components/docs/integrations/index.d.ts +15 -15
  233. package/dist/components/docs/integrations/index.d.ts.map +1 -0
  234. package/dist/components/docs/integrations/index.js +3312 -16
  235. package/dist/components/docs/intent/ContractFirstApiPage.d.ts +3 -9
  236. package/dist/components/docs/intent/ContractFirstApiPage.d.ts.map +1 -1
  237. package/dist/components/docs/intent/ContractFirstApiPage.js +120 -96
  238. package/dist/components/docs/intent/DeterministicCodegenPage.d.ts +3 -9
  239. package/dist/components/docs/intent/DeterministicCodegenPage.d.ts.map +1 -1
  240. package/dist/components/docs/intent/DeterministicCodegenPage.js +138 -117
  241. package/dist/components/docs/intent/GenerateClientFromSchemaPage.d.ts +3 -9
  242. package/dist/components/docs/intent/GenerateClientFromSchemaPage.d.ts.map +1 -1
  243. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +198 -168
  244. package/dist/components/docs/intent/OpenapiAlternativePage.d.ts +3 -9
  245. package/dist/components/docs/intent/OpenapiAlternativePage.d.ts.map +1 -1
  246. package/dist/components/docs/intent/OpenapiAlternativePage.js +196 -146
  247. package/dist/components/docs/intent/SchemaValidationTypescriptPage.d.ts +3 -9
  248. package/dist/components/docs/intent/SchemaValidationTypescriptPage.d.ts.map +1 -1
  249. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +138 -117
  250. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.d.ts +3 -9
  251. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.d.ts.map +1 -1
  252. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +120 -96
  253. package/dist/components/docs/intent/index.d.ts +8 -7
  254. package/dist/components/docs/intent/index.d.ts.map +1 -0
  255. package/dist/components/docs/intent/index.js +1595 -8
  256. package/dist/components/docs/intent/intent-pages.docblocks.d.ts +7 -11
  257. package/dist/components/docs/intent/intent-pages.docblocks.d.ts.map +1 -1
  258. package/dist/components/docs/intent/intent-pages.docblocks.js +196 -173
  259. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.d.ts +1 -6
  260. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.d.ts.map +1 -1
  261. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +748 -447
  262. package/dist/components/docs/knowledge/KnowledgeExamplesPage.d.ts +1 -6
  263. package/dist/components/docs/knowledge/KnowledgeExamplesPage.d.ts.map +1 -1
  264. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +189 -125
  265. package/dist/components/docs/knowledge/KnowledgeOverviewPage.d.ts +1 -6
  266. package/dist/components/docs/knowledge/KnowledgeOverviewPage.d.ts.map +1 -1
  267. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +405 -294
  268. package/dist/components/docs/knowledge/KnowledgeSourcesPage.d.ts +1 -6
  269. package/dist/components/docs/knowledge/KnowledgeSourcesPage.d.ts.map +1 -1
  270. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +389 -288
  271. package/dist/components/docs/knowledge/KnowledgeSpacesPage.d.ts +1 -6
  272. package/dist/components/docs/knowledge/KnowledgeSpacesPage.d.ts.map +1 -1
  273. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +300 -227
  274. package/dist/components/docs/knowledge/index.d.ts +6 -6
  275. package/dist/components/docs/knowledge/index.d.ts.map +1 -0
  276. package/dist/components/docs/knowledge/index.js +2444 -6
  277. package/dist/components/docs/libraries/LibrariesAccessibilityPage.d.ts +1 -6
  278. package/dist/components/docs/libraries/LibrariesAccessibilityPage.d.ts.map +1 -1
  279. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +193 -132
  280. package/dist/components/docs/libraries/LibrariesAiAgentPage.d.ts +1 -6
  281. package/dist/components/docs/libraries/LibrariesAiAgentPage.d.ts.map +1 -1
  282. package/dist/components/docs/libraries/LibrariesAiAgentPage.js +141 -89
  283. package/dist/components/docs/libraries/LibrariesAnalyticsPage.d.ts +1 -6
  284. package/dist/components/docs/libraries/LibrariesAnalyticsPage.d.ts.map +1 -1
  285. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +75 -59
  286. package/dist/components/docs/libraries/LibrariesContentGenPage.d.ts +1 -6
  287. package/dist/components/docs/libraries/LibrariesContentGenPage.d.ts.map +1 -1
  288. package/dist/components/docs/libraries/LibrariesContentGenPage.js +96 -67
  289. package/dist/components/docs/libraries/LibrariesContractsPage.d.ts +1 -6
  290. package/dist/components/docs/libraries/LibrariesContractsPage.d.ts.map +1 -1
  291. package/dist/components/docs/libraries/LibrariesContractsPage.js +277 -140
  292. package/dist/components/docs/libraries/LibrariesCostTrackingPage.d.ts +1 -6
  293. package/dist/components/docs/libraries/LibrariesCostTrackingPage.d.ts.map +1 -1
  294. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +107 -76
  295. package/dist/components/docs/libraries/LibrariesDataBackendPage.d.ts +1 -6
  296. package/dist/components/docs/libraries/LibrariesDataBackendPage.d.ts.map +1 -1
  297. package/dist/components/docs/libraries/LibrariesDataBackendPage.js +162 -106
  298. package/dist/components/docs/libraries/LibrariesDataViewsPage.d.ts +1 -6
  299. package/dist/components/docs/libraries/LibrariesDataViewsPage.d.ts.map +1 -1
  300. package/dist/components/docs/libraries/LibrariesDataViewsPage.js +181 -112
  301. package/dist/components/docs/libraries/LibrariesDesignSystemPage.d.ts +1 -6
  302. package/dist/components/docs/libraries/LibrariesDesignSystemPage.d.ts.map +1 -1
  303. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +273 -158
  304. package/dist/components/docs/libraries/LibrariesEvolutionPage.d.ts +1 -6
  305. package/dist/components/docs/libraries/LibrariesEvolutionPage.d.ts.map +1 -1
  306. package/dist/components/docs/libraries/LibrariesEvolutionPage.js +121 -91
  307. package/dist/components/docs/libraries/LibrariesGraphQLPage.d.ts +1 -6
  308. package/dist/components/docs/libraries/LibrariesGraphQLPage.d.ts.map +1 -1
  309. package/dist/components/docs/libraries/LibrariesGraphQLPage.js +169 -118
  310. package/dist/components/docs/libraries/LibrariesGrowthPage.d.ts +1 -6
  311. package/dist/components/docs/libraries/LibrariesGrowthPage.d.ts.map +1 -1
  312. package/dist/components/docs/libraries/LibrariesGrowthPage.js +83 -62
  313. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.d.ts +1 -6
  314. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.d.ts.map +1 -1
  315. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +103 -84
  316. package/dist/components/docs/libraries/LibrariesObservabilityPage.d.ts +1 -6
  317. package/dist/components/docs/libraries/LibrariesObservabilityPage.d.ts.map +1 -1
  318. package/dist/components/docs/libraries/LibrariesObservabilityPage.js +123 -100
  319. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.d.ts +1 -6
  320. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.d.ts.map +1 -1
  321. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +104 -86
  322. package/dist/components/docs/libraries/LibrariesOverviewPage.d.ts +1 -6
  323. package/dist/components/docs/libraries/LibrariesOverviewPage.d.ts.map +1 -1
  324. package/dist/components/docs/libraries/LibrariesOverviewPage.js +481 -356
  325. package/dist/components/docs/libraries/LibrariesPersonalizationPage.d.ts +1 -6
  326. package/dist/components/docs/libraries/LibrariesPersonalizationPage.d.ts.map +1 -1
  327. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +108 -93
  328. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.d.ts +1 -6
  329. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.d.ts.map +1 -1
  330. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +127 -96
  331. package/dist/components/docs/libraries/LibrariesResiliencePage.d.ts +1 -6
  332. package/dist/components/docs/libraries/LibrariesResiliencePage.d.ts.map +1 -1
  333. package/dist/components/docs/libraries/LibrariesResiliencePage.js +114 -97
  334. package/dist/components/docs/libraries/LibrariesRuntimePage.d.ts +1 -6
  335. package/dist/components/docs/libraries/LibrariesRuntimePage.d.ts.map +1 -1
  336. package/dist/components/docs/libraries/LibrariesRuntimePage.js +196 -116
  337. package/dist/components/docs/libraries/LibrariesSLOPage.d.ts +1 -6
  338. package/dist/components/docs/libraries/LibrariesSLOPage.d.ts.map +1 -1
  339. package/dist/components/docs/libraries/LibrariesSLOPage.js +111 -83
  340. package/dist/components/docs/libraries/LibrariesSchemaPage.d.ts +1 -6
  341. package/dist/components/docs/libraries/LibrariesSchemaPage.d.ts.map +1 -1
  342. package/dist/components/docs/libraries/LibrariesSchemaPage.js +268 -151
  343. package/dist/components/docs/libraries/LibrariesSupportBotPage.d.ts +1 -6
  344. package/dist/components/docs/libraries/LibrariesSupportBotPage.d.ts.map +1 -1
  345. package/dist/components/docs/libraries/LibrariesSupportBotPage.js +129 -77
  346. package/dist/components/docs/libraries/LibrariesTestingPage.d.ts +1 -6
  347. package/dist/components/docs/libraries/LibrariesTestingPage.d.ts.map +1 -1
  348. package/dist/components/docs/libraries/LibrariesTestingPage.js +121 -91
  349. package/dist/components/docs/libraries/LibrariesUIKitPage.d.ts +1 -6
  350. package/dist/components/docs/libraries/LibrariesUIKitPage.d.ts.map +1 -1
  351. package/dist/components/docs/libraries/LibrariesUIKitPage.js +226 -136
  352. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.d.ts +1 -6
  353. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.d.ts.map +1 -1
  354. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +83 -62
  355. package/dist/components/docs/libraries/LibrariesWorkflowsPage.d.ts +1 -6
  356. package/dist/components/docs/libraries/LibrariesWorkflowsPage.d.ts.map +1 -1
  357. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +177 -111
  358. package/dist/components/docs/libraries/index.d.ts +28 -28
  359. package/dist/components/docs/libraries/index.d.ts.map +1 -0
  360. package/dist/components/docs/libraries/index.js +5005 -29
  361. package/dist/components/docs/manifesto/ManifestoPage.d.ts +1 -6
  362. package/dist/components/docs/manifesto/ManifestoPage.d.ts.map +1 -1
  363. package/dist/components/docs/manifesto/ManifestoPage.js +190 -183
  364. package/dist/components/docs/ops/AutoEvolutionOpsPage.d.ts +1 -6
  365. package/dist/components/docs/ops/AutoEvolutionOpsPage.d.ts.map +1 -1
  366. package/dist/components/docs/ops/AutoEvolutionOpsPage.js +130 -92
  367. package/dist/components/docs/ops/DistributedTracingOpsPage.d.ts +1 -6
  368. package/dist/components/docs/ops/DistributedTracingOpsPage.d.ts.map +1 -1
  369. package/dist/components/docs/ops/DistributedTracingOpsPage.js +69 -55
  370. package/dist/components/docs/ops/index.d.ts +3 -3
  371. package/dist/components/docs/ops/index.d.ts.map +1 -0
  372. package/dist/components/docs/ops/index.js +213 -3
  373. package/dist/components/docs/ops/ops-lifecycle.docblocks.d.ts +2 -6
  374. package/dist/components/docs/ops/ops-lifecycle.docblocks.d.ts.map +1 -1
  375. package/dist/components/docs/ops/ops-lifecycle.docblocks.js +38 -38
  376. package/dist/components/docs/ops/ops-runbooks-a.docblocks.d.ts +2 -6
  377. package/dist/components/docs/ops/ops-runbooks-a.docblocks.d.ts.map +1 -1
  378. package/dist/components/docs/ops/ops-runbooks-a.docblocks.js +68 -68
  379. package/dist/components/docs/ops/ops-runbooks-b.docblocks.d.ts +2 -6
  380. package/dist/components/docs/ops/ops-runbooks-b.docblocks.d.ts.map +1 -1
  381. package/dist/components/docs/ops/ops-runbooks-b.docblocks.js +69 -69
  382. package/dist/components/docs/ops/ops-slo-tenant.docblocks.d.ts +2 -6
  383. package/dist/components/docs/ops/ops-slo-tenant.docblocks.d.ts.map +1 -1
  384. package/dist/components/docs/ops/ops-slo-tenant.docblocks.js +69 -69
  385. package/dist/components/docs/ops/ops-top.docs.d.ts +2 -6
  386. package/dist/components/docs/ops/ops-top.docs.d.ts.map +1 -1
  387. package/dist/components/docs/ops/ops-top.docs.js +17 -15
  388. package/dist/components/docs/ops/ops.docs.d.ts +2 -6
  389. package/dist/components/docs/ops/ops.docs.d.ts.map +1 -1
  390. package/dist/components/docs/ops/ops.docs.js +579 -16
  391. package/dist/components/docs/product/product.docblocks.d.ts +2 -6
  392. package/dist/components/docs/product/product.docblocks.d.ts.map +1 -1
  393. package/dist/components/docs/product/product.docblocks.js +66 -67
  394. package/dist/components/docs/reference/DocsMarkdownContent.d.ts +3 -10
  395. package/dist/components/docs/reference/DocsMarkdownContent.d.ts.map +1 -1
  396. package/dist/components/docs/reference/DocsMarkdownContent.js +188 -64
  397. package/dist/components/docs/reference/DocsReferenceContent.d.ts +5 -12
  398. package/dist/components/docs/reference/DocsReferenceContent.d.ts.map +1 -1
  399. package/dist/components/docs/reference/DocsReferenceContent.js +251 -45
  400. package/dist/components/docs/reference/DocsReferenceIndexClient.d.ts +4 -10
  401. package/dist/components/docs/reference/DocsReferenceIndexClient.d.ts.map +1 -1
  402. package/dist/components/docs/reference/DocsReferenceIndexClient.js +120 -98
  403. package/dist/components/docs/reference/DocsReferenceIndexPage.d.ts +1 -6
  404. package/dist/components/docs/reference/DocsReferenceIndexPage.d.ts.map +1 -1
  405. package/dist/components/docs/reference/DocsReferenceIndexPage.js +205 -9
  406. package/dist/components/docs/reference/DocsReferencePage.d.ts +5 -12
  407. package/dist/components/docs/reference/DocsReferencePage.d.ts.map +1 -1
  408. package/dist/components/docs/reference/DocsReferencePage.js +264 -11
  409. package/dist/components/docs/reference/docsMarkdownParser.d.ts +15 -18
  410. package/dist/components/docs/reference/docsMarkdownParser.d.ts.map +1 -1
  411. package/dist/components/docs/reference/docsMarkdownParser.js +87 -90
  412. package/dist/components/docs/reference/index.d.ts +3 -3
  413. package/dist/components/docs/reference/index.d.ts.map +1 -0
  414. package/dist/components/docs/reference/index.js +472 -3
  415. package/dist/components/docs/safety/SafetyAuditingPage.d.ts +1 -6
  416. package/dist/components/docs/safety/SafetyAuditingPage.d.ts.map +1 -1
  417. package/dist/components/docs/safety/SafetyAuditingPage.js +348 -210
  418. package/dist/components/docs/safety/SafetyMigrationsPage.d.ts +1 -6
  419. package/dist/components/docs/safety/SafetyMigrationsPage.d.ts.map +1 -1
  420. package/dist/components/docs/safety/SafetyMigrationsPage.js +357 -220
  421. package/dist/components/docs/safety/SafetyOverviewPage.d.ts +1 -6
  422. package/dist/components/docs/safety/SafetyOverviewPage.d.ts.map +1 -1
  423. package/dist/components/docs/safety/SafetyOverviewPage.js +236 -194
  424. package/dist/components/docs/safety/SafetyPDPPage.d.ts +1 -6
  425. package/dist/components/docs/safety/SafetyPDPPage.d.ts.map +1 -1
  426. package/dist/components/docs/safety/SafetyPDPPage.js +299 -201
  427. package/dist/components/docs/safety/SafetySecurityTrustPage.d.ts +1 -6
  428. package/dist/components/docs/safety/SafetySecurityTrustPage.d.ts.map +1 -1
  429. package/dist/components/docs/safety/SafetySecurityTrustPage.js +204 -154
  430. package/dist/components/docs/safety/SafetySigningPage.d.ts +1 -6
  431. package/dist/components/docs/safety/SafetySigningPage.d.ts.map +1 -1
  432. package/dist/components/docs/safety/SafetySigningPage.js +89 -66
  433. package/dist/components/docs/safety/SafetyTenantIsolationPage.d.ts +1 -6
  434. package/dist/components/docs/safety/SafetyTenantIsolationPage.d.ts.map +1 -1
  435. package/dist/components/docs/safety/SafetyTenantIsolationPage.js +77 -59
  436. package/dist/components/docs/safety/index.d.ts +8 -8
  437. package/dist/components/docs/safety/index.d.ts.map +1 -0
  438. package/dist/components/docs/safety/index.js +1698 -9
  439. package/dist/components/docs/shared/StudioPrompt.d.ts +6 -15
  440. package/dist/components/docs/shared/StudioPrompt.d.ts.map +1 -1
  441. package/dist/components/docs/shared/StudioPrompt.js +30 -26
  442. package/dist/components/docs/specs/SpecsCapabilitiesPage.d.ts +1 -6
  443. package/dist/components/docs/specs/SpecsCapabilitiesPage.d.ts.map +1 -1
  444. package/dist/components/docs/specs/SpecsCapabilitiesPage.js +156 -126
  445. package/dist/components/docs/specs/SpecsDataViewsPage.d.ts +1 -6
  446. package/dist/components/docs/specs/SpecsDataViewsPage.d.ts.map +1 -1
  447. package/dist/components/docs/specs/SpecsDataViewsPage.js +258 -168
  448. package/dist/components/docs/specs/SpecsOverlaysPage.d.ts +1 -6
  449. package/dist/components/docs/specs/SpecsOverlaysPage.d.ts.map +1 -1
  450. package/dist/components/docs/specs/SpecsOverlaysPage.js +370 -205
  451. package/dist/components/docs/specs/SpecsOverviewPage.d.ts +1 -6
  452. package/dist/components/docs/specs/SpecsOverviewPage.d.ts.map +1 -1
  453. package/dist/components/docs/specs/SpecsOverviewPage.js +346 -277
  454. package/dist/components/docs/specs/SpecsPolicyPage.d.ts +1 -6
  455. package/dist/components/docs/specs/SpecsPolicyPage.d.ts.map +1 -1
  456. package/dist/components/docs/specs/SpecsPolicyPage.js +418 -311
  457. package/dist/components/docs/specs/SpecsWorkflowsPage.d.ts +1 -6
  458. package/dist/components/docs/specs/SpecsWorkflowsPage.d.ts.map +1 -1
  459. package/dist/components/docs/specs/SpecsWorkflowsPage.js +310 -205
  460. package/dist/components/docs/specs/index.d.ts +7 -7
  461. package/dist/components/docs/specs/index.d.ts.map +1 -0
  462. package/dist/components/docs/specs/index.js +2082 -8
  463. package/dist/components/docs/studio/StudioBYOKPage.d.ts +1 -6
  464. package/dist/components/docs/studio/StudioBYOKPage.d.ts.map +1 -1
  465. package/dist/components/docs/studio/StudioBYOKPage.js +78 -76
  466. package/dist/components/docs/studio/StudioDeploymentsPage.d.ts +1 -6
  467. package/dist/components/docs/studio/StudioDeploymentsPage.d.ts.map +1 -1
  468. package/dist/components/docs/studio/StudioDeploymentsPage.js +99 -81
  469. package/dist/components/docs/studio/StudioGettingStartedPage.d.ts +1 -6
  470. package/dist/components/docs/studio/StudioGettingStartedPage.d.ts.map +1 -1
  471. package/dist/components/docs/studio/StudioGettingStartedPage.js +82 -80
  472. package/dist/components/docs/studio/StudioIntegrationsPage.d.ts +1 -6
  473. package/dist/components/docs/studio/StudioIntegrationsPage.d.ts.map +1 -1
  474. package/dist/components/docs/studio/StudioIntegrationsPage.js +70 -65
  475. package/dist/components/docs/studio/StudioOverviewPage.d.ts +1 -6
  476. package/dist/components/docs/studio/StudioOverviewPage.d.ts.map +1 -1
  477. package/dist/components/docs/studio/StudioOverviewPage.js +71 -66
  478. package/dist/components/docs/studio/StudioVisualBuilderPage.d.ts +1 -6
  479. package/dist/components/docs/studio/StudioVisualBuilderPage.d.ts.map +1 -1
  480. package/dist/components/docs/studio/StudioVisualBuilderPage.js +118 -99
  481. package/dist/components/docs/studio/index.d.ts +7 -7
  482. package/dist/components/docs/studio/index.d.ts.map +1 -0
  483. package/dist/components/docs/studio/index.js +538 -8
  484. package/dist/components/docs/tech/contracts/tech-docs.docblocks.d.ts +2 -6
  485. package/dist/components/docs/tech/contracts/tech-docs.docblocks.d.ts.map +1 -1
  486. package/dist/components/docs/tech/contracts/tech-docs.docblocks.js +17 -16
  487. package/dist/components/integrations/index.d.ts +5 -5
  488. package/dist/components/integrations/index.d.ts.map +1 -0
  489. package/dist/components/integrations/index.js +601 -5
  490. package/dist/components/integrations/molecules/IntegrationCard.d.ts +11 -26
  491. package/dist/components/integrations/molecules/IntegrationCard.d.ts.map +1 -1
  492. package/dist/components/integrations/molecules/IntegrationCard.js +98 -60
  493. package/dist/components/integrations/organisms/IntegrationMarketplace.d.ts +13 -22
  494. package/dist/components/integrations/organisms/IntegrationMarketplace.d.ts.map +1 -1
  495. package/dist/components/integrations/organisms/IntegrationMarketplace.js +211 -77
  496. package/dist/components/integrations/organisms/IntegrationSettings.d.ts +15 -27
  497. package/dist/components/integrations/organisms/IntegrationSettings.d.ts.map +1 -1
  498. package/dist/components/integrations/organisms/IntegrationSettings.js +281 -189
  499. package/dist/components/integrations/organisms/KnowledgeSourceList.d.ts +12 -22
  500. package/dist/components/integrations/organisms/KnowledgeSourceList.d.ts.map +1 -1
  501. package/dist/components/integrations/organisms/KnowledgeSourceList.js +102 -65
  502. package/dist/components/legal/PrivacyTemplate.d.ts +3 -9
  503. package/dist/components/legal/PrivacyTemplate.d.ts.map +1 -1
  504. package/dist/components/legal/PrivacyTemplate.js +1023 -842
  505. package/dist/components/legal/TermsTemplate.d.ts +3 -9
  506. package/dist/components/legal/TermsTemplate.d.ts.map +1 -1
  507. package/dist/components/legal/TermsTemplate.js +939 -780
  508. package/dist/components/legal/index.d.ts +3 -3
  509. package/dist/components/legal/index.d.ts.map +1 -0
  510. package/dist/components/legal/index.js +1963 -3
  511. package/dist/components/shared/FeatureGateNotice.d.ts +6 -16
  512. package/dist/components/shared/FeatureGateNotice.d.ts.map +1 -1
  513. package/dist/components/shared/FeatureGateNotice.js +37 -32
  514. package/dist/components/shared/index.d.ts +2 -2
  515. package/dist/components/shared/index.d.ts.map +1 -0
  516. package/dist/components/shared/index.js +39 -3
  517. package/dist/components/shell/WorkspaceHeader.d.ts +19 -32
  518. package/dist/components/shell/WorkspaceHeader.d.ts.map +1 -1
  519. package/dist/components/shell/WorkspaceHeader.js +97 -59
  520. package/dist/components/shell/WorkspaceProjectShellLayout.d.ts +9 -28
  521. package/dist/components/shell/WorkspaceProjectShellLayout.d.ts.map +1 -1
  522. package/dist/components/shell/WorkspaceProjectShellLayout.js +220 -35
  523. package/dist/components/shell/WorkspaceSidebar.d.ts +12 -22
  524. package/dist/components/shell/WorkspaceSidebar.d.ts.map +1 -1
  525. package/dist/components/shell/WorkspaceSidebar.js +67 -31
  526. package/dist/components/shell/index.d.ts +4 -4
  527. package/dist/components/shell/index.d.ts.map +1 -0
  528. package/dist/components/shell/index.js +224 -4
  529. package/dist/components/templates/engine/index.d.ts +18 -11
  530. package/dist/components/templates/engine/index.d.ts.map +1 -1
  531. package/dist/components/templates/engine/index.js +28 -41
  532. package/dist/components/templates/index.d.ts +4 -16
  533. package/dist/components/templates/index.d.ts.map +1 -0
  534. package/dist/components/templates/index.js +1067 -17
  535. package/dist/components/templates/messaging/ConversationList.d.ts +4 -12
  536. package/dist/components/templates/messaging/ConversationList.d.ts.map +1 -1
  537. package/dist/components/templates/messaging/ConversationList.js +79 -52
  538. package/dist/components/templates/messaging/MessageComposer.d.ts +5 -14
  539. package/dist/components/templates/messaging/MessageComposer.d.ts.map +1 -1
  540. package/dist/components/templates/messaging/MessageComposer.js +159 -52
  541. package/dist/components/templates/messaging/MessageThread.d.ts +5 -14
  542. package/dist/components/templates/messaging/MessageThread.d.ts.map +1 -1
  543. package/dist/components/templates/messaging/MessageThread.js +78 -75
  544. package/dist/components/templates/messaging/MessagingWorkspace.d.ts +1 -6
  545. package/dist/components/templates/messaging/MessagingWorkspace.d.ts.map +1 -1
  546. package/dist/components/templates/messaging/MessagingWorkspace.js +290 -25
  547. package/dist/components/templates/messaging/index.d.ts +5 -5
  548. package/dist/components/templates/messaging/index.d.ts.map +1 -0
  549. package/dist/components/templates/messaging/index.js +300 -5
  550. package/dist/components/templates/messaging/types.d.ts +20 -23
  551. package/dist/components/templates/messaging/types.d.ts.map +1 -1
  552. package/dist/components/templates/messaging/types.js +1 -0
  553. package/dist/components/templates/recipes/LanguageSwitcher.d.ts +4 -12
  554. package/dist/components/templates/recipes/LanguageSwitcher.d.ts.map +1 -1
  555. package/dist/components/templates/recipes/LanguageSwitcher.js +15 -16
  556. package/dist/components/templates/recipes/RecipeCard.d.ts +6 -15
  557. package/dist/components/templates/recipes/RecipeCard.d.ts.map +1 -1
  558. package/dist/components/templates/recipes/RecipeCard.js +79 -57
  559. package/dist/components/templates/recipes/RecipeDetail.d.ts +4 -11
  560. package/dist/components/templates/recipes/RecipeDetail.d.ts.map +1 -1
  561. package/dist/components/templates/recipes/RecipeDetail.js +72 -47
  562. package/dist/components/templates/recipes/RecipeList.d.ts +1 -6
  563. package/dist/components/templates/recipes/RecipeList.d.ts.map +1 -1
  564. package/dist/components/templates/recipes/RecipeList.js +236 -72
  565. package/dist/components/templates/recipes/index.d.ts +5 -5
  566. package/dist/components/templates/recipes/index.d.ts.map +1 -0
  567. package/dist/components/templates/recipes/index.js +282 -5
  568. package/dist/components/templates/recipes/types.d.ts +23 -26
  569. package/dist/components/templates/recipes/types.d.ts.map +1 -1
  570. package/dist/components/templates/recipes/types.js +1 -0
  571. package/dist/components/templates/todos/FilterBar.d.ts +11 -20
  572. package/dist/components/templates/todos/FilterBar.d.ts.map +1 -1
  573. package/dist/components/templates/todos/FilterBar.js +106 -95
  574. package/dist/components/templates/todos/TaskForm.d.ts +4 -11
  575. package/dist/components/templates/todos/TaskForm.d.ts.map +1 -1
  576. package/dist/components/templates/todos/TaskForm.js +150 -127
  577. package/dist/components/templates/todos/TaskItem.d.ts +6 -15
  578. package/dist/components/templates/todos/TaskItem.d.ts.map +1 -1
  579. package/dist/components/templates/todos/TaskItem.js +75 -64
  580. package/dist/components/templates/todos/TaskList.d.ts +1 -6
  581. package/dist/components/templates/todos/TaskList.d.ts.map +1 -1
  582. package/dist/components/templates/todos/TaskList.js +446 -102
  583. package/dist/components/templates/todos/index.d.ts +5 -5
  584. package/dist/components/templates/todos/index.d.ts.map +1 -0
  585. package/dist/components/templates/todos/index.js +488 -5
  586. package/dist/components/templates/todos/types.d.ts +14 -17
  587. package/dist/components/templates/todos/types.d.ts.map +1 -1
  588. package/dist/components/templates/todos/types.js +1 -0
  589. package/dist/config/contractspec-blueprint.d.ts +2 -6
  590. package/dist/config/contractspec-blueprint.d.ts.map +1 -1
  591. package/dist/config/contractspec-blueprint.js +122 -70
  592. package/dist/config/contractspec-branding.d.ts +3 -7
  593. package/dist/config/contractspec-branding.d.ts.map +1 -1
  594. package/dist/config/contractspec-branding.js +43 -66
  595. package/dist/config/contractspec-routes.d.ts +2 -6
  596. package/dist/config/contractspec-routes.d.ts.map +1 -1
  597. package/dist/config/contractspec-routes.js +24 -68
  598. package/dist/config/index.d.ts +5 -5
  599. package/dist/config/index.d.ts.map +1 -0
  600. package/dist/config/index.js +126 -4
  601. package/dist/features/contracts-registry.d.ts +39 -36
  602. package/dist/features/contracts-registry.d.ts.map +1 -1
  603. package/dist/features/contracts-registry.js +122 -85
  604. package/dist/features/docs/docs.contracts.d.ts +2 -2
  605. package/dist/features/docs/docs.contracts.d.ts.map +1 -0
  606. package/dist/features/docs/docs.contracts.js +18 -3
  607. package/dist/features/docs/index.d.ts +2 -2
  608. package/dist/features/docs/index.d.ts.map +1 -0
  609. package/dist/features/docs/index.js +18 -3
  610. package/dist/features/docs.feature.d.ts +2 -6
  611. package/dist/features/docs.feature.d.ts.map +1 -1
  612. package/dist/features/docs.feature.js +33 -59
  613. package/dist/features/index.d.ts +10 -9
  614. package/dist/features/index.d.ts.map +1 -0
  615. package/dist/features/index.js +310 -8
  616. package/dist/features/mcp.feature.d.ts +2 -6
  617. package/dist/features/mcp.feature.d.ts.map +1 -1
  618. package/dist/features/mcp.feature.js +30 -56
  619. package/dist/features/presentations.feature.d.ts +2 -6
  620. package/dist/features/presentations.feature.d.ts.map +1 -1
  621. package/dist/features/presentations.feature.js +33 -60
  622. package/dist/features/registry.d.ts +4 -8
  623. package/dist/features/registry.d.ts.map +1 -1
  624. package/dist/features/registry.js +109 -31
  625. package/dist/index.d.ts +9 -158
  626. package/dist/index.d.ts.map +1 -0
  627. package/dist/index.js +32497 -158
  628. package/dist/infrastructure/elysia/index.d.ts +2 -2
  629. package/dist/infrastructure/elysia/index.d.ts.map +1 -0
  630. package/dist/infrastructure/elysia/index.js +36 -3
  631. package/dist/infrastructure/elysia/logger.d.ts +6 -9
  632. package/dist/infrastructure/elysia/logger.d.ts.map +1 -1
  633. package/dist/infrastructure/elysia/logger.js +33 -29
  634. package/dist/infrastructure/index.d.ts +2 -3
  635. package/dist/infrastructure/index.d.ts.map +1 -0
  636. package/dist/infrastructure/index.js +36 -4
  637. package/dist/libs/email/client.d.ts +9 -12
  638. package/dist/libs/email/client.d.ts.map +1 -1
  639. package/dist/libs/email/client.js +107 -105
  640. package/dist/libs/email/client.test.d.ts +2 -0
  641. package/dist/libs/email/client.test.d.ts.map +1 -0
  642. package/dist/libs/email/contact.d.ts +2 -6
  643. package/dist/libs/email/contact.d.ts.map +1 -1
  644. package/dist/libs/email/contact.js +153 -41
  645. package/dist/libs/email/newsletter.d.ts +2 -6
  646. package/dist/libs/email/newsletter.d.ts.map +1 -1
  647. package/dist/libs/email/newsletter.js +167 -54
  648. package/dist/libs/email/types.d.ts +48 -52
  649. package/dist/libs/email/types.d.ts.map +1 -1
  650. package/dist/libs/email/types.js +3 -1
  651. package/dist/libs/email/utils.d.ts +2 -5
  652. package/dist/libs/email/utils.d.ts.map +1 -1
  653. package/dist/libs/email/utils.js +9 -7
  654. package/dist/libs/email/waitlist-application.d.ts +2 -6
  655. package/dist/libs/email/waitlist-application.d.ts.map +1 -1
  656. package/dist/libs/email/waitlist-application.js +187 -69
  657. package/dist/libs/email/waitlist.d.ts +2 -6
  658. package/dist/libs/email/waitlist.d.ts.map +1 -1
  659. package/dist/libs/email/waitlist.js +169 -56
  660. package/dist/libs/email.d.ts +6 -6
  661. package/dist/libs/email.d.ts.map +1 -0
  662. package/dist/libs/email.js +541 -6
  663. package/dist/libs/posthog/client.d.ts +15 -17
  664. package/dist/libs/posthog/client.d.ts.map +1 -1
  665. package/dist/libs/posthog/client.js +56 -44
  666. package/dist/libs/posthog/native.d.ts +6 -9
  667. package/dist/libs/posthog/native.d.ts.map +1 -1
  668. package/dist/libs/posthog/native.js +21 -16
  669. package/dist/libs/posthog/server.d.ts +3 -6
  670. package/dist/libs/posthog/server.d.ts.map +1 -1
  671. package/dist/libs/posthog/server.js +12 -12
  672. package/dist/libs/pricing-examples.d.ts +13 -16
  673. package/dist/libs/pricing-examples.d.ts.map +1 -1
  674. package/dist/libs/pricing-examples.js +18 -20
  675. package/dist/node/application/index.js +696 -0
  676. package/dist/node/application/mcp/cliMcp.js +341 -0
  677. package/dist/node/application/mcp/common.js +77 -0
  678. package/dist/node/application/mcp/docsMcp.js +267 -0
  679. package/dist/node/application/mcp/index.js +696 -0
  680. package/dist/node/application/mcp/internalMcp.js +294 -0
  681. package/dist/node/components/docs/DocsIndexPage.js +270 -0
  682. package/dist/node/components/docs/advanced/AdvancedMCPPage.js +337 -0
  683. package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +107 -0
  684. package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +132 -0
  685. package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +124 -0
  686. package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +417 -0
  687. package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +108 -0
  688. package/dist/node/components/docs/advanced/index.js +1220 -0
  689. package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +383 -0
  690. package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +386 -0
  691. package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +528 -0
  692. package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +172 -0
  693. package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +448 -0
  694. package/dist/node/components/docs/architecture/index.js +1913 -0
  695. package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +245 -0
  696. package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +230 -0
  697. package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +245 -0
  698. package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +202 -0
  699. package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +254 -0
  700. package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +339 -0
  701. package/dist/node/components/docs/comparison/index.js +1510 -0
  702. package/dist/node/components/docs/ecosystem/IntegrationsPage.js +102 -0
  703. package/dist/node/components/docs/ecosystem/PluginsPage.js +200 -0
  704. package/dist/node/components/docs/ecosystem/RegistryPage.js +119 -0
  705. package/dist/node/components/docs/ecosystem/TemplatesPage.js +146 -0
  706. package/dist/node/components/docs/ecosystem/ecosystem.docblocks.js +49 -0
  707. package/dist/node/components/docs/ecosystem/index.js +614 -0
  708. package/dist/node/components/docs/examples/DocsExamplesPage.js +84 -0
  709. package/dist/node/components/docs/examples/index.js +84 -0
  710. package/dist/node/components/docs/generated/docs-index.generated.js +5 -0
  711. package/dist/node/components/docs/generated/index.js +74 -0
  712. package/dist/node/components/docs/generated/loader.js +74 -0
  713. package/dist/node/components/docs/getting-started/CLIPage.js +292 -0
  714. package/dist/node/components/docs/getting-started/CompatibilityPage.js +173 -0
  715. package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +238 -0
  716. package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +194 -0
  717. package/dist/node/components/docs/getting-started/HelloWorldPage.js +273 -0
  718. package/dist/node/components/docs/getting-started/InstallationPage.js +156 -0
  719. package/dist/node/components/docs/getting-started/StartHerePage.js +129 -0
  720. package/dist/node/components/docs/getting-started/TroubleshootingPage.js +169 -0
  721. package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +432 -0
  722. package/dist/node/components/docs/getting-started/getting-started.docblocks.js +137 -0
  723. package/dist/node/components/docs/getting-started/index.js +2183 -0
  724. package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +197 -0
  725. package/dist/node/components/docs/guides/GuideContractTypesPage.js +738 -0
  726. package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +225 -0
  727. package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +211 -0
  728. package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +878 -0
  729. package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +318 -0
  730. package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +255 -0
  731. package/dist/node/components/docs/guides/GuidesIndexPage.js +149 -0
  732. package/dist/node/components/docs/guides/guides.docblocks.js +111 -0
  733. package/dist/node/components/docs/guides/index.js +2902 -0
  734. package/dist/node/components/docs/index.js +28181 -0
  735. package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +51 -0
  736. package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +123 -0
  737. package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +131 -0
  738. package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +104 -0
  739. package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +195 -0
  740. package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +650 -0
  741. package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +261 -0
  742. package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +352 -0
  743. package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +178 -0
  744. package/dist/node/components/docs/integrations/IntegrationsResendPage.js +123 -0
  745. package/dist/node/components/docs/integrations/IntegrationsS3Page.js +163 -0
  746. package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +422 -0
  747. package/dist/node/components/docs/integrations/IntegrationsStripePage.js +425 -0
  748. package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +146 -0
  749. package/dist/node/components/docs/integrations/index.js +3311 -0
  750. package/dist/node/components/docs/intent/ContractFirstApiPage.js +159 -0
  751. package/dist/node/components/docs/intent/DeterministicCodegenPage.js +184 -0
  752. package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +398 -0
  753. package/dist/node/components/docs/intent/OpenapiAlternativePage.js +237 -0
  754. package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +236 -0
  755. package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +197 -0
  756. package/dist/node/components/docs/intent/index.js +1594 -0
  757. package/dist/node/components/docs/intent/intent-pages.docblocks.js +201 -0
  758. package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +829 -0
  759. package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +340 -0
  760. package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +464 -0
  761. package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +454 -0
  762. package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +361 -0
  763. package/dist/node/components/docs/knowledge/index.js +2444 -0
  764. package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +227 -0
  765. package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +168 -0
  766. package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +96 -0
  767. package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +119 -0
  768. package/dist/node/components/docs/libraries/LibrariesContractsPage.js +302 -0
  769. package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +123 -0
  770. package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +183 -0
  771. package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +204 -0
  772. package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +312 -0
  773. package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +164 -0
  774. package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +186 -0
  775. package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +116 -0
  776. package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +118 -0
  777. package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +149 -0
  778. package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +135 -0
  779. package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +483 -0
  780. package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +129 -0
  781. package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +151 -0
  782. package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +138 -0
  783. package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +239 -0
  784. package/dist/node/components/docs/libraries/LibrariesSLOPage.js +126 -0
  785. package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +304 -0
  786. package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +144 -0
  787. package/dist/node/components/docs/libraries/LibrariesTestingPage.js +159 -0
  788. package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +247 -0
  789. package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +108 -0
  790. package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +200 -0
  791. package/dist/node/components/docs/libraries/index.js +5004 -0
  792. package/dist/node/components/docs/manifesto/ManifestoPage.js +191 -0
  793. package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +141 -0
  794. package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +73 -0
  795. package/dist/node/components/docs/ops/index.js +213 -0
  796. package/dist/node/components/docs/ops/ops-lifecycle.docblocks.js +151 -0
  797. package/dist/node/components/docs/ops/ops-runbooks-a.docblocks.js +123 -0
  798. package/dist/node/components/docs/ops/ops-runbooks-b.docblocks.js +134 -0
  799. package/dist/node/components/docs/ops/ops-slo-tenant.docblocks.js +146 -0
  800. package/dist/node/components/docs/ops/ops-top.docs.js +25 -0
  801. package/dist/node/components/docs/ops/ops.docs.js +580 -0
  802. package/dist/node/components/docs/product/product.docblocks.js +78 -0
  803. package/dist/node/components/docs/reference/DocsMarkdownContent.js +196 -0
  804. package/dist/node/components/docs/reference/DocsReferenceContent.js +257 -0
  805. package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +128 -0
  806. package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +207 -0
  807. package/dist/node/components/docs/reference/DocsReferencePage.js +266 -0
  808. package/dist/node/components/docs/reference/docsMarkdownParser.js +92 -0
  809. package/dist/node/components/docs/reference/index.js +472 -0
  810. package/dist/node/components/docs/safety/SafetyAuditingPage.js +380 -0
  811. package/dist/node/components/docs/safety/SafetyMigrationsPage.js +381 -0
  812. package/dist/node/components/docs/safety/SafetyOverviewPage.js +238 -0
  813. package/dist/node/components/docs/safety/SafetyPDPPage.js +318 -0
  814. package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +206 -0
  815. package/dist/node/components/docs/safety/SafetySigningPage.js +92 -0
  816. package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +88 -0
  817. package/dist/node/components/docs/safety/index.js +1697 -0
  818. package/dist/node/components/docs/shared/StudioPrompt.js +31 -0
  819. package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +195 -0
  820. package/dist/node/components/docs/specs/SpecsDataViewsPage.js +299 -0
  821. package/dist/node/components/docs/specs/SpecsOverlaysPage.js +408 -0
  822. package/dist/node/components/docs/specs/SpecsOverviewPage.js +348 -0
  823. package/dist/node/components/docs/specs/SpecsPolicyPage.js +473 -0
  824. package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +363 -0
  825. package/dist/node/components/docs/specs/index.js +2081 -0
  826. package/dist/node/components/docs/studio/StudioBYOKPage.js +80 -0
  827. package/dist/node/components/docs/studio/StudioDeploymentsPage.js +101 -0
  828. package/dist/node/components/docs/studio/StudioGettingStartedPage.js +94 -0
  829. package/dist/node/components/docs/studio/StudioIntegrationsPage.js +72 -0
  830. package/dist/node/components/docs/studio/StudioOverviewPage.js +74 -0
  831. package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +121 -0
  832. package/dist/node/components/docs/studio/index.js +537 -0
  833. package/dist/node/components/docs/tech/contracts/tech-docs.docblocks.js +20 -0
  834. package/dist/node/components/integrations/index.js +601 -0
  835. package/dist/node/components/integrations/molecules/IntegrationCard.js +100 -0
  836. package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +214 -0
  837. package/dist/node/components/integrations/organisms/IntegrationSettings.js +285 -0
  838. package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +103 -0
  839. package/dist/node/components/legal/PrivacyTemplate.js +1025 -0
  840. package/dist/node/components/legal/TermsTemplate.js +941 -0
  841. package/dist/node/components/legal/index.js +1963 -0
  842. package/dist/node/components/shared/FeatureGateNotice.js +38 -0
  843. package/dist/node/components/shared/index.js +38 -0
  844. package/dist/node/components/shell/WorkspaceHeader.js +100 -0
  845. package/dist/node/components/shell/WorkspaceProjectShellLayout.js +222 -0
  846. package/dist/node/components/shell/WorkspaceSidebar.js +68 -0
  847. package/dist/node/components/shell/index.js +224 -0
  848. package/dist/node/components/templates/engine/index.js +39 -0
  849. package/dist/node/components/templates/index.js +1066 -0
  850. package/dist/node/components/templates/messaging/ConversationList.js +96 -0
  851. package/dist/node/components/templates/messaging/MessageComposer.js +168 -0
  852. package/dist/node/components/templates/messaging/MessageThread.js +96 -0
  853. package/dist/node/components/templates/messaging/MessagingWorkspace.js +296 -0
  854. package/dist/node/components/templates/messaging/index.js +300 -0
  855. package/dist/node/components/templates/messaging/types.js +0 -0
  856. package/dist/node/components/templates/recipes/LanguageSwitcher.js +16 -0
  857. package/dist/node/components/templates/recipes/RecipeCard.js +80 -0
  858. package/dist/node/components/templates/recipes/RecipeDetail.js +74 -0
  859. package/dist/node/components/templates/recipes/RecipeList.js +279 -0
  860. package/dist/node/components/templates/recipes/index.js +282 -0
  861. package/dist/node/components/templates/recipes/types.js +0 -0
  862. package/dist/node/components/templates/todos/FilterBar.js +107 -0
  863. package/dist/node/components/templates/todos/TaskForm.js +164 -0
  864. package/dist/node/components/templates/todos/TaskItem.js +77 -0
  865. package/dist/node/components/templates/todos/TaskList.js +485 -0
  866. package/dist/node/components/templates/todos/index.js +488 -0
  867. package/dist/node/components/templates/todos/types.js +0 -0
  868. package/dist/node/config/contractspec-blueprint.js +123 -0
  869. package/dist/node/config/contractspec-branding.js +44 -0
  870. package/dist/node/config/contractspec-routes.js +24 -0
  871. package/dist/node/config/index.js +126 -0
  872. package/dist/node/features/contracts-registry.js +174 -0
  873. package/dist/node/features/docs/docs.contracts.js +17 -0
  874. package/dist/node/features/docs/index.js +17 -0
  875. package/dist/node/features/docs.feature.js +33 -0
  876. package/dist/node/features/index.js +311 -0
  877. package/dist/node/features/mcp.feature.js +30 -0
  878. package/dist/node/features/presentations.feature.js +33 -0
  879. package/dist/node/features/registry.js +116 -0
  880. package/dist/node/index.js +32496 -0
  881. package/dist/node/infrastructure/elysia/index.js +35 -0
  882. package/dist/node/infrastructure/elysia/logger.js +35 -0
  883. package/dist/node/infrastructure/index.js +35 -0
  884. package/dist/node/libs/email/client.js +114 -0
  885. package/dist/node/libs/email/contact.js +182 -0
  886. package/dist/node/libs/email/newsletter.js +207 -0
  887. package/dist/node/libs/email/types.js +2 -0
  888. package/dist/node/libs/email/utils.js +8 -0
  889. package/dist/node/libs/email/waitlist-application.js +281 -0
  890. package/dist/node/libs/email/waitlist.js +217 -0
  891. package/dist/node/libs/email.js +542 -0
  892. package/dist/node/libs/posthog/client.js +63 -0
  893. package/dist/node/libs/posthog/native.js +23 -0
  894. package/dist/node/libs/posthog/server.js +13 -0
  895. package/dist/node/libs/pricing-examples.js +18 -0
  896. package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +97 -0
  897. package/dist/node/presentation/features/atoms/FeatureIcon/index.js +97 -0
  898. package/dist/node/presentation/features/atoms/index.js +97 -0
  899. package/dist/node/presentation/features/hooks/index.js +393 -0
  900. package/dist/node/presentation/features/hooks/useContractsRegistry.js +285 -0
  901. package/dist/node/presentation/features/hooks/useFeatureFilters.js +75 -0
  902. package/dist/node/presentation/features/hooks/useFeatureRegistry.js +147 -0
  903. package/dist/node/presentation/features/hooks/useRelatedDocs.js +28 -0
  904. package/dist/node/presentation/features/index.js +3059 -0
  905. package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +366 -0
  906. package/dist/node/presentation/features/molecules/FeatureCard/index.js +366 -0
  907. package/dist/node/presentation/features/molecules/FeatureCard/types.js +0 -0
  908. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +50 -0
  909. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +50 -0
  910. package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +92 -0
  911. package/dist/node/presentation/features/molecules/FeatureFilters/index.js +92 -0
  912. package/dist/node/presentation/features/molecules/FeatureFilters/types.js +0 -0
  913. package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +176 -0
  914. package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +176 -0
  915. package/dist/node/presentation/features/molecules/index.js +505 -0
  916. package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +300 -0
  917. package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +154 -0
  918. package/dist/node/presentation/features/organisms/FeatureDetail/index.js +154 -0
  919. package/dist/node/presentation/features/organisms/FeatureDetail/types.js +0 -0
  920. package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +909 -0
  921. package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +909 -0
  922. package/dist/node/presentation/features/organisms/FeatureDiscovery/types.js +0 -0
  923. package/dist/node/presentation/features/organisms/FeatureEventsList.js +298 -0
  924. package/dist/node/presentation/features/organisms/FeatureFormsList.js +298 -0
  925. package/dist/node/presentation/features/organisms/FeatureOperationsList.js +176 -0
  926. package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +300 -0
  927. package/dist/node/presentation/features/organisms/index.js +1355 -0
  928. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +332 -0
  929. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +332 -0
  930. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/types.js +0 -0
  931. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +338 -0
  932. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +338 -0
  933. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +303 -0
  934. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +303 -0
  935. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/types.js +0 -0
  936. package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +336 -0
  937. package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +336 -0
  938. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +329 -0
  939. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +329 -0
  940. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/types.js +0 -0
  941. package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +336 -0
  942. package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +336 -0
  943. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +302 -0
  944. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +302 -0
  945. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/types.js +0 -0
  946. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +214 -0
  947. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +214 -0
  948. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +187 -0
  949. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +187 -0
  950. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +306 -0
  951. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +306 -0
  952. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/types.js +0 -0
  953. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +338 -0
  954. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +338 -0
  955. package/dist/node/presentation/features/templates/types.js +0 -0
  956. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.d.ts +16 -28
  957. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.d.ts.map +1 -1
  958. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +89 -78
  959. package/dist/presentation/features/atoms/FeatureIcon/index.d.ts +2 -2
  960. package/dist/presentation/features/atoms/FeatureIcon/index.d.ts.map +1 -0
  961. package/dist/presentation/features/atoms/FeatureIcon/index.js +98 -3
  962. package/dist/presentation/features/atoms/index.d.ts +2 -3
  963. package/dist/presentation/features/atoms/index.d.ts.map +1 -0
  964. package/dist/presentation/features/atoms/index.js +98 -4
  965. package/dist/presentation/features/hooks/index.d.ts +4 -4
  966. package/dist/presentation/features/hooks/index.d.ts.map +1 -0
  967. package/dist/presentation/features/hooks/index.js +393 -4
  968. package/dist/presentation/features/hooks/useContractsRegistry.d.ts +10 -14
  969. package/dist/presentation/features/hooks/useContractsRegistry.d.ts.map +1 -1
  970. package/dist/presentation/features/hooks/useContractsRegistry.js +282 -19
  971. package/dist/presentation/features/hooks/useFeatureFilters.d.ts +24 -28
  972. package/dist/presentation/features/hooks/useFeatureFilters.d.ts.map +1 -1
  973. package/dist/presentation/features/hooks/useFeatureFilters.js +73 -74
  974. package/dist/presentation/features/hooks/useFeatureRegistry.d.ts +17 -21
  975. package/dist/presentation/features/hooks/useFeatureRegistry.d.ts.map +1 -1
  976. package/dist/presentation/features/hooks/useFeatureRegistry.js +144 -33
  977. package/dist/presentation/features/hooks/useRelatedDocs.d.ts +5 -8
  978. package/dist/presentation/features/hooks/useRelatedDocs.d.ts.map +1 -1
  979. package/dist/presentation/features/hooks/useRelatedDocs.js +25 -28
  980. package/dist/presentation/features/index.d.ts +27 -57
  981. package/dist/presentation/features/index.d.ts.map +1 -0
  982. package/dist/presentation/features/index.js +3060 -48
  983. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.d.ts +2 -11
  984. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.d.ts.map +1 -1
  985. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +364 -80
  986. package/dist/presentation/features/molecules/FeatureCard/index.d.ts +3 -3
  987. package/dist/presentation/features/molecules/FeatureCard/index.d.ts.map +1 -0
  988. package/dist/presentation/features/molecules/FeatureCard/index.js +367 -3
  989. package/dist/presentation/features/molecules/FeatureCard/types.d.ts +8 -12
  990. package/dist/presentation/features/molecules/FeatureCard/types.d.ts.map +1 -1
  991. package/dist/presentation/features/molecules/FeatureCard/types.js +1 -0
  992. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.d.ts +15 -27
  993. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.d.ts.map +1 -1
  994. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +48 -40
  995. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.d.ts +2 -2
  996. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.d.ts.map +1 -0
  997. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +51 -3
  998. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.d.ts +2 -17
  999. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.d.ts.map +1 -1
  1000. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +90 -77
  1001. package/dist/presentation/features/molecules/FeatureFilters/index.d.ts +3 -3
  1002. package/dist/presentation/features/molecules/FeatureFilters/index.d.ts.map +1 -0
  1003. package/dist/presentation/features/molecules/FeatureFilters/index.js +93 -3
  1004. package/dist/presentation/features/molecules/FeatureFilters/types.d.ts +20 -24
  1005. package/dist/presentation/features/molecules/FeatureFilters/types.d.ts.map +1 -1
  1006. package/dist/presentation/features/molecules/FeatureFilters/types.js +1 -0
  1007. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.d.ts +5 -12
  1008. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.d.ts.map +1 -1
  1009. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +173 -136
  1010. package/dist/presentation/features/molecules/FeatureHoverPreview/index.d.ts +2 -2
  1011. package/dist/presentation/features/molecules/FeatureHoverPreview/index.d.ts.map +1 -0
  1012. package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +177 -3
  1013. package/dist/presentation/features/molecules/index.d.ts +5 -11
  1014. package/dist/presentation/features/molecules/index.d.ts.map +1 -0
  1015. package/dist/presentation/features/molecules/index.js +506 -10
  1016. package/dist/presentation/features/organisms/FeatureDataViewsList.d.ts +4 -11
  1017. package/dist/presentation/features/organisms/FeatureDataViewsList.d.ts.map +1 -1
  1018. package/dist/presentation/features/organisms/FeatureDataViewsList.js +297 -25
  1019. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.d.ts +2 -10
  1020. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.d.ts.map +1 -1
  1021. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +150 -138
  1022. package/dist/presentation/features/organisms/FeatureDetail/index.d.ts +3 -3
  1023. package/dist/presentation/features/organisms/FeatureDetail/index.d.ts.map +1 -0
  1024. package/dist/presentation/features/organisms/FeatureDetail/index.js +155 -3
  1025. package/dist/presentation/features/organisms/FeatureDetail/types.d.ts +6 -10
  1026. package/dist/presentation/features/organisms/FeatureDetail/types.d.ts.map +1 -1
  1027. package/dist/presentation/features/organisms/FeatureDetail/types.js +1 -0
  1028. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.d.ts +2 -13
  1029. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.d.ts.map +1 -1
  1030. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +901 -154
  1031. package/dist/presentation/features/organisms/FeatureDiscovery/index.d.ts +3 -3
  1032. package/dist/presentation/features/organisms/FeatureDiscovery/index.d.ts.map +1 -0
  1033. package/dist/presentation/features/organisms/FeatureDiscovery/index.js +909 -2
  1034. package/dist/presentation/features/organisms/FeatureDiscovery/types.d.ts +14 -18
  1035. package/dist/presentation/features/organisms/FeatureDiscovery/types.d.ts.map +1 -1
  1036. package/dist/presentation/features/organisms/FeatureDiscovery/types.js +1 -0
  1037. package/dist/presentation/features/organisms/FeatureEventsList.d.ts +4 -11
  1038. package/dist/presentation/features/organisms/FeatureEventsList.d.ts.map +1 -1
  1039. package/dist/presentation/features/organisms/FeatureEventsList.js +295 -25
  1040. package/dist/presentation/features/organisms/FeatureFormsList.d.ts +4 -11
  1041. package/dist/presentation/features/organisms/FeatureFormsList.d.ts.map +1 -1
  1042. package/dist/presentation/features/organisms/FeatureFormsList.js +295 -25
  1043. package/dist/presentation/features/organisms/FeatureOperationsList.d.ts +4 -11
  1044. package/dist/presentation/features/organisms/FeatureOperationsList.d.ts.map +1 -1
  1045. package/dist/presentation/features/organisms/FeatureOperationsList.js +174 -25
  1046. package/dist/presentation/features/organisms/FeaturePresentationsList.d.ts +4 -11
  1047. package/dist/presentation/features/organisms/FeaturePresentationsList.d.ts.map +1 -1
  1048. package/dist/presentation/features/organisms/FeaturePresentationsList.js +297 -25
  1049. package/dist/presentation/features/organisms/index.d.ts +8 -12
  1050. package/dist/presentation/features/organisms/index.d.ts.map +1 -0
  1051. package/dist/presentation/features/organisms/index.js +1356 -11
  1052. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.d.ts +2 -13
  1053. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.d.ts.map +1 -1
  1054. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +329 -231
  1055. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.d.ts +3 -3
  1056. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.d.ts.map +1 -0
  1057. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +332 -2
  1058. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/types.d.ts +8 -12
  1059. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/types.d.ts.map +1 -1
  1060. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/types.js +1 -0
  1061. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.d.ts +2 -10
  1062. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.d.ts.map +1 -1
  1063. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +335 -30
  1064. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.d.ts +2 -2
  1065. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.d.ts.map +1 -0
  1066. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +338 -2
  1067. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.d.ts +2 -13
  1068. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.d.ts.map +1 -1
  1069. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +300 -210
  1070. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.d.ts +3 -3
  1071. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.d.ts.map +1 -0
  1072. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +303 -2
  1073. package/dist/presentation/features/templates/FeatureEventDetailTemplate/types.d.ts +8 -12
  1074. package/dist/presentation/features/templates/FeatureEventDetailTemplate/types.d.ts.map +1 -1
  1075. package/dist/presentation/features/templates/FeatureEventDetailTemplate/types.js +1 -0
  1076. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.d.ts +2 -10
  1077. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.d.ts.map +1 -1
  1078. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +333 -30
  1079. package/dist/presentation/features/templates/FeatureEventsTemplate/index.d.ts +2 -2
  1080. package/dist/presentation/features/templates/FeatureEventsTemplate/index.d.ts.map +1 -0
  1081. package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +336 -2
  1082. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.d.ts +2 -13
  1083. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.d.ts.map +1 -1
  1084. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +326 -231
  1085. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.d.ts +3 -3
  1086. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.d.ts.map +1 -0
  1087. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +329 -2
  1088. package/dist/presentation/features/templates/FeatureFormDetailTemplate/types.d.ts +8 -12
  1089. package/dist/presentation/features/templates/FeatureFormDetailTemplate/types.d.ts.map +1 -1
  1090. package/dist/presentation/features/templates/FeatureFormDetailTemplate/types.js +1 -0
  1091. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.d.ts +2 -10
  1092. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.d.ts.map +1 -1
  1093. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +333 -30
  1094. package/dist/presentation/features/templates/FeatureFormsTemplate/index.d.ts +2 -2
  1095. package/dist/presentation/features/templates/FeatureFormsTemplate/index.d.ts.map +1 -0
  1096. package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +336 -2
  1097. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.d.ts +2 -13
  1098. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.d.ts.map +1 -1
  1099. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +300 -205
  1100. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.d.ts +3 -3
  1101. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.d.ts.map +1 -0
  1102. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +302 -2
  1103. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/types.d.ts +8 -12
  1104. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/types.d.ts.map +1 -1
  1105. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/types.js +1 -0
  1106. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.d.ts +2 -10
  1107. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.d.ts.map +1 -1
  1108. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +212 -31
  1109. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.d.ts +2 -2
  1110. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.d.ts.map +1 -0
  1111. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +214 -2
  1112. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.d.ts +5 -13
  1113. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.d.ts.map +1 -1
  1114. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +186 -26
  1115. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.d.ts +2 -2
  1116. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.d.ts.map +1 -0
  1117. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +188 -3
  1118. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.d.ts +2 -13
  1119. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.d.ts.map +1 -1
  1120. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +303 -210
  1121. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.d.ts +3 -3
  1122. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.d.ts.map +1 -0
  1123. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +306 -2
  1124. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/types.d.ts +9 -13
  1125. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/types.d.ts.map +1 -1
  1126. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/types.js +1 -0
  1127. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.d.ts +2 -10
  1128. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.d.ts.map +1 -1
  1129. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +335 -30
  1130. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.d.ts +2 -2
  1131. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.d.ts.map +1 -0
  1132. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +338 -2
  1133. package/dist/presentation/features/templates/types.d.ts +4 -8
  1134. package/dist/presentation/features/templates/types.d.ts.map +1 -1
  1135. package/dist/presentation/features/templates/types.js +1 -0
  1136. package/package.json +2107 -303
  1137. package/src/components/docs/generated/docs-index.manifest.json +1 -1
  1138. package/src/components/docs/generated/docs-index.platform-integrations.json +1 -1
  1139. package/tsdown.config.js +1 -2
  1140. package/.turbo/turbo-build$colon$bundle.log +0 -1230
  1141. package/dist/application/mcp/cliMcp.js.map +0 -1
  1142. package/dist/application/mcp/common.js.map +0 -1
  1143. package/dist/application/mcp/docsMcp.js.map +0 -1
  1144. package/dist/application/mcp/internalMcp.js.map +0 -1
  1145. package/dist/components/docs/DocsIndexPage.js.map +0 -1
  1146. package/dist/components/docs/advanced/AdvancedMCPPage.js.map +0 -1
  1147. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js.map +0 -1
  1148. package/dist/components/docs/advanced/AdvancedRenderersPage.js.map +0 -1
  1149. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js.map +0 -1
  1150. package/dist/components/docs/advanced/AdvancedTelemetryPage.js.map +0 -1
  1151. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js.map +0 -1
  1152. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js.map +0 -1
  1153. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js.map +0 -1
  1154. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js.map +0 -1
  1155. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js.map +0 -1
  1156. package/dist/components/docs/architecture/ArchitectureOverviewPage.js.map +0 -1
  1157. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js.map +0 -1
  1158. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js.map +0 -1
  1159. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js.map +0 -1
  1160. package/dist/components/docs/comparison/ComparisonOverviewPage.js.map +0 -1
  1161. package/dist/components/docs/comparison/ComparisonWindmillPage.js.map +0 -1
  1162. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js.map +0 -1
  1163. package/dist/components/docs/ecosystem/IntegrationsPage.js.map +0 -1
  1164. package/dist/components/docs/ecosystem/PluginsPage.js.map +0 -1
  1165. package/dist/components/docs/ecosystem/RegistryPage.js.map +0 -1
  1166. package/dist/components/docs/ecosystem/TemplatesPage.js.map +0 -1
  1167. package/dist/components/docs/ecosystem/ecosystem.docblocks.js.map +0 -1
  1168. package/dist/components/docs/examples/DocsExamplesPage.js.map +0 -1
  1169. package/dist/components/docs/generated/docs-index.generated.js.map +0 -1
  1170. package/dist/components/docs/generated/loader.js.map +0 -1
  1171. package/dist/components/docs/getting-started/CLIPage.js.map +0 -1
  1172. package/dist/components/docs/getting-started/CompatibilityPage.js.map +0 -1
  1173. package/dist/components/docs/getting-started/DataViewTutorialPage.js.map +0 -1
  1174. package/dist/components/docs/getting-started/DeveloperToolsPage.js.map +0 -1
  1175. package/dist/components/docs/getting-started/HelloWorldPage.js.map +0 -1
  1176. package/dist/components/docs/getting-started/InstallationPage.js.map +0 -1
  1177. package/dist/components/docs/getting-started/StartHerePage.js.map +0 -1
  1178. package/dist/components/docs/getting-started/TroubleshootingPage.js.map +0 -1
  1179. package/dist/components/docs/getting-started/VSCodeExtensionPage.js.map +0 -1
  1180. package/dist/components/docs/getting-started/getting-started.docblocks.js.map +0 -1
  1181. package/dist/components/docs/guides/GuideCIDiffGatingPage.js.map +0 -1
  1182. package/dist/components/docs/guides/GuideContractTypesPage.js.map +0 -1
  1183. package/dist/components/docs/guides/GuideDocsPipelinePage.js.map +0 -1
  1184. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js.map +0 -1
  1185. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js.map +0 -1
  1186. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js.map +0 -1
  1187. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js.map +0 -1
  1188. package/dist/components/docs/guides/GuidesIndexPage.js.map +0 -1
  1189. package/dist/components/docs/guides/guides.docblocks.js.map +0 -1
  1190. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js.map +0 -1
  1191. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js.map +0 -1
  1192. package/dist/components/docs/integrations/IntegrationsGmailPage.js.map +0 -1
  1193. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js.map +0 -1
  1194. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js.map +0 -1
  1195. package/dist/components/docs/integrations/IntegrationsOverviewPage.js.map +0 -1
  1196. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js.map +0 -1
  1197. package/dist/components/docs/integrations/IntegrationsPowensPage.js.map +0 -1
  1198. package/dist/components/docs/integrations/IntegrationsQdrantPage.js.map +0 -1
  1199. package/dist/components/docs/integrations/IntegrationsResendPage.js.map +0 -1
  1200. package/dist/components/docs/integrations/IntegrationsS3Page.js.map +0 -1
  1201. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js.map +0 -1
  1202. package/dist/components/docs/integrations/IntegrationsStripePage.js.map +0 -1
  1203. package/dist/components/docs/integrations/IntegrationsTwilioPage.js.map +0 -1
  1204. package/dist/components/docs/intent/ContractFirstApiPage.js.map +0 -1
  1205. package/dist/components/docs/intent/DeterministicCodegenPage.js.map +0 -1
  1206. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js.map +0 -1
  1207. package/dist/components/docs/intent/OpenapiAlternativePage.js.map +0 -1
  1208. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js.map +0 -1
  1209. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js.map +0 -1
  1210. package/dist/components/docs/intent/intent-pages.docblocks.js.map +0 -1
  1211. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js.map +0 -1
  1212. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js.map +0 -1
  1213. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js.map +0 -1
  1214. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js.map +0 -1
  1215. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js.map +0 -1
  1216. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js.map +0 -1
  1217. package/dist/components/docs/libraries/LibrariesAiAgentPage.js.map +0 -1
  1218. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js.map +0 -1
  1219. package/dist/components/docs/libraries/LibrariesContentGenPage.js.map +0 -1
  1220. package/dist/components/docs/libraries/LibrariesContractsPage.js.map +0 -1
  1221. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js.map +0 -1
  1222. package/dist/components/docs/libraries/LibrariesDataBackendPage.js.map +0 -1
  1223. package/dist/components/docs/libraries/LibrariesDataViewsPage.js.map +0 -1
  1224. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js.map +0 -1
  1225. package/dist/components/docs/libraries/LibrariesEvolutionPage.js.map +0 -1
  1226. package/dist/components/docs/libraries/LibrariesGraphQLPage.js.map +0 -1
  1227. package/dist/components/docs/libraries/LibrariesGrowthPage.js.map +0 -1
  1228. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js.map +0 -1
  1229. package/dist/components/docs/libraries/LibrariesObservabilityPage.js.map +0 -1
  1230. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js.map +0 -1
  1231. package/dist/components/docs/libraries/LibrariesOverviewPage.js.map +0 -1
  1232. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js.map +0 -1
  1233. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js.map +0 -1
  1234. package/dist/components/docs/libraries/LibrariesResiliencePage.js.map +0 -1
  1235. package/dist/components/docs/libraries/LibrariesRuntimePage.js.map +0 -1
  1236. package/dist/components/docs/libraries/LibrariesSLOPage.js.map +0 -1
  1237. package/dist/components/docs/libraries/LibrariesSchemaPage.js.map +0 -1
  1238. package/dist/components/docs/libraries/LibrariesSupportBotPage.js.map +0 -1
  1239. package/dist/components/docs/libraries/LibrariesTestingPage.js.map +0 -1
  1240. package/dist/components/docs/libraries/LibrariesUIKitPage.js.map +0 -1
  1241. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js.map +0 -1
  1242. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js.map +0 -1
  1243. package/dist/components/docs/manifesto/ManifestoPage.js.map +0 -1
  1244. package/dist/components/docs/ops/AutoEvolutionOpsPage.js.map +0 -1
  1245. package/dist/components/docs/ops/DistributedTracingOpsPage.js.map +0 -1
  1246. package/dist/components/docs/ops/ops-lifecycle.docblocks.js.map +0 -1
  1247. package/dist/components/docs/ops/ops-runbooks-a.docblocks.js.map +0 -1
  1248. package/dist/components/docs/ops/ops-runbooks-b.docblocks.js.map +0 -1
  1249. package/dist/components/docs/ops/ops-slo-tenant.docblocks.js.map +0 -1
  1250. package/dist/components/docs/ops/ops-top.docs.js.map +0 -1
  1251. package/dist/components/docs/ops/ops.docs.js.map +0 -1
  1252. package/dist/components/docs/product/product.docblocks.js.map +0 -1
  1253. package/dist/components/docs/reference/DocsMarkdownContent.js.map +0 -1
  1254. package/dist/components/docs/reference/DocsReferenceContent.js.map +0 -1
  1255. package/dist/components/docs/reference/DocsReferenceIndexClient.js.map +0 -1
  1256. package/dist/components/docs/reference/DocsReferenceIndexPage.js.map +0 -1
  1257. package/dist/components/docs/reference/DocsReferencePage.js.map +0 -1
  1258. package/dist/components/docs/reference/docsMarkdownParser.js.map +0 -1
  1259. package/dist/components/docs/safety/SafetyAuditingPage.js.map +0 -1
  1260. package/dist/components/docs/safety/SafetyMigrationsPage.js.map +0 -1
  1261. package/dist/components/docs/safety/SafetyOverviewPage.js.map +0 -1
  1262. package/dist/components/docs/safety/SafetyPDPPage.js.map +0 -1
  1263. package/dist/components/docs/safety/SafetySecurityTrustPage.js.map +0 -1
  1264. package/dist/components/docs/safety/SafetySigningPage.js.map +0 -1
  1265. package/dist/components/docs/safety/SafetyTenantIsolationPage.js.map +0 -1
  1266. package/dist/components/docs/shared/StudioPrompt.js.map +0 -1
  1267. package/dist/components/docs/specs/SpecsCapabilitiesPage.js.map +0 -1
  1268. package/dist/components/docs/specs/SpecsDataViewsPage.js.map +0 -1
  1269. package/dist/components/docs/specs/SpecsOverlaysPage.js.map +0 -1
  1270. package/dist/components/docs/specs/SpecsOverviewPage.js.map +0 -1
  1271. package/dist/components/docs/specs/SpecsPolicyPage.js.map +0 -1
  1272. package/dist/components/docs/specs/SpecsWorkflowsPage.js.map +0 -1
  1273. package/dist/components/docs/studio/StudioBYOKPage.js.map +0 -1
  1274. package/dist/components/docs/studio/StudioDeploymentsPage.js.map +0 -1
  1275. package/dist/components/docs/studio/StudioGettingStartedPage.js.map +0 -1
  1276. package/dist/components/docs/studio/StudioIntegrationsPage.js.map +0 -1
  1277. package/dist/components/docs/studio/StudioOverviewPage.js.map +0 -1
  1278. package/dist/components/docs/studio/StudioVisualBuilderPage.js.map +0 -1
  1279. package/dist/components/docs/tech/contracts/tech-docs.docblocks.js.map +0 -1
  1280. package/dist/components/integrations/molecules/IntegrationCard.js.map +0 -1
  1281. package/dist/components/integrations/organisms/IntegrationMarketplace.js.map +0 -1
  1282. package/dist/components/integrations/organisms/IntegrationSettings.js.map +0 -1
  1283. package/dist/components/integrations/organisms/KnowledgeSourceList.js.map +0 -1
  1284. package/dist/components/legal/PrivacyTemplate.js.map +0 -1
  1285. package/dist/components/legal/TermsTemplate.js.map +0 -1
  1286. package/dist/components/shared/FeatureGateNotice.js.map +0 -1
  1287. package/dist/components/shell/WorkspaceHeader.js.map +0 -1
  1288. package/dist/components/shell/WorkspaceProjectShellLayout.js.map +0 -1
  1289. package/dist/components/shell/WorkspaceSidebar.js.map +0 -1
  1290. package/dist/components/templates/engine/index.js.map +0 -1
  1291. package/dist/components/templates/messaging/ConversationList.js.map +0 -1
  1292. package/dist/components/templates/messaging/MessageComposer.js.map +0 -1
  1293. package/dist/components/templates/messaging/MessageThread.js.map +0 -1
  1294. package/dist/components/templates/messaging/MessagingWorkspace.js.map +0 -1
  1295. package/dist/components/templates/recipes/LanguageSwitcher.js.map +0 -1
  1296. package/dist/components/templates/recipes/RecipeCard.js.map +0 -1
  1297. package/dist/components/templates/recipes/RecipeDetail.js.map +0 -1
  1298. package/dist/components/templates/recipes/RecipeList.js.map +0 -1
  1299. package/dist/components/templates/todos/FilterBar.js.map +0 -1
  1300. package/dist/components/templates/todos/TaskForm.js.map +0 -1
  1301. package/dist/components/templates/todos/TaskItem.js.map +0 -1
  1302. package/dist/components/templates/todos/TaskList.js.map +0 -1
  1303. package/dist/config/contractspec-blueprint.js.map +0 -1
  1304. package/dist/config/contractspec-branding.js.map +0 -1
  1305. package/dist/config/contractspec-routes.js.map +0 -1
  1306. package/dist/features/contracts-registry.js.map +0 -1
  1307. package/dist/features/docs.feature.js.map +0 -1
  1308. package/dist/features/mcp.feature.js.map +0 -1
  1309. package/dist/features/presentations.feature.js.map +0 -1
  1310. package/dist/features/registry.js.map +0 -1
  1311. package/dist/infrastructure/elysia/logger.js.map +0 -1
  1312. package/dist/libs/email/client.js.map +0 -1
  1313. package/dist/libs/email/contact.js.map +0 -1
  1314. package/dist/libs/email/newsletter.js.map +0 -1
  1315. package/dist/libs/email/utils.js.map +0 -1
  1316. package/dist/libs/email/waitlist-application.js.map +0 -1
  1317. package/dist/libs/email/waitlist.js.map +0 -1
  1318. package/dist/libs/posthog/client.js.map +0 -1
  1319. package/dist/libs/posthog/native.js.map +0 -1
  1320. package/dist/libs/posthog/server.js.map +0 -1
  1321. package/dist/libs/pricing-examples.js.map +0 -1
  1322. package/dist/node_modules/next/dist/build/adapter/build-complete.d.ts +0 -3
  1323. package/dist/node_modules/next/dist/build/analysis/get-page-static-info.d.ts +0 -15
  1324. package/dist/node_modules/next/dist/build/analysis/get-page-static-info.d.ts.map +0 -1
  1325. package/dist/node_modules/next/dist/build/build-context.d.ts +0 -3
  1326. package/dist/node_modules/next/dist/build/index.d.ts +0 -19
  1327. package/dist/node_modules/next/dist/build/index.d.ts.map +0 -1
  1328. package/dist/node_modules/next/dist/build/load-jsconfig.d.ts +0 -1
  1329. package/dist/node_modules/next/dist/build/segment-config/app/app-segments.d.ts +0 -3
  1330. package/dist/node_modules/next/dist/build/static-paths/types.d.ts +0 -2
  1331. package/dist/node_modules/next/dist/build/swc/generated-native.d.ts +0 -1
  1332. package/dist/node_modules/next/dist/build/swc/types.d.ts +0 -2
  1333. package/dist/node_modules/next/dist/build/templates/app-page.d.ts +0 -1
  1334. package/dist/node_modules/next/dist/build/templates/app-route.d.ts +0 -3
  1335. package/dist/node_modules/next/dist/build/utils.d.ts +0 -8
  1336. package/dist/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts +0 -2
  1337. package/dist/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts +0 -1
  1338. package/dist/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts +0 -3
  1339. package/dist/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts +0 -7
  1340. package/dist/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts.map +0 -1
  1341. package/dist/node_modules/next/dist/build/webpack-config.d.ts +0 -5
  1342. package/dist/node_modules/next/dist/build/worker.d.ts +0 -2
  1343. package/dist/node_modules/next/dist/cli/next-test.d.ts +0 -6
  1344. package/dist/node_modules/next/dist/cli/next-test.d.ts.map +0 -1
  1345. package/dist/node_modules/next/dist/client/components/app-router-headers.d.ts +0 -5
  1346. package/dist/node_modules/next/dist/client/components/app-router-headers.d.ts.map +0 -1
  1347. package/dist/node_modules/next/dist/client/components/client-page.d.ts +0 -3
  1348. package/dist/node_modules/next/dist/client/components/client-segment.d.ts +0 -2
  1349. package/dist/node_modules/next/dist/client/components/error-boundary.d.ts +0 -1
  1350. package/dist/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts +0 -2
  1351. package/dist/node_modules/next/dist/client/components/layout-router.d.ts +0 -2
  1352. package/dist/node_modules/next/dist/client/components/render-from-template-context.d.ts +0 -1
  1353. package/dist/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts +0 -2
  1354. package/dist/node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts +0 -1
  1355. package/dist/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts +0 -3
  1356. package/dist/node_modules/next/dist/client/components/segment-cache/navigation.d.ts +0 -3
  1357. package/dist/node_modules/next/dist/client/flight-data-helpers.d.ts +0 -1
  1358. package/dist/node_modules/next/dist/client/page-loader.d.ts +0 -16
  1359. package/dist/node_modules/next/dist/client/page-loader.d.ts.map +0 -1
  1360. package/dist/node_modules/next/dist/client/route-loader.d.ts +0 -22
  1361. package/dist/node_modules/next/dist/client/route-loader.d.ts.map +0 -1
  1362. package/dist/node_modules/next/dist/client/router.d.ts +0 -2
  1363. package/dist/node_modules/next/dist/client/with-router.d.ts +0 -3
  1364. package/dist/node_modules/next/dist/export/types.d.ts +0 -8
  1365. package/dist/node_modules/next/dist/export/worker.d.ts +0 -1
  1366. package/dist/node_modules/next/dist/lib/constants.d.ts +0 -1
  1367. package/dist/node_modules/next/dist/lib/framework/boundary-components.d.ts +0 -1
  1368. package/dist/node_modules/next/dist/lib/load-custom-routes.d.ts +0 -47
  1369. package/dist/node_modules/next/dist/lib/load-custom-routes.d.ts.map +0 -1
  1370. package/dist/node_modules/next/dist/lib/metadata/metadata.d.ts +0 -6
  1371. package/dist/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts +0 -4
  1372. package/dist/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts +0 -22
  1373. package/dist/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts.map +0 -1
  1374. package/dist/node_modules/next/dist/lib/metadata/types/extra-types.d.ts +0 -79
  1375. package/dist/node_modules/next/dist/lib/metadata/types/extra-types.d.ts.map +0 -1
  1376. package/dist/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts +0 -479
  1377. package/dist/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts.map +0 -1
  1378. package/dist/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts +0 -97
  1379. package/dist/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts.map +0 -1
  1380. package/dist/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts +0 -134
  1381. package/dist/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts.map +0 -1
  1382. package/dist/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts +0 -58
  1383. package/dist/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts.map +0 -1
  1384. package/dist/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts +0 -3
  1385. package/dist/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts +0 -2
  1386. package/dist/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts +0 -1
  1387. package/dist/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts +0 -2
  1388. package/dist/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts +0 -2
  1389. package/dist/node_modules/next/dist/server/after/after-context.d.ts +0 -1
  1390. package/dist/node_modules/next/dist/server/api-utils/index.d.ts +0 -2
  1391. package/dist/node_modules/next/dist/server/app-render/app-render.d.ts +0 -11
  1392. package/dist/node_modules/next/dist/server/app-render/collect-segment-data.d.ts +0 -2
  1393. package/dist/node_modules/next/dist/server/app-render/create-error-handler.d.ts +0 -7
  1394. package/dist/node_modules/next/dist/server/app-render/create-error-handler.d.ts.map +0 -1
  1395. package/dist/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts +0 -2
  1396. package/dist/node_modules/next/dist/server/app-render/entry-base.d.ts +0 -22
  1397. package/dist/node_modules/next/dist/server/app-render/entry-base.d.ts.map +0 -1
  1398. package/dist/node_modules/next/dist/server/app-render/rsc/postpone.d.ts +0 -1
  1399. package/dist/node_modules/next/dist/server/app-render/types.d.ts +0 -11
  1400. package/dist/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts +0 -1
  1401. package/dist/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts +0 -5
  1402. package/dist/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts +0 -1
  1403. package/dist/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts +0 -9
  1404. package/dist/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts +0 -3
  1405. package/dist/node_modules/next/dist/server/async-storage/work-store.d.ts +0 -5
  1406. package/dist/node_modules/next/dist/server/base-http/index.d.ts +0 -2
  1407. package/dist/node_modules/next/dist/server/base-http/node.d.ts +0 -3
  1408. package/dist/node_modules/next/dist/server/base-server.d.ts +0 -21
  1409. package/dist/node_modules/next/dist/server/config-shared.d.ts +0 -1128
  1410. package/dist/node_modules/next/dist/server/config-shared.d.ts.map +0 -1
  1411. package/dist/node_modules/next/dist/server/dev/debug-channel.d.ts +0 -1
  1412. package/dist/node_modules/next/dist/server/dev/hot-reloader-types.d.ts +0 -5
  1413. package/dist/node_modules/next/dist/server/dev/next-dev-server.d.ts +0 -17
  1414. package/dist/node_modules/next/dist/server/dev/static-paths-worker.d.ts +0 -3
  1415. package/dist/node_modules/next/dist/server/image-optimizer.d.ts +0 -3
  1416. package/dist/node_modules/next/dist/server/lib/app-dir-module.d.ts +0 -1
  1417. package/dist/node_modules/next/dist/server/lib/dev-bundler-service.d.ts +0 -2
  1418. package/dist/node_modules/next/dist/server/lib/experimental/ppr.d.ts +0 -12
  1419. package/dist/node_modules/next/dist/server/lib/experimental/ppr.d.ts.map +0 -1
  1420. package/dist/node_modules/next/dist/server/lib/i18n-provider.d.ts +0 -2
  1421. package/dist/node_modules/next/dist/server/lib/implicit-tags.d.ts +0 -1
  1422. package/dist/node_modules/next/dist/server/lib/incremental-cache/index.d.ts +0 -3
  1423. package/dist/node_modules/next/dist/server/lib/render-server.d.ts +0 -6
  1424. package/dist/node_modules/next/dist/server/lib/router-server.d.ts +0 -1
  1425. package/dist/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts +0 -3
  1426. package/dist/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts +0 -2
  1427. package/dist/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts +0 -7
  1428. package/dist/node_modules/next/dist/server/load-components.d.ts +0 -3
  1429. package/dist/node_modules/next/dist/server/load-default-error-components.d.ts +0 -2
  1430. package/dist/node_modules/next/dist/server/next-server.d.ts +0 -19
  1431. package/dist/node_modules/next/dist/server/next.d.ts +0 -4
  1432. package/dist/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts +0 -1
  1433. package/dist/node_modules/next/dist/server/render-result.d.ts +0 -3
  1434. package/dist/node_modules/next/dist/server/render.d.ts +0 -9
  1435. package/dist/node_modules/next/dist/server/request/fallback-params.d.ts +0 -3
  1436. package/dist/node_modules/next/dist/server/request/params.d.ts +0 -1
  1437. package/dist/node_modules/next/dist/server/request/search-params.d.ts +0 -1
  1438. package/dist/node_modules/next/dist/server/request-meta.d.ts +0 -21
  1439. package/dist/node_modules/next/dist/server/request-meta.d.ts.map +0 -1
  1440. package/dist/node_modules/next/dist/server/response-cache/index.d.ts +0 -1
  1441. package/dist/node_modules/next/dist/server/response-cache/types.d.ts +0 -1
  1442. package/dist/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts +0 -1
  1443. package/dist/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts +0 -1
  1444. package/dist/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts +0 -3
  1445. package/dist/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts +0 -1
  1446. package/dist/node_modules/next/dist/server/route-matchers/route-matcher.d.ts +0 -2
  1447. package/dist/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts +0 -1
  1448. package/dist/node_modules/next/dist/server/route-matches/route-match.d.ts +0 -1
  1449. package/dist/node_modules/next/dist/server/route-modules/app-page/module.d.ts +0 -15
  1450. package/dist/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts +0 -6
  1451. package/dist/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts +0 -2
  1452. package/dist/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts +0 -2
  1453. package/dist/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts +0 -1
  1454. package/dist/node_modules/next/dist/server/route-modules/app-route/module.d.ts +0 -11
  1455. package/dist/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts +0 -1
  1456. package/dist/node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts +0 -1
  1457. package/dist/node_modules/next/dist/server/route-modules/pages/module.d.ts +0 -7
  1458. package/dist/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts +0 -9
  1459. package/dist/node_modules/next/dist/server/route-modules/route-module.d.ts +0 -11
  1460. package/dist/node_modules/next/dist/server/web/adapter.d.ts +0 -4
  1461. package/dist/node_modules/next/dist/server/web/next-url.d.ts +0 -2
  1462. package/dist/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts +0 -1
  1463. package/dist/node_modules/next/dist/server/web/spec-extension/request.d.ts +0 -2
  1464. package/dist/node_modules/next/dist/server/web/spec-extension/response.d.ts +0 -2
  1465. package/dist/node_modules/next/dist/server/web/types.d.ts +0 -5
  1466. package/dist/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts +0 -4
  1467. package/dist/node_modules/next/dist/shared/lib/app-router-types.d.ts +0 -1
  1468. package/dist/node_modules/next/dist/shared/lib/constants.d.ts +0 -9
  1469. package/dist/node_modules/next/dist/shared/lib/constants.d.ts.map +0 -1
  1470. package/dist/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts +0 -1
  1471. package/dist/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts +0 -2
  1472. package/dist/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts +0 -3
  1473. package/dist/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts +0 -1
  1474. package/dist/node_modules/next/dist/shared/lib/image-config.d.ts +0 -78
  1475. package/dist/node_modules/next/dist/shared/lib/image-config.d.ts.map +0 -1
  1476. package/dist/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts +0 -1
  1477. package/dist/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts +0 -9
  1478. package/dist/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts.map +0 -1
  1479. package/dist/node_modules/next/dist/shared/lib/router/router.d.ts +0 -13
  1480. package/dist/node_modules/next/dist/shared/lib/router/router.d.ts.map +0 -1
  1481. package/dist/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts +0 -3
  1482. package/dist/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts +0 -1
  1483. package/dist/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts +0 -2
  1484. package/dist/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts +0 -1
  1485. package/dist/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts +0 -1
  1486. package/dist/node_modules/next/dist/shared/lib/size-limit.d.ts +0 -1
  1487. package/dist/node_modules/next/dist/shared/lib/utils.d.ts +0 -45
  1488. package/dist/node_modules/next/dist/shared/lib/utils.d.ts.map +0 -1
  1489. package/dist/node_modules/next/dist/types.d.ts +0 -39
  1490. package/dist/node_modules/next/dist/types.d.ts.map +0 -1
  1491. package/dist/node_modules/next/index.d.ts +0 -20
  1492. package/dist/node_modules/next/types.d.ts +0 -3
  1493. package/dist/packages/libs/content-gen/dist/seo/optimizer.js +0 -49
  1494. package/dist/packages/libs/content-gen/dist/seo/optimizer.js.map +0 -1
  1495. package/dist/packages/libs/content-gen/dist/types.d.ts +0 -27
  1496. package/dist/packages/libs/content-gen/dist/types.d.ts.map +0 -1
  1497. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js.map +0 -1
  1498. package/dist/presentation/features/hooks/useContractsRegistry.js.map +0 -1
  1499. package/dist/presentation/features/hooks/useFeatureFilters.js.map +0 -1
  1500. package/dist/presentation/features/hooks/useFeatureRegistry.js.map +0 -1
  1501. package/dist/presentation/features/hooks/useRelatedDocs.js.map +0 -1
  1502. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js.map +0 -1
  1503. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js.map +0 -1
  1504. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js.map +0 -1
  1505. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js.map +0 -1
  1506. package/dist/presentation/features/organisms/FeatureDataViewsList.js.map +0 -1
  1507. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js.map +0 -1
  1508. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js.map +0 -1
  1509. package/dist/presentation/features/organisms/FeatureEventsList.js.map +0 -1
  1510. package/dist/presentation/features/organisms/FeatureFormsList.js.map +0 -1
  1511. package/dist/presentation/features/organisms/FeatureOperationsList.js.map +0 -1
  1512. package/dist/presentation/features/organisms/FeaturePresentationsList.js.map +0 -1
  1513. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js.map +0 -1
  1514. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js.map +0 -1
  1515. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js.map +0 -1
  1516. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js.map +0 -1
  1517. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js.map +0 -1
  1518. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js.map +0 -1
  1519. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js.map +0 -1
  1520. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js.map +0 -1
  1521. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js.map +0 -1
  1522. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js.map +0 -1
  1523. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js.map +0 -1
  1524. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,3311 @@
1
+ // src/components/docs/integrations/IntegrationsOverviewPage.tsx
2
+ import Link from "@contractspec/lib.ui-link";
3
+ import { ChevronRight } from "lucide-react";
4
+ import { jsxDEV } from "react/jsx-dev-runtime";
5
+ function IntegrationsOverviewPage() {
6
+ return /* @__PURE__ */ jsxDEV("div", {
7
+ className: "space-y-8",
8
+ children: [
9
+ /* @__PURE__ */ jsxDEV("div", {
10
+ className: "space-y-4",
11
+ children: [
12
+ /* @__PURE__ */ jsxDEV("h1", {
13
+ className: "text-4xl font-bold",
14
+ children: "Integrations"
15
+ }, undefined, false, undefined, this),
16
+ /* @__PURE__ */ jsxDEV("p", {
17
+ className: "text-muted-foreground",
18
+ children: "ContractSpec provides first-class integration support through a spec-first architecture. Integrations are defined globally, connected per-tenant, and bound to apps through typed specifications, ensuring type-safe, policy-enforced access to external services."
19
+ }, undefined, false, undefined, this)
20
+ ]
21
+ }, undefined, true, undefined, this),
22
+ /* @__PURE__ */ jsxDEV("div", {
23
+ className: "space-y-4",
24
+ children: [
25
+ /* @__PURE__ */ jsxDEV("h2", {
26
+ className: "text-2xl font-bold",
27
+ children: "Spec-first architecture"
28
+ }, undefined, false, undefined, this),
29
+ /* @__PURE__ */ jsxDEV("p", {
30
+ className: "text-muted-foreground",
31
+ children: "Integrations in ContractSpec follow a three-layer model:"
32
+ }, undefined, false, undefined, this),
33
+ /* @__PURE__ */ jsxDEV("div", {
34
+ className: "space-y-3",
35
+ children: [
36
+ /* @__PURE__ */ jsxDEV("div", {
37
+ className: "card-subtle p-4",
38
+ children: [
39
+ /* @__PURE__ */ jsxDEV("h3", {
40
+ className: "mb-2 font-semibold",
41
+ children: "1. IntegrationSpec (Global)"
42
+ }, undefined, false, undefined, this),
43
+ /* @__PURE__ */ jsxDEV("p", {
44
+ className: "text-muted-foreground text-sm",
45
+ children: "Defines what an integration provides: capabilities, configuration schema, secrets, webhooks, and requirements."
46
+ }, undefined, false, undefined, this),
47
+ /* @__PURE__ */ jsxDEV(Link, {
48
+ href: "/docs/integrations/spec-model",
49
+ className: "mt-2 inline-block text-sm text-violet-400 hover:text-violet-300",
50
+ children: "Learn more →"
51
+ }, undefined, false, undefined, this)
52
+ ]
53
+ }, undefined, true, undefined, this),
54
+ /* @__PURE__ */ jsxDEV("div", {
55
+ className: "card-subtle p-4",
56
+ children: [
57
+ /* @__PURE__ */ jsxDEV("h3", {
58
+ className: "mb-2 font-semibold",
59
+ children: "2. IntegrationConnection (Per-Tenant)"
60
+ }, undefined, false, undefined, this),
61
+ /* @__PURE__ */ jsxDEV("p", {
62
+ className: "text-muted-foreground text-sm",
63
+ children: "A tenant's configured connection with credentials, environment (sandbox/production), and health status."
64
+ }, undefined, false, undefined, this),
65
+ /* @__PURE__ */ jsxDEV(Link, {
66
+ href: "/docs/architecture/integration-binding",
67
+ className: "mt-2 inline-block text-sm text-violet-400 hover:text-violet-300",
68
+ children: "Learn more →"
69
+ }, undefined, false, undefined, this)
70
+ ]
71
+ }, undefined, true, undefined, this),
72
+ /* @__PURE__ */ jsxDEV("div", {
73
+ className: "card-subtle p-4",
74
+ children: [
75
+ /* @__PURE__ */ jsxDEV("h3", {
76
+ className: "mb-2 font-semibold",
77
+ children: "3. AppIntegrationBinding (Per-App)"
78
+ }, undefined, false, undefined, this),
79
+ /* @__PURE__ */ jsxDEV("p", {
80
+ className: "text-muted-foreground text-sm",
81
+ children: "Maps tenant connections to app capabilities and workflows, defining which operations can use which integrations."
82
+ }, undefined, false, undefined, this),
83
+ /* @__PURE__ */ jsxDEV(Link, {
84
+ href: "/docs/architecture/integration-binding",
85
+ className: "mt-2 inline-block text-sm text-violet-400 hover:text-violet-300",
86
+ children: "Learn more →"
87
+ }, undefined, false, undefined, this)
88
+ ]
89
+ }, undefined, true, undefined, this)
90
+ ]
91
+ }, undefined, true, undefined, this)
92
+ ]
93
+ }, undefined, true, undefined, this),
94
+ /* @__PURE__ */ jsxDEV("div", {
95
+ className: "space-y-4",
96
+ children: [
97
+ /* @__PURE__ */ jsxDEV("h2", {
98
+ className: "text-2xl font-bold",
99
+ children: "Integration categories"
100
+ }, undefined, false, undefined, this),
101
+ /* @__PURE__ */ jsxDEV("div", {
102
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
103
+ children: /* @__PURE__ */ jsxDEV("pre", {
104
+ children: `type IntegrationCategory =
105
+ | "payments" // Stripe
106
+ | "email" // Postmark, Resend, Gmail
107
+ | "calendar" // Google Calendar
108
+ | "sms" // Twilio
109
+ | "ai-llm" // OpenAI
110
+ | "ai-voice" // ElevenLabs
111
+ | "speech-to-text" // OpenAI Whisper
112
+ | "vector-db" // Qdrant
113
+ | "storage" // S3-compatible
114
+ | "open-banking" // Powens (read-only)
115
+ | "accounting" // Coming soon
116
+ | "crm" // Coming soon
117
+ | "helpdesk" // Coming soon
118
+ | "custom"; // User-defined`
119
+ }, undefined, false, undefined, this)
120
+ }, undefined, false, undefined, this)
121
+ ]
122
+ }, undefined, true, undefined, this),
123
+ /* @__PURE__ */ jsxDEV("div", {
124
+ className: "space-y-4",
125
+ children: [
126
+ /* @__PURE__ */ jsxDEV("h2", {
127
+ className: "text-2xl font-bold",
128
+ children: "Available integrations"
129
+ }, undefined, false, undefined, this),
130
+ /* @__PURE__ */ jsxDEV("div", {
131
+ className: "space-y-6",
132
+ children: [
133
+ /* @__PURE__ */ jsxDEV("div", {
134
+ className: "space-y-3",
135
+ children: [
136
+ /* @__PURE__ */ jsxDEV("h3", {
137
+ className: "text-xl font-semibold",
138
+ children: "Payments"
139
+ }, undefined, false, undefined, this),
140
+ /* @__PURE__ */ jsxDEV("div", {
141
+ className: "grid gap-4 md:grid-cols-2",
142
+ children: /* @__PURE__ */ jsxDEV(Link, {
143
+ href: "/docs/integrations/stripe",
144
+ className: "card-subtle group p-4 transition-colors hover:border-violet-500/50",
145
+ children: [
146
+ /* @__PURE__ */ jsxDEV("h4", {
147
+ className: "font-bold transition-colors group-hover:text-violet-400",
148
+ children: "Stripe"
149
+ }, undefined, false, undefined, this),
150
+ /* @__PURE__ */ jsxDEV("p", {
151
+ className: "text-muted-foreground mt-1 text-sm",
152
+ children: "Payment processing, subscriptions, and invoicing"
153
+ }, undefined, false, undefined, this)
154
+ ]
155
+ }, undefined, true, undefined, this)
156
+ }, undefined, false, undefined, this)
157
+ ]
158
+ }, undefined, true, undefined, this),
159
+ /* @__PURE__ */ jsxDEV("div", {
160
+ className: "space-y-3",
161
+ children: [
162
+ /* @__PURE__ */ jsxDEV("h3", {
163
+ className: "text-xl font-semibold",
164
+ children: "Open Banking"
165
+ }, undefined, false, undefined, this),
166
+ /* @__PURE__ */ jsxDEV("div", {
167
+ className: "grid gap-4 md:grid-cols-2",
168
+ children: /* @__PURE__ */ jsxDEV(Link, {
169
+ href: "/docs/integrations/powens",
170
+ className: "card-subtle group p-4 transition-colors hover:border-violet-500/50",
171
+ children: [
172
+ /* @__PURE__ */ jsxDEV("h4", {
173
+ className: "font-bold transition-colors group-hover:text-violet-400",
174
+ children: "Powens (Read-Only)"
175
+ }, undefined, false, undefined, this),
176
+ /* @__PURE__ */ jsxDEV("p", {
177
+ className: "text-muted-foreground mt-1 text-sm",
178
+ children: "Account, transaction, and balance synchronisation via Powens with tenant-owned credentials."
179
+ }, undefined, false, undefined, this)
180
+ ]
181
+ }, undefined, true, undefined, this)
182
+ }, undefined, false, undefined, this)
183
+ ]
184
+ }, undefined, true, undefined, this),
185
+ /* @__PURE__ */ jsxDEV("div", {
186
+ className: "space-y-3",
187
+ children: [
188
+ /* @__PURE__ */ jsxDEV("h3", {
189
+ className: "text-xl font-semibold",
190
+ children: "Email"
191
+ }, undefined, false, undefined, this),
192
+ /* @__PURE__ */ jsxDEV("div", {
193
+ className: "grid gap-4 md:grid-cols-2",
194
+ children: [
195
+ /* @__PURE__ */ jsxDEV(Link, {
196
+ href: "/docs/integrations/postmark",
197
+ className: "card-subtle group p-4 transition-colors hover:border-violet-500/50",
198
+ children: [
199
+ /* @__PURE__ */ jsxDEV("h4", {
200
+ className: "font-bold transition-colors group-hover:text-violet-400",
201
+ children: "Postmark"
202
+ }, undefined, false, undefined, this),
203
+ /* @__PURE__ */ jsxDEV("p", {
204
+ className: "text-muted-foreground mt-1 text-sm",
205
+ children: "Transactional email delivery with high deliverability"
206
+ }, undefined, false, undefined, this)
207
+ ]
208
+ }, undefined, true, undefined, this),
209
+ /* @__PURE__ */ jsxDEV(Link, {
210
+ href: "/docs/integrations/resend",
211
+ className: "card-subtle group p-4 transition-colors hover:border-violet-500/50",
212
+ children: [
213
+ /* @__PURE__ */ jsxDEV("h4", {
214
+ className: "font-bold transition-colors group-hover:text-violet-400",
215
+ children: "Resend"
216
+ }, undefined, false, undefined, this),
217
+ /* @__PURE__ */ jsxDEV("p", {
218
+ className: "text-muted-foreground mt-1 text-sm",
219
+ children: "Modern email API for developers"
220
+ }, undefined, false, undefined, this)
221
+ ]
222
+ }, undefined, true, undefined, this),
223
+ /* @__PURE__ */ jsxDEV(Link, {
224
+ href: "/docs/integrations/gmail",
225
+ className: "card-subtle group p-4 transition-colors hover:border-violet-500/50",
226
+ children: [
227
+ /* @__PURE__ */ jsxDEV("h4", {
228
+ className: "font-bold transition-colors group-hover:text-violet-400",
229
+ children: "Gmail API"
230
+ }, undefined, false, undefined, this),
231
+ /* @__PURE__ */ jsxDEV("p", {
232
+ className: "text-muted-foreground mt-1 text-sm",
233
+ children: "Inbound email processing and thread management"
234
+ }, undefined, false, undefined, this)
235
+ ]
236
+ }, undefined, true, undefined, this)
237
+ ]
238
+ }, undefined, true, undefined, this)
239
+ ]
240
+ }, undefined, true, undefined, this),
241
+ /* @__PURE__ */ jsxDEV("div", {
242
+ className: "space-y-3",
243
+ children: [
244
+ /* @__PURE__ */ jsxDEV("h3", {
245
+ className: "text-xl font-semibold",
246
+ children: "Calendar & Scheduling"
247
+ }, undefined, false, undefined, this),
248
+ /* @__PURE__ */ jsxDEV("div", {
249
+ className: "grid gap-4 md:grid-cols-2",
250
+ children: /* @__PURE__ */ jsxDEV(Link, {
251
+ href: "/docs/integrations/google-calendar",
252
+ className: "card-subtle group p-4 transition-colors hover:border-violet-500/50",
253
+ children: [
254
+ /* @__PURE__ */ jsxDEV("h4", {
255
+ className: "font-bold transition-colors group-hover:text-violet-400",
256
+ children: "Google Calendar"
257
+ }, undefined, false, undefined, this),
258
+ /* @__PURE__ */ jsxDEV("p", {
259
+ className: "text-muted-foreground mt-1 text-sm",
260
+ children: "Event scheduling and calendar management"
261
+ }, undefined, false, undefined, this)
262
+ ]
263
+ }, undefined, true, undefined, this)
264
+ }, undefined, false, undefined, this)
265
+ ]
266
+ }, undefined, true, undefined, this),
267
+ /* @__PURE__ */ jsxDEV("div", {
268
+ className: "space-y-3",
269
+ children: [
270
+ /* @__PURE__ */ jsxDEV("h3", {
271
+ className: "text-xl font-semibold",
272
+ children: "AI & Machine Learning"
273
+ }, undefined, false, undefined, this),
274
+ /* @__PURE__ */ jsxDEV("div", {
275
+ className: "grid gap-4 md:grid-cols-2",
276
+ children: [
277
+ /* @__PURE__ */ jsxDEV(Link, {
278
+ href: "/docs/integrations/openai",
279
+ className: "card-subtle group p-4 transition-colors hover:border-violet-500/50",
280
+ children: [
281
+ /* @__PURE__ */ jsxDEV("h4", {
282
+ className: "font-bold transition-colors group-hover:text-violet-400",
283
+ children: "OpenAI"
284
+ }, undefined, false, undefined, this),
285
+ /* @__PURE__ */ jsxDEV("p", {
286
+ className: "text-muted-foreground mt-1 text-sm",
287
+ children: "LLMs, embeddings, and Whisper speech-to-text"
288
+ }, undefined, false, undefined, this)
289
+ ]
290
+ }, undefined, true, undefined, this),
291
+ /* @__PURE__ */ jsxDEV(Link, {
292
+ href: "/docs/integrations/elevenlabs",
293
+ className: "card-subtle group p-4 transition-colors hover:border-violet-500/50",
294
+ children: [
295
+ /* @__PURE__ */ jsxDEV("h4", {
296
+ className: "font-bold transition-colors group-hover:text-violet-400",
297
+ children: "ElevenLabs"
298
+ }, undefined, false, undefined, this),
299
+ /* @__PURE__ */ jsxDEV("p", {
300
+ className: "text-muted-foreground mt-1 text-sm",
301
+ children: "Text-to-speech and voice synthesis"
302
+ }, undefined, false, undefined, this)
303
+ ]
304
+ }, undefined, true, undefined, this),
305
+ /* @__PURE__ */ jsxDEV(Link, {
306
+ href: "/docs/integrations/qdrant",
307
+ className: "card-subtle group p-4 transition-colors hover:border-violet-500/50",
308
+ children: [
309
+ /* @__PURE__ */ jsxDEV("h4", {
310
+ className: "font-bold transition-colors group-hover:text-violet-400",
311
+ children: "Qdrant"
312
+ }, undefined, false, undefined, this),
313
+ /* @__PURE__ */ jsxDEV("p", {
314
+ className: "text-muted-foreground mt-1 text-sm",
315
+ children: "Vector database for semantic search and RAG"
316
+ }, undefined, false, undefined, this)
317
+ ]
318
+ }, undefined, true, undefined, this)
319
+ ]
320
+ }, undefined, true, undefined, this)
321
+ ]
322
+ }, undefined, true, undefined, this),
323
+ /* @__PURE__ */ jsxDEV("div", {
324
+ className: "space-y-3",
325
+ children: [
326
+ /* @__PURE__ */ jsxDEV("h3", {
327
+ className: "text-xl font-semibold",
328
+ children: "Storage"
329
+ }, undefined, false, undefined, this),
330
+ /* @__PURE__ */ jsxDEV("div", {
331
+ className: "grid gap-4 md:grid-cols-2",
332
+ children: /* @__PURE__ */ jsxDEV(Link, {
333
+ href: "/docs/integrations/s3",
334
+ className: "card-subtle group p-4 transition-colors hover:border-violet-500/50",
335
+ children: [
336
+ /* @__PURE__ */ jsxDEV("h4", {
337
+ className: "font-bold transition-colors group-hover:text-violet-400",
338
+ children: "S3-Compatible Storage"
339
+ }, undefined, false, undefined, this),
340
+ /* @__PURE__ */ jsxDEV("p", {
341
+ className: "text-muted-foreground mt-1 text-sm",
342
+ children: "Object storage (AWS S3, Scaleway, MinIO, etc.)"
343
+ }, undefined, false, undefined, this)
344
+ ]
345
+ }, undefined, true, undefined, this)
346
+ }, undefined, false, undefined, this)
347
+ ]
348
+ }, undefined, true, undefined, this),
349
+ /* @__PURE__ */ jsxDEV("div", {
350
+ className: "space-y-3",
351
+ children: [
352
+ /* @__PURE__ */ jsxDEV("h3", {
353
+ className: "text-xl font-semibold",
354
+ children: "SMS & Messaging"
355
+ }, undefined, false, undefined, this),
356
+ /* @__PURE__ */ jsxDEV("div", {
357
+ className: "grid gap-4 md:grid-cols-2",
358
+ children: /* @__PURE__ */ jsxDEV(Link, {
359
+ href: "/docs/integrations/twilio",
360
+ className: "card-subtle group p-4 transition-colors hover:border-violet-500/50",
361
+ children: [
362
+ /* @__PURE__ */ jsxDEV("h4", {
363
+ className: "font-bold transition-colors group-hover:text-violet-400",
364
+ children: "Twilio"
365
+ }, undefined, false, undefined, this),
366
+ /* @__PURE__ */ jsxDEV("p", {
367
+ className: "text-muted-foreground mt-1 text-sm",
368
+ children: "SMS notifications and messaging"
369
+ }, undefined, false, undefined, this)
370
+ ]
371
+ }, undefined, true, undefined, this)
372
+ }, undefined, false, undefined, this)
373
+ ]
374
+ }, undefined, true, undefined, this)
375
+ ]
376
+ }, undefined, true, undefined, this)
377
+ ]
378
+ }, undefined, true, undefined, this),
379
+ /* @__PURE__ */ jsxDEV("div", {
380
+ className: "space-y-4",
381
+ children: [
382
+ /* @__PURE__ */ jsxDEV("h2", {
383
+ className: "text-2xl font-bold",
384
+ children: "How integrations work"
385
+ }, undefined, false, undefined, this),
386
+ /* @__PURE__ */ jsxDEV("p", {
387
+ className: "text-muted-foreground",
388
+ children: [
389
+ "ContractSpec integrations are implemented as",
390
+ " ",
391
+ /* @__PURE__ */ jsxDEV(Link, {
392
+ href: "/docs/specs/capabilities",
393
+ className: "text-violet-400 hover:text-violet-300",
394
+ children: "capability providers"
395
+ }, undefined, false, undefined, this),
396
+ ". This means:"
397
+ ]
398
+ }, undefined, true, undefined, this),
399
+ /* @__PURE__ */ jsxDEV("ul", {
400
+ className: "text-muted-foreground list-inside list-disc space-y-2",
401
+ children: [
402
+ /* @__PURE__ */ jsxDEV("li", {
403
+ children: [
404
+ /* @__PURE__ */ jsxDEV("strong", {
405
+ children: "Type safety"
406
+ }, undefined, false, undefined, this),
407
+ " – All API calls are type-checked by TypeScript and validated at runtime via Zod"
408
+ ]
409
+ }, undefined, true, undefined, this),
410
+ /* @__PURE__ */ jsxDEV("li", {
411
+ children: [
412
+ /* @__PURE__ */ jsxDEV("strong", {
413
+ children: "Policy enforcement"
414
+ }, undefined, false, undefined, this),
415
+ " – Access to external services is governed by your",
416
+ " ",
417
+ /* @__PURE__ */ jsxDEV(Link, {
418
+ href: "/docs/specs/policy",
419
+ className: "text-violet-400 hover:text-violet-300",
420
+ children: "PolicySpecs"
421
+ }, undefined, false, undefined, this)
422
+ ]
423
+ }, undefined, true, undefined, this),
424
+ /* @__PURE__ */ jsxDEV("li", {
425
+ children: [
426
+ /* @__PURE__ */ jsxDEV("strong", {
427
+ children: "Audit logging"
428
+ }, undefined, false, undefined, this),
429
+ " – All integration calls are automatically logged"
430
+ ]
431
+ }, undefined, true, undefined, this),
432
+ /* @__PURE__ */ jsxDEV("li", {
433
+ children: [
434
+ /* @__PURE__ */ jsxDEV("strong", {
435
+ children: "Error handling"
436
+ }, undefined, false, undefined, this),
437
+ " – Built-in retries and fallback strategies"
438
+ ]
439
+ }, undefined, true, undefined, this),
440
+ /* @__PURE__ */ jsxDEV("li", {
441
+ children: [
442
+ /* @__PURE__ */ jsxDEV("strong", {
443
+ children: "Environment-based config"
444
+ }, undefined, false, undefined, this),
445
+ " – API keys and secrets are managed through environment variables"
446
+ ]
447
+ }, undefined, true, undefined, this)
448
+ ]
449
+ }, undefined, true, undefined, this)
450
+ ]
451
+ }, undefined, true, undefined, this),
452
+ /* @__PURE__ */ jsxDEV("div", {
453
+ className: "space-y-4",
454
+ children: [
455
+ /* @__PURE__ */ jsxDEV("h2", {
456
+ className: "text-2xl font-bold",
457
+ children: "Secret management"
458
+ }, undefined, false, undefined, this),
459
+ /* @__PURE__ */ jsxDEV("p", {
460
+ className: "text-muted-foreground",
461
+ children: "Secrets are resolved through a layered secret provider manager. It checks lightweight environment overrides first, then falls back to a managed vault (Google Cloud Secret Manager) for production."
462
+ }, undefined, false, undefined, this),
463
+ /* @__PURE__ */ jsxDEV("div", {
464
+ className: "grid gap-4 md:grid-cols-2",
465
+ children: [
466
+ /* @__PURE__ */ jsxDEV("div", {
467
+ className: "card-subtle p-4",
468
+ children: [
469
+ /* @__PURE__ */ jsxDEV("h3", {
470
+ className: "text-xl font-semibold",
471
+ children: "Environment variables"
472
+ }, undefined, false, undefined, this),
473
+ /* @__PURE__ */ jsxDEV("p", {
474
+ className: "text-muted-foreground mt-2 text-sm",
475
+ children: [
476
+ "Perfect for local development and secure staging overrides. Use the ",
477
+ /* @__PURE__ */ jsxDEV("code", {
478
+ children: "env://"
479
+ }, undefined, false, undefined, this),
480
+ " scheme or append ",
481
+ /* @__PURE__ */ jsxDEV("code", {
482
+ children: "?env="
483
+ }, undefined, false, undefined, this),
484
+ " to another reference to map an explicit variable."
485
+ ]
486
+ }, undefined, true, undefined, this),
487
+ /* @__PURE__ */ jsxDEV("div", {
488
+ className: "bg-background/60 border-border mt-3 overflow-auto rounded-lg border p-3 font-mono text-xs",
489
+ children: /* @__PURE__ */ jsxDEV("pre", {
490
+ className: "whitespace-pre-wrap",
491
+ children: `# Override a production secret locally
492
+ CONTRACTSPEC__SECRET__STRIPE=sk_test_123
493
+
494
+ # Reference
495
+ env://CONTRACTSPEC__SECRET__STRIPE`
496
+ }, undefined, false, undefined, this)
497
+ }, undefined, false, undefined, this)
498
+ ]
499
+ }, undefined, true, undefined, this),
500
+ /* @__PURE__ */ jsxDEV("div", {
501
+ className: "card-subtle p-4",
502
+ children: [
503
+ /* @__PURE__ */ jsxDEV("h3", {
504
+ className: "text-xl font-semibold",
505
+ children: "GCP Secret Manager"
506
+ }, undefined, false, undefined, this),
507
+ /* @__PURE__ */ jsxDEV("p", {
508
+ className: "text-muted-foreground mt-2 text-sm",
509
+ children: [
510
+ "Used in production to store versioned credentials with rotation support. References follow the",
511
+ " ",
512
+ /* @__PURE__ */ jsxDEV("code", {
513
+ children: "gcp://projects/.../secrets/.../versions/latest"
514
+ }, undefined, false, undefined, this),
515
+ " ",
516
+ "format."
517
+ ]
518
+ }, undefined, true, undefined, this),
519
+ /* @__PURE__ */ jsxDEV("div", {
520
+ className: "bg-background/60 border-border mt-3 overflow-auto rounded-lg border p-3 font-mono text-xs",
521
+ children: /* @__PURE__ */ jsxDEV("pre", {
522
+ className: "whitespace-pre-wrap",
523
+ children: `# Production reference
524
+ gcp://projects/tenant/secrets/stripe-secret-key/versions/latest`
525
+ }, undefined, false, undefined, this)
526
+ }, undefined, false, undefined, this)
527
+ ]
528
+ }, undefined, true, undefined, this)
529
+ ]
530
+ }, undefined, true, undefined, this),
531
+ /* @__PURE__ */ jsxDEV("p", {
532
+ className: "text-muted-foreground text-sm",
533
+ children: "The secret manager chooses the first provider that can resolve a reference, so local environment variables can override the managed vault without changing blueprints or tenant configs."
534
+ }, undefined, false, undefined, this)
535
+ ]
536
+ }, undefined, true, undefined, this),
537
+ /* @__PURE__ */ jsxDEV("div", {
538
+ className: "space-y-4",
539
+ children: [
540
+ /* @__PURE__ */ jsxDEV("h2", {
541
+ className: "text-2xl font-bold",
542
+ children: "Configuration"
543
+ }, undefined, false, undefined, this),
544
+ /* @__PURE__ */ jsxDEV("p", {
545
+ className: "text-muted-foreground",
546
+ children: "Integrations are configured through environment variables and secret references. Here's a typical setup:"
547
+ }, undefined, false, undefined, this),
548
+ /* @__PURE__ */ jsxDEV("div", {
549
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
550
+ children: /* @__PURE__ */ jsxDEV("pre", {
551
+ children: `# .env
552
+ STRIPE_SECRET_KEY=sk_test_...
553
+ STRIPE_WEBHOOK_SECRET=whsec_...
554
+
555
+ POSTMARK_API_TOKEN=...
556
+ POSTMARK_FROM_EMAIL=noreply@example.com
557
+
558
+ OPENAI_API_KEY=sk-...
559
+ OPENAI_ORGANIZATION=org-...
560
+
561
+ QDRANT_URL=https://...
562
+ QDRANT_API_KEY=...
563
+
564
+ S3_ENDPOINT=https://s3.fr-par.scw.cloud
565
+ S3_ACCESS_KEY_ID=...
566
+ S3_SECRET_ACCESS_KEY=...
567
+ S3_BUCKET=my-bucket
568
+ S3_REGION=fr-par
569
+
570
+ # Secret references
571
+ STRIPE_SECRET_REF=gcp://projects/tenant/secrets/stripe-secret-key/versions/latest
572
+ STRIPE_SECRET_OVERRIDE=env://STRIPE_SECRET_KEY`
573
+ }, undefined, false, undefined, this)
574
+ }, undefined, false, undefined, this)
575
+ ]
576
+ }, undefined, true, undefined, this),
577
+ /* @__PURE__ */ jsxDEV("div", {
578
+ className: "space-y-4",
579
+ children: [
580
+ /* @__PURE__ */ jsxDEV("h2", {
581
+ className: "text-2xl font-bold",
582
+ children: "Integration categories"
583
+ }, undefined, false, undefined, this),
584
+ /* @__PURE__ */ jsxDEV("p", {
585
+ className: "text-muted-foreground",
586
+ children: "ContractSpec supports the following integration categories:"
587
+ }, undefined, false, undefined, this),
588
+ /* @__PURE__ */ jsxDEV("div", {
589
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
590
+ children: /* @__PURE__ */ jsxDEV("pre", {
591
+ children: `type IntegrationCategory =
592
+ | "payments" // Stripe, PayPal, etc.
593
+ | "email" // Postmark, Resend, Gmail
594
+ | "calendar" // Google Calendar, Outlook
595
+ | "sms" // Twilio, MessageBird
596
+ | "ai-llm" // OpenAI, Anthropic, Cohere
597
+ | "ai-voice" // ElevenLabs, Google TTS
598
+ | "speech-to-text" // OpenAI Whisper, Google STT
599
+ | "vector-db" // Qdrant, Pinecone, Weaviate
600
+ | "storage" // S3, GCS, Azure Blob
601
+ | "accounting" // QuickBooks, Xero (coming soon)
602
+ | "crm" // Salesforce, HubSpot (coming soon)
603
+ | "helpdesk" // Zendesk, Intercom (coming soon)
604
+ | "custom"; // Your own integrations`
605
+ }, undefined, false, undefined, this)
606
+ }, undefined, false, undefined, this)
607
+ ]
608
+ }, undefined, true, undefined, this),
609
+ /* @__PURE__ */ jsxDEV("div", {
610
+ className: "space-y-4",
611
+ children: [
612
+ /* @__PURE__ */ jsxDEV("h2", {
613
+ className: "text-2xl font-bold",
614
+ children: "Custom integrations"
615
+ }, undefined, false, undefined, this),
616
+ /* @__PURE__ */ jsxDEV("p", {
617
+ className: "text-muted-foreground",
618
+ children: [
619
+ "You can create custom integrations by implementing a capability provider. See the",
620
+ " ",
621
+ /* @__PURE__ */ jsxDEV(Link, {
622
+ href: "/docs/advanced/custom-providers",
623
+ className: "text-violet-400 hover:text-violet-300",
624
+ children: "Custom Providers"
625
+ }, undefined, false, undefined, this),
626
+ " ",
627
+ "guide for details."
628
+ ]
629
+ }, undefined, true, undefined, this)
630
+ ]
631
+ }, undefined, true, undefined, this),
632
+ /* @__PURE__ */ jsxDEV("div", {
633
+ className: "flex items-center gap-4 pt-4",
634
+ children: /* @__PURE__ */ jsxDEV(Link, {
635
+ href: "/docs/integrations/stripe",
636
+ className: "btn-primary",
637
+ children: [
638
+ "Get Started with Stripe ",
639
+ /* @__PURE__ */ jsxDEV(ChevronRight, {
640
+ size: 16
641
+ }, undefined, false, undefined, this)
642
+ ]
643
+ }, undefined, true, undefined, this)
644
+ }, undefined, false, undefined, this)
645
+ ]
646
+ }, undefined, true, undefined, this);
647
+ }
648
+
649
+ // src/components/docs/integrations/IntegrationsCircuitBreakersPage.tsx
650
+ import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
651
+ function IntegrationsCircuitBreakersPage() {
652
+ return /* @__PURE__ */ jsxDEV2("div", {
653
+ className: "space-y-8",
654
+ children: [
655
+ /* @__PURE__ */ jsxDEV2("div", {
656
+ className: "space-y-4",
657
+ children: [
658
+ /* @__PURE__ */ jsxDEV2("h1", {
659
+ className: "text-4xl font-bold",
660
+ children: "Integration Circuit Breakers"
661
+ }, undefined, false, undefined, this),
662
+ /* @__PURE__ */ jsxDEV2("p", {
663
+ className: "text-muted-foreground text-lg",
664
+ children: "External APIs are the most common source of instability. Wrap every integration call in a circuit breaker to protect your system."
665
+ }, undefined, false, undefined, this)
666
+ ]
667
+ }, undefined, true, undefined, this),
668
+ /* @__PURE__ */ jsxDEV2("div", {
669
+ className: "space-y-4",
670
+ children: [
671
+ /* @__PURE__ */ jsxDEV2("h2", {
672
+ className: "text-2xl font-bold",
673
+ children: "Pattern"
674
+ }, undefined, false, undefined, this),
675
+ /* @__PURE__ */ jsxDEV2("p", {
676
+ children: "Create a dedicated circuit breaker instance for each external service. This ensures that a failure in Stripe doesn't trigger the circuit breaker for Twilio."
677
+ }, undefined, false, undefined, this),
678
+ /* @__PURE__ */ jsxDEV2("pre", {
679
+ className: "bg-muted rounded-lg border p-4 text-sm",
680
+ children: `// integrations/stripe.ts
681
+ import { CircuitBreaker } from '@contractspec/lib.resilience/circuit-breaker';
682
+
683
+ const stripeBreaker = new CircuitBreaker({
684
+ failureThreshold: 10,
685
+ resetTimeoutMs: 60000,
686
+ });
687
+
688
+ export async function createCharge(amount: number) {
689
+ return stripeBreaker.execute(() => stripe.charges.create({ amount }));
690
+ }`
691
+ }, undefined, false, undefined, this)
692
+ ]
693
+ }, undefined, true, undefined, this)
694
+ ]
695
+ }, undefined, true, undefined, this);
696
+ }
697
+
698
+ // src/components/docs/integrations/IntegrationsElevenLabsPage.tsx
699
+ import Link2 from "@contractspec/lib.ui-link";
700
+ import { ChevronRight as ChevronRight2 } from "lucide-react";
701
+ import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
702
+ function IntegrationsElevenLabsPage() {
703
+ return /* @__PURE__ */ jsxDEV3("div", {
704
+ className: "space-y-8",
705
+ children: [
706
+ /* @__PURE__ */ jsxDEV3("div", {
707
+ className: "space-y-4",
708
+ children: [
709
+ /* @__PURE__ */ jsxDEV3("h1", {
710
+ className: "text-4xl font-bold",
711
+ children: "ElevenLabs"
712
+ }, undefined, false, undefined, this),
713
+ /* @__PURE__ */ jsxDEV3("p", {
714
+ className: "text-muted-foreground",
715
+ children: "ElevenLabs provides state-of-the-art text-to-speech and voice cloning technology. Create natural-sounding voiceovers, audiobooks, and voice assistants."
716
+ }, undefined, false, undefined, this)
717
+ ]
718
+ }, undefined, true, undefined, this),
719
+ /* @__PURE__ */ jsxDEV3("div", {
720
+ className: "space-y-4",
721
+ children: [
722
+ /* @__PURE__ */ jsxDEV3("h2", {
723
+ className: "text-2xl font-bold",
724
+ children: "Setup"
725
+ }, undefined, false, undefined, this),
726
+ /* @__PURE__ */ jsxDEV3("div", {
727
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
728
+ children: /* @__PURE__ */ jsxDEV3("pre", {
729
+ children: `# .env
730
+ ELEVENLABS_API_KEY=...`
731
+ }, undefined, false, undefined, this)
732
+ }, undefined, false, undefined, this)
733
+ ]
734
+ }, undefined, true, undefined, this),
735
+ /* @__PURE__ */ jsxDEV3("div", {
736
+ className: "space-y-4",
737
+ children: [
738
+ /* @__PURE__ */ jsxDEV3("h2", {
739
+ className: "text-2xl font-bold",
740
+ children: "Text-to-Speech"
741
+ }, undefined, false, undefined, this),
742
+ /* @__PURE__ */ jsxDEV3("div", {
743
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
744
+ children: /* @__PURE__ */ jsxDEV3("pre", {
745
+ children: `capabilityId: elevenlabs-tts
746
+ provider:
747
+ type: elevenlabs
748
+ operation: textToSpeech
749
+
750
+ inputs:
751
+ text:
752
+ type: string
753
+ voiceId:
754
+ type: string
755
+ default: "21m00Tcm4TlvDq8ikWAM"
756
+ modelId:
757
+ type: string
758
+ default: "eleven_monolingual_v1"
759
+
760
+ outputs:
761
+ audioUrl:
762
+ type: string
763
+ audioData:
764
+ type: buffer`
765
+ }, undefined, false, undefined, this)
766
+ }, undefined, false, undefined, this)
767
+ ]
768
+ }, undefined, true, undefined, this),
769
+ /* @__PURE__ */ jsxDEV3("div", {
770
+ className: "space-y-4",
771
+ children: [
772
+ /* @__PURE__ */ jsxDEV3("h2", {
773
+ className: "text-2xl font-bold",
774
+ children: "Use cases"
775
+ }, undefined, false, undefined, this),
776
+ /* @__PURE__ */ jsxDEV3("ul", {
777
+ className: "text-muted-foreground list-inside list-disc space-y-2",
778
+ children: [
779
+ /* @__PURE__ */ jsxDEV3("li", {
780
+ children: "Generate voiceovers for videos"
781
+ }, undefined, false, undefined, this),
782
+ /* @__PURE__ */ jsxDEV3("li", {
783
+ children: "Create audio versions of articles"
784
+ }, undefined, false, undefined, this),
785
+ /* @__PURE__ */ jsxDEV3("li", {
786
+ children: "Build voice assistants"
787
+ }, undefined, false, undefined, this),
788
+ /* @__PURE__ */ jsxDEV3("li", {
789
+ children: "Produce audiobooks"
790
+ }, undefined, false, undefined, this)
791
+ ]
792
+ }, undefined, true, undefined, this)
793
+ ]
794
+ }, undefined, true, undefined, this),
795
+ /* @__PURE__ */ jsxDEV3("div", {
796
+ className: "flex items-center gap-4 pt-4",
797
+ children: [
798
+ /* @__PURE__ */ jsxDEV3(Link2, {
799
+ href: "/docs/integrations/openai",
800
+ className: "btn-ghost",
801
+ children: "Previous: OpenAI"
802
+ }, undefined, false, undefined, this),
803
+ /* @__PURE__ */ jsxDEV3(Link2, {
804
+ href: "/docs/integrations/qdrant",
805
+ className: "btn-primary",
806
+ children: [
807
+ "Next: Qdrant ",
808
+ /* @__PURE__ */ jsxDEV3(ChevronRight2, {
809
+ size: 16
810
+ }, undefined, false, undefined, this)
811
+ ]
812
+ }, undefined, true, undefined, this)
813
+ ]
814
+ }, undefined, true, undefined, this)
815
+ ]
816
+ }, undefined, true, undefined, this);
817
+ }
818
+
819
+ // src/components/docs/integrations/IntegrationsGmailPage.tsx
820
+ import Link3 from "@contractspec/lib.ui-link";
821
+ import { ChevronRight as ChevronRight3 } from "lucide-react";
822
+ import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
823
+ function IntegrationsGmailPage() {
824
+ return /* @__PURE__ */ jsxDEV4("div", {
825
+ className: "space-y-8",
826
+ children: [
827
+ /* @__PURE__ */ jsxDEV4("div", {
828
+ className: "space-y-4",
829
+ children: [
830
+ /* @__PURE__ */ jsxDEV4("h1", {
831
+ className: "text-4xl font-bold",
832
+ children: "Gmail API"
833
+ }, undefined, false, undefined, this),
834
+ /* @__PURE__ */ jsxDEV4("p", {
835
+ className: "text-muted-foreground",
836
+ children: "The Gmail API integration allows you to read inbound emails, manage threads, and build email-based workflows. Perfect for support tickets, email parsing, and automated responses."
837
+ }, undefined, false, undefined, this)
838
+ ]
839
+ }, undefined, true, undefined, this),
840
+ /* @__PURE__ */ jsxDEV4("div", {
841
+ className: "space-y-4",
842
+ children: [
843
+ /* @__PURE__ */ jsxDEV4("h2", {
844
+ className: "text-2xl font-bold",
845
+ children: "Setup"
846
+ }, undefined, false, undefined, this),
847
+ /* @__PURE__ */ jsxDEV4("p", {
848
+ className: "text-muted-foreground",
849
+ children: "Configure OAuth 2.0 credentials in Google Cloud Console:"
850
+ }, undefined, false, undefined, this),
851
+ /* @__PURE__ */ jsxDEV4("div", {
852
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
853
+ children: /* @__PURE__ */ jsxDEV4("pre", {
854
+ children: `# .env
855
+ GOOGLE_CLIENT_ID=...
856
+ GOOGLE_CLIENT_SECRET=...
857
+ GOOGLE_REDIRECT_URI=https://your-app.com/auth/google/callback`
858
+ }, undefined, false, undefined, this)
859
+ }, undefined, false, undefined, this)
860
+ ]
861
+ }, undefined, true, undefined, this),
862
+ /* @__PURE__ */ jsxDEV4("div", {
863
+ className: "space-y-4",
864
+ children: [
865
+ /* @__PURE__ */ jsxDEV4("h2", {
866
+ className: "text-2xl font-bold",
867
+ children: "Reading emails"
868
+ }, undefined, false, undefined, this),
869
+ /* @__PURE__ */ jsxDEV4("div", {
870
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
871
+ children: /* @__PURE__ */ jsxDEV4("pre", {
872
+ children: `capabilityId: gmail-list-messages
873
+ provider:
874
+ type: gmail
875
+ operation: listMessages
876
+
877
+ inputs:
878
+ query:
879
+ type: string
880
+ description: "Gmail search query"
881
+ maxResults:
882
+ type: number
883
+ default: 10
884
+
885
+ outputs:
886
+ messages:
887
+ type: array
888
+ items:
889
+ type: object
890
+ properties:
891
+ id: string
892
+ threadId: string
893
+ snippet: string`
894
+ }, undefined, false, undefined, this)
895
+ }, undefined, false, undefined, this)
896
+ ]
897
+ }, undefined, true, undefined, this),
898
+ /* @__PURE__ */ jsxDEV4("div", {
899
+ className: "space-y-4",
900
+ children: [
901
+ /* @__PURE__ */ jsxDEV4("h2", {
902
+ className: "text-2xl font-bold",
903
+ children: "Use cases"
904
+ }, undefined, false, undefined, this),
905
+ /* @__PURE__ */ jsxDEV4("ul", {
906
+ className: "text-muted-foreground list-inside list-disc space-y-2",
907
+ children: [
908
+ /* @__PURE__ */ jsxDEV4("li", {
909
+ children: "Parse support emails and create tickets"
910
+ }, undefined, false, undefined, this),
911
+ /* @__PURE__ */ jsxDEV4("li", {
912
+ children: "Extract attachments and process them"
913
+ }, undefined, false, undefined, this),
914
+ /* @__PURE__ */ jsxDEV4("li", {
915
+ children: "Build email-to-task workflows"
916
+ }, undefined, false, undefined, this),
917
+ /* @__PURE__ */ jsxDEV4("li", {
918
+ children: "Monitor specific email threads"
919
+ }, undefined, false, undefined, this)
920
+ ]
921
+ }, undefined, true, undefined, this)
922
+ ]
923
+ }, undefined, true, undefined, this),
924
+ /* @__PURE__ */ jsxDEV4("div", {
925
+ className: "flex items-center gap-4 pt-4",
926
+ children: [
927
+ /* @__PURE__ */ jsxDEV4(Link3, {
928
+ href: "/docs/integrations/resend",
929
+ className: "btn-ghost",
930
+ children: "Previous: Resend"
931
+ }, undefined, false, undefined, this),
932
+ /* @__PURE__ */ jsxDEV4(Link3, {
933
+ href: "/docs/integrations/google-calendar",
934
+ className: "btn-primary",
935
+ children: [
936
+ "Next: Google Calendar ",
937
+ /* @__PURE__ */ jsxDEV4(ChevronRight3, {
938
+ size: 16
939
+ }, undefined, false, undefined, this)
940
+ ]
941
+ }, undefined, true, undefined, this)
942
+ ]
943
+ }, undefined, true, undefined, this)
944
+ ]
945
+ }, undefined, true, undefined, this);
946
+ }
947
+
948
+ // src/components/docs/integrations/IntegrationsGoogleCalendarPage.tsx
949
+ import Link4 from "@contractspec/lib.ui-link";
950
+ import { ChevronRight as ChevronRight4 } from "lucide-react";
951
+ import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
952
+ function IntegrationsGoogleCalendarPage() {
953
+ return /* @__PURE__ */ jsxDEV5("div", {
954
+ className: "space-y-8",
955
+ children: [
956
+ /* @__PURE__ */ jsxDEV5("div", {
957
+ className: "space-y-4",
958
+ children: [
959
+ /* @__PURE__ */ jsxDEV5("h1", {
960
+ className: "text-4xl font-bold",
961
+ children: "Google Calendar"
962
+ }, undefined, false, undefined, this),
963
+ /* @__PURE__ */ jsxDEV5("p", {
964
+ className: "text-muted-foreground",
965
+ children: "Integrate Google Calendar to schedule appointments, manage availability, and sync events with your application."
966
+ }, undefined, false, undefined, this)
967
+ ]
968
+ }, undefined, true, undefined, this),
969
+ /* @__PURE__ */ jsxDEV5("div", {
970
+ className: "space-y-4",
971
+ children: [
972
+ /* @__PURE__ */ jsxDEV5("h2", {
973
+ className: "text-2xl font-bold",
974
+ children: "Setup"
975
+ }, undefined, false, undefined, this),
976
+ /* @__PURE__ */ jsxDEV5("div", {
977
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
978
+ children: /* @__PURE__ */ jsxDEV5("pre", {
979
+ children: `# .env
980
+ GOOGLE_CLIENT_ID=...
981
+ GOOGLE_CLIENT_SECRET=...
982
+ GOOGLE_CALENDAR_ID=primary`
983
+ }, undefined, false, undefined, this)
984
+ }, undefined, false, undefined, this)
985
+ ]
986
+ }, undefined, true, undefined, this),
987
+ /* @__PURE__ */ jsxDEV5("div", {
988
+ className: "space-y-4",
989
+ children: [
990
+ /* @__PURE__ */ jsxDEV5("h2", {
991
+ className: "text-2xl font-bold",
992
+ children: "Creating events"
993
+ }, undefined, false, undefined, this),
994
+ /* @__PURE__ */ jsxDEV5("div", {
995
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
996
+ children: /* @__PURE__ */ jsxDEV5("pre", {
997
+ children: `capabilityId: calendar-create-event
998
+ provider:
999
+ type: google-calendar
1000
+ operation: createEvent
1001
+
1002
+ inputs:
1003
+ summary:
1004
+ type: string
1005
+ description:
1006
+ type: string
1007
+ optional: true
1008
+ startTime:
1009
+ type: timestamp
1010
+ endTime:
1011
+ type: timestamp
1012
+ attendees:
1013
+ type: array
1014
+ items:
1015
+ type: string
1016
+
1017
+ outputs:
1018
+ eventId:
1019
+ type: string
1020
+ htmlLink:
1021
+ type: string`
1022
+ }, undefined, false, undefined, this)
1023
+ }, undefined, false, undefined, this)
1024
+ ]
1025
+ }, undefined, true, undefined, this),
1026
+ /* @__PURE__ */ jsxDEV5("div", {
1027
+ className: "flex items-center gap-4 pt-4",
1028
+ children: [
1029
+ /* @__PURE__ */ jsxDEV5(Link4, {
1030
+ href: "/docs/integrations/gmail",
1031
+ className: "btn-ghost",
1032
+ children: "Previous: Gmail API"
1033
+ }, undefined, false, undefined, this),
1034
+ /* @__PURE__ */ jsxDEV5(Link4, {
1035
+ href: "/docs/integrations/openai",
1036
+ className: "btn-primary",
1037
+ children: [
1038
+ "Next: OpenAI ",
1039
+ /* @__PURE__ */ jsxDEV5(ChevronRight4, {
1040
+ size: 16
1041
+ }, undefined, false, undefined, this)
1042
+ ]
1043
+ }, undefined, true, undefined, this)
1044
+ ]
1045
+ }, undefined, true, undefined, this)
1046
+ ]
1047
+ }, undefined, true, undefined, this);
1048
+ }
1049
+
1050
+ // src/components/docs/integrations/IntegrationsOpenAIPage.tsx
1051
+ import Link5 from "@contractspec/lib.ui-link";
1052
+ import { ChevronRight as ChevronRight5 } from "lucide-react";
1053
+ import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
1054
+ function IntegrationsOpenAIPage() {
1055
+ return /* @__PURE__ */ jsxDEV6("div", {
1056
+ className: "space-y-8",
1057
+ children: [
1058
+ /* @__PURE__ */ jsxDEV6("div", {
1059
+ className: "space-y-4",
1060
+ children: [
1061
+ /* @__PURE__ */ jsxDEV6("h1", {
1062
+ className: "text-4xl font-bold",
1063
+ children: "OpenAI"
1064
+ }, undefined, false, undefined, this),
1065
+ /* @__PURE__ */ jsxDEV6("p", {
1066
+ className: "text-muted-foreground",
1067
+ children: "Integrate OpenAI's powerful AI models for chat completion, embeddings, and speech-to-text. Build intelligent features with GPT-4, generate embeddings for semantic search, and transcribe audio with Whisper."
1068
+ }, undefined, false, undefined, this)
1069
+ ]
1070
+ }, undefined, true, undefined, this),
1071
+ /* @__PURE__ */ jsxDEV6("div", {
1072
+ className: "space-y-4",
1073
+ children: [
1074
+ /* @__PURE__ */ jsxDEV6("h2", {
1075
+ className: "text-2xl font-bold",
1076
+ children: "Setup"
1077
+ }, undefined, false, undefined, this),
1078
+ /* @__PURE__ */ jsxDEV6("div", {
1079
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1080
+ children: /* @__PURE__ */ jsxDEV6("pre", {
1081
+ children: `# .env
1082
+ OPENAI_API_KEY=sk-...
1083
+ OPENAI_ORGANIZATION=org-...`
1084
+ }, undefined, false, undefined, this)
1085
+ }, undefined, false, undefined, this)
1086
+ ]
1087
+ }, undefined, true, undefined, this),
1088
+ /* @__PURE__ */ jsxDEV6("div", {
1089
+ className: "space-y-4",
1090
+ children: [
1091
+ /* @__PURE__ */ jsxDEV6("h2", {
1092
+ className: "text-2xl font-bold",
1093
+ children: "Chat completions"
1094
+ }, undefined, false, undefined, this),
1095
+ /* @__PURE__ */ jsxDEV6("div", {
1096
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1097
+ children: /* @__PURE__ */ jsxDEV6("pre", {
1098
+ children: `capabilityId: openai-chat
1099
+ provider:
1100
+ type: openai
1101
+ operation: chatCompletion
1102
+
1103
+ inputs:
1104
+ messages:
1105
+ type: array
1106
+ items:
1107
+ type: object
1108
+ properties:
1109
+ role: string
1110
+ content: string
1111
+ model:
1112
+ type: string
1113
+ default: "gpt-4"
1114
+ temperature:
1115
+ type: number
1116
+ default: 0.7
1117
+ optional: true
1118
+
1119
+ outputs:
1120
+ content:
1121
+ type: string
1122
+ usage:
1123
+ type: object`
1124
+ }, undefined, false, undefined, this)
1125
+ }, undefined, false, undefined, this)
1126
+ ]
1127
+ }, undefined, true, undefined, this),
1128
+ /* @__PURE__ */ jsxDEV6("div", {
1129
+ className: "space-y-4",
1130
+ children: [
1131
+ /* @__PURE__ */ jsxDEV6("h2", {
1132
+ className: "text-2xl font-bold",
1133
+ children: "Embeddings"
1134
+ }, undefined, false, undefined, this),
1135
+ /* @__PURE__ */ jsxDEV6("div", {
1136
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1137
+ children: /* @__PURE__ */ jsxDEV6("pre", {
1138
+ children: `capabilityId: openai-embeddings
1139
+ provider:
1140
+ type: openai
1141
+ operation: createEmbedding
1142
+
1143
+ inputs:
1144
+ text:
1145
+ type: string
1146
+ model:
1147
+ type: string
1148
+ default: "text-embedding-3-small"
1149
+
1150
+ outputs:
1151
+ embedding:
1152
+ type: array
1153
+ items:
1154
+ type: number`
1155
+ }, undefined, false, undefined, this)
1156
+ }, undefined, false, undefined, this)
1157
+ ]
1158
+ }, undefined, true, undefined, this),
1159
+ /* @__PURE__ */ jsxDEV6("div", {
1160
+ className: "space-y-4",
1161
+ children: [
1162
+ /* @__PURE__ */ jsxDEV6("h2", {
1163
+ className: "text-2xl font-bold",
1164
+ children: "Whisper (Speech-to-Text)"
1165
+ }, undefined, false, undefined, this),
1166
+ /* @__PURE__ */ jsxDEV6("div", {
1167
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1168
+ children: /* @__PURE__ */ jsxDEV6("pre", {
1169
+ children: `capabilityId: openai-transcribe
1170
+ provider:
1171
+ type: openai
1172
+ operation: transcribe
1173
+
1174
+ inputs:
1175
+ audioFile:
1176
+ type: file
1177
+ language:
1178
+ type: string
1179
+ optional: true
1180
+
1181
+ outputs:
1182
+ text:
1183
+ type: string
1184
+ language:
1185
+ type: string`
1186
+ }, undefined, false, undefined, this)
1187
+ }, undefined, false, undefined, this)
1188
+ ]
1189
+ }, undefined, true, undefined, this),
1190
+ /* @__PURE__ */ jsxDEV6("div", {
1191
+ className: "space-y-4",
1192
+ children: [
1193
+ /* @__PURE__ */ jsxDEV6("h2", {
1194
+ className: "text-2xl font-bold",
1195
+ children: "Best practices"
1196
+ }, undefined, false, undefined, this),
1197
+ /* @__PURE__ */ jsxDEV6("ul", {
1198
+ className: "text-muted-foreground list-inside list-disc space-y-2",
1199
+ children: [
1200
+ /* @__PURE__ */ jsxDEV6("li", {
1201
+ children: "Use streaming for real-time chat responses"
1202
+ }, undefined, false, undefined, this),
1203
+ /* @__PURE__ */ jsxDEV6("li", {
1204
+ children: "Cache embeddings to reduce API costs"
1205
+ }, undefined, false, undefined, this),
1206
+ /* @__PURE__ */ jsxDEV6("li", {
1207
+ children: "Implement rate limiting to avoid quota issues"
1208
+ }, undefined, false, undefined, this),
1209
+ /* @__PURE__ */ jsxDEV6("li", {
1210
+ children: "Store conversation history for context"
1211
+ }, undefined, false, undefined, this),
1212
+ /* @__PURE__ */ jsxDEV6("li", {
1213
+ children: "Monitor token usage and costs"
1214
+ }, undefined, false, undefined, this)
1215
+ ]
1216
+ }, undefined, true, undefined, this)
1217
+ ]
1218
+ }, undefined, true, undefined, this),
1219
+ /* @__PURE__ */ jsxDEV6("div", {
1220
+ className: "flex items-center gap-4 pt-4",
1221
+ children: [
1222
+ /* @__PURE__ */ jsxDEV6(Link5, {
1223
+ href: "/docs/integrations/google-calendar",
1224
+ className: "btn-ghost",
1225
+ children: "Previous: Google Calendar"
1226
+ }, undefined, false, undefined, this),
1227
+ /* @__PURE__ */ jsxDEV6(Link5, {
1228
+ href: "/docs/integrations/elevenlabs",
1229
+ className: "btn-primary",
1230
+ children: [
1231
+ "Next: ElevenLabs ",
1232
+ /* @__PURE__ */ jsxDEV6(ChevronRight5, {
1233
+ size: 16
1234
+ }, undefined, false, undefined, this)
1235
+ ]
1236
+ }, undefined, true, undefined, this)
1237
+ ]
1238
+ }, undefined, true, undefined, this)
1239
+ ]
1240
+ }, undefined, true, undefined, this);
1241
+ }
1242
+
1243
+ // src/components/docs/integrations/IntegrationsPostmarkPage.tsx
1244
+ import Link6 from "@contractspec/lib.ui-link";
1245
+ import { ChevronRight as ChevronRight6 } from "lucide-react";
1246
+ import { jsxDEV as jsxDEV7 } from "react/jsx-dev-runtime";
1247
+ function IntegrationsPostmarkPage() {
1248
+ return /* @__PURE__ */ jsxDEV7("div", {
1249
+ className: "space-y-8",
1250
+ children: [
1251
+ /* @__PURE__ */ jsxDEV7("div", {
1252
+ className: "space-y-4",
1253
+ children: [
1254
+ /* @__PURE__ */ jsxDEV7("h1", {
1255
+ className: "text-4xl font-bold",
1256
+ children: "Postmark"
1257
+ }, undefined, false, undefined, this),
1258
+ /* @__PURE__ */ jsxDEV7("p", {
1259
+ className: "text-muted-foreground",
1260
+ children: "Postmark is a transactional email service with industry-leading deliverability. Use it to send order confirmations, password resets, notifications, and other critical emails."
1261
+ }, undefined, false, undefined, this)
1262
+ ]
1263
+ }, undefined, true, undefined, this),
1264
+ /* @__PURE__ */ jsxDEV7("div", {
1265
+ className: "space-y-4",
1266
+ children: [
1267
+ /* @__PURE__ */ jsxDEV7("h2", {
1268
+ className: "text-2xl font-bold",
1269
+ children: "Setup"
1270
+ }, undefined, false, undefined, this),
1271
+ /* @__PURE__ */ jsxDEV7("p", {
1272
+ className: "text-muted-foreground",
1273
+ children: "Add your Postmark credentials to your environment variables:"
1274
+ }, undefined, false, undefined, this),
1275
+ /* @__PURE__ */ jsxDEV7("div", {
1276
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1277
+ children: /* @__PURE__ */ jsxDEV7("pre", {
1278
+ children: `# .env
1279
+ POSTMARK_API_TOKEN=...
1280
+ POSTMARK_FROM_EMAIL=noreply@example.com
1281
+ POSTMARK_FROM_NAME="Your App Name"`
1282
+ }, undefined, false, undefined, this)
1283
+ }, undefined, false, undefined, this),
1284
+ /* @__PURE__ */ jsxDEV7("p", {
1285
+ className: "text-muted-foreground text-sm",
1286
+ children: [
1287
+ "Get your API token from the",
1288
+ " ",
1289
+ /* @__PURE__ */ jsxDEV7("a", {
1290
+ href: "https://account.postmarkapp.com/servers",
1291
+ target: "_blank",
1292
+ rel: "noopener noreferrer",
1293
+ className: "text-violet-400 hover:text-violet-300",
1294
+ children: "Postmark Dashboard"
1295
+ }, undefined, false, undefined, this),
1296
+ "."
1297
+ ]
1298
+ }, undefined, true, undefined, this)
1299
+ ]
1300
+ }, undefined, true, undefined, this),
1301
+ /* @__PURE__ */ jsxDEV7("div", {
1302
+ className: "space-y-4",
1303
+ children: [
1304
+ /* @__PURE__ */ jsxDEV7("h2", {
1305
+ className: "text-2xl font-bold",
1306
+ children: "Sending emails"
1307
+ }, undefined, false, undefined, this),
1308
+ /* @__PURE__ */ jsxDEV7("div", {
1309
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1310
+ children: /* @__PURE__ */ jsxDEV7("pre", {
1311
+ children: `capabilityId: send-email
1312
+ provider:
1313
+ type: postmark
1314
+ operation: sendEmail
1315
+
1316
+ inputs:
1317
+ to:
1318
+ type: string
1319
+ description: "Recipient email address"
1320
+ subject:
1321
+ type: string
1322
+ htmlBody:
1323
+ type: string
1324
+ optional: true
1325
+ textBody:
1326
+ type: string
1327
+ optional: true
1328
+ templateId:
1329
+ type: string
1330
+ optional: true
1331
+ templateData:
1332
+ type: object
1333
+ optional: true
1334
+
1335
+ outputs:
1336
+ messageId:
1337
+ type: string
1338
+ submittedAt:
1339
+ type: timestamp`
1340
+ }, undefined, false, undefined, this)
1341
+ }, undefined, false, undefined, this)
1342
+ ]
1343
+ }, undefined, true, undefined, this),
1344
+ /* @__PURE__ */ jsxDEV7("div", {
1345
+ className: "space-y-4",
1346
+ children: [
1347
+ /* @__PURE__ */ jsxDEV7("h2", {
1348
+ className: "text-2xl font-bold",
1349
+ children: "Using templates"
1350
+ }, undefined, false, undefined, this),
1351
+ /* @__PURE__ */ jsxDEV7("p", {
1352
+ className: "text-muted-foreground",
1353
+ children: "Postmark templates allow you to design emails in their dashboard and populate them with data:"
1354
+ }, undefined, false, undefined, this),
1355
+ /* @__PURE__ */ jsxDEV7("div", {
1356
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1357
+ children: /* @__PURE__ */ jsxDEV7("pre", {
1358
+ children: `capabilityId: send-welcome-email
1359
+ provider:
1360
+ type: postmark
1361
+ operation: sendEmail
1362
+
1363
+ inputs:
1364
+ to:
1365
+ type: string
1366
+ userName:
1367
+ type: string
1368
+
1369
+ config:
1370
+ templateId: "welcome-email"
1371
+ templateData:
1372
+ user_name: \${input.userName}
1373
+ login_url: "https://app.example.com/login"`
1374
+ }, undefined, false, undefined, this)
1375
+ }, undefined, false, undefined, this)
1376
+ ]
1377
+ }, undefined, true, undefined, this),
1378
+ /* @__PURE__ */ jsxDEV7("div", {
1379
+ className: "space-y-4",
1380
+ children: [
1381
+ /* @__PURE__ */ jsxDEV7("h2", {
1382
+ className: "text-2xl font-bold",
1383
+ children: "Webhooks"
1384
+ }, undefined, false, undefined, this),
1385
+ /* @__PURE__ */ jsxDEV7("p", {
1386
+ className: "text-muted-foreground",
1387
+ children: "Postmark can notify your app about delivery, bounces, and opens:"
1388
+ }, undefined, false, undefined, this),
1389
+ /* @__PURE__ */ jsxDEV7("div", {
1390
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1391
+ children: /* @__PURE__ */ jsxDEV7("pre", {
1392
+ children: `https://your-app.com/api/webhooks/postmark`
1393
+ }, undefined, false, undefined, this)
1394
+ }, undefined, false, undefined, this),
1395
+ /* @__PURE__ */ jsxDEV7("p", {
1396
+ className: "text-muted-foreground",
1397
+ children: "ContractSpec automatically processes these webhook events:"
1398
+ }, undefined, false, undefined, this),
1399
+ /* @__PURE__ */ jsxDEV7("ul", {
1400
+ className: "text-muted-foreground list-inside list-disc space-y-2",
1401
+ children: [
1402
+ /* @__PURE__ */ jsxDEV7("li", {
1403
+ children: [
1404
+ /* @__PURE__ */ jsxDEV7("strong", {
1405
+ children: "Delivery"
1406
+ }, undefined, false, undefined, this),
1407
+ " – Email was successfully delivered"
1408
+ ]
1409
+ }, undefined, true, undefined, this),
1410
+ /* @__PURE__ */ jsxDEV7("li", {
1411
+ children: [
1412
+ /* @__PURE__ */ jsxDEV7("strong", {
1413
+ children: "Bounce"
1414
+ }, undefined, false, undefined, this),
1415
+ " – Email bounced (hard or soft)"
1416
+ ]
1417
+ }, undefined, true, undefined, this),
1418
+ /* @__PURE__ */ jsxDEV7("li", {
1419
+ children: [
1420
+ /* @__PURE__ */ jsxDEV7("strong", {
1421
+ children: "SpamComplaint"
1422
+ }, undefined, false, undefined, this),
1423
+ " – Recipient marked email as spam"
1424
+ ]
1425
+ }, undefined, true, undefined, this),
1426
+ /* @__PURE__ */ jsxDEV7("li", {
1427
+ children: [
1428
+ /* @__PURE__ */ jsxDEV7("strong", {
1429
+ children: "Open"
1430
+ }, undefined, false, undefined, this),
1431
+ " – Recipient opened the email"
1432
+ ]
1433
+ }, undefined, true, undefined, this),
1434
+ /* @__PURE__ */ jsxDEV7("li", {
1435
+ children: [
1436
+ /* @__PURE__ */ jsxDEV7("strong", {
1437
+ children: "Click"
1438
+ }, undefined, false, undefined, this),
1439
+ " – Recipient clicked a link"
1440
+ ]
1441
+ }, undefined, true, undefined, this)
1442
+ ]
1443
+ }, undefined, true, undefined, this)
1444
+ ]
1445
+ }, undefined, true, undefined, this),
1446
+ /* @__PURE__ */ jsxDEV7("div", {
1447
+ className: "space-y-4",
1448
+ children: [
1449
+ /* @__PURE__ */ jsxDEV7("h2", {
1450
+ className: "text-2xl font-bold",
1451
+ children: "Best practices"
1452
+ }, undefined, false, undefined, this),
1453
+ /* @__PURE__ */ jsxDEV7("ul", {
1454
+ className: "text-muted-foreground list-inside list-disc space-y-2",
1455
+ children: [
1456
+ /* @__PURE__ */ jsxDEV7("li", {
1457
+ children: "Use templates for consistent branding"
1458
+ }, undefined, false, undefined, this),
1459
+ /* @__PURE__ */ jsxDEV7("li", {
1460
+ children: "Always provide both HTML and plain text versions"
1461
+ }, undefined, false, undefined, this),
1462
+ /* @__PURE__ */ jsxDEV7("li", {
1463
+ children: "Monitor bounce rates and remove invalid addresses"
1464
+ }, undefined, false, undefined, this),
1465
+ /* @__PURE__ */ jsxDEV7("li", {
1466
+ children: "Use message streams to separate different email types"
1467
+ }, undefined, false, undefined, this),
1468
+ /* @__PURE__ */ jsxDEV7("li", {
1469
+ children: "Test emails in the Postmark sandbox before going live"
1470
+ }, undefined, false, undefined, this),
1471
+ /* @__PURE__ */ jsxDEV7("li", {
1472
+ children: "Set up DKIM and SPF records for your domain"
1473
+ }, undefined, false, undefined, this)
1474
+ ]
1475
+ }, undefined, true, undefined, this)
1476
+ ]
1477
+ }, undefined, true, undefined, this),
1478
+ /* @__PURE__ */ jsxDEV7("div", {
1479
+ className: "flex items-center gap-4 pt-4",
1480
+ children: [
1481
+ /* @__PURE__ */ jsxDEV7(Link6, {
1482
+ href: "/docs/integrations/stripe",
1483
+ className: "btn-ghost",
1484
+ children: "Previous: Stripe"
1485
+ }, undefined, false, undefined, this),
1486
+ /* @__PURE__ */ jsxDEV7(Link6, {
1487
+ href: "/docs/integrations/resend",
1488
+ className: "btn-primary",
1489
+ children: [
1490
+ "Next: Resend ",
1491
+ /* @__PURE__ */ jsxDEV7(ChevronRight6, {
1492
+ size: 16
1493
+ }, undefined, false, undefined, this)
1494
+ ]
1495
+ }, undefined, true, undefined, this)
1496
+ ]
1497
+ }, undefined, true, undefined, this)
1498
+ ]
1499
+ }, undefined, true, undefined, this);
1500
+ }
1501
+
1502
+ // src/components/docs/integrations/IntegrationsPowensPage.tsx
1503
+ import Link7 from "@contractspec/lib.ui-link";
1504
+ import { ChevronRight as ChevronRight7 } from "lucide-react";
1505
+ import { jsxDEV as jsxDEV8 } from "react/jsx-dev-runtime";
1506
+ function IntegrationsPowensPage() {
1507
+ return /* @__PURE__ */ jsxDEV8("div", {
1508
+ className: "space-y-8",
1509
+ children: [
1510
+ /* @__PURE__ */ jsxDEV8("div", {
1511
+ className: "space-y-4",
1512
+ children: [
1513
+ /* @__PURE__ */ jsxDEV8("h1", {
1514
+ className: "text-4xl font-bold",
1515
+ children: "Powens Open Banking"
1516
+ }, undefined, false, undefined, this),
1517
+ /* @__PURE__ */ jsxDEV8("p", {
1518
+ className: "text-muted-foreground",
1519
+ children: "Powens provides read-only open banking connectivity for ContractSpec applications. The reference integration powers Pocket Family Office by synchronising household bank accounts, transactions, and balances while keeping all raw PII protected."
1520
+ }, undefined, false, undefined, this)
1521
+ ]
1522
+ }, undefined, true, undefined, this),
1523
+ /* @__PURE__ */ jsxDEV8("div", {
1524
+ className: "space-y-4",
1525
+ children: [
1526
+ /* @__PURE__ */ jsxDEV8("h2", {
1527
+ className: "text-2xl font-bold",
1528
+ children: "Setup"
1529
+ }, undefined, false, undefined, this),
1530
+ /* @__PURE__ */ jsxDEV8("p", {
1531
+ className: "text-muted-foreground",
1532
+ children: "Create a Powens BYOK project, then store the credentials in your secret manager. The ContractSpec integration expects the following fields:"
1533
+ }, undefined, false, undefined, this),
1534
+ /* @__PURE__ */ jsxDEV8("div", {
1535
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1536
+ children: /* @__PURE__ */ jsxDEV8("pre", {
1537
+ children: `{
1538
+ "clientId": "powens-client-id",
1539
+ "clientSecret": "powens-client-secret",
1540
+ "apiKey": "optional-api-key",
1541
+ "webhookSecret": "optional-webhook-secret"
1542
+ }`
1543
+ }, undefined, false, undefined, this)
1544
+ }, undefined, false, undefined, this),
1545
+ /* @__PURE__ */ jsxDEV8("p", {
1546
+ className: "text-muted-foreground text-sm",
1547
+ children: "Configure non-secret settings on the integration connection:"
1548
+ }, undefined, false, undefined, this),
1549
+ /* @__PURE__ */ jsxDEV8("div", {
1550
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1551
+ children: /* @__PURE__ */ jsxDEV8("pre", {
1552
+ children: `environment: sandbox | production
1553
+ baseUrl?: https://api-sandbox.powens.com/v2
1554
+ region?: eu-west-1
1555
+ pollingIntervalMs?: 300000`
1556
+ }, undefined, false, undefined, this)
1557
+ }, undefined, false, undefined, this),
1558
+ /* @__PURE__ */ jsxDEV8("p", {
1559
+ className: "text-muted-foreground text-sm",
1560
+ children: [
1561
+ "See the",
1562
+ " ",
1563
+ /* @__PURE__ */ jsxDEV8("a", {
1564
+ href: "https://docs.powens.com/documentation/integration-guides/quick-start/api-overview",
1565
+ target: "_blank",
1566
+ rel: "noopener noreferrer",
1567
+ className: "text-violet-400 hover:text-violet-300",
1568
+ children: "Powens API documentation"
1569
+ }, undefined, false, undefined, this),
1570
+ " ",
1571
+ "for information on generating credentials and managing BYOK projects."
1572
+ ]
1573
+ }, undefined, true, undefined, this)
1574
+ ]
1575
+ }, undefined, true, undefined, this),
1576
+ /* @__PURE__ */ jsxDEV8("div", {
1577
+ className: "space-y-4",
1578
+ children: [
1579
+ /* @__PURE__ */ jsxDEV8("h2", {
1580
+ className: "text-2xl font-bold",
1581
+ children: "Capabilities"
1582
+ }, undefined, false, undefined, this),
1583
+ /* @__PURE__ */ jsxDEV8("div", {
1584
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1585
+ children: /* @__PURE__ */ jsxDEV8("pre", {
1586
+ children: `capabilityId: openbanking.accounts.read
1587
+ provider:
1588
+ type: openbanking.powens
1589
+ operation: listAccounts
1590
+
1591
+ outputs:
1592
+ accounts:
1593
+ type: BankAccountRecord[]
1594
+ description: "Canonical bank account metadata (institution, currency, balances)"
1595
+
1596
+ ---
1597
+
1598
+ capabilityId: openbanking.transactions.read
1599
+ provider:
1600
+ type: openbanking.powens
1601
+ operation: listTransactions
1602
+
1603
+ inputs:
1604
+ accountId:
1605
+ type: string
1606
+ from?:
1607
+ type: string
1608
+ description: "ISO timestamp lower bound"
1609
+ to?:
1610
+ type: string
1611
+
1612
+ outputs:
1613
+ transactions:
1614
+ type: BankTransactionRecord[]
1615
+ description: "Canonical transaction ledger entries"
1616
+
1617
+ ---
1618
+
1619
+ capabilityId: openbanking.balances.read
1620
+ provider:
1621
+ type: openbanking.powens
1622
+ operation: getBalances
1623
+
1624
+ inputs:
1625
+ accountId:
1626
+ type: string
1627
+ balanceTypes?:
1628
+ type: string[]
1629
+
1630
+ outputs:
1631
+ balances:
1632
+ type: AccountBalanceRecord[]
1633
+ description: "Current/available balances with timestamps"`
1634
+ }, undefined, false, undefined, this)
1635
+ }, undefined, false, undefined, this)
1636
+ ]
1637
+ }, undefined, true, undefined, this),
1638
+ /* @__PURE__ */ jsxDEV8("div", {
1639
+ className: "space-y-4",
1640
+ children: [
1641
+ /* @__PURE__ */ jsxDEV8("h2", {
1642
+ className: "text-2xl font-bold",
1643
+ children: "Primary workflows"
1644
+ }, undefined, false, undefined, this),
1645
+ /* @__PURE__ */ jsxDEV8("div", {
1646
+ className: "space-y-3",
1647
+ children: [
1648
+ /* @__PURE__ */ jsxDEV8("h3", {
1649
+ className: "text-lg font-semibold",
1650
+ children: "Account sync"
1651
+ }, undefined, false, undefined, this),
1652
+ /* @__PURE__ */ jsxDEV8("p", {
1653
+ className: "text-muted-foreground",
1654
+ children: [
1655
+ "The workflow",
1656
+ " ",
1657
+ /* @__PURE__ */ jsxDEV8("code", {
1658
+ className: "bg-background/50 rounded px-2 py-1",
1659
+ children: "pfo.workflow.sync-openbanking-accounts"
1660
+ }, undefined, false, undefined, this),
1661
+ " ",
1662
+ "refreshes account metadata, then surfaces canonical records to other automations."
1663
+ ]
1664
+ }, undefined, true, undefined, this)
1665
+ ]
1666
+ }, undefined, true, undefined, this),
1667
+ /* @__PURE__ */ jsxDEV8("div", {
1668
+ className: "space-y-3",
1669
+ children: [
1670
+ /* @__PURE__ */ jsxDEV8("h3", {
1671
+ className: "text-lg font-semibold",
1672
+ children: "Transaction sync"
1673
+ }, undefined, false, undefined, this),
1674
+ /* @__PURE__ */ jsxDEV8("p", {
1675
+ className: "text-muted-foreground",
1676
+ children: [
1677
+ /* @__PURE__ */ jsxDEV8("code", {
1678
+ className: "bg-background/50 rounded px-2 py-1",
1679
+ children: "pfo.workflow.sync-openbanking-transactions"
1680
+ }, undefined, false, undefined, this),
1681
+ " ",
1682
+ "ingests incremental transactions for each linked account and stores them in the canonical ledger."
1683
+ ]
1684
+ }, undefined, true, undefined, this)
1685
+ ]
1686
+ }, undefined, true, undefined, this),
1687
+ /* @__PURE__ */ jsxDEV8("div", {
1688
+ className: "space-y-3",
1689
+ children: [
1690
+ /* @__PURE__ */ jsxDEV8("h3", {
1691
+ className: "text-lg font-semibold",
1692
+ children: "Balance refresh"
1693
+ }, undefined, false, undefined, this),
1694
+ /* @__PURE__ */ jsxDEV8("p", {
1695
+ className: "text-muted-foreground",
1696
+ children: [
1697
+ /* @__PURE__ */ jsxDEV8("code", {
1698
+ className: "bg-background/50 rounded px-2 py-1",
1699
+ children: "pfo.workflow.refresh-openbanking-balances"
1700
+ }, undefined, false, undefined, this),
1701
+ " ",
1702
+ "retrieves current and available balances to power dashboards and anomaly detection."
1703
+ ]
1704
+ }, undefined, true, undefined, this)
1705
+ ]
1706
+ }, undefined, true, undefined, this),
1707
+ /* @__PURE__ */ jsxDEV8("div", {
1708
+ className: "space-y-3",
1709
+ children: [
1710
+ /* @__PURE__ */ jsxDEV8("h3", {
1711
+ className: "text-lg font-semibold",
1712
+ children: "Derived financial overview"
1713
+ }, undefined, false, undefined, this),
1714
+ /* @__PURE__ */ jsxDEV8("p", {
1715
+ className: "text-muted-foreground",
1716
+ children: [
1717
+ /* @__PURE__ */ jsxDEV8("code", {
1718
+ className: "bg-background/50 rounded px-2 py-1",
1719
+ children: "pfo.workflow.generate-openbanking-overview"
1720
+ }, undefined, false, undefined, this),
1721
+ " ",
1722
+ "aggregates balances, category breakdowns, and cashflow trends into the ",
1723
+ /* @__PURE__ */ jsxDEV8("code", {
1724
+ children: "knowledge.financial-overview"
1725
+ }, undefined, false, undefined, this),
1726
+ " space. Only derived summaries are exposed to LLMs."
1727
+ ]
1728
+ }, undefined, true, undefined, this)
1729
+ ]
1730
+ }, undefined, true, undefined, this)
1731
+ ]
1732
+ }, undefined, true, undefined, this),
1733
+ /* @__PURE__ */ jsxDEV8("div", {
1734
+ className: "space-y-4",
1735
+ children: [
1736
+ /* @__PURE__ */ jsxDEV8("h2", {
1737
+ className: "text-2xl font-bold",
1738
+ children: "Telemetry & guardrails"
1739
+ }, undefined, false, undefined, this),
1740
+ /* @__PURE__ */ jsxDEV8("ul", {
1741
+ className: "text-muted-foreground list-inside list-disc space-y-2",
1742
+ children: [
1743
+ /* @__PURE__ */ jsxDEV8("li", {
1744
+ children: [
1745
+ "Telemetry events such as",
1746
+ " ",
1747
+ /* @__PURE__ */ jsxDEV8("code", {
1748
+ className: "bg-background/50 rounded px-2 py-1",
1749
+ children: "openbanking.accounts.synced"
1750
+ }, undefined, false, undefined, this),
1751
+ " ",
1752
+ "and",
1753
+ " ",
1754
+ /* @__PURE__ */ jsxDEV8("code", {
1755
+ className: "bg-background/50 rounded px-2 py-1",
1756
+ children: "openbanking.transactions.synced"
1757
+ }, undefined, false, undefined, this),
1758
+ " ",
1759
+ "are emitted automatically with tenant, slot, and config metadata."
1760
+ ]
1761
+ }, undefined, true, undefined, this),
1762
+ /* @__PURE__ */ jsxDEV8("li", {
1763
+ children: [
1764
+ "Guard helpers ensure the",
1765
+ " ",
1766
+ /* @__PURE__ */ jsxDEV8("code", {
1767
+ className: "bg-background/50 rounded px-2 py-1",
1768
+ children: "primaryOpenBanking"
1769
+ }, undefined, false, undefined, this),
1770
+ " ",
1771
+ "slot is bound and healthy before workflows execute."
1772
+ ]
1773
+ }, undefined, true, undefined, this),
1774
+ /* @__PURE__ */ jsxDEV8("li", {
1775
+ children: [
1776
+ "PII fields (IBAN, counterparty names, descriptions) are redacted via",
1777
+ " ",
1778
+ /* @__PURE__ */ jsxDEV8("code", {
1779
+ className: "bg-background/50 rounded px-2 py-1",
1780
+ children: "redactOpenBankingTelemetryPayload"
1781
+ }, undefined, false, undefined, this),
1782
+ " ",
1783
+ "before logging or sending telemetry."
1784
+ ]
1785
+ }, undefined, true, undefined, this)
1786
+ ]
1787
+ }, undefined, true, undefined, this)
1788
+ ]
1789
+ }, undefined, true, undefined, this),
1790
+ /* @__PURE__ */ jsxDEV8("div", {
1791
+ className: "space-y-4",
1792
+ children: [
1793
+ /* @__PURE__ */ jsxDEV8("h2", {
1794
+ className: "text-2xl font-bold",
1795
+ children: "Best practices"
1796
+ }, undefined, false, undefined, this),
1797
+ /* @__PURE__ */ jsxDEV8("ul", {
1798
+ className: "text-muted-foreground list-inside list-disc space-y-2",
1799
+ children: [
1800
+ /* @__PURE__ */ jsxDEV8("li", {
1801
+ children: "Use BYOK credentials per tenant to avoid cross-tenant exposure."
1802
+ }, undefined, false, undefined, this),
1803
+ /* @__PURE__ */ jsxDEV8("li", {
1804
+ children: "Store only canonical entities (BankAccountRecord, BankTransactionRecord). Never persist raw Powens payloads or customer PII in logs."
1805
+ }, undefined, false, undefined, this),
1806
+ /* @__PURE__ */ jsxDEV8("li", {
1807
+ children: "Run the transaction sync on a schedule appropriate for banking SLAs (e.g. every 15 minutes for cashflow dashboards)."
1808
+ }, undefined, false, undefined, this),
1809
+ /* @__PURE__ */ jsxDEV8("li", {
1810
+ children: "Pair ledger updates with derived summaries to feed the knowledge layer instead of exposing raw transactions to agents."
1811
+ }, undefined, false, undefined, this),
1812
+ /* @__PURE__ */ jsxDEV8("li", {
1813
+ children: [
1814
+ "Monitor telemetry for",
1815
+ " ",
1816
+ /* @__PURE__ */ jsxDEV8("code", {
1817
+ className: "bg-background/50 rounded px-2 py-1",
1818
+ children: "openbanking.*.sync_failed"
1819
+ }, undefined, false, undefined, this),
1820
+ " ",
1821
+ "events to detect credential issues early."
1822
+ ]
1823
+ }, undefined, true, undefined, this)
1824
+ ]
1825
+ }, undefined, true, undefined, this)
1826
+ ]
1827
+ }, undefined, true, undefined, this),
1828
+ /* @__PURE__ */ jsxDEV8("div", {
1829
+ className: "flex items-center gap-4 pt-4",
1830
+ children: [
1831
+ /* @__PURE__ */ jsxDEV8(Link7, {
1832
+ href: "/docs/integrations",
1833
+ className: "btn-ghost",
1834
+ children: "Back to Integrations"
1835
+ }, undefined, false, undefined, this),
1836
+ /* @__PURE__ */ jsxDEV8(Link7, {
1837
+ href: "/docs/integrations/stripe",
1838
+ className: "btn-primary",
1839
+ children: [
1840
+ "Next: Stripe ",
1841
+ /* @__PURE__ */ jsxDEV8(ChevronRight7, {
1842
+ size: 16
1843
+ }, undefined, false, undefined, this)
1844
+ ]
1845
+ }, undefined, true, undefined, this)
1846
+ ]
1847
+ }, undefined, true, undefined, this)
1848
+ ]
1849
+ }, undefined, true, undefined, this);
1850
+ }
1851
+
1852
+ // src/components/docs/integrations/IntegrationsQdrantPage.tsx
1853
+ import Link8 from "@contractspec/lib.ui-link";
1854
+ import { ChevronRight as ChevronRight8 } from "lucide-react";
1855
+ import { jsxDEV as jsxDEV9 } from "react/jsx-dev-runtime";
1856
+ function IntegrationsQdrantPage() {
1857
+ return /* @__PURE__ */ jsxDEV9("div", {
1858
+ className: "space-y-8",
1859
+ children: [
1860
+ /* @__PURE__ */ jsxDEV9("div", {
1861
+ className: "space-y-4",
1862
+ children: [
1863
+ /* @__PURE__ */ jsxDEV9("h1", {
1864
+ className: "text-4xl font-bold",
1865
+ children: "Qdrant"
1866
+ }, undefined, false, undefined, this),
1867
+ /* @__PURE__ */ jsxDEV9("p", {
1868
+ className: "text-muted-foreground",
1869
+ children: "Qdrant is a high-performance vector database for semantic search, recommendations, and RAG (Retrieval-Augmented Generation) applications."
1870
+ }, undefined, false, undefined, this)
1871
+ ]
1872
+ }, undefined, true, undefined, this),
1873
+ /* @__PURE__ */ jsxDEV9("div", {
1874
+ className: "space-y-4",
1875
+ children: [
1876
+ /* @__PURE__ */ jsxDEV9("h2", {
1877
+ className: "text-2xl font-bold",
1878
+ children: "Setup"
1879
+ }, undefined, false, undefined, this),
1880
+ /* @__PURE__ */ jsxDEV9("div", {
1881
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1882
+ children: /* @__PURE__ */ jsxDEV9("pre", {
1883
+ children: `# .env
1884
+ QDRANT_URL=https://...
1885
+ QDRANT_API_KEY=...
1886
+ QDRANT_COLLECTION=documents`
1887
+ }, undefined, false, undefined, this)
1888
+ }, undefined, false, undefined, this)
1889
+ ]
1890
+ }, undefined, true, undefined, this),
1891
+ /* @__PURE__ */ jsxDEV9("div", {
1892
+ className: "space-y-4",
1893
+ children: [
1894
+ /* @__PURE__ */ jsxDEV9("h2", {
1895
+ className: "text-2xl font-bold",
1896
+ children: "Storing vectors"
1897
+ }, undefined, false, undefined, this),
1898
+ /* @__PURE__ */ jsxDEV9("div", {
1899
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1900
+ children: /* @__PURE__ */ jsxDEV9("pre", {
1901
+ children: `capabilityId: qdrant-upsert
1902
+ provider:
1903
+ type: qdrant
1904
+ operation: upsert
1905
+
1906
+ inputs:
1907
+ collection:
1908
+ type: string
1909
+ points:
1910
+ type: array
1911
+ items:
1912
+ type: object
1913
+ properties:
1914
+ id: string
1915
+ vector: array
1916
+ payload: object
1917
+
1918
+ outputs:
1919
+ status:
1920
+ type: string`
1921
+ }, undefined, false, undefined, this)
1922
+ }, undefined, false, undefined, this)
1923
+ ]
1924
+ }, undefined, true, undefined, this),
1925
+ /* @__PURE__ */ jsxDEV9("div", {
1926
+ className: "space-y-4",
1927
+ children: [
1928
+ /* @__PURE__ */ jsxDEV9("h2", {
1929
+ className: "text-2xl font-bold",
1930
+ children: "Semantic search"
1931
+ }, undefined, false, undefined, this),
1932
+ /* @__PURE__ */ jsxDEV9("div", {
1933
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1934
+ children: /* @__PURE__ */ jsxDEV9("pre", {
1935
+ children: `capabilityId: qdrant-search
1936
+ provider:
1937
+ type: qdrant
1938
+ operation: search
1939
+
1940
+ inputs:
1941
+ collection:
1942
+ type: string
1943
+ vector:
1944
+ type: array
1945
+ items:
1946
+ type: number
1947
+ limit:
1948
+ type: number
1949
+ default: 10
1950
+
1951
+ outputs:
1952
+ results:
1953
+ type: array
1954
+ items:
1955
+ type: object
1956
+ properties:
1957
+ id: string
1958
+ score: number
1959
+ payload: object`
1960
+ }, undefined, false, undefined, this)
1961
+ }, undefined, false, undefined, this)
1962
+ ]
1963
+ }, undefined, true, undefined, this),
1964
+ /* @__PURE__ */ jsxDEV9("div", {
1965
+ className: "space-y-4",
1966
+ children: [
1967
+ /* @__PURE__ */ jsxDEV9("h2", {
1968
+ className: "text-2xl font-bold",
1969
+ children: "RAG workflow example"
1970
+ }, undefined, false, undefined, this),
1971
+ /* @__PURE__ */ jsxDEV9("div", {
1972
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1973
+ children: /* @__PURE__ */ jsxDEV9("pre", {
1974
+ children: `workflowId: rag-query
1975
+ version: '1.0.0'.0.0
1976
+
1977
+ steps:
1978
+ - id: generate-embedding
1979
+ capability: openai-embeddings
1980
+ inputs:
1981
+ text: \${input.query}
1982
+
1983
+ - id: search-documents
1984
+ capability: qdrant-search
1985
+ inputs:
1986
+ collection: "documents"
1987
+ vector: \${steps.generate-embedding.output.embedding}
1988
+ limit: 5
1989
+
1990
+ - id: generate-answer
1991
+ capability: openai-chat
1992
+ inputs:
1993
+ messages:
1994
+ - role: "system"
1995
+ content: "Answer based on the context provided"
1996
+ - role: "user"
1997
+ content: |
1998
+ Context: \${steps.search-documents.output.results}
1999
+ Question: \${input.query}`
2000
+ }, undefined, false, undefined, this)
2001
+ }, undefined, false, undefined, this)
2002
+ ]
2003
+ }, undefined, true, undefined, this),
2004
+ /* @__PURE__ */ jsxDEV9("div", {
2005
+ className: "flex items-center gap-4 pt-4",
2006
+ children: [
2007
+ /* @__PURE__ */ jsxDEV9(Link8, {
2008
+ href: "/docs/integrations/elevenlabs",
2009
+ className: "btn-ghost",
2010
+ children: "Previous: ElevenLabs"
2011
+ }, undefined, false, undefined, this),
2012
+ /* @__PURE__ */ jsxDEV9(Link8, {
2013
+ href: "/docs/integrations/s3",
2014
+ className: "btn-primary",
2015
+ children: [
2016
+ "Next: S3 Storage ",
2017
+ /* @__PURE__ */ jsxDEV9(ChevronRight8, {
2018
+ size: 16
2019
+ }, undefined, false, undefined, this)
2020
+ ]
2021
+ }, undefined, true, undefined, this)
2022
+ ]
2023
+ }, undefined, true, undefined, this)
2024
+ ]
2025
+ }, undefined, true, undefined, this);
2026
+ }
2027
+
2028
+ // src/components/docs/integrations/IntegrationsResendPage.tsx
2029
+ import Link9 from "@contractspec/lib.ui-link";
2030
+ import { ChevronRight as ChevronRight9 } from "lucide-react";
2031
+ import { jsxDEV as jsxDEV10 } from "react/jsx-dev-runtime";
2032
+ function IntegrationsResendPage() {
2033
+ return /* @__PURE__ */ jsxDEV10("div", {
2034
+ className: "space-y-8",
2035
+ children: [
2036
+ /* @__PURE__ */ jsxDEV10("div", {
2037
+ className: "space-y-4",
2038
+ children: [
2039
+ /* @__PURE__ */ jsxDEV10("h1", {
2040
+ className: "text-4xl font-bold",
2041
+ children: "Resend"
2042
+ }, undefined, false, undefined, this),
2043
+ /* @__PURE__ */ jsxDEV10("p", {
2044
+ className: "text-muted-foreground",
2045
+ children: "Resend is a modern email API built for developers. It provides a simple, reliable way to send transactional emails with React Email templates."
2046
+ }, undefined, false, undefined, this)
2047
+ ]
2048
+ }, undefined, true, undefined, this),
2049
+ /* @__PURE__ */ jsxDEV10("div", {
2050
+ className: "space-y-4",
2051
+ children: [
2052
+ /* @__PURE__ */ jsxDEV10("h2", {
2053
+ className: "text-2xl font-bold",
2054
+ children: "Setup"
2055
+ }, undefined, false, undefined, this),
2056
+ /* @__PURE__ */ jsxDEV10("div", {
2057
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2058
+ children: /* @__PURE__ */ jsxDEV10("pre", {
2059
+ children: `# .env
2060
+ RESEND_API_KEY=re_...
2061
+ RESEND_FROM_EMAIL=onboarding@resend.dev`
2062
+ }, undefined, false, undefined, this)
2063
+ }, undefined, false, undefined, this)
2064
+ ]
2065
+ }, undefined, true, undefined, this),
2066
+ /* @__PURE__ */ jsxDEV10("div", {
2067
+ className: "space-y-4",
2068
+ children: [
2069
+ /* @__PURE__ */ jsxDEV10("h2", {
2070
+ className: "text-2xl font-bold",
2071
+ children: "Sending emails"
2072
+ }, undefined, false, undefined, this),
2073
+ /* @__PURE__ */ jsxDEV10("div", {
2074
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2075
+ children: /* @__PURE__ */ jsxDEV10("pre", {
2076
+ children: `capabilityId: resend-send-email
2077
+ provider:
2078
+ type: resend
2079
+ operation: sendEmail
2080
+
2081
+ inputs:
2082
+ to:
2083
+ type: string
2084
+ subject:
2085
+ type: string
2086
+ html:
2087
+ type: string
2088
+ text:
2089
+ type: string
2090
+ optional: true
2091
+ replyTo:
2092
+ type: string
2093
+ optional: true
2094
+
2095
+ outputs:
2096
+ id:
2097
+ type: string`
2098
+ }, undefined, false, undefined, this)
2099
+ }, undefined, false, undefined, this)
2100
+ ]
2101
+ }, undefined, true, undefined, this),
2102
+ /* @__PURE__ */ jsxDEV10("div", {
2103
+ className: "space-y-4",
2104
+ children: [
2105
+ /* @__PURE__ */ jsxDEV10("h2", {
2106
+ className: "text-2xl font-bold",
2107
+ children: "Best practices"
2108
+ }, undefined, false, undefined, this),
2109
+ /* @__PURE__ */ jsxDEV10("ul", {
2110
+ className: "text-muted-foreground list-inside list-disc space-y-2",
2111
+ children: [
2112
+ /* @__PURE__ */ jsxDEV10("li", {
2113
+ children: "Use React Email for type-safe templates"
2114
+ }, undefined, false, undefined, this),
2115
+ /* @__PURE__ */ jsxDEV10("li", {
2116
+ children: "Verify your domain for better deliverability"
2117
+ }, undefined, false, undefined, this),
2118
+ /* @__PURE__ */ jsxDEV10("li", {
2119
+ children: "Monitor email analytics in the Resend dashboard"
2120
+ }, undefined, false, undefined, this)
2121
+ ]
2122
+ }, undefined, true, undefined, this)
2123
+ ]
2124
+ }, undefined, true, undefined, this),
2125
+ /* @__PURE__ */ jsxDEV10("div", {
2126
+ className: "flex items-center gap-4 pt-4",
2127
+ children: [
2128
+ /* @__PURE__ */ jsxDEV10(Link9, {
2129
+ href: "/docs/integrations/postmark",
2130
+ className: "btn-ghost",
2131
+ children: "Previous: Postmark"
2132
+ }, undefined, false, undefined, this),
2133
+ /* @__PURE__ */ jsxDEV10(Link9, {
2134
+ href: "/docs/integrations/gmail",
2135
+ className: "btn-primary",
2136
+ children: [
2137
+ "Next: Gmail API ",
2138
+ /* @__PURE__ */ jsxDEV10(ChevronRight9, {
2139
+ size: 16
2140
+ }, undefined, false, undefined, this)
2141
+ ]
2142
+ }, undefined, true, undefined, this)
2143
+ ]
2144
+ }, undefined, true, undefined, this)
2145
+ ]
2146
+ }, undefined, true, undefined, this);
2147
+ }
2148
+
2149
+ // src/components/docs/integrations/IntegrationsS3Page.tsx
2150
+ import Link10 from "@contractspec/lib.ui-link";
2151
+ import { ChevronRight as ChevronRight10 } from "lucide-react";
2152
+ import { jsxDEV as jsxDEV11 } from "react/jsx-dev-runtime";
2153
+ function IntegrationsS3Page() {
2154
+ return /* @__PURE__ */ jsxDEV11("div", {
2155
+ className: "space-y-8",
2156
+ children: [
2157
+ /* @__PURE__ */ jsxDEV11("div", {
2158
+ className: "space-y-4",
2159
+ children: [
2160
+ /* @__PURE__ */ jsxDEV11("h1", {
2161
+ className: "text-4xl font-bold",
2162
+ children: "S3-Compatible Storage"
2163
+ }, undefined, false, undefined, this),
2164
+ /* @__PURE__ */ jsxDEV11("p", {
2165
+ className: "text-muted-foreground",
2166
+ children: "Store files, images, and documents using any S3-compatible object storage service including AWS S3, Scaleway Object Storage, MinIO, DigitalOcean Spaces, and more."
2167
+ }, undefined, false, undefined, this)
2168
+ ]
2169
+ }, undefined, true, undefined, this),
2170
+ /* @__PURE__ */ jsxDEV11("div", {
2171
+ className: "space-y-4",
2172
+ children: [
2173
+ /* @__PURE__ */ jsxDEV11("h2", {
2174
+ className: "text-2xl font-bold",
2175
+ children: "Setup"
2176
+ }, undefined, false, undefined, this),
2177
+ /* @__PURE__ */ jsxDEV11("div", {
2178
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2179
+ children: /* @__PURE__ */ jsxDEV11("pre", {
2180
+ children: `# .env
2181
+ S3_ENDPOINT=https://s3.fr-par.scw.cloud
2182
+ S3_ACCESS_KEY_ID=...
2183
+ S3_SECRET_ACCESS_KEY=...
2184
+ S3_BUCKET=my-bucket
2185
+ S3_REGION=fr-par`
2186
+ }, undefined, false, undefined, this)
2187
+ }, undefined, false, undefined, this)
2188
+ ]
2189
+ }, undefined, true, undefined, this),
2190
+ /* @__PURE__ */ jsxDEV11("div", {
2191
+ className: "space-y-4",
2192
+ children: [
2193
+ /* @__PURE__ */ jsxDEV11("h2", {
2194
+ className: "text-2xl font-bold",
2195
+ children: "Uploading files"
2196
+ }, undefined, false, undefined, this),
2197
+ /* @__PURE__ */ jsxDEV11("div", {
2198
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2199
+ children: /* @__PURE__ */ jsxDEV11("pre", {
2200
+ children: `capabilityId: s3-upload
2201
+ provider:
2202
+ type: s3
2203
+ operation: upload
2204
+
2205
+ inputs:
2206
+ key:
2207
+ type: string
2208
+ description: "File path in bucket"
2209
+ file:
2210
+ type: file
2211
+ contentType:
2212
+ type: string
2213
+ optional: true
2214
+ metadata:
2215
+ type: object
2216
+ optional: true
2217
+
2218
+ outputs:
2219
+ url:
2220
+ type: string
2221
+ etag:
2222
+ type: string`
2223
+ }, undefined, false, undefined, this)
2224
+ }, undefined, false, undefined, this)
2225
+ ]
2226
+ }, undefined, true, undefined, this),
2227
+ /* @__PURE__ */ jsxDEV11("div", {
2228
+ className: "space-y-4",
2229
+ children: [
2230
+ /* @__PURE__ */ jsxDEV11("h2", {
2231
+ className: "text-2xl font-bold",
2232
+ children: "Generating presigned URLs"
2233
+ }, undefined, false, undefined, this),
2234
+ /* @__PURE__ */ jsxDEV11("div", {
2235
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2236
+ children: /* @__PURE__ */ jsxDEV11("pre", {
2237
+ children: `capabilityId: s3-presigned-url
2238
+ provider:
2239
+ type: s3
2240
+ operation: getPresignedUrl
2241
+
2242
+ inputs:
2243
+ key:
2244
+ type: string
2245
+ expiresIn:
2246
+ type: number
2247
+ default: 3600
2248
+ description: "Expiration in seconds"
2249
+
2250
+ outputs:
2251
+ url:
2252
+ type: string`
2253
+ }, undefined, false, undefined, this)
2254
+ }, undefined, false, undefined, this)
2255
+ ]
2256
+ }, undefined, true, undefined, this),
2257
+ /* @__PURE__ */ jsxDEV11("div", {
2258
+ className: "space-y-4",
2259
+ children: [
2260
+ /* @__PURE__ */ jsxDEV11("h2", {
2261
+ className: "text-2xl font-bold",
2262
+ children: "Best practices"
2263
+ }, undefined, false, undefined, this),
2264
+ /* @__PURE__ */ jsxDEV11("ul", {
2265
+ className: "text-muted-foreground list-inside list-disc space-y-2",
2266
+ children: [
2267
+ /* @__PURE__ */ jsxDEV11("li", {
2268
+ children: "Use presigned URLs for secure, temporary access"
2269
+ }, undefined, false, undefined, this),
2270
+ /* @__PURE__ */ jsxDEV11("li", {
2271
+ children: "Set appropriate CORS policies for browser uploads"
2272
+ }, undefined, false, undefined, this),
2273
+ /* @__PURE__ */ jsxDEV11("li", {
2274
+ children: "Enable versioning for important files"
2275
+ }, undefined, false, undefined, this),
2276
+ /* @__PURE__ */ jsxDEV11("li", {
2277
+ children: "Use lifecycle policies to archive old files"
2278
+ }, undefined, false, undefined, this),
2279
+ /* @__PURE__ */ jsxDEV11("li", {
2280
+ children: "Organize files with a clear key structure"
2281
+ }, undefined, false, undefined, this)
2282
+ ]
2283
+ }, undefined, true, undefined, this)
2284
+ ]
2285
+ }, undefined, true, undefined, this),
2286
+ /* @__PURE__ */ jsxDEV11("div", {
2287
+ className: "flex items-center gap-4 pt-4",
2288
+ children: [
2289
+ /* @__PURE__ */ jsxDEV11(Link10, {
2290
+ href: "/docs/integrations/qdrant",
2291
+ className: "btn-ghost",
2292
+ children: "Previous: Qdrant"
2293
+ }, undefined, false, undefined, this),
2294
+ /* @__PURE__ */ jsxDEV11(Link10, {
2295
+ href: "/docs/integrations/twilio",
2296
+ className: "btn-primary",
2297
+ children: [
2298
+ "Next: Twilio ",
2299
+ /* @__PURE__ */ jsxDEV11(ChevronRight10, {
2300
+ size: 16
2301
+ }, undefined, false, undefined, this)
2302
+ ]
2303
+ }, undefined, true, undefined, this)
2304
+ ]
2305
+ }, undefined, true, undefined, this)
2306
+ ]
2307
+ }, undefined, true, undefined, this);
2308
+ }
2309
+
2310
+ // src/components/docs/integrations/IntegrationsSpecModelPage.tsx
2311
+ import Link11 from "@contractspec/lib.ui-link";
2312
+ import { ChevronRight as ChevronRight11 } from "lucide-react";
2313
+ import { jsxDEV as jsxDEV12 } from "react/jsx-dev-runtime";
2314
+ function IntegrationsSpecModelPage() {
2315
+ return /* @__PURE__ */ jsxDEV12("div", {
2316
+ className: "space-y-8",
2317
+ children: [
2318
+ /* @__PURE__ */ jsxDEV12("div", {
2319
+ className: "space-y-4",
2320
+ children: [
2321
+ /* @__PURE__ */ jsxDEV12("h1", {
2322
+ className: "text-4xl font-bold",
2323
+ children: "Integration Spec Model"
2324
+ }, undefined, false, undefined, this),
2325
+ /* @__PURE__ */ jsxDEV12("p", {
2326
+ className: "text-muted-foreground",
2327
+ children: "Integrations in ContractSpec are defined through typed specifications that declare capabilities, configuration requirements, and connection details. This page covers IntegrationSpec and IntegrationConnection."
2328
+ }, undefined, false, undefined, this)
2329
+ ]
2330
+ }, undefined, true, undefined, this),
2331
+ /* @__PURE__ */ jsxDEV12("div", {
2332
+ className: "space-y-4",
2333
+ children: [
2334
+ /* @__PURE__ */ jsxDEV12("h2", {
2335
+ className: "text-2xl font-bold",
2336
+ children: "IntegrationSpec"
2337
+ }, undefined, false, undefined, this),
2338
+ /* @__PURE__ */ jsxDEV12("p", {
2339
+ className: "text-muted-foreground",
2340
+ children: [
2341
+ "The ",
2342
+ /* @__PURE__ */ jsxDEV12("strong", {
2343
+ children: "IntegrationSpec"
2344
+ }, undefined, false, undefined, this),
2345
+ " is a global definition of an integration provider. It declares what the integration provides and what it requires."
2346
+ ]
2347
+ }, undefined, true, undefined, this),
2348
+ /* @__PURE__ */ jsxDEV12("div", {
2349
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2350
+ children: /* @__PURE__ */ jsxDEV12("pre", {
2351
+ children: `type IntegrationSpec = {
2352
+ id: string;
2353
+ label: string;
2354
+ description: string;
2355
+ category: IntegrationCategory;
2356
+
2357
+ // Capabilities this integration provides
2358
+ providesCapabilities: {
2359
+ capabilityId: string;
2360
+ operation: string;
2361
+ description: string;
2362
+ }[];
2363
+
2364
+ // Dependencies
2365
+ requirements: {
2366
+ capabilities?: string[]; // e.g., ["billing.core", "auth.session"]
2367
+ minVersion?: string;
2368
+ };
2369
+
2370
+ // Configuration schema (non-secret)
2371
+ configSchema: {
2372
+ [key: string]: {
2373
+ type: string;
2374
+ description: string;
2375
+ required?: boolean;
2376
+ default?: unknown;
2377
+ };
2378
+ };
2379
+
2380
+ // Secret schema (for keys, tokens)
2381
+ secretSchema: {
2382
+ [key: string]: {
2383
+ type: string;
2384
+ description: string;
2385
+ required: boolean;
2386
+ };
2387
+ };
2388
+
2389
+ // Webhook support
2390
+ webhooks?: {
2391
+ supported: boolean;
2392
+ events: string[];
2393
+ signatureHeader?: string;
2394
+ };
2395
+
2396
+ // Documentation
2397
+ docsUrl?: string;
2398
+ setupGuideUrl?: string;
2399
+
2400
+ // Metadata
2401
+ version: string;
2402
+ createdAt: string;
2403
+ updatedAt: string;
2404
+ };`
2405
+ }, undefined, false, undefined, this)
2406
+ }, undefined, false, undefined, this)
2407
+ ]
2408
+ }, undefined, true, undefined, this),
2409
+ /* @__PURE__ */ jsxDEV12("div", {
2410
+ className: "space-y-4",
2411
+ children: [
2412
+ /* @__PURE__ */ jsxDEV12("h2", {
2413
+ className: "text-2xl font-bold",
2414
+ children: "Example: Stripe IntegrationSpec"
2415
+ }, undefined, false, undefined, this),
2416
+ /* @__PURE__ */ jsxDEV12("div", {
2417
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2418
+ children: /* @__PURE__ */ jsxDEV12("pre", {
2419
+ children: `{
2420
+ id: "stripe",
2421
+ label: "Stripe",
2422
+ description: "Payment processing and subscription management",
2423
+ category: "payments",
2424
+
2425
+ providesCapabilities: [
2426
+ {
2427
+ capabilityId: "payments.createPaymentIntent",
2428
+ operation: "createPaymentIntent",
2429
+ description: "Create a payment intent for checkout"
2430
+ },
2431
+ {
2432
+ capabilityId: "payments.createSubscription",
2433
+ operation: "createSubscription",
2434
+ description: "Create a recurring subscription"
2435
+ },
2436
+ {
2437
+ capabilityId: "payments.refund",
2438
+ operation: "refund",
2439
+ description: "Refund a payment"
2440
+ }
2441
+ ],
2442
+
2443
+ requirements: {
2444
+ capabilities: ["billing.core"],
2445
+ minVersion: "1.0.0"
2446
+ },
2447
+
2448
+ configSchema: {
2449
+ webhookUrl: {
2450
+ type: "string",
2451
+ description: "URL to receive Stripe webhooks",
2452
+ required: false
2453
+ }
2454
+ },
2455
+
2456
+ secretSchema: {
2457
+ apiKey: {
2458
+ type: "string",
2459
+ description: "Stripe secret API key (sk_...)",
2460
+ required: true
2461
+ },
2462
+ webhookSecret: {
2463
+ type: "string",
2464
+ description: "Webhook signing secret (whsec_...)",
2465
+ required: false
2466
+ }
2467
+ },
2468
+
2469
+ webhooks: {
2470
+ supported: true,
2471
+ events: [
2472
+ "payment_intent.succeeded",
2473
+ "payment_intent.payment_failed",
2474
+ "customer.subscription.created",
2475
+ "customer.subscription.updated",
2476
+ "customer.subscription.deleted"
2477
+ ],
2478
+ signatureHeader: "stripe-signature"
2479
+ },
2480
+
2481
+ docsUrl: "https://docs.contractspec.com/integrations/stripe",
2482
+ setupGuideUrl: "https://stripe.com/docs/keys",
2483
+ version: "1.0.0"
2484
+ }`
2485
+ }, undefined, false, undefined, this)
2486
+ }, undefined, false, undefined, this)
2487
+ ]
2488
+ }, undefined, true, undefined, this),
2489
+ /* @__PURE__ */ jsxDEV12("div", {
2490
+ className: "space-y-4",
2491
+ children: [
2492
+ /* @__PURE__ */ jsxDEV12("h2", {
2493
+ className: "text-2xl font-bold",
2494
+ children: "IntegrationConnection"
2495
+ }, undefined, false, undefined, this),
2496
+ /* @__PURE__ */ jsxDEV12("p", {
2497
+ className: "text-muted-foreground",
2498
+ children: [
2499
+ "An ",
2500
+ /* @__PURE__ */ jsxDEV12("strong", {
2501
+ children: "IntegrationConnection"
2502
+ }, undefined, false, undefined, this),
2503
+ " is a per-tenant instance of an integration with configured credentials and environment settings."
2504
+ ]
2505
+ }, undefined, true, undefined, this),
2506
+ /* @__PURE__ */ jsxDEV12("div", {
2507
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2508
+ children: /* @__PURE__ */ jsxDEV12("pre", {
2509
+ children: `type IntegrationConnection = {
2510
+ id: string;
2511
+ tenantId: string;
2512
+ integrationId: string;
2513
+
2514
+ // Environment
2515
+ environment: "sandbox" | "production";
2516
+
2517
+ // Configuration (non-secret)
2518
+ config: Record<string, unknown>;
2519
+
2520
+ // Secret reference (encrypted, never exposed)
2521
+ secretRef: string;
2522
+
2523
+ // Status
2524
+ status: "connected" | "disconnected" | "error";
2525
+ lastHealthCheck?: string;
2526
+ lastHealthCheckStatus?: "success" | "failure";
2527
+ lastErrorMessage?: string;
2528
+
2529
+ // Metadata
2530
+ createdAt: string;
2531
+ updatedAt: string;
2532
+ createdBy: string;
2533
+ };`
2534
+ }, undefined, false, undefined, this)
2535
+ }, undefined, false, undefined, this)
2536
+ ]
2537
+ }, undefined, true, undefined, this),
2538
+ /* @__PURE__ */ jsxDEV12("div", {
2539
+ className: "space-y-4",
2540
+ children: [
2541
+ /* @__PURE__ */ jsxDEV12("h2", {
2542
+ className: "text-2xl font-bold",
2543
+ children: "Example: Stripe IntegrationConnection"
2544
+ }, undefined, false, undefined, this),
2545
+ /* @__PURE__ */ jsxDEV12("div", {
2546
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2547
+ children: /* @__PURE__ */ jsxDEV12("pre", {
2548
+ children: `// Production connection
2549
+ {
2550
+ id: "conn_stripe_acme_prod",
2551
+ tenantId: "acme-corp",
2552
+ integrationId: "stripe",
2553
+ environment: "production",
2554
+ config: {
2555
+ webhookUrl: "https://acme.app/webhooks/stripe"
2556
+ },
2557
+ secretRef: "secret_stripe_acme_prod_v1",
2558
+ status: "connected",
2559
+ lastHealthCheck: "2025-01-15T10:30:00Z",
2560
+ lastHealthCheckStatus: "success",
2561
+ createdAt: "2025-01-01T00:00:00Z",
2562
+ updatedAt: "2025-01-15T10:30:00Z",
2563
+ createdBy: "admin@acme.com"
2564
+ }
2565
+
2566
+ // Sandbox connection
2567
+ {
2568
+ id: "conn_stripe_acme_test",
2569
+ tenantId: "acme-corp",
2570
+ integrationId: "stripe",
2571
+ environment: "sandbox",
2572
+ config: {
2573
+ webhookUrl: "https://sandbox.acme.app/webhooks/stripe"
2574
+ },
2575
+ secretRef: "secret_stripe_acme_test_v1",
2576
+ status: "connected",
2577
+ lastHealthCheck: "2025-01-15T10:25:00Z",
2578
+ lastHealthCheckStatus: "success",
2579
+ createdAt: "2025-01-01T00:00:00Z",
2580
+ updatedAt: "2025-01-15T10:25:00Z",
2581
+ createdBy: "dev@acme.com"
2582
+ }`
2583
+ }, undefined, false, undefined, this)
2584
+ }, undefined, false, undefined, this)
2585
+ ]
2586
+ }, undefined, true, undefined, this),
2587
+ /* @__PURE__ */ jsxDEV12("div", {
2588
+ className: "space-y-4",
2589
+ children: [
2590
+ /* @__PURE__ */ jsxDEV12("h2", {
2591
+ className: "text-2xl font-bold",
2592
+ children: "Health checks"
2593
+ }, undefined, false, undefined, this),
2594
+ /* @__PURE__ */ jsxDEV12("p", {
2595
+ className: "text-muted-foreground",
2596
+ children: "IntegrationConnections are periodically health-checked to ensure they remain valid:"
2597
+ }, undefined, false, undefined, this),
2598
+ /* @__PURE__ */ jsxDEV12("ul", {
2599
+ className: "text-muted-foreground list-inside list-disc space-y-2",
2600
+ children: [
2601
+ /* @__PURE__ */ jsxDEV12("li", {
2602
+ children: [
2603
+ /* @__PURE__ */ jsxDEV12("strong", {
2604
+ children: "API key validation"
2605
+ }, undefined, false, undefined, this),
2606
+ " - Test that credentials are still valid"
2607
+ ]
2608
+ }, undefined, true, undefined, this),
2609
+ /* @__PURE__ */ jsxDEV12("li", {
2610
+ children: [
2611
+ /* @__PURE__ */ jsxDEV12("strong", {
2612
+ children: "Connectivity check"
2613
+ }, undefined, false, undefined, this),
2614
+ " - Verify network access to the provider"
2615
+ ]
2616
+ }, undefined, true, undefined, this),
2617
+ /* @__PURE__ */ jsxDEV12("li", {
2618
+ children: [
2619
+ /* @__PURE__ */ jsxDEV12("strong", {
2620
+ children: "Permission verification"
2621
+ }, undefined, false, undefined, this),
2622
+ " - Ensure required scopes are granted"
2623
+ ]
2624
+ }, undefined, true, undefined, this),
2625
+ /* @__PURE__ */ jsxDEV12("li", {
2626
+ children: [
2627
+ /* @__PURE__ */ jsxDEV12("strong", {
2628
+ children: "Webhook validation"
2629
+ }, undefined, false, undefined, this),
2630
+ " - Test webhook endpoint reachability"
2631
+ ]
2632
+ }, undefined, true, undefined, this)
2633
+ ]
2634
+ }, undefined, true, undefined, this),
2635
+ /* @__PURE__ */ jsxDEV12("p", {
2636
+ className: "text-muted-foreground",
2637
+ children: 'Failed health checks update the connection status to "error" and trigger alerts.'
2638
+ }, undefined, false, undefined, this)
2639
+ ]
2640
+ }, undefined, true, undefined, this),
2641
+ /* @__PURE__ */ jsxDEV12("div", {
2642
+ className: "space-y-4",
2643
+ children: [
2644
+ /* @__PURE__ */ jsxDEV12("h2", {
2645
+ className: "text-2xl font-bold",
2646
+ children: "Secret management"
2647
+ }, undefined, false, undefined, this),
2648
+ /* @__PURE__ */ jsxDEV12("p", {
2649
+ className: "text-muted-foreground",
2650
+ children: "Secrets (API keys, tokens) are never stored in plaintext:"
2651
+ }, undefined, false, undefined, this),
2652
+ /* @__PURE__ */ jsxDEV12("ol", {
2653
+ className: "text-muted-foreground list-inside list-decimal space-y-2",
2654
+ children: [
2655
+ /* @__PURE__ */ jsxDEV12("li", {
2656
+ children: "User provides secrets through secure UI or API"
2657
+ }, undefined, false, undefined, this),
2658
+ /* @__PURE__ */ jsxDEV12("li", {
2659
+ children: "Secrets are encrypted using tenant-specific keys"
2660
+ }, undefined, false, undefined, this),
2661
+ /* @__PURE__ */ jsxDEV12("li", {
2662
+ children: "Encrypted secrets are stored in secure vault (e.g., AWS Secrets Manager)"
2663
+ }, undefined, false, undefined, this),
2664
+ /* @__PURE__ */ jsxDEV12("li", {
2665
+ children: "IntegrationConnection stores only a reference (secretRef)"
2666
+ }, undefined, false, undefined, this),
2667
+ /* @__PURE__ */ jsxDEV12("li", {
2668
+ children: "At runtime, secrets are decrypted on-demand and never logged"
2669
+ }, undefined, false, undefined, this)
2670
+ ]
2671
+ }, undefined, true, undefined, this)
2672
+ ]
2673
+ }, undefined, true, undefined, this),
2674
+ /* @__PURE__ */ jsxDEV12("div", {
2675
+ className: "space-y-4",
2676
+ children: [
2677
+ /* @__PURE__ */ jsxDEV12("h2", {
2678
+ className: "text-2xl font-bold",
2679
+ children: "Best practices"
2680
+ }, undefined, false, undefined, this),
2681
+ /* @__PURE__ */ jsxDEV12("ul", {
2682
+ className: "text-muted-foreground list-inside list-disc space-y-2",
2683
+ children: [
2684
+ /* @__PURE__ */ jsxDEV12("li", {
2685
+ children: "Always maintain separate sandbox and production connections"
2686
+ }, undefined, false, undefined, this),
2687
+ /* @__PURE__ */ jsxDEV12("li", {
2688
+ children: "Use descriptive connection IDs that include tenant and environment"
2689
+ }, undefined, false, undefined, this),
2690
+ /* @__PURE__ */ jsxDEV12("li", {
2691
+ children: "Monitor health check status and set up alerts for failures"
2692
+ }, undefined, false, undefined, this),
2693
+ /* @__PURE__ */ jsxDEV12("li", {
2694
+ children: "Rotate secrets regularly and update secretRef accordingly"
2695
+ }, undefined, false, undefined, this),
2696
+ /* @__PURE__ */ jsxDEV12("li", {
2697
+ children: "Document the purpose and ownership of each connection"
2698
+ }, undefined, false, undefined, this),
2699
+ /* @__PURE__ */ jsxDEV12("li", {
2700
+ children: "Test connections in sandbox before enabling in production"
2701
+ }, undefined, false, undefined, this)
2702
+ ]
2703
+ }, undefined, true, undefined, this)
2704
+ ]
2705
+ }, undefined, true, undefined, this),
2706
+ /* @__PURE__ */ jsxDEV12("div", {
2707
+ className: "flex items-center gap-4 pt-4",
2708
+ children: [
2709
+ /* @__PURE__ */ jsxDEV12(Link11, {
2710
+ href: "/docs/integrations",
2711
+ className: "btn-ghost",
2712
+ children: "Back to Integrations"
2713
+ }, undefined, false, undefined, this),
2714
+ /* @__PURE__ */ jsxDEV12(Link11, {
2715
+ href: "/docs/architecture/integration-binding",
2716
+ className: "btn-primary",
2717
+ children: [
2718
+ "Integration Binding ",
2719
+ /* @__PURE__ */ jsxDEV12(ChevronRight11, {
2720
+ size: 16
2721
+ }, undefined, false, undefined, this)
2722
+ ]
2723
+ }, undefined, true, undefined, this)
2724
+ ]
2725
+ }, undefined, true, undefined, this)
2726
+ ]
2727
+ }, undefined, true, undefined, this);
2728
+ }
2729
+
2730
+ // src/components/docs/integrations/IntegrationsStripePage.tsx
2731
+ import Link12 from "@contractspec/lib.ui-link";
2732
+ import { ChevronRight as ChevronRight12 } from "lucide-react";
2733
+ import { jsxDEV as jsxDEV13 } from "react/jsx-dev-runtime";
2734
+ function IntegrationsStripePage() {
2735
+ return /* @__PURE__ */ jsxDEV13("div", {
2736
+ className: "space-y-8",
2737
+ children: [
2738
+ /* @__PURE__ */ jsxDEV13("div", {
2739
+ className: "space-y-4",
2740
+ children: [
2741
+ /* @__PURE__ */ jsxDEV13("h1", {
2742
+ className: "text-4xl font-bold",
2743
+ children: "Stripe"
2744
+ }, undefined, false, undefined, this),
2745
+ /* @__PURE__ */ jsxDEV13("p", {
2746
+ className: "text-muted-foreground",
2747
+ children: "The Stripe integration enables payment processing, subscription management, and invoicing in your ContractSpec applications. All Stripe operations are type-safe, policy-enforced, and automatically logged."
2748
+ }, undefined, false, undefined, this)
2749
+ ]
2750
+ }, undefined, true, undefined, this),
2751
+ /* @__PURE__ */ jsxDEV13("div", {
2752
+ className: "space-y-4",
2753
+ children: [
2754
+ /* @__PURE__ */ jsxDEV13("h2", {
2755
+ className: "text-2xl font-bold",
2756
+ children: "Setup"
2757
+ }, undefined, false, undefined, this),
2758
+ /* @__PURE__ */ jsxDEV13("p", {
2759
+ className: "text-muted-foreground",
2760
+ children: "Add your Stripe credentials to your environment variables:"
2761
+ }, undefined, false, undefined, this),
2762
+ /* @__PURE__ */ jsxDEV13("div", {
2763
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2764
+ children: /* @__PURE__ */ jsxDEV13("pre", {
2765
+ children: `# .env
2766
+ STRIPE_SECRET_KEY=sk_test_...
2767
+ STRIPE_PUBLISHABLE_KEY=pk_test_...
2768
+ STRIPE_WEBHOOK_SECRET=whsec_...`
2769
+ }, undefined, false, undefined, this)
2770
+ }, undefined, false, undefined, this),
2771
+ /* @__PURE__ */ jsxDEV13("p", {
2772
+ className: "text-muted-foreground text-sm",
2773
+ children: [
2774
+ "Get your API keys from the",
2775
+ " ",
2776
+ /* @__PURE__ */ jsxDEV13("a", {
2777
+ href: "https://dashboard.stripe.com/apikeys",
2778
+ target: "_blank",
2779
+ rel: "noopener noreferrer",
2780
+ className: "text-violet-400 hover:text-violet-300",
2781
+ children: "Stripe Dashboard"
2782
+ }, undefined, false, undefined, this),
2783
+ "."
2784
+ ]
2785
+ }, undefined, true, undefined, this)
2786
+ ]
2787
+ }, undefined, true, undefined, this),
2788
+ /* @__PURE__ */ jsxDEV13("div", {
2789
+ className: "space-y-4",
2790
+ children: [
2791
+ /* @__PURE__ */ jsxDEV13("h2", {
2792
+ className: "text-2xl font-bold",
2793
+ children: "Available capabilities"
2794
+ }, undefined, false, undefined, this),
2795
+ /* @__PURE__ */ jsxDEV13("div", {
2796
+ className: "space-y-3",
2797
+ children: [
2798
+ /* @__PURE__ */ jsxDEV13("h3", {
2799
+ className: "text-lg font-semibold",
2800
+ children: "Payment Intents"
2801
+ }, undefined, false, undefined, this),
2802
+ /* @__PURE__ */ jsxDEV13("div", {
2803
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2804
+ children: /* @__PURE__ */ jsxDEV13("pre", {
2805
+ children: `capabilityId: stripe-create-payment-intent
2806
+ provider:
2807
+ type: stripe
2808
+ operation: createPaymentIntent
2809
+
2810
+ inputs:
2811
+ amount:
2812
+ type: number
2813
+ description: "Amount in cents"
2814
+ currency:
2815
+ type: string
2816
+ default: "usd"
2817
+ customerId:
2818
+ type: string
2819
+ optional: true
2820
+ metadata:
2821
+ type: object
2822
+ optional: true
2823
+
2824
+ outputs:
2825
+ paymentIntentId:
2826
+ type: string
2827
+ clientSecret:
2828
+ type: string
2829
+ status:
2830
+ type: string`
2831
+ }, undefined, false, undefined, this)
2832
+ }, undefined, false, undefined, this)
2833
+ ]
2834
+ }, undefined, true, undefined, this),
2835
+ /* @__PURE__ */ jsxDEV13("div", {
2836
+ className: "space-y-3",
2837
+ children: [
2838
+ /* @__PURE__ */ jsxDEV13("h3", {
2839
+ className: "text-lg font-semibold",
2840
+ children: "Customers"
2841
+ }, undefined, false, undefined, this),
2842
+ /* @__PURE__ */ jsxDEV13("div", {
2843
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2844
+ children: /* @__PURE__ */ jsxDEV13("pre", {
2845
+ children: `capabilityId: stripe-create-customer
2846
+ provider:
2847
+ type: stripe
2848
+ operation: createCustomer
2849
+
2850
+ inputs:
2851
+ email:
2852
+ type: string
2853
+ name:
2854
+ type: string
2855
+ optional: true
2856
+ metadata:
2857
+ type: object
2858
+ optional: true
2859
+
2860
+ outputs:
2861
+ customerId:
2862
+ type: string
2863
+ email:
2864
+ type: string`
2865
+ }, undefined, false, undefined, this)
2866
+ }, undefined, false, undefined, this)
2867
+ ]
2868
+ }, undefined, true, undefined, this),
2869
+ /* @__PURE__ */ jsxDEV13("div", {
2870
+ className: "space-y-3",
2871
+ children: [
2872
+ /* @__PURE__ */ jsxDEV13("h3", {
2873
+ className: "text-lg font-semibold",
2874
+ children: "Subscriptions"
2875
+ }, undefined, false, undefined, this),
2876
+ /* @__PURE__ */ jsxDEV13("div", {
2877
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2878
+ children: /* @__PURE__ */ jsxDEV13("pre", {
2879
+ children: `capabilityId: stripe-create-subscription
2880
+ provider:
2881
+ type: stripe
2882
+ operation: createSubscription
2883
+
2884
+ inputs:
2885
+ customerId:
2886
+ type: string
2887
+ priceId:
2888
+ type: string
2889
+ trialDays:
2890
+ type: number
2891
+ optional: true
2892
+
2893
+ outputs:
2894
+ subscriptionId:
2895
+ type: string
2896
+ status:
2897
+ type: string
2898
+ currentPeriodEnd:
2899
+ type: timestamp`
2900
+ }, undefined, false, undefined, this)
2901
+ }, undefined, false, undefined, this)
2902
+ ]
2903
+ }, undefined, true, undefined, this)
2904
+ ]
2905
+ }, undefined, true, undefined, this),
2906
+ /* @__PURE__ */ jsxDEV13("div", {
2907
+ className: "space-y-4",
2908
+ children: [
2909
+ /* @__PURE__ */ jsxDEV13("h2", {
2910
+ className: "text-2xl font-bold",
2911
+ children: "Webhooks"
2912
+ }, undefined, false, undefined, this),
2913
+ /* @__PURE__ */ jsxDEV13("p", {
2914
+ className: "text-muted-foreground",
2915
+ children: "ContractSpec automatically handles Stripe webhooks. Configure your webhook endpoint in the Stripe Dashboard:"
2916
+ }, undefined, false, undefined, this),
2917
+ /* @__PURE__ */ jsxDEV13("div", {
2918
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2919
+ children: /* @__PURE__ */ jsxDEV13("pre", {
2920
+ children: `https://your-app.com/api/webhooks/stripe`
2921
+ }, undefined, false, undefined, this)
2922
+ }, undefined, false, undefined, this),
2923
+ /* @__PURE__ */ jsxDEV13("p", {
2924
+ className: "text-muted-foreground",
2925
+ children: "Subscribe to these events:"
2926
+ }, undefined, false, undefined, this),
2927
+ /* @__PURE__ */ jsxDEV13("ul", {
2928
+ className: "text-muted-foreground list-inside list-disc space-y-2",
2929
+ children: [
2930
+ /* @__PURE__ */ jsxDEV13("li", {
2931
+ children: /* @__PURE__ */ jsxDEV13("code", {
2932
+ className: "bg-background/50 rounded px-2 py-1",
2933
+ children: "payment_intent.succeeded"
2934
+ }, undefined, false, undefined, this)
2935
+ }, undefined, false, undefined, this),
2936
+ /* @__PURE__ */ jsxDEV13("li", {
2937
+ children: /* @__PURE__ */ jsxDEV13("code", {
2938
+ className: "bg-background/50 rounded px-2 py-1",
2939
+ children: "payment_intent.payment_failed"
2940
+ }, undefined, false, undefined, this)
2941
+ }, undefined, false, undefined, this),
2942
+ /* @__PURE__ */ jsxDEV13("li", {
2943
+ children: /* @__PURE__ */ jsxDEV13("code", {
2944
+ className: "bg-background/50 rounded px-2 py-1",
2945
+ children: "customer.subscription.created"
2946
+ }, undefined, false, undefined, this)
2947
+ }, undefined, false, undefined, this),
2948
+ /* @__PURE__ */ jsxDEV13("li", {
2949
+ children: /* @__PURE__ */ jsxDEV13("code", {
2950
+ className: "bg-background/50 rounded px-2 py-1",
2951
+ children: "customer.subscription.updated"
2952
+ }, undefined, false, undefined, this)
2953
+ }, undefined, false, undefined, this),
2954
+ /* @__PURE__ */ jsxDEV13("li", {
2955
+ children: /* @__PURE__ */ jsxDEV13("code", {
2956
+ className: "bg-background/50 rounded px-2 py-1",
2957
+ children: "customer.subscription.deleted"
2958
+ }, undefined, false, undefined, this)
2959
+ }, undefined, false, undefined, this)
2960
+ ]
2961
+ }, undefined, true, undefined, this)
2962
+ ]
2963
+ }, undefined, true, undefined, this),
2964
+ /* @__PURE__ */ jsxDEV13("div", {
2965
+ className: "space-y-4",
2966
+ children: [
2967
+ /* @__PURE__ */ jsxDEV13("h2", {
2968
+ className: "text-2xl font-bold",
2969
+ children: "Example workflow"
2970
+ }, undefined, false, undefined, this),
2971
+ /* @__PURE__ */ jsxDEV13("p", {
2972
+ className: "text-muted-foreground",
2973
+ children: "Here's a complete payment workflow using Stripe:"
2974
+ }, undefined, false, undefined, this),
2975
+ /* @__PURE__ */ jsxDEV13("div", {
2976
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
2977
+ children: /* @__PURE__ */ jsxDEV13("pre", {
2978
+ children: `workflowId: process-payment
2979
+ version: '1.0.0'.0.0
2980
+
2981
+ steps:
2982
+ - id: create-customer
2983
+ capability: stripe-create-customer
2984
+ inputs:
2985
+ email: \${input.customerEmail}
2986
+ name: \${input.customerName}
2987
+ onSuccess: create-payment-intent
2988
+ onFailure: notify-error
2989
+
2990
+ - id: create-payment-intent
2991
+ capability: stripe-create-payment-intent
2992
+ inputs:
2993
+ amount: \${input.amount}
2994
+ currency: "usd"
2995
+ customerId: \${steps.create-customer.output.customerId}
2996
+ onSuccess: send-payment-link
2997
+ onFailure: notify-error
2998
+
2999
+ - id: send-payment-link
3000
+ capability: send-email
3001
+ inputs:
3002
+ to: \${input.customerEmail}
3003
+ template: "payment-link"
3004
+ data:
3005
+ clientSecret: \${steps.create-payment-intent.output.clientSecret}
3006
+ amount: \${input.amount}
3007
+
3008
+ - id: notify-error
3009
+ capability: send-email
3010
+ inputs:
3011
+ to: "admin@example.com"
3012
+ template: "payment-error"
3013
+ data:
3014
+ error: \${error.message}`
3015
+ }, undefined, false, undefined, this)
3016
+ }, undefined, false, undefined, this)
3017
+ ]
3018
+ }, undefined, true, undefined, this),
3019
+ /* @__PURE__ */ jsxDEV13("div", {
3020
+ className: "space-y-4",
3021
+ children: [
3022
+ /* @__PURE__ */ jsxDEV13("h2", {
3023
+ className: "text-2xl font-bold",
3024
+ children: "Testing"
3025
+ }, undefined, false, undefined, this),
3026
+ /* @__PURE__ */ jsxDEV13("p", {
3027
+ className: "text-muted-foreground",
3028
+ children: "Use Stripe's test cards for development:"
3029
+ }, undefined, false, undefined, this),
3030
+ /* @__PURE__ */ jsxDEV13("div", {
3031
+ className: "border-border/50 overflow-x-auto rounded-lg border",
3032
+ children: /* @__PURE__ */ jsxDEV13("table", {
3033
+ className: "w-full text-left text-sm",
3034
+ children: [
3035
+ /* @__PURE__ */ jsxDEV13("thead", {
3036
+ className: "bg-card/50",
3037
+ children: /* @__PURE__ */ jsxDEV13("tr", {
3038
+ className: "border-border/50 border-b",
3039
+ children: [
3040
+ /* @__PURE__ */ jsxDEV13("th", {
3041
+ className: "px-4 py-3 font-semibold",
3042
+ children: "Card Number"
3043
+ }, undefined, false, undefined, this),
3044
+ /* @__PURE__ */ jsxDEV13("th", {
3045
+ className: "px-4 py-3 font-semibold",
3046
+ children: "Scenario"
3047
+ }, undefined, false, undefined, this)
3048
+ ]
3049
+ }, undefined, true, undefined, this)
3050
+ }, undefined, false, undefined, this),
3051
+ /* @__PURE__ */ jsxDEV13("tbody", {
3052
+ className: "divide-border/50 divide-y",
3053
+ children: [
3054
+ /* @__PURE__ */ jsxDEV13("tr", {
3055
+ children: [
3056
+ /* @__PURE__ */ jsxDEV13("td", {
3057
+ className: "px-4 py-3 font-mono",
3058
+ children: "4242 4242 4242 4242"
3059
+ }, undefined, false, undefined, this),
3060
+ /* @__PURE__ */ jsxDEV13("td", {
3061
+ className: "px-4 py-3",
3062
+ children: "Successful payment"
3063
+ }, undefined, false, undefined, this)
3064
+ ]
3065
+ }, undefined, true, undefined, this),
3066
+ /* @__PURE__ */ jsxDEV13("tr", {
3067
+ children: [
3068
+ /* @__PURE__ */ jsxDEV13("td", {
3069
+ className: "px-4 py-3 font-mono",
3070
+ children: "4000 0000 0000 9995"
3071
+ }, undefined, false, undefined, this),
3072
+ /* @__PURE__ */ jsxDEV13("td", {
3073
+ className: "px-4 py-3",
3074
+ children: "Insufficient funds"
3075
+ }, undefined, false, undefined, this)
3076
+ ]
3077
+ }, undefined, true, undefined, this),
3078
+ /* @__PURE__ */ jsxDEV13("tr", {
3079
+ children: [
3080
+ /* @__PURE__ */ jsxDEV13("td", {
3081
+ className: "px-4 py-3 font-mono",
3082
+ children: "4000 0000 0000 0002"
3083
+ }, undefined, false, undefined, this),
3084
+ /* @__PURE__ */ jsxDEV13("td", {
3085
+ className: "px-4 py-3",
3086
+ children: "Card declined"
3087
+ }, undefined, false, undefined, this)
3088
+ ]
3089
+ }, undefined, true, undefined, this)
3090
+ ]
3091
+ }, undefined, true, undefined, this)
3092
+ ]
3093
+ }, undefined, true, undefined, this)
3094
+ }, undefined, false, undefined, this)
3095
+ ]
3096
+ }, undefined, true, undefined, this),
3097
+ /* @__PURE__ */ jsxDEV13("div", {
3098
+ className: "space-y-4",
3099
+ children: [
3100
+ /* @__PURE__ */ jsxDEV13("h2", {
3101
+ className: "text-2xl font-bold",
3102
+ children: "Best practices"
3103
+ }, undefined, false, undefined, this),
3104
+ /* @__PURE__ */ jsxDEV13("ul", {
3105
+ className: "text-muted-foreground list-inside list-disc space-y-2",
3106
+ children: [
3107
+ /* @__PURE__ */ jsxDEV13("li", {
3108
+ children: "Always use test mode during development"
3109
+ }, undefined, false, undefined, this),
3110
+ /* @__PURE__ */ jsxDEV13("li", {
3111
+ children: "Verify webhook signatures to prevent fraud"
3112
+ }, undefined, false, undefined, this),
3113
+ /* @__PURE__ */ jsxDEV13("li", {
3114
+ children: "Handle idempotency for payment operations"
3115
+ }, undefined, false, undefined, this),
3116
+ /* @__PURE__ */ jsxDEV13("li", {
3117
+ children: "Store customer IDs for recurring payments"
3118
+ }, undefined, false, undefined, this),
3119
+ /* @__PURE__ */ jsxDEV13("li", {
3120
+ children: "Use metadata to link Stripe objects to your application records"
3121
+ }, undefined, false, undefined, this),
3122
+ /* @__PURE__ */ jsxDEV13("li", {
3123
+ children: "Monitor failed payments and retry logic"
3124
+ }, undefined, false, undefined, this)
3125
+ ]
3126
+ }, undefined, true, undefined, this)
3127
+ ]
3128
+ }, undefined, true, undefined, this),
3129
+ /* @__PURE__ */ jsxDEV13("div", {
3130
+ className: "flex items-center gap-4 pt-4",
3131
+ children: [
3132
+ /* @__PURE__ */ jsxDEV13(Link12, {
3133
+ href: "/docs/integrations",
3134
+ className: "btn-ghost",
3135
+ children: "Back to Integrations"
3136
+ }, undefined, false, undefined, this),
3137
+ /* @__PURE__ */ jsxDEV13(Link12, {
3138
+ href: "/docs/integrations/postmark",
3139
+ className: "btn-primary",
3140
+ children: [
3141
+ "Next: Postmark ",
3142
+ /* @__PURE__ */ jsxDEV13(ChevronRight12, {
3143
+ size: 16
3144
+ }, undefined, false, undefined, this)
3145
+ ]
3146
+ }, undefined, true, undefined, this)
3147
+ ]
3148
+ }, undefined, true, undefined, this)
3149
+ ]
3150
+ }, undefined, true, undefined, this);
3151
+ }
3152
+
3153
+ // src/components/docs/integrations/IntegrationsTwilioPage.tsx
3154
+ import Link13 from "@contractspec/lib.ui-link";
3155
+ import { jsxDEV as jsxDEV14 } from "react/jsx-dev-runtime";
3156
+ function IntegrationsTwilioPage() {
3157
+ return /* @__PURE__ */ jsxDEV14("div", {
3158
+ className: "space-y-8",
3159
+ children: [
3160
+ /* @__PURE__ */ jsxDEV14("div", {
3161
+ className: "space-y-4",
3162
+ children: [
3163
+ /* @__PURE__ */ jsxDEV14("h1", {
3164
+ className: "text-4xl font-bold",
3165
+ children: "Twilio"
3166
+ }, undefined, false, undefined, this),
3167
+ /* @__PURE__ */ jsxDEV14("p", {
3168
+ className: "text-muted-foreground",
3169
+ children: "Send SMS notifications, alerts, and two-factor authentication codes using Twilio's reliable messaging platform."
3170
+ }, undefined, false, undefined, this)
3171
+ ]
3172
+ }, undefined, true, undefined, this),
3173
+ /* @__PURE__ */ jsxDEV14("div", {
3174
+ className: "space-y-4",
3175
+ children: [
3176
+ /* @__PURE__ */ jsxDEV14("h2", {
3177
+ className: "text-2xl font-bold",
3178
+ children: "Setup"
3179
+ }, undefined, false, undefined, this),
3180
+ /* @__PURE__ */ jsxDEV14("div", {
3181
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
3182
+ children: /* @__PURE__ */ jsxDEV14("pre", {
3183
+ children: `# .env
3184
+ TWILIO_ACCOUNT_SID=...
3185
+ TWILIO_AUTH_TOKEN=...
3186
+ TWILIO_PHONE_NUMBER=+1234567890`
3187
+ }, undefined, false, undefined, this)
3188
+ }, undefined, false, undefined, this)
3189
+ ]
3190
+ }, undefined, true, undefined, this),
3191
+ /* @__PURE__ */ jsxDEV14("div", {
3192
+ className: "space-y-4",
3193
+ children: [
3194
+ /* @__PURE__ */ jsxDEV14("h2", {
3195
+ className: "text-2xl font-bold",
3196
+ children: "Sending SMS"
3197
+ }, undefined, false, undefined, this),
3198
+ /* @__PURE__ */ jsxDEV14("div", {
3199
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
3200
+ children: /* @__PURE__ */ jsxDEV14("pre", {
3201
+ children: `capabilityId: twilio-send-sms
3202
+ provider:
3203
+ type: twilio
3204
+ operation: sendSMS
3205
+
3206
+ inputs:
3207
+ to:
3208
+ type: string
3209
+ description: "Phone number in E.164 format"
3210
+ body:
3211
+ type: string
3212
+ description: "Message content (max 1600 chars)"
3213
+
3214
+ outputs:
3215
+ messageSid:
3216
+ type: string
3217
+ status:
3218
+ type: string`
3219
+ }, undefined, false, undefined, this)
3220
+ }, undefined, false, undefined, this)
3221
+ ]
3222
+ }, undefined, true, undefined, this),
3223
+ /* @__PURE__ */ jsxDEV14("div", {
3224
+ className: "space-y-4",
3225
+ children: [
3226
+ /* @__PURE__ */ jsxDEV14("h2", {
3227
+ className: "text-2xl font-bold",
3228
+ children: "Use cases"
3229
+ }, undefined, false, undefined, this),
3230
+ /* @__PURE__ */ jsxDEV14("ul", {
3231
+ className: "text-muted-foreground list-inside list-disc space-y-2",
3232
+ children: [
3233
+ /* @__PURE__ */ jsxDEV14("li", {
3234
+ children: "Order confirmations and shipping updates"
3235
+ }, undefined, false, undefined, this),
3236
+ /* @__PURE__ */ jsxDEV14("li", {
3237
+ children: "Two-factor authentication codes"
3238
+ }, undefined, false, undefined, this),
3239
+ /* @__PURE__ */ jsxDEV14("li", {
3240
+ children: "Appointment reminders"
3241
+ }, undefined, false, undefined, this),
3242
+ /* @__PURE__ */ jsxDEV14("li", {
3243
+ children: "Alert notifications"
3244
+ }, undefined, false, undefined, this)
3245
+ ]
3246
+ }, undefined, true, undefined, this)
3247
+ ]
3248
+ }, undefined, true, undefined, this),
3249
+ /* @__PURE__ */ jsxDEV14("div", {
3250
+ className: "space-y-4",
3251
+ children: [
3252
+ /* @__PURE__ */ jsxDEV14("h2", {
3253
+ className: "text-2xl font-bold",
3254
+ children: "Best practices"
3255
+ }, undefined, false, undefined, this),
3256
+ /* @__PURE__ */ jsxDEV14("ul", {
3257
+ className: "text-muted-foreground list-inside list-disc space-y-2",
3258
+ children: [
3259
+ /* @__PURE__ */ jsxDEV14("li", {
3260
+ children: "Always use E.164 format for phone numbers (+1234567890)"
3261
+ }, undefined, false, undefined, this),
3262
+ /* @__PURE__ */ jsxDEV14("li", {
3263
+ children: "Keep messages under 160 characters to avoid splitting"
3264
+ }, undefined, false, undefined, this),
3265
+ /* @__PURE__ */ jsxDEV14("li", {
3266
+ children: "Implement rate limiting to prevent spam"
3267
+ }, undefined, false, undefined, this),
3268
+ /* @__PURE__ */ jsxDEV14("li", {
3269
+ children: "Handle delivery failures gracefully"
3270
+ }, undefined, false, undefined, this),
3271
+ /* @__PURE__ */ jsxDEV14("li", {
3272
+ children: "Respect opt-out requests"
3273
+ }, undefined, false, undefined, this)
3274
+ ]
3275
+ }, undefined, true, undefined, this)
3276
+ ]
3277
+ }, undefined, true, undefined, this),
3278
+ /* @__PURE__ */ jsxDEV14("div", {
3279
+ className: "flex items-center gap-4 pt-4",
3280
+ children: [
3281
+ /* @__PURE__ */ jsxDEV14(Link13, {
3282
+ href: "/docs/integrations/s3",
3283
+ className: "btn-ghost",
3284
+ children: "Previous: S3 Storage"
3285
+ }, undefined, false, undefined, this),
3286
+ /* @__PURE__ */ jsxDEV14(Link13, {
3287
+ href: "/docs/integrations",
3288
+ className: "btn-primary",
3289
+ children: "Back to Integrations"
3290
+ }, undefined, false, undefined, this)
3291
+ ]
3292
+ }, undefined, true, undefined, this)
3293
+ ]
3294
+ }, undefined, true, undefined, this);
3295
+ }
3296
+ export {
3297
+ IntegrationsTwilioPage,
3298
+ IntegrationsStripePage,
3299
+ IntegrationsSpecModelPage,
3300
+ IntegrationsS3Page,
3301
+ IntegrationsResendPage,
3302
+ IntegrationsQdrantPage,
3303
+ IntegrationsPowensPage,
3304
+ IntegrationsPostmarkPage,
3305
+ IntegrationsOverviewPage,
3306
+ IntegrationsOpenAIPage,
3307
+ IntegrationsGoogleCalendarPage,
3308
+ IntegrationsGmailPage,
3309
+ IntegrationsElevenLabsPage,
3310
+ IntegrationsCircuitBreakersPage
3311
+ };