Agent-level stream event labels and emit helpers.
A thin wrapper over ::hot::stream (the engine-level emission
primitive). This namespace defines the stable agent-level event
labels (<agent>:reply:start / :delta / :end,
<agent>:memory:forget:start / :end, …) and the helpers that
emit them via ::hot::stream/data underneath.
Concrete agents and the harness's own chat-turn reach for these
helpers so that custom UIs can subscribe to a stable, agent-scoped
event surface while provider-level streaming changes underneath.
Values
MEMORY_COMPACT_END
MEMORY_COMPACT_END: Str "ai:agent:memory:compact:end"
MEMORY_COMPACT_ERROR
MEMORY_COMPACT_ERROR: Str "ai:agent:memory:compact:error"
MEMORY_COMPACT_START
MEMORY_COMPACT_START: Str "ai:agent:memory:compact:start"
MEMORY_EXPORT_END
MEMORY_EXPORT_END: Str "ai:agent:memory:export:end"
MEMORY_EXPORT_ERROR
MEMORY_EXPORT_ERROR: Str "ai:agent:memory:export:error"
MEMORY_EXPORT_START
MEMORY_EXPORT_START: Str "ai:agent:memory:export:start"
MEMORY_FORGET_END
MEMORY_FORGET_END: Str "ai:agent:memory:forget:end"
MEMORY_FORGET_ERROR
MEMORY_FORGET_ERROR: Str "ai:agent:memory:forget:error"
MEMORY_FORGET_START
MEMORY_FORGET_START: Str "ai:agent:memory:forget:start"
REPLY_DELTA
REPLY_DELTA: Str "ai:agent:reply:delta"
REPLY_END
REPLY_END: Str "ai:agent:reply:end"
REPLY_ERROR
REPLY_ERROR: Str "ai:agent:reply:error"
REPLY_SOURCES
REPLY_SOURCES: Str "ai:agent:reply:sources"
REPLY_START
REPLY_START: Str "ai:agent:reply:start"
Functions
emit
fn (data-type: Str, payload: Any): Null
Emit a stream event, swallowing missing-stream-context errors.
emit-memory-end
fn (agent-name: Str, action: Str, payload: Map): Null
emit-memory-error
fn (agent-name: Str, action: Str, payload: Map): Null
emit-memory-start
fn (agent-name: Str, action: Str, payload: Map): Null
emit-reply-delta
fn (agent-name: Str, payload: Map): Null
emit-reply-end
fn (agent-name: Str, payload: Map): Null
emit-reply-error
fn (agent-name: Str, payload: Map): Null
emit-reply-sources
fn (agent-name: Str, payload: Map): Null
emit-reply-start
fn (agent-name: Str, payload: Map): Null
label
fn (agent-name: Str, topic: Str, verb: Str): Str
Build an agent-specific stream label, e.g. team-agent:reply:delta.