agent-embassy 3.0.0 → 3.1.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 (45) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/CONTRIBUTING.md +4 -2
  3. package/README.md +26 -7
  4. package/SECURITY.md +17 -4
  5. package/dist/src/gateway/claude-helper-supervisor.js +36 -9
  6. package/dist/src/gateway/claude-helper-supervisor.js.map +1 -1
  7. package/dist/src/gateway/claude-helper.js.map +1 -1
  8. package/dist/src/gateway/claude-peer.js +1 -1
  9. package/dist/src/gateway/claude-peer.js.map +1 -1
  10. package/dist/src/gateway/cli.d.ts +2 -3
  11. package/dist/src/gateway/cli.js +135 -106
  12. package/dist/src/gateway/cli.js.map +1 -1
  13. package/dist/src/gateway/config.js +1 -1
  14. package/dist/src/gateway/config.js.map +1 -1
  15. package/dist/src/gateway/control.d.ts +23 -5
  16. package/dist/src/gateway/control.js +41 -11
  17. package/dist/src/gateway/control.js.map +1 -1
  18. package/dist/src/gateway/peer-protocol.d.ts +5 -0
  19. package/dist/src/gateway/peer-protocol.js +9 -0
  20. package/dist/src/gateway/peer-protocol.js.map +1 -1
  21. package/dist/src/gateway/providers.d.ts +4 -3
  22. package/dist/src/gateway/providers.js +33 -30
  23. package/dist/src/gateway/providers.js.map +1 -1
  24. package/dist/src/gateway/server.d.ts +1 -2
  25. package/dist/src/gateway/server.js +1 -4
  26. package/dist/src/gateway/server.js.map +1 -1
  27. package/dist/src/gateway/service.d.ts +6 -8
  28. package/dist/src/gateway/service.js +313 -252
  29. package/dist/src/gateway/service.js.map +1 -1
  30. package/dist/src/gateway/status-view.d.ts +2 -50
  31. package/dist/src/gateway/status-view.js +66 -70
  32. package/dist/src/gateway/status-view.js.map +1 -1
  33. package/dist/src/gateway/store.d.ts +4 -1
  34. package/dist/src/gateway/store.js +12 -11
  35. package/dist/src/gateway/store.js.map +1 -1
  36. package/dist/src/gateway/types.d.ts +17 -4
  37. package/dist/src/gateway/types.js +27 -36
  38. package/dist/src/gateway/types.js.map +1 -1
  39. package/docs/CONFIGURATION.md +3 -3
  40. package/docs/GATEWAY-ARCHITECTURE.md +27 -21
  41. package/package.json +1 -1
  42. package/skills/embassy-peer/SKILL.md +7 -5
  43. package/dist/src/gateway/claude-helper-client.d.ts +0 -2
  44. package/dist/src/gateway/claude-helper-client.js +0 -2
  45. package/dist/src/gateway/claude-helper-client.js.map +0 -1
@@ -15,7 +15,7 @@
15
15
  * many rows it hid, and the shell-peer list is ordered stale-first so a stuck
16
16
  * peer is never the row that falls off the end.
17
17
  */
18
- import { gatewayPublicSnapshotLimits } from "./types.js";
18
+ import { connectorWord, gatewayHealthWord, gatewayPublicSnapshotLimits } from "./types.js";
19
19
  /**
20
20
  * The backstop for a route the broker has not heard about in a long time.
21
21
  *
@@ -36,6 +36,14 @@ export const STATUS_SCAN_STALE_AFTER_MS = 60_000;
36
36
  export const CODEX_ENDPOINT_GONE_CODES = ["THREAD_NOT_OBSERVED"];
37
37
  export const STATUS_RECENT = Object.freeze({ default: 10, minimum: 1, maximum: 100 });
38
38
  export const STATUS_CAPS = Object.freeze({ sessions: 16, shellPeers: 8, alerts: 6 });
39
+ // LocalClaudeGatewayProvider emits these from clean prewrite failures,
40
+ // refreshClaudeDiscoveryOnce, and the discovery monitor's failure callback.
41
+ export const CLAUDE_BUSY_OBSERVATION_CODES = new Set([
42
+ "CLAUDE_PEER_TARGET_UNKNOWN",
43
+ "CLAUDE_PEER_WORKSPACE_UNATTESTED",
44
+ "CLAUDE_PEER_NOT_OBSERVED",
45
+ "CLAUDE_DISCOVERY_UNAVAILABLE",
46
+ ]);
39
47
  const PREVIEW_MAX_CHARS = 60;
40
48
  /**
41
49
  * One remedy per safe code, each one line. A connector with an unknown code
@@ -51,13 +59,16 @@ const PREVIEW_MAX_CHARS = 60;
51
59
  export const STATUS_REMEDY = {
52
60
  MANAGED_CODEX_UNAVAILABLE: "Either a process outside Embassy holds the managed Codex control socket — quit it — or the managed App Server standalone layout is missing, which starting the daemon alone does not create: follow the Codex prerequisite in the README (the official installer, then the daemon).",
53
61
  PEER_ALIAS_COLLISION: "the alias names more than one live session; rename one, or address the session by UUID with --to <session-uuid>.",
62
+ CLAUDE_PEER_WORKSPACE_UNATTESTED: "Let the queued delivery retry, then run `embassy status`; each routed preparation validates the workspace again. If this persists, report CLAUDE_PEER_WORKSPACE_UNATTESTED with the current alias.",
63
+ CLAUDE_PEER_TARGET_UNKNOWN: "Run `embassy refresh`, then read `embassy status` for the session's current name; discovery did not find the delivery target.",
64
+ CLAUDE_DISCOVERY_UNAVAILABLE: "Run `embassy refresh` and read that command's result: a failed scan returns `accepted: false` and its refusal code.",
54
65
  PEER_PROTOCOL_MISMATCH: "That node runs a different federation peer protocol; upgrade the lagging node's Embassy and it re-catalogs on the next refresh.",
55
66
  PEER_TUNNEL_UNAVAILABLE: "The SSH tunnel to that node is down; check the node is reachable and its broker is running.",
56
67
  PEER_DIAL_FAILED: "Embassy could not open the SSH tunnel to that node; check its entry in nodes.json and your SSH configuration.",
57
68
  PEER_CATALOG_INCOMPLETE: "That node answered with an incomplete catalog; its mirrored routes are shown from the last complete one.",
58
69
  PEER_ROUTE_STALE: "That mirrored route was missing from the node's latest catalog; it retires when the node stops publishing it.",
59
- CLAUDE_PEER_NOT_OBSERVED: "That Claude session is no longer in the live registry; run `embassy refresh`, and its route retires on the next send if the session exited.",
60
- ROUTE_UNOBSERVED: "The provider stopped reporting this route; retire it if the session or task ended.",
70
+ CLAUDE_PEER_NOT_OBSERVED: "Discovery did not find that session; run `embassy refresh`, then inspect `embassy status` for current peers. Sending does not retire a missing session's stored route.",
71
+ ROUTE_UNOBSERVED: "The provider stopped reporting this local route; if the session or task ended, run `embassy retire --alias <alias>`.",
61
72
  THREAD_NOT_OBSERVED: "That Codex task is gone. Run `embassy register-codex --alias <new-alias> --succeeds <this alias>` from the new task, or `embassy unregister-codex --alias <this alias>` from the old one.",
62
73
  CODEX_OBSERVER_UNAVAILABLE: "Embassy cannot observe Codex tasks; start the managed daemon with `codex app-server daemon start`.",
63
74
  DISPATCH_RUNNER_FAILED: "A delivery attempt failed inside the broker; the message keeps its own settled state — read it with `embassy delivery-status`, and restart the broker if this repeats.",
@@ -118,19 +129,6 @@ const ageMs = (timestamp, now) => {
118
129
  const observed = Date.parse(timestamp);
119
130
  return Number.isFinite(observed) ? Math.max(0, now - observed) : undefined;
120
131
  };
121
- /**
122
- * Connector words. A connector reporting `CONNECTOR_OBSERVATION_STALE` has
123
- * nothing wrong with it: no route of that provider was observed inside the
124
- * broker's window. That is `stale`, not `degraded`, and the difference is the
125
- * point — an idle Mac with no registered Codex task must not read as broken.
126
- */
127
- function connectorWord(connector) {
128
- if (connector.health === "healthy" || connector.health === "connecting")
129
- return "ok";
130
- if (connector.health === "offline")
131
- return "offline";
132
- return connector.safeErrorCode === "CONNECTOR_OBSERVATION_STALE" ? "stale" : "degraded";
133
- }
134
132
  function routeView(route, discovered, now) {
135
133
  if (!route.enabled)
136
134
  return { word: "disabled", lastSeen: relativeAge(route.lastSeenAt, now) };
@@ -171,19 +169,6 @@ function routeView(route, discovered, now) {
171
169
  }
172
170
  return { word, lastSeen };
173
171
  }
174
- const severityRank = (word) => word === "degraded" || word === "offline" ? 0 : word === "stale" ? 1 : 2;
175
- /**
176
- * The overall word is informational and derived from the two connectors a
177
- * message actually travels through. A shell peer never contributes: its
178
- * mailbox is pull-only, so "nobody is awaiting it" is a fact about the
179
- * operator's other terminal, not about the broker.
180
- */
181
- function overallWord(snapshot) {
182
- const routed = snapshot.connectors.filter((connector) => connector.provider === "claude" || connector.provider === "codex");
183
- if (routed.length === 0)
184
- return "offline";
185
- return routed.map(connectorWord).reduce((worst, word) => severityRank(word) < severityRank(worst) ? word : worst, "ok");
186
- }
187
172
  /** The remedy for one connector's condition; never empty when the word is not ok. */
188
173
  function connectorRemedy(connector, snapshot) {
189
174
  const code = connector.safeErrorCode;
@@ -249,11 +234,55 @@ function actionableAlerts(alerts) {
249
234
  };
250
235
  }
251
236
  const messageArrow = (event) => `${event.sourceAlias} → ${event.targetAlias}`;
237
+ function renderSessions(snapshot, now, paint) {
238
+ const lines = [];
239
+ lines.push("", paint("sessions", "bold"));
240
+ if (snapshot.availablePeers.length === 0) {
241
+ lines.push(" none discovered — start a Claude Code session, then run `embassy refresh`");
242
+ }
243
+ else {
244
+ const rows = snapshot.availablePeers.slice(0, STATUS_CAPS.sessions).map((peer) => {
245
+ const word = peer.state === "awaiting_approval" ? "awaiting" : peer.state;
246
+ return [{ value: peer.alias }, { value: word, tone: wordColor(word === "offline" ? "offline" : "ok") },
247
+ { value: peer.routed ? "routed" : "no route yet" },
248
+ { value: relativeAge(peer.lastSeenAt, now) }];
249
+ });
250
+ for (const line of table(["session", "state", "route", "last seen"], rows, paint)) {
251
+ lines.push(` ${line}`);
252
+ }
253
+ if (snapshot.availablePeers.length > STATUS_CAPS.sessions) {
254
+ lines.push(paint(` ${String(snapshot.availablePeers.length - STATUS_CAPS.sessions)} more discovered session(s) — read \`embassy status --json\``, "dim"));
255
+ }
256
+ }
257
+ const collisions = collisionCount(snapshot);
258
+ if (collisions > 0) {
259
+ lines.push(paint(` ${String(collisions)} discovered Claude name(s) are shared by more than one live session and are hidden from this list; ${STATUS_REMEDY.PEER_ALIAS_COLLISION ?? ""}`, "yellow"));
260
+ }
261
+ return lines;
262
+ }
263
+ function renderAlerts(alerts, now, paint) {
264
+ const lines = [];
265
+ const { shown, hidden, unexplained } = actionableAlerts(alerts);
266
+ if (shown.length > 0) {
267
+ lines.push("", paint("alerts", "bold"));
268
+ for (const alert of shown) {
269
+ const subject = alert.alias ?? alert.host ?? alert.provider ?? "";
270
+ lines.push(` ${alert.code}${subject === "" ? "" : ` ${subject}`} ${relativeAge(alert.timestamp, now)}`);
271
+ lines.push(paint(` ${STATUS_REMEDY[alert.code] ?? ""}`, "dim"));
272
+ }
273
+ if (hidden > 0)
274
+ lines.push(paint(` ${String(hidden)} more alert(s) not shown`, "dim"));
275
+ if (unexplained > 0) {
276
+ lines.push(paint(` ${String(unexplained)} alert(s) with no known remedy — read \`embassy status --json\``, "dim"));
277
+ }
278
+ }
279
+ return lines;
280
+ }
252
281
  export function renderStatus(snapshot, options) {
253
282
  const now = options.now;
254
283
  const paint = terminalPainter(options.color);
255
284
  const lines = [];
256
- const overall = overallWord(snapshot);
285
+ const overall = gatewayHealthWord(snapshot.connectors);
257
286
  const discoveredByAlias = new Map(snapshot.availablePeers.map((peer) => [peer.alias, peer]));
258
287
  const brokerFacts = [
259
288
  paint(overall, wordColor(overall)),
@@ -311,28 +340,7 @@ export function renderStatus(snapshot, options) {
311
340
  if (shellPeers.length > STATUS_CAPS.shellPeers) {
312
341
  lines.push(paint(` ${String(shellPeers.length - STATUS_CAPS.shellPeers)} more shell peer(s) with empty mailboxes`, "dim"));
313
342
  }
314
- lines.push("", paint("sessions", "bold"));
315
- if (snapshot.availablePeers.length === 0) {
316
- lines.push(" none discovered — start a Claude Code session, then run `embassy refresh`");
317
- }
318
- else {
319
- const rows = snapshot.availablePeers.slice(0, STATUS_CAPS.sessions).map((peer) => {
320
- const word = peer.state === "awaiting_approval" ? "awaiting" : peer.state;
321
- return [{ value: peer.alias }, { value: word, tone: wordColor(word === "offline" ? "offline" : "ok") },
322
- { value: peer.routed ? "routed" : "no route yet" },
323
- { value: relativeAge(peer.lastSeenAt, now) }];
324
- });
325
- for (const line of table(["session", "state", "route", "last seen"], rows, paint)) {
326
- lines.push(` ${line}`);
327
- }
328
- if (snapshot.availablePeers.length > STATUS_CAPS.sessions) {
329
- lines.push(paint(` ${String(snapshot.availablePeers.length - STATUS_CAPS.sessions)} more discovered session(s) — read \`embassy status --json\``, "dim"));
330
- }
331
- }
332
- const collisions = collisionCount(snapshot);
333
- if (collisions > 0) {
334
- lines.push(paint(` ${String(collisions)} discovered Claude name(s) are shared by more than one live session and are hidden from this list; ${STATUS_REMEDY.PEER_ALIAS_COLLISION ?? ""}`, "yellow"));
335
- }
343
+ lines.push(...renderSessions(snapshot, now, paint));
336
344
  lines.push("", paint("routes", "bold"));
337
345
  if (snapshot.routes.length === 0) {
338
346
  lines.push(" none — a Claude session's route installs on its first send; a Codex task is registered explicitly");
@@ -350,6 +358,11 @@ export function renderStatus(snapshot, options) {
350
358
  lines.push(` ${line}`);
351
359
  }
352
360
  for (const { route, view } of views) {
361
+ if (view.remedy === undefined && view.word === "busy" &&
362
+ route.safeErrorCode !== undefined && CLAUDE_BUSY_OBSERVATION_CODES.has(route.safeErrorCode)) {
363
+ lines.push(paint(` ${route.alias}: ${STATUS_REMEDY[route.safeErrorCode]}`, "dim"));
364
+ continue;
365
+ }
353
366
  if (view.remedy === undefined)
354
367
  continue;
355
368
  lines.push(paint(` ${route.alias}: ${view.remedy}`, "dim"));
@@ -366,20 +379,7 @@ export function renderStatus(snapshot, options) {
366
379
  if (event.body !== undefined)
367
380
  lines.push(paint(` ${previewBody(event.body)}`, "dim"));
368
381
  }
369
- const { shown, hidden, unexplained } = actionableAlerts(snapshot.alerts);
370
- if (shown.length > 0) {
371
- lines.push("", paint("alerts", "bold"));
372
- for (const alert of shown) {
373
- const subject = alert.alias ?? alert.host ?? alert.provider ?? "";
374
- lines.push(` ${alert.code}${subject === "" ? "" : ` ${subject}`} ${relativeAge(alert.timestamp, now)}`);
375
- lines.push(paint(` ${STATUS_REMEDY[alert.code] ?? ""}`, "dim"));
376
- }
377
- if (hidden > 0)
378
- lines.push(paint(` ${String(hidden)} more alert(s) not shown`, "dim"));
379
- if (unexplained > 0) {
380
- lines.push(paint(` ${String(unexplained)} alert(s) with no known remedy — read \`embassy status --json\``, "dim"));
381
- }
382
- }
382
+ lines.push(...renderAlerts(snapshot.alerts, now, paint));
383
383
  const omitted = Object.entries(snapshot.truncation)
384
384
  .filter((entry) => typeof entry[1] === "number" && entry[1] > 0)
385
385
  .map(([name, count]) => `${String(count)} ${name}`);
@@ -481,8 +481,4 @@ export function renderWatchEvent(event, color) {
481
481
  const detail = event.event.safeErrorCode === undefined ? "" : ` ${event.event.safeErrorCode}`;
482
482
  return paint(`${clockOf(event.event.timestamp)} ${event.event.action} ${event.event.aliases.join(", ")} ${event.event.outcome}${detail}`, "dim");
483
483
  }
484
- /** Pure helpers the renderer's own tests drive directly; not part of the CLI surface. */
485
- export const __test = Object.freeze({
486
- connectorWord, overallWord, previewBody, relativeAge, routeView,
487
- });
488
484
  //# sourceMappingURL=status-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status-view.js","sourceRoot":"","sources":["../../../src/gateway/status-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status-view.js","sourceRoot":"","sources":["../../../src/gateway/status-view.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,8 @@ export declare class GatewayStore {
72
72
  * with its queued rows. Both refusals are exactly right, and neither must
73
73
  * ever be reachable by a document we wrote. When the registration is
74
74
  * removed, `removeRegistrationMetadata` takes the same rows out of the live
75
- * state in the same mutate, so nothing of it is written afterwards either.
75
+ * state in the same mutate. Attributable rows and bodies are removed;
76
+ * aggregate counters may remain advanced.
76
77
  */
77
78
  private persistedProjection;
78
79
  removeOwnedRouteAtomic(input: Readonly<{
@@ -80,6 +81,7 @@ export declare class GatewayStore {
80
81
  binding: LogicalRouteBinding;
81
82
  activity?: Readonly<{
82
83
  operatorAction: boolean;
84
+ action?: "route_retired";
83
85
  }>;
84
86
  }>): Promise<RemoveRouteAtomicResult>;
85
87
  replaceCodexRegistrationAtomic(input: ReplaceCodexRegistrationAtomicInput): Promise<ReplaceCodexRegistrationAtomicResult>;
@@ -141,6 +143,7 @@ export declare class GatewayStore {
141
143
  private enqueueResolved;
142
144
  private allocateDeliveryToken;
143
145
  private consumeRate;
146
+ private rejectEnqueue;
144
147
  private recordRejection;
145
148
  private finishMessage;
146
149
  private touchMessage;
@@ -818,7 +818,8 @@ export class GatewayStore {
818
818
  * with its queued rows. Both refusals are exactly right, and neither must
819
819
  * ever be reachable by a document we wrote. When the registration is
820
820
  * removed, `removeRegistrationMetadata` takes the same rows out of the live
821
- * state in the same mutate, so nothing of it is written afterwards either.
821
+ * state in the same mutate. Attributable rows and bodies are removed;
822
+ * aggregate counters may remain advanced.
822
823
  */
823
824
  persistedProjection(state) {
824
825
  if (this.ephemeralRegistrations.size === 0)
@@ -840,14 +841,14 @@ export class GatewayStore {
840
841
  if (route.registrationMode === "federated_peer") {
841
842
  throw new BridgeError("FEDERATED_ROUTE_READ_ONLY", "A federated route is owned by its peer node; only catalog reconciliation may retire it.");
842
843
  }
843
- if (input.activity !== undefined && route.binding.provider !== "codex") {
844
+ if (input.activity !== undefined && input.activity.action !== "route_retired" && route.binding.provider !== "codex") {
844
845
  throw new BridgeError("INVALID_ROUTE_BINDING", "Only exact Codex unregister has public activity.");
845
846
  }
846
847
  const settlements = this.terminalizeRegistration(state, route.binding.registrationId, now);
847
848
  this.removeRegistrationMetadata(state, route);
848
849
  if (input.activity !== undefined) {
849
850
  this.appendRuntimeActivity(state, now, {
850
- kind: "registration", action: "codex_unregistered",
851
+ kind: "registration", action: input.activity.action ?? "codex_unregistered",
851
852
  outcome: "accepted", aliases: [route.alias],
852
853
  operatorAction: input.activity.operatorAction,
853
854
  });
@@ -1502,8 +1503,7 @@ export class GatewayStore {
1502
1503
  }
1503
1504
  const bytes = Buffer.byteLength(input.body, "utf8");
1504
1505
  if (bytes > this.config.limits.maxMessageBytes) {
1505
- this.recordRejection(state, authority, bytes, now, "MESSAGE_TOO_LARGE", input);
1506
- throw new CommitAndThrow(new BridgeError("MESSAGE_TOO_LARGE", "The message exceeds the configured byte bound."));
1506
+ this.rejectEnqueue(state, authority, bytes, now, input, "MESSAGE_TOO_LARGE", "The message exceeds the configured byte bound.");
1507
1507
  }
1508
1508
  if (Buffer.byteLength(input.dedupeKey, "utf8") > 512) {
1509
1509
  throw new BridgeError("INVALID_DEDUPE_KEY", "A bounded, non-empty deduplication key is required.");
@@ -1513,8 +1513,7 @@ export class GatewayStore {
1513
1513
  if (!isIsoTimestamp(deadlineAt) ||
1514
1514
  Date.parse(deadlineAt) <= now.getTime() ||
1515
1515
  Date.parse(deadlineAt) > now.getTime() + this.config.limits.messageDeadlineMs) {
1516
- this.recordRejection(state, authority, bytes, now, "INVALID_DEADLINE", input);
1517
- throw new CommitAndThrow(new BridgeError("INVALID_DEADLINE", "The message deadline must fall inside the configured delivery window."));
1516
+ this.rejectEnqueue(state, authority, bytes, now, input, "INVALID_DEADLINE", "The message deadline must fall inside the configured delivery window.");
1518
1517
  }
1519
1518
  const fingerprint = createHash("sha256")
1520
1519
  .update([
@@ -1534,8 +1533,7 @@ export class GatewayStore {
1534
1533
  };
1535
1534
  }
1536
1535
  if (!this.consumeRate(state, authority.sourceAlias, now)) {
1537
- this.recordRejection(state, authority, bytes, now, "GATEWAY_RATE_LIMITED", input);
1538
- throw new CommitAndThrow(new BridgeError("GATEWAY_RATE_LIMITED", "The source exceeded the bounded gateway rate window.", true));
1536
+ this.rejectEnqueue(state, authority, bytes, now, input, "GATEWAY_RATE_LIMITED", "The source exceeded the bounded gateway rate window.", true);
1539
1537
  }
1540
1538
  const active = state.messages.filter((message) => message.state.phase !== "terminal");
1541
1539
  const queuedSteers = input.steer === true
@@ -1555,8 +1553,7 @@ export class GatewayStore {
1555
1553
  this.config.limits.maxQueueMessagesPerRoute ||
1556
1554
  state.accounting.queuedBytes - (superseded?.bytes ?? 0) + bytes >
1557
1555
  this.config.limits.maxQueueBytes) {
1558
- this.recordRejection(state, authority, bytes, now, "GATEWAY_QUEUE_FULL", input);
1559
- throw new CommitAndThrow(new BridgeError("GATEWAY_QUEUE_FULL", "The bounded gateway queue is full.", true));
1556
+ this.rejectEnqueue(state, authority, bytes, now, input, "GATEWAY_QUEUE_FULL", "The bounded gateway queue is full.", true);
1560
1557
  }
1561
1558
  const messageId = `msg_${this.randomId()}`;
1562
1559
  if (!MESSAGE_ID_PATTERN.test(messageId)) {
@@ -1654,6 +1651,10 @@ export class GatewayStore {
1654
1651
  bucket.count += 1;
1655
1652
  return true;
1656
1653
  }
1654
+ rejectEnqueue(state, authority, bytes, now, input, code, message, recoverable = false) {
1655
+ this.recordRejection(state, authority, bytes, now, code, input);
1656
+ throw new CommitAndThrow(new BridgeError(code, message, recoverable));
1657
+ }
1657
1658
  recordRejection(state, authority, bytes, now, safeErrorCode, input) {
1658
1659
  state.accounting.rejected += 1;
1659
1660
  const source = state.routes.find((route) => route.binding.registrationId === authority.sourceRegistrationId);