Skip to content

Commit 94e550a

Browse files
committed
Clean up repetitive wrapper calls with helper function
Add local 'wrap' helper to eliminate repetition of workspaceId and initStateManager parameters across all runtime tool wrapper calls. Before: wrapWithInitWait(tool, workspaceId, initStateManager) x4 After: wrap(tool) x4
1 parent 2778d75 commit 94e550a

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/utils/tools/tools.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,21 +55,21 @@ export async function getToolsForModel(
5555
): Promise<Record<string, Tool>> {
5656
const [provider, modelId] = modelString.split(":");
5757

58+
// Helper to reduce repetition when wrapping runtime tools
59+
const wrap = <TParameters, TResult>(tool: Tool<TParameters, TResult>) =>
60+
wrapWithInitWait(tool, workspaceId, initStateManager);
61+
5862
// Runtime-dependent tools need to wait for workspace initialization
5963
// Wrap them to handle init waiting centrally instead of in each tool
6064
const runtimeTools: Record<string, Tool> = {
61-
file_read: wrapWithInitWait(createFileReadTool(config), workspaceId, initStateManager),
62-
file_edit_replace_string: wrapWithInitWait(
63-
createFileEditReplaceStringTool(config),
64-
workspaceId,
65-
initStateManager
66-
),
65+
file_read: wrap(createFileReadTool(config)),
66+
file_edit_replace_string: wrap(createFileEditReplaceStringTool(config)),
6767
// DISABLED: file_edit_replace_lines - causes models (particularly GPT-5-Codex)
6868
// to leave repository in broken state due to issues with concurrent file modifications
6969
// and line number miscalculations. Use file_edit_replace_string or file_edit_insert instead.
70-
// file_edit_replace_lines: wrapWithInitWait(createFileEditReplaceLinesTool(config), workspaceId, initStateManager),
71-
file_edit_insert: wrapWithInitWait(createFileEditInsertTool(config), workspaceId, initStateManager),
72-
bash: wrapWithInitWait(createBashTool(config), workspaceId, initStateManager),
70+
// file_edit_replace_lines: wrap(createFileEditReplaceLinesTool(config)),
71+
file_edit_insert: wrap(createFileEditInsertTool(config)),
72+
bash: wrap(createBashTool(config)),
7373
};
7474

7575
// Non-runtime tools execute immediately (no init wait needed)

0 commit comments

Comments
 (0)