Skip to content

Commit d8d7c3e

Browse files
committed
update
1 parent 98d7193 commit d8d7c3e

5 files changed

Lines changed: 16 additions & 11 deletions

File tree

index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
</head>
1212

1313
<body>
14+
<input type="hidden" id="role" value="bot">
1415
<div id="root"></div>
1516
<script type="module" src="/src/main.tsx"></script>
1617
</body>

src/hooks/useChat.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
2-
import { useState, useEffect } from 'react';
3-
import { Message, chatTranslations } from '../types/chat';
1+
import {useEffect, useState} from 'react';
2+
import {chatTranslations, Message} from '../types/chat';
43
import mcpTools from '../utils/mcpTools';
54
// The API endpoint URL
65
const API_URL = 'https://chat-598109592614.europe-west1.run.app';
@@ -10,8 +9,7 @@ export const useChat = () => {
109
const [isLoading, setIsLoading] = useState(false);
1110

1211
const getCurrentRole = () => {
13-
const chatWrapper = document.getElementById('chat-wrapper');
14-
return chatWrapper?.getAttribute('role') || 'bot';
12+
return document.getElementById('role')?.getAttribute('value');
1513
};
1614

1715

@@ -98,11 +96,17 @@ export const useChat = () => {
9896
}
9997
};
10098

101-
const sendMessage = (messageText: string) => {
99+
const sendMessage = (messageText: string, sender: "user" | "model" = 'user') => {
100+
// FIXME should have proper tool to invoke role change
101+
if (messageText.trim() === '' && sender === 'model') {
102+
handleAgentResponse(messages);
103+
return;
104+
}
105+
102106
const userMessage: Message = {
103107
id: Math.random().toString(36).substring(2, 15),
104108
text: messageText,
105-
sender: 'user',
109+
sender: sender,
106110
timestamp: new Date()
107111
};
108112

src/types/chat.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export interface Message {
44
text: string;
55
sender: 'user' | 'model';
66
timestamp: Date;
7-
role?: string; // Role for model messages (e.g., 'assistant', 'doctor')
7+
role?: string;
88
}
99

1010
export interface ChatSectionRef {

src/types/window.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
declare global {
22
interface Window {
3-
__triggerChatMessage?: (message: string) => void;
3+
__triggerChatMessage?: (message: string, role?: string) => void;
44
}
55
}
66

src/utils/mcpTools.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ const mcpTools: MCPToolsHandler = {
6666
case 'page_outer_html_base64':
6767
if (typeof window !== 'undefined' && typeof window.__triggerChatMessage === 'function') {
6868
setTimeout(() => {
69-
window.__triggerChatMessage('👀');
70-
}, 400); // Trigger Chat sendMessage after a delay to ensure it appears after the agent's response
69+
window.__triggerChatMessage('', 'model');
70+
}, 700); // Trigger Chat sendMessage after a delay to ensure it appears after the agent's response
7171

7272
}
7373
return null;

0 commit comments

Comments
 (0)