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
@@ -6,15 +6,9 @@ export function anthropicDialect(translators) {
6
6
  // OpenCode catalog providers mount Anthropic under /anthropic/v1, /coding/v1, etc.
7
7
  // Keep the version segment: an arbitrary /messages route may belong to another API.
8
8
  matches: (p) => p.startsWith('/v1/messages') || p.endsWith('/v1/messages'),
9
- // Claude is the only family Anthropic serves, so the test is the name rather than a list that
10
- // would need editing every time a model ships.
11
- ownsModel: (m) => /^(?:.*\/)?claude[-.]/i.test(m.trim()),
12
9
  toCanonicalRequest: translators.toCanonicalRequest,
13
10
  toCanonicalResponse: translators.toCanonicalResponse,
14
11
  parseStream: translators.parseSse,
15
- withModel: (raw, model) => ({ ...raw, model }),
16
- fromCanonicalRequest: translators.fromCanonicalRequest,
17
- fromCanonicalResponse: (res, streamed) => streamed ? translators.toSse(res) : JSON.stringify(translators.fromCanonicalResponse(res)),
18
12
  };
19
13
  }
20
14
  export function openaiDialect(translators) {
@@ -26,23 +20,16 @@ export function openaiDialect(translators) {
26
20
  // depending on how their SDK joins the base URL. Accept either rather than making the user
27
21
  // discover which one their harness picked.
28
22
  matches: (p) => p.endsWith('/chat/completions') || p.endsWith('/completions'),
29
- // Everything that is not Claude. The chat-completions shape is what GLM, Qwen, DeepSeek and
30
- // every gateway speak, so it is the right default rather than a list of known vendors — an
31
- // unknown model reaches an OpenAI-compatible endpoint, which is where an unknown model lives.
32
- ownsModel: (m) => !/^(?:.*\/)?claude[-.]/i.test(m.trim()),
33
23
  toCanonicalRequest: translators.toCanonicalRequest,
34
24
  toCanonicalResponse: translators.toCanonicalResponse,
35
25
  parseStream: translators.parseSse,
36
- withModel: (raw, model) => ({ ...raw, model }),
37
- fromCanonicalRequest: translators.fromCanonicalRequest,
38
- fromCanonicalResponse: (res, streamed) => streamed ? translators.toSse(res) : JSON.stringify(translators.fromCanonicalResponse(res)),
39
26
  };
40
27
  }
41
28
  /**
42
29
  * The Codex CLI's subscription transport is an OpenAI Responses-shaped endpoint, but it is not
43
30
  * the public `/v1/responses` API: it lives at `/backend-api/codex/responses`, sends zstd-compressed
44
- * JSON and returns a Responses SSE stream. Keeping this dialect here lets the proxy replay the
45
- * bytes exactly while still using the normal canonical matcher and trace timeline.
31
+ * JSON and returns a Responses SSE stream. The recording proxy parses these calls into the
32
+ * common trace format while preserving the received wire evidence.
46
33
  */
47
34
  export function codexDialect() {
48
35
  return {
@@ -50,15 +37,9 @@ export function codexDialect() {
50
37
  defaultUpstream: 'https://chatgpt.com',
51
38
  requestPath: '/backend-api/codex/responses',
52
39
  matches: (p) => p === '/backend-api/codex/responses',
53
- // Only Codex subscription model ids belong here. Generic GPT names must continue to route to
54
- // the public OpenAI dialect when a fork changes an ordinary provider request.
55
- ownsModel: (model) => /^gpt-5\.6-(?:sol|terra|luna)$/i.test(model.trim()),
56
40
  toCanonicalRequest: codexToCanonicalRequest,
57
41
  toCanonicalResponse: codexToCanonicalResponse,
58
42
  parseStream: parseCodexSse,
59
- withModel: (raw, model) => ({ ...raw, model }),
60
- fromCanonicalRequest: canonicalToCodexRequest,
61
- fromCanonicalResponse: (res, streamed) => streamed ? canonicalToCodexSse(res) : JSON.stringify(canonicalToCodexResponse(res)),
62
43
  };
63
44
  }
64
45
  function codexToCanonicalRequest(raw) {
@@ -225,46 +206,6 @@ function codexTools(raw) {
225
206
  }
226
207
  return out;
227
208
  }
228
- function canonicalToCodexRequest(req) {
229
- const input = [];
230
- for (const message of req.messages) {
231
- const blocks = message.content.filter((block) => block.type === 'text');
232
- if (blocks.length) {
233
- input.push({
234
- type: 'message',
235
- role: message.role,
236
- content: blocks.map((block) => ({
237
- type: 'input_text',
238
- text: block.type === 'text' ? block.text : '',
239
- })),
240
- });
241
- }
242
- }
243
- return {
244
- model: req.model,
245
- ...(req.system === undefined ? {} : { instructions: req.system }),
246
- input,
247
- ...(req.tools === undefined
248
- ? {}
249
- : { tools: req.tools.map((tool) => ({ type: 'function', ...tool })) }),
250
- ...(req.max_tokens === undefined ? {} : { max_output_tokens: req.max_tokens }),
251
- ...(req.temperature === undefined ? {} : { temperature: req.temperature }),
252
- ...(req.top_p === undefined ? {} : { top_p: req.top_p }),
253
- ...(req.stream === undefined ? {} : { stream: req.stream }),
254
- };
255
- }
256
- function canonicalToCodexResponse(res) {
257
- return {
258
- id: res.id,
259
- object: 'response',
260
- model: res.model,
261
- status: 'completed',
262
- output: res.content,
263
- };
264
- }
265
- function canonicalToCodexSse(res) {
266
- return `event: response.completed\ndata: ${JSON.stringify({ type: 'response.completed', response: canonicalToCodexResponse(res) })}\n\n`;
267
- }
268
209
  function asRecord(raw) {
269
210
  return raw !== null && typeof raw === 'object' && !Array.isArray(raw)
270
211
  ? raw
@@ -301,10 +242,7 @@ function omitUndefined(value) {
301
242
  * top-level items, and the stream is typed events rather than choice deltas. One dialect trying to
302
243
  * be both would have to sniff the body shape on every request, and guess wrong on the empty ones.
303
244
  *
304
- * It is registered *after* `openaiDialect` for a reason that only shows up on forks: `ownsModel`
305
- * cannot distinguish them — both serve everything that is not Claude — so the later position means
306
- * an ordinary chat-completions run forking to another OpenAI model still goes to chat completions.
307
- * A Responses run stays on Responses through the recorded-dialect preference in `goLive`.
245
+ * It is registered after `openaiDialect`; the request path selects the wire protocol.
308
246
  */
309
247
  export function responsesDialect(translators) {
310
248
  return {
@@ -314,13 +252,9 @@ export function responsesDialect(translators) {
314
252
  // Agents reach it as `/v1/responses` or `/responses` depending on whether their SDK considers
315
253
  // the version segment part of the base url, and a gateway may mount it under a prefix.
316
254
  matches: (p) => p.endsWith('/responses'),
317
- ownsModel: (m) => !/^(?:.*\/)?claude[-.]/i.test(m.trim()),
318
255
  toCanonicalRequest: translators.toCanonicalRequest,
319
256
  toCanonicalResponse: translators.toCanonicalResponse,
320
257
  parseStream: translators.parseSse,
321
- withModel: (raw, model) => ({ ...raw, model }),
322
- fromCanonicalRequest: translators.fromCanonicalRequest,
323
- fromCanonicalResponse: (res, streamed) => streamed ? translators.toSse(res) : JSON.stringify(translators.fromCanonicalResponse(res)),
324
258
  };
325
259
  }
326
260
  export function selectDialect(dialects, path) {
@@ -1 +1 @@
1
- {"version":3,"file":"dialects.js","sourceRoot":"","sources":["../src/dialects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialects.js","sourceRoot":"","sources":["../src/dialects.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- export * from './matching.js';
2
1
  export * from './forward.js';
3
- export * from './retrieval.js';
4
2
  export * from './dialects.js';
5
3
  export * from './ca.js';
6
4
  export * from './intercept.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
@@ -1,6 +1,4 @@
1
- export * from './matching.js';
2
1
  export * from './forward.js';
3
- export * from './retrieval.js';
4
2
  export * from './dialects.js';
5
3
  export * from './ca.js';
6
4
  export * from './intercept.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
@@ -77,26 +77,6 @@ export interface NetExchange {
77
77
  * used against.
78
78
  */
79
79
  intercepted?: boolean;
80
- /**
81
- * The retrieval rule that claimed this call, when one did.
82
- *
83
- * A `net.*` pair carrying this and {@link replayKey} is not opaque traffic: it is a call whose
84
- * answer is a function of its request, and a replay can serve it back. See `retrieval.ts`.
85
- */
86
- rule?: string;
87
- /** What a replay looks this call up by. Its presence is what makes the pair replayable. */
88
- replayKey?: string;
89
- /**
90
- * A second key that ignores the order of a batch, where the rule offers one. It is what lets a
91
- * pipeline whose worker pool assembles its batch differently on every run still replay; see
92
- * `BatchRetrieval`.
93
- */
94
- batchKey?: string;
95
- /**
96
- * SHA-256 of the response body, present when `--retrieval-store=digest` kept the digest instead
97
- * of the bytes. Enough to prove a later run got the same answer; not enough to serve one.
98
- */
99
- responseDigest?: string;
100
80
  durationMs: number;
101
81
  }
102
82
  /** A decrypted request before it is sent to the origin. */
@@ -112,25 +92,6 @@ export interface NetRequest {
112
92
  requestBytes: Buffer;
113
93
  requestTruncated: boolean;
114
94
  }
115
- /** A response supplied by replay for a request inside an intercepted TLS session. */
116
- export interface InterceptResponse {
117
- status: number;
118
- headers?: Record<string, string>;
119
- body: string;
120
- }
121
- /**
122
- * Forward this decrypted request to the origin, but with a different body.
123
- *
124
- * The CONNECT target stays the recorded host — a TLS-intercepted harness is still talking to the
125
- * origin it named — while a fork's `--model` has to change what that origin is asked. Returning a
126
- * full {@link InterceptResponse} would answer from agenticreplay and never reach the origin; returning
127
- * nothing would reach it with the recorded model. This is the third option that `--model` needs.
128
- */
129
- export interface InterceptForward {
130
- outboundBody: Buffer;
131
- }
132
- export type InterceptDecision = InterceptResponse | InterceptForward;
133
- export declare function isInterceptResponse(decision: InterceptDecision): decision is InterceptResponse;
134
95
  /** Decode a recorded body, whichever of the two forms it was stored in. */
135
96
  export declare function readRecordedBody(body: string): Buffer;
136
97
  /**
@@ -197,15 +158,6 @@ export interface TlsInterceptOptions {
197
158
  maxCapturedBytes?: number;
198
159
  maxBufferedBytes?: number;
199
160
  onRequestStart?: (request: NetRequest) => void | Promise<void>;
200
- /**
201
- * Answer a decrypted request from a recording, or rewrite it before the origin sees it.
202
- *
203
- * Undefined falls through to the live origin with the client's bytes unchanged. An
204
- * {@link InterceptResponse} is served locally and never opens an origin connection. An
205
- * {@link InterceptForward} still opens one, with a substituted body — the `--model` path on a
206
- * TLS-intercepted fork.
207
- */
208
- onRequest?: (request: NetRequest) => InterceptDecision | undefined | Promise<InterceptDecision | undefined>;
209
161
  onNetExchange?: (exchange: NetExchange) => void;
210
162
  onTunnel?: (tunnel: TunnelRecord) => void;
211
163
  onFailure?: (failure: InterceptFailure) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"intercept.d.ts","sourceRoot":"","sources":["../src/intercept.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intercept.d.ts","sourceRoot":"","sources":["../src/intercept.ts"],"names":[],"mappings":"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"}
@@ -49,18 +49,6 @@ const SECRET_RESPONSE_HEADERS = new Set(AUTH_RESPONSE_HEADERS);
49
49
  */
50
50
  export const DEFAULT_MAX_CAPTURED_BYTES = 64 * 1024 * 1024;
51
51
  export const DEFAULT_MAX_BUFFERED_BYTES = 256 * 1024 * 1024;
52
- export function isInterceptResponse(decision) {
53
- return 'status' in decision;
54
- }
55
- /**
56
- * A rewritten body is uncompressed JSON even when the client sent gzip/zstd. The origin must not
57
- * be told the old encoding, or it will try to inflate plaintext and the substitution is lost.
58
- */
59
- function applyRewrittenBody(headers, body) {
60
- delete headers['content-encoding'];
61
- delete headers['content-length'];
62
- headers['content-length'] = String(body.length);
63
- }
64
52
  /** Decode a recorded body, whichever of the two forms it was stored in. */
65
53
  export function readRecordedBody(body) {
66
54
  return body.startsWith(BINARY_BODY_PREFIX)
@@ -453,7 +441,6 @@ export function attachTlsIntercept(server, options, counters) {
453
441
  const requestBody = new Capture(maxCaptured, budget);
454
442
  const responseBody = new Capture(maxCaptured, budget);
455
443
  const contentEncoding = headerText(normalizeHeaderValue(headers['content-encoding']));
456
- let rewrittenBody;
457
444
  const requestStart = {
458
445
  requestId,
459
446
  requestStartedAt: startedAt,
@@ -491,52 +478,6 @@ export function attachTlsIntercept(server, options, counters) {
491
478
  }
492
479
  throw err;
493
480
  }
494
- // Replay answers from the recording and must never reach the origin. The HTTP/1.1 twin has
495
- // consulted this hook since interception existed; without the same call here, a run recorded
496
- // over HTTP/1.1 and replayed by a client that now negotiates h2 would be forwarded live --
497
- // real model calls, on the caller's own credential, during what the operator ran offline.
498
- if (options.onRequest) {
499
- try {
500
- for await (const chunk of stream)
501
- requestBody.add(Buffer.from(chunk));
502
- }
503
- catch (err) {
504
- requestBody.release();
505
- responseBody.release();
506
- throw err;
507
- }
508
- const request = {
509
- requestId,
510
- requestStartedAt: startedAt,
511
- host: target.host,
512
- port: target.port,
513
- method,
514
- path,
515
- requestHeaders: recordableHeaders,
516
- requestBytes: requestBody.buffer(),
517
- requestTruncated: requestBody.truncated,
518
- };
519
- const decision = await options.onRequest(request);
520
- if (decision && isInterceptResponse(decision)) {
521
- requestBody.release();
522
- if (stream.destroyed)
523
- return;
524
- stream.respond({ ':status': decision.status, ...(decision.headers ?? {}) });
525
- stream.end(decision.body);
526
- counters.intercepted += 1;
527
- return;
528
- }
529
- if (decision) {
530
- rewrittenBody = decision.outboundBody;
531
- applyRewrittenBody(outbound, rewrittenBody);
532
- }
533
- // The bounded capture size is also the maximum replayable request size: forwarding a
534
- // truncated body upstream is worse than refusing clearly, which is what HTTP/1.1 does.
535
- if (requestBody.truncated) {
536
- requestBody.release();
537
- throw new Error(`request exceeded capture limit of ${maxCaptured} bytes`);
538
- }
539
- }
540
481
  await new Promise((resolve, reject) => {
541
482
  const upstream = upstreamH2(target).request(outbound);
542
483
  let settled = false;
@@ -568,22 +509,17 @@ export function attachTlsIntercept(server, options, counters) {
568
509
  // skipped there -- and an exception in this callback would take the process down with the
569
510
  // exchange unrecorded. server.ts already decodes inside a try/catch for the same reason.
570
511
  let recordedRequest;
571
- if (rewrittenBody) {
572
- recordedRequest = recordableBody(rewrittenBody);
512
+ try {
513
+ recordedRequest = decodeBody(requestBody.buffer(), contentEncoding, requestBody.limit);
573
514
  }
574
- else {
575
- try {
576
- recordedRequest = decodeBody(requestBody.buffer(), contentEncoding, requestBody.limit);
577
- }
578
- catch (err) {
579
- options.onFailure?.({
580
- host: target.host,
581
- port: target.port,
582
- reason: `request body left opaque: ${String(err)}`,
583
- kind: 'body_opaque',
584
- });
585
- recordedRequest = requestBody.text();
586
- }
515
+ catch (err) {
516
+ options.onFailure?.({
517
+ host: target.host,
518
+ port: target.port,
519
+ reason: `request body left opaque: ${String(err)}`,
520
+ kind: 'body_opaque',
521
+ });
522
+ recordedRequest = requestBody.text();
587
523
  }
588
524
  const decoded = recordableResponseBody(responseBody, headerText(recordableResponse['content-encoding']), !abandoned);
589
525
  if (decoded.error !== undefined) {
@@ -665,22 +601,14 @@ export function attachTlsIntercept(server, options, counters) {
665
601
  };
666
602
  stream.on('aborted', abandon);
667
603
  stream.on('close', abandon);
668
- if (options.onRequest) {
669
- // The hook above consumed the body, so replay the bytes it read rather than the stream.
670
- upstream.end(rewrittenBody ?? requestBody.buffer());
671
- }
672
- else {
673
- stream.on('data', (chunk) => {
674
- requestBody.add(chunk);
675
- if (!upstream.write(chunk)) {
676
- stream.pause();
677
- upstream.once('drain', () => stream.resume());
678
- }
679
- });
680
- // Without this, a client that aborts mid-upload never emits `end`, `upstream.end()` is
681
- // never called, and the origin waits for a body that will not arrive.
682
- stream.on('end', () => upstream.end());
683
- }
604
+ stream.on('data', (chunk) => {
605
+ requestBody.add(chunk);
606
+ if (!upstream.write(chunk)) {
607
+ stream.pause();
608
+ upstream.once('drain', () => stream.resume());
609
+ }
610
+ });
611
+ stream.on('end', () => upstream.end());
684
612
  stream.on('error', (err) => {
685
613
  responseError = String(err);
686
614
  emit(false);
@@ -781,7 +709,6 @@ export function attachTlsIntercept(server, options, counters) {
781
709
  // depends on it; the CONNECT target is the fallback for an HTTP/1.0 client that sent none.
782
710
  outboundHeaders.host = req.headers.host ?? target.host;
783
711
  const requestBody = new Capture(maxCaptured, budget);
784
- let rewrittenBody;
785
712
  const requestStart = {
786
713
  requestId,
787
714
  requestStartedAt: startedAt,
@@ -817,41 +744,6 @@ export function attachTlsIntercept(server, options, counters) {
817
744
  }
818
745
  throw err;
819
746
  }
820
- // Replay has to decide before opening an origin connection. Buffer only when that hook is in
821
- // use; the recording path below retains the original streaming behaviour and bounded capture.
822
- if (options.onRequest) {
823
- try {
824
- for await (const chunk of req)
825
- requestBody.add(Buffer.from(chunk));
826
- }
827
- catch (err) {
828
- requestBody.release();
829
- throw err;
830
- }
831
- const request = {
832
- requestId,
833
- requestStartedAt: startedAt,
834
- host: target.host,
835
- port: target.port,
836
- method: req.method ?? 'GET',
837
- path,
838
- requestHeaders: recordableHeaders,
839
- requestBytes: requestBody.buffer(),
840
- requestTruncated: requestBody.truncated,
841
- };
842
- const decision = await options.onRequest(request);
843
- if (decision && isInterceptResponse(decision)) {
844
- res.writeHead(decision.status, decision.headers ?? {});
845
- res.end(decision.body);
846
- counters.intercepted += 1;
847
- requestBody.release();
848
- return;
849
- }
850
- if (decision) {
851
- rewrittenBody = decision.outboundBody;
852
- applyRewrittenBody(outboundHeaders, rewrittenBody);
853
- }
854
- }
855
747
  const upstream = httpsRequest({
856
748
  host: target.host,
857
749
  port: target.port,
@@ -863,20 +755,8 @@ export function attachTlsIntercept(server, options, counters) {
863
755
  ...(isIP(target.host) === 0 ? { servername: target.host } : {}),
864
756
  ...(originTrust ? { ca: originTrust } : {}),
865
757
  });
866
- if (options.onRequest) {
867
- // The hook consumed the request. The bounded size is deliberately also the maximum replay
868
- // request size; sending a truncated body upstream would be worse than a clear failure.
869
- if (requestBody.truncated) {
870
- upstream.destroy(new Error(`request exceeded capture limit of ${maxCaptured} bytes`));
871
- }
872
- else {
873
- upstream.end(rewrittenBody ?? requestBody.buffer());
874
- }
875
- }
876
- else {
877
- req.on('data', (chunk) => requestBody.add(chunk));
878
- req.pipe(upstream);
879
- }
758
+ req.on('data', (chunk) => requestBody.add(chunk));
759
+ req.pipe(upstream);
880
760
  const finished = new Promise((resolve, reject) => {
881
761
  /**
882
762
  * What has been read so far, hoisted out of the response handler so that an exchange the
@@ -902,24 +782,19 @@ export function attachTlsIntercept(server, options, counters) {
902
782
  // A body agenticreplay cannot decode is still an exchange worth having, and an exception thrown in
903
783
  // this callback would take the process down with it. Same guard, same reason, as h2.
904
784
  let recordedRequest;
905
- if (rewrittenBody) {
906
- recordedRequest = recordableBody(rewrittenBody);
785
+ try {
786
+ recordedRequest = decodeBody(requestBody.buffer(), typeof req.headers['content-encoding'] === 'string'
787
+ ? req.headers['content-encoding']
788
+ : undefined, requestBody.limit);
907
789
  }
908
- else {
909
- try {
910
- recordedRequest = decodeBody(requestBody.buffer(), typeof req.headers['content-encoding'] === 'string'
911
- ? req.headers['content-encoding']
912
- : undefined, requestBody.limit);
913
- }
914
- catch (err) {
915
- options.onFailure?.({
916
- host: target.host,
917
- port: target.port,
918
- reason: `request body left opaque: ${String(err)}`,
919
- kind: 'body_opaque',
920
- });
921
- recordedRequest = requestBody.text();
922
- }
790
+ catch (err) {
791
+ options.onFailure?.({
792
+ host: target.host,
793
+ port: target.port,
794
+ reason: `request body left opaque: ${String(err)}`,
795
+ kind: 'body_opaque',
796
+ });
797
+ recordedRequest = requestBody.text();
923
798
  }
924
799
  const decoded = recordableResponseBody(responseBody, headerText(responseHeaders['content-encoding']), !abandoned);
925
800
  if (decoded.error !== undefined) {