comfyui-mcp 0.52.170 → 0.52.171
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.
|
@@ -15652,9 +15652,11 @@ function runLateAckGraceMs() {
|
|
|
15652
15652
|
*
|
|
15653
15653
|
* Returns null when there is nothing to reconcile. The negatives are deliberate:
|
|
15654
15654
|
*
|
|
15655
|
-
* -
|
|
15656
|
-
*
|
|
15657
|
-
*
|
|
15655
|
+
* - A `queued_unknown` with no exact receipt and no scoped queue-attribution
|
|
15656
|
+
* contract ⇒ nothing to claim. Full-graph uncertainty waits only for the
|
|
15657
|
+
* bridge's rid-correlated `run_receipt`; scoped uncertainty may additionally
|
|
15658
|
+
* use its existing bounded queue observation. Gated on the bridge's own typed
|
|
15659
|
+
* marks, never on message text: an acked
|
|
15658
15660
|
* panel error can quote our timeout/OUTCOME UNKNOWN sentence verbatim
|
|
15659
15661
|
* (#1468 round 2), and the difference is whether the tab answered, which
|
|
15660
15662
|
* only the bridge knows.
|
|
@@ -15696,7 +15698,7 @@ function latePanelReceiptResult(parsed, latePromptIds) {
|
|
|
15696
15698
|
...(ids.length > 1 ? { prompt_ids: ids } : {}),
|
|
15697
15699
|
};
|
|
15698
15700
|
}
|
|
15699
|
-
async function reconcileLateRunAck(ctx, res, rid, preRunningPromptId,
|
|
15701
|
+
async function reconcileLateRunAck(ctx, res, rid, preRunningPromptId, allowPanelQueueUnknownReceipt = false, expectedTabId, expectedPromptCount = 1, allowQueueUnknownInference = false) {
|
|
15700
15702
|
const parsed = parseToolResultJson(res);
|
|
15701
15703
|
// An exact Panel receipt is safe even when a queued_unknown reply already
|
|
15702
15704
|
// carried some ids: the bridge event is the producer's own prompt capture,
|
|
@@ -15705,10 +15707,15 @@ async function reconcileLateRunAck(ctx, res, rid, preRunningPromptId, allowPanel
|
|
|
15705
15707
|
// available after the transport failed. The old queue path remains
|
|
15706
15708
|
// id-less-only below.
|
|
15707
15709
|
const receiptEligible = Boolean(rid) &&
|
|
15708
|
-
((
|
|
15710
|
+
((allowPanelQueueUnknownReceipt && isPanelQueueUncertainty(parsed)) ||
|
|
15709
15711
|
isReplyTimeoutResult(res) ||
|
|
15710
15712
|
isMidCommandDisconnectResult(res));
|
|
15711
|
-
|
|
15713
|
+
// A run_receipt is exact Panel evidence for BOTH full and scoped runs. Queue
|
|
15714
|
+
// observation is weaker: only the scoped Panel contract makes a new queue id
|
|
15715
|
+
// attributable to this dispatch. Keep those authorities separate so enabling
|
|
15716
|
+
// full-graph receipt recovery cannot turn a foreign back-to-back render into
|
|
15717
|
+
// this run's prompt id.
|
|
15718
|
+
const queueEligible = isUnackedGraphRunResult(res, allowQueueUnknownInference);
|
|
15712
15719
|
if (!receiptEligible && !queueEligible)
|
|
15713
15720
|
return null;
|
|
15714
15721
|
const fromQueue = () => {
|
|
@@ -18902,9 +18909,13 @@ export function buildPanelToolDefs() {
|
|
|
18902
18909
|
// guidance. Rebuilding the reply here (rather than describing it) is what
|
|
18903
18910
|
// makes that possible — `ok()` is exactly what ctx.call would have produced.
|
|
18904
18911
|
const reconcileRun = async () => {
|
|
18905
|
-
const recovered = await reconcileLateRunAck(ctx, res, runRid, pre.runningPromptId,
|
|
18912
|
+
const recovered = await reconcileLateRunAck(ctx, res, runRid, pre.runningPromptId,
|
|
18913
|
+
// #2143 — queued_unknown is receipt-recoverable for full graph runs
|
|
18914
|
+
// too. Only exact run_receipt evidence is allowed there; the weaker
|
|
18915
|
+
// QueueMonitor inference remains scoped-run-only below.
|
|
18916
|
+
true, runTicketTab, typeof args.batch_count === "number"
|
|
18906
18917
|
? Math.max(1, Math.min(64, Math.floor(args.batch_count)))
|
|
18907
|
-
: 1);
|
|
18918
|
+
: 1, typeof args.to_node_id === "number");
|
|
18908
18919
|
if (!recovered)
|
|
18909
18920
|
return;
|
|
18910
18921
|
for (const entry of recovered.completionKeys ?? []) {
|