Skip to content

Commit e420b1d

Browse files
committed
[Deptrac] Add platform bridge layers and rules
Split PlatformComponent into individual layers for each platform bridge, following the same pattern used for Store and Agent bridges. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
1 parent 963b09f commit e420b1d

File tree

2 files changed

+162
-24
lines changed

2 files changed

+162
-24
lines changed

deptrac.yaml

Lines changed: 162 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,107 @@ deptrac:
9696
- name: PlatformComponent
9797
collectors:
9898
- type: classLike
99-
value: Symfony\\AI\\Platform.*
99+
value: ^Symfony\\AI\\Platform\\(?!Bridge\\).*
100+
- name: AiMlApiPlatform
101+
collectors:
102+
- type: classLike
103+
value: Symfony\\AI\\Platform\\Bridge\\AiMlApi\\.*
104+
- name: AlbertPlatform
105+
collectors:
106+
- type: classLike
107+
value: Symfony\\AI\\Platform\\Bridge\\Albert\\.*
108+
- name: AnthropicPlatform
109+
collectors:
110+
- type: classLike
111+
value: Symfony\\AI\\Platform\\Bridge\\Anthropic\\.*
112+
- name: AzurePlatform
113+
collectors:
114+
- type: classLike
115+
value: Symfony\\AI\\Platform\\Bridge\\Azure\\.*
116+
- name: BedrockPlatform
117+
collectors:
118+
- type: classLike
119+
value: Symfony\\AI\\Platform\\Bridge\\Bedrock\\.*
120+
- name: CartesiaPlatform
121+
collectors:
122+
- type: classLike
123+
value: Symfony\\AI\\Platform\\Bridge\\Cartesia\\.*
124+
- name: CerebrasPlatform
125+
collectors:
126+
- type: classLike
127+
value: Symfony\\AI\\Platform\\Bridge\\Cerebras\\.*
128+
- name: DeepSeekPlatform
129+
collectors:
130+
- type: classLike
131+
value: Symfony\\AI\\Platform\\Bridge\\DeepSeek\\.*
132+
- name: DockerModelRunnerPlatform
133+
collectors:
134+
- type: classLike
135+
value: Symfony\\AI\\Platform\\Bridge\\DockerModelRunner\\.*
136+
- name: ElevenLabsPlatform
137+
collectors:
138+
- type: classLike
139+
value: Symfony\\AI\\Platform\\Bridge\\ElevenLabs\\.*
140+
- name: GeminiPlatform
141+
collectors:
142+
- type: classLike
143+
value: Symfony\\AI\\Platform\\Bridge\\Gemini\\.*
144+
- name: GenericPlatform
145+
collectors:
146+
- type: classLike
147+
value: Symfony\\AI\\Platform\\Bridge\\Generic\\.*
148+
- name: HuggingFacePlatform
149+
collectors:
150+
- type: classLike
151+
value: Symfony\\AI\\Platform\\Bridge\\HuggingFace\\.*
152+
- name: LmStudioPlatform
153+
collectors:
154+
- type: classLike
155+
value: Symfony\\AI\\Platform\\Bridge\\LmStudio\\.*
156+
- name: MetaPlatform
157+
collectors:
158+
- type: classLike
159+
value: Symfony\\AI\\Platform\\Bridge\\Meta\\.*
160+
- name: MistralPlatform
161+
collectors:
162+
- type: classLike
163+
value: Symfony\\AI\\Platform\\Bridge\\Mistral\\.*
164+
- name: OllamaPlatform
165+
collectors:
166+
- type: classLike
167+
value: Symfony\\AI\\Platform\\Bridge\\Ollama\\.*
168+
- name: OpenAiPlatform
169+
collectors:
170+
- type: classLike
171+
value: Symfony\\AI\\Platform\\Bridge\\OpenAi\\.*
172+
- name: OpenRouterPlatform
173+
collectors:
174+
- type: classLike
175+
value: Symfony\\AI\\Platform\\Bridge\\OpenRouter\\.*
176+
- name: PerplexityPlatform
177+
collectors:
178+
- type: classLike
179+
value: Symfony\\AI\\Platform\\Bridge\\Perplexity\\.*
180+
- name: ReplicatePlatform
181+
collectors:
182+
- type: classLike
183+
value: Symfony\\AI\\Platform\\Bridge\\Replicate\\.*
184+
- name: ScalewayPlatform
185+
collectors:
186+
- type: classLike
187+
value: Symfony\\AI\\Platform\\Bridge\\Scaleway\\.*
188+
- name: TransformersPhpPlatform
189+
collectors:
190+
- type: classLike
191+
value: Symfony\\AI\\Platform\\Bridge\\TransformersPhp\\.*
192+
- name: VertexAiPlatform
193+
collectors:
194+
- type: classLike
195+
value: Symfony\\AI\\Platform\\Bridge\\VertexAi\\.*
196+
- name: VoyagePlatform
197+
collectors:
198+
- type: classLike
199+
value: Symfony\\AI\\Platform\\Bridge\\Voyage\\.*
100200
- name: StoreComponent
101201
collectors:
102202
- type: classLike
@@ -242,6 +342,67 @@ deptrac:
242342
- ChatComponent
243343
- PlatformComponent
244344
PlatformComponent: ~
345+
AiMlApiPlatform:
346+
- PlatformComponent
347+
- GenericPlatform
348+
AlbertPlatform:
349+
- PlatformComponent
350+
- GenericPlatform
351+
AnthropicPlatform:
352+
- PlatformComponent
353+
AzurePlatform:
354+
- PlatformComponent
355+
- OpenAiPlatform
356+
- GenericPlatform
357+
- MetaPlatform
358+
BedrockPlatform:
359+
- PlatformComponent
360+
- MetaPlatform
361+
- AnthropicPlatform
362+
CartesiaPlatform:
363+
- PlatformComponent
364+
CerebrasPlatform:
365+
- PlatformComponent
366+
DeepSeekPlatform:
367+
- PlatformComponent
368+
DockerModelRunnerPlatform:
369+
- PlatformComponent
370+
ElevenLabsPlatform:
371+
- PlatformComponent
372+
GeminiPlatform:
373+
- PlatformComponent
374+
GenericPlatform:
375+
- PlatformComponent
376+
HuggingFacePlatform:
377+
- PlatformComponent
378+
LmStudioPlatform:
379+
- PlatformComponent
380+
- GenericPlatform
381+
MetaPlatform:
382+
- PlatformComponent
383+
MistralPlatform:
384+
- PlatformComponent
385+
OllamaPlatform:
386+
- PlatformComponent
387+
OpenAiPlatform:
388+
- PlatformComponent
389+
OpenRouterPlatform:
390+
- PlatformComponent
391+
- GenericPlatform
392+
PerplexityPlatform:
393+
- PlatformComponent
394+
ReplicatePlatform:
395+
- PlatformComponent
396+
- MetaPlatform
397+
ScalewayPlatform:
398+
- PlatformComponent
399+
TransformersPhpPlatform:
400+
- PlatformComponent
401+
VertexAiPlatform:
402+
- PlatformComponent
403+
- GeminiPlatform
404+
VoyagePlatform:
405+
- PlatformComponent
245406
StoreComponent:
246407
- PlatformComponent
247408
AzureSearchStore:

src/platform/composer.json

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -87,29 +87,6 @@
8787
"psr-4": {
8888
"Symfony\\AI\\Fixtures\\": "../../fixtures",
8989
"Symfony\\AI\\PHPStan\\": "../../.phpstan/",
90-
"Symfony\\AI\\Platform\\Bridge\\AiMlApi\\Tests\\": "src/Bridge/AiMlApi/Tests/",
91-
"Symfony\\AI\\Platform\\Bridge\\Albert\\Tests\\": "src/Bridge/Albert/Tests/",
92-
"Symfony\\AI\\Platform\\Bridge\\Anthropic\\Tests\\": "src/Bridge/Anthropic/Tests/",
93-
"Symfony\\AI\\Platform\\Bridge\\Azure\\Tests\\": "src/Bridge/Azure/Tests/",
94-
"Symfony\\AI\\Platform\\Bridge\\Bedrock\\Tests\\": "src/Bridge/Bedrock/Tests/",
95-
"Symfony\\AI\\Platform\\Bridge\\Cartesia\\Tests\\": "src/Bridge/Cartesia/Tests/",
96-
"Symfony\\AI\\Platform\\Bridge\\Cerebras\\Tests\\": "src/Bridge/Cerebras/Tests/",
97-
"Symfony\\AI\\Platform\\Bridge\\DeepSeek\\Tests\\": "src/Bridge/DeepSeek/Tests/",
98-
"Symfony\\AI\\Platform\\Bridge\\DockerModelRunner\\Tests\\": "src/Bridge/DockerModelRunner/Tests/",
99-
"Symfony\\AI\\Platform\\Bridge\\ElevenLabs\\Tests\\": "src/Bridge/ElevenLabs/Tests/",
100-
"Symfony\\AI\\Platform\\Bridge\\Gemini\\Tests\\": "src/Bridge/Gemini/Tests/",
101-
"Symfony\\AI\\Platform\\Bridge\\Generic\\Tests\\": "src/Bridge/Generic/Tests/",
102-
"Symfony\\AI\\Platform\\Bridge\\HuggingFace\\Tests\\": "src/Bridge/HuggingFace/Tests/",
103-
"Symfony\\AI\\Platform\\Bridge\\Meta\\Tests\\": "src/Bridge/Meta/Tests/",
104-
"Symfony\\AI\\Platform\\Bridge\\Mistral\\Tests\\": "src/Bridge/Mistral/Tests/",
105-
"Symfony\\AI\\Platform\\Bridge\\Ollama\\Tests\\": "src/Bridge/Ollama/Tests/",
106-
"Symfony\\AI\\Platform\\Bridge\\OpenAi\\Tests\\": "src/Bridge/OpenAi/Tests/",
107-
"Symfony\\AI\\Platform\\Bridge\\Perplexity\\Tests\\": "src/Bridge/Perplexity/Tests/",
108-
"Symfony\\AI\\Platform\\Bridge\\Replicate\\Tests\\": "src/Bridge/Replicate/Tests/",
109-
"Symfony\\AI\\Platform\\Bridge\\Scaleway\\Tests\\": "src/Bridge/Scaleway/Tests/",
110-
"Symfony\\AI\\Platform\\Bridge\\TransformersPhp\\Tests\\": "src/Bridge/TransformersPhp/Tests/",
111-
"Symfony\\AI\\Platform\\Bridge\\VertexAi\\Tests\\": "src/Bridge/VertexAi/Tests/",
112-
"Symfony\\AI\\Platform\\Bridge\\Voyage\\Tests\\": "src/Bridge/Voyage/Tests/",
11390
"Symfony\\AI\\Platform\\Tests\\": "tests/"
11491
}
11592
},

0 commit comments

Comments
 (0)