1 line
58 KiB
JSON
1 line
58 KiB
JSON
{"ast":null,"code":"import React,{useState}from'react';import{Grid,Paper,Typography,Box,Card,CardContent,Button,TextField,IconButton,Chip,List,ListItem,ListItemText,ListItemIcon,Avatar,Divider,Alert,Dialog,DialogTitle,DialogContent,DialogActions,LinearProgress,Tabs,Tab}from'@mui/material';import{Send,SmartToy,Chat,TrendingUp,CheckCircle,Warning,Info}from'@mui/icons-material';// Define chat message types\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";const aiSuggestions=[{id:1,type:'incident',title:'Email Server Performance Issue',confidence:0.92,suggestion:'Based on similar incidents, this appears to be a disk space issue. Check /var/log partition and consider log rotation.',actions:[{label:'Check Disk Space',action:'check_disk_space'},{label:'Review Logs',action:'review_logs'},{label:'Apply Workaround',action:'apply_workaround'}],relatedIncidents:['INC-2023-145','INC-2023-201','INC-2024-012'],estimatedResolution:'15-30 minutes'},{id:2,type:'problem',title:'Recurring VPN Connection Issues',confidence:0.87,suggestion:'Pattern analysis shows this occurs during peak hours. Consider load balancing or capacity increase.',actions:[{label:'Analyze Load Patterns',action:'analyze_load'},{label:'Check Capacity',action:'check_capacity'},{label:'Create Problem Record',action:'create_problem'}],relatedIncidents:['INC-2024-008','INC-2024-015','INC-2024-023'],estimatedResolution:'2-4 hours'},{id:3,type:'knowledge',title:'Password Reset Procedure',confidence:0.95,suggestion:'This matches a common user request. Direct user to self-service portal or provide step-by-step guide.',actions:[{label:'Send Self-Service Link',action:'send_link'},{label:'Provide Manual Steps',action:'manual_steps'},{label:'Escalate to Help Desk',action:'escalate'}],relatedIncidents:['INC-2024-045','INC-2024-052','INC-2024-067'],estimatedResolution:'5-10 minutes'}];const chatHistory=[{id:1,type:'user',message:'Users are reporting slow email performance',timestamp:'2024-01-15 10:30',suggestions:[1]},{id:2,type:'ai',message:'I\\'ve analyzed similar incidents and found a pattern. This appears to be a disk space issue affecting the email server.',timestamp:'2024-01-15 10:31',confidence:0.92,actions:['check_disk_space','review_logs']},{id:3,type:'user',message:'VPN connections are dropping frequently',timestamp:'2024-01-15 11:15',suggestions:[2]},{id:4,type:'ai',message:'Based on historical data, this is likely a capacity issue during peak hours. I recommend analyzing load patterns.',timestamp:'2024-01-15 11:16',confidence:0.87,actions:['analyze_load','check_capacity']}];const automationWorkflows=[{id:1,name:'Critical Incident Response',description:'Automatically escalate critical incidents and notify stakeholders',triggers:['incident.priority.critical','incident.category.infrastructure'],actions:['notify_oncall','create_problem','update_sla'],status:'active',executions:45,successRate:98.2},{id:2,name:'Password Reset Automation',description:'Automatically process password reset requests',triggers:['request.type.password_reset','user.verified'],actions:['reset_password','send_notification','log_activity'],status:'active',executions:234,successRate:99.5},{id:3,name:'SLA Breach Alert',description:'Send alerts when SLA is about to be breached',triggers:['incident.sla.warning','incident.status.open'],actions:['send_alert','escalate_incident','notify_manager'],status:'active',executions:12,successRate:100}];const VirtualAgent=()=>{const[currentMessage,setCurrentMessage]=useState('');const[chatMessages,setChatMessages]=useState(chatHistory);const[isTyping,setIsTyping]=useState(false);const[selectedSuggestion,setSelectedSuggestion]=useState(null);const[suggestionDialogOpen,setSuggestionDialogOpen]=useState(false);const[tabValue,setTabValue]=useState(0);const handleSendMessage=async()=>{if(!currentMessage.trim())return;const userMessage={id:Date.now(),type:'user',message:currentMessage,timestamp:new Date().toLocaleString(),suggestions:[]};setChatMessages(prev=>[...prev,userMessage]);setCurrentMessage('');setIsTyping(true);// Simulate AI processing\nsetTimeout(()=>{const aiResponse={id:Date.now()+1,type:'ai',message:'I\\'m analyzing your request and will provide suggestions based on similar incidents and patterns.',timestamp:new Date().toLocaleString(),confidence:0.85,actions:['analyze_pattern','search_knowledge','check_history']};setChatMessages(prev=>[...prev,aiResponse]);setIsTyping(false);},2000);};const handleSuggestionClick=suggestion=>{setSelectedSuggestion(suggestion);setSuggestionDialogOpen(true);};const handleActionExecute=action=>{console.log('Executing action:',action);// Here you would integrate with actual automation workflows\nalert(\"Executing action: \".concat(action));};const getConfidenceColor=confidence=>{if(confidence>=0.9)return'success';if(confidence>=0.7)return'warning';return'error';};const getConfidenceLabel=confidence=>{if(confidence>=0.9)return'High';if(confidence>=0.7)return'Medium';return'Low';};return/*#__PURE__*/_jsxs(Box,{children:[/*#__PURE__*/_jsx(Typography,{variant:\"h4\",gutterBottom:true,children:\"AI Virtual Agent\"}),/*#__PURE__*/_jsx(Typography,{variant:\"subtitle1\",color:\"text.secondary\",gutterBottom:true,children:\"Intelligent assistance powered by AI and machine learning\"}),/*#__PURE__*/_jsx(Paper,{sx:{p:2,mb:3},children:/*#__PURE__*/_jsxs(Tabs,{value:tabValue,onChange:(e,newValue)=>setTabValue(newValue),children:[/*#__PURE__*/_jsx(Tab,{label:\"Chat Assistant\"}),/*#__PURE__*/_jsx(Tab,{label:\"AI Suggestions\"}),/*#__PURE__*/_jsx(Tab,{label:\"Automation Workflows\"}),/*#__PURE__*/_jsx(Tab,{label:\"Analytics\"})]})}),tabValue===0&&/*#__PURE__*/_jsxs(Grid,{container:true,spacing:3,children:[/*#__PURE__*/_jsx(Grid,{item:true,xs:12,md:8,children:/*#__PURE__*/_jsxs(Paper,{sx:{p:2,height:500,display:'flex',flexDirection:'column'},children:[/*#__PURE__*/_jsx(Typography,{variant:\"h6\",gutterBottom:true,children:\"Chat with AI Assistant\"}),/*#__PURE__*/_jsxs(Box,{sx:{flexGrow:1,overflow:'auto',mb:2},children:[chatMessages.map(message=>/*#__PURE__*/_jsxs(Box,{sx:{mb:2},children:[/*#__PURE__*/_jsxs(Box,{sx:{display:'flex',alignItems:'flex-start',gap:1},children:[/*#__PURE__*/_jsx(Avatar,{sx:{bgcolor:message.type==='ai'?'primary.main':'secondary.main',width:32,height:32},children:message.type==='ai'?/*#__PURE__*/_jsx(SmartToy,{}):/*#__PURE__*/_jsx(Chat,{})}),/*#__PURE__*/_jsxs(Box,{sx:{flexGrow:1},children:[/*#__PURE__*/_jsxs(Typography,{variant:\"body2\",color:\"text.secondary\",gutterBottom:true,children:[message.type==='ai'?'AI Assistant':'You',\" \\u2022 \",message.timestamp]}),/*#__PURE__*/_jsx(Typography,{variant:\"body1\",children:message.message}),message.type==='ai'&&message.confidence&&/*#__PURE__*/_jsx(Box,{sx:{mt:1},children:/*#__PURE__*/_jsx(Chip,{label:\"Confidence: \".concat(getConfidenceLabel(message.confidence),\" (\").concat(Math.round(message.confidence*100),\"%)\"),size:\"small\",color:getConfidenceColor(message.confidence)})}),message.type==='ai'&&message.actions&&/*#__PURE__*/_jsx(Box,{sx:{mt:1,display:'flex',gap:1,flexWrap:'wrap'},children:message.actions.map((action,index)=>/*#__PURE__*/_jsx(Chip,{label:action,size:\"small\",variant:\"outlined\",clickable:true,onClick:()=>handleActionExecute(action)},index))})]})]}),/*#__PURE__*/_jsx(Divider,{sx:{mt:1}})]},message.id)),isTyping&&/*#__PURE__*/_jsxs(Box,{sx:{display:'flex',alignItems:'center',gap:1},children:[/*#__PURE__*/_jsx(Avatar,{sx:{bgcolor:'primary.main',width:32,height:32},children:/*#__PURE__*/_jsx(SmartToy,{})}),/*#__PURE__*/_jsx(Typography,{variant:\"body2\",color:\"text.secondary\",children:\"AI is thinking...\"}),/*#__PURE__*/_jsx(LinearProgress,{sx:{width:100}})]})]}),/*#__PURE__*/_jsxs(Box,{sx:{display:'flex',gap:1},children:[/*#__PURE__*/_jsx(TextField,{fullWidth:true,placeholder:\"Describe your issue or ask a question...\",value:currentMessage,onChange:e=>setCurrentMessage(e.target.value),onKeyPress:e=>e.key==='Enter'&&handleSendMessage()}),/*#__PURE__*/_jsx(IconButton,{color:\"primary\",onClick:handleSendMessage,disabled:!currentMessage.trim(),children:/*#__PURE__*/_jsx(Send,{})})]})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:12,md:4,children:/*#__PURE__*/_jsxs(Paper,{sx:{p:2,height:500,overflow:'auto'},children:[/*#__PURE__*/_jsx(Typography,{variant:\"h6\",gutterBottom:true,children:\"Quick Actions\"}),/*#__PURE__*/_jsxs(List,{children:[/*#__PURE__*/_jsxs(ListItem,{button:true,onClick:()=>setCurrentMessage('Check system status'),children:[/*#__PURE__*/_jsx(ListItemIcon,{children:/*#__PURE__*/_jsx(CheckCircle,{})}),/*#__PURE__*/_jsx(ListItemText,{primary:\"System Status\"})]}),/*#__PURE__*/_jsxs(ListItem,{button:true,onClick:()=>setCurrentMessage('Show recent incidents'),children:[/*#__PURE__*/_jsx(ListItemIcon,{children:/*#__PURE__*/_jsx(Warning,{})}),/*#__PURE__*/_jsx(ListItemText,{primary:\"Recent Incidents\"})]}),/*#__PURE__*/_jsxs(ListItem,{button:true,onClick:()=>setCurrentMessage('Password reset help'),children:[/*#__PURE__*/_jsx(ListItemIcon,{children:/*#__PURE__*/_jsx(Info,{})}),/*#__PURE__*/_jsx(ListItemText,{primary:\"Password Reset\"})]}),/*#__PURE__*/_jsxs(ListItem,{button:true,onClick:()=>setCurrentMessage('SLA compliance report'),children:[/*#__PURE__*/_jsx(ListItemIcon,{children:/*#__PURE__*/_jsx(TrendingUp,{})}),/*#__PURE__*/_jsx(ListItemText,{primary:\"SLA Report\"})]})]})]})})]}),tabValue===1&&/*#__PURE__*/_jsx(Grid,{container:true,spacing:3,children:aiSuggestions.map(suggestion=>/*#__PURE__*/_jsx(Grid,{item:true,xs:12,md:6,lg:4,children:/*#__PURE__*/_jsx(Card,{children:/*#__PURE__*/_jsxs(CardContent,{children:[/*#__PURE__*/_jsxs(Box,{sx:{display:'flex',justifyContent:'space-between',alignItems:'center',mb:2},children:[/*#__PURE__*/_jsx(Typography,{variant:\"h6\",children:suggestion.title}),/*#__PURE__*/_jsx(Chip,{label:\"\".concat(Math.round(suggestion.confidence*100),\"% confidence\"),size:\"small\",color:getConfidenceColor(suggestion.confidence)})]}),/*#__PURE__*/_jsx(Typography,{variant:\"body2\",color:\"text.secondary\",sx:{mb:2},children:suggestion.suggestion}),/*#__PURE__*/_jsxs(Typography,{variant:\"body2\",color:\"text.secondary\",sx:{mb:2},children:[\"Estimated Resolution: \",suggestion.estimatedResolution]}),/*#__PURE__*/_jsx(Box,{sx:{display:'flex',gap:1,flexWrap:'wrap',mb:2},children:suggestion.actions.map((action,index)=>/*#__PURE__*/_jsx(Button,{size:\"small\",variant:\"outlined\",onClick:()=>handleActionExecute(action.action),children:action.label},index))}),/*#__PURE__*/_jsx(Button,{fullWidth:true,variant:\"contained\",onClick:()=>handleSuggestionClick(suggestion),children:\"View Details\"})]})})},suggestion.id))}),tabValue===2&&/*#__PURE__*/_jsx(Grid,{container:true,spacing:3,children:automationWorkflows.map(workflow=>/*#__PURE__*/_jsx(Grid,{item:true,xs:12,md:6,children:/*#__PURE__*/_jsx(Card,{children:/*#__PURE__*/_jsxs(CardContent,{children:[/*#__PURE__*/_jsxs(Box,{sx:{display:'flex',justifyContent:'space-between',alignItems:'center',mb:2},children:[/*#__PURE__*/_jsx(Typography,{variant:\"h6\",children:workflow.name}),/*#__PURE__*/_jsx(Chip,{label:workflow.status,size:\"small\",color:workflow.status==='active'?'success':'default'})]}),/*#__PURE__*/_jsx(Typography,{variant:\"body2\",color:\"text.secondary\",sx:{mb:2},children:workflow.description}),/*#__PURE__*/_jsxs(Box,{sx:{mb:2},children:[/*#__PURE__*/_jsx(Typography,{variant:\"subtitle2\",gutterBottom:true,children:\"Triggers:\"}),/*#__PURE__*/_jsx(Box,{sx:{display:'flex',gap:1,flexWrap:'wrap'},children:workflow.triggers.map((trigger,index)=>/*#__PURE__*/_jsx(Chip,{label:trigger,size:\"small\",variant:\"outlined\"},index))})]}),/*#__PURE__*/_jsxs(Box,{sx:{mb:2},children:[/*#__PURE__*/_jsx(Typography,{variant:\"subtitle2\",gutterBottom:true,children:\"Actions:\"}),/*#__PURE__*/_jsx(Box,{sx:{display:'flex',gap:1,flexWrap:'wrap'},children:workflow.actions.map((action,index)=>/*#__PURE__*/_jsx(Chip,{label:action,size:\"small\",color:\"primary\",variant:\"outlined\"},index))})]}),/*#__PURE__*/_jsxs(Box,{sx:{display:'flex',justifyContent:'space-between',alignItems:'center'},children:[/*#__PURE__*/_jsxs(Typography,{variant:\"body2\",color:\"text.secondary\",children:[\"Executions: \",workflow.executions]}),/*#__PURE__*/_jsxs(Typography,{variant:\"body2\",color:\"text.secondary\",children:[\"Success Rate: \",workflow.successRate,\"%\"]})]})]})})},workflow.id))}),tabValue===3&&/*#__PURE__*/_jsxs(Grid,{container:true,spacing:3,children:[/*#__PURE__*/_jsx(Grid,{item:true,xs:12,md:6,children:/*#__PURE__*/_jsxs(Paper,{sx:{p:2},children:[/*#__PURE__*/_jsx(Typography,{variant:\"h6\",gutterBottom:true,children:\"AI Performance Metrics\"}),/*#__PURE__*/_jsxs(List,{children:[/*#__PURE__*/_jsxs(ListItem,{children:[/*#__PURE__*/_jsx(ListItemText,{primary:\"Response Accuracy\",secondary:\"94.2%\"}),/*#__PURE__*/_jsx(CheckCircle,{color:\"success\"})]}),/*#__PURE__*/_jsxs(ListItem,{children:[/*#__PURE__*/_jsx(ListItemText,{primary:\"Average Response Time\",secondary:\"1.2 seconds\"}),/*#__PURE__*/_jsx(TrendingUp,{color:\"success\"})]}),/*#__PURE__*/_jsxs(ListItem,{children:[/*#__PURE__*/_jsx(ListItemText,{primary:\"User Satisfaction\",secondary:\"4.6/5.0\"}),/*#__PURE__*/_jsx(CheckCircle,{color:\"success\"})]}),/*#__PURE__*/_jsxs(ListItem,{children:[/*#__PURE__*/_jsx(ListItemText,{primary:\"Automation Success Rate\",secondary:\"98.7%\"}),/*#__PURE__*/_jsx(CheckCircle,{color:\"success\"})]})]})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:12,md:6,children:/*#__PURE__*/_jsxs(Paper,{sx:{p:2},children:[/*#__PURE__*/_jsx(Typography,{variant:\"h6\",gutterBottom:true,children:\"Learning & Improvement\"}),/*#__PURE__*/_jsxs(Alert,{severity:\"info\",sx:{mb:2},children:[/*#__PURE__*/_jsx(Typography,{variant:\"subtitle2\",children:\"AI Learning Status\"}),/*#__PURE__*/_jsx(Typography,{variant:\"body2\",children:\"The AI system has processed 15,847 incidents and is continuously learning from patterns and resolutions.\"})]}),/*#__PURE__*/_jsxs(List,{children:[/*#__PURE__*/_jsx(ListItem,{children:/*#__PURE__*/_jsx(ListItemText,{primary:\"Knowledge Base Articles\",secondary:\"2,456 articles indexed\"})}),/*#__PURE__*/_jsx(ListItem,{children:/*#__PURE__*/_jsx(ListItemText,{primary:\"Pattern Recognition\",secondary:\"847 patterns identified\"})}),/*#__PURE__*/_jsx(ListItem,{children:/*#__PURE__*/_jsx(ListItemText,{primary:\"Last Model Update\",secondary:\"2 hours ago\"})})]})]})})]}),/*#__PURE__*/_jsxs(Dialog,{open:suggestionDialogOpen,onClose:()=>setSuggestionDialogOpen(false),maxWidth:\"md\",fullWidth:true,children:[/*#__PURE__*/_jsx(DialogTitle,{children:\"AI Suggestion Details\"}),/*#__PURE__*/_jsx(DialogContent,{children:selectedSuggestion&&/*#__PURE__*/_jsxs(Box,{children:[/*#__PURE__*/_jsx(Typography,{variant:\"h6\",gutterBottom:true,children:selectedSuggestion.title}),/*#__PURE__*/_jsx(Box,{sx:{mb:2},children:/*#__PURE__*/_jsx(Chip,{label:\"\".concat(Math.round(selectedSuggestion.confidence*100),\"% confidence\"),color:getConfidenceColor(selectedSuggestion.confidence)})}),/*#__PURE__*/_jsx(Typography,{variant:\"body1\",sx:{mb:2},children:selectedSuggestion.suggestion}),/*#__PURE__*/_jsx(Typography,{variant:\"subtitle2\",gutterBottom:true,children:\"Recommended Actions:\"}),/*#__PURE__*/_jsx(List,{children:selectedSuggestion.actions.map((action,index)=>/*#__PURE__*/_jsxs(ListItem,{children:[/*#__PURE__*/_jsx(ListItemText,{primary:action.label}),/*#__PURE__*/_jsx(Button,{size:\"small\",variant:\"outlined\",onClick:()=>handleActionExecute(action.action),children:\"Execute\"})]},index))}),/*#__PURE__*/_jsx(Typography,{variant:\"subtitle2\",gutterBottom:true,sx:{mt:2},children:\"Related Incidents:\"}),/*#__PURE__*/_jsx(Box,{sx:{display:'flex',gap:1,flexWrap:'wrap'},children:selectedSuggestion.relatedIncidents.map((incident,index)=>/*#__PURE__*/_jsx(Chip,{label:incident,size:\"small\",variant:\"outlined\"},index))})]})}),/*#__PURE__*/_jsxs(DialogActions,{children:[/*#__PURE__*/_jsx(Button,{onClick:()=>setSuggestionDialogOpen(false),children:\"Close\"}),/*#__PURE__*/_jsx(Button,{variant:\"contained\",children:\"Apply Suggestion\"})]})]})]});};export default VirtualAgent;","map":{"version":3,"names":["React","useState","Grid","Paper","Typography","Box","Card","CardContent","Button","TextField","IconButton","Chip","List","ListItem","ListItemText","ListItemIcon","Avatar","Divider","Alert","Dialog","DialogTitle","DialogContent","DialogActions","LinearProgress","Tabs","Tab","Send","SmartToy","Chat","TrendingUp","CheckCircle","Warning","Info","jsx","_jsx","jsxs","_jsxs","aiSuggestions","id","type","title","confidence","suggestion","actions","label","action","relatedIncidents","estimatedResolution","chatHistory","message","timestamp","suggestions","automationWorkflows","name","description","triggers","status","executions","successRate","VirtualAgent","currentMessage","setCurrentMessage","chatMessages","setChatMessages","isTyping","setIsTyping","selectedSuggestion","setSelectedSuggestion","suggestionDialogOpen","setSuggestionDialogOpen","tabValue","setTabValue","handleSendMessage","trim","userMessage","Date","now","toLocaleString","prev","setTimeout","aiResponse","handleSuggestionClick","handleActionExecute","console","log","alert","concat","getConfidenceColor","getConfidenceLabel","children","variant","gutterBottom","color","sx","p","mb","value","onChange","e","newValue","container","spacing","item","xs","md","height","display","flexDirection","flexGrow","overflow","map","alignItems","gap","bgcolor","width","mt","Math","round","size","flexWrap","index","clickable","onClick","fullWidth","placeholder","target","onKeyPress","key","disabled","button","primary","lg","justifyContent","workflow","trigger","secondary","severity","open","onClose","maxWidth","incident"],"sources":["/home/gnx/Desktop/ETB/ETB-FrontEnd/src/pages/Automation/VirtualAgent.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport {\n Grid,\n Paper,\n Typography,\n Box,\n Card,\n CardContent,\n Button,\n TextField,\n IconButton,\n Chip,\n List,\n ListItem,\n ListItemText,\n ListItemIcon,\n Avatar,\n Divider,\n Alert,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n LinearProgress,\n Tabs,\n Tab,\n} from '@mui/material';\nimport {\n Send,\n SmartToy,\n Psychology,\n AutoFixHigh,\n Lightbulb,\n Chat,\n History,\n Settings,\n TrendingUp,\n CheckCircle,\n Warning,\n Error,\n Info,\n Refresh,\n} from '@mui/icons-material';\n\n// Define chat message types\ninterface UserMessage {\n id: number;\n type: 'user';\n message: string;\n timestamp: string;\n suggestions: number[];\n}\n\ninterface AIMessage {\n id: number;\n type: 'ai';\n message: string;\n timestamp: string;\n confidence: number;\n actions: string[];\n}\n\ntype ChatMessage = UserMessage | AIMessage;\n\nconst aiSuggestions = [\n {\n id: 1,\n type: 'incident',\n title: 'Email Server Performance Issue',\n confidence: 0.92,\n suggestion: 'Based on similar incidents, this appears to be a disk space issue. Check /var/log partition and consider log rotation.',\n actions: [\n { label: 'Check Disk Space', action: 'check_disk_space' },\n { label: 'Review Logs', action: 'review_logs' },\n { label: 'Apply Workaround', action: 'apply_workaround' }\n ],\n relatedIncidents: ['INC-2023-145', 'INC-2023-201', 'INC-2024-012'],\n estimatedResolution: '15-30 minutes'\n },\n {\n id: 2,\n type: 'problem',\n title: 'Recurring VPN Connection Issues',\n confidence: 0.87,\n suggestion: 'Pattern analysis shows this occurs during peak hours. Consider load balancing or capacity increase.',\n actions: [\n { label: 'Analyze Load Patterns', action: 'analyze_load' },\n { label: 'Check Capacity', action: 'check_capacity' },\n { label: 'Create Problem Record', action: 'create_problem' }\n ],\n relatedIncidents: ['INC-2024-008', 'INC-2024-015', 'INC-2024-023'],\n estimatedResolution: '2-4 hours'\n },\n {\n id: 3,\n type: 'knowledge',\n title: 'Password Reset Procedure',\n confidence: 0.95,\n suggestion: 'This matches a common user request. Direct user to self-service portal or provide step-by-step guide.',\n actions: [\n { label: 'Send Self-Service Link', action: 'send_link' },\n { label: 'Provide Manual Steps', action: 'manual_steps' },\n { label: 'Escalate to Help Desk', action: 'escalate' }\n ],\n relatedIncidents: ['INC-2024-045', 'INC-2024-052', 'INC-2024-067'],\n estimatedResolution: '5-10 minutes'\n }\n];\n\nconst chatHistory: ChatMessage[] = [\n {\n id: 1,\n type: 'user' as const,\n message: 'Users are reporting slow email performance',\n timestamp: '2024-01-15 10:30',\n suggestions: [1]\n },\n {\n id: 2,\n type: 'ai' as const,\n message: 'I\\'ve analyzed similar incidents and found a pattern. This appears to be a disk space issue affecting the email server.',\n timestamp: '2024-01-15 10:31',\n confidence: 0.92,\n actions: ['check_disk_space', 'review_logs']\n },\n {\n id: 3,\n type: 'user' as const,\n message: 'VPN connections are dropping frequently',\n timestamp: '2024-01-15 11:15',\n suggestions: [2]\n },\n {\n id: 4,\n type: 'ai' as const,\n message: 'Based on historical data, this is likely a capacity issue during peak hours. I recommend analyzing load patterns.',\n timestamp: '2024-01-15 11:16',\n confidence: 0.87,\n actions: ['analyze_load', 'check_capacity']\n }\n];\n\nconst automationWorkflows = [\n {\n id: 1,\n name: 'Critical Incident Response',\n description: 'Automatically escalate critical incidents and notify stakeholders',\n triggers: ['incident.priority.critical', 'incident.category.infrastructure'],\n actions: ['notify_oncall', 'create_problem', 'update_sla'],\n status: 'active',\n executions: 45,\n successRate: 98.2\n },\n {\n id: 2,\n name: 'Password Reset Automation',\n description: 'Automatically process password reset requests',\n triggers: ['request.type.password_reset', 'user.verified'],\n actions: ['reset_password', 'send_notification', 'log_activity'],\n status: 'active',\n executions: 234,\n successRate: 99.5\n },\n {\n id: 3,\n name: 'SLA Breach Alert',\n description: 'Send alerts when SLA is about to be breached',\n triggers: ['incident.sla.warning', 'incident.status.open'],\n actions: ['send_alert', 'escalate_incident', 'notify_manager'],\n status: 'active',\n executions: 12,\n successRate: 100\n }\n];\n\nconst VirtualAgent: React.FC = () => {\n const [currentMessage, setCurrentMessage] = useState('');\n const [chatMessages, setChatMessages] = useState<ChatMessage[]>(chatHistory);\n const [isTyping, setIsTyping] = useState<boolean>(false);\n const [selectedSuggestion, setSelectedSuggestion] = useState<any>(null);\n const [suggestionDialogOpen, setSuggestionDialogOpen] = useState<boolean>(false);\n const [tabValue, setTabValue] = useState<number>(0);\n\n const handleSendMessage = async () => {\n if (!currentMessage.trim()) return;\n\n const userMessage: UserMessage = {\n id: Date.now(),\n type: 'user',\n message: currentMessage,\n timestamp: new Date().toLocaleString(),\n suggestions: []\n };\n\n setChatMessages(prev => [...prev, userMessage]);\n setCurrentMessage('');\n setIsTyping(true);\n\n // Simulate AI processing\n setTimeout(() => {\n const aiResponse: AIMessage = {\n id: Date.now() + 1,\n type: 'ai' as const,\n message: 'I\\'m analyzing your request and will provide suggestions based on similar incidents and patterns.',\n timestamp: new Date().toLocaleString(),\n confidence: 0.85,\n actions: ['analyze_pattern', 'search_knowledge', 'check_history']\n };\n\n setChatMessages(prev => [...prev, aiResponse]);\n setIsTyping(false);\n }, 2000);\n };\n\n const handleSuggestionClick = (suggestion: any) => {\n setSelectedSuggestion(suggestion);\n setSuggestionDialogOpen(true);\n };\n\n const handleActionExecute = (action: string) => {\n console.log('Executing action:', action);\n // Here you would integrate with actual automation workflows\n alert(`Executing action: ${action}`);\n };\n\n const getConfidenceColor = (confidence: number) => {\n if (confidence >= 0.9) return 'success';\n if (confidence >= 0.7) return 'warning';\n return 'error';\n };\n\n const getConfidenceLabel = (confidence: number) => {\n if (confidence >= 0.9) return 'High';\n if (confidence >= 0.7) return 'Medium';\n return 'Low';\n };\n\n return (\n <Box>\n <Typography variant=\"h4\" gutterBottom>\n AI Virtual Agent\n </Typography>\n <Typography variant=\"subtitle1\" color=\"text.secondary\" gutterBottom>\n Intelligent assistance powered by AI and machine learning\n </Typography>\n\n <Paper sx={{ p: 2, mb: 3 }}>\n <Tabs value={tabValue} onChange={(e, newValue) => setTabValue(newValue)}>\n <Tab label=\"Chat Assistant\" />\n <Tab label=\"AI Suggestions\" />\n <Tab label=\"Automation Workflows\" />\n <Tab label=\"Analytics\" />\n </Tabs>\n </Paper>\n\n {tabValue === 0 && (\n <Grid container spacing={3}>\n <Grid item xs={12} md={8}>\n <Paper sx={{ p: 2, height: 500, display: 'flex', flexDirection: 'column' }}>\n <Typography variant=\"h6\" gutterBottom>\n Chat with AI Assistant\n </Typography>\n <Box sx={{ flexGrow: 1, overflow: 'auto', mb: 2 }}>\n {chatMessages.map((message) => (\n <Box key={message.id} sx={{ mb: 2 }}>\n <Box sx={{ display: 'flex', alignItems: 'flex-start', gap: 1 }}>\n <Avatar sx={{ \n bgcolor: message.type === 'ai' ? 'primary.main' : 'secondary.main',\n width: 32,\n height: 32\n }}>\n {message.type === 'ai' ? <SmartToy /> : <Chat />}\n </Avatar>\n <Box sx={{ flexGrow: 1 }}>\n <Typography variant=\"body2\" color=\"text.secondary\" gutterBottom>\n {message.type === 'ai' ? 'AI Assistant' : 'You'} • {message.timestamp}\n </Typography>\n <Typography variant=\"body1\">\n {message.message}\n </Typography>\n {message.type === 'ai' && message.confidence && (\n <Box sx={{ mt: 1 }}>\n <Chip\n label={`Confidence: ${getConfidenceLabel(message.confidence)} (${Math.round(message.confidence * 100)}%)`}\n size=\"small\"\n color={getConfidenceColor(message.confidence)}\n />\n </Box>\n )}\n {message.type === 'ai' && message.actions && (\n <Box sx={{ mt: 1, display: 'flex', gap: 1, flexWrap: 'wrap' }}>\n {message.actions.map((action: string, index: number) => (\n <Chip\n key={index}\n label={action}\n size=\"small\"\n variant=\"outlined\"\n clickable\n onClick={() => handleActionExecute(action)}\n />\n ))}\n </Box>\n )}\n </Box>\n </Box>\n <Divider sx={{ mt: 1 }} />\n </Box>\n ))}\n {isTyping && (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n <Avatar sx={{ bgcolor: 'primary.main', width: 32, height: 32 }}>\n <SmartToy />\n </Avatar>\n <Typography variant=\"body2\" color=\"text.secondary\">\n AI is thinking...\n </Typography>\n <LinearProgress sx={{ width: 100 }} />\n </Box>\n )}\n </Box>\n <Box sx={{ display: 'flex', gap: 1 }}>\n <TextField\n fullWidth\n placeholder=\"Describe your issue or ask a question...\"\n value={currentMessage}\n onChange={(e) => setCurrentMessage(e.target.value)}\n onKeyPress={(e) => e.key === 'Enter' && handleSendMessage()}\n />\n <IconButton\n color=\"primary\"\n onClick={handleSendMessage}\n disabled={!currentMessage.trim()}\n >\n <Send />\n </IconButton>\n </Box>\n </Paper>\n </Grid>\n <Grid item xs={12} md={4}>\n <Paper sx={{ p: 2, height: 500, overflow: 'auto' }}>\n <Typography variant=\"h6\" gutterBottom>\n Quick Actions\n </Typography>\n <List>\n <ListItem button onClick={() => setCurrentMessage('Check system status')}>\n <ListItemIcon>\n <CheckCircle />\n </ListItemIcon>\n <ListItemText primary=\"System Status\" />\n </ListItem>\n <ListItem button onClick={() => setCurrentMessage('Show recent incidents')}>\n <ListItemIcon>\n <Warning />\n </ListItemIcon>\n <ListItemText primary=\"Recent Incidents\" />\n </ListItem>\n <ListItem button onClick={() => setCurrentMessage('Password reset help')}>\n <ListItemIcon>\n <Info />\n </ListItemIcon>\n <ListItemText primary=\"Password Reset\" />\n </ListItem>\n <ListItem button onClick={() => setCurrentMessage('SLA compliance report')}>\n <ListItemIcon>\n <TrendingUp />\n </ListItemIcon>\n <ListItemText primary=\"SLA Report\" />\n </ListItem>\n </List>\n </Paper>\n </Grid>\n </Grid>\n )}\n\n {tabValue === 1 && (\n <Grid container spacing={3}>\n {aiSuggestions.map((suggestion) => (\n <Grid item xs={12} md={6} lg={4} key={suggestion.id}>\n <Card>\n <CardContent>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', mb: 2 }}>\n <Typography variant=\"h6\">{suggestion.title}</Typography>\n <Chip\n label={`${Math.round(suggestion.confidence * 100)}% confidence`}\n size=\"small\"\n color={getConfidenceColor(suggestion.confidence)}\n />\n </Box>\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mb: 2 }}>\n {suggestion.suggestion}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mb: 2 }}>\n Estimated Resolution: {suggestion.estimatedResolution}\n </Typography>\n <Box sx={{ display: 'flex', gap: 1, flexWrap: 'wrap', mb: 2 }}>\n {suggestion.actions.map((action: {label: string, action: string}, index: number) => (\n <Button\n key={index}\n size=\"small\"\n variant=\"outlined\"\n onClick={() => handleActionExecute(action.action)}\n >\n {action.label}\n </Button>\n ))}\n </Box>\n <Button\n fullWidth\n variant=\"contained\"\n onClick={() => handleSuggestionClick(suggestion)}\n >\n View Details\n </Button>\n </CardContent>\n </Card>\n </Grid>\n ))}\n </Grid>\n )}\n\n {tabValue === 2 && (\n <Grid container spacing={3}>\n {automationWorkflows.map((workflow) => (\n <Grid item xs={12} md={6} key={workflow.id}>\n <Card>\n <CardContent>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', mb: 2 }}>\n <Typography variant=\"h6\">{workflow.name}</Typography>\n <Chip\n label={workflow.status}\n size=\"small\"\n color={workflow.status === 'active' ? 'success' : 'default'}\n />\n </Box>\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mb: 2 }}>\n {workflow.description}\n </Typography>\n <Box sx={{ mb: 2 }}>\n <Typography variant=\"subtitle2\" gutterBottom>Triggers:</Typography>\n <Box sx={{ display: 'flex', gap: 1, flexWrap: 'wrap' }}>\n {workflow.triggers.map((trigger, index) => (\n <Chip key={index} label={trigger} size=\"small\" variant=\"outlined\" />\n ))}\n </Box>\n </Box>\n <Box sx={{ mb: 2 }}>\n <Typography variant=\"subtitle2\" gutterBottom>Actions:</Typography>\n <Box sx={{ display: 'flex', gap: 1, flexWrap: 'wrap' }}>\n {workflow.actions.map((action: string, index: number) => (\n <Chip key={index} label={action} size=\"small\" color=\"primary\" variant=\"outlined\" />\n ))}\n </Box>\n </Box>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <Typography variant=\"body2\" color=\"text.secondary\">\n Executions: {workflow.executions}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n Success Rate: {workflow.successRate}%\n </Typography>\n </Box>\n </CardContent>\n </Card>\n </Grid>\n ))}\n </Grid>\n )}\n\n {tabValue === 3 && (\n <Grid container spacing={3}>\n <Grid item xs={12} md={6}>\n <Paper sx={{ p: 2 }}>\n <Typography variant=\"h6\" gutterBottom>\n AI Performance Metrics\n </Typography>\n <List>\n <ListItem>\n <ListItemText\n primary=\"Response Accuracy\"\n secondary=\"94.2%\"\n />\n <CheckCircle color=\"success\" />\n </ListItem>\n <ListItem>\n <ListItemText\n primary=\"Average Response Time\"\n secondary=\"1.2 seconds\"\n />\n <TrendingUp color=\"success\" />\n </ListItem>\n <ListItem>\n <ListItemText\n primary=\"User Satisfaction\"\n secondary=\"4.6/5.0\"\n />\n <CheckCircle color=\"success\" />\n </ListItem>\n <ListItem>\n <ListItemText\n primary=\"Automation Success Rate\"\n secondary=\"98.7%\"\n />\n <CheckCircle color=\"success\" />\n </ListItem>\n </List>\n </Paper>\n </Grid>\n <Grid item xs={12} md={6}>\n <Paper sx={{ p: 2 }}>\n <Typography variant=\"h6\" gutterBottom>\n Learning & Improvement\n </Typography>\n <Alert severity=\"info\" sx={{ mb: 2 }}>\n <Typography variant=\"subtitle2\">AI Learning Status</Typography>\n <Typography variant=\"body2\">\n The AI system has processed 15,847 incidents and is continuously learning from patterns and resolutions.\n </Typography>\n </Alert>\n <List>\n <ListItem>\n <ListItemText\n primary=\"Knowledge Base Articles\"\n secondary=\"2,456 articles indexed\"\n />\n </ListItem>\n <ListItem>\n <ListItemText\n primary=\"Pattern Recognition\"\n secondary=\"847 patterns identified\"\n />\n </ListItem>\n <ListItem>\n <ListItemText\n primary=\"Last Model Update\"\n secondary=\"2 hours ago\"\n />\n </ListItem>\n </List>\n </Paper>\n </Grid>\n </Grid>\n )}\n\n {/* Suggestion Details Dialog */}\n <Dialog open={suggestionDialogOpen} onClose={() => setSuggestionDialogOpen(false)} maxWidth=\"md\" fullWidth>\n <DialogTitle>\n AI Suggestion Details\n </DialogTitle>\n <DialogContent>\n {selectedSuggestion && (\n <Box>\n <Typography variant=\"h6\" gutterBottom>\n {selectedSuggestion.title}\n </Typography>\n <Box sx={{ mb: 2 }}>\n <Chip\n label={`${Math.round(selectedSuggestion.confidence * 100)}% confidence`}\n color={getConfidenceColor(selectedSuggestion.confidence)}\n />\n </Box>\n <Typography variant=\"body1\" sx={{ mb: 2 }}>\n {selectedSuggestion.suggestion}\n </Typography>\n <Typography variant=\"subtitle2\" gutterBottom>\n Recommended Actions:\n </Typography>\n <List>\n {selectedSuggestion.actions.map((action: any, index: number) => (\n <ListItem key={index}>\n <ListItemText primary={action.label} />\n <Button\n size=\"small\"\n variant=\"outlined\"\n onClick={() => handleActionExecute(action.action)}\n >\n Execute\n </Button>\n </ListItem>\n ))}\n </List>\n <Typography variant=\"subtitle2\" gutterBottom sx={{ mt: 2 }}>\n Related Incidents:\n </Typography>\n <Box sx={{ display: 'flex', gap: 1, flexWrap: 'wrap' }}>\n {selectedSuggestion.relatedIncidents.map((incident: string, index: number) => (\n <Chip key={index} label={incident} size=\"small\" variant=\"outlined\" />\n ))}\n </Box>\n </Box>\n )}\n </DialogContent>\n <DialogActions>\n <Button onClick={() => setSuggestionDialogOpen(false)}>Close</Button>\n <Button variant=\"contained\">Apply Suggestion</Button>\n </DialogActions>\n </Dialog>\n </Box>\n );\n}\n\nexport default VirtualAgent;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |