agent-relay 12.4.0 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/agent-relay-mcp.d.ts.map +1 -1
- package/dist/cli/agent-relay-mcp.js +58 -7
- package/dist/cli/agent-relay-mcp.js.map +1 -1
- package/dist/cli/bootstrap.d.ts.map +1 -1
- package/dist/cli/bootstrap.js +6 -2
- package/dist/cli/bootstrap.js.map +1 -1
- package/dist/cli/commands/core.d.ts +2 -0
- package/dist/cli/commands/core.d.ts.map +1 -1
- package/dist/cli/commands/core.js.map +1 -1
- package/dist/cli/commands/fleet.d.ts +2 -0
- package/dist/cli/commands/fleet.d.ts.map +1 -1
- package/dist/cli/commands/fleet.js +89 -28
- package/dist/cli/commands/fleet.js.map +1 -1
- package/dist/cli/commands/integration.d.ts +15 -0
- package/dist/cli/commands/integration.d.ts.map +1 -1
- package/dist/cli/commands/integration.js +149 -6
- package/dist/cli/commands/integration.js.map +1 -1
- package/dist/cli/commands/product-surfaces.d.ts.map +1 -1
- package/dist/cli/commands/product-surfaces.js +6 -1
- package/dist/cli/commands/product-surfaces.js.map +1 -1
- package/dist/cli/lib/attach-fleet-node.d.ts +37 -0
- package/dist/cli/lib/attach-fleet-node.d.ts.map +1 -1
- package/dist/cli/lib/attach-fleet-node.js +143 -13
- package/dist/cli/lib/attach-fleet-node.js.map +1 -1
- package/dist/cli/lib/broker-lifecycle.d.ts.map +1 -1
- package/dist/cli/lib/broker-lifecycle.js +15 -3
- package/dist/cli/lib/broker-lifecycle.js.map +1 -1
- package/dist/cli/lib/fleet-sidecar.d.ts +18 -6
- package/dist/cli/lib/fleet-sidecar.d.ts.map +1 -1
- package/dist/cli/lib/fleet-sidecar.js +25 -0
- package/dist/cli/lib/fleet-sidecar.js.map +1 -1
- package/dist/cli/lib/node-provider-child.d.ts +3 -2
- package/dist/cli/lib/node-provider-child.d.ts.map +1 -1
- package/dist/cli/lib/node-provider-child.js +25 -5
- package/dist/cli/lib/node-provider-child.js.map +1 -1
- package/dist/cli/lib/spawn-lifecycle.d.ts.map +1 -1
- package/dist/cli/lib/spawn-lifecycle.js +6 -3
- package/dist/cli/lib/spawn-lifecycle.js.map +1 -1
- package/dist/cli/mcp/shared-sessions-client.d.ts +86 -0
- package/dist/cli/mcp/shared-sessions-client.d.ts.map +1 -0
- package/dist/cli/mcp/shared-sessions-client.js +329 -0
- package/dist/cli/mcp/shared-sessions-client.js.map +1 -0
- package/dist/cli/mcp/types.d.ts +8 -0
- package/dist/cli/mcp/types.d.ts.map +1 -1
- package/dist/index.cjs +60 -36
- package/package.json +11 -11
|
@@ -24,9 +24,12 @@ export function spawnLifecycleState(value) {
|
|
|
24
24
|
const output = value.output !== null && typeof value.output === 'object'
|
|
25
25
|
? value.output
|
|
26
26
|
: value;
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
//
|
|
27
|
+
// Every caller of this receipt (MCP spawn, `fleet spawn --auto-place`)
|
|
28
|
+
// requires proven readiness. A terminal success without explicit launch and
|
|
29
|
+
// readiness proof is a failed spawn, not a live-but-uncertain one. Genuine
|
|
30
|
+
// uncertainty is reserved for non-terminal acknowledgements and confirmation
|
|
31
|
+
// timeouts. The unverified targeted path does not reach here: it keeps the
|
|
32
|
+
// SDK's own placement evidence (see `spawnInvocationWithMergedPlacement`).
|
|
30
33
|
return output.spawned === true && output.ready === true ? 'ready' : 'failed';
|
|
31
34
|
}
|
|
32
35
|
if (status && FAILURE.has(status))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-lifecycle.js","sourceRoot":"","sources":["../../../src/cli/lib/spawn-lifecycle.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AACjE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEtD,SAAS,IAAI,CAAC,KAAc;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA8B;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACjD,IACE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QAC3B,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EACzE,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAChF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAA8B;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACjD,IAAI,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YACvD,CAAC,CAAE,KAAK,CAAC,MAAkC;YAC3C,CAAC,CAAC,KAAK,CAAC;QACZ,2EAA2E;QAC3E,
|
|
1
|
+
{"version":3,"file":"spawn-lifecycle.js","sourceRoot":"","sources":["../../../src/cli/lib/spawn-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { type CloudSession } from '@agent-relay/cloud';
|
|
2
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
|
+
import { type CallToolResult, type Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
export declare const SHARED_SESSIONS_MCP_PATH = "/api/v1/mcp/shared-sessions";
|
|
5
|
+
export declare const SHARED_SESSION_TOOL_NAMES: Set<string>;
|
|
6
|
+
type CloudSessionResolver = (options: {
|
|
7
|
+
interactive: false;
|
|
8
|
+
validateApiUrl: (apiUrl: string) => void;
|
|
9
|
+
}) => Promise<CloudSession>;
|
|
10
|
+
export interface SharedSessionsMcpClientOptions {
|
|
11
|
+
ensureSession?: CloudSessionResolver;
|
|
12
|
+
}
|
|
13
|
+
export interface SharedSessionsMcpClientLike {
|
|
14
|
+
listTools(): Promise<Tool[]>;
|
|
15
|
+
callTool(name: string, args: Record<string, unknown>): Promise<CallToolResult>;
|
|
16
|
+
/** Terminally cancel discovery/calls and release any hosted MCP transport. */
|
|
17
|
+
close?(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
/** Error shown by the stdio MCP server when no reusable Cloud login exists. */
|
|
20
|
+
export declare class SharedSessionsCloudAuthError extends Error {
|
|
21
|
+
constructor(cause: unknown);
|
|
22
|
+
}
|
|
23
|
+
/** Error shown when the login is valid but cannot read the selected workspace history. */
|
|
24
|
+
export declare class SharedSessionsCloudPermissionError extends Error {
|
|
25
|
+
constructor(cause: unknown);
|
|
26
|
+
}
|
|
27
|
+
/** Error raised before Cloud credentials could be sent over an unsafe transport. */
|
|
28
|
+
export declare class SharedSessionsInsecureCloudUrlError extends Error {
|
|
29
|
+
constructor(cause?: unknown);
|
|
30
|
+
}
|
|
31
|
+
/** Error raised after a discovery client has been terminally cancelled. */
|
|
32
|
+
export declare class SharedSessionsMcpClientClosedError extends Error {
|
|
33
|
+
constructor();
|
|
34
|
+
}
|
|
35
|
+
/** Error raised when the configured Cloud deployment lacks part of the hosted MCP contract. */
|
|
36
|
+
export declare class SharedSessionsUnsupportedDeploymentError extends Error {
|
|
37
|
+
readonly missingTools: string[];
|
|
38
|
+
constructor(missingTools: string[]);
|
|
39
|
+
}
|
|
40
|
+
/** A sessions-only server is useful only when Cloud exposes the complete public toolset. */
|
|
41
|
+
export declare function requireCompleteSharedSessionToolset(tools: readonly Pick<Tool, 'name'>[]): void;
|
|
42
|
+
/**
|
|
43
|
+
* A small MCP-to-MCP client for the hosted shared-session surface.
|
|
44
|
+
*
|
|
45
|
+
* Cloud owns authentication and refresh. The MCP transport receives a custom
|
|
46
|
+
* fetch implementation backed by the existing Cloud API client, so every
|
|
47
|
+
* initialize/list/call request gets the current bearer after serialized token
|
|
48
|
+
* rotation. `interactive: false` is deliberate: an MCP stdio subprocess must
|
|
49
|
+
* never open a browser or block on device authorization.
|
|
50
|
+
*/
|
|
51
|
+
export declare class SharedSessionsMcpClient implements SharedSessionsMcpClientLike {
|
|
52
|
+
private readonly ensureSession;
|
|
53
|
+
private client;
|
|
54
|
+
private connectingClient;
|
|
55
|
+
private connectingTransport;
|
|
56
|
+
private connecting;
|
|
57
|
+
private closed;
|
|
58
|
+
private generation;
|
|
59
|
+
constructor(options?: SharedSessionsMcpClientOptions);
|
|
60
|
+
listTools(): Promise<Tool[]>;
|
|
61
|
+
callTool(name: string, args: Record<string, unknown>): Promise<CallToolResult>;
|
|
62
|
+
/**
|
|
63
|
+
* Terminally cancel this proxy client. State flips synchronously so a caller
|
|
64
|
+
* may intentionally fire-and-forget the returned cleanup promise on timeout.
|
|
65
|
+
*/
|
|
66
|
+
close(): Promise<void>;
|
|
67
|
+
private connectedClient;
|
|
68
|
+
private connect;
|
|
69
|
+
private actionableCloudError;
|
|
70
|
+
private assertOpen;
|
|
71
|
+
private isActive;
|
|
72
|
+
private assertActive;
|
|
73
|
+
}
|
|
74
|
+
/** Enforce TLS except for explicit loopback development endpoints. */
|
|
75
|
+
export declare function assertSharedSessionsCloudApiUrl(apiUrl: string): void;
|
|
76
|
+
/**
|
|
77
|
+
* Register the allowlisted hosted tools on the public MCP server API. Their
|
|
78
|
+
* schemas are fetched from Cloud, converted to Zod for local validation, and
|
|
79
|
+
* converted back by the MCP SDK for tools/list; no tool schema is duplicated
|
|
80
|
+
* in this package.
|
|
81
|
+
*/
|
|
82
|
+
export declare function registerSharedSessionTools(server: McpServer, client: SharedSessionsMcpClientLike, tools: Tool[], options?: {
|
|
83
|
+
strict: boolean;
|
|
84
|
+
}): void;
|
|
85
|
+
export {};
|
|
86
|
+
//# sourceMappingURL=shared-sessions-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-sessions-client.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/shared-sessions-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMxF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAGpF,eAAO,MAAM,wBAAwB,gCAAgC,CAAC;AAGtE,eAAO,MAAM,yBAAyB,aAIpC,CAAC;AAEH,KAAK,oBAAoB,GAAG,CAAC,OAAO,EAAE;IACpC,WAAW,EAAE,KAAK,CAAC;IACnB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAE5B,MAAM,WAAW,8BAA8B;IAC7C,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/E,8EAA8E;IAC9E,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,+EAA+E;AAC/E,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,KAAK,EAAE,OAAO;CAO3B;AAED,0FAA0F;AAC1F,qBAAa,kCAAmC,SAAQ,KAAK;gBAC/C,KAAK,EAAE,OAAO;CAO3B;AAED,oFAAoF;AACpF,qBAAa,mCAAoC,SAAQ,KAAK;gBAChD,KAAK,CAAC,EAAE,OAAO;CAO5B;AAED,2EAA2E;AAC3E,qBAAa,kCAAmC,SAAQ,KAAK;;CAK5D;AAED,+FAA+F;AAC/F,qBAAa,wCAAyC,SAAQ,KAAK;IACjE,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;gBAEpB,YAAY,EAAE,MAAM,EAAE;CAOnC;AAED,4FAA4F;AAC5F,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAI9F;AAED;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,YAAW,2BAA2B;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,mBAAmB,CAA4C;IACvE,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAK;gBAEX,OAAO,GAAE,8BAAmC;IAIlD,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAU5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAepF;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAmBR,eAAe;YAgBf,OAAO;IA0CrB,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,YAAY;CAGrB;AAkBD,sEAAsE;AACtE,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAepE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,2BAA2B,EACnC,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAqB,GAC9C,IAAI,CA2BN"}
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
import { ensureCloudSession, buildApiUrl } from '@agent-relay/cloud';
|
|
2
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
3
|
+
import { StreamableHTTPClientTransport, StreamableHTTPError, } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
export const SHARED_SESSIONS_MCP_PATH = '/api/v1/mcp/shared-sessions';
|
|
6
|
+
const HOSTED_MCP_TIMEOUT_MS = 15_000;
|
|
7
|
+
export const SHARED_SESSION_TOOL_NAMES = new Set([
|
|
8
|
+
'search_shared_sessions',
|
|
9
|
+
'get_shared_session',
|
|
10
|
+
'get_shared_session_context',
|
|
11
|
+
]);
|
|
12
|
+
/** Error shown by the stdio MCP server when no reusable Cloud login exists. */
|
|
13
|
+
export class SharedSessionsCloudAuthError extends Error {
|
|
14
|
+
constructor(cause) {
|
|
15
|
+
super('Shared sessions require a valid Cloud login. Run `agent-relay cloud login` (or `agent-relay cloud login --device` on a headless machine), then restart the MCP server.', { cause });
|
|
16
|
+
this.name = 'SharedSessionsCloudAuthError';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/** Error shown when the login is valid but cannot read the selected workspace history. */
|
|
20
|
+
export class SharedSessionsCloudPermissionError extends Error {
|
|
21
|
+
constructor(cause) {
|
|
22
|
+
super('Your Cloud login does not have permission to read shared sessions in this workspace. Switch to an authorized workspace or ask a workspace administrator for access.', { cause });
|
|
23
|
+
this.name = 'SharedSessionsCloudPermissionError';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** Error raised before Cloud credentials could be sent over an unsafe transport. */
|
|
27
|
+
export class SharedSessionsInsecureCloudUrlError extends Error {
|
|
28
|
+
constructor(cause) {
|
|
29
|
+
super('Shared sessions refuse to send Cloud credentials over an insecure API URL. Use HTTPS, or HTTP only for localhost, 127.0.0.1, or [::1].', { cause });
|
|
30
|
+
this.name = 'SharedSessionsInsecureCloudUrlError';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** Error raised after a discovery client has been terminally cancelled. */
|
|
34
|
+
export class SharedSessionsMcpClientClosedError extends Error {
|
|
35
|
+
constructor() {
|
|
36
|
+
super('Shared sessions Cloud discovery was cancelled.');
|
|
37
|
+
this.name = 'SharedSessionsMcpClientClosedError';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/** Error raised when the configured Cloud deployment lacks part of the hosted MCP contract. */
|
|
41
|
+
export class SharedSessionsUnsupportedDeploymentError extends Error {
|
|
42
|
+
missingTools;
|
|
43
|
+
constructor(missingTools) {
|
|
44
|
+
super(`The configured Cloud deployment does not support shared sessions yet (missing hosted MCP tools: ${missingTools.join(', ')}). Verify CLOUD_API_URL or update the Cloud deployment, then restart the MCP server.`);
|
|
45
|
+
this.name = 'SharedSessionsUnsupportedDeploymentError';
|
|
46
|
+
this.missingTools = missingTools;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** A sessions-only server is useful only when Cloud exposes the complete public toolset. */
|
|
50
|
+
export function requireCompleteSharedSessionToolset(tools) {
|
|
51
|
+
const discovered = new Set(tools.map((tool) => tool.name));
|
|
52
|
+
const missing = [...SHARED_SESSION_TOOL_NAMES].filter((name) => !discovered.has(name));
|
|
53
|
+
if (missing.length > 0)
|
|
54
|
+
throw new SharedSessionsUnsupportedDeploymentError(missing);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* A small MCP-to-MCP client for the hosted shared-session surface.
|
|
58
|
+
*
|
|
59
|
+
* Cloud owns authentication and refresh. The MCP transport receives a custom
|
|
60
|
+
* fetch implementation backed by the existing Cloud API client, so every
|
|
61
|
+
* initialize/list/call request gets the current bearer after serialized token
|
|
62
|
+
* rotation. `interactive: false` is deliberate: an MCP stdio subprocess must
|
|
63
|
+
* never open a browser or block on device authorization.
|
|
64
|
+
*/
|
|
65
|
+
export class SharedSessionsMcpClient {
|
|
66
|
+
ensureSession;
|
|
67
|
+
client;
|
|
68
|
+
connectingClient;
|
|
69
|
+
connectingTransport;
|
|
70
|
+
connecting;
|
|
71
|
+
closed = false;
|
|
72
|
+
generation = 0;
|
|
73
|
+
constructor(options = {}) {
|
|
74
|
+
this.ensureSession = options.ensureSession ?? ((authOptions) => ensureCloudSession(authOptions));
|
|
75
|
+
}
|
|
76
|
+
async listTools() {
|
|
77
|
+
try {
|
|
78
|
+
const client = await this.connectedClient();
|
|
79
|
+
const response = await client.listTools(undefined, { timeout: HOSTED_MCP_TIMEOUT_MS });
|
|
80
|
+
return response.tools.filter((tool) => SHARED_SESSION_TOOL_NAMES.has(tool.name));
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
throw this.actionableCloudError(error);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async callTool(name, args) {
|
|
87
|
+
if (!SHARED_SESSION_TOOL_NAMES.has(name)) {
|
|
88
|
+
throw new Error(`Hosted shared sessions does not expose the tool "${name}".`);
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
const client = await this.connectedClient();
|
|
92
|
+
return (await client.callTool({ name, arguments: args }, undefined, {
|
|
93
|
+
timeout: HOSTED_MCP_TIMEOUT_MS,
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
throw this.actionableCloudError(error);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Terminally cancel this proxy client. State flips synchronously so a caller
|
|
102
|
+
* may intentionally fire-and-forget the returned cleanup promise on timeout.
|
|
103
|
+
*/
|
|
104
|
+
close() {
|
|
105
|
+
if (this.closed && !this.client && !this.connectingClient && !this.connectingTransport) {
|
|
106
|
+
return Promise.resolve();
|
|
107
|
+
}
|
|
108
|
+
this.closed = true;
|
|
109
|
+
this.generation += 1;
|
|
110
|
+
const clients = [...new Set([this.client, this.connectingClient].filter(Boolean))];
|
|
111
|
+
const orphanedTransport = this.connectingClient ? undefined : this.connectingTransport;
|
|
112
|
+
this.client = undefined;
|
|
113
|
+
this.connectingClient = undefined;
|
|
114
|
+
this.connectingTransport = undefined;
|
|
115
|
+
this.connecting = undefined;
|
|
116
|
+
const cleanup = clients.map((client) => client.close());
|
|
117
|
+
if (orphanedTransport)
|
|
118
|
+
cleanup.push(orphanedTransport.close());
|
|
119
|
+
return Promise.allSettled(cleanup).then(() => undefined);
|
|
120
|
+
}
|
|
121
|
+
async connectedClient() {
|
|
122
|
+
this.assertOpen();
|
|
123
|
+
if (this.client)
|
|
124
|
+
return this.client;
|
|
125
|
+
if (this.connecting)
|
|
126
|
+
return this.connecting;
|
|
127
|
+
const pending = this.connect(this.generation);
|
|
128
|
+
this.connecting = pending;
|
|
129
|
+
try {
|
|
130
|
+
return await pending;
|
|
131
|
+
}
|
|
132
|
+
finally {
|
|
133
|
+
// Login can happen after a long-lived MCP process started. Do not cache a
|
|
134
|
+
// failed auth attempt: the next tools/list should retry the local store.
|
|
135
|
+
if (this.connecting === pending)
|
|
136
|
+
this.connecting = undefined;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async connect(generation) {
|
|
140
|
+
let session;
|
|
141
|
+
try {
|
|
142
|
+
session = await this.ensureSession({
|
|
143
|
+
interactive: false,
|
|
144
|
+
validateApiUrl: assertSharedSessionsCloudApiUrl,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
throw this.actionableCloudError(error);
|
|
149
|
+
}
|
|
150
|
+
this.assertActive(generation);
|
|
151
|
+
// Preserve the invariant for injected resolvers that do not apply the hook.
|
|
152
|
+
assertSharedSessionsCloudApiUrl(session.auth.apiUrl);
|
|
153
|
+
const endpoint = buildApiUrl(session.auth.apiUrl, SHARED_SESSIONS_MCP_PATH);
|
|
154
|
+
const transport = new StreamableHTTPClientTransport(endpoint, {
|
|
155
|
+
// The hosted route is a stateless Streamable HTTP server. It returns
|
|
156
|
+
// JSON for POST and deliberately has no GET/SSE session.
|
|
157
|
+
fetch: async (_input, init) => session.client.fetch(SHARED_SESSIONS_MCP_PATH, { ...init, redirect: 'error' }),
|
|
158
|
+
requestInit: { redirect: 'error' },
|
|
159
|
+
});
|
|
160
|
+
const client = new Client({ name: 'agent-relay-shared-sessions', version: '1.0.0' });
|
|
161
|
+
this.connectingClient = client;
|
|
162
|
+
this.connectingTransport = transport;
|
|
163
|
+
try {
|
|
164
|
+
await client.connect(transport, { timeout: HOSTED_MCP_TIMEOUT_MS });
|
|
165
|
+
this.assertActive(generation);
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
await client.close().catch(() => undefined);
|
|
169
|
+
if (!this.isActive(generation))
|
|
170
|
+
throw new SharedSessionsMcpClientClosedError();
|
|
171
|
+
throw this.actionableCloudError(error);
|
|
172
|
+
}
|
|
173
|
+
finally {
|
|
174
|
+
if (this.connectingClient === client)
|
|
175
|
+
this.connectingClient = undefined;
|
|
176
|
+
if (this.connectingTransport === transport)
|
|
177
|
+
this.connectingTransport = undefined;
|
|
178
|
+
}
|
|
179
|
+
this.client = client;
|
|
180
|
+
return client;
|
|
181
|
+
}
|
|
182
|
+
actionableCloudError(error) {
|
|
183
|
+
if (this.closed)
|
|
184
|
+
return new SharedSessionsMcpClientClosedError();
|
|
185
|
+
if (error instanceof SharedSessionsCloudAuthError ||
|
|
186
|
+
error instanceof SharedSessionsCloudPermissionError ||
|
|
187
|
+
error instanceof SharedSessionsInsecureCloudUrlError ||
|
|
188
|
+
error instanceof SharedSessionsMcpClientClosedError) {
|
|
189
|
+
return error;
|
|
190
|
+
}
|
|
191
|
+
const status = error instanceof StreamableHTTPError ? error.code : numericErrorCode(error);
|
|
192
|
+
if (status === 403 || /\bforbidden\b/i.test(errorMessage(error))) {
|
|
193
|
+
return new SharedSessionsCloudPermissionError(error);
|
|
194
|
+
}
|
|
195
|
+
if (status === 401 ||
|
|
196
|
+
/\bunauthori[sz]ed\b/i.test(errorMessage(error)) ||
|
|
197
|
+
/\blogin required\b/i.test(errorMessage(error)) ||
|
|
198
|
+
stringErrorCode(error)?.startsWith('AUTH_')) {
|
|
199
|
+
return new SharedSessionsCloudAuthError(error);
|
|
200
|
+
}
|
|
201
|
+
return error;
|
|
202
|
+
}
|
|
203
|
+
assertOpen() {
|
|
204
|
+
if (this.closed)
|
|
205
|
+
throw new SharedSessionsMcpClientClosedError();
|
|
206
|
+
}
|
|
207
|
+
isActive(generation) {
|
|
208
|
+
return !this.closed && this.generation === generation;
|
|
209
|
+
}
|
|
210
|
+
assertActive(generation) {
|
|
211
|
+
if (!this.isActive(generation))
|
|
212
|
+
throw new SharedSessionsMcpClientClosedError();
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
function errorMessage(error) {
|
|
216
|
+
return error instanceof Error ? error.message : String(error);
|
|
217
|
+
}
|
|
218
|
+
function numericErrorCode(error) {
|
|
219
|
+
return error && typeof error === 'object' && 'code' in error && typeof error.code === 'number'
|
|
220
|
+
? error.code
|
|
221
|
+
: undefined;
|
|
222
|
+
}
|
|
223
|
+
function stringErrorCode(error) {
|
|
224
|
+
return error && typeof error === 'object' && 'code' in error && typeof error.code === 'string'
|
|
225
|
+
? error.code
|
|
226
|
+
: undefined;
|
|
227
|
+
}
|
|
228
|
+
/** Enforce TLS except for explicit loopback development endpoints. */
|
|
229
|
+
export function assertSharedSessionsCloudApiUrl(apiUrl) {
|
|
230
|
+
try {
|
|
231
|
+
const url = new URL(apiUrl);
|
|
232
|
+
const loopback = url.hostname === 'localhost' || url.hostname === '127.0.0.1' || url.hostname === '[::1]';
|
|
233
|
+
if ((url.protocol !== 'https:' && !(url.protocol === 'http:' && loopback)) ||
|
|
234
|
+
url.username ||
|
|
235
|
+
url.password) {
|
|
236
|
+
throw new SharedSessionsInsecureCloudUrlError();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
if (error instanceof SharedSessionsInsecureCloudUrlError)
|
|
241
|
+
throw error;
|
|
242
|
+
throw new SharedSessionsInsecureCloudUrlError(error);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Register the allowlisted hosted tools on the public MCP server API. Their
|
|
247
|
+
* schemas are fetched from Cloud, converted to Zod for local validation, and
|
|
248
|
+
* converted back by the MCP SDK for tools/list; no tool schema is duplicated
|
|
249
|
+
* in this package.
|
|
250
|
+
*/
|
|
251
|
+
export function registerSharedSessionTools(server, client, tools, options = { strict: true }) {
|
|
252
|
+
const registered = new Set();
|
|
253
|
+
for (const tool of tools) {
|
|
254
|
+
if (!SHARED_SESSION_TOOL_NAMES.has(tool.name) || registered.has(tool.name))
|
|
255
|
+
continue;
|
|
256
|
+
registered.add(tool.name);
|
|
257
|
+
try {
|
|
258
|
+
const inputSchema = jsonSchemaToZod(tool.inputSchema);
|
|
259
|
+
const outputSchema = tool.outputSchema ? jsonSchemaToZod(tool.outputSchema) : undefined;
|
|
260
|
+
server.registerTool(tool.name, {
|
|
261
|
+
...(tool.title ? { title: tool.title } : {}),
|
|
262
|
+
...(tool.description ? { description: tool.description } : {}),
|
|
263
|
+
inputSchema,
|
|
264
|
+
...(outputSchema ? { outputSchema } : {}),
|
|
265
|
+
...(tool.annotations ? { annotations: tool.annotations } : {}),
|
|
266
|
+
}, async (args) => client.callTool(tool.name, asArguments(args)));
|
|
267
|
+
}
|
|
268
|
+
catch (error) {
|
|
269
|
+
if (options.strict) {
|
|
270
|
+
throw new Error(`Hosted shared-session tool "${tool.name}" has an invalid definition.`, {
|
|
271
|
+
cause: error,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
function asArguments(value) {
|
|
278
|
+
return value && typeof value === 'object' && !Array.isArray(value)
|
|
279
|
+
? value
|
|
280
|
+
: {};
|
|
281
|
+
}
|
|
282
|
+
/** Convert the hosted MCP JSON Schema through Zod's official converter. */
|
|
283
|
+
function jsonSchemaToZod(schema) {
|
|
284
|
+
return z.fromJSONSchema(inlineLocalJsonSchemaRefs(schema));
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Zod's converter resolves `$defs` references, while MCP SDK schema emission
|
|
288
|
+
* can also deduplicate a reused property as `#/properties/<name>`. Inline
|
|
289
|
+
* those local JSON Pointer references without changing the hosted constraints.
|
|
290
|
+
*/
|
|
291
|
+
function inlineLocalJsonSchemaRefs(schema) {
|
|
292
|
+
const root = schema;
|
|
293
|
+
const visit = (value, resolving) => {
|
|
294
|
+
if (Array.isArray(value))
|
|
295
|
+
return value.map((item) => visit(item, resolving));
|
|
296
|
+
if (!value || typeof value !== 'object')
|
|
297
|
+
return value;
|
|
298
|
+
const record = value;
|
|
299
|
+
const ref = record.$ref;
|
|
300
|
+
if (typeof ref === 'string' && ref.startsWith('#/')) {
|
|
301
|
+
if (resolving.has(ref))
|
|
302
|
+
throw new Error(`Cyclic local JSON Schema reference: ${ref}`);
|
|
303
|
+
const target = resolveJsonPointer(root, ref);
|
|
304
|
+
if (target === undefined)
|
|
305
|
+
throw new Error(`Local JSON Schema reference not found: ${ref}`);
|
|
306
|
+
const nextResolving = new Set(resolving).add(ref);
|
|
307
|
+
const resolved = visit(target, nextResolving);
|
|
308
|
+
const siblings = Object.fromEntries(Object.entries(record)
|
|
309
|
+
.filter(([key]) => key !== '$ref')
|
|
310
|
+
.map(([key, child]) => [key, visit(child, resolving)]));
|
|
311
|
+
return resolved && typeof resolved === 'object' && !Array.isArray(resolved)
|
|
312
|
+
? { ...resolved, ...siblings }
|
|
313
|
+
: resolved;
|
|
314
|
+
}
|
|
315
|
+
return Object.fromEntries(Object.entries(record).map(([key, child]) => [key, visit(child, resolving)]));
|
|
316
|
+
};
|
|
317
|
+
return visit(schema, new Set());
|
|
318
|
+
}
|
|
319
|
+
function resolveJsonPointer(root, ref) {
|
|
320
|
+
let current = root;
|
|
321
|
+
for (const rawSegment of ref.slice(2).split('/')) {
|
|
322
|
+
if (!current || typeof current !== 'object')
|
|
323
|
+
return undefined;
|
|
324
|
+
const segment = rawSegment.replaceAll('~1', '/').replaceAll('~0', '~');
|
|
325
|
+
current = current[segment];
|
|
326
|
+
}
|
|
327
|
+
return current;
|
|
328
|
+
}
|
|
329
|
+
//# sourceMappingURL=shared-sessions-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-sessions-client.js","sourceRoot":"","sources":["../../../src/cli/mcp/shared-sessions-client.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/mcp/types.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { RelayAgentThinClient, RelayWorkspaceThinClient } from '@agent-relay/sdk';
|
|
2
2
|
import type { ActionAuditEvent, AgentRelayActions } from '@agent-relay/sdk/actions';
|
|
3
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
4
|
import type { RealtimeResourceBridge, SubscriptionManager } from './resources.js';
|
|
5
|
+
import type { SharedSessionsMcpClientLike } from './shared-sessions-client.js';
|
|
4
6
|
export type AgentType = 'agent' | 'human';
|
|
5
7
|
export type RelayCastLike = Pick<RelayWorkspaceThinClient, 'agents'>;
|
|
6
8
|
export type AgentClientLike = RelayAgentThinClient;
|
|
@@ -15,6 +17,12 @@ export interface AgentRelayMcpServerOptions {
|
|
|
15
17
|
strictAgentName?: boolean;
|
|
16
18
|
telemetryTransport?: 'stdio' | 'http';
|
|
17
19
|
skipBootstrap?: boolean;
|
|
20
|
+
/** Expose only hosted shared-session tools; used by the installable plugin. */
|
|
21
|
+
sessionsOnly?: boolean;
|
|
22
|
+
/** Test/embedding seam for the hosted MCP client. */
|
|
23
|
+
sharedSessionsClient?: SharedSessionsMcpClientLike;
|
|
24
|
+
/** Hosted definitions discovered before the stdio server starts. */
|
|
25
|
+
sharedSessionTools?: Tool[];
|
|
18
26
|
actions?: AgentRelayActions;
|
|
19
27
|
onActionAuditEvent?: (event: ActionAuditEvent) => Promise<void> | void;
|
|
20
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAE/E,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAC1C,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;AACrE,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAEnD,MAAM,WAAW,0BAA0B;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;IACnD,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACrC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACxC,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,YAAY,GAAG,WAAW,CAAC,GAAG;IAClG,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC"}
|