Skip to content

Conversation

@OskarStark
Copy link
Contributor

@OskarStark OskarStark commented Dec 9, 2025

Q A
Bug fix? no
New feature? yes
Docs? no
Issues --
License MIT

Summary

Split all 26 platform bridges into dedicated, independently installable Composer packages following the same structure used for store bridges.

Each bridge now has its own:

  • composer.json with proper dependencies
  • README.md, CHANGELOG.md, LICENSE
  • phpunit.xml.dist for isolated testing
  • .github/ templates

Tests moved from tests/Bridge/{Name}/ to src/Bridge/{Name}/Tests/ with updated namespaces.

New Platform Packages

Package Description
symfony/ai-ai-ml-api-platform AI/ML API platform bridge
symfony/ai-albert-platform Albert platform bridge
symfony/ai-anthropic-platform Anthropic (Claude) platform bridge
symfony/ai-azure-platform Azure OpenAI platform bridge
symfony/ai-bedrock-platform AWS Bedrock platform bridge
symfony/ai-cartesia-platform Cartesia platform bridge
symfony/ai-cerebras-platform Cerebras platform bridge
symfony/ai-decart-platform Derart platform bridge
symfony/ai-deep-seek-platform DeepSeek platform bridge
symfony/ai-docker-model-runner-platform Docker Model Runner platform bridge
symfony/ai-eleven-labs-platform ElevenLabs platform bridge
symfony/ai-gemini-platform Google Gemini platform bridge
symfony/ai-generic-platform Generic OpenAI-compatible platform bridge
symfony/ai-hugging-face-platform HuggingFace platform bridge
symfony/ai-lm-studio-platform LM Studio platform bridge
symfony/ai-meta-platform Meta (Llama) platform bridge
symfony/ai-mistral-platform Mistral platform bridge
symfony/ai-ollama-platform Ollama platform bridge
symfony/ai-open-ai-platform OpenAI platform bridge
symfony/ai-open-router-platform OpenRouter platform bridge
symfony/ai-perplexity-platform Perplexity platform bridge
symfony/ai-replicate-platform Replicate platform bridge
symfony/ai-scaleway-platform Scaleway platform bridge
symfony/ai-transformers-php-platform TransformersPHP platform bridge
symfony/ai-vertex-ai-platform Google Vertex AI platform bridge
symfony/ai-voyage-platform Voyage platform bridge

Additional Changes

  • Added platform bridge validation to CI workflow
  • Added willBeAvailable checks in AiBundle for clearer error messages
  • Added deptrac layers and rules for platform bridges
  • Added symfony/ai-agent dependency for bridges with TokenOutputProcessor

@OskarStark OskarStark force-pushed the OskarStark/split-platform-bridges branch from 678f13c to d20b1cb Compare December 9, 2025 20:56
@OskarStark OskarStark added the Platform Issues & PRs about the AI Platform component label Dec 9, 2025
OskarStark added a commit to OskarStark/ai that referenced this pull request Dec 9, 2025
OskarStark added a commit to OskarStark/ai that referenced this pull request Dec 9, 2025
OskarStark added a commit that referenced this pull request Dec 9, 2025
…^1.0 (OskarStark)

This PR was merged into the main branch.

Discussion
----------

[Platform][Bedrock] Allow async-aws/bedrock-runtime to ^1.0

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| Docs?         | no
| Issues        | --
| License       | MIT

Commits
-------

3b54b42 minor #1093 [Platform][Bedrock] Allow async-aws/bedrock-runtime ^0.1|^1.0
@OskarStark OskarStark force-pushed the OskarStark/split-platform-bridges branch 4 times, most recently from c770d69 to 09f473a Compare December 9, 2025 21:54
@OskarStark OskarStark force-pushed the OskarStark/split-platform-bridges branch from 7687414 to b049476 Compare December 9, 2025 22:34
@OskarStark OskarStark marked this pull request as ready for review December 10, 2025 06:29
@OskarStark OskarStark force-pushed the OskarStark/split-platform-bridges branch from c259c9f to cdf78f6 Compare December 10, 2025 08:38
@lochmueller
Copy link
Contributor

Hey @OskarStark
I checked the PR for OpenRouter and saw, that "symfony/ai-generic-platform": "@dev" is missing in the composer.json, right? Also checked LMStudio and I think the dependency is missing in all packages that use the new Generic completions integration. Or have I overlooked something?
Regards,
Tim

Split all 25 platform bridges into dedicated, independently installable
Composer packages following the same structure used for store bridges.

Each bridge now has its own:
- composer.json with proper dependencies
- README.md, CHANGELOG.md, LICENSE
- phpunit.xml.dist for isolated testing
- .github/ templates

Tests moved from tests/Bridge/{Name}/ to src/Bridge/{Name}/Tests/ with
updated namespaces.

Added platform bridge validation to CI workflow.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
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)
Add package availability checks for all platform bridges to provide
clearer error messages when platform packages are not installed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
…cessors

Bridges with TokenOutputProcessor or SearchResultProcessor need
symfony/ai-agent as a dependency.

Affected bridges:
- Anthropic
- DeepSeek
- Gemini
- Mistral
- OpenAi
- Perplexity
- VertexAi

🤖 Generated with [Claude Code](https://claude.com/claude-code)
The phpstan.dist.neon now ignores missingType.iterableValue for
src/Bridge/**/Tests/* paths, making these annotations unnecessary.

🤖 Generated with [Claude Code](https://claude.ai/code)
…izerTest

Move binaryContentProvider methods before their associated test methods
and add @return PHPDoc annotations.
Allow codewithkyrian/platform-package-installer and
codewithkyrian/transformers-libsloader plugins.
Update path to use src/platform/tests/Fixtures/ instead of src/fixtures/.
Move tests from src/platform/tests/Bridge/LmStudio/ to
src/platform/src/Bridge/LmStudio/Tests/ to follow the same
pattern as other bridge packages.
@OskarStark OskarStark marked this pull request as draft December 10, 2025 14:41
- Create composer.json for Decart platform bridge
- Add Decart to examples/composer.json repositories and require
- Add Decart to platform README
- Move php-http/discovery allow-plugins from ai-bundle to Decart bridge
@OskarStark OskarStark force-pushed the OskarStark/split-platform-bridges branch from 0358999 to d1432b9 Compare December 10, 2025 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature New feature Platform Issues & PRs about the AI Platform component Status: Needs Review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants