frely-cli 0.9.1 → 0.9.4

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.
Files changed (38) hide show
  1. package/README.md +11 -10
  2. package/README.zh-CN.md +11 -10
  3. package/dist/agent/app-install.d.ts +5 -9
  4. package/dist/agent/app-install.js +22 -36
  5. package/dist/agent/app-install.js.map +1 -1
  6. package/dist/agent/supervisor.js +1 -1
  7. package/dist/agent/supervisor.js.map +1 -1
  8. package/dist/agent-help.d.ts +71 -18
  9. package/dist/agent-help.js +24 -10
  10. package/dist/agent-help.js.map +1 -1
  11. package/dist/diagnostics.js +6 -6
  12. package/dist/diagnostics.js.map +1 -1
  13. package/dist/index.js +34 -8
  14. package/dist/index.js.map +1 -1
  15. package/dist/mcp-authorization.d.ts +1 -1
  16. package/dist/mcp-authorization.js +10 -9
  17. package/dist/mcp-authorization.js.map +1 -1
  18. package/dist/mcp-command.d.ts +4 -3
  19. package/dist/mcp-command.js +18 -14
  20. package/dist/mcp-command.js.map +1 -1
  21. package/dist/runtime/mcp-lease.js +1 -1
  22. package/dist/runtime/mcp-lease.js.map +1 -1
  23. package/dist/runtime/mcp.js +3 -7
  24. package/dist/runtime/mcp.js.map +1 -1
  25. package/dist/runtime/workspace-registry.js +2 -14
  26. package/dist/runtime/workspace-registry.js.map +1 -1
  27. package/dist/runtime/workspace-router.d.ts +10 -0
  28. package/dist/runtime/workspace-router.js +37 -18
  29. package/dist/runtime/workspace-router.js.map +1 -1
  30. package/dist/upgrade/installation.d.ts +1 -0
  31. package/dist/upgrade/installation.js +3 -2
  32. package/dist/upgrade/installation.js.map +1 -1
  33. package/dist/upgrade/release.js +7 -3
  34. package/dist/upgrade/release.js.map +1 -1
  35. package/dist/workspace-command.d.ts +1 -1
  36. package/dist/workspace-command.js +4 -4
  37. package/dist/workspace-command.js.map +1 -1
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -13,7 +13,7 @@ This repository contains the open-source Frely client and local MCP runtime. The
13
13
 
14
14
  ```text
15
15
  Remote Agent Skill: install -> frely login -> frely agent install -> frely agent run
16
- Device MCP: install on target computer -> frely login -> frely mcp -> add MCP URL to client -> OAuth authorize
16
+ Device MCP: install on target computer -> frely login -> frely mcp url -> add MCP URL to client -> OAuth authorize
17
17
  ```
18
18
 
19
19
  ## Install
@@ -72,24 +72,24 @@ The browser opens automatically. To choose another browser or Frely account, run
72
72
  On the computer to control, enable file, shell and process access:
73
73
 
74
74
  ```sh
75
- frely mcp --workspace /path/to/project
75
+ frely mcp url --workspace /path/to/project
76
76
  ```
77
77
 
78
- `frely login` requests a restricted account session through browser device authorization. The first `frely mcp` initializes a separate secure MCP key, requests browser approval for this device and workspace (the current directory when `--workspace` is omitted), installs the user-level Device Relay service (macOS LaunchAgent, Linux systemd user unit, or Windows Task Scheduler), and prints the MCP URL. The default authorization is 90 days; `--days 1..180` selects a duration.
78
+ `frely login` requests a restricted account session through browser device authorization. The first `frely mcp url` initializes a separate secure MCP key, requests browser approval for this device and workspace (the current directory when `--workspace` is omitted), installs the user-level Device Relay service (macOS LaunchAgent, Linux systemd user unit, or Windows Task Scheduler), and prints the MCP URL. The default authorization is 90 days; `--days 1..180` selects a duration.
79
79
 
80
- `frely mcp` is idempotent: once enabled it only prints the same URL, so run it again whenever you need the address. Prompts go to stderr, so stdout remains a single URL or, with `--json`, a JSON object. No URL is printed if approval or service installation fails. To expose more directories, use `frely mcp workspace add <path>`; `frely mcp workspace` lists them.
80
+ `frely mcp url` is idempotent: once enabled it only prints the same URL, so run it again whenever you need the address. Prompts go to stderr, so stdout remains a single URL or, with `--json`, a JSON object. No URL is printed if approval or service installation fails. To expose more directories, use `frely mcp workspace add <path>`; `frely mcp workspace list` lists them. A command group run without a subcommand (for example `frely mcp workspace` or `frely agent`) prints the subcommands under it.
81
81
 
82
82
  Add the exact printed URL to a remote MCP client with OAuth support, choose OAuth and complete authorization. Keep the computer online. Verify the first connection by asking the client to list the top-level names in your selected workspace, without writing files or running shell commands — a returned result that matches the folder confirms connectivity.
83
83
 
84
84
  For Claude Code on the calling computer:
85
85
 
86
86
  ```sh
87
- claude mcp add --transport http frely-computer "<MCP_URL>"
87
+ claude mcp add --transport http frely "<MCP_URL>"
88
88
  ```
89
89
 
90
- Open `/mcp` in Claude Code to complete OAuth authorization. Use a distinct server name per device. Ask the Agent to use Frely tools for remote work; its built-in shell still runs on the calling computer. Clients of the same device share its workspace and managed processes.
90
+ Open `/mcp` in Claude Code to complete OAuth authorization. One URL serves every device on your account with an active MCP permission: `list_devices` shows your devices and their workspaces, and every other tool takes a `device` argument (device name or id). Ask the Agent to use Frely tools for remote work; its built-in shell still runs on the calling computer. Clients share each device's workspaces and managed processes.
91
91
 
92
- Authorization lifecycle: when the authorization has expired, `frely mcp` asks for a new approval and rotates the MCP execution key; `frely mcp --days 180` renews early. The MCP URL remains bound to the device. Login refresh, OAuth refresh and restart do not extend authorization. `frely mcp stop|start` pauses or resumes the background service; `frely mcp remove` revokes access for every client and uninstalls the service (it keeps running provider-only when local Providers exist). Manage your devices in Frely → **Device MCP** (`/user/account/connections`).
92
+ Authorization lifecycle: when the authorization has expired, `frely mcp url` asks for a new approval and rotates the MCP execution key; `frely mcp url --days 180` renews early. The MCP URL is the same for all your devices and does not change on renewal. Login refresh, OAuth refresh and restart do not extend authorization. `frely mcp stop|start` pauses or resumes the background service; `frely mcp remove` revokes access for every client and uninstalls the service (it keeps running provider-only when local Providers exist). Manage your devices in Frely → **Device MCP** (`/user/account/connections`).
93
93
 
94
94
  ### Invoke a Frely-hosted Agent
95
95
 
@@ -194,7 +194,7 @@ Storage, migration, service injection, release requirements and threat boundarie
194
194
  - Cloud commands and authorization: [docs/cloud.md](docs/cloud.md)
195
195
  - Frely Network commands (preview, not listed in `frely --help`): [docs/frely-network.md](docs/frely-network.md)
196
196
 
197
- The public MCP URL is the canonical resource returned by Relay, for example `https://connect.frely.cloud/mcp/<device-id>`. Use `frely mcp`; do not derive the URL from the control-plane hostname. The URL contains no bearer secret.
197
+ The public MCP URL is the canonical resource returned by Relay, `https://mcp.frely.cloud/mcp` (one URL per account, shared by all your devices). Use `frely mcp url`; do not derive the URL from the control-plane hostname. The URL contains no bearer secret.
198
198
 
199
199
  ## Commands
200
200
 
@@ -203,8 +203,9 @@ frely login [--relay <https-url>] [--no-browser]
203
203
  frely logout
204
204
  frely doctor [-v] [--json]
205
205
  frely upgrade
206
- frely mcp [--workspace <path>] [--days 1..180] [--json]
207
- frely mcp workspace [add|remove <path>] [--json]
206
+ frely mcp url [--workspace <path>] [--days 1..180] [--json]
207
+ frely mcp workspace list [--json]
208
+ frely mcp workspace add|remove <path>
208
209
  frely mcp stop|start|remove
209
210
  frely agent install <distribution-id|manifest-url> [--host chatgpt|codex|claude-code|pi|generic] [--scope global|project] [--api-key-stdin] [--json]
210
211
  frely agent run <distribution-id> (--input <text>|--input-stdin) [--json]
package/README.zh-CN.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  ```text
15
15
  Remote Agent Skill: 安装 -> frely login -> frely agent install -> frely agent run
16
- Device MCP: 在被控电脑安装 -> frely login -> frely mcp -> 客户端添加 MCP URL -> OAuth 授权
16
+ Device MCP: 在被控电脑安装 -> frely login -> frely mcp url -> 客户端添加 MCP URL -> OAuth 授权
17
17
  ```
18
18
 
19
19
  ## 安装
@@ -72,24 +72,24 @@ frely login
72
72
  在被控电脑上开启文件、shell 与进程访问:
73
73
 
74
74
  ```sh
75
- frely mcp --workspace /path/to/project
75
+ frely mcp url --workspace /path/to/project
76
76
  ```
77
77
 
78
- `frely login` 通过浏览器设备授权获取受限账号会话。首次运行 `frely mcp` 会初始化独立的 MCP 安全密钥、请求浏览器批准该设备与工作区(省略 `--workspace` 时为当前目录)、安装用户级 Device Relay 服务(macOS LaunchAgent、Linux systemd 用户单元或 Windows 任务计划程序),并打印 MCP URL。默认授权 90 天,`--days 1..180` 可选时长。
78
+ `frely login` 通过浏览器设备授权获取受限账号会话。首次运行 `frely mcp url` 会初始化独立的 MCP 安全密钥、请求浏览器批准该设备与工作区(省略 `--workspace` 时为当前目录)、安装用户级 Device Relay 服务(macOS LaunchAgent、Linux systemd 用户单元或 Windows 任务计划程序),并打印 MCP URL。默认授权 90 天,`--days 1..180` 可选时长。
79
79
 
80
- `frely mcp` 是幂等的:启用后再次运行只打印同一个 URL,需要地址时直接再运行即可。提示走 stderr,stdout 保持单一 URL(或 `--json` 时一个 JSON 对象);批准或安装失败则不打印 URL。要开放更多目录,用 `frely mcp workspace add <path>`;`frely mcp workspace` 列出所有目录。
80
+ `frely mcp url` 是幂等的:启用后再次运行只打印同一个 URL,需要地址时直接再运行即可。提示走 stderr,stdout 保持单一 URL(或 `--json` 时一个 JSON 对象);批准或安装失败则不打印 URL。要开放更多目录,用 `frely mcp workspace add <path>`;`frely mcp workspace list` 列出所有目录。只输入命令组而不带子命令(如 `frely mcp workspace`、`frely agent`)时,会显示该组下可用的子命令。
81
81
 
82
82
  把打印的完整 URL 添加到支持 OAuth 的远程 MCP 客户端,选择 OAuth 并完成授权。保持电脑在线。验证首次连接:让客户端只列出所选工作区的顶层名称,不写文件、不跑 shell 命令——返回与目录一致的结果即连通。
83
83
 
84
84
  调用端的 Claude Code:
85
85
 
86
86
  ```sh
87
- claude mcp add --transport http frely-computer "<MCP_URL>"
87
+ claude mcp add --transport http frely "<MCP_URL>"
88
88
  ```
89
89
 
90
- 在 Claude Code 中打开 `/mcp` 完成 OAuth 授权。每台设备使用不同的服务器名。让 Agent 用 Frely 工具做远程工作;它自带的 shell 仍跑在调用端电脑。同一设备的客户端共享其工作区与托管进程。
90
+ 在 Claude Code 中打开 `/mcp` 完成 OAuth 授权。一个 URL 覆盖账户下所有已开启 MCP 的设备:`list_devices` 列出设备及其工作区,其余工具都带 `device` 参数(设备名或 id)。让 Agent 用 Frely 工具做远程工作;它自带的 shell 仍跑在调用端电脑。客户端共享各设备的工作区与托管进程。
91
91
 
92
- 授权生命周期:授权过期后,`frely mcp` 会请求新的批准并轮换 MCP 执行密钥;`frely mcp --days 180` 可提前续期。MCP URL 始终绑定该设备。登录刷新、OAuth 刷新与重启都不延长授权。`frely mcp stop|start` 暂停或恢复后台服务;`frely mcp remove` 撤销所有客户端的访问并卸载服务(本机有本地 Provider 时服务改为仅 Provider 模式继续运行)。在 Frely → **Device MCP**(`/user/account/connections`)管理你的设备。
92
+ 授权生命周期:授权过期后,`frely mcp url` 会请求新的批准并轮换 MCP 执行密钥;`frely mcp url --days 180` 可提前续期。MCP URL 对你的所有设备相同,续期也不会改变。登录刷新、OAuth 刷新与重启都不延长授权。`frely mcp stop|start` 暂停或恢复后台服务;`frely mcp remove` 撤销所有客户端的访问并卸载服务(本机有本地 Provider 时服务改为仅 Provider 模式继续运行)。在 Frely → **Device MCP**(`/user/account/connections`)管理你的设备。
93
93
 
94
94
  ### 调用 Frely 托管的 Agent
95
95
 
@@ -194,7 +194,7 @@ MCP 密钥使用 AES-256-GCM 文件,主密钥存 macOS Keychain、Windows 凭
194
194
  - Cloud 命令与授权:[docs/cloud.md](docs/cloud.md)
195
195
  - Frely Network 命令(预览,不在 `frely --help` 中列出):[docs/frely-network.md](docs/frely-network.md)
196
196
 
197
- 公网 MCP URL 是 Relay 返回的规范资源,例如 `https://connect.frely.cloud/mcp/<device-id>`。请使用 `frely mcp` 输出的地址,不要从控制面域名推导。URL 不含 bearer secret。
197
+ 公网 MCP URL 是 Relay 返回的规范资源,即 `https://mcp.frely.cloud/mcp`(每个账户一个 URL,所有设备共用)。请使用 `frely mcp url` 输出的地址,不要从控制面域名推导。URL 不含 bearer secret。
198
198
 
199
199
  ## 命令
200
200
 
@@ -203,8 +203,9 @@ frely login [--relay <https-url>] [--no-browser]
203
203
  frely logout
204
204
  frely doctor [-v] [--json]
205
205
  frely upgrade
206
- frely mcp [--workspace <path>] [--days 1..180] [--json]
207
- frely mcp workspace [add|remove <path>] [--json]
206
+ frely mcp url [--workspace <path>] [--days 1..180] [--json]
207
+ frely mcp workspace list [--json]
208
+ frely mcp workspace add|remove <path>
208
209
  frely mcp stop|start|remove
209
210
  frely agent install <distribution-id|manifest-url> [--host chatgpt|codex|claude-code|pi|generic] [--scope global|project] [--api-key-stdin] [--json]
210
211
  frely agent run <distribution-id> (--input <text>|--input-stdin) [--json]
@@ -6,6 +6,7 @@ export type AppInstall = {
6
6
  capsulePath: string;
7
7
  protocolVersion: number;
8
8
  };
9
+ /** Frely App Pi Node capsule (schema 3): one Bun-compiled executable plus data files. */
9
10
  export type CapsuleManifest = {
10
11
  schemaVersion: number;
11
12
  capsuleKind: string;
@@ -21,11 +22,7 @@ export type CapsuleManifest = {
21
22
  };
22
23
  runtime: {
23
24
  executable: string;
24
- };
25
- application: {
26
- entrypoint: string;
27
- agentHostEntrypoint?: string;
28
- launch?: string[];
25
+ agentHostArguments: string[];
29
26
  };
30
27
  };
31
28
  export declare class AppInstallError extends Error {
@@ -36,11 +33,10 @@ export declare function appInstallPath(env?: NodeJS.ProcessEnv): string;
36
33
  export declare function readAppInstall(path?: string, env?: NodeJS.ProcessEnv): Promise<AppInstall>;
37
34
  export type CapsuleFacts = {
38
35
  manifest: CapsuleManifest;
39
- nodeExecutable: string;
40
- agentHostEntrypoint: string;
41
- entrypointIsAgentHost: boolean;
36
+ executable: string;
37
+ agentHostArguments: string[];
42
38
  };
43
- /** Structural capsule verification: manifest shape, platform match, entrypoints. */
39
+ /** Structural capsule verification: manifest shape, platform match, executable. */
44
40
  export declare function verifyCapsule(appInstall: AppInstall): Promise<CapsuleFacts>;
45
41
  /**
46
42
  * Full integrity walk (sha256 of every payload file against the manifest).
@@ -4,7 +4,8 @@
4
4
  */
5
5
  import { createHash } from "node:crypto";
6
6
  import { homedir } from "node:os";
7
- import { lstat, readFile, readlink, stat } from "node:fs/promises";
7
+ import { createReadStream } from "node:fs";
8
+ import { lstat, readFile, stat } from "node:fs/promises";
8
9
  import { join, relative, resolve } from "node:path";
9
10
  export const APP_INSTALL_SCHEMA_VERSION = 1;
10
11
  export const CAPSULE_MANIFEST_NAME = "capsule-manifest.json";
@@ -42,7 +43,10 @@ export async function readAppInstall(path, env = process.env) {
42
43
  }
43
44
  return { schemaVersion: APP_INSTALL_SCHEMA_VERSION, appVersion: record.appVersion, capsulePath: record.capsulePath, protocolVersion: record.protocolVersion };
44
45
  }
45
- /** Structural capsule verification: manifest shape, platform match, entrypoints. */
46
+ const CAPSULE_SCHEMA_VERSION = 3;
47
+ const CAPSULE_KIND = "pi-node-executable";
48
+ const AGENT_HOST_ARGUMENTS = ["agent-host"];
49
+ /** Structural capsule verification: manifest shape, platform match, executable. */
46
50
  export async function verifyCapsule(appInstall) {
47
51
  let manifestRaw;
48
52
  try {
@@ -58,26 +62,22 @@ export async function verifyCapsule(appInstall) {
58
62
  catch {
59
63
  throw new AppInstallError("capsule_invalid");
60
64
  }
61
- if (manifest.schemaVersion !== 2 || manifest.capsuleKind !== "pi-node-runtime")
65
+ if (manifest.schemaVersion !== CAPSULE_SCHEMA_VERSION || manifest.capsuleKind !== CAPSULE_KIND)
62
66
  throw new AppInstallError("capsule_invalid");
63
67
  if (typeof manifest.sourceCommit !== "string" || !/^[0-9a-f]{40}$/u.test(manifest.sourceCommit))
64
68
  throw new AppInstallError("capsule_invalid");
65
69
  const platform = process.platform === "win32" ? "win32" : process.platform === "darwin" ? "darwin" : "linux";
66
- if (manifest.target.platform !== platform)
70
+ if (manifest.target?.platform !== platform)
67
71
  throw new AppInstallError("capsule_platform_mismatch");
68
- const nodeExecutable = join(appInstall.capsulePath, manifest.runtime.executable);
69
- if (!(await isFile(nodeExecutable)))
72
+ const runtime = manifest.runtime;
73
+ if (typeof runtime?.executable !== "string" || runtime.executable.includes("/") || runtime.executable.includes("\\"))
70
74
  throw new AppInstallError("capsule_invalid");
71
- const agentHostEntrypoint = manifest.application.agentHostEntrypoint ?? manifest.application.entrypoint;
72
- const entrypointPath = join(appInstall.capsulePath, agentHostEntrypoint);
73
- if (!(await isFile(entrypointPath)))
75
+ if (!Array.isArray(runtime.agentHostArguments) || JSON.stringify(runtime.agentHostArguments) !== JSON.stringify(AGENT_HOST_ARGUMENTS))
74
76
  throw new AppInstallError("capsule_invalid");
75
- return {
76
- manifest,
77
- nodeExecutable,
78
- agentHostEntrypoint: entrypointPath,
79
- entrypointIsAgentHost: manifest.application.agentHostEntrypoint !== undefined,
80
- };
77
+ const executable = join(appInstall.capsulePath, runtime.executable);
78
+ if (!(await isFile(executable)))
79
+ throw new AppInstallError("capsule_invalid");
80
+ return { manifest, executable, agentHostArguments: [...runtime.agentHostArguments] };
81
81
  }
82
82
  /**
83
83
  * Full integrity walk (sha256 of every payload file against the manifest).
@@ -86,44 +86,30 @@ export async function verifyCapsule(appInstall) {
86
86
  export async function verifyCapsuleIntegrity(appInstall) {
87
87
  const manifest = JSON.parse(await readFile(join(appInstall.capsulePath, CAPSULE_MANIFEST_NAME), "utf8"));
88
88
  const integrity = manifest.integrity;
89
- if (!integrity || integrity.algorithm !== "sha256")
89
+ if (!integrity || integrity.algorithm !== "sha256" || !Array.isArray(integrity.files))
90
90
  throw new AppInstallError("capsule_invalid");
91
91
  const seen = new Set();
92
92
  let totalSize = 0;
93
- let count = 0;
94
93
  for (const entry of integrity.files) {
95
94
  if (typeof entry.path !== "string" || entry.path.startsWith("/") || entry.path.includes(".."))
96
95
  throw new AppInstallError("capsule_invalid");
97
- if (seen.has(entry.path))
96
+ if (entry.type !== "file" || seen.has(entry.path))
98
97
  throw new AppInstallError("capsule_invalid");
99
98
  seen.add(entry.path);
100
99
  const full = resolve(appInstall.capsulePath, entry.path);
101
100
  if (relative(appInstall.capsulePath, full).startsWith(".."))
102
101
  throw new AppInstallError("capsule_invalid");
103
102
  const info = await lstat(full).catch(() => null);
104
- if (!info)
105
- throw new AppInstallError("capsule_integrity_failed");
106
- if (entry.symlinkTarget !== undefined) {
107
- if (!info.isSymbolicLink())
108
- throw new AppInstallError("capsule_integrity_failed");
109
- const target = await readlink(full);
110
- if (target !== entry.symlinkTarget)
111
- throw new AppInstallError("capsule_integrity_failed");
112
- continue;
113
- }
114
- if (!info.isFile())
103
+ if (!info || !info.isFile() || info.size !== entry.size)
115
104
  throw new AppInstallError("capsule_integrity_failed");
116
105
  const hash = createHash("sha256");
117
- const content = await readFile(full);
118
- hash.update(content);
106
+ for await (const chunk of createReadStream(full))
107
+ hash.update(chunk);
119
108
  if (hash.digest("hex") !== entry.sha256)
120
109
  throw new AppInstallError("capsule_integrity_failed");
121
- if (typeof entry.bytes === "number" && entry.bytes !== content.byteLength)
122
- throw new AppInstallError("capsule_integrity_failed");
123
- totalSize += content.byteLength;
124
- count += 1;
110
+ totalSize += info.size;
125
111
  }
126
- if (count !== integrity.payloadFileCount || totalSize !== integrity.payloadSize)
112
+ if (seen.size !== integrity.payloadFileCount || totalSize !== integrity.payloadSize)
127
113
  throw new AppInstallError("capsule_integrity_failed");
128
114
  }
129
115
  async function isFile(path) {
@@ -1 +1 @@
1
- {"version":3,"file":"app-install.js","sourceRoot":"","sources":["../../src/agent/app-install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-install.js","sourceRoot":"","sources":["../../src/agent/app-install.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export class AgentHostConnection {
31
31
  }
32
32
  static async start(facts, options) {
33
33
  const key = newConnectionKey();
34
- const child = spawn(facts.nodeExecutable, [facts.agentHostEntrypoint], {
34
+ const child = spawn(facts.executable, facts.agentHostArguments, {
35
35
  stdio: ["ignore", "ignore", "ignore", "pipe"],
36
36
  env: { ...process.env, [AGENT_HOST_CONNECTION_KEY_ENV]: key },
37
37
  windowsHide: true,
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/agent/supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/agent/supervisor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAqB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAsB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,GAIjB,MAAM,eAAe,CAAC;AAGvB,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACzD,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC;AAQtD,+DAA+D;AAC/D,MAAM,OAAO,mBAAmB;IAOnB;IACQ;IACA;IARX,MAAM,GAAG,CAAC,CAAC;IACF,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IACjD,WAAW,GAAG,KAAK,CAAC;IACpB,cAAc,GAAmC,EAAE,CAAC;IAE5D,YACW,OAAqB,EACb,MAA8B,EAC9B,GAAmB;QAF3B,YAAO,GAAP,OAAO,CAAc;QACb,WAAM,GAAN,MAAM,CAAwB;QAC9B,QAAG,GAAH,GAAG,CAAgB;QAEpC,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,2BAA2B,IAAI,WAAW,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3H,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAmB,EAAE,OAAsN;QAC5P,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,kBAAkB,EAAE;YAC9D,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;YAC7C,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,EAAE,GAAG,EAAE;YAC7D,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAkC,CAAC;QAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC;QACd,CAAC;QACD,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACrC,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;QACzD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,OAAO,CAAqE;IAC5E,aAAa,CAAsG;IAEnH,KAAK,CAAC,SAAS,CAAC,aAAqB;QAC3C,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,2BAA2B,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAA4B,CAAC;QAC3O,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,eAAe,KAAK,2BAA2B,EAAE,CAAC;YACtE,MAAM,IAAI,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,MAAc,EAAE,MAA+B,EAAE,SAAS,GAAG,OAAO;QAC1E,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC3F,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,MAA+B;QACpD,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,CAAC,EAAa,EAAE,MAAe;QACpC,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY,CAAC,EAAa,EAAE,IAAY,EAAE,OAAe;QACvD,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1E,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,QAAiC;QACvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,OAAuB;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;YACzD,IAAI,KAAK;gBAAE,IAAI,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,IAAI,OAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,0BAA0B,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;gBAAE,KAAK,IAAI,CAAC,iBAAiB,CAAC,OAA8F,CAAC,CAAC;;gBACxK,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK;YAAE,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;;YAC7G,OAAO,CAAC,OAAO,CAAE,OAAgC,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAEO,kBAAkB,CAAC,MAAc,EAAE,MAA2C;QACpF,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,oCAAoC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,0BAA0B,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAA4F;QAC1H,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,mBAAmB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1H,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACzJ,CAAC;IACH,CAAC;IAEO,MAAM,GAAG,KAAK,CAAC;IACf,KAAK,CAAC,KAAa;QACzB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,OAAO,CAAC;AAC3D,CAAC;AAED,uDAAuD;AACvD,MAAM,OAAO,mBAAmB;IAUX;IATX,UAAU,GAA+B,IAAI,CAAC;IAC9C,QAAQ,GAAwC,IAAI,CAAC;IACrD,SAAS,GAA0B,IAAI,CAAC;IACxC,KAAK,GAAoB,SAAS,CAAC;IACnC,SAAS,GAAkB,IAAI,CAAC;IAChC,iBAAiB,GAAG,KAAK,CAAC;IAC1B,cAAc,GAAG,CAAC,CAAC;IAE3B,YACmB,IAShB;QATgB,SAAI,GAAJ,IAAI,CASpB;IACA,CAAC;IAEJ,MAAM;QACJ,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QAC5C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;YACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACnE,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACpE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3E,IAAI,OAAO;oBAAE,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE;gBACxD,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBAClB,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC;gBACD,aAAa,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;oBACvC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACjC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACxD,CAAC;aACF,CAAC,CAAC;YACH,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,UAAU;YAAE,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrD,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,0BAA0B;oBAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/F,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;IAC3B,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,SAAS;YAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;CACF"}
@@ -29,17 +29,29 @@ export declare const COMMANDS: readonly [{
29
29
  readonly effect: "read";
30
30
  readonly purpose: "Read this installed CLI's current Agent instructions.";
31
31
  }, {
32
- readonly id: "mcp";
33
- readonly usage: "frely mcp [--workspace <path>] [--days 1..180] [--json]";
32
+ readonly id: "mcp.url";
33
+ readonly usage: "frely mcp url [--workspace <path>] [--days 1..180] [--json]";
34
34
  readonly auth: "account-and-browser-if-needed";
35
35
  readonly effect: "authorization-if-needed";
36
36
  readonly 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.";
37
37
  }, {
38
- readonly id: "mcp.workspace";
39
- readonly usage: "frely mcp workspace [add|remove <path>] [--json]";
38
+ readonly id: "mcp.workspace.list";
39
+ readonly usage: "frely mcp workspace list [--json]";
40
40
  readonly auth: "mcp";
41
- readonly effect: "subcommand-dependent";
42
- readonly purpose: "List workspace directories for this device, or add/remove an additional one (the primary cannot be removed).";
41
+ readonly effect: "read";
42
+ readonly purpose: "List workspace directories for this device; the primary is marked.";
43
+ }, {
44
+ readonly id: "mcp.workspace.add";
45
+ readonly usage: "frely mcp workspace add <path>";
46
+ readonly auth: "mcp";
47
+ readonly effect: "local-write";
48
+ readonly purpose: "Add an additional workspace directory for this device.";
49
+ }, {
50
+ readonly id: "mcp.workspace.remove";
51
+ readonly usage: "frely mcp workspace remove <path>";
52
+ readonly auth: "mcp";
53
+ readonly effect: "local-write";
54
+ readonly purpose: "Remove an additional workspace directory (the primary cannot be removed).";
43
55
  }, {
44
56
  readonly id: "mcp.stop";
45
57
  readonly usage: "frely mcp stop";
@@ -113,11 +125,23 @@ export declare const COMMANDS: readonly [{
113
125
  readonly effect: "subcommand-dependent";
114
126
  readonly 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.";
115
127
  }, {
116
- readonly id: "app.remote";
117
- readonly usage: "frely app remote enable|disable|status [--json]";
128
+ readonly id: "app.remote.enable";
129
+ readonly usage: "frely app remote enable";
130
+ readonly auth: "local";
131
+ readonly effect: "local-write";
132
+ readonly purpose: "Allow agent remote control from the Frely web app (app.frely.cloud). Disabled by default; enable before starting tasks from a phone.";
133
+ }, {
134
+ readonly id: "app.remote.disable";
135
+ readonly usage: "frely app remote disable";
118
136
  readonly auth: "local";
119
137
  readonly effect: "local-write";
120
- readonly purpose: "Toggle agent remote control for the Frely web app (app.frely.cloud). Disabled by default; enable before starting tasks from a phone.";
138
+ readonly purpose: "Disallow agent remote control from the Frely web app.";
139
+ }, {
140
+ readonly id: "app.remote.status";
141
+ readonly usage: "frely app remote status [--json]";
142
+ readonly auth: "local";
143
+ readonly effect: "read";
144
+ readonly purpose: "Show whether agent remote control is enabled and the task budget limits.";
121
145
  }, {
122
146
  readonly id: "app.ops";
123
147
  readonly usage: "frely app ops";
@@ -216,17 +240,29 @@ export declare function agentHelp(): {
216
240
  readonly effect: "read";
217
241
  readonly purpose: "Read this installed CLI's current Agent instructions.";
218
242
  }, {
219
- readonly id: "mcp";
220
- readonly usage: "frely mcp [--workspace <path>] [--days 1..180] [--json]";
243
+ readonly id: "mcp.url";
244
+ readonly usage: "frely mcp url [--workspace <path>] [--days 1..180] [--json]";
221
245
  readonly auth: "account-and-browser-if-needed";
222
246
  readonly effect: "authorization-if-needed";
223
247
  readonly 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.";
224
248
  }, {
225
- readonly id: "mcp.workspace";
226
- readonly usage: "frely mcp workspace [add|remove <path>] [--json]";
249
+ readonly id: "mcp.workspace.list";
250
+ readonly usage: "frely mcp workspace list [--json]";
227
251
  readonly auth: "mcp";
228
- readonly effect: "subcommand-dependent";
229
- readonly purpose: "List workspace directories for this device, or add/remove an additional one (the primary cannot be removed).";
252
+ readonly effect: "read";
253
+ readonly purpose: "List workspace directories for this device; the primary is marked.";
254
+ }, {
255
+ readonly id: "mcp.workspace.add";
256
+ readonly usage: "frely mcp workspace add <path>";
257
+ readonly auth: "mcp";
258
+ readonly effect: "local-write";
259
+ readonly purpose: "Add an additional workspace directory for this device.";
260
+ }, {
261
+ readonly id: "mcp.workspace.remove";
262
+ readonly usage: "frely mcp workspace remove <path>";
263
+ readonly auth: "mcp";
264
+ readonly effect: "local-write";
265
+ readonly purpose: "Remove an additional workspace directory (the primary cannot be removed).";
230
266
  }, {
231
267
  readonly id: "mcp.stop";
232
268
  readonly usage: "frely mcp stop";
@@ -300,11 +336,23 @@ export declare function agentHelp(): {
300
336
  readonly effect: "subcommand-dependent";
301
337
  readonly 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.";
302
338
  }, {
303
- readonly id: "app.remote";
304
- readonly usage: "frely app remote enable|disable|status [--json]";
339
+ readonly id: "app.remote.enable";
340
+ readonly usage: "frely app remote enable";
341
+ readonly auth: "local";
342
+ readonly effect: "local-write";
343
+ readonly purpose: "Allow agent remote control from the Frely web app (app.frely.cloud). Disabled by default; enable before starting tasks from a phone.";
344
+ }, {
345
+ readonly id: "app.remote.disable";
346
+ readonly usage: "frely app remote disable";
305
347
  readonly auth: "local";
306
348
  readonly effect: "local-write";
307
- readonly purpose: "Toggle agent remote control for the Frely web app (app.frely.cloud). Disabled by default; enable before starting tasks from a phone.";
349
+ readonly purpose: "Disallow agent remote control from the Frely web app.";
350
+ }, {
351
+ readonly id: "app.remote.status";
352
+ readonly usage: "frely app remote status [--json]";
353
+ readonly auth: "local";
354
+ readonly effect: "read";
355
+ readonly purpose: "Show whether agent remote control is enabled and the task budget limits.";
308
356
  }, {
309
357
  readonly id: "app.ops";
310
358
  readonly usage: "frely app ops";
@@ -368,4 +416,9 @@ export declare function agentHelp(): {
368
416
  }];
369
417
  };
370
418
  export declare function cliUsage(): string;
419
+ /**
420
+ * A command group without a direct action (`frely mcp workspace`, `frely agent`,
421
+ * ...) prints the subcommands under it instead of running one.
422
+ */
423
+ export declare function subcommandUsage(group: string): string;
371
424
  export declare function mcpUsage(): string;
@@ -5,8 +5,10 @@ export const COMMANDS = [
5
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." },
6
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." },
7
7
  { id: "help", usage: "frely help --agent --json", auth: "none", effect: "read", purpose: "Read this installed CLI's current Agent instructions." },
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)." },
8
+ { id: "mcp.url", usage: "frely mcp url [--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.list", usage: "frely mcp workspace list [--json]", auth: "mcp", effect: "read", purpose: "List workspace directories for this device; the primary is marked." },
10
+ { id: "mcp.workspace.add", usage: "frely mcp workspace add <path>", auth: "mcp", effect: "local-write", purpose: "Add an additional workspace directory for this device." },
11
+ { id: "mcp.workspace.remove", usage: "frely mcp workspace remove <path>", auth: "mcp", effect: "local-write", purpose: "Remove an additional workspace directory (the primary cannot be removed)." },
10
12
  { 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
13
  { id: "mcp.start", usage: "frely mcp start", auth: "none", effect: "local-service", purpose: "Resume the local MCP background service." },
12
14
  { 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)." },
@@ -19,7 +21,9 @@ export const COMMANDS = [
19
21
  { 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." },
20
22
  { id: "provider.list", usage: "frely provider list [--json]", auth: "account", effect: "read", purpose: "List configured local Providers." },
21
23
  { 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." },
24
+ { id: "app.remote.enable", usage: "frely app remote enable", auth: "local", effect: "local-write", purpose: "Allow agent remote control from the Frely web app (app.frely.cloud). Disabled by default; enable before starting tasks from a phone." },
25
+ { id: "app.remote.disable", usage: "frely app remote disable", auth: "local", effect: "local-write", purpose: "Disallow agent remote control from the Frely web app." },
26
+ { id: "app.remote.status", usage: "frely app remote status [--json]", auth: "local", effect: "read", purpose: "Show whether agent remote control is enabled and the task budget limits." },
23
27
  { 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
28
  { 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
29
  { 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)." },
@@ -47,8 +51,8 @@ export function agentHelp() {
47
51
  "Budget sources are independent constraints. Do not sum their remaining amounts or describe them as a Key balance.",
48
52
  "Installing a remote Agent Skill does not replace the host's current model provider.",
49
53
  "Device MCP exposes this computer to remote HTTP MCP clients with OAuth. Commands execute on the device, not on the calling computer.",
50
- "Use frely mcp to enable device MCP or read its address, and frely doctor [-v] for status and diagnostics.",
51
- "If MCP is unconfigured or expired, frely mcp requests browser approval; otherwise it only prints the URL. Existing workspaces stay unchanged.",
54
+ "Use frely mcp url to enable device MCP or read its address, and frely doctor [-v] for status and diagnostics.",
55
+ "If MCP is unconfigured or expired, frely mcp url requests browser approval; otherwise it only prints the URL. Existing workspaces stay unchanged.",
52
56
  "Remote clients of one device share its workspace and managed processes. Shell uses the device OS account; it is not a workspace sandbox.",
53
57
  ],
54
58
  commands: COMMANDS,
@@ -56,7 +60,7 @@ export function agentHelp() {
56
60
  }
57
61
  const GROUPS = [
58
62
  { title: "Account", ids: ["login", "logout", "doctor", "upgrade"] },
59
- { title: "Device MCP", ids: ["mcp", "mcp.workspace", "mcp.lifecycle"] },
63
+ { title: "Device MCP", ids: ["mcp.url", "mcp.workspace", "mcp.lifecycle"] },
60
64
  { title: "Agents", ids: ["agent.install", "agent.run", "agent.status", "agent.remove"] },
61
65
  { title: "Providers", ids: ["provider.share", "provider.list"] },
62
66
  { title: "Cloud", ids: ["cloud"] },
@@ -70,8 +74,8 @@ const SHORT_USAGE = {
70
74
  logout: "frely logout",
71
75
  doctor: "frely doctor [-v] [--json]",
72
76
  upgrade: "frely upgrade",
73
- mcp: "frely mcp [--workspace <path>] [--days 1..180] [--json]",
74
- "mcp.workspace": "frely mcp workspace [add|remove <path>]",
77
+ "mcp.url": "frely mcp url [--workspace <path>] [--days 1..180] [--json]",
78
+ "mcp.workspace": "frely mcp workspace list|add <path>|remove <path>",
75
79
  "mcp.lifecycle": "frely mcp stop|start|remove",
76
80
  "agent.install": "frely agent install <distribution-id> [--host <host>] [--api-key-stdin]",
77
81
  "agent.run": "frely agent run <distribution-id> (--input <text>|--input-stdin)",
@@ -91,11 +95,21 @@ export function cliUsage() {
91
95
  lines.push("\nFull flags and the machine-readable contract: frely help --agent --json\n");
92
96
  return lines.join("");
93
97
  }
98
+ /**
99
+ * A command group without a direct action (`frely mcp workspace`, `frely agent`,
100
+ * ...) prints the subcommands under it instead of running one.
101
+ */
102
+ export function subcommandUsage(group) {
103
+ const prefix = `${group}.`;
104
+ const lines = COMMANDS.filter((command) => command.id.startsWith(prefix))
105
+ .map((command) => ` ${SHORT_USAGE[command.id] ?? command.usage}\n`);
106
+ return `Usage:\n${lines.join("")}`;
107
+ }
94
108
  export function mcpUsage() {
95
109
  return "Device MCP — use this computer from a remote MCP client.\n\nUsage:\n"
96
- + ["mcp", "mcp.workspace", "mcp.lifecycle"].map((id) => " " + SHORT_USAGE[id] + "\n").join("")
110
+ + ["mcp.url", "mcp.workspace", "mcp.lifecycle"].map((id) => " " + SHORT_USAGE[id] + "\n").join("")
97
111
  + "\nStatus and diagnostics: frely doctor [-v] [--json]\n\n"
98
- + "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"
112
+ + "Run frely mcp url 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"
99
113
  + "Prompts go to stderr; stdout contains only the URL or JSON. --days 1..180 renews now; the URL stays the same.\n"
100
114
  + "frely mcp remove revokes access for every client. Clients share the device workspace and managed processes. Shell runs under the device OS account.\n";
101
115
  }