comfyui-mcp 0.52.61 → 0.52.62

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.
@@ -8763,13 +8763,20 @@ export function makePanelToolCtx(bridge, tabId, workflowTargets, onRunTicketOpen
8763
8763
  // here is the same recovery, just delayed until a canvas tab exists; it is
8764
8764
  // not a silent re-target.
8765
8765
  if (isScopeAddress(ctx.tabId)) {
8766
- if (ctx.pendingScopeRecoveryConsent) {
8766
+ const deferredConsent = ctx.pendingScopeRecoveryConsent === true ||
8767
+ (typeof bridge.hasScopeRecoveryConsent === "function" &&
8768
+ bridge.hasScopeRecoveryConsent(ctx.tabId));
8769
+ if (deferredConsent) {
8767
8770
  try {
8768
8771
  const out = rebindToActiveTab({ scopeRecoveryConsent: true });
8769
- if (out.rebound)
8772
+ if (out.rebound) {
8770
8773
  ctx.pendingScopeRecoveryConsent = false;
8771
- else if ((interactiveTabIds() ?? []).length > 0)
8774
+ bridge.clearScopeRecoveryConsent?.(ctx.tabId);
8775
+ }
8776
+ else if ((interactiveTabIds() ?? []).length > 0) {
8772
8777
  ctx.pendingScopeRecoveryConsent = false;
8778
+ bridge.clearScopeRecoveryConsent?.(ctx.tabId);
8779
+ }
8773
8780
  }
8774
8781
  catch {
8775
8782
  // still nothing bindable — keep the consent for the next attempt
@@ -14032,10 +14039,12 @@ export function buildPanelToolDefs() {
14032
14039
  if (recoveringScope)
14033
14040
  ctx.bridge.endScopeRecovery?.(before);
14034
14041
  }
14035
- // panel#1557 — the consent survives a zero-tab DEFER so a graph call
14036
- // after the canvas reconnects can finish the recovery.
14037
- if (deferredBind && recoveringScope)
14042
+ // panel#1557 — the consent survives a zero-tab DEFER so a later graph
14043
+ // call (possibly on a fresh HTTP MCP ctx) can finish the recovery.
14044
+ if (deferredBind && recoveringScope) {
14038
14045
  ctx.pendingScopeRecoveryConsent = true;
14046
+ ctx.bridge.armScopeRecoveryConsent?.(before);
14047
+ }
14039
14048
  // Detect the rebind regardless of whether awaitReachable or rebindToActiveTab
14040
14049
  // performed it (either mutates ctx.tabId), so the note is never swallowed.
14041
14050
  if (!deferredBind && ctx.tabId !== before) {