agent-embassy 1.6.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +9 -9
  3. package/README.zh-CN.md +9 -9
  4. package/SECURITY.md +34 -77
  5. package/dist/src/gateway/acp-client.d.ts +117 -0
  6. package/dist/src/gateway/acp-client.js +382 -0
  7. package/dist/src/gateway/acp-client.js.map +1 -0
  8. package/dist/src/gateway/acp-provider.d.ts +65 -0
  9. package/dist/src/gateway/acp-provider.js +163 -0
  10. package/dist/src/gateway/acp-provider.js.map +1 -0
  11. package/dist/src/gateway/claude-helper-protocol.d.ts +3 -1
  12. package/dist/src/gateway/claude-helper-protocol.js +15 -5
  13. package/dist/src/gateway/claude-helper-protocol.js.map +1 -1
  14. package/dist/src/gateway/claude-helper-supervisor.d.ts +3 -1
  15. package/dist/src/gateway/claude-helper-supervisor.js +16 -2
  16. package/dist/src/gateway/claude-helper-supervisor.js.map +1 -1
  17. package/dist/src/gateway/claude-helper.js +4 -3
  18. package/dist/src/gateway/claude-helper.js.map +1 -1
  19. package/dist/src/gateway/claude-peer.d.ts +1 -1
  20. package/dist/src/gateway/claude-peer.js +11 -13
  21. package/dist/src/gateway/claude-peer.js.map +1 -1
  22. package/dist/src/gateway/claude-runtime.d.ts +0 -20
  23. package/dist/src/gateway/claude-runtime.js +6 -127
  24. package/dist/src/gateway/claude-runtime.js.map +1 -1
  25. package/dist/src/gateway/cli-copy.en.d.ts +1 -1
  26. package/dist/src/gateway/cli-copy.en.js +2 -2
  27. package/dist/src/gateway/cli-copy.zh-CN.d.ts +1 -1
  28. package/dist/src/gateway/cli-copy.zh-CN.js +2 -2
  29. package/dist/src/gateway/cli.d.ts +1 -1
  30. package/dist/src/gateway/cli.js +26 -5
  31. package/dist/src/gateway/cli.js.map +1 -1
  32. package/dist/src/gateway/codex-app-server.d.ts +5 -74
  33. package/dist/src/gateway/codex-app-server.js +9 -599
  34. package/dist/src/gateway/codex-app-server.js.map +1 -1
  35. package/dist/src/gateway/codex-local-transport.d.ts +8 -26
  36. package/dist/src/gateway/codex-local-transport.js +26 -76
  37. package/dist/src/gateway/codex-local-transport.js.map +1 -1
  38. package/dist/src/gateway/compatibility.d.ts +6 -66
  39. package/dist/src/gateway/compatibility.js +14 -296
  40. package/dist/src/gateway/compatibility.js.map +1 -1
  41. package/dist/src/gateway/config.d.ts +9 -0
  42. package/dist/src/gateway/config.js +6 -2
  43. package/dist/src/gateway/config.js.map +1 -1
  44. package/dist/src/gateway/control.d.ts +16 -1
  45. package/dist/src/gateway/control.js +89 -57
  46. package/dist/src/gateway/control.js.map +1 -1
  47. package/dist/src/gateway/dashboard-copy.d.ts +1 -1
  48. package/dist/src/gateway/dashboard-copy.en.d.ts +14 -44
  49. package/dist/src/gateway/dashboard-copy.en.js +37 -67
  50. package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
  51. package/dist/src/gateway/dashboard-copy.js +14 -44
  52. package/dist/src/gateway/dashboard-copy.js.map +1 -1
  53. package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +14 -44
  54. package/dist/src/gateway/dashboard-copy.zh-CN.js +37 -67
  55. package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
  56. package/dist/src/gateway/dashboard-model.d.ts +38 -76
  57. package/dist/src/gateway/dashboard-model.js +158 -256
  58. package/dist/src/gateway/dashboard-model.js.map +1 -1
  59. package/dist/src/gateway/dashboard.d.ts +0 -3
  60. package/dist/src/gateway/dashboard.js +75 -76
  61. package/dist/src/gateway/dashboard.js.map +1 -1
  62. package/dist/src/gateway/deepseek-detect.d.ts +7 -6
  63. package/dist/src/gateway/deepseek-detect.js +31 -115
  64. package/dist/src/gateway/deepseek-detect.js.map +1 -1
  65. package/dist/src/gateway/live-dashboard-app/app.js +166 -621
  66. package/dist/src/gateway/live-dashboard-command.js +2 -4
  67. package/dist/src/gateway/live-dashboard-command.js.map +1 -1
  68. package/dist/src/gateway/live-dashboard-http.d.ts +1 -2
  69. package/dist/src/gateway/live-dashboard-http.js +14 -15
  70. package/dist/src/gateway/live-dashboard-http.js.map +1 -1
  71. package/dist/src/gateway/progress-watch-machine.d.ts +1 -4
  72. package/dist/src/gateway/progress-watch-machine.js.map +1 -1
  73. package/dist/src/gateway/provenance-envelope.d.ts +3 -2
  74. package/dist/src/gateway/provenance-envelope.js +44 -11
  75. package/dist/src/gateway/provenance-envelope.js.map +1 -1
  76. package/dist/src/gateway/providers.d.ts +12 -85
  77. package/dist/src/gateway/providers.js +72 -835
  78. package/dist/src/gateway/providers.js.map +1 -1
  79. package/dist/src/gateway/server.d.ts +8 -9
  80. package/dist/src/gateway/server.js +51 -99
  81. package/dist/src/gateway/server.js.map +1 -1
  82. package/dist/src/gateway/service.d.ts +22 -49
  83. package/dist/src/gateway/service.js +196 -437
  84. package/dist/src/gateway/service.js.map +1 -1
  85. package/dist/src/gateway/store.d.ts +20 -29
  86. package/dist/src/gateway/store.js +281 -827
  87. package/dist/src/gateway/store.js.map +1 -1
  88. package/dist/src/gateway/types.d.ts +55 -55
  89. package/dist/src/gateway/types.js +49 -91
  90. package/dist/src/gateway/types.js.map +1 -1
  91. package/docs/CONFIGURATION.md +11 -10
  92. package/docs/CONFIGURATION.zh-CN.md +10 -9
  93. package/docs/DASHBOARD.md +4 -38
  94. package/docs/DASHBOARD.zh-CN.md +4 -2
  95. package/docs/GATEWAY-ARCHITECTURE.md +61 -119
  96. package/package.json +1 -1
  97. package/skills/embassy-peer/SKILL.md +6 -6
@@ -6,30 +6,32 @@ export const dashboardCopyZhCn = {
6
6
  "language.zhCn": "简体中文",
7
7
  "brand.eyebrow": "本地智能体交换",
8
8
  "brand.title": "Embassy",
9
- "brand.subtitle": "Claude Code 与 Codex 路由在一个时间点的仅元数据记录。",
9
+ "brand.subtitle": "本地智能体提供方路由在一个时间点的仅元数据记录。",
10
10
  "snapshot.asOf": "快照时间 {time}",
11
11
  "snapshot.static": "此文件不会自行更新。如果代理未运行,请先运行 embassy serve。然后运行 embassy refresh-dashboard 并重新加载;或者运行 embassy dashboard --live 查看流式视图。",
12
12
  "overall.ready": "交换已就绪",
13
13
  "overall.setup": "设置尚未完成",
14
14
  "overall.attention": "需要处理",
15
15
  "exchange.eyebrow": "交换台",
16
- "exchange.title": "两个方向,两道明确边界",
17
- "exchange.note": "每条同意边都指定一个 Claude 会话和一个 Codex 任务。原生发现仍覆盖整台机器,权限则不会。",
16
+ "exchange.title": "提供方路由与明确边界",
17
+ "exchange.note": "每条同意边连接两条精确本地路由。当前路由状态与连接器健康度描述 Embassy 此刻可观察到的事实。",
18
18
  "inbound.paired.badge": "配对入站",
19
- "inbound.paired.body": "每个已注册的 Codex 任务只接受沿显式 Claude 同意边发送的消息。",
19
+ "inbound.paired.body": "每个已注册端点只接受沿其显式同意边发送的消息。",
20
20
  "inbound.open.badge": "开放入站",
21
- "inbound.open.body": "同一操作系统用户下的任何在线 Claude 会话都可发起入站工作;显式 Codex 发送仍需同意边。",
21
+ "inbound.open.body": "提供方允许的同一用户在线端点都可发起入站工作;显式发送仍需同意边。",
22
22
  "inbound.noPair.body": "当前没有同意边;配对模式会拒绝未配对发送方。",
23
23
  "exchange.claude.title": "Claude 会话",
24
24
  "exchange.claude.note": "同意边端点",
25
25
  "exchange.codex.title": "Codex 任务",
26
26
  "exchange.codex.note": "同意边端点",
27
+ "exchange.provider.note": "同意边端点",
27
28
  "exchange.pouch.title": "本地信袋",
28
29
  "exchange.pouch.empty": "队列为空",
29
30
  "exchange.pouch.queued": "{count} 条排队中",
30
31
  "exchange.pouch.oldest": "最长等待 {age}",
31
32
  "exchange.count.claude": "已选择 {ready} · 可选择 {selectable} · 已发现 {total}",
32
33
  "exchange.count.codex": "已就绪 {ready} · 已注册 {total}",
34
+ "app.overview.count.provider": "已就绪 {ready} · 已注册 {total}",
33
35
  "status.ready": "就绪",
34
36
  "status.busy": "忙碌",
35
37
  "status.waiting": "等待中",
@@ -44,12 +46,11 @@ export const dashboardCopyZhCn = {
44
46
  "next.none": "无需操作。",
45
47
  "next.discoverClaude": "启动或保持一个 Claude Code 会话运行,然后运行 embassy refresh-dashboard。",
46
48
  "next.selectClaude": "运行 embassy select-claude --alias <alias>,明确选择一个可见会话。",
47
- "next.pairRoutes": "运行 embassy pair --claude <alias> --codex <alias>,建立显式同意边。",
49
+ "next.pairRoutes": "运行 embassy pair --from <alias> --to <alias>,建立显式同意边。",
48
50
  "next.restoreClaude": "刷新发现;若未自动恢复,请明确选择 Claude 当前别名。",
49
- "next.repairClaude": "当前没有兼容、在线且无冲突的可选会话。请先解决“会话与路由”中显示的问题,再刷新发现。",
51
+ "next.repairClaude": "当前没有在线且无冲突的可选会话。请先解决“会话与路由”中显示的问题,再刷新发现。",
50
52
  "next.registerCodex": "在 Codex 任务内运行 embassy register-codex --alias codex-<name>@<host>。",
51
53
  "next.restoreCodex": "在该 Codex 任务内重新运行 embassy register-codex --alias <alias>。",
52
- "next.reviewCompatibility": "运行 embassy refresh-dashboard,然后查看“提供方兼容性”;发现或注册无法解除此写入围栏。",
53
54
  "attention.eyebrow": "需要处理",
54
55
  "attention.title": "发送前请先解决",
55
56
  "attention.count": "{count} 项",
@@ -97,11 +98,8 @@ export const dashboardCopyZhCn = {
97
98
  "guidance.unconfirmed.body": "本地传输写入已完成,但该次尝试结算时没有可用的终结原生证据。",
98
99
  "guidance.unconfirmed.action": "重试前检查接收方;重试可能造成重复消息。",
99
100
  "guidance.degraded.title": "交换状态降级",
100
- "guidance.degraded.body": "Embassy 保留了一条规范化的兼容性或连接器警告。",
101
+ "guidance.degraded.body": "Embassy 保留了一条规范化的连接器警告。",
101
102
  "guidance.degraded.action": "运行 embassy status。如果必须重启代理,排队邮件会保留并精确恢复一次;只有崩溃时正在写入的投递会以结果不确定结算。",
102
- "guidance.providerIncompatible.title": "提供方构建已禁止写入",
103
- "guidance.providerIncompatible.body": "Embassy 保持代理和另一提供方继续运行。“提供方兼容性”会列出有界版本证据、本次发布测试过的构建及受支持的主版本。",
104
- "guidance.providerIncompatible.action": "运行 embassy refresh-dashboard,然后查看“提供方兼容性”。若主版本不受支持,请安装支持它的 Embassy 版本;在此期间,本代理会继续运行。",
105
103
  "guidance.generic.title": "Embassy 报告了规范化警告",
106
104
  "guidance.generic.body": "面板没有为此安全代码映射自动修复方案。",
107
105
  "guidance.generic.action": "检查 embassy status。绝不要自动重试结果不确定的投递。",
@@ -152,8 +150,6 @@ export const dashboardCopyZhCn = {
152
150
  "watches.reason.pairRemoved": "同意边已移除",
153
151
  "watches.reason.endpointRetired": "端点已退役",
154
152
  "watches.reason.trackingDisabled": "监视已禁用",
155
- "watches.reason.legacyUpgrade": "升级 v1.4 状态时关闭",
156
- "watches.reason.legacyDone": "旧版完成记录;行为方不可用",
157
153
  "activity.eyebrow": "活动记录",
158
154
  "activity.title": "最近投递证据",
159
155
  "activity.note": "绝不包含正文或提供方内部数据。",
@@ -168,8 +164,10 @@ export const dashboardCopyZhCn = {
168
164
  "activity.history.one": "1 个阶段",
169
165
  "activity.history.many": "{count} 个阶段",
170
166
  "activity.meaning.delivered": "已达到 delivered 终局状态。这不表示模型已经读取或处理该消息。",
171
- "activity.meaning.delivered.codexToClaude": "Embassy 已立即将消息写入 Claude 的原生消息邮箱,并未等待路由空闲。这不表示模型已经读取或处理该消息。",
172
- "activity.meaning.delivered.claudeToCodex": "Codex App Server 已接受该轮输入。这不表示模型已经完成或处理该输入。",
167
+ "activity.meaning.delivered.toClaude": "Embassy 已立即将消息写入 Claude 的原生消息邮箱,并未等待路由空闲。这不表示模型已经读取或处理该消息。",
168
+ "activity.meaning.delivered.toCodex": "Codex App Server 已接受该轮输入。这不表示模型已经完成或处理该输入。",
169
+ "activity.meaning.delivered.toDeepSeek": "DeepSeek 已接受该投递。这不表示模型已经完成或处理该输入。",
170
+ "activity.meaning.delivered.toGrok": "Grok Build 已接受该投递。这不表示模型已经完成或处理该输入。",
173
171
  "activity.meaning.unconfirmed": "传输写入已完成,但终结原生证据不可用。重试前请检查接收方。",
174
172
  "activity.meaning.ambiguous": "不确定写入后的结果未知。请勿自动重试。",
175
173
  "activity.meaning.other": "这是最新的规范化投递状态。",
@@ -215,7 +213,6 @@ export const dashboardCopyZhCn = {
215
213
  "column.host": "主机",
216
214
  "column.provider": "提供方",
217
215
  "column.state": "状态",
218
- "column.compatibility": "兼容性",
219
216
  "column.selection": "选择",
220
217
  "column.validation": "验证",
221
218
  "status.validated": "已验证",
@@ -223,25 +220,11 @@ export const dashboardCopyZhCn = {
223
220
  "column.queue": "队列",
224
221
  "column.observed": "观察时间",
225
222
  "column.issue": "问题",
226
- "diagnostics.title": "兼容性与系统详情",
227
- "diagnostics.note": "固定协议、计数器与有界显示说明",
223
+ "diagnostics.title": "系统详情",
224
+ "diagnostics.note": "连接器健康度、已观察协议元数据、最近安全代码、计数器与有界显示说明",
228
225
  "diagnostics.connectors": "连接器",
229
226
  "diagnostics.connectors.empty": "没有连接器元数据。",
230
227
  "diagnostics.connectors.caption": "本地提供方连接器状态",
231
- "diagnostics.compatibilityChecks": "提供方兼容性",
232
- "diagnostics.compatibilityChecks.empty": "暂无提供方兼容性状态。",
233
- "diagnostics.compatibilityChecks.caption": "自动提供方兼容性状态",
234
- "diagnostics.version": "版本",
235
- "diagnostics.testedVersion": "本次发布测试版本",
236
- "diagnostics.supportedMajor": "受支持主版本",
237
- "diagnostics.tier": "层级",
238
- "diagnostics.checkedAt": "检查时间",
239
- "diagnostics.failure": "失败项",
240
- "compatibilityTier.certified": "受支持",
241
- "compatibilityTier.schema_attested": "实时架构探测通过;本次发布未测试此构建",
242
- "compatibilityTier.schema_attested.writesCovered": "实时读写探测通过;本次发布未测试此构建",
243
- "compatibilityTier.incompatible": "不兼容",
244
- "compatibilityTier.notDetected": "未检测到",
245
228
  "diagnostics.registry.title": "注册表观察",
246
229
  "diagnostics.registry.entriesScanned": "已扫描条目",
247
230
  "diagnostics.registry.parseableRecords": "必需字段可解析的记录",
@@ -271,7 +254,7 @@ export const dashboardCopyZhCn = {
271
254
  "diagnostics.omissions.connectors": "{count} 个连接器",
272
255
  "diagnostics.omissions.peers": "{count} 个会话",
273
256
  "diagnostics.omissions.routes": "{count} 条路由",
274
- "diagnostics.omissions.pairs": "{count} 条同意边",
257
+ "diagnostics.omissions.consentEdges": "{count} 条同意边",
275
258
  "diagnostics.omissions.progressWatches": "{count} 项进度监视",
276
259
  "diagnostics.omissions.upstreamProgressWatchEvents": "面板投影前的 {count} 条监视事件",
277
260
  "diagnostics.omissions.progressWatchEvents": "{count} 条监视历史",
@@ -285,52 +268,38 @@ export const dashboardCopyZhCn = {
285
268
  "provider.claude": "Claude",
286
269
  "provider.codex": "Codex",
287
270
  "provider.deepseek": "DeepSeek",
271
+ "provider.grok": "Grok Build",
288
272
  "health.offline": "离线",
289
273
  "health.connecting": "连接中",
290
274
  "health.healthy": "健康",
291
275
  "health.degraded": "降级",
292
- "health.incompatible": "不兼容",
293
- "health.meaning.healthy": "已连接并在交换心跳。",
276
+ "health.meaning.healthy": "本地连接器当前可用。",
294
277
  "health.meaning.connecting": "正在建立本地连接。",
295
278
  "health.meaning.degraded": "已连接,但保留了警告。",
296
279
  "health.meaning.offline": "在本机上无法访问。",
297
- "health.meaning.incompatible": "缺少必需的兼容性证据或证据未通过;请查看“提供方兼容性”。",
298
- "compatibility.unknown": "未知",
299
- "compatibility.compatible": "兼容",
300
- "compatibility.incompatible": "不兼容",
301
- "compatibility.expired": "兼容性观察已失效",
302
- "compatibility.meaning.compatible": "必需的兼容性证据已通过。",
303
- "compatibility.meaning.unknown": "尚未校验。",
304
- "compatibility.meaning.expired": "校验已失效;请重新观察。",
305
- "compatibility.meaning.incompatible": "缺少必需的兼容性证据或证据未通过;请查看“提供方兼容性”。",
306
280
  "route.stale": "已过时",
307
281
  "route.idle": "空闲",
308
282
  "route.busy": "忙碌",
309
283
  "route.awaitingApproval": "等待批准",
310
284
  "route.offline": "离线",
311
- "route.incompatible": "不兼容",
312
285
  "route.disabled": "已停用",
313
- "route.meaning.idle": "已启用、兼容,可以承载消息。",
314
- "route.meaning.busy": "发往 Claude 的消息仍会立即写入原生消息邮箱;发往 Codex 的普通消息会等待路由空闲。",
286
+ "route.meaning.idle": "已启用,可以承载消息。",
287
+ "route.meaning.busy": "端点正忙;投递时机取决于目标提供方的传输方式。",
315
288
  "route.meaning.awaitingApproval": "正在等待提供方的原生审批。",
316
289
  "route.meaning.stale": "当前没有端点证明;请刷新并恢复该路由。",
317
290
  "route.meaning.offline": "该路由的连接器无法访问。",
318
- "route.meaning.incompatible": "协议版本不匹配。",
319
291
  "route.meaning.disabled": "已被管理性停用,不属于故障。",
320
292
  "peer.idle": "空闲",
321
293
  "peer.busy": "忙碌",
322
294
  "peer.awaitingApproval": "等待批准",
323
295
  "peer.offline": "离线",
324
- "peer.incompatible": "不兼容",
325
296
  "peer.meaning.idle": "在线且可选择。",
326
297
  "peer.meaning.busy": "在线,但正处于一轮对话中。",
327
298
  "peer.meaning.awaitingApproval": "正在等待原生审批。",
328
299
  "peer.meaning.offline": "此前已发现,当前不在线——是候选项,不是错误。",
329
- "peer.meaning.incompatible": "无法选择:协议不兼容。",
330
300
  "peer.reason.aliasCollision": "别名冲突:请重命名其中一个 Claude 会话,然后刷新发现。",
331
301
  "peer.reason.sessionCollision": "会话标识冲突:请关闭重复的会话记录,然后刷新发现。",
332
302
  "peer.reason.discoveryIncomplete": "发现结果不完整。请等待 Claude Code 完成会话清单发布后再刷新。",
333
- "peer.reason.incompatible": "此会话与 Embassy 固定的协议版本不兼容。",
334
303
  "peer.reason.offline": "此会话当前不在线。",
335
304
  "time.atSnapshot": "快照时",
336
305
  "time.beforeSnapshot": "快照前 {age}",
@@ -411,15 +380,14 @@ export const dashboardCopyZhCn = {
411
380
  "app.overview.broker": "Broker",
412
381
  "app.overview.claudeConn": "Claude 连接器",
413
382
  "app.overview.codexConn": "Codex 连接器",
414
- "app.overview.compat": "兼容性",
415
383
  "app.overview.connectorMissing": "未报告连接器",
416
384
  "app.overview.node.claude.title": "claude",
417
385
  "app.overview.node.claude.sub": "会话",
418
386
  "app.overview.node.codex.title": "codex",
419
387
  "app.overview.node.codex.sub": "任务",
420
- "app.overview.count.codex": "已就绪 {ready} · 已注册 {total} · 仅监控 {monitorOnly}",
388
+ "app.overview.count.codex": "已就绪 {ready} · 已注册 {total}",
421
389
  "app.overview.noPair.title": "没有同意边",
422
- "app.overview.noPair.body": "配对入站仅接受由显式同意边连接到已注册 Codex 任务的发送方;Codex 也只沿显式边路由。",
390
+ "app.overview.noPair.body": "配对入站仅接受由显式同意边连接的发送方;所有提供方路由都遵循相同的同意边。",
423
391
  "app.overview.degradedEdge": "有一条已显示的同意边尚未就绪。",
424
392
  "app.overview.degradedEdges": "部分同意边仍然保留,但尚未就绪。",
425
393
  "app.overview.queueC2x": "Claude → Codex",
@@ -435,6 +403,9 @@ export const dashboardCopyZhCn = {
435
403
  "app.deliveries.dir.label": "方向",
436
404
  "app.deliveries.dir.all": "全部",
437
405
  "app.deliveries.dir.codexToClaude": "Claude ← Codex",
406
+ "app.deliveries.fromProvider": "发送提供方",
407
+ "app.deliveries.toProvider": "接收提供方",
408
+ "app.deliveries.providerAll": "所有提供方",
438
409
  "app.deliveries.view.label": "视图",
439
410
  "app.deliveries.view.byRoute": "按路由对",
440
411
  "app.deliveries.view.flat": "平铺列表",
@@ -458,22 +429,24 @@ export const dashboardCopyZhCn = {
458
429
  "app.routes.codexRoutes": "Codex 任务",
459
430
  "app.routes.pairs": "同意边",
460
431
  "app.routes.pairDescription": "同意边:{claude} ↔ {codex}",
432
+ "app.routes.unpairedProvider": "{provider}:{count} 个就绪端点尚无同意边",
433
+ "app.routes.consentEndpoint": "{provider} · {alias}",
434
+ "app.routes.consentEdge": "{left} ↔ {right}",
461
435
  "app.routes.pairState.degraded": "已降级",
462
436
  "app.routes.pairState.unavailable": "不可用",
463
437
  "app.routes.pairDegradedReason": "同意边仍然保留;一端或两端路由需要处理。",
464
438
  "app.routes.pairUnavailableReason": "同意边仍然保留;此快照中缺少一端或两端已保存路由的记录。",
465
439
  "app.routes.pairSummary": "就绪:{ready} · 同意边:{total}",
466
- "app.routes.unpairedSummary": "{claude} 个就绪 Claude 端点与 {codex} 个就绪 Codex 端点没有同意边。",
467
- "app.routes.pairCmd.consequence": "仅在 {claude} 与 {codex} 之间建立同意;现有边保持不变。",
468
- "app.routes.unpairCmd.consequence": "仅移除 {claude} 与 {codex} 之间的同意;相邻边上的工作保持活动。",
440
+ "app.routes.unpairedSummary": "尚无同意边的就绪端点仍会显示在各自提供方行中。",
441
+ "app.routes.pairCmd.consequence": "仅在这两个具名提供方端点之间建立同意;现有边保持不变。",
442
+ "app.routes.unpairCmd.consequence": "仅移除这两个具名提供方端点之间的同意;相邻边上的工作保持活动。",
469
443
  "app.routes.selectCmd.title": "建立同意边",
470
- "app.routes.selectCmd.consequence": "在此 Claude 会话与一个 Codex 任务之间建立一条同意边;其他边保持不变。",
444
+ "app.routes.selectCmd.consequence": "在这两个具名提供方端点之间建立一条同意边;其他边保持不变。",
471
445
  "app.routes.selectCmd.consequenceOpen": "建立一条出站目标边。开放入站仍会接受同一操作系统用户下的任何在线 Claude 会话。",
472
446
  "app.routes.unselectCmd.consequence": "仅移除此同意边;相邻边上的工作保持活动。",
473
447
  "app.routes.unselectCmd.consequenceOpen": "仅移除此出站边。开放入站仍对同一操作系统用户下的所有在线 Claude 会话启用。",
474
448
  "app.routes.refreshCmd": "重新读取本地发现结果,并重写静态面板文件。",
475
449
  "app.routes.removeStaleCodex.consequence": "仅当代理确认 {alias} 的注册已陈旧且其端点代际已失效时才会移除。相关同意边也会移除;在线注册绝不会被触碰。",
476
- "app.routes.monitorOnlyReason": "仅监控——此路由因 CODEX_WRITES_DISABLED 而停用写入。",
477
450
  "app.routes.noPeers": "此快照中没有发现任何 Claude 会话。",
478
451
  "app.routes.noCodex": "尚未注册任何 Codex 任务。",
479
452
  "app.routes.successions": "继任历史",
@@ -485,9 +458,8 @@ export const dashboardCopyZhCn = {
485
458
  "app.routes.queueDepth": "队列深度",
486
459
  "app.routes.counters": "路由计数器",
487
460
  "app.routes.registered": "已注册",
488
- "app.routes.monitorOnly": "monitor-only",
489
461
  "app.routes.registerHint": "注册不是按钮:它必须在 Codex 任务内运行以继承其身份。请让你的代理运行:",
490
- "app.routes.noPairInline": "无同意边 — 请将 Claude 会话与 Codex 任务配对",
462
+ "app.routes.noPairInline": "无同意边 — 请配对来自不同提供方的两个就绪端点",
491
463
  "app.omitted.pairs": "另有 {count} 条同意边未显示。",
492
464
  "app.activity.title": "事件流 — 有界,最新在前",
493
465
  "app.activity.kinds.all": "所有类型",
@@ -511,15 +483,13 @@ export const dashboardCopyZhCn = {
511
483
  "app.activity.operation.rejected": "已拒绝",
512
484
  "app.activity.limited": "操作者操作台账仅保留于本次代理进程。操作者操作行不携带消息正文;“投递”按设计显示已保留正文。完整能力令牌始终不会显示。",
513
485
  "app.activity.empty": "此窗口内没有内容。事件会随 broker 产生而出现;可以试试",
514
- "app.diag.versions": "连接器协议",
515
- "app.diag.versions.caption": "本地连接器的协议与兼容性状态",
486
+ "app.diag.versions": "提供方连接器",
487
+ "app.diag.versions.caption": "本地提供方连接器的尽力而为观测",
516
488
  "app.diag.col.provider": "提供方",
517
489
  "app.diag.col.host": "主机",
518
490
  "app.diag.col.protocol": "协议",
519
491
  "app.diag.col.version": "版本",
520
- "app.diag.col.compat": "兼容性",
521
- "app.diag.versions.rangeAbsent": "连接器行显示已观察到的协议标记。下方的“提供方兼容性”会显示已观察版本、本次发布测试的构建、受支持主版本和探测结果。",
522
- "app.diag.providerCompatibility.title": "提供方兼容性",
492
+ "app.diag.versions.rangeAbsent": "协议与版本只是观测元数据,不授予路由权限。健康度与最近安全代码描述当前连接器。",
523
493
  "app.diag.lease.title": "租约 / 实例",
524
494
  "app.diag.lease.absent": "实时契约不携带租约状态。请用下面的命令查看本地状态。",
525
495
  "app.diag.limits": "限制与压力",
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-copy.zh-CN.js","sourceRoot":"","sources":["../../../src/gateway/dashboard-copy.zh-CN.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-copy.zh-CN.js","sourceRoot":"","sources":["../../../src/gateway/dashboard-copy.zh-CN.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { type CompatibilityTier, type CompatibilitySurface, type CompatibilitySurfaceDefinition } from "./compatibility.js";
2
- import type { AlertSeverity, CompatibilityState, ConnectorHealth, DeliveryState, GatewayProvider, GatewayPublicSnapshot, MessageDirection, PublicAvailablePeerState, RouteCounters, RouteState } from "./types.js";
1
+ import type { AlertSeverity, ConnectorHealth, DeliveryState, GatewayProvider, GatewayPublicSnapshot, MessageDirection, PublicAvailablePeerState, RouteCounters, RouteState } from "./types.js";
3
2
  export declare const DASHBOARD_MODEL_LIMITS: Readonly<{
4
3
  readonly connectors: 16;
5
4
  readonly availablePeers: 64;
6
5
  readonly routes: 128;
7
- readonly pairs: 64;
6
+ readonly consentEdges: 64;
8
7
  readonly messages: 50;
9
8
  readonly messageEvents: 60;
10
9
  readonly progressWatches: 64;
@@ -13,16 +12,15 @@ export declare const DASHBOARD_MODEL_LIMITS: Readonly<{
13
12
  readonly alerts: 32;
14
13
  }>;
15
14
  export type DashboardTone = "good" | "info" | "warning" | "danger" | "quiet";
16
- export type DashboardNextAction = "discover_claude" | "select_claude" | "pair_routes" | "restore_claude" | "repair_claude_inventory" | "register_codex" | "restore_codex" | "review_compatibility" | "none";
15
+ export type DashboardNextAction = "discover_claude" | "select_claude" | "pair_routes" | "restore_claude" | "repair_claude_inventory" | "register_codex" | "restore_codex" | "none";
17
16
  export type DashboardExchangeParty = Readonly<{
18
- kind: "claude" | "codex";
17
+ kind: GatewayProvider;
19
18
  status: "ready" | "busy" | "waiting" | "missing" | "attention";
20
19
  total: number;
21
20
  ready: number;
22
21
  selectable?: number | undefined;
23
22
  countIsLowerBound: boolean;
24
23
  primaryAlias?: string | undefined;
25
- monitorOnly?: number | undefined;
26
24
  nextAction: DashboardNextAction;
27
25
  }>;
28
26
  export type DashboardAttentionItem = Readonly<{
@@ -35,7 +33,7 @@ export type DashboardAttentionItem = Readonly<{
35
33
  host?: string | undefined;
36
34
  /** Present only for a threshold-stalled queue behind a busy Codex route. */
37
35
  queueDepth?: number | undefined;
38
- guidance: "reobserve_claude" | "reobserve_codex" | "codex_reactivation_required" | "consent_edge_unavailable" | "claude_not_observed" | "codex_stale" | "codex_app_reconnect_required" | "connector_offline" | "route_stale" | "queue_stalled" | "recipient_waiting_input" | "unconfirmed" | "degraded" | "codex_succession_busy" | "codex_succession_recovery" | "progress_watch" | "registry_empty" | "registry_rejected" | "provider_incompatible" | "generic";
36
+ guidance: "reobserve_claude" | "reobserve_codex" | "codex_reactivation_required" | "consent_edge_unavailable" | "claude_not_observed" | "codex_stale" | "codex_app_reconnect_required" | "connector_offline" | "route_stale" | "queue_stalled" | "recipient_waiting_input" | "unconfirmed" | "degraded" | "codex_succession_busy" | "codex_succession_recovery" | "progress_watch" | "registry_empty" | "registry_rejected" | "generic";
39
37
  }>;
40
38
  export type DashboardProgressWatchRow = Readonly<{
41
39
  conversationIdSuffix: string;
@@ -55,7 +53,7 @@ export type DashboardProgressWatchEventRow = Readonly<{
55
53
  workerAlias: string;
56
54
  kind: "opened" | "replaced" | "settled";
57
55
  actor: "owner" | "worker" | "operator" | "gateway" | "unknown";
58
- reason?: "done" | "untracked" | "idle_timeout" | "pair_removed" | "endpoint_retired" | "tracking_disabled" | "legacy_upgrade" | "legacy_done" | undefined;
56
+ reason?: "done" | "untracked" | "idle_timeout" | "pair_removed" | "endpoint_retired" | "tracking_disabled" | undefined;
59
57
  }>;
60
58
  export type DashboardMessageEvent = Readonly<{
61
59
  sequence: number;
@@ -97,11 +95,10 @@ export type DashboardPeerRow = Readonly<{
97
95
  alias: string;
98
96
  host: string;
99
97
  state: PublicAvailablePeerState;
100
- compatibility: CompatibilityState;
101
98
  validated: boolean;
102
99
  selected: boolean;
103
100
  selectable: boolean;
104
- selectionGuidance?: "alias_collision" | "session_collision" | "discovery_incomplete" | "incompatible" | "offline" | undefined;
101
+ selectionGuidance?: "alias_collision" | "session_collision" | "discovery_incomplete" | "offline" | undefined;
105
102
  lastSeenAt?: string | undefined;
106
103
  safeErrorCode?: string | undefined;
107
104
  }>;
@@ -111,7 +108,6 @@ export type DashboardRouteRow = Readonly<{
111
108
  host: string;
112
109
  enabled: boolean;
113
110
  state: RouteState;
114
- compatibility: CompatibilityState;
115
111
  queueDepth: number;
116
112
  oldestQueuedAt?: string | undefined;
117
113
  queueAgeMs?: number | undefined;
@@ -119,58 +115,32 @@ export type DashboardRouteRow = Readonly<{
119
115
  lastSeenAt?: string | undefined;
120
116
  safeErrorCode?: string | undefined;
121
117
  }>;
122
- export type DashboardPairRow = Readonly<{
123
- claudeAlias: string;
124
- codexAlias: string;
118
+ export type DashboardConsentEndpoint = Readonly<{
119
+ alias: string;
120
+ provider: GatewayProvider;
121
+ }>;
122
+ export type DashboardConsentEdgeRow = Readonly<{
123
+ endpoints: readonly [DashboardConsentEndpoint, DashboardConsentEndpoint];
125
124
  host: string;
126
125
  state: "ready" | "degraded" | "unavailable";
127
126
  counters: RouteCounters;
128
127
  }>;
129
128
  export type DashboardGraphFacts = Readonly<{
130
- pairCount: number;
131
- readyPairCount: number;
132
- pairCountIsLowerBound: boolean;
133
- unpairedReadyClaude: number;
134
- unpairedReadyCodex: number;
129
+ consentEdgeCount: number;
130
+ readyConsentEdgeCount: number;
131
+ consentEdgeCountIsLowerBound: boolean;
132
+ unpairedReadyByProvider: Readonly<Record<GatewayProvider, number>>;
135
133
  }>;
136
134
  export type DashboardConnectorRow = Readonly<{
137
135
  provider: GatewayProvider;
138
136
  host: string;
139
137
  health: ConnectorHealth;
140
- compatibility: CompatibilityState;
141
138
  protocol?: string | undefined;
142
139
  protocolVersion?: string | undefined;
143
140
  lastSeenAt?: string | undefined;
144
141
  safeErrorCode?: string | undefined;
145
142
  registry?: DashboardRegistryObservation | undefined;
146
143
  }>;
147
- type DashboardDetectedCompatibilityCheckRow = Readonly<{
148
- surface: CompatibilitySurface;
149
- version: string;
150
- testedVersion?: string;
151
- supportedMajor?: string;
152
- tier: CompatibilityTier;
153
- writesCovered: boolean;
154
- checkedAt: string;
155
- failure?: string | undefined;
156
- safeErrorCode?: string | undefined;
157
- }>;
158
- export type DashboardCompatibilityCheckRow = DashboardDetectedCompatibilityCheckRow | Readonly<{
159
- surface: CompatibilitySurface;
160
- notDetected: true;
161
- version?: never;
162
- testedVersion?: never;
163
- supportedMajor?: never;
164
- tier?: never;
165
- writesCovered?: never;
166
- checkedAt?: never;
167
- failure?: never;
168
- safeErrorCode?: never;
169
- }>;
170
- export type DashboardModelOptions = Readonly<{
171
- /** Test-only surface inventory; production uses the declared registry. */
172
- compatibilitySurfaceDefinitions?: readonly CompatibilitySurfaceDefinition[];
173
- }>;
174
144
  export type DashboardRegistryObservation = Readonly<{
175
145
  entriesScanned: number;
176
146
  parseableRecords: number;
@@ -185,7 +155,7 @@ export type DashboardOmissions = Readonly<{
185
155
  connectors: number;
186
156
  availablePeers: number;
187
157
  routes: number;
188
- pairs: number;
158
+ consentEdges: number;
189
159
  progressWatches: number;
190
160
  upstreamProgressWatchEvents: number;
191
161
  progressWatchEvents: number;
@@ -198,14 +168,13 @@ export type DashboardOmissions = Readonly<{
198
168
  activityEvents: number;
199
169
  }>;
200
170
  export type DashboardViewModel = Readonly<{
201
- schemaVersion: 1;
171
+ schemaVersion: 2;
202
172
  generatedAt?: string | undefined;
203
173
  inboundMode: "paired" | "open";
204
174
  health: ConnectorHealth;
205
175
  overall: "ready" | "setup" | "attention";
206
176
  exchange: Readonly<{
207
- claude: DashboardExchangeParty;
208
- codex: DashboardExchangeParty;
177
+ parties: readonly DashboardExchangeParty[];
209
178
  queuedMessages: number;
210
179
  queueCountIsLowerBound: boolean;
211
180
  oldestQueueAgeMs?: number | undefined;
@@ -224,12 +193,11 @@ export type DashboardViewModel = Readonly<{
224
193
  brokerActivity: readonly DashboardActivityEventRow[];
225
194
  peers: readonly DashboardPeerRow[];
226
195
  routes: readonly DashboardRouteRow[];
227
- pairs: readonly DashboardPairRow[];
196
+ consentEdges: readonly DashboardConsentEdgeRow[];
228
197
  watches: readonly DashboardProgressWatchRow[];
229
198
  watchEvents: readonly DashboardProgressWatchEventRow[];
230
199
  graph: DashboardGraphFacts;
231
200
  connectors: readonly DashboardConnectorRow[];
232
- compatibilityChecks: readonly DashboardCompatibilityCheckRow[];
233
201
  accounting: GatewayPublicSnapshot["accounting"];
234
202
  deadlinePressure?: GatewayPublicSnapshot["deadlinePressure"];
235
203
  omissions: DashboardOmissions;
@@ -238,27 +206,23 @@ export type LiveDashboardViewModel = Omit<DashboardViewModel, "activity"> & Read
238
206
  activity: readonly LiveDashboardMessageGroup[];
239
207
  }>;
240
208
  export type DashboardChipKind = "positive" | "qualified" | "active" | "progress" | "warning" | "indeterminate" | "failure" | "inert" | "unknown";
241
- export type DashboardSemanticDomain = "delivery" | "route" | "peer" | "health" | "compatibility" | "overall" | "party" | "severity" | "connection";
209
+ export type DashboardSemanticDomain = "delivery" | "route" | "peer" | "health" | "overall" | "party" | "severity" | "connection";
242
210
  /** JSON-safe semantics embedded once in the live dashboard boot payload. */
243
211
  export declare const DASHBOARD_SEMANTICS: Readonly<{
244
212
  readonly statePresentation: {
245
- readonly delivery: Readonly<Record<"expired" | "queued" | "duplicate" | "dispatching" | "transport_written" | "held" | "delivered" | "unconfirmed" | "failed" | "ambiguous" | "cancelled" | "abandoned" | "rejected", Readonly<{
246
- tone: DashboardTone;
247
- chip: DashboardChipKind;
248
- }>>>;
249
- readonly route: Readonly<Record<"incompatible" | "offline" | "stale" | "idle" | "busy" | "awaiting_approval" | "disabled", Readonly<{
213
+ readonly delivery: Readonly<Record<"delivered" | "failed" | "cancelled" | "queued" | "duplicate" | "dispatching" | "transport_written" | "held" | "unconfirmed" | "ambiguous" | "expired" | "abandoned" | "rejected", Readonly<{
250
214
  tone: DashboardTone;
251
215
  chip: DashboardChipKind;
252
216
  }>>>;
253
- readonly peer: Readonly<Record<"incompatible" | "offline" | "idle" | "busy" | "awaiting_approval", Readonly<{
217
+ readonly route: Readonly<Record<"offline" | "stale" | "idle" | "busy" | "awaiting_approval" | "disabled", Readonly<{
254
218
  tone: DashboardTone;
255
219
  chip: DashboardChipKind;
256
220
  }>>>;
257
- readonly health: Readonly<Record<"incompatible" | "offline" | "connecting" | "healthy" | "degraded", Readonly<{
221
+ readonly peer: Readonly<Record<"offline" | "idle" | "busy" | "awaiting_approval", Readonly<{
258
222
  tone: DashboardTone;
259
223
  chip: DashboardChipKind;
260
224
  }>>>;
261
- readonly compatibility: Readonly<Record<"unknown" | "incompatible" | "compatible" | "expired", Readonly<{
225
+ readonly health: Readonly<Record<"offline" | "connecting" | "healthy" | "degraded", Readonly<{
262
226
  tone: DashboardTone;
263
227
  chip: DashboardChipKind;
264
228
  }>>>;
@@ -266,22 +230,22 @@ export declare const DASHBOARD_SEMANTICS: Readonly<{
266
230
  tone: DashboardTone;
267
231
  chip: DashboardChipKind;
268
232
  }>>>;
269
- readonly party: Readonly<Record<"busy" | "waiting" | "ready" | "missing" | "attention", Readonly<{
233
+ readonly party: Readonly<Record<"busy" | "ready" | "waiting" | "missing" | "attention", Readonly<{
270
234
  tone: DashboardTone;
271
235
  chip: DashboardChipKind;
272
236
  }>>>;
273
- readonly severity: Readonly<Record<"info" | "warning" | "error", Readonly<{
237
+ readonly severity: Readonly<Record<"error" | "info" | "warning", Readonly<{
274
238
  tone: DashboardTone;
275
239
  chip: DashboardChipKind;
276
240
  }>>>;
277
- readonly connection: Readonly<Record<"connecting" | "unavailable" | "connected" | "paused" | "capacity" | "disconnected" | "stopped", Readonly<{
241
+ readonly connection: Readonly<Record<"connected" | "connecting" | "unavailable" | "paused" | "capacity" | "disconnected" | "stopped", Readonly<{
278
242
  tone: DashboardTone;
279
243
  chip: DashboardChipKind;
280
244
  }>>>;
281
245
  };
282
- readonly deliveryChipByDirection: {
246
+ readonly deliveryChipByTargetProvider: {
283
247
  readonly delivered: {
284
- readonly codex_to_claude: "qualified";
248
+ readonly claude: "qualified";
285
249
  };
286
250
  };
287
251
  readonly deliveryChipBySafeErrorCode: {
@@ -313,7 +277,6 @@ export declare const DASHBOARD_SEMANTICS: Readonly<{
313
277
  readonly progress_watch: "progressWatch";
314
278
  readonly registry_empty: "registryEmpty";
315
279
  readonly registry_rejected: "registryRejected";
316
- readonly provider_incompatible: "providerIncompatible";
317
280
  readonly generic: "generic";
318
281
  };
319
282
  readonly nextActionCopyKeys: {
@@ -324,7 +287,6 @@ export declare const DASHBOARD_SEMANTICS: Readonly<{
324
287
  readonly repair_claude_inventory: "next.repairClaude";
325
288
  readonly register_codex: "next.registerCodex";
326
289
  readonly restore_codex: "next.restoreCodex";
327
- readonly review_compatibility: "next.reviewCompatibility";
328
290
  readonly none: "next.none";
329
291
  };
330
292
  readonly attentionCommands: {
@@ -346,7 +308,6 @@ export declare const DASHBOARD_SEMANTICS: Readonly<{
346
308
  readonly progress_watch: "embassy status";
347
309
  readonly registry_empty: "embassy refresh-dashboard";
348
310
  readonly registry_rejected: "embassy status";
349
- readonly provider_incompatible: "embassy refresh-dashboard";
350
311
  readonly generic: "embassy status";
351
312
  };
352
313
  readonly attentionCommandFallbacks: {
@@ -368,9 +329,11 @@ export declare const DASHBOARD_SEMANTICS: Readonly<{
368
329
  readonly abandoned: "activity.meaning.abandoned.generic";
369
330
  readonly rejected: "activity.meaning.rejected";
370
331
  };
371
- readonly deliveryMeaningByDirection: {
372
- readonly codex_to_claude: "activity.meaning.delivered.codexToClaude";
373
- readonly claude_to_codex: "activity.meaning.delivered.claudeToCodex";
332
+ readonly deliveryMeaningByTargetProvider: {
333
+ readonly claude: "activity.meaning.delivered.toClaude";
334
+ readonly codex: "activity.meaning.delivered.toCodex";
335
+ readonly deepseek: "activity.meaning.delivered.toDeepSeek";
336
+ readonly grok: "activity.meaning.delivered.toGrok";
374
337
  };
375
338
  readonly deliveryMeaningBySafeErrorCode: {
376
339
  readonly SENDER_NOT_PAIRED: "activity.meaning.senderNotPaired";
@@ -387,6 +350,5 @@ export declare function deliveryMeaningKey(state: string, direction?: MessageDir
387
350
  export declare function guidanceCopyKey(guidance: DashboardAttentionItem["guidance"]): string;
388
351
  export declare function nextActionCopyKey(action: DashboardNextAction): string;
389
352
  export declare function attentionCommand(item: DashboardAttentionItem): string;
390
- export declare function buildDashboardViewModel(snapshot: GatewayPublicSnapshot, options?: DashboardModelOptions): DashboardViewModel;
391
- export declare function buildLiveDashboardViewModel(snapshot: GatewayPublicSnapshot, options?: DashboardModelOptions): LiveDashboardViewModel;
392
- export {};
353
+ export declare function buildDashboardViewModel(snapshot: GatewayPublicSnapshot): DashboardViewModel;
354
+ export declare function buildLiveDashboardViewModel(snapshot: GatewayPublicSnapshot): LiveDashboardViewModel;