pmem-ai 0.7.2 → 0.7.4
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/CHANGELOG.md +34 -0
- package/README.md +29 -27
- package/dist/commands/capture.d.ts +8 -0
- package/dist/commands/capture.d.ts.map +1 -0
- package/dist/commands/capture.js +69 -0
- package/dist/commands/capture.js.map +1 -0
- package/dist/commands/context.d.ts +5 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +109 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/install.d.ts +5 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +54 -35
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/mcp.d.ts +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +2 -2
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/rebuild.d.ts.map +1 -1
- package/dist/commands/rebuild.js +51 -7
- package/dist/commands/rebuild.js.map +1 -1
- package/dist/commands/verify.d.ts +1 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +6 -3
- package/dist/commands/verify.js.map +1 -1
- package/dist/core/agentRules.d.ts +13 -0
- package/dist/core/agentRules.d.ts.map +1 -0
- package/dist/core/agentRules.js +131 -0
- package/dist/core/agentRules.js.map +1 -0
- package/dist/core/capture.d.ts +15 -0
- package/dist/core/capture.d.ts.map +1 -0
- package/dist/core/capture.js +380 -0
- package/dist/core/capture.js.map +1 -0
- package/dist/core/db.d.ts +20 -0
- package/dist/core/db.d.ts.map +1 -1
- package/dist/core/db.js +30 -0
- package/dist/core/db.js.map +1 -1
- package/dist/core/query/context.d.ts +3 -0
- package/dist/core/query/context.d.ts.map +1 -0
- package/dist/core/query/context.js +158 -0
- package/dist/core/query/context.js.map +1 -0
- package/dist/index.js +46 -4
- package/dist/index.js.map +1 -1
- package/dist/mcp/security.d.ts +4 -0
- package/dist/mcp/security.d.ts.map +1 -1
- package/dist/mcp/security.js +35 -0
- package/dist/mcp/security.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +73 -5
- package/dist/mcp/server.js.map +1 -1
- package/dist/types.d.ts +31 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -2
- package/skills/pmem/SKILL.md +11 -19
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.captureCore = captureCore;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const crypto = __importStar(require("crypto"));
|
|
40
|
+
const child_process_1 = require("child_process");
|
|
41
|
+
const fs_1 = require("./fs");
|
|
42
|
+
const manifest_1 = require("./manifest");
|
|
43
|
+
const rebuild_1 = require("../commands/rebuild");
|
|
44
|
+
const verify_1 = require("../commands/verify");
|
|
45
|
+
const db_1 = require("./db");
|
|
46
|
+
const status_1 = require("./query/status");
|
|
47
|
+
function captureCore(pmemPath, options = {}) {
|
|
48
|
+
const cwd = process.cwd();
|
|
49
|
+
if (!(0, fs_1.fileExists)(pmemPath)) {
|
|
50
|
+
return {
|
|
51
|
+
success: false,
|
|
52
|
+
message: 'No .pmem directory found. Run pmem init first.'
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// 1. Detect changed files
|
|
56
|
+
let status;
|
|
57
|
+
try {
|
|
58
|
+
status = (0, status_1.statusQuery)(pmemPath);
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
return {
|
|
62
|
+
success: false,
|
|
63
|
+
message: `Failed to detect changes: ${err.message}`
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const changedFiles = (status.changes || []).filter(f => !f.path.startsWith('.pmem/') && !f.path.startsWith('.pmem\\') && f.path !== '.pmem');
|
|
67
|
+
if (changedFiles.length === 0 && !options.force) {
|
|
68
|
+
return {
|
|
69
|
+
success: true,
|
|
70
|
+
message: 'No changed files detected. Memory is up-to-date.',
|
|
71
|
+
skipped: true
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
// 2. Compute git/mtime diff hash for duplicate check
|
|
75
|
+
let diffHash = '';
|
|
76
|
+
try {
|
|
77
|
+
const isGit = (() => {
|
|
78
|
+
try {
|
|
79
|
+
(0, child_process_1.execSync)('git rev-parse --git-dir', { cwd, stdio: 'ignore' });
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
})();
|
|
86
|
+
if (isGit) {
|
|
87
|
+
const statusOutput = (0, child_process_1.execSync)("git status --porcelain --untracked-files=all -- . ':!.pmem'", { cwd, encoding: 'utf8', timeout: 5000 });
|
|
88
|
+
const diffOutput = (0, child_process_1.execSync)("git diff HEAD -- . ':!.pmem'", { cwd, encoding: 'utf8', timeout: 5000 });
|
|
89
|
+
const untrackedHashes = changedFiles
|
|
90
|
+
.filter(f => f.status.includes('?') || f.status === '??')
|
|
91
|
+
.map(f => {
|
|
92
|
+
const fullPath = path.join(cwd, f.path);
|
|
93
|
+
if (!(0, fs_1.fileExists)(fullPath))
|
|
94
|
+
return `${f.path}:missing`;
|
|
95
|
+
try {
|
|
96
|
+
const content = fs.readFileSync(fullPath);
|
|
97
|
+
return `${f.path}:${crypto.createHash('sha256').update(content).digest('hex')}`;
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return `${f.path}:error`;
|
|
101
|
+
}
|
|
102
|
+
})
|
|
103
|
+
.join('\n');
|
|
104
|
+
const combined = [
|
|
105
|
+
statusOutput,
|
|
106
|
+
diffOutput,
|
|
107
|
+
untrackedHashes
|
|
108
|
+
].join('\n---pmem-diff-boundary---');
|
|
109
|
+
diffHash = crypto.createHash('sha256').update(combined).digest('hex');
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
// Fallback mtime-based hash of changed files and mtimes
|
|
113
|
+
const mtimeList = changedFiles.map(c => {
|
|
114
|
+
const fullPath = path.join(cwd, c.path);
|
|
115
|
+
const mtime = (0, fs_1.fileExists)(fullPath) ? (0, fs_1.getFileMtime)(fullPath) || 0 : 0;
|
|
116
|
+
return `${c.path}:${mtime}:${c.status}`;
|
|
117
|
+
}).join('\n');
|
|
118
|
+
diffHash = crypto.createHash('sha256').update(mtimeList).digest('hex');
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
// If diff computation fails, we use a fallback hash based on file names only
|
|
123
|
+
const fallbackList = changedFiles.map(c => `${c.path}:${c.status}`).join('\n');
|
|
124
|
+
diffHash = crypto.createHash('sha256').update(fallbackList).digest('hex');
|
|
125
|
+
}
|
|
126
|
+
// 3. Find the latest trace card and check its diff_hash
|
|
127
|
+
const traceDir = path.resolve(pmemPath, 'traces');
|
|
128
|
+
(0, fs_1.ensureDir)(traceDir);
|
|
129
|
+
if (!options.force && diffHash) {
|
|
130
|
+
try {
|
|
131
|
+
const existingTraceFiles = fs.readdirSync(traceDir)
|
|
132
|
+
.filter((f) => f.endsWith('.md'))
|
|
133
|
+
.sort((a, b) => b.localeCompare(a)); // Sort descending to get latest first
|
|
134
|
+
if (existingTraceFiles.length > 0) {
|
|
135
|
+
const latestTracePath = path.join(traceDir, existingTraceFiles[0]);
|
|
136
|
+
const latestTraceContent = (0, fs_1.readFile)(latestTracePath) || '';
|
|
137
|
+
// Match diff_hash: "..." or diff_hash: ...
|
|
138
|
+
const diffHashMatch = latestTraceContent.match(/diff_hash:\s*["']?([a-fA-F0-9]+)["']?/);
|
|
139
|
+
if (diffHashMatch && diffHashMatch[1] === diffHash) {
|
|
140
|
+
return {
|
|
141
|
+
success: true,
|
|
142
|
+
message: 'No new capture created. Existing trace already records this diff.',
|
|
143
|
+
skipped: true
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
// Ignore directory read/parse errors for safety
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// 4. Resolve summary
|
|
153
|
+
let summary = options.summary;
|
|
154
|
+
if (!summary) {
|
|
155
|
+
// Try to get latest task from session.json
|
|
156
|
+
const sessionPath = path.join(pmemPath, 'session.json');
|
|
157
|
+
if ((0, fs_1.fileExists)(sessionPath)) {
|
|
158
|
+
try {
|
|
159
|
+
const sessionContent = (0, fs_1.readFile)(sessionPath);
|
|
160
|
+
if (sessionContent) {
|
|
161
|
+
const sessionData = JSON.parse(sessionContent);
|
|
162
|
+
if (sessionData.latest_task) {
|
|
163
|
+
summary = `Capture: ${sessionData.latest_task}`;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
// Fallback if parsing fails
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
if (!summary) {
|
|
173
|
+
// Fallback: list changed files
|
|
174
|
+
const filePaths = changedFiles.map(f => f.path);
|
|
175
|
+
summary = `Automated capture: changed ${filePaths.join(', ')}`;
|
|
176
|
+
}
|
|
177
|
+
// 5. Resolve next
|
|
178
|
+
const next = options.next || 'Continue development.';
|
|
179
|
+
// 6. Create trace card
|
|
180
|
+
const today = new Date().toISOString().split('T')[0];
|
|
181
|
+
let traceFile = '';
|
|
182
|
+
try {
|
|
183
|
+
const existingTraces = fs.readdirSync(traceDir)
|
|
184
|
+
.filter((f) => f.startsWith(today) && f.endsWith('.md'))
|
|
185
|
+
.length;
|
|
186
|
+
const traceNum = String(existingTraces + 1).padStart(3, '0');
|
|
187
|
+
traceFile = path.resolve(traceDir, `${today}-${traceNum}.md`);
|
|
188
|
+
// Strict path traversal validation
|
|
189
|
+
if (!traceFile.startsWith(traceDir)) {
|
|
190
|
+
throw new Error('Security: trace path traversal detected');
|
|
191
|
+
}
|
|
192
|
+
const cardId = `trace.${today}-${traceNum}`;
|
|
193
|
+
const traceContent = `---
|
|
194
|
+
id: ${cardId}
|
|
195
|
+
type: trace
|
|
196
|
+
created: ${new Date().toISOString()}
|
|
197
|
+
diff_hash: ${diffHash}
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
# Capture: ${summary}
|
|
201
|
+
|
|
202
|
+
## What changed
|
|
203
|
+
|
|
204
|
+
${summary}
|
|
205
|
+
|
|
206
|
+
## Changed files
|
|
207
|
+
|
|
208
|
+
${changedFiles.map(f => `- ${f.path}`).join('\n')}
|
|
209
|
+
|
|
210
|
+
## Next
|
|
211
|
+
|
|
212
|
+
- ${next}
|
|
213
|
+
`;
|
|
214
|
+
(0, fs_1.atomicWrite)(traceFile, traceContent);
|
|
215
|
+
}
|
|
216
|
+
catch (err) {
|
|
217
|
+
return {
|
|
218
|
+
success: false,
|
|
219
|
+
message: `Failed to write trace card: ${err.message}`
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
// 7. Update .pmem/next.md in managed block
|
|
223
|
+
const nextPath = path.join(pmemPath, 'next.md');
|
|
224
|
+
const managedStart = '<!-- pmem:next:start -->';
|
|
225
|
+
const managedEnd = '<!-- pmem:next:end -->';
|
|
226
|
+
const managedContent = `${managedStart}\n- Recommended next step: ${next}\n${managedEnd}`;
|
|
227
|
+
try {
|
|
228
|
+
if ((0, fs_1.fileExists)(nextPath)) {
|
|
229
|
+
const currentNext = (0, fs_1.readFile)(nextPath) || '';
|
|
230
|
+
const startIndex = currentNext.indexOf(managedStart);
|
|
231
|
+
const endIndex = currentNext.indexOf(managedEnd);
|
|
232
|
+
if (startIndex >= 0 && endIndex >= 0 && endIndex > startIndex) {
|
|
233
|
+
const updatedNext = currentNext.substring(0, startIndex) +
|
|
234
|
+
managedContent +
|
|
235
|
+
currentNext.substring(endIndex + managedEnd.length);
|
|
236
|
+
(0, fs_1.writeFile)(nextPath, updatedNext);
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
// Managed block not found, append it
|
|
240
|
+
const spacer = currentNext.endsWith('\n') ? '' : '\n';
|
|
241
|
+
(0, fs_1.writeFile)(nextPath, `${currentNext}${spacer}\n${managedContent}\n`);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
// Create new file
|
|
246
|
+
(0, fs_1.writeFile)(nextPath, `# Next Steps\n\n${managedContent}\n`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
catch (err) {
|
|
250
|
+
return {
|
|
251
|
+
success: false,
|
|
252
|
+
message: `Failed to update next.md: ${err.message}`
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
// 8. DB transaction to resolve dirty flags
|
|
256
|
+
const dbPath = path.join(pmemPath, 'pmem.db');
|
|
257
|
+
let db = null;
|
|
258
|
+
let transactionActive = false;
|
|
259
|
+
let backupManifest = null;
|
|
260
|
+
const manifestPath = path.join(pmemPath, 'manifest.yml');
|
|
261
|
+
const dirtyPath = path.join(pmemPath, '.dirty');
|
|
262
|
+
try {
|
|
263
|
+
const manifest = (0, manifest_1.loadManifest)(pmemPath);
|
|
264
|
+
if (manifest) {
|
|
265
|
+
backupManifest = JSON.stringify(manifest);
|
|
266
|
+
}
|
|
267
|
+
if ((0, fs_1.fileExists)(dbPath)) {
|
|
268
|
+
db = (0, db_1.openDatabase)(pmemPath);
|
|
269
|
+
(0, db_1.createSchema)(db);
|
|
270
|
+
// Start transaction
|
|
271
|
+
db.prepare('BEGIN TRANSACTION').run();
|
|
272
|
+
transactionActive = true;
|
|
273
|
+
const activeSession = (0, db_1.getActiveSession)(db);
|
|
274
|
+
// Auto mark changed files dirty first to make sure they are tracked before resolving
|
|
275
|
+
const allPaths = db.prepare("SELECT card_id, path FROM paths").all();
|
|
276
|
+
const dirtyCards = [];
|
|
277
|
+
for (const change of changedFiles) {
|
|
278
|
+
for (const p of allPaths) {
|
|
279
|
+
if (p.card_id && p.path && change.path) {
|
|
280
|
+
// Check if matches
|
|
281
|
+
const isMatch = (() => {
|
|
282
|
+
const p1 = change.path.replace(/\\/g, '/');
|
|
283
|
+
const p2 = p.path.replace(/\\/g, '/');
|
|
284
|
+
return p1 === p2 || p1.endsWith('/' + p2) || p2.endsWith('/' + p1);
|
|
285
|
+
})();
|
|
286
|
+
if (isMatch) {
|
|
287
|
+
if (!dirtyCards.includes(p.card_id)) {
|
|
288
|
+
(0, db_1.insertDirtyFlag)(db, 'card', p.card_id, 'file_changed: ' + change.path, activeSession?.id);
|
|
289
|
+
dirtyCards.push(p.card_id);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
// Resolve affected cards dirty flags
|
|
296
|
+
const affectedCards = status.affected_cards || [];
|
|
297
|
+
const cardsToResolve = Array.from(new Set([
|
|
298
|
+
...dirtyCards,
|
|
299
|
+
...affectedCards.map((ac) => ac.card_id)
|
|
300
|
+
]));
|
|
301
|
+
for (const cardId of cardsToResolve) {
|
|
302
|
+
(0, db_1.resolveDirtyFlags)(db, 'card', cardId);
|
|
303
|
+
}
|
|
304
|
+
// Resolve project level dirty flag
|
|
305
|
+
(0, db_1.resolveDirtyFlags)(db, 'project', '.pmem');
|
|
306
|
+
// Log update to SQLite
|
|
307
|
+
const todayNum = path.basename(traceFile, '.md').split('-').pop() || '001';
|
|
308
|
+
const traceCardId = `trace.${today}-${todayNum}`;
|
|
309
|
+
(0, db_1.insertUpdateLog)(db, 'confirm_update', summary, activeSession?.id, [traceCardId], true);
|
|
310
|
+
// Commit transaction
|
|
311
|
+
db.prepare('COMMIT').run();
|
|
312
|
+
transactionActive = false;
|
|
313
|
+
(0, db_1.closeDatabase)();
|
|
314
|
+
}
|
|
315
|
+
// Clean up dirty state in files
|
|
316
|
+
if ((0, fs_1.fileExists)(dirtyPath)) {
|
|
317
|
+
fs.unlinkSync(dirtyPath);
|
|
318
|
+
}
|
|
319
|
+
if (manifest) {
|
|
320
|
+
manifest.memory_status.dirty = false;
|
|
321
|
+
manifest.memory_status.dirty_reason = null;
|
|
322
|
+
manifest.memory_status.dirty_since = null;
|
|
323
|
+
(0, manifest_1.saveManifest)(pmemPath, manifest);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
catch (err) {
|
|
327
|
+
if (db && transactionActive) {
|
|
328
|
+
try {
|
|
329
|
+
db.prepare('ROLLBACK').run();
|
|
330
|
+
}
|
|
331
|
+
catch { }
|
|
332
|
+
}
|
|
333
|
+
try {
|
|
334
|
+
(0, db_1.closeDatabase)();
|
|
335
|
+
}
|
|
336
|
+
catch { }
|
|
337
|
+
// Rollback manifest
|
|
338
|
+
if (backupManifest && (0, fs_1.fileExists)(manifestPath)) {
|
|
339
|
+
try {
|
|
340
|
+
(0, manifest_1.saveManifest)(pmemPath, JSON.parse(backupManifest));
|
|
341
|
+
}
|
|
342
|
+
catch { }
|
|
343
|
+
}
|
|
344
|
+
// Rollback trace file
|
|
345
|
+
if ((0, fs_1.fileExists)(traceFile)) {
|
|
346
|
+
try {
|
|
347
|
+
fs.unlinkSync(traceFile);
|
|
348
|
+
}
|
|
349
|
+
catch { }
|
|
350
|
+
}
|
|
351
|
+
return {
|
|
352
|
+
success: false,
|
|
353
|
+
message: `Failed SQLite transaction: ${err.message}`
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
// 9. Run rebuild (incremental or full)
|
|
357
|
+
try {
|
|
358
|
+
(0, rebuild_1.rebuildCommand)({ full: options.full === true });
|
|
359
|
+
}
|
|
360
|
+
catch (err) {
|
|
361
|
+
return {
|
|
362
|
+
success: false,
|
|
363
|
+
message: `Failed rebuild: ${err.message}`,
|
|
364
|
+
tracePath: traceFile
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
// 10. Run lightweight verify
|
|
368
|
+
try {
|
|
369
|
+
(0, verify_1.verifyCommand)({ fix: false, fixLocks: false, fixStale: false, relaxed: true, noExit: true });
|
|
370
|
+
}
|
|
371
|
+
catch (err) {
|
|
372
|
+
// Verification warning only, do not fail capture
|
|
373
|
+
}
|
|
374
|
+
return {
|
|
375
|
+
success: true,
|
|
376
|
+
message: 'Memory sync and update completed successfully.',
|
|
377
|
+
tracePath: traceFile
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
//# sourceMappingURL=capture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/core/capture.ts"],"names":[],"mappings":"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"}
|
package/dist/core/db.d.ts
CHANGED
|
@@ -12,6 +12,17 @@ export declare function upsertCard(db: Database.Database, card: import('../types
|
|
|
12
12
|
export declare function deleteCardEdges(db: Database.Database, cardId: string): void;
|
|
13
13
|
export declare function deleteExplicitCardEdges(db: Database.Database, cardId: string): void;
|
|
14
14
|
export declare function deleteMentionEdges(db: Database.Database, cardId: string): void;
|
|
15
|
+
/**
|
|
16
|
+
* v0.7.3 (issue #6): per-card inferred edge cleanup.
|
|
17
|
+
*
|
|
18
|
+
* Rebuilds need to re-derive inferred edges (e.g. task→module
|
|
19
|
+
* next_step_of) from the card's *current* frontmatter. Without this,
|
|
20
|
+
* an incremental rebuild that only re-processes one card would leave
|
|
21
|
+
* stale inferred edges in the DB that point to modules the card no
|
|
22
|
+
* longer references. Used by `rebuildCommand` for every re-processed
|
|
23
|
+
* card, in both full and incremental modes.
|
|
24
|
+
*/
|
|
25
|
+
export declare function deleteInferredCardEdges(db: Database.Database, cardId: string): void;
|
|
15
26
|
export declare function insertEdge(db: Database.Database, edge: import('../types').EdgeRow): void;
|
|
16
27
|
export declare function deleteCardAliases(db: Database.Database, cardId: string): void;
|
|
17
28
|
export declare function insertAlias(db: Database.Database, cardId: string, alias: string, language?: string): void;
|
|
@@ -62,4 +73,13 @@ export declare function getEdgesForCard(db: Database.Database, cardId: string, s
|
|
|
62
73
|
export declare function updateEdgeSource(db: Database.Database, edgeIds: number[], newSource: 'explicit' | 'inferred', newConfidence: number): number;
|
|
63
74
|
export declare function deleteEdgesByIds(db: Database.Database, edgeIds: number[]): number;
|
|
64
75
|
export declare function getOrphanEdges(db: Database.Database): EdgeRow[];
|
|
76
|
+
/**
|
|
77
|
+
* v0.7.3 (issue #6): prune edges whose endpoints reference cards that
|
|
78
|
+
* no longer exist in the `cards` table. Returns the number of rows
|
|
79
|
+
* deleted. Called by `rebuildCommand --full` after the rebuild loop
|
|
80
|
+
* so that a deleted-card file can't leave behind edges that point to
|
|
81
|
+
* it. The matching `select` form lives in `getOrphanEdges` for ad-hoc
|
|
82
|
+
* inspection.
|
|
83
|
+
*/
|
|
84
|
+
export declare function deleteOrphanEdges(db: Database.Database): number;
|
|
65
85
|
//# sourceMappingURL=db.d.ts.map
|
package/dist/core/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"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"}
|
package/dist/core/db.js
CHANGED
|
@@ -48,6 +48,7 @@ exports.upsertCard = upsertCard;
|
|
|
48
48
|
exports.deleteCardEdges = deleteCardEdges;
|
|
49
49
|
exports.deleteExplicitCardEdges = deleteExplicitCardEdges;
|
|
50
50
|
exports.deleteMentionEdges = deleteMentionEdges;
|
|
51
|
+
exports.deleteInferredCardEdges = deleteInferredCardEdges;
|
|
51
52
|
exports.insertEdge = insertEdge;
|
|
52
53
|
exports.deleteCardAliases = deleteCardAliases;
|
|
53
54
|
exports.insertAlias = insertAlias;
|
|
@@ -72,6 +73,7 @@ exports.getEdgesForCard = getEdgesForCard;
|
|
|
72
73
|
exports.updateEdgeSource = updateEdgeSource;
|
|
73
74
|
exports.deleteEdgesByIds = deleteEdgesByIds;
|
|
74
75
|
exports.getOrphanEdges = getOrphanEdges;
|
|
76
|
+
exports.deleteOrphanEdges = deleteOrphanEdges;
|
|
75
77
|
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
76
78
|
const path = __importStar(require("path"));
|
|
77
79
|
const fs_1 = require("./fs");
|
|
@@ -261,6 +263,19 @@ function deleteExplicitCardEdges(db, cardId) {
|
|
|
261
263
|
function deleteMentionEdges(db, cardId) {
|
|
262
264
|
db.prepare("DELETE FROM edges WHERE from_id = ? AND source = 'mention'").run(cardId);
|
|
263
265
|
}
|
|
266
|
+
/**
|
|
267
|
+
* v0.7.3 (issue #6): per-card inferred edge cleanup.
|
|
268
|
+
*
|
|
269
|
+
* Rebuilds need to re-derive inferred edges (e.g. task→module
|
|
270
|
+
* next_step_of) from the card's *current* frontmatter. Without this,
|
|
271
|
+
* an incremental rebuild that only re-processes one card would leave
|
|
272
|
+
* stale inferred edges in the DB that point to modules the card no
|
|
273
|
+
* longer references. Used by `rebuildCommand` for every re-processed
|
|
274
|
+
* card, in both full and incremental modes.
|
|
275
|
+
*/
|
|
276
|
+
function deleteInferredCardEdges(db, cardId) {
|
|
277
|
+
db.prepare("DELETE FROM edges WHERE from_id = ? AND source = 'inferred'").run(cardId);
|
|
278
|
+
}
|
|
264
279
|
function insertEdge(db, edge) {
|
|
265
280
|
db.prepare(`
|
|
266
281
|
INSERT OR IGNORE INTO edges (from_id, to_id, type, source, confidence, created_at, updated_at)
|
|
@@ -378,4 +393,19 @@ function getOrphanEdges(db) {
|
|
|
378
393
|
WHERE c1.id IS NULL OR c2.id IS NULL
|
|
379
394
|
`).all();
|
|
380
395
|
}
|
|
396
|
+
/**
|
|
397
|
+
* v0.7.3 (issue #6): prune edges whose endpoints reference cards that
|
|
398
|
+
* no longer exist in the `cards` table. Returns the number of rows
|
|
399
|
+
* deleted. Called by `rebuildCommand --full` after the rebuild loop
|
|
400
|
+
* so that a deleted-card file can't leave behind edges that point to
|
|
401
|
+
* it. The matching `select` form lives in `getOrphanEdges` for ad-hoc
|
|
402
|
+
* inspection.
|
|
403
|
+
*/
|
|
404
|
+
function deleteOrphanEdges(db) {
|
|
405
|
+
return db.prepare(`
|
|
406
|
+
DELETE FROM edges
|
|
407
|
+
WHERE from_id NOT IN (SELECT id FROM cards WHERE is_deleted = 0)
|
|
408
|
+
OR to_id NOT IN (SELECT id FROM cards WHERE is_deleted = 0)
|
|
409
|
+
`).run().changes;
|
|
410
|
+
}
|
|
381
411
|
//# sourceMappingURL=db.js.map
|
package/dist/core/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,oCAkBC;AAED,sCAKC;AAED,kCAEC;AAED,oCAmGC;AAED,0BAOC;AAED,gCAYC;AAED,4CAOC;AAED,4CAEC;AAID,gCASC;AAED,0CAEC;AAED,0DAEC;AAED,gDAEC;AAED,gCAKC;AAED,8CAEC;AAED,kCAIC;AAED,wCAEC;AAED,8BAIC;AAED,0CAEC;AAED,gCAGC;AAED,wCAWC;AAED,kCAIC;AAID,0CAIC;AAED,8CAUC;AAED,0DAIC;AAWD,0EAIC;AAID,oCAIC;AAED,gCAIC;AAED,4CAKC;AAID,0CAaC;AAED,kDAIC;AAID,kDAEC;AAED,4CAIC;AAED,0CAaC;AAED,4CAWC;AAED,4CAMC;AAED,wCAOC;
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/core/query/context.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,aAAa,CAAC;AAEvE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAO,GAAG,kBAAkB,CAkI9F"}
|