mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-04-29 12:11:09 +00:00
refactor(core): rename TaskTool to AgentTool
Rename the Task tool to Agent tool for clearer semantics and better alignment with industry terminology. This change includes: - Rename TaskTool -> AgentTool, TaskParams -> AgentParams - Rename TaskResultDisplay -> AgentResultDisplay - Add 'Explore' built-in agent for read-only codebase exploration - Add backward compatibility mappings for legacy tool names - Improve Agent tool description with clearer usage guidelines - Add case-insensitive agent name matching - Fallback to built-in agents when subagent loading fails Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
parent
27356c1bac
commit
8891f4219d
37 changed files with 433 additions and 323 deletions
|
|
@ -16,7 +16,7 @@ import { MaxSizedBox } from '../shared/MaxSizedBox.js';
|
|||
import { TodoDisplay } from '../TodoDisplay.js';
|
||||
import type {
|
||||
TodoResultDisplay,
|
||||
TaskResultDisplay,
|
||||
AgentResultDisplay,
|
||||
PlanResultDisplay,
|
||||
AnsiOutput,
|
||||
Config,
|
||||
|
|
@ -50,7 +50,7 @@ type DisplayRendererResult =
|
|||
| { type: 'plan'; data: PlanResultDisplay }
|
||||
| { type: 'string'; data: string }
|
||||
| { type: 'diff'; data: { fileDiff: string; fileName: string } }
|
||||
| { type: 'task'; data: TaskResultDisplay }
|
||||
| { type: 'task'; data: AgentResultDisplay }
|
||||
| { type: 'ansi'; data: AnsiOutput };
|
||||
|
||||
/**
|
||||
|
|
@ -98,7 +98,7 @@ const useResultDisplayRenderer = (
|
|||
) {
|
||||
return {
|
||||
type: 'task',
|
||||
data: resultDisplay as TaskResultDisplay,
|
||||
data: resultDisplay as AgentResultDisplay,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -169,7 +169,7 @@ const PlanResultRenderer: React.FC<{
|
|||
* Component to render subagent execution results
|
||||
*/
|
||||
const SubagentExecutionRenderer: React.FC<{
|
||||
data: TaskResultDisplay;
|
||||
data: AgentResultDisplay;
|
||||
availableHeight?: number;
|
||||
childWidth: number;
|
||||
config: Config;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
import React, { useMemo } from 'react';
|
||||
import { Box, Text } from 'ink';
|
||||
import type {
|
||||
TaskResultDisplay,
|
||||
AgentResultDisplay,
|
||||
AgentStatsSummary,
|
||||
Config,
|
||||
} from '@qwen-code/qwen-code-core';
|
||||
|
|
@ -20,7 +20,7 @@ import { ToolConfirmationMessage } from '../../messages/ToolConfirmationMessage.
|
|||
export type DisplayMode = 'compact' | 'default' | 'verbose';
|
||||
|
||||
export interface AgentExecutionDisplayProps {
|
||||
data: TaskResultDisplay;
|
||||
data: AgentResultDisplay;
|
||||
availableHeight?: number;
|
||||
childWidth: number;
|
||||
config: Config;
|
||||
|
|
@ -28,7 +28,7 @@ export interface AgentExecutionDisplayProps {
|
|||
|
||||
const getStatusColor = (
|
||||
status:
|
||||
| TaskResultDisplay['status']
|
||||
| AgentResultDisplay['status']
|
||||
| 'executing'
|
||||
| 'success'
|
||||
| 'awaiting_approval',
|
||||
|
|
@ -50,7 +50,7 @@ const getStatusColor = (
|
|||
}
|
||||
};
|
||||
|
||||
const getStatusText = (status: TaskResultDisplay['status']) => {
|
||||
const getStatusText = (status: AgentResultDisplay['status']) => {
|
||||
switch (status) {
|
||||
case 'running':
|
||||
return 'Running';
|
||||
|
|
@ -301,7 +301,7 @@ const TaskPromptSection: React.FC<{
|
|||
* Status dot component with similar height as text
|
||||
*/
|
||||
const StatusDot: React.FC<{
|
||||
status: TaskResultDisplay['status'];
|
||||
status: AgentResultDisplay['status'];
|
||||
}> = ({ status }) => (
|
||||
<Box marginLeft={1} marginRight={1}>
|
||||
<Text color={getStatusColor(status)}>●</Text>
|
||||
|
|
@ -312,7 +312,7 @@ const StatusDot: React.FC<{
|
|||
* Status indicator component
|
||||
*/
|
||||
const StatusIndicator: React.FC<{
|
||||
status: TaskResultDisplay['status'];
|
||||
status: AgentResultDisplay['status'];
|
||||
}> = ({ status }) => {
|
||||
const color = getStatusColor(status);
|
||||
const text = getStatusText(status);
|
||||
|
|
@ -323,7 +323,7 @@ const StatusIndicator: React.FC<{
|
|||
* Tool calls list - format consistent with ToolInfo in ToolMessage.tsx
|
||||
*/
|
||||
const ToolCallsList: React.FC<{
|
||||
toolCalls: TaskResultDisplay['toolCalls'];
|
||||
toolCalls: AgentResultDisplay['toolCalls'];
|
||||
displayMode: DisplayMode;
|
||||
}> = ({ toolCalls, displayMode }) => {
|
||||
const calls = toolCalls || [];
|
||||
|
|
@ -435,7 +435,7 @@ const ToolCallItem: React.FC<{
|
|||
* Execution summary details component
|
||||
*/
|
||||
const ExecutionSummaryDetails: React.FC<{
|
||||
data: TaskResultDisplay;
|
||||
data: AgentResultDisplay;
|
||||
displayMode: DisplayMode;
|
||||
}> = ({ data, displayMode: _displayMode }) => {
|
||||
const stats = data.executionSummary;
|
||||
|
|
@ -505,7 +505,7 @@ const ToolUsageStats: React.FC<{
|
|||
* Results section for completed executions - matches the clean layout from the image
|
||||
*/
|
||||
const ResultsSection: React.FC<{
|
||||
data: TaskResultDisplay;
|
||||
data: AgentResultDisplay;
|
||||
displayMode: DisplayMode;
|
||||
}> = ({ data, displayMode }) => (
|
||||
<Box flexDirection="column" gap={1}>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue