frely-cli 0.23.10 → 0.23.11

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.
@@ -0,0 +1,292 @@
1
+ import { execFile, spawn } from "node:child_process";
2
+ import { basename } from "node:path";
3
+ import { promisify } from "node:util";
4
+ import { Workspace } from "../runtime/workspace.js";
5
+ const execute = promisify(execFile);
6
+ /** One tool result is cut at this size (the Agent runtime rejects larger caller tool outputs). */
7
+ export const TOOL_OUTPUT_LIMIT_BYTES = 64 * 1024;
8
+ export const DEFAULT_TOTAL_READ_BYTES = 1024 * 1024;
9
+ export const DEFAULT_MAX_ROUNDS = 16;
10
+ const OVERVIEW_LIMIT_BYTES = 8 * 1024;
11
+ const DENIED = "denied by local policy";
12
+ export const DEFAULT_READ_LIMITS = Object.freeze({ totalBytes: DEFAULT_TOTAL_READ_BYTES, maxRounds: DEFAULT_MAX_ROUNDS });
13
+ /**
14
+ * Read-only tools, with the same names and parameters as the FrelyMCP workspace tools. They run on this computer; the Agent only sees
15
+ * what a call returns.
16
+ */
17
+ export const READ_TOOLS = Object.freeze([
18
+ tool("workspace_info", "Describe the workspace and the limits of these read-only tools.", {}),
19
+ tool("list_directory", "List a directory of the workspace (path relative to the workspace root).", { path: { type: "string" } }),
20
+ tool("find_files", "Find files by glob pattern, for example **/*.ts.", { path: { type: "string" }, pattern: { type: "string" }, maxResults: { type: "integer" } }, ["pattern"]),
21
+ tool("search_files", "Search file contents for text (or a regular expression).", {
22
+ path: { type: "string" }, query: { type: "string" }, regex: { type: "boolean" }, caseSensitive: { type: "boolean" }, maxResults: { type: "integer" }, contextLines: { type: "integer" },
23
+ }, ["query"]),
24
+ tool("read_file", "Read a text file (up to 64 KiB per call; use startLine/endLine for the rest).", { path: { type: "string" }, startLine: { type: "integer" }, endLine: { type: "integer" } }, ["path"]),
25
+ tool("read_file_lines", "Read a line range of a text file.", { path: { type: "string" }, startLine: { type: "integer" }, endLine: { type: "integer" } }, ["path", "startLine"]),
26
+ tool("stat_path", "Size and type of a file or directory.", { path: { type: "string" } }, ["path"]),
27
+ ]);
28
+ function tool(name, description, properties, required = []) {
29
+ return { type: "function", name, description, parameters: { type: "object", properties, required, additionalProperties: false } };
30
+ }
31
+ /**
32
+ * Why a workspace path never leaves this computer, or null. Applies to every read-only tool result: git internals, environment files,
33
+ * key material, package-manager credentials. Gitignored files and binaries are checked separately (they need git and the file content).
34
+ */
35
+ export function localDenyReason(relativePath) {
36
+ const segments = relativePath.split(/[\\/]+/u).filter((segment) => segment !== "" && segment !== ".");
37
+ if (segments.some((segment) => segment.toLowerCase() === ".git"))
38
+ return DENIED;
39
+ const name = (segments.at(-1) ?? "").toLowerCase();
40
+ if (name === ".env" || name.startsWith(".env.") || name.startsWith(".env-"))
41
+ return DENIED;
42
+ if (/\.(pem|key|p12)$/u.test(name))
43
+ return DENIED;
44
+ if (/^id_/u.test(name))
45
+ return DENIED;
46
+ if (name === ".npmrc" || name === ".netrc" || name === ".pypirc")
47
+ return DENIED;
48
+ return null;
49
+ }
50
+ /** Which of these workspace-relative paths git ignores. Outside a git repository nothing is ignored. */
51
+ export async function gitIgnoredPaths(root, paths) {
52
+ if (paths.length === 0)
53
+ return new Set();
54
+ return new Promise((resolve) => {
55
+ const child = spawn("git", ["-C", root, "check-ignore", "--stdin", "-z"], { stdio: ["pipe", "pipe", "ignore"], windowsHide: true });
56
+ const chunks = [];
57
+ child.stdout.on("data", (chunk) => chunks.push(chunk));
58
+ child.once("error", () => resolve(new Set()));
59
+ child.once("close", (code) => resolve(code === 0 ? new Set(Buffer.concat(chunks).toString("utf8").split("\0").filter(Boolean)) : new Set()));
60
+ child.stdin.once("error", () => undefined);
61
+ child.stdin.end(paths.join("\0") + "\0");
62
+ });
63
+ }
64
+ /** The repository root for `--read` without a directory: the git top level of the current directory, else the directory itself. */
65
+ export async function defaultReadRoot(cwd) {
66
+ try {
67
+ const { stdout } = await execute("git", ["-C", cwd, "rev-parse", "--show-toplevel"], { windowsHide: true });
68
+ const top = stdout.trim();
69
+ return top === "" ? cwd : top;
70
+ }
71
+ catch {
72
+ return cwd;
73
+ }
74
+ }
75
+ export class WorkspaceReadBridge {
76
+ workspace;
77
+ limits;
78
+ used = 0;
79
+ roundsAnswered = 0;
80
+ reads = new Map();
81
+ constructor(workspace, limits) {
82
+ this.workspace = workspace;
83
+ this.limits = limits;
84
+ }
85
+ static async open(root, limits = DEFAULT_READ_LIMITS) {
86
+ return new WorkspaceReadBridge(await Workspace.open(root), limits);
87
+ }
88
+ get root() { return this.workspace.root; }
89
+ /** Restore the counters of an earlier part of the same run (resume). */
90
+ restore(state) {
91
+ this.used = state.usedBytes;
92
+ this.roundsAnswered = state.roundsAnswered;
93
+ for (const file of state.filesRead)
94
+ this.reads.set(file.path, file.bytes);
95
+ }
96
+ state() {
97
+ return { usedBytes: this.used, roundsAnswered: this.roundsAnswered, filesRead: this.filesRead() };
98
+ }
99
+ filesRead() {
100
+ return [...this.reads].map(([path, bytes]) => ({ path, bytes }));
101
+ }
102
+ /** True once the Agent has used up the round budget; its next tool calls only get "budget exhausted". */
103
+ get roundBudgetSpent() { return this.roundsAnswered >= this.limits.maxRounds; }
104
+ /** Answer one round of calls. Never throws: a failure is the tool's output. Returns `onRead(path)` events through `log`. */
105
+ async answerRound(calls, log = () => undefined) {
106
+ const exhausted = this.roundBudgetSpent;
107
+ if (!exhausted)
108
+ this.roundsAnswered += 1;
109
+ const outputs = [];
110
+ for (const call of calls) {
111
+ outputs.push({ callId: call.callId, output: exhausted || this.used >= this.limits.totalBytes ? this.exhaustedMessage() : await this.run(call, log) });
112
+ }
113
+ return outputs;
114
+ }
115
+ exhaustedMessage() {
116
+ return "budget exhausted: no more files can be read in this run. Answer with what you have already read.";
117
+ }
118
+ async run(call, log) {
119
+ let args;
120
+ try {
121
+ const parsed = call.arguments.trim() === "" ? {} : JSON.parse(call.arguments);
122
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed))
123
+ throw new Error("not an object");
124
+ args = parsed;
125
+ }
126
+ catch {
127
+ return "error: arguments must be a JSON object";
128
+ }
129
+ let output;
130
+ try {
131
+ output = await this.dispatch(call.name, args, log);
132
+ }
133
+ catch (error) {
134
+ output = `error: ${this.sanitize(error instanceof Error ? error.message : "tool failed")}`;
135
+ }
136
+ output = limitBytes(output, Math.min(TOOL_OUTPUT_LIMIT_BYTES, Math.max(0, this.limits.totalBytes - this.used)));
137
+ this.used += Buffer.byteLength(output, "utf8");
138
+ return output;
139
+ }
140
+ sanitize(message) {
141
+ return message.split(this.workspace.root).join(".");
142
+ }
143
+ noteRead(path, bytes, log) {
144
+ if (!this.reads.has(path))
145
+ log(path);
146
+ this.reads.set(path, (this.reads.get(path) ?? 0) + bytes);
147
+ }
148
+ async dispatch(name, args, log) {
149
+ switch (name) {
150
+ case "workspace_info":
151
+ return JSON.stringify({
152
+ workspace: basename(this.workspace.root),
153
+ tools: READ_TOOLS.map((entry) => entry.name),
154
+ limits: { toolOutputBytes: TOOL_OUTPUT_LIMIT_BYTES, totalBytes: this.limits.totalBytes, rounds: this.limits.maxRounds },
155
+ note: "Read-only. Git internals, .env files, key files, files ignored by git and binary files are not readable.",
156
+ });
157
+ case "list_directory": {
158
+ const path = pathArg(args, "path", ".");
159
+ if (localDenyReason(path) !== null || await this.ignored(path))
160
+ return DENIED;
161
+ const info = await this.workspace.statPath(path);
162
+ if (info.type !== "directory")
163
+ return JSON.stringify(info);
164
+ const entries = await this.workspace.listDirectory(path);
165
+ const kept = await this.visible(entries.map((entry) => ({ entry, path: joinPath(path, entry.name) })));
166
+ return JSON.stringify(kept.map(({ entry }) => entry));
167
+ }
168
+ case "stat_path": {
169
+ const path = pathArg(args, "path");
170
+ if (localDenyReason(path) !== null || await this.ignored(path))
171
+ return DENIED;
172
+ return JSON.stringify(await this.workspace.statPath(path));
173
+ }
174
+ case "find_files": {
175
+ const path = pathArg(args, "path", ".");
176
+ if (localDenyReason(path) !== null)
177
+ return DENIED;
178
+ const found = await this.workspace.findFiles(path, stringArg(args, "pattern"), intArg(args, "maxResults", 100, 1, 1000));
179
+ return JSON.stringify((await this.visible(found.map((file) => ({ file, path: file })))).map(({ file }) => file));
180
+ }
181
+ case "search_files": {
182
+ const path = pathArg(args, "path", ".");
183
+ if (localDenyReason(path) !== null)
184
+ return DENIED;
185
+ const hits = await this.workspace.searchFiles(path, stringArg(args, "query"), {
186
+ regex: args.regex === true,
187
+ caseSensitive: args.caseSensitive === true,
188
+ maxResults: intArg(args, "maxResults", 50, 1, 500),
189
+ contextLines: intArg(args, "contextLines", 0, 0, 10),
190
+ });
191
+ const kept = await this.visible(hits.map((hit) => ({ hit, path: hit.path })));
192
+ for (const { hit } of kept)
193
+ this.noteRead(hit.path, Buffer.byteLength(hit.text, "utf8"), log);
194
+ return JSON.stringify(kept.map(({ hit }) => hit));
195
+ }
196
+ case "read_file":
197
+ case "read_file_lines": {
198
+ const path = pathArg(args, "path");
199
+ if (localDenyReason(path) !== null || await this.ignored(path))
200
+ return DENIED;
201
+ const file = await this.workspace.readFileBytes(path);
202
+ if (file.data.subarray(0, 8000).includes(0))
203
+ return `${DENIED} (binary file)`;
204
+ const ranged = name === "read_file_lines" || args.startLine !== undefined || args.endLine !== undefined;
205
+ const text = ranged
206
+ ? (await this.workspace.readFileLines(path, intArg(args, "startLine", 1, 1, Number.MAX_SAFE_INTEGER), args.endLine === undefined ? undefined : intArg(args, "endLine", 1, 1, Number.MAX_SAFE_INTEGER))).content
207
+ : file.data.toString("utf8");
208
+ const returned = limitBytes(text, TOOL_OUTPUT_LIMIT_BYTES);
209
+ this.noteRead(path, Buffer.byteLength(returned, "utf8"), log);
210
+ return returned;
211
+ }
212
+ default:
213
+ return `error: unknown tool ${name.slice(0, 64)}`;
214
+ }
215
+ }
216
+ async ignored(path) {
217
+ if (path === "." || path === "")
218
+ return false;
219
+ return (await gitIgnoredPaths(this.workspace.root, [normalize(path)])).size > 0;
220
+ }
221
+ /** Drop denied and gitignored entries from a listing. */
222
+ async visible(entries) {
223
+ const allowed = entries.filter((entry) => localDenyReason(entry.path) === null);
224
+ const ignored = await gitIgnoredPaths(this.workspace.root, allowed.map((entry) => normalize(entry.path)));
225
+ return allowed.filter((entry) => !ignored.has(normalize(entry.path)));
226
+ }
227
+ /**
228
+ * A path tree of the files the Agent may read, cut at `maxBytes`: the first thing it gets, so it can choose what to open. Uses
229
+ * `git ls-files` (tracked and untracked, not ignored) in a repository, else a bounded walk.
230
+ */
231
+ async overview(maxBytes = OVERVIEW_LIMIT_BYTES) {
232
+ let files;
233
+ try {
234
+ const { stdout } = await execute("git", ["-C", this.workspace.root, "ls-files", "-z", "--cached", "--others", "--exclude-standard"], { maxBuffer: 16 * 1024 * 1024, windowsHide: true });
235
+ files = stdout.split("\0").filter(Boolean);
236
+ }
237
+ catch {
238
+ files = await this.workspace.findFiles(".", "*", 2000).catch(() => []);
239
+ }
240
+ files = [...new Set(files)].filter((file) => localDenyReason(file) === null).sort();
241
+ const lines = [];
242
+ let size = 0;
243
+ for (const file of files) {
244
+ size += Buffer.byteLength(file, "utf8") + 1;
245
+ if (size > maxBytes)
246
+ break;
247
+ lines.push(file);
248
+ }
249
+ const more = files.length - lines.length;
250
+ return `${lines.join("\n")}${more > 0 ? `\n... and ${more} more files` : ""}`;
251
+ }
252
+ }
253
+ function joinPath(base, name) {
254
+ return base === "." || base === "" ? name : `${base.replace(/[\\/]+$/u, "")}/${name}`;
255
+ }
256
+ function normalize(path) {
257
+ return path.split(/[\\/]+/u).filter((segment) => segment !== "" && segment !== ".").join("/");
258
+ }
259
+ function pathArg(args, name, fallback) {
260
+ const value = args[name];
261
+ if (value === undefined && fallback !== undefined)
262
+ return fallback;
263
+ if (typeof value !== "string" || value === "" || value.includes("\0"))
264
+ throw new Error(`${name} must be a non-empty path.`);
265
+ return value;
266
+ }
267
+ function stringArg(args, name) {
268
+ const value = args[name];
269
+ if (typeof value !== "string" || value === "")
270
+ throw new Error(`${name} is required.`);
271
+ return value;
272
+ }
273
+ function intArg(args, name, fallback, min, max) {
274
+ const value = args[name];
275
+ if (value === undefined)
276
+ return fallback;
277
+ if (typeof value !== "number" || !Number.isSafeInteger(value) || value < min || value > max)
278
+ throw new Error(`${name} must be an integer from ${min} to ${max}.`);
279
+ return value;
280
+ }
281
+ /** Cut at a byte limit on a character boundary, saying so, so the Agent knows to ask for a line range. */
282
+ export function limitBytes(text, limit) {
283
+ if (Buffer.byteLength(text, "utf8") <= limit)
284
+ return text;
285
+ const note = "\n[truncated: output limit reached; use read_file_lines for the rest]";
286
+ const room = Math.max(0, limit - Buffer.byteLength(note, "utf8"));
287
+ let cut = Buffer.from(text, "utf8").subarray(0, room).toString("utf8");
288
+ if (cut.endsWith("�"))
289
+ cut = cut.slice(0, -1);
290
+ return limit === 0 ? "" : cut + note;
291
+ }
292
+ //# sourceMappingURL=workspace-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-read.js","sourceRoot":"","sources":["../../src/agent/workspace-read.ts"],"names":[],"mappings":"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"}
@@ -168,10 +168,28 @@ export declare const COMMANDS: readonly [{
168
168
  readonly purpose: "Install the public Agent's trigger Skill; an API key goes only through stdin to secure storage.";
169
169
  }, {
170
170
  readonly id: "agent.run";
171
- readonly usage: "frely agent run <username/name> (--input <text>|--input-stdin) [--json]";
171
+ readonly usage: "frely agent run <username/name> (--input <text>|--input-stdin) [--read [<dir>] [--read-max-bytes <n>] [--read-max-rounds <n>]] [--json]";
172
172
  readonly auth: "installed-api-key-or-account";
173
173
  readonly effect: "remote-call";
174
- readonly purpose: "Send the complete relevant user request to the installed Agent through model-scoped MCP. Usage may be billed.";
174
+ readonly purpose: "Send the complete relevant user request to the installed Agent through model-scoped MCP. Usage may be billed. The call runs in a background worker and is recorded on this computer (run id on stderr), so a cut-off command loses nothing: use `frely agent result`. With --read the Agent may read files of <dir> (default: the git root of the current directory) through read-only tools that run here: only files it asks for leave this computer; .git, .env*, key files, git-ignored and binary files are refused; defaults 1 MiB read and 16 rounds per run; each round is billed, and the result lists filesRead.";
175
+ }, {
176
+ readonly id: "agent.result";
177
+ readonly usage: "frely agent result (<runId>|--last) [--wait] [--resume] [--json]";
178
+ readonly auth: "none";
179
+ readonly effect: "read";
180
+ readonly purpose: "Show a run of `frely agent run` from this computer: running (rounds done, files read so far), completed (the full text) or failed/interrupted. --wait blocks until it ends. --resume continues an interrupted or failed run from the rounds already done; the interrupted round is billed again.";
181
+ }, {
182
+ readonly id: "agent.runs";
183
+ readonly usage: "frely agent runs [--json]";
184
+ readonly auth: "none";
185
+ readonly effect: "read";
186
+ readonly purpose: "List the recent agent runs on this computer (kept 7 days).";
187
+ }, {
188
+ readonly id: "agent.cancel";
189
+ readonly usage: "frely agent cancel (<runId>|--last) [--json]";
190
+ readonly auth: "none";
191
+ readonly effect: "local-process";
192
+ readonly purpose: "Stop a running agent run; the server stops and settles what was already used.";
175
193
  }, {
176
194
  readonly id: "agent.status";
177
195
  readonly usage: "frely agent status (<username/name>|--api-key-stdin [--relay <url>]) [--json]";
@@ -595,10 +613,28 @@ export declare function agentHelp(): {
595
613
  readonly purpose: "Install the public Agent's trigger Skill; an API key goes only through stdin to secure storage.";
596
614
  }, {
597
615
  readonly id: "agent.run";
598
- readonly usage: "frely agent run <username/name> (--input <text>|--input-stdin) [--json]";
616
+ readonly usage: "frely agent run <username/name> (--input <text>|--input-stdin) [--read [<dir>] [--read-max-bytes <n>] [--read-max-rounds <n>]] [--json]";
599
617
  readonly auth: "installed-api-key-or-account";
600
618
  readonly effect: "remote-call";
601
- readonly purpose: "Send the complete relevant user request to the installed Agent through model-scoped MCP. Usage may be billed.";
619
+ readonly purpose: "Send the complete relevant user request to the installed Agent through model-scoped MCP. Usage may be billed. The call runs in a background worker and is recorded on this computer (run id on stderr), so a cut-off command loses nothing: use `frely agent result`. With --read the Agent may read files of <dir> (default: the git root of the current directory) through read-only tools that run here: only files it asks for leave this computer; .git, .env*, key files, git-ignored and binary files are refused; defaults 1 MiB read and 16 rounds per run; each round is billed, and the result lists filesRead.";
620
+ }, {
621
+ readonly id: "agent.result";
622
+ readonly usage: "frely agent result (<runId>|--last) [--wait] [--resume] [--json]";
623
+ readonly auth: "none";
624
+ readonly effect: "read";
625
+ readonly purpose: "Show a run of `frely agent run` from this computer: running (rounds done, files read so far), completed (the full text) or failed/interrupted. --wait blocks until it ends. --resume continues an interrupted or failed run from the rounds already done; the interrupted round is billed again.";
626
+ }, {
627
+ readonly id: "agent.runs";
628
+ readonly usage: "frely agent runs [--json]";
629
+ readonly auth: "none";
630
+ readonly effect: "read";
631
+ readonly purpose: "List the recent agent runs on this computer (kept 7 days).";
632
+ }, {
633
+ readonly id: "agent.cancel";
634
+ readonly usage: "frely agent cancel (<runId>|--last) [--json]";
635
+ readonly auth: "none";
636
+ readonly effect: "local-process";
637
+ readonly purpose: "Stop a running agent run; the server stops and settles what was already used.";
602
638
  }, {
603
639
  readonly id: "agent.status";
604
640
  readonly usage: "frely agent status (<username/name>|--api-key-stdin [--relay <url>]) [--json]";
@@ -28,7 +28,10 @@ export const COMMANDS = [
28
28
  { id: "remote.call", usage: "frely remote call <username/name> <tool> [--json '<object>' | --input <file>] [--replace]", auth: "cloud-oauth", effect: "remote-call", purpose: "Call one tool of a remote MCP product and print the result as JSON (exit code 1 when the tool reports an error). Each call is billed or needs a pass exactly as in an MCP client; ask the user before a call that writes data they did not ask for." },
29
29
  { id: "remote.config", usage: "frely remote config <username/name> [--write <file>] [--replace]", auth: "cloud-oauth", effect: "remote-write", purpose: "Get a new key for one remote MCP product (it replaces the previous one) and print the mcpServers JSON that MCP clients take for it; with --write the entry is merged into that JSON file (created 0600) instead of printed. The key works only for this MCP." },
30
30
  { id: "agent.install", usage: "frely agent install <username/name[@version]> [--host chatgpt|codex|claude-code|pi|generic] [--scope global|project] [--dir <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." },
31
- { id: "agent.run", usage: "frely agent run <username/name> (--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." },
31
+ { id: "agent.run", usage: "frely agent run <username/name> (--input <text>|--input-stdin) [--read [<dir>] [--read-max-bytes <n>] [--read-max-rounds <n>]] [--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. The call runs in a background worker and is recorded on this computer (run id on stderr), so a cut-off command loses nothing: use `frely agent result`. With --read the Agent may read files of <dir> (default: the git root of the current directory) through read-only tools that run here: only files it asks for leave this computer; .git, .env*, key files, git-ignored and binary files are refused; defaults 1 MiB read and 16 rounds per run; each round is billed, and the result lists filesRead." },
32
+ { id: "agent.result", usage: "frely agent result (<runId>|--last) [--wait] [--resume] [--json]", auth: "none", effect: "read", purpose: "Show a run of `frely agent run` from this computer: running (rounds done, files read so far), completed (the full text) or failed/interrupted. --wait blocks until it ends. --resume continues an interrupted or failed run from the rounds already done; the interrupted round is billed again." },
33
+ { id: "agent.runs", usage: "frely agent runs [--json]", auth: "none", effect: "read", purpose: "List the recent agent runs on this computer (kept 7 days)." },
34
+ { id: "agent.cancel", usage: "frely agent cancel (<runId>|--last) [--json]", auth: "none", effect: "local-process", purpose: "Stop a running agent run; the server stops and settles what was already used." },
32
35
  { id: "agent.status", usage: "frely agent status (<username/name>|--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." },
33
36
  { id: "agent.remove", usage: "frely agent remove <username/name> [--json]", auth: "none", effect: "local-write", purpose: "Remove an installed Agent Skill and its saved API key." },
34
37
  { id: "agent.local.add", usage: "frely agent local add <username/name | https://github.com/owner/repo> [--name <folder-name>]", auth: "optional-account", effect: "local-write", purpose: "Download an Agent's repository into its own folder under ~/frely-agents and run its setup inside the sandbox. The sandbox can write only that folder, cannot read credential folders and can reach only Frely's API plus the sites the repository lists in frely.yaml, each of which the owner approves once through a link (exit code 3 with the link when nobody can wait; approve, then run the same command again). Needs a frely.yaml with a local.run command." },
@@ -139,7 +142,10 @@ const SHORT_USAGE = {
139
142
  "item.run": "frely item run <script> [args...]",
140
143
  "item.trust": "frely item trust <folder> [--check]",
141
144
  "agent.install": "frely agent install <username/name> [--host <host>] [--api-key-stdin]",
142
- "agent.run": "frely agent run <username/name> (--input <text>|--input-stdin)",
145
+ "agent.run": "frely agent run <username/name> (--input <text>|--input-stdin) [--read [<dir>]]",
146
+ "agent.result": "frely agent result (<runId>|--last) [--wait] [--resume]",
147
+ "agent.runs": "frely agent runs",
148
+ "agent.cancel": "frely agent cancel (<runId>|--last)",
143
149
  "agent.status": "frely agent status <username/name>",
144
150
  "agent.remove": "frely agent remove <username/name>",
145
151
  "agent.local": "frely agent local add|start|stop|logs|list|remove|key",
@@ -1 +1 @@
1
- {"version":3,"file":"agent-help.js","sourceRoot":"","sources":["../src/agent-help.ts"],"names":[],"mappings":"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"}
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,oMAAoM,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,knBAAknB,EAAE;IAC54B,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,+EAA+E,EAAE;IACtK,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,kCAAkC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,khBAAkhB,EAAE;IAC7oB,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,4BAA4B,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,uJAAuJ,EAAE;IACvQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,wHAAwH,EAAE;IAC/M,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,WAAW,EAAE,KAAK,EAAE,8EAA8E,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,66BAA66B,EAAE;IAC5mC,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,mCAAmC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oEAAoE,EAAE;IACpL,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,0IAA0I,EAAE;IAC7P,EAAE,EAAE,EAAE,sBAAsB,EAAE,KAAK,EAAE,mCAAmC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,2EAA2E,EAAE;IACpM,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0NAA0N,EAAE;IACnU,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,8IAA8I,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,0MAA0M,EAAE;IACxa,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,2CAA2C,EAAE;IAC7J,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,yIAAyI,EAAE;IAC1O,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oKAAoK,EAAE;IACjQ,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,iLAAiL,EAAE;IACnS,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,4IAA4I,EAAE;IAC/O,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,iEAAiE,EAAE;IACtL,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,8FAA8F,EAAE;IAC/N,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,uHAAuH,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,gSAAgS,EAAE;IACve,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,4KAA4K,EAAE;IAC9R,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,mCAAmC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,sPAAsP,EAAE;IAC/W,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,uCAAuC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,kWAAkW,EAAE;IAC9d,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,6IAA6I,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,uTAAuT,EAAE;IAC1hB,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,yDAAyD,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,yTAAyT,EAAE;IACxc,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,2FAA2F,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,qPAAqP,EAAE;IACra,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,kEAAkE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,8PAA8P,EAAE;IACxZ,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,mKAAmK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,iGAAiG,EAAE;IAChW,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,yIAAyI,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,4lBAA4lB,EAAE;IACz0B,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,kEAAkE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kSAAkS,EAAE;IAC5a,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,4DAA4D,EAAE;IAC7J,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,8CAA8C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,+EAA+E,EAAE;IAC9M,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,+EAA+E,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,4JAA4J,EAAE;IAC9T,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,wDAAwD,EAAE;IACpL,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,8FAA8F,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,scAAsc,EAAE;IACloB,EAAE,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,+CAA+C,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,uPAAuP,EAAE;IAC3Y,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,uFAAuF,EAAE;IAC3M,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,wDAAwD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sEAAsE,EAAE;IAC1M,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sGAAsG,EAAE;IACnN,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,+FAA+F,EAAE;IACrN,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,iDAAiD,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,yIAAyI,EAAE;IAC/Q,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,+HAA+H,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,oNAAoN,EAAE;IACxa,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,EAAE;IAC5I,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,sEAAsE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,qZAAqZ,EAAE;IACviB,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,wFAAwF,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,ybAAyb,EAAE;IACrmB,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,mEAAmE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,sJAAsJ,EAAE;IAC9S,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,6CAA6C,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,4bAA4b,EAAE;IACtjB,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,wEAAwE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,gVAAgV,EAAE;IACxe,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sIAAsI,EAAE;IAC/O,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sGAAsG,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,uJAAuJ,EAAE;IAC9U,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uCAAuC,EAAE;IAC9H,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qCAAqC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uEAAuE,EAAE;IAClL,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,0BAA0B,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,wCAAwC,EAAE;IACpJ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kEAAkE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mHAAmH,EAAE;IAC3P,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,uCAAuC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qEAAqE,EAAE;IAChL,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kEAAkE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mCAAmC,EAAE;IAC3K,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,sFAAsF,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,oFAAoF,EAAE;IACxP,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,wJAAwJ,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,yRAAyR,EAAE;IACtgB,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,6DAA6D,EAAE;IAC1J,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,uEAAuE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,0FAA0F,EAAE;IACvP,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,yNAAyN,EAAE;IAC3V,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gDAAgD,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,stBAAstB,EAAE;IAC31B,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,sCAAsC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,kKAAkK,EAAE;IACvR,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,yFAAyF,EAAE;IAChM,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0GAA0G,EAAE;IAC5M,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,gFAAgF,EAAE;IACzL,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,2DAA2D,EAAE;IACjK,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,2XAA2X,EAAE;IACre,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,8RAA8R,EAAE;IAC5Y,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,0IAA0I,EAAE;IACtP,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wIAAwI,EAAE;IACpP,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,+FAA+F,EAAE;IACvM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,qDAAqD,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,0EAA0E,EAAE;CAC7M,CAAC;AAEX,MAAM,UAAU,SAAS;IACvB,OAAO;QACL,aAAa,EAAE,yBAAyB;QACxC,UAAU,EAAE,OAAO;QACnB,gBAAgB,EAAE,CAAC;QACnB,qBAAqB,EAAE,KAAK;QAC5B,YAAY,EAAE;YACZ,iFAAiF;YACjF,qHAAqH;YACrH,gGAAgG;YAChG,gHAAgH;YAChH,8GAA8G;YAC9G,oIAAoI;YACpI,mHAAmH;YACnH,qFAAqF;YACrF,sIAAsI;YACtI,8IAA8I;YAC9I,wLAAwL;YACxL,0IAA0I;SAC3I;QACD,QAAQ,EAAE,QAAQ;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAyD;IACnE,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE;IAC3J,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;IAC/E,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE;IAC1F,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE;IACvG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE;IAC3C,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE;IAC9F,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC,EAAE;IAChE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE;IACrE,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE;IAC9D,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,CAAC,EAAE;CAC/E,CAAC;AAEF,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAC9E,MAAM,WAAW,GAAqC;IACpD,OAAO,EAAE,uBAAuB;IAChC,GAAG,EAAE,8DAA8D;IACnE,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,qCAAqC;IAC3C,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE,0CAA0C;IAChD,EAAE,EAAE,8BAA8B;IAClC,IAAI,EAAE,mCAAmC;IACzC,IAAI,EAAE,0CAA0C;IAChD,UAAU,EAAE,uCAAuC;IACnD,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,uCAAuC;IAC7C,UAAU,EAAE,sCAAsC;IAClD,KAAK,EAAE,4BAA4B;IACnC,MAAM,EAAE,cAAc;IACtB,SAAS,EAAE,yBAAyB;IACpC,MAAM,EAAE,4BAA4B;IACpC,MAAM,EAAE,cAAc;IACtB,WAAW,EAAE,8EAA8E;IAC3F,eAAe,EAAE,mDAAmD;IACpE,WAAW,EAAE,8EAA8E;IAC3F,eAAe,EAAE,8BAA8B;IAC/C,eAAe,EAAE,qCAAqC;IACtD,cAAc,EAAE,8DAA8D;IAC9E,aAAa,EAAE,8BAA8B;IAC7C,UAAU,EAAE,mCAAmC;IAC/C,YAAY,EAAE,qCAAqC;IACnD,eAAe,EAAE,uEAAuE;IACxF,WAAW,EAAE,iFAAiF;IAC9F,cAAc,EAAE,yDAAyD;IACzE,YAAY,EAAE,kBAAkB;IAChC,cAAc,EAAE,qCAAqC;IACrD,cAAc,EAAE,oCAAoC;IACpD,cAAc,EAAE,oCAAoC;IACpD,aAAa,EAAE,uDAAuD;IACtE,iBAAiB,EAAE,oDAAoD;IACvE,mBAAmB,EAAE,gCAAgC;IACrD,kBAAkB,EAAE,+BAA+B;IACnD,kBAAkB,EAAE,0CAA0C;IAC9D,kBAAkB,EAAE,wBAAwB;IAC5C,oBAAoB,EAAE,iCAAiC;IACvD,iBAAiB,EAAE,uCAAuC;IAC1D,gBAAgB,EAAE,kEAAkE;IACpF,eAAe,EAAE,qBAAqB;IACtC,KAAK,EAAE,oCAAoC;IAC3C,eAAe,EAAE,+CAA+C;IAChE,gBAAgB,EAAE,gCAAgC;IAClD,MAAM,EAAE,6CAA6C;IACrD,eAAe,EAAE,2DAA2D;IAC5E,GAAG,EAAE,8BAA8B;IACnC,cAAc,EAAE,6CAA6C;IAC7D,aAAa,EAAE,8DAA8D;IAC7E,eAAe,EAAE,sDAAsD;CACxE,CAAC;AAEF,MAAM,UAAU,QAAQ;IACtB,MAAM,KAAK,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;QAClC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAC1F,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC;IAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SACtE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IACvE,OAAO,WAAW,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,sEAAsE;UACzE,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;UAChH,kFAAkF;UAClF,6VAA6V;UAC7V,iHAAiH;UACjH,8LAA8L,CAAC;AACrM,CAAC"}
package/dist/cloud.d.ts CHANGED
@@ -1,6 +1,3 @@
1
- import type { OAuthClientInformationMixed, OAuthClientMetadata, OAuthTokens } from "@modelcontextprotocol/sdk/shared/auth.js";
2
- /** Names this installation on the web console ("Frely CLI Cloud (host)"). Display only: the server limits the client by its device binding (see bindCloudClient), not by this name. */
3
- export declare function cloudClientName(host?: string): string;
4
1
  /** The server's `permission_required` or `confirmation_required` tool failure as a one-line hint, or null for any other result. */
5
2
  export declare function permissionHint(result: object): string | null;
6
3
  type CallResult = {
@@ -19,48 +16,11 @@ export declare function waitForApproval(first: CallResult, call: (input: Record<
19
16
  now?: () => number;
20
17
  sleep?: (ms: number) => Promise<void>;
21
18
  }): Promise<CallResult>;
22
- /**
23
- * Registration metadata for the Cloud OAuth client. The callback is an http loopback URL, so the client must declare
24
- * itself `native`: the server treats an unspecified type as `web` and rejects every http redirect URI of a web client.
25
- */
26
- export declare function cloudClientMetadata(redirectUrl: string, host?: string): OAuthClientMetadata & {
27
- application_type: "native";
28
- };
29
- export declare const API_USAGE = "Frely API \u2014 call your Frely account's business operations (keys, credits, orders, Creator items\u2026).\n frely api list [--group <name>] [--json]\n frely api describe <tool>\n frely api call <tool> [--json '<object>' | --input <file>] [--wait]\n\n\"list\" prints the operations grouped by area with a one-line description each; add --json for the full tool list.\nOther results are JSON. The first command opens a browser for authorization;\nfrely logout also revokes it. This authorization is separate from device MCP.\nCalls may create resources or incur usage. Failed writes are never replayed automatically.\nA new device may only read non-sensitive data; for anything else the error links to the web\nconsole page where you grant it (passkey or authenticator code required).\nWith --wait, a call that needs approval prints the link, then blocks until the owner decides and\ncontinues by itself: it returns the real result once approved, or the refusal when denied or expired.\n";
30
- interface StoredCloud {
31
- version: 1;
32
- resource: string;
33
- redirectUrl: string;
34
- client?: OAuthClientInformationMixed;
35
- /** The device this client was last bound to on the server; the binding is what makes the client this computer's CLI. */
36
- bound?: {
37
- clientId: string;
38
- deviceId: string;
39
- };
40
- tokens?: OAuthTokens;
41
- expiresAt?: number;
42
- }
43
- /**
44
- * Tells the server which enrolled device this Cloud client belongs to, so it is limited and shown as this computer's CLI. The server decides by
45
- * this binding, not by the client's name. Skipped when the same client was already bound to the same device; throws when the server refuses.
46
- */
47
- export declare function bindCloudClient(stored: Pick<StoredCloud, "client" | "bound">, device: {
48
- deviceId: string;
49
- }, post: (body: {
50
- clientId: string;
51
- deviceId: string;
52
- }) => Promise<Response>): Promise<{
53
- clientId: string;
54
- deviceId: string;
55
- } | null>;
56
- /** True when this computer still holds the older Cloud MCP authorization that `frely api` used before it moved onto the controller connection. */
57
- export declare function hasLegacyCloudAuthorization(): Promise<boolean>;
19
+ export declare const API_USAGE = "Frely API \u2014 call your Frely account's business operations (keys, credits, orders, Creator items\u2026).\n frely api list [--group <name>] [--json]\n frely api describe <tool>\n frely api call <tool> [--json '<object>' | --input <file>] [--wait]\n\n\"list\" prints the operations grouped by area with a one-line description each; add --json for the full tool list.\nOther results are JSON. The first command asks you to approve this computer in your browser (the same approval as frely controller login);\nfrely logout also revokes it. Without a terminal it prints the approval link and exits; run it again after approving.\nCalls may create resources or incur usage. Failed writes are never replayed automatically.\nA new device may only read non-sensitive data; for anything else the error links to the web\nconsole page where you grant it (passkey or authenticator code required).\nWith --wait, a call that needs approval prints the link, then blocks until the owner decides and\ncontinues by itself: it returns the real result once approved, or the refusal when denied or expired.\n";
20
+ /** Revokes and forgets the Cloud authorization an older CLI left behind; there is nothing to do on a computer that never had one. */
58
21
  export declare function logoutCloud(): Promise<void>;
59
- export declare const NON_INTERACTIVE_AUTHORIZATION = "Cloud authorization is required, but this is not an interactive terminal. Run frely api list in a terminal you can type in to authorize in the browser once, then run this command again.";
60
22
  /** True when a person can finish a browser authorization: both stdin and stderr (where the link is printed) are terminals. */
61
23
  export declare function isInteractiveTerminal(): boolean;
62
- /** The underlying failure as ": <one line, at most 200 characters>", or "" when there is none. */
63
- export declare function failureCause(error: unknown): string;
64
24
  interface ListedTool {
65
25
  name: string;
66
26
  description?: string;