feat: implement exec approval modal (B-01) for OpenClaw UI parity#130
feat: implement exec approval modal (B-01) for OpenClaw UI parity#130praisonai-triage-agent[bot] wants to merge 2 commits into
Conversation
…127) - Add approval modal system to dashboard with risk-based UI - Integrate approval checking in provider for high-risk tools - Connect SSE stream for real-time approval notifications - Support approve/deny with optional 'always' policy - Maintain import-time constraint under 200ms (186.8ms verified) Co-authored-by: Mervin Praison <MervinPraison@users.noreply.github.com>
|
@coderabbitai review |
|
/review |
|
@claude You are the FINAL architecture reviewer. If the branch is under MervinPraison/PraisonAIUI (not a fork), you are able to make modifications to this branch and push directly. SCOPE: Focus ONLY on PraisonAIUI (src/praisonaiui, src/frontend, tests, docs). Read ALL prior reviewer comments. No bot reviews detected. Review Context: 2 total comments, 0 bot reviews. Phase 1: Review per AGENTS.md (lazy imports, backward compat, import-time <200ms) |
|
Claude finished @MervinPraison's task —— View job Final Architecture Review ✅Review Checklist
Phase 1: Architecture Review1. Backend (
|
- Fix RunEvent type safety by using RUN_PAUSED instead of invalid 'approval_required' string - Optimize imports with module-level caching to avoid repeated imports on every tool call - Update frontend to handle approval events via extra_data type checking - Fix linting issues (whitespace in blank lines) - Maintain backward compatibility with existing event handling Import time remains under 200ms limit (178.5ms tested) Co-authored-by: Mervin Praison <MervinPraison@users.noreply.github.com>
Summary
Implements B-01: Exec approval modal from the OpenClaw Control UI gap analysis (#127). This adds operator safety controls for high-risk tool execution through a modal approval system.
Changes
Frontend (
dashboard.js,streamingStore.ts)approval_requiredeventsBackend (
providers/__init__.py)features/approvals.pyAPITest Evidence
Acceptance Criteria
approval_requiredwith tool name, args, risk levelFixes #127 (B-01 gap)
🤖 Generated with Claude Code