Tool Call Semantics Alignment
Nucleic-Session: B5E370C3-4764-47E1-95D3-A36B4AAB8AC6
This commit is contained in:
@@ -15,9 +15,21 @@ struct TranscriptRow: View {
|
||||
case .thinking(let text):
|
||||
ThinkingRow(text: text)
|
||||
case .tool(let group):
|
||||
ToolGroupRow(group: group)
|
||||
case .orchestration(let group):
|
||||
OrchestrationCard(group: group)
|
||||
// A lone subagent spawn reads as its own gold subagent card (type, task, status, and
|
||||
// its nested activity on expand); every other tool is a plain collapsible card.
|
||||
if group.isOrchestration {
|
||||
SubagentCard(group: group)
|
||||
} else {
|
||||
ToolCallCard(group: group)
|
||||
}
|
||||
case .toolBlock(let groups):
|
||||
// A run made entirely of subagent spawns is a multi-agent fan-out — the gold
|
||||
// orchestration card; any other run is one contiguous tool block.
|
||||
if groups.allSatisfy(\.isOrchestration) {
|
||||
OrchestrationCard(groups: groups)
|
||||
} else {
|
||||
ToolBlockCard(groups: groups)
|
||||
}
|
||||
case .sessionStarted(let model, let cwd):
|
||||
InfoLine(icon: "play.circle", text: "Session started · \(modelLabel(model))", detail: cwd)
|
||||
case .usage(let usage):
|
||||
|
||||
Reference in New Issue
Block a user