MCPcopy Create free account
hub / github.com/ChatLab/ChatLab / extractEvidencePayload

Function extractEvidencePayload

src/stores/aiChatEvidenceBlocks.ts:28–40  ·  view source on GitHub ↗
(toolResult: unknown)

Source from the content-addressed store, hash-verified

26 * 兼容两种形态:adapter 注入后的 `details.evidence`,以及工具原始返回的 `data.evidence`。
27 */
28export function extractEvidencePayload(toolResult: unknown): ChatEvidencePayload | null {
29 if (!isRecord(toolResult)) return null
30
31 const details = isRecord(toolResult.details) ? toolResult.details : null
32 if (details && isEvidencePayload(details.evidence)) return details.evidence
33
34 const data = isRecord(toolResult.data) ? toolResult.data : null
35 if (data && isEvidencePayload(data.evidence)) return data.evidence
36
37 if (isEvidencePayload(toolResult.evidence)) return toolResult.evidence
38
39 return null
40}
41
42export function toEvidenceContentBlock(payload: ChatEvidencePayload): EvidenceContentBlock {
43 return { type: 'evidence', evidence: payload }

Callers 3

sendMessageFunction · 0.90
editCurrentRoundOnlyFunction · 0.90

Calls 2

isEvidencePayloadFunction · 0.85
isRecordFunction · 0.70

Tested by

no test coverage detected