Schedule consultation bridges on demand and preserve delivery evidence

This commit is contained in:
aiagent
2026-10-20 00:39:12 -07:00
parent 557f1ee03c
commit 2f633869fe
18 changed files with 483 additions and 56 deletions
@@ -0,0 +1,10 @@
import type { Message } from '@/lib/types'
import { messageDelivery } from '@/lib/message-delivery'
export function MessageDelivery({ message, messages }: { message: Message; messages: Message[] }) {
if (message.source !== 'human') return null
const delivery = messageDelivery(message, messages)
return <details className="mt-2 text-xs opacity-80" open={delivery.waiting || undefined}>
<summary className="cursor-pointer select-none">{delivery.label}</summary>
<p className="mt-1 leading-5">{delivery.reason || (delivery.stage === 'replied' ? '已收到此消息的回复。' : delivery.stage === 'delivered' ? '已进入会话,等待处理与回复。' : delivery.stage === 'processing' ? '会话正在处理,尚未收到回复。' : delivery.stage === 'queued' ? '已在服务端保存,等待会话处理。' : '已保存,尚未确认送达。')}</p>
</details>
}