handoff fixes
This commit is contained in:
parent
89ddebdb60
commit
8d5e9712a6
20 changed files with 1056 additions and 141 deletions
|
|
@ -18,6 +18,7 @@ from app.schemas import (
|
|||
HandoffTestRequest,
|
||||
HandoffTestResult,
|
||||
)
|
||||
from app.services.handoff_mirror_policy import is_relay_acknowledgment_message
|
||||
from app.services.human_handoff_service import MESSAGE_SCOPE_HANDOFF
|
||||
from app.services.handoff_evaluator import EMAIL_TYPE_META, HANDOFF_LABELS, evaluate_handoff
|
||||
|
||||
|
|
@ -261,8 +262,15 @@ async def get_handoff_conversation(
|
|||
messages: list[HandoffMessageRead] = []
|
||||
for row in rows:
|
||||
message = row["message"]
|
||||
if is_relay_acknowledgment_message(message):
|
||||
continue
|
||||
sender_address = (message.get("sender") or {}).get("address", "").lower()
|
||||
role = "human" if sender_address == human_email else "agent"
|
||||
if message.get("mirrored_from_external_message_id"):
|
||||
role = "customer"
|
||||
elif sender_address == human_email:
|
||||
role = "human"
|
||||
else:
|
||||
role = "agent"
|
||||
event_at = row.get("event_at") or message.get("received_at") or message.get("sent_at") or message["created_at"]
|
||||
raw_body = message.get("raw_body")
|
||||
new_reply_content = message.get("new_reply_content")
|
||||
|
|
@ -281,6 +289,7 @@ async def get_handoff_conversation(
|
|||
and new_reply_content
|
||||
and raw_body.strip() != new_reply_content.strip()
|
||||
),
|
||||
relay_status=message.get("relay_status") if role == "human" else None,
|
||||
event_at=event_at,
|
||||
)
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue