@copilotkit/aimock 1.35.0 → 1.35.1
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +6 -0
- package/dist/agui-types.d.ts.map +1 -1
- package/dist/recorder.cjs +24 -11
- package/dist/recorder.cjs.map +1 -1
- package/dist/recorder.js +24 -11
- package/dist/recorder.js.map +1 -1
- package/dist/vector-types.d.cts.map +1 -1
- package/dist/vector-types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/recorder.js
CHANGED
|
@@ -231,6 +231,7 @@ async function proxyAndRecord(req, res, request, providerKey, pathname, fixtures
|
|
|
231
231
|
let hardCeilingExceeded = false;
|
|
232
232
|
let streamedToClient = false;
|
|
233
233
|
let clientDisconnected = false;
|
|
234
|
+
let sawDone = false;
|
|
234
235
|
let frameTimestamps = [];
|
|
235
236
|
let streamStartTime = 0;
|
|
236
237
|
const maxProxyBufferBytes = clampMaxBufferBytes(record.maxProxyBufferBytes);
|
|
@@ -246,6 +247,7 @@ async function proxyAndRecord(req, res, request, providerKey, pathname, fixtures
|
|
|
246
247
|
rawBuffer = result.rawBuffer;
|
|
247
248
|
streamedToClient = result.streamedToClient;
|
|
248
249
|
clientDisconnected = result.clientDisconnected;
|
|
250
|
+
sawDone = result.sawDone;
|
|
249
251
|
frameTimestamps = result.frameTimestamps;
|
|
250
252
|
streamStartTime = result.streamStartTime;
|
|
251
253
|
bufferTruncated = result.bufferTruncated;
|
|
@@ -400,8 +402,11 @@ async function proxyAndRecord(req, res, request, providerKey, pathname, fixtures
|
|
|
400
402
|
} else fixtureResponse = buildFixtureResponse(parsedResponse, upstreamStatus, defaults.logger);
|
|
401
403
|
}
|
|
402
404
|
if (clientDisconnected) {
|
|
403
|
-
|
|
404
|
-
|
|
405
|
+
if (!sawDone) {
|
|
406
|
+
defaults.logger.warn("Client disconnected mid-stream — skipping fixture save to avoid truncated data");
|
|
407
|
+
return "relayed";
|
|
408
|
+
}
|
|
409
|
+
defaults.logger.warn("Client closed connection before upstream end — upstream response completed, recording full fixture");
|
|
405
410
|
}
|
|
406
411
|
let recordedTimings;
|
|
407
412
|
if (frameTimestamps.length > 1) {
|
|
@@ -548,6 +553,7 @@ function makeUpstreamRequest(target, headers, body, clientRes, method = "POST",
|
|
|
548
553
|
let binaryFrameBuffer = Buffer.alloc(0);
|
|
549
554
|
let streamedToClient = false;
|
|
550
555
|
let clientDisconnected = false;
|
|
556
|
+
let sawDone = false;
|
|
551
557
|
if (isProgressiveStream && clientRes && !clientRes.headersSent) {
|
|
552
558
|
const relayHeaders = {
|
|
553
559
|
"Cache-Control": "no-cache, no-transform",
|
|
@@ -563,13 +569,15 @@ function makeUpstreamRequest(target, headers, body, clientRes, method = "POST",
|
|
|
563
569
|
clientRes.on("close", () => {
|
|
564
570
|
if (!clientRes.writableFinished) {
|
|
565
571
|
clientDisconnected = true;
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
572
|
+
if (!sawDone) {
|
|
573
|
+
req.destroy();
|
|
574
|
+
res.removeListener("data", onUpstreamData);
|
|
575
|
+
chunks.length = 0;
|
|
576
|
+
bufferedBytes = 0;
|
|
577
|
+
frameTimestamps.length = 0;
|
|
578
|
+
frameBuffer = "";
|
|
579
|
+
binaryFrameBuffer = Buffer.alloc(0);
|
|
580
|
+
}
|
|
573
581
|
}
|
|
574
582
|
});
|
|
575
583
|
}
|
|
@@ -621,7 +629,11 @@ function makeUpstreamRequest(target, headers, body, clientRes, method = "POST",
|
|
|
621
629
|
tripTruncation("frame");
|
|
622
630
|
break;
|
|
623
631
|
}
|
|
624
|
-
|
|
632
|
+
const frame = parts[fi].trim();
|
|
633
|
+
if (frame.length > 0) {
|
|
634
|
+
frameTimestamps.push(Date.now());
|
|
635
|
+
if (frame === "data: [DONE]") sawDone = true;
|
|
636
|
+
}
|
|
625
637
|
}
|
|
626
638
|
if (!bufferTruncated) frameBuffer = parts[parts.length - 1];
|
|
627
639
|
}
|
|
@@ -673,7 +685,8 @@ function makeUpstreamRequest(target, headers, body, clientRes, method = "POST",
|
|
|
673
685
|
bufferTruncated,
|
|
674
686
|
truncationCap,
|
|
675
687
|
totalBytes,
|
|
676
|
-
hardCeilingExceeded
|
|
688
|
+
hardCeilingExceeded,
|
|
689
|
+
sawDone
|
|
677
690
|
});
|
|
678
691
|
});
|
|
679
692
|
});
|