@@ -16,10 +16,13 @@ import {
1616 recordStructuredReplayTrustForToolCall ,
1717 runBeforeToolCallHook ,
1818} from "./agent-tools.before-tool-call.js" ;
19+ import {
20+ finalizeBeforeToolCallExecutionParams ,
21+ prepareBeforeToolCallExecutionParams ,
22+ } from "./agent-tools.before-tool-call.wrapper.js" ;
1923import {
2024 getCodeModeExecBeforeHookMetadata ,
2125 normalizeCodeModeExecBeforeHookParams ,
22- reconcileCodeModeExecBeforeHookParams ,
2326} from "./code-mode-control-tools.js" ;
2427import { sanitizeForConsole } from "./console-sanitize.js" ;
2528import type { ClientToolDefinition } from "./embedded-agent-runner/run/params.js" ;
@@ -29,13 +32,6 @@ import { normalizeToolName } from "./tool-policy.js";
2932import { jsonResult , payloadTextResult } from "./tools/common.js" ;
3033
3134type AnyAgentTool = AgentTool ;
32- type BeforeToolCallPreparingTool = AnyAgentTool & {
33- prepareBeforeToolCallParams ?: (
34- params : unknown ,
35- ctx : { toolCallId ?: string ; hookContext ?: HookContext ; signal ?: AbortSignal } ,
36- ) => unknown ;
37- finalizeBeforeToolCallParams ?: ( params : unknown , preparedParams : unknown ) => unknown ;
38- } ;
3935
4036type ToolExecuteArgsCurrent = [
4137 string ,
@@ -282,32 +278,6 @@ function splitToolExecuteArgs(args: ToolExecuteArgsAny): {
282278 } ;
283279}
284280
285- async function prepareToolParamsBeforeHook ( params : {
286- tool : AnyAgentTool ;
287- rawParams : unknown ;
288- toolCallId ?: string ;
289- hookContext ?: HookContext ;
290- signal ?: AbortSignal ;
291- } ) : Promise < unknown > {
292- const prepare = ( params . tool as BeforeToolCallPreparingTool ) . prepareBeforeToolCallParams ;
293- return prepare
294- ? await prepare ( params . rawParams , {
295- ...( params . toolCallId ? { toolCallId : params . toolCallId } : { } ) ,
296- ...( params . hookContext ? { hookContext : params . hookContext } : { } ) ,
297- ...( params . signal ? { signal : params . signal } : { } ) ,
298- } )
299- : params . rawParams ;
300- }
301-
302- function finalizeToolParamsBeforeExecute ( params : {
303- tool : AnyAgentTool ;
304- executeParams : unknown ;
305- preparedParams : unknown ;
306- } ) : unknown {
307- const finalize = ( params . tool as BeforeToolCallPreparingTool ) . finalizeBeforeToolCallParams ;
308- return finalize ? finalize ( params . executeParams , params . preparedParams ) : params . executeParams ;
309- }
310-
311281const CLIENT_TOOL_NAME_CONFLICT_PREFIX = "client tool name conflict:" ;
312282
313283/** Find client-hosted tool names that collide with runtime or sibling tools. */
@@ -378,11 +348,11 @@ export function toToolDefinitions(
378348 let executeParams = params ;
379349 try {
380350 if ( ! beforeHookWrapped ) {
381- const preparedParams = await prepareToolParamsBeforeHook ( {
351+ const preparedParams = await prepareBeforeToolCallExecutionParams ( {
382352 tool,
383- rawParams : params ,
353+ params,
384354 ...( toolCallId ? { toolCallId } : { } ) ,
385- ...( hookContext ? { hookContext } : { } ) ,
355+ ...( hookContext ? { ctx : hookContext } : { } ) ,
386356 ...( signal ? { signal } : { } ) ,
387357 } ) ;
388358 const hookParams = normalizeCodeModeExecBeforeHookParams ( {
@@ -411,16 +381,12 @@ export function toToolDefinitions(
411381 }
412382 throw new Error ( hookOutcome . reason ) ;
413383 }
414- executeParams = reconcileCodeModeExecBeforeHookParams ( {
384+ executeParams = finalizeBeforeToolCallExecutionParams ( {
415385 tool,
416- originalParams : preparedParams ,
386+ preparedParams,
417387 hookParams,
418388 adjustedParams : hookOutcome . params ,
419- } ) ;
420- executeParams = finalizeToolParamsBeforeExecute ( {
421- tool,
422- executeParams,
423- preparedParams,
389+ finalizerMode : "adapter" ,
424390 } ) ;
425391 recordAdjustedParamsForToolCall ( toolCallId , executeParams , hookContext ?. runId ) ;
426392 }
0 commit comments