agent-embassy 1.6.1 → 1.7.1

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 (105) hide show
  1. package/CHANGELOG.md +33 -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.d.ts +1 -1
  26. package/dist/src/gateway/cli-copy.en.d.ts +3 -1
  27. package/dist/src/gateway/cli-copy.en.js +5 -2
  28. package/dist/src/gateway/cli-copy.en.js.map +1 -1
  29. package/dist/src/gateway/cli-copy.js +2 -0
  30. package/dist/src/gateway/cli-copy.js.map +1 -1
  31. package/dist/src/gateway/cli-copy.zh-CN.d.ts +3 -1
  32. package/dist/src/gateway/cli-copy.zh-CN.js +5 -2
  33. package/dist/src/gateway/cli-copy.zh-CN.js.map +1 -1
  34. package/dist/src/gateway/cli.d.ts +2 -2
  35. package/dist/src/gateway/cli.js +73 -6
  36. package/dist/src/gateway/cli.js.map +1 -1
  37. package/dist/src/gateway/codex-app-server.d.ts +5 -74
  38. package/dist/src/gateway/codex-app-server.js +9 -599
  39. package/dist/src/gateway/codex-app-server.js.map +1 -1
  40. package/dist/src/gateway/codex-doctor.d.ts +33 -0
  41. package/dist/src/gateway/codex-doctor.js +148 -0
  42. package/dist/src/gateway/codex-doctor.js.map +1 -0
  43. package/dist/src/gateway/codex-local-transport.d.ts +13 -26
  44. package/dist/src/gateway/codex-local-transport.js +31 -76
  45. package/dist/src/gateway/codex-local-transport.js.map +1 -1
  46. package/dist/src/gateway/compatibility.d.ts +6 -66
  47. package/dist/src/gateway/compatibility.js +14 -296
  48. package/dist/src/gateway/compatibility.js.map +1 -1
  49. package/dist/src/gateway/config.d.ts +9 -0
  50. package/dist/src/gateway/config.js +6 -2
  51. package/dist/src/gateway/config.js.map +1 -1
  52. package/dist/src/gateway/control.d.ts +16 -1
  53. package/dist/src/gateway/control.js +128 -59
  54. package/dist/src/gateway/control.js.map +1 -1
  55. package/dist/src/gateway/dashboard-copy.d.ts +1 -1
  56. package/dist/src/gateway/dashboard-copy.en.d.ts +19 -44
  57. package/dist/src/gateway/dashboard-copy.en.js +42 -67
  58. package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
  59. package/dist/src/gateway/dashboard-copy.js +19 -44
  60. package/dist/src/gateway/dashboard-copy.js.map +1 -1
  61. package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +19 -44
  62. package/dist/src/gateway/dashboard-copy.zh-CN.js +42 -67
  63. package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
  64. package/dist/src/gateway/dashboard-model.d.ts +41 -76
  65. package/dist/src/gateway/dashboard-model.js +167 -257
  66. package/dist/src/gateway/dashboard-model.js.map +1 -1
  67. package/dist/src/gateway/dashboard.d.ts +0 -3
  68. package/dist/src/gateway/dashboard.js +77 -76
  69. package/dist/src/gateway/dashboard.js.map +1 -1
  70. package/dist/src/gateway/deepseek-detect.d.ts +7 -6
  71. package/dist/src/gateway/deepseek-detect.js +31 -115
  72. package/dist/src/gateway/deepseek-detect.js.map +1 -1
  73. package/dist/src/gateway/live-dashboard-app/app.js +175 -621
  74. package/dist/src/gateway/live-dashboard-command.js +2 -4
  75. package/dist/src/gateway/live-dashboard-command.js.map +1 -1
  76. package/dist/src/gateway/live-dashboard-http.d.ts +1 -2
  77. package/dist/src/gateway/live-dashboard-http.js +14 -15
  78. package/dist/src/gateway/live-dashboard-http.js.map +1 -1
  79. package/dist/src/gateway/progress-watch-machine.d.ts +1 -4
  80. package/dist/src/gateway/progress-watch-machine.js.map +1 -1
  81. package/dist/src/gateway/provenance-envelope.d.ts +3 -2
  82. package/dist/src/gateway/provenance-envelope.js +44 -11
  83. package/dist/src/gateway/provenance-envelope.js.map +1 -1
  84. package/dist/src/gateway/providers.d.ts +19 -85
  85. package/dist/src/gateway/providers.js +132 -835
  86. package/dist/src/gateway/providers.js.map +1 -1
  87. package/dist/src/gateway/server.d.ts +8 -9
  88. package/dist/src/gateway/server.js +63 -99
  89. package/dist/src/gateway/server.js.map +1 -1
  90. package/dist/src/gateway/service.d.ts +48 -51
  91. package/dist/src/gateway/service.js +748 -540
  92. package/dist/src/gateway/service.js.map +1 -1
  93. package/dist/src/gateway/store.d.ts +20 -29
  94. package/dist/src/gateway/store.js +306 -838
  95. package/dist/src/gateway/store.js.map +1 -1
  96. package/dist/src/gateway/types.d.ts +63 -54
  97. package/dist/src/gateway/types.js +51 -91
  98. package/dist/src/gateway/types.js.map +1 -1
  99. package/docs/CONFIGURATION.md +11 -10
  100. package/docs/CONFIGURATION.zh-CN.md +10 -9
  101. package/docs/DASHBOARD.md +4 -38
  102. package/docs/DASHBOARD.zh-CN.md +4 -2
  103. package/docs/GATEWAY-ARCHITECTURE.md +61 -119
  104. package/package.json +1 -1
  105. package/skills/embassy-peer/SKILL.md +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-model.js","sourceRoot":"","sources":["../../../src/gateway/dashboard-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-model.js","sourceRoot":"","sources":["../../../src/gateway/dashboard-model.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { type DashboardLocale } from "./dashboard-copy.js";
2
- import { type DashboardModelOptions } from "./dashboard-model.js";
3
2
  import type { GatewayPublicSnapshot } from "./types.js";
4
3
  export type { GatewayPublicSnapshot } from "./types.js";
5
4
  export type DashboardSnapshot = GatewayPublicSnapshot;
@@ -19,8 +18,6 @@ export type DashboardRenderOptions = {
19
18
  locale?: DashboardLocale;
20
19
  /** Deprecated and ignored: v1 snapshots are deliberately inert. */
21
20
  refreshSeconds?: number;
22
- /** Test-only surface inventory; production uses the declared registry. */
23
- compatibilitySurfaceDefinitions?: DashboardModelOptions["compatibilitySurfaceDefinitions"];
24
21
  };
25
22
  export declare function escapeDashboardHtml(value: string): string;
26
23
  export declare function renderGatewayDashboard(snapshot: GatewayPublicSnapshot, options?: DashboardRenderOptions): string;
@@ -3,6 +3,7 @@ import { lstat, open, realpath, rename, unlink, } from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  import { formatDashboardCopy, getDashboardCopy, } from "./dashboard-copy.js";
5
5
  import { buildDashboardViewModel, DASHBOARD_MODEL_LIMITS, dashboardTone, deliveryMeaningKey, guidanceCopyKey, nextActionCopyKey, } from "./dashboard-model.js";
6
+ import { parseDirection } from "./types.js";
6
7
  export const DASHBOARD_FILE_NAME = "gateway-dashboard.html";
7
8
  export const DASHBOARD_ZH_CN_FILE_NAME = "gateway-dashboard.zh-CN.html";
8
9
  /** Retained as an API compatibility constant. Static snapshots never refresh. */
@@ -139,9 +140,6 @@ function toneForParty(status) {
139
140
  function toneForHealth(health) {
140
141
  return dashboardTone("health", health);
141
142
  }
142
- function toneForCompatibility(compatibility) {
143
- return dashboardTone("compatibility", compatibility);
144
- }
145
143
  function toneForRoute(state) {
146
144
  return dashboardTone("route", state);
147
145
  }
@@ -178,60 +176,76 @@ function nextActionLabel(context, action) {
178
176
  }
179
177
  function renderParty(context, party) {
180
178
  const isClaude = party.kind === "claude";
179
+ const title = party.kind === "claude"
180
+ ? t(context, "exchange.claude.title")
181
+ : party.kind === "codex"
182
+ ? t(context, "exchange.codex.title")
183
+ : providerLabel(context, party.kind);
184
+ const note = party.kind === "claude"
185
+ ? t(context, "exchange.claude.note")
186
+ : party.kind === "codex"
187
+ ? t(context, "exchange.codex.note")
188
+ : t(context, "exchange.provider.note");
181
189
  const ready = renderCount(context, party.ready, party.countIsLowerBound);
182
190
  const total = renderCount(context, party.total, party.countIsLowerBound);
183
191
  const selectable = renderCount(context, party.selectable ?? 0, party.countIsLowerBound);
184
192
  return `<article class="exchange-party exchange-party--${party.kind}" data-semantic-party="${party.kind}">
185
193
  <div class="party-heading">
186
- <div><h3>${t(context, isClaude ? "exchange.claude.title" : "exchange.codex.title")}</h3><p>${t(context, isClaude ? "exchange.claude.note" : "exchange.codex.note")}</p></div>
194
+ <div><h3>${title}</h3><p>${note}</p></div>
187
195
  ${statusPill(partyStatusLabel(context, party.status), toneForParty(party.status))}
188
196
  </div>
189
- <p class="party-count">${t(context, isClaude ? "exchange.count.claude" : "app.overview.count.codex", { ready, selectable, total, monitorOnly: party.monitorOnly ?? 0 })}</p>
197
+ <p class="party-count">${t(context, isClaude ? "exchange.count.claude" : "app.overview.count.provider", { ready, selectable, total })}</p>
190
198
  ${party.primaryAlias === undefined ? "" : `<p class="party-alias">${escapeDashboardHtml(party.primaryAlias)}</p>`}
191
- ${party.monitorOnly === undefined ? "" : `<p class="cell-note">${t(context, "app.routes.monitorOnlyReason")}</p>`}
192
199
  <p class="next-action"><strong>${t(context, "next.label")}:</strong> ${nextActionLabel(context, party.nextAction)}</p>
193
200
  </article>`;
194
201
  }
195
202
  function renderPairGraph(context) {
196
203
  const graph = context.model.graph;
197
- const locallyOmittedPairs = Math.max(0, graph.pairCount - context.model.pairs.length);
198
- const upstreamOmittedPairs = Math.max(0, context.model.omissions.pairs - locallyOmittedPairs);
199
- const knownPairCount = graph.pairCount + upstreamOmittedPairs;
204
+ const locallyOmittedPairs = Math.max(0, graph.consentEdgeCount - context.model.consentEdges.length);
205
+ const upstreamOmittedPairs = Math.max(0, context.model.omissions.consentEdges - locallyOmittedPairs);
206
+ const knownPairCount = graph.consentEdgeCount + upstreamOmittedPairs;
200
207
  const summary = t(context, "app.routes.pairSummary", {
201
- ready: renderCount(context, graph.readyPairCount, graph.pairCountIsLowerBound),
202
- total: renderCount(context, knownPairCount, graph.pairCountIsLowerBound),
203
- });
204
- const unpaired = t(context, "app.routes.unpairedSummary", {
205
- claude: String(graph.unpairedReadyClaude),
206
- codex: String(graph.unpairedReadyCodex),
208
+ ready: renderCount(context, graph.readyConsentEdgeCount, graph.consentEdgeCountIsLowerBound),
209
+ total: renderCount(context, knownPairCount, graph.consentEdgeCountIsLowerBound),
207
210
  });
208
- const hasPairEvidence = graph.pairCount > 0 || graph.pairCountIsLowerBound;
209
- const rows = context.model.pairs.length === 0 && !hasPairEvidence
211
+ const unpaired = context.model.exchange.parties.map((party) => t(context, "app.routes.unpairedProvider", {
212
+ provider: providerLabel(context, party.kind),
213
+ count: String(graph.unpairedReadyByProvider[party.kind]),
214
+ })).join(" · ");
215
+ const hasPairEvidence = graph.consentEdgeCount > 0 || graph.consentEdgeCountIsLowerBound;
216
+ const rows = context.model.consentEdges.length === 0 && !hasPairEvidence
210
217
  ? `<p class="quiet">${t(context, "app.routes.noPairInline")}</p>`
211
- : `<ul class="pair-list">${context.model.pairs.map((pair) => {
212
- const label = t(context, "app.routes.pairDescription", {
213
- claude: escapeDashboardHtml(pair.claudeAlias),
214
- codex: escapeDashboardHtml(pair.codexAlias),
218
+ : `<ul class="pair-list">${context.model.consentEdges.map((edge) => {
219
+ const [left, right] = edge.endpoints;
220
+ const label = t(context, "app.routes.consentEdge", {
221
+ left: t(context, "app.routes.consentEndpoint", {
222
+ provider: providerLabel(context, left.provider),
223
+ alias: escapeDashboardHtml(left.alias),
224
+ }),
225
+ right: t(context, "app.routes.consentEndpoint", {
226
+ provider: providerLabel(context, right.provider),
227
+ alias: escapeDashboardHtml(right.alias),
228
+ }),
215
229
  });
216
- const stateLabel = pair.state === "ready"
230
+ const stateLabel = edge.state === "ready"
217
231
  ? t(context, "status.ready")
218
- : t(context, pair.state === "degraded"
232
+ : t(context, edge.state === "degraded"
219
233
  ? "app.routes.pairState.degraded"
220
234
  : "app.routes.pairState.unavailable");
221
- const tone = pair.state === "ready"
235
+ const tone = edge.state === "ready"
222
236
  ? "good"
223
- : pair.state === "degraded"
237
+ : edge.state === "degraded"
224
238
  ? "warning"
225
239
  : "danger";
226
- const reason = pair.state === "ready"
240
+ const reason = edge.state === "ready"
227
241
  ? ""
228
- : `<small>${t(context, pair.state === "degraded" ? "app.routes.pairDegradedReason" : "app.routes.pairUnavailableReason")}</small>`;
242
+ : `<small>${t(context, edge.state === "degraded" ? "app.routes.pairDegradedReason" : "app.routes.pairUnavailableReason")}</small>`;
229
243
  return `<li><span>${label}${reason}</span>${statusPill(stateLabel, tone)}</li>`;
230
244
  }).join("")}</ul>`;
231
- const omitted = context.model.omissions.pairs === 0
245
+ const omitted = context.model.omissions.consentEdges === 0
232
246
  ? ""
233
247
  : `<p class="quiet">${t(context, "app.omitted.pairs", {
234
- count: String(context.model.omissions.pairs),
248
+ count: String(context.model.omissions.consentEdges),
235
249
  })}</p>`;
236
250
  return `<section class="pair-graph" aria-labelledby="pair-graph-title">
237
251
  <div class="pair-graph__heading"><h3 id="pair-graph-title">${t(context, "app.routes.pairs")}</h3><strong>${summary}</strong></div>
@@ -248,11 +262,14 @@ function renderExchange(context) {
248
262
  count: renderCount(context, context.model.exchange.queuedMessages, context.model.exchange.queueCountIsLowerBound),
249
263
  });
250
264
  const paired = context.model.inboundMode === "paired";
251
- const hasPair = context.model.graph.pairCount > 0 ||
252
- context.model.graph.pairCountIsLowerBound;
265
+ const hasPair = context.model.graph.consentEdgeCount > 0 ||
266
+ context.model.graph.consentEdgeCountIsLowerBound;
253
267
  const policyBody = paired
254
268
  ? t(context, hasPair ? "inbound.paired.body" : "inbound.noPair.body")
255
269
  : t(context, "inbound.open.body");
270
+ const directionParties = context.model.exchange.parties.length === 2
271
+ ? [...context.model.exchange.parties].reverse()
272
+ : context.model.exchange.parties;
256
273
  return `<section class="section exchange" aria-labelledby="exchange-title">
257
274
  <div class="section-heading">
258
275
  <div><p class="eyebrow">${t(context, "exchange.eyebrow")}</p><h2 id="exchange-title">${t(context, "exchange.title")}</h2></div>
@@ -262,8 +279,8 @@ function renderExchange(context) {
262
279
  ${statusPill(t(context, paired ? "inbound.paired.badge" : "inbound.open.badge"), paired ? "quiet" : "warning")}
263
280
  <p>${policyBody}</p>
264
281
  </div>
265
- <div class="exchange-board">
266
- ${renderParty(context, context.model.exchange.claude)}
282
+ <div class="exchange-board${context.model.exchange.parties.length > 2 ? " exchange-board--many" : ""}">
283
+ ${renderParty(context, context.model.exchange.parties[0])}
267
284
  <div class="pouch" aria-label="${t(context, "exchange.pouch.title")}">
268
285
  <span class="pouch__line" aria-hidden="true"></span>
269
286
  <div class="seal-mark" aria-hidden="true"><span></span></div>
@@ -271,9 +288,9 @@ function renderExchange(context) {
271
288
  <strong>${pouch}</strong>
272
289
  ${age === undefined ? "" : `<small>${t(context, "exchange.pouch.oldest", { age })}</small>`}
273
290
  </div>
274
- ${renderParty(context, context.model.exchange.codex)}
291
+ ${context.model.exchange.parties.slice(1).map((party) => renderParty(context, party)).join("")}
275
292
  </div>
276
- <div class="direction-key" aria-label="${t(context, "exchange.title")}"><span>Codex → Claude</span><span>Claude → Codex</span></div>
293
+ <div class="direction-key" aria-label="${t(context, "exchange.title")}">${directionParties.flatMap((source) => context.model.exchange.parties.filter((target) => target.kind !== source.kind).map((target) => `<span>${providerLabel(context, source.kind)} → ${providerLabel(context, target.kind)}</span>`)).join("")}</div>
277
294
  ${renderPairGraph(context)}
278
295
  </section>`;
279
296
  }
@@ -308,7 +325,7 @@ function renderAttention(context) {
308
325
  const scope = [
309
326
  item.provider === undefined
310
327
  ? undefined
311
- : t(context, item.provider === "claude" ? "provider.claude" : "provider.codex"),
328
+ : providerLabel(context, item.provider),
312
329
  item.alias === undefined ? undefined : escapeDashboardHtml(item.alias),
313
330
  item.host === undefined ? undefined : escapeDashboardHtml(item.host),
314
331
  ].filter((value) => value !== undefined);
@@ -365,7 +382,7 @@ function renderActivity(context) {
365
382
  : context.model.activity
366
383
  .map((message) => `<tr data-dashboard-row="message-summary" data-delivery-state="${message.state}">
367
384
  <td data-label="${t(context, "activity.column.updated")}">${renderTimestampAtSnapshot(context, message.timestamp)}</td>
368
- <td data-label="${t(context, "activity.column.route")}" class="route-cell"><strong>${t(context, message.direction === "claude_to_codex" ? "direction.claudeToCodex" : "direction.codexToClaude")}${message.steer === true ? ' <span class="pill quiet">STEER</span>' : ""}</strong><span>${escapeDashboardHtml(message.sourceAlias)} → ${escapeDashboardHtml(message.targetAlias)}</span></td>
385
+ <td data-label="${t(context, "activity.column.route")}" class="route-cell"><strong>${directionLabel(context, message.direction)}${message.steer === true ? ' <span class="pill quiet">STEER</span>' : ""}</strong><span>${escapeDashboardHtml(message.sourceAlias)} → ${escapeDashboardHtml(message.targetAlias)}</span></td>
369
386
  <td data-label="${t(context, "activity.column.id")}"><code>…${message.messageIdSuffix ?? "—"}</code>${message.conversationIdSuffix === undefined ? "" : `<span class="cell-note"><code>conv …${escapeDashboardHtml(message.conversationIdSuffix)}</code></span>`}</td>
370
387
  <td data-label="${t(context, "activity.column.result")}">${statusPill(t(context, deliveryLabelKey(message.state)), toneForDelivery(message.state, message.safeErrorCode))}<span class="cell-note">${t(context, deliveryMeaningKey(message.state, message.direction, message.safeErrorCode))}</span>${message.safeErrorCode === undefined ? "" : `<code class="cell-code">${message.safeErrorCode}</code>`}</td>
371
388
  <td data-label="${t(context, "activity.column.elapsed")}" class="numeric">${formatDuration(message.latencyMs)}</td>
@@ -418,12 +435,15 @@ function renderProgressWatches(context) {
418
435
  function providerLabel(context, provider) {
419
436
  return t(context, `provider.${provider}`);
420
437
  }
438
+ function directionLabel(context, direction) {
439
+ const parsed = parseDirection(direction);
440
+ return parsed === undefined
441
+ ? direction
442
+ : `${providerLabel(context, parsed.sourceProvider)} → ${providerLabel(context, parsed.targetProvider)}`;
443
+ }
421
444
  function healthLabel(context, health) {
422
445
  return t(context, `health.${health}`);
423
446
  }
424
- function compatibilityLabel(context, compatibility) {
425
- return t(context, `compatibility.${compatibility}`);
426
- }
427
447
  function routeStateLabel(context, state) {
428
448
  const suffix = state === "awaiting_approval" ? "awaitingApproval" : state;
429
449
  return t(context, `route.${suffix}`);
@@ -441,43 +461,27 @@ function peerSelectionGuidance(context, guidance) {
441
461
  ? "peer.reason.discoveryIncomplete"
442
462
  : guidance === "offline"
443
463
  ? "peer.reason.offline"
444
- : "peer.reason.incompatible";
464
+ : "peer.reason.offline";
445
465
  return t(context, key);
446
466
  }
447
467
  function renderSessions(context) {
448
468
  const peerRows = context.model.peers.length === 0
449
469
  ? `<tr class="empty-row"><td colspan="7">${t(context, "sessions.peers.empty")}</td></tr>`
450
- : context.model.peers.map((peer) => `<tr><th scope="row" data-label="${t(context, "column.alias")}">${escapeDashboardHtml(peer.alias)}</th><td data-label="${t(context, "column.host")}">${escapeDashboardHtml(peer.host)}</td><td data-label="${t(context, "column.state")}">${statusPill(peerStateLabel(context, peer.state), toneForPeer(peer.state))}</td><td data-label="${t(context, "column.compatibility")}">${statusPill(compatibilityLabel(context, peer.compatibility), toneForCompatibility(peer.compatibility))}</td><td data-label="${t(context, "column.validation")}">${statusPill(t(context, peer.validated ? "status.validated" : "status.validationRejected"), peer.validated ? "good" : "warning")}</td><td data-label="${t(context, "column.selection")}">${peer.selectable ? statusPill(t(context, peer.selected ? "status.selected" : "status.available"), peer.selected ? "good" : "quiet") : `${statusPill(t(context, "status.notSelectable"), "warning")}${peer.selectionGuidance === undefined ? "" : `<span class="cell-note">${peerSelectionGuidance(context, peer.selectionGuidance)}</span>`}`}</td><td data-label="${t(context, "column.observed")}">${renderTimestampAtSnapshot(context, peer.lastSeenAt)}</td><td data-label="${t(context, "column.issue")}">${peer.safeErrorCode === undefined ? "—" : `<code>${peer.safeErrorCode}</code>`}</td></tr>`).join("");
470
+ : context.model.peers.map((peer) => `<tr><th scope="row" data-label="${t(context, "column.alias")}">${escapeDashboardHtml(peer.alias)}</th><td data-label="${t(context, "column.host")}">${escapeDashboardHtml(peer.host)}</td><td data-label="${t(context, "column.state")}">${statusPill(peerStateLabel(context, peer.state), toneForPeer(peer.state))}</td><td data-label="${t(context, "column.validation")}">${statusPill(t(context, peer.validated ? "status.validated" : "status.validationRejected"), peer.validated ? "good" : "warning")}</td><td data-label="${t(context, "column.selection")}">${peer.selectable ? statusPill(t(context, peer.selected ? "status.selected" : "status.available"), peer.selected ? "good" : "quiet") : `${statusPill(t(context, "status.notSelectable"), "warning")}${peer.selectionGuidance === undefined ? "" : `<span class="cell-note">${peerSelectionGuidance(context, peer.selectionGuidance)}</span>`}`}</td><td data-label="${t(context, "column.observed")}">${renderTimestampAtSnapshot(context, peer.lastSeenAt)}</td><td data-label="${t(context, "column.issue")}">${peer.safeErrorCode === undefined ? "—" : `<code>${peer.safeErrorCode}</code>`}</td></tr>`).join("");
451
471
  const routeRows = context.model.routes.length === 0
452
- ? `<tr class="empty-row"><td colspan="8">${t(context, "sessions.routes.empty")}</td></tr>`
453
- : context.model.routes.map((route) => `<tr><th scope="row" data-label="${t(context, "column.alias")}">${escapeDashboardHtml(route.alias)}</th><td data-label="${t(context, "column.provider")}">${providerLabel(context, route.provider)}</td><td data-label="${t(context, "column.host")}">${escapeDashboardHtml(route.host)}</td><td data-label="${t(context, "column.state")}">${statusPill(routeStateLabel(context, route.enabled ? route.state : "disabled"), toneForRoute(route.enabled ? route.state : "disabled"))}</td><td data-label="${t(context, "column.compatibility")}">${statusPill(compatibilityLabel(context, route.compatibility), toneForCompatibility(route.compatibility))}</td><td data-label="${t(context, "column.queue")}">${formatInteger(route.queueDepth)}${route.queueAgeMs === undefined ? "" : `<span class="cell-note">${escapeDashboardHtml(formatQueueAge(route.queueAgeMs, context.locale) ?? "")}</span>`}</td><td data-label="${t(context, "column.observed")}">${renderTimestampAtSnapshot(context, route.lastSeenAt)}</td><td data-label="${t(context, "column.issue")}">${route.safeErrorCode === undefined ? "—" : `<code>${route.safeErrorCode}</code>`}</td></tr>`).join("");
472
+ ? `<tr class="empty-row"><td colspan="7">${t(context, "sessions.routes.empty")}</td></tr>`
473
+ : context.model.routes.map((route) => `<tr><th scope="row" data-label="${t(context, "column.alias")}">${escapeDashboardHtml(route.alias)}</th><td data-label="${t(context, "column.provider")}">${providerLabel(context, route.provider)}</td><td data-label="${t(context, "column.host")}">${escapeDashboardHtml(route.host)}</td><td data-label="${t(context, "column.state")}">${statusPill(routeStateLabel(context, route.enabled ? route.state : "disabled"), toneForRoute(route.enabled ? route.state : "disabled"))}</td><td data-label="${t(context, "column.queue")}">${formatInteger(route.queueDepth)}${route.queueAgeMs === undefined ? "" : `<span class="cell-note">${escapeDashboardHtml(formatQueueAge(route.queueAgeMs, context.locale) ?? "")}</span>`}</td><td data-label="${t(context, "column.observed")}">${renderTimestampAtSnapshot(context, route.lastSeenAt)}</td><td data-label="${t(context, "column.issue")}">${route.safeErrorCode === undefined ? "—" : `<code>${route.safeErrorCode}</code>`}</td></tr>`).join("");
454
474
  return `<section class="section" aria-labelledby="sessions-title">
455
475
  <div class="section-heading"><div><p class="eyebrow">${t(context, "sessions.eyebrow")}</p><h2 id="sessions-title">${t(context, "sessions.title")}</h2></div><p>${t(context, "sessions.note")}</p></div>
456
476
  <div class="register-grid">
457
- <section aria-labelledby="peers-title"><h3 id="peers-title">${t(context, "sessions.peers.title")}</h3><div class="table-wrap" tabindex="0" role="region" aria-labelledby="peers-title"><table class="responsive-table"><caption>${t(context, "sessions.peers.caption")}</caption><thead><tr><th>${t(context, "column.alias")}</th><th>${t(context, "column.host")}</th><th>${t(context, "column.state")}</th><th>${t(context, "column.compatibility")}</th><th>${t(context, "column.validation")}</th><th>${t(context, "column.selection")}</th><th>${t(context, "column.observed")}</th><th>${t(context, "column.issue")}</th></tr></thead><tbody>${peerRows}</tbody></table></div></section>
458
- <section aria-labelledby="routes-title"><h3 id="routes-title">${t(context, "sessions.routes.title")}</h3><div class="table-wrap" tabindex="0" role="region" aria-labelledby="routes-title"><table class="responsive-table"><caption>${t(context, "sessions.routes.caption")}</caption><thead><tr><th>${t(context, "column.alias")}</th><th>${t(context, "column.provider")}</th><th>${t(context, "column.host")}</th><th>${t(context, "column.state")}</th><th>${t(context, "column.compatibility")}</th><th>${t(context, "column.queue")}</th><th>${t(context, "column.observed")}</th><th>${t(context, "column.issue")}</th></tr></thead><tbody>${routeRows}</tbody></table></div></section>
477
+ <section aria-labelledby="peers-title"><h3 id="peers-title">${t(context, "sessions.peers.title")}</h3><div class="table-wrap" tabindex="0" role="region" aria-labelledby="peers-title"><table class="responsive-table"><caption>${t(context, "sessions.peers.caption")}</caption><thead><tr><th>${t(context, "column.alias")}</th><th>${t(context, "column.host")}</th><th>${t(context, "column.state")}</th><th>${t(context, "column.validation")}</th><th>${t(context, "column.selection")}</th><th>${t(context, "column.observed")}</th><th>${t(context, "column.issue")}</th></tr></thead><tbody>${peerRows}</tbody></table></div></section>
478
+ <section aria-labelledby="routes-title"><h3 id="routes-title">${t(context, "sessions.routes.title")}</h3><div class="table-wrap" tabindex="0" role="region" aria-labelledby="routes-title"><table class="responsive-table"><caption>${t(context, "sessions.routes.caption")}</caption><thead><tr><th>${t(context, "column.alias")}</th><th>${t(context, "column.provider")}</th><th>${t(context, "column.host")}</th><th>${t(context, "column.state")}</th><th>${t(context, "column.queue")}</th><th>${t(context, "column.observed")}</th><th>${t(context, "column.issue")}</th></tr></thead><tbody>${routeRows}</tbody></table></div></section>
459
479
  </div>
460
480
  </section>`;
461
481
  }
462
482
  function renderDiagnostics(context) {
463
- const compatibilityRows = context.model.compatibilityChecks.length === 0
464
- ? `<tr class="empty-row"><td colspan="8">${t(context, "diagnostics.compatibilityChecks.empty")}</td></tr>`
465
- : context.model.compatibilityChecks.map((check) => {
466
- if ("notDetected" in check) {
467
- return `<tr><th scope="row" data-label="${t(context, "column.provider")}">${providerLabel(context, check.surface)}</th><td colspan="7">${statusPill(t(context, "compatibilityTier.notDetected"), "quiet")}</td></tr>`;
468
- }
469
- const tone = check.tier === "certified"
470
- ? "good"
471
- : check.tier === "schema_attested"
472
- ? "info"
473
- : "danger";
474
- const tierKey = check.tier === "schema_attested" && check.writesCovered
475
- ? "compatibilityTier.schema_attested.writesCovered"
476
- : `compatibilityTier.${check.tier}`;
477
- return `<tr><th scope="row" data-label="${t(context, "column.provider")}">${providerLabel(context, check.surface)}</th><td data-label="${t(context, "diagnostics.version")}"><code>${escapeDashboardHtml(check.version)}</code></td><td data-label="${t(context, "diagnostics.testedVersion")}">${check.testedVersion === undefined ? "—" : `<code>${escapeDashboardHtml(check.testedVersion)}</code>`}</td><td data-label="${t(context, "diagnostics.supportedMajor")}">${check.supportedMajor === undefined ? "—" : `<code>${escapeDashboardHtml(check.supportedMajor)}</code>`}</td><td data-label="${t(context, "diagnostics.tier")}">${statusPill(t(context, tierKey), tone)}</td><td data-label="${t(context, "diagnostics.checkedAt")}">${renderTimestampAtSnapshot(context, check.checkedAt)}</td><td data-label="${t(context, "diagnostics.failure")}">${check.failure === undefined ? "—" : `<code>${escapeDashboardHtml(check.failure)}</code>`}</td><td data-label="${t(context, "column.issue")}">${check.safeErrorCode === undefined ? "—" : `<code>${check.safeErrorCode}</code>`}</td></tr>`;
478
- }).join("");
479
483
  const connectorRows = context.model.connectors.length === 0
480
- ? `<tr class="empty-row"><td colspan="8">${t(context, "diagnostics.connectors.empty")}</td></tr>`
484
+ ? `<tr class="empty-row"><td colspan="7">${t(context, "diagnostics.connectors.empty")}</td></tr>`
481
485
  : context.model.connectors.map((connector) => {
482
486
  const observation = connector.registry;
483
487
  let registry = "—";
@@ -497,14 +501,16 @@ function renderDiagnostics(context) {
497
501
  : `<span class="cell-note">${t(context, "diagnostics.registry.rejectedCodesOmitted", { count: formatInteger(observation.rejectedCodesOmitted) })}</span>`;
498
502
  registry = `${statusPill(t(context, stateKey), observation.parseableRecordSeenSinceBoot ? "good" : "warning")}<span class="cell-note">${t(context, "diagnostics.registry.entriesScanned")}: ${formatInteger(observation.entriesScanned)} · ${t(context, "diagnostics.registry.parseableRecords")}: ${formatInteger(observation.parseableRecords)}</span><span class="cell-note">${t(context, "diagnostics.registry.rejected")}: ${rejected}</span>${omitted}`;
499
503
  }
500
- return `<tr><th scope="row" data-label="${t(context, "column.provider")}">${providerLabel(context, connector.provider)}</th><td data-label="${t(context, "column.host")}">${escapeDashboardHtml(connector.host)}</td><td data-label="${t(context, "diagnostics.health")}">${statusPill(healthLabel(context, connector.health), toneForHealth(connector.health))}</td><td data-label="${t(context, "column.compatibility")}">${statusPill(compatibilityLabel(context, connector.compatibility), toneForCompatibility(connector.compatibility))}</td><td data-label="${t(context, "diagnostics.protocol")}"><code>${escapeDashboardHtml([connector.protocol, connector.protocolVersion].filter(Boolean).join(" ") || "—")}</code></td><td data-label="${t(context, "diagnostics.registry.title")}">${registry}</td><td data-label="${t(context, "column.observed")}">${renderTimestampAtSnapshot(context, connector.lastSeenAt)}</td><td data-label="${t(context, "column.issue")}">${connector.safeErrorCode === undefined ? "—" : `<code>${connector.safeErrorCode}</code>`}</td></tr>`;
504
+ const doctor = connector.codexDoctor?.conditions.map((condition) => `<span class="cell-note">${t(context, `diagnostics.codexDoctor.${condition}`)}</span>`).join("") ?? "";
505
+ const issue = `${connector.safeErrorCode === undefined ? "" : `<code>${connector.safeErrorCode}</code>`}${doctor}` || "—";
506
+ return `<tr><th scope="row" data-label="${t(context, "column.provider")}">${providerLabel(context, connector.provider)}</th><td data-label="${t(context, "column.host")}">${escapeDashboardHtml(connector.host)}</td><td data-label="${t(context, "diagnostics.health")}">${statusPill(healthLabel(context, connector.health), toneForHealth(connector.health))}</td><td data-label="${t(context, "diagnostics.protocol")}"><code>${escapeDashboardHtml([connector.protocol, connector.protocolVersion].filter(Boolean).join(" ") || "—")}</code></td><td data-label="${t(context, "diagnostics.registry.title")}">${registry}</td><td data-label="${t(context, "column.observed")}">${renderTimestampAtSnapshot(context, connector.lastSeenAt)}</td><td data-label="${t(context, "column.issue")}">${issue}</td></tr>`;
501
507
  }).join("");
502
508
  const omissions = context.model.omissions;
503
509
  const omissionEntries = [
504
510
  [omissions.connectors, "diagnostics.omissions.connectors"],
505
511
  [omissions.availablePeers, "diagnostics.omissions.peers"],
506
512
  [omissions.routes, "diagnostics.omissions.routes"],
507
- [omissions.pairs, "diagnostics.omissions.pairs"],
513
+ [omissions.consentEdges, "diagnostics.omissions.consentEdges"],
508
514
  [omissions.progressWatches, "diagnostics.omissions.progressWatches"],
509
515
  [
510
516
  omissions.upstreamProgressWatchEvents,
@@ -550,8 +556,7 @@ function renderDiagnostics(context) {
550
556
  <summary><h2 id="diagnostics-title"><span class="disclosure-icon" aria-hidden="true"><span class="disclosure-icon__closed">+</span><span class="disclosure-icon__open">−</span></span>${t(context, "diagnostics.title")}</h2></summary>
551
557
  <div class="diagnostics__body">
552
558
  <p id="diagnostics-note" class="diagnostics__note">${t(context, "diagnostics.note")}</p>
553
- <section aria-labelledby="compatibility-checks-title"><h3 id="compatibility-checks-title">${t(context, "diagnostics.compatibilityChecks")}</h3><div class="table-wrap" tabindex="0" role="region" aria-labelledby="compatibility-checks-title"><table class="responsive-table"><caption>${t(context, "diagnostics.compatibilityChecks.caption")}</caption><thead><tr><th>${t(context, "column.provider")}</th><th>${t(context, "diagnostics.version")}</th><th>${t(context, "diagnostics.testedVersion")}</th><th>${t(context, "diagnostics.supportedMajor")}</th><th>${t(context, "diagnostics.tier")}</th><th>${t(context, "diagnostics.checkedAt")}</th><th>${t(context, "diagnostics.failure")}</th><th>${t(context, "column.issue")}</th></tr></thead><tbody>${compatibilityRows}</tbody></table></div></section>
554
- <section aria-labelledby="connectors-title"><h3 id="connectors-title">${t(context, "diagnostics.connectors")}</h3><div class="table-wrap" tabindex="0" role="region" aria-labelledby="connectors-title"><table class="responsive-table"><caption>${t(context, "diagnostics.connectors.caption")}</caption><thead><tr><th>${t(context, "column.provider")}</th><th>${t(context, "column.host")}</th><th>${t(context, "diagnostics.health")}</th><th>${t(context, "column.compatibility")}</th><th>${t(context, "diagnostics.protocol")}</th><th>${t(context, "diagnostics.registry.title")}</th><th>${t(context, "column.observed")}</th><th>${t(context, "column.issue")}</th></tr></thead><tbody>${connectorRows}</tbody></table></div></section>
559
+ <section aria-labelledby="connectors-title"><h3 id="connectors-title">${t(context, "diagnostics.connectors")}</h3><div class="table-wrap" tabindex="0" role="region" aria-labelledby="connectors-title"><table class="responsive-table"><caption>${t(context, "diagnostics.connectors.caption")}</caption><thead><tr><th>${t(context, "column.provider")}</th><th>${t(context, "column.host")}</th><th>${t(context, "diagnostics.health")}</th><th>${t(context, "diagnostics.protocol")}</th><th>${t(context, "diagnostics.registry.title")}</th><th>${t(context, "column.observed")}</th><th>${t(context, "column.issue")}</th></tr></thead><tbody>${connectorRows}</tbody></table></div></section>
555
560
  ${deadlineSection}
556
561
  <section aria-labelledby="accounting-title"><h3 id="accounting-title">${t(context, "diagnostics.accounting")}</h3><dl class="accounting"><div><dt>${t(context, "diagnostics.accepted")}</dt><dd>${formatInteger(accounting.accepted)}</dd></div><div><dt>${t(context, "diagnostics.duplicates")}</dt><dd>${formatInteger(accounting.duplicates)}</dd></div><div><dt>${t(context, "diagnostics.delivered")}</dt><dd>${formatInteger(accounting.delivered)}</dd></div><div><dt>${t(context, "diagnostics.unconfirmed")}</dt><dd>${formatInteger(accounting.unconfirmed)}</dd></div><div><dt>${t(context, "diagnostics.ambiguous")}</dt><dd>${formatInteger(accounting.ambiguous)}</dd></div><div><dt>${t(context, "diagnostics.failed")}</dt><dd>${formatInteger(accounting.failed)}</dd></div><div><dt>${t(context, "diagnostics.expired")}</dt><dd>${formatInteger(accounting.expired)}</dd></div><div><dt>${t(context, "diagnostics.cancelled")}</dt><dd>${formatInteger(accounting.cancelled)}</dd></div><div><dt>${t(context, "diagnostics.abandoned")}</dt><dd>${formatInteger(accounting.abandoned)}</dd></div><div><dt>${t(context, "diagnostics.rejected")}</dt><dd>${formatInteger(accounting.rejected)}</dd></div><div><dt>${t(context, "diagnostics.bytesAccepted")}</dt><dd>${formatBytes(accounting.bytesAccepted)}</dd></div><div><dt>${t(context, "diagnostics.queuedBytes")}</dt><dd>${formatBytes(accounting.queuedBytes)}</dd></div></dl></section>
557
562
  <p class="omissions"><strong>${t(context, "diagnostics.omissions")}:</strong> ${omissionText}</p>
@@ -627,6 +632,9 @@ const DASHBOARD_STYLES = `
627
632
  .section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(14rem, .72fr); gap: 2rem; align-items: end; margin-bottom: 1.25rem; }
628
633
  .section-heading > p { margin: 0; color: var(--muted); font-size: .88rem; }
629
634
  .exchange-board { display: grid; grid-template-columns: minmax(0, 1fr) minmax(11rem, .38fr) minmax(0, 1fr); align-items: stretch; border: 1px solid var(--ink); background: var(--sheet); }
635
+ .exchange-board--many { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
636
+ .exchange-board--many .exchange-party { order: 1; border: 0; border-right: 1px solid var(--hairline); }
637
+ .exchange-board--many .pouch { order: 2; grid-column: 1 / -1; border-top: 1px solid var(--hairline); }
630
638
  .inbound-policy { display: flex; align-items: center; gap: .75rem; margin: 0 0 1rem; padding: .65rem .8rem; border: 1px solid var(--hairline); background: var(--paper-deep); }
631
639
  .inbound-policy p { margin: 0; }
632
640
  .inbound-policy[data-inbound-mode="open"] { border-color: var(--warning); background: var(--warning-soft); }
@@ -646,8 +654,7 @@ const DASHBOARD_STYLES = `
646
654
  .pouch__title { margin: 0; padding: 0 .35rem; color: var(--muted); font-size: .74rem; text-transform: uppercase; letter-spacing: .1em; }
647
655
  .pouch strong { padding: .1rem .35rem; font: 720 .88rem/1.4 ui-sans-serif, system-ui, sans-serif; }
648
656
  .pouch small { padding: 0 .35rem; color: var(--muted); }
649
- .direction-key { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; padding-top: .55rem; color: var(--muted); font-size: .74rem; }
650
- .direction-key span:last-child { text-align: right; }
657
+ .direction-key { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .25rem 1rem; padding-top: .55rem; color: var(--muted); font-size: .74rem; }
651
658
  .pair-graph { margin-top: 1.2rem; padding: 1rem; border: 1px solid var(--hairline); background: var(--sheet); }
652
659
  .pair-graph__heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .7rem 1rem; align-items: baseline; }
653
660
  .pair-graph__heading h3, .pair-graph p { margin-bottom: .55rem; }
@@ -753,13 +760,7 @@ export function renderGatewayDashboard(snapshot, options = {}) {
753
760
  const context = {
754
761
  locale,
755
762
  copy: getDashboardCopy(locale),
756
- model: buildDashboardViewModel(snapshot, {
757
- ...(options.compatibilitySurfaceDefinitions === undefined
758
- ? {}
759
- : {
760
- compatibilitySurfaceDefinitions: options.compatibilitySurfaceDefinitions,
761
- }),
762
- }),
763
+ model: buildDashboardViewModel(snapshot),
763
764
  };
764
765
  const languageFile = locale === "en" ? DASHBOARD_FILE_NAME : DASHBOARD_ZH_CN_FILE_NAME;
765
766
  const generatedAt = context.model.generatedAt === undefined