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.submittedturn.startedturn.completedturn.failedrun.statusRuntimeStatus、ProcessTimeline、read model。
Message模型文本和最终回答model.requestedmodel.deltamodel.completedmodel.failedmessages.snapshotUIMessageParts、transcript。
Reasoning / Plan可解释过程和计划reasoning.deltareasoning.summaryplan.deltaplan.finalProcessTimeline、折叠 reasoning part。
Tool / Process工具、命令、浏览器、文件、工作流步骤tool.startedtool.argstool.progresstool.resulttool.failedoutput.spilledToolGroup、ProcessTimeline、ExecutionGraph。
Human / Policy审批、输入、权限、沙箱action.requiredaction.resolvedpermission.deniedsandbox.blockedActionRequired、RuntimeStatus。
Artifact用户可见产物artifact.changedartifact.versionedartifact.exportedArtifactRef、artifact workspace。
Evidence回放、审查、导出证据evidence.changedevidence.exportedreview.verdictEvidenceRef、review/replay lane。
Task / Agent子代理、后台 job、handofftask.createdtask.updatedsubagent.startedjob.queuedchannel.messageExecutionGraph、Team Workbench。
Context / Hydration历史、压缩、快照修复context.attachedhistory.compactedsnapshot.updatedstream.repairedhydration、diagnostics。
Diagnostics警告、错误、指标runtime.warningruntime.errormetrics.changedDiagnostics surface、conformance。

作用域 ID

作用域必需 ID
ThreadthreadId
TurnthreadIdturnId
TasktaskId,有执行尝试时 runId / attemptId
ToolthreadIdturnIdstepIdtoolCallId
ActionthreadIdturnIdactionId
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.resulttool.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:

  • 缺少 sessionIdeventId
  • 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 的治理优先标准。