Skip to content

Runtime 事件契约 ​

RuntimeEvent 是 Lime Agent 标准的事实原子。任何 runtime Provider、host adapter 或 产品应用 integration 要声明兼容,必须能输出或消费这个合同。

它参考 AG-UI 的事件流思想,但 Lime 事件不是“前端通信格式”本身,而是 App Server / RuntimeCore 写入事实、ReadModel 水合、AgentUI 投影和 evidence/replay/review join 的共同 spine。

事件信封 ​

字段必需说明
schemaVersionyesRuntime event schema version。
runtimeIdyesruntime instance 或服务实例。
sessionIdyesdurable work container。
eventIdyes全局或 stream 内唯一。
timestampyesproducer timestamp。
sequenceyes同一 stream 内单调递增。
typeyesevent class。
payloadyestyped payload。
refsnoartifact/evidence/output/raw refs。

事件家族 ​

家族必需场景示例类型主要消费者
Lifecycle每个 turn/run/taskturn.submitted、turn.started、turn.completed、turn.failed、run.statusRuntimeStatus、ProcessTimeline、read model。
Message模型文本和最终回答model.requested、model.delta、model.completed、model.failed、messages.snapshotUIMessageParts、transcript。
Reasoning / Plan可解释过程和计划reasoning.delta、reasoning.summary、plan.delta、plan.finalProcessTimeline、折叠 reasoning part。
Tool / Process工具、命令、浏览器、文件、工作流步骤tool.started、tool.args、tool.progress、tool.result、tool.failed、output.spilledToolGroup、ProcessTimeline、ExecutionGraph。
Human / Policy审批、输入、权限、沙箱action.required、action.resolved、permission.denied、sandbox.blockedActionRequired、RuntimeStatus。
Artifact用户可见产物artifact.changed、artifact.versioned、artifact.exportedArtifactRef、artifact workspace。
Evidence回放、审查、导出证据evidence.changed、evidence.exported、review.verdictEvidenceRef、review/replay lane。
Task / Agent子代理、后台 job、handofftask.created、task.updated、subagent.started、job.queued、channel.messageExecutionGraph、Team Workbench。
Context / Hydration历史、压缩、快照修复context.attached、history.compacted、snapshot.updated、stream.repairedhydration、diagnostics。
Diagnostics警告、错误、指标runtime.warning、runtime.error、metrics.changedDiagnostics surface、conformance。

作用域 ID ​

作用域必需 ID
ThreadthreadId
TurnthreadId、turnId
TasktaskId,有执行尝试时 runId / attemptId
ToolthreadId、turnId、stepId、toolCallId
ActionthreadId、turnId、actionId
ArtifactartifactId
EvidenceevidenceId and available runtime correlation ids

最小示例 ​

json
{
  "schemaVersion": "0.1",
  "runtimeId": "lime_runtime_local",
  "sessionId": "sess_123",
  "threadId": "thread_123",
  "turnId": "turn_123",
  "eventId": "evt_123",
  "sequence": 12,
  "timestamp": "2026-06-09T10:00:00.000Z",
  "type": "tool.started",
  "stepId": "step_123",
  "toolCallId": "tool_123",
  "payload": {
    "toolName": "write_file",
    "title": "Update draft"
  }
}

事件顺序规则 ​

规则要求
单调 sequence同一 stream 内必须单调递增;断流后 read model repair 必须能补齐缺口或标记 stale。
幂等 eventIdprojection reducer 应按 eventId 去重;Runtime 不应复用不同 payload 的同一 eventId。
Start/End 配对tool.started 必须以 tool.result、tool.failed 或 turn 级终止事件收口;action.required 必须以 resolved/cancelled/expired 收口。
Final reconciliationmodel.completed 不等于追加一段新文本,而是确认、修正或替换同一 messageId/partId。
Scope 完整性tool/action/artifact/evidence/task 事件不能只给 threadId;必须带对应领域 id。
大输出引用大 payload 只进入 output/artifact/evidence/raw ref,不在 stream 中重复发送。

兼容外部运行时 ​

外部来源适配规则
OpenAI Agents JStracing、handoff、tool lifecycle 可以映射为 RuntimeEvent;SDK 对象不能越过 App Server 成为 UI 事实源。
AI SDK streamUIMessage.parts 可作为消息分片参考;tool/reasoning/artifact/evidence 仍要转成 Lime facts。
LangGraph / CrewAI / LlamaIndexgraph/node/run 信息映射到 ExecutionGraph;原生状态保留为 raw diagnostics ref。
AG-UI event streamlifecycle/text/tool/state 分类可参考;进入 Lime 后必须补齐 session/thread/turn/task/evidence correlation。
本地 Rust 执行型 runtimeturn item、tool call、approval、sandbox、context compaction 可作为底层执行参考;进入 Lime 后必须映射为 RuntimeEvent、ReadModel、ActionRequired、EvidenceRef。

校验失败 ​

这些情况应被视为不合格或 degraded:

  • 缺少 sessionId 或 eventId。
  • tool/action/artifact/evidence event 缺少对应 id。
  • 大输出直接塞进多个 events。
  • raw Provider payload 含 secret 且进入 投影 state。
  • 事件只提供 prose,没有 typed payload。

Fixture 要求 ​

每个 runtime provider 至少提供以下 fixture,用于 projection replay 和 conformance:

  1. 纯文本 turn:streaming delta + final reconciliation。
  2. 工具成功:tool args/progress/result + output ref。
  3. 工具失败:failure category + recovery action。
  4. 人类审批:action required/resolved + waiting state。
  5. Artifact/evidence:artifact changed + evidence exported。
  6. 断流恢复:stream interrupted + read model repair + stale 清除。

Lime Agent Workbench 是面向 Lime AgentRuntime 与 AgentUI 的治理优先标准。