feat(mobile): render evidence levels and route actions in ask page

- normalize evidenceLevel/uncoveredPoints/nextActions from agent response
- GUIDANCE banner (reference experience, non-formal), PARTIAL uncovered
  points list, ROUTE compact action buttons (human help / direct channel /
  web research); legacy responses render unchanged
- one-tap human help on ROUTE: auto-submit down feedback (NO_ANSWER,
  fragment-less allowed by backend) then existing confirm + idempotent
  publish chain
- direct channel page supports ?channel= preselection
This commit is contained in:
2026-08-05 00:53:00 +08:00
parent 6cc2ac73e5
commit 1fc99293f6
4 changed files with 238 additions and 13 deletions
+16 -1
View File
@@ -159,6 +159,9 @@ export interface KnowledgeSearchResponse {
broadcastContext?: BroadcastKnowledgeContext | null;
agentStatus?: AgentStatus;
agentIntent?: AgentIntent;
evidenceLevel?: AgentEvidenceLevel | null;
uncoveredPoints?: string[];
nextActions?: NextAction[];
sourceSummary?: AgentSourceSummary[];
clarification?: AgentClarification | null;
}
@@ -288,6 +291,16 @@ export interface AgentClarification {
fields: string[];
}
export type AgentEvidenceLevel = 'FULL' | 'PARTIAL' | 'GUIDANCE' | 'ROUTE';
export type NextActionType = 'HUMAN_HELP' | 'DIRECT_CHANNEL' | 'WEB_RESEARCH';
export interface NextAction {
type: NextActionType | string;
channel?: string;
label?: string;
}
export interface AgentResponse {
runId: string;
conversationId?: string | null;
@@ -302,7 +315,9 @@ export interface AgentResponse {
data?: unknown;
actionDraft?: AgentActionDraft | null;
clarification?: AgentClarification | null;
nextActions: string[];
evidenceLevel?: AgentEvidenceLevel | null;
uncoveredPoints?: string[];
nextActions?: NextAction[];
keyPoints?: string[];
cautions?: string[];
}