@oscharko-dev/keiko-server 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -0
- package/dist/assistant-response.d.ts +6 -0
- package/dist/assistant-response.d.ts.map +1 -0
- package/dist/assistant-response.js +12 -0
- package/dist/browser.d.ts +11 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +245 -0
- package/dist/chat-handlers.d.ts +48 -0
- package/dist/chat-handlers.d.ts.map +1 -0
- package/dist/chat-handlers.js +821 -0
- package/dist/chat-stream-handlers.d.ts +4 -0
- package/dist/chat-stream-handlers.d.ts.map +1 -0
- package/dist/chat-stream-handlers.js +136 -0
- package/dist/conversation-prompt.d.ts +8 -0
- package/dist/conversation-prompt.d.ts.map +1 -0
- package/dist/conversation-prompt.js +36 -0
- package/dist/conversation-validation.d.ts +26 -0
- package/dist/conversation-validation.d.ts.map +1 -0
- package/dist/conversation-validation.js +125 -0
- package/dist/credentialPersistence.d.ts +23 -0
- package/dist/credentialPersistence.d.ts.map +1 -0
- package/dist/credentialPersistence.js +93 -0
- package/dist/credentialVault.d.ts +30 -0
- package/dist/credentialVault.d.ts.map +1 -0
- package/dist/credentialVault.js +206 -0
- package/dist/csp.d.ts +3 -0
- package/dist/csp.d.ts.map +1 -0
- package/dist/csp.js +75 -0
- package/dist/deps.d.ts +78 -0
- package/dist/deps.d.ts.map +1 -0
- package/dist/deps.js +457 -0
- package/dist/editor/agentRoutes.d.ts +7 -0
- package/dist/editor/agentRoutes.d.ts.map +1 -0
- package/dist/editor/agentRoutes.js +197 -0
- package/dist/editor/assuredGateRunner.d.ts +36 -0
- package/dist/editor/assuredGateRunner.d.ts.map +1 -0
- package/dist/editor/assuredGateRunner.js +100 -0
- package/dist/editor/assuredPreFilter.d.ts +34 -0
- package/dist/editor/assuredPreFilter.d.ts.map +1 -0
- package/dist/editor/assuredPreFilter.js +134 -0
- package/dist/editor/assuredPreFilterRunner.d.ts +31 -0
- package/dist/editor/assuredPreFilterRunner.d.ts.map +1 -0
- package/dist/editor/assuredPreFilterRunner.js +312 -0
- package/dist/editor/builtinLanguageProviders.d.ts +6 -0
- package/dist/editor/builtinLanguageProviders.d.ts.map +1 -0
- package/dist/editor/builtinLanguageProviders.js +221 -0
- package/dist/editor/codingContext.d.ts +12 -0
- package/dist/editor/codingContext.d.ts.map +1 -0
- package/dist/editor/codingContext.js +121 -0
- package/dist/editor/codingContextEvidence.d.ts +7 -0
- package/dist/editor/codingContextEvidence.d.ts.map +1 -0
- package/dist/editor/codingContextEvidence.js +52 -0
- package/dist/editor/codingContextProviders.d.ts +36 -0
- package/dist/editor/codingContextProviders.d.ts.map +1 -0
- package/dist/editor/codingContextProviders.js +348 -0
- package/dist/editor/completionModelEvidence.d.ts +16 -0
- package/dist/editor/completionModelEvidence.d.ts.map +1 -0
- package/dist/editor/completionModelEvidence.js +50 -0
- package/dist/editor/completionRoutes.d.ts +37 -0
- package/dist/editor/completionRoutes.d.ts.map +1 -0
- package/dist/editor/completionRoutes.js +411 -0
- package/dist/editor/contextRoutes.d.ts +6 -0
- package/dist/editor/contextRoutes.d.ts.map +1 -0
- package/dist/editor/contextRoutes.js +411 -0
- package/dist/editor/disposableAssuredExecution.d.ts +22 -0
- package/dist/editor/disposableAssuredExecution.d.ts.map +1 -0
- package/dist/editor/disposableAssuredExecution.js +57 -0
- package/dist/editor/editorCompletionModel.d.ts +47 -0
- package/dist/editor/editorCompletionModel.d.ts.map +1 -0
- package/dist/editor/editorCompletionModel.js +156 -0
- package/dist/editor/editorInlineCompletionModel.d.ts +34 -0
- package/dist/editor/editorInlineCompletionModel.d.ts.map +1 -0
- package/dist/editor/editorInlineCompletionModel.js +112 -0
- package/dist/editor/editorModelTokenBudget.d.ts +46 -0
- package/dist/editor/editorModelTokenBudget.d.ts.map +1 -0
- package/dist/editor/editorModelTokenBudget.js +121 -0
- package/dist/editor/inlineCompletionRateLimiter.d.ts +19 -0
- package/dist/editor/inlineCompletionRateLimiter.d.ts.map +1 -0
- package/dist/editor/inlineCompletionRateLimiter.js +46 -0
- package/dist/editor/inlineCompletionRoutes.d.ts +26 -0
- package/dist/editor/inlineCompletionRoutes.d.ts.map +1 -0
- package/dist/editor/inlineCompletionRoutes.js +404 -0
- package/dist/editor/inlineCompletionTelemetryEvidence.d.ts +5 -0
- package/dist/editor/inlineCompletionTelemetryEvidence.d.ts.map +1 -0
- package/dist/editor/inlineCompletionTelemetryEvidence.js +42 -0
- package/dist/editor/languageCancellation.d.ts +19 -0
- package/dist/editor/languageCancellation.d.ts.map +1 -0
- package/dist/editor/languageCancellation.js +48 -0
- package/dist/editor/languageProvider.d.ts +39 -0
- package/dist/editor/languageProvider.d.ts.map +1 -0
- package/dist/editor/languageProvider.js +11 -0
- package/dist/editor/languageRoutes.d.ts +15 -0
- package/dist/editor/languageRoutes.d.ts.map +1 -0
- package/dist/editor/languageRoutes.js +106 -0
- package/dist/editor/languageSanitize.d.ts +8 -0
- package/dist/editor/languageSanitize.d.ts.map +1 -0
- package/dist/editor/languageSanitize.js +101 -0
- package/dist/editor/languageService.d.ts +36 -0
- package/dist/editor/languageService.d.ts.map +1 -0
- package/dist/editor/languageService.js +93 -0
- package/dist/editor/languageServiceHost.d.ts +14 -0
- package/dist/editor/languageServiceHost.d.ts.map +1 -0
- package/dist/editor/languageServiceHost.js +242 -0
- package/dist/editor/localKnowledgeRetrieval.d.ts +21 -0
- package/dist/editor/localKnowledgeRetrieval.d.ts.map +1 -0
- package/dist/editor/localKnowledgeRetrieval.js +44 -0
- package/dist/editor/patchApplyEvidence.d.ts +21 -0
- package/dist/editor/patchApplyEvidence.d.ts.map +1 -0
- package/dist/editor/patchApplyEvidence.js +87 -0
- package/dist/editor/patchApplyRoutes.d.ts +16 -0
- package/dist/editor/patchApplyRoutes.d.ts.map +1 -0
- package/dist/editor/patchApplyRoutes.js +307 -0
- package/dist/editor/postApplyVerification.d.ts +42 -0
- package/dist/editor/postApplyVerification.d.ts.map +1 -0
- package/dist/editor/postApplyVerification.js +177 -0
- package/dist/editor/testGenerationEvidence.d.ts +6 -0
- package/dist/editor/testGenerationEvidence.d.ts.map +1 -0
- package/dist/editor/testGenerationEvidence.js +72 -0
- package/dist/editor/testGenerationPatch.d.ts +10 -0
- package/dist/editor/testGenerationPatch.d.ts.map +1 -0
- package/dist/editor/testGenerationPatch.js +66 -0
- package/dist/editor/testGenerationRoutes.d.ts +21 -0
- package/dist/editor/testGenerationRoutes.d.ts.map +1 -0
- package/dist/editor/testGenerationRoutes.js +254 -0
- package/dist/editor/testGenerationRunner.d.ts +23 -0
- package/dist/editor/testGenerationRunner.d.ts.map +1 -0
- package/dist/editor/testGenerationRunner.js +120 -0
- package/dist/editor/textOffsets.d.ts +6 -0
- package/dist/editor/textOffsets.d.ts.map +1 -0
- package/dist/editor/textOffsets.js +82 -0
- package/dist/editor/typescriptLanguageProvider.d.ts +3 -0
- package/dist/editor/typescriptLanguageProvider.d.ts.map +1 -0
- package/dist/editor/typescriptLanguageProvider.js +217 -0
- package/dist/evidence.d.ts +28 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +145 -0
- package/dist/files-deny.d.ts +3 -0
- package/dist/files-deny.d.ts.map +1 -0
- package/dist/files-deny.js +12 -0
- package/dist/files.d.ts +97 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +733 -0
- package/dist/gateway-setup.d.ts +10 -0
- package/dist/gateway-setup.d.ts.map +1 -0
- package/dist/gateway-setup.js +896 -0
- package/dist/governed-workflow.d.ts +17 -0
- package/dist/governed-workflow.d.ts.map +1 -0
- package/dist/governed-workflow.js +147 -0
- package/dist/grounded-answer.d.ts +12 -0
- package/dist/grounded-answer.d.ts.map +1 -0
- package/dist/grounded-answer.js +69 -0
- package/dist/grounded-context-index.d.ts +25 -0
- package/dist/grounded-context-index.d.ts.map +1 -0
- package/dist/grounded-context-index.js +169 -0
- package/dist/grounded-document-evidence.d.ts +28 -0
- package/dist/grounded-document-evidence.d.ts.map +1 -0
- package/dist/grounded-document-evidence.js +430 -0
- package/dist/grounded-handoff.d.ts +4 -0
- package/dist/grounded-handoff.d.ts.map +1 -0
- package/dist/grounded-handoff.js +445 -0
- package/dist/grounded-orchestrator.d.ts +43 -0
- package/dist/grounded-orchestrator.d.ts.map +1 -0
- package/dist/grounded-orchestrator.js +1445 -0
- package/dist/grounded-prompt.d.ts +2 -0
- package/dist/grounded-prompt.d.ts.map +1 -0
- package/dist/grounded-prompt.js +17 -0
- package/dist/grounded-qa-hybrid.d.ts +36 -0
- package/dist/grounded-qa-hybrid.d.ts.map +1 -0
- package/dist/grounded-qa-hybrid.js +762 -0
- package/dist/grounded-qa-multi-source.d.ts +38 -0
- package/dist/grounded-qa-multi-source.d.ts.map +1 -0
- package/dist/grounded-qa-multi-source.js +461 -0
- package/dist/grounded-qa.d.ts +45 -0
- package/dist/grounded-qa.d.ts.map +1 -0
- package/dist/grounded-qa.js +877 -0
- package/dist/grounded-rerank.d.ts +26 -0
- package/dist/grounded-rerank.d.ts.map +1 -0
- package/dist/grounded-rerank.js +72 -0
- package/dist/grounded-turn-registry.d.ts +23 -0
- package/dist/grounded-turn-registry.d.ts.map +1 -0
- package/dist/grounded-turn-registry.js +102 -0
- package/dist/headers.d.ts +3 -0
- package/dist/headers.d.ts.map +1 -0
- package/dist/headers.js +22 -0
- package/dist/host-check.d.ts +3 -0
- package/dist/host-check.d.ts.map +1 -0
- package/dist/host-check.js +58 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/load-csp.d.ts +3 -0
- package/dist/load-csp.d.ts.map +1 -0
- package/dist/load-csp.js +100 -0
- package/dist/local-knowledge-grounded-qa.d.ts +42 -0
- package/dist/local-knowledge-grounded-qa.d.ts.map +1 -0
- package/dist/local-knowledge-grounded-qa.js +678 -0
- package/dist/local-knowledge-handlers.d.ts +24 -0
- package/dist/local-knowledge-handlers.d.ts.map +1 -0
- package/dist/local-knowledge-handlers.js +1285 -0
- package/dist/local-knowledge-indexing-registry.d.ts +13 -0
- package/dist/local-knowledge-indexing-registry.d.ts.map +1 -0
- package/dist/local-knowledge-indexing-registry.js +53 -0
- package/dist/localKnowledgeKeyProvider.d.ts +11 -0
- package/dist/localKnowledgeKeyProvider.d.ts.map +1 -0
- package/dist/localKnowledgeKeyProvider.js +48 -0
- package/dist/memory-audit-event-builders.d.ts +21 -0
- package/dist/memory-audit-event-builders.d.ts.map +1 -0
- package/dist/memory-audit-event-builders.js +187 -0
- package/dist/memory-audit-handler.d.ts +23 -0
- package/dist/memory-audit-handler.d.ts.map +1 -0
- package/dist/memory-audit-handler.js +191 -0
- package/dist/memory-capture-policy.d.ts +10 -0
- package/dist/memory-capture-policy.d.ts.map +1 -0
- package/dist/memory-capture-policy.js +44 -0
- package/dist/memory-consolidation-handlers.d.ts +6 -0
- package/dist/memory-consolidation-handlers.d.ts.map +1 -0
- package/dist/memory-consolidation-handlers.js +491 -0
- package/dist/memory-consolidation-registry.d.ts +47 -0
- package/dist/memory-consolidation-registry.d.ts.map +1 -0
- package/dist/memory-consolidation-registry.js +106 -0
- package/dist/memory-conv-handlers.d.ts +8 -0
- package/dist/memory-conv-handlers.d.ts.map +1 -0
- package/dist/memory-conv-handlers.js +369 -0
- package/dist/memory-conversation-context.d.ts +13 -0
- package/dist/memory-conversation-context.d.ts.map +1 -0
- package/dist/memory-conversation-context.js +22 -0
- package/dist/memory-diagnostics.d.ts +29 -0
- package/dist/memory-diagnostics.d.ts.map +1 -0
- package/dist/memory-diagnostics.js +122 -0
- package/dist/memory-embedding.d.ts +21 -0
- package/dist/memory-embedding.d.ts.map +1 -0
- package/dist/memory-embedding.js +264 -0
- package/dist/memory-handlers.d.ts +19 -0
- package/dist/memory-handlers.d.ts.map +1 -0
- package/dist/memory-handlers.js +1204 -0
- package/dist/memory-maintenance-handlers.d.ts +35 -0
- package/dist/memory-maintenance-handlers.d.ts.map +1 -0
- package/dist/memory-maintenance-handlers.js +219 -0
- package/dist/memory-record-builders.d.ts +4 -0
- package/dist/memory-record-builders.d.ts.map +1 -0
- package/dist/memory-record-builders.js +19 -0
- package/dist/memory-retention.d.ts +31 -0
- package/dist/memory-retention.d.ts.map +1 -0
- package/dist/memory-retention.js +151 -0
- package/dist/memory-retrieval-signals.d.ts +12 -0
- package/dist/memory-retrieval-signals.d.ts.map +1 -0
- package/dist/memory-retrieval-signals.js +100 -0
- package/dist/memory-salience.d.ts +12 -0
- package/dist/memory-salience.d.ts.map +1 -0
- package/dist/memory-salience.js +154 -0
- package/dist/memory-scope-sanitizer.d.ts +6 -0
- package/dist/memory-scope-sanitizer.d.ts.map +1 -0
- package/dist/memory-scope-sanitizer.js +106 -0
- package/dist/memory-target-resolver.d.ts +4 -0
- package/dist/memory-target-resolver.d.ts.map +1 -0
- package/dist/memory-target-resolver.js +73 -0
- package/dist/memory-workflow-port.d.ts +14 -0
- package/dist/memory-workflow-port.d.ts.map +1 -0
- package/dist/memory-workflow-port.js +186 -0
- package/dist/private-json.d.ts +3 -0
- package/dist/private-json.d.ts.map +1 -0
- package/dist/private-json.js +62 -0
- package/dist/promptEnhancer/index.d.ts +3 -0
- package/dist/promptEnhancer/index.d.ts.map +1 -0
- package/dist/promptEnhancer/index.js +5 -0
- package/dist/promptEnhancer/orchestrate.d.ts +2 -0
- package/dist/promptEnhancer/orchestrate.d.ts.map +1 -0
- package/dist/promptEnhancer/orchestrate.js +5 -0
- package/dist/promptEnhancer/routes.d.ts +9 -0
- package/dist/promptEnhancer/routes.d.ts.map +1 -0
- package/dist/promptEnhancer/routes.js +205 -0
- package/dist/qualityIntelligence/capsuleAdapter.d.ts +27 -0
- package/dist/qualityIntelligence/capsuleAdapter.d.ts.map +1 -0
- package/dist/qualityIntelligence/capsuleAdapter.js +57 -0
- package/dist/qualityIntelligence/connectorAuthorization.d.ts +22 -0
- package/dist/qualityIntelligence/connectorAuthorization.d.ts.map +1 -0
- package/dist/qualityIntelligence/connectorAuthorization.js +35 -0
- package/dist/qualityIntelligence/connectorErrors.d.ts +16 -0
- package/dist/qualityIntelligence/connectorErrors.d.ts.map +1 -0
- package/dist/qualityIntelligence/connectorErrors.js +56 -0
- package/dist/qualityIntelligence/connectorRoutes.d.ts +7 -0
- package/dist/qualityIntelligence/connectorRoutes.d.ts.map +1 -0
- package/dist/qualityIntelligence/connectorRoutes.js +167 -0
- package/dist/qualityIntelligence/editRoutes.d.ts +5 -0
- package/dist/qualityIntelligence/editRoutes.d.ts.map +1 -0
- package/dist/qualityIntelligence/editRoutes.js +293 -0
- package/dist/qualityIntelligence/exportAssembly.d.ts +22 -0
- package/dist/qualityIntelligence/exportAssembly.d.ts.map +1 -0
- package/dist/qualityIntelligence/exportAssembly.js +352 -0
- package/dist/qualityIntelligence/exportRoutes.d.ts +5 -0
- package/dist/qualityIntelligence/exportRoutes.d.ts.map +1 -0
- package/dist/qualityIntelligence/exportRoutes.js +320 -0
- package/dist/qualityIntelligence/figma/figmaConcurrency.d.ts +8 -0
- package/dist/qualityIntelligence/figma/figmaConcurrency.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaConcurrency.js +34 -0
- package/dist/qualityIntelligence/figma/figmaConnector.d.ts +65 -0
- package/dist/qualityIntelligence/figma/figmaConnector.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaConnector.js +184 -0
- package/dist/qualityIntelligence/figma/figmaConnectorAudit.d.ts +52 -0
- package/dist/qualityIntelligence/figma/figmaConnectorAudit.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaConnectorAudit.js +63 -0
- package/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts +31 -0
- package/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaConnectorErrors.js +220 -0
- package/dist/qualityIntelligence/figma/figmaConnectorMetrics.d.ts +44 -0
- package/dist/qualityIntelligence/figma/figmaConnectorMetrics.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaConnectorMetrics.js +49 -0
- package/dist/qualityIntelligence/figma/figmaConsent.d.ts +39 -0
- package/dist/qualityIntelligence/figma/figmaConsent.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaConsent.js +62 -0
- package/dist/qualityIntelligence/figma/figmaHttpPort.d.ts +28 -0
- package/dist/qualityIntelligence/figma/figmaHttpPort.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaHttpPort.js +70 -0
- package/dist/qualityIntelligence/figma/figmaObservedActions.d.ts +49 -0
- package/dist/qualityIntelligence/figma/figmaObservedActions.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaObservedActions.js +89 -0
- package/dist/qualityIntelligence/figma/figmaReadiness.d.ts +32 -0
- package/dist/qualityIntelligence/figma/figmaReadiness.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaReadiness.js +67 -0
- package/dist/qualityIntelligence/figma/figmaRenderPort.d.ts +29 -0
- package/dist/qualityIntelligence/figma/figmaRenderPort.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaRenderPort.js +93 -0
- package/dist/qualityIntelligence/figma/figmaResnapshot.d.ts +28 -0
- package/dist/qualityIntelligence/figma/figmaResnapshot.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaResnapshot.js +38 -0
- package/dist/qualityIntelligence/figma/figmaRetry.d.ts +31 -0
- package/dist/qualityIntelligence/figma/figmaRetry.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaRetry.js +62 -0
- package/dist/qualityIntelligence/figma/figmaScopeRef.d.ts +9 -0
- package/dist/qualityIntelligence/figma/figmaScopeRef.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaScopeRef.js +18 -0
- package/dist/qualityIntelligence/figma/figmaScopedPagination.d.ts +86 -0
- package/dist/qualityIntelligence/figma/figmaScopedPagination.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaScopedPagination.js +308 -0
- package/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts +31 -0
- package/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaSnapshotBuilder.js +314 -0
- package/dist/qualityIntelligence/figma/figmaSnapshotHash.d.ts +18 -0
- package/dist/qualityIntelligence/figma/figmaSnapshotHash.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaSnapshotHash.js +63 -0
- package/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts +65 -0
- package/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaSnapshotTypes.js +13 -0
- package/dist/qualityIntelligence/figma/figmaTokenSource.d.ts +9 -0
- package/dist/qualityIntelligence/figma/figmaTokenSource.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaTokenSource.js +61 -0
- package/dist/qualityIntelligence/figma/figmaTokenStore.d.ts +19 -0
- package/dist/qualityIntelligence/figma/figmaTokenStore.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaTokenStore.js +156 -0
- package/dist/qualityIntelligence/figma/figmaUrl.d.ts +6 -0
- package/dist/qualityIntelligence/figma/figmaUrl.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/figmaUrl.js +36 -0
- package/dist/qualityIntelligence/figma/index.d.ts +20 -0
- package/dist/qualityIntelligence/figma/index.d.ts.map +1 -0
- package/dist/qualityIntelligence/figma/index.js +26 -0
- package/dist/qualityIntelligence/figmaCodegenRoutes.d.ts +28 -0
- package/dist/qualityIntelligence/figmaCodegenRoutes.d.ts.map +1 -0
- package/dist/qualityIntelligence/figmaCodegenRoutes.js +165 -0
- package/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts +55 -0
- package/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts.map +1 -0
- package/dist/qualityIntelligence/figmaSnapshotAdapter.js +219 -0
- package/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts +64 -0
- package/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts.map +1 -0
- package/dist/qualityIntelligence/figmaSnapshotOrchestration.js +203 -0
- package/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts +112 -0
- package/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts.map +1 -0
- package/dist/qualityIntelligence/figmaSnapshotRoutes.js +1063 -0
- package/dist/qualityIntelligence/figmaSnapshotScreenIds.d.ts +19 -0
- package/dist/qualityIntelligence/figmaSnapshotScreenIds.d.ts.map +1 -0
- package/dist/qualityIntelligence/figmaSnapshotScreenIds.js +75 -0
- package/dist/qualityIntelligence/generationPort.d.ts +15 -0
- package/dist/qualityIntelligence/generationPort.d.ts.map +1 -0
- package/dist/qualityIntelligence/generationPort.js +185 -0
- package/dist/qualityIntelligence/handoffErrors.d.ts +9 -0
- package/dist/qualityIntelligence/handoffErrors.d.ts.map +1 -0
- package/dist/qualityIntelligence/handoffErrors.js +21 -0
- package/dist/qualityIntelligence/handoffRoutes.d.ts +15 -0
- package/dist/qualityIntelligence/handoffRoutes.d.ts.map +1 -0
- package/dist/qualityIntelligence/handoffRoutes.js +341 -0
- package/dist/qualityIntelligence/index.d.ts +17 -0
- package/dist/qualityIntelligence/index.d.ts.map +1 -0
- package/dist/qualityIntelligence/index.js +36 -0
- package/dist/qualityIntelligence/judgePort.d.ts +30 -0
- package/dist/qualityIntelligence/judgePort.d.ts.map +1 -0
- package/dist/qualityIntelligence/judgePort.js +326 -0
- package/dist/qualityIntelligence/modelSelection.d.ts +58 -0
- package/dist/qualityIntelligence/modelSelection.d.ts.map +1 -0
- package/dist/qualityIntelligence/modelSelection.js +148 -0
- package/dist/qualityIntelligence/reCheckRoutes.d.ts +6 -0
- package/dist/qualityIntelligence/reCheckRoutes.d.ts.map +1 -0
- package/dist/qualityIntelligence/reCheckRoutes.js +1157 -0
- package/dist/qualityIntelligence/retentionEnforcement.d.ts +13 -0
- package/dist/qualityIntelligence/retentionEnforcement.d.ts.map +1 -0
- package/dist/qualityIntelligence/retentionEnforcement.js +47 -0
- package/dist/qualityIntelligence/retentionRoutes.d.ts +8 -0
- package/dist/qualityIntelligence/retentionRoutes.d.ts.map +1 -0
- package/dist/qualityIntelligence/retentionRoutes.js +74 -0
- package/dist/qualityIntelligence/reviewRoutes.d.ts +5 -0
- package/dist/qualityIntelligence/reviewRoutes.d.ts.map +1 -0
- package/dist/qualityIntelligence/reviewRoutes.js +145 -0
- package/dist/qualityIntelligence/reviewStore.d.ts +75 -0
- package/dist/qualityIntelligence/reviewStore.d.ts.map +1 -0
- package/dist/qualityIntelligence/reviewStore.js +170 -0
- package/dist/qualityIntelligence/runExecution.d.ts +36 -0
- package/dist/qualityIntelligence/runExecution.d.ts.map +1 -0
- package/dist/qualityIntelligence/runExecution.js +180 -0
- package/dist/qualityIntelligence/runIngestion.d.ts +70 -0
- package/dist/qualityIntelligence/runIngestion.d.ts.map +1 -0
- package/dist/qualityIntelligence/runIngestion.js +1235 -0
- package/dist/qualityIntelligence/runRegistry.d.ts +31 -0
- package/dist/qualityIntelligence/runRegistry.d.ts.map +1 -0
- package/dist/qualityIntelligence/runRegistry.js +66 -0
- package/dist/qualityIntelligence/runRoutes.d.ts +16 -0
- package/dist/qualityIntelligence/runRoutes.d.ts.map +1 -0
- package/dist/qualityIntelligence/runRoutes.js +357 -0
- package/dist/qualityIntelligence/traceabilityRoutes.d.ts +5 -0
- package/dist/qualityIntelligence/traceabilityRoutes.d.ts.map +1 -0
- package/dist/qualityIntelligence/traceabilityRoutes.js +173 -0
- package/dist/qualityIntelligence/uiRoutes.d.ts +7 -0
- package/dist/qualityIntelligence/uiRoutes.d.ts.map +1 -0
- package/dist/qualityIntelligence/uiRoutes.js +336 -0
- package/dist/read-handlers.d.ts +9 -0
- package/dist/read-handlers.d.ts.map +1 -0
- package/dist/read-handlers.js +265 -0
- package/dist/relationship-handlers.d.ts +191 -0
- package/dist/relationship-handlers.d.ts.map +1 -0
- package/dist/relationship-handlers.js +0 -0
- package/dist/routes.d.ts +37 -0
- package/dist/routes.d.ts.map +1 -0
- package/dist/routes.js +507 -0
- package/dist/run-engine.d.ts +25 -0
- package/dist/run-engine.d.ts.map +1 -0
- package/dist/run-engine.js +385 -0
- package/dist/run-handlers.d.ts +9 -0
- package/dist/run-handlers.d.ts.map +1 -0
- package/dist/run-handlers.js +465 -0
- package/dist/run-request.d.ts +17 -0
- package/dist/run-request.d.ts.map +1 -0
- package/dist/run-request.js +219 -0
- package/dist/runs.d.ts +47 -0
- package/dist/runs.d.ts.map +1 -0
- package/dist/runs.js +100 -0
- package/dist/server.d.ts +13 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +152 -0
- package/dist/sink.d.ts +28 -0
- package/dist/sink.d.ts.map +1 -0
- package/dist/sink.js +80 -0
- package/dist/sse-write.d.ts +9 -0
- package/dist/sse-write.d.ts.map +1 -0
- package/dist/sse-write.js +26 -0
- package/dist/sse.d.ts +8 -0
- package/dist/sse.d.ts.map +1 -0
- package/dist/sse.js +27 -0
- package/dist/static.d.ts +5 -0
- package/dist/static.d.ts.map +1 -0
- package/dist/static.js +76 -0
- package/dist/store/chats.d.ts +17 -0
- package/dist/store/chats.d.ts.map +1 -0
- package/dist/store/chats.js +624 -0
- package/dist/store/db.d.ts +11 -0
- package/dist/store/db.d.ts.map +1 -0
- package/dist/store/db.js +203 -0
- package/dist/store/errors.d.ts +13 -0
- package/dist/store/errors.d.ts.map +1 -0
- package/dist/store/errors.js +30 -0
- package/dist/store/index.d.ts +7 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +6 -0
- package/dist/store/messages.d.ts +8 -0
- package/dist/store/messages.d.ts.map +1 -0
- package/dist/store/messages.js +149 -0
- package/dist/store/paths.d.ts +5 -0
- package/dist/store/paths.d.ts.map +1 -0
- package/dist/store/paths.js +84 -0
- package/dist/store/projects.d.ts +8 -0
- package/dist/store/projects.d.ts.map +1 -0
- package/dist/store/projects.js +59 -0
- package/dist/store/relationship-audit.d.ts +42 -0
- package/dist/store/relationship-audit.d.ts.map +1 -0
- package/dist/store/relationship-audit.js +155 -0
- package/dist/store/relationships.d.ts +191 -0
- package/dist/store/relationships.d.ts.map +1 -0
- package/dist/store/relationships.js +724 -0
- package/dist/store/schema.d.ts +4 -0
- package/dist/store/schema.d.ts.map +1 -0
- package/dist/store/schema.js +220 -0
- package/dist/store/types.d.ts +29 -0
- package/dist/store/types.d.ts.map +1 -0
- package/dist/store/types.js +8 -0
- package/dist/store/validation.d.ts +7 -0
- package/dist/store/validation.d.ts.map +1 -0
- package/dist/store/validation.js +117 -0
- package/dist/store-handlers.d.ts +17 -0
- package/dist/store-handlers.d.ts.map +1 -0
- package/dist/store-handlers.js +872 -0
- package/dist/terminal-errors.d.ts +22 -0
- package/dist/terminal-errors.d.ts.map +1 -0
- package/dist/terminal-errors.js +45 -0
- package/dist/terminal-evidence.d.ts +21 -0
- package/dist/terminal-evidence.d.ts.map +1 -0
- package/dist/terminal-evidence.js +65 -0
- package/dist/terminal-routes.d.ts +10 -0
- package/dist/terminal-routes.d.ts.map +1 -0
- package/dist/terminal-routes.js +219 -0
- package/dist/terminal.d.ts +68 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/terminal.js +855 -0
- package/package.json +52 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,cAAc,IAAI,CAAC;AAqNhC,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAepD"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
// ADR-0013 D5 — Schema v1 + migration runner via PRAGMA user_version. Forward-only, idempotent,
|
|
2
|
+
// transactional. Each migration is a `.sql` string of one or more CREATE/ALTER statements; the
|
|
3
|
+
// runner applies migrations whose 1-based index > current user_version.
|
|
4
|
+
export const SCHEMA_VERSION = 5;
|
|
5
|
+
const V1_SQL = `
|
|
6
|
+
CREATE TABLE projects (
|
|
7
|
+
path TEXT NOT NULL PRIMARY KEY,
|
|
8
|
+
name TEXT NOT NULL,
|
|
9
|
+
favorite INTEGER NOT NULL DEFAULT 0,
|
|
10
|
+
created_at INTEGER NOT NULL,
|
|
11
|
+
last_opened_at INTEGER NOT NULL
|
|
12
|
+
) STRICT;
|
|
13
|
+
|
|
14
|
+
CREATE TABLE chats (
|
|
15
|
+
id TEXT NOT NULL PRIMARY KEY,
|
|
16
|
+
project_path TEXT NOT NULL REFERENCES projects(path) ON DELETE CASCADE,
|
|
17
|
+
title TEXT NOT NULL,
|
|
18
|
+
selected_model TEXT NOT NULL,
|
|
19
|
+
branch_label TEXT,
|
|
20
|
+
status TEXT,
|
|
21
|
+
created_at INTEGER NOT NULL,
|
|
22
|
+
updated_at INTEGER NOT NULL
|
|
23
|
+
) STRICT;
|
|
24
|
+
|
|
25
|
+
CREATE TABLE chat_messages (
|
|
26
|
+
id TEXT NOT NULL PRIMARY KEY,
|
|
27
|
+
chat_id TEXT NOT NULL REFERENCES chats(id) ON DELETE CASCADE,
|
|
28
|
+
role TEXT NOT NULL,
|
|
29
|
+
content TEXT NOT NULL,
|
|
30
|
+
timestamp INTEGER NOT NULL,
|
|
31
|
+
run_id TEXT,
|
|
32
|
+
workflow_id TEXT,
|
|
33
|
+
workflow_status TEXT,
|
|
34
|
+
short_result TEXT
|
|
35
|
+
) STRICT;
|
|
36
|
+
|
|
37
|
+
CREATE INDEX idx_chats_project_path ON chats(project_path);
|
|
38
|
+
CREATE INDEX idx_messages_chat_id ON chat_messages(chat_id);
|
|
39
|
+
CREATE INDEX idx_messages_chat_ts ON chat_messages(chat_id, timestamp);
|
|
40
|
+
`;
|
|
41
|
+
// V2 (issue #66) adds an additive `task_type` column to chat_messages so the chat can label
|
|
42
|
+
// non-workflow task runs (verify, explain-plan) without overloading workflow_id. STRICT tables
|
|
43
|
+
// require an explicit type for ALTER ... ADD COLUMN; existing rows materialise NULL.
|
|
44
|
+
const V2_SQL = `
|
|
45
|
+
ALTER TABLE chat_messages ADD COLUMN task_type TEXT;
|
|
46
|
+
`;
|
|
47
|
+
// V3 (issue #184) adds two additive columns to `chats` so a chat can carry its connected
|
|
48
|
+
// Files-window scope across reloads. `connected_scope_paths` keeps its legacy column name but
|
|
49
|
+
// stores the JSON scope payload ({ kind, relativePaths }); PR #254 legacy rows that stored only a
|
|
50
|
+
// JSON path array decode as files scopes. `connected_scope_at` stores epoch ms. Both NULL for
|
|
51
|
+
// pre-binding rows; patching either column to NULL clears the binding. The combination round-trips
|
|
52
|
+
// into the wire-type ChatConnectedScope at the store boundary.
|
|
53
|
+
const V3_SQL = `
|
|
54
|
+
ALTER TABLE chats ADD COLUMN connected_scope_paths TEXT;
|
|
55
|
+
ALTER TABLE chats ADD COLUMN connected_scope_at INTEGER;
|
|
56
|
+
`;
|
|
57
|
+
// V4 (issue #200) adds additive local-knowledge scope state to chats. The JSON payload stores
|
|
58
|
+
// either { kind: "capsule", capsuleId, connectedAtMs } or { kind: "capsule-set", capsuleSetId,
|
|
59
|
+
// connectedAtMs }. NULL means no local-knowledge scope is selected for the chat.
|
|
60
|
+
const V4_SQL = `
|
|
61
|
+
ALTER TABLE chats ADD COLUMN local_knowledge_scope_json TEXT;
|
|
62
|
+
`;
|
|
63
|
+
// V5 (issue #539, epic #532) — relationship engine tables. STRICT mode. The schema follows
|
|
64
|
+
// docs/relationship-engine/storage.md §3.1 (relationships, lifecycle history) and
|
|
65
|
+
// docs/relationship-engine/audit-events.md §5.5 (relationship_audit_entries sibling table).
|
|
66
|
+
// No FOREIGN KEY from relationships → projects: endpoint liveness is resolved at the API edge
|
|
67
|
+
// through the RelationshipEndpointResolver port (storage.md §2.2). Indexes serve the bounded
|
|
68
|
+
// query patterns from api-contract.md §4.3; partial unique indexes enforce 1:1 cardinality at
|
|
69
|
+
// the DB layer as a second barrier alongside the validator (storage.md §3.3, §4.1).
|
|
70
|
+
const V5_SQL = `
|
|
71
|
+
CREATE TABLE relationships (
|
|
72
|
+
id TEXT NOT NULL PRIMARY KEY,
|
|
73
|
+
schema_version TEXT NOT NULL,
|
|
74
|
+
workspace_scope_id TEXT NOT NULL,
|
|
75
|
+
scope_kind TEXT NOT NULL,
|
|
76
|
+
scope_coordinate TEXT NOT NULL,
|
|
77
|
+
type TEXT NOT NULL,
|
|
78
|
+
source_kind TEXT NOT NULL,
|
|
79
|
+
source_id TEXT NOT NULL,
|
|
80
|
+
target_kind TEXT NOT NULL,
|
|
81
|
+
target_id TEXT NOT NULL,
|
|
82
|
+
lifecycle TEXT NOT NULL,
|
|
83
|
+
created_at INTEGER NOT NULL,
|
|
84
|
+
updated_at INTEGER NOT NULL,
|
|
85
|
+
etag TEXT NOT NULL,
|
|
86
|
+
confidence REAL,
|
|
87
|
+
summary TEXT,
|
|
88
|
+
CHECK (
|
|
89
|
+
schema_version IN ('1')
|
|
90
|
+
AND type IN (
|
|
91
|
+
'reads-context','proposes-patch','uses-tool','starts-workflow',
|
|
92
|
+
'produces-evidence','references-document','depends-on'
|
|
93
|
+
)
|
|
94
|
+
AND lifecycle IN (
|
|
95
|
+
'draft','active','archived','superseded','revoked','blocked','stale'
|
|
96
|
+
)
|
|
97
|
+
AND scope_kind IN ('user','workspace','project','workflow','global')
|
|
98
|
+
AND source_kind IN (
|
|
99
|
+
'memory','capsule','capsule-set','workflow-run','evidence-run',
|
|
100
|
+
'workspace-path','chat','tool','patch-proposal',
|
|
101
|
+
'agent','connector','data-source','skill','mcp-tool'
|
|
102
|
+
)
|
|
103
|
+
AND target_kind IN (
|
|
104
|
+
'memory','capsule','capsule-set','workflow-run','evidence-run',
|
|
105
|
+
'workspace-path','chat','tool','patch-proposal',
|
|
106
|
+
'agent','connector','data-source','skill','mcp-tool'
|
|
107
|
+
)
|
|
108
|
+
AND created_at >= 0
|
|
109
|
+
AND updated_at >= created_at
|
|
110
|
+
AND (confidence IS NULL OR (confidence >= 0.0 AND confidence <= 1.0))
|
|
111
|
+
AND (summary IS NULL OR length(summary) <= 240)
|
|
112
|
+
)
|
|
113
|
+
) STRICT;
|
|
114
|
+
|
|
115
|
+
CREATE INDEX idx_relationships_source
|
|
116
|
+
ON relationships(workspace_scope_id, source_kind, source_id);
|
|
117
|
+
CREATE INDEX idx_relationships_target
|
|
118
|
+
ON relationships(workspace_scope_id, target_kind, target_id);
|
|
119
|
+
CREATE INDEX idx_relationships_type
|
|
120
|
+
ON relationships(workspace_scope_id, type, lifecycle);
|
|
121
|
+
CREATE INDEX idx_relationships_lifecycle
|
|
122
|
+
ON relationships(workspace_scope_id, lifecycle, updated_at);
|
|
123
|
+
|
|
124
|
+
CREATE UNIQUE INDEX uniq_relationships_produces_evidence_source
|
|
125
|
+
ON relationships(workspace_scope_id, source_kind, source_id)
|
|
126
|
+
WHERE type = 'produces-evidence' AND lifecycle IN ('draft','active','archived');
|
|
127
|
+
|
|
128
|
+
CREATE UNIQUE INDEX uniq_relationships_starts_workflow_target
|
|
129
|
+
ON relationships(workspace_scope_id, target_kind, target_id)
|
|
130
|
+
WHERE type = 'starts-workflow' AND lifecycle IN ('draft','active','archived');
|
|
131
|
+
|
|
132
|
+
CREATE TABLE relationship_lifecycle_history (
|
|
133
|
+
id TEXT NOT NULL PRIMARY KEY,
|
|
134
|
+
relationship_id TEXT NOT NULL REFERENCES relationships(id) ON DELETE CASCADE,
|
|
135
|
+
from_state TEXT NOT NULL,
|
|
136
|
+
to_state TEXT NOT NULL,
|
|
137
|
+
occurred_at INTEGER NOT NULL,
|
|
138
|
+
summary TEXT,
|
|
139
|
+
CHECK (
|
|
140
|
+
from_state IN ('draft','active','archived','superseded','revoked','blocked','stale')
|
|
141
|
+
AND to_state IN ('draft','active','archived','superseded','revoked','blocked','stale')
|
|
142
|
+
AND occurred_at >= 0
|
|
143
|
+
AND (summary IS NULL OR length(summary) <= 240)
|
|
144
|
+
)
|
|
145
|
+
) STRICT;
|
|
146
|
+
|
|
147
|
+
CREATE INDEX idx_relationship_lifecycle_relationship
|
|
148
|
+
ON relationship_lifecycle_history(relationship_id, occurred_at);
|
|
149
|
+
|
|
150
|
+
CREATE TABLE relationship_audit_entries (
|
|
151
|
+
event_id TEXT NOT NULL PRIMARY KEY,
|
|
152
|
+
relationship_audit_schema_ver TEXT NOT NULL,
|
|
153
|
+
workspace_id TEXT NOT NULL,
|
|
154
|
+
sequence INTEGER NOT NULL,
|
|
155
|
+
occurred_at INTEGER NOT NULL,
|
|
156
|
+
kind TEXT NOT NULL,
|
|
157
|
+
relationship_id TEXT,
|
|
158
|
+
actor_surface TEXT NOT NULL,
|
|
159
|
+
redacted_actor_id TEXT NOT NULL,
|
|
160
|
+
redaction_state TEXT NOT NULL,
|
|
161
|
+
summary TEXT NOT NULL,
|
|
162
|
+
payload_json TEXT NOT NULL,
|
|
163
|
+
CHECK (
|
|
164
|
+
relationship_audit_schema_ver IN ('1')
|
|
165
|
+
AND kind IN (
|
|
166
|
+
'relationship.created','relationship.updated','relationship.deleted',
|
|
167
|
+
'relationship.reconnected','relationship.validation-denied',
|
|
168
|
+
'relationship.policy-denied','relationship.activity-transitioned',
|
|
169
|
+
'relationship.impact-analysis-bounded','relationship.health-finding'
|
|
170
|
+
)
|
|
171
|
+
AND actor_surface IN ('chat','inspector','workflow','health-check','system')
|
|
172
|
+
AND redaction_state IN ('redacted-on-write','redacted-on-write-and-persist')
|
|
173
|
+
AND sequence >= 0
|
|
174
|
+
AND occurred_at >= 0
|
|
175
|
+
AND length(summary) <= 240
|
|
176
|
+
)
|
|
177
|
+
) STRICT;
|
|
178
|
+
|
|
179
|
+
CREATE UNIQUE INDEX uniq_relationship_audit_workspace_sequence
|
|
180
|
+
ON relationship_audit_entries(workspace_id, sequence);
|
|
181
|
+
CREATE INDEX idx_relationship_audit_workspace_occurred_at
|
|
182
|
+
ON relationship_audit_entries(workspace_id, occurred_at);
|
|
183
|
+
CREATE INDEX idx_relationship_audit_relationship
|
|
184
|
+
ON relationship_audit_entries(workspace_id, relationship_id, occurred_at)
|
|
185
|
+
WHERE relationship_id IS NOT NULL;
|
|
186
|
+
`;
|
|
187
|
+
const MIGRATIONS = [
|
|
188
|
+
{ version: 1, sql: V1_SQL },
|
|
189
|
+
{ version: 2, sql: V2_SQL },
|
|
190
|
+
{ version: 3, sql: V3_SQL },
|
|
191
|
+
{ version: 4, sql: V4_SQL },
|
|
192
|
+
{ version: 5, sql: V5_SQL },
|
|
193
|
+
];
|
|
194
|
+
function currentUserVersion(db) {
|
|
195
|
+
const row = db.prepare("PRAGMA user_version").get();
|
|
196
|
+
return typeof row?.user_version === "number" ? row.user_version : 0;
|
|
197
|
+
}
|
|
198
|
+
function setUserVersion(db, v) {
|
|
199
|
+
// user_version cannot be parameterized; v is a server-controlled integer constant from MIGRATIONS.
|
|
200
|
+
db.exec(`PRAGMA user_version = ${String(v)}`);
|
|
201
|
+
}
|
|
202
|
+
// Applies pending migrations inside a single transaction. Throws (and rolls back) on any failure.
|
|
203
|
+
export function runMigrations(db) {
|
|
204
|
+
const start = currentUserVersion(db);
|
|
205
|
+
const pending = MIGRATIONS.filter((m) => m.version > start);
|
|
206
|
+
if (pending.length === 0)
|
|
207
|
+
return;
|
|
208
|
+
db.exec("BEGIN");
|
|
209
|
+
try {
|
|
210
|
+
for (const m of pending) {
|
|
211
|
+
db.exec(m.sql);
|
|
212
|
+
setUserVersion(db, m.version);
|
|
213
|
+
}
|
|
214
|
+
db.exec("COMMIT");
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
db.exec("ROLLBACK");
|
|
218
|
+
throw error;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Project, Chat, ChatConnectedScope, ChatLocalKnowledgeScope, ChatRole, WorkflowStatus, ChatMessage, CreateChatOptions, UpdateProjectPatch, UpdateChatPatch, NewChatMessage, UpdateChatMessagePatch } from "@oscharko-dev/keiko-contracts/bff-wire";
|
|
2
|
+
export type { Project, Chat, ChatConnectedScope, ChatLocalKnowledgeScope, ChatRole, WorkflowStatus, ChatMessage, CreateChatOptions, UpdateProjectPatch, UpdateChatPatch, NewChatMessage, UpdateChatMessagePatch, };
|
|
3
|
+
export interface UiStore {
|
|
4
|
+
readonly listProjects: () => readonly Project[];
|
|
5
|
+
readonly createProject: (path: string, name?: string) => Project;
|
|
6
|
+
readonly updateProject: (path: string, patch: UpdateProjectPatch) => Project;
|
|
7
|
+
readonly deleteProject: (path: string) => void;
|
|
8
|
+
readonly listChats: (projectPath: string, limit?: number) => readonly Chat[];
|
|
9
|
+
readonly findChatById: (id: string) => Chat | undefined;
|
|
10
|
+
readonly createChat: (projectPath: string, title: string, selectedModel: string, opts?: CreateChatOptions) => Chat;
|
|
11
|
+
readonly updateChat: (id: string, patch: UpdateChatPatch, options?: UpdateChatOptions) => Chat;
|
|
12
|
+
readonly deleteChat: (id: string) => void;
|
|
13
|
+
readonly listMessages: (chatId: string, limit?: number) => readonly ChatMessage[];
|
|
14
|
+
readonly findMessageById: (id: string) => ChatMessage | undefined;
|
|
15
|
+
readonly createMessage: (msg: NewChatMessage) => ChatMessage;
|
|
16
|
+
readonly createMessages: (messages: readonly NewChatMessage[]) => readonly ChatMessage[];
|
|
17
|
+
readonly updateMessage: (id: string, patch: UpdateChatMessagePatch) => ChatMessage;
|
|
18
|
+
readonly close: () => void;
|
|
19
|
+
}
|
|
20
|
+
export interface UpdateChatOptions {
|
|
21
|
+
readonly maxConnectedSources?: number;
|
|
22
|
+
readonly maxLocalKnowledgeSources?: number;
|
|
23
|
+
}
|
|
24
|
+
export interface UiStoreFactoryOptions {
|
|
25
|
+
readonly now?: () => number;
|
|
26
|
+
readonly newId?: () => string;
|
|
27
|
+
readonly redactString?: (input: string) => string;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EACJ,kBAAkB,EAClB,uBAAuB,EACvB,QAAQ,EACR,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,sBAAsB,EACvB,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACV,OAAO,EACP,IAAI,EACJ,kBAAkB,EAClB,uBAAuB,EACvB,QAAQ,EACR,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,sBAAsB,GACvB,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,SAAS,OAAO,EAAE,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IACjE,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC;IAC7E,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C,QAAQ,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,CAAC;IAC7E,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,UAAU,EAAE,CACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,iBAAiB,KACrB,IAAI,CAAC;IACV,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/F,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAE1C,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,SAAS,WAAW,EAAE,CAAC;IAClF,QAAQ,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,WAAW,CAAC;IAC7D,QAAQ,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,KAAK,SAAS,WAAW,EAAE,CAAC;IACzF,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,KAAK,WAAW,CAAC;IAEnF,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAC5C;AAID,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACnD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// ADR-0013 D4 — UiStore port and entity types. The port is the seam for testing; the concrete
|
|
2
|
+
// `createNodeUiStore` adapter and the `createInMemoryUiStore` test adapter both implement it.
|
|
3
|
+
//
|
|
4
|
+
// Re-export shim: wire-safe entity types live in @oscharko-dev/keiko-contracts (issue #158).
|
|
5
|
+
// WorkflowStatus and ChatMessage are imported from the bff-wire subpath because those names
|
|
6
|
+
// collide with unit-test-events.ts and gateway.ts in the main contracts index.
|
|
7
|
+
// verbatimModuleSyntax is on: type-only names use `export type`.
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface ValidateProjectPathOptions {
|
|
2
|
+
readonly mustExist: boolean;
|
|
3
|
+
}
|
|
4
|
+
export type PathShape = "posix-absolute" | "windows-drive" | "windows-unc" | "windows-device" | "relative";
|
|
5
|
+
export declare function classifyPathShape(input: string): PathShape;
|
|
6
|
+
export declare function validateProjectPath(input: string, options: ValidateProjectPathOptions): string;
|
|
7
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/store/validation.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,SAAS,GACjB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,UAAU,CAAC;AAIf,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAM1D;AAiFD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,GAAG,MAAM,CAK9F"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// ADR-0013 D6 — Path validation policy (fail-closed). Structural rules in one place; no path reaches
|
|
2
|
+
// the database without passing every check. Normalized absolute form is the only thing that returns.
|
|
3
|
+
//
|
|
4
|
+
// Issue #174 — cross-platform project roots. Native Windows drive paths (e.g. `C:\Users\Example`)
|
|
5
|
+
// are accepted as local project roots. Unsafe Windows shapes — UNC (`\\server\share`), device
|
|
6
|
+
// (`\\?\` / `\\.\`), traversal segments, null bytes, and remote URL forms — remain rejected.
|
|
7
|
+
// Shape classification is host-independent so unit tests pin every branch on any host OS.
|
|
8
|
+
import { isAbsolute, normalize, resolve as resolvePath, win32 as winPath } from "node:path";
|
|
9
|
+
import { statSync } from "node:fs";
|
|
10
|
+
import { invalidPath, pathNotDirectory, pathNotFound } from "./errors.js";
|
|
11
|
+
const MAX_PATH_LEN = 4096;
|
|
12
|
+
// scheme prefix per RFC 3986: ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) "://"
|
|
13
|
+
const REMOTE_URL_PREFIX_RE = /^[a-zA-Z][a-zA-Z0-9+\-.]*:\/\//;
|
|
14
|
+
const WINDOWS_DRIVE_RE = /^[a-zA-Z]:[\\/]/;
|
|
15
|
+
// Device-namespace prefixes: `\\?\`, `\\.\`, `//?/`, `//./`. Reserved for raw device or extended
|
|
16
|
+
// length paths and never used for normal project roots.
|
|
17
|
+
const WINDOWS_DEVICE_PREFIX_RE = /^[\\/]{2}[?.][\\/]/;
|
|
18
|
+
// UNC (Universal Naming Convention) prefix: `\\<host>\<share>` or `//<host>/<share>`. The first
|
|
19
|
+
// character after the two separators is part of the host name and must not start a device prefix.
|
|
20
|
+
const WINDOWS_UNC_PREFIX_RE = /^[\\/]{2}[^\\/?.]/;
|
|
21
|
+
const TRAVERSAL_SEGMENT_RE = /(^|[\\/])\.\.(?:[\\/]|$)/;
|
|
22
|
+
// Pure, host-independent classifier. Inspects only the input string so the same call returns the
|
|
23
|
+
// same shape on Linux, macOS, and Windows hosts.
|
|
24
|
+
export function classifyPathShape(input) {
|
|
25
|
+
if (WINDOWS_DEVICE_PREFIX_RE.test(input))
|
|
26
|
+
return "windows-device";
|
|
27
|
+
if (WINDOWS_UNC_PREFIX_RE.test(input))
|
|
28
|
+
return "windows-unc";
|
|
29
|
+
if (WINDOWS_DRIVE_RE.test(input))
|
|
30
|
+
return "windows-drive";
|
|
31
|
+
if (input.startsWith("/"))
|
|
32
|
+
return "posix-absolute";
|
|
33
|
+
return "relative";
|
|
34
|
+
}
|
|
35
|
+
function rejectUnsafeShape(input, stage) {
|
|
36
|
+
const shape = classifyPathShape(input);
|
|
37
|
+
if (shape === "windows-unc") {
|
|
38
|
+
throw invalidPath(stage === "input"
|
|
39
|
+
? "Windows UNC paths are not supported."
|
|
40
|
+
: "Windows UNC paths are not supported after normalization.");
|
|
41
|
+
}
|
|
42
|
+
if (shape === "windows-device") {
|
|
43
|
+
throw invalidPath(stage === "input"
|
|
44
|
+
? "Windows device paths are not supported."
|
|
45
|
+
: "Windows device paths are not supported after normalization.");
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function rejectTraversal(input) {
|
|
49
|
+
if (TRAVERSAL_SEGMENT_RE.test(input)) {
|
|
50
|
+
throw invalidPath("Path contains a traversal segment.");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function rejectStructural(input) {
|
|
54
|
+
if (input.length === 0)
|
|
55
|
+
throw invalidPath("Path is empty.");
|
|
56
|
+
if (input.length > MAX_PATH_LEN)
|
|
57
|
+
throw invalidPath("Path too long.");
|
|
58
|
+
if (input.includes("\0"))
|
|
59
|
+
throw invalidPath("Path contains a null byte.");
|
|
60
|
+
const shape = classifyPathShape(input);
|
|
61
|
+
// Windows drive paths with redundant forward slashes (for example `C://Users/Example`) match the
|
|
62
|
+
// scheme-prefix regex even though they are valid local paths. Classify the shape first and skip
|
|
63
|
+
// the remote-URL check for Windows drive shapes; other shapes still fail closed on `http://`,
|
|
64
|
+
// `ssh://`, `file://`, and similar URL forms.
|
|
65
|
+
if (shape !== "windows-drive" && REMOTE_URL_PREFIX_RE.test(input)) {
|
|
66
|
+
throw invalidPath("Remote URL forms are not allowed.");
|
|
67
|
+
}
|
|
68
|
+
rejectUnsafeShape(input, "input");
|
|
69
|
+
rejectTraversal(input);
|
|
70
|
+
if (shape === "relative")
|
|
71
|
+
throw invalidPath("Path must be absolute.");
|
|
72
|
+
return shape;
|
|
73
|
+
}
|
|
74
|
+
function normalizeForShape(input, shape) {
|
|
75
|
+
// Use the Windows path namespace for Windows drive paths so backslash separators and drive
|
|
76
|
+
// letters normalize correctly on any host OS. POSIX-absolute paths use the OS-native namespace,
|
|
77
|
+
// which on POSIX hosts is identical to `path.posix`.
|
|
78
|
+
if (shape === "windows-drive") {
|
|
79
|
+
const normalized = winPath.normalize(input);
|
|
80
|
+
if (!winPath.isAbsolute(normalized)) {
|
|
81
|
+
throw invalidPath("Path must be absolute after normalization.");
|
|
82
|
+
}
|
|
83
|
+
rejectUnsafeShape(normalized, "normalized");
|
|
84
|
+
rejectTraversal(normalized);
|
|
85
|
+
return normalized;
|
|
86
|
+
}
|
|
87
|
+
const normalized = normalize(input);
|
|
88
|
+
const resolved = resolvePath(normalized);
|
|
89
|
+
if (!isAbsolute(resolved)) {
|
|
90
|
+
throw invalidPath("Path must be absolute after normalization.");
|
|
91
|
+
}
|
|
92
|
+
rejectUnsafeShape(resolved, "normalized");
|
|
93
|
+
rejectTraversal(resolved);
|
|
94
|
+
return resolved;
|
|
95
|
+
}
|
|
96
|
+
function statAsDirectory(resolved) {
|
|
97
|
+
let s;
|
|
98
|
+
try {
|
|
99
|
+
s = statSync(resolved);
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
throw pathNotFound();
|
|
103
|
+
}
|
|
104
|
+
if (!s.isDirectory())
|
|
105
|
+
throw pathNotDirectory();
|
|
106
|
+
}
|
|
107
|
+
// Validates and normalizes a project path. Returns the canonical absolute path on success; throws a
|
|
108
|
+
// typed UiStoreError otherwise. When `mustExist` is false, the stat-as-directory step is skipped
|
|
109
|
+
// (PATCH/DELETE callers identify a project by its previously normalized path; the directory may
|
|
110
|
+
// have been deleted/moved since registration — that is reflected via derived availability).
|
|
111
|
+
export function validateProjectPath(input, options) {
|
|
112
|
+
const shape = rejectStructural(input);
|
|
113
|
+
const resolved = normalizeForShape(input, shape);
|
|
114
|
+
if (options.mustExist)
|
|
115
|
+
statAsDirectory(resolved);
|
|
116
|
+
return resolved;
|
|
117
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { RouteContext, RouteResult } from "./routes.js";
|
|
2
|
+
import type { UiHandlerDeps } from "./deps.js";
|
|
3
|
+
declare function notFoundResult(message: string): RouteResult;
|
|
4
|
+
export declare function handleListProjects(_ctx: RouteContext, deps: UiHandlerDeps): RouteResult;
|
|
5
|
+
export declare function handleCreateProject(ctx: RouteContext, deps: UiHandlerDeps): Promise<RouteResult>;
|
|
6
|
+
export declare function handleUpdateProject(ctx: RouteContext, deps: UiHandlerDeps): Promise<RouteResult>;
|
|
7
|
+
export declare function handleDeleteProject(ctx: RouteContext, deps: UiHandlerDeps): RouteResult;
|
|
8
|
+
export declare function handleListChats(ctx: RouteContext, deps: UiHandlerDeps): RouteResult;
|
|
9
|
+
export declare function handleCreateChat(ctx: RouteContext, deps: UiHandlerDeps): Promise<RouteResult>;
|
|
10
|
+
export declare function handleUpdateChat(ctx: RouteContext, deps: UiHandlerDeps): Promise<RouteResult>;
|
|
11
|
+
export declare function handleDeleteChat(ctx: RouteContext, deps: UiHandlerDeps): RouteResult;
|
|
12
|
+
export declare function handleListMessages(ctx: RouteContext, deps: UiHandlerDeps): RouteResult;
|
|
13
|
+
export declare function handleCreateMessage(ctx: RouteContext, deps: UiHandlerDeps): Promise<RouteResult>;
|
|
14
|
+
export declare function handleCreateRunSummaryPair(ctx: RouteContext, deps: UiHandlerDeps): Promise<RouteResult>;
|
|
15
|
+
export declare function handleUpdateMessage(ctx: RouteContext, deps: UiHandlerDeps): Promise<RouteResult>;
|
|
16
|
+
export { notFoundResult };
|
|
17
|
+
//# sourceMappingURL=store-handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-handlers.d.ts","sourceRoot":"","sources":["../src/store-handlers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAwH/C,iBAAS,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAEpD;AAmND,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAMvF;AAMD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAeD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAQtB;AAMD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAcvF;AAgBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAYnF;AAMD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAetB;AA0bD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAuBtB;AAMD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAQpF;AAMD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAkBtF;AAMD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAwBtB;AA6CD,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAWtB;AAuBD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAGD,OAAO,EAAE,cAAc,EAAE,CAAC"}
|