frely-cli 0.7.1 → 0.8.3
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 +25 -35
- package/README.zh-CN.md +25 -35
- package/dist/agent/agent-service.d.ts +77 -0
- package/dist/agent/agent-service.js +348 -0
- package/dist/agent/agent-service.js.map +1 -0
- package/dist/agent/app-install.d.ts +49 -0
- package/dist/agent/app-install.js +133 -0
- package/dist/agent/app-install.js.map +1 -0
- package/dist/agent/app-key.d.ts +14 -0
- package/dist/agent/app-key.js +46 -0
- package/dist/agent/app-key.js.map +1 -0
- package/dist/agent/compose.d.ts +23 -0
- package/dist/agent/compose.js +42 -0
- package/dist/agent/compose.js.map +1 -0
- package/dist/agent/ops-server.d.ts +18 -0
- package/dist/agent/ops-server.js +175 -0
- package/dist/agent/ops-server.js.map +1 -0
- package/dist/agent/ops-stdio.d.ts +5 -0
- package/dist/agent/ops-stdio.js +47 -0
- package/dist/agent/ops-stdio.js.map +1 -0
- package/dist/agent/ops.d.ts +25 -0
- package/dist/agent/ops.js +82 -0
- package/dist/agent/ops.js.map +1 -0
- package/dist/agent/protocol.d.ts +72 -0
- package/dist/agent/protocol.js +195 -0
- package/dist/agent/protocol.js.map +1 -0
- package/dist/agent/supervisor.d.ts +80 -0
- package/dist/agent/supervisor.js +278 -0
- package/dist/agent/supervisor.js.map +1 -0
- package/dist/agent/task-store.d.ts +82 -0
- package/dist/agent/task-store.js +220 -0
- package/dist/agent/task-store.js.map +1 -0
- package/dist/agent/tool-executor.d.ts +28 -0
- package/dist/agent/tool-executor.js +113 -0
- package/dist/agent/tool-executor.js.map +1 -0
- package/dist/agent/worktrees.d.ts +35 -0
- package/dist/agent/worktrees.js +143 -0
- package/dist/agent/worktrees.js.map +1 -0
- package/dist/agent-help.d.ts +198 -210
- package/dist/agent-help.js +47 -62
- package/dist/agent-help.js.map +1 -1
- package/dist/cloud.d.ts +1 -1
- package/dist/cloud.js +6 -13
- package/dist/cloud.js.map +1 -1
- package/dist/device/protocol.d.ts +11 -2
- package/dist/device/protocol.js +18 -2
- package/dist/device/protocol.js.map +1 -1
- package/dist/device/relay-client.d.ts +10 -1
- package/dist/device/relay-client.js +38 -11
- package/dist/device/relay-client.js.map +1 -1
- package/dist/diagnostics.js +12 -4
- package/dist/diagnostics.js.map +1 -1
- package/dist/index.js +195 -141
- package/dist/index.js.map +1 -1
- package/dist/key-budget.js +2 -2
- package/dist/key-budget.js.map +1 -1
- package/dist/mcp-authorization.js +9 -7
- package/dist/mcp-authorization.js.map +1 -1
- package/dist/mcp-command.d.ts +12 -4
- package/dist/mcp-command.js +54 -48
- package/dist/mcp-command.js.map +1 -1
- package/dist/provider/state.d.ts +2 -0
- package/dist/provider/state.js +1 -0
- package/dist/provider/state.js.map +1 -1
- package/dist/runtime/mcp-lease.js +1 -1
- package/dist/runtime/mcp-lease.js.map +1 -1
- package/dist/runtime/mcp.d.ts +139 -0
- package/dist/runtime/mcp.js +30 -0
- package/dist/runtime/mcp.js.map +1 -1
- package/dist/runtime/relay-agent.d.ts +25 -0
- package/dist/runtime/relay-agent.js +63 -0
- package/dist/runtime/relay-agent.js.map +1 -0
- package/dist/runtime/relay-mcp.d.ts +3 -1
- package/dist/runtime/relay-mcp.js +6 -1
- package/dist/runtime/relay-mcp.js.map +1 -1
- package/dist/runtime/relay-session.d.ts +2 -2
- package/dist/runtime/relay-session.js +1 -1
- package/dist/runtime/relay-session.js.map +1 -1
- package/dist/runtime/sandbox.d.ts +2 -0
- package/dist/runtime/sandbox.js +13 -0
- package/dist/runtime/sandbox.js.map +1 -1
- package/dist/runtime/workspace-registry.js +1 -1
- package/dist/skill/access.d.ts +4 -2
- package/dist/skill/access.js +7 -3
- package/dist/skill/access.js.map +1 -1
- package/dist/upgrade/installation.js +1 -1
- package/dist/upgrade/installation.js.map +1 -1
- package/dist/workspace-command.d.ts +1 -1
- package/dist/workspace-command.js +2 -2
- package/dist/workspace-command.js.map +1 -1
- package/package.json +1 -1
package/dist/agent-help.js
CHANGED
|
@@ -1,41 +1,40 @@
|
|
|
1
1
|
import { VERSION } from "./version.js";
|
|
2
2
|
export const COMMANDS = [
|
|
3
|
-
{ id: "
|
|
3
|
+
{ id: "login", usage: "frely login [--relay <url>] [--no-browser]", auth: "browser", effect: "authorization", purpose: "Authorize the CLI for the user's Frely account." },
|
|
4
|
+
{ id: "logout", usage: "frely logout", auth: "none", effect: "local-write", purpose: "Remove login, revoke Cloud authorization and stop the MCP background service." },
|
|
5
|
+
{ id: "doctor", usage: "frely doctor [-v] [--json]", auth: "optional-account", effect: "diagnostic", purpose: "Show the signed-in account, installation, available upgrades, MCP and connection status; -v verifies the account online and runs detailed diagnostics." },
|
|
4
6
|
{ id: "upgrade", usage: "frely upgrade", auth: "none", effect: "local-write", purpose: "Upgrade the current installation to the latest stable release. Windows prints a manual command; doctor checks versions." },
|
|
5
7
|
{ id: "help", usage: "frely help --agent --json", auth: "none", effect: "read", purpose: "Read this installed CLI's current Agent instructions." },
|
|
6
|
-
{ id: "
|
|
7
|
-
{ id: "
|
|
8
|
-
{ id: "
|
|
9
|
-
{ id: "
|
|
10
|
-
{ id: "
|
|
11
|
-
{ id: "
|
|
12
|
-
{ id: "
|
|
13
|
-
{ id: "
|
|
14
|
-
{ id: "
|
|
15
|
-
{ id: "
|
|
8
|
+
{ id: "mcp", usage: "frely mcp [--workspace <path>] [--days 1..180] [--json]", auth: "account-and-browser-if-needed", effect: "authorization-if-needed", purpose: "Enable, renew or read device MCP. Unconfigured: request browser approval for --workspace (default: current directory) and install the background service. Expired or --days given: renew with browser approval; the MCP URL stays the same. Otherwise print the MCP URL unchanged. Prompts go to stderr; stdout holds only the URL, or JSON with HTTP transport and OAuth details." },
|
|
9
|
+
{ id: "mcp.workspace", usage: "frely mcp workspace [add|remove <path>] [--json]", auth: "mcp", effect: "subcommand-dependent", purpose: "List workspace directories for this device, or add/remove an additional one (the primary cannot be removed)." },
|
|
10
|
+
{ id: "mcp.stop", usage: "frely mcp stop", auth: "none", effect: "local-service", purpose: "Pause the local MCP background service. Supported upgrades restore running services without this command." },
|
|
11
|
+
{ id: "mcp.start", usage: "frely mcp start", auth: "none", effect: "local-service", purpose: "Resume the local MCP background service." },
|
|
12
|
+
{ id: "mcp.remove", usage: "frely mcp remove", auth: "account", effect: "remote-write", purpose: "Revoke device MCP for every connected client and uninstall the background service (kept running provider-only when local Providers exist)." },
|
|
13
|
+
{ id: "mcp.stdio", usage: "frely mcp stdio [--workspace <path>]", auth: "mcp", effect: "local-execution", purpose: "Serve authorized local tools over stdio for a local MCP client." },
|
|
14
|
+
{ id: "mcp.serve", usage: "frely mcp serve [--workspace <path>]", auth: "account-and-mcp", effect: "local-execution", purpose: "Foreground Device Relay client; the background service runs this. Not needed for normal use." },
|
|
15
|
+
{ id: "agent.install", usage: "frely agent install <distribution-id|manifest-url> [--host chatgpt|codex|claude-code|pi|generic] [--scope global|project] [--api-key-stdin] [--json]", auth: "optional-api-key", effect: "local-write", purpose: "Install the public Agent's trigger Skill; an API key goes only through stdin to secure storage." },
|
|
16
|
+
{ id: "agent.run", usage: "frely agent run <distribution-id> (--input <text>|--input-stdin) [--json]", auth: "installed-api-key-or-account", effect: "remote-call", purpose: "Send the complete relevant user request to the installed Agent through model-scoped MCP. Usage may be billed." },
|
|
17
|
+
{ id: "agent.status", usage: "frely agent status (<distribution-id>|--api-key-stdin [--relay <url>]) [--json]", auth: "none-or-api-key", effect: "read", purpose: "Inspect an installed Agent Skill and, for API-key installs, its Key budget. With --api-key-stdin, read that Key's budget without installing or logging in." },
|
|
18
|
+
{ id: "agent.remove", usage: "frely agent remove <distribution-id> [--json]", auth: "none", effect: "local-write", purpose: "Remove an installed Agent Skill and its saved API key." },
|
|
19
|
+
{ id: "provider.share", usage: "frely provider share [ollama|openai-compatible] [--url <loopback-v1-url>] [--models <a,b>] [--slot <slot-id>] [--name <name>]", auth: "account", effect: "remote-write", purpose: "Publish a local model Provider. If a prepared Provider on this device is not finished, resume it instead." },
|
|
16
20
|
{ id: "provider.list", usage: "frely provider list [--json]", auth: "account", effect: "read", purpose: "List configured local Providers." },
|
|
17
|
-
{ id: "
|
|
18
|
-
{ id: "
|
|
19
|
-
{ id: "
|
|
20
|
-
{ id: "
|
|
21
|
-
{ id: "
|
|
22
|
-
{ id: "
|
|
23
|
-
{ id: "
|
|
24
|
-
{ id: "mcp.workspace.remove", usage: "frely mcp workspace remove <path>", auth: "mcp", effect: "local-write", purpose: "Unregister a workspace directory (but not the primary)." },
|
|
25
|
-
{ id: "mcp.service", usage: "frely mcp service start|stop|uninstall", auth: "none", effect: "local-service", purpose: "Pause, resume or remove the local MCP background service for maintenance. Supported upgrades restore running services without these commands." },
|
|
26
|
-
{ id: "mcp.revoke", usage: "frely mcp revoke", auth: "account", effect: "remote-write", purpose: "Revoke device MCP execution authorization for every connected client." },
|
|
27
|
-
{ id: "mcp.stdio", usage: "frely mcp stdio [--workspace <path>]", auth: "mcp", effect: "local-execution", purpose: "Serve authorized local tools over stdio." },
|
|
28
|
-
{ id: "network", usage: "frely network setup|status|find|use|logout [--json]", auth: "network", effect: "subcommand-dependent", purpose: "Access Frely Network using its separate setup and credentials." },
|
|
21
|
+
{ id: "cloud", usage: "frely cloud list|describe|call [--help]", auth: "cloud-oauth", effect: "subcommand-dependent", purpose: "Discover and call Frely cloud business operations at frely.cloud/mcp. The first call requests browser authorization. Use describe before call; parameters and results are JSON." },
|
|
22
|
+
{ id: "app.remote", usage: "frely app remote enable|disable|status [--json]", auth: "local", effect: "local-write", purpose: "Toggle agent remote control for the Frely web app (app.frely.cloud). Disabled by default; enable before starting tasks from a phone." },
|
|
23
|
+
{ id: "app.ops", usage: "frely app ops", auth: "local", effect: "read-only", purpose: "Bridge the local agent ops socket to stdin/stdout (NDJSON, incl. tasks_changed pushes); used by the Frely App GUI task panel." },
|
|
24
|
+
{ id: "app.connectInfo", usage: "frely app connect-info [--json]", auth: "local", effect: "read-only", purpose: "Report the local agent ops socket path and whether a serving process is reachable (used by the Frely App GUI to find task control)." },
|
|
25
|
+
{ id: "app.key", usage: "frely app key [--lifetime-usd N] [--json]", auth: "user", effect: "account-write", purpose: "Provision a device-scoped Frely API key for app agent tasks (shown once, capped at a lifetime spend limit; default $50, max $500)." },
|
|
26
|
+
{ id: "app.tasks", usage: "frely app tasks [--json]", auth: "local", effect: "read", purpose: "List local agent tasks with status, merge state and budget usage." },
|
|
27
|
+
{ id: "network", usage: "frely network setup|status|find|use|logout [--json]", auth: "network", effect: "subcommand-dependent", purpose: "Access Frely Network (preview) using its separate setup and credentials." },
|
|
29
28
|
];
|
|
30
29
|
export function agentHelp() {
|
|
31
30
|
return {
|
|
32
31
|
schemaVersion: "frely.cli.agent-help.v1",
|
|
33
32
|
cliVersion: VERSION,
|
|
34
|
-
bootstrapVersion:
|
|
33
|
+
bootstrapVersion: 2,
|
|
35
34
|
skill_update_required: false,
|
|
36
35
|
instructions: [
|
|
37
36
|
"Use this installed CLI's command contract instead of remembered command syntax.",
|
|
38
|
-
"For an installed Agent, pass the user's complete relevant request through stdin to agent.
|
|
37
|
+
"For an installed Agent, pass the user's complete relevant request through stdin to agent.run and return its result.",
|
|
39
38
|
"A Skill installed with an API key does not require account login or local MCP execution setup.",
|
|
40
39
|
"Read credentials from a secure input channel; never put them in argv, Skills, ordinary configuration, or logs.",
|
|
41
40
|
"Use --json where the command advertises it. A nonzero exit status means failure; surface the returned error.",
|
|
@@ -43,50 +42,39 @@ export function agentHelp() {
|
|
|
43
42
|
"Budget sources are independent constraints. Do not sum their remaining amounts or describe them as a Key balance.",
|
|
44
43
|
"Installing a remote Agent Skill does not replace the host's current model provider.",
|
|
45
44
|
"Device MCP exposes this computer to remote HTTP MCP clients with OAuth. Commands execute on the device, not on the calling computer.",
|
|
46
|
-
"Use frely mcp to enable device MCP
|
|
47
|
-
"If MCP is unconfigured, frely mcp
|
|
45
|
+
"Use frely mcp to enable device MCP or read its address, and frely doctor [-v] for status and diagnostics.",
|
|
46
|
+
"If MCP is unconfigured or expired, frely mcp requests browser approval; otherwise it only prints the URL. Existing workspaces stay unchanged.",
|
|
48
47
|
"Remote clients of one device share its workspace and managed processes. Shell uses the device OS account; it is not a workspace sandbox.",
|
|
49
48
|
],
|
|
50
49
|
commands: COMMANDS,
|
|
51
50
|
};
|
|
52
51
|
}
|
|
53
52
|
const GROUPS = [
|
|
54
|
-
{ title: "Account", ids: ["login", "logout", "
|
|
55
|
-
{ title: "
|
|
56
|
-
{ title: "
|
|
57
|
-
{ title: "Providers", ids: ["provider.share", "provider.list"
|
|
58
|
-
{ title: "
|
|
59
|
-
{ title: "Cloud, Key & Network", ids: ["cloud", "key.budget", "network"] },
|
|
53
|
+
{ title: "Account", ids: ["login", "logout", "doctor", "upgrade"] },
|
|
54
|
+
{ title: "Device MCP", ids: ["mcp", "mcp.workspace", "mcp.lifecycle"] },
|
|
55
|
+
{ title: "Agents", ids: ["agent.install", "agent.run", "agent.status", "agent.remove"] },
|
|
56
|
+
{ title: "Providers", ids: ["provider.share", "provider.list"] },
|
|
57
|
+
{ title: "Cloud", ids: ["cloud"] },
|
|
60
58
|
];
|
|
61
59
|
// Short, flag-light forms for the human `--help` overview. The full usage
|
|
62
60
|
// strings (with every flag) live on COMMANDS and stay in `frely help --agent
|
|
63
|
-
// --json`, which this overview points to for the complete contract.
|
|
61
|
+
// --json`, which this overview points to for the complete contract. Commands
|
|
62
|
+
// meant for services and Agents (mcp serve/stdio, network) appear only there.
|
|
64
63
|
const SHORT_USAGE = {
|
|
65
|
-
login: "frely login [--
|
|
64
|
+
login: "frely login [--no-browser]",
|
|
66
65
|
logout: "frely logout",
|
|
67
|
-
whoami: "frely whoami",
|
|
68
66
|
doctor: "frely doctor [-v] [--json]",
|
|
69
67
|
upgrade: "frely upgrade",
|
|
70
|
-
|
|
71
|
-
"mcp.
|
|
72
|
-
"mcp.
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"mcp.workspace.remove": "frely mcp workspace remove <path>",
|
|
78
|
-
"mcp.revoke": "frely mcp revoke",
|
|
79
|
-
"mcp.stdio": "frely mcp stdio [--workspace <path>]",
|
|
68
|
+
mcp: "frely mcp [--workspace <path>] [--days 1..180] [--json]",
|
|
69
|
+
"mcp.workspace": "frely mcp workspace [add|remove <path>]",
|
|
70
|
+
"mcp.lifecycle": "frely mcp stop|start|remove",
|
|
71
|
+
"agent.install": "frely agent install <distribution-id> [--host <host>] [--api-key-stdin]",
|
|
72
|
+
"agent.run": "frely agent run <distribution-id> (--input <text>|--input-stdin)",
|
|
73
|
+
"agent.status": "frely agent status <distribution-id>",
|
|
74
|
+
"agent.remove": "frely agent remove <distribution-id>",
|
|
80
75
|
"provider.share": "frely provider share [ollama|openai-compatible] [--models <a,b>]",
|
|
81
|
-
"provider.list": "frely provider list
|
|
82
|
-
|
|
83
|
-
"skill.install": "frely skill install <manifest-url> [--host <host>] [--scope <scope>]",
|
|
84
|
-
"skill.status": "frely skill status <distribution-id>",
|
|
85
|
-
"skill.remove": "frely skill remove <distribution-id>",
|
|
86
|
-
"agent.invoke": "frely agent invoke <distribution-id> (--input <text>|--input-stdin)",
|
|
87
|
-
cloud: "frely cloud list|describe|call|login|logout",
|
|
88
|
-
"key.budget": "frely key budget (--api-key-stdin|--distribution <id>)",
|
|
89
|
-
network: "frely network setup|status|find|use|logout",
|
|
76
|
+
"provider.list": "frely provider list",
|
|
77
|
+
cloud: "frely cloud list|describe|call",
|
|
90
78
|
};
|
|
91
79
|
export function cliUsage() {
|
|
92
80
|
const lines = ["Usage: frely <command>\n"];
|
|
@@ -95,18 +83,15 @@ export function cliUsage() {
|
|
|
95
83
|
for (const id of group.ids)
|
|
96
84
|
lines.push(` ${SHORT_USAGE[id] ?? id}\n`);
|
|
97
85
|
}
|
|
98
|
-
lines.push("\nMaintenance (not required for supported upgrades):\n frely mcp service start|stop|uninstall\n");
|
|
99
86
|
lines.push("\nFull flags and the machine-readable contract: frely help --agent --json\n");
|
|
100
87
|
return lines.join("");
|
|
101
88
|
}
|
|
102
89
|
export function mcpUsage() {
|
|
103
90
|
return "Device MCP — use this computer from a remote MCP client.\n\nUsage:\n"
|
|
104
|
-
+
|
|
105
|
-
+ "\nMaintenance (not required for supported upgrades):\n frely mcp service start|stop|uninstall\n"
|
|
91
|
+
+ ["mcp", "mcp.workspace", "mcp.lifecycle"].map((id) => " " + SHORT_USAGE[id] + "\n").join("")
|
|
106
92
|
+ "\nStatus and diagnostics: frely doctor [-v] [--json]\n\n"
|
|
107
|
-
+ "Run
|
|
108
|
-
+ "
|
|
109
|
-
+ "
|
|
110
|
-
+ "Clients share the device workspace and managed processes. Shell runs under the device OS account.\n";
|
|
93
|
+
+ "Run frely mcp on the computer to control. It asks for browser approval the first time (current directory, or --workspace) and when authorization has expired, installs the background service, and prints the MCP URL. Add that URL to ChatGPT, Claude Code on another computer, or another HTTP MCP client, then authorize with OAuth.\n"
|
|
94
|
+
+ "Prompts go to stderr; stdout contains only the URL or JSON. --days 1..180 renews now; the URL stays the same.\n"
|
|
95
|
+
+ "frely mcp remove revokes access for every client. Clients share the device workspace and managed processes. Shell runs under the device OS account.\n";
|
|
111
96
|
}
|
|
112
97
|
//# sourceMappingURL=agent-help.js.map
|
package/dist/agent-help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-help.js","sourceRoot":"","sources":["../src/agent-help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"agent-help.js","sourceRoot":"","sources":["../src/agent-help.ts"],"names":[],"mappings":"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"}
|
package/dist/cloud.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const CLOUD_USAGE = "Frely Cloud \u2014 call your Frely application.\n frely cloud list [--group <name>]\n frely cloud describe <tool>\n frely cloud call <tool> [--json '<object>' | --input <file>]\n
|
|
1
|
+
export declare const CLOUD_USAGE = "Frely Cloud \u2014 call your Frely application.\n frely cloud list [--group <name>]\n frely cloud describe <tool>\n frely cloud call <tool> [--json '<object>' | --input <file>]\n\nResults are JSON. The first command opens a browser for Cloud authorization;\nfrely logout also revokes it. Cloud authorization is separate from device MCP.\nCalls may create resources or incur usage. Failed writes are never replayed automatically.\n";
|
|
2
2
|
export declare function logoutCloud(): Promise<void>;
|
|
3
3
|
export declare function runCloud(args: readonly string[]): Promise<{
|
|
4
4
|
value?: unknown;
|
package/dist/cloud.js
CHANGED
|
@@ -13,10 +13,9 @@ export const CLOUD_USAGE = `Frely Cloud — call your Frely application.
|
|
|
13
13
|
frely cloud list [--group <name>]
|
|
14
14
|
frely cloud describe <tool>
|
|
15
15
|
frely cloud call <tool> [--json '<object>' | --input <file>]
|
|
16
|
-
frely cloud login
|
|
17
|
-
frely cloud logout
|
|
18
16
|
|
|
19
|
-
Results are JSON.
|
|
17
|
+
Results are JSON. The first command opens a browser for Cloud authorization;
|
|
18
|
+
frely logout also revokes it. Cloud authorization is separate from device MCP.
|
|
20
19
|
Calls may create resources or incur usage. Failed writes are never replayed automatically.
|
|
21
20
|
`;
|
|
22
21
|
async function cloudIdentity() {
|
|
@@ -51,7 +50,7 @@ async function connectCloud() {
|
|
|
51
50
|
const raw = await credentialStore.getPassword(SERVICE, identity.key);
|
|
52
51
|
let stored = raw ? JSON.parse(raw) : { version: 1, resource: identity.resource, redirectUrl: "" };
|
|
53
52
|
if (stored.version !== 1 || stored.resource !== identity.resource)
|
|
54
|
-
throw new Error("Cloud credentials are invalid. Run frely
|
|
53
|
+
throw new Error("Cloud credentials are invalid. Run frely logout, then frely login.");
|
|
55
54
|
const state = randomUUID();
|
|
56
55
|
let verifier = "";
|
|
57
56
|
let listener;
|
|
@@ -119,7 +118,7 @@ async function connectCloud() {
|
|
|
119
118
|
}
|
|
120
119
|
catch { /* Rejected below. */ }
|
|
121
120
|
if (subject !== identity.userId)
|
|
122
|
-
throw new Error("Cloud authorization used another account. Use the account shown by frely
|
|
121
|
+
throw new Error("Cloud authorization used another account. Use the account shown by frely doctor.");
|
|
123
122
|
}
|
|
124
123
|
stored.tokens = tokens;
|
|
125
124
|
stored.expiresAt = Date.now() + (tokens.expires_in ?? 600) * 1000;
|
|
@@ -185,14 +184,14 @@ async function connectCloud() {
|
|
|
185
184
|
catch {
|
|
186
185
|
await closeListener();
|
|
187
186
|
await client.close().catch(() => undefined);
|
|
188
|
-
throw new Error("Cloud connection or authorization failed. Confirm app availability and account selection, then run
|
|
187
|
+
throw new Error("Cloud connection or authorization failed. Confirm app availability and account selection, then run the command again. No business call was replayed.");
|
|
189
188
|
}
|
|
190
189
|
}
|
|
191
190
|
export async function runCloud(args) {
|
|
192
191
|
const action = args[1] ?? "list";
|
|
193
192
|
if (action === "help" || args.includes("--help") || args.includes("-h"))
|
|
194
193
|
return { text: CLOUD_USAGE };
|
|
195
|
-
if (!["list", "describe", "call"
|
|
194
|
+
if (!["list", "describe", "call"].includes(action))
|
|
196
195
|
throw new Error(CLOUD_USAGE);
|
|
197
196
|
const named = action === "describe" || action === "call";
|
|
198
197
|
const name = named ? args[2] : undefined;
|
|
@@ -224,14 +223,8 @@ export async function runCloud(args) {
|
|
|
224
223
|
throw new Error("Cloud input must be a JSON object.");
|
|
225
224
|
input = value;
|
|
226
225
|
}
|
|
227
|
-
if (action === "logout") {
|
|
228
|
-
await logoutCloud();
|
|
229
|
-
return { value: { authorized: false } };
|
|
230
|
-
}
|
|
231
226
|
const session = await connectCloud();
|
|
232
227
|
try {
|
|
233
|
-
if (action === "login")
|
|
234
|
-
return { value: { authorized: true } };
|
|
235
228
|
const all = [];
|
|
236
229
|
const cursors = new Set();
|
|
237
230
|
let cursor;
|
package/dist/cloud.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,19 @@ export type DeviceRelayRequest = {
|
|
|
5
5
|
protocol: typeof DEVICE_RELAY_PROTOCOL;
|
|
6
6
|
type: "request";
|
|
7
7
|
id: string;
|
|
8
|
-
method: "mcp" | "provider" | "node";
|
|
8
|
+
method: "mcp" | "provider" | "node" | "agent";
|
|
9
9
|
authorizationId?: string;
|
|
10
|
+
/** Enabled MCP toolsets on the authorization (relay server -> device). Absent means ["workspace"] (older relays). */
|
|
11
|
+
toolsets?: string[];
|
|
10
12
|
payload: unknown;
|
|
11
13
|
};
|
|
14
|
+
/** Device -> relay capability report rendered by the web console (plan §6.4). */
|
|
15
|
+
export type DeviceRelayCapabilities = {
|
|
16
|
+
protocol: typeof DEVICE_RELAY_PROTOCOL;
|
|
17
|
+
type: "device_capabilities";
|
|
18
|
+
id: string;
|
|
19
|
+
capabilities: Record<string, unknown>;
|
|
20
|
+
};
|
|
12
21
|
export type DeviceRelayResponse = {
|
|
13
22
|
protocol: typeof DEVICE_RELAY_PROTOCOL;
|
|
14
23
|
type: "response";
|
|
@@ -48,7 +57,7 @@ export type DeviceRelayMcpDisabled = {
|
|
|
48
57
|
type: "mcp_disabled";
|
|
49
58
|
id: string;
|
|
50
59
|
};
|
|
51
|
-
export type DeviceRelayEnvelope = DeviceRelayMcpDisabled | DeviceRelayRequest | DeviceRelayResponse | DeviceRelayCancel | DeviceRelayStreamStart | DeviceRelayStreamChunk | DeviceRelayStreamEnd;
|
|
60
|
+
export type DeviceRelayEnvelope = DeviceRelayMcpDisabled | DeviceRelayRequest | DeviceRelayResponse | DeviceRelayCancel | DeviceRelayStreamStart | DeviceRelayStreamChunk | DeviceRelayStreamEnd | DeviceRelayCapabilities;
|
|
52
61
|
export declare class DeviceRelayProtocolError extends Error {
|
|
53
62
|
readonly code: "frame_invalid" | "frame_too_large" | "duplicate_request" | "inflight_limit";
|
|
54
63
|
constructor(code: "frame_invalid" | "frame_too_large" | "duplicate_request" | "inflight_limit");
|
package/dist/device/protocol.js
CHANGED
|
@@ -37,10 +37,20 @@ export function validateDeviceRelayEnvelope(value) {
|
|
|
37
37
|
throw new DeviceRelayProtocolError("frame_invalid");
|
|
38
38
|
assertRequestId(record.id);
|
|
39
39
|
if (record.type === "request") {
|
|
40
|
-
exactKeys(record, ["protocol", "type", "id", "method", "payload", ...(record.authorizationId !== undefined ? ["authorizationId"] : [])]);
|
|
40
|
+
exactKeys(record, ["protocol", "type", "id", "method", "payload", ...(record.authorizationId !== undefined ? ["authorizationId"] : []), ...(record.toolsets !== undefined ? ["toolsets"] : [])]);
|
|
41
41
|
if (record.authorizationId !== undefined && (record.method !== "mcp" || typeof record.authorizationId !== "string" || !/^mca_[a-f0-9]{32}$/u.test(record.authorizationId)))
|
|
42
42
|
throw new DeviceRelayProtocolError("frame_invalid");
|
|
43
|
-
if (record.
|
|
43
|
+
if (record.toolsets !== undefined && (record.method !== "mcp" || !isToolsetList(record.toolsets)))
|
|
44
|
+
throw new DeviceRelayProtocolError("frame_invalid");
|
|
45
|
+
if (record.method !== "mcp" && record.method !== "provider" && record.method !== "node" && record.method !== "agent")
|
|
46
|
+
throw new DeviceRelayProtocolError("frame_invalid");
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (record.type === "device_capabilities") {
|
|
50
|
+
exactKeys(record, ["protocol", "type", "id", "capabilities"]);
|
|
51
|
+
if (!record.capabilities || typeof record.capabilities !== "object" || Array.isArray(record.capabilities))
|
|
52
|
+
throw new DeviceRelayProtocolError("frame_invalid");
|
|
53
|
+
if (Buffer.byteLength(JSON.stringify(record.capabilities)) > 4096)
|
|
44
54
|
throw new DeviceRelayProtocolError("frame_invalid");
|
|
45
55
|
return;
|
|
46
56
|
}
|
|
@@ -87,6 +97,12 @@ export function validateDeviceRelayEnvelope(value) {
|
|
|
87
97
|
}
|
|
88
98
|
throw new DeviceRelayProtocolError("frame_invalid");
|
|
89
99
|
}
|
|
100
|
+
function isToolsetList(value) {
|
|
101
|
+
if (!Array.isArray(value) || value.length < 1 || value.length > 8)
|
|
102
|
+
return false;
|
|
103
|
+
const unique = new Set(value);
|
|
104
|
+
return unique.size === value.length && value.every((item) => typeof item === "string" && /^[a-z][a-z0-9_-]{0,31}$/u.test(item));
|
|
105
|
+
}
|
|
90
106
|
function assertRequestId(id) {
|
|
91
107
|
if (!/^[A-Za-z0-9_-]{16,96}$/u.test(id))
|
|
92
108
|
throw new DeviceRelayProtocolError("frame_invalid");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/device/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAgC,CAAC;AACtE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC5D,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/device/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAgC,CAAC;AACtE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC5D,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AA6DpD,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAC5B;IAArB,YAAqB,IAAkF;QACrG,KAAK,CAAC,IAAI,CAAC,CAAC;QADO,SAAI,GAAJ,IAAI,CAA8E;QAErG,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,MAAM,UAAU,yBAAyB,CAAC,QAA6B;IACrE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,4BAA4B;QAAE,MAAM,IAAI,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;IACrH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAsB;IAC9D,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,4BAA4B;QAAE,MAAM,IAAI,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;IACnH,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC;IACD,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACrH,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,MAAM,CAAC,QAAQ,KAAK,qBAAqB,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ;QAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACvK,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjM,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAChO,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;QACvJ,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;YAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAC1K,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC1C,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;YAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAC/J,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI;YAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;QACvH,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;QACzT,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI;YAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;QACvJ,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACjC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,SAAS;YAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;QACxF,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACvH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;YAC1I,MAAM,KAAK,GAAG,MAAM,CAAC,KAAgC,CAAC;YACtD,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YACtC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACzJ,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAChF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAClI,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,SAAS,CAAC,MAA+B,EAAE,OAA0B;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;AACrJ,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MaintenanceGate } from "../upgrade/maintenance.js";
|
|
2
2
|
import { McpLease } from "../runtime/mcp-lease.js";
|
|
3
3
|
import { type ConnectionEvent } from "./connection-status.js";
|
|
4
|
+
import type { AgentService } from "../agent/agent-service.js";
|
|
4
5
|
import type { RelaySession } from "../runtime/relay-session.js";
|
|
5
6
|
export interface RelayServeOptions {
|
|
6
7
|
workspace?: string;
|
|
@@ -16,7 +17,15 @@ export interface RelayServeOptions {
|
|
|
16
17
|
* When omitted the relay falls back to the existing MCP path.
|
|
17
18
|
*/
|
|
18
19
|
session?: () => Promise<RelaySession>;
|
|
20
|
+
/**
|
|
21
|
+
* Injected AgentService for `method: "agent"` remote-control requests
|
|
22
|
+
* (plan frely-app-agent-toolset §5). When omitted agent requests fail with
|
|
23
|
+
* a clear error instead of breaking the relay connection.
|
|
24
|
+
*/
|
|
25
|
+
agent?: AgentService;
|
|
26
|
+
/** Device capability report sent once per connection for the web console (plan §6.4). */
|
|
27
|
+
capabilities?: () => Record<string, unknown> | Promise<Record<string, unknown>> | undefined;
|
|
19
28
|
}
|
|
20
29
|
export declare function serveDeviceRelay(options: RelayServeOptions): Promise<void>;
|
|
21
30
|
export declare function isTransportFallbackEligible(error: unknown): boolean;
|
|
22
|
-
export declare function serveConnection(websocketUrl: string, accessToken: string, deviceId: string, session: RelaySession | null, lease: McpLease | null, signal: AbortSignal, log: (message: string) => void, report?: (event: ConnectionEvent) => void, maintenance?: MaintenanceGate): Promise<void>;
|
|
31
|
+
export declare function serveConnection(websocketUrl: string, accessToken: string, deviceId: string, session: RelaySession | null, lease: McpLease | null, agent: AgentService | null, defaultWorkspace: string, signal: AbortSignal, log: (message: string) => void, report?: (event: ConnectionEvent) => void, maintenance?: MaintenanceGate, capabilities?: () => Record<string, unknown> | Promise<Record<string, unknown>> | undefined): Promise<void>;
|