Files
copilotkit__copilotkit/showcase/starters/google-adk/agent_server.py
Jordan Ritter 59c073c610 fix: add agent_server.py to all Python starters, matching demo packages
Python starters were trying to run uvicorn with agent.<module>:app but
those modules don't export a FastAPI app. The demo packages use
agent_server.py as the FastAPI wrapper, so starters need it too.

Changes:
- Copy agent_server.py from each demo package into starter root,
  rewriting "from agents." to "from agent." for the starter layout
- Update all non-langgraph Python devScripts to use agent_server:app
- Update Dockerfile.python to COPY agent_server.py for non-langgraph
- Update getEntrypointBlock() generic Python to use agent_server:app
- Make langgraph-fastapi use langgraph_cli dev like langgraph-python
  (it was incorrectly configured as a uvicorn-based starter)
- Regenerate all starters
2026-04-14 15:41:34 -07:00

55 lines
1.1 KiB
Python
Generated

"""
Agent Server for Google ADK
FastAPI server that hosts the ADK agent backend.
The Next.js CopilotKit runtime proxies requests here via AG-UI protocol.
"""
import os
import uvicorn
from ag_ui_adk import ADKAgent, add_adk_fastapi_endpoint
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from dotenv import load_dotenv
from agent.main import sales_pipeline_agent
load_dotenv()
app = FastAPI(title="Google ADK Agent Server")
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["*"],
allow_headers=["*"],
)
adk_agent = ADKAgent(
adk_agent=sales_pipeline_agent,
user_id="demo_user",
session_timeout_seconds=3600,
use_in_memory_services=True,
)
add_adk_fastapi_endpoint(app, adk_agent, path="/")
@app.get("/health")
async def health():
return {"status": "ok"}
def main():
"""Run the uvicorn server."""
port = int(os.getenv("PORT", "8000"))
uvicorn.run(
"agent_server:app",
host="0.0.0.0",
port=port,
reload=True,
)
if __name__ == "__main__":
main()