@contractspec/bundle.library 3.4.3 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/.turbo/turbo-build.log +494 -488
  2. package/CHANGELOG.md +36 -0
  3. package/dist/application/index.js +8 -8
  4. package/dist/application/mcp/cliMcp.js +8 -8
  5. package/dist/application/mcp/contractsMcp.js +8 -8
  6. package/dist/application/mcp/docsMcp.js +8 -8
  7. package/dist/application/mcp/index.js +8 -8
  8. package/dist/application/mcp/internalMcp.js +8 -8
  9. package/dist/application/mcp/providerRankingMcp.js +8 -8
  10. package/dist/bundles/LibraryBundle.d.ts +126 -0
  11. package/dist/bundles/LibraryBundle.js +139 -0
  12. package/dist/bundles/index.d.ts +1 -0
  13. package/dist/bundles/index.js +139 -0
  14. package/dist/components/docs/DocsIndexPage.js +91 -91
  15. package/dist/components/docs/advanced/AdvancedMCPPage.js +125 -125
  16. package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
  17. package/dist/components/docs/advanced/AdvancedRenderersPage.js +51 -51
  18. package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
  19. package/dist/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
  20. package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
  21. package/dist/components/docs/advanced/index.js +482 -482
  22. package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
  23. package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
  24. package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
  25. package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
  26. package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
  27. package/dist/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
  28. package/dist/components/docs/architecture/index.js +748 -748
  29. package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
  30. package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
  31. package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
  32. package/dist/components/docs/comparison/ComparisonOverviewPage.js +97 -97
  33. package/dist/components/docs/comparison/ComparisonWindmillPage.js +125 -125
  34. package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
  35. package/dist/components/docs/comparison/index.js +738 -738
  36. package/dist/components/docs/ecosystem/IntegrationsPage.js +45 -45
  37. package/dist/components/docs/ecosystem/PluginsPage.js +73 -73
  38. package/dist/components/docs/ecosystem/RegistryPage.js +37 -37
  39. package/dist/components/docs/ecosystem/TemplatesPage.js +56 -56
  40. package/dist/components/docs/ecosystem/index.js +211 -211
  41. package/dist/components/docs/examples/DocsExamplesPage.js +21 -21
  42. package/dist/components/docs/examples/index.js +21 -21
  43. package/dist/components/docs/getting-started/CLIPage.js +95 -95
  44. package/dist/components/docs/getting-started/CompatibilityPage.js +81 -81
  45. package/dist/components/docs/getting-started/DataViewTutorialPage.js +57 -57
  46. package/dist/components/docs/getting-started/DeveloperToolsPage.js +61 -61
  47. package/dist/components/docs/getting-started/HelloWorldPage.js +77 -77
  48. package/dist/components/docs/getting-started/InstallationPage.js +65 -65
  49. package/dist/components/docs/getting-started/StartHerePage.js +51 -51
  50. package/dist/components/docs/getting-started/TroubleshootingPage.js +73 -73
  51. package/dist/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
  52. package/dist/components/docs/getting-started/index.js +731 -731
  53. package/dist/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
  54. package/dist/components/docs/guides/GuideContractTypesPage.js +232 -232
  55. package/dist/components/docs/guides/GuideDocsPipelinePage.js +82 -82
  56. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
  57. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
  58. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
  59. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
  60. package/dist/components/docs/guides/GuidesIndexPage.js +43 -43
  61. package/dist/components/docs/guides/index.js +975 -975
  62. package/dist/components/docs/index.js +10791 -10791
  63. package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
  64. package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
  65. package/dist/components/docs/integrations/IntegrationsGithubPage.js +61 -61
  66. package/dist/components/docs/integrations/IntegrationsGmailPage.js +49 -49
  67. package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
  68. package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
  69. package/dist/components/docs/integrations/IntegrationsMistralPage.js +69 -69
  70. package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
  71. package/dist/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
  72. package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
  73. package/dist/components/docs/integrations/IntegrationsPowensPage.js +121 -121
  74. package/dist/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
  75. package/dist/components/docs/integrations/IntegrationsResendPage.js +45 -45
  76. package/dist/components/docs/integrations/IntegrationsS3Page.js +57 -57
  77. package/dist/components/docs/integrations/IntegrationsSlackPage.js +63 -63
  78. package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
  79. package/dist/components/docs/integrations/IntegrationsStripePage.js +159 -159
  80. package/dist/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
  81. package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
  82. package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
  83. package/dist/components/docs/integrations/index.js +1642 -1642
  84. package/dist/components/docs/intent/ContractFirstApiPage.js +51 -51
  85. package/dist/components/docs/intent/DeterministicCodegenPage.js +59 -59
  86. package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
  87. package/dist/components/docs/intent/OpenapiAlternativePage.js +91 -91
  88. package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
  89. package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
  90. package/dist/components/docs/intent/index.js +396 -396
  91. package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
  92. package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
  93. package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
  94. package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
  95. package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
  96. package/dist/components/docs/knowledge/index.js +963 -963
  97. package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
  98. package/dist/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
  99. package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
  100. package/dist/components/docs/libraries/LibrariesContentGenPage.js +43 -43
  101. package/dist/components/docs/libraries/LibrariesContractsPage.js +125 -125
  102. package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
  103. package/dist/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
  104. package/dist/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
  105. package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
  106. package/dist/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
  107. package/dist/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
  108. package/dist/components/docs/libraries/LibrariesGrowthPage.js +35 -35
  109. package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
  110. package/dist/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
  111. package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
  112. package/dist/components/docs/libraries/LibrariesOverviewPage.js +191 -191
  113. package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
  114. package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
  115. package/dist/components/docs/libraries/LibrariesResiliencePage.js +49 -49
  116. package/dist/components/docs/libraries/LibrariesRuntimePage.js +87 -87
  117. package/dist/components/docs/libraries/LibrariesSLOPage.js +47 -47
  118. package/dist/components/docs/libraries/LibrariesSchemaPage.js +139 -139
  119. package/dist/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
  120. package/dist/components/docs/libraries/LibrariesTestingPage.js +49 -49
  121. package/dist/components/docs/libraries/LibrariesUIKitPage.js +107 -107
  122. package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
  123. package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
  124. package/dist/components/docs/libraries/index.js +1919 -1919
  125. package/dist/components/docs/manifesto/ManifestoPage.js +79 -79
  126. package/dist/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
  127. package/dist/components/docs/ops/DistributedTracingOpsPage.js +33 -33
  128. package/dist/components/docs/ops/index.js +92 -92
  129. package/dist/components/docs/reference/DocsMarkdownContent.js +27 -27
  130. package/dist/components/docs/reference/DocsReferenceContent.js +34 -34
  131. package/dist/components/docs/reference/DocsReferenceIndexClient.js +23 -23
  132. package/dist/components/docs/reference/DocsReferenceIndexPage.js +26 -26
  133. package/dist/components/docs/reference/DocsReferencePage.js +37 -37
  134. package/dist/components/docs/reference/index.js +63 -63
  135. package/dist/components/docs/safety/SafetyAuditingPage.js +161 -161
  136. package/dist/components/docs/safety/SafetyMigrationsPage.js +169 -169
  137. package/dist/components/docs/safety/SafetyOverviewPage.js +99 -99
  138. package/dist/components/docs/safety/SafetyPDPPage.js +137 -137
  139. package/dist/components/docs/safety/SafetySecurityTrustPage.js +95 -95
  140. package/dist/components/docs/safety/SafetySigningPage.js +39 -39
  141. package/dist/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
  142. package/dist/components/docs/safety/index.js +733 -733
  143. package/dist/components/docs/shared/StudioPrompt.js +9 -9
  144. package/dist/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
  145. package/dist/components/docs/specs/SpecsDataViewsPage.js +119 -119
  146. package/dist/components/docs/specs/SpecsOverlaysPage.js +171 -171
  147. package/dist/components/docs/specs/SpecsOverviewPage.js +167 -167
  148. package/dist/components/docs/specs/SpecsPolicyPage.js +179 -179
  149. package/dist/components/docs/specs/SpecsWorkflowsPage.js +141 -141
  150. package/dist/components/docs/specs/index.js +838 -838
  151. package/dist/components/docs/studio/StudioBYOKPage.js +9 -9
  152. package/dist/components/docs/studio/StudioDeploymentsPage.js +9 -9
  153. package/dist/components/docs/studio/StudioGettingStartedPage.js +9 -9
  154. package/dist/components/docs/studio/StudioIntegrationsPage.js +9 -9
  155. package/dist/components/docs/studio/StudioOverviewPage.js +33 -33
  156. package/dist/components/docs/studio/StudioVisualBuilderPage.js +9 -9
  157. package/dist/components/docs/studio/index.js +78 -78
  158. package/dist/components/integrations/index.js +209 -209
  159. package/dist/components/integrations/molecules/IntegrationCard.js +33 -33
  160. package/dist/components/integrations/organisms/IntegrationMarketplace.js +71 -71
  161. package/dist/components/integrations/organisms/IntegrationSettings.js +98 -98
  162. package/dist/components/integrations/organisms/KnowledgeSourceList.js +40 -40
  163. package/dist/components/legal/PrivacyTemplate.js +477 -477
  164. package/dist/components/legal/TermsTemplate.js +421 -421
  165. package/dist/components/legal/index.js +898 -898
  166. package/dist/components/shared/FeatureGateNotice.js +13 -13
  167. package/dist/components/shared/index.js +13 -13
  168. package/dist/components/shell/WorkspaceHeader.js +37 -37
  169. package/dist/components/shell/WorkspaceProjectShellLayout.js +77 -77
  170. package/dist/components/shell/WorkspaceShellRenderer.d.ts +17 -0
  171. package/dist/components/shell/WorkspaceShellRenderer.js +229 -0
  172. package/dist/components/shell/WorkspaceSidebar.js +27 -27
  173. package/dist/components/shell/index.d.ts +1 -0
  174. package/dist/components/shell/index.js +140 -77
  175. package/dist/components/templates/index.js +272 -272
  176. package/dist/components/templates/messaging/ConversationList.js +27 -27
  177. package/dist/components/templates/messaging/MessageComposer.js +27 -27
  178. package/dist/components/templates/messaging/MessageThread.js +18 -18
  179. package/dist/components/templates/messaging/MessagingWorkspace.js +65 -65
  180. package/dist/components/templates/messaging/index.js +65 -65
  181. package/dist/components/templates/recipes/LanguageSwitcher.js +5 -5
  182. package/dist/components/templates/recipes/RecipeCard.js +26 -26
  183. package/dist/components/templates/recipes/RecipeDetail.js +33 -33
  184. package/dist/components/templates/recipes/RecipeList.js +80 -80
  185. package/dist/components/templates/recipes/index.js +80 -80
  186. package/dist/components/templates/todos/FilterBar.js +39 -39
  187. package/dist/components/templates/todos/TaskForm.js +43 -43
  188. package/dist/components/templates/todos/TaskItem.js +30 -30
  189. package/dist/components/templates/todos/TaskList.js +127 -127
  190. package/dist/components/templates/todos/index.js +127 -127
  191. package/dist/index.js +12323 -12260
  192. package/dist/infrastructure/elysia/index.js +8 -8
  193. package/dist/infrastructure/elysia/logger.js +8 -8
  194. package/dist/infrastructure/index.js +8 -8
  195. package/dist/libs/posthog/client.js +2 -2
  196. package/dist/node/application/index.js +8 -8
  197. package/dist/node/application/mcp/cliMcp.js +8 -8
  198. package/dist/node/application/mcp/contractsMcp.js +8 -8
  199. package/dist/node/application/mcp/docsMcp.js +8 -8
  200. package/dist/node/application/mcp/index.js +8 -8
  201. package/dist/node/application/mcp/internalMcp.js +8 -8
  202. package/dist/node/application/mcp/providerRankingMcp.js +8 -8
  203. package/dist/node/bundles/LibraryBundle.js +138 -0
  204. package/dist/node/bundles/index.js +138 -0
  205. package/dist/node/components/docs/DocsIndexPage.js +91 -91
  206. package/dist/node/components/docs/advanced/AdvancedMCPPage.js +125 -125
  207. package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
  208. package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +51 -51
  209. package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
  210. package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
  211. package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
  212. package/dist/node/components/docs/advanced/index.js +482 -482
  213. package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
  214. package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
  215. package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
  216. package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
  217. package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
  218. package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
  219. package/dist/node/components/docs/architecture/index.js +748 -748
  220. package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
  221. package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
  222. package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
  223. package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +97 -97
  224. package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +125 -125
  225. package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
  226. package/dist/node/components/docs/comparison/index.js +738 -738
  227. package/dist/node/components/docs/ecosystem/IntegrationsPage.js +45 -45
  228. package/dist/node/components/docs/ecosystem/PluginsPage.js +73 -73
  229. package/dist/node/components/docs/ecosystem/RegistryPage.js +37 -37
  230. package/dist/node/components/docs/ecosystem/TemplatesPage.js +56 -56
  231. package/dist/node/components/docs/ecosystem/index.js +211 -211
  232. package/dist/node/components/docs/examples/DocsExamplesPage.js +21 -21
  233. package/dist/node/components/docs/examples/index.js +21 -21
  234. package/dist/node/components/docs/getting-started/CLIPage.js +95 -95
  235. package/dist/node/components/docs/getting-started/CompatibilityPage.js +81 -81
  236. package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +57 -57
  237. package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +61 -61
  238. package/dist/node/components/docs/getting-started/HelloWorldPage.js +77 -77
  239. package/dist/node/components/docs/getting-started/InstallationPage.js +65 -65
  240. package/dist/node/components/docs/getting-started/StartHerePage.js +51 -51
  241. package/dist/node/components/docs/getting-started/TroubleshootingPage.js +73 -73
  242. package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
  243. package/dist/node/components/docs/getting-started/index.js +731 -731
  244. package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
  245. package/dist/node/components/docs/guides/GuideContractTypesPage.js +232 -232
  246. package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +82 -82
  247. package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
  248. package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
  249. package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
  250. package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
  251. package/dist/node/components/docs/guides/GuidesIndexPage.js +43 -43
  252. package/dist/node/components/docs/guides/index.js +975 -975
  253. package/dist/node/components/docs/index.js +10791 -10791
  254. package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
  255. package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
  256. package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +61 -61
  257. package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +49 -49
  258. package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
  259. package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
  260. package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +69 -69
  261. package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
  262. package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
  263. package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
  264. package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +121 -121
  265. package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
  266. package/dist/node/components/docs/integrations/IntegrationsResendPage.js +45 -45
  267. package/dist/node/components/docs/integrations/IntegrationsS3Page.js +57 -57
  268. package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +63 -63
  269. package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
  270. package/dist/node/components/docs/integrations/IntegrationsStripePage.js +159 -159
  271. package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
  272. package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
  273. package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
  274. package/dist/node/components/docs/integrations/index.js +1642 -1642
  275. package/dist/node/components/docs/intent/ContractFirstApiPage.js +51 -51
  276. package/dist/node/components/docs/intent/DeterministicCodegenPage.js +59 -59
  277. package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
  278. package/dist/node/components/docs/intent/OpenapiAlternativePage.js +91 -91
  279. package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
  280. package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
  281. package/dist/node/components/docs/intent/index.js +396 -396
  282. package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
  283. package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
  284. package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
  285. package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
  286. package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
  287. package/dist/node/components/docs/knowledge/index.js +963 -963
  288. package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
  289. package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
  290. package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
  291. package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +43 -43
  292. package/dist/node/components/docs/libraries/LibrariesContractsPage.js +125 -125
  293. package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
  294. package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
  295. package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
  296. package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
  297. package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
  298. package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
  299. package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +35 -35
  300. package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
  301. package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
  302. package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
  303. package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +191 -191
  304. package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
  305. package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
  306. package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +49 -49
  307. package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +87 -87
  308. package/dist/node/components/docs/libraries/LibrariesSLOPage.js +47 -47
  309. package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +139 -139
  310. package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
  311. package/dist/node/components/docs/libraries/LibrariesTestingPage.js +49 -49
  312. package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +107 -107
  313. package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
  314. package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
  315. package/dist/node/components/docs/libraries/index.js +1919 -1919
  316. package/dist/node/components/docs/manifesto/ManifestoPage.js +79 -79
  317. package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
  318. package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +33 -33
  319. package/dist/node/components/docs/ops/index.js +92 -92
  320. package/dist/node/components/docs/reference/DocsMarkdownContent.js +27 -27
  321. package/dist/node/components/docs/reference/DocsReferenceContent.js +34 -34
  322. package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +23 -23
  323. package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +26 -26
  324. package/dist/node/components/docs/reference/DocsReferencePage.js +37 -37
  325. package/dist/node/components/docs/reference/index.js +63 -63
  326. package/dist/node/components/docs/safety/SafetyAuditingPage.js +161 -161
  327. package/dist/node/components/docs/safety/SafetyMigrationsPage.js +169 -169
  328. package/dist/node/components/docs/safety/SafetyOverviewPage.js +99 -99
  329. package/dist/node/components/docs/safety/SafetyPDPPage.js +137 -137
  330. package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +95 -95
  331. package/dist/node/components/docs/safety/SafetySigningPage.js +39 -39
  332. package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
  333. package/dist/node/components/docs/safety/index.js +733 -733
  334. package/dist/node/components/docs/shared/StudioPrompt.js +9 -9
  335. package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
  336. package/dist/node/components/docs/specs/SpecsDataViewsPage.js +119 -119
  337. package/dist/node/components/docs/specs/SpecsOverlaysPage.js +171 -171
  338. package/dist/node/components/docs/specs/SpecsOverviewPage.js +167 -167
  339. package/dist/node/components/docs/specs/SpecsPolicyPage.js +179 -179
  340. package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +141 -141
  341. package/dist/node/components/docs/specs/index.js +838 -838
  342. package/dist/node/components/docs/studio/StudioBYOKPage.js +9 -9
  343. package/dist/node/components/docs/studio/StudioDeploymentsPage.js +9 -9
  344. package/dist/node/components/docs/studio/StudioGettingStartedPage.js +9 -9
  345. package/dist/node/components/docs/studio/StudioIntegrationsPage.js +9 -9
  346. package/dist/node/components/docs/studio/StudioOverviewPage.js +33 -33
  347. package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +9 -9
  348. package/dist/node/components/docs/studio/index.js +78 -78
  349. package/dist/node/components/integrations/index.js +209 -209
  350. package/dist/node/components/integrations/molecules/IntegrationCard.js +33 -33
  351. package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +71 -71
  352. package/dist/node/components/integrations/organisms/IntegrationSettings.js +98 -98
  353. package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +40 -40
  354. package/dist/node/components/legal/PrivacyTemplate.js +477 -477
  355. package/dist/node/components/legal/TermsTemplate.js +421 -421
  356. package/dist/node/components/legal/index.js +898 -898
  357. package/dist/node/components/shared/FeatureGateNotice.js +13 -13
  358. package/dist/node/components/shared/index.js +13 -13
  359. package/dist/node/components/shell/WorkspaceHeader.js +37 -37
  360. package/dist/node/components/shell/WorkspaceProjectShellLayout.js +77 -77
  361. package/dist/node/components/shell/WorkspaceShellRenderer.js +228 -0
  362. package/dist/node/components/shell/WorkspaceSidebar.js +27 -27
  363. package/dist/node/components/shell/index.js +140 -77
  364. package/dist/node/components/templates/index.js +272 -272
  365. package/dist/node/components/templates/messaging/ConversationList.js +27 -27
  366. package/dist/node/components/templates/messaging/MessageComposer.js +27 -27
  367. package/dist/node/components/templates/messaging/MessageThread.js +18 -18
  368. package/dist/node/components/templates/messaging/MessagingWorkspace.js +65 -65
  369. package/dist/node/components/templates/messaging/index.js +65 -65
  370. package/dist/node/components/templates/recipes/LanguageSwitcher.js +5 -5
  371. package/dist/node/components/templates/recipes/RecipeCard.js +26 -26
  372. package/dist/node/components/templates/recipes/RecipeDetail.js +33 -33
  373. package/dist/node/components/templates/recipes/RecipeList.js +80 -80
  374. package/dist/node/components/templates/recipes/index.js +80 -80
  375. package/dist/node/components/templates/todos/FilterBar.js +39 -39
  376. package/dist/node/components/templates/todos/TaskForm.js +43 -43
  377. package/dist/node/components/templates/todos/TaskItem.js +30 -30
  378. package/dist/node/components/templates/todos/TaskList.js +127 -127
  379. package/dist/node/components/templates/todos/index.js +127 -127
  380. package/dist/node/index.js +12323 -12260
  381. package/dist/node/infrastructure/elysia/index.js +8 -8
  382. package/dist/node/infrastructure/elysia/logger.js +8 -8
  383. package/dist/node/infrastructure/index.js +8 -8
  384. package/dist/node/libs/posthog/client.js +2 -2
  385. package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
  386. package/dist/node/presentation/features/atoms/FeatureIcon/index.js +3 -3
  387. package/dist/node/presentation/features/atoms/index.js +3 -3
  388. package/dist/node/presentation/features/index.js +915 -915
  389. package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
  390. package/dist/node/presentation/features/molecules/FeatureCard/index.js +101 -101
  391. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
  392. package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
  393. package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
  394. package/dist/node/presentation/features/molecules/FeatureFilters/index.js +23 -23
  395. package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
  396. package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
  397. package/dist/node/presentation/features/molecules/index.js +139 -139
  398. package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +7 -7
  399. package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
  400. package/dist/node/presentation/features/organisms/FeatureDetail/index.js +57 -57
  401. package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
  402. package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
  403. package/dist/node/presentation/features/organisms/FeatureEventsList.js +7 -7
  404. package/dist/node/presentation/features/organisms/FeatureFormsList.js +7 -7
  405. package/dist/node/presentation/features/organisms/FeatureOperationsList.js +7 -7
  406. package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +7 -7
  407. package/dist/node/presentation/features/organisms/index.js +275 -275
  408. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
  409. package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
  410. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
  411. package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
  412. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
  413. package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
  414. package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
  415. package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
  416. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
  417. package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
  418. package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
  419. package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
  420. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
  421. package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
  422. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
  423. package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
  424. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
  425. package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
  426. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
  427. package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
  428. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
  429. package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
  430. package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
  431. package/dist/presentation/features/atoms/FeatureIcon/index.js +3 -3
  432. package/dist/presentation/features/atoms/index.js +3 -3
  433. package/dist/presentation/features/index.js +915 -915
  434. package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
  435. package/dist/presentation/features/molecules/FeatureCard/index.js +101 -101
  436. package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
  437. package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
  438. package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
  439. package/dist/presentation/features/molecules/FeatureFilters/index.js +23 -23
  440. package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
  441. package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
  442. package/dist/presentation/features/molecules/index.js +139 -139
  443. package/dist/presentation/features/organisms/FeatureDataViewsList.js +7 -7
  444. package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
  445. package/dist/presentation/features/organisms/FeatureDetail/index.js +57 -57
  446. package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
  447. package/dist/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
  448. package/dist/presentation/features/organisms/FeatureEventsList.js +7 -7
  449. package/dist/presentation/features/organisms/FeatureFormsList.js +7 -7
  450. package/dist/presentation/features/organisms/FeatureOperationsList.js +7 -7
  451. package/dist/presentation/features/organisms/FeaturePresentationsList.js +7 -7
  452. package/dist/presentation/features/organisms/index.js +275 -275
  453. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
  454. package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
  455. package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
  456. package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
  457. package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
  458. package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
  459. package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
  460. package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
  461. package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
  462. package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
  463. package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
  464. package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
  465. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
  466. package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
  467. package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
  468. package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
  469. package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
  470. package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
  471. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
  472. package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
  473. package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
  474. package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
  475. package/package.json +71 -22
  476. package/src/bundles/LibraryBundle.ts +152 -0
  477. package/src/bundles/index.ts +1 -0
  478. package/src/components/shell/WorkspaceShellRenderer.tsx +90 -0
  479. package/src/components/shell/index.ts +1 -0
@@ -2,42 +2,42 @@
2
2
  import { CodeBlock } from "@contractspec/lib.design-system";
3
3
  import Link from "@contractspec/lib.ui-link";
4
4
  import { ChevronRight } from "lucide-react";
5
- import { jsxDEV } from "react/jsx-dev-runtime";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
6
  function ArchitectureAppConfigPage() {
7
- return /* @__PURE__ */ jsxDEV("div", {
7
+ return /* @__PURE__ */ jsxs("div", {
8
8
  className: "space-y-8",
9
9
  children: [
10
- /* @__PURE__ */ jsxDEV("div", {
10
+ /* @__PURE__ */ jsxs("div", {
11
11
  className: "space-y-4",
12
12
  children: [
13
- /* @__PURE__ */ jsxDEV("h1", {
13
+ /* @__PURE__ */ jsx("h1", {
14
14
  className: "text-4xl font-bold",
15
15
  children: "App Configuration"
16
- }, undefined, false, undefined, this),
17
- /* @__PURE__ */ jsxDEV("p", {
16
+ }),
17
+ /* @__PURE__ */ jsx("p", {
18
18
  className: "text-muted-foreground",
19
19
  children: "ContractSpec uses a three-tier configuration model that separates global app definitions from tenant-specific settings and runtime resolution."
20
- }, undefined, false, undefined, this)
20
+ })
21
21
  ]
22
- }, undefined, true, undefined, this),
23
- /* @__PURE__ */ jsxDEV("div", {
22
+ }),
23
+ /* @__PURE__ */ jsxs("div", {
24
24
  className: "space-y-4",
25
25
  children: [
26
- /* @__PURE__ */ jsxDEV("h2", {
26
+ /* @__PURE__ */ jsx("h2", {
27
27
  className: "text-2xl font-bold",
28
28
  children: "AppBlueprintSpec"
29
- }, undefined, false, undefined, this),
30
- /* @__PURE__ */ jsxDEV("p", {
29
+ }),
30
+ /* @__PURE__ */ jsxs("p", {
31
31
  className: "text-muted-foreground",
32
32
  children: [
33
33
  "The ",
34
- /* @__PURE__ */ jsxDEV("strong", {
34
+ /* @__PURE__ */ jsx("strong", {
35
35
  children: "AppBlueprintSpec"
36
- }, undefined, false, undefined, this),
36
+ }),
37
37
  " is the global, versioned definition of your application. It contains no tenant-specific information and is stored in version control."
38
38
  ]
39
- }, undefined, true, undefined, this),
40
- /* @__PURE__ */ jsxDEV(CodeBlock, {
39
+ }),
40
+ /* @__PURE__ */ jsx(CodeBlock, {
41
41
  language: "typescript",
42
42
  code: `type AppBlueprintSpec = {
43
43
  id: string;
@@ -77,27 +77,27 @@ function ArchitectureAppConfigPage() {
77
77
  // Schema evolution
78
78
  migrations: MigrationSpec[];
79
79
  };`
80
- }, undefined, false, undefined, this)
80
+ })
81
81
  ]
82
- }, undefined, true, undefined, this),
83
- /* @__PURE__ */ jsxDEV("div", {
82
+ }),
83
+ /* @__PURE__ */ jsxs("div", {
84
84
  className: "space-y-4",
85
85
  children: [
86
- /* @__PURE__ */ jsxDEV("h2", {
86
+ /* @__PURE__ */ jsx("h2", {
87
87
  className: "text-2xl font-bold",
88
88
  children: "TenantAppConfig"
89
- }, undefined, false, undefined, this),
90
- /* @__PURE__ */ jsxDEV("p", {
89
+ }),
90
+ /* @__PURE__ */ jsxs("p", {
91
91
  className: "text-muted-foreground",
92
92
  children: [
93
93
  "The ",
94
- /* @__PURE__ */ jsxDEV("strong", {
94
+ /* @__PURE__ */ jsx("strong", {
95
95
  children: "TenantAppConfig"
96
- }, undefined, false, undefined, this),
96
+ }),
97
97
  " is the per-tenant, per-environment configuration that customizes how a specific tenant uses the app."
98
98
  ]
99
- }, undefined, true, undefined, this),
100
- /* @__PURE__ */ jsxDEV(CodeBlock, {
99
+ }),
100
+ /* @__PURE__ */ jsx(CodeBlock, {
101
101
  language: "typescript",
102
102
  code: `type TenantAppConfig = {
103
103
  tenantId: string;
@@ -131,21 +131,21 @@ function ArchitectureAppConfigPage() {
131
131
  createdAt: string;
132
132
  updatedAt: string;
133
133
  };`
134
- }, undefined, false, undefined, this)
134
+ })
135
135
  ]
136
- }, undefined, true, undefined, this),
137
- /* @__PURE__ */ jsxDEV("div", {
136
+ }),
137
+ /* @__PURE__ */ jsxs("div", {
138
138
  className: "space-y-4",
139
139
  children: [
140
- /* @__PURE__ */ jsxDEV("h2", {
140
+ /* @__PURE__ */ jsx("h2", {
141
141
  className: "text-2xl font-bold",
142
142
  children: "AppIntegrationBinding"
143
- }, undefined, false, undefined, this),
144
- /* @__PURE__ */ jsxDEV("p", {
143
+ }),
144
+ /* @__PURE__ */ jsx("p", {
145
145
  className: "text-muted-foreground",
146
146
  children: "Defines how a tenant connects specific integration instances to satisfy capabilities and workflows."
147
- }, undefined, false, undefined, this),
148
- /* @__PURE__ */ jsxDEV(CodeBlock, {
147
+ }),
148
+ /* @__PURE__ */ jsx(CodeBlock, {
149
149
  language: "typescript",
150
150
  code: `type AppIntegrationBinding = {
151
151
  slotId: string; // References AppIntegrationSlot.slotId
@@ -168,21 +168,21 @@ function ArchitectureAppConfigPage() {
168
168
  },
169
169
  priority: 1
170
170
  }`
171
- }, undefined, false, undefined, this)
171
+ })
172
172
  ]
173
- }, undefined, true, undefined, this),
174
- /* @__PURE__ */ jsxDEV("div", {
173
+ }),
174
+ /* @__PURE__ */ jsxs("div", {
175
175
  className: "space-y-4",
176
176
  children: [
177
- /* @__PURE__ */ jsxDEV("h2", {
177
+ /* @__PURE__ */ jsx("h2", {
178
178
  className: "text-2xl font-bold",
179
179
  children: "AppKnowledgeBinding"
180
- }, undefined, false, undefined, this),
181
- /* @__PURE__ */ jsxDEV("p", {
180
+ }),
181
+ /* @__PURE__ */ jsx("p", {
182
182
  className: "text-muted-foreground",
183
183
  children: "Defines which knowledge spaces a tenant's app can access and how."
184
- }, undefined, false, undefined, this),
185
- /* @__PURE__ */ jsxDEV(CodeBlock, {
184
+ }),
185
+ /* @__PURE__ */ jsx(CodeBlock, {
186
186
  language: "typescript",
187
187
  code: `type AppKnowledgeBinding = {
188
188
  spaceId: string;
@@ -215,27 +215,27 @@ function ArchitectureAppConfigPage() {
215
215
  allowedCategories: ["canonical", "operational"],
216
216
  sources: ["src_notion_product_docs", "src_database_schema"]
217
217
  }`
218
- }, undefined, false, undefined, this)
218
+ })
219
219
  ]
220
- }, undefined, true, undefined, this),
221
- /* @__PURE__ */ jsxDEV("div", {
220
+ }),
221
+ /* @__PURE__ */ jsxs("div", {
222
222
  className: "space-y-4",
223
223
  children: [
224
- /* @__PURE__ */ jsxDEV("h2", {
224
+ /* @__PURE__ */ jsx("h2", {
225
225
  className: "text-2xl font-bold",
226
226
  children: "ResolvedAppConfig"
227
- }, undefined, false, undefined, this),
228
- /* @__PURE__ */ jsxDEV("p", {
227
+ }),
228
+ /* @__PURE__ */ jsxs("p", {
229
229
  className: "text-muted-foreground",
230
230
  children: [
231
231
  "The ",
232
- /* @__PURE__ */ jsxDEV("strong", {
232
+ /* @__PURE__ */ jsx("strong", {
233
233
  children: "ResolvedAppConfig"
234
- }, undefined, false, undefined, this),
234
+ }),
235
235
  " is the runtime result of merging AppBlueprintSpec with TenantAppConfig. It's computed on-demand and never persisted."
236
236
  ]
237
- }, undefined, true, undefined, this),
238
- /* @__PURE__ */ jsxDEV(CodeBlock, {
237
+ }),
238
+ /* @__PURE__ */ jsx(CodeBlock, {
239
239
  language: "typescript",
240
240
  code: `type ResolvedAppConfig = {
241
241
  appId: string;
@@ -265,192 +265,192 @@ function ArchitectureAppConfigPage() {
265
265
  branding: ResolvedBranding; // { appName, assets, colors, domain }
266
266
  notes?: string;
267
267
  };`
268
- }, undefined, false, undefined, this)
268
+ })
269
269
  ]
270
- }, undefined, true, undefined, this),
271
- /* @__PURE__ */ jsxDEV("div", {
270
+ }),
271
+ /* @__PURE__ */ jsxs("div", {
272
272
  className: "space-y-4",
273
273
  children: [
274
- /* @__PURE__ */ jsxDEV("h2", {
274
+ /* @__PURE__ */ jsx("h2", {
275
275
  className: "text-2xl font-bold",
276
276
  children: "Configuration flow"
277
- }, undefined, false, undefined, this),
278
- /* @__PURE__ */ jsxDEV("p", {
277
+ }),
278
+ /* @__PURE__ */ jsx("p", {
279
279
  className: "text-muted-foreground",
280
280
  children: "Here's how configuration flows from definition to runtime:"
281
- }, undefined, false, undefined, this),
282
- /* @__PURE__ */ jsxDEV("ol", {
281
+ }),
282
+ /* @__PURE__ */ jsxs("ol", {
283
283
  className: "text-muted-foreground list-inside list-decimal space-y-3",
284
284
  children: [
285
- /* @__PURE__ */ jsxDEV("li", {
285
+ /* @__PURE__ */ jsxs("li", {
286
286
  children: [
287
- /* @__PURE__ */ jsxDEV("strong", {
287
+ /* @__PURE__ */ jsx("strong", {
288
288
  children: "Development"
289
- }, undefined, false, undefined, this),
289
+ }),
290
290
  " - Define AppBlueprintSpec with required integrations and knowledge spaces"
291
291
  ]
292
- }, undefined, true, undefined, this),
293
- /* @__PURE__ */ jsxDEV("li", {
292
+ }),
293
+ /* @__PURE__ */ jsxs("li", {
294
294
  children: [
295
- /* @__PURE__ */ jsxDEV("strong", {
295
+ /* @__PURE__ */ jsx("strong", {
296
296
  children: "Deployment"
297
- }, undefined, false, undefined, this),
297
+ }),
298
298
  " - Deploy blueprint to environment (sandbox, staging, production)"
299
299
  ]
300
- }, undefined, true, undefined, this),
301
- /* @__PURE__ */ jsxDEV("li", {
300
+ }),
301
+ /* @__PURE__ */ jsxs("li", {
302
302
  children: [
303
- /* @__PURE__ */ jsxDEV("strong", {
303
+ /* @__PURE__ */ jsx("strong", {
304
304
  children: "Tenant Setup"
305
- }, undefined, false, undefined, this),
305
+ }),
306
306
  " - Create TenantAppConfig with specific integration connections and knowledge sources"
307
307
  ]
308
- }, undefined, true, undefined, this),
309
- /* @__PURE__ */ jsxDEV("li", {
308
+ }),
309
+ /* @__PURE__ */ jsxs("li", {
310
310
  children: [
311
- /* @__PURE__ */ jsxDEV("strong", {
311
+ /* @__PURE__ */ jsx("strong", {
312
312
  children: "Runtime"
313
- }, undefined, false, undefined, this),
313
+ }),
314
314
  " - Resolve configuration on-demand when tenant accesses the app"
315
315
  ]
316
- }, undefined, true, undefined, this),
317
- /* @__PURE__ */ jsxDEV("li", {
316
+ }),
317
+ /* @__PURE__ */ jsxs("li", {
318
318
  children: [
319
- /* @__PURE__ */ jsxDEV("strong", {
319
+ /* @__PURE__ */ jsx("strong", {
320
320
  children: "Execution"
321
- }, undefined, false, undefined, this),
321
+ }),
322
322
  " - Use ResolvedAppConfig to execute capabilities, workflows, and enforce policies"
323
323
  ]
324
- }, undefined, true, undefined, this)
324
+ })
325
325
  ]
326
- }, undefined, true, undefined, this)
326
+ })
327
327
  ]
328
- }, undefined, true, undefined, this),
329
- /* @__PURE__ */ jsxDEV("div", {
328
+ }),
329
+ /* @__PURE__ */ jsxs("div", {
330
330
  className: "space-y-4",
331
331
  children: [
332
- /* @__PURE__ */ jsxDEV("h2", {
332
+ /* @__PURE__ */ jsx("h2", {
333
333
  className: "text-2xl font-bold",
334
334
  children: "Best practices"
335
- }, undefined, false, undefined, this),
336
- /* @__PURE__ */ jsxDEV("ul", {
335
+ }),
336
+ /* @__PURE__ */ jsxs("ul", {
337
337
  className: "text-muted-foreground list-inside list-disc space-y-2",
338
338
  children: [
339
- /* @__PURE__ */ jsxDEV("li", {
339
+ /* @__PURE__ */ jsx("li", {
340
340
  children: "Keep AppBlueprintSpec environment-agnostic - no secrets or tenant-specific data"
341
- }, undefined, false, undefined, this),
342
- /* @__PURE__ */ jsxDEV("li", {
341
+ }),
342
+ /* @__PURE__ */ jsx("li", {
343
343
  children: "Use TenantAppConfig for all tenant-specific settings and connections"
344
- }, undefined, false, undefined, this),
345
- /* @__PURE__ */ jsxDEV("li", {
344
+ }),
345
+ /* @__PURE__ */ jsx("li", {
346
346
  children: "Cache ResolvedAppConfig per request to avoid repeated resolution"
347
- }, undefined, false, undefined, this),
348
- /* @__PURE__ */ jsxDEV("li", {
347
+ }),
348
+ /* @__PURE__ */ jsx("li", {
349
349
  children: "Version blueprints carefully - migrations affect all tenants"
350
- }, undefined, false, undefined, this),
351
- /* @__PURE__ */ jsxDEV("li", {
350
+ }),
351
+ /* @__PURE__ */ jsx("li", {
352
352
  children: "Test blueprint changes in sandbox before promoting to production"
353
- }, undefined, false, undefined, this)
353
+ })
354
354
  ]
355
- }, undefined, true, undefined, this)
355
+ })
356
356
  ]
357
- }, undefined, true, undefined, this),
358
- /* @__PURE__ */ jsxDEV("div", {
357
+ }),
358
+ /* @__PURE__ */ jsxs("div", {
359
359
  className: "flex items-center gap-4 pt-4",
360
360
  children: [
361
- /* @__PURE__ */ jsxDEV(Link, {
361
+ /* @__PURE__ */ jsx(Link, {
362
362
  href: "/docs/architecture",
363
363
  className: "btn-ghost",
364
364
  children: "Back to Architecture"
365
- }, undefined, false, undefined, this),
366
- /* @__PURE__ */ jsxDEV(Link, {
365
+ }),
366
+ /* @__PURE__ */ jsxs(Link, {
367
367
  href: "/docs/architecture/integration-binding",
368
368
  className: "btn-primary",
369
369
  children: [
370
370
  "Integration Binding ",
371
- /* @__PURE__ */ jsxDEV(ChevronRight, {
371
+ /* @__PURE__ */ jsx(ChevronRight, {
372
372
  size: 16
373
- }, undefined, false, undefined, this)
373
+ })
374
374
  ]
375
- }, undefined, true, undefined, this)
375
+ })
376
376
  ]
377
- }, undefined, true, undefined, this)
377
+ })
378
378
  ]
379
- }, undefined, true, undefined, this);
379
+ });
380
380
  }
381
381
 
382
382
  // src/components/docs/architecture/ArchitectureControlPlanePage.tsx
383
383
  import { CodeBlock as CodeBlock2 } from "@contractspec/lib.design-system";
384
384
  import Link2 from "@contractspec/lib.ui-link";
385
385
  import { ChevronRight as ChevronRight2 } from "lucide-react";
386
- import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
386
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
387
387
  function ArchitectureControlPlanePage() {
388
- return /* @__PURE__ */ jsxDEV2("div", {
388
+ return /* @__PURE__ */ jsxs2("div", {
389
389
  className: "space-y-8",
390
390
  children: [
391
- /* @__PURE__ */ jsxDEV2("div", {
391
+ /* @__PURE__ */ jsxs2("div", {
392
392
  className: "space-y-4",
393
393
  children: [
394
- /* @__PURE__ */ jsxDEV2("h1", {
394
+ /* @__PURE__ */ jsx2("h1", {
395
395
  className: "text-4xl font-bold",
396
396
  children: "Control Plane Runtime"
397
- }, undefined, false, undefined, this),
398
- /* @__PURE__ */ jsxDEV2("p", {
397
+ }),
398
+ /* @__PURE__ */ jsx2("p", {
399
399
  className: "text-muted-foreground",
400
400
  children: "The control plane is the governance layer for agentic execution. It turns incoming intent into deterministic plans, enforces risk policy before side effects, and records replayable traces for audits."
401
- }, undefined, false, undefined, this)
401
+ })
402
402
  ]
403
- }, undefined, true, undefined, this),
404
- /* @__PURE__ */ jsxDEV2("div", {
403
+ }),
404
+ /* @__PURE__ */ jsxs2("div", {
405
405
  className: "space-y-4",
406
406
  children: [
407
- /* @__PURE__ */ jsxDEV2("h2", {
407
+ /* @__PURE__ */ jsx2("h2", {
408
408
  className: "text-2xl font-bold",
409
409
  children: "Canonical execution loop"
410
- }, undefined, false, undefined, this),
411
- /* @__PURE__ */ jsxDEV2("ol", {
410
+ }),
411
+ /* @__PURE__ */ jsxs2("ol", {
412
412
  className: "text-muted-foreground list-inside list-decimal space-y-2",
413
413
  children: [
414
- /* @__PURE__ */ jsxDEV2("li", {
414
+ /* @__PURE__ */ jsx2("li", {
415
415
  children: "Accept intent and create execution identity + trace context."
416
- }, undefined, false, undefined, this),
417
- /* @__PURE__ */ jsxDEV2("li", {
416
+ }),
417
+ /* @__PURE__ */ jsx2("li", {
418
418
  children: "Compile intent into a typed, deterministic plan DAG."
419
- }, undefined, false, undefined, this),
420
- /* @__PURE__ */ jsxDEV2("li", {
419
+ }),
420
+ /* @__PURE__ */ jsx2("li", {
421
421
  children: "Verify plan against policy and risk rules."
422
- }, undefined, false, undefined, this),
423
- /* @__PURE__ */ jsxDEV2("li", {
422
+ }),
423
+ /* @__PURE__ */ jsx2("li", {
424
424
  children: "Route into autonomous or assist mode based on verdict."
425
- }, undefined, false, undefined, this),
426
- /* @__PURE__ */ jsxDEV2("li", {
425
+ }),
426
+ /* @__PURE__ */ jsx2("li", {
427
427
  children: "Execute steps with idempotent keys and explicit stage events."
428
- }, undefined, false, undefined, this),
429
- /* @__PURE__ */ jsxDEV2("li", {
428
+ }),
429
+ /* @__PURE__ */ jsx2("li", {
430
430
  children: "Persist outcomes for replay, audits, and operator visibility."
431
- }, undefined, false, undefined, this)
431
+ })
432
432
  ]
433
- }, undefined, true, undefined, this)
433
+ })
434
434
  ]
435
- }, undefined, true, undefined, this),
436
- /* @__PURE__ */ jsxDEV2("div", {
435
+ }),
436
+ /* @__PURE__ */ jsxs2("div", {
437
437
  className: "space-y-4",
438
438
  children: [
439
- /* @__PURE__ */ jsxDEV2("h2", {
439
+ /* @__PURE__ */ jsx2("h2", {
440
440
  className: "text-2xl font-bold",
441
441
  children: "Contract surfaces (v1 baseline)"
442
- }, undefined, false, undefined, this),
443
- /* @__PURE__ */ jsxDEV2("p", {
442
+ }),
443
+ /* @__PURE__ */ jsxs2("p", {
444
444
  className: "text-muted-foreground",
445
445
  children: [
446
446
  "The runtime is contract-first. Commands, queries, events, and capabilities are explicit and versioned under",
447
- /* @__PURE__ */ jsxDEV2("code", {
447
+ /* @__PURE__ */ jsx2("code", {
448
448
  children: " @contractspec/lib.contracts-spec"
449
- }, undefined, false, undefined, this),
449
+ }),
450
450
  "."
451
451
  ]
452
- }, undefined, true, undefined, this),
453
- /* @__PURE__ */ jsxDEV2(CodeBlock2, {
452
+ }),
453
+ /* @__PURE__ */ jsx2(CodeBlock2, {
454
454
  language: "text",
455
455
  code: `Commands
456
456
  - controlPlane.intent.submit
@@ -489,46 +489,46 @@ Capabilities
489
489
  - control-plane.audit
490
490
  - control-plane.skill-registry
491
491
  - control-plane.channel-runtime`
492
- }, undefined, false, undefined, this)
492
+ })
493
493
  ]
494
- }, undefined, true, undefined, this),
495
- /* @__PURE__ */ jsxDEV2("div", {
494
+ }),
495
+ /* @__PURE__ */ jsxs2("div", {
496
496
  className: "space-y-4",
497
497
  children: [
498
- /* @__PURE__ */ jsxDEV2("h2", {
498
+ /* @__PURE__ */ jsx2("h2", {
499
499
  className: "text-2xl font-bold",
500
500
  children: "Policy and safety posture"
501
- }, undefined, false, undefined, this),
502
- /* @__PURE__ */ jsxDEV2("ul", {
501
+ }),
502
+ /* @__PURE__ */ jsxs2("ul", {
503
503
  className: "text-muted-foreground list-inside list-disc space-y-2",
504
504
  children: [
505
- /* @__PURE__ */ jsxDEV2("li", {
505
+ /* @__PURE__ */ jsx2("li", {
506
506
  children: "No side-effect action executes unless it comes from a compiled plan."
507
- }, undefined, false, undefined, this),
508
- /* @__PURE__ */ jsxDEV2("li", {
507
+ }),
508
+ /* @__PURE__ */ jsx2("li", {
509
509
  children: "High-risk actions are blocked from autonomous mode in v1."
510
- }, undefined, false, undefined, this),
511
- /* @__PURE__ */ jsxDEV2("li", {
510
+ }),
511
+ /* @__PURE__ */ jsx2("li", {
512
512
  children: "Approval commands provide explicit human-in-the-loop transitions."
513
- }, undefined, false, undefined, this),
514
- /* @__PURE__ */ jsxDEV2("li", {
513
+ }),
514
+ /* @__PURE__ */ jsx2("li", {
515
515
  children: "Skill installation is modeled as governance-controlled operations."
516
- }, undefined, false, undefined, this),
517
- /* @__PURE__ */ jsxDEV2("li", {
516
+ }),
517
+ /* @__PURE__ */ jsx2("li", {
518
518
  children: "Trace queries expose policy rationale and step outcomes for replay."
519
- }, undefined, false, undefined, this)
519
+ })
520
520
  ]
521
- }, undefined, true, undefined, this)
521
+ })
522
522
  ]
523
- }, undefined, true, undefined, this),
524
- /* @__PURE__ */ jsxDEV2("div", {
523
+ }),
524
+ /* @__PURE__ */ jsxs2("div", {
525
525
  className: "space-y-4",
526
526
  children: [
527
- /* @__PURE__ */ jsxDEV2("h2", {
527
+ /* @__PURE__ */ jsx2("h2", {
528
528
  className: "text-2xl font-bold",
529
529
  children: "Implementation map"
530
- }, undefined, false, undefined, this),
531
- /* @__PURE__ */ jsxDEV2(CodeBlock2, {
530
+ }),
531
+ /* @__PURE__ */ jsx2(CodeBlock2, {
532
532
  language: "text",
533
533
  code: `packages/libs/contracts-spec/src/control-plane/
534
534
  commands/
@@ -540,129 +540,129 @@ Capabilities
540
540
 
541
541
  packages/apps/web-landing/src/app/docs/architecture/control-plane/page.tsx
542
542
  implementation_plan_controle_plane.md`
543
- }, undefined, false, undefined, this)
543
+ })
544
544
  ]
545
- }, undefined, true, undefined, this),
546
- /* @__PURE__ */ jsxDEV2("div", {
545
+ }),
546
+ /* @__PURE__ */ jsxs2("div", {
547
547
  className: "space-y-4",
548
548
  children: [
549
- /* @__PURE__ */ jsxDEV2("h2", {
549
+ /* @__PURE__ */ jsx2("h2", {
550
550
  className: "text-2xl font-bold",
551
551
  children: "What comes next"
552
- }, undefined, false, undefined, this),
553
- /* @__PURE__ */ jsxDEV2("p", {
552
+ }),
553
+ /* @__PURE__ */ jsx2("p", {
554
554
  className: "text-muted-foreground",
555
555
  children: "WS1 delivers the contract fabric. Next increments add planner/executor split, policy escalation, capability-bound authorization, signed skill compatibility checks, and full replay tooling."
556
- }, undefined, false, undefined, this)
556
+ })
557
557
  ]
558
- }, undefined, true, undefined, this),
559
- /* @__PURE__ */ jsxDEV2("div", {
558
+ }),
559
+ /* @__PURE__ */ jsxs2("div", {
560
560
  className: "flex items-center gap-4 pt-4",
561
561
  children: [
562
- /* @__PURE__ */ jsxDEV2(Link2, {
562
+ /* @__PURE__ */ jsx2(Link2, {
563
563
  href: "/docs/architecture/integration-binding",
564
564
  className: "btn-ghost",
565
565
  children: "Previous: Integration Binding"
566
- }, undefined, false, undefined, this),
567
- /* @__PURE__ */ jsxDEV2(Link2, {
566
+ }),
567
+ /* @__PURE__ */ jsxs2(Link2, {
568
568
  href: "/docs/safety/auditing",
569
569
  className: "btn-primary",
570
570
  children: [
571
571
  "Audit Logs ",
572
- /* @__PURE__ */ jsxDEV2(ChevronRight2, {
572
+ /* @__PURE__ */ jsx2(ChevronRight2, {
573
573
  size: 16
574
- }, undefined, false, undefined, this)
574
+ })
575
575
  ]
576
- }, undefined, true, undefined, this)
576
+ })
577
577
  ]
578
- }, undefined, true, undefined, this)
578
+ })
579
579
  ]
580
- }, undefined, true, undefined, this);
580
+ });
581
581
  }
582
582
 
583
583
  // src/components/docs/architecture/ArchitectureIntegrationBindingPage.tsx
584
584
  import { CodeBlock as CodeBlock3 } from "@contractspec/lib.design-system";
585
585
  import Link3 from "@contractspec/lib.ui-link";
586
586
  import { ChevronRight as ChevronRight3 } from "lucide-react";
587
- import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
587
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
588
588
  function ArchitectureIntegrationBindingPage() {
589
- return /* @__PURE__ */ jsxDEV3("div", {
589
+ return /* @__PURE__ */ jsxs3("div", {
590
590
  className: "space-y-8",
591
591
  children: [
592
- /* @__PURE__ */ jsxDEV3("div", {
592
+ /* @__PURE__ */ jsxs3("div", {
593
593
  className: "space-y-4",
594
594
  children: [
595
- /* @__PURE__ */ jsxDEV3("h1", {
595
+ /* @__PURE__ */ jsx3("h1", {
596
596
  className: "text-4xl font-bold",
597
597
  children: "Integration Binding"
598
- }, undefined, false, undefined, this),
599
- /* @__PURE__ */ jsxDEV3("p", {
598
+ }),
599
+ /* @__PURE__ */ jsx3("p", {
600
600
  className: "text-muted-foreground",
601
601
  children: "Integration binding connects your app's capabilities to external service providers. Each tenant can configure their own integration connections while sharing the same app blueprint."
602
- }, undefined, false, undefined, this)
602
+ })
603
603
  ]
604
- }, undefined, true, undefined, this),
605
- /* @__PURE__ */ jsxDEV3("div", {
604
+ }),
605
+ /* @__PURE__ */ jsxs3("div", {
606
606
  className: "space-y-4",
607
607
  children: [
608
- /* @__PURE__ */ jsxDEV3("h2", {
608
+ /* @__PURE__ */ jsx3("h2", {
609
609
  className: "text-2xl font-bold",
610
610
  children: "How it works"
611
- }, undefined, false, undefined, this),
612
- /* @__PURE__ */ jsxDEV3("p", {
611
+ }),
612
+ /* @__PURE__ */ jsx3("p", {
613
613
  className: "text-muted-foreground",
614
614
  children: "Integration binding follows a three-layer model:"
615
- }, undefined, false, undefined, this),
616
- /* @__PURE__ */ jsxDEV3("ol", {
615
+ }),
616
+ /* @__PURE__ */ jsxs3("ol", {
617
617
  className: "text-muted-foreground list-inside list-decimal space-y-3",
618
618
  children: [
619
- /* @__PURE__ */ jsxDEV3("li", {
619
+ /* @__PURE__ */ jsxs3("li", {
620
620
  children: [
621
- /* @__PURE__ */ jsxDEV3("strong", {
621
+ /* @__PURE__ */ jsx3("strong", {
622
622
  children: "IntegrationSpec"
623
- }, undefined, false, undefined, this),
623
+ }),
624
624
  " (global) - Defines what an integration provides"
625
625
  ]
626
- }, undefined, true, undefined, this),
627
- /* @__PURE__ */ jsxDEV3("li", {
626
+ }),
627
+ /* @__PURE__ */ jsxs3("li", {
628
628
  children: [
629
- /* @__PURE__ */ jsxDEV3("strong", {
629
+ /* @__PURE__ */ jsx3("strong", {
630
630
  children: "IntegrationConnection"
631
- }, undefined, false, undefined, this),
631
+ }),
632
632
  " (per-tenant) - A tenant's configured connection"
633
633
  ]
634
- }, undefined, true, undefined, this),
635
- /* @__PURE__ */ jsxDEV3("li", {
634
+ }),
635
+ /* @__PURE__ */ jsxs3("li", {
636
636
  children: [
637
- /* @__PURE__ */ jsxDEV3("strong", {
637
+ /* @__PURE__ */ jsx3("strong", {
638
638
  children: "AppIntegrationBinding"
639
- }, undefined, false, undefined, this),
639
+ }),
640
640
  " (per-app) - Maps named slots to concrete tenant connections"
641
641
  ]
642
- }, undefined, true, undefined, this)
642
+ })
643
643
  ]
644
- }, undefined, true, undefined, this)
644
+ })
645
645
  ]
646
- }, undefined, true, undefined, this),
647
- /* @__PURE__ */ jsxDEV3("div", {
646
+ }),
647
+ /* @__PURE__ */ jsxs3("div", {
648
648
  className: "space-y-4",
649
649
  children: [
650
- /* @__PURE__ */ jsxDEV3("h2", {
650
+ /* @__PURE__ */ jsx3("h2", {
651
651
  className: "text-2xl font-bold",
652
652
  children: "Example: Payment processing"
653
- }, undefined, false, undefined, this),
654
- /* @__PURE__ */ jsxDEV3("p", {
653
+ }),
654
+ /* @__PURE__ */ jsx3("p", {
655
655
  className: "text-muted-foreground",
656
656
  children: "Let's walk through a complete example of binding Stripe for payments."
657
- }, undefined, false, undefined, this),
658
- /* @__PURE__ */ jsxDEV3("div", {
657
+ }),
658
+ /* @__PURE__ */ jsxs3("div", {
659
659
  className: "space-y-3",
660
660
  children: [
661
- /* @__PURE__ */ jsxDEV3("h3", {
661
+ /* @__PURE__ */ jsx3("h3", {
662
662
  className: "text-lg font-semibold",
663
663
  children: "Step 1: Blueprint declares requirement"
664
- }, undefined, false, undefined, this),
665
- /* @__PURE__ */ jsxDEV3(CodeBlock3, {
664
+ }),
665
+ /* @__PURE__ */ jsx3(CodeBlock3, {
666
666
  language: "typescript",
667
667
  code: `// AppBlueprintSpec
668
668
  {
@@ -689,17 +689,17 @@ function ArchitectureIntegrationBindingPage() {
689
689
  colorTokens: { primary: "colors.brand.primary" }
690
690
  }
691
691
  }`
692
- }, undefined, false, undefined, this)
692
+ })
693
693
  ]
694
- }, undefined, true, undefined, this),
695
- /* @__PURE__ */ jsxDEV3("div", {
694
+ }),
695
+ /* @__PURE__ */ jsxs3("div", {
696
696
  className: "space-y-3",
697
697
  children: [
698
- /* @__PURE__ */ jsxDEV3("h3", {
698
+ /* @__PURE__ */ jsx3("h3", {
699
699
  className: "text-lg font-semibold",
700
700
  children: "Step 2: Tenant creates connection"
701
- }, undefined, false, undefined, this),
702
- /* @__PURE__ */ jsxDEV3(CodeBlock3, {
701
+ }),
702
+ /* @__PURE__ */ jsx3(CodeBlock3, {
703
703
  language: "typescript",
704
704
  code: `// IntegrationConnection
705
705
  {
@@ -722,17 +722,17 @@ function ArchitectureIntegrationBindingPage() {
722
722
  secretRef: "vault://integrations/acme/conn_stripe_acme_prod",
723
723
  status: "active"
724
724
  }`
725
- }, undefined, false, undefined, this)
725
+ })
726
726
  ]
727
- }, undefined, true, undefined, this),
728
- /* @__PURE__ */ jsxDEV3("div", {
727
+ }),
728
+ /* @__PURE__ */ jsxs3("div", {
729
729
  className: "space-y-3",
730
730
  children: [
731
- /* @__PURE__ */ jsxDEV3("h3", {
731
+ /* @__PURE__ */ jsx3("h3", {
732
732
  className: "text-lg font-semibold",
733
733
  children: "Step 3: TenantAppConfig binds connection"
734
- }, undefined, false, undefined, this),
735
- /* @__PURE__ */ jsxDEV3(CodeBlock3, {
734
+ }),
735
+ /* @__PURE__ */ jsx3(CodeBlock3, {
736
736
  language: "typescript",
737
737
  code: `// TenantAppConfig
738
738
  {
@@ -761,17 +761,17 @@ function ArchitectureIntegrationBindingPage() {
761
761
  assets: [{ type: "logo", url: "https://assets.acme.com/logo.svg" }]
762
762
  }
763
763
  }`
764
- }, undefined, false, undefined, this)
764
+ })
765
765
  ]
766
- }, undefined, true, undefined, this),
767
- /* @__PURE__ */ jsxDEV3("div", {
766
+ }),
767
+ /* @__PURE__ */ jsxs3("div", {
768
768
  className: "space-y-3",
769
769
  children: [
770
- /* @__PURE__ */ jsxDEV3("h3", {
770
+ /* @__PURE__ */ jsx3("h3", {
771
771
  className: "text-lg font-semibold",
772
772
  children: "Step 4: Runtime resolves and executes"
773
- }, undefined, false, undefined, this),
774
- /* @__PURE__ */ jsxDEV3(CodeBlock3, {
773
+ }),
774
+ /* @__PURE__ */ jsx3(CodeBlock3, {
775
775
  language: "typescript",
776
776
  code: `// ResolvedAppConfig (runtime)
777
777
  {
@@ -791,23 +791,23 @@ const result = await executeCapability(
791
791
  resolvedConfig
792
792
  );
793
793
  // → Uses Stripe connection automatically`
794
- }, undefined, false, undefined, this)
794
+ })
795
795
  ]
796
- }, undefined, true, undefined, this)
796
+ })
797
797
  ]
798
- }, undefined, true, undefined, this),
799
- /* @__PURE__ */ jsxDEV3("div", {
798
+ }),
799
+ /* @__PURE__ */ jsxs3("div", {
800
800
  className: "space-y-4",
801
801
  children: [
802
- /* @__PURE__ */ jsxDEV3("h2", {
802
+ /* @__PURE__ */ jsx3("h2", {
803
803
  className: "text-2xl font-bold",
804
804
  children: "Multi-integration scenarios"
805
- }, undefined, false, undefined, this),
806
- /* @__PURE__ */ jsxDEV3("p", {
805
+ }),
806
+ /* @__PURE__ */ jsx3("p", {
807
807
  className: "text-muted-foreground",
808
808
  children: "A single app can use multiple integrations across different categories:"
809
- }, undefined, false, undefined, this),
810
- /* @__PURE__ */ jsxDEV3(CodeBlock3, {
809
+ }),
810
+ /* @__PURE__ */ jsx3(CodeBlock3, {
811
811
  language: "typescript",
812
812
  code: `integrations: [
813
813
  {
@@ -836,21 +836,21 @@ const result = await executeCapability(
836
836
  }
837
837
  }
838
838
  ]`
839
- }, undefined, false, undefined, this)
839
+ })
840
840
  ]
841
- }, undefined, true, undefined, this),
842
- /* @__PURE__ */ jsxDEV3("div", {
841
+ }),
842
+ /* @__PURE__ */ jsxs3("div", {
843
843
  className: "space-y-4",
844
844
  children: [
845
- /* @__PURE__ */ jsxDEV3("h2", {
845
+ /* @__PURE__ */ jsx3("h2", {
846
846
  className: "text-2xl font-bold",
847
847
  children: "Sandbox vs Production"
848
- }, undefined, false, undefined, this),
849
- /* @__PURE__ */ jsxDEV3("p", {
848
+ }),
849
+ /* @__PURE__ */ jsx3("p", {
850
850
  className: "text-muted-foreground",
851
851
  children: "Tenants typically maintain separate connections for sandbox and production environments:"
852
- }, undefined, false, undefined, this),
853
- /* @__PURE__ */ jsxDEV3(CodeBlock3, {
852
+ }),
853
+ /* @__PURE__ */ jsx3(CodeBlock3, {
854
854
  language: "typescript",
855
855
  code: `// Sandbox environment
856
856
  {
@@ -873,180 +873,180 @@ const result = await executeCapability(
873
873
  }
874
874
  ]
875
875
  }`
876
- }, undefined, false, undefined, this)
876
+ })
877
877
  ]
878
- }, undefined, true, undefined, this),
879
- /* @__PURE__ */ jsxDEV3("div", {
878
+ }),
879
+ /* @__PURE__ */ jsxs3("div", {
880
880
  className: "space-y-4",
881
881
  children: [
882
- /* @__PURE__ */ jsxDEV3("h2", {
882
+ /* @__PURE__ */ jsx3("h2", {
883
883
  className: "text-2xl font-bold",
884
884
  children: "Security & validation"
885
- }, undefined, false, undefined, this),
886
- /* @__PURE__ */ jsxDEV3("ul", {
885
+ }),
886
+ /* @__PURE__ */ jsxs3("ul", {
887
887
  className: "text-muted-foreground list-inside list-disc space-y-2",
888
888
  children: [
889
- /* @__PURE__ */ jsxDEV3("li", {
889
+ /* @__PURE__ */ jsx3("li", {
890
890
  children: "Integration connections are validated before binding - health checks ensure connectivity"
891
- }, undefined, false, undefined, this),
892
- /* @__PURE__ */ jsxDEV3("li", {
891
+ }),
892
+ /* @__PURE__ */ jsx3("li", {
893
893
  children: "Secrets are never stored in TenantAppConfig - only references to encrypted secrets"
894
- }, undefined, false, undefined, this),
895
- /* @__PURE__ */ jsxDEV3("li", {
894
+ }),
895
+ /* @__PURE__ */ jsx3("li", {
896
896
  children: "Policy Decision Point (PDP) enforces which workflows can use which integrations"
897
- }, undefined, false, undefined, this),
898
- /* @__PURE__ */ jsxDEV3("li", {
897
+ }),
898
+ /* @__PURE__ */ jsx3("li", {
899
899
  children: "All integration calls are audited with full request/response logging"
900
- }, undefined, false, undefined, this),
901
- /* @__PURE__ */ jsxDEV3("li", {
900
+ }),
901
+ /* @__PURE__ */ jsx3("li", {
902
902
  children: "Rate limiting and quotas are enforced per connection"
903
- }, undefined, false, undefined, this)
903
+ })
904
904
  ]
905
- }, undefined, true, undefined, this)
905
+ })
906
906
  ]
907
- }, undefined, true, undefined, this),
908
- /* @__PURE__ */ jsxDEV3("div", {
907
+ }),
908
+ /* @__PURE__ */ jsxs3("div", {
909
909
  className: "space-y-4",
910
910
  children: [
911
- /* @__PURE__ */ jsxDEV3("h2", {
911
+ /* @__PURE__ */ jsx3("h2", {
912
912
  className: "text-2xl font-bold",
913
913
  children: "Best practices"
914
- }, undefined, false, undefined, this),
915
- /* @__PURE__ */ jsxDEV3("ul", {
914
+ }),
915
+ /* @__PURE__ */ jsxs3("ul", {
916
916
  className: "text-muted-foreground list-inside list-disc space-y-2",
917
917
  children: [
918
- /* @__PURE__ */ jsxDEV3("li", {
918
+ /* @__PURE__ */ jsxs3("li", {
919
919
  children: [
920
920
  "Use wildcard patterns sparingly in ",
921
- /* @__PURE__ */ jsxDEV3("code", {
921
+ /* @__PURE__ */ jsx3("code", {
922
922
  children: "allowedWorkflows"
923
- }, undefined, false, undefined, this),
923
+ }),
924
924
  " - be explicit about access"
925
925
  ]
926
- }, undefined, true, undefined, this),
927
- /* @__PURE__ */ jsxDEV3("li", {
926
+ }),
927
+ /* @__PURE__ */ jsx3("li", {
928
928
  children: "Always maintain separate sandbox and production connections"
929
- }, undefined, false, undefined, this),
930
- /* @__PURE__ */ jsxDEV3("li", {
929
+ }),
930
+ /* @__PURE__ */ jsx3("li", {
931
931
  children: "Monitor integration health checks and set up alerts for failures"
932
- }, undefined, false, undefined, this),
933
- /* @__PURE__ */ jsxDEV3("li", {
932
+ }),
933
+ /* @__PURE__ */ jsx3("li", {
934
934
  children: "Document the purpose of each integration binding for your team"
935
- }, undefined, false, undefined, this),
936
- /* @__PURE__ */ jsxDEV3("li", {
935
+ }),
936
+ /* @__PURE__ */ jsx3("li", {
937
937
  children: "Test integration changes in sandbox before promoting to production"
938
- }, undefined, false, undefined, this)
938
+ })
939
939
  ]
940
- }, undefined, true, undefined, this)
940
+ })
941
941
  ]
942
- }, undefined, true, undefined, this),
943
- /* @__PURE__ */ jsxDEV3("div", {
942
+ }),
943
+ /* @__PURE__ */ jsxs3("div", {
944
944
  className: "flex items-center gap-4 pt-4",
945
945
  children: [
946
- /* @__PURE__ */ jsxDEV3(Link3, {
946
+ /* @__PURE__ */ jsx3(Link3, {
947
947
  href: "/docs/architecture/app-config",
948
948
  className: "btn-ghost",
949
949
  children: "Previous: App Configuration"
950
- }, undefined, false, undefined, this),
951
- /* @__PURE__ */ jsxDEV3(Link3, {
950
+ }),
951
+ /* @__PURE__ */ jsxs3(Link3, {
952
952
  href: "/docs/architecture/knowledge-binding",
953
953
  className: "btn-primary",
954
954
  children: [
955
955
  "Knowledge Binding ",
956
- /* @__PURE__ */ jsxDEV3(ChevronRight3, {
956
+ /* @__PURE__ */ jsx3(ChevronRight3, {
957
957
  size: 16
958
- }, undefined, false, undefined, this)
958
+ })
959
959
  ]
960
- }, undefined, true, undefined, this)
960
+ })
961
961
  ]
962
- }, undefined, true, undefined, this)
962
+ })
963
963
  ]
964
- }, undefined, true, undefined, this);
964
+ });
965
965
  }
966
966
 
967
967
  // src/components/docs/architecture/ArchitectureKnowledgeBindingPage.tsx
968
968
  import { CodeBlock as CodeBlock4 } from "@contractspec/lib.design-system";
969
969
  import Link4 from "@contractspec/lib.ui-link";
970
970
  import { ChevronRight as ChevronRight4 } from "lucide-react";
971
- import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
971
+ import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
972
972
  function ArchitectureKnowledgeBindingPage() {
973
- return /* @__PURE__ */ jsxDEV4("div", {
973
+ return /* @__PURE__ */ jsxs4("div", {
974
974
  className: "space-y-8",
975
975
  children: [
976
- /* @__PURE__ */ jsxDEV4("div", {
976
+ /* @__PURE__ */ jsxs4("div", {
977
977
  className: "space-y-4",
978
978
  children: [
979
- /* @__PURE__ */ jsxDEV4("h1", {
979
+ /* @__PURE__ */ jsx4("h1", {
980
980
  className: "text-4xl font-bold",
981
981
  children: "Knowledge Binding"
982
- }, undefined, false, undefined, this),
983
- /* @__PURE__ */ jsxDEV4("p", {
982
+ }),
983
+ /* @__PURE__ */ jsx4("p", {
984
984
  className: "text-muted-foreground",
985
985
  children: "Knowledge binding connects your app's workflows and agents to structured knowledge spaces. This enables semantic search, RAG (Retrieval-Augmented Generation), and context-aware decision-making."
986
- }, undefined, false, undefined, this)
986
+ })
987
987
  ]
988
- }, undefined, true, undefined, this),
989
- /* @__PURE__ */ jsxDEV4("div", {
988
+ }),
989
+ /* @__PURE__ */ jsxs4("div", {
990
990
  className: "space-y-4",
991
991
  children: [
992
- /* @__PURE__ */ jsxDEV4("h2", {
992
+ /* @__PURE__ */ jsx4("h2", {
993
993
  className: "text-2xl font-bold",
994
994
  children: "How it works"
995
- }, undefined, false, undefined, this),
996
- /* @__PURE__ */ jsxDEV4("p", {
995
+ }),
996
+ /* @__PURE__ */ jsx4("p", {
997
997
  className: "text-muted-foreground",
998
998
  children: "Knowledge binding follows a three-layer model:"
999
- }, undefined, false, undefined, this),
1000
- /* @__PURE__ */ jsxDEV4("ol", {
999
+ }),
1000
+ /* @__PURE__ */ jsxs4("ol", {
1001
1001
  className: "text-muted-foreground list-inside list-decimal space-y-3",
1002
1002
  children: [
1003
- /* @__PURE__ */ jsxDEV4("li", {
1003
+ /* @__PURE__ */ jsxs4("li", {
1004
1004
  children: [
1005
- /* @__PURE__ */ jsxDEV4("strong", {
1005
+ /* @__PURE__ */ jsx4("strong", {
1006
1006
  children: "KnowledgeSpaceSpec"
1007
- }, undefined, false, undefined, this),
1007
+ }),
1008
1008
  " (global) - Defines a logical knowledge domain"
1009
1009
  ]
1010
- }, undefined, true, undefined, this),
1011
- /* @__PURE__ */ jsxDEV4("li", {
1010
+ }),
1011
+ /* @__PURE__ */ jsxs4("li", {
1012
1012
  children: [
1013
- /* @__PURE__ */ jsxDEV4("strong", {
1013
+ /* @__PURE__ */ jsx4("strong", {
1014
1014
  children: "KnowledgeSourceConfig"
1015
- }, undefined, false, undefined, this),
1015
+ }),
1016
1016
  " (per-tenant) - Tenant's data sources feeding spaces"
1017
1017
  ]
1018
- }, undefined, true, undefined, this),
1019
- /* @__PURE__ */ jsxDEV4("li", {
1018
+ }),
1019
+ /* @__PURE__ */ jsxs4("li", {
1020
1020
  children: [
1021
- /* @__PURE__ */ jsxDEV4("strong", {
1021
+ /* @__PURE__ */ jsx4("strong", {
1022
1022
  children: "AppKnowledgeBinding"
1023
- }, undefined, false, undefined, this),
1023
+ }),
1024
1024
  " (per-app) - Maps spaces to workflows/agents"
1025
1025
  ]
1026
- }, undefined, true, undefined, this)
1026
+ })
1027
1027
  ]
1028
- }, undefined, true, undefined, this)
1028
+ })
1029
1029
  ]
1030
- }, undefined, true, undefined, this),
1031
- /* @__PURE__ */ jsxDEV4("div", {
1030
+ }),
1031
+ /* @__PURE__ */ jsxs4("div", {
1032
1032
  className: "space-y-4",
1033
1033
  children: [
1034
- /* @__PURE__ */ jsxDEV4("h2", {
1034
+ /* @__PURE__ */ jsx4("h2", {
1035
1035
  className: "text-2xl font-bold",
1036
1036
  children: "Example: Support agent with RAG"
1037
- }, undefined, false, undefined, this),
1038
- /* @__PURE__ */ jsxDEV4("p", {
1037
+ }),
1038
+ /* @__PURE__ */ jsx4("p", {
1039
1039
  className: "text-muted-foreground",
1040
1040
  children: "Let's build a support agent that uses canonical product documentation and operational support history."
1041
- }, undefined, false, undefined, this),
1042
- /* @__PURE__ */ jsxDEV4("div", {
1041
+ }),
1042
+ /* @__PURE__ */ jsxs4("div", {
1043
1043
  className: "space-y-3",
1044
1044
  children: [
1045
- /* @__PURE__ */ jsxDEV4("h3", {
1045
+ /* @__PURE__ */ jsx4("h3", {
1046
1046
  className: "text-lg font-semibold",
1047
1047
  children: "Step 1: Blueprint declares knowledge needs"
1048
- }, undefined, false, undefined, this),
1049
- /* @__PURE__ */ jsxDEV4(CodeBlock4, {
1048
+ }),
1049
+ /* @__PURE__ */ jsx4(CodeBlock4, {
1050
1050
  language: "typescript",
1051
1051
  code: `// AppBlueprintSpec
1052
1052
  {
@@ -1073,17 +1073,17 @@ function ArchitectureKnowledgeBindingPage() {
1073
1073
  }
1074
1074
  ]
1075
1075
  }`
1076
- }, undefined, false, undefined, this)
1076
+ })
1077
1077
  ]
1078
- }, undefined, true, undefined, this),
1079
- /* @__PURE__ */ jsxDEV4("div", {
1078
+ }),
1079
+ /* @__PURE__ */ jsxs4("div", {
1080
1080
  className: "space-y-3",
1081
1081
  children: [
1082
- /* @__PURE__ */ jsxDEV4("h3", {
1082
+ /* @__PURE__ */ jsx4("h3", {
1083
1083
  className: "text-lg font-semibold",
1084
1084
  children: "Step 2: Tenant configures sources"
1085
- }, undefined, false, undefined, this),
1086
- /* @__PURE__ */ jsxDEV4(CodeBlock4, {
1085
+ }),
1086
+ /* @__PURE__ */ jsx4(CodeBlock4, {
1087
1087
  language: "typescript",
1088
1088
  code: `// KnowledgeSourceConfig (per-tenant)
1089
1089
  [
@@ -1115,17 +1115,17 @@ function ArchitectureKnowledgeBindingPage() {
1115
1115
  lastSyncedAt: "2025-01-15T00:00:00Z"
1116
1116
  }
1117
1117
  ]`
1118
- }, undefined, false, undefined, this)
1118
+ })
1119
1119
  ]
1120
- }, undefined, true, undefined, this),
1121
- /* @__PURE__ */ jsxDEV4("div", {
1120
+ }),
1121
+ /* @__PURE__ */ jsxs4("div", {
1122
1122
  className: "space-y-3",
1123
1123
  children: [
1124
- /* @__PURE__ */ jsxDEV4("h3", {
1124
+ /* @__PURE__ */ jsx4("h3", {
1125
1125
  className: "text-lg font-semibold",
1126
1126
  children: "Step 3: TenantAppConfig binds spaces"
1127
- }, undefined, false, undefined, this),
1128
- /* @__PURE__ */ jsxDEV4(CodeBlock4, {
1127
+ }),
1128
+ /* @__PURE__ */ jsx4(CodeBlock4, {
1129
1129
  language: "typescript",
1130
1130
  code: `// TenantAppConfig
1131
1131
  {
@@ -1164,17 +1164,17 @@ function ArchitectureKnowledgeBindingPage() {
1164
1164
  }
1165
1165
  ]
1166
1166
  }`
1167
- }, undefined, false, undefined, this)
1167
+ })
1168
1168
  ]
1169
- }, undefined, true, undefined, this),
1170
- /* @__PURE__ */ jsxDEV4("div", {
1169
+ }),
1170
+ /* @__PURE__ */ jsxs4("div", {
1171
1171
  className: "space-y-3",
1172
1172
  children: [
1173
- /* @__PURE__ */ jsxDEV4("h3", {
1173
+ /* @__PURE__ */ jsx4("h3", {
1174
1174
  className: "text-lg font-semibold",
1175
1175
  children: "Step 4: Workflow uses knowledge"
1176
- }, undefined, false, undefined, this),
1177
- /* @__PURE__ */ jsxDEV4(CodeBlock4, {
1176
+ }),
1177
+ /* @__PURE__ */ jsx4(CodeBlock4, {
1178
1178
  language: "yaml",
1179
1179
  code: `// WorkflowSpec
1180
1180
  workflowId: answer-question
@@ -1219,153 +1219,153 @@ steps:
1219
1219
 
1220
1220
  Support history:
1221
1221
  \${steps.search-support-history.output.results}`
1222
- }, undefined, false, undefined, this)
1222
+ })
1223
1223
  ]
1224
- }, undefined, true, undefined, this)
1224
+ })
1225
1225
  ]
1226
- }, undefined, true, undefined, this),
1227
- /* @__PURE__ */ jsxDEV4("div", {
1226
+ }),
1227
+ /* @__PURE__ */ jsxs4("div", {
1228
1228
  className: "space-y-4",
1229
1229
  children: [
1230
- /* @__PURE__ */ jsxDEV4("h2", {
1230
+ /* @__PURE__ */ jsx4("h2", {
1231
1231
  className: "text-2xl font-bold",
1232
1232
  children: "Category-based access control"
1233
- }, undefined, false, undefined, this),
1234
- /* @__PURE__ */ jsxDEV4("p", {
1233
+ }),
1234
+ /* @__PURE__ */ jsx4("p", {
1235
1235
  className: "text-muted-foreground",
1236
1236
  children: "Different knowledge categories have different trust levels and access patterns:"
1237
- }, undefined, false, undefined, this),
1238
- /* @__PURE__ */ jsxDEV4("div", {
1237
+ }),
1238
+ /* @__PURE__ */ jsx4("div", {
1239
1239
  className: "border-border/50 overflow-x-auto rounded-lg border",
1240
- children: /* @__PURE__ */ jsxDEV4("table", {
1240
+ children: /* @__PURE__ */ jsxs4("table", {
1241
1241
  className: "w-full text-left text-sm",
1242
1242
  children: [
1243
- /* @__PURE__ */ jsxDEV4("thead", {
1243
+ /* @__PURE__ */ jsx4("thead", {
1244
1244
  className: "bg-card/50",
1245
- children: /* @__PURE__ */ jsxDEV4("tr", {
1245
+ children: /* @__PURE__ */ jsxs4("tr", {
1246
1246
  className: "border-border/50 border-b",
1247
1247
  children: [
1248
- /* @__PURE__ */ jsxDEV4("th", {
1248
+ /* @__PURE__ */ jsx4("th", {
1249
1249
  className: "px-4 py-3 font-semibold",
1250
1250
  children: "Category"
1251
- }, undefined, false, undefined, this),
1252
- /* @__PURE__ */ jsxDEV4("th", {
1251
+ }),
1252
+ /* @__PURE__ */ jsx4("th", {
1253
1253
  className: "px-4 py-3 font-semibold",
1254
1254
  children: "Trust Level"
1255
- }, undefined, false, undefined, this),
1256
- /* @__PURE__ */ jsxDEV4("th", {
1255
+ }),
1256
+ /* @__PURE__ */ jsx4("th", {
1257
1257
  className: "px-4 py-3 font-semibold",
1258
1258
  children: "Use Cases"
1259
- }, undefined, false, undefined, this),
1260
- /* @__PURE__ */ jsxDEV4("th", {
1259
+ }),
1260
+ /* @__PURE__ */ jsx4("th", {
1261
1261
  className: "px-4 py-3 font-semibold",
1262
1262
  children: "Policy Impact"
1263
- }, undefined, false, undefined, this)
1263
+ })
1264
1264
  ]
1265
- }, undefined, true, undefined, this)
1266
- }, undefined, false, undefined, this),
1267
- /* @__PURE__ */ jsxDEV4("tbody", {
1265
+ })
1266
+ }),
1267
+ /* @__PURE__ */ jsxs4("tbody", {
1268
1268
  className: "divide-border/50 divide-y",
1269
1269
  children: [
1270
- /* @__PURE__ */ jsxDEV4("tr", {
1270
+ /* @__PURE__ */ jsxs4("tr", {
1271
1271
  children: [
1272
- /* @__PURE__ */ jsxDEV4("td", {
1272
+ /* @__PURE__ */ jsx4("td", {
1273
1273
  className: "px-4 py-3 font-mono text-xs",
1274
1274
  children: "canonical"
1275
- }, undefined, false, undefined, this),
1276
- /* @__PURE__ */ jsxDEV4("td", {
1275
+ }),
1276
+ /* @__PURE__ */ jsx4("td", {
1277
1277
  className: "px-4 py-3",
1278
1278
  children: "Highest"
1279
- }, undefined, false, undefined, this),
1280
- /* @__PURE__ */ jsxDEV4("td", {
1279
+ }),
1280
+ /* @__PURE__ */ jsx4("td", {
1281
1281
  className: "px-4 py-3",
1282
1282
  children: "Product specs, schemas, official policies"
1283
- }, undefined, false, undefined, this),
1284
- /* @__PURE__ */ jsxDEV4("td", {
1283
+ }),
1284
+ /* @__PURE__ */ jsx4("td", {
1285
1285
  className: "px-4 py-3",
1286
1286
  children: "Can drive policy decisions"
1287
- }, undefined, false, undefined, this)
1287
+ })
1288
1288
  ]
1289
- }, undefined, true, undefined, this),
1290
- /* @__PURE__ */ jsxDEV4("tr", {
1289
+ }),
1290
+ /* @__PURE__ */ jsxs4("tr", {
1291
1291
  children: [
1292
- /* @__PURE__ */ jsxDEV4("td", {
1292
+ /* @__PURE__ */ jsx4("td", {
1293
1293
  className: "px-4 py-3 font-mono text-xs",
1294
1294
  children: "operational"
1295
- }, undefined, false, undefined, this),
1296
- /* @__PURE__ */ jsxDEV4("td", {
1295
+ }),
1296
+ /* @__PURE__ */ jsx4("td", {
1297
1297
  className: "px-4 py-3",
1298
1298
  children: "High"
1299
- }, undefined, false, undefined, this),
1300
- /* @__PURE__ */ jsxDEV4("td", {
1299
+ }),
1300
+ /* @__PURE__ */ jsx4("td", {
1301
1301
  className: "px-4 py-3",
1302
1302
  children: "Support tickets, sales docs, internal runbooks"
1303
- }, undefined, false, undefined, this),
1304
- /* @__PURE__ */ jsxDEV4("td", {
1303
+ }),
1304
+ /* @__PURE__ */ jsx4("td", {
1305
1305
  className: "px-4 py-3",
1306
1306
  children: "Can inform decisions"
1307
- }, undefined, false, undefined, this)
1307
+ })
1308
1308
  ]
1309
- }, undefined, true, undefined, this),
1310
- /* @__PURE__ */ jsxDEV4("tr", {
1309
+ }),
1310
+ /* @__PURE__ */ jsxs4("tr", {
1311
1311
  children: [
1312
- /* @__PURE__ */ jsxDEV4("td", {
1312
+ /* @__PURE__ */ jsx4("td", {
1313
1313
  className: "px-4 py-3 font-mono text-xs",
1314
1314
  children: "external"
1315
- }, undefined, false, undefined, this),
1316
- /* @__PURE__ */ jsxDEV4("td", {
1315
+ }),
1316
+ /* @__PURE__ */ jsx4("td", {
1317
1317
  className: "px-4 py-3",
1318
1318
  children: "Medium"
1319
- }, undefined, false, undefined, this),
1320
- /* @__PURE__ */ jsxDEV4("td", {
1319
+ }),
1320
+ /* @__PURE__ */ jsx4("td", {
1321
1321
  className: "px-4 py-3",
1322
1322
  children: "Third-party docs, regulations, PSP guides"
1323
- }, undefined, false, undefined, this),
1324
- /* @__PURE__ */ jsxDEV4("td", {
1323
+ }),
1324
+ /* @__PURE__ */ jsx4("td", {
1325
1325
  className: "px-4 py-3",
1326
1326
  children: "Reference only, not authoritative"
1327
- }, undefined, false, undefined, this)
1327
+ })
1328
1328
  ]
1329
- }, undefined, true, undefined, this),
1330
- /* @__PURE__ */ jsxDEV4("tr", {
1329
+ }),
1330
+ /* @__PURE__ */ jsxs4("tr", {
1331
1331
  children: [
1332
- /* @__PURE__ */ jsxDEV4("td", {
1332
+ /* @__PURE__ */ jsx4("td", {
1333
1333
  className: "px-4 py-3 font-mono text-xs",
1334
1334
  children: "ephemeral"
1335
- }, undefined, false, undefined, this),
1336
- /* @__PURE__ */ jsxDEV4("td", {
1335
+ }),
1336
+ /* @__PURE__ */ jsx4("td", {
1337
1337
  className: "px-4 py-3",
1338
1338
  children: "Low"
1339
- }, undefined, false, undefined, this),
1340
- /* @__PURE__ */ jsxDEV4("td", {
1339
+ }),
1340
+ /* @__PURE__ */ jsx4("td", {
1341
1341
  className: "px-4 py-3",
1342
1342
  children: "Agent scratchpads, session context, drafts"
1343
- }, undefined, false, undefined, this),
1344
- /* @__PURE__ */ jsxDEV4("td", {
1343
+ }),
1344
+ /* @__PURE__ */ jsx4("td", {
1345
1345
  className: "px-4 py-3",
1346
1346
  children: "Never used for decisions"
1347
- }, undefined, false, undefined, this)
1347
+ })
1348
1348
  ]
1349
- }, undefined, true, undefined, this)
1349
+ })
1350
1350
  ]
1351
- }, undefined, true, undefined, this)
1351
+ })
1352
1352
  ]
1353
- }, undefined, true, undefined, this)
1354
- }, undefined, false, undefined, this)
1353
+ })
1354
+ })
1355
1355
  ]
1356
- }, undefined, true, undefined, this),
1357
- /* @__PURE__ */ jsxDEV4("div", {
1356
+ }),
1357
+ /* @__PURE__ */ jsxs4("div", {
1358
1358
  className: "space-y-4",
1359
1359
  children: [
1360
- /* @__PURE__ */ jsxDEV4("h2", {
1360
+ /* @__PURE__ */ jsx4("h2", {
1361
1361
  className: "text-2xl font-bold",
1362
1362
  children: "Multi-space workflows"
1363
- }, undefined, false, undefined, this),
1364
- /* @__PURE__ */ jsxDEV4("p", {
1363
+ }),
1364
+ /* @__PURE__ */ jsx4("p", {
1365
1365
  className: "text-muted-foreground",
1366
1366
  children: "Workflows can query multiple knowledge spaces and combine results:"
1367
- }, undefined, false, undefined, this),
1368
- /* @__PURE__ */ jsxDEV4(CodeBlock4, {
1367
+ }),
1368
+ /* @__PURE__ */ jsx4(CodeBlock4, {
1369
1369
  language: "typescript",
1370
1370
  code: `knowledgeBindings: [
1371
1371
  {
@@ -1396,230 +1396,230 @@ steps:
1396
1396
  sources: ["src_crm_data", "src_past_invoices"]
1397
1397
  }
1398
1398
  ]`
1399
- }, undefined, false, undefined, this)
1399
+ })
1400
1400
  ]
1401
- }, undefined, true, undefined, this),
1402
- /* @__PURE__ */ jsxDEV4("div", {
1401
+ }),
1402
+ /* @__PURE__ */ jsxs4("div", {
1403
1403
  className: "space-y-4",
1404
1404
  children: [
1405
- /* @__PURE__ */ jsxDEV4("h2", {
1405
+ /* @__PURE__ */ jsx4("h2", {
1406
1406
  className: "text-2xl font-bold",
1407
1407
  children: "Security & validation"
1408
- }, undefined, false, undefined, this),
1409
- /* @__PURE__ */ jsxDEV4("ul", {
1408
+ }),
1409
+ /* @__PURE__ */ jsxs4("ul", {
1410
1410
  className: "text-muted-foreground list-inside list-disc space-y-2",
1411
1411
  children: [
1412
- /* @__PURE__ */ jsxDEV4("li", {
1412
+ /* @__PURE__ */ jsx4("li", {
1413
1413
  children: "Knowledge sources are validated before sync - credentials and permissions checked"
1414
- }, undefined, false, undefined, this),
1415
- /* @__PURE__ */ jsxDEV4("li", {
1414
+ }),
1415
+ /* @__PURE__ */ jsx4("li", {
1416
1416
  children: "PDP enforces which workflows/agents can access which spaces"
1417
- }, undefined, false, undefined, this),
1418
- /* @__PURE__ */ jsxDEV4("li", {
1417
+ }),
1418
+ /* @__PURE__ */ jsx4("li", {
1419
1419
  children: "All knowledge queries are audited with search terms and results"
1420
- }, undefined, false, undefined, this),
1421
- /* @__PURE__ */ jsxDEV4("li", {
1420
+ }),
1421
+ /* @__PURE__ */ jsx4("li", {
1422
1422
  children: "Canonical knowledge is immutable once indexed - changes require re-sync"
1423
- }, undefined, false, undefined, this),
1424
- /* @__PURE__ */ jsxDEV4("li", {
1423
+ }),
1424
+ /* @__PURE__ */ jsx4("li", {
1425
1425
  children: "Ephemeral knowledge is automatically purged based on retention policies"
1426
- }, undefined, false, undefined, this)
1426
+ })
1427
1427
  ]
1428
- }, undefined, true, undefined, this)
1428
+ })
1429
1429
  ]
1430
- }, undefined, true, undefined, this),
1431
- /* @__PURE__ */ jsxDEV4("div", {
1430
+ }),
1431
+ /* @__PURE__ */ jsxs4("div", {
1432
1432
  className: "space-y-4",
1433
1433
  children: [
1434
- /* @__PURE__ */ jsxDEV4("h2", {
1434
+ /* @__PURE__ */ jsx4("h2", {
1435
1435
  className: "text-2xl font-bold",
1436
1436
  children: "Best practices"
1437
- }, undefined, false, undefined, this),
1438
- /* @__PURE__ */ jsxDEV4("ul", {
1437
+ }),
1438
+ /* @__PURE__ */ jsxs4("ul", {
1439
1439
  className: "text-muted-foreground list-inside list-disc space-y-2",
1440
1440
  children: [
1441
- /* @__PURE__ */ jsxDEV4("li", {
1441
+ /* @__PURE__ */ jsx4("li", {
1442
1442
  children: "Use canonical spaces for policy-critical decisions, operational for suggestions"
1443
- }, undefined, false, undefined, this),
1444
- /* @__PURE__ */ jsxDEV4("li", {
1443
+ }),
1444
+ /* @__PURE__ */ jsx4("li", {
1445
1445
  children: "Never allow workflows to write to canonical spaces - maintain read-only access"
1446
- }, undefined, false, undefined, this),
1447
- /* @__PURE__ */ jsxDEV4("li", {
1446
+ }),
1447
+ /* @__PURE__ */ jsx4("li", {
1448
1448
  children: "Set up monitoring for sync failures and stale knowledge sources"
1449
- }, undefined, false, undefined, this),
1450
- /* @__PURE__ */ jsxDEV4("li", {
1449
+ }),
1450
+ /* @__PURE__ */ jsx4("li", {
1451
1451
  children: "Document the purpose and trust level of each knowledge space"
1452
- }, undefined, false, undefined, this),
1453
- /* @__PURE__ */ jsxDEV4("li", {
1452
+ }),
1453
+ /* @__PURE__ */ jsx4("li", {
1454
1454
  children: "Test knowledge queries in sandbox before promoting to production"
1455
- }, undefined, false, undefined, this),
1456
- /* @__PURE__ */ jsxDEV4("li", {
1455
+ }),
1456
+ /* @__PURE__ */ jsxs4("li", {
1457
1457
  children: [
1458
1458
  "Use explicit ",
1459
- /* @__PURE__ */ jsxDEV4("code", {
1459
+ /* @__PURE__ */ jsx4("code", {
1460
1460
  children: "allowedConsumers"
1461
- }, undefined, false, undefined, this),
1461
+ }),
1462
1462
  " - avoid wildcard access"
1463
1463
  ]
1464
- }, undefined, true, undefined, this)
1464
+ })
1465
1465
  ]
1466
- }, undefined, true, undefined, this)
1466
+ })
1467
1467
  ]
1468
- }, undefined, true, undefined, this),
1469
- /* @__PURE__ */ jsxDEV4("div", {
1468
+ }),
1469
+ /* @__PURE__ */ jsxs4("div", {
1470
1470
  className: "flex items-center gap-4 pt-4",
1471
1471
  children: [
1472
- /* @__PURE__ */ jsxDEV4(Link4, {
1472
+ /* @__PURE__ */ jsx4(Link4, {
1473
1473
  href: "/docs/architecture/integration-binding",
1474
1474
  className: "btn-ghost",
1475
1475
  children: "Previous: Integration Binding"
1476
- }, undefined, false, undefined, this),
1477
- /* @__PURE__ */ jsxDEV4(Link4, {
1476
+ }),
1477
+ /* @__PURE__ */ jsxs4(Link4, {
1478
1478
  href: "/docs/knowledge",
1479
1479
  className: "btn-primary",
1480
1480
  children: [
1481
1481
  "Knowledge & Context ",
1482
- /* @__PURE__ */ jsxDEV4(ChevronRight4, {
1482
+ /* @__PURE__ */ jsx4(ChevronRight4, {
1483
1483
  size: 16
1484
- }, undefined, false, undefined, this)
1484
+ })
1485
1485
  ]
1486
- }, undefined, true, undefined, this)
1486
+ })
1487
1487
  ]
1488
- }, undefined, true, undefined, this)
1488
+ })
1489
1489
  ]
1490
- }, undefined, true, undefined, this);
1490
+ });
1491
1491
  }
1492
1492
 
1493
1493
  // src/components/docs/architecture/ArchitectureMultiTenancyPage.tsx
1494
1494
  import { CodeBlock as CodeBlock5 } from "@contractspec/lib.design-system";
1495
1495
  import Link5 from "@contractspec/lib.ui-link";
1496
1496
  import { ChevronRight as ChevronRight5 } from "lucide-react";
1497
- import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
1497
+ import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
1498
1498
  function ArchitectureMultiTenancyPage() {
1499
- return /* @__PURE__ */ jsxDEV5("div", {
1499
+ return /* @__PURE__ */ jsxs5("div", {
1500
1500
  className: "space-y-8",
1501
1501
  children: [
1502
- /* @__PURE__ */ jsxDEV5("div", {
1502
+ /* @__PURE__ */ jsxs5("div", {
1503
1503
  className: "space-y-4",
1504
1504
  children: [
1505
- /* @__PURE__ */ jsxDEV5("h1", {
1505
+ /* @__PURE__ */ jsx5("h1", {
1506
1506
  className: "text-4xl font-bold",
1507
1507
  children: "Multi-Tenancy"
1508
- }, undefined, false, undefined, this),
1509
- /* @__PURE__ */ jsxDEV5("p", {
1508
+ }),
1509
+ /* @__PURE__ */ jsx5("p", {
1510
1510
  className: "text-muted-foreground",
1511
1511
  children: "ContractSpec is designed from the ground up for multi-tenancy. Apps built with ContractSpec can serve multiple organizations (tenants) from a single deployment, while ensuring strict data isolation and configuration separation."
1512
- }, undefined, false, undefined, this)
1512
+ })
1513
1513
  ]
1514
- }, undefined, true, undefined, this),
1515
- /* @__PURE__ */ jsxDEV5("div", {
1514
+ }),
1515
+ /* @__PURE__ */ jsxs5("div", {
1516
1516
  className: "space-y-4",
1517
1517
  children: [
1518
- /* @__PURE__ */ jsxDEV5("h2", {
1518
+ /* @__PURE__ */ jsx5("h2", {
1519
1519
  className: "text-2xl font-bold",
1520
1520
  children: "Core Concepts"
1521
- }, undefined, false, undefined, this),
1522
- /* @__PURE__ */ jsxDEV5("ul", {
1521
+ }),
1522
+ /* @__PURE__ */ jsxs5("ul", {
1523
1523
  className: "text-muted-foreground list-inside list-disc space-y-2",
1524
1524
  children: [
1525
- /* @__PURE__ */ jsxDEV5("li", {
1525
+ /* @__PURE__ */ jsxs5("li", {
1526
1526
  children: [
1527
- /* @__PURE__ */ jsxDEV5("strong", {
1527
+ /* @__PURE__ */ jsx5("strong", {
1528
1528
  children: "Tenant"
1529
- }, undefined, false, undefined, this),
1529
+ }),
1530
1530
  ": An organization or customer that uses your app. Each tenant has a unique ",
1531
- /* @__PURE__ */ jsxDEV5("code", {
1531
+ /* @__PURE__ */ jsx5("code", {
1532
1532
  children: "tenantId"
1533
- }, undefined, false, undefined, this),
1533
+ }),
1534
1534
  "."
1535
1535
  ]
1536
- }, undefined, true, undefined, this),
1537
- /* @__PURE__ */ jsxDEV5("li", {
1536
+ }),
1537
+ /* @__PURE__ */ jsxs5("li", {
1538
1538
  children: [
1539
- /* @__PURE__ */ jsxDEV5("strong", {
1539
+ /* @__PURE__ */ jsx5("strong", {
1540
1540
  children: "Tenant Isolation"
1541
- }, undefined, false, undefined, this),
1541
+ }),
1542
1542
  ": Data and configuration for one tenant is never accessible to another tenant unless explicitly shared."
1543
1543
  ]
1544
- }, undefined, true, undefined, this),
1545
- /* @__PURE__ */ jsxDEV5("li", {
1544
+ }),
1545
+ /* @__PURE__ */ jsxs5("li", {
1546
1546
  children: [
1547
- /* @__PURE__ */ jsxDEV5("strong", {
1547
+ /* @__PURE__ */ jsx5("strong", {
1548
1548
  children: "Tenant Context"
1549
- }, undefined, false, undefined, this),
1549
+ }),
1550
1550
  ": Every request and operation runs within the context of a specific tenant."
1551
1551
  ]
1552
- }, undefined, true, undefined, this)
1552
+ })
1553
1553
  ]
1554
- }, undefined, true, undefined, this)
1554
+ })
1555
1555
  ]
1556
- }, undefined, true, undefined, this),
1557
- /* @__PURE__ */ jsxDEV5("div", {
1556
+ }),
1557
+ /* @__PURE__ */ jsxs5("div", {
1558
1558
  className: "space-y-4",
1559
1559
  children: [
1560
- /* @__PURE__ */ jsxDEV5("h2", {
1560
+ /* @__PURE__ */ jsx5("h2", {
1561
1561
  className: "text-2xl font-bold",
1562
1562
  children: "Tenant Resolution"
1563
- }, undefined, false, undefined, this),
1564
- /* @__PURE__ */ jsxDEV5("p", {
1563
+ }),
1564
+ /* @__PURE__ */ jsx5("p", {
1565
1565
  className: "text-muted-foreground",
1566
1566
  children: "The runtime automatically resolves the tenant context for every request based on:"
1567
- }, undefined, false, undefined, this),
1568
- /* @__PURE__ */ jsxDEV5("ul", {
1567
+ }),
1568
+ /* @__PURE__ */ jsxs5("ul", {
1569
1569
  className: "text-muted-foreground list-inside list-disc space-y-2",
1570
1570
  children: [
1571
- /* @__PURE__ */ jsxDEV5("li", {
1571
+ /* @__PURE__ */ jsxs5("li", {
1572
1572
  children: [
1573
1573
  "Subdomain (e.g., ",
1574
- /* @__PURE__ */ jsxDEV5("code", {
1574
+ /* @__PURE__ */ jsx5("code", {
1575
1575
  children: "acme.app.com"
1576
- }, undefined, false, undefined, this),
1576
+ }),
1577
1577
  ")"
1578
1578
  ]
1579
- }, undefined, true, undefined, this),
1580
- /* @__PURE__ */ jsxDEV5("li", {
1579
+ }),
1580
+ /* @__PURE__ */ jsxs5("li", {
1581
1581
  children: [
1582
1582
  "Custom Domain (e.g., ",
1583
- /* @__PURE__ */ jsxDEV5("code", {
1583
+ /* @__PURE__ */ jsx5("code", {
1584
1584
  children: "portal.acme.com"
1585
- }, undefined, false, undefined, this),
1585
+ }),
1586
1586
  ")"
1587
1587
  ]
1588
- }, undefined, true, undefined, this),
1589
- /* @__PURE__ */ jsxDEV5("li", {
1588
+ }),
1589
+ /* @__PURE__ */ jsxs5("li", {
1590
1590
  children: [
1591
1591
  "Header (e.g., ",
1592
- /* @__PURE__ */ jsxDEV5("code", {
1592
+ /* @__PURE__ */ jsx5("code", {
1593
1593
  children: "x-tenant-id: acme-corp"
1594
- }, undefined, false, undefined, this),
1594
+ }),
1595
1595
  ")"
1596
1596
  ]
1597
- }, undefined, true, undefined, this),
1598
- /* @__PURE__ */ jsxDEV5("li", {
1597
+ }),
1598
+ /* @__PURE__ */ jsx5("li", {
1599
1599
  children: "Authentication Token (embedded tenant claim)"
1600
- }, undefined, false, undefined, this)
1600
+ })
1601
1601
  ]
1602
- }, undefined, true, undefined, this)
1602
+ })
1603
1603
  ]
1604
- }, undefined, true, undefined, this),
1605
- /* @__PURE__ */ jsxDEV5("div", {
1604
+ }),
1605
+ /* @__PURE__ */ jsxs5("div", {
1606
1606
  className: "space-y-4",
1607
1607
  children: [
1608
- /* @__PURE__ */ jsxDEV5("h2", {
1608
+ /* @__PURE__ */ jsx5("h2", {
1609
1609
  className: "text-2xl font-bold",
1610
1610
  children: "Configuration Isolation"
1611
- }, undefined, false, undefined, this),
1612
- /* @__PURE__ */ jsxDEV5("p", {
1611
+ }),
1612
+ /* @__PURE__ */ jsxs5("p", {
1613
1613
  className: "text-muted-foreground",
1614
1614
  children: [
1615
1615
  "Each tenant has its own ",
1616
- /* @__PURE__ */ jsxDEV5("code", {
1616
+ /* @__PURE__ */ jsx5("code", {
1617
1617
  children: "TenantAppConfig"
1618
- }, undefined, false, undefined, this),
1618
+ }),
1619
1619
  " which defines:"
1620
1620
  ]
1621
- }, undefined, true, undefined, this),
1622
- /* @__PURE__ */ jsxDEV5(CodeBlock5, {
1621
+ }),
1622
+ /* @__PURE__ */ jsx5(CodeBlock5, {
1623
1623
  language: "typescript",
1624
1624
  code: `type TenantAppConfig = {
1625
1625
  tenantId: string;
@@ -1629,497 +1629,497 @@ function ArchitectureMultiTenancyPage() {
1629
1629
  knowledgeBindings: AppKnowledgeBinding[];
1630
1630
  featureFlags: Record<string, boolean>;
1631
1631
  };`
1632
- }, undefined, false, undefined, this),
1633
- /* @__PURE__ */ jsxDEV5("p", {
1632
+ }),
1633
+ /* @__PURE__ */ jsx5("p", {
1634
1634
  className: "text-muted-foreground mt-2",
1635
1635
  children: "This allows you to customize feature flags, integration connections, and knowledge sources per tenant without changing the application code."
1636
- }, undefined, false, undefined, this)
1636
+ })
1637
1637
  ]
1638
- }, undefined, true, undefined, this),
1639
- /* @__PURE__ */ jsxDEV5("div", {
1638
+ }),
1639
+ /* @__PURE__ */ jsxs5("div", {
1640
1640
  className: "flex items-center gap-4 pt-4",
1641
1641
  children: [
1642
- /* @__PURE__ */ jsxDEV5(Link5, {
1642
+ /* @__PURE__ */ jsx5(Link5, {
1643
1643
  href: "/docs/architecture",
1644
1644
  className: "btn-ghost",
1645
1645
  children: "Back to Architecture"
1646
- }, undefined, false, undefined, this),
1647
- /* @__PURE__ */ jsxDEV5(Link5, {
1646
+ }),
1647
+ /* @__PURE__ */ jsxs5(Link5, {
1648
1648
  href: "/docs/libraries/multi-tenancy",
1649
1649
  className: "btn-primary",
1650
1650
  children: [
1651
1651
  "Multi-Tenancy Library ",
1652
- /* @__PURE__ */ jsxDEV5(ChevronRight5, {
1652
+ /* @__PURE__ */ jsx5(ChevronRight5, {
1653
1653
  size: 16
1654
- }, undefined, false, undefined, this)
1654
+ })
1655
1655
  ]
1656
- }, undefined, true, undefined, this)
1656
+ })
1657
1657
  ]
1658
- }, undefined, true, undefined, this)
1658
+ })
1659
1659
  ]
1660
- }, undefined, true, undefined, this);
1660
+ });
1661
1661
  }
1662
1662
 
1663
1663
  // src/components/docs/architecture/ArchitectureOverviewPage.tsx
1664
1664
  import Link6 from "@contractspec/lib.ui-link";
1665
1665
  import { ChevronRight as ChevronRight6 } from "lucide-react";
1666
- import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
1666
+ import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
1667
1667
  function ArchitectureOverviewPage() {
1668
- return /* @__PURE__ */ jsxDEV6("div", {
1668
+ return /* @__PURE__ */ jsxs6("div", {
1669
1669
  className: "space-y-8",
1670
1670
  children: [
1671
- /* @__PURE__ */ jsxDEV6("div", {
1671
+ /* @__PURE__ */ jsxs6("div", {
1672
1672
  className: "space-y-4",
1673
1673
  children: [
1674
- /* @__PURE__ */ jsxDEV6("h1", {
1674
+ /* @__PURE__ */ jsx6("h1", {
1675
1675
  className: "text-4xl font-bold",
1676
1676
  children: "Architecture"
1677
- }, undefined, false, undefined, this),
1678
- /* @__PURE__ */ jsxDEV6("p", {
1677
+ }),
1678
+ /* @__PURE__ */ jsx6("p", {
1679
1679
  className: "text-muted-foreground",
1680
1680
  children: "ContractSpec's architecture is built on a foundation of typed specifications served by runtime adapters. This section covers the core architectural concepts: app configuration, integration binding, control-plane governance, and knowledge management."
1681
- }, undefined, false, undefined, this)
1681
+ })
1682
1682
  ]
1683
- }, undefined, true, undefined, this),
1684
- /* @__PURE__ */ jsxDEV6("div", {
1683
+ }),
1684
+ /* @__PURE__ */ jsxs6("div", {
1685
1685
  className: "space-y-4",
1686
1686
  children: [
1687
- /* @__PURE__ */ jsxDEV6("h2", {
1687
+ /* @__PURE__ */ jsx6("h2", {
1688
1688
  className: "text-2xl font-bold",
1689
1689
  children: "Core layers"
1690
- }, undefined, false, undefined, this),
1691
- /* @__PURE__ */ jsxDEV6("div", {
1690
+ }),
1691
+ /* @__PURE__ */ jsxs6("div", {
1692
1692
  className: "space-y-6",
1693
1693
  children: [
1694
- /* @__PURE__ */ jsxDEV6("div", {
1694
+ /* @__PURE__ */ jsxs6("div", {
1695
1695
  className: "space-y-3",
1696
1696
  children: [
1697
- /* @__PURE__ */ jsxDEV6("h3", {
1697
+ /* @__PURE__ */ jsx6("h3", {
1698
1698
  className: "text-xl font-semibold",
1699
1699
  children: "1. Specification Layer"
1700
- }, undefined, false, undefined, this),
1701
- /* @__PURE__ */ jsxDEV6("p", {
1700
+ }),
1701
+ /* @__PURE__ */ jsx6("p", {
1702
1702
  className: "text-muted-foreground",
1703
1703
  children: "The foundation of ContractSpec. Typed specifications define what your application can do:"
1704
- }, undefined, false, undefined, this),
1705
- /* @__PURE__ */ jsxDEV6("ul", {
1704
+ }),
1705
+ /* @__PURE__ */ jsxs6("ul", {
1706
1706
  className: "text-muted-foreground ml-4 list-inside list-disc space-y-2",
1707
1707
  children: [
1708
- /* @__PURE__ */ jsxDEV6("li", {
1708
+ /* @__PURE__ */ jsxs6("li", {
1709
1709
  children: [
1710
- /* @__PURE__ */ jsxDEV6(Link6, {
1710
+ /* @__PURE__ */ jsx6(Link6, {
1711
1711
  href: "/docs/specs/capabilities",
1712
1712
  className: "text-violet-400 hover:text-violet-300",
1713
1713
  children: "CapabilitySpec"
1714
- }, undefined, false, undefined, this),
1714
+ }),
1715
1715
  " ",
1716
1716
  "- Operations and their inputs/outputs"
1717
1717
  ]
1718
- }, undefined, true, undefined, this),
1719
- /* @__PURE__ */ jsxDEV6("li", {
1718
+ }),
1719
+ /* @__PURE__ */ jsxs6("li", {
1720
1720
  children: [
1721
- /* @__PURE__ */ jsxDEV6(Link6, {
1721
+ /* @__PURE__ */ jsx6(Link6, {
1722
1722
  href: "/docs/specs/dataviews",
1723
1723
  className: "text-violet-400 hover:text-violet-300",
1724
1724
  children: "DataViewSpec"
1725
- }, undefined, false, undefined, this),
1725
+ }),
1726
1726
  " ",
1727
1727
  "- Data queries and presentation"
1728
1728
  ]
1729
- }, undefined, true, undefined, this),
1730
- /* @__PURE__ */ jsxDEV6("li", {
1729
+ }),
1730
+ /* @__PURE__ */ jsxs6("li", {
1731
1731
  children: [
1732
- /* @__PURE__ */ jsxDEV6(Link6, {
1732
+ /* @__PURE__ */ jsx6(Link6, {
1733
1733
  href: "/docs/specs/workflows",
1734
1734
  className: "text-violet-400 hover:text-violet-300",
1735
1735
  children: "WorkflowSpec"
1736
- }, undefined, false, undefined, this),
1736
+ }),
1737
1737
  " ",
1738
1738
  "- Multi-step processes"
1739
1739
  ]
1740
- }, undefined, true, undefined, this),
1741
- /* @__PURE__ */ jsxDEV6("li", {
1740
+ }),
1741
+ /* @__PURE__ */ jsxs6("li", {
1742
1742
  children: [
1743
- /* @__PURE__ */ jsxDEV6(Link6, {
1743
+ /* @__PURE__ */ jsx6(Link6, {
1744
1744
  href: "/docs/specs/policy",
1745
1745
  className: "text-violet-400 hover:text-violet-300",
1746
1746
  children: "PolicySpec"
1747
- }, undefined, false, undefined, this),
1747
+ }),
1748
1748
  " ",
1749
1749
  "- Access control and data protection"
1750
1750
  ]
1751
- }, undefined, true, undefined, this),
1752
- /* @__PURE__ */ jsxDEV6("li", {
1751
+ }),
1752
+ /* @__PURE__ */ jsxs6("li", {
1753
1753
  children: [
1754
- /* @__PURE__ */ jsxDEV6(Link6, {
1754
+ /* @__PURE__ */ jsx6(Link6, {
1755
1755
  href: "/docs/integrations/spec-model",
1756
1756
  className: "text-violet-400 hover:text-violet-300",
1757
1757
  children: "IntegrationSpec"
1758
- }, undefined, false, undefined, this),
1758
+ }),
1759
1759
  " ",
1760
1760
  "- External service providers"
1761
1761
  ]
1762
- }, undefined, true, undefined, this),
1763
- /* @__PURE__ */ jsxDEV6("li", {
1762
+ }),
1763
+ /* @__PURE__ */ jsxs6("li", {
1764
1764
  children: [
1765
- /* @__PURE__ */ jsxDEV6(Link6, {
1765
+ /* @__PURE__ */ jsx6(Link6, {
1766
1766
  href: "/docs/knowledge/spaces",
1767
1767
  className: "text-violet-400 hover:text-violet-300",
1768
1768
  children: "KnowledgeSpaceSpec"
1769
- }, undefined, false, undefined, this),
1769
+ }),
1770
1770
  " ",
1771
1771
  "- Knowledge and context management"
1772
1772
  ]
1773
- }, undefined, true, undefined, this)
1773
+ })
1774
1774
  ]
1775
- }, undefined, true, undefined, this)
1775
+ })
1776
1776
  ]
1777
- }, undefined, true, undefined, this),
1778
- /* @__PURE__ */ jsxDEV6("div", {
1777
+ }),
1778
+ /* @__PURE__ */ jsxs6("div", {
1779
1779
  className: "space-y-3",
1780
1780
  children: [
1781
- /* @__PURE__ */ jsxDEV6("h3", {
1781
+ /* @__PURE__ */ jsx6("h3", {
1782
1782
  className: "text-xl font-semibold",
1783
1783
  children: "2. Configuration Layer"
1784
- }, undefined, false, undefined, this),
1785
- /* @__PURE__ */ jsxDEV6("p", {
1784
+ }),
1785
+ /* @__PURE__ */ jsx6("p", {
1786
1786
  className: "text-muted-foreground",
1787
1787
  children: "How applications are configured and customized:"
1788
- }, undefined, false, undefined, this),
1789
- /* @__PURE__ */ jsxDEV6("ul", {
1788
+ }),
1789
+ /* @__PURE__ */ jsxs6("ul", {
1790
1790
  className: "text-muted-foreground ml-4 list-inside list-disc space-y-2",
1791
1791
  children: [
1792
- /* @__PURE__ */ jsxDEV6("li", {
1792
+ /* @__PURE__ */ jsxs6("li", {
1793
1793
  children: [
1794
- /* @__PURE__ */ jsxDEV6(Link6, {
1794
+ /* @__PURE__ */ jsx6(Link6, {
1795
1795
  href: "/docs/architecture/app-config",
1796
1796
  className: "text-violet-400 hover:text-violet-300",
1797
1797
  children: "AppBlueprintSpec"
1798
- }, undefined, false, undefined, this),
1798
+ }),
1799
1799
  " ",
1800
1800
  "- Global, versioned app definition"
1801
1801
  ]
1802
- }, undefined, true, undefined, this),
1803
- /* @__PURE__ */ jsxDEV6("li", {
1802
+ }),
1803
+ /* @__PURE__ */ jsxs6("li", {
1804
1804
  children: [
1805
- /* @__PURE__ */ jsxDEV6(Link6, {
1805
+ /* @__PURE__ */ jsx6(Link6, {
1806
1806
  href: "/docs/architecture/app-config",
1807
1807
  className: "text-violet-400 hover:text-violet-300",
1808
1808
  children: "TenantAppConfig"
1809
- }, undefined, false, undefined, this),
1809
+ }),
1810
1810
  " ",
1811
1811
  "- Per-tenant, per-environment configuration"
1812
1812
  ]
1813
- }, undefined, true, undefined, this),
1814
- /* @__PURE__ */ jsxDEV6("li", {
1813
+ }),
1814
+ /* @__PURE__ */ jsxs6("li", {
1815
1815
  children: [
1816
- /* @__PURE__ */ jsxDEV6(Link6, {
1816
+ /* @__PURE__ */ jsx6(Link6, {
1817
1817
  href: "/docs/architecture/integration-binding",
1818
1818
  className: "text-violet-400 hover:text-violet-300",
1819
1819
  children: "AppIntegrationBinding"
1820
- }, undefined, false, undefined, this),
1820
+ }),
1821
1821
  " ",
1822
1822
  "- How apps use integrations"
1823
1823
  ]
1824
- }, undefined, true, undefined, this),
1825
- /* @__PURE__ */ jsxDEV6("li", {
1824
+ }),
1825
+ /* @__PURE__ */ jsxs6("li", {
1826
1826
  children: [
1827
- /* @__PURE__ */ jsxDEV6(Link6, {
1827
+ /* @__PURE__ */ jsx6(Link6, {
1828
1828
  href: "/docs/architecture/knowledge-binding",
1829
1829
  className: "text-violet-400 hover:text-violet-300",
1830
1830
  children: "AppKnowledgeBinding"
1831
- }, undefined, false, undefined, this),
1831
+ }),
1832
1832
  " ",
1833
1833
  "- How apps access knowledge"
1834
1834
  ]
1835
- }, undefined, true, undefined, this)
1835
+ })
1836
1836
  ]
1837
- }, undefined, true, undefined, this)
1837
+ })
1838
1838
  ]
1839
- }, undefined, true, undefined, this),
1840
- /* @__PURE__ */ jsxDEV6("div", {
1839
+ }),
1840
+ /* @__PURE__ */ jsxs6("div", {
1841
1841
  className: "space-y-3",
1842
1842
  children: [
1843
- /* @__PURE__ */ jsxDEV6("h3", {
1843
+ /* @__PURE__ */ jsx6("h3", {
1844
1844
  className: "text-xl font-semibold",
1845
1845
  children: "3. Runtime Layer"
1846
- }, undefined, false, undefined, this),
1847
- /* @__PURE__ */ jsxDEV6("p", {
1846
+ }),
1847
+ /* @__PURE__ */ jsx6("p", {
1848
1848
  className: "text-muted-foreground",
1849
1849
  children: "How specifications are executed at runtime:"
1850
- }, undefined, false, undefined, this),
1851
- /* @__PURE__ */ jsxDEV6("ul", {
1850
+ }),
1851
+ /* @__PURE__ */ jsxs6("ul", {
1852
1852
  className: "text-muted-foreground ml-4 list-inside list-disc space-y-2",
1853
1853
  children: [
1854
- /* @__PURE__ */ jsxDEV6("li", {
1854
+ /* @__PURE__ */ jsxs6("li", {
1855
1855
  children: [
1856
- /* @__PURE__ */ jsxDEV6("strong", {
1856
+ /* @__PURE__ */ jsx6("strong", {
1857
1857
  children: "ResolvedAppConfig"
1858
- }, undefined, false, undefined, this),
1858
+ }),
1859
1859
  " - Merged blueprint + tenant config"
1860
1860
  ]
1861
- }, undefined, true, undefined, this),
1862
- /* @__PURE__ */ jsxDEV6("li", {
1861
+ }),
1862
+ /* @__PURE__ */ jsxs6("li", {
1863
1863
  children: [
1864
- /* @__PURE__ */ jsxDEV6("strong", {
1864
+ /* @__PURE__ */ jsx6("strong", {
1865
1865
  children: "Policy Decision Point (PDP)"
1866
- }, undefined, false, undefined, this),
1866
+ }),
1867
1867
  " - Enforces policies on every operation"
1868
1868
  ]
1869
- }, undefined, true, undefined, this),
1870
- /* @__PURE__ */ jsxDEV6("li", {
1869
+ }),
1870
+ /* @__PURE__ */ jsxs6("li", {
1871
1871
  children: [
1872
- /* @__PURE__ */ jsxDEV6(Link6, {
1872
+ /* @__PURE__ */ jsx6(Link6, {
1873
1873
  href: "/docs/architecture/control-plane",
1874
1874
  className: "text-violet-400 hover:text-violet-300",
1875
1875
  children: "Control Plane Runtime"
1876
- }, undefined, false, undefined, this),
1876
+ }),
1877
1877
  " ",
1878
1878
  "- Deterministic intent to plan to policy to execution loop"
1879
1879
  ]
1880
- }, undefined, true, undefined, this),
1881
- /* @__PURE__ */ jsxDEV6("li", {
1880
+ }),
1881
+ /* @__PURE__ */ jsxs6("li", {
1882
1882
  children: [
1883
- /* @__PURE__ */ jsxDEV6("strong", {
1883
+ /* @__PURE__ */ jsx6("strong", {
1884
1884
  children: "Presentation Runtime"
1885
- }, undefined, false, undefined, this),
1885
+ }),
1886
1886
  " - React and React Native renderers"
1887
1887
  ]
1888
- }, undefined, true, undefined, this),
1889
- /* @__PURE__ */ jsxDEV6("li", {
1888
+ }),
1889
+ /* @__PURE__ */ jsxs6("li", {
1890
1890
  children: [
1891
- /* @__PURE__ */ jsxDEV6("strong", {
1891
+ /* @__PURE__ */ jsx6("strong", {
1892
1892
  children: "Integration Connectors"
1893
- }, undefined, false, undefined, this),
1893
+ }),
1894
1894
  " - Execute external API calls"
1895
1895
  ]
1896
- }, undefined, true, undefined, this),
1897
- /* @__PURE__ */ jsxDEV6("li", {
1896
+ }),
1897
+ /* @__PURE__ */ jsxs6("li", {
1898
1898
  children: [
1899
- /* @__PURE__ */ jsxDEV6("strong", {
1899
+ /* @__PURE__ */ jsx6("strong", {
1900
1900
  children: "Knowledge Retrieval"
1901
- }, undefined, false, undefined, this),
1901
+ }),
1902
1902
  " - Query vector databases and knowledge sources"
1903
1903
  ]
1904
- }, undefined, true, undefined, this)
1904
+ })
1905
1905
  ]
1906
- }, undefined, true, undefined, this)
1906
+ })
1907
1907
  ]
1908
- }, undefined, true, undefined, this)
1908
+ })
1909
1909
  ]
1910
- }, undefined, true, undefined, this)
1910
+ })
1911
1911
  ]
1912
- }, undefined, true, undefined, this),
1913
- /* @__PURE__ */ jsxDEV6("div", {
1912
+ }),
1913
+ /* @__PURE__ */ jsxs6("div", {
1914
1914
  className: "space-y-4",
1915
1915
  children: [
1916
- /* @__PURE__ */ jsxDEV6("h2", {
1916
+ /* @__PURE__ */ jsx6("h2", {
1917
1917
  className: "text-2xl font-bold",
1918
1918
  children: "Configuration model"
1919
- }, undefined, false, undefined, this),
1920
- /* @__PURE__ */ jsxDEV6("p", {
1919
+ }),
1920
+ /* @__PURE__ */ jsx6("p", {
1921
1921
  className: "text-muted-foreground",
1922
1922
  children: "ContractSpec uses a three-tier configuration model:"
1923
- }, undefined, false, undefined, this),
1924
- /* @__PURE__ */ jsxDEV6("div", {
1923
+ }),
1924
+ /* @__PURE__ */ jsx6("div", {
1925
1925
  className: "border-border/50 overflow-x-auto rounded-lg border",
1926
- children: /* @__PURE__ */ jsxDEV6("table", {
1926
+ children: /* @__PURE__ */ jsxs6("table", {
1927
1927
  className: "w-full text-left text-sm",
1928
1928
  children: [
1929
- /* @__PURE__ */ jsxDEV6("thead", {
1929
+ /* @__PURE__ */ jsx6("thead", {
1930
1930
  className: "bg-card/50",
1931
- children: /* @__PURE__ */ jsxDEV6("tr", {
1931
+ children: /* @__PURE__ */ jsxs6("tr", {
1932
1932
  className: "border-border/50 border-b",
1933
1933
  children: [
1934
- /* @__PURE__ */ jsxDEV6("th", {
1934
+ /* @__PURE__ */ jsx6("th", {
1935
1935
  className: "px-4 py-3 font-semibold",
1936
1936
  children: "Layer"
1937
- }, undefined, false, undefined, this),
1938
- /* @__PURE__ */ jsxDEV6("th", {
1937
+ }),
1938
+ /* @__PURE__ */ jsx6("th", {
1939
1939
  className: "px-4 py-3 font-semibold",
1940
1940
  children: "Type"
1941
- }, undefined, false, undefined, this),
1942
- /* @__PURE__ */ jsxDEV6("th", {
1941
+ }),
1942
+ /* @__PURE__ */ jsx6("th", {
1943
1943
  className: "px-4 py-3 font-semibold",
1944
1944
  children: "Scope"
1945
- }, undefined, false, undefined, this),
1946
- /* @__PURE__ */ jsxDEV6("th", {
1945
+ }),
1946
+ /* @__PURE__ */ jsx6("th", {
1947
1947
  className: "px-4 py-3 font-semibold",
1948
1948
  children: "Storage"
1949
- }, undefined, false, undefined, this)
1949
+ })
1950
1950
  ]
1951
- }, undefined, true, undefined, this)
1952
- }, undefined, false, undefined, this),
1953
- /* @__PURE__ */ jsxDEV6("tbody", {
1951
+ })
1952
+ }),
1953
+ /* @__PURE__ */ jsxs6("tbody", {
1954
1954
  className: "divide-border/50 divide-y",
1955
1955
  children: [
1956
- /* @__PURE__ */ jsxDEV6("tr", {
1956
+ /* @__PURE__ */ jsxs6("tr", {
1957
1957
  children: [
1958
- /* @__PURE__ */ jsxDEV6("td", {
1958
+ /* @__PURE__ */ jsx6("td", {
1959
1959
  className: "px-4 py-3 align-top",
1960
- children: /* @__PURE__ */ jsxDEV6("strong", {
1960
+ children: /* @__PURE__ */ jsx6("strong", {
1961
1961
  children: "Blueprint"
1962
- }, undefined, false, undefined, this)
1963
- }, undefined, false, undefined, this),
1964
- /* @__PURE__ */ jsxDEV6("td", {
1962
+ })
1963
+ }),
1964
+ /* @__PURE__ */ jsx6("td", {
1965
1965
  className: "px-4 py-3 align-top font-mono text-xs",
1966
1966
  children: "AppBlueprintSpec"
1967
- }, undefined, false, undefined, this),
1968
- /* @__PURE__ */ jsxDEV6("td", {
1967
+ }),
1968
+ /* @__PURE__ */ jsx6("td", {
1969
1969
  className: "px-4 py-3 align-top",
1970
1970
  children: "Global, versioned, no tenant info"
1971
- }, undefined, false, undefined, this),
1972
- /* @__PURE__ */ jsxDEV6("td", {
1971
+ }),
1972
+ /* @__PURE__ */ jsx6("td", {
1973
1973
  className: "px-4 py-3 align-top",
1974
1974
  children: "Version control, immutable"
1975
- }, undefined, false, undefined, this)
1975
+ })
1976
1976
  ]
1977
- }, undefined, true, undefined, this),
1978
- /* @__PURE__ */ jsxDEV6("tr", {
1977
+ }),
1978
+ /* @__PURE__ */ jsxs6("tr", {
1979
1979
  children: [
1980
- /* @__PURE__ */ jsxDEV6("td", {
1980
+ /* @__PURE__ */ jsx6("td", {
1981
1981
  className: "px-4 py-3 align-top",
1982
- children: /* @__PURE__ */ jsxDEV6("strong", {
1982
+ children: /* @__PURE__ */ jsx6("strong", {
1983
1983
  children: "Tenant Config"
1984
- }, undefined, false, undefined, this)
1985
- }, undefined, false, undefined, this),
1986
- /* @__PURE__ */ jsxDEV6("td", {
1984
+ })
1985
+ }),
1986
+ /* @__PURE__ */ jsx6("td", {
1987
1987
  className: "px-4 py-3 align-top font-mono text-xs",
1988
1988
  children: "TenantAppConfig"
1989
- }, undefined, false, undefined, this),
1990
- /* @__PURE__ */ jsxDEV6("td", {
1989
+ }),
1990
+ /* @__PURE__ */ jsx6("td", {
1991
1991
  className: "px-4 py-3 align-top",
1992
1992
  children: "Per-tenant, per-environment"
1993
- }, undefined, false, undefined, this),
1994
- /* @__PURE__ */ jsxDEV6("td", {
1993
+ }),
1994
+ /* @__PURE__ */ jsx6("td", {
1995
1995
  className: "px-4 py-3 align-top",
1996
1996
  children: "Database, mutable"
1997
- }, undefined, false, undefined, this)
1997
+ })
1998
1998
  ]
1999
- }, undefined, true, undefined, this),
2000
- /* @__PURE__ */ jsxDEV6("tr", {
1999
+ }),
2000
+ /* @__PURE__ */ jsxs6("tr", {
2001
2001
  children: [
2002
- /* @__PURE__ */ jsxDEV6("td", {
2002
+ /* @__PURE__ */ jsx6("td", {
2003
2003
  className: "px-4 py-3 align-top",
2004
- children: /* @__PURE__ */ jsxDEV6("strong", {
2004
+ children: /* @__PURE__ */ jsx6("strong", {
2005
2005
  children: "Resolved Config"
2006
- }, undefined, false, undefined, this)
2007
- }, undefined, false, undefined, this),
2008
- /* @__PURE__ */ jsxDEV6("td", {
2006
+ })
2007
+ }),
2008
+ /* @__PURE__ */ jsx6("td", {
2009
2009
  className: "px-4 py-3 align-top font-mono text-xs",
2010
2010
  children: "ResolvedAppConfig"
2011
- }, undefined, false, undefined, this),
2012
- /* @__PURE__ */ jsxDEV6("td", {
2011
+ }),
2012
+ /* @__PURE__ */ jsx6("td", {
2013
2013
  className: "px-4 py-3 align-top",
2014
2014
  children: "Runtime, ephemeral"
2015
- }, undefined, false, undefined, this),
2016
- /* @__PURE__ */ jsxDEV6("td", {
2015
+ }),
2016
+ /* @__PURE__ */ jsx6("td", {
2017
2017
  className: "px-4 py-3 align-top",
2018
2018
  children: "In-memory, not persisted"
2019
- }, undefined, false, undefined, this)
2019
+ })
2020
2020
  ]
2021
- }, undefined, true, undefined, this)
2021
+ })
2022
2022
  ]
2023
- }, undefined, true, undefined, this)
2023
+ })
2024
2024
  ]
2025
- }, undefined, true, undefined, this)
2026
- }, undefined, false, undefined, this)
2025
+ })
2026
+ })
2027
2027
  ]
2028
- }, undefined, true, undefined, this),
2029
- /* @__PURE__ */ jsxDEV6("div", {
2028
+ }),
2029
+ /* @__PURE__ */ jsxs6("div", {
2030
2030
  className: "space-y-4",
2031
2031
  children: [
2032
- /* @__PURE__ */ jsxDEV6("h2", {
2032
+ /* @__PURE__ */ jsx6("h2", {
2033
2033
  className: "text-2xl font-bold",
2034
2034
  children: "Key architectural principles"
2035
- }, undefined, false, undefined, this),
2036
- /* @__PURE__ */ jsxDEV6("ul", {
2035
+ }),
2036
+ /* @__PURE__ */ jsxs6("ul", {
2037
2037
  className: "text-muted-foreground list-inside list-disc space-y-2",
2038
2038
  children: [
2039
- /* @__PURE__ */ jsxDEV6("li", {
2039
+ /* @__PURE__ */ jsxs6("li", {
2040
2040
  children: [
2041
- /* @__PURE__ */ jsxDEV6("strong", {
2041
+ /* @__PURE__ */ jsx6("strong", {
2042
2042
  children: "Spec-first"
2043
- }, undefined, false, undefined, this),
2043
+ }),
2044
2044
  " - Everything is defined declaratively before code generation"
2045
2045
  ]
2046
- }, undefined, true, undefined, this),
2047
- /* @__PURE__ */ jsxDEV6("li", {
2046
+ }),
2047
+ /* @__PURE__ */ jsxs6("li", {
2048
2048
  children: [
2049
- /* @__PURE__ */ jsxDEV6("strong", {
2049
+ /* @__PURE__ */ jsx6("strong", {
2050
2050
  children: "Type-safe"
2051
- }, undefined, false, undefined, this),
2051
+ }),
2052
2052
  " - All specifications are strongly typed and validated at compile time"
2053
2053
  ]
2054
- }, undefined, true, undefined, this),
2055
- /* @__PURE__ */ jsxDEV6("li", {
2054
+ }),
2055
+ /* @__PURE__ */ jsxs6("li", {
2056
2056
  children: [
2057
- /* @__PURE__ */ jsxDEV6("strong", {
2057
+ /* @__PURE__ */ jsx6("strong", {
2058
2058
  children: "Policy-enforced"
2059
- }, undefined, false, undefined, this),
2059
+ }),
2060
2060
  " - Every operation passes through the PDP"
2061
2061
  ]
2062
- }, undefined, true, undefined, this),
2063
- /* @__PURE__ */ jsxDEV6("li", {
2062
+ }),
2063
+ /* @__PURE__ */ jsxs6("li", {
2064
2064
  children: [
2065
- /* @__PURE__ */ jsxDEV6("strong", {
2065
+ /* @__PURE__ */ jsx6("strong", {
2066
2066
  children: "Multi-tenant by default"
2067
- }, undefined, false, undefined, this),
2067
+ }),
2068
2068
  " - Tenant isolation is built-in, not bolted on"
2069
2069
  ]
2070
- }, undefined, true, undefined, this),
2071
- /* @__PURE__ */ jsxDEV6("li", {
2070
+ }),
2071
+ /* @__PURE__ */ jsxs6("li", {
2072
2072
  children: [
2073
- /* @__PURE__ */ jsxDEV6("strong", {
2073
+ /* @__PURE__ */ jsx6("strong", {
2074
2074
  children: "Environment-aware"
2075
- }, undefined, false, undefined, this),
2075
+ }),
2076
2076
  " - Separate configurations for sandbox, staging, production"
2077
2077
  ]
2078
- }, undefined, true, undefined, this),
2079
- /* @__PURE__ */ jsxDEV6("li", {
2078
+ }),
2079
+ /* @__PURE__ */ jsxs6("li", {
2080
2080
  children: [
2081
- /* @__PURE__ */ jsxDEV6("strong", {
2081
+ /* @__PURE__ */ jsx6("strong", {
2082
2082
  children: "Auditable"
2083
- }, undefined, false, undefined, this),
2083
+ }),
2084
2084
  " - All operations are logged for compliance and debugging"
2085
2085
  ]
2086
- }, undefined, true, undefined, this)
2086
+ })
2087
2087
  ]
2088
- }, undefined, true, undefined, this)
2088
+ })
2089
2089
  ]
2090
- }, undefined, true, undefined, this),
2091
- /* @__PURE__ */ jsxDEV6("div", {
2090
+ }),
2091
+ /* @__PURE__ */ jsxs6("div", {
2092
2092
  className: "flex items-center gap-4 pt-4",
2093
2093
  children: [
2094
- /* @__PURE__ */ jsxDEV6(Link6, {
2094
+ /* @__PURE__ */ jsxs6(Link6, {
2095
2095
  href: "/docs/architecture/app-config",
2096
2096
  className: "btn-primary",
2097
2097
  children: [
2098
2098
  "App Configuration ",
2099
- /* @__PURE__ */ jsxDEV6(ChevronRight6, {
2099
+ /* @__PURE__ */ jsx6(ChevronRight6, {
2100
2100
  size: 16
2101
- }, undefined, false, undefined, this)
2101
+ })
2102
2102
  ]
2103
- }, undefined, true, undefined, this),
2104
- /* @__PURE__ */ jsxDEV6(Link6, {
2103
+ }),
2104
+ /* @__PURE__ */ jsx6(Link6, {
2105
2105
  href: "/docs/architecture/control-plane",
2106
2106
  className: "btn-ghost",
2107
2107
  children: "Control Plane Runtime"
2108
- }, undefined, false, undefined, this),
2109
- /* @__PURE__ */ jsxDEV6(Link6, {
2108
+ }),
2109
+ /* @__PURE__ */ jsx6(Link6, {
2110
2110
  href: "/docs/integrations",
2111
2111
  className: "btn-ghost",
2112
2112
  children: "Integrations"
2113
- }, undefined, false, undefined, this),
2114
- /* @__PURE__ */ jsxDEV6(Link6, {
2113
+ }),
2114
+ /* @__PURE__ */ jsx6(Link6, {
2115
2115
  href: "/docs/knowledge",
2116
2116
  className: "btn-ghost",
2117
2117
  children: "Knowledge & Context"
2118
- }, undefined, false, undefined, this)
2118
+ })
2119
2119
  ]
2120
- }, undefined, true, undefined, this)
2120
+ })
2121
2121
  ]
2122
- }, undefined, true, undefined, this);
2122
+ });
2123
2123
  }
2124
2124
  export {
2125
2125
  ArchitectureOverviewPage,