agent-embassy 4.2.0 → 4.3.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 (42) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +27 -16
  3. package/SECURITY.md +25 -11
  4. package/dist/src/gateway/broker-control.js +9 -2
  5. package/dist/src/gateway/broker-control.js.map +1 -1
  6. package/dist/src/gateway/broker.d.ts +14 -0
  7. package/dist/src/gateway/broker.js +6 -2
  8. package/dist/src/gateway/broker.js.map +1 -1
  9. package/dist/src/gateway/codex-discovery.d.ts +42 -0
  10. package/dist/src/gateway/codex-discovery.js +604 -0
  11. package/dist/src/gateway/codex-discovery.js.map +1 -0
  12. package/dist/src/gateway/codex-stateless-transport.d.ts +1 -1
  13. package/dist/src/gateway/codex-stateless-transport.js +126 -18
  14. package/dist/src/gateway/codex-stateless-transport.js.map +1 -1
  15. package/dist/src/gateway/core-cli.js +8 -5
  16. package/dist/src/gateway/core-cli.js.map +1 -1
  17. package/dist/src/gateway/core-version.d.ts +1 -1
  18. package/dist/src/gateway/core-version.js +1 -1
  19. package/dist/src/gateway/endpoint-directory.d.ts +12 -0
  20. package/dist/src/gateway/endpoint-directory.js +94 -4
  21. package/dist/src/gateway/endpoint-directory.js.map +1 -1
  22. package/dist/src/gateway/ledger-codec.js +11 -6
  23. package/dist/src/gateway/ledger-codec.js.map +1 -1
  24. package/dist/src/gateway/ledger.d.ts +2 -1
  25. package/dist/src/gateway/ledger.js +5 -2
  26. package/dist/src/gateway/ledger.js.map +1 -1
  27. package/dist/src/gateway/local-control.d.ts +1 -1
  28. package/dist/src/gateway/local-control.js +1 -1
  29. package/dist/src/gateway/owned-state.d.ts +1 -0
  30. package/dist/src/gateway/owned-state.js +1 -1
  31. package/dist/src/gateway/owned-state.js.map +1 -1
  32. package/dist/src/gateway/runtime.d.ts +4 -2
  33. package/dist/src/gateway/runtime.js +18 -5
  34. package/dist/src/gateway/runtime.js.map +1 -1
  35. package/dist/src/gateway/tui.d.ts +1 -0
  36. package/dist/src/gateway/tui.js +6 -3
  37. package/dist/src/gateway/tui.js.map +1 -1
  38. package/docs/CONFIGURATION.md +57 -17
  39. package/docs/DELIVERY.md +18 -6
  40. package/docs/GATEWAY-ARCHITECTURE.md +43 -21
  41. package/package.json +2 -2
  42. package/skills/embassy-peer/SKILL.md +6 -6
package/CHANGELOG.md CHANGED
@@ -4,6 +4,15 @@ All notable changes to this project are documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
6
 
7
+ ## [4.3.0] - 2026-09-06
8
+
9
+ ### Added
10
+ - Native Codex App Server discovery lists the recency top 20 unarchived root threads as ordinary Codex endpoints without per-task registration; sub-agents are excluded. Dormant agents wake on delivery; `register-codex` remains the fallback for non-native harnesses, and retirement suppresses immediate rediscovery.
11
+
12
+ ### Changed
13
+ - Private control protocol 5 → 6 for root status metadata. Private state 6 reads forward into 7 with one private retention marker; existing 4.2.0 rows remain retained. Window aging hides automatic rows without retiring them. Back up state before upgrading: 4.2.0 refuses schema 7, so rollback requires the pre-upgrade backup. Federation stays protocol 3.
14
+ - Ordinary Codex delivery starts only after an immediate idle observation. A competing client can win the remaining check/write race; the App Server cannot distinguish that steer from a fresh turn, so receipts prove acceptance and lifetime rather than fresh-turn creation. Exact-turn `STEER:` remains explicit and unchanged.
15
+
7
16
  ## [4.2.0] - 2026-09-06
8
17
 
9
18
  ### Added
package/README.md CHANGED
@@ -16,9 +16,10 @@ identity, so a rename or replacement never silently retargets queued work.
16
16
  - macOS and Node.js 20 or newer.
17
17
  - Claude Code installed for the Claude sessions you use.
18
18
  - To receive in Codex, use its managed standalone installation with its App
19
- Server daemon already running under the same macOS login; merely having a
20
- `codex` executable on PATH is insufficient, and Embassy does not install or
21
- start that daemon.
19
+ Server daemon already running under the same macOS login. Embassy discovers
20
+ its 20 most recent unarchived root agents automatically, but does not install, start or
21
+ update that daemon; merely having a `codex` executable on PATH is
22
+ insufficient.
22
23
  - A private `nodes.json` when choosing an explicit host name or federating;
23
24
  first single-machine boot creates one from the short hostname.
24
25
  - Key-based, non-interactive SSH between configured machines when federating.
@@ -84,9 +85,14 @@ Read `host` from the `nodes.json` that first boot created and use it as every
84
85
  local `@host` suffix; the examples use `@studio` only when you explicitly chose
85
86
  `host: studio`, not as a universal alias suffix.
86
87
 
87
- Ask the live Codex CLI task to execute the following registration through its
88
- shell tool; an ordinary terminal lacks that task's inherited identity. Embassy
89
- never accepts or prints the task ID:
88
+ The 20 most recent Codex root agents appear automatically from the same-user App Server daemon. Run
89
+ `embassy status` to see their current public names; dormant agents remain
90
+ addressable and wake on delivery. Native task IDs, previews and history never
91
+ appear in Embassy output.
92
+
93
+ For a harness without native daemon integration, ask the live Codex CLI task
94
+ to execute this fallback registration through its shell tool; an ordinary
95
+ terminal lacks that task's inherited identity:
90
96
 
91
97
  ```sh
92
98
  embassy register-codex --alias codex-reviewer@studio
@@ -96,7 +102,7 @@ Claude sessions are discovered and recorded by exact native identity when a
96
102
  Claude caller sends or when a named Claude target is resolved. No helper or
97
103
  native advertisement process is installed.
98
104
 
99
- After Codex registers `codex-reviewer@studio`, ask the live Claude Code session
105
+ After `codex-reviewer@studio` appears in status, ask the live Claude Code session
100
106
  to run `embassy send --to codex-reviewer@studio` with 'Please review the change
101
107
  and reply using the supplied Embassy hint' on stdin; execute this through the
102
108
  agent's shell tool, not an unrelated terminal. The sender is inferred from the calling session:
@@ -158,8 +164,9 @@ with each peer name matching both the remote inventory's `host` and a working
158
164
  SSH destination or `~/.ssh/config` Host alias.
159
165
 
160
166
  After changing a running broker's inventory, reload it with
161
- `embassy service install`; register `codex-reviewer@laptop` from the live
162
- Codex task on laptop, then ask the Claude session on studio to run
167
+ `embassy service install`; wait for `codex-reviewer@laptop` to appear from the
168
+ Codex daemon on laptop (or use fallback registration), then ask the Claude
169
+ session on studio to run
163
170
  `embassy send --to codex-reviewer@laptop` with the message on stdin.
164
171
 
165
172
  From studio, verify the remote command environment with
@@ -182,8 +189,8 @@ queue and trusts the peer's source identity, so first contact does not wait
182
189
  for a destination catalog poll. Catalogs are bounded memory-only observations,
183
190
  never routing authority.
184
191
 
185
- `embassy refresh` observes local Claude sessions and every configured SSH
186
- catalog in parallel. `status` performs no provider or network I/O: it shows the
192
+ `embassy refresh` observes local Claude and Codex sessions and every configured
193
+ SSH catalog in parallel. `status` performs no provider or network I/O: it shows the
187
194
  last per-node catalog rows and observation time, retains the last rows when a
188
195
  later refresh fails, and labels that node `PEER_TUNNEL_UNAVAILABLE`. At most 128
189
196
  remote rows are displayed; truncation is explicit. Named and exact sends still
@@ -280,23 +287,27 @@ See [Security](SECURITY.md), [Configuration](docs/CONFIGURATION.md), and
280
287
 
281
288
  ## Upgrading to 4.x
282
289
 
283
- Version 4 accepts only fresh private state schema 6 and private control
284
- protocol 5. It does not migrate or read 3.x state.
290
+ Codex discovery reads valid schema 6 forward and writes schema 7, adding only a
291
+ private retention marker; existing 4.2.0 endpoints stay retained. No reset is
292
+ needed for 4.2.0. Back up `gateway-state.json` before upgrading: 4.2.0 refuses
293
+ schema 7, so rollback requires that pre-upgrade backup. Private control changes
294
+ 5→6; upgrade CLI and broker together. There is no 3.x migration.
285
295
 
286
296
  Before replacing a 3.x installation, use its matching CLI to inspect and
287
297
  settle or explicitly abandon pending work; stop a launchd broker with
288
298
  `embassy service uninstall` (or stop the foreground serve process) and confirm
289
299
  it is stopped with `embassy service status`, back up and move aside only
290
300
  `gateway-state.json` in that broker's state directory while retaining
291
- `nodes.json`, then install 4.0.0, run `embassy service install`, and re-register
292
- the Codex tasks.
301
+ `nodes.json`, then install the current discovery-enabled 4.x release and run
302
+ `embassy service install`. Current Codex agents are discovered; use fallback
303
+ registration only for non-native harnesses.
293
304
 
294
305
  All state produced by Embassy 3.x is unsupported by 4.x; preserve the matching
295
306
  old binary as well as its old state if rollback may be needed, and never run
296
307
  the old and new brokers together. See the [reset procedure](docs/CONFIGURATION.md#private-state-reset).
297
308
 
298
309
  The rollback boundary is the preserved old state plus its matching old binary.
299
- Do not point an old binary at schema-6 state or a v4 binary at old state.
310
+ Do not point 4.2.0 at schema-7 state or this release at schema ≤5.
300
311
 
301
312
  ## Development
302
313
 
package/SECURITY.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  ## Supported versions
4
4
 
5
- Security fixes are provided for the current release line. Version 4 uses a
6
- reset-only state boundary and does not run compatibility code for older private
7
- state or control protocols.
5
+ Security fixes are provided for the current release line. Private schema 6 is
6
+ read forward into 7; schema ≤5 still requires a reset. Private control peers
7
+ must use the same protocol version.
8
8
 
9
9
  ## Reporting a vulnerability
10
10
 
@@ -89,9 +89,13 @@ An endpoint's opaque `(ID, host, provider)` tuple is routing authority. Its
89
89
  admission; writes, replies, restart recovery, and settlement use the tuple.
90
90
  Historical names never resolve, and queued work is never silently rebound.
91
91
 
92
- Codex tasks self-register from inherited `CODEX_THREAD_ID`. Embassy never
93
- accepts, prints, or guesses the value. Registration performs no provider I/O.
94
- Each operation resumes and attests that exact task immediately before write.
92
+ Codex agents are discovered from bounded same-user App Server metadata. Their
93
+ immutable native thread IDs remain private identity and are never accepted as
94
+ arguments, printed or guessed. Native names are mutable aliases; only the
95
+ recency top 20 roots are automatically listed. A task may
96
+ self-register from inherited `CODEX_THREAD_ID` as a fallback; discovery and
97
+ registration reconcile the same identity. Each operation resumes and attests
98
+ that exact task immediately before write.
95
99
 
96
100
  Claude callers are resolved from inherited `CLAUDE_CODE_MESSAGING_SOCKET`,
97
101
  which must be an absolute path. The path may become an in-memory `uds:`
@@ -142,6 +146,13 @@ never interrupts a generation, and falls back to the ordinary bounded queue
142
146
  when cleanly unavailable. Embassy never calls `turn/interrupt`, answers an
143
147
  approval, or changes a task's approval or sandbox policy.
144
148
 
149
+ Ordinary Codex work is started only after an immediate idle-status observation;
150
+ active work remains queued in Embassy. A competing client can start a turn
151
+ between that observation and Embassy's write, and the provider response cannot
152
+ distinguish the resulting steer from a fresh turn. The receipt therefore proves
153
+ acceptance and lifetime, not fresh-turn creation. This residual race is the same
154
+ for discovered and fallback-registered tasks and never authorizes replay.
155
+
145
156
  ## Filesystem and process boundary
146
157
 
147
158
  The state directory is a current-user-owned mode-0700 real directory. State and
@@ -189,6 +200,8 @@ commit boundary remain uncertain and are never replayed automatically.
189
200
  Public JSON is a closed projection. It may contain opaque Embassy endpoint IDs,
190
201
  aliases, providers, hosts, queue depths, safe codes, phases/outcomes, ages,
191
202
  recent retirement times, and bounded remote catalog rows and observation times.
203
+ Codex rows may additionally contain observed busy, waiting, idle, dormant or unknown state.
204
+ The explicit-registration retention marker remains private.
192
205
  It must never contain native IDs or handles, socket paths, message bodies,
193
206
  delivery/conversation secrets, credentials, exceptions, raw diagnostics, or
194
207
  provider histories. Human output is derived from the same validated shape.
@@ -198,11 +211,12 @@ protocol channel. Operational hints use bounded safe codes and stderr.
198
211
 
199
212
  ## State reset and rollback
200
213
 
201
- Private state schema 6 and control protocol 5 are the only v4 formats. Older or
202
- unknown state refuses before mutation. There is no converter, compatibility
203
- reader, or alias for removed commands. The operator must inspect and settle old
204
- work with the old binary, stop the broker, preserve the old state, and start v4
205
- with a fresh `gateway-state.json` while keeping `nodes.json`.
214
+ Private state writes schema 7 and reads valid schema 6 forward, retaining its
215
+ existing rows. Control protocol is 6. Schemas ≤5 and unknown state refuse before
216
+ mutation; no 3.x converter or removed-command alias exists. Before upgrading
217
+ 4.2.0, stop the broker and back up its state; 4.2.0 refuses schema 7, so rollback
218
+ requires that pre-upgrade backup. Upgrading from 3.x still requires inspecting
219
+ unsettled work with the old binary and resetting state while keeping `nodes.json`.
206
220
 
207
221
  Reset invalidates all old routes, receipts, and conversation references. The
208
222
  only rollback is the preserved old binary with its untouched old state. Embassy
@@ -20,6 +20,8 @@ const endpoint = (x) => exact(x, ["id", "host", "provider", "alias"]) &&
20
20
  const rows = (x, maximum, accepts) => Array.isArray(x) && x.length <= maximum && x.every(accepts);
21
21
  const endpoints = (x, accepts = endpoint) => rows(x, 128, accepts) &&
22
22
  new Set(x.map((row) => JSON.stringify([row.host, row.id]))).size === x.length;
23
+ const codexMetadata = (x) => exact(x, ["state"]) &&
24
+ ["dormant", "idle", "busy", "waiting", "systemError", "unknown"].includes(String(x.state));
23
25
  /** One public projection contract, used before emission and after transport. Native
24
26
  * handles and arbitrary adapter fields can never hitchhike in a valid result. */
25
27
  export function isBrokerResult(method, value) {
@@ -39,9 +41,13 @@ export function isBrokerResult(method, value) {
39
41
  exact(value, ["found", "state", "terminal", "deadlineAt"], ["pendingForMs", "safeErrorCode"]) && value.found === true && date(value.deadlineAt) &&
40
42
  (value.terminal === true ? outcomes.includes(String(value.state)) && code(value.safeErrorCode) && value.pendingForMs === undefined
41
43
  : value.terminal === false && ["queued", "reserved", "armed", "accepted"].includes(String(value.state)) && count(value.pendingForMs) && value.safeErrorCode === undefined);
42
- case "list_snapshot": return exact(value, ["health", "revision", "routes", "messages", "retirements"], ["safeErrorCode", "federation"]) &&
44
+ case "list_snapshot": return exact(value, ["health", "revision", "routes", "messages", "retirements"], ["safeErrorCode", "federation", "codex"]) &&
43
45
  ["healthy", "degraded"].includes(String(value.health)) && count(value.revision) &&
44
46
  (value.safeErrorCode === undefined || code(value.safeErrorCode)) &&
47
+ (value.codex === undefined || exact(value.codex, ["truncated", "complete"], ["observedAt", "safeErrorCode"]) &&
48
+ typeof value.codex.truncated === "boolean" && typeof value.codex.complete === "boolean" &&
49
+ (value.codex.observedAt === undefined || date(value.codex.observedAt)) &&
50
+ (value.codex.safeErrorCode === undefined || code(value.codex.safeErrorCode))) &&
45
51
  (value.federation === undefined || exact(value.federation, ["nodes", "truncated"]) && typeof value.federation.truncated === "boolean" &&
46
52
  rows(value.federation.nodes, 32, (node) => exact(node, ["host", "routes"], ["observedAt", "safeErrorCode"]) && host(node.host) &&
47
53
  endpoints(node.routes, (row) => endpoint(row) && row.host === node.host) &&
@@ -49,8 +55,9 @@ export function isBrokerResult(method, value) {
49
55
  (node.safeErrorCode === undefined || node.safeErrorCode === "PEER_TUNNEL_UNAVAILABLE")) &&
50
56
  new Set(value.federation.nodes.map((node) => node.host)).size === value.federation.nodes.length &&
51
57
  value.federation.nodes.reduce((sum, node) => sum + node.routes.length, 0) <= 128) &&
52
- endpoints(value.routes, (row) => exact(row, ["id", "alias", "provider", "host", "queueDepth"], ["lastOperation"]) &&
58
+ endpoints(value.routes, (row) => exact(row, ["id", "alias", "provider", "host", "queueDepth"], ["lastOperation", "codex"]) &&
53
59
  endpoint({ id: row.id, alias: row.alias, provider: row.provider, host: row.host }) && count(row.queueDepth) &&
60
+ (row.codex === undefined || row.provider === "codex" && codexMetadata(row.codex)) &&
54
61
  (row.lastOperation === undefined || exact(row.lastOperation, ["outcome", "code"]) &&
55
62
  [...outcomes, "deferred"].includes(String(row.lastOperation.outcome)) && code(row.lastOperation.code))) &&
56
63
  rows(value.messages, 600, (row) => exact(row, ["state", "ageMs"], ["source", "target", "safeErrorCode"]) &&
@@ -1 +1 @@
1
- {"version":3,"file":"broker-control.js","sourceRoot":"","sources":["../../../src/gateway/broker-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker-control.js","sourceRoot":"","sources":["../../../src/gateway/broker-control.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { EndpointDirectory, type EndpointCaller } from "./endpoint-directory.js"
3
3
  import { type LedgerLimits, type LedgerState } from "./ledger.js";
4
4
  import type { OwnedStateFile } from "./owned-state.js";
5
5
  import type { FederatedHandoff, Federation } from "./federation.js";
6
+ import type { CodexDiscoveryObservation } from "./codex-discovery.js";
6
7
  export type BrokerOptions = Readonly<{
7
8
  host: string;
8
9
  store: OwnedStateFile<LedgerState>;
@@ -13,6 +14,10 @@ export type BrokerOptions = Readonly<{
13
14
  nodes?: readonly string[];
14
15
  steeringEnabled?: boolean;
15
16
  federation?: Pick<Federation, "catalog" | "snapshot">;
17
+ codexDiscovery?: {
18
+ refresh(): Promise<void>;
19
+ observation(): CodexDiscoveryObservation;
20
+ };
16
21
  }>;
17
22
  /** Application commands over the directory and the single delivery ledger. */
18
23
  export declare class MessagingBroker {
@@ -87,6 +92,9 @@ export declare class MessagingBroker {
87
92
  code: string;
88
93
  unwritten?: true;
89
94
  }> | undefined;
95
+ codex?: Readonly<{
96
+ state: import("./codex-discovery.js").CodexThread["status"];
97
+ }> | undefined;
90
98
  id: string;
91
99
  alias: string;
92
100
  provider: "claude" | "codex";
@@ -107,6 +115,12 @@ export declare class MessagingBroker {
107
115
  nodes: readonly import("./federation.js").FederationObservation[];
108
116
  truncated: boolean;
109
117
  }>;
118
+ codex?: Readonly<{
119
+ observedAt?: string;
120
+ safeErrorCode?: string;
121
+ truncated: boolean;
122
+ complete: boolean;
123
+ }>;
110
124
  revision: number;
111
125
  safeErrorCode?: string;
112
126
  health: string;
@@ -116,9 +116,11 @@ export class MessagingBroker {
116
116
  async refresh() {
117
117
  const [endpoints] = await Promise.all([
118
118
  this.options.directory.refresh(), this.options.federation?.catalog(),
119
+ this.options.codexDiscovery?.refresh().catch(() => undefined),
119
120
  ]);
120
121
  this.kick();
121
- return { routes: endpoints.map(publicEndpoint) };
122
+ const codex = (await this.options.store.snapshot()).endpoints.filter((row) => row.provider === "codex");
123
+ return { routes: this.options.directory.listed([...codex, ...endpoints.filter((row) => row.provider !== "codex")]).map(publicEndpoint) };
122
124
  }
123
125
  async status() {
124
126
  await this.change((ledger) => ledger.expire());
@@ -127,8 +129,10 @@ export class MessagingBroker {
127
129
  return {
128
130
  health: this.fault ? "degraded" : "healthy", ...(this.fault ? { safeErrorCode: this.fault } : {}),
129
131
  revision: state.commit.sequence,
132
+ ...(this.options.codexDiscovery ? { codex: this.options.codexDiscovery.observation() } : {}),
130
133
  ...(this.options.federation ? { federation: this.options.federation.snapshot() } : {}),
131
- routes: state.endpoints.map((e) => ({ ...publicEndpoint(e),
134
+ routes: this.options.directory.listed(state.endpoints).map((e) => ({ ...publicEndpoint(e),
135
+ ...(e.provider === "codex" && this.options.codexDiscovery ? { codex: this.options.directory.codexMetadata(e) } : {}),
132
136
  ...(this.options.coordinator.observation(e) === undefined ? {} : { lastOperation: this.options.coordinator.observation(e) }),
133
137
  queueDepth: state.deliveries.filter((d) => d.target.id === e.id && d.target.host === e.host && d.state.phase !== "terminal").length })),
134
138
  messages: state.deliveries.map((d) => ({ source: alias(d.source) ?? d.sourceAlias, target: alias(d.target),
@@ -1 +1 @@
1
- {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../src/gateway/broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../src/gateway/broker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { type LocalCodexTransportFactory, type LocalCodexTransportFactoryOptions } from "./codex-local-transport.js";
2
+ type Timer = ReturnType<typeof setTimeout>;
3
+ export type CodexThread = Readonly<{
4
+ id: string;
5
+ name?: string;
6
+ status: "dormant" | "idle" | "busy" | "waiting" | "systemError" | "unknown";
7
+ loaded: boolean;
8
+ }>;
9
+ export type CodexDiscoveryObservation = Readonly<{
10
+ observedAt?: string;
11
+ safeErrorCode?: string;
12
+ truncated: boolean;
13
+ complete: boolean;
14
+ }>;
15
+ export type CodexDiscoverySnapshot = Readonly<{
16
+ threads: readonly CodexThread[];
17
+ removedIds: readonly string[];
18
+ observation: CodexDiscoveryObservation;
19
+ }>;
20
+ export type CodexDiscoveryObserver = Readonly<{
21
+ start: () => void;
22
+ refresh: () => Promise<void>;
23
+ snapshot: () => CodexDiscoverySnapshot;
24
+ close: () => Promise<void>;
25
+ }>;
26
+ export type CodexDiscoveryOptions = Readonly<{
27
+ hostId: string;
28
+ local?: Omit<LocalCodexTransportFactoryOptions, "hostId">;
29
+ maxEndpoints?: number;
30
+ refreshIntervalMs?: number;
31
+ requestTimeoutMs?: number;
32
+ reconnectDelaysMs?: readonly number[];
33
+ onSnapshot: (snapshot: CodexDiscoverySnapshot) => void | Promise<void>;
34
+ }>;
35
+ export type CodexDiscoveryDependencies = Readonly<{
36
+ createFactory?: (options: LocalCodexTransportFactoryOptions) => Promise<LocalCodexTransportFactory>;
37
+ now?: () => Date;
38
+ setTimer?: (callback: () => void, milliseconds: number) => Timer;
39
+ clearTimer?: (timer: Timer) => void;
40
+ }>;
41
+ export declare function createCodexDiscoveryObserver(options: CodexDiscoveryOptions, dependencies?: CodexDiscoveryDependencies): CodexDiscoveryObserver;
42
+ export {};