Skip to content
This repository was archived by the owner on Jul 16, 2025. It is now read-only.

Commit b0b4d8b

Browse files
authored
refactor: introduce attribute namespace for AsTool (#89)
1 parent 7046f56 commit b0b4d8b

17 files changed

+17
-16
lines changed

src/Exception/InvalidToolImplementation.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace PhpLlm\LlmChain\Exception;
66

7-
use PhpLlm\LlmChain\ToolBox\AsTool;
7+
use PhpLlm\LlmChain\ToolBox\Attribute\AsTool;
88

99
final class InvalidToolImplementation extends \InvalidArgumentException
1010
{

src/ToolBox/AsTool.php renamed to src/ToolBox/Attribute/AsTool.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace PhpLlm\LlmChain\ToolBox;
5+
namespace PhpLlm\LlmChain\ToolBox\Attribute;
66

77
#[\Attribute(\Attribute::TARGET_CLASS | \Attribute::IS_REPEATABLE)]
88
final readonly class AsTool

src/ToolBox/Tool/Clock.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace PhpLlm\LlmChain\ToolBox\Tool;
66

7-
use PhpLlm\LlmChain\ToolBox\AsTool;
7+
use PhpLlm\LlmChain\ToolBox\Attribute\AsTool;
88
use Symfony\Component\Clock\ClockInterface;
99

1010
#[AsTool('clock', description: 'Provides the current date and time.')]

src/ToolBox/Tool/OpenMeteo.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace PhpLlm\LlmChain\ToolBox\Tool;
66

7-
use PhpLlm\LlmChain\ToolBox\AsTool;
7+
use PhpLlm\LlmChain\ToolBox\Attribute\AsTool;
88
use Symfony\Contracts\HttpClient\HttpClientInterface;
99

1010
#[AsTool(name: 'weather', description: 'get the current weather for a location')]

src/ToolBox/Tool/SerpApi.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace PhpLlm\LlmChain\ToolBox\Tool;
66

7-
use PhpLlm\LlmChain\ToolBox\AsTool;
7+
use PhpLlm\LlmChain\ToolBox\Attribute\AsTool;
88
use Symfony\Contracts\HttpClient\HttpClientInterface;
99

1010
#[AsTool(name: 'serpapi', description: 'search for information on the internet')]

src/ToolBox/Tool/SimilaritySearch.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use PhpLlm\LlmChain\Document\Document;
88
use PhpLlm\LlmChain\EmbeddingsModel;
99
use PhpLlm\LlmChain\Store\VectorStoreInterface;
10-
use PhpLlm\LlmChain\ToolBox\AsTool;
10+
use PhpLlm\LlmChain\ToolBox\Attribute\AsTool;
1111

1212
#[AsTool('similarity_search', description: 'Searches for documents similar to a query or sentence.')]
1313
final class SimilaritySearch

src/ToolBox/Tool/Wikipedia.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace PhpLlm\LlmChain\ToolBox\Tool;
66

7-
use PhpLlm\LlmChain\ToolBox\AsTool;
7+
use PhpLlm\LlmChain\ToolBox\Attribute\AsTool;
88
use Symfony\Contracts\HttpClient\HttpClientInterface;
99

1010
#[AsTool('wikipedia_search', description: 'Searches Wikipedia for a given query', method: 'search')]

src/ToolBox/Tool/YouTubeTranscriber.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace PhpLlm\LlmChain\ToolBox\Tool;
66

7-
use PhpLlm\LlmChain\ToolBox\AsTool;
7+
use PhpLlm\LlmChain\ToolBox\Attribute\AsTool;
88
use Symfony\Component\CssSelector\CssSelectorConverter;
99
use Symfony\Component\DomCrawler\Crawler;
1010
use Symfony\Contracts\HttpClient\HttpClientInterface;

src/ToolBox/ToolAnalyzer.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace PhpLlm\LlmChain\ToolBox;
66

77
use PhpLlm\LlmChain\Exception\InvalidToolImplementation;
8+
use PhpLlm\LlmChain\ToolBox\Attribute\AsTool;
89

910
final readonly class ToolAnalyzer
1011
{

tests/ToolBox/ParameterAnalyzerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
use PhpLlm\LlmChain\Tests\ToolBox\Tool\ToolOptionalParam;
99
use PhpLlm\LlmChain\Tests\ToolBox\Tool\ToolRequiredParams;
1010
use PhpLlm\LlmChain\Tests\ToolBox\Tool\ToolWithToolParameterAttribute;
11-
use PhpLlm\LlmChain\ToolBox\AsTool;
11+
use PhpLlm\LlmChain\ToolBox\Attribute\AsTool;
1212
use PhpLlm\LlmChain\ToolBox\Metadata;
1313
use PhpLlm\LlmChain\ToolBox\ParameterAnalyzer;
1414
use PHPUnit\Framework\Attributes\CoversClass;

0 commit comments

Comments
 (0)