fivocell 5.4.0 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=performance.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/performance.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const database_1 = require("../walls/06-memory/database/database");
4
+ describe('Query Cache', () => {
5
+ beforeEach(() => {
6
+ const { cacheClear } = require('../walls/06-memory/database/query-cache');
7
+ cacheClear();
8
+ });
9
+ test('cacheSet and cacheGet work', () => {
10
+ const { cacheSet, cacheGet } = require('../walls/06-memory/database/query-cache');
11
+ cacheSet('test-key', { hello: 'world' });
12
+ const result = cacheGet('test-key');
13
+ expect(result).toEqual({ hello: 'world' });
14
+ });
15
+ test('cacheGet returns undefined for missing keys', () => {
16
+ const { cacheGet } = require('../walls/06-memory/database/query-cache');
17
+ expect(cacheGet('nonexistent')).toBeUndefined();
18
+ });
19
+ test('cacheClear removes all entries', () => {
20
+ const { cacheSet, cacheGet, cacheClear } = require('../walls/06-memory/database/query-cache');
21
+ cacheSet('a', 1);
22
+ cacheSet('b', 2);
23
+ cacheClear();
24
+ expect(cacheGet('a')).toBeUndefined();
25
+ expect(cacheGet('b')).toBeUndefined();
26
+ });
27
+ test('cacheClear with pattern removes matching entries', () => {
28
+ const { cacheSet, cacheGet, cacheClear } = require('../walls/06-memory/database/query-cache');
29
+ cacheSet('events:list', [1, 2]);
30
+ cacheSet('events:count', 42);
31
+ cacheSet('other', 'x');
32
+ cacheClear('events');
33
+ expect(cacheGet('events:list')).toBeUndefined();
34
+ expect(cacheGet('events:count')).toBeUndefined();
35
+ expect(cacheGet('other')).toBe('x');
36
+ });
37
+ test('cachedQuery caches results', () => {
38
+ const { cachedQuery, getCacheStats } = require('../walls/06-memory/database/query-cache');
39
+ const db = (0, database_1.getDb)();
40
+ db.prepare('DELETE FROM memory_events WHERE project = ?').run('test-cache');
41
+ db.prepare("INSERT INTO memory_events (project, type, summary) VALUES ('test-cache', 'test', 'cache test')").run();
42
+ const result1 = cachedQuery('test-query', 'SELECT project FROM memory_events WHERE project = ?', ['test-cache'], 10000);
43
+ expect(result1.length).toBeGreaterThanOrEqual(1);
44
+ const result2 = cachedQuery('test-query', 'SELECT project FROM memory_events WHERE project = ?', ['test-cache'], 10000);
45
+ expect(result2).toEqual(result1);
46
+ });
47
+ test('invalidateOnWrite clears matching cache patterns', () => {
48
+ const { cacheSet, cacheGet, invalidateOnWrite } = require('../walls/06-memory/database/query-cache');
49
+ cacheSet('project:foo:events', 'data1');
50
+ cacheSet('project:bar:events', 'data2');
51
+ invalidateOnWrite(['foo']);
52
+ expect(cacheGet('project:foo:events')).toBeUndefined();
53
+ expect(cacheGet('project:bar:events')).toBe('data2');
54
+ });
55
+ });
56
+ describe('Batch Write', () => {
57
+ test('batchWrite executes operations', () => {
58
+ const { batchWrite } = require('../walls/06-memory/database/batch-write');
59
+ const db = (0, database_1.getDb)();
60
+ db.prepare("INSERT INTO memory_events (project, type, summary) VALUES ('test-batch', 'test', 'batch pre')").run();
61
+ const result = batchWrite([
62
+ { sql: "INSERT INTO memory_events (project, type, summary) VALUES ('test-batch', 'test', 'batch a')", params: [] },
63
+ { sql: "INSERT INTO memory_events (project, type, summary) VALUES ('test-batch', 'test', 'batch b')", params: [] },
64
+ ]);
65
+ expect(result.total).toBe(2);
66
+ expect(result.errors).toBe(0);
67
+ });
68
+ test('batchInsert inserts rows', () => {
69
+ const { batchInsert } = require('../walls/06-memory/database/batch-write');
70
+ const result = batchInsert('memory_events', [
71
+ { project: 'test-insert', type: 'test', summary: 'batch insert a' },
72
+ { project: 'test-insert', type: 'test', summary: 'batch insert b' },
73
+ { project: 'test-insert', type: 'test', summary: 'batch insert c' },
74
+ ]);
75
+ expect(result.inserted).toBe(3);
76
+ });
77
+ });
78
+ //# sourceMappingURL=performance.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.test.js","sourceRoot":"","sources":["../../src/__tests__/performance.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export interface BatchOperation {
2
+ sql: string;
3
+ params: unknown[];
4
+ }
5
+ export declare function batchWrite(operations: BatchOperation[], invalidatePatterns?: string[]): {
6
+ total: number;
7
+ errors: number;
8
+ errorMessages: string[];
9
+ };
10
+ export declare function batchInsert(table: string, rows: Record<string, unknown>[], invalidatePatterns?: string[]): {
11
+ inserted: number;
12
+ errors: number;
13
+ errorMessages: string[];
14
+ };
15
+ //# sourceMappingURL=batch-write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-write.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/database/batch-write.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE,kBAAkB,GAAE,MAAM,EAAO,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAoBtJ;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,kBAAkB,GAAE,MAAM,EAAO,GAChC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CA2B/D"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.batchWrite = batchWrite;
4
+ exports.batchInsert = batchInsert;
5
+ const database_1 = require("../database/database");
6
+ const query_cache_1 = require("./query-cache");
7
+ function batchWrite(operations, invalidatePatterns = []) {
8
+ const db = (0, database_1.getDb)();
9
+ const result = { total: operations.length, errors: 0, errorMessages: [] };
10
+ if (operations.length === 0)
11
+ return result;
12
+ const tx = db.transaction(() => {
13
+ for (const op of operations) {
14
+ try {
15
+ db.prepare(op.sql).run(...op.params);
16
+ }
17
+ catch (err) {
18
+ result.errors++;
19
+ result.errorMessages.push(err.message);
20
+ }
21
+ }
22
+ });
23
+ tx();
24
+ if (invalidatePatterns.length > 0)
25
+ (0, query_cache_1.invalidateOnWrite)(invalidatePatterns);
26
+ return result;
27
+ }
28
+ function batchInsert(table, rows, invalidatePatterns = []) {
29
+ if (rows.length === 0)
30
+ return { inserted: 0, errors: 0, errorMessages: [] };
31
+ const columns = Object.keys(rows[0]);
32
+ const placeholders = columns.map(() => '?').join(', ');
33
+ const sql = `INSERT OR IGNORE INTO ${table} (${columns.join(', ')}) VALUES (${placeholders})`;
34
+ const db = (0, database_1.getDb)();
35
+ const result = { inserted: 0, errors: 0, errorMessages: [] };
36
+ const tx = db.transaction(() => {
37
+ const stmt = db.prepare(sql);
38
+ for (const row of rows) {
39
+ try {
40
+ const params = columns.map(c => row[c] ?? null);
41
+ const info = stmt.run(...params);
42
+ if (info.changes > 0)
43
+ result.inserted++;
44
+ }
45
+ catch (err) {
46
+ result.errors++;
47
+ result.errorMessages.push(err.message);
48
+ }
49
+ }
50
+ });
51
+ tx();
52
+ if (invalidatePatterns.length > 0)
53
+ (0, query_cache_1.invalidateOnWrite)(invalidatePatterns);
54
+ return result;
55
+ }
56
+ //# sourceMappingURL=batch-write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-write.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/database/batch-write.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/database/database.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAWtC,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAkCzC;AAED,wBAAgB,OAAO,IAAI,IAAI,CAM9B;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAmsBzC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAUvC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiB1D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAmPpD;AAaD,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM1D"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/database/database.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAWtC,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAkCzC;AAED,wBAAgB,OAAO,IAAI,IAAI,CAM9B;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAysBzC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAUvC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiB1D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAmPpD;AAaD,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM1D"}
@@ -772,6 +772,12 @@ function initializeDatabase() {
772
772
  CREATE INDEX IF NOT EXISTS idx_memory_events_importance ON memory_events(importance DESC);
773
773
  CREATE INDEX IF NOT EXISTS idx_memory_events_time ON memory_events(created_at DESC);
774
774
 
775
+ -- Phase 11: Composite indexes for common query patterns
776
+ CREATE INDEX IF NOT EXISTS idx_memory_events_project_type_time ON memory_events(project, type, created_at DESC);
777
+ CREATE INDEX IF NOT EXISTS idx_memory_events_project_imp_time ON memory_events(project, importance DESC, created_at DESC);
778
+ CREATE INDEX IF NOT EXISTS idx_memory_events_project_summary_time ON memory_events(project, summary, created_at);
779
+ CREATE INDEX IF NOT EXISTS idx_memory_events_synced ON memory_events(synced);
780
+
775
781
  CREATE INDEX IF NOT EXISTS idx_memory_archive_project ON memory_archive_refs(project);
776
782
  CREATE INDEX IF NOT EXISTS idx_memory_archive_category ON memory_archive_refs(category);
777
783
 
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/database/database.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,sBAkCC;AAED,0BAMC;AAED,gDAmsBC;AAED,wCAUC;AAED,4CAiBC;AAmBD,kDAmPC;AAaD,4CAMC;AArjCD,2CAA6B;AAC7B,uCAAyB;AACzB,uCAAyB;AACzB,oEAAsC;AAEtC,SAAS,SAAS;IAChB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC7D,CAAC;AAED,IAAI,GAAG,GAA6B,IAAI,CAAC;AACzC,IAAI,OAAO,GAAkB,IAAI,CAAC;AAClC,IAAI,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAC1C,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,SAAgB,KAAK;IACnB,MAAM,CAAC,GAAG,SAAS,EAAE,CAAC;IACtB,IAAI,GAAG,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC;gBACH,kBAAkB,EAAE,CAAC;gBACrB,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;oBAAS,CAAC;gBACT,aAAa,GAAG,KAAK,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC;YAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3C,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,GAAG,GAAG,IAAI,wBAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACjC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAChC,OAAO,GAAG,CAAC,CAAC;IACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC;YACH,kBAAkB,EAAE,CAAC;YACrB,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,OAAO;IACrB,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC;YAAC,GAAG,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACtE,IAAI,CAAC;YAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3C,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB;IAChC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAijBP,CAAC,CAAC;IAEH,kDAAkD;IAClD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,EAA6B,CAAC;IACjG,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACtG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACxG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IAC1H,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;IAElI,mDAAmD;IACnD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,EAA6B,CAAC;IAClG,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAC/F,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IAC5H,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IAC7H,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAC3G,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACjH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACnG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACrG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IAEzG,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmHP,CAAC,CAAC;IAEH,sDAAsD;IACtD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,EAA6B,CAAC;IAC/F,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;AAC/G,CAAC;AAED,SAAgB,cAAc;IAC5B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC1D,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtB,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,gBAAgB;IAC9B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,MAAM,GAAG,EAAE;SACd,OAAO,CAAC,gFAAgF,CAAC;SACzF,GAAG,EAA6B,CAAC;IACpC,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAuB,CAAC;YAC7F,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,EAAE,CAAC;IAC/B,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;IACvD,OAAO,KAAK,CAAC;AACf,CAAC;AAmBD,SAAgB,mBAAmB;IACjC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,KAAK,GAAmB;QAC5B,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;QAC1D,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC1D,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;KACnF,CAAC;IAEF,MAAM,SAAS,GAA4C,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACxD,SAAS,CAAC,CAAC,CAAC,GAAG,MAAiC,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,CAAsB,GAAW,EAAE,MAAS,EAAQ,EAAE;QACvE,IAAI,CAAC;YAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,0BAA0B;IAC1B,IAAI,SAAS,CAAC,WAAW,CAAC,IAAK,SAAS,CAAC,WAAW,CAA6B,CAAC,QAAQ,EAAE,CAAC;QAC3F,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAA4B,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA0C,CAAC;QACjE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACnD,UAAU,CACR,kPAAkP,EAClP,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAClS,CAAC;YACF,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,SAAS,CAAC,iBAAiB,CAA4B,CAAC;QAClE,UAAU,CACR,0JAA0J,EAC1J,CAAC,CAAC,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAC/L,CAAC;QACF,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,yCAAyC;IACzC,IAAI,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,SAAS,CAAC,mBAAmB,CAA4B,CAAC;QACxE,MAAM,OAAO,GAAyC;YACpD,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE;YAC3C,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;YACzC,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE;SACvC,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAA+C,CAAC;YACzE,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBACvB,UAAU,CACR,kJAAkJ,EAClJ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAChO,CAAC;gBACF,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,SAAS,CAAC,cAAc,CAA4B,CAAC;QAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAA0C,EAAE,CAAC;gBACjE,UAAU,CACR,sHAAsH,EACtH,CAAC,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CACzJ,CAAC;gBACF,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,CAAC,MAA6D,CAAC;QAClF,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtD,UAAU,CACR,yJAAyJ,EACzJ,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,GAAG,EAAE,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAC9L,CAAC;gBACF,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,SAAS,CAAC,eAAe,CAA4B,CAAC;QAClE,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,UAAU,CACR,4GAA4G,EAC5G,CAAC,kBAAkB,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAClG,CAAC;YACF,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,SAA2B,EAAE,CAAC;gBAChD,UAAU,CACR,kGAAkG,EAClG,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CACpF,CAAC;gBACF,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAwC,EAAE,CAAC;gBAC7D,UAAU,CACR,kGAAkG,EAClG,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;gBACF,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,SAAS,CAAC,iBAAiB,CAA4B,CAAC;QACnE,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,aAA+C,EAAE,CAAC;gBACnE,UAAU,CACR,kKAAkK,EAClK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAChO,CAAC;gBACF,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,OAAO,IAAK,EAAE,CAAC,OAAmC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,KAAK,IAAK,EAAE,CAAC,OAAmC,CAAC,KAAK,CAA+C,CAAC;YAC3H,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,UAAU,CACR,4GAA4G,EAC5G,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAC1J,CAAC;oBACF,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,SAAS,CAAC,mBAAmB,CAA4B,CAAC;QACrE,UAAU,CACR,oHAAoH,EACpH,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAC9K,CAAC;QACF,KAAK,CAAC,YAAY,EAAE,CAAC;IACvB,CAAC;IAED,iCAAiC;IACjC,IAAI,SAAS,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC,QAAmD,CAAC;QAChG,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,UAAU,CACR,oIAAoI,EACpI,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,GAAG,CAAC,CACjI,CAAC;YACF,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,KAAK,MAAM,KAAK,IAAI,CAAC,uBAAuB,EAAE,6BAA6B,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAyD,CAAC;QAC7F,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,UAAU,CACR,+IAA+I,EAC/I,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,QAAQ,CAAC,CAChM,CAAC;gBACF,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,IAAI,SAAS,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,SAAS,CAAC,sBAAsB,CAA4B,CAAC;QACxE,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAuC,EAAE,CAAC;gBAC3D,IAAI,CAAC;oBACH,EAAE,CAAC,OAAO,CAAC,8FAA8F,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;gBAC1K,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAuC,EAAE,CAAC;gBAC3D,IAAI,CAAC;oBACH,EAAE,CAAC,OAAO,CAAC,2HAA2H,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrQ,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAA4B,CAAC,EAAE,CAAC;YAC5F,UAAU,CAAC,0DAA0D,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,IAAI,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAA4B,CAAC,EAAE,CAAC;YAC/F,UAAU,CAAC,0DAA0D,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpG,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,IAAI,SAAS,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,SAAS,CAAC,uBAAuB,CAA4B,CAAC;QAC1E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAuC,EAAE,CAAC;gBAC5D,UAAU,CACR,4GAA4G,EAC5G,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,IAAI,KAAK,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAClH,CAAC;gBACF,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,aAAa;UACnF,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,gBAAgB;UACzE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;IAE/E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,GAAG,GAAG,kBAAkB,CAAC;IAC/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YAAE,IAAI,IAAI,GAAG,CAAC;aACxD,IAAI,CAAC,KAAK,EAAE;YAAE,IAAI,IAAI,GAAG,CAAC;;YAC1B,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,gBAAgB;IAC9B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAClC,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/database/database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare function cacheGet(key: string): unknown | undefined;
2
+ export declare function cacheSet(key: string, data: unknown, ttlMs?: number): void;
3
+ export declare function cacheClear(pattern?: string): void;
4
+ export declare function getCacheStats(): {
5
+ size: number;
6
+ hits: number;
7
+ misses: number;
8
+ hitRate: string;
9
+ };
10
+ export declare function cachedQuery<T>(cacheKey: string, sql: string, params?: unknown[], ttlMs?: number): T;
11
+ export declare function cachedGet<T>(cacheKey: string, sql: string, params?: unknown[], ttlMs?: number): T | undefined;
12
+ export declare function invalidateOnWrite(patterns: string[]): void;
13
+ //# sourceMappingURL=query-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-cache.d.ts","sourceRoot":"","sources":["../../../../src/walls/06-memory/database/query-cache.ts"],"names":[],"mappings":"AAcA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAazD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,GAAE,MAAuB,GAAG,IAAI,CAMzF;AAED,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAQjD;AAED,wBAAgB,aAAa,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAQ/F;AAED,wBAAgB,WAAW,CAAC,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,OAAO,EAAO,EACtB,KAAK,GAAE,MAAuB,GAC7B,CAAC,CAQH;AAED,wBAAgB,SAAS,CAAC,CAAC,EACzB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,OAAO,EAAO,EACtB,KAAK,GAAE,MAAuB,GAC7B,CAAC,GAAG,SAAS,CAQf;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAE1D"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cacheGet = cacheGet;
4
+ exports.cacheSet = cacheSet;
5
+ exports.cacheClear = cacheClear;
6
+ exports.getCacheStats = getCacheStats;
7
+ exports.cachedQuery = cachedQuery;
8
+ exports.cachedGet = cachedGet;
9
+ exports.invalidateOnWrite = invalidateOnWrite;
10
+ const database_1 = require("../database/database");
11
+ const cache = new Map();
12
+ const MAX_CACHE_SIZE = 500;
13
+ const DEFAULT_TTL_MS = 5000;
14
+ let hits = 0;
15
+ let misses = 0;
16
+ function cacheGet(key) {
17
+ const entry = cache.get(key);
18
+ if (!entry) {
19
+ misses++;
20
+ return undefined;
21
+ }
22
+ if (Date.now() > entry.expiresAt) {
23
+ cache.delete(key);
24
+ misses++;
25
+ return undefined;
26
+ }
27
+ hits++;
28
+ return entry.data;
29
+ }
30
+ function cacheSet(key, data, ttlMs = DEFAULT_TTL_MS) {
31
+ if (cache.size >= MAX_CACHE_SIZE) {
32
+ const oldest = cache.entries().next();
33
+ if (oldest.value)
34
+ cache.delete(oldest.value[0]);
35
+ }
36
+ cache.set(key, { data, expiresAt: Date.now() + ttlMs });
37
+ }
38
+ function cacheClear(pattern) {
39
+ if (!pattern) {
40
+ cache.clear();
41
+ return;
42
+ }
43
+ for (const key of cache.keys()) {
44
+ if (key.includes(pattern))
45
+ cache.delete(key);
46
+ }
47
+ }
48
+ function getCacheStats() {
49
+ const total = hits + misses;
50
+ return {
51
+ size: cache.size,
52
+ hits,
53
+ misses,
54
+ hitRate: total > 0 ? `${((hits / total) * 100).toFixed(1)}%` : '0%',
55
+ };
56
+ }
57
+ function cachedQuery(cacheKey, sql, params = [], ttlMs = DEFAULT_TTL_MS) {
58
+ const cached = cacheGet(cacheKey);
59
+ if (cached !== undefined)
60
+ return cached;
61
+ const db = (0, database_1.getDb)();
62
+ const result = db.prepare(sql).all(...params);
63
+ cacheSet(cacheKey, result, ttlMs);
64
+ return result;
65
+ }
66
+ function cachedGet(cacheKey, sql, params = [], ttlMs = DEFAULT_TTL_MS) {
67
+ const cached = cacheGet(cacheKey);
68
+ if (cached !== undefined)
69
+ return cached;
70
+ const db = (0, database_1.getDb)();
71
+ const result = db.prepare(sql).get(...params);
72
+ if (result !== undefined)
73
+ cacheSet(cacheKey, result, ttlMs);
74
+ return result;
75
+ }
76
+ function invalidateOnWrite(patterns) {
77
+ for (const p of patterns)
78
+ cacheClear(p);
79
+ }
80
+ //# sourceMappingURL=query-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-cache.js","sourceRoot":"","sources":["../../../../src/walls/06-memory/database/query-cache.ts"],"names":[],"mappings":"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"}
@@ -211,6 +211,10 @@ switch (cmd) {
211
211
  case 'dash':
212
212
  doDashboard();
213
213
  break;
214
+ case 'perf':
215
+ case 'performance':
216
+ doPerf();
217
+ break;
214
218
  case 'cross-project':
215
219
  doCrossProject();
216
220
  break;
@@ -3129,6 +3133,7 @@ function doHelp() {
3129
3133
  console.log(` ${C.primary('cell memory')} Search/timeline/compact/verify/export memory`);
3130
3134
  console.log(` ${C.primary('cell cross-project')} Share/list/insights from cross-project memory`);
3131
3135
  console.log(` ${C.primary('cell dashboard')} Open web dashboard in browser`);
3136
+ console.log(` ${C.primary('cell perf')} Show performance stats & cache info`);
3132
3137
  console.log(` ${C.primary('cell context --topic')} Add topic-based memory search to context`);
3133
3138
  console.log(` ${C.primary('cell repl')} Interactive REPL with / completion (or just run \`cell\` in a TTY)`);
3134
3139
  console.log(` ${C.primary('cell help')} Show this help`);
@@ -3387,6 +3392,28 @@ function doHandoff() {
3387
3392
  console.log(C.dim(' cell handoff --log "title" "summary" Log new entry'));
3388
3393
  console.log();
3389
3394
  }
3395
+ // ─── cell perf — performance stats & cache info ───────────────────────────
3396
+ function doPerf() {
3397
+ console.log(C.bold(' ── Performance ──\n'));
3398
+ try {
3399
+ const { getCacheStats } = require('../../06-memory/database/query-cache');
3400
+ const { getDatabaseStats, optimizeDatabase } = require('../../06-memory/database/database');
3401
+ const stats = getCacheStats();
3402
+ console.log(` Query Cache:`);
3403
+ console.log(` Size: ${C.num(String(stats.size))} entries`);
3404
+ console.log(` Hits: ${C.num(String(stats.hits))}`);
3405
+ console.log(` Misses: ${C.num(String(stats.misses))}`);
3406
+ console.log(` Hit rate: ${stats.hitRate}`);
3407
+ const dbStats = getDatabaseStats();
3408
+ console.log(`\n Database:`);
3409
+ console.log(` Tables: ${C.num(String(Object.keys(dbStats).length - 2))}`);
3410
+ console.log(` Size: ${(dbStats.db_size_bytes / 1024).toFixed(1)} KB`);
3411
+ }
3412
+ catch (e) {
3413
+ console.log(C.warn(` Perf check failed: ${e?.message || String(e)}`));
3414
+ }
3415
+ console.log();
3416
+ }
3390
3417
  // ─── cell dashboard — open web dashboard ───────────────────────────────────
3391
3418
  function doDashboard() {
3392
3419
  console.log(C.bold(' ── Cell Dashboard ──\n'));