recall-player 1.2.0 → 1.3.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/backend/dist/db/claudemd-queries.d.ts +31 -0
- package/backend/dist/db/claudemd-queries.d.ts.map +1 -0
- package/backend/dist/db/claudemd-queries.js +152 -0
- package/backend/dist/db/claudemd-queries.js.map +1 -0
- package/backend/dist/db/claudemd-schema.d.ts +61 -0
- package/backend/dist/db/claudemd-schema.d.ts.map +1 -0
- package/backend/dist/db/claudemd-schema.js +7 -0
- package/backend/dist/db/claudemd-schema.js.map +1 -0
- package/backend/dist/db/connection.d.ts +4 -3
- package/backend/dist/db/connection.d.ts.map +1 -1
- package/backend/dist/db/connection.js +50 -4
- package/backend/dist/db/connection.js.map +1 -1
- package/backend/dist/db/transcript-queries.d.ts +1 -0
- package/backend/dist/db/transcript-queries.d.ts.map +1 -1
- package/backend/dist/db/transcript-queries.js +62 -29
- package/backend/dist/db/transcript-queries.js.map +1 -1
- package/backend/dist/middleware/validation.d.ts +46 -0
- package/backend/dist/middleware/validation.d.ts.map +1 -0
- package/backend/dist/middleware/validation.js +118 -0
- package/backend/dist/middleware/validation.js.map +1 -0
- package/backend/dist/parser/base-parser.d.ts +10 -1
- package/backend/dist/parser/base-parser.d.ts.map +1 -1
- package/backend/dist/parser/base-parser.js +80 -0
- package/backend/dist/parser/base-parser.js.map +1 -1
- package/backend/dist/parser/session-indexer.d.ts +19 -1
- package/backend/dist/parser/session-indexer.d.ts.map +1 -1
- package/backend/dist/parser/session-indexer.js +276 -141
- package/backend/dist/parser/session-indexer.js.map +1 -1
- package/backend/dist/routes/sessions.d.ts.map +1 -1
- package/backend/dist/routes/sessions.js +212 -55
- package/backend/dist/routes/sessions.js.map +1 -1
- package/backend/dist/services/claudemd-storage.d.ts +26 -0
- package/backend/dist/services/claudemd-storage.d.ts.map +1 -0
- package/backend/dist/services/claudemd-storage.js +66 -0
- package/backend/dist/services/claudemd-storage.js.map +1 -0
- package/backend/dist/services/transcript-importer.d.ts.map +1 -1
- package/backend/dist/services/transcript-importer.js +12 -0
- package/backend/dist/services/transcript-importer.js.map +1 -1
- package/backend/dist/types/transcript.d.ts +12 -0
- package/backend/dist/types/transcript.d.ts.map +1 -1
- package/backend/dist/utils/path-security.d.ts +26 -0
- package/backend/dist/utils/path-security.d.ts.map +1 -0
- package/backend/dist/utils/path-security.js +70 -0
- package/backend/dist/utils/path-security.js.map +1 -0
- package/backend/dist/validation/schemas.d.ts +81 -0
- package/backend/dist/validation/schemas.d.ts.map +1 -0
- package/backend/dist/validation/schemas.js +59 -0
- package/backend/dist/validation/schemas.js.map +1 -0
- package/backend/package.json +3 -1
- package/backend/public/assets/index--z98IWKF.js +268 -0
- package/backend/public/assets/index-Buf0F3bL.css +1 -0
- package/backend/public/index.html +2 -2
- package/package.json +15 -5
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ClaudeMdSnapshot, ClaudeMdHistoryResponse, ClaudeMdCompareResponse } from '../db/claudemd-schema';
|
|
2
|
+
/**
|
|
3
|
+
* Get CLAUDE.md snapshot by ID
|
|
4
|
+
*/
|
|
5
|
+
export declare function getClaudeMdSnapshot(snapshotId: number): ClaudeMdSnapshot | null;
|
|
6
|
+
/**
|
|
7
|
+
* Get CLAUDE.md snapshot by content hash
|
|
8
|
+
*/
|
|
9
|
+
export declare function getClaudeMdSnapshotByHash(contentHash: string): ClaudeMdSnapshot | null;
|
|
10
|
+
/**
|
|
11
|
+
* Create a new CLAUDE.md snapshot
|
|
12
|
+
*/
|
|
13
|
+
export declare function createClaudeMdSnapshot(contentHash: string, filePath: string, content: string, firstSeenAt: string): ClaudeMdSnapshot;
|
|
14
|
+
/**
|
|
15
|
+
* Link a session to a CLAUDE.md snapshot
|
|
16
|
+
*/
|
|
17
|
+
export declare function linkSessionToClaudeMd(sessionId: string, snapshotId: number, filePath: string, loadedAt: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Get CLAUDE.md history for a project
|
|
20
|
+
* Returns all versions used across sessions for the given project
|
|
21
|
+
*/
|
|
22
|
+
export declare function getClaudeMdHistory(project: string): ClaudeMdHistoryResponse;
|
|
23
|
+
/**
|
|
24
|
+
* Compare two CLAUDE.md snapshots
|
|
25
|
+
*/
|
|
26
|
+
export declare function compareClaudeMdSnapshots(fromId: number, toId: number): ClaudeMdCompareResponse | null;
|
|
27
|
+
/**
|
|
28
|
+
* Get CLAUDE.md snapshots for a specific session
|
|
29
|
+
*/
|
|
30
|
+
export declare function getSessionClaudeMdSnapshots(sessionId: string): ClaudeMdSnapshot[];
|
|
31
|
+
//# sourceMappingURL=claudemd-queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudemd-queries.d.ts","sourceRoot":"","sources":["../../src/db/claudemd-queries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAEhB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAQ/E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAQtF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,gBAAgB,CA+BlB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,IAAI,CAsBN;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB,CAsD3E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,uBAAuB,GAAG,IAAI,CAYhC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAgBjF"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getClaudeMdSnapshot = getClaudeMdSnapshot;
|
|
4
|
+
exports.getClaudeMdSnapshotByHash = getClaudeMdSnapshotByHash;
|
|
5
|
+
exports.createClaudeMdSnapshot = createClaudeMdSnapshot;
|
|
6
|
+
exports.linkSessionToClaudeMd = linkSessionToClaudeMd;
|
|
7
|
+
exports.getClaudeMdHistory = getClaudeMdHistory;
|
|
8
|
+
exports.compareClaudeMdSnapshots = compareClaudeMdSnapshots;
|
|
9
|
+
exports.getSessionClaudeMdSnapshots = getSessionClaudeMdSnapshots;
|
|
10
|
+
const connection_1 = require("../db/connection");
|
|
11
|
+
/**
|
|
12
|
+
* Get CLAUDE.md snapshot by ID
|
|
13
|
+
*/
|
|
14
|
+
function getClaudeMdSnapshot(snapshotId) {
|
|
15
|
+
const db = (0, connection_1.getDbInstance)();
|
|
16
|
+
const snapshot = db.prepare('SELECT * FROM claudemd_snapshots WHERE id = ?').get(snapshotId);
|
|
17
|
+
return snapshot || null;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get CLAUDE.md snapshot by content hash
|
|
21
|
+
*/
|
|
22
|
+
function getClaudeMdSnapshotByHash(contentHash) {
|
|
23
|
+
const db = (0, connection_1.getDbInstance)();
|
|
24
|
+
const snapshot = db
|
|
25
|
+
.prepare('SELECT * FROM claudemd_snapshots WHERE content_hash = ?')
|
|
26
|
+
.get(contentHash);
|
|
27
|
+
return snapshot || null;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create a new CLAUDE.md snapshot
|
|
31
|
+
*/
|
|
32
|
+
function createClaudeMdSnapshot(contentHash, filePath, content, firstSeenAt) {
|
|
33
|
+
const db = (0, connection_1.getDbInstance)();
|
|
34
|
+
const now = new Date().toISOString();
|
|
35
|
+
const nowEpoch = Date.now();
|
|
36
|
+
const firstSeenEpoch = new Date(firstSeenAt).getTime();
|
|
37
|
+
const contentSize = Buffer.byteLength(content, 'utf8');
|
|
38
|
+
const result = db
|
|
39
|
+
.prepare(`
|
|
40
|
+
INSERT INTO claudemd_snapshots
|
|
41
|
+
(content_hash, file_path, content, content_size, first_seen_at, first_seen_at_epoch, created_at, created_at_epoch)
|
|
42
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
43
|
+
`)
|
|
44
|
+
.run(contentHash, filePath, content, contentSize, firstSeenAt, firstSeenEpoch, now, nowEpoch);
|
|
45
|
+
const snapshotId = result.lastInsertRowid;
|
|
46
|
+
return {
|
|
47
|
+
id: snapshotId,
|
|
48
|
+
content_hash: contentHash,
|
|
49
|
+
file_path: filePath,
|
|
50
|
+
content,
|
|
51
|
+
content_size: contentSize,
|
|
52
|
+
first_seen_at: firstSeenAt,
|
|
53
|
+
first_seen_at_epoch: firstSeenEpoch,
|
|
54
|
+
created_at: now,
|
|
55
|
+
created_at_epoch: nowEpoch,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Link a session to a CLAUDE.md snapshot
|
|
60
|
+
*/
|
|
61
|
+
function linkSessionToClaudeMd(sessionId, snapshotId, filePath, loadedAt) {
|
|
62
|
+
const db = (0, connection_1.getDbInstance)();
|
|
63
|
+
const loadedAtEpoch = new Date(loadedAt).getTime();
|
|
64
|
+
// Check if link already exists
|
|
65
|
+
const existing = db
|
|
66
|
+
.prepare('SELECT id FROM session_claudemd WHERE session_id = ? AND snapshot_id = ?')
|
|
67
|
+
.get(sessionId, snapshotId);
|
|
68
|
+
if (existing) {
|
|
69
|
+
// Already linked, skip
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
db.prepare(`
|
|
73
|
+
INSERT INTO session_claudemd
|
|
74
|
+
(session_id, snapshot_id, file_path, loaded_at, loaded_at_epoch)
|
|
75
|
+
VALUES (?, ?, ?, ?, ?)
|
|
76
|
+
`).run(sessionId, snapshotId, filePath, loadedAt, loadedAtEpoch);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Get CLAUDE.md history for a project
|
|
80
|
+
* Returns all versions used across sessions for the given project
|
|
81
|
+
*/
|
|
82
|
+
function getClaudeMdHistory(project) {
|
|
83
|
+
const db = (0, connection_1.getDbInstance)();
|
|
84
|
+
const versions = db
|
|
85
|
+
.prepare(`
|
|
86
|
+
SELECT
|
|
87
|
+
s.id as snapshotId,
|
|
88
|
+
s.content_hash as contentHash,
|
|
89
|
+
s.file_path as filePath,
|
|
90
|
+
s.content,
|
|
91
|
+
s.content_size as contentSize,
|
|
92
|
+
s.first_seen_at as firstSeenAt,
|
|
93
|
+
COUNT(DISTINCT scm.session_id) as sessionCount,
|
|
94
|
+
MIN(sess.started_at) as dateFrom,
|
|
95
|
+
MAX(sess.started_at) as dateTo
|
|
96
|
+
FROM claudemd_snapshots s
|
|
97
|
+
INNER JOIN session_claudemd scm ON s.id = scm.snapshot_id
|
|
98
|
+
INNER JOIN sdk_sessions sess ON scm.session_id = sess.content_session_id
|
|
99
|
+
WHERE sess.project = ?
|
|
100
|
+
GROUP BY s.id
|
|
101
|
+
ORDER BY s.first_seen_at_epoch ASC
|
|
102
|
+
`)
|
|
103
|
+
.all(project);
|
|
104
|
+
const formattedVersions = versions.map((v) => ({
|
|
105
|
+
snapshotId: v.snapshotId,
|
|
106
|
+
contentHash: v.contentHash,
|
|
107
|
+
filePath: v.filePath,
|
|
108
|
+
content: v.content,
|
|
109
|
+
contentSize: v.contentSize,
|
|
110
|
+
firstSeenAt: v.firstSeenAt,
|
|
111
|
+
sessionCount: v.sessionCount,
|
|
112
|
+
dateRange: {
|
|
113
|
+
from: v.dateFrom,
|
|
114
|
+
to: v.dateTo,
|
|
115
|
+
},
|
|
116
|
+
}));
|
|
117
|
+
return {
|
|
118
|
+
project,
|
|
119
|
+
versions: formattedVersions,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Compare two CLAUDE.md snapshots
|
|
124
|
+
*/
|
|
125
|
+
function compareClaudeMdSnapshots(fromId, toId) {
|
|
126
|
+
const fromSnapshot = getClaudeMdSnapshot(fromId);
|
|
127
|
+
const toSnapshot = getClaudeMdSnapshot(toId);
|
|
128
|
+
if (!fromSnapshot || !toSnapshot) {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
return {
|
|
132
|
+
from: fromSnapshot,
|
|
133
|
+
to: toSnapshot,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get CLAUDE.md snapshots for a specific session
|
|
138
|
+
*/
|
|
139
|
+
function getSessionClaudeMdSnapshots(sessionId) {
|
|
140
|
+
const db = (0, connection_1.getDbInstance)();
|
|
141
|
+
const snapshots = db
|
|
142
|
+
.prepare(`
|
|
143
|
+
SELECT s.*
|
|
144
|
+
FROM claudemd_snapshots s
|
|
145
|
+
INNER JOIN session_claudemd scm ON s.id = scm.snapshot_id
|
|
146
|
+
WHERE scm.session_id = ?
|
|
147
|
+
ORDER BY scm.loaded_at_epoch ASC
|
|
148
|
+
`)
|
|
149
|
+
.all(sessionId);
|
|
150
|
+
return snapshots;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=claudemd-queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudemd-queries.js","sourceRoot":"","sources":["../../src/db/claudemd-queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript types for CLAUDE.md content versioning and evolution tracking
|
|
3
|
+
* Phase 2: CLAUDE.md Observability
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* CLAUDE.md content snapshot with deduplication via SHA-256 content hash
|
|
7
|
+
* Stores unique versions of CLAUDE.md files across all sessions
|
|
8
|
+
*/
|
|
9
|
+
export interface ClaudeMdSnapshot {
|
|
10
|
+
id: number;
|
|
11
|
+
content_hash: string;
|
|
12
|
+
file_path: string;
|
|
13
|
+
content: string;
|
|
14
|
+
content_size: number;
|
|
15
|
+
first_seen_at: string;
|
|
16
|
+
first_seen_at_epoch: number;
|
|
17
|
+
created_at: string;
|
|
18
|
+
created_at_epoch: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Junction table linking sessions to CLAUDE.md snapshots
|
|
22
|
+
* Multiple sessions can reference the same snapshot (via content_hash deduplication)
|
|
23
|
+
* This enables tracking which version of CLAUDE.md was active during each session
|
|
24
|
+
*/
|
|
25
|
+
export interface SessionClaudeMd {
|
|
26
|
+
id: number;
|
|
27
|
+
session_id: string;
|
|
28
|
+
snapshot_id: number;
|
|
29
|
+
file_path: string;
|
|
30
|
+
loaded_at: string;
|
|
31
|
+
loaded_at_epoch: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Full CLAUDE.md version info for timeline display
|
|
35
|
+
* Combines snapshot data with usage statistics
|
|
36
|
+
*/
|
|
37
|
+
export interface ClaudeMdVersion {
|
|
38
|
+
snapshotId: number;
|
|
39
|
+
contentHash: string;
|
|
40
|
+
filePath: string;
|
|
41
|
+
content: string;
|
|
42
|
+
contentSize: number;
|
|
43
|
+
firstSeenAt: string;
|
|
44
|
+
sessionCount: number;
|
|
45
|
+
dateRange: {
|
|
46
|
+
from: string;
|
|
47
|
+
to: string;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* API Response types
|
|
52
|
+
*/
|
|
53
|
+
export interface ClaudeMdHistoryResponse {
|
|
54
|
+
project: string;
|
|
55
|
+
versions: ClaudeMdVersion[];
|
|
56
|
+
}
|
|
57
|
+
export interface ClaudeMdCompareResponse {
|
|
58
|
+
from: ClaudeMdSnapshot;
|
|
59
|
+
to: ClaudeMdSnapshot;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=claudemd-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudemd-schema.d.ts","sourceRoot":"","sources":["../../src/db/claudemd-schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,EAAE,gBAAgB,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudemd-schema.js","sourceRoot":"","sources":["../../src/db/claudemd-schema.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -2,8 +2,9 @@ import Database from 'better-sqlite3';
|
|
|
2
2
|
/**
|
|
3
3
|
* Creates and configures a new SQLite database connection
|
|
4
4
|
*
|
|
5
|
-
* Opens the claude-mem database in read-
|
|
6
|
-
*
|
|
5
|
+
* Opens the claude-mem database in read-write mode to support CLAUDE.md
|
|
6
|
+
* snapshot storage. The database is still opened with caution flags to
|
|
7
|
+
* prevent data corruption.
|
|
7
8
|
*
|
|
8
9
|
* @returns {Database.Database} Configured SQLite database instance
|
|
9
10
|
* @throws {Error} If database file doesn't exist at DB_PATH
|
|
@@ -18,7 +19,7 @@ export declare function getDatabase(): Database.Database;
|
|
|
18
19
|
* Get the singleton database instance
|
|
19
20
|
*
|
|
20
21
|
* Creates a new connection on first call, then reuses it for subsequent calls.
|
|
21
|
-
* This is safe because SQLite handles concurrent reads well
|
|
22
|
+
* This is safe because SQLite handles concurrent reads well.
|
|
22
23
|
*
|
|
23
24
|
* @returns {Database.Database} Singleton database instance
|
|
24
25
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAUtC
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAUtC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAmB/C;AAgED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,IAAI,QAAQ,CAAC,QAAQ,CAKjD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAKpC"}
|
|
@@ -17,8 +17,9 @@ const DB_PATH = path_1.default.join(process.env.HOME || '', '.claude-mem', 'clau
|
|
|
17
17
|
/**
|
|
18
18
|
* Creates and configures a new SQLite database connection
|
|
19
19
|
*
|
|
20
|
-
* Opens the claude-mem database in read-
|
|
21
|
-
*
|
|
20
|
+
* Opens the claude-mem database in read-write mode to support CLAUDE.md
|
|
21
|
+
* snapshot storage. The database is still opened with caution flags to
|
|
22
|
+
* prevent data corruption.
|
|
22
23
|
*
|
|
23
24
|
* @returns {Database.Database} Configured SQLite database instance
|
|
24
25
|
* @throws {Error} If database file doesn't exist at DB_PATH
|
|
@@ -33,13 +34,58 @@ function getDatabase() {
|
|
|
33
34
|
throw new Error(`Database not found at ${DB_PATH}. Make sure claude-mem is installed and has recorded sessions.`);
|
|
34
35
|
}
|
|
35
36
|
const db = new better_sqlite3_1.default(DB_PATH, {
|
|
36
|
-
readonly:
|
|
37
|
+
readonly: false, // Allow writes for CLAUDE.md snapshots
|
|
37
38
|
fileMustExist: true, // Fail if file doesn't exist
|
|
38
39
|
});
|
|
39
40
|
// Enable better error messages for foreign key violations
|
|
40
41
|
db.pragma('foreign_keys = ON');
|
|
42
|
+
// Run migrations
|
|
43
|
+
runMigrations(db);
|
|
41
44
|
return db;
|
|
42
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Run database migrations if needed
|
|
48
|
+
* Applies migration files in order to ensure schema is up-to-date
|
|
49
|
+
*/
|
|
50
|
+
function runMigrations(db) {
|
|
51
|
+
// Check if migrations table exists
|
|
52
|
+
const tableExists = db
|
|
53
|
+
.prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name='schema_versions'`)
|
|
54
|
+
.get();
|
|
55
|
+
if (!tableExists) {
|
|
56
|
+
// Create migrations tracking table
|
|
57
|
+
db.exec(`
|
|
58
|
+
CREATE TABLE schema_versions (
|
|
59
|
+
id INTEGER PRIMARY KEY,
|
|
60
|
+
version INTEGER UNIQUE NOT NULL,
|
|
61
|
+
applied_at TEXT NOT NULL
|
|
62
|
+
);
|
|
63
|
+
`);
|
|
64
|
+
}
|
|
65
|
+
// Get current version
|
|
66
|
+
const currentVersion = db.prepare('SELECT MAX(version) as version FROM schema_versions').get()?.version || 0;
|
|
67
|
+
// Apply migrations
|
|
68
|
+
const migrationsDir = path_1.default.join(__dirname, 'migrations');
|
|
69
|
+
const migrationFiles = fs_1.default.existsSync(migrationsDir)
|
|
70
|
+
? fs_1.default
|
|
71
|
+
.readdirSync(migrationsDir)
|
|
72
|
+
.filter((f) => f.endsWith('.sql'))
|
|
73
|
+
.sort()
|
|
74
|
+
: [];
|
|
75
|
+
for (const file of migrationFiles) {
|
|
76
|
+
const versionStr = file.split('_')[0];
|
|
77
|
+
if (!versionStr)
|
|
78
|
+
continue; // Skip files without version prefix
|
|
79
|
+
const version = parseInt(versionStr, 10);
|
|
80
|
+
if (isNaN(version) || version <= currentVersion)
|
|
81
|
+
continue;
|
|
82
|
+
console.log(`Applying migration ${file}...`);
|
|
83
|
+
const sql = fs_1.default.readFileSync(path_1.default.join(migrationsDir, file), 'utf-8');
|
|
84
|
+
db.exec(sql);
|
|
85
|
+
db.prepare('INSERT INTO schema_versions (version, applied_at) VALUES (?, ?)').run(version, new Date().toISOString());
|
|
86
|
+
console.log(`Migration ${file} applied successfully`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
43
89
|
/**
|
|
44
90
|
* Global database instance (singleton)
|
|
45
91
|
* Reused across all requests to avoid connection overhead
|
|
@@ -49,7 +95,7 @@ let dbInstance = null;
|
|
|
49
95
|
* Get the singleton database instance
|
|
50
96
|
*
|
|
51
97
|
* Creates a new connection on first call, then reuses it for subsequent calls.
|
|
52
|
-
* This is safe because SQLite handles concurrent reads well
|
|
98
|
+
* This is safe because SQLite handles concurrent reads well.
|
|
53
99
|
*
|
|
54
100
|
* @returns {Database.Database} Singleton database instance
|
|
55
101
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ export declare function getTranscriptSessions(query: TranscriptSessionListQuery)
|
|
|
27
27
|
};
|
|
28
28
|
/**
|
|
29
29
|
* Perform a global search across all transcript content
|
|
30
|
+
* Uses FTS5 for fast full-text search with BM25 ranking
|
|
30
31
|
*/
|
|
31
32
|
export declare function searchGlobalFrames(req: SearchGlobalRequest): SearchGlobalResponse;
|
|
32
33
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcript-queries.d.ts","sourceRoot":"","sources":["../../src/db/transcript-queries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAKV,gBAAgB,EAChB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"transcript-queries.d.ts","sourceRoot":"","sources":["../../src/db/transcript-queries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAKV,gBAAgB,EAChB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CA0LjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG;IACxE,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf,CAkEA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,oBAAoB,CA6GjF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CA6BlF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,qBAAqB,GAC3B;IAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiD5C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA6CtE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CA+C5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAkDzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,CAuCvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CA6BhF;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAY/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CA8E9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAchD;AA6CD;;;;GAIG;AACH,wBAAgB,cAAc,IAAI;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAsBA"}
|
|
@@ -145,6 +145,55 @@ function initializeTranscriptSchema() {
|
|
|
145
145
|
CREATE INDEX IF NOT EXISTS idx_parsing_status
|
|
146
146
|
ON parsing_status(status);
|
|
147
147
|
`);
|
|
148
|
+
// 6. FTS5 FULL-TEXT SEARCH
|
|
149
|
+
// Create FTS5 virtual table for playback_frames full-text search
|
|
150
|
+
db.exec(`
|
|
151
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS playback_frames_fts USING fts5(
|
|
152
|
+
user_message_text,
|
|
153
|
+
thinking_text,
|
|
154
|
+
response_text,
|
|
155
|
+
content='playback_frames',
|
|
156
|
+
content_rowid='rowid',
|
|
157
|
+
tokenize='porter unicode61'
|
|
158
|
+
);
|
|
159
|
+
`);
|
|
160
|
+
// Populate FTS5 table if empty and playback_frames has data
|
|
161
|
+
const ftsCount = db.prepare('SELECT COUNT(*) as count FROM playback_frames_fts').get();
|
|
162
|
+
const framesCount = db.prepare('SELECT COUNT(*) as count FROM playback_frames').get();
|
|
163
|
+
if (ftsCount.count === 0 && framesCount.count > 0) {
|
|
164
|
+
db.exec(`
|
|
165
|
+
INSERT INTO playback_frames_fts(rowid, user_message_text, thinking_text, response_text)
|
|
166
|
+
SELECT
|
|
167
|
+
rowid,
|
|
168
|
+
user_message_text,
|
|
169
|
+
thinking_text,
|
|
170
|
+
response_text
|
|
171
|
+
FROM playback_frames;
|
|
172
|
+
`);
|
|
173
|
+
}
|
|
174
|
+
// Auto-sync triggers for FTS5
|
|
175
|
+
db.exec(`
|
|
176
|
+
DROP TRIGGER IF EXISTS playback_frames_ai;
|
|
177
|
+
CREATE TRIGGER playback_frames_ai AFTER INSERT ON playback_frames BEGIN
|
|
178
|
+
INSERT INTO playback_frames_fts(rowid, user_message_text, thinking_text, response_text)
|
|
179
|
+
VALUES (new.rowid, new.user_message_text, new.thinking_text, new.response_text);
|
|
180
|
+
END;
|
|
181
|
+
|
|
182
|
+
DROP TRIGGER IF EXISTS playback_frames_au;
|
|
183
|
+
CREATE TRIGGER playback_frames_au AFTER UPDATE ON playback_frames BEGIN
|
|
184
|
+
UPDATE playback_frames_fts
|
|
185
|
+
SET
|
|
186
|
+
user_message_text = new.user_message_text,
|
|
187
|
+
thinking_text = new.thinking_text,
|
|
188
|
+
response_text = new.response_text
|
|
189
|
+
WHERE rowid = old.rowid;
|
|
190
|
+
END;
|
|
191
|
+
|
|
192
|
+
DROP TRIGGER IF EXISTS playback_frames_ad;
|
|
193
|
+
CREATE TRIGGER playback_frames_ad AFTER DELETE ON playback_frames BEGIN
|
|
194
|
+
DELETE FROM playback_frames_fts WHERE rowid = old.rowid;
|
|
195
|
+
END;
|
|
196
|
+
`);
|
|
148
197
|
}
|
|
149
198
|
/**
|
|
150
199
|
* Get all sessions with pagination and filtering
|
|
@@ -213,21 +262,16 @@ function getTranscriptSessions(query) {
|
|
|
213
262
|
}
|
|
214
263
|
/**
|
|
215
264
|
* Perform a global search across all transcript content
|
|
265
|
+
* Uses FTS5 for fast full-text search with BM25 ranking
|
|
216
266
|
*/
|
|
217
267
|
function searchGlobalFrames(req) {
|
|
218
268
|
const db = (0, transcript_connection_1.getTranscriptDbInstance)();
|
|
219
269
|
const { query, limit = 50, offset = 0, agent, project } = req;
|
|
220
|
-
const likeQuery = `%${query}%`;
|
|
221
270
|
const whereClauses = [];
|
|
222
|
-
const params = {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
f.response_text LIKE @likeQuery OR
|
|
227
|
-
t.output_content LIKE @likeQuery OR
|
|
228
|
-
d.new_content LIKE @likeQuery
|
|
229
|
-
)`;
|
|
230
|
-
whereClauses.push(searchClause);
|
|
271
|
+
const params = { query };
|
|
272
|
+
// FTS5 MATCH clause for fast full-text search on playback_frames
|
|
273
|
+
// Note: Must reference the virtual table directly in MATCH clause
|
|
274
|
+
whereClauses.push('playback_frames_fts MATCH @query');
|
|
231
275
|
if (agent) {
|
|
232
276
|
whereClauses.push('s.agent_type = @agent');
|
|
233
277
|
params.agent = agent;
|
|
@@ -237,17 +281,16 @@ function searchGlobalFrames(req) {
|
|
|
237
281
|
params.project = project;
|
|
238
282
|
}
|
|
239
283
|
const whereClause = 'WHERE ' + whereClauses.join(' AND ');
|
|
240
|
-
// Count total matches
|
|
284
|
+
// Count total matches using FTS5
|
|
241
285
|
const countQuery = `
|
|
242
286
|
SELECT COUNT(DISTINCT f.id) as total
|
|
243
287
|
FROM playback_frames f
|
|
244
288
|
JOIN session_metadata s ON f.session_id = s.session_id
|
|
245
|
-
|
|
246
|
-
LEFT JOIN file_diffs d ON d.tool_execution_id = t.id
|
|
289
|
+
JOIN playback_frames_fts fts ON f.rowid = fts.rowid
|
|
247
290
|
${whereClause}
|
|
248
291
|
`;
|
|
249
292
|
const countResult = db.prepare(countQuery).get(params);
|
|
250
|
-
// Get results with snippets
|
|
293
|
+
// Get results with BM25 ranking and snippets
|
|
251
294
|
const resultsQuery = `
|
|
252
295
|
SELECT
|
|
253
296
|
f.id as frameId,
|
|
@@ -260,15 +303,12 @@ function searchGlobalFrames(req) {
|
|
|
260
303
|
f.agent_type as agent,
|
|
261
304
|
s.slug,
|
|
262
305
|
s.project,
|
|
263
|
-
|
|
264
|
-
d.new_content as file_content
|
|
306
|
+
bm25(playback_frames_fts) as rank
|
|
265
307
|
FROM playback_frames f
|
|
266
308
|
JOIN session_metadata s ON f.session_id = s.session_id
|
|
267
|
-
|
|
268
|
-
LEFT JOIN file_diffs d ON d.tool_execution_id = t.id
|
|
309
|
+
JOIN playback_frames_fts fts ON f.rowid = fts.rowid
|
|
269
310
|
${whereClause}
|
|
270
|
-
|
|
271
|
-
ORDER BY f.timestamp_ms DESC
|
|
311
|
+
ORDER BY rank ASC, f.timestamp_ms DESC
|
|
272
312
|
LIMIT @limit OFFSET @offset
|
|
273
313
|
`;
|
|
274
314
|
const rows = db.prepare(resultsQuery).all({ ...params, limit, offset });
|
|
@@ -291,6 +331,7 @@ function searchGlobalFrames(req) {
|
|
|
291
331
|
};
|
|
292
332
|
let snippet = '';
|
|
293
333
|
let matchType = 'user_message';
|
|
334
|
+
// Determine match type and create snippet
|
|
294
335
|
if (row.user_message_text?.toLowerCase().includes(query.toLowerCase())) {
|
|
295
336
|
snippet = createSnippet(row.user_message_text) || '';
|
|
296
337
|
matchType = 'user_message';
|
|
@@ -303,16 +344,8 @@ function searchGlobalFrames(req) {
|
|
|
303
344
|
snippet = createSnippet(row.thinking_text) || '';
|
|
304
345
|
matchType = 'thinking';
|
|
305
346
|
}
|
|
306
|
-
else if (row.output_content?.toLowerCase().includes(query.toLowerCase())) {
|
|
307
|
-
snippet = createSnippet(row.output_content) || '';
|
|
308
|
-
matchType = 'tool_output';
|
|
309
|
-
}
|
|
310
|
-
else if (row.file_content?.toLowerCase().includes(query.toLowerCase())) {
|
|
311
|
-
snippet = createSnippet(row.file_content) || '';
|
|
312
|
-
matchType = 'file_change';
|
|
313
|
-
}
|
|
314
347
|
else {
|
|
315
|
-
// Fallback
|
|
348
|
+
// Fallback to any available text
|
|
316
349
|
snippet = row.user_message_text || row.response_text || row.thinking_text || '';
|
|
317
350
|
if (snippet.length > 100)
|
|
318
351
|
snippet = snippet.substring(0, 100) + '...';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcript-queries.js","sourceRoot":"","sources":["../../src/db/transcript-queries.ts"],"names":[],"mappings":";;AA8BA,gEAiIC;AAYD,sDAqEC;AAKD,gDA4HC;AAcD,4DA6BC;AAaD,kDAoDC;AAQD,4CA6CC;AAiBD,sCA+CC;AAWD,kCAkDC;AAWD,kDAuCC;AAWD,wCA6BC;AAUD,0DAYC;AAcD,kDA8EC;AAWD,sDAcC;AAkDD,wCA2BC;AAj8BD,mEAAkE;AAoBlE;;;;;;;;;GASG;AACH,SAAgB,0BAA0B;IACxC,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,0FAA0F;IAC1F,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcP,CAAC,CAAC;IAEH,uDAAuD;IACvD,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAA4B,CAAC;IAC5F,MAAM,sBAAsB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IACvF,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,EAAE,CAAC,IAAI,CAAC,mFAAmF,CAAC,CAAC;IAC/F,CAAC;IAED,iCAAiC;IACjC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;GASP,CAAC,CAAC;IAEH,yFAAyF;IACzF,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;GAgBP,CAAC,CAAC;IAEH,0EAA0E;IAC1E,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAA4B,CAAC;IACzF,MAAM,oBAAoB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IACnF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,EAAE,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;IAC9F,CAAC;IAED,iCAAiC;IACjC,EAAE,CAAC,IAAI,CAAC;;;;;;GAMP,CAAC,CAAC;IAEH,qBAAqB;IACrB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;GAiBP,CAAC,CAAC;IAEH,gBAAgB;IAChB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;GAgBP,CAAC,CAAC;IAEH,oBAAoB;IACpB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcP,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CAAC,KAAiC;IAIrE,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE7E,sBAAsB;IACtB,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,IAAI,OAAO,EAAE,CAAC;QACZ,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,YAAY,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9C,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,kBAAkB;IAClB,MAAM,UAAU,GAAG,kDAAkD,WAAW,EAAE,CAAC;IACnF,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAsB,CAAC;IAC5E,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;IAEhC,yBAAyB;IACzB,MAAM,aAAa,GAAG;;;MAGlB,WAAW;;;GAGd,CAAC;IAEF,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC;QACzC,GAAG,MAAM;QACT,KAAK;QACL,MAAM;KACP,CAAyB,CAAC;IAE3B,kCAAkC;IAClC,MAAM,QAAQ,GAAsB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACrD,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,CAA6B;QAC/D,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;QAClC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,IAAI,SAAS;QAC3C,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,gBAAgB,EAAE,GAAG,CAAC,kBAAkB,IAAI,SAAS;KACtD,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,GAAwB;IACzD,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IACrC,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,KAAK,GAAG,CAAC;IAE/B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,MAAM,GAAQ,EAAE,SAAS,EAAE,CAAC;IAElC,MAAM,YAAY,GAAG;;;;;;IAMnB,CAAC;IACH,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEhC,IAAI,KAAK,EAAE,CAAC;QACV,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE1D,sBAAsB;IACtB,MAAM,UAAU,GAAG;;;;;;MAMf,WAAW;GACd,CAAC;IACF,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAsB,CAAC;IAE5E,4BAA4B;IAC5B,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;MAkBjB,WAAW;;;;GAId,CAAC;IAEF,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAU,CAAC;IAEjF,MAAM,OAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/C,8BAA8B;QAC9B,MAAM,aAAa,GAAG,CAAC,IAAmB,EAAiB,EAAE;YAC3D,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9D,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;YAC7D,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzC,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;YACzC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM;gBAAE,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;YACjD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,SAAS,GAA8B,cAAc,CAAC;QAE1D,IAAI,GAAG,CAAC,iBAAiB,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACvE,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACrD,SAAS,GAAG,cAAc,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC1E,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACjD,SAAS,GAAG,UAAU,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC1E,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACjD,SAAS,GAAG,UAAU,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC3E,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAClD,SAAS,GAAG,aAAa,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACzE,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAChD,SAAS,GAAG,aAAa,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,WAAW;YACX,OAAO,GAAG,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;YAChF,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG;gBAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;QACxE,CAAC;QAED,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO;YACP,SAAS;YACT,KAAK,EAAE,GAAG,CAAC,KAAY;SACxB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,KAAK;QACL,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,wBAAwB,CAAC,SAAiB;IACxD,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;;;;GAIH,CACE;SACA,GAAG,CAAC,SAAS,CAAmC,CAAC;IAEpD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,CAA6B;QAC/D,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;QAClC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,IAAI,SAAS;QAC3C,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,gBAAgB,EAAE,GAAG,CAAC,kBAAkB,IAAI,SAAS;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,mBAAmB,CACjC,SAAiB,EACjB,KAA4B;IAE5B,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEtE,sBAAsB;IACtB,MAAM,YAAY,GAAa,CAAC,yBAAyB,CAAC,CAAC;IAC3D,MAAM,MAAM,GAA4B,EAAE,SAAS,EAAE,CAAC;IAEtD,IAAI,cAAc,EAAE,CAAC;QACnB,YAAY,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACpD,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,YAAY,CAAC,IAAI,CAAC,kBAAkB,YAAY,GAAG,CAAC,CAAC;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE1D,kBAAkB;IAClB,MAAM,UAAU,GAAG,iDAAiD,WAAW,EAAE,CAAC;IAClF,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAsB,CAAC;IAC5E,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;IAEhC,uBAAuB;IACvB,MAAM,WAAW,GAAG;;;MAGhB,WAAW;;;GAGd,CAAC;IAEF,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;QACvC,GAAG,MAAM;QACT,KAAK;QACL,MAAM;KACP,CAAuB,CAAC;IAEzB,wCAAwC;IACxC,MAAM,MAAM,GAAoB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;;;;GAIH,CACE;SACA,GAAG,CAAC,OAAO,CAAiC,CAAC;IAEhD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAA6B;IAC7B,MAAM,OAAO,GAAG,EAAE;SACf,OAAO,CACN;;;;GAIH,CACE;SACA,GAAG,CAAC,GAAG,CAAC,EAAE,CAA4B,CAAC;IAE1C,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,SAAS;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;QACjC,MAAM,EAAE;YACN,OAAO,EAAE,GAAG,CAAC,cAAc;YAC3B,OAAO,EAAE,GAAG,CAAC,QAAQ,KAAK,CAAC;YAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;SACrC;QACD,QAAQ,EAAE,OAAO;YACf,CAAC,CAAC;gBACE,QAAQ,EAAE,OAAO,CAAC,SAAS;gBAC3B,UAAU,EAAE,OAAO,CAAC,WAAW,IAAI,SAAS;gBAC5C,UAAU,EAAE,OAAO,CAAC,WAAW;gBAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B;YACH,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,aAAa,CAAC,OAAwB;IACpD,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,EAAE,CAAC,OAAO,CACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BD,CACA,CAAC,GAAG,CAAC;QACJ,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,KAAK,IAAI,QAAQ;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,CAAC,EAAE,yCAAyC;QACxD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI;QAClD,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACnC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CAAC,SAAiB,EAAE,KAAoB;IACjE,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,EAAE,CAAC,OAAO,CACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BD,CACA,CAAC,GAAG,CAAC;QACJ,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS;QACT,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,WAAW,EAAE,KAAK,CAAC,SAAS;QAC5B,UAAU,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;QAClC,eAAe,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI;QAChD,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI;QAC1C,iBAAiB,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,IAAI,IAAI;QACpD,YAAY,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,IAAI,IAAI;QAChD,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;QACtB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;QACnF,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/F,SAAS,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ;KACnC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,mBAAmB,CAAC,OAAe,EAAE,aAA4B;IAC/E,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,MAAM,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC;IAEjC,EAAE,CAAC,OAAO,CACR;;;;;;;;;;;;;;;;;;GAkBD,CACA,CAAC,GAAG,CAAC;QACJ,EAAE,EAAE,MAAM;QACV,OAAO;QACP,QAAQ,EAAE,aAAa,CAAC,IAAI;QAC5B,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;QAC9C,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO;QAC3C,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI;KAChD,CAAC,CAAC;IAEH,8BAA8B;IAC9B,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3B,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,cAAc,CAAC,eAAuB,EAAE,QAAkB;IACxE,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,EAAE,CAAC,OAAO,CACR;;;;;;;;;;;;;;;;GAgBD,CACA,CAAC,GAAG,CAAC;QACJ,EAAE,EAAE,GAAG,eAAe,OAAO;QAC7B,eAAe;QACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,IAAI;QACvC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,SAAiB;IACvD,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,EAAE,CAAC,OAAO,CACR;;;;;;GAMD,CACA,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,mBAAmB,CAAC,SAAiB,EAAE,MAAiC;IACtF,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CACN;;GAEH,CACE;SACA,GAAG,CAAC,SAAS,CAAiC,CAAC;IAElD,IAAI,QAAQ,EAAE,CAAC;QACb,kBAAkB;QAClB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAA4B,EAAE,SAAS,EAAE,CAAC;QAEtD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAChC,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACjD,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAChD,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC7C,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAC5C,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC/C,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC9C,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,EAAE,CAAC,OAAO,CACR;;cAEM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;OAEzB,CACA,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,aAAa;QACb,EAAE,CAAC,OAAO,CACR;;;;;;;;;;;;;;;;;;;;KAoBD,CACA,CAAC,GAAG,CAAC;YACJ,SAAS;YACT,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,EAAE;YACvD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC;YACxC,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACzD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;YACzC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;SAC5C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,qBAAqB;IACnC,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,MAAM,OAAO,GAAG,EAAE;SACf,OAAO,CACN;;;;GAIH,CACE;SACA,GAAG,EAA2B,CAAC;IAElC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,GAAqB;IAC9C,MAAM,KAAK,GAAkB;QAC3B,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,UAAmC;QAC7C,SAAS,EAAE,GAAG,CAAC,YAAY;QAC3B,QAAQ,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;QACtC,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,CAA2B;QAC7D,OAAO,EAAE;YACP,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,aAAa,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;SAC/E;KACF,CAAC;IAEF,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1B,KAAK,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACtB,KAAK,CAAC,QAAQ,GAAG;YACf,IAAI,EAAE,GAAG,CAAC,aAAa;YACvB,SAAS,EAAE,GAAG,CAAC,kBAAkB,IAAI,SAAS;SAC/C,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACtB,KAAK,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;IACrD,CAAC;IAED,8CAA8C;IAC9C,IAAI,GAAG,CAAC,UAAU,KAAK,gBAAgB,EAAE,CAAC;QACxC,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc;IAM5B,MAAM,EAAE,GAAG,IAAA,+CAAuB,GAAE,CAAC;IAErC,MAAM,KAAK,GAAG,EAAE;SACb,OAAO,CACN;;;;;;;GAOH,CACE;SACA,GAAG,EAKL,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"transcript-queries.js","sourceRoot":"","sources":["../../src/db/transcript-queries.ts"],"names":[],"mappings":"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"}
|