@@ -167,17 +167,17 @@ def test_agents_method_with_configs(ldai_client: LDAIClient):
167167
168168 agent_configs = [
169169 LDAIAgentConfig (
170- agent_key = 'customer-support-agent' ,
171- default_config = LDAIAgentDefaults (
170+ key = 'customer-support-agent' ,
171+ default_value = LDAIAgentDefaults (
172172 enabled = False ,
173173 model = ModelConfig ('fallback-model' ),
174174 instructions = "Default support"
175175 ),
176176 variables = {'company_name' : 'Acme Corp' }
177177 ),
178178 LDAIAgentConfig (
179- agent_key = 'sales-assistant' ,
180- default_config = LDAIAgentDefaults (
179+ key = 'sales-assistant' ,
180+ default_value = LDAIAgentDefaults (
181181 enabled = False ,
182182 model = ModelConfig ('fallback-model' ),
183183 instructions = "Default sales"
@@ -208,16 +208,16 @@ def test_agents_method_different_variables_per_agent(ldai_client: LDAIClient):
208208
209209 agent_configs = [
210210 LDAIAgentConfig (
211- agent_key = 'personalized-agent' ,
212- default_config = LDAIAgentDefaults (
211+ key = 'personalized-agent' ,
212+ default_value = LDAIAgentDefaults (
213213 enabled = True ,
214214 instructions = "Default personal"
215215 ),
216216 variables = {} # Will use context only
217217 ),
218218 LDAIAgentConfig (
219- agent_key = 'customer-support-agent' ,
220- default_config = LDAIAgentDefaults (
219+ key = 'customer-support-agent' ,
220+ default_value = LDAIAgentDefaults (
221221 enabled = True ,
222222 instructions = "Default support"
223223 ),
@@ -242,8 +242,8 @@ def test_agents_with_multi_context_interpolation(ldai_client: LDAIClient):
242242
243243 agent_configs = [
244244 LDAIAgentConfig (
245- agent_key = 'multi-context-agent' ,
246- default_config = LDAIAgentDefaults (
245+ key = 'multi-context-agent' ,
246+ default_value = LDAIAgentDefaults (
247247 enabled = True ,
248248 instructions = "Default multi-context"
249249 ),
@@ -275,8 +275,8 @@ def test_disabled_agent_multiple_method(ldai_client: LDAIClient):
275275
276276 agent_configs = [
277277 LDAIAgentConfig (
278- agent_key = 'disabled-agent' ,
279- default_config = LDAIAgentDefaults (enabled = True , instructions = "Default" ),
278+ key = 'disabled-agent' ,
279+ default_value = LDAIAgentDefaults (enabled = True , instructions = "Default" ),
280280 variables = {}
281281 )
282282 ]
@@ -354,13 +354,13 @@ def test_agent_tracking_calls(ldai_client: LDAIClient):
354354 # Test multiple agents tracking
355355 agent_configs = [
356356 LDAIAgentConfig (
357- agent_key = 'customer-support-agent' ,
358- default_config = defaults ,
357+ key = 'customer-support-agent' ,
358+ default_value = defaults ,
359359 variables = {}
360360 ),
361361 LDAIAgentConfig (
362- agent_key = 'sales-assistant' ,
363- default_config = defaults ,
362+ key = 'sales-assistant' ,
363+ default_value = defaults ,
364364 variables = {}
365365 )
366366 ]
@@ -397,24 +397,70 @@ def test_backwards_compatibility_with_config(ldai_client: LDAIClient):
397397def test_agent_config_dataclass ():
398398 """Test the LDAIAgentConfig dataclass functionality."""
399399 config = LDAIAgentConfig (
400- agent_key = 'test-agent' ,
401- default_config = LDAIAgentDefaults (
400+ key = 'test-agent' ,
401+ default_value = LDAIAgentDefaults (
402402 enabled = True ,
403403 instructions = "Test instructions"
404404 ),
405405 variables = {'key' : 'value' }
406406 )
407407
408- assert config .agent_key == 'test-agent'
409- assert config .default_config .enabled is True
410- assert config .default_config .instructions == "Test instructions"
408+ assert config .key == 'test-agent'
409+ assert config .default_value .enabled is True
410+ assert config .default_value .instructions == "Test instructions"
411411 assert config .variables == {'key' : 'value' }
412412
413413 # Test with no variables
414414 config_no_vars = LDAIAgentConfig (
415- agent_key = 'test-agent-2' ,
416- default_config = LDAIAgentDefaults (enabled = False )
415+ key = 'test-agent-2' ,
416+ default_value = LDAIAgentDefaults (enabled = False )
417417 )
418418
419- assert config_no_vars .agent_key == 'test-agent-2'
419+ assert config_no_vars .key == 'test-agent-2'
420420 assert config_no_vars .variables is None
421+
422+
423+ def test_agent_config_optional_default_value ():
424+ """Test that LDAIAgentConfig defaults to {enabled: False} when default_value is not provided."""
425+ config = LDAIAgentConfig (key = 'test-agent' )
426+
427+ assert config .key == 'test-agent'
428+ assert config .default_value is not None
429+ assert config .default_value .enabled is False
430+ assert config .variables is None
431+
432+
433+ def test_single_agent_optional_default_value (ldai_client : LDAIClient ):
434+ """Test the single agent() method with optional default_value."""
435+ context = Context .create ('user-key' )
436+
437+ # Should work with no default_value provided (defaults to {enabled: False})
438+ agent = ldai_client .agent ('non-existent-agent' , context )
439+
440+ assert agent .enabled is False # Should default to False
441+ assert agent .tracker is not None
442+
443+
444+ def test_agents_method_with_optional_defaults (ldai_client : LDAIClient ):
445+ """Test agents method with optional default_value configurations."""
446+ context = Context .create ('user-key' )
447+
448+ agent_configs = [
449+ LDAIAgentConfig (key = 'customer-support-agent' ), # No default_value
450+ LDAIAgentConfig (
451+ key = 'sales-assistant' ,
452+ default_value = LDAIAgentDefaults (enabled = True , instructions = "Custom sales assistant" )
453+ )
454+ ]
455+
456+ agents = ldai_client .agents (agent_configs , context )
457+
458+ assert len (agents ) == 2
459+
460+ # First agent should use default {enabled: False} from auto-generated default_value
461+ support_agent = agents ['customer-support-agent' ]
462+ assert support_agent .enabled is True # From flag configuration
463+
464+ # Second agent should use custom default
465+ sales_agent = agents ['sales-assistant' ]
466+ assert sales_agent .enabled is True
0 commit comments