memctx 1.0.19 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/db/graph-queries.d.ts +14 -1
- package/dist/src/db/graph-queries.js +55 -6
- package/dist/src/db/graph-queries.js.map +1 -1
- package/dist/src/db/migrations/010_normalize_graph_edges.sql +38 -0
- package/dist/src/db/migrations/011_graph_session_provenance.sql +8 -0
- package/dist/src/db/queries.d.ts +2 -0
- package/dist/src/db/queries.js +24 -1
- package/dist/src/db/queries.js.map +1 -1
- package/dist/src/index.js +26 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/services/graph-consolidator.d.ts +9 -0
- package/dist/src/services/graph-consolidator.js +118 -0
- package/dist/src/services/graph-consolidator.js.map +1 -0
- package/dist/src/services/summarizer.js +106 -34
- package/dist/src/services/summarizer.js.map +1 -1
- package/dist/src/utils/node-id.d.ts +9 -0
- package/dist/src/utils/node-id.js +81 -0
- package/dist/src/utils/node-id.js.map +1 -0
- package/package.json +1 -1
|
@@ -19,10 +19,23 @@ export interface GraphEdge {
|
|
|
19
19
|
createdAt: number;
|
|
20
20
|
}
|
|
21
21
|
export declare function insertGraphNodes(projectId: string, nodes: Array<Omit<GraphNode, 'projectId' | 'createdAt'>>): void;
|
|
22
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Generate content-hash edge ID for deduplication across sessions
|
|
24
|
+
*/
|
|
25
|
+
export declare function generateEdgeId(projectId: string, sourceId: string, targetId: string, relationship: string): string;
|
|
26
|
+
export declare function insertGraphEdges(projectId: string, edges: Array<Omit<GraphEdge, 'projectId' | 'createdAt' | 'id'>>): void;
|
|
23
27
|
export declare function getGraphForProject(projectId: string): {
|
|
24
28
|
nodes: GraphNode[];
|
|
25
29
|
edges: GraphEdge[];
|
|
26
30
|
};
|
|
27
31
|
export declare function searchGraphNodes(projectId: string, query: string): GraphNode[];
|
|
28
32
|
export declare function deleteGraphForProject(projectId: string): void;
|
|
33
|
+
/**
|
|
34
|
+
* Remap all edges pointing to oldNodeId to point to newNodeId instead
|
|
35
|
+
* Handles UNIQUE constraint conflicts by deleting duplicate edges before remapping
|
|
36
|
+
*/
|
|
37
|
+
export declare function remapNodeEdges(oldNodeId: string, newNodeId: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* Delete a graph node by ID
|
|
40
|
+
*/
|
|
41
|
+
export declare function deleteGraphNode(nodeId: string): void;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.insertGraphNodes = insertGraphNodes;
|
|
4
|
+
exports.generateEdgeId = generateEdgeId;
|
|
4
5
|
exports.insertGraphEdges = insertGraphEdges;
|
|
5
6
|
exports.getGraphForProject = getGraphForProject;
|
|
6
7
|
exports.searchGraphNodes = searchGraphNodes;
|
|
7
8
|
exports.deleteGraphForProject = deleteGraphForProject;
|
|
9
|
+
exports.remapNodeEdges = remapNodeEdges;
|
|
10
|
+
exports.deleteGraphNode = deleteGraphNode;
|
|
8
11
|
const client_1 = require("./client");
|
|
9
12
|
function insertGraphNodes(projectId, nodes) {
|
|
10
13
|
const db = (0, client_1.getDB)();
|
|
@@ -25,23 +28,28 @@ function insertGraphNodes(projectId, nodes) {
|
|
|
25
28
|
});
|
|
26
29
|
insertMany(nodes);
|
|
27
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Generate content-hash edge ID for deduplication across sessions
|
|
33
|
+
*/
|
|
34
|
+
function generateEdgeId(projectId, sourceId, targetId, relationship) {
|
|
35
|
+
return `${projectId}|${sourceId}|${relationship}|${targetId}`;
|
|
36
|
+
}
|
|
28
37
|
function insertGraphEdges(projectId, edges) {
|
|
29
38
|
const db = (0, client_1.getDB)();
|
|
30
39
|
const now = Date.now();
|
|
40
|
+
// Use UNIQUE constraint conflict to increment weight on duplicate edges
|
|
31
41
|
const stmt = db.prepare(`
|
|
32
42
|
INSERT INTO graph_edges (id, projectId, sourceId, targetId, relationship, confidence, weight, metadata, createdAt)
|
|
33
43
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
34
|
-
ON CONFLICT(
|
|
35
|
-
sourceId = excluded.sourceId,
|
|
36
|
-
targetId = excluded.targetId,
|
|
37
|
-
relationship = excluded.relationship,
|
|
44
|
+
ON CONFLICT(projectId, sourceId, targetId, relationship) DO UPDATE SET
|
|
38
45
|
confidence = excluded.confidence,
|
|
39
|
-
weight =
|
|
46
|
+
weight = weight + 1,
|
|
40
47
|
metadata = excluded.metadata
|
|
41
48
|
`);
|
|
42
49
|
const insertMany = db.transaction((edges) => {
|
|
43
50
|
for (const edge of edges) {
|
|
44
|
-
|
|
51
|
+
const edgeId = generateEdgeId(projectId, edge.sourceId, edge.targetId, edge.relationship);
|
|
52
|
+
stmt.run(edgeId, projectId, edge.sourceId, edge.targetId, edge.relationship, edge.confidence, edge.weight || 1.0, edge.metadata || null, now);
|
|
45
53
|
}
|
|
46
54
|
});
|
|
47
55
|
insertMany(edges);
|
|
@@ -74,4 +82,45 @@ function deleteGraphForProject(projectId) {
|
|
|
74
82
|
});
|
|
75
83
|
deleteTransaction();
|
|
76
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Remap all edges pointing to oldNodeId to point to newNodeId instead
|
|
87
|
+
* Handles UNIQUE constraint conflicts by deleting duplicate edges before remapping
|
|
88
|
+
*/
|
|
89
|
+
function remapNodeEdges(oldNodeId, newNodeId) {
|
|
90
|
+
const db = (0, client_1.getDB)();
|
|
91
|
+
const remapTransaction = db.transaction(() => {
|
|
92
|
+
// First, delete any edges that would create duplicates after remapping
|
|
93
|
+
// (edges where both source and target would match an existing edge)
|
|
94
|
+
db.prepare(`
|
|
95
|
+
DELETE FROM graph_edges
|
|
96
|
+
WHERE id IN (
|
|
97
|
+
SELECT e1.id FROM graph_edges e1
|
|
98
|
+
INNER JOIN graph_edges e2
|
|
99
|
+
ON e1.projectId = e2.projectId
|
|
100
|
+
AND e1.relationship = e2.relationship
|
|
101
|
+
AND (
|
|
102
|
+
(e1.sourceId = ? AND e2.sourceId = ?) OR
|
|
103
|
+
(e1.targetId = ? AND e2.targetId = ?)
|
|
104
|
+
)
|
|
105
|
+
AND (
|
|
106
|
+
(e1.targetId = e2.targetId AND e1.sourceId = ?) OR
|
|
107
|
+
(e1.sourceId = e2.sourceId AND e1.targetId = ?)
|
|
108
|
+
)
|
|
109
|
+
WHERE e1.id != e2.id
|
|
110
|
+
)
|
|
111
|
+
`).run(oldNodeId, newNodeId, oldNodeId, newNodeId, oldNodeId, oldNodeId);
|
|
112
|
+
// Now remap edges where oldNodeId is the source
|
|
113
|
+
db.prepare('UPDATE graph_edges SET sourceId = ? WHERE sourceId = ?').run(newNodeId, oldNodeId);
|
|
114
|
+
// Remap edges where oldNodeId is the target
|
|
115
|
+
db.prepare('UPDATE graph_edges SET targetId = ? WHERE targetId = ?').run(newNodeId, oldNodeId);
|
|
116
|
+
});
|
|
117
|
+
remapTransaction();
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Delete a graph node by ID
|
|
121
|
+
*/
|
|
122
|
+
function deleteGraphNode(nodeId) {
|
|
123
|
+
const db = (0, client_1.getDB)();
|
|
124
|
+
db.prepare('DELETE FROM graph_nodes WHERE id = ?').run(nodeId);
|
|
125
|
+
}
|
|
77
126
|
//# sourceMappingURL=graph-queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-queries.js","sourceRoot":"","sources":["../../../src/db/graph-queries.ts"],"names":[],"mappings":";;AAwBA,4CA+BC;AAED,4CAmCC;AAED,gDAeC;AAED,4CAiBC;AAED,sDASC;
|
|
1
|
+
{"version":3,"file":"graph-queries.js","sourceRoot":"","sources":["../../../src/db/graph-queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
-- Migration 010: Normalize graph edges with content-hash IDs and unique constraint
|
|
2
|
+
-- Strategy: Clean slate - wipe existing graph data, recreate with new schema
|
|
3
|
+
|
|
4
|
+
-- Drop existing graph tables (if they exist)
|
|
5
|
+
DROP TABLE IF EXISTS graph_edges;
|
|
6
|
+
DROP TABLE IF EXISTS graph_nodes;
|
|
7
|
+
|
|
8
|
+
-- Recreate graph_nodes with same schema
|
|
9
|
+
CREATE TABLE graph_nodes (
|
|
10
|
+
id TEXT PRIMARY KEY,
|
|
11
|
+
projectId TEXT NOT NULL,
|
|
12
|
+
label TEXT NOT NULL,
|
|
13
|
+
type TEXT NOT NULL,
|
|
14
|
+
confidence TEXT NOT NULL,
|
|
15
|
+
metadata TEXT,
|
|
16
|
+
createdAt INTEGER NOT NULL
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
-- Recreate graph_edges with new unique constraint
|
|
20
|
+
CREATE TABLE graph_edges (
|
|
21
|
+
id TEXT PRIMARY KEY,
|
|
22
|
+
projectId TEXT NOT NULL,
|
|
23
|
+
sourceId TEXT NOT NULL,
|
|
24
|
+
targetId TEXT NOT NULL,
|
|
25
|
+
relationship TEXT NOT NULL,
|
|
26
|
+
confidence TEXT NOT NULL,
|
|
27
|
+
weight REAL NOT NULL DEFAULT 1.0,
|
|
28
|
+
metadata TEXT,
|
|
29
|
+
createdAt INTEGER NOT NULL,
|
|
30
|
+
UNIQUE(projectId, sourceId, targetId, relationship)
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
-- Indexes for performance
|
|
34
|
+
CREATE INDEX idx_graph_nodes_project ON graph_nodes(projectId);
|
|
35
|
+
CREATE INDEX idx_graph_nodes_type ON graph_nodes(projectId, type);
|
|
36
|
+
CREATE INDEX idx_graph_edges_project ON graph_edges(projectId);
|
|
37
|
+
CREATE INDEX idx_graph_edges_source ON graph_edges(sourceId);
|
|
38
|
+
CREATE INDEX idx_graph_edges_target ON graph_edges(targetId);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
-- Migration 011: Add session_id to graph tables for provenance tracking
|
|
2
|
+
|
|
3
|
+
ALTER TABLE graph_nodes ADD COLUMN session_id TEXT;
|
|
4
|
+
ALTER TABLE graph_edges ADD COLUMN session_id TEXT;
|
|
5
|
+
|
|
6
|
+
-- Index for querying by session
|
|
7
|
+
CREATE INDEX idx_graph_nodes_session ON graph_nodes(session_id);
|
|
8
|
+
CREATE INDEX idx_graph_edges_session ON graph_edges(session_id);
|
package/dist/src/db/queries.d.ts
CHANGED
|
@@ -103,4 +103,6 @@ export declare const queries: {
|
|
|
103
103
|
updateSessionNotes(sessionId: string, notes: string): void;
|
|
104
104
|
getStaleSessions(staleThreshold: number): any[];
|
|
105
105
|
updateSessionActivity(sessionId: string, timestamp: number): void;
|
|
106
|
+
getUnsummarizedSessions(projectId?: string): any[];
|
|
107
|
+
getSessionObservations(sessionId: string): any[];
|
|
106
108
|
};
|
package/dist/src/db/queries.js
CHANGED
|
@@ -454,7 +454,6 @@ exports.queries = {
|
|
|
454
454
|
SELECT * FROM sessions
|
|
455
455
|
WHERE (status = 'active' OR status IS NULL)
|
|
456
456
|
AND last_activity < ?
|
|
457
|
-
AND transcript_path IS NOT NULL
|
|
458
457
|
`, staleThreshold);
|
|
459
458
|
},
|
|
460
459
|
updateSessionActivity(sessionId, timestamp) {
|
|
@@ -463,6 +462,30 @@ exports.queries = {
|
|
|
463
462
|
SET last_activity = ?
|
|
464
463
|
WHERE id = ?
|
|
465
464
|
`, timestamp, sessionId);
|
|
465
|
+
},
|
|
466
|
+
getUnsummarizedSessions(projectId) {
|
|
467
|
+
if (projectId) {
|
|
468
|
+
return all(`
|
|
469
|
+
SELECT * FROM sessions
|
|
470
|
+
WHERE status = 'completed'
|
|
471
|
+
AND summary_title IS NULL
|
|
472
|
+
AND transcript_path IS NOT NULL
|
|
473
|
+
AND project_id = ?
|
|
474
|
+
`, projectId);
|
|
475
|
+
}
|
|
476
|
+
return all(`
|
|
477
|
+
SELECT * FROM sessions
|
|
478
|
+
WHERE status = 'completed'
|
|
479
|
+
AND summary_title IS NULL
|
|
480
|
+
AND transcript_path IS NOT NULL
|
|
481
|
+
`);
|
|
482
|
+
},
|
|
483
|
+
getSessionObservations(sessionId) {
|
|
484
|
+
return all(`
|
|
485
|
+
SELECT * FROM observations
|
|
486
|
+
WHERE session_id = ?
|
|
487
|
+
ORDER BY created_at ASC
|
|
488
|
+
`, sessionId);
|
|
466
489
|
}
|
|
467
490
|
};
|
|
468
491
|
//# sourceMappingURL=queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/db/queries.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/db/queries.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -32,6 +32,8 @@ const session_timeout_1 = require("./services/session-timeout");
|
|
|
32
32
|
const rate_limit_1 = require("./middleware/rate-limit");
|
|
33
33
|
const stale_session_worker_1 = require("./services/stale-session-worker");
|
|
34
34
|
const logger_1 = require("./services/logger");
|
|
35
|
+
const queries_1 = require("./db/queries");
|
|
36
|
+
const summarization_queue_1 = require("./services/summarization-queue");
|
|
35
37
|
process.on('uncaughtException', (err) => {
|
|
36
38
|
console.error('Uncaught exception:', err);
|
|
37
39
|
});
|
|
@@ -70,8 +72,8 @@ async function main() {
|
|
|
70
72
|
app.use('/api/tags', tags_1.tagsRouter);
|
|
71
73
|
app.use('/api/settings', settings_1.settingsRouter);
|
|
72
74
|
app.use('/api/graph', graph_1.default);
|
|
73
|
-
const dashboardDist = path_1.default.
|
|
74
|
-
const indexPath = path_1.default.
|
|
75
|
+
const dashboardDist = path_1.default.resolve(__dirname, '..', '..', 'dashboard', 'dist');
|
|
76
|
+
const indexPath = path_1.default.resolve(dashboardDist, 'index.html');
|
|
75
77
|
app.use(express_1.default.static(dashboardDist));
|
|
76
78
|
// Catch-all for SPA routing - serve index.html for non-API routes
|
|
77
79
|
app.use((req, res, next) => {
|
|
@@ -104,6 +106,28 @@ async function main() {
|
|
|
104
106
|
// Start stale session worker
|
|
105
107
|
stale_session_worker_1.staleSessionWorker.start();
|
|
106
108
|
logger_1.logger.info('Worker', 'Stale session worker started');
|
|
109
|
+
// Startup recovery: queue unsummarized sessions
|
|
110
|
+
try {
|
|
111
|
+
logger_1.logger.info('Startup', 'Running recovery scan for unsummarized sessions');
|
|
112
|
+
const unsummarized = queries_1.queries.getUnsummarizedSessions();
|
|
113
|
+
if (unsummarized.length > 0) {
|
|
114
|
+
logger_1.logger.info('Startup', `Found ${unsummarized.length} unsummarized sessions, queuing for summarization`);
|
|
115
|
+
for (const session of unsummarized) {
|
|
116
|
+
summarization_queue_1.summarizationQueue.enqueue({
|
|
117
|
+
sessionId: session.id,
|
|
118
|
+
transcriptPath: session.transcript_path,
|
|
119
|
+
projectId: session.project_id,
|
|
120
|
+
priority: 'low'
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
logger_1.logger.info('Startup', 'No unsummarized sessions found');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (err) {
|
|
129
|
+
logger_1.logger.error('Startup', 'Recovery scan failed', { error: err });
|
|
130
|
+
}
|
|
107
131
|
server.listen(config_1.CONFIG.port, () => {
|
|
108
132
|
logger_1.logger.info('Server', `ClaudeContext running at http://localhost:${config_1.CONFIG.port}`);
|
|
109
133
|
logger_1.logger.info('Server', `API Key: ${config_1.CONFIG.apiKey ? 'configured' : 'NOT SET (summaries disabled)'}`);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;AAAA,sDAA6B;AAC7B,+BAAmC;AACnC,2BAAoC;AACpC,gDAAuB;AACvB,wCAAoC;AACpC,qCAAuC;AACvC,6CAA+C;AAC/C,6CAA+C;AAC/C,2CAA6C;AAC7C,yCAA2C;AAC3C,yCAA2C;AAC3C,qDAAuD;AACvD,yCAA2C;AAC3C,oEAAiD;AACjD,4DAAyC;AACzC,0DAAuC;AACvC,+DAA+D;AAC/D,qCAAuC;AACvC,qCAAuC;AACvC,6CAA+C;AAC/C,wDAAqC;AACrC,gDAAiD;AACjD,8CAAkD;AAClD,qCAAiC;AACjC,0DAAqD;AACrD,gEAAuE;AACvE,wDAA2D;AAC3D,0EAAoE;AACpE,8CAA0C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consolidate graph nodes by merging similar entities
|
|
3
|
+
*
|
|
4
|
+
* Strategy:
|
|
5
|
+
* 1. Group nodes by type (only dedup within same type)
|
|
6
|
+
* 2. Within each type, find similar pairs using Levenshtein (0.80 threshold)
|
|
7
|
+
* 3. For matched pairs: keep node with more edges, remap edges from duplicate, delete duplicate
|
|
8
|
+
*/
|
|
9
|
+
export declare function consolidateGraphNodes(projectId: string): Promise<void>;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.consolidateGraphNodes = consolidateGraphNodes;
|
|
4
|
+
const graph_queries_1 = require("../db/graph-queries");
|
|
5
|
+
const logger_1 = require("./logger");
|
|
6
|
+
/**
|
|
7
|
+
* Levenshtein distance algorithm (reused from fuzzy-task-matcher)
|
|
8
|
+
*/
|
|
9
|
+
function levenshteinDistance(a, b) {
|
|
10
|
+
const matrix = [];
|
|
11
|
+
for (let i = 0; i <= b.length; i++) {
|
|
12
|
+
matrix[i] = [i];
|
|
13
|
+
}
|
|
14
|
+
for (let j = 0; j <= a.length; j++) {
|
|
15
|
+
matrix[0][j] = j;
|
|
16
|
+
}
|
|
17
|
+
for (let i = 1; i <= b.length; i++) {
|
|
18
|
+
for (let j = 1; j <= a.length; j++) {
|
|
19
|
+
if (b.charAt(i - 1) === a.charAt(j - 1)) {
|
|
20
|
+
matrix[i][j] = matrix[i - 1][j - 1];
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, // substitution
|
|
24
|
+
matrix[i][j - 1] + 1, // insertion
|
|
25
|
+
matrix[i - 1][j] + 1 // deletion
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return matrix[b.length][a.length];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Calculate similarity between two strings (0-1)
|
|
34
|
+
*/
|
|
35
|
+
function similarity(a, b) {
|
|
36
|
+
const longer = a.length > b.length ? a : b;
|
|
37
|
+
const shorter = a.length > b.length ? b : a;
|
|
38
|
+
if (longer.length === 0)
|
|
39
|
+
return 1.0;
|
|
40
|
+
const distance = levenshteinDistance(longer.toLowerCase(), shorter.toLowerCase());
|
|
41
|
+
return (longer.length - distance) / longer.length;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Consolidate graph nodes by merging similar entities
|
|
45
|
+
*
|
|
46
|
+
* Strategy:
|
|
47
|
+
* 1. Group nodes by type (only dedup within same type)
|
|
48
|
+
* 2. Within each type, find similar pairs using Levenshtein (0.80 threshold)
|
|
49
|
+
* 3. For matched pairs: keep node with more edges, remap edges from duplicate, delete duplicate
|
|
50
|
+
*/
|
|
51
|
+
async function consolidateGraphNodes(projectId) {
|
|
52
|
+
try {
|
|
53
|
+
logger_1.logger.info('GraphConsolidator', `Starting consolidation for project ${projectId}`);
|
|
54
|
+
const { nodes, edges } = (0, graph_queries_1.getGraphForProject)(projectId);
|
|
55
|
+
if (nodes.length === 0) {
|
|
56
|
+
logger_1.logger.info('GraphConsolidator', 'No nodes to consolidate');
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// Group nodes by type
|
|
60
|
+
const nodesByType = new Map();
|
|
61
|
+
for (const node of nodes) {
|
|
62
|
+
if (!nodesByType.has(node.type)) {
|
|
63
|
+
nodesByType.set(node.type, []);
|
|
64
|
+
}
|
|
65
|
+
nodesByType.get(node.type).push(node);
|
|
66
|
+
}
|
|
67
|
+
let totalMerged = 0;
|
|
68
|
+
// Process each type group
|
|
69
|
+
for (const [type, typeNodes] of nodesByType.entries()) {
|
|
70
|
+
if (typeNodes.length < 2)
|
|
71
|
+
continue; // Need at least 2 nodes to find duplicates
|
|
72
|
+
logger_1.logger.info('GraphConsolidator', `Checking ${typeNodes.length} nodes of type '${type}'`);
|
|
73
|
+
const processed = new Set();
|
|
74
|
+
for (let i = 0; i < typeNodes.length; i++) {
|
|
75
|
+
const nodeA = typeNodes[i];
|
|
76
|
+
if (processed.has(nodeA.id))
|
|
77
|
+
continue;
|
|
78
|
+
for (let j = i + 1; j < typeNodes.length; j++) {
|
|
79
|
+
const nodeB = typeNodes[j];
|
|
80
|
+
if (processed.has(nodeB.id))
|
|
81
|
+
continue;
|
|
82
|
+
// Calculate similarity between labels
|
|
83
|
+
const sim = similarity(nodeA.label, nodeB.label);
|
|
84
|
+
if (sim >= 0.80) {
|
|
85
|
+
// Found a duplicate pair - merge them
|
|
86
|
+
logger_1.logger.info('GraphConsolidator', `Found similar nodes (${sim.toFixed(2)}): "${nodeA.label}" vs "${nodeB.label}"`);
|
|
87
|
+
// Count edges for each node to decide which to keep
|
|
88
|
+
const nodeAEdgeCount = edges.filter(e => e.sourceId === nodeA.id || e.targetId === nodeA.id).length;
|
|
89
|
+
const nodeBEdgeCount = edges.filter(e => e.sourceId === nodeB.id || e.targetId === nodeB.id).length;
|
|
90
|
+
let keepNode, discardNode;
|
|
91
|
+
if (nodeAEdgeCount >= nodeBEdgeCount) {
|
|
92
|
+
keepNode = nodeA;
|
|
93
|
+
discardNode = nodeB;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
keepNode = nodeB;
|
|
97
|
+
discardNode = nodeA;
|
|
98
|
+
}
|
|
99
|
+
logger_1.logger.info('GraphConsolidator', `Merging "${discardNode.label}" into "${keepNode.label}" (${nodeAEdgeCount} vs ${nodeBEdgeCount} edges)`);
|
|
100
|
+
// Remap all edges pointing to discardNode to point to keepNode
|
|
101
|
+
(0, graph_queries_1.remapNodeEdges)(discardNode.id, keepNode.id);
|
|
102
|
+
// Delete the duplicate node
|
|
103
|
+
(0, graph_queries_1.deleteGraphNode)(discardNode.id);
|
|
104
|
+
processed.add(discardNode.id);
|
|
105
|
+
totalMerged++;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
processed.add(nodeA.id);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
logger_1.logger.info('GraphConsolidator', `Consolidation complete for project ${projectId}`, { mergedNodes: totalMerged });
|
|
112
|
+
}
|
|
113
|
+
catch (err) {
|
|
114
|
+
logger_1.logger.error('GraphConsolidator', `Consolidation failed for project ${projectId}`, { error: err });
|
|
115
|
+
// Don't throw - consolidation failure shouldn't break summarization
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=graph-consolidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-consolidator.js","sourceRoot":"","sources":["../../../src/services/graph-consolidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,9 @@ const broadcast_1 = require("../ws/broadcast");
|
|
|
14
14
|
const fuzzy_task_matcher_1 = require("./fuzzy-task-matcher");
|
|
15
15
|
const logger_1 = require("./logger");
|
|
16
16
|
const metrics_1 = require("./metrics");
|
|
17
|
-
const graph_extractor_1 = require("./graph-extractor");
|
|
18
17
|
const graph_queries_1 = require("../db/graph-queries");
|
|
18
|
+
const node_id_1 = require("../utils/node-id");
|
|
19
|
+
const graph_consolidator_1 = require("./graph-consolidator");
|
|
19
20
|
function compactTranscriptSmart(turns) {
|
|
20
21
|
// Take last 80 turns for better context
|
|
21
22
|
const recentTurns = turns.slice(-80);
|
|
@@ -60,6 +61,29 @@ function getClient() {
|
|
|
60
61
|
baseURL: config_1.CONFIG.apiBaseUrl
|
|
61
62
|
});
|
|
62
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Build a synthetic transcript from observations when the real transcript is missing
|
|
66
|
+
*/
|
|
67
|
+
function buildTranscriptFromObservations(observations) {
|
|
68
|
+
const lines = [];
|
|
69
|
+
for (const obs of observations) {
|
|
70
|
+
if (obs.event_type === 'user_message') {
|
|
71
|
+
lines.push(`USER: ${obs.content}`);
|
|
72
|
+
}
|
|
73
|
+
else if (obs.event_type === 'assistant_message') {
|
|
74
|
+
lines.push(`CLAUDE: ${obs.content}`);
|
|
75
|
+
}
|
|
76
|
+
else if (obs.event_type === 'tool_call') {
|
|
77
|
+
const toolName = obs.tool_name || 'unknown';
|
|
78
|
+
const filePath = obs.file_path ? ` file: ${obs.file_path}` : '';
|
|
79
|
+
lines.push(`TOOL(${toolName}):${filePath}`);
|
|
80
|
+
}
|
|
81
|
+
else if (obs.event_type === 'decision') {
|
|
82
|
+
lines.push(`DECISION: ${obs.content}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return lines.join('\n');
|
|
86
|
+
}
|
|
63
87
|
async function summarizeSession(sessionId, transcriptPath, projectId) {
|
|
64
88
|
if (!config_1.CONFIG.apiKey || config_1.CONFIG.disableSummaries) {
|
|
65
89
|
console.log('No API key or summaries disabled — skipping AI summary for session', sessionId);
|
|
@@ -68,10 +92,22 @@ async function summarizeSession(sessionId, transcriptPath, projectId) {
|
|
|
68
92
|
try {
|
|
69
93
|
const startTime = Date.now();
|
|
70
94
|
const turns = await (0, transcript_reader_1.readTranscript)(transcriptPath);
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
95
|
+
let compactTranscript;
|
|
96
|
+
if (turns.length === 0) {
|
|
97
|
+
// Transcript missing or empty - try to reconstruct from observations
|
|
98
|
+
logger_1.logger.warn('Summarizer', `Transcript empty for session ${sessionId}, attempting observation fallback`);
|
|
99
|
+
const observations = queries_1.queries.getSessionObservations(sessionId);
|
|
100
|
+
if (observations.length === 0) {
|
|
101
|
+
logger_1.logger.warn('Summarizer', `No observations found for session ${sessionId}, cannot summarize`);
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
compactTranscript = buildTranscriptFromObservations(observations);
|
|
105
|
+
logger_1.logger.info('Summarizer', `Using ${observations.length} observations as fallback transcript for session ${sessionId}`);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
// Smart transcript compaction
|
|
109
|
+
compactTranscript = compactTranscriptSmart(turns);
|
|
110
|
+
}
|
|
75
111
|
const client = getClient();
|
|
76
112
|
logger_1.logger.info('Summarizer', `Starting summarization for session ${sessionId}`, {
|
|
77
113
|
model: config_1.CONFIG.summaryModel,
|
|
@@ -81,13 +117,14 @@ async function summarizeSession(sessionId, transcriptPath, projectId) {
|
|
|
81
117
|
model: config_1.CONFIG.summaryModel,
|
|
82
118
|
max_tokens: config_1.CONFIG.summaryMaxTokens,
|
|
83
119
|
stream: false,
|
|
84
|
-
system: `You are a memory extraction system. Analyze the session and extract:
|
|
120
|
+
system: `You are a unified memory and knowledge graph extraction system. Analyze the session and extract:
|
|
85
121
|
1. Session summary (what was done, mood, complexity, blockers, resolutions, key insight)
|
|
86
122
|
2. User preferences discovered (coding style, workflow, communication)
|
|
87
123
|
3. Domain knowledge learned (technologies, patterns, gotchas)
|
|
88
124
|
4. Problem-solving patterns used
|
|
89
125
|
5. Pending tasks identified
|
|
90
126
|
6. People/teams mentioned
|
|
127
|
+
7. Knowledge graph (files, functions, classes, concepts, problems, decisions and their relationships)
|
|
91
128
|
|
|
92
129
|
Always respond with ONLY valid JSON matching the exact schema provided. No preamble, no markdown, no explanation.`,
|
|
93
130
|
messages: [{
|
|
@@ -116,7 +153,18 @@ Return this exact JSON schema:
|
|
|
116
153
|
"knowledge": [{"category": "technology", "topic": "9router", "content": "Returns OpenAI format", "confidence": 0.8}],
|
|
117
154
|
"patterns": [{"type": "debugging", "title": "Check logs first", "description": "Always check logs before diving into code"}],
|
|
118
155
|
"tasks": [{"title": "Fix bug", "description": "Details", "priority": "high", "status": "pending"}],
|
|
119
|
-
"contacts": [{"name": "John", "type": "person", "role": "engineer", "context": "discussed API"}]
|
|
156
|
+
"contacts": [{"name": "John", "type": "person", "role": "engineer", "context": "discussed API"}],
|
|
157
|
+
"graph": {
|
|
158
|
+
"nodes": [
|
|
159
|
+
{"id": "file:src/index.ts", "label": "src/index.ts", "type": "file", "confidence": "EXTRACTED"},
|
|
160
|
+
{"id": "function:getUserById", "label": "getUserById", "type": "function", "confidence": "EXTRACTED"},
|
|
161
|
+
{"id": "concept:authentication", "label": "Authentication Flow", "type": "concept", "confidence": "INFERRED"}
|
|
162
|
+
],
|
|
163
|
+
"edges": [
|
|
164
|
+
{"sourceId": "file:src/index.ts", "targetId": "function:getUserById", "relationship": "calls", "confidence": "EXTRACTED"},
|
|
165
|
+
{"sourceId": "function:getUserById", "targetId": "concept:authentication", "relationship": "implements", "confidence": "INFERRED"}
|
|
166
|
+
]
|
|
167
|
+
}
|
|
120
168
|
}
|
|
121
169
|
|
|
122
170
|
Rules:
|
|
@@ -131,7 +179,18 @@ Rules:
|
|
|
131
179
|
- blockers: things that prevented progress (empty array if none)
|
|
132
180
|
- resolved: problems that were fixed (empty array if none)
|
|
133
181
|
- key_insight: most valuable takeaway (empty string if none)
|
|
134
|
-
- If nothing significant happened, use status "in_progress"
|
|
182
|
+
- If nothing significant happened, use status "in_progress"
|
|
183
|
+
|
|
184
|
+
Graph extraction rules:
|
|
185
|
+
- Node types: file, function, class, concept, problem, decision
|
|
186
|
+
- Node IDs MUST follow format "type:identifier" (e.g., "file:src/auth.ts", "concept:jwt_tokens")
|
|
187
|
+
- For files: use relative paths from project root, normalize (no ./ prefix)
|
|
188
|
+
- For concepts/problems/decisions: use lowercase with underscores
|
|
189
|
+
- For functions/classes: preserve original case
|
|
190
|
+
- Relationship types: imports, calls, implements, solves, related_to
|
|
191
|
+
- Confidence: EXTRACTED (explicitly mentioned), INFERRED (implied), AMBIGUOUS (unclear)
|
|
192
|
+
- Only include nodes/edges that are actually relevant to the session
|
|
193
|
+
- Empty graph object if no code structure was discussed`
|
|
135
194
|
}]
|
|
136
195
|
});
|
|
137
196
|
console.log(`[Summarizer] Response received:`, JSON.stringify(response, null, 2));
|
|
@@ -218,34 +277,47 @@ Rules:
|
|
|
218
277
|
metadata: '{}'
|
|
219
278
|
});
|
|
220
279
|
}
|
|
221
|
-
// ---
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
280
|
+
// --- UNIFIED GRAPH EXTRACTION (from same LLM response) ---
|
|
281
|
+
if (summary.graph && (summary.graph.nodes?.length > 0 || summary.graph.edges?.length > 0)) {
|
|
282
|
+
try {
|
|
283
|
+
logger_1.logger.info('Summarizer', `Processing unified graph extraction for session ${sessionId}`);
|
|
284
|
+
// Normalize node IDs for consistent deduplication
|
|
285
|
+
const normalizedNodes = summary.graph.nodes.map(node => {
|
|
286
|
+
const normalizedId = (0, node_id_1.normalizeNodeId)(node.type, node.label);
|
|
287
|
+
return {
|
|
288
|
+
id: normalizedId,
|
|
289
|
+
label: node.label,
|
|
290
|
+
type: node.type,
|
|
291
|
+
confidence: node.confidence,
|
|
292
|
+
metadata: node.metadata ? JSON.stringify(node.metadata) : null
|
|
293
|
+
};
|
|
294
|
+
});
|
|
295
|
+
if (normalizedNodes.length > 0) {
|
|
296
|
+
(0, graph_queries_1.insertGraphNodes)(projectId, normalizedNodes);
|
|
297
|
+
}
|
|
298
|
+
// Edges use content-hash IDs (generated in insertGraphEdges)
|
|
299
|
+
if (summary.graph.edges.length > 0) {
|
|
300
|
+
const edgesForDb = summary.graph.edges.map(edge => ({
|
|
301
|
+
sourceId: edge.sourceId,
|
|
302
|
+
targetId: edge.targetId,
|
|
303
|
+
relationship: edge.relationship,
|
|
304
|
+
confidence: edge.confidence,
|
|
305
|
+
weight: edge.weight || 1.0,
|
|
306
|
+
metadata: edge.metadata ? JSON.stringify(edge.metadata) : null
|
|
307
|
+
}));
|
|
308
|
+
(0, graph_queries_1.insertGraphEdges)(projectId, edgesForDb);
|
|
309
|
+
}
|
|
310
|
+
logger_1.logger.info('Summarizer', `Unified graph updated for session ${sessionId}`, {
|
|
311
|
+
nodesAdded: normalizedNodes.length,
|
|
312
|
+
edgesAdded: summary.graph.edges.length
|
|
313
|
+
});
|
|
314
|
+
// Consolidate similar nodes after extraction
|
|
315
|
+
await (0, graph_consolidator_1.consolidateGraphNodes)(projectId);
|
|
232
316
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
weight: edge.weight || 1.0,
|
|
237
|
-
metadata: edge.metadata ? JSON.stringify(edge.metadata) : null,
|
|
238
|
-
}));
|
|
239
|
-
(0, graph_queries_1.insertGraphEdges)(projectId, edgesForDb);
|
|
317
|
+
catch (graphErr) {
|
|
318
|
+
logger_1.logger.error('Summarizer', `Unified graph processing failed for session ${sessionId}`, { error: graphErr });
|
|
319
|
+
// Don't fail the whole summarization just because graph failed
|
|
240
320
|
}
|
|
241
|
-
logger_1.logger.info('Summarizer', `Graph updated for session ${sessionId}`, {
|
|
242
|
-
nodesAdded: graphResult.nodes.length,
|
|
243
|
-
edgesAdded: graphResult.edges.length
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
catch (graphErr) {
|
|
247
|
-
logger_1.logger.error('Summarizer', `Graph extraction failed for session ${sessionId}`, { error: graphErr });
|
|
248
|
-
// Don't fail the whole summarization just because graph failed
|
|
249
321
|
}
|
|
250
322
|
await (0, claude_md_updater_1.updateClaudeMd)(projectId, sessionId, summary);
|
|
251
323
|
(0, broadcast_1.broadcast)({ type: 'summary_ready', session_id: sessionId, title: summary.title });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarizer.js","sourceRoot":"","sources":["../../../src/services/summarizer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"summarizer.js","sourceRoot":"","sources":["../../../src/services/summarizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalizes a node ID to a canonical format for consistent deduplication.
|
|
3
|
+
*
|
|
4
|
+
* Rules:
|
|
5
|
+
* - Files: normalize path (strip ./, leading /, resolve .., lowercase)
|
|
6
|
+
* - Concepts/problems/decisions: lowercase, spaces→underscores, strip punctuation
|
|
7
|
+
* - Functions/classes: preserve case, strip whitespace
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalizeNodeId(type: string, label: string): string;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.normalizeNodeId = normalizeNodeId;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
/**
|
|
9
|
+
* Normalizes a node ID to a canonical format for consistent deduplication.
|
|
10
|
+
*
|
|
11
|
+
* Rules:
|
|
12
|
+
* - Files: normalize path (strip ./, leading /, resolve .., lowercase)
|
|
13
|
+
* - Concepts/problems/decisions: lowercase, spaces→underscores, strip punctuation
|
|
14
|
+
* - Functions/classes: preserve case, strip whitespace
|
|
15
|
+
*/
|
|
16
|
+
function normalizeNodeId(type, label) {
|
|
17
|
+
const normalizedType = type.toLowerCase();
|
|
18
|
+
switch (normalizedType) {
|
|
19
|
+
case 'file':
|
|
20
|
+
return `file:${normalizeFilePath(label)}`;
|
|
21
|
+
case 'concept':
|
|
22
|
+
case 'problem':
|
|
23
|
+
case 'decision':
|
|
24
|
+
return `${normalizedType}:${normalizeConceptLabel(label)}`;
|
|
25
|
+
case 'function':
|
|
26
|
+
case 'class':
|
|
27
|
+
return `${normalizedType}:${normalizeFunctionLabel(label)}`;
|
|
28
|
+
default:
|
|
29
|
+
// Unknown type - use concept normalization as fallback
|
|
30
|
+
return `${normalizedType}:${normalizeConceptLabel(label)}`;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Normalize file paths to canonical form
|
|
35
|
+
*/
|
|
36
|
+
function normalizeFilePath(filePath) {
|
|
37
|
+
let normalized = filePath.trim();
|
|
38
|
+
// Strip leading ./
|
|
39
|
+
if (normalized.startsWith('./')) {
|
|
40
|
+
normalized = normalized.slice(2);
|
|
41
|
+
}
|
|
42
|
+
// Strip leading /
|
|
43
|
+
if (normalized.startsWith('/')) {
|
|
44
|
+
normalized = normalized.slice(1);
|
|
45
|
+
}
|
|
46
|
+
// Normalize path separators and resolve .. segments
|
|
47
|
+
normalized = path_1.default.normalize(normalized);
|
|
48
|
+
// Convert to lowercase for case-insensitive matching
|
|
49
|
+
normalized = normalized.toLowerCase();
|
|
50
|
+
// Replace backslashes with forward slashes (Windows compatibility)
|
|
51
|
+
normalized = normalized.replace(/\\/g, '/');
|
|
52
|
+
return normalized;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Normalize concept/problem/decision labels
|
|
56
|
+
*/
|
|
57
|
+
function normalizeConceptLabel(label) {
|
|
58
|
+
return label
|
|
59
|
+
.toLowerCase()
|
|
60
|
+
.trim()
|
|
61
|
+
// Replace spaces and hyphens with underscores
|
|
62
|
+
.replace(/[\s-]+/g, '_')
|
|
63
|
+
// Strip punctuation except underscores
|
|
64
|
+
.replace(/[^\w_]/g, '')
|
|
65
|
+
// Collapse multiple underscores
|
|
66
|
+
.replace(/_+/g, '_')
|
|
67
|
+
// Strip leading/trailing underscores
|
|
68
|
+
.replace(/^_+|_+$/g, '');
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Normalize function/class labels (preserve case, strip whitespace)
|
|
72
|
+
*/
|
|
73
|
+
function normalizeFunctionLabel(label) {
|
|
74
|
+
return label
|
|
75
|
+
.trim()
|
|
76
|
+
// Collapse multiple spaces
|
|
77
|
+
.replace(/\s+/g, ' ')
|
|
78
|
+
// Remove special characters except alphanumeric, underscore, and space
|
|
79
|
+
.replace(/[^\w\s]/g, '');
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=node-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-id.js","sourceRoot":"","sources":["../../../src/utils/node-id.ts"],"names":[],"mappings":";;;;;AAUA,0CAoBC;AA9BD,gDAAuB;AAEvB;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,IAAY,EAAE,KAAa;IACzD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAEzC,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,QAAQ,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAA;QAE3C,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACb,OAAO,GAAG,cAAc,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAA;QAE5D,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,GAAG,cAAc,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAA;QAE7D;YACE,uDAAuD;YACvD,OAAO,GAAG,cAAc,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAA;IAC9D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAgB;IACzC,IAAI,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;IAEhC,mBAAmB;IACnB,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,kBAAkB;IAClB,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,oDAAoD;IACpD,UAAU,GAAG,cAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IAEvC,qDAAqD;IACrD,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;IAErC,mEAAmE;IACnE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAE3C,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,KAAK;SACT,WAAW,EAAE;SACb,IAAI,EAAE;QACP,8CAA8C;SAC7C,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;QACxB,uCAAuC;SACtC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACvB,gCAAgC;SAC/B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;QACpB,qCAAqC;SACpC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,KAAa;IAC3C,OAAO,KAAK;SACT,IAAI,EAAE;QACP,2BAA2B;SAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;QACrB,uEAAuE;SACtE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AAC5B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memctx",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Autonomous session memory for Claude Code - automatically captures, analyzes, and summarizes your development sessions",
|
|
5
5
|
"author": "Fahad Aziz Qureshi <info@memctx.dev> (https://memctx.dev)",
|
|
6
6
|
"license": "MIT",
|