diff --git a/packages/cli/src/ui/components/messages/SubagentProgressDisplay.tsx b/packages/cli/src/ui/components/messages/SubagentProgressDisplay.tsx
index 995c404d9d..b46756c5d3 100644
--- a/packages/cli/src/ui/components/messages/SubagentProgressDisplay.tsx
+++ b/packages/cli/src/ui/components/messages/SubagentProgressDisplay.tsx
@@ -9,9 +9,10 @@ import { Box, Text } from 'ink';
import { theme } from '../../semantic-colors.js';
import Spinner from 'ink-spinner';
import { MarkdownDisplay } from '../../utils/MarkdownDisplay.js';
-import type {
- SubagentProgress,
- SubagentActivityItem,
+import {
+ type SubagentProgress,
+ type SubagentActivityItem,
+ SubagentState,
} from '@google/gemini-cli-core';
import { TOOL_STATUS } from '../../constants.js';
import { STATUS_INDICATOR_WIDTH } from './ToolShared.js';
@@ -62,13 +63,13 @@ export const SubagentProgressDisplay: React.FC<
let headerText: string | undefined;
let headerColor = theme.text.secondary;
- if (progress.state === 'cancelled') {
+ if (progress.state === SubagentState.CANCELLED) {
headerText = `Subagent ${progress.agentName} was cancelled.`;
headerColor = theme.status.warning;
- } else if (progress.state === 'error') {
+ } else if (progress.state === SubagentState.ERROR) {
headerText = `Subagent ${progress.agentName} failed.`;
headerColor = theme.status.error;
- } else if (progress.state === 'completed') {
+ } else if (progress.state === SubagentState.COMPLETED) {
headerText = `Subagent ${progress.agentName} completed.`;
headerColor = theme.status.success;
} else {
@@ -107,13 +108,13 @@ export const SubagentProgressDisplay: React.FC<
);
} else if (item.type === 'tool_call') {
const statusSymbol =
- item.status === 'running' ? (
+ item.status === SubagentState.RUNNING ? (
- ) : item.status === 'completed' ? (
+ ) : item.status === SubagentState.COMPLETED ? (
{TOOL_STATUS.SUCCESS}
- ) : item.status === 'cancelled' ? (
+ ) : item.status === SubagentState.CANCELLED ? (
{TOOL_STATUS.CANCELED}
@@ -135,7 +136,7 @@ export const SubagentProgressDisplay: React.FC<
{item.displayName || item.content}
@@ -144,7 +145,9 @@ export const SubagentProgressDisplay: React.FC<
{displayArgs}
@@ -170,7 +173,7 @@ export const SubagentProgressDisplay: React.FC<
)}
diff --git a/packages/core/src/agents/remote-invocation.test.ts b/packages/core/src/agents/remote-invocation.test.ts
index 8b0afa8831..c2b89f49df 100644
--- a/packages/core/src/agents/remote-invocation.test.ts
+++ b/packages/core/src/agents/remote-invocation.test.ts
@@ -825,7 +825,9 @@ describe('RemoteAgentInvocation', () => {
abortSignal: new AbortController().signal,
});
- expect(result.returnDisplay).toMatchObject({ state: 'error' });
+ expect(result.returnDisplay).toMatchObject({
+ state: SubagentState.ERROR,
+ });
// Should contain both the partial output and the error message
expect(result.returnDisplay).toMatchObject({
result: expect.stringContaining('Partial response'),