frely-cli 0.6.2 → 0.6.6
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 +117 -50
- package/dist/agent-help.d.ts +47 -58
- package/dist/agent-help.js +24 -10
- package/dist/agent-help.js.map +1 -1
- package/dist/cloud.d.ts +7 -0
- package/dist/cloud.js +263 -0
- package/dist/cloud.js.map +1 -0
- package/dist/device/connection-status.d.ts +42 -0
- package/dist/device/connection-status.js +112 -0
- package/dist/device/connection-status.js.map +1 -0
- package/dist/device/relay-client.d.ts +5 -1
- package/dist/device/relay-client.js +101 -43
- package/dist/device/relay-client.js.map +1 -1
- package/dist/diagnostics.d.ts +66 -4
- package/dist/diagnostics.js +133 -25
- package/dist/diagnostics.js.map +1 -1
- package/dist/index.js +35 -16
- package/dist/index.js.map +1 -1
- package/dist/mcp-authorization.js +3 -3
- package/dist/mcp-authorization.js.map +1 -1
- package/dist/mcp-command.d.ts +9 -0
- package/dist/mcp-command.js +68 -0
- package/dist/mcp-command.js.map +1 -0
- package/dist/runtime/mcp.d.ts +2 -0
- package/dist/runtime/mcp.js +8 -3
- package/dist/runtime/mcp.js.map +1 -1
- package/dist/service.d.ts +4 -0
- package/dist/service.js +28 -4
- package/dist/service.js.map +1 -1
- package/dist/upgrade/installation.d.ts +24 -0
- package/dist/upgrade/installation.js +137 -0
- package/dist/upgrade/installation.js.map +1 -0
- package/dist/upgrade/maintenance.d.ts +15 -0
- package/dist/upgrade/maintenance.js +133 -0
- package/dist/upgrade/maintenance.js.map +1 -0
- package/dist/upgrade/release.d.ts +9 -0
- package/dist/upgrade/release.js +45 -0
- package/dist/upgrade/release.js.map +1 -0
- package/dist/upgrade/service-refresh.d.ts +38 -0
- package/dist/upgrade/service-refresh.js +138 -0
- package/dist/upgrade/service-refresh.js.map +1 -0
- package/dist/upgrade/update.d.ts +49 -0
- package/dist/upgrade/update.js +228 -0
- package/dist/upgrade/update.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
# frely-cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
设备 MCP 的产品定义与通用客户端接入见 [`docs/device-mcp.md`](docs/device-mcp.md)。
|
|
4
4
|
|
|
5
|
-
`frely-cli`
|
|
5
|
+
`frely-cli` includes FrelyMCP: let agents access your device from any location. Browser agents and command-line agents such as Codex and Claude Code use MCP to access the files, commands and processes on the computer you authorize. Invoking Frely-hosted Agents and sharing local model Providers are optional CLI features with their own setup and authorization.
|
|
6
6
|
|
|
7
7
|
**Release boundary (checked 2026-09-17):** npm `frely-cli@latest` resolves to
|
|
8
|
-
`0.6.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
`0.6.2`. The published tarball includes device MCP, Provider commands,
|
|
9
|
+
`frely skill install` and `frely agent invoke`. Agent examples below apply to that
|
|
10
|
+
release. Package contents establish command availability; service deployment,
|
|
11
|
+
account or API-key access and client connections need their own verification.
|
|
12
12
|
|
|
13
13
|
```text
|
|
14
14
|
Remote Agent Skill: install -> frely login -> frely skill install -> frely agent invoke
|
|
15
|
-
|
|
15
|
+
Device MCP: install on target computer -> frely login -> frely mcp -> add MCP URL to client -> OAuth authorize
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
`frely skill install` installs a local trigger Skill. It does not install a model or change the user's current model Provider/Base URL. `frely mcp
|
|
18
|
+
`frely skill install` installs a local trigger Skill. It does not install a model or change the user's current model Provider/Base URL. `frely mcp` provisions local file, shell, process, and workspace execution; consuming a remote Frely Agent does not require that local execution authorization.
|
|
19
19
|
|
|
20
20
|
There is no separate `friday-local` project. Local MCP execution belongs to `frely-cli`.
|
|
21
21
|
|
|
@@ -57,32 +57,57 @@ npm install --global frely-cli@0.3.6
|
|
|
57
57
|
|
|
58
58
|
## Update an existing installation
|
|
59
59
|
|
|
60
|
-
If you installed `frely-cli` with the official installer, run the [Quick install](#quick-install) installer again. It replaces the global package with the latest `frely-cli` release. If you installed the package directly with npm, run one of the commands in [Install or update with npm](#install-or-update-with-npm) again.
|
|
61
|
-
|
|
62
|
-
If multiple `frely` executables are installed, list the candidates and check the npm global installation:
|
|
63
|
-
|
|
64
|
-
```sh
|
|
65
|
-
type -a frely
|
|
66
|
-
npm prefix --global
|
|
67
|
-
"$(npm prefix --global)/bin/frely" --version
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
Your shell uses the first `frely` path in `PATH`. If that path is not the npm global bin directory, put `$(npm prefix --global)/bin` earlier in `PATH` and run `frely --version` again.
|
|
71
|
-
|
|
72
|
-
If the background Device Relay service is running, restart it after the update so it loads the new CLI version:
|
|
73
|
-
|
|
74
|
-
```sh
|
|
75
|
-
frely mcp service stop
|
|
76
|
-
frely mcp service start
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Verify the update:
|
|
80
|
-
|
|
81
60
|
```sh
|
|
82
|
-
frely --version
|
|
83
61
|
frely doctor
|
|
62
|
+
frely upgrade
|
|
84
63
|
```
|
|
85
64
|
|
|
65
|
+
`doctor` reports the installation path, distribution and latest stable version.
|
|
66
|
+
Release lookup has a timeout; offline version checks do not fail other diagnostics.
|
|
67
|
+
Use `doctor --json` for structured results. `upgrade` has no options and never
|
|
68
|
+
changes to a different installer, edits PATH or downgrades a newer installation.
|
|
69
|
+
|
|
70
|
+
On macOS/Linux, `upgrade` updates the current standalone, npm-global or Bun-global
|
|
71
|
+
installation. Standalone downloads are checksum-checked and tested before the
|
|
72
|
+
installed executable is replaced. npm/Bun keep their original global directory
|
|
73
|
+
and run with `--ignore-scripts`. Unknown installations, local links, source
|
|
74
|
+
checkouts and temporary runners are left unchanged.
|
|
75
|
+
|
|
76
|
+
A matching, running Device Relay service is paused for maintenance, restarted
|
|
77
|
+
and checked after installation. Credentials, device identity, MCP URL, workspace
|
|
78
|
+
and authorization expiry are preserved. Stopped or uninstalled services stay
|
|
79
|
+
that way. If requests or managed processes are still running, the upgrade exits
|
|
80
|
+
without stopping them. Finish those tasks and run the command in a local terminal;
|
|
81
|
+
an upgrade invoked inside the MCP service being upgraded is itself active work.
|
|
82
|
+
The connection may disconnect during the service restart. Installation, runtime
|
|
83
|
+
version and Relay connectivity are reported separately.
|
|
84
|
+
|
|
85
|
+
On Windows, `upgrade` prints a PowerShell command for the detected installation.
|
|
86
|
+
Run it in a local terminal after finishing Frely tasks, then run `frely doctor`.
|
|
87
|
+
The CLI does not launch an update helper or schedule a background replacement.
|
|
88
|
+
|
|
89
|
+
For an already-running macOS/Linux service with automatic refresh support,
|
|
90
|
+
updating the same installation with npm, Bun or the standalone installer also
|
|
91
|
+
loads the new version without manual service commands. The service checks local
|
|
92
|
+
installation files every five seconds, waits for two stable observations and
|
|
93
|
+
checks that the new CLI starts. Active calls, managed processes and buffered
|
|
94
|
+
responses defer the switch; calls remain available while work finishes.
|
|
95
|
+
It uses the existing service supervisor and does not download updates itself.
|
|
96
|
+
The MCP address, credentials, workspace and authorization expiry stay unchanged.
|
|
97
|
+
|
|
98
|
+
A service that is stopped or not installed is never started by this watcher.
|
|
99
|
+
Foreground sessions, source/link installs, changes of installation path and
|
|
100
|
+
Windows replacement remain outside automatic refresh. A short reconnection
|
|
101
|
+
window is possible; failed or outcome-unknown calls are not replayed.
|
|
102
|
+
|
|
103
|
+
Versions predating the upgrade/refresh support require a one-time transition;
|
|
104
|
+
see [service maintenance and legacy upgrades](docs/service-maintenance.md).
|
|
105
|
+
Manual pause/resume commands remain in maintenance help.
|
|
106
|
+
|
|
107
|
+
If more than one `frely` is installed, check the path shown by `doctor` before
|
|
108
|
+
upgrading. The CLI does not remove other installations or choose one by changing
|
|
109
|
+
shell configuration. See [the self-upgrade contract](docs/self-upgrade.md).
|
|
110
|
+
|
|
86
111
|
## Install from a local checkout
|
|
87
112
|
|
|
88
113
|
To install the current source checkout with Bun:
|
|
@@ -124,12 +149,12 @@ Open the printed URL only in the browser signed in to the account you want to us
|
|
|
124
149
|
|
|
125
150
|
`FRELY_NO_BROWSER=1` remains supported for scripts and existing setups. `frely login --help` lists the available options.
|
|
126
151
|
|
|
127
|
-
###
|
|
152
|
+
### Invoke a Frely-hosted Agent
|
|
128
153
|
|
|
129
|
-
The
|
|
130
|
-
|
|
154
|
+
The verified npm release `0.6.2` includes the Agent installation and invocation
|
|
155
|
+
commands below. Use a published Agent with account or restricted API-key access.
|
|
131
156
|
|
|
132
|
-
To install a published Frely Agent as a local trigger Skill
|
|
157
|
+
To install a published Frely Agent as a local trigger Skill:
|
|
133
158
|
|
|
134
159
|
```sh
|
|
135
160
|
frely skill install https://app.frely.cloud/api/public/virtual-models/<distribution-id> \
|
|
@@ -158,17 +183,19 @@ printf '%s' 'Your complete task' | \
|
|
|
158
183
|
frely agent invoke '<distribution-id>' --input-stdin --json
|
|
159
184
|
```
|
|
160
185
|
|
|
161
|
-
###
|
|
186
|
+
### Device MCP: control this computer from a remote client
|
|
187
|
+
|
|
188
|
+
Frely CLI turns the target computer into a personal device MCP service. ChatGPT in a browser, Claude Code on another computer, and other remote HTTP MCP clients with OAuth use the same endpoint. Install and run Frely CLI on the computer to control; the calling computer only needs its MCP client.
|
|
162
189
|
|
|
163
|
-
|
|
190
|
+
Enable file, shell and process access on the target computer:
|
|
164
191
|
|
|
165
192
|
```sh
|
|
166
|
-
frely mcp
|
|
193
|
+
frely mcp --workspace /path/to/project
|
|
167
194
|
```
|
|
168
195
|
|
|
169
196
|
`frely login` requests a restricted account session through browser device authorization. Basic sessions use private plaintext files, not the OS credential store. Legacy account cookies do not migrate to this store. Basic features and Network commands do not initialize MCP credentials.
|
|
170
197
|
|
|
171
|
-
`frely mcp
|
|
198
|
+
`frely mcp` initializes a separate secure MCP key, requests browser approval for this device and workspace, and installs the user-level Device Relay service. The default authorization is 90 days; `--days 1..180` selects a duration. `frely mcp renew --days 180` requires a new approval and rotates the MCP execution key. The MCP URL remains bound to the device. Login refresh, OAuth refresh, restart and repeated setup do not extend authorization.
|
|
172
199
|
|
|
173
200
|
Services use macOS LaunchAgents, Linux systemd user units, or Windows Task Scheduler for the logged-on user. Windows implementation needs native acceptance testing. Linux MCP secure storage can require Secret Service or an injected key; basic installation does not.
|
|
174
201
|
|
|
@@ -178,20 +205,28 @@ You can print the URL again with:
|
|
|
178
205
|
frely mcp url
|
|
179
206
|
```
|
|
180
207
|
|
|
208
|
+
If MCP has not been configured, `frely mcp url` automatically runs the equivalent of `frely mcp setup --workspace ~`: it requests browser approval for your home directory (90 days by default), then installs the background service and prints the URL. Run `frely login` first. To select a project directory instead, run `frely mcp --workspace /path/to/project` before requesting the URL. Existing workspaces are preserved; expired authorization still requires `frely mcp renew`. Setup 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.
|
|
209
|
+
|
|
181
210
|
Add the exact printed URL to a remote MCP client with OAuth support, choose
|
|
182
211
|
OAuth and complete authorization. Keep the computer online. Ask the client to
|
|
183
212
|
list the top-level names in your selected workspace, without writing files or
|
|
184
213
|
running shell commands. A returned result that matches the folder verifies the
|
|
185
|
-
first connection. `frely doctor`
|
|
214
|
+
first connection. `frely doctor` shows whether the running relay has a recent heartbeat; it does not complete client OAuth authorization or execute a tool through that client.
|
|
186
215
|
|
|
187
|
-
If a call fails,
|
|
216
|
+
Use `frely doctor` for a quick overview. If a call fails, run `frely doctor -v` for detailed diagnostics.
|
|
188
217
|
|
|
189
|
-
|
|
218
|
+
For Claude Code on the calling computer, replace the placeholder with the URL printed on the target computer:
|
|
190
219
|
|
|
191
220
|
```sh
|
|
192
|
-
|
|
221
|
+
claude mcp add --transport http frely-computer "<MCP_URL>"
|
|
193
222
|
```
|
|
194
223
|
|
|
224
|
+
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. Unknown-outcome writes must not be replayed.
|
|
225
|
+
|
|
226
|
+
Manage your devices in Frely → **Device MCP** (`/user/account/connections`). The page shows execution permission and connection history, not a live online indicator. Client OAuth authorization and device execution permission have separate lifecycles.
|
|
227
|
+
|
|
228
|
+
`frely mcp setup` and `frely mcp chatgpt` remain compatibility aliases. The latter prints the same connection details; it does not create a ChatGPT-specific service. A bare `frely mcp` uses the current directory.
|
|
229
|
+
|
|
195
230
|
## Local model sharing
|
|
196
231
|
|
|
197
232
|
`frely-cli` can publish a loopback OpenAI-compatible runtime as a Frely personal Provider. Ollama is the default driver.
|
|
@@ -225,14 +260,18 @@ frely provider finalize <provider-id>
|
|
|
225
260
|
|
|
226
261
|
`finalize` resumes CPA setup for a Provider left in a prepared state.
|
|
227
262
|
|
|
263
|
+
## Frely Cloud
|
|
264
|
+
|
|
265
|
+
Use `frely cloud` to discover and call cloud business operations. See [Cloud commands and authorization](docs/cloud.md).
|
|
266
|
+
|
|
228
267
|
## Commands
|
|
229
268
|
|
|
230
269
|
```text
|
|
231
270
|
frely login [--relay <https-url>] [--no-browser]
|
|
232
271
|
frely logout
|
|
233
272
|
frely whoami
|
|
234
|
-
frely
|
|
235
|
-
frely
|
|
273
|
+
frely doctor [-v] [--json]
|
|
274
|
+
frely upgrade
|
|
236
275
|
frely skill install <manifest-url> [--host chatgpt|codex|claude-code|pi|generic] [--scope global|project] [--api-key-stdin] [--json]
|
|
237
276
|
frely skill status <distribution-id> [--json]
|
|
238
277
|
frely skill remove <distribution-id> [--json]
|
|
@@ -240,12 +279,11 @@ frely agent invoke <distribution-id> (--input <text>|--input-stdin) [--json]
|
|
|
240
279
|
frely provider share [ollama|openai-compatible] [--url <loopback-v1-url>] [--models <a,b>] [--slot <slot-id>] [--name <name>]
|
|
241
280
|
frely provider list [--json]
|
|
242
281
|
frely provider finalize <provider-id>
|
|
243
|
-
frely mcp
|
|
282
|
+
frely mcp [--workspace <path>] [--days 1..180]
|
|
283
|
+
frely mcp renew [--days 1..180]
|
|
244
284
|
frely mcp url [--json]
|
|
245
|
-
frely mcp status [--json]
|
|
246
|
-
frely mcp chatgpt
|
|
247
285
|
frely mcp serve [--workspace <path>]
|
|
248
|
-
frely mcp service
|
|
286
|
+
frely mcp service start|stop|uninstall
|
|
249
287
|
frely mcp revoke
|
|
250
288
|
frely mcp stdio [--workspace <path>]
|
|
251
289
|
```
|
|
@@ -273,7 +311,7 @@ Enrollment returns:
|
|
|
273
311
|
```
|
|
274
312
|
|
|
275
313
|
The public MCP URL is the canonical resource returned by Relay, for example
|
|
276
|
-
`https://
|
|
314
|
+
`https://connect.frely.cloud/mcp/<device-id>`. Use `frely mcp url`; do not derive the URL
|
|
277
315
|
from the control-plane hostname. The URL contains no bearer secret. Remote MCP clients use OAuth 2.1 Authorization Code + PKCE. OAuth access tokens bind to the exact MCP resource URL and do not extend the 90/180-day local execution authorization. Relay OAuth requirements are defined in [`docs/mcp-oauth-relay-contract.md`](docs/mcp-oauth-relay-contract.md).
|
|
278
316
|
|
|
279
317
|
A Device Relay connection request uses the enrolled Ed25519 device key and returns a short-lived connection grant:
|
|
@@ -308,7 +346,31 @@ MCP secrets use AES-256-GCM files with a master key in macOS Keychain, Windows C
|
|
|
308
346
|
|
|
309
347
|
The stable MCP URL contains no credential. Remote clients hold OAuth credentials; the CLI holds the MCP execution private key. The Relay checks OAuth resource binding and the current MCP execution lease. Expiry blocks requests and queued work and cancels managed execution. It does not undo writes or create a sandbox around arbitrary shell programs.
|
|
310
348
|
|
|
311
|
-
`frely doctor`
|
|
349
|
+
`frely doctor` is the single diagnostic entry point. It reports the installation
|
|
350
|
+
path and distribution, checks the latest stable release with a deadline, and reads
|
|
351
|
+
local account, MCP authorization, service and connection state. It does not access
|
|
352
|
+
the MCP keyring in summary mode. An unavailable release source is informational;
|
|
353
|
+
unconfigured account/MCP features remain optional.
|
|
354
|
+
|
|
355
|
+
`frely doctor -v` (also `--verbose`) adds configuration paths, runtime details,
|
|
356
|
+
service state, authorization expiry, last received heartbeat and sanitized last
|
|
357
|
+
connection error. It also checks session storage, the account session and any
|
|
358
|
+
configured MCP secure key/server authorization. Add `--json` to either view for
|
|
359
|
+
structured output. Confirmed failures and unknown connectivity for a configured
|
|
360
|
+
relay return a nonzero exit code.
|
|
361
|
+
|
|
362
|
+
A running process is not proof of connectivity. Connected means the matching
|
|
363
|
+
account/device process has received a WebSocket heartbeat within 75 seconds.
|
|
364
|
+
The MCP authorization and workspace must also match the running relay. Missing,
|
|
365
|
+
stale or old-runtime observations are reported as unknown. Verbose diagnostics
|
|
366
|
+
include the running CLI version, entry path and start time. Diagnostics never
|
|
367
|
+
restart the service or open a second relay connection. Neither mode claims
|
|
368
|
+
to test client OAuth or an end-to-end tool call.
|
|
369
|
+
|
|
370
|
+
Legacy `frely status`, `frely mcp status`, `frely mcp service status` and
|
|
371
|
+
`frely doctor --mcp` remain compatible for existing scripts, but are no longer
|
|
372
|
+
listed as recommended diagnostic entry points. The legacy status output shapes
|
|
373
|
+
are unchanged; `doctor --mcp` requests verbose checks and requires MCP setup.
|
|
312
374
|
|
|
313
375
|
Storage, migration, service injection, release requirements and threat boundaries: [`docs/credential-storage.md`](docs/credential-storage.md).
|
|
314
376
|
|
|
@@ -357,3 +419,8 @@ node dist/index.js network help --json
|
|
|
357
419
|
```
|
|
358
420
|
|
|
359
421
|
CLI unit tests use a fake credential store and temporary home directories. They do not verify the user's OS credential-store permissions or a deployed Network.
|
|
422
|
+
|
|
423
|
+
The planned unified MCP entry will support wallet-funded capability use without
|
|
424
|
+
a Frely account. Current device MCP authorization and demo Network calls do not
|
|
425
|
+
implement that complete flow. See [Wallet access plan](docs/mcp-wallet-access-plan.md)
|
|
426
|
+
for the accepted product boundary and remaining work.
|
package/dist/agent-help.d.ts
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
export declare const COMMANDS: readonly [{
|
|
2
|
+
readonly id: "cloud";
|
|
3
|
+
readonly usage: "frely cloud list|describe|call|login|logout [--help]";
|
|
4
|
+
readonly auth: "cloud-oauth";
|
|
5
|
+
readonly effect: "subcommand-dependent";
|
|
6
|
+
readonly purpose: "Discover and call Frely cloud business operations at app.frely.cloud/mcp. Use describe before call; parameters and results are JSON.";
|
|
7
|
+
}, {
|
|
8
|
+
readonly id: "upgrade";
|
|
9
|
+
readonly usage: "frely upgrade";
|
|
10
|
+
readonly auth: "none";
|
|
11
|
+
readonly effect: "local-write";
|
|
12
|
+
readonly purpose: "Upgrade the current installation to the latest stable release. Windows prints a manual command; doctor checks versions.";
|
|
13
|
+
}, {
|
|
2
14
|
readonly id: "help";
|
|
3
15
|
readonly usage: "frely help --agent --json";
|
|
4
16
|
readonly auth: "none";
|
|
@@ -52,18 +64,12 @@ export declare const COMMANDS: readonly [{
|
|
|
52
64
|
readonly auth: "account";
|
|
53
65
|
readonly effect: "read";
|
|
54
66
|
readonly purpose: "Read the signed-in account.";
|
|
55
|
-
}, {
|
|
56
|
-
readonly id: "status";
|
|
57
|
-
readonly usage: "frely status [--json]";
|
|
58
|
-
readonly auth: "none";
|
|
59
|
-
readonly effect: "read";
|
|
60
|
-
readonly purpose: "Inspect CLI and authentication status.";
|
|
61
67
|
}, {
|
|
62
68
|
readonly id: "doctor";
|
|
63
|
-
readonly usage: "frely doctor [
|
|
69
|
+
readonly usage: "frely doctor [-v] [--json]";
|
|
64
70
|
readonly auth: "optional-account";
|
|
65
71
|
readonly effect: "diagnostic";
|
|
66
|
-
readonly purpose: "
|
|
72
|
+
readonly purpose: "Show installation, available upgrades, account, MCP and connection status; -v runs detailed diagnostics.";
|
|
67
73
|
}, {
|
|
68
74
|
readonly id: "provider.share";
|
|
69
75
|
readonly usage: "frely provider share [ollama|openai-compatible] [--url <loopback-v1-url>] [--models <a,b>] [--slot <slot-id>] [--name <name>]";
|
|
@@ -84,34 +90,22 @@ export declare const COMMANDS: readonly [{
|
|
|
84
90
|
readonly purpose: "Finish a prepared local Provider.";
|
|
85
91
|
}, {
|
|
86
92
|
readonly id: "mcp.setup";
|
|
87
|
-
readonly usage: "frely mcp [
|
|
93
|
+
readonly usage: "frely mcp [--workspace <path>] [--days 1..180]";
|
|
88
94
|
readonly auth: "account-and-browser";
|
|
89
95
|
readonly effect: "authorization";
|
|
90
|
-
readonly purpose: "
|
|
96
|
+
readonly purpose: "Enable this computer as a device MCP service for remote HTTP MCP clients with OAuth; install its background service.";
|
|
91
97
|
}, {
|
|
92
98
|
readonly id: "mcp.renew";
|
|
93
99
|
readonly usage: "frely mcp renew [--days 1..180]";
|
|
94
100
|
readonly auth: "account-and-browser";
|
|
95
101
|
readonly effect: "authorization";
|
|
96
|
-
readonly purpose: "Renew
|
|
102
|
+
readonly purpose: "Renew this device's execution authorization without changing its MCP URL.";
|
|
97
103
|
}, {
|
|
98
104
|
readonly id: "mcp.url";
|
|
99
105
|
readonly usage: "frely mcp url [--json]";
|
|
100
|
-
readonly auth: "mcp";
|
|
101
|
-
readonly effect: "
|
|
102
|
-
readonly purpose: "Read this device's MCP URL.";
|
|
103
|
-
}, {
|
|
104
|
-
readonly id: "mcp.status";
|
|
105
|
-
readonly usage: "frely mcp status [--json]";
|
|
106
|
-
readonly auth: "none";
|
|
107
|
-
readonly effect: "read";
|
|
108
|
-
readonly purpose: "Inspect local MCP authorization metadata.";
|
|
109
|
-
}, {
|
|
110
|
-
readonly id: "mcp.chatgpt";
|
|
111
|
-
readonly usage: "frely mcp chatgpt";
|
|
112
|
-
readonly auth: "mcp";
|
|
113
|
-
readonly effect: "read";
|
|
114
|
-
readonly purpose: "Read MCP connection details for ChatGPT.";
|
|
106
|
+
readonly auth: "account-and-mcp-or-browser";
|
|
107
|
+
readonly effect: "authorization-if-unconfigured";
|
|
108
|
+
readonly purpose: "Read this device's stable MCP URL. If unconfigured, set up the user home directory with browser approval and install the background service. --json includes HTTP transport and OAuth connection details; setup prompts go to stderr.";
|
|
115
109
|
}, {
|
|
116
110
|
readonly id: "mcp.serve";
|
|
117
111
|
readonly usage: "frely mcp serve [--workspace <path>]";
|
|
@@ -120,16 +114,16 @@ export declare const COMMANDS: readonly [{
|
|
|
120
114
|
readonly purpose: "Serve authorized local workspace tools.";
|
|
121
115
|
}, {
|
|
122
116
|
readonly id: "mcp.service";
|
|
123
|
-
readonly usage: "frely mcp service
|
|
117
|
+
readonly usage: "frely mcp service start|stop|uninstall";
|
|
124
118
|
readonly auth: "none";
|
|
125
119
|
readonly effect: "local-service";
|
|
126
|
-
readonly purpose: "
|
|
120
|
+
readonly purpose: "Pause, resume or remove the local MCP background service for maintenance. Supported upgrades restore running services without these commands.";
|
|
127
121
|
}, {
|
|
128
122
|
readonly id: "mcp.revoke";
|
|
129
123
|
readonly usage: "frely mcp revoke";
|
|
130
124
|
readonly auth: "account";
|
|
131
125
|
readonly effect: "remote-write";
|
|
132
|
-
readonly purpose: "Revoke
|
|
126
|
+
readonly purpose: "Revoke device MCP execution authorization for every connected client.";
|
|
133
127
|
}, {
|
|
134
128
|
readonly id: "mcp.stdio";
|
|
135
129
|
readonly usage: "frely mcp stdio [--workspace <path>]";
|
|
@@ -150,6 +144,18 @@ export declare function agentHelp(): {
|
|
|
150
144
|
skill_update_required: boolean;
|
|
151
145
|
instructions: string[];
|
|
152
146
|
commands: readonly [{
|
|
147
|
+
readonly id: "cloud";
|
|
148
|
+
readonly usage: "frely cloud list|describe|call|login|logout [--help]";
|
|
149
|
+
readonly auth: "cloud-oauth";
|
|
150
|
+
readonly effect: "subcommand-dependent";
|
|
151
|
+
readonly purpose: "Discover and call Frely cloud business operations at app.frely.cloud/mcp. Use describe before call; parameters and results are JSON.";
|
|
152
|
+
}, {
|
|
153
|
+
readonly id: "upgrade";
|
|
154
|
+
readonly usage: "frely upgrade";
|
|
155
|
+
readonly auth: "none";
|
|
156
|
+
readonly effect: "local-write";
|
|
157
|
+
readonly purpose: "Upgrade the current installation to the latest stable release. Windows prints a manual command; doctor checks versions.";
|
|
158
|
+
}, {
|
|
153
159
|
readonly id: "help";
|
|
154
160
|
readonly usage: "frely help --agent --json";
|
|
155
161
|
readonly auth: "none";
|
|
@@ -203,18 +209,12 @@ export declare function agentHelp(): {
|
|
|
203
209
|
readonly auth: "account";
|
|
204
210
|
readonly effect: "read";
|
|
205
211
|
readonly purpose: "Read the signed-in account.";
|
|
206
|
-
}, {
|
|
207
|
-
readonly id: "status";
|
|
208
|
-
readonly usage: "frely status [--json]";
|
|
209
|
-
readonly auth: "none";
|
|
210
|
-
readonly effect: "read";
|
|
211
|
-
readonly purpose: "Inspect CLI and authentication status.";
|
|
212
212
|
}, {
|
|
213
213
|
readonly id: "doctor";
|
|
214
|
-
readonly usage: "frely doctor [
|
|
214
|
+
readonly usage: "frely doctor [-v] [--json]";
|
|
215
215
|
readonly auth: "optional-account";
|
|
216
216
|
readonly effect: "diagnostic";
|
|
217
|
-
readonly purpose: "
|
|
217
|
+
readonly purpose: "Show installation, available upgrades, account, MCP and connection status; -v runs detailed diagnostics.";
|
|
218
218
|
}, {
|
|
219
219
|
readonly id: "provider.share";
|
|
220
220
|
readonly usage: "frely provider share [ollama|openai-compatible] [--url <loopback-v1-url>] [--models <a,b>] [--slot <slot-id>] [--name <name>]";
|
|
@@ -235,34 +235,22 @@ export declare function agentHelp(): {
|
|
|
235
235
|
readonly purpose: "Finish a prepared local Provider.";
|
|
236
236
|
}, {
|
|
237
237
|
readonly id: "mcp.setup";
|
|
238
|
-
readonly usage: "frely mcp [
|
|
238
|
+
readonly usage: "frely mcp [--workspace <path>] [--days 1..180]";
|
|
239
239
|
readonly auth: "account-and-browser";
|
|
240
240
|
readonly effect: "authorization";
|
|
241
|
-
readonly purpose: "
|
|
241
|
+
readonly purpose: "Enable this computer as a device MCP service for remote HTTP MCP clients with OAuth; install its background service.";
|
|
242
242
|
}, {
|
|
243
243
|
readonly id: "mcp.renew";
|
|
244
244
|
readonly usage: "frely mcp renew [--days 1..180]";
|
|
245
245
|
readonly auth: "account-and-browser";
|
|
246
246
|
readonly effect: "authorization";
|
|
247
|
-
readonly purpose: "Renew
|
|
247
|
+
readonly purpose: "Renew this device's execution authorization without changing its MCP URL.";
|
|
248
248
|
}, {
|
|
249
249
|
readonly id: "mcp.url";
|
|
250
250
|
readonly usage: "frely mcp url [--json]";
|
|
251
|
-
readonly auth: "mcp";
|
|
252
|
-
readonly effect: "
|
|
253
|
-
readonly purpose: "Read this device's MCP URL.";
|
|
254
|
-
}, {
|
|
255
|
-
readonly id: "mcp.status";
|
|
256
|
-
readonly usage: "frely mcp status [--json]";
|
|
257
|
-
readonly auth: "none";
|
|
258
|
-
readonly effect: "read";
|
|
259
|
-
readonly purpose: "Inspect local MCP authorization metadata.";
|
|
260
|
-
}, {
|
|
261
|
-
readonly id: "mcp.chatgpt";
|
|
262
|
-
readonly usage: "frely mcp chatgpt";
|
|
263
|
-
readonly auth: "mcp";
|
|
264
|
-
readonly effect: "read";
|
|
265
|
-
readonly purpose: "Read MCP connection details for ChatGPT.";
|
|
251
|
+
readonly auth: "account-and-mcp-or-browser";
|
|
252
|
+
readonly effect: "authorization-if-unconfigured";
|
|
253
|
+
readonly purpose: "Read this device's stable MCP URL. If unconfigured, set up the user home directory with browser approval and install the background service. --json includes HTTP transport and OAuth connection details; setup prompts go to stderr.";
|
|
266
254
|
}, {
|
|
267
255
|
readonly id: "mcp.serve";
|
|
268
256
|
readonly usage: "frely mcp serve [--workspace <path>]";
|
|
@@ -271,16 +259,16 @@ export declare function agentHelp(): {
|
|
|
271
259
|
readonly purpose: "Serve authorized local workspace tools.";
|
|
272
260
|
}, {
|
|
273
261
|
readonly id: "mcp.service";
|
|
274
|
-
readonly usage: "frely mcp service
|
|
262
|
+
readonly usage: "frely mcp service start|stop|uninstall";
|
|
275
263
|
readonly auth: "none";
|
|
276
264
|
readonly effect: "local-service";
|
|
277
|
-
readonly purpose: "
|
|
265
|
+
readonly purpose: "Pause, resume or remove the local MCP background service for maintenance. Supported upgrades restore running services without these commands.";
|
|
278
266
|
}, {
|
|
279
267
|
readonly id: "mcp.revoke";
|
|
280
268
|
readonly usage: "frely mcp revoke";
|
|
281
269
|
readonly auth: "account";
|
|
282
270
|
readonly effect: "remote-write";
|
|
283
|
-
readonly purpose: "Revoke
|
|
271
|
+
readonly purpose: "Revoke device MCP execution authorization for every connected client.";
|
|
284
272
|
}, {
|
|
285
273
|
readonly id: "mcp.stdio";
|
|
286
274
|
readonly usage: "frely mcp stdio [--workspace <path>]";
|
|
@@ -296,3 +284,4 @@ export declare function agentHelp(): {
|
|
|
296
284
|
}];
|
|
297
285
|
};
|
|
298
286
|
export declare function cliUsage(): string;
|
|
287
|
+
export declare function mcpUsage(): string;
|
package/dist/agent-help.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { VERSION } from "./version.js";
|
|
2
2
|
export const COMMANDS = [
|
|
3
|
+
{ id: "cloud", usage: "frely cloud list|describe|call|login|logout [--help]", auth: "cloud-oauth", effect: "subcommand-dependent", purpose: "Discover and call Frely cloud business operations at app.frely.cloud/mcp. Use describe before call; parameters and results are JSON." },
|
|
4
|
+
{ 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." },
|
|
3
5
|
{ id: "help", usage: "frely help --agent --json", auth: "none", effect: "read", purpose: "Read this installed CLI's current Agent instructions." },
|
|
4
6
|
{ id: "key.budget", usage: "frely key budget (--api-key-stdin [--relay <url>]|--distribution <distribution-id>) [--json]", auth: "api-key", effect: "read", purpose: "Read the Key's self usage and each funding source's limits without account login." },
|
|
5
7
|
{ id: "skill.install", usage: "frely skill install <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." },
|
|
@@ -9,19 +11,16 @@ export const COMMANDS = [
|
|
|
9
11
|
{ id: "login", usage: "frely login [--relay <url>] [--no-browser]", auth: "browser", effect: "authorization", purpose: "Authorize the CLI for the user's Frely account." },
|
|
10
12
|
{ id: "logout", usage: "frely logout", auth: "none", effect: "local-write", purpose: "Remove login and stop the MCP background service." },
|
|
11
13
|
{ id: "whoami", usage: "frely whoami", auth: "account", effect: "read", purpose: "Read the signed-in account." },
|
|
12
|
-
{ id: "
|
|
13
|
-
{ id: "doctor", usage: "frely doctor [--mcp] [--json]", auth: "optional-account", effect: "diagnostic", purpose: "Check runtime and credential-store availability." },
|
|
14
|
+
{ id: "doctor", usage: "frely doctor [-v] [--json]", auth: "optional-account", effect: "diagnostic", purpose: "Show installation, available upgrades, account, MCP and connection status; -v runs detailed diagnostics." },
|
|
14
15
|
{ 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." },
|
|
15
16
|
{ id: "provider.list", usage: "frely provider list [--json]", auth: "account", effect: "read", purpose: "List configured local Providers." },
|
|
16
17
|
{ id: "provider.finalize", usage: "frely provider finalize <provider-id>", auth: "account", effect: "remote-write", purpose: "Finish a prepared local Provider." },
|
|
17
|
-
{ id: "mcp.setup", usage: "frely mcp [
|
|
18
|
-
{ id: "mcp.renew", usage: "frely mcp renew [--days 1..180]", auth: "account-and-browser", effect: "authorization", purpose: "Renew
|
|
19
|
-
{ id: "mcp.url", usage: "frely mcp url [--json]", auth: "mcp", effect: "
|
|
20
|
-
{ id: "mcp.status", usage: "frely mcp status [--json]", auth: "none", effect: "read", purpose: "Inspect local MCP authorization metadata." },
|
|
21
|
-
{ id: "mcp.chatgpt", usage: "frely mcp chatgpt", auth: "mcp", effect: "read", purpose: "Read MCP connection details for ChatGPT." },
|
|
18
|
+
{ id: "mcp.setup", usage: "frely mcp [--workspace <path>] [--days 1..180]", auth: "account-and-browser", effect: "authorization", purpose: "Enable this computer as a device MCP service for remote HTTP MCP clients with OAuth; install its background service." },
|
|
19
|
+
{ id: "mcp.renew", usage: "frely mcp renew [--days 1..180]", auth: "account-and-browser", effect: "authorization", purpose: "Renew this device's execution authorization without changing its MCP URL." },
|
|
20
|
+
{ id: "mcp.url", usage: "frely mcp url [--json]", auth: "account-and-mcp-or-browser", effect: "authorization-if-unconfigured", purpose: "Read this device's stable MCP URL. If unconfigured, set up the user home directory with browser approval and install the background service. --json includes HTTP transport and OAuth connection details; setup prompts go to stderr." },
|
|
22
21
|
{ id: "mcp.serve", usage: "frely mcp serve [--workspace <path>]", auth: "account-and-mcp", effect: "local-execution", purpose: "Serve authorized local workspace tools." },
|
|
23
|
-
{ id: "mcp.service", usage: "frely mcp service
|
|
24
|
-
{ id: "mcp.revoke", usage: "frely mcp revoke", auth: "account", effect: "remote-write", purpose: "Revoke
|
|
22
|
+
{ 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." },
|
|
23
|
+
{ id: "mcp.revoke", usage: "frely mcp revoke", auth: "account", effect: "remote-write", purpose: "Revoke device MCP execution authorization for every connected client." },
|
|
25
24
|
{ id: "mcp.stdio", usage: "frely mcp stdio [--workspace <path>]", auth: "mcp", effect: "local-execution", purpose: "Serve authorized local tools over stdio." },
|
|
26
25
|
{ 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." },
|
|
27
26
|
];
|
|
@@ -40,11 +39,26 @@ export function agentHelp() {
|
|
|
40
39
|
"A Key amount limit is a spending cap. It reserves no funds and remains subject to its owner's available Plan allowance and Credit.",
|
|
41
40
|
"Budget sources are independent constraints. Do not sum their remaining amounts or describe them as a Key balance.",
|
|
42
41
|
"Installing a remote Agent Skill does not replace the host's current model provider.",
|
|
42
|
+
"Device MCP exposes this computer to remote HTTP MCP clients with OAuth. Commands execute on the device, not on the calling computer.",
|
|
43
|
+
"Use frely mcp to enable device MCP, frely mcp url for its address, and frely doctor [-v] for status and diagnostics.",
|
|
44
|
+
"If MCP is unconfigured, frely mcp url sets up the user home directory with browser approval. Existing workspaces and authorization expiry stay unchanged.",
|
|
45
|
+
"Remote clients of one device share its workspace and managed processes. Shell uses the device OS account; it is not a workspace sandbox.",
|
|
43
46
|
],
|
|
44
47
|
commands: COMMANDS,
|
|
45
48
|
};
|
|
46
49
|
}
|
|
47
50
|
export function cliUsage() {
|
|
48
|
-
return "Usage:\n" + COMMANDS.map((command) => " " + command.usage + "\n").join("");
|
|
51
|
+
return "Usage:\n" + COMMANDS.filter((command) => command.id !== "mcp.service").map((command) => " " + command.usage + "\n").join("") + "\nMaintenance (not required for supported upgrades):\n frely mcp service start|stop|uninstall\n";
|
|
52
|
+
}
|
|
53
|
+
export function mcpUsage() {
|
|
54
|
+
return "Device MCP — use this computer from a remote MCP client.\n\nUsage:\n"
|
|
55
|
+
+ COMMANDS.filter((command) => command.id.startsWith("mcp.") && command.id !== "mcp.service").map((command) => " " + command.usage + "\n").join("")
|
|
56
|
+
+ "\nMaintenance (not required for supported upgrades):\n frely mcp service start|stop|uninstall\n"
|
|
57
|
+
+ "\nStatus and diagnostics: frely doctor [-v] [--json]\n\n"
|
|
58
|
+
+ "Run setup on the computer to control. Add its MCP URL to ChatGPT, Claude Code on another computer, or another HTTP MCP client, then authorize with OAuth.\n"
|
|
59
|
+
+ "If MCP is unconfigured, frely mcp url runs setup for your home directory (~), waits for browser approval, then installs the background service. Setup prompts go to stderr; stdout contains only the URL or JSON.\n"
|
|
60
|
+
+ "Existing workspaces are preserved. Expired authorization requires frely mcp renew.\n"
|
|
61
|
+
+ "Clients share the device workspace and managed processes. Shell runs under the device OS account.\n"
|
|
62
|
+
+ "Compatibility: frely mcp setup and frely mcp chatgpt remain available.\n";
|
|
49
63
|
}
|
|
50
64
|
//# 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,MAAM,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uDAAuD,EAAE;IAClJ,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,8FAA8F,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mFAAmF,EAAE;IAC1P,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,sIAAsI,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,iGAAiG,EAAE;IACnU,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gCAAgC,EAAE;IACvJ,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,+CAA+C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,qDAAqD,EAAE;IACnL,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,8EAA8E,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,+GAA+G,EAAE;IACpS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,4CAA4C,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,iDAAiD,EAAE;IAC1K,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,mDAAmD,EAAE;IAC1I,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,EAAE;IAChH,EAAE,EAAE,EAAE,QAAQ,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
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
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 frely cloud login\n frely cloud logout\n\nResults are JSON. Cloud authorization is separate from device MCP.\nCalls may create resources or incur usage. Failed writes are never replayed automatically.\n";
|
|
2
|
+
export declare function logoutCloud(): Promise<void>;
|
|
3
|
+
export declare function runCloud(args: readonly string[]): Promise<{
|
|
4
|
+
value?: unknown;
|
|
5
|
+
text?: string;
|
|
6
|
+
failed?: boolean;
|
|
7
|
+
}>;
|