@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,189 +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 SafetyPDPPage() {
|
|
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: "Policy Decision Points"
|
|
15
|
-
}),
|
|
16
|
-
/* @__PURE__ */ jsxs("p", {
|
|
17
|
-
className: "text-muted-foreground",
|
|
18
|
-
children: [
|
|
19
|
-
"A ",
|
|
20
|
-
/* @__PURE__ */ jsx("strong", {
|
|
21
|
-
children: "Policy Decision Point (PDP)"
|
|
22
|
-
}),
|
|
23
|
-
" is a centralized component that evaluates access control policies and makes authorization decisions. According to",
|
|
24
|
-
" ",
|
|
25
|
-
/* @__PURE__ */ jsx("a", {
|
|
26
|
-
href: "https://www.strongdm.com/blog/policy-decision-point",
|
|
27
|
-
target: "_blank",
|
|
28
|
-
rel: "noopener noreferrer",
|
|
29
|
-
className: "text-violet-400 hover:text-violet-300",
|
|
30
|
-
children: "StrongDM"
|
|
31
|
-
}),
|
|
32
|
-
', the PDP "receives requests for access to resources, evaluates them against policies, and returns a decision (permit or deny)."'
|
|
33
|
-
]
|
|
34
|
-
})
|
|
35
|
-
]
|
|
36
|
-
}),
|
|
37
|
-
/* @__PURE__ */ jsxs("div", {
|
|
38
|
-
className: "space-y-4",
|
|
39
|
-
children: [
|
|
40
|
-
/* @__PURE__ */ jsx("h2", {
|
|
41
|
-
className: "font-bold text-2xl",
|
|
42
|
-
children: "How the PDP works in ContractSpec"
|
|
43
|
-
}),
|
|
44
|
-
/* @__PURE__ */ jsx("p", {
|
|
45
|
-
className: "text-muted-foreground",
|
|
46
|
-
children: "In ContractSpec, the PDP is invoked on every operation—whether it's rendering a UI component, executing a capability, or querying a data view. The flow is:"
|
|
47
|
-
}),
|
|
48
|
-
/* @__PURE__ */ jsxs("ol", {
|
|
49
|
-
className: "list-inside list-decimal space-y-3 text-muted-foreground",
|
|
50
|
-
children: [
|
|
51
|
-
/* @__PURE__ */ jsxs("li", {
|
|
52
|
-
children: [
|
|
53
|
-
/* @__PURE__ */ jsx("strong", {
|
|
54
|
-
children: "Request evaluation"
|
|
55
|
-
}),
|
|
56
|
-
" – The runtime sends a request to the PDP containing:",
|
|
57
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
58
|
-
className: "mt-2 ml-6 list-inside list-disc space-y-1",
|
|
59
|
-
children: [
|
|
60
|
-
/* @__PURE__ */ jsx("li", {
|
|
61
|
-
children: "The user's identity and attributes (roles, groups, location, etc.)"
|
|
62
|
-
}),
|
|
63
|
-
/* @__PURE__ */ jsx("li", {
|
|
64
|
-
children: "The resource being accessed (capability, field, workflow step)"
|
|
65
|
-
}),
|
|
66
|
-
/* @__PURE__ */ jsx("li", {
|
|
67
|
-
children: "The action being performed (read, write, execute)"
|
|
68
|
-
}),
|
|
69
|
-
/* @__PURE__ */ jsx("li", {
|
|
70
|
-
children: "Contextual information (time of day, device type, IP address)"
|
|
71
|
-
})
|
|
72
|
-
]
|
|
73
|
-
})
|
|
74
|
-
]
|
|
75
|
-
}),
|
|
76
|
-
/* @__PURE__ */ jsxs("li", {
|
|
77
|
-
children: [
|
|
78
|
-
/* @__PURE__ */ jsx("strong", {
|
|
79
|
-
children: "Policy evaluation"
|
|
80
|
-
}),
|
|
81
|
-
" – The PDP evaluates the request against all applicable ",
|
|
82
|
-
/* @__PURE__ */ jsx("strong", {
|
|
83
|
-
children: "PolicySpecs"
|
|
84
|
-
}),
|
|
85
|
-
". These specs define rules using attribute-based access control (ABAC) and can reference:",
|
|
86
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
87
|
-
className: "mt-2 ml-6 list-inside list-disc space-y-1",
|
|
88
|
-
children: [
|
|
89
|
-
/* @__PURE__ */ jsx("li", {
|
|
90
|
-
children: `User attributes (e.g., "role == 'admin'")`
|
|
91
|
-
}),
|
|
92
|
-
/* @__PURE__ */ jsx("li", {
|
|
93
|
-
children: `Resource attributes (e.g., "field.sensitivity == 'PII'")`
|
|
94
|
-
}),
|
|
95
|
-
/* @__PURE__ */ jsx("li", {
|
|
96
|
-
children: 'Environmental attributes (e.g., "time.hour >= 9 AND time.hour < 17")'
|
|
97
|
-
})
|
|
98
|
-
]
|
|
99
|
-
})
|
|
100
|
-
]
|
|
101
|
-
}),
|
|
102
|
-
/* @__PURE__ */ jsxs("li", {
|
|
103
|
-
children: [
|
|
104
|
-
/* @__PURE__ */ jsx("strong", {
|
|
105
|
-
children: "Decision return"
|
|
106
|
-
}),
|
|
107
|
-
" – The PDP returns one of:",
|
|
108
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
109
|
-
className: "mt-2 ml-6 list-inside list-disc space-y-1",
|
|
110
|
-
children: [
|
|
111
|
-
/* @__PURE__ */ jsxs("li", {
|
|
112
|
-
children: [
|
|
113
|
-
/* @__PURE__ */ jsx("code", {
|
|
114
|
-
className: "rounded bg-background/50 px-2 py-1",
|
|
115
|
-
children: "PERMIT"
|
|
116
|
-
}),
|
|
117
|
-
" ",
|
|
118
|
-
"– The operation is allowed."
|
|
119
|
-
]
|
|
120
|
-
}),
|
|
121
|
-
/* @__PURE__ */ jsxs("li", {
|
|
122
|
-
children: [
|
|
123
|
-
/* @__PURE__ */ jsx("code", {
|
|
124
|
-
className: "rounded bg-background/50 px-2 py-1",
|
|
125
|
-
children: "DENY"
|
|
126
|
-
}),
|
|
127
|
-
" ",
|
|
128
|
-
"– The operation is blocked."
|
|
129
|
-
]
|
|
130
|
-
}),
|
|
131
|
-
/* @__PURE__ */ jsxs("li", {
|
|
132
|
-
children: [
|
|
133
|
-
/* @__PURE__ */ jsx("code", {
|
|
134
|
-
className: "rounded bg-background/50 px-2 py-1",
|
|
135
|
-
children: "REDACT"
|
|
136
|
-
}),
|
|
137
|
-
" ",
|
|
138
|
-
"– The operation is allowed, but sensitive fields are masked."
|
|
139
|
-
]
|
|
140
|
-
})
|
|
141
|
-
]
|
|
142
|
-
})
|
|
143
|
-
]
|
|
144
|
-
}),
|
|
145
|
-
/* @__PURE__ */ jsxs("li", {
|
|
146
|
-
children: [
|
|
147
|
-
/* @__PURE__ */ jsx("strong", {
|
|
148
|
-
children: "Enforcement"
|
|
149
|
-
}),
|
|
150
|
-
" – The runtime enforces the decision. If denied, the operation fails with a clear error message. If redacted, sensitive fields are replaced with placeholders."
|
|
151
|
-
]
|
|
152
|
-
}),
|
|
153
|
-
/* @__PURE__ */ jsxs("li", {
|
|
154
|
-
children: [
|
|
155
|
-
/* @__PURE__ */ jsx("strong", {
|
|
156
|
-
children: "Auditing"
|
|
157
|
-
}),
|
|
158
|
-
" – Every PDP decision is logged to the",
|
|
159
|
-
" ",
|
|
160
|
-
/* @__PURE__ */ jsx(Link, {
|
|
161
|
-
href: "/docs/safety/auditing",
|
|
162
|
-
className: "text-violet-400 hover:text-violet-300",
|
|
163
|
-
children: "audit log"
|
|
164
|
-
}),
|
|
165
|
-
", including the request, decision, and reasoning."
|
|
166
|
-
]
|
|
167
|
-
})
|
|
168
|
-
]
|
|
169
|
-
})
|
|
170
|
-
]
|
|
171
|
-
}),
|
|
172
|
-
/* @__PURE__ */ jsxs("div", {
|
|
173
|
-
className: "space-y-4",
|
|
174
|
-
children: [
|
|
175
|
-
/* @__PURE__ */ jsx("h2", {
|
|
176
|
-
className: "font-bold text-2xl",
|
|
177
|
-
children: "Example PolicySpec"
|
|
178
|
-
}),
|
|
179
|
-
/* @__PURE__ */ jsx("p", {
|
|
180
|
-
className: "text-muted-foreground",
|
|
181
|
-
children: "Here's a simple policy that restricts access to PII fields:"
|
|
182
|
-
}),
|
|
183
|
-
/* @__PURE__ */ jsx("div", {
|
|
184
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
185
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
186
|
-
children: `policyId: pii-access-control
|
|
1
|
+
import A from"@contractspec/lib.ui-link";import{ChevronRight as B}from"lucide-react";import{jsx as q,jsxs as z}from"react/jsx-runtime";function G(){return z("div",{className:"space-y-8",children:[z("div",{className:"space-y-4",children:[q("h1",{className:"font-bold text-4xl",children:"Policy Decision Points"}),z("p",{className:"text-muted-foreground",children:["A ",q("strong",{children:"Policy Decision Point (PDP)"})," is a centralized component that evaluates access control policies and makes authorization decisions. According to"," ",q("a",{href:"https://www.strongdm.com/blog/policy-decision-point",target:"_blank",rel:"noopener noreferrer",className:"text-violet-400 hover:text-violet-300",children:"StrongDM"}),', the PDP "receives requests for access to resources, evaluates them against policies, and returns a decision (permit or deny)."']})]}),z("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"How the PDP works in ContractSpec"}),q("p",{className:"text-muted-foreground",children:"In ContractSpec, the PDP is invoked on every operation—whether it's rendering a UI component, executing a capability, or querying a data view. The flow is:"}),z("ol",{className:"list-inside list-decimal space-y-3 text-muted-foreground",children:[z("li",{children:[q("strong",{children:"Request evaluation"})," – The runtime sends a request to the PDP containing:",z("ul",{className:"mt-2 ml-6 list-inside list-disc space-y-1",children:[q("li",{children:"The user's identity and attributes (roles, groups, location, etc.)"}),q("li",{children:"The resource being accessed (capability, field, workflow step)"}),q("li",{children:"The action being performed (read, write, execute)"}),q("li",{children:"Contextual information (time of day, device type, IP address)"})]})]}),z("li",{children:[q("strong",{children:"Policy evaluation"})," – The PDP evaluates the request against all applicable ",q("strong",{children:"PolicySpecs"}),". These specs define rules using attribute-based access control (ABAC) and can reference:",z("ul",{className:"mt-2 ml-6 list-inside list-disc space-y-1",children:[q("li",{children:`User attributes (e.g., "role == 'admin'")`}),q("li",{children:`Resource attributes (e.g., "field.sensitivity == 'PII'")`}),q("li",{children:'Environmental attributes (e.g., "time.hour >= 9 AND time.hour < 17")'})]})]}),z("li",{children:[q("strong",{children:"Decision return"})," – The PDP returns one of:",z("ul",{className:"mt-2 ml-6 list-inside list-disc space-y-1",children:[z("li",{children:[q("code",{className:"rounded bg-background/50 px-2 py-1",children:"PERMIT"})," ","– The operation is allowed."]}),z("li",{children:[q("code",{className:"rounded bg-background/50 px-2 py-1",children:"DENY"})," ","– The operation is blocked."]}),z("li",{children:[q("code",{className:"rounded bg-background/50 px-2 py-1",children:"REDACT"})," ","– The operation is allowed, but sensitive fields are masked."]})]})]}),z("li",{children:[q("strong",{children:"Enforcement"})," – The runtime enforces the decision. If denied, the operation fails with a clear error message. If redacted, sensitive fields are replaced with placeholders."]}),z("li",{children:[q("strong",{children:"Auditing"})," – Every PDP decision is logged to the"," ",q(A,{href:"/docs/safety/auditing",className:"text-violet-400 hover:text-violet-300",children:"audit log"}),", including the request, decision, and reasoning."]})]})]}),z("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Example PolicySpec"}),q("p",{className:"text-muted-foreground",children:"Here's a simple policy that restricts access to PII fields:"}),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:`policyId: pii-access-control
|
|
187
2
|
version: '1.0.0'.0.0
|
|
188
3
|
rules:
|
|
189
4
|
- id: allow-admin-full-access
|
|
@@ -201,118 +16,4 @@ rules:
|
|
|
201
16
|
effect: DENY
|
|
202
17
|
condition: |
|
|
203
18
|
user.role NOT IN ['admin', 'support'] AND
|
|
204
|
-
field.sensitivity == 'PII'`
|
|
205
|
-
})
|
|
206
|
-
}),
|
|
207
|
-
/* @__PURE__ */ jsx("p", {
|
|
208
|
-
className: "text-muted-foreground",
|
|
209
|
-
children: "With this policy, admins see all data, support staff see redacted PII, and other users cannot access PII at all."
|
|
210
|
-
})
|
|
211
|
-
]
|
|
212
|
-
}),
|
|
213
|
-
/* @__PURE__ */ jsxs("div", {
|
|
214
|
-
className: "space-y-4",
|
|
215
|
-
children: [
|
|
216
|
-
/* @__PURE__ */ jsx("h2", {
|
|
217
|
-
className: "font-bold text-2xl",
|
|
218
|
-
children: "Benefits of centralized decision-making"
|
|
219
|
-
}),
|
|
220
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
221
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
222
|
-
children: [
|
|
223
|
-
/* @__PURE__ */ jsxs("li", {
|
|
224
|
-
children: [
|
|
225
|
-
/* @__PURE__ */ jsx("strong", {
|
|
226
|
-
children: "Consistency"
|
|
227
|
-
}),
|
|
228
|
-
" – Policies are enforced uniformly across all surfaces (API, UI, workflows)."
|
|
229
|
-
]
|
|
230
|
-
}),
|
|
231
|
-
/* @__PURE__ */ jsxs("li", {
|
|
232
|
-
children: [
|
|
233
|
-
/* @__PURE__ */ jsx("strong", {
|
|
234
|
-
children: "Auditability"
|
|
235
|
-
}),
|
|
236
|
-
" – Every decision is logged, making it easy to trace why access was granted or denied."
|
|
237
|
-
]
|
|
238
|
-
}),
|
|
239
|
-
/* @__PURE__ */ jsxs("li", {
|
|
240
|
-
children: [
|
|
241
|
-
/* @__PURE__ */ jsx("strong", {
|
|
242
|
-
children: "Flexibility"
|
|
243
|
-
}),
|
|
244
|
-
" – Policies can be updated without changing application code."
|
|
245
|
-
]
|
|
246
|
-
}),
|
|
247
|
-
/* @__PURE__ */ jsxs("li", {
|
|
248
|
-
children: [
|
|
249
|
-
/* @__PURE__ */ jsx("strong", {
|
|
250
|
-
children: "Security"
|
|
251
|
-
}),
|
|
252
|
-
" – Reduces the risk of authorization bugs by removing ad-hoc checks scattered throughout the codebase."
|
|
253
|
-
]
|
|
254
|
-
})
|
|
255
|
-
]
|
|
256
|
-
})
|
|
257
|
-
]
|
|
258
|
-
}),
|
|
259
|
-
/* @__PURE__ */ jsxs("div", {
|
|
260
|
-
className: "space-y-4",
|
|
261
|
-
children: [
|
|
262
|
-
/* @__PURE__ */ jsx("h2", {
|
|
263
|
-
className: "font-bold text-2xl",
|
|
264
|
-
children: "Performance considerations"
|
|
265
|
-
}),
|
|
266
|
-
/* @__PURE__ */ jsx("p", {
|
|
267
|
-
className: "text-muted-foreground",
|
|
268
|
-
children: "Because the PDP is invoked on every operation, performance is critical. ContractSpec optimizes this by:"
|
|
269
|
-
}),
|
|
270
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
271
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
272
|
-
children: [
|
|
273
|
-
/* @__PURE__ */ jsx("li", {
|
|
274
|
-
children: "Caching policy decisions for identical requests"
|
|
275
|
-
}),
|
|
276
|
-
/* @__PURE__ */ jsx("li", {
|
|
277
|
-
children: "Compiling policies into efficient bytecode"
|
|
278
|
-
}),
|
|
279
|
-
/* @__PURE__ */ jsx("li", {
|
|
280
|
-
children: "Evaluating only the minimal set of rules needed for each request"
|
|
281
|
-
}),
|
|
282
|
-
/* @__PURE__ */ jsx("li", {
|
|
283
|
-
children: "Running the PDP in-process to avoid network latency"
|
|
284
|
-
})
|
|
285
|
-
]
|
|
286
|
-
}),
|
|
287
|
-
/* @__PURE__ */ jsx("p", {
|
|
288
|
-
className: "text-muted-foreground",
|
|
289
|
-
children: "In practice, PDP overhead is typically less than 1ms per request."
|
|
290
|
-
})
|
|
291
|
-
]
|
|
292
|
-
}),
|
|
293
|
-
/* @__PURE__ */ jsxs("div", {
|
|
294
|
-
className: "flex items-center gap-4 pt-4",
|
|
295
|
-
children: [
|
|
296
|
-
/* @__PURE__ */ jsx(Link, {
|
|
297
|
-
href: "/docs/safety/signing",
|
|
298
|
-
className: "btn-ghost",
|
|
299
|
-
children: "Previous: Spec Signing"
|
|
300
|
-
}),
|
|
301
|
-
/* @__PURE__ */ jsxs(Link, {
|
|
302
|
-
href: "/docs/safety/auditing",
|
|
303
|
-
className: "btn-primary",
|
|
304
|
-
children: [
|
|
305
|
-
"Next: Audit Logs ",
|
|
306
|
-
/* @__PURE__ */ jsx(ChevronRight, {
|
|
307
|
-
size: 16
|
|
308
|
-
})
|
|
309
|
-
]
|
|
310
|
-
})
|
|
311
|
-
]
|
|
312
|
-
})
|
|
313
|
-
]
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
export {
|
|
317
|
-
SafetyPDPPage
|
|
318
|
-
};
|
|
19
|
+
field.sensitivity == 'PII'`})}),q("p",{className:"text-muted-foreground",children:"With this policy, admins see all data, support staff see redacted PII, and other users cannot access PII at all."})]}),z("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Benefits of centralized decision-making"}),z("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[z("li",{children:[q("strong",{children:"Consistency"})," – Policies are enforced uniformly across all surfaces (API, UI, workflows)."]}),z("li",{children:[q("strong",{children:"Auditability"})," – Every decision is logged, making it easy to trace why access was granted or denied."]}),z("li",{children:[q("strong",{children:"Flexibility"})," – Policies can be updated without changing application code."]}),z("li",{children:[q("strong",{children:"Security"})," – Reduces the risk of authorization bugs by removing ad-hoc checks scattered throughout the codebase."]})]})]}),z("div",{className:"space-y-4",children:[q("h2",{className:"font-bold text-2xl",children:"Performance considerations"}),q("p",{className:"text-muted-foreground",children:"Because the PDP is invoked on every operation, performance is critical. ContractSpec optimizes this by:"}),z("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[q("li",{children:"Caching policy decisions for identical requests"}),q("li",{children:"Compiling policies into efficient bytecode"}),q("li",{children:"Evaluating only the minimal set of rules needed for each request"}),q("li",{children:"Running the PDP in-process to avoid network latency"})]}),q("p",{className:"text-muted-foreground",children:"In practice, PDP overhead is typically less than 1ms per request."})]}),z("div",{className:"flex items-center gap-4 pt-4",children:[q(A,{href:"/docs/safety/signing",className:"btn-ghost",children:"Previous: Spec Signing"}),z(A,{href:"/docs/safety/auditing",className:"btn-primary",children:["Next: Audit Logs ",q(B,{size:16})]})]})]})}export{G as SafetyPDPPage};
|
|
@@ -1,206 +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
|
-
function SafetySecurityTrustPage() {
|
|
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: "Security & Trust"
|
|
15
|
-
}),
|
|
16
|
-
/* @__PURE__ */ jsx("p", {
|
|
17
|
-
className: "text-muted-foreground",
|
|
18
|
-
children: "ContractSpec focuses on deterministic, auditable software delivery. This page summarizes our security posture and trust commitments so teams can adopt with clarity."
|
|
19
|
-
})
|
|
20
|
-
]
|
|
21
|
-
}),
|
|
22
|
-
/* @__PURE__ */ jsxs("div", {
|
|
23
|
-
className: "card-subtle space-y-4 p-6",
|
|
24
|
-
children: [
|
|
25
|
-
/* @__PURE__ */ jsx("h2", {
|
|
26
|
-
className: "font-bold text-2xl",
|
|
27
|
-
children: "Security policy"
|
|
28
|
-
}),
|
|
29
|
-
/* @__PURE__ */ jsx("p", {
|
|
30
|
-
className: "text-muted-foreground text-sm",
|
|
31
|
-
children: "We publish a dedicated security policy that explains how to report vulnerabilities and how we respond."
|
|
32
|
-
}),
|
|
33
|
-
/* @__PURE__ */ jsxs(Link, {
|
|
34
|
-
href: "/SECURITY.md",
|
|
35
|
-
className: "btn-primary",
|
|
36
|
-
children: [
|
|
37
|
-
"Read the security policy ",
|
|
38
|
-
/* @__PURE__ */ jsx(ChevronRight, {
|
|
39
|
-
size: 16
|
|
40
|
-
})
|
|
41
|
-
]
|
|
42
|
-
})
|
|
43
|
-
]
|
|
44
|
-
}),
|
|
45
|
-
/* @__PURE__ */ jsxs("div", {
|
|
46
|
-
className: "grid gap-4 md:grid-cols-2",
|
|
47
|
-
children: [
|
|
48
|
-
/* @__PURE__ */ jsxs("div", {
|
|
49
|
-
className: "card-subtle space-y-3 p-6",
|
|
50
|
-
children: [
|
|
51
|
-
/* @__PURE__ */ jsx("h3", {
|
|
52
|
-
className: "font-semibold text-lg",
|
|
53
|
-
children: "Release hygiene"
|
|
54
|
-
}),
|
|
55
|
-
/* @__PURE__ */ jsx("p", {
|
|
56
|
-
className: "text-muted-foreground text-sm",
|
|
57
|
-
children: "We ship with deterministic CI, changesets, and contract validation so teams can trust every release."
|
|
58
|
-
}),
|
|
59
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
60
|
-
className: "space-y-2 text-muted-foreground text-sm",
|
|
61
|
-
children: [
|
|
62
|
-
/* @__PURE__ */ jsx("li", {
|
|
63
|
-
children: "Changesets required for published packages."
|
|
64
|
-
}),
|
|
65
|
-
/* @__PURE__ */ jsx("li", {
|
|
66
|
-
children: "CI gate for contract validation and drift detection."
|
|
67
|
-
}),
|
|
68
|
-
/* @__PURE__ */ jsx("li", {
|
|
69
|
-
children: "Rollback-friendly release process."
|
|
70
|
-
})
|
|
71
|
-
]
|
|
72
|
-
})
|
|
73
|
-
]
|
|
74
|
-
}),
|
|
75
|
-
/* @__PURE__ */ jsxs("div", {
|
|
76
|
-
className: "card-subtle space-y-3 p-6",
|
|
77
|
-
children: [
|
|
78
|
-
/* @__PURE__ */ jsx("h3", {
|
|
79
|
-
className: "font-semibold text-lg",
|
|
80
|
-
children: "Data handling"
|
|
81
|
-
}),
|
|
82
|
-
/* @__PURE__ */ jsx("p", {
|
|
83
|
-
className: "text-muted-foreground text-sm",
|
|
84
|
-
children: "ContractSpec promotes strict data classification and policy-driven access. Specs can tag sensitive fields for enforcement."
|
|
85
|
-
}),
|
|
86
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
87
|
-
className: "space-y-2 text-muted-foreground text-sm",
|
|
88
|
-
children: [
|
|
89
|
-
/* @__PURE__ */ jsx("li", {
|
|
90
|
-
children: "Schema-level sensitivity tags."
|
|
91
|
-
}),
|
|
92
|
-
/* @__PURE__ */ jsx("li", {
|
|
93
|
-
children: "Policy Decision Point enforcement."
|
|
94
|
-
}),
|
|
95
|
-
/* @__PURE__ */ jsx("li", {
|
|
96
|
-
children: "Audit logs for operational traceability."
|
|
97
|
-
})
|
|
98
|
-
]
|
|
99
|
-
})
|
|
100
|
-
]
|
|
101
|
-
})
|
|
102
|
-
]
|
|
103
|
-
}),
|
|
104
|
-
/* @__PURE__ */ jsxs("div", {
|
|
105
|
-
className: "grid gap-4 md:grid-cols-2",
|
|
106
|
-
children: [
|
|
107
|
-
/* @__PURE__ */ jsxs("div", {
|
|
108
|
-
className: "card-subtle space-y-3 p-6",
|
|
109
|
-
children: [
|
|
110
|
-
/* @__PURE__ */ jsx("h3", {
|
|
111
|
-
className: "font-semibold text-lg",
|
|
112
|
-
children: "Supply chain"
|
|
113
|
-
}),
|
|
114
|
-
/* @__PURE__ */ jsx("p", {
|
|
115
|
-
className: "text-muted-foreground text-sm",
|
|
116
|
-
children: "We track dependency updates and keep the monorepo build reproducible."
|
|
117
|
-
}),
|
|
118
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
119
|
-
className: "space-y-2 text-muted-foreground text-sm",
|
|
120
|
-
children: [
|
|
121
|
-
/* @__PURE__ */ jsx("li", {
|
|
122
|
-
children: "Dependabot + Renovate-style updates where available."
|
|
123
|
-
}),
|
|
124
|
-
/* @__PURE__ */ jsx("li", {
|
|
125
|
-
children: "Signed release artifacts planned for Studio release cycles."
|
|
126
|
-
}),
|
|
127
|
-
/* @__PURE__ */ jsx("li", {
|
|
128
|
-
children: "Transparent changelogs for every package."
|
|
129
|
-
})
|
|
130
|
-
]
|
|
131
|
-
})
|
|
132
|
-
]
|
|
133
|
-
}),
|
|
134
|
-
/* @__PURE__ */ jsxs("div", {
|
|
135
|
-
className: "card-subtle space-y-3 p-6",
|
|
136
|
-
children: [
|
|
137
|
-
/* @__PURE__ */ jsx("h3", {
|
|
138
|
-
className: "font-semibold text-lg",
|
|
139
|
-
children: "Responsible disclosure"
|
|
140
|
-
}),
|
|
141
|
-
/* @__PURE__ */ jsx("p", {
|
|
142
|
-
className: "text-muted-foreground text-sm",
|
|
143
|
-
children: "We respond quickly to security reports and coordinate fixes before public disclosure."
|
|
144
|
-
}),
|
|
145
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
146
|
-
className: "space-y-2 text-muted-foreground text-sm",
|
|
147
|
-
children: [
|
|
148
|
-
/* @__PURE__ */ jsx("li", {
|
|
149
|
-
children: "Security response within 5 business days."
|
|
150
|
-
}),
|
|
151
|
-
/* @__PURE__ */ jsx("li", {
|
|
152
|
-
children: "Private disclosure via security@contractspec.io."
|
|
153
|
-
}),
|
|
154
|
-
/* @__PURE__ */ jsx("li", {
|
|
155
|
-
children: "Credit for researchers (with permission)."
|
|
156
|
-
})
|
|
157
|
-
]
|
|
158
|
-
})
|
|
159
|
-
]
|
|
160
|
-
})
|
|
161
|
-
]
|
|
162
|
-
}),
|
|
163
|
-
/* @__PURE__ */ jsxs("div", {
|
|
164
|
-
className: "space-y-4",
|
|
165
|
-
children: [
|
|
166
|
-
/* @__PURE__ */ jsx("h2", {
|
|
167
|
-
className: "font-bold text-2xl",
|
|
168
|
-
children: "Next steps"
|
|
169
|
-
}),
|
|
170
|
-
/* @__PURE__ */ jsx("p", {
|
|
171
|
-
className: "text-muted-foreground",
|
|
172
|
-
children: "Explore the broader safety controls or read the roadmap to see upcoming trust investments."
|
|
173
|
-
}),
|
|
174
|
-
/* @__PURE__ */ jsxs("div", {
|
|
175
|
-
className: "flex flex-wrap gap-4 pt-4",
|
|
176
|
-
children: [
|
|
177
|
-
/* @__PURE__ */ jsxs(Link, {
|
|
178
|
-
href: "/docs/safety",
|
|
179
|
-
className: "btn-ghost",
|
|
180
|
-
children: [
|
|
181
|
-
"Safety overview ",
|
|
182
|
-
/* @__PURE__ */ jsx(ChevronRight, {
|
|
183
|
-
size: 16
|
|
184
|
-
})
|
|
185
|
-
]
|
|
186
|
-
}),
|
|
187
|
-
/* @__PURE__ */ jsxs(Link, {
|
|
188
|
-
href: "/ROADMAP.md",
|
|
189
|
-
className: "btn-ghost",
|
|
190
|
-
children: [
|
|
191
|
-
"Roadmap ",
|
|
192
|
-
/* @__PURE__ */ jsx(ChevronRight, {
|
|
193
|
-
size: 16
|
|
194
|
-
})
|
|
195
|
-
]
|
|
196
|
-
})
|
|
197
|
-
]
|
|
198
|
-
})
|
|
199
|
-
]
|
|
200
|
-
})
|
|
201
|
-
]
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
export {
|
|
205
|
-
SafetySecurityTrustPage
|
|
206
|
-
};
|
|
1
|
+
import a from"@contractspec/lib.ui-link";import{ChevronRight as i}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function s(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Security & Trust"}),e("p",{className:"text-muted-foreground",children:"ContractSpec focuses on deterministic, auditable software delivery. This page summarizes our security posture and trust commitments so teams can adopt with clarity."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"Security policy"}),e("p",{className:"text-muted-foreground text-sm",children:"We publish a dedicated security policy that explains how to report vulnerabilities and how we respond."}),t(a,{href:"/SECURITY.md",className:"btn-primary",children:["Read the security policy ",e(i,{size:16})]})]}),t("div",{className:"grid gap-4 md:grid-cols-2",children:[t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Release hygiene"}),e("p",{className:"text-muted-foreground text-sm",children:"We ship with deterministic CI, changesets, and contract validation so teams can trust every release."}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"Changesets required for published packages."}),e("li",{children:"CI gate for contract validation and drift detection."}),e("li",{children:"Rollback-friendly release process."})]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Data handling"}),e("p",{className:"text-muted-foreground text-sm",children:"ContractSpec promotes strict data classification and policy-driven access. Specs can tag sensitive fields for enforcement."}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"Schema-level sensitivity tags."}),e("li",{children:"Policy Decision Point enforcement."}),e("li",{children:"Audit logs for operational traceability."})]})]})]}),t("div",{className:"grid gap-4 md:grid-cols-2",children:[t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Supply chain"}),e("p",{className:"text-muted-foreground text-sm",children:"We track dependency updates and keep the monorepo build reproducible."}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"Dependabot + Renovate-style updates where available."}),e("li",{children:"Signed release artifacts planned for Studio release cycles."}),e("li",{children:"Transparent changelogs for every package."})]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Responsible disclosure"}),e("p",{className:"text-muted-foreground text-sm",children:"We respond quickly to security reports and coordinate fixes before public disclosure."}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"Security response within 5 business days."}),e("li",{children:"Private disclosure via security@contractspec.io."}),e("li",{children:"Credit for researchers (with permission)."})]})]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Next steps"}),e("p",{className:"text-muted-foreground",children:"Explore the broader safety controls or read the roadmap to see upcoming trust investments."}),t("div",{className:"flex flex-wrap gap-4 pt-4",children:[t(a,{href:"/docs/safety",className:"btn-ghost",children:["Safety overview ",e(i,{size:16})]}),t(a,{href:"/ROADMAP.md",className:"btn-ghost",children:["Roadmap ",e(i,{size:16})]})]})]})]})}export{s as SafetySecurityTrustPage};
|
|
@@ -1,92 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { ChevronRight } from "lucide-react";
|
|
4
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
-
function SafetySigningPage() {
|
|
6
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
7
|
-
className: "space-y-8",
|
|
8
|
-
children: [
|
|
9
|
-
/* @__PURE__ */ jsxs("div", {
|
|
10
|
-
className: "space-y-2",
|
|
11
|
-
children: [
|
|
12
|
-
/* @__PURE__ */ jsx("h1", {
|
|
13
|
-
className: "font-bold text-4xl",
|
|
14
|
-
children: "Spec Signing"
|
|
15
|
-
}),
|
|
16
|
-
/* @__PURE__ */ jsx("p", {
|
|
17
|
-
className: "text-lg text-muted-foreground",
|
|
18
|
-
children: "Signing ensures specs haven't been tampered with and provides an audit trail of all changes."
|
|
19
|
-
})
|
|
20
|
-
]
|
|
21
|
-
}),
|
|
22
|
-
/* @__PURE__ */ jsxs("div", {
|
|
23
|
-
className: "space-y-6",
|
|
24
|
-
children: [
|
|
25
|
-
/* @__PURE__ */ jsxs("div", {
|
|
26
|
-
className: "space-y-3",
|
|
27
|
-
children: [
|
|
28
|
-
/* @__PURE__ */ jsx("h2", {
|
|
29
|
-
className: "font-bold text-2xl",
|
|
30
|
-
children: "How it works"
|
|
31
|
-
}),
|
|
32
|
-
/* @__PURE__ */ jsx("p", {
|
|
33
|
-
className: "text-muted-foreground",
|
|
34
|
-
children: "Every spec is cryptographically signed before deployment. The signature proves that the spec hasn't been modified since it was signed and creates a permanent record of who deployed it and when."
|
|
35
|
-
})
|
|
36
|
-
]
|
|
37
|
-
}),
|
|
38
|
-
/* @__PURE__ */ jsxs("div", {
|
|
39
|
-
className: "space-y-3",
|
|
40
|
-
children: [
|
|
41
|
-
/* @__PURE__ */ jsx("h2", {
|
|
42
|
-
className: "font-bold text-2xl",
|
|
43
|
-
children: "Signing a spec"
|
|
44
|
-
}),
|
|
45
|
-
/* @__PURE__ */ jsx("div", {
|
|
46
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
47
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
48
|
-
children: `contractspec sign app.spec.ts --key ~/.contractspec/key.pem
|
|
49
|
-
contractspec deploy --signed app.spec.ts.signed`
|
|
50
|
-
})
|
|
51
|
-
})
|
|
52
|
-
]
|
|
53
|
-
}),
|
|
54
|
-
/* @__PURE__ */ jsxs("div", {
|
|
55
|
-
className: "space-y-3",
|
|
56
|
-
children: [
|
|
57
|
-
/* @__PURE__ */ jsx("h2", {
|
|
58
|
-
className: "font-bold text-2xl",
|
|
59
|
-
children: "Verifying signatures"
|
|
60
|
-
}),
|
|
61
|
-
/* @__PURE__ */ jsx("div", {
|
|
62
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
63
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
64
|
-
children: `contractspec verify app.spec.ts.signed
|
|
1
|
+
import z from"@contractspec/lib.ui-link";import{ChevronRight as A}from"lucide-react";import{jsx as f,jsxs as q}from"react/jsx-runtime";function E(){return q("div",{className:"space-y-8",children:[q("div",{className:"space-y-2",children:[f("h1",{className:"font-bold text-4xl",children:"Spec Signing"}),f("p",{className:"text-lg text-muted-foreground",children:"Signing ensures specs haven't been tampered with and provides an audit trail of all changes."})]}),q("div",{className:"space-y-6",children:[q("div",{className:"space-y-3",children:[f("h2",{className:"font-bold text-2xl",children:"How it works"}),f("p",{className:"text-muted-foreground",children:"Every spec is cryptographically signed before deployment. The signature proves that the spec hasn't been modified since it was signed and creates a permanent record of who deployed it and when."})]}),q("div",{className:"space-y-3",children:[f("h2",{className:"font-bold text-2xl",children:"Signing a spec"}),f("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:f("pre",{children:`contractspec sign app.spec.ts --key ~/.contractspec/key.pem
|
|
2
|
+
contractspec deploy --signed app.spec.ts.signed`})})]}),q("div",{className:"space-y-3",children:[f("h2",{className:"font-bold text-2xl",children:"Verifying signatures"}),f("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:f("pre",{children:`contractspec verify app.spec.ts.signed
|
|
65
3
|
# Output: ✓ Signature valid
|
|
66
4
|
# Signed by: alice@example.com
|
|
67
|
-
# Timestamp: 2024-11-08T10:30:00Z`
|
|
68
|
-
})
|
|
69
|
-
})
|
|
70
|
-
]
|
|
71
|
-
}),
|
|
72
|
-
/* @__PURE__ */ jsx("div", {
|
|
73
|
-
className: "flex items-center gap-4 pt-4",
|
|
74
|
-
children: /* @__PURE__ */ jsxs(Link, {
|
|
75
|
-
href: "/docs/safety/pdp",
|
|
76
|
-
className: "btn-primary",
|
|
77
|
-
children: [
|
|
78
|
-
"Next: Policy Decision Points ",
|
|
79
|
-
/* @__PURE__ */ jsx(ChevronRight, {
|
|
80
|
-
size: 16
|
|
81
|
-
})
|
|
82
|
-
]
|
|
83
|
-
})
|
|
84
|
-
})
|
|
85
|
-
]
|
|
86
|
-
})
|
|
87
|
-
]
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
export {
|
|
91
|
-
SafetySigningPage
|
|
92
|
-
};
|
|
5
|
+
# Timestamp: 2024-11-08T10:30:00Z`})})]}),f("div",{className:"flex items-center gap-4 pt-4",children:q(z,{href:"/docs/safety/pdp",className:"btn-primary",children:["Next: Policy Decision Points ",f(A,{size:16})]})})]})]})}export{E as SafetySigningPage};
|