summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/messages
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui/components/messages')
-rw-r--r--packages/cli/src/ui/components/messages/DiffRenderer.tsx7
-rw-r--r--packages/cli/src/ui/components/messages/ErrorMessage.tsx4
-rw-r--r--packages/cli/src/ui/components/messages/GeminiMessage.tsx4
-rw-r--r--packages/cli/src/ui/components/messages/InfoMessage.tsx4
-rw-r--r--packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx16
-rw-r--r--packages/cli/src/ui/components/messages/ToolGroupMessage.tsx8
-rw-r--r--packages/cli/src/ui/components/messages/ToolMessage.tsx6
-rw-r--r--packages/cli/src/ui/components/messages/UserMessage.tsx4
8 files changed, 18 insertions, 35 deletions
diff --git a/packages/cli/src/ui/components/messages/DiffRenderer.tsx b/packages/cli/src/ui/components/messages/DiffRenderer.tsx
index a45efe2a..0e1f7828 100644
--- a/packages/cli/src/ui/components/messages/DiffRenderer.tsx
+++ b/packages/cli/src/ui/components/messages/DiffRenderer.tsx
@@ -85,7 +85,7 @@ interface DiffRendererProps {
const DEFAULT_TAB_WIDTH = 4; // Spaces per tab for normalization
-const DiffRenderer: React.FC<DiffRendererProps> = ({
+export const DiffRenderer: React.FC<DiffRendererProps> = ({
diffContent,
tabWidth = DEFAULT_TAB_WIDTH,
}) => {
@@ -157,6 +157,9 @@ const DiffRenderer: React.FC<DiffRendererProps> = ({
dim = true;
prefixSymbol = ' ';
break;
+ default:
+ throw new Error(`Unknown line type: ${line.type}`);
+ break;
}
// Render the line content *after* stripping the calculated *minimum* baseIndentation.
@@ -179,5 +182,3 @@ const DiffRenderer: React.FC<DiffRendererProps> = ({
</Box>
);
};
-
-export default DiffRenderer;
diff --git a/packages/cli/src/ui/components/messages/ErrorMessage.tsx b/packages/cli/src/ui/components/messages/ErrorMessage.tsx
index fb7f9fa5..325af44f 100644
--- a/packages/cli/src/ui/components/messages/ErrorMessage.tsx
+++ b/packages/cli/src/ui/components/messages/ErrorMessage.tsx
@@ -5,7 +5,7 @@ interface ErrorMessageProps {
text: string;
}
-const ErrorMessage: React.FC<ErrorMessageProps> = ({ text }) => {
+export const ErrorMessage: React.FC<ErrorMessageProps> = ({ text }) => {
const prefix = '✕ ';
const prefixWidth = prefix.length;
@@ -22,5 +22,3 @@ const ErrorMessage: React.FC<ErrorMessageProps> = ({ text }) => {
</Box>
);
};
-
-export default ErrorMessage;
diff --git a/packages/cli/src/ui/components/messages/GeminiMessage.tsx b/packages/cli/src/ui/components/messages/GeminiMessage.tsx
index ccccbfc6..96773358 100644
--- a/packages/cli/src/ui/components/messages/GeminiMessage.tsx
+++ b/packages/cli/src/ui/components/messages/GeminiMessage.tsx
@@ -6,7 +6,7 @@ interface GeminiMessageProps {
text: string;
}
-const GeminiMessage: React.FC<GeminiMessageProps> = ({ text }) => {
+export const GeminiMessage: React.FC<GeminiMessageProps> = ({ text }) => {
const prefix = '✦ ';
const prefixWidth = prefix.length;
@@ -40,5 +40,3 @@ const GeminiMessage: React.FC<GeminiMessageProps> = ({ text }) => {
</Box>
);
};
-
-export default GeminiMessage;
diff --git a/packages/cli/src/ui/components/messages/InfoMessage.tsx b/packages/cli/src/ui/components/messages/InfoMessage.tsx
index e6f24859..a0d0bfb6 100644
--- a/packages/cli/src/ui/components/messages/InfoMessage.tsx
+++ b/packages/cli/src/ui/components/messages/InfoMessage.tsx
@@ -5,7 +5,7 @@ interface InfoMessageProps {
text: string;
}
-const InfoMessage: React.FC<InfoMessageProps> = ({ text }) => {
+export const InfoMessage: React.FC<InfoMessageProps> = ({ text }) => {
const prefix = 'ℹ ';
const prefixWidth = prefix.length;
@@ -22,5 +22,3 @@ const InfoMessage: React.FC<InfoMessageProps> = ({ text }) => {
</Box>
);
};
-
-export default InfoMessage;
diff --git a/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx b/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx
index 59c2cc42..15c99850 100644
--- a/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx
+++ b/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx
@@ -6,9 +6,9 @@ import {
ToolEditConfirmationDetails,
ToolConfirmationOutcome,
ToolExecuteConfirmationDetails,
-} from '../../types.js'; // Adjust path as needed
+} from '../../types.js';
import { PartListUnion } from '@google/genai';
-import DiffRenderer from './DiffRenderer.js';
+import { DiffRenderer } from './DiffRenderer.js';
import { UI_WIDTH } from '../../constants.js';
export interface ToolConfirmationMessageProps {
@@ -27,9 +27,9 @@ interface InternalOption {
value: ToolConfirmationOutcome;
}
-const ToolConfirmationMessage: React.FC<ToolConfirmationMessageProps> = ({
- confirmationDetails,
-}) => {
+export const ToolConfirmationMessage: React.FC<
+ ToolConfirmationMessageProps
+> = ({ confirmationDetails }) => {
const { onConfirm } = confirmationDetails;
useInput((_, key) => {
@@ -42,14 +42,11 @@ const ToolConfirmationMessage: React.FC<ToolConfirmationMessageProps> = ({
onConfirm(item.value);
};
- let title: string;
let bodyContent: React.ReactNode | null = null; // Removed contextDisplay here
let question: string;
const options: InternalOption[] = [];
if (isEditDetails(confirmationDetails)) {
- title = 'Edit'; // Title for the outer box
-
// Body content is now the DiffRenderer, passing filename to it
// The bordered box is removed from here and handled within DiffRenderer
bodyContent = <DiffRenderer diffContent={confirmationDetails.fileDiff} />;
@@ -69,7 +66,6 @@ const ToolConfirmationMessage: React.FC<ToolConfirmationMessageProps> = ({
} else {
const executionProps =
confirmationDetails as ToolExecuteConfirmationDetails;
- title = 'Execute Command'; // Title for the outer box
// For execution, we still need context display and description
const commandDisplay = <Text color="cyan">{executionProps.command}</Text>;
@@ -118,5 +114,3 @@ const ToolConfirmationMessage: React.FC<ToolConfirmationMessageProps> = ({
</Box>
);
};
-
-export default ToolConfirmationMessage;
diff --git a/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx b/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx
index 6644cd5f..9e58651c 100644
--- a/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx
+++ b/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx
@@ -1,9 +1,9 @@
import React from 'react';
import { Box } from 'ink';
import { IndividualToolCallDisplay, ToolCallStatus } from '../../types.js';
-import ToolMessage from './ToolMessage.js';
+import { ToolMessage } from './ToolMessage.js';
import { PartListUnion } from '@google/genai';
-import ToolConfirmationMessage from './ToolConfirmationMessage.js';
+import { ToolConfirmationMessage } from './ToolConfirmationMessage.js';
interface ToolGroupMessageProps {
toolCalls: IndividualToolCallDisplay[];
@@ -11,7 +11,7 @@ interface ToolGroupMessageProps {
}
// Main component renders the border and maps the tools using ToolMessage
-const ToolGroupMessage: React.FC<ToolGroupMessageProps> = ({
+export const ToolGroupMessage: React.FC<ToolGroupMessageProps> = ({
toolCalls,
onSubmit,
}) => {
@@ -44,5 +44,3 @@ const ToolGroupMessage: React.FC<ToolGroupMessageProps> = ({
</Box>
);
};
-
-export default ToolGroupMessage;
diff --git a/packages/cli/src/ui/components/messages/ToolMessage.tsx b/packages/cli/src/ui/components/messages/ToolMessage.tsx
index cd18dae2..4bb5ea94 100644
--- a/packages/cli/src/ui/components/messages/ToolMessage.tsx
+++ b/packages/cli/src/ui/components/messages/ToolMessage.tsx
@@ -3,7 +3,7 @@ import { Box, Text } from 'ink';
import Spinner from 'ink-spinner';
import { ToolCallStatus } from '../../types.js';
import { ToolResultDisplay } from '../../../tools/tools.js';
-import DiffRenderer from './DiffRenderer.js';
+import { DiffRenderer } from './DiffRenderer.js';
import { MarkdownRenderer } from '../../utils/MarkdownRenderer.js';
interface ToolMessageProps {
@@ -13,7 +13,7 @@ interface ToolMessageProps {
status: ToolCallStatus;
}
-const ToolMessage: React.FC<ToolMessageProps> = ({
+export const ToolMessage: React.FC<ToolMessageProps> = ({
name,
description,
resultDisplay,
@@ -70,5 +70,3 @@ const ToolMessage: React.FC<ToolMessageProps> = ({
</Box>
);
};
-
-export default ToolMessage;
diff --git a/packages/cli/src/ui/components/messages/UserMessage.tsx b/packages/cli/src/ui/components/messages/UserMessage.tsx
index 08c0070f..574b11bf 100644
--- a/packages/cli/src/ui/components/messages/UserMessage.tsx
+++ b/packages/cli/src/ui/components/messages/UserMessage.tsx
@@ -5,7 +5,7 @@ interface UserMessageProps {
text: string;
}
-const UserMessage: React.FC<UserMessageProps> = ({ text }) => {
+export const UserMessage: React.FC<UserMessageProps> = ({ text }) => {
const prefix = '> ';
const prefixWidth = prefix.length;
@@ -20,5 +20,3 @@ const UserMessage: React.FC<UserMessageProps> = ({ text }) => {
</Box>
);
};
-
-export default UserMessage;