@@ -167,17 +167,17 @@ def test_agents_method_with_configs(ldai_client: LDAIClient):
167
167
168
168
agent_configs = [
169
169
LDAIAgentConfig (
170
- agent_key = 'customer-support-agent' ,
171
- default_config = LDAIAgentDefaults (
170
+ key = 'customer-support-agent' ,
171
+ default_value = LDAIAgentDefaults (
172
172
enabled = False ,
173
173
model = ModelConfig ('fallback-model' ),
174
174
instructions = "Default support"
175
175
),
176
176
variables = {'company_name' : 'Acme Corp' }
177
177
),
178
178
LDAIAgentConfig (
179
- agent_key = 'sales-assistant' ,
180
- default_config = LDAIAgentDefaults (
179
+ key = 'sales-assistant' ,
180
+ default_value = LDAIAgentDefaults (
181
181
enabled = False ,
182
182
model = ModelConfig ('fallback-model' ),
183
183
instructions = "Default sales"
@@ -208,16 +208,16 @@ def test_agents_method_different_variables_per_agent(ldai_client: LDAIClient):
208
208
209
209
agent_configs = [
210
210
LDAIAgentConfig (
211
- agent_key = 'personalized-agent' ,
212
- default_config = LDAIAgentDefaults (
211
+ key = 'personalized-agent' ,
212
+ default_value = LDAIAgentDefaults (
213
213
enabled = True ,
214
214
instructions = "Default personal"
215
215
),
216
216
variables = {} # Will use context only
217
217
),
218
218
LDAIAgentConfig (
219
- agent_key = 'customer-support-agent' ,
220
- default_config = LDAIAgentDefaults (
219
+ key = 'customer-support-agent' ,
220
+ default_value = LDAIAgentDefaults (
221
221
enabled = True ,
222
222
instructions = "Default support"
223
223
),
@@ -242,8 +242,8 @@ def test_agents_with_multi_context_interpolation(ldai_client: LDAIClient):
242
242
243
243
agent_configs = [
244
244
LDAIAgentConfig (
245
- agent_key = 'multi-context-agent' ,
246
- default_config = LDAIAgentDefaults (
245
+ key = 'multi-context-agent' ,
246
+ default_value = LDAIAgentDefaults (
247
247
enabled = True ,
248
248
instructions = "Default multi-context"
249
249
),
@@ -275,8 +275,8 @@ def test_disabled_agent_multiple_method(ldai_client: LDAIClient):
275
275
276
276
agent_configs = [
277
277
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" ),
280
280
variables = {}
281
281
)
282
282
]
@@ -354,13 +354,13 @@ def test_agent_tracking_calls(ldai_client: LDAIClient):
354
354
# Test multiple agents tracking
355
355
agent_configs = [
356
356
LDAIAgentConfig (
357
- agent_key = 'customer-support-agent' ,
358
- default_config = defaults ,
357
+ key = 'customer-support-agent' ,
358
+ default_value = defaults ,
359
359
variables = {}
360
360
),
361
361
LDAIAgentConfig (
362
- agent_key = 'sales-assistant' ,
363
- default_config = defaults ,
362
+ key = 'sales-assistant' ,
363
+ default_value = defaults ,
364
364
variables = {}
365
365
)
366
366
]
@@ -397,24 +397,70 @@ def test_backwards_compatibility_with_config(ldai_client: LDAIClient):
397
397
def test_agent_config_dataclass ():
398
398
"""Test the LDAIAgentConfig dataclass functionality."""
399
399
config = LDAIAgentConfig (
400
- agent_key = 'test-agent' ,
401
- default_config = LDAIAgentDefaults (
400
+ key = 'test-agent' ,
401
+ default_value = LDAIAgentDefaults (
402
402
enabled = True ,
403
403
instructions = "Test instructions"
404
404
),
405
405
variables = {'key' : 'value' }
406
406
)
407
407
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"
411
411
assert config .variables == {'key' : 'value' }
412
412
413
413
# Test with no variables
414
414
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 )
417
417
)
418
418
419
- assert config_no_vars .agent_key == 'test-agent-2'
419
+ assert config_no_vars .key == 'test-agent-2'
420
420
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