v0.3.0
v0.3.0 — Durable everything
Every conversation turn now runs inside a durable Vercel Workflow run, and the
agent loop itself is AI SDK 7's WorkflowAgent — every LLM call and every tool
call is an individually durable, auto-retried step. GitHub files remain the only
store; Workflow is the execution container, never the database.
Highlights
🔁 Durable chat turns (Vercel Workflow)
POST /api/chatstarts a durable Workflow run and streamsrun.readable
back; the turn keeps executing even if the connection drops- Same-browser resume: refresh mid-response and the turn replays, then keeps
streaming (run id persisted locally). Cross-device resume is deliberately out
of scope — it would require a database this architecture refuses to have
🧠 One agent brain (AI SDK 7 WorkflowAgent)
- The streamText-in-one-step loop is gone: chat turns and background loops now
share a single agent layer (src/app/api/agent/) - Each LLM call and each tool call is its own durable workflow step, visible
and retryable in the Workflow dashboard - Tool context crosses step boundaries via serializable
toolsContext— no
closures
🌐 Live web search
- New
webSearchtool backed by DeepSeek V4 Flash's native server-side search,
reached through DeepSeek's Anthropic-compatible endpoint (the OpenAI-style
protocol cannot express provider-executed tools) - Search runs as one durable step; the card shows the cited answer with source
links. The neutral tool contract keeps the backend swappable — your main
model choice is untouched
🛠 Robustness
- Deterministic tool errors ("file not found", "access denied") return to the
model as results instead of burning the runtime's automatic retries - Fixed client-side validation crashes on raw model stream parts that share
type names with UI chunks (reasoning-delta/text-delta/tool-input-*)
Infrastructure preview: background loops
The durable loop engine ships in this release as infrastructure: a goal goes
in, an autonomous agent works it step by step, and every increment is
checkpointed to memory/loops/ the moment it happens — surviving deploys and
restarts. The agent-facing startLoop door is intentionally not enabled yet;
in-conversation progress and the no-repo demo story land together in a coming
release.
Known trade-offs
- Server-measured reasoning duration has no WorkflowAgent equivalent yet; the
thinking timer is client-side and live-session only
Full Changelog: v0.2.1...v0.3.0