agent-relay 9.2.4 → 10.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/cli/bootstrap.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoEpC,eAAO,MAAM,OAAO,QAAsB,CAAC;AAkB3C,eAAO,MAAM,WAAW,oBAAsB,CAAC;AAkM/C,wBAAgB,aAAa,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAkDtE;AAqCD,wBAAsB,MAAM,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAsE5E"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/cli/bootstrap.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqEpC,eAAO,MAAM,OAAO,QAAsB,CAAC;AAkB3C,eAAO,MAAM,WAAW,oBAAsB,CAAC;AAkM/C,wBAAgB,aAAa,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAkDtE;AAqCD,wBAAsB,MAAM,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAuE5E"}
@@ -7,6 +7,7 @@ import { Command } from 'commander';
7
7
  import { config as dotenvConfig } from 'dotenv';
8
8
  import { checkForUpdatesInBackground } from '@agent-relay/utils';
9
9
  import { ORCHESTRATOR_HARNESS_ENV, detectOrchestratorHarness, getDistinctId, initTelemetry, isEnabled as isTelemetryEnabled, shutdown as shutdownTelemetry, track, } from './telemetry/index.js';
10
+ import { ensureWebSocketGlobal } from './lib/ensure-websocket.js';
10
11
  import { CliExit } from './lib/exit.js';
11
12
  import { errorClassName } from './lib/telemetry-helpers.js';
12
13
  import { registerSetupCommands } from './commands/setup.js';
@@ -308,6 +309,7 @@ function collectTopLevelVerbs(program) {
308
309
  return verbs;
309
310
  }
310
311
  export async function runCli(argv = process.argv) {
312
+ ensureWebSocketGlobal();
311
313
  maybeRunUpdateCheck(VERSION, argv);
312
314
  const orchestratorHarness = propagateTelemetryContextToChildren();
313
315
  if (!shouldSkipTelemetryInit(argv)) {
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/cli/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/cli/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fleet.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/fleet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGhE,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAM/B,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,gBAAgB,CAAC;IACvB,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;CAC/B;AAgBD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,OAAO,CAAC,wBAAwB,CAAM,GAChD,IAAI,CAkFN"}
1
+ {"version":3,"file":"fleet.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/fleet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGhE,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAM/B,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,gBAAgB,CAAC;IACvB,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;CAC/B;AAgBD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,OAAO,CAAC,wBAAwB,CAAM,GAChD,IAAI,CAiFN"}
@@ -1,8 +1,7 @@
1
1
  import { HarnessDriverClient } from '@agent-relay/harness-driver';
2
- import { readFleetSidecarStatus } from '@agent-relay/fleet';
3
2
  import { withDefaults } from './core.js';
4
3
  import { readBrokerConnection } from '../lib/broker-lifecycle.js';
5
- import { fleetStatusPath } from '../lib/fleet-sidecar.js';
4
+ import { redactSecrets } from '../lib/redact.js';
6
5
  import { addSdkOptions, printJson, runSdk, sdkOptionsFromOpts, withSdkDefaults, } from '../lib/sdk-command.js';
7
6
  const SERVE_REPLACEMENT_MESSAGE = "'fleet serve' has been replaced. Run 'relay node up' (with an optional --config <file>); " +
8
7
  "for Cloud-managed nodes run 'relay cloud enroll --token <token>' first.";
@@ -73,12 +72,9 @@ export function registerFleetCommands(program, overrides = {}) {
73
72
  printJson(deps.sdk, await relay.workspace.fleetNodes.inherit());
74
73
  });
75
74
  });
76
- group
77
- .command('status')
78
- .description('Show local fleet broker and node status')
79
- .action(async () => {
75
+ addSdkOptions(group.command('status').description('Show local broker status and this node’s provider attachment')).action(async (options) => {
80
76
  try {
81
- await runFleetStatus(deps);
77
+ await runFleetStatus(deps, options);
82
78
  }
83
79
  catch (error) {
84
80
  deps.error(error instanceof Error ? error.message : String(error));
@@ -86,51 +82,59 @@ export function registerFleetCommands(program, overrides = {}) {
86
82
  }
87
83
  });
88
84
  }
89
- async function runFleetStatus(deps) {
85
+ async function runFleetStatus(deps, options) {
90
86
  const paths = deps.core.getProjectPaths();
91
87
  const conn = readBrokerConnection(paths.dataDir);
92
- const statusPath = fleetStatusPath(paths);
93
- const sidecar = readFleetSidecarStatus(statusPath);
94
- if (!conn) {
95
- deps.log(JSON.stringify({
96
- broker: { running: false },
97
- sidecar: sidecar ? { ...sidecar, alive: isPidAlive(sidecar.pid) } : null,
98
- }, null, 2));
99
- return;
100
- }
101
- const client = new HarnessDriverClient({ baseUrl: conn.url, apiKey: conn.api_key });
102
- let broker;
103
- try {
104
- const session = await client.getSession();
105
- broker = {
106
- running: true,
107
- url: conn.url,
108
- pid: conn.pid,
109
- workspaceKey: session.workspace_key,
110
- brokerVersion: session.broker_version,
111
- protocolVersion: session.protocol_version,
112
- };
113
- }
114
- catch (error) {
115
- broker = {
116
- running: false,
117
- url: conn.url,
118
- pid: conn.pid,
119
- error: error instanceof Error ? error.message : String(error),
120
- };
88
+ let broker = { running: false };
89
+ let nodeName;
90
+ if (conn) {
91
+ const client = new HarnessDriverClient({ baseUrl: conn.url, apiKey: conn.api_key });
92
+ try {
93
+ const session = await client.getSession();
94
+ nodeName = session.node_name;
95
+ broker = {
96
+ running: true,
97
+ url: conn.url,
98
+ pid: conn.pid,
99
+ workspaceKey: session.workspace_key,
100
+ brokerVersion: session.broker_version,
101
+ protocolVersion: session.protocol_version,
102
+ nodeId: session.node_id,
103
+ nodeName: session.node_name,
104
+ };
105
+ }
106
+ catch (error) {
107
+ broker = {
108
+ running: false,
109
+ url: conn.url,
110
+ pid: conn.pid,
111
+ error: error instanceof Error ? error.message : String(error),
112
+ };
113
+ }
114
+ finally {
115
+ client.disconnect();
116
+ }
121
117
  }
122
- deps.log(JSON.stringify({
123
- broker,
124
- sidecar: sidecar ? { ...sidecar, alive: isPidAlive(sidecar.pid) } : null,
125
- }, null, 2));
126
- }
127
- function isPidAlive(pid) {
128
- try {
129
- process.kill(pid, 0);
130
- return true;
118
+ // Provider attachment (per-provider liveness) is owned by the engine now, not a
119
+ // local status file; read this node's record from the nodes API.
120
+ let node;
121
+ if (nodeName) {
122
+ try {
123
+ const relay = deps.sdk.createWorkspaceRelay(sdkOptionsFromOpts(options));
124
+ const nodes = await relay.nodes.list({ name: nodeName });
125
+ node = nodes[0] ?? { available: false, reason: `no node named "${nodeName}" in the workspace` };
126
+ }
127
+ catch (error) {
128
+ node = { error: error instanceof Error ? error.message : String(error) };
129
+ }
131
130
  }
132
- catch {
133
- return false;
131
+ else {
132
+ // A running broker that never reported a node name means the engine lookup
133
+ // was skipped — say so rather than looking fully checked.
134
+ node = { available: false, reason: 'broker did not report a node name' };
134
135
  }
136
+ // Redact the node token / workspace key structurally so status output (which a
137
+ // user may paste into a bug report) never carries a live credential.
138
+ deps.log(JSON.stringify(redactSecrets({ broker, node }), null, 2));
135
139
  }
136
140
  //# sourceMappingURL=fleet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../../src/cli/commands/fleet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../../src/cli/commands/fleet.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,35 @@ export declare function startBrokerWithPortFallback(paths: CoreProjectPaths, bas
71
71
  relay: CoreRelay;
72
72
  apiPort: number;
73
73
  }>;
74
+ /** A handle to stop the capability providers started alongside the broker. */
75
+ export interface RunningNodeProviders {
76
+ stop(): Promise<void>;
77
+ }
78
+ export interface BrokerNodeIdentity {
79
+ nodeId: string;
80
+ nodeName: string;
81
+ nodeToken?: string;
82
+ }
83
+ interface SessionSnapshot {
84
+ node_id?: string;
85
+ node_name?: string;
86
+ node_token?: string;
87
+ }
88
+ /**
89
+ * Resolve the broker's node identity from repeated `/api/session` reads.
90
+ *
91
+ * The broker publishes its node id as soon as the workspace handshake completes,
92
+ * but mints the node token off the API-readiness path (in the background), so a
93
+ * freshly started broker can report `node_id` before `node_token`. When
94
+ * `awaitTokenMs` is set, poll until the token appears (or the budget elapses) so
95
+ * a provider that needs the broker-minted token isn't skipped over a startup
96
+ * race. A transient session-read error yields the best identity seen so far
97
+ * (identity without token), or `null` if no `node_id` was ever read.
98
+ */
99
+ export declare function resolveNodeIdentityFromSession(getSession: () => Promise<SessionSnapshot>, options?: {
100
+ awaitTokenMs?: number;
101
+ sleep?: (ms: number) => Promise<void>;
102
+ }): Promise<BrokerNodeIdentity | null>;
74
103
  export declare function waitForNodeDelivery(relay: CoreRelay, deps: CoreDependencies, waitMs?: number): Promise<{
75
104
  ready: boolean;
76
105
  status: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"broker-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/broker-lifecycle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EAGV,MAAM,qBAAqB,CAAC;AAQ7B,KAAK,SAAS,GAAG;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAYF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAOD,KAAK,kBAAkB,GAAG;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAmDF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAE7E;AAmBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAajF;AAwBD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAuBlD;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAU7D;AAED,4BAA4B;AAC5B,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAO/E;AAwBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,GAAG,MAAM,CAGjF;AAED,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,gBAAgB,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBhD;AA0dD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,gBAAgB,EACtB,MAAM,SAAiC,GACtC,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAkB9C;AAkDD,wBAAsB,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8O5F;AAGD,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkHhG;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,gBAAgB,EACtB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,IAAI,CAAC,CAmDf"}
1
+ {"version":3,"file":"broker-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/broker-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ import { startServeNode } from '@agent-relay/fleet';
5
5
  import { track } from '../telemetry/index.js';
6
6
  import { buildBundledAgentRelayMcpCommand } from './agent-relay-mcp-command.js';
7
7
  import { errorClassName } from './telemetry-helpers.js';
8
- import { createImplicitLocalFleetNode, createTriggerSyncClient, fleetStatusPath } from './fleet-sidecar.js';
9
- import { discoverNodeConfigPath, loadNodeDefinition } from './node-definition-loader.js';
8
+ import { createTriggerSyncClient, resolveNodeCapacityHarnesses } from './fleet-sidecar.js';
9
+ import { discoverNodeConfigPath, discoverPythonNodeConfigPath, loadNodeDefinition, } from './node-definition-loader.js';
10
10
  import { startReflexCapture } from './reflex-capture.js';
11
11
  const MAX_API_PORT_ATTEMPTS = 25;
12
12
  const MAX_PORT = 65535;
@@ -16,6 +16,10 @@ const CONNECTION_FILENAME = 'connection.json';
16
16
  const STATUS_POLL_INTERVAL_MS = 500;
17
17
  const DETACHED_START_READY_TIMEOUT_MS = 10_000;
18
18
  const NODE_DELIVERY_READY_TIMEOUT_MS = 10_000;
19
+ // Bounded wait for the broker's background-minted node token to surface on
20
+ // `/api/session` when serving a capability definition without an explicit
21
+ // RELAY_NODE_TOKEN.
22
+ const NODE_TOKEN_WAIT_MS = 15_000;
19
23
  function parseBrokerConnection(raw) {
20
24
  try {
21
25
  const conn = JSON.parse(raw);
@@ -204,42 +208,188 @@ export async function startBrokerWithPortFallback(paths, basePort, deps, brokerN
204
208
  vlog(deps, verbose, 'Broker status check passed.');
205
209
  return { relay: candidate, apiPort };
206
210
  }
207
- function startImplicitLocalFleetSidecar(paths, relay, options, deps, teamsConfig = deps.loadTeamsConfig(paths.projectRoot), nodeDefinition) {
208
- if (deps.env.AGENT_RELAY_DISABLE_IMPLICIT_FLEET_NODE === '1') {
211
+ /** Reject if `promise` doesn't settle within `ms`, clearing the timer on settle. */
212
+ function withTimeout(promise, ms) {
213
+ return new Promise((resolve, reject) => {
214
+ const timer = setTimeout(() => reject(new Error('session read exceeded token-wait budget')), ms);
215
+ promise.then((value) => {
216
+ clearTimeout(timer);
217
+ resolve(value);
218
+ }, (err) => {
219
+ clearTimeout(timer);
220
+ reject(err);
221
+ });
222
+ });
223
+ }
224
+ /**
225
+ * Resolve the broker's node identity from repeated `/api/session` reads.
226
+ *
227
+ * The broker publishes its node id as soon as the workspace handshake completes,
228
+ * but mints the node token off the API-readiness path (in the background), so a
229
+ * freshly started broker can report `node_id` before `node_token`. When
230
+ * `awaitTokenMs` is set, poll until the token appears (or the budget elapses) so
231
+ * a provider that needs the broker-minted token isn't skipped over a startup
232
+ * race. A transient session-read error yields the best identity seen so far
233
+ * (identity without token), or `null` if no `node_id` was ever read.
234
+ */
235
+ export async function resolveNodeIdentityFromSession(getSession, options = {}) {
236
+ const awaitTokenMs = options.awaitTokenMs ?? 0;
237
+ const sleep = options.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
238
+ const deadline = Date.now() + awaitTokenMs;
239
+ let identity = null;
240
+ for (;;) {
241
+ let session;
242
+ try {
243
+ // Bound each read to the remaining token-wait budget so a single stalled
244
+ // `/api/session` can't hold startup past `awaitTokenMs` (the transport's
245
+ // own request timeout is far longer). The non-await path issues one read
246
+ // and doesn't need the bound.
247
+ session =
248
+ awaitTokenMs > 0
249
+ ? await withTimeout(getSession(), Math.max(0, deadline - Date.now()))
250
+ : await getSession();
251
+ }
252
+ catch {
253
+ return identity;
254
+ }
255
+ if (!session.node_id)
256
+ return identity;
257
+ identity = {
258
+ nodeId: session.node_id,
259
+ nodeName: session.node_name ?? session.node_id,
260
+ ...(session.node_token ? { nodeToken: session.node_token } : {}),
261
+ };
262
+ if (session.node_token || awaitTokenMs <= 0 || Date.now() >= deadline) {
263
+ return identity;
264
+ }
265
+ await sleep(250);
266
+ }
267
+ }
268
+ /**
269
+ * Read the node id/name the broker registered as, from its HTTP session. The
270
+ * capability providers attach to this same node so they share its identity.
271
+ */
272
+ async function readBrokerNodeIdentity(conn, options = {}) {
273
+ const client = new HarnessDriverClient({ baseUrl: conn.url, apiKey: conn.api_key });
274
+ try {
275
+ return await resolveNodeIdentityFromSession(() => client.getSession(), options);
276
+ }
277
+ finally {
278
+ client.disconnect();
279
+ }
280
+ }
281
+ /**
282
+ * Serve the project's capability definitions as node providers connected
283
+ * directly to the engine, alongside the broker provider: an `agent-relay.{ts,…}`
284
+ * definition via {@link startServeNode}, and an `agent-relay.py` script spawned
285
+ * as a supervised `python` child with the node token in its env. When no
286
+ * definition exists, nothing is served — the broker's capacity already brings
287
+ * the node online. Best-effort: a provider setup failure never aborts `up`.
288
+ */
289
+ async function startNodeCapabilityProviders(paths, relay, options, deps, nodeDefinition) {
290
+ // Definition discovery is opt-in (`node up` only), matching the TS config scan.
291
+ const pythonConfig = options.discoverConfig === true ? discoverPythonNodeConfigPath(paths.projectRoot) : undefined;
292
+ if (!nodeDefinition && !pythonConfig) {
209
293
  return undefined;
210
294
  }
211
295
  const conn = readBrokerConnectionFromFs(deps.fs, paths.dataDir);
212
296
  if (!conn) {
213
- deps.warn('Fleet local node skipped: broker connection file was not available.');
297
+ deps.warn('Capability providers skipped: broker connection file was not available.');
298
+ return undefined;
299
+ }
300
+ const baseUrl = deps.env.RELAY_BASE_URL?.trim();
301
+ // Serving a definition needs the node token. When no explicit RELAY_NODE_TOKEN
302
+ // is set we rely on the broker's background-minted token, which can lag its
303
+ // node id by a Relaycast round-trip — wait a bounded window for it rather than
304
+ // racing the mint and skipping the provider.
305
+ const awaitTokenMs = deps.env.RELAY_NODE_TOKEN?.trim() ? 0 : NODE_TOKEN_WAIT_MS;
306
+ const identity = await readBrokerNodeIdentity(conn, { awaitTokenMs });
307
+ if (!identity) {
308
+ deps.warn('Capability providers skipped: the broker did not report its node id yet.');
214
309
  return undefined;
215
310
  }
216
- // The implicit local fleet node is best-effort: it lets this broker advertise
217
- // itself as a fleet node, but the broker is already up and usable without it.
218
- // Never let a sidecar setup failure abort `up`.
311
+ // The broker mints its own node token when RELAY_NODE_TOKEN is unset (local,
312
+ // un-enrolled); all providers on the node share that token, so fall back to
313
+ // the one it reports on its session rather than requiring pre-enrollment.
314
+ const nodeToken = deps.env.RELAY_NODE_TOKEN?.trim() || identity.nodeToken;
315
+ if (!nodeToken) {
316
+ deps.warn('Capability providers skipped: no node token available from the broker or environment.');
317
+ return undefined;
318
+ }
319
+ const served = [];
320
+ let pythonChild;
321
+ if (nodeDefinition) {
322
+ try {
323
+ const workspaceKey = relay.workspaceKey;
324
+ served.push(startServeNode({
325
+ definition: nodeDefinition,
326
+ connection: {
327
+ ...(baseUrl ? { baseUrl } : {}),
328
+ nodeToken,
329
+ nodeId: identity.nodeId,
330
+ },
331
+ nameOverride: options.nodeName ?? identity.nodeName,
332
+ // The served definition attaches as its own provider, distinct from the
333
+ // broker ("broker") on the same node.
334
+ providerName: nodeDefinition.name,
335
+ ...(workspaceKey ? { triggers: createTriggerSyncClient({ workspaceKey, baseUrl }) } : {}),
336
+ reconnect: true,
337
+ warn: (message) => deps.warn(message),
338
+ log: (message) => deps.log(message),
339
+ }));
340
+ }
341
+ catch (err) {
342
+ deps.warn(`Capability provider skipped: ${toErrorMessage(err)}`);
343
+ }
344
+ }
345
+ if (pythonConfig) {
346
+ pythonChild = startPythonNodeProvider(pythonConfig, {
347
+ nodeToken,
348
+ baseUrl,
349
+ nodeId: identity.nodeId,
350
+ // Prefer the enrolled/override name so a Cloud-enrolled py provider
351
+ // registers under the same name as the TS provider, not the broker default.
352
+ nodeName: options.nodeName ?? identity.nodeName,
353
+ }, deps);
354
+ }
355
+ if (served.length === 0 && !pythonChild) {
356
+ return undefined;
357
+ }
358
+ return {
359
+ stop: async () => {
360
+ await Promise.all(served.map((node) => node.stop().catch(() => undefined)));
361
+ if (pythonChild?.pid) {
362
+ try {
363
+ deps.killProcess(pythonChild.pid, 'SIGTERM');
364
+ }
365
+ catch {
366
+ // Already exited.
367
+ }
368
+ }
369
+ },
370
+ };
371
+ }
372
+ /**
373
+ * Spawn `python agent-relay.py` as a supervised child with the node credentials
374
+ * in its environment. The child connects to the engine on its own via the SDK's
375
+ * `NodeProvider.from_enrollment()`.
376
+ */
377
+ function startPythonNodeProvider(configPath, credentials, deps) {
378
+ const python = deps.env.AGENT_RELAY_PYTHON?.trim() || 'python3';
379
+ const env = {
380
+ ...deps.env,
381
+ RELAY_NODE_TOKEN: credentials.nodeToken,
382
+ RELAY_NODE_ID: credentials.nodeId,
383
+ RELAY_NODE_NAME: credentials.nodeName,
384
+ ...(credentials.baseUrl ? { RELAY_BASE_URL: credentials.baseUrl } : {}),
385
+ };
219
386
  try {
220
- const node = nodeDefinition ??
221
- createImplicitLocalFleetNode({
222
- paths,
223
- teamsConfig,
224
- name: options.brokerName ?? (path.basename(paths.projectRoot) || 'local-node'),
225
- });
226
- const workspaceKey = relay.workspaceKey;
227
- const baseUrl = deps.env.RELAY_BASE_URL;
228
- return startServeNode({
229
- definition: node,
230
- connection: { url: conn.url, apiKey: conn.api_key },
231
- ...(options.nodeName ? { nameOverride: options.nodeName } : {}),
232
- // A started relay's workspace key lets a config-defined node reconcile its
233
- // declared triggers with the workspace. The implicit local node declares no
234
- // triggers, so the adapter is created but never issues a request.
235
- ...(workspaceKey ? { triggers: createTriggerSyncClient({ workspaceKey, baseUrl }) } : {}),
236
- statusPath: fleetStatusPath(paths),
237
- reconnect: true,
238
- warn: (message) => deps.warn(message),
239
- });
387
+ const child = deps.spawnProcess(python, [configPath], { stdio: 'inherit', env });
388
+ deps.log(`Serving Python node provider: ${python} ${path.basename(configPath)} (pid: ${child.pid ?? 'unknown'}).`);
389
+ return child;
240
390
  }
241
391
  catch (err) {
242
- deps.warn(`Fleet local node skipped: ${toErrorMessage(err)}`);
392
+ deps.warn(`Python node provider skipped: ${toErrorMessage(err)}`);
243
393
  return undefined;
244
394
  }
245
395
  }
@@ -738,7 +888,7 @@ export async function runUpCommand(options, deps) {
738
888
  deps.fs.mkdirSync(paths.dataDir, { recursive: true });
739
889
  const existingPid = readBrokerPid(paths.dataDir, deps);
740
890
  let relay = null;
741
- let fleetSidecar;
891
+ let nodeProviders;
742
892
  let reflexCapture;
743
893
  let shuttingDown = false;
744
894
  let sigintCount = 0;
@@ -752,7 +902,7 @@ export async function runUpCommand(options, deps) {
752
902
  else {
753
903
  shutdownPromise = (async () => {
754
904
  await reflexCapture?.stop();
755
- await fleetSidecar?.stop();
905
+ await nodeProviders?.stop();
756
906
  await shutdownUpResources(relay, paths.dataDir, deps);
757
907
  })();
758
908
  }
@@ -778,6 +928,13 @@ export async function runUpCommand(options, deps) {
778
928
  // Resolved BEFORE the broker starts so an explicit bad --config fails
779
929
  // fast instead of tearing down a broker that just came up.
780
930
  const nodeDefinition = await resolveNodeDefinitionForUp(paths, options, deps);
931
+ const teamsConfig = deps.loadTeamsConfig(paths.projectRoot);
932
+ // The broker advertises spawn:<harness> capacity for this set. A pre-set
933
+ // AGENT_RELAY_NODE_HARNESSES is the operator's authoritative declaration of the
934
+ // node's real capacity and is used verbatim; otherwise the CLI computes it from
935
+ // the project's runnable harnesses (built-in defaults plus teams.json clis and
936
+ // any spawn:<harness> definitions) and passes it to the broker before it registers.
937
+ deps.env.AGENT_RELAY_NODE_HARNESSES = resolveNodeCapacityHarnesses(deps.env.AGENT_RELAY_NODE_HARNESSES, teamsConfig, nodeDefinition);
781
938
  // Kill any orphaned broker processes for this project that lost their PID
782
939
  // files (e.g. user deleted .agentworkforce/relay/ while broker was running).
783
940
  vlog(deps, options.verbose, 'Checking for orphaned broker processes...');
@@ -789,9 +946,8 @@ export async function runUpCommand(options, deps) {
789
946
  deps.log('Mode: broker (stdio)');
790
947
  deps.log(`Workspace Key: ${relay.workspaceKey ?? 'unknown'}`);
791
948
  deps.log('Broker started.');
792
- vlog(deps, options.verbose, 'Loading teams.json and starting implicit fleet sidecar (if any)...');
793
- const teamsConfig = deps.loadTeamsConfig(paths.projectRoot);
794
- fleetSidecar = startImplicitLocalFleetSidecar(paths, relay, options, deps, teamsConfig, nodeDefinition);
949
+ vlog(deps, options.verbose, 'Starting node capability providers (if any)...');
950
+ nodeProviders = await startNodeCapabilityProviders(paths, relay, options, deps, nodeDefinition);
795
951
  // When Reflex is enabled, periodically sync + push local session history to
796
952
  // relayhistory-cloud in-process via the ai-hist-native addon (no subprocess).
797
953
  // No-op when disabled or the addon isn't available.
@@ -799,7 +955,10 @@ export async function runUpCommand(options, deps) {
799
955
  const shouldSpawn = options.spawn === true ? true : options.spawn === false ? false : Boolean(teamsConfig?.autoSpawn);
800
956
  if (shouldSpawn && teamsConfig && teamsConfig.agents.length > 0) {
801
957
  vlog(deps, options.verbose, 'Waiting for broker node delivery (/v1/node/ws) before auto-spawning...');
802
- const delivery = await waitForNodeDelivery(relay, deps);
958
+ // Node delivery can't connect until the broker mints its node token, which
959
+ // now happens in the background after `Broker started.`. Budget for that
960
+ // mint window plus the connect so a slow mint doesn't abort auto-spawn.
961
+ const delivery = await waitForNodeDelivery(relay, deps, NODE_TOKEN_WAIT_MS + NODE_DELIVERY_READY_TIMEOUT_MS);
803
962
  if (!delivery.ready) {
804
963
  deps.error('Refusing to auto-spawn agents because broker node delivery is not connected.');
805
964
  deps.error(`Node delivery: ${formatNodeDeliveryStatus(delivery.status)}`);