+ {thinkContent.length > 0 && (
+
+
+ {isThinking ? (
+
+ ) : (
+
+ )}
+
+ {isThinking ? 'Thinking...' : 'Thought Process'}
+
+
+
+ {thinkContent}
+
+
+ )}
- {displayMarkdown}
+ {displayContent}
)
diff --git a/vscode/webviews/chat/ChatMessageContent/utils.test.ts b/vscode/webviews/chat/ChatMessageContent/utils.test.ts
new file mode 100644
index 000000000000..92350ce2cac5
--- /dev/null
+++ b/vscode/webviews/chat/ChatMessageContent/utils.test.ts
@@ -0,0 +1,70 @@
+import { describe, expect, it } from 'vitest'
+import { extractThinkContent } from './utils'
+
+describe('extractThinkContent', () => {
+ it('extracts content from complete think tags at the start', () => {
+ const input = '