@agentstrack/collector 0.2.1 → 0.3.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 (52) hide show
  1. package/CHANGELOG.md +154 -1
  2. package/README.md +78 -28
  3. package/dist/adapters/claude.d.ts +18 -0
  4. package/dist/adapters/claude.js +153 -45
  5. package/dist/adapters/claude.js.map +1 -1
  6. package/dist/adapters/codex.d.ts +15 -1
  7. package/dist/adapters/codex.js +81 -33
  8. package/dist/adapters/codex.js.map +1 -1
  9. package/dist/adapters/opencode.d.ts +17 -6
  10. package/dist/adapters/opencode.js +72 -26
  11. package/dist/adapters/opencode.js.map +1 -1
  12. package/dist/adapters/types.d.ts +16 -0
  13. package/dist/adapters/types.js +61 -0
  14. package/dist/adapters/types.js.map +1 -1
  15. package/dist/cli.js +164 -33
  16. package/dist/cli.js.map +1 -1
  17. package/dist/commands/service.js +40 -10
  18. package/dist/commands/service.js.map +1 -1
  19. package/dist/config.d.ts +1 -1
  20. package/dist/config.js +18 -5
  21. package/dist/config.js.map +1 -1
  22. package/dist/daemon.d.ts +73 -21
  23. package/dist/daemon.js +350 -119
  24. package/dist/daemon.js.map +1 -1
  25. package/dist/git/commits.d.ts +7 -1
  26. package/dist/git/commits.js +36 -17
  27. package/dist/git/commits.js.map +1 -1
  28. package/dist/git/repo.d.ts +13 -4
  29. package/dist/git/repo.js +34 -20
  30. package/dist/git/repo.js.map +1 -1
  31. package/dist/machine.d.ts +27 -0
  32. package/dist/machine.js +46 -0
  33. package/dist/machine.js.map +1 -0
  34. package/dist/privacy/pipeline.d.ts +3 -0
  35. package/dist/privacy/pipeline.js +4 -2
  36. package/dist/privacy/pipeline.js.map +1 -1
  37. package/dist/privacy/redact.d.ts +10 -1
  38. package/dist/privacy/redact.js +29 -3
  39. package/dist/privacy/redact.js.map +1 -1
  40. package/dist/queue/event-id.d.ts +9 -0
  41. package/dist/queue/event-id.js +15 -0
  42. package/dist/queue/event-id.js.map +1 -0
  43. package/dist/queue/spool.d.ts +24 -5
  44. package/dist/queue/spool.js +89 -33
  45. package/dist/queue/spool.js.map +1 -1
  46. package/dist/queue/tailer.d.ts +27 -4
  47. package/dist/queue/tailer.js +89 -28
  48. package/dist/queue/tailer.js.map +1 -1
  49. package/dist/transport/client.d.ts +37 -13
  50. package/dist/transport/client.js +50 -3
  51. package/dist/transport/client.js.map +1 -1
  52. package/package.json +2 -2
@@ -15,13 +15,14 @@ import type { AgentAdapter, DetectionResult, HealthStatus, NormalizeContext, Nor
15
15
  * part — the timeline: text, tool calls with input/output and timings.
16
16
  *
17
17
  * THIS IS A LIVE DATABASE THE USER'S EDITOR IS WRITING TO. It is opened
18
- * read-only with a busy timeout, one short query at a time, and closed again.
19
- * The collector must never be the reason someone's session data is corrupted
20
- * or their editor blocks.
18
+ * read-only with a busy timeout and only short queries run on it. The
19
+ * collector must never be the reason someone's session data is corrupted or
20
+ * their editor blocks.
21
21
  *
22
22
  * Because there are no lines, normalize() has nothing to do and the adapter
23
23
  * implements poll() instead (see AgentAdapter.poll). Resumption uses the
24
- * spool's meta store: three cursors, no per-session bookkeeping.
24
+ * spool's meta store: two cursors plus one marker per session whose
25
+ * session.started has been emitted.
25
26
  */
26
27
  export declare const OPENCODE_DATA_DIR: string;
27
28
  /**
@@ -38,6 +39,9 @@ export declare class OpenCodeAdapter implements AgentAdapter {
38
39
  private readonly dataDir;
39
40
  private readonly backfillDays;
40
41
  readonly id = "opencode";
42
+ /** The one read-only handle, opened lazily; statements are prepared once per handle. */
43
+ private conn?;
44
+ private version?;
41
45
  constructor(dataDir?: string, backfillDays?: number);
42
46
  detect(): Promise<DetectionResult>;
43
47
  health(): Promise<HealthStatus>;
@@ -46,16 +50,23 @@ export declare class OpenCodeAdapter implements AgentAdapter {
46
50
  poll(ctx: PollContext): Promise<NormalizedEvent[]>;
47
51
  private sessionEvents;
48
52
  private partEvents;
49
- /** Newest session's `version` column — OpenCode stamps its own version on every row. */
53
+ /**
54
+ * Newest session's `version` column — OpenCode stamps its own version on
55
+ * every row. detect() runs every scan cycle; the value changes on upgrade,
56
+ * so a minute-old reading is plenty.
57
+ */
50
58
  private latestVersion;
51
59
  /**
52
- * One short read-only query, then the handle is closed.
60
+ * One short read-only query on the shared handle.
53
61
  *
54
62
  * readonly + fileMustExist means a bug here cannot write, migrate or create
55
63
  * anything; busy_timeout means a concurrent OpenCode write makes us wait
56
64
  * briefly instead of failing, and query_only is the belt to that suspenders.
65
+ * The handle is dropped on any error or when the database path changes, so
66
+ * a rotated or replaced file is picked up on the next call.
57
67
  */
58
68
  private query;
69
+ private disconnect;
59
70
  }
60
71
  type Wrap = (atMs: number, event_type: NormalizedEvent['event']['event_type'], payload: Record<string, unknown>) => NormalizedEvent;
61
72
  /** `session.model` is a JSON blob — `{"id":"…","providerID":"…","variant":"…"}`. */
@@ -23,13 +23,14 @@ import { deriveTitle } from '../sessions/title.js';
23
23
  * part — the timeline: text, tool calls with input/output and timings.
24
24
  *
25
25
  * THIS IS A LIVE DATABASE THE USER'S EDITOR IS WRITING TO. It is opened
26
- * read-only with a busy timeout, one short query at a time, and closed again.
27
- * The collector must never be the reason someone's session data is corrupted
28
- * or their editor blocks.
26
+ * read-only with a busy timeout and only short queries run on it. The
27
+ * collector must never be the reason someone's session data is corrupted or
28
+ * their editor blocks.
29
29
  *
30
30
  * Because there are no lines, normalize() has nothing to do and the adapter
31
31
  * implements poll() instead (see AgentAdapter.poll). Resumption uses the
32
- * spool's meta store: three cursors, no per-session bookkeeping.
32
+ * spool's meta store: two cursors plus one marker per session whose
33
+ * session.started has been emitted.
33
34
  */
34
35
  export const OPENCODE_DATA_DIR = process.env['OPENCODE_DATA_DIR'] ??
35
36
  join(process.env['XDG_DATA_HOME'] ?? join(homedir(), '.local', 'share'), 'opencode');
@@ -78,13 +79,24 @@ const DEFAULT_BACKFILL_DAYS = 7;
78
79
  /** Bounds one poll so a cold start drains over several cycles instead of one huge batch. */
79
80
  const SESSION_LIMIT = 200;
80
81
  const PART_LIMIT = 1000;
81
- const CURSOR_SESSION_CREATED = 'opencode:cursor:session_created';
82
82
  const CURSOR_SESSION_UPDATED = 'opencode:cursor:session_updated';
83
83
  const CURSOR_PART_UPDATED = 'opencode:cursor:part_updated';
84
+ /**
85
+ * `opencode:started:<session id>` = '1' once session.started went out. Sessions
86
+ * are fetched by time_updated, so a cursor on time_created missed every session
87
+ * that was created before one already seen and touched later — i.e. every
88
+ * resumed session.
89
+ */
90
+ const STARTED_PREFIX = 'opencode:started:';
91
+ /** How long a detect() may reuse the version it last read from the database. */
92
+ const VERSION_TTL_MS = 60_000;
84
93
  export class OpenCodeAdapter {
85
94
  dataDir;
86
95
  backfillDays;
87
96
  id = 'opencode';
97
+ /** The one read-only handle, opened lazily; statements are prepared once per handle. */
98
+ conn;
99
+ version;
88
100
  constructor(dataDir = OPENCODE_DATA_DIR, backfillDays = DEFAULT_BACKFILL_DAYS) {
89
101
  this.dataDir = dataDir;
90
102
  this.backfillDays = backfillDays;
@@ -134,7 +146,6 @@ export class OpenCodeAdapter {
134
146
  };
135
147
  const events = [];
136
148
  const sessionUpdated = cursor(CURSOR_SESSION_UPDATED);
137
- const sessionCreated = cursor(CURSOR_SESSION_CREATED);
138
149
  const partUpdated = cursor(CURSOR_PART_UPDATED);
139
150
  const sessions = this.query(`SELECT id, parent_id, directory, title, version, agent, model, cost,
140
151
  tokens_input, tokens_output, tokens_reasoning, tokens_cache_read, tokens_cache_write,
@@ -143,13 +154,11 @@ export class OpenCodeAdapter {
143
154
  WHERE time_updated > ?
144
155
  ORDER BY time_updated ASC
145
156
  LIMIT ?`, sessionUpdated, SESSION_LIMIT);
146
- const sessionAccounts = readOpenCodeAccounts(this.dataDir);
157
+ const accounts = readOpenCodeAccounts(this.dataDir);
147
158
  let maxUpdated = sessionUpdated;
148
- let maxCreated = sessionCreated;
149
159
  for (const row of sessions) {
150
- events.push(...this.sessionEvents(row, sessionCreated, sessionAccounts));
160
+ events.push(...this.sessionEvents(row, ctx, accounts));
151
161
  maxUpdated = Math.max(maxUpdated, row.time_updated);
152
- maxCreated = Math.max(maxCreated, row.time_created);
153
162
  }
154
163
  const parts = this.query(`SELECT p.session_id, p.time_created, p.time_updated, p.data,
155
164
  m.data AS message_data, s.directory, s.version, s.model
@@ -160,21 +169,20 @@ export class OpenCodeAdapter {
160
169
  ORDER BY p.time_updated ASC
161
170
  LIMIT ?`, partUpdated, PART_LIMIT);
162
171
  let maxPart = partUpdated;
163
- const accounts = readOpenCodeAccounts(this.dataDir);
164
172
  for (const row of parts) {
165
173
  events.push(...this.partEvents(row, accounts));
166
174
  maxPart = Math.max(maxPart, row.time_updated);
167
175
  }
168
176
  ctx.setMeta(CURSOR_SESSION_UPDATED, String(maxUpdated));
169
- ctx.setMeta(CURSOR_SESSION_CREATED, String(maxCreated));
170
177
  ctx.setMeta(CURSOR_PART_UPDATED, String(maxPart));
171
178
  return events;
172
179
  }
173
- sessionEvents(row, createdCursor, accounts) {
180
+ sessionEvents(row, ctx, accounts) {
174
181
  const { model, provider } = parseModel(row.model);
175
182
  const wrap = wrapper(row.id, row.version ?? undefined, row.directory, account(accounts, provider));
176
183
  const events = [];
177
- if (row.time_created > createdCursor) {
184
+ if (ctx.getMeta(STARTED_PREFIX + row.id) === null) {
185
+ ctx.setMeta(STARTED_PREFIX + row.id, '1');
178
186
  events.push(wrap(row.time_created, 'session.started', {
179
187
  external_session_id: row.id,
180
188
  cwd: row.directory,
@@ -207,7 +215,11 @@ export class OpenCodeAdapter {
207
215
  const endedAt = row.time_archived ?? row.time_compacting;
208
216
  if (endedAt) {
209
217
  events.push(wrap(endedAt, 'session.ended', {
210
- reason: row.time_archived ? 'archived' : 'compacted',
218
+ external_session_id: row.id,
219
+ // The server's `reason` enum is normal|timeout|crash|unknown; what
220
+ // OpenCode actually did rides alongside as an extra key.
221
+ reason: 'normal',
222
+ end_kind: row.time_archived ? 'archived' : 'compacted',
211
223
  }));
212
224
  }
213
225
  return events;
@@ -239,35 +251,69 @@ export class OpenCodeAdapter {
239
251
  return toolEvents(data, row.time_created, wrap);
240
252
  return [];
241
253
  }
242
- /** Newest session's `version` column — OpenCode stamps its own version on every row. */
254
+ /**
255
+ * Newest session's `version` column — OpenCode stamps its own version on
256
+ * every row. detect() runs every scan cycle; the value changes on upgrade,
257
+ * so a minute-old reading is plenty.
258
+ */
243
259
  latestVersion() {
260
+ if (this.version && Date.now() - this.version.readAt < VERSION_TTL_MS)
261
+ return this.version.value;
262
+ let value;
244
263
  try {
245
- return (this.query('SELECT version FROM session ORDER BY time_updated DESC LIMIT 1')[0]?.version ?? undefined);
264
+ value =
265
+ this.query('SELECT version FROM session ORDER BY time_updated DESC LIMIT 1')[0]?.version ?? undefined;
246
266
  }
247
267
  catch {
248
- return undefined; // absent beats fabricated
268
+ value = undefined; // absent beats fabricated
249
269
  }
270
+ this.version = { readAt: Date.now(), value };
271
+ return value;
250
272
  }
251
273
  /**
252
- * One short read-only query, then the handle is closed.
274
+ * One short read-only query on the shared handle.
253
275
  *
254
276
  * readonly + fileMustExist means a bug here cannot write, migrate or create
255
277
  * anything; busy_timeout means a concurrent OpenCode write makes us wait
256
278
  * briefly instead of failing, and query_only is the belt to that suspenders.
279
+ * The handle is dropped on any error or when the database path changes, so
280
+ * a rotated or replaced file is picked up on the next call.
257
281
  */
258
282
  query(sql, ...params) {
259
283
  const path = resolveDbPath(this.dataDir);
260
- if (!path)
284
+ if (!path) {
285
+ this.disconnect();
261
286
  return [];
262
- const db = new Database(path, { readonly: true, fileMustExist: true });
287
+ }
288
+ if (this.conn && this.conn.path !== path)
289
+ this.disconnect();
263
290
  try {
264
- db.pragma('busy_timeout = 3000');
265
- db.pragma('query_only = 1');
266
- return db.prepare(sql).all(...params);
291
+ if (!this.conn) {
292
+ const db = new Database(path, { readonly: true, fileMustExist: true });
293
+ db.pragma('busy_timeout = 3000');
294
+ db.pragma('query_only = 1');
295
+ this.conn = { path, db, statements: new Map() };
296
+ }
297
+ let statement = this.conn.statements.get(sql);
298
+ if (!statement) {
299
+ statement = this.conn.db.prepare(sql);
300
+ this.conn.statements.set(sql, statement);
301
+ }
302
+ return statement.all(...params);
303
+ }
304
+ catch (error) {
305
+ this.disconnect();
306
+ throw error;
267
307
  }
268
- finally {
269
- db.close();
308
+ }
309
+ disconnect() {
310
+ try {
311
+ this.conn?.db.close();
312
+ }
313
+ catch {
314
+ // Already closed or never opened; nothing to release.
270
315
  }
316
+ this.conn = undefined;
271
317
  }
272
318
  }
273
319
  function account(accounts, provider) {
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/adapters/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/adapters/opencode.ts"],"names":[],"mappings":"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"}
@@ -91,7 +91,23 @@ export interface NormalizedEvent {
91
91
  * same machine. Takes precedence over adapter.account().
92
92
  */
93
93
  account?: AccountIdentity;
94
+ /**
95
+ * The id to spool the event under, when the adapter knows a seed more
96
+ * durable than "this line at this offset" — a message id that repeats
97
+ * across lines, say. Absent: the daemon derives one from the source line.
98
+ */
99
+ eventId?: string;
94
100
  }
95
101
  export declare function safeJsonParse(line: string): Record<string, unknown> | null;
96
102
  export declare function num(value: unknown): number;
97
103
  export declare function str(value: unknown): string | undefined;
104
+ /**
105
+ * The complete lines within the first `bytes` of a file.
106
+ *
107
+ * detect() runs every scan cycle and only needs a version string that sits on
108
+ * the first line, so reading the whole transcript (13 MB for a live Codex
109
+ * rollout) for it was pure churn. Same (path, mtime) cache as account.ts.
110
+ */
111
+ export declare function readHeadLines(path: string, bytes?: number): string[];
112
+ /** Newest `.jsonl` in a directory by mtime, not by readdir order. */
113
+ export declare function newestJsonl(dir: string): string | undefined;
@@ -1,3 +1,5 @@
1
+ import { closeSync, openSync, readSync, readdirSync, statSync } from 'node:fs';
2
+ import { join } from 'node:path';
1
3
  export function safeJsonParse(line) {
2
4
  const trimmed = line.trim();
3
5
  if (!trimmed || trimmed[0] !== '{')
@@ -17,4 +19,63 @@ export function num(value) {
17
19
  export function str(value) {
18
20
  return typeof value === 'string' && value.length > 0 ? value : undefined;
19
21
  }
22
+ /** Head-of-file lines cached on (path, mtime) — see readHeadLines. */
23
+ const headCache = new Map();
24
+ /**
25
+ * The complete lines within the first `bytes` of a file.
26
+ *
27
+ * detect() runs every scan cycle and only needs a version string that sits on
28
+ * the first line, so reading the whole transcript (13 MB for a live Codex
29
+ * rollout) for it was pure churn. Same (path, mtime) cache as account.ts.
30
+ */
31
+ export function readHeadLines(path, bytes = 16_384) {
32
+ let stats;
33
+ try {
34
+ stats = statSync(path);
35
+ }
36
+ catch {
37
+ headCache.delete(path);
38
+ return [];
39
+ }
40
+ const hit = headCache.get(path);
41
+ if (hit && hit.mtimeMs === stats.mtimeMs)
42
+ return hit.lines;
43
+ let lines = [];
44
+ try {
45
+ const fd = openSync(path, 'r');
46
+ try {
47
+ const buffer = Buffer.alloc(bytes);
48
+ const read = readSync(fd, buffer, 0, bytes, 0);
49
+ lines = buffer.toString('utf8', 0, read).split('\n');
50
+ if (read === bytes)
51
+ lines.pop(); // the last line was cut by the window
52
+ }
53
+ finally {
54
+ closeSync(fd);
55
+ }
56
+ }
57
+ catch {
58
+ // Unreadable file: absent is better than fabricated.
59
+ }
60
+ headCache.set(path, { mtimeMs: stats.mtimeMs, lines });
61
+ return lines;
62
+ }
63
+ /** Newest `.jsonl` in a directory by mtime, not by readdir order. */
64
+ export function newestJsonl(dir) {
65
+ let best;
66
+ for (const name of readdirSync(dir)) {
67
+ if (!name.endsWith('.jsonl'))
68
+ continue;
69
+ const path = join(dir, name);
70
+ try {
71
+ const { mtimeMs } = statSync(path);
72
+ if (!best || mtimeMs > best.mtimeMs)
73
+ best = { path, mtimeMs };
74
+ }
75
+ catch {
76
+ // Removed between readdir and stat.
77
+ }
78
+ }
79
+ return best?.path;
80
+ }
20
81
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAsGA,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAkC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"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"}