Skip to content

Commit d61bbc3

Browse files
committed
minor #1022 [Deptrac] Add separate layers for Agent bridge tools (OskarStark)
This PR was merged into the main branch. Discussion ---------- [Deptrac] Add separate layers for Agent bridge tools | Q | A | ------------- | --- | Bug fix? | no | New feature? | no | Docs? | no | Issues | -- | License | MIT This ensures Agent bridge tools can only depend on the Agent component and not on each other, preventing cross-bridge dependencies. - Renamed layers to *Component convention - Added individual layers for each Agent bridge tool - SimilaritySearchTool can access StoreComponent and PlatformComponent - Other tools can only access AgentComponent Commits ------- 389697e [Deptrac] Add separate layers for Agent bridge tools
2 parents 87e69ef + 389697e commit d61bbc3

File tree

1 file changed

+85
-15
lines changed

1 file changed

+85
-15
lines changed

deptrac.yaml

Lines changed: 85 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,105 @@ deptrac:
22
paths:
33
- ./src
44
exclude_files:
5-
- '#.*test.*#'
5+
- '#.*test.*#i'
66
- '#.*vendor.*#'
77
layers:
8-
- name: Agent
8+
- name: AgentComponent
99
collectors:
1010
- type: classLike
11-
value: Symfony\\AI\\Agent.*
12-
- name: Chat
11+
value: ^Symfony\\AI\\Agent\\(?!Bridge\\).*
12+
- name: BraveTool
13+
collectors:
14+
- type: classLike
15+
value: Symfony\\AI\\Agent\\Bridge\\Brave\\.*
16+
- name: ClockTool
17+
collectors:
18+
- type: classLike
19+
value: Symfony\\AI\\Agent\\Bridge\\Clock\\.*
20+
- name: FirecrawlTool
21+
collectors:
22+
- type: classLike
23+
value: Symfony\\AI\\Agent\\Bridge\\Firecrawl\\.*
24+
- name: MapboxTool
25+
collectors:
26+
- type: classLike
27+
value: Symfony\\AI\\Agent\\Bridge\\Mapbox\\.*
28+
- name: OpenMeteoTool
29+
collectors:
30+
- type: classLike
31+
value: Symfony\\AI\\Agent\\Bridge\\OpenMeteo\\.*
32+
- name: ScraperTool
33+
collectors:
34+
- type: classLike
35+
value: Symfony\\AI\\Agent\\Bridge\\Scraper\\.*
36+
- name: SerpApiTool
37+
collectors:
38+
- type: classLike
39+
value: Symfony\\AI\\Agent\\Bridge\\SerpApi\\.*
40+
- name: SimilaritySearchTool
41+
collectors:
42+
- type: classLike
43+
value: Symfony\\AI\\Agent\\Bridge\\SimilaritySearch\\.*
44+
- name: TavilyTool
45+
collectors:
46+
- type: classLike
47+
value: Symfony\\AI\\Agent\\Bridge\\Tavily\\.*
48+
- name: WikipediaTool
49+
collectors:
50+
- type: classLike
51+
value: Symfony\\AI\\Agent\\Bridge\\Wikipedia\\.*
52+
- name: YoutubeTool
53+
collectors:
54+
- type: classLike
55+
value: Symfony\\AI\\Agent\\Bridge\\Youtube\\.*
56+
- name: ChatComponent
1357
collectors:
1458
- type: classLike
1559
value: Symfony\\AI\\Chat.*
16-
- name: Platform
60+
- name: PlatformComponent
1761
collectors:
1862
- type: classLike
1963
value: Symfony\\AI\\Platform.*
20-
- name: Store
64+
- name: StoreComponent
2165
collectors:
2266
- type: classLike
2367
value: Symfony\\AI\\Store.*
2468
ruleset:
25-
Agent:
26-
- Platform
27-
- Store
28-
Chat:
29-
- Agent
30-
- Platform
31-
Platform: ~
32-
Store:
33-
- Platform
69+
AgentComponent:
70+
- PlatformComponent
71+
- StoreComponent
72+
BraveTool:
73+
- AgentComponent
74+
- PlatformComponent
75+
ClockTool:
76+
- AgentComponent
77+
FirecrawlTool:
78+
- AgentComponent
79+
MapboxTool:
80+
- AgentComponent
81+
- PlatformComponent
82+
OpenMeteoTool:
83+
- AgentComponent
84+
- PlatformComponent
85+
ScraperTool:
86+
- AgentComponent
87+
SerpApiTool:
88+
- AgentComponent
89+
SimilaritySearchTool:
90+
- AgentComponent
91+
- StoreComponent
92+
TavilyTool:
93+
- AgentComponent
94+
WikipediaTool:
95+
- AgentComponent
96+
YoutubeTool:
97+
- AgentComponent
98+
ChatComponent:
99+
- AgentComponent
100+
- PlatformComponent
101+
PlatformComponent: ~
102+
StoreComponent:
103+
- PlatformComponent
34104
# Baseline of known violations to be skipped for now
35105
skip_violations:
36106
Symfony\AI\Platform\Bridge\Anthropic\TokenOutputProcessor: [Symfony\AI\Agent\OutputProcessorInterface, Symfony\AI\Agent\Output]

0 commit comments

Comments
 (0)