fix: propagate config to AgentExecutionDisplay to fix type errors

This commit is contained in:
mingholy.lmh
2025-09-15 14:11:36 +08:00
parent acb93b1e1b
commit f3cf732493
4 changed files with 16 additions and 1 deletions

View File

@@ -106,6 +106,7 @@ export const ToolGroupMessage: React.FC<ToolGroupMessageProps> = ({
: 'medium'
}
renderOutputAsMarkdown={tool.renderOutputAsMarkdown}
config={config}
/>
</Box>
{tool.status === ToolCallStatus.Confirming &&

View File

@@ -68,6 +68,8 @@ const renderWithContext = (
};
describe('<ToolMessage />', () => {
const mockConfig = {} as any; // Mock config for tests
const baseProps: ToolMessageProps = {
callId: 'tool-123',
name: 'test-tool',
@@ -77,6 +79,7 @@ describe('<ToolMessage />', () => {
terminalWidth: 80,
confirmationDetails: undefined,
emphasis: 'medium',
config: mockConfig,
};
it('renders basic tool information', () => {
@@ -212,6 +215,7 @@ describe('<ToolMessage />', () => {
terminalWidth: 80,
callId: 'test-call-id-2',
confirmationDetails: undefined,
config: mockConfig,
};
const { lastFrame } = renderWithContext(

View File

@@ -18,6 +18,7 @@ import { TOOL_STATUS } from '../../constants.js';
import type {
TodoResultDisplay,
TaskResultDisplay,
Config,
} from '@qwen-code/qwen-code-core';
import { AgentExecutionDisplay } from '../subagents/index.js';
@@ -108,11 +109,13 @@ const SubagentExecutionRenderer: React.FC<{
data: TaskResultDisplay;
availableHeight?: number;
childWidth: number;
}> = ({ data, availableHeight, childWidth }) => (
config: Config;
}> = ({ data, availableHeight, childWidth, config }) => (
<AgentExecutionDisplay
data={data}
availableHeight={availableHeight}
childWidth={childWidth}
config={config}
/>
);
@@ -175,6 +178,7 @@ export interface ToolMessageProps extends IndividualToolCallDisplay {
terminalWidth: number;
emphasis?: TextEmphasis;
renderOutputAsMarkdown?: boolean;
config: Config;
}
export const ToolMessage: React.FC<ToolMessageProps> = ({
@@ -186,6 +190,7 @@ export const ToolMessage: React.FC<ToolMessageProps> = ({
terminalWidth,
emphasis = 'medium',
renderOutputAsMarkdown = true,
config,
}) => {
const availableHeight = availableTerminalHeight
? Math.max(
@@ -229,6 +234,7 @@ export const ToolMessage: React.FC<ToolMessageProps> = ({
data={displayRenderer.data}
availableHeight={availableHeight}
childWidth={childWidth}
config={config}
/>
)}
{displayRenderer.type === 'string' && (

View File

@@ -10,6 +10,7 @@ import { Colors } from '../../../colors.js';
import type {
TaskResultDisplay,
SubagentStatsSummary,
Config,
} from '@qwen-code/qwen-code-core';
import { theme } from '../../../semantic-colors.js';
import { useKeypress } from '../../../hooks/useKeypress.js';
@@ -23,6 +24,7 @@ export interface AgentExecutionDisplayProps {
data: TaskResultDisplay;
availableHeight?: number;
childWidth?: number;
config: Config;
}
const getStatusColor = (
@@ -76,6 +78,7 @@ export const AgentExecutionDisplay: React.FC<AgentExecutionDisplayProps> = ({
data,
availableHeight,
childWidth,
config,
}) => {
const [displayMode, setDisplayMode] = React.useState<DisplayMode>('default');
@@ -152,6 +155,7 @@ export const AgentExecutionDisplay: React.FC<AgentExecutionDisplayProps> = ({
<Box flexDirection="column">
<ToolConfirmationMessage
confirmationDetails={data.pendingConfirmation}
config={config}
isFocused={true}
availableTerminalHeight={availableHeight}
terminalWidth={childWidth ?? 80}