agent-relay 3.1.19 → 3.1.21
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 +13 -1
- package/bin/agent-relay-broker-darwin-arm64 +0 -0
- package/bin/agent-relay-broker-darwin-x64 +0 -0
- package/bin/agent-relay-broker-linux-arm64 +0 -0
- package/bin/agent-relay-broker-linux-x64 +0 -0
- package/dist/index.cjs +435 -190
- package/dist/src/cli/bootstrap.js +0 -15
- package/dist/src/cli/bootstrap.js.map +1 -1
- package/dist/src/cli/commands/agent-management.d.ts +1 -0
- package/dist/src/cli/commands/agent-management.d.ts.map +1 -1
- package/dist/src/cli/commands/agent-management.js +235 -16
- package/dist/src/cli/commands/agent-management.js.map +1 -1
- package/dist/src/cli/commands/core.js +1 -1
- package/dist/src/cli/commands/core.js.map +1 -1
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +13 -1
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/lib/broker-lifecycle.d.ts.map +1 -1
- package/dist/src/cli/lib/broker-lifecycle.js +3 -5
- package/dist/src/cli/lib/broker-lifecycle.js.map +1 -1
- package/dist/src/cli/lib/connect-daytona.js +2 -2
- package/dist/src/cli/lib/connect-daytona.js.map +1 -1
- package/install.sh +9 -3
- package/package.json +13 -13
- package/packages/acp-bridge/package.json +2 -2
- package/packages/config/package.json +1 -1
- package/packages/hooks/package.json +4 -4
- package/packages/memory/package.json +2 -2
- package/packages/openclaw/dist/cli.js +79 -2
- package/packages/openclaw/dist/cli.js.map +1 -1
- package/packages/openclaw/dist/config.d.ts +28 -1
- package/packages/openclaw/dist/config.d.ts.map +1 -1
- package/packages/openclaw/dist/config.js +145 -0
- package/packages/openclaw/dist/config.js.map +1 -1
- package/packages/openclaw/dist/index.d.ts +2 -2
- package/packages/openclaw/dist/index.d.ts.map +1 -1
- package/packages/openclaw/dist/index.js +1 -1
- package/packages/openclaw/dist/index.js.map +1 -1
- package/packages/openclaw/dist/setup.d.ts.map +1 -1
- package/packages/openclaw/dist/setup.js +24 -1
- package/packages/openclaw/dist/setup.js.map +1 -1
- package/packages/openclaw/dist/types.d.ts +23 -0
- package/packages/openclaw/dist/types.d.ts.map +1 -1
- package/packages/openclaw/package.json +2 -2
- package/packages/openclaw/skill/SKILL.md +46 -0
- package/packages/openclaw/src/cli.ts +90 -2
- package/packages/openclaw/src/config.ts +165 -1
- package/packages/openclaw/src/index.ts +7 -1
- package/packages/openclaw/src/setup.ts +26 -1
- package/packages/openclaw/src/types.ts +25 -0
- package/packages/policy/package.json +2 -2
- package/packages/sdk/dist/__tests__/integration.test.js +35 -0
- package/packages/sdk/dist/__tests__/integration.test.js.map +1 -1
- package/packages/sdk/dist/client.d.ts +9 -0
- package/packages/sdk/dist/client.d.ts.map +1 -1
- package/packages/sdk/dist/client.js +33 -22
- package/packages/sdk/dist/client.js.map +1 -1
- package/packages/sdk/dist/protocol.d.ts +1 -0
- package/packages/sdk/dist/protocol.d.ts.map +1 -1
- package/packages/sdk/dist/relay.d.ts +8 -0
- package/packages/sdk/dist/relay.d.ts.map +1 -1
- package/packages/sdk/dist/relay.js +50 -5
- package/packages/sdk/dist/relay.js.map +1 -1
- package/packages/sdk/dist/workflows/cli.js +2 -0
- package/packages/sdk/dist/workflows/cli.js.map +1 -1
- package/packages/sdk/dist/workflows/runner.d.ts +11 -0
- package/packages/sdk/dist/workflows/runner.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/runner.js +350 -167
- package/packages/sdk/dist/workflows/runner.js.map +1 -1
- package/packages/sdk/dist/workflows/trajectory.d.ts +6 -1
- package/packages/sdk/dist/workflows/trajectory.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/trajectory.js +16 -2
- package/packages/sdk/dist/workflows/trajectory.js.map +1 -1
- package/packages/sdk/package.json +2 -2
- package/packages/sdk/src/__tests__/integration.test.ts +49 -0
- package/packages/sdk/src/__tests__/orchestration-upgrades.test.ts +50 -1
- package/packages/sdk/src/client.ts +44 -21
- package/packages/sdk/src/protocol.ts +1 -1
- package/packages/sdk/src/relay.ts +70 -5
- package/packages/sdk/src/workflows/cli.ts +2 -0
- package/packages/sdk/src/workflows/runner.ts +414 -185
- package/packages/sdk/src/workflows/trajectory.ts +22 -2
- package/packages/sdk-py/pyproject.toml +1 -1
- package/packages/sdk-py/src/agent_relay/client.py +18 -1
- package/packages/sdk-py/src/agent_relay/relay.py +4 -0
- package/packages/sdk-py/src/agent_relay/types.py +4 -0
- package/packages/telemetry/package.json +1 -1
- package/packages/trajectory/package.json +2 -2
- package/packages/user-directory/package.json +2 -2
- package/packages/utils/package.json +2 -2
|
@@ -3,7 +3,7 @@ import { join, dirname, basename } from 'node:path';
|
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
4
|
import { existsSync, readFileSync } from 'node:fs';
|
|
5
5
|
|
|
6
|
-
import type { GatewayConfig } from './types.js';
|
|
6
|
+
import type { GatewayConfig, WorkspaceEntry, WorkspacesConfig } from './types.js';
|
|
7
7
|
|
|
8
8
|
function envValue(vars: Record<string, string>, key: string): string | undefined {
|
|
9
9
|
const processValue = process.env[key]?.trim();
|
|
@@ -330,3 +330,167 @@ export async function saveGatewayConfig(config: GatewayConfig): Promise<void> {
|
|
|
330
330
|
|
|
331
331
|
await writeFile(join(relaycastDir, '.env'), env, 'utf-8');
|
|
332
332
|
}
|
|
333
|
+
|
|
334
|
+
// ---------------------------------------------------------------------------
|
|
335
|
+
// Multi-workspace config: ~/.openclaw/workspace/relaycast/workspaces.json
|
|
336
|
+
// ---------------------------------------------------------------------------
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Path to the workspaces.json file.
|
|
340
|
+
*/
|
|
341
|
+
async function workspacesConfigPath(): Promise<string> {
|
|
342
|
+
const detection = await detectOpenClaw();
|
|
343
|
+
return join(detection.workspaceDir, 'relaycast', 'workspaces.json');
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Load multi-workspace config. Returns null if the file doesn't exist.
|
|
348
|
+
*/
|
|
349
|
+
export async function loadWorkspacesConfig(): Promise<WorkspacesConfig | null> {
|
|
350
|
+
const configPath = await workspacesConfigPath();
|
|
351
|
+
if (!existsSync(configPath)) return null;
|
|
352
|
+
|
|
353
|
+
try {
|
|
354
|
+
const raw = await readFile(configPath, 'utf-8');
|
|
355
|
+
return JSON.parse(raw) as WorkspacesConfig;
|
|
356
|
+
} catch (err) {
|
|
357
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
358
|
+
console.warn(`Warning: failed to parse ${configPath}: ${message}`);
|
|
359
|
+
console.warn('The file may be corrupted. Existing workspace config will not be modified.');
|
|
360
|
+
return { workspaces: [], default_workspace: undefined };
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Save multi-workspace config to disk.
|
|
366
|
+
*/
|
|
367
|
+
export async function saveWorkspacesConfig(config: WorkspacesConfig): Promise<void> {
|
|
368
|
+
const configPath = await workspacesConfigPath();
|
|
369
|
+
await mkdir(dirname(configPath), { recursive: true });
|
|
370
|
+
await writeFile(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* Add a workspace entry. If an entry with the same api_key already exists,
|
|
375
|
+
* it is updated in place. The first workspace added becomes the default.
|
|
376
|
+
*/
|
|
377
|
+
export async function addWorkspace(entry: WorkspaceEntry): Promise<WorkspacesConfig> {
|
|
378
|
+
let config = await loadWorkspacesConfig();
|
|
379
|
+
|
|
380
|
+
if (!config) {
|
|
381
|
+
// Bootstrap from existing single-workspace .env if available
|
|
382
|
+
const gateway = await loadGatewayConfig();
|
|
383
|
+
if (gateway) {
|
|
384
|
+
config = {
|
|
385
|
+
workspaces: [{
|
|
386
|
+
api_key: gateway.apiKey,
|
|
387
|
+
workspace_alias: gateway.clawName,
|
|
388
|
+
is_default: true,
|
|
389
|
+
}],
|
|
390
|
+
default_workspace: gateway.clawName,
|
|
391
|
+
};
|
|
392
|
+
} else {
|
|
393
|
+
config = { workspaces: [], default_workspace: undefined };
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
const normalizeWorkspaceLabel = (workspace: WorkspaceEntry): string => {
|
|
398
|
+
return workspace.workspace_alias ?? workspace.workspace_id ?? workspace.api_key;
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
// Check for existing entry with same api_key
|
|
402
|
+
const hasExplicitDefault = entry.is_default !== undefined;
|
|
403
|
+
const existingIdx = config.workspaces.findIndex((w) => w.api_key === entry.api_key);
|
|
404
|
+
if (existingIdx >= 0) {
|
|
405
|
+
const existingEntry = config.workspaces[existingIdx];
|
|
406
|
+
config.workspaces[existingIdx] = { ...existingEntry, ...entry };
|
|
407
|
+
if (!hasExplicitDefault) {
|
|
408
|
+
config.workspaces[existingIdx].is_default = existingEntry.is_default;
|
|
409
|
+
}
|
|
410
|
+
const updatedEntry = config.workspaces[existingIdx];
|
|
411
|
+
if (updatedEntry.is_default) {
|
|
412
|
+
config.default_workspace = normalizeWorkspaceLabel(updatedEntry);
|
|
413
|
+
}
|
|
414
|
+
} else {
|
|
415
|
+
config.workspaces.push(entry);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
const targetWorkspace = config.workspaces.find((w) => w.api_key === entry.api_key);
|
|
419
|
+
if (!targetWorkspace) {
|
|
420
|
+
throw new Error(`Failed to locate workspace entry for ${entry.api_key}`);
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
// If this is explicitly default, or this is the first workspace without an existing default,
|
|
424
|
+
// set it as default.
|
|
425
|
+
if (
|
|
426
|
+
entry.is_default === true ||
|
|
427
|
+
(config.default_workspace === undefined && config.workspaces.length === 1)
|
|
428
|
+
) {
|
|
429
|
+
config.default_workspace = normalizeWorkspaceLabel(targetWorkspace);
|
|
430
|
+
for (const w of config.workspaces) {
|
|
431
|
+
w.is_default = w.api_key === targetWorkspace.api_key;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
await saveWorkspacesConfig(config);
|
|
436
|
+
return config;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
/**
|
|
440
|
+
* List all configured workspaces.
|
|
441
|
+
*/
|
|
442
|
+
export async function listWorkspaces(): Promise<WorkspaceEntry[]> {
|
|
443
|
+
const config = await loadWorkspacesConfig();
|
|
444
|
+
return config?.workspaces ?? [];
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* Switch the default workspace by alias or workspace_id.
|
|
449
|
+
* Returns the updated config, or null if the identifier was not found.
|
|
450
|
+
*/
|
|
451
|
+
export async function switchWorkspace(identifier: string): Promise<WorkspacesConfig | null> {
|
|
452
|
+
const config = await loadWorkspacesConfig();
|
|
453
|
+
if (!config) return null;
|
|
454
|
+
|
|
455
|
+
const target = config.workspaces.find(
|
|
456
|
+
(w) => w.workspace_alias === identifier || w.workspace_id === identifier
|
|
457
|
+
);
|
|
458
|
+
if (!target) return null;
|
|
459
|
+
|
|
460
|
+
config.default_workspace = target.workspace_alias ?? target.workspace_id ?? target.api_key;
|
|
461
|
+
for (const w of config.workspaces) {
|
|
462
|
+
w.is_default = w.api_key === target.api_key;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
// Also update the single-workspace .env to match the new default
|
|
466
|
+
const gateway = await loadGatewayConfig();
|
|
467
|
+
if (gateway) {
|
|
468
|
+
gateway.apiKey = target.api_key;
|
|
469
|
+
gateway.clawName = target.workspace_alias ?? target.workspace_id ?? target.api_key;
|
|
470
|
+
await saveGatewayConfig(gateway);
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
await saveWorkspacesConfig(config);
|
|
474
|
+
return config;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
/**
|
|
478
|
+
* Build RELAY_WORKSPACES_JSON value for the broker from stored workspaces.
|
|
479
|
+
* Returns null if there are fewer than 2 workspaces (single-workspace mode).
|
|
480
|
+
*/
|
|
481
|
+
export function buildWorkspacesJson(config: WorkspacesConfig): string | null {
|
|
482
|
+
if (config.workspaces.length < 2) return null;
|
|
483
|
+
|
|
484
|
+
const memberships = config.workspaces.map((w) => ({
|
|
485
|
+
api_key: w.api_key,
|
|
486
|
+
...(w.workspace_id ? { workspace_id: w.workspace_id } : {}),
|
|
487
|
+
...(w.workspace_alias ? { workspace_alias: w.workspace_alias } : {}),
|
|
488
|
+
}));
|
|
489
|
+
|
|
490
|
+
const payload: Record<string, unknown> = { memberships };
|
|
491
|
+
if (config.default_workspace) {
|
|
492
|
+
payload.default_workspace_id = config.default_workspace;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
return JSON.stringify(payload);
|
|
496
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// ── Types ──────────────────────────────────────────────────────────────
|
|
2
|
-
export type { GatewayConfig, InboundMessage, DeliveryResult } from './types.js';
|
|
2
|
+
export type { GatewayConfig, InboundMessage, DeliveryResult, WorkspaceEntry, WorkspacesConfig } from './types.js';
|
|
3
3
|
|
|
4
4
|
// ── Gateway ────────────────────────────────────────────────────────────
|
|
5
5
|
export { InboundGateway, type GatewayOptions, type RelaySender } from './gateway.js';
|
|
@@ -9,6 +9,12 @@ export {
|
|
|
9
9
|
detectOpenClaw,
|
|
10
10
|
loadGatewayConfig,
|
|
11
11
|
saveGatewayConfig,
|
|
12
|
+
loadWorkspacesConfig,
|
|
13
|
+
saveWorkspacesConfig,
|
|
14
|
+
addWorkspace,
|
|
15
|
+
listWorkspaces,
|
|
16
|
+
switchWorkspace,
|
|
17
|
+
buildWorkspacesJson,
|
|
12
18
|
type OpenClawDetection,
|
|
13
19
|
} from './config.js';
|
|
14
20
|
|
|
@@ -9,7 +9,7 @@ import { randomBytes } from 'node:crypto';
|
|
|
9
9
|
|
|
10
10
|
import { RelayCast } from '@relaycast/sdk';
|
|
11
11
|
|
|
12
|
-
import { detectOpenClaw, saveGatewayConfig } from './config.js';
|
|
12
|
+
import { detectOpenClaw, saveGatewayConfig, addWorkspace, loadWorkspacesConfig, buildWorkspacesJson } from './config.js';
|
|
13
13
|
import { InboundGateway } from './gateway.js';
|
|
14
14
|
import { DEFAULT_OPENCLAW_GATEWAY_PORT, type GatewayConfig } from './types.js';
|
|
15
15
|
|
|
@@ -353,14 +353,31 @@ export async function setup(options: SetupOptions): Promise<SetupResult> {
|
|
|
353
353
|
};
|
|
354
354
|
await saveGatewayConfig(gatewayConfig);
|
|
355
355
|
|
|
356
|
+
// Register this workspace in the multi-workspace config
|
|
357
|
+
await addWorkspace({
|
|
358
|
+
api_key: apiKey,
|
|
359
|
+
workspace_alias: clawName,
|
|
360
|
+
is_default: true,
|
|
361
|
+
});
|
|
362
|
+
|
|
356
363
|
// Register MCP servers via mcporter (global binary or npx fallback)
|
|
357
364
|
let mcpConfigured = false;
|
|
358
365
|
{
|
|
366
|
+
// Build env args for mcporter, including multi-workspace JSON if available
|
|
367
|
+
const wsConfig = await loadWorkspacesConfig();
|
|
368
|
+
const workspacesJson = wsConfig ? buildWorkspacesJson(wsConfig) : null;
|
|
369
|
+
|
|
359
370
|
const envArgs = [
|
|
360
371
|
'--env', `RELAY_API_KEY=${apiKey}`,
|
|
361
372
|
...(baseUrl !== 'https://api.relaycast.dev'
|
|
362
373
|
? ['--env', `RELAY_BASE_URL=${baseUrl}`]
|
|
363
374
|
: []),
|
|
375
|
+
...(workspacesJson
|
|
376
|
+
? ['--env', `RELAY_WORKSPACES_JSON=${workspacesJson}`]
|
|
377
|
+
: []),
|
|
378
|
+
...(wsConfig?.default_workspace
|
|
379
|
+
? ['--env', `RELAY_DEFAULT_WORKSPACE=${wsConfig.default_workspace}`]
|
|
380
|
+
: []),
|
|
364
381
|
];
|
|
365
382
|
|
|
366
383
|
let mcp: { cmd: string; prefix: string[] } | null = null;
|
|
@@ -538,6 +555,14 @@ Once installed, use the Relaycast MCP tools:
|
|
|
538
555
|
- \`reply_to_thread\` — Reply in a thread
|
|
539
556
|
- \`check_inbox\` — See unread messages
|
|
540
557
|
|
|
558
|
+
## Multi-Workspace
|
|
559
|
+
|
|
560
|
+
\`\`\`bash
|
|
561
|
+
relay-openclaw add-workspace <key> --alias <name> # Add a workspace
|
|
562
|
+
relay-openclaw list-workspaces # List all workspaces
|
|
563
|
+
relay-openclaw switch-workspace <alias> # Switch default workspace
|
|
564
|
+
\`\`\`
|
|
565
|
+
|
|
541
566
|
## Commands
|
|
542
567
|
|
|
543
568
|
\`\`\`bash
|
|
@@ -66,6 +66,31 @@ export interface InboundMessage {
|
|
|
66
66
|
kind?: 'channel' | 'thread' | 'dm' | 'groupdm' | 'command' | 'reaction';
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
/**
|
|
70
|
+
* A stored workspace entry for multi-workspace support.
|
|
71
|
+
* Matches the broker's WorkspaceSource schema in src/auth.rs.
|
|
72
|
+
*/
|
|
73
|
+
export interface WorkspaceEntry {
|
|
74
|
+
/** Workspace API key (rk_live_*). */
|
|
75
|
+
api_key: string;
|
|
76
|
+
/** Optional workspace ID (ws_*). */
|
|
77
|
+
workspace_id?: string;
|
|
78
|
+
/** Human-friendly alias for this workspace. */
|
|
79
|
+
workspace_alias?: string;
|
|
80
|
+
/** Whether this is the default/active workspace. */
|
|
81
|
+
is_default?: boolean;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Multi-workspace config stored at ~/.openclaw/workspace/relaycast/workspaces.json.
|
|
86
|
+
*/
|
|
87
|
+
export interface WorkspacesConfig {
|
|
88
|
+
/** All configured workspace entries. */
|
|
89
|
+
workspaces: WorkspaceEntry[];
|
|
90
|
+
/** Alias or workspace_id of the default workspace. */
|
|
91
|
+
default_workspace?: string;
|
|
92
|
+
}
|
|
93
|
+
|
|
69
94
|
export interface DeliveryResult {
|
|
70
95
|
/** Whether delivery succeeded. */
|
|
71
96
|
ok: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/policy",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.21",
|
|
4
4
|
"description": "Agent policy management with multi-level fallback (repo, local PRPM, cloud workspace)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"test:watch": "vitest"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@agent-relay/config": "3.1.
|
|
25
|
+
"@agent-relay/config": "3.1.21"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.19.3",
|
|
@@ -167,4 +167,39 @@ test('sdk includes broker stderr details when startup fails', async (t) => {
|
|
|
167
167
|
fs.rmSync(cwd, { recursive: true, force: true });
|
|
168
168
|
}
|
|
169
169
|
});
|
|
170
|
+
test('sdk writes broker lifecycle logs to stderr so stdout stays machine-readable', async (t) => {
|
|
171
|
+
const binaryPath = resolveBinaryPath();
|
|
172
|
+
if (!fs.existsSync(binaryPath)) {
|
|
173
|
+
t.skip(`agent-relay-broker binary not found at ${binaryPath}`);
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
const loggedStdout = [];
|
|
177
|
+
const loggedStderr = [];
|
|
178
|
+
const originalLog = console.log;
|
|
179
|
+
const originalError = console.error;
|
|
180
|
+
console.log = (...args) => {
|
|
181
|
+
loggedStdout.push(args.map((arg) => String(arg)).join(' '));
|
|
182
|
+
};
|
|
183
|
+
console.error = (...args) => {
|
|
184
|
+
loggedStderr.push(args.map((arg) => String(arg)).join(' '));
|
|
185
|
+
};
|
|
186
|
+
let client;
|
|
187
|
+
try {
|
|
188
|
+
client = await AgentRelayClient.start({
|
|
189
|
+
binaryPath,
|
|
190
|
+
requestTimeoutMs: 8_000,
|
|
191
|
+
shutdownTimeoutMs: 2_000,
|
|
192
|
+
env: process.env,
|
|
193
|
+
});
|
|
194
|
+
await client.listAgents();
|
|
195
|
+
assert.equal(loggedStdout.some((line) => line.includes('[broker] Starting:') || line.includes('[broker] Broker ready')), false, `broker lifecycle logs should not be written to stdout: ${loggedStdout.join('\n')}`);
|
|
196
|
+
assert.ok(loggedStderr.some((line) => line.includes('[broker] Starting:')), `expected broker start log on stderr, got: ${loggedStderr.join('\n')}`);
|
|
197
|
+
assert.ok(loggedStderr.some((line) => line.includes('[broker] Broker ready')), `expected broker ready log on stderr, got: ${loggedStderr.join('\n')}`);
|
|
198
|
+
}
|
|
199
|
+
finally {
|
|
200
|
+
console.log = originalLog;
|
|
201
|
+
console.error = originalError;
|
|
202
|
+
await client?.shutdown();
|
|
203
|
+
}
|
|
204
|
+
});
|
|
170
205
|
//# sourceMappingURL=integration.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/__tests__/integration.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/__tests__/integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,9 @@ export interface SpawnPtyInput {
|
|
|
28
28
|
restartPolicy?: RestartPolicy;
|
|
29
29
|
/** Name of a previously released agent whose continuity context should be injected. */
|
|
30
30
|
continueFrom?: string;
|
|
31
|
+
/** When true, skip injecting the relay MCP configuration and protocol prompt into the spawned agent.
|
|
32
|
+
* Useful for minor tasks where relay messaging is not needed, saving tokens. */
|
|
33
|
+
skipRelayPrompt?: boolean;
|
|
31
34
|
}
|
|
32
35
|
export interface SpawnHeadlessInput {
|
|
33
36
|
name: string;
|
|
@@ -35,6 +38,9 @@ export interface SpawnHeadlessInput {
|
|
|
35
38
|
args?: string[];
|
|
36
39
|
channels?: string[];
|
|
37
40
|
task?: string;
|
|
41
|
+
/** When true, skip injecting the relay MCP configuration and protocol prompt into the spawned agent.
|
|
42
|
+
* Useful for minor tasks where relay messaging is not needed, saving tokens. */
|
|
43
|
+
skipRelayPrompt?: boolean;
|
|
38
44
|
}
|
|
39
45
|
export type AgentTransport = 'pty' | 'headless';
|
|
40
46
|
export interface SpawnProviderInput {
|
|
@@ -52,6 +58,9 @@ export interface SpawnProviderInput {
|
|
|
52
58
|
idleThresholdSecs?: number;
|
|
53
59
|
restartPolicy?: RestartPolicy;
|
|
54
60
|
continueFrom?: string;
|
|
61
|
+
/** When true, skip injecting the relay MCP configuration and protocol prompt into the spawned agent.
|
|
62
|
+
* Useful for minor tasks where relay messaging is not needed, saving tokens. */
|
|
63
|
+
skipRelayPrompt?: boolean;
|
|
55
64
|
}
|
|
56
65
|
export interface SendMessageInput {
|
|
57
66
|
to: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EAErB,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -153,6 +153,7 @@ export class AgentRelayClient {
|
|
|
153
153
|
...(input.task != null ? { initial_task: input.task } : {}),
|
|
154
154
|
...(input.idleThresholdSecs != null ? { idle_threshold_secs: input.idleThresholdSecs } : {}),
|
|
155
155
|
...(input.continueFrom != null ? { continue_from: input.continueFrom } : {}),
|
|
156
|
+
...(input.skipRelayPrompt != null ? { skip_relay_prompt: input.skipRelayPrompt } : {}),
|
|
156
157
|
});
|
|
157
158
|
return result;
|
|
158
159
|
}
|
|
@@ -168,6 +169,7 @@ export class AgentRelayClient {
|
|
|
168
169
|
const result = await this.requestOk('spawn_agent', {
|
|
169
170
|
agent,
|
|
170
171
|
...(input.task != null ? { initial_task: input.task } : {}),
|
|
172
|
+
...(input.skipRelayPrompt != null ? { skip_relay_prompt: input.skipRelayPrompt } : {}),
|
|
171
173
|
});
|
|
172
174
|
return result;
|
|
173
175
|
}
|
|
@@ -183,6 +185,7 @@ export class AgentRelayClient {
|
|
|
183
185
|
args: input.args,
|
|
184
186
|
channels: input.channels,
|
|
185
187
|
task: input.task,
|
|
188
|
+
skipRelayPrompt: input.skipRelayPrompt,
|
|
186
189
|
});
|
|
187
190
|
}
|
|
188
191
|
return this.spawnPty({
|
|
@@ -199,6 +202,7 @@ export class AgentRelayClient {
|
|
|
199
202
|
idleThresholdSecs: input.idleThresholdSecs,
|
|
200
203
|
restartPolicy: input.restartPolicy,
|
|
201
204
|
continueFrom: input.continueFrom,
|
|
205
|
+
skipRelayPrompt: input.skipRelayPrompt,
|
|
202
206
|
});
|
|
203
207
|
}
|
|
204
208
|
async spawnClaude(input) {
|
|
@@ -265,28 +269,36 @@ export class AgentRelayClient {
|
|
|
265
269
|
if (!this.child) {
|
|
266
270
|
return;
|
|
267
271
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
}
|
|
271
|
-
catch {
|
|
272
|
-
// Continue shutdown path if broker is already unhealthy.
|
|
273
|
-
}
|
|
272
|
+
void this.requestOk('shutdown', {}).catch(() => {
|
|
273
|
+
// Continue shutdown path if broker is already unhealthy or exits before replying.
|
|
274
|
+
});
|
|
274
275
|
const child = this.child;
|
|
275
276
|
const wait = this.exitPromise ?? Promise.resolve();
|
|
276
|
-
const
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
277
|
+
const waitForExit = async (timeoutMs) => {
|
|
278
|
+
let timer;
|
|
279
|
+
const result = await Promise.race([
|
|
280
|
+
wait.then(() => true),
|
|
281
|
+
new Promise((resolve) => {
|
|
282
|
+
timer = setTimeout(() => resolve(false), timeoutMs);
|
|
283
|
+
}),
|
|
284
|
+
]);
|
|
285
|
+
if (timer !== undefined)
|
|
286
|
+
clearTimeout(timer);
|
|
287
|
+
return result;
|
|
288
|
+
};
|
|
289
|
+
if (await waitForExit(this.options.shutdownTimeoutMs)) {
|
|
290
|
+
return;
|
|
283
291
|
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
292
|
+
if (child.exitCode === null && child.signalCode === null) {
|
|
293
|
+
child.kill('SIGTERM');
|
|
294
|
+
}
|
|
295
|
+
if (await waitForExit(1_000)) {
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
if (child.exitCode === null && child.signalCode === null) {
|
|
299
|
+
child.kill('SIGKILL');
|
|
289
300
|
}
|
|
301
|
+
await waitForExit(1_000);
|
|
290
302
|
}
|
|
291
303
|
async waitForExit() {
|
|
292
304
|
if (!this.child) {
|
|
@@ -304,8 +316,7 @@ export class AgentRelayClient {
|
|
|
304
316
|
'init',
|
|
305
317
|
'--name',
|
|
306
318
|
this.options.brokerName,
|
|
307
|
-
'--channels',
|
|
308
|
-
this.options.channels.join(','),
|
|
319
|
+
...(this.options.channels.length > 0 ? ['--channels', this.options.channels.join(',')] : []),
|
|
309
320
|
...this.options.binaryArgs,
|
|
310
321
|
];
|
|
311
322
|
// Ensure the SDK bin directory (containing agent-relay-broker + relay_send) is on
|
|
@@ -318,7 +329,7 @@ export class AgentRelayClient {
|
|
|
318
329
|
env.PATH = `${binDir}${path.delimiter}${currentPath}`;
|
|
319
330
|
}
|
|
320
331
|
}
|
|
321
|
-
console.
|
|
332
|
+
console.error(`[broker] Starting: ${resolvedBinary} ${args.join(' ')}`);
|
|
322
333
|
const child = spawn(resolvedBinary, args, {
|
|
323
334
|
cwd: this.options.cwd,
|
|
324
335
|
env,
|
|
@@ -359,7 +370,7 @@ export class AgentRelayClient {
|
|
|
359
370
|
});
|
|
360
371
|
});
|
|
361
372
|
const helloAck = await this.requestHello();
|
|
362
|
-
console.
|
|
373
|
+
console.error('[broker] Broker ready (hello handshake complete)');
|
|
363
374
|
if (helloAck.workspace_key) {
|
|
364
375
|
this.workspaceKey = helloAck.workspace_key;
|
|
365
376
|
}
|