@mesadev/agentblame 0.2.5 → 0.2.7
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/blame.js +2 -2
- package/dist/blame.js.map +1 -1
- package/dist/capture.js +381 -46
- package/dist/capture.js.map +1 -1
- package/dist/index.js +15 -8
- package/dist/index.js.map +1 -1
- package/dist/lib/database.d.ts +11 -10
- package/dist/lib/database.js +38 -71
- package/dist/lib/database.js.map +1 -1
- package/dist/lib/hooks.d.ts +23 -1
- package/dist/lib/hooks.js +188 -21
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/types.d.ts +7 -2
- package/dist/process.js +2 -2
- package/dist/process.js.map +1 -1
- package/package.json +1 -1
package/dist/blame.js
CHANGED
|
@@ -50,7 +50,7 @@ const c = {
|
|
|
50
50
|
cyan: "\x1b[36m",
|
|
51
51
|
yellow: "\x1b[33m",
|
|
52
52
|
green: "\x1b[32m",
|
|
53
|
-
orange: "\x1b[38;
|
|
53
|
+
orange: "\x1b[38;2;184;101;64m", // Soft Mesa Orange #b86540
|
|
54
54
|
blue: "\x1b[34m",
|
|
55
55
|
gray: "\x1b[90m",
|
|
56
56
|
};
|
|
@@ -147,7 +147,7 @@ function outputFormatted(lines, filePath) {
|
|
|
147
147
|
let attrInfo = "";
|
|
148
148
|
let visibleLen = 0;
|
|
149
149
|
if (attribution) {
|
|
150
|
-
const provider = attribution.provider === "cursor" ? "Cursor" : "Claude";
|
|
150
|
+
const provider = attribution.provider === "cursor" ? "Cursor" : attribution.provider === "opencode" ? "OpenCode" : "Claude";
|
|
151
151
|
const model = attribution.model && attribution.model !== "claude" ? attribution.model : "";
|
|
152
152
|
const label = model ? `${provider} - ${model}` : provider;
|
|
153
153
|
visibleLen = label.length + 3; // +2 for emoji (renders 2-wide) + 1 space
|
package/dist/blame.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blame.js","sourceRoot":"","sources":["../src/blame.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CH,sBAmFC;AA5HD,gDAAkC;AAClC,4CAA8B;AAC9B,+BAQe;AAEf,kBAAkB;AAClB,MAAM,CAAC,GAAG;IACR,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"blame.js","sourceRoot":"","sources":["../src/blame.ts"],"names":[],"mappings":"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"}
|
package/dist/capture.js
CHANGED
|
@@ -115,6 +115,152 @@ function hashLines(content) {
|
|
|
115
115
|
}
|
|
116
116
|
return result;
|
|
117
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Hash lines with line numbers and context (for Claude structuredPatch)
|
|
120
|
+
*/
|
|
121
|
+
function hashLinesWithNumbers(lines, allFileLines) {
|
|
122
|
+
const result = [];
|
|
123
|
+
for (const { content, lineNumber } of lines) {
|
|
124
|
+
// Skip empty lines
|
|
125
|
+
if (!content.trim())
|
|
126
|
+
continue;
|
|
127
|
+
// Get context (3 lines before and after)
|
|
128
|
+
const contextBefore = allFileLines
|
|
129
|
+
.slice(Math.max(0, lineNumber - 4), lineNumber - 1)
|
|
130
|
+
.join("\n");
|
|
131
|
+
const contextAfter = allFileLines
|
|
132
|
+
.slice(lineNumber, Math.min(allFileLines.length, lineNumber + 3))
|
|
133
|
+
.join("\n");
|
|
134
|
+
result.push({
|
|
135
|
+
content,
|
|
136
|
+
hash: computeHash(content),
|
|
137
|
+
hashNormalized: computeNormalizedHash(content),
|
|
138
|
+
lineNumber,
|
|
139
|
+
contextBefore: contextBefore || undefined,
|
|
140
|
+
contextAfter: contextAfter || undefined,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return result;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Parse Claude Code's structuredPatch to extract added lines with line numbers
|
|
147
|
+
*/
|
|
148
|
+
function parseStructuredPatch(hunks, originalFileLines) {
|
|
149
|
+
const addedLines = [];
|
|
150
|
+
for (const hunk of hunks) {
|
|
151
|
+
let newLineNumber = hunk.newStart;
|
|
152
|
+
for (const line of hunk.lines) {
|
|
153
|
+
if (line.startsWith("+")) {
|
|
154
|
+
// Added line - strip the + prefix
|
|
155
|
+
addedLines.push({
|
|
156
|
+
content: line.slice(1),
|
|
157
|
+
lineNumber: newLineNumber,
|
|
158
|
+
});
|
|
159
|
+
newLineNumber++;
|
|
160
|
+
}
|
|
161
|
+
else if (line.startsWith("-")) {
|
|
162
|
+
// Deleted line - don't increment new line number
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
// Context line (starts with space) - increment line number
|
|
167
|
+
newLineNumber++;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return addedLines;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Read a file and return its lines (for Cursor line number derivation)
|
|
175
|
+
*/
|
|
176
|
+
async function readFileLines(filePath) {
|
|
177
|
+
try {
|
|
178
|
+
const fs = await Promise.resolve().then(() => __importStar(require("node:fs/promises")));
|
|
179
|
+
const content = await fs.readFile(filePath, "utf8");
|
|
180
|
+
return content.split("\n");
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
return null;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Extract model name from Claude Code transcript file.
|
|
188
|
+
* The transcript is a JSONL file where assistant messages contain the model field.
|
|
189
|
+
* We read from the end to find the most recent model used.
|
|
190
|
+
*/
|
|
191
|
+
async function extractModelFromTranscript(transcriptPath) {
|
|
192
|
+
try {
|
|
193
|
+
const fs = await Promise.resolve().then(() => __importStar(require("node:fs/promises")));
|
|
194
|
+
const content = await fs.readFile(transcriptPath, "utf8");
|
|
195
|
+
const lines = content.split("\n");
|
|
196
|
+
// Read from the end to find the most recent assistant message with model info
|
|
197
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
198
|
+
const line = lines[i].trim();
|
|
199
|
+
if (!line)
|
|
200
|
+
continue;
|
|
201
|
+
try {
|
|
202
|
+
const entry = JSON.parse(line);
|
|
203
|
+
// Assistant messages have message.model field
|
|
204
|
+
if (entry.message?.model) {
|
|
205
|
+
return entry.message.model;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
// Skip malformed lines
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return null;
|
|
214
|
+
}
|
|
215
|
+
catch {
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Find where old_string exists in file and return line numbers for new_string
|
|
221
|
+
* Returns null if old_string not found (new file or complex edit)
|
|
222
|
+
*/
|
|
223
|
+
function findEditLocation(fileLines, oldString, newString) {
|
|
224
|
+
if (!oldString) {
|
|
225
|
+
// New content with no old string - can't determine line numbers without more context
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
const fileContent = fileLines.join("\n");
|
|
229
|
+
const oldIndex = fileContent.indexOf(oldString);
|
|
230
|
+
if (oldIndex === -1) {
|
|
231
|
+
return null;
|
|
232
|
+
}
|
|
233
|
+
// Count lines before the match to get line number
|
|
234
|
+
const linesBefore = fileContent.slice(0, oldIndex).split("\n").length;
|
|
235
|
+
const startLine = linesBefore;
|
|
236
|
+
// Calculate what the new file will look like after the edit
|
|
237
|
+
const newFileContent = fileContent.replace(oldString, newString);
|
|
238
|
+
const newFileLines = newFileContent.split("\n");
|
|
239
|
+
// Find the added lines by comparing old and new
|
|
240
|
+
const addedContent = extractAddedContent(oldString, newString);
|
|
241
|
+
if (!addedContent.trim()) {
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
const addedLines = addedContent.split("\n").filter(l => l.trim());
|
|
245
|
+
const result = [];
|
|
246
|
+
// Find each added line in the new content
|
|
247
|
+
let searchStart = startLine - 1;
|
|
248
|
+
for (const addedLine of addedLines) {
|
|
249
|
+
if (!addedLine.trim())
|
|
250
|
+
continue;
|
|
251
|
+
for (let i = searchStart; i < newFileLines.length; i++) {
|
|
252
|
+
if (newFileLines[i] === addedLine || newFileLines[i].trim() === addedLine.trim()) {
|
|
253
|
+
result.push({
|
|
254
|
+
content: addedLine,
|
|
255
|
+
lineNumber: i + 1, // 1-indexed
|
|
256
|
+
});
|
|
257
|
+
searchStart = i + 1;
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return result.length > 0 ? result : null;
|
|
263
|
+
}
|
|
118
264
|
// =============================================================================
|
|
119
265
|
// Payload Processing
|
|
120
266
|
// =============================================================================
|
|
@@ -149,9 +295,11 @@ function saveEdit(edit) {
|
|
|
149
295
|
editType: edit.editType,
|
|
150
296
|
oldContent: edit.oldContent,
|
|
151
297
|
lines: edit.lines,
|
|
298
|
+
sessionId: edit.sessionId,
|
|
299
|
+
toolUseId: edit.toolUseId,
|
|
152
300
|
});
|
|
153
301
|
}
|
|
154
|
-
function processCursorPayload(payload, event) {
|
|
302
|
+
async function processCursorPayload(payload, event) {
|
|
155
303
|
const edits = [];
|
|
156
304
|
const timestamp = new Date().toISOString();
|
|
157
305
|
// Only process afterFileEdit (Composer/Agent mode)
|
|
@@ -162,6 +310,8 @@ function processCursorPayload(payload, event) {
|
|
|
162
310
|
if (!payload.edits || payload.edits.length === 0) {
|
|
163
311
|
return edits;
|
|
164
312
|
}
|
|
313
|
+
// Read the file to derive line numbers (Cursor doesn't provide them)
|
|
314
|
+
const fileLines = await readFileLines(payload.file_path);
|
|
165
315
|
for (const edit of payload.edits) {
|
|
166
316
|
const oldString = edit.old_string || "";
|
|
167
317
|
const newString = edit.new_string || "";
|
|
@@ -171,8 +321,22 @@ function processCursorPayload(payload, event) {
|
|
|
171
321
|
const addedContent = extractAddedContent(oldString, newString);
|
|
172
322
|
if (!addedContent.trim())
|
|
173
323
|
continue;
|
|
174
|
-
|
|
175
|
-
|
|
324
|
+
let lines;
|
|
325
|
+
// Try to derive line numbers if we have the file
|
|
326
|
+
if (fileLines && oldString) {
|
|
327
|
+
const linesWithNumbers = findEditLocation(fileLines, oldString, newString);
|
|
328
|
+
if (linesWithNumbers && linesWithNumbers.length > 0) {
|
|
329
|
+
lines = hashLinesWithNumbers(linesWithNumbers, fileLines);
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
// Fallback to basic hashing without line numbers
|
|
333
|
+
lines = hashLines(addedContent);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
// No file or no old_string - hash without line numbers
|
|
338
|
+
lines = hashLines(addedContent);
|
|
339
|
+
}
|
|
176
340
|
if (lines.length === 0)
|
|
177
341
|
continue;
|
|
178
342
|
edits.push({
|
|
@@ -180,78 +344,246 @@ function processCursorPayload(payload, event) {
|
|
|
180
344
|
provider: "cursor",
|
|
181
345
|
filePath: payload.file_path,
|
|
182
346
|
model: payload.model || null,
|
|
183
|
-
// Line-level data
|
|
184
347
|
lines,
|
|
185
|
-
// Aggregate data
|
|
186
348
|
content: addedContent,
|
|
187
349
|
contentHash: computeHash(addedContent),
|
|
188
350
|
contentHashNormalized: computeNormalizedHash(addedContent),
|
|
189
|
-
// Edit context
|
|
190
351
|
editType: determineEditType(oldString, newString),
|
|
191
352
|
oldContent: oldString || undefined,
|
|
353
|
+
sessionId: payload.conversation_id,
|
|
354
|
+
toolUseId: payload.generation_id,
|
|
192
355
|
});
|
|
193
356
|
}
|
|
194
357
|
return edits;
|
|
195
358
|
}
|
|
196
|
-
function processClaudePayload(payload) {
|
|
359
|
+
async function processClaudePayload(payload) {
|
|
197
360
|
const edits = [];
|
|
361
|
+
// CRITICAL: Skip payloads that are actually from Cursor.
|
|
362
|
+
// Both Cursor and Claude Code can trigger hooks from .claude/settings.json,
|
|
363
|
+
// so we need to detect Cursor payloads and skip them here.
|
|
364
|
+
// Cursor payloads have cursor_version field, Claude payloads don't.
|
|
365
|
+
if (payload.cursor_version) {
|
|
366
|
+
return edits;
|
|
367
|
+
}
|
|
368
|
+
// CRITICAL: Only process if this is an actual Edit or Write tool usage from Claude.
|
|
369
|
+
// Claude Code's hooks fire for various reasons, but we only want to capture
|
|
370
|
+
// when Claude actually performed an edit/write operation.
|
|
371
|
+
// Without a valid tool_name, this is likely a spurious trigger (e.g., from file
|
|
372
|
+
// watcher detecting external changes).
|
|
373
|
+
const toolName = payload.tool_name?.toLowerCase() || "";
|
|
374
|
+
if (toolName !== "edit" && toolName !== "write" && toolName !== "multiedit") {
|
|
375
|
+
return edits;
|
|
376
|
+
}
|
|
198
377
|
const timestamp = new Date().toISOString();
|
|
199
|
-
// Claude Code has tool_input with the actual content
|
|
378
|
+
// Claude Code has tool_input with the actual content
|
|
200
379
|
const toolInput = payload.tool_input;
|
|
201
|
-
const
|
|
380
|
+
const toolResponse = payload.tool_response;
|
|
381
|
+
const filePath = toolResponse?.filePath || toolInput?.file_path || payload.file_path;
|
|
202
382
|
if (!filePath)
|
|
203
383
|
return edits;
|
|
204
|
-
//
|
|
205
|
-
const
|
|
206
|
-
const
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
if (
|
|
210
|
-
|
|
384
|
+
// Extract session info for correlation
|
|
385
|
+
const sessionId = payload.session_id;
|
|
386
|
+
const toolUseId = payload.tool_use_id;
|
|
387
|
+
// Extract model from transcript file (Claude Code provides transcript_path in hook payload)
|
|
388
|
+
let model = null;
|
|
389
|
+
if (payload.transcript_path) {
|
|
390
|
+
model = await extractModelFromTranscript(payload.transcript_path);
|
|
391
|
+
}
|
|
392
|
+
// Fallback to generic "claude" if transcript parsing fails
|
|
393
|
+
if (!model) {
|
|
394
|
+
model = "claude";
|
|
395
|
+
}
|
|
396
|
+
// For Edit/MultiEdit tools, REQUIRE structuredPatch.
|
|
397
|
+
// Without structuredPatch, we cannot accurately determine what Claude added.
|
|
398
|
+
// Spurious triggers (e.g., file watcher detecting external changes) won't have
|
|
399
|
+
// structuredPatch and would incorrectly capture the entire file.
|
|
400
|
+
if (toolName === "edit" || toolName === "multiedit") {
|
|
401
|
+
if (!toolResponse?.structuredPatch || toolResponse.structuredPatch.length === 0) {
|
|
402
|
+
// No structuredPatch - skip this capture to avoid incorrect attribution
|
|
211
403
|
return edits;
|
|
404
|
+
}
|
|
405
|
+
// Get original file lines for context
|
|
406
|
+
const originalFileLines = (toolResponse.originalFile || "").split("\n");
|
|
407
|
+
// Parse the structured patch to get added lines with line numbers
|
|
408
|
+
const addedLinesWithNumbers = parseStructuredPatch(toolResponse.structuredPatch, originalFileLines);
|
|
409
|
+
if (addedLinesWithNumbers.length === 0)
|
|
410
|
+
return edits;
|
|
411
|
+
// Hash lines with their line numbers and context
|
|
412
|
+
const lines = hashLinesWithNumbers(addedLinesWithNumbers, originalFileLines);
|
|
413
|
+
if (lines.length === 0)
|
|
414
|
+
return edits;
|
|
415
|
+
// Aggregate content
|
|
416
|
+
const addedContent = addedLinesWithNumbers.map(l => l.content).join("\n");
|
|
417
|
+
edits.push({
|
|
418
|
+
timestamp,
|
|
419
|
+
provider: "claudeCode",
|
|
420
|
+
filePath,
|
|
421
|
+
model,
|
|
422
|
+
lines,
|
|
423
|
+
content: addedContent,
|
|
424
|
+
contentHash: computeHash(addedContent),
|
|
425
|
+
contentHashNormalized: computeNormalizedHash(addedContent),
|
|
426
|
+
editType: "modification",
|
|
427
|
+
sessionId,
|
|
428
|
+
toolUseId,
|
|
429
|
+
});
|
|
430
|
+
return edits;
|
|
431
|
+
}
|
|
432
|
+
// Handle Write tool (new file creation)
|
|
433
|
+
// For Write, we need content
|
|
434
|
+
if (toolName === "write") {
|
|
435
|
+
const content = toolInput?.content || payload.content;
|
|
436
|
+
if (!content || !content.trim()) {
|
|
437
|
+
return edits;
|
|
438
|
+
}
|
|
212
439
|
const lines = hashLines(content);
|
|
213
440
|
if (lines.length === 0)
|
|
214
441
|
return edits;
|
|
215
442
|
edits.push({
|
|
216
443
|
timestamp,
|
|
217
444
|
provider: "claudeCode",
|
|
218
|
-
filePath
|
|
219
|
-
model
|
|
220
|
-
// Line-level data
|
|
445
|
+
filePath,
|
|
446
|
+
model,
|
|
221
447
|
lines,
|
|
222
|
-
|
|
223
|
-
content: content,
|
|
448
|
+
content,
|
|
224
449
|
contentHash: computeHash(content),
|
|
225
450
|
contentHashNormalized: computeNormalizedHash(content),
|
|
226
|
-
// Edit context
|
|
227
451
|
editType: "addition",
|
|
452
|
+
sessionId,
|
|
453
|
+
toolUseId,
|
|
228
454
|
});
|
|
229
455
|
return edits;
|
|
230
456
|
}
|
|
231
|
-
//
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
457
|
+
// Unknown tool type that passed the initial check - skip
|
|
458
|
+
return edits;
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* Process OpenCode payload.
|
|
462
|
+
* OpenCode provides before/after file content which allows precise line number extraction.
|
|
463
|
+
*/
|
|
464
|
+
function processOpenCodePayload(payload) {
|
|
465
|
+
const edits = [];
|
|
466
|
+
const timestamp = new Date().toISOString();
|
|
467
|
+
const filePath = payload.filePath;
|
|
468
|
+
if (!filePath)
|
|
236
469
|
return edits;
|
|
237
|
-
const
|
|
238
|
-
|
|
470
|
+
const sessionId = payload.sessionID;
|
|
471
|
+
const toolUseId = payload.callID;
|
|
472
|
+
const model = payload.model || null;
|
|
473
|
+
// Handle write tool (new file creation)
|
|
474
|
+
if (payload.tool === "write" && payload.content) {
|
|
475
|
+
const content = payload.content;
|
|
476
|
+
if (!content.trim())
|
|
477
|
+
return edits;
|
|
478
|
+
// For new files, all lines are added
|
|
479
|
+
const fileLines = content.split("\n");
|
|
480
|
+
const linesWithNumbers = fileLines
|
|
481
|
+
.map((line, i) => ({ content: line, lineNumber: i + 1 }))
|
|
482
|
+
.filter(l => l.content.trim());
|
|
483
|
+
const lines = hashLinesWithNumbers(linesWithNumbers, fileLines);
|
|
484
|
+
if (lines.length === 0)
|
|
485
|
+
return edits;
|
|
486
|
+
edits.push({
|
|
487
|
+
timestamp,
|
|
488
|
+
provider: "opencode",
|
|
489
|
+
filePath,
|
|
490
|
+
model,
|
|
491
|
+
lines,
|
|
492
|
+
content,
|
|
493
|
+
contentHash: computeHash(content),
|
|
494
|
+
contentHashNormalized: computeNormalizedHash(content),
|
|
495
|
+
editType: "addition",
|
|
496
|
+
sessionId,
|
|
497
|
+
toolUseId,
|
|
498
|
+
});
|
|
239
499
|
return edits;
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
500
|
+
}
|
|
501
|
+
// Handle edit tool
|
|
502
|
+
if (payload.tool === "edit") {
|
|
503
|
+
// OpenCode provides full before/after content - use it for precise line detection
|
|
504
|
+
if (payload.before !== undefined && payload.after !== undefined) {
|
|
505
|
+
const beforeLines = payload.before.split("\n");
|
|
506
|
+
const afterLines = payload.after.split("\n");
|
|
507
|
+
// Use diffLines to find added lines with their positions
|
|
508
|
+
const parts = (0, diff_1.diffLines)(payload.before, payload.after);
|
|
509
|
+
const addedLinesWithNumbers = [];
|
|
510
|
+
let afterLineIndex = 0;
|
|
511
|
+
for (const part of parts) {
|
|
512
|
+
const partLines = part.value.split("\n");
|
|
513
|
+
// Remove empty string from split if value ends with \n
|
|
514
|
+
if (partLines[partLines.length - 1] === "") {
|
|
515
|
+
partLines.pop();
|
|
516
|
+
}
|
|
517
|
+
if (part.added) {
|
|
518
|
+
// These lines were added
|
|
519
|
+
for (const line of partLines) {
|
|
520
|
+
addedLinesWithNumbers.push({
|
|
521
|
+
content: line,
|
|
522
|
+
lineNumber: afterLineIndex + 1, // 1-indexed
|
|
523
|
+
});
|
|
524
|
+
afterLineIndex++;
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
else if (part.removed) {
|
|
528
|
+
// Removed lines don't affect after line index
|
|
529
|
+
}
|
|
530
|
+
else {
|
|
531
|
+
// Context lines - advance the after line index
|
|
532
|
+
afterLineIndex += partLines.length;
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
if (addedLinesWithNumbers.length === 0)
|
|
536
|
+
return edits;
|
|
537
|
+
// Filter empty lines and hash with context
|
|
538
|
+
const nonEmptyLines = addedLinesWithNumbers.filter(l => l.content.trim());
|
|
539
|
+
if (nonEmptyLines.length === 0)
|
|
540
|
+
return edits;
|
|
541
|
+
const lines = hashLinesWithNumbers(nonEmptyLines, afterLines);
|
|
542
|
+
if (lines.length === 0)
|
|
543
|
+
return edits;
|
|
544
|
+
const addedContent = nonEmptyLines.map(l => l.content).join("\n");
|
|
545
|
+
edits.push({
|
|
546
|
+
timestamp,
|
|
547
|
+
provider: "opencode",
|
|
548
|
+
filePath,
|
|
549
|
+
model,
|
|
550
|
+
lines,
|
|
551
|
+
content: addedContent,
|
|
552
|
+
contentHash: computeHash(addedContent),
|
|
553
|
+
contentHashNormalized: computeNormalizedHash(addedContent),
|
|
554
|
+
editType: "modification",
|
|
555
|
+
oldContent: payload.oldString,
|
|
556
|
+
sessionId,
|
|
557
|
+
toolUseId,
|
|
558
|
+
});
|
|
559
|
+
return edits;
|
|
560
|
+
}
|
|
561
|
+
// Fallback: use oldString/newString if before/after not available
|
|
562
|
+
const oldString = payload.oldString || "";
|
|
563
|
+
const newString = payload.newString || "";
|
|
564
|
+
if (!newString)
|
|
565
|
+
return edits;
|
|
566
|
+
const addedContent = extractAddedContent(oldString, newString);
|
|
567
|
+
if (!addedContent.trim())
|
|
568
|
+
return edits;
|
|
569
|
+
const lines = hashLines(addedContent);
|
|
570
|
+
if (lines.length === 0)
|
|
571
|
+
return edits;
|
|
572
|
+
edits.push({
|
|
573
|
+
timestamp,
|
|
574
|
+
provider: "opencode",
|
|
575
|
+
filePath,
|
|
576
|
+
model,
|
|
577
|
+
lines,
|
|
578
|
+
content: addedContent,
|
|
579
|
+
contentHash: computeHash(addedContent),
|
|
580
|
+
contentHashNormalized: computeNormalizedHash(addedContent),
|
|
581
|
+
editType: determineEditType(oldString, newString),
|
|
582
|
+
oldContent: oldString || undefined,
|
|
583
|
+
sessionId,
|
|
584
|
+
toolUseId,
|
|
585
|
+
});
|
|
586
|
+
}
|
|
255
587
|
return edits;
|
|
256
588
|
}
|
|
257
589
|
// =============================================================================
|
|
@@ -277,10 +609,13 @@ async function runCapture() {
|
|
|
277
609
|
let edits = [];
|
|
278
610
|
if (provider === "cursor") {
|
|
279
611
|
const eventName = event || data.hook_event_name || "afterFileEdit";
|
|
280
|
-
edits = processCursorPayload(payload, eventName);
|
|
612
|
+
edits = await processCursorPayload(payload, eventName);
|
|
281
613
|
}
|
|
282
614
|
else if (provider === "claude") {
|
|
283
|
-
edits = processClaudePayload(payload);
|
|
615
|
+
edits = await processClaudePayload(payload);
|
|
616
|
+
}
|
|
617
|
+
else if (provider === "opencode") {
|
|
618
|
+
edits = processOpenCodePayload(payload);
|
|
284
619
|
}
|
|
285
620
|
// Save all edits to SQLite database
|
|
286
621
|
for (const edit of edits) {
|
package/dist/capture.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"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"}
|