Clean up assistants page
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
|
|
||||||
import React, { useState, useEffect, useRef } from 'react';
|
import React, { useState, useEffect, useRef } from 'react';
|
||||||
import { Plus, Search, Play, Copy, Trash2, Edit2, Mic, MessageSquare, Save, Video, PhoneOff, Camera, ArrowLeftRight, Send, Phone, MoreHorizontal, Rocket, AlertTriangle, PhoneCall, CameraOff, Image, Images, CloudSun, Calendar, TrendingUp, Coins, Wrench, Globe, Terminal, X, ClipboardCheck, Sparkles, Volume2, Timer, ChevronDown, Link as LinkIcon, Database, Server, Zap, ExternalLink, Key, BrainCircuit, Ear, Book, Filter } from 'lucide-react';
|
import { Plus, Search, Play, Copy, Trash2, Mic, MessageSquare, Save, Video, PhoneOff, Camera, ArrowLeftRight, Send, Phone, Rocket, AlertTriangle, PhoneCall, CameraOff, Image, Images, CloudSun, Calendar, TrendingUp, Coins, Wrench, Globe, Terminal, X, ClipboardCheck, Sparkles, Volume2, Timer, ChevronDown, Database, Server, Zap, ExternalLink, Key, BrainCircuit, Ear, Book, Filter } from 'lucide-react';
|
||||||
import { Button, Input, Card, Badge, Drawer, Dialog } from '../components/UI';
|
import { Button, Input, Badge, Drawer, Dialog } from '../components/UI';
|
||||||
import { ASRModel, Assistant, KnowledgeBase, LLMModel, TabValue, Voice } from '../types';
|
import { ASRModel, Assistant, KnowledgeBase, LLMModel, TabValue, Voice } from '../types';
|
||||||
import { createAssistant, deleteAssistant, fetchASRModels, fetchAssistantRuntimeConfig, fetchAssistants, fetchKnowledgeBases, fetchLLMModels, fetchVoices, updateAssistant as updateAssistantApi } from '../services/backendApi';
|
import { createAssistant, deleteAssistant, fetchASRModels, fetchAssistants, fetchKnowledgeBases, fetchLLMModels, fetchVoices, updateAssistant as updateAssistantApi } from '../services/backendApi';
|
||||||
|
|
||||||
interface ToolItem {
|
interface ToolItem {
|
||||||
id: string;
|
id: string;
|
||||||
@@ -1374,43 +1374,6 @@ export const DebugDrawer: React.FC<{
|
|||||||
return localResolved.sessionStartMetadata;
|
return localResolved.sessionStartMetadata;
|
||||||
};
|
};
|
||||||
|
|
||||||
const fetchRuntimeMetadataFromDb = async (): Promise<Record<string, any>> => {
|
|
||||||
try {
|
|
||||||
const resolved = await fetchAssistantRuntimeConfig(assistant.id);
|
|
||||||
setResolvedConfigView(
|
|
||||||
JSON.stringify(
|
|
||||||
{
|
|
||||||
assistantId: resolved.assistantId,
|
|
||||||
warnings: resolved.warnings,
|
|
||||||
sessionStartMetadata: resolved.sessionStartMetadata || {},
|
|
||||||
},
|
|
||||||
null,
|
|
||||||
2,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
return resolved.sessionStartMetadata || { systemPrompt: assistant.prompt || '', greeting: assistant.opener || '', services: {} };
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Failed to load runtime config, using fallback.', error);
|
|
||||||
const fallback = {
|
|
||||||
systemPrompt: assistant.prompt || '',
|
|
||||||
greeting: assistant.opener || '',
|
|
||||||
services: {},
|
|
||||||
};
|
|
||||||
setResolvedConfigView(
|
|
||||||
JSON.stringify(
|
|
||||||
{
|
|
||||||
assistantId: assistant.id,
|
|
||||||
warnings: ['runtime-config endpoint failed; using local fallback'],
|
|
||||||
sessionStartMetadata: fallback,
|
|
||||||
},
|
|
||||||
null,
|
|
||||||
2,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
return fallback;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const closeWs = () => {
|
const closeWs = () => {
|
||||||
if (wsRef.current && wsRef.current.readyState === WebSocket.OPEN) {
|
if (wsRef.current && wsRef.current.readyState === WebSocket.OPEN) {
|
||||||
wsRef.current.send(JSON.stringify({ type: 'session.stop', reason: 'debug_drawer_closed' }));
|
wsRef.current.send(JSON.stringify({ type: 'session.stop', reason: 'debug_drawer_closed' }));
|
||||||
@@ -1439,11 +1402,7 @@ export const DebugDrawer: React.FC<{
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let metadata = await fetchRuntimeMetadata();
|
const metadata = await fetchRuntimeMetadata();
|
||||||
if (!metadata || typeof metadata !== 'object') {
|
|
||||||
// Safety fallback, should not happen with local resolution.
|
|
||||||
metadata = await fetchRuntimeMetadataFromDb();
|
|
||||||
}
|
|
||||||
setWsStatus('connecting');
|
setWsStatus('connecting');
|
||||||
setWsError('');
|
setWsError('');
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user