agenticreplay 0.1.4 → 0.1.6

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 (144) hide show
  1. package/README.md +3 -3
  2. package/node_modules/@agenticreplay/adapters/dist/claude-code.d.ts.map +1 -1
  3. package/node_modules/@agenticreplay/adapters/dist/claude-code.js +0 -8
  4. package/node_modules/@agenticreplay/adapters/dist/claude-code.js.map +1 -1
  5. package/node_modules/@agenticreplay/adapters/dist/codex.d.ts.map +1 -1
  6. package/node_modules/@agenticreplay/adapters/dist/codex.js +0 -18
  7. package/node_modules/@agenticreplay/adapters/dist/codex.js.map +1 -1
  8. package/node_modules/@agenticreplay/adapters/dist/contract.d.ts +1 -1
  9. package/node_modules/@agenticreplay/adapters/dist/contract.d.ts.map +1 -1
  10. package/node_modules/@agenticreplay/adapters/dist/contract.js +0 -46
  11. package/node_modules/@agenticreplay/adapters/dist/contract.js.map +1 -1
  12. package/node_modules/@agenticreplay/adapters/dist/indexrag.d.ts.map +1 -1
  13. package/node_modules/@agenticreplay/adapters/dist/indexrag.js +0 -6
  14. package/node_modules/@agenticreplay/adapters/dist/indexrag.js.map +1 -1
  15. package/node_modules/@agenticreplay/adapters/package.json +6 -6
  16. package/node_modules/@agenticreplay/core/dist/graph.d.ts +0 -24
  17. package/node_modules/@agenticreplay/core/dist/graph.d.ts.map +1 -1
  18. package/node_modules/@agenticreplay/core/dist/graph.js +0 -68
  19. package/node_modules/@agenticreplay/core/dist/graph.js.map +1 -1
  20. package/node_modules/@agenticreplay/core/dist/paths.d.ts +1 -12
  21. package/node_modules/@agenticreplay/core/dist/paths.d.ts.map +1 -1
  22. package/node_modules/@agenticreplay/core/dist/paths.js +1 -22
  23. package/node_modules/@agenticreplay/core/dist/paths.js.map +1 -1
  24. package/node_modules/@agenticreplay/core/dist/writer.d.ts +0 -9
  25. package/node_modules/@agenticreplay/core/dist/writer.d.ts.map +1 -1
  26. package/node_modules/@agenticreplay/core/dist/writer.js +0 -5
  27. package/node_modules/@agenticreplay/core/dist/writer.js.map +1 -1
  28. package/node_modules/@agenticreplay/core/package.json +3 -3
  29. package/node_modules/@agenticreplay/fs-capture/dist/capture.d.ts +4 -15
  30. package/node_modules/@agenticreplay/fs-capture/dist/capture.d.ts.map +1 -1
  31. package/node_modules/@agenticreplay/fs-capture/dist/capture.js +22 -33
  32. package/node_modules/@agenticreplay/fs-capture/dist/capture.js.map +1 -1
  33. package/node_modules/@agenticreplay/fs-capture/dist/shadow.d.ts +0 -39
  34. package/node_modules/@agenticreplay/fs-capture/dist/shadow.d.ts.map +1 -1
  35. package/node_modules/@agenticreplay/fs-capture/dist/shadow.js +0 -63
  36. package/node_modules/@agenticreplay/fs-capture/dist/shadow.js.map +1 -1
  37. package/node_modules/@agenticreplay/fs-capture/package.json +2 -2
  38. package/node_modules/@agenticreplay/mcp-shim/dist/cli.d.ts +0 -2
  39. package/node_modules/@agenticreplay/mcp-shim/dist/cli.d.ts.map +1 -1
  40. package/node_modules/@agenticreplay/mcp-shim/dist/cli.js +2 -92
  41. package/node_modules/@agenticreplay/mcp-shim/dist/cli.js.map +1 -1
  42. package/node_modules/@agenticreplay/mcp-shim/dist/index.d.ts +0 -1
  43. package/node_modules/@agenticreplay/mcp-shim/dist/index.d.ts.map +1 -1
  44. package/node_modules/@agenticreplay/mcp-shim/dist/index.js +0 -1
  45. package/node_modules/@agenticreplay/mcp-shim/dist/index.js.map +1 -1
  46. package/node_modules/@agenticreplay/mcp-shim/package.json +1 -1
  47. package/node_modules/@agenticreplay/node-instrument/package.json +1 -1
  48. package/node_modules/@agenticreplay/plugin-api/dist/plugins.d.ts +9 -212
  49. package/node_modules/@agenticreplay/plugin-api/dist/plugins.d.ts.map +1 -1
  50. package/node_modules/@agenticreplay/plugin-api/package.json +1 -1
  51. package/node_modules/@agenticreplay/providers/package.json +3 -3
  52. package/node_modules/@agenticreplay/proxy/dist/dialects.d.ts +3 -29
  53. package/node_modules/@agenticreplay/proxy/dist/dialects.d.ts.map +1 -1
  54. package/node_modules/@agenticreplay/proxy/dist/dialects.js +3 -69
  55. package/node_modules/@agenticreplay/proxy/dist/dialects.js.map +1 -1
  56. package/node_modules/@agenticreplay/proxy/dist/index.d.ts +0 -2
  57. package/node_modules/@agenticreplay/proxy/dist/index.d.ts.map +1 -1
  58. package/node_modules/@agenticreplay/proxy/dist/index.js +0 -2
  59. package/node_modules/@agenticreplay/proxy/dist/index.js.map +1 -1
  60. package/node_modules/@agenticreplay/proxy/dist/intercept.d.ts +0 -48
  61. package/node_modules/@agenticreplay/proxy/dist/intercept.d.ts.map +1 -1
  62. package/node_modules/@agenticreplay/proxy/dist/intercept.js +32 -157
  63. package/node_modules/@agenticreplay/proxy/dist/intercept.js.map +1 -1
  64. package/node_modules/@agenticreplay/proxy/dist/server.d.ts +2 -148
  65. package/node_modules/@agenticreplay/proxy/dist/server.d.ts.map +1 -1
  66. package/node_modules/@agenticreplay/proxy/dist/server.js +25 -874
  67. package/node_modules/@agenticreplay/proxy/dist/server.js.map +1 -1
  68. package/node_modules/@agenticreplay/proxy/package.json +5 -5
  69. package/node_modules/@agenticreplay/schema/package.json +1 -1
  70. package/node_modules/@agenticreplay/shell-shim/package.json +3 -3
  71. package/node_modules/@agenticreplay/viewer/package.json +2 -2
  72. package/package.json +13 -14
  73. package/packages/cli/dist/api.d.ts +1 -27
  74. package/packages/cli/dist/api.d.ts.map +1 -1
  75. package/packages/cli/dist/api.js +2 -31
  76. package/packages/cli/dist/api.js.map +1 -1
  77. package/packages/cli/dist/args.d.ts.map +1 -1
  78. package/packages/cli/dist/args.js +0 -7
  79. package/packages/cli/dist/args.js.map +1 -1
  80. package/packages/cli/dist/commands/attach.d.ts +1 -4
  81. package/packages/cli/dist/commands/attach.d.ts.map +1 -1
  82. package/packages/cli/dist/commands/attach.js +24 -109
  83. package/packages/cli/dist/commands/attach.js.map +1 -1
  84. package/packages/cli/dist/commands/cost.d.ts +3 -0
  85. package/packages/cli/dist/commands/cost.d.ts.map +1 -0
  86. package/packages/cli/dist/commands/cost.js +13 -0
  87. package/packages/cli/dist/commands/cost.js.map +1 -0
  88. package/packages/cli/dist/commands/gc.d.ts +0 -2
  89. package/packages/cli/dist/commands/gc.d.ts.map +1 -1
  90. package/packages/cli/dist/commands/gc.js +3 -47
  91. package/packages/cli/dist/commands/gc.js.map +1 -1
  92. package/packages/cli/dist/commands/inspect.d.ts +0 -2
  93. package/packages/cli/dist/commands/inspect.d.ts.map +1 -1
  94. package/packages/cli/dist/commands/inspect.js +4 -30
  95. package/packages/cli/dist/commands/inspect.js.map +1 -1
  96. package/packages/cli/dist/commands/quickstart.d.ts +2 -34
  97. package/packages/cli/dist/commands/quickstart.d.ts.map +1 -1
  98. package/packages/cli/dist/commands/quickstart.js +32 -340
  99. package/packages/cli/dist/commands/quickstart.js.map +1 -1
  100. package/packages/cli/dist/commands/record.d.ts.map +1 -1
  101. package/packages/cli/dist/commands/record.js +34 -103
  102. package/packages/cli/dist/commands/record.js.map +1 -1
  103. package/packages/cli/dist/commands/setup.d.ts.map +1 -1
  104. package/packages/cli/dist/commands/setup.js +1 -30
  105. package/packages/cli/dist/commands/setup.js.map +1 -1
  106. package/packages/cli/dist/commands/sync.js +1 -1
  107. package/packages/cli/dist/commands/sync.js.map +1 -1
  108. package/packages/cli/dist/config.d.ts +1 -4
  109. package/packages/cli/dist/config.d.ts.map +1 -1
  110. package/packages/cli/dist/config.js.map +1 -1
  111. package/packages/cli/dist/flags.d.ts.map +1 -1
  112. package/packages/cli/dist/flags.js +4 -45
  113. package/packages/cli/dist/flags.js.map +1 -1
  114. package/packages/cli/dist/fs-events.d.ts +2 -13
  115. package/packages/cli/dist/fs-events.d.ts.map +1 -1
  116. package/packages/cli/dist/fs-events.js +5 -64
  117. package/packages/cli/dist/fs-events.js.map +1 -1
  118. package/packages/cli/dist/index.d.ts +0 -2
  119. package/packages/cli/dist/index.d.ts.map +1 -1
  120. package/packages/cli/dist/index.js +0 -2
  121. package/packages/cli/dist/index.js.map +1 -1
  122. package/packages/cli/dist/main.d.ts.map +1 -1
  123. package/packages/cli/dist/main.js +12 -67
  124. package/packages/cli/dist/main.js.map +1 -1
  125. package/packages/cli/dist/mcp-server.d.ts.map +1 -1
  126. package/packages/cli/dist/mcp-server.js +3 -86
  127. package/packages/cli/dist/mcp-server.js.map +1 -1
  128. package/packages/cli/dist/mcp.d.ts +1 -73
  129. package/packages/cli/dist/mcp.d.ts.map +1 -1
  130. package/packages/cli/dist/mcp.js +3 -113
  131. package/packages/cli/dist/mcp.js.map +1 -1
  132. package/packages/cli/dist/share-card.d.ts +0 -20
  133. package/packages/cli/dist/share-card.d.ts.map +1 -1
  134. package/packages/cli/dist/share-card.js +0 -63
  135. package/packages/cli/dist/share-card.js.map +1 -1
  136. package/packages/cli/dist/snapshot.d.ts +2 -5
  137. package/packages/cli/dist/snapshot.d.ts.map +1 -1
  138. package/packages/cli/dist/snapshot.js +2 -3
  139. package/packages/cli/dist/snapshot.js.map +1 -1
  140. package/packages/cli/dist/tls-capture.d.ts +1 -17
  141. package/packages/cli/dist/tls-capture.d.ts.map +1 -1
  142. package/packages/cli/dist/tls-capture.js +7 -77
  143. package/packages/cli/dist/tls-capture.js.map +1 -1
  144. package/packages/cli/package.json +11 -11
@@ -11,7 +11,7 @@ import type { Output } from '../out.js';
11
11
  *
12
12
  * So this inverts it. AgenticReplay holds the proxy open, prints exactly what to export on the far side,
13
13
  * and records whatever arrives until it is stopped. The recording that comes out is not a lesser
14
- * one: same matcher, same events, same `agenticreplay replay`.
14
+ * one: the same request and action events as a locally launched recording.
15
15
  *
16
16
  * The adapters are still what produce the variables — `--for claude` prints what the Claude Code
17
17
  * adapter would have set, pointed at the advertised address instead of a loopback one. That keeps
@@ -24,9 +24,6 @@ export interface AttachResult {
24
24
  modelExchanges: number;
25
25
  events: number;
26
26
  proxyUrl: string;
27
- /** Replay sessions only: recorded exchanges served back, and requests nothing matched. */
28
- reused: number;
29
- unmatched: number;
30
27
  /**
31
28
  * Non-zero when replay cannot answer a request or recording coverage is incomplete.
32
29
  * An operator stopping the session is normal; missing transport evidence still returns exit 2.
@@ -1 +1 @@
1
- {"version":3,"file":"attach.d.ts","sourceRoot":"","sources":["../../src/commands/attach.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAexC;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,sFAAsF;IACtF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC/D;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,EACnB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAQvB"}
1
+ {"version":3,"file":"attach.d.ts","sourceRoot":"","sources":["../../src/commands/attach.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAaxC;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,sFAAsF;IACtF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC/D;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,EACnB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAQvB"}
@@ -1,12 +1,11 @@
1
1
  import { once } from 'node:events';
2
- import { TraceReader, TraceWriter, ensureRunsDir, resolveRunSelector } from '@agenticreplay/core';
2
+ import { TraceWriter, ensureRunsDir } from '@agenticreplay/core';
3
3
  import { createProxy, } from '@agenticreplay/proxy';
4
4
  import { defaultAdapters } from '@agenticreplay/adapters';
5
5
  import { advertisedUrl, attachExports, attachInstructions } from '../attach.js';
6
6
  import { ExchangeEventDeriver, appendDerivedEvents } from '../exchange-events.js';
7
7
  import { SerialQueue } from '../serial.js';
8
- import { planTlsCapture, recordedTlsHosts, setupTlsCapture, persistNetRequestStart, persistNetExchange, } from '../tls-capture.js';
9
- import { loadExchanges } from './replay.js';
8
+ import { planTlsCapture, setupTlsCapture, persistNetRequestStart, persistNetExchange, } from '../tls-capture.js';
10
9
  import { upstreamPlan } from '../upstream.js';
11
10
  import { AGENTICREPLAY_VERSION } from '../version.js';
12
11
  export async function attachCommand(args, out, cwd = process.cwd(), options = {}) {
@@ -33,48 +32,15 @@ async function runAttached(args, out, cwd, options, minted) {
33
32
  port: requestedPort === 0 ? 1 : requestedPort,
34
33
  ...(advertise === undefined ? {} : { advertise }),
35
34
  });
36
- /**
37
- * Serving a recording back instead of recording a new one.
38
- *
39
- * `agenticreplay replay` launches the agent, which is right for a run agenticreplay recorded by launching it and
40
- * impossible for one that came from a sandbox — the agent may not exist on this machine at all.
41
- * So replay attaches too: same proxy, same matcher, same blocked egress, and the operator points
42
- * the same remote agent at it.
43
- */
44
- // The parser turns a flag with no value into `true`, so a bare `--replay` — or `--replay
45
- // --tls-intercept`, where the next token is itself a flag — would read as absent and start a
46
- // *recording* session against the live provider. That is the worst direction to fail in.
47
- if (args.has('replay') && args.str('replay') === undefined) {
48
- throw new Error('--replay needs the run to serve: agenticreplay attach --replay <run>, or --replay last');
49
- }
50
- const replaySelector = args.str('replay');
51
- const replaying = replaySelector
52
- ? await (async () => {
53
- const runDir = (await resolveRunSelector(cwd, replaySelector)).dir;
54
- const reader = await TraceReader.open(runDir);
55
- return {
56
- exchanges: await loadExchanges(reader),
57
- hosts: recordedTlsHosts(await reader.events()),
58
- // Which harness made the recording. It will be the one connecting again, so it is the
59
- // right default for the block the operator pastes.
60
- adapter: reader.manifest().adapter?.id,
61
- };
62
- })()
63
- : undefined;
64
- /**
65
- * `exec` is the honest default for a fresh session: agenticreplay does not know what will connect, and
66
- * detecting an agent from this directory would be a guess about a machine it cannot see. For a
67
- * replay it is the wrong default and a useless one — `exec` sets no variables, so the block the
68
- * operator is meant to paste comes out empty. The recording names the harness, so use it.
69
- */
70
- const adapterName = args.str('for') ?? replaying?.adapter ?? 'exec';
35
+ // The remote process is not visible locally, so the operator names its harness or uses exec.
36
+ const adapterName = args.str('for') ?? 'exec';
71
37
  const adapter = registry.get(adapterName);
72
38
  // The last thing that can refuse the run, and it runs before the trace exists: a writer created
73
39
  // first and abandoned by a throw leaves an unsealed run directory behind, which then wins `last`
74
40
  // — so the next command someone types operates on the session that never happened. Awaited
75
41
  // since it grew the one refusal that needs the disk, an `AGENTICREPLAY_TLS_UPSTREAM_CA` that cannot be
76
42
  // read; the guarantee here is unchanged, it just covers one more way to fail.
77
- await planTlsCapture(args, replaying?.hosts);
43
+ await planTlsCapture(args);
78
44
  // Before the run directory exists, because this refuses an upstream that is not an origin: resolved after it, a
79
45
  // typo in `--upstream-*` left an empty run behind for `agenticreplay list` to show. It depends on nothing
80
46
  // but the arguments and the environment, so there is no reason for it to run any later.
@@ -92,7 +58,6 @@ async function runAttached(args, out, cwd, options, minted) {
92
58
  });
93
59
  let modelExchanges = 0;
94
60
  let turn = 0;
95
- let unmatched = 0;
96
61
  const writes = new SerialQueue();
97
62
  const attempts = new Map();
98
63
  let terminalAttempts = 0;
@@ -110,7 +75,6 @@ async function runAttached(args, out, cwd, options, minted) {
110
75
  const tls = await setupTlsCapture({
111
76
  args,
112
77
  out,
113
- ...(replaying ? { recordedHosts: replaying.hosts } : {}),
114
78
  writer,
115
79
  writes,
116
80
  // Out-of-band traffic belongs to whichever turn was in progress when it happened, exactly as in
@@ -121,13 +85,6 @@ async function runAttached(args, out, cwd, options, minted) {
121
85
  });
122
86
  if (tls.ca)
123
87
  minted.push(tls.ca);
124
- // Read before the proxy closes: `stats()` is a snapshot of a live object, and the teardown in
125
- // `finally` is the last moment it is still meaningful.
126
- let stats = {
127
- matchedExact: 0,
128
- matchedInexact: 0,
129
- unmatched: 0,
130
- };
131
88
  const deriver = new ExchangeEventDeriver();
132
89
  // BEFORE THE PROXY, NOT AFTER: `createProxy` is listening by the time it returns, and the first
133
90
  // thing a remote agent sends becomes an event. `attach` wrote no run.start at all, so every
@@ -141,10 +98,6 @@ async function runAttached(args, out, cwd, options, minted) {
141
98
  attrs: { adapter: adapter.id, cwd, attached: true },
142
99
  });
143
100
  const proxy = await createProxy({
144
- // A replay session serves the recording and blocks egress, exactly as `agenticreplay replay` does. The
145
- // only difference is which side starts the agent, and that is not a difference the proxy has.
146
- mode: replaying ? 'replay' : 'record',
147
- ...(replaying ? { exchanges: replaying.exchanges, loose: args.bool('loose') } : {}),
148
101
  host: bind,
149
102
  port: requestedPort,
150
103
  upstream: plan.upstream,
@@ -153,9 +106,6 @@ async function runAttached(args, out, cwd, options, minted) {
153
106
  ...tls.proxyOptions,
154
107
  onRequestStart: start,
155
108
  onNetExchange: finish,
156
- onUnmatched: () => {
157
- unmatched += 1;
158
- },
159
109
  onExchange: (exchange) => {
160
110
  modelExchanges += 1;
161
111
  const at = exchange.requestId ? (attempts.get(exchange.requestId) ?? 0) : 0;
@@ -196,15 +146,6 @@ async function runAttached(args, out, cwd, options, minted) {
196
146
  run: writer.runId,
197
147
  proxy: proxyUrl,
198
148
  for: adapter.id,
199
- ...(replaying
200
- ? {
201
- serving: replaySelector,
202
- exchanges: replaying.exchanges.length,
203
- // Same flag, same reason as `agenticreplay replay`: attach takes `--loose` too and passes it
204
- // to the same proxy, so the label has to come from it rather than be assumed.
205
- egress: args.bool('loose') ? 'live-on-unmatched' : 'blocked',
206
- }
207
- : {}),
208
149
  });
209
150
  if (proxy.tls) {
210
151
  out.warn('tls.intercepting', {
@@ -261,14 +202,11 @@ async function runAttached(args, out, cwd, options, minted) {
261
202
  for (const line of instructions)
262
203
  out.plain(` ${line}`);
263
204
  out.plain('');
264
- out.plain(replaying
265
- ? ' Serving the recording. Press ctrl-C when the agent is done.'
266
- : ' Recording. Press ctrl-C when the agent is done.');
205
+ out.plain(' Recording. Press ctrl-C when the agent is done.');
267
206
  options.onReady?.({ proxyUrl, runId: writer.runId });
268
207
  await (options.until ?? firstInterrupt());
269
208
  }
270
209
  finally {
271
- stats = proxy.stats();
272
210
  await proxy.close();
273
211
  await writes.drain().catch(() => writer.markCaptureIncomplete('storage_failure'));
274
212
  await tls.ca?.dispose();
@@ -278,24 +216,23 @@ async function runAttached(args, out, cwd, options, minted) {
278
216
  * given the block — or was given it in a shell that had already started the agent — produces a
279
217
  * session that ends cleanly and records nothing, and there is no exit code to hint at it.
280
218
  */
281
- if (modelExchanges === 0 && !replaying) {
219
+ if (modelExchanges === 0) {
282
220
  out.warn('capture.empty', {
283
221
  exchanges: 0,
284
222
  cause: 'nothing connected to the proxy while the session was open',
285
223
  next: 'check the sandbox can reach the advertised address, and that the exports were set',
286
224
  });
287
225
  }
288
- if (!replaying)
289
- writer.setCaptureSummary({
290
- status: terminalAttempts > 0 && terminalAttempts === attempts.size ? 'complete' : 'incomplete',
291
- issues: terminalAttempts === 0
292
- ? ['no_requests_observed']
293
- : terminalAttempts !== attempts.size
294
- ? ['unfinalized_request']
295
- : [],
296
- requests: attempts.size,
297
- responses: terminalAttempts,
298
- });
226
+ writer.setCaptureSummary({
227
+ status: terminalAttempts > 0 && terminalAttempts === attempts.size ? 'complete' : 'incomplete',
228
+ issues: terminalAttempts === 0
229
+ ? ['no_requests_observed']
230
+ : terminalAttempts !== attempts.size
231
+ ? ['unfinalized_request']
232
+ : [],
233
+ requests: attempts.size,
234
+ responses: terminalAttempts,
235
+ });
299
236
  // The other half of the bracket. `close` seals the manifest; it does not write the event.
300
237
  await writer.append({
301
238
  type: 'run.end',
@@ -304,24 +241,12 @@ async function runAttached(args, out, cwd, options, minted) {
304
241
  attrs: { exchanges: modelExchanges },
305
242
  });
306
243
  const manifest = await writer.close(0);
307
- // A replay session did not record a run, and saying it did would send someone looking for turns
308
- // in a trace that holds none. It reports what it actually did: how much of the recording the
309
- // agent asked for, and what it asked for that the recording could not answer.
310
- if (replaying) {
311
- out.info('served', {
312
- serving: replaySelector,
313
- reused: `${stats.matchedExact + stats.matchedInexact}/${replaying.exchanges.length}`,
314
- unmatched: stats.unmatched,
315
- });
316
- }
317
- else {
318
- out.info('recorded', {
319
- run: writer.runId,
320
- events: manifest.counts?.events ?? 0,
321
- exchanges: modelExchanges,
322
- dir: writer.runDir,
323
- });
324
- }
244
+ out.info('recorded', {
245
+ run: writer.runId,
246
+ events: manifest.counts?.events ?? 0,
247
+ exchanges: modelExchanges,
248
+ dir: writer.runDir,
249
+ });
325
250
  return {
326
251
  runId: writer.runId,
327
252
  runDir: writer.runDir,
@@ -330,17 +255,7 @@ async function runAttached(args, out, cwd, options, minted) {
330
255
  // The address the agent should use, not the one agenticreplay bound — a caller reading this from
331
256
  // `--json` needs something it can connect to, which a wildcard bind is not.
332
257
  proxyUrl: advertised,
333
- // Exact plus inexact: both were served from the recording, which is what "reused" means here.
334
- // The distinction between them is a divergence, and divergences are reported on their own.
335
- reused: replaying ? stats.matchedExact + stats.matchedInexact : 0,
336
- unmatched: replaying ? stats.unmatched : unmatched,
337
- exitCode: replaying
338
- ? stats.unmatched > 0
339
- ? 1
340
- : 0
341
- : manifest.capture?.status === 'incomplete'
342
- ? 2
343
- : 0,
258
+ exitCode: manifest.capture?.status === 'incomplete' ? 2 : 0,
344
259
  };
345
260
  }
346
261
  /** Ctrl-C, which is the only way an operator ends a session with no child process to wait on. */
@@ -1 +1 @@
1
- {"version":3,"file":"attach.js","sourceRoot":"","sources":["../../src/commands/attach.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attach.js","sourceRoot":"","sources":["../../src/commands/attach.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Render an estimated dollar amount without making a small non-zero charge look free. */
2
+ export declare function formatCost(amount: number | null): string;
3
+ //# sourceMappingURL=cost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/commands/cost.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAMxD"}
@@ -0,0 +1,13 @@
1
+ /** Render an estimated dollar amount without making a small non-zero charge look free. */
2
+ export function formatCost(amount) {
3
+ if (amount === null)
4
+ return '—';
5
+ if (amount === 0)
6
+ return '$0';
7
+ if (amount < 0.0001)
8
+ return `$${amount.toExponential(2)}`;
9
+ if (amount < 0.01)
10
+ return `$${amount.toFixed(6)}`;
11
+ return `$${amount.toFixed(4)}`;
12
+ }
13
+ //# sourceMappingURL=cost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/commands/cost.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,MAAM,UAAU,UAAU,CAAC,MAAqB;IAC9C,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAChC,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,MAAM,GAAG,MAAM;QAAE,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,IAAI,MAAM,GAAG,IAAI;QAAE,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC"}
@@ -2,8 +2,6 @@ import type { ParsedArgs } from '../args.js';
2
2
  import type { Output } from '../out.js';
3
3
  export interface GcResult {
4
4
  runsRemoved: number;
5
- /** Scratch fork worktrees reclaimed alongside their runs. */
6
- worktreesRemoved: number;
7
5
  blobsRemoved: number;
8
6
  bytesReclaimed: number;
9
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gc.d.ts","sourceRoot":"","sources":["../../src/commands/gc.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAcD,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMzD;AAuBD;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,GAClB,OAAO,CAAC,QAAQ,CAAC,CAyHnB;AA0JD,4FAA4F;AAC5F,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAY9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUjD"}
1
+ {"version":3,"file":"gc.d.ts","sourceRoot":"","sources":["../../src/commands/gc.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAcD,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMzD;AAqBD;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,GAClB,OAAO,CAAC,QAAQ,CAAC,CA8GnB;AAsHD,4FAA4F;AAC5F,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAY9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUjD"}
@@ -1,7 +1,6 @@
1
1
  import { createReadStream } from 'node:fs';
2
2
  import { readFile, readdir, rm, rmdir, stat, unlink } from 'node:fs/promises';
3
- import { basename, dirname, join, resolve } from 'node:path';
4
- import { tmpdir } from 'node:os';
3
+ import { join } from 'node:path';
5
4
  import { createInterface } from 'node:readline';
6
5
  import { listRuns, runsDir } from '@agenticreplay/core';
7
6
  const UNITS = {
@@ -39,7 +38,7 @@ export async function gcCommand(args, out, cwd = process.cwd()) {
39
38
  const runs = await listRuns(cwd);
40
39
  if (runs.length === 0) {
41
40
  out.plain(`no runs in ${runsDir(cwd)} — nothing to reclaim`);
42
- return { runsRemoved: 0, worktreesRemoved: 0, blobsRemoved: 0, bytesReclaimed: 0 };
41
+ return { runsRemoved: 0, blobsRemoved: 0, bytesReclaimed: 0 };
43
42
  }
44
43
  const facts = [];
45
44
  for (const run of runs)
@@ -88,7 +87,6 @@ export async function gcCommand(args, out, cwd = process.cwd()) {
88
87
  out.warn('gc.parent_kept', { run: parent, child, why: 'a surviving run forked from it' });
89
88
  }
90
89
  let runsRemoved = 0;
91
- let worktreesRemoved = 0;
92
90
  let blobsRemoved = 0;
93
91
  let bytesReclaimed = 0;
94
92
  for (const run of facts) {
@@ -98,16 +96,6 @@ export async function gcCommand(args, out, cwd = process.cwd()) {
98
96
  bytesReclaimed += run.bytes;
99
97
  if (!dryRun)
100
98
  await rm(run.dir, { recursive: true, force: true });
101
- // The fork's scratch worktree goes with its run. It is deliberately *not* removed when the
102
- // fork finishes — it holds what the model actually did, so deleting it then would destroy the
103
- // thing you forked in order to look at — but nothing reclaimed it either, so a single
104
- // `agenticreplay compare --models a,b,c,d` left four full copies of the workspace behind forever.
105
- if (run.worktree !== undefined) {
106
- worktreesRemoved += 1;
107
- bytesReclaimed += await runDirBytes(run.worktree);
108
- if (!dryRun)
109
- await rm(run.worktree, { recursive: true, force: true });
110
- }
111
99
  }
112
100
  for (const run of facts) {
113
101
  if (doomed.has(run.runId))
@@ -145,29 +133,11 @@ export async function gcCommand(args, out, cwd = process.cwd()) {
145
133
  }
146
134
  out.phase('gc', {
147
135
  runs: runsRemoved,
148
- worktrees: worktreesRemoved || undefined,
149
136
  blobs: blobsRemoved,
150
137
  bytes: bytesReclaimed,
151
138
  dry_run: dryRun || undefined,
152
139
  });
153
- return { runsRemoved, worktreesRemoved, blobsRemoved, bytesReclaimed };
154
- }
155
- /**
156
- * Does this path look like a directory agenticreplay made for a fork to run in?
157
- *
158
- * Deliberately narrow, and deliberately only half the test — the caller also requires the run to
159
- * carry a `fork_point`. Directly inside the OS temp directory, with the prefix `replayFork` uses.
160
- * Anything else is left alone, including a fork whose worktree someone moved somewhere they care
161
- * about: an unreclaimed directory costs disk, and the alternative costs somebody's work.
162
- *
163
- * So `agenticreplay replay --worktree` is out of reach here, because an exact replay's trace has no fork
164
- * point. That is the right way round: you asked for a scratch copy to look at, agenticreplay printed where
165
- * it put it, and a garbage collector that deletes the thing you asked to keep is worse than one
166
- * that leaves a directory behind. The pre-replay safety snapshot is not gc's problem either —
167
- * replay owns that one and removes it once your files are back.
168
- */
169
- function isScratchWorktree(dir) {
170
- return resolve(dirname(dir)) === resolve(tmpdir()) && basename(dir).startsWith('agenticreplay-');
140
+ return { runsRemoved, blobsRemoved, bytesReclaimed };
171
141
  }
172
142
  function readOlderThan(args) {
173
143
  if (!args.has('older-than'))
@@ -206,20 +176,6 @@ async function inspectRun(runId, dir, createdAt) {
206
176
  const manifest = JSON.parse(await readFile(join(dir, 'manifest.json'), 'utf8'));
207
177
  if (typeof manifest.parent_run === 'string')
208
178
  facts.parentRun = manifest.parent_run;
209
- // Only a fork's cwd is ever ours to delete. A plain recording runs in the user's project, and
210
- // `gc` removing that would be the worst bug this tool could have — so the fork check is the
211
- // load-bearing half of the guard, and the path check is the belt.
212
- //
213
- // The fork check is `fork_point`, not `parent_run`. It used to be the latter, back when the
214
- // only run with a parent was a fork; an exact replay now writes a trace of its own findings
215
- // that also names a parent, and it ran in the user's *own* directory. A project that happens
216
- // to live at $TMPDIR/agenticreplay-something would have satisfied the belt on its own, and the run
217
- // holding the evidence of what happened there is the one gc would have used to delete it.
218
- if (typeof manifest.fork_point === 'number' &&
219
- typeof manifest.cwd === 'string' &&
220
- isScratchWorktree(manifest.cwd)) {
221
- facts.worktree = manifest.cwd;
222
- }
223
179
  sealed = typeof manifest.ended_at === 'string';
224
180
  }
225
181
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"gc.js","sourceRoot":"","sources":["../../src/commands/gc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gc.js","sourceRoot":"","sources":["../../src/commands/gc.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,6 @@ export declare function listCommand(args: ParsedArgs, out: Output, cwd?: string,
15
15
  export declare function gatewayRunsFor(args: ParsedArgs, out: Output, env?: NodeJS.ProcessEnv): Promise<GatewayRun[]>;
16
16
  /** `agenticreplay show` — the timeline, in the terminal. */
17
17
  export declare function showCommand(args: ParsedArgs, out: Output, cwd?: string): Promise<void>;
18
- /** `agenticreplay checkpoints` — where can I fork from? */
19
- export declare function checkpointsCommand(args: ParsedArgs, out: Output, cwd?: string): Promise<void>;
20
18
  /**
21
19
  * `agenticreplay graph` — what caused what.
22
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAWA,OAAO,EAA+B,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AASpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,+DAA+D;AAC/D,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,EACnB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,UAAU,EAAE,CAAC,CAMvB;AAyDD,4DAA4D;AAC5D,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,GAClB,OAAO,CAAC,IAAI,CAAC,CAgFf;AAED,2DAA2D;AAC3D,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,GAClB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,GAClB,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED,6DAA6D;AAC7D,wBAAgB,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAExE;AAyBD,4FAA4F;AAC5F,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,GAClB,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAED,4DAA4D;AAC5D,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,SAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjG;AA+BD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAAE,GAAG,MAAM,EAAE,CAuBjG"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAUA,OAAO,EAA+B,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AASpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,+DAA+D;AAC/D,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,EACnB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,UAAU,EAAE,CAAC,CAMvB;AAyDD,4DAA4D;AAC5D,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,GAClB,OAAO,CAAC,IAAI,CAAC,CAgFf;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,GAClB,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED,6DAA6D;AAC7D,wBAAgB,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAExE;AAyBD,4FAA4F;AAC5F,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,GAClB,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAED,4DAA4D;AAC5D,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,SAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjG;AA+BD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAAE,GAAG,MAAM,EAAE,CAuBjG"}
@@ -1,10 +1,10 @@
1
1
  import { resolve } from 'node:path';
2
2
  import { writeFile } from 'node:fs/promises';
3
- import { TraceReader, chainTo, deriveCheckpoints, listRuns, pickChainTarget, resolveRunSelector, runGraph, } from '@agenticreplay/core';
3
+ import { TraceReader, chainTo, listRuns, pickChainTarget, resolveRunSelector, runGraph, } from '@agenticreplay/core';
4
4
  import { listGatewayRuns, readSource } from './sync.js';
5
5
  import { buildTimeline, detectLoops, exportTraceHtml, serveViewer, summarize, } from '@agenticreplay/viewer';
6
6
  import { priceFor } from '@agenticreplay/providers';
7
- import { formatCost } from './compare.js';
7
+ import { formatCost } from './cost.js';
8
8
  import { renderChainCard, renderGraphCard, scopeForCard } from '../share-card.js';
9
9
  import { cardTarget, gifFrames, svgToPng, svgsToGif } from '../rasterize.js';
10
10
  import { recordableOrigin, unusableOrigin } from '@agenticreplay/proxy';
@@ -21,20 +21,8 @@ export async function listCommand(args, out, cwd = process.cwd(), env = process.
21
21
  out.plain(' agenticreplay record claude # record one');
22
22
  return;
23
23
  }
24
- // FROM is what makes a directory full of `agenticreplay compare` output readable: four runs with no
25
- // stated relationship are four mysteries, and the relationship is already in every manifest.
26
- out.table(['RUN', 'CREATED', 'FROM', 'DIR'], runs.map((r) => [
27
- r.runId,
28
- r.createdAt,
29
- // `@<seq>` only where there is a fork point. A replay trace has a parent and no checkpoint,
30
- // and `run_x@?` reads as missing data rather than as the different thing it is.
31
- r.parentRun === undefined
32
- ? ''
33
- : r.forkPoint === undefined
34
- ? r.parentRun
35
- : `${r.parentRun}@${r.forkPoint}`,
36
- r.dir,
37
- ]));
24
+ // Keep a parent relation visible when reading an older run with replay provenance.
25
+ out.table(['RUN', 'CREATED', 'FROM', 'DIR'], runs.map((r) => [r.runId, r.createdAt, r.parentRun ?? '', r.dir]));
38
26
  }
39
27
  /**
40
28
  * The gateway's runs, with the notice both callers owe the reader.
@@ -171,20 +159,6 @@ export async function showCommand(args, out, cwd = process.cwd()) {
171
159
  });
172
160
  }
173
161
  }
174
- /** `agenticreplay checkpoints` — where can I fork from? */
175
- export async function checkpointsCommand(args, out, cwd = process.cwd()) {
176
- const reader = await TraceReader.open((await resolveRunSelector(cwd, args.positionals[0] ?? 'last')).dir);
177
- const events = await reader.events();
178
- const checkpoints = deriveCheckpoints(events);
179
- if (checkpoints.length === 0) {
180
- out.plain('no checkpoints in this run');
181
- out.plain(' checkpoints need a filesystem snapshot; was this recorded with --no-fs?');
182
- return;
183
- }
184
- out.table(['SEQ', 'TURN', 'TREE'], checkpoints.map((c) => [String(c.seq), String(c.turn), (c.fsTree ?? '').slice(0, 12)]));
185
- out.plain('');
186
- out.plain(` agenticreplay replay last --from ${checkpoints.at(-1).seq} --model <other-model>`);
187
- }
188
162
  /**
189
163
  * `agenticreplay graph` — what caused what.
190
164
  *