CMDCGateway.EventTranslator (cmdc_gateway v0.6.0)

Copy Markdown View Source

内部 CMDC.Event.t() → 对外 JSON schema 翻译层。

字段命名统一 camelCase。SDK 和前端消费此格式。

对外事件列表

会话生命周期

事件类型说明
agent_startAgent 开始处理
agent_end本轮完成,含 tokenUsage
agent_abortAgent 被中止
prompt_received收到用户 prompt

流式响应

事件类型说明
message_startLLM 开始生成
message_delta流式 token 片段
thinking_start思考链开始
thinking_delta思考链 token

工具

事件类型说明
tool_calls本轮工具调用数
tool_execution_start工具开始执行
tool_execution_end工具执行完成
tool_execution_metrics工具执行耗时指标
tool_blocked工具被 Plugin 拦截
tool_call_unknown未知工具被调用
tool_attached运行时挂载
tool_detached运行时卸载
tools_updated批量工具变更

HITL

事件类型说明
approval_required等待人类审批
approval_resolved审批已决定
ask_userAgent 向用户提问

v0.2 控制面

事件类型说明
model_switched(RFC C8) 模型切换
model_switch_failed模型切换失败
memory_flushedMemory 落盘
plugin_opts_updatedPlugin 运行时配置更新
auto_checkpoint_saved自动 checkpoint 已保存
plugin_event(RFC D14) 通用插件事件包络
steering中段注入

v0.5 RAG / AgentOps Trace

事件类型说明
rag_retrievedRAG/GraphRAG 检索摘要
rag_answeredRAG/Pipeline answer 摘要
rag_citation_usedcitation provenance
rag_pipeline_steppipeline step timeline
rag_ingestion_progressingestion 进度
rag_reembed_progressreembed 进度
rag_graph_progressGraphRAG maintenance/search 进度
rag_graph_auditGraphRAG 只读查询审计
rag_eval_progressRAG Eval / release gate 进度

错误

事件类型说明
error运行时错误

Summary

Functions

心跳 SSE 注释行,保持连接。

将翻译后的事件编码为 SSE 格式字符串(含 event:data: 行)。

将内部事件翻译为对外 JSON map。

带模式选项的事件翻译。

将 EventBus 事件投影为 AuditEvent JSON 事件。

Functions

heartbeat()

@spec heartbeat() :: iodata()

心跳 SSE 注释行,保持连接。

to_sse(event_type, data)

@spec to_sse(String.t(), map()) :: iodata()

将翻译后的事件编码为 SSE 格式字符串(含 event:data: 行)。

translate(arg1)

@spec translate(CMDC.Event.t()) :: {:ok, String.t(), map()} | :skip

将内部事件翻译为对外 JSON map。

返回 {:ok, event_type, json_map}:skip(不对外暴露的事件)。

translate(event, opts)

@spec translate(
  CMDC.Event.t(),
  keyword()
) :: {:ok, String.t(), map()} | :skip

带模式选项的事件翻译。

支持 mode: :audit 输出 canonical audit 投影;默认与 translate/1 完全一致。

translate_audit(event, opts \\ [])

@spec translate_audit(
  CMDC.Event.t(),
  keyword()
) :: {:ok, String.t(), map()} | :skip

将 EventBus 事件投影为 AuditEvent JSON 事件。

未被 core CMDC.AuditEvent.from_event/3 覆盖的低价值事件返回 :skip