feat(chat): show dynamic subagent type in task tool button (#545)
Display the actual subagent type (e.g., 'general', 'build') instead of hardcoded 'subAgent' in the task tool button. Changes 'session' to 'subtask' for consistency. - Add input prop to TaskToolSummary component - Extract subagent_type from task input - Capitalize agent type and update button text format
This commit is contained in:
@@ -554,7 +554,8 @@ const TaskToolSummary: React.FC<{
|
|||||||
output?: string;
|
output?: string;
|
||||||
sessionId?: string;
|
sessionId?: string;
|
||||||
onShowPopup?: (content: ToolPopupContent) => void;
|
onShowPopup?: (content: ToolPopupContent) => void;
|
||||||
}> = ({ entries, isExpanded, hasPrevTool, hasNextTool, output, sessionId, onShowPopup }) => {
|
input?: Record<string, unknown>;
|
||||||
|
}> = ({ entries, isExpanded, hasPrevTool, hasNextTool, output, sessionId, onShowPopup, input }) => {
|
||||||
const setCurrentSession = useSessionStore((state) => state.setCurrentSession);
|
const setCurrentSession = useSessionStore((state) => state.setCurrentSession);
|
||||||
const displayEntries = React.useMemo(() => {
|
const displayEntries = React.useMemo(() => {
|
||||||
const nonPending = entries.filter((entry) => entry.state?.status !== 'pending');
|
const nonPending = entries.filter((entry) => entry.state?.status !== 'pending');
|
||||||
@@ -574,6 +575,10 @@ const TaskToolSummary: React.FC<{
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const agentType = typeof input?.subagent_type === 'string'
|
||||||
|
? input.subagent_type
|
||||||
|
: 'subagent';
|
||||||
|
|
||||||
if (displayEntries.length === 0 && !hasOutput && !sessionId) {
|
if (displayEntries.length === 0 && !hasOutput && !sessionId) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -627,7 +632,7 @@ const TaskToolSummary: React.FC<{
|
|||||||
onClick={handleOpenSession}
|
onClick={handleOpenSession}
|
||||||
>
|
>
|
||||||
<RiExternalLinkLine className="h-3.5 w-3.5 flex-shrink-0" />
|
<RiExternalLinkLine className="h-3.5 w-3.5 flex-shrink-0" />
|
||||||
<span className="typography-meta text-primary font-medium">Open subAgent session</span>
|
<span className="typography-meta text-primary font-medium">Open {agentType.charAt(0).toUpperCase() + agentType.slice(1)} subtask</span>
|
||||||
</button>
|
</button>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
@@ -1683,6 +1688,7 @@ const ToolPart: React.FC<ToolPartProps> = ({
|
|||||||
output={taskOutputString}
|
output={taskOutputString}
|
||||||
sessionId={taskSessionId}
|
sessionId={taskSessionId}
|
||||||
onShowPopup={onShowPopup}
|
onShowPopup={onShowPopup}
|
||||||
|
input={input}
|
||||||
/>
|
/>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user