@contractspec/bundle.library 3.8.12 → 3.9.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 (683) hide show
  1. package/.turbo/turbo-build.log +614 -602
  2. package/CHANGELOG.md +97 -0
  3. package/dist/application/context-storage/index.js +1 -1
  4. package/dist/application/index.js +11 -11
  5. package/dist/application/mcp/cliMcp.js +6 -6
  6. package/dist/application/mcp/cliMcp.onboarding.d.ts +4 -0
  7. package/dist/application/mcp/cliMcp.onboarding.js +2 -0
  8. package/dist/application/mcp/cliMcp.test.d.ts +1 -0
  9. package/dist/application/mcp/common.js +1 -1
  10. package/dist/application/mcp/contractsMcp.js +2 -2
  11. package/dist/application/mcp/contractsMcp.test.d.ts +1 -0
  12. package/dist/application/mcp/contractsMcpAdoptionTools.d.ts +3 -0
  13. package/dist/application/mcp/contractsMcpAdoptionTools.js +2 -0
  14. package/dist/application/mcp/contractsMcpResources.js +2 -2
  15. package/dist/application/mcp/contractsMcpTools.js +1 -1
  16. package/dist/application/mcp/contractsMcpTypes.d.ts +16 -0
  17. package/dist/application/mcp/docsMcp.catalog.js +2 -2
  18. package/dist/application/mcp/docsMcp.data.js +1 -1
  19. package/dist/application/mcp/docsMcp.js +3 -3
  20. package/dist/application/mcp/docsMcp.prompts.js +3 -3
  21. package/dist/application/mcp/docsMcp.reference.js +2 -2
  22. package/dist/application/mcp/docsMcp.resources.js +2 -2
  23. package/dist/application/mcp/docsMcp.tools.js +2 -2
  24. package/dist/application/mcp/index.js +11 -11
  25. package/dist/application/mcp/internalMcp.js +2 -2
  26. package/dist/application/mcp/normalizeMcpRequest.js +1 -1
  27. package/dist/application/mcp/providerRankingMcp.js +1 -1
  28. package/dist/bundles/LibraryBundle.d.ts +19 -111
  29. package/dist/bundles/LibraryBundle.js +1 -1
  30. package/dist/bundles/index.js +1 -1
  31. package/dist/components/docs/DocsIndexPage.js +2 -2
  32. package/dist/components/docs/advanced/AdvancedMCPPage.js +3 -3
  33. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
  34. package/dist/components/docs/advanced/AdvancedRenderersPage.js +2 -2
  35. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
  36. package/dist/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
  37. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
  38. package/dist/components/docs/advanced/index.js +9 -9
  39. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
  40. package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
  41. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
  42. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
  43. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
  44. package/dist/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
  45. package/dist/components/docs/architecture/index.js +20 -20
  46. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
  47. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
  48. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
  49. package/dist/components/docs/comparison/ComparisonOverviewPage.js +1 -1
  50. package/dist/components/docs/comparison/ComparisonWindmillPage.js +1 -1
  51. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
  52. package/dist/components/docs/comparison/index.js +1 -1
  53. package/dist/components/docs/docsManifest.js +1 -1
  54. package/dist/components/docs/ecosystem/IntegrationsPage.js +2 -2
  55. package/dist/components/docs/ecosystem/PluginsPage.js +4 -4
  56. package/dist/components/docs/ecosystem/RegistryPage.js +4 -4
  57. package/dist/components/docs/ecosystem/TemplatesPage.js +3 -3
  58. package/dist/components/docs/ecosystem/index.js +11 -11
  59. package/dist/components/docs/examples/DocsExamplesPage.js +1 -17
  60. package/dist/components/docs/examples/ExampleShowcasePage.d.ts +1 -1
  61. package/dist/components/docs/examples/ExampleShowcasePage.js +2 -17
  62. package/dist/components/docs/examples/exampleShowcaseData.d.ts +2 -2
  63. package/dist/components/docs/examples/exampleShowcaseData.js +2 -17
  64. package/dist/components/docs/examples/exampleShowcaseData.test.d.ts +1 -0
  65. package/dist/components/docs/examples/index.js +2 -17
  66. package/dist/components/docs/generated/docs-index.generated.js +1 -1
  67. package/dist/components/docs/generated/index.d.ts +7 -1
  68. package/dist/components/docs/generated/index.js +1 -1
  69. package/dist/components/docs/generated/loader.js +1 -1
  70. package/dist/components/docs/getting-started/CLIPage.js +6 -5
  71. package/dist/components/docs/getting-started/CompatibilityPage.js +1 -1
  72. package/dist/components/docs/getting-started/DataViewTutorialPage.js +44 -67
  73. package/dist/components/docs/getting-started/DeveloperToolsPage.js +1 -1
  74. package/dist/components/docs/getting-started/HelloWorldPage.js +5 -5
  75. package/dist/components/docs/getting-started/InstallationPage.js +3 -3
  76. package/dist/components/docs/getting-started/StartHerePage.js +4 -2
  77. package/dist/components/docs/getting-started/TroubleshootingPage.js +2 -2
  78. package/dist/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
  79. package/dist/components/docs/getting-started/getting-started.docblocks.js +2 -2
  80. package/dist/components/docs/getting-started/index.js +60 -80
  81. package/dist/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
  82. package/dist/components/docs/guides/GuideConnectInRepoPage.js +30 -5
  83. package/dist/components/docs/guides/GuideContractTypesPage.js +6 -6
  84. package/dist/components/docs/guides/GuideDocsPipelinePage.js +3 -3
  85. package/dist/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
  86. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
  87. package/dist/components/docs/guides/GuideHostBuilderWorkbenchPage.js +21 -6
  88. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
  89. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
  90. package/dist/components/docs/guides/GuideReleaseCapsulesPage.d.ts +1 -0
  91. package/dist/components/docs/guides/GuideReleaseCapsulesPage.js +16 -0
  92. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
  93. package/dist/components/docs/guides/GuidesIndexPage.js +2 -2
  94. package/dist/components/docs/guides/index.d.ts +1 -0
  95. package/dist/components/docs/guides/index.js +93 -39
  96. package/dist/components/docs/index.js +690 -419
  97. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
  98. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
  99. package/dist/components/docs/integrations/IntegrationsGithubPage.js +2 -2
  100. package/dist/components/docs/integrations/IntegrationsGmailPage.js +3 -3
  101. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
  102. package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
  103. package/dist/components/docs/integrations/IntegrationsMistralPage.js +2 -2
  104. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
  105. package/dist/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
  106. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
  107. package/dist/components/docs/integrations/IntegrationsPowensPage.js +2 -2
  108. package/dist/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
  109. package/dist/components/docs/integrations/IntegrationsResendPage.js +3 -3
  110. package/dist/components/docs/integrations/IntegrationsS3Page.js +4 -4
  111. package/dist/components/docs/integrations/IntegrationsSlackPage.js +2 -2
  112. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
  113. package/dist/components/docs/integrations/IntegrationsStripePage.js +2 -2
  114. package/dist/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
  115. package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
  116. package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
  117. package/dist/components/docs/integrations/index.js +39 -39
  118. package/dist/components/docs/intent/ContractFirstApiPage.js +2 -2
  119. package/dist/components/docs/intent/DeterministicCodegenPage.js +2 -2
  120. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
  121. package/dist/components/docs/intent/OpenapiAlternativePage.js +3 -3
  122. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
  123. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
  124. package/dist/components/docs/intent/index.js +15 -15
  125. package/dist/components/docs/intent/intent-pages.docblocks.js +1 -1
  126. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
  127. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
  128. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
  129. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
  130. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
  131. package/dist/components/docs/knowledge/index.js +5 -5
  132. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
  133. package/dist/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
  134. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
  135. package/dist/components/docs/libraries/LibrariesContentGenPage.js +2 -2
  136. package/dist/components/docs/libraries/LibrariesContractsPage.js +43 -18
  137. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
  138. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.d.ts +67 -0
  139. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +86 -0
  140. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.d.ts +1 -0
  141. package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.js +86 -0
  142. package/dist/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
  143. package/dist/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
  144. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +77 -29
  145. package/dist/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
  146. package/dist/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
  147. package/dist/components/docs/libraries/LibrariesGrowthPage.js +3 -3
  148. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
  149. package/dist/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
  150. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
  151. package/dist/components/docs/libraries/LibrariesOverviewPage.js +1 -1
  152. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
  153. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
  154. package/dist/components/docs/libraries/LibrariesResiliencePage.js +4 -4
  155. package/dist/components/docs/libraries/LibrariesRuntimePage.js +2 -2
  156. package/dist/components/docs/libraries/LibrariesSLOPage.js +3 -3
  157. package/dist/components/docs/libraries/LibrariesSchemaPage.js +3 -3
  158. package/dist/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
  159. package/dist/components/docs/libraries/LibrariesTestingPage.js +3 -3
  160. package/dist/components/docs/libraries/LibrariesUIKitPage.js +42 -16
  161. package/dist/components/docs/libraries/LibrariesUIKitWebPage.d.ts +1 -0
  162. package/dist/components/docs/libraries/LibrariesUIKitWebPage.js +47 -0
  163. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
  164. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
  165. package/dist/components/docs/libraries/index.d.ts +2 -0
  166. package/dist/components/docs/libraries/index.js +338 -110
  167. package/dist/components/docs/manifesto/ManifestoPage.js +1 -1
  168. package/dist/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
  169. package/dist/components/docs/ops/DistributedTracingOpsPage.js +2 -2
  170. package/dist/components/docs/ops/index.js +3 -3
  171. package/dist/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
  172. package/dist/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
  173. package/dist/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
  174. package/dist/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
  175. package/dist/components/docs/ops/ops-top.docs.js +2 -2
  176. package/dist/components/docs/ops/ops.docs.js +6 -6
  177. package/dist/components/docs/product/product.docblocks.js +2 -2
  178. package/dist/components/docs/reference/DocsMarkdownContent.js +2 -2
  179. package/dist/components/docs/reference/DocsReferenceContent.js +3 -3
  180. package/dist/components/docs/reference/DocsReferenceIndexClient.js +2 -2
  181. package/dist/components/docs/reference/DocsReferenceIndexPage.js +2 -2
  182. package/dist/components/docs/reference/DocsReferencePage.js +3 -3
  183. package/dist/components/docs/reference/docsMarkdownParser.js +2 -2
  184. package/dist/components/docs/reference/index.js +4 -4
  185. package/dist/components/docs/safety/SafetyAuditingPage.js +2 -2
  186. package/dist/components/docs/safety/SafetyMigrationsPage.js +2 -2
  187. package/dist/components/docs/safety/SafetyOverviewPage.js +1 -1
  188. package/dist/components/docs/safety/SafetyPDPPage.js +2 -2
  189. package/dist/components/docs/safety/SafetySecurityTrustPage.js +1 -1
  190. package/dist/components/docs/safety/SafetySigningPage.js +3 -3
  191. package/dist/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
  192. package/dist/components/docs/safety/index.js +7 -7
  193. package/dist/components/docs/shared/StudioPrompt.js +1 -1
  194. package/dist/components/docs/specs/SpecsBuilderControlPlanePage.js +18 -3
  195. package/dist/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
  196. package/dist/components/docs/specs/SpecsConnectPage.js +4 -2
  197. package/dist/components/docs/specs/SpecsDataViewsPage.js +39 -32
  198. package/dist/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
  199. package/dist/components/docs/specs/SpecsOverlaysPage.js +2 -2
  200. package/dist/components/docs/specs/SpecsOverviewPage.js +1 -1
  201. package/dist/components/docs/specs/SpecsPolicyPage.js +3 -3
  202. package/dist/components/docs/specs/SpecsWorkflowsPage.js +2 -2
  203. package/dist/components/docs/specs/index.js +66 -42
  204. package/dist/components/docs/studio/StudioBYOKPage.js +1 -1
  205. package/dist/components/docs/studio/StudioDeploymentsPage.js +1 -1
  206. package/dist/components/docs/studio/StudioGettingStartedPage.js +1 -1
  207. package/dist/components/docs/studio/StudioIntegrationsPage.js +1 -1
  208. package/dist/components/docs/studio/StudioOverviewPage.js +1 -1
  209. package/dist/components/docs/studio/StudioVisualBuilderPage.js +1 -1
  210. package/dist/components/docs/studio/index.js +1 -1
  211. package/dist/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
  212. package/dist/components/integrations/index.js +2 -2
  213. package/dist/components/integrations/molecules/IntegrationCard.js +1 -1
  214. package/dist/components/integrations/organisms/IntegrationMarketplace.js +1 -1
  215. package/dist/components/integrations/organisms/IntegrationSettings.js +2 -2
  216. package/dist/components/integrations/organisms/KnowledgeSourceList.js +1 -1
  217. package/dist/components/legal/PrivacyTemplate.js +1 -1
  218. package/dist/components/legal/TermsTemplate.js +1 -1
  219. package/dist/components/legal/index.js +1 -1
  220. package/dist/components/shared/FeatureGateNotice.js +1 -1
  221. package/dist/components/shared/index.js +1 -1
  222. package/dist/components/shell/WorkspaceHeader.js +1 -1
  223. package/dist/components/shell/WorkspaceProjectShellLayout.js +1 -1
  224. package/dist/components/shell/WorkspaceShellRenderer.js +1 -1
  225. package/dist/components/shell/WorkspaceSidebar.js +1 -1
  226. package/dist/components/shell/index.js +1 -1
  227. package/dist/components/templates/engine/index.js +1 -1
  228. package/dist/components/templates/index.js +11 -11
  229. package/dist/components/templates/messaging/ConversationList.js +2 -2
  230. package/dist/components/templates/messaging/MessageComposer.js +4 -4
  231. package/dist/components/templates/messaging/MessageThread.js +3 -3
  232. package/dist/components/templates/messaging/MessagingWorkspace.js +5 -5
  233. package/dist/components/templates/messaging/index.js +5 -5
  234. package/dist/components/templates/recipes/LanguageSwitcher.js +1 -1
  235. package/dist/components/templates/recipes/RecipeCard.js +1 -1
  236. package/dist/components/templates/recipes/RecipeDetail.js +1 -1
  237. package/dist/components/templates/recipes/RecipeList.js +3 -3
  238. package/dist/components/templates/recipes/index.js +3 -3
  239. package/dist/components/templates/todos/FilterBar.js +1 -1
  240. package/dist/components/templates/todos/TaskForm.js +2 -2
  241. package/dist/components/templates/todos/TaskItem.js +1 -1
  242. package/dist/components/templates/todos/TaskList.js +5 -5
  243. package/dist/components/templates/todos/index.js +5 -5
  244. package/dist/config/contractspec-blueprint.js +1 -1
  245. package/dist/config/contractspec-branding.js +1 -1
  246. package/dist/config/contractspec-routes.js +1 -1
  247. package/dist/config/index.js +1 -1
  248. package/dist/features/contracts-registry.js +1 -1
  249. package/dist/features/docs/docs.contracts.js +1 -1
  250. package/dist/features/docs/index.js +1 -1
  251. package/dist/features/docs.feature.js +1 -1
  252. package/dist/features/index.js +1 -1
  253. package/dist/features/mcp.feature.js +1 -1
  254. package/dist/features/presentations.feature.js +1 -1
  255. package/dist/features/registry.js +1 -1
  256. package/dist/index.d.ts +1 -0
  257. package/dist/index.js +701 -430
  258. package/dist/infrastructure/elysia/index.js +1 -1
  259. package/dist/infrastructure/elysia/logger.js +1 -1
  260. package/dist/infrastructure/index.js +1 -1
  261. package/dist/libs/email/client.js +1 -1
  262. package/dist/libs/email/contact.js +3 -3
  263. package/dist/libs/email/newsletter.js +3 -3
  264. package/dist/libs/email/utils.js +2 -2
  265. package/dist/libs/email/waitlist-application.js +3 -3
  266. package/dist/libs/email/waitlist.js +3 -3
  267. package/dist/libs/email.js +6 -6
  268. package/dist/libs/posthog/client.js +1 -1
  269. package/dist/libs/posthog/native.js +1 -1
  270. package/dist/libs/posthog/server.js +1 -1
  271. package/dist/libs/pricing-examples.js +1 -1
  272. package/dist/node/application/context-storage/index.js +1 -1
  273. package/dist/node/application/index.js +11 -11
  274. package/dist/node/application/mcp/cliMcp.js +6 -6
  275. package/dist/node/application/mcp/cliMcp.onboarding.js +1 -0
  276. package/dist/node/application/mcp/common.js +1 -1
  277. package/dist/node/application/mcp/contractsMcp.js +2 -2
  278. package/dist/node/application/mcp/contractsMcpAdoptionTools.js +1 -0
  279. package/dist/node/application/mcp/contractsMcpResources.js +2 -2
  280. package/dist/node/application/mcp/contractsMcpTools.js +1 -1
  281. package/dist/node/application/mcp/docsMcp.catalog.js +2 -2
  282. package/dist/node/application/mcp/docsMcp.data.js +1 -1
  283. package/dist/node/application/mcp/docsMcp.js +3 -3
  284. package/dist/node/application/mcp/docsMcp.prompts.js +3 -3
  285. package/dist/node/application/mcp/docsMcp.reference.js +2 -2
  286. package/dist/node/application/mcp/docsMcp.resources.js +2 -2
  287. package/dist/node/application/mcp/docsMcp.tools.js +2 -2
  288. package/dist/node/application/mcp/index.js +11 -11
  289. package/dist/node/application/mcp/internalMcp.js +2 -2
  290. package/dist/node/application/mcp/normalizeMcpRequest.js +1 -1
  291. package/dist/node/application/mcp/providerRankingMcp.js +1 -1
  292. package/dist/node/bundles/LibraryBundle.js +1 -1
  293. package/dist/node/bundles/index.js +1 -1
  294. package/dist/node/components/docs/DocsIndexPage.js +2 -2
  295. package/dist/node/components/docs/advanced/AdvancedMCPPage.js +3 -3
  296. package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
  297. package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +2 -2
  298. package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
  299. package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
  300. package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
  301. package/dist/node/components/docs/advanced/index.js +9 -9
  302. package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
  303. package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
  304. package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
  305. package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
  306. package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
  307. package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
  308. package/dist/node/components/docs/architecture/index.js +20 -20
  309. package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
  310. package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
  311. package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
  312. package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +1 -1
  313. package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +1 -1
  314. package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
  315. package/dist/node/components/docs/comparison/index.js +1 -1
  316. package/dist/node/components/docs/docsManifest.js +1 -1
  317. package/dist/node/components/docs/ecosystem/IntegrationsPage.js +2 -2
  318. package/dist/node/components/docs/ecosystem/PluginsPage.js +4 -4
  319. package/dist/node/components/docs/ecosystem/RegistryPage.js +4 -4
  320. package/dist/node/components/docs/ecosystem/TemplatesPage.js +3 -3
  321. package/dist/node/components/docs/ecosystem/index.js +11 -11
  322. package/dist/node/components/docs/examples/DocsExamplesPage.js +1 -17
  323. package/dist/node/components/docs/examples/ExampleShowcasePage.js +2 -17
  324. package/dist/node/components/docs/examples/exampleShowcaseData.js +2 -17
  325. package/dist/node/components/docs/examples/index.js +2 -17
  326. package/dist/node/components/docs/generated/docs-index.generated.js +1 -1
  327. package/dist/node/components/docs/generated/index.js +1 -1
  328. package/dist/node/components/docs/generated/loader.js +1 -1
  329. package/dist/node/components/docs/getting-started/CLIPage.js +6 -5
  330. package/dist/node/components/docs/getting-started/CompatibilityPage.js +1 -1
  331. package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +44 -67
  332. package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +1 -1
  333. package/dist/node/components/docs/getting-started/HelloWorldPage.js +5 -5
  334. package/dist/node/components/docs/getting-started/InstallationPage.js +3 -3
  335. package/dist/node/components/docs/getting-started/StartHerePage.js +4 -2
  336. package/dist/node/components/docs/getting-started/TroubleshootingPage.js +2 -2
  337. package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
  338. package/dist/node/components/docs/getting-started/getting-started.docblocks.js +2 -2
  339. package/dist/node/components/docs/getting-started/index.js +60 -80
  340. package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
  341. package/dist/node/components/docs/guides/GuideConnectInRepoPage.js +30 -5
  342. package/dist/node/components/docs/guides/GuideContractTypesPage.js +6 -6
  343. package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +3 -3
  344. package/dist/node/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
  345. package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
  346. package/dist/node/components/docs/guides/GuideHostBuilderWorkbenchPage.js +21 -6
  347. package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
  348. package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
  349. package/dist/node/components/docs/guides/GuideReleaseCapsulesPage.js +15 -0
  350. package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
  351. package/dist/node/components/docs/guides/GuidesIndexPage.js +2 -2
  352. package/dist/node/components/docs/guides/index.js +93 -39
  353. package/dist/node/components/docs/index.js +690 -419
  354. package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
  355. package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
  356. package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +2 -2
  357. package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +3 -3
  358. package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
  359. package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
  360. package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +2 -2
  361. package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
  362. package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
  363. package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
  364. package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +2 -2
  365. package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
  366. package/dist/node/components/docs/integrations/IntegrationsResendPage.js +3 -3
  367. package/dist/node/components/docs/integrations/IntegrationsS3Page.js +4 -4
  368. package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +2 -2
  369. package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
  370. package/dist/node/components/docs/integrations/IntegrationsStripePage.js +2 -2
  371. package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
  372. package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
  373. package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
  374. package/dist/node/components/docs/integrations/index.js +39 -39
  375. package/dist/node/components/docs/intent/ContractFirstApiPage.js +2 -2
  376. package/dist/node/components/docs/intent/DeterministicCodegenPage.js +2 -2
  377. package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
  378. package/dist/node/components/docs/intent/OpenapiAlternativePage.js +3 -3
  379. package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
  380. package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
  381. package/dist/node/components/docs/intent/index.js +15 -15
  382. package/dist/node/components/docs/intent/intent-pages.docblocks.js +1 -1
  383. package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
  384. package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
  385. package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
  386. package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
  387. package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
  388. package/dist/node/components/docs/knowledge/index.js +5 -5
  389. package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
  390. package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
  391. package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
  392. package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +2 -2
  393. package/dist/node/components/docs/libraries/LibrariesContractsPage.js +43 -18
  394. package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
  395. package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +85 -0
  396. package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.js +85 -0
  397. package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
  398. package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
  399. package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +77 -29
  400. package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
  401. package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
  402. package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +3 -3
  403. package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
  404. package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
  405. package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
  406. package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +1 -1
  407. package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
  408. package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
  409. package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +4 -4
  410. package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +2 -2
  411. package/dist/node/components/docs/libraries/LibrariesSLOPage.js +3 -3
  412. package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +3 -3
  413. package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
  414. package/dist/node/components/docs/libraries/LibrariesTestingPage.js +3 -3
  415. package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +42 -16
  416. package/dist/node/components/docs/libraries/LibrariesUIKitWebPage.js +46 -0
  417. package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
  418. package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
  419. package/dist/node/components/docs/libraries/index.js +338 -110
  420. package/dist/node/components/docs/manifesto/ManifestoPage.js +1 -1
  421. package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
  422. package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +2 -2
  423. package/dist/node/components/docs/ops/index.js +3 -3
  424. package/dist/node/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
  425. package/dist/node/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
  426. package/dist/node/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
  427. package/dist/node/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
  428. package/dist/node/components/docs/ops/ops-top.docs.js +2 -2
  429. package/dist/node/components/docs/ops/ops.docs.js +6 -6
  430. package/dist/node/components/docs/product/product.docblocks.js +2 -2
  431. package/dist/node/components/docs/reference/DocsMarkdownContent.js +2 -2
  432. package/dist/node/components/docs/reference/DocsReferenceContent.js +3 -3
  433. package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +2 -2
  434. package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +2 -2
  435. package/dist/node/components/docs/reference/DocsReferencePage.js +3 -3
  436. package/dist/node/components/docs/reference/docsMarkdownParser.js +2 -2
  437. package/dist/node/components/docs/reference/index.js +4 -4
  438. package/dist/node/components/docs/safety/SafetyAuditingPage.js +2 -2
  439. package/dist/node/components/docs/safety/SafetyMigrationsPage.js +2 -2
  440. package/dist/node/components/docs/safety/SafetyOverviewPage.js +1 -1
  441. package/dist/node/components/docs/safety/SafetyPDPPage.js +2 -2
  442. package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +1 -1
  443. package/dist/node/components/docs/safety/SafetySigningPage.js +3 -3
  444. package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
  445. package/dist/node/components/docs/safety/index.js +7 -7
  446. package/dist/node/components/docs/shared/StudioPrompt.js +1 -1
  447. package/dist/node/components/docs/specs/SpecsBuilderControlPlanePage.js +18 -3
  448. package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
  449. package/dist/node/components/docs/specs/SpecsConnectPage.js +4 -2
  450. package/dist/node/components/docs/specs/SpecsDataViewsPage.js +39 -32
  451. package/dist/node/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
  452. package/dist/node/components/docs/specs/SpecsOverlaysPage.js +2 -2
  453. package/dist/node/components/docs/specs/SpecsOverviewPage.js +1 -1
  454. package/dist/node/components/docs/specs/SpecsPolicyPage.js +3 -3
  455. package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +2 -2
  456. package/dist/node/components/docs/specs/index.js +66 -42
  457. package/dist/node/components/docs/studio/StudioBYOKPage.js +1 -1
  458. package/dist/node/components/docs/studio/StudioDeploymentsPage.js +1 -1
  459. package/dist/node/components/docs/studio/StudioGettingStartedPage.js +1 -1
  460. package/dist/node/components/docs/studio/StudioIntegrationsPage.js +1 -1
  461. package/dist/node/components/docs/studio/StudioOverviewPage.js +1 -1
  462. package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +1 -1
  463. package/dist/node/components/docs/studio/index.js +1 -1
  464. package/dist/node/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
  465. package/dist/node/components/integrations/index.js +2 -2
  466. package/dist/node/components/integrations/molecules/IntegrationCard.js +1 -1
  467. package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +1 -1
  468. package/dist/node/components/integrations/organisms/IntegrationSettings.js +2 -2
  469. package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +1 -1
  470. package/dist/node/components/legal/PrivacyTemplate.js +1 -1
  471. package/dist/node/components/legal/TermsTemplate.js +1 -1
  472. package/dist/node/components/legal/index.js +1 -1
  473. package/dist/node/components/shared/FeatureGateNotice.js +1 -1
  474. package/dist/node/components/shared/index.js +1 -1
  475. package/dist/node/components/shell/WorkspaceHeader.js +1 -1
  476. package/dist/node/components/shell/WorkspaceProjectShellLayout.js +1 -1
  477. package/dist/node/components/shell/WorkspaceShellRenderer.js +1 -1
  478. package/dist/node/components/shell/WorkspaceSidebar.js +1 -1
  479. package/dist/node/components/shell/index.js +1 -1
  480. package/dist/node/components/templates/engine/index.js +1 -1
  481. package/dist/node/components/templates/index.js +11 -11
  482. package/dist/node/components/templates/messaging/ConversationList.js +2 -2
  483. package/dist/node/components/templates/messaging/MessageComposer.js +4 -4
  484. package/dist/node/components/templates/messaging/MessageThread.js +3 -3
  485. package/dist/node/components/templates/messaging/MessagingWorkspace.js +5 -5
  486. package/dist/node/components/templates/messaging/index.js +5 -5
  487. package/dist/node/components/templates/recipes/LanguageSwitcher.js +1 -1
  488. package/dist/node/components/templates/recipes/RecipeCard.js +1 -1
  489. package/dist/node/components/templates/recipes/RecipeDetail.js +1 -1
  490. package/dist/node/components/templates/recipes/RecipeList.js +3 -3
  491. package/dist/node/components/templates/recipes/index.js +3 -3
  492. package/dist/node/components/templates/todos/FilterBar.js +1 -1
  493. package/dist/node/components/templates/todos/TaskForm.js +2 -2
  494. package/dist/node/components/templates/todos/TaskItem.js +1 -1
  495. package/dist/node/components/templates/todos/TaskList.js +5 -5
  496. package/dist/node/components/templates/todos/index.js +5 -5
  497. package/dist/node/config/contractspec-blueprint.js +1 -1
  498. package/dist/node/config/contractspec-branding.js +1 -1
  499. package/dist/node/config/contractspec-routes.js +1 -1
  500. package/dist/node/config/index.js +1 -1
  501. package/dist/node/features/contracts-registry.js +1 -1
  502. package/dist/node/features/docs/docs.contracts.js +1 -1
  503. package/dist/node/features/docs/index.js +1 -1
  504. package/dist/node/features/docs.feature.js +1 -1
  505. package/dist/node/features/index.js +1 -1
  506. package/dist/node/features/mcp.feature.js +1 -1
  507. package/dist/node/features/presentations.feature.js +1 -1
  508. package/dist/node/features/registry.js +1 -1
  509. package/dist/node/index.js +701 -430
  510. package/dist/node/infrastructure/elysia/index.js +1 -1
  511. package/dist/node/infrastructure/elysia/logger.js +1 -1
  512. package/dist/node/infrastructure/index.js +1 -1
  513. package/dist/node/libs/email/client.js +1 -1
  514. package/dist/node/libs/email/contact.js +3 -3
  515. package/dist/node/libs/email/newsletter.js +3 -3
  516. package/dist/node/libs/email/utils.js +2 -2
  517. package/dist/node/libs/email/waitlist-application.js +3 -3
  518. package/dist/node/libs/email/waitlist.js +3 -3
  519. package/dist/node/libs/email.js +6 -6
  520. package/dist/node/libs/posthog/client.js +1 -1
  521. package/dist/node/libs/posthog/native.js +1 -1
  522. package/dist/node/libs/posthog/server.js +1 -1
  523. package/dist/node/libs/pricing-examples.js +1 -1
  524. package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
  525. package/dist/node/presentation/features/atoms/FeatureIcon/index.js +1 -1
  526. package/dist/node/presentation/features/atoms/index.js +1 -1
  527. package/dist/node/presentation/features/hooks/index.js +1 -1
  528. package/dist/node/presentation/features/hooks/useContractsRegistry.js +1 -1
  529. package/dist/node/presentation/features/hooks/useFeatureFilters.js +1 -1
  530. package/dist/node/presentation/features/hooks/useFeatureRegistry.js +1 -1
  531. package/dist/node/presentation/features/hooks/useRelatedDocs.js +1 -1
  532. package/dist/node/presentation/features/index.js +1 -1
  533. package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
  534. package/dist/node/presentation/features/molecules/FeatureCard/index.js +1 -1
  535. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
  536. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
  537. package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
  538. package/dist/node/presentation/features/molecules/FeatureFilters/index.js +1 -1
  539. package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
  540. package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
  541. package/dist/node/presentation/features/molecules/index.js +1 -1
  542. package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +1 -1
  543. package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
  544. package/dist/node/presentation/features/organisms/FeatureDetail/index.js +1 -1
  545. package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
  546. package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
  547. package/dist/node/presentation/features/organisms/FeatureEventsList.js +1 -1
  548. package/dist/node/presentation/features/organisms/FeatureFormsList.js +1 -1
  549. package/dist/node/presentation/features/organisms/FeatureOperationsList.js +1 -1
  550. package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +1 -1
  551. package/dist/node/presentation/features/organisms/index.js +1 -1
  552. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
  553. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
  554. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
  555. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
  556. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
  557. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
  558. package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
  559. package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
  560. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
  561. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
  562. package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
  563. package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
  564. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
  565. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
  566. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
  567. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
  568. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
  569. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
  570. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
  571. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
  572. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
  573. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
  574. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
  575. package/dist/presentation/features/atoms/FeatureIcon/index.js +1 -1
  576. package/dist/presentation/features/atoms/index.js +1 -1
  577. package/dist/presentation/features/hooks/index.js +1 -1
  578. package/dist/presentation/features/hooks/useContractsRegistry.js +1 -1
  579. package/dist/presentation/features/hooks/useFeatureFilters.js +1 -1
  580. package/dist/presentation/features/hooks/useFeatureRegistry.js +1 -1
  581. package/dist/presentation/features/hooks/useRelatedDocs.js +1 -1
  582. package/dist/presentation/features/index.js +1 -1
  583. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
  584. package/dist/presentation/features/molecules/FeatureCard/index.js +1 -1
  585. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
  586. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
  587. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
  588. package/dist/presentation/features/molecules/FeatureFilters/index.js +1 -1
  589. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
  590. package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
  591. package/dist/presentation/features/molecules/index.js +1 -1
  592. package/dist/presentation/features/organisms/FeatureDataViewsList.js +1 -1
  593. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
  594. package/dist/presentation/features/organisms/FeatureDetail/index.js +1 -1
  595. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
  596. package/dist/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
  597. package/dist/presentation/features/organisms/FeatureEventsList.js +1 -1
  598. package/dist/presentation/features/organisms/FeatureFormsList.js +1 -1
  599. package/dist/presentation/features/organisms/FeatureOperationsList.js +1 -1
  600. package/dist/presentation/features/organisms/FeaturePresentationsList.js +1 -1
  601. package/dist/presentation/features/organisms/index.js +1 -1
  602. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
  603. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
  604. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
  605. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
  606. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
  607. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
  608. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
  609. package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
  610. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
  611. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
  612. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
  613. package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
  614. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
  615. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
  616. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
  617. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
  618. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
  619. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
  620. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
  621. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
  622. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
  623. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
  624. package/package.json +96 -23
  625. package/src/application/mcp/cliMcp.onboarding.ts +297 -0
  626. package/src/application/mcp/cliMcp.test.ts +99 -0
  627. package/src/application/mcp/cliMcp.ts +30 -3
  628. package/src/application/mcp/contractsMcp.test.ts +65 -0
  629. package/src/application/mcp/contractsMcpAdoptionTools.ts +131 -0
  630. package/src/application/mcp/contractsMcpResources.ts +49 -0
  631. package/src/application/mcp/contractsMcpTools.ts +2 -0
  632. package/src/application/mcp/contractsMcpTypes.ts +16 -0
  633. package/src/bundles/LibraryBundle.ts +19 -130
  634. package/src/components/docs/docsManifest.test.ts +14 -0
  635. package/src/components/docs/docsManifest.ts +22 -0
  636. package/src/components/docs/examples/DocsExamplesPage.tsx +6 -14
  637. package/src/components/docs/examples/ExampleShowcasePage.tsx +22 -18
  638. package/src/components/docs/examples/exampleShowcaseData.test.ts +22 -0
  639. package/src/components/docs/examples/exampleShowcaseData.ts +75 -50
  640. package/src/components/docs/generated/docs-index._common.json +9 -1
  641. package/src/components/docs/generated/docs-index.ai-chat.json +1 -1
  642. package/src/components/docs/generated/docs-index.app-config.json +4 -4
  643. package/src/components/docs/generated/docs-index.data-grid-showcase.json +9 -1
  644. package/src/components/docs/generated/docs-index.jobs.json +1 -1
  645. package/src/components/docs/generated/docs-index.kb-update-pipeline.json +5 -5
  646. package/src/components/docs/generated/docs-index.learning-journey-crm-onboarding.json +1 -1
  647. package/src/components/docs/generated/docs-index.learning-journey-platform-tour.json +1 -1
  648. package/src/components/docs/generated/docs-index.learning-journey-registry.json +1 -1
  649. package/src/components/docs/generated/docs-index.learning-journey.json +27 -3
  650. package/src/components/docs/generated/docs-index.locale-jurisdiction-gate.json +8 -0
  651. package/src/components/docs/generated/docs-index.manifest.json +13 -13
  652. package/src/components/docs/generated/docs-index.mobile-demo-landing.json +42 -0
  653. package/src/components/docs/generated/docs-index.platform-agent.json +18 -2
  654. package/src/components/docs/generated/docs-index.platform-context.json +16 -0
  655. package/src/components/docs/generated/docs-index.platform-docs.json +9 -1
  656. package/src/components/docs/generated/docs-index.platform-provider-ranking.json +32 -0
  657. package/src/components/docs/generated/docs-index.wealth-snapshot.json +4 -4
  658. package/src/components/docs/generated/index.ts +20 -5
  659. package/src/components/docs/generated/loader.ts +15 -8
  660. package/src/components/docs/getting-started/CLIPage.tsx +10 -2
  661. package/src/components/docs/getting-started/CompatibilityPage.tsx +14 -0
  662. package/src/components/docs/getting-started/DataViewTutorialPage.tsx +63 -70
  663. package/src/components/docs/getting-started/StartHerePage.tsx +10 -9
  664. package/src/components/docs/guides/GuideConnectInRepoPage.tsx +52 -3
  665. package/src/components/docs/guides/GuideHostBuilderWorkbenchPage.tsx +55 -6
  666. package/src/components/docs/guides/GuideReleaseCapsulesPage.tsx +147 -0
  667. package/src/components/docs/guides/GuidesIndexPage.tsx +7 -0
  668. package/src/components/docs/guides/index.ts +1 -0
  669. package/src/components/docs/libraries/LibrariesContractsPage.tsx +72 -27
  670. package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.content.ts +252 -0
  671. package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.tsx +232 -0
  672. package/src/components/docs/libraries/LibrariesDesignSystemPage.tsx +140 -55
  673. package/src/components/docs/libraries/LibrariesOverviewPage.tsx +13 -1
  674. package/src/components/docs/libraries/LibrariesRuntimePage.tsx +15 -0
  675. package/src/components/docs/libraries/LibrariesUIKitPage.tsx +78 -25
  676. package/src/components/docs/libraries/LibrariesUIKitWebPage.tsx +129 -0
  677. package/src/components/docs/libraries/index.ts +2 -0
  678. package/src/components/docs/reference/DocsReferenceIndexPage.tsx +1 -1
  679. package/src/components/docs/specs/SpecsBuilderControlPlanePage.tsx +58 -3
  680. package/src/components/docs/specs/SpecsConnectPage.tsx +30 -0
  681. package/src/components/docs/specs/SpecsDataViewsPage.tsx +63 -42
  682. package/src/index.ts +1 -1
  683. package/src/components/docs/generated/docs-index.mobile-demo-tasks.json +0 -34
@@ -0,0 +1,297 @@
1
+ import { createNodeAdapters, onboarding } from '@contractspec/bundle.workspace';
2
+ import {
3
+ defineCommand,
4
+ definePrompt,
5
+ defineResourceTemplate,
6
+ installOp,
7
+ type OperationSpecRegistry,
8
+ type PromptRegistry,
9
+ type ResourceRegistry,
10
+ } from '@contractspec/lib.contracts-spec';
11
+ import { defineSchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';
12
+ import z from 'zod';
13
+
14
+ const ONBOARDING_TAGS = ['cli', 'mcp', 'onboarding'];
15
+ const ONBOARDING_OWNERS = ['@contractspec'];
16
+
17
+ function parseTrackIds(tracks: string | undefined) {
18
+ return tracks
19
+ ?.split(',')
20
+ .map((track) => track.trim())
21
+ .filter(Boolean) as onboarding.OnboardingTrackId[] | undefined;
22
+ }
23
+
24
+ async function buildPlan(args: { tracks?: string; example?: string } = {}) {
25
+ const adapters = createNodeAdapters({
26
+ cwd: process.cwd(),
27
+ silent: true,
28
+ });
29
+ return onboarding.buildOnboardingPlan(adapters, {
30
+ forcedExampleKey: args.example,
31
+ selectedTracks: parseTrackIds(args.tracks),
32
+ });
33
+ }
34
+
35
+ export function registerCliOnboardingResources(resources: ResourceRegistry) {
36
+ resources.register(
37
+ defineResourceTemplate({
38
+ meta: {
39
+ uriTemplate: 'onboarding://tracks',
40
+ title: 'Onboarding tracks',
41
+ description:
42
+ 'Primary ContractSpec onboarding tracks exposed by the CLI.',
43
+ mimeType: 'application/json',
44
+ tags: ONBOARDING_TAGS,
45
+ },
46
+ input: z.object({}),
47
+ resolve: async () => ({
48
+ uri: 'onboarding://tracks',
49
+ mimeType: 'application/json',
50
+ data: JSON.stringify(onboarding.listOnboardingTracks(), null, 2),
51
+ }),
52
+ })
53
+ );
54
+
55
+ resources.register(
56
+ defineResourceTemplate({
57
+ meta: {
58
+ uriTemplate: 'onboarding://track/{id}',
59
+ title: 'Onboarding track',
60
+ description:
61
+ 'Track-specific onboarding metadata and recommended commands.',
62
+ mimeType: 'application/json',
63
+ tags: ONBOARDING_TAGS,
64
+ },
65
+ input: z.object({ id: z.string() }),
66
+ resolve: async ({ id }) => ({
67
+ uri: `onboarding://track/${id}`,
68
+ mimeType: 'application/json',
69
+ data: JSON.stringify(
70
+ onboarding.getOnboardingTrack(id) ?? null,
71
+ null,
72
+ 2
73
+ ),
74
+ }),
75
+ })
76
+ );
77
+
78
+ resources.register(
79
+ defineResourceTemplate({
80
+ meta: {
81
+ uriTemplate: 'onboarding://artifacts/{id}{?tracks,example}',
82
+ title: 'Rendered onboarding artifact',
83
+ description:
84
+ 'Render AGENTS.md or USAGE.md content for the current repo.',
85
+ mimeType: 'text/markdown',
86
+ tags: ONBOARDING_TAGS,
87
+ },
88
+ input: z.object({
89
+ example: z.string().optional(),
90
+ id: z.enum(['agent-guide', 'human-guide']),
91
+ tracks: z.string().optional(),
92
+ }),
93
+ resolve: async ({ example, id, tracks }) => {
94
+ const plan = await buildPlan({ example, tracks });
95
+ return {
96
+ uri: `onboarding://artifacts/${id}`,
97
+ mimeType: 'text/markdown',
98
+ data:
99
+ id === 'agent-guide'
100
+ ? plan.guides.agentGuide
101
+ : plan.guides.humanGuide,
102
+ };
103
+ },
104
+ })
105
+ );
106
+ }
107
+
108
+ export function registerCliOnboardingPrompts(prompts: PromptRegistry) {
109
+ prompts.register(
110
+ definePrompt({
111
+ meta: {
112
+ key: 'cli.onboarding',
113
+ version: '1.0.0',
114
+ title: 'Plan a ContractSpec onboarding flow',
115
+ description:
116
+ 'Suggest the right onboarding track and artifacts for a repo.',
117
+ tags: ONBOARDING_TAGS,
118
+ stability: 'beta',
119
+ owners: ONBOARDING_OWNERS,
120
+ },
121
+ args: [
122
+ {
123
+ name: 'goal',
124
+ description: 'Repository onboarding goal or focus area.',
125
+ required: false,
126
+ schema: z.string().optional(),
127
+ },
128
+ ],
129
+ input: z.object({ goal: z.string().optional() }),
130
+ render: async ({ goal }) => [
131
+ {
132
+ type: 'text',
133
+ text: `Use onboarding://tracks and onboarding_suggestTracks-v1_0_0 before recommending repo-local ContractSpec adoption steps.${goal ? ` Goal: ${goal}.` : ''}`,
134
+ },
135
+ {
136
+ type: 'resource' as const,
137
+ uri: 'onboarding://tracks',
138
+ title: 'Tracks',
139
+ },
140
+ ],
141
+ })
142
+ );
143
+ }
144
+
145
+ export function registerCliOnboardingOps(registry: OperationSpecRegistry) {
146
+ const SuggestTracksInput = defineSchemaModel({
147
+ name: 'OnboardingSuggestTracksInput',
148
+ fields: {
149
+ example: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
150
+ tracks: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
151
+ },
152
+ });
153
+ const SuggestTracksOutput = defineSchemaModel({
154
+ name: 'OnboardingSuggestTracksOutput',
155
+ fields: {
156
+ nextCommands: {
157
+ type: ScalarTypeEnum.String_unsecure(),
158
+ isArray: true,
159
+ isOptional: false,
160
+ },
161
+ primaryTrack: {
162
+ type: ScalarTypeEnum.String_unsecure(),
163
+ isOptional: false,
164
+ },
165
+ reason: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
166
+ tracks: {
167
+ type: ScalarTypeEnum.String_unsecure(),
168
+ isArray: true,
169
+ isOptional: false,
170
+ },
171
+ },
172
+ });
173
+ const RenderArtifactsOutput = defineSchemaModel({
174
+ name: 'OnboardingRenderArtifactOutput',
175
+ fields: {
176
+ content: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
177
+ primaryTrack: {
178
+ type: ScalarTypeEnum.String_unsecure(),
179
+ isOptional: false,
180
+ },
181
+ },
182
+ });
183
+ const NextCommandOutput = defineSchemaModel({
184
+ name: 'OnboardingNextCommandOutput',
185
+ fields: {
186
+ nextCommand: {
187
+ type: ScalarTypeEnum.String_unsecure(),
188
+ isOptional: false,
189
+ },
190
+ primaryTrack: {
191
+ type: ScalarTypeEnum.String_unsecure(),
192
+ isOptional: false,
193
+ },
194
+ },
195
+ });
196
+
197
+ installOp(
198
+ registry,
199
+ defineCommand({
200
+ meta: {
201
+ key: 'onboarding.suggestTracks',
202
+ version: '1.0.0',
203
+ stability: 'stable',
204
+ owners: ONBOARDING_OWNERS,
205
+ tags: ONBOARDING_TAGS,
206
+ description: 'Suggest the recommended ContractSpec onboarding tracks.',
207
+ goal: 'Help agents choose the right onboarding track before editing repo-local guides.',
208
+ context: 'Used inside the CLI MCP server.',
209
+ },
210
+ io: { input: SuggestTracksInput, output: SuggestTracksOutput },
211
+ policy: { auth: 'anonymous' },
212
+ }),
213
+ async ({ example, tracks }) => {
214
+ const plan = await buildPlan({ example, tracks });
215
+ return {
216
+ nextCommands: plan.nextCommands,
217
+ primaryTrack: plan.primaryTrack.id,
218
+ reason: plan.recommendations[0]?.reason ?? plan.primaryTrack.summary,
219
+ tracks: plan.recommendations.map(
220
+ (recommendation) => recommendation.track.id
221
+ ),
222
+ };
223
+ }
224
+ );
225
+
226
+ installOp(
227
+ registry,
228
+ defineCommand({
229
+ meta: {
230
+ key: 'onboarding.renderArtifacts',
231
+ version: '1.0.0',
232
+ stability: 'stable',
233
+ owners: ONBOARDING_OWNERS,
234
+ tags: ONBOARDING_TAGS,
235
+ description: 'Render onboarding artifacts for the current repo.',
236
+ goal: 'Provide AGENTS.md or USAGE.md content without mutating the repo.',
237
+ context: 'Used inside the CLI MCP server.',
238
+ },
239
+ io: {
240
+ input: defineSchemaModel({
241
+ name: 'OnboardingRenderArtifactInput',
242
+ fields: {
243
+ artifact: {
244
+ type: ScalarTypeEnum.String_unsecure(),
245
+ isOptional: false,
246
+ },
247
+ example: {
248
+ type: ScalarTypeEnum.String_unsecure(),
249
+ isOptional: true,
250
+ },
251
+ tracks: {
252
+ type: ScalarTypeEnum.String_unsecure(),
253
+ isOptional: true,
254
+ },
255
+ },
256
+ }),
257
+ output: RenderArtifactsOutput,
258
+ },
259
+ policy: { auth: 'anonymous' },
260
+ }),
261
+ async ({ artifact, example, tracks }) => {
262
+ const plan = await buildPlan({ example, tracks });
263
+ return {
264
+ content:
265
+ artifact === 'agent-guide'
266
+ ? plan.guides.agentGuide
267
+ : plan.guides.humanGuide,
268
+ primaryTrack: plan.primaryTrack.id,
269
+ };
270
+ }
271
+ );
272
+
273
+ installOp(
274
+ registry,
275
+ defineCommand({
276
+ meta: {
277
+ key: 'onboarding.nextCommand',
278
+ version: '1.0.0',
279
+ stability: 'stable',
280
+ owners: ONBOARDING_OWNERS,
281
+ tags: ONBOARDING_TAGS,
282
+ description: 'Return the next recommended CLI command for onboarding.',
283
+ goal: 'Help agents choose the next onboarding command without mutating the repo.',
284
+ context: 'Used inside the CLI MCP server.',
285
+ },
286
+ io: { input: SuggestTracksInput, output: NextCommandOutput },
287
+ policy: { auth: 'anonymous' },
288
+ }),
289
+ async ({ example, tracks }) => {
290
+ const plan = await buildPlan({ example, tracks });
291
+ return {
292
+ nextCommand: plan.nextCommands[0] ?? 'contractspec onboard',
293
+ primaryTrack: plan.primaryTrack.id,
294
+ };
295
+ }
296
+ );
297
+ }
@@ -0,0 +1,99 @@
1
+ import { describe, expect, it } from 'bun:test';
2
+ import { Elysia } from 'elysia';
3
+ import { createCliMcpHandler } from './cliMcp';
4
+
5
+ function createTestApp() {
6
+ return new Elysia().use(createCliMcpHandler('/mcp/cli'));
7
+ }
8
+
9
+ async function mcpRequest(
10
+ method: string,
11
+ params: Record<string, unknown> = {}
12
+ ) {
13
+ return createTestApp().handle(
14
+ new Request('http://localhost/mcp/cli', {
15
+ method: 'POST',
16
+ headers: {
17
+ accept: 'application/json',
18
+ 'content-type': 'application/json',
19
+ },
20
+ body: JSON.stringify({
21
+ jsonrpc: '2.0',
22
+ id: 1,
23
+ method,
24
+ params,
25
+ }),
26
+ })
27
+ );
28
+ }
29
+
30
+ async function initialize() {
31
+ const response = await mcpRequest('initialize', {
32
+ protocolVersion: '2024-11-05',
33
+ capabilities: {},
34
+ clientInfo: { name: 'cli-mcp-test', version: '1.0.0' },
35
+ });
36
+ expect(response.status).toBe(200);
37
+ }
38
+
39
+ describe('cli MCP handler', () => {
40
+ it('exposes onboarding resources, prompts, and tools', async () => {
41
+ await initialize();
42
+
43
+ const toolsResponse = await mcpRequest('tools/list');
44
+ const toolsBody = await toolsResponse.json();
45
+ const toolNames = toolsBody.result.tools.map(
46
+ (tool: { name: string }) => tool.name
47
+ );
48
+ expect(toolNames).toContain('cli_suggestCommand-v1_0_0');
49
+ expect(toolNames).toContain('onboarding_suggestTracks-v1_0_0');
50
+ expect(toolNames).toContain('onboarding_renderArtifacts-v1_0_0');
51
+ expect(toolNames).toContain('onboarding_nextCommand-v1_0_0');
52
+
53
+ const promptsResponse = await mcpRequest('prompts/list');
54
+ const promptsBody = await promptsResponse.json();
55
+ const promptNames = promptsBody.result.prompts.map(
56
+ (prompt: { name: string }) => prompt.name
57
+ );
58
+ expect(promptNames).toContain('cli_usage');
59
+ expect(promptNames).toContain('cli_onboarding');
60
+
61
+ const resourcesResponse = await mcpRequest('resources/list');
62
+ const resourcesBody = await resourcesResponse.json();
63
+ const resourceUris = (resourcesBody.result.resources ?? []).map(
64
+ (resource: { uri?: string; uriTemplate?: string }) =>
65
+ resource.uriTemplate ?? resource.uri
66
+ );
67
+ expect(resourceUris).toContain('cli://commands');
68
+ expect(resourceUris).toContain('onboarding://tracks');
69
+ });
70
+
71
+ it('renders onboarding artifacts and next-command guidance', async () => {
72
+ await initialize();
73
+
74
+ const artifactResponse = await mcpRequest('tools/call', {
75
+ name: 'onboarding_renderArtifacts-v1_0_0',
76
+ arguments: {
77
+ artifact: 'human-guide',
78
+ tracks: 'knowledge',
79
+ },
80
+ });
81
+ const artifactBody = await artifactResponse.json();
82
+ const artifactResult = JSON.parse(artifactBody.result.content[0].text);
83
+ expect(artifactResult.primaryTrack).toBe('knowledge');
84
+ expect(artifactResult.content).toContain('ContractSpec Repo Onboarding');
85
+
86
+ const nextCommandResponse = await mcpRequest('tools/call', {
87
+ name: 'onboarding_nextCommand-v1_0_0',
88
+ arguments: {
89
+ tracks: 'ai-agents',
90
+ },
91
+ });
92
+ const nextCommandBody = await nextCommandResponse.json();
93
+ const nextCommandResult = JSON.parse(
94
+ nextCommandBody.result.content[0].text
95
+ );
96
+ expect(nextCommandResult.primaryTrack).toBe('ai-agents');
97
+ expect(nextCommandResult.nextCommand).toContain('contractspec onboard');
98
+ });
99
+ });
@@ -12,6 +12,11 @@ import { defineSchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';
12
12
  import path from 'path';
13
13
  import z from 'zod';
14
14
  import { appLogger } from '../../infrastructure/elysia/logger';
15
+ import {
16
+ registerCliOnboardingOps,
17
+ registerCliOnboardingPrompts,
18
+ registerCliOnboardingResources,
19
+ } from './cliMcp.onboarding';
15
20
  import { createMcpElysiaHandler } from './common';
16
21
 
17
22
  const CLI_DOC_PATHS = {
@@ -22,11 +27,11 @@ const CLI_DOC_PATHS = {
22
27
 
23
28
  const CLI_DOC_FALLBACK = {
24
29
  quickstart:
25
- '# ContractSpec CLI quickstart\n\ncontractspec create\ncontractspec build <spec>\ncontractspec validate <spec>',
30
+ '# ContractSpec CLI quickstart\n\ncontractspec quickstart\ncontractspec onboard\ncontractspec validate',
26
31
  reference:
27
- '# ContractSpec CLI reference\n\nKey commands: create, build, validate. See README for full options.',
32
+ '# ContractSpec CLI reference\n\nKey commands: onboard, create, generate, validate. See README for full options.',
28
33
  readme:
29
- '# ContractSpec CLI\n\nStabilize AI-generated code across API, DB, UI, events. Use create/build/validate commands.',
34
+ '# ContractSpec CLI\n\nStabilize AI-generated code across API, DB, UI, events. Use onboard/create/generate/validate commands.',
30
35
  };
31
36
 
32
37
  const CLI_DOC_TAGS = ['cli', 'mcp'];
@@ -108,6 +113,12 @@ function buildCliResources() {
108
113
  input: z.object({}),
109
114
  resolve: async () => {
110
115
  const commands = [
116
+ {
117
+ command: 'contractspec onboard',
118
+ summary:
119
+ 'Generate repo-local AGENTS.md and USAGE.md guidance plus recommended tracks.',
120
+ doc: 'cli://doc/quickstart',
121
+ },
111
122
  {
112
123
  command: 'contractspec create',
113
124
  summary: 'Interactive wizard to author specs (with optional AI).',
@@ -136,6 +147,7 @@ function buildCliResources() {
136
147
  })
137
148
  );
138
149
 
150
+ registerCliOnboardingResources(resources);
139
151
  return resources;
140
152
  }
141
153
 
@@ -178,6 +190,7 @@ function buildCliPrompts() {
178
190
  })
179
191
  );
180
192
 
193
+ registerCliOnboardingPrompts(prompts);
181
194
  return prompts;
182
195
  }
183
196
 
@@ -224,6 +237,19 @@ function buildCliOps() {
224
237
  installOp(registry, suggestSpec, async ({ goal, prefersAi }) => {
225
238
  const lower = goal.toLowerCase();
226
239
 
240
+ if (
241
+ lower.includes('onboard') ||
242
+ lower.includes('start') ||
243
+ lower.includes('guide') ||
244
+ lower.includes('install')
245
+ ) {
246
+ return {
247
+ command: 'contractspec onboard',
248
+ docUri: 'cli://doc/quickstart',
249
+ reason: 'Starts the CLI-first onboarding flow for the current repo.',
250
+ };
251
+ }
252
+
227
253
  if (lower.includes('create') || lower.includes('new')) {
228
254
  return {
229
255
  command: prefersAi ? 'contractspec create --ai' : 'contractspec create',
@@ -258,6 +284,7 @@ function buildCliOps() {
258
284
  };
259
285
  });
260
286
 
287
+ registerCliOnboardingOps(registry);
261
288
  return registry;
262
289
  }
263
290
 
@@ -0,0 +1,65 @@
1
+ import { describe, expect, it } from 'bun:test';
2
+ import { buildContractsResources } from './contractsMcpResources';
3
+ import { buildContractsOps } from './contractsMcpTools';
4
+ import type { ContractsMcpServices } from './contractsMcpTypes';
5
+
6
+ const services: ContractsMcpServices = {
7
+ async buildSpec() {
8
+ return { results: [] };
9
+ },
10
+ async deleteSpec() {
11
+ return { cleanedFiles: [], deleted: true, errors: [] };
12
+ },
13
+ async fetchRegistryManifest() {
14
+ return {};
15
+ },
16
+ async getSpec() {
17
+ return null;
18
+ },
19
+ async listSpecs() {
20
+ return [];
21
+ },
22
+ async resolveAdoption(options) {
23
+ return {
24
+ ambiguous: false,
25
+ candidates: [],
26
+ exhausted: false,
27
+ family: options.family,
28
+ query: options.query,
29
+ reason: `Resolved ${options.family}`,
30
+ selected: null,
31
+ verdict: 'rewrite',
32
+ };
33
+ },
34
+ async searchAdoptionCatalog() {
35
+ return [{ packageRef: '@contractspec/lib.contracts-spec' }];
36
+ },
37
+ async syncAdoptionCatalog() {
38
+ return { catalogPath: '.contractspec/adoption/catalog.json', total: 1 };
39
+ },
40
+ async updateSpec() {
41
+ return { errors: [], updated: true, warnings: [] };
42
+ },
43
+ async validateSpec() {
44
+ return { errors: [], valid: true, warnings: [] };
45
+ },
46
+ };
47
+
48
+ describe('contracts MCP adoption extensions', () => {
49
+ it('registers adoption tools alongside contract tools', () => {
50
+ const registry = buildContractsOps(services);
51
+ const keys = registry.list().map((spec) => spec.meta.key);
52
+
53
+ expect(keys).toContain('adoption.catalog_search');
54
+ expect(keys).toContain('adoption.resolve');
55
+ expect(keys).toContain('adoption.sync');
56
+ });
57
+
58
+ it('registers adoption resources', () => {
59
+ const resources = buildContractsResources(services);
60
+ const uris = resources.listTemplates().map((tmpl) => tmpl.meta.uriTemplate);
61
+
62
+ expect(uris).toContain('adoption://catalog');
63
+ expect(uris).toContain('adoption://policy/{family}');
64
+ });
65
+ });
@@ -0,0 +1,131 @@
1
+ import {
2
+ defineCommand,
3
+ installOp,
4
+ type OperationSpecRegistry,
5
+ } from '@contractspec/lib.contracts-spec';
6
+ import { defineSchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';
7
+ import type { ContractsMcpServices } from './contractsMcpTypes';
8
+
9
+ const OWNERS = ['@contractspec'];
10
+ const TAGS = ['contracts', 'mcp', 'adoption'];
11
+
12
+ export function registerAdoptionOps(
13
+ registry: OperationSpecRegistry,
14
+ services: ContractsMcpServices
15
+ ) {
16
+ const SearchInput = defineSchemaModel({
17
+ name: 'AdoptionCatalogSearchInput',
18
+ fields: {
19
+ query: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
20
+ family: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
21
+ platform: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
22
+ },
23
+ });
24
+ const SearchOutput = defineSchemaModel({
25
+ name: 'AdoptionCatalogSearchOutput',
26
+ fields: {
27
+ results: { type: ScalarTypeEnum.JSON(), isOptional: false },
28
+ },
29
+ });
30
+ installOp(
31
+ registry,
32
+ defineCommand({
33
+ meta: {
34
+ key: 'adoption.catalog_search',
35
+ version: '1.0.0',
36
+ stability: 'beta',
37
+ owners: OWNERS,
38
+ tags: TAGS,
39
+ description: 'Search the local ContractSpec adoption catalog.',
40
+ goal: 'Find relevant ContractSpec reuse candidates for a query.',
41
+ context: 'Contracts MCP server.',
42
+ },
43
+ io: { input: SearchInput, output: SearchOutput },
44
+ policy: { auth: 'anonymous' },
45
+ }),
46
+ async ({ family, platform, query }) => ({
47
+ results: await services.searchAdoptionCatalog({
48
+ family,
49
+ platform,
50
+ query,
51
+ }),
52
+ })
53
+ );
54
+
55
+ const ResolveInput = defineSchemaModel({
56
+ name: 'AdoptionResolveInput',
57
+ fields: {
58
+ family: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
59
+ query: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },
60
+ paths: { type: ScalarTypeEnum.JSON(), isOptional: true },
61
+ platform: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
62
+ runtime: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },
63
+ },
64
+ });
65
+ const ResolveOutput = defineSchemaModel({
66
+ name: 'AdoptionResolveOutput',
67
+ fields: {
68
+ resolution: { type: ScalarTypeEnum.JSON(), isOptional: false },
69
+ },
70
+ });
71
+ installOp(
72
+ registry,
73
+ defineCommand({
74
+ meta: {
75
+ key: 'adoption.resolve',
76
+ version: '1.0.0',
77
+ stability: 'beta',
78
+ owners: OWNERS,
79
+ tags: TAGS,
80
+ description: 'Resolve the best adoption candidate for one family.',
81
+ goal: 'Provide one ordered recommendation that matches Connect.',
82
+ context: 'Contracts MCP server.',
83
+ },
84
+ io: { input: ResolveInput, output: ResolveOutput },
85
+ policy: { auth: 'anonymous' },
86
+ }),
87
+ async ({ family, paths, platform, query, runtime }) => ({
88
+ resolution: await services.resolveAdoption({
89
+ family,
90
+ paths: Array.isArray(paths) ? (paths as string[]) : undefined,
91
+ platform,
92
+ query,
93
+ runtime,
94
+ }),
95
+ })
96
+ );
97
+
98
+ const SyncInput = defineSchemaModel({
99
+ name: 'AdoptionSyncInput',
100
+ fields: {},
101
+ });
102
+ const SyncOutput = defineSchemaModel({
103
+ name: 'AdoptionSyncOutput',
104
+ fields: {
105
+ catalogPath: {
106
+ type: ScalarTypeEnum.String_unsecure(),
107
+ isOptional: false,
108
+ },
109
+ total: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },
110
+ },
111
+ });
112
+ installOp(
113
+ registry,
114
+ defineCommand({
115
+ meta: {
116
+ key: 'adoption.sync',
117
+ version: '1.0.0',
118
+ stability: 'beta',
119
+ owners: OWNERS,
120
+ tags: TAGS,
121
+ description:
122
+ 'Mirror the bundled ContractSpec adoption catalog locally.',
123
+ goal: 'Refresh the local adoption catalog used by Connect and MCP.',
124
+ context: 'Contracts MCP server.',
125
+ },
126
+ io: { input: SyncInput, output: SyncOutput },
127
+ policy: { auth: 'user' },
128
+ }),
129
+ async () => services.syncAdoptionCatalog()
130
+ );
131
+ }