@contractspec/bundle.library 3.8.10 → 3.8.12
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.
- package/.turbo/turbo-build.log +606 -594
- package/CHANGELOG.md +59 -0
- package/dist/application/context-storage/index.js +1 -28
- package/dist/application/index.js +13 -2133
- package/dist/application/mcp/cliMcp.js +4 -452
- package/dist/application/mcp/common.js +1 -193
- package/dist/application/mcp/contractsMcp.js +2 -549
- package/dist/application/mcp/contractsMcpResources.js +2 -123
- package/dist/application/mcp/contractsMcpTools.js +1 -199
- package/dist/application/mcp/docsMcp.catalog.js +3 -381
- package/dist/application/mcp/docsMcp.data.js +1 -147
- package/dist/application/mcp/docsMcp.js +6 -1039
- package/dist/application/mcp/docsMcp.prompts.js +6 -521
- package/dist/application/mcp/docsMcp.reference.js +3 -235
- package/dist/application/mcp/docsMcp.resources.js +3 -519
- package/dist/application/mcp/docsMcp.tools.js +3 -518
- package/dist/application/mcp/index.js +13 -2106
- package/dist/application/mcp/internalMcp.js +2 -410
- package/dist/application/mcp/normalizeMcpRequest.js +1 -21
- package/dist/application/mcp/providerRankingMcp.js +1 -530
- package/dist/bundles/LibraryBundle.js +1 -138
- package/dist/bundles/index.js +1 -138
- package/dist/components/docs/DocsIndexPage.js +2 -912
- package/dist/components/docs/advanced/AdvancedMCPPage.js +4 -271
- package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -107
- package/dist/components/docs/advanced/AdvancedRenderersPage.js +2 -118
- package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -92
- package/dist/components/docs/advanced/AdvancedTelemetryPage.js +2 -373
- package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -99
- package/dist/components/docs/advanced/index.js +10 -1055
- package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +6 -243
- package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +3 -160
- package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -259
- package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -374
- package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -166
- package/dist/components/docs/architecture/ArchitectureOverviewPage.js +1 -143
- package/dist/components/docs/architecture/index.js +20 -1340
- package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -245
- package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -230
- package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -245
- package/dist/components/docs/comparison/ComparisonOverviewPage.js +1 -202
- package/dist/components/docs/comparison/ComparisonWindmillPage.js +1 -254
- package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -339
- package/dist/components/docs/comparison/index.js +1 -1510
- package/dist/components/docs/docsManifest.js +1 -611
- package/dist/components/docs/docsManifest.test.d.ts +1 -0
- package/dist/components/docs/ecosystem/IntegrationsPage.js +2 -103
- package/dist/components/docs/ecosystem/PluginsPage.js +13 -179
- package/dist/components/docs/ecosystem/RegistryPage.js +7 -100
- package/dist/components/docs/ecosystem/TemplatesPage.js +3 -141
- package/dist/components/docs/ecosystem/ecosystem.docblocks.js +2 -48
- package/dist/components/docs/ecosystem/index.js +23 -569
- package/dist/components/docs/examples/DocsExamplesPage.js +4 -124
- package/dist/components/docs/examples/ExampleShowcasePage.js +4 -244
- package/dist/components/docs/examples/exampleShowcaseData.js +4 -39
- package/dist/components/docs/examples/index.js +4 -330
- package/dist/components/docs/generated/docs-index.generated.js +1 -5
- package/dist/components/docs/generated/index.js +1 -74
- package/dist/components/docs/generated/loader.js +1 -74
- package/dist/components/docs/getting-started/CLIPage.js +4 -271
- package/dist/components/docs/getting-started/CompatibilityPage.js +1 -173
- package/dist/components/docs/getting-started/DataViewTutorialPage.js +4 -134
- package/dist/components/docs/getting-started/DeveloperToolsPage.js +1 -194
- package/dist/components/docs/getting-started/HelloWorldPage.js +5 -183
- package/dist/components/docs/getting-started/InstallationPage.js +3 -154
- package/dist/components/docs/getting-started/StartHerePage.js +2 -129
- package/dist/components/docs/getting-started/TroubleshootingPage.js +2 -168
- package/dist/components/docs/getting-started/VSCodeExtensionPage.js +1 -432
- package/dist/components/docs/getting-started/getting-started.docblocks.js +4 -41
- package/dist/components/docs/getting-started/index.js +18 -1869
- package/dist/components/docs/guides/GuideCIDiffGatingPage.js +2 -196
- package/dist/components/docs/guides/GuideConnectInRepoPage.d.ts +1 -0
- package/dist/components/docs/guides/GuideConnectInRepoPage.js +44 -0
- package/dist/components/docs/guides/GuideContractTypesPage.js +6 -541
- package/dist/components/docs/guides/GuideDocsPipelinePage.js +3 -207
- package/dist/components/docs/guides/GuideFirstModuleBundlePage.d.ts +1 -0
- package/dist/components/docs/guides/GuideFirstModuleBundlePage.js +76 -0
- package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -209
- package/dist/components/docs/guides/GuideHostBuilderWorkbenchPage.d.ts +1 -0
- package/dist/components/docs/guides/GuideHostBuilderWorkbenchPage.js +70 -0
- package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -754
- package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -268
- package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +4 -196
- package/dist/components/docs/guides/GuidesIndexPage.js +2 -169
- package/dist/components/docs/guides/guides.docblocks.js +11 -75
- package/dist/components/docs/guides/index.d.ts +3 -0
- package/dist/components/docs/guides/index.js +213 -2428
- package/dist/components/docs/index.js +542 -24310
- package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -42
- package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -105
- package/dist/components/docs/integrations/IntegrationsGithubPage.js +3 -142
- package/dist/components/docs/integrations/IntegrationsGmailPage.js +3 -109
- package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -79
- package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +3 -146
- package/dist/components/docs/integrations/IntegrationsMistralPage.js +5 -150
- package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +5 -140
- package/dist/components/docs/integrations/IntegrationsOverviewPage.js +1 -160
- package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +4 -218
- package/dist/components/docs/integrations/IntegrationsPowensPage.js +4 -300
- package/dist/components/docs/integrations/IntegrationsQdrantPage.js +5 -111
- package/dist/components/docs/integrations/IntegrationsResendPage.js +3 -102
- package/dist/components/docs/integrations/IntegrationsS3Page.js +4 -124
- package/dist/components/docs/integrations/IntegrationsSlackPage.js +3 -144
- package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +7 -290
- package/dist/components/docs/integrations/IntegrationsStripePage.js +6 -327
- package/dist/components/docs/integrations/IntegrationsTwilioPage.js +3 -128
- package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -146
- package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -156
- package/dist/components/docs/integrations/index.js +52 -3100
- package/dist/components/docs/intent/ContractFirstApiPage.js +2 -126
- package/dist/components/docs/intent/DeterministicCodegenPage.js +2 -148
- package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +7 -207
- package/dist/components/docs/intent/OpenapiAlternativePage.js +3 -201
- package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +4 -144
- package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -126
- package/dist/components/docs/intent/index.js +15 -1135
- package/dist/components/docs/intent/intent-pages.docblocks.js +1 -201
- package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +6 -750
- package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +4 -175
- package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +1 -116
- package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +8 -391
- package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +6 -302
- package/dist/components/docs/knowledge/index.js +21 -1730
- package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +3 -198
- package/dist/components/docs/libraries/LibrariesAiAgentPage.js +3 -141
- package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +4 -80
- package/dist/components/docs/libraries/LibrariesContentGenPage.js +2 -100
- package/dist/components/docs/libraries/LibrariesContractsPage.js +2 -284
- package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +3 -112
- package/dist/components/docs/libraries/LibrariesDataBackendPage.js +2 -166
- package/dist/components/docs/libraries/LibrariesDataViewsPage.js +3 -186
- package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +4 -279
- package/dist/components/docs/libraries/LibrariesEvolutionPage.js +4 -127
- package/dist/components/docs/libraries/LibrariesGraphQLPage.js +2 -173
- package/dist/components/docs/libraries/LibrariesGrowthPage.js +3 -88
- package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -108
- package/dist/components/docs/libraries/LibrariesObservabilityPage.js +5 -130
- package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -110
- package/dist/components/docs/libraries/LibrariesOverviewPage.js +1 -170
- package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +4 -114
- package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -132
- package/dist/components/docs/libraries/LibrariesResiliencePage.js +4 -120
- package/dist/components/docs/libraries/LibrariesRuntimePage.js +2 -200
- package/dist/components/docs/libraries/LibrariesSLOPage.js +3 -116
- package/dist/components/docs/libraries/LibrariesSchemaPage.js +3 -273
- package/dist/components/docs/libraries/LibrariesSupportBotPage.js +3 -134
- package/dist/components/docs/libraries/LibrariesTestingPage.js +3 -133
- package/dist/components/docs/libraries/LibrariesUIKitPage.js +2 -230
- package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -88
- package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +2 -181
- package/dist/components/docs/libraries/index.js +54 -4147
- package/dist/components/docs/manifesto/ManifestoPage.js +1 -86
- package/dist/components/docs/ops/AutoEvolutionOpsPage.js +2 -132
- package/dist/components/docs/ops/DistributedTracingOpsPage.js +2 -71
- package/dist/components/docs/ops/index.js +3 -202
- package/dist/components/docs/ops/ops-lifecycle.docblocks.js +3 -38
- package/dist/components/docs/ops/ops-runbooks-a.docblocks.js +3 -94
- package/dist/components/docs/ops/ops-runbooks-b.docblocks.js +3 -76
- package/dist/components/docs/ops/ops-slo-tenant.docblocks.js +3 -76
- package/dist/components/docs/ops/ops-top.docs.js +2 -17
- package/dist/components/docs/ops/ops.docs.js +10 -302
- package/dist/components/docs/product/product.docblocks.js +5 -72
- package/dist/components/docs/reference/DocsMarkdownContent.js +2 -196
- package/dist/components/docs/reference/DocsReferenceContent.js +3 -256
- package/dist/components/docs/reference/DocsReferenceIndexClient.js +2 -127
- package/dist/components/docs/reference/DocsReferenceIndexPage.js +2 -206
- package/dist/components/docs/reference/DocsReferencePage.js +3 -265
- package/dist/components/docs/reference/docsMarkdownParser.js +2 -92
- package/dist/components/docs/reference/index.js +4 -470
- package/dist/components/docs/safety/SafetyAuditingPage.js +2 -350
- package/dist/components/docs/safety/SafetyMigrationsPage.js +2 -359
- package/dist/components/docs/safety/SafetyOverviewPage.js +1 -101
- package/dist/components/docs/safety/SafetyPDPPage.js +2 -301
- package/dist/components/docs/safety/SafetySecurityTrustPage.js +1 -206
- package/dist/components/docs/safety/SafetySigningPage.js +3 -90
- package/dist/components/docs/safety/SafetyTenantIsolationPage.js +2 -79
- package/dist/components/docs/safety/index.js +7 -1480
- package/dist/components/docs/shared/StudioPrompt.js +1 -31
- package/dist/components/docs/specs/SpecsBuilderControlPlanePage.d.ts +1 -0
- package/dist/components/docs/specs/SpecsBuilderControlPlanePage.js +34 -0
- package/dist/components/docs/specs/SpecsCapabilitiesPage.js +2 -158
- package/dist/components/docs/specs/SpecsConnectPage.d.ts +1 -0
- package/dist/components/docs/specs/SpecsConnectPage.js +8 -0
- package/dist/components/docs/specs/SpecsDataViewsPage.js +2 -260
- package/dist/components/docs/specs/SpecsModuleBundlesPage.d.ts +1 -0
- package/dist/components/docs/specs/SpecsModuleBundlesPage.js +67 -0
- package/dist/components/docs/specs/SpecsOverlaysPage.js +2 -372
- package/dist/components/docs/specs/SpecsOverviewPage.js +1 -186
- package/dist/components/docs/specs/SpecsPolicyPage.js +3 -420
- package/dist/components/docs/specs/SpecsWorkflowsPage.js +2 -325
- package/dist/components/docs/specs/index.d.ts +3 -0
- package/dist/components/docs/specs/index.js +109 -1715
- package/dist/components/docs/studio/StudioBYOKPage.js +1 -26
- package/dist/components/docs/studio/StudioDeploymentsPage.js +1 -26
- package/dist/components/docs/studio/StudioGettingStartedPage.js +1 -26
- package/dist/components/docs/studio/StudioIntegrationsPage.js +1 -26
- package/dist/components/docs/studio/StudioOverviewPage.js +1 -157
- package/dist/components/docs/studio/StudioVisualBuilderPage.js +1 -26
- package/dist/components/docs/studio/index.js +1 -282
- package/dist/components/docs/tech/contracts/tech-docs.docblocks.js +2 -19
- package/dist/components/integrations/index.js +2 -600
- package/dist/components/integrations/molecules/IntegrationCard.js +1 -100
- package/dist/components/integrations/organisms/IntegrationMarketplace.js +1 -214
- package/dist/components/integrations/organisms/IntegrationSettings.js +2 -284
- package/dist/components/integrations/organisms/KnowledgeSourceList.js +1 -103
- package/dist/components/legal/PrivacyTemplate.js +1 -1025
- package/dist/components/legal/TermsTemplate.js +1 -941
- package/dist/components/legal/index.js +1 -1963
- package/dist/components/shared/FeatureGateNotice.js +1 -38
- package/dist/components/shared/index.js +1 -38
- package/dist/components/shell/WorkspaceHeader.js +1 -100
- package/dist/components/shell/WorkspaceProjectShellLayout.js +1 -222
- package/dist/components/shell/WorkspaceShellRenderer.js +1 -228
- package/dist/components/shell/WorkspaceSidebar.js +1 -68
- package/dist/components/shell/index.js +1 -287
- package/dist/components/templates/engine/index.js +1 -39
- package/dist/components/templates/index.js +11 -965
- package/dist/components/templates/messaging/ConversationList.js +2 -83
- package/dist/components/templates/messaging/MessageComposer.js +4 -150
- package/dist/components/templates/messaging/MessageThread.js +3 -83
- package/dist/components/templates/messaging/MessagingWorkspace.js +5 -265
- package/dist/components/templates/messaging/index.js +5 -269
- package/dist/components/templates/recipes/LanguageSwitcher.js +1 -16
- package/dist/components/templates/recipes/RecipeCard.js +1 -80
- package/dist/components/templates/recipes/RecipeDetail.js +1 -74
- package/dist/components/templates/recipes/RecipeList.js +3 -245
- package/dist/components/templates/recipes/index.js +3 -248
- package/dist/components/templates/todos/FilterBar.js +1 -107
- package/dist/components/templates/todos/TaskForm.js +2 -158
- package/dist/components/templates/todos/TaskItem.js +1 -77
- package/dist/components/templates/todos/TaskList.js +5 -449
- package/dist/components/templates/todos/index.js +5 -452
- package/dist/config/contractspec-blueprint.js +1 -123
- package/dist/config/contractspec-branding.js +1 -44
- package/dist/config/contractspec-routes.js +1 -24
- package/dist/config/index.js +1 -126
- package/dist/features/contracts-registry.js +1 -178
- package/dist/features/docs/docs.contracts.js +1 -17
- package/dist/features/docs/index.js +1 -17
- package/dist/features/docs.feature.js +1 -33
- package/dist/features/index.js +1 -315
- package/dist/features/mcp.feature.js +1 -30
- package/dist/features/presentations.feature.js +1 -33
- package/dist/features/registry.js +1 -116
- package/dist/index.js +556 -28593
- package/dist/infrastructure/elysia/index.js +1 -35
- package/dist/infrastructure/elysia/logger.js +1 -35
- package/dist/infrastructure/index.js +1 -35
- package/dist/libs/email/client.js +1 -114
- package/dist/libs/email/contact.js +12 -165
- package/dist/libs/email/newsletter.js +6 -167
- package/dist/libs/email/types.js +0 -2
- package/dist/libs/email/utils.js +2 -8
- package/dist/libs/email/waitlist-application.js +28 -209
- package/dist/libs/email/waitlist.js +6 -167
- package/dist/libs/email.js +46 -363
- package/dist/libs/posthog/client.js +1 -63
- package/dist/libs/posthog/native.js +1 -23
- package/dist/libs/posthog/server.js +1 -13
- package/dist/libs/pricing-examples.js +1 -18
- package/dist/node/application/context-storage/index.js +1 -28
- package/dist/node/application/index.js +13 -2133
- package/dist/node/application/mcp/cliMcp.js +4 -452
- package/dist/node/application/mcp/common.js +1 -193
- package/dist/node/application/mcp/contractsMcp.js +2 -549
- package/dist/node/application/mcp/contractsMcpResources.js +2 -123
- package/dist/node/application/mcp/contractsMcpTools.js +1 -199
- package/dist/node/application/mcp/docsMcp.catalog.js +3 -381
- package/dist/node/application/mcp/docsMcp.data.js +1 -147
- package/dist/node/application/mcp/docsMcp.js +6 -1039
- package/dist/node/application/mcp/docsMcp.prompts.js +6 -521
- package/dist/node/application/mcp/docsMcp.reference.js +3 -235
- package/dist/node/application/mcp/docsMcp.resources.js +3 -519
- package/dist/node/application/mcp/docsMcp.tools.js +3 -518
- package/dist/node/application/mcp/index.js +13 -2106
- package/dist/node/application/mcp/internalMcp.js +2 -410
- package/dist/node/application/mcp/normalizeMcpRequest.js +1 -21
- package/dist/node/application/mcp/providerRankingMcp.js +1 -530
- package/dist/node/bundles/LibraryBundle.js +1 -138
- package/dist/node/bundles/index.js +1 -138
- package/dist/node/components/docs/DocsIndexPage.js +2 -912
- package/dist/node/components/docs/advanced/AdvancedMCPPage.js +4 -271
- package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -107
- package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +2 -118
- package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -92
- package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +2 -373
- package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -99
- package/dist/node/components/docs/advanced/index.js +10 -1055
- package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +6 -243
- package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +3 -160
- package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -259
- package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -374
- package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -166
- package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +1 -143
- package/dist/node/components/docs/architecture/index.js +20 -1340
- package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -245
- package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -230
- package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -245
- package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +1 -202
- package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +1 -254
- package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -339
- package/dist/node/components/docs/comparison/index.js +1 -1510
- package/dist/node/components/docs/docsManifest.js +1 -611
- package/dist/node/components/docs/ecosystem/IntegrationsPage.js +2 -103
- package/dist/node/components/docs/ecosystem/PluginsPage.js +13 -179
- package/dist/node/components/docs/ecosystem/RegistryPage.js +7 -100
- package/dist/node/components/docs/ecosystem/TemplatesPage.js +3 -141
- package/dist/node/components/docs/ecosystem/ecosystem.docblocks.js +2 -48
- package/dist/node/components/docs/ecosystem/index.js +23 -569
- package/dist/node/components/docs/examples/DocsExamplesPage.js +4 -124
- package/dist/node/components/docs/examples/ExampleShowcasePage.js +4 -244
- package/dist/node/components/docs/examples/exampleShowcaseData.js +4 -39
- package/dist/node/components/docs/examples/index.js +4 -330
- package/dist/node/components/docs/generated/docs-index.generated.js +1 -5
- package/dist/node/components/docs/generated/index.js +1 -74
- package/dist/node/components/docs/generated/loader.js +1 -74
- package/dist/node/components/docs/getting-started/CLIPage.js +4 -271
- package/dist/node/components/docs/getting-started/CompatibilityPage.js +1 -173
- package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +4 -134
- package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +1 -194
- package/dist/node/components/docs/getting-started/HelloWorldPage.js +5 -183
- package/dist/node/components/docs/getting-started/InstallationPage.js +3 -154
- package/dist/node/components/docs/getting-started/StartHerePage.js +2 -129
- package/dist/node/components/docs/getting-started/TroubleshootingPage.js +2 -168
- package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +1 -432
- package/dist/node/components/docs/getting-started/getting-started.docblocks.js +4 -41
- package/dist/node/components/docs/getting-started/index.js +18 -1869
- package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +2 -196
- package/dist/node/components/docs/guides/GuideConnectInRepoPage.js +43 -0
- package/dist/node/components/docs/guides/GuideContractTypesPage.js +6 -541
- package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +3 -207
- package/dist/node/components/docs/guides/GuideFirstModuleBundlePage.js +75 -0
- package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -209
- package/dist/node/components/docs/guides/GuideHostBuilderWorkbenchPage.js +69 -0
- package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -754
- package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -268
- package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +4 -196
- package/dist/node/components/docs/guides/GuidesIndexPage.js +2 -169
- package/dist/node/components/docs/guides/guides.docblocks.js +11 -75
- package/dist/node/components/docs/guides/index.js +213 -2428
- package/dist/node/components/docs/index.js +542 -24310
- package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -42
- package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -105
- package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +3 -142
- package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +3 -109
- package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -79
- package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +3 -146
- package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +5 -150
- package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +5 -140
- package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +1 -160
- package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +4 -218
- package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +4 -300
- package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +5 -111
- package/dist/node/components/docs/integrations/IntegrationsResendPage.js +3 -102
- package/dist/node/components/docs/integrations/IntegrationsS3Page.js +4 -124
- package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +3 -144
- package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +7 -290
- package/dist/node/components/docs/integrations/IntegrationsStripePage.js +6 -327
- package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +3 -128
- package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -146
- package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -156
- package/dist/node/components/docs/integrations/index.js +52 -3100
- package/dist/node/components/docs/intent/ContractFirstApiPage.js +2 -126
- package/dist/node/components/docs/intent/DeterministicCodegenPage.js +2 -148
- package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +7 -207
- package/dist/node/components/docs/intent/OpenapiAlternativePage.js +3 -201
- package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +4 -144
- package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -126
- package/dist/node/components/docs/intent/index.js +15 -1135
- package/dist/node/components/docs/intent/intent-pages.docblocks.js +1 -201
- package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +6 -750
- package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +4 -175
- package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +1 -116
- package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +8 -391
- package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +6 -302
- package/dist/node/components/docs/knowledge/index.js +21 -1730
- package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +3 -198
- package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +3 -141
- package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +4 -80
- package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +2 -100
- package/dist/node/components/docs/libraries/LibrariesContractsPage.js +2 -284
- package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +3 -112
- package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +2 -166
- package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +3 -186
- package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +4 -279
- package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +4 -127
- package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +2 -173
- package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +3 -88
- package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -108
- package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +5 -130
- package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -110
- package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +1 -170
- package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +4 -114
- package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -132
- package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +4 -120
- package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +2 -200
- package/dist/node/components/docs/libraries/LibrariesSLOPage.js +3 -116
- package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +3 -273
- package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +3 -134
- package/dist/node/components/docs/libraries/LibrariesTestingPage.js +3 -133
- package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +2 -230
- package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -88
- package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +2 -181
- package/dist/node/components/docs/libraries/index.js +54 -4147
- package/dist/node/components/docs/manifesto/ManifestoPage.js +1 -86
- package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +2 -132
- package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +2 -71
- package/dist/node/components/docs/ops/index.js +3 -202
- package/dist/node/components/docs/ops/ops-lifecycle.docblocks.js +3 -38
- package/dist/node/components/docs/ops/ops-runbooks-a.docblocks.js +3 -94
- package/dist/node/components/docs/ops/ops-runbooks-b.docblocks.js +3 -76
- package/dist/node/components/docs/ops/ops-slo-tenant.docblocks.js +3 -76
- package/dist/node/components/docs/ops/ops-top.docs.js +2 -17
- package/dist/node/components/docs/ops/ops.docs.js +10 -302
- package/dist/node/components/docs/product/product.docblocks.js +5 -72
- package/dist/node/components/docs/reference/DocsMarkdownContent.js +2 -196
- package/dist/node/components/docs/reference/DocsReferenceContent.js +3 -256
- package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +2 -127
- package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +2 -206
- package/dist/node/components/docs/reference/DocsReferencePage.js +3 -265
- package/dist/node/components/docs/reference/docsMarkdownParser.js +2 -92
- package/dist/node/components/docs/reference/index.js +4 -470
- package/dist/node/components/docs/safety/SafetyAuditingPage.js +2 -350
- package/dist/node/components/docs/safety/SafetyMigrationsPage.js +2 -359
- package/dist/node/components/docs/safety/SafetyOverviewPage.js +1 -101
- package/dist/node/components/docs/safety/SafetyPDPPage.js +2 -301
- package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +1 -206
- package/dist/node/components/docs/safety/SafetySigningPage.js +3 -90
- package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +2 -79
- package/dist/node/components/docs/safety/index.js +7 -1480
- package/dist/node/components/docs/shared/StudioPrompt.js +1 -31
- package/dist/node/components/docs/specs/SpecsBuilderControlPlanePage.js +33 -0
- package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +2 -158
- package/dist/node/components/docs/specs/SpecsConnectPage.js +7 -0
- package/dist/node/components/docs/specs/SpecsDataViewsPage.js +2 -260
- package/dist/node/components/docs/specs/SpecsModuleBundlesPage.js +66 -0
- package/dist/node/components/docs/specs/SpecsOverlaysPage.js +2 -372
- package/dist/node/components/docs/specs/SpecsOverviewPage.js +1 -186
- package/dist/node/components/docs/specs/SpecsPolicyPage.js +3 -420
- package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +2 -325
- package/dist/node/components/docs/specs/index.js +109 -1715
- package/dist/node/components/docs/studio/StudioBYOKPage.js +1 -26
- package/dist/node/components/docs/studio/StudioDeploymentsPage.js +1 -26
- package/dist/node/components/docs/studio/StudioGettingStartedPage.js +1 -26
- package/dist/node/components/docs/studio/StudioIntegrationsPage.js +1 -26
- package/dist/node/components/docs/studio/StudioOverviewPage.js +1 -157
- package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +1 -26
- package/dist/node/components/docs/studio/index.js +1 -282
- package/dist/node/components/docs/tech/contracts/tech-docs.docblocks.js +2 -19
- package/dist/node/components/integrations/index.js +2 -600
- package/dist/node/components/integrations/molecules/IntegrationCard.js +1 -100
- package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +1 -214
- package/dist/node/components/integrations/organisms/IntegrationSettings.js +2 -284
- package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +1 -103
- package/dist/node/components/legal/PrivacyTemplate.js +1 -1025
- package/dist/node/components/legal/TermsTemplate.js +1 -941
- package/dist/node/components/legal/index.js +1 -1963
- package/dist/node/components/shared/FeatureGateNotice.js +1 -38
- package/dist/node/components/shared/index.js +1 -38
- package/dist/node/components/shell/WorkspaceHeader.js +1 -100
- package/dist/node/components/shell/WorkspaceProjectShellLayout.js +1 -222
- package/dist/node/components/shell/WorkspaceShellRenderer.js +1 -228
- package/dist/node/components/shell/WorkspaceSidebar.js +1 -68
- package/dist/node/components/shell/index.js +1 -287
- package/dist/node/components/templates/engine/index.js +1 -39
- package/dist/node/components/templates/index.js +11 -965
- package/dist/node/components/templates/messaging/ConversationList.js +2 -83
- package/dist/node/components/templates/messaging/MessageComposer.js +4 -150
- package/dist/node/components/templates/messaging/MessageThread.js +3 -83
- package/dist/node/components/templates/messaging/MessagingWorkspace.js +5 -265
- package/dist/node/components/templates/messaging/index.js +5 -269
- package/dist/node/components/templates/recipes/LanguageSwitcher.js +1 -16
- package/dist/node/components/templates/recipes/RecipeCard.js +1 -80
- package/dist/node/components/templates/recipes/RecipeDetail.js +1 -74
- package/dist/node/components/templates/recipes/RecipeList.js +3 -245
- package/dist/node/components/templates/recipes/index.js +3 -248
- package/dist/node/components/templates/todos/FilterBar.js +1 -107
- package/dist/node/components/templates/todos/TaskForm.js +2 -158
- package/dist/node/components/templates/todos/TaskItem.js +1 -77
- package/dist/node/components/templates/todos/TaskList.js +5 -449
- package/dist/node/components/templates/todos/index.js +5 -452
- package/dist/node/config/contractspec-blueprint.js +1 -123
- package/dist/node/config/contractspec-branding.js +1 -44
- package/dist/node/config/contractspec-routes.js +1 -24
- package/dist/node/config/index.js +1 -126
- package/dist/node/features/contracts-registry.js +1 -178
- package/dist/node/features/docs/docs.contracts.js +1 -17
- package/dist/node/features/docs/index.js +1 -17
- package/dist/node/features/docs.feature.js +1 -33
- package/dist/node/features/index.js +1 -315
- package/dist/node/features/mcp.feature.js +1 -30
- package/dist/node/features/presentations.feature.js +1 -33
- package/dist/node/features/registry.js +1 -116
- package/dist/node/index.js +556 -28593
- package/dist/node/infrastructure/elysia/index.js +1 -35
- package/dist/node/infrastructure/elysia/logger.js +1 -35
- package/dist/node/infrastructure/index.js +1 -35
- package/dist/node/libs/email/client.js +1 -114
- package/dist/node/libs/email/contact.js +12 -165
- package/dist/node/libs/email/newsletter.js +6 -167
- package/dist/node/libs/email/types.js +0 -2
- package/dist/node/libs/email/utils.js +2 -8
- package/dist/node/libs/email/waitlist-application.js +28 -209
- package/dist/node/libs/email/waitlist.js +6 -167
- package/dist/node/libs/email.js +46 -363
- package/dist/node/libs/posthog/client.js +1 -63
- package/dist/node/libs/posthog/native.js +1 -23
- package/dist/node/libs/posthog/server.js +1 -13
- package/dist/node/libs/pricing-examples.js +1 -18
- package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -97
- package/dist/node/presentation/features/atoms/FeatureIcon/index.js +1 -97
- package/dist/node/presentation/features/atoms/index.js +1 -97
- package/dist/node/presentation/features/hooks/index.js +1 -397
- package/dist/node/presentation/features/hooks/useContractsRegistry.js +1 -289
- package/dist/node/presentation/features/hooks/useFeatureFilters.js +1 -75
- package/dist/node/presentation/features/hooks/useFeatureRegistry.js +1 -147
- package/dist/node/presentation/features/hooks/useRelatedDocs.js +1 -28
- package/dist/node/presentation/features/index.js +1 -3063
- package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -366
- package/dist/node/presentation/features/molecules/FeatureCard/index.js +1 -366
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -50
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -50
- package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -92
- package/dist/node/presentation/features/molecules/FeatureFilters/index.js +1 -92
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -176
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +1 -176
- package/dist/node/presentation/features/molecules/index.js +1 -505
- package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +1 -304
- package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -154
- package/dist/node/presentation/features/organisms/FeatureDetail/index.js +1 -154
- package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -909
- package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +1 -909
- package/dist/node/presentation/features/organisms/FeatureEventsList.js +1 -302
- package/dist/node/presentation/features/organisms/FeatureFormsList.js +1 -302
- package/dist/node/presentation/features/organisms/FeatureOperationsList.js +1 -180
- package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +1 -304
- package/dist/node/presentation/features/organisms/index.js +1 -1359
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -332
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -332
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -342
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -342
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -303
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -303
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -340
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +1 -340
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -329
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -329
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -340
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +1 -340
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -302
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -302
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -218
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -218
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -187
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -187
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -306
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -306
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -342
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -342
- package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -97
- package/dist/presentation/features/atoms/FeatureIcon/index.js +1 -97
- package/dist/presentation/features/atoms/index.js +1 -97
- package/dist/presentation/features/hooks/index.js +1 -397
- package/dist/presentation/features/hooks/useContractsRegistry.js +1 -289
- package/dist/presentation/features/hooks/useFeatureFilters.js +1 -75
- package/dist/presentation/features/hooks/useFeatureRegistry.js +1 -147
- package/dist/presentation/features/hooks/useRelatedDocs.js +1 -28
- package/dist/presentation/features/index.js +1 -3063
- package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -366
- package/dist/presentation/features/molecules/FeatureCard/index.js +1 -366
- package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -50
- package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -50
- package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -92
- package/dist/presentation/features/molecules/FeatureFilters/index.js +1 -92
- package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -176
- package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +1 -176
- package/dist/presentation/features/molecules/index.js +1 -505
- package/dist/presentation/features/organisms/FeatureDataViewsList.js +1 -304
- package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -154
- package/dist/presentation/features/organisms/FeatureDetail/index.js +1 -154
- package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -909
- package/dist/presentation/features/organisms/FeatureDiscovery/index.js +1 -909
- package/dist/presentation/features/organisms/FeatureEventsList.js +1 -302
- package/dist/presentation/features/organisms/FeatureFormsList.js +1 -302
- package/dist/presentation/features/organisms/FeatureOperationsList.js +1 -180
- package/dist/presentation/features/organisms/FeaturePresentationsList.js +1 -304
- package/dist/presentation/features/organisms/index.js +1 -1359
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -332
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -332
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -342
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -342
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -303
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -303
- package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -340
- package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +1 -340
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -329
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -329
- package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -340
- package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +1 -340
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -302
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -302
- package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -218
- package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -218
- package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -187
- package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -187
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -306
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -306
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -342
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -342
- package/package.json +103 -31
- package/src/components/docs/DocsIndexPage.tsx +55 -0
- package/src/components/docs/architecture/ArchitectureControlPlanePage.tsx +19 -0
- package/src/components/docs/architecture/ArchitectureOverviewPage.tsx +34 -0
- package/src/components/docs/docsManifest.test.ts +70 -0
- package/src/components/docs/docsManifest.ts +71 -1
- package/src/components/docs/ecosystem/PluginsPage.tsx +24 -10
- package/src/components/docs/ecosystem/RegistryPage.tsx +11 -6
- package/src/components/docs/generated/docs-index._common.json +206 -273
- package/src/components/docs/generated/docs-index.control-plane.json +18 -0
- package/src/components/docs/generated/docs-index.defineExample.json +10 -0
- package/src/components/docs/generated/docs-index.manifest.json +22 -12
- package/src/components/docs/generated/docs-index.platform-acp.json +64 -0
- package/src/components/docs/generated/docs-index.platform-agent.json +89 -1
- package/src/components/docs/generated/docs-index.platform-context.json +48 -0
- package/src/components/docs/generated/docs-index.platform-control-plane.json +72 -0
- package/src/components/docs/generated/docs-index.platform-database.json +40 -0
- package/src/components/docs/generated/docs-index.platform-docs.json +64 -0
- package/src/components/docs/generated/docs-index.platform-provider-ranking.json +89 -1
- package/src/components/docs/generated/docs-index.pocket-family-office.json +8 -0
- package/src/components/docs/generated/docs-index.unknown.json +8 -0
- package/src/components/docs/guides/GuideConnectInRepoPage.tsx +184 -0
- package/src/components/docs/guides/GuideFirstModuleBundlePage.tsx +182 -0
- package/src/components/docs/guides/GuideHostBuilderWorkbenchPage.tsx +230 -0
- package/src/components/docs/guides/GuidesIndexPage.tsx +21 -0
- package/src/components/docs/guides/index.ts +3 -0
- package/src/components/docs/specs/SpecsBuilderControlPlanePage.tsx +210 -0
- package/src/components/docs/specs/SpecsConnectPage.tsx +162 -0
- package/src/components/docs/specs/SpecsModuleBundlesPage.tsx +223 -0
- package/src/components/docs/specs/SpecsOverlaysPage.tsx +20 -0
- package/src/components/docs/specs/SpecsOverviewPage.tsx +44 -0
- package/src/components/docs/specs/index.ts +3 -0
- package/src/components/docs/studio/StudioOverviewPage.tsx +26 -0
- package/src/infrastructure/elysia/logger.ts +11 -3
|
@@ -1,132 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import Link from "@contractspec/lib.ui-link";
|
|
3
|
-
import { ChevronRight } from "lucide-react";
|
|
4
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
-
function SpecsOverlaysPage() {
|
|
6
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
7
|
-
className: "space-y-8",
|
|
8
|
-
children: [
|
|
9
|
-
/* @__PURE__ */ jsxs("div", {
|
|
10
|
-
className: "space-y-4",
|
|
11
|
-
children: [
|
|
12
|
-
/* @__PURE__ */ jsx("h1", {
|
|
13
|
-
className: "font-bold text-4xl",
|
|
14
|
-
children: "Overlays"
|
|
15
|
-
}),
|
|
16
|
-
/* @__PURE__ */ jsxs("p", {
|
|
17
|
-
className: "text-muted-foreground",
|
|
18
|
-
children: [
|
|
19
|
-
"An ",
|
|
20
|
-
/* @__PURE__ */ jsx("strong", {
|
|
21
|
-
children: "OverlaySpec"
|
|
22
|
-
}),
|
|
23
|
-
" allows tenants or users to customize UI layouts and field visibility without modifying the underlying application code. Overlays are cryptographically signed to ensure they respect policy boundaries and cannot introduce security vulnerabilities."
|
|
24
|
-
]
|
|
25
|
-
})
|
|
26
|
-
]
|
|
27
|
-
}),
|
|
28
|
-
/* @__PURE__ */ jsxs("div", {
|
|
29
|
-
className: "space-y-4",
|
|
30
|
-
children: [
|
|
31
|
-
/* @__PURE__ */ jsx("h2", {
|
|
32
|
-
className: "font-bold text-2xl",
|
|
33
|
-
children: "Why overlays matter"
|
|
34
|
-
}),
|
|
35
|
-
/* @__PURE__ */ jsx("p", {
|
|
36
|
-
className: "text-muted-foreground",
|
|
37
|
-
children: "Different users have different needs. A power user might want to see all available fields and actions, while a casual user prefers a simplified interface. A tenant in a multi-tenant application might want to brand the UI or hide features they don't use."
|
|
38
|
-
}),
|
|
39
|
-
/* @__PURE__ */ jsx("p", {
|
|
40
|
-
className: "text-muted-foreground",
|
|
41
|
-
children: "Traditional approaches require either building multiple UIs or adding complex configuration logic throughout the codebase. OverlaySpecs provide a safer, more maintainable solution: users can customize their experience, but only within the bounds allowed by the underlying specs and policies."
|
|
42
|
-
})
|
|
43
|
-
]
|
|
44
|
-
}),
|
|
45
|
-
/* @__PURE__ */ jsxs("div", {
|
|
46
|
-
className: "space-y-4",
|
|
47
|
-
children: [
|
|
48
|
-
/* @__PURE__ */ jsx("h2", {
|
|
49
|
-
className: "font-bold text-2xl",
|
|
50
|
-
children: "What overlays can do"
|
|
51
|
-
}),
|
|
52
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
53
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
54
|
-
children: [
|
|
55
|
-
/* @__PURE__ */ jsxs("li", {
|
|
56
|
-
children: [
|
|
57
|
-
/* @__PURE__ */ jsx("strong", {
|
|
58
|
-
children: "Hide or show fields"
|
|
59
|
-
}),
|
|
60
|
-
" – Remove fields from forms or detail views (but only if the user has permission to see them in the first place)"
|
|
61
|
-
]
|
|
62
|
-
}),
|
|
63
|
-
/* @__PURE__ */ jsxs("li", {
|
|
64
|
-
children: [
|
|
65
|
-
/* @__PURE__ */ jsx("strong", {
|
|
66
|
-
children: "Reorder fields"
|
|
67
|
-
}),
|
|
68
|
-
" – Change the order in which fields appear"
|
|
69
|
-
]
|
|
70
|
-
}),
|
|
71
|
-
/* @__PURE__ */ jsxs("li", {
|
|
72
|
-
children: [
|
|
73
|
-
/* @__PURE__ */ jsx("strong", {
|
|
74
|
-
children: "Rename labels"
|
|
75
|
-
}),
|
|
76
|
-
" – Use different terminology that's more familiar to the user"
|
|
77
|
-
]
|
|
78
|
-
}),
|
|
79
|
-
/* @__PURE__ */ jsxs("li", {
|
|
80
|
-
children: [
|
|
81
|
-
/* @__PURE__ */ jsx("strong", {
|
|
82
|
-
children: "Change layouts"
|
|
83
|
-
}),
|
|
84
|
-
" – Switch between list, grid, or card views"
|
|
85
|
-
]
|
|
86
|
-
}),
|
|
87
|
-
/* @__PURE__ */ jsxs("li", {
|
|
88
|
-
children: [
|
|
89
|
-
/* @__PURE__ */ jsx("strong", {
|
|
90
|
-
children: "Add help text"
|
|
91
|
-
}),
|
|
92
|
-
" – Provide context-specific guidance"
|
|
93
|
-
]
|
|
94
|
-
}),
|
|
95
|
-
/* @__PURE__ */ jsxs("li", {
|
|
96
|
-
children: [
|
|
97
|
-
/* @__PURE__ */ jsx("strong", {
|
|
98
|
-
children: "Set default values"
|
|
99
|
-
}),
|
|
100
|
-
" – Pre-fill forms with tenant-specific defaults"
|
|
101
|
-
]
|
|
102
|
-
}),
|
|
103
|
-
/* @__PURE__ */ jsxs("li", {
|
|
104
|
-
children: [
|
|
105
|
-
/* @__PURE__ */ jsx("strong", {
|
|
106
|
-
children: "Apply branding"
|
|
107
|
-
}),
|
|
108
|
-
" – Customize colors, logos, and styling (within approved themes)"
|
|
109
|
-
]
|
|
110
|
-
})
|
|
111
|
-
]
|
|
112
|
-
})
|
|
113
|
-
]
|
|
114
|
-
}),
|
|
115
|
-
/* @__PURE__ */ jsxs("div", {
|
|
116
|
-
className: "space-y-4",
|
|
117
|
-
children: [
|
|
118
|
-
/* @__PURE__ */ jsx("h2", {
|
|
119
|
-
className: "font-bold text-2xl",
|
|
120
|
-
children: "Example OverlaySpec"
|
|
121
|
-
}),
|
|
122
|
-
/* @__PURE__ */ jsx("p", {
|
|
123
|
-
className: "text-muted-foreground",
|
|
124
|
-
children: "Here's an overlay that customizes an order form:"
|
|
125
|
-
}),
|
|
126
|
-
/* @__PURE__ */ jsx("div", {
|
|
127
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
128
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
129
|
-
children: `overlayId: acme-order-form
|
|
1
|
+
import B from"@contractspec/lib.ui-link";import{ChevronRight as D}from"lucide-react";import{jsx as q,jsxs as A}from"react/jsx-runtime";function G(){return A("div",{className:"space-y-8",children:[A("div",{className:"space-y-4",children:[q("h1",{className:"font-bold text-4xl",children:"Overlays"}),A("p",{className:"text-muted-foreground",children:["An ",q("strong",{children:"OverlaySpec"})," allows tenants or users to customize UI layouts and field visibility without modifying the underlying application code. Overlays are cryptographically signed to ensure they respect policy boundaries and cannot introduce security vulnerabilities."]})]}),A("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Why overlays matter"}),q("p",{className:"text-muted-foreground",children:"Different users have different needs. A power user might want to see all available fields and actions, while a casual user prefers a simplified interface. A tenant in a multi-tenant application might want to brand the UI or hide features they don't use."}),q("p",{className:"text-muted-foreground",children:"Traditional approaches require either building multiple UIs or adding complex configuration logic throughout the codebase. OverlaySpecs provide a safer, more maintainable solution: users can customize their experience, but only within the bounds allowed by the underlying specs and policies."})]}),A("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"What overlays can do"}),A("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[A("li",{children:[q("strong",{children:"Hide or show fields"})," – Remove fields from forms or detail views (but only if the user has permission to see them in the first place)"]}),A("li",{children:[q("strong",{children:"Reorder fields"})," – Change the order in which fields appear"]}),A("li",{children:[q("strong",{children:"Rename labels"})," – Use different terminology that's more familiar to the user"]}),A("li",{children:[q("strong",{children:"Change layouts"})," – Switch between list, grid, or card views"]}),A("li",{children:[q("strong",{children:"Add help text"})," – Provide context-specific guidance"]}),A("li",{children:[q("strong",{children:"Set default values"})," – Pre-fill forms with tenant-specific defaults"]}),A("li",{children:[q("strong",{children:"Apply branding"})," – Customize colors, logos, and styling (within approved themes)"]})]})]}),A("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Example OverlaySpec"}),q("p",{className:"text-muted-foreground",children:"Here's an overlay that customizes an order form:"}),q("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:q("pre",{children:`overlayId: acme-order-form
|
|
130
2
|
version: '1.0.0'.0.0
|
|
131
3
|
appliesTo:
|
|
132
4
|
capability: createOrder
|
|
@@ -163,246 +35,4 @@ modifications:
|
|
|
163
35
|
signature:
|
|
164
36
|
algorithm: EdDSA
|
|
165
37
|
publicKey: "acme-corp-overlay-key"
|
|
166
|
-
signature: "base64-encoded-signature"`
|
|
167
|
-
})
|
|
168
|
-
})
|
|
169
|
-
]
|
|
170
|
-
}),
|
|
171
|
-
/* @__PURE__ */ jsxs("div", {
|
|
172
|
-
className: "space-y-4",
|
|
173
|
-
children: [
|
|
174
|
-
/* @__PURE__ */ jsx("h2", {
|
|
175
|
-
className: "font-bold text-2xl",
|
|
176
|
-
children: "Safety guarantees"
|
|
177
|
-
}),
|
|
178
|
-
/* @__PURE__ */ jsx("p", {
|
|
179
|
-
className: "text-muted-foreground",
|
|
180
|
-
children: "Overlays are powerful, but they must not compromise security or data integrity. ContractSpec enforces several guarantees:"
|
|
181
|
-
}),
|
|
182
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
183
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
184
|
-
children: [
|
|
185
|
-
/* @__PURE__ */ jsxs("li", {
|
|
186
|
-
children: [
|
|
187
|
-
/* @__PURE__ */ jsx("strong", {
|
|
188
|
-
children: "Overlays cannot grant new permissions"
|
|
189
|
-
}),
|
|
190
|
-
" – They can only hide or rearrange what the user is already allowed to see"
|
|
191
|
-
]
|
|
192
|
-
}),
|
|
193
|
-
/* @__PURE__ */ jsxs("li", {
|
|
194
|
-
children: [
|
|
195
|
-
/* @__PURE__ */ jsx("strong", {
|
|
196
|
-
children: "Overlays cannot bypass validation"
|
|
197
|
-
}),
|
|
198
|
-
" – Field types, constraints, and business rules from the underlying spec still apply"
|
|
199
|
-
]
|
|
200
|
-
}),
|
|
201
|
-
/* @__PURE__ */ jsxs("li", {
|
|
202
|
-
children: [
|
|
203
|
-
/* @__PURE__ */ jsx("strong", {
|
|
204
|
-
children: "Overlays must be signed"
|
|
205
|
-
}),
|
|
206
|
-
" – Only authorized parties (typically tenant admins) can create overlays"
|
|
207
|
-
]
|
|
208
|
-
}),
|
|
209
|
-
/* @__PURE__ */ jsxs("li", {
|
|
210
|
-
children: [
|
|
211
|
-
/* @__PURE__ */ jsx("strong", {
|
|
212
|
-
children: "Overlays are versioned"
|
|
213
|
-
}),
|
|
214
|
-
" – Changes to overlays are tracked and can be rolled back"
|
|
215
|
-
]
|
|
216
|
-
}),
|
|
217
|
-
/* @__PURE__ */ jsxs("li", {
|
|
218
|
-
children: [
|
|
219
|
-
/* @__PURE__ */ jsx("strong", {
|
|
220
|
-
children: "Overlays are audited"
|
|
221
|
-
}),
|
|
222
|
-
" – Every overlay application is logged"
|
|
223
|
-
]
|
|
224
|
-
})
|
|
225
|
-
]
|
|
226
|
-
})
|
|
227
|
-
]
|
|
228
|
-
}),
|
|
229
|
-
/* @__PURE__ */ jsxs("div", {
|
|
230
|
-
className: "space-y-4",
|
|
231
|
-
children: [
|
|
232
|
-
/* @__PURE__ */ jsx("h2", {
|
|
233
|
-
className: "font-bold text-2xl",
|
|
234
|
-
children: "Creating overlays"
|
|
235
|
-
}),
|
|
236
|
-
/* @__PURE__ */ jsx("p", {
|
|
237
|
-
className: "text-muted-foreground",
|
|
238
|
-
children: "Overlays can be created through:"
|
|
239
|
-
}),
|
|
240
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
241
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
242
|
-
children: [
|
|
243
|
-
/* @__PURE__ */ jsxs("li", {
|
|
244
|
-
children: [
|
|
245
|
-
/* @__PURE__ */ jsx("strong", {
|
|
246
|
-
children: "Visual editor"
|
|
247
|
-
}),
|
|
248
|
-
" – A drag-and-drop interface for non-technical users"
|
|
249
|
-
]
|
|
250
|
-
}),
|
|
251
|
-
/* @__PURE__ */ jsxs("li", {
|
|
252
|
-
children: [
|
|
253
|
-
/* @__PURE__ */ jsx("strong", {
|
|
254
|
-
children: "TypeScript/JSON"
|
|
255
|
-
}),
|
|
256
|
-
" – For developers who prefer code"
|
|
257
|
-
]
|
|
258
|
-
}),
|
|
259
|
-
/* @__PURE__ */ jsxs("li", {
|
|
260
|
-
children: [
|
|
261
|
-
/* @__PURE__ */ jsx("strong", {
|
|
262
|
-
children: "API"
|
|
263
|
-
}),
|
|
264
|
-
" – Programmatically create overlays for automation"
|
|
265
|
-
]
|
|
266
|
-
})
|
|
267
|
-
]
|
|
268
|
-
}),
|
|
269
|
-
/* @__PURE__ */ jsx("p", {
|
|
270
|
-
className: "text-muted-foreground",
|
|
271
|
-
children: "Once created, overlays must be signed using a private key. The corresponding public key is registered with ContractSpec, which verifies the signature before applying the overlay."
|
|
272
|
-
}),
|
|
273
|
-
/* @__PURE__ */ jsxs("p", {
|
|
274
|
-
className: "text-muted-foreground",
|
|
275
|
-
children: [
|
|
276
|
-
"See",
|
|
277
|
-
" ",
|
|
278
|
-
/* @__PURE__ */ jsx(Link, {
|
|
279
|
-
href: "/docs/libraries/overlay-engine",
|
|
280
|
-
className: "text-violet-400 underline",
|
|
281
|
-
children: "Overlay Engine docs"
|
|
282
|
-
}),
|
|
283
|
-
" ",
|
|
284
|
-
"and the",
|
|
285
|
-
" ",
|
|
286
|
-
/* @__PURE__ */ jsx(Link, {
|
|
287
|
-
href: "/docs/advanced/overlay-editor",
|
|
288
|
-
className: "text-violet-400 underline",
|
|
289
|
-
children: "Overlay Editor guide"
|
|
290
|
-
}),
|
|
291
|
-
" ",
|
|
292
|
-
"for end-to-end workflows."
|
|
293
|
-
]
|
|
294
|
-
})
|
|
295
|
-
]
|
|
296
|
-
}),
|
|
297
|
-
/* @__PURE__ */ jsxs("div", {
|
|
298
|
-
className: "space-y-4",
|
|
299
|
-
children: [
|
|
300
|
-
/* @__PURE__ */ jsx("h2", {
|
|
301
|
-
className: "font-bold text-2xl",
|
|
302
|
-
children: "Overlay scope"
|
|
303
|
-
}),
|
|
304
|
-
/* @__PURE__ */ jsx("p", {
|
|
305
|
-
className: "text-muted-foreground",
|
|
306
|
-
children: "Overlays can be scoped to:"
|
|
307
|
-
}),
|
|
308
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
309
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
310
|
-
children: [
|
|
311
|
-
/* @__PURE__ */ jsxs("li", {
|
|
312
|
-
children: [
|
|
313
|
-
/* @__PURE__ */ jsx("strong", {
|
|
314
|
-
children: "Tenant"
|
|
315
|
-
}),
|
|
316
|
-
" – All users in a tenant see the same overlay"
|
|
317
|
-
]
|
|
318
|
-
}),
|
|
319
|
-
/* @__PURE__ */ jsxs("li", {
|
|
320
|
-
children: [
|
|
321
|
-
/* @__PURE__ */ jsx("strong", {
|
|
322
|
-
children: "User"
|
|
323
|
-
}),
|
|
324
|
-
" – Individual users can have personal overlays"
|
|
325
|
-
]
|
|
326
|
-
}),
|
|
327
|
-
/* @__PURE__ */ jsxs("li", {
|
|
328
|
-
children: [
|
|
329
|
-
/* @__PURE__ */ jsx("strong", {
|
|
330
|
-
children: "Role"
|
|
331
|
-
}),
|
|
332
|
-
" – All users with a specific role see the overlay"
|
|
333
|
-
]
|
|
334
|
-
}),
|
|
335
|
-
/* @__PURE__ */ jsxs("li", {
|
|
336
|
-
children: [
|
|
337
|
-
/* @__PURE__ */ jsx("strong", {
|
|
338
|
-
children: "Device"
|
|
339
|
-
}),
|
|
340
|
-
" – Different overlays for mobile vs desktop"
|
|
341
|
-
]
|
|
342
|
-
})
|
|
343
|
-
]
|
|
344
|
-
}),
|
|
345
|
-
/* @__PURE__ */ jsx("p", {
|
|
346
|
-
className: "text-muted-foreground",
|
|
347
|
-
children: "If multiple overlays apply to the same user, they are merged in order of specificity (user overlays override role overlays, which override tenant overlays)."
|
|
348
|
-
})
|
|
349
|
-
]
|
|
350
|
-
}),
|
|
351
|
-
/* @__PURE__ */ jsxs("div", {
|
|
352
|
-
className: "space-y-4",
|
|
353
|
-
children: [
|
|
354
|
-
/* @__PURE__ */ jsx("h2", {
|
|
355
|
-
className: "font-bold text-2xl",
|
|
356
|
-
children: "Best practices"
|
|
357
|
-
}),
|
|
358
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
359
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
360
|
-
children: [
|
|
361
|
-
/* @__PURE__ */ jsx("li", {
|
|
362
|
-
children: "Start with the default UI and only create overlays when users request specific changes."
|
|
363
|
-
}),
|
|
364
|
-
/* @__PURE__ */ jsx("li", {
|
|
365
|
-
children: "Document why each overlay modification was made—this helps when reviewing or updating overlays."
|
|
366
|
-
}),
|
|
367
|
-
/* @__PURE__ */ jsx("li", {
|
|
368
|
-
children: "Test overlays thoroughly to ensure they don't break workflows or confuse users."
|
|
369
|
-
}),
|
|
370
|
-
/* @__PURE__ */ jsx("li", {
|
|
371
|
-
children: "Use tenant-level overlays for organizational customizations and user-level overlays for personal preferences."
|
|
372
|
-
}),
|
|
373
|
-
/* @__PURE__ */ jsx("li", {
|
|
374
|
-
children: "Regularly review overlays to remove ones that are no longer needed."
|
|
375
|
-
}),
|
|
376
|
-
/* @__PURE__ */ jsx("li", {
|
|
377
|
-
children: "Protect overlay signing keys carefully—they control what customizations are allowed."
|
|
378
|
-
})
|
|
379
|
-
]
|
|
380
|
-
})
|
|
381
|
-
]
|
|
382
|
-
}),
|
|
383
|
-
/* @__PURE__ */ jsxs("div", {
|
|
384
|
-
className: "flex items-center gap-4 pt-4",
|
|
385
|
-
children: [
|
|
386
|
-
/* @__PURE__ */ jsx(Link, {
|
|
387
|
-
href: "/docs/specs/policy",
|
|
388
|
-
className: "btn-ghost",
|
|
389
|
-
children: "Previous: Policy"
|
|
390
|
-
}),
|
|
391
|
-
/* @__PURE__ */ jsxs(Link, {
|
|
392
|
-
href: "/docs/safety",
|
|
393
|
-
className: "btn-primary",
|
|
394
|
-
children: [
|
|
395
|
-
"Next: Safety ",
|
|
396
|
-
/* @__PURE__ */ jsx(ChevronRight, {
|
|
397
|
-
size: 16
|
|
398
|
-
})
|
|
399
|
-
]
|
|
400
|
-
})
|
|
401
|
-
]
|
|
402
|
-
})
|
|
403
|
-
]
|
|
404
|
-
});
|
|
405
|
-
}
|
|
406
|
-
export {
|
|
407
|
-
SpecsOverlaysPage
|
|
408
|
-
};
|
|
38
|
+
signature: "base64-encoded-signature"`})})]}),A("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Safety guarantees"}),q("p",{className:"text-muted-foreground",children:"Overlays are powerful, but they must not compromise security or data integrity. ContractSpec enforces several guarantees:"}),A("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[A("li",{children:[q("strong",{children:"Overlays cannot grant new permissions"})," – They can only hide or rearrange what the user is already allowed to see"]}),A("li",{children:[q("strong",{children:"Overlays cannot bypass validation"})," – Field types, constraints, and business rules from the underlying spec still apply"]}),A("li",{children:[q("strong",{children:"Overlays must be signed"})," – Only authorized parties (typically tenant admins) can create overlays"]}),A("li",{children:[q("strong",{children:"Overlays are versioned"})," – Changes to overlays are tracked and can be rolled back"]}),A("li",{children:[q("strong",{children:"Overlays are audited"})," – Every overlay application is logged"]})]})]}),A("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Creating overlays"}),q("p",{className:"text-muted-foreground",children:"Overlays can be created through:"}),A("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[A("li",{children:[q("strong",{children:"Visual editor"})," – A drag-and-drop interface for non-technical users"]}),A("li",{children:[q("strong",{children:"TypeScript/JSON"})," – For developers who prefer code"]}),A("li",{children:[q("strong",{children:"API"})," – Programmatically create overlays for automation"]})]}),q("p",{className:"text-muted-foreground",children:"Once created, overlays must be signed using a private key. The corresponding public key is registered with ContractSpec, which verifies the signature before applying the overlay."}),A("p",{className:"text-muted-foreground",children:["See"," ",q(B,{href:"/docs/libraries/overlay-engine",className:"text-violet-400 underline",children:"Overlay Engine docs"})," ","and the"," ",q(B,{href:"/docs/advanced/overlay-editor",className:"text-violet-400 underline",children:"Overlay Editor guide"})," ","for end-to-end workflows."]})]}),A("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Overlay scope"}),q("p",{className:"text-muted-foreground",children:"Overlays can be scoped to:"}),A("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[A("li",{children:[q("strong",{children:"Tenant"})," – All users in a tenant see the same overlay"]}),A("li",{children:[q("strong",{children:"User"})," – Individual users can have personal overlays"]}),A("li",{children:[q("strong",{children:"Role"})," – All users with a specific role see the overlay"]}),A("li",{children:[q("strong",{children:"Device"})," – Different overlays for mobile vs desktop"]})]}),q("p",{className:"text-muted-foreground",children:"If multiple overlays apply to the same user, they are merged in order of specificity (user overlays override role overlays, which override tenant overlays)."})]}),A("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Best practices"}),A("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[q("li",{children:"Start with the default UI and only create overlays when users request specific changes."}),q("li",{children:"Document why each overlay modification was made—this helps when reviewing or updating overlays."}),q("li",{children:"Test overlays thoroughly to ensure they don't break workflows or confuse users."}),q("li",{children:"Use tenant-level overlays for organizational customizations and user-level overlays for personal preferences."}),q("li",{children:"Regularly review overlays to remove ones that are no longer needed."}),q("li",{children:"Protect overlay signing keys carefully—they control what customizations are allowed."})]})]}),A("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Where overlays fit in the runtime"}),q("p",{className:"text-muted-foreground",children:"Overlays are safest when they sit on top of a declared bundle surface instead of ad hoc page code. Use the module-bundles docs first, then apply overlays as auditable customization on top of the resolved surface plan."}),A("div",{className:"flex flex-wrap gap-3",children:[q(B,{href:"/docs/specs/module-bundles",className:"btn-primary",children:"Module bundles"}),q(B,{href:"/docs/guides/first-module-bundle",className:"btn-ghost",children:"Build a first module bundle"})]})]}),A("div",{className:"flex items-center gap-4 pt-4",children:[q(B,{href:"/docs/specs/policy",className:"btn-ghost",children:"Previous: Policy"}),A(B,{href:"/docs/safety",className:"btn-primary",children:["Next: Safety ",q(D,{size:16})]})]})]})}export{G as SpecsOverlaysPage};
|
|
@@ -1,186 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import Link from "@contractspec/lib.ui-link";
|
|
3
|
-
import { ChevronRight } from "lucide-react";
|
|
4
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
-
var specTypes = [
|
|
6
|
-
{
|
|
7
|
-
title: "Capabilities",
|
|
8
|
-
body: "Model operations, events, and presentations as explicit system behavior.",
|
|
9
|
-
href: "/docs/specs/capabilities"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
title: "Data views",
|
|
13
|
-
body: "Describe query, filtering, and presentation behavior from the same source model.",
|
|
14
|
-
href: "/docs/specs/dataviews"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
title: "Workflows",
|
|
18
|
-
body: "Coordinate multi-step execution, retries, monitoring, and hand-offs.",
|
|
19
|
-
href: "/docs/specs/workflows"
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
title: "Policy",
|
|
23
|
-
body: "Carry governance and access rules through every generated and runtime-served surface.",
|
|
24
|
-
href: "/docs/specs/policy"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
title: "Overlays",
|
|
28
|
-
body: "Customize generated surfaces safely instead of forking them permanently.",
|
|
29
|
-
href: "/docs/specs/overlays"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
title: "Safety and migration",
|
|
33
|
-
body: "Keep change safe with signing, audits, rollbacks, and explicit migration behavior.",
|
|
34
|
-
href: "/docs/safety"
|
|
35
|
-
}
|
|
36
|
-
];
|
|
37
|
-
function SpecsOverviewPage() {
|
|
38
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
39
|
-
className: "space-y-10",
|
|
40
|
-
children: [
|
|
41
|
-
/* @__PURE__ */ jsxs("div", {
|
|
42
|
-
className: "space-y-3",
|
|
43
|
-
children: [
|
|
44
|
-
/* @__PURE__ */ jsx("p", {
|
|
45
|
-
className: "editorial-kicker",
|
|
46
|
-
children: "Core model"
|
|
47
|
-
}),
|
|
48
|
-
/* @__PURE__ */ jsx("h1", {
|
|
49
|
-
className: "font-serif text-4xl tracking-[-0.04em] md:text-5xl",
|
|
50
|
-
children: "Contracts are the durable system boundary."
|
|
51
|
-
}),
|
|
52
|
-
/* @__PURE__ */ jsx("p", {
|
|
53
|
-
className: "max-w-3xl text-lg text-muted-foreground leading-8",
|
|
54
|
-
children: "ContractSpec uses explicit TypeScript specs to describe behavior before it spreads across APIs, UI, data models, events, and operator flows. The goal is not to hide implementation. The goal is to make the system boundary explicit enough that generation, validation, runtime enforcement, and regeneration can stay coherent."
|
|
55
|
-
})
|
|
56
|
-
]
|
|
57
|
-
}),
|
|
58
|
-
/* @__PURE__ */ jsxs("div", {
|
|
59
|
-
className: "editorial-proof-strip",
|
|
60
|
-
children: [
|
|
61
|
-
/* @__PURE__ */ jsxs("div", {
|
|
62
|
-
className: "editorial-stat",
|
|
63
|
-
children: [
|
|
64
|
-
/* @__PURE__ */ jsx("span", {
|
|
65
|
-
className: "editorial-label",
|
|
66
|
-
children: "System promise"
|
|
67
|
-
}),
|
|
68
|
-
/* @__PURE__ */ jsx("span", {
|
|
69
|
-
className: "editorial-stat-value",
|
|
70
|
-
children: "one contract → many surfaces"
|
|
71
|
-
})
|
|
72
|
-
]
|
|
73
|
-
}),
|
|
74
|
-
/* @__PURE__ */ jsx("p", {
|
|
75
|
-
className: "max-w-2xl text-muted-foreground text-sm leading-7",
|
|
76
|
-
children: "Use the contract layer to keep surface behavior aligned, then let runtimes and generators do the repetitive work without inventing a closed platform."
|
|
77
|
-
})
|
|
78
|
-
]
|
|
79
|
-
}),
|
|
80
|
-
/* @__PURE__ */ jsx("section", {
|
|
81
|
-
className: "editorial-panel space-y-5",
|
|
82
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
83
|
-
className: "space-y-2",
|
|
84
|
-
children: [
|
|
85
|
-
/* @__PURE__ */ jsx("h2", {
|
|
86
|
-
className: "font-serif text-3xl tracking-[-0.03em]",
|
|
87
|
-
children: "What the contract layer owns"
|
|
88
|
-
}),
|
|
89
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
90
|
-
className: "editorial-list",
|
|
91
|
-
children: [
|
|
92
|
-
/* @__PURE__ */ jsxs("li", {
|
|
93
|
-
children: [
|
|
94
|
-
/* @__PURE__ */ jsx("span", {
|
|
95
|
-
className: "editorial-list-marker"
|
|
96
|
-
}),
|
|
97
|
-
/* @__PURE__ */ jsx("span", {
|
|
98
|
-
children: "Behavior: operations, events, presentations, workflows."
|
|
99
|
-
})
|
|
100
|
-
]
|
|
101
|
-
}),
|
|
102
|
-
/* @__PURE__ */ jsxs("li", {
|
|
103
|
-
children: [
|
|
104
|
-
/* @__PURE__ */ jsx("span", {
|
|
105
|
-
className: "editorial-list-marker"
|
|
106
|
-
}),
|
|
107
|
-
/* @__PURE__ */ jsx("span", {
|
|
108
|
-
children: "Validation: input, output, and schema boundaries."
|
|
109
|
-
})
|
|
110
|
-
]
|
|
111
|
-
}),
|
|
112
|
-
/* @__PURE__ */ jsxs("li", {
|
|
113
|
-
children: [
|
|
114
|
-
/* @__PURE__ */ jsx("span", {
|
|
115
|
-
className: "editorial-list-marker"
|
|
116
|
-
}),
|
|
117
|
-
/* @__PURE__ */ jsx("span", {
|
|
118
|
-
children: "Governance: policy, auditability, and migration rules."
|
|
119
|
-
})
|
|
120
|
-
]
|
|
121
|
-
}),
|
|
122
|
-
/* @__PURE__ */ jsxs("li", {
|
|
123
|
-
children: [
|
|
124
|
-
/* @__PURE__ */ jsx("span", {
|
|
125
|
-
className: "editorial-list-marker"
|
|
126
|
-
}),
|
|
127
|
-
/* @__PURE__ */ jsx("span", {
|
|
128
|
-
children: "Surface alignment: generated or served behavior across API, UI, data, and agent-facing interfaces."
|
|
129
|
-
})
|
|
130
|
-
]
|
|
131
|
-
})
|
|
132
|
-
]
|
|
133
|
-
})
|
|
134
|
-
]
|
|
135
|
-
})
|
|
136
|
-
}),
|
|
137
|
-
/* @__PURE__ */ jsxs("section", {
|
|
138
|
-
className: "space-y-5",
|
|
139
|
-
children: [
|
|
140
|
-
/* @__PURE__ */ jsxs("div", {
|
|
141
|
-
className: "space-y-2",
|
|
142
|
-
children: [
|
|
143
|
-
/* @__PURE__ */ jsx("h2", {
|
|
144
|
-
className: "font-serif text-3xl tracking-[-0.03em]",
|
|
145
|
-
children: "Specification types"
|
|
146
|
-
}),
|
|
147
|
-
/* @__PURE__ */ jsx("p", {
|
|
148
|
-
className: "text-muted-foreground text-sm leading-7",
|
|
149
|
-
children: "You can adopt the model one part at a time. Not every system needs every spec type on day one."
|
|
150
|
-
})
|
|
151
|
-
]
|
|
152
|
-
}),
|
|
153
|
-
/* @__PURE__ */ jsx("div", {
|
|
154
|
-
className: "grid gap-4 md:grid-cols-2",
|
|
155
|
-
children: specTypes.map((item) => /* @__PURE__ */ jsxs(Link, {
|
|
156
|
-
href: item.href,
|
|
157
|
-
className: "editorial-panel",
|
|
158
|
-
children: [
|
|
159
|
-
/* @__PURE__ */ jsx("h3", {
|
|
160
|
-
className: "font-semibold text-xl",
|
|
161
|
-
children: item.title
|
|
162
|
-
}),
|
|
163
|
-
/* @__PURE__ */ jsx("p", {
|
|
164
|
-
className: "mt-2 text-muted-foreground text-sm leading-7",
|
|
165
|
-
children: item.body
|
|
166
|
-
}),
|
|
167
|
-
/* @__PURE__ */ jsxs("div", {
|
|
168
|
-
className: "mt-4 flex items-center gap-2 text-[color:var(--rust)] text-sm",
|
|
169
|
-
children: [
|
|
170
|
-
"Open section ",
|
|
171
|
-
/* @__PURE__ */ jsx(ChevronRight, {
|
|
172
|
-
size: 14
|
|
173
|
-
})
|
|
174
|
-
]
|
|
175
|
-
})
|
|
176
|
-
]
|
|
177
|
-
}, item.title))
|
|
178
|
-
})
|
|
179
|
-
]
|
|
180
|
-
})
|
|
181
|
-
]
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
export {
|
|
185
|
-
SpecsOverviewPage
|
|
186
|
-
};
|
|
1
|
+
import i from"@contractspec/lib.ui-link";import{ChevronRight as o}from"lucide-react";import{jsx as e,jsxs as a}from"react/jsx-runtime";var s=[{title:"Capabilities",body:"Model operations, events, and presentations as explicit system behavior.",href:"/docs/specs/capabilities"},{title:"Data views",body:"Describe query, filtering, and presentation behavior from the same source model.",href:"/docs/specs/dataviews"},{title:"Workflows",body:"Coordinate multi-step execution, retries, monitoring, and hand-offs.",href:"/docs/specs/workflows"},{title:"Policy",body:"Carry governance and access rules through every generated and runtime-served surface.",href:"/docs/specs/policy"},{title:"Overlays",body:"Customize generated surfaces safely instead of forking them permanently.",href:"/docs/specs/overlays"},{title:"Safety and migration",body:"Keep change safe with signing, audits, rollbacks, and explicit migration behavior.",href:"/docs/safety"}],n=[{title:"Module bundles",body:"Define typed surface bundles that resolve into auditable runtime plans instead of hand-built page logic.",href:"/docs/specs/module-bundles"},{title:"ContractSpec Connect",body:"Put coding-agent edits and commands behind local-first context, verification, replay, and review artifacts.",href:"/docs/specs/connect"},{title:"Builder control plane",body:"Coordinate multimodal authoring, provider routing, readiness, export, and mobile review on top of OSS and Studio.",href:"/docs/specs/builder-control-plane"}];function d(){return a("div",{className:"space-y-10",children:[a("div",{className:"space-y-3",children:[e("p",{className:"editorial-kicker",children:"Core model"}),e("h1",{className:"font-serif text-4xl tracking-[-0.04em] md:text-5xl",children:"Contracts are the durable system boundary."}),e("p",{className:"max-w-3xl text-lg text-muted-foreground leading-8",children:"ContractSpec uses explicit TypeScript specs to describe behavior before it spreads across APIs, UI, data models, events, and operator flows. The goal is not to hide implementation. The goal is to make the system boundary explicit enough that generation, validation, runtime enforcement, and regeneration can stay coherent."})]}),a("div",{className:"editorial-proof-strip",children:[a("div",{className:"editorial-stat",children:[e("span",{className:"editorial-label",children:"System promise"}),e("span",{className:"editorial-stat-value",children:"one contract → many surfaces"})]}),e("p",{className:"max-w-2xl text-muted-foreground text-sm leading-7",children:"Use the contract layer to keep surface behavior aligned, then let runtimes and generators do the repetitive work without inventing a closed platform."})]}),e("section",{className:"editorial-panel space-y-5",children:a("div",{className:"space-y-2",children:[e("h2",{className:"font-serif text-3xl tracking-[-0.03em]",children:"What the contract layer owns"}),a("ul",{className:"editorial-list",children:[a("li",{children:[e("span",{className:"editorial-list-marker"}),e("span",{children:"Behavior: operations, events, presentations, workflows."})]}),a("li",{children:[e("span",{className:"editorial-list-marker"}),e("span",{children:"Validation: input, output, and schema boundaries."})]}),a("li",{children:[e("span",{className:"editorial-list-marker"}),e("span",{children:"Governance: policy, auditability, and migration rules."})]}),a("li",{children:[e("span",{className:"editorial-list-marker"}),e("span",{children:"Surface alignment: generated or served behavior across API, UI, data, and agent-facing interfaces."})]})]})]})}),a("section",{className:"space-y-5",children:[a("div",{className:"space-y-2",children:[e("h2",{className:"font-serif text-3xl tracking-[-0.03em]",children:"Specification types"}),e("p",{className:"text-muted-foreground text-sm leading-7",children:"You can adopt the model one part at a time. Not every system needs every spec type on day one."})]}),e("div",{className:"grid gap-4 md:grid-cols-2",children:s.map((t)=>a(i,{href:t.href,className:"editorial-panel",children:[e("h3",{className:"font-semibold text-xl",children:t.title}),e("p",{className:"mt-2 text-muted-foreground text-sm leading-7",children:t.body}),a("div",{className:"mt-4 flex items-center gap-2 text-[color:var(--rust)] text-sm",children:["Open section ",e(o,{size:14})]})]},t.title))})]}),a("section",{className:"space-y-5",children:[a("div",{className:"space-y-2",children:[e("h2",{className:"font-serif text-3xl tracking-[-0.03em]",children:"Implemented spec packs"}),e("p",{className:"text-muted-foreground text-sm leading-7",children:"These packs combine multiple contract surfaces into higher-order systems you can use directly today: agent enforcement, AI-native surface runtime, and governed Builder authoring."})]}),e("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:n.map((t)=>a(i,{href:t.href,className:"editorial-panel",children:[e("h3",{className:"font-semibold text-xl",children:t.title}),e("p",{className:"mt-2 text-muted-foreground text-sm leading-7",children:t.body}),a("div",{className:"mt-4 flex items-center gap-2 text-[color:var(--rust)] text-sm",children:["Open pack ",e(o,{size:14})]})]},t.title))})]})]})}export{d as SpecsOverviewPage};
|