ai-hist 0.4.1 → 0.8.2
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/README.md +34 -156
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +248 -0
- package/dist/cli.js.map +1 -0
- package/dist/cloud-client.d.ts +0 -1
- package/dist/cloud-client.d.ts.map +1 -1
- package/dist/cloud-client.js +0 -2
- package/dist/cloud-client.js.map +1 -1
- package/dist/index.d.ts +153 -211
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +263 -902
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.d.ts +0 -9
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +52 -675
- package/dist/mcp-server.js.map +1 -1
- package/package.json +14 -8
- package/dist/cloud-push.d.ts +0 -47
- package/dist/cloud-push.d.ts.map +0 -1
- package/dist/cloud-push.js +0 -111
- package/dist/cloud-push.js.map +0 -1
- package/dist/cloud-push.test.d.ts +0 -2
- package/dist/cloud-push.test.d.ts.map +0 -1
- package/dist/cloud-push.test.js +0 -68
- package/dist/cloud-push.test.js.map +0 -1
- package/dist/jsonl-sources.d.ts +0 -35
- package/dist/jsonl-sources.d.ts.map +0 -1
- package/dist/jsonl-sources.js +0 -354
- package/dist/jsonl-sources.js.map +0 -1
- package/dist/mcp-smoke.test.d.ts +0 -2
- package/dist/mcp-smoke.test.d.ts.map +0 -1
- package/dist/mcp-smoke.test.js +0 -424
- package/dist/mcp-smoke.test.js.map +0 -1
- package/dist/pair-client.d.ts +0 -41
- package/dist/pair-client.d.ts.map +0 -1
- package/dist/pair-client.js +0 -60
- package/dist/pair-client.js.map +0 -1
- package/dist/pair-client.test.d.ts +0 -2
- package/dist/pair-client.test.d.ts.map +0 -1
- package/dist/pair-client.test.js +0 -118
- package/dist/pair-client.test.js.map +0 -1
- package/dist/trajectory-sources.d.ts +0 -36
- package/dist/trajectory-sources.d.ts.map +0 -1
- package/dist/trajectory-sources.js +0 -201
- package/dist/trajectory-sources.js.map +0 -1
package/dist/jsonl-sources.js
DELETED
|
@@ -1,354 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Direct JSONL parsers for Claude / Codex / Cursor history files.
|
|
3
|
-
*
|
|
4
|
-
* Used as a fallback when the SQLite database the Python `ai-hist sync`
|
|
5
|
-
* tool maintains isn't present — lets `npm install ai-hist` work
|
|
6
|
-
* standalone for users who have any of these CLIs locally.
|
|
7
|
-
*
|
|
8
|
-
* Ports the parser logic from the canonical Python `ai-hist` script
|
|
9
|
-
* (see https://github.com/AgentWorkforce/ai-hist/blob/main/ai-hist).
|
|
10
|
-
* Format drift in those upstream CLIs is the main risk; the Python
|
|
11
|
-
* source is the canonical reference.
|
|
12
|
-
*/
|
|
13
|
-
import { readFile, readdir, stat } from 'node:fs/promises';
|
|
14
|
-
import { homedir } from 'node:os';
|
|
15
|
-
import { basename, dirname, join } from 'node:path';
|
|
16
|
-
function yieldToEventLoop() {
|
|
17
|
-
return new Promise((resolve) => setImmediate(resolve));
|
|
18
|
-
}
|
|
19
|
-
const CLAUDE_HISTORY = join(homedir(), '.claude', 'history.jsonl');
|
|
20
|
-
const CODEX_HISTORY = join(homedir(), '.codex', 'history.jsonl');
|
|
21
|
-
const CURSOR_ROOT = join(homedir(), '.cursor', 'projects');
|
|
22
|
-
const GROK_SESSIONS_ROOT = join(homedir(), '.grok', 'sessions');
|
|
23
|
-
async function safeStat(path) {
|
|
24
|
-
try {
|
|
25
|
-
const s = await stat(path);
|
|
26
|
-
return { isDirectory: s.isDirectory(), isFile: s.isFile(), size: s.size, mtimeMs: s.mtimeMs };
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
async function readLines(path) {
|
|
33
|
-
try {
|
|
34
|
-
const content = await readFile(path, 'utf8');
|
|
35
|
-
return content.split('\n');
|
|
36
|
-
}
|
|
37
|
-
catch {
|
|
38
|
-
return [];
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function readJsonRecord(line) {
|
|
42
|
-
try {
|
|
43
|
-
const parsed = JSON.parse(line);
|
|
44
|
-
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
|
|
45
|
-
return parsed;
|
|
46
|
-
}
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function asString(value) {
|
|
54
|
-
return typeof value === 'string' && value.length > 0 ? value : null;
|
|
55
|
-
}
|
|
56
|
-
function asNumber(value) {
|
|
57
|
-
return typeof value === 'number' && Number.isFinite(value) ? value : null;
|
|
58
|
-
}
|
|
59
|
-
function parseClaudeLine(line) {
|
|
60
|
-
if (!line.trim())
|
|
61
|
-
return null;
|
|
62
|
-
const obj = readJsonRecord(line);
|
|
63
|
-
if (!obj)
|
|
64
|
-
return null;
|
|
65
|
-
const display = typeof obj.display === 'string' ? obj.display.trim() : '';
|
|
66
|
-
if (!display)
|
|
67
|
-
return null;
|
|
68
|
-
return {
|
|
69
|
-
source: 'claude',
|
|
70
|
-
sessionId: asString(obj.sessionId),
|
|
71
|
-
project: asString(obj.project),
|
|
72
|
-
prompt: display,
|
|
73
|
-
timestampMs: asNumber(obj.timestamp) ?? 0,
|
|
74
|
-
gitBranch: asString(obj.gitBranch),
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
function parseCodexLine(line) {
|
|
78
|
-
if (!line.trim())
|
|
79
|
-
return null;
|
|
80
|
-
const obj = readJsonRecord(line);
|
|
81
|
-
if (!obj)
|
|
82
|
-
return null;
|
|
83
|
-
const text = typeof obj.text === 'string' ? obj.text.trim() : '';
|
|
84
|
-
if (!text)
|
|
85
|
-
return null;
|
|
86
|
-
const ts = asNumber(obj.ts) ?? 0;
|
|
87
|
-
return {
|
|
88
|
-
source: 'codex',
|
|
89
|
-
// Python uses obj.session_id (snake_case).
|
|
90
|
-
sessionId: asString(obj.session_id ?? obj.sessionId),
|
|
91
|
-
project: null,
|
|
92
|
-
prompt: text,
|
|
93
|
-
// Python stores Codex's seconds-since-epoch as ms.
|
|
94
|
-
timestampMs: Math.trunc(ts * 1000),
|
|
95
|
-
gitBranch: null,
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Cursor lines carry `{role, message: {content: [{type, text}, ...]}}` and
|
|
100
|
-
* NO per-line timestamp. The Python tool falls back to the file mtime;
|
|
101
|
-
* we do the same. User prompts are wrapped in `<user_query>...</user_query>`.
|
|
102
|
-
*/
|
|
103
|
-
function parseCursorLine(line) {
|
|
104
|
-
if (!line.trim())
|
|
105
|
-
return null;
|
|
106
|
-
const obj = readJsonRecord(line);
|
|
107
|
-
if (!obj)
|
|
108
|
-
return null;
|
|
109
|
-
if (obj.role !== 'user')
|
|
110
|
-
return null;
|
|
111
|
-
const message = obj.message;
|
|
112
|
-
if (!message || typeof message !== 'object')
|
|
113
|
-
return null;
|
|
114
|
-
const content = message.content;
|
|
115
|
-
let text = '';
|
|
116
|
-
if (typeof content === 'string') {
|
|
117
|
-
text = content;
|
|
118
|
-
}
|
|
119
|
-
else if (Array.isArray(content)) {
|
|
120
|
-
for (const c of content) {
|
|
121
|
-
if (c && typeof c === 'object' && c.type === 'text') {
|
|
122
|
-
const t = c.text;
|
|
123
|
-
if (typeof t === 'string') {
|
|
124
|
-
text = t;
|
|
125
|
-
break;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
text = text.trim();
|
|
131
|
-
if (!text)
|
|
132
|
-
return null;
|
|
133
|
-
if (text.startsWith('<user_query>') && text.endsWith('</user_query>')) {
|
|
134
|
-
text = text.slice('<user_query>'.length, -'</user_query>'.length).trim();
|
|
135
|
-
}
|
|
136
|
-
return text || null;
|
|
137
|
-
}
|
|
138
|
-
// `~/.cursor/projects/<encoded-path>/...` — encoded path is the absolute
|
|
139
|
-
// project path with `/` replaced by `-`. Python's `_decode_cursor_project`
|
|
140
|
-
// just rejoins on `-` → `/`. We do the same; it's lossy for any real `-` in
|
|
141
|
-
// a path segment, but matches the Python tool's behavior for parity.
|
|
142
|
-
function decodeCursorProject(encoded) {
|
|
143
|
-
return `/${encoded.replace(/-/g, '/')}`;
|
|
144
|
-
}
|
|
145
|
-
async function readDirSafe(path) {
|
|
146
|
-
try {
|
|
147
|
-
return await readdir(path);
|
|
148
|
-
}
|
|
149
|
-
catch {
|
|
150
|
-
return [];
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
async function collectMatchingFiles(root, filename, out = []) {
|
|
154
|
-
const rootStat = await safeStat(root);
|
|
155
|
-
if (!rootStat)
|
|
156
|
-
return out;
|
|
157
|
-
for (const name of await readDirSafe(root)) {
|
|
158
|
-
const full = join(root, name);
|
|
159
|
-
const child = await safeStat(full);
|
|
160
|
-
if (!child)
|
|
161
|
-
continue;
|
|
162
|
-
if (name === filename && child.isFile) {
|
|
163
|
-
out.push(full);
|
|
164
|
-
}
|
|
165
|
-
else if (child.isDirectory) {
|
|
166
|
-
await collectMatchingFiles(full, filename, out);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
return out;
|
|
170
|
-
}
|
|
171
|
-
async function scanClaude() {
|
|
172
|
-
const lines = await readLines(CLAUDE_HISTORY);
|
|
173
|
-
const rows = [];
|
|
174
|
-
for (const line of lines) {
|
|
175
|
-
const row = parseClaudeLine(line);
|
|
176
|
-
if (row)
|
|
177
|
-
rows.push(row);
|
|
178
|
-
}
|
|
179
|
-
return rows;
|
|
180
|
-
}
|
|
181
|
-
async function scanCodex() {
|
|
182
|
-
const lines = await readLines(CODEX_HISTORY);
|
|
183
|
-
const rows = [];
|
|
184
|
-
for (const line of lines) {
|
|
185
|
-
const row = parseCodexLine(line);
|
|
186
|
-
if (row)
|
|
187
|
-
rows.push(row);
|
|
188
|
-
}
|
|
189
|
-
return rows;
|
|
190
|
-
}
|
|
191
|
-
async function scanCursor() {
|
|
192
|
-
const root = await safeStat(CURSOR_ROOT);
|
|
193
|
-
if (!root)
|
|
194
|
-
return [];
|
|
195
|
-
const rows = [];
|
|
196
|
-
const projectDirs = await readDirSafe(CURSOR_ROOT);
|
|
197
|
-
for (const projectDirName of projectDirs) {
|
|
198
|
-
const projectDir = join(CURSOR_ROOT, projectDirName);
|
|
199
|
-
if (!(await safeStat(projectDir)))
|
|
200
|
-
continue;
|
|
201
|
-
const tsRoot = join(projectDir, 'agent-transcripts');
|
|
202
|
-
if (!(await safeStat(tsRoot)))
|
|
203
|
-
continue;
|
|
204
|
-
const projectPath = decodeCursorProject(projectDirName);
|
|
205
|
-
const sessionDirs = await readDirSafe(tsRoot);
|
|
206
|
-
for (const sessionDirName of sessionDirs) {
|
|
207
|
-
const sessionDir = join(tsRoot, sessionDirName);
|
|
208
|
-
if (!(await safeStat(sessionDir)))
|
|
209
|
-
continue;
|
|
210
|
-
const sessionId = sessionDirName;
|
|
211
|
-
const jsonl = join(sessionDir, `${sessionId}.jsonl`);
|
|
212
|
-
const fileStat = await safeStat(jsonl);
|
|
213
|
-
if (!fileStat)
|
|
214
|
-
continue;
|
|
215
|
-
const tsMs = Math.trunc(fileStat.mtimeMs);
|
|
216
|
-
for (const line of await readLines(jsonl)) {
|
|
217
|
-
const text = parseCursorLine(line);
|
|
218
|
-
if (!text)
|
|
219
|
-
continue;
|
|
220
|
-
rows.push({
|
|
221
|
-
source: 'cursor',
|
|
222
|
-
sessionId,
|
|
223
|
-
project: projectPath,
|
|
224
|
-
prompt: text,
|
|
225
|
-
timestampMs: tsMs,
|
|
226
|
-
gitBranch: null,
|
|
227
|
-
});
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
// Yield between project dirs so very large cursor histories don't
|
|
231
|
-
// hold the event loop for seconds at a time.
|
|
232
|
-
await yieldToEventLoop();
|
|
233
|
-
}
|
|
234
|
-
return rows;
|
|
235
|
-
}
|
|
236
|
-
function parseIsoMs(value, fallbackMs) {
|
|
237
|
-
if (typeof value !== 'string' || value.length === 0)
|
|
238
|
-
return fallbackMs;
|
|
239
|
-
const parsed = Date.parse(value);
|
|
240
|
-
return Number.isFinite(parsed) ? parsed : fallbackMs;
|
|
241
|
-
}
|
|
242
|
-
function grokText(obj, role) {
|
|
243
|
-
if (obj.type !== role)
|
|
244
|
-
return null;
|
|
245
|
-
if (role === 'user' && obj.synthetic_reason)
|
|
246
|
-
return null;
|
|
247
|
-
const content = obj.content;
|
|
248
|
-
const parts = [];
|
|
249
|
-
if (typeof content === 'string') {
|
|
250
|
-
parts.push(content);
|
|
251
|
-
}
|
|
252
|
-
else if (Array.isArray(content)) {
|
|
253
|
-
for (const item of content) {
|
|
254
|
-
if (!item || typeof item !== 'object')
|
|
255
|
-
continue;
|
|
256
|
-
const record = item;
|
|
257
|
-
if (record.type === 'text' && typeof record.text === 'string')
|
|
258
|
-
parts.push(record.text);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
else if (content && typeof content === 'object') {
|
|
262
|
-
const record = content;
|
|
263
|
-
if (typeof record.text === 'string')
|
|
264
|
-
parts.push(record.text);
|
|
265
|
-
}
|
|
266
|
-
const text = parts.map((part) => part.trim()).filter(Boolean).join('\n');
|
|
267
|
-
return text || null;
|
|
268
|
-
}
|
|
269
|
-
function grokProjectFromPath(chatPath) {
|
|
270
|
-
const encodedProject = basename(dirname(dirname(chatPath)));
|
|
271
|
-
try {
|
|
272
|
-
const decoded = decodeURIComponent(encodedProject);
|
|
273
|
-
return decoded.length > 0 ? decoded : null;
|
|
274
|
-
}
|
|
275
|
-
catch {
|
|
276
|
-
return null;
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
async function readGrokSummary(chatPath) {
|
|
280
|
-
try {
|
|
281
|
-
const parsed = JSON.parse(await readFile(join(dirname(chatPath), 'summary.json'), 'utf8'));
|
|
282
|
-
return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : null;
|
|
283
|
-
}
|
|
284
|
-
catch {
|
|
285
|
-
return null;
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
function nestedString(obj, path) {
|
|
289
|
-
let current = obj;
|
|
290
|
-
for (const part of path) {
|
|
291
|
-
if (!current || typeof current !== 'object' || Array.isArray(current))
|
|
292
|
-
return null;
|
|
293
|
-
current = current[part];
|
|
294
|
-
}
|
|
295
|
-
return asString(current);
|
|
296
|
-
}
|
|
297
|
-
async function scanGrok() {
|
|
298
|
-
const root = await safeStat(GROK_SESSIONS_ROOT);
|
|
299
|
-
if (!root)
|
|
300
|
-
return [];
|
|
301
|
-
const rows = [];
|
|
302
|
-
for (const chatPath of await collectMatchingFiles(GROK_SESSIONS_ROOT, 'chat_history.jsonl')) {
|
|
303
|
-
const summary = await readGrokSummary(chatPath);
|
|
304
|
-
const fileStat = await safeStat(chatPath);
|
|
305
|
-
const fallbackMs = Math.trunc(fileStat?.mtimeMs ?? 0);
|
|
306
|
-
const sessionId = nestedString(summary, ['info', 'id']) ?? basename(dirname(chatPath));
|
|
307
|
-
const project = nestedString(summary, ['info', 'cwd']) ?? asString(summary?.git_root_dir) ?? grokProjectFromPath(chatPath);
|
|
308
|
-
const gitBranch = asString(summary?.head_branch);
|
|
309
|
-
const baseMs = parseIsoMs(summary?.created_at, fallbackMs);
|
|
310
|
-
let idx = 0;
|
|
311
|
-
for (const line of await readLines(chatPath)) {
|
|
312
|
-
const obj = readJsonRecord(line);
|
|
313
|
-
if (!obj)
|
|
314
|
-
continue;
|
|
315
|
-
const prompt = grokText(obj, 'user');
|
|
316
|
-
if (!prompt)
|
|
317
|
-
continue;
|
|
318
|
-
rows.push({
|
|
319
|
-
source: 'grok',
|
|
320
|
-
sessionId,
|
|
321
|
-
project,
|
|
322
|
-
prompt,
|
|
323
|
-
timestampMs: baseMs + idx,
|
|
324
|
-
gitBranch,
|
|
325
|
-
});
|
|
326
|
-
idx += 1;
|
|
327
|
-
}
|
|
328
|
-
await yieldToEventLoop();
|
|
329
|
-
}
|
|
330
|
-
return rows;
|
|
331
|
-
}
|
|
332
|
-
/**
|
|
333
|
-
* Scan all available local source files. Async + yields between sources
|
|
334
|
-
* so a host event loop (e.g. Electron's main process) stays responsive.
|
|
335
|
-
* Silently skips sources whose paths don't exist — that's the common
|
|
336
|
-
* case for users who only have one CLI.
|
|
337
|
-
*/
|
|
338
|
-
export async function scanLocalSources() {
|
|
339
|
-
const claudeRows = await scanClaude();
|
|
340
|
-
await yieldToEventLoop();
|
|
341
|
-
const codexRows = await scanCodex();
|
|
342
|
-
await yieldToEventLoop();
|
|
343
|
-
const cursorRows = await scanCursor();
|
|
344
|
-
await yieldToEventLoop();
|
|
345
|
-
const grokRows = await scanGrok();
|
|
346
|
-
return [...claudeRows, ...codexRows, ...cursorRows, ...grokRows];
|
|
347
|
-
}
|
|
348
|
-
export const LOCAL_SOURCE_PATHS = {
|
|
349
|
-
claude: CLAUDE_HISTORY,
|
|
350
|
-
codex: CODEX_HISTORY,
|
|
351
|
-
cursorRoot: CURSOR_ROOT,
|
|
352
|
-
grokSessionsRoot: GROK_SESSIONS_ROOT,
|
|
353
|
-
};
|
|
354
|
-
//# sourceMappingURL=jsonl-sources.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsonl-sources.js","sourceRoot":"","sources":["../src/jsonl-sources.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-smoke.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-smoke.test.d.ts","sourceRoot":"","sources":["../src/mcp-smoke.test.ts"],"names":[],"mappings":""}
|