Skip to content

Event Families

Lime AgentUI 的事件标准参考成熟 streaming SDK 的页面颗粒度,但事件事实源属于 Lime App Server / RuntimeCore。进入 SDK 前,所有 provider、host adapter、product app compat cache 都必须归一为 AgentRuntimeExecutionEvent

实现锚点:packages/agent-ui-contracts/src/runtime.tspackages/agent-ui-contracts/src/validation.ts

标准事件族

FamilyEvent classRequired scopeProjection outputValidation focus
Lifecyclesession.createdturn.submittedturn.startedturn.completedturn.failedthreadIdturnIdruntimetimelinereadModelterminal event 不重复、失败分类稳定。
Model outputmodel.requestedmodel.deltamodel.completedmodel.failedmessageId in payload,建议带 turnIdUIMessagePartsdelta 合并、final reconciliation、文本不重复。
Reasoningreasoning.startedreasoning.deltareasoning.completedmessageIdtaskIdUIMessageParts.reasoningProcessTimeline不泄露不可展示推理;只展示 summary。
Tooltool.startedtool.resulttool.failedtool.catalog.resolvedtoolCallIdToolGroupProcessTimelineExecutionGraphtool scope 必填,大输出走 refs。
Action / HITLaction.requiredaction.resolvedactionIdActionRequired、runtime waiting/completed点击不本地完成,必须等 runtime fact。
Permission / sandboxpermission.requestedpermission.resolvedsandbox.appliedsandbox.violationactionIdtaskIdActionRequireddiagnosticspolicy reason code 稳定。
Contextcontext.resolvedcontext.failedthreadIdtaskIdsummary、diagnostics输入源数量与错误可恢复。
Artifactartifact.changedartifact.versionedartifact.exportedartifactIdartifactRefs[]ArtifactRefList、message artifact card不内联大 payload。
Evidence / reviewevidence.changedevidence.exportedreview.verdictevidenceIdreviewIdEvidenceRefList、review lane保留 replay / review correlation。
Snapshot / repairsnapshot.updatedstream.repairedthreadId、cursorhydration、read model repairgap 检测、幂等去重。
Team / subagenttask.createdsubagent.startedhandoff.requestedreview.verdicttaskIdsubagentIdhandoffIdreviewIdTeamWorkbenchExecutionGraphlineage 不能由正文猜测。
Diagnosticsruntime.errortransport.errorthreadIdturnIddiagnostics、runtime failed/stale错误 code 稳定,不吞掉 transport failure。

Scope id 规则

Event familyMissing id behavior
tool.*toolCallIdvalidation 返回 missing_scope_id;UI 只能降级为 diagnostics。
action.*actionIdvalidation 返回 missing_scope_id;不能进入 ActionRequired。
artifact.*artifactId 且无 artifactRefsvalidation 返回 missing_scope_id;不能进入 Artifact lane。
evidence.* / review.* 缺 evidence / review scopevalidation 返回 missing_scope_id;不能进入 Evidence lane。
subagent.*subagentId 或 parent taskId可进入 degraded graph,但不能伪造 parent edge。

Payload 边界

payload 只承载小型结构化事实,例如 messageIddeltafailureCategorydecisiontoolName。以下内容禁止进入 payload:

  • Provider key、token、secret、credential handle。
  • 完整文件、图片、视频、长日志、原始 provider response。
  • 需要由 artifact / evidence owner 管理的大对象。
  • 产品 UI 展示文案的最终翻译结果。

大输出必须走 refIdsartifactRefsevidenceRefs,由宿主应用通过 artifact workspace 或 evidence pack 打开。

与外部参考的关系

AG-UI 的 core 文档把 streaming event、类型和事件 reference 分开;AI SDK 的 UI message 也收敛到 parts。Lime 采用这种“结构化事实优先”的组织方式,但不采用外部 runtime owner。外部事件进入 Lime 后必须补齐 session/thread/turn/task scope、App Server read model 和 Evidence refs。

验证入口

bash
npm --prefix packages/agent-ui-contracts run test
npm --prefix packages/agent-runtime-projection run test

新增事件族时还要同步:

  1. AgentRuntimeEventClass 类型。
  2. validation scope rule。
  3. conformance fixture。
  4. projection replay 断言。
  5. React surface render smoke。

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