feat: centralized PTY-scoped session state, sync engine debug panel, lifecycle states, WS monitor

- Refactor session state to use ptySessionId as primary key across all components
- Add SessionStateManager with PTY-scoped hook processing, approval tracking, notifications
- Add sync-engine debug panel (AgentStatesSection, HookTimelineSection, TerminalRegistrySection, WsMonitorSection)
- Add useLifecycleStates composable for continuous state chips (session, responding, tool, subagent, compacting)
- Add WS monitor endpoint and composable for real-time connection health
- Enhance SessionLifecycleStatus with animated state chips and badge counts
- Enhance SystemMessage with expanded content and better formatting
- Update hooks (approval-permission, approval-plan, notify) with pty_session injection
- Update approval system to derive pending lists from PTY-scoped state
- Update ChatContainer with PTY-derived agent status and lifecycle events
- Update AgentBadge with PTY-scoped status colors
- Improve PiP window, approval window, and loading window handling
This commit is contained in:
2026-02-24 20:10:31 -06:00
parent cfb58c3a9f
commit 25bca2625b
36 changed files with 2526 additions and 550 deletions

View File

@@ -26,7 +26,7 @@
"hooks": [
{
"type": "command",
"command": "powershell -NoProfile -File hooks/notify.ps1 ejecutor",
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1 ejecutor",
"timeout": 5000
}
]
@@ -38,7 +38,7 @@
"hooks": [
{
"type": "command",
"command": "powershell -NoProfile -File hooks/notify.ps1 ejecutor",
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1 ejecutor",
"timeout": 5000
}
]
@@ -50,7 +50,7 @@
"hooks": [
{
"type": "command",
"command": "powershell -NoProfile -File hooks/notify.ps1 ejecutor",
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1 ejecutor",
"timeout": 5000
}
]
@@ -62,7 +62,7 @@
"hooks": [
{
"type": "command",
"command": "powershell -NoProfile -File hooks/notify.ps1 ejecutor",
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1 ejecutor",
"timeout": 5000
}
]
@@ -73,7 +73,7 @@
"hooks": [
{
"type": "command",
"command": "powershell -NoProfile -File hooks/notify.ps1 ejecutor",
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1 ejecutor",
"timeout": 5000
}
]
@@ -84,7 +84,7 @@
"hooks": [
{
"type": "command",
"command": "powershell -NoProfile -File hooks/notify.ps1 ejecutor",
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1 ejecutor",
"timeout": 5000
}
]
@@ -96,7 +96,7 @@
"hooks": [
{
"type": "command",
"command": "powershell -NoProfile -File hooks/notify.ps1 ejecutor",
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1 ejecutor",
"timeout": 5000
}
]
@@ -108,7 +108,7 @@
"hooks": [
{
"type": "command",
"command": "powershell -NoProfile -File hooks/notify.ps1 ejecutor",
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1 ejecutor",
"timeout": 5000
}
]
@@ -118,7 +118,7 @@
"hooks": [
{
"type": "command",
"command": "powershell -NoProfile -File hooks/approval-permission.ps1 ejecutor",
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/approval-permission.ps1 ejecutor",
"timeout": 130000
}
]
@@ -129,7 +129,7 @@
"hooks": [
{
"type": "command",
"command": "powershell -NoProfile -File hooks/notify.ps1 ejecutor",
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1 ejecutor",
"timeout": 10000
}
]
@@ -138,7 +138,7 @@
"hooks": [
{
"type": "command",
"command": "powershell -NoProfile -File hooks/approval-plan.ps1 ejecutor",
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/approval-plan.ps1 ejecutor",
"timeout": 130000
}
]