@contractspec/bundle.library 3.4.2 → 3.5.0
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 +494 -488
- package/CHANGELOG.md +61 -0
- package/dist/application/index.js +8 -8
- package/dist/application/mcp/cliMcp.js +8 -8
- package/dist/application/mcp/contractsMcp.js +8 -8
- package/dist/application/mcp/docsMcp.js +8 -8
- package/dist/application/mcp/index.js +8 -8
- package/dist/application/mcp/internalMcp.js +8 -8
- package/dist/application/mcp/providerRankingMcp.js +8 -8
- package/dist/bundles/LibraryBundle.d.ts +126 -0
- package/dist/bundles/LibraryBundle.js +139 -0
- package/dist/bundles/index.d.ts +1 -0
- package/dist/bundles/index.js +139 -0
- package/dist/components/docs/DocsIndexPage.js +91 -91
- package/dist/components/docs/advanced/AdvancedMCPPage.js +125 -125
- package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
- package/dist/components/docs/advanced/AdvancedRenderersPage.js +51 -51
- package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
- package/dist/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
- package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
- package/dist/components/docs/advanced/index.js +482 -482
- package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
- package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
- package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
- package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
- package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
- package/dist/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
- package/dist/components/docs/architecture/index.js +748 -748
- package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
- package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
- package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
- package/dist/components/docs/comparison/ComparisonOverviewPage.js +97 -97
- package/dist/components/docs/comparison/ComparisonWindmillPage.js +125 -125
- package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
- package/dist/components/docs/comparison/index.js +738 -738
- package/dist/components/docs/ecosystem/IntegrationsPage.js +45 -45
- package/dist/components/docs/ecosystem/PluginsPage.js +73 -73
- package/dist/components/docs/ecosystem/RegistryPage.js +37 -37
- package/dist/components/docs/ecosystem/TemplatesPage.js +56 -56
- package/dist/components/docs/ecosystem/index.js +211 -211
- package/dist/components/docs/examples/DocsExamplesPage.js +21 -21
- package/dist/components/docs/examples/index.js +21 -21
- package/dist/components/docs/getting-started/CLIPage.js +95 -95
- package/dist/components/docs/getting-started/CompatibilityPage.js +81 -81
- package/dist/components/docs/getting-started/DataViewTutorialPage.js +57 -57
- package/dist/components/docs/getting-started/DeveloperToolsPage.js +61 -61
- package/dist/components/docs/getting-started/HelloWorldPage.js +77 -77
- package/dist/components/docs/getting-started/InstallationPage.js +65 -65
- package/dist/components/docs/getting-started/StartHerePage.js +51 -51
- package/dist/components/docs/getting-started/TroubleshootingPage.js +73 -73
- package/dist/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
- package/dist/components/docs/getting-started/index.js +731 -731
- package/dist/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
- package/dist/components/docs/guides/GuideContractTypesPage.js +232 -232
- package/dist/components/docs/guides/GuideDocsPipelinePage.js +82 -82
- package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
- package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
- package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
- package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
- package/dist/components/docs/guides/GuidesIndexPage.js +43 -43
- package/dist/components/docs/guides/index.js +975 -975
- package/dist/components/docs/index.js +10791 -10791
- package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
- package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
- package/dist/components/docs/integrations/IntegrationsGithubPage.js +61 -61
- package/dist/components/docs/integrations/IntegrationsGmailPage.js +49 -49
- package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
- package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
- package/dist/components/docs/integrations/IntegrationsMistralPage.js +69 -69
- package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
- package/dist/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
- package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
- package/dist/components/docs/integrations/IntegrationsPowensPage.js +121 -121
- package/dist/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
- package/dist/components/docs/integrations/IntegrationsResendPage.js +45 -45
- package/dist/components/docs/integrations/IntegrationsS3Page.js +57 -57
- package/dist/components/docs/integrations/IntegrationsSlackPage.js +63 -63
- package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
- package/dist/components/docs/integrations/IntegrationsStripePage.js +159 -159
- package/dist/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
- package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
- package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
- package/dist/components/docs/integrations/index.js +1642 -1642
- package/dist/components/docs/intent/ContractFirstApiPage.js +51 -51
- package/dist/components/docs/intent/DeterministicCodegenPage.js +59 -59
- package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
- package/dist/components/docs/intent/OpenapiAlternativePage.js +91 -91
- package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
- package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
- package/dist/components/docs/intent/index.js +396 -396
- package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
- package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
- package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
- package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
- package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
- package/dist/components/docs/knowledge/index.js +963 -963
- package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
- package/dist/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
- package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
- package/dist/components/docs/libraries/LibrariesContentGenPage.js +43 -43
- package/dist/components/docs/libraries/LibrariesContractsPage.js +125 -125
- package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
- package/dist/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
- package/dist/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
- package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
- package/dist/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
- package/dist/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
- package/dist/components/docs/libraries/LibrariesGrowthPage.js +35 -35
- package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
- package/dist/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
- package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
- package/dist/components/docs/libraries/LibrariesOverviewPage.js +191 -191
- package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
- package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
- package/dist/components/docs/libraries/LibrariesResiliencePage.js +49 -49
- package/dist/components/docs/libraries/LibrariesRuntimePage.js +87 -87
- package/dist/components/docs/libraries/LibrariesSLOPage.js +47 -47
- package/dist/components/docs/libraries/LibrariesSchemaPage.js +139 -139
- package/dist/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
- package/dist/components/docs/libraries/LibrariesTestingPage.js +49 -49
- package/dist/components/docs/libraries/LibrariesUIKitPage.js +107 -107
- package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
- package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
- package/dist/components/docs/libraries/index.js +1919 -1919
- package/dist/components/docs/manifesto/ManifestoPage.js +79 -79
- package/dist/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
- package/dist/components/docs/ops/DistributedTracingOpsPage.js +33 -33
- package/dist/components/docs/ops/index.js +92 -92
- package/dist/components/docs/reference/DocsMarkdownContent.js +27 -27
- package/dist/components/docs/reference/DocsReferenceContent.js +34 -34
- package/dist/components/docs/reference/DocsReferenceIndexClient.js +23 -23
- package/dist/components/docs/reference/DocsReferenceIndexPage.js +26 -26
- package/dist/components/docs/reference/DocsReferencePage.js +37 -37
- package/dist/components/docs/reference/index.js +63 -63
- package/dist/components/docs/safety/SafetyAuditingPage.js +161 -161
- package/dist/components/docs/safety/SafetyMigrationsPage.js +169 -169
- package/dist/components/docs/safety/SafetyOverviewPage.js +99 -99
- package/dist/components/docs/safety/SafetyPDPPage.js +137 -137
- package/dist/components/docs/safety/SafetySecurityTrustPage.js +95 -95
- package/dist/components/docs/safety/SafetySigningPage.js +39 -39
- package/dist/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
- package/dist/components/docs/safety/index.js +733 -733
- package/dist/components/docs/shared/StudioPrompt.js +9 -9
- package/dist/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
- package/dist/components/docs/specs/SpecsDataViewsPage.js +119 -119
- package/dist/components/docs/specs/SpecsOverlaysPage.js +171 -171
- package/dist/components/docs/specs/SpecsOverviewPage.js +167 -167
- package/dist/components/docs/specs/SpecsPolicyPage.js +179 -179
- package/dist/components/docs/specs/SpecsWorkflowsPage.js +141 -141
- package/dist/components/docs/specs/index.js +838 -838
- package/dist/components/docs/studio/StudioBYOKPage.js +9 -9
- package/dist/components/docs/studio/StudioDeploymentsPage.js +9 -9
- package/dist/components/docs/studio/StudioGettingStartedPage.js +9 -9
- package/dist/components/docs/studio/StudioIntegrationsPage.js +9 -9
- package/dist/components/docs/studio/StudioOverviewPage.js +33 -33
- package/dist/components/docs/studio/StudioVisualBuilderPage.js +9 -9
- package/dist/components/docs/studio/index.js +78 -78
- package/dist/components/integrations/index.js +209 -209
- package/dist/components/integrations/molecules/IntegrationCard.js +33 -33
- package/dist/components/integrations/organisms/IntegrationMarketplace.js +71 -71
- package/dist/components/integrations/organisms/IntegrationSettings.js +98 -98
- package/dist/components/integrations/organisms/KnowledgeSourceList.js +40 -40
- package/dist/components/legal/PrivacyTemplate.js +477 -477
- package/dist/components/legal/TermsTemplate.js +421 -421
- package/dist/components/legal/index.js +898 -898
- package/dist/components/shared/FeatureGateNotice.js +13 -13
- package/dist/components/shared/index.js +13 -13
- package/dist/components/shell/WorkspaceHeader.js +37 -37
- package/dist/components/shell/WorkspaceProjectShellLayout.js +77 -77
- package/dist/components/shell/WorkspaceShellRenderer.d.ts +17 -0
- package/dist/components/shell/WorkspaceShellRenderer.js +229 -0
- package/dist/components/shell/WorkspaceSidebar.js +27 -27
- package/dist/components/shell/index.d.ts +1 -0
- package/dist/components/shell/index.js +140 -77
- package/dist/components/templates/index.js +272 -272
- package/dist/components/templates/messaging/ConversationList.js +27 -27
- package/dist/components/templates/messaging/MessageComposer.js +27 -27
- package/dist/components/templates/messaging/MessageThread.js +18 -18
- package/dist/components/templates/messaging/MessagingWorkspace.js +65 -65
- package/dist/components/templates/messaging/index.js +65 -65
- package/dist/components/templates/recipes/LanguageSwitcher.js +5 -5
- package/dist/components/templates/recipes/RecipeCard.js +26 -26
- package/dist/components/templates/recipes/RecipeDetail.js +33 -33
- package/dist/components/templates/recipes/RecipeList.js +80 -80
- package/dist/components/templates/recipes/index.js +80 -80
- package/dist/components/templates/todos/FilterBar.js +39 -39
- package/dist/components/templates/todos/TaskForm.js +43 -43
- package/dist/components/templates/todos/TaskItem.js +30 -30
- package/dist/components/templates/todos/TaskList.js +127 -127
- package/dist/components/templates/todos/index.js +127 -127
- package/dist/index.js +12323 -12260
- package/dist/infrastructure/elysia/index.js +8 -8
- package/dist/infrastructure/elysia/logger.js +8 -8
- package/dist/infrastructure/index.js +8 -8
- package/dist/libs/posthog/client.js +2 -2
- package/dist/node/application/index.js +8 -8
- package/dist/node/application/mcp/cliMcp.js +8 -8
- package/dist/node/application/mcp/contractsMcp.js +8 -8
- package/dist/node/application/mcp/docsMcp.js +8 -8
- package/dist/node/application/mcp/index.js +8 -8
- package/dist/node/application/mcp/internalMcp.js +8 -8
- package/dist/node/application/mcp/providerRankingMcp.js +8 -8
- package/dist/node/bundles/LibraryBundle.js +138 -0
- package/dist/node/bundles/index.js +138 -0
- package/dist/node/components/docs/DocsIndexPage.js +91 -91
- package/dist/node/components/docs/advanced/AdvancedMCPPage.js +125 -125
- package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +49 -49
- package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +51 -51
- package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +35 -35
- package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +177 -177
- package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +45 -45
- package/dist/node/components/docs/advanced/index.js +482 -482
- package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +107 -107
- package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +73 -73
- package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +117 -117
- package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +175 -175
- package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +71 -71
- package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +205 -205
- package/dist/node/components/docs/architecture/index.js +748 -748
- package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +117 -117
- package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +111 -111
- package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +117 -117
- package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +97 -97
- package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +125 -125
- package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +171 -171
- package/dist/node/components/docs/comparison/index.js +738 -738
- package/dist/node/components/docs/ecosystem/IntegrationsPage.js +45 -45
- package/dist/node/components/docs/ecosystem/PluginsPage.js +73 -73
- package/dist/node/components/docs/ecosystem/RegistryPage.js +37 -37
- package/dist/node/components/docs/ecosystem/TemplatesPage.js +56 -56
- package/dist/node/components/docs/ecosystem/index.js +211 -211
- package/dist/node/components/docs/examples/DocsExamplesPage.js +21 -21
- package/dist/node/components/docs/examples/index.js +21 -21
- package/dist/node/components/docs/getting-started/CLIPage.js +95 -95
- package/dist/node/components/docs/getting-started/CompatibilityPage.js +81 -81
- package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +57 -57
- package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +61 -61
- package/dist/node/components/docs/getting-started/HelloWorldPage.js +77 -77
- package/dist/node/components/docs/getting-started/InstallationPage.js +65 -65
- package/dist/node/components/docs/getting-started/StartHerePage.js +51 -51
- package/dist/node/components/docs/getting-started/TroubleshootingPage.js +73 -73
- package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +171 -171
- package/dist/node/components/docs/getting-started/index.js +731 -731
- package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +80 -80
- package/dist/node/components/docs/guides/GuideContractTypesPage.js +232 -232
- package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +82 -82
- package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +84 -84
- package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +324 -324
- package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +106 -106
- package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +78 -78
- package/dist/node/components/docs/guides/GuidesIndexPage.js +43 -43
- package/dist/node/components/docs/guides/index.js +975 -975
- package/dist/node/components/docs/index.js +10791 -10791
- package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +17 -17
- package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +47 -47
- package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +61 -61
- package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +49 -49
- package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +33 -33
- package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +65 -65
- package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +69 -69
- package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +65 -65
- package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +313 -313
- package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +101 -101
- package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +121 -121
- package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +49 -49
- package/dist/node/components/docs/integrations/IntegrationsResendPage.js +45 -45
- package/dist/node/components/docs/integrations/IntegrationsS3Page.js +57 -57
- package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +63 -63
- package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +139 -139
- package/dist/node/components/docs/integrations/IntegrationsStripePage.js +159 -159
- package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +61 -61
- package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +63 -63
- package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +65 -65
- package/dist/node/components/docs/integrations/index.js +1642 -1642
- package/dist/node/components/docs/intent/ContractFirstApiPage.js +51 -51
- package/dist/node/components/docs/intent/DeterministicCodegenPage.js +59 -59
- package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +85 -85
- package/dist/node/components/docs/intent/OpenapiAlternativePage.js +91 -91
- package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +59 -59
- package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +51 -51
- package/dist/node/components/docs/intent/index.js +396 -396
- package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +371 -371
- package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +79 -79
- package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +185 -185
- package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +187 -187
- package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +141 -141
- package/dist/node/components/docs/knowledge/index.js +963 -963
- package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +85 -85
- package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +63 -63
- package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +33 -33
- package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +43 -43
- package/dist/node/components/docs/libraries/LibrariesContractsPage.js +125 -125
- package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +45 -45
- package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +69 -69
- package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +79 -79
- package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +129 -129
- package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +49 -49
- package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +73 -73
- package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +35 -35
- package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +43 -43
- package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +53 -53
- package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +45 -45
- package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +191 -191
- package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +47 -47
- package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +53 -53
- package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +49 -49
- package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +87 -87
- package/dist/node/components/docs/libraries/LibrariesSLOPage.js +47 -47
- package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +139 -139
- package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +57 -57
- package/dist/node/components/docs/libraries/LibrariesTestingPage.js +49 -49
- package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +107 -107
- package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +35 -35
- package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +89 -89
- package/dist/node/components/docs/libraries/index.js +1919 -1919
- package/dist/node/components/docs/manifesto/ManifestoPage.js +79 -79
- package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +59 -59
- package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +33 -33
- package/dist/node/components/docs/ops/index.js +92 -92
- package/dist/node/components/docs/reference/DocsMarkdownContent.js +27 -27
- package/dist/node/components/docs/reference/DocsReferenceContent.js +34 -34
- package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +23 -23
- package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +26 -26
- package/dist/node/components/docs/reference/DocsReferencePage.js +37 -37
- package/dist/node/components/docs/reference/index.js +63 -63
- package/dist/node/components/docs/safety/SafetyAuditingPage.js +161 -161
- package/dist/node/components/docs/safety/SafetyMigrationsPage.js +169 -169
- package/dist/node/components/docs/safety/SafetyOverviewPage.js +99 -99
- package/dist/node/components/docs/safety/SafetyPDPPage.js +137 -137
- package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +95 -95
- package/dist/node/components/docs/safety/SafetySigningPage.js +39 -39
- package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +33 -33
- package/dist/node/components/docs/safety/index.js +733 -733
- package/dist/node/components/docs/shared/StudioPrompt.js +9 -9
- package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +61 -61
- package/dist/node/components/docs/specs/SpecsDataViewsPage.js +119 -119
- package/dist/node/components/docs/specs/SpecsOverlaysPage.js +171 -171
- package/dist/node/components/docs/specs/SpecsOverviewPage.js +167 -167
- package/dist/node/components/docs/specs/SpecsPolicyPage.js +179 -179
- package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +141 -141
- package/dist/node/components/docs/specs/index.js +838 -838
- package/dist/node/components/docs/studio/StudioBYOKPage.js +9 -9
- package/dist/node/components/docs/studio/StudioDeploymentsPage.js +9 -9
- package/dist/node/components/docs/studio/StudioGettingStartedPage.js +9 -9
- package/dist/node/components/docs/studio/StudioIntegrationsPage.js +9 -9
- package/dist/node/components/docs/studio/StudioOverviewPage.js +33 -33
- package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +9 -9
- package/dist/node/components/docs/studio/index.js +78 -78
- package/dist/node/components/integrations/index.js +209 -209
- package/dist/node/components/integrations/molecules/IntegrationCard.js +33 -33
- package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +71 -71
- package/dist/node/components/integrations/organisms/IntegrationSettings.js +98 -98
- package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +40 -40
- package/dist/node/components/legal/PrivacyTemplate.js +477 -477
- package/dist/node/components/legal/TermsTemplate.js +421 -421
- package/dist/node/components/legal/index.js +898 -898
- package/dist/node/components/shared/FeatureGateNotice.js +13 -13
- package/dist/node/components/shared/index.js +13 -13
- package/dist/node/components/shell/WorkspaceHeader.js +37 -37
- package/dist/node/components/shell/WorkspaceProjectShellLayout.js +77 -77
- package/dist/node/components/shell/WorkspaceShellRenderer.js +228 -0
- package/dist/node/components/shell/WorkspaceSidebar.js +27 -27
- package/dist/node/components/shell/index.js +140 -77
- package/dist/node/components/templates/index.js +272 -272
- package/dist/node/components/templates/messaging/ConversationList.js +27 -27
- package/dist/node/components/templates/messaging/MessageComposer.js +27 -27
- package/dist/node/components/templates/messaging/MessageThread.js +18 -18
- package/dist/node/components/templates/messaging/MessagingWorkspace.js +65 -65
- package/dist/node/components/templates/messaging/index.js +65 -65
- package/dist/node/components/templates/recipes/LanguageSwitcher.js +5 -5
- package/dist/node/components/templates/recipes/RecipeCard.js +26 -26
- package/dist/node/components/templates/recipes/RecipeDetail.js +33 -33
- package/dist/node/components/templates/recipes/RecipeList.js +80 -80
- package/dist/node/components/templates/recipes/index.js +80 -80
- package/dist/node/components/templates/todos/FilterBar.js +39 -39
- package/dist/node/components/templates/todos/TaskForm.js +43 -43
- package/dist/node/components/templates/todos/TaskItem.js +30 -30
- package/dist/node/components/templates/todos/TaskList.js +127 -127
- package/dist/node/components/templates/todos/index.js +127 -127
- package/dist/node/index.js +12323 -12260
- package/dist/node/infrastructure/elysia/index.js +8 -8
- package/dist/node/infrastructure/elysia/logger.js +8 -8
- package/dist/node/infrastructure/index.js +8 -8
- package/dist/node/libs/posthog/client.js +2 -2
- package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
- package/dist/node/presentation/features/atoms/FeatureIcon/index.js +3 -3
- package/dist/node/presentation/features/atoms/index.js +3 -3
- package/dist/node/presentation/features/index.js +915 -915
- package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
- package/dist/node/presentation/features/molecules/FeatureCard/index.js +101 -101
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
- package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
- package/dist/node/presentation/features/molecules/FeatureFilters/index.js +23 -23
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
- package/dist/node/presentation/features/molecules/index.js +139 -139
- package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
- package/dist/node/presentation/features/organisms/FeatureDetail/index.js +57 -57
- package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
- package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
- package/dist/node/presentation/features/organisms/FeatureEventsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeatureFormsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeatureOperationsList.js +7 -7
- package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +7 -7
- package/dist/node/presentation/features/organisms/index.js +275 -275
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
- package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +3 -3
- package/dist/presentation/features/atoms/FeatureIcon/index.js +3 -3
- package/dist/presentation/features/atoms/index.js +3 -3
- package/dist/presentation/features/index.js +915 -915
- package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +101 -101
- package/dist/presentation/features/molecules/FeatureCard/index.js +101 -101
- package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +15 -15
- package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +15 -15
- package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +23 -23
- package/dist/presentation/features/molecules/FeatureFilters/index.js +23 -23
- package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +67 -67
- package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +67 -67
- package/dist/presentation/features/molecules/index.js +139 -139
- package/dist/presentation/features/organisms/FeatureDataViewsList.js +7 -7
- package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +57 -57
- package/dist/presentation/features/organisms/FeatureDetail/index.js +57 -57
- package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +183 -183
- package/dist/presentation/features/organisms/FeatureDiscovery/index.js +183 -183
- package/dist/presentation/features/organisms/FeatureEventsList.js +7 -7
- package/dist/presentation/features/organisms/FeatureFormsList.js +7 -7
- package/dist/presentation/features/organisms/FeatureOperationsList.js +7 -7
- package/dist/presentation/features/organisms/FeaturePresentationsList.js +7 -7
- package/dist/presentation/features/organisms/index.js +275 -275
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +126 -126
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +126 -126
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +112 -112
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +112 -112
- package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +126 -126
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +126 -126
- package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +110 -110
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +110 -110
- package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +16 -16
- package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +66 -66
- package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +66 -66
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +112 -112
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +112 -112
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +16 -16
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +16 -16
- package/package.json +71 -22
- package/src/bundles/LibraryBundle.ts +152 -0
- package/src/bundles/index.ts +1 -0
- package/src/components/shell/WorkspaceShellRenderer.tsx +90 -0
- package/src/components/shell/index.ts +1 -0
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
// src/components/docs/shared/StudioPrompt.tsx
|
|
3
3
|
import Link from "@contractspec/lib.ui-link";
|
|
4
|
-
import {
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
function StudioPrompt({
|
|
6
6
|
title = "Want to turn product signals into spec-first deliverables?",
|
|
7
7
|
body = "ContractSpec Studio ingests evidence from meetings, support, analytics, docs, and code, then compiles decisions into spec diffs and task packs.",
|
|
8
8
|
ctaLabel = "Try Studio",
|
|
9
9
|
href = "https://www.contractspec.studio"
|
|
10
10
|
}) {
|
|
11
|
-
return /* @__PURE__ */
|
|
11
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
12
12
|
className: "card-subtle space-y-3 p-6",
|
|
13
13
|
children: [
|
|
14
|
-
/* @__PURE__ */
|
|
14
|
+
/* @__PURE__ */ jsx("h3", {
|
|
15
15
|
className: "text-lg font-semibold",
|
|
16
16
|
children: title
|
|
17
|
-
}
|
|
18
|
-
/* @__PURE__ */
|
|
17
|
+
}),
|
|
18
|
+
/* @__PURE__ */ jsx("p", {
|
|
19
19
|
className: "text-muted-foreground text-sm",
|
|
20
20
|
children: body
|
|
21
|
-
}
|
|
22
|
-
/* @__PURE__ */
|
|
21
|
+
}),
|
|
22
|
+
/* @__PURE__ */ jsx(Link, {
|
|
23
23
|
href,
|
|
24
24
|
className: "btn-primary",
|
|
25
25
|
children: ctaLabel
|
|
26
|
-
}
|
|
26
|
+
})
|
|
27
27
|
]
|
|
28
|
-
}
|
|
28
|
+
});
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
// src/components/docs/guides/GuideImportExistingCodebasesPage.tsx
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
Settings,
|
|
39
39
|
AlertCircle
|
|
40
40
|
} from "lucide-react";
|
|
41
|
-
import {
|
|
41
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
42
42
|
var supportedFrameworks = [
|
|
43
43
|
{
|
|
44
44
|
name: "NestJS",
|
|
@@ -77,134 +77,134 @@ var supportedFrameworks = [
|
|
|
77
77
|
}
|
|
78
78
|
];
|
|
79
79
|
function GuideImportExistingCodebasesPage() {
|
|
80
|
-
return /* @__PURE__ */
|
|
80
|
+
return /* @__PURE__ */ jsxs2("div", {
|
|
81
81
|
className: "space-y-8",
|
|
82
82
|
children: [
|
|
83
|
-
/* @__PURE__ */
|
|
83
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
84
84
|
className: "space-y-3",
|
|
85
85
|
children: [
|
|
86
|
-
/* @__PURE__ */
|
|
86
|
+
/* @__PURE__ */ jsx2("h1", {
|
|
87
87
|
className: "text-4xl font-bold",
|
|
88
88
|
children: "Import Existing Codebases"
|
|
89
|
-
}
|
|
90
|
-
/* @__PURE__ */
|
|
89
|
+
}),
|
|
90
|
+
/* @__PURE__ */ jsx2("p", {
|
|
91
91
|
className: "text-muted-foreground text-lg",
|
|
92
92
|
children: "Convert your existing API endpoints into ContractSpec contracts. Auto-detect frameworks, extract schemas, and generate spec-first definitions from your code."
|
|
93
|
-
}
|
|
93
|
+
})
|
|
94
94
|
]
|
|
95
|
-
}
|
|
96
|
-
/* @__PURE__ */
|
|
95
|
+
}),
|
|
96
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
97
97
|
className: "card-subtle space-y-4 p-6",
|
|
98
98
|
children: [
|
|
99
|
-
/* @__PURE__ */
|
|
99
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
100
100
|
className: "text-2xl font-bold",
|
|
101
101
|
children: "What you'll learn"
|
|
102
|
-
}
|
|
103
|
-
/* @__PURE__ */
|
|
102
|
+
}),
|
|
103
|
+
/* @__PURE__ */ jsxs2("ul", {
|
|
104
104
|
className: "text-muted-foreground space-y-2 text-sm",
|
|
105
105
|
children: [
|
|
106
|
-
/* @__PURE__ */
|
|
106
|
+
/* @__PURE__ */ jsx2("li", {
|
|
107
107
|
children: "How to import existing API endpoints as ContractSpec contracts."
|
|
108
|
-
}
|
|
109
|
-
/* @__PURE__ */
|
|
108
|
+
}),
|
|
109
|
+
/* @__PURE__ */ jsx2("li", {
|
|
110
110
|
children: "Framework-specific patterns and auto-detection."
|
|
111
|
-
}
|
|
112
|
-
/* @__PURE__ */
|
|
111
|
+
}),
|
|
112
|
+
/* @__PURE__ */ jsx2("li", {
|
|
113
113
|
children: "Customizing imports with scopes, dry-run, and output options."
|
|
114
|
-
}
|
|
115
|
-
/* @__PURE__ */
|
|
114
|
+
}),
|
|
115
|
+
/* @__PURE__ */ jsx2("li", {
|
|
116
116
|
children: "Registering imported contracts and adding handlers."
|
|
117
|
-
}
|
|
117
|
+
})
|
|
118
118
|
]
|
|
119
|
-
}
|
|
119
|
+
})
|
|
120
120
|
]
|
|
121
|
-
}
|
|
122
|
-
/* @__PURE__ */
|
|
121
|
+
}),
|
|
122
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
123
123
|
className: "space-y-6",
|
|
124
124
|
children: [
|
|
125
|
-
/* @__PURE__ */
|
|
125
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
126
126
|
className: "space-y-3",
|
|
127
127
|
children: [
|
|
128
|
-
/* @__PURE__ */
|
|
128
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
129
129
|
className: "text-2xl font-bold",
|
|
130
130
|
children: "Why import existing code?"
|
|
131
|
-
}
|
|
132
|
-
/* @__PURE__ */
|
|
131
|
+
}),
|
|
132
|
+
/* @__PURE__ */ jsx2("p", {
|
|
133
133
|
className: "text-muted-foreground text-sm",
|
|
134
134
|
children: "Instead of writing contracts from scratch, the import command extracts endpoint patterns from your existing codebase. This gives you:"
|
|
135
|
-
}
|
|
136
|
-
/* @__PURE__ */
|
|
135
|
+
}),
|
|
136
|
+
/* @__PURE__ */ jsxs2("ul", {
|
|
137
137
|
className: "text-muted-foreground list-disc space-y-1 pl-5 text-sm",
|
|
138
138
|
children: [
|
|
139
|
-
/* @__PURE__ */
|
|
139
|
+
/* @__PURE__ */ jsx2("li", {
|
|
140
140
|
children: "Instant spec coverage for existing APIs"
|
|
141
|
-
}
|
|
142
|
-
/* @__PURE__ */
|
|
141
|
+
}),
|
|
142
|
+
/* @__PURE__ */ jsx2("li", {
|
|
143
143
|
children: "Type-safe schemas derived from your existing types"
|
|
144
|
-
}
|
|
145
|
-
/* @__PURE__ */
|
|
144
|
+
}),
|
|
145
|
+
/* @__PURE__ */ jsx2("li", {
|
|
146
146
|
children: "A foundation to iterate and refine contracts"
|
|
147
|
-
}
|
|
148
|
-
/* @__PURE__ */
|
|
147
|
+
}),
|
|
148
|
+
/* @__PURE__ */ jsx2("li", {
|
|
149
149
|
children: "Gradual adoption without rewriting code"
|
|
150
|
-
}
|
|
150
|
+
})
|
|
151
151
|
]
|
|
152
|
-
}
|
|
152
|
+
})
|
|
153
153
|
]
|
|
154
|
-
}
|
|
155
|
-
/* @__PURE__ */
|
|
154
|
+
}),
|
|
155
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
156
156
|
className: "space-y-3",
|
|
157
157
|
children: [
|
|
158
|
-
/* @__PURE__ */
|
|
158
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
159
159
|
className: "text-2xl font-bold",
|
|
160
160
|
children: "Supported frameworks"
|
|
161
|
-
}
|
|
162
|
-
/* @__PURE__ */
|
|
161
|
+
}),
|
|
162
|
+
/* @__PURE__ */ jsx2("div", {
|
|
163
163
|
className: "grid gap-3 md:grid-cols-2 lg:grid-cols-3",
|
|
164
|
-
children: supportedFrameworks.map((fw) => /* @__PURE__ */
|
|
164
|
+
children: supportedFrameworks.map((fw) => /* @__PURE__ */ jsxs2("div", {
|
|
165
165
|
className: "flex items-start gap-3 rounded-lg border border-white/10 p-4",
|
|
166
166
|
children: [
|
|
167
|
-
/* @__PURE__ */
|
|
167
|
+
/* @__PURE__ */ jsx2(FileCode, {
|
|
168
168
|
className: "text-violet-400",
|
|
169
169
|
size: 18
|
|
170
|
-
}
|
|
171
|
-
/* @__PURE__ */
|
|
170
|
+
}),
|
|
171
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
172
172
|
className: "space-y-1",
|
|
173
173
|
children: [
|
|
174
|
-
/* @__PURE__ */
|
|
174
|
+
/* @__PURE__ */ jsx2("h3", {
|
|
175
175
|
className: "font-semibold",
|
|
176
176
|
children: fw.name
|
|
177
|
-
}
|
|
178
|
-
/* @__PURE__ */
|
|
177
|
+
}),
|
|
178
|
+
/* @__PURE__ */ jsx2("p", {
|
|
179
179
|
className: "text-muted-foreground text-xs",
|
|
180
180
|
children: fw.description
|
|
181
|
-
}
|
|
182
|
-
/* @__PURE__ */
|
|
181
|
+
}),
|
|
182
|
+
/* @__PURE__ */ jsxs2("code", {
|
|
183
183
|
className: "text-xs text-violet-400",
|
|
184
184
|
children: [
|
|
185
185
|
"--framework ",
|
|
186
186
|
fw.flag
|
|
187
187
|
]
|
|
188
|
-
}
|
|
188
|
+
})
|
|
189
189
|
]
|
|
190
|
-
}
|
|
190
|
+
})
|
|
191
191
|
]
|
|
192
|
-
}, fw.flag
|
|
193
|
-
}
|
|
192
|
+
}, fw.flag))
|
|
193
|
+
})
|
|
194
194
|
]
|
|
195
|
-
}
|
|
196
|
-
/* @__PURE__ */
|
|
195
|
+
}),
|
|
196
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
197
197
|
className: "space-y-3",
|
|
198
198
|
children: [
|
|
199
|
-
/* @__PURE__ */
|
|
199
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
200
200
|
className: "text-2xl font-bold",
|
|
201
201
|
children: "1) Quick start"
|
|
202
|
-
}
|
|
203
|
-
/* @__PURE__ */
|
|
202
|
+
}),
|
|
203
|
+
/* @__PURE__ */ jsx2("p", {
|
|
204
204
|
className: "text-muted-foreground text-sm",
|
|
205
205
|
children: "Run the import command to auto-detect your framework and extract endpoints:"
|
|
206
|
-
}
|
|
207
|
-
/* @__PURE__ */
|
|
206
|
+
}),
|
|
207
|
+
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
208
208
|
language: "bash",
|
|
209
209
|
filename: "import-quickstart",
|
|
210
210
|
code: `# Auto-detect framework and import all endpoints
|
|
@@ -215,40 +215,40 @@ contractspec import ./src --dry-run
|
|
|
215
215
|
|
|
216
216
|
# Force a specific framework
|
|
217
217
|
contractspec import ./src --framework nestjs`
|
|
218
|
-
}
|
|
219
|
-
/* @__PURE__ */
|
|
218
|
+
}),
|
|
219
|
+
/* @__PURE__ */ jsx2("p", {
|
|
220
220
|
className: "text-muted-foreground text-sm",
|
|
221
221
|
children: "Expected output: A summary of endpoints found, schemas extracted, and files generated."
|
|
222
|
-
}
|
|
222
|
+
})
|
|
223
223
|
]
|
|
224
|
-
}
|
|
225
|
-
/* @__PURE__ */
|
|
224
|
+
}),
|
|
225
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
226
226
|
className: "space-y-3",
|
|
227
227
|
children: [
|
|
228
|
-
/* @__PURE__ */
|
|
228
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
229
229
|
className: "text-2xl font-bold",
|
|
230
230
|
children: "2) Framework-specific patterns"
|
|
231
|
-
}
|
|
232
|
-
/* @__PURE__ */
|
|
231
|
+
}),
|
|
232
|
+
/* @__PURE__ */ jsx2("p", {
|
|
233
233
|
className: "text-muted-foreground text-sm",
|
|
234
234
|
children: "The import command recognizes these patterns in each framework:"
|
|
235
|
-
}
|
|
235
|
+
})
|
|
236
236
|
]
|
|
237
|
-
}
|
|
238
|
-
/* @__PURE__ */
|
|
237
|
+
}),
|
|
238
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
239
239
|
className: "space-y-3",
|
|
240
240
|
children: [
|
|
241
|
-
/* @__PURE__ */
|
|
241
|
+
/* @__PURE__ */ jsxs2("h3", {
|
|
242
242
|
className: "flex items-center gap-2 text-xl font-semibold",
|
|
243
243
|
children: [
|
|
244
|
-
/* @__PURE__ */
|
|
244
|
+
/* @__PURE__ */ jsx2(Scan, {
|
|
245
245
|
size: 18,
|
|
246
246
|
className: "text-blue-400"
|
|
247
|
-
}
|
|
247
|
+
}),
|
|
248
248
|
"NestJS"
|
|
249
249
|
]
|
|
250
|
-
}
|
|
251
|
-
/* @__PURE__ */
|
|
250
|
+
}),
|
|
251
|
+
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
252
252
|
language: "typescript",
|
|
253
253
|
filename: "src/users/users.controller.ts (before)",
|
|
254
254
|
code: `@Controller('users')
|
|
@@ -264,55 +264,55 @@ export class UsersController {
|
|
|
264
264
|
return this.usersService.create(dto);
|
|
265
265
|
}
|
|
266
266
|
}`
|
|
267
|
-
}
|
|
268
|
-
/* @__PURE__ */
|
|
267
|
+
}),
|
|
268
|
+
/* @__PURE__ */ jsxs2("p", {
|
|
269
269
|
className: "text-muted-foreground text-sm",
|
|
270
270
|
children: [
|
|
271
271
|
"Detected: ",
|
|
272
|
-
/* @__PURE__ */
|
|
272
|
+
/* @__PURE__ */ jsx2("code", {
|
|
273
273
|
children: "@Controller"
|
|
274
|
-
}
|
|
274
|
+
}),
|
|
275
275
|
", ",
|
|
276
|
-
/* @__PURE__ */
|
|
276
|
+
/* @__PURE__ */ jsx2("code", {
|
|
277
277
|
children: "@Get"
|
|
278
|
-
}
|
|
278
|
+
}),
|
|
279
279
|
",",
|
|
280
280
|
" ",
|
|
281
|
-
/* @__PURE__ */
|
|
281
|
+
/* @__PURE__ */ jsx2("code", {
|
|
282
282
|
children: "@Post"
|
|
283
|
-
}
|
|
283
|
+
}),
|
|
284
284
|
", ",
|
|
285
|
-
/* @__PURE__ */
|
|
285
|
+
/* @__PURE__ */ jsx2("code", {
|
|
286
286
|
children: "@Body"
|
|
287
|
-
}
|
|
287
|
+
}),
|
|
288
288
|
", ",
|
|
289
|
-
/* @__PURE__ */
|
|
289
|
+
/* @__PURE__ */ jsx2("code", {
|
|
290
290
|
children: "@Param"
|
|
291
|
-
}
|
|
291
|
+
}),
|
|
292
292
|
",",
|
|
293
293
|
" ",
|
|
294
|
-
/* @__PURE__ */
|
|
294
|
+
/* @__PURE__ */ jsx2("code", {
|
|
295
295
|
children: "@UseGuards"
|
|
296
|
-
}
|
|
296
|
+
}),
|
|
297
297
|
" decorators."
|
|
298
298
|
]
|
|
299
|
-
}
|
|
299
|
+
})
|
|
300
300
|
]
|
|
301
|
-
}
|
|
302
|
-
/* @__PURE__ */
|
|
301
|
+
}),
|
|
302
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
303
303
|
className: "space-y-3",
|
|
304
304
|
children: [
|
|
305
|
-
/* @__PURE__ */
|
|
305
|
+
/* @__PURE__ */ jsxs2("h3", {
|
|
306
306
|
className: "flex items-center gap-2 text-xl font-semibold",
|
|
307
307
|
children: [
|
|
308
|
-
/* @__PURE__ */
|
|
308
|
+
/* @__PURE__ */ jsx2(Scan, {
|
|
309
309
|
size: 18,
|
|
310
310
|
className: "text-green-400"
|
|
311
|
-
}
|
|
311
|
+
}),
|
|
312
312
|
"Express"
|
|
313
313
|
]
|
|
314
|
-
}
|
|
315
|
-
/* @__PURE__ */
|
|
314
|
+
}),
|
|
315
|
+
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
316
316
|
language: "typescript",
|
|
317
317
|
filename: "src/routes/users.ts (before)",
|
|
318
318
|
code: `const router = express.Router();
|
|
@@ -326,37 +326,37 @@ router.post('/users', validateBody(CreateUserSchema), async (req, res) => {
|
|
|
326
326
|
const user = await createUser(req.body);
|
|
327
327
|
res.status(201).json(user);
|
|
328
328
|
});`
|
|
329
|
-
}
|
|
330
|
-
/* @__PURE__ */
|
|
329
|
+
}),
|
|
330
|
+
/* @__PURE__ */ jsxs2("p", {
|
|
331
331
|
className: "text-muted-foreground text-sm",
|
|
332
332
|
children: [
|
|
333
333
|
"Detected: ",
|
|
334
|
-
/* @__PURE__ */
|
|
334
|
+
/* @__PURE__ */ jsx2("code", {
|
|
335
335
|
children: "router.get"
|
|
336
|
-
}
|
|
336
|
+
}),
|
|
337
337
|
", ",
|
|
338
|
-
/* @__PURE__ */
|
|
338
|
+
/* @__PURE__ */ jsx2("code", {
|
|
339
339
|
children: "router.post"
|
|
340
|
-
}
|
|
340
|
+
}),
|
|
341
341
|
", validation middleware, Zod schemas."
|
|
342
342
|
]
|
|
343
|
-
}
|
|
343
|
+
})
|
|
344
344
|
]
|
|
345
|
-
}
|
|
346
|
-
/* @__PURE__ */
|
|
345
|
+
}),
|
|
346
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
347
347
|
className: "space-y-3",
|
|
348
348
|
children: [
|
|
349
|
-
/* @__PURE__ */
|
|
349
|
+
/* @__PURE__ */ jsxs2("h3", {
|
|
350
350
|
className: "flex items-center gap-2 text-xl font-semibold",
|
|
351
351
|
children: [
|
|
352
|
-
/* @__PURE__ */
|
|
352
|
+
/* @__PURE__ */ jsx2(Scan, {
|
|
353
353
|
size: 18,
|
|
354
354
|
className: "text-purple-400"
|
|
355
|
-
}
|
|
355
|
+
}),
|
|
356
356
|
"Next.js API Routes"
|
|
357
357
|
]
|
|
358
|
-
}
|
|
359
|
-
/* @__PURE__ */
|
|
358
|
+
}),
|
|
359
|
+
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
360
360
|
language: "typescript",
|
|
361
361
|
filename: "app/api/users/[id]/route.ts (before)",
|
|
362
362
|
code: `export async function GET(
|
|
@@ -372,44 +372,44 @@ export async function POST(request: Request) {
|
|
|
372
372
|
const user = await createUser(body);
|
|
373
373
|
return Response.json(user, { status: 201 });
|
|
374
374
|
}`
|
|
375
|
-
}
|
|
376
|
-
/* @__PURE__ */
|
|
375
|
+
}),
|
|
376
|
+
/* @__PURE__ */ jsxs2("p", {
|
|
377
377
|
className: "text-muted-foreground text-sm",
|
|
378
378
|
children: [
|
|
379
379
|
"Detected: ",
|
|
380
|
-
/* @__PURE__ */
|
|
380
|
+
/* @__PURE__ */ jsx2("code", {
|
|
381
381
|
children: "GET"
|
|
382
|
-
}
|
|
382
|
+
}),
|
|
383
383
|
", ",
|
|
384
|
-
/* @__PURE__ */
|
|
384
|
+
/* @__PURE__ */ jsx2("code", {
|
|
385
385
|
children: "POST"
|
|
386
|
-
}
|
|
386
|
+
}),
|
|
387
387
|
" exports in",
|
|
388
388
|
" ",
|
|
389
|
-
/* @__PURE__ */
|
|
389
|
+
/* @__PURE__ */ jsx2("code", {
|
|
390
390
|
children: "app/api/**/route.ts"
|
|
391
|
-
}
|
|
391
|
+
}),
|
|
392
392
|
" and ",
|
|
393
|
-
/* @__PURE__ */
|
|
393
|
+
/* @__PURE__ */ jsx2("code", {
|
|
394
394
|
children: "pages/api/**/*.ts"
|
|
395
|
-
}
|
|
395
|
+
}),
|
|
396
396
|
"."
|
|
397
397
|
]
|
|
398
|
-
}
|
|
398
|
+
})
|
|
399
399
|
]
|
|
400
|
-
}
|
|
401
|
-
/* @__PURE__ */
|
|
400
|
+
}),
|
|
401
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
402
402
|
className: "space-y-3",
|
|
403
403
|
children: [
|
|
404
|
-
/* @__PURE__ */
|
|
404
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
405
405
|
className: "text-2xl font-bold",
|
|
406
406
|
children: "3) Understanding generated contracts"
|
|
407
|
-
}
|
|
408
|
-
/* @__PURE__ */
|
|
407
|
+
}),
|
|
408
|
+
/* @__PURE__ */ jsx2("p", {
|
|
409
409
|
className: "text-muted-foreground text-sm",
|
|
410
410
|
children: "The import command generates ContractSpec operations with TODO placeholders for fields it cannot infer:"
|
|
411
|
-
}
|
|
412
|
-
/* @__PURE__ */
|
|
411
|
+
}),
|
|
412
|
+
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
413
413
|
language: "typescript",
|
|
414
414
|
filename: ".contractspec/generated/users.operation.ts",
|
|
415
415
|
code: `import { defineQuery, defineCommand } from "@contractspec/lib.contracts-spec";
|
|
@@ -473,187 +473,187 @@ export const CreateUserCommand = defineCommand({
|
|
|
473
473
|
rest: { method: "POST", path: "/users" },
|
|
474
474
|
},
|
|
475
475
|
});`
|
|
476
|
-
}
|
|
476
|
+
})
|
|
477
477
|
]
|
|
478
|
-
}
|
|
479
|
-
/* @__PURE__ */
|
|
478
|
+
}),
|
|
479
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
480
480
|
className: "space-y-3",
|
|
481
481
|
children: [
|
|
482
|
-
/* @__PURE__ */
|
|
482
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
483
483
|
className: "text-2xl font-bold",
|
|
484
484
|
children: "4) Customizing imports"
|
|
485
|
-
}
|
|
486
|
-
/* @__PURE__ */
|
|
485
|
+
}),
|
|
486
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
487
487
|
className: "flex items-center gap-2",
|
|
488
488
|
children: [
|
|
489
|
-
/* @__PURE__ */
|
|
489
|
+
/* @__PURE__ */ jsx2(Settings, {
|
|
490
490
|
size: 18,
|
|
491
491
|
className: "text-violet-400"
|
|
492
|
-
}
|
|
493
|
-
/* @__PURE__ */
|
|
492
|
+
}),
|
|
493
|
+
/* @__PURE__ */ jsx2("h3", {
|
|
494
494
|
className: "text-lg font-semibold",
|
|
495
495
|
children: "Available options"
|
|
496
|
-
}
|
|
496
|
+
})
|
|
497
497
|
]
|
|
498
|
-
}
|
|
499
|
-
/* @__PURE__ */
|
|
498
|
+
}),
|
|
499
|
+
/* @__PURE__ */ jsx2("div", {
|
|
500
500
|
className: "overflow-x-auto",
|
|
501
|
-
children: /* @__PURE__ */
|
|
501
|
+
children: /* @__PURE__ */ jsxs2("table", {
|
|
502
502
|
className: "w-full text-sm",
|
|
503
503
|
children: [
|
|
504
|
-
/* @__PURE__ */
|
|
505
|
-
children: /* @__PURE__ */
|
|
504
|
+
/* @__PURE__ */ jsx2("thead", {
|
|
505
|
+
children: /* @__PURE__ */ jsxs2("tr", {
|
|
506
506
|
className: "border-b border-white/10",
|
|
507
507
|
children: [
|
|
508
|
-
/* @__PURE__ */
|
|
508
|
+
/* @__PURE__ */ jsx2("th", {
|
|
509
509
|
className: "py-2 pr-4 text-left",
|
|
510
510
|
children: "Option"
|
|
511
|
-
}
|
|
512
|
-
/* @__PURE__ */
|
|
511
|
+
}),
|
|
512
|
+
/* @__PURE__ */ jsx2("th", {
|
|
513
513
|
className: "py-2 pr-4 text-left",
|
|
514
514
|
children: "Description"
|
|
515
|
-
}
|
|
516
|
-
/* @__PURE__ */
|
|
515
|
+
}),
|
|
516
|
+
/* @__PURE__ */ jsx2("th", {
|
|
517
517
|
className: "py-2 text-left",
|
|
518
518
|
children: "Example"
|
|
519
|
-
}
|
|
519
|
+
})
|
|
520
520
|
]
|
|
521
|
-
}
|
|
522
|
-
}
|
|
523
|
-
/* @__PURE__ */
|
|
521
|
+
})
|
|
522
|
+
}),
|
|
523
|
+
/* @__PURE__ */ jsxs2("tbody", {
|
|
524
524
|
className: "text-muted-foreground",
|
|
525
525
|
children: [
|
|
526
|
-
/* @__PURE__ */
|
|
526
|
+
/* @__PURE__ */ jsxs2("tr", {
|
|
527
527
|
className: "border-b border-white/5",
|
|
528
528
|
children: [
|
|
529
|
-
/* @__PURE__ */
|
|
529
|
+
/* @__PURE__ */ jsx2("td", {
|
|
530
530
|
className: "py-2 pr-4",
|
|
531
|
-
children: /* @__PURE__ */
|
|
531
|
+
children: /* @__PURE__ */ jsx2("code", {
|
|
532
532
|
children: "--scope"
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
/* @__PURE__ */
|
|
533
|
+
})
|
|
534
|
+
}),
|
|
535
|
+
/* @__PURE__ */ jsx2("td", {
|
|
536
536
|
className: "py-2 pr-4",
|
|
537
537
|
children: "Limit to specific directories"
|
|
538
|
-
}
|
|
539
|
-
/* @__PURE__ */
|
|
538
|
+
}),
|
|
539
|
+
/* @__PURE__ */ jsx2("td", {
|
|
540
540
|
className: "py-2",
|
|
541
|
-
children: /* @__PURE__ */
|
|
541
|
+
children: /* @__PURE__ */ jsx2("code", {
|
|
542
542
|
children: "--scope src/users src/auth"
|
|
543
|
-
}
|
|
544
|
-
}
|
|
543
|
+
})
|
|
544
|
+
})
|
|
545
545
|
]
|
|
546
|
-
}
|
|
547
|
-
/* @__PURE__ */
|
|
546
|
+
}),
|
|
547
|
+
/* @__PURE__ */ jsxs2("tr", {
|
|
548
548
|
className: "border-b border-white/5",
|
|
549
549
|
children: [
|
|
550
|
-
/* @__PURE__ */
|
|
550
|
+
/* @__PURE__ */ jsx2("td", {
|
|
551
551
|
className: "py-2 pr-4",
|
|
552
|
-
children: /* @__PURE__ */
|
|
552
|
+
children: /* @__PURE__ */ jsx2("code", {
|
|
553
553
|
children: "--framework"
|
|
554
|
-
}
|
|
555
|
-
}
|
|
556
|
-
/* @__PURE__ */
|
|
554
|
+
})
|
|
555
|
+
}),
|
|
556
|
+
/* @__PURE__ */ jsx2("td", {
|
|
557
557
|
className: "py-2 pr-4",
|
|
558
558
|
children: "Force a specific framework"
|
|
559
|
-
}
|
|
560
|
-
/* @__PURE__ */
|
|
559
|
+
}),
|
|
560
|
+
/* @__PURE__ */ jsx2("td", {
|
|
561
561
|
className: "py-2",
|
|
562
|
-
children: /* @__PURE__ */
|
|
562
|
+
children: /* @__PURE__ */ jsx2("code", {
|
|
563
563
|
children: "--framework express"
|
|
564
|
-
}
|
|
565
|
-
}
|
|
564
|
+
})
|
|
565
|
+
})
|
|
566
566
|
]
|
|
567
|
-
}
|
|
568
|
-
/* @__PURE__ */
|
|
567
|
+
}),
|
|
568
|
+
/* @__PURE__ */ jsxs2("tr", {
|
|
569
569
|
className: "border-b border-white/5",
|
|
570
570
|
children: [
|
|
571
|
-
/* @__PURE__ */
|
|
571
|
+
/* @__PURE__ */ jsx2("td", {
|
|
572
572
|
className: "py-2 pr-4",
|
|
573
|
-
children: /* @__PURE__ */
|
|
573
|
+
children: /* @__PURE__ */ jsx2("code", {
|
|
574
574
|
children: "--output"
|
|
575
|
-
}
|
|
576
|
-
}
|
|
577
|
-
/* @__PURE__ */
|
|
575
|
+
})
|
|
576
|
+
}),
|
|
577
|
+
/* @__PURE__ */ jsx2("td", {
|
|
578
578
|
className: "py-2 pr-4",
|
|
579
579
|
children: "Output directory"
|
|
580
|
-
}
|
|
581
|
-
/* @__PURE__ */
|
|
580
|
+
}),
|
|
581
|
+
/* @__PURE__ */ jsx2("td", {
|
|
582
582
|
className: "py-2",
|
|
583
|
-
children: /* @__PURE__ */
|
|
583
|
+
children: /* @__PURE__ */ jsx2("code", {
|
|
584
584
|
children: "--output ./contracts"
|
|
585
|
-
}
|
|
586
|
-
}
|
|
585
|
+
})
|
|
586
|
+
})
|
|
587
587
|
]
|
|
588
|
-
}
|
|
589
|
-
/* @__PURE__ */
|
|
588
|
+
}),
|
|
589
|
+
/* @__PURE__ */ jsxs2("tr", {
|
|
590
590
|
className: "border-b border-white/5",
|
|
591
591
|
children: [
|
|
592
|
-
/* @__PURE__ */
|
|
592
|
+
/* @__PURE__ */ jsx2("td", {
|
|
593
593
|
className: "py-2 pr-4",
|
|
594
|
-
children: /* @__PURE__ */
|
|
594
|
+
children: /* @__PURE__ */ jsx2("code", {
|
|
595
595
|
children: "--dry-run"
|
|
596
|
-
}
|
|
597
|
-
}
|
|
598
|
-
/* @__PURE__ */
|
|
596
|
+
})
|
|
597
|
+
}),
|
|
598
|
+
/* @__PURE__ */ jsx2("td", {
|
|
599
599
|
className: "py-2 pr-4",
|
|
600
600
|
children: "Preview without writing files"
|
|
601
|
-
}
|
|
602
|
-
/* @__PURE__ */
|
|
601
|
+
}),
|
|
602
|
+
/* @__PURE__ */ jsx2("td", {
|
|
603
603
|
className: "py-2",
|
|
604
|
-
children: /* @__PURE__ */
|
|
604
|
+
children: /* @__PURE__ */ jsx2("code", {
|
|
605
605
|
children: "--dry-run"
|
|
606
|
-
}
|
|
607
|
-
}
|
|
606
|
+
})
|
|
607
|
+
})
|
|
608
608
|
]
|
|
609
|
-
}
|
|
610
|
-
/* @__PURE__ */
|
|
609
|
+
}),
|
|
610
|
+
/* @__PURE__ */ jsxs2("tr", {
|
|
611
611
|
className: "border-b border-white/5",
|
|
612
612
|
children: [
|
|
613
|
-
/* @__PURE__ */
|
|
613
|
+
/* @__PURE__ */ jsx2("td", {
|
|
614
614
|
className: "py-2 pr-4",
|
|
615
|
-
children: /* @__PURE__ */
|
|
615
|
+
children: /* @__PURE__ */ jsx2("code", {
|
|
616
616
|
children: "--analyze"
|
|
617
|
-
}
|
|
618
|
-
}
|
|
619
|
-
/* @__PURE__ */
|
|
617
|
+
})
|
|
618
|
+
}),
|
|
619
|
+
/* @__PURE__ */ jsx2("td", {
|
|
620
620
|
className: "py-2 pr-4",
|
|
621
621
|
children: "Analysis only, no code generation"
|
|
622
|
-
}
|
|
623
|
-
/* @__PURE__ */
|
|
622
|
+
}),
|
|
623
|
+
/* @__PURE__ */ jsx2("td", {
|
|
624
624
|
className: "py-2",
|
|
625
|
-
children: /* @__PURE__ */
|
|
625
|
+
children: /* @__PURE__ */ jsx2("code", {
|
|
626
626
|
children: "--analyze"
|
|
627
|
-
}
|
|
628
|
-
}
|
|
627
|
+
})
|
|
628
|
+
})
|
|
629
629
|
]
|
|
630
|
-
}
|
|
631
|
-
/* @__PURE__ */
|
|
630
|
+
}),
|
|
631
|
+
/* @__PURE__ */ jsxs2("tr", {
|
|
632
632
|
children: [
|
|
633
|
-
/* @__PURE__ */
|
|
633
|
+
/* @__PURE__ */ jsx2("td", {
|
|
634
634
|
className: "py-2 pr-4",
|
|
635
|
-
children: /* @__PURE__ */
|
|
635
|
+
children: /* @__PURE__ */ jsx2("code", {
|
|
636
636
|
children: "--json"
|
|
637
|
-
}
|
|
638
|
-
}
|
|
639
|
-
/* @__PURE__ */
|
|
637
|
+
})
|
|
638
|
+
}),
|
|
639
|
+
/* @__PURE__ */ jsx2("td", {
|
|
640
640
|
className: "py-2 pr-4",
|
|
641
641
|
children: "Output as JSON for scripting"
|
|
642
|
-
}
|
|
643
|
-
/* @__PURE__ */
|
|
642
|
+
}),
|
|
643
|
+
/* @__PURE__ */ jsx2("td", {
|
|
644
644
|
className: "py-2",
|
|
645
|
-
children: /* @__PURE__ */
|
|
645
|
+
children: /* @__PURE__ */ jsx2("code", {
|
|
646
646
|
children: "--json"
|
|
647
|
-
}
|
|
648
|
-
}
|
|
647
|
+
})
|
|
648
|
+
})
|
|
649
649
|
]
|
|
650
|
-
}
|
|
650
|
+
})
|
|
651
651
|
]
|
|
652
|
-
}
|
|
652
|
+
})
|
|
653
653
|
]
|
|
654
|
-
}
|
|
655
|
-
}
|
|
656
|
-
/* @__PURE__ */
|
|
654
|
+
})
|
|
655
|
+
}),
|
|
656
|
+
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
657
657
|
language: "bash",
|
|
658
658
|
filename: "import-options",
|
|
659
659
|
code: `# Import only specific modules
|
|
@@ -667,21 +667,21 @@ contractspec import ./src --output ./src/contracts/generated
|
|
|
667
667
|
|
|
668
668
|
# Get JSON for CI/scripting
|
|
669
669
|
contractspec import ./src --json > import-result.json`
|
|
670
|
-
}
|
|
670
|
+
})
|
|
671
671
|
]
|
|
672
|
-
}
|
|
673
|
-
/* @__PURE__ */
|
|
672
|
+
}),
|
|
673
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
674
674
|
className: "space-y-3",
|
|
675
675
|
children: [
|
|
676
|
-
/* @__PURE__ */
|
|
676
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
677
677
|
className: "text-2xl font-bold",
|
|
678
678
|
children: "5) Registering imported contracts"
|
|
679
|
-
}
|
|
680
|
-
/* @__PURE__ */
|
|
679
|
+
}),
|
|
680
|
+
/* @__PURE__ */ jsx2("p", {
|
|
681
681
|
className: "text-muted-foreground text-sm",
|
|
682
682
|
children: "After import, register contracts and add handlers:"
|
|
683
|
-
}
|
|
684
|
-
/* @__PURE__ */
|
|
683
|
+
}),
|
|
684
|
+
/* @__PURE__ */ jsx2(CodeBlock, {
|
|
685
685
|
language: "typescript",
|
|
686
686
|
filename: "src/contracts/registry.ts",
|
|
687
687
|
code: `import {
|
|
@@ -705,174 +705,174 @@ installOp(registry, CreateUserCommand, async (input) => {
|
|
|
705
705
|
const user = await db.user.create({ data: input });
|
|
706
706
|
return { id: user.id };
|
|
707
707
|
});`
|
|
708
|
-
}
|
|
708
|
+
})
|
|
709
709
|
]
|
|
710
|
-
}
|
|
711
|
-
/* @__PURE__ */
|
|
710
|
+
}),
|
|
711
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
712
712
|
className: "space-y-3",
|
|
713
713
|
children: [
|
|
714
|
-
/* @__PURE__ */
|
|
714
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
715
715
|
className: "text-2xl font-bold",
|
|
716
716
|
children: "6) After importing"
|
|
717
|
-
}
|
|
718
|
-
/* @__PURE__ */
|
|
717
|
+
}),
|
|
718
|
+
/* @__PURE__ */ jsxs2("ol", {
|
|
719
719
|
className: "text-muted-foreground list-decimal space-y-2 pl-5 text-sm",
|
|
720
720
|
children: [
|
|
721
|
-
/* @__PURE__ */
|
|
721
|
+
/* @__PURE__ */ jsxs2("li", {
|
|
722
722
|
children: [
|
|
723
|
-
/* @__PURE__ */
|
|
723
|
+
/* @__PURE__ */ jsx2("strong", {
|
|
724
724
|
children: "Review generated contracts"
|
|
725
|
-
}
|
|
725
|
+
}),
|
|
726
726
|
" \u2014 Check the TODO placeholders and fill in descriptions, owners, and tags."
|
|
727
727
|
]
|
|
728
|
-
}
|
|
729
|
-
/* @__PURE__ */
|
|
728
|
+
}),
|
|
729
|
+
/* @__PURE__ */ jsxs2("li", {
|
|
730
730
|
children: [
|
|
731
|
-
/* @__PURE__ */
|
|
731
|
+
/* @__PURE__ */ jsx2("strong", {
|
|
732
732
|
children: "Refine schemas"
|
|
733
|
-
}
|
|
733
|
+
}),
|
|
734
734
|
" \u2014 Add proper types, validation rules, and error definitions."
|
|
735
735
|
]
|
|
736
|
-
}
|
|
737
|
-
/* @__PURE__ */
|
|
736
|
+
}),
|
|
737
|
+
/* @__PURE__ */ jsxs2("li", {
|
|
738
738
|
children: [
|
|
739
|
-
/* @__PURE__ */
|
|
739
|
+
/* @__PURE__ */ jsx2("strong", {
|
|
740
740
|
children: "Run validation"
|
|
741
|
-
}
|
|
741
|
+
}),
|
|
742
742
|
" \u2014",
|
|
743
743
|
" ",
|
|
744
|
-
/* @__PURE__ */
|
|
744
|
+
/* @__PURE__ */ jsx2("code", {
|
|
745
745
|
children: "contractspec validate"
|
|
746
|
-
}
|
|
746
|
+
}),
|
|
747
747
|
" to ensure contracts are valid."
|
|
748
748
|
]
|
|
749
|
-
}
|
|
750
|
-
/* @__PURE__ */
|
|
749
|
+
}),
|
|
750
|
+
/* @__PURE__ */ jsxs2("li", {
|
|
751
751
|
children: [
|
|
752
|
-
/* @__PURE__ */
|
|
752
|
+
/* @__PURE__ */ jsx2("strong", {
|
|
753
753
|
children: "Register and wire handlers"
|
|
754
|
-
}
|
|
754
|
+
}),
|
|
755
755
|
" \u2014 Connect contracts to your existing business logic."
|
|
756
756
|
]
|
|
757
|
-
}
|
|
758
|
-
/* @__PURE__ */
|
|
757
|
+
}),
|
|
758
|
+
/* @__PURE__ */ jsxs2("li", {
|
|
759
759
|
children: [
|
|
760
|
-
/* @__PURE__ */
|
|
760
|
+
/* @__PURE__ */ jsx2("strong", {
|
|
761
761
|
children: "Iterate"
|
|
762
|
-
}
|
|
762
|
+
}),
|
|
763
763
|
" \u2014 The imported contracts are a starting point. Refine them as your spec matures."
|
|
764
764
|
]
|
|
765
|
-
}
|
|
765
|
+
})
|
|
766
766
|
]
|
|
767
|
-
}
|
|
767
|
+
})
|
|
768
768
|
]
|
|
769
|
-
}
|
|
770
|
-
/* @__PURE__ */
|
|
769
|
+
}),
|
|
770
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
771
771
|
className: "space-y-3",
|
|
772
772
|
children: [
|
|
773
|
-
/* @__PURE__ */
|
|
773
|
+
/* @__PURE__ */ jsxs2("h2", {
|
|
774
774
|
className: "flex items-center gap-2 text-2xl font-bold",
|
|
775
775
|
children: [
|
|
776
|
-
/* @__PURE__ */
|
|
776
|
+
/* @__PURE__ */ jsx2(AlertCircle, {
|
|
777
777
|
size: 20,
|
|
778
778
|
className: "text-yellow-400"
|
|
779
|
-
}
|
|
779
|
+
}),
|
|
780
780
|
"Troubleshooting"
|
|
781
781
|
]
|
|
782
|
-
}
|
|
783
|
-
/* @__PURE__ */
|
|
782
|
+
}),
|
|
783
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
784
784
|
className: "space-y-4",
|
|
785
785
|
children: [
|
|
786
|
-
/* @__PURE__ */
|
|
786
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
787
787
|
className: "card-subtle space-y-2 p-4",
|
|
788
788
|
children: [
|
|
789
|
-
/* @__PURE__ */
|
|
789
|
+
/* @__PURE__ */ jsx2("h3", {
|
|
790
790
|
className: "font-semibold",
|
|
791
791
|
children: "Framework not detected"
|
|
792
|
-
}
|
|
793
|
-
/* @__PURE__ */
|
|
792
|
+
}),
|
|
793
|
+
/* @__PURE__ */ jsxs2("p", {
|
|
794
794
|
className: "text-muted-foreground text-sm",
|
|
795
795
|
children: [
|
|
796
796
|
"Use ",
|
|
797
|
-
/* @__PURE__ */
|
|
797
|
+
/* @__PURE__ */ jsx2("code", {
|
|
798
798
|
children: "--framework <name>"
|
|
799
|
-
}
|
|
799
|
+
}),
|
|
800
800
|
" to force a specific framework. Check that your entry files follow standard patterns."
|
|
801
801
|
]
|
|
802
|
-
}
|
|
802
|
+
})
|
|
803
803
|
]
|
|
804
|
-
}
|
|
805
|
-
/* @__PURE__ */
|
|
804
|
+
}),
|
|
805
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
806
806
|
className: "card-subtle space-y-2 p-4",
|
|
807
807
|
children: [
|
|
808
|
-
/* @__PURE__ */
|
|
808
|
+
/* @__PURE__ */ jsx2("h3", {
|
|
809
809
|
className: "font-semibold",
|
|
810
810
|
children: "Missing schemas"
|
|
811
|
-
}
|
|
812
|
-
/* @__PURE__ */
|
|
811
|
+
}),
|
|
812
|
+
/* @__PURE__ */ jsxs2("p", {
|
|
813
813
|
className: "text-muted-foreground text-sm",
|
|
814
814
|
children: [
|
|
815
815
|
"Schema inference works best with explicit types. If using",
|
|
816
816
|
" ",
|
|
817
|
-
/* @__PURE__ */
|
|
817
|
+
/* @__PURE__ */ jsx2("code", {
|
|
818
818
|
children: "any"
|
|
819
|
-
}
|
|
819
|
+
}),
|
|
820
820
|
" or dynamic types, you'll see TODO placeholders. Fill them in manually."
|
|
821
821
|
]
|
|
822
|
-
}
|
|
822
|
+
})
|
|
823
823
|
]
|
|
824
|
-
}
|
|
825
|
-
/* @__PURE__ */
|
|
824
|
+
}),
|
|
825
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
826
826
|
className: "card-subtle space-y-2 p-4",
|
|
827
827
|
children: [
|
|
828
|
-
/* @__PURE__ */
|
|
828
|
+
/* @__PURE__ */ jsx2("h3", {
|
|
829
829
|
className: "font-semibold",
|
|
830
830
|
children: "Partial imports"
|
|
831
|
-
}
|
|
832
|
-
/* @__PURE__ */
|
|
831
|
+
}),
|
|
832
|
+
/* @__PURE__ */ jsxs2("p", {
|
|
833
833
|
className: "text-muted-foreground text-sm",
|
|
834
834
|
children: [
|
|
835
835
|
"Some endpoints may not be detected if they use unconventional patterns. Use ",
|
|
836
|
-
/* @__PURE__ */
|
|
836
|
+
/* @__PURE__ */ jsx2("code", {
|
|
837
837
|
children: "--analyze"
|
|
838
|
-
}
|
|
838
|
+
}),
|
|
839
839
|
" to see what was found, then add missing contracts manually."
|
|
840
840
|
]
|
|
841
|
-
}
|
|
841
|
+
})
|
|
842
842
|
]
|
|
843
|
-
}
|
|
843
|
+
})
|
|
844
844
|
]
|
|
845
|
-
}
|
|
845
|
+
})
|
|
846
846
|
]
|
|
847
|
-
}
|
|
848
|
-
/* @__PURE__ */
|
|
847
|
+
}),
|
|
848
|
+
/* @__PURE__ */ jsx2(StudioPrompt, {
|
|
849
849
|
title: "Want evidence-driven migration priorities?",
|
|
850
850
|
body: "Studio clusters product signals into scored patterns, then proposes spec-first change cards for the highest-impact areas."
|
|
851
|
-
}
|
|
851
|
+
})
|
|
852
852
|
]
|
|
853
|
-
}
|
|
854
|
-
/* @__PURE__ */
|
|
853
|
+
}),
|
|
854
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
855
855
|
className: "flex items-center gap-4 pt-4",
|
|
856
856
|
children: [
|
|
857
|
-
/* @__PURE__ */
|
|
857
|
+
/* @__PURE__ */ jsxs2(Link2, {
|
|
858
858
|
href: "/docs/guides/spec-validation-and-typing",
|
|
859
859
|
className: "btn-primary",
|
|
860
860
|
children: [
|
|
861
861
|
"Next: Spec validation + typing ",
|
|
862
|
-
/* @__PURE__ */
|
|
862
|
+
/* @__PURE__ */ jsx2(ChevronRight, {
|
|
863
863
|
size: 16
|
|
864
|
-
}
|
|
864
|
+
})
|
|
865
865
|
]
|
|
866
|
-
}
|
|
867
|
-
/* @__PURE__ */
|
|
866
|
+
}),
|
|
867
|
+
/* @__PURE__ */ jsx2(Link2, {
|
|
868
868
|
href: "/docs/guides",
|
|
869
869
|
className: "btn-ghost",
|
|
870
870
|
children: "Back to guides"
|
|
871
|
-
}
|
|
871
|
+
})
|
|
872
872
|
]
|
|
873
|
-
}
|
|
873
|
+
})
|
|
874
874
|
]
|
|
875
|
-
}
|
|
875
|
+
});
|
|
876
876
|
}
|
|
877
877
|
export {
|
|
878
878
|
GuideImportExistingCodebasesPage
|