@contractspec/bundle.library 3.4.3 → 3.5.2

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