This PR was squashed before being merged into the main branch.
Discussion
----------
[Mate] Consolidate .mate/ and mate/ directories into single mate/ directory
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| Docs? | no
| Issues | none
| License | MIT
Merged the separate .mate/ (configuration) and mate/ (user code) directories into a unified mate/ structure with the following layout:
mate/
├── config.php # User service configuration
├── .env # Environment variables
├── .gitignore # Git ignore (.env.local only)
├── bridges.php # Bridge configuration
└── Capabilities/ # User-defined MCP tools/resources
└── .gitkeep
Commits
-------
a14abfce [Mate] Consolidate .mate/ and mate/ directories into single mate/ directory
The @Symfony ruleset doesn't enforce method ordering by default.
Added explicit configuration to ensure public methods come before
private methods, along with proper ordering for all class elements.
* demo-repo/restructure: (31 commits)
refactor: restructure into demo folder
chore: update to llm-chain 0.22 (#27)
refactor: more error handling in vidoe example
chore: symfony 7.3 update
fix: pin chroma db version and clean up (#26)
feat: add demo of GPT vision capabilities based on video stream (#22)
chore: dependecy update (#23)
feat: extend wikipedia system prompt by tools (#21)
chore: update to lib v0.19 (#20)
refactor: optimize audio chat ui (#19)
feat: audio example (#18)
chore: updating dependencies (#17)
chore: composer update incl twig cve patch (#16)
chore: llm chain update with system_prompt support (#15)
chore: install bundle 0.12 (#14)
chore: update to llm-chain 0.11.0 (#13)
chore: library update (#12)
refactor: follow up on example structure to have them cleaner and more separated (#11)
fix: typed animation only on xhr responses (#10)
refactor: moving classes to a more component like structure (#9)
...
- [x] Introducing global model class to be more agnostic with explicit
`Capability` class
- [x] Introducing Contract with Normalizers to solve Base Contract
(OpenAI) vs. Model/Platform specific differences
- [x] Reshape into three major components `Chain`, `Platform` and
`Store`
- [x] Adoption of Symfony-style for CS Fixer and `Interface` &
`Exception` suffix
Replaces #301 and #305
# Breaking Changes
* Sorting into three main sub compontents `Platform`, `Chain` and
`Store`
* High level implementation also went into those components, see
`ChainInterface` as example
* `Model` namespace went into `Platform`
* Bridges got sorted into `Platform` or `Store`
* Tool metadata moved from `Chain` to `Platform\Contract`
* Implementation of `JsonSerializable` was dropped in favor of Symfony's
serializer/normalizer
* Removal of `LanguageModel` and `EmbeddingsModel` interface in favor of
base `Model` and `Capabilities`
* Renaming of `StructuredResponse` to `ObjectResponse`
* Slimming down the `supports()` method of `ModelClient` and
`ResponseConverter`
* Changing signature of `ModelClient` to already accepting the
normalized request payload
* Renaming interfaces to always contain the `Interface` suffix
* Renaming exceptions to always contain the `Exception` suffix