feat: add workflow action outcomes and tracing

This commit is contained in:
Xin Wang
2026-08-01 11:21:31 +08:00
parent ad5ff061bb
commit b747144ff1
13 changed files with 558 additions and 32 deletions

View File

@@ -1,6 +1,7 @@
from __future__ import annotations
import unittest
from copy import deepcopy
from types import SimpleNamespace
from models import AssistantConfig, RuntimeModelResource
@@ -54,6 +55,26 @@ def valid_graph():
class WorkflowGraphTests(unittest.TestCase):
def test_revision_pins_the_normalized_workflow_snapshot(self):
first = WorkflowEngine(valid_graph())
same_graph = deepcopy(valid_graph())
same_graph["settings"] = dict(reversed(list(same_graph["settings"].items())))
second = WorkflowEngine(same_graph)
self.assertEqual(first.revision, second.revision)
self.assertTrue(first.revision.startswith("sha256:"))
metadata = first.session_metadata()
first.graph["settings"]["globalPrompt"] = "运行时外部修改"
self.assertEqual(
metadata["workflow"]["snapshot"]["settings"]["globalPrompt"],
"服务 {{customer}}",
)
changed = valid_graph()
changed["settings"]["globalPrompt"] = "另一份配置"
self.assertNotEqual(first.revision, WorkflowEngine(changed).revision)
def test_workflow_graph_owns_flat_vision_session_flag(self):
graph = valid_graph()
graph["settings"].update(