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