peerllm-host-cli 1.9.13 → 1.9.15
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/core/auth.d.ts +21 -1
- package/dist/core/auth.d.ts.map +1 -1
- package/dist/core/auth.js +67 -3
- package/dist/core/auth.js.map +1 -1
- package/dist/core/capacity.d.ts +8 -4
- package/dist/core/capacity.d.ts.map +1 -1
- package/dist/core/capacity.js +10 -3
- package/dist/core/capacity.js.map +1 -1
- package/dist/core/host-stats.d.ts +10 -0
- package/dist/core/host-stats.d.ts.map +1 -1
- package/dist/core/host-stats.js +50 -34
- package/dist/core/host-stats.js.map +1 -1
- package/dist/core/llmWorker.js +9 -0
- package/dist/core/llmWorker.js.map +1 -1
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +15 -6
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/runner-pool.d.ts +19 -0
- package/dist/core/runner-pool.d.ts.map +1 -1
- package/dist/core/runner-pool.js +39 -0
- package/dist/core/runner-pool.js.map +1 -1
- package/dist/core/shared-runner.d.ts +25 -0
- package/dist/core/shared-runner.d.ts.map +1 -1
- package/dist/core/shared-runner.js +253 -18
- package/dist/core/shared-runner.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,29 @@ const WATCHDOG_INTERVAL_MS = 60 * 1000;
|
|
|
15
15
|
const STALE_CONTEXT_LIMIT_MS = 5 * 60 * 1000;
|
|
16
16
|
const WORKER_READY_TIMEOUT_MS = 10_000;
|
|
17
17
|
const DISPOSE_SAFETY_TIMEOUT_MS = 5_000;
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
// S14-5 deadman switch (mirrors the Electron host's sharedLLMRunner.ts)
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// The v1.9.11 self-heal only fires when the worker SAYS something fatal. A
|
|
22
|
+
// worker that goes silent (CUDA driver wedge, swap-thrash, native deadlock)
|
|
23
|
+
// left its promises pending forever: activeRequestCount stayed pinned, so the
|
|
24
|
+
// model could never be evicted or idle-disposed while the heartbeat kept
|
|
25
|
+
// advertising it — the production zombie-host signature. These deadmen
|
|
26
|
+
// guarantee every worker round-trip either settles or kills the worker.
|
|
27
|
+
//
|
|
28
|
+
// PROMPT: reset on every streamed token — only sustained silence trips it; the
|
|
29
|
+
// default must also cover the longest legitimate silent phase (prompt-eval of a
|
|
30
|
+
// big context on slow hardware). Env overrides = ops escape hatch.
|
|
31
|
+
function envMsOrDefault(name, fallback) {
|
|
32
|
+
const v = Number(process.env[name]);
|
|
33
|
+
return Number.isFinite(v) && v > 0 ? v : fallback;
|
|
34
|
+
}
|
|
35
|
+
const PROMPT_DEADMAN_MS = envMsOrDefault("PEERLLM_PROMPT_DEADMAN_MS", 5 * 60 * 1000);
|
|
36
|
+
// CONTEXT-CREATE: one worker round-trip + KV-cache allocation — fast or wedged.
|
|
37
|
+
const CONTEXT_CREATE_DEADMAN_MS = envMsOrDefault("PEERLLM_CONTEXT_DEADMAN_MS", 60 * 1000);
|
|
38
|
+
// MODEL-LOAD: very generous ceiling. A hung load otherwise pends forever AND
|
|
39
|
+
// wedges the RunnerPool admission chain — every later load queues behind it.
|
|
40
|
+
const MODEL_LOAD_DEADMAN_MS = envMsOrDefault("PEERLLM_LOAD_DEADMAN_MS", 15 * 60 * 1000);
|
|
18
41
|
const workerScript = fileURLToPath(new URL("./llmWorker.js", import.meta.url));
|
|
19
42
|
// ---------------------------------------------------------------------------
|
|
20
43
|
// Graphics cache (used for GPU layer calculation in parent process)
|
|
@@ -47,6 +70,15 @@ export class SharedGGUFRunner {
|
|
|
47
70
|
_workerEra = 0;
|
|
48
71
|
_gracefulDispose = false;
|
|
49
72
|
_workerCrashCallback = null;
|
|
73
|
+
// S14-7: epoch-ms of the last message of ANY kind from the current worker.
|
|
74
|
+
// Updated by _handleWorkerMessage; read by the heartbeat liveness report.
|
|
75
|
+
_lastWorkerActivityAt = 0;
|
|
76
|
+
// S14-7: pings sent since the worker last said anything. Reset on every
|
|
77
|
+
// worker message; the heartbeat treats several consecutive unanswered pings
|
|
78
|
+
// as the wedged signature. Counting pings (not wall-clock) avoids false
|
|
79
|
+
// "wedged" verdicts when pings simply weren't being sent (e.g. just
|
|
80
|
+
// connected, or no heartbeat running).
|
|
81
|
+
_pingsSinceWorkerActivity = 0;
|
|
50
82
|
// Lightweight context trackers — actual objects live in the worker
|
|
51
83
|
contextTrackers = new Map();
|
|
52
84
|
maxConcurrentContexts = 10;
|
|
@@ -85,6 +117,42 @@ export class SharedGGUFRunner {
|
|
|
85
117
|
isModelInUse() {
|
|
86
118
|
return this.activeRequestCount > 0;
|
|
87
119
|
}
|
|
120
|
+
// ---------------------------------------------------------------------------
|
|
121
|
+
// S14-7 worker liveness
|
|
122
|
+
// ---------------------------------------------------------------------------
|
|
123
|
+
/**
|
|
124
|
+
* Fire-and-forget liveness probe. The worker's message router answers pings
|
|
125
|
+
* even mid-generation (evals run on native threads), so a missing answer
|
|
126
|
+
* means the worker process is wedged, not merely busy. Callers read the
|
|
127
|
+
* answer indirectly via getWorkerLiveness().lastActivityAt.
|
|
128
|
+
*/
|
|
129
|
+
pingWorker() {
|
|
130
|
+
if (this.worker && this._workerSend({ type: "ping", t: Date.now() })) {
|
|
131
|
+
this._pingsSinceWorkerActivity++;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Snapshot for the heartbeat's per-model health report: when the worker last
|
|
136
|
+
* said anything, how many pings it has left unanswered, how many prompts are
|
|
137
|
+
* in flight, and the age of the oldest — the inputs that let the orchestrator
|
|
138
|
+
* tell "busy" (recent activity, young in-flights) from "wedged" (silence,
|
|
139
|
+
* ancient in-flights).
|
|
140
|
+
*/
|
|
141
|
+
getWorkerLiveness() {
|
|
142
|
+
let oldest = 0;
|
|
143
|
+
const now = Date.now();
|
|
144
|
+
for (const [, cb] of this._promptCallbacks.entries()) {
|
|
145
|
+
const age = now - cb.startedAt;
|
|
146
|
+
if (age > oldest)
|
|
147
|
+
oldest = age;
|
|
148
|
+
}
|
|
149
|
+
return {
|
|
150
|
+
lastActivityAt: this._lastWorkerActivityAt,
|
|
151
|
+
unansweredPings: this._pingsSinceWorkerActivity,
|
|
152
|
+
activeRequests: this.activeRequestCount,
|
|
153
|
+
oldestInFlightMs: oldest,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
88
156
|
getStats() {
|
|
89
157
|
return {
|
|
90
158
|
activeContexts: this.contextTrackers.size,
|
|
@@ -230,6 +298,16 @@ export class SharedGGUFRunner {
|
|
|
230
298
|
return;
|
|
231
299
|
this._handleWorkerExit(code, signal);
|
|
232
300
|
});
|
|
301
|
+
// v1.9.15 hotfix: a ChildProcess with NO persistent 'error' listener turns
|
|
302
|
+
// any async process/IPC error (e.g. ERR_IPC_CHANNEL_CLOSED from a send that
|
|
303
|
+
// raced the worker's exit) into an UNCAUGHT EXCEPTION that kills the daemon.
|
|
304
|
+
// The once-listener inside the ready handshake below detaches after firing;
|
|
305
|
+
// this one lives as long as the worker. Log-only: 'exit' owns recovery.
|
|
306
|
+
worker.on("error", (err) => {
|
|
307
|
+
if (this._workerEra !== era)
|
|
308
|
+
return;
|
|
309
|
+
getLogger().warn(`runner: worker process error (non-fatal to host): ${err.message}`);
|
|
310
|
+
});
|
|
233
311
|
// Await the initial 'ready' handshake, then switch to permanent handler
|
|
234
312
|
await new Promise((resolve, reject) => {
|
|
235
313
|
const t = setTimeout(() => {
|
|
@@ -252,13 +330,46 @@ export class SharedGGUFRunner {
|
|
|
252
330
|
});
|
|
253
331
|
// Send load-model and await confirmation
|
|
254
332
|
await new Promise((resolve, reject) => {
|
|
255
|
-
|
|
256
|
-
|
|
333
|
+
// S14-5 deadman: a hung load otherwise pends forever AND wedges the
|
|
334
|
+
// RunnerPool admission chain (every later load queues behind it). The
|
|
335
|
+
// ceiling is deliberately generous — a 20B from a slow disk takes
|
|
336
|
+
// minutes, never fifteen. Rejecting is enough: the load failure path
|
|
337
|
+
// runs _cleanupPartialLoad, which kills the worker and resets to cold.
|
|
338
|
+
const deadman = setTimeout(() => {
|
|
339
|
+
if (this._loadCallback !== entry)
|
|
340
|
+
return; // already settled
|
|
341
|
+
this._loadCallback = null;
|
|
342
|
+
reject(new Error(`model-load deadman: worker silent for ${Math.round(MODEL_LOAD_DEADMAN_MS / 1000)}s — load presumed hung`));
|
|
343
|
+
}, MODEL_LOAD_DEADMAN_MS);
|
|
344
|
+
const entry = {
|
|
345
|
+
resolve: () => {
|
|
346
|
+
clearTimeout(deadman);
|
|
347
|
+
resolve();
|
|
348
|
+
},
|
|
349
|
+
reject: (e) => {
|
|
350
|
+
clearTimeout(deadman);
|
|
351
|
+
reject(e);
|
|
352
|
+
},
|
|
353
|
+
gen: this.generation,
|
|
354
|
+
};
|
|
355
|
+
this._loadCallback = entry;
|
|
356
|
+
if (!this._workerSend({ type: "load-model", modelPath, gpuLayers })) {
|
|
357
|
+
clearTimeout(deadman);
|
|
358
|
+
this._loadCallback = null;
|
|
359
|
+
reject(new Error("worker IPC send failed (load-model) — worker unavailable"));
|
|
360
|
+
}
|
|
257
361
|
});
|
|
258
362
|
this._loadCallback = null;
|
|
259
363
|
}
|
|
260
364
|
_handleWorkerMessage(msg) {
|
|
365
|
+
// S14-7: ANY worker message proves the worker process is responsive.
|
|
366
|
+
this._lastWorkerActivityAt = Date.now();
|
|
367
|
+
this._pingsSinceWorkerActivity = 0;
|
|
261
368
|
switch (msg.type) {
|
|
369
|
+
case "pong": {
|
|
370
|
+
// Liveness probe answer — the timestamp update above is the payload.
|
|
371
|
+
break;
|
|
372
|
+
}
|
|
262
373
|
case "loaded": {
|
|
263
374
|
const cb = this._loadCallback;
|
|
264
375
|
this._loadCallback = null;
|
|
@@ -279,23 +390,25 @@ export class SharedGGUFRunner {
|
|
|
279
390
|
}
|
|
280
391
|
case "token": {
|
|
281
392
|
const cb = this._promptCallbacks.get(msg.requestId);
|
|
282
|
-
if (cb
|
|
283
|
-
|
|
393
|
+
if (cb) {
|
|
394
|
+
// S14-5: streamed output proves the worker is alive — re-arm the
|
|
395
|
+
// deadman so only sustained silence can trip it.
|
|
396
|
+
this._armPromptDeadman(cb, msg.requestId);
|
|
397
|
+
if (this.generation === cb.gen)
|
|
398
|
+
cb.onToken?.(msg.chunk);
|
|
284
399
|
}
|
|
285
400
|
break;
|
|
286
401
|
}
|
|
287
402
|
case "done": {
|
|
288
|
-
const cb = this.
|
|
403
|
+
const cb = this._takePromptCallback(msg.requestId);
|
|
289
404
|
if (cb) {
|
|
290
|
-
this._promptCallbacks.delete(msg.requestId);
|
|
291
405
|
cb.resolve({ text: msg.text, promptTokens: msg.promptTokens, completionTokens: msg.completionTokens });
|
|
292
406
|
}
|
|
293
407
|
break;
|
|
294
408
|
}
|
|
295
409
|
case "cancelled": {
|
|
296
|
-
const cb = this.
|
|
410
|
+
const cb = this._takePromptCallback(msg.requestId);
|
|
297
411
|
if (cb) {
|
|
298
|
-
this._promptCallbacks.delete(msg.requestId);
|
|
299
412
|
cb.resolve({ text: msg.text, promptTokens: msg.promptTokens, completionTokens: msg.completionTokens });
|
|
300
413
|
}
|
|
301
414
|
break;
|
|
@@ -303,9 +416,8 @@ export class SharedGGUFRunner {
|
|
|
303
416
|
case "error": {
|
|
304
417
|
const message = msg.message ?? "";
|
|
305
418
|
if (msg.requestId) {
|
|
306
|
-
const cb = this.
|
|
419
|
+
const cb = this._takePromptCallback(msg.requestId);
|
|
307
420
|
if (cb) {
|
|
308
|
-
this._promptCallbacks.delete(msg.requestId);
|
|
309
421
|
cb.reject(new Error(message));
|
|
310
422
|
}
|
|
311
423
|
}
|
|
@@ -361,6 +473,13 @@ export class SharedGGUFRunner {
|
|
|
361
473
|
const cb = this._disposeCallback;
|
|
362
474
|
this._disposeCallback = null;
|
|
363
475
|
cb?.resolve();
|
|
476
|
+
// S14-5: a worker can exit "gracefully" (clean dispose initiated) while
|
|
477
|
+
// prompts are still in flight — e.g. it died before sending 'disposed'.
|
|
478
|
+
// The old early-return left those prompt promises pending FOREVER
|
|
479
|
+
// (activeRequestCount pinned, model un-evictable). Finalize so every
|
|
480
|
+
// remaining callback is rejected and state resets to cold, exactly like
|
|
481
|
+
// the Electron host's graceful-exit path.
|
|
482
|
+
this._finalizeDispose();
|
|
364
483
|
return;
|
|
365
484
|
}
|
|
366
485
|
// Unexpected crash
|
|
@@ -376,6 +495,10 @@ export class SharedGGUFRunner {
|
|
|
376
495
|
}
|
|
377
496
|
this._contextCallbacks.clear();
|
|
378
497
|
for (const [, cb] of this._promptCallbacks.entries()) {
|
|
498
|
+
if (cb.deadman) {
|
|
499
|
+
clearTimeout(cb.deadman);
|
|
500
|
+
cb.deadman = null;
|
|
501
|
+
} // S14-5: disarm before reject
|
|
379
502
|
cb.reject(new Error(`llmWorker crashed (code=${String(code)})`));
|
|
380
503
|
}
|
|
381
504
|
this._promptCallbacks.clear();
|
|
@@ -399,6 +522,10 @@ export class SharedGGUFRunner {
|
|
|
399
522
|
}
|
|
400
523
|
this._contextCallbacks.clear();
|
|
401
524
|
for (const [, cb] of this._promptCallbacks.entries()) {
|
|
525
|
+
if (cb.deadman) {
|
|
526
|
+
clearTimeout(cb.deadman);
|
|
527
|
+
cb.deadman = null;
|
|
528
|
+
} // S14-5: disarm before reject
|
|
402
529
|
cb.reject(new Error("runner disposed"));
|
|
403
530
|
}
|
|
404
531
|
this._promptCallbacks.clear();
|
|
@@ -410,14 +537,33 @@ export class SharedGGUFRunner {
|
|
|
410
537
|
this.stopWatchdog();
|
|
411
538
|
this.runnerState = "cold";
|
|
412
539
|
}
|
|
540
|
+
// S14-5: returns whether the message actually reached the IPC channel. A
|
|
541
|
+
// swallowed send failure used to orphan the just-registered callback — the
|
|
542
|
+
// caller's promise then pended forever. Round-trip senders (prompt, context,
|
|
543
|
+
// load) MUST check the result and reject immediately on false; fire-and-forget
|
|
544
|
+
// sends (cancel, clear-context, ping) may ignore it.
|
|
545
|
+
//
|
|
546
|
+
// v1.9.15 hotfix: ChildProcess.send() on a CLOSED channel does NOT throw into
|
|
547
|
+
// the try/catch — without a callback it emits an async 'error' event on the
|
|
548
|
+
// ChildProcess, and with no 'error' listener Node escalates that to an
|
|
549
|
+
// UNCAUGHT EXCEPTION (ERR_IPC_CHANNEL_CLOSED killed the v1.9.14 Electron host;
|
|
550
|
+
// same hazard here, hit every 5s by the heartbeat ping during the worker-exit
|
|
551
|
+
// window where this.worker isn't nulled yet). Three layers close it: the
|
|
552
|
+
// `connected` guard, the send CALLBACK (routes async failures here instead of
|
|
553
|
+
// the 'error' event), and the persistent 'error' listener registered at spawn.
|
|
413
554
|
_workerSend(msg) {
|
|
414
|
-
|
|
415
|
-
|
|
555
|
+
const worker = this.worker;
|
|
556
|
+
if (!worker || !worker.connected)
|
|
557
|
+
return false;
|
|
416
558
|
try {
|
|
417
|
-
|
|
559
|
+
return worker.send(msg, (err) => {
|
|
560
|
+
if (err)
|
|
561
|
+
getLogger().warn(`runner: worker IPC send failed (async): ${err.message}`);
|
|
562
|
+
});
|
|
418
563
|
}
|
|
419
564
|
catch {
|
|
420
565
|
// Worker may have already exited
|
|
566
|
+
return false;
|
|
421
567
|
}
|
|
422
568
|
}
|
|
423
569
|
_cleanupPartialLoad() {
|
|
@@ -456,6 +602,7 @@ export class SharedGGUFRunner {
|
|
|
456
602
|
if (this.runnerState === "cold" || this.runnerState === "disposing")
|
|
457
603
|
return;
|
|
458
604
|
getLogger().error(`runner: worker backend poisoned ("${reason}") — killing worker so the next request reloads fresh`);
|
|
605
|
+
const crashModel = this.modelName;
|
|
459
606
|
this.clearIdleTimer();
|
|
460
607
|
this.stopWatchdog();
|
|
461
608
|
++this._workerEra; // invalidate this worker's exit handler
|
|
@@ -470,6 +617,54 @@ export class SharedGGUFRunner {
|
|
|
470
617
|
}
|
|
471
618
|
// Rejects any still-pending callbacks and resets all state to cold.
|
|
472
619
|
this._finalizeDispose();
|
|
620
|
+
// S14-5: drop the runner from the pool so the next request rebuilds it
|
|
621
|
+
// cleanly — mirrors the Electron host and the crash-exit path. Without
|
|
622
|
+
// this the pool kept a cold husk in `runners` after every self-heal.
|
|
623
|
+
if (crashModel)
|
|
624
|
+
this.onIdleDispose?.(crashModel);
|
|
625
|
+
}
|
|
626
|
+
// ---------------------------------------------------------------------------
|
|
627
|
+
// S14-5 prompt deadman
|
|
628
|
+
// ---------------------------------------------------------------------------
|
|
629
|
+
// (Re)arm a prompt's deadman. Called when the prompt is registered and on
|
|
630
|
+
// every streamed token, so the timer only ever expires after
|
|
631
|
+
// PROMPT_DEADMAN_MS of total worker silence on that request.
|
|
632
|
+
_armPromptDeadman(cb, requestId) {
|
|
633
|
+
if (cb.deadman)
|
|
634
|
+
clearTimeout(cb.deadman);
|
|
635
|
+
cb.deadman = setTimeout(() => this._onPromptDeadman(requestId), PROMPT_DEADMAN_MS);
|
|
636
|
+
}
|
|
637
|
+
// Remove a prompt callback and disarm its deadman. The single exit point for
|
|
638
|
+
// settling a prompt entry (done / cancelled / error / deadman) so a timer can
|
|
639
|
+
// never outlive its callback.
|
|
640
|
+
_takePromptCallback(requestId) {
|
|
641
|
+
const cb = this._promptCallbacks.get(requestId);
|
|
642
|
+
if (cb) {
|
|
643
|
+
this._promptCallbacks.delete(requestId);
|
|
644
|
+
if (cb.deadman) {
|
|
645
|
+
clearTimeout(cb.deadman);
|
|
646
|
+
cb.deadman = null;
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
return cb;
|
|
650
|
+
}
|
|
651
|
+
// Deadman expiry: the worker produced NOTHING for an in-flight prompt for the
|
|
652
|
+
// entire window — not a token, not an error, not a cancel ack. That is the
|
|
653
|
+
// wedged-worker signature (a healthy-but-slow generation re-arms on every
|
|
654
|
+
// token; a loud failure settles via 'error'). Reject the request and replace
|
|
655
|
+
// the worker, exactly like the fatal-error self-heal — extending v1.9.11's
|
|
656
|
+
// "worker said something fatal" recovery to "worker said nothing at all".
|
|
657
|
+
_onPromptDeadman(requestId) {
|
|
658
|
+
const cb = this._takePromptCallback(requestId);
|
|
659
|
+
if (!cb)
|
|
660
|
+
return; // settled in the same tick — nothing to do
|
|
661
|
+
const reason = `prompt deadman: no worker output for ${Math.round(PROMPT_DEADMAN_MS / 1000)}s ` +
|
|
662
|
+
`(request ${requestId}, conversation ${cb.conversationId}) — worker presumed wedged`;
|
|
663
|
+
getLogger().error(`runner: ${reason}`);
|
|
664
|
+
cb.reject(new Error(reason));
|
|
665
|
+
// Kills the worker, rejects every other pending callback, resets to cold,
|
|
666
|
+
// and drops the runner from the pool so the next request reloads fresh.
|
|
667
|
+
this._recoverFromPoisonedWorker(reason);
|
|
473
668
|
}
|
|
474
669
|
// ---------------------------------------------------------------------------
|
|
475
670
|
// Context management
|
|
@@ -492,8 +687,37 @@ export class SharedGGUFRunner {
|
|
|
492
687
|
}
|
|
493
688
|
}
|
|
494
689
|
await new Promise((resolve, reject) => {
|
|
495
|
-
|
|
496
|
-
|
|
690
|
+
// S14-5 deadman: context creation is one worker round-trip + KV-cache
|
|
691
|
+
// allocation — it finishes in seconds or the worker is wedged. Without
|
|
692
|
+
// this, a silent worker hangs every prompt right here, BEFORE the prompt
|
|
693
|
+
// deadman can even be armed.
|
|
694
|
+
const deadman = setTimeout(() => {
|
|
695
|
+
if (this._contextCallbacks.get(conversationId) !== entry)
|
|
696
|
+
return; // already settled
|
|
697
|
+
this._contextCallbacks.delete(conversationId);
|
|
698
|
+
const reason = `context-create deadman: worker silent for ${Math.round(CONTEXT_CREATE_DEADMAN_MS / 1000)}s ` +
|
|
699
|
+
`(conversation ${conversationId}) — worker presumed wedged`;
|
|
700
|
+
getLogger().error(`runner: ${reason}`);
|
|
701
|
+
reject(new Error(reason));
|
|
702
|
+
this._recoverFromPoisonedWorker(reason);
|
|
703
|
+
}, CONTEXT_CREATE_DEADMAN_MS);
|
|
704
|
+
const entry = {
|
|
705
|
+
resolve: () => {
|
|
706
|
+
clearTimeout(deadman);
|
|
707
|
+
resolve();
|
|
708
|
+
},
|
|
709
|
+
reject: (e) => {
|
|
710
|
+
clearTimeout(deadman);
|
|
711
|
+
reject(e);
|
|
712
|
+
},
|
|
713
|
+
gen,
|
|
714
|
+
};
|
|
715
|
+
this._contextCallbacks.set(conversationId, entry);
|
|
716
|
+
if (!this._workerSend({ type: "create-context", conversationId })) {
|
|
717
|
+
clearTimeout(deadman);
|
|
718
|
+
this._contextCallbacks.delete(conversationId);
|
|
719
|
+
reject(new Error("worker IPC send failed (create-context) — worker unavailable"));
|
|
720
|
+
}
|
|
497
721
|
});
|
|
498
722
|
// Tracker entry is set by _handleWorkerMessage when 'context-created' arrives
|
|
499
723
|
}
|
|
@@ -518,14 +742,25 @@ export class SharedGGUFRunner {
|
|
|
518
742
|
const requestId = `${conversationId}:${Date.now()}:${Math.random().toString(36).slice(2)}`;
|
|
519
743
|
try {
|
|
520
744
|
const result = await new Promise((resolve, reject) => {
|
|
521
|
-
|
|
745
|
+
const cb = {
|
|
522
746
|
resolve,
|
|
523
747
|
reject,
|
|
524
748
|
onToken,
|
|
525
749
|
gen,
|
|
526
750
|
conversationId,
|
|
527
|
-
|
|
528
|
-
|
|
751
|
+
deadman: null,
|
|
752
|
+
startedAt: Date.now(),
|
|
753
|
+
};
|
|
754
|
+
this._promptCallbacks.set(requestId, cb);
|
|
755
|
+
// S14-5: arm the deadman before sending — covers a worker that wedges
|
|
756
|
+
// during prompt-eval (silent phase before the first token).
|
|
757
|
+
this._armPromptDeadman(cb, requestId);
|
|
758
|
+
if (!this._workerSend({ type: "prompt", requestId, conversationId, input, options })) {
|
|
759
|
+
// S14-5: the send never reached the worker — settle NOW instead of
|
|
760
|
+
// leaving an orphaned callback behind a dead IPC channel.
|
|
761
|
+
this._takePromptCallback(requestId);
|
|
762
|
+
reject(new Error("worker IPC send failed (prompt) — worker unavailable"));
|
|
763
|
+
}
|
|
529
764
|
});
|
|
530
765
|
this._promptCallbacks.delete(requestId);
|
|
531
766
|
if (this.generation !== gen) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-runner.js","sourceRoot":"","sources":["../../src/core/shared-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared-runner.js","sourceRoot":"","sources":["../../src/core/shared-runner.ts"],"names":[],"mappings":"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"}
|