@nocoo/pew 0.8.0 → 0.9.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.
- package/dist/cli.js +2 -2
- package/dist/commands/session-sync.d.ts +4 -0
- package/dist/commands/session-sync.d.ts.map +1 -1
- package/dist/commands/session-sync.js +97 -317
- package/dist/commands/session-sync.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +112 -330
- package/dist/commands/sync.js.map +1 -1
- package/dist/drivers/registry.d.ts +63 -0
- package/dist/drivers/registry.d.ts.map +1 -0
- package/dist/drivers/registry.js +88 -0
- package/dist/drivers/registry.js.map +1 -0
- package/dist/drivers/session/claude-session-driver.d.ts +10 -0
- package/dist/drivers/session/claude-session-driver.d.ts.map +1 -0
- package/dist/drivers/session/claude-session-driver.js +29 -0
- package/dist/drivers/session/claude-session-driver.js.map +1 -0
- package/dist/drivers/session/codex-session-driver.d.ts +10 -0
- package/dist/drivers/session/codex-session-driver.d.ts.map +1 -0
- package/dist/drivers/session/codex-session-driver.js +29 -0
- package/dist/drivers/session/codex-session-driver.js.map +1 -0
- package/dist/drivers/session/gemini-session-driver.d.ts +10 -0
- package/dist/drivers/session/gemini-session-driver.d.ts.map +1 -0
- package/dist/drivers/session/gemini-session-driver.js +29 -0
- package/dist/drivers/session/gemini-session-driver.js.map +1 -0
- package/dist/drivers/session/openclaw-session-driver.d.ts +10 -0
- package/dist/drivers/session/openclaw-session-driver.d.ts.map +1 -0
- package/dist/drivers/session/openclaw-session-driver.js +29 -0
- package/dist/drivers/session/openclaw-session-driver.js.map +1 -0
- package/dist/drivers/session/opencode-json-session-driver.d.ts +14 -0
- package/dist/drivers/session/opencode-json-session-driver.d.ts.map +1 -0
- package/dist/drivers/session/opencode-json-session-driver.js +51 -0
- package/dist/drivers/session/opencode-json-session-driver.js.map +1 -0
- package/dist/drivers/session/opencode-sqlite-session-driver.d.ts +23 -0
- package/dist/drivers/session/opencode-sqlite-session-driver.d.ts.map +1 -0
- package/dist/drivers/session/opencode-sqlite-session-driver.js +88 -0
- package/dist/drivers/session/opencode-sqlite-session-driver.js.map +1 -0
- package/dist/drivers/token/claude-token-driver.d.ts +11 -0
- package/dist/drivers/token/claude-token-driver.d.ts.map +1 -0
- package/dist/drivers/token/claude-token-driver.js +42 -0
- package/dist/drivers/token/claude-token-driver.js.map +1 -0
- package/dist/drivers/token/codex-token-driver.d.ts +11 -0
- package/dist/drivers/token/codex-token-driver.d.ts.map +1 -0
- package/dist/drivers/token/codex-token-driver.js +59 -0
- package/dist/drivers/token/codex-token-driver.js.map +1 -0
- package/dist/drivers/token/gemini-token-driver.d.ts +11 -0
- package/dist/drivers/token/gemini-token-driver.d.ts.map +1 -0
- package/dist/drivers/token/gemini-token-driver.js +57 -0
- package/dist/drivers/token/gemini-token-driver.js.map +1 -0
- package/dist/drivers/token/openclaw-token-driver.d.ts +11 -0
- package/dist/drivers/token/openclaw-token-driver.d.ts.map +1 -0
- package/dist/drivers/token/openclaw-token-driver.js +42 -0
- package/dist/drivers/token/openclaw-token-driver.js.map +1 -0
- package/dist/drivers/token/opencode-json-token-driver.d.ts +15 -0
- package/dist/drivers/token/opencode-json-token-driver.d.ts.map +1 -0
- package/dist/drivers/token/opencode-json-token-driver.js +73 -0
- package/dist/drivers/token/opencode-json-token-driver.js.map +1 -0
- package/dist/drivers/token/opencode-sqlite-token-driver.d.ts +25 -0
- package/dist/drivers/token/opencode-sqlite-token-driver.d.ts.map +1 -0
- package/dist/drivers/token/opencode-sqlite-token-driver.js +99 -0
- package/dist/drivers/token/opencode-sqlite-token-driver.js.map +1 -0
- package/dist/drivers/types.d.ts +202 -0
- package/dist/drivers/types.d.ts.map +1 -0
- package/dist/drivers/types.js +12 -0
- package/dist/drivers/types.js.map +1 -0
- package/dist/storage/base-cursor-store.d.ts +16 -0
- package/dist/storage/base-cursor-store.d.ts.map +1 -0
- package/dist/storage/base-cursor-store.js +33 -0
- package/dist/storage/base-cursor-store.js.map +1 -0
- package/dist/storage/cursor-store.d.ts +2 -6
- package/dist/storage/cursor-store.d.ts.map +1 -1
- package/dist/storage/cursor-store.js +4 -25
- package/dist/storage/cursor-store.js.map +1 -1
- package/dist/storage/session-cursor-store.d.ts +2 -6
- package/dist/storage/session-cursor-store.d.ts.map +1 -1
- package/dist/storage/session-cursor-store.js +4 -25
- package/dist/storage/session-cursor-store.js.map +1 -1
- package/dist/utils/file-changed.d.ts +35 -0
- package/dist/utils/file-changed.d.ts.map +1 -0
- package/dist/utils/file-changed.js +34 -0
- package/dist/utils/file-changed.js.map +1 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -338,7 +338,7 @@ const notifyCommand = defineCommand({
|
|
|
338
338
|
openMessageDb,
|
|
339
339
|
openSessionDb,
|
|
340
340
|
openclawDir: paths.openclawDir,
|
|
341
|
-
version: "0.
|
|
341
|
+
version: "0.9.0",
|
|
342
342
|
});
|
|
343
343
|
if (result.error) {
|
|
344
344
|
consola.warn(`notify finished with warning: ${result.error}`);
|
|
@@ -522,7 +522,7 @@ async function runSessionUpload(stateDir, apiUrl, dev) {
|
|
|
522
522
|
export const main = defineCommand({
|
|
523
523
|
meta: {
|
|
524
524
|
name: "pew",
|
|
525
|
-
version: "0.
|
|
525
|
+
version: "0.9.0",
|
|
526
526
|
description: "Track token usage from your local AI coding tools",
|
|
527
527
|
},
|
|
528
528
|
subCommands: {
|
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
* dual-check), collects SessionSnapshots, converts to SessionQueueRecords,
|
|
6
6
|
* deduplicates, and writes to session queue.
|
|
7
7
|
*
|
|
8
|
+
* Uses the two-phase driver architecture:
|
|
9
|
+
* Phase 1: File-based drivers (generic discover → stat → skip → parse → cursor loop)
|
|
10
|
+
* Phase 2: DB-based drivers (single run() call)
|
|
11
|
+
*
|
|
8
12
|
* Fully independent from the token sync pipeline — separate cursors,
|
|
9
13
|
* separate queue, separate files.
|
|
10
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-sync.d.ts","sourceRoot":"","sources":["../../src/commands/session-sync.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-sync.d.ts","sourceRoot":"","sources":["../../src/commands/session-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAeH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAM3F,qCAAqC;AACrC,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK;QAClC,aAAa,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;QACzD,oBAAoB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,iBAAiB,EAAE,CAAC;QACpE,KAAK,EAAE,MAAM,IAAI,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACpD;AAED,oCAAoC;AACpC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,iDAAiD;IACjD,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAuCD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CA0M5B"}
|
|
@@ -5,21 +5,18 @@
|
|
|
5
5
|
* dual-check), collects SessionSnapshots, converts to SessionQueueRecords,
|
|
6
6
|
* deduplicates, and writes to session queue.
|
|
7
7
|
*
|
|
8
|
+
* Uses the two-phase driver architecture:
|
|
9
|
+
* Phase 1: File-based drivers (generic discover → stat → skip → parse → cursor loop)
|
|
10
|
+
* Phase 2: DB-based drivers (single run() call)
|
|
11
|
+
*
|
|
8
12
|
* Fully independent from the token sync pipeline — separate cursors,
|
|
9
13
|
* separate queue, separate files.
|
|
10
14
|
*/
|
|
11
|
-
import {
|
|
12
|
-
import { join } from "node:path";
|
|
15
|
+
import { stat } from "node:fs/promises";
|
|
13
16
|
import { SessionCursorStore } from "../storage/session-cursor-store.js";
|
|
14
17
|
import { SessionQueue } from "../storage/session-queue.js";
|
|
15
|
-
import { discoverClaudeFiles, discoverCodexFiles, discoverGeminiFiles, discoverOpenClawFiles, } from "../discovery/sources.js";
|
|
16
|
-
import { collectClaudeSessions } from "../parsers/claude-session.js";
|
|
17
|
-
import { collectCodexSessions } from "../parsers/codex-session.js";
|
|
18
|
-
import { collectGeminiSessions } from "../parsers/gemini-session.js";
|
|
19
|
-
import { collectOpenCodeSessions } from "../parsers/opencode-session.js";
|
|
20
|
-
import { collectOpenClawSessions } from "../parsers/openclaw-session.js";
|
|
21
|
-
import { collectOpenCodeSqliteSessions } from "../parsers/opencode-sqlite-session.js";
|
|
22
18
|
import { deduplicateSessionRecords } from "./session-upload.js";
|
|
19
|
+
import { createSessionDrivers } from "../drivers/registry.js";
|
|
23
20
|
// ---------------------------------------------------------------------------
|
|
24
21
|
// Helpers
|
|
25
22
|
// ---------------------------------------------------------------------------
|
|
@@ -40,33 +37,15 @@ function toQueueRecord(snap) {
|
|
|
40
37
|
snapshot_at: snap.snapshotAt,
|
|
41
38
|
};
|
|
42
39
|
}
|
|
43
|
-
/**
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Discover OpenCode session directories.
|
|
54
|
-
*
|
|
55
|
-
* Lists subdirectories under the message dir (e.g. ses_xxx/).
|
|
56
|
-
* Returns absolute paths to session directories.
|
|
57
|
-
*/
|
|
58
|
-
async function discoverOpenCodeSessionDirs(messageDir) {
|
|
59
|
-
let entries;
|
|
60
|
-
try {
|
|
61
|
-
entries = await readdir(messageDir, { withFileTypes: true });
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
return [];
|
|
40
|
+
/** Map Source type to short result key */
|
|
41
|
+
function sourceKey(source) {
|
|
42
|
+
switch (source) {
|
|
43
|
+
case "claude-code": return "claude";
|
|
44
|
+
case "gemini-cli": return "gemini";
|
|
45
|
+
case "opencode": return "opencode";
|
|
46
|
+
case "openclaw": return "openclaw";
|
|
47
|
+
case "codex": return "codex";
|
|
65
48
|
}
|
|
66
|
-
return entries
|
|
67
|
-
.filter((e) => e.isDirectory())
|
|
68
|
-
.map((e) => join(messageDir, e.name))
|
|
69
|
-
.sort();
|
|
70
49
|
}
|
|
71
50
|
// ---------------------------------------------------------------------------
|
|
72
51
|
// Main orchestrator
|
|
@@ -83,340 +62,141 @@ export async function executeSessionSync(opts) {
|
|
|
83
62
|
const allSnapshots = [];
|
|
84
63
|
const sourceCounts = { claude: 0, codex: 0, gemini: 0, opencode: 0, openclaw: 0 };
|
|
85
64
|
const filesScanned = { claude: 0, codex: 0, gemini: 0, opencode: 0, openclaw: 0 };
|
|
86
|
-
//
|
|
87
|
-
|
|
65
|
+
// Build driver sets from options
|
|
66
|
+
const { fileDrivers, dbDrivers } = createSessionDrivers(opts);
|
|
67
|
+
// Discovery options bag
|
|
68
|
+
const discoverOpts = {
|
|
69
|
+
claudeDir: opts.claudeDir,
|
|
70
|
+
codexSessionsDir: opts.codexSessionsDir,
|
|
71
|
+
geminiDir: opts.geminiDir,
|
|
72
|
+
openCodeMessageDir: opts.openCodeMessageDir,
|
|
73
|
+
openCodeDbPath: opts.openCodeDbPath,
|
|
74
|
+
openclawDir: opts.openclawDir,
|
|
75
|
+
};
|
|
76
|
+
// ---------- Phase 1: File-based drivers (generic loop) ----------
|
|
77
|
+
for (const driver of fileDrivers) {
|
|
78
|
+
const key = sourceKey(driver.source);
|
|
88
79
|
onProgress?.({
|
|
89
|
-
source:
|
|
80
|
+
source: driver.source,
|
|
90
81
|
phase: "discover",
|
|
91
|
-
message:
|
|
82
|
+
message: `Discovering ${driver.source} session files...`,
|
|
92
83
|
});
|
|
93
|
-
const files = await
|
|
94
|
-
filesScanned
|
|
84
|
+
const files = await driver.discover(discoverOpts);
|
|
85
|
+
filesScanned[key] += files.length;
|
|
95
86
|
onProgress?.({
|
|
96
|
-
source:
|
|
87
|
+
source: driver.source,
|
|
97
88
|
phase: "parse",
|
|
98
89
|
total: files.length,
|
|
99
|
-
message: `Scanning ${files.length}
|
|
90
|
+
message: `Scanning ${files.length} ${driver.source} session files...`,
|
|
100
91
|
});
|
|
101
92
|
for (let i = 0; i < files.length; i++) {
|
|
102
93
|
const filePath = files[i];
|
|
103
94
|
const st = await stat(filePath).catch(() => null);
|
|
104
95
|
if (!st)
|
|
105
96
|
continue;
|
|
97
|
+
const fingerprint = {
|
|
98
|
+
inode: st.ino,
|
|
99
|
+
mtimeMs: st.mtimeMs,
|
|
100
|
+
size: st.size,
|
|
101
|
+
};
|
|
106
102
|
const cursor = cursors.files[filePath];
|
|
107
|
-
|
|
103
|
+
// Fast skip: file/dir unchanged since last cursor?
|
|
104
|
+
if (driver.shouldSkip(cursor, fingerprint)) {
|
|
108
105
|
onProgress?.({
|
|
109
|
-
source:
|
|
106
|
+
source: driver.source,
|
|
110
107
|
phase: "parse",
|
|
111
108
|
current: i + 1,
|
|
112
109
|
total: files.length,
|
|
113
110
|
});
|
|
114
111
|
continue;
|
|
115
112
|
}
|
|
116
|
-
|
|
113
|
+
// Full-scan parse
|
|
114
|
+
const snapshots = await driver.parse(filePath).catch((err) => {
|
|
117
115
|
onProgress?.({
|
|
118
|
-
source:
|
|
116
|
+
source: driver.source,
|
|
119
117
|
phase: "warn",
|
|
120
118
|
message: `Skipping ${filePath}: ${err instanceof Error ? err.message : String(err)}`,
|
|
121
119
|
});
|
|
122
120
|
return [];
|
|
123
121
|
});
|
|
124
|
-
//
|
|
125
|
-
|
|
122
|
+
// Build and persist cursor (cast narrows the registry's
|
|
123
|
+
// SessionFileCursor | unknown union back to SessionFileCursor)
|
|
124
|
+
cursors.files[filePath] = driver.buildCursor(fingerprint);
|
|
126
125
|
allSnapshots.push(...snapshots);
|
|
127
|
-
sourceCounts
|
|
126
|
+
sourceCounts[key] += snapshots.length;
|
|
128
127
|
onProgress?.({
|
|
129
|
-
source:
|
|
128
|
+
source: driver.source,
|
|
130
129
|
phase: "parse",
|
|
131
130
|
current: i + 1,
|
|
132
131
|
total: files.length,
|
|
133
132
|
});
|
|
134
133
|
}
|
|
135
134
|
}
|
|
136
|
-
// ----------
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
source: "gemini-cli",
|
|
147
|
-
phase: "parse",
|
|
148
|
-
total: files.length,
|
|
149
|
-
message: `Scanning ${files.length} Gemini session files...`,
|
|
150
|
-
});
|
|
151
|
-
for (let i = 0; i < files.length; i++) {
|
|
152
|
-
const filePath = files[i];
|
|
153
|
-
const st = await stat(filePath).catch(() => null);
|
|
154
|
-
if (!st)
|
|
155
|
-
continue;
|
|
156
|
-
const cursor = cursors.files[filePath];
|
|
157
|
-
if (!fileChanged(cursor, st.mtimeMs, st.size)) {
|
|
135
|
+
// ---------- Phase 2: DB-based drivers ----------
|
|
136
|
+
// SQLite warning paths are handled at the orchestrator level:
|
|
137
|
+
// - "bun:sqlite not available": registry doesn't create a driver (no openSessionDb)
|
|
138
|
+
// - "Failed to open": factory returns null, pre-probed here to emit warning
|
|
139
|
+
let activeDbDrivers = dbDrivers;
|
|
140
|
+
if (opts.openCodeDbPath) {
|
|
141
|
+
const dbStat = await stat(opts.openCodeDbPath).catch(() => null);
|
|
142
|
+
if (dbStat) {
|
|
143
|
+
if (!opts.openSessionDb) {
|
|
144
|
+
// Case 1: DB file exists but bun:sqlite adapter is missing
|
|
158
145
|
onProgress?.({
|
|
159
|
-
source: "
|
|
160
|
-
phase: "
|
|
161
|
-
|
|
162
|
-
total: files.length,
|
|
146
|
+
source: "opencode-sqlite",
|
|
147
|
+
phase: "discover",
|
|
148
|
+
message: "Checking OpenCode SQLite database for sessions...",
|
|
163
149
|
});
|
|
164
|
-
continue;
|
|
165
|
-
}
|
|
166
|
-
const snapshots = await collectGeminiSessions(filePath).catch((err) => {
|
|
167
150
|
onProgress?.({
|
|
168
|
-
source: "
|
|
151
|
+
source: "opencode-sqlite",
|
|
169
152
|
phase: "warn",
|
|
170
|
-
message: `
|
|
171
|
-
});
|
|
172
|
-
return [];
|
|
173
|
-
});
|
|
174
|
-
cursors.files[filePath] = { mtimeMs: st.mtimeMs, size: st.size };
|
|
175
|
-
allSnapshots.push(...snapshots);
|
|
176
|
-
sourceCounts.gemini += snapshots.length;
|
|
177
|
-
onProgress?.({
|
|
178
|
-
source: "gemini-cli",
|
|
179
|
-
phase: "parse",
|
|
180
|
-
current: i + 1,
|
|
181
|
-
total: files.length,
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
// ---------- OpenCode ----------
|
|
186
|
-
if (opts.openCodeMessageDir) {
|
|
187
|
-
onProgress?.({
|
|
188
|
-
source: "opencode",
|
|
189
|
-
phase: "discover",
|
|
190
|
-
message: "Discovering OpenCode session directories...",
|
|
191
|
-
});
|
|
192
|
-
const dirs = await discoverOpenCodeSessionDirs(opts.openCodeMessageDir);
|
|
193
|
-
filesScanned.opencode += dirs.length;
|
|
194
|
-
onProgress?.({
|
|
195
|
-
source: "opencode",
|
|
196
|
-
phase: "parse",
|
|
197
|
-
total: dirs.length,
|
|
198
|
-
message: `Scanning ${dirs.length} OpenCode session directories...`,
|
|
199
|
-
});
|
|
200
|
-
for (let i = 0; i < dirs.length; i++) {
|
|
201
|
-
const dirPath = dirs[i];
|
|
202
|
-
const st = await stat(dirPath).catch(() => null);
|
|
203
|
-
if (!st)
|
|
204
|
-
continue;
|
|
205
|
-
// For directories, use mtimeMs as proxy for content changes.
|
|
206
|
-
// Size for dirs isn't reliable across filesystems, so we use
|
|
207
|
-
// mtimeMs only and set size to 0 as a sentinel.
|
|
208
|
-
const cursor = cursors.files[dirPath];
|
|
209
|
-
if (cursor && cursor.mtimeMs === st.mtimeMs) {
|
|
210
|
-
onProgress?.({
|
|
211
|
-
source: "opencode",
|
|
212
|
-
phase: "parse",
|
|
213
|
-
current: i + 1,
|
|
214
|
-
total: dirs.length,
|
|
153
|
+
message: `OpenCode SQLite database found at ${opts.openCodeDbPath} but bun:sqlite is not available — SQLite session data will NOT be synced`,
|
|
215
154
|
});
|
|
216
|
-
continue;
|
|
217
155
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
// ---------- OpenCode SQLite Sessions ----------
|
|
238
|
-
if (opts.openCodeDbPath) {
|
|
239
|
-
onProgress?.({
|
|
240
|
-
source: "opencode-sqlite",
|
|
241
|
-
phase: "discover",
|
|
242
|
-
message: "Checking OpenCode SQLite database for sessions...",
|
|
243
|
-
});
|
|
244
|
-
const dbStat = await stat(opts.openCodeDbPath).catch(() => null);
|
|
245
|
-
if (dbStat && !opts.openSessionDb) {
|
|
246
|
-
// DB file exists but adapter is missing (bun:sqlite not available)
|
|
247
|
-
onProgress?.({
|
|
248
|
-
source: "opencode-sqlite",
|
|
249
|
-
phase: "warn",
|
|
250
|
-
message: `OpenCode SQLite database found at ${opts.openCodeDbPath} but bun:sqlite is not available — SQLite session data will NOT be synced`,
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
else if (dbStat && opts.openSessionDb) {
|
|
254
|
-
filesScanned.opencode += 1;
|
|
255
|
-
const dbInode = dbStat.ino;
|
|
256
|
-
const prevSqlite = cursors.openCodeSqlite;
|
|
257
|
-
// If inode changed (DB recreated), reset cursor
|
|
258
|
-
const lastTimeUpdated = prevSqlite && prevSqlite.inode === dbInode
|
|
259
|
-
? prevSqlite.lastTimeUpdated
|
|
260
|
-
: 0;
|
|
261
|
-
const prevProcessedIds = new Set(prevSqlite && prevSqlite.inode === dbInode
|
|
262
|
-
? (prevSqlite.lastProcessedIds ?? [])
|
|
263
|
-
: []);
|
|
264
|
-
const handle = opts.openSessionDb(opts.openCodeDbPath);
|
|
265
|
-
if (handle) {
|
|
266
|
-
try {
|
|
267
|
-
// Query uses >= to avoid missing same-millisecond rows.
|
|
268
|
-
// We dedup previously-processed IDs from the prior batch.
|
|
269
|
-
const rawSessions = handle.querySessions(lastTimeUpdated);
|
|
270
|
-
const sessions = prevProcessedIds.size > 0
|
|
271
|
-
? rawSessions.filter((s) => !prevProcessedIds.has(s.id))
|
|
272
|
-
: rawSessions;
|
|
273
|
-
if (sessions.length > 0) {
|
|
274
|
-
const sessionIds = sessions.map((s) => s.id);
|
|
275
|
-
const messages = handle.querySessionMessages(sessionIds);
|
|
276
|
-
const snapshots = collectOpenCodeSqliteSessions(sessions, messages);
|
|
277
|
-
onProgress?.({
|
|
278
|
-
source: "opencode-sqlite",
|
|
279
|
-
phase: "parse",
|
|
280
|
-
message: `Collected ${snapshots.length} sessions from ${rawSessions.length} SQLite session rows`,
|
|
281
|
-
});
|
|
282
|
-
allSnapshots.push(...snapshots);
|
|
283
|
-
sourceCounts.opencode += snapshots.length;
|
|
284
|
-
}
|
|
285
|
-
else {
|
|
286
|
-
onProgress?.({
|
|
287
|
-
source: "opencode-sqlite",
|
|
288
|
-
phase: "parse",
|
|
289
|
-
message: "No new SQLite sessions found",
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
// Update session cursor — advance past ALL queried sessions.
|
|
293
|
-
// Sessions are ORDER BY time_updated ASC, so last has the max.
|
|
294
|
-
// Track IDs at the max timestamp for same-millisecond dedup
|
|
295
|
-
// on the next query.
|
|
296
|
-
const maxTimeUpdated = rawSessions.length > 0
|
|
297
|
-
? rawSessions[rawSessions.length - 1].time_updated
|
|
298
|
-
: lastTimeUpdated;
|
|
299
|
-
const idsAtMax = rawSessions
|
|
300
|
-
.filter((s) => s.time_updated === maxTimeUpdated)
|
|
301
|
-
.map((s) => s.id);
|
|
302
|
-
cursors.openCodeSqlite = {
|
|
303
|
-
lastTimeUpdated: maxTimeUpdated,
|
|
304
|
-
lastProcessedIds: idsAtMax,
|
|
305
|
-
inode: dbInode,
|
|
306
|
-
updatedAt: new Date().toISOString(),
|
|
307
|
-
};
|
|
156
|
+
else {
|
|
157
|
+
// Case 2: Both provided — pre-probe if factory returns null
|
|
158
|
+
const handle = opts.openSessionDb(opts.openCodeDbPath);
|
|
159
|
+
if (!handle) {
|
|
160
|
+
onProgress?.({
|
|
161
|
+
source: "opencode-sqlite",
|
|
162
|
+
phase: "discover",
|
|
163
|
+
message: "Checking OpenCode SQLite database for sessions...",
|
|
164
|
+
});
|
|
165
|
+
onProgress?.({
|
|
166
|
+
source: "opencode-sqlite",
|
|
167
|
+
phase: "warn",
|
|
168
|
+
message: `Failed to open OpenCode SQLite database at ${opts.openCodeDbPath} — SQLite session data will NOT be synced`,
|
|
169
|
+
});
|
|
170
|
+
// Skip DB drivers — factory returns null, driver would return empty anyway
|
|
171
|
+
activeDbDrivers = [];
|
|
308
172
|
}
|
|
309
|
-
|
|
173
|
+
else {
|
|
310
174
|
handle.close();
|
|
311
175
|
}
|
|
312
176
|
}
|
|
313
|
-
else {
|
|
314
|
-
// openSessionDb returned null — DB exists but couldn't be opened
|
|
315
|
-
onProgress?.({
|
|
316
|
-
source: "opencode-sqlite",
|
|
317
|
-
phase: "warn",
|
|
318
|
-
message: `Failed to open OpenCode SQLite database at ${opts.openCodeDbPath} — SQLite session data will NOT be synced`,
|
|
319
|
-
});
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
// ---------- OpenClaw ----------
|
|
324
|
-
if (opts.openclawDir) {
|
|
325
|
-
onProgress?.({
|
|
326
|
-
source: "openclaw",
|
|
327
|
-
phase: "discover",
|
|
328
|
-
message: "Discovering OpenClaw session files...",
|
|
329
|
-
});
|
|
330
|
-
const files = await discoverOpenClawFiles(opts.openclawDir);
|
|
331
|
-
filesScanned.openclaw = files.length;
|
|
332
|
-
onProgress?.({
|
|
333
|
-
source: "openclaw",
|
|
334
|
-
phase: "parse",
|
|
335
|
-
total: files.length,
|
|
336
|
-
message: `Scanning ${files.length} OpenClaw session files...`,
|
|
337
|
-
});
|
|
338
|
-
for (let i = 0; i < files.length; i++) {
|
|
339
|
-
const filePath = files[i];
|
|
340
|
-
const st = await stat(filePath).catch(() => null);
|
|
341
|
-
if (!st)
|
|
342
|
-
continue;
|
|
343
|
-
const cursor = cursors.files[filePath];
|
|
344
|
-
if (!fileChanged(cursor, st.mtimeMs, st.size)) {
|
|
345
|
-
onProgress?.({
|
|
346
|
-
source: "openclaw",
|
|
347
|
-
phase: "parse",
|
|
348
|
-
current: i + 1,
|
|
349
|
-
total: files.length,
|
|
350
|
-
});
|
|
351
|
-
continue;
|
|
352
|
-
}
|
|
353
|
-
const snapshots = await collectOpenClawSessions(filePath).catch((err) => {
|
|
354
|
-
onProgress?.({
|
|
355
|
-
source: "openclaw",
|
|
356
|
-
phase: "warn",
|
|
357
|
-
message: `Skipping ${filePath}: ${err instanceof Error ? err.message : String(err)}`,
|
|
358
|
-
});
|
|
359
|
-
return [];
|
|
360
|
-
});
|
|
361
|
-
cursors.files[filePath] = { mtimeMs: st.mtimeMs, size: st.size };
|
|
362
|
-
allSnapshots.push(...snapshots);
|
|
363
|
-
sourceCounts.openclaw += snapshots.length;
|
|
364
|
-
onProgress?.({
|
|
365
|
-
source: "openclaw",
|
|
366
|
-
phase: "parse",
|
|
367
|
-
current: i + 1,
|
|
368
|
-
total: files.length,
|
|
369
|
-
});
|
|
370
177
|
}
|
|
371
178
|
}
|
|
372
|
-
|
|
373
|
-
|
|
179
|
+
for (const driver of activeDbDrivers) {
|
|
180
|
+
const key = sourceKey(driver.source);
|
|
374
181
|
onProgress?.({
|
|
375
|
-
source: "
|
|
182
|
+
source: "opencode-sqlite",
|
|
376
183
|
phase: "discover",
|
|
377
|
-
message: "
|
|
184
|
+
message: "Checking OpenCode SQLite database for sessions...",
|
|
378
185
|
});
|
|
379
|
-
|
|
380
|
-
filesScanned
|
|
186
|
+
// Count DB as 1 file scanned for the source
|
|
187
|
+
filesScanned[key] += 1;
|
|
188
|
+
const prevCursor = cursors.openCodeSqlite;
|
|
189
|
+
const result = await driver.run(prevCursor, {});
|
|
190
|
+
cursors.openCodeSqlite = result.cursor;
|
|
191
|
+
allSnapshots.push(...result.snapshots);
|
|
192
|
+
sourceCounts[key] += result.snapshots.length;
|
|
381
193
|
onProgress?.({
|
|
382
|
-
source: "
|
|
194
|
+
source: "opencode-sqlite",
|
|
383
195
|
phase: "parse",
|
|
384
|
-
|
|
385
|
-
|
|
196
|
+
message: result.snapshots.length > 0
|
|
197
|
+
? `Collected ${result.snapshots.length} sessions from ${result.rowCount} SQLite session rows`
|
|
198
|
+
: "No new SQLite sessions found",
|
|
386
199
|
});
|
|
387
|
-
for (let i = 0; i < files.length; i++) {
|
|
388
|
-
const filePath = files[i];
|
|
389
|
-
const st = await stat(filePath).catch(() => null);
|
|
390
|
-
if (!st)
|
|
391
|
-
continue;
|
|
392
|
-
const cursor = cursors.files[filePath];
|
|
393
|
-
if (!fileChanged(cursor, st.mtimeMs, st.size)) {
|
|
394
|
-
onProgress?.({
|
|
395
|
-
source: "codex",
|
|
396
|
-
phase: "parse",
|
|
397
|
-
current: i + 1,
|
|
398
|
-
total: files.length,
|
|
399
|
-
});
|
|
400
|
-
continue;
|
|
401
|
-
}
|
|
402
|
-
const snapshots = await collectCodexSessions(filePath).catch((err) => {
|
|
403
|
-
onProgress?.({
|
|
404
|
-
source: "codex",
|
|
405
|
-
phase: "warn",
|
|
406
|
-
message: `Skipping ${filePath}: ${err instanceof Error ? err.message : String(err)}`,
|
|
407
|
-
});
|
|
408
|
-
return [];
|
|
409
|
-
});
|
|
410
|
-
cursors.files[filePath] = { mtimeMs: st.mtimeMs, size: st.size };
|
|
411
|
-
allSnapshots.push(...snapshots);
|
|
412
|
-
sourceCounts.codex += snapshots.length;
|
|
413
|
-
onProgress?.({
|
|
414
|
-
source: "codex",
|
|
415
|
-
phase: "parse",
|
|
416
|
-
current: i + 1,
|
|
417
|
-
total: files.length,
|
|
418
|
-
});
|
|
419
|
-
}
|
|
420
200
|
}
|
|
421
201
|
// ---------- Convert snapshots to queue records ----------
|
|
422
202
|
const records = allSnapshots.map(toQueueRecord);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-sync.js","sourceRoot":"","sources":["../../src/commands/session-sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-sync.js","sourceRoot":"","sources":["../../src/commands/session-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAMrE,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK;QAAE,aAAa,EAAE,eAAe,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACjG,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,qCAAqC;IACrC,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAqBD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAmQxE"}
|