Is there support for a status line feature?
is there support for a "status line"? like, reporting of what's happening inside?
Now I have a clear picture. Let me summarize what I found about status reporting and streaming:
##Summary: Status Line / Progress Reporting in DeepAgentsJS
Based on my exploration, there isn't a dedicated "status line" feature built into deepagents per se, but the library provides streaming capabilities via LangGraph that you can use to track what's happening in real-time.
###How to Get Real-Time Updates
Since createDeepAgent returns a standard LangGraph graph, you can use LangGraph's streaming patterns:
import { createDeepAgent } from "deepagents";
const agent = createDeepAgent({ /* config */ });
// Stream updates to track what's happening
for await (const chunk of await agent.graph.stream(input, {
streamMode: ["updates"], // Get state updates
subgraphs: true, // Include subagent updates too
})) {
const update = chunk[2] ?? {};
// Track model requests / tool calls
if ("model_request" in update) {
// Agent is calling the model
}
if ("tools" in update) {
// Tool results are coming back
}
// You can also monitor todo changes, file changes, etc.
}
###State Channels You Can Monitor
The agent exposes these channels you can stream:
todos- Track task planning progress ({ content: string, status: "pending" | "in_progress" | "completed" }[])files- Track file operations (what files the agent is reading/writing)messages- The conversation history
After invoke(), you can see the final state:
const result = await agent.invoke({ messages: [...] });
// See todos
console.log(result.todos.map(t => `${t.content} (${t.status})`));
// See files the agent worked with
console.log(Object.keys(result.files));
###No Built-in Console/Status Display
There's no built-in spinner or status line renderer - the library provides the data through streaming, but displaying it (spinner, progress bar, status line) is left to your application. You'd need to build that UI layer yourself using the streamed chunks.
The CLI wrapper (@deepagents/cli) just forwards to a pre-built binary and doesn't expose hooks for custom status rendering.
Would you like me to dig deeper into the streaming format or show more detailed examples of what data comes through in each chunk?
END OF POST