Skip to content

Commit 3080987

Browse files
jsonbaileyclaude
andcommitted
refactor: rename AITool to LDTool for cross-SDK naming consistency
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 36c6af7 commit 3080987

4 files changed

Lines changed: 14 additions & 14 deletions

File tree

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
AIConfig,
2121
AIJudgeConfig,
2222
AIJudgeConfigDefault,
23-
AITool,
23+
LDTool,
2424
Edge,
2525
JudgeConfiguration,
2626
LDAIAgent,
@@ -65,7 +65,7 @@
6565
'Judge',
6666
'JudgeConfiguration',
6767
'JudgeResult',
68-
'AITool',
68+
'LDTool',
6969
'LDMessage',
7070
'ModelConfig',
7171
'ProviderConfig',

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
AICompletionConfigDefault,
2222
AIJudgeConfig,
2323
AIJudgeConfigDefault,
24-
AITool,
24+
LDTool,
2525
Edge,
2626
JudgeConfiguration,
2727
LDMessage,
@@ -51,14 +51,14 @@
5151
_DISABLED_JUDGE_DEFAULT = AIJudgeConfigDefault.disabled()
5252

5353

54-
def _parse_tools(tools_data: Optional[Dict[str, Any]]) -> Optional[Dict[str, AITool]]:
54+
def _parse_tools(tools_data: Optional[Dict[str, Any]]) -> Optional[Dict[str, LDTool]]:
5555
"""Parse the root-level tools map from a flag variation dict."""
5656
if not tools_data or not isinstance(tools_data, dict):
5757
return None
5858
result = {}
5959
for tool_name, tool_dict in tools_data.items():
6060
if isinstance(tool_dict, dict):
61-
result[tool_name] = AITool(
61+
result[tool_name] = LDTool(
6262
name=tool_dict.get('name', tool_name),
6363
type=tool_dict.get('type'),
6464
parameters=tool_dict.get('parameters'),

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77

88
@dataclass(frozen=True)
9-
class AITool:
9+
class LDTool:
1010
"""
1111
A single tool entry from the root-level tools map in an AI Config flag variation.
1212
Distinct from model.parameters.tools[] which is the raw array passed to LLM providers.
@@ -230,7 +230,7 @@ class AICompletionConfigDefault(AIConfigDefault):
230230
"""
231231
messages: Optional[List[LDMessage]] = None
232232
judge_configuration: Optional[JudgeConfiguration] = None
233-
tools: Optional[Dict[str, 'AITool']] = None
233+
tools: Optional[Dict[str, 'LDTool']] = None
234234

235235
def to_dict(self) -> dict:
236236
"""
@@ -252,7 +252,7 @@ class AICompletionConfig(AIConfig):
252252
"""
253253
messages: Optional[List[LDMessage]] = None
254254
judge_configuration: Optional[JudgeConfiguration] = None
255-
tools: Optional[Dict[str, 'AITool']] = None
255+
tools: Optional[Dict[str, 'LDTool']] = None
256256

257257
def to_dict(self) -> dict:
258258
"""
@@ -278,7 +278,7 @@ class AIAgentConfigDefault(AIConfigDefault):
278278
"""
279279
instructions: Optional[str] = None
280280
judge_configuration: Optional[JudgeConfiguration] = None
281-
tools: Optional[Dict[str, 'AITool']] = None
281+
tools: Optional[Dict[str, 'LDTool']] = None
282282

283283
def to_dict(self) -> Dict[str, Any]:
284284
"""
@@ -301,7 +301,7 @@ class AIAgentConfig(AIConfig):
301301
"""
302302
instructions: Optional[str] = None
303303
judge_configuration: Optional[JudgeConfiguration] = None
304-
tools: Optional[Dict[str, 'AITool']] = None
304+
tools: Optional[Dict[str, 'LDTool']] = None
305305

306306
def to_dict(self) -> Dict[str, Any]:
307307
"""

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from ldclient import Config, Context, LDClient
33
from ldclient.integrations.test_data import TestData
44

5-
from ldai import AITool, LDAIClient
5+
from ldai import LDTool, LDAIClient
66
from ldai.models import AIAgentConfigDefault, AICompletionConfigDefault
77

88

@@ -93,7 +93,7 @@ def test_completion_config_tools_none_when_not_in_variation(client, context):
9393

9494

9595
def test_completion_config_falls_back_to_default_tools(client, context):
96-
default_tool = AITool(name='default-tool', type='function', custom_parameters={'priority': 'high'})
96+
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)
@@ -114,7 +114,7 @@ def test_agent_config_includes_tools_from_variation(client, context):
114114

115115

116116
def test_aitool_to_dict_serializes_custom_parameters_as_camel_case():
117-
tool = AITool(
117+
tool = LDTool(
118118
name='my-tool',
119119
type='function',
120120
parameters={'type': 'object'},
@@ -131,7 +131,7 @@ def test_aitool_to_dict_serializes_custom_parameters_as_camel_case():
131131

132132

133133
def test_aitool_to_dict_omits_none_fields():
134-
tool = AITool(name='bare-tool')
134+
tool = LDTool(name='bare-tool')
135135
d = tool.to_dict()
136136

137137
assert d == {'name': 'bare-tool'}

0 commit comments

Comments
 (0)