@contractspec/bundle.library 3.7.6 → 3.8.2

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