Run the RiffDesk API first:
uv run riffdesk/main.pyRun the terminal agent:
uv run python -m deeplyagentic.mainRun the local LangGraph Agent Server and open the LangSmith Studio URL it prints:
uv run langgraph devThis is the command used to run this project with LangSmith Studio. It starts a local development server with hot reload; it does not create a hosted LangSmith deployment.
To create a hosted deployment instead, authenticate and run:
uv run langgraph deployHosted deployment may require selecting a LangSmith workspace and deployment configuration interactively.
In Studio, start the run in Chat mode by entering a message. In Graph mode,
use an input with a non-empty messages array:
{
"messages": [
{
"role": "user",
"content": "What did I buy recently?"
}
]
}The agent uses ANTHROPIC_API_KEY for Claude. Optional configuration:
export RIFFDESK_API_URL=http://127.0.0.1:8000
export RIFFDESK_API_KEY=demo-secret-key
export LANGSMITH_API_KEY=your-langsmith-key
export LANGSMITH_TRACING=true
export LANGSMITH_PROJECT=openchainThe repository includes an interrupt-aware offline evaluation suite with an isolated backend, deterministic safety evaluators, and an optional LLM judge. It covers identity ordering, customer-ID propagation, invoice ownership, refund approval, tool trajectory, and refund side effects.
uv run python -m evals.sync_dataset
uv run python -m evals.run_experiment
# Optional conversational-quality judge:
uv run python -m evals.run_experiment --with-judgeSee evals/README.md for the dataset schema, metrics, and recommended production evaluation policies.
When Studio pauses for identity verification, resume with:
{
"customer_id": 1,
"email": "luisg@embraer.com.br"
}When Studio pauses for refund approval, replace the resume editor's default value with one of these payloads.
Approve:
{
"decisions": [
{"type": "approve"}
]
}Reject:
{
"decisions": [
{"type": "reject"}
]
}customer id: 1 email: luisg@embraer.com.br