(content: unknown)
| 89 | } |
| 90 | |
| 91 | function extractUserMessageText(content: unknown): string | undefined { |
| 92 | if (typeof content === 'string') { |
| 93 | return normalizeUserMessageText(content) |
| 94 | } |
| 95 | |
| 96 | if (Array.isArray(content)) { |
| 97 | const parts = content |
| 98 | .map((block) => { |
| 99 | const record = asRecord(block) |
| 100 | return record?.type === 'text' && typeof record.text === 'string' |
| 101 | ? record.text |
| 102 | : null |
| 103 | }) |
| 104 | .filter((text): text is string => text !== null) |
| 105 | return normalizeUserMessageText(parts.join(' ')) |
| 106 | } |
| 107 | |
| 108 | const record = asRecord(content) |
| 109 | if (record?.type === 'text' && typeof record.text === 'string') { |
| 110 | return normalizeUserMessageText(record.text) |
| 111 | } |
| 112 | |
| 113 | return undefined |
| 114 | } |
| 115 | |
| 116 | function extractClaudeUserMessageTextFromAgentOutput(content: unknown): string | undefined { |
| 117 | const record = asRecord(content) |
no test coverage detected