agent-relay 11.8.0 → 11.8.2
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/README.md +18 -3
- package/dist/cli/agent-relay-mcp.d.ts.map +1 -1
- package/dist/cli/agent-relay-mcp.js +61 -1
- 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/fleet-agent.d.ts +14 -5
- package/dist/cli/commands/fleet-agent.d.ts.map +1 -1
- package/dist/cli/commands/fleet-agent.js +0 -0
- package/dist/cli/commands/fleet-agent.js.map +1 -1
- package/dist/cli/commands/fleet.d.ts +3 -0
- package/dist/cli/commands/fleet.d.ts.map +1 -1
- package/dist/cli/commands/fleet.js +230 -63
- package/dist/cli/commands/fleet.js.map +1 -1
- package/dist/cli/commands/observer.d.ts +28 -0
- package/dist/cli/commands/observer.d.ts.map +1 -0
- package/dist/cli/commands/observer.js +182 -0
- package/dist/cli/commands/observer.js.map +1 -0
- package/dist/cli/commands/session.d.ts +7 -1
- package/dist/cli/commands/session.d.ts.map +1 -1
- package/dist/cli/commands/session.js +29 -12
- package/dist/cli/commands/session.js.map +1 -1
- package/dist/cli/lib/attach-input-recovery.d.ts +30 -6
- package/dist/cli/lib/attach-input-recovery.d.ts.map +1 -1
- package/dist/cli/lib/attach-input-recovery.js +49 -1
- package/dist/cli/lib/attach-input-recovery.js.map +1 -1
- package/dist/cli/lib/attach.d.ts.map +1 -1
- package/dist/cli/lib/attach.js +10 -0
- package/dist/cli/lib/attach.js.map +1 -1
- package/dist/cli/lib/fleet-hint.d.ts.map +1 -1
- package/dist/cli/lib/fleet-hint.js +41 -13
- package/dist/cli/lib/fleet-hint.js.map +1 -1
- package/dist/cli/lib/fleet-live-agents.d.ts +42 -0
- package/dist/cli/lib/fleet-live-agents.d.ts.map +1 -0
- package/dist/cli/lib/fleet-live-agents.js +63 -0
- package/dist/cli/lib/fleet-live-agents.js.map +1 -0
- package/dist/cli/lib/message-delivery-receipts.d.ts +24 -0
- package/dist/cli/lib/message-delivery-receipts.d.ts.map +1 -1
- package/dist/cli/lib/message-delivery-receipts.js +39 -0
- package/dist/cli/lib/message-delivery-receipts.js.map +1 -1
- package/dist/cli/lib/observer-url.d.ts +32 -0
- package/dist/cli/lib/observer-url.d.ts.map +1 -0
- package/dist/cli/lib/observer-url.js +61 -0
- package/dist/cli/lib/observer-url.js.map +1 -0
- package/dist/cli/mcp/messaging-tools.d.ts.map +1 -1
- package/dist/cli/mcp/messaging-tools.js +21 -7
- package/dist/cli/mcp/messaging-tools.js.map +1 -1
- package/dist/index.cjs +238 -62
- package/package.json +9 -9
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
1
2
|
import { InvalidArgumentError } from 'commander';
|
|
3
|
+
import { CloudFleetSandboxProvisionError, deleteCloudFleetSandbox, ensureCloudFleetSandbox, } from '@agent-relay/cloud';
|
|
2
4
|
import { HarnessDriverClient } from '@agent-relay/harness-driver';
|
|
3
5
|
import { createWorkspaceClient } from '@agent-relay/sdk';
|
|
4
6
|
import { withDefaults } from './core.js';
|
|
5
|
-
import { buildRows, collectWithRetry, formatPretty, readLocalBrokerMaps, } from './fleet-agent.js';
|
|
7
|
+
import { buildRows, collectWithRetry, formatPretty, readRemoteLiveAgents, readLocalBrokerMaps, } from './fleet-agent.js';
|
|
6
8
|
import { readBrokerConnection } from '../lib/broker-lifecycle.js';
|
|
9
|
+
import { isAvailableFleetNode } from '../lib/fleet-live-agents.js';
|
|
7
10
|
import { declaredWorkforceMetadata } from '../lib/registration-metadata.js';
|
|
8
11
|
import { redactSecrets } from '../lib/redact.js';
|
|
9
12
|
import { attributableReleaseReason } from '../lib/release-reason.js';
|
|
@@ -22,6 +25,8 @@ function withFleetDefaults(overrides = {}) {
|
|
|
22
25
|
workspaceKey: resolveWorkspaceKey(options),
|
|
23
26
|
baseUrl: resolveBaseUrl(options),
|
|
24
27
|
}),
|
|
28
|
+
ensureCloudFleetSandbox,
|
|
29
|
+
deleteCloudFleetSandbox,
|
|
25
30
|
log: (...args) => console.log(...args),
|
|
26
31
|
warn: (...args) => console.warn(...args),
|
|
27
32
|
error: (...args) => console.error(...args),
|
|
@@ -79,7 +84,7 @@ export function registerFleetCommands(program, overrides = {}) {
|
|
|
79
84
|
.description('List agents on every reachable fleet node, joined against the workspace roster')
|
|
80
85
|
.option('--pretty', 'Render as a human-readable table')
|
|
81
86
|
.option('--json', 'Render JSON output (default; explicit so the flag advertised in --help works)')
|
|
82
|
-
.option('--node <name>', '
|
|
87
|
+
.option('--node <name>', 'Return only this node and its live broker agents')
|
|
83
88
|
.option('--all', 'Include offline/history nodes the way `fleet nodes --all` does')).action(async (options) => {
|
|
84
89
|
await runFleetAgentList(deps, options);
|
|
85
90
|
});
|
|
@@ -91,6 +96,9 @@ export function registerFleetCommands(program, overrides = {}) {
|
|
|
91
96
|
.requiredOption('--task <text>', 'Initial task instructions')
|
|
92
97
|
.option('--node <name>', 'Target a specific fleet node')
|
|
93
98
|
.option('--target-node <name>', 'Alias for --node')
|
|
99
|
+
.option('--sandbox', 'Provision a fresh Cloud Daytona node, mount this Relayfile workspace, and spawn there')
|
|
100
|
+
.option('--sandbox-name <name>', 'Name for the provisioned Daytona fleet node')
|
|
101
|
+
.option('--no-sandbox-relayfile', 'Provision the sandbox without mounting Relayfile')
|
|
94
102
|
.option('--channel <name>', 'Channel for the worker to join')
|
|
95
103
|
.option('--persona <persona>', 'Worker persona (automatic placement)')
|
|
96
104
|
.option('--model <model>', 'Model powering the worker')
|
|
@@ -108,10 +116,22 @@ export function registerFleetCommands(program, overrides = {}) {
|
|
|
108
116
|
const clientOptions = sdkOptionsFromOpts(options);
|
|
109
117
|
const name = requiredText(options.name, 'Worker name');
|
|
110
118
|
const task = requiredText(options.task, 'Task');
|
|
111
|
-
|
|
119
|
+
let targetNode = optionalText(options.targetNode, 'Target node') ?? optionalText(options.node, 'Node');
|
|
120
|
+
const useSandbox = options.sandbox === true;
|
|
121
|
+
const sandboxName = optionalText(options.sandboxName, 'Sandbox name');
|
|
122
|
+
const mountSandboxRelayfile = options.sandboxRelayfile !== false;
|
|
123
|
+
if (useSandbox && targetNode) {
|
|
124
|
+
throw new Error('--sandbox cannot be combined with --node or --target-node.');
|
|
125
|
+
}
|
|
126
|
+
if (!useSandbox && sandboxName) {
|
|
127
|
+
throw new Error('--sandbox-name requires --sandbox.');
|
|
128
|
+
}
|
|
129
|
+
if (!useSandbox && options.sandboxRelayfile === false) {
|
|
130
|
+
throw new Error('--no-sandbox-relayfile requires --sandbox.');
|
|
131
|
+
}
|
|
112
132
|
const channel = optionalText(options.channel, 'Channel');
|
|
113
133
|
const model = optionalText(options.model, 'Model');
|
|
114
|
-
|
|
134
|
+
let workerCwd = optionalText(options.cwd, 'Worker cwd');
|
|
115
135
|
const organization = optionalText(options.organization, 'Organization');
|
|
116
136
|
const project = optionalText(options.project, 'Project');
|
|
117
137
|
const workstream = optionalText(options.workstream, 'Workstream');
|
|
@@ -124,34 +144,150 @@ export function registerFleetCommands(program, overrides = {}) {
|
|
|
124
144
|
if (!Number.isFinite(confirmTimeoutMs) || confirmTimeoutMs <= 0) {
|
|
125
145
|
throw new Error('--confirm-timeout must be a positive number of milliseconds.');
|
|
126
146
|
}
|
|
147
|
+
let sandbox;
|
|
148
|
+
let workspaceRelay;
|
|
149
|
+
if (useSandbox) {
|
|
150
|
+
workspaceRelay = deps.sdk.createWorkspaceRelay(clientOptions);
|
|
151
|
+
const workspaceInfo = await workspaceRelay.workspace.info();
|
|
152
|
+
const relayWorkspaceId = workspaceInfo.id?.trim();
|
|
153
|
+
if (!relayWorkspaceId) {
|
|
154
|
+
throw new Error('The current Relay workspace did not report an ID for Cloud provisioning.');
|
|
155
|
+
}
|
|
156
|
+
const requestedSandboxName = sandboxName ?? `fleet-sandbox-${randomUUID().slice(0, 8)}`;
|
|
157
|
+
try {
|
|
158
|
+
sandbox = await deps.ensureCloudFleetSandbox({
|
|
159
|
+
workspaceId: relayWorkspaceId,
|
|
160
|
+
requiredCapability: `spawn:${cli}`,
|
|
161
|
+
maxAgents: 1,
|
|
162
|
+
mountRelayfile: mountSandboxRelayfile,
|
|
163
|
+
forceProvision: true,
|
|
164
|
+
waitTimeoutMs: 90_000,
|
|
165
|
+
name: requestedSandboxName,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
if (error instanceof CloudFleetSandboxProvisionError && error.cloudWorkspaceId && error.sandboxId) {
|
|
170
|
+
await deps
|
|
171
|
+
.deleteCloudFleetSandbox({
|
|
172
|
+
cloudWorkspaceId: error.cloudWorkspaceId,
|
|
173
|
+
sandboxId: error.sandboxId,
|
|
174
|
+
})
|
|
175
|
+
.catch((cleanupError) => {
|
|
176
|
+
deps.warn(`Provisioning failed after Daytona created sandbox '${error.sandboxId}', and automatic cleanup failed: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}`);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
else if (error instanceof CloudFleetSandboxProvisionError && error.outcomeUnknown) {
|
|
180
|
+
deps.warn(`Cloud did not return a complete provisioning response. The outcome is unknown; check Cloud Fleet for node '${error.nodeName ?? requestedSandboxName}' before retrying so a Daytona sandbox is not left running.`);
|
|
181
|
+
}
|
|
182
|
+
throw error;
|
|
183
|
+
}
|
|
184
|
+
if (sandbox.outcome === 'provisioning_timeout') {
|
|
185
|
+
await deps
|
|
186
|
+
.deleteCloudFleetSandbox({
|
|
187
|
+
cloudWorkspaceId: sandbox.cloudWorkspaceId,
|
|
188
|
+
sandboxId: sandbox.sandboxId,
|
|
189
|
+
})
|
|
190
|
+
.catch((error) => {
|
|
191
|
+
deps.warn(`The timed-out sandbox could not be cleaned up automatically: ${error instanceof Error ? error.message : String(error)}`);
|
|
192
|
+
});
|
|
193
|
+
throw new Error(`Daytona node '${sandbox.nodeName}' did not become ready within ${sandbox.waitedMs}ms.`);
|
|
194
|
+
}
|
|
195
|
+
if (mountSandboxRelayfile &&
|
|
196
|
+
(sandbox.outcome !== 'provisioned' || sandbox.relayfileMounted !== true)) {
|
|
197
|
+
if (sandbox.outcome === 'provisioned') {
|
|
198
|
+
await deps
|
|
199
|
+
.deleteCloudFleetSandbox({
|
|
200
|
+
cloudWorkspaceId: sandbox.cloudWorkspaceId,
|
|
201
|
+
sandboxId: sandbox.sandboxId,
|
|
202
|
+
})
|
|
203
|
+
.catch((error) => {
|
|
204
|
+
deps.warn(`The unmounted sandbox could not be cleaned up automatically and may still be running: ${error instanceof Error ? error.message : String(error)}`);
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
throw new Error('Cloud returned a Daytona node without the required Relayfile mount.');
|
|
208
|
+
}
|
|
209
|
+
targetNode = sandbox.nodeName;
|
|
210
|
+
if (!workerCwd && sandbox.outcome === 'provisioned' && sandbox.relayfileMounted) {
|
|
211
|
+
workerCwd = sandbox.relayfileMountPath ?? '/workspace';
|
|
212
|
+
}
|
|
213
|
+
}
|
|
127
214
|
if (targetNode) {
|
|
128
|
-
|
|
129
|
-
|
|
215
|
+
let launcherName;
|
|
216
|
+
try {
|
|
217
|
+
let agentToken = resolveAgentToken(clientOptions);
|
|
218
|
+
if (!agentToken) {
|
|
219
|
+
workspaceRelay ??= deps.sdk.createWorkspaceRelay(clientOptions);
|
|
220
|
+
const pendingLauncherName = `fleet-spawn-launcher-${randomUUID().slice(0, 8)}`;
|
|
221
|
+
const launcher = await workspaceRelay.workspace.register({
|
|
222
|
+
name: pendingLauncherName,
|
|
223
|
+
metadata: { purpose: 'fleet-spawn-launcher' },
|
|
224
|
+
}, { strict: true });
|
|
225
|
+
launcherName = pendingLauncherName;
|
|
226
|
+
agentToken = launcher.token;
|
|
227
|
+
if (!agentToken) {
|
|
228
|
+
throw new Error('The temporary fleet spawn launcher did not receive an agent token.');
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
const relay = deps.sdk.createAgentRelay({ ...clientOptions, token: agentToken });
|
|
232
|
+
// Placement alone only proves the node accepted the dispatch. A node
|
|
233
|
+
// running an obsolete broker advertises `spawn:<cli>` capacity, acks
|
|
234
|
+
// the invocation and launches nothing, which is indistinguishable from
|
|
235
|
+
// success here — so wait for the node to confirm unless asked not to.
|
|
236
|
+
const confirm = options.confirm !== false;
|
|
237
|
+
const invocation = await relay.messaging.placement.spawn({
|
|
238
|
+
capability: `spawn:${cli}`,
|
|
239
|
+
node: targetNode,
|
|
240
|
+
failFast: true,
|
|
241
|
+
confirm,
|
|
242
|
+
...(confirm ? { confirmTimeoutMs: confirmTimeoutMs } : {}),
|
|
243
|
+
input: {
|
|
244
|
+
name,
|
|
245
|
+
cli,
|
|
246
|
+
task,
|
|
247
|
+
...(channel ? { channels: [channel] } : {}),
|
|
248
|
+
...(model ? { model } : {}),
|
|
249
|
+
...(workerCwd ? { worker_cwd: workerCwd } : {}),
|
|
250
|
+
...registrationMetadata,
|
|
251
|
+
...(sessionRef ? { session_ref: sessionRef } : {}),
|
|
252
|
+
},
|
|
253
|
+
});
|
|
254
|
+
printJson(deps.sdk, {
|
|
255
|
+
...(sandbox
|
|
256
|
+
? {
|
|
257
|
+
sandbox,
|
|
258
|
+
attachCommand: `agent-relay node agent attach ${shellQuote(name)} ` +
|
|
259
|
+
`--node ${shellQuote(targetNode)} --mode drive`,
|
|
260
|
+
}
|
|
261
|
+
: {}),
|
|
262
|
+
invocation,
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
catch (error) {
|
|
266
|
+
if (sandbox?.outcome === 'provisioned') {
|
|
267
|
+
await deps
|
|
268
|
+
.deleteCloudFleetSandbox({
|
|
269
|
+
cloudWorkspaceId: sandbox.cloudWorkspaceId,
|
|
270
|
+
sandboxId: sandbox.sandboxId,
|
|
271
|
+
})
|
|
272
|
+
.catch((cleanupError) => {
|
|
273
|
+
deps.warn(`Spawn failed and the sandbox could not be cleaned up automatically: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}`);
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
throw error;
|
|
277
|
+
}
|
|
278
|
+
finally {
|
|
279
|
+
if (launcherName && workspaceRelay) {
|
|
280
|
+
await workspaceRelay.workspace
|
|
281
|
+
.release({
|
|
282
|
+
name: launcherName,
|
|
283
|
+
reason: 'Temporary fleet spawn launcher completed',
|
|
284
|
+
deleteAgent: true,
|
|
285
|
+
})
|
|
286
|
+
.catch((error) => {
|
|
287
|
+
deps.warn(`Temporary launcher cleanup failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
288
|
+
});
|
|
289
|
+
}
|
|
130
290
|
}
|
|
131
|
-
const relay = deps.sdk.createAgentRelay(clientOptions);
|
|
132
|
-
// Placement alone only proves the node accepted the dispatch. A node
|
|
133
|
-
// running an obsolete broker advertises `spawn:<cli>` capacity, acks
|
|
134
|
-
// the invocation and launches nothing, which is indistinguishable from
|
|
135
|
-
// success here — so wait for the node to confirm unless asked not to.
|
|
136
|
-
const confirm = options.confirm !== false;
|
|
137
|
-
const invocation = await relay.messaging.placement.spawn({
|
|
138
|
-
capability: `spawn:${cli}`,
|
|
139
|
-
node: targetNode,
|
|
140
|
-
failFast: true,
|
|
141
|
-
confirm,
|
|
142
|
-
...(confirm ? { confirmTimeoutMs: confirmTimeoutMs } : {}),
|
|
143
|
-
input: {
|
|
144
|
-
name,
|
|
145
|
-
cli,
|
|
146
|
-
task,
|
|
147
|
-
...(channel ? { channels: [channel] } : {}),
|
|
148
|
-
...(model ? { model } : {}),
|
|
149
|
-
...(workerCwd ? { worker_cwd: workerCwd } : {}),
|
|
150
|
-
...registrationMetadata,
|
|
151
|
-
...(sessionRef ? { session_ref: sessionRef } : {}),
|
|
152
|
-
},
|
|
153
|
-
});
|
|
154
|
-
printJson(deps.sdk, { invocation });
|
|
155
291
|
return;
|
|
156
292
|
}
|
|
157
293
|
if (sessionRef) {
|
|
@@ -230,13 +366,6 @@ export function registerFleetCommands(program, overrides = {}) {
|
|
|
230
366
|
}
|
|
231
367
|
});
|
|
232
368
|
}
|
|
233
|
-
/** Return whether a roster entry can currently accept Fleet work. */
|
|
234
|
-
function isAvailableFleetNode(node) {
|
|
235
|
-
const tags = Array.isArray(node.tags) ? node.tags : [];
|
|
236
|
-
const isDirectPseudoNode = tags.includes('direct');
|
|
237
|
-
const isLive = node.live === undefined ? node.status === 'online' : node.live === true;
|
|
238
|
-
return isLive && node.handlersLive !== false && !isDirectPseudoNode;
|
|
239
|
-
}
|
|
240
369
|
function parseFleetCli(value) {
|
|
241
370
|
const cli = value.trim().toLowerCase();
|
|
242
371
|
if (!FLEET_CLIS.has(cli)) {
|
|
@@ -256,6 +385,10 @@ function optionalText(value, label) {
|
|
|
256
385
|
return undefined;
|
|
257
386
|
return requiredText(value, label);
|
|
258
387
|
}
|
|
388
|
+
/** Quote untrusted names in the copy-pasteable attach command printed on success. */
|
|
389
|
+
function shellQuote(value) {
|
|
390
|
+
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
391
|
+
}
|
|
259
392
|
/**
|
|
260
393
|
* Warn (on stderr, so it never pollutes the JSON on stdout) when the workspace
|
|
261
394
|
* key was inferred from the project's persisted session rather than named
|
|
@@ -307,9 +440,9 @@ function buildLocalContribution(node, input) {
|
|
|
307
440
|
* Fan-out for `fleet agent list`. Reads `nodes.list()` for the roster of
|
|
308
441
|
* reachable fleet nodes, `agents.list()` for the workspace agent registry,
|
|
309
442
|
* and — when this machine has a running local broker — both the live worker
|
|
310
|
-
* map and the fleet_inventory snapshot from it.
|
|
311
|
-
*
|
|
312
|
-
* never dropped from the output.
|
|
443
|
+
* map and the fleet_inventory snapshot from it. Remote live names arrive in
|
|
444
|
+
* the node heartbeat capabilities returned by the same `nodes.list()` call.
|
|
445
|
+
* A node is never dropped from the output.
|
|
313
446
|
*
|
|
314
447
|
* The pure join lives in {@link ./fleet-agent.ts} so it can be tested against
|
|
315
448
|
* fixtures without wiring up the SDK.
|
|
@@ -319,33 +452,48 @@ async function runFleetAgentList(deps, options) {
|
|
|
319
452
|
warnIfInferredFromProjectSession(options, deps.warn);
|
|
320
453
|
const clientOptions = sdkOptionsFromOpts(options);
|
|
321
454
|
const relay = deps.sdk.createWorkspaceRelay(clientOptions);
|
|
455
|
+
const requestedNodeName = typeof options.node === 'string' && options.node ? options.node : undefined;
|
|
322
456
|
// Enumerate fleet nodes exactly the way `fleet nodes` does. `nodes.list()`
|
|
323
457
|
// failure is fatal — nothing to reconcile against.
|
|
324
458
|
const nodes = await relay.nodes.list({
|
|
325
|
-
...(
|
|
459
|
+
...(requestedNodeName ? { name: requestedNodeName } : {}),
|
|
326
460
|
});
|
|
327
461
|
const includeAll = options.all === true;
|
|
328
|
-
const visibleNodes = includeAll ? nodes : nodes.filter(isAvailableFleetNode);
|
|
462
|
+
const visibleNodes = (includeAll ? nodes : nodes.filter(isAvailableFleetNode)).filter((node) => !requestedNodeName || node.name === requestedNodeName);
|
|
329
463
|
// The workspace roster is separately fetched; a failure here is degraded
|
|
330
464
|
// rather than fatal — the presence column just marks fewer rows as
|
|
331
465
|
// roster-matched and warns.
|
|
332
466
|
let roster = [];
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
467
|
+
// A targeted query must be a real filter, not a node row followed by
|
|
468
|
+
// unrelated workspace sediment. It also avoids an unnecessary D1 roster
|
|
469
|
+
// read on the path operators use to inspect one remote node.
|
|
470
|
+
if (!requestedNodeName) {
|
|
471
|
+
try {
|
|
472
|
+
// Default to online-only. `--all` opens it up to the workspace's
|
|
473
|
+
// full record set (>1600 today, most stale/offline) so a scripted diff
|
|
474
|
+
// has the option, without making the default output unreadable. This
|
|
475
|
+
// mirrors what `fleet nodes` does with node history.
|
|
476
|
+
const relayAgents = await relay.agents.list(includeAll ? {} : { status: 'online' });
|
|
477
|
+
roster = relayAgents.map((entry) => ({
|
|
478
|
+
name: entry.name,
|
|
479
|
+
...(entry.status ? { status: entry.status } : {}),
|
|
480
|
+
...(entry.lastSeenAt ? { lastSeenAt: entry.lastSeenAt } : {}),
|
|
481
|
+
...(entry.metadata ? { metadata: entry.metadata } : {}),
|
|
482
|
+
}));
|
|
483
|
+
}
|
|
484
|
+
catch (error) {
|
|
485
|
+
deps.warn(`roster unavailable (${error instanceof Error ? error.message : String(error)}); ` +
|
|
486
|
+
'PRESENCE column will not report roster membership.');
|
|
487
|
+
}
|
|
345
488
|
}
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
489
|
+
else {
|
|
490
|
+
// A targeted `--node` listing intentionally skips the workspace roster
|
|
491
|
+
// fetch, so the PRESENCE column cannot label roster membership on the
|
|
492
|
+
// returned rows. Say so explicitly; a silent absence would look like a
|
|
493
|
+
// confirmed negative result and let the same agent appear with
|
|
494
|
+
// different PRESENCE values across `--node` and non-`--node` runs.
|
|
495
|
+
deps.warn('roster not queried for a targeted --node listing; PRESENCE reports node-local liveness only ' +
|
|
496
|
+
'and does not prove absence from the workspace roster.');
|
|
349
497
|
}
|
|
350
498
|
// Local broker (this machine): read /api/spawned and /api/fleet-inventory.
|
|
351
499
|
// The broker's node_name identifies which entry in `visibleNodes` is us.
|
|
@@ -391,26 +539,45 @@ async function runFleetAgentList(deps, options) {
|
|
|
391
539
|
client.disconnect();
|
|
392
540
|
}
|
|
393
541
|
}
|
|
394
|
-
// Assemble per-node contributions.
|
|
395
|
-
|
|
542
|
+
// Assemble per-node contributions. Brokers encode the live WorkerName set
|
|
543
|
+
// in reserved heartbeat capabilities. This path is independent of agent
|
|
544
|
+
// registration and adds no API call beyond nodes.list(): no workspace
|
|
545
|
+
// roster and no node-binding read.
|
|
546
|
+
const contributions = [];
|
|
547
|
+
for (const node of visibleNodes) {
|
|
396
548
|
if (localNodeName && node.name === localNodeName) {
|
|
397
|
-
|
|
549
|
+
contributions.push(buildLocalContribution(node, {
|
|
398
550
|
liveAgents: localLive,
|
|
399
551
|
liveError: localLiveError,
|
|
400
552
|
inventoryAgents: localInventory,
|
|
401
553
|
inventoryError: localInventoryError,
|
|
402
554
|
sessionError: localSessionError,
|
|
403
555
|
retried: localRetried,
|
|
556
|
+
}));
|
|
557
|
+
continue;
|
|
558
|
+
}
|
|
559
|
+
const remote = readRemoteLiveAgents(node);
|
|
560
|
+
if (remote.supported) {
|
|
561
|
+
contributions.push({
|
|
562
|
+
node,
|
|
563
|
+
isLocal: false,
|
|
564
|
+
remoteAgents: remote.agents,
|
|
565
|
+
...(remote.warning ? { remoteWarning: remote.warning } : {}),
|
|
404
566
|
});
|
|
405
567
|
}
|
|
406
|
-
|
|
407
|
-
|
|
568
|
+
else {
|
|
569
|
+
contributions.push({
|
|
570
|
+
node,
|
|
571
|
+
isLocal: false,
|
|
572
|
+
remoteError: 'broker heartbeat does not publish live agent names',
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
}
|
|
408
576
|
// Guarantee the local machine appears somewhere in the output even if
|
|
409
577
|
// `nodes.list()` filtered its record out or the workspace never saw it.
|
|
410
578
|
// Dropping the local machine's contribution silently was one of the
|
|
411
579
|
// review findings on the first pass — this is the third-state discipline
|
|
412
580
|
// applied to the local node itself, not just to per-agent rows.
|
|
413
|
-
const requestedNodeName = typeof options.node === 'string' && options.node ? options.node : undefined;
|
|
414
581
|
const localNodeIsInScope = requestedNodeName === undefined || (localNodeName !== undefined && requestedNodeName === localNodeName);
|
|
415
582
|
if (localNodeIsInScope &&
|
|
416
583
|
(localNodeName || localSessionError || conn) &&
|
|
@@ -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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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `agent-relay observer` — mint a scoped, read-only observer link.
|
|
3
|
+
*
|
|
4
|
+
* The engine rejects a workspace key (`rk_live_`) on the realtime endpoint, and
|
|
5
|
+
* a workspace key is an administrative credential that has no business in a URL
|
|
6
|
+
* or a terminal transcript. This command mints a scoped `ot_live_` token instead
|
|
7
|
+
* and prints the observer URL built from it, so "let a human follow along" is a
|
|
8
|
+
* single command rather than a hand-rolled API call.
|
|
9
|
+
*/
|
|
10
|
+
import type { Command } from 'commander';
|
|
11
|
+
import { createObserverToken, listObserverTokens, revokeObserverToken } from '@agent-relay/sdk';
|
|
12
|
+
import { type SdkCommandDeps } from '../lib/sdk-command.js';
|
|
13
|
+
export interface ObserverCommandDependencies extends SdkCommandDeps {
|
|
14
|
+
createObserverToken: typeof createObserverToken;
|
|
15
|
+
listObserverTokens: typeof listObserverTokens;
|
|
16
|
+
revokeObserverToken: typeof revokeObserverToken;
|
|
17
|
+
/** Injected so tests get deterministic token names and expiry timestamps. */
|
|
18
|
+
now: () => number;
|
|
19
|
+
randomSuffix: () => string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Parse a `30m` / `24h` / `7d` duration into milliseconds. Bare digits are
|
|
23
|
+
* rejected rather than guessed at — `--expires 24` is far more likely to mean
|
|
24
|
+
* hours than milliseconds, and silently picking either would be wrong.
|
|
25
|
+
*/
|
|
26
|
+
export declare function parseDuration(value: string): number;
|
|
27
|
+
export declare function registerObserverCommands(program: Command, overrides?: Partial<ObserverCommandDependencies>): void;
|
|
28
|
+
//# sourceMappingURL=observer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/observer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAsC,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAKhG,MAAM,WAAW,2BAA4B,SAAQ,cAAc;IACjE,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,6EAA6E;IAC7E,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B;AAgBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBnD;AA8CD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,OAAO,CAAC,2BAA2B,CAAM,GACnD,IAAI,CAqHN"}
|