orcareplay 0.2.2 → 0.2.4

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 (68) hide show
  1. package/dist/args.d.ts +33 -0
  2. package/dist/args.d.ts.map +1 -1
  3. package/dist/args.js +41 -5
  4. package/dist/args.js.map +1 -1
  5. package/dist/commands/attach.js +15 -4
  6. package/dist/commands/attach.js.map +1 -1
  7. package/dist/commands/inspect.d.ts +11 -0
  8. package/dist/commands/inspect.d.ts.map +1 -1
  9. package/dist/commands/inspect.js +43 -0
  10. package/dist/commands/inspect.js.map +1 -1
  11. package/dist/commands/quickstart.d.ts +48 -0
  12. package/dist/commands/quickstart.d.ts.map +1 -0
  13. package/dist/commands/quickstart.js +373 -0
  14. package/dist/commands/quickstart.js.map +1 -0
  15. package/dist/commands/record.d.ts +13 -0
  16. package/dist/commands/record.d.ts.map +1 -1
  17. package/dist/commands/record.js +119 -8
  18. package/dist/commands/record.js.map +1 -1
  19. package/dist/commands/replay.d.ts.map +1 -1
  20. package/dist/commands/replay.js +439 -283
  21. package/dist/commands/replay.js.map +1 -1
  22. package/dist/commands/scrub.d.ts.map +1 -1
  23. package/dist/commands/scrub.js +182 -47
  24. package/dist/commands/scrub.js.map +1 -1
  25. package/dist/commands/setup.d.ts.map +1 -1
  26. package/dist/commands/setup.js +67 -4
  27. package/dist/commands/setup.js.map +1 -1
  28. package/dist/exchange-events.d.ts.map +1 -1
  29. package/dist/exchange-events.js +23 -0
  30. package/dist/exchange-events.js.map +1 -1
  31. package/dist/flags.d.ts.map +1 -1
  32. package/dist/flags.js +68 -2
  33. package/dist/flags.js.map +1 -1
  34. package/dist/main.d.ts.map +1 -1
  35. package/dist/main.js +32 -0
  36. package/dist/main.js.map +1 -1
  37. package/dist/tls-capture.d.ts +10 -2
  38. package/dist/tls-capture.d.ts.map +1 -1
  39. package/dist/tls-capture.js +41 -3
  40. package/dist/tls-capture.js.map +1 -1
  41. package/dist/upstream.d.ts.map +1 -1
  42. package/dist/upstream.js +17 -0
  43. package/dist/upstream.js.map +1 -1
  44. package/package.json +13 -12
  45. package/quickstart/project/agent.mjs +128 -0
  46. package/quickstart/project/package.json +8 -0
  47. package/quickstart/project/src/schedule.js +41 -0
  48. package/quickstart/project/test/schedule.test.js +25 -0
  49. package/quickstart/trace/blobs/f7/f7c1592306093f65f441d2afd5f496b7635b7e18f5c15f55b11f71f0b552a118 +1 -0
  50. package/quickstart/trace/events.jsonl +19 -0
  51. package/quickstart/trace/fs/HEAD +1 -0
  52. package/quickstart/trace/fs/config +11 -0
  53. package/quickstart/trace/fs/description +1 -0
  54. package/quickstart/trace/fs/index +0 -0
  55. package/quickstart/trace/fs/info/exclude +11 -0
  56. package/quickstart/trace/fs/objects/1b/1f956f306fe2c66611dd9e280e7fd2dce1ecda +0 -0
  57. package/quickstart/trace/fs/objects/1c/c77eaef0608e088283cb62876b80be9473edce +0 -0
  58. package/quickstart/trace/fs/objects/20/0c1f7a4be93b037ff27cea57853a738fcbf744 +0 -0
  59. package/quickstart/trace/fs/objects/20/28a902b70fff80fe02a8aaaf30005fd91bafb7 +0 -0
  60. package/quickstart/trace/fs/objects/34/522daa46d0e3f8db09ec7d874fa6f05cbcdabf +0 -0
  61. package/quickstart/trace/fs/objects/48/a7bdafdaae1c53a354c7bd06c740719e1cb255 +0 -0
  62. package/quickstart/trace/fs/objects/80/13b71377c59b728861dd8eec39a919387a4b81 +0 -0
  63. package/quickstart/trace/fs/objects/9f/db6ace4a4410e535a2aef50e653e46a4c3694a +0 -0
  64. package/quickstart/trace/fs/objects/a4/371e26fb48bece62891a54e4374895fba69f0d +0 -0
  65. package/quickstart/trace/fs/objects/d3/3088476a7db5aef2dfd6c839d16d2b2ccaca40 +0 -0
  66. package/quickstart/trace/manifest.json +43 -0
  67. package/quickstart/trace/redactions.json +4 -0
  68. package/quickstart/trace/shell-frames.jsonl +0 -0
@@ -1,4 +1,5 @@
1
1
  import { createInterface } from 'node:readline/promises';
2
+ import { unusableOrigin, recordableOrigin, withoutCredentials } from '@orcareplay/proxy';
2
3
  import { modelInfoFor } from '@orcareplay/providers';
3
4
  import { configPath, gatewayHeaders, ORCAROUTER_CONSOLE, ORCAROUTER_URL, readConfig, writeConfig, } from '../config.js';
4
5
  /** OpenAI-compatible model listing, which every gateway worth pointing orca at implements. */
@@ -40,6 +41,17 @@ export async function setupCommand(args, out, deps = {}) {
40
41
  url = await ask(`Gateway URL (serves the model APIs) [${ORCAROUTER_URL}]: `);
41
42
  if (!url)
42
43
  url = ORCAROUTER_URL;
44
+ // Refused here, before it is stored or echoed. Sanitising on the way out is not enough on its
45
+ // own: `new URL` parses a scheme-less URL with the username as the protocol, so the sanitiser
46
+ // returns a value that still carries the password and every `?? url` guard downstream sees a
47
+ // success. Nothing refused here could have worked anyway — undici rejects a URL carrying
48
+ // credentials, and a scheme-less one has no host to reach.
49
+ const problem = unusableOrigin(url);
50
+ if (problem !== undefined) {
51
+ throw new Error(`--gateway is not an origin orca can use: ${problem}` +
52
+ '\n a gateway is scheme, host and path: --gateway https://gateway.example/v1' +
53
+ '\n the key goes separately: --key <key>, or --key-env NAME');
54
+ }
43
55
  if (!key && !keyEnv && ask) {
44
56
  if (sameOrigin(url, ORCAROUTER_URL)) {
45
57
  out.plain(` get a key at ${ORCAROUTER_CONSOLE} — OrcaRouter keys start sk-orca-`);
@@ -61,7 +73,24 @@ export async function setupCommand(args, out, deps = {}) {
61
73
  // `auth:`, not `key:` — the terminal guard redacts any field named `key`, which is right in
62
74
  // general and would hide the one thing this line exists to tell you: whether a key was stored at
63
75
  // all, and where it came from. The value is a description, never the credential.
64
- out.info('config.saved', { path, mode: '0600', gateway: url, auth: describeKey(gateway) });
76
+ // The URL, minus anything a credential rides in. `--gateway` takes whatever it is handed, and a
77
+ // gateway that authenticates by URL rather than by header is configured as
78
+ // `https://user:pw@gw.example` or `https://gw.example?key=…`. Printing it verbatim broke the
79
+ // promise made where this file is described — "nothing ever prints it back" — and the terminal
80
+ // guard did not catch it: it matches known key *shapes* (`sk-`, `ghp_`, …) and field *names*,
81
+ // and an arbitrary password in a URL under a field called `gateway` is neither.
82
+ out.info('config.saved', {
83
+ path,
84
+ mode: '0600',
85
+ gateway: recordableOrigin(url) ?? '(unprintable)',
86
+ auth: describeKey(gateway),
87
+ });
88
+ // Said rather than silently dropped: someone who typed a long URL and sees a short one back is
89
+ // owed the reason, and the reason is the useful half — it is also what will and will not appear
90
+ // in every trace recorded through this gateway.
91
+ if (carriesMoreThanOrigin(url)) {
92
+ out.plain(' the rest of that URL is saved and sent, but never printed or written to a trace');
93
+ }
65
94
  let available = [];
66
95
  try {
67
96
  available = await probe(url, gatewayHeaders(config, env));
@@ -93,7 +122,8 @@ export async function setupCommand(args, out, deps = {}) {
93
122
  }
94
123
  catch (err) {
95
124
  out.warn('gateway.unreachable', {
96
- why: String(err instanceof Error ? err.message : err),
125
+ // A failed fetch names the URL it was given, credential and all.
126
+ why: withoutCredentials(String(err instanceof Error ? err.message : err)),
97
127
  note: 'the config was saved; fix the URL or key and run orca setup again',
98
128
  });
99
129
  }
@@ -132,6 +162,21 @@ export async function modelsCommand(args, out, deps = {}) {
132
162
  out.plain(` a key for the default gateway: ${ORCAROUTER_CONSOLE}`);
133
163
  return [];
134
164
  }
165
+ // The same standard, applied where a config arrives rather than only where one is typed.
166
+ // `readConfig` deliberately accepts a hand-edited file, so this is the one path on which a
167
+ // gateway carrying its key in the URL can still turn up — and it is the path whose whole job is
168
+ // to report that the gateway cannot be reached. Refusing before the probe means neither the
169
+ // message nor the fetch error it would have quoted can carry the value.
170
+ const configured = unusableOrigin(config.gateway.url);
171
+ if (configured !== undefined) {
172
+ out.failure({
173
+ event: 'gateway.unusable',
174
+ what: `the gateway in ${configPath(env)} is not an origin orca can use`,
175
+ why: configured,
176
+ next: 'orca setup --gateway <url> --key-env NAME',
177
+ });
178
+ return [];
179
+ }
135
180
  let models;
136
181
  try {
137
182
  models = await probe(config.gateway.url, gatewayHeaders(config, env));
@@ -139,8 +184,11 @@ export async function modelsCommand(args, out, deps = {}) {
139
184
  catch (err) {
140
185
  out.failure({
141
186
  event: 'gateway.unreachable',
142
- what: `could not reach ${config.gateway.url}`,
143
- why: String(err instanceof Error ? err.message : err),
187
+ // Never the raw value: this path exists to diagnose a gateway that cannot be reached,
188
+ // and a hand-edited config carrying its key in the URL is one of the reasons it cannot
189
+ // be. Naming the file says as much without printing what is in it.
190
+ what: `could not reach ${recordableOrigin(config.gateway.url) ?? `the gateway configured in ${configPath(env)}`}`,
191
+ why: withoutCredentials(String(err instanceof Error ? err.message : err)),
144
192
  next: `check the URL and key in ${configPath(env)}, or run orca setup again`,
145
193
  });
146
194
  return [];
@@ -174,4 +222,19 @@ function describeKey(gateway) {
174
222
  return `from $${gateway.api_key_env}`;
175
223
  return 'none';
176
224
  }
225
+ /**
226
+ * Whether a URL carries anything beyond the origin and path orca is willing to show.
227
+ *
228
+ * Used only to decide whether to explain the shortening. The shortening itself is
229
+ * `recordableOrigin`, and it happens whether or not this returns true.
230
+ */
231
+ function carriesMoreThanOrigin(url) {
232
+ try {
233
+ const parsed = new URL(url);
234
+ return (parsed.username !== '' || parsed.password !== '' || parsed.search !== '' || parsed.hash !== '');
235
+ }
236
+ catch {
237
+ return false;
238
+ }
239
+ }
177
240
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exchange-events.d.ts","sourceRoot":"","sources":["../src/exchange-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,eAAe,GAAG,gBAAgB,GAAG,WAAW,GAAG,aAAa,CAAC;IACvE,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,qBAAa,oBAAoB;;IAS/B,oEAAoE;IACpE,UAAU,IAAI,eAAe,EAAE;IAO/B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;IA+EhE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAKjD,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAI7C;AAyBD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM;AACZ;;;;;;GAMG;AACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,GAC1C,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
1
+ {"version":3,"file":"exchange-events.d.ts","sourceRoot":"","sources":["../src/exchange-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,eAAe,GAAG,gBAAgB,GAAG,WAAW,GAAG,aAAa,CAAC;IACvE,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,qBAAa,oBAAoB;;IAS/B,oEAAoE;IACpE,UAAU,IAAI,eAAe,EAAE;IAO/B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;IAsGhE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAKjD,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAI7C;AAyBD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM;AACZ;;;;;;GAMG;AACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,GAC1C,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
@@ -58,14 +58,24 @@ export class ExchangeEventDeriver {
58
58
  path: exchange.path,
59
59
  messages: exchange.canonicalRequest.messages.length,
60
60
  tools: exchange.canonicalRequest.tools?.length ?? 0,
61
+ // Only where orca established the connection and therefore knows. Absent reads as "not
62
+ // recorded" rather than as HTTP/1.1, which is why it is left off instead of defaulted.
63
+ ...(exchange.alpn === undefined ? {} : { alpn: exchange.alpn }),
61
64
  },
62
65
  payload: exchange.rawRequest,
63
66
  // Absent rather than empty when nothing came back: an edge list naming nothing is noise a
64
67
  // reader has to interpret, and `causes` is optional precisely so it can be left off.
65
68
  ...(resultsAt.length > 0 ? { causesIndex: resultsAt } : {}),
66
69
  });
70
+ const requestAt = events.length - 1;
67
71
  const response = exchange.canonicalResponse;
68
72
  events.push({
73
+ // The edge every other request/response pair already had. Without it `orca graph --to` on a
74
+ // model.response walks backwards, finds no incoming edge, and reports that the run has no
75
+ // causal edges at all -- on a run whose graph is otherwise full of them. `net.response`,
76
+ // `tool.result` and `shell.result` all name what they answered; this is the same fact about
77
+ // the pair the recorder watched most directly.
78
+ causesIndex: [requestAt],
69
79
  type: 'model.response',
70
80
  actor: 'model',
71
81
  attrs: {
@@ -76,6 +86,19 @@ export class ExchangeEventDeriver {
76
86
  status: exchange.status,
77
87
  duration_ms: exchange.durationMs ?? 0,
78
88
  streamed: exchange.streamed,
89
+ // The payload below is the decoded body, so the encoding it arrived in is recorded here or
90
+ // nowhere: a promoted exchange keeps no response headers.
91
+ ...(exchange.responseDecodedFrom === undefined
92
+ ? {}
93
+ : { decoded_from: exchange.responseDecodedFrom }),
94
+ // Who answered. The trace said what was sent and what came back and never this, which is
95
+ // the first question asked of a recording that looks wrong — a gateway left behind in
96
+ // `~/.orca/config.json` redirects every run on the machine, and nothing in the run said so.
97
+ // On the response because it is a fact about the answer, and per exchange rather than in
98
+ // the manifest because the origin is chosen per request: a fork that changes provider
99
+ // changes it again mid-run. Absent means an older orca did not record it, never "the
100
+ // vendor's own API".
101
+ ...(exchange.upstream === undefined ? {} : { upstream: exchange.upstream }),
79
102
  },
80
103
  payload: exchange.rawResponse,
81
104
  });
@@ -1 +1 @@
1
- {"version":3,"file":"exchange-events.js","sourceRoot":"","sources":["../src/exchange-events.ts"],"names":[],"mappings":"AA6CA,MAAM,OAAO,oBAAoB;IACtB,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IACvD;;;;OAIG;IACM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,oEAAoE;IACpE,UAAU;QACR,2FAA2F;QAC3F,+FAA+F;QAC/F,0FAA0F;QAC1F,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAA0B,EAAE,IAAY;QAC7C,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,oFAAoF;QACpF,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,MAAM,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnE,6FAA6F;YAC7F,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;gBAAE,SAAS;YACnD,wFAAwF;YACxF,oEAAoE;YACpE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE;oBACL,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,SAAS;oBAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;oBAClC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;iBAC7B;gBACD,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,WAAW;aACjC,CAAC,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClC,qFAAqF;YACrF,6FAA6F;YAC7F,6FAA6F;YAC7F,uFAAuF;YACvF,4EAA4E;YAC5E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE;gBACL,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,KAAK;gBACtC,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM;gBACnD,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;aACpD;YACD,OAAO,EAAE,QAAQ,CAAC,UAAU;YAC5B,0FAA0F;YAC1F,qFAAqF;YACrF,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE;gBACL,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,QAAQ,CAAC,gBAAgB,CAAC,KAAK;gBACzD,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,SAAS;gBAC/C,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC;gBAC/C,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,IAAI,CAAC;gBACjD,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,WAAW,EAAE,QAAQ,CAAC,UAAU,IAAI,CAAC;gBACrC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B;YACD,OAAO,EAAE,QAAQ,CAAC,WAAW;SAC9B,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAErC,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE;gBAChE,WAAW,EAAE,CAAC,UAAU,CAAC;aAC1B,CAAC,CAAC;YACH,gFAAgF;YAChF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,SAAiB,EAAE,GAAW;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC;YAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;QAC9C,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD,CAAC;CACF;AAED,SAAS,kBAAkB,CACzB,GAAqB;IAErB,MAAM,GAAG,GAA8D,EAAE,CAAC;IAC1E,4FAA4F;IAC5F,oFAAoF;IACpF,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,GAAG,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CACtB,GAAkC;IAElC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CACvB,CAAC,CAAC,EAAwD,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CACnF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAmB,EACnB,OAA6B,EAC7B,QAA0B,EAC1B,IAAY;AACZ;;;;;;GAMG;AACH,SAA2C;IAE3C,gGAAgG;IAChG,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,GAAG,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,GAAG,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAgB;YACjC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"exchange-events.js","sourceRoot":"","sources":["../src/exchange-events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,MAAM,qEAAsE,CAAC;AAQ1F,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CA8CxD,CAAC;AAeF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAevD;AA+BD,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAe,CAAC;AAE/E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAuB/D"}
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,MAAM,qEAAsE,CAAC;AAQ1F,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAgDxD,CAAC;AAeF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAmBvD;AAiCD,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAe,CAAC;AAE/E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAuB/D"}
package/dist/flags.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { NUMERIC, VALUELESS } from './args.js';
1
2
  /**
2
3
  * Which flags each command accepts.
3
4
  *
@@ -16,6 +17,7 @@ const UPSTREAM = ['upstream-anthropic', 'upstream-openai'];
16
17
  /** Read by `tls-capture.ts`, which record, replay and compare all set up. */
17
18
  const TLS = ['tls-intercept', 'tls-hosts'];
18
19
  export const BY_COMMAND = {
20
+ quickstart: ['dir', 'full'],
19
21
  record: ['fs', 'shell', 'mcp-config', ...TLS, ...UPSTREAM],
20
22
  attach: [
21
23
  'for',
@@ -41,6 +43,7 @@ export const BY_COMMAND = {
41
43
  'mcp-config',
42
44
  ...TLS,
43
45
  ...UPSTREAM,
46
+ 'quiet',
44
47
  ],
45
48
  compare: ['from', 'models', 'verify', 'share', 'loose', ...TLS, ...UPSTREAM],
46
49
  show: [],
@@ -89,11 +92,14 @@ export function assertKnownFlags(args) {
89
92
  return;
90
93
  const known = [...allowed, ...GLOBAL];
91
94
  const unknown = Object.keys(args.flags).filter((name) => !known.includes(name));
92
- if (unknown.length === 0)
95
+ // Names first: "unknown flag --modle" is a better answer than "--modle needs a value".
96
+ if (unknown.length === 0) {
97
+ assertUsableValues(args, known);
93
98
  return;
99
+ }
94
100
  const [first] = unknown;
95
101
  const suggestion = nearest(first, known);
96
- throw new Error(`unknown flag --${first} for "orca ${args.command}"` +
102
+ throw new Error(`unknown flag ${dashed(first)} for "orca ${args.command}"` +
97
103
  (suggestion === undefined ? '' : `\n did you mean --${suggestion}?`) +
98
104
  `\n flags for this command: ${allowed.length === 0 ? '(none)' : allowed.map((f) => `--${f}`).join(' ')}`);
99
105
  }
@@ -116,6 +122,8 @@ const POSITIONALS = {
116
122
  export: 1,
117
123
  ui: 1,
118
124
  scrub: 1,
125
+ // Configured entirely by `--dir`, like `attach` below it.
126
+ quickstart: 0,
119
127
  attach: 0,
120
128
  list: 0,
121
129
  gc: 0,
@@ -162,4 +170,62 @@ export function assertNoStrayPositionals(args) {
162
170
  takesLine +
163
171
  forAgent);
164
172
  }
173
+ /**
174
+ * A flag as the person would have typed it.
175
+ *
176
+ * Every short flag here is one character, so the count of dashes follows from the length. Telling
177
+ * someone `--o needs a value` when they typed `-o` sends them looking for a flag that does not
178
+ * exist.
179
+ */
180
+ function dashed(name) {
181
+ return name.length === 1 ? `-${name}` : `--${name}`;
182
+ }
183
+ /**
184
+ * Reject a flag whose value cannot be honoured.
185
+ *
186
+ * `assertKnownFlags` settled the names; the values were still taken on trust. Every accessor falls
187
+ * back in silence when a value is missing or of the wrong shape, so the instruction vanished and
188
+ * the run reported success having done something else:
189
+ *
190
+ * `--model` with nothing after it turned a fork into a plain replay, and the two models being
191
+ * compared agreed because only one of them ever ran. `--match a --match b` redacted `b` alone and
192
+ * reported its count as though that were the whole job. `--from four` replayed everything instead
193
+ * of forking at a checkpoint. `--json=maybe` turned JSON output off while it was being asked for.
194
+ *
195
+ * Same reasoning as `assertNoStrayPositionals` beside it, third part of the command line: an
196
+ * instruction orca cannot carry out must not be carried past in silence.
197
+ *
198
+ * `orca gc --keep` checked its own by hand and was the only command that did. Doing it here is the
199
+ * same check for all of them, and one place to fix when it is wrong.
200
+ */
201
+ function assertUsableValues(args, allowed) {
202
+ for (const name of Object.keys(args.flags)) {
203
+ const value = args.flags[name];
204
+ // Repeating a flag is how most CLIs take a list, so people write it. Say which form is one here
205
+ // rather than only saying no.
206
+ if (args.conflicting.has(name)) {
207
+ const listForm = [`${name}s`, `${name}es`].find((f) => allowed.includes(f));
208
+ throw new Error(`${dashed(name)} given more than once, and only the last would have counted` +
209
+ (listForm === undefined
210
+ ? '\n give it once'
211
+ : `\n for several, use one --${listForm}: --${listForm} a,b,c`));
212
+ }
213
+ if (NUMERIC.has(name)) {
214
+ if (args.missingValue.has(name) || typeof value === 'string') {
215
+ throw new Error(`${dashed(name)} needs a number, like ${dashed(name)} 4`);
216
+ }
217
+ continue;
218
+ }
219
+ // `--flag`, `--flag=true` and `--no-flag` all arrive as a boolean. Anything else is a value on
220
+ // a switch, and the switch would then have read as off.
221
+ if (VALUELESS.has(name)) {
222
+ if (typeof value === 'string') {
223
+ throw new Error(`${dashed(name)} takes no value; it is either given or it is not`);
224
+ }
225
+ continue;
226
+ }
227
+ if (args.missingValue.has(name))
228
+ throw new Error(`${dashed(name)} needs a value`);
229
+ }
230
+ }
165
231
  //# sourceMappingURL=flags.js.map
package/dist/flags.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AA4HA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuG/E"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AA4IA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwH/E"}
package/dist/main.js CHANGED
@@ -4,6 +4,7 @@ import { Orca } from './api.js';
4
4
  import { serveMcp } from './mcp-server.js';
5
5
  import { Output } from './out.js';
6
6
  import { attachCommand } from './commands/attach.js';
7
+ import { quickstartCommand } from './commands/quickstart.js';
7
8
  import { recordCommand } from './commands/record.js';
8
9
  import { replayCommand } from './commands/replay.js';
9
10
  import { checkpointsCommand, graphCommand, exportCommand, listCommand, showCommand, uiCommand, } from './commands/inspect.js';
@@ -15,6 +16,10 @@ import { modelsCommand, setupCommand } from './commands/setup.js';
15
16
  import { ORCA_VERSION } from './version.js';
16
17
  const HELP = `orca ${ORCA_VERSION} — record, replay and fork debugger for AI agents
17
18
 
19
+ orca quickstart a project, a recorded run and an offline replay of it —
20
+ no key, no agent installed, no network
21
+ --dir <path> where to put it (default: ./orca-quickstart)
22
+ --full the whole timeline and the replay as it happened
18
23
  orca record <agent> run an agent and capture everything
19
24
  orca attach record an agent orca does not launch — one in a sandbox,
20
25
  a container, or on another machine
@@ -25,6 +30,7 @@ const HELP = `orca ${ORCA_VERSION} — record, replay and fork debugger for AI a
25
30
  --replay <run> serve a recording back to that agent instead of recording,
26
31
  for a run whose agent is not on this machine
27
32
  orca replay [run] reproduce a run exactly, network off
33
+ --quiet discard the replayed agent's own output, keep the verdict
28
34
  --ui open the timeline when it finishes
29
35
  orca replay [run] --from N fork from a checkpoint and continue live
30
36
  --model <id> continue on a different model
@@ -113,6 +119,15 @@ For a script, an agent, or CI — every command below also answers as data:
113
119
 
114
120
  Docs: https://github.com/Continuum-AI-Corp/OrcaReplay
115
121
  `;
122
+ /**
123
+ * The commands `--json` answers and the terminal does not.
124
+ *
125
+ * A set rather than a special case. It holds one name today, and the point of the shape is that
126
+ * adding a second `--json`-only view does not quietly bring back `orca events` telling a reader
127
+ * that a command `--help` had just listed does not exist. `json-only.test.ts` derives the same set
128
+ * from the two switches in this file and fails when this disagrees with them.
129
+ */
130
+ const JSON_ONLY = new Set(['events']);
116
131
  export async function main(argv, cwd = process.cwd()) {
117
132
  const args = parseArgs(argv);
118
133
  if (args.bool('json'))
@@ -148,6 +163,10 @@ export async function main(argv, cwd = process.cwd()) {
148
163
  // instruction that went nowhere, and for `record` it is the agent's own arguments.
149
164
  assertNoStrayPositionals(args);
150
165
  switch (args.command) {
166
+ case 'quickstart':
167
+ // Non-zero when the demo did not actually happen, so a broken environment is a failure a
168
+ // script can see rather than a wall of green text that says the opposite.
169
+ return (await quickstartCommand(args, out, cwd)).ok ? 0 : 1;
151
170
  case 'record':
152
171
  return (await recordCommand(args, out, cwd)).exitCode;
153
172
  case 'attach':
@@ -196,6 +215,19 @@ export async function main(argv, cwd = process.cwd()) {
196
215
  await serveMcp({ orca: new Orca({ cwd }), input: process.stdin, output: process.stdout });
197
216
  return 0;
198
217
  default:
218
+ // `--json` answers one view that the terminal does not, and `--help` lists it beside seven
219
+ // that it does. A reader scanning that line reasonably types `orca events`, and being told
220
+ // there is no such command — by the same tool that had just named it — reads as the CLI
221
+ // contradicting itself. Name the route instead.
222
+ if (JSON_ONLY.has(args.command)) {
223
+ out.failure({
224
+ event: 'json_only_command',
225
+ what: `${args.command} answers as data, not as a table`,
226
+ why: 'these are the raw trace records; `orca show` is the same events, rendered',
227
+ next: `orca ${args.command} --json`,
228
+ });
229
+ return 2;
230
+ }
199
231
  out.failure({
200
232
  event: 'unknown_command',
201
233
  what: `there is no "${args.command}" command`,
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -47,9 +47,17 @@ export interface TlsCapture {
47
47
  * Everything `setupTlsCapture` can refuse, without creating anything.
48
48
  *
49
49
  * A caller that has a trace directory to lose needs the refusal to happen first: a run abandoned
50
- * by a throw leaves an unsealed directory behind, and an unsealed directory wins `last`.
50
+ * by a throw leaves an unsealed directory behind, and an unsealed directory wins `last`. An exact
51
+ * replay has more than that to lose — it calls this before `replayWorkspace`, which writes the
52
+ * recording over the operator's checkout.
53
+ *
54
+ * `extraOriginRoots` is here for the second reason and not the first. It reads files, so it was
55
+ * left out of a function whose whole point was to decide from the arguments alone — but that made
56
+ * this only *most* of what `setupTlsCapture` refuses, and an unreadable `ORCA_TLS_UPSTREAM_CA`
57
+ * went on failing late, past the restore. The roots are read again below, microseconds later and
58
+ * on a path the run was going to read anyway.
51
59
  */
52
- export declare function planTlsCapture(args: ParsedArgs, recordedHosts?: readonly string[]): void;
60
+ export declare function planTlsCapture(args: ParsedArgs, recordedHosts?: readonly string[]): Promise<void>;
53
61
  export declare function setupTlsCapture(req: TlsCaptureRequest): Promise<TlsCapture>;
54
62
  /**
55
63
  * The hosts a recorded run decrypted, read back out of its own trace.
@@ -1 +1 @@
1
- {"version":3,"file":"tls-capture.d.ts","sourceRoot":"","sources":["../src/tls-capture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAEL,KAAK,EAGL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,IAAI,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,oFAAoF;IACpF,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAGxF;AAyBD,wBAAsB,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4CjF;AA6CD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAY7F;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CA+Cf;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC,CAoCf"}
1
+ {"version":3,"file":"tls-capture.d.ts","sourceRoot":"","sources":["../src/tls-capture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAGL,KAAK,EAGL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,IAAI,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,oFAAoF;IACpF,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,UAAU,EAChB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC,CAIf;AAyBD,wBAAsB,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4CjF;AAkED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAY7F;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CA+Cf;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC,CA4Cf"}
@@ -1,16 +1,25 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import { dirname } from 'node:path';
3
- import { HostPolicy, RunCa, resolveTlsHosts, } from '@orcareplay/proxy';
3
+ import { DEFAULT_MAX_CAPTURED_BYTES, HostPolicy, RunCa, resolveTlsHosts, } from '@orcareplay/proxy';
4
4
  /**
5
5
  * Everything `setupTlsCapture` can refuse, without creating anything.
6
6
  *
7
7
  * A caller that has a trace directory to lose needs the refusal to happen first: a run abandoned
8
- * by a throw leaves an unsealed directory behind, and an unsealed directory wins `last`.
8
+ * by a throw leaves an unsealed directory behind, and an unsealed directory wins `last`. An exact
9
+ * replay has more than that to lose — it calls this before `replayWorkspace`, which writes the
10
+ * recording over the operator's checkout.
11
+ *
12
+ * `extraOriginRoots` is here for the second reason and not the first. It reads files, so it was
13
+ * left out of a function whose whole point was to decide from the arguments alone — but that made
14
+ * this only *most* of what `setupTlsCapture` refuses, and an unreadable `ORCA_TLS_UPSTREAM_CA`
15
+ * went on failing late, past the restore. The roots are read again below, microseconds later and
16
+ * on a path the run was going to read anyway.
9
17
  */
10
- export function planTlsCapture(args, recordedHosts) {
18
+ export async function planTlsCapture(args, recordedHosts) {
11
19
  if (!interceptionRequested(args, recordedHosts))
12
20
  return;
13
21
  HostPolicy.from([...resolveTlsHosts(args.list('tls-hosts'), recordedHosts)]);
22
+ await extraOriginRoots();
14
23
  }
15
24
  /**
16
25
  * Is this run intercepting?
@@ -93,6 +102,12 @@ export async function setupTlsCapture(req) {
93
102
  function warnUnclaimed(out, reported, exchange) {
94
103
  if (exchange.method !== 'POST')
95
104
  return;
105
+ // No response ever arrived, so this one is not evidence that a path went unrecognised. It is
106
+ // kept as network traffic because an exchange with nothing to replay cannot be a model exchange
107
+ // whatever dialect exists -- and telling the operator to write one would not change that. A
108
+ // harness that opens a call and leaves would otherwise print this on every turn.
109
+ if (exchange.status === 0)
110
+ return;
96
111
  const body = exchange.requestBody.trim();
97
112
  if (!body.startsWith('{'))
98
113
  return;
@@ -115,6 +130,21 @@ function warnUnclaimed(out, reported, exchange) {
115
130
  if (reported.has(key))
116
131
  return;
117
132
  reported.add(key);
133
+ // A body cut mid-JSON at the capture limit is a different fact from a path nobody claims, and
134
+ // the advice differs with it: no dialect can read a truncated body, so writing one changes
135
+ // nothing. Driving a 1.2 MiB request through an intercepted host printed the wrong one of these
136
+ // -- `no wire dialect claims this path`, about a path the openai dialect had claimed all along.
137
+ if (exchange.requestTruncated) {
138
+ out.warn('tls.request_too_large', {
139
+ host: exchange.host,
140
+ path: exchange.path,
141
+ limit_bytes: DEFAULT_MAX_CAPTURED_BYTES,
142
+ detail: 'the request body was cut at the capture limit, so no dialect could read it',
143
+ consequence: 'it replays as opaque network traffic and cannot be forked to another model',
144
+ next: 'orca show <run> reads the prefix that was kept',
145
+ });
146
+ return;
147
+ }
118
148
  out.warn('tls.unclaimed_path', {
119
149
  host: exchange.host,
120
150
  path: exchange.path,
@@ -239,7 +269,15 @@ export async function persistNetExchange(writer, turn, exchange) {
239
269
  intercepted: true,
240
270
  headers: exchange.responseHeaders,
241
271
  bytes: exchange.responseBytes,
272
+ // What orca decompressed, next to the header set that no longer describes it. `bytes` is
273
+ // still the wire count, so the two together say how much the encoding was worth.
274
+ ...(exchange.responseDecodedFrom === undefined
275
+ ? {}
276
+ : { decoded_from: exchange.responseDecodedFrom }),
242
277
  truncated: exchange.responseTruncated,
278
+ // Only when it happened, so a normal exchange carries no field saying it was normal. It
279
+ // reads differently from `truncated`: the agent stopped reading, orca did not stop keeping.
280
+ ...(exchange.abandoned ? { abandoned: true } : {}),
243
281
  duration_ms: exchange.durationMs,
244
282
  },
245
283
  payload: exchange.responseBody,