pmem-ai 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/LICENSE +21 -0
  3. package/README.md +349 -0
  4. package/dist/commands/ask.d.ts +3 -0
  5. package/dist/commands/ask.d.ts.map +1 -0
  6. package/dist/commands/ask.js +303 -0
  7. package/dist/commands/ask.js.map +1 -0
  8. package/dist/commands/distill.d.ts +6 -0
  9. package/dist/commands/distill.d.ts.map +1 -0
  10. package/dist/commands/distill.js +425 -0
  11. package/dist/commands/distill.js.map +1 -0
  12. package/dist/commands/graph.d.ts +6 -0
  13. package/dist/commands/graph.d.ts.map +1 -0
  14. package/dist/commands/graph.js +216 -0
  15. package/dist/commands/graph.js.map +1 -0
  16. package/dist/commands/init.d.ts +5 -0
  17. package/dist/commands/init.d.ts.map +1 -0
  18. package/dist/commands/init.js +566 -0
  19. package/dist/commands/init.js.map +1 -0
  20. package/dist/commands/integration.d.ts +2 -0
  21. package/dist/commands/integration.d.ts.map +1 -0
  22. package/dist/commands/integration.js +216 -0
  23. package/dist/commands/integration.js.map +1 -0
  24. package/dist/commands/migrate.d.ts +6 -0
  25. package/dist/commands/migrate.d.ts.map +1 -0
  26. package/dist/commands/migrate.js +379 -0
  27. package/dist/commands/migrate.js.map +1 -0
  28. package/dist/commands/rebuild.d.ts +8 -0
  29. package/dist/commands/rebuild.d.ts.map +1 -0
  30. package/dist/commands/rebuild.js +299 -0
  31. package/dist/commands/rebuild.js.map +1 -0
  32. package/dist/commands/recall.d.ts +3 -0
  33. package/dist/commands/recall.d.ts.map +1 -0
  34. package/dist/commands/recall.js +140 -0
  35. package/dist/commands/recall.js.map +1 -0
  36. package/dist/commands/session.d.ts +3 -0
  37. package/dist/commands/session.d.ts.map +1 -0
  38. package/dist/commands/session.js +147 -0
  39. package/dist/commands/session.js.map +1 -0
  40. package/dist/commands/status.d.ts +5 -0
  41. package/dist/commands/status.d.ts.map +1 -0
  42. package/dist/commands/status.js +275 -0
  43. package/dist/commands/status.js.map +1 -0
  44. package/dist/commands/update.d.ts +14 -0
  45. package/dist/commands/update.d.ts.map +1 -0
  46. package/dist/commands/update.js +536 -0
  47. package/dist/commands/update.js.map +1 -0
  48. package/dist/commands/verify.d.ts +4 -0
  49. package/dist/commands/verify.d.ts.map +1 -0
  50. package/dist/commands/verify.js +296 -0
  51. package/dist/commands/verify.js.map +1 -0
  52. package/dist/core/db.d.ts +47 -0
  53. package/dist/core/db.d.ts.map +1 -0
  54. package/dist/core/db.js +326 -0
  55. package/dist/core/db.js.map +1 -0
  56. package/dist/core/format.d.ts +3 -0
  57. package/dist/core/format.d.ts.map +1 -0
  58. package/dist/core/format.js +221 -0
  59. package/dist/core/format.js.map +1 -0
  60. package/dist/core/fs.d.ts +16 -0
  61. package/dist/core/fs.d.ts.map +1 -0
  62. package/dist/core/fs.js +175 -0
  63. package/dist/core/fs.js.map +1 -0
  64. package/dist/core/git.d.ts +6 -0
  65. package/dist/core/git.d.ts.map +1 -0
  66. package/dist/core/git.js +20 -0
  67. package/dist/core/git.js.map +1 -0
  68. package/dist/core/hash.d.ts +10 -0
  69. package/dist/core/hash.d.ts.map +1 -0
  70. package/dist/core/hash.js +25 -0
  71. package/dist/core/hash.js.map +1 -0
  72. package/dist/core/manifest.d.ts +6 -0
  73. package/dist/core/manifest.d.ts.map +1 -0
  74. package/dist/core/manifest.js +207 -0
  75. package/dist/core/manifest.js.map +1 -0
  76. package/dist/core/yaml.d.ts +11 -0
  77. package/dist/core/yaml.d.ts.map +1 -0
  78. package/dist/core/yaml.js +94 -0
  79. package/dist/core/yaml.js.map +1 -0
  80. package/dist/index.d.ts +3 -0
  81. package/dist/index.d.ts.map +1 -0
  82. package/dist/index.js +167 -0
  83. package/dist/index.js.map +1 -0
  84. package/dist/types.d.ts +351 -0
  85. package/dist/types.d.ts.map +1 -0
  86. package/dist/types.js +4 -0
  87. package/dist/types.js.map +1 -0
  88. package/docs/Voorlopige projekidee.md +695 -0
  89. package/docs/handover-v0.3.md +355 -0
  90. package/docs/handover-v0.4.md +367 -0
  91. package/docs/prd.md +318 -0
  92. package/docs/project-roadmap.md +279 -0
  93. package/docs/release-checklist-v0.5.md +109 -0
  94. package/docs/v0.2 pre-design.md +182 -0
  95. package/docs/v0.2 pre-roadmap.md +270 -0
  96. package/docs/v0.3 pre-design.md +686 -0
  97. package/docs/v0.4 pre-design.md +417 -0
  98. package/docs/v0.5 pre-design.md +481 -0
  99. package/package.json +67 -0
@@ -0,0 +1,275 @@
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.statusCommand = statusCommand;
37
+ const path = __importStar(require("path"));
38
+ const child_process_1 = require("child_process");
39
+ const fs_1 = require("../core/fs");
40
+ const db_1 = require("../core/db");
41
+ const git_1 = require("../core/git");
42
+ const MATCH_PRIORITY = {
43
+ exact: 3,
44
+ directory: 2,
45
+ graph_neighbor: 1,
46
+ };
47
+ // === Helper ===
48
+ function upsertAffectedCard(map, card) {
49
+ const existing = map.get(card.card_id);
50
+ if (!existing || MATCH_PRIORITY[card.match_type] > MATCH_PRIORITY[existing.match_type]) {
51
+ map.set(card.card_id, card);
52
+ }
53
+ }
54
+ function formatAffectedCardDetail(ac) {
55
+ switch (ac.match_type) {
56
+ case 'exact':
57
+ return `exact: ${ac.matched_file}`;
58
+ case 'directory':
59
+ return `directory: ${ac.matched_dir}`;
60
+ case 'graph_neighbor':
61
+ return `graph_neighbor via ${ac.via_card}`;
62
+ default:
63
+ return ac.match_type;
64
+ }
65
+ }
66
+ // === Main command ===
67
+ function statusCommand(options) {
68
+ const cwd = process.cwd();
69
+ const pmemPath = path.join(cwd, '.pmem');
70
+ const format = (options.format || 'compact');
71
+ if (!(0, fs_1.fileExists)(pmemPath)) {
72
+ console.log('No .pmem directory found. Run `pmem init` first.');
73
+ process.exit(2);
74
+ }
75
+ // Detect changes
76
+ const source = detectChangesFrom();
77
+ const changes = getChangedFiles(cwd, options.since);
78
+ // Open database
79
+ let db = null;
80
+ const dbPath = path.join(pmemPath, 'pmem.db');
81
+ if ((0, fs_1.fileExists)(dbPath)) {
82
+ try {
83
+ db = (0, db_1.openDatabase)(pmemPath);
84
+ (0, db_1.createSchema)(db);
85
+ }
86
+ catch { /* DB may be locked or corrupt */ }
87
+ }
88
+ const affectedCards = new Map();
89
+ // === Pass 1: Exact path matching (per file) ===
90
+ for (const change of changes) {
91
+ if (!db)
92
+ continue;
93
+ try {
94
+ const rows = db.prepare("SELECT card_id, path FROM paths WHERE ? LIKE '%' || path || '%'").all(change.path);
95
+ for (const row of rows) {
96
+ change.relatedCards.push({ card_id: row.card_id, match_type: 'exact' });
97
+ upsertAffectedCard(affectedCards, {
98
+ card_id: row.card_id,
99
+ match_type: 'exact',
100
+ matched_file: change.path,
101
+ });
102
+ }
103
+ }
104
+ catch { /* ignore query errors */ }
105
+ }
106
+ // === Pass 2: Directory-level fuzzy matching ===
107
+ // Collect unique directories from changed files, then query each once
108
+ if (db) {
109
+ const dirSet = new Set();
110
+ for (const change of changes) {
111
+ const dir = path.dirname(change.path);
112
+ if (dir && dir !== '.') {
113
+ dirSet.add(dir);
114
+ }
115
+ }
116
+ for (const dir of dirSet) {
117
+ try {
118
+ const dirPattern = dir + '/%';
119
+ const dirRows = db.prepare("SELECT card_id, path FROM paths WHERE path LIKE ?").all(dirPattern);
120
+ for (const row of dirRows) {
121
+ upsertAffectedCard(affectedCards, {
122
+ card_id: row.card_id,
123
+ match_type: 'directory',
124
+ matched_dir: dir + '/',
125
+ });
126
+ }
127
+ }
128
+ catch { /* ignore query errors */ }
129
+ }
130
+ }
131
+ // === Pass 3: Graph neighbor expansion (one-hop) ===
132
+ if (db && affectedCards.size > 0) {
133
+ const affectedCardIds = [...affectedCards.keys()];
134
+ const placeholders = affectedCardIds.map(() => '?').join(',');
135
+ try {
136
+ const edgeRows = db.prepare(`SELECT from_id, to_id FROM edges WHERE from_id IN (${placeholders}) OR to_id IN (${placeholders})`).all(...affectedCardIds, ...affectedCardIds);
137
+ for (const edge of edgeRows) {
138
+ // from_id is affected, to_id is the neighbor
139
+ if (affectedCards.has(edge.from_id) && !affectedCards.has(edge.to_id)) {
140
+ upsertAffectedCard(affectedCards, {
141
+ card_id: edge.to_id,
142
+ match_type: 'graph_neighbor',
143
+ via_card: edge.from_id,
144
+ });
145
+ }
146
+ // to_id is affected, from_id is the neighbor
147
+ if (affectedCards.has(edge.to_id) && !affectedCards.has(edge.from_id)) {
148
+ upsertAffectedCard(affectedCards, {
149
+ card_id: edge.from_id,
150
+ match_type: 'graph_neighbor',
151
+ via_card: edge.to_id,
152
+ });
153
+ }
154
+ }
155
+ }
156
+ catch { /* ignore query errors */ }
157
+ }
158
+ if (db)
159
+ (0, db_1.closeDatabase)();
160
+ // === Output ===
161
+ const affectedCardsList = [...affectedCards.values()];
162
+ if (format === 'json') {
163
+ console.log(JSON.stringify({
164
+ checked_at: new Date().toISOString(),
165
+ source,
166
+ changes: changes.map(c => ({
167
+ path: c.path,
168
+ status: c.status,
169
+ related_cards: c.relatedCards.map(rc => ({
170
+ card_id: rc.card_id,
171
+ match_type: rc.match_type,
172
+ })),
173
+ })),
174
+ affected_cards: affectedCardsList.map(ac => {
175
+ const obj = { card_id: ac.card_id, match_type: ac.match_type };
176
+ if (ac.matched_file)
177
+ obj.matched_file = ac.matched_file;
178
+ if (ac.matched_dir)
179
+ obj.matched_dir = ac.matched_dir;
180
+ if (ac.via_card)
181
+ obj.via_card = ac.via_card;
182
+ return obj;
183
+ }),
184
+ suggested_action: affectedCards.size > 0 ? 'pmem mark-dirty --auto' : null,
185
+ }, null, 2));
186
+ }
187
+ else {
188
+ // compact output
189
+ console.log(`Changed files (${changes.length}) [${source}]:`);
190
+ for (const c of changes) {
191
+ const related = c.relatedCards.length > 0
192
+ ? c.relatedCards.map(rc => `${rc.card_id} (${rc.match_type})`).join(', ')
193
+ : '(no related cards)';
194
+ console.log(` ${c.status} ${c.path} → related: ${related}`);
195
+ }
196
+ if (affectedCards.size > 0) {
197
+ console.log(`\nAffected cards (${affectedCards.size}):`);
198
+ for (const ac of affectedCardsList) {
199
+ console.log(` ${ac.card_id} (${formatAffectedCardDetail(ac)})`);
200
+ }
201
+ console.log(`\nRun: pmem mark-dirty --auto`);
202
+ }
203
+ }
204
+ // Exit code
205
+ if (changes.length === 0) {
206
+ process.exit(1);
207
+ }
208
+ }
209
+ // === Change detection ===
210
+ function detectChangesFrom() {
211
+ try {
212
+ (0, child_process_1.execSync)('git rev-parse --git-dir', { stdio: 'ignore' });
213
+ return 'git';
214
+ }
215
+ catch {
216
+ return 'mtime';
217
+ }
218
+ }
219
+ function getChangedFiles(cwd, since) {
220
+ const changes = [];
221
+ const skipDirs = ['node_modules', '.git', '.pmem', 'dist', 'build', '.claude'];
222
+ try {
223
+ const source = detectChangesFrom();
224
+ if (source === 'git') {
225
+ const output = (0, child_process_1.execSync)('git status --porcelain', { cwd, encoding: 'utf-8', timeout: 5000 });
226
+ for (const change of (0, git_1.parseGitStatusPorcelain)(output)) {
227
+ // Skip ignored directories
228
+ if (skipDirs.some(d => change.path.startsWith(d + '/') || change.path === d))
229
+ continue;
230
+ changes.push({ path: change.path, status: change.status || 'M', relatedCards: [] });
231
+ }
232
+ return changes;
233
+ }
234
+ }
235
+ catch { /* fall through to mtime */ }
236
+ // Mtime-based fallback
237
+ const lastStatusFile = path.join(cwd, '.pmem', '.last-status');
238
+ const lastCheck = since ? new Date(since).getTime() : ((0, fs_1.getFileMtime)(lastStatusFile) || 0);
239
+ // Simple mtime scan of common source dirs
240
+ for (const dir of ['src', 'lib', 'app', 'tests']) {
241
+ const dirPath = path.join(cwd, dir);
242
+ if (!(0, fs_1.fileExists)(dirPath))
243
+ continue;
244
+ scanDirMtime(dirPath, cwd, lastCheck, skipDirs, changes);
245
+ }
246
+ // Update .last-status
247
+ (0, fs_1.writeFile)(lastStatusFile, new Date().toISOString());
248
+ return changes;
249
+ }
250
+ function scanDirMtime(dirPath, cwd, since, skipDirs, changes) {
251
+ const fs = require('fs');
252
+ try {
253
+ const entries = fs.readdirSync(dirPath, { withFileTypes: true });
254
+ for (const entry of entries) {
255
+ const fullPath = path.join(dirPath, entry.name);
256
+ if (entry.isDirectory()) {
257
+ if (skipDirs.includes(entry.name))
258
+ continue;
259
+ scanDirMtime(fullPath, cwd, since, skipDirs, changes);
260
+ }
261
+ else if (entry.isFile()) {
262
+ try {
263
+ const stat = fs.statSync(fullPath);
264
+ if (stat.mtimeMs > since) {
265
+ const relPath = path.relative(cwd, fullPath);
266
+ changes.push({ path: relPath, status: 'M', relatedCards: [] });
267
+ }
268
+ }
269
+ catch { /* skip */ }
270
+ }
271
+ }
272
+ }
273
+ catch { /* skip */ }
274
+ }
275
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export declare function updateCommand(options: {
2
+ auto?: boolean;
3
+ confirm?: boolean;
4
+ force?: boolean;
5
+ summary?: string;
6
+ next?: string;
7
+ suggest?: boolean;
8
+ applySuggestion?: string;
9
+ format?: string;
10
+ }): void;
11
+ export declare function markDirtyCommand(reason: string, options?: {
12
+ auto?: boolean;
13
+ }): void;
14
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAUA,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAyCP;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,IAAI,CAiFvF"}