agent-relay 14.0.0 → 15.0.0-next.1
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 +1 -1
- package/dist/cli/agent-relay-mcp.d.ts +1 -1
- package/dist/cli/agent-relay-mcp.d.ts.map +1 -1
- package/dist/cli/agent-relay-mcp.js +204 -11
- package/dist/cli/agent-relay-mcp.js.map +1 -1
- package/dist/cli/bootstrap.d.ts.map +1 -1
- package/dist/cli/bootstrap.js +19 -0
- package/dist/cli/bootstrap.js.map +1 -1
- package/dist/cli/commands/agent.d.ts +5 -1
- package/dist/cli/commands/agent.d.ts.map +1 -1
- package/dist/cli/commands/agent.js +50 -18
- package/dist/cli/commands/agent.js.map +1 -1
- package/dist/cli/commands/cloud.js +4 -4
- package/dist/cli/commands/cloud.js.map +1 -1
- package/dist/cli/commands/core.d.ts +14 -0
- package/dist/cli/commands/core.d.ts.map +1 -1
- package/dist/cli/commands/core.js +22 -1
- package/dist/cli/commands/core.js.map +1 -1
- package/dist/cli/commands/init.d.ts +54 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +669 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/integration-recipient.d.ts.map +1 -1
- package/dist/cli/commands/integration-recipient.js +9 -5
- package/dist/cli/commands/integration-recipient.js.map +1 -1
- package/dist/cli/commands/local-workflow.d.ts.map +1 -1
- package/dist/cli/commands/local-workflow.js +6 -8
- package/dist/cli/commands/local-workflow.js.map +1 -1
- package/dist/cli/commands/workspace.d.ts.map +1 -1
- package/dist/cli/commands/workspace.js +24 -1
- package/dist/cli/commands/workspace.js.map +1 -1
- package/dist/cli/lib/agent-takeover.d.ts +40 -0
- package/dist/cli/lib/agent-takeover.d.ts.map +1 -0
- package/dist/cli/lib/agent-takeover.js +91 -0
- package/dist/cli/lib/agent-takeover.js.map +1 -0
- package/dist/cli/lib/agent-token-store.d.ts +38 -0
- package/dist/cli/lib/agent-token-store.d.ts.map +1 -0
- package/dist/cli/lib/agent-token-store.js +91 -0
- package/dist/cli/lib/agent-token-store.js.map +1 -0
- package/dist/cli/lib/agent-tools-mcp.d.ts +167 -0
- package/dist/cli/lib/agent-tools-mcp.d.ts.map +1 -0
- package/dist/cli/lib/agent-tools-mcp.js +748 -0
- package/dist/cli/lib/agent-tools-mcp.js.map +1 -0
- package/dist/cli/lib/broker-lifecycle.d.ts +1 -2
- package/dist/cli/lib/broker-lifecycle.d.ts.map +1 -1
- package/dist/cli/lib/broker-lifecycle.js +6 -52
- package/dist/cli/lib/broker-lifecycle.js.map +1 -1
- package/dist/cli/lib/core-maintenance.d.ts +10 -0
- package/dist/cli/lib/core-maintenance.d.ts.map +1 -1
- package/dist/cli/lib/core-maintenance.js +81 -19
- package/dist/cli/lib/core-maintenance.js.map +1 -1
- package/dist/cli/lib/init-prompts.d.ts +56 -0
- package/dist/cli/lib/init-prompts.d.ts.map +1 -0
- package/dist/cli/lib/init-prompts.js +54 -0
- package/dist/cli/lib/init-prompts.js.map +1 -0
- package/dist/cli/lib/locked-json-file.d.ts +16 -0
- package/dist/cli/lib/locked-json-file.d.ts.map +1 -0
- package/dist/cli/lib/locked-json-file.js +111 -0
- package/dist/cli/lib/locked-json-file.js.map +1 -0
- package/dist/cli/lib/mcp-session-name.d.ts +42 -0
- package/dist/cli/lib/mcp-session-name.d.ts.map +1 -0
- package/dist/cli/lib/mcp-session-name.js +91 -0
- package/dist/cli/lib/mcp-session-name.js.map +1 -0
- package/dist/cli/lib/node-definition-loader.d.ts +0 -7
- package/dist/cli/lib/node-definition-loader.d.ts.map +1 -1
- package/dist/cli/lib/node-definition-loader.js +0 -10
- package/dist/cli/lib/node-definition-loader.js.map +1 -1
- package/dist/cli/lib/node-provider-child.d.ts +3 -4
- package/dist/cli/lib/node-provider-child.d.ts.map +1 -1
- package/dist/cli/lib/node-provider-child.js +2 -2
- package/dist/cli/lib/node-provider-child.js.map +1 -1
- package/dist/cli/lib/relaycast-engine-install.d.ts +81 -0
- package/dist/cli/lib/relaycast-engine-install.d.ts.map +1 -0
- package/dist/cli/lib/relaycast-engine-install.js +203 -0
- package/dist/cli/lib/relaycast-engine-install.js.map +1 -0
- package/dist/cli/lib/relaycast-origin-binding.d.ts +103 -0
- package/dist/cli/lib/relaycast-origin-binding.d.ts.map +1 -0
- package/dist/cli/lib/relaycast-origin-binding.js +277 -0
- package/dist/cli/lib/relaycast-origin-binding.js.map +1 -0
- package/dist/cli/lib/sdk-client.d.ts +8 -0
- package/dist/cli/lib/sdk-client.d.ts.map +1 -1
- package/dist/cli/lib/sdk-client.js +83 -8
- package/dist/cli/lib/sdk-client.js.map +1 -1
- package/dist/cli/lib/sdk-command.d.ts.map +1 -1
- package/dist/cli/lib/sdk-command.js +7 -1
- package/dist/cli/lib/sdk-command.js.map +1 -1
- package/dist/cli/lib/self-update.d.ts +94 -0
- package/dist/cli/lib/self-update.d.ts.map +1 -0
- package/dist/cli/lib/self-update.js +244 -0
- package/dist/cli/lib/self-update.js.map +1 -0
- package/dist/cli/mcp/types.d.ts +14 -0
- package/dist/cli/mcp/types.d.ts.map +1 -1
- package/dist/cli/telemetry/events.d.ts +4 -2
- package/dist/cli/telemetry/events.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/package.json +11 -10
package/README.md
CHANGED
|
@@ -634,7 +634,7 @@ of polling `gh`. `--to self` cannot be combined with `--spawn`.
|
|
|
634
634
|
|
|
635
635
|
`local` remains as a deprecated hidden alias of `node` (it prints a one-time warning).
|
|
636
636
|
|
|
637
|
-
Node workflow runs use Relayflows for YAML
|
|
637
|
+
Node workflow runs use Relayflows for YAML and TypeScript workflow files.
|
|
638
638
|
|
|
639
639
|
Hosted equivalents live under `agent-relay cloud …`.
|
|
640
640
|
|
|
@@ -3,7 +3,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
3
3
|
import type { AgentRelayMcpServerOptions, AgentType, RegistrationSession, RelayCastLike, SessionSetter } from './mcp/types.js';
|
|
4
4
|
export type { AgentRelayMcpServerOptions } from './mcp/types.js';
|
|
5
5
|
export declare const AGENT_RELAY_MCP_VERSION: string;
|
|
6
|
-
export declare const AGENT_RELAY_MCP_INSTRUCTIONS = "You are an AI agent in a collaborative workspace powered by Agent Relay. You can communicate with other agents using these MCP tools:\n\n## Coordination rule\n- When the user asks you to work with, contact, coordinate with, or wait for named participants that already exist in this Agent Relay workspace, use Agent Relay tools such as \"list_agents\", \"send_dm\", \"post_message\", and \"check_inbox\".\n- Existing Relay participants are not local or built-in subagents. Do not replace them with your CLI's native subagent, team, task, or collaboration feature.\n- Do not claim to have contacted or waited for a Relay participant unless the corresponding Relay tool call succeeded.\n\n## Getting Started\n1. The current project workspace is resumed automatically when one was selected before\n2. Call \"create_workspace\" only when you explicitly want to start a new workspace session\n3. If someone shared an existing workspace key with you, call \"set_workspace_key\"\n4. When a workspace key is available at startup, this MCP server
|
|
6
|
+
export declare const AGENT_RELAY_MCP_INSTRUCTIONS = "You are an AI agent in a collaborative workspace powered by Agent Relay. You can communicate with other agents using these MCP tools:\n\n## Coordination rule\n- When the user asks you to work with, contact, coordinate with, or wait for named participants that already exist in this Agent Relay workspace, use Agent Relay tools such as \"list_agents\", \"send_dm\", \"post_message\", and \"check_inbox\".\n- Existing Relay participants are not local or built-in subagents. Do not replace them with your CLI's native subagent, team, task, or collaboration feature.\n- Do not claim to have contacted or waited for a Relay participant unless the corresponding Relay tool call succeeded.\n\n## Getting Started\n1. The current project workspace is resumed automatically when one was selected before\n2. Call \"create_workspace\" only when you explicitly want to start a new workspace session\n3. If someone shared an existing workspace key with you, call \"set_workspace_key\"\n4. When a workspace key is available at startup, this MCP server registers the session automatically: as RELAY_AGENT_NAME when it is set, otherwise as your tool plus the project folder (for example \"claude-myproject\", with a short suffix when another live session holds that name). Call \"register_agent\" to choose a different name, or to join when no workspace key was available\n5. Use \"list_channels\" to see available channels\n6. Use \"join_channel\" to join channels of interest\n7. Use \"check_inbox\" to see unread messages and mentions\n\n## Communication\n- Post messages to channels with \"post_message\"\n- Send direct messages with \"send_dm\"\n- Reply to threads with \"reply_to_thread\"\n- React to messages with \"add_reaction\"\n\n## Fleet\n- Use \"query_nodes\" to find fleet nodes by capability or name\n- Use \"spawn\" with either a CLI or an AgentWorkforce persona to invoke the fleet spawn action on an eligible node\n- Persona spawns require a node exposing \"spawn:persona\" through @agentworkforce/local-surface's defineWorkforcePersonaSpawnNode\n\n## Best Practices\n- Check your inbox regularly for new messages and mentions\n- Use channels for topic-based discussions\n- Use threads for detailed discussions to keep channels organized\n- React with emoji to acknowledge messages\n- Keep messages concise and actionable";
|
|
7
7
|
type RegisterAgentWithRebindArgs = {
|
|
8
8
|
session: RegistrationSession;
|
|
9
9
|
setSession: SessionSetter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-relay-mcp.d.ts","sourceRoot":"","sources":["../../src/cli/agent-relay-mcp.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-relay-mcp.d.ts","sourceRoot":"","sources":["../../src/cli/agent-relay-mcp.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+DpE,OAAO,KAAK,EAEV,0BAA0B,EAC1B,SAAS,EAGT,mBAAmB,EACnB,aAAa,EACb,aAAa,EAEd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAEjE,eAAO,MAAM,uBAAuB,QACuC,CAAC;AAoU5E,eAAO,MAAM,4BAA4B,uxEAgCF,CAAC;AAiBxC,KAAK,2BAA2B,GAAG;IACjC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,EAAE,aAAa,CAAC;IAC1B,QAAQ,EAAE,MAAM,aAAa,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,gFAAgF;IAChF,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAcF;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASrE;AAqCD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAOjE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAMnF;AAsID,wBAAsB,uBAAuB,CAAC,EAC5C,OAAO,EACP,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,qBAAqB,GACtB,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+FhE;AA22BD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,SAAS,CA0OxF;AAqMD,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,0BAA0B,CAAC,CA0BrC;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChG;AAED,wBAAgB,cAAc,IAAI,0BAA0B,CAkD3D"}
|
|
@@ -7,11 +7,14 @@ import { fileURLToPath } from 'node:url';
|
|
|
7
7
|
import { isDeepStrictEqual } from 'node:util';
|
|
8
8
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
9
9
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
10
|
-
import { ListToolsRequestSchema, SubscribeRequestSchema, UnsubscribeRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
10
|
+
import { CallToolRequestSchema, InitializeRequestSchema, ListToolsRequestSchema, SubscribeRequestSchema, UnsubscribeRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
11
11
|
import { AgentRelay, RELAYCAST_SDK_VERSION, createAgentClient, createObserverToken, createRealtimeClient, createWorkspaceClient, isInvalidAgentTokenError, safeRelayErrorMessage, } from '@agent-relay/sdk';
|
|
12
12
|
import { z } from 'zod';
|
|
13
13
|
import { declaredWorkforceMetadata } from './lib/registration-metadata.js';
|
|
14
14
|
import { isBundledBunEntrypointPath } from './lib/agent-relay-mcp-command.js';
|
|
15
|
+
import { guardCredentialOrigin } from './lib/relaycast-origin-binding.js';
|
|
16
|
+
import { isAgentAlreadyExists, takeOverAgent } from './lib/agent-takeover.js';
|
|
17
|
+
import { pickAvailableName, sessionBaseName } from './lib/mcp-session-name.js';
|
|
15
18
|
import { DEFAULT_AGENT_REGISTRATION_TIMEOUT_MS, withAgentRegistrationDeadline, withDeadline, } from './lib/agent-registration.js';
|
|
16
19
|
import { attributableReleaseReason } from './lib/release-reason.js';
|
|
17
20
|
import { sanitizedSpawnReceipt, spawnPlacementReceipt, } from './lib/spawn-lifecycle.js';
|
|
@@ -283,7 +286,7 @@ export const AGENT_RELAY_MCP_INSTRUCTIONS = `You are an AI agent in a collaborat
|
|
|
283
286
|
1. The current project workspace is resumed automatically when one was selected before
|
|
284
287
|
2. Call "create_workspace" only when you explicitly want to start a new workspace session
|
|
285
288
|
3. If someone shared an existing workspace key with you, call "set_workspace_key"
|
|
286
|
-
4. When a workspace key is available at startup, this MCP server
|
|
289
|
+
4. When a workspace key is available at startup, this MCP server registers the session automatically: as RELAY_AGENT_NAME when it is set, otherwise as your tool plus the project folder (for example "claude-myproject", with a short suffix when another live session holds that name). Call "register_agent" to choose a different name, or to join when no workspace key was available
|
|
287
290
|
5. Use "list_channels" to see available channels
|
|
288
291
|
6. Use "join_channel" to join channels of interest
|
|
289
292
|
7. Use "check_inbox" to see unread messages and mentions
|
|
@@ -1425,8 +1428,185 @@ export function createAgentRelayMcpServer(options) {
|
|
|
1425
1428
|
return result;
|
|
1426
1429
|
});
|
|
1427
1430
|
}
|
|
1431
|
+
if (options.autoRegister) {
|
|
1432
|
+
installSessionAutoRegistration(mcpServer, handlers, options.autoRegister, {
|
|
1433
|
+
getSession,
|
|
1434
|
+
setSession,
|
|
1435
|
+
getRelay,
|
|
1436
|
+
agentType: options.agentType,
|
|
1437
|
+
baseUrl: options.baseUrl,
|
|
1438
|
+
});
|
|
1439
|
+
}
|
|
1428
1440
|
return mcpServer;
|
|
1429
1441
|
}
|
|
1442
|
+
const RELAYCAST_HOSTED_ORIGIN = 'https://cast.agentrelay.com';
|
|
1443
|
+
/** Under Relaycast's 60s presence TTL, with room for one missed beat. */
|
|
1444
|
+
const SESSION_HEARTBEAT_MS = 25_000;
|
|
1445
|
+
/** How an auto-registered session marks itself offline when it ends. */
|
|
1446
|
+
const sessionDisconnectors = new WeakMap();
|
|
1447
|
+
/**
|
|
1448
|
+
* Names of the sessions connected right now. The presence endpoint tracks
|
|
1449
|
+
* live connections (a session that exits drops out within its heartbeat TTL,
|
|
1450
|
+
* at once when it disconnects cleanly), where the roster's `online` filter
|
|
1451
|
+
* keeps a registration for minutes after its process is gone.
|
|
1452
|
+
*/
|
|
1453
|
+
async function liveAgentNames(relay, workspaceKey, baseUrl, fetchImpl) {
|
|
1454
|
+
const live = new Set();
|
|
1455
|
+
try {
|
|
1456
|
+
const response = await fetchImpl(new URL('/v1/agents/presence', baseUrl ?? RELAYCAST_HOSTED_ORIGIN), {
|
|
1457
|
+
headers: { authorization: `Bearer ${workspaceKey}` },
|
|
1458
|
+
signal: AbortSignal.timeout(5_000),
|
|
1459
|
+
});
|
|
1460
|
+
if (response.ok) {
|
|
1461
|
+
const body = (await response.json());
|
|
1462
|
+
if (Array.isArray(body.data)) {
|
|
1463
|
+
for (const entry of body.data) {
|
|
1464
|
+
if (entry?.status === 'online' && typeof entry.agent_name === 'string')
|
|
1465
|
+
live.add(entry.agent_name);
|
|
1466
|
+
}
|
|
1467
|
+
return live;
|
|
1468
|
+
}
|
|
1469
|
+
}
|
|
1470
|
+
}
|
|
1471
|
+
catch {
|
|
1472
|
+
// Fall back to the roster below.
|
|
1473
|
+
}
|
|
1474
|
+
try {
|
|
1475
|
+
for (const agent of await relay.agents.list({ status: 'online' })) {
|
|
1476
|
+
const name = agent?.name;
|
|
1477
|
+
if (typeof name === 'string')
|
|
1478
|
+
live.add(name);
|
|
1479
|
+
}
|
|
1480
|
+
}
|
|
1481
|
+
catch {
|
|
1482
|
+
// Without either, the base name is still the best guess.
|
|
1483
|
+
}
|
|
1484
|
+
return live;
|
|
1485
|
+
}
|
|
1486
|
+
/**
|
|
1487
|
+
* Register a session that has no configured name as soon as the MCP client
|
|
1488
|
+
* says who it is. The name comes from `clientInfo.name` and the folder the
|
|
1489
|
+
* tool started in (`claude-myproject`); a live session already holding it
|
|
1490
|
+
* pushes this one to `claude-myproject-2`. Tool calls wait for the
|
|
1491
|
+
* registration, so the first call never races it.
|
|
1492
|
+
*/
|
|
1493
|
+
function installSessionAutoRegistration(mcpServer, handlers, autoRegister, ctx) {
|
|
1494
|
+
const fetchImpl = autoRegister.fetch ?? globalThis.fetch;
|
|
1495
|
+
let pending = null;
|
|
1496
|
+
const register = async (clientName) => {
|
|
1497
|
+
const base = sessionBaseName({ clientName, hint: autoRegister.clientHint, cwd: autoRegister.cwd });
|
|
1498
|
+
const workspaceKey = ctx.getSession().workspaceKey;
|
|
1499
|
+
const live = await liveAgentNames(ctx.getRelay(), workspaceKey, ctx.baseUrl, fetchImpl);
|
|
1500
|
+
const name = pickAvailableName(base, live);
|
|
1501
|
+
let token;
|
|
1502
|
+
let registeredName;
|
|
1503
|
+
try {
|
|
1504
|
+
const payload = await registerAgentWithRebind({
|
|
1505
|
+
session: ctx.getSession(),
|
|
1506
|
+
setSession: ctx.setSession,
|
|
1507
|
+
getRelay: ctx.getRelay,
|
|
1508
|
+
name,
|
|
1509
|
+
type: ctx.agentType ?? 'agent',
|
|
1510
|
+
});
|
|
1511
|
+
token = typeof payload.token === 'string' ? payload.token : null;
|
|
1512
|
+
registeredName = typeof payload.registered_name === 'string' ? payload.registered_name : null;
|
|
1513
|
+
}
|
|
1514
|
+
catch (error) {
|
|
1515
|
+
// The name belongs to an earlier session of this tool in this folder
|
|
1516
|
+
// that is no longer connected (a restart): resume that identity.
|
|
1517
|
+
if (!isAgentAlreadyExists(error))
|
|
1518
|
+
throw error;
|
|
1519
|
+
const grant = await takeOverAgent({ workspaceKey, baseUrl: ctx.baseUrl, fetch: fetchImpl }, name, 'agent-relay mcp: resume the identity of an earlier session of this tool in this folder');
|
|
1520
|
+
token = grant.token;
|
|
1521
|
+
registeredName = grant.name;
|
|
1522
|
+
}
|
|
1523
|
+
if (token && registeredName) {
|
|
1524
|
+
const agents = new Map(ctx.getSession().agents);
|
|
1525
|
+
agents.set(registeredName, createRegisteredAgent(registeredName, token));
|
|
1526
|
+
ctx.setSession({ agentToken: token, agentName: registeredName, agents });
|
|
1527
|
+
startHeartbeat();
|
|
1528
|
+
}
|
|
1529
|
+
};
|
|
1530
|
+
// Keep this session present while it runs, so the next session in the same
|
|
1531
|
+
// folder sees the name is taken. Presence lapses about a minute after the
|
|
1532
|
+
// last beat, which is how a crashed session frees its name.
|
|
1533
|
+
let heartbeat;
|
|
1534
|
+
const beat = () => {
|
|
1535
|
+
const token = ctx.getSession().agentToken;
|
|
1536
|
+
if (!token)
|
|
1537
|
+
return;
|
|
1538
|
+
void fetchImpl(new URL('/v1/agents/heartbeat', ctx.baseUrl ?? RELAYCAST_HOSTED_ORIGIN), {
|
|
1539
|
+
method: 'POST',
|
|
1540
|
+
headers: { authorization: `Bearer ${token}` },
|
|
1541
|
+
signal: AbortSignal.timeout(5_000),
|
|
1542
|
+
}).catch(() => undefined);
|
|
1543
|
+
};
|
|
1544
|
+
const startHeartbeat = () => {
|
|
1545
|
+
if (heartbeat)
|
|
1546
|
+
return;
|
|
1547
|
+
beat();
|
|
1548
|
+
heartbeat = setInterval(beat, SESSION_HEARTBEAT_MS);
|
|
1549
|
+
heartbeat.unref?.();
|
|
1550
|
+
};
|
|
1551
|
+
// Read clientInfo from the initialize request itself, and start right after
|
|
1552
|
+
// answering it, so nothing depends on the order a client's messages land in.
|
|
1553
|
+
const initialize = handlers.get('initialize');
|
|
1554
|
+
if (initialize) {
|
|
1555
|
+
mcpServer.server.setRequestHandler(InitializeRequestSchema, async (req, extra) => {
|
|
1556
|
+
const result = await initialize(req, extra);
|
|
1557
|
+
const session = ctx.getSession();
|
|
1558
|
+
if (!pending && session.workspaceKey && !session.agentToken) {
|
|
1559
|
+
pending = register(req.params.clientInfo?.name).catch((error) => {
|
|
1560
|
+
process.stderr.write(`[agent-relay] Could not register this session automatically (${safeRelayErrorMessage(error)}). ` +
|
|
1561
|
+
'Call "register_agent" to join the workspace.\n');
|
|
1562
|
+
});
|
|
1563
|
+
}
|
|
1564
|
+
return result;
|
|
1565
|
+
});
|
|
1566
|
+
}
|
|
1567
|
+
const callTool = handlers.get('tools/call');
|
|
1568
|
+
if (callTool) {
|
|
1569
|
+
mcpServer.server.setRequestHandler(CallToolRequestSchema, async (req, extra) => {
|
|
1570
|
+
if (pending)
|
|
1571
|
+
await pending;
|
|
1572
|
+
return (await callTool(req, extra));
|
|
1573
|
+
});
|
|
1574
|
+
}
|
|
1575
|
+
// Leave cleanly so the next session in this folder can take the name at once.
|
|
1576
|
+
sessionDisconnectors.set(mcpServer, async () => {
|
|
1577
|
+
if (heartbeat)
|
|
1578
|
+
clearInterval(heartbeat);
|
|
1579
|
+
const token = ctx.getSession().agentToken;
|
|
1580
|
+
if (!token)
|
|
1581
|
+
return;
|
|
1582
|
+
ctx.getSession().wsBridge?.stop();
|
|
1583
|
+
await fetchImpl(new URL('/v1/agents/disconnect', ctx.baseUrl ?? RELAYCAST_HOSTED_ORIGIN), {
|
|
1584
|
+
method: 'POST',
|
|
1585
|
+
headers: { authorization: `Bearer ${token}`, 'content-type': 'application/json' },
|
|
1586
|
+
body: '{}',
|
|
1587
|
+
signal: AbortSignal.timeout(2_000),
|
|
1588
|
+
}).catch(() => undefined);
|
|
1589
|
+
});
|
|
1590
|
+
}
|
|
1591
|
+
/**
|
|
1592
|
+
* Mark an auto-registered session offline when its tool stops it: stdin
|
|
1593
|
+
* closes (the MCP stdio shutdown) or the process is signalled.
|
|
1594
|
+
*/
|
|
1595
|
+
function disconnectSessionOnExit(mcpServer) {
|
|
1596
|
+
const disconnect = sessionDisconnectors.get(mcpServer);
|
|
1597
|
+
if (!disconnect)
|
|
1598
|
+
return;
|
|
1599
|
+
let closing = false;
|
|
1600
|
+
const shutdown = () => {
|
|
1601
|
+
if (closing)
|
|
1602
|
+
return;
|
|
1603
|
+
closing = true;
|
|
1604
|
+
void Promise.race([disconnect(), new Promise((resolve) => setTimeout(resolve, 2_500))]).finally(() => process.exit(0));
|
|
1605
|
+
};
|
|
1606
|
+
process.stdin.once('end', shutdown);
|
|
1607
|
+
for (const signal of ['SIGTERM', 'SIGINT', 'SIGHUP'])
|
|
1608
|
+
process.once(signal, shutdown);
|
|
1609
|
+
}
|
|
1430
1610
|
/** Relaycast agent tokens are opaque `at_live_<hex>` literals. Anything else
|
|
1431
1611
|
* (for example a RelayAuth JWT carried in RELAY_AGENT_TOKEN by `relay on start`)
|
|
1432
1612
|
* is not a valid Relaycast credential and must be replaced. */
|
|
@@ -1493,6 +1673,7 @@ export async function startAgentRelayMcpStdio(options) {
|
|
|
1493
1673
|
});
|
|
1494
1674
|
const transport = new StdioServerTransport();
|
|
1495
1675
|
await mcpServer.connect(transport);
|
|
1676
|
+
disconnectSessionOnExit(mcpServer);
|
|
1496
1677
|
}
|
|
1497
1678
|
export function optionsFromEnv() {
|
|
1498
1679
|
let workspaceKey = resolveEnv('RELAY_WORKSPACE_KEY') ??
|
|
@@ -1514,21 +1695,33 @@ export function optionsFromEnv() {
|
|
|
1514
1695
|
// session can still be selected explicitly with set_workspace_key.
|
|
1515
1696
|
}
|
|
1516
1697
|
}
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1698
|
+
// With no configured name the session is named after the MCP client and the
|
|
1699
|
+
// project folder once the client connects (see installSessionAutoRegistration),
|
|
1700
|
+
// so two sessions never share one identity.
|
|
1701
|
+
const agentName = resolveEnv('RELAY_AGENT_NAME') ?? resolveEnv('RELAY_CLAW_NAME');
|
|
1702
|
+
// An agent token has no workspace identity encoded locally. Only reuse it
|
|
1703
|
+
// when the workspace was selected alongside it through the environment;
|
|
1704
|
+
// a persisted project/store fallback must register into that workspace
|
|
1705
|
+
// instead of silently pairing it with a possibly stale ambient token.
|
|
1706
|
+
const agentToken = resumedPersistedWorkspace ? undefined : resolveEnv('RELAY_AGENT_TOKEN');
|
|
1707
|
+
// The same rule as the CLI: a credential bound to a self-hosted or local
|
|
1708
|
+
// server (by `relay init`, `workspace join`, …) only ever goes back to it,
|
|
1709
|
+
// so the MCP server never sends it to the hosted default.
|
|
1710
|
+
const credential = workspaceKey ?? agentToken;
|
|
1711
|
+
const baseUrl = credential
|
|
1712
|
+
? guardCredentialOrigin(credential, resolveEnv('RELAY_BASE_URL'))
|
|
1713
|
+
: resolveEnv('RELAY_BASE_URL');
|
|
1520
1714
|
return {
|
|
1521
1715
|
workspaceKey,
|
|
1522
|
-
baseUrl
|
|
1523
|
-
|
|
1524
|
-
// when the workspace was selected alongside it through the environment;
|
|
1525
|
-
// a persisted project/store fallback must register into that workspace
|
|
1526
|
-
// instead of silently pairing it with a possibly stale ambient token.
|
|
1527
|
-
agentToken: resumedPersistedWorkspace ? undefined : resolveEnv('RELAY_AGENT_TOKEN'),
|
|
1716
|
+
baseUrl,
|
|
1717
|
+
agentToken,
|
|
1528
1718
|
agentName,
|
|
1529
1719
|
agentType: normalizeAgentType(resolveEnv('RELAY_AGENT_TYPE')),
|
|
1530
1720
|
strictAgentName: envFlagEnabled(resolveEnv('RELAY_STRICT_AGENT_NAME')),
|
|
1531
1721
|
skipBootstrap: envFlagEnabled(resolveEnv('RELAY_SKIP_BOOTSTRAP')),
|
|
1722
|
+
autoRegister: workspaceKey && !agentName && !agentToken
|
|
1723
|
+
? { cwd: process.cwd(), clientHint: resolveEnv('AGENT_RELAY_CLIENT') }
|
|
1724
|
+
: undefined,
|
|
1532
1725
|
};
|
|
1533
1726
|
}
|
|
1534
1727
|
if (isEntrypoint()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-relay-mcp.js","sourceRoot":"","sources":["../../src/cli/agent-relay-mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-relay-mcp.js","sourceRoot":"","sources":["../../src/cli/agent-relay-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/cli/bootstrap.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkFpC,eAAO,MAAM,OAAO,QAAsB,CAAC;AAkB3C,eAAO,MAAM,WAAW,oBAAsB,CAAC;AA6D/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAiD5D;AAkJD,wBAAgB,aAAa,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAyEtE;AAoDD,wBAAsB,MAAM,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CA2E5E"}
|
package/dist/cli/bootstrap.js
CHANGED
|
@@ -6,6 +6,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
6
6
|
import { Command } from 'commander';
|
|
7
7
|
import { config as dotenvConfig } from 'dotenv';
|
|
8
8
|
import { checkForUpdatesInBackground } from '@agent-relay/utils';
|
|
9
|
+
import { ensureCanonicalBroker } from '@agent-relay/harness-driver/broker-install';
|
|
9
10
|
import { redactCredentialValues } from '@agent-relay/cloud';
|
|
10
11
|
import { cloudIdentityEnv, readStoredIdentitySync, IDENTITY_ENV_KEYS, } from '@agent-relay/cloud/identity';
|
|
11
12
|
import { MACHINE_ID_ENV, ORCHESTRATOR_HARNESS_ENV, detectOrchestratorHarness, getDistinctId, initTelemetry, isEnabled as isTelemetryEnabled, shutdown as shutdownTelemetry, track, } from './telemetry/index.js';
|
|
@@ -22,6 +23,7 @@ import { registerLocalAgentCommands } from './commands/local-agent.js';
|
|
|
22
23
|
import { registerLocalWorkflowCommands } from './commands/local-workflow.js';
|
|
23
24
|
import { registerCloudCommands } from './commands/cloud.js';
|
|
24
25
|
import { registerWorkspaceCommands } from './commands/workspace.js';
|
|
26
|
+
import { registerInitCommand } from './commands/init.js';
|
|
25
27
|
import { registerObserverCommands } from './commands/observer.js';
|
|
26
28
|
import { registerAgentCommands } from './commands/agent.js';
|
|
27
29
|
import { registerChannelCommands } from './commands/channel.js';
|
|
@@ -353,6 +355,7 @@ export function createProgram(options = {}) {
|
|
|
353
355
|
registerStatusCommand(program);
|
|
354
356
|
registerSetupCommands(program);
|
|
355
357
|
registerCloudCommands(program);
|
|
358
|
+
registerInitCommand(program);
|
|
356
359
|
registerWorkspaceCommands(program);
|
|
357
360
|
registerObserverCommands(program);
|
|
358
361
|
registerAgentCommands(program);
|
|
@@ -379,6 +382,21 @@ export function createProgram(options = {}) {
|
|
|
379
382
|
});
|
|
380
383
|
return program;
|
|
381
384
|
}
|
|
385
|
+
/**
|
|
386
|
+
* npm installs ship the broker inside node_modules. On first run, copy it into
|
|
387
|
+
* the canonical bin directory (~/.agentworkforce/relay/bin) so the CLI, the
|
|
388
|
+
* broker it launches and the desktop app share one binary. Done here rather
|
|
389
|
+
* than in a postinstall script because many users install with ignore-scripts.
|
|
390
|
+
* Best effort: a failure leaves the npm broker as the resolver's fallback.
|
|
391
|
+
*/
|
|
392
|
+
function convergeBrokerInstall() {
|
|
393
|
+
try {
|
|
394
|
+
ensureCanonicalBroker();
|
|
395
|
+
}
|
|
396
|
+
catch {
|
|
397
|
+
// ensureCanonicalBroker never throws; this guards the import boundary.
|
|
398
|
+
}
|
|
399
|
+
}
|
|
382
400
|
function maybeRunUpdateCheck(version, argv) {
|
|
383
401
|
const commandName = argv[2];
|
|
384
402
|
if (!commandName || !UPDATE_CHECK_COMMANDS.has(commandName))
|
|
@@ -412,6 +430,7 @@ function collectTopLevelVerbs(program) {
|
|
|
412
430
|
export async function runCli(argv = process.argv) {
|
|
413
431
|
assertSupportedNodeVersion();
|
|
414
432
|
ensureWebSocketGlobal();
|
|
433
|
+
convergeBrokerInstall();
|
|
415
434
|
maybeRunUpdateCheck(VERSION, argv);
|
|
416
435
|
const orchestratorHarness = propagateTelemetryContextToChildren();
|
|
417
436
|
if (!shouldSkipTelemetryInit(argv)) {
|