naiad-cli 0.2.35 → 0.2.36
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.
|
@@ -7,6 +7,7 @@ export class SessionUploader {
|
|
|
7
7
|
sessionId;
|
|
8
8
|
sessionDir;
|
|
9
9
|
pollTimer = null;
|
|
10
|
+
finalized = false;
|
|
10
11
|
constructor(client, sessionId, sessionDir) {
|
|
11
12
|
this.client = client;
|
|
12
13
|
this.sessionId = sessionId;
|
|
@@ -23,6 +24,8 @@ export class SessionUploader {
|
|
|
23
24
|
await this.checkAndUpload();
|
|
24
25
|
}
|
|
25
26
|
async checkAndUpload() {
|
|
27
|
+
if (this.finalized)
|
|
28
|
+
return;
|
|
26
29
|
try {
|
|
27
30
|
const files = readdirSync(this.sessionDir).filter((f) => f.endsWith(".jsonl"));
|
|
28
31
|
for (const file of files) {
|
|
@@ -62,8 +65,18 @@ export class SessionUploader {
|
|
|
62
65
|
throw new Error(`Chunk upload failed: ${res.status}`);
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
|
-
// Finalize
|
|
66
|
-
|
|
68
|
+
// Finalize — treat 409 (chunk count mismatch from prior finalize) as already done
|
|
69
|
+
try {
|
|
70
|
+
await this.client.finalizeSession(this.sessionId, totalBytes, chunkCount, fileHash);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
if (err.message?.includes("409")) {
|
|
74
|
+
this.finalized = true;
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
throw err;
|
|
78
|
+
}
|
|
79
|
+
this.finalized = true;
|
|
67
80
|
}
|
|
68
81
|
}
|
|
69
82
|
//# sourceMappingURL=session-upload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-upload.js","sourceRoot":"","sources":["../../src/sync/session-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGpC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ;AAE5C,MAAM,OAAO,eAAe;IAClB,MAAM,CAAY;IAClB,SAAS,CAAS;IAClB,UAAU,CAAS;IACnB,SAAS,GAA0C,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"session-upload.js","sourceRoot":"","sources":["../../src/sync/session-upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -326,6 +326,13 @@ export default function (pi: ExtensionAPI) {
|
|
|
326
326
|
body.reasoning_effort = effort;
|
|
327
327
|
}
|
|
328
328
|
|
|
329
|
+
// Combine caller abort signal with a 5-minute timeout to prevent infinite hangs
|
|
330
|
+
const timeoutMs = 5 * 60 * 1000;
|
|
331
|
+
const timeoutSignal = AbortSignal.timeout(timeoutMs);
|
|
332
|
+
const combinedSignal = options?.signal
|
|
333
|
+
? AbortSignal.any([options.signal, timeoutSignal])
|
|
334
|
+
: timeoutSignal;
|
|
335
|
+
|
|
329
336
|
const res = await fetch(`${inferenceUrl}/v1/chat/completions`, {
|
|
330
337
|
method: "POST",
|
|
331
338
|
headers: {
|
|
@@ -335,7 +342,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
335
342
|
"X-Naiad-Session-Id": sessionId,
|
|
336
343
|
},
|
|
337
344
|
body: JSON.stringify(body),
|
|
338
|
-
signal:
|
|
345
|
+
signal: combinedSignal,
|
|
339
346
|
});
|
|
340
347
|
|
|
341
348
|
if (!res.ok) {
|