@contractspec/bundle.library 1.11.1 → 1.13.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 (1385) hide show
  1. package/.turbo/turbo-build.log +571 -1050
  2. package/.turbo/turbo-prebuild.log +1 -0
  3. package/CHANGELOG.md +47 -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 -8
  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 -8
  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 -8
  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 -8
  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 -8
  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 -8
  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 -8
  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 -8
  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 -12
  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 -7
  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 -8
  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 -7
  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 -37
  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 -7
  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 -7
  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 -7
  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 -9
  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 +11 -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 -12
  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 -18
  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 -11
  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 -14
  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 +2113 -309
  1137. package/src/components/docs/generated/docs-index._common.json +18 -18
  1138. package/src/components/docs/generated/docs-index.agent-console.json +47 -47
  1139. package/src/components/docs/generated/docs-index.ai-chat.json +13 -13
  1140. package/src/components/docs/generated/docs-index.analytics-dashboard.json +21 -21
  1141. package/src/components/docs/generated/docs-index.app-config.json +17 -17
  1142. package/src/components/docs/generated/docs-index.audit-trail.json +6 -6
  1143. package/src/components/docs/generated/docs-index.crm-pipeline.json +20 -20
  1144. package/src/components/docs/generated/docs-index.feature-flags.json +27 -27
  1145. package/src/components/docs/generated/docs-index.files.json +22 -22
  1146. package/src/components/docs/generated/docs-index.identity-rbac.json +39 -39
  1147. package/src/components/docs/generated/docs-index.integration-hub.json +33 -33
  1148. package/src/components/docs/generated/docs-index.jobs.json +17 -17
  1149. package/src/components/docs/generated/docs-index.kb-update-pipeline.json +16 -16
  1150. package/src/components/docs/generated/docs-index.learning-journey-crm-onboarding.json +6 -6
  1151. package/src/components/docs/generated/docs-index.learning-journey-platform-tour.json +6 -6
  1152. package/src/components/docs/generated/docs-index.learning-journey-registry.json +4 -4
  1153. package/src/components/docs/generated/docs-index.learning-journey-studio-onboarding.json +6 -6
  1154. package/src/components/docs/generated/docs-index.learning-journey.json +27 -27
  1155. package/src/components/docs/generated/docs-index.locale-jurisdiction-gate.json +6 -6
  1156. package/src/components/docs/generated/docs-index.manifest.json +8 -3
  1157. package/src/components/docs/generated/docs-index.marketplace.json +42 -42
  1158. package/src/components/docs/generated/docs-index.meeting-recorder.json +50 -0
  1159. package/src/components/docs/generated/docs-index.metrics.json +24 -24
  1160. package/src/components/docs/generated/docs-index.notifications.json +8 -8
  1161. package/src/components/docs/generated/docs-index.openbanking.json +8 -8
  1162. package/src/components/docs/generated/docs-index.platform-integrations.json +113 -17
  1163. package/src/components/docs/generated/docs-index.platform-knowledge.json +7 -7
  1164. package/src/components/docs/generated/docs-index.pocket-family-office.json +15 -15
  1165. package/src/components/docs/generated/docs-index.policy-safe-knowledge-assistant.json +1 -1
  1166. package/src/components/docs/generated/docs-index.saas-boilerplate.json +26 -26
  1167. package/src/components/docs/generated/docs-index.service-business-os.json +24 -24
  1168. package/src/components/docs/generated/docs-index.team-hub.json +23 -23
  1169. package/src/components/docs/generated/docs-index.versioned-knowledge-base.json +10 -10
  1170. package/src/components/docs/generated/docs-index.wealth-snapshot.json +19 -19
  1171. package/src/components/docs/generated/docs-index.workflow-system.json +54 -54
  1172. package/src/components/docs/generated/docs-index.workspace-cli.json +1 -1
  1173. package/tsdown.config.js +1 -2
  1174. package/.turbo/turbo-build$colon$bundle.log +0 -1052
  1175. package/dist/application/mcp/cliMcp.js.map +0 -1
  1176. package/dist/application/mcp/common.js.map +0 -1
  1177. package/dist/application/mcp/docsMcp.js.map +0 -1
  1178. package/dist/application/mcp/internalMcp.js.map +0 -1
  1179. package/dist/components/docs/DocsIndexPage.js.map +0 -1
  1180. package/dist/components/docs/advanced/AdvancedMCPPage.js.map +0 -1
  1181. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js.map +0 -1
  1182. package/dist/components/docs/advanced/AdvancedRenderersPage.js.map +0 -1
  1183. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js.map +0 -1
  1184. package/dist/components/docs/advanced/AdvancedTelemetryPage.js.map +0 -1
  1185. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js.map +0 -1
  1186. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js.map +0 -1
  1187. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js.map +0 -1
  1188. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js.map +0 -1
  1189. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js.map +0 -1
  1190. package/dist/components/docs/architecture/ArchitectureOverviewPage.js.map +0 -1
  1191. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js.map +0 -1
  1192. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js.map +0 -1
  1193. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js.map +0 -1
  1194. package/dist/components/docs/comparison/ComparisonOverviewPage.js.map +0 -1
  1195. package/dist/components/docs/comparison/ComparisonWindmillPage.js.map +0 -1
  1196. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js.map +0 -1
  1197. package/dist/components/docs/ecosystem/IntegrationsPage.js.map +0 -1
  1198. package/dist/components/docs/ecosystem/PluginsPage.js.map +0 -1
  1199. package/dist/components/docs/ecosystem/RegistryPage.js.map +0 -1
  1200. package/dist/components/docs/ecosystem/TemplatesPage.js.map +0 -1
  1201. package/dist/components/docs/ecosystem/ecosystem.docblocks.js.map +0 -1
  1202. package/dist/components/docs/examples/DocsExamplesPage.js.map +0 -1
  1203. package/dist/components/docs/generated/docs-index.generated.js.map +0 -1
  1204. package/dist/components/docs/generated/loader.js.map +0 -1
  1205. package/dist/components/docs/getting-started/CLIPage.js.map +0 -1
  1206. package/dist/components/docs/getting-started/CompatibilityPage.js.map +0 -1
  1207. package/dist/components/docs/getting-started/DataViewTutorialPage.js.map +0 -1
  1208. package/dist/components/docs/getting-started/DeveloperToolsPage.js.map +0 -1
  1209. package/dist/components/docs/getting-started/HelloWorldPage.js.map +0 -1
  1210. package/dist/components/docs/getting-started/InstallationPage.js.map +0 -1
  1211. package/dist/components/docs/getting-started/StartHerePage.js.map +0 -1
  1212. package/dist/components/docs/getting-started/TroubleshootingPage.js.map +0 -1
  1213. package/dist/components/docs/getting-started/VSCodeExtensionPage.js.map +0 -1
  1214. package/dist/components/docs/getting-started/getting-started.docblocks.js.map +0 -1
  1215. package/dist/components/docs/guides/GuideCIDiffGatingPage.js.map +0 -1
  1216. package/dist/components/docs/guides/GuideContractTypesPage.js.map +0 -1
  1217. package/dist/components/docs/guides/GuideDocsPipelinePage.js.map +0 -1
  1218. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js.map +0 -1
  1219. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js.map +0 -1
  1220. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js.map +0 -1
  1221. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js.map +0 -1
  1222. package/dist/components/docs/guides/GuidesIndexPage.js.map +0 -1
  1223. package/dist/components/docs/guides/guides.docblocks.js.map +0 -1
  1224. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js.map +0 -1
  1225. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js.map +0 -1
  1226. package/dist/components/docs/integrations/IntegrationsGmailPage.js.map +0 -1
  1227. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js.map +0 -1
  1228. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js.map +0 -1
  1229. package/dist/components/docs/integrations/IntegrationsOverviewPage.js.map +0 -1
  1230. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js.map +0 -1
  1231. package/dist/components/docs/integrations/IntegrationsPowensPage.js.map +0 -1
  1232. package/dist/components/docs/integrations/IntegrationsQdrantPage.js.map +0 -1
  1233. package/dist/components/docs/integrations/IntegrationsResendPage.js.map +0 -1
  1234. package/dist/components/docs/integrations/IntegrationsS3Page.js.map +0 -1
  1235. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js.map +0 -1
  1236. package/dist/components/docs/integrations/IntegrationsStripePage.js.map +0 -1
  1237. package/dist/components/docs/integrations/IntegrationsTwilioPage.js.map +0 -1
  1238. package/dist/components/docs/intent/ContractFirstApiPage.js.map +0 -1
  1239. package/dist/components/docs/intent/DeterministicCodegenPage.js.map +0 -1
  1240. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js.map +0 -1
  1241. package/dist/components/docs/intent/OpenapiAlternativePage.js.map +0 -1
  1242. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js.map +0 -1
  1243. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js.map +0 -1
  1244. package/dist/components/docs/intent/intent-pages.docblocks.js.map +0 -1
  1245. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js.map +0 -1
  1246. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js.map +0 -1
  1247. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js.map +0 -1
  1248. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js.map +0 -1
  1249. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js.map +0 -1
  1250. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js.map +0 -1
  1251. package/dist/components/docs/libraries/LibrariesAiAgentPage.js.map +0 -1
  1252. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js.map +0 -1
  1253. package/dist/components/docs/libraries/LibrariesContentGenPage.js.map +0 -1
  1254. package/dist/components/docs/libraries/LibrariesContractsPage.js.map +0 -1
  1255. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js.map +0 -1
  1256. package/dist/components/docs/libraries/LibrariesDataBackendPage.js.map +0 -1
  1257. package/dist/components/docs/libraries/LibrariesDataViewsPage.js.map +0 -1
  1258. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js.map +0 -1
  1259. package/dist/components/docs/libraries/LibrariesEvolutionPage.js.map +0 -1
  1260. package/dist/components/docs/libraries/LibrariesGraphQLPage.js.map +0 -1
  1261. package/dist/components/docs/libraries/LibrariesGrowthPage.js.map +0 -1
  1262. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js.map +0 -1
  1263. package/dist/components/docs/libraries/LibrariesObservabilityPage.js.map +0 -1
  1264. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js.map +0 -1
  1265. package/dist/components/docs/libraries/LibrariesOverviewPage.js.map +0 -1
  1266. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js.map +0 -1
  1267. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js.map +0 -1
  1268. package/dist/components/docs/libraries/LibrariesResiliencePage.js.map +0 -1
  1269. package/dist/components/docs/libraries/LibrariesRuntimePage.js.map +0 -1
  1270. package/dist/components/docs/libraries/LibrariesSLOPage.js.map +0 -1
  1271. package/dist/components/docs/libraries/LibrariesSchemaPage.js.map +0 -1
  1272. package/dist/components/docs/libraries/LibrariesSupportBotPage.js.map +0 -1
  1273. package/dist/components/docs/libraries/LibrariesTestingPage.js.map +0 -1
  1274. package/dist/components/docs/libraries/LibrariesUIKitPage.js.map +0 -1
  1275. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js.map +0 -1
  1276. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js.map +0 -1
  1277. package/dist/components/docs/manifesto/ManifestoPage.js.map +0 -1
  1278. package/dist/components/docs/ops/AutoEvolutionOpsPage.js.map +0 -1
  1279. package/dist/components/docs/ops/DistributedTracingOpsPage.js.map +0 -1
  1280. package/dist/components/docs/ops/ops-lifecycle.docblocks.js.map +0 -1
  1281. package/dist/components/docs/ops/ops-runbooks-a.docblocks.js.map +0 -1
  1282. package/dist/components/docs/ops/ops-runbooks-b.docblocks.js.map +0 -1
  1283. package/dist/components/docs/ops/ops-slo-tenant.docblocks.js.map +0 -1
  1284. package/dist/components/docs/ops/ops-top.docs.js.map +0 -1
  1285. package/dist/components/docs/ops/ops.docs.js.map +0 -1
  1286. package/dist/components/docs/product/product.docblocks.js.map +0 -1
  1287. package/dist/components/docs/reference/DocsMarkdownContent.js.map +0 -1
  1288. package/dist/components/docs/reference/DocsReferenceContent.js.map +0 -1
  1289. package/dist/components/docs/reference/DocsReferenceIndexClient.js.map +0 -1
  1290. package/dist/components/docs/reference/DocsReferenceIndexPage.js.map +0 -1
  1291. package/dist/components/docs/reference/DocsReferencePage.js.map +0 -1
  1292. package/dist/components/docs/reference/docsMarkdownParser.js.map +0 -1
  1293. package/dist/components/docs/safety/SafetyAuditingPage.js.map +0 -1
  1294. package/dist/components/docs/safety/SafetyMigrationsPage.js.map +0 -1
  1295. package/dist/components/docs/safety/SafetyOverviewPage.js.map +0 -1
  1296. package/dist/components/docs/safety/SafetyPDPPage.js.map +0 -1
  1297. package/dist/components/docs/safety/SafetySecurityTrustPage.js.map +0 -1
  1298. package/dist/components/docs/safety/SafetySigningPage.js.map +0 -1
  1299. package/dist/components/docs/safety/SafetyTenantIsolationPage.js.map +0 -1
  1300. package/dist/components/docs/shared/StudioPrompt.js.map +0 -1
  1301. package/dist/components/docs/specs/SpecsCapabilitiesPage.js.map +0 -1
  1302. package/dist/components/docs/specs/SpecsDataViewsPage.js.map +0 -1
  1303. package/dist/components/docs/specs/SpecsOverlaysPage.js.map +0 -1
  1304. package/dist/components/docs/specs/SpecsOverviewPage.js.map +0 -1
  1305. package/dist/components/docs/specs/SpecsPolicyPage.js.map +0 -1
  1306. package/dist/components/docs/specs/SpecsWorkflowsPage.js.map +0 -1
  1307. package/dist/components/docs/studio/StudioBYOKPage.js.map +0 -1
  1308. package/dist/components/docs/studio/StudioDeploymentsPage.js.map +0 -1
  1309. package/dist/components/docs/studio/StudioGettingStartedPage.js.map +0 -1
  1310. package/dist/components/docs/studio/StudioIntegrationsPage.js.map +0 -1
  1311. package/dist/components/docs/studio/StudioOverviewPage.js.map +0 -1
  1312. package/dist/components/docs/studio/StudioVisualBuilderPage.js.map +0 -1
  1313. package/dist/components/docs/tech/contracts/tech-docs.docblocks.js.map +0 -1
  1314. package/dist/components/integrations/molecules/IntegrationCard.js.map +0 -1
  1315. package/dist/components/integrations/organisms/IntegrationMarketplace.js.map +0 -1
  1316. package/dist/components/integrations/organisms/IntegrationSettings.js.map +0 -1
  1317. package/dist/components/integrations/organisms/KnowledgeSourceList.js.map +0 -1
  1318. package/dist/components/legal/PrivacyTemplate.js.map +0 -1
  1319. package/dist/components/legal/TermsTemplate.js.map +0 -1
  1320. package/dist/components/shared/FeatureGateNotice.js.map +0 -1
  1321. package/dist/components/shell/WorkspaceHeader.js.map +0 -1
  1322. package/dist/components/shell/WorkspaceProjectShellLayout.js.map +0 -1
  1323. package/dist/components/shell/WorkspaceSidebar.js.map +0 -1
  1324. package/dist/components/templates/engine/index.js.map +0 -1
  1325. package/dist/components/templates/messaging/ConversationList.js.map +0 -1
  1326. package/dist/components/templates/messaging/MessageComposer.js.map +0 -1
  1327. package/dist/components/templates/messaging/MessageThread.js.map +0 -1
  1328. package/dist/components/templates/messaging/MessagingWorkspace.js.map +0 -1
  1329. package/dist/components/templates/recipes/LanguageSwitcher.js.map +0 -1
  1330. package/dist/components/templates/recipes/RecipeCard.js.map +0 -1
  1331. package/dist/components/templates/recipes/RecipeDetail.js.map +0 -1
  1332. package/dist/components/templates/recipes/RecipeList.js.map +0 -1
  1333. package/dist/components/templates/todos/FilterBar.js.map +0 -1
  1334. package/dist/components/templates/todos/TaskForm.js.map +0 -1
  1335. package/dist/components/templates/todos/TaskItem.js.map +0 -1
  1336. package/dist/components/templates/todos/TaskList.js.map +0 -1
  1337. package/dist/config/contractspec-blueprint.js.map +0 -1
  1338. package/dist/config/contractspec-branding.js.map +0 -1
  1339. package/dist/config/contractspec-routes.js.map +0 -1
  1340. package/dist/features/contracts-registry.js.map +0 -1
  1341. package/dist/features/docs.feature.js.map +0 -1
  1342. package/dist/features/mcp.feature.js.map +0 -1
  1343. package/dist/features/presentations.feature.js.map +0 -1
  1344. package/dist/features/registry.js.map +0 -1
  1345. package/dist/infrastructure/elysia/logger.js.map +0 -1
  1346. package/dist/libs/content-gen/dist/seo/optimizer.js +0 -49
  1347. package/dist/libs/content-gen/dist/seo/optimizer.js.map +0 -1
  1348. package/dist/libs/email/client.js.map +0 -1
  1349. package/dist/libs/email/contact.js.map +0 -1
  1350. package/dist/libs/email/newsletter.js.map +0 -1
  1351. package/dist/libs/email/utils.js.map +0 -1
  1352. package/dist/libs/email/waitlist-application.js.map +0 -1
  1353. package/dist/libs/email/waitlist.js.map +0 -1
  1354. package/dist/libs/posthog/client.js.map +0 -1
  1355. package/dist/libs/posthog/native.js.map +0 -1
  1356. package/dist/libs/posthog/server.js.map +0 -1
  1357. package/dist/libs/pricing-examples.js.map +0 -1
  1358. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js.map +0 -1
  1359. package/dist/presentation/features/hooks/useContractsRegistry.js.map +0 -1
  1360. package/dist/presentation/features/hooks/useFeatureFilters.js.map +0 -1
  1361. package/dist/presentation/features/hooks/useFeatureRegistry.js.map +0 -1
  1362. package/dist/presentation/features/hooks/useRelatedDocs.js.map +0 -1
  1363. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js.map +0 -1
  1364. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js.map +0 -1
  1365. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js.map +0 -1
  1366. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js.map +0 -1
  1367. package/dist/presentation/features/organisms/FeatureDataViewsList.js.map +0 -1
  1368. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js.map +0 -1
  1369. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js.map +0 -1
  1370. package/dist/presentation/features/organisms/FeatureEventsList.js.map +0 -1
  1371. package/dist/presentation/features/organisms/FeatureFormsList.js.map +0 -1
  1372. package/dist/presentation/features/organisms/FeatureOperationsList.js.map +0 -1
  1373. package/dist/presentation/features/organisms/FeaturePresentationsList.js.map +0 -1
  1374. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js.map +0 -1
  1375. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js.map +0 -1
  1376. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js.map +0 -1
  1377. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js.map +0 -1
  1378. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js.map +0 -1
  1379. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js.map +0 -1
  1380. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js.map +0 -1
  1381. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js.map +0 -1
  1382. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js.map +0 -1
  1383. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js.map +0 -1
  1384. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js.map +0 -1
  1385. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,1697 @@
1
+ // src/components/docs/safety/SafetyOverviewPage.tsx
2
+ import Link from "@contractspec/lib.ui-link";
3
+ import { ChevronRight } from "lucide-react";
4
+ import { jsxDEV } from "react/jsx-dev-runtime";
5
+ function SafetyOverviewPage() {
6
+ return /* @__PURE__ */ jsxDEV("div", {
7
+ className: "space-y-8",
8
+ children: [
9
+ /* @__PURE__ */ jsxDEV("div", {
10
+ className: "space-y-4",
11
+ children: [
12
+ /* @__PURE__ */ jsxDEV("h1", {
13
+ className: "text-4xl font-bold",
14
+ children: "Safety Overview"
15
+ }, undefined, false, undefined, this),
16
+ /* @__PURE__ */ jsxDEV("p", {
17
+ className: "text-muted-foreground",
18
+ children: [
19
+ "ContractSpec is designed with ",
20
+ /* @__PURE__ */ jsxDEV("strong", {
21
+ children: "safety by default"
22
+ }, undefined, false, undefined, this),
23
+ ". Every operation is governed by policies, every change is audited, and every deployment is reversible. This section covers the core safety mechanisms that protect your application and data."
24
+ ]
25
+ }, undefined, true, undefined, this)
26
+ ]
27
+ }, undefined, true, undefined, this),
28
+ /* @__PURE__ */ jsxDEV("div", {
29
+ className: "space-y-4",
30
+ children: [
31
+ /* @__PURE__ */ jsxDEV("h2", {
32
+ className: "text-2xl font-bold",
33
+ children: "Core safety features"
34
+ }, undefined, false, undefined, this),
35
+ /* @__PURE__ */ jsxDEV("div", {
36
+ className: "space-y-6",
37
+ children: [
38
+ /* @__PURE__ */ jsxDEV("div", {
39
+ className: "space-y-2",
40
+ children: [
41
+ /* @__PURE__ */ jsxDEV("h3", {
42
+ className: "text-xl font-semibold",
43
+ children: /* @__PURE__ */ jsxDEV(Link, {
44
+ href: "/docs/safety/signing",
45
+ className: "text-violet-400 hover:text-violet-300",
46
+ children: "Spec Signing"
47
+ }, undefined, false, undefined, this)
48
+ }, undefined, false, undefined, this),
49
+ /* @__PURE__ */ jsxDEV("p", {
50
+ className: "text-muted-foreground",
51
+ children: "All specifications are cryptographically signed before deployment. This ensures that only authorized changes reach production and that specs cannot be tampered with in transit or at rest. Signatures are verified at runtime, and unsigned specs are rejected."
52
+ }, undefined, false, undefined, this)
53
+ ]
54
+ }, undefined, true, undefined, this),
55
+ /* @__PURE__ */ jsxDEV("div", {
56
+ className: "space-y-2",
57
+ children: [
58
+ /* @__PURE__ */ jsxDEV("h3", {
59
+ className: "text-xl font-semibold",
60
+ children: /* @__PURE__ */ jsxDEV(Link, {
61
+ href: "/docs/safety/pdp",
62
+ className: "text-violet-400 hover:text-violet-300",
63
+ children: "Policy Decision Points (PDP)"
64
+ }, undefined, false, undefined, this)
65
+ }, undefined, false, undefined, this),
66
+ /* @__PURE__ */ jsxDEV("p", {
67
+ className: "text-muted-foreground",
68
+ children: "Every API call, UI render, and data access passes through a centralized Policy Decision Point. The PDP evaluates attribute-based access control (ABAC) rules and PII policies to determine whether the operation is allowed. This ensures consistent enforcement across your entire application."
69
+ }, undefined, false, undefined, this)
70
+ ]
71
+ }, undefined, true, undefined, this),
72
+ /* @__PURE__ */ jsxDEV("div", {
73
+ className: "space-y-2",
74
+ children: [
75
+ /* @__PURE__ */ jsxDEV("h3", {
76
+ className: "text-xl font-semibold",
77
+ children: /* @__PURE__ */ jsxDEV(Link, {
78
+ href: "/docs/safety/auditing",
79
+ className: "text-violet-400 hover:text-violet-300",
80
+ children: "Audit Logs"
81
+ }, undefined, false, undefined, this)
82
+ }, undefined, false, undefined, this),
83
+ /* @__PURE__ */ jsxDEV("p", {
84
+ className: "text-muted-foreground",
85
+ children: "ContractSpec automatically records every operation in tamper-evident audit logs. These logs capture who did what, when, and why—including policy decisions, data access, and administrative actions. Audit logs are essential for compliance, security investigations, and debugging."
86
+ }, undefined, false, undefined, this)
87
+ ]
88
+ }, undefined, true, undefined, this),
89
+ /* @__PURE__ */ jsxDEV("div", {
90
+ className: "space-y-2",
91
+ children: [
92
+ /* @__PURE__ */ jsxDEV("h3", {
93
+ className: "text-xl font-semibold",
94
+ children: /* @__PURE__ */ jsxDEV(Link, {
95
+ href: "/docs/safety/migrations",
96
+ className: "text-violet-400 hover:text-violet-300",
97
+ children: "Migrations"
98
+ }, undefined, false, undefined, this)
99
+ }, undefined, false, undefined, this),
100
+ /* @__PURE__ */ jsxDEV("p", {
101
+ className: "text-muted-foreground",
102
+ children: [
103
+ "Schema and data migrations are managed through",
104
+ " ",
105
+ /* @__PURE__ */ jsxDEV("strong", {
106
+ children: "MigrationSpecs"
107
+ }, undefined, false, undefined, this),
108
+ ". Each migration is versioned, reversible, and tested before deployment. This allows you to evolve your application safely without downtime or data loss."
109
+ ]
110
+ }, undefined, true, undefined, this)
111
+ ]
112
+ }, undefined, true, undefined, this),
113
+ /* @__PURE__ */ jsxDEV("div", {
114
+ className: "space-y-2",
115
+ children: [
116
+ /* @__PURE__ */ jsxDEV("h3", {
117
+ className: "text-xl font-semibold",
118
+ children: "Dark Launch & Rollback"
119
+ }, undefined, false, undefined, this),
120
+ /* @__PURE__ */ jsxDEV("p", {
121
+ className: "text-muted-foreground",
122
+ children: 'New features can be deployed in "dark launch" mode, where they run in production but are not visible to users. This allows you to test performance and correctness with real traffic before enabling the feature. If issues arise, you can instantly roll back to the previous version without redeploying.'
123
+ }, undefined, false, undefined, this)
124
+ ]
125
+ }, undefined, true, undefined, this),
126
+ /* @__PURE__ */ jsxDEV("div", {
127
+ className: "space-y-2",
128
+ children: [
129
+ /* @__PURE__ */ jsxDEV("h3", {
130
+ className: "text-xl font-semibold",
131
+ children: "Data Classification"
132
+ }, undefined, false, undefined, this),
133
+ /* @__PURE__ */ jsxDEV("p", {
134
+ className: "text-muted-foreground",
135
+ children: "Fields in your specs can be tagged with sensitivity levels (e.g., PII, PHI, confidential). The policy engine uses these tags to enforce access controls, redaction rules, and data retention policies automatically. This reduces the risk of accidental data leaks."
136
+ }, undefined, false, undefined, this)
137
+ ]
138
+ }, undefined, true, undefined, this)
139
+ ]
140
+ }, undefined, true, undefined, this)
141
+ ]
142
+ }, undefined, true, undefined, this),
143
+ /* @__PURE__ */ jsxDEV("div", {
144
+ className: "space-y-4",
145
+ children: [
146
+ /* @__PURE__ */ jsxDEV("h2", {
147
+ className: "text-2xl font-bold",
148
+ children: "Why safety matters"
149
+ }, undefined, false, undefined, this),
150
+ /* @__PURE__ */ jsxDEV("p", {
151
+ className: "text-muted-foreground",
152
+ children: "Modern applications handle sensitive data and critical operations. A single bug or misconfiguration can lead to data breaches, compliance violations, or service outages. ContractSpec's safety features are not optional add-ons—they are built into the core platform and enforced automatically."
153
+ }, undefined, false, undefined, this),
154
+ /* @__PURE__ */ jsxDEV("p", {
155
+ className: "text-muted-foreground",
156
+ children: "By making safety the default, ContractSpec allows you to move fast without breaking things. You can deploy new features confidently, knowing that policies are enforced, changes are audited, and rollbacks are always available."
157
+ }, undefined, false, undefined, this)
158
+ ]
159
+ }, undefined, true, undefined, this),
160
+ /* @__PURE__ */ jsxDEV("div", {
161
+ className: "space-y-4",
162
+ children: [
163
+ /* @__PURE__ */ jsxDEV("h2", {
164
+ className: "text-2xl font-bold",
165
+ children: "Next steps"
166
+ }, undefined, false, undefined, this),
167
+ /* @__PURE__ */ jsxDEV("p", {
168
+ className: "text-muted-foreground",
169
+ children: "Explore each safety feature in detail using the links above, or continue with the advanced topics:"
170
+ }, undefined, false, undefined, this),
171
+ /* @__PURE__ */ jsxDEV("div", {
172
+ className: "flex flex-wrap gap-4 pt-4",
173
+ children: [
174
+ /* @__PURE__ */ jsxDEV(Link, {
175
+ href: "/docs/safety/signing",
176
+ className: "btn-primary",
177
+ children: [
178
+ "Spec Signing ",
179
+ /* @__PURE__ */ jsxDEV(ChevronRight, {
180
+ size: 16,
181
+ className: "inline"
182
+ }, undefined, false, undefined, this)
183
+ ]
184
+ }, undefined, true, undefined, this),
185
+ /* @__PURE__ */ jsxDEV(Link, {
186
+ href: "/docs/safety/pdp",
187
+ className: "btn-ghost",
188
+ children: [
189
+ "Policy Decision Points ",
190
+ /* @__PURE__ */ jsxDEV(ChevronRight, {
191
+ size: 16,
192
+ className: "inline"
193
+ }, undefined, false, undefined, this)
194
+ ]
195
+ }, undefined, true, undefined, this),
196
+ /* @__PURE__ */ jsxDEV(Link, {
197
+ href: "/docs/safety/auditing",
198
+ className: "btn-ghost",
199
+ children: [
200
+ "Audit Logs ",
201
+ /* @__PURE__ */ jsxDEV(ChevronRight, {
202
+ size: 16,
203
+ className: "inline"
204
+ }, undefined, false, undefined, this)
205
+ ]
206
+ }, undefined, true, undefined, this),
207
+ /* @__PURE__ */ jsxDEV(Link, {
208
+ href: "/docs/safety/migrations",
209
+ className: "btn-ghost",
210
+ children: [
211
+ "Migrations ",
212
+ /* @__PURE__ */ jsxDEV(ChevronRight, {
213
+ size: 16,
214
+ className: "inline"
215
+ }, undefined, false, undefined, this)
216
+ ]
217
+ }, undefined, true, undefined, this),
218
+ /* @__PURE__ */ jsxDEV(Link, {
219
+ href: "/docs/safety/security-trust",
220
+ className: "btn-ghost",
221
+ children: [
222
+ "Security & Trust ",
223
+ /* @__PURE__ */ jsxDEV(ChevronRight, {
224
+ size: 16,
225
+ className: "inline"
226
+ }, undefined, false, undefined, this)
227
+ ]
228
+ }, undefined, true, undefined, this)
229
+ ]
230
+ }, undefined, true, undefined, this)
231
+ ]
232
+ }, undefined, true, undefined, this)
233
+ ]
234
+ }, undefined, true, undefined, this);
235
+ }
236
+
237
+ // src/components/docs/safety/SafetySigningPage.tsx
238
+ import Link2 from "@contractspec/lib.ui-link";
239
+ import { ChevronRight as ChevronRight2 } from "lucide-react";
240
+ import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
241
+ function SafetySigningPage() {
242
+ return /* @__PURE__ */ jsxDEV2("div", {
243
+ className: "space-y-8",
244
+ children: [
245
+ /* @__PURE__ */ jsxDEV2("div", {
246
+ className: "space-y-2",
247
+ children: [
248
+ /* @__PURE__ */ jsxDEV2("h1", {
249
+ className: "text-4xl font-bold",
250
+ children: "Spec Signing"
251
+ }, undefined, false, undefined, this),
252
+ /* @__PURE__ */ jsxDEV2("p", {
253
+ className: "text-muted-foreground text-lg",
254
+ children: "Signing ensures specs haven't been tampered with and provides an audit trail of all changes."
255
+ }, undefined, false, undefined, this)
256
+ ]
257
+ }, undefined, true, undefined, this),
258
+ /* @__PURE__ */ jsxDEV2("div", {
259
+ className: "space-y-6",
260
+ children: [
261
+ /* @__PURE__ */ jsxDEV2("div", {
262
+ className: "space-y-3",
263
+ children: [
264
+ /* @__PURE__ */ jsxDEV2("h2", {
265
+ className: "text-2xl font-bold",
266
+ children: "How it works"
267
+ }, undefined, false, undefined, this),
268
+ /* @__PURE__ */ jsxDEV2("p", {
269
+ className: "text-muted-foreground",
270
+ children: "Every spec is cryptographically signed before deployment. The signature proves that the spec hasn't been modified since it was signed and creates a permanent record of who deployed it and when."
271
+ }, undefined, false, undefined, this)
272
+ ]
273
+ }, undefined, true, undefined, this),
274
+ /* @__PURE__ */ jsxDEV2("div", {
275
+ className: "space-y-3",
276
+ children: [
277
+ /* @__PURE__ */ jsxDEV2("h2", {
278
+ className: "text-2xl font-bold",
279
+ children: "Signing a spec"
280
+ }, undefined, false, undefined, this),
281
+ /* @__PURE__ */ jsxDEV2("div", {
282
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
283
+ children: /* @__PURE__ */ jsxDEV2("pre", {
284
+ children: `contractspec sign app.spec.ts --key ~/.contractspec/key.pem
285
+ contractspec deploy --signed app.spec.ts.signed`
286
+ }, undefined, false, undefined, this)
287
+ }, undefined, false, undefined, this)
288
+ ]
289
+ }, undefined, true, undefined, this),
290
+ /* @__PURE__ */ jsxDEV2("div", {
291
+ className: "space-y-3",
292
+ children: [
293
+ /* @__PURE__ */ jsxDEV2("h2", {
294
+ className: "text-2xl font-bold",
295
+ children: "Verifying signatures"
296
+ }, undefined, false, undefined, this),
297
+ /* @__PURE__ */ jsxDEV2("div", {
298
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
299
+ children: /* @__PURE__ */ jsxDEV2("pre", {
300
+ children: `contractspec verify app.spec.ts.signed
301
+ # Output: ✓ Signature valid
302
+ # Signed by: alice@example.com
303
+ # Timestamp: 2024-11-08T10:30:00Z`
304
+ }, undefined, false, undefined, this)
305
+ }, undefined, false, undefined, this)
306
+ ]
307
+ }, undefined, true, undefined, this),
308
+ /* @__PURE__ */ jsxDEV2("div", {
309
+ className: "flex items-center gap-4 pt-4",
310
+ children: /* @__PURE__ */ jsxDEV2(Link2, {
311
+ href: "/docs/safety/pdp",
312
+ className: "btn-primary",
313
+ children: [
314
+ "Next: Policy Decision Points ",
315
+ /* @__PURE__ */ jsxDEV2(ChevronRight2, {
316
+ size: 16
317
+ }, undefined, false, undefined, this)
318
+ ]
319
+ }, undefined, true, undefined, this)
320
+ }, undefined, false, undefined, this)
321
+ ]
322
+ }, undefined, true, undefined, this)
323
+ ]
324
+ }, undefined, true, undefined, this);
325
+ }
326
+
327
+ // src/components/docs/safety/SafetyAuditingPage.tsx
328
+ import Link3 from "@contractspec/lib.ui-link";
329
+ import { ChevronRight as ChevronRight3 } from "lucide-react";
330
+ import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
331
+ function SafetyAuditingPage() {
332
+ return /* @__PURE__ */ jsxDEV3("div", {
333
+ className: "space-y-8",
334
+ children: [
335
+ /* @__PURE__ */ jsxDEV3("div", {
336
+ className: "space-y-4",
337
+ children: [
338
+ /* @__PURE__ */ jsxDEV3("h1", {
339
+ className: "text-4xl font-bold",
340
+ children: "Audit Logs"
341
+ }, undefined, false, undefined, this),
342
+ /* @__PURE__ */ jsxDEV3("p", {
343
+ className: "text-muted-foreground",
344
+ children: [
345
+ "An ",
346
+ /* @__PURE__ */ jsxDEV3("strong", {
347
+ children: "audit log"
348
+ }, undefined, false, undefined, this),
349
+ " (also called an audit trail) is a chronological record of system activities. According to",
350
+ " ",
351
+ /* @__PURE__ */ jsxDEV3("a", {
352
+ href: "https://www.sumologic.com/glossary/audit-log/",
353
+ target: "_blank",
354
+ rel: "noopener noreferrer",
355
+ className: "text-violet-400 hover:text-violet-300",
356
+ children: "Sumo Logic"
357
+ }, undefined, false, undefined, this),
358
+ ', audit logs "provide a detailed record of events and changes within a system, enabling organizations to track user actions, system changes, and access to sensitive data."'
359
+ ]
360
+ }, undefined, true, undefined, this)
361
+ ]
362
+ }, undefined, true, undefined, this),
363
+ /* @__PURE__ */ jsxDEV3("div", {
364
+ className: "space-y-4",
365
+ children: [
366
+ /* @__PURE__ */ jsxDEV3("h2", {
367
+ className: "text-2xl font-bold",
368
+ children: "Why audit logs matter"
369
+ }, undefined, false, undefined, this),
370
+ /* @__PURE__ */ jsxDEV3("div", {
371
+ className: "space-y-3",
372
+ children: [
373
+ /* @__PURE__ */ jsxDEV3("div", {
374
+ children: [
375
+ /* @__PURE__ */ jsxDEV3("h3", {
376
+ className: "text-lg font-semibold",
377
+ children: "Accountability"
378
+ }, undefined, false, undefined, this),
379
+ /* @__PURE__ */ jsxDEV3("p", {
380
+ className: "text-muted-foreground",
381
+ children: 'Audit logs answer the question "who did what, when?" This is essential for holding users and administrators accountable for their actions. If data is deleted or modified, the audit log shows exactly who made the change.'
382
+ }, undefined, false, undefined, this)
383
+ ]
384
+ }, undefined, true, undefined, this),
385
+ /* @__PURE__ */ jsxDEV3("div", {
386
+ children: [
387
+ /* @__PURE__ */ jsxDEV3("h3", {
388
+ className: "text-lg font-semibold",
389
+ children: "Security"
390
+ }, undefined, false, undefined, this),
391
+ /* @__PURE__ */ jsxDEV3("p", {
392
+ className: "text-muted-foreground",
393
+ children: "Audit logs help detect and investigate security incidents. For example, if an attacker gains unauthorized access, the logs reveal which resources they accessed and what actions they performed. This information is critical for incident response and forensics."
394
+ }, undefined, false, undefined, this)
395
+ ]
396
+ }, undefined, true, undefined, this),
397
+ /* @__PURE__ */ jsxDEV3("div", {
398
+ children: [
399
+ /* @__PURE__ */ jsxDEV3("h3", {
400
+ className: "text-lg font-semibold",
401
+ children: "Compliance"
402
+ }, undefined, false, undefined, this),
403
+ /* @__PURE__ */ jsxDEV3("p", {
404
+ className: "text-muted-foreground",
405
+ children: "Many regulations (GDPR, HIPAA, SOC 2, PCI DSS) require organizations to maintain audit logs. These logs must be tamper-evident, retained for a specified period, and available for inspection by auditors."
406
+ }, undefined, false, undefined, this)
407
+ ]
408
+ }, undefined, true, undefined, this),
409
+ /* @__PURE__ */ jsxDEV3("div", {
410
+ children: [
411
+ /* @__PURE__ */ jsxDEV3("h3", {
412
+ className: "text-lg font-semibold",
413
+ children: "Debugging"
414
+ }, undefined, false, undefined, this),
415
+ /* @__PURE__ */ jsxDEV3("p", {
416
+ className: "text-muted-foreground",
417
+ children: "When something goes wrong in production, audit logs provide a detailed timeline of events leading up to the failure. This makes it much easier to diagnose and fix issues."
418
+ }, undefined, false, undefined, this)
419
+ ]
420
+ }, undefined, true, undefined, this)
421
+ ]
422
+ }, undefined, true, undefined, this)
423
+ ]
424
+ }, undefined, true, undefined, this),
425
+ /* @__PURE__ */ jsxDEV3("div", {
426
+ className: "space-y-4",
427
+ children: [
428
+ /* @__PURE__ */ jsxDEV3("h2", {
429
+ className: "text-2xl font-bold",
430
+ children: "What ContractSpec logs"
431
+ }, undefined, false, undefined, this),
432
+ /* @__PURE__ */ jsxDEV3("p", {
433
+ className: "text-muted-foreground",
434
+ children: "ContractSpec automatically logs every significant operation, including:"
435
+ }, undefined, false, undefined, this),
436
+ /* @__PURE__ */ jsxDEV3("ul", {
437
+ className: "text-muted-foreground list-inside list-disc space-y-2",
438
+ children: [
439
+ /* @__PURE__ */ jsxDEV3("li", {
440
+ children: [
441
+ /* @__PURE__ */ jsxDEV3("strong", {
442
+ children: "API calls"
443
+ }, undefined, false, undefined, this),
444
+ " – Every invocation of a capability, including inputs, outputs, and the user who made the call."
445
+ ]
446
+ }, undefined, true, undefined, this),
447
+ /* @__PURE__ */ jsxDEV3("li", {
448
+ children: [
449
+ /* @__PURE__ */ jsxDEV3("strong", {
450
+ children: "Policy decisions"
451
+ }, undefined, false, undefined, this),
452
+ " – Every decision made by the",
453
+ " ",
454
+ /* @__PURE__ */ jsxDEV3(Link3, {
455
+ href: "/docs/safety/pdp",
456
+ className: "text-violet-400 hover:text-violet-300",
457
+ children: "Policy Decision Point"
458
+ }, undefined, false, undefined, this),
459
+ ", including the rule that matched and the reason for the decision."
460
+ ]
461
+ }, undefined, true, undefined, this),
462
+ /* @__PURE__ */ jsxDEV3("li", {
463
+ children: [
464
+ /* @__PURE__ */ jsxDEV3("strong", {
465
+ children: "Data access"
466
+ }, undefined, false, undefined, this),
467
+ " – Every query to a data view, including which fields were accessed and whether any were redacted."
468
+ ]
469
+ }, undefined, true, undefined, this),
470
+ /* @__PURE__ */ jsxDEV3("li", {
471
+ children: [
472
+ /* @__PURE__ */ jsxDEV3("strong", {
473
+ children: "Workflow execution"
474
+ }, undefined, false, undefined, this),
475
+ " – Every step in a workflow, including retries, compensations, and failures."
476
+ ]
477
+ }, undefined, true, undefined, this),
478
+ /* @__PURE__ */ jsxDEV3("li", {
479
+ children: [
480
+ /* @__PURE__ */ jsxDEV3("strong", {
481
+ children: "Administrative actions"
482
+ }, undefined, false, undefined, this),
483
+ " – Spec deployments, configuration changes, user role assignments, and other privileged operations."
484
+ ]
485
+ }, undefined, true, undefined, this),
486
+ /* @__PURE__ */ jsxDEV3("li", {
487
+ children: [
488
+ /* @__PURE__ */ jsxDEV3("strong", {
489
+ children: "Authentication events"
490
+ }, undefined, false, undefined, this),
491
+ " – Login attempts, password resets, and session expirations."
492
+ ]
493
+ }, undefined, true, undefined, this)
494
+ ]
495
+ }, undefined, true, undefined, this)
496
+ ]
497
+ }, undefined, true, undefined, this),
498
+ /* @__PURE__ */ jsxDEV3("div", {
499
+ className: "space-y-4",
500
+ children: [
501
+ /* @__PURE__ */ jsxDEV3("h2", {
502
+ className: "text-2xl font-bold",
503
+ children: "Audit log format"
504
+ }, undefined, false, undefined, this),
505
+ /* @__PURE__ */ jsxDEV3("p", {
506
+ className: "text-muted-foreground",
507
+ children: "Each audit log entry is a structured JSON object containing:"
508
+ }, undefined, false, undefined, this),
509
+ /* @__PURE__ */ jsxDEV3("div", {
510
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
511
+ children: /* @__PURE__ */ jsxDEV3("pre", {
512
+ children: `{
513
+ "timestamp": "2025-11-13T14:32:15.123Z",
514
+ "eventId": "evt_abc123",
515
+ "eventType": "capability.invoked",
516
+ "actor": {
517
+ "userId": "user_xyz789",
518
+ "role": "admin",
519
+ "ipAddress": "203.0.113.42"
520
+ },
521
+ "resource": {
522
+ "type": "capability",
523
+ "id": "transferFunds",
524
+ "version": "1.2.0"
525
+ },
526
+ "action": "execute",
527
+ "result": "success",
528
+ "metadata": {
529
+ "inputs": {
530
+ "recipient": "user_def456",
531
+ "amount": 100.00
532
+ },
533
+ "outputs": {
534
+ "transactionId": "txn_ghi789",
535
+ "timestamp": "2025-11-13T14:32:15.456Z"
536
+ }
537
+ },
538
+ "policyDecision": {
539
+ "decision": "PERMIT",
540
+ "ruleId": "allow-admin-transfers",
541
+ "reason": "User has admin role"
542
+ }
543
+ }`
544
+ }, undefined, false, undefined, this)
545
+ }, undefined, false, undefined, this)
546
+ ]
547
+ }, undefined, true, undefined, this),
548
+ /* @__PURE__ */ jsxDEV3("div", {
549
+ className: "space-y-4",
550
+ children: [
551
+ /* @__PURE__ */ jsxDEV3("h2", {
552
+ className: "text-2xl font-bold",
553
+ children: "Storage and retention"
554
+ }, undefined, false, undefined, this),
555
+ /* @__PURE__ */ jsxDEV3("p", {
556
+ className: "text-muted-foreground",
557
+ children: "Audit logs are stored in a tamper-evident append-only log. Once written, entries cannot be modified or deleted. This ensures the integrity of the audit trail."
558
+ }, undefined, false, undefined, this),
559
+ /* @__PURE__ */ jsxDEV3("p", {
560
+ className: "text-muted-foreground",
561
+ children: "ContractSpec supports multiple storage backends:"
562
+ }, undefined, false, undefined, this),
563
+ /* @__PURE__ */ jsxDEV3("ul", {
564
+ className: "text-muted-foreground list-inside list-disc space-y-2",
565
+ children: [
566
+ /* @__PURE__ */ jsxDEV3("li", {
567
+ children: [
568
+ /* @__PURE__ */ jsxDEV3("strong", {
569
+ children: "Local file system"
570
+ }, undefined, false, undefined, this),
571
+ " – For development and testing."
572
+ ]
573
+ }, undefined, true, undefined, this),
574
+ /* @__PURE__ */ jsxDEV3("li", {
575
+ children: [
576
+ /* @__PURE__ */ jsxDEV3("strong", {
577
+ children: "Cloud object storage"
578
+ }, undefined, false, undefined, this),
579
+ " – S3, GCS, or Azure Blob Storage for production."
580
+ ]
581
+ }, undefined, true, undefined, this),
582
+ /* @__PURE__ */ jsxDEV3("li", {
583
+ children: [
584
+ /* @__PURE__ */ jsxDEV3("strong", {
585
+ children: "SIEM integration"
586
+ }, undefined, false, undefined, this),
587
+ " – Forward logs to Splunk, Datadog, or other security information and event management systems."
588
+ ]
589
+ }, undefined, true, undefined, this)
590
+ ]
591
+ }, undefined, true, undefined, this),
592
+ /* @__PURE__ */ jsxDEV3("p", {
593
+ className: "text-muted-foreground",
594
+ children: "You can configure retention policies to automatically archive or delete old logs after a specified period (e.g., 7 years for GDPR compliance)."
595
+ }, undefined, false, undefined, this)
596
+ ]
597
+ }, undefined, true, undefined, this),
598
+ /* @__PURE__ */ jsxDEV3("div", {
599
+ className: "space-y-4",
600
+ children: [
601
+ /* @__PURE__ */ jsxDEV3("h2", {
602
+ className: "text-2xl font-bold",
603
+ children: "Querying audit logs"
604
+ }, undefined, false, undefined, this),
605
+ /* @__PURE__ */ jsxDEV3("p", {
606
+ className: "text-muted-foreground",
607
+ children: "ContractSpec provides a query API for searching audit logs. You can filter by:"
608
+ }, undefined, false, undefined, this),
609
+ /* @__PURE__ */ jsxDEV3("ul", {
610
+ className: "text-muted-foreground list-inside list-disc space-y-2",
611
+ children: [
612
+ /* @__PURE__ */ jsxDEV3("li", {
613
+ children: "Time range"
614
+ }, undefined, false, undefined, this),
615
+ /* @__PURE__ */ jsxDEV3("li", {
616
+ children: "Event type"
617
+ }, undefined, false, undefined, this),
618
+ /* @__PURE__ */ jsxDEV3("li", {
619
+ children: "Actor (user ID, role, IP address)"
620
+ }, undefined, false, undefined, this),
621
+ /* @__PURE__ */ jsxDEV3("li", {
622
+ children: "Resource (capability, data view, workflow)"
623
+ }, undefined, false, undefined, this),
624
+ /* @__PURE__ */ jsxDEV3("li", {
625
+ children: "Result (success, failure, denied)"
626
+ }, undefined, false, undefined, this)
627
+ ]
628
+ }, undefined, true, undefined, this),
629
+ /* @__PURE__ */ jsxDEV3("p", {
630
+ className: "text-muted-foreground",
631
+ children: 'Example query: "Show all failed login attempts from IP address 203.0.113.42 in the last 24 hours."'
632
+ }, undefined, false, undefined, this)
633
+ ]
634
+ }, undefined, true, undefined, this),
635
+ /* @__PURE__ */ jsxDEV3("div", {
636
+ className: "space-y-4",
637
+ children: [
638
+ /* @__PURE__ */ jsxDEV3("h2", {
639
+ className: "text-2xl font-bold",
640
+ children: "Best practices"
641
+ }, undefined, false, undefined, this),
642
+ /* @__PURE__ */ jsxDEV3("ul", {
643
+ className: "text-muted-foreground list-inside list-disc space-y-2",
644
+ children: [
645
+ /* @__PURE__ */ jsxDEV3("li", {
646
+ children: [
647
+ /* @__PURE__ */ jsxDEV3("strong", {
648
+ children: "Review logs regularly"
649
+ }, undefined, false, undefined, this),
650
+ " – Set up alerts for suspicious activity (e.g., repeated failed login attempts, unauthorized access attempts)."
651
+ ]
652
+ }, undefined, true, undefined, this),
653
+ /* @__PURE__ */ jsxDEV3("li", {
654
+ children: [
655
+ /* @__PURE__ */ jsxDEV3("strong", {
656
+ children: "Protect log access"
657
+ }, undefined, false, undefined, this),
658
+ " – Only authorized personnel should be able to view audit logs. Use role-based access control to restrict access."
659
+ ]
660
+ }, undefined, true, undefined, this),
661
+ /* @__PURE__ */ jsxDEV3("li", {
662
+ children: [
663
+ /* @__PURE__ */ jsxDEV3("strong", {
664
+ children: "Retain logs long enough"
665
+ }, undefined, false, undefined, this),
666
+ " – Check your compliance requirements and configure retention policies accordingly."
667
+ ]
668
+ }, undefined, true, undefined, this),
669
+ /* @__PURE__ */ jsxDEV3("li", {
670
+ children: [
671
+ /* @__PURE__ */ jsxDEV3("strong", {
672
+ children: "Test log integrity"
673
+ }, undefined, false, undefined, this),
674
+ " – Periodically verify that logs have not been tampered with by checking cryptographic signatures."
675
+ ]
676
+ }, undefined, true, undefined, this)
677
+ ]
678
+ }, undefined, true, undefined, this)
679
+ ]
680
+ }, undefined, true, undefined, this),
681
+ /* @__PURE__ */ jsxDEV3("div", {
682
+ className: "flex items-center gap-4 pt-4",
683
+ children: [
684
+ /* @__PURE__ */ jsxDEV3(Link3, {
685
+ href: "/docs/safety/pdp",
686
+ className: "btn-ghost",
687
+ children: "Previous: Policy Decision Points"
688
+ }, undefined, false, undefined, this),
689
+ /* @__PURE__ */ jsxDEV3(Link3, {
690
+ href: "/docs/safety/migrations",
691
+ className: "btn-primary",
692
+ children: [
693
+ "Next: Migrations ",
694
+ /* @__PURE__ */ jsxDEV3(ChevronRight3, {
695
+ size: 16
696
+ }, undefined, false, undefined, this)
697
+ ]
698
+ }, undefined, true, undefined, this)
699
+ ]
700
+ }, undefined, true, undefined, this)
701
+ ]
702
+ }, undefined, true, undefined, this);
703
+ }
704
+
705
+ // src/components/docs/safety/SafetyMigrationsPage.tsx
706
+ import Link4 from "@contractspec/lib.ui-link";
707
+ import { ChevronRight as ChevronRight4 } from "lucide-react";
708
+ import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
709
+ function SafetyMigrationsPage() {
710
+ return /* @__PURE__ */ jsxDEV4("div", {
711
+ className: "space-y-8",
712
+ children: [
713
+ /* @__PURE__ */ jsxDEV4("div", {
714
+ className: "space-y-4",
715
+ children: [
716
+ /* @__PURE__ */ jsxDEV4("h1", {
717
+ className: "text-4xl font-bold",
718
+ children: "Migrations"
719
+ }, undefined, false, undefined, this),
720
+ /* @__PURE__ */ jsxDEV4("p", {
721
+ className: "text-muted-foreground",
722
+ children: [
723
+ "A ",
724
+ /* @__PURE__ */ jsxDEV4("strong", {
725
+ children: "schema migration"
726
+ }, undefined, false, undefined, this),
727
+ " (also called a database migration) is a set of incremental, reversible changes to a database schema. According to",
728
+ " ",
729
+ /* @__PURE__ */ jsxDEV4("a", {
730
+ href: "https://en.wikipedia.org/wiki/Schema_migration",
731
+ target: "_blank",
732
+ rel: "noopener noreferrer",
733
+ className: "text-violet-400 hover:text-violet-300",
734
+ children: "Wikipedia"
735
+ }, undefined, false, undefined, this),
736
+ `, schema migrations "allow the database schema to evolve as the application's requirements change, while preserving existing data."`
737
+ ]
738
+ }, undefined, true, undefined, this)
739
+ ]
740
+ }, undefined, true, undefined, this),
741
+ /* @__PURE__ */ jsxDEV4("div", {
742
+ className: "space-y-4",
743
+ children: [
744
+ /* @__PURE__ */ jsxDEV4("h2", {
745
+ className: "text-2xl font-bold",
746
+ children: "Why migrations matter"
747
+ }, undefined, false, undefined, this),
748
+ /* @__PURE__ */ jsxDEV4("p", {
749
+ className: "text-muted-foreground",
750
+ children: "As your application evolves, you'll need to change your data model—adding new fields, renaming tables, changing data types, or restructuring relationships. Without a disciplined approach, these changes can lead to:"
751
+ }, undefined, false, undefined, this),
752
+ /* @__PURE__ */ jsxDEV4("ul", {
753
+ className: "text-muted-foreground list-inside list-disc space-y-2",
754
+ children: [
755
+ /* @__PURE__ */ jsxDEV4("li", {
756
+ children: "Data loss or corruption"
757
+ }, undefined, false, undefined, this),
758
+ /* @__PURE__ */ jsxDEV4("li", {
759
+ children: "Downtime during deployments"
760
+ }, undefined, false, undefined, this),
761
+ /* @__PURE__ */ jsxDEV4("li", {
762
+ children: "Inconsistencies between environments (dev, staging, production)"
763
+ }, undefined, false, undefined, this),
764
+ /* @__PURE__ */ jsxDEV4("li", {
765
+ children: "Difficulty rolling back failed changes"
766
+ }, undefined, false, undefined, this)
767
+ ]
768
+ }, undefined, true, undefined, this),
769
+ /* @__PURE__ */ jsxDEV4("p", {
770
+ className: "text-muted-foreground",
771
+ children: "Migrations solve these problems by treating schema changes as versioned, tested, and reversible operations."
772
+ }, undefined, false, undefined, this)
773
+ ]
774
+ }, undefined, true, undefined, this),
775
+ /* @__PURE__ */ jsxDEV4("div", {
776
+ className: "space-y-4",
777
+ children: [
778
+ /* @__PURE__ */ jsxDEV4("h2", {
779
+ className: "text-2xl font-bold",
780
+ children: "How MigrationSpec works"
781
+ }, undefined, false, undefined, this),
782
+ /* @__PURE__ */ jsxDEV4("p", {
783
+ className: "text-muted-foreground",
784
+ children: [
785
+ "In ContractSpec, migrations are defined using",
786
+ " ",
787
+ /* @__PURE__ */ jsxDEV4("strong", {
788
+ children: "MigrationSpec"
789
+ }, undefined, false, undefined, this),
790
+ ". Each migration has:"
791
+ ]
792
+ }, undefined, true, undefined, this),
793
+ /* @__PURE__ */ jsxDEV4("ul", {
794
+ className: "text-muted-foreground list-inside list-disc space-y-2",
795
+ children: [
796
+ /* @__PURE__ */ jsxDEV4("li", {
797
+ children: [
798
+ /* @__PURE__ */ jsxDEV4("strong", {
799
+ children: "Version"
800
+ }, undefined, false, undefined, this),
801
+ ' – A unique identifier (e.g., "2025-11-13-001") that determines the order of execution.'
802
+ ]
803
+ }, undefined, true, undefined, this),
804
+ /* @__PURE__ */ jsxDEV4("li", {
805
+ children: [
806
+ /* @__PURE__ */ jsxDEV4("strong", {
807
+ children: "Up function"
808
+ }, undefined, false, undefined, this),
809
+ ` – The forward migration that applies the change (e.g., "add column 'email_verified'").`
810
+ ]
811
+ }, undefined, true, undefined, this),
812
+ /* @__PURE__ */ jsxDEV4("li", {
813
+ children: [
814
+ /* @__PURE__ */ jsxDEV4("strong", {
815
+ children: "Down function"
816
+ }, undefined, false, undefined, this),
817
+ ` – The reverse migration that undoes the change (e.g., "drop column 'email_verified'").`
818
+ ]
819
+ }, undefined, true, undefined, this),
820
+ /* @__PURE__ */ jsxDEV4("li", {
821
+ children: [
822
+ /* @__PURE__ */ jsxDEV4("strong", {
823
+ children: "Dependencies"
824
+ }, undefined, false, undefined, this),
825
+ " – Other migrations that must run before this one."
826
+ ]
827
+ }, undefined, true, undefined, this),
828
+ /* @__PURE__ */ jsxDEV4("li", {
829
+ children: [
830
+ /* @__PURE__ */ jsxDEV4("strong", {
831
+ children: "Validation"
832
+ }, undefined, false, undefined, this),
833
+ ' – Optional checks to ensure the migration succeeded (e.g., "verify all users have an email address").'
834
+ ]
835
+ }, undefined, true, undefined, this)
836
+ ]
837
+ }, undefined, true, undefined, this)
838
+ ]
839
+ }, undefined, true, undefined, this),
840
+ /* @__PURE__ */ jsxDEV4("div", {
841
+ className: "space-y-4",
842
+ children: [
843
+ /* @__PURE__ */ jsxDEV4("h2", {
844
+ className: "text-2xl font-bold",
845
+ children: "Example MigrationSpec"
846
+ }, undefined, false, undefined, this),
847
+ /* @__PURE__ */ jsxDEV4("p", {
848
+ className: "text-muted-foreground",
849
+ children: "Here's a migration that adds an email verification field to the users table:"
850
+ }, undefined, false, undefined, this),
851
+ /* @__PURE__ */ jsxDEV4("div", {
852
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
853
+ children: /* @__PURE__ */ jsxDEV4("pre", {
854
+ children: `migrationId: add-email-verified
855
+ version: 2025-11-13-001
856
+ dependencies: []
857
+
858
+ up:
859
+ - sql: |
860
+ ALTER TABLE users
861
+ ADD COLUMN email_verified BOOLEAN DEFAULT FALSE NOT NULL;
862
+ - sql: |
863
+ CREATE INDEX idx_users_email_verified
864
+ ON users(email_verified);
865
+
866
+ down:
867
+ - sql: |
868
+ DROP INDEX idx_users_email_verified;
869
+ - sql: |
870
+ ALTER TABLE users
871
+ DROP COLUMN email_verified;
872
+
873
+ validation:
874
+ - sql: |
875
+ SELECT COUNT(*) FROM users
876
+ WHERE email_verified IS NULL;
877
+ expectZeroRows: true`
878
+ }, undefined, false, undefined, this)
879
+ }, undefined, false, undefined, this)
880
+ ]
881
+ }, undefined, true, undefined, this),
882
+ /* @__PURE__ */ jsxDEV4("div", {
883
+ className: "space-y-4",
884
+ children: [
885
+ /* @__PURE__ */ jsxDEV4("h2", {
886
+ className: "text-2xl font-bold",
887
+ children: "Running migrations"
888
+ }, undefined, false, undefined, this),
889
+ /* @__PURE__ */ jsxDEV4("p", {
890
+ className: "text-muted-foreground",
891
+ children: "Migrations are applied automatically during deployment. The ContractSpec runtime:"
892
+ }, undefined, false, undefined, this),
893
+ /* @__PURE__ */ jsxDEV4("ol", {
894
+ className: "text-muted-foreground list-inside list-decimal space-y-2",
895
+ children: [
896
+ /* @__PURE__ */ jsxDEV4("li", {
897
+ children: "Checks which migrations have already been applied (stored in a migrations table)."
898
+ }, undefined, false, undefined, this),
899
+ /* @__PURE__ */ jsxDEV4("li", {
900
+ children: "Identifies new migrations that need to run."
901
+ }, undefined, false, undefined, this),
902
+ /* @__PURE__ */ jsxDEV4("li", {
903
+ children: "Executes them in order, respecting dependencies."
904
+ }, undefined, false, undefined, this),
905
+ /* @__PURE__ */ jsxDEV4("li", {
906
+ children: "Runs validation checks to ensure success."
907
+ }, undefined, false, undefined, this),
908
+ /* @__PURE__ */ jsxDEV4("li", {
909
+ children: "Records the migration as applied."
910
+ }, undefined, false, undefined, this)
911
+ ]
912
+ }, undefined, true, undefined, this),
913
+ /* @__PURE__ */ jsxDEV4("p", {
914
+ className: "text-muted-foreground",
915
+ children: "If a migration fails, the deployment is aborted, and the system remains in its previous state. You can then fix the migration and redeploy."
916
+ }, undefined, false, undefined, this)
917
+ ]
918
+ }, undefined, true, undefined, this),
919
+ /* @__PURE__ */ jsxDEV4("div", {
920
+ className: "space-y-4",
921
+ children: [
922
+ /* @__PURE__ */ jsxDEV4("h2", {
923
+ className: "text-2xl font-bold",
924
+ children: "Rolling back migrations"
925
+ }, undefined, false, undefined, this),
926
+ /* @__PURE__ */ jsxDEV4("p", {
927
+ className: "text-muted-foreground",
928
+ children: [
929
+ "If you need to roll back a deployment, ContractSpec automatically runs the ",
930
+ /* @__PURE__ */ jsxDEV4("strong", {
931
+ children: "down"
932
+ }, undefined, false, undefined, this),
933
+ " functions of any migrations that were applied. This restores the database to its previous state."
934
+ ]
935
+ }, undefined, true, undefined, this),
936
+ /* @__PURE__ */ jsxDEV4("p", {
937
+ className: "text-muted-foreground",
938
+ children: "Note that rollbacks are not always possible—for example, if you've deleted a column, you cannot recover the data unless you have a backup. For destructive changes, it's best to use a multi-step migration:"
939
+ }, undefined, false, undefined, this),
940
+ /* @__PURE__ */ jsxDEV4("ol", {
941
+ className: "text-muted-foreground list-inside list-decimal space-y-2",
942
+ children: [
943
+ /* @__PURE__ */ jsxDEV4("li", {
944
+ children: "Add the new column (reversible)."
945
+ }, undefined, false, undefined, this),
946
+ /* @__PURE__ */ jsxDEV4("li", {
947
+ children: "Backfill data from the old column to the new column (reversible)."
948
+ }, undefined, false, undefined, this),
949
+ /* @__PURE__ */ jsxDEV4("li", {
950
+ children: "Update application code to use the new column (reversible)."
951
+ }, undefined, false, undefined, this),
952
+ /* @__PURE__ */ jsxDEV4("li", {
953
+ children: "Drop the old column (irreversible—only do this after confirming the new column works)."
954
+ }, undefined, false, undefined, this)
955
+ ]
956
+ }, undefined, true, undefined, this)
957
+ ]
958
+ }, undefined, true, undefined, this),
959
+ /* @__PURE__ */ jsxDEV4("div", {
960
+ className: "space-y-4",
961
+ children: [
962
+ /* @__PURE__ */ jsxDEV4("h2", {
963
+ className: "text-2xl font-bold",
964
+ children: "Best practices"
965
+ }, undefined, false, undefined, this),
966
+ /* @__PURE__ */ jsxDEV4("ul", {
967
+ className: "text-muted-foreground list-inside list-disc space-y-2",
968
+ children: [
969
+ /* @__PURE__ */ jsxDEV4("li", {
970
+ children: [
971
+ /* @__PURE__ */ jsxDEV4("strong", {
972
+ children: "Test migrations locally"
973
+ }, undefined, false, undefined, this),
974
+ " – Run them against a copy of production data to catch issues before deploying."
975
+ ]
976
+ }, undefined, true, undefined, this),
977
+ /* @__PURE__ */ jsxDEV4("li", {
978
+ children: [
979
+ /* @__PURE__ */ jsxDEV4("strong", {
980
+ children: "Keep migrations small"
981
+ }, undefined, false, undefined, this),
982
+ " – Each migration should do one thing. This makes them easier to understand and roll back."
983
+ ]
984
+ }, undefined, true, undefined, this),
985
+ /* @__PURE__ */ jsxDEV4("li", {
986
+ children: [
987
+ /* @__PURE__ */ jsxDEV4("strong", {
988
+ children: "Write reversible migrations"
989
+ }, undefined, false, undefined, this),
990
+ " – Always provide a down function, even if you don't plan to roll back."
991
+ ]
992
+ }, undefined, true, undefined, this),
993
+ /* @__PURE__ */ jsxDEV4("li", {
994
+ children: [
995
+ /* @__PURE__ */ jsxDEV4("strong", {
996
+ children: "Use transactions"
997
+ }, undefined, false, undefined, this),
998
+ " – Wrap migrations in database transactions so they either fully succeed or fully fail."
999
+ ]
1000
+ }, undefined, true, undefined, this),
1001
+ /* @__PURE__ */ jsxDEV4("li", {
1002
+ children: [
1003
+ /* @__PURE__ */ jsxDEV4("strong", {
1004
+ children: "Avoid destructive changes"
1005
+ }, undefined, false, undefined, this),
1006
+ " – Prefer additive changes (adding columns) over destructive ones (dropping columns). If you must delete data, archive it first."
1007
+ ]
1008
+ }, undefined, true, undefined, this),
1009
+ /* @__PURE__ */ jsxDEV4("li", {
1010
+ children: [
1011
+ /* @__PURE__ */ jsxDEV4("strong", {
1012
+ children: "Version your migrations"
1013
+ }, undefined, false, undefined, this),
1014
+ " – Use timestamps or sequential numbers to ensure migrations run in the correct order."
1015
+ ]
1016
+ }, undefined, true, undefined, this),
1017
+ /* @__PURE__ */ jsxDEV4("li", {
1018
+ children: [
1019
+ /* @__PURE__ */ jsxDEV4("strong", {
1020
+ children: "Document breaking changes"
1021
+ }, undefined, false, undefined, this),
1022
+ " – If a migration requires application code changes, note this in the migration description."
1023
+ ]
1024
+ }, undefined, true, undefined, this)
1025
+ ]
1026
+ }, undefined, true, undefined, this)
1027
+ ]
1028
+ }, undefined, true, undefined, this),
1029
+ /* @__PURE__ */ jsxDEV4("div", {
1030
+ className: "space-y-4",
1031
+ children: [
1032
+ /* @__PURE__ */ jsxDEV4("h2", {
1033
+ className: "text-2xl font-bold",
1034
+ children: "Zero-downtime migrations"
1035
+ }, undefined, false, undefined, this),
1036
+ /* @__PURE__ */ jsxDEV4("p", {
1037
+ className: "text-muted-foreground",
1038
+ children: "Some migrations can cause downtime if not handled carefully. For example, adding a NOT NULL column to a large table can lock the table for minutes. To avoid this, use a multi-step approach:"
1039
+ }, undefined, false, undefined, this),
1040
+ /* @__PURE__ */ jsxDEV4("ol", {
1041
+ className: "text-muted-foreground list-inside list-decimal space-y-2",
1042
+ children: [
1043
+ /* @__PURE__ */ jsxDEV4("li", {
1044
+ children: "Add the column as nullable."
1045
+ }, undefined, false, undefined, this),
1046
+ /* @__PURE__ */ jsxDEV4("li", {
1047
+ children: "Backfill the column in batches (without locking the table)."
1048
+ }, undefined, false, undefined, this),
1049
+ /* @__PURE__ */ jsxDEV4("li", {
1050
+ children: "Add the NOT NULL constraint once all rows are populated."
1051
+ }, undefined, false, undefined, this)
1052
+ ]
1053
+ }, undefined, true, undefined, this),
1054
+ /* @__PURE__ */ jsxDEV4("p", {
1055
+ className: "text-muted-foreground",
1056
+ children: "ContractSpec's migration system supports this pattern by allowing you to split a logical change into multiple versioned migrations."
1057
+ }, undefined, false, undefined, this)
1058
+ ]
1059
+ }, undefined, true, undefined, this),
1060
+ /* @__PURE__ */ jsxDEV4("div", {
1061
+ className: "flex items-center gap-4 pt-4",
1062
+ children: [
1063
+ /* @__PURE__ */ jsxDEV4(Link4, {
1064
+ href: "/docs/safety/auditing",
1065
+ className: "btn-ghost",
1066
+ children: "Previous: Audit Logs"
1067
+ }, undefined, false, undefined, this),
1068
+ /* @__PURE__ */ jsxDEV4(Link4, {
1069
+ href: "/docs/advanced/renderers",
1070
+ className: "btn-primary",
1071
+ children: [
1072
+ "Next: Advanced Topics ",
1073
+ /* @__PURE__ */ jsxDEV4(ChevronRight4, {
1074
+ size: 16
1075
+ }, undefined, false, undefined, this)
1076
+ ]
1077
+ }, undefined, true, undefined, this)
1078
+ ]
1079
+ }, undefined, true, undefined, this)
1080
+ ]
1081
+ }, undefined, true, undefined, this);
1082
+ }
1083
+
1084
+ // src/components/docs/safety/SafetyPDPPage.tsx
1085
+ import Link5 from "@contractspec/lib.ui-link";
1086
+ import { ChevronRight as ChevronRight5 } from "lucide-react";
1087
+ import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
1088
+ function SafetyPDPPage() {
1089
+ return /* @__PURE__ */ jsxDEV5("div", {
1090
+ className: "space-y-8",
1091
+ children: [
1092
+ /* @__PURE__ */ jsxDEV5("div", {
1093
+ className: "space-y-4",
1094
+ children: [
1095
+ /* @__PURE__ */ jsxDEV5("h1", {
1096
+ className: "text-4xl font-bold",
1097
+ children: "Policy Decision Points"
1098
+ }, undefined, false, undefined, this),
1099
+ /* @__PURE__ */ jsxDEV5("p", {
1100
+ className: "text-muted-foreground",
1101
+ children: [
1102
+ "A ",
1103
+ /* @__PURE__ */ jsxDEV5("strong", {
1104
+ children: "Policy Decision Point (PDP)"
1105
+ }, undefined, false, undefined, this),
1106
+ " is a centralized component that evaluates access control policies and makes authorization decisions. According to",
1107
+ " ",
1108
+ /* @__PURE__ */ jsxDEV5("a", {
1109
+ href: "https://www.strongdm.com/blog/policy-decision-point",
1110
+ target: "_blank",
1111
+ rel: "noopener noreferrer",
1112
+ className: "text-violet-400 hover:text-violet-300",
1113
+ children: "StrongDM"
1114
+ }, undefined, false, undefined, this),
1115
+ ', the PDP "receives requests for access to resources, evaluates them against policies, and returns a decision (permit or deny)."'
1116
+ ]
1117
+ }, undefined, true, undefined, this)
1118
+ ]
1119
+ }, undefined, true, undefined, this),
1120
+ /* @__PURE__ */ jsxDEV5("div", {
1121
+ className: "space-y-4",
1122
+ children: [
1123
+ /* @__PURE__ */ jsxDEV5("h2", {
1124
+ className: "text-2xl font-bold",
1125
+ children: "How the PDP works in ContractSpec"
1126
+ }, undefined, false, undefined, this),
1127
+ /* @__PURE__ */ jsxDEV5("p", {
1128
+ className: "text-muted-foreground",
1129
+ children: "In ContractSpec, the PDP is invoked on every operation—whether it's rendering a UI component, executing a capability, or querying a data view. The flow is:"
1130
+ }, undefined, false, undefined, this),
1131
+ /* @__PURE__ */ jsxDEV5("ol", {
1132
+ className: "text-muted-foreground list-inside list-decimal space-y-3",
1133
+ children: [
1134
+ /* @__PURE__ */ jsxDEV5("li", {
1135
+ children: [
1136
+ /* @__PURE__ */ jsxDEV5("strong", {
1137
+ children: "Request evaluation"
1138
+ }, undefined, false, undefined, this),
1139
+ " – The runtime sends a request to the PDP containing:",
1140
+ /* @__PURE__ */ jsxDEV5("ul", {
1141
+ className: "mt-2 ml-6 list-inside list-disc space-y-1",
1142
+ children: [
1143
+ /* @__PURE__ */ jsxDEV5("li", {
1144
+ children: "The user's identity and attributes (roles, groups, location, etc.)"
1145
+ }, undefined, false, undefined, this),
1146
+ /* @__PURE__ */ jsxDEV5("li", {
1147
+ children: "The resource being accessed (capability, field, workflow step)"
1148
+ }, undefined, false, undefined, this),
1149
+ /* @__PURE__ */ jsxDEV5("li", {
1150
+ children: "The action being performed (read, write, execute)"
1151
+ }, undefined, false, undefined, this),
1152
+ /* @__PURE__ */ jsxDEV5("li", {
1153
+ children: "Contextual information (time of day, device type, IP address)"
1154
+ }, undefined, false, undefined, this)
1155
+ ]
1156
+ }, undefined, true, undefined, this)
1157
+ ]
1158
+ }, undefined, true, undefined, this),
1159
+ /* @__PURE__ */ jsxDEV5("li", {
1160
+ children: [
1161
+ /* @__PURE__ */ jsxDEV5("strong", {
1162
+ children: "Policy evaluation"
1163
+ }, undefined, false, undefined, this),
1164
+ " – The PDP evaluates the request against all applicable ",
1165
+ /* @__PURE__ */ jsxDEV5("strong", {
1166
+ children: "PolicySpecs"
1167
+ }, undefined, false, undefined, this),
1168
+ ". These specs define rules using attribute-based access control (ABAC) and can reference:",
1169
+ /* @__PURE__ */ jsxDEV5("ul", {
1170
+ className: "mt-2 ml-6 list-inside list-disc space-y-1",
1171
+ children: [
1172
+ /* @__PURE__ */ jsxDEV5("li", {
1173
+ children: `User attributes (e.g., "role == 'admin'")`
1174
+ }, undefined, false, undefined, this),
1175
+ /* @__PURE__ */ jsxDEV5("li", {
1176
+ children: `Resource attributes (e.g., "field.sensitivity == 'PII'")`
1177
+ }, undefined, false, undefined, this),
1178
+ /* @__PURE__ */ jsxDEV5("li", {
1179
+ children: 'Environmental attributes (e.g., "time.hour >= 9 AND time.hour < 17")'
1180
+ }, undefined, false, undefined, this)
1181
+ ]
1182
+ }, undefined, true, undefined, this)
1183
+ ]
1184
+ }, undefined, true, undefined, this),
1185
+ /* @__PURE__ */ jsxDEV5("li", {
1186
+ children: [
1187
+ /* @__PURE__ */ jsxDEV5("strong", {
1188
+ children: "Decision return"
1189
+ }, undefined, false, undefined, this),
1190
+ " – The PDP returns one of:",
1191
+ /* @__PURE__ */ jsxDEV5("ul", {
1192
+ className: "mt-2 ml-6 list-inside list-disc space-y-1",
1193
+ children: [
1194
+ /* @__PURE__ */ jsxDEV5("li", {
1195
+ children: [
1196
+ /* @__PURE__ */ jsxDEV5("code", {
1197
+ className: "bg-background/50 rounded px-2 py-1",
1198
+ children: "PERMIT"
1199
+ }, undefined, false, undefined, this),
1200
+ " ",
1201
+ "– The operation is allowed."
1202
+ ]
1203
+ }, undefined, true, undefined, this),
1204
+ /* @__PURE__ */ jsxDEV5("li", {
1205
+ children: [
1206
+ /* @__PURE__ */ jsxDEV5("code", {
1207
+ className: "bg-background/50 rounded px-2 py-1",
1208
+ children: "DENY"
1209
+ }, undefined, false, undefined, this),
1210
+ " ",
1211
+ "– The operation is blocked."
1212
+ ]
1213
+ }, undefined, true, undefined, this),
1214
+ /* @__PURE__ */ jsxDEV5("li", {
1215
+ children: [
1216
+ /* @__PURE__ */ jsxDEV5("code", {
1217
+ className: "bg-background/50 rounded px-2 py-1",
1218
+ children: "REDACT"
1219
+ }, undefined, false, undefined, this),
1220
+ " ",
1221
+ "– The operation is allowed, but sensitive fields are masked."
1222
+ ]
1223
+ }, undefined, true, undefined, this)
1224
+ ]
1225
+ }, undefined, true, undefined, this)
1226
+ ]
1227
+ }, undefined, true, undefined, this),
1228
+ /* @__PURE__ */ jsxDEV5("li", {
1229
+ children: [
1230
+ /* @__PURE__ */ jsxDEV5("strong", {
1231
+ children: "Enforcement"
1232
+ }, undefined, false, undefined, this),
1233
+ " – The runtime enforces the decision. If denied, the operation fails with a clear error message. If redacted, sensitive fields are replaced with placeholders."
1234
+ ]
1235
+ }, undefined, true, undefined, this),
1236
+ /* @__PURE__ */ jsxDEV5("li", {
1237
+ children: [
1238
+ /* @__PURE__ */ jsxDEV5("strong", {
1239
+ children: "Auditing"
1240
+ }, undefined, false, undefined, this),
1241
+ " – Every PDP decision is logged to the",
1242
+ " ",
1243
+ /* @__PURE__ */ jsxDEV5(Link5, {
1244
+ href: "/docs/safety/auditing",
1245
+ className: "text-violet-400 hover:text-violet-300",
1246
+ children: "audit log"
1247
+ }, undefined, false, undefined, this),
1248
+ ", including the request, decision, and reasoning."
1249
+ ]
1250
+ }, undefined, true, undefined, this)
1251
+ ]
1252
+ }, undefined, true, undefined, this)
1253
+ ]
1254
+ }, undefined, true, undefined, this),
1255
+ /* @__PURE__ */ jsxDEV5("div", {
1256
+ className: "space-y-4",
1257
+ children: [
1258
+ /* @__PURE__ */ jsxDEV5("h2", {
1259
+ className: "text-2xl font-bold",
1260
+ children: "Example PolicySpec"
1261
+ }, undefined, false, undefined, this),
1262
+ /* @__PURE__ */ jsxDEV5("p", {
1263
+ className: "text-muted-foreground",
1264
+ children: "Here's a simple policy that restricts access to PII fields:"
1265
+ }, undefined, false, undefined, this),
1266
+ /* @__PURE__ */ jsxDEV5("div", {
1267
+ className: "bg-background/50 border-border text-muted-foreground overflow-x-auto rounded-lg border p-4 font-mono text-sm",
1268
+ children: /* @__PURE__ */ jsxDEV5("pre", {
1269
+ children: `policyId: pii-access-control
1270
+ version: '1.0.0'.0.0
1271
+ rules:
1272
+ - id: allow-admin-full-access
1273
+ effect: PERMIT
1274
+ condition: user.role == 'admin'
1275
+
1276
+ - id: redact-pii-for-support
1277
+ effect: REDACT
1278
+ condition: |
1279
+ user.role == 'support' AND
1280
+ field.sensitivity == 'PII'
1281
+ redactFields: ['ssn', 'creditCard', 'dateOfBirth']
1282
+
1283
+ - id: deny-pii-for-others
1284
+ effect: DENY
1285
+ condition: |
1286
+ user.role NOT IN ['admin', 'support'] AND
1287
+ field.sensitivity == 'PII'`
1288
+ }, undefined, false, undefined, this)
1289
+ }, undefined, false, undefined, this),
1290
+ /* @__PURE__ */ jsxDEV5("p", {
1291
+ className: "text-muted-foreground",
1292
+ children: "With this policy, admins see all data, support staff see redacted PII, and other users cannot access PII at all."
1293
+ }, undefined, false, undefined, this)
1294
+ ]
1295
+ }, undefined, true, undefined, this),
1296
+ /* @__PURE__ */ jsxDEV5("div", {
1297
+ className: "space-y-4",
1298
+ children: [
1299
+ /* @__PURE__ */ jsxDEV5("h2", {
1300
+ className: "text-2xl font-bold",
1301
+ children: "Benefits of centralized decision-making"
1302
+ }, undefined, false, undefined, this),
1303
+ /* @__PURE__ */ jsxDEV5("ul", {
1304
+ className: "text-muted-foreground list-inside list-disc space-y-2",
1305
+ children: [
1306
+ /* @__PURE__ */ jsxDEV5("li", {
1307
+ children: [
1308
+ /* @__PURE__ */ jsxDEV5("strong", {
1309
+ children: "Consistency"
1310
+ }, undefined, false, undefined, this),
1311
+ " – Policies are enforced uniformly across all surfaces (API, UI, workflows)."
1312
+ ]
1313
+ }, undefined, true, undefined, this),
1314
+ /* @__PURE__ */ jsxDEV5("li", {
1315
+ children: [
1316
+ /* @__PURE__ */ jsxDEV5("strong", {
1317
+ children: "Auditability"
1318
+ }, undefined, false, undefined, this),
1319
+ " – Every decision is logged, making it easy to trace why access was granted or denied."
1320
+ ]
1321
+ }, undefined, true, undefined, this),
1322
+ /* @__PURE__ */ jsxDEV5("li", {
1323
+ children: [
1324
+ /* @__PURE__ */ jsxDEV5("strong", {
1325
+ children: "Flexibility"
1326
+ }, undefined, false, undefined, this),
1327
+ " – Policies can be updated without changing application code."
1328
+ ]
1329
+ }, undefined, true, undefined, this),
1330
+ /* @__PURE__ */ jsxDEV5("li", {
1331
+ children: [
1332
+ /* @__PURE__ */ jsxDEV5("strong", {
1333
+ children: "Security"
1334
+ }, undefined, false, undefined, this),
1335
+ " – Reduces the risk of authorization bugs by removing ad-hoc checks scattered throughout the codebase."
1336
+ ]
1337
+ }, undefined, true, undefined, this)
1338
+ ]
1339
+ }, undefined, true, undefined, this)
1340
+ ]
1341
+ }, undefined, true, undefined, this),
1342
+ /* @__PURE__ */ jsxDEV5("div", {
1343
+ className: "space-y-4",
1344
+ children: [
1345
+ /* @__PURE__ */ jsxDEV5("h2", {
1346
+ className: "text-2xl font-bold",
1347
+ children: "Performance considerations"
1348
+ }, undefined, false, undefined, this),
1349
+ /* @__PURE__ */ jsxDEV5("p", {
1350
+ className: "text-muted-foreground",
1351
+ children: "Because the PDP is invoked on every operation, performance is critical. ContractSpec optimizes this by:"
1352
+ }, undefined, false, undefined, this),
1353
+ /* @__PURE__ */ jsxDEV5("ul", {
1354
+ className: "text-muted-foreground list-inside list-disc space-y-2",
1355
+ children: [
1356
+ /* @__PURE__ */ jsxDEV5("li", {
1357
+ children: "Caching policy decisions for identical requests"
1358
+ }, undefined, false, undefined, this),
1359
+ /* @__PURE__ */ jsxDEV5("li", {
1360
+ children: "Compiling policies into efficient bytecode"
1361
+ }, undefined, false, undefined, this),
1362
+ /* @__PURE__ */ jsxDEV5("li", {
1363
+ children: "Evaluating only the minimal set of rules needed for each request"
1364
+ }, undefined, false, undefined, this),
1365
+ /* @__PURE__ */ jsxDEV5("li", {
1366
+ children: "Running the PDP in-process to avoid network latency"
1367
+ }, undefined, false, undefined, this)
1368
+ ]
1369
+ }, undefined, true, undefined, this),
1370
+ /* @__PURE__ */ jsxDEV5("p", {
1371
+ className: "text-muted-foreground",
1372
+ children: "In practice, PDP overhead is typically less than 1ms per request."
1373
+ }, undefined, false, undefined, this)
1374
+ ]
1375
+ }, undefined, true, undefined, this),
1376
+ /* @__PURE__ */ jsxDEV5("div", {
1377
+ className: "flex items-center gap-4 pt-4",
1378
+ children: [
1379
+ /* @__PURE__ */ jsxDEV5(Link5, {
1380
+ href: "/docs/safety/signing",
1381
+ className: "btn-ghost",
1382
+ children: "Previous: Spec Signing"
1383
+ }, undefined, false, undefined, this),
1384
+ /* @__PURE__ */ jsxDEV5(Link5, {
1385
+ href: "/docs/safety/auditing",
1386
+ className: "btn-primary",
1387
+ children: [
1388
+ "Next: Audit Logs ",
1389
+ /* @__PURE__ */ jsxDEV5(ChevronRight5, {
1390
+ size: 16
1391
+ }, undefined, false, undefined, this)
1392
+ ]
1393
+ }, undefined, true, undefined, this)
1394
+ ]
1395
+ }, undefined, true, undefined, this)
1396
+ ]
1397
+ }, undefined, true, undefined, this);
1398
+ }
1399
+
1400
+ // src/components/docs/safety/SafetyTenantIsolationPage.tsx
1401
+ import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
1402
+ function SafetyTenantIsolationPage() {
1403
+ return /* @__PURE__ */ jsxDEV6("div", {
1404
+ className: "space-y-8",
1405
+ children: [
1406
+ /* @__PURE__ */ jsxDEV6("div", {
1407
+ className: "space-y-4",
1408
+ children: [
1409
+ /* @__PURE__ */ jsxDEV6("h1", {
1410
+ className: "text-4xl font-bold",
1411
+ children: "Tenant Isolation"
1412
+ }, undefined, false, undefined, this),
1413
+ /* @__PURE__ */ jsxDEV6("p", {
1414
+ className: "text-muted-foreground text-lg",
1415
+ children: 'Preventing cross-tenant data leaks is the #1 security priority for any SaaS. ContractSpec employs "Defense in Depth" to ensure safety.'
1416
+ }, undefined, false, undefined, this)
1417
+ ]
1418
+ }, undefined, true, undefined, this),
1419
+ /* @__PURE__ */ jsxDEV6("div", {
1420
+ className: "space-y-4",
1421
+ children: [
1422
+ /* @__PURE__ */ jsxDEV6("h2", {
1423
+ className: "text-2xl font-bold",
1424
+ children: "Layer 1: RLS Middleware"
1425
+ }, undefined, false, undefined, this),
1426
+ /* @__PURE__ */ jsxDEV6("p", {
1427
+ children: [
1428
+ "The primary defense is the Prisma middleware that rewrites queries to include ",
1429
+ /* @__PURE__ */ jsxDEV6("code", {
1430
+ children: "WHERE tenantId = ?"
1431
+ }, undefined, false, undefined, this),
1432
+ ". This protects against developer error (forgetting to filter)."
1433
+ ]
1434
+ }, undefined, true, undefined, this)
1435
+ ]
1436
+ }, undefined, true, undefined, this),
1437
+ /* @__PURE__ */ jsxDEV6("div", {
1438
+ className: "space-y-4",
1439
+ children: [
1440
+ /* @__PURE__ */ jsxDEV6("h2", {
1441
+ className: "text-2xl font-bold",
1442
+ children: "Layer 2: Isolation Validator"
1443
+ }, undefined, false, undefined, this),
1444
+ /* @__PURE__ */ jsxDEV6("p", {
1445
+ children: [
1446
+ "For high-security environments, you can use the",
1447
+ " ",
1448
+ /* @__PURE__ */ jsxDEV6("code", {
1449
+ children: "IsolationValidator"
1450
+ }, undefined, false, undefined, this),
1451
+ " in your test suite to verify that every query generated by your operations actually includes the tenant ID."
1452
+ ]
1453
+ }, undefined, true, undefined, this),
1454
+ /* @__PURE__ */ jsxDEV6("pre", {
1455
+ className: "bg-muted rounded-lg border p-4 text-sm",
1456
+ children: `import { IsolationValidator } from '@contractspec/lib.multi-tenancy/isolation';
1457
+
1458
+ test('findUser query is isolated', () => {
1459
+ const isValid = IsolationValidator.validateQuery(
1460
+ 'User',
1461
+ 'findFirst',
1462
+ args,
1463
+ 'tenant-123'
1464
+ );
1465
+ expect(isValid).toBe(true);
1466
+ });`
1467
+ }, undefined, false, undefined, this)
1468
+ ]
1469
+ }, undefined, true, undefined, this),
1470
+ /* @__PURE__ */ jsxDEV6("div", {
1471
+ className: "space-y-4",
1472
+ children: [
1473
+ /* @__PURE__ */ jsxDEV6("h2", {
1474
+ className: "text-2xl font-bold",
1475
+ children: "Layer 3: Policy Engine"
1476
+ }, undefined, false, undefined, this),
1477
+ /* @__PURE__ */ jsxDEV6("p", {
1478
+ children: "The Policy Decision Point (PDP) verifies that the authenticated user actually belongs to the requested tenant before any operation logic runs."
1479
+ }, undefined, false, undefined, this)
1480
+ ]
1481
+ }, undefined, true, undefined, this)
1482
+ ]
1483
+ }, undefined, true, undefined, this);
1484
+ }
1485
+
1486
+ // src/components/docs/safety/SafetySecurityTrustPage.tsx
1487
+ import Link6 from "@contractspec/lib.ui-link";
1488
+ import { ChevronRight as ChevronRight6 } from "lucide-react";
1489
+ import { jsxDEV as jsxDEV7 } from "react/jsx-dev-runtime";
1490
+ function SafetySecurityTrustPage() {
1491
+ return /* @__PURE__ */ jsxDEV7("div", {
1492
+ className: "space-y-8",
1493
+ children: [
1494
+ /* @__PURE__ */ jsxDEV7("div", {
1495
+ className: "space-y-4",
1496
+ children: [
1497
+ /* @__PURE__ */ jsxDEV7("h1", {
1498
+ className: "text-4xl font-bold",
1499
+ children: "Security & Trust"
1500
+ }, undefined, false, undefined, this),
1501
+ /* @__PURE__ */ jsxDEV7("p", {
1502
+ className: "text-muted-foreground",
1503
+ children: "ContractSpec focuses on deterministic, auditable software delivery. This page summarizes our security posture and trust commitments so teams can adopt with clarity."
1504
+ }, undefined, false, undefined, this)
1505
+ ]
1506
+ }, undefined, true, undefined, this),
1507
+ /* @__PURE__ */ jsxDEV7("div", {
1508
+ className: "card-subtle space-y-4 p-6",
1509
+ children: [
1510
+ /* @__PURE__ */ jsxDEV7("h2", {
1511
+ className: "text-2xl font-bold",
1512
+ children: "Security policy"
1513
+ }, undefined, false, undefined, this),
1514
+ /* @__PURE__ */ jsxDEV7("p", {
1515
+ className: "text-muted-foreground text-sm",
1516
+ children: "We publish a dedicated security policy that explains how to report vulnerabilities and how we respond."
1517
+ }, undefined, false, undefined, this),
1518
+ /* @__PURE__ */ jsxDEV7(Link6, {
1519
+ href: "/SECURITY.md",
1520
+ className: "btn-primary",
1521
+ children: [
1522
+ "Read the security policy ",
1523
+ /* @__PURE__ */ jsxDEV7(ChevronRight6, {
1524
+ size: 16
1525
+ }, undefined, false, undefined, this)
1526
+ ]
1527
+ }, undefined, true, undefined, this)
1528
+ ]
1529
+ }, undefined, true, undefined, this),
1530
+ /* @__PURE__ */ jsxDEV7("div", {
1531
+ className: "grid gap-4 md:grid-cols-2",
1532
+ children: [
1533
+ /* @__PURE__ */ jsxDEV7("div", {
1534
+ className: "card-subtle space-y-3 p-6",
1535
+ children: [
1536
+ /* @__PURE__ */ jsxDEV7("h3", {
1537
+ className: "text-lg font-semibold",
1538
+ children: "Release hygiene"
1539
+ }, undefined, false, undefined, this),
1540
+ /* @__PURE__ */ jsxDEV7("p", {
1541
+ className: "text-muted-foreground text-sm",
1542
+ children: "We ship with deterministic CI, changesets, and contract validation so teams can trust every release."
1543
+ }, undefined, false, undefined, this),
1544
+ /* @__PURE__ */ jsxDEV7("ul", {
1545
+ className: "text-muted-foreground space-y-2 text-sm",
1546
+ children: [
1547
+ /* @__PURE__ */ jsxDEV7("li", {
1548
+ children: "Changesets required for published packages."
1549
+ }, undefined, false, undefined, this),
1550
+ /* @__PURE__ */ jsxDEV7("li", {
1551
+ children: "CI gate for contract validation and drift detection."
1552
+ }, undefined, false, undefined, this),
1553
+ /* @__PURE__ */ jsxDEV7("li", {
1554
+ children: "Rollback-friendly release process."
1555
+ }, undefined, false, undefined, this)
1556
+ ]
1557
+ }, undefined, true, undefined, this)
1558
+ ]
1559
+ }, undefined, true, undefined, this),
1560
+ /* @__PURE__ */ jsxDEV7("div", {
1561
+ className: "card-subtle space-y-3 p-6",
1562
+ children: [
1563
+ /* @__PURE__ */ jsxDEV7("h3", {
1564
+ className: "text-lg font-semibold",
1565
+ children: "Data handling"
1566
+ }, undefined, false, undefined, this),
1567
+ /* @__PURE__ */ jsxDEV7("p", {
1568
+ className: "text-muted-foreground text-sm",
1569
+ children: "ContractSpec promotes strict data classification and policy-driven access. Specs can tag sensitive fields for enforcement."
1570
+ }, undefined, false, undefined, this),
1571
+ /* @__PURE__ */ jsxDEV7("ul", {
1572
+ className: "text-muted-foreground space-y-2 text-sm",
1573
+ children: [
1574
+ /* @__PURE__ */ jsxDEV7("li", {
1575
+ children: "Schema-level sensitivity tags."
1576
+ }, undefined, false, undefined, this),
1577
+ /* @__PURE__ */ jsxDEV7("li", {
1578
+ children: "Policy Decision Point enforcement."
1579
+ }, undefined, false, undefined, this),
1580
+ /* @__PURE__ */ jsxDEV7("li", {
1581
+ children: "Audit logs for operational traceability."
1582
+ }, undefined, false, undefined, this)
1583
+ ]
1584
+ }, undefined, true, undefined, this)
1585
+ ]
1586
+ }, undefined, true, undefined, this)
1587
+ ]
1588
+ }, undefined, true, undefined, this),
1589
+ /* @__PURE__ */ jsxDEV7("div", {
1590
+ className: "grid gap-4 md:grid-cols-2",
1591
+ children: [
1592
+ /* @__PURE__ */ jsxDEV7("div", {
1593
+ className: "card-subtle space-y-3 p-6",
1594
+ children: [
1595
+ /* @__PURE__ */ jsxDEV7("h3", {
1596
+ className: "text-lg font-semibold",
1597
+ children: "Supply chain"
1598
+ }, undefined, false, undefined, this),
1599
+ /* @__PURE__ */ jsxDEV7("p", {
1600
+ className: "text-muted-foreground text-sm",
1601
+ children: "We track dependency updates and keep the monorepo build reproducible."
1602
+ }, undefined, false, undefined, this),
1603
+ /* @__PURE__ */ jsxDEV7("ul", {
1604
+ className: "text-muted-foreground space-y-2 text-sm",
1605
+ children: [
1606
+ /* @__PURE__ */ jsxDEV7("li", {
1607
+ children: "Dependabot + Renovate-style updates where available."
1608
+ }, undefined, false, undefined, this),
1609
+ /* @__PURE__ */ jsxDEV7("li", {
1610
+ children: "Signed release artifacts planned for Studio release cycles."
1611
+ }, undefined, false, undefined, this),
1612
+ /* @__PURE__ */ jsxDEV7("li", {
1613
+ children: "Transparent changelogs for every package."
1614
+ }, undefined, false, undefined, this)
1615
+ ]
1616
+ }, undefined, true, undefined, this)
1617
+ ]
1618
+ }, undefined, true, undefined, this),
1619
+ /* @__PURE__ */ jsxDEV7("div", {
1620
+ className: "card-subtle space-y-3 p-6",
1621
+ children: [
1622
+ /* @__PURE__ */ jsxDEV7("h3", {
1623
+ className: "text-lg font-semibold",
1624
+ children: "Responsible disclosure"
1625
+ }, undefined, false, undefined, this),
1626
+ /* @__PURE__ */ jsxDEV7("p", {
1627
+ className: "text-muted-foreground text-sm",
1628
+ children: "We respond quickly to security reports and coordinate fixes before public disclosure."
1629
+ }, undefined, false, undefined, this),
1630
+ /* @__PURE__ */ jsxDEV7("ul", {
1631
+ className: "text-muted-foreground space-y-2 text-sm",
1632
+ children: [
1633
+ /* @__PURE__ */ jsxDEV7("li", {
1634
+ children: "Security response within 5 business days."
1635
+ }, undefined, false, undefined, this),
1636
+ /* @__PURE__ */ jsxDEV7("li", {
1637
+ children: "Private disclosure via security@contractspec.io."
1638
+ }, undefined, false, undefined, this),
1639
+ /* @__PURE__ */ jsxDEV7("li", {
1640
+ children: "Credit for researchers (with permission)."
1641
+ }, undefined, false, undefined, this)
1642
+ ]
1643
+ }, undefined, true, undefined, this)
1644
+ ]
1645
+ }, undefined, true, undefined, this)
1646
+ ]
1647
+ }, undefined, true, undefined, this),
1648
+ /* @__PURE__ */ jsxDEV7("div", {
1649
+ className: "space-y-4",
1650
+ children: [
1651
+ /* @__PURE__ */ jsxDEV7("h2", {
1652
+ className: "text-2xl font-bold",
1653
+ children: "Next steps"
1654
+ }, undefined, false, undefined, this),
1655
+ /* @__PURE__ */ jsxDEV7("p", {
1656
+ className: "text-muted-foreground",
1657
+ children: "Explore the broader safety controls or read the roadmap to see upcoming trust investments."
1658
+ }, undefined, false, undefined, this),
1659
+ /* @__PURE__ */ jsxDEV7("div", {
1660
+ className: "flex flex-wrap gap-4 pt-4",
1661
+ children: [
1662
+ /* @__PURE__ */ jsxDEV7(Link6, {
1663
+ href: "/docs/safety",
1664
+ className: "btn-ghost",
1665
+ children: [
1666
+ "Safety overview ",
1667
+ /* @__PURE__ */ jsxDEV7(ChevronRight6, {
1668
+ size: 16
1669
+ }, undefined, false, undefined, this)
1670
+ ]
1671
+ }, undefined, true, undefined, this),
1672
+ /* @__PURE__ */ jsxDEV7(Link6, {
1673
+ href: "/ROADMAP.md",
1674
+ className: "btn-ghost",
1675
+ children: [
1676
+ "Roadmap ",
1677
+ /* @__PURE__ */ jsxDEV7(ChevronRight6, {
1678
+ size: 16
1679
+ }, undefined, false, undefined, this)
1680
+ ]
1681
+ }, undefined, true, undefined, this)
1682
+ ]
1683
+ }, undefined, true, undefined, this)
1684
+ ]
1685
+ }, undefined, true, undefined, this)
1686
+ ]
1687
+ }, undefined, true, undefined, this);
1688
+ }
1689
+ export {
1690
+ SafetyTenantIsolationPage,
1691
+ SafetySigningPage,
1692
+ SafetySecurityTrustPage,
1693
+ SafetyPDPPage,
1694
+ SafetyOverviewPage,
1695
+ SafetyMigrationsPage,
1696
+ SafetyAuditingPage
1697
+ };