# Arch Gateway configuration version version: v0.3.0 # External HTTP agents - API type is controlled by request path (/v1/responses, /v1/messages, /v1/chat/completions) agents: - id: weather_agent url: http://host.docker.internal:10510 - id: flight_agent url: http://host.docker.internal:10520 # MCP filters applied to requests/responses (e.g., input validation, query rewriting) filters: - id: input_guards url: http://host.docker.internal:10500 # type: mcp (default) # transport: streamable-http (default) # tool: input_guards (default - same as filter id) # LLM provider configurations with API keys and model routing model_providers: - model: openai/gpt-4o access_key: $OPENAI_API_KEY default: true - model: openai/gpt-4o-mini access_key: $OPENAI_API_KEY - model: anthropic/claude-sonnet-4-0 access_key: $ANTHROPIC_API_KEY - model: mistral/ministral-3b-latest access_key: $MISTRAL_API_KEY # Model aliases - use friendly names instead of full provider model names model_aliases: fast-llm: target: gpt-4o-mini smart-llm: target: gpt-4o # HTTP listeners - entry points for agent routing and direct LLM access listeners: # Agent listener for routing requests to multiple agents - type: agent name: travel_booking_service port: 8001 router: plano_orchestrator_v1 address: 0.0.0.0 agents: - id: rag_agent description: virtual assistant for retrieval augmented generation tasks filter_chain: - input_guards # Model listener for direct LLM access - type: model name: model_1 address: 0.0.0.0 port: 12000 # Reusable service endpoints endpoints: app_server: endpoint: 127.0.0.1:80 connect_timeout: 0.005s mistral_local: endpoint: 127.0.0.1:8001 # OpenTelemetry tracing configuration tracing: # Random sampling percentage (1-100) random_sampling: 100