@@ -460,35 +460,40 @@ export function abortEmbeddedAgentRun(
|
460 | 460 | return true; |
461 | 461 | } |
462 | 462 | |
463 | | -const mode = opts?.mode; |
464 | | -if (mode === "compacting") { |
| 463 | +const abortActiveEmbeddedRunHandles = (params: { |
| 464 | +shouldAbort: (handle: EmbeddedAgentQueueHandle) => boolean; |
| 465 | +formatDebugMessage: (sessionId: string) => string; |
| 466 | +}): boolean => { |
465 | 467 | let aborted = false; |
466 | 468 | for (const [id, handle] of ACTIVE_EMBEDDED_RUNS) { |
467 | | -if (!handle.isCompacting()) { |
| 469 | +if (!params.shouldAbort(handle)) { |
468 | 470 | continue; |
469 | 471 | } |
470 | | -diag.debug(`aborting compacting run: sessionId=${id}`); |
| 472 | +diag.debug(params.formatDebugMessage(id)); |
471 | 473 | try { |
472 | 474 | handle.abort(); |
473 | 475 | aborted = true; |
474 | 476 | } catch (err) { |
475 | 477 | diag.warn(`abort failed: sessionId=${id} err=${String(err)}`); |
476 | 478 | } |
477 | 479 | } |
| 480 | +return aborted; |
| 481 | +}; |
| 482 | + |
| 483 | +const mode = opts?.mode; |
| 484 | +if (mode === "compacting") { |
| 485 | +const aborted = abortActiveEmbeddedRunHandles({ |
| 486 | +shouldAbort: (handle) => handle.isCompacting(), |
| 487 | +formatDebugMessage: (id) => `aborting compacting run: sessionId=${id}`, |
| 488 | +}); |
478 | 489 | return abortActiveReplyRuns({ mode }) || aborted; |
479 | 490 | } |
480 | 491 | |
481 | 492 | if (mode === "all") { |
482 | | -let aborted = false; |
483 | | -for (const [id, handle] of ACTIVE_EMBEDDED_RUNS) { |
484 | | -diag.debug(`aborting run: sessionId=${id}`); |
485 | | -try { |
486 | | -handle.abort(); |
487 | | -aborted = true; |
488 | | -} catch (err) { |
489 | | -diag.warn(`abort failed: sessionId=${id} err=${String(err)}`); |
490 | | -} |
491 | | -} |
| 493 | +const aborted = abortActiveEmbeddedRunHandles({ |
| 494 | +shouldAbort: () => true, |
| 495 | +formatDebugMessage: (id) => `aborting run: sessionId=${id}`, |
| 496 | +}); |
492 | 497 | return abortActiveReplyRuns({ mode }) || aborted; |
493 | 498 | } |
494 | 499 | |
|