@contractspec/bundle.library 3.9.0 → 3.9.3
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 +612 -608
- package/CHANGELOG.md +89 -0
- package/README.md +2 -1
- package/dist/__tests__/mocks/prisma.d.ts +5 -5
- package/dist/application/context-storage/index.js +1 -1
- package/dist/application/index.js +6 -6
- package/dist/application/mcp/cliMcp.js +2 -2
- package/dist/application/mcp/cliMcp.onboarding.js +1 -1
- package/dist/application/mcp/common.js +1 -1
- package/dist/application/mcp/contractsMcp.js +2 -2
- package/dist/application/mcp/contractsMcpAdoptionTools.js +1 -1
- package/dist/application/mcp/contractsMcpResources.js +2 -2
- package/dist/application/mcp/contractsMcpTools.js +1 -1
- package/dist/application/mcp/docsMcp.catalog.js +2 -2
- package/dist/application/mcp/docsMcp.data.js +1 -1
- package/dist/application/mcp/docsMcp.js +3 -3
- package/dist/application/mcp/docsMcp.prompts.js +3 -3
- package/dist/application/mcp/docsMcp.reference.js +2 -2
- package/dist/application/mcp/docsMcp.resources.js +2 -2
- package/dist/application/mcp/docsMcp.tools.js +2 -2
- package/dist/application/mcp/index.js +6 -6
- package/dist/application/mcp/internalMcp.js +2 -2
- package/dist/application/mcp/normalizeMcpRequest.js +1 -1
- package/dist/application/mcp/providerRankingMcp.js +1 -1
- package/dist/bundles/LibraryBundle.d.ts +19 -111
- package/dist/bundles/LibraryBundle.js +1 -1
- package/dist/bundles/index.js +1 -1
- package/dist/components/docs/DocsIndexPage.js +2 -2
- package/dist/components/docs/advanced/AdvancedMCPPage.js +3 -3
- package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
- package/dist/components/docs/advanced/AdvancedRenderersPage.js +2 -2
- package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
- package/dist/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
- package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
- package/dist/components/docs/advanced/index.js +9 -9
- package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
- package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
- package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
- package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
- package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
- package/dist/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
- package/dist/components/docs/architecture/index.js +20 -20
- package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonOverviewPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonWindmillPage.js +1 -1
- package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
- package/dist/components/docs/comparison/index.js +1 -1
- package/dist/components/docs/docsManifest.js +1 -1
- package/dist/components/docs/ecosystem/IntegrationsPage.js +2 -2
- package/dist/components/docs/ecosystem/PluginsPage.js +4 -4
- package/dist/components/docs/ecosystem/RegistryPage.js +4 -4
- package/dist/components/docs/ecosystem/TemplatesPage.js +3 -3
- package/dist/components/docs/ecosystem/index.js +11 -11
- package/dist/components/docs/examples/DocsExamplesPage.js +1 -1
- package/dist/components/docs/examples/ExampleShowcasePage.js +2 -2
- package/dist/components/docs/examples/exampleShowcaseData.js +2 -2
- package/dist/components/docs/examples/index.js +2 -2
- package/dist/components/docs/generated/docs-index.generated.js +1 -1
- package/dist/components/docs/generated/index.d.ts +7 -1
- package/dist/components/docs/generated/index.js +1 -1
- package/dist/components/docs/generated/loader.js +1 -1
- package/dist/components/docs/getting-started/CLIPage.js +4 -4
- package/dist/components/docs/getting-started/CompatibilityPage.js +1 -1
- package/dist/components/docs/getting-started/DataViewTutorialPage.js +4 -4
- package/dist/components/docs/getting-started/DeveloperToolsPage.js +1 -1
- package/dist/components/docs/getting-started/HelloWorldPage.js +5 -5
- package/dist/components/docs/getting-started/InstallationPage.js +3 -3
- package/dist/components/docs/getting-started/StartHerePage.js +3 -3
- package/dist/components/docs/getting-started/TroubleshootingPage.js +2 -2
- package/dist/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
- package/dist/components/docs/getting-started/getting-started.docblocks.js +2 -2
- package/dist/components/docs/getting-started/index.js +17 -17
- package/dist/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
- package/dist/components/docs/guides/GuideConnectInRepoPage.js +6 -6
- package/dist/components/docs/guides/GuideContractTypesPage.js +6 -6
- package/dist/components/docs/guides/GuideDocsPipelinePage.js +3 -3
- package/dist/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
- package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
- package/dist/components/docs/guides/GuideHostBuilderWorkbenchPage.js +7 -7
- package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
- package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
- package/dist/components/docs/guides/GuideReleaseCapsulesPage.js +3 -3
- package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
- package/dist/components/docs/guides/GuidesIndexPage.js +2 -2
- package/dist/components/docs/guides/index.js +43 -43
- package/dist/components/docs/index.js +375 -255
- package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsGithubPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsGmailPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsMistralPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
- package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsPowensPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
- package/dist/components/docs/integrations/IntegrationsResendPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsS3Page.js +4 -4
- package/dist/components/docs/integrations/IntegrationsSlackPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsStripePage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
- package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
- package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
- package/dist/components/docs/integrations/index.js +39 -39
- package/dist/components/docs/intent/ContractFirstApiPage.js +2 -2
- package/dist/components/docs/intent/DeterministicCodegenPage.js +2 -2
- package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
- package/dist/components/docs/intent/OpenapiAlternativePage.js +3 -3
- package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
- package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
- package/dist/components/docs/intent/index.js +15 -15
- package/dist/components/docs/intent/intent-pages.docblocks.js +1 -1
- package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
- package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
- package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
- package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
- package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
- package/dist/components/docs/knowledge/index.js +5 -5
- package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
- package/dist/components/docs/libraries/LibrariesContentGenPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesContractsPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.d.ts +67 -0
- package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +86 -0
- package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.d.ts +1 -0
- package/dist/components/docs/libraries/LibrariesCrossPlatformUIPage.js +86 -0
- package/dist/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +38 -2
- package/dist/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
- package/dist/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesGrowthPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
- package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
- package/dist/components/docs/libraries/LibrariesOverviewPage.js +1 -1
- package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
- package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesResiliencePage.js +4 -4
- package/dist/components/docs/libraries/LibrariesRuntimePage.js +2 -2
- package/dist/components/docs/libraries/LibrariesSLOPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesSchemaPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesTestingPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesUIKitPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesUIKitWebPage.js +2 -2
- package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
- package/dist/components/docs/libraries/index.d.ts +1 -0
- package/dist/components/docs/libraries/index.js +173 -53
- package/dist/components/docs/manifesto/ManifestoPage.js +1 -1
- package/dist/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
- package/dist/components/docs/ops/DistributedTracingOpsPage.js +2 -2
- package/dist/components/docs/ops/index.js +3 -3
- package/dist/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
- package/dist/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
- package/dist/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
- package/dist/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
- package/dist/components/docs/ops/ops-top.docs.js +2 -2
- package/dist/components/docs/ops/ops.docs.js +6 -6
- package/dist/components/docs/product/product.docblocks.js +2 -2
- package/dist/components/docs/reference/DocsMarkdownContent.js +2 -2
- package/dist/components/docs/reference/DocsReferenceContent.js +3 -3
- package/dist/components/docs/reference/DocsReferenceIndexClient.js +2 -2
- package/dist/components/docs/reference/DocsReferenceIndexPage.js +2 -2
- package/dist/components/docs/reference/DocsReferencePage.js +3 -3
- package/dist/components/docs/reference/docsMarkdownParser.js +2 -2
- package/dist/components/docs/reference/index.js +4 -4
- package/dist/components/docs/safety/SafetyAuditingPage.js +2 -2
- package/dist/components/docs/safety/SafetyMigrationsPage.js +2 -2
- package/dist/components/docs/safety/SafetyOverviewPage.js +1 -1
- package/dist/components/docs/safety/SafetyPDPPage.js +2 -2
- package/dist/components/docs/safety/SafetySecurityTrustPage.js +1 -1
- package/dist/components/docs/safety/SafetySigningPage.js +3 -3
- package/dist/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
- package/dist/components/docs/safety/index.js +7 -7
- package/dist/components/docs/shared/StudioPrompt.js +1 -1
- package/dist/components/docs/specs/SpecsBuilderControlPlanePage.js +4 -4
- package/dist/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
- package/dist/components/docs/specs/SpecsConnectPage.js +2 -2
- package/dist/components/docs/specs/SpecsDataViewsPage.js +2 -2
- package/dist/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
- package/dist/components/docs/specs/SpecsOverlaysPage.js +2 -2
- package/dist/components/docs/specs/SpecsOverviewPage.js +1 -1
- package/dist/components/docs/specs/SpecsPolicyPage.js +3 -3
- package/dist/components/docs/specs/SpecsWorkflowsPage.js +2 -2
- package/dist/components/docs/specs/index.js +13 -13
- package/dist/components/docs/studio/StudioBYOKPage.js +1 -1
- package/dist/components/docs/studio/StudioDeploymentsPage.js +1 -1
- package/dist/components/docs/studio/StudioGettingStartedPage.js +1 -1
- package/dist/components/docs/studio/StudioIntegrationsPage.js +1 -1
- package/dist/components/docs/studio/StudioOverviewPage.js +1 -1
- package/dist/components/docs/studio/StudioVisualBuilderPage.js +1 -1
- package/dist/components/docs/studio/index.js +1 -1
- package/dist/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
- package/dist/components/integrations/index.js +2 -2
- package/dist/components/integrations/molecules/IntegrationCard.js +1 -1
- package/dist/components/integrations/organisms/IntegrationMarketplace.js +1 -1
- package/dist/components/integrations/organisms/IntegrationSettings.js +2 -2
- package/dist/components/integrations/organisms/KnowledgeSourceList.js +1 -1
- package/dist/components/legal/PrivacyTemplate.js +1 -1
- package/dist/components/legal/TermsTemplate.js +1 -1
- package/dist/components/legal/index.js +1 -1
- package/dist/components/shared/FeatureGateNotice.js +1 -1
- package/dist/components/shared/index.js +1 -1
- package/dist/components/shell/WorkspaceHeader.js +1 -1
- package/dist/components/shell/WorkspaceProjectShellLayout.js +1 -1
- package/dist/components/shell/WorkspaceShellRenderer.js +1 -1
- package/dist/components/shell/WorkspaceSidebar.js +1 -1
- package/dist/components/shell/index.js +1 -1
- package/dist/components/templates/engine/index.js +1 -1
- package/dist/components/templates/index.js +11 -11
- package/dist/components/templates/messaging/ConversationList.js +2 -2
- package/dist/components/templates/messaging/MessageComposer.js +4 -4
- package/dist/components/templates/messaging/MessageThread.js +3 -3
- package/dist/components/templates/messaging/MessagingWorkspace.js +5 -5
- package/dist/components/templates/messaging/index.js +5 -5
- package/dist/components/templates/recipes/LanguageSwitcher.js +1 -1
- package/dist/components/templates/recipes/RecipeCard.js +1 -1
- package/dist/components/templates/recipes/RecipeDetail.js +1 -1
- package/dist/components/templates/recipes/RecipeList.js +3 -3
- package/dist/components/templates/recipes/index.js +3 -3
- package/dist/components/templates/todos/FilterBar.js +1 -1
- package/dist/components/templates/todos/TaskForm.js +2 -2
- package/dist/components/templates/todos/TaskItem.js +1 -1
- package/dist/components/templates/todos/TaskList.js +5 -5
- package/dist/components/templates/todos/index.js +5 -5
- package/dist/config/contractspec-blueprint.js +1 -1
- package/dist/config/contractspec-branding.js +1 -1
- package/dist/config/contractspec-routes.js +1 -1
- package/dist/config/index.js +1 -1
- package/dist/features/contracts-registry.js +1 -1
- package/dist/features/docs/docs.contracts.js +1 -1
- package/dist/features/docs/index.js +1 -1
- package/dist/features/docs.feature.js +1 -1
- package/dist/features/index.js +1 -1
- package/dist/features/mcp.feature.js +1 -1
- package/dist/features/presentations.feature.js +1 -1
- package/dist/features/registry.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +382 -262
- package/dist/infrastructure/elysia/index.js +1 -1
- package/dist/infrastructure/elysia/logger.js +1 -1
- package/dist/infrastructure/index.js +1 -1
- package/dist/libs/email/client.js +1 -1
- package/dist/libs/email/contact.js +3 -3
- package/dist/libs/email/newsletter.js +3 -3
- package/dist/libs/email/utils.js +2 -2
- package/dist/libs/email/waitlist-application.js +3 -3
- package/dist/libs/email/waitlist.js +3 -3
- package/dist/libs/email.js +6 -6
- package/dist/libs/posthog/client.js +1 -1
- package/dist/libs/posthog/native.js +1 -1
- package/dist/libs/posthog/server.js +1 -1
- package/dist/libs/pricing-examples.js +1 -1
- package/dist/node/application/context-storage/index.js +1 -1
- package/dist/node/application/index.js +6 -6
- package/dist/node/application/mcp/cliMcp.js +2 -2
- package/dist/node/application/mcp/cliMcp.onboarding.js +1 -1
- package/dist/node/application/mcp/common.js +1 -1
- package/dist/node/application/mcp/contractsMcp.js +2 -2
- package/dist/node/application/mcp/contractsMcpAdoptionTools.js +1 -1
- package/dist/node/application/mcp/contractsMcpResources.js +2 -2
- package/dist/node/application/mcp/contractsMcpTools.js +1 -1
- package/dist/node/application/mcp/docsMcp.catalog.js +2 -2
- package/dist/node/application/mcp/docsMcp.data.js +1 -1
- package/dist/node/application/mcp/docsMcp.js +3 -3
- package/dist/node/application/mcp/docsMcp.prompts.js +3 -3
- package/dist/node/application/mcp/docsMcp.reference.js +2 -2
- package/dist/node/application/mcp/docsMcp.resources.js +2 -2
- package/dist/node/application/mcp/docsMcp.tools.js +2 -2
- package/dist/node/application/mcp/index.js +6 -6
- package/dist/node/application/mcp/internalMcp.js +2 -2
- package/dist/node/application/mcp/normalizeMcpRequest.js +1 -1
- package/dist/node/application/mcp/providerRankingMcp.js +1 -1
- package/dist/node/bundles/LibraryBundle.js +1 -1
- package/dist/node/bundles/index.js +1 -1
- package/dist/node/components/docs/DocsIndexPage.js +2 -2
- package/dist/node/components/docs/advanced/AdvancedMCPPage.js +3 -3
- package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -1
- package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +2 -2
- package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -4
- package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +2 -2
- package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -2
- package/dist/node/components/docs/advanced/index.js +9 -9
- package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +6 -6
- package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +3 -3
- package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -7
- package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -6
- package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -2
- package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +1 -1
- package/dist/node/components/docs/architecture/index.js +20 -20
- package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +1 -1
- package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -1
- package/dist/node/components/docs/comparison/index.js +1 -1
- package/dist/node/components/docs/docsManifest.js +1 -1
- package/dist/node/components/docs/ecosystem/IntegrationsPage.js +2 -2
- package/dist/node/components/docs/ecosystem/PluginsPage.js +4 -4
- package/dist/node/components/docs/ecosystem/RegistryPage.js +4 -4
- package/dist/node/components/docs/ecosystem/TemplatesPage.js +3 -3
- package/dist/node/components/docs/ecosystem/index.js +11 -11
- package/dist/node/components/docs/examples/DocsExamplesPage.js +1 -1
- package/dist/node/components/docs/examples/ExampleShowcasePage.js +2 -2
- package/dist/node/components/docs/examples/exampleShowcaseData.js +2 -2
- package/dist/node/components/docs/examples/index.js +2 -2
- package/dist/node/components/docs/generated/docs-index.generated.js +1 -1
- package/dist/node/components/docs/generated/index.js +1 -1
- package/dist/node/components/docs/generated/loader.js +1 -1
- package/dist/node/components/docs/getting-started/CLIPage.js +4 -4
- package/dist/node/components/docs/getting-started/CompatibilityPage.js +1 -1
- package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +4 -4
- package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +1 -1
- package/dist/node/components/docs/getting-started/HelloWorldPage.js +5 -5
- package/dist/node/components/docs/getting-started/InstallationPage.js +3 -3
- package/dist/node/components/docs/getting-started/StartHerePage.js +3 -3
- package/dist/node/components/docs/getting-started/TroubleshootingPage.js +2 -2
- package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +1 -1
- package/dist/node/components/docs/getting-started/getting-started.docblocks.js +2 -2
- package/dist/node/components/docs/getting-started/index.js +17 -17
- package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +2 -2
- package/dist/node/components/docs/guides/GuideConnectInRepoPage.js +6 -6
- package/dist/node/components/docs/guides/GuideContractTypesPage.js +6 -6
- package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +3 -3
- package/dist/node/components/docs/guides/GuideFirstModuleBundlePage.js +4 -4
- package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -2
- package/dist/node/components/docs/guides/GuideHostBuilderWorkbenchPage.js +7 -7
- package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -8
- package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
- package/dist/node/components/docs/guides/GuideReleaseCapsulesPage.js +3 -3
- package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +4 -4
- package/dist/node/components/docs/guides/GuidesIndexPage.js +2 -2
- package/dist/node/components/docs/guides/index.js +43 -43
- package/dist/node/components/docs/index.js +375 -255
- package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +1 -1
- package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +5 -5
- package/dist/node/components/docs/integrations/IntegrationsResendPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsS3Page.js +4 -4
- package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsStripePage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +3 -3
- package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -2
- package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -2
- package/dist/node/components/docs/integrations/index.js +39 -39
- package/dist/node/components/docs/intent/ContractFirstApiPage.js +2 -2
- package/dist/node/components/docs/intent/DeterministicCodegenPage.js +2 -2
- package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +7 -7
- package/dist/node/components/docs/intent/OpenapiAlternativePage.js +3 -3
- package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +4 -4
- package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -2
- package/dist/node/components/docs/intent/index.js +15 -15
- package/dist/node/components/docs/intent/intent-pages.docblocks.js +1 -1
- package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +2 -2
- package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +2 -2
- package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +1 -1
- package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +2 -2
- package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +2 -2
- package/dist/node/components/docs/knowledge/index.js +5 -5
- package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesContractsPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.content.js +85 -0
- package/dist/node/components/docs/libraries/LibrariesCrossPlatformUIPage.js +85 -0
- package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +38 -2
- package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +5 -5
- package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +1 -1
- package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +4 -4
- package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesSLOPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesTestingPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesUIKitWebPage.js +2 -2
- package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +2 -2
- package/dist/node/components/docs/libraries/index.js +173 -53
- package/dist/node/components/docs/manifesto/ManifestoPage.js +1 -1
- package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +2 -2
- package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +2 -2
- package/dist/node/components/docs/ops/index.js +3 -3
- package/dist/node/components/docs/ops/ops-lifecycle.docblocks.js +2 -2
- package/dist/node/components/docs/ops/ops-runbooks-a.docblocks.js +2 -2
- package/dist/node/components/docs/ops/ops-runbooks-b.docblocks.js +2 -2
- package/dist/node/components/docs/ops/ops-slo-tenant.docblocks.js +2 -2
- package/dist/node/components/docs/ops/ops-top.docs.js +2 -2
- package/dist/node/components/docs/ops/ops.docs.js +6 -6
- package/dist/node/components/docs/product/product.docblocks.js +2 -2
- package/dist/node/components/docs/reference/DocsMarkdownContent.js +2 -2
- package/dist/node/components/docs/reference/DocsReferenceContent.js +3 -3
- package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +2 -2
- package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +2 -2
- package/dist/node/components/docs/reference/DocsReferencePage.js +3 -3
- package/dist/node/components/docs/reference/docsMarkdownParser.js +2 -2
- package/dist/node/components/docs/reference/index.js +4 -4
- package/dist/node/components/docs/safety/SafetyAuditingPage.js +2 -2
- package/dist/node/components/docs/safety/SafetyMigrationsPage.js +2 -2
- package/dist/node/components/docs/safety/SafetyOverviewPage.js +1 -1
- package/dist/node/components/docs/safety/SafetyPDPPage.js +2 -2
- package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +1 -1
- package/dist/node/components/docs/safety/SafetySigningPage.js +3 -3
- package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +2 -2
- package/dist/node/components/docs/safety/index.js +7 -7
- package/dist/node/components/docs/shared/StudioPrompt.js +1 -1
- package/dist/node/components/docs/specs/SpecsBuilderControlPlanePage.js +4 -4
- package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +2 -2
- package/dist/node/components/docs/specs/SpecsConnectPage.js +2 -2
- package/dist/node/components/docs/specs/SpecsDataViewsPage.js +2 -2
- package/dist/node/components/docs/specs/SpecsModuleBundlesPage.js +3 -3
- package/dist/node/components/docs/specs/SpecsOverlaysPage.js +2 -2
- package/dist/node/components/docs/specs/SpecsOverviewPage.js +1 -1
- package/dist/node/components/docs/specs/SpecsPolicyPage.js +3 -3
- package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +2 -2
- package/dist/node/components/docs/specs/index.js +13 -13
- package/dist/node/components/docs/studio/StudioBYOKPage.js +1 -1
- package/dist/node/components/docs/studio/StudioDeploymentsPage.js +1 -1
- package/dist/node/components/docs/studio/StudioGettingStartedPage.js +1 -1
- package/dist/node/components/docs/studio/StudioIntegrationsPage.js +1 -1
- package/dist/node/components/docs/studio/StudioOverviewPage.js +1 -1
- package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +1 -1
- package/dist/node/components/docs/studio/index.js +1 -1
- package/dist/node/components/docs/tech/contracts/tech-docs.docblocks.js +2 -2
- package/dist/node/components/integrations/index.js +2 -2
- package/dist/node/components/integrations/molecules/IntegrationCard.js +1 -1
- package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +1 -1
- package/dist/node/components/integrations/organisms/IntegrationSettings.js +2 -2
- package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +1 -1
- package/dist/node/components/legal/PrivacyTemplate.js +1 -1
- package/dist/node/components/legal/TermsTemplate.js +1 -1
- package/dist/node/components/legal/index.js +1 -1
- package/dist/node/components/shared/FeatureGateNotice.js +1 -1
- package/dist/node/components/shared/index.js +1 -1
- package/dist/node/components/shell/WorkspaceHeader.js +1 -1
- package/dist/node/components/shell/WorkspaceProjectShellLayout.js +1 -1
- package/dist/node/components/shell/WorkspaceShellRenderer.js +1 -1
- package/dist/node/components/shell/WorkspaceSidebar.js +1 -1
- package/dist/node/components/shell/index.js +1 -1
- package/dist/node/components/templates/engine/index.js +1 -1
- package/dist/node/components/templates/index.js +11 -11
- package/dist/node/components/templates/messaging/ConversationList.js +2 -2
- package/dist/node/components/templates/messaging/MessageComposer.js +4 -4
- package/dist/node/components/templates/messaging/MessageThread.js +3 -3
- package/dist/node/components/templates/messaging/MessagingWorkspace.js +5 -5
- package/dist/node/components/templates/messaging/index.js +5 -5
- package/dist/node/components/templates/recipes/LanguageSwitcher.js +1 -1
- package/dist/node/components/templates/recipes/RecipeCard.js +1 -1
- package/dist/node/components/templates/recipes/RecipeDetail.js +1 -1
- package/dist/node/components/templates/recipes/RecipeList.js +3 -3
- package/dist/node/components/templates/recipes/index.js +3 -3
- package/dist/node/components/templates/todos/FilterBar.js +1 -1
- package/dist/node/components/templates/todos/TaskForm.js +2 -2
- package/dist/node/components/templates/todos/TaskItem.js +1 -1
- package/dist/node/components/templates/todos/TaskList.js +5 -5
- package/dist/node/components/templates/todos/index.js +5 -5
- package/dist/node/config/contractspec-blueprint.js +1 -1
- package/dist/node/config/contractspec-branding.js +1 -1
- package/dist/node/config/contractspec-routes.js +1 -1
- package/dist/node/config/index.js +1 -1
- package/dist/node/features/contracts-registry.js +1 -1
- package/dist/node/features/docs/docs.contracts.js +1 -1
- package/dist/node/features/docs/index.js +1 -1
- package/dist/node/features/docs.feature.js +1 -1
- package/dist/node/features/index.js +1 -1
- package/dist/node/features/mcp.feature.js +1 -1
- package/dist/node/features/presentations.feature.js +1 -1
- package/dist/node/features/registry.js +1 -1
- package/dist/node/index.js +382 -262
- package/dist/node/infrastructure/elysia/index.js +1 -1
- package/dist/node/infrastructure/elysia/logger.js +1 -1
- package/dist/node/infrastructure/index.js +1 -1
- package/dist/node/libs/email/client.js +1 -1
- package/dist/node/libs/email/contact.js +3 -3
- package/dist/node/libs/email/newsletter.js +3 -3
- package/dist/node/libs/email/utils.js +2 -2
- package/dist/node/libs/email/waitlist-application.js +3 -3
- package/dist/node/libs/email/waitlist.js +3 -3
- package/dist/node/libs/email.js +6 -6
- package/dist/node/libs/posthog/client.js +1 -1
- package/dist/node/libs/posthog/native.js +1 -1
- package/dist/node/libs/posthog/server.js +1 -1
- package/dist/node/libs/pricing-examples.js +1 -1
- package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
- package/dist/node/presentation/features/atoms/FeatureIcon/index.js +1 -1
- package/dist/node/presentation/features/atoms/index.js +1 -1
- package/dist/node/presentation/features/hooks/index.js +1 -1
- package/dist/node/presentation/features/hooks/useContractsRegistry.js +1 -1
- package/dist/node/presentation/features/hooks/useFeatureFilters.js +1 -1
- package/dist/node/presentation/features/hooks/useFeatureRegistry.js +1 -1
- package/dist/node/presentation/features/hooks/useRelatedDocs.js +1 -1
- package/dist/node/presentation/features/index.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureCard/index.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureFilters/index.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
- package/dist/node/presentation/features/molecules/index.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDetail/index.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureEventsList.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureFormsList.js +1 -1
- package/dist/node/presentation/features/organisms/FeatureOperationsList.js +1 -1
- package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +1 -1
- package/dist/node/presentation/features/organisms/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
- package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -1
- package/dist/presentation/features/atoms/FeatureIcon/index.js +1 -1
- package/dist/presentation/features/atoms/index.js +1 -1
- package/dist/presentation/features/hooks/index.js +1 -1
- package/dist/presentation/features/hooks/useContractsRegistry.js +1 -1
- package/dist/presentation/features/hooks/useFeatureFilters.js +1 -1
- package/dist/presentation/features/hooks/useFeatureRegistry.js +1 -1
- package/dist/presentation/features/hooks/useRelatedDocs.js +1 -1
- package/dist/presentation/features/index.js +1 -1
- package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -1
- package/dist/presentation/features/molecules/FeatureCard/index.js +1 -1
- package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -1
- package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -1
- package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -1
- package/dist/presentation/features/molecules/FeatureFilters/index.js +1 -1
- package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -1
- package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +1 -1
- package/dist/presentation/features/molecules/index.js +1 -1
- package/dist/presentation/features/organisms/FeatureDataViewsList.js +1 -1
- package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -1
- package/dist/presentation/features/organisms/FeatureDetail/index.js +1 -1
- package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -1
- package/dist/presentation/features/organisms/FeatureDiscovery/index.js +1 -1
- package/dist/presentation/features/organisms/FeatureEventsList.js +1 -1
- package/dist/presentation/features/organisms/FeatureFormsList.js +1 -1
- package/dist/presentation/features/organisms/FeatureOperationsList.js +1 -1
- package/dist/presentation/features/organisms/FeaturePresentationsList.js +1 -1
- package/dist/presentation/features/organisms/index.js +1 -1
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -1
- package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -1
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -1
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -1
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -1
- package/package.json +49 -24
- package/src/application/mcp/internalMcp.ts +1 -1
- package/src/bundles/LibraryBundle.ts +19 -130
- package/src/components/docs/docsManifest.test.ts +14 -0
- package/src/components/docs/docsManifest.ts +10 -0
- package/src/components/docs/examples/DocsExamplesPage.tsx +3 -3
- package/src/components/docs/examples/ExampleShowcasePage.tsx +1 -1
- package/src/components/docs/examples/exampleShowcaseData.test.ts +5 -3
- package/src/components/docs/examples/exampleShowcaseData.ts +3 -3
- package/src/components/docs/generated/docs-index._common.json +1699 -2008
- package/src/components/docs/generated/docs-index.agent-console.json +377 -377
- package/src/components/docs/generated/docs-index.ai-chat-assistant.json +17 -17
- package/src/components/docs/generated/docs-index.ai-chat.json +105 -105
- package/src/components/docs/generated/docs-index.ai-support-bot.json +9 -9
- package/src/components/docs/generated/docs-index.analytics-dashboard.json +169 -169
- package/src/components/docs/generated/docs-index.app-config.json +137 -137
- package/src/components/docs/generated/docs-index.artisan-knowledge-product.json +17 -17
- package/src/components/docs/generated/docs-index.artisan-payments-stripe.json +33 -33
- package/src/components/docs/generated/docs-index.audit-trail.json +49 -49
- package/src/components/docs/generated/docs-index.calendar-google.json +9 -9
- package/src/components/docs/generated/docs-index.content-generation.json +9 -9
- package/src/components/docs/generated/docs-index.control-plane.json +17 -17
- package/src/components/docs/generated/docs-index.crm-pipeline.json +161 -161
- package/src/components/docs/generated/docs-index.data-grid-showcase.json +25 -25
- package/src/components/docs/generated/docs-index.defineExample.json +9 -9
- package/src/components/docs/generated/docs-index.email-gmail.json +9 -9
- package/src/components/docs/generated/docs-index.feature-flags.json +217 -217
- package/src/components/docs/generated/docs-index.files.json +177 -177
- package/src/components/docs/generated/docs-index.generated.ts +20 -20
- package/src/components/docs/generated/docs-index.harness-lab.json +9 -9
- package/src/components/docs/generated/docs-index.health.json +97 -97
- package/src/components/docs/generated/docs-index.identity-rbac.json +313 -313
- package/src/components/docs/generated/docs-index.in-app-docs.json +9 -9
- package/src/components/docs/generated/docs-index.integration-hub.json +265 -265
- package/src/components/docs/generated/docs-index.integration-posthog.json +9 -9
- package/src/components/docs/generated/docs-index.integration-stripe.json +9 -9
- package/src/components/docs/generated/docs-index.integration-supabase.json +9 -9
- package/src/components/docs/generated/docs-index.jobs.json +137 -137
- package/src/components/docs/generated/docs-index.kb-update-pipeline.json +129 -129
- package/src/components/docs/generated/docs-index.knowledge-canon.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-ambient-coach.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-crm-onboarding.json +49 -49
- package/src/components/docs/generated/docs-index.learning-journey-duo-drills.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-platform-tour.json +49 -49
- package/src/components/docs/generated/docs-index.learning-journey-quest-challenges.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-registry.json +33 -33
- package/src/components/docs/generated/docs-index.learning-journey-studio-onboarding.json +49 -49
- package/src/components/docs/generated/docs-index.learning-journey-ui-coaching.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-ui-gamified.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-ui-onboarding.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-ui-shared.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey.json +241 -241
- package/src/components/docs/generated/docs-index.learning-patterns.json +9 -9
- package/src/components/docs/generated/docs-index.lifecycle-cli.json +9 -9
- package/src/components/docs/generated/docs-index.lifecycle-dashboard.json +9 -9
- package/src/components/docs/generated/docs-index.locale-jurisdiction-gate.json +65 -65
- package/src/components/docs/generated/docs-index.manifest.json +432 -432
- package/src/components/docs/generated/docs-index.marketplace.json +337 -337
- package/src/components/docs/generated/docs-index.meeting-recorder-providers.json +9 -9
- package/src/components/docs/generated/docs-index.meeting-recorder.json +49 -49
- package/src/components/docs/generated/docs-index.messaging-agent-actions.json +17 -17
- package/src/components/docs/generated/docs-index.metrics.json +201 -201
- package/src/components/docs/generated/docs-index.minimal.json +17 -17
- package/src/components/docs/generated/docs-index.mobile-demo-landing.json +42 -0
- package/src/components/docs/generated/docs-index.notifications.json +65 -65
- package/src/components/docs/generated/docs-index.openbanking-powens.json +9 -9
- package/src/components/docs/generated/docs-index.openbanking.json +65 -65
- package/src/components/docs/generated/docs-index.opencode-cli.json +17 -17
- package/src/components/docs/generated/docs-index.personalization.json +9 -9
- package/src/components/docs/generated/docs-index.platform-acp.json +137 -137
- package/src/components/docs/generated/docs-index.platform-agent.json +201 -201
- package/src/components/docs/generated/docs-index.platform-context.json +121 -121
- package/src/components/docs/generated/docs-index.platform-control-plane.json +321 -321
- package/src/components/docs/generated/docs-index.platform-database.json +89 -89
- package/src/components/docs/generated/docs-index.platform-docs.json +161 -161
- package/src/components/docs/generated/docs-index.platform-harness.json +177 -177
- package/src/components/docs/generated/docs-index.platform-integrations.json +329 -329
- package/src/components/docs/generated/docs-index.platform-knowledge.json +57 -57
- package/src/components/docs/generated/docs-index.platform-provider-ranking.json +217 -217
- package/src/components/docs/generated/docs-index.pocket-family-office.json +129 -129
- package/src/components/docs/generated/docs-index.policy-safe-knowledge-assistant.json +9 -9
- package/src/components/docs/generated/docs-index.product-intent.json +9 -9
- package/src/components/docs/generated/docs-index.project-management-sync.json +9 -9
- package/src/components/docs/generated/docs-index.saas-boilerplate.json +209 -209
- package/src/components/docs/generated/docs-index.service-business-os.json +193 -193
- package/src/components/docs/generated/docs-index.team-hub.json +185 -185
- package/src/components/docs/generated/docs-index.unknown.json +521 -521
- package/src/components/docs/generated/docs-index.versioned-knowledge-base.json +81 -81
- package/src/components/docs/generated/docs-index.video-api-showcase.json +33 -33
- package/src/components/docs/generated/docs-index.video-docs-terminal.json +9 -9
- package/src/components/docs/generated/docs-index.video-marketing-clip.json +9 -9
- package/src/components/docs/generated/docs-index.visualization-showcase.json +17 -17
- package/src/components/docs/generated/docs-index.voice-providers.json +9 -9
- package/src/components/docs/generated/docs-index.wealth-snapshot.json +153 -153
- package/src/components/docs/generated/docs-index.workflow-system.json +433 -433
- package/src/components/docs/generated/docs-index.workspace-cli.json +9 -9
- package/src/components/docs/generated/index.ts +20 -5
- package/src/components/docs/generated/loader.ts +15 -8
- package/src/components/docs/getting-started/CompatibilityPage.tsx +14 -0
- package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.content.ts +252 -0
- package/src/components/docs/libraries/LibrariesCrossPlatformUIPage.tsx +232 -0
- package/src/components/docs/libraries/LibrariesDesignSystemPage.tsx +79 -0
- package/src/components/docs/libraries/LibrariesOverviewPage.tsx +6 -0
- package/src/components/docs/libraries/LibrariesRuntimePage.tsx +15 -0
- package/src/components/docs/libraries/LibrariesUIKitPage.tsx +15 -0
- package/src/components/docs/libraries/LibrariesUIKitWebPage.tsx +14 -0
- package/src/components/docs/libraries/index.ts +1 -0
- package/src/components/docs/reference/DocsReferenceIndexPage.tsx +1 -1
- package/src/index.ts +1 -1
- package/src/components/docs/generated/docs-index.mobile-demo-tasks.json +0 -34
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
[
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
]
|
|
2
|
+
{
|
|
3
|
+
"id": "workspace-cli/workspace-cli",
|
|
4
|
+
"title": "workspace-cli",
|
|
5
|
+
"summary": "Core CLI operations for managing ContractSpec workspaces\n- **Type**: feature\n- **Version**: 1.0.0\n- **Stability**: stable\n- **Owners**: @lssm/core\n- **Tags**: cli, core\n- **File**: `packages/bundles/workspace/src/contracts/features/cli.feature.ts`",
|
|
6
|
+
"route": "/docs/reference/workspace-cli/workspace-cli",
|
|
7
|
+
"source": "generated",
|
|
8
|
+
"contentPath": "workspace-cli/workspace-cli.md"
|
|
9
|
+
}
|
|
10
|
+
]
|
|
@@ -3,8 +3,23 @@ export type {
|
|
|
3
3
|
DocsIndexManifest,
|
|
4
4
|
DocsIndexSource,
|
|
5
5
|
} from './docs-index.generated';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
6
|
+
|
|
7
|
+
import type { DocsIndexEntry, DocsIndexManifest } from './docs-index.generated';
|
|
8
|
+
|
|
9
|
+
export async function getDocsIndexManifest(): Promise<DocsIndexManifest> {
|
|
10
|
+
const { getDocsIndexManifest: loadManifest } = await import('./loader');
|
|
11
|
+
return loadManifest();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export async function listGeneratedDocs(): Promise<readonly DocsIndexEntry[]> {
|
|
15
|
+
const { listGeneratedDocs: loadDocs } = await import('./loader');
|
|
16
|
+
return loadDocs();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export async function getGeneratedDocById(id: string): Promise<{
|
|
20
|
+
entry: DocsIndexEntry;
|
|
21
|
+
content: string;
|
|
22
|
+
} | null> {
|
|
23
|
+
const { getGeneratedDocById: loadDoc } = await import('./loader');
|
|
24
|
+
return loadDoc(id);
|
|
25
|
+
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { readFile } from 'node:fs/promises';
|
|
2
|
-
import
|
|
2
|
+
import * as path from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
4
|
import type { DocsIndexEntry, DocsIndexManifest } from './docs-index.generated';
|
|
5
5
|
import { DOCS_INDEX_MANIFEST } from './docs-index.generated';
|
|
6
6
|
|
|
7
|
-
const baseDir = dirname(fileURLToPath(import.meta.url));
|
|
7
|
+
const baseDir = path.dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const generatedDocsContentRoot = path.join(
|
|
9
|
+
baseDir,
|
|
10
|
+
'../../../../../../../generated/docs'
|
|
11
|
+
);
|
|
8
12
|
let manifestPromise: Promise<DocsIndexManifest> | null = null;
|
|
9
13
|
let docsPromise: Promise<DocsIndexEntry[]> | null = null;
|
|
10
14
|
const chunkCache = new Map<string, Promise<DocsIndexEntry[]>>();
|
|
@@ -21,7 +25,7 @@ function chunkKeyForId(id: string): string {
|
|
|
21
25
|
async function loadManifest(): Promise<DocsIndexManifest> {
|
|
22
26
|
if (!manifestPromise) {
|
|
23
27
|
manifestPromise = readFile(
|
|
24
|
-
join(
|
|
28
|
+
path.join(/*turbopackIgnore: true*/ baseDir, DOCS_INDEX_MANIFEST),
|
|
25
29
|
'utf8'
|
|
26
30
|
).then((content) => JSON.parse(content) as DocsIndexManifest);
|
|
27
31
|
}
|
|
@@ -30,7 +34,10 @@ async function loadManifest(): Promise<DocsIndexManifest> {
|
|
|
30
34
|
|
|
31
35
|
function resolveContentRoot(manifest: DocsIndexManifest): string {
|
|
32
36
|
const root = manifest.contentRoot ?? '.';
|
|
33
|
-
|
|
37
|
+
if (root === '../../../../../../../generated/docs') {
|
|
38
|
+
return generatedDocsContentRoot;
|
|
39
|
+
}
|
|
40
|
+
return path.join(/*turbopackIgnore: true*/ baseDir, root);
|
|
34
41
|
}
|
|
35
42
|
|
|
36
43
|
async function loadChunk(fileName: string): Promise<DocsIndexEntry[]> {
|
|
@@ -38,7 +45,7 @@ async function loadChunk(fileName: string): Promise<DocsIndexEntry[]> {
|
|
|
38
45
|
if (cached) return cached;
|
|
39
46
|
|
|
40
47
|
const load = readFile(
|
|
41
|
-
join(
|
|
48
|
+
path.join(/*turbopackIgnore: true*/ baseDir, fileName),
|
|
42
49
|
'utf8'
|
|
43
50
|
).then((content) => JSON.parse(content) as DocsIndexEntry[]);
|
|
44
51
|
chunkCache.set(fileName, load);
|
|
@@ -76,9 +83,9 @@ export async function getGeneratedDocById(id: string): Promise<{
|
|
|
76
83
|
const entry = entries.find((doc) => doc.id === id);
|
|
77
84
|
if (!entry || !entry.contentPath) return null;
|
|
78
85
|
|
|
79
|
-
const contentPath = join(
|
|
80
|
-
resolveContentRoot(manifest),
|
|
81
|
-
|
|
86
|
+
const contentPath = path.join(
|
|
87
|
+
/*turbopackIgnore: true*/ resolveContentRoot(manifest),
|
|
88
|
+
entry.contentPath
|
|
82
89
|
);
|
|
83
90
|
try {
|
|
84
91
|
const content = await readFile(contentPath, 'utf8');
|
|
@@ -59,6 +59,20 @@ export function CompatibilityPage() {
|
|
|
59
59
|
<li>Custom adapters for other SQL/NoSQL stores</li>
|
|
60
60
|
</ul>
|
|
61
61
|
</div>
|
|
62
|
+
|
|
63
|
+
<div className="card-subtle space-y-3 p-6">
|
|
64
|
+
<h2 className="font-bold text-2xl">Cross-platform UI architecture</h2>
|
|
65
|
+
<p className="text-muted-foreground">
|
|
66
|
+
Need the React and React Native component compatibility story? Read{' '}
|
|
67
|
+
<Link
|
|
68
|
+
href="/docs/libraries/cross-platform-ui"
|
|
69
|
+
className="text-[color:var(--rust)] underline underline-offset-4"
|
|
70
|
+
>
|
|
71
|
+
Cross-platform UI
|
|
72
|
+
</Link>{' '}
|
|
73
|
+
for the runtime and UI-layer split.
|
|
74
|
+
</p>
|
|
75
|
+
</div>
|
|
62
76
|
</div>
|
|
63
77
|
|
|
64
78
|
<div className="flex flex-wrap items-center gap-3 pt-2">
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
export const layerCards = [
|
|
2
|
+
{
|
|
3
|
+
title: '@contractspec/lib.presentation-runtime-core',
|
|
4
|
+
body: 'Shared state, table models, workflow logic, visualization helpers, and the alias helpers consumed by web and native builds.',
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
title: '@contractspec/lib.presentation-runtime-react',
|
|
8
|
+
body: 'React-facing hooks such as useContractTable, useDataViewTable, and useWorkflow. This is the shared hook surface most product code starts from.',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
title: '@contractspec/lib.presentation-runtime-react-native',
|
|
12
|
+
body: 'Native entrypoint for mobile apps. It re-exports the shared table and data-view hooks so the controller API stays aligned with the React package.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
title: '@contractspec/lib.ui-kit-web',
|
|
16
|
+
body: 'Browser-first primitives and accessibility helpers. Reach for this layer when you want direct control over the web renderer.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
title: '@contractspec/lib.ui-kit',
|
|
20
|
+
body: 'Native-first primitives for Expo and React Native. Reach for this layer when the render surface should stay mobile-native.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
title: '@contractspec/lib.design-system',
|
|
24
|
+
body: 'Composed components, ThemeSpec/TranslationSpec-aware controls, token helpers, and paired web/mobile implementations that sit on top of both UI kits.',
|
|
25
|
+
},
|
|
26
|
+
] as const;
|
|
27
|
+
export const hookCards = [
|
|
28
|
+
{
|
|
29
|
+
title: 'useContractTable',
|
|
30
|
+
body: 'Use this when your rows and column definitions already live in product code and you want one headless controller for sorting, pagination, selection, visibility, pinning, sizing, and expansion.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
title: 'useDataViewTable',
|
|
34
|
+
body: 'Use this when the table should stay driven by a DataViewSpec instead of hand-authored columns. It adapts the spec to the same generic controller model.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
title: 'Native re-export boundary',
|
|
38
|
+
body: 'On native apps, import the same hook names from @contractspec/lib.presentation-runtime-react-native when you want the import path itself to signal a mobile boundary.',
|
|
39
|
+
},
|
|
40
|
+
] as const;
|
|
41
|
+
export const aliasSetupCards = [
|
|
42
|
+
{
|
|
43
|
+
title: 'Next.js / Turbopack',
|
|
44
|
+
body: 'Use withPresentationTurbopackAliases as the default path in current Next.js apps. It patches nextConfig.turbopack instead of mutating a webpack config object.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
title: 'Next.js / Webpack fallback',
|
|
48
|
+
body: 'Use withPresentationWebpackAliases only when a Next.js app explicitly opts back into webpack via the CLI flags.',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
title: 'Expo / Metro',
|
|
52
|
+
body: 'Use withPresentationMetroAliases on Metro when native platforms should resolve web ui-kit /ui imports and the shared React runtime root to native implementations.',
|
|
53
|
+
},
|
|
54
|
+
] as const;
|
|
55
|
+
export const designSystemHelperCards = [
|
|
56
|
+
{
|
|
57
|
+
title: 'withPlatformUI',
|
|
58
|
+
body: 'Use this lightweight adapter when a design-system surface needs one object that carries the current platform, tokens, and breakpoints.',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
title: 'mapTokensForPlatform',
|
|
62
|
+
body: 'Use this when resolved tokens need to be mapped into platform-specific token shapes before the final renderer consumes them.',
|
|
63
|
+
},
|
|
64
|
+
] as const;
|
|
65
|
+
export const remapCards = [
|
|
66
|
+
{
|
|
67
|
+
title: 'What Webpack remaps',
|
|
68
|
+
items: [
|
|
69
|
+
'@contractspec/lib.ui-kit -> @contractspec/lib.ui-kit-web',
|
|
70
|
+
'@contractspec/lib.presentation-runtime-react-native -> @contractspec/lib.presentation-runtime-react',
|
|
71
|
+
'Prepends .web.js, .web.jsx, .web.ts, and .web.tsx to webpack resolve.extensions',
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
title: 'What Turbopack remaps',
|
|
76
|
+
items: [
|
|
77
|
+
'@contractspec/lib.ui-kit -> @contractspec/lib.ui-kit-web',
|
|
78
|
+
'@contractspec/lib.presentation-runtime-react-native -> @contractspec/lib.presentation-runtime-react',
|
|
79
|
+
'Initializes or merges turbopack.resolveExtensions with a web-first extension list',
|
|
80
|
+
],
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
title: 'What Metro remaps',
|
|
84
|
+
items: [
|
|
85
|
+
'@contractspec/lib.ui-kit-web/ui/* -> @contractspec/lib.ui-kit/ui/* on ios/android/native/mobile',
|
|
86
|
+
'Root @contractspec/lib.presentation-runtime-react -> @contractspec/lib.presentation-runtime-react-native',
|
|
87
|
+
'Enables package exports and expands platform resolution ordering',
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
] as const;
|
|
91
|
+
export const layoutRules = [
|
|
92
|
+
'Set gap, align, justify, and wrap explicitly in shared code because defaults are not identical between web and native.',
|
|
93
|
+
'Shared-safe subset: VStack, HStack, and Box with className, gap, align, justify, and wrap.',
|
|
94
|
+
'Web-only feature: as lets stack primitives emit semantic elements such as section, header, main, or article.',
|
|
95
|
+
'Native-only extras: spacing, width, and padding exist on the native stack primitives and should stay out of shared renderer code.',
|
|
96
|
+
'HStack and Box reverse-wrap tokens differ: wrapReverse on web, reverse on native. Prefer nowrap or wrap in shared code.',
|
|
97
|
+
'Box defaults to nowrap on web and wrap on native, so shared code should set wrap intentionally.',
|
|
98
|
+
] as const;
|
|
99
|
+
|
|
100
|
+
export const gotchas = [
|
|
101
|
+
'withPresentationNextAliases no longer exists. Use withPresentationTurbopackAliases for the default Next.js path or withPresentationWebpackAliases for explicit webpack fallback.',
|
|
102
|
+
'Prefer root runtime imports when alias helpers matter. Metro remaps the root @contractspec/lib.presentation-runtime-react package, not arbitrary deep hook subpaths.',
|
|
103
|
+
'Metro only rewrites @contractspec/lib.ui-kit-web/ui/* imports. Router-specific web packages and other web-only helpers still need platform-aware imports.',
|
|
104
|
+
'presentation-runtime-core is headless. It owns models and config helpers, not rendered React components.',
|
|
105
|
+
'design-system compatibility comes from paired .tsx / .mobile.tsx implementations and token helpers such as withPlatformUI and mapTokensForPlatform.',
|
|
106
|
+
'Form controls should come from @contractspec/lib.design-system when product code needs ThemeSpec or TranslationSpec support.',
|
|
107
|
+
'Stack primitives are similar across platforms, but the prop surface is not identical. Stay inside the common subset for shared renderers.',
|
|
108
|
+
'Alias helpers solve module resolution only. They do not replace app-level monorepo watchFolders, Expo Router setup, or other Next configuration.',
|
|
109
|
+
] as const;
|
|
110
|
+
|
|
111
|
+
export const markdownKitIntro =
|
|
112
|
+
'Copy these markdown snippets into your own AGENTS.md, LLM guide, README, or engineering playbook when you want to enforce the same cross-surface rules across customer projects.';
|
|
113
|
+
|
|
114
|
+
export const turbopackAliasExample = `import { withPresentationTurbopackAliases } from '@contractspec/lib.presentation-runtime-core';
|
|
115
|
+
|
|
116
|
+
/** @type {import('next').NextConfig} */
|
|
117
|
+
const nextConfig = withPresentationTurbopackAliases({
|
|
118
|
+
turbopack: {
|
|
119
|
+
resolveAlias: {
|
|
120
|
+
fs: { browser: 'browserify-fs' },
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
export default nextConfig;`;
|
|
126
|
+
|
|
127
|
+
export const webpackAliasExample = `import { withPresentationWebpackAliases } from '@contractspec/lib.presentation-runtime-core';
|
|
128
|
+
|
|
129
|
+
/** @type {import('next').NextConfig} */
|
|
130
|
+
const nextConfig = {
|
|
131
|
+
webpack: (config) => withPresentationWebpackAliases(config),
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export default nextConfig;`;
|
|
135
|
+
|
|
136
|
+
export const metroAliasExample = `const { getDefaultConfig } = require('expo/metro-config');
|
|
137
|
+
const {
|
|
138
|
+
withPresentationMetroAliases,
|
|
139
|
+
} = require('@contractspec/lib.presentation-runtime-core');
|
|
140
|
+
|
|
141
|
+
const projectRoot = __dirname;
|
|
142
|
+
const config = getDefaultConfig(projectRoot);
|
|
143
|
+
|
|
144
|
+
module.exports = withPresentationMetroAliases(config);`;
|
|
145
|
+
|
|
146
|
+
export const designSystemHelperExample = [
|
|
147
|
+
'import {',
|
|
148
|
+
' defaultTokens,',
|
|
149
|
+
' mapTokensForPlatform,',
|
|
150
|
+
' withPlatformUI,',
|
|
151
|
+
"} from '@contractspec/lib.design-system';",
|
|
152
|
+
'',
|
|
153
|
+
"const nativeTokens = mapTokensForPlatform('native', defaultTokens);",
|
|
154
|
+
'',
|
|
155
|
+
'const ui = withPlatformUI({',
|
|
156
|
+
' tokens: defaultTokens,',
|
|
157
|
+
" platform: 'web',",
|
|
158
|
+
'});',
|
|
159
|
+
'',
|
|
160
|
+
'// ui is a lightweight config object for design-system consumers.',
|
|
161
|
+
'// nativeTokens is the mapped token shape for a native renderer.',
|
|
162
|
+
].join('\n');
|
|
163
|
+
|
|
164
|
+
export const stackExample = `import { Box, HStack, VStack } from '@contractspec/lib.ui-kit-web/ui/stack';
|
|
165
|
+
|
|
166
|
+
export function AccountSummaryHeader() {
|
|
167
|
+
return (
|
|
168
|
+
<VStack gap="lg" align="stretch" className="w-full">
|
|
169
|
+
<HStack gap="sm" align="center" justify="between" wrap="wrap">
|
|
170
|
+
<Box gap="xs" align="center" justify="start" wrap="nowrap">
|
|
171
|
+
<StatusDot />
|
|
172
|
+
<Title />
|
|
173
|
+
</Box>
|
|
174
|
+
<Actions />
|
|
175
|
+
</HStack>
|
|
176
|
+
<Filters />
|
|
177
|
+
</VStack>
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// In native-only files, swap the import to:
|
|
182
|
+
// @contractspec/lib.ui-kit/ui/stack
|
|
183
|
+
//
|
|
184
|
+
// On web-only pages, VStack / HStack / Box also support:
|
|
185
|
+
// <VStack as="section">...</VStack>`;
|
|
186
|
+
|
|
187
|
+
export const renderingExample = `import { DataTable as DesignSystemTable } from '@contractspec/lib.design-system';
|
|
188
|
+
import { DataTable as NativeTable } from '@contractspec/lib.ui-kit/ui/data-table';
|
|
189
|
+
import { DataTable as WebTable } from '@contractspec/lib.ui-kit-web/ui/data-table';
|
|
190
|
+
import { useContractTable } from '@contractspec/lib.presentation-runtime-react';
|
|
191
|
+
|
|
192
|
+
export function useAccountsController(data, columns) {
|
|
193
|
+
return useContractTable({
|
|
194
|
+
data,
|
|
195
|
+
columns,
|
|
196
|
+
selectionMode: 'single',
|
|
197
|
+
initialState: {
|
|
198
|
+
sorting: [{ id: 'arr', desc: true }],
|
|
199
|
+
pagination: { pageIndex: 0, pageSize: 5 },
|
|
200
|
+
},
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export function WebAccounts({ controller }) {
|
|
205
|
+
return <WebTable controller={controller} />;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export function NativeAccounts({ controller }) {
|
|
209
|
+
return <NativeTable controller={controller} />;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export function ProductAccounts({ controller }) {
|
|
213
|
+
return (
|
|
214
|
+
<DesignSystemTable
|
|
215
|
+
controller={controller}
|
|
216
|
+
title="Accounts"
|
|
217
|
+
description="Same controller, composed ContractSpec shell."
|
|
218
|
+
/>
|
|
219
|
+
);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// If the table is spec-driven instead of hand-authored,
|
|
223
|
+
// swap useContractTable for useDataViewTable.`;
|
|
224
|
+
|
|
225
|
+
export const customerPolicyMarkdown = `# Cross-Surface Rendering Policy
|
|
226
|
+
|
|
227
|
+
- Import runtime bundler helpers from \`@contractspec/lib.presentation-runtime-core\` root only.
|
|
228
|
+
- Use \`withPresentationTurbopackAliases\` for default Next.js projects.
|
|
229
|
+
- Use \`withPresentationWebpackAliases\` only when the app explicitly opts into webpack.
|
|
230
|
+
- Use \`withPresentationMetroAliases\` for Expo and Metro builds.
|
|
231
|
+
- Prefer \`@contractspec/lib.design-system\` for shared product-facing surfaces.
|
|
232
|
+
- Use design-system controls when a field must respect ThemeSpec component variants or TranslationSpec messages.
|
|
233
|
+
- Use \`@contractspec/lib.ui-kit-web\` only for web-specific primitive lanes.
|
|
234
|
+
- Use \`@contractspec/lib.ui-kit\` only for native-specific primitive lanes.
|
|
235
|
+
- Keep shared layout code inside the common \`VStack\` / \`HStack\` / \`Box\` subset.
|
|
236
|
+
- Do not use removed \`withPresentationNextAliases\`.
|
|
237
|
+
- Treat \`.tsx\` / \`.mobile.tsx\` pairs as the standard design-system compatibility boundary.`;
|
|
238
|
+
|
|
239
|
+
export const customerChecklistMarkdown = `# Cross-Surface Rendering Checklist
|
|
240
|
+
|
|
241
|
+
1. Configure the bundler aliases before sharing any UI code.
|
|
242
|
+
2. Choose the controller layer:
|
|
243
|
+
- use \`useContractTable\` for app-owned rows and columns
|
|
244
|
+
- use \`useDataViewTable\` for DataViewSpec-driven tables
|
|
245
|
+
3. Choose the renderer lane:
|
|
246
|
+
- web primitive: \`@contractspec/lib.ui-kit-web\`
|
|
247
|
+
- native primitive: \`@contractspec/lib.ui-kit\`
|
|
248
|
+
- shared product surface: \`@contractspec/lib.design-system\`
|
|
249
|
+
4. Verify mirrored \`.tsx\` / \`.mobile.tsx\` implementations where the design-system owns the surface.
|
|
250
|
+
5. Wrap product surfaces in \`DesignSystemThemeProvider\` and \`DesignSystemTranslationProvider\` when ThemeSpec or TranslationSpec data is available.
|
|
251
|
+
6. In shared layout code, set \`gap\`, \`align\`, \`justify\`, and \`wrap\` explicitly.
|
|
252
|
+
7. Check docs and examples for root imports and current helper names before copying them into product code.`;
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { CodeBlock } from '@contractspec/lib.design-system';
|
|
2
|
+
import Link from '@contractspec/lib.ui-link';
|
|
3
|
+
import { ChevronRight } from 'lucide-react';
|
|
4
|
+
import {
|
|
5
|
+
aliasSetupCards,
|
|
6
|
+
customerChecklistMarkdown,
|
|
7
|
+
customerPolicyMarkdown,
|
|
8
|
+
designSystemHelperCards,
|
|
9
|
+
designSystemHelperExample,
|
|
10
|
+
gotchas,
|
|
11
|
+
hookCards,
|
|
12
|
+
layerCards,
|
|
13
|
+
layoutRules,
|
|
14
|
+
markdownKitIntro,
|
|
15
|
+
metroAliasExample,
|
|
16
|
+
remapCards,
|
|
17
|
+
renderingExample,
|
|
18
|
+
stackExample,
|
|
19
|
+
turbopackAliasExample,
|
|
20
|
+
webpackAliasExample,
|
|
21
|
+
} from './LibrariesCrossPlatformUIPage.content';
|
|
22
|
+
|
|
23
|
+
export function LibrariesCrossPlatformUIPage() {
|
|
24
|
+
return (
|
|
25
|
+
<div className="space-y-8">
|
|
26
|
+
<div className="space-y-4">
|
|
27
|
+
<h1 className="font-bold text-4xl">Cross-platform UI</h1>
|
|
28
|
+
<p className="text-lg text-muted-foreground">
|
|
29
|
+
How ContractSpec keeps React and React Native components compatible by
|
|
30
|
+
splitting responsibility across shared runtime models, platform
|
|
31
|
+
primitives, resolver aliases, and the composed design-system layer.
|
|
32
|
+
</p>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<div className="space-y-4">
|
|
36
|
+
<h2 className="font-bold text-2xl">What cross-platform means here</h2>
|
|
37
|
+
<p className="text-muted-foreground">
|
|
38
|
+
The shared rendering story is layered: the core package owns models
|
|
39
|
+
and resolver helpers, the React packages own hook APIs, the UI kits
|
|
40
|
+
own raw primitives, and the design-system owns the higher-level
|
|
41
|
+
product surfaces that pair web and mobile implementations.
|
|
42
|
+
</p>
|
|
43
|
+
<div className="grid gap-4 md:grid-cols-2">
|
|
44
|
+
{layerCards.map((card) => (
|
|
45
|
+
<div
|
|
46
|
+
key={card.title}
|
|
47
|
+
className="rounded-[20px] border border-border/70 p-4"
|
|
48
|
+
>
|
|
49
|
+
<h3 className="font-semibold text-base">{card.title}</h3>
|
|
50
|
+
<p className="mt-2 text-muted-foreground text-sm leading-7">
|
|
51
|
+
{card.body}
|
|
52
|
+
</p>
|
|
53
|
+
</div>
|
|
54
|
+
))}
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
<div className="grid gap-4 md:grid-cols-3">
|
|
58
|
+
{hookCards.map((card) => (
|
|
59
|
+
<div key={card.title} className="card-subtle p-4">
|
|
60
|
+
<h3 className="font-semibold">{card.title}</h3>
|
|
61
|
+
<p className="mt-2 text-muted-foreground text-sm leading-7">
|
|
62
|
+
{card.body}
|
|
63
|
+
</p>
|
|
64
|
+
</div>
|
|
65
|
+
))}
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<div className="grid gap-4 lg:grid-cols-[1.1fr_0.9fr]">
|
|
69
|
+
<div className="grid gap-4 md:grid-cols-2">
|
|
70
|
+
{designSystemHelperCards.map((card) => (
|
|
71
|
+
<div key={card.title} className="card-subtle p-4">
|
|
72
|
+
<h3 className="font-semibold">{card.title}</h3>
|
|
73
|
+
<p className="mt-2 text-muted-foreground text-sm leading-7">
|
|
74
|
+
{card.body}
|
|
75
|
+
</p>
|
|
76
|
+
</div>
|
|
77
|
+
))}
|
|
78
|
+
</div>
|
|
79
|
+
<CodeBlock
|
|
80
|
+
language="typescript"
|
|
81
|
+
filename="design-system-platform.ts"
|
|
82
|
+
code={designSystemHelperExample}
|
|
83
|
+
/>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
<div className="space-y-4">
|
|
88
|
+
<h2 className="font-bold text-2xl">Resolver and alias setup</h2>
|
|
89
|
+
<p className="text-muted-foreground">
|
|
90
|
+
Teach the bundler what “web” and “native” mean before you try to share
|
|
91
|
+
component code. These helpers are public from the root
|
|
92
|
+
<code> @contractspec/lib.presentation-runtime-core </code>
|
|
93
|
+
entrypoint.
|
|
94
|
+
</p>
|
|
95
|
+
<div className="grid gap-4 md:grid-cols-2">
|
|
96
|
+
{aliasSetupCards.map((card) => (
|
|
97
|
+
<div key={card.title} className="card-subtle p-4">
|
|
98
|
+
<h3 className="font-semibold">{card.title}</h3>
|
|
99
|
+
<p className="mt-2 text-muted-foreground text-sm leading-7">
|
|
100
|
+
{card.body}
|
|
101
|
+
</p>
|
|
102
|
+
</div>
|
|
103
|
+
))}
|
|
104
|
+
</div>
|
|
105
|
+
<div className="grid gap-4 xl:grid-cols-3">
|
|
106
|
+
<CodeBlock
|
|
107
|
+
language="typescript"
|
|
108
|
+
filename="next.config.mjs"
|
|
109
|
+
code={turbopackAliasExample}
|
|
110
|
+
/>
|
|
111
|
+
<CodeBlock
|
|
112
|
+
language="typescript"
|
|
113
|
+
filename="next.config.mjs"
|
|
114
|
+
code={webpackAliasExample}
|
|
115
|
+
/>
|
|
116
|
+
<CodeBlock
|
|
117
|
+
language="javascript"
|
|
118
|
+
filename="metro.config.js"
|
|
119
|
+
code={metroAliasExample}
|
|
120
|
+
/>
|
|
121
|
+
</div>
|
|
122
|
+
</div>
|
|
123
|
+
|
|
124
|
+
<div className="space-y-4">
|
|
125
|
+
<h2 className="font-bold text-2xl">How the remapping works</h2>
|
|
126
|
+
<p className="text-muted-foreground">
|
|
127
|
+
The helpers are intentionally asymmetric because Turbopack patches the
|
|
128
|
+
Next config object, Webpack mutates a resolver config, and Metro maps
|
|
129
|
+
modules at request time for native platforms.
|
|
130
|
+
</p>
|
|
131
|
+
<div className="grid gap-4 xl:grid-cols-3">
|
|
132
|
+
{remapCards.map((card) => (
|
|
133
|
+
<div key={card.title} className="card-subtle p-4">
|
|
134
|
+
<h3 className="font-semibold">{card.title}</h3>
|
|
135
|
+
<ul className="mt-2 space-y-2 text-muted-foreground text-sm leading-7">
|
|
136
|
+
{card.items.map((item) => (
|
|
137
|
+
<li key={item}>{item}</li>
|
|
138
|
+
))}
|
|
139
|
+
</ul>
|
|
140
|
+
</div>
|
|
141
|
+
))}
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
|
|
145
|
+
<div className="space-y-4">
|
|
146
|
+
<h2 className="font-bold text-2xl">Layout primitives</h2>
|
|
147
|
+
<p className="text-muted-foreground">
|
|
148
|
+
<code>VStack</code>, <code>HStack</code>, and <code>Box</code> are the
|
|
149
|
+
closest thing to a shared layout vocabulary, but their defaults and a
|
|
150
|
+
few props still differ across the web and native packages.
|
|
151
|
+
</p>
|
|
152
|
+
<div className="grid gap-4 md:grid-cols-2">
|
|
153
|
+
{layoutRules.map((rule) => (
|
|
154
|
+
<div
|
|
155
|
+
key={rule}
|
|
156
|
+
className="card-subtle p-4 text-muted-foreground text-sm leading-7"
|
|
157
|
+
>
|
|
158
|
+
{rule}
|
|
159
|
+
</div>
|
|
160
|
+
))}
|
|
161
|
+
</div>
|
|
162
|
+
<CodeBlock
|
|
163
|
+
language="tsx"
|
|
164
|
+
filename="stack-layout.tsx"
|
|
165
|
+
code={stackExample}
|
|
166
|
+
/>
|
|
167
|
+
</div>
|
|
168
|
+
|
|
169
|
+
<div className="space-y-4">
|
|
170
|
+
<h2 className="font-bold text-2xl">Rendering patterns</h2>
|
|
171
|
+
<p className="text-muted-foreground">
|
|
172
|
+
Keep the controller stable, then decide whether the final surface
|
|
173
|
+
should be a raw web primitive, a raw native primitive, or a composed
|
|
174
|
+
design-system wrapper.
|
|
175
|
+
</p>
|
|
176
|
+
<CodeBlock
|
|
177
|
+
language="tsx"
|
|
178
|
+
filename="cross-platform-rendering.tsx"
|
|
179
|
+
code={renderingExample}
|
|
180
|
+
/>
|
|
181
|
+
<div className="card-subtle p-4 text-muted-foreground text-sm leading-7">
|
|
182
|
+
For higher-level shared rendering, use the design-system surfaces that
|
|
183
|
+
already ship paired implementations such as{' '}
|
|
184
|
+
<code>DataViewRenderer</code>, <code>ListTablePage</code>, and{' '}
|
|
185
|
+
<code>DataTable</code>. The web and mobile files stay separate inside
|
|
186
|
+
the package while your app imports one design-system boundary.
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
|
|
190
|
+
<div className="space-y-4">
|
|
191
|
+
<h2 className="font-bold text-2xl">Gotchas and boundaries</h2>
|
|
192
|
+
<ul className="space-y-2 text-muted-foreground leading-7">
|
|
193
|
+
{gotchas.map((item) => (
|
|
194
|
+
<li key={item}>{item}</li>
|
|
195
|
+
))}
|
|
196
|
+
</ul>
|
|
197
|
+
</div>
|
|
198
|
+
|
|
199
|
+
<div className="space-y-4">
|
|
200
|
+
<h2 className="font-bold text-2xl">Customer markdown kit</h2>
|
|
201
|
+
<p className="text-muted-foreground">{markdownKitIntro}</p>
|
|
202
|
+
<div className="grid gap-4 xl:grid-cols-2">
|
|
203
|
+
<CodeBlock
|
|
204
|
+
language="markdown"
|
|
205
|
+
filename="cross-surface-policy.md"
|
|
206
|
+
code={customerPolicyMarkdown}
|
|
207
|
+
/>
|
|
208
|
+
<CodeBlock
|
|
209
|
+
language="markdown"
|
|
210
|
+
filename="cross-surface-checklist.md"
|
|
211
|
+
code={customerChecklistMarkdown}
|
|
212
|
+
/>
|
|
213
|
+
</div>
|
|
214
|
+
</div>
|
|
215
|
+
|
|
216
|
+
<div className="flex flex-wrap items-center gap-3 pt-2">
|
|
217
|
+
<Link href="/docs/libraries/runtime" className="btn-ghost">
|
|
218
|
+
Runtime libraries
|
|
219
|
+
</Link>
|
|
220
|
+
<Link href="/docs/libraries/ui-kit" className="btn-ghost">
|
|
221
|
+
UI Kit
|
|
222
|
+
</Link>
|
|
223
|
+
<Link href="/docs/libraries/ui-kit-web" className="btn-ghost">
|
|
224
|
+
UI Kit Web
|
|
225
|
+
</Link>
|
|
226
|
+
<Link href="/docs/libraries/design-system" className="btn-primary">
|
|
227
|
+
Design System <ChevronRight size={16} />
|
|
228
|
+
</Link>
|
|
229
|
+
</div>
|
|
230
|
+
</div>
|
|
231
|
+
);
|
|
232
|
+
}
|