@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
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { CodeBlock } from '@contractspec/lib.design-system';
|
|
2
|
+
import Link from '@contractspec/lib.ui-link';
|
|
3
|
+
import { ChevronRight } from 'lucide-react';
|
|
4
|
+
|
|
5
|
+
const builderCommands = [
|
|
6
|
+
'builder.workspace.bootstrap',
|
|
7
|
+
'builder.channel.receiveInbound',
|
|
8
|
+
'builder.blueprint.generate',
|
|
9
|
+
'builder.plan.compile',
|
|
10
|
+
'builder.preview.create',
|
|
11
|
+
'builder.preview.runHarness',
|
|
12
|
+
'builder.export.prepare',
|
|
13
|
+
'builder.export.approve',
|
|
14
|
+
'builder.export.execute',
|
|
15
|
+
];
|
|
16
|
+
export function GuideHostBuilderWorkbenchPage() {
|
|
17
|
+
return (
|
|
18
|
+
<div className="space-y-8">
|
|
19
|
+
<div className="space-y-3">
|
|
20
|
+
<h1 className="font-bold text-4xl">Host the Builder workbench</h1>
|
|
21
|
+
<p className="text-lg text-muted-foreground">
|
|
22
|
+
Use the reusable Builder workbench as the desktop control surface for
|
|
23
|
+
snapshot loading, guided authoring, preview, readiness, export, and
|
|
24
|
+
mobile review handoff.
|
|
25
|
+
</p>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<div className="card-subtle space-y-4 p-6">
|
|
29
|
+
<h2 className="font-bold text-2xl">What you'll build</h2>
|
|
30
|
+
<ul className="space-y-2 text-muted-foreground text-sm">
|
|
31
|
+
<li>A workspace snapshot fetch path.</li>
|
|
32
|
+
<li>A `BuilderWorkbench` host with action callbacks.</li>
|
|
33
|
+
<li>
|
|
34
|
+
Runtime-mode aware preview/export controls plus mobile review links.
|
|
35
|
+
</li>
|
|
36
|
+
</ul>
|
|
37
|
+
</div>
|
|
38
|
+
<div className="space-y-6">
|
|
39
|
+
<div className="space-y-3">
|
|
40
|
+
<h2 className="font-bold text-2xl">
|
|
41
|
+
1) Fetch the workspace snapshot
|
|
42
|
+
</h2>
|
|
43
|
+
<p className="text-muted-foreground text-sm">
|
|
44
|
+
The web shell already exposes a query path for the current Builder
|
|
45
|
+
workspace snapshot. Your host should load it first, then refresh it
|
|
46
|
+
after each successful command.
|
|
47
|
+
</p>
|
|
48
|
+
<CodeBlock
|
|
49
|
+
language="typescript"
|
|
50
|
+
filename="builder-workbench-controller.ts"
|
|
51
|
+
code={`export async function fetchBuilderSnapshot(workspaceId: string) {
|
|
52
|
+
const response = await fetch(
|
|
53
|
+
\`/api/operate/builder/queries/builder.workspace.snapshot?workspaceId=\${encodeURIComponent(workspaceId)}\`,
|
|
54
|
+
{ cache: "no-store" }
|
|
55
|
+
);
|
|
56
|
+
if (!response.ok) {
|
|
57
|
+
throw new Error("Failed to fetch Builder workspace snapshot.");
|
|
58
|
+
}
|
|
59
|
+
const payload = await response.json() as {
|
|
60
|
+
ok: boolean;
|
|
61
|
+
result: BuilderWorkspaceSnapshot;
|
|
62
|
+
};
|
|
63
|
+
if (!payload.ok) {
|
|
64
|
+
throw new Error("Builder workspace snapshot query returned an error.");
|
|
65
|
+
}
|
|
66
|
+
return payload.result;
|
|
67
|
+
}`}
|
|
68
|
+
/>
|
|
69
|
+
<p className="text-muted-foreground text-sm">
|
|
70
|
+
Expected output: one `BuilderWorkspaceSnapshot` containing
|
|
71
|
+
workspace, plan, providers, runtime targets, preview, export, and
|
|
72
|
+
mobile review state.
|
|
73
|
+
</p>
|
|
74
|
+
</div>
|
|
75
|
+
<div className="space-y-3">
|
|
76
|
+
<h2 className="font-bold text-2xl">
|
|
77
|
+
2) Host the workbench and refresh on action
|
|
78
|
+
</h2>
|
|
79
|
+
<p className="text-muted-foreground text-sm">
|
|
80
|
+
The simplest host pattern is local state plus a small action wrapper
|
|
81
|
+
that executes one Builder command and then refreshes the snapshot.
|
|
82
|
+
</p>
|
|
83
|
+
<CodeBlock
|
|
84
|
+
language="tsx"
|
|
85
|
+
filename="BuilderWorkbenchHost.tsx"
|
|
86
|
+
code={`import {
|
|
87
|
+
BuilderWorkbench,
|
|
88
|
+
useBuilderWorkbenchState,
|
|
89
|
+
} from "@contractspec/module.builder-workbench/presentation";
|
|
90
|
+
|
|
91
|
+
const { snapshot, setSnapshot, promptDraft, setPromptDraft } =
|
|
92
|
+
useBuilderWorkbenchState({
|
|
93
|
+
workspace: initialSnapshot.workspace,
|
|
94
|
+
initialSnapshot,
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
async function runAction(commandKey: string, payload?: Record<string, unknown>) {
|
|
98
|
+
await executeBuilderCommand({ commandKey, workspaceId, payload });
|
|
99
|
+
setSnapshot(await fetchBuilderSnapshot(workspaceId));
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
<BuilderWorkbench
|
|
103
|
+
snapshot={snapshot}
|
|
104
|
+
promptDraft={promptDraft}
|
|
105
|
+
onPromptDraftChange={setPromptDraft}
|
|
106
|
+
onCapturePrompt={() =>
|
|
107
|
+
runAction("builder.channel.receiveInbound", createPromptEnvelope(workspaceId, promptDraft))
|
|
108
|
+
}
|
|
109
|
+
onGenerateBlueprint={() => runAction("builder.blueprint.generate")}
|
|
110
|
+
onCompilePlan={() => runAction("builder.plan.compile")}
|
|
111
|
+
onCreatePreview={() => runAction("builder.preview.create", { runtimeMode: "hybrid" })}
|
|
112
|
+
onRunReadiness={() => runAction("builder.preview.runHarness")}
|
|
113
|
+
onPrepareExport={() => runAction("builder.export.prepare", { runtimeMode: "hybrid" })}
|
|
114
|
+
onApproveExport={() => runAction("builder.export.approve")}
|
|
115
|
+
onExecuteExport={() => runAction("builder.export.execute")}
|
|
116
|
+
selectedExportRuntimeMode="hybrid"
|
|
117
|
+
/>;`}
|
|
118
|
+
/>
|
|
119
|
+
<p className="text-muted-foreground text-sm">
|
|
120
|
+
Expected output: each successful action leaves the host with a fresh
|
|
121
|
+
snapshot and keeps the workbench tabs aligned with current runtime
|
|
122
|
+
state.
|
|
123
|
+
</p>
|
|
124
|
+
</div>
|
|
125
|
+
<div className="space-y-3">
|
|
126
|
+
<h2 className="font-bold text-2xl">
|
|
127
|
+
3) Bootstrap providers and routing policy explicitly
|
|
128
|
+
</h2>
|
|
129
|
+
<p className="text-muted-foreground text-sm">
|
|
130
|
+
Builder v3 treats provider routing as policy, not heuristic. Use the
|
|
131
|
+
workspace bootstrap command as the single managed-first setup path
|
|
132
|
+
instead of orchestrating provider registration in the app shell.
|
|
133
|
+
</p>
|
|
134
|
+
<CodeBlock
|
|
135
|
+
language="typescript"
|
|
136
|
+
filename="builder-bootstrap.ts"
|
|
137
|
+
code={`await executeBuilderCommand({
|
|
138
|
+
commandKey: "builder.workspace.bootstrap",
|
|
139
|
+
workspaceId,
|
|
140
|
+
payload: {
|
|
141
|
+
preset: "managed_mvp",
|
|
142
|
+
includeLocalHelperProvider: true,
|
|
143
|
+
},
|
|
144
|
+
});`}
|
|
145
|
+
/>
|
|
146
|
+
</div>
|
|
147
|
+
<div className="card-subtle space-y-3 p-6">
|
|
148
|
+
<h3 className="font-semibold text-lg">Common command keys</h3>
|
|
149
|
+
<ul className="space-y-2 text-muted-foreground text-sm">
|
|
150
|
+
{builderCommands.map((command) => (
|
|
151
|
+
<li key={command}>
|
|
152
|
+
<code>{command}</code>
|
|
153
|
+
</li>
|
|
154
|
+
))}
|
|
155
|
+
</ul>
|
|
156
|
+
</div>
|
|
157
|
+
<div className="space-y-3">
|
|
158
|
+
<h2 className="font-bold text-2xl">4) Keep runtime mode explicit</h2>
|
|
159
|
+
<p className="text-muted-foreground text-sm">
|
|
160
|
+
Preview and export flows are runtime-mode aware. The host chooses
|
|
161
|
+
between `managed`, `local`, and `hybrid` and passes that choice into
|
|
162
|
+
preview or export commands instead of hiding it behind provider
|
|
163
|
+
selection heuristics.
|
|
164
|
+
</p>
|
|
165
|
+
<CodeBlock
|
|
166
|
+
language="typescript"
|
|
167
|
+
filename="runtime-mode"
|
|
168
|
+
code={`const [selectedExportRuntimeMode, setSelectedExportRuntimeMode] =
|
|
169
|
+
React.useState(resolveBuilderExportRuntimeMode(initialSnapshot));
|
|
170
|
+
|
|
171
|
+
await executeBuilderCommand({
|
|
172
|
+
commandKey: "builder.preview.create",
|
|
173
|
+
workspaceId,
|
|
174
|
+
payload: {
|
|
175
|
+
runtimeMode: selectedExportRuntimeMode,
|
|
176
|
+
},
|
|
177
|
+
});`}
|
|
178
|
+
/>
|
|
179
|
+
</div>
|
|
180
|
+
<div className="space-y-3">
|
|
181
|
+
<h2 className="font-bold text-2xl">5) Link mobile review flows</h2>
|
|
182
|
+
<p className="text-muted-foreground text-sm">
|
|
183
|
+
When a patch proposal, approval ticket, or incident needs operator
|
|
184
|
+
follow-up away from the desktop workbench, deep-link into the mobile
|
|
185
|
+
review route instead of inventing a separate data model.
|
|
186
|
+
</p>
|
|
187
|
+
<CodeBlock
|
|
188
|
+
language="typescript"
|
|
189
|
+
filename="mobile-review-path.ts"
|
|
190
|
+
code={`export function buildBuilderMobileReviewPath(
|
|
191
|
+
workspaceId: string,
|
|
192
|
+
cardId: string
|
|
193
|
+
) {
|
|
194
|
+
return \`/operate/builder/workspaces/\${encodeURIComponent(workspaceId)}/mobile-review/\${encodeURIComponent(cardId)}\`;
|
|
195
|
+
}`}
|
|
196
|
+
/>
|
|
197
|
+
<p className="text-muted-foreground text-sm">
|
|
198
|
+
Expected output: the same Builder workspace state stays visible from
|
|
199
|
+
desktop workbench and mobile review surfaces.
|
|
200
|
+
</p>
|
|
201
|
+
</div>
|
|
202
|
+
<div className="space-y-3">
|
|
203
|
+
<h2 className="font-bold text-2xl">
|
|
204
|
+
6) Keep Connect adjacent, not embedded
|
|
205
|
+
</h2>
|
|
206
|
+
<p className="text-muted-foreground text-sm">
|
|
207
|
+
Builder owns the authoring control plane. When Builder delegates
|
|
208
|
+
into coding repositories, enable Connect in those target workspaces
|
|
209
|
+
for context packs, mutation verification, replay, and review
|
|
210
|
+
packets, but do not replace Builder contracts with Connect
|
|
211
|
+
artifacts.
|
|
212
|
+
</p>
|
|
213
|
+
<CodeBlock
|
|
214
|
+
language="bash"
|
|
215
|
+
filename="connect-init.sh"
|
|
216
|
+
code={`contractspec connect init --scope workspace`}
|
|
217
|
+
/>
|
|
218
|
+
</div>
|
|
219
|
+
</div>
|
|
220
|
+
<div className="flex items-center gap-4 pt-4">
|
|
221
|
+
<Link href="/docs/specs/builder-control-plane" className="btn-primary">
|
|
222
|
+
Back to Builder control plane <ChevronRight size={16} />
|
|
223
|
+
</Link>
|
|
224
|
+
<Link href="/docs/studio" className="btn-ghost">
|
|
225
|
+
Studio overview
|
|
226
|
+
</Link>
|
|
227
|
+
</div>
|
|
228
|
+
</div>
|
|
229
|
+
);
|
|
230
|
+
}
|
|
@@ -38,6 +38,27 @@ const guides = [
|
|
|
38
38
|
href: '/docs/guides/docs-generation-pipeline',
|
|
39
39
|
time: '20 min',
|
|
40
40
|
},
|
|
41
|
+
{
|
|
42
|
+
title: 'Build a first module bundle',
|
|
43
|
+
description:
|
|
44
|
+
'Define one bundle spec, resolve a surface plan, and render it through the React host layer.',
|
|
45
|
+
href: '/docs/guides/first-module-bundle',
|
|
46
|
+
time: '20 min',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
title: 'Host the Builder workbench',
|
|
50
|
+
description:
|
|
51
|
+
'Wire a Builder workspace snapshot, common commands, runtime modes, and mobile review links into the reusable host.',
|
|
52
|
+
href: '/docs/guides/host-builder-workbench',
|
|
53
|
+
time: '20 min',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
title: 'Use Connect in a repo',
|
|
57
|
+
description:
|
|
58
|
+
'Enable Connect, verify agent actions locally, and inspect the resulting review and replay artifacts.',
|
|
59
|
+
href: '/docs/guides/connect-in-a-repo',
|
|
60
|
+
time: '15 min',
|
|
61
|
+
},
|
|
41
62
|
{
|
|
42
63
|
title: 'CI diff gating',
|
|
43
64
|
description:
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import './guides.docblocks';
|
|
2
2
|
|
|
3
3
|
export { GuideCIDiffGatingPage } from './GuideCIDiffGatingPage';
|
|
4
|
+
export { GuideConnectInRepoPage } from './GuideConnectInRepoPage';
|
|
4
5
|
export { GuideContractTypesPage } from './GuideContractTypesPage';
|
|
5
6
|
export { GuideDocsPipelinePage } from './GuideDocsPipelinePage';
|
|
7
|
+
export { GuideFirstModuleBundlePage } from './GuideFirstModuleBundlePage';
|
|
6
8
|
export { GuideGenerateDocsClientsSchemasPage } from './GuideGenerateDocsClientsSchemasPage';
|
|
9
|
+
export { GuideHostBuilderWorkbenchPage } from './GuideHostBuilderWorkbenchPage';
|
|
7
10
|
export { GuideImportExistingCodebasesPage } from './GuideImportExistingCodebasesPage';
|
|
8
11
|
export { GuideNextjsOneEndpointPage } from './GuideNextjsOneEndpointPage';
|
|
9
12
|
export { GuideSpecValidationTypingPage } from './GuideSpecValidationTypingPage';
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { CodeBlock } from '@contractspec/lib.design-system';
|
|
2
|
+
import Link from '@contractspec/lib.ui-link';
|
|
3
|
+
|
|
4
|
+
const runtimeModes = [
|
|
5
|
+
{
|
|
6
|
+
title: 'Managed',
|
|
7
|
+
body: 'Best when the team wants the platform to own setup, routing, readiness, and mobile-safe defaults.',
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
title: 'Local',
|
|
11
|
+
body: 'Best for power users who want tenant-local execution providers and tighter data-locality control.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
title: 'Hybrid',
|
|
15
|
+
body: 'Best when some work should stay local while preview, review, or export flows still use managed coordination.',
|
|
16
|
+
},
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
const builderLoop = [
|
|
20
|
+
'Capture prompts, files, voice, and other inbound sources into a typed workspace instead of relying on a single chat transcript.',
|
|
21
|
+
'Fuse the sources into decisions, assumptions, and blueprint updates with provenance and approval memory.',
|
|
22
|
+
'Compile authoring work into execution lanes, then route the work to explicit provider profiles and runtime targets.',
|
|
23
|
+
'Create previews, run readiness gates, and record receipts before export becomes an operator action.',
|
|
24
|
+
'Keep mobile review parity so approvals, incidents, and patch proposals can be inspected away from the desktop workbench.',
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
export function SpecsBuilderControlPlanePage() {
|
|
28
|
+
return (
|
|
29
|
+
<div className="space-y-10">
|
|
30
|
+
<section className="space-y-3">
|
|
31
|
+
<p className="editorial-kicker">Spec pack</p>
|
|
32
|
+
<h1 className="font-serif text-4xl tracking-[-0.04em] md:text-5xl">
|
|
33
|
+
Builder is a governed authoring control plane, not a frontier coding
|
|
34
|
+
agent.
|
|
35
|
+
</h1>
|
|
36
|
+
<p className="max-w-3xl text-lg text-muted-foreground leading-8">
|
|
37
|
+
The implemented Builder stack sits across{' '}
|
|
38
|
+
<code>@contractspec/lib.builder-spec</code>,{' '}
|
|
39
|
+
<code>@contractspec/lib.builder-runtime</code>,{' '}
|
|
40
|
+
<code>@contractspec/lib.provider-spec</code>, and the reusable
|
|
41
|
+
workbench/mobile modules. It orchestrates inputs, provider routing,
|
|
42
|
+
readiness, and export decisions on top of the OSS ContractSpec
|
|
43
|
+
foundation and the Studio operating layer.
|
|
44
|
+
</p>
|
|
45
|
+
</section>
|
|
46
|
+
|
|
47
|
+
<section className="editorial-proof-strip">
|
|
48
|
+
<div className="editorial-stat">
|
|
49
|
+
<span className="editorial-label">What Builder owns</span>
|
|
50
|
+
<span className="editorial-stat-value">
|
|
51
|
+
fusion, routing, readiness, export
|
|
52
|
+
</span>
|
|
53
|
+
</div>
|
|
54
|
+
<p className="max-w-2xl text-muted-foreground text-sm leading-7">
|
|
55
|
+
Builder delegates synthesis and coding to external execution
|
|
56
|
+
providers. Its job is to keep those runs policy-aware,
|
|
57
|
+
provenance-rich, and usable from both desktop and mobile operator
|
|
58
|
+
surfaces.
|
|
59
|
+
</p>
|
|
60
|
+
</section>
|
|
61
|
+
|
|
62
|
+
<section className="editorial-panel space-y-5">
|
|
63
|
+
<div className="space-y-2">
|
|
64
|
+
<h2 className="font-serif text-3xl tracking-[-0.03em]">
|
|
65
|
+
Implemented stack and entrypoints
|
|
66
|
+
</h2>
|
|
67
|
+
<p className="text-muted-foreground text-sm leading-7">
|
|
68
|
+
You can use the type surfaces directly in code, or start from the
|
|
69
|
+
already wired workbench and mobile review routes in the public app
|
|
70
|
+
shell.
|
|
71
|
+
</p>
|
|
72
|
+
</div>
|
|
73
|
+
<CodeBlock
|
|
74
|
+
language="text"
|
|
75
|
+
filename="builder-stack"
|
|
76
|
+
code={`Packages
|
|
77
|
+
- @contractspec/lib.builder-spec
|
|
78
|
+
- @contractspec/lib.builder-runtime
|
|
79
|
+
- @contractspec/lib.provider-spec
|
|
80
|
+
- @contractspec/module.builder-workbench
|
|
81
|
+
- @contractspec/module.mobile-review
|
|
82
|
+
|
|
83
|
+
Web app routes
|
|
84
|
+
- /operate/builder/workspaces/:workspaceId
|
|
85
|
+
- /operate/builder/workspaces/:workspaceId/mobile-review/:cardId
|
|
86
|
+
|
|
87
|
+
Operate API proxy
|
|
88
|
+
- /api/operate/builder/queries/builder.workspace.snapshot
|
|
89
|
+
- /api/operate/builder/commands/builder.blueprint.patch
|
|
90
|
+
- /api/operate/builder/commands/builder.export.execute`}
|
|
91
|
+
/>
|
|
92
|
+
</section>
|
|
93
|
+
|
|
94
|
+
<section className="grid gap-4 md:grid-cols-3">
|
|
95
|
+
{runtimeModes.map((item) => (
|
|
96
|
+
<article key={item.title} className="editorial-panel space-y-3">
|
|
97
|
+
<h2 className="font-semibold text-xl">{item.title}</h2>
|
|
98
|
+
<p className="text-muted-foreground text-sm leading-7">
|
|
99
|
+
{item.body}
|
|
100
|
+
</p>
|
|
101
|
+
</article>
|
|
102
|
+
))}
|
|
103
|
+
</section>
|
|
104
|
+
|
|
105
|
+
<section className="grid gap-5 lg:grid-cols-2">
|
|
106
|
+
<article className="editorial-panel space-y-4">
|
|
107
|
+
<h2 className="font-serif text-3xl tracking-[-0.03em]">
|
|
108
|
+
Typical Builder loop
|
|
109
|
+
</h2>
|
|
110
|
+
<ol className="list-inside list-decimal space-y-3 text-muted-foreground text-sm leading-7">
|
|
111
|
+
{builderLoop.map((step) => (
|
|
112
|
+
<li key={step}>{step}</li>
|
|
113
|
+
))}
|
|
114
|
+
</ol>
|
|
115
|
+
</article>
|
|
116
|
+
|
|
117
|
+
<article className="editorial-panel space-y-4">
|
|
118
|
+
<h2 className="font-serif text-3xl tracking-[-0.03em]">
|
|
119
|
+
What Builder should not become
|
|
120
|
+
</h2>
|
|
121
|
+
<ul className="editorial-list">
|
|
122
|
+
<li>
|
|
123
|
+
<span className="editorial-list-marker" />
|
|
124
|
+
<span>
|
|
125
|
+
Not a competitor to specialized coding agents such as Codex or
|
|
126
|
+
Claude Code.
|
|
127
|
+
</span>
|
|
128
|
+
</li>
|
|
129
|
+
<li>
|
|
130
|
+
<span className="editorial-list-marker" />
|
|
131
|
+
<span>
|
|
132
|
+
Not a managed-only product that traps teams away from OSS-local
|
|
133
|
+
runtime paths.
|
|
134
|
+
</span>
|
|
135
|
+
</li>
|
|
136
|
+
<li>
|
|
137
|
+
<span className="editorial-list-marker" />
|
|
138
|
+
<span>
|
|
139
|
+
Not a hidden routing layer that obscures provider provenance,
|
|
140
|
+
receipts, or runtime mode.
|
|
141
|
+
</span>
|
|
142
|
+
</li>
|
|
143
|
+
<li>
|
|
144
|
+
<span className="editorial-list-marker" />
|
|
145
|
+
<span>
|
|
146
|
+
Not a desktop-only surface. Mobile review parity is part of the
|
|
147
|
+
control-plane contract.
|
|
148
|
+
</span>
|
|
149
|
+
</li>
|
|
150
|
+
</ul>
|
|
151
|
+
</article>
|
|
152
|
+
</section>
|
|
153
|
+
|
|
154
|
+
<section className="editorial-panel space-y-5">
|
|
155
|
+
<div className="space-y-2">
|
|
156
|
+
<h2 className="font-serif text-3xl tracking-[-0.03em]">
|
|
157
|
+
Use the workbench UI as the host surface
|
|
158
|
+
</h2>
|
|
159
|
+
<p className="text-muted-foreground text-sm leading-7">
|
|
160
|
+
The reusable module already exposes the desktop workbench shell.
|
|
161
|
+
Your host app keeps control of action wiring, runtime mode
|
|
162
|
+
selection, and approval flows.
|
|
163
|
+
</p>
|
|
164
|
+
</div>
|
|
165
|
+
<CodeBlock
|
|
166
|
+
language="tsx"
|
|
167
|
+
filename="BuilderWorkbenchHost.tsx"
|
|
168
|
+
code={`import { BuilderWorkbench, useBuilderWorkbenchState } from "@contractspec/module.builder-workbench";
|
|
169
|
+
|
|
170
|
+
const state = useBuilderWorkbenchState({
|
|
171
|
+
workspace: initialSnapshot.workspace,
|
|
172
|
+
initialSnapshot,
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
<BuilderWorkbench
|
|
176
|
+
snapshot={state.snapshot}
|
|
177
|
+
promptDraft={state.promptDraft}
|
|
178
|
+
onPromptDraftChange={state.setPromptDraft}
|
|
179
|
+
onCapturePrompt={capturePrompt}
|
|
180
|
+
onGenerateBlueprint={generateBlueprint}
|
|
181
|
+
onCompilePlan={compilePlan}
|
|
182
|
+
onCreatePreview={createPreview}
|
|
183
|
+
onRunReadiness={runReadiness}
|
|
184
|
+
onExecuteExport={executeExport}
|
|
185
|
+
selectedExportRuntimeMode="hybrid"
|
|
186
|
+
/>;`}
|
|
187
|
+
/>
|
|
188
|
+
</section>
|
|
189
|
+
|
|
190
|
+
<section className="editorial-panel space-y-4">
|
|
191
|
+
<h2 className="font-serif text-3xl tracking-[-0.03em]">
|
|
192
|
+
Read this with the Studio bridge in mind
|
|
193
|
+
</h2>
|
|
194
|
+
<p className="text-muted-foreground text-sm leading-7">
|
|
195
|
+
Builder is where the OSS foundation meets the richer operating layer.
|
|
196
|
+
Use the Studio overview when you want the higher-level product posture
|
|
197
|
+
and team workflows on top of these contracts.
|
|
198
|
+
</p>
|
|
199
|
+
<div className="flex flex-wrap gap-3">
|
|
200
|
+
<Link href="/docs/studio" className="btn-primary">
|
|
201
|
+
Studio overview
|
|
202
|
+
</Link>
|
|
203
|
+
<Link href="/docs/architecture/control-plane" className="btn-ghost">
|
|
204
|
+
Control-plane runtime
|
|
205
|
+
</Link>
|
|
206
|
+
</div>
|
|
207
|
+
</section>
|
|
208
|
+
</div>
|
|
209
|
+
);
|
|
210
|
+
}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { CodeBlock } from '@contractspec/lib.design-system';
|
|
2
|
+
import Link from '@contractspec/lib.ui-link';
|
|
3
|
+
|
|
4
|
+
const artifacts = [
|
|
5
|
+
{
|
|
6
|
+
title: 'ContextPack',
|
|
7
|
+
body: 'Projects the current repo state, impacted contracts, canon packs, policy bindings, and acceptance checks into one task-scoped envelope.',
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
title: 'PlanPacket',
|
|
11
|
+
body: 'Compiles a candidate objective into ACP-aware steps plus explicit refs back to control-plane intent, plan compile, and plan verify contracts.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
title: 'PatchVerdict',
|
|
15
|
+
body: 'Classifies one file edit or shell command as permit, rewrite, require_review, or deny, with runtime-linked control-plane state when available.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
title: 'ReviewPacket',
|
|
19
|
+
body: 'Persists the evidence a human needs when Connect escalates, while keeping the local artifact trail authoritative in OSS mode.',
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const adoptionSteps = [
|
|
24
|
+
'Enable `connect` in `.contractsrc.json` and keep your protected, immutable, generated, and smoke-check policies explicit.',
|
|
25
|
+
'Run `contractspec connect context` and `contractspec connect plan` before risky work so the agent is operating on task-scoped evidence, not ambient repo assumptions.',
|
|
26
|
+
'Gate file and shell mutations through `contractspec connect verify` or the host hook commands instead of inventing editor-specific approval logic.',
|
|
27
|
+
'Inspect pending review packets locally first, then sync them to the Studio bridge only if your team wants centralized operator workflows.',
|
|
28
|
+
'Use replay and harness evaluation to prove whether a prior decision stayed safe when the workspace changed.',
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
const guardrails = [
|
|
32
|
+
'Connect is not a second control plane or a second package family.',
|
|
33
|
+
'Verdicts are projections over existing `controlPlane.*`, ACP, workspace, and harness primitives.',
|
|
34
|
+
'Studio is optional for baseline enforcement. Local artifacts remain the OSS source of truth.',
|
|
35
|
+
'Destructive commands, protected paths, drift, and unknown impact stay visible instead of being hidden behind adapter magic.',
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
export function SpecsConnectPage() {
|
|
39
|
+
return (
|
|
40
|
+
<div className="space-y-10">
|
|
41
|
+
<section className="space-y-3">
|
|
42
|
+
<p className="editorial-kicker">Spec pack</p>
|
|
43
|
+
<h1 className="font-serif text-4xl tracking-[-0.04em] md:text-5xl">
|
|
44
|
+
ContractSpec Connect puts coding-agent actions behind explicit,
|
|
45
|
+
local-first governance.
|
|
46
|
+
</h1>
|
|
47
|
+
<p className="max-w-3xl text-lg text-muted-foreground leading-8">
|
|
48
|
+
Connect is the adapter layer between agent-native actions and the
|
|
49
|
+
existing ContractSpec stack. It reuses control-plane, ACP, workspace,
|
|
50
|
+
knowledge, and harness primitives to explain what the agent is trying
|
|
51
|
+
to do before a file edit or shell command lands.
|
|
52
|
+
</p>
|
|
53
|
+
</section>
|
|
54
|
+
|
|
55
|
+
<section className="editorial-proof-strip">
|
|
56
|
+
<div className="editorial-stat">
|
|
57
|
+
<span className="editorial-label">Authoritative surfaces</span>
|
|
58
|
+
<span className="editorial-stat-value">
|
|
59
|
+
control plane, ACP, workspace, harness
|
|
60
|
+
</span>
|
|
61
|
+
</div>
|
|
62
|
+
<p className="max-w-2xl text-muted-foreground text-sm leading-7">
|
|
63
|
+
Connect stays narrow on purpose. It projects local evidence, maps its
|
|
64
|
+
verdicts back to runtime semantics, and leaves the canonical system
|
|
65
|
+
contracts where they already live.
|
|
66
|
+
</p>
|
|
67
|
+
</section>
|
|
68
|
+
|
|
69
|
+
<section className="editorial-panel space-y-5">
|
|
70
|
+
<div className="space-y-2">
|
|
71
|
+
<h2 className="font-serif text-3xl tracking-[-0.03em]">
|
|
72
|
+
What you use in practice
|
|
73
|
+
</h2>
|
|
74
|
+
<p className="text-muted-foreground text-sm leading-7">
|
|
75
|
+
The CLI and the workspace service already implement the pack. The
|
|
76
|
+
main workflow is local initialization, task projection,
|
|
77
|
+
verification, then optional review sync.
|
|
78
|
+
</p>
|
|
79
|
+
</div>
|
|
80
|
+
<CodeBlock
|
|
81
|
+
language="bash"
|
|
82
|
+
filename="contractspec-connect"
|
|
83
|
+
code={`contractspec connect init --scope workspace
|
|
84
|
+
contractspec connect context --task refactor-docs --paths packages/libs/contracts-spec/src/control-plane/contracts.ts --json
|
|
85
|
+
printf '{"objective":"Document the control-plane contract surface","commands":["bun run typecheck"]}' | contractspec connect plan --task refactor-docs --stdin --json
|
|
86
|
+
printf '{"operation":"edit","path":"packages/libs/contracts-spec/src/control-plane/contracts.ts"}' | contractspec connect verify --task refactor-docs --tool acp.fs.access --stdin --json
|
|
87
|
+
printf 'bun run typecheck' | contractspec connect verify --task refactor-docs --tool acp.terminal.exec --stdin --json
|
|
88
|
+
contractspec connect review list --json
|
|
89
|
+
contractspec connect replay <decisionId> --json`}
|
|
90
|
+
/>
|
|
91
|
+
</section>
|
|
92
|
+
|
|
93
|
+
<section className="space-y-5">
|
|
94
|
+
<div className="space-y-2">
|
|
95
|
+
<h2 className="font-serif text-3xl tracking-[-0.03em]">
|
|
96
|
+
The four core artifacts
|
|
97
|
+
</h2>
|
|
98
|
+
<p className="text-muted-foreground text-sm leading-7">
|
|
99
|
+
Every Connect command is there to emit or inspect one of these
|
|
100
|
+
reviewable objects under `.contractspec/connect/*`.
|
|
101
|
+
</p>
|
|
102
|
+
</div>
|
|
103
|
+
<div className="grid gap-4 md:grid-cols-2">
|
|
104
|
+
{artifacts.map((item) => (
|
|
105
|
+
<article key={item.title} className="editorial-panel space-y-3">
|
|
106
|
+
<h3 className="font-semibold text-xl">{item.title}</h3>
|
|
107
|
+
<p className="text-muted-foreground text-sm leading-7">
|
|
108
|
+
{item.body}
|
|
109
|
+
</p>
|
|
110
|
+
</article>
|
|
111
|
+
))}
|
|
112
|
+
</div>
|
|
113
|
+
</section>
|
|
114
|
+
|
|
115
|
+
<section className="grid gap-5 lg:grid-cols-2">
|
|
116
|
+
<article className="editorial-panel space-y-4">
|
|
117
|
+
<h2 className="font-serif text-3xl tracking-[-0.03em]">
|
|
118
|
+
Adopt Connect in this order
|
|
119
|
+
</h2>
|
|
120
|
+
<ol className="list-inside list-decimal space-y-3 text-muted-foreground text-sm leading-7">
|
|
121
|
+
{adoptionSteps.map((step) => (
|
|
122
|
+
<li key={step}>{step}</li>
|
|
123
|
+
))}
|
|
124
|
+
</ol>
|
|
125
|
+
</article>
|
|
126
|
+
|
|
127
|
+
<article className="editorial-panel space-y-4">
|
|
128
|
+
<h2 className="font-serif text-3xl tracking-[-0.03em]">
|
|
129
|
+
Boundaries that keep it trustworthy
|
|
130
|
+
</h2>
|
|
131
|
+
<ul className="editorial-list">
|
|
132
|
+
{guardrails.map((item) => (
|
|
133
|
+
<li key={item}>
|
|
134
|
+
<span className="editorial-list-marker" />
|
|
135
|
+
<span>{item}</span>
|
|
136
|
+
</li>
|
|
137
|
+
))}
|
|
138
|
+
</ul>
|
|
139
|
+
</article>
|
|
140
|
+
</section>
|
|
141
|
+
|
|
142
|
+
<section className="editorial-panel space-y-4">
|
|
143
|
+
<h2 className="font-serif text-3xl tracking-[-0.03em]">
|
|
144
|
+
Where Connect fits in the rest of the docs
|
|
145
|
+
</h2>
|
|
146
|
+
<p className="text-muted-foreground text-sm leading-7">
|
|
147
|
+
Read the control-plane runtime page when you want the underlying
|
|
148
|
+
governance contracts, then use the Studio bridge only if your team
|
|
149
|
+
wants centralized review queues on top of the OSS-local evidence path.
|
|
150
|
+
</p>
|
|
151
|
+
<div className="flex flex-wrap gap-3">
|
|
152
|
+
<Link href="/docs/architecture/control-plane" className="btn-primary">
|
|
153
|
+
Control-plane runtime
|
|
154
|
+
</Link>
|
|
155
|
+
<Link href="/docs/studio" className="btn-ghost">
|
|
156
|
+
Studio bridge
|
|
157
|
+
</Link>
|
|
158
|
+
</div>
|
|
159
|
+
</section>
|
|
160
|
+
</div>
|
|
161
|
+
);
|
|
162
|
+
}
|