comfyui-mcp 0.50.95 → 0.50.97

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.
@@ -7031,6 +7031,13 @@ export function buildPanelToolDefs() {
7031
7031
  // #704 — the OWNER of the run. Unlike the tab, this cannot drift between
7032
7032
  // the queue and the completion: it is this tool session's own binding.
7033
7033
  const runTicketConversation = journalConversationFor(ctx);
7034
+ // #1327 — stamped BEFORE the dispatch, because the ticket cannot be opened
7035
+ // until ComfyUI mints the prompt id and a cached render can finish before that
7036
+ // reply gets back here. Any completion for that id which arrived after this
7037
+ // instant belongs to this run: the id did not exist before this call created
7038
+ // it. Without the timestamp the journal has no way to tell the agent's own
7039
+ // 0.1s render from a stranger's, and reported it as UNDETERMINED.
7040
+ const runDispatchedAt = Date.now();
7034
7041
  let res = await ctx.call(runCmd, 20000);
7035
7042
  // Derive the verdict from the AUTHORITATIVE reply, not a bare `queued`
7036
7043
  // flag. A rejection — a no-connected-tab / thrown-queuePrompt error
@@ -7147,6 +7154,8 @@ export function buildPanelToolDefs() {
7147
7154
  // which is what still holds after the panel reconnects under a new id.
7148
7155
  ...(runTicketConversation !== undefined ? { conversation: runTicketConversation } : {}),
7149
7156
  ...(typeof args.to_node_id === "number" ? { toNodeId: args.to_node_id } : {}),
7157
+ // #1327 — lets the journal claim a completion that beat its own ticket.
7158
+ dispatchedAt: runDispatchedAt,
7150
7159
  };
7151
7160
  // Every id gets its own ticket. `correlatable` stays the promise the
7152
7161
  // anti-poll note is allowed to make — true only if at least one run can