@redplanethq/corebrain 2.8.11 → 2.8.12
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/utils/coding-agents/claude-code.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/utils/coding-agents/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAC,MAAM,SAAS,CAAC;AA4DnM,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAUpF;AAED,qBAAa,gBAAiB,SAAQ,qBAAqB;IAC1D,QAAQ,CAAC,SAAS,iBAAiB;IAEnC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAIhD,iBAAiB,CACtB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC5B,OAAO,CAAC,eAAe,CAAC;IAyBrB,gBAAgB,CACrB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC5B,OAAO,CAAC,gBAAgB,CAAC;IAYtB,YAAY,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;CAuExE;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { existsSync, statSync, readdirSync } from 'node:fs';
|
|
1
|
+
import { existsSync, statSync, readdirSync, createReadStream } from 'node:fs';
|
|
2
2
|
import { join, basename } from 'node:path';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
|
+
import { createInterface } from 'node:readline';
|
|
4
5
|
import { BaseCodingAgentReader } from './types.js';
|
|
5
6
|
const CLAUDE_PROJECTS_DIR = join(homedir(), '.claude', 'projects');
|
|
6
7
|
/**
|
|
@@ -11,10 +12,43 @@ function dirToProjectFolder(dir) {
|
|
|
11
12
|
}
|
|
12
13
|
/**
|
|
13
14
|
* -Users-foo-bar → /Users/foo/bar
|
|
15
|
+
*
|
|
16
|
+
* WARNING: lossy — hyphens in original path components become `/`.
|
|
17
|
+
* `/Users/foo/feature-linear-widget` and `/Users/foo/feature/linear/widget`
|
|
18
|
+
* both encode to the same folder. Use only as fallback; prefer `readCwdFromJsonl`.
|
|
14
19
|
*/
|
|
15
20
|
function projectFolderToDir(folder) {
|
|
16
21
|
return folder.replace(/^-/, '/').replace(/-/g, '/');
|
|
17
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Scan the first entries of a Claude Code JSONL until we hit one with a `cwd` field.
|
|
25
|
+
* user/assistant/progress entries carry `cwd`; the initial `file-history-snapshot` does not.
|
|
26
|
+
*/
|
|
27
|
+
async function readCwdFromJsonl(filePath) {
|
|
28
|
+
return new Promise((resolve) => {
|
|
29
|
+
let found = null;
|
|
30
|
+
let lines = 0;
|
|
31
|
+
const rl = createInterface({ input: createReadStream(filePath), crlfDelay: Infinity });
|
|
32
|
+
rl.on('line', (line) => {
|
|
33
|
+
if (found || !line.trim())
|
|
34
|
+
return;
|
|
35
|
+
if (++lines > 50) {
|
|
36
|
+
rl.close();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const entry = JSON.parse(line);
|
|
41
|
+
if (typeof entry.cwd === 'string' && entry.cwd) {
|
|
42
|
+
found = entry.cwd;
|
|
43
|
+
rl.close();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch { /* skip malformed */ }
|
|
47
|
+
});
|
|
48
|
+
rl.on('close', () => resolve(found));
|
|
49
|
+
rl.on('error', () => resolve(null));
|
|
50
|
+
});
|
|
51
|
+
}
|
|
18
52
|
function getSessionPath(dir, sessionId) {
|
|
19
53
|
return join(CLAUDE_PROJECTS_DIR, dirToProjectFolder(dir), `${sessionId}.jsonl`);
|
|
20
54
|
}
|
|
@@ -89,11 +123,15 @@ export class ClaudeCodeReader extends BaseCodingAgentReader {
|
|
|
89
123
|
catch {
|
|
90
124
|
return [];
|
|
91
125
|
}
|
|
126
|
+
// Prefilter by encoded folder name when options.dir is set. Folder-match is a
|
|
127
|
+
// necessary-but-not-sufficient condition (hyphens collide), so we still verify
|
|
128
|
+
// against the real cwd below — this just prunes obviously-unrelated folders.
|
|
129
|
+
const expectedFolder = options.dir ? dirToProjectFolder(options.dir) : null;
|
|
92
130
|
const results = [];
|
|
93
131
|
for (const folder of projectFolders) {
|
|
94
|
-
|
|
95
|
-
if (options.dir && dir !== options.dir)
|
|
132
|
+
if (expectedFolder && folder !== expectedFolder)
|
|
96
133
|
continue;
|
|
134
|
+
const fallbackDir = projectFolderToDir(folder);
|
|
97
135
|
const projectPath = join(CLAUDE_PROJECTS_DIR, folder);
|
|
98
136
|
let files;
|
|
99
137
|
try {
|
|
@@ -116,7 +154,7 @@ export class ClaudeCodeReader extends BaseCodingAgentReader {
|
|
|
116
154
|
results.push({
|
|
117
155
|
sessionId: basename(file, '.jsonl'),
|
|
118
156
|
agent: this.agentName,
|
|
119
|
-
dir,
|
|
157
|
+
dir: fallbackDir, // overwritten below from JSONL cwd when available
|
|
120
158
|
title: null,
|
|
121
159
|
filePath,
|
|
122
160
|
fileSizeBytes: stats.size,
|
|
@@ -127,11 +165,20 @@ export class ClaudeCodeReader extends BaseCodingAgentReader {
|
|
|
127
165
|
}
|
|
128
166
|
}
|
|
129
167
|
results.sort((a, b) => b.updatedAt - a.updatedAt);
|
|
130
|
-
// Populate
|
|
168
|
+
// Populate real cwd + title in parallel. The decoded folder name is lossy
|
|
169
|
+
// (any `-` in the original path collides with `/`), so the real cwd must come
|
|
170
|
+
// from the JSONL entries themselves.
|
|
131
171
|
await Promise.all(results.map(async (s) => {
|
|
132
|
-
|
|
172
|
+
const [cwd, title] = await Promise.all([
|
|
173
|
+
readCwdFromJsonl(s.filePath),
|
|
174
|
+
this.extractTitle(s.filePath),
|
|
175
|
+
]);
|
|
176
|
+
if (cwd)
|
|
177
|
+
s.dir = cwd;
|
|
178
|
+
s.title = title;
|
|
133
179
|
}));
|
|
134
|
-
|
|
180
|
+
// Final filter against the real cwd (after the cheap folder-level prefilter above).
|
|
181
|
+
return options.dir ? results.filter((s) => s.dir === options.dir) : results;
|
|
135
182
|
}
|
|
136
183
|
}
|
|
137
184
|
export const claudeCodeReader = new ClaudeCodeReader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/utils/coding-agents/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/utils/coding-agents/claude-code.ts"],"names":[],"mappings":"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"}
|