(task: Task)
| 281 | } |
| 282 | |
| 283 | function latestAgentText(task: Task): string { |
| 284 | const lastAgentMessage = task.history.filter((message) => message.role === Role.ROLE_AGENT).at(-1) |
| 285 | if (lastAgentMessage) return extractText(lastAgentMessage) |
| 286 | // Interrupted states (input-required, auth-required) carry the agent's prompt |
| 287 | // in the status message rather than the history. |
| 288 | const statusMessage = task.status?.message |
| 289 | return statusMessage ? extractText(statusMessage) : '' |
| 290 | } |
| 291 | |
| 292 | /** A flattened artifact for block output. */ |
| 293 | export interface A2AArtifactOutput { |
no test coverage detected