agent-embassy 1.7.0 → 1.8.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 (118) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/CONTRIBUTING.md +51 -47
  3. package/README.md +26 -9
  4. package/README.zh-CN.md +22 -9
  5. package/SECURITY.md +48 -35
  6. package/dist/src/gateway/acp-client.d.ts +12 -19
  7. package/dist/src/gateway/acp-client.js +90 -65
  8. package/dist/src/gateway/acp-client.js.map +1 -1
  9. package/dist/src/gateway/acp-provider.d.ts +11 -10
  10. package/dist/src/gateway/acp-provider.js +165 -53
  11. package/dist/src/gateway/acp-provider.js.map +1 -1
  12. package/dist/src/gateway/claude-helper-client.d.ts +2 -43
  13. package/dist/src/gateway/claude-helper-client.js +1 -211
  14. package/dist/src/gateway/claude-helper-client.js.map +1 -1
  15. package/dist/src/gateway/claude-helper-protocol.d.ts +16 -74
  16. package/dist/src/gateway/claude-helper-protocol.js +99 -378
  17. package/dist/src/gateway/claude-helper-protocol.js.map +1 -1
  18. package/dist/src/gateway/claude-helper-supervisor.d.ts +56 -44
  19. package/dist/src/gateway/claude-helper-supervisor.js +265 -456
  20. package/dist/src/gateway/claude-helper-supervisor.js.map +1 -1
  21. package/dist/src/gateway/claude-helper.js +184 -210
  22. package/dist/src/gateway/claude-helper.js.map +1 -1
  23. package/dist/src/gateway/claude-peer.d.ts +20 -87
  24. package/dist/src/gateway/claude-peer.js +310 -1009
  25. package/dist/src/gateway/claude-peer.js.map +1 -1
  26. package/dist/src/gateway/claude-runtime.d.ts +13 -15
  27. package/dist/src/gateway/claude-runtime.js +14 -168
  28. package/dist/src/gateway/claude-runtime.js.map +1 -1
  29. package/dist/src/gateway/cli-copy.en.d.ts +2 -2
  30. package/dist/src/gateway/cli-copy.en.js +4 -2
  31. package/dist/src/gateway/cli-copy.en.js.map +1 -1
  32. package/dist/src/gateway/cli-copy.zh-CN.d.ts +2 -2
  33. package/dist/src/gateway/cli-copy.zh-CN.js +4 -2
  34. package/dist/src/gateway/cli-copy.zh-CN.js.map +1 -1
  35. package/dist/src/gateway/cli.d.ts +7 -2
  36. package/dist/src/gateway/cli.js +277 -575
  37. package/dist/src/gateway/cli.js.map +1 -1
  38. package/dist/src/gateway/codex-app-server.d.ts +5 -227
  39. package/dist/src/gateway/codex-app-server.js +18 -1463
  40. package/dist/src/gateway/codex-app-server.js.map +1 -1
  41. package/dist/src/gateway/codex-doctor.d.ts +36 -0
  42. package/dist/src/gateway/codex-doctor.js +127 -0
  43. package/dist/src/gateway/codex-doctor.js.map +1 -0
  44. package/dist/src/gateway/codex-local-transport.d.ts +6 -6
  45. package/dist/src/gateway/codex-local-transport.js +13 -10
  46. package/dist/src/gateway/codex-local-transport.js.map +1 -1
  47. package/dist/src/gateway/codex-stateless-transport.d.ts +114 -0
  48. package/dist/src/gateway/codex-stateless-transport.js +1108 -0
  49. package/dist/src/gateway/codex-stateless-transport.js.map +1 -0
  50. package/dist/src/gateway/config.d.ts +2 -9
  51. package/dist/src/gateway/config.js +62 -100
  52. package/dist/src/gateway/config.js.map +1 -1
  53. package/dist/src/gateway/control.d.ts +36 -90
  54. package/dist/src/gateway/control.js +465 -1123
  55. package/dist/src/gateway/control.js.map +1 -1
  56. package/dist/src/gateway/dashboard-copy.d.ts +1 -1
  57. package/dist/src/gateway/dashboard-copy.en.d.ts +8 -26
  58. package/dist/src/gateway/dashboard-copy.en.js +19 -37
  59. package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
  60. package/dist/src/gateway/dashboard-copy.js +8 -26
  61. package/dist/src/gateway/dashboard-copy.js.map +1 -1
  62. package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +8 -26
  63. package/dist/src/gateway/dashboard-copy.zh-CN.js +19 -37
  64. package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
  65. package/dist/src/gateway/dashboard-model.d.ts +8 -22
  66. package/dist/src/gateway/dashboard-model.js +44 -130
  67. package/dist/src/gateway/dashboard-model.js.map +1 -1
  68. package/dist/src/gateway/dashboard.d.ts +0 -6
  69. package/dist/src/gateway/dashboard.js +3 -7
  70. package/dist/src/gateway/dashboard.js.map +1 -1
  71. package/dist/src/gateway/live-dashboard-app/app.js +20 -34
  72. package/dist/src/gateway/live-dashboard-command.js +2 -2
  73. package/dist/src/gateway/live-dashboard-command.js.map +1 -1
  74. package/dist/src/gateway/live-dashboard-http.d.ts +1 -1
  75. package/dist/src/gateway/live-dashboard-http.js +2 -2
  76. package/dist/src/gateway/live-dashboard-http.js.map +1 -1
  77. package/dist/src/gateway/progress-watch-machine.d.ts +1 -37
  78. package/dist/src/gateway/progress-watch-machine.js +4 -15
  79. package/dist/src/gateway/progress-watch-machine.js.map +1 -1
  80. package/dist/src/gateway/providers.d.ts +58 -191
  81. package/dist/src/gateway/providers.js +637 -2434
  82. package/dist/src/gateway/providers.js.map +1 -1
  83. package/dist/src/gateway/server.d.ts +16 -25
  84. package/dist/src/gateway/server.js +165 -240
  85. package/dist/src/gateway/server.js.map +1 -1
  86. package/dist/src/gateway/service.d.ts +149 -427
  87. package/dist/src/gateway/service.js +1639 -5662
  88. package/dist/src/gateway/service.js.map +1 -1
  89. package/dist/src/gateway/state-v2-to-v3.d.ts +23 -0
  90. package/dist/src/gateway/state-v2-to-v3.js +994 -0
  91. package/dist/src/gateway/state-v2-to-v3.js.map +1 -0
  92. package/dist/src/gateway/store.d.ts +54 -309
  93. package/dist/src/gateway/store.js +1560 -3510
  94. package/dist/src/gateway/store.js.map +1 -1
  95. package/dist/src/gateway/types.d.ts +181 -225
  96. package/dist/src/gateway/types.js +115 -251
  97. package/dist/src/gateway/types.js.map +1 -1
  98. package/docs/CONFIGURATION.md +22 -9
  99. package/docs/CONFIGURATION.zh-CN.md +21 -9
  100. package/docs/DASHBOARD.md +10 -10
  101. package/docs/DASHBOARD.zh-CN.md +3 -3
  102. package/docs/DELIVERY.md +4 -4
  103. package/docs/DELIVERY.zh-CN.md +4 -4
  104. package/docs/GATEWAY-ARCHITECTURE.md +158 -187
  105. package/package.json +1 -1
  106. package/skills/embassy-peer/SKILL.md +28 -22
  107. package/dist/src/gateway/codex-registration-generation.d.ts +0 -5
  108. package/dist/src/gateway/codex-registration-generation.js +0 -19
  109. package/dist/src/gateway/codex-registration-generation.js.map +0 -1
  110. package/dist/src/gateway/codex-registration-succession.d.ts +0 -209
  111. package/dist/src/gateway/codex-registration-succession.js +0 -588
  112. package/dist/src/gateway/codex-registration-succession.js.map +0 -1
  113. package/dist/src/gateway/compatibility.d.ts +0 -22
  114. package/dist/src/gateway/compatibility.js +0 -23
  115. package/dist/src/gateway/compatibility.js.map +0 -1
  116. package/dist/src/gateway/delivery-machine.d.ts +0 -235
  117. package/dist/src/gateway/delivery-machine.js +0 -540
  118. package/dist/src/gateway/delivery-machine.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-v2-to-v3.js","sourceRoot":"","sources":["../../../src/gateway/state-v2-to-v3.ts"],"names":[],"mappings":"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"}
@@ -1,95 +1,10 @@
1
1
  import type { GatewayConfig } from "./config.js";
2
- import { type DeliveryState, type EnqueueMessageInput, type EnqueueMessageResult, type EnqueueNativeIngressInput, type EnqueueNativeReplyInput, type GatewayPrivateRouteInspection, type GatewayPublicSnapshot, type GatewayStoreDependencies, type InFlightMessageProgressState, type ObserveConnectorInput, type ObserveRouteInput, type PrivateEndpointIdentity, type PrivateRouteBinding, type ReanchorCodexRoutesInput, type ReanchorCodexRoutesResult, type RebindStaleRouteInput, type RegisterRouteInput, type RequeueInFlightMessageResult, type RemoveStaleCodexOrphanInput, type RemoveStaleCodexOrphanResult, type SettleMessageInput, type SettleMessageResult, type StaleCodexOrphanRemovalAuthority, type StaleCodexOrphanRemovalCommitProofInput, type TerminalMessageSettlement, type TransientQueuedMessage } from "./types.js";
2
+ import type { AcceptMessageInput, AcceptMessageResult, AuthorizeMessageInput, AuthorizeMessageResult, EnqueueMessageInput, EnqueueMessageResult, EnqueueNativeIngressInput, EnqueueNativeReplyInput, GatewayMessageRecord, GatewayPersistedState, GatewayPrivateRouteInspection, GatewayPublicSnapshot, GatewayStoreDependencies, LogicalRouteBinding, PublicGatewayActivityEvent, RegisterRouteInput, RemoveRouteAtomicResult, ReplaceCodexRegistrationAtomicInput, ReplaceCodexRegistrationAtomicResult, ReserveMessageResult, ResolvePrewriteAttemptInput, ResolvePrewriteAttemptResult, SettleAttemptInput, SettleAttemptForShutdownInput, SettleAttemptForShutdownResult, SettleAttemptResult, SettleQueuedMessageForShutdownInput, SettleQueuedMessageForShutdownResult, TerminalMessageSettlement } from "./types.js";
3
3
  export declare const GATEWAY_MAX_STATE_FILE_BYTES: number;
4
- type ProgressWatchNudge = Readonly<{
5
- conversationId: string;
6
- ownerAlias: string;
7
- workerAlias: string;
8
- nudgeNumber: 1 | 2;
9
- }>;
10
- export type SettleQueuedMessageInput = {
11
- messageId: string;
12
- state: Extract<DeliveryState, "failed" | "expired" | "cancelled" | "abandoned">;
13
- safeErrorCode?: string;
14
- };
15
- export type SettleQueuedMessageResult = {
16
- status: "settled";
17
- settlement: TerminalMessageSettlement;
18
- } | {
19
- status: "not_queued";
20
- };
21
- export type AffectedInFlightMessageInspection = Readonly<{
22
- messageId: string;
23
- deadlineAt: string;
24
- }>;
25
- export type RouteInFlightSettlementInput = Readonly<{
26
- messageId: string;
27
- state: SettleMessageInput["state"];
28
- safeErrorCode?: string;
29
- }>;
30
- export type ReplaceClaudeSelectionInput = Readonly<{
31
- replacement: RegisterRouteInput;
32
- inFlightSettlements?: readonly RouteInFlightSettlementInput[];
33
- }>;
34
- export type GatewayConsentEdgeInput = Readonly<{
4
+ export declare function isGatewayPersistedStateV3(value: unknown): value is GatewayPersistedState;
5
+ type ConsentEdgeInput = Readonly<{
35
6
  aliases: readonly [string, string];
36
- }>;
37
- export type RemoveConsentEdgeInput = GatewayConsentEdgeInput & Readonly<{
38
- inFlightSettlements?: readonly RouteInFlightSettlementInput[];
39
- }>;
40
- export type RemoveConsentEdgeResult = Readonly<{
41
- settlements: readonly TerminalMessageSettlement[];
42
- unreferencedAliases: readonly string[];
43
- }>;
44
- export declare const codexSuccessionJournalStages: readonly ["prepared", "publication_armed", "published", "activated", "recovery_forbidden"];
45
- export type CodexSuccessionJournalStage = (typeof codexSuccessionJournalStages)[number];
46
- export type CodexSuccessionStoreIdentity = Readonly<{
47
- alias: string;
48
- threadId: string;
49
- hostId: string;
50
- /** Opaque exact ownership/listener generation; never interpreted as a path. */
51
- generation: string;
52
- /** Existing private route metadata only; never publicly projected. */
53
- binding: PrivateRouteBinding;
54
- }>;
55
- type CodexSuccessionJournal = Readonly<{
56
- schemaVersion: 1;
57
- stage: CodexSuccessionJournalStage;
58
- old: CodexSuccessionStoreIdentity;
59
- new: CodexSuccessionStoreIdentity;
60
- safeErrorCode?: string;
61
- }>;
62
- export type PrepareCodexSuccessionInput = Readonly<{
63
- old: CodexSuccessionStoreIdentity;
64
- new: CodexSuccessionStoreIdentity;
65
- }>;
66
- export type ExactCodexSuccessionInput = Readonly<{
67
- oldGeneration: string;
68
- newGeneration: string;
69
- }>;
70
- export type ClearCodexSuccessionInput = ExactCodexSuccessionInput & Readonly<{
71
- /** Required once the durable arm exists; ignored only before arming. */
72
- publicationAbsenceConfirmed?: true;
73
- }>;
74
- export type ActivateCodexSuccessionInput = ExactCodexSuccessionInput & Readonly<{
75
- state: "idle" | "busy" | "awaiting_approval";
76
- }>;
77
- export type ForbidCodexSuccessionRecoveryInput = ExactCodexSuccessionInput & Readonly<{
78
- safeErrorCode: string;
79
- }>;
80
- export type CodexSuccessionRecoveryAuthority = Readonly<{
81
- authority: "none";
82
- }> | Readonly<{
83
- authority: "old" | "new";
84
- journal: CodexSuccessionJournal;
85
- }>;
86
- export type CodexSuccessionBarrierInspection = Readonly<{
87
- codexRouteCount: number;
88
- queueCount: number;
89
- inFlightCount: number;
90
- transientBodyCount: number;
91
- codexQueueDepth: number;
92
- clean: boolean;
7
+ expectedRegistrationIds: readonly [string, string];
93
8
  }>;
94
9
  export declare class GatewayStore {
95
10
  readonly config: GatewayConfig;
@@ -97,248 +12,78 @@ export declare class GatewayStore {
97
12
  private readonly now;
98
13
  private readonly randomId;
99
14
  private readonly afterStateFileRename;
15
+ private readonly renameStateFile;
100
16
  private readonly mutex;
101
- private readonly transientBodies;
102
17
  private state;
103
18
  private lockHandle;
104
19
  private lockToken;
105
- /** Startup may defer the first native-v2 persistence until admission passes. */
106
20
  private persistenceDeferred;
107
21
  constructor(config: GatewayConfig, dependencies?: GatewayStoreDependencies);
108
22
  get stateFilePath(): string;
109
23
  initialize(options?: Readonly<{
110
24
  deferPersistence?: boolean;
111
25
  }>): Promise<void>;
112
- /** Commit a successfully admitted startup exactly once. */
113
26
  commitInitialization(): Promise<void>;
114
27
  close(): Promise<void>;
115
- observeConnector(input: ObserveConnectorInput): Promise<void>;
116
- markConnectorOffline(identity: PrivateEndpointIdentity, safeErrorCode?: string, inFlightSettlements?: readonly RouteInFlightSettlementInput[], options?: Readonly<{
117
- preserveQueued?: boolean;
118
- }>): Promise<TerminalMessageSettlement[]>;
119
- registerRoute(input: RegisterRouteInput): Promise<void>;
120
- /**
121
- * Replace the complete selected-Claude set with one exact live session in a
122
- * single durable mutation. Work owned by every retired selection settles by
123
- * the same evidence-aware rules as explicit unselection; no public snapshot
124
- * can observe a two-selection intermediate state.
125
- */
126
- replaceClaudeSelection(input: ReplaceClaudeSelectionInput): Promise<TerminalMessageSettlement[]>;
127
- observeRoute(input: ObserveRouteInput): Promise<void>;
128
- invalidateRoute(binding: PrivateRouteBinding, safeErrorCode?: string, inFlightSettlements?: readonly RouteInFlightSettlementInput[]): Promise<TerminalMessageSettlement[]>;
129
- /**
130
- * Replaces only an already-invalidated binding. Codex must retain the exact
131
- * task handle. Claude must retain its exact session UUID and ownership lease;
132
- * an authorized discovery may also atomically adopt that UUID's latest live
133
- * display name. Names alone are never rebind authority.
134
- */
135
- rebindStaleRoute(input: RebindStaleRouteInput): Promise<void>;
136
- /**
137
- * Atomically re-anchor only the exact Codex tasks proved present on a newly
138
- * compatible App Server generation. Omitted stale tasks stay untouched.
139
- */
140
- reanchorCodexRoutes(input: ReanchorCodexRoutesInput): Promise<ReanchorCodexRoutesResult>;
141
- /**
142
- * Dashboard recovery primitive for one abandoned Codex registration. The
143
- * alias is only authority to request evaluation; durable state must prove
144
- * the task is empty, stale, expired, and on a dead or superseded generation.
145
- */
146
- removeStaleCodexOrphan(input: RemoveStaleCodexOrphanInput): Promise<RemoveStaleCodexOrphanResult>;
147
- disableRoute(alias: string, ownerLease: string, inFlightSettlements?: readonly RouteInFlightSettlementInput[]): Promise<TerminalMessageSettlement[]>;
148
- unregisterRoute(alias: string, ownerLease: string, inFlightSettlements?: readonly RouteInFlightSettlementInput[], progressWatchSettlementActor?: "gateway" | "operator"): Promise<TerminalMessageSettlement[]>;
149
- /**
150
- * Move one owned route to its provider's latest live display name without
151
- * changing the logical provider route binding. Historical normalized events
152
- * retain the name that was true when they were emitted; active metadata is
153
- * rewritten so subsequent settlement and dispatch use only the latest name.
154
- */
155
- renameRoute(alias: string, newAlias: string, ownerLease: string): Promise<void>;
156
- resolveRoute(alias: string): Promise<PrivateRouteBinding>;
157
- /**
158
- * Controller-internal ownership lookup used for explicit reactivation and
159
- * unregister after restart. Callers must never return this value through a
160
- * control response, dashboard projection, log, or normalized event.
161
- */
28
+ inspectPrivateRoutes(): Promise<GatewayPrivateRouteInspection[]>;
29
+ listLogicalRoutes(): Promise<GatewayPrivateRouteInspection[]>;
162
30
  inspectPrivateRoute(alias: string): Promise<GatewayPrivateRouteInspection | undefined>;
163
- /**
164
- * Read-only preflight for service-side provider cleanup. Removal repeats the
165
- * identical proof atomically so no intervening state change can authorize it.
166
- */
167
- inspectStaleCodexOrphan(alias: string): Promise<PrivateRouteBinding>;
168
- /**
169
- * Capture the exact pre-mutation authority needed to reconcile a possible
170
- * post-rename orphan-removal commit. This value remains controller-private.
171
- */
172
- inspectStaleCodexOrphanRemovalAuthority(alias: string): Promise<StaleCodexOrphanRemovalAuthority>;
173
- /**
174
- * Fail-closed reconciliation for one exact removal whose durable rename may
175
- * have committed before a directory-sync error. The latest private journal
176
- * row, monotonic predecessor, alias absence, and native authority absence
177
- * must all corroborate the same mutation.
178
- */
179
- wasStaleCodexOrphanRemovalCommitted(input: StaleCodexOrphanRemovalCommitProofInput): Promise<boolean>;
180
- /**
181
- * Controller-internal inventory used to preserve exact Codex registration
182
- * identities across restart. Native task handles never cross the control
183
- * protocol or enter a public projection.
184
- */
185
- inspectPrivateCodexRoutes(): Promise<GatewayPrivateRouteInspection[]>;
186
- /**
187
- * Bounded, metadata-only barrier observation for the succession controller.
188
- * No route, message, conversation, or listener identifier is returned.
189
- */
190
- inspectCodexSuccessionBarrier(alias: string): Promise<CodexSuccessionBarrierInspection>;
191
- /** Begin one exact, same-host Codex registration succession. */
192
- prepareCodexSuccession(input: PrepareCodexSuccessionInput): Promise<void>;
193
- /** Durably closes the rollback-to-old boundary before registry publication. */
194
- armCodexSuccessionPublication(input: ExactCodexSuccessionInput): Promise<void>;
195
- /** Record that the exact new registry generation is externally visible. */
196
- markCodexSuccessionPublished(input: ExactCodexSuccessionInput): Promise<void>;
197
- /**
198
- * Atomically replace the sole old Codex route with the exact journaled new
199
- * private binding. No route gap is ever persisted.
200
- */
201
- activateCodexSuccession(input: ActivateCodexSuccessionInput): Promise<void>;
202
- /** Record an armed-or-later failure for fail-closed restart authority. */
203
- forbidCodexSuccessionRecovery(input: ForbidCodexSuccessionRecoveryInput): Promise<void>;
204
- /** Clear before arming, or after positive proof that an arm was unpublished. */
205
- clearCodexSuccession(input: ClearCodexSuccessionInput): Promise<void>;
206
- /** Complete an activated or restart-canonicalized new generation. */
207
- completeCodexSuccession(input: ExactCodexSuccessionInput): Promise<void>;
208
- /** Controller-private restart authority; omitted from every public view. */
209
- inspectCodexSuccessionRecoveryAuthority(): Promise<CodexSuccessionRecoveryAuthority>;
210
- /**
211
- * Controller-internal inventory used only for exact-UUID Claude restoration
212
- * and explicit offline unselection. The result is bounded by maxRoutes and
213
- * must never cross the control protocol or enter a public projection.
214
- */
215
- inspectPrivateClaudeRoutes(): Promise<GatewayPrivateRouteInspection[]>;
216
- /** Create one explicit, durable consent edge between distinct providers. */
217
- addConsentEdge(input: GatewayConsentEdgeInput): Promise<{
218
- created: boolean;
219
- }>;
220
- /** Bounded metadata-only graph inventory for controller inference. */
221
- inspectConsentEdges(): Promise<GatewayConsentEdgeInput[]>;
222
- /** Resolve only an exact live watch; recovery may substitute its suffix. */
223
- resolveProgressWatchDispatch(input: Readonly<{
224
- sourceAlias: string;
225
- targetAlias: string;
226
- }> & (Readonly<{
227
- conversationId: string;
228
- recoveredConversationIdSuffix?: never;
229
- }> | Readonly<{
230
- conversationId?: never;
231
- recoveredConversationIdSuffix: string;
232
- }>)): Promise<Readonly<{
233
- conversationId?: string;
234
- markerActive: boolean;
31
+ registerRoute(input: RegisterRouteInput): Promise<void>;
32
+ removeOwnedRouteAtomic(input: Readonly<{
33
+ alias: string;
34
+ binding: LogicalRouteBinding;
35
+ activity?: Readonly<{
36
+ operatorAction: boolean;
37
+ }>;
38
+ }>): Promise<RemoveRouteAtomicResult>;
39
+ replaceCodexRegistrationAtomic(input: ReplaceCodexRegistrationAtomicInput): Promise<ReplaceCodexRegistrationAtomicResult>;
40
+ replaceClaudeSelection(replacement: RegisterRouteInput): Promise<Readonly<{
41
+ settlements: readonly TerminalMessageSettlement[];
42
+ }>>;
43
+ hasConsentEdge(input: ConsentEdgeInput): Promise<boolean>;
44
+ addConsentEdge(input: ConsentEdgeInput): Promise<void>;
45
+ removeConsentEdge(input: ConsentEdgeInput): Promise<Readonly<{
46
+ settlements: readonly TerminalMessageSettlement[];
47
+ unreferencedAliases: readonly string[];
235
48
  }>>;
236
- touchProgressWatchesForAlias(alias: string): Promise<number>;
237
- endProgressWatch(conversationId: string): Promise<boolean>;
238
- /** Advance every due watch once under one durable store mutation. */
239
- advanceDueProgressWatches(): Promise<ProgressWatchNudge[]>;
240
- nextProgressWatchActionAt(): Promise<string | undefined>;
241
- deferProgressWatchNudge(conversationId: string, nudgeNumber: 1 | 2): Promise<boolean>;
242
- hasConsentEdge(input: GatewayConsentEdgeInput): Promise<boolean>;
243
- inspectAffectedConsentEdgeInFlightMessages(input: GatewayConsentEdgeInput): Promise<AffectedInFlightMessageInspection[]>;
244
- /**
245
- * Remove exactly one consent edge and settle only work owned by that edge.
246
- * Adjacent edges, terminal token metadata, and unrelated messages survive.
247
- */
248
- removeConsentEdge(input: RemoveConsentEdgeInput): Promise<RemoveConsentEdgeResult>;
249
- /**
250
- * Controller-internal inventory used to prepare an exact, evidence-aware
251
- * terminal plan before a route mutation. Message bodies and route handles
252
- * never cross this boundary. The route mutation validates the returned set
253
- * again so a stale or incomplete plan cannot partially settle the ledger.
254
- */
255
- inspectAffectedInFlightMessages(aliases: readonly string[]): Promise<AffectedInFlightMessageInspection[]>;
256
49
  enqueueMessage(input: EnqueueMessageInput): Promise<EnqueueMessageResult>;
257
- /**
258
- * Accept one message from a caller-attested native Claude peer without
259
- * registering or persisting that peer as a route. The exact private binding
260
- * is used only to prove a live same-host connector generation for this call.
261
- */
262
50
  enqueueNativeIngress(input: EnqueueNativeIngressInput): Promise<EnqueueMessageResult>;
263
- /**
264
- * Queue a correlated provider reply for a caller-attested transient Claude
265
- * peer. The service owns conversation correlation and the live dispatch
266
- * capability; the store retains only bounded public-alias metadata.
267
- */
268
51
  enqueueNativeReply(input: EnqueueNativeReplyInput): Promise<EnqueueMessageResult>;
269
- dequeueMessage(targetAlias?: string, mode?: "any" | "steer_only"): Promise<(TransientQueuedMessage & {
270
- queuedAhead?: number;
271
- }) | undefined>;
272
- /** Controller-private shutdown inventory; full IDs never cross control output. */
273
- inspectQueuedMessageIds(): Promise<string[]>;
274
- /**
275
- * Atomically terminalizes every message whose delivery deadline is due.
276
- * Returned settlements are emitted only by the mutation that removed the
277
- * message, so callers can release service-owned capabilities exactly once.
278
- *
279
- * @deprecated GatewayService must arbitrate deadlines through the delivery
280
- * reducer because only the service owns transport-write evidence. Retained
281
- * temporarily as a store-level recovery/test primitive; production service
282
- * code must not call it.
283
- */
52
+ inspectDispatchableTargets(): Promise<string[]>;
53
+ nextDeadlineAt(): Promise<string | undefined>;
54
+ deliveryStatus(token: string): Promise<GatewayMessageRecord | undefined>;
55
+ reserveMessage(targetAlias?: string, mode?: "any" | "steer_only"): Promise<ReserveMessageResult>;
56
+ authorizeMessage(input: AuthorizeMessageInput): Promise<AuthorizeMessageResult>;
57
+ acceptMessage(input: AcceptMessageInput): Promise<AcceptMessageResult>;
58
+ resolvePrewriteAttempt(input: ResolvePrewriteAttemptInput): Promise<ResolvePrewriteAttemptResult>;
59
+ settleAttempt(input: SettleAttemptInput): Promise<SettleAttemptResult>;
60
+ settleAttemptForShutdown(input: SettleAttemptForShutdownInput): Promise<SettleAttemptForShutdownResult>;
61
+ settleQueuedMessageForShutdown(input: SettleQueuedMessageForShutdownInput): Promise<SettleQueuedMessageForShutdownResult>;
284
62
  expireDueMessages(now?: Date): Promise<TerminalMessageSettlement[]>;
285
- settleMessage(input: SettleMessageInput): Promise<SettleMessageResult>;
286
- requeueInFlightMessage(messageId: string, body: string, safeErrorCode?: string): Promise<RequeueInFlightMessageResult>;
287
- markMessageProgress(messageId: string, progress: InFlightMessageProgressState): Promise<void>;
288
- /**
289
- * Atomically terminalize one queued message and return the authoritative
290
- * settlement produced by the winning mutation. A later contender observes
291
- * `not_queued` and must not infer or publish another terminal outcome. At
292
- * or beyond the delivery deadline, expiry is authoritative regardless of
293
- * the caller's requested terminal state.
294
- */
295
- settleQueuedMessage(input: SettleQueuedMessageInput): Promise<SettleQueuedMessageResult>;
296
- /** @deprecated Prefer settleQueuedMessage so callers retain terminal proof. */
297
- cancelQueuedMessage(messageId: string): Promise<boolean>;
63
+ recordActivity(event: Omit<PublicGatewayActivityEvent, "sequence" | "timestamp">): Promise<PublicGatewayActivityEvent>;
298
64
  publicSnapshot(): Promise<GatewayPublicSnapshot>;
299
- private mutate;
300
- private requireState;
301
- private journal;
302
- private requireExactSuccession;
303
- private assertSuccessionLedgerEmpty;
304
- private requireCodexRouteForIdentity;
305
- private requireJournalRoute;
306
- private requireAnyJournalRoute;
307
- private assertNewSuccessionIdentityAvailable;
308
- private replaceCodexRouteForSuccession;
309
- private assertAllowedIdentity;
310
- private requireObservedEndpoint;
65
+ private projectMessageEvent;
311
66
  private validateRouteInput;
312
- private requireOwnedRoute;
313
- private requireStaleCodexOrphan;
314
- private requireAvailableRoute;
315
- private requireConsentEdgeRoutes;
316
- private requireExactConsentEdge;
317
- private validateTransientNativeClaudePeer;
318
- private enqueueResolvedMessage;
319
- private consumeRateLimit;
67
+ private requireRoute;
68
+ private resolvePair;
69
+ private requireConsent;
70
+ private enqueueResolved;
71
+ private allocateDeliveryToken;
72
+ private consumeRate;
320
73
  private recordRejection;
321
- private appendEvent;
322
- private pruneRetainedEventBodies;
323
- private appendCodexEndpointRefreshEvent;
324
- private appendCodexOrphanRemovalEvent;
325
- /** Commit watch activity only after every message-admission check succeeds. */
326
- private applyProgressWatchMessageActivity;
327
- private inspectProgressWatchDue;
328
- private commitProgressWatchNudge;
329
- private installProgressWatch;
330
- private appendProgressWatchEvents;
331
- private settleProgressWatchesForAliases;
332
- private settleProgressWatchesForConsentEdge;
333
- private finishMetadata;
334
- private validateAffectedInFlightSettlements;
335
- private validateAffectedConsentEdgeInFlightSettlements;
336
- private terminateAffectedMessages;
337
- private terminateAffectedConsentEdgeMessages;
338
- private prune;
74
+ private finishMessage;
75
+ private touchMessage;
76
+ private appendRuntimeActivity;
77
+ private terminalizeRegistration;
78
+ private removeRegistrationMetadata;
79
+ private renameRegistrationCoordinates;
339
80
  private recoverAfterRestart;
340
- private recoverCodexSuccessionAfterRestart;
341
- private aggregateHealth;
81
+ private prune;
82
+ private pruneRetainedBodies;
83
+ private assertConfiguredBounds;
84
+ private read;
85
+ private mutate;
86
+ private requireState;
342
87
  private prepareOwnedDirectory;
343
88
  private assertOwnedPrivate;
344
89
  private readPrivateFile;