vesper-memory 0.5.1 → 0.5.3
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 +85 -18
- package/config/claude-rules/memory-discipline.md +39 -0
- package/config/claude-rules/vesper.md +218 -0
- package/dist/cli.js +59 -0
- package/dist/cli.js.map +1 -1
- package/dist/router/smart-router.d.ts +9 -3
- package/dist/router/smart-router.d.ts.map +1 -1
- package/dist/router/smart-router.js +236 -57
- package/dist/router/smart-router.js.map +1 -1
- package/dist/server.js +127 -2
- package/dist/server.js.map +1 -1
- package/dist/utils/validation.d.ts +12 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +13 -0
- package/dist/utils/validation.js.map +1 -1
- package/package.json +1 -2
- package/dist/cli 2.js +0 -583
- package/dist/cli.d 2.ts +0 -8
- package/dist/cli.d.ts 2.map +0 -1
- package/dist/cli.js 2.map +0 -1
- package/dist/config 2/rate-limits.d.ts +0 -76
- package/dist/config 2/rate-limits.d.ts.map +0 -1
- package/dist/config 2/rate-limits.js +0 -161
- package/dist/config 2/rate-limits.js.map +0 -1
- package/dist/consolidation 2/pipeline.d.ts +0 -52
- package/dist/consolidation 2/pipeline.d.ts.map +0 -1
- package/dist/consolidation 2/pipeline.js +0 -193
- package/dist/consolidation 2/pipeline.js.map +0 -1
- package/dist/embeddings 2/client.d.ts +0 -94
- package/dist/embeddings 2/client.d.ts.map +0 -1
- package/dist/embeddings 2/client.js +0 -144
- package/dist/embeddings 2/client.js.map +0 -1
- package/dist/memory-layers 2/semantic-memory.d.ts +0 -33
- package/dist/memory-layers 2/semantic-memory.d.ts.map +0 -1
- package/dist/memory-layers 2/semantic-memory.js +0 -114
- package/dist/memory-layers 2/semantic-memory.js.map +0 -1
- package/dist/memory-layers 2/skill-library.d.ts +0 -25
- package/dist/memory-layers 2/skill-library.d.ts.map +0 -1
- package/dist/memory-layers 2/skill-library.js +0 -54
- package/dist/memory-layers 2/skill-library.js.map +0 -1
- package/dist/memory-layers 2/working-memory.d.ts +0 -57
- package/dist/memory-layers 2/working-memory.d.ts.map +0 -1
- package/dist/memory-layers 2/working-memory.js +0 -153
- package/dist/memory-layers 2/working-memory.js.map +0 -1
- package/dist/middleware 2/auth.d.ts +0 -287
- package/dist/middleware 2/auth.d.ts.map +0 -1
- package/dist/middleware 2/auth.js +0 -610
- package/dist/middleware 2/auth.js.map +0 -1
- package/dist/monitoring 2/health.d.ts +0 -241
- package/dist/monitoring 2/health.d.ts.map +0 -1
- package/dist/monitoring 2/health.js +0 -649
- package/dist/monitoring 2/health.js.map +0 -1
- package/dist/monitoring 2/metrics.d.ts +0 -153
- package/dist/monitoring 2/metrics.d.ts.map +0 -1
- package/dist/monitoring 2/metrics.js +0 -349
- package/dist/monitoring 2/metrics.js.map +0 -1
- package/dist/retrieval 2/hybrid-search.d.ts +0 -186
- package/dist/retrieval 2/hybrid-search.d.ts.map +0 -1
- package/dist/retrieval 2/hybrid-search.js +0 -327
- package/dist/retrieval 2/hybrid-search.js.map +0 -1
- package/dist/router 2/smart-router.d.ts +0 -111
- package/dist/router 2/smart-router.d.ts.map +0 -1
- package/dist/router 2/smart-router.js +0 -383
- package/dist/router 2/smart-router.js.map +0 -1
- package/dist/security 2/rate-limit-middleware.d.ts +0 -119
- package/dist/security 2/rate-limit-middleware.d.ts.map +0 -1
- package/dist/security 2/rate-limit-middleware.js +0 -193
- package/dist/security 2/rate-limit-middleware.js.map +0 -1
- package/dist/server 2.js +0 -861
- package/dist/server-wrapper 2.js +0 -170
- package/dist/server-wrapper.d 2.ts +0 -12
- package/dist/server-wrapper.d.ts 2.map +0 -1
- package/dist/server-wrapper.js 2.map +0 -1
- package/dist/server.d 2.ts +0 -14
- package/dist/server.d.ts 2.map +0 -1
- package/dist/server.js 2.map +0 -1
- package/dist/synthesis 2/conflict-detector.d.ts +0 -43
- package/dist/synthesis 2/conflict-detector.d.ts.map +0 -1
- package/dist/synthesis 2/conflict-detector.js +0 -125
- package/dist/synthesis 2/conflict-detector.js.map +0 -1
- package/dist/utils 2/monitoring.d.ts +0 -25
- package/dist/utils 2/monitoring.d.ts.map +0 -1
- package/dist/utils 2/monitoring.js +0 -41
- package/dist/utils 2/monitoring.js.map +0 -1
- package/dist/utils 2/rate-limiter.d.ts +0 -97
- package/dist/utils 2/rate-limiter.d.ts.map +0 -1
- package/dist/utils 2/rate-limiter.js +0 -166
- package/dist/utils 2/rate-limiter.js.map +0 -1
- package/dist/utils 2/validation.d.ts +0 -139
- package/dist/utils 2/validation.d.ts.map +0 -1
- package/dist/utils 2/validation.js +0 -195
- package/dist/utils 2/validation.js.map +0 -1
package/dist/server-wrapper 2.js
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Vesper Server Wrapper
|
|
4
|
-
*
|
|
5
|
-
* Global bin entry point that:
|
|
6
|
-
* - Detects package installation location
|
|
7
|
-
* - Sets proper working directory for Docker, data, config access
|
|
8
|
-
* - Checks Docker services before starting
|
|
9
|
-
* - Starts the MCP server with correct context
|
|
10
|
-
*/
|
|
11
|
-
import { dirname, join } from 'path';
|
|
12
|
-
import { fileURLToPath } from 'url';
|
|
13
|
-
import { existsSync } from 'fs';
|
|
14
|
-
import { execSync } from 'child_process';
|
|
15
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
16
|
-
const __dirname = dirname(__filename);
|
|
17
|
-
// Colors for terminal output
|
|
18
|
-
const colors = {
|
|
19
|
-
reset: '\x1b[0m',
|
|
20
|
-
red: '\x1b[31m',
|
|
21
|
-
yellow: '\x1b[33m',
|
|
22
|
-
blue: '\x1b[34m',
|
|
23
|
-
green: '\x1b[32m',
|
|
24
|
-
};
|
|
25
|
-
function error(message) {
|
|
26
|
-
console.error(`${colors.red}❌ ${message}${colors.reset}`);
|
|
27
|
-
}
|
|
28
|
-
function warning(message) {
|
|
29
|
-
console.error(`${colors.yellow}⚠️ ${message}${colors.reset}`);
|
|
30
|
-
}
|
|
31
|
-
function info(message) {
|
|
32
|
-
console.error(`${colors.blue}ℹ️ ${message}${colors.reset}`);
|
|
33
|
-
}
|
|
34
|
-
function success(message) {
|
|
35
|
-
console.error(`${colors.green}✅ ${message}${colors.reset}`);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Detect package root directory
|
|
39
|
-
* This could be ~/.vesper or a local installation
|
|
40
|
-
*/
|
|
41
|
-
function getPackageRoot() {
|
|
42
|
-
// dist/server-wrapper.js -> package root
|
|
43
|
-
return dirname(__dirname);
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Check if Docker is running
|
|
47
|
-
*/
|
|
48
|
-
function isDockerRunning() {
|
|
49
|
-
try {
|
|
50
|
-
execSync('docker info', { stdio: 'ignore' });
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
catch {
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Check if a Docker service is running and healthy
|
|
59
|
-
*/
|
|
60
|
-
function checkDockerService(serviceName, packageRoot) {
|
|
61
|
-
try {
|
|
62
|
-
const output = execSync(`docker-compose ps --format json ${serviceName}`, {
|
|
63
|
-
cwd: packageRoot,
|
|
64
|
-
encoding: 'utf-8',
|
|
65
|
-
stdio: ['pipe', 'pipe', 'ignore'],
|
|
66
|
-
});
|
|
67
|
-
if (!output.trim()) {
|
|
68
|
-
return { running: false, healthy: false, error: 'Service not found' };
|
|
69
|
-
}
|
|
70
|
-
const service = JSON.parse(output.trim().split('\n')[0]);
|
|
71
|
-
const running = service.State === 'running';
|
|
72
|
-
const healthy = service.Health === 'healthy' || service.Health === '';
|
|
73
|
-
return { running, healthy };
|
|
74
|
-
}
|
|
75
|
-
catch (err) {
|
|
76
|
-
return { running: false, healthy: false, error: err.message };
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Check all required Docker services
|
|
81
|
-
* Note: This is informational only - the server will gracefully degrade if services are unavailable
|
|
82
|
-
*/
|
|
83
|
-
function checkRequiredServices(packageRoot) {
|
|
84
|
-
const requiredServices = ['redis', 'qdrant', 'embedding'];
|
|
85
|
-
const errors = [];
|
|
86
|
-
info('Checking required services...');
|
|
87
|
-
// Only check if docker-compose.yml exists in package root
|
|
88
|
-
const dockerComposePath = join(packageRoot, 'docker-compose.yml');
|
|
89
|
-
if (!existsSync(dockerComposePath)) {
|
|
90
|
-
info('docker-compose.yml not found - assuming services managed externally');
|
|
91
|
-
info('The server will connect to services at configured URLs');
|
|
92
|
-
return {
|
|
93
|
-
allHealthy: true, // Don't block - let the server try to connect
|
|
94
|
-
errors: [],
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
for (const service of requiredServices) {
|
|
98
|
-
const status = checkDockerService(service, packageRoot);
|
|
99
|
-
if (!status.running) {
|
|
100
|
-
errors.push(`${service}: Not running${status.error ? ` (${status.error})` : ''}`);
|
|
101
|
-
}
|
|
102
|
-
else if (!status.healthy) {
|
|
103
|
-
warning(`${service}: Running but not healthy yet (may still be starting)`);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
success(`${service}: Running and healthy`);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
return {
|
|
110
|
-
allHealthy: errors.length === 0,
|
|
111
|
-
errors,
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Main entry point
|
|
116
|
-
*/
|
|
117
|
-
async function main() {
|
|
118
|
-
const packageRoot = getPackageRoot();
|
|
119
|
-
// Verify server.js exists
|
|
120
|
-
const serverPath = join(packageRoot, 'dist', 'server.js');
|
|
121
|
-
if (!existsSync(serverPath)) {
|
|
122
|
-
error(`Server not found at ${serverPath}`);
|
|
123
|
-
error('The package may not be properly installed.');
|
|
124
|
-
error('Try reinstalling: npm install -g vesper');
|
|
125
|
-
process.exit(1);
|
|
126
|
-
}
|
|
127
|
-
// Note: docker-compose.yml is optional - services can be managed externally
|
|
128
|
-
// The server will connect to services via environment variables
|
|
129
|
-
// Set working directory to package root
|
|
130
|
-
// This allows Docker Compose and the server to find config files, data, etc.
|
|
131
|
-
process.chdir(packageRoot);
|
|
132
|
-
info(`Working directory: ${packageRoot}`);
|
|
133
|
-
// Check if Docker is running
|
|
134
|
-
if (!isDockerRunning()) {
|
|
135
|
-
error('Docker is not running');
|
|
136
|
-
console.error('');
|
|
137
|
-
console.error('Please start Docker Desktop and try again.');
|
|
138
|
-
console.error('');
|
|
139
|
-
console.error('After starting Docker, run:');
|
|
140
|
-
console.error(` cd ${packageRoot}`);
|
|
141
|
-
console.error(' docker-compose up -d redis qdrant embedding');
|
|
142
|
-
console.error('');
|
|
143
|
-
process.exit(1);
|
|
144
|
-
}
|
|
145
|
-
// Check required services (informational only)
|
|
146
|
-
const servicesCheck = checkRequiredServices(packageRoot);
|
|
147
|
-
if (!servicesCheck.allHealthy && servicesCheck.errors.length > 0) {
|
|
148
|
-
warning('Some services may not be running:');
|
|
149
|
-
servicesCheck.errors.forEach((err) => console.error(` • ${err}`));
|
|
150
|
-
console.error('');
|
|
151
|
-
info('The server will run in degraded mode without unavailable services');
|
|
152
|
-
info('To start services, ensure Docker is running and:');
|
|
153
|
-
console.error(` cd ${packageRoot}`);
|
|
154
|
-
console.error(' docker-compose up -d redis qdrant embedding');
|
|
155
|
-
console.error('');
|
|
156
|
-
}
|
|
157
|
-
// All checks passed, start the server
|
|
158
|
-
info('Starting Vesper MCP server...');
|
|
159
|
-
// Import and run the server
|
|
160
|
-
// The server will inherit the working directory we set
|
|
161
|
-
await import(serverPath);
|
|
162
|
-
}
|
|
163
|
-
// Run with error handling
|
|
164
|
-
main().catch((err) => {
|
|
165
|
-
error(`Failed to start server: ${err.message}`);
|
|
166
|
-
console.error('');
|
|
167
|
-
console.error('For help, visit: https://github.com/fitz2882/vesper/issues');
|
|
168
|
-
process.exit(1);
|
|
169
|
-
});
|
|
170
|
-
//# sourceMappingURL=server-wrapper.js.map
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Vesper Server Wrapper
|
|
4
|
-
*
|
|
5
|
-
* Global bin entry point that:
|
|
6
|
-
* - Detects package installation location
|
|
7
|
-
* - Sets proper working directory for Docker, data, config access
|
|
8
|
-
* - Checks Docker services before starting
|
|
9
|
-
* - Starts the MCP server with correct context
|
|
10
|
-
*/
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=server-wrapper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server-wrapper.d.ts","sourceRoot":"","sources":["../src/server-wrapper.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server-wrapper.js","sourceRoot":"","sources":["../src/server-wrapper.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d 2.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Vesper - AI Memory System
|
|
3
|
-
*
|
|
4
|
-
* Main entry point for the Model Context Protocol server.
|
|
5
|
-
* Implements a neuroscience-inspired memory system for Claude Code agents.
|
|
6
|
-
*
|
|
7
|
-
* This server provides:
|
|
8
|
-
* - store_memory: Add memories to working memory
|
|
9
|
-
* - retrieve_memory: Query with smart routing
|
|
10
|
-
* - list_recent: Get last 5 conversations
|
|
11
|
-
* - get_stats: Return system metrics
|
|
12
|
-
*/
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts 2.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
package/dist/server.js 2.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conflict Detection - v3.0 Implementation
|
|
3
|
-
*
|
|
4
|
-
* Detect contradictions, temporal impossibilities, preference shifts.
|
|
5
|
-
* Flag but never auto-resolve - honesty over guessing.
|
|
6
|
-
*/
|
|
7
|
-
import Database from 'better-sqlite3';
|
|
8
|
-
export interface Conflict {
|
|
9
|
-
id: string;
|
|
10
|
-
factId1: string;
|
|
11
|
-
factId2: string;
|
|
12
|
-
conflictType: 'temporal_overlap' | 'contradiction' | 'preference_shift';
|
|
13
|
-
description: string;
|
|
14
|
-
severity: 'low' | 'medium' | 'high';
|
|
15
|
-
}
|
|
16
|
-
export declare class ConflictDetector {
|
|
17
|
-
private db;
|
|
18
|
-
constructor(db: Database.Database);
|
|
19
|
-
/**
|
|
20
|
-
* Detect all types of conflicts
|
|
21
|
-
*/
|
|
22
|
-
detectAll(): Conflict[];
|
|
23
|
-
/**
|
|
24
|
-
* Temporal impossibilities
|
|
25
|
-
* Example: "worked at A in 2020" vs "worked at B in 2020"
|
|
26
|
-
*/
|
|
27
|
-
private detectTemporalConflicts;
|
|
28
|
-
/**
|
|
29
|
-
* Direct contradictions
|
|
30
|
-
* Example: "allergic to peanuts" vs "loves peanut butter"
|
|
31
|
-
*/
|
|
32
|
-
private detectDirectContradictions;
|
|
33
|
-
/**
|
|
34
|
-
* Preference changes over time
|
|
35
|
-
* Example: "prefers Python" (old) vs "prefers Rust" (recent)
|
|
36
|
-
*/
|
|
37
|
-
private detectPreferenceShifts;
|
|
38
|
-
/**
|
|
39
|
-
* Store detected conflict
|
|
40
|
-
*/
|
|
41
|
-
storeConflict(conflict: Conflict): void;
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=conflict-detector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-detector.d.ts","sourceRoot":"","sources":["../../src/synthesis/conflict-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,CAAC;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACrC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAoB;gBAElB,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAIjC;;OAEG;IACH,SAAS,IAAI,QAAQ,EAAE;IAWvB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA+B9B;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAoBxC"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conflict Detection - v3.0 Implementation
|
|
3
|
-
*
|
|
4
|
-
* Detect contradictions, temporal impossibilities, preference shifts.
|
|
5
|
-
* Flag but never auto-resolve - honesty over guessing.
|
|
6
|
-
*/
|
|
7
|
-
export class ConflictDetector {
|
|
8
|
-
db;
|
|
9
|
-
constructor(db) {
|
|
10
|
-
this.db = db;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Detect all types of conflicts
|
|
14
|
-
*/
|
|
15
|
-
detectAll() {
|
|
16
|
-
const conflicts = [];
|
|
17
|
-
// Check direct contradictions first (more specific than temporal overlaps)
|
|
18
|
-
conflicts.push(...this.detectDirectContradictions());
|
|
19
|
-
conflicts.push(...this.detectTemporalConflicts());
|
|
20
|
-
conflicts.push(...this.detectPreferenceShifts());
|
|
21
|
-
return conflicts;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Temporal impossibilities
|
|
25
|
-
* Example: "worked at A in 2020" vs "worked at B in 2020"
|
|
26
|
-
*/
|
|
27
|
-
detectTemporalConflicts() {
|
|
28
|
-
const conflicts = [];
|
|
29
|
-
// Detect temporal overlaps including open-ended periods
|
|
30
|
-
// Note: Direct contradictions with same valid_from are handled separately
|
|
31
|
-
const results = this.db.prepare(`
|
|
32
|
-
SELECT f1.*, f2.id as f2_id, f2.value as f2_value, f2.valid_from as f2_valid_from
|
|
33
|
-
FROM facts f1
|
|
34
|
-
JOIN facts f2 ON f1.entity_id = f2.entity_id AND f1.property = f2.property
|
|
35
|
-
WHERE f1.id < f2.id
|
|
36
|
-
AND f1.value != f2.value
|
|
37
|
-
AND f1.valid_from <= COALESCE(f2.valid_until, '9999-12-31')
|
|
38
|
-
AND COALESCE(f1.valid_until, '9999-12-31') >= f2.valid_from
|
|
39
|
-
AND NOT (f1.valid_until IS NULL AND f2.valid_until IS NULL AND f1.valid_from = f2.valid_from)
|
|
40
|
-
`).all();
|
|
41
|
-
for (const row of results) {
|
|
42
|
-
conflicts.push({
|
|
43
|
-
id: 'conflict_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9),
|
|
44
|
-
factId1: row.id,
|
|
45
|
-
factId2: row.f2_id,
|
|
46
|
-
conflictType: 'temporal_overlap',
|
|
47
|
-
description: `Temporal overlap: "${row.value}" and "${row.f2_value}" both claim to be true for ${row.property}`,
|
|
48
|
-
severity: 'high',
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
return conflicts;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Direct contradictions
|
|
55
|
-
* Example: "allergic to peanuts" vs "loves peanut butter"
|
|
56
|
-
*/
|
|
57
|
-
detectDirectContradictions() {
|
|
58
|
-
const conflicts = [];
|
|
59
|
-
// Direct contradictions: both indefinite AND same start date
|
|
60
|
-
const results = this.db.prepare(`
|
|
61
|
-
SELECT f1.*, f2.id as f2_id, f2.value as f2_value
|
|
62
|
-
FROM facts f1
|
|
63
|
-
JOIN facts f2 ON f1.entity_id = f2.entity_id
|
|
64
|
-
WHERE f1.id < f2.id
|
|
65
|
-
AND f1.property = f2.property
|
|
66
|
-
AND f1.value != f2.value
|
|
67
|
-
AND f1.valid_until IS NULL
|
|
68
|
-
AND f2.valid_until IS NULL
|
|
69
|
-
AND f1.valid_from = f2.valid_from
|
|
70
|
-
`).all();
|
|
71
|
-
for (const row of results) {
|
|
72
|
-
conflicts.push({
|
|
73
|
-
id: 'conflict_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9),
|
|
74
|
-
factId1: row.id,
|
|
75
|
-
factId2: row.f2_id,
|
|
76
|
-
conflictType: 'contradiction',
|
|
77
|
-
description: `Contradiction: "${row.value}" vs "${row.f2_value}" for ${row.property}`,
|
|
78
|
-
severity: 'medium',
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
return conflicts;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Preference changes over time
|
|
85
|
-
* Example: "prefers Python" (old) vs "prefers Rust" (recent)
|
|
86
|
-
*/
|
|
87
|
-
detectPreferenceShifts() {
|
|
88
|
-
const conflicts = [];
|
|
89
|
-
const results = this.db.prepare(`
|
|
90
|
-
SELECT e1.*, e2.id as e2_id, e2.name as e2_name, e2.created_at as e2_created
|
|
91
|
-
FROM entities e1
|
|
92
|
-
JOIN entities e2 ON e1.type = e2.type AND e1.type = 'preference'
|
|
93
|
-
WHERE e1.id < e2.id
|
|
94
|
-
AND e1.name != e2.name
|
|
95
|
-
AND e1.description = e2.description
|
|
96
|
-
`).all();
|
|
97
|
-
for (const row of results) {
|
|
98
|
-
const timeDiff = new Date(row.e2_created).getTime() - new Date(row.created_at).getTime();
|
|
99
|
-
const daysDiff = timeDiff / (1000 * 60 * 60 * 24);
|
|
100
|
-
if (daysDiff > 7) {
|
|
101
|
-
conflicts.push({
|
|
102
|
-
id: 'conflict_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9),
|
|
103
|
-
factId1: row.id,
|
|
104
|
-
factId2: row.e2_id,
|
|
105
|
-
conflictType: 'preference_shift',
|
|
106
|
-
description: `Preference shifted from "${row.name}" to "${row.e2_name}" over ${Math.round(daysDiff)} days`,
|
|
107
|
-
severity: 'low',
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return conflicts;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Store detected conflict
|
|
115
|
-
*/
|
|
116
|
-
storeConflict(conflict) {
|
|
117
|
-
this.db.prepare(`
|
|
118
|
-
INSERT INTO conflicts (id, fact_id_1, fact_id_2, conflict_type, description, severity, resolution_status)
|
|
119
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
120
|
-
`).run(conflict.id, conflict.factId1, conflict.factId2, conflict.conflictType, conflict.description, conflict.severity, 'flagged');
|
|
121
|
-
// Lower confidence on both facts
|
|
122
|
-
this.db.prepare('UPDATE facts SET confidence = 0.5 WHERE id IN (?, ?)').run(conflict.factId1, conflict.factId2);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=conflict-detector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-detector.js","sourceRoot":"","sources":["../../src/synthesis/conflict-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,MAAM,OAAO,gBAAgB;IACnB,EAAE,CAAoB;IAE9B,YAAY,EAAqB;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED;;OAEG;IACH,SAAS;QACP,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,2EAA2E;QAC3E,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;QACrD,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAClD,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAEjD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,uBAAuB;QAC7B,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,wDAAwD;QACxD,0EAA0E;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;KAS/B,CAAC,CAAC,GAAG,EAAW,CAAC;QAElB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5E,OAAO,EAAE,GAAG,CAAC,EAAE;gBACf,OAAO,EAAE,GAAG,CAAC,KAAK;gBAClB,YAAY,EAAE,kBAAkB;gBAChC,WAAW,EAAE,sBAAsB,GAAG,CAAC,KAAK,UAAU,GAAG,CAAC,QAAQ,+BAA+B,GAAG,CAAC,QAAQ,EAAE;gBAC/G,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,0BAA0B;QAChC,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,6DAA6D;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;KAU/B,CAAC,CAAC,GAAG,EAAW,CAAC;QAElB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5E,OAAO,EAAE,GAAG,CAAC,EAAE;gBACf,OAAO,EAAE,GAAG,CAAC,KAAK;gBAClB,YAAY,EAAE,eAAe;gBAC7B,WAAW,EAAE,mBAAmB,GAAG,CAAC,KAAK,SAAS,GAAG,CAAC,QAAQ,SAAS,GAAG,CAAC,QAAQ,EAAE;gBACrF,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,sBAAsB;QAC5B,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;KAO/B,CAAC,CAAC,GAAG,EAAW,CAAC;QAElB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YACzF,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAElD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC5E,OAAO,EAAE,GAAG,CAAC,EAAE;oBACf,OAAO,EAAE,GAAG,CAAC,KAAK;oBAClB,YAAY,EAAE,kBAAkB;oBAChC,WAAW,EAAE,4BAA4B,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO;oBAC1G,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAkB;QAC9B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGf,CAAC,CAAC,GAAG,CACJ,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,QAAQ,EACjB,SAAS,CACV,CAAC;QAEF,iCAAiC;QACjC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CACzE,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,OAAO,CACjB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Monitoring & Logging - v3.0
|
|
3
|
-
*
|
|
4
|
-
* Track latency, accuracy, cache hit rates.
|
|
5
|
-
*/
|
|
6
|
-
export interface PerformanceMetrics {
|
|
7
|
-
p50: number;
|
|
8
|
-
p95: number;
|
|
9
|
-
p99: number;
|
|
10
|
-
}
|
|
11
|
-
export declare class PerformanceMonitor {
|
|
12
|
-
private latencies;
|
|
13
|
-
private cacheHits;
|
|
14
|
-
private cacheMisses;
|
|
15
|
-
recordLatency(ms: number): void;
|
|
16
|
-
recordCacheHit(): void;
|
|
17
|
-
recordCacheMiss(): void;
|
|
18
|
-
getMetrics(): {
|
|
19
|
-
latency: PerformanceMetrics;
|
|
20
|
-
cacheHitRate: number;
|
|
21
|
-
totalRequests: number;
|
|
22
|
-
};
|
|
23
|
-
reset(): void;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=monitoring.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"monitoring.d.ts","sourceRoot":"","sources":["../../src/utils/monitoring.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAa;IAEhC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO/B,cAAc,IAAI,IAAI;IAItB,eAAe,IAAI,IAAI;IAIvB,UAAU,IAAI;QACZ,OAAO,EAAE,kBAAkB,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB;IAgBD,KAAK,IAAI,IAAI;CAKd"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Monitoring & Logging - v3.0
|
|
3
|
-
*
|
|
4
|
-
* Track latency, accuracy, cache hit rates.
|
|
5
|
-
*/
|
|
6
|
-
export class PerformanceMonitor {
|
|
7
|
-
latencies = [];
|
|
8
|
-
cacheHits = 0;
|
|
9
|
-
cacheMisses = 0;
|
|
10
|
-
recordLatency(ms) {
|
|
11
|
-
this.latencies.push(ms);
|
|
12
|
-
if (this.latencies.length > 1000) {
|
|
13
|
-
this.latencies.shift();
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
recordCacheHit() {
|
|
17
|
-
this.cacheHits++;
|
|
18
|
-
}
|
|
19
|
-
recordCacheMiss() {
|
|
20
|
-
this.cacheMisses++;
|
|
21
|
-
}
|
|
22
|
-
getMetrics() {
|
|
23
|
-
const sorted = [...this.latencies].sort((a, b) => a - b);
|
|
24
|
-
const p50 = sorted[Math.floor(sorted.length * 0.5)] || 0;
|
|
25
|
-
const p95 = sorted[Math.floor(sorted.length * 0.95)] || 0;
|
|
26
|
-
const p99 = sorted[Math.floor(sorted.length * 0.99)] || 0;
|
|
27
|
-
const total = this.cacheHits + this.cacheMisses;
|
|
28
|
-
const hitRate = total > 0 ? this.cacheHits / total : 0;
|
|
29
|
-
return {
|
|
30
|
-
latency: { p50, p95, p99 },
|
|
31
|
-
cacheHitRate: hitRate,
|
|
32
|
-
totalRequests: this.latencies.length,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
reset() {
|
|
36
|
-
this.latencies = [];
|
|
37
|
-
this.cacheHits = 0;
|
|
38
|
-
this.cacheMisses = 0;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=monitoring.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"monitoring.js","sourceRoot":"","sources":["../../src/utils/monitoring.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,OAAO,kBAAkB;IACrB,SAAS,GAAa,EAAE,CAAC;IACzB,SAAS,GAAW,CAAC,CAAC;IACtB,WAAW,GAAW,CAAC,CAAC;IAEhC,aAAa,CAAC,EAAU;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,UAAU;QAKR,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;QAChD,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvD,OAAO;YACL,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;YAC1B,YAAY,EAAE,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;SACrC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rate Limiting Module
|
|
3
|
-
*
|
|
4
|
-
* Token bucket implementation for preventing DoS attacks and abuse.
|
|
5
|
-
* Limits requests per user per time window.
|
|
6
|
-
*
|
|
7
|
-
* Security Features:
|
|
8
|
-
* - Per-user rate limiting
|
|
9
|
-
* - Configurable limits per operation type
|
|
10
|
-
* - Redis-backed for distributed systems
|
|
11
|
-
* - Automatic token refill
|
|
12
|
-
*/
|
|
13
|
-
import { Redis } from 'ioredis';
|
|
14
|
-
/**
|
|
15
|
-
* Rate limit configuration per operation type
|
|
16
|
-
*/
|
|
17
|
-
export interface RateLimitConfig {
|
|
18
|
-
/** Maximum number of requests allowed */
|
|
19
|
-
maxRequests: number;
|
|
20
|
-
/** Time window in seconds */
|
|
21
|
-
windowSeconds: number;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Rate limit result
|
|
25
|
-
*/
|
|
26
|
-
export interface RateLimitResult {
|
|
27
|
-
/** Whether the request is allowed */
|
|
28
|
-
allowed: boolean;
|
|
29
|
-
/** Remaining requests in current window */
|
|
30
|
-
remaining: number;
|
|
31
|
-
/** Time until window resets (seconds) */
|
|
32
|
-
resetIn: number;
|
|
33
|
-
/** Total limit */
|
|
34
|
-
limit: number;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Default rate limits per operation
|
|
38
|
-
*/
|
|
39
|
-
export declare const DEFAULT_RATE_LIMITS: Record<string, RateLimitConfig>;
|
|
40
|
-
/**
|
|
41
|
-
* Token Bucket Rate Limiter
|
|
42
|
-
*
|
|
43
|
-
* Implements the token bucket algorithm using Redis for distributed rate limiting.
|
|
44
|
-
* Each user has a separate bucket per operation type.
|
|
45
|
-
*/
|
|
46
|
-
export declare class RateLimiter {
|
|
47
|
-
private redis;
|
|
48
|
-
private limits;
|
|
49
|
-
constructor(redis: Redis, limits?: Record<string, RateLimitConfig>);
|
|
50
|
-
/**
|
|
51
|
-
* Check if a request is allowed under rate limits
|
|
52
|
-
*
|
|
53
|
-
* @param userId - User identifier
|
|
54
|
-
* @param operation - Operation name (e.g., "store_memory")
|
|
55
|
-
* @returns Rate limit result with allowed status and metadata
|
|
56
|
-
*/
|
|
57
|
-
checkLimit(userId: string, operation: string): Promise<RateLimitResult>;
|
|
58
|
-
/**
|
|
59
|
-
* Reset rate limit for a user and operation
|
|
60
|
-
*
|
|
61
|
-
* Useful for testing or administrative overrides.
|
|
62
|
-
*
|
|
63
|
-
* @param userId - User identifier
|
|
64
|
-
* @param operation - Operation name
|
|
65
|
-
*/
|
|
66
|
-
resetLimit(userId: string, operation: string): Promise<void>;
|
|
67
|
-
/**
|
|
68
|
-
* Get current usage for a user and operation
|
|
69
|
-
*
|
|
70
|
-
* @param userId - User identifier
|
|
71
|
-
* @param operation - Operation name
|
|
72
|
-
* @returns Current request count in window
|
|
73
|
-
*/
|
|
74
|
-
getUsage(userId: string, operation: string): Promise<number>;
|
|
75
|
-
/**
|
|
76
|
-
* Update rate limit configuration
|
|
77
|
-
*
|
|
78
|
-
* @param operation - Operation name
|
|
79
|
-
* @param config - New rate limit configuration
|
|
80
|
-
*/
|
|
81
|
-
setLimit(operation: string, config: RateLimitConfig): void;
|
|
82
|
-
/**
|
|
83
|
-
* Get rate limit configuration for an operation
|
|
84
|
-
*
|
|
85
|
-
* @param operation - Operation name
|
|
86
|
-
* @returns Rate limit configuration
|
|
87
|
-
*/
|
|
88
|
-
getLimit(operation: string): RateLimitConfig | undefined;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Factory function to create a rate limiter
|
|
92
|
-
*
|
|
93
|
-
* @param redis - Redis client
|
|
94
|
-
* @param limits - Optional custom rate limits
|
|
95
|
-
*/
|
|
96
|
-
export declare function createRateLimiter(redis: Redis, limits?: Record<string, RateLimitConfig>): RateLimiter;
|
|
97
|
-
//# sourceMappingURL=rate-limiter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAiB/D,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAkC;gBAEpC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAuB;IAKvF;;;;;;OAMG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAgE7E;;;;;;;OAOG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE;;;;;;OAMG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBlE;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAI1D;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;CAGzD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GACvC,WAAW,CAEb"}
|