Agent2Agent Suite
Product Catalog Agent
Provides product information and availability. A2A-enabled with auth.
Inventory Agent
Manages stock and availability. A2A-enabled with auth middleware.
Shipping Agent
Handles shipping quotes and logistics. A2A-enabled with auth middleware.
Payment Agent
Stripe payments with retries and error handling. A2A-enabled with auth.
Customer Support Agent
Orchestrates sub-agents (catalog, inventory, shipping, payment) via A2A proxies.
Agent2Agent Files (Per-File Descriptions)
ProductCatalogAgent.py
Serves product details via get_product_info (name, price, availability). Runs on port 8002.
ProductCatalogAgentServer.py
ASGI/FastAPI server exposing the Product Catalog agent API and agent card. Applies A2A auth middleware.
InventoryAgent.py
Checks stock availability and quantities. Intended to run on port 8003 with A2A auth.
ShippingAgent.py
Computes shipping quotes and logistics options. Intended to run on port 8004 with A2A auth.
PaymentAgent.py
Handles Stripe payments with resilient retries (STRIPE_MAX_NETWORK_RETRIES). Reads STRIPE_API_KEY. Intended for port 8005.
CustomerSupportAgent.py
Orchestrates sub-agents via authenticated A2A proxies. Reads PRODUCT_CATALOG_AGENT_CARD_URL, A2A_API_KEY, A2A_BEARER_TOKEN.
RemoteA2aAgent.py
Reusable authenticated HTTP client for A2A. Loads agent cards, adds auth headers, and performs resilient calls to remote skills.
a2a_auth.py
Middleware enforcing API Key/Bearer auth on agent endpoints, while allowing public access to /.well-known/agent-card.json.
FetchAgentCard.py
Utility to fetch and validate remote agent card JSON by URL. Useful for bootstrapping A2A clients.
Other Agents & Projects
Utilities & Workflows
Discovery
Agent Card (Prod): / .well-known / agent-card.json
Agent Card (Local Dev): Product Catalog, Inventory, Shipping, Payment