orcareplay 0.2.1 → 0.2.3
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.
- package/dist/commands/record.js +53 -5
- package/dist/commands/record.js.map +1 -1
- package/dist/commands/scrub.d.ts.map +1 -1
- package/dist/commands/scrub.js +182 -47
- package/dist/commands/scrub.js.map +1 -1
- package/dist/exchange-events.d.ts.map +1 -1
- package/dist/exchange-events.js +15 -0
- package/dist/exchange-events.js.map +1 -1
- package/dist/tls-capture.d.ts.map +1 -1
- package/dist/tls-capture.js +30 -1
- package/dist/tls-capture.js.map +1 -1
- package/package.json +12 -11
package/dist/commands/record.js
CHANGED
|
@@ -172,6 +172,17 @@ async function runRecording(args, out, cwd, minted) {
|
|
|
172
172
|
let commandToolCalls = 0;
|
|
173
173
|
/** Commands the shim actually saw. Zero against a non-zero `commandToolCalls` is the warning. */
|
|
174
174
|
let shellFrames = 0;
|
|
175
|
+
/**
|
|
176
|
+
* Exchanges the upstream answered with an error status.
|
|
177
|
+
*
|
|
178
|
+
* Counted because a run in which every model call failed is indistinguishable, from the summary
|
|
179
|
+
* line alone, from one that worked: the harness retries, gives up, exits 0, and orca prints
|
|
180
|
+
* `recorded … exit=0` over a trace whose every answer is a 503. That happened against a gateway
|
|
181
|
+
* whose credentials had lapsed, and nothing in the output said so.
|
|
182
|
+
*/
|
|
183
|
+
let erroredExchanges = 0;
|
|
184
|
+
/** The status those errors carried, so the warning can name it rather than describe it. */
|
|
185
|
+
const errorStatuses = new Map();
|
|
175
186
|
const proxy = await createProxy({
|
|
176
187
|
mode: 'record',
|
|
177
188
|
upstream: plan.upstream,
|
|
@@ -179,6 +190,10 @@ async function runRecording(args, out, cwd, minted) {
|
|
|
179
190
|
upstreamHeadersOrigin: plan.headersOrigin,
|
|
180
191
|
onExchange: (exchange) => {
|
|
181
192
|
modelExchanges += 1;
|
|
193
|
+
if (exchange.status >= 400) {
|
|
194
|
+
erroredExchanges += 1;
|
|
195
|
+
errorStatuses.set(exchange.status, (errorStatuses.get(exchange.status) ?? 0) + 1);
|
|
196
|
+
}
|
|
182
197
|
writes.push(() => persist(exchange));
|
|
183
198
|
},
|
|
184
199
|
// A POST on a path no dialect claims is forwarded rather than refused, and lands in the trace
|
|
@@ -430,16 +445,49 @@ async function runRecording(args, out, cwd, minted) {
|
|
|
430
445
|
* the adapters; this guards the run, which is where a user actually meets it.
|
|
431
446
|
*/
|
|
432
447
|
if (modelExchanges === 0) {
|
|
448
|
+
const baseUrls = Object.keys(launch.env)
|
|
449
|
+
.filter((name) => /(?:_BASE_URL|_API_BASE)$/.test(name))
|
|
450
|
+
.sort();
|
|
451
|
+
// Which cause is worth naming depends on how this adapter captures at all, and the line
|
|
452
|
+
// already carries the evidence: `set=none` means there was never a variable to be ignored.
|
|
453
|
+
// Printing "it may not read a base-URL variable" next to `set=none` contradicts the run's own
|
|
454
|
+
// output and sends the reader after a route that was never the route -- which is how the
|
|
455
|
+
// capture bug fixed earlier in this branch stayed hidden through a dozen rounds of debugging.
|
|
456
|
+
const cause = baseUrls.length > 0
|
|
457
|
+
? 'the agent never called the proxy — it may not read a base-URL variable'
|
|
458
|
+
: tls.ca
|
|
459
|
+
? 'this adapter captures at the transport, and nothing orca decrypted looked like a model call'
|
|
460
|
+
: 'this adapter captures at the transport, and interception was not on';
|
|
433
461
|
out.warn('capture.empty', {
|
|
434
462
|
exchanges: 0,
|
|
435
|
-
cause
|
|
436
|
-
set:
|
|
437
|
-
.filter((name) => /(?:_BASE_URL|_API_BASE)$/.test(name))
|
|
438
|
-
.sort()
|
|
439
|
-
.join(',') || 'none',
|
|
463
|
+
cause,
|
|
464
|
+
set: baseUrls.join(',') || 'none',
|
|
440
465
|
next: 'orca doctor',
|
|
441
466
|
});
|
|
442
467
|
}
|
|
468
|
+
/**
|
|
469
|
+
* Every model call came back an error.
|
|
470
|
+
*
|
|
471
|
+
* `capture.empty` covers the run the proxy never saw. This covers the run it saw all of, where
|
|
472
|
+
* every answer was a refusal: an expired gateway credential, a model the account cannot reach, a
|
|
473
|
+
* provider outage. The harness retries, exhausts its attempts, prints its own error and exits 0,
|
|
474
|
+
* so the summary reads exactly like a successful recording — `recorded events=27 exit=0` — over
|
|
475
|
+
* a trace that contains no model output at all. Replaying it faithfully reproduces the failures.
|
|
476
|
+
*
|
|
477
|
+
* Only when *all* of them failed. A run that retried once and then worked is a run that worked,
|
|
478
|
+
* and warning about it would train people to ignore the line that matters.
|
|
479
|
+
*/
|
|
480
|
+
if (modelExchanges > 0 && erroredExchanges === modelExchanges) {
|
|
481
|
+
const commonest = [...errorStatuses.entries()].sort((a, b) => b[1] - a[1])[0];
|
|
482
|
+
out.warn('capture.errors', {
|
|
483
|
+
exchanges: modelExchanges,
|
|
484
|
+
errors: erroredExchanges,
|
|
485
|
+
status: commonest ? commonest[0] : 'unknown',
|
|
486
|
+
cause: 'every model call the proxy forwarded came back an error',
|
|
487
|
+
effect: 'the trace holds the failures, not any model output — a replay reproduces those',
|
|
488
|
+
next: 'orca show to read the errors, then check the upstream credential or model id',
|
|
489
|
+
});
|
|
490
|
+
}
|
|
443
491
|
/**
|
|
444
492
|
* Shell capture that was on and recorded nothing.
|
|
445
493
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/commands/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,KAAK,EAA2C,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnG,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAmB,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAgB7C;;;;;;;;;;GAUG;AACH;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,OAAO,GAAI,KAA+B,CAAC,OAAO,CAAC;IACzD,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAgB,EAChB,GAAW,EACX,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAEnB,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,IAAgB,EAChB,GAAW,EACX,GAAW,EACX,MAAe;IAEf,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAEtC,IAAI,OAA4B,CAAC;IACjC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,gCAAgC,GAAG,IAAI;gBACrC,uCAAuC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;gBACpE,mBAAmB,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnD,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IAErC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE;QAC3C,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE;QAC5F,IAAI,EAAE,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACpD,GAAG;QACH,WAAW,EAAE,YAAY;KAC1B,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,EAAyB,CAAC;IAC9B,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3D,0FAA0F;YAC1F,oFAAoF;YACpF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,wFAAwF;YACxF,wDAAwD;YACxD,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,+FAA+F;IAC/F,yFAAyF;IACzF,IAAI,GAA2B,CAAC;IAChC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,GAAG,MAAM,eAAe,CAAC,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7F,IAAI,GAAG,EAAE,CAAC;YACR,uFAAuF;YACvF,8FAA8F;YAC9F,0FAA0F;YAC1F,MAAM,MAAM,CAAC,MAAM,CAAC;gBAClB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE;oBACL,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC;oBACnC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS;oBAC7C,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS;iBAC5C;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iGAAiG;IACjG,6FAA6F;IAC7F,oDAAoD;IACpD,IAAI,KAA+D,CAAC;IACpE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,8EAA8E;YAC9E,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC3C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,iGAAiG;IACjG,8EAA8E;IAC9E,MAAM,aAAa,GAAmC,EAAE,CAAC;IACzD,4FAA4F;IAC5F,2FAA2F;IAC3F,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;IAEjC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IAEtC;;;;;;;OAOG;IACH,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACnF,IAAI,GAAG,CAAC,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;IAElB,+FAA+F;IAC/F,8FAA8F;IAC9F,2FAA2F;IAC3F,+FAA+F;IAC/F,gGAAgG;IAChG,+FAA+F;IAC/F,oCAAoC;IACpC,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACjC,OAAO,EAAE,OAAO,CAAC,EAAE;YACnB,MAAM,EAAE,kEAAkE;YAC1E,IAAI,EAAE,8EAA8E;SACrF,CAAC,CAAC;IACL,CAAC;IAED,2FAA2F;IAC3F,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB;;;;;;;;OAQG;IACH,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,iGAAiG;IACjG,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC;QAC9B,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,eAAe,EAAE,IAAI,CAAC,OAAO;QAC7B,qBAAqB,EAAE,IAAI,CAAC,aAAa;QACzC,UAAU,EAAE,CAAC,QAA0B,EAAE,EAAE;YACzC,cAAc,IAAI,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,8FAA8F;QAC9F,2FAA2F;QAC3F,qDAAqD;QACrD,aAAa,EAAE,CAAC,QAAqB,EAAE,EAAE;YACvC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,GAAG,GAAG,CAAC,YAAY;KACpB,CAAC,CAAC;IAEH,KAAK,UAAU,OAAO,CAAC,QAA0B;QAC/C,IAAI,IAAI,CAAC,CAAC;QACV,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YACrE,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC1E,gBAAgB,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE;YAAE,MAAM,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,MAAM,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE;KACtD,CAAC,CAAC;IAEH,IAAI,EAAE;QAAE,MAAM,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpE;;;;;;;;;;;;;OAaG;IACH,KAAK,UAAU,OAAO,CAAC,GAAY;QACjC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,EAAE;YAAE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,MAAM;aACT,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;aAC/E,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,GAAG,CAAC;IACZ,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,GAAG,GAAkB;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,GAAG;gBACH,QAAQ,EAAE,KAAK,CAAC,GAAG;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,IAAI,CAAC,WAAW;gBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAE5C,0FAA0F;YAC1F,6FAA6F;YAC7F,kDAAkD;YAClD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAEzE,IAAI,KAAK,EAAE,CAAC;gBACV,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YAC1E,CAAC;YACD,IAAI,GAAG,EAAE,CAAC;gBACR,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC/C,wFAAwF;gBACxF,kFAAkF;gBAClF,uFAAuF;gBACvF,gBAAgB;gBAChB,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxD,IAAI,OAAO,KAAK,SAAS;oBAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;;oBAExE,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;wBACxB,OAAO,EAAE,OAAO,CAAC,EAAE;wBACnB,KAAK,EAAE,GAAG,OAAO,CAAC,EAAE,wFAAwF;wBAC5G,MAAM,EACJ,kGAAkG;qBACrG,CAAC,CAAC;YACP,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE;QACrB,GAAG,EAAE,MAAM,CAAC,KAAK;QACjB,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,KAAK,EAAE,KAAK,CAAC,GAAG;QAChB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QACrB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;KAC5B,CAAC,CAAC;IAEH,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,QAAQ,CACvB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,IAAI,EACX,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,EACjC,MAAM,CAAC,GAAG,IAAI,GAAG;QACjB,2FAA2F;QAC3F,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAClB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,8FAA8F;IAC9F,SAAS,MAAM,CAAC,EAAU;QACxB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,EAAE,GAAG,EAAE;gBAAE,MAAM;YACxB,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACpB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,wFAAwF;QACxF,4FAA4F;QAC5F,4FAA4F;QAC5F,2FAA2F;QAC3F,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvD,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;gBAC/B,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;aAC7D,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC;gBAClB,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;gBAClB,sFAAsF;gBACtF,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnF,KAAK,EAAE;oBACL,SAAS,EAAE,KAAK,CAAC,QAAQ;oBACzB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,WAAW,EAAE,KAAK,CAAC,UAAU;oBAC7B,YAAY,EAAE,KAAK,CAAC,WAAW;oBAC/B,YAAY,EAAE,KAAK,CAAC,WAAW;iBAChC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,GAAG;QAAE,MAAM,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAEzD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,IAAI;YACJ,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;SACxE,CAAC,CAAC;IACL,CAAC;IAED,4FAA4F;IAC5F,0FAA0F;IAC1F,qFAAqF;IACrF,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,gGAAgG;IAChG,wEAAwE;IACxE,IAAI,EAAE,EAAE,CAAC;QACP,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,OAAmD,CAAC;IACxD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,SAAS;YAChB,IAAI;YACJ,KAAK,EAAE;gBACL,OAAO,EAAE,OAAO,CAAC,EAAE;gBACnB,UAAU,EAAE,OAAO,CAAC,EAAE;gBACtB,QAAQ,EAAE,OAAO,CAAC,OAAO;gBACzB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;gBAC/B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;aAChC;YACD,uFAAuF;YACvF,sFAAsF;YACtF,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,UAAU,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aACpD;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE9C,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE;QACpB,GAAG,EAAE,MAAM,CAAC,KAAK;QACjB,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,GAAG;QAC7C,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC;QAClC,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,MAAM,CAAC,MAAM;KACnB,CAAC,CAAC;IAEH;;;;;;;;;;OAUG;IACH,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;YACxB,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,wEAAwE;YAC/E,GAAG,EACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;iBACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvD,IAAI,EAAE;iBACN,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM;YACxB,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,KAAK,IAAI,WAAW,KAAK,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC5B,QAAQ,EAAE,gBAAgB;YAC1B,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,+DAA+D;YACtE,MAAM,EAAE,yEAAyE;YACjF,IAAI,EAAE,wEAAwE;SAC/E,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACnF,IAAI,cAAc,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC5B,SAAS,EAAE,cAAc;YACzB,KAAK,EAAE,OAAO,CAAC,OAAO;gBACpB,CAAC,CAAC,6DAA6D;gBAC/D,CAAC,CAAC,0BAA0B,OAAO,CAAC,EAAE,sCAAsC;YAC9E,MAAM,EAAE,qFAAqF;YAC7F,IAAI,EAAE,aAAa,MAAM,CAAC,KAAK,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACd,GAAG,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,KAAK,oCAAoC,CAAC,CAAC;IAC7E,GAAG,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,KAAK,iCAAiC,CAAC,CAAC;IAE1E,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,GAAG;QAC7C,cAAc;QACd,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,QAAQ,CACrB,OAAe,EACf,IAAc,EACd,GAAsB,EACtB,GAAW,EACX,WAAW,GAAG,KAAK;IAEnB,4FAA4F;IAC5F,qCAAqC;IACrC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;YAC5C,GAAG;YACH,GAAG;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;SAChE,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,4FAA4F;QAC5F,MAAM,OAAO,GAAG,CAAC,MAAsB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE9B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/B,MAAM,CACJ,IAAI,KAAK,CACP,qBAAqB,OAAO,KAAK;gBAC/B,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI;gBACpB,qCAAqC,CACxC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/commands/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrub.d.ts","sourceRoot":"","sources":["../../src/commands/scrub.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"scrub.d.ts","sourceRoot":"","sources":["../../src/commands/scrub.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAaxC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,cAAc,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,MAAM,EAAE,OAAO,CAAC;CACjB;AAsBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,SAAgB,GAClB,OAAO,CAAC,WAAW,CAAC,CA0OtB"}
|
package/dist/commands/scrub.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { createHash, randomBytes } from 'node:crypto';
|
|
2
|
-
import { readFile, readdir, rename, rm, stat, unlink, writeFile } from 'node:fs/promises';
|
|
3
|
-
import { join, relative } from 'node:path';
|
|
2
|
+
import { mkdir, readFile, readdir, rename, rm, stat, unlink, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { basename, dirname, join, relative } from 'node:path';
|
|
4
4
|
import { Redactor, resolveRunSelector } from '@orcareplay/core';
|
|
5
5
|
import { runGit, runGitRaw } from '@orcareplay/fs-capture';
|
|
6
6
|
import { validateEvent, validateManifest } from '@orcareplay/schema';
|
|
7
7
|
const FILE_MODE = 0o600;
|
|
8
|
+
const DIR_MODE = 0o700;
|
|
9
|
+
const BLOB_PREFIX = 'sha256:';
|
|
10
|
+
/** What `BlobStore` treats as a blob. Anything else under `blobs/` is a partial write. */
|
|
11
|
+
const BLOB_NAME = /^[0-9a-f]{64}$/;
|
|
8
12
|
/** Bounds how much object content one `git cat-file --batch` holds in memory at a time. */
|
|
9
13
|
const BATCH_BYTES = 8 * 1024 * 1024;
|
|
10
14
|
/**
|
|
@@ -59,6 +63,62 @@ export async function scrubCommand(args, out, cwd = process.cwd()) {
|
|
|
59
63
|
const scrubbedManifest = scrubText(manifestBefore);
|
|
60
64
|
const manifest = parseScrubbedManifest(scrubbedManifest.value, runDir);
|
|
61
65
|
removals += scrubbedManifest.removals;
|
|
66
|
+
const pending = [];
|
|
67
|
+
/** The redaction ledger, which is appended to rather than scrubbed — reported, never counted. */
|
|
68
|
+
let ledger;
|
|
69
|
+
/**
|
|
70
|
+
* Blobs hold most of the volume, so most of what needs removing lives there — and they go before
|
|
71
|
+
* events, because scrubbing a blob *moves* it.
|
|
72
|
+
*
|
|
73
|
+
* A blob's name is the sha256 of its contents (spec §2.2), which is not decoration: `put`
|
|
74
|
+
* recognises content it already holds by that path existing and then does not write the file, and
|
|
75
|
+
* that is what keeps a trace linear in new content rather than quadratic in turns. Rewriting a
|
|
76
|
+
* blob under its old name left a store where the name no longer described the contents, so a
|
|
77
|
+
* later `put` of the original material would conclude it was already stored and hand back a
|
|
78
|
+
* reference to scrubbed content instead. `orca scrub` says this out loud already, about the
|
|
79
|
+
* workspace snapshots it declines to rewrite: git objects are addressed by their own contents.
|
|
80
|
+
* These are too.
|
|
81
|
+
*/
|
|
82
|
+
const blobsRoot = join(runDir, 'blobs');
|
|
83
|
+
const blobPaths = await walk(blobsRoot);
|
|
84
|
+
const moved = new Map();
|
|
85
|
+
/** Old blob files, deleted only once every new one is in place. */
|
|
86
|
+
const stale = new Set();
|
|
87
|
+
for (const path of blobPaths) {
|
|
88
|
+
const buf = await readFile(path);
|
|
89
|
+
// Skip binary. A NUL byte, or a UTF-8 round trip that loses bytes, means rewriting this file
|
|
90
|
+
// as text would corrupt it — and a secret is not going to be hiding in a PNG anyway.
|
|
91
|
+
const text = asText(buf);
|
|
92
|
+
if (text === undefined)
|
|
93
|
+
continue;
|
|
94
|
+
const scrubbed = scrubText(text);
|
|
95
|
+
if (scrubbed.value === text)
|
|
96
|
+
continue;
|
|
97
|
+
removals += scrubbed.removals;
|
|
98
|
+
filesChanged += 1;
|
|
99
|
+
// A file whose name is not a digest is a `put` that crashed between its write and its
|
|
100
|
+
// rename. Nothing references it, and its name never claimed anything about its contents,
|
|
101
|
+
// so it is rewritten where it lies -- moving it would mint a hex-named file no event
|
|
102
|
+
// points at. It is still scrubbed: a scrubber that skips a file holding the material is
|
|
103
|
+
// the one failure this command must not have.
|
|
104
|
+
if (!BLOB_NAME.test(basename(path))) {
|
|
105
|
+
pending.push({ path, contents: scrubbed.value });
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
const digest = createHash('sha256').update(scrubbed.value, 'utf8').digest('hex');
|
|
109
|
+
moved.set(basename(path), { digest, bytes: Buffer.byteLength(scrubbed.value, 'utf8') });
|
|
110
|
+
pending.push({
|
|
111
|
+
path: join(blobsRoot, digest.slice(0, 2), digest),
|
|
112
|
+
contents: scrubbed.value,
|
|
113
|
+
movedFrom: path,
|
|
114
|
+
});
|
|
115
|
+
stale.add(path);
|
|
116
|
+
}
|
|
117
|
+
// Never delete a path something is being written to. Two blobs can scrub to the same content, and
|
|
118
|
+
// one blob can scrub to content another blob already holds; either way the file that survives is
|
|
119
|
+
// the one being written, and the name it is written under may be some other blob's old name.
|
|
120
|
+
for (const write of pending)
|
|
121
|
+
stale.delete(write.path);
|
|
62
122
|
// events.jsonl, line by line, so a truncated final line stays tolerable.
|
|
63
123
|
const eventsPath = join(runDir, 'events.jsonl');
|
|
64
124
|
const original = await readFile(eventsPath, 'utf8');
|
|
@@ -69,58 +129,44 @@ export async function scrubCommand(args, out, cwd = process.cwd()) {
|
|
|
69
129
|
if (line.trim() === '')
|
|
70
130
|
continue;
|
|
71
131
|
const scrubbed = scrubText(line);
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
132
|
+
let kept = line;
|
|
133
|
+
if (scrubbed.value !== line) {
|
|
134
|
+
// Never write a line that would no longer parse or validate: a scrub that corrupts the trace
|
|
135
|
+
// is worse than one that leaves something behind, because it destroys the evidence too. But
|
|
136
|
+
// putting the original back means the match is still on disk, so it is reported rather than
|
|
137
|
+
// swallowed — and it is not counted, or `removed=N` would name removals that never happened.
|
|
138
|
+
const reason = rejectionReason(scrubbed.value);
|
|
139
|
+
if (reason === undefined) {
|
|
140
|
+
removals += scrubbed.removals;
|
|
141
|
+
kept = scrubbed.value;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
reverted += 1;
|
|
145
|
+
const seq = seqOf(line);
|
|
146
|
+
out.warn('scrub_reverted', seq === undefined ? { line: lineNumber, reason } : { seq, reason });
|
|
147
|
+
}
|
|
87
148
|
}
|
|
88
|
-
|
|
89
|
-
|
|
149
|
+
// Applied to whichever text won, a reverted line included: the blob has moved either way, and
|
|
150
|
+
// a reference left pointing at the old name is a reference to a file that is about to be gone.
|
|
151
|
+
// It has no revert of its own because it cannot invalidate a line — a digest is replaced by a
|
|
152
|
+
// digest of the same shape.
|
|
153
|
+
scrubbedLines.push(moved.size === 0 ? kept : retargetLine(kept, moved));
|
|
90
154
|
}
|
|
91
155
|
if (reverted > 0) {
|
|
92
156
|
out.plain(` ${reverted} event(s) were put back unchanged — what they matched is STILL here`);
|
|
93
157
|
out.plain(' next: widen the match, or delete the run outright');
|
|
94
158
|
}
|
|
95
|
-
const pending = [];
|
|
96
|
-
/** The redaction ledger, which is appended to rather than scrubbed — reported, never counted. */
|
|
97
|
-
let ledger;
|
|
98
159
|
const nextEvents = `${scrubbedLines.join('\n')}\n`;
|
|
99
160
|
const eventsRewritten = nextEvents !== original;
|
|
100
161
|
if (eventsRewritten) {
|
|
101
162
|
pending.push({ path: eventsPath, contents: nextEvents });
|
|
102
163
|
filesChanged += 1;
|
|
103
164
|
}
|
|
104
|
-
// Blobs hold most of the volume, so most of what needs removing lives there.
|
|
105
|
-
const blobsRoot = join(runDir, 'blobs');
|
|
106
|
-
for (const path of await walk(blobsRoot)) {
|
|
107
|
-
const buf = await readFile(path);
|
|
108
|
-
// Skip binary. A NUL byte, or a UTF-8 round trip that loses bytes, means rewriting this file
|
|
109
|
-
// as text would corrupt it — and a secret is not going to be hiding in a PNG anyway.
|
|
110
|
-
const text = asText(buf);
|
|
111
|
-
if (text === undefined)
|
|
112
|
-
continue;
|
|
113
|
-
const scrubbed = scrubText(text);
|
|
114
|
-
if (scrubbed.value !== text) {
|
|
115
|
-
pending.push({ path, contents: scrubbed.value });
|
|
116
|
-
removals += scrubbed.removals;
|
|
117
|
-
filesChanged += 1;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
165
|
const fs = await handleShadowStore(runDir, args.bool('drop-fs'), dryRun, (text) => {
|
|
121
166
|
return scrubText(text).value !== text;
|
|
122
167
|
});
|
|
123
|
-
|
|
168
|
+
const integrity = manifest.integrity;
|
|
169
|
+
if (isRecord(integrity) && (eventsRewritten || moved.size > 0)) {
|
|
124
170
|
// Refresh the digest so `verifyIntegrity` still passes over the scrubbed file. Only when the
|
|
125
171
|
// file was actually rewritten: recomputing it unconditionally would quietly repair a digest
|
|
126
172
|
// that never matched, which is exactly the tampering the digest exists to expose.
|
|
@@ -128,13 +174,23 @@ export async function scrubCommand(args, out, cwd = process.cwd()) {
|
|
|
128
174
|
// Hashed from the bytes about to be written rather than re-read from disk, because under
|
|
129
175
|
// `--dry-run` nothing is written — and a digest that depends on the write having happened is
|
|
130
176
|
// a digest that silently means two different things.
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
177
|
+
manifest.integrity = {
|
|
178
|
+
...integrity,
|
|
179
|
+
...(eventsRewritten
|
|
180
|
+
? { events_sha256: createHash('sha256').update(nextEvents, 'utf8').digest('hex') }
|
|
181
|
+
: {}),
|
|
182
|
+
// The store changes shape when a blob moves, and not only by renaming: two blobs whose one
|
|
183
|
+
// difference was the material being removed scrub to the same content and become one file.
|
|
184
|
+
// A count left describing the store as it was is the same false claim as a stale digest.
|
|
185
|
+
...(moved.size === 0 ? {} : { blob_count: blobCountAfter(blobPaths, stale, pending) }),
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
const counts = manifest.counts;
|
|
189
|
+
if (isRecord(counts) && moved.size > 0 && typeof counts['blobs'] === 'number') {
|
|
190
|
+
// Written from the same number as `integrity.blob_count`, and read in its place by any viewer
|
|
191
|
+
// opening a run sealed before that field existed. Leaving one refreshed and the other not
|
|
192
|
+
// would make the same run report two different sizes depending on which reader opened it.
|
|
193
|
+
manifest.counts = { ...counts, blobs: blobCountAfter(blobPaths, stale, pending) };
|
|
138
194
|
}
|
|
139
195
|
const manifestAfter = `${JSON.stringify(manifest, null, 2)}\n`;
|
|
140
196
|
if (manifestAfter !== manifestBefore) {
|
|
@@ -163,7 +219,10 @@ export async function scrubCommand(args, out, cwd = process.cwd()) {
|
|
|
163
219
|
for (const write of pending) {
|
|
164
220
|
if (write.path === ledger)
|
|
165
221
|
continue;
|
|
166
|
-
out.plain(
|
|
222
|
+
out.plain(write.movedFrom === undefined
|
|
223
|
+
? ` would rewrite ${relative(runDir, write.path)}`
|
|
224
|
+
: ` would rewrite ${relative(runDir, write.movedFrom)} and move it to ` +
|
|
225
|
+
`${relative(runDir, write.path)}, which is what its scrubbed contents hash to`);
|
|
167
226
|
}
|
|
168
227
|
if (ledger !== undefined)
|
|
169
228
|
out.plain(` would record the removals in ${relative(runDir, ledger)}`);
|
|
@@ -172,6 +231,13 @@ export async function scrubCommand(args, out, cwd = process.cwd()) {
|
|
|
172
231
|
}
|
|
173
232
|
else {
|
|
174
233
|
await commit(pending);
|
|
234
|
+
// Last, and only once every new file is in place. Until then the old blobs are what the
|
|
235
|
+
// references still reach, so a scrub interrupted before this leaves a run that is whole and
|
|
236
|
+
// partly unscrubbed rather than one that is scrubbed and unreadable — and re-running the same
|
|
237
|
+
// command finishes it, because the leftover file is found and scrubbed again to the digest it
|
|
238
|
+
// already sits under.
|
|
239
|
+
for (const path of stale)
|
|
240
|
+
await rm(path, { force: true });
|
|
175
241
|
out.phase('scrubbed', { run: runDir, removed: removals, files: filesChanged });
|
|
176
242
|
}
|
|
177
243
|
if (removals === 0 && reverted === 0 && fs.matches === 0 && fs.unreadable === undefined) {
|
|
@@ -204,6 +270,9 @@ export async function scrubCommand(args, out, cwd = process.cwd()) {
|
|
|
204
270
|
*/
|
|
205
271
|
async function commit(pending) {
|
|
206
272
|
for (const write of pending) {
|
|
273
|
+
// A moved blob's digest usually starts with two hex characters no other blob in this run does,
|
|
274
|
+
// so its shard does not exist yet. Every other write here lands in a directory that does.
|
|
275
|
+
await mkdir(dirname(write.path), { recursive: true, mode: DIR_MODE });
|
|
207
276
|
const tmp = `${write.path}.${randomBytes(6).toString('hex')}.tmp`;
|
|
208
277
|
try {
|
|
209
278
|
await writeFile(tmp, write.contents, { mode: FILE_MODE });
|
|
@@ -237,6 +306,72 @@ function collectLiterals(args) {
|
|
|
237
306
|
}
|
|
238
307
|
return literals;
|
|
239
308
|
}
|
|
309
|
+
/**
|
|
310
|
+
* Point an event's payload at where its blob now lives.
|
|
311
|
+
*
|
|
312
|
+
* Walks the payload rather than substituting over the whole line, so a digest that appears inside
|
|
313
|
+
* recorded text is left alone; and rewrites `bytes` along with the digest, because scrubbing
|
|
314
|
+
* changes a body's length and a reference that reports the old one is the same kind of false claim
|
|
315
|
+
* as the old digest was.
|
|
316
|
+
*/
|
|
317
|
+
function retargetLine(line, moved) {
|
|
318
|
+
let parsed;
|
|
319
|
+
try {
|
|
320
|
+
parsed = JSON.parse(line);
|
|
321
|
+
}
|
|
322
|
+
catch {
|
|
323
|
+
// A truncated final line, which the text pass leaves alone for the same reason.
|
|
324
|
+
return line;
|
|
325
|
+
}
|
|
326
|
+
if (!isRecord(parsed) || !retargetBlobs(parsed['payload'], moved))
|
|
327
|
+
return line;
|
|
328
|
+
return JSON.stringify(parsed);
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Returns whether anything moved, so a line holding no moved reference is written back
|
|
332
|
+
* byte-for-byte rather than re-serialised.
|
|
333
|
+
*
|
|
334
|
+
* Depth-bounded at the same six levels the viewer's own blob walk uses, so the two agree about
|
|
335
|
+
* where a reference can be.
|
|
336
|
+
*/
|
|
337
|
+
function retargetBlobs(value, moved, depth = 0) {
|
|
338
|
+
if (depth > 6 || value === null || typeof value !== 'object')
|
|
339
|
+
return false;
|
|
340
|
+
if (Array.isArray(value)) {
|
|
341
|
+
let hit = false;
|
|
342
|
+
for (const item of value)
|
|
343
|
+
hit = retargetBlobs(item, moved, depth + 1) || hit;
|
|
344
|
+
return hit;
|
|
345
|
+
}
|
|
346
|
+
const record = value;
|
|
347
|
+
const ref = record['$blob'];
|
|
348
|
+
if (typeof ref === 'string') {
|
|
349
|
+
const target = moved.get(ref.startsWith(BLOB_PREFIX) ? ref.slice(BLOB_PREFIX.length) : ref);
|
|
350
|
+
if (target === undefined)
|
|
351
|
+
return false;
|
|
352
|
+
record['$blob'] = `${BLOB_PREFIX}${target.digest}`;
|
|
353
|
+
record['bytes'] = target.bytes;
|
|
354
|
+
return true;
|
|
355
|
+
}
|
|
356
|
+
let hit = false;
|
|
357
|
+
for (const item of Object.values(record))
|
|
358
|
+
hit = retargetBlobs(item, moved, depth + 1) || hit;
|
|
359
|
+
return hit;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* How many blobs the store will hold once the moves are committed.
|
|
363
|
+
*
|
|
364
|
+
* Counted the way `BlobStore.count()` counts, by digest-named files only, so the manifest
|
|
365
|
+
* keeps reporting the same number the store itself would.
|
|
366
|
+
*/
|
|
367
|
+
function blobCountAfter(before, stale, pending) {
|
|
368
|
+
const after = new Set(before.filter((path) => !stale.has(path)));
|
|
369
|
+
for (const write of pending) {
|
|
370
|
+
if (write.movedFrom !== undefined)
|
|
371
|
+
after.add(write.path);
|
|
372
|
+
}
|
|
373
|
+
return [...after].filter((path) => BLOB_NAME.test(basename(path))).length;
|
|
374
|
+
}
|
|
240
375
|
/** Why a scrubbed event line cannot be written, or undefined when it can. */
|
|
241
376
|
function rejectionReason(scrubbed) {
|
|
242
377
|
let parsed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrub.js","sourceRoot":"","sources":["../../src/commands/scrub.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scrub.js","sourceRoot":"","sources":["../../src/commands/scrub.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;
|
|
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;IA8FhE,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"}
|
package/dist/exchange-events.js
CHANGED
|
@@ -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,11 @@ 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 }),
|
|
79
94
|
},
|
|
80
95
|
payload: exchange.rawResponse,
|
|
81
96
|
});
|
|
@@ -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;
|
|
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":"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,
|
|
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;;;;;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;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"}
|
package/dist/tls-capture.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
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
|
*
|
|
@@ -93,6 +93,12 @@ export async function setupTlsCapture(req) {
|
|
|
93
93
|
function warnUnclaimed(out, reported, exchange) {
|
|
94
94
|
if (exchange.method !== 'POST')
|
|
95
95
|
return;
|
|
96
|
+
// No response ever arrived, so this one is not evidence that a path went unrecognised. It is
|
|
97
|
+
// kept as network traffic because an exchange with nothing to replay cannot be a model exchange
|
|
98
|
+
// whatever dialect exists -- and telling the operator to write one would not change that. A
|
|
99
|
+
// harness that opens a call and leaves would otherwise print this on every turn.
|
|
100
|
+
if (exchange.status === 0)
|
|
101
|
+
return;
|
|
96
102
|
const body = exchange.requestBody.trim();
|
|
97
103
|
if (!body.startsWith('{'))
|
|
98
104
|
return;
|
|
@@ -115,6 +121,21 @@ function warnUnclaimed(out, reported, exchange) {
|
|
|
115
121
|
if (reported.has(key))
|
|
116
122
|
return;
|
|
117
123
|
reported.add(key);
|
|
124
|
+
// A body cut mid-JSON at the capture limit is a different fact from a path nobody claims, and
|
|
125
|
+
// the advice differs with it: no dialect can read a truncated body, so writing one changes
|
|
126
|
+
// nothing. Driving a 1.2 MiB request through an intercepted host printed the wrong one of these
|
|
127
|
+
// -- `no wire dialect claims this path`, about a path the openai dialect had claimed all along.
|
|
128
|
+
if (exchange.requestTruncated) {
|
|
129
|
+
out.warn('tls.request_too_large', {
|
|
130
|
+
host: exchange.host,
|
|
131
|
+
path: exchange.path,
|
|
132
|
+
limit_bytes: DEFAULT_MAX_CAPTURED_BYTES,
|
|
133
|
+
detail: 'the request body was cut at the capture limit, so no dialect could read it',
|
|
134
|
+
consequence: 'it replays as opaque network traffic and cannot be forked to another model',
|
|
135
|
+
next: 'orca show <run> reads the prefix that was kept',
|
|
136
|
+
});
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
118
139
|
out.warn('tls.unclaimed_path', {
|
|
119
140
|
host: exchange.host,
|
|
120
141
|
path: exchange.path,
|
|
@@ -239,7 +260,15 @@ export async function persistNetExchange(writer, turn, exchange) {
|
|
|
239
260
|
intercepted: true,
|
|
240
261
|
headers: exchange.responseHeaders,
|
|
241
262
|
bytes: exchange.responseBytes,
|
|
263
|
+
// What orca decompressed, next to the header set that no longer describes it. `bytes` is
|
|
264
|
+
// still the wire count, so the two together say how much the encoding was worth.
|
|
265
|
+
...(exchange.responseDecodedFrom === undefined
|
|
266
|
+
? {}
|
|
267
|
+
: { decoded_from: exchange.responseDecodedFrom }),
|
|
242
268
|
truncated: exchange.responseTruncated,
|
|
269
|
+
// Only when it happened, so a normal exchange carries no field saying it was normal. It
|
|
270
|
+
// reads differently from `truncated`: the agent stopped reading, orca did not stop keeping.
|
|
271
|
+
...(exchange.abandoned ? { abandoned: true } : {}),
|
|
243
272
|
duration_ms: exchange.durationMs,
|
|
244
273
|
},
|
|
245
274
|
payload: exchange.responseBody,
|
package/dist/tls-capture.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tls-capture.js","sourceRoot":"","sources":["../src/tls-capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EACL,UAAU,EACV,KAAK,
|
|
1
|
+
{"version":3,"file":"tls-capture.js","sourceRoot":"","sources":["../src/tls-capture.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orcareplay",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
|
+
"mcpName": "io.github.Continuum-AI-Corp/orcareplay",
|
|
4
5
|
"type": "module",
|
|
5
6
|
"license": "Apache-2.0",
|
|
6
7
|
"description": "Record, replay and fork debugger for AI agents",
|
|
@@ -36,15 +37,15 @@
|
|
|
36
37
|
"directory": "packages/cli"
|
|
37
38
|
},
|
|
38
39
|
"dependencies": {
|
|
39
|
-
"@orcareplay/schema": "0.2.
|
|
40
|
-
"@orcareplay/plugin-api": "0.2.
|
|
41
|
-
"@orcareplay/core": "0.2.
|
|
42
|
-
"@orcareplay/proxy": "0.2.
|
|
43
|
-
"@orcareplay/providers": "0.2.
|
|
44
|
-
"@orcareplay/adapters": "0.2.
|
|
45
|
-
"@orcareplay/fs-capture": "0.2.
|
|
46
|
-
"@orcareplay/viewer": "0.2.
|
|
47
|
-
"@orcareplay/mcp-shim": "0.2.
|
|
48
|
-
"@orcareplay/shell-shim": "0.2.
|
|
40
|
+
"@orcareplay/schema": "0.2.3",
|
|
41
|
+
"@orcareplay/plugin-api": "0.2.3",
|
|
42
|
+
"@orcareplay/core": "0.2.3",
|
|
43
|
+
"@orcareplay/proxy": "0.2.3",
|
|
44
|
+
"@orcareplay/providers": "0.2.3",
|
|
45
|
+
"@orcareplay/adapters": "0.2.3",
|
|
46
|
+
"@orcareplay/fs-capture": "0.2.3",
|
|
47
|
+
"@orcareplay/viewer": "0.2.3",
|
|
48
|
+
"@orcareplay/mcp-shim": "0.2.3",
|
|
49
|
+
"@orcareplay/shell-shim": "0.2.3"
|
|
49
50
|
}
|
|
50
51
|
}
|