Terminal
Terminal.stdio() is the surface over stdin/stdout: one session per process, no auth, no store,
no background task.
Serve
from agentdeck import Deck
from agentdeck.bindings import Terminal
deck = Deck.from_project()
deck.serve(Terminal.stdio())agentdeck chat [target] runs the same thing: Deck.from_project().serve(Terminal.stdio(target=target)).
target= and session_id=
target= is validated when you call deck.serve() or deck.asgi(), against the deck’s own
targets; omit it only when the deck holds exactly one, since there is nothing to default to
otherwise. session_id= fixes the one session this process holds; without it, each process gets
a fresh random id.
One session, no namespace=
One process is already one session, so there is nothing to route: Terminal.stdio() takes no
namespace=, unlike Native.http() or AGUI.http().
Capabilities
streaming: printed live astext.deltaevents arrive.text: plain text in and out.hitl: a numbered prompt forrun.interrupted, in the interrupt’s own option order.control.cancel: Ctrl-C cancels the run in flight.
Limits
- No auth, no store: the session lives in process memory and dies with it.
- Ctrl-D, or a scripted stdin running out, cancels any run in flight rather than hanging.
Last updated on