@contractspec/bundle.library 1.12.0 → 1.14.0

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