@contractspec/bundle.library 3.7.6 → 3.7.7

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 (889) hide show
  1. package/.turbo/turbo-build.log +144 -142
  2. package/AGENTS.md +42 -24
  3. package/README.md +59 -37
  4. package/dist/application/index.d.ts +1 -1
  5. package/dist/application/index.js +842 -840
  6. package/dist/application/mcp/cliMcp.js +30 -30
  7. package/dist/application/mcp/common.d.ts +2 -2
  8. package/dist/application/mcp/common.js +2 -2
  9. package/dist/application/mcp/contractsMcp.d.ts +1 -1
  10. package/dist/application/mcp/contractsMcp.js +163 -163
  11. package/dist/application/mcp/docsMcp.js +31 -31
  12. package/dist/application/mcp/index.d.ts +2 -2
  13. package/dist/application/mcp/index.js +842 -840
  14. package/dist/application/mcp/internalMcp.js +30 -30
  15. package/dist/application/mcp/providerRankingMcp.js +35 -33
  16. package/dist/components/docs/DocsIndexPage.js +859 -212
  17. package/dist/components/docs/advanced/AdvancedMCPPage.js +15 -15
  18. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +4 -4
  19. package/dist/components/docs/advanced/AdvancedRenderersPage.js +7 -7
  20. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +9 -9
  21. package/dist/components/docs/advanced/AdvancedTelemetryPage.js +16 -16
  22. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +6 -6
  23. package/dist/components/docs/advanced/index.d.ts +2 -2
  24. package/dist/components/docs/advanced/index.js +57 -57
  25. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +10 -10
  26. package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +8 -8
  27. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +14 -14
  28. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +16 -16
  29. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +7 -7
  30. package/dist/components/docs/architecture/ArchitectureOverviewPage.js +90 -411
  31. package/dist/components/docs/architecture/index.d.ts +3 -3
  32. package/dist/components/docs/architecture/index.js +145 -466
  33. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +6 -6
  34. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +7 -7
  35. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +6 -6
  36. package/dist/components/docs/comparison/ComparisonOverviewPage.js +4 -4
  37. package/dist/components/docs/comparison/ComparisonWindmillPage.js +6 -6
  38. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +6 -6
  39. package/dist/components/docs/comparison/index.d.ts +2 -2
  40. package/dist/components/docs/comparison/index.js +35 -35
  41. package/dist/components/docs/docsManifest.d.ts +42 -0
  42. package/dist/components/docs/docsManifest.js +612 -0
  43. package/dist/components/docs/ecosystem/IntegrationsPage.js +5 -5
  44. package/dist/components/docs/ecosystem/PluginsPage.js +7 -7
  45. package/dist/components/docs/ecosystem/RegistryPage.js +4 -4
  46. package/dist/components/docs/ecosystem/TemplatesPage.js +11 -11
  47. package/dist/components/docs/ecosystem/index.d.ts +2 -2
  48. package/dist/components/docs/ecosystem/index.js +27 -27
  49. package/dist/components/docs/examples/DocsExamplesPage.js +4 -4
  50. package/dist/components/docs/examples/index.js +4 -4
  51. package/dist/components/docs/getting-started/CLIPage.js +9 -9
  52. package/dist/components/docs/getting-started/CompatibilityPage.js +12 -12
  53. package/dist/components/docs/getting-started/DataViewTutorialPage.js +7 -7
  54. package/dist/components/docs/getting-started/DeveloperToolsPage.js +10 -10
  55. package/dist/components/docs/getting-started/HelloWorldPage.js +8 -8
  56. package/dist/components/docs/getting-started/InstallationPage.js +10 -10
  57. package/dist/components/docs/getting-started/StartHerePage.js +8 -8
  58. package/dist/components/docs/getting-started/TroubleshootingPage.js +12 -12
  59. package/dist/components/docs/getting-started/VSCodeExtensionPage.js +13 -13
  60. package/dist/components/docs/getting-started/index.d.ts +5 -5
  61. package/dist/components/docs/getting-started/index.js +89 -89
  62. package/dist/components/docs/guides/GuideCIDiffGatingPage.js +13 -13
  63. package/dist/components/docs/guides/GuideContractTypesPage.js +33 -33
  64. package/dist/components/docs/guides/GuideDocsPipelinePage.js +13 -13
  65. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +13 -13
  66. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +35 -35
  67. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +15 -15
  68. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +13 -13
  69. package/dist/components/docs/guides/GuidesIndexPage.js +69 -46
  70. package/dist/components/docs/guides/index.d.ts +4 -4
  71. package/dist/components/docs/guides/index.js +174 -151
  72. package/dist/components/docs/index.d.ts +13 -12
  73. package/dist/components/docs/index.js +14060 -15332
  74. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +4 -4
  75. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +7 -7
  76. package/dist/components/docs/integrations/IntegrationsGithubPage.js +11 -11
  77. package/dist/components/docs/integrations/IntegrationsGmailPage.js +7 -7
  78. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +5 -5
  79. package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +12 -12
  80. package/dist/components/docs/integrations/IntegrationsMistralPage.js +12 -12
  81. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +11 -11
  82. package/dist/components/docs/integrations/IntegrationsOverviewPage.js +119 -736
  83. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +12 -12
  84. package/dist/components/docs/integrations/IntegrationsPowensPage.js +24 -24
  85. package/dist/components/docs/integrations/IntegrationsQdrantPage.js +9 -9
  86. package/dist/components/docs/integrations/IntegrationsResendPage.js +7 -7
  87. package/dist/components/docs/integrations/IntegrationsS3Page.js +9 -9
  88. package/dist/components/docs/integrations/IntegrationsSlackPage.js +11 -11
  89. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +19 -19
  90. package/dist/components/docs/integrations/IntegrationsStripePage.js +25 -25
  91. package/dist/components/docs/integrations/IntegrationsTwilioPage.js +9 -9
  92. package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +12 -12
  93. package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +13 -13
  94. package/dist/components/docs/integrations/index.d.ts +1 -1
  95. package/dist/components/docs/integrations/index.js +614 -1231
  96. package/dist/components/docs/intent/ContractFirstApiPage.js +8 -8
  97. package/dist/components/docs/intent/DeterministicCodegenPage.js +9 -9
  98. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +13 -13
  99. package/dist/components/docs/intent/OpenapiAlternativePage.js +13 -13
  100. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +9 -9
  101. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +8 -8
  102. package/dist/components/docs/intent/index.d.ts +3 -3
  103. package/dist/components/docs/intent/index.js +766 -766
  104. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +38 -38
  105. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +9 -9
  106. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +91 -439
  107. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +28 -28
  108. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +21 -21
  109. package/dist/components/docs/knowledge/index.d.ts +1 -1
  110. package/dist/components/docs/knowledge/index.js +437 -785
  111. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +16 -16
  112. package/dist/components/docs/libraries/LibrariesAiAgentPage.js +8 -8
  113. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +6 -6
  114. package/dist/components/docs/libraries/LibrariesContentGenPage.js +6 -6
  115. package/dist/components/docs/libraries/LibrariesContractsPage.js +16 -16
  116. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +6 -6
  117. package/dist/components/docs/libraries/LibrariesDataBackendPage.js +14 -14
  118. package/dist/components/docs/libraries/LibrariesDataViewsPage.js +7 -7
  119. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +13 -13
  120. package/dist/components/docs/libraries/LibrariesEvolutionPage.js +7 -7
  121. package/dist/components/docs/libraries/LibrariesGraphQLPage.js +13 -13
  122. package/dist/components/docs/libraries/LibrariesGrowthPage.js +5 -5
  123. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +5 -5
  124. package/dist/components/docs/libraries/LibrariesObservabilityPage.js +7 -7
  125. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +6 -6
  126. package/dist/components/docs/libraries/LibrariesOverviewPage.js +117 -430
  127. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +6 -6
  128. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +6 -6
  129. package/dist/components/docs/libraries/LibrariesResiliencePage.js +6 -6
  130. package/dist/components/docs/libraries/LibrariesRuntimePage.js +13 -13
  131. package/dist/components/docs/libraries/LibrariesSLOPage.js +6 -6
  132. package/dist/components/docs/libraries/LibrariesSchemaPage.js +16 -16
  133. package/dist/components/docs/libraries/LibrariesSupportBotPage.js +7 -7
  134. package/dist/components/docs/libraries/LibrariesTestingPage.js +7 -7
  135. package/dist/components/docs/libraries/LibrariesUIKitPage.js +10 -10
  136. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +5 -5
  137. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +8 -8
  138. package/dist/components/docs/libraries/index.d.ts +4 -4
  139. package/dist/components/docs/libraries/index.js +1308 -1621
  140. package/dist/components/docs/manifesto/ManifestoPage.js +33 -138
  141. package/dist/components/docs/ops/AutoEvolutionOpsPage.js +9 -9
  142. package/dist/components/docs/ops/DistributedTracingOpsPage.js +5 -5
  143. package/dist/components/docs/ops/index.js +14 -14
  144. package/dist/components/docs/reference/DocsMarkdownContent.js +1 -1
  145. package/dist/components/docs/reference/DocsReferenceContent.js +2 -2
  146. package/dist/components/docs/reference/DocsReferenceIndexClient.js +8 -8
  147. package/dist/components/docs/reference/DocsReferenceIndexPage.js +8 -8
  148. package/dist/components/docs/reference/DocsReferencePage.js +2 -2
  149. package/dist/components/docs/reference/index.js +10 -10
  150. package/dist/components/docs/safety/SafetyAuditingPage.js +16 -16
  151. package/dist/components/docs/safety/SafetyMigrationsPage.js +15 -15
  152. package/dist/components/docs/safety/SafetyOverviewPage.js +69 -206
  153. package/dist/components/docs/safety/SafetyPDPPage.js +12 -12
  154. package/dist/components/docs/safety/SafetySecurityTrustPage.js +11 -11
  155. package/dist/components/docs/safety/SafetySigningPage.js +7 -7
  156. package/dist/components/docs/safety/SafetyTenantIsolationPage.js +6 -6
  157. package/dist/components/docs/safety/index.d.ts +3 -3
  158. package/dist/components/docs/safety/index.js +616 -753
  159. package/dist/components/docs/shared/StudioPrompt.js +5 -5
  160. package/dist/components/docs/specs/SpecsCapabilitiesPage.js +12 -12
  161. package/dist/components/docs/specs/SpecsDataViewsPage.js +14 -14
  162. package/dist/components/docs/specs/SpecsOverlaysPage.js +14 -14
  163. package/dist/components/docs/specs/SpecsOverviewPage.js +135 -297
  164. package/dist/components/docs/specs/SpecsPolicyPage.js +29 -29
  165. package/dist/components/docs/specs/SpecsWorkflowsPage.js +18 -18
  166. package/dist/components/docs/specs/index.d.ts +3 -3
  167. package/dist/components/docs/specs/index.js +814 -976
  168. package/dist/components/docs/studio/StudioBYOKPage.js +1 -1
  169. package/dist/components/docs/studio/StudioDeploymentsPage.js +1 -1
  170. package/dist/components/docs/studio/StudioGettingStartedPage.js +1 -1
  171. package/dist/components/docs/studio/StudioIntegrationsPage.js +1 -1
  172. package/dist/components/docs/studio/StudioOverviewPage.js +109 -56
  173. package/dist/components/docs/studio/StudioVisualBuilderPage.js +1 -1
  174. package/dist/components/docs/studio/index.d.ts +4 -4
  175. package/dist/components/docs/studio/index.js +170 -117
  176. package/dist/components/integrations/index.js +25 -25
  177. package/dist/components/integrations/molecules/IntegrationCard.js +5 -5
  178. package/dist/components/integrations/organisms/IntegrationMarketplace.js +12 -12
  179. package/dist/components/integrations/organisms/IntegrationSettings.js +7 -7
  180. package/dist/components/integrations/organisms/KnowledgeSourceList.js +6 -6
  181. package/dist/components/legal/PrivacyTemplate.js +67 -67
  182. package/dist/components/legal/TermsTemplate.js +54 -54
  183. package/dist/components/legal/index.js +121 -121
  184. package/dist/components/shared/FeatureGateNotice.js +4 -4
  185. package/dist/components/shared/index.js +4 -4
  186. package/dist/components/shell/WorkspaceHeader.js +4 -4
  187. package/dist/components/shell/WorkspaceProjectShellLayout.d.ts +3 -3
  188. package/dist/components/shell/WorkspaceProjectShellLayout.js +10 -10
  189. package/dist/components/shell/WorkspaceShellRenderer.d.ts +4 -4
  190. package/dist/components/shell/WorkspaceShellRenderer.js +8 -8
  191. package/dist/components/shell/WorkspaceSidebar.js +2 -2
  192. package/dist/components/shell/index.d.ts +1 -1
  193. package/dist/components/shell/index.js +12 -12
  194. package/dist/components/templates/engine/index.d.ts +1 -1
  195. package/dist/components/templates/index.d.ts +1 -1
  196. package/dist/components/templates/index.js +835 -835
  197. package/dist/components/templates/messaging/ConversationList.js +11 -11
  198. package/dist/components/templates/messaging/MessageComposer.js +11 -11
  199. package/dist/components/templates/messaging/MessageThread.js +6 -6
  200. package/dist/components/templates/messaging/MessagingWorkspace.js +23 -23
  201. package/dist/components/templates/messaging/index.d.ts +1 -1
  202. package/dist/components/templates/messaging/index.js +23 -23
  203. package/dist/components/templates/recipes/LanguageSwitcher.js +1 -1
  204. package/dist/components/templates/recipes/RecipeCard.js +5 -5
  205. package/dist/components/templates/recipes/RecipeDetail.js +8 -8
  206. package/dist/components/templates/recipes/RecipeList.js +17 -17
  207. package/dist/components/templates/recipes/index.d.ts +2 -2
  208. package/dist/components/templates/recipes/index.js +17 -17
  209. package/dist/components/templates/todos/FilterBar.d.ts +1 -1
  210. package/dist/components/templates/todos/FilterBar.js +9 -9
  211. package/dist/components/templates/todos/TaskForm.js +14 -14
  212. package/dist/components/templates/todos/TaskItem.js +4 -4
  213. package/dist/components/templates/todos/TaskList.js +30 -30
  214. package/dist/components/templates/todos/index.d.ts +2 -2
  215. package/dist/components/templates/todos/index.js +30 -30
  216. package/dist/config/index.d.ts +2 -2
  217. package/dist/features/contracts-registry.d.ts +3 -3
  218. package/dist/features/contracts-registry.js +15 -15
  219. package/dist/features/docs/docs.contracts.d.ts +1 -1
  220. package/dist/features/docs/docs.contracts.js +2 -2
  221. package/dist/features/docs/index.d.ts +1 -1
  222. package/dist/features/docs/index.js +2 -2
  223. package/dist/features/index.d.ts +4 -4
  224. package/dist/features/index.js +18 -18
  225. package/dist/features/registry.js +1 -1
  226. package/dist/index.d.ts +2 -2
  227. package/dist/index.js +14982 -16254
  228. package/dist/libs/email/client.js +1 -1
  229. package/dist/libs/email/contact.js +1 -1
  230. package/dist/libs/email/newsletter.js +1 -1
  231. package/dist/libs/email/waitlist-application.js +1 -1
  232. package/dist/libs/email/waitlist.js +1 -1
  233. package/dist/libs/email.d.ts +1 -1
  234. package/dist/libs/email.js +1 -1
  235. package/dist/node/application/index.js +842 -840
  236. package/dist/node/application/mcp/cliMcp.js +30 -30
  237. package/dist/node/application/mcp/common.js +2 -2
  238. package/dist/node/application/mcp/contractsMcp.js +163 -163
  239. package/dist/node/application/mcp/docsMcp.js +31 -31
  240. package/dist/node/application/mcp/index.js +842 -840
  241. package/dist/node/application/mcp/internalMcp.js +30 -30
  242. package/dist/node/application/mcp/providerRankingMcp.js +35 -33
  243. package/dist/node/components/docs/DocsIndexPage.js +859 -212
  244. package/dist/node/components/docs/advanced/AdvancedMCPPage.js +15 -15
  245. package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +4 -4
  246. package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +7 -7
  247. package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +9 -9
  248. package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +16 -16
  249. package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +6 -6
  250. package/dist/node/components/docs/advanced/index.js +57 -57
  251. package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +10 -10
  252. package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +8 -8
  253. package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +14 -14
  254. package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +16 -16
  255. package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +7 -7
  256. package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +90 -411
  257. package/dist/node/components/docs/architecture/index.js +145 -466
  258. package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +6 -6
  259. package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +7 -7
  260. package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +6 -6
  261. package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +4 -4
  262. package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +6 -6
  263. package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +6 -6
  264. package/dist/node/components/docs/comparison/index.js +35 -35
  265. package/dist/node/components/docs/docsManifest.js +611 -0
  266. package/dist/node/components/docs/ecosystem/IntegrationsPage.js +5 -5
  267. package/dist/node/components/docs/ecosystem/PluginsPage.js +7 -7
  268. package/dist/node/components/docs/ecosystem/RegistryPage.js +4 -4
  269. package/dist/node/components/docs/ecosystem/TemplatesPage.js +11 -11
  270. package/dist/node/components/docs/ecosystem/index.js +27 -27
  271. package/dist/node/components/docs/examples/DocsExamplesPage.js +4 -4
  272. package/dist/node/components/docs/examples/index.js +4 -4
  273. package/dist/node/components/docs/getting-started/CLIPage.js +9 -9
  274. package/dist/node/components/docs/getting-started/CompatibilityPage.js +12 -12
  275. package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +7 -7
  276. package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +10 -10
  277. package/dist/node/components/docs/getting-started/HelloWorldPage.js +8 -8
  278. package/dist/node/components/docs/getting-started/InstallationPage.js +10 -10
  279. package/dist/node/components/docs/getting-started/StartHerePage.js +8 -8
  280. package/dist/node/components/docs/getting-started/TroubleshootingPage.js +12 -12
  281. package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +13 -13
  282. package/dist/node/components/docs/getting-started/index.js +89 -89
  283. package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +13 -13
  284. package/dist/node/components/docs/guides/GuideContractTypesPage.js +33 -33
  285. package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +13 -13
  286. package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +13 -13
  287. package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +35 -35
  288. package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +15 -15
  289. package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +13 -13
  290. package/dist/node/components/docs/guides/GuidesIndexPage.js +69 -46
  291. package/dist/node/components/docs/guides/index.js +174 -151
  292. package/dist/node/components/docs/index.js +14060 -15332
  293. package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +4 -4
  294. package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +7 -7
  295. package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +11 -11
  296. package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +7 -7
  297. package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +5 -5
  298. package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +12 -12
  299. package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +12 -12
  300. package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +11 -11
  301. package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +119 -736
  302. package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +12 -12
  303. package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +24 -24
  304. package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +9 -9
  305. package/dist/node/components/docs/integrations/IntegrationsResendPage.js +7 -7
  306. package/dist/node/components/docs/integrations/IntegrationsS3Page.js +9 -9
  307. package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +11 -11
  308. package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +19 -19
  309. package/dist/node/components/docs/integrations/IntegrationsStripePage.js +25 -25
  310. package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +9 -9
  311. package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +12 -12
  312. package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +13 -13
  313. package/dist/node/components/docs/integrations/index.js +614 -1231
  314. package/dist/node/components/docs/intent/ContractFirstApiPage.js +8 -8
  315. package/dist/node/components/docs/intent/DeterministicCodegenPage.js +9 -9
  316. package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +13 -13
  317. package/dist/node/components/docs/intent/OpenapiAlternativePage.js +13 -13
  318. package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +9 -9
  319. package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +8 -8
  320. package/dist/node/components/docs/intent/index.js +766 -766
  321. package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +38 -38
  322. package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +9 -9
  323. package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +91 -439
  324. package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +28 -28
  325. package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +21 -21
  326. package/dist/node/components/docs/knowledge/index.js +437 -785
  327. package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +16 -16
  328. package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +8 -8
  329. package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +6 -6
  330. package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +6 -6
  331. package/dist/node/components/docs/libraries/LibrariesContractsPage.js +16 -16
  332. package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +6 -6
  333. package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +14 -14
  334. package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +7 -7
  335. package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +13 -13
  336. package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +7 -7
  337. package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +13 -13
  338. package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +5 -5
  339. package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +5 -5
  340. package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +7 -7
  341. package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +6 -6
  342. package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +117 -430
  343. package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +6 -6
  344. package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +6 -6
  345. package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +6 -6
  346. package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +13 -13
  347. package/dist/node/components/docs/libraries/LibrariesSLOPage.js +6 -6
  348. package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +16 -16
  349. package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +7 -7
  350. package/dist/node/components/docs/libraries/LibrariesTestingPage.js +7 -7
  351. package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +10 -10
  352. package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +5 -5
  353. package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +8 -8
  354. package/dist/node/components/docs/libraries/index.js +1308 -1621
  355. package/dist/node/components/docs/manifesto/ManifestoPage.js +33 -138
  356. package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +9 -9
  357. package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +5 -5
  358. package/dist/node/components/docs/ops/index.js +14 -14
  359. package/dist/node/components/docs/reference/DocsMarkdownContent.js +1 -1
  360. package/dist/node/components/docs/reference/DocsReferenceContent.js +2 -2
  361. package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +8 -8
  362. package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +8 -8
  363. package/dist/node/components/docs/reference/DocsReferencePage.js +2 -2
  364. package/dist/node/components/docs/reference/index.js +10 -10
  365. package/dist/node/components/docs/safety/SafetyAuditingPage.js +16 -16
  366. package/dist/node/components/docs/safety/SafetyMigrationsPage.js +15 -15
  367. package/dist/node/components/docs/safety/SafetyOverviewPage.js +69 -206
  368. package/dist/node/components/docs/safety/SafetyPDPPage.js +12 -12
  369. package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +11 -11
  370. package/dist/node/components/docs/safety/SafetySigningPage.js +7 -7
  371. package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +6 -6
  372. package/dist/node/components/docs/safety/index.js +616 -753
  373. package/dist/node/components/docs/shared/StudioPrompt.js +5 -5
  374. package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +12 -12
  375. package/dist/node/components/docs/specs/SpecsDataViewsPage.js +14 -14
  376. package/dist/node/components/docs/specs/SpecsOverlaysPage.js +14 -14
  377. package/dist/node/components/docs/specs/SpecsOverviewPage.js +135 -297
  378. package/dist/node/components/docs/specs/SpecsPolicyPage.js +29 -29
  379. package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +18 -18
  380. package/dist/node/components/docs/specs/index.js +814 -976
  381. package/dist/node/components/docs/studio/StudioBYOKPage.js +1 -1
  382. package/dist/node/components/docs/studio/StudioDeploymentsPage.js +1 -1
  383. package/dist/node/components/docs/studio/StudioGettingStartedPage.js +1 -1
  384. package/dist/node/components/docs/studio/StudioIntegrationsPage.js +1 -1
  385. package/dist/node/components/docs/studio/StudioOverviewPage.js +109 -56
  386. package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +1 -1
  387. package/dist/node/components/docs/studio/index.js +170 -117
  388. package/dist/node/components/integrations/index.js +25 -25
  389. package/dist/node/components/integrations/molecules/IntegrationCard.js +5 -5
  390. package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +12 -12
  391. package/dist/node/components/integrations/organisms/IntegrationSettings.js +7 -7
  392. package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +6 -6
  393. package/dist/node/components/legal/PrivacyTemplate.js +67 -67
  394. package/dist/node/components/legal/TermsTemplate.js +54 -54
  395. package/dist/node/components/legal/index.js +121 -121
  396. package/dist/node/components/shared/FeatureGateNotice.js +4 -4
  397. package/dist/node/components/shared/index.js +4 -4
  398. package/dist/node/components/shell/WorkspaceHeader.js +4 -4
  399. package/dist/node/components/shell/WorkspaceProjectShellLayout.js +10 -10
  400. package/dist/node/components/shell/WorkspaceShellRenderer.js +8 -8
  401. package/dist/node/components/shell/WorkspaceSidebar.js +2 -2
  402. package/dist/node/components/shell/index.js +12 -12
  403. package/dist/node/components/templates/index.js +835 -835
  404. package/dist/node/components/templates/messaging/ConversationList.js +11 -11
  405. package/dist/node/components/templates/messaging/MessageComposer.js +11 -11
  406. package/dist/node/components/templates/messaging/MessageThread.js +6 -6
  407. package/dist/node/components/templates/messaging/MessagingWorkspace.js +23 -23
  408. package/dist/node/components/templates/messaging/index.js +23 -23
  409. package/dist/node/components/templates/recipes/LanguageSwitcher.js +1 -1
  410. package/dist/node/components/templates/recipes/RecipeCard.js +5 -5
  411. package/dist/node/components/templates/recipes/RecipeDetail.js +8 -8
  412. package/dist/node/components/templates/recipes/RecipeList.js +17 -17
  413. package/dist/node/components/templates/recipes/index.js +17 -17
  414. package/dist/node/components/templates/todos/FilterBar.js +9 -9
  415. package/dist/node/components/templates/todos/TaskForm.js +14 -14
  416. package/dist/node/components/templates/todos/TaskItem.js +4 -4
  417. package/dist/node/components/templates/todos/TaskList.js +30 -30
  418. package/dist/node/components/templates/todos/index.js +30 -30
  419. package/dist/node/features/contracts-registry.js +15 -15
  420. package/dist/node/features/docs/docs.contracts.js +2 -2
  421. package/dist/node/features/docs/index.js +2 -2
  422. package/dist/node/features/index.js +18 -18
  423. package/dist/node/features/registry.js +1 -1
  424. package/dist/node/index.js +14982 -16254
  425. package/dist/node/libs/email/client.js +1 -1
  426. package/dist/node/libs/email/contact.js +1 -1
  427. package/dist/node/libs/email/newsletter.js +1 -1
  428. package/dist/node/libs/email/waitlist-application.js +1 -1
  429. package/dist/node/libs/email/waitlist.js +1 -1
  430. package/dist/node/libs/email.js +1 -1
  431. package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +7 -7
  432. package/dist/node/presentation/features/atoms/FeatureIcon/index.js +7 -7
  433. package/dist/node/presentation/features/atoms/index.js +7 -7
  434. package/dist/node/presentation/features/hooks/index.js +56 -56
  435. package/dist/node/presentation/features/hooks/useContractsRegistry.js +18 -18
  436. package/dist/node/presentation/features/hooks/useFeatureFilters.js +1 -1
  437. package/dist/node/presentation/features/hooks/useFeatureRegistry.js +1 -1
  438. package/dist/node/presentation/features/hooks/useRelatedDocs.js +1 -1
  439. package/dist/node/presentation/features/index.js +1364 -1364
  440. package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +15 -15
  441. package/dist/node/presentation/features/molecules/FeatureCard/index.js +15 -15
  442. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +7 -7
  443. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +7 -7
  444. package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
  445. package/dist/node/presentation/features/molecules/FeatureFilters/index.js +1 -1
  446. package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +5 -5
  447. package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +5 -5
  448. package/dist/node/presentation/features/molecules/index.js +77 -77
  449. package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +18 -18
  450. package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +121 -121
  451. package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +121 -121
  452. package/dist/node/presentation/features/organisms/FeatureEventsList.js +18 -18
  453. package/dist/node/presentation/features/organisms/FeatureFormsList.js +18 -18
  454. package/dist/node/presentation/features/organisms/FeatureOperationsList.js +15 -15
  455. package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +18 -18
  456. package/dist/node/presentation/features/organisms/index.js +401 -401
  457. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +13 -13
  458. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +13 -13
  459. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +20 -20
  460. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +20 -20
  461. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +12 -12
  462. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +12 -12
  463. package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +18 -18
  464. package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +18 -18
  465. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +13 -13
  466. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +13 -13
  467. package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +20 -20
  468. package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +20 -20
  469. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +8 -8
  470. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +8 -8
  471. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +15 -15
  472. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +15 -15
  473. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +2 -2
  474. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +2 -2
  475. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +12 -12
  476. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +12 -12
  477. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +18 -18
  478. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +18 -18
  479. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +7 -7
  480. package/dist/presentation/features/atoms/FeatureIcon/index.d.ts +1 -1
  481. package/dist/presentation/features/atoms/FeatureIcon/index.js +7 -7
  482. package/dist/presentation/features/atoms/index.js +7 -7
  483. package/dist/presentation/features/hooks/index.d.ts +3 -3
  484. package/dist/presentation/features/hooks/index.js +56 -56
  485. package/dist/presentation/features/hooks/useContractsRegistry.js +18 -18
  486. package/dist/presentation/features/hooks/useFeatureFilters.js +1 -1
  487. package/dist/presentation/features/hooks/useFeatureRegistry.js +1 -1
  488. package/dist/presentation/features/hooks/useRelatedDocs.js +1 -1
  489. package/dist/presentation/features/index.d.ts +14 -14
  490. package/dist/presentation/features/index.js +1364 -1364
  491. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +15 -15
  492. package/dist/presentation/features/molecules/FeatureCard/index.js +15 -15
  493. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +7 -7
  494. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +7 -7
  495. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
  496. package/dist/presentation/features/molecules/FeatureFilters/index.js +1 -1
  497. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +5 -5
  498. package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +5 -5
  499. package/dist/presentation/features/molecules/index.d.ts +1 -1
  500. package/dist/presentation/features/molecules/index.js +77 -77
  501. package/dist/presentation/features/organisms/FeatureDataViewsList.js +18 -18
  502. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +121 -121
  503. package/dist/presentation/features/organisms/FeatureDiscovery/index.d.ts +1 -1
  504. package/dist/presentation/features/organisms/FeatureDiscovery/index.js +121 -121
  505. package/dist/presentation/features/organisms/FeatureEventsList.js +18 -18
  506. package/dist/presentation/features/organisms/FeatureFormsList.js +18 -18
  507. package/dist/presentation/features/organisms/FeatureOperationsList.js +15 -15
  508. package/dist/presentation/features/organisms/FeaturePresentationsList.js +18 -18
  509. package/dist/presentation/features/organisms/index.d.ts +4 -4
  510. package/dist/presentation/features/organisms/index.js +401 -401
  511. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +13 -13
  512. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +13 -13
  513. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/types.d.ts +1 -1
  514. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +20 -20
  515. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +20 -20
  516. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +12 -12
  517. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +12 -12
  518. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +18 -18
  519. package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +18 -18
  520. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +13 -13
  521. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +13 -13
  522. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +20 -20
  523. package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +20 -20
  524. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +8 -8
  525. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +8 -8
  526. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +15 -15
  527. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +15 -15
  528. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +2 -2
  529. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +2 -2
  530. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +12 -12
  531. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +12 -12
  532. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +18 -18
  533. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +18 -18
  534. package/package.json +38 -24
  535. package/src/__tests__/env-setup.ts +1 -1
  536. package/src/__tests__/mocks/prisma.ts +78 -78
  537. package/src/__tests__/setup.ts +2 -2
  538. package/src/application/context-storage/index.ts +42 -42
  539. package/src/application/index.ts +1 -1
  540. package/src/application/mcp/cliMcp.ts +221 -221
  541. package/src/application/mcp/common.ts +210 -210
  542. package/src/application/mcp/contractsMcp.ts +15 -15
  543. package/src/application/mcp/contractsMcpResources.ts +119 -119
  544. package/src/application/mcp/contractsMcpTools.ts +218 -218
  545. package/src/application/mcp/contractsMcpTypes.ts +35 -35
  546. package/src/application/mcp/docsMcp.ts +173 -173
  547. package/src/application/mcp/index.ts +2 -2
  548. package/src/application/mcp/internalMcp.ts +204 -204
  549. package/src/application/mcp/providerRankingMcp.ts +346 -344
  550. package/src/bundles/LibraryBundle.ts +136 -136
  551. package/src/components/docs/DocsIndexPage.tsx +189 -241
  552. package/src/components/docs/advanced/AdvancedMCPPage.tsx +168 -168
  553. package/src/components/docs/advanced/AdvancedOverlayEditorPage.tsx +52 -52
  554. package/src/components/docs/advanced/AdvancedRenderersPage.tsx +53 -53
  555. package/src/components/docs/advanced/AdvancedSpecExperimentsPage.tsx +48 -48
  556. package/src/components/docs/advanced/AdvancedTelemetryPage.tsx +205 -205
  557. package/src/components/docs/advanced/AdvancedWorkflowMonitoringPage.tsx +42 -42
  558. package/src/components/docs/advanced/index.ts +2 -2
  559. package/src/components/docs/architecture/ArchitectureAppConfigPage.tsx +127 -127
  560. package/src/components/docs/architecture/ArchitectureControlPlanePage.tsx +79 -79
  561. package/src/components/docs/architecture/ArchitectureIntegrationBindingPage.tsx +147 -147
  562. package/src/components/docs/architecture/ArchitectureKnowledgeBindingPage.tsx +193 -193
  563. package/src/components/docs/architecture/ArchitectureMultiTenancyPage.tsx +73 -73
  564. package/src/components/docs/architecture/ArchitectureOverviewPage.tsx +98 -273
  565. package/src/components/docs/architecture/index.ts +3 -3
  566. package/src/components/docs/comparison/ComparisonAutomationPlatformsPage.tsx +137 -137
  567. package/src/components/docs/comparison/ComparisonEnterprisePlatformsPage.tsx +138 -138
  568. package/src/components/docs/comparison/ComparisonInternalToolBuildersPage.tsx +147 -147
  569. package/src/components/docs/comparison/ComparisonOverviewPage.tsx +106 -106
  570. package/src/components/docs/comparison/ComparisonWindmillPage.tsx +143 -143
  571. package/src/components/docs/comparison/ComparisonWorkflowEnginesPage.tsx +168 -168
  572. package/src/components/docs/comparison/index.ts +2 -2
  573. package/src/components/docs/docsManifest.ts +720 -0
  574. package/src/components/docs/ecosystem/IntegrationsPage.tsx +45 -45
  575. package/src/components/docs/ecosystem/PluginsPage.tsx +77 -77
  576. package/src/components/docs/ecosystem/RegistryPage.tsx +48 -48
  577. package/src/components/docs/ecosystem/TemplatesPage.tsx +52 -52
  578. package/src/components/docs/ecosystem/ecosystem.docblocks.ts +42 -42
  579. package/src/components/docs/ecosystem/index.ts +2 -2
  580. package/src/components/docs/examples/DocsExamplesPage.tsx +67 -66
  581. package/src/components/docs/generated/docs-index._common.json +1757 -1757
  582. package/src/components/docs/generated/docs-index.agent-console.json +376 -376
  583. package/src/components/docs/generated/docs-index.ai-chat-assistant.json +8 -8
  584. package/src/components/docs/generated/docs-index.ai-chat.json +104 -104
  585. package/src/components/docs/generated/docs-index.ai-support-bot.json +8 -8
  586. package/src/components/docs/generated/docs-index.analytics-dashboard.json +168 -168
  587. package/src/components/docs/generated/docs-index.app-config.json +136 -136
  588. package/src/components/docs/generated/docs-index.audit-trail.json +48 -48
  589. package/src/components/docs/generated/docs-index.calendar-google.json +8 -8
  590. package/src/components/docs/generated/docs-index.content-generation.json +8 -8
  591. package/src/components/docs/generated/docs-index.crm-pipeline.json +160 -160
  592. package/src/components/docs/generated/docs-index.email-gmail.json +8 -8
  593. package/src/components/docs/generated/docs-index.feature-flags.json +216 -216
  594. package/src/components/docs/generated/docs-index.files.json +176 -176
  595. package/src/components/docs/generated/docs-index.generated.ts +19 -19
  596. package/src/components/docs/generated/docs-index.health.json +96 -96
  597. package/src/components/docs/generated/docs-index.identity-rbac.json +312 -312
  598. package/src/components/docs/generated/docs-index.in-app-docs.json +8 -8
  599. package/src/components/docs/generated/docs-index.integration-hub.json +264 -264
  600. package/src/components/docs/generated/docs-index.integration-posthog.json +8 -8
  601. package/src/components/docs/generated/docs-index.integration-stripe.json +8 -8
  602. package/src/components/docs/generated/docs-index.integration-supabase.json +8 -8
  603. package/src/components/docs/generated/docs-index.jobs.json +136 -136
  604. package/src/components/docs/generated/docs-index.kb-update-pipeline.json +128 -128
  605. package/src/components/docs/generated/docs-index.knowledge-canon.json +8 -8
  606. package/src/components/docs/generated/docs-index.learning-journey-ambient-coach.json +8 -8
  607. package/src/components/docs/generated/docs-index.learning-journey-crm-onboarding.json +48 -48
  608. package/src/components/docs/generated/docs-index.learning-journey-duo-drills.json +8 -8
  609. package/src/components/docs/generated/docs-index.learning-journey-platform-tour.json +48 -48
  610. package/src/components/docs/generated/docs-index.learning-journey-quest-challenges.json +8 -8
  611. package/src/components/docs/generated/docs-index.learning-journey-registry.json +32 -32
  612. package/src/components/docs/generated/docs-index.learning-journey-studio-onboarding.json +48 -48
  613. package/src/components/docs/generated/docs-index.learning-journey-ui-coaching.json +8 -8
  614. package/src/components/docs/generated/docs-index.learning-journey-ui-gamified.json +8 -8
  615. package/src/components/docs/generated/docs-index.learning-journey-ui-onboarding.json +8 -8
  616. package/src/components/docs/generated/docs-index.learning-journey-ui-shared.json +8 -8
  617. package/src/components/docs/generated/docs-index.learning-journey.json +216 -216
  618. package/src/components/docs/generated/docs-index.learning-patterns.json +8 -8
  619. package/src/components/docs/generated/docs-index.lifecycle-cli.json +8 -8
  620. package/src/components/docs/generated/docs-index.lifecycle-dashboard.json +8 -8
  621. package/src/components/docs/generated/docs-index.locale-jurisdiction-gate.json +48 -48
  622. package/src/components/docs/generated/docs-index.manifest.json +376 -376
  623. package/src/components/docs/generated/docs-index.marketplace.json +336 -336
  624. package/src/components/docs/generated/docs-index.meeting-recorder-providers.json +8 -8
  625. package/src/components/docs/generated/docs-index.meeting-recorder.json +48 -48
  626. package/src/components/docs/generated/docs-index.metrics.json +200 -200
  627. package/src/components/docs/generated/docs-index.minimal.json +16 -16
  628. package/src/components/docs/generated/docs-index.notifications.json +64 -64
  629. package/src/components/docs/generated/docs-index.openbanking-powens.json +8 -8
  630. package/src/components/docs/generated/docs-index.openbanking.json +64 -64
  631. package/src/components/docs/generated/docs-index.opencode-cli.json +16 -16
  632. package/src/components/docs/generated/docs-index.personalization.json +8 -8
  633. package/src/components/docs/generated/docs-index.platform-acp.json +72 -72
  634. package/src/components/docs/generated/docs-index.platform-agent.json +96 -96
  635. package/src/components/docs/generated/docs-index.platform-context.json +56 -56
  636. package/src/components/docs/generated/docs-index.platform-database.json +48 -48
  637. package/src/components/docs/generated/docs-index.platform-docs.json +88 -88
  638. package/src/components/docs/generated/docs-index.platform-integrations.json +320 -320
  639. package/src/components/docs/generated/docs-index.platform-knowledge.json +56 -56
  640. package/src/components/docs/generated/docs-index.platform-provider-ranking.json +96 -96
  641. package/src/components/docs/generated/docs-index.pocket-family-office.json +120 -120
  642. package/src/components/docs/generated/docs-index.policy-safe-knowledge-assistant.json +8 -8
  643. package/src/components/docs/generated/docs-index.product-intent.json +8 -8
  644. package/src/components/docs/generated/docs-index.project-management-sync.json +8 -8
  645. package/src/components/docs/generated/docs-index.saas-boilerplate.json +208 -208
  646. package/src/components/docs/generated/docs-index.service-business-os.json +192 -192
  647. package/src/components/docs/generated/docs-index.team-hub.json +184 -184
  648. package/src/components/docs/generated/docs-index.unknown.json +512 -512
  649. package/src/components/docs/generated/docs-index.versioned-knowledge-base.json +80 -80
  650. package/src/components/docs/generated/docs-index.video-api-showcase.json +32 -32
  651. package/src/components/docs/generated/docs-index.video-docs-terminal.json +8 -8
  652. package/src/components/docs/generated/docs-index.video-marketing-clip.json +8 -8
  653. package/src/components/docs/generated/docs-index.voice-providers.json +8 -8
  654. package/src/components/docs/generated/docs-index.wealth-snapshot.json +152 -152
  655. package/src/components/docs/generated/docs-index.workflow-system.json +432 -432
  656. package/src/components/docs/generated/docs-index.workspace-cli.json +8 -8
  657. package/src/components/docs/generated/index.ts +6 -6
  658. package/src/components/docs/generated/loader.ts +49 -49
  659. package/src/components/docs/getting-started/CLIPage.tsx +157 -157
  660. package/src/components/docs/getting-started/CompatibilityPage.tsx +69 -69
  661. package/src/components/docs/getting-started/DataViewTutorialPage.tsx +63 -63
  662. package/src/components/docs/getting-started/DeveloperToolsPage.tsx +141 -140
  663. package/src/components/docs/getting-started/HelloWorldPage.tsx +88 -88
  664. package/src/components/docs/getting-started/InstallationPage.tsx +78 -78
  665. package/src/components/docs/getting-started/StartHerePage.tsx +64 -64
  666. package/src/components/docs/getting-started/TroubleshootingPage.tsx +68 -68
  667. package/src/components/docs/getting-started/VSCodeExtensionPage.tsx +233 -233
  668. package/src/components/docs/getting-started/getting-started.docblocks.ts +30 -30
  669. package/src/components/docs/getting-started/index.ts +6 -5
  670. package/src/components/docs/guides/GuideCIDiffGatingPage.tsx +88 -88
  671. package/src/components/docs/guides/GuideContractTypesPage.tsx +266 -266
  672. package/src/components/docs/guides/GuideDocsPipelinePage.tsx +78 -78
  673. package/src/components/docs/guides/GuideGenerateDocsClientsSchemasPage.tsx +89 -89
  674. package/src/components/docs/guides/GuideImportExistingCodebasesPage.tsx +360 -360
  675. package/src/components/docs/guides/GuideNextjsOneEndpointPage.tsx +117 -117
  676. package/src/components/docs/guides/GuideSpecValidationTypingPage.tsx +82 -82
  677. package/src/components/docs/guides/GuidesIndexPage.tsx +109 -99
  678. package/src/components/docs/guides/guides.docblocks.ts +60 -60
  679. package/src/components/docs/guides/index.ts +4 -4
  680. package/src/components/docs/index.ts +26 -40
  681. package/src/components/docs/integrations/IntegrationsCircuitBreakersPage.tsx +22 -22
  682. package/src/components/docs/integrations/IntegrationsElevenLabsPage.tsx +41 -41
  683. package/src/components/docs/integrations/IntegrationsGithubPage.tsx +66 -66
  684. package/src/components/docs/integrations/IntegrationsGmailPage.tsx +44 -44
  685. package/src/components/docs/integrations/IntegrationsGoogleCalendarPage.tsx +31 -31
  686. package/src/components/docs/integrations/IntegrationsHealthRoutingPage.tsx +80 -80
  687. package/src/components/docs/integrations/IntegrationsMistralPage.tsx +65 -65
  688. package/src/components/docs/integrations/IntegrationsOpenAIPage.tsx +54 -54
  689. package/src/components/docs/integrations/IntegrationsOverviewPage.tsx +124 -529
  690. package/src/components/docs/integrations/IntegrationsPostmarkPage.tsx +97 -97
  691. package/src/components/docs/integrations/IntegrationsPowensPage.tsx +165 -165
  692. package/src/components/docs/integrations/IntegrationsQdrantPage.tsx +44 -44
  693. package/src/components/docs/integrations/IntegrationsResendPage.tsx +40 -40
  694. package/src/components/docs/integrations/IntegrationsS3Page.tsx +48 -48
  695. package/src/components/docs/integrations/IntegrationsSlackPage.tsx +70 -70
  696. package/src/components/docs/integrations/IntegrationsSpecModelPage.tsx +139 -139
  697. package/src/components/docs/integrations/IntegrationsStripePage.tsx +153 -153
  698. package/src/components/docs/integrations/IntegrationsTwilioPage.tsx +50 -50
  699. package/src/components/docs/integrations/IntegrationsWhatsappMetaPage.tsx +69 -69
  700. package/src/components/docs/integrations/IntegrationsWhatsappTwilioPage.tsx +73 -73
  701. package/src/components/docs/integrations/index.ts +1 -1
  702. package/src/components/docs/intent/ContractFirstApiPage.tsx +61 -61
  703. package/src/components/docs/intent/DeterministicCodegenPage.tsx +81 -80
  704. package/src/components/docs/intent/GenerateClientFromSchemaPage.tsx +108 -108
  705. package/src/components/docs/intent/OpenapiAlternativePage.tsx +98 -98
  706. package/src/components/docs/intent/SchemaValidationTypescriptPage.tsx +79 -79
  707. package/src/components/docs/intent/SpecDrivenDevelopmentPage.tsx +67 -67
  708. package/src/components/docs/intent/index.ts +3 -3
  709. package/src/components/docs/intent/intent-pages.docblocks.ts +186 -186
  710. package/src/components/docs/knowledge/KnowledgeCategoriesPage.tsx +304 -304
  711. package/src/components/docs/knowledge/KnowledgeExamplesPage.tsx +84 -84
  712. package/src/components/docs/knowledge/KnowledgeOverviewPage.tsx +76 -285
  713. package/src/components/docs/knowledge/KnowledgeSourcesPage.tsx +171 -171
  714. package/src/components/docs/knowledge/KnowledgeSpacesPage.tsx +132 -132
  715. package/src/components/docs/knowledge/index.ts +1 -1
  716. package/src/components/docs/libraries/LibrariesAccessibilityPage.tsx +95 -95
  717. package/src/components/docs/libraries/LibrariesAiAgentPage.tsx +58 -58
  718. package/src/components/docs/libraries/LibrariesAnalyticsPage.tsx +39 -39
  719. package/src/components/docs/libraries/LibrariesContentGenPage.tsx +41 -41
  720. package/src/components/docs/libraries/LibrariesContractsPage.tsx +132 -132
  721. package/src/components/docs/libraries/LibrariesCostTrackingPage.tsx +47 -47
  722. package/src/components/docs/libraries/LibrariesDataBackendPage.tsx +73 -73
  723. package/src/components/docs/libraries/LibrariesDataViewsPage.tsx +76 -76
  724. package/src/components/docs/libraries/LibrariesDesignSystemPage.tsx +115 -115
  725. package/src/components/docs/libraries/LibrariesEvolutionPage.tsx +64 -64
  726. package/src/components/docs/libraries/LibrariesGraphQLPage.tsx +92 -92
  727. package/src/components/docs/libraries/LibrariesGrowthPage.tsx +37 -37
  728. package/src/components/docs/libraries/LibrariesMultiTenancyPage.tsx +47 -47
  729. package/src/components/docs/libraries/LibrariesObservabilityPage.tsx +58 -58
  730. package/src/components/docs/libraries/LibrariesOverlayEnginePage.tsx +51 -51
  731. package/src/components/docs/libraries/LibrariesOverviewPage.tsx +137 -301
  732. package/src/components/docs/libraries/LibrariesPersonalizationPage.tsx +57 -57
  733. package/src/components/docs/libraries/LibrariesProgressiveDeliveryPage.tsx +51 -51
  734. package/src/components/docs/libraries/LibrariesResiliencePage.tsx +54 -54
  735. package/src/components/docs/libraries/LibrariesRuntimePage.tsx +96 -96
  736. package/src/components/docs/libraries/LibrariesSLOPage.tsx +52 -52
  737. package/src/components/docs/libraries/LibrariesSchemaPage.tsx +131 -131
  738. package/src/components/docs/libraries/LibrariesSupportBotPage.tsx +59 -59
  739. package/src/components/docs/libraries/LibrariesTestingPage.tsx +64 -64
  740. package/src/components/docs/libraries/LibrariesUIKitPage.tsx +85 -85
  741. package/src/components/docs/libraries/LibrariesWorkflowComposerPage.tsx +38 -38
  742. package/src/components/docs/libraries/LibrariesWorkflowsPage.tsx +79 -79
  743. package/src/components/docs/libraries/index.ts +4 -4
  744. package/src/components/docs/manifesto/ManifestoPage.tsx +61 -132
  745. package/src/components/docs/ops/AutoEvolutionOpsPage.tsx +81 -81
  746. package/src/components/docs/ops/DistributedTracingOpsPage.tsx +28 -28
  747. package/src/components/docs/ops/ops-lifecycle.docblocks.ts +32 -32
  748. package/src/components/docs/ops/ops-runbooks-a.docblocks.ts +60 -60
  749. package/src/components/docs/ops/ops-runbooks-b.docblocks.ts +60 -60
  750. package/src/components/docs/ops/ops-slo-tenant.docblocks.ts +61 -61
  751. package/src/components/docs/ops/ops-top.docs.ts +10 -10
  752. package/src/components/docs/ops/ops.docs.ts +6 -6
  753. package/src/components/docs/product/product.docblocks.ts +60 -60
  754. package/src/components/docs/reference/DocsMarkdownContent.tsx +74 -74
  755. package/src/components/docs/reference/DocsReferenceContent.tsx +51 -51
  756. package/src/components/docs/reference/DocsReferenceIndexClient.tsx +106 -105
  757. package/src/components/docs/reference/DocsReferenceIndexPage.tsx +2 -2
  758. package/src/components/docs/reference/DocsReferencePage.tsx +3 -3
  759. package/src/components/docs/reference/docsMarkdownParser.ts +90 -90
  760. package/src/components/docs/safety/SafetyAuditingPage.tsx +189 -189
  761. package/src/components/docs/safety/SafetyMigrationsPage.tsx +189 -189
  762. package/src/components/docs/safety/SafetyOverviewPage.tsx +70 -157
  763. package/src/components/docs/safety/SafetyPDPPage.tsx +163 -163
  764. package/src/components/docs/safety/SafetySecurityTrustPage.tsx +89 -89
  765. package/src/components/docs/safety/SafetySigningPage.tsx +38 -38
  766. package/src/components/docs/safety/SafetyTenantIsolationPage.tsx +39 -39
  767. package/src/components/docs/safety/index.ts +3 -3
  768. package/src/components/docs/shared/StudioPrompt.tsx +17 -17
  769. package/src/components/docs/specs/SpecsCapabilitiesPage.tsx +79 -79
  770. package/src/components/docs/specs/SpecsDataViewsPage.tsx +142 -142
  771. package/src/components/docs/specs/SpecsOverlaysPage.tsx +202 -202
  772. package/src/components/docs/specs/SpecsOverviewPage.tsx +118 -193
  773. package/src/components/docs/specs/SpecsPolicyPage.tsx +233 -233
  774. package/src/components/docs/specs/SpecsWorkflowsPage.tsx +156 -156
  775. package/src/components/docs/specs/index.ts +3 -3
  776. package/src/components/docs/studio/StudioBYOKPage.tsx +11 -11
  777. package/src/components/docs/studio/StudioDeploymentsPage.tsx +11 -11
  778. package/src/components/docs/studio/StudioGettingStartedPage.tsx +11 -11
  779. package/src/components/docs/studio/StudioIntegrationsPage.tsx +11 -11
  780. package/src/components/docs/studio/StudioOverviewPage.tsx +94 -73
  781. package/src/components/docs/studio/StudioVisualBuilderPage.tsx +11 -11
  782. package/src/components/docs/studio/index.ts +4 -4
  783. package/src/components/docs/tech/contracts/tech-docs.docblocks.ts +10 -10
  784. package/src/components/integrations/molecules/IntegrationCard.tsx +71 -72
  785. package/src/components/integrations/organisms/IntegrationMarketplace.tsx +116 -116
  786. package/src/components/integrations/organisms/IntegrationSettings.tsx +201 -201
  787. package/src/components/integrations/organisms/KnowledgeSourceList.tsx +93 -94
  788. package/src/components/legal/PrivacyTemplate.tsx +611 -611
  789. package/src/components/legal/TermsTemplate.tsx +675 -675
  790. package/src/components/shared/FeatureGateNotice.tsx +26 -27
  791. package/src/components/shell/WorkspaceHeader.tsx +80 -80
  792. package/src/components/shell/WorkspaceProjectShellLayout.tsx +59 -58
  793. package/src/components/shell/WorkspaceShellRenderer.tsx +69 -68
  794. package/src/components/shell/WorkspaceSidebar.tsx +58 -58
  795. package/src/components/shell/index.ts +1 -1
  796. package/src/components/templates/engine/index.ts +29 -28
  797. package/src/components/templates/index.ts +1 -1
  798. package/src/components/templates/messaging/ConversationList.tsx +68 -69
  799. package/src/components/templates/messaging/MessageComposer.tsx +59 -59
  800. package/src/components/templates/messaging/MessageThread.tsx +73 -74
  801. package/src/components/templates/messaging/MessagingWorkspace.tsx +18 -19
  802. package/src/components/templates/messaging/index.ts +1 -1
  803. package/src/components/templates/messaging/types.ts +17 -17
  804. package/src/components/templates/recipes/LanguageSwitcher.tsx +20 -20
  805. package/src/components/templates/recipes/RecipeCard.tsx +56 -56
  806. package/src/components/templates/recipes/RecipeDetail.tsx +43 -43
  807. package/src/components/templates/recipes/RecipeList.tsx +62 -63
  808. package/src/components/templates/recipes/index.ts +2 -2
  809. package/src/components/templates/recipes/types.ts +24 -24
  810. package/src/components/templates/todos/FilterBar.tsx +84 -84
  811. package/src/components/templates/todos/TaskForm.tsx +118 -119
  812. package/src/components/templates/todos/TaskItem.tsx +78 -78
  813. package/src/components/templates/todos/TaskList.tsx +106 -107
  814. package/src/components/templates/todos/index.ts +2 -2
  815. package/src/components/templates/todos/types.ts +11 -11
  816. package/src/config/contractspec-blueprint.ts +55 -55
  817. package/src/config/contractspec-branding.ts +37 -37
  818. package/src/config/contractspec-routes.ts +22 -22
  819. package/src/config/index.ts +14 -15
  820. package/src/features/contracts-registry.ts +118 -118
  821. package/src/features/docs/docs.contracts.ts +6 -6
  822. package/src/features/docs/index.ts +6 -6
  823. package/src/features/docs.feature.ts +27 -27
  824. package/src/features/index.ts +59 -63
  825. package/src/features/mcp.feature.ts +24 -24
  826. package/src/features/presentations.feature.ts +27 -27
  827. package/src/features/registry.ts +14 -14
  828. package/src/index.ts +2 -2
  829. package/src/infrastructure/elysia/logger.ts +21 -21
  830. package/src/libs/email/client.test.ts +81 -81
  831. package/src/libs/email/client.ts +111 -111
  832. package/src/libs/email/contact.ts +35 -35
  833. package/src/libs/email/newsletter.ts +46 -46
  834. package/src/libs/email/types.ts +29 -29
  835. package/src/libs/email/utils.ts +5 -5
  836. package/src/libs/email/waitlist-application.ts +69 -69
  837. package/src/libs/email/waitlist.ts +46 -46
  838. package/src/libs/email.ts +7 -7
  839. package/src/libs/posthog/client.ts +44 -44
  840. package/src/libs/posthog/native.ts +23 -22
  841. package/src/libs/posthog/server.ts +7 -7
  842. package/src/libs/pricing-examples.ts +12 -12
  843. package/src/presentation/features/atoms/FeatureIcon/FeatureIcon.tsx +90 -90
  844. package/src/presentation/features/atoms/FeatureIcon/index.ts +3 -3
  845. package/src/presentation/features/hooks/index.ts +9 -9
  846. package/src/presentation/features/hooks/useContractsRegistry.ts +23 -23
  847. package/src/presentation/features/hooks/useFeatureFilters.ts +117 -117
  848. package/src/presentation/features/hooks/useFeatureRegistry.ts +40 -40
  849. package/src/presentation/features/hooks/useRelatedDocs.ts +28 -28
  850. package/src/presentation/features/index.ts +50 -52
  851. package/src/presentation/features/molecules/FeatureCard/FeatureCard.tsx +80 -80
  852. package/src/presentation/features/molecules/FeatureCard/types.ts +6 -6
  853. package/src/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.tsx +54 -54
  854. package/src/presentation/features/molecules/FeatureCategoryHeader/index.ts +2 -2
  855. package/src/presentation/features/molecules/FeatureFilters/FeatureFilters.tsx +67 -67
  856. package/src/presentation/features/molecules/FeatureFilters/types.ts +20 -20
  857. package/src/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.tsx +120 -121
  858. package/src/presentation/features/molecules/FeatureHoverPreview/index.ts +2 -2
  859. package/src/presentation/features/molecules/index.ts +8 -8
  860. package/src/presentation/features/organisms/FeatureDataViewsList.tsx +21 -21
  861. package/src/presentation/features/organisms/FeatureDetail/FeatureDetail.tsx +86 -86
  862. package/src/presentation/features/organisms/FeatureDetail/types.ts +4 -4
  863. package/src/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.tsx +210 -210
  864. package/src/presentation/features/organisms/FeatureDiscovery/index.ts +3 -3
  865. package/src/presentation/features/organisms/FeatureDiscovery/types.ts +10 -10
  866. package/src/presentation/features/organisms/FeatureEventsList.tsx +19 -19
  867. package/src/presentation/features/organisms/FeatureFormsList.tsx +19 -19
  868. package/src/presentation/features/organisms/FeatureOperationsList.tsx +21 -21
  869. package/src/presentation/features/organisms/FeaturePresentationsList.tsx +21 -21
  870. package/src/presentation/features/organisms/index.ts +6 -6
  871. package/src/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.tsx +219 -219
  872. package/src/presentation/features/templates/FeatureDataViewDetailTemplate/types.ts +7 -7
  873. package/src/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.tsx +26 -26
  874. package/src/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.tsx +195 -195
  875. package/src/presentation/features/templates/FeatureEventDetailTemplate/types.ts +7 -7
  876. package/src/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.tsx +26 -26
  877. package/src/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.tsx +216 -216
  878. package/src/presentation/features/templates/FeatureFormDetailTemplate/types.ts +7 -7
  879. package/src/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.tsx +26 -26
  880. package/src/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.tsx +228 -228
  881. package/src/presentation/features/templates/FeatureOperationDetailTemplate/types.ts +7 -7
  882. package/src/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.tsx +26 -26
  883. package/src/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.tsx +24 -24
  884. package/src/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.tsx +201 -201
  885. package/src/presentation/features/templates/FeaturePresentationDetailTemplate/types.ts +8 -8
  886. package/src/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.tsx +26 -26
  887. package/src/presentation/features/templates/types.ts +2 -2
  888. package/tsconfig.json +12 -12
  889. package/tsdown.config.js +5 -5
@@ -1,46 +1,46 @@
1
1
  // @bun
2
2
  // src/features/docs/docs.contracts.ts
3
3
  import {
4
+ ContractReferenceQuery,
4
5
  DocSummaryModel,
5
6
  DocsIndexInput,
6
7
  DocsIndexOutput,
7
8
  DocsIndexQuery,
8
- DocsIndexQuery as DocsIndexQuery2,
9
- ContractReferenceQuery
9
+ DocsIndexQuery as DocsIndexQuery2
10
10
  } from "@contractspec/lib.contracts-spec/docs";
11
11
  // src/features/contracts-registry.ts
12
12
  import {
13
- OperationSpecRegistry,
14
- EventRegistry
13
+ EventRegistry,
14
+ OperationSpecRegistry
15
15
  } from "@contractspec/lib.contracts-spec";
16
- import {
17
- PresentationRegistry
18
- } from "@contractspec/lib.contracts-spec/presentations";
19
16
  import {
20
17
  DataViewRegistry
21
18
  } from "@contractspec/lib.contracts-spec/data-views";
22
- import { FormRegistry } from "@contractspec/lib.contracts-spec/forms";
23
- import {
24
- serializeOperationSpec,
25
- serializeEventSpec,
26
- serializePresentationSpec,
27
- serializeDataViewSpec,
28
- serializeFormSpec
29
- } from "@contractspec/lib.contracts-spec/serialization";
30
19
  import {
31
20
  ContractReferenceDataView,
32
21
  ContractReferenceQuery as ContractReferenceQuery2,
33
- DocsGeneratedEvent,
34
22
  DocsGenerateCommand,
23
+ DocsGeneratedEvent,
35
24
  DocsIndexDataView,
36
25
  DocsIndexQuery as DocsIndexQuery3,
37
26
  DocsLayoutPresentation,
38
- DocsPublishedEvent,
39
27
  DocsPublishCommand,
28
+ DocsPublishedEvent,
40
29
  DocsReferencePagePresentation,
41
30
  DocsSearchForm,
42
31
  ExampleCatalogDataView
43
32
  } from "@contractspec/lib.contracts-spec/docs";
33
+ import { FormRegistry } from "@contractspec/lib.contracts-spec/forms";
34
+ import {
35
+ PresentationRegistry
36
+ } from "@contractspec/lib.contracts-spec/presentations";
37
+ import {
38
+ serializeDataViewSpec,
39
+ serializeEventSpec,
40
+ serializeFormSpec,
41
+ serializeOperationSpec,
42
+ serializePresentationSpec
43
+ } from "@contractspec/lib.contracts-spec/serialization";
44
44
  var operationRegistry = null;
45
45
  function createContractSpecOperationRegistry() {
46
46
  const registry = new OperationSpecRegistry;
@@ -250,8 +250,8 @@ var PresentationsFeature = {
250
250
  };
251
251
 
252
252
  // src/features/registry.ts
253
- import { FeatureRegistry } from "@contractspec/lib.contracts-spec/features";
254
253
  import { AppConfigFeature } from "@contractspec/lib.contracts-spec/app-config";
254
+ import { FeatureRegistry } from "@contractspec/lib.contracts-spec/features";
255
255
  function createContractSpecFeatureRegistry() {
256
256
  const features = new FeatureRegistry;
257
257
  features.register(DocsFeature);
@@ -275,19 +275,19 @@ function resetContractSpecFeatureRegistry() {
275
275
  import { FeatureRegistry as FeatureRegistry2 } from "@contractspec/lib.contracts-spec/features";
276
276
 
277
277
  // src/presentation/features/atoms/FeatureIcon/FeatureIcon.tsx
278
- import * as React from "react";
278
+ import { cn } from "@contractspec/lib.ui-kit-web/ui/utils";
279
279
  import {
280
- FileText,
281
280
  Boxes,
282
- Settings,
283
- Globe,
284
- Shield,
285
281
  Database,
286
- MessageSquare,
282
+ FileText,
283
+ Globe,
287
284
  Layout,
285
+ MessageSquare,
286
+ Settings,
287
+ Shield,
288
288
  Workflow
289
289
  } from "lucide-react";
290
- import { cn } from "@contractspec/lib.ui-kit-web/ui/utils";
290
+ import * as React from "react";
291
291
  import { jsx } from "react/jsx-runtime";
292
292
  "use client";
293
293
  var domainIconMap = {
@@ -367,41 +367,8 @@ function getFeatureIconTone(stability) {
367
367
  return "primary";
368
368
  return stabilityToneMap[stability] || "primary";
369
369
  }
370
- // src/presentation/features/hooks/useFeatureRegistry.ts
371
- import { useMemo as useMemo2 } from "react";
372
- "use client";
373
- function useFeatureRegistry() {
374
- const registry = useMemo2(() => getContractSpecFeatureRegistry(), []);
375
- return useMemo2(() => {
376
- const features = registry.list();
377
- return {
378
- features,
379
- getFeature: (key) => registry.get(key),
380
- getByTag: (tag) => registry.listByTag(tag),
381
- getByOwner: (owner) => registry.listByOwner(owner),
382
- getUniqueTags: () => registry.getUniqueTags(),
383
- getUniqueDomains: () => {
384
- const domains = new Set;
385
- for (const f of features) {
386
- if (f.meta.domain)
387
- domains.add(f.meta.domain);
388
- }
389
- return [...domains].sort();
390
- },
391
- getUniqueStabilities: () => {
392
- const stabilities = new Set;
393
- for (const f of features) {
394
- if (f.meta.stability)
395
- stabilities.add(f.meta.stability);
396
- }
397
- return [...stabilities].sort();
398
- }
399
- };
400
- }, [registry]);
401
- }
402
-
403
370
  // src/presentation/features/hooks/useFeatureFilters.ts
404
- import { useState, useMemo as useMemo3, useCallback } from "react";
371
+ import { useCallback, useMemo as useMemo2, useState } from "react";
405
372
  "use client";
406
373
  var defaultFilters = {
407
374
  search: "",
@@ -433,10 +400,10 @@ function useFeatureFilters(features) {
433
400
  }));
434
401
  }, []);
435
402
  const clearFilters = useCallback(() => setFilters(defaultFilters), []);
436
- const hasActiveFilters = useMemo3(() => {
403
+ const hasActiveFilters = useMemo2(() => {
437
404
  return filters.search.length > 0 || filters.tags.length > 0 || filters.stability.length > 0 || filters.domain.length > 0;
438
405
  }, [filters]);
439
- const filteredFeatures = useMemo3(() => {
406
+ const filteredFeatures = useMemo2(() => {
440
407
  return features.filter((feature) => {
441
408
  if (filters.search) {
442
409
  const searchLower = filters.search.toLowerCase();
@@ -473,6 +440,39 @@ function useFeatureFilters(features) {
473
440
  };
474
441
  }
475
442
 
443
+ // src/presentation/features/hooks/useFeatureRegistry.ts
444
+ import { useMemo as useMemo3 } from "react";
445
+ "use client";
446
+ function useFeatureRegistry() {
447
+ const registry = useMemo3(() => getContractSpecFeatureRegistry(), []);
448
+ return useMemo3(() => {
449
+ const features = registry.list();
450
+ return {
451
+ features,
452
+ getFeature: (key) => registry.get(key),
453
+ getByTag: (tag) => registry.listByTag(tag),
454
+ getByOwner: (owner) => registry.listByOwner(owner),
455
+ getUniqueTags: () => registry.getUniqueTags(),
456
+ getUniqueDomains: () => {
457
+ const domains = new Set;
458
+ for (const f of features) {
459
+ if (f.meta.domain)
460
+ domains.add(f.meta.domain);
461
+ }
462
+ return [...domains].sort();
463
+ },
464
+ getUniqueStabilities: () => {
465
+ const stabilities = new Set;
466
+ for (const f of features) {
467
+ if (f.meta.stability)
468
+ stabilities.add(f.meta.stability);
469
+ }
470
+ return [...stabilities].sort();
471
+ }
472
+ };
473
+ }, [registry]);
474
+ }
475
+
476
476
  // src/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.tsx
477
477
  import { StatusChip } from "@contractspec/lib.design-system";
478
478
  import { HStack } from "@contractspec/lib.ui-kit-web/ui/stack";
@@ -551,7 +551,7 @@ function FeatureHoverPreview({ feature }) {
551
551
  ]
552
552
  }),
553
553
  hasCapabilities && /* @__PURE__ */ jsxs("div", {
554
- className: "border-border/50 space-y-1.5 border-t pt-1",
554
+ className: "space-y-1.5 border-border/50 border-t pt-1",
555
555
  children: [
556
556
  capabilities?.provides?.length ? /* @__PURE__ */ jsxs(HStack, {
557
557
  gap: "xs",
@@ -610,13 +610,13 @@ function FeatureHoverPreview({ feature }) {
610
610
  meta.tags?.length ? /* @__PURE__ */ jsxs(HStack, {
611
611
  gap: "xs",
612
612
  wrap: "wrap",
613
- className: "border-border/50 items-center border-t pt-1",
613
+ className: "items-center border-border/50 border-t pt-1",
614
614
  children: [
615
615
  /* @__PURE__ */ jsx2(Tag, {
616
- className: "text-muted-foreground h-3.5 w-3.5"
616
+ className: "h-3.5 w-3.5 text-muted-foreground"
617
617
  }),
618
618
  meta.tags.slice(0, 4).map((tag) => /* @__PURE__ */ jsxs("span", {
619
- className: "bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-xs",
619
+ className: "rounded bg-muted px-1.5 py-0.5 text-muted-foreground text-xs",
620
620
  children: [
621
621
  "#",
622
622
  tag
@@ -633,7 +633,7 @@ function FeatureHoverPreview({ feature }) {
633
633
  }) : null,
634
634
  meta.owners?.length ? /* @__PURE__ */ jsxs(HStack, {
635
635
  gap: "xs",
636
- className: "text-muted-foreground items-center text-xs",
636
+ className: "items-center text-muted-foreground text-xs",
637
637
  children: [
638
638
  /* @__PURE__ */ jsx2(Users, {
639
639
  className: "h-3.5 w-3.5"
@@ -649,7 +649,7 @@ function FeatureHoverPreview({ feature }) {
649
649
  // src/presentation/features/molecules/FeatureCard/FeatureCard.tsx
650
650
  import { EntityCard, StatusChip as StatusChip2 } from "@contractspec/lib.design-system";
651
651
  import { HStack as HStack2 } from "@contractspec/lib.ui-kit-web/ui/stack";
652
- import { Zap as Zap2, Radio as Radio2, Layout as Layout3, Shield as Shield3 } from "lucide-react";
652
+ import { Layout as Layout3, Radio as Radio2, Shield as Shield3, Zap as Zap2 } from "lucide-react";
653
653
  import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
654
654
  "use client";
655
655
  var stabilityTone = {
@@ -688,7 +688,7 @@ function FeatureCard({
688
688
  size: "sm"
689
689
  }),
690
690
  meta: meta.description ? /* @__PURE__ */ jsx3("span", {
691
- className: "text-muted-foreground line-clamp-2 text-sm",
691
+ className: "line-clamp-2 text-muted-foreground text-sm",
692
692
  children: meta.description
693
693
  }) : undefined,
694
694
  preview: /* @__PURE__ */ jsx3(FeatureHoverPreview, {
@@ -696,7 +696,7 @@ function FeatureCard({
696
696
  }),
697
697
  footer: /* @__PURE__ */ jsxs2(HStack2, {
698
698
  gap: "md",
699
- className: "text-muted-foreground w-full justify-between text-xs",
699
+ className: "w-full justify-between text-muted-foreground text-xs",
700
700
  children: [
701
701
  /* @__PURE__ */ jsxs2(HStack2, {
702
702
  gap: "sm",
@@ -743,12 +743,59 @@ function FeatureCard({
743
743
  })
744
744
  });
745
745
  }
746
- // src/presentation/features/molecules/FeatureFilters/FeatureFilters.tsx
747
- import { Button, Input } from "@contractspec/lib.design-system";
748
- import { VStack, HStack as HStack3 } from "@contractspec/lib.ui-kit-web/ui/stack";
746
+ // src/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.tsx
747
+ import { StatusChip as StatusChip3 } from "@contractspec/lib.design-system";
748
+ import { HStack as HStack3 } from "@contractspec/lib.ui-kit-web/ui/stack";
749
749
  import { cn as cn2 } from "@contractspec/lib.ui-kit-web/ui/utils";
750
+ import { Boxes as Boxes2, ChevronDown } from "lucide-react";
750
751
  import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
751
752
  "use client";
753
+ function FeatureCategoryHeader({
754
+ title,
755
+ count,
756
+ icon,
757
+ isCollapsed = false,
758
+ onToggle,
759
+ className
760
+ }) {
761
+ return /* @__PURE__ */ jsxs3("button", {
762
+ type: "button",
763
+ onClick: onToggle,
764
+ className: cn2("flex w-full items-center justify-between rounded-lg px-4 py-3", "bg-muted/30 transition-colors hover:bg-muted/50", "group cursor-pointer", className),
765
+ children: [
766
+ /* @__PURE__ */ jsxs3(HStack3, {
767
+ gap: "sm",
768
+ className: "items-center",
769
+ children: [
770
+ /* @__PURE__ */ jsx4("div", {
771
+ className: "text-muted-foreground transition-colors group-hover:text-foreground",
772
+ children: icon || /* @__PURE__ */ jsx4(Boxes2, {
773
+ className: "h-5 w-5"
774
+ })
775
+ }),
776
+ /* @__PURE__ */ jsx4("span", {
777
+ className: "font-semibold text-lg capitalize transition-colors group-hover:text-primary",
778
+ children: title
779
+ }),
780
+ /* @__PURE__ */ jsx4(StatusChip3, {
781
+ tone: "neutral",
782
+ label: `${count} ${count === 1 ? "feature" : "features"}`,
783
+ size: "sm"
784
+ })
785
+ ]
786
+ }),
787
+ /* @__PURE__ */ jsx4(ChevronDown, {
788
+ className: cn2("h-5 w-5 text-muted-foreground transition-transform duration-200", isCollapsed && "-rotate-90")
789
+ })
790
+ ]
791
+ });
792
+ }
793
+ // src/presentation/features/molecules/FeatureFilters/FeatureFilters.tsx
794
+ import { Button, Input } from "@contractspec/lib.design-system";
795
+ import { HStack as HStack4, VStack } from "@contractspec/lib.ui-kit-web/ui/stack";
796
+ import { cn as cn3 } from "@contractspec/lib.ui-kit-web/ui/utils";
797
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
798
+ "use client";
752
799
  function FeatureFiltersBar({
753
800
  uniqueTags,
754
801
  uniqueStabilities,
@@ -760,23 +807,23 @@ function FeatureFiltersBar({
760
807
  hasActiveFilters,
761
808
  className
762
809
  }) {
763
- return /* @__PURE__ */ jsxs3(VStack, {
810
+ return /* @__PURE__ */ jsxs4(VStack, {
764
811
  gap: "md",
765
- className: cn2("w-full", className),
812
+ className: cn3("w-full", className),
766
813
  children: [
767
- /* @__PURE__ */ jsxs3(HStack3, {
814
+ /* @__PURE__ */ jsxs4(HStack4, {
768
815
  gap: "md",
769
816
  justify: "between",
770
817
  className: "w-full",
771
818
  children: [
772
- /* @__PURE__ */ jsx4(Input, {
819
+ /* @__PURE__ */ jsx5(Input, {
773
820
  placeholder: "Search features...",
774
821
  value: filters.search,
775
822
  onChange: (e) => setSearch(e.target.value),
776
823
  className: "max-w-md",
777
824
  "aria-label": "Search features"
778
825
  }),
779
- hasActiveFilters && /* @__PURE__ */ jsx4(Button, {
826
+ hasActiveFilters && /* @__PURE__ */ jsx5(Button, {
780
827
  variant: "ghost",
781
828
  size: "sm",
782
829
  onClick: clearFilters,
@@ -784,15 +831,15 @@ function FeatureFiltersBar({
784
831
  })
785
832
  ]
786
833
  }),
787
- uniqueStabilities.length > 0 && /* @__PURE__ */ jsxs3(HStack3, {
834
+ uniqueStabilities.length > 0 && /* @__PURE__ */ jsxs4(HStack4, {
788
835
  gap: "xs",
789
836
  wrap: "wrap",
790
837
  children: [
791
- /* @__PURE__ */ jsx4("span", {
838
+ /* @__PURE__ */ jsx5("span", {
792
839
  className: "text-muted-foreground text-sm",
793
840
  children: "Stability:"
794
841
  }),
795
- uniqueStabilities.map((stability) => /* @__PURE__ */ jsx4(Button, {
842
+ uniqueStabilities.map((stability) => /* @__PURE__ */ jsx5(Button, {
796
843
  variant: filters.stability.includes(stability) ? "default" : "outline",
797
844
  size: "sm",
798
845
  onClick: () => toggleStability(stability),
@@ -801,15 +848,15 @@ function FeatureFiltersBar({
801
848
  }, stability))
802
849
  ]
803
850
  }),
804
- uniqueTags.length > 0 && /* @__PURE__ */ jsxs3(HStack3, {
851
+ uniqueTags.length > 0 && /* @__PURE__ */ jsxs4(HStack4, {
805
852
  gap: "xs",
806
853
  wrap: "wrap",
807
854
  children: [
808
- /* @__PURE__ */ jsx4("span", {
855
+ /* @__PURE__ */ jsx5("span", {
809
856
  className: "text-muted-foreground text-sm",
810
857
  children: "Tags:"
811
858
  }),
812
- uniqueTags.slice(0, 10).map((tag) => /* @__PURE__ */ jsxs3(Button, {
859
+ uniqueTags.slice(0, 10).map((tag) => /* @__PURE__ */ jsxs4(Button, {
813
860
  variant: filters.tags.includes(tag) ? "default" : "outline",
814
861
  size: "sm",
815
862
  onClick: () => toggleTag(tag),
@@ -819,7 +866,7 @@ function FeatureFiltersBar({
819
866
  tag
820
867
  ]
821
868
  }, tag)),
822
- uniqueTags.length > 10 && /* @__PURE__ */ jsxs3("span", {
869
+ uniqueTags.length > 10 && /* @__PURE__ */ jsxs4("span", {
823
870
  className: "text-muted-foreground text-sm",
824
871
  children: [
825
872
  "+",
@@ -832,96 +879,227 @@ function FeatureFiltersBar({
832
879
  ]
833
880
  });
834
881
  }
835
- // src/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.tsx
836
- import { cn as cn3 } from "@contractspec/lib.ui-kit-web/ui/utils";
837
- import { ChevronDown, Boxes as Boxes2 } from "lucide-react";
838
- import { HStack as HStack4 } from "@contractspec/lib.ui-kit-web/ui/stack";
839
- import { StatusChip as StatusChip3 } from "@contractspec/lib.design-system";
840
- import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
882
+ // src/presentation/features/organisms/FeatureDataViewsList.tsx
883
+ import { EntityCard as EntityCard2 } from "@contractspec/lib.design-system";
884
+ import { Table } from "lucide-react";
885
+ import { jsx as jsx6 } from "react/jsx-runtime";
841
886
  "use client";
842
- function FeatureCategoryHeader({
843
- title,
844
- count,
845
- icon,
846
- isCollapsed = false,
847
- onToggle,
848
- className
887
+ function FeatureDataViewsList({
888
+ feature
849
889
  }) {
850
- return /* @__PURE__ */ jsxs4("button", {
851
- type: "button",
852
- onClick: onToggle,
853
- className: cn3("flex w-full items-center justify-between rounded-lg px-4 py-3", "bg-muted/30 hover:bg-muted/50 transition-colors", "group cursor-pointer", className),
890
+ if (!feature.dataViews?.length)
891
+ return null;
892
+ return /* @__PURE__ */ jsx6("div", {
893
+ className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
894
+ children: feature.dataViews.map((view) => {
895
+ const spec = resolveSerializedDataViewSpec(view.key, view.version);
896
+ return /* @__PURE__ */ jsx6(EntityCard2, {
897
+ cardTitle: view.key,
898
+ cardSubtitle: `v${view.version}`,
899
+ footer: spec?.meta.description,
900
+ icon: /* @__PURE__ */ jsx6(Table, {
901
+ className: "h-4 w-4"
902
+ }),
903
+ href: `/features/${feature.meta.key}/dataviews/${view.key}`
904
+ }, view.key);
905
+ })
906
+ });
907
+ }
908
+
909
+ // src/presentation/features/organisms/FeatureDetail/FeatureDetail.tsx
910
+ import {
911
+ StatCard,
912
+ StatCardGroup,
913
+ StatusChip as StatusChip4
914
+ } from "@contractspec/lib.design-system";
915
+ import { Box, HStack as HStack5, VStack as VStack2 } from "@contractspec/lib.ui-kit-web/ui/stack";
916
+ import { cn as cn4 } from "@contractspec/lib.ui-kit-web/ui/utils";
917
+ import Link from "next/link";
918
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
919
+ "use client";
920
+ var stabilityTone2 = {
921
+ stable: "success",
922
+ beta: "warning",
923
+ experimental: "info",
924
+ deprecated: "danger"
925
+ };
926
+ function FeatureDetail({ feature, className }) {
927
+ const { meta, operations, events, presentations, capabilities } = feature;
928
+ const tone = stabilityTone2[meta.stability] ?? "neutral";
929
+ return /* @__PURE__ */ jsxs5(VStack2, {
930
+ gap: "lg",
931
+ className: cn4("w-full", className),
854
932
  children: [
855
- /* @__PURE__ */ jsxs4(HStack4, {
933
+ /* @__PURE__ */ jsxs5(HStack5, {
856
934
  gap: "sm",
857
- className: "items-center",
858
935
  children: [
859
- /* @__PURE__ */ jsx5("div", {
860
- className: "text-muted-foreground group-hover:text-foreground transition-colors",
861
- children: icon || /* @__PURE__ */ jsx5(Boxes2, {
862
- className: "h-5 w-5"
863
- })
936
+ /* @__PURE__ */ jsx7(StatusChip4, {
937
+ tone,
938
+ label: meta.stability ?? "unknown"
864
939
  }),
865
- /* @__PURE__ */ jsx5("span", {
866
- className: "group-hover:text-primary text-lg font-semibold capitalize transition-colors",
867
- children: title
940
+ /* @__PURE__ */ jsx7(StatusChip4, {
941
+ tone: "neutral",
942
+ label: meta.key,
943
+ size: "sm"
868
944
  }),
869
- /* @__PURE__ */ jsx5(StatusChip3, {
945
+ /* @__PURE__ */ jsx7(StatusChip4, {
870
946
  tone: "neutral",
871
- label: `${count} ${count === 1 ? "feature" : "features"}`,
947
+ label: `v${meta.version}`,
872
948
  size: "sm"
873
949
  })
874
950
  ]
875
951
  }),
876
- /* @__PURE__ */ jsx5(ChevronDown, {
877
- className: cn3("text-muted-foreground h-5 w-5 transition-transform duration-200", isCollapsed && "-rotate-90")
878
- })
879
- ]
880
- });
881
- }
882
- // src/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.tsx
883
- import * as React2 from "react";
884
- import {
885
- PageHeaderResponsive,
886
- EmptyState,
887
- Button as Button2,
888
- StatusChip as StatusChip4
889
- } from "@contractspec/lib.design-system";
890
- import { VStack as VStack2, HStack as HStack5 } from "@contractspec/lib.ui-kit-web/ui/stack";
891
- import { cn as cn4 } from "@contractspec/lib.ui-kit-web/ui/utils";
892
- import { LayoutGrid, List, Star } from "lucide-react";
893
- import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
894
- "use client";
895
- function groupFeaturesByDomain(features) {
896
- const groups = {};
897
- for (const feature of features) {
898
- const domain = feature.meta.domain || "Other";
899
- if (!groups[domain])
900
- groups[domain] = [];
901
- groups[domain].push(feature);
902
- }
903
- return groups;
904
- }
905
- function groupFeaturesByStability(features) {
906
- const order = ["stable", "beta", "experimental", "deprecated", "unknown"];
907
- const groups = {};
908
- for (const feature of features) {
909
- const stability = feature.meta.stability || "unknown";
910
- if (!groups[stability])
911
- groups[stability] = [];
912
- groups[stability].push(feature);
913
- }
914
- const sorted = {};
915
- for (const key of order) {
916
- if (groups[key])
917
- sorted[key] = groups[key];
918
- }
919
- return sorted;
920
- }
921
- function FeatureDiscovery({
922
- onSelectFeature,
923
- className,
924
- defaultViewMode = "grid",
952
+ /* @__PURE__ */ jsxs5(StatCardGroup, {
953
+ children: [
954
+ /* @__PURE__ */ jsx7(Link, {
955
+ href: `./${feature.meta.key}/operations`,
956
+ children: /* @__PURE__ */ jsx7(StatCard, {
957
+ label: "Operations",
958
+ value: operations?.length ?? 0
959
+ })
960
+ }),
961
+ /* @__PURE__ */ jsx7(Link, {
962
+ href: `./${feature.meta.key}/events`,
963
+ children: /* @__PURE__ */ jsx7(StatCard, {
964
+ label: "Events",
965
+ value: events?.length ?? 0
966
+ })
967
+ }),
968
+ /* @__PURE__ */ jsx7(Link, {
969
+ href: `./${feature.meta.key}/presentations`,
970
+ children: /* @__PURE__ */ jsx7(StatCard, {
971
+ label: "Presentations",
972
+ value: presentations?.length ?? 0
973
+ })
974
+ })
975
+ ]
976
+ }),
977
+ capabilities?.provides?.length ? /* @__PURE__ */ jsxs5(Box, {
978
+ className: "flex-col rounded-lg border p-4",
979
+ gap: "sm",
980
+ align: "start",
981
+ children: [
982
+ /* @__PURE__ */ jsx7("span", {
983
+ className: "font-semibold",
984
+ children: "Provides Capabilities"
985
+ }),
986
+ /* @__PURE__ */ jsx7(HStack5, {
987
+ gap: "xs",
988
+ wrap: "wrap",
989
+ children: capabilities.provides.map((cap) => /* @__PURE__ */ jsx7(StatusChip4, {
990
+ tone: "success",
991
+ label: `${cap.key} v${cap.version}`,
992
+ size: "sm"
993
+ }, `${cap.key}-${cap.version}`))
994
+ })
995
+ ]
996
+ }) : null,
997
+ capabilities?.requires?.length ? /* @__PURE__ */ jsxs5(Box, {
998
+ className: "flex-col rounded-lg border p-4",
999
+ gap: "sm",
1000
+ align: "start",
1001
+ children: [
1002
+ /* @__PURE__ */ jsx7("span", {
1003
+ className: "font-semibold",
1004
+ children: "Requires Capabilities"
1005
+ }),
1006
+ /* @__PURE__ */ jsx7(HStack5, {
1007
+ gap: "xs",
1008
+ wrap: "wrap",
1009
+ children: capabilities.requires.map((req) => /* @__PURE__ */ jsx7(StatusChip4, {
1010
+ tone: "info",
1011
+ label: `${req.key}${req.version ? ` v${req.version}` : ""}${req.optional ? " (optional)" : ""}`,
1012
+ size: "sm"
1013
+ }, req.key))
1014
+ })
1015
+ ]
1016
+ }) : null,
1017
+ meta.tags?.length ? /* @__PURE__ */ jsxs5(Box, {
1018
+ className: "flex-col rounded-lg border p-4",
1019
+ gap: "sm",
1020
+ align: "start",
1021
+ children: [
1022
+ /* @__PURE__ */ jsx7("span", {
1023
+ className: "font-semibold",
1024
+ children: "Tags"
1025
+ }),
1026
+ /* @__PURE__ */ jsx7(HStack5, {
1027
+ gap: "xs",
1028
+ wrap: "wrap",
1029
+ children: meta.tags.map((tag) => /* @__PURE__ */ jsx7(StatusChip4, {
1030
+ tone: "neutral",
1031
+ label: `#${tag}`,
1032
+ size: "sm"
1033
+ }, tag))
1034
+ })
1035
+ ]
1036
+ }) : null,
1037
+ meta.owners?.length ? /* @__PURE__ */ jsxs5(Box, {
1038
+ className: "flex-col rounded-lg border p-4",
1039
+ gap: "sm",
1040
+ align: "start",
1041
+ children: [
1042
+ /* @__PURE__ */ jsx7("span", {
1043
+ className: "font-semibold",
1044
+ children: "Owners"
1045
+ }),
1046
+ /* @__PURE__ */ jsx7(HStack5, {
1047
+ gap: "xs",
1048
+ wrap: "wrap",
1049
+ children: meta.owners.map((owner) => /* @__PURE__ */ jsx7(StatusChip4, {
1050
+ tone: "neutral",
1051
+ label: owner,
1052
+ size: "sm"
1053
+ }, owner))
1054
+ })
1055
+ ]
1056
+ }) : null
1057
+ ]
1058
+ });
1059
+ }
1060
+ // src/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.tsx
1061
+ import {
1062
+ Button as Button2,
1063
+ EmptyState,
1064
+ PageHeaderResponsive,
1065
+ StatusChip as StatusChip5
1066
+ } from "@contractspec/lib.design-system";
1067
+ import { HStack as HStack6, VStack as VStack3 } from "@contractspec/lib.ui-kit-web/ui/stack";
1068
+ import { cn as cn5 } from "@contractspec/lib.ui-kit-web/ui/utils";
1069
+ import { LayoutGrid, List, Star } from "lucide-react";
1070
+ import * as React2 from "react";
1071
+ import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
1072
+ "use client";
1073
+ function groupFeaturesByDomain(features) {
1074
+ const groups = {};
1075
+ for (const feature of features) {
1076
+ const domain = feature.meta.domain || "Other";
1077
+ if (!groups[domain])
1078
+ groups[domain] = [];
1079
+ groups[domain].push(feature);
1080
+ }
1081
+ return groups;
1082
+ }
1083
+ function groupFeaturesByStability(features) {
1084
+ const order = ["stable", "beta", "experimental", "deprecated", "unknown"];
1085
+ const groups = {};
1086
+ for (const feature of features) {
1087
+ const stability = feature.meta.stability || "unknown";
1088
+ if (!groups[stability])
1089
+ groups[stability] = [];
1090
+ groups[stability].push(feature);
1091
+ }
1092
+ const sorted = {};
1093
+ for (const key of order) {
1094
+ if (groups[key])
1095
+ sorted[key] = groups[key];
1096
+ }
1097
+ return sorted;
1098
+ }
1099
+ function FeatureDiscovery({
1100
+ onSelectFeature,
1101
+ className,
1102
+ defaultViewMode = "grid",
925
1103
  groupBy = "domain",
926
1104
  showFeatured = true
927
1105
  }) {
@@ -960,42 +1138,42 @@ function FeatureDiscovery({
960
1138
  });
961
1139
  };
962
1140
  const gridClasses = viewMode === "grid" ? "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3" : "flex flex-col gap-3";
963
- const renderFeatureCards = (featureList) => /* @__PURE__ */ jsx6("div", {
1141
+ const renderFeatureCards = (featureList) => /* @__PURE__ */ jsx8("div", {
964
1142
  className: gridClasses,
965
- children: featureList.map((feature) => /* @__PURE__ */ jsx6(FeatureCard, {
1143
+ children: featureList.map((feature) => /* @__PURE__ */ jsx8(FeatureCard, {
966
1144
  feature,
967
1145
  onSelect: onSelectFeature
968
1146
  }, feature.meta.key))
969
1147
  });
970
- return /* @__PURE__ */ jsxs5(VStack2, {
1148
+ return /* @__PURE__ */ jsxs6(VStack3, {
971
1149
  gap: "lg",
972
- className: cn4("w-full p-6", className),
1150
+ className: cn5("w-full p-6", className),
973
1151
  children: [
974
- /* @__PURE__ */ jsxs5("div", {
1152
+ /* @__PURE__ */ jsxs6("div", {
975
1153
  className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
976
1154
  children: [
977
- /* @__PURE__ */ jsx6(PageHeaderResponsive, {
1155
+ /* @__PURE__ */ jsx8(PageHeaderResponsive, {
978
1156
  title: "Feature Discovery",
979
1157
  subtitle: `Browse ${features.length} available ContractSpec features`
980
1158
  }),
981
- /* @__PURE__ */ jsxs5(HStack5, {
1159
+ /* @__PURE__ */ jsxs6(HStack6, {
982
1160
  gap: "xs",
983
1161
  children: [
984
- /* @__PURE__ */ jsx6("button", {
1162
+ /* @__PURE__ */ jsx8("button", {
985
1163
  type: "button",
986
1164
  onClick: () => setViewMode("grid"),
987
- className: cn4("rounded-md p-2 transition-colors", viewMode === "grid" ? "bg-primary text-primary-foreground" : "bg-muted hover:bg-muted/80 text-muted-foreground"),
1165
+ className: cn5("rounded-md p-2 transition-colors", viewMode === "grid" ? "bg-primary text-primary-foreground" : "bg-muted text-muted-foreground hover:bg-muted/80"),
988
1166
  "aria-label": "Grid view",
989
- children: /* @__PURE__ */ jsx6(LayoutGrid, {
1167
+ children: /* @__PURE__ */ jsx8(LayoutGrid, {
990
1168
  className: "h-4 w-4"
991
1169
  })
992
1170
  }),
993
- /* @__PURE__ */ jsx6("button", {
1171
+ /* @__PURE__ */ jsx8("button", {
994
1172
  type: "button",
995
1173
  onClick: () => setViewMode("list"),
996
- className: cn4("rounded-md p-2 transition-colors", viewMode === "list" ? "bg-primary text-primary-foreground" : "bg-muted hover:bg-muted/80 text-muted-foreground"),
1174
+ className: cn5("rounded-md p-2 transition-colors", viewMode === "list" ? "bg-primary text-primary-foreground" : "bg-muted text-muted-foreground hover:bg-muted/80"),
997
1175
  "aria-label": "List view",
998
- children: /* @__PURE__ */ jsx6(List, {
1176
+ children: /* @__PURE__ */ jsx8(List, {
999
1177
  className: "h-4 w-4"
1000
1178
  })
1001
1179
  })
@@ -1003,7 +1181,7 @@ function FeatureDiscovery({
1003
1181
  })
1004
1182
  ]
1005
1183
  }),
1006
- /* @__PURE__ */ jsx6(FeatureFiltersBar, {
1184
+ /* @__PURE__ */ jsx8(FeatureFiltersBar, {
1007
1185
  uniqueTags,
1008
1186
  uniqueStabilities,
1009
1187
  filters,
@@ -1013,32 +1191,32 @@ function FeatureDiscovery({
1013
1191
  clearFilters,
1014
1192
  hasActiveFilters
1015
1193
  }),
1016
- filteredFeatures.length === 0 ? /* @__PURE__ */ jsx6(EmptyState, {
1194
+ filteredFeatures.length === 0 ? /* @__PURE__ */ jsx8(EmptyState, {
1017
1195
  title: "No features found",
1018
1196
  description: hasActiveFilters ? "Try adjusting your search or filters" : "No features are registered yet",
1019
- primaryAction: hasActiveFilters ? /* @__PURE__ */ jsx6(Button2, {
1197
+ primaryAction: hasActiveFilters ? /* @__PURE__ */ jsx8(Button2, {
1020
1198
  variant: "outline",
1021
1199
  onClick: clearFilters,
1022
1200
  children: "Clear filters"
1023
1201
  }) : undefined
1024
- }) : /* @__PURE__ */ jsxs5(VStack2, {
1202
+ }) : /* @__PURE__ */ jsxs6(VStack3, {
1025
1203
  gap: "lg",
1026
1204
  children: [
1027
- showFeatured && featuredFeatures.length > 0 && /* @__PURE__ */ jsxs5(VStack2, {
1205
+ showFeatured && featuredFeatures.length > 0 && /* @__PURE__ */ jsxs6(VStack3, {
1028
1206
  gap: "sm",
1029
1207
  children: [
1030
- /* @__PURE__ */ jsxs5(HStack5, {
1208
+ /* @__PURE__ */ jsxs6(HStack6, {
1031
1209
  gap: "sm",
1032
1210
  className: "items-center",
1033
1211
  children: [
1034
- /* @__PURE__ */ jsx6(Star, {
1212
+ /* @__PURE__ */ jsx8(Star, {
1035
1213
  className: "h-5 w-5 fill-amber-500 text-amber-500"
1036
1214
  }),
1037
- /* @__PURE__ */ jsx6("span", {
1038
- className: "text-lg font-semibold",
1215
+ /* @__PURE__ */ jsx8("span", {
1216
+ className: "font-semibold text-lg",
1039
1217
  children: "Featured"
1040
1218
  }),
1041
- /* @__PURE__ */ jsx6(StatusChip4, {
1219
+ /* @__PURE__ */ jsx8(StatusChip5, {
1042
1220
  tone: "success",
1043
1221
  label: `${featuredFeatures.length} stable`,
1044
1222
  size: "sm"
@@ -1048,12 +1226,12 @@ function FeatureDiscovery({
1048
1226
  renderFeatureCards(featuredFeatures)
1049
1227
  ]
1050
1228
  }),
1051
- groupedFeatures ? /* @__PURE__ */ jsx6(VStack2, {
1229
+ groupedFeatures ? /* @__PURE__ */ jsx8(VStack3, {
1052
1230
  gap: "md",
1053
- children: Object.entries(groupedFeatures).map(([group, groupFeatures]) => /* @__PURE__ */ jsxs5(VStack2, {
1231
+ children: Object.entries(groupedFeatures).map(([group, groupFeatures]) => /* @__PURE__ */ jsxs6(VStack3, {
1054
1232
  gap: "sm",
1055
1233
  children: [
1056
- /* @__PURE__ */ jsx6(FeatureCategoryHeader, {
1234
+ /* @__PURE__ */ jsx8(FeatureCategoryHeader, {
1057
1235
  title: group,
1058
1236
  count: groupFeatures.length,
1059
1237
  isCollapsed: collapsedGroups.has(group),
@@ -1068,184 +1246,6 @@ function FeatureDiscovery({
1068
1246
  ]
1069
1247
  });
1070
1248
  }
1071
- // src/presentation/features/organisms/FeatureDetail/FeatureDetail.tsx
1072
- import {
1073
- StatCard,
1074
- StatCardGroup,
1075
- StatusChip as StatusChip5
1076
- } from "@contractspec/lib.design-system";
1077
- import { Box, HStack as HStack6, VStack as VStack3 } from "@contractspec/lib.ui-kit-web/ui/stack";
1078
- import { cn as cn5 } from "@contractspec/lib.ui-kit-web/ui/utils";
1079
- import Link from "next/link";
1080
- import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
1081
- "use client";
1082
- var stabilityTone2 = {
1083
- stable: "success",
1084
- beta: "warning",
1085
- experimental: "info",
1086
- deprecated: "danger"
1087
- };
1088
- function FeatureDetail({ feature, className }) {
1089
- const { meta, operations, events, presentations, capabilities } = feature;
1090
- const tone = stabilityTone2[meta.stability] ?? "neutral";
1091
- return /* @__PURE__ */ jsxs6(VStack3, {
1092
- gap: "lg",
1093
- className: cn5("w-full", className),
1094
- children: [
1095
- /* @__PURE__ */ jsxs6(HStack6, {
1096
- gap: "sm",
1097
- children: [
1098
- /* @__PURE__ */ jsx7(StatusChip5, {
1099
- tone,
1100
- label: meta.stability ?? "unknown"
1101
- }),
1102
- /* @__PURE__ */ jsx7(StatusChip5, {
1103
- tone: "neutral",
1104
- label: meta.key,
1105
- size: "sm"
1106
- }),
1107
- /* @__PURE__ */ jsx7(StatusChip5, {
1108
- tone: "neutral",
1109
- label: `v${meta.version}`,
1110
- size: "sm"
1111
- })
1112
- ]
1113
- }),
1114
- /* @__PURE__ */ jsxs6(StatCardGroup, {
1115
- children: [
1116
- /* @__PURE__ */ jsx7(Link, {
1117
- href: `./${feature.meta.key}/operations`,
1118
- children: /* @__PURE__ */ jsx7(StatCard, {
1119
- label: "Operations",
1120
- value: operations?.length ?? 0
1121
- })
1122
- }),
1123
- /* @__PURE__ */ jsx7(Link, {
1124
- href: `./${feature.meta.key}/events`,
1125
- children: /* @__PURE__ */ jsx7(StatCard, {
1126
- label: "Events",
1127
- value: events?.length ?? 0
1128
- })
1129
- }),
1130
- /* @__PURE__ */ jsx7(Link, {
1131
- href: `./${feature.meta.key}/presentations`,
1132
- children: /* @__PURE__ */ jsx7(StatCard, {
1133
- label: "Presentations",
1134
- value: presentations?.length ?? 0
1135
- })
1136
- })
1137
- ]
1138
- }),
1139
- capabilities?.provides?.length ? /* @__PURE__ */ jsxs6(Box, {
1140
- className: "flex-col rounded-lg border p-4",
1141
- gap: "sm",
1142
- align: "start",
1143
- children: [
1144
- /* @__PURE__ */ jsx7("span", {
1145
- className: "font-semibold",
1146
- children: "Provides Capabilities"
1147
- }),
1148
- /* @__PURE__ */ jsx7(HStack6, {
1149
- gap: "xs",
1150
- wrap: "wrap",
1151
- children: capabilities.provides.map((cap) => /* @__PURE__ */ jsx7(StatusChip5, {
1152
- tone: "success",
1153
- label: `${cap.key} v${cap.version}`,
1154
- size: "sm"
1155
- }, `${cap.key}-${cap.version}`))
1156
- })
1157
- ]
1158
- }) : null,
1159
- capabilities?.requires?.length ? /* @__PURE__ */ jsxs6(Box, {
1160
- className: "flex-col rounded-lg border p-4",
1161
- gap: "sm",
1162
- align: "start",
1163
- children: [
1164
- /* @__PURE__ */ jsx7("span", {
1165
- className: "font-semibold",
1166
- children: "Requires Capabilities"
1167
- }),
1168
- /* @__PURE__ */ jsx7(HStack6, {
1169
- gap: "xs",
1170
- wrap: "wrap",
1171
- children: capabilities.requires.map((req) => /* @__PURE__ */ jsx7(StatusChip5, {
1172
- tone: "info",
1173
- label: `${req.key}${req.version ? ` v${req.version}` : ""}${req.optional ? " (optional)" : ""}`,
1174
- size: "sm"
1175
- }, req.key))
1176
- })
1177
- ]
1178
- }) : null,
1179
- meta.tags?.length ? /* @__PURE__ */ jsxs6(Box, {
1180
- className: "flex-col rounded-lg border p-4",
1181
- gap: "sm",
1182
- align: "start",
1183
- children: [
1184
- /* @__PURE__ */ jsx7("span", {
1185
- className: "font-semibold",
1186
- children: "Tags"
1187
- }),
1188
- /* @__PURE__ */ jsx7(HStack6, {
1189
- gap: "xs",
1190
- wrap: "wrap",
1191
- children: meta.tags.map((tag) => /* @__PURE__ */ jsx7(StatusChip5, {
1192
- tone: "neutral",
1193
- label: `#${tag}`,
1194
- size: "sm"
1195
- }, tag))
1196
- })
1197
- ]
1198
- }) : null,
1199
- meta.owners?.length ? /* @__PURE__ */ jsxs6(Box, {
1200
- className: "flex-col rounded-lg border p-4",
1201
- gap: "sm",
1202
- align: "start",
1203
- children: [
1204
- /* @__PURE__ */ jsx7("span", {
1205
- className: "font-semibold",
1206
- children: "Owners"
1207
- }),
1208
- /* @__PURE__ */ jsx7(HStack6, {
1209
- gap: "xs",
1210
- wrap: "wrap",
1211
- children: meta.owners.map((owner) => /* @__PURE__ */ jsx7(StatusChip5, {
1212
- tone: "neutral",
1213
- label: owner,
1214
- size: "sm"
1215
- }, owner))
1216
- })
1217
- ]
1218
- }) : null
1219
- ]
1220
- });
1221
- }
1222
- // src/presentation/features/organisms/FeatureOperationsList.tsx
1223
- import { EntityCard as EntityCard2 } from "@contractspec/lib.design-system";
1224
- import { Zap as Zap3 } from "lucide-react";
1225
- import { jsx as jsx8 } from "react/jsx-runtime";
1226
- "use client";
1227
- function FeatureOperationsList({
1228
- feature
1229
- }) {
1230
- if (!feature.operations?.length)
1231
- return null;
1232
- return /* @__PURE__ */ jsx8("div", {
1233
- className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
1234
- children: feature.operations.map((op) => {
1235
- const spec = resolveSerializedOperationSpec(op.key, op.version);
1236
- return /* @__PURE__ */ jsx8(EntityCard2, {
1237
- cardTitle: op.key,
1238
- cardSubtitle: `v${op.version}`,
1239
- footer: spec?.meta.description,
1240
- icon: /* @__PURE__ */ jsx8(Zap3, {
1241
- className: "h-4 w-4"
1242
- }),
1243
- href: `/features/${feature.meta.key}/operations/${op.key}`
1244
- }, op.key);
1245
- })
1246
- });
1247
- }
1248
-
1249
1249
  // src/presentation/features/organisms/FeatureEventsList.tsx
1250
1250
  import { EntityCard as EntityCard3 } from "@contractspec/lib.design-system";
1251
1251
  import { Radio as Radio3 } from "lucide-react";
@@ -1271,81 +1271,81 @@ function FeatureEventsList({ feature }) {
1271
1271
  });
1272
1272
  }
1273
1273
 
1274
- // src/presentation/features/organisms/FeaturePresentationsList.tsx
1274
+ // src/presentation/features/organisms/FeatureFormsList.tsx
1275
1275
  import { EntityCard as EntityCard4 } from "@contractspec/lib.design-system";
1276
- import { Layout as Layout4 } from "lucide-react";
1276
+ import { FormInput } from "lucide-react";
1277
1277
  import { jsx as jsx10 } from "react/jsx-runtime";
1278
1278
  "use client";
1279
- function FeaturePresentationsList({
1280
- feature
1281
- }) {
1282
- if (!feature.presentations?.length)
1279
+ function FeatureFormsList({ feature }) {
1280
+ if (!feature.forms?.length)
1283
1281
  return null;
1284
1282
  return /* @__PURE__ */ jsx10("div", {
1285
1283
  className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
1286
- children: feature.presentations.map((pres) => {
1287
- const spec = resolveSerializedPresentationSpec(pres.key, pres.version);
1284
+ children: feature.forms.map((form) => {
1285
+ const spec = resolveSerializedFormSpec(form.key, form.version);
1288
1286
  return /* @__PURE__ */ jsx10(EntityCard4, {
1289
- cardTitle: pres.key,
1290
- cardSubtitle: `v${pres.version}`,
1287
+ cardTitle: form.key,
1288
+ cardSubtitle: form.version ? `v${form.version}` : undefined,
1291
1289
  footer: spec?.meta.description,
1292
- icon: /* @__PURE__ */ jsx10(Layout4, {
1290
+ icon: /* @__PURE__ */ jsx10(FormInput, {
1293
1291
  className: "h-4 w-4"
1294
1292
  }),
1295
- href: `/features/${feature.meta.key}/presentations/${pres.key}`
1296
- }, pres.key);
1293
+ href: `/features/${feature.meta.key}/forms/${form.key}`
1294
+ }, form.key);
1297
1295
  })
1298
1296
  });
1299
1297
  }
1300
1298
 
1301
- // src/presentation/features/organisms/FeatureDataViewsList.tsx
1299
+ // src/presentation/features/organisms/FeatureOperationsList.tsx
1302
1300
  import { EntityCard as EntityCard5 } from "@contractspec/lib.design-system";
1303
- import { Table } from "lucide-react";
1301
+ import { Zap as Zap3 } from "lucide-react";
1304
1302
  import { jsx as jsx11 } from "react/jsx-runtime";
1305
1303
  "use client";
1306
- function FeatureDataViewsList({
1304
+ function FeatureOperationsList({
1307
1305
  feature
1308
1306
  }) {
1309
- if (!feature.dataViews?.length)
1307
+ if (!feature.operations?.length)
1310
1308
  return null;
1311
1309
  return /* @__PURE__ */ jsx11("div", {
1312
1310
  className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
1313
- children: feature.dataViews.map((view) => {
1314
- const spec = resolveSerializedDataViewSpec(view.key, view.version);
1311
+ children: feature.operations.map((op) => {
1312
+ const spec = resolveSerializedOperationSpec(op.key, op.version);
1315
1313
  return /* @__PURE__ */ jsx11(EntityCard5, {
1316
- cardTitle: view.key,
1317
- cardSubtitle: `v${view.version}`,
1314
+ cardTitle: op.key,
1315
+ cardSubtitle: `v${op.version}`,
1318
1316
  footer: spec?.meta.description,
1319
- icon: /* @__PURE__ */ jsx11(Table, {
1317
+ icon: /* @__PURE__ */ jsx11(Zap3, {
1320
1318
  className: "h-4 w-4"
1321
1319
  }),
1322
- href: `/features/${feature.meta.key}/dataviews/${view.key}`
1323
- }, view.key);
1320
+ href: `/features/${feature.meta.key}/operations/${op.key}`
1321
+ }, op.key);
1324
1322
  })
1325
1323
  });
1326
1324
  }
1327
1325
 
1328
- // src/presentation/features/organisms/FeatureFormsList.tsx
1326
+ // src/presentation/features/organisms/FeaturePresentationsList.tsx
1329
1327
  import { EntityCard as EntityCard6 } from "@contractspec/lib.design-system";
1330
- import { FormInput } from "lucide-react";
1328
+ import { Layout as Layout4 } from "lucide-react";
1331
1329
  import { jsx as jsx12 } from "react/jsx-runtime";
1332
1330
  "use client";
1333
- function FeatureFormsList({ feature }) {
1334
- if (!feature.forms?.length)
1331
+ function FeaturePresentationsList({
1332
+ feature
1333
+ }) {
1334
+ if (!feature.presentations?.length)
1335
1335
  return null;
1336
1336
  return /* @__PURE__ */ jsx12("div", {
1337
1337
  className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
1338
- children: feature.forms.map((form) => {
1339
- const spec = resolveSerializedFormSpec(form.key, form.version);
1338
+ children: feature.presentations.map((pres) => {
1339
+ const spec = resolveSerializedPresentationSpec(pres.key, pres.version);
1340
1340
  return /* @__PURE__ */ jsx12(EntityCard6, {
1341
- cardTitle: form.key,
1342
- cardSubtitle: form.version ? `v${form.version}` : undefined,
1341
+ cardTitle: pres.key,
1342
+ cardSubtitle: `v${pres.version}`,
1343
1343
  footer: spec?.meta.description,
1344
- icon: /* @__PURE__ */ jsx12(FormInput, {
1344
+ icon: /* @__PURE__ */ jsx12(Layout4, {
1345
1345
  className: "h-4 w-4"
1346
1346
  }),
1347
- href: `/features/${feature.meta.key}/forms/${form.key}`
1348
- }, form.key);
1347
+ href: `/features/${feature.meta.key}/presentations/${pres.key}`
1348
+ }, pres.key);
1349
1349
  })
1350
1350
  });
1351
1351
  }