$ rezi
Widgets

ToolApprovalDialog

Dialog for reviewing and approving tool execution (developer tooling).

Dialog for reviewing and approving tool execution (developer tooling).

Usage

ui.toolApprovalDialog({
  id: "approval",
  open: state.pendingApproval !== null,
  request: state.pendingApproval,
  onAllow: () => executeTool(state.pendingApproval),
  onDeny: () => app.update((s) => ({ ...s, pendingApproval: null })),
  onAllowForSession: () => allowForSession(state.pendingApproval),
  onClose: () => app.update((s) => ({ ...s, pendingApproval: null })),
})

Props

PropTypeDefaultDescription
idstringrequiredWidget identifier
requestToolRequestrequiredTool request details
openbooleanrequiredVisible state
focusedAction"allow" | "deny" | "allowSession"-Focused action button
onAllow() => voidrequiredAllow callback
onDeny() => voidrequiredDeny callback
onAllowForSession() => void-Allow for session callback
onClose() => voidrequiredClose callback

Notes

  • ToolRequest includes metadata like toolId, toolName, riskLevel, and optional fileChanges.
  • fileChanges entries include path, changeType, and optional preview/oldPath for renames.

On this page