@gsep/core 0.8.0 → 1.0.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/README.md +12 -12
- package/dist/{PGA.d.ts → GSEP.d.ts} +120 -8
- package/dist/GSEP.d.ts.map +1 -0
- package/dist/{PGA.js → GSEP.js} +1248 -46
- package/dist/GSEP.js.map +1 -0
- package/dist/adapters/langchain.d.ts +52 -0
- package/dist/adapters/langchain.d.ts.map +1 -0
- package/dist/adapters/langchain.js +89 -0
- package/dist/adapters/langchain.js.map +1 -0
- package/dist/adapters/openclaw-plugin.d.ts +42 -0
- package/dist/adapters/openclaw-plugin.d.ts.map +1 -0
- package/dist/adapters/openclaw-plugin.js +149 -0
- package/dist/adapters/openclaw-plugin.js.map +1 -0
- package/dist/adapters/vercel-ai.d.ts +74 -0
- package/dist/adapters/vercel-ai.d.ts.map +1 -0
- package/dist/adapters/vercel-ai.js +151 -0
- package/dist/adapters/vercel-ai.js.map +1 -0
- package/dist/advanced-ai/EnhancedSelfModel.js +2 -2
- package/dist/advanced-ai/EnhancedSelfModel.js.map +1 -1
- package/dist/advanced-ai/ModelRouter.js.map +1 -1
- package/dist/auto.d.ts +6 -0
- package/dist/auto.d.ts.map +1 -0
- package/dist/auto.js +197 -0
- package/dist/auto.js.map +1 -0
- package/dist/core/CoherenceValidator.d.ts +25 -0
- package/dist/core/CoherenceValidator.d.ts.map +1 -0
- package/dist/core/CoherenceValidator.js +182 -0
- package/dist/core/CoherenceValidator.js.map +1 -0
- package/dist/core/ContextMemory.d.ts.map +1 -1
- package/dist/core/ContextMemory.js +1 -1
- package/dist/core/ContextMemory.js.map +1 -1
- package/dist/core/DNAProfile.d.ts +5 -1
- package/dist/core/DNAProfile.d.ts.map +1 -1
- package/dist/core/DNAProfile.js +14 -1
- package/dist/core/DNAProfile.js.map +1 -1
- package/dist/core/GSEPIdentitySection.d.ts.map +1 -1
- package/dist/core/GSEPIdentitySection.js +12 -3
- package/dist/core/GSEPIdentitySection.js.map +1 -1
- package/dist/core/GenomeKernel.d.ts.map +1 -1
- package/dist/core/GenomeKernel.js +3 -0
- package/dist/core/GenomeKernel.js.map +1 -1
- package/dist/core/GenomeManager.js +1 -1
- package/dist/core/GenomeManager.js.map +1 -1
- package/dist/core/ProactiveSuggestions.js +1 -1
- package/dist/core/ProactiveSuggestions.js.map +1 -1
- package/dist/dashboard/DashboardServer.d.ts +64 -0
- package/dist/dashboard/DashboardServer.d.ts.map +1 -0
- package/dist/dashboard/DashboardServer.js +409 -0
- package/dist/dashboard/DashboardServer.js.map +1 -0
- package/dist/dashboard/DashboardToken.d.ts +16 -0
- package/dist/dashboard/DashboardToken.d.ts.map +1 -0
- package/dist/dashboard/DashboardToken.js +54 -0
- package/dist/dashboard/DashboardToken.js.map +1 -0
- package/dist/dashboard/dashboard.html +2731 -0
- package/dist/dashboard/index.d.ts +3 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +3 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/evaluation/BenchmarkSuites.d.ts +2 -2
- package/dist/evaluation/BenchmarkSuites.d.ts.map +1 -1
- package/dist/evaluation/BenchmarkSuites.js +6 -6
- package/dist/evaluation/BenchmarkSuites.js.map +1 -1
- package/dist/evaluation/ConstitutionalGate.d.ts +18 -0
- package/dist/evaluation/ConstitutionalGate.d.ts.map +1 -0
- package/dist/evaluation/ConstitutionalGate.js +149 -0
- package/dist/evaluation/ConstitutionalGate.js.map +1 -0
- package/dist/evaluation/Evaluator.d.ts +4 -4
- package/dist/evaluation/Evaluator.d.ts.map +1 -1
- package/dist/evaluation/Evaluator.js +27 -27
- package/dist/evaluation/Evaluator.js.map +1 -1
- package/dist/evaluation/EvolutionGuardrails.d.ts +3 -1
- package/dist/evaluation/EvolutionGuardrails.d.ts.map +1 -1
- package/dist/evaluation/EvolutionGuardrails.js +29 -11
- package/dist/evaluation/EvolutionGuardrails.js.map +1 -1
- package/dist/evolution/MutationOperator.d.ts +19 -6
- package/dist/evolution/MutationOperator.d.ts.map +1 -1
- package/dist/evolution/MutationOperator.js +264 -9
- package/dist/evolution/MutationOperator.js.map +1 -1
- package/dist/evolution/boost/operators/BreakthroughOperator.d.ts +1 -1
- package/dist/evolution/boost/operators/BreakthroughOperator.d.ts.map +1 -1
- package/dist/evolution/boost/operators/BreakthroughOperator.js.map +1 -1
- package/dist/evolution/boost/operators/CrossoverMutationOperator.d.ts +1 -1
- package/dist/evolution/boost/operators/CrossoverMutationOperator.d.ts.map +1 -1
- package/dist/evolution/boost/operators/CrossoverMutationOperator.js.map +1 -1
- package/dist/evolution/boost/operators/PatternExtractionOperator.d.ts +1 -1
- package/dist/evolution/boost/operators/PatternExtractionOperator.d.ts.map +1 -1
- package/dist/evolution/boost/operators/PatternExtractionOperator.js.map +1 -1
- package/dist/evolution/boost/operators/SemanticRestructuringOperator.d.ts +1 -1
- package/dist/evolution/boost/operators/SemanticRestructuringOperator.d.ts.map +1 -1
- package/dist/evolution/boost/operators/SemanticRestructuringOperator.js.map +1 -1
- package/dist/firewall/AnomalyDetector.d.ts +42 -0
- package/dist/firewall/AnomalyDetector.d.ts.map +1 -0
- package/dist/firewall/AnomalyDetector.js +181 -0
- package/dist/firewall/AnomalyDetector.js.map +1 -0
- package/dist/firewall/ContentFirewall.d.ts +5 -0
- package/dist/firewall/ContentFirewall.d.ts.map +1 -1
- package/dist/firewall/ContentFirewall.js +5 -0
- package/dist/firewall/ContentFirewall.js.map +1 -1
- package/dist/firewall/PurposeLock.d.ts +41 -0
- package/dist/firewall/PurposeLock.d.ts.map +1 -0
- package/dist/firewall/PurposeLock.js +199 -0
- package/dist/firewall/PurposeLock.js.map +1 -0
- package/dist/gene-bank/CognitiveGene.d.ts +118 -118
- package/dist/gene-bank/{PGAIntegration.d.ts → GSEPIntegration.d.ts} +10 -10
- package/dist/gene-bank/GSEPIntegration.d.ts.map +1 -0
- package/dist/gene-bank/{PGAIntegration.js → GSEPIntegration.js} +6 -6
- package/dist/gene-bank/GSEPIntegration.js.map +1 -0
- package/dist/gene-bank/GeneAdopter.d.ts +6 -6
- package/dist/gene-bank/GeneAdopter.d.ts.map +1 -1
- package/dist/gene-bank/GeneAdopter.js +2 -2
- package/dist/gene-bank/GeneAdopter.js.map +1 -1
- package/dist/gene-bank/GeneBank.d.ts +13 -9
- package/dist/gene-bank/GeneBank.d.ts.map +1 -1
- package/dist/gene-bank/GeneBank.js +8 -1
- package/dist/gene-bank/GeneBank.js.map +1 -1
- package/dist/gene-bank/GeneExtractor.d.ts +7 -7
- package/dist/gene-bank/GeneExtractor.d.ts.map +1 -1
- package/dist/gene-bank/GeneExtractor.js +1 -1
- package/dist/gene-bank/GeneExtractor.js.map +1 -1
- package/dist/gene-bank/GeneMatcher.d.ts +1 -1
- package/dist/gene-bank/GeneMatcher.d.ts.map +1 -1
- package/dist/gene-bank/MarketplaceClient.d.ts +17 -1
- package/dist/gene-bank/MarketplaceClient.d.ts.map +1 -1
- package/dist/gene-bank/MarketplaceClient.js +106 -35
- package/dist/gene-bank/MarketplaceClient.js.map +1 -1
- package/dist/gene-bank/MarketplaceMapper.d.ts +7 -0
- package/dist/gene-bank/MarketplaceMapper.d.ts.map +1 -0
- package/dist/gene-bank/MarketplaceMapper.js +95 -0
- package/dist/gene-bank/MarketplaceMapper.js.map +1 -0
- package/dist/gene-bank/MarketplaceTypes.d.ts +121 -0
- package/dist/gene-bank/MarketplaceTypes.d.ts.map +1 -0
- package/dist/gene-bank/MarketplaceTypes.js +2 -0
- package/dist/gene-bank/MarketplaceTypes.js.map +1 -0
- package/dist/gene-bank/SandboxTester.d.ts +3 -3
- package/dist/gene-bank/SandboxTester.d.ts.map +1 -1
- package/dist/gene-bank/adapters/InMemoryGeneStorage.d.ts +3 -3
- package/dist/gene-bank/adapters/InMemoryGeneStorage.d.ts.map +1 -1
- package/dist/gene-bank/adapters/PostgresGeneStorage.d.ts +4 -4
- package/dist/gene-bank/adapters/PostgresGeneStorage.d.ts.map +1 -1
- package/dist/gene-bank/adapters/PostgresGeneStorage.js.map +1 -1
- package/dist/gene-bank/adapters/SQLiteGeneStorage.d.ts +28 -0
- package/dist/gene-bank/adapters/SQLiteGeneStorage.d.ts.map +1 -0
- package/dist/gene-bank/adapters/SQLiteGeneStorage.js +158 -0
- package/dist/gene-bank/adapters/SQLiteGeneStorage.js.map +1 -0
- package/dist/gene-bank/index.d.ts +10 -7
- package/dist/gene-bank/index.d.ts.map +1 -1
- package/dist/gene-bank/index.js +8 -7
- package/dist/gene-bank/index.js.map +1 -1
- package/dist/immune/BehavioralImmuneSystem.d.ts +6 -0
- package/dist/immune/BehavioralImmuneSystem.d.ts.map +1 -1
- package/dist/immune/BehavioralImmuneSystem.js +6 -0
- package/dist/immune/BehavioralImmuneSystem.js.map +1 -1
- package/dist/index.d.ts +44 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -4
- package/dist/index.js.map +1 -1
- package/dist/memory/LayeredMemory.d.ts +1 -1
- package/dist/memory/LayeredMemory.d.ts.map +1 -1
- package/dist/memory/LayeredMemory.js.map +1 -1
- package/dist/middleware/GSEPMiddleware.d.ts +57 -0
- package/dist/middleware/GSEPMiddleware.d.ts.map +1 -0
- package/dist/middleware/GSEPMiddleware.js +91 -0
- package/dist/middleware/GSEPMiddleware.js.map +1 -0
- package/dist/middleware/RuntimeDetector.d.ts +10 -0
- package/dist/middleware/RuntimeDetector.d.ts.map +1 -0
- package/dist/middleware/RuntimeDetector.js +70 -0
- package/dist/middleware/RuntimeDetector.js.map +1 -0
- package/dist/middleware/ServerlessAdapter.d.ts +23 -0
- package/dist/middleware/ServerlessAdapter.d.ts.map +1 -0
- package/dist/middleware/ServerlessAdapter.js +77 -0
- package/dist/middleware/ServerlessAdapter.js.map +1 -0
- package/dist/monitoring/AlertWebhooks.d.ts +17 -0
- package/dist/monitoring/AlertWebhooks.d.ts.map +1 -1
- package/dist/monitoring/AlertWebhooks.js.map +1 -1
- package/dist/monitoring/WeeklyReportGenerator.d.ts +73 -0
- package/dist/monitoring/WeeklyReportGenerator.d.ts.map +1 -0
- package/dist/monitoring/WeeklyReportGenerator.js +148 -0
- package/dist/monitoring/WeeklyReportGenerator.js.map +1 -0
- package/dist/rag/RAGEngine.d.ts +1 -1
- package/dist/rag/RAGEngine.d.ts.map +1 -1
- package/dist/rag/VectorStoreAdapter.d.ts +2 -2
- package/dist/rag/VectorStoreAdapter.d.ts.map +1 -1
- package/dist/rag/VectorStoreAdapter.js.map +1 -1
- package/dist/realtime/EventEmitter.d.ts +110 -17
- package/dist/realtime/EventEmitter.d.ts.map +1 -1
- package/dist/realtime/EventEmitter.js +3 -4
- package/dist/realtime/EventEmitter.js.map +1 -1
- package/dist/security/CapabilityBroker.d.ts +41 -0
- package/dist/security/CapabilityBroker.d.ts.map +1 -0
- package/dist/security/CapabilityBroker.js +125 -0
- package/dist/security/CapabilityBroker.js.map +1 -0
- package/dist/security/CommandExecutionGuard.d.ts +47 -0
- package/dist/security/CommandExecutionGuard.d.ts.map +1 -0
- package/dist/security/CommandExecutionGuard.js +175 -0
- package/dist/security/CommandExecutionGuard.js.map +1 -0
- package/dist/security/ComplianceExporter.d.ts +32 -0
- package/dist/security/ComplianceExporter.d.ts.map +1 -0
- package/dist/security/ComplianceExporter.js +129 -0
- package/dist/security/ComplianceExporter.js.map +1 -0
- package/dist/security/DataAccessTracker.d.ts +38 -0
- package/dist/security/DataAccessTracker.d.ts.map +1 -0
- package/dist/security/DataAccessTracker.js +71 -0
- package/dist/security/DataAccessTracker.js.map +1 -0
- package/dist/security/DataClassifier.d.ts +14 -0
- package/dist/security/DataClassifier.d.ts.map +1 -0
- package/dist/security/DataClassifier.js +146 -0
- package/dist/security/DataClassifier.js.map +1 -0
- package/dist/security/EncryptedConfigStore.d.ts +21 -0
- package/dist/security/EncryptedConfigStore.d.ts.map +1 -0
- package/dist/security/EncryptedConfigStore.js +119 -0
- package/dist/security/EncryptedConfigStore.js.map +1 -0
- package/dist/security/EnterprisePolicyEngine.d.ts +90 -0
- package/dist/security/EnterprisePolicyEngine.d.ts.map +1 -0
- package/dist/security/EnterprisePolicyEngine.js +240 -0
- package/dist/security/EnterprisePolicyEngine.js.map +1 -0
- package/dist/security/FileSystemBoundary.d.ts +33 -0
- package/dist/security/FileSystemBoundary.d.ts.map +1 -0
- package/dist/security/FileSystemBoundary.js +94 -0
- package/dist/security/FileSystemBoundary.js.map +1 -0
- package/dist/security/GDPREngine.d.ts +65 -0
- package/dist/security/GDPREngine.d.ts.map +1 -0
- package/dist/security/GDPREngine.js +180 -0
- package/dist/security/GDPREngine.js.map +1 -0
- package/dist/security/GenomeSecurityBridge.d.ts +47 -0
- package/dist/security/GenomeSecurityBridge.d.ts.map +1 -0
- package/dist/security/GenomeSecurityBridge.js +157 -0
- package/dist/security/GenomeSecurityBridge.js.map +1 -0
- package/dist/security/KeyHierarchy.d.ts +23 -0
- package/dist/security/KeyHierarchy.d.ts.map +1 -0
- package/dist/security/KeyHierarchy.js +78 -0
- package/dist/security/KeyHierarchy.js.map +1 -0
- package/dist/security/KeychainAdapter.d.ts +19 -0
- package/dist/security/KeychainAdapter.d.ts.map +1 -0
- package/dist/security/KeychainAdapter.js +104 -0
- package/dist/security/KeychainAdapter.js.map +1 -0
- package/dist/security/LLMProxyLayer.d.ts +63 -0
- package/dist/security/LLMProxyLayer.d.ts.map +1 -0
- package/dist/security/LLMProxyLayer.js +148 -0
- package/dist/security/LLMProxyLayer.js.map +1 -0
- package/dist/security/MFAProvider.d.ts +35 -0
- package/dist/security/MFAProvider.d.ts.map +1 -0
- package/dist/security/MFAProvider.js +174 -0
- package/dist/security/MFAProvider.js.map +1 -0
- package/dist/security/NetworkAuditLogger.d.ts +35 -0
- package/dist/security/NetworkAuditLogger.d.ts.map +1 -0
- package/dist/security/NetworkAuditLogger.js +99 -0
- package/dist/security/NetworkAuditLogger.js.map +1 -0
- package/dist/security/OutboundAllowlist.d.ts +33 -0
- package/dist/security/OutboundAllowlist.d.ts.map +1 -0
- package/dist/security/OutboundAllowlist.js +112 -0
- package/dist/security/OutboundAllowlist.js.map +1 -0
- package/dist/security/PIIRedactionEngine.d.ts +40 -0
- package/dist/security/PIIRedactionEngine.d.ts.map +1 -0
- package/dist/security/PIIRedactionEngine.js +232 -0
- package/dist/security/PIIRedactionEngine.js.map +1 -0
- package/dist/security/RBACEngine.d.ts +44 -0
- package/dist/security/RBACEngine.d.ts.map +1 -0
- package/dist/security/RBACEngine.js +209 -0
- package/dist/security/RBACEngine.js.map +1 -0
- package/dist/security/SOC2Controls.d.ts +37 -0
- package/dist/security/SOC2Controls.d.ts.map +1 -0
- package/dist/security/SOC2Controls.js +151 -0
- package/dist/security/SOC2Controls.js.map +1 -0
- package/dist/security/SecretRotationEngine.d.ts +46 -0
- package/dist/security/SecretRotationEngine.d.ts.map +1 -0
- package/dist/security/SecretRotationEngine.js +102 -0
- package/dist/security/SecretRotationEngine.js.map +1 -0
- package/dist/security/SecretsMigrator.d.ts +28 -0
- package/dist/security/SecretsMigrator.d.ts.map +1 -0
- package/dist/security/SecretsMigrator.js +170 -0
- package/dist/security/SecretsMigrator.js.map +1 -0
- package/dist/security/SecurityEventBus.d.ts +48 -0
- package/dist/security/SecurityEventBus.d.ts.map +1 -0
- package/dist/security/SecurityEventBus.js +105 -0
- package/dist/security/SecurityEventBus.js.map +1 -0
- package/dist/security/SecurityPresets.d.ts +42 -0
- package/dist/security/SecurityPresets.d.ts.map +1 -0
- package/dist/security/SecurityPresets.js +162 -0
- package/dist/security/SecurityPresets.js.map +1 -0
- package/dist/security/SkillManifest.d.ts +34 -0
- package/dist/security/SkillManifest.d.ts.map +1 -0
- package/dist/security/SkillManifest.js +91 -0
- package/dist/security/SkillManifest.js.map +1 -0
- package/dist/security/SkillSigner.d.ts +22 -0
- package/dist/security/SkillSigner.d.ts.map +1 -0
- package/dist/security/SkillSigner.js +80 -0
- package/dist/security/SkillSigner.js.map +1 -0
- package/dist/security/TamperProofAuditLog.d.ts +58 -0
- package/dist/security/TamperProofAuditLog.d.ts.map +1 -0
- package/dist/security/TamperProofAuditLog.js +214 -0
- package/dist/security/TamperProofAuditLog.js.map +1 -0
- package/dist/security/index.d.ts +27 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +27 -0
- package/dist/security/index.js.map +1 -0
- package/dist/skills/ProactiveEngine.d.ts +55 -0
- package/dist/skills/ProactiveEngine.d.ts.map +1 -0
- package/dist/skills/ProactiveEngine.js +201 -0
- package/dist/skills/ProactiveEngine.js.map +1 -0
- package/dist/skills/SkillExecutor.d.ts +21 -0
- package/dist/skills/SkillExecutor.d.ts.map +1 -0
- package/dist/skills/SkillExecutor.js +131 -0
- package/dist/skills/SkillExecutor.js.map +1 -0
- package/dist/skills/SkillRegistry.d.ts +47 -0
- package/dist/skills/SkillRegistry.d.ts.map +1 -0
- package/dist/skills/SkillRegistry.js +94 -0
- package/dist/skills/SkillRegistry.js.map +1 -0
- package/dist/skills/SkillRouter.d.ts +30 -0
- package/dist/skills/SkillRouter.d.ts.map +1 -0
- package/dist/skills/SkillRouter.js +113 -0
- package/dist/skills/SkillRouter.js.map +1 -0
- package/dist/skills/index.d.ts +9 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +5 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/types/GenomeV2.d.ts +12 -0
- package/dist/types/GenomeV2.d.ts.map +1 -1
- package/dist/types/index.d.ts +19 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/wrap/FileStorageAdapter.d.ts +113 -0
- package/dist/wrap/FileStorageAdapter.d.ts.map +1 -0
- package/dist/wrap/FileStorageAdapter.js +239 -0
- package/dist/wrap/FileStorageAdapter.js.map +1 -0
- package/dist/wrap/SQLiteStorageAdapter.d.ts +96 -0
- package/dist/wrap/SQLiteStorageAdapter.d.ts.map +1 -0
- package/dist/wrap/SQLiteStorageAdapter.js +251 -0
- package/dist/wrap/SQLiteStorageAdapter.js.map +1 -0
- package/dist/wrap/WrappedAgent.d.ts +2 -2
- package/dist/wrap/WrappedAgent.d.ts.map +1 -1
- package/dist/wrap/WrappedAgent.js +7 -7
- package/dist/wrap/WrappedAgent.js.map +1 -1
- package/dist/wrap.d.ts +39 -0
- package/dist/wrap.d.ts.map +1 -0
- package/dist/wrap.js +96 -0
- package/dist/wrap.js.map +1 -0
- package/package.json +34 -7
- package/dist/PGA.d.ts.map +0 -1
- package/dist/PGA.js.map +0 -1
- package/dist/evolution/PromotionGate.d.ts +0 -45
- package/dist/evolution/PromotionGate.d.ts.map +0 -1
- package/dist/evolution/PromotionGate.js +0 -248
- package/dist/evolution/PromotionGate.js.map +0 -1
- package/dist/gene-bank/PGAIntegration.d.ts.map +0 -1
- package/dist/gene-bank/PGAIntegration.js.map +0 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { StorageAdapter } from '../interfaces/StorageAdapter.js';
|
|
2
|
+
import type { Genome, UserDNA, MutationLog, GeneRegistryEntry } from '../types/index.js';
|
|
3
|
+
import type { SemanticFact } from '../memory/LayeredMemory.js';
|
|
4
|
+
export interface FileStorageOptions {
|
|
5
|
+
dir?: string;
|
|
6
|
+
agentName?: string;
|
|
7
|
+
maxEntries?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare class FileStorageAdapter implements StorageAdapter {
|
|
10
|
+
private readonly dir;
|
|
11
|
+
private readonly maxEntries;
|
|
12
|
+
private genomes;
|
|
13
|
+
private dna;
|
|
14
|
+
private mutations;
|
|
15
|
+
private interactions;
|
|
16
|
+
private feedbackRecords;
|
|
17
|
+
private facts;
|
|
18
|
+
private factIndex;
|
|
19
|
+
private geneRegistry;
|
|
20
|
+
private calibrationPoints;
|
|
21
|
+
constructor(options?: FileStorageOptions);
|
|
22
|
+
initialize(): Promise<void>;
|
|
23
|
+
private filePath;
|
|
24
|
+
private readJSON;
|
|
25
|
+
private writeJSON;
|
|
26
|
+
private loadAll;
|
|
27
|
+
private flushGenomes;
|
|
28
|
+
private flushDNA;
|
|
29
|
+
private flushMutations;
|
|
30
|
+
private flushInteractions;
|
|
31
|
+
private flushFeedback;
|
|
32
|
+
private flushFacts;
|
|
33
|
+
private flushGeneRegistry;
|
|
34
|
+
private flushCalibration;
|
|
35
|
+
private trimArray;
|
|
36
|
+
saveGenome(genome: Genome): Promise<void>;
|
|
37
|
+
loadGenome(genomeId: string): Promise<Genome | null>;
|
|
38
|
+
deleteGenome(genomeId: string): Promise<void>;
|
|
39
|
+
listGenomes(): Promise<Genome[]>;
|
|
40
|
+
saveDNA(userId: string, genomeId: string, dna: UserDNA): Promise<void>;
|
|
41
|
+
loadDNA(userId: string, genomeId: string): Promise<UserDNA | null>;
|
|
42
|
+
logMutation(mutation: MutationLog): Promise<void>;
|
|
43
|
+
getMutationHistory(genomeId: string, limit?: number): Promise<MutationLog[]>;
|
|
44
|
+
getGeneMutationHistory(genomeId: string, gene: string, limit?: number): Promise<MutationLog[]>;
|
|
45
|
+
recordInteraction(interaction: {
|
|
46
|
+
genomeId: string;
|
|
47
|
+
userId: string;
|
|
48
|
+
userMessage: string;
|
|
49
|
+
assistantResponse: string;
|
|
50
|
+
toolCalls: unknown[];
|
|
51
|
+
score?: number;
|
|
52
|
+
timestamp: Date;
|
|
53
|
+
}): Promise<void>;
|
|
54
|
+
getRecentInteractions(genomeId: string, userId: string, limit?: number): Promise<unknown[]>;
|
|
55
|
+
recordFeedback(feedback: {
|
|
56
|
+
genomeId: string;
|
|
57
|
+
userId: string;
|
|
58
|
+
gene: string;
|
|
59
|
+
sentiment: 'positive' | 'negative' | 'neutral';
|
|
60
|
+
timestamp: Date;
|
|
61
|
+
}): Promise<void>;
|
|
62
|
+
getAnalytics(genomeId: string): Promise<{
|
|
63
|
+
totalMutations: number;
|
|
64
|
+
totalInteractions: number;
|
|
65
|
+
avgFitnessImprovement: number;
|
|
66
|
+
userSatisfaction: number;
|
|
67
|
+
topGenes: Array<{
|
|
68
|
+
gene: string;
|
|
69
|
+
fitness: number;
|
|
70
|
+
}>;
|
|
71
|
+
}>;
|
|
72
|
+
saveFact(fact: SemanticFact, userId: string, genomeId: string): Promise<void>;
|
|
73
|
+
getFacts(userId: string, genomeId: string, includeExpired?: boolean): Promise<SemanticFact[]>;
|
|
74
|
+
getFact(factId: string): Promise<SemanticFact | null>;
|
|
75
|
+
updateFact(factId: string, updates: Partial<SemanticFact>): Promise<void>;
|
|
76
|
+
deleteFact(factId: string): Promise<void>;
|
|
77
|
+
deleteUserFacts(userId: string, genomeId: string): Promise<void>;
|
|
78
|
+
cleanExpiredFacts(userId: string, genomeId: string): Promise<number>;
|
|
79
|
+
saveToGeneRegistry(entry: GeneRegistryEntry): Promise<void>;
|
|
80
|
+
queryGeneRegistry(familyId: string, gene?: string, minFitness?: number): Promise<GeneRegistryEntry[]>;
|
|
81
|
+
getBestRegistryGene(familyId: string, gene: string): Promise<GeneRegistryEntry | null>;
|
|
82
|
+
saveCalibrationPoint(point: {
|
|
83
|
+
contextKey: string;
|
|
84
|
+
layer?: 0 | 1 | 2;
|
|
85
|
+
operator?: string;
|
|
86
|
+
taskType?: string;
|
|
87
|
+
threshold: number;
|
|
88
|
+
totalCandidates: number;
|
|
89
|
+
passedSandbox: number;
|
|
90
|
+
deployedSuccessfully: number;
|
|
91
|
+
rolledBack: number;
|
|
92
|
+
falsePositiveRate: number;
|
|
93
|
+
falseNegativeRate: number;
|
|
94
|
+
optimalThreshold: number;
|
|
95
|
+
timestamp: Date;
|
|
96
|
+
}): Promise<void>;
|
|
97
|
+
getCalibrationHistory(contextKey: string, limit?: number): Promise<Array<{
|
|
98
|
+
contextKey: string;
|
|
99
|
+
layer?: number;
|
|
100
|
+
operator?: string;
|
|
101
|
+
taskType?: string;
|
|
102
|
+
threshold: number;
|
|
103
|
+
totalCandidates: number;
|
|
104
|
+
passedSandbox: number;
|
|
105
|
+
deployedSuccessfully: number;
|
|
106
|
+
rolledBack: number;
|
|
107
|
+
falsePositiveRate: number;
|
|
108
|
+
falseNegativeRate: number;
|
|
109
|
+
optimalThreshold: number;
|
|
110
|
+
timestamp: Date;
|
|
111
|
+
}>>;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=FileStorageAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileStorageAdapter.d.ts","sourceRoot":"","sources":["../../src/wrap/FileStorageAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { mkdirSync, readFileSync, writeFileSync, existsSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
export class FileStorageAdapter {
|
|
5
|
+
dir;
|
|
6
|
+
maxEntries;
|
|
7
|
+
genomes = new Map();
|
|
8
|
+
dna = new Map();
|
|
9
|
+
mutations = [];
|
|
10
|
+
interactions = [];
|
|
11
|
+
feedbackRecords = [];
|
|
12
|
+
facts = new Map();
|
|
13
|
+
factIndex = new Map();
|
|
14
|
+
geneRegistry = [];
|
|
15
|
+
calibrationPoints = [];
|
|
16
|
+
constructor(options) {
|
|
17
|
+
const agentName = options?.agentName ?? 'default';
|
|
18
|
+
this.dir = options?.dir ?? join(homedir(), '.gsep', agentName);
|
|
19
|
+
this.maxEntries = options?.maxEntries ?? 10_000;
|
|
20
|
+
}
|
|
21
|
+
async initialize() {
|
|
22
|
+
mkdirSync(this.dir, { recursive: true });
|
|
23
|
+
this.loadAll();
|
|
24
|
+
}
|
|
25
|
+
filePath(name) {
|
|
26
|
+
return join(this.dir, `${name}.json`);
|
|
27
|
+
}
|
|
28
|
+
readJSON(name, fallback) {
|
|
29
|
+
const path = this.filePath(name);
|
|
30
|
+
if (!existsSync(path))
|
|
31
|
+
return fallback;
|
|
32
|
+
try {
|
|
33
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return fallback;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
writeJSON(name, data) {
|
|
40
|
+
writeFileSync(this.filePath(name), JSON.stringify(data), 'utf-8');
|
|
41
|
+
}
|
|
42
|
+
loadAll() {
|
|
43
|
+
const genomeEntries = this.readJSON('genomes', []);
|
|
44
|
+
this.genomes = new Map(genomeEntries);
|
|
45
|
+
const dnaEntries = this.readJSON('dna', []);
|
|
46
|
+
this.dna = new Map(dnaEntries);
|
|
47
|
+
this.mutations = this.readJSON('mutations', []);
|
|
48
|
+
this.interactions = this.readJSON('interactions', []);
|
|
49
|
+
this.feedbackRecords = this.readJSON('feedback', []);
|
|
50
|
+
const factEntries = this.readJSON('facts', []);
|
|
51
|
+
this.facts = new Map(factEntries);
|
|
52
|
+
const indexEntries = this.readJSON('fact-index', []);
|
|
53
|
+
this.factIndex = new Map(indexEntries);
|
|
54
|
+
this.geneRegistry = this.readJSON('gene-registry', []);
|
|
55
|
+
this.calibrationPoints = this.readJSON('calibration', []);
|
|
56
|
+
}
|
|
57
|
+
flushGenomes() { this.writeJSON('genomes', Array.from(this.genomes.entries())); }
|
|
58
|
+
flushDNA() { this.writeJSON('dna', Array.from(this.dna.entries())); }
|
|
59
|
+
flushMutations() { this.writeJSON('mutations', this.mutations); }
|
|
60
|
+
flushInteractions() { this.writeJSON('interactions', this.interactions); }
|
|
61
|
+
flushFeedback() { this.writeJSON('feedback', this.feedbackRecords); }
|
|
62
|
+
flushFacts() {
|
|
63
|
+
this.writeJSON('facts', Array.from(this.facts.entries()));
|
|
64
|
+
this.writeJSON('fact-index', Array.from(this.factIndex.entries()));
|
|
65
|
+
}
|
|
66
|
+
flushGeneRegistry() { this.writeJSON('gene-registry', this.geneRegistry); }
|
|
67
|
+
flushCalibration() { this.writeJSON('calibration', this.calibrationPoints); }
|
|
68
|
+
trimArray(arr) {
|
|
69
|
+
if (arr.length > this.maxEntries) {
|
|
70
|
+
arr.splice(0, arr.length - this.maxEntries);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async saveGenome(genome) {
|
|
74
|
+
this.genomes.set(genome.id, structuredClone(genome));
|
|
75
|
+
this.flushGenomes();
|
|
76
|
+
}
|
|
77
|
+
async loadGenome(genomeId) {
|
|
78
|
+
const genome = this.genomes.get(genomeId);
|
|
79
|
+
return genome ? structuredClone(genome) : null;
|
|
80
|
+
}
|
|
81
|
+
async deleteGenome(genomeId) {
|
|
82
|
+
this.genomes.delete(genomeId);
|
|
83
|
+
this.flushGenomes();
|
|
84
|
+
}
|
|
85
|
+
async listGenomes() {
|
|
86
|
+
return Array.from(this.genomes.values()).map(g => structuredClone(g));
|
|
87
|
+
}
|
|
88
|
+
async saveDNA(userId, genomeId, dna) {
|
|
89
|
+
this.dna.set(`${userId}:${genomeId}`, structuredClone(dna));
|
|
90
|
+
this.flushDNA();
|
|
91
|
+
}
|
|
92
|
+
async loadDNA(userId, genomeId) {
|
|
93
|
+
const dna = this.dna.get(`${userId}:${genomeId}`);
|
|
94
|
+
return dna ? structuredClone(dna) : null;
|
|
95
|
+
}
|
|
96
|
+
async logMutation(mutation) {
|
|
97
|
+
this.mutations.push(structuredClone(mutation));
|
|
98
|
+
this.trimArray(this.mutations);
|
|
99
|
+
this.flushMutations();
|
|
100
|
+
}
|
|
101
|
+
async getMutationHistory(genomeId, limit = 100) {
|
|
102
|
+
return this.mutations
|
|
103
|
+
.filter(m => m.genomeId === genomeId)
|
|
104
|
+
.slice(-limit);
|
|
105
|
+
}
|
|
106
|
+
async getGeneMutationHistory(genomeId, gene, limit = 50) {
|
|
107
|
+
return this.mutations
|
|
108
|
+
.filter(m => m.genomeId === genomeId && m.gene === gene)
|
|
109
|
+
.slice(-limit);
|
|
110
|
+
}
|
|
111
|
+
async recordInteraction(interaction) {
|
|
112
|
+
this.interactions.push({ ...interaction });
|
|
113
|
+
this.trimArray(this.interactions);
|
|
114
|
+
this.flushInteractions();
|
|
115
|
+
}
|
|
116
|
+
async getRecentInteractions(genomeId, userId, limit = 20) {
|
|
117
|
+
return this.interactions
|
|
118
|
+
.filter(i => i.genomeId === genomeId && i.userId === userId)
|
|
119
|
+
.slice(-limit);
|
|
120
|
+
}
|
|
121
|
+
async recordFeedback(feedback) {
|
|
122
|
+
this.feedbackRecords.push({ ...feedback });
|
|
123
|
+
this.trimArray(this.feedbackRecords);
|
|
124
|
+
this.flushFeedback();
|
|
125
|
+
}
|
|
126
|
+
async getAnalytics(genomeId) {
|
|
127
|
+
const genomeMutations = this.mutations.filter(m => m.genomeId === genomeId);
|
|
128
|
+
const genomeInteractions = this.interactions.filter(i => i.genomeId === genomeId);
|
|
129
|
+
return {
|
|
130
|
+
totalMutations: genomeMutations.length,
|
|
131
|
+
totalInteractions: genomeInteractions.length,
|
|
132
|
+
avgFitnessImprovement: genomeMutations.length > 0
|
|
133
|
+
? genomeMutations.reduce((sum, m) => sum + (m.fitnessDelta ?? 0), 0) / genomeMutations.length
|
|
134
|
+
: 0,
|
|
135
|
+
userSatisfaction: 0.7,
|
|
136
|
+
topGenes: [],
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
async saveFact(fact, userId, genomeId) {
|
|
140
|
+
this.facts.set(fact.id, structuredClone(fact));
|
|
141
|
+
const key = `${userId}:${genomeId}`;
|
|
142
|
+
const ids = this.factIndex.get(key) ?? [];
|
|
143
|
+
if (!ids.includes(fact.id))
|
|
144
|
+
ids.push(fact.id);
|
|
145
|
+
this.factIndex.set(key, ids);
|
|
146
|
+
this.flushFacts();
|
|
147
|
+
}
|
|
148
|
+
async getFacts(userId, genomeId, includeExpired = false) {
|
|
149
|
+
const key = `${userId}:${genomeId}`;
|
|
150
|
+
const ids = this.factIndex.get(key) ?? [];
|
|
151
|
+
const results = [];
|
|
152
|
+
for (const id of ids) {
|
|
153
|
+
const fact = this.facts.get(id);
|
|
154
|
+
if (fact) {
|
|
155
|
+
if (includeExpired || !fact.expiry || new Date(fact.expiry) > new Date()) {
|
|
156
|
+
results.push(structuredClone(fact));
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return results;
|
|
161
|
+
}
|
|
162
|
+
async getFact(factId) {
|
|
163
|
+
const fact = this.facts.get(factId);
|
|
164
|
+
return fact ? structuredClone(fact) : null;
|
|
165
|
+
}
|
|
166
|
+
async updateFact(factId, updates) {
|
|
167
|
+
const existing = this.facts.get(factId);
|
|
168
|
+
if (existing) {
|
|
169
|
+
this.facts.set(factId, { ...existing, ...updates });
|
|
170
|
+
this.flushFacts();
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
async deleteFact(factId) {
|
|
174
|
+
this.facts.delete(factId);
|
|
175
|
+
for (const [key, ids] of this.factIndex.entries()) {
|
|
176
|
+
const filtered = ids.filter(id => id !== factId);
|
|
177
|
+
if (filtered.length !== ids.length)
|
|
178
|
+
this.factIndex.set(key, filtered);
|
|
179
|
+
}
|
|
180
|
+
this.flushFacts();
|
|
181
|
+
}
|
|
182
|
+
async deleteUserFacts(userId, genomeId) {
|
|
183
|
+
const key = `${userId}:${genomeId}`;
|
|
184
|
+
const ids = this.factIndex.get(key) ?? [];
|
|
185
|
+
for (const id of ids)
|
|
186
|
+
this.facts.delete(id);
|
|
187
|
+
this.factIndex.delete(key);
|
|
188
|
+
this.flushFacts();
|
|
189
|
+
}
|
|
190
|
+
async cleanExpiredFacts(userId, genomeId) {
|
|
191
|
+
const key = `${userId}:${genomeId}`;
|
|
192
|
+
const ids = this.factIndex.get(key) ?? [];
|
|
193
|
+
let cleaned = 0;
|
|
194
|
+
const now = new Date();
|
|
195
|
+
const remaining = [];
|
|
196
|
+
for (const id of ids) {
|
|
197
|
+
const fact = this.facts.get(id);
|
|
198
|
+
if (fact?.expiry && new Date(fact.expiry) <= now) {
|
|
199
|
+
this.facts.delete(id);
|
|
200
|
+
cleaned++;
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
remaining.push(id);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
this.factIndex.set(key, remaining);
|
|
207
|
+
if (cleaned > 0)
|
|
208
|
+
this.flushFacts();
|
|
209
|
+
return cleaned;
|
|
210
|
+
}
|
|
211
|
+
async saveToGeneRegistry(entry) {
|
|
212
|
+
this.geneRegistry.push(structuredClone(entry));
|
|
213
|
+
this.trimArray(this.geneRegistry);
|
|
214
|
+
this.flushGeneRegistry();
|
|
215
|
+
}
|
|
216
|
+
async queryGeneRegistry(familyId, gene, minFitness = 0) {
|
|
217
|
+
return this.geneRegistry.filter(e => e.familyId === familyId &&
|
|
218
|
+
(!gene || e.gene === gene) &&
|
|
219
|
+
e.fitness >= minFitness);
|
|
220
|
+
}
|
|
221
|
+
async getBestRegistryGene(familyId, gene) {
|
|
222
|
+
const entries = await this.queryGeneRegistry(familyId, gene);
|
|
223
|
+
if (entries.length === 0)
|
|
224
|
+
return null;
|
|
225
|
+
return entries.sort((a, b) => b.fitness - a.fitness)[0];
|
|
226
|
+
}
|
|
227
|
+
async saveCalibrationPoint(point) {
|
|
228
|
+
this.calibrationPoints.push(structuredClone(point));
|
|
229
|
+
this.trimArray(this.calibrationPoints);
|
|
230
|
+
this.flushCalibration();
|
|
231
|
+
}
|
|
232
|
+
async getCalibrationHistory(contextKey, limit = 50) {
|
|
233
|
+
return this.calibrationPoints
|
|
234
|
+
.filter(p => p.contextKey === contextKey)
|
|
235
|
+
.sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime())
|
|
236
|
+
.slice(0, limit);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=FileStorageAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileStorageAdapter.js","sourceRoot":"","sources":["../../src/wrap/FileStorageAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { StorageAdapter } from '../interfaces/StorageAdapter.js';
|
|
2
|
+
import type { Genome, UserDNA, MutationLog, GeneRegistryEntry } from '../types/index.js';
|
|
3
|
+
import type { SemanticFact } from '../memory/LayeredMemory.js';
|
|
4
|
+
export interface SQLiteStorageOptions {
|
|
5
|
+
path?: string;
|
|
6
|
+
agentName?: string;
|
|
7
|
+
dir?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class SQLiteStorageAdapter implements StorageAdapter {
|
|
10
|
+
private db;
|
|
11
|
+
private readonly dbPath;
|
|
12
|
+
constructor(options?: SQLiteStorageOptions);
|
|
13
|
+
initialize(): Promise<void>;
|
|
14
|
+
private createTables;
|
|
15
|
+
close(): void;
|
|
16
|
+
getPath(): string;
|
|
17
|
+
saveGenome(genome: Genome): Promise<void>;
|
|
18
|
+
loadGenome(genomeId: string): Promise<Genome | null>;
|
|
19
|
+
deleteGenome(genomeId: string): Promise<void>;
|
|
20
|
+
listGenomes(): Promise<Genome[]>;
|
|
21
|
+
saveDNA(userId: string, genomeId: string, dna: UserDNA): Promise<void>;
|
|
22
|
+
loadDNA(userId: string, genomeId: string): Promise<UserDNA | null>;
|
|
23
|
+
logMutation(mutation: MutationLog): Promise<void>;
|
|
24
|
+
getMutationHistory(genomeId: string, limit?: number): Promise<MutationLog[]>;
|
|
25
|
+
getGeneMutationHistory(genomeId: string, gene: string, limit?: number): Promise<MutationLog[]>;
|
|
26
|
+
recordInteraction(interaction: {
|
|
27
|
+
genomeId: string;
|
|
28
|
+
userId: string;
|
|
29
|
+
userMessage: string;
|
|
30
|
+
assistantResponse: string;
|
|
31
|
+
toolCalls: unknown[];
|
|
32
|
+
score?: number;
|
|
33
|
+
timestamp: Date;
|
|
34
|
+
}): Promise<void>;
|
|
35
|
+
getRecentInteractions(genomeId: string, userId: string, limit?: number): Promise<unknown[]>;
|
|
36
|
+
recordFeedback(feedback: {
|
|
37
|
+
genomeId: string;
|
|
38
|
+
userId: string;
|
|
39
|
+
gene: string;
|
|
40
|
+
sentiment: 'positive' | 'negative' | 'neutral';
|
|
41
|
+
timestamp: Date;
|
|
42
|
+
}): Promise<void>;
|
|
43
|
+
getAnalytics(genomeId: string): Promise<{
|
|
44
|
+
totalMutations: number;
|
|
45
|
+
totalInteractions: number;
|
|
46
|
+
avgFitnessImprovement: number;
|
|
47
|
+
userSatisfaction: number;
|
|
48
|
+
topGenes: Array<{
|
|
49
|
+
gene: string;
|
|
50
|
+
fitness: number;
|
|
51
|
+
}>;
|
|
52
|
+
}>;
|
|
53
|
+
saveFact(fact: SemanticFact, userId: string, genomeId: string): Promise<void>;
|
|
54
|
+
getFacts(userId: string, genomeId: string, includeExpired?: boolean): Promise<SemanticFact[]>;
|
|
55
|
+
getFact(factId: string): Promise<SemanticFact | null>;
|
|
56
|
+
updateFact(factId: string, updates: Partial<SemanticFact>): Promise<void>;
|
|
57
|
+
deleteFact(factId: string): Promise<void>;
|
|
58
|
+
deleteUserFacts(userId: string, genomeId: string): Promise<void>;
|
|
59
|
+
cleanExpiredFacts(userId: string, genomeId: string): Promise<number>;
|
|
60
|
+
saveToGeneRegistry(entry: GeneRegistryEntry): Promise<void>;
|
|
61
|
+
queryGeneRegistry(familyId: string, gene?: string, minFitness?: number): Promise<GeneRegistryEntry[]>;
|
|
62
|
+
getBestRegistryGene(familyId: string, gene: string): Promise<GeneRegistryEntry | null>;
|
|
63
|
+
saveCalibrationPoint(point: {
|
|
64
|
+
contextKey: string;
|
|
65
|
+
layer?: 0 | 1 | 2;
|
|
66
|
+
operator?: string;
|
|
67
|
+
taskType?: string;
|
|
68
|
+
threshold: number;
|
|
69
|
+
totalCandidates: number;
|
|
70
|
+
passedSandbox: number;
|
|
71
|
+
deployedSuccessfully: number;
|
|
72
|
+
rolledBack: number;
|
|
73
|
+
falsePositiveRate: number;
|
|
74
|
+
falseNegativeRate: number;
|
|
75
|
+
optimalThreshold: number;
|
|
76
|
+
timestamp: Date;
|
|
77
|
+
}): Promise<void>;
|
|
78
|
+
getCalibrationHistory(contextKey: string, limit?: number): Promise<Array<{
|
|
79
|
+
contextKey: string;
|
|
80
|
+
layer?: number;
|
|
81
|
+
operator?: string;
|
|
82
|
+
taskType?: string;
|
|
83
|
+
threshold: number;
|
|
84
|
+
totalCandidates: number;
|
|
85
|
+
passedSandbox: number;
|
|
86
|
+
deployedSuccessfully: number;
|
|
87
|
+
rolledBack: number;
|
|
88
|
+
falsePositiveRate: number;
|
|
89
|
+
falseNegativeRate: number;
|
|
90
|
+
optimalThreshold: number;
|
|
91
|
+
timestamp: Date;
|
|
92
|
+
}>>;
|
|
93
|
+
saveSecurityStats(stats: Record<string, unknown>): void;
|
|
94
|
+
loadSecurityStats(): Record<string, unknown> | null;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=SQLiteStorageAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLiteStorageAdapter.d.ts","sourceRoot":"","sources":["../../src/wrap/SQLiteStorageAdapter.ts"],"names":[],"mappings":"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"}
|