@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,116 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
3
|
-
import Link from "@contractspec/lib.ui-link";
|
|
4
|
-
import { ChevronRight } from "lucide-react";
|
|
5
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
function AdvancedMCPPage() {
|
|
7
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
8
|
-
className: "space-y-8",
|
|
9
|
-
children: [
|
|
10
|
-
/* @__PURE__ */ jsxs("div", {
|
|
11
|
-
className: "space-y-4",
|
|
12
|
-
children: [
|
|
13
|
-
/* @__PURE__ */ jsx("h1", {
|
|
14
|
-
className: "font-bold text-4xl",
|
|
15
|
-
children: "MCP Adapters"
|
|
16
|
-
}),
|
|
17
|
-
/* @__PURE__ */ jsxs("p", {
|
|
18
|
-
className: "text-muted-foreground",
|
|
19
|
-
children: [
|
|
20
|
-
"The ",
|
|
21
|
-
/* @__PURE__ */ jsx("strong", {
|
|
22
|
-
children: "Model Context Protocol (MCP)"
|
|
23
|
-
}),
|
|
24
|
-
" is an open standard for connecting AI models to external tools and data sources. ContractSpec provides MCP adapters that allow you to expose your capabilities as MCP tools and consume external MCP servers as capabilities."
|
|
25
|
-
]
|
|
26
|
-
})
|
|
27
|
-
]
|
|
28
|
-
}),
|
|
29
|
-
/* @__PURE__ */ jsxs("div", {
|
|
30
|
-
className: "space-y-4",
|
|
31
|
-
children: [
|
|
32
|
-
/* @__PURE__ */ jsx("h2", {
|
|
33
|
-
className: "font-bold text-2xl",
|
|
34
|
-
children: "Why MCP integration matters"
|
|
35
|
-
}),
|
|
36
|
-
/* @__PURE__ */ jsx("p", {
|
|
37
|
-
className: "text-muted-foreground",
|
|
38
|
-
children: "AI agents need access to real-world tools and data to be useful. MCP provides a standardized way to expose these capabilities. By integrating ContractSpec with MCP, you can:"
|
|
39
|
-
}),
|
|
40
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
41
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
42
|
-
children: [
|
|
43
|
-
/* @__PURE__ */ jsx("li", {
|
|
44
|
-
children: "Let AI agents invoke your ContractSpec capabilities safely and securely"
|
|
45
|
-
}),
|
|
46
|
-
/* @__PURE__ */ jsx("li", {
|
|
47
|
-
children: "Use external MCP servers (databases, APIs, search engines) as capability providers in your workflows"
|
|
48
|
-
}),
|
|
49
|
-
/* @__PURE__ */ jsx("li", {
|
|
50
|
-
children: "Build AI-powered features without writing custom integration code"
|
|
51
|
-
}),
|
|
52
|
-
/* @__PURE__ */ jsx("li", {
|
|
53
|
-
children: "Enforce policies on AI agent actions just like any other user"
|
|
54
|
-
})
|
|
55
|
-
]
|
|
56
|
-
})
|
|
57
|
-
]
|
|
58
|
-
}),
|
|
59
|
-
/* @__PURE__ */ jsxs("div", {
|
|
60
|
-
className: "space-y-4",
|
|
61
|
-
children: [
|
|
62
|
-
/* @__PURE__ */ jsx("h2", {
|
|
63
|
-
className: "font-bold text-2xl",
|
|
64
|
-
children: "Exposing capabilities as MCP tools"
|
|
65
|
-
}),
|
|
66
|
-
/* @__PURE__ */ jsxs("p", {
|
|
67
|
-
className: "text-muted-foreground",
|
|
68
|
-
children: [
|
|
69
|
-
"Any",
|
|
70
|
-
" ",
|
|
71
|
-
/* @__PURE__ */ jsx(Link, {
|
|
72
|
-
href: "/docs/specs/capabilities",
|
|
73
|
-
className: "text-violet-400 hover:text-violet-300",
|
|
74
|
-
children: "CapabilitySpec"
|
|
75
|
-
}),
|
|
76
|
-
" ",
|
|
77
|
-
"can be automatically exposed as an MCP tool. ContractSpec generates:"
|
|
78
|
-
]
|
|
79
|
-
}),
|
|
80
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
81
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
82
|
-
children: [
|
|
83
|
-
/* @__PURE__ */ jsx("li", {
|
|
84
|
-
children: "A tool schema describing the capability's inputs, outputs, and purpose"
|
|
85
|
-
}),
|
|
86
|
-
/* @__PURE__ */ jsx("li", {
|
|
87
|
-
children: "An MCP server endpoint that AI agents can connect to"
|
|
88
|
-
}),
|
|
89
|
-
/* @__PURE__ */ jsx("li", {
|
|
90
|
-
children: "Policy enforcement ensuring agents can only invoke capabilities they're authorized to use"
|
|
91
|
-
}),
|
|
92
|
-
/* @__PURE__ */ jsx("li", {
|
|
93
|
-
children: "Audit logging of all agent actions for compliance and debugging"
|
|
94
|
-
})
|
|
95
|
-
]
|
|
96
|
-
})
|
|
97
|
-
]
|
|
98
|
-
}),
|
|
99
|
-
/* @__PURE__ */ jsxs("div", {
|
|
100
|
-
className: "space-y-4",
|
|
101
|
-
children: [
|
|
102
|
-
/* @__PURE__ */ jsx("h2", {
|
|
103
|
-
className: "font-bold text-2xl",
|
|
104
|
-
children: "Example: Exposing a capability"
|
|
105
|
-
}),
|
|
106
|
-
/* @__PURE__ */ jsx("p", {
|
|
107
|
-
className: "text-muted-foreground",
|
|
108
|
-
children: "Here's how to expose ContractSpec operations as MCP tools:"
|
|
109
|
-
}),
|
|
110
|
-
/* @__PURE__ */ jsx("div", {
|
|
111
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
112
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
113
|
-
children: `import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import o from"@contractspec/lib.ui-link";import{ChevronRight as a}from"lucide-react";import{jsx as e,jsxs as t}from"react/jsx-runtime";function n(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"MCP Adapters"}),t("p",{className:"text-muted-foreground",children:["The ",e("strong",{children:"Model Context Protocol (MCP)"})," is an open standard for connecting AI models to external tools and data sources. ContractSpec provides MCP adapters that allow you to expose your capabilities as MCP tools and consume external MCP servers as capabilities."]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Why MCP integration matters"}),e("p",{className:"text-muted-foreground",children:"AI agents need access to real-world tools and data to be useful. MCP provides a standardized way to expose these capabilities. By integrating ContractSpec with MCP, you can:"}),t("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[e("li",{children:"Let AI agents invoke your ContractSpec capabilities safely and securely"}),e("li",{children:"Use external MCP servers (databases, APIs, search engines) as capability providers in your workflows"}),e("li",{children:"Build AI-powered features without writing custom integration code"}),e("li",{children:"Enforce policies on AI agent actions just like any other user"})]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Exposing capabilities as MCP tools"}),t("p",{className:"text-muted-foreground",children:["Any"," ",e(o,{href:"/docs/specs/capabilities",className:"text-violet-400 hover:text-violet-300",children:"CapabilitySpec"})," ","can be automatically exposed as an MCP tool. ContractSpec generates:"]}),t("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[e("li",{children:"A tool schema describing the capability's inputs, outputs, and purpose"}),e("li",{children:"An MCP server endpoint that AI agents can connect to"}),e("li",{children:"Policy enforcement ensuring agents can only invoke capabilities they're authorized to use"}),e("li",{children:"Audit logging of all agent actions for compliance and debugging"})]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Example: Exposing a capability"}),e("p",{className:"text-muted-foreground",children:"Here's how to expose ContractSpec operations as MCP tools:"}),e("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:e("pre",{children:`import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
114
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
115
4
|
import { createMcpServer } from '@contractspec/lib.contracts-runtime-server-mcp/provider-mcp';
|
|
116
5
|
import { registry, resources, prompts } from './lib/registry';
|
|
@@ -127,30 +16,7 @@ createMcpServer(server, registry, resources, prompts, {
|
|
|
127
16
|
});
|
|
128
17
|
|
|
129
18
|
const transport = new StdioServerTransport();
|
|
130
|
-
await server.connect(transport);`
|
|
131
|
-
})
|
|
132
|
-
}),
|
|
133
|
-
/* @__PURE__ */ jsx("p", {
|
|
134
|
-
className: "text-muted-foreground",
|
|
135
|
-
children: "AI agents can now discover and invoke your operations through the MCP protocol. ContractSpec handles authentication, authorization, and execution automatically via the `OperationSpecRegistry`."
|
|
136
|
-
})
|
|
137
|
-
]
|
|
138
|
-
}),
|
|
139
|
-
/* @__PURE__ */ jsxs("div", {
|
|
140
|
-
className: "space-y-4",
|
|
141
|
-
children: [
|
|
142
|
-
/* @__PURE__ */ jsx("h2", {
|
|
143
|
-
className: "font-bold text-2xl",
|
|
144
|
-
children: "Consuming external MCP servers"
|
|
145
|
-
}),
|
|
146
|
-
/* @__PURE__ */ jsx("p", {
|
|
147
|
-
className: "text-muted-foreground",
|
|
148
|
-
children: "You can integrate external MCP servers into your workflows. Define an integration spec and use it in your operations:"
|
|
149
|
-
}),
|
|
150
|
-
/* @__PURE__ */ jsx("div", {
|
|
151
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
152
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
153
|
-
children: `import { defineIntegration } from '@contractspec/lib.contracts-integrations';
|
|
19
|
+
await server.connect(transport);`})}),e("p",{className:"text-muted-foreground",children:"AI agents can now discover and invoke your operations through the MCP protocol. ContractSpec handles authentication, authorization, and execution automatically via the `OperationSpecRegistry`."})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Consuming external MCP servers"}),e("p",{className:"text-muted-foreground",children:"You can integrate external MCP servers into your workflows. Define an integration spec and use it in your operations:"}),e("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:e("pre",{children:`import { defineIntegration } from '@contractspec/lib.contracts-integrations';
|
|
154
20
|
import { SchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';
|
|
155
21
|
|
|
156
22
|
const SearchProductsIntegration = defineIntegration({
|
|
@@ -179,35 +45,7 @@ const SearchProductsIntegration = defineIntegration({
|
|
|
179
45
|
},
|
|
180
46
|
}),
|
|
181
47
|
},
|
|
182
|
-
});`
|
|
183
|
-
})
|
|
184
|
-
})
|
|
185
|
-
]
|
|
186
|
-
}),
|
|
187
|
-
/* @__PURE__ */ jsxs("div", {
|
|
188
|
-
className: "space-y-4",
|
|
189
|
-
children: [
|
|
190
|
-
/* @__PURE__ */ jsx("h2", {
|
|
191
|
-
className: "font-bold text-2xl",
|
|
192
|
-
children: "Policy enforcement for AI agents"
|
|
193
|
-
}),
|
|
194
|
-
/* @__PURE__ */ jsxs("p", {
|
|
195
|
-
className: "text-muted-foreground",
|
|
196
|
-
children: [
|
|
197
|
-
"AI agents are treated like any other actor in ContractSpec. They must authenticate, and all their actions are subject to",
|
|
198
|
-
" ",
|
|
199
|
-
/* @__PURE__ */ jsx(Link, {
|
|
200
|
-
href: "/docs/specs/policy",
|
|
201
|
-
className: "text-violet-400 hover:text-violet-300",
|
|
202
|
-
children: "PolicySpecs"
|
|
203
|
-
}),
|
|
204
|
-
". You can define specific policies in TypeScript:"
|
|
205
|
-
]
|
|
206
|
-
}),
|
|
207
|
-
/* @__PURE__ */ jsx("div", {
|
|
208
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
209
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
210
|
-
children: `import { definePolicy } from '@contractspec/lib.contracts-spec';
|
|
48
|
+
});`})})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Policy enforcement for AI agents"}),t("p",{className:"text-muted-foreground",children:["AI agents are treated like any other actor in ContractSpec. They must authenticate, and all their actions are subject to"," ",e(o,{href:"/docs/specs/policy",className:"text-violet-400 hover:text-violet-300",children:"PolicySpecs"}),". You can define specific policies in TypeScript:"]}),e("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:e("pre",{children:`import { definePolicy } from '@contractspec/lib.contracts-spec';
|
|
211
49
|
|
|
212
50
|
export const AIAgentRestrictions = definePolicy({
|
|
213
51
|
meta: {
|
|
@@ -230,109 +68,4 @@ export const AIAgentRestrictions = definePolicy({
|
|
|
230
68
|
!ctx.approvalGranted,
|
|
231
69
|
},
|
|
232
70
|
],
|
|
233
|
-
});`
|
|
234
|
-
})
|
|
235
|
-
})
|
|
236
|
-
]
|
|
237
|
-
}),
|
|
238
|
-
/* @__PURE__ */ jsxs("div", {
|
|
239
|
-
className: "space-y-4",
|
|
240
|
-
children: [
|
|
241
|
-
/* @__PURE__ */ jsx("h2", {
|
|
242
|
-
className: "font-bold text-2xl",
|
|
243
|
-
children: "Human-in-the-loop workflows"
|
|
244
|
-
}),
|
|
245
|
-
/* @__PURE__ */ jsx("p", {
|
|
246
|
-
className: "text-muted-foreground",
|
|
247
|
-
children: "For sensitive operations, you can require human approval before an AI agent can proceed. ContractSpec provides built-in approval workflows:"
|
|
248
|
-
}),
|
|
249
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
250
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
251
|
-
children: [
|
|
252
|
-
/* @__PURE__ */ jsx("li", {
|
|
253
|
-
children: "Agent requests permission to invoke a capability"
|
|
254
|
-
}),
|
|
255
|
-
/* @__PURE__ */ jsx("li", {
|
|
256
|
-
children: "Request is sent to designated approvers (via email, Slack, etc.)"
|
|
257
|
-
}),
|
|
258
|
-
/* @__PURE__ */ jsx("li", {
|
|
259
|
-
children: "Approver reviews the request and approves or denies it"
|
|
260
|
-
}),
|
|
261
|
-
/* @__PURE__ */ jsx("li", {
|
|
262
|
-
children: "Agent receives the decision and can proceed if approved"
|
|
263
|
-
})
|
|
264
|
-
]
|
|
265
|
-
}),
|
|
266
|
-
/* @__PURE__ */ jsxs("p", {
|
|
267
|
-
className: "text-muted-foreground",
|
|
268
|
-
children: [
|
|
269
|
-
"All approval decisions are logged in the",
|
|
270
|
-
" ",
|
|
271
|
-
/* @__PURE__ */ jsx(Link, {
|
|
272
|
-
href: "/docs/safety/auditing",
|
|
273
|
-
className: "text-violet-400 hover:text-violet-300",
|
|
274
|
-
children: "audit log"
|
|
275
|
-
}),
|
|
276
|
-
"."
|
|
277
|
-
]
|
|
278
|
-
})
|
|
279
|
-
]
|
|
280
|
-
}),
|
|
281
|
-
/* @__PURE__ */ jsxs("div", {
|
|
282
|
-
className: "space-y-4",
|
|
283
|
-
children: [
|
|
284
|
-
/* @__PURE__ */ jsx("h2", {
|
|
285
|
-
className: "font-bold text-2xl",
|
|
286
|
-
children: "Best practices"
|
|
287
|
-
}),
|
|
288
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
289
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
290
|
-
children: [
|
|
291
|
-
/* @__PURE__ */ jsx("li", {
|
|
292
|
-
children: "Start with read-only capabilities for AI agents\u2014only grant write access when necessary."
|
|
293
|
-
}),
|
|
294
|
-
/* @__PURE__ */ jsx("li", {
|
|
295
|
-
children: "Use human-in-the-loop approval for any capability that modifies critical data or triggers financial transactions."
|
|
296
|
-
}),
|
|
297
|
-
/* @__PURE__ */ jsx("li", {
|
|
298
|
-
children: "Set rate limits to prevent runaway agents from overwhelming your system."
|
|
299
|
-
}),
|
|
300
|
-
/* @__PURE__ */ jsx("li", {
|
|
301
|
-
children: "Provide clear, detailed descriptions for each capability so agents know when to use them."
|
|
302
|
-
}),
|
|
303
|
-
/* @__PURE__ */ jsx("li", {
|
|
304
|
-
children: "Monitor agent actions closely in production and adjust policies as needed."
|
|
305
|
-
}),
|
|
306
|
-
/* @__PURE__ */ jsx("li", {
|
|
307
|
-
children: "Test agent integrations thoroughly with realistic scenarios before deploying."
|
|
308
|
-
})
|
|
309
|
-
]
|
|
310
|
-
})
|
|
311
|
-
]
|
|
312
|
-
}),
|
|
313
|
-
/* @__PURE__ */ jsxs("div", {
|
|
314
|
-
className: "flex items-center gap-4 pt-4",
|
|
315
|
-
children: [
|
|
316
|
-
/* @__PURE__ */ jsx(Link, {
|
|
317
|
-
href: "/docs/advanced/renderers",
|
|
318
|
-
className: "btn-ghost",
|
|
319
|
-
children: "Previous: Custom Renderers"
|
|
320
|
-
}),
|
|
321
|
-
/* @__PURE__ */ jsxs(Link, {
|
|
322
|
-
href: "/docs/advanced/telemetry",
|
|
323
|
-
className: "btn-primary",
|
|
324
|
-
children: [
|
|
325
|
-
"Next: Telemetry ",
|
|
326
|
-
/* @__PURE__ */ jsx(ChevronRight, {
|
|
327
|
-
size: 16
|
|
328
|
-
})
|
|
329
|
-
]
|
|
330
|
-
})
|
|
331
|
-
]
|
|
332
|
-
})
|
|
333
|
-
]
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
export {
|
|
337
|
-
AdvancedMCPPage
|
|
338
|
-
};
|
|
71
|
+
});`})})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Human-in-the-loop workflows"}),e("p",{className:"text-muted-foreground",children:"For sensitive operations, you can require human approval before an AI agent can proceed. ContractSpec provides built-in approval workflows:"}),t("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[e("li",{children:"Agent requests permission to invoke a capability"}),e("li",{children:"Request is sent to designated approvers (via email, Slack, etc.)"}),e("li",{children:"Approver reviews the request and approves or denies it"}),e("li",{children:"Agent receives the decision and can proceed if approved"})]}),t("p",{className:"text-muted-foreground",children:["All approval decisions are logged in the"," ",e(o,{href:"/docs/safety/auditing",className:"text-violet-400 hover:text-violet-300",children:"audit log"}),"."]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Best practices"}),t("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[e("li",{children:"Start with read-only capabilities for AI agents\u2014only grant write access when necessary."}),e("li",{children:"Use human-in-the-loop approval for any capability that modifies critical data or triggers financial transactions."}),e("li",{children:"Set rate limits to prevent runaway agents from overwhelming your system."}),e("li",{children:"Provide clear, detailed descriptions for each capability so agents know when to use them."}),e("li",{children:"Monitor agent actions closely in production and adjust policies as needed."}),e("li",{children:"Test agent integrations thoroughly with realistic scenarios before deploying."})]})]}),t("div",{className:"flex items-center gap-4 pt-4",children:[e(o,{href:"/docs/advanced/renderers",className:"btn-ghost",children:"Previous: Custom Renderers"}),t(o,{href:"/docs/advanced/telemetry",className:"btn-primary",children:["Next: Telemetry ",e(a,{size:16})]})]})]})}export{n as AdvancedMCPPage};
|
|
@@ -1,108 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
3
|
-
import Link from "@contractspec/lib.ui-link";
|
|
4
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
-
function AdvancedOverlayEditorPage() {
|
|
6
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
7
|
-
className: "space-y-8",
|
|
8
|
-
children: [
|
|
9
|
-
/* @__PURE__ */ jsxs("div", {
|
|
10
|
-
className: "space-y-4",
|
|
11
|
-
children: [
|
|
12
|
-
/* @__PURE__ */ jsx("h1", {
|
|
13
|
-
className: "font-bold text-4xl",
|
|
14
|
-
children: "Overlay Editor"
|
|
15
|
-
}),
|
|
16
|
-
/* @__PURE__ */ jsx("p", {
|
|
17
|
-
className: "text-lg text-muted-foreground",
|
|
18
|
-
children: "A Next.js app (`@contractspec/app.overlay-editor`) that lets tenant admins tweak field visibility, labels, and ordering, then sign OverlaySpecs."
|
|
19
|
-
})
|
|
20
|
-
]
|
|
21
|
-
}),
|
|
22
|
-
/* @__PURE__ */ jsxs("div", {
|
|
23
|
-
className: "space-y-4",
|
|
24
|
-
children: [
|
|
25
|
-
/* @__PURE__ */ jsx("h2", {
|
|
26
|
-
className: "font-bold text-2xl",
|
|
27
|
-
children: "Features"
|
|
28
|
-
}),
|
|
29
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
30
|
-
className: "list-disc space-y-2 pl-6",
|
|
31
|
-
children: [
|
|
32
|
-
/* @__PURE__ */ jsx("li", {
|
|
33
|
-
children: "Toggle visibility and rename labels without touching code."
|
|
34
|
-
}),
|
|
35
|
-
/* @__PURE__ */ jsx("li", {
|
|
36
|
-
children: "Move fields up/down to define the overlay order."
|
|
37
|
-
}),
|
|
38
|
-
/* @__PURE__ */ jsx("li", {
|
|
39
|
-
children: "Preview JSON output powered by `@contractspec/lib.overlay-engine`."
|
|
40
|
-
}),
|
|
41
|
-
/* @__PURE__ */ jsx("li", {
|
|
42
|
-
children: "Server action for PEM signing (Ed25519/RSA-PSS)."
|
|
43
|
-
})
|
|
44
|
-
]
|
|
45
|
-
}),
|
|
46
|
-
/* @__PURE__ */ jsxs("p", {
|
|
47
|
-
children: [
|
|
48
|
-
"Project path: ",
|
|
49
|
-
/* @__PURE__ */ jsx("code", {
|
|
50
|
-
children: "packages/apps/overlay-editor"
|
|
51
|
-
})
|
|
52
|
-
]
|
|
53
|
-
})
|
|
54
|
-
]
|
|
55
|
-
}),
|
|
56
|
-
/* @__PURE__ */ jsxs("div", {
|
|
57
|
-
className: "space-y-4",
|
|
58
|
-
children: [
|
|
59
|
-
/* @__PURE__ */ jsx("h2", {
|
|
60
|
-
className: "font-bold text-2xl",
|
|
61
|
-
children: "Provisioning flow"
|
|
62
|
-
}),
|
|
63
|
-
/* @__PURE__ */ jsxs("ol", {
|
|
64
|
-
className: "list-decimal space-y-2 pl-6",
|
|
65
|
-
children: [
|
|
66
|
-
/* @__PURE__ */ jsxs("li", {
|
|
67
|
-
children: [
|
|
68
|
-
"Clone the repo and run ",
|
|
69
|
-
/* @__PURE__ */ jsx("code", {
|
|
70
|
-
children: "bun dev"
|
|
71
|
-
}),
|
|
72
|
-
" inside the app."
|
|
73
|
-
]
|
|
74
|
-
}),
|
|
75
|
-
/* @__PURE__ */ jsx("li", {
|
|
76
|
-
children: "Use the UI to craft the overlay for a tenant."
|
|
77
|
-
}),
|
|
78
|
-
/* @__PURE__ */ jsx("li", {
|
|
79
|
-
children: "Paste the tenant's PEM private key (stored in Vault/KMS)."
|
|
80
|
-
}),
|
|
81
|
-
/* @__PURE__ */ jsx("li", {
|
|
82
|
-
children: "Click \u201CSign overlay\u201D to get the final JSON payload."
|
|
83
|
-
}),
|
|
84
|
-
/* @__PURE__ */ jsx("li", {
|
|
85
|
-
children: "Persist in the `Overlay` table and register with `OverlayRegistry`."
|
|
86
|
-
})
|
|
87
|
-
]
|
|
88
|
-
}),
|
|
89
|
-
/* @__PURE__ */ jsxs("p", {
|
|
90
|
-
children: [
|
|
91
|
-
"See also:",
|
|
92
|
-
" ",
|
|
93
|
-
/* @__PURE__ */ jsx(Link, {
|
|
94
|
-
href: "/docs/ops/tenant-customization",
|
|
95
|
-
className: "text-violet-400 underline",
|
|
96
|
-
children: "Tenant customization runbook"
|
|
97
|
-
}),
|
|
98
|
-
"."
|
|
99
|
-
]
|
|
100
|
-
})
|
|
101
|
-
]
|
|
102
|
-
})
|
|
103
|
-
]
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
export {
|
|
107
|
-
AdvancedOverlayEditorPage
|
|
108
|
-
};
|
|
2
|
+
import a from"@contractspec/lib.ui-link";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-4",children:[e("h1",{className:"font-bold text-4xl",children:"Overlay Editor"}),e("p",{className:"text-lg text-muted-foreground",children:"A Next.js app (`@contractspec/app.overlay-editor`) that lets tenant admins tweak field visibility, labels, and ordering, then sign OverlaySpecs."})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Features"}),t("ul",{className:"list-disc space-y-2 pl-6",children:[e("li",{children:"Toggle visibility and rename labels without touching code."}),e("li",{children:"Move fields up/down to define the overlay order."}),e("li",{children:"Preview JSON output powered by `@contractspec/lib.overlay-engine`."}),e("li",{children:"Server action for PEM signing (Ed25519/RSA-PSS)."})]}),t("p",{children:["Project path: ",e("code",{children:"packages/apps/overlay-editor"})]})]}),t("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Provisioning flow"}),t("ol",{className:"list-decimal space-y-2 pl-6",children:[t("li",{children:["Clone the repo and run ",e("code",{children:"bun dev"})," inside the app."]}),e("li",{children:"Use the UI to craft the overlay for a tenant."}),e("li",{children:"Paste the tenant's PEM private key (stored in Vault/KMS)."}),e("li",{children:"Click \u201CSign overlay\u201D to get the final JSON payload."}),e("li",{children:"Persist in the `Overlay` table and register with `OverlayRegistry`."})]}),t("p",{children:["See also:"," ",e(a,{href:"/docs/ops/tenant-customization",className:"text-violet-400 underline",children:"Tenant customization runbook"}),"."]})]})]})}export{l as AdvancedOverlayEditorPage};
|
|
@@ -1,62 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
3
|
-
import Link from "@contractspec/lib.ui-link";
|
|
4
|
-
import { ChevronRight } from "lucide-react";
|
|
5
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
function AdvancedRenderersPage() {
|
|
7
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
8
|
-
className: "space-y-8",
|
|
9
|
-
children: [
|
|
10
|
-
/* @__PURE__ */ jsxs("div", {
|
|
11
|
-
className: "space-y-2",
|
|
12
|
-
children: [
|
|
13
|
-
/* @__PURE__ */ jsx("h1", {
|
|
14
|
-
className: "font-bold text-4xl",
|
|
15
|
-
children: "Custom Renderers"
|
|
16
|
-
}),
|
|
17
|
-
/* @__PURE__ */ jsx("p", {
|
|
18
|
-
className: "text-lg text-muted-foreground",
|
|
19
|
-
children: "ContractSpec ships with React and React Native renderers. You can build custom renderers for any framework."
|
|
20
|
-
})
|
|
21
|
-
]
|
|
22
|
-
}),
|
|
23
|
-
/* @__PURE__ */ jsxs("div", {
|
|
24
|
-
className: "space-y-6",
|
|
25
|
-
children: [
|
|
26
|
-
/* @__PURE__ */ jsxs("div", {
|
|
27
|
-
className: "space-y-3",
|
|
28
|
-
children: [
|
|
29
|
-
/* @__PURE__ */ jsx("h2", {
|
|
30
|
-
className: "font-bold text-2xl",
|
|
31
|
-
children: "Overview"
|
|
32
|
-
}),
|
|
33
|
-
/* @__PURE__ */ jsxs("p", {
|
|
34
|
-
className: "text-muted-foreground",
|
|
35
|
-
children: [
|
|
36
|
-
"The presentation runtime libraries (",
|
|
37
|
-
/* @__PURE__ */ jsx("code", {
|
|
38
|
-
children: "@contractspec/lib.presentation-runtime-react"
|
|
39
|
-
}),
|
|
40
|
-
" and",
|
|
41
|
-
/* @__PURE__ */ jsx("code", {
|
|
42
|
-
children: "@contractspec/lib.presentation-runtime-react-native"
|
|
43
|
-
}),
|
|
44
|
-
") provide hooks and components to render ContractSpec-defined UI like workflows and data views. You can extend these or create custom implementations for other frameworks."
|
|
45
|
-
]
|
|
46
|
-
})
|
|
47
|
-
]
|
|
48
|
-
}),
|
|
49
|
-
/* @__PURE__ */ jsxs("div", {
|
|
50
|
-
className: "space-y-3",
|
|
51
|
-
children: [
|
|
52
|
-
/* @__PURE__ */ jsx("h2", {
|
|
53
|
-
className: "font-bold text-2xl",
|
|
54
|
-
children: "Using the React Renderer"
|
|
55
|
-
}),
|
|
56
|
-
/* @__PURE__ */ jsx("div", {
|
|
57
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
58
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
59
|
-
children: `import { useWorkflow, WorkflowStepRenderer } from '@contractspec/lib.presentation-runtime-react';
|
|
2
|
+
import t from"@contractspec/lib.ui-link";import{ChevronRight as r}from"lucide-react";import{jsx as e,jsxs as o}from"react/jsx-runtime";function c(){return o("div",{className:"space-y-8",children:[o("div",{className:"space-y-2",children:[e("h1",{className:"font-bold text-4xl",children:"Custom Renderers"}),e("p",{className:"text-lg text-muted-foreground",children:"ContractSpec ships with React and React Native renderers. You can build custom renderers for any framework."})]}),o("div",{className:"space-y-6",children:[o("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Overview"}),o("p",{className:"text-muted-foreground",children:["The presentation runtime libraries (",e("code",{children:"@contractspec/lib.presentation-runtime-react"})," and",e("code",{children:"@contractspec/lib.presentation-runtime-react-native"}),") provide hooks and components to render ContractSpec-defined UI like workflows and data views. You can extend these or create custom implementations for other frameworks."]})]}),o("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Using the React Renderer"}),e("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:e("pre",{children:`import { useWorkflow, WorkflowStepRenderer } from '@contractspec/lib.presentation-runtime-react';
|
|
60
3
|
import { MyWorkflowSpec } from './specs';
|
|
61
4
|
|
|
62
5
|
export function WorkflowPage() {
|
|
@@ -71,63 +14,4 @@ export function WorkflowPage() {
|
|
|
71
14
|
</button>
|
|
72
15
|
</div>
|
|
73
16
|
);
|
|
74
|
-
}`
|
|
75
|
-
})
|
|
76
|
-
})
|
|
77
|
-
]
|
|
78
|
-
}),
|
|
79
|
-
/* @__PURE__ */ jsxs("div", {
|
|
80
|
-
className: "space-y-3",
|
|
81
|
-
children: [
|
|
82
|
-
/* @__PURE__ */ jsx("h2", {
|
|
83
|
-
className: "font-bold text-2xl",
|
|
84
|
-
children: "Custom Platform Support"
|
|
85
|
-
}),
|
|
86
|
-
/* @__PURE__ */ jsx("p", {
|
|
87
|
-
className: "text-muted-foreground",
|
|
88
|
-
children: "To support a new platform (e.g., Vue, Svelte), you would:"
|
|
89
|
-
}),
|
|
90
|
-
/* @__PURE__ */ jsxs("ol", {
|
|
91
|
-
className: "list-inside list-decimal space-y-2 text-muted-foreground",
|
|
92
|
-
children: [
|
|
93
|
-
/* @__PURE__ */ jsxs("li", {
|
|
94
|
-
children: [
|
|
95
|
-
"Implement the core workflow state machine (from",
|
|
96
|
-
" ",
|
|
97
|
-
/* @__PURE__ */ jsx("code", {
|
|
98
|
-
children: "@contractspec/lib.presentation-runtime-core"
|
|
99
|
-
}),
|
|
100
|
-
")"
|
|
101
|
-
]
|
|
102
|
-
}),
|
|
103
|
-
/* @__PURE__ */ jsx("li", {
|
|
104
|
-
children: "Create framework-specific hooks/components for step rendering"
|
|
105
|
-
}),
|
|
106
|
-
/* @__PURE__ */ jsx("li", {
|
|
107
|
-
children: "Handle validation and submission via the ContractSpec I/O schemas"
|
|
108
|
-
})
|
|
109
|
-
]
|
|
110
|
-
})
|
|
111
|
-
]
|
|
112
|
-
}),
|
|
113
|
-
/* @__PURE__ */ jsx("div", {
|
|
114
|
-
className: "flex items-center gap-4 pt-4",
|
|
115
|
-
children: /* @__PURE__ */ jsxs(Link, {
|
|
116
|
-
href: "/docs",
|
|
117
|
-
className: "btn-primary",
|
|
118
|
-
children: [
|
|
119
|
-
"Back to docs ",
|
|
120
|
-
/* @__PURE__ */ jsx(ChevronRight, {
|
|
121
|
-
size: 16
|
|
122
|
-
})
|
|
123
|
-
]
|
|
124
|
-
})
|
|
125
|
-
})
|
|
126
|
-
]
|
|
127
|
-
})
|
|
128
|
-
]
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
export {
|
|
132
|
-
AdvancedRenderersPage
|
|
133
|
-
};
|
|
17
|
+
}`})})]}),o("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Custom Platform Support"}),e("p",{className:"text-muted-foreground",children:"To support a new platform (e.g., Vue, Svelte), you would:"}),o("ol",{className:"list-inside list-decimal space-y-2 text-muted-foreground",children:[o("li",{children:["Implement the core workflow state machine (from"," ",e("code",{children:"@contractspec/lib.presentation-runtime-core"}),")"]}),e("li",{children:"Create framework-specific hooks/components for step rendering"}),e("li",{children:"Handle validation and submission via the ContractSpec I/O schemas"})]})]}),e("div",{className:"flex items-center gap-4 pt-4",children:o(t,{href:"/docs",className:"btn-primary",children:["Back to docs ",e(r,{size:16})]})})]})]})}export{c as AdvancedRenderersPage};
|
|
@@ -1,33 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
3
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
-
function AdvancedSpecExperimentsPage() {
|
|
5
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
6
|
-
className: "space-y-8",
|
|
7
|
-
children: [
|
|
8
|
-
/* @__PURE__ */ jsxs("div", {
|
|
9
|
-
className: "space-y-4",
|
|
10
|
-
children: [
|
|
11
|
-
/* @__PURE__ */ jsx("h1", {
|
|
12
|
-
className: "font-bold text-4xl",
|
|
13
|
-
children: "Spec Experiments"
|
|
14
|
-
}),
|
|
15
|
-
/* @__PURE__ */ jsx("p", {
|
|
16
|
-
className: "text-lg text-muted-foreground",
|
|
17
|
-
children: "Run controlled experiments on ContractSpec operations, gradually shift traffic, and roll back automatically when guardrails trip."
|
|
18
|
-
})
|
|
19
|
-
]
|
|
20
|
-
}),
|
|
21
|
-
/* @__PURE__ */ jsxs("div", {
|
|
22
|
-
className: "space-y-3",
|
|
23
|
-
children: [
|
|
24
|
-
/* @__PURE__ */ jsx("h2", {
|
|
25
|
-
className: "font-bold text-2xl",
|
|
26
|
-
children: "Define control + variants"
|
|
27
|
-
}),
|
|
28
|
-
/* @__PURE__ */ jsx("pre", {
|
|
29
|
-
className: "rounded-lg border bg-muted p-4 text-sm",
|
|
30
|
-
children: `import { SpecExperimentRegistry } from '@contractspec/lib.growth/spec-experiments';
|
|
2
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";function a(){return t("div",{className:"space-y-8",children:[t("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Spec Experiments"}),e("p",{className:"text-lg text-muted-foreground",children:"Run controlled experiments on ContractSpec operations, gradually shift traffic, and roll back automatically when guardrails trip."})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Define control + variants"}),e("pre",{className:"rounded-lg border bg-muted p-4 text-sm",children:`import { SpecExperimentRegistry } from '@contractspec/lib.growth/spec-experiments';
|
|
31
3
|
|
|
32
4
|
const registry = new SpecExperimentRegistry().register({
|
|
33
5
|
target: { name: 'billing.createInvoice', version: 4 },
|
|
@@ -47,38 +19,12 @@ const registry = new SpecExperimentRegistry().register({
|
|
|
47
19
|
],
|
|
48
20
|
rolloutStages: [0.01, 0.1, 0.5, 1],
|
|
49
21
|
guardrails: { errorRateThreshold: 0.02, latencyP99ThresholdMs: 500 },
|
|
50
|
-
});`
|
|
51
|
-
})
|
|
52
|
-
]
|
|
53
|
-
}),
|
|
54
|
-
/* @__PURE__ */ jsxs("div", {
|
|
55
|
-
className: "space-y-3",
|
|
56
|
-
children: [
|
|
57
|
-
/* @__PURE__ */ jsx("h2", {
|
|
58
|
-
className: "font-bold text-2xl",
|
|
59
|
-
children: "Attach to runtime"
|
|
60
|
-
}),
|
|
61
|
-
/* @__PURE__ */ jsx("pre", {
|
|
62
|
-
className: "rounded-lg border bg-muted p-4 text-sm",
|
|
63
|
-
children: `import { createSpecVariantResolver } from '@contractspec/lib.growth/spec-experiments';
|
|
22
|
+
});`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Attach to runtime"}),e("pre",{className:"rounded-lg border bg-muted p-4 text-sm",children:`import { createSpecVariantResolver } from '@contractspec/lib.growth/spec-experiments';
|
|
64
23
|
|
|
65
24
|
adapterContext.specVariantResolver = createSpecVariantResolver({
|
|
66
25
|
adapter,
|
|
67
26
|
resolveUserId: (ctx) => ctx.userId ?? ctx.organizationId ?? 'anon',
|
|
68
|
-
});`
|
|
69
|
-
})
|
|
70
|
-
]
|
|
71
|
-
}),
|
|
72
|
-
/* @__PURE__ */ jsxs("div", {
|
|
73
|
-
className: "space-y-3",
|
|
74
|
-
children: [
|
|
75
|
-
/* @__PURE__ */ jsx("h2", {
|
|
76
|
-
className: "font-bold text-2xl",
|
|
77
|
-
children: "Track outcomes + auto-rollback"
|
|
78
|
-
}),
|
|
79
|
-
/* @__PURE__ */ jsx("pre", {
|
|
80
|
-
className: "rounded-lg border bg-muted p-4 text-sm",
|
|
81
|
-
children: `import {
|
|
27
|
+
});`})]}),t("div",{className:"space-y-3",children:[e("h2",{className:"font-bold text-2xl",children:"Track outcomes + auto-rollback"}),e("pre",{className:"rounded-lg border bg-muted p-4 text-sm",children:`import {
|
|
82
28
|
SpecExperimentAnalyzer,
|
|
83
29
|
SpecExperimentController,
|
|
84
30
|
} from '@contractspec/lib.growth/spec-experiments';
|
|
@@ -88,38 +34,4 @@ const controller = new SpecExperimentController({
|
|
|
88
34
|
registry,
|
|
89
35
|
analyzer,
|
|
90
36
|
onRollback: (target, evaluation) => notifyOps(target, evaluation.reasons),
|
|
91
|
-
});`
|
|
92
|
-
})
|
|
93
|
-
]
|
|
94
|
-
}),
|
|
95
|
-
/* @__PURE__ */ jsx("div", {
|
|
96
|
-
className: "grid gap-4 md:grid-cols-2",
|
|
97
|
-
children: [
|
|
98
|
-
{
|
|
99
|
-
title: "Deterministic bucketing",
|
|
100
|
-
description: "ExperimentRunner reuses the same hashing logic as growth experiments\u2014every user sticks to a variant."
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
title: "Multi-stage rollouts",
|
|
104
|
-
description: "Use `rolloutStages` to shift 1% \u2192 10% \u2192 50% \u2192 100%. Guardrails trigger rollbacks automatically."
|
|
105
|
-
}
|
|
106
|
-
].map((card) => /* @__PURE__ */ jsxs("div", {
|
|
107
|
-
className: "card-subtle space-y-2 p-4",
|
|
108
|
-
children: [
|
|
109
|
-
/* @__PURE__ */ jsx("h3", {
|
|
110
|
-
className: "font-semibold text-lg",
|
|
111
|
-
children: card.title
|
|
112
|
-
}),
|
|
113
|
-
/* @__PURE__ */ jsx("p", {
|
|
114
|
-
className: "text-muted-foreground text-sm",
|
|
115
|
-
children: card.description
|
|
116
|
-
})
|
|
117
|
-
]
|
|
118
|
-
}, card.title))
|
|
119
|
-
})
|
|
120
|
-
]
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
export {
|
|
124
|
-
AdvancedSpecExperimentsPage
|
|
125
|
-
};
|
|
37
|
+
});`})]}),e("div",{className:"grid gap-4 md:grid-cols-2",children:[{title:"Deterministic bucketing",description:"ExperimentRunner reuses the same hashing logic as growth experiments\u2014every user sticks to a variant."},{title:"Multi-stage rollouts",description:"Use `rolloutStages` to shift 1% \u2192 10% \u2192 50% \u2192 100%. Guardrails trigger rollbacks automatically."}].map((r)=>t("div",{className:"card-subtle space-y-2 p-4",children:[e("h3",{className:"font-semibold text-lg",children:r.title}),e("p",{className:"text-muted-foreground text-sm",children:r.description})]},r.title))})]})}export{a as AdvancedSpecExperimentsPage};
|