Skip to content

Commit b88db4e

Browse files
committed
cli: Trim new lines before/after assistant message
1 parent 7d5f9c6 commit b88db4e

File tree

4 files changed

+8
-8
lines changed

4 files changed

+8
-8
lines changed

cli/src/components/blocks/agent-branch-wrapper.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import React, {
99

1010
import { AgentBlockGrid } from './agent-block-grid'
1111
import { AgentBranchItem } from './agent-branch-item'
12-
import { trimTrailingNewlines, sanitizePreview } from './block-helpers'
12+
import { trimNewlines, sanitizePreview } from './block-helpers'
1313
import { ContentWithMarkdown } from './content-with-markdown'
1414
import { ImplementorGroup } from './implementor-row'
1515
import { ThinkingBlock } from './thinking-block'
@@ -248,7 +248,7 @@ const AgentBody = memo(
248248
const isNestedStreamingText =
249249
p.parentIsStreaming || nestedStatus === 'running'
250250
const filteredNestedContent = isNestedStreamingText
251-
? trimTrailingNewlines(textBlock.content)
251+
? trimNewlines(textBlock.content)
252252
: textBlock.content.trim()
253253
const markdownOptionsForLevel = p.getAgentMarkdownOptions(0)
254254
const marginTop = textBlock.marginTop ?? 0

cli/src/components/blocks/block-helpers.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

2-
export function trimTrailingNewlines(str: string): string {
3-
return str.replace(/\n+$/, '')
2+
export function trimNewlines(str: string): string {
3+
return str.replace(/^\n+|\n+$/g, '')
44
}
55

66
export function sanitizePreview(text: string): string {

cli/src/components/blocks/single-block.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import React, { memo, type ReactNode } from 'react'
44
import { AgentBranchWrapper } from './agent-branch-wrapper'
55
import { AgentListBranch } from './agent-list-branch'
66
import { AskUserBranch } from './ask-user-branch'
7-
import { trimTrailingNewlines, isReasoningTextBlock } from './block-helpers'
7+
import { trimNewlines, isReasoningTextBlock } from './block-helpers'
88
import { ContentWithMarkdown } from './content-with-markdown'
99
import { ImageBlock } from './image-block'
1010
import { UserBlockTextWithInlineCopy } from './user-content-copy'
@@ -68,7 +68,7 @@ export const SingleBlock = memo(
6868
const textBlock = block as TextContentBlock
6969
const isStreamingText = isLoading || !isComplete
7070
const filteredContent = isStreamingText
71-
? trimTrailingNewlines(textBlock.content)
71+
? trimNewlines(textBlock.content)
7272
: textBlock.content.trim()
7373
const renderKey = `${messageId}-text-${idx}`
7474
const prevBlock = idx > 0 && blocks ? blocks[idx - 1] : null

cli/src/components/blocks/user-content-copy.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { TextAttributes } from '@opentui/core'
22
import React, { memo } from 'react'
33

44
import { CopyButton } from '../copy-button'
5-
import { trimTrailingNewlines } from './block-helpers'
5+
import { trimNewlines } from './block-helpers'
66
import { ContentWithMarkdown } from './content-with-markdown'
77

88
import type { MarkdownPalette } from '../../utils/markdown-renderer'
@@ -33,7 +33,7 @@ export const UserContentWithCopyButton = memo(
3333
}: UserContentWithCopyButtonProps) => {
3434
const isStreamingMessage = isLoading || !isComplete
3535
const normalizedContent = isStreamingMessage
36-
? trimTrailingNewlines(content)
36+
? trimNewlines(content)
3737
: content.trim()
3838

3939
const hasContent = normalizedContent.length > 0

0 commit comments

Comments
 (0)