Skip to content

Commit 5381173

Browse files
authored
Merge pull request #76 from PathOnAI/messagelog-v1
2 parents a333ce4 + fe37e8c commit 5381173

File tree

3 files changed

+68
-22
lines changed

3 files changed

+68
-22
lines changed

visual-tree-search-app/components/LATSVisual.tsx

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -491,16 +491,6 @@ const LATSVisual: React.FC<SimpleSearchVisualProps> = ({ messages }) => {
491491
Tree Visualization
492492
</h2>
493493

494-
{/* Simulation indicator */}
495-
{simulationStartNodeId && (
496-
<div className="mt-2 flex items-center">
497-
<span className="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200">
498-
<span className="w-2 h-2 mr-1 rounded-full bg-green-500"></span>
499-
Simulation Mode
500-
</span>
501-
</div>
502-
)}
503-
504494
{/* Legend */}
505495
<div className="mt-2 flex flex-wrap gap-2 text-xs">
506496
<div className="flex items-center">

visual-tree-search-app/components/MessageLogPanel.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,8 @@ const MessageLogPanel: React.FC<MessageLogPanelProps> = ({ messages, messagesEnd
233233
return <Flag className="h-4 w-4 text-blue-500" />;
234234
case 'best_path_update':
235235
return <Target className="h-4 w-4 text-blue-500" />;
236+
case 'node_selected_for_simulation':
237+
return <Target className="h-4 w-4 text-purple-500" />;
236238
default:
237239
return <Info className="h-4 w-4 text-slate-500" />;
238240
}
@@ -415,9 +417,6 @@ const MessageLogPanel: React.FC<MessageLogPanelProps> = ({ messages, messagesEnd
415417
{getIcon(message)}
416418
<div className="animate-slideIn">
417419
<div className="text-purple-600 dark:text-purple-400">{message.description}</div>
418-
<div className="text-xs text-slate-500 dark:text-slate-400">
419-
Reason: {message.reason}
420-
</div>
421420
</div>
422421
</div>
423422
);
@@ -477,6 +476,16 @@ const MessageLogPanel: React.FC<MessageLogPanelProps> = ({ messages, messagesEnd
477476
</div>
478477
);
479478

479+
case 'node_selected_for_simulation':
480+
return (
481+
<div className="flex items-center gap-2 animate-fadeIn">
482+
{getIcon(message)}
483+
<div className="animate-slideIn">
484+
<div className="text-purple-600 dark:text-purple-400">{message.description}</div>
485+
</div>
486+
</div>
487+
);
488+
480489
default:
481490
return (
482491
<div className="flex items-center gap-2 animate-fadeIn">

visual-tree-search-app/components/MessageLogPanelLATS.tsx

Lines changed: 56 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,11 @@ interface ParsedMessage {
7070
node_id?: string;
7171
value?: number;
7272
visits?: number;
73+
reward?: number;
74+
terminal_node_description?: string;
75+
step?: number;
76+
step_name?: string;
77+
iteration?: number;
7378
}
7479

7580
interface PathStep {
@@ -174,6 +179,9 @@ const MessageLogPanelLATS: React.FC<MessageLogPanelProps> = ({ messages, message
174179
case 'node_terminal':
175180
return "bg-gradient-to-r from-green-50 to-green-100 dark:from-green-900/20 dark:to-green-800/20 border-green-200 dark:border-green-800";
176181

182+
case 'simulation_result':
183+
return "bg-gradient-to-r from-amber-50 to-amber-100 dark:from-amber-900/20 dark:to-amber-800/20 border-amber-200 dark:border-amber-800";
184+
177185
default:
178186
return "bg-gradient-to-r from-slate-50 to-slate-100 dark:from-slate-900/20 dark:to-slate-800/20 border-slate-200 dark:border-slate-800";
179187
}
@@ -284,6 +292,8 @@ const MessageLogPanelLATS: React.FC<MessageLogPanelProps> = ({ messages, message
284292
return <Play className="h-4 w-4 text-green-500" />;
285293
case 'node_terminal':
286294
return <Flag className="h-4 w-4 text-green-500" />;
295+
case 'simulation_result':
296+
return <Info className="h-4 w-4 text-amber-500" />;
287297
default:
288298
return <Info className="h-4 w-4 text-slate-500" />;
289299
}
@@ -379,6 +389,9 @@ const MessageLogPanelLATS: React.FC<MessageLogPanelProps> = ({ messages, message
379389
case 'node_terminal':
380390
return "bg-green-100 dark:bg-green-800/30 text-green-600 dark:text-green-400";
381391

392+
case 'simulation_result':
393+
return "bg-amber-100 dark:bg-amber-800/30 text-amber-600 dark:text-amber-400";
394+
382395
default:
383396
return "bg-slate-100 dark:bg-slate-800/30 text-slate-600 dark:text-slate-400";
384397
}
@@ -559,11 +572,6 @@ const MessageLogPanelLATS: React.FC<MessageLogPanelProps> = ({ messages, message
559572
<div className="text-cyan-600 dark:text-cyan-400">
560573
{message.description || message.type.split('_').join(' ')}
561574
</div>
562-
{message.node_id && (
563-
<div className="text-xs text-slate-500 dark:text-slate-400">
564-
Node ID: {message.node_id}
565-
</div>
566-
)}
567575
</div>
568576
</div>
569577
);
@@ -580,17 +588,56 @@ const MessageLogPanelLATS: React.FC<MessageLogPanelProps> = ({ messages, message
580588
<div className="text-green-600 dark:text-green-400">
581589
{message.description || message.type.split('_').join(' ')}
582590
</div>
583-
{message.node_id && (
591+
{message.action && (
592+
<div className="text-xs text-slate-500 dark:text-slate-400">
593+
Action: {message.action}
594+
</div>
595+
)}
596+
</div>
597+
</div>
598+
);
599+
600+
case 'simulation_result':
601+
return (
602+
<div className="flex items-center gap-2 animate-fadeIn">
603+
{getIcon(message)}
604+
<div className="animate-slideIn">
605+
<div className="text-amber-600 dark:text-amber-400">
606+
Simulation Result | Reward: {message.reward}
607+
</div>
608+
{message.terminal_node_description && (
584609
<div className="text-xs text-slate-500 dark:text-slate-400">
585-
Node ID: {message.node_id}
586-
{message.value !== undefined && ` | Value: ${message.value.toFixed(2)}`}
587-
{message.visits !== undefined && ` | Visits: ${message.visits}`}
610+
{message.terminal_node_description}
588611
</div>
589612
)}
590613
</div>
591614
</div>
592615
);
593616

617+
case 'step_start':
618+
return (
619+
<div className="flex items-center gap-2 animate-fadeIn">
620+
{getIcon(message)}
621+
<div className="animate-slideIn">
622+
<div className="text-blue-600 dark:text-blue-400">
623+
Step {message.step}: {message.step_name}
624+
</div>
625+
</div>
626+
</div>
627+
);
628+
629+
case 'iteration_start':
630+
return (
631+
<div className="flex items-center gap-2 animate-fadeIn">
632+
{getIcon(message)}
633+
<div className="animate-slideIn">
634+
<div className="text-blue-600 dark:text-blue-400">
635+
Iteration {message.iteration}
636+
</div>
637+
</div>
638+
</div>
639+
);
640+
594641
default:
595642
return (
596643
<div className="flex items-center gap-2 animate-fadeIn">

0 commit comments

Comments
 (0)