Skip to content

Commit 49a7ee6

Browse files
committed
Shift chain factory service definition to fix agent definition
1 parent c3ac16c commit 49a7ee6

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/ai-bundle/src/AiBundle.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -593,6 +593,14 @@ private function processAgentConfig(string $name, array $config, ContainerBuilde
593593
// TOOLBOX
594594
if ($config['tools']['enabled']) {
595595
// Setup toolbox for agent
596+
$memoryFactoryDefinition = new ChildDefinition('ai.tool_factory.abstract');
597+
$memoryFactoryDefinition->setClass(MemoryToolFactory::class);
598+
$container->setDefinition('ai.toolbox.'.$name.'.memory_factory', $memoryFactoryDefinition);
599+
$chainFactoryDefinition = new Definition(ChainFactory::class, [
600+
[new Reference('ai.toolbox.'.$name.'.memory_factory'), new Reference('ai.tool_factory')],
601+
]);
602+
$container->setDefinition('ai.toolbox.'.$name.'.chain_factory', $chainFactoryDefinition);
603+
596604
$toolboxDefinition = (new ChildDefinition('ai.toolbox.abstract'))
597605
->replaceArgument(1, new Reference('ai.toolbox.'.$name.'.chain_factory'))
598606
->addTag('ai.toolbox', ['name' => $name]);
@@ -624,14 +632,6 @@ private function processAgentConfig(string $name, array $config, ContainerBuilde
624632

625633
// Define specific list of tools if are explicitly defined
626634
if ([] !== $config['tools']['services']) {
627-
$memoryFactoryDefinition = new ChildDefinition('ai.tool_factory.abstract');
628-
$memoryFactoryDefinition->setClass(MemoryToolFactory::class);
629-
$container->setDefinition('ai.toolbox.'.$name.'.memory_factory', $memoryFactoryDefinition);
630-
$chainFactoryDefinition = new Definition(ChainFactory::class, [
631-
[new Reference('ai.toolbox.'.$name.'.memory_factory'), new Reference('ai.tool_factory')],
632-
]);
633-
$container->setDefinition('ai.toolbox.'.$name.'.chain_factory', $chainFactoryDefinition);
634-
635635
$tools = [];
636636
foreach ($config['tools']['services'] as $tool) {
637637
if (isset($tool['agent'])) {

0 commit comments

Comments
 (0)