落地私聊图片询价:识图当口播复用三线文字流程,图上航线三字码保持原样,避免被改写成中文地名。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -149,6 +149,33 @@ class AirTextInquiryTests(unittest.TestCase):
|
||||
self.assertNotIn("请补充运输方式", joined)
|
||||
self.assertEqual(self.flow.session_of("u_fly").business_line, "AIR")
|
||||
|
||||
def test_worker_clarify_http_pallet_keeps_air(self) -> None:
|
||||
"""识图在 Worker 写下补问,HTTP 补「托盘」必须仍是空运,不能再问运输方式。"""
|
||||
from agent.redis_coord.flow_bookmark import DictBookmarkStore
|
||||
|
||||
store = DictBookmarkStore()
|
||||
worker = AirTextInquiryFlow(MemoryLedger(), bookmark_store=store)
|
||||
http = AirTextInquiryFlow(MemoryLedger(), bookmark_store=store)
|
||||
replies: list[str] = []
|
||||
|
||||
def reply(text: str, extra=None) -> None:
|
||||
replies.append(text)
|
||||
|
||||
phase = worker.on_text(
|
||||
sender_id="u_img",
|
||||
text="空运 深圳到雅加达 发光二级管组件 11P 2400KG 20cbm",
|
||||
reply=reply,
|
||||
)
|
||||
self.assertEqual(phase, "clarify")
|
||||
replies.clear()
|
||||
phase = http.on_text(sender_id="u_img", text="托盘", reply=reply)
|
||||
self.assertNotEqual(phase, "need_mode")
|
||||
self.assertNotIn("请补充运输方式", "\n".join(replies))
|
||||
sess = http.session_of("u_img")
|
||||
self.assertIsNotNone(sess)
|
||||
self.assertEqual(sess.business_line, "AIR")
|
||||
self.assertEqual(sess.facts.get("包装方式"), "托盘")
|
||||
|
||||
def test_missing_mode_asks_transport(self) -> None:
|
||||
phase = self.flow.on_text(
|
||||
sender_id="u1",
|
||||
|
||||
Reference in New Issue
Block a user