From 74547283406f194f39cba06d0641f2de08a3e995 Mon Sep 17 00:00:00 2001 From: Billy Bao Date: Fri, 14 Nov 2025 10:43:07 +0800 Subject: [PATCH] finish is-1 --- agent/canvas.py | 6 ++++-- agent/component/message.py | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/agent/canvas.py b/agent/canvas.py index 58f2cdd86..f262cd597 100644 --- a/agent/canvas.py +++ b/agent/canvas.py @@ -405,11 +405,13 @@ class Canvas(Graph): _m += m cpn_obj.set_output("content", _m) cite = re.search(r"\[ID:[ 0-9]+\]", _m) - elif isinstance(cpn_obj.output("attachment"), tuple): - yield decorate("message", {"attachment": cpn_obj.output("attachment")}) else: yield decorate("message", {"content": cpn_obj.output("content")}) cite = re.search(r"\[ID:[ 0-9]+\]", cpn_obj.output("content")) + + if isinstance(cpn_obj.output("attachment"), tuple): + yield decorate("message", {"attachment": cpn_obj.output("attachment")}) + yield decorate("message_end", {"reference": self.get_reference() if cite else None}) while partials: diff --git a/agent/component/message.py b/agent/component/message.py index dc5a83952..7e8259729 100644 --- a/agent/component/message.py +++ b/agent/component/message.py @@ -168,6 +168,7 @@ class Message(ComponentBase): for n, v in kwargs.items(): content = re.sub(n, v, content) + self.set_output("content", content) self._convert_content(content) def thoughts(self) -> str: @@ -222,6 +223,7 @@ class Message(ComponentBase): settings.STORAGE_IMPL.put(self._canvas._tenant_id, doc_id, binary_content) + # document id, format, filename self.set_output("attachment", (doc_id, self._param.output_format, f"{doc_id[:8]}.{self._param.output_format}")) logging.info(f"Converted content uploaded as {doc_id} (format={self._param.output_format})")