feat(api-nodes): add copy button to Gemini Chat node (#9440)

This commit is contained in:
Alexander Piskun
2025-08-22 20:51:14 +03:00
committed by GitHub
parent 497d41fb50
commit 050c67323c

View File

@@ -5,7 +5,10 @@ See: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/infer
from __future__ import annotations
import json
import time
import os
import uuid
from enum import Enum
from typing import Optional, Literal
@@ -350,7 +353,27 @@ class GeminiNode(ComfyNodeABC):
# Get result output
output_text = self.get_text_from_response(response)
if unique_id and output_text:
PromptServer.instance.send_progress_text(output_text, node_id=unique_id)
# Not a true chat history like the OpenAI Chat node. It is emulated so the frontend can show a copy button.
render_spec = {
"node_id": unique_id,
"component": "ChatHistoryWidget",
"props": {
"history": json.dumps(
[
{
"prompt": prompt,
"response": output_text,
"response_id": str(uuid.uuid4()),
"timestamp": time.time(),
}
]
),
},
}
PromptServer.instance.send_sync(
"display_component",
render_spec,
)
return (output_text or "Empty response from Gemini model...",)