1058
*/
1059
private async _handleToolReady(e: IAgentToolPendingConfirmationSignal, sessionKey: ProtocolURI, turnId: string, agent: IAgent): Promise<void> {
1061
>
toolCallId: e.state.toolCallId,
1062
>
session: e.chat,
1063
>
permissionKind: e.permissionKind,
1064
>
permissionPath: e.permissionPath,
1065
>
toolInput: e.state.toolInput,
1066
>
requestSandboxBypass: e.requestSandboxBypass,
1067
>
};
1068
>
const autoApproval = await this._permissionManager.getAutoApproval(approvalEvent, sessionKey);
1069
>
const part = this._stateManager.getSessionState(sessionKey)?.activeTurn?.responseParts.find(part => part.kind === ResponsePartKind.ToolCall && part.toolCall.toolCallId === e.state.toolCallId);
1070
>
const toolCall = part?.kind === ResponsePartKind.ToolCall ? part.toolCall : undefined;
1071
>
if (toolCall
1072
&& toolCall.status !== ToolCallStatus.Streaming
1073
&& toolCall.status !== ToolCallStatus.Running
1075
this._toolCallAgents.delete(`${sessionKey}:${e.state.toolCallId}`);
1076
this._logService.trace(`[AgentSideEffects] Dropping stale tool ready for ${e.state.toolCallId}: status=${toolCall.status}`);