@contractspec/bundle.library 3.8.9 → 3.8.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +606 -594
- package/CHANGELOG.md +68 -0
- package/dist/application/context-storage/index.js +1 -28
- package/dist/application/index.js +13 -2133
- package/dist/application/mcp/cliMcp.js +4 -452
- package/dist/application/mcp/common.js +1 -193
- package/dist/application/mcp/contractsMcp.js +2 -549
- package/dist/application/mcp/contractsMcpResources.js +2 -123
- package/dist/application/mcp/contractsMcpTools.js +1 -199
- package/dist/application/mcp/docsMcp.catalog.js +3 -381
- package/dist/application/mcp/docsMcp.data.js +1 -147
- package/dist/application/mcp/docsMcp.js +6 -1039
- package/dist/application/mcp/docsMcp.prompts.js +6 -521
- package/dist/application/mcp/docsMcp.reference.js +3 -235
- package/dist/application/mcp/docsMcp.resources.js +3 -519
- package/dist/application/mcp/docsMcp.tools.js +3 -518
- package/dist/application/mcp/index.js +13 -2106
- package/dist/application/mcp/internalMcp.js +2 -410
- package/dist/application/mcp/normalizeMcpRequest.js +1 -21
- package/dist/application/mcp/providerRankingMcp.js +1 -530
- package/dist/bundles/LibraryBundle.js +1 -138
- package/dist/bundles/index.js +1 -138
- package/dist/components/docs/DocsIndexPage.js +2 -912
- package/dist/components/docs/advanced/AdvancedMCPPage.js +4 -271
- package/dist/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -107
- package/dist/components/docs/advanced/AdvancedRenderersPage.js +2 -118
- package/dist/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -92
- package/dist/components/docs/advanced/AdvancedTelemetryPage.js +2 -373
- package/dist/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -99
- package/dist/components/docs/advanced/index.js +10 -1055
- package/dist/components/docs/architecture/ArchitectureAppConfigPage.js +6 -243
- package/dist/components/docs/architecture/ArchitectureControlPlanePage.js +3 -160
- package/dist/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -259
- package/dist/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -374
- package/dist/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -166
- package/dist/components/docs/architecture/ArchitectureOverviewPage.js +1 -143
- package/dist/components/docs/architecture/index.js +20 -1340
- package/dist/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -245
- package/dist/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -230
- package/dist/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -245
- package/dist/components/docs/comparison/ComparisonOverviewPage.js +1 -202
- package/dist/components/docs/comparison/ComparisonWindmillPage.js +1 -254
- package/dist/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -339
- package/dist/components/docs/comparison/index.js +1 -1510
- package/dist/components/docs/docsManifest.js +1 -611
- package/dist/components/docs/docsManifest.test.d.ts +1 -0
- package/dist/components/docs/ecosystem/IntegrationsPage.js +2 -103
- package/dist/components/docs/ecosystem/PluginsPage.js +13 -179
- package/dist/components/docs/ecosystem/RegistryPage.js +7 -100
- package/dist/components/docs/ecosystem/TemplatesPage.js +3 -141
- package/dist/components/docs/ecosystem/ecosystem.docblocks.js +2 -48
- package/dist/components/docs/ecosystem/index.js +23 -569
- package/dist/components/docs/examples/DocsExamplesPage.js +4 -124
- package/dist/components/docs/examples/ExampleShowcasePage.js +4 -244
- package/dist/components/docs/examples/exampleShowcaseData.js +4 -39
- package/dist/components/docs/examples/index.js +4 -330
- package/dist/components/docs/generated/docs-index.generated.js +1 -5
- package/dist/components/docs/generated/index.js +1 -74
- package/dist/components/docs/generated/loader.js +1 -74
- package/dist/components/docs/getting-started/CLIPage.js +4 -271
- package/dist/components/docs/getting-started/CompatibilityPage.js +1 -173
- package/dist/components/docs/getting-started/DataViewTutorialPage.js +4 -134
- package/dist/components/docs/getting-started/DeveloperToolsPage.js +1 -194
- package/dist/components/docs/getting-started/HelloWorldPage.js +5 -183
- package/dist/components/docs/getting-started/InstallationPage.js +3 -154
- package/dist/components/docs/getting-started/StartHerePage.js +2 -129
- package/dist/components/docs/getting-started/TroubleshootingPage.js +2 -168
- package/dist/components/docs/getting-started/VSCodeExtensionPage.js +1 -432
- package/dist/components/docs/getting-started/getting-started.docblocks.js +4 -41
- package/dist/components/docs/getting-started/index.js +18 -1869
- package/dist/components/docs/guides/GuideCIDiffGatingPage.js +2 -196
- package/dist/components/docs/guides/GuideConnectInRepoPage.d.ts +1 -0
- package/dist/components/docs/guides/GuideConnectInRepoPage.js +44 -0
- package/dist/components/docs/guides/GuideContractTypesPage.js +6 -541
- package/dist/components/docs/guides/GuideDocsPipelinePage.js +3 -207
- package/dist/components/docs/guides/GuideFirstModuleBundlePage.d.ts +1 -0
- package/dist/components/docs/guides/GuideFirstModuleBundlePage.js +76 -0
- package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -209
- package/dist/components/docs/guides/GuideHostBuilderWorkbenchPage.d.ts +1 -0
- package/dist/components/docs/guides/GuideHostBuilderWorkbenchPage.js +70 -0
- package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -754
- package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -268
- package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +4 -196
- package/dist/components/docs/guides/GuidesIndexPage.js +2 -169
- package/dist/components/docs/guides/guides.docblocks.js +11 -75
- package/dist/components/docs/guides/index.d.ts +3 -0
- package/dist/components/docs/guides/index.js +213 -2428
- package/dist/components/docs/index.js +542 -24297
- package/dist/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -42
- package/dist/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -105
- package/dist/components/docs/integrations/IntegrationsGithubPage.js +3 -142
- package/dist/components/docs/integrations/IntegrationsGmailPage.js +3 -109
- package/dist/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -79
- package/dist/components/docs/integrations/IntegrationsHealthRoutingPage.js +3 -146
- package/dist/components/docs/integrations/IntegrationsMistralPage.js +5 -150
- package/dist/components/docs/integrations/IntegrationsOpenAIPage.js +5 -140
- package/dist/components/docs/integrations/IntegrationsOverviewPage.js +1 -160
- package/dist/components/docs/integrations/IntegrationsPostmarkPage.js +4 -218
- package/dist/components/docs/integrations/IntegrationsPowensPage.js +4 -300
- package/dist/components/docs/integrations/IntegrationsQdrantPage.js +5 -111
- package/dist/components/docs/integrations/IntegrationsResendPage.js +3 -102
- package/dist/components/docs/integrations/IntegrationsS3Page.js +4 -124
- package/dist/components/docs/integrations/IntegrationsSlackPage.js +3 -144
- package/dist/components/docs/integrations/IntegrationsSpecModelPage.js +7 -290
- package/dist/components/docs/integrations/IntegrationsStripePage.js +6 -327
- package/dist/components/docs/integrations/IntegrationsTwilioPage.js +3 -128
- package/dist/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -146
- package/dist/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -156
- package/dist/components/docs/integrations/index.js +52 -3100
- package/dist/components/docs/intent/ContractFirstApiPage.js +2 -126
- package/dist/components/docs/intent/DeterministicCodegenPage.js +2 -148
- package/dist/components/docs/intent/GenerateClientFromSchemaPage.js +7 -207
- package/dist/components/docs/intent/OpenapiAlternativePage.js +3 -201
- package/dist/components/docs/intent/SchemaValidationTypescriptPage.js +4 -144
- package/dist/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -126
- package/dist/components/docs/intent/index.js +15 -1135
- package/dist/components/docs/intent/intent-pages.docblocks.js +1 -201
- package/dist/components/docs/knowledge/KnowledgeCategoriesPage.js +6 -750
- package/dist/components/docs/knowledge/KnowledgeExamplesPage.js +4 -175
- package/dist/components/docs/knowledge/KnowledgeOverviewPage.js +1 -116
- package/dist/components/docs/knowledge/KnowledgeSourcesPage.js +8 -391
- package/dist/components/docs/knowledge/KnowledgeSpacesPage.js +6 -302
- package/dist/components/docs/knowledge/index.js +21 -1730
- package/dist/components/docs/libraries/LibrariesAccessibilityPage.js +3 -198
- package/dist/components/docs/libraries/LibrariesAiAgentPage.js +3 -141
- package/dist/components/docs/libraries/LibrariesAnalyticsPage.js +4 -80
- package/dist/components/docs/libraries/LibrariesContentGenPage.js +2 -100
- package/dist/components/docs/libraries/LibrariesContractsPage.js +2 -284
- package/dist/components/docs/libraries/LibrariesCostTrackingPage.js +3 -112
- package/dist/components/docs/libraries/LibrariesDataBackendPage.js +2 -166
- package/dist/components/docs/libraries/LibrariesDataViewsPage.js +3 -186
- package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +4 -279
- package/dist/components/docs/libraries/LibrariesEvolutionPage.js +4 -127
- package/dist/components/docs/libraries/LibrariesGraphQLPage.js +2 -173
- package/dist/components/docs/libraries/LibrariesGrowthPage.js +3 -88
- package/dist/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -108
- package/dist/components/docs/libraries/LibrariesObservabilityPage.js +5 -130
- package/dist/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -110
- package/dist/components/docs/libraries/LibrariesOverviewPage.js +1 -170
- package/dist/components/docs/libraries/LibrariesPersonalizationPage.js +4 -114
- package/dist/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -132
- package/dist/components/docs/libraries/LibrariesResiliencePage.js +4 -120
- package/dist/components/docs/libraries/LibrariesRuntimePage.js +2 -200
- package/dist/components/docs/libraries/LibrariesSLOPage.js +3 -116
- package/dist/components/docs/libraries/LibrariesSchemaPage.js +3 -273
- package/dist/components/docs/libraries/LibrariesSupportBotPage.js +3 -134
- package/dist/components/docs/libraries/LibrariesTestingPage.js +3 -133
- package/dist/components/docs/libraries/LibrariesUIKitPage.js +2 -230
- package/dist/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -88
- package/dist/components/docs/libraries/LibrariesWorkflowsPage.js +2 -181
- package/dist/components/docs/libraries/index.js +54 -4147
- package/dist/components/docs/manifesto/ManifestoPage.js +1 -86
- package/dist/components/docs/ops/AutoEvolutionOpsPage.js +2 -132
- package/dist/components/docs/ops/DistributedTracingOpsPage.js +2 -71
- package/dist/components/docs/ops/index.js +3 -202
- package/dist/components/docs/ops/ops-lifecycle.docblocks.js +3 -38
- package/dist/components/docs/ops/ops-runbooks-a.docblocks.js +3 -94
- package/dist/components/docs/ops/ops-runbooks-b.docblocks.js +3 -76
- package/dist/components/docs/ops/ops-slo-tenant.docblocks.js +3 -76
- package/dist/components/docs/ops/ops-top.docs.js +2 -17
- package/dist/components/docs/ops/ops.docs.js +10 -302
- package/dist/components/docs/product/product.docblocks.js +5 -72
- package/dist/components/docs/reference/DocsMarkdownContent.js +2 -196
- package/dist/components/docs/reference/DocsReferenceContent.js +3 -256
- package/dist/components/docs/reference/DocsReferenceIndexClient.js +2 -127
- package/dist/components/docs/reference/DocsReferenceIndexPage.js +2 -206
- package/dist/components/docs/reference/DocsReferencePage.js +3 -265
- package/dist/components/docs/reference/docsMarkdownParser.js +2 -92
- package/dist/components/docs/reference/index.js +4 -470
- package/dist/components/docs/safety/SafetyAuditingPage.js +2 -350
- package/dist/components/docs/safety/SafetyMigrationsPage.js +2 -359
- package/dist/components/docs/safety/SafetyOverviewPage.js +1 -101
- package/dist/components/docs/safety/SafetyPDPPage.js +2 -301
- package/dist/components/docs/safety/SafetySecurityTrustPage.js +1 -206
- package/dist/components/docs/safety/SafetySigningPage.js +3 -90
- package/dist/components/docs/safety/SafetyTenantIsolationPage.js +2 -79
- package/dist/components/docs/safety/index.js +7 -1480
- package/dist/components/docs/shared/StudioPrompt.js +1 -31
- package/dist/components/docs/specs/SpecsBuilderControlPlanePage.d.ts +1 -0
- package/dist/components/docs/specs/SpecsBuilderControlPlanePage.js +34 -0
- package/dist/components/docs/specs/SpecsCapabilitiesPage.js +2 -158
- package/dist/components/docs/specs/SpecsConnectPage.d.ts +1 -0
- package/dist/components/docs/specs/SpecsConnectPage.js +8 -0
- package/dist/components/docs/specs/SpecsDataViewsPage.js +2 -260
- package/dist/components/docs/specs/SpecsModuleBundlesPage.d.ts +1 -0
- package/dist/components/docs/specs/SpecsModuleBundlesPage.js +67 -0
- package/dist/components/docs/specs/SpecsOverlaysPage.js +2 -372
- package/dist/components/docs/specs/SpecsOverviewPage.js +1 -186
- package/dist/components/docs/specs/SpecsPolicyPage.js +3 -420
- package/dist/components/docs/specs/SpecsWorkflowsPage.js +2 -312
- package/dist/components/docs/specs/index.d.ts +3 -0
- package/dist/components/docs/specs/index.js +109 -1702
- package/dist/components/docs/studio/StudioBYOKPage.js +1 -26
- package/dist/components/docs/studio/StudioDeploymentsPage.js +1 -26
- package/dist/components/docs/studio/StudioGettingStartedPage.js +1 -26
- package/dist/components/docs/studio/StudioIntegrationsPage.js +1 -26
- package/dist/components/docs/studio/StudioOverviewPage.js +1 -157
- package/dist/components/docs/studio/StudioVisualBuilderPage.js +1 -26
- package/dist/components/docs/studio/index.js +1 -282
- package/dist/components/docs/tech/contracts/tech-docs.docblocks.js +2 -19
- package/dist/components/integrations/index.js +2 -600
- package/dist/components/integrations/molecules/IntegrationCard.js +1 -100
- package/dist/components/integrations/organisms/IntegrationMarketplace.js +1 -214
- package/dist/components/integrations/organisms/IntegrationSettings.js +2 -284
- package/dist/components/integrations/organisms/KnowledgeSourceList.js +1 -103
- package/dist/components/legal/PrivacyTemplate.js +1 -1025
- package/dist/components/legal/TermsTemplate.js +1 -941
- package/dist/components/legal/index.js +1 -1963
- package/dist/components/shared/FeatureGateNotice.js +1 -38
- package/dist/components/shared/index.js +1 -38
- package/dist/components/shell/WorkspaceHeader.js +1 -100
- package/dist/components/shell/WorkspaceProjectShellLayout.js +1 -222
- package/dist/components/shell/WorkspaceShellRenderer.js +1 -228
- package/dist/components/shell/WorkspaceSidebar.js +1 -68
- package/dist/components/shell/index.js +1 -287
- package/dist/components/templates/engine/index.js +1 -39
- package/dist/components/templates/index.js +11 -965
- package/dist/components/templates/messaging/ConversationList.js +2 -83
- package/dist/components/templates/messaging/MessageComposer.js +4 -150
- package/dist/components/templates/messaging/MessageThread.js +3 -83
- package/dist/components/templates/messaging/MessagingWorkspace.js +5 -265
- package/dist/components/templates/messaging/index.js +5 -269
- package/dist/components/templates/recipes/LanguageSwitcher.js +1 -16
- package/dist/components/templates/recipes/RecipeCard.js +1 -80
- package/dist/components/templates/recipes/RecipeDetail.js +1 -74
- package/dist/components/templates/recipes/RecipeList.js +3 -245
- package/dist/components/templates/recipes/index.js +3 -248
- package/dist/components/templates/todos/FilterBar.js +1 -107
- package/dist/components/templates/todos/TaskForm.js +2 -158
- package/dist/components/templates/todos/TaskItem.js +1 -77
- package/dist/components/templates/todos/TaskList.js +5 -449
- package/dist/components/templates/todos/index.js +5 -452
- package/dist/config/contractspec-blueprint.js +1 -123
- package/dist/config/contractspec-branding.js +1 -44
- package/dist/config/contractspec-routes.js +1 -24
- package/dist/config/index.js +1 -126
- package/dist/features/contracts-registry.js +1 -178
- package/dist/features/docs/docs.contracts.js +1 -17
- package/dist/features/docs/index.js +1 -17
- package/dist/features/docs.feature.js +1 -33
- package/dist/features/index.js +1 -315
- package/dist/features/mcp.feature.js +1 -30
- package/dist/features/presentations.feature.js +1 -33
- package/dist/features/registry.js +1 -116
- package/dist/index.js +556 -28580
- package/dist/infrastructure/elysia/index.js +1 -35
- package/dist/infrastructure/elysia/logger.js +1 -35
- package/dist/infrastructure/index.js +1 -35
- package/dist/libs/email/client.js +1 -114
- package/dist/libs/email/contact.js +12 -165
- package/dist/libs/email/newsletter.js +6 -167
- package/dist/libs/email/types.js +0 -2
- package/dist/libs/email/utils.js +2 -8
- package/dist/libs/email/waitlist-application.js +28 -209
- package/dist/libs/email/waitlist.js +6 -167
- package/dist/libs/email.js +46 -363
- package/dist/libs/posthog/client.js +1 -63
- package/dist/libs/posthog/native.js +1 -23
- package/dist/libs/posthog/server.js +1 -13
- package/dist/libs/pricing-examples.js +1 -18
- package/dist/node/application/context-storage/index.js +1 -28
- package/dist/node/application/index.js +13 -2133
- package/dist/node/application/mcp/cliMcp.js +4 -452
- package/dist/node/application/mcp/common.js +1 -193
- package/dist/node/application/mcp/contractsMcp.js +2 -549
- package/dist/node/application/mcp/contractsMcpResources.js +2 -123
- package/dist/node/application/mcp/contractsMcpTools.js +1 -199
- package/dist/node/application/mcp/docsMcp.catalog.js +3 -381
- package/dist/node/application/mcp/docsMcp.data.js +1 -147
- package/dist/node/application/mcp/docsMcp.js +6 -1039
- package/dist/node/application/mcp/docsMcp.prompts.js +6 -521
- package/dist/node/application/mcp/docsMcp.reference.js +3 -235
- package/dist/node/application/mcp/docsMcp.resources.js +3 -519
- package/dist/node/application/mcp/docsMcp.tools.js +3 -518
- package/dist/node/application/mcp/index.js +13 -2106
- package/dist/node/application/mcp/internalMcp.js +2 -410
- package/dist/node/application/mcp/normalizeMcpRequest.js +1 -21
- package/dist/node/application/mcp/providerRankingMcp.js +1 -530
- package/dist/node/bundles/LibraryBundle.js +1 -138
- package/dist/node/bundles/index.js +1 -138
- package/dist/node/components/docs/DocsIndexPage.js +2 -912
- package/dist/node/components/docs/advanced/AdvancedMCPPage.js +4 -271
- package/dist/node/components/docs/advanced/AdvancedOverlayEditorPage.js +1 -107
- package/dist/node/components/docs/advanced/AdvancedRenderersPage.js +2 -118
- package/dist/node/components/docs/advanced/AdvancedSpecExperimentsPage.js +4 -92
- package/dist/node/components/docs/advanced/AdvancedTelemetryPage.js +2 -373
- package/dist/node/components/docs/advanced/AdvancedWorkflowMonitoringPage.js +2 -99
- package/dist/node/components/docs/advanced/index.js +10 -1055
- package/dist/node/components/docs/architecture/ArchitectureAppConfigPage.js +6 -243
- package/dist/node/components/docs/architecture/ArchitectureControlPlanePage.js +3 -160
- package/dist/node/components/docs/architecture/ArchitectureIntegrationBindingPage.js +7 -259
- package/dist/node/components/docs/architecture/ArchitectureKnowledgeBindingPage.js +6 -374
- package/dist/node/components/docs/architecture/ArchitectureMultiTenancyPage.js +2 -166
- package/dist/node/components/docs/architecture/ArchitectureOverviewPage.js +1 -143
- package/dist/node/components/docs/architecture/index.js +20 -1340
- package/dist/node/components/docs/comparison/ComparisonAutomationPlatformsPage.js +1 -245
- package/dist/node/components/docs/comparison/ComparisonEnterprisePlatformsPage.js +1 -230
- package/dist/node/components/docs/comparison/ComparisonInternalToolBuildersPage.js +1 -245
- package/dist/node/components/docs/comparison/ComparisonOverviewPage.js +1 -202
- package/dist/node/components/docs/comparison/ComparisonWindmillPage.js +1 -254
- package/dist/node/components/docs/comparison/ComparisonWorkflowEnginesPage.js +1 -339
- package/dist/node/components/docs/comparison/index.js +1 -1510
- package/dist/node/components/docs/docsManifest.js +1 -611
- package/dist/node/components/docs/ecosystem/IntegrationsPage.js +2 -103
- package/dist/node/components/docs/ecosystem/PluginsPage.js +13 -179
- package/dist/node/components/docs/ecosystem/RegistryPage.js +7 -100
- package/dist/node/components/docs/ecosystem/TemplatesPage.js +3 -141
- package/dist/node/components/docs/ecosystem/ecosystem.docblocks.js +2 -48
- package/dist/node/components/docs/ecosystem/index.js +23 -569
- package/dist/node/components/docs/examples/DocsExamplesPage.js +4 -124
- package/dist/node/components/docs/examples/ExampleShowcasePage.js +4 -244
- package/dist/node/components/docs/examples/exampleShowcaseData.js +4 -39
- package/dist/node/components/docs/examples/index.js +4 -330
- package/dist/node/components/docs/generated/docs-index.generated.js +1 -5
- package/dist/node/components/docs/generated/index.js +1 -74
- package/dist/node/components/docs/generated/loader.js +1 -74
- package/dist/node/components/docs/getting-started/CLIPage.js +4 -271
- package/dist/node/components/docs/getting-started/CompatibilityPage.js +1 -173
- package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +4 -134
- package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +1 -194
- package/dist/node/components/docs/getting-started/HelloWorldPage.js +5 -183
- package/dist/node/components/docs/getting-started/InstallationPage.js +3 -154
- package/dist/node/components/docs/getting-started/StartHerePage.js +2 -129
- package/dist/node/components/docs/getting-started/TroubleshootingPage.js +2 -168
- package/dist/node/components/docs/getting-started/VSCodeExtensionPage.js +1 -432
- package/dist/node/components/docs/getting-started/getting-started.docblocks.js +4 -41
- package/dist/node/components/docs/getting-started/index.js +18 -1869
- package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +2 -196
- package/dist/node/components/docs/guides/GuideConnectInRepoPage.js +43 -0
- package/dist/node/components/docs/guides/GuideContractTypesPage.js +6 -541
- package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +3 -207
- package/dist/node/components/docs/guides/GuideFirstModuleBundlePage.js +75 -0
- package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +2 -209
- package/dist/node/components/docs/guides/GuideHostBuilderWorkbenchPage.js +69 -0
- package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +8 -754
- package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -268
- package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +4 -196
- package/dist/node/components/docs/guides/GuidesIndexPage.js +2 -169
- package/dist/node/components/docs/guides/guides.docblocks.js +11 -75
- package/dist/node/components/docs/guides/index.js +213 -2428
- package/dist/node/components/docs/index.js +542 -24297
- package/dist/node/components/docs/integrations/IntegrationsCircuitBreakersPage.js +2 -42
- package/dist/node/components/docs/integrations/IntegrationsElevenLabsPage.js +3 -105
- package/dist/node/components/docs/integrations/IntegrationsGithubPage.js +3 -142
- package/dist/node/components/docs/integrations/IntegrationsGmailPage.js +3 -109
- package/dist/node/components/docs/integrations/IntegrationsGoogleCalendarPage.js +3 -79
- package/dist/node/components/docs/integrations/IntegrationsHealthRoutingPage.js +3 -146
- package/dist/node/components/docs/integrations/IntegrationsMistralPage.js +5 -150
- package/dist/node/components/docs/integrations/IntegrationsOpenAIPage.js +5 -140
- package/dist/node/components/docs/integrations/IntegrationsOverviewPage.js +1 -160
- package/dist/node/components/docs/integrations/IntegrationsPostmarkPage.js +4 -218
- package/dist/node/components/docs/integrations/IntegrationsPowensPage.js +4 -300
- package/dist/node/components/docs/integrations/IntegrationsQdrantPage.js +5 -111
- package/dist/node/components/docs/integrations/IntegrationsResendPage.js +3 -102
- package/dist/node/components/docs/integrations/IntegrationsS3Page.js +4 -124
- package/dist/node/components/docs/integrations/IntegrationsSlackPage.js +3 -144
- package/dist/node/components/docs/integrations/IntegrationsSpecModelPage.js +7 -290
- package/dist/node/components/docs/integrations/IntegrationsStripePage.js +6 -327
- package/dist/node/components/docs/integrations/IntegrationsTwilioPage.js +3 -128
- package/dist/node/components/docs/integrations/IntegrationsWhatsappMetaPage.js +2 -146
- package/dist/node/components/docs/integrations/IntegrationsWhatsappTwilioPage.js +2 -156
- package/dist/node/components/docs/integrations/index.js +52 -3100
- package/dist/node/components/docs/intent/ContractFirstApiPage.js +2 -126
- package/dist/node/components/docs/intent/DeterministicCodegenPage.js +2 -148
- package/dist/node/components/docs/intent/GenerateClientFromSchemaPage.js +7 -207
- package/dist/node/components/docs/intent/OpenapiAlternativePage.js +3 -201
- package/dist/node/components/docs/intent/SchemaValidationTypescriptPage.js +4 -144
- package/dist/node/components/docs/intent/SpecDrivenDevelopmentPage.js +2 -126
- package/dist/node/components/docs/intent/index.js +15 -1135
- package/dist/node/components/docs/intent/intent-pages.docblocks.js +1 -201
- package/dist/node/components/docs/knowledge/KnowledgeCategoriesPage.js +6 -750
- package/dist/node/components/docs/knowledge/KnowledgeExamplesPage.js +4 -175
- package/dist/node/components/docs/knowledge/KnowledgeOverviewPage.js +1 -116
- package/dist/node/components/docs/knowledge/KnowledgeSourcesPage.js +8 -391
- package/dist/node/components/docs/knowledge/KnowledgeSpacesPage.js +6 -302
- package/dist/node/components/docs/knowledge/index.js +21 -1730
- package/dist/node/components/docs/libraries/LibrariesAccessibilityPage.js +3 -198
- package/dist/node/components/docs/libraries/LibrariesAiAgentPage.js +3 -141
- package/dist/node/components/docs/libraries/LibrariesAnalyticsPage.js +4 -80
- package/dist/node/components/docs/libraries/LibrariesContentGenPage.js +2 -100
- package/dist/node/components/docs/libraries/LibrariesContractsPage.js +2 -284
- package/dist/node/components/docs/libraries/LibrariesCostTrackingPage.js +3 -112
- package/dist/node/components/docs/libraries/LibrariesDataBackendPage.js +2 -166
- package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +3 -186
- package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +4 -279
- package/dist/node/components/docs/libraries/LibrariesEvolutionPage.js +4 -127
- package/dist/node/components/docs/libraries/LibrariesGraphQLPage.js +2 -173
- package/dist/node/components/docs/libraries/LibrariesGrowthPage.js +3 -88
- package/dist/node/components/docs/libraries/LibrariesMultiTenancyPage.js +3 -108
- package/dist/node/components/docs/libraries/LibrariesObservabilityPage.js +5 -130
- package/dist/node/components/docs/libraries/LibrariesOverlayEnginePage.js +4 -110
- package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +1 -170
- package/dist/node/components/docs/libraries/LibrariesPersonalizationPage.js +4 -114
- package/dist/node/components/docs/libraries/LibrariesProgressiveDeliveryPage.js +3 -132
- package/dist/node/components/docs/libraries/LibrariesResiliencePage.js +4 -120
- package/dist/node/components/docs/libraries/LibrariesRuntimePage.js +2 -200
- package/dist/node/components/docs/libraries/LibrariesSLOPage.js +3 -116
- package/dist/node/components/docs/libraries/LibrariesSchemaPage.js +3 -273
- package/dist/node/components/docs/libraries/LibrariesSupportBotPage.js +3 -134
- package/dist/node/components/docs/libraries/LibrariesTestingPage.js +3 -133
- package/dist/node/components/docs/libraries/LibrariesUIKitPage.js +2 -230
- package/dist/node/components/docs/libraries/LibrariesWorkflowComposerPage.js +3 -88
- package/dist/node/components/docs/libraries/LibrariesWorkflowsPage.js +2 -181
- package/dist/node/components/docs/libraries/index.js +54 -4147
- package/dist/node/components/docs/manifesto/ManifestoPage.js +1 -86
- package/dist/node/components/docs/ops/AutoEvolutionOpsPage.js +2 -132
- package/dist/node/components/docs/ops/DistributedTracingOpsPage.js +2 -71
- package/dist/node/components/docs/ops/index.js +3 -202
- package/dist/node/components/docs/ops/ops-lifecycle.docblocks.js +3 -38
- package/dist/node/components/docs/ops/ops-runbooks-a.docblocks.js +3 -94
- package/dist/node/components/docs/ops/ops-runbooks-b.docblocks.js +3 -76
- package/dist/node/components/docs/ops/ops-slo-tenant.docblocks.js +3 -76
- package/dist/node/components/docs/ops/ops-top.docs.js +2 -17
- package/dist/node/components/docs/ops/ops.docs.js +10 -302
- package/dist/node/components/docs/product/product.docblocks.js +5 -72
- package/dist/node/components/docs/reference/DocsMarkdownContent.js +2 -196
- package/dist/node/components/docs/reference/DocsReferenceContent.js +3 -256
- package/dist/node/components/docs/reference/DocsReferenceIndexClient.js +2 -127
- package/dist/node/components/docs/reference/DocsReferenceIndexPage.js +2 -206
- package/dist/node/components/docs/reference/DocsReferencePage.js +3 -265
- package/dist/node/components/docs/reference/docsMarkdownParser.js +2 -92
- package/dist/node/components/docs/reference/index.js +4 -470
- package/dist/node/components/docs/safety/SafetyAuditingPage.js +2 -350
- package/dist/node/components/docs/safety/SafetyMigrationsPage.js +2 -359
- package/dist/node/components/docs/safety/SafetyOverviewPage.js +1 -101
- package/dist/node/components/docs/safety/SafetyPDPPage.js +2 -301
- package/dist/node/components/docs/safety/SafetySecurityTrustPage.js +1 -206
- package/dist/node/components/docs/safety/SafetySigningPage.js +3 -90
- package/dist/node/components/docs/safety/SafetyTenantIsolationPage.js +2 -79
- package/dist/node/components/docs/safety/index.js +7 -1480
- package/dist/node/components/docs/shared/StudioPrompt.js +1 -31
- package/dist/node/components/docs/specs/SpecsBuilderControlPlanePage.js +33 -0
- package/dist/node/components/docs/specs/SpecsCapabilitiesPage.js +2 -158
- package/dist/node/components/docs/specs/SpecsConnectPage.js +7 -0
- package/dist/node/components/docs/specs/SpecsDataViewsPage.js +2 -260
- package/dist/node/components/docs/specs/SpecsModuleBundlesPage.js +66 -0
- package/dist/node/components/docs/specs/SpecsOverlaysPage.js +2 -372
- package/dist/node/components/docs/specs/SpecsOverviewPage.js +1 -186
- package/dist/node/components/docs/specs/SpecsPolicyPage.js +3 -420
- package/dist/node/components/docs/specs/SpecsWorkflowsPage.js +2 -312
- package/dist/node/components/docs/specs/index.js +109 -1702
- package/dist/node/components/docs/studio/StudioBYOKPage.js +1 -26
- package/dist/node/components/docs/studio/StudioDeploymentsPage.js +1 -26
- package/dist/node/components/docs/studio/StudioGettingStartedPage.js +1 -26
- package/dist/node/components/docs/studio/StudioIntegrationsPage.js +1 -26
- package/dist/node/components/docs/studio/StudioOverviewPage.js +1 -157
- package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +1 -26
- package/dist/node/components/docs/studio/index.js +1 -282
- package/dist/node/components/docs/tech/contracts/tech-docs.docblocks.js +2 -19
- package/dist/node/components/integrations/index.js +2 -600
- package/dist/node/components/integrations/molecules/IntegrationCard.js +1 -100
- package/dist/node/components/integrations/organisms/IntegrationMarketplace.js +1 -214
- package/dist/node/components/integrations/organisms/IntegrationSettings.js +2 -284
- package/dist/node/components/integrations/organisms/KnowledgeSourceList.js +1 -103
- package/dist/node/components/legal/PrivacyTemplate.js +1 -1025
- package/dist/node/components/legal/TermsTemplate.js +1 -941
- package/dist/node/components/legal/index.js +1 -1963
- package/dist/node/components/shared/FeatureGateNotice.js +1 -38
- package/dist/node/components/shared/index.js +1 -38
- package/dist/node/components/shell/WorkspaceHeader.js +1 -100
- package/dist/node/components/shell/WorkspaceProjectShellLayout.js +1 -222
- package/dist/node/components/shell/WorkspaceShellRenderer.js +1 -228
- package/dist/node/components/shell/WorkspaceSidebar.js +1 -68
- package/dist/node/components/shell/index.js +1 -287
- package/dist/node/components/templates/engine/index.js +1 -39
- package/dist/node/components/templates/index.js +11 -965
- package/dist/node/components/templates/messaging/ConversationList.js +2 -83
- package/dist/node/components/templates/messaging/MessageComposer.js +4 -150
- package/dist/node/components/templates/messaging/MessageThread.js +3 -83
- package/dist/node/components/templates/messaging/MessagingWorkspace.js +5 -265
- package/dist/node/components/templates/messaging/index.js +5 -269
- package/dist/node/components/templates/recipes/LanguageSwitcher.js +1 -16
- package/dist/node/components/templates/recipes/RecipeCard.js +1 -80
- package/dist/node/components/templates/recipes/RecipeDetail.js +1 -74
- package/dist/node/components/templates/recipes/RecipeList.js +3 -245
- package/dist/node/components/templates/recipes/index.js +3 -248
- package/dist/node/components/templates/todos/FilterBar.js +1 -107
- package/dist/node/components/templates/todos/TaskForm.js +2 -158
- package/dist/node/components/templates/todos/TaskItem.js +1 -77
- package/dist/node/components/templates/todos/TaskList.js +5 -449
- package/dist/node/components/templates/todos/index.js +5 -452
- package/dist/node/config/contractspec-blueprint.js +1 -123
- package/dist/node/config/contractspec-branding.js +1 -44
- package/dist/node/config/contractspec-routes.js +1 -24
- package/dist/node/config/index.js +1 -126
- package/dist/node/features/contracts-registry.js +1 -178
- package/dist/node/features/docs/docs.contracts.js +1 -17
- package/dist/node/features/docs/index.js +1 -17
- package/dist/node/features/docs.feature.js +1 -33
- package/dist/node/features/index.js +1 -315
- package/dist/node/features/mcp.feature.js +1 -30
- package/dist/node/features/presentations.feature.js +1 -33
- package/dist/node/features/registry.js +1 -116
- package/dist/node/index.js +556 -28580
- package/dist/node/infrastructure/elysia/index.js +1 -35
- package/dist/node/infrastructure/elysia/logger.js +1 -35
- package/dist/node/infrastructure/index.js +1 -35
- package/dist/node/libs/email/client.js +1 -114
- package/dist/node/libs/email/contact.js +12 -165
- package/dist/node/libs/email/newsletter.js +6 -167
- package/dist/node/libs/email/types.js +0 -2
- package/dist/node/libs/email/utils.js +2 -8
- package/dist/node/libs/email/waitlist-application.js +28 -209
- package/dist/node/libs/email/waitlist.js +6 -167
- package/dist/node/libs/email.js +46 -363
- package/dist/node/libs/posthog/client.js +1 -63
- package/dist/node/libs/posthog/native.js +1 -23
- package/dist/node/libs/posthog/server.js +1 -13
- package/dist/node/libs/pricing-examples.js +1 -18
- package/dist/node/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -97
- package/dist/node/presentation/features/atoms/FeatureIcon/index.js +1 -97
- package/dist/node/presentation/features/atoms/index.js +1 -97
- package/dist/node/presentation/features/hooks/index.js +1 -397
- package/dist/node/presentation/features/hooks/useContractsRegistry.js +1 -289
- package/dist/node/presentation/features/hooks/useFeatureFilters.js +1 -75
- package/dist/node/presentation/features/hooks/useFeatureRegistry.js +1 -147
- package/dist/node/presentation/features/hooks/useRelatedDocs.js +1 -28
- package/dist/node/presentation/features/index.js +1 -3063
- package/dist/node/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -366
- package/dist/node/presentation/features/molecules/FeatureCard/index.js +1 -366
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -50
- package/dist/node/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -50
- package/dist/node/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -92
- package/dist/node/presentation/features/molecules/FeatureFilters/index.js +1 -92
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -176
- package/dist/node/presentation/features/molecules/FeatureHoverPreview/index.js +1 -176
- package/dist/node/presentation/features/molecules/index.js +1 -505
- package/dist/node/presentation/features/organisms/FeatureDataViewsList.js +1 -304
- package/dist/node/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -154
- package/dist/node/presentation/features/organisms/FeatureDetail/index.js +1 -154
- package/dist/node/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -909
- package/dist/node/presentation/features/organisms/FeatureDiscovery/index.js +1 -909
- package/dist/node/presentation/features/organisms/FeatureEventsList.js +1 -302
- package/dist/node/presentation/features/organisms/FeatureFormsList.js +1 -302
- package/dist/node/presentation/features/organisms/FeatureOperationsList.js +1 -180
- package/dist/node/presentation/features/organisms/FeaturePresentationsList.js +1 -304
- package/dist/node/presentation/features/organisms/index.js +1 -1359
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -332
- package/dist/node/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -332
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -342
- package/dist/node/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -342
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -303
- package/dist/node/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -303
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -340
- package/dist/node/presentation/features/templates/FeatureEventsTemplate/index.js +1 -340
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -329
- package/dist/node/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -329
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -340
- package/dist/node/presentation/features/templates/FeatureFormsTemplate/index.js +1 -340
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -302
- package/dist/node/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -302
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -218
- package/dist/node/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -218
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -187
- package/dist/node/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -187
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -306
- package/dist/node/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -306
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -342
- package/dist/node/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -342
- package/dist/presentation/features/atoms/FeatureIcon/FeatureIcon.js +1 -97
- package/dist/presentation/features/atoms/FeatureIcon/index.js +1 -97
- package/dist/presentation/features/atoms/index.js +1 -97
- package/dist/presentation/features/hooks/index.js +1 -397
- package/dist/presentation/features/hooks/useContractsRegistry.js +1 -289
- package/dist/presentation/features/hooks/useFeatureFilters.js +1 -75
- package/dist/presentation/features/hooks/useFeatureRegistry.js +1 -147
- package/dist/presentation/features/hooks/useRelatedDocs.js +1 -28
- package/dist/presentation/features/index.js +1 -3063
- package/dist/presentation/features/molecules/FeatureCard/FeatureCard.js +1 -366
- package/dist/presentation/features/molecules/FeatureCard/index.js +1 -366
- package/dist/presentation/features/molecules/FeatureCategoryHeader/FeatureCategoryHeader.js +1 -50
- package/dist/presentation/features/molecules/FeatureCategoryHeader/index.js +1 -50
- package/dist/presentation/features/molecules/FeatureFilters/FeatureFilters.js +1 -92
- package/dist/presentation/features/molecules/FeatureFilters/index.js +1 -92
- package/dist/presentation/features/molecules/FeatureHoverPreview/FeatureHoverPreview.js +1 -176
- package/dist/presentation/features/molecules/FeatureHoverPreview/index.js +1 -176
- package/dist/presentation/features/molecules/index.js +1 -505
- package/dist/presentation/features/organisms/FeatureDataViewsList.js +1 -304
- package/dist/presentation/features/organisms/FeatureDetail/FeatureDetail.js +1 -154
- package/dist/presentation/features/organisms/FeatureDetail/index.js +1 -154
- package/dist/presentation/features/organisms/FeatureDiscovery/FeatureDiscovery.js +1 -909
- package/dist/presentation/features/organisms/FeatureDiscovery/index.js +1 -909
- package/dist/presentation/features/organisms/FeatureEventsList.js +1 -302
- package/dist/presentation/features/organisms/FeatureFormsList.js +1 -302
- package/dist/presentation/features/organisms/FeatureOperationsList.js +1 -180
- package/dist/presentation/features/organisms/FeaturePresentationsList.js +1 -304
- package/dist/presentation/features/organisms/index.js +1 -1359
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/FeatureDataViewDetailTemplate.js +1 -332
- package/dist/presentation/features/templates/FeatureDataViewDetailTemplate/index.js +1 -332
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/FeatureDataViewsTemplate.js +1 -342
- package/dist/presentation/features/templates/FeatureDataViewsTemplate/index.js +1 -342
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/FeatureEventDetailTemplate.js +1 -303
- package/dist/presentation/features/templates/FeatureEventDetailTemplate/index.js +1 -303
- package/dist/presentation/features/templates/FeatureEventsTemplate/FeatureEventsTemplate.js +1 -340
- package/dist/presentation/features/templates/FeatureEventsTemplate/index.js +1 -340
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/FeatureFormDetailTemplate.js +1 -329
- package/dist/presentation/features/templates/FeatureFormDetailTemplate/index.js +1 -329
- package/dist/presentation/features/templates/FeatureFormsTemplate/FeatureFormsTemplate.js +1 -340
- package/dist/presentation/features/templates/FeatureFormsTemplate/index.js +1 -340
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/FeatureOperationDetailTemplate.js +1 -302
- package/dist/presentation/features/templates/FeatureOperationDetailTemplate/index.js +1 -302
- package/dist/presentation/features/templates/FeatureOperationsTemplate/FeatureOperationsTemplate.js +1 -218
- package/dist/presentation/features/templates/FeatureOperationsTemplate/index.js +1 -218
- package/dist/presentation/features/templates/FeatureOverviewTemplate/FeatureOverviewTemplate.js +1 -187
- package/dist/presentation/features/templates/FeatureOverviewTemplate/index.js +1 -187
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/FeaturePresentationDetailTemplate.js +1 -306
- package/dist/presentation/features/templates/FeaturePresentationDetailTemplate/index.js +1 -306
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/FeaturePresentationsTemplate.js +1 -342
- package/dist/presentation/features/templates/FeaturePresentationsTemplate/index.js +1 -342
- package/package.json +109 -37
- package/src/components/docs/DocsIndexPage.tsx +55 -0
- package/src/components/docs/architecture/ArchitectureControlPlanePage.tsx +19 -0
- package/src/components/docs/architecture/ArchitectureOverviewPage.tsx +34 -0
- package/src/components/docs/docsManifest.test.ts +70 -0
- package/src/components/docs/docsManifest.ts +71 -1
- package/src/components/docs/ecosystem/PluginsPage.tsx +24 -10
- package/src/components/docs/ecosystem/RegistryPage.tsx +11 -6
- package/src/components/docs/generated/docs-index._common.json +206 -273
- package/src/components/docs/generated/docs-index.control-plane.json +18 -0
- package/src/components/docs/generated/docs-index.defineExample.json +10 -0
- package/src/components/docs/generated/docs-index.manifest.json +22 -12
- package/src/components/docs/generated/docs-index.platform-acp.json +64 -0
- package/src/components/docs/generated/docs-index.platform-agent.json +89 -1
- package/src/components/docs/generated/docs-index.platform-context.json +48 -0
- package/src/components/docs/generated/docs-index.platform-control-plane.json +72 -0
- package/src/components/docs/generated/docs-index.platform-database.json +40 -0
- package/src/components/docs/generated/docs-index.platform-docs.json +64 -0
- package/src/components/docs/generated/docs-index.platform-provider-ranking.json +89 -1
- package/src/components/docs/generated/docs-index.pocket-family-office.json +8 -0
- package/src/components/docs/generated/docs-index.unknown.json +8 -0
- package/src/components/docs/guides/GuideConnectInRepoPage.tsx +184 -0
- package/src/components/docs/guides/GuideFirstModuleBundlePage.tsx +182 -0
- package/src/components/docs/guides/GuideHostBuilderWorkbenchPage.tsx +230 -0
- package/src/components/docs/guides/GuidesIndexPage.tsx +21 -0
- package/src/components/docs/guides/index.ts +3 -0
- package/src/components/docs/specs/SpecsBuilderControlPlanePage.tsx +210 -0
- package/src/components/docs/specs/SpecsConnectPage.tsx +162 -0
- package/src/components/docs/specs/SpecsModuleBundlesPage.tsx +223 -0
- package/src/components/docs/specs/SpecsOverlaysPage.tsx +20 -0
- package/src/components/docs/specs/SpecsOverviewPage.tsx +44 -0
- package/src/components/docs/specs/SpecsWorkflowsPage.tsx +9 -1
- package/src/components/docs/specs/index.ts +3 -0
- package/src/components/docs/studio/StudioOverviewPage.tsx +26 -0
- package/src/infrastructure/elysia/logger.ts +11 -3
|
@@ -1,149 +1,9 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
3
|
-
import Link from "@contractspec/lib.ui-link";
|
|
4
|
-
import { ChevronRight } from "lucide-react";
|
|
5
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
function KnowledgeCategoriesPage() {
|
|
7
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
8
|
-
className: "space-y-8",
|
|
9
|
-
children: [
|
|
10
|
-
/* @__PURE__ */ jsxs("div", {
|
|
11
|
-
className: "space-y-4",
|
|
12
|
-
children: [
|
|
13
|
-
/* @__PURE__ */ jsx("h1", {
|
|
14
|
-
className: "font-bold text-4xl",
|
|
15
|
-
children: "Knowledge Categories"
|
|
16
|
-
}),
|
|
17
|
-
/* @__PURE__ */ jsx("p", {
|
|
18
|
-
className: "text-muted-foreground",
|
|
19
|
-
children: "ContractSpec classifies knowledge into four categories based on trust level, source authority, and intended use. This classification determines how knowledge can be used in workflows, policy decisions, and agent responses."
|
|
20
|
-
})
|
|
21
|
-
]
|
|
22
|
-
}),
|
|
23
|
-
/* @__PURE__ */ jsxs("div", {
|
|
24
|
-
className: "space-y-4",
|
|
25
|
-
children: [
|
|
26
|
-
/* @__PURE__ */ jsx("h2", {
|
|
27
|
-
className: "font-bold text-2xl",
|
|
28
|
-
children: "The four categories"
|
|
29
|
-
}),
|
|
30
|
-
/* @__PURE__ */ jsx("div", {
|
|
31
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
32
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
33
|
-
children: `type KnowledgeCategory =
|
|
2
|
+
import g from"@contractspec/lib.ui-link";import{ChevronRight as w}from"lucide-react";import{jsx as e,jsxs as a}from"react/jsx-runtime";function y(){return a("div",{className:"space-y-8",children:[a("div",{className:"space-y-4",children:[e("h1",{className:"font-bold text-4xl",children:"Knowledge Categories"}),e("p",{className:"text-muted-foreground",children:"ContractSpec classifies knowledge into four categories based on trust level, source authority, and intended use. This classification determines how knowledge can be used in workflows, policy decisions, and agent responses."})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"The four categories"}),e("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:e("pre",{children:`type KnowledgeCategory =
|
|
34
3
|
| "canonical" // Internal ground truth
|
|
35
4
|
| "operational" // Internal operational docs
|
|
36
5
|
| "external" // Third-party reference
|
|
37
|
-
| "ephemeral"; // Temporary context`
|
|
38
|
-
})
|
|
39
|
-
})
|
|
40
|
-
]
|
|
41
|
-
}),
|
|
42
|
-
/* @__PURE__ */ jsxs("div", {
|
|
43
|
-
className: "space-y-6",
|
|
44
|
-
children: [
|
|
45
|
-
/* @__PURE__ */ jsxs("div", {
|
|
46
|
-
className: "space-y-4",
|
|
47
|
-
children: [
|
|
48
|
-
/* @__PURE__ */ jsx("h3", {
|
|
49
|
-
className: "font-semibold text-xl",
|
|
50
|
-
children: "1. Canonical"
|
|
51
|
-
}),
|
|
52
|
-
/* @__PURE__ */ jsxs("p", {
|
|
53
|
-
className: "text-muted-foreground",
|
|
54
|
-
children: [
|
|
55
|
-
/* @__PURE__ */ jsx("strong", {
|
|
56
|
-
children: "Trust level:"
|
|
57
|
-
}),
|
|
58
|
-
" Highest - Authoritative ground truth"
|
|
59
|
-
]
|
|
60
|
-
}),
|
|
61
|
-
/* @__PURE__ */ jsxs("div", {
|
|
62
|
-
className: "space-y-3",
|
|
63
|
-
children: [
|
|
64
|
-
/* @__PURE__ */ jsxs("div", {
|
|
65
|
-
children: [
|
|
66
|
-
/* @__PURE__ */ jsx("h4", {
|
|
67
|
-
className: "mb-2 font-semibold text-sm",
|
|
68
|
-
children: "What it contains:"
|
|
69
|
-
}),
|
|
70
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
71
|
-
className: "ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",
|
|
72
|
-
children: [
|
|
73
|
-
/* @__PURE__ */ jsx("li", {
|
|
74
|
-
children: "Official product specifications and schemas"
|
|
75
|
-
}),
|
|
76
|
-
/* @__PURE__ */ jsx("li", {
|
|
77
|
-
children: "Company policies and procedures"
|
|
78
|
-
}),
|
|
79
|
-
/* @__PURE__ */ jsx("li", {
|
|
80
|
-
children: "Legal terms and compliance requirements"
|
|
81
|
-
}),
|
|
82
|
-
/* @__PURE__ */ jsx("li", {
|
|
83
|
-
children: "Pricing rules and business logic"
|
|
84
|
-
}),
|
|
85
|
-
/* @__PURE__ */ jsx("li", {
|
|
86
|
-
children: "Data classification and security policies"
|
|
87
|
-
})
|
|
88
|
-
]
|
|
89
|
-
})
|
|
90
|
-
]
|
|
91
|
-
}),
|
|
92
|
-
/* @__PURE__ */ jsxs("div", {
|
|
93
|
-
children: [
|
|
94
|
-
/* @__PURE__ */ jsx("h4", {
|
|
95
|
-
className: "mb-2 font-semibold text-sm",
|
|
96
|
-
children: "How it's used:"
|
|
97
|
-
}),
|
|
98
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
99
|
-
className: "ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",
|
|
100
|
-
children: [
|
|
101
|
-
/* @__PURE__ */ jsxs("li", {
|
|
102
|
-
children: [
|
|
103
|
-
/* @__PURE__ */ jsx("strong", {
|
|
104
|
-
children: "Policy decisions"
|
|
105
|
-
}),
|
|
106
|
-
" - Can drive PDP decisions"
|
|
107
|
-
]
|
|
108
|
-
}),
|
|
109
|
-
/* @__PURE__ */ jsxs("li", {
|
|
110
|
-
children: [
|
|
111
|
-
/* @__PURE__ */ jsx("strong", {
|
|
112
|
-
children: "Validation"
|
|
113
|
-
}),
|
|
114
|
-
" - Used to validate user inputs and operations"
|
|
115
|
-
]
|
|
116
|
-
}),
|
|
117
|
-
/* @__PURE__ */ jsxs("li", {
|
|
118
|
-
children: [
|
|
119
|
-
/* @__PURE__ */ jsx("strong", {
|
|
120
|
-
children: "Code generation"
|
|
121
|
-
}),
|
|
122
|
-
" - Source of truth for generated code"
|
|
123
|
-
]
|
|
124
|
-
}),
|
|
125
|
-
/* @__PURE__ */ jsxs("li", {
|
|
126
|
-
children: [
|
|
127
|
-
/* @__PURE__ */ jsx("strong", {
|
|
128
|
-
children: "Compliance"
|
|
129
|
-
}),
|
|
130
|
-
" - Reference for audit and regulatory checks"
|
|
131
|
-
]
|
|
132
|
-
})
|
|
133
|
-
]
|
|
134
|
-
})
|
|
135
|
-
]
|
|
136
|
-
}),
|
|
137
|
-
/* @__PURE__ */ jsxs("div", {
|
|
138
|
-
children: [
|
|
139
|
-
/* @__PURE__ */ jsx("h4", {
|
|
140
|
-
className: "mb-2 font-semibold text-sm",
|
|
141
|
-
children: "Examples:"
|
|
142
|
-
}),
|
|
143
|
-
/* @__PURE__ */ jsx("div", {
|
|
144
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
145
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
146
|
-
children: `// Product Canon space
|
|
6
|
+
| "ephemeral"; // Temporary context`})})]}),a("div",{className:"space-y-6",children:[a("div",{className:"space-y-4",children:[e("h3",{className:"font-semibold text-xl",children:"1. Canonical"}),a("p",{className:"text-muted-foreground",children:[e("strong",{children:"Trust level:"})," Highest - Authoritative ground truth"]}),a("div",{className:"space-y-3",children:[a("div",{children:[e("h4",{className:"mb-2 font-semibold text-sm",children:"What it contains:"}),a("ul",{className:"ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",children:[e("li",{children:"Official product specifications and schemas"}),e("li",{children:"Company policies and procedures"}),e("li",{children:"Legal terms and compliance requirements"}),e("li",{children:"Pricing rules and business logic"}),e("li",{children:"Data classification and security policies"})]})]}),a("div",{children:[e("h4",{className:"mb-2 font-semibold text-sm",children:"How it's used:"}),a("ul",{className:"ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",children:[a("li",{children:[e("strong",{children:"Policy decisions"})," - Can drive PDP decisions"]}),a("li",{children:[e("strong",{children:"Validation"})," - Used to validate user inputs and operations"]}),a("li",{children:[e("strong",{children:"Code generation"})," - Source of truth for generated code"]}),a("li",{children:[e("strong",{children:"Compliance"})," - Reference for audit and regulatory checks"]})]})]}),a("div",{children:[e("h4",{className:"mb-2 font-semibold text-sm",children:"Examples:"}),e("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:e("pre",{children:`// Product Canon space
|
|
147
7
|
{
|
|
148
8
|
id: "product-canon",
|
|
149
9
|
category: "canonical",
|
|
@@ -163,129 +23,7 @@ function KnowledgeCategoriesPage() {
|
|
|
163
23
|
"access-policies.rego",
|
|
164
24
|
"compliance-requirements.md"
|
|
165
25
|
]
|
|
166
|
-
}`
|
|
167
|
-
})
|
|
168
|
-
})
|
|
169
|
-
]
|
|
170
|
-
}),
|
|
171
|
-
/* @__PURE__ */ jsx("div", {
|
|
172
|
-
className: "card-subtle border-violet-500/30 bg-violet-500/10 p-3",
|
|
173
|
-
children: /* @__PURE__ */ jsxs("p", {
|
|
174
|
-
className: "text-sm text-violet-300",
|
|
175
|
-
children: [
|
|
176
|
-
/* @__PURE__ */ jsx("strong", {
|
|
177
|
-
children: "\u26A0\uFE0F Important:"
|
|
178
|
-
}),
|
|
179
|
-
" Canonical knowledge is immutable once indexed. Changes require re-sync and versioning."
|
|
180
|
-
]
|
|
181
|
-
})
|
|
182
|
-
})
|
|
183
|
-
]
|
|
184
|
-
})
|
|
185
|
-
]
|
|
186
|
-
}),
|
|
187
|
-
/* @__PURE__ */ jsxs("div", {
|
|
188
|
-
className: "space-y-4",
|
|
189
|
-
children: [
|
|
190
|
-
/* @__PURE__ */ jsx("h3", {
|
|
191
|
-
className: "font-semibold text-xl",
|
|
192
|
-
children: "2. Operational"
|
|
193
|
-
}),
|
|
194
|
-
/* @__PURE__ */ jsxs("p", {
|
|
195
|
-
className: "text-muted-foreground",
|
|
196
|
-
children: [
|
|
197
|
-
/* @__PURE__ */ jsx("strong", {
|
|
198
|
-
children: "Trust level:"
|
|
199
|
-
}),
|
|
200
|
-
" High - Internal but not authoritative"
|
|
201
|
-
]
|
|
202
|
-
}),
|
|
203
|
-
/* @__PURE__ */ jsxs("div", {
|
|
204
|
-
className: "space-y-3",
|
|
205
|
-
children: [
|
|
206
|
-
/* @__PURE__ */ jsxs("div", {
|
|
207
|
-
children: [
|
|
208
|
-
/* @__PURE__ */ jsx("h4", {
|
|
209
|
-
className: "mb-2 font-semibold text-sm",
|
|
210
|
-
children: "What it contains:"
|
|
211
|
-
}),
|
|
212
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
213
|
-
className: "ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",
|
|
214
|
-
children: [
|
|
215
|
-
/* @__PURE__ */ jsx("li", {
|
|
216
|
-
children: "Support ticket history and resolutions"
|
|
217
|
-
}),
|
|
218
|
-
/* @__PURE__ */ jsx("li", {
|
|
219
|
-
children: "Internal runbooks and playbooks"
|
|
220
|
-
}),
|
|
221
|
-
/* @__PURE__ */ jsx("li", {
|
|
222
|
-
children: "Sales materials and customer communications"
|
|
223
|
-
}),
|
|
224
|
-
/* @__PURE__ */ jsx("li", {
|
|
225
|
-
children: "Product management docs and roadmaps"
|
|
226
|
-
}),
|
|
227
|
-
/* @__PURE__ */ jsx("li", {
|
|
228
|
-
children: "Team wikis and knowledge bases"
|
|
229
|
-
})
|
|
230
|
-
]
|
|
231
|
-
})
|
|
232
|
-
]
|
|
233
|
-
}),
|
|
234
|
-
/* @__PURE__ */ jsxs("div", {
|
|
235
|
-
children: [
|
|
236
|
-
/* @__PURE__ */ jsx("h4", {
|
|
237
|
-
className: "mb-2 font-semibold text-sm",
|
|
238
|
-
children: "How it's used:"
|
|
239
|
-
}),
|
|
240
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
241
|
-
className: "ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",
|
|
242
|
-
children: [
|
|
243
|
-
/* @__PURE__ */ jsxs("li", {
|
|
244
|
-
children: [
|
|
245
|
-
/* @__PURE__ */ jsx("strong", {
|
|
246
|
-
children: "Context"
|
|
247
|
-
}),
|
|
248
|
-
" - Provides helpful context for decisions"
|
|
249
|
-
]
|
|
250
|
-
}),
|
|
251
|
-
/* @__PURE__ */ jsxs("li", {
|
|
252
|
-
children: [
|
|
253
|
-
/* @__PURE__ */ jsx("strong", {
|
|
254
|
-
children: "Suggestions"
|
|
255
|
-
}),
|
|
256
|
-
" - Informs recommendations, not requirements"
|
|
257
|
-
]
|
|
258
|
-
}),
|
|
259
|
-
/* @__PURE__ */ jsxs("li", {
|
|
260
|
-
children: [
|
|
261
|
-
/* @__PURE__ */ jsx("strong", {
|
|
262
|
-
children: "Learning"
|
|
263
|
-
}),
|
|
264
|
-
" - Helps agents learn from past interactions"
|
|
265
|
-
]
|
|
266
|
-
}),
|
|
267
|
-
/* @__PURE__ */ jsxs("li", {
|
|
268
|
-
children: [
|
|
269
|
-
/* @__PURE__ */ jsx("strong", {
|
|
270
|
-
children: "Troubleshooting"
|
|
271
|
-
}),
|
|
272
|
-
" - Guides problem-solving workflows"
|
|
273
|
-
]
|
|
274
|
-
})
|
|
275
|
-
]
|
|
276
|
-
})
|
|
277
|
-
]
|
|
278
|
-
}),
|
|
279
|
-
/* @__PURE__ */ jsxs("div", {
|
|
280
|
-
children: [
|
|
281
|
-
/* @__PURE__ */ jsx("h4", {
|
|
282
|
-
className: "mb-2 font-semibold text-sm",
|
|
283
|
-
children: "Examples:"
|
|
284
|
-
}),
|
|
285
|
-
/* @__PURE__ */ jsx("div", {
|
|
286
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
287
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
288
|
-
children: `// Support History space
|
|
26
|
+
}`})})]}),e("div",{className:"card-subtle border-violet-500/30 bg-violet-500/10 p-3",children:a("p",{className:"text-sm text-violet-300",children:[e("strong",{children:"\u26A0\uFE0F Important:"})," Canonical knowledge is immutable once indexed. Changes require re-sync and versioning."]})})]})]}),a("div",{className:"space-y-4",children:[e("h3",{className:"font-semibold text-xl",children:"2. Operational"}),a("p",{className:"text-muted-foreground",children:[e("strong",{children:"Trust level:"})," High - Internal but not authoritative"]}),a("div",{className:"space-y-3",children:[a("div",{children:[e("h4",{className:"mb-2 font-semibold text-sm",children:"What it contains:"}),a("ul",{className:"ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",children:[e("li",{children:"Support ticket history and resolutions"}),e("li",{children:"Internal runbooks and playbooks"}),e("li",{children:"Sales materials and customer communications"}),e("li",{children:"Product management docs and roadmaps"}),e("li",{children:"Team wikis and knowledge bases"})]})]}),a("div",{children:[e("h4",{className:"mb-2 font-semibold text-sm",children:"How it's used:"}),a("ul",{className:"ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",children:[a("li",{children:[e("strong",{children:"Context"})," - Provides helpful context for decisions"]}),a("li",{children:[e("strong",{children:"Suggestions"})," - Informs recommendations, not requirements"]}),a("li",{children:[e("strong",{children:"Learning"})," - Helps agents learn from past interactions"]}),a("li",{children:[e("strong",{children:"Troubleshooting"})," - Guides problem-solving workflows"]})]})]}),a("div",{children:[e("h4",{className:"mb-2 font-semibold text-sm",children:"Examples:"}),e("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:e("pre",{children:`// Support History space
|
|
289
27
|
{
|
|
290
28
|
id: "support-history",
|
|
291
29
|
category: "operational",
|
|
@@ -305,117 +43,7 @@ function KnowledgeCategoriesPage() {
|
|
|
305
43
|
"confluence:product-docs",
|
|
306
44
|
"google-drive:runbooks"
|
|
307
45
|
]
|
|
308
|
-
}`
|
|
309
|
-
})
|
|
310
|
-
})
|
|
311
|
-
]
|
|
312
|
-
})
|
|
313
|
-
]
|
|
314
|
-
})
|
|
315
|
-
]
|
|
316
|
-
}),
|
|
317
|
-
/* @__PURE__ */ jsxs("div", {
|
|
318
|
-
className: "space-y-4",
|
|
319
|
-
children: [
|
|
320
|
-
/* @__PURE__ */ jsx("h3", {
|
|
321
|
-
className: "font-semibold text-xl",
|
|
322
|
-
children: "3. External"
|
|
323
|
-
}),
|
|
324
|
-
/* @__PURE__ */ jsxs("p", {
|
|
325
|
-
className: "text-muted-foreground",
|
|
326
|
-
children: [
|
|
327
|
-
/* @__PURE__ */ jsx("strong", {
|
|
328
|
-
children: "Trust level:"
|
|
329
|
-
}),
|
|
330
|
-
" Medium - Reference only"
|
|
331
|
-
]
|
|
332
|
-
}),
|
|
333
|
-
/* @__PURE__ */ jsxs("div", {
|
|
334
|
-
className: "space-y-3",
|
|
335
|
-
children: [
|
|
336
|
-
/* @__PURE__ */ jsxs("div", {
|
|
337
|
-
children: [
|
|
338
|
-
/* @__PURE__ */ jsx("h4", {
|
|
339
|
-
className: "mb-2 font-semibold text-sm",
|
|
340
|
-
children: "What it contains:"
|
|
341
|
-
}),
|
|
342
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
343
|
-
className: "ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",
|
|
344
|
-
children: [
|
|
345
|
-
/* @__PURE__ */ jsx("li", {
|
|
346
|
-
children: "Third-party integration documentation (Stripe, Twilio)"
|
|
347
|
-
}),
|
|
348
|
-
/* @__PURE__ */ jsx("li", {
|
|
349
|
-
children: "Regulatory and compliance documents"
|
|
350
|
-
}),
|
|
351
|
-
/* @__PURE__ */ jsx("li", {
|
|
352
|
-
children: "Industry standards and best practices"
|
|
353
|
-
}),
|
|
354
|
-
/* @__PURE__ */ jsx("li", {
|
|
355
|
-
children: "Public API documentation"
|
|
356
|
-
}),
|
|
357
|
-
/* @__PURE__ */ jsx("li", {
|
|
358
|
-
children: "External knowledge bases"
|
|
359
|
-
})
|
|
360
|
-
]
|
|
361
|
-
})
|
|
362
|
-
]
|
|
363
|
-
}),
|
|
364
|
-
/* @__PURE__ */ jsxs("div", {
|
|
365
|
-
children: [
|
|
366
|
-
/* @__PURE__ */ jsx("h4", {
|
|
367
|
-
className: "mb-2 font-semibold text-sm",
|
|
368
|
-
children: "How it's used:"
|
|
369
|
-
}),
|
|
370
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
371
|
-
className: "ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",
|
|
372
|
-
children: [
|
|
373
|
-
/* @__PURE__ */ jsxs("li", {
|
|
374
|
-
children: [
|
|
375
|
-
/* @__PURE__ */ jsx("strong", {
|
|
376
|
-
children: "Reference"
|
|
377
|
-
}),
|
|
378
|
-
" - Consulted but not authoritative"
|
|
379
|
-
]
|
|
380
|
-
}),
|
|
381
|
-
/* @__PURE__ */ jsxs("li", {
|
|
382
|
-
children: [
|
|
383
|
-
/* @__PURE__ */ jsx("strong", {
|
|
384
|
-
children: "Integration help"
|
|
385
|
-
}),
|
|
386
|
-
" - Guides external API usage"
|
|
387
|
-
]
|
|
388
|
-
}),
|
|
389
|
-
/* @__PURE__ */ jsxs("li", {
|
|
390
|
-
children: [
|
|
391
|
-
/* @__PURE__ */ jsx("strong", {
|
|
392
|
-
children: "Compliance context"
|
|
393
|
-
}),
|
|
394
|
-
" - Provides regulatory background"
|
|
395
|
-
]
|
|
396
|
-
}),
|
|
397
|
-
/* @__PURE__ */ jsxs("li", {
|
|
398
|
-
children: [
|
|
399
|
-
/* @__PURE__ */ jsx("strong", {
|
|
400
|
-
children: "Never for policy"
|
|
401
|
-
}),
|
|
402
|
-
" - Cannot drive policy decisions"
|
|
403
|
-
]
|
|
404
|
-
})
|
|
405
|
-
]
|
|
406
|
-
})
|
|
407
|
-
]
|
|
408
|
-
}),
|
|
409
|
-
/* @__PURE__ */ jsxs("div", {
|
|
410
|
-
children: [
|
|
411
|
-
/* @__PURE__ */ jsx("h4", {
|
|
412
|
-
className: "mb-2 font-semibold text-sm",
|
|
413
|
-
children: "Examples:"
|
|
414
|
-
}),
|
|
415
|
-
/* @__PURE__ */ jsx("div", {
|
|
416
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
417
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
418
|
-
children: `// External Provider Docs space
|
|
46
|
+
}`})})]})]})]}),a("div",{className:"space-y-4",children:[e("h3",{className:"font-semibold text-xl",children:"3. External"}),a("p",{className:"text-muted-foreground",children:[e("strong",{children:"Trust level:"})," Medium - Reference only"]}),a("div",{className:"space-y-3",children:[a("div",{children:[e("h4",{className:"mb-2 font-semibold text-sm",children:"What it contains:"}),a("ul",{className:"ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",children:[e("li",{children:"Third-party integration documentation (Stripe, Twilio)"}),e("li",{children:"Regulatory and compliance documents"}),e("li",{children:"Industry standards and best practices"}),e("li",{children:"Public API documentation"}),e("li",{children:"External knowledge bases"})]})]}),a("div",{children:[e("h4",{className:"mb-2 font-semibold text-sm",children:"How it's used:"}),a("ul",{className:"ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",children:[a("li",{children:[e("strong",{children:"Reference"})," - Consulted but not authoritative"]}),a("li",{children:[e("strong",{children:"Integration help"})," - Guides external API usage"]}),a("li",{children:[e("strong",{children:"Compliance context"})," - Provides regulatory background"]}),a("li",{children:[e("strong",{children:"Never for policy"})," - Cannot drive policy decisions"]})]})]}),a("div",{children:[e("h4",{className:"mb-2 font-semibold text-sm",children:"Examples:"}),e("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:e("pre",{children:`// External Provider Docs space
|
|
419
47
|
{
|
|
420
48
|
id: "provider-docs",
|
|
421
49
|
category: "external",
|
|
@@ -435,129 +63,7 @@ function KnowledgeCategoriesPage() {
|
|
|
435
63
|
"url:https://www.hhs.gov/hipaa",
|
|
436
64
|
"pdf:SOC2-requirements.pdf"
|
|
437
65
|
]
|
|
438
|
-
}`
|
|
439
|
-
})
|
|
440
|
-
})
|
|
441
|
-
]
|
|
442
|
-
}),
|
|
443
|
-
/* @__PURE__ */ jsx("div", {
|
|
444
|
-
className: "card-subtle border-amber-500/30 bg-amber-500/10 p-3",
|
|
445
|
-
children: /* @__PURE__ */ jsxs("p", {
|
|
446
|
-
className: "text-amber-300 text-sm",
|
|
447
|
-
children: [
|
|
448
|
-
/* @__PURE__ */ jsx("strong", {
|
|
449
|
-
children: "\u26A0\uFE0F Note:"
|
|
450
|
-
}),
|
|
451
|
-
` External knowledge should be clearly marked in agent responses as "according to [source]" to indicate it's not internal authority.`
|
|
452
|
-
]
|
|
453
|
-
})
|
|
454
|
-
})
|
|
455
|
-
]
|
|
456
|
-
})
|
|
457
|
-
]
|
|
458
|
-
}),
|
|
459
|
-
/* @__PURE__ */ jsxs("div", {
|
|
460
|
-
className: "space-y-4",
|
|
461
|
-
children: [
|
|
462
|
-
/* @__PURE__ */ jsx("h3", {
|
|
463
|
-
className: "font-semibold text-xl",
|
|
464
|
-
children: "4. Ephemeral"
|
|
465
|
-
}),
|
|
466
|
-
/* @__PURE__ */ jsxs("p", {
|
|
467
|
-
className: "text-muted-foreground",
|
|
468
|
-
children: [
|
|
469
|
-
/* @__PURE__ */ jsx("strong", {
|
|
470
|
-
children: "Trust level:"
|
|
471
|
-
}),
|
|
472
|
-
" Low - Temporary context only"
|
|
473
|
-
]
|
|
474
|
-
}),
|
|
475
|
-
/* @__PURE__ */ jsxs("div", {
|
|
476
|
-
className: "space-y-3",
|
|
477
|
-
children: [
|
|
478
|
-
/* @__PURE__ */ jsxs("div", {
|
|
479
|
-
children: [
|
|
480
|
-
/* @__PURE__ */ jsx("h4", {
|
|
481
|
-
className: "mb-2 font-semibold text-sm",
|
|
482
|
-
children: "What it contains:"
|
|
483
|
-
}),
|
|
484
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
485
|
-
className: "ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",
|
|
486
|
-
children: [
|
|
487
|
-
/* @__PURE__ */ jsx("li", {
|
|
488
|
-
children: "Agent conversation history and scratchpads"
|
|
489
|
-
}),
|
|
490
|
-
/* @__PURE__ */ jsx("li", {
|
|
491
|
-
children: "Session-specific context and state"
|
|
492
|
-
}),
|
|
493
|
-
/* @__PURE__ */ jsx("li", {
|
|
494
|
-
children: "Draft documents and work-in-progress"
|
|
495
|
-
}),
|
|
496
|
-
/* @__PURE__ */ jsx("li", {
|
|
497
|
-
children: "Temporary calculations and intermediate results"
|
|
498
|
-
}),
|
|
499
|
-
/* @__PURE__ */ jsx("li", {
|
|
500
|
-
children: "User-provided context for current task"
|
|
501
|
-
})
|
|
502
|
-
]
|
|
503
|
-
})
|
|
504
|
-
]
|
|
505
|
-
}),
|
|
506
|
-
/* @__PURE__ */ jsxs("div", {
|
|
507
|
-
children: [
|
|
508
|
-
/* @__PURE__ */ jsx("h4", {
|
|
509
|
-
className: "mb-2 font-semibold text-sm",
|
|
510
|
-
children: "How it's used:"
|
|
511
|
-
}),
|
|
512
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
513
|
-
className: "ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",
|
|
514
|
-
children: [
|
|
515
|
-
/* @__PURE__ */ jsxs("li", {
|
|
516
|
-
children: [
|
|
517
|
-
/* @__PURE__ */ jsx("strong", {
|
|
518
|
-
children: "Session continuity"
|
|
519
|
-
}),
|
|
520
|
-
" - Maintains conversation context"
|
|
521
|
-
]
|
|
522
|
-
}),
|
|
523
|
-
/* @__PURE__ */ jsxs("li", {
|
|
524
|
-
children: [
|
|
525
|
-
/* @__PURE__ */ jsx("strong", {
|
|
526
|
-
children: "Working memory"
|
|
527
|
-
}),
|
|
528
|
-
" - Stores intermediate results"
|
|
529
|
-
]
|
|
530
|
-
}),
|
|
531
|
-
/* @__PURE__ */ jsxs("li", {
|
|
532
|
-
children: [
|
|
533
|
-
/* @__PURE__ */ jsx("strong", {
|
|
534
|
-
children: "Never persisted long-term"
|
|
535
|
-
}),
|
|
536
|
-
" - Auto-purged after session"
|
|
537
|
-
]
|
|
538
|
-
}),
|
|
539
|
-
/* @__PURE__ */ jsxs("li", {
|
|
540
|
-
children: [
|
|
541
|
-
/* @__PURE__ */ jsx("strong", {
|
|
542
|
-
children: "Never for decisions"
|
|
543
|
-
}),
|
|
544
|
-
" - Cannot influence policy or validation"
|
|
545
|
-
]
|
|
546
|
-
})
|
|
547
|
-
]
|
|
548
|
-
})
|
|
549
|
-
]
|
|
550
|
-
}),
|
|
551
|
-
/* @__PURE__ */ jsxs("div", {
|
|
552
|
-
children: [
|
|
553
|
-
/* @__PURE__ */ jsx("h4", {
|
|
554
|
-
className: "mb-2 font-semibold text-sm",
|
|
555
|
-
children: "Examples:"
|
|
556
|
-
}),
|
|
557
|
-
/* @__PURE__ */ jsx("div", {
|
|
558
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
559
|
-
children: /* @__PURE__ */ jsx("pre", {
|
|
560
|
-
children: `// Agent Scratchpad space
|
|
66
|
+
}`})})]}),e("div",{className:"card-subtle border-amber-500/30 bg-amber-500/10 p-3",children:a("p",{className:"text-amber-300 text-sm",children:[e("strong",{children:"\u26A0\uFE0F Note:"}),` External knowledge should be clearly marked in agent responses as "according to [source]" to indicate it's not internal authority.`]})})]})]}),a("div",{className:"space-y-4",children:[e("h3",{className:"font-semibold text-xl",children:"4. Ephemeral"}),a("p",{className:"text-muted-foreground",children:[e("strong",{children:"Trust level:"})," Low - Temporary context only"]}),a("div",{className:"space-y-3",children:[a("div",{children:[e("h4",{className:"mb-2 font-semibold text-sm",children:"What it contains:"}),a("ul",{className:"ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",children:[e("li",{children:"Agent conversation history and scratchpads"}),e("li",{children:"Session-specific context and state"}),e("li",{children:"Draft documents and work-in-progress"}),e("li",{children:"Temporary calculations and intermediate results"}),e("li",{children:"User-provided context for current task"})]})]}),a("div",{children:[e("h4",{className:"mb-2 font-semibold text-sm",children:"How it's used:"}),a("ul",{className:"ml-4 list-inside list-disc space-y-1 text-muted-foreground text-sm",children:[a("li",{children:[e("strong",{children:"Session continuity"})," - Maintains conversation context"]}),a("li",{children:[e("strong",{children:"Working memory"})," - Stores intermediate results"]}),a("li",{children:[e("strong",{children:"Never persisted long-term"})," - Auto-purged after session"]}),a("li",{children:[e("strong",{children:"Never for decisions"})," - Cannot influence policy or validation"]})]})]}),a("div",{children:[e("h4",{className:"mb-2 font-semibold text-sm",children:"Examples:"}),e("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:e("pre",{children:`// Agent Scratchpad space
|
|
561
67
|
{
|
|
562
68
|
id: "agent-scratchpad",
|
|
563
69
|
category: "ephemeral",
|
|
@@ -577,298 +83,7 @@ function KnowledgeCategoriesPage() {
|
|
|
577
83
|
"session:user-uploads",
|
|
578
84
|
"session:form-drafts"
|
|
579
85
|
]
|
|
580
|
-
}`
|
|
581
|
-
})
|
|
582
|
-
})
|
|
583
|
-
]
|
|
584
|
-
}),
|
|
585
|
-
/* @__PURE__ */ jsx("div", {
|
|
586
|
-
className: "card-subtle border-red-500/30 bg-red-500/10 p-3",
|
|
587
|
-
children: /* @__PURE__ */ jsxs("p", {
|
|
588
|
-
className: "text-red-300 text-sm",
|
|
589
|
-
children: [
|
|
590
|
-
/* @__PURE__ */ jsx("strong", {
|
|
591
|
-
children: "\u26A0\uFE0F Critical:"
|
|
592
|
-
}),
|
|
593
|
-
" Ephemeral knowledge is never used for policy decisions, compliance checks, or any authoritative purpose."
|
|
594
|
-
]
|
|
595
|
-
})
|
|
596
|
-
})
|
|
597
|
-
]
|
|
598
|
-
})
|
|
599
|
-
]
|
|
600
|
-
})
|
|
601
|
-
]
|
|
602
|
-
}),
|
|
603
|
-
/* @__PURE__ */ jsxs("div", {
|
|
604
|
-
className: "space-y-4",
|
|
605
|
-
children: [
|
|
606
|
-
/* @__PURE__ */ jsx("h2", {
|
|
607
|
-
className: "font-bold text-2xl",
|
|
608
|
-
children: "Category comparison"
|
|
609
|
-
}),
|
|
610
|
-
/* @__PURE__ */ jsx("div", {
|
|
611
|
-
className: "overflow-x-auto rounded-lg border border-border/50",
|
|
612
|
-
children: /* @__PURE__ */ jsxs("table", {
|
|
613
|
-
className: "w-full text-left text-sm",
|
|
614
|
-
children: [
|
|
615
|
-
/* @__PURE__ */ jsx("thead", {
|
|
616
|
-
className: "bg-card/50",
|
|
617
|
-
children: /* @__PURE__ */ jsxs("tr", {
|
|
618
|
-
className: "border-border/50 border-b",
|
|
619
|
-
children: [
|
|
620
|
-
/* @__PURE__ */ jsx("th", {
|
|
621
|
-
className: "px-4 py-3 font-semibold",
|
|
622
|
-
children: "Feature"
|
|
623
|
-
}),
|
|
624
|
-
/* @__PURE__ */ jsx("th", {
|
|
625
|
-
className: "px-4 py-3 font-semibold",
|
|
626
|
-
children: "Canonical"
|
|
627
|
-
}),
|
|
628
|
-
/* @__PURE__ */ jsx("th", {
|
|
629
|
-
className: "px-4 py-3 font-semibold",
|
|
630
|
-
children: "Operational"
|
|
631
|
-
}),
|
|
632
|
-
/* @__PURE__ */ jsx("th", {
|
|
633
|
-
className: "px-4 py-3 font-semibold",
|
|
634
|
-
children: "External"
|
|
635
|
-
}),
|
|
636
|
-
/* @__PURE__ */ jsx("th", {
|
|
637
|
-
className: "px-4 py-3 font-semibold",
|
|
638
|
-
children: "Ephemeral"
|
|
639
|
-
})
|
|
640
|
-
]
|
|
641
|
-
})
|
|
642
|
-
}),
|
|
643
|
-
/* @__PURE__ */ jsxs("tbody", {
|
|
644
|
-
className: "divide-y divide-border/50",
|
|
645
|
-
children: [
|
|
646
|
-
/* @__PURE__ */ jsxs("tr", {
|
|
647
|
-
children: [
|
|
648
|
-
/* @__PURE__ */ jsx("td", {
|
|
649
|
-
className: "px-4 py-3 font-semibold",
|
|
650
|
-
children: "Trust Level"
|
|
651
|
-
}),
|
|
652
|
-
/* @__PURE__ */ jsx("td", {
|
|
653
|
-
className: "px-4 py-3",
|
|
654
|
-
children: "Highest"
|
|
655
|
-
}),
|
|
656
|
-
/* @__PURE__ */ jsx("td", {
|
|
657
|
-
className: "px-4 py-3",
|
|
658
|
-
children: "High"
|
|
659
|
-
}),
|
|
660
|
-
/* @__PURE__ */ jsx("td", {
|
|
661
|
-
className: "px-4 py-3",
|
|
662
|
-
children: "Medium"
|
|
663
|
-
}),
|
|
664
|
-
/* @__PURE__ */ jsx("td", {
|
|
665
|
-
className: "px-4 py-3",
|
|
666
|
-
children: "Low"
|
|
667
|
-
})
|
|
668
|
-
]
|
|
669
|
-
}),
|
|
670
|
-
/* @__PURE__ */ jsxs("tr", {
|
|
671
|
-
children: [
|
|
672
|
-
/* @__PURE__ */ jsx("td", {
|
|
673
|
-
className: "px-4 py-3 font-semibold",
|
|
674
|
-
children: "Policy Impact"
|
|
675
|
-
}),
|
|
676
|
-
/* @__PURE__ */ jsx("td", {
|
|
677
|
-
className: "px-4 py-3",
|
|
678
|
-
children: "\u2705 Can drive decisions"
|
|
679
|
-
}),
|
|
680
|
-
/* @__PURE__ */ jsx("td", {
|
|
681
|
-
className: "px-4 py-3",
|
|
682
|
-
children: "\u26A0\uFE0F Can inform"
|
|
683
|
-
}),
|
|
684
|
-
/* @__PURE__ */ jsx("td", {
|
|
685
|
-
className: "px-4 py-3",
|
|
686
|
-
children: "\u274C Reference only"
|
|
687
|
-
}),
|
|
688
|
-
/* @__PURE__ */ jsx("td", {
|
|
689
|
-
className: "px-4 py-3",
|
|
690
|
-
children: "\u274C Never used"
|
|
691
|
-
})
|
|
692
|
-
]
|
|
693
|
-
}),
|
|
694
|
-
/* @__PURE__ */ jsxs("tr", {
|
|
695
|
-
children: [
|
|
696
|
-
/* @__PURE__ */ jsx("td", {
|
|
697
|
-
className: "px-4 py-3 font-semibold",
|
|
698
|
-
children: "Mutability"
|
|
699
|
-
}),
|
|
700
|
-
/* @__PURE__ */ jsx("td", {
|
|
701
|
-
className: "px-4 py-3",
|
|
702
|
-
children: "Immutable"
|
|
703
|
-
}),
|
|
704
|
-
/* @__PURE__ */ jsx("td", {
|
|
705
|
-
className: "px-4 py-3",
|
|
706
|
-
children: "Mutable"
|
|
707
|
-
}),
|
|
708
|
-
/* @__PURE__ */ jsx("td", {
|
|
709
|
-
className: "px-4 py-3",
|
|
710
|
-
children: "Mutable"
|
|
711
|
-
}),
|
|
712
|
-
/* @__PURE__ */ jsx("td", {
|
|
713
|
-
className: "px-4 py-3",
|
|
714
|
-
children: "Temporary"
|
|
715
|
-
})
|
|
716
|
-
]
|
|
717
|
-
}),
|
|
718
|
-
/* @__PURE__ */ jsxs("tr", {
|
|
719
|
-
children: [
|
|
720
|
-
/* @__PURE__ */ jsx("td", {
|
|
721
|
-
className: "px-4 py-3 font-semibold",
|
|
722
|
-
children: "Retention"
|
|
723
|
-
}),
|
|
724
|
-
/* @__PURE__ */ jsx("td", {
|
|
725
|
-
className: "px-4 py-3",
|
|
726
|
-
children: "Permanent"
|
|
727
|
-
}),
|
|
728
|
-
/* @__PURE__ */ jsx("td", {
|
|
729
|
-
className: "px-4 py-3",
|
|
730
|
-
children: "Long-term"
|
|
731
|
-
}),
|
|
732
|
-
/* @__PURE__ */ jsx("td", {
|
|
733
|
-
className: "px-4 py-3",
|
|
734
|
-
children: "Long-term"
|
|
735
|
-
}),
|
|
736
|
-
/* @__PURE__ */ jsx("td", {
|
|
737
|
-
className: "px-4 py-3",
|
|
738
|
-
children: "Short-term"
|
|
739
|
-
})
|
|
740
|
-
]
|
|
741
|
-
}),
|
|
742
|
-
/* @__PURE__ */ jsxs("tr", {
|
|
743
|
-
children: [
|
|
744
|
-
/* @__PURE__ */ jsx("td", {
|
|
745
|
-
className: "px-4 py-3 font-semibold",
|
|
746
|
-
children: "Audit Level"
|
|
747
|
-
}),
|
|
748
|
-
/* @__PURE__ */ jsx("td", {
|
|
749
|
-
className: "px-4 py-3",
|
|
750
|
-
children: "Full audit"
|
|
751
|
-
}),
|
|
752
|
-
/* @__PURE__ */ jsx("td", {
|
|
753
|
-
className: "px-4 py-3",
|
|
754
|
-
children: "Full audit"
|
|
755
|
-
}),
|
|
756
|
-
/* @__PURE__ */ jsx("td", {
|
|
757
|
-
className: "px-4 py-3",
|
|
758
|
-
children: "Basic audit"
|
|
759
|
-
}),
|
|
760
|
-
/* @__PURE__ */ jsx("td", {
|
|
761
|
-
className: "px-4 py-3",
|
|
762
|
-
children: "Minimal audit"
|
|
763
|
-
})
|
|
764
|
-
]
|
|
765
|
-
})
|
|
766
|
-
]
|
|
767
|
-
})
|
|
768
|
-
]
|
|
769
|
-
})
|
|
770
|
-
})
|
|
771
|
-
]
|
|
772
|
-
}),
|
|
773
|
-
/* @__PURE__ */ jsxs("div", {
|
|
774
|
-
className: "space-y-4",
|
|
775
|
-
children: [
|
|
776
|
-
/* @__PURE__ */ jsx("h2", {
|
|
777
|
-
className: "font-bold text-2xl",
|
|
778
|
-
children: "Best practices"
|
|
779
|
-
}),
|
|
780
|
-
/* @__PURE__ */ jsxs("ul", {
|
|
781
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
782
|
-
children: [
|
|
783
|
-
/* @__PURE__ */ jsx("li", {
|
|
784
|
-
children: "Use canonical for anything that affects policy, pricing, or compliance"
|
|
785
|
-
}),
|
|
786
|
-
/* @__PURE__ */ jsx("li", {
|
|
787
|
-
children: "Use operational for context that helps but doesn't dictate decisions"
|
|
788
|
-
}),
|
|
789
|
-
/* @__PURE__ */ jsx("li", {
|
|
790
|
-
children: "Use external for reference material that's helpful but not authoritative"
|
|
791
|
-
}),
|
|
792
|
-
/* @__PURE__ */ jsx("li", {
|
|
793
|
-
children: "Use ephemeral for temporary working memory that shouldn't persist"
|
|
794
|
-
}),
|
|
795
|
-
/* @__PURE__ */ jsx("li", {
|
|
796
|
-
children: "Never mix categories in a single knowledge space - keep them separate"
|
|
797
|
-
}),
|
|
798
|
-
/* @__PURE__ */ jsx("li", {
|
|
799
|
-
children: "Document the category and purpose of each knowledge space clearly"
|
|
800
|
-
})
|
|
801
|
-
]
|
|
802
|
-
})
|
|
803
|
-
]
|
|
804
|
-
}),
|
|
805
|
-
/* @__PURE__ */ jsxs("div", {
|
|
806
|
-
className: "flex items-center gap-4 pt-4",
|
|
807
|
-
children: [
|
|
808
|
-
/* @__PURE__ */ jsx(Link, {
|
|
809
|
-
href: "/docs/knowledge",
|
|
810
|
-
className: "btn-ghost",
|
|
811
|
-
children: "Back to Knowledge"
|
|
812
|
-
}),
|
|
813
|
-
/* @__PURE__ */ jsxs(Link, {
|
|
814
|
-
href: "/docs/knowledge/spaces",
|
|
815
|
-
className: "btn-primary",
|
|
816
|
-
children: [
|
|
817
|
-
"Knowledge Spaces ",
|
|
818
|
-
/* @__PURE__ */ jsx(ChevronRight, {
|
|
819
|
-
size: 16
|
|
820
|
-
})
|
|
821
|
-
]
|
|
822
|
-
})
|
|
823
|
-
]
|
|
824
|
-
})
|
|
825
|
-
]
|
|
826
|
-
});
|
|
827
|
-
}
|
|
828
|
-
|
|
829
|
-
// src/components/docs/knowledge/KnowledgeExamplesPage.tsx
|
|
830
|
-
import Link2 from "@contractspec/lib.ui-link";
|
|
831
|
-
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
832
|
-
function KnowledgeExamplesPage() {
|
|
833
|
-
return /* @__PURE__ */ jsxs2("div", {
|
|
834
|
-
className: "space-y-8",
|
|
835
|
-
children: [
|
|
836
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
837
|
-
className: "space-y-4",
|
|
838
|
-
children: [
|
|
839
|
-
/* @__PURE__ */ jsx2("h1", {
|
|
840
|
-
className: "font-bold text-4xl",
|
|
841
|
-
children: "Knowledge Examples"
|
|
842
|
-
}),
|
|
843
|
-
/* @__PURE__ */ jsx2("p", {
|
|
844
|
-
className: "text-muted-foreground",
|
|
845
|
-
children: "Real-world examples of how different applications use knowledge spaces to power intelligent workflows and agents."
|
|
846
|
-
})
|
|
847
|
-
]
|
|
848
|
-
}),
|
|
849
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
850
|
-
className: "space-y-6",
|
|
851
|
-
children: [
|
|
852
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
853
|
-
className: "space-y-4",
|
|
854
|
-
children: [
|
|
855
|
-
/* @__PURE__ */ jsx2("h2", {
|
|
856
|
-
className: "font-bold text-2xl",
|
|
857
|
-
children: "Example 1: ArtisanOS Support Agent"
|
|
858
|
-
}),
|
|
859
|
-
/* @__PURE__ */ jsxs2("p", {
|
|
860
|
-
className: "text-muted-foreground",
|
|
861
|
-
children: [
|
|
862
|
-
/* @__PURE__ */ jsx2("strong", {
|
|
863
|
-
children: "Context:"
|
|
864
|
-
}),
|
|
865
|
-
" ArtisanOS needs a support agent that can answer product questions using official documentation and learn from past support tickets."
|
|
866
|
-
]
|
|
867
|
-
}),
|
|
868
|
-
/* @__PURE__ */ jsx2("div", {
|
|
869
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
870
|
-
children: /* @__PURE__ */ jsx2("pre", {
|
|
871
|
-
children: `// Knowledge spaces
|
|
86
|
+
}`})})]}),e("div",{className:"card-subtle border-red-500/30 bg-red-500/10 p-3",children:a("p",{className:"text-red-300 text-sm",children:[e("strong",{children:"\u26A0\uFE0F Critical:"})," Ephemeral knowledge is never used for policy decisions, compliance checks, or any authoritative purpose."]})})]})]})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Category comparison"}),e("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:a("table",{className:"w-full text-left text-sm",children:[e("thead",{className:"bg-card/50",children:a("tr",{className:"border-border/50 border-b",children:[e("th",{className:"px-4 py-3 font-semibold",children:"Feature"}),e("th",{className:"px-4 py-3 font-semibold",children:"Canonical"}),e("th",{className:"px-4 py-3 font-semibold",children:"Operational"}),e("th",{className:"px-4 py-3 font-semibold",children:"External"}),e("th",{className:"px-4 py-3 font-semibold",children:"Ephemeral"})]})}),a("tbody",{className:"divide-y divide-border/50",children:[a("tr",{children:[e("td",{className:"px-4 py-3 font-semibold",children:"Trust Level"}),e("td",{className:"px-4 py-3",children:"Highest"}),e("td",{className:"px-4 py-3",children:"High"}),e("td",{className:"px-4 py-3",children:"Medium"}),e("td",{className:"px-4 py-3",children:"Low"})]}),a("tr",{children:[e("td",{className:"px-4 py-3 font-semibold",children:"Policy Impact"}),e("td",{className:"px-4 py-3",children:"\u2705 Can drive decisions"}),e("td",{className:"px-4 py-3",children:"\u26A0\uFE0F Can inform"}),e("td",{className:"px-4 py-3",children:"\u274C Reference only"}),e("td",{className:"px-4 py-3",children:"\u274C Never used"})]}),a("tr",{children:[e("td",{className:"px-4 py-3 font-semibold",children:"Mutability"}),e("td",{className:"px-4 py-3",children:"Immutable"}),e("td",{className:"px-4 py-3",children:"Mutable"}),e("td",{className:"px-4 py-3",children:"Mutable"}),e("td",{className:"px-4 py-3",children:"Temporary"})]}),a("tr",{children:[e("td",{className:"px-4 py-3 font-semibold",children:"Retention"}),e("td",{className:"px-4 py-3",children:"Permanent"}),e("td",{className:"px-4 py-3",children:"Long-term"}),e("td",{className:"px-4 py-3",children:"Long-term"}),e("td",{className:"px-4 py-3",children:"Short-term"})]}),a("tr",{children:[e("td",{className:"px-4 py-3 font-semibold",children:"Audit Level"}),e("td",{className:"px-4 py-3",children:"Full audit"}),e("td",{className:"px-4 py-3",children:"Full audit"}),e("td",{className:"px-4 py-3",children:"Basic audit"}),e("td",{className:"px-4 py-3",children:"Minimal audit"})]})]})]})})]}),a("div",{className:"space-y-4",children:[e("h2",{className:"font-bold text-2xl",children:"Best practices"}),a("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[e("li",{children:"Use canonical for anything that affects policy, pricing, or compliance"}),e("li",{children:"Use operational for context that helps but doesn't dictate decisions"}),e("li",{children:"Use external for reference material that's helpful but not authoritative"}),e("li",{children:"Use ephemeral for temporary working memory that shouldn't persist"}),e("li",{children:"Never mix categories in a single knowledge space - keep them separate"}),e("li",{children:"Document the category and purpose of each knowledge space clearly"})]})]}),a("div",{className:"flex items-center gap-4 pt-4",children:[e(g,{href:"/docs/knowledge",className:"btn-ghost",children:"Back to Knowledge"}),a(g,{href:"/docs/knowledge/spaces",className:"btn-primary",children:["Knowledge Spaces ",e(w,{size:16})]})]})]})}import c from"@contractspec/lib.ui-link";import{jsx as d,jsxs as i}from"react/jsx-runtime";function v(){return i("div",{className:"space-y-8",children:[i("div",{className:"space-y-4",children:[d("h1",{className:"font-bold text-4xl",children:"Knowledge Examples"}),d("p",{className:"text-muted-foreground",children:"Real-world examples of how different applications use knowledge spaces to power intelligent workflows and agents."})]}),i("div",{className:"space-y-6",children:[i("div",{className:"space-y-4",children:[d("h2",{className:"font-bold text-2xl",children:"Example 1: ArtisanOS Support Agent"}),i("p",{className:"text-muted-foreground",children:[d("strong",{children:"Context:"})," ArtisanOS needs a support agent that can answer product questions using official documentation and learn from past support tickets."]}),d("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:d("pre",{children:`// Knowledge spaces
|
|
872
87
|
knowledgeSpaces: [
|
|
873
88
|
{
|
|
874
89
|
id: "product-canon",
|
|
@@ -922,31 +137,7 @@ steps:
|
|
|
922
137
|
content: |
|
|
923
138
|
Question: \${input.question}
|
|
924
139
|
Docs: \${steps.search-canon.output.results}
|
|
925
|
-
History: \${steps.search-history.output.results}`
|
|
926
|
-
})
|
|
927
|
-
})
|
|
928
|
-
]
|
|
929
|
-
}),
|
|
930
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
931
|
-
className: "space-y-4",
|
|
932
|
-
children: [
|
|
933
|
-
/* @__PURE__ */ jsx2("h2", {
|
|
934
|
-
className: "font-bold text-2xl",
|
|
935
|
-
children: "Example 2: HCircle Invoice Generation"
|
|
936
|
-
}),
|
|
937
|
-
/* @__PURE__ */ jsxs2("p", {
|
|
938
|
-
className: "text-muted-foreground",
|
|
939
|
-
children: [
|
|
940
|
-
/* @__PURE__ */ jsx2("strong", {
|
|
941
|
-
children: "Context:"
|
|
942
|
-
}),
|
|
943
|
-
" HCircle needs to generate invoices using house playbook rules and resident service history."
|
|
944
|
-
]
|
|
945
|
-
}),
|
|
946
|
-
/* @__PURE__ */ jsx2("div", {
|
|
947
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
948
|
-
children: /* @__PURE__ */ jsx2("pre", {
|
|
949
|
-
children: `// Knowledge spaces
|
|
140
|
+
History: \${steps.search-history.output.results}`})})]}),i("div",{className:"space-y-4",children:[d("h2",{className:"font-bold text-2xl",children:"Example 2: HCircle Invoice Generation"}),i("p",{className:"text-muted-foreground",children:[d("strong",{children:"Context:"})," HCircle needs to generate invoices using house playbook rules and resident service history."]}),d("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:d("pre",{children:`// Knowledge spaces
|
|
950
141
|
knowledgeSpaces: [
|
|
951
142
|
{
|
|
952
143
|
id: "house-playbook",
|
|
@@ -992,31 +183,7 @@ steps:
|
|
|
992
183
|
capability: database.insert
|
|
993
184
|
inputs:
|
|
994
185
|
table: "invoices"
|
|
995
|
-
data: \${steps.calculate-total.output}`
|
|
996
|
-
})
|
|
997
|
-
})
|
|
998
|
-
]
|
|
999
|
-
}),
|
|
1000
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
1001
|
-
className: "space-y-4",
|
|
1002
|
-
children: [
|
|
1003
|
-
/* @__PURE__ */ jsx2("h2", {
|
|
1004
|
-
className: "font-bold text-2xl",
|
|
1005
|
-
children: "Example 3: Multi-tenant SaaS with External Docs"
|
|
1006
|
-
}),
|
|
1007
|
-
/* @__PURE__ */ jsxs2("p", {
|
|
1008
|
-
className: "text-muted-foreground",
|
|
1009
|
-
children: [
|
|
1010
|
-
/* @__PURE__ */ jsx2("strong", {
|
|
1011
|
-
children: "Context:"
|
|
1012
|
-
}),
|
|
1013
|
-
" A SaaS platform needs to help users integrate with Stripe, using both internal guides and Stripe's official documentation."
|
|
1014
|
-
]
|
|
1015
|
-
}),
|
|
1016
|
-
/* @__PURE__ */ jsx2("div", {
|
|
1017
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
1018
|
-
children: /* @__PURE__ */ jsx2("pre", {
|
|
1019
|
-
children: `// Knowledge spaces
|
|
186
|
+
data: \${steps.calculate-total.output}`})})]}),i("div",{className:"space-y-4",children:[d("h2",{className:"font-bold text-2xl",children:"Example 3: Multi-tenant SaaS with External Docs"}),i("p",{className:"text-muted-foreground",children:[d("strong",{children:"Context:"})," A SaaS platform needs to help users integrate with Stripe, using both internal guides and Stripe's official documentation."]}),d("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:d("pre",{children:`// Knowledge spaces
|
|
1020
187
|
knowledgeSpaces: [
|
|
1021
188
|
{
|
|
1022
189
|
id: "integration-guides",
|
|
@@ -1084,238 +251,7 @@ steps:
|
|
|
1084
251
|
Question: \${input.question}
|
|
1085
252
|
Internal: \${steps.search-internal-guides.output.results}
|
|
1086
253
|
Stripe: \${steps.search-stripe-docs.output.results}
|
|
1087
|
-
Past: \${steps.search-past-questions.output.results}`
|
|
1088
|
-
})
|
|
1089
|
-
})
|
|
1090
|
-
]
|
|
1091
|
-
})
|
|
1092
|
-
]
|
|
1093
|
-
}),
|
|
1094
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
1095
|
-
className: "space-y-4",
|
|
1096
|
-
children: [
|
|
1097
|
-
/* @__PURE__ */ jsx2("h2", {
|
|
1098
|
-
className: "font-bold text-2xl",
|
|
1099
|
-
children: "Key patterns"
|
|
1100
|
-
}),
|
|
1101
|
-
/* @__PURE__ */ jsxs2("ul", {
|
|
1102
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
1103
|
-
children: [
|
|
1104
|
-
/* @__PURE__ */ jsxs2("li", {
|
|
1105
|
-
children: [
|
|
1106
|
-
/* @__PURE__ */ jsx2("strong", {
|
|
1107
|
-
children: "Canonical first"
|
|
1108
|
-
}),
|
|
1109
|
-
" - Always search canonical spaces before operational or external"
|
|
1110
|
-
]
|
|
1111
|
-
}),
|
|
1112
|
-
/* @__PURE__ */ jsxs2("li", {
|
|
1113
|
-
children: [
|
|
1114
|
-
/* @__PURE__ */ jsx2("strong", {
|
|
1115
|
-
children: "Category-aware prompts"
|
|
1116
|
-
}),
|
|
1117
|
-
" - Tell the LLM which sources are authoritative vs reference"
|
|
1118
|
-
]
|
|
1119
|
-
}),
|
|
1120
|
-
/* @__PURE__ */ jsxs2("li", {
|
|
1121
|
-
children: [
|
|
1122
|
-
/* @__PURE__ */ jsx2("strong", {
|
|
1123
|
-
children: "Multi-space queries"
|
|
1124
|
-
}),
|
|
1125
|
-
" - Combine results from multiple spaces for richer context"
|
|
1126
|
-
]
|
|
1127
|
-
}),
|
|
1128
|
-
/* @__PURE__ */ jsxs2("li", {
|
|
1129
|
-
children: [
|
|
1130
|
-
/* @__PURE__ */ jsx2("strong", {
|
|
1131
|
-
children: "Limit results"
|
|
1132
|
-
}),
|
|
1133
|
-
" - Use appropriate limits (3-5) to avoid token overflow"
|
|
1134
|
-
]
|
|
1135
|
-
}),
|
|
1136
|
-
/* @__PURE__ */ jsxs2("li", {
|
|
1137
|
-
children: [
|
|
1138
|
-
/* @__PURE__ */ jsx2("strong", {
|
|
1139
|
-
children: "Audit everything"
|
|
1140
|
-
}),
|
|
1141
|
-
" - Log all knowledge queries for debugging and compliance"
|
|
1142
|
-
]
|
|
1143
|
-
})
|
|
1144
|
-
]
|
|
1145
|
-
})
|
|
1146
|
-
]
|
|
1147
|
-
}),
|
|
1148
|
-
/* @__PURE__ */ jsxs2("div", {
|
|
1149
|
-
className: "flex items-center gap-4 pt-4",
|
|
1150
|
-
children: [
|
|
1151
|
-
/* @__PURE__ */ jsx2(Link2, {
|
|
1152
|
-
href: "/docs/knowledge/sources",
|
|
1153
|
-
className: "btn-ghost",
|
|
1154
|
-
children: "Previous: Sources"
|
|
1155
|
-
}),
|
|
1156
|
-
/* @__PURE__ */ jsx2(Link2, {
|
|
1157
|
-
href: "/docs/architecture/knowledge-binding",
|
|
1158
|
-
className: "btn-ghost",
|
|
1159
|
-
children: "Knowledge Binding"
|
|
1160
|
-
})
|
|
1161
|
-
]
|
|
1162
|
-
})
|
|
1163
|
-
]
|
|
1164
|
-
});
|
|
1165
|
-
}
|
|
1166
|
-
|
|
1167
|
-
// src/components/docs/knowledge/KnowledgeOverviewPage.tsx
|
|
1168
|
-
import Link3 from "@contractspec/lib.ui-link";
|
|
1169
|
-
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1170
|
-
var knowledgeTracks = [
|
|
1171
|
-
{
|
|
1172
|
-
title: "Categories",
|
|
1173
|
-
body: "Separate canonical truth from operational notes, external material, and ephemeral working context.",
|
|
1174
|
-
href: "/docs/knowledge/categories"
|
|
1175
|
-
},
|
|
1176
|
-
{
|
|
1177
|
-
title: "Spaces",
|
|
1178
|
-
body: "Define the storage and retrieval boundary for each knowledge domain.",
|
|
1179
|
-
href: "/docs/knowledge/spaces"
|
|
1180
|
-
},
|
|
1181
|
-
{
|
|
1182
|
-
title: "Sources",
|
|
1183
|
-
body: "Connect tenant-owned sources explicitly instead of letting context leak in through prompts alone.",
|
|
1184
|
-
href: "/docs/knowledge/sources"
|
|
1185
|
-
},
|
|
1186
|
-
{
|
|
1187
|
-
title: "Examples",
|
|
1188
|
-
body: "See how support, compliance, and product systems consume trusted knowledge at runtime.",
|
|
1189
|
-
href: "/docs/knowledge/examples"
|
|
1190
|
-
}
|
|
1191
|
-
];
|
|
1192
|
-
function KnowledgeOverviewPage() {
|
|
1193
|
-
return /* @__PURE__ */ jsxs3("div", {
|
|
1194
|
-
className: "space-y-10",
|
|
1195
|
-
children: [
|
|
1196
|
-
/* @__PURE__ */ jsxs3("div", {
|
|
1197
|
-
className: "space-y-3",
|
|
1198
|
-
children: [
|
|
1199
|
-
/* @__PURE__ */ jsx3("p", {
|
|
1200
|
-
className: "editorial-kicker",
|
|
1201
|
-
children: "Operate"
|
|
1202
|
-
}),
|
|
1203
|
-
/* @__PURE__ */ jsx3("h1", {
|
|
1204
|
-
className: "font-serif text-4xl tracking-[-0.04em] md:text-5xl",
|
|
1205
|
-
children: "Knowledge is part of the runtime, not a sidecar prompt hack."
|
|
1206
|
-
}),
|
|
1207
|
-
/* @__PURE__ */ jsx3("p", {
|
|
1208
|
-
className: "max-w-3xl text-lg text-muted-foreground leading-8",
|
|
1209
|
-
children: "When AI-native systems depend on external context, the context needs the same discipline as the rest of the stack. ContractSpec treats knowledge as typed, bounded, and governable so teams can reason about trust, isolation, and retrieval behavior."
|
|
1210
|
-
})
|
|
1211
|
-
]
|
|
1212
|
-
}),
|
|
1213
|
-
/* @__PURE__ */ jsx3("section", {
|
|
1214
|
-
className: "editorial-panel space-y-5",
|
|
1215
|
-
children: /* @__PURE__ */ jsxs3("div", {
|
|
1216
|
-
className: "space-y-2",
|
|
1217
|
-
children: [
|
|
1218
|
-
/* @__PURE__ */ jsx3("h2", {
|
|
1219
|
-
className: "font-serif text-3xl tracking-[-0.03em]",
|
|
1220
|
-
children: "How knowledge enters the system"
|
|
1221
|
-
}),
|
|
1222
|
-
/* @__PURE__ */ jsxs3("ul", {
|
|
1223
|
-
className: "editorial-list",
|
|
1224
|
-
children: [
|
|
1225
|
-
/* @__PURE__ */ jsxs3("li", {
|
|
1226
|
-
children: [
|
|
1227
|
-
/* @__PURE__ */ jsx3("span", {
|
|
1228
|
-
className: "editorial-list-marker"
|
|
1229
|
-
}),
|
|
1230
|
-
/* @__PURE__ */ jsx3("span", {
|
|
1231
|
-
children: "Define the trust category and retrieval expectations first."
|
|
1232
|
-
})
|
|
1233
|
-
]
|
|
1234
|
-
}),
|
|
1235
|
-
/* @__PURE__ */ jsxs3("li", {
|
|
1236
|
-
children: [
|
|
1237
|
-
/* @__PURE__ */ jsx3("span", {
|
|
1238
|
-
className: "editorial-list-marker"
|
|
1239
|
-
}),
|
|
1240
|
-
/* @__PURE__ */ jsx3("span", {
|
|
1241
|
-
children: "Bind tenant-owned sources explicitly to those knowledge spaces."
|
|
1242
|
-
})
|
|
1243
|
-
]
|
|
1244
|
-
}),
|
|
1245
|
-
/* @__PURE__ */ jsxs3("li", {
|
|
1246
|
-
children: [
|
|
1247
|
-
/* @__PURE__ */ jsx3("span", {
|
|
1248
|
-
className: "editorial-list-marker"
|
|
1249
|
-
}),
|
|
1250
|
-
/* @__PURE__ */ jsx3("span", {
|
|
1251
|
-
children: "Consume knowledge through capabilities and workflows, not through invisible prompt assumptions."
|
|
1252
|
-
})
|
|
1253
|
-
]
|
|
1254
|
-
})
|
|
1255
|
-
]
|
|
1256
|
-
})
|
|
1257
|
-
]
|
|
1258
|
-
})
|
|
1259
|
-
}),
|
|
1260
|
-
/* @__PURE__ */ jsx3("div", {
|
|
1261
|
-
className: "grid gap-4 md:grid-cols-2",
|
|
1262
|
-
children: knowledgeTracks.map((item) => /* @__PURE__ */ jsxs3(Link3, {
|
|
1263
|
-
href: item.href,
|
|
1264
|
-
className: "editorial-panel",
|
|
1265
|
-
children: [
|
|
1266
|
-
/* @__PURE__ */ jsx3("h2", {
|
|
1267
|
-
className: "font-semibold text-xl",
|
|
1268
|
-
children: item.title
|
|
1269
|
-
}),
|
|
1270
|
-
/* @__PURE__ */ jsx3("p", {
|
|
1271
|
-
className: "mt-2 text-muted-foreground text-sm leading-7",
|
|
1272
|
-
children: item.body
|
|
1273
|
-
})
|
|
1274
|
-
]
|
|
1275
|
-
}, item.href))
|
|
1276
|
-
})
|
|
1277
|
-
]
|
|
1278
|
-
});
|
|
1279
|
-
}
|
|
1280
|
-
|
|
1281
|
-
// src/components/docs/knowledge/KnowledgeSourcesPage.tsx
|
|
1282
|
-
import Link4 from "@contractspec/lib.ui-link";
|
|
1283
|
-
import { ChevronRight as ChevronRight2 } from "lucide-react";
|
|
1284
|
-
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1285
|
-
function KnowledgeSourcesPage() {
|
|
1286
|
-
return /* @__PURE__ */ jsxs4("div", {
|
|
1287
|
-
className: "space-y-8",
|
|
1288
|
-
children: [
|
|
1289
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1290
|
-
className: "space-y-4",
|
|
1291
|
-
children: [
|
|
1292
|
-
/* @__PURE__ */ jsx4("h1", {
|
|
1293
|
-
className: "font-bold text-4xl",
|
|
1294
|
-
children: "Knowledge Sources"
|
|
1295
|
-
}),
|
|
1296
|
-
/* @__PURE__ */ jsxs4("p", {
|
|
1297
|
-
className: "text-muted-foreground",
|
|
1298
|
-
children: [
|
|
1299
|
-
"A ",
|
|
1300
|
-
/* @__PURE__ */ jsx4("strong", {
|
|
1301
|
-
children: "KnowledgeSourceConfig"
|
|
1302
|
-
}),
|
|
1303
|
-
" connects a tenant's data sources (Notion, Gmail, uploads, databases) to knowledge spaces. Each source is synced, chunked, embedded, and indexed according to the space's configuration."
|
|
1304
|
-
]
|
|
1305
|
-
})
|
|
1306
|
-
]
|
|
1307
|
-
}),
|
|
1308
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1309
|
-
className: "space-y-4",
|
|
1310
|
-
children: [
|
|
1311
|
-
/* @__PURE__ */ jsx4("h2", {
|
|
1312
|
-
className: "font-bold text-2xl",
|
|
1313
|
-
children: "KnowledgeSourceConfig"
|
|
1314
|
-
}),
|
|
1315
|
-
/* @__PURE__ */ jsx4("div", {
|
|
1316
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
1317
|
-
children: /* @__PURE__ */ jsx4("pre", {
|
|
1318
|
-
children: `type KnowledgeSourceConfig = {
|
|
254
|
+
Past: \${steps.search-past-questions.output.results}`})})]})]}),i("div",{className:"space-y-4",children:[d("h2",{className:"font-bold text-2xl",children:"Key patterns"}),i("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[i("li",{children:[d("strong",{children:"Canonical first"})," - Always search canonical spaces before operational or external"]}),i("li",{children:[d("strong",{children:"Category-aware prompts"})," - Tell the LLM which sources are authoritative vs reference"]}),i("li",{children:[d("strong",{children:"Multi-space queries"})," - Combine results from multiple spaces for richer context"]}),i("li",{children:[d("strong",{children:"Limit results"})," - Use appropriate limits (3-5) to avoid token overflow"]}),i("li",{children:[d("strong",{children:"Audit everything"})," - Log all knowledge queries for debugging and compliance"]})]})]}),i("div",{className:"flex items-center gap-4 pt-4",children:[d(c,{href:"/docs/knowledge/sources",className:"btn-ghost",children:"Previous: Sources"}),d(c,{href:"/docs/architecture/knowledge-binding",className:"btn-ghost",children:"Knowledge Binding"})]})]})}import N from"@contractspec/lib.ui-link";import{jsx as n,jsxs as m}from"react/jsx-runtime";var u=[{title:"Categories",body:"Separate canonical truth from operational notes, external material, and ephemeral working context.",href:"/docs/knowledge/categories"},{title:"Spaces",body:"Define the storage and retrieval boundary for each knowledge domain.",href:"/docs/knowledge/spaces"},{title:"Sources",body:"Connect tenant-owned sources explicitly instead of letting context leak in through prompts alone.",href:"/docs/knowledge/sources"},{title:"Examples",body:"See how support, compliance, and product systems consume trusted knowledge at runtime.",href:"/docs/knowledge/examples"}];function k(){return m("div",{className:"space-y-10",children:[m("div",{className:"space-y-3",children:[n("p",{className:"editorial-kicker",children:"Operate"}),n("h1",{className:"font-serif text-4xl tracking-[-0.04em] md:text-5xl",children:"Knowledge is part of the runtime, not a sidecar prompt hack."}),n("p",{className:"max-w-3xl text-lg text-muted-foreground leading-8",children:"When AI-native systems depend on external context, the context needs the same discipline as the rest of the stack. ContractSpec treats knowledge as typed, bounded, and governable so teams can reason about trust, isolation, and retrieval behavior."})]}),n("section",{className:"editorial-panel space-y-5",children:m("div",{className:"space-y-2",children:[n("h2",{className:"font-serif text-3xl tracking-[-0.03em]",children:"How knowledge enters the system"}),m("ul",{className:"editorial-list",children:[m("li",{children:[n("span",{className:"editorial-list-marker"}),n("span",{children:"Define the trust category and retrieval expectations first."})]}),m("li",{children:[n("span",{className:"editorial-list-marker"}),n("span",{children:"Bind tenant-owned sources explicitly to those knowledge spaces."})]}),m("li",{children:[n("span",{className:"editorial-list-marker"}),n("span",{children:"Consume knowledge through capabilities and workflows, not through invisible prompt assumptions."})]})]})]})}),n("div",{className:"grid gap-4 md:grid-cols-2",children:u.map((p)=>m(N,{href:p.href,className:"editorial-panel",children:[n("h2",{className:"font-semibold text-xl",children:p.title}),n("p",{className:"mt-2 text-muted-foreground text-sm leading-7",children:p.body})]},p.href))})]})}import f from"@contractspec/lib.ui-link";import{ChevronRight as b}from"lucide-react";import{jsx as t,jsxs as l}from"react/jsx-runtime";function P(){return l("div",{className:"space-y-8",children:[l("div",{className:"space-y-4",children:[t("h1",{className:"font-bold text-4xl",children:"Knowledge Sources"}),l("p",{className:"text-muted-foreground",children:["A ",t("strong",{children:"KnowledgeSourceConfig"})," connects a tenant's data sources (Notion, Gmail, uploads, databases) to knowledge spaces. Each source is synced, chunked, embedded, and indexed according to the space's configuration."]})]}),l("div",{className:"space-y-4",children:[t("h2",{className:"font-bold text-2xl",children:"KnowledgeSourceConfig"}),t("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:t("pre",{children:`type KnowledgeSourceConfig = {
|
|
1319
255
|
id: string;
|
|
1320
256
|
tenantId: string;
|
|
1321
257
|
spaceId: string;
|
|
@@ -1342,245 +278,27 @@ function KnowledgeSourcesPage() {
|
|
|
1342
278
|
metadata?: Record<string, unknown>;
|
|
1343
279
|
createdAt: string;
|
|
1344
280
|
updatedAt: string;
|
|
1345
|
-
};`
|
|
1346
|
-
})
|
|
1347
|
-
})
|
|
1348
|
-
]
|
|
1349
|
-
}),
|
|
1350
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1351
|
-
className: "space-y-4",
|
|
1352
|
-
children: [
|
|
1353
|
-
/* @__PURE__ */ jsx4("h2", {
|
|
1354
|
-
className: "font-bold text-2xl",
|
|
1355
|
-
children: "Source types"
|
|
1356
|
-
}),
|
|
1357
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1358
|
-
className: "space-y-6",
|
|
1359
|
-
children: [
|
|
1360
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1361
|
-
className: "card-subtle p-4",
|
|
1362
|
-
children: [
|
|
1363
|
-
/* @__PURE__ */ jsx4("h3", {
|
|
1364
|
-
className: "mb-2 font-semibold text-lg",
|
|
1365
|
-
children: "Uploaded Documents"
|
|
1366
|
-
}),
|
|
1367
|
-
/* @__PURE__ */ jsx4("div", {
|
|
1368
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
1369
|
-
children: /* @__PURE__ */ jsx4("pre", {
|
|
1370
|
-
children: `{
|
|
281
|
+
};`})})]}),l("div",{className:"space-y-4",children:[t("h2",{className:"font-bold text-2xl",children:"Source types"}),l("div",{className:"space-y-6",children:[l("div",{className:"card-subtle p-4",children:[t("h3",{className:"mb-2 font-semibold text-lg",children:"Uploaded Documents"}),t("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:t("pre",{children:`{
|
|
1371
282
|
kind: "uploaded-document",
|
|
1372
283
|
location: "s3://bucket/tenant-123/docs/product-spec.pdf",
|
|
1373
284
|
syncPolicy: { manual: true }
|
|
1374
|
-
}`
|
|
1375
|
-
})
|
|
1376
|
-
}),
|
|
1377
|
-
/* @__PURE__ */ jsx4("p", {
|
|
1378
|
-
className: "mt-2 text-muted-foreground text-sm",
|
|
1379
|
-
children: "PDFs, Word docs, presentations uploaded by users"
|
|
1380
|
-
})
|
|
1381
|
-
]
|
|
1382
|
-
}),
|
|
1383
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1384
|
-
className: "card-subtle p-4",
|
|
1385
|
-
children: [
|
|
1386
|
-
/* @__PURE__ */ jsx4("h3", {
|
|
1387
|
-
className: "mb-2 font-semibold text-lg",
|
|
1388
|
-
children: "Notion"
|
|
1389
|
-
}),
|
|
1390
|
-
/* @__PURE__ */ jsx4("div", {
|
|
1391
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
1392
|
-
children: /* @__PURE__ */ jsx4("pre", {
|
|
1393
|
-
children: `{
|
|
285
|
+
}`})}),t("p",{className:"mt-2 text-muted-foreground text-sm",children:"PDFs, Word docs, presentations uploaded by users"})]}),l("div",{className:"card-subtle p-4",children:[t("h3",{className:"mb-2 font-semibold text-lg",children:"Notion"}),t("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:t("pre",{children:`{
|
|
1394
286
|
kind: "notion",
|
|
1395
287
|
location: "https://notion.so/workspace/product-docs",
|
|
1396
288
|
syncPolicy: { interval: "1h", webhook: true }
|
|
1397
|
-
}`
|
|
1398
|
-
})
|
|
1399
|
-
}),
|
|
1400
|
-
/* @__PURE__ */ jsx4("p", {
|
|
1401
|
-
className: "mt-2 text-muted-foreground text-sm",
|
|
1402
|
-
children: "Notion pages and databases with real-time webhook updates"
|
|
1403
|
-
})
|
|
1404
|
-
]
|
|
1405
|
-
}),
|
|
1406
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1407
|
-
className: "card-subtle p-4",
|
|
1408
|
-
children: [
|
|
1409
|
-
/* @__PURE__ */ jsx4("h3", {
|
|
1410
|
-
className: "mb-2 font-semibold text-lg",
|
|
1411
|
-
children: "Gmail / Email"
|
|
1412
|
-
}),
|
|
1413
|
-
/* @__PURE__ */ jsx4("div", {
|
|
1414
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
1415
|
-
children: /* @__PURE__ */ jsx4("pre", {
|
|
1416
|
-
children: `{
|
|
289
|
+
}`})}),t("p",{className:"mt-2 text-muted-foreground text-sm",children:"Notion pages and databases with real-time webhook updates"})]}),l("div",{className:"card-subtle p-4",children:[t("h3",{className:"mb-2 font-semibold text-lg",children:"Gmail / Email"}),t("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:t("pre",{children:`{
|
|
1417
290
|
kind: "email",
|
|
1418
291
|
location: "support@company.com",
|
|
1419
292
|
syncPolicy: { webhook: true }
|
|
1420
|
-
}`
|
|
1421
|
-
})
|
|
1422
|
-
}),
|
|
1423
|
-
/* @__PURE__ */ jsx4("p", {
|
|
1424
|
-
className: "mt-2 text-muted-foreground text-sm",
|
|
1425
|
-
children: "Email threads from Gmail or other providers"
|
|
1426
|
-
})
|
|
1427
|
-
]
|
|
1428
|
-
}),
|
|
1429
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1430
|
-
className: "card-subtle p-4",
|
|
1431
|
-
children: [
|
|
1432
|
-
/* @__PURE__ */ jsx4("h3", {
|
|
1433
|
-
className: "mb-2 font-semibold text-lg",
|
|
1434
|
-
children: "Database Query"
|
|
1435
|
-
}),
|
|
1436
|
-
/* @__PURE__ */ jsx4("div", {
|
|
1437
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
1438
|
-
children: /* @__PURE__ */ jsx4("pre", {
|
|
1439
|
-
children: `{
|
|
293
|
+
}`})}),t("p",{className:"mt-2 text-muted-foreground text-sm",children:"Email threads from Gmail or other providers"})]}),l("div",{className:"card-subtle p-4",children:[t("h3",{className:"mb-2 font-semibold text-lg",children:"Database Query"}),t("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:t("pre",{children:`{
|
|
1440
294
|
kind: "database-query",
|
|
1441
295
|
location: "SELECT * FROM products WHERE active = true",
|
|
1442
296
|
syncPolicy: { interval: "24h" }
|
|
1443
|
-
}`
|
|
1444
|
-
})
|
|
1445
|
-
}),
|
|
1446
|
-
/* @__PURE__ */ jsx4("p", {
|
|
1447
|
-
className: "mt-2 text-muted-foreground text-sm",
|
|
1448
|
-
children: "Structured data from application databases"
|
|
1449
|
-
})
|
|
1450
|
-
]
|
|
1451
|
-
}),
|
|
1452
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1453
|
-
className: "card-subtle p-4",
|
|
1454
|
-
children: [
|
|
1455
|
-
/* @__PURE__ */ jsx4("h3", {
|
|
1456
|
-
className: "mb-2 font-semibold text-lg",
|
|
1457
|
-
children: "URL / Web Scraping"
|
|
1458
|
-
}),
|
|
1459
|
-
/* @__PURE__ */ jsx4("div", {
|
|
1460
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
1461
|
-
children: /* @__PURE__ */ jsx4("pre", {
|
|
1462
|
-
children: `{
|
|
297
|
+
}`})}),t("p",{className:"mt-2 text-muted-foreground text-sm",children:"Structured data from application databases"})]}),l("div",{className:"card-subtle p-4",children:[t("h3",{className:"mb-2 font-semibold text-lg",children:"URL / Web Scraping"}),t("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:t("pre",{children:`{
|
|
1463
298
|
kind: "url",
|
|
1464
299
|
location: "https://stripe.com/docs",
|
|
1465
300
|
syncPolicy: { interval: "24h" }
|
|
1466
|
-
}`
|
|
1467
|
-
})
|
|
1468
|
-
}),
|
|
1469
|
-
/* @__PURE__ */ jsx4("p", {
|
|
1470
|
-
className: "mt-2 text-muted-foreground text-sm",
|
|
1471
|
-
children: "External documentation and web content"
|
|
1472
|
-
})
|
|
1473
|
-
]
|
|
1474
|
-
})
|
|
1475
|
-
]
|
|
1476
|
-
})
|
|
1477
|
-
]
|
|
1478
|
-
}),
|
|
1479
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1480
|
-
className: "space-y-4",
|
|
1481
|
-
children: [
|
|
1482
|
-
/* @__PURE__ */ jsx4("h2", {
|
|
1483
|
-
className: "font-bold text-2xl",
|
|
1484
|
-
children: "Sync strategies"
|
|
1485
|
-
}),
|
|
1486
|
-
/* @__PURE__ */ jsx4("div", {
|
|
1487
|
-
className: "overflow-x-auto rounded-lg border border-border/50",
|
|
1488
|
-
children: /* @__PURE__ */ jsxs4("table", {
|
|
1489
|
-
className: "w-full text-left text-sm",
|
|
1490
|
-
children: [
|
|
1491
|
-
/* @__PURE__ */ jsx4("thead", {
|
|
1492
|
-
className: "bg-card/50",
|
|
1493
|
-
children: /* @__PURE__ */ jsxs4("tr", {
|
|
1494
|
-
className: "border-border/50 border-b",
|
|
1495
|
-
children: [
|
|
1496
|
-
/* @__PURE__ */ jsx4("th", {
|
|
1497
|
-
className: "px-4 py-3 font-semibold",
|
|
1498
|
-
children: "Strategy"
|
|
1499
|
-
}),
|
|
1500
|
-
/* @__PURE__ */ jsx4("th", {
|
|
1501
|
-
className: "px-4 py-3 font-semibold",
|
|
1502
|
-
children: "When to Use"
|
|
1503
|
-
}),
|
|
1504
|
-
/* @__PURE__ */ jsx4("th", {
|
|
1505
|
-
className: "px-4 py-3 font-semibold",
|
|
1506
|
-
children: "Latency"
|
|
1507
|
-
})
|
|
1508
|
-
]
|
|
1509
|
-
})
|
|
1510
|
-
}),
|
|
1511
|
-
/* @__PURE__ */ jsxs4("tbody", {
|
|
1512
|
-
className: "divide-y divide-border/50",
|
|
1513
|
-
children: [
|
|
1514
|
-
/* @__PURE__ */ jsxs4("tr", {
|
|
1515
|
-
children: [
|
|
1516
|
-
/* @__PURE__ */ jsx4("td", {
|
|
1517
|
-
className: "px-4 py-3 font-mono text-xs",
|
|
1518
|
-
children: "webhook"
|
|
1519
|
-
}),
|
|
1520
|
-
/* @__PURE__ */ jsx4("td", {
|
|
1521
|
-
className: "px-4 py-3",
|
|
1522
|
-
children: "Real-time updates (Notion, Gmail, Slack)"
|
|
1523
|
-
}),
|
|
1524
|
-
/* @__PURE__ */ jsx4("td", {
|
|
1525
|
-
className: "px-4 py-3",
|
|
1526
|
-
children: "Seconds"
|
|
1527
|
-
})
|
|
1528
|
-
]
|
|
1529
|
-
}),
|
|
1530
|
-
/* @__PURE__ */ jsxs4("tr", {
|
|
1531
|
-
children: [
|
|
1532
|
-
/* @__PURE__ */ jsx4("td", {
|
|
1533
|
-
className: "px-4 py-3 font-mono text-xs",
|
|
1534
|
-
children: "interval"
|
|
1535
|
-
}),
|
|
1536
|
-
/* @__PURE__ */ jsx4("td", {
|
|
1537
|
-
className: "px-4 py-3",
|
|
1538
|
-
children: "Periodic sync (databases, URLs)"
|
|
1539
|
-
}),
|
|
1540
|
-
/* @__PURE__ */ jsx4("td", {
|
|
1541
|
-
className: "px-4 py-3",
|
|
1542
|
-
children: "Minutes to hours"
|
|
1543
|
-
})
|
|
1544
|
-
]
|
|
1545
|
-
}),
|
|
1546
|
-
/* @__PURE__ */ jsxs4("tr", {
|
|
1547
|
-
children: [
|
|
1548
|
-
/* @__PURE__ */ jsx4("td", {
|
|
1549
|
-
className: "px-4 py-3 font-mono text-xs",
|
|
1550
|
-
children: "manual"
|
|
1551
|
-
}),
|
|
1552
|
-
/* @__PURE__ */ jsx4("td", {
|
|
1553
|
-
className: "px-4 py-3",
|
|
1554
|
-
children: "User-triggered (uploads, one-time imports)"
|
|
1555
|
-
}),
|
|
1556
|
-
/* @__PURE__ */ jsx4("td", {
|
|
1557
|
-
className: "px-4 py-3",
|
|
1558
|
-
children: "On-demand"
|
|
1559
|
-
})
|
|
1560
|
-
]
|
|
1561
|
-
})
|
|
1562
|
-
]
|
|
1563
|
-
})
|
|
1564
|
-
]
|
|
1565
|
-
})
|
|
1566
|
-
})
|
|
1567
|
-
]
|
|
1568
|
-
}),
|
|
1569
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1570
|
-
className: "space-y-4",
|
|
1571
|
-
children: [
|
|
1572
|
-
/* @__PURE__ */ jsx4("h2", {
|
|
1573
|
-
className: "font-bold text-2xl",
|
|
1574
|
-
children: "Example: Multi-source space"
|
|
1575
|
-
}),
|
|
1576
|
-
/* @__PURE__ */ jsx4("p", {
|
|
1577
|
-
className: "text-muted-foreground",
|
|
1578
|
-
children: "A single knowledge space can be fed by multiple sources:"
|
|
1579
|
-
}),
|
|
1580
|
-
/* @__PURE__ */ jsx4("div", {
|
|
1581
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
1582
|
-
children: /* @__PURE__ */ jsx4("pre", {
|
|
1583
|
-
children: `// Product Canon space with multiple sources
|
|
301
|
+
}`})}),t("p",{className:"mt-2 text-muted-foreground text-sm",children:"External documentation and web content"})]})]})]}),l("div",{className:"space-y-4",children:[t("h2",{className:"font-bold text-2xl",children:"Sync strategies"}),t("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:l("table",{className:"w-full text-left text-sm",children:[t("thead",{className:"bg-card/50",children:l("tr",{className:"border-border/50 border-b",children:[t("th",{className:"px-4 py-3 font-semibold",children:"Strategy"}),t("th",{className:"px-4 py-3 font-semibold",children:"When to Use"}),t("th",{className:"px-4 py-3 font-semibold",children:"Latency"})]})}),l("tbody",{className:"divide-y divide-border/50",children:[l("tr",{children:[t("td",{className:"px-4 py-3 font-mono text-xs",children:"webhook"}),t("td",{className:"px-4 py-3",children:"Real-time updates (Notion, Gmail, Slack)"}),t("td",{className:"px-4 py-3",children:"Seconds"})]}),l("tr",{children:[t("td",{className:"px-4 py-3 font-mono text-xs",children:"interval"}),t("td",{className:"px-4 py-3",children:"Periodic sync (databases, URLs)"}),t("td",{className:"px-4 py-3",children:"Minutes to hours"})]}),l("tr",{children:[t("td",{className:"px-4 py-3 font-mono text-xs",children:"manual"}),t("td",{className:"px-4 py-3",children:"User-triggered (uploads, one-time imports)"}),t("td",{className:"px-4 py-3",children:"On-demand"})]})]})]})})]}),l("div",{className:"space-y-4",children:[t("h2",{className:"font-bold text-2xl",children:"Example: Multi-source space"}),t("p",{className:"text-muted-foreground",children:"A single knowledge space can be fed by multiple sources:"}),t("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:t("pre",{children:`// Product Canon space with multiple sources
|
|
1584
302
|
{
|
|
1585
303
|
spaceId: "product-canon",
|
|
1586
304
|
sources: [
|
|
@@ -1603,171 +321,7 @@ function KnowledgeSourcesPage() {
|
|
|
1603
321
|
syncPolicy: { manual: true }
|
|
1604
322
|
}
|
|
1605
323
|
]
|
|
1606
|
-
}`
|
|
1607
|
-
})
|
|
1608
|
-
})
|
|
1609
|
-
]
|
|
1610
|
-
}),
|
|
1611
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1612
|
-
className: "space-y-4",
|
|
1613
|
-
children: [
|
|
1614
|
-
/* @__PURE__ */ jsx4("h2", {
|
|
1615
|
-
className: "font-bold text-2xl",
|
|
1616
|
-
children: "Processing pipeline"
|
|
1617
|
-
}),
|
|
1618
|
-
/* @__PURE__ */ jsx4("p", {
|
|
1619
|
-
className: "text-muted-foreground",
|
|
1620
|
-
children: "When a source is synced, ContractSpec processes it through several stages:"
|
|
1621
|
-
}),
|
|
1622
|
-
/* @__PURE__ */ jsxs4("ol", {
|
|
1623
|
-
className: "list-inside list-decimal space-y-3 text-muted-foreground",
|
|
1624
|
-
children: [
|
|
1625
|
-
/* @__PURE__ */ jsxs4("li", {
|
|
1626
|
-
children: [
|
|
1627
|
-
/* @__PURE__ */ jsx4("strong", {
|
|
1628
|
-
children: "Fetch"
|
|
1629
|
-
}),
|
|
1630
|
-
" - Retrieve content from source (API, database, file)"
|
|
1631
|
-
]
|
|
1632
|
-
}),
|
|
1633
|
-
/* @__PURE__ */ jsxs4("li", {
|
|
1634
|
-
children: [
|
|
1635
|
-
/* @__PURE__ */ jsx4("strong", {
|
|
1636
|
-
children: "Parse"
|
|
1637
|
-
}),
|
|
1638
|
-
" - Extract text from documents (PDF, Word, HTML)"
|
|
1639
|
-
]
|
|
1640
|
-
}),
|
|
1641
|
-
/* @__PURE__ */ jsxs4("li", {
|
|
1642
|
-
children: [
|
|
1643
|
-
/* @__PURE__ */ jsx4("strong", {
|
|
1644
|
-
children: "Chunk"
|
|
1645
|
-
}),
|
|
1646
|
-
" - Split into semantic chunks (paragraphs, sections)"
|
|
1647
|
-
]
|
|
1648
|
-
}),
|
|
1649
|
-
/* @__PURE__ */ jsxs4("li", {
|
|
1650
|
-
children: [
|
|
1651
|
-
/* @__PURE__ */ jsx4("strong", {
|
|
1652
|
-
children: "Embed"
|
|
1653
|
-
}),
|
|
1654
|
-
" - Generate vector embeddings (OpenAI, Cohere)"
|
|
1655
|
-
]
|
|
1656
|
-
}),
|
|
1657
|
-
/* @__PURE__ */ jsxs4("li", {
|
|
1658
|
-
children: [
|
|
1659
|
-
/* @__PURE__ */ jsx4("strong", {
|
|
1660
|
-
children: "Index"
|
|
1661
|
-
}),
|
|
1662
|
-
" - Store in vector database (Qdrant) or search engine"
|
|
1663
|
-
]
|
|
1664
|
-
}),
|
|
1665
|
-
/* @__PURE__ */ jsxs4("li", {
|
|
1666
|
-
children: [
|
|
1667
|
-
/* @__PURE__ */ jsx4("strong", {
|
|
1668
|
-
children: "Audit"
|
|
1669
|
-
}),
|
|
1670
|
-
" - Log sync operation and results"
|
|
1671
|
-
]
|
|
1672
|
-
})
|
|
1673
|
-
]
|
|
1674
|
-
})
|
|
1675
|
-
]
|
|
1676
|
-
}),
|
|
1677
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1678
|
-
className: "space-y-4",
|
|
1679
|
-
children: [
|
|
1680
|
-
/* @__PURE__ */ jsx4("h2", {
|
|
1681
|
-
className: "font-bold text-2xl",
|
|
1682
|
-
children: "Best practices"
|
|
1683
|
-
}),
|
|
1684
|
-
/* @__PURE__ */ jsxs4("ul", {
|
|
1685
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
1686
|
-
children: [
|
|
1687
|
-
/* @__PURE__ */ jsx4("li", {
|
|
1688
|
-
children: "Use webhooks for real-time sources (Notion, Gmail) to minimize latency"
|
|
1689
|
-
}),
|
|
1690
|
-
/* @__PURE__ */ jsx4("li", {
|
|
1691
|
-
children: "Set appropriate sync intervals - hourly for active docs, daily for stable content"
|
|
1692
|
-
}),
|
|
1693
|
-
/* @__PURE__ */ jsx4("li", {
|
|
1694
|
-
children: "Monitor sync failures and set up alerts for critical sources"
|
|
1695
|
-
}),
|
|
1696
|
-
/* @__PURE__ */ jsx4("li", {
|
|
1697
|
-
children: "Test sources in sandbox before enabling in production"
|
|
1698
|
-
}),
|
|
1699
|
-
/* @__PURE__ */ jsx4("li", {
|
|
1700
|
-
children: "Document the purpose and ownership of each source for your team"
|
|
1701
|
-
}),
|
|
1702
|
-
/* @__PURE__ */ jsx4("li", {
|
|
1703
|
-
children: "Use manual sync for sensitive or infrequently updated content"
|
|
1704
|
-
})
|
|
1705
|
-
]
|
|
1706
|
-
})
|
|
1707
|
-
]
|
|
1708
|
-
}),
|
|
1709
|
-
/* @__PURE__ */ jsxs4("div", {
|
|
1710
|
-
className: "flex items-center gap-4 pt-4",
|
|
1711
|
-
children: [
|
|
1712
|
-
/* @__PURE__ */ jsx4(Link4, {
|
|
1713
|
-
href: "/docs/knowledge/spaces",
|
|
1714
|
-
className: "btn-ghost",
|
|
1715
|
-
children: "Previous: Spaces"
|
|
1716
|
-
}),
|
|
1717
|
-
/* @__PURE__ */ jsxs4(Link4, {
|
|
1718
|
-
href: "/docs/knowledge/examples",
|
|
1719
|
-
className: "btn-primary",
|
|
1720
|
-
children: [
|
|
1721
|
-
"Examples ",
|
|
1722
|
-
/* @__PURE__ */ jsx4(ChevronRight2, {
|
|
1723
|
-
size: 16
|
|
1724
|
-
})
|
|
1725
|
-
]
|
|
1726
|
-
})
|
|
1727
|
-
]
|
|
1728
|
-
})
|
|
1729
|
-
]
|
|
1730
|
-
});
|
|
1731
|
-
}
|
|
1732
|
-
|
|
1733
|
-
// src/components/docs/knowledge/KnowledgeSpacesPage.tsx
|
|
1734
|
-
import Link5 from "@contractspec/lib.ui-link";
|
|
1735
|
-
import { ChevronRight as ChevronRight3 } from "lucide-react";
|
|
1736
|
-
import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1737
|
-
function KnowledgeSpacesPage() {
|
|
1738
|
-
return /* @__PURE__ */ jsxs5("div", {
|
|
1739
|
-
className: "space-y-8",
|
|
1740
|
-
children: [
|
|
1741
|
-
/* @__PURE__ */ jsxs5("div", {
|
|
1742
|
-
className: "space-y-4",
|
|
1743
|
-
children: [
|
|
1744
|
-
/* @__PURE__ */ jsx5("h1", {
|
|
1745
|
-
className: "font-bold text-4xl",
|
|
1746
|
-
children: "Knowledge Spaces"
|
|
1747
|
-
}),
|
|
1748
|
-
/* @__PURE__ */ jsxs5("p", {
|
|
1749
|
-
className: "text-muted-foreground",
|
|
1750
|
-
children: [
|
|
1751
|
-
"A ",
|
|
1752
|
-
/* @__PURE__ */ jsx5("strong", {
|
|
1753
|
-
children: "KnowledgeSpaceSpec"
|
|
1754
|
-
}),
|
|
1755
|
-
" defines a logical domain of knowledge with a specific category, storage strategy, and intended audience. Spaces are defined globally and populated per-tenant through knowledge sources."
|
|
1756
|
-
]
|
|
1757
|
-
})
|
|
1758
|
-
]
|
|
1759
|
-
}),
|
|
1760
|
-
/* @__PURE__ */ jsxs5("div", {
|
|
1761
|
-
className: "space-y-4",
|
|
1762
|
-
children: [
|
|
1763
|
-
/* @__PURE__ */ jsx5("h2", {
|
|
1764
|
-
className: "font-bold text-2xl",
|
|
1765
|
-
children: "KnowledgeSpaceSpec"
|
|
1766
|
-
}),
|
|
1767
|
-
/* @__PURE__ */ jsx5("div", {
|
|
1768
|
-
className: "overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",
|
|
1769
|
-
children: /* @__PURE__ */ jsx5("pre", {
|
|
1770
|
-
children: `type KnowledgeSpaceSpec = {
|
|
324
|
+
}`})})]}),l("div",{className:"space-y-4",children:[t("h2",{className:"font-bold text-2xl",children:"Processing pipeline"}),t("p",{className:"text-muted-foreground",children:"When a source is synced, ContractSpec processes it through several stages:"}),l("ol",{className:"list-inside list-decimal space-y-3 text-muted-foreground",children:[l("li",{children:[t("strong",{children:"Fetch"})," - Retrieve content from source (API, database, file)"]}),l("li",{children:[t("strong",{children:"Parse"})," - Extract text from documents (PDF, Word, HTML)"]}),l("li",{children:[t("strong",{children:"Chunk"})," - Split into semantic chunks (paragraphs, sections)"]}),l("li",{children:[t("strong",{children:"Embed"})," - Generate vector embeddings (OpenAI, Cohere)"]}),l("li",{children:[t("strong",{children:"Index"})," - Store in vector database (Qdrant) or search engine"]}),l("li",{children:[t("strong",{children:"Audit"})," - Log sync operation and results"]})]})]}),l("div",{className:"space-y-4",children:[t("h2",{className:"font-bold text-2xl",children:"Best practices"}),l("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[t("li",{children:"Use webhooks for real-time sources (Notion, Gmail) to minimize latency"}),t("li",{children:"Set appropriate sync intervals - hourly for active docs, daily for stable content"}),t("li",{children:"Monitor sync failures and set up alerts for critical sources"}),t("li",{children:"Test sources in sandbox before enabling in production"}),t("li",{children:"Document the purpose and ownership of each source for your team"}),t("li",{children:"Use manual sync for sensitive or infrequently updated content"})]})]}),l("div",{className:"flex items-center gap-4 pt-4",children:[t(f,{href:"/docs/knowledge/spaces",className:"btn-ghost",children:"Previous: Spaces"}),l(f,{href:"/docs/knowledge/examples",className:"btn-primary",children:["Examples ",t(b,{size:16})]})]})]})}import h from"@contractspec/lib.ui-link";import{ChevronRight as K}from"lucide-react";import{jsx as o,jsxs as r}from"react/jsx-runtime";function O(){return r("div",{className:"space-y-8",children:[r("div",{className:"space-y-4",children:[o("h1",{className:"font-bold text-4xl",children:"Knowledge Spaces"}),r("p",{className:"text-muted-foreground",children:["A ",o("strong",{children:"KnowledgeSpaceSpec"})," defines a logical domain of knowledge with a specific category, storage strategy, and intended audience. Spaces are defined globally and populated per-tenant through knowledge sources."]})]}),r("div",{className:"space-y-4",children:[o("h2",{className:"font-bold text-2xl",children:"KnowledgeSpaceSpec"}),o("div",{className:"overflow-x-auto rounded-lg border border-border bg-background/50 p-4 font-mono text-muted-foreground text-sm",children:o("pre",{children:`type KnowledgeSpaceSpec = {
|
|
1771
325
|
id: string;
|
|
1772
326
|
label: string;
|
|
1773
327
|
description: string;
|
|
@@ -1792,32 +346,7 @@ function KnowledgeSpacesPage() {
|
|
|
1792
346
|
owner?: string;
|
|
1793
347
|
createdAt: string;
|
|
1794
348
|
updatedAt: string;
|
|
1795
|
-
};`
|
|
1796
|
-
})
|
|
1797
|
-
})
|
|
1798
|
-
]
|
|
1799
|
-
}),
|
|
1800
|
-
/* @__PURE__ */ jsxs5("div", {
|
|
1801
|
-
className: "space-y-4",
|
|
1802
|
-
children: [
|
|
1803
|
-
/* @__PURE__ */ jsx5("h2", {
|
|
1804
|
-
className: "font-bold text-2xl",
|
|
1805
|
-
children: "Common knowledge spaces"
|
|
1806
|
-
}),
|
|
1807
|
-
/* @__PURE__ */ jsxs5("div", {
|
|
1808
|
-
className: "space-y-6",
|
|
1809
|
-
children: [
|
|
1810
|
-
/* @__PURE__ */ jsxs5("div", {
|
|
1811
|
-
className: "card-subtle p-4",
|
|
1812
|
-
children: [
|
|
1813
|
-
/* @__PURE__ */ jsx5("h3", {
|
|
1814
|
-
className: "mb-2 font-semibold text-lg",
|
|
1815
|
-
children: "Product Canon"
|
|
1816
|
-
}),
|
|
1817
|
-
/* @__PURE__ */ jsx5("div", {
|
|
1818
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
1819
|
-
children: /* @__PURE__ */ jsx5("pre", {
|
|
1820
|
-
children: `{
|
|
349
|
+
};`})})]}),r("div",{className:"space-y-4",children:[o("h2",{className:"font-bold text-2xl",children:"Common knowledge spaces"}),r("div",{className:"space-y-6",children:[r("div",{className:"card-subtle p-4",children:[o("h3",{className:"mb-2 font-semibold text-lg",children:"Product Canon"}),o("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:o("pre",{children:`{
|
|
1821
350
|
id: "product-canon",
|
|
1822
351
|
label: "Product Canon",
|
|
1823
352
|
description: "Official product specifications and schemas",
|
|
@@ -1827,31 +356,7 @@ function KnowledgeSpacesPage() {
|
|
|
1827
356
|
indexProvider: "qdrant",
|
|
1828
357
|
vectorDimensions: 1536,
|
|
1829
358
|
retentionPolicy: { versions: 10 }
|
|
1830
|
-
}`
|
|
1831
|
-
})
|
|
1832
|
-
}),
|
|
1833
|
-
/* @__PURE__ */ jsxs5("p", {
|
|
1834
|
-
className: "mt-2 text-muted-foreground text-sm",
|
|
1835
|
-
children: [
|
|
1836
|
-
/* @__PURE__ */ jsx5("strong", {
|
|
1837
|
-
children: "Use cases:"
|
|
1838
|
-
}),
|
|
1839
|
-
" Invoice generation, quote creation, product recommendations, schema validation"
|
|
1840
|
-
]
|
|
1841
|
-
})
|
|
1842
|
-
]
|
|
1843
|
-
}),
|
|
1844
|
-
/* @__PURE__ */ jsxs5("div", {
|
|
1845
|
-
className: "card-subtle p-4",
|
|
1846
|
-
children: [
|
|
1847
|
-
/* @__PURE__ */ jsx5("h3", {
|
|
1848
|
-
className: "mb-2 font-semibold text-lg",
|
|
1849
|
-
children: "Support History"
|
|
1850
|
-
}),
|
|
1851
|
-
/* @__PURE__ */ jsx5("div", {
|
|
1852
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
1853
|
-
children: /* @__PURE__ */ jsx5("pre", {
|
|
1854
|
-
children: `{
|
|
359
|
+
}`})}),r("p",{className:"mt-2 text-muted-foreground text-sm",children:[o("strong",{children:"Use cases:"})," Invoice generation, quote creation, product recommendations, schema validation"]})]}),r("div",{className:"card-subtle p-4",children:[o("h3",{className:"mb-2 font-semibold text-lg",children:"Support History"}),o("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:o("pre",{children:`{
|
|
1855
360
|
id: "support-history",
|
|
1856
361
|
label: "Support History",
|
|
1857
362
|
description: "Past support tickets and resolutions",
|
|
@@ -1861,31 +366,7 @@ function KnowledgeSpacesPage() {
|
|
|
1861
366
|
indexProvider: "qdrant",
|
|
1862
367
|
vectorDimensions: 1536,
|
|
1863
368
|
retentionPolicy: { days: 365 }
|
|
1864
|
-
}`
|
|
1865
|
-
})
|
|
1866
|
-
}),
|
|
1867
|
-
/* @__PURE__ */ jsxs5("p", {
|
|
1868
|
-
className: "mt-2 text-muted-foreground text-sm",
|
|
1869
|
-
children: [
|
|
1870
|
-
/* @__PURE__ */ jsx5("strong", {
|
|
1871
|
-
children: "Use cases:"
|
|
1872
|
-
}),
|
|
1873
|
-
" Customer support, troubleshooting, similar issue detection"
|
|
1874
|
-
]
|
|
1875
|
-
})
|
|
1876
|
-
]
|
|
1877
|
-
}),
|
|
1878
|
-
/* @__PURE__ */ jsxs5("div", {
|
|
1879
|
-
className: "card-subtle p-4",
|
|
1880
|
-
children: [
|
|
1881
|
-
/* @__PURE__ */ jsx5("h3", {
|
|
1882
|
-
className: "mb-2 font-semibold text-lg",
|
|
1883
|
-
children: "External Provider Docs"
|
|
1884
|
-
}),
|
|
1885
|
-
/* @__PURE__ */ jsx5("div", {
|
|
1886
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
1887
|
-
children: /* @__PURE__ */ jsx5("pre", {
|
|
1888
|
-
children: `{
|
|
369
|
+
}`})}),r("p",{className:"mt-2 text-muted-foreground text-sm",children:[o("strong",{children:"Use cases:"})," Customer support, troubleshooting, similar issue detection"]})]}),r("div",{className:"card-subtle p-4",children:[o("h3",{className:"mb-2 font-semibold text-lg",children:"External Provider Docs"}),o("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:o("pre",{children:`{
|
|
1889
370
|
id: "provider-docs",
|
|
1890
371
|
label: "External Provider Docs",
|
|
1891
372
|
description: "Third-party integration documentation",
|
|
@@ -1894,31 +375,7 @@ function KnowledgeSpacesPage() {
|
|
|
1894
375
|
storageStrategy: "search",
|
|
1895
376
|
indexProvider: "elasticsearch",
|
|
1896
377
|
retentionPolicy: { days: 90 }
|
|
1897
|
-
}`
|
|
1898
|
-
})
|
|
1899
|
-
}),
|
|
1900
|
-
/* @__PURE__ */ jsxs5("p", {
|
|
1901
|
-
className: "mt-2 text-muted-foreground text-sm",
|
|
1902
|
-
children: [
|
|
1903
|
-
/* @__PURE__ */ jsx5("strong", {
|
|
1904
|
-
children: "Use cases:"
|
|
1905
|
-
}),
|
|
1906
|
-
" Integration help, API reference, troubleshooting external services"
|
|
1907
|
-
]
|
|
1908
|
-
})
|
|
1909
|
-
]
|
|
1910
|
-
}),
|
|
1911
|
-
/* @__PURE__ */ jsxs5("div", {
|
|
1912
|
-
className: "card-subtle p-4",
|
|
1913
|
-
children: [
|
|
1914
|
-
/* @__PURE__ */ jsx5("h3", {
|
|
1915
|
-
className: "mb-2 font-semibold text-lg",
|
|
1916
|
-
children: "Agent Scratchpad"
|
|
1917
|
-
}),
|
|
1918
|
-
/* @__PURE__ */ jsx5("div", {
|
|
1919
|
-
className: "overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",
|
|
1920
|
-
children: /* @__PURE__ */ jsx5("pre", {
|
|
1921
|
-
children: `{
|
|
378
|
+
}`})}),r("p",{className:"mt-2 text-muted-foreground text-sm",children:[o("strong",{children:"Use cases:"})," Integration help, API reference, troubleshooting external services"]})]}),r("div",{className:"card-subtle p-4",children:[o("h3",{className:"mb-2 font-semibold text-lg",children:"Agent Scratchpad"}),o("div",{className:"overflow-x-auto rounded border border-border bg-background/50 p-3 font-mono text-muted-foreground text-xs",children:o("pre",{children:`{
|
|
1922
379
|
id: "agent-scratchpad",
|
|
1923
380
|
label: "Agent Scratchpad",
|
|
1924
381
|
description: "Temporary agent working memory",
|
|
@@ -1928,170 +385,4 @@ function KnowledgeSpacesPage() {
|
|
|
1928
385
|
indexProvider: "qdrant",
|
|
1929
386
|
vectorDimensions: 1536,
|
|
1930
387
|
retentionPolicy: { days: 1 }
|
|
1931
|
-
}`
|
|
1932
|
-
})
|
|
1933
|
-
}),
|
|
1934
|
-
/* @__PURE__ */ jsxs5("p", {
|
|
1935
|
-
className: "mt-2 text-muted-foreground text-sm",
|
|
1936
|
-
children: [
|
|
1937
|
-
/* @__PURE__ */ jsx5("strong", {
|
|
1938
|
-
children: "Use cases:"
|
|
1939
|
-
}),
|
|
1940
|
-
" Conversation continuity, intermediate calculations, session state"
|
|
1941
|
-
]
|
|
1942
|
-
})
|
|
1943
|
-
]
|
|
1944
|
-
})
|
|
1945
|
-
]
|
|
1946
|
-
})
|
|
1947
|
-
]
|
|
1948
|
-
}),
|
|
1949
|
-
/* @__PURE__ */ jsxs5("div", {
|
|
1950
|
-
className: "space-y-4",
|
|
1951
|
-
children: [
|
|
1952
|
-
/* @__PURE__ */ jsx5("h2", {
|
|
1953
|
-
className: "font-bold text-2xl",
|
|
1954
|
-
children: "Storage strategies"
|
|
1955
|
-
}),
|
|
1956
|
-
/* @__PURE__ */ jsx5("div", {
|
|
1957
|
-
className: "overflow-x-auto rounded-lg border border-border/50",
|
|
1958
|
-
children: /* @__PURE__ */ jsxs5("table", {
|
|
1959
|
-
className: "w-full text-left text-sm",
|
|
1960
|
-
children: [
|
|
1961
|
-
/* @__PURE__ */ jsx5("thead", {
|
|
1962
|
-
className: "bg-card/50",
|
|
1963
|
-
children: /* @__PURE__ */ jsxs5("tr", {
|
|
1964
|
-
className: "border-border/50 border-b",
|
|
1965
|
-
children: [
|
|
1966
|
-
/* @__PURE__ */ jsx5("th", {
|
|
1967
|
-
className: "px-4 py-3 font-semibold",
|
|
1968
|
-
children: "Strategy"
|
|
1969
|
-
}),
|
|
1970
|
-
/* @__PURE__ */ jsx5("th", {
|
|
1971
|
-
className: "px-4 py-3 font-semibold",
|
|
1972
|
-
children: "Best For"
|
|
1973
|
-
}),
|
|
1974
|
-
/* @__PURE__ */ jsx5("th", {
|
|
1975
|
-
className: "px-4 py-3 font-semibold",
|
|
1976
|
-
children: "Providers"
|
|
1977
|
-
})
|
|
1978
|
-
]
|
|
1979
|
-
})
|
|
1980
|
-
}),
|
|
1981
|
-
/* @__PURE__ */ jsxs5("tbody", {
|
|
1982
|
-
className: "divide-y divide-border/50",
|
|
1983
|
-
children: [
|
|
1984
|
-
/* @__PURE__ */ jsxs5("tr", {
|
|
1985
|
-
children: [
|
|
1986
|
-
/* @__PURE__ */ jsx5("td", {
|
|
1987
|
-
className: "px-4 py-3 font-mono text-xs",
|
|
1988
|
-
children: "vector"
|
|
1989
|
-
}),
|
|
1990
|
-
/* @__PURE__ */ jsx5("td", {
|
|
1991
|
-
className: "px-4 py-3",
|
|
1992
|
-
children: "Semantic search, RAG, similarity matching"
|
|
1993
|
-
}),
|
|
1994
|
-
/* @__PURE__ */ jsx5("td", {
|
|
1995
|
-
className: "px-4 py-3",
|
|
1996
|
-
children: "Qdrant, Pinecone, Weaviate"
|
|
1997
|
-
})
|
|
1998
|
-
]
|
|
1999
|
-
}),
|
|
2000
|
-
/* @__PURE__ */ jsxs5("tr", {
|
|
2001
|
-
children: [
|
|
2002
|
-
/* @__PURE__ */ jsx5("td", {
|
|
2003
|
-
className: "px-4 py-3 font-mono text-xs",
|
|
2004
|
-
children: "search"
|
|
2005
|
-
}),
|
|
2006
|
-
/* @__PURE__ */ jsx5("td", {
|
|
2007
|
-
className: "px-4 py-3",
|
|
2008
|
-
children: "Keyword search, exact matching, filtering"
|
|
2009
|
-
}),
|
|
2010
|
-
/* @__PURE__ */ jsx5("td", {
|
|
2011
|
-
className: "px-4 py-3",
|
|
2012
|
-
children: "Elasticsearch, Algolia"
|
|
2013
|
-
})
|
|
2014
|
-
]
|
|
2015
|
-
}),
|
|
2016
|
-
/* @__PURE__ */ jsxs5("tr", {
|
|
2017
|
-
children: [
|
|
2018
|
-
/* @__PURE__ */ jsx5("td", {
|
|
2019
|
-
className: "px-4 py-3 font-mono text-xs",
|
|
2020
|
-
children: "hybrid"
|
|
2021
|
-
}),
|
|
2022
|
-
/* @__PURE__ */ jsx5("td", {
|
|
2023
|
-
className: "px-4 py-3",
|
|
2024
|
-
children: "Combined semantic + keyword search"
|
|
2025
|
-
}),
|
|
2026
|
-
/* @__PURE__ */ jsx5("td", {
|
|
2027
|
-
className: "px-4 py-3",
|
|
2028
|
-
children: "Qdrant + Elasticsearch"
|
|
2029
|
-
})
|
|
2030
|
-
]
|
|
2031
|
-
})
|
|
2032
|
-
]
|
|
2033
|
-
})
|
|
2034
|
-
]
|
|
2035
|
-
})
|
|
2036
|
-
})
|
|
2037
|
-
]
|
|
2038
|
-
}),
|
|
2039
|
-
/* @__PURE__ */ jsxs5("div", {
|
|
2040
|
-
className: "space-y-4",
|
|
2041
|
-
children: [
|
|
2042
|
-
/* @__PURE__ */ jsx5("h2", {
|
|
2043
|
-
className: "font-bold text-2xl",
|
|
2044
|
-
children: "Best practices"
|
|
2045
|
-
}),
|
|
2046
|
-
/* @__PURE__ */ jsxs5("ul", {
|
|
2047
|
-
className: "list-inside list-disc space-y-2 text-muted-foreground",
|
|
2048
|
-
children: [
|
|
2049
|
-
/* @__PURE__ */ jsx5("li", {
|
|
2050
|
-
children: "Choose storage strategy based on query patterns - use vector for semantic, search for exact"
|
|
2051
|
-
}),
|
|
2052
|
-
/* @__PURE__ */ jsx5("li", {
|
|
2053
|
-
children: "Set appropriate retention policies - canonical is permanent, ephemeral is short-lived"
|
|
2054
|
-
}),
|
|
2055
|
-
/* @__PURE__ */ jsx5("li", {
|
|
2056
|
-
children: "Use consistent vector dimensions across spaces that will be queried together"
|
|
2057
|
-
}),
|
|
2058
|
-
/* @__PURE__ */ jsx5("li", {
|
|
2059
|
-
children: "Document the intended audience and use cases for each space"
|
|
2060
|
-
}),
|
|
2061
|
-
/* @__PURE__ */ jsx5("li", {
|
|
2062
|
-
children: "Monitor space size and query performance - add sharding if needed"
|
|
2063
|
-
})
|
|
2064
|
-
]
|
|
2065
|
-
})
|
|
2066
|
-
]
|
|
2067
|
-
}),
|
|
2068
|
-
/* @__PURE__ */ jsxs5("div", {
|
|
2069
|
-
className: "flex items-center gap-4 pt-4",
|
|
2070
|
-
children: [
|
|
2071
|
-
/* @__PURE__ */ jsx5(Link5, {
|
|
2072
|
-
href: "/docs/knowledge/categories",
|
|
2073
|
-
className: "btn-ghost",
|
|
2074
|
-
children: "Previous: Categories"
|
|
2075
|
-
}),
|
|
2076
|
-
/* @__PURE__ */ jsxs5(Link5, {
|
|
2077
|
-
href: "/docs/knowledge/sources",
|
|
2078
|
-
className: "btn-primary",
|
|
2079
|
-
children: [
|
|
2080
|
-
"Knowledge Sources ",
|
|
2081
|
-
/* @__PURE__ */ jsx5(ChevronRight3, {
|
|
2082
|
-
size: 16
|
|
2083
|
-
})
|
|
2084
|
-
]
|
|
2085
|
-
})
|
|
2086
|
-
]
|
|
2087
|
-
})
|
|
2088
|
-
]
|
|
2089
|
-
});
|
|
2090
|
-
}
|
|
2091
|
-
export {
|
|
2092
|
-
KnowledgeSpacesPage,
|
|
2093
|
-
KnowledgeSourcesPage,
|
|
2094
|
-
KnowledgeOverviewPage,
|
|
2095
|
-
KnowledgeExamplesPage,
|
|
2096
|
-
KnowledgeCategoriesPage
|
|
2097
|
-
};
|
|
388
|
+
}`})}),r("p",{className:"mt-2 text-muted-foreground text-sm",children:[o("strong",{children:"Use cases:"})," Conversation continuity, intermediate calculations, session state"]})]})]})]}),r("div",{className:"space-y-4",children:[o("h2",{className:"font-bold text-2xl",children:"Storage strategies"}),o("div",{className:"overflow-x-auto rounded-lg border border-border/50",children:r("table",{className:"w-full text-left text-sm",children:[o("thead",{className:"bg-card/50",children:r("tr",{className:"border-border/50 border-b",children:[o("th",{className:"px-4 py-3 font-semibold",children:"Strategy"}),o("th",{className:"px-4 py-3 font-semibold",children:"Best For"}),o("th",{className:"px-4 py-3 font-semibold",children:"Providers"})]})}),r("tbody",{className:"divide-y divide-border/50",children:[r("tr",{children:[o("td",{className:"px-4 py-3 font-mono text-xs",children:"vector"}),o("td",{className:"px-4 py-3",children:"Semantic search, RAG, similarity matching"}),o("td",{className:"px-4 py-3",children:"Qdrant, Pinecone, Weaviate"})]}),r("tr",{children:[o("td",{className:"px-4 py-3 font-mono text-xs",children:"search"}),o("td",{className:"px-4 py-3",children:"Keyword search, exact matching, filtering"}),o("td",{className:"px-4 py-3",children:"Elasticsearch, Algolia"})]}),r("tr",{children:[o("td",{className:"px-4 py-3 font-mono text-xs",children:"hybrid"}),o("td",{className:"px-4 py-3",children:"Combined semantic + keyword search"}),o("td",{className:"px-4 py-3",children:"Qdrant + Elasticsearch"})]})]})]})})]}),r("div",{className:"space-y-4",children:[o("h2",{className:"font-bold text-2xl",children:"Best practices"}),r("ul",{className:"list-inside list-disc space-y-2 text-muted-foreground",children:[o("li",{children:"Choose storage strategy based on query patterns - use vector for semantic, search for exact"}),o("li",{children:"Set appropriate retention policies - canonical is permanent, ephemeral is short-lived"}),o("li",{children:"Use consistent vector dimensions across spaces that will be queried together"}),o("li",{children:"Document the intended audience and use cases for each space"}),o("li",{children:"Monitor space size and query performance - add sharding if needed"})]})]}),r("div",{className:"flex items-center gap-4 pt-4",children:[o(h,{href:"/docs/knowledge/categories",className:"btn-ghost",children:"Previous: Categories"}),r(h,{href:"/docs/knowledge/sources",className:"btn-primary",children:["Knowledge Sources ",o(K,{size:16})]})]})]})}export{O as KnowledgeSpacesPage,P as KnowledgeSourcesPage,k as KnowledgeOverviewPage,v as KnowledgeExamplesPage,y as KnowledgeCategoriesPage};
|