事件
内核的每次运行都产出一条单一的类型化流:AgentEvent——一个覆盖循环一切动作的可辨识联合类型:模型调用、工具执行、审批、压缩、错误以及最终结果。这就是你在 lite-agent 之上构建 UI、日志和遥测的方式:消费这条流并渲染它。事件只做观察——处理事件绝不改变 agent 行为。
用法
用 agent.run(...) 消费事件流,按 ev.type 判别:
从子代理转发的事件带 agentId;主 agent 的事件不带。
AgentEvent 联合类型
Info
非致命失败(重试的模型调用、codec 修复尝试)在抛出之前会先以 { type: "error", fatal: false } 事件出现,观察者能看到完整过程。
发出你自己的事件
中间件和工具可以通过 ctx.emit(ev) 发事件;内核把这些事件缓冲进队列,在循环边界统一 drain。emit 永远不会暂停循环,消费端再慢也不会阻塞内核——见 drain 语义。