@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,145 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import Link from "@contractspec/lib.ui-link";
|
|
3
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
-
function StudioPrompt({
|
|
5
|
-
title = "Need the operating layer on top of OSS ContractSpec?",
|
|
6
|
-
body = "ContractSpec Studio helps teams turn evidence into proposed spec changes, governed delivery loops, and execution-ready task packs while keeping the open contract system as the source of truth.",
|
|
7
|
-
ctaLabel = "See what Studio adds",
|
|
8
|
-
href = "https://www.contractspec.studio/docs"
|
|
9
|
-
}) {
|
|
10
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
11
|
-
className: "card-subtle space-y-3 p-6",
|
|
12
|
-
children: [
|
|
13
|
-
/* @__PURE__ */ jsx("h3", {
|
|
14
|
-
className: "font-semibold text-lg",
|
|
15
|
-
children: title
|
|
16
|
-
}),
|
|
17
|
-
/* @__PURE__ */ jsx("p", {
|
|
18
|
-
className: "text-muted-foreground text-sm",
|
|
19
|
-
children: body
|
|
20
|
-
}),
|
|
21
|
-
/* @__PURE__ */ jsx(Link, {
|
|
22
|
-
href,
|
|
23
|
-
className: "btn-primary",
|
|
24
|
-
children: ctaLabel
|
|
25
|
-
})
|
|
26
|
-
]
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// src/components/docs/guides/GuideDocsPipelinePage.tsx
|
|
31
|
-
import { CodeBlock } from "@contractspec/lib.design-system";
|
|
32
|
-
import Link2 from "@contractspec/lib.ui-link";
|
|
33
|
-
import { ChevronRight } from "lucide-react";
|
|
34
|
-
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
35
|
-
function GuideDocsPipelinePage() {
|
|
36
|
-
return /* @__PURE__ */ jsxs2("div", {
|
|
37
|
-
className: "space-y-8",
|
|
38
|
-
children: [
|
|
39
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
40
|
-
className: "space-y-3",
|
|
41
|
-
children: [
|
|
42
|
-
/* @__PURE__ */ jsx2("h1", {
|
|
43
|
-
className: "font-bold text-4xl",
|
|
44
|
-
children: "Build the docs pipeline"
|
|
45
|
-
}),
|
|
46
|
-
/* @__PURE__ */ jsx2("p", {
|
|
47
|
-
className: "text-lg text-muted-foreground",
|
|
48
|
-
children: "Generate reference docs, chunk the index, and wire the docs pages the same way this repo does."
|
|
49
|
-
})
|
|
50
|
-
]
|
|
51
|
-
}),
|
|
52
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
53
|
-
className: "card-subtle space-y-4 p-6",
|
|
54
|
-
children: [
|
|
55
|
-
/* @__PURE__ */ jsx2("h2", {
|
|
56
|
-
className: "font-bold text-2xl",
|
|
57
|
-
children: "What you'll build"
|
|
58
|
-
}),
|
|
59
|
-
/* @__PURE__ */ jsxs2("ul", {
|
|
60
|
-
className: "space-y-2 text-muted-foreground text-sm",
|
|
61
|
-
children: [
|
|
62
|
-
/* @__PURE__ */ jsx2("li", {
|
|
63
|
-
children: "Generated Markdown and a chunked index manifest."
|
|
64
|
-
}),
|
|
65
|
-
/* @__PURE__ */ jsx2("li", {
|
|
66
|
-
children: "Reference routes powered by the docs loader."
|
|
67
|
-
}),
|
|
68
|
-
/* @__PURE__ */ jsx2("li", {
|
|
69
|
-
children: "Versioned outputs you can publish per release."
|
|
70
|
-
})
|
|
71
|
-
]
|
|
72
|
-
})
|
|
73
|
-
]
|
|
74
|
-
}),
|
|
75
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
76
|
-
className: "space-y-6",
|
|
77
|
-
children: [
|
|
78
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
79
|
-
className: "space-y-3",
|
|
80
|
-
children: [
|
|
81
|
-
/* @__PURE__ */ jsx2("h2", {
|
|
82
|
-
className: "font-bold text-2xl",
|
|
83
|
-
children: "1) Generate contract docs"
|
|
84
|
-
}),
|
|
85
|
-
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
86
|
-
language: "bash",
|
|
87
|
-
filename: "generate-contract-docs",
|
|
88
|
-
code: `contractspec generate`
|
|
89
|
-
}),
|
|
90
|
-
/* @__PURE__ */ jsxs2("p", {
|
|
91
|
-
className: "text-muted-foreground text-sm",
|
|
92
|
-
children: [
|
|
93
|
-
"Expected output: Markdown in ",
|
|
94
|
-
/* @__PURE__ */ jsx2("code", {
|
|
95
|
-
children: "generated/docs"
|
|
96
|
-
}),
|
|
97
|
-
"."
|
|
98
|
-
]
|
|
99
|
-
})
|
|
100
|
-
]
|
|
101
|
-
}),
|
|
102
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
103
|
-
className: "space-y-3",
|
|
104
|
-
children: [
|
|
105
|
-
/* @__PURE__ */ jsx2("h2", {
|
|
106
|
-
className: "font-bold text-2xl",
|
|
107
|
-
children: "2) Build the docs index"
|
|
108
|
-
}),
|
|
109
|
-
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
110
|
-
language: "bash",
|
|
111
|
-
filename: "docs-generate",
|
|
112
|
-
code: `bun docs:generate
|
|
1
|
+
import l from"@contractspec/lib.ui-link";import{jsx as o,jsxs as p}from"react/jsx-runtime";function d({title:n="Need the operating layer on top of OSS ContractSpec?",body:r="ContractSpec Studio helps teams turn evidence into proposed spec changes, governed delivery loops, and execution-ready task packs while keeping the open contract system as the source of truth.",ctaLabel:i="See what Studio adds",href:s="https://www.contractspec.studio/docs"}){return p("div",{className:"card-subtle space-y-3 p-6",children:[o("h3",{className:"font-semibold text-lg",children:n}),o("p",{className:"text-muted-foreground text-sm",children:r}),o(l,{href:s,className:"btn-primary",children:i})]})}import{CodeBlock as a}from"@contractspec/lib.design-system";import c from"@contractspec/lib.ui-link";import{ChevronRight as u}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function y(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Build the docs pipeline"}),e("p",{className:"text-lg text-muted-foreground",children:"Generate reference docs, chunk the index, and wire the docs pages the same way this repo does."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"Generated Markdown and a chunked index manifest."}),e("li",{children:"Reference routes powered by the docs loader."}),e("li",{children:"Versioned outputs you can publish per release."})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Generate contract docs"}),e(a,{language:"bash",filename:"generate-contract-docs",code:"contractspec generate"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: Markdown in ",e("code",{children:"generated/docs"}),"."]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Build the docs index"}),e(a,{language:"bash",filename:"docs-generate",code:`bun docs:generate
|
|
113
2
|
# versioned output
|
|
114
|
-
bun docs:generate -- --version v1.0.0`
|
|
115
|
-
}),
|
|
116
|
-
/* @__PURE__ */ jsxs2("p", {
|
|
117
|
-
className: "text-muted-foreground text-sm",
|
|
118
|
-
children: [
|
|
119
|
-
"This writes ",
|
|
120
|
-
/* @__PURE__ */ jsx2("code", {
|
|
121
|
-
children: "docs-index.manifest.json"
|
|
122
|
-
}),
|
|
123
|
-
" and chunked",
|
|
124
|
-
/* @__PURE__ */ jsx2("code", {
|
|
125
|
-
children: "docs-index.*.json"
|
|
126
|
-
}),
|
|
127
|
-
" files in the generated docs bundle."
|
|
128
|
-
]
|
|
129
|
-
})
|
|
130
|
-
]
|
|
131
|
-
}),
|
|
132
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
133
|
-
className: "space-y-3",
|
|
134
|
-
children: [
|
|
135
|
-
/* @__PURE__ */ jsx2("h2", {
|
|
136
|
-
className: "font-bold text-2xl",
|
|
137
|
-
children: "3) Wire reference routes"
|
|
138
|
-
}),
|
|
139
|
-
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
140
|
-
language: "tsx",
|
|
141
|
-
filename: "docs-reference-route",
|
|
142
|
-
code: `import { notFound } from "next/navigation";
|
|
3
|
+
bun docs:generate -- --version v1.0.0`}),t("p",{className:"text-muted-foreground text-sm",children:["This writes ",e("code",{children:"docs-index.manifest.json"})," and chunked",e("code",{children:"docs-index.*.json"})," files in the generated docs bundle."]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Wire reference routes"}),e(a,{language:"tsx",filename:"docs-reference-route",code:`import { notFound } from "next/navigation";
|
|
143
4
|
import {
|
|
144
5
|
DocsReferenceIndexPage,
|
|
145
6
|
DocsReferencePage,
|
|
@@ -157,69 +18,4 @@ export default async function Page({ params }: { params: { slug?: string[] } })
|
|
|
157
18
|
const doc = await getGeneratedDocById(slug);
|
|
158
19
|
if (!doc) notFound();
|
|
159
20
|
return <DocsReferencePage entry={doc.entry} content={doc.content} />;
|
|
160
|
-
}`
|
|
161
|
-
}),
|
|
162
|
-
/* @__PURE__ */ jsxs2("p", {
|
|
163
|
-
className: "text-muted-foreground text-sm",
|
|
164
|
-
children: [
|
|
165
|
-
"Use the index page on ",
|
|
166
|
-
/* @__PURE__ */ jsx2("code", {
|
|
167
|
-
children: "/docs/reference"
|
|
168
|
-
}),
|
|
169
|
-
" to render the searchable list."
|
|
170
|
-
]
|
|
171
|
-
})
|
|
172
|
-
]
|
|
173
|
-
}),
|
|
174
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
175
|
-
className: "card-subtle space-y-3 p-6",
|
|
176
|
-
children: [
|
|
177
|
-
/* @__PURE__ */ jsx2("h3", {
|
|
178
|
-
className: "font-semibold text-lg",
|
|
179
|
-
children: "Repo reference"
|
|
180
|
-
}),
|
|
181
|
-
/* @__PURE__ */ jsxs2("p", {
|
|
182
|
-
className: "text-muted-foreground text-sm",
|
|
183
|
-
children: [
|
|
184
|
-
"This repo wires docs under",
|
|
185
|
-
" ",
|
|
186
|
-
/* @__PURE__ */ jsx2("code", {
|
|
187
|
-
children: "packages/apps/web-landing/src/app/docs/reference"
|
|
188
|
-
}),
|
|
189
|
-
"."
|
|
190
|
-
]
|
|
191
|
-
})
|
|
192
|
-
]
|
|
193
|
-
}),
|
|
194
|
-
/* @__PURE__ */ jsx2(StudioPrompt, {
|
|
195
|
-
title: "Need decision-to-export automation?",
|
|
196
|
-
body: "Studio exports evidence-backed spec changes and task packs to Linear, Jira, Notion, and GitHub."
|
|
197
|
-
})
|
|
198
|
-
]
|
|
199
|
-
}),
|
|
200
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
201
|
-
className: "flex items-center gap-4 pt-4",
|
|
202
|
-
children: [
|
|
203
|
-
/* @__PURE__ */ jsxs2(Link2, {
|
|
204
|
-
href: "/docs/guides/ci-contract-diff-gating",
|
|
205
|
-
className: "btn-primary",
|
|
206
|
-
children: [
|
|
207
|
-
"Next: CI gating ",
|
|
208
|
-
/* @__PURE__ */ jsx2(ChevronRight, {
|
|
209
|
-
size: 16
|
|
210
|
-
})
|
|
211
|
-
]
|
|
212
|
-
}),
|
|
213
|
-
/* @__PURE__ */ jsx2(Link2, {
|
|
214
|
-
href: "/docs/guides",
|
|
215
|
-
className: "btn-ghost",
|
|
216
|
-
children: "Back to guides"
|
|
217
|
-
})
|
|
218
|
-
]
|
|
219
|
-
})
|
|
220
|
-
]
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
export {
|
|
224
|
-
GuideDocsPipelinePage
|
|
225
|
-
};
|
|
21
|
+
}`}),t("p",{className:"text-muted-foreground text-sm",children:["Use the index page on ",e("code",{children:"/docs/reference"})," to render the searchable list."]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Repo reference"}),t("p",{className:"text-muted-foreground text-sm",children:["This repo wires docs under"," ",e("code",{children:"packages/apps/web-landing/src/app/docs/reference"}),"."]})]}),e(d,{title:"Need decision-to-export automation?",body:"Studio exports evidence-backed spec changes and task packs to Linear, Jira, Notion, and GitHub."})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(c,{href:"/docs/guides/ci-contract-diff-gating",className:"btn-primary",children:["Next: CI gating ",e(u,{size:16})]}),e(c,{href:"/docs/guides",className:"btn-ghost",children:"Back to guides"})]})]})}export{y as GuideDocsPipelinePage};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import{CodeBlock as a}from"@contractspec/lib.design-system";import r from"@contractspec/lib.ui-link";import{ChevronRight as o}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function l(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Build a first module bundle"}),e("p",{className:"text-lg text-muted-foreground",children:"Define one bundle spec, resolve it for a real route and preference profile, then render the resulting surface plan through the React host layer."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"One `ModuleBundleSpec` with a route and workbench surface."}),e("li",{children:"One `ResolvedSurfacePlan` from `resolveBundle`."}),e("li",{children:"One React host using `BundleProvider` and `BundleRenderer`."})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Define the bundle spec"}),e("p",{className:"text-muted-foreground text-sm",children:"The bundle spec is the durable contract. It owns route selection, surface shape, layouts, data recipes, and verification coverage for all seven preference dimensions."}),e(a,{language:"typescript",filename:"src/bundles/support.workbench.bundle.ts",code:`import { defineModuleBundle } from "@contractspec/lib.surface-runtime/spec/define-module-bundle";
|
|
2
|
+
|
|
3
|
+
export const SupportWorkbenchBundle = defineModuleBundle({
|
|
4
|
+
meta: {
|
|
5
|
+
key: "support.workbench",
|
|
6
|
+
version: "0.1.0",
|
|
7
|
+
title: "Support Workbench",
|
|
8
|
+
},
|
|
9
|
+
routes: [
|
|
10
|
+
{
|
|
11
|
+
routeId: "support-ticket",
|
|
12
|
+
path: "/operate/support/tickets/:ticketId",
|
|
13
|
+
defaultSurface: "ticket-workbench",
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
surfaces: {
|
|
17
|
+
"ticket-workbench": {
|
|
18
|
+
surfaceId: "ticket-workbench",
|
|
19
|
+
kind: "workbench",
|
|
20
|
+
slots: [
|
|
21
|
+
{ slotId: "primary", role: "primary", accepts: ["entity-section"], cardinality: "many" },
|
|
22
|
+
{ slotId: "assistant", role: "assistant", accepts: ["assistant-panel"], cardinality: "many", mutableByAi: true, mutableByUser: true },
|
|
23
|
+
],
|
|
24
|
+
layouts: [
|
|
25
|
+
{ layoutId: "balanced", title: "Balanced", root: { type: "slot", slotId: "primary" } },
|
|
26
|
+
],
|
|
27
|
+
data: [
|
|
28
|
+
{ recipeId: "ticket-core", source: { kind: "entity", entityType: "support.ticket" }, hydrateInto: "ticket" },
|
|
29
|
+
],
|
|
30
|
+
verification: {
|
|
31
|
+
dimensions: {
|
|
32
|
+
guidance: "Surface can reveal walkthrough or inline help states.",
|
|
33
|
+
density: "Layout supports compact and balanced detail modes.",
|
|
34
|
+
dataDepth: "Resolver can hydrate summary or detailed ticket context.",
|
|
35
|
+
control: "Advanced actions stay policy-gated.",
|
|
36
|
+
media: "Surface supports text-first and hybrid assist modes.",
|
|
37
|
+
pace: "Transitions and confirmations adapt to operator pace.",
|
|
38
|
+
narrative: "Summary and evidence ordering stay explicit.",
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
});`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: `defineModuleBundle` validates the route, surface, and verification dimensions at runtime."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Resolve the plan"}),e("p",{className:"text-muted-foreground text-sm",children:"Resolve against a real route, device, and preference profile. This is where the runtime chooses the surface, layout, bindings, and audit reasons."}),e(a,{language:"typescript",filename:"src/runtime/resolve-support-workbench.ts",code:`import { resolveBundle } from "@contractspec/lib.surface-runtime/runtime/resolve-bundle";
|
|
44
|
+
|
|
45
|
+
export const supportWorkbenchPlan = await resolveBundle(
|
|
46
|
+
SupportWorkbenchBundle,
|
|
47
|
+
{
|
|
48
|
+
tenantId: "tenant_demo",
|
|
49
|
+
workspaceId: "workspace_ops",
|
|
50
|
+
actorId: "user_42",
|
|
51
|
+
route: "/operate/support/tickets/123",
|
|
52
|
+
params: { ticketId: "123" },
|
|
53
|
+
query: {},
|
|
54
|
+
device: "desktop",
|
|
55
|
+
locale: "en",
|
|
56
|
+
preferences: {
|
|
57
|
+
guidance: "hints",
|
|
58
|
+
density: "compact",
|
|
59
|
+
dataDepth: "detailed",
|
|
60
|
+
control: "advanced",
|
|
61
|
+
media: "hybrid",
|
|
62
|
+
pace: "balanced",
|
|
63
|
+
narrative: "top-down",
|
|
64
|
+
},
|
|
65
|
+
capabilities: ["tickets.read", "tickets.update"],
|
|
66
|
+
}
|
|
67
|
+
);`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: a `ResolvedSurfacePlan` with `bundleKey`, `surfaceId`, `layoutId`, `bindings`, `adaptation`, and audit reasons."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Render the plan"}),e("p",{className:"text-muted-foreground text-sm",children:"The host app renders the resolved plan, not the raw spec. That keeps layout selection, overlays, and AI proposals downstream of the declared bundle contract."}),e(a,{language:"tsx",filename:"src/app/support/SurfaceHost.tsx",code:`import { BundleProvider, BundleRenderer } from "@contractspec/lib.surface-runtime/react";
|
|
68
|
+
|
|
69
|
+
export function SurfaceHost() {
|
|
70
|
+
return (
|
|
71
|
+
<BundleProvider plan={supportWorkbenchPlan}>
|
|
72
|
+
<BundleRenderer assistantSlotId="assistant" />
|
|
73
|
+
</BundleProvider>
|
|
74
|
+
);
|
|
75
|
+
}`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: the route renders according to the resolved layout root and slot plan instead of bespoke page assembly."})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Verification checks"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"The resolved `surfaceId` matches the route you expected."}),e("li",{children:"The `layoutId` is stable for the active view and preferences."}),e("li",{children:"The plan carries audit reasons and all seven adaptation dimensions."}),e("li",{children:"Assistant or overlay work stays within declared slots."})]})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(r,{href:"/docs/specs/module-bundles",className:"btn-primary",children:["Back to module bundles ",e(o,{size:16})]}),e(r,{href:"/docs/specs/overlays",className:"btn-ghost",children:"Next: overlays"})]})]})}export{l as GuideFirstModuleBundlePage};
|
|
@@ -1,211 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import Link from "@contractspec/lib.ui-link";
|
|
3
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
-
function StudioPrompt({
|
|
5
|
-
title = "Need the operating layer on top of OSS ContractSpec?",
|
|
6
|
-
body = "ContractSpec Studio helps teams turn evidence into proposed spec changes, governed delivery loops, and execution-ready task packs while keeping the open contract system as the source of truth.",
|
|
7
|
-
ctaLabel = "See what Studio adds",
|
|
8
|
-
href = "https://www.contractspec.studio/docs"
|
|
9
|
-
}) {
|
|
10
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
11
|
-
className: "card-subtle space-y-3 p-6",
|
|
12
|
-
children: [
|
|
13
|
-
/* @__PURE__ */ jsx("h3", {
|
|
14
|
-
className: "font-semibold text-lg",
|
|
15
|
-
children: title
|
|
16
|
-
}),
|
|
17
|
-
/* @__PURE__ */ jsx("p", {
|
|
18
|
-
className: "text-muted-foreground text-sm",
|
|
19
|
-
children: body
|
|
20
|
-
}),
|
|
21
|
-
/* @__PURE__ */ jsx(Link, {
|
|
22
|
-
href,
|
|
23
|
-
className: "btn-primary",
|
|
24
|
-
children: ctaLabel
|
|
25
|
-
})
|
|
26
|
-
]
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// src/components/docs/guides/GuideGenerateDocsClientsSchemasPage.tsx
|
|
31
|
-
import { CodeBlock } from "@contractspec/lib.design-system";
|
|
32
|
-
import Link2 from "@contractspec/lib.ui-link";
|
|
33
|
-
import { ChevronRight } from "lucide-react";
|
|
34
|
-
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
35
|
-
function GuideGenerateDocsClientsSchemasPage() {
|
|
36
|
-
return /* @__PURE__ */ jsxs2("div", {
|
|
37
|
-
className: "space-y-8",
|
|
38
|
-
children: [
|
|
39
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
40
|
-
className: "space-y-3",
|
|
41
|
-
children: [
|
|
42
|
-
/* @__PURE__ */ jsx2("h1", {
|
|
43
|
-
className: "font-bold text-4xl",
|
|
44
|
-
children: "Generate docs + client schemas"
|
|
45
|
-
}),
|
|
46
|
-
/* @__PURE__ */ jsx2("p", {
|
|
47
|
-
className: "text-lg text-muted-foreground",
|
|
48
|
-
children: "Generate docs and OpenAPI output from ContractSpec operations to power SDKs, docs sites, and tooling."
|
|
49
|
-
})
|
|
50
|
-
]
|
|
51
|
-
}),
|
|
52
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
53
|
-
className: "card-subtle space-y-4 p-6",
|
|
54
|
-
children: [
|
|
55
|
-
/* @__PURE__ */ jsx2("h2", {
|
|
56
|
-
className: "font-bold text-2xl",
|
|
57
|
-
children: "What you'll build"
|
|
58
|
-
}),
|
|
59
|
-
/* @__PURE__ */ jsxs2("ul", {
|
|
60
|
-
className: "space-y-2 text-muted-foreground text-sm",
|
|
61
|
-
children: [
|
|
62
|
-
/* @__PURE__ */ jsx2("li", {
|
|
63
|
-
children: "Export docs from your specs."
|
|
64
|
-
}),
|
|
65
|
-
/* @__PURE__ */ jsx2("li", {
|
|
66
|
-
children: "Emit OpenAPI 3.1 for client SDK generation."
|
|
67
|
-
}),
|
|
68
|
-
/* @__PURE__ */ jsx2("li", {
|
|
69
|
-
children: "Keep outputs deterministic with CI validation."
|
|
70
|
-
})
|
|
71
|
-
]
|
|
72
|
-
})
|
|
73
|
-
]
|
|
74
|
-
}),
|
|
75
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
76
|
-
className: "space-y-6",
|
|
77
|
-
children: [
|
|
78
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
79
|
-
className: "space-y-3",
|
|
80
|
-
children: [
|
|
81
|
-
/* @__PURE__ */ jsx2("h2", {
|
|
82
|
-
className: "font-bold text-2xl",
|
|
83
|
-
children: "1) Generate docs"
|
|
84
|
-
}),
|
|
85
|
-
/* @__PURE__ */ jsx2("p", {
|
|
86
|
-
className: "text-muted-foreground text-sm",
|
|
87
|
-
children: "Use the generator to emit docs from your contracts."
|
|
88
|
-
}),
|
|
89
|
-
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
90
|
-
language: "bash",
|
|
91
|
-
filename: "generate-docs",
|
|
92
|
-
code: `contractspec generate`
|
|
93
|
-
}),
|
|
94
|
-
/* @__PURE__ */ jsxs2("p", {
|
|
95
|
-
className: "text-muted-foreground text-sm",
|
|
96
|
-
children: [
|
|
97
|
-
"Expected output: ",
|
|
98
|
-
/* @__PURE__ */ jsx2("code", {
|
|
99
|
-
children: "Generate X doc files in generated/docs"
|
|
100
|
-
}),
|
|
101
|
-
"."
|
|
102
|
-
]
|
|
103
|
-
})
|
|
104
|
-
]
|
|
105
|
-
}),
|
|
106
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
107
|
-
className: "space-y-3",
|
|
108
|
-
children: [
|
|
109
|
-
/* @__PURE__ */ jsx2("h2", {
|
|
110
|
-
className: "font-bold text-2xl",
|
|
111
|
-
children: "2) Export OpenAPI"
|
|
112
|
-
}),
|
|
113
|
-
/* @__PURE__ */ jsx2("p", {
|
|
114
|
-
className: "text-muted-foreground text-sm",
|
|
115
|
-
children: "Export an OpenAPI document from your registry module."
|
|
116
|
-
}),
|
|
117
|
-
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
118
|
-
language: "bash",
|
|
119
|
-
filename: "openapi-export",
|
|
120
|
-
code: `contractspec openapi export --registry ./src/contracts/registry.ts --out ./generated/openapi.json`
|
|
121
|
-
}),
|
|
122
|
-
/* @__PURE__ */ jsxs2("p", {
|
|
123
|
-
className: "text-muted-foreground text-sm",
|
|
124
|
-
children: [
|
|
125
|
-
"Expected output:",
|
|
126
|
-
" ",
|
|
127
|
-
/* @__PURE__ */ jsx2("code", {
|
|
128
|
-
children: "OpenAPI written to .../generated/openapi.json"
|
|
129
|
-
}),
|
|
130
|
-
"."
|
|
131
|
-
]
|
|
132
|
-
})
|
|
133
|
-
]
|
|
134
|
-
}),
|
|
135
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
136
|
-
className: "space-y-3",
|
|
137
|
-
children: [
|
|
138
|
-
/* @__PURE__ */ jsx2("h2", {
|
|
139
|
-
className: "font-bold text-2xl",
|
|
140
|
-
children: "3) Validate specs"
|
|
141
|
-
}),
|
|
142
|
-
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
143
|
-
language: "bash",
|
|
144
|
-
filename: "validate-specs",
|
|
145
|
-
code: `contractspec validate`
|
|
146
|
-
}),
|
|
147
|
-
/* @__PURE__ */ jsxs2("p", {
|
|
148
|
-
className: "text-muted-foreground text-sm",
|
|
149
|
-
children: [
|
|
150
|
-
"Expected output: ",
|
|
151
|
-
/* @__PURE__ */ jsx2("code", {
|
|
152
|
-
children: "Validation passed"
|
|
153
|
-
}),
|
|
154
|
-
"."
|
|
155
|
-
]
|
|
156
|
-
})
|
|
157
|
-
]
|
|
158
|
-
}),
|
|
159
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
160
|
-
className: "card-subtle space-y-3 p-6",
|
|
161
|
-
children: [
|
|
162
|
-
/* @__PURE__ */ jsx2("h3", {
|
|
163
|
-
className: "font-semibold text-lg",
|
|
164
|
-
children: "Example package"
|
|
165
|
-
}),
|
|
166
|
-
/* @__PURE__ */ jsx2("p", {
|
|
167
|
-
className: "text-muted-foreground text-sm",
|
|
168
|
-
children: "The Integration Hub example provides a full registry of operations and is a good source for OpenAPI exports."
|
|
169
|
-
}),
|
|
170
|
-
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
171
|
-
language: "bash",
|
|
172
|
-
filename: "integration-hub-example",
|
|
173
|
-
code: `contractspec examples show integration-hub
|
|
1
|
+
import d from"@contractspec/lib.ui-link";import{jsx as a,jsxs as l}from"react/jsx-runtime";function r({title:i="Need the operating layer on top of OSS ContractSpec?",body:n="ContractSpec Studio helps teams turn evidence into proposed spec changes, governed delivery loops, and execution-ready task packs while keeping the open contract system as the source of truth.",ctaLabel:s="See what Studio adds",href:p="https://www.contractspec.studio/docs"}){return l("div",{className:"card-subtle space-y-3 p-6",children:[a("h3",{className:"font-semibold text-lg",children:i}),a("p",{className:"text-muted-foreground text-sm",children:n}),a(d,{href:p,className:"btn-primary",children:s})]})}import{CodeBlock as o}from"@contractspec/lib.design-system";import c from"@contractspec/lib.ui-link";import{ChevronRight as m}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function b(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Generate docs + client schemas"}),e("p",{className:"text-lg text-muted-foreground",children:"Generate docs and OpenAPI output from ContractSpec operations to power SDKs, docs sites, and tooling."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"Export docs from your specs."}),e("li",{children:"Emit OpenAPI 3.1 for client SDK generation."}),e("li",{children:"Keep outputs deterministic with CI validation."})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Generate docs"}),e("p",{className:"text-muted-foreground text-sm",children:"Use the generator to emit docs from your contracts."}),e(o,{language:"bash",filename:"generate-docs",code:"contractspec generate"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: ",e("code",{children:"Generate X doc files in generated/docs"}),"."]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Export OpenAPI"}),e("p",{className:"text-muted-foreground text-sm",children:"Export an OpenAPI document from your registry module."}),e(o,{language:"bash",filename:"openapi-export",code:"contractspec openapi export --registry ./src/contracts/registry.ts --out ./generated/openapi.json"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output:"," ",e("code",{children:"OpenAPI written to .../generated/openapi.json"}),"."]})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Validate specs"}),e(o,{language:"bash",filename:"validate-specs",code:"contractspec validate"}),t("p",{className:"text-muted-foreground text-sm",children:["Expected output: ",e("code",{children:"Validation passed"}),"."]})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Example package"}),e("p",{className:"text-muted-foreground text-sm",children:"The Integration Hub example provides a full registry of operations and is a good source for OpenAPI exports."}),e(o,{language:"bash",filename:"integration-hub-example",code:`contractspec examples show integration-hub
|
|
174
2
|
|
|
175
3
|
# openapi export against your registry module
|
|
176
|
-
contractspec openapi export --registry ./src/contracts/registry.ts --out ./generated/openapi.json`
|
|
177
|
-
})
|
|
178
|
-
]
|
|
179
|
-
}),
|
|
180
|
-
/* @__PURE__ */ jsx2(StudioPrompt, {
|
|
181
|
-
title: "Want exports tied to product decisions?",
|
|
182
|
-
body: "Studio compiles approved changes into deliverables and pushes them to your execution stack with full evidence context."
|
|
183
|
-
})
|
|
184
|
-
]
|
|
185
|
-
}),
|
|
186
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
187
|
-
className: "flex items-center gap-4 pt-4",
|
|
188
|
-
children: [
|
|
189
|
-
/* @__PURE__ */ jsxs2(Link2, {
|
|
190
|
-
href: "/docs/guides/docs-generation-pipeline",
|
|
191
|
-
className: "btn-primary",
|
|
192
|
-
children: [
|
|
193
|
-
"Next: Docs pipeline ",
|
|
194
|
-
/* @__PURE__ */ jsx2(ChevronRight, {
|
|
195
|
-
size: 16
|
|
196
|
-
})
|
|
197
|
-
]
|
|
198
|
-
}),
|
|
199
|
-
/* @__PURE__ */ jsx2(Link2, {
|
|
200
|
-
href: "/docs/guides",
|
|
201
|
-
className: "btn-ghost",
|
|
202
|
-
children: "Back to guides"
|
|
203
|
-
})
|
|
204
|
-
]
|
|
205
|
-
})
|
|
206
|
-
]
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
export {
|
|
210
|
-
GuideGenerateDocsClientsSchemasPage
|
|
211
|
-
};
|
|
4
|
+
contractspec openapi export --registry ./src/contracts/registry.ts --out ./generated/openapi.json`})]}),e(r,{title:"Want exports tied to product decisions?",body:"Studio compiles approved changes into deliverables and pushes them to your execution stack with full evidence context."})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(c,{href:"/docs/guides/docs-generation-pipeline",className:"btn-primary",children:["Next: Docs pipeline ",e(m,{size:16})]}),e(c,{href:"/docs/guides",className:"btn-ghost",children:"Back to guides"})]})]})}export{b as GuideGenerateDocsClientsSchemasPage};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import{CodeBlock as o}from"@contractspec/lib.design-system";import a from"@contractspec/lib.ui-link";import{ChevronRight as n}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";var i=["builder.workspace.bootstrap","builder.channel.receiveInbound","builder.blueprint.generate","builder.plan.compile","builder.preview.create","builder.preview.runHarness","builder.export.prepare","builder.export.approve","builder.export.execute"];function c(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-3",children:[e("h1",{className:"font-bold text-4xl",children:"Host the Builder workbench"}),e("p",{className:"text-lg text-muted-foreground",children:"Use the reusable Builder workbench as the desktop control surface for snapshot loading, guided authoring, preview, readiness, export, and mobile review handoff."})]}),t("div",{className:"card-subtle space-y-4 p-6",children:[e("h2",{className:"font-bold text-2xl",children:"What you'll build"}),t("ul",{className:"space-y-2 text-muted-foreground text-sm",children:[e("li",{children:"A workspace snapshot fetch path."}),e("li",{children:"A `BuilderWorkbench` host with action callbacks."}),e("li",{children:"Runtime-mode aware preview/export controls plus mobile review links."})]})]}),t("div",{className:"space-y-6",children:[t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"1) Fetch the workspace snapshot"}),e("p",{className:"text-muted-foreground text-sm",children:"The web shell already exposes a query path for the current Builder workspace snapshot. Your host should load it first, then refresh it after each successful command."}),e(o,{language:"typescript",filename:"builder-workbench-controller.ts",code:`export async function fetchBuilderSnapshot(workspaceId: string) {
|
|
2
|
+
const response = await fetch(
|
|
3
|
+
\`/api/operate/builder/queries/builder.workspace.snapshot?workspaceId=\${encodeURIComponent(workspaceId)}\`,
|
|
4
|
+
{ cache: "no-store" }
|
|
5
|
+
);
|
|
6
|
+
if (!response.ok) {
|
|
7
|
+
throw new Error("Failed to fetch Builder workspace snapshot.");
|
|
8
|
+
}
|
|
9
|
+
const payload = await response.json() as {
|
|
10
|
+
ok: boolean;
|
|
11
|
+
result: BuilderWorkspaceSnapshot;
|
|
12
|
+
};
|
|
13
|
+
if (!payload.ok) {
|
|
14
|
+
throw new Error("Builder workspace snapshot query returned an error.");
|
|
15
|
+
}
|
|
16
|
+
return payload.result;
|
|
17
|
+
}`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: one `BuilderWorkspaceSnapshot` containing workspace, plan, providers, runtime targets, preview, export, and mobile review state."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"2) Host the workbench and refresh on action"}),e("p",{className:"text-muted-foreground text-sm",children:"The simplest host pattern is local state plus a small action wrapper that executes one Builder command and then refreshes the snapshot."}),e(o,{language:"tsx",filename:"BuilderWorkbenchHost.tsx",code:`import {
|
|
18
|
+
BuilderWorkbench,
|
|
19
|
+
useBuilderWorkbenchState,
|
|
20
|
+
} from "@contractspec/module.builder-workbench/presentation";
|
|
21
|
+
|
|
22
|
+
const { snapshot, setSnapshot, promptDraft, setPromptDraft } =
|
|
23
|
+
useBuilderWorkbenchState({
|
|
24
|
+
workspace: initialSnapshot.workspace,
|
|
25
|
+
initialSnapshot,
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
async function runAction(commandKey: string, payload?: Record<string, unknown>) {
|
|
29
|
+
await executeBuilderCommand({ commandKey, workspaceId, payload });
|
|
30
|
+
setSnapshot(await fetchBuilderSnapshot(workspaceId));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
<BuilderWorkbench
|
|
34
|
+
snapshot={snapshot}
|
|
35
|
+
promptDraft={promptDraft}
|
|
36
|
+
onPromptDraftChange={setPromptDraft}
|
|
37
|
+
onCapturePrompt={() =>
|
|
38
|
+
runAction("builder.channel.receiveInbound", createPromptEnvelope(workspaceId, promptDraft))
|
|
39
|
+
}
|
|
40
|
+
onGenerateBlueprint={() => runAction("builder.blueprint.generate")}
|
|
41
|
+
onCompilePlan={() => runAction("builder.plan.compile")}
|
|
42
|
+
onCreatePreview={() => runAction("builder.preview.create", { runtimeMode: "hybrid" })}
|
|
43
|
+
onRunReadiness={() => runAction("builder.preview.runHarness")}
|
|
44
|
+
onPrepareExport={() => runAction("builder.export.prepare", { runtimeMode: "hybrid" })}
|
|
45
|
+
onApproveExport={() => runAction("builder.export.approve")}
|
|
46
|
+
onExecuteExport={() => runAction("builder.export.execute")}
|
|
47
|
+
selectedExportRuntimeMode="hybrid"
|
|
48
|
+
/>;`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: each successful action leaves the host with a fresh snapshot and keeps the workbench tabs aligned with current runtime state."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"3) Bootstrap providers and routing policy explicitly"}),e("p",{className:"text-muted-foreground text-sm",children:"Builder v3 treats provider routing as policy, not heuristic. Use the workspace bootstrap command as the single managed-first setup path instead of orchestrating provider registration in the app shell."}),e(o,{language:"typescript",filename:"builder-bootstrap.ts",code:`await executeBuilderCommand({
|
|
49
|
+
commandKey: "builder.workspace.bootstrap",
|
|
50
|
+
workspaceId,
|
|
51
|
+
payload: {
|
|
52
|
+
preset: "managed_mvp",
|
|
53
|
+
includeLocalHelperProvider: true,
|
|
54
|
+
},
|
|
55
|
+
});`})]}),t("div",{className:"card-subtle space-y-3 p-6",children:[e("h3",{className:"font-semibold text-lg",children:"Common command keys"}),e("ul",{className:"space-y-2 text-muted-foreground text-sm",children:i.map((r)=>e("li",{children:e("code",{children:r})},r))})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"4) Keep runtime mode explicit"}),e("p",{className:"text-muted-foreground text-sm",children:"Preview and export flows are runtime-mode aware. The host chooses between `managed`, `local`, and `hybrid` and passes that choice into preview or export commands instead of hiding it behind provider selection heuristics."}),e(o,{language:"typescript",filename:"runtime-mode",code:`const [selectedExportRuntimeMode, setSelectedExportRuntimeMode] =
|
|
56
|
+
React.useState(resolveBuilderExportRuntimeMode(initialSnapshot));
|
|
57
|
+
|
|
58
|
+
await executeBuilderCommand({
|
|
59
|
+
commandKey: "builder.preview.create",
|
|
60
|
+
workspaceId,
|
|
61
|
+
payload: {
|
|
62
|
+
runtimeMode: selectedExportRuntimeMode,
|
|
63
|
+
},
|
|
64
|
+
});`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"5) Link mobile review flows"}),e("p",{className:"text-muted-foreground text-sm",children:"When a patch proposal, approval ticket, or incident needs operator follow-up away from the desktop workbench, deep-link into the mobile review route instead of inventing a separate data model."}),e(o,{language:"typescript",filename:"mobile-review-path.ts",code:`export function buildBuilderMobileReviewPath(
|
|
65
|
+
workspaceId: string,
|
|
66
|
+
cardId: string
|
|
67
|
+
) {
|
|
68
|
+
return \`/operate/builder/workspaces/\${encodeURIComponent(workspaceId)}/mobile-review/\${encodeURIComponent(cardId)}\`;
|
|
69
|
+
}`}),e("p",{className:"text-muted-foreground text-sm",children:"Expected output: the same Builder workspace state stays visible from desktop workbench and mobile review surfaces."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"6) Keep Connect adjacent, not embedded"}),e("p",{className:"text-muted-foreground text-sm",children:"Builder owns the authoring control plane. When Builder delegates into coding repositories, enable Connect in those target workspaces for context packs, mutation verification, replay, and review packets, but do not replace Builder contracts with Connect artifacts."}),e(o,{language:"bash",filename:"connect-init.sh",code:"contractspec connect init --scope workspace"})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[t(a,{href:"/docs/specs/builder-control-plane",className:"btn-primary",children:["Back to Builder control plane ",e(n,{size:16})]}),e(a,{href:"/docs/studio",className:"btn-ghost",children:"Studio overview"})]})]})}export{c as GuideHostBuilderWorkbenchPage};
|