(data: SubagentData, part: ToolPart, children?: Set<string>)
| 331 | } |
| 332 | |
| 333 | function syncTaskTab(data: SubagentData, part: ToolPart, children?: Set<string>) { |
| 334 | if (part.tool !== "task") { |
| 335 | return false |
| 336 | } |
| 337 | |
| 338 | const sessionID = taskSessionID(part) |
| 339 | if (!sessionID) { |
| 340 | return false |
| 341 | } |
| 342 | |
| 343 | if (children && children.size > 0 && !children.has(sessionID)) { |
| 344 | return false |
| 345 | } |
| 346 | |
| 347 | const next = taskTab(part, sessionID) |
| 348 | if (sameSubagentTab(data.tabs.get(sessionID), next)) { |
| 349 | ensureDetail(data, sessionID) |
| 350 | return false |
| 351 | } |
| 352 | |
| 353 | data.tabs.set(sessionID, next) |
| 354 | ensureDetail(data, sessionID) |
| 355 | return true |
| 356 | } |
| 357 | |
| 358 | function frameKey(commit: StreamCommit) { |
| 359 | if (commit.partID) { |
no test coverage detected