plano/arch
Adil Hafeez 2f9121407b
Use mcp tools for filter chain (#621)
* agents framework demo

* more changes

* add more changes

* pending changes

* fix tests

* fix more

* rebase with main and better handle error from mcp

* add trace for filters

* add test for client error, server error and for mcp error

* update schema validate code and rename kind => type in agent_filter

* fix agent description and pre-commit

* fix tests

* add provider specific request parsing in agents chat

* fix precommit and tests

* cleanup demo

* update readme

* fix pre-commit

* refactor tracing

* fix fmt

* fix: handle MessageContent enum in responses API conversion

- Update request.rs to handle new MessageContent enum structure from main
- MessageContent can now be Text(String) or Items(Vec<InputContent>)
- Handle new InputItem variants (ItemReference, FunctionCallOutput)
- Fixes compilation error after merging latest main (#632)

* address pr feedback

* fix span

* fix build

* update openai version
2025-12-17 17:30:14 -08:00
..
tools Use mcp tools for filter chain (#621) 2025-12-17 17:30:14 -08:00
arch_config_schema.yaml Use mcp tools for filter chain (#621) 2025-12-17 17:30:14 -08:00
docker-compose.dev.yaml removing model_server. buh bye (#619) 2025-11-22 15:04:41 -08:00
Dockerfile add support for agents (#564) 2025-10-14 14:01:11 -07:00
env.list Use large github action machine to run e2e tests (#230) 2024-10-30 17:54:51 -07:00
envoy.template.yaml Use mcp tools for filter chain (#621) 2025-12-17 17:30:14 -08:00
README.md update rust toolchain to 1.82 (#255) 2024-11-12 10:35:14 -08:00
requirements.txt simplify developer getting started experience (#102) 2024-10-01 10:02:23 -07:00
supervisord.conf enable state management for v1/responses (#631) 2025-12-17 12:18:38 -08:00
validate_arch_config.sh add support for agents (#564) 2025-10-14 14:01:11 -07:00

Envoy filter code for gateway

Add toolchain

$ rustup target add wasm32-wasip1

Building

$ cargo build --target wasm32-wasip1 --release

Testing

$ cargo test

Local development

  • Build docker image for arch gateway. Note this needs to be built once.

    $ sh build_filter_image.sh
    
  • Build filter binary,

    $ cargo build --target wasm32-wasip1 --release
    
  • Start envoy with arch_config.yaml and test,

    $ docker compose -f docker-compose.dev.yaml up archgw
    
  • dev version of docker-compose file uses following files that are mounted inside the container. That means no docker rebuild is needed if any of these files change. Just restart the container and chagne will be picked up,

    • envoy.template.yaml
    • intelligent_prompt_gateway.wasm