Skip to content

Commit 19a2b2c

Browse files
jsonbaileyclaude
andcommitted
fix: remove incorrect default.tools fallback from _parse_tools call sites
The variation call already incorporates the default via default_dict; applying a second-level default here is incorrect. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent ccc744e commit 19a2b2c

2 files changed

Lines changed: 4 additions & 8 deletions

File tree

packages/sdk/server-ai/src/ldai/client.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,7 @@ def _completion_config(
112112
key, context, default.to_dict(), variables
113113
)
114114

115-
tools_data = variation.get('tools')
116-
tools = _parse_tools(tools_data) if tools_data is not None else default.tools
115+
tools = _parse_tools(variation.get('tools'))
117116

118117
config = AICompletionConfig(
119118
key=key,
@@ -921,8 +920,7 @@ def __evaluate_agent(
921920
# For agents, prioritize instructions over messages
922921
final_instructions = instructions if instructions is not None else default.instructions
923922

924-
tools_data = variation.get('tools')
925-
tools = _parse_tools(tools_data) if tools_data is not None else default.tools
923+
tools = _parse_tools(variation.get('tools'))
926924

927925
return AIAgentConfig(
928926
key=key,

packages/sdk/server-ai/tests/test_tools.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,13 @@ def test_completion_config_tools_none_when_not_in_variation(client, context):
9292
assert result.tools is None
9393

9494

95-
def test_completion_config_falls_back_to_default_tools(client, context):
95+
def test_completion_config_tools_none_when_variation_has_no_tools(client, context):
9696
default_tool = LDTool(name='default-tool', type='function', custom_parameters={'priority': 'high'})
9797
default = AICompletionConfigDefault(tools={'default-tool': default_tool})
9898

9999
result = client.completion_config('completion-no-tools', context, default)
100100

101-
assert result.tools is not None
102-
assert 'default-tool' in result.tools
103-
assert result.tools['default-tool'].custom_parameters == {'priority': 'high'}
101+
assert result.tools is None
104102

105103

106104
def test_agent_config_includes_tools_from_variation(client, context):

0 commit comments

Comments
 (0)