WIP - AI Assistant working

This commit is contained in:
Francisco Gaona
2026-01-04 05:42:51 +01:00
parent 86fa7a9564
commit 8b747fd667
6 changed files with 319 additions and 72 deletions

View File

@@ -259,7 +259,8 @@ export function useSoftphone() {
// Connection events
socket.value.on('connect', () => {
console.log('Softphone WebSocket connected');
console.log('🔌 Softphone WebSocket connected');
console.log('📋 Token payload (check userId):', parseJwt(token));
isConnected.value = true;
// Initialize Twilio Device after WebSocket connects
@@ -288,7 +289,10 @@ export function useSoftphone() {
// AI events
socket.value.on('ai:transcript', handleAiTranscript);
socket.value.on('ai:suggestion', handleAiSuggestion);
socket.value.on('ai:suggestion', (data: any) => {
console.log('🎯 AI Suggestion received:', data.text);
handleAiSuggestion(data);
});
socket.value.on('ai:action', handleAiAction);
isInitialized.value = true;
@@ -509,7 +513,6 @@ export function useSoftphone() {
};
const handleAiTranscript = (data: { transcript: string; isFinal: boolean }) => {
console.log('AI transcript:', data);
transcript.value.push({
text: data.transcript,
isFinal: data.isFinal,
@@ -523,7 +526,6 @@ export function useSoftphone() {
};
const handleAiSuggestion = (data: AiSuggestion) => {
console.log('AI suggestion:', data);
aiSuggestions.value.unshift(data);
// Keep only last 10 suggestions
@@ -532,6 +534,15 @@ export function useSoftphone() {
}
};
// Helper to parse JWT (for debugging)
const parseJwt = (token: string) => {
try {
return JSON.parse(atob(token.split('.')[1]));
} catch (e) {
return null;
}
};
const handleAiAction = (data: any) => {
console.log('AI action:', data);
toast.info(`AI: ${data.action}`);