2153
if (recommendation === 'approve' && !request.requestSandboxBypass) {
2154
if (request.kind === 'custom-tool'
2156
>
&& this._clientToolNames.has(this._clientToolName(request.toolName))
2157
) {
2159
>
const displayName = trackedToolCall?.displayName ?? getToolDisplayName(request.toolName);
2160
>
const parameters = trackedToolCall?.parameters;
2161
>
const parentToolCallId = trackedToolCall?.parentToolCallId;
2162
>
this._onDidSessionProgress.fire({
2163
>
kind: 'pending_confirmation',
2164
>
chat: this._chatChannelUri,
2165
>
state: {
2166
>
status: ToolCallStatus.PendingConfirmation,
2167
>
toolCallId,
2168
>
toolName: request.toolName,
2169
>
displayName,
2170
>
invocationMessage: getInvocationMessage(request.toolName, displayName, parameters),
2171
>
toolInput: getToolInputString(request.toolName, parameters, tryStringify(parameters)),
2172
>
riskAssessment: autoApproval?.reason
2173
>
? {
2174
>
kind: ToolCallRiskAssessmentKind.Judge,
2175
>
status: ToolCallRiskAssessmentStatus.Complete,
2176
>
reason: autoApproval.reason,
2177
>
safety: 1,
2178
>
}
2179
: undefined,
2181
>
parentToolCallId,
2182
>
});
2183
>
}
2184
return { kind: 'approve-once' };
2185
}