From 058c93b9e3dab6428069c2a573850b80d1702078 Mon Sep 17 00:00:00 2001 From: Akhilesh Kumar Date: Thu, 5 Mar 2026 18:27:59 +0000 Subject: [PATCH] fix: resolve PR comment by removing unsafe ApprovalMode type assertion --- packages/core/src/agents/agent-scheduler.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/core/src/agents/agent-scheduler.ts b/packages/core/src/agents/agent-scheduler.ts index 6e294d3713..f123bf07ba 100644 --- a/packages/core/src/agents/agent-scheduler.ts +++ b/packages/core/src/agents/agent-scheduler.ts @@ -12,7 +12,6 @@ import type { } from '../scheduler/types.js'; import type { ToolRegistry } from '../tools/tool-registry.js'; import type { EditorType } from '../utils/editor.js'; -import type { ApprovalMode } from '../policy/types.js'; /** * Options for scheduling agent tools. @@ -61,12 +60,12 @@ export async function scheduleAgentTools( // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const agentConfig: Config = Object.create(config); agentConfig.getToolRegistry = () => toolRegistry; - + // Apply any subagent-specific approval mode override, fallback to the main config mode. - const override = config.getAgentsSettings()?.overrides?.[agentName]; - if (override?.approvalMode) { - // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion - agentConfig.getApprovalMode = () => override.approvalMode as ApprovalMode; + const overrideMode = + config.getAgentsSettings()?.overrides?.[agentName]?.approvalMode; + if (overrideMode) { + agentConfig.getApprovalMode = () => overrideMode; } else { // Subagents follow the global approval mode by default. agentConfig.getApprovalMode = () => config.getApprovalMode();