|
137 | 137 | use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface; |
138 | 138 | use Symfony\Component\Translation\TranslatableMessage; |
139 | 139 | use Symfony\Contracts\HttpClient\HttpClientInterface; |
| 140 | +use Symfony\Contracts\Service\ResetInterface; |
140 | 141 |
|
141 | 142 | use function Symfony\Component\String\u; |
142 | 143 |
|
@@ -182,7 +183,8 @@ public function loadExtension(array $config, ContainerConfigurator $container, C |
182 | 183 | $traceablePlatformDefinition = (new Definition(TraceablePlatform::class)) |
183 | 184 | ->setDecoratedService($platform, priority: -1024) |
184 | 185 | ->setArguments([new Reference('.inner')]) |
185 | | - ->addTag('ai.traceable_platform'); |
| 186 | + ->addTag('ai.traceable_platform') |
| 187 | + ->addTag('kernel.reset', ['method' => 'reset']); |
186 | 188 | $suffix = u($platform)->after('ai.platform.')->toString(); |
187 | 189 | $builder->setDefinition('ai.traceable_platform.'.$suffix, $traceablePlatformDefinition); |
188 | 190 | } |
@@ -259,7 +261,8 @@ public function loadExtension(array $config, ContainerConfigurator $container, C |
259 | 261 | new Reference('.inner'), |
260 | 262 | new Reference(ClockInterface::class), |
261 | 263 | ]) |
262 | | - ->addTag('ai.traceable_message_store'); |
| 264 | + ->addTag('ai.traceable_message_store') |
| 265 | + ->addTag('kernel.reset', ['method' => 'reset']); |
263 | 266 | $suffix = u($messageStore)->afterLast('.')->toString(); |
264 | 267 | $builder->setDefinition('ai.traceable_message_store.'.$suffix, $traceableMessageStoreDefinition); |
265 | 268 | } |
@@ -294,7 +297,8 @@ public function loadExtension(array $config, ContainerConfigurator $container, C |
294 | 297 | new Reference('.inner'), |
295 | 298 | new Reference(ClockInterface::class), |
296 | 299 | ]) |
297 | | - ->addTag('ai.traceable_chat'); |
| 300 | + ->addTag('ai.traceable_chat') |
| 301 | + ->addTag('kernel.reset', ['method' => 'reset']); |
298 | 302 | $suffix = u($chat)->afterLast('.')->toString(); |
299 | 303 | $builder->setDefinition('ai.traceable_chat.'.$suffix, $traceableChatDefinition); |
300 | 304 | } |
@@ -1121,7 +1125,8 @@ private function processAgentConfig(string $name, array $config, ContainerBuilde |
1121 | 1125 | ->setClass(TraceableToolbox::class) |
1122 | 1126 | ->setArguments([new Reference('.inner')]) |
1123 | 1127 | ->setDecoratedService('ai.toolbox.'.$name, priority: -1024) |
1124 | | - ->addTag('ai.traceable_toolbox'); |
| 1128 | + ->addTag('ai.traceable_toolbox') |
| 1129 | + ->addTag('kernel.reset', ['method' => 'reset']); |
1125 | 1130 | $container->setDefinition('ai.traceable_toolbox.'.$name, $traceableToolboxDefinition); |
1126 | 1131 | } |
1127 | 1132 |
|
@@ -1512,7 +1517,9 @@ private function processStoreConfig(string $type, array $stores, ContainerBuilde |
1512 | 1517 | ->setArguments($arguments) |
1513 | 1518 | ->addTag('proxy', ['interface' => StoreInterface::class]) |
1514 | 1519 | ->addTag('proxy', ['interface' => ManagedStoreInterface::class]) |
1515 | | - ->addTag('ai.store'); |
| 1520 | + ->addTag('proxy', ['interface' => ResetInterface::class]) |
| 1521 | + ->addTag('ai.store') |
| 1522 | + ->addTag('kernel.reset', ['method' => 'reset']); |
1516 | 1523 |
|
1517 | 1524 | $container->setDefinition('ai.store.'.$type.'.'.$name, $definition); |
1518 | 1525 | $container->registerAliasForArgument('ai.store.'.$type.'.'.$name, StoreInterface::class, $name); |
@@ -2064,7 +2071,9 @@ private function processMessageStoreConfig(string $type, array $messageStores, C |
2064 | 2071 | ->setArgument(0, $messageStore['identifier']) |
2065 | 2072 | ->addTag('proxy', ['interface' => MessageStoreInterface::class]) |
2066 | 2073 | ->addTag('proxy', ['interface' => ManagedMessageStoreInterface::class]) |
2067 | | - ->addTag('ai.message_store'); |
| 2074 | + ->addTag('proxy', ['interface' => ResetInterface::class]) |
| 2075 | + ->addTag('ai.message_store') |
| 2076 | + ->addTag('kernel.reset', ['method' => 'reset']); |
2068 | 2077 |
|
2069 | 2078 | $container->setDefinition('ai.message_store.'.$type.'.'.$name, $definition); |
2070 | 2079 | $container->registerAliasForArgument('ai.message_store.'.$type.'.'.$name, MessageStoreInterface::class, $name); |
|
0 commit comments