docs(gateway): gateway 剩余文件注释改中文(逐行 1:1,代码零字节改动)
主人 2026-10-03 拍板「注释一律中文」;gateway 至此整包注释中文化完成(本会话共 3 批: 已推库 16 个文件 + 本批剩余文件)。 校验:机械校验(非注释改动行)= 空;剥注释后代码文本逐行比对全等(不一致文件数 0); 全树 go test ./... 58 包 ok / 0 FAIL;交叉编译绿。
This commit is contained in:
1 parent
91e8d7a029
commit
074ffc4ebf
73 files changed
+2529
-2529
No files matched your search
@@ -9,9 +9,9 @@ import (
|
||||
"git.yeij.top/AskaEth/Cyrene_v2/internal/runtime/orchestration/comm"
|
||||
)
|
||||
|
||||
// eventBridge maps a producer bus subject to its outbound WS event type. The hub
|
||||
// subscribes to these (and re-normalizes into ws.* types) so the frontend's
|
||||
// existing consumers light up without the producers changing their subjects.
|
||||
// eventBridge 把生产者 bus 主题映射为其下行 WS 事件类型。hub
|
||||
// 订阅这些(并重新归一化为 ws.* 类型),使前端既有的
|
||||
// 消费方亮起来,而生产者无需改变其主题名。
|
||||
var eventBridge = map[string]string{
|
||||
"iot.device_update": "device_update",
|
||||
"task.output": "task_output",
|
||||
@@ -20,8 +20,8 @@ var eventBridge = map[string]string{
|
||||
"reminder.trigger": "reminder",
|
||||
}
|
||||
|
||||
// bridgePatterns are the additional bus patterns the hub subscribes to on top of
|
||||
// ws.> to capture producer events and normalize them for WS delivery.
|
||||
// bridgePatterns 是 hub 在 ws.> 之外额外订阅的 bus 模式,用于
|
||||
// 捕获生产者事件并把它们归一化以供 WS 投递。
|
||||
var bridgePatterns = []string{
|
||||
"iot.>",
|
||||
"task.>",
|
||||
@@ -30,11 +30,11 @@ var bridgePatterns = []string{
|
||||
"cyrene.agent.*.event",
|
||||
}
|
||||
|
||||
// normalizeEvent maps a bus event to an outbound wsEvent. A ws.* subject keeps
|
||||
// its design type (the ws. prefix is stripped); a known producer subject is
|
||||
// bridged to its ws.* type; a sub-agent progress event is shaped into
|
||||
// ws.subagent_event. It returns ok=false for events that have no WS-visible
|
||||
// representation (e.g. internal cyrene.agent ask/reply traffic).
|
||||
// normalizeEvent 把 bus 事件映射为下行 wsEvent。ws.* 主题保持
|
||||
// 其设计类型(ws. 前缀被剥掉);已知的生产者主题被
|
||||
// 桥接为其 ws.* 类型;子代理进度事件被塑形为
|
||||
// ws.subagent_event。对没有 WS 可见表示的事件返回 ok=false
|
||||
// (例如内部的 cyrene.agent ask/reply 流量)。
|
||||
func normalizeEvent(e bus.Event) (wsEvent, bool) {
|
||||
if typ, ok := eventBridge[e.Subject]; ok {
|
||||
return wsEvent{Type: typ, Data: e.Payload}, true
|
||||
@@ -48,11 +48,11 @@ func normalizeEvent(e bus.Event) (wsEvent, bool) {
|
||||
return wsEvent{}, false
|
||||
}
|
||||
|
||||
// subagentProgressEvent maps an orchestration progress event — broadcast on
|
||||
// cyrene.agent.<from>.event via comm.PublishEvent — into a ws.subagent_event
|
||||
// frame. Only the five sub-agent progress names are surfaced; any other event
|
||||
// broadcast on the same subject (ask/reply/addressed events, or foreign event
|
||||
// names) is ignored so internal agent-to-agent traffic stays internal.
|
||||
// subagentProgressEvent 把编排进度事件 —— 经 comm.PublishEvent 广播在
|
||||
// cyrene.agent.<from>.event 上 —— 映射为 ws.subagent_event
|
||||
// 帧。只有五个子代理进度名会被浮现;同一主题上广播的
|
||||
// 其他任何事件(ask/reply/addressed 事件,或外来事件
|
||||
// 名)都被忽略,使内部 agent 间流量保持内部。
|
||||
func subagentProgressEvent(e bus.Event) (wsEvent, bool) {
|
||||
if !isBroadcastAgentEvent(e.Subject) {
|
||||
return wsEvent{}, false
|
||||
@@ -80,11 +80,11 @@ func subagentProgressEvent(e bus.Event) (wsEvent, bool) {
|
||||
}}, true
|
||||
}
|
||||
|
||||
// streamEventData maps a streamed model.StreamKind to its downstream WS event
|
||||
// type and builds a typed data payload. It is what turns the loop's structured
|
||||
// events into the message.*/thinking.*/tool_call.*/tool_execution.* frames the
|
||||
// frontend renders. Unknown kinds fall back to the legacy stream_chunk shape so
|
||||
// an unrecognized event still reaches the client instead of being dropped.
|
||||
// streamEventData 把流式的 model.StreamKind 映射为其下游 WS 事件
|
||||
// 类型并构建带类型的 data 载荷。它正是把 loop 的结构化
|
||||
// 事件变成前端所渲染的 message.*/thinking.*/tool_call.*/tool_execution.*
|
||||
// 帧的东西。未知类型回退到旧的 stream_chunk 形状,使
|
||||
// 未识别的事件仍能抵达客户端而不是被丢弃。
|
||||
func streamEventData(ev model.StreamEvent) (string, map[string]any) {
|
||||
switch ev.Kind {
|
||||
case model.StreamKindTextStart:
|
||||
@@ -112,10 +112,10 @@ func streamEventData(ev model.StreamEvent) (string, map[string]any) {
|
||||
}
|
||||
}
|
||||
|
||||
// isBroadcastAgentEvent reports whether subject has the exact 4-token broadcast
|
||||
// shape cyrene.agent.<from>.event, which is how the scheduler publishes progress.
|
||||
// It deliberately does not match addressed events (cyrene.agent.<from>.<to>.event)
|
||||
// or the ask/reply subjects.
|
||||
// isBroadcastAgentEvent 报告 subject 是否恰为 4 段广播形态
|
||||
// cyrene.agent.<from>.event,调度器正是这样发布进度的。
|
||||
// 它刻意不匹配寻址事件(cyrene.agent.<from>.<to>.event)
|
||||
// 或 ask/reply 主题。
|
||||
func isBroadcastAgentEvent(subject string) bool {
|
||||
parts := strings.Split(subject, ".")
|
||||
if len(parts) != 4 {
|
||||
|
||||
Reference in new issue
Block a user