@nocoo/pew 0.4.0 → 0.6.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 (72) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +117 -8
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/session-sync.d.ts +62 -0
  5. package/dist/commands/session-sync.d.ts.map +1 -0
  6. package/dist/commands/session-sync.js +443 -0
  7. package/dist/commands/session-sync.js.map +1 -0
  8. package/dist/commands/session-upload.d.ts +55 -0
  9. package/dist/commands/session-upload.d.ts.map +1 -0
  10. package/dist/commands/session-upload.js +177 -0
  11. package/dist/commands/session-upload.js.map +1 -0
  12. package/dist/commands/status.d.ts +9 -0
  13. package/dist/commands/status.d.ts.map +1 -1
  14. package/dist/commands/status.js +22 -11
  15. package/dist/commands/status.js.map +1 -1
  16. package/dist/commands/sync.d.ts +12 -0
  17. package/dist/commands/sync.d.ts.map +1 -1
  18. package/dist/commands/sync.js +159 -3
  19. package/dist/commands/sync.js.map +1 -1
  20. package/dist/discovery/sources.d.ts +5 -0
  21. package/dist/discovery/sources.d.ts.map +1 -1
  22. package/dist/discovery/sources.js +7 -0
  23. package/dist/discovery/sources.js.map +1 -1
  24. package/dist/parsers/claude-session.d.ts +19 -0
  25. package/dist/parsers/claude-session.d.ts.map +1 -0
  26. package/dist/parsers/claude-session.js +131 -0
  27. package/dist/parsers/claude-session.js.map +1 -0
  28. package/dist/parsers/codex-session.d.ts +24 -0
  29. package/dist/parsers/codex-session.d.ts.map +1 -0
  30. package/dist/parsers/codex-session.js +140 -0
  31. package/dist/parsers/codex-session.js.map +1 -0
  32. package/dist/parsers/codex.d.ts +37 -0
  33. package/dist/parsers/codex.d.ts.map +1 -0
  34. package/dist/parsers/codex.js +136 -0
  35. package/dist/parsers/codex.js.map +1 -0
  36. package/dist/parsers/gemini-session.d.ts +19 -0
  37. package/dist/parsers/gemini-session.d.ts.map +1 -0
  38. package/dist/parsers/gemini-session.js +103 -0
  39. package/dist/parsers/gemini-session.js.map +1 -0
  40. package/dist/parsers/openclaw-session.d.ts +20 -0
  41. package/dist/parsers/openclaw-session.d.ts.map +1 -0
  42. package/dist/parsers/openclaw-session.js +122 -0
  43. package/dist/parsers/openclaw-session.js.map +1 -0
  44. package/dist/parsers/opencode-session.d.ts +15 -0
  45. package/dist/parsers/opencode-session.d.ts.map +1 -0
  46. package/dist/parsers/opencode-session.js +131 -0
  47. package/dist/parsers/opencode-session.js.map +1 -0
  48. package/dist/parsers/opencode-sqlite-db.d.ts +29 -0
  49. package/dist/parsers/opencode-sqlite-db.d.ts.map +1 -0
  50. package/dist/parsers/opencode-sqlite-db.js +71 -0
  51. package/dist/parsers/opencode-sqlite-db.js.map +1 -0
  52. package/dist/parsers/opencode-sqlite-session.d.ts +32 -0
  53. package/dist/parsers/opencode-sqlite-session.d.ts.map +1 -0
  54. package/dist/parsers/opencode-sqlite-session.js +121 -0
  55. package/dist/parsers/opencode-sqlite-session.js.map +1 -0
  56. package/dist/parsers/opencode-sqlite.d.ts +53 -0
  57. package/dist/parsers/opencode-sqlite.d.ts.map +1 -0
  58. package/dist/parsers/opencode-sqlite.js +104 -0
  59. package/dist/parsers/opencode-sqlite.js.map +1 -0
  60. package/dist/storage/session-cursor-store.d.ts +14 -0
  61. package/dist/storage/session-cursor-store.d.ts.map +1 -0
  62. package/dist/storage/session-cursor-store.js +34 -0
  63. package/dist/storage/session-cursor-store.js.map +1 -0
  64. package/dist/storage/session-queue.d.ts +28 -0
  65. package/dist/storage/session-queue.d.ts.map +1 -0
  66. package/dist/storage/session-queue.js +65 -0
  67. package/dist/storage/session-queue.js.map +1 -0
  68. package/dist/utils/paths.d.ts +4 -0
  69. package/dist/utils/paths.d.ts.map +1 -1
  70. package/dist/utils/paths.js +5 -0
  71. package/dist/utils/paths.js.map +1 -1
  72. package/package.json +1 -1
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAmPA,eAAO,MAAM,IAAI,qDAWf,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAyWA,eAAO,MAAM,IAAI,qDAWf,CAAC"}
package/dist/cli.js CHANGED
@@ -3,9 +3,11 @@ import { consola } from "consola";
3
3
  import pc from "picocolors";
4
4
  import { resolveDefaultPaths } from "./utils/paths.js";
5
5
  import { executeSync } from "./commands/sync.js";
6
+ import { executeSessionSync } from "./commands/session-sync.js";
6
7
  import { executeStatus } from "./commands/status.js";
7
8
  import { executeLogin, resolveHost } from "./commands/login.js";
8
9
  import { executeUpload } from "./commands/upload.js";
10
+ import { executeSessionUpload } from "./commands/session-upload.js";
9
11
  // ---------------------------------------------------------------------------
10
12
  // Dev mode detection (otter pattern)
11
13
  // ---------------------------------------------------------------------------
@@ -36,11 +38,26 @@ const syncCommand = defineCommand({
36
38
  async run({ args }) {
37
39
  const paths = resolveDefaultPaths();
38
40
  consola.start("Syncing token usage from AI coding tools...\n");
41
+ // Dynamic import: opencode-sqlite-db.ts uses bun:sqlite which is
42
+ // only available at runtime under Bun, not in Vitest/Node test env.
43
+ let openMessageDb;
44
+ let openSessionDb;
45
+ try {
46
+ const mod = await import("./parsers/opencode-sqlite-db.js");
47
+ openMessageDb = mod.openMessageDb;
48
+ openSessionDb = mod.openSessionDb;
49
+ }
50
+ catch {
51
+ // bun:sqlite not available — SQLite sync will be skipped
52
+ }
39
53
  const result = await executeSync({
40
54
  stateDir: paths.stateDir,
41
55
  claudeDir: paths.claudeDir,
56
+ codexSessionsDir: paths.codexSessionsDir,
42
57
  geminiDir: paths.geminiDir,
43
58
  openCodeMessageDir: paths.openCodeMessageDir,
59
+ openCodeDbPath: paths.openCodeDbPath,
60
+ openMessageDb,
44
61
  openclawDir: paths.openclawDir,
45
62
  onProgress(event) {
46
63
  if (event.phase === "parse" && event.current && event.total) {
@@ -53,7 +70,7 @@ const syncCommand = defineCommand({
53
70
  }
54
71
  },
55
72
  });
56
- // Summary
73
+ // Token summary
57
74
  consola.log("");
58
75
  if (result.totalDeltas === 0) {
59
76
  consola.info("No new token usage found.");
@@ -63,6 +80,8 @@ const syncCommand = defineCommand({
63
80
  const deltaParts = [];
64
81
  if (result.sources.claude > 0)
65
82
  deltaParts.push(`Claude: ${result.sources.claude}`);
83
+ if (result.sources.codex > 0)
84
+ deltaParts.push(`Codex: ${result.sources.codex}`);
66
85
  if (result.sources.gemini > 0)
67
86
  deltaParts.push(`Gemini: ${result.sources.gemini}`);
68
87
  if (result.sources.opencode > 0)
@@ -78,6 +97,8 @@ const syncCommand = defineCommand({
78
97
  const scanParts = [];
79
98
  if (fs.claude > 0)
80
99
  scanParts.push(`Claude: ${fs.claude}`);
100
+ if (fs.codex > 0)
101
+ scanParts.push(`Codex: ${fs.codex}`);
81
102
  if (fs.gemini > 0)
82
103
  scanParts.push(`Gemini: ${fs.gemini}`);
83
104
  if (fs.opencode > 0)
@@ -87,10 +108,55 @@ const syncCommand = defineCommand({
87
108
  if (scanParts.length > 0) {
88
109
  consola.info(` Files scanned: ${pc.dim(scanParts.join(" | "))}`);
89
110
  }
111
+ // ---------- Session sync ----------
112
+ consola.log("");
113
+ consola.start("Syncing session statistics...\n");
114
+ const sessionResult = await executeSessionSync({
115
+ stateDir: paths.stateDir,
116
+ claudeDir: paths.claudeDir,
117
+ codexSessionsDir: paths.codexSessionsDir,
118
+ geminiDir: paths.geminiDir,
119
+ openCodeMessageDir: paths.openCodeMessageDir,
120
+ openCodeDbPath: paths.openCodeDbPath,
121
+ openSessionDb,
122
+ openclawDir: paths.openclawDir,
123
+ onProgress(event) {
124
+ if (event.phase === "parse" && event.current && event.total) {
125
+ if (event.total <= 10 ||
126
+ event.current === event.total ||
127
+ event.current % Math.ceil(event.total / 4) === 0) {
128
+ consola.info(` ${pc.cyan(event.source)} ${event.current}/${event.total} files`);
129
+ }
130
+ }
131
+ },
132
+ });
133
+ // Session summary
134
+ if (sessionResult.totalSnapshots === 0) {
135
+ consola.info("No new sessions found.");
136
+ }
137
+ else {
138
+ consola.success(`Synced ${pc.bold(String(sessionResult.totalSnapshots))} sessions → ${pc.bold(String(sessionResult.totalRecords))} queue records`);
139
+ const sessParts = [];
140
+ if (sessionResult.sources.claude > 0)
141
+ sessParts.push(`Claude: ${sessionResult.sources.claude}`);
142
+ if (sessionResult.sources.codex > 0)
143
+ sessParts.push(`Codex: ${sessionResult.sources.codex}`);
144
+ if (sessionResult.sources.gemini > 0)
145
+ sessParts.push(`Gemini: ${sessionResult.sources.gemini}`);
146
+ if (sessionResult.sources.opencode > 0)
147
+ sessParts.push(`OpenCode: ${sessionResult.sources.opencode}`);
148
+ if (sessionResult.sources.openclaw > 0)
149
+ sessParts.push(`OpenClaw: ${sessionResult.sources.openclaw}`);
150
+ if (sessParts.length > 0) {
151
+ consola.info(` ${pc.dim(sessParts.join(" | "))}`);
152
+ }
153
+ }
90
154
  // Auto-upload if logged in
91
155
  if (args.upload) {
92
156
  const dev = isDevMode();
93
- await runUpload(paths.stateDir, resolveHost(dev), dev);
157
+ const host = resolveHost(dev);
158
+ await runUpload(paths.stateDir, host, dev);
159
+ await runSessionUpload(paths.stateDir, host, dev);
94
160
  }
95
161
  },
96
162
  });
@@ -101,7 +167,16 @@ const statusCommand = defineCommand({
101
167
  },
102
168
  async run() {
103
169
  const paths = resolveDefaultPaths();
104
- const result = await executeStatus({ stateDir: paths.stateDir });
170
+ const result = await executeStatus({
171
+ stateDir: paths.stateDir,
172
+ sourceDirs: {
173
+ claudeDir: paths.claudeDir,
174
+ codexSessionsDir: paths.codexSessionsDir,
175
+ geminiDir: paths.geminiDir,
176
+ openCodeMessageDir: paths.openCodeMessageDir,
177
+ openclawDir: paths.openclawDir,
178
+ },
179
+ });
105
180
  consola.log("");
106
181
  consola.log(pc.bold("Pew Status"));
107
182
  consola.log(pc.dim("─".repeat(40)));
@@ -174,7 +249,7 @@ const loginCommand = defineCommand({
174
249
  // ---------------------------------------------------------------------------
175
250
  async function runUpload(stateDir, apiUrl, dev) {
176
251
  consola.log("");
177
- consola.start("Uploading to dashboard...");
252
+ consola.start("Uploading tokens to dashboard...");
178
253
  const uploadResult = await executeUpload({
179
254
  stateDir,
180
255
  apiUrl,
@@ -192,14 +267,48 @@ async function runUpload(stateDir, apiUrl, dev) {
192
267
  }
193
268
  if (uploadResult.success) {
194
269
  if (uploadResult.uploaded === 0) {
195
- consola.info("No pending records to upload.");
270
+ consola.info("No pending token records to upload.");
271
+ }
272
+ else {
273
+ consola.success(`Uploaded ${pc.bold(String(uploadResult.uploaded))} token records in ${uploadResult.batches} batch(es).`);
274
+ }
275
+ }
276
+ else {
277
+ consola.error(`Token upload failed: ${uploadResult.error}`);
278
+ if (uploadResult.uploaded > 0) {
279
+ consola.info(` ${pc.yellow(String(uploadResult.uploaded))} records uploaded before failure.`);
280
+ }
281
+ process.exitCode = 1;
282
+ }
283
+ }
284
+ async function runSessionUpload(stateDir, apiUrl, dev) {
285
+ consola.log("");
286
+ consola.start("Uploading sessions to dashboard...");
287
+ const uploadResult = await executeSessionUpload({
288
+ stateDir,
289
+ apiUrl,
290
+ dev,
291
+ fetch: globalThis.fetch,
292
+ onProgress(event) {
293
+ if (event.phase === "uploading") {
294
+ consola.info(` ${pc.dim(`Batch ${event.batch}/${event.totalBatches}`)} (${event.message})`);
295
+ }
296
+ },
297
+ });
298
+ if (!uploadResult.success && uploadResult.error?.match(/not logged in/i)) {
299
+ // Already shown by token upload — skip redundant message
300
+ return;
301
+ }
302
+ if (uploadResult.success) {
303
+ if (uploadResult.uploaded === 0) {
304
+ consola.info("No pending session records to upload.");
196
305
  }
197
306
  else {
198
- consola.success(`Uploaded ${pc.bold(String(uploadResult.uploaded))} records in ${uploadResult.batches} batch(es).`);
307
+ consola.success(`Uploaded ${pc.bold(String(uploadResult.uploaded))} session records in ${uploadResult.batches} batch(es).`);
199
308
  }
200
309
  }
201
310
  else {
202
- consola.error(`Upload failed: ${uploadResult.error}`);
311
+ consola.error(`Session upload failed: ${uploadResult.error}`);
203
312
  if (uploadResult.uploaded > 0) {
204
313
  consola.info(` ${pc.yellow(String(uploadResult.uploaded))} records uploaded before failure.`);
205
314
  }
@@ -209,7 +318,7 @@ async function runUpload(stateDir, apiUrl, dev) {
209
318
  export const main = defineCommand({
210
319
  meta: {
211
320
  name: "pew",
212
- version: "0.4.0",
321
+ version: "0.5.0",
213
322
  description: "Track token usage from your local AI coding tools",
214
323
  },
215
324
  subCommands: {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Session sync orchestrator.
3
+ *
4
+ * Discovers AI tool session files, full-scans changed files (mtime+size
5
+ * dual-check), collects SessionSnapshots, converts to SessionQueueRecords,
6
+ * deduplicates, and writes to session queue.
7
+ *
8
+ * Fully independent from the token sync pipeline — separate cursors,
9
+ * separate queue, separate files.
10
+ */
11
+ import type { SessionRow, SessionMessageRow } from "../parsers/opencode-sqlite-session.js";
12
+ /** Session sync execution options */
13
+ export interface SessionSyncOptions {
14
+ /** Directory for persisting state (cursors, queue) */
15
+ stateDir: string;
16
+ /** Override: Claude data directory (~/.claude) */
17
+ claudeDir?: string;
18
+ /** Override: Codex CLI sessions directory (~/.codex/sessions) */
19
+ codexSessionsDir?: string;
20
+ /** Override: Gemini data directory (~/.gemini) */
21
+ geminiDir?: string;
22
+ /** Override: OpenCode message directory (~/.local/share/opencode/storage/message) */
23
+ openCodeMessageDir?: string;
24
+ /** Override: OpenCode SQLite database path (~/.local/share/opencode/opencode.db) */
25
+ openCodeDbPath?: string;
26
+ /** Factory for opening the OpenCode SQLite DB for sessions (DI for testability) */
27
+ openSessionDb?: (dbPath: string) => {
28
+ querySessions: (lastTimeUpdated: number) => SessionRow[];
29
+ querySessionMessages: (sessionIds: string[]) => SessionMessageRow[];
30
+ close: () => void;
31
+ } | null;
32
+ /** Override: OpenClaw data directory (~/.openclaw) */
33
+ openclawDir?: string;
34
+ /** Progress callback */
35
+ onProgress?: (event: SessionProgressEvent) => void;
36
+ }
37
+ /** Progress event for UI display */
38
+ export interface SessionProgressEvent {
39
+ source: string;
40
+ phase: "discover" | "parse" | "dedup" | "done" | "warn";
41
+ current?: number;
42
+ total?: number;
43
+ message?: string;
44
+ }
45
+ /** Result of a session sync execution */
46
+ export interface SessionSyncResult {
47
+ totalSnapshots: number;
48
+ totalRecords: number;
49
+ sources: {
50
+ claude: number;
51
+ codex: number;
52
+ gemini: number;
53
+ opencode: number;
54
+ openclaw: number;
55
+ };
56
+ }
57
+ /**
58
+ * Execute session sync: discover files, full-scan changed files,
59
+ * collect snapshots, deduplicate, and write to session queue.
60
+ */
61
+ export declare function executeSessionSync(opts: SessionSyncOptions): Promise<SessionSyncResult>;
62
+ //# sourceMappingURL=session-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-sync.d.ts","sourceRoot":"","sources":["../../src/commands/session-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmBH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAO3F,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;CACH;AA+DD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAoa5B"}