1139
private _clientToolName(toolName: string): string {
1140
return this._isToolSearchActive()
1142
>
? CLIENT_TOOL_SEARCH_REFERENCE_NAME
1143
: toolName;
1144
}
1145
1146
private _toToolSearchCandidates(availableTools: readonly CurrentToolMetadata[] | undefined): readonly IToolSearchCandidate[] {
1148
>
.filter(tool => tool.deferLoading)
1149
>
.map(tool => ({
1150
>
name: tool.name,
1151
>
description: tool.description ?? '',
1152
>
}));
1153
>
}
1154
1155
private _emitToolSearchReady(toolCallId: string, candidates: readonly IToolSearchCandidate[]): void {
1157
>
if (!tracked) {
1158
throw new Error(`Tool-search call '${toolCallId}' was not tracked.`);
1159
}
1161
>
type: ActionType.ChatToolCallReady,
1162
>
turnId: this._turnId,
1163
>
toolCallId,
1164
>
invocationMessage: getInvocationMessage(tracked.toolName, tracked.displayName, tracked.parameters),
1165
>
toolInput: getToolInputString(tracked.toolName, tracked.parameters, tracked.parameters ? tryStringify(tracked.parameters) : undefined),
1166
>
confirmed: ToolCallConfirmationReason.NotNeeded,
1167
>
_meta: toToolCallMeta({ ...(tracked.meta ?? {}), toolSearchCandidates: candidates }),
1168
>
}, tracked.parentToolCallId);
1169
>
}
1170
1171
private _toolSearchFailure(message: string): ToolResultObject {