- 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
225 lines
7.4 KiB
JSON
225 lines
7.4 KiB
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"Skill(playwright-cli)",
|
|
"Bash(playwright-cli close:*)",
|
|
"Bash(playwright-cli open:*)",
|
|
"Bash(playwright-cli screenshot:*)",
|
|
"WebFetch(domain:github.com)",
|
|
"Bash(playwright-cli goto:*)",
|
|
"Bash(playwright-cli snapshot:*)",
|
|
"Bash(playwright-cli mousewheel:*)",
|
|
"Bash(playwright-cli eval:*)",
|
|
"Bash(playwright-cli tab-list:*)",
|
|
"Bash(playwright-cli tab-select:*)",
|
|
"Bash(playwright-cli click:*)",
|
|
"Bash(playwright-cli press:*)",
|
|
"WebFetch(domain:gitea.nucleoriofrio.com)",
|
|
"Bash(dir \"C:\\\\Users\\\\jodar\\\\agent-ui\")",
|
|
"WebSearch",
|
|
"Bash(cmd /c \"bun --version\")",
|
|
"Bash(powershell -Command \"bun --version\")",
|
|
"Bash(C:Usersjodar.bunbinbun.exe create vite . --template vue-ts)",
|
|
"mcp__agent-ui___webmcp_get-token",
|
|
"mcp__agent-ui___webmcp_quitar-tool",
|
|
"mcp__agent-ui__localhost_3000-render_html",
|
|
"mcp__agent-ui__localhost_4100-navigate_to",
|
|
"mcp__agent-ui__localhost_4100-get_design_tokens",
|
|
"mcp__agent-ui__localhost_4100-set_theme_variable",
|
|
"mcp__agent-ui__localhost_4100-list_available_tools",
|
|
"mcp__agent-ui__localhost_4100-switch_theme",
|
|
"mcp__agent-ui__localhost_4100-set_default_theme",
|
|
"mcp__agent-ui__localhost_4100-save_theme",
|
|
"mcp__agent-ui___webmcp_browser-info",
|
|
"mcp__agent-ui__localhost_4100-render_vue_component",
|
|
"Bash(bun remove:*)",
|
|
"Bash(bun add:*)",
|
|
"mcp__agent-ui__localhost_4100-confetti",
|
|
"mcp__agent-ui__localhost_4100-get_current_page",
|
|
"mcp__agent-ui___webmcp_server-info",
|
|
"mcp__agent-ui__localhost_4100-toggle_pin_tool",
|
|
"mcp__agent-ui__localhost_4100-pin_tool",
|
|
"Bash(npx vue-tsc:*)",
|
|
"mcp__agent-ui__localhost_4100-activate_tool",
|
|
"mcp__agent-ui__localhost_4100-terminal_open",
|
|
"mcp__agent-ui__localhost_4100-terminal_move",
|
|
"mcp__agent-ui__localhost_4100-terminal_resize",
|
|
"mcp__agent-ui__localhost_4100-terminal_toggle",
|
|
"mcp__agent-ui__localhost_4100-terminal_close",
|
|
"mcp__agent-ui__localhost_4100-bubbleResponse",
|
|
"mcp__agent-ui__localhost_4100-notificar",
|
|
"mcp__agent-ui__localhost_4100-enviar_al_panel",
|
|
"mcp__agent-ui__localhost_4100-render_html",
|
|
"mcp__agent-ui__localhost_4100-load_vue_component",
|
|
"mcp__agent-ui__localhost_4100-page_refresh",
|
|
"WebFetch(domain:docs.anthropic.com)",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-bubbleResponse",
|
|
"Bash(git add:*)",
|
|
"Bash(git commit:*)",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-navigate_to",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-activate_tool",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-list_available_tools",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-page_refresh",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-render_html",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-render_vue_component",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-pin_tool",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-list_torch_clients",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-transfer_torch",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-get_current_page",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-list_windows",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-move_window",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-close_window",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-get_canvas_css",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-inspect_window",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-get_canvas",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-canvas_js",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-canvas_css",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-edit_canvas",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-load_vue_component",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-save_vue_component",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-resize_window",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-save_canvas_snapshot",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-load_canvas_snapshot",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-list_canvas_snapshots",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-list_canvases",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-list_vue_components",
|
|
"Bash(jq:*)",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-read_component",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-edit_component",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-list_fs_components",
|
|
"mcp__agent-ui__z590_nucleoriofrio_com-load_fs_component",
|
|
"Bash(grep:*)",
|
|
"WebFetch(domain:v2.tauri.app)"
|
|
]
|
|
},
|
|
"enableAllProjectMcpServers": true,
|
|
"enabledMcpjsonServers": [
|
|
"agent-ui"
|
|
],
|
|
"hooks": {
|
|
"SessionStart": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"UserPromptSubmit": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PreToolUse": [
|
|
{
|
|
"matcher": ".*",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PostToolUse": [
|
|
{
|
|
"matcher": ".*",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PostToolUseFailure": [
|
|
{
|
|
"matcher": ".*",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Notification": [
|
|
{
|
|
"matcher": ".*",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SessionEnd": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PermissionRequest": [
|
|
{
|
|
"matcher": ".*",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1",
|
|
"timeout": 5000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": ".*",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/approval-permission.ps1",
|
|
"timeout": 130000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Stop": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/notify.ps1",
|
|
"timeout": 10000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "powershell -NoProfile -File C:/Users/jodar/agent-ui/hooks/approval-plan.ps1",
|
|
"timeout": 130000
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|