- src/agent/state.py: minimal five-field AgentState - src/agent/graph.py: START -> normalize_input -> reply -> END, compiled with InMemorySaver; reply emits <state>1002</state> prefix - examples/langgraph_smoke.py: offline smoke, turns 1/2/1 verified - test/agent/test_scaffold.py: turn accumulation, thread isolation, fixed-template assertions (3 passed) - requirements.txt: pin langgraph==1.2.9 Known limit: InMemorySaver state disappears on process exit.
25 lines
441 B
Plaintext
25 lines
441 B
Plaintext
fastapi>=0.104.0
|
|
uvicorn[standard]>=0.24.0
|
|
pipecat-ai[websocket,openai,silero]
|
|
websockets>=13.1,<16.0
|
|
pydantic>=2.4.2
|
|
python-dotenv>=1.0.0
|
|
httpx>=0.25.0
|
|
pytest>=7.4.0
|
|
pytest-asyncio>=0.21.0
|
|
pytest-cov>=4.1.0
|
|
pillow>=10.4.0
|
|
paho-mqtt>=2.1.0
|
|
pydantic-settings==2.1.0
|
|
python-multipart==0.0.6
|
|
python-jose[cryptography]==3.3.0
|
|
passlib[bcrypt]==1.7.4
|
|
openai>=1.74.0,<3
|
|
loguru>=0.7.0
|
|
pandas
|
|
requests
|
|
sqlalchemy
|
|
pymysql
|
|
PyYAML>=6.0
|
|
langgraph==1.2.9
|