( statuses: CollabAgentStatus[], agents: CollabAgentRef[], )
| 160 | } |
| 161 | |
| 162 | function withCollabAgentMetadata( |
| 163 | statuses: CollabAgentStatus[], |
| 164 | agents: CollabAgentRef[], |
| 165 | ) { |
| 166 | if (statuses.length === 0 || agents.length === 0) { |
| 167 | return statuses; |
| 168 | } |
| 169 | const byThreadId = new Map(agents.map((agent) => [agent.threadId, agent])); |
| 170 | return statuses.map((entry) => { |
| 171 | const metadata = byThreadId.get(entry.threadId); |
| 172 | if (!metadata) { |
| 173 | return entry; |
| 174 | } |
| 175 | return { |
| 176 | ...entry, |
| 177 | nickname: entry.nickname ?? metadata.nickname, |
| 178 | role: entry.role ?? metadata.role, |
| 179 | }; |
| 180 | }); |
| 181 | } |
| 182 | |
| 183 | function formatCollabAgentLabel(agent: CollabAgentRef) { |
| 184 | const nickname = agent.nickname?.trim(); |
no outgoing calls
no test coverage detected