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

This commit is contained in:
bigcat88 2025-08-20 09:21:13 +03:00
parent 5a8f502db5
commit 793bcf858a
No known key found for this signature in database
GPG Key ID: 1F0BF0EC3CF22721

View File

@ -5,7 +5,10 @@ See: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/infer
from __future__ import annotations from __future__ import annotations
import json
import time
import os import os
import uuid
from enum import Enum from enum import Enum
from typing import Optional, Literal from typing import Optional, Literal
@ -350,7 +353,27 @@ class GeminiNode(ComfyNodeABC):
# Get result output # Get result output
output_text = self.get_text_from_response(response) output_text = self.get_text_from_response(response)
if unique_id and output_text: 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...",) return (output_text or "Empty response from Gemini model...",)