diff --git a/src/renderer/components/PatternEditor.tsx b/src/renderer/components/PatternEditor.tsx index 9627da7..2ce7764 100644 --- a/src/renderer/components/PatternEditor.tsx +++ b/src/renderer/components/PatternEditor.tsx @@ -418,7 +418,26 @@ export function PatternEditor({ onToggle={(enabled) => toggleCheckpoint('tool-call', enabled)} scopedAgentIds={checkpointAgentIds('tool-call')} onScopeChange={(agentIds) => setCheckpointAgentScope('tool-call', agentIds)} - /> + > +
+ Auto-approved tools +
+

+ Tools marked as auto-approved will skip manual review. + Sessions can override these defaults from the Activity panel. +

+ {approvalTools.length === 0 ? ( +

+ No tools available yet. Connect MCP servers or wait for runtime capabilities to load. +

+ ) : ( + + )} + - - {/* Tool auto-approval */} - {isCheckpointEnabled('tool-call') && ( -
-

- Tool Auto-Approval Defaults -

- -

- Tools marked as auto-approved will skip manual review. - Sessions can override these defaults from the Activity panel. -

- -
- {approvalTools.length === 0 ? ( -

- No tools available yet. Connect MCP servers or wait for runtime capabilities to load. -

- ) : ( - - )} -
-
- )} @@ -490,6 +481,7 @@ export function PatternEditor({ function ApprovalCheckpointRow({ agents, + children, enabled, kind: _kind, label, @@ -499,6 +491,7 @@ function ApprovalCheckpointRow({ onScopeChange, }: { agents: PatternAgentDefinition[]; + children?: React.ReactNode; enabled: boolean; kind: ApprovalCheckpointKind; label: string; @@ -506,7 +499,7 @@ function ApprovalCheckpointRow({ onToggle: (enabled: boolean) => void; scopedAgentIds: string[] | undefined; onScopeChange: (agentIds: string[] | undefined) => void; -}) { +}){ const isAllAgents = !scopedAgentIds || scopedAgentIds.length === 0; function toggleAgentScope(agentId: string) { @@ -580,6 +573,13 @@ function ApprovalCheckpointRow({ )} )} + + {/* Optional additional content (e.g. tool auto-approval list) */} + {enabled && children && ( +
+ {children} +
+ )} ); }