agent-relay 9.2.4 → 10.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.
- package/dist/cli/agent-relay-mcp.d.ts +3 -2
- package/dist/cli/agent-relay-mcp.d.ts.map +1 -1
- package/dist/cli/agent-relay-mcp.js +11 -24
- package/dist/cli/agent-relay-mcp.js.map +1 -1
- package/dist/cli/bootstrap.d.ts.map +1 -1
- package/dist/cli/bootstrap.js +2 -0
- package/dist/cli/bootstrap.js.map +1 -1
- package/dist/cli/commands/core.d.ts +3 -0
- package/dist/cli/commands/core.d.ts.map +1 -1
- package/dist/cli/commands/core.js +18 -1
- package/dist/cli/commands/core.js.map +1 -1
- package/dist/cli/commands/fleet.d.ts.map +1 -1
- package/dist/cli/commands/fleet.js +52 -48
- package/dist/cli/commands/fleet.js.map +1 -1
- package/dist/cli/lib/broker-lifecycle.d.ts +35 -0
- package/dist/cli/lib/broker-lifecycle.d.ts.map +1 -1
- package/dist/cli/lib/broker-lifecycle.js +226 -35
- package/dist/cli/lib/broker-lifecycle.js.map +1 -1
- package/dist/cli/lib/ensure-websocket.d.ts +10 -0
- package/dist/cli/lib/ensure-websocket.d.ts.map +1 -0
- package/dist/cli/lib/ensure-websocket.js +16 -0
- package/dist/cli/lib/ensure-websocket.js.map +1 -0
- package/dist/cli/lib/fleet-sidecar.d.ts +7 -11
- package/dist/cli/lib/fleet-sidecar.d.ts.map +1 -1
- package/dist/cli/lib/fleet-sidecar.js +38 -13
- package/dist/cli/lib/fleet-sidecar.js.map +1 -1
- package/dist/cli/lib/node-definition-loader.d.ts +7 -0
- package/dist/cli/lib/node-definition-loader.d.ts.map +1 -1
- package/dist/cli/lib/node-definition-loader.js +10 -0
- package/dist/cli/lib/node-definition-loader.js.map +1 -1
- package/dist/cli/lib/redact.d.ts +17 -0
- package/dist/cli/lib/redact.d.ts.map +1 -0
- package/dist/cli/lib/redact.js +38 -0
- package/dist/cli/lib/redact.js.map +1 -0
- package/dist/cli/mcp/resources.d.ts +3 -3
- package/dist/cli/mcp/resources.d.ts.map +1 -1
- package/dist/cli/mcp/resources.js.map +1 -1
- package/dist/cli/mcp/types.d.ts +3 -3
- package/dist/cli/mcp/types.d.ts.map +1 -1
- package/dist/cli/mcp/workspace.d.ts.map +1 -1
- package/dist/cli/mcp/workspace.js +2 -6
- package/dist/cli/mcp/workspace.js.map +1 -1
- package/dist/index.cjs +16876 -2273
- package/package.json +7 -8
- package/dist/cli/lib/relaycast-telemetry.d.ts +0 -9
- package/dist/cli/lib/relaycast-telemetry.d.ts.map +0 -1
- package/dist/cli/lib/relaycast-telemetry.js +0 -43
- package/dist/cli/lib/relaycast-telemetry.js.map +0 -1
|
@@ -16,6 +16,12 @@ type UpOptions = {
|
|
|
16
16
|
discoverConfig?: boolean;
|
|
17
17
|
/** Registered node name override (e.g. from a persisted Cloud enrollment). */
|
|
18
18
|
nodeName?: string;
|
|
19
|
+
/** Write structured node logs (capabilities, action invocations) to this file. */
|
|
20
|
+
logFile?: string;
|
|
21
|
+
/** Log verbosity floor: debug | info | warn | error. Defaults to info. */
|
|
22
|
+
logLevel?: string;
|
|
23
|
+
/** Emit logs as JSON lines instead of human-readable text. */
|
|
24
|
+
logJson?: boolean;
|
|
19
25
|
};
|
|
20
26
|
type DownOptions = {
|
|
21
27
|
force?: boolean;
|
|
@@ -71,6 +77,35 @@ export declare function startBrokerWithPortFallback(paths: CoreProjectPaths, bas
|
|
|
71
77
|
relay: CoreRelay;
|
|
72
78
|
apiPort: number;
|
|
73
79
|
}>;
|
|
80
|
+
/** A handle to stop the capability providers started alongside the broker. */
|
|
81
|
+
export interface RunningNodeProviders {
|
|
82
|
+
stop(): Promise<void>;
|
|
83
|
+
}
|
|
84
|
+
export interface BrokerNodeIdentity {
|
|
85
|
+
nodeId: string;
|
|
86
|
+
nodeName: string;
|
|
87
|
+
nodeToken?: string;
|
|
88
|
+
}
|
|
89
|
+
interface SessionSnapshot {
|
|
90
|
+
node_id?: string;
|
|
91
|
+
node_name?: string;
|
|
92
|
+
node_token?: string;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Resolve the broker's node identity from repeated `/api/session` reads.
|
|
96
|
+
*
|
|
97
|
+
* The broker publishes its node id as soon as the workspace handshake completes,
|
|
98
|
+
* but mints the node token off the API-readiness path (in the background), so a
|
|
99
|
+
* freshly started broker can report `node_id` before `node_token`. When
|
|
100
|
+
* `awaitTokenMs` is set, poll until the token appears (or the budget elapses) so
|
|
101
|
+
* a provider that needs the broker-minted token isn't skipped over a startup
|
|
102
|
+
* race. A transient session-read error yields the best identity seen so far
|
|
103
|
+
* (identity without token), or `null` if no `node_id` was ever read.
|
|
104
|
+
*/
|
|
105
|
+
export declare function resolveNodeIdentityFromSession(getSession: () => Promise<SessionSnapshot>, options?: {
|
|
106
|
+
awaitTokenMs?: number;
|
|
107
|
+
sleep?: (ms: number) => Promise<void>;
|
|
108
|
+
}): Promise<BrokerNodeIdentity | null>;
|
|
74
109
|
export declare function waitForNodeDelivery(relay: CoreRelay, deps: CoreDependencies, waitMs?: number): Promise<{
|
|
75
110
|
ready: boolean;
|
|
76
111
|
status: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/broker-lifecycle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"broker-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/broker-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,12 @@ import fs from 'node:fs';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { HarnessDriverClient } from '@agent-relay/harness-driver';
|
|
4
4
|
import { startServeNode } from '@agent-relay/fleet';
|
|
5
|
+
import { createLogger } from '@agent-relay/utils';
|
|
5
6
|
import { track } from '../telemetry/index.js';
|
|
6
7
|
import { buildBundledAgentRelayMcpCommand } from './agent-relay-mcp-command.js';
|
|
7
8
|
import { errorClassName } from './telemetry-helpers.js';
|
|
8
|
-
import {
|
|
9
|
-
import { discoverNodeConfigPath, loadNodeDefinition } from './node-definition-loader.js';
|
|
9
|
+
import { createTriggerSyncClient, resolveNodeCapacityHarnesses } from './fleet-sidecar.js';
|
|
10
|
+
import { discoverNodeConfigPath, discoverPythonNodeConfigPath, loadNodeDefinition, } from './node-definition-loader.js';
|
|
10
11
|
import { startReflexCapture } from './reflex-capture.js';
|
|
11
12
|
const MAX_API_PORT_ATTEMPTS = 25;
|
|
12
13
|
const MAX_PORT = 65535;
|
|
@@ -16,6 +17,10 @@ const CONNECTION_FILENAME = 'connection.json';
|
|
|
16
17
|
const STATUS_POLL_INTERVAL_MS = 500;
|
|
17
18
|
const DETACHED_START_READY_TIMEOUT_MS = 10_000;
|
|
18
19
|
const NODE_DELIVERY_READY_TIMEOUT_MS = 10_000;
|
|
20
|
+
// Bounded wait for the broker's background-minted node token to surface on
|
|
21
|
+
// `/api/session` when serving a capability definition without an explicit
|
|
22
|
+
// RELAY_NODE_TOKEN.
|
|
23
|
+
const NODE_TOKEN_WAIT_MS = 15_000;
|
|
19
24
|
function parseBrokerConnection(raw) {
|
|
20
25
|
try {
|
|
21
26
|
const conn = JSON.parse(raw);
|
|
@@ -58,6 +63,28 @@ function vlog(deps, verbose, message) {
|
|
|
58
63
|
deps.log(`[verbose] ${message}`);
|
|
59
64
|
}
|
|
60
65
|
}
|
|
66
|
+
/** True when any log flag (or `--verbose`) opts the node into structured logging. */
|
|
67
|
+
function nodeLoggingEnabled(options) {
|
|
68
|
+
return Boolean(options.logFile || options.logLevel || options.logJson || options.verbose);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Translate the `--log-*` (and `--verbose`) flags into the `AGENT_RELAY_LOG_*`
|
|
72
|
+
* environment the shared `createLogger` reads. `--verbose` alone raises the
|
|
73
|
+
* floor to DEBUG so per-capability registration lines surface; an explicit
|
|
74
|
+
* `--log-level` always wins. Called before the fleet sidecar starts.
|
|
75
|
+
*/
|
|
76
|
+
function applyNodeLogEnv(options, deps) {
|
|
77
|
+
if (options.logFile) {
|
|
78
|
+
deps.env.AGENT_RELAY_LOG_FILE = options.logFile;
|
|
79
|
+
}
|
|
80
|
+
const level = options.logLevel ?? (options.verbose ? 'debug' : undefined);
|
|
81
|
+
if (level) {
|
|
82
|
+
deps.env.AGENT_RELAY_LOG_LEVEL = level.toUpperCase();
|
|
83
|
+
}
|
|
84
|
+
if (options.logJson) {
|
|
85
|
+
deps.env.AGENT_RELAY_LOG_JSON = '1';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
61
88
|
function isRecord(value) {
|
|
62
89
|
return typeof value === 'object' && value !== null;
|
|
63
90
|
}
|
|
@@ -204,42 +231,194 @@ export async function startBrokerWithPortFallback(paths, basePort, deps, brokerN
|
|
|
204
231
|
vlog(deps, verbose, 'Broker status check passed.');
|
|
205
232
|
return { relay: candidate, apiPort };
|
|
206
233
|
}
|
|
207
|
-
|
|
208
|
-
|
|
234
|
+
/** Reject if `promise` doesn't settle within `ms`, clearing the timer on settle. */
|
|
235
|
+
function withTimeout(promise, ms) {
|
|
236
|
+
return new Promise((resolve, reject) => {
|
|
237
|
+
const timer = setTimeout(() => reject(new Error('session read exceeded token-wait budget')), ms);
|
|
238
|
+
promise.then((value) => {
|
|
239
|
+
clearTimeout(timer);
|
|
240
|
+
resolve(value);
|
|
241
|
+
}, (err) => {
|
|
242
|
+
clearTimeout(timer);
|
|
243
|
+
reject(err);
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Resolve the broker's node identity from repeated `/api/session` reads.
|
|
249
|
+
*
|
|
250
|
+
* The broker publishes its node id as soon as the workspace handshake completes,
|
|
251
|
+
* but mints the node token off the API-readiness path (in the background), so a
|
|
252
|
+
* freshly started broker can report `node_id` before `node_token`. When
|
|
253
|
+
* `awaitTokenMs` is set, poll until the token appears (or the budget elapses) so
|
|
254
|
+
* a provider that needs the broker-minted token isn't skipped over a startup
|
|
255
|
+
* race. A transient session-read error yields the best identity seen so far
|
|
256
|
+
* (identity without token), or `null` if no `node_id` was ever read.
|
|
257
|
+
*/
|
|
258
|
+
export async function resolveNodeIdentityFromSession(getSession, options = {}) {
|
|
259
|
+
const awaitTokenMs = options.awaitTokenMs ?? 0;
|
|
260
|
+
const sleep = options.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
261
|
+
const deadline = Date.now() + awaitTokenMs;
|
|
262
|
+
let identity = null;
|
|
263
|
+
for (;;) {
|
|
264
|
+
let session;
|
|
265
|
+
try {
|
|
266
|
+
// Bound each read to the remaining token-wait budget so a single stalled
|
|
267
|
+
// `/api/session` can't hold startup past `awaitTokenMs` (the transport's
|
|
268
|
+
// own request timeout is far longer). The non-await path issues one read
|
|
269
|
+
// and doesn't need the bound.
|
|
270
|
+
session =
|
|
271
|
+
awaitTokenMs > 0
|
|
272
|
+
? await withTimeout(getSession(), Math.max(0, deadline - Date.now()))
|
|
273
|
+
: await getSession();
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
return identity;
|
|
277
|
+
}
|
|
278
|
+
if (!session.node_id)
|
|
279
|
+
return identity;
|
|
280
|
+
identity = {
|
|
281
|
+
nodeId: session.node_id,
|
|
282
|
+
nodeName: session.node_name ?? session.node_id,
|
|
283
|
+
...(session.node_token ? { nodeToken: session.node_token } : {}),
|
|
284
|
+
};
|
|
285
|
+
if (session.node_token || awaitTokenMs <= 0 || Date.now() >= deadline) {
|
|
286
|
+
return identity;
|
|
287
|
+
}
|
|
288
|
+
await sleep(250);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Read the node id/name the broker registered as, from its HTTP session. The
|
|
293
|
+
* capability providers attach to this same node so they share its identity.
|
|
294
|
+
*/
|
|
295
|
+
async function readBrokerNodeIdentity(conn, options = {}) {
|
|
296
|
+
const client = new HarnessDriverClient({ baseUrl: conn.url, apiKey: conn.api_key });
|
|
297
|
+
try {
|
|
298
|
+
return await resolveNodeIdentityFromSession(() => client.getSession(), options);
|
|
299
|
+
}
|
|
300
|
+
finally {
|
|
301
|
+
client.disconnect();
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Serve the project's capability definitions as node providers connected
|
|
306
|
+
* directly to the engine, alongside the broker provider: an `agent-relay.{ts,…}`
|
|
307
|
+
* definition via {@link startServeNode}, and an `agent-relay.py` script spawned
|
|
308
|
+
* as a supervised `python` child with the node token in its env. When no
|
|
309
|
+
* definition exists, nothing is served — the broker's capacity already brings
|
|
310
|
+
* the node online. Best-effort: a provider setup failure never aborts `up`.
|
|
311
|
+
*/
|
|
312
|
+
async function startNodeCapabilityProviders(paths, relay, options, deps, nodeDefinition) {
|
|
313
|
+
// Definition discovery is opt-in (`node up` only), matching the TS config scan.
|
|
314
|
+
const pythonConfig = options.discoverConfig === true ? discoverPythonNodeConfigPath(paths.projectRoot) : undefined;
|
|
315
|
+
if (!nodeDefinition && !pythonConfig) {
|
|
209
316
|
return undefined;
|
|
210
317
|
}
|
|
211
318
|
const conn = readBrokerConnectionFromFs(deps.fs, paths.dataDir);
|
|
212
319
|
if (!conn) {
|
|
213
|
-
deps.warn('
|
|
320
|
+
deps.warn('Capability providers skipped: broker connection file was not available.');
|
|
321
|
+
return undefined;
|
|
322
|
+
}
|
|
323
|
+
const baseUrl = deps.env.RELAY_BASE_URL?.trim();
|
|
324
|
+
// Serving a definition needs the node token. When no explicit RELAY_NODE_TOKEN
|
|
325
|
+
// is set we rely on the broker's background-minted token, which can lag its
|
|
326
|
+
// node id by a Relaycast round-trip — wait a bounded window for it rather than
|
|
327
|
+
// racing the mint and skipping the provider.
|
|
328
|
+
const awaitTokenMs = deps.env.RELAY_NODE_TOKEN?.trim() ? 0 : NODE_TOKEN_WAIT_MS;
|
|
329
|
+
const identity = await readBrokerNodeIdentity(conn, { awaitTokenMs });
|
|
330
|
+
if (!identity) {
|
|
331
|
+
deps.warn('Capability providers skipped: the broker did not report its node id yet.');
|
|
332
|
+
return undefined;
|
|
333
|
+
}
|
|
334
|
+
// The broker mints its own node token when RELAY_NODE_TOKEN is unset (local,
|
|
335
|
+
// un-enrolled); all providers on the node share that token, so fall back to
|
|
336
|
+
// the one it reports on its session rather than requiring pre-enrollment.
|
|
337
|
+
const nodeToken = deps.env.RELAY_NODE_TOKEN?.trim() || identity.nodeToken;
|
|
338
|
+
if (!nodeToken) {
|
|
339
|
+
deps.warn('Capability providers skipped: no node token available from the broker or environment.');
|
|
340
|
+
return undefined;
|
|
341
|
+
}
|
|
342
|
+
const served = [];
|
|
343
|
+
let pythonChild;
|
|
344
|
+
if (nodeDefinition) {
|
|
345
|
+
try {
|
|
346
|
+
const workspaceKey = relay.workspaceKey;
|
|
347
|
+
served.push(startServeNode({
|
|
348
|
+
definition: nodeDefinition,
|
|
349
|
+
connection: {
|
|
350
|
+
...(baseUrl ? { baseUrl } : {}),
|
|
351
|
+
nodeToken,
|
|
352
|
+
nodeId: identity.nodeId,
|
|
353
|
+
},
|
|
354
|
+
nameOverride: options.nodeName ?? identity.nodeName,
|
|
355
|
+
// The served definition attaches as its own provider, distinct from the
|
|
356
|
+
// broker ("broker") on the same node.
|
|
357
|
+
providerName: nodeDefinition.name,
|
|
358
|
+
...(workspaceKey ? { triggers: createTriggerSyncClient({ workspaceKey, baseUrl }) } : {}),
|
|
359
|
+
reconnect: true,
|
|
360
|
+
// With any --log-* flag (or --verbose), surface the node's full lifecycle
|
|
361
|
+
// — capabilities registered, every action invoked/completed — through the
|
|
362
|
+
// shared logger, which honors AGENT_RELAY_LOG_FILE/_LEVEL/_JSON. Without a
|
|
363
|
+
// flag, keep the prior behavior: the registration summary via log, warnings
|
|
364
|
+
// via warn.
|
|
365
|
+
...(nodeLoggingEnabled(options)
|
|
366
|
+
? { logger: createLogger('fleet') }
|
|
367
|
+
: { warn: (message) => deps.warn(message), log: (message) => deps.log(message) }),
|
|
368
|
+
}));
|
|
369
|
+
}
|
|
370
|
+
catch (err) {
|
|
371
|
+
deps.warn(`Capability provider skipped: ${toErrorMessage(err)}`);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
if (pythonConfig) {
|
|
375
|
+
pythonChild = startPythonNodeProvider(pythonConfig, {
|
|
376
|
+
nodeToken,
|
|
377
|
+
baseUrl,
|
|
378
|
+
nodeId: identity.nodeId,
|
|
379
|
+
// Prefer the enrolled/override name so a Cloud-enrolled py provider
|
|
380
|
+
// registers under the same name as the TS provider, not the broker default.
|
|
381
|
+
nodeName: options.nodeName ?? identity.nodeName,
|
|
382
|
+
}, deps);
|
|
383
|
+
}
|
|
384
|
+
if (served.length === 0 && !pythonChild) {
|
|
214
385
|
return undefined;
|
|
215
386
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
387
|
+
return {
|
|
388
|
+
stop: async () => {
|
|
389
|
+
await Promise.all(served.map((node) => node.stop().catch(() => undefined)));
|
|
390
|
+
if (pythonChild?.pid) {
|
|
391
|
+
try {
|
|
392
|
+
deps.killProcess(pythonChild.pid, 'SIGTERM');
|
|
393
|
+
}
|
|
394
|
+
catch {
|
|
395
|
+
// Already exited.
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
},
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Spawn `python agent-relay.py` as a supervised child with the node credentials
|
|
403
|
+
* in its environment. The child connects to the engine on its own via the SDK's
|
|
404
|
+
* `NodeProvider.from_enrollment()`.
|
|
405
|
+
*/
|
|
406
|
+
function startPythonNodeProvider(configPath, credentials, deps) {
|
|
407
|
+
const python = deps.env.AGENT_RELAY_PYTHON?.trim() || 'python3';
|
|
408
|
+
const env = {
|
|
409
|
+
...deps.env,
|
|
410
|
+
RELAY_NODE_TOKEN: credentials.nodeToken,
|
|
411
|
+
RELAY_NODE_ID: credentials.nodeId,
|
|
412
|
+
RELAY_NODE_NAME: credentials.nodeName,
|
|
413
|
+
...(credentials.baseUrl ? { RELAY_BASE_URL: credentials.baseUrl } : {}),
|
|
414
|
+
};
|
|
219
415
|
try {
|
|
220
|
-
const
|
|
221
|
-
|
|
222
|
-
|
|
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
|
-
});
|
|
416
|
+
const child = deps.spawnProcess(python, [configPath], { stdio: 'inherit', env });
|
|
417
|
+
deps.log(`Serving Python node provider: ${python} ${path.basename(configPath)} (pid: ${child.pid ?? 'unknown'}).`);
|
|
418
|
+
return child;
|
|
240
419
|
}
|
|
241
420
|
catch (err) {
|
|
242
|
-
deps.warn(`
|
|
421
|
+
deps.warn(`Python node provider skipped: ${toErrorMessage(err)}`);
|
|
243
422
|
return undefined;
|
|
244
423
|
}
|
|
245
424
|
}
|
|
@@ -738,7 +917,7 @@ export async function runUpCommand(options, deps) {
|
|
|
738
917
|
deps.fs.mkdirSync(paths.dataDir, { recursive: true });
|
|
739
918
|
const existingPid = readBrokerPid(paths.dataDir, deps);
|
|
740
919
|
let relay = null;
|
|
741
|
-
let
|
|
920
|
+
let nodeProviders;
|
|
742
921
|
let reflexCapture;
|
|
743
922
|
let shuttingDown = false;
|
|
744
923
|
let sigintCount = 0;
|
|
@@ -752,7 +931,7 @@ export async function runUpCommand(options, deps) {
|
|
|
752
931
|
else {
|
|
753
932
|
shutdownPromise = (async () => {
|
|
754
933
|
await reflexCapture?.stop();
|
|
755
|
-
await
|
|
934
|
+
await nodeProviders?.stop();
|
|
756
935
|
await shutdownUpResources(relay, paths.dataDir, deps);
|
|
757
936
|
})();
|
|
758
937
|
}
|
|
@@ -775,9 +954,19 @@ export async function runUpCommand(options, deps) {
|
|
|
775
954
|
deps.env.RELAY_WORKSPACE_KEY = options.workspaceKey;
|
|
776
955
|
deps.env.RELAY_API_KEY = options.workspaceKey;
|
|
777
956
|
}
|
|
957
|
+
// Point the shared logger at a file / level / format before the fleet
|
|
958
|
+
// sidecar (which reads this env when it builds its logger) starts.
|
|
959
|
+
applyNodeLogEnv(options, deps);
|
|
778
960
|
// Resolved BEFORE the broker starts so an explicit bad --config fails
|
|
779
961
|
// fast instead of tearing down a broker that just came up.
|
|
780
962
|
const nodeDefinition = await resolveNodeDefinitionForUp(paths, options, deps);
|
|
963
|
+
const teamsConfig = deps.loadTeamsConfig(paths.projectRoot);
|
|
964
|
+
// The broker advertises spawn:<harness> capacity for this set. A pre-set
|
|
965
|
+
// AGENT_RELAY_NODE_HARNESSES is the operator's authoritative declaration of the
|
|
966
|
+
// node's real capacity and is used verbatim; otherwise the CLI computes it from
|
|
967
|
+
// the project's runnable harnesses (built-in defaults plus teams.json clis and
|
|
968
|
+
// any spawn:<harness> definitions) and passes it to the broker before it registers.
|
|
969
|
+
deps.env.AGENT_RELAY_NODE_HARNESSES = resolveNodeCapacityHarnesses(deps.env.AGENT_RELAY_NODE_HARNESSES, teamsConfig, nodeDefinition);
|
|
781
970
|
// Kill any orphaned broker processes for this project that lost their PID
|
|
782
971
|
// files (e.g. user deleted .agentworkforce/relay/ while broker was running).
|
|
783
972
|
vlog(deps, options.verbose, 'Checking for orphaned broker processes...');
|
|
@@ -789,9 +978,8 @@ export async function runUpCommand(options, deps) {
|
|
|
789
978
|
deps.log('Mode: broker (stdio)');
|
|
790
979
|
deps.log(`Workspace Key: ${relay.workspaceKey ?? 'unknown'}`);
|
|
791
980
|
deps.log('Broker started.');
|
|
792
|
-
vlog(deps, options.verbose, '
|
|
793
|
-
|
|
794
|
-
fleetSidecar = startImplicitLocalFleetSidecar(paths, relay, options, deps, teamsConfig, nodeDefinition);
|
|
981
|
+
vlog(deps, options.verbose, 'Starting node capability providers (if any)...');
|
|
982
|
+
nodeProviders = await startNodeCapabilityProviders(paths, relay, options, deps, nodeDefinition);
|
|
795
983
|
// When Reflex is enabled, periodically sync + push local session history to
|
|
796
984
|
// relayhistory-cloud in-process via the ai-hist-native addon (no subprocess).
|
|
797
985
|
// No-op when disabled or the addon isn't available.
|
|
@@ -799,7 +987,10 @@ export async function runUpCommand(options, deps) {
|
|
|
799
987
|
const shouldSpawn = options.spawn === true ? true : options.spawn === false ? false : Boolean(teamsConfig?.autoSpawn);
|
|
800
988
|
if (shouldSpawn && teamsConfig && teamsConfig.agents.length > 0) {
|
|
801
989
|
vlog(deps, options.verbose, 'Waiting for broker node delivery (/v1/node/ws) before auto-spawning...');
|
|
802
|
-
|
|
990
|
+
// Node delivery can't connect until the broker mints its node token, which
|
|
991
|
+
// now happens in the background after `Broker started.`. Budget for that
|
|
992
|
+
// mint window plus the connect so a slow mint doesn't abort auto-spawn.
|
|
993
|
+
const delivery = await waitForNodeDelivery(relay, deps, NODE_TOKEN_WAIT_MS + NODE_DELIVERY_READY_TIMEOUT_MS);
|
|
803
994
|
if (!delivery.ready) {
|
|
804
995
|
deps.error('Refusing to auto-spawn agents because broker node delivery is not connected.');
|
|
805
996
|
deps.error(`Node delivery: ${formatNodeDeliveryStatus(delivery.status)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker-lifecycle.js","sourceRoot":"","sources":["../../../src/cli/lib/broker-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"broker-lifecycle.js","sourceRoot":"","sources":["../../../src/cli/lib/broker-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node exposes a global `WebSocket` only from v22 (unflagged). Relay supports
|
|
3
|
+
* Node >=20.9 (root `engines`), where `@relaycast/sdk`'s WebSocket transport
|
|
4
|
+
* (`AgentClient`, `NodeProviderClient`) would otherwise throw
|
|
5
|
+
* `WebSocket is not defined` at connect time. Install the bundled `ws`
|
|
6
|
+
* implementation as the global when the runtime lacks its own; a no-op on
|
|
7
|
+
* Node 22+ and in browsers.
|
|
8
|
+
*/
|
|
9
|
+
export declare function ensureWebSocketGlobal(): void;
|
|
10
|
+
//# sourceMappingURL=ensure-websocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-websocket.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/ensure-websocket.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAK5C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import WebSocketImpl from 'ws';
|
|
2
|
+
/**
|
|
3
|
+
* Node exposes a global `WebSocket` only from v22 (unflagged). Relay supports
|
|
4
|
+
* Node >=20.9 (root `engines`), where `@relaycast/sdk`'s WebSocket transport
|
|
5
|
+
* (`AgentClient`, `NodeProviderClient`) would otherwise throw
|
|
6
|
+
* `WebSocket is not defined` at connect time. Install the bundled `ws`
|
|
7
|
+
* implementation as the global when the runtime lacks its own; a no-op on
|
|
8
|
+
* Node 22+ and in browsers.
|
|
9
|
+
*/
|
|
10
|
+
export function ensureWebSocketGlobal() {
|
|
11
|
+
const target = globalThis;
|
|
12
|
+
if (typeof target.WebSocket === 'undefined') {
|
|
13
|
+
target.WebSocket = WebSocketImpl;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=ensure-websocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-websocket.js","sourceRoot":"","sources":["../../../src/cli/lib/ensure-websocket.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,IAAI,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,MAAM,GAAG,UAAqC,CAAC;IACrD,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;QAC5C,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC;IACnC,CAAC;AACH,CAAC"}
|