frely-cli 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +13 -21
  2. package/README.zh-CN.md +15 -9
  3. package/dist/agent-help.d.ts +22 -22
  4. package/dist/agent-help.js +13 -13
  5. package/dist/agent-help.js.map +1 -1
  6. package/dist/auth.d.ts +2 -0
  7. package/dist/auth.js +1 -0
  8. package/dist/auth.js.map +1 -1
  9. package/dist/cloud.d.ts +15 -0
  10. package/dist/cloud.js +54 -1
  11. package/dist/cloud.js.map +1 -1
  12. package/dist/device/relay-client.js +2 -0
  13. package/dist/device/relay-client.js.map +1 -1
  14. package/dist/diagnostics.js +6 -6
  15. package/dist/diagnostics.js.map +1 -1
  16. package/dist/index.js +63 -19
  17. package/dist/index.js.map +1 -1
  18. package/dist/mcp-authorization.d.ts +1 -1
  19. package/dist/mcp-authorization.js +8 -8
  20. package/dist/mcp-authorization.js.map +1 -1
  21. package/dist/mcp-command.d.ts +28 -11
  22. package/dist/mcp-command.js +56 -23
  23. package/dist/mcp-command.js.map +1 -1
  24. package/dist/runtime/diagnostics.js +4 -3
  25. package/dist/runtime/diagnostics.js.map +1 -1
  26. package/dist/runtime/mcp-lease.js +1 -1
  27. package/dist/runtime/mcp-lease.js.map +1 -1
  28. package/dist/runtime/mcp.d.ts +26 -0
  29. package/dist/runtime/mcp.js +36 -20
  30. package/dist/runtime/mcp.js.map +1 -1
  31. package/dist/runtime/process-tree.d.ts +7 -0
  32. package/dist/runtime/process-tree.js +16 -1
  33. package/dist/runtime/process-tree.js.map +1 -1
  34. package/dist/runtime/protected-paths.d.ts +1 -1
  35. package/dist/runtime/protected-paths.js +5 -4
  36. package/dist/runtime/protected-paths.js.map +1 -1
  37. package/dist/runtime/sandbox.d.ts +42 -1
  38. package/dist/runtime/sandbox.js +128 -6
  39. package/dist/runtime/sandbox.js.map +1 -1
  40. package/dist/runtime/ssh-proxy.d.ts +20 -0
  41. package/dist/runtime/ssh-proxy.js +86 -0
  42. package/dist/runtime/ssh-proxy.js.map +1 -0
  43. package/dist/runtime/workspace.js +10 -4
  44. package/dist/runtime/workspace.js.map +1 -1
  45. package/dist/skill/cloud-item.d.ts +3 -1
  46. package/dist/skill/cloud-item.js +8 -2
  47. package/dist/skill/cloud-item.js.map +1 -1
  48. package/dist/update/installation.js +3 -2
  49. package/dist/update/installation.js.map +1 -1
  50. package/dist/update/release.d.ts +18 -7
  51. package/dist/update/release.js +59 -46
  52. package/dist/update/release.js.map +1 -1
  53. package/dist/update/update.d.ts +3 -1
  54. package/dist/update/update.js +38 -25
  55. package/dist/update/update.js.map +1 -1
  56. package/dist/workspace-command.js +1 -1
  57. package/dist/workspace-command.js.map +1 -1
  58. package/package.json +1 -1
@@ -1,14 +1,25 @@
1
1
  import type { Installation } from "./installation.js";
2
+ /** Where one standalone release can be downloaded; tried in order, each verified on its own. */
3
+ export type ReleaseSource = {
4
+ kind: "github";
5
+ baseUrl: string;
6
+ }
7
+ /** The same executable as an npm package tarball holding `package/frely[.exe]` and its `.sha256`. */
8
+ | {
9
+ kind: "npm";
10
+ registry: string;
11
+ tarballUrl: string;
12
+ };
2
13
  export interface Release {
3
14
  version: string;
4
- baseUrl?: string; /** Tried when `baseUrl` (the mirror) cannot supply the asset. */
5
- fallbackBaseUrl?: string;
15
+ sources?: ReleaseSource[];
6
16
  }
7
- /** Static mirror of the GitHub release assets, reachable from mainland China. `FRELY_RELEASE_MIRROR=off` disables it; any https URL replaces it. */
8
- export declare const DEFAULT_RELEASE_MIRROR = "https://dl.frely.cloud/cli";
9
- export declare function releaseMirror(env?: NodeJS.ProcessEnv): string | null;
17
+ /** npmmirror is the China CDN of npmjs; both carry @frelyhq/cli-<target>. */
18
+ export declare const NPM_REGISTRIES: string[];
19
+ export declare function platformPackage(asset?: string): string;
20
+ export declare function releaseSources(version: string, asset?: string): ReleaseSource[];
10
21
  export declare function stableVersion(value: unknown): string;
11
22
  export declare function compareVersions(a: string, b: string): number;
12
- /** `mirror: null` skips the mirror lookup. A standalone installation asks the mirror first and GitHub only when the mirror has no answer. */
13
- export declare function latestRelease(installation: Installation, request?: typeof fetch, mirror?: string | null): Promise<Release>;
23
+ /** A standalone installation asks GitHub first and the npm registries (npmmirror, then npmjs) when GitHub cannot answer. */
24
+ export declare function latestRelease(installation: Installation, request?: typeof fetch): Promise<Release>;
14
25
  export declare function standaloneAsset(platform?: NodeJS.Platform, arch?: NodeJS.Architecture, target?: string | undefined): string;
@@ -1,21 +1,31 @@
1
- /** Static mirror of the GitHub release assets, reachable from mainland China. `FRELY_RELEASE_MIRROR=off` disables it; any https URL replaces it. */
2
- export const DEFAULT_RELEASE_MIRROR = "https://dl.frely.cloud/cli";
3
- export function releaseMirror(env = process.env) {
4
- const value = (env.FRELY_RELEASE_MIRROR ?? "").trim();
5
- if (value === "off")
6
- return null;
7
- const url = new URL(value || DEFAULT_RELEASE_MIRROR);
8
- if (url.protocol !== "https:" || url.username || url.password)
9
- throw new Error("FRELY_RELEASE_MIRROR must be an https URL without credentials, or off.");
10
- return url.toString().replace(/\/+$/u, "");
11
- }
12
1
  const GITHUB_RELEASES = "https://github.com/FrelyHQ/frely-cli/releases/download";
13
- async function mirrorRelease(mirror, request) {
14
- const response = await request(`${mirror}/latest`, { headers: { "user-agent": "frely-cli" }, signal: AbortSignal.timeout(4000), redirect: "error" });
15
- if (!response.ok)
16
- throw new Error(`Mirror lookup failed (HTTP ${response.status}).`);
17
- const version = stableVersion((await response.text()).trim());
18
- return { version, baseUrl: `${mirror}/v${version}`, fallbackBaseUrl: `${GITHUB_RELEASES}/v${version}` };
2
+ /** npmmirror is the China CDN of npmjs; both carry @frelyhq/cli-<target>. */
3
+ export const NPM_REGISTRIES = ["https://registry.npmmirror.com", "https://registry.npmjs.org"];
4
+ export function platformPackage(asset = standaloneAsset()) {
5
+ return `@frelyhq/cli-${asset.replace(/^frely-/u, "").replace(/\.exe$/u, "")}`;
6
+ }
7
+ export function releaseSources(version, asset = standaloneAsset()) {
8
+ const name = platformPackage(asset);
9
+ return [
10
+ { kind: "github", baseUrl: `${GITHUB_RELEASES}/v${version}` },
11
+ ...NPM_REGISTRIES.map((registry) => ({ kind: "npm", registry, tarballUrl: `${registry}/${name}/-/${name.split("/")[1]}-${version}.tgz` })),
12
+ ];
13
+ }
14
+ /** GitHub cannot be reached (mainland China and similar networks): ask the npm registries for the platform package's latest version. */
15
+ async function npmLatest(request, asset) {
16
+ for (const registry of NPM_REGISTRIES) {
17
+ try {
18
+ const response = await request(`${registry}/${platformPackage(asset)}/latest`, { headers: { accept: "application/json", "user-agent": "frely-cli" }, signal: AbortSignal.timeout(6000), redirect: "error" });
19
+ if (!response.ok)
20
+ continue;
21
+ const text = await response.text();
22
+ if (text.length > 1024 * 1024)
23
+ continue;
24
+ return stableVersion(JSON.parse(text).version);
25
+ }
26
+ catch { /* next registry */ }
27
+ }
28
+ throw new Error("Release lookup failed on GitHub, npmmirror and npmjs.");
19
29
  }
20
30
  export function stableVersion(value) {
21
31
  if (typeof value !== "string" || !/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/u.test(value))
@@ -33,37 +43,40 @@ export function compareVersions(a, b) {
33
43
  return aa[i] > bb[i] ? 1 : -1;
34
44
  return a.includes("-") === b.includes("-") ? 0 : a.includes("-") ? -1 : 1;
35
45
  }
36
- /** `mirror: null` skips the mirror lookup. A standalone installation asks the mirror first and GitHub only when the mirror has no answer. */
37
- export async function latestRelease(installation, request = fetch, mirror = releaseMirror()) {
46
+ /** A standalone installation asks GitHub first and the npm registries (npmmirror, then npmjs) when GitHub cannot answer. */
47
+ export async function latestRelease(installation, request = fetch) {
38
48
  const standalone = installation.method === "standalone";
39
- if (standalone && mirror) {
40
- try {
41
- return await mirrorRelease(mirror, request);
42
- }
43
- catch { /* GitHub below */ }
49
+ let version;
50
+ try {
51
+ const response = await request(standalone
52
+ ? "https://api.github.com/repos/FrelyHQ/frely-cli/releases/latest"
53
+ // npm/bun resolve from the abbreviated packument, which can lag /latest after a publish; check what they will install.
54
+ : "https://registry.npmjs.org/frely-cli", {
55
+ headers: { accept: standalone ? "application/json" : "application/vnd.npm.install-v1+json", "user-agent": "frely-cli" },
56
+ signal: AbortSignal.timeout(4000), redirect: "error",
57
+ });
58
+ if (!response.ok)
59
+ throw new Error(`Release lookup failed (HTTP ${response.status}).`);
60
+ const text = await response.text();
61
+ if (text.length > 1024 * 1024)
62
+ throw new Error("Release metadata is too large.");
63
+ const data = JSON.parse(text);
64
+ if (standalone && (data.draft !== false || data.prerelease !== false))
65
+ throw new Error("GitHub release is not a stable published release.");
66
+ if (!standalone && data.name !== "frely-cli")
67
+ throw new Error("Release package name does not match frely-cli.");
68
+ const latest = standalone ? undefined : data["dist-tags"]?.latest;
69
+ version = stableVersion(standalone ? String(data.tag_name).replace(/^v/u, "") : latest);
70
+ if (!standalone && !data.versions?.[version])
71
+ throw new Error("Registry metadata does not list its latest version.");
72
+ }
73
+ catch (error) {
74
+ // A GitHub answer that is invalid (draft, bad tag) is a real error, not a network problem.
75
+ if (!standalone || (error instanceof Error && /stable/u.test(error.message)))
76
+ throw error;
77
+ version = await npmLatest(request, standaloneAsset());
44
78
  }
45
- const response = await request(standalone
46
- ? "https://api.github.com/repos/FrelyHQ/frely-cli/releases/latest"
47
- // npm/bun resolve from the abbreviated packument, which can lag /latest after a publish; check what they will install.
48
- : "https://registry.npmjs.org/frely-cli", {
49
- headers: { accept: standalone ? "application/json" : "application/vnd.npm.install-v1+json", "user-agent": "frely-cli" },
50
- signal: AbortSignal.timeout(4000), redirect: "error",
51
- });
52
- if (!response.ok)
53
- throw new Error(`Release lookup failed (HTTP ${response.status}).`);
54
- const text = await response.text();
55
- if (text.length > 1024 * 1024)
56
- throw new Error("Release metadata is too large.");
57
- const data = JSON.parse(text);
58
- if (standalone && (data.draft !== false || data.prerelease !== false))
59
- throw new Error("GitHub release is not a stable published release.");
60
- if (!standalone && data.name !== "frely-cli")
61
- throw new Error("Release package name does not match frely-cli.");
62
- const latest = standalone ? undefined : data["dist-tags"]?.latest;
63
- const version = stableVersion(standalone ? String(data.tag_name).replace(/^v/u, "") : latest);
64
- if (!standalone && !data.versions?.[version])
65
- throw new Error("Registry metadata does not list its latest version.");
66
- return { version, ...(standalone ? { baseUrl: `${GITHUB_RELEASES}/v${version}` } : {}) };
79
+ return { version, ...(standalone ? { sources: releaseSources(version) } : {}) };
67
80
  }
68
81
  export function standaloneAsset(platform = process.platform, arch = process.arch, target = typeof FRELY_BUILD_TARGET === "string" ? FRELY_BUILD_TARGET : undefined) {
69
82
  // Compiled target includes libc, so an Alpine executable never changes distribution during an update.
@@ -1 +1 @@
1
- {"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/update/release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/update/release.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,9 @@ export interface PreparedUpdate {
24
24
  restore(): Promise<void>;
25
25
  cleanup(): Promise<void>;
26
26
  }
27
- export declare function prepareStandalone(installation: Installation, release: Release, fetchFile?: typeof download, execute?: typeof installedVersion): Promise<PreparedUpdate>;
27
+ /** System tar (macOS and Linux ship one; standalone updates do not run on Windows). */
28
+ declare function systemUnpack(tarball: string, directory: string): Promise<void>;
29
+ export declare function prepareStandalone(installation: Installation, release: Release, fetchFile?: typeof download, execute?: typeof installedVersion, unpack?: typeof systemUnpack): Promise<PreparedUpdate>;
28
30
  declare function installPackage(installation: Installation, version: string): Promise<void>;
29
31
  declare function lockInstallation(installation: Installation): Promise<() => Promise<void>>;
30
32
  declare const defaults: {
@@ -1,6 +1,6 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { execFile as execFileCallback } from "node:child_process";
3
- import { chmod, copyFile, lstat, mkdtemp, open, readFile, realpath, rename, rm } from "node:fs/promises";
3
+ import { chmod, copyFile, lstat, mkdir, mkdtemp, open, readFile, realpath, rename, rm } from "node:fs/promises";
4
4
  import { dirname, join } from "node:path";
5
5
  import { homedir } from "node:os";
6
6
  import { promisify } from "node:util";
@@ -9,7 +9,7 @@ import { readDeviceBinding } from "../device/state.js";
9
9
  import { connectionIsLive, readConnectionStatus } from "../device/connection-status.js";
10
10
  import { serviceCommand, serviceStatus, startMcpService, stopMcpService } from "../service.js";
11
11
  import { inspectInstallation, manualUpdateCommand, packageArguments } from "./installation.js";
12
- import { compareVersions, latestRelease, releaseMirror, standaloneAsset } from "./release.js";
12
+ import { compareVersions, latestRelease, NPM_REGISTRIES, standaloneAsset } from "./release.js";
13
13
  import { acquireMaintenance } from "./maintenance.js";
14
14
  const execFile = promisify(execFileCallback);
15
15
  const pause = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
@@ -33,22 +33,13 @@ export async function installedVersion(installation) {
33
33
  const args = installation.method === "standalone" ? ["--version"] : [installation.entry, "--version"];
34
34
  return (await execFile(file, args, { cwd: homedir(), timeout: 10000, maxBuffer: 65536 })).stdout.trim();
35
35
  }
36
- const DOWNLOAD_HOSTS = ["github.com", "release-assets.githubusercontent.com", "objects.githubusercontent.com"];
37
- function mirrorHosts() {
38
- try {
39
- const mirror = releaseMirror();
40
- return mirror ? [new URL(mirror).hostname] : [];
41
- }
42
- catch {
43
- return [];
44
- }
45
- }
36
+ const DOWNLOAD_HOSTS = ["github.com", "release-assets.githubusercontent.com", "objects.githubusercontent.com", ...NPM_REGISTRIES.map((url) => new URL(url).hostname), "cdn.npmmirror.com"];
46
37
  async function download(url, destination, maxBytes) {
47
38
  const signal = AbortSignal.timeout(60000);
48
39
  let response;
49
40
  for (let redirects = 0; redirects < 5; redirects++) {
50
41
  const parsed = new URL(url);
51
- if (parsed.protocol !== "https:" || parsed.username || parsed.password || ![...DOWNLOAD_HOSTS, ...mirrorHosts()].includes(parsed.hostname))
42
+ if (parsed.protocol !== "https:" || parsed.username || parsed.password || !DOWNLOAD_HOSTS.includes(parsed.hostname))
52
43
  throw new Error("Unsupported release download location.");
53
44
  response = await fetch(url, { signal, redirect: "manual" });
54
45
  if ([301, 302, 303, 307, 308].includes(response.status)) {
@@ -89,7 +80,11 @@ export async function validateStandalone(path, checksum, version, execute = inst
89
80
  if (await execute({ method: "standalone", platform: process.platform, entry: path }) !== version)
90
81
  throw new Error("Downloaded executable did not report the target version.");
91
82
  }
92
- export async function prepareStandalone(installation, release, fetchFile = download, execute = installedVersion) {
83
+ /** System tar (macOS and Linux ship one; standalone updates do not run on Windows). */
84
+ async function systemUnpack(tarball, directory) {
85
+ await execFile("tar", ["-xzf", tarball, "-C", directory], { timeout: 60000, maxBuffer: 65536 });
86
+ }
87
+ export async function prepareStandalone(installation, release, fetchFile = download, execute = installedVersion, unpack = systemUnpack) {
93
88
  const target = installation.entry;
94
89
  if (!(await lstat(target)).isFile())
95
90
  throw new Error("The installation is not a regular file.");
@@ -97,22 +92,40 @@ export async function prepareStandalone(installation, release, fetchFile = downl
97
92
  const next = join(stage, "frely"), backup = join(stage, "previous");
98
93
  try {
99
94
  const asset = standaloneAsset();
100
- // Checksum and executable must come from the same source; a mirror failure of any kind falls back to GitHub as a whole.
101
- const fromBase = async (base) => {
95
+ // Each source supplies its own checksum; any failure (connection, size, checksum, startup) moves to the next source as a whole.
96
+ const fromSource = async (source) => {
102
97
  await rm(join(stage, "checksum"), { force: true });
103
98
  await rm(next, { force: true });
104
- await fetchFile(`${base}/${asset}.sha256`, join(stage, "checksum"), 1024);
105
- await fetchFile(`${base}/${asset}`, next, 200 * 1024 * 1024);
99
+ await rm(join(stage, "npm"), { recursive: true, force: true });
100
+ if (source.kind === "github") {
101
+ await fetchFile(`${source.baseUrl}/${asset}.sha256`, join(stage, "checksum"), 1024);
102
+ await fetchFile(`${source.baseUrl}/${asset}`, next, 200 * 1024 * 1024);
103
+ }
104
+ else {
105
+ const tarball = join(stage, "package.tgz"), unpacked = join(stage, "npm");
106
+ await rm(tarball, { force: true });
107
+ await fetchFile(source.tarballUrl, tarball, 200 * 1024 * 1024);
108
+ await mkdir(unpacked);
109
+ await unpack(tarball, unpacked);
110
+ await rename(join(unpacked, "package", "frely"), next);
111
+ await copyFile(join(unpacked, "package", "frely.sha256"), join(stage, "checksum"));
112
+ }
106
113
  await validateStandalone(next, await readFile(join(stage, "checksum"), "utf8"), release.version, execute);
107
114
  };
108
- try {
109
- await fromBase(release.baseUrl);
110
- }
111
- catch (error) {
112
- if (!release.fallbackBaseUrl)
113
- throw error;
114
- await fromBase(release.fallbackBaseUrl);
115
+ let lastError = new Error("No release source is available.");
116
+ let prepared = false;
117
+ for (const source of release.sources ?? []) {
118
+ try {
119
+ await fromSource(source);
120
+ prepared = true;
121
+ break;
122
+ }
123
+ catch (error) {
124
+ lastError = error;
125
+ }
115
126
  }
127
+ if (!prepared)
128
+ throw lastError;
116
129
  await copyFile(target, backup);
117
130
  return {
118
131
  apply: () => rename(next, target),
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/update/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/update/update.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { addWorkspace, ensureWorkspaceRegistered, listWorkspaces, removeWorkspac
3
3
  /** `frely mcp workspace list|add <path>|remove <path>`. `args` is the normalized argv, e.g. ["mcp", "workspace", "add", "/path"]. */
4
4
  export async function runWorkspaceCommand({ args, primary: primaryInput, write }) {
5
5
  if (!primaryInput)
6
- throw new Error("MCP is not enabled. Run frely mcp url.");
6
+ throw new Error("MCP is not enabled. Run frely mcp start.");
7
7
  const primary = await realpath(primaryInput);
8
8
  // The primary workspace is always registered, so it is listed and routed like any other root.
9
9
  await ensureWorkspaceRegistered(primary);
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-command.js","sourceRoot":"","sources":["../src/workspace-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAS3H,qIAAqI;AACrI,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAyB;IACrG,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC7C,8FAA8F;IAC9F,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,mBAAmB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC;QACvD,KAAK,CAAC,kCAAkC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3B,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI;YACzE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,KAAe;IAC/C,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,MAAM,CAAC,OAAe,EAAE,KAAe;IAC9C,OAAO,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7I,CAAC"}
1
+ {"version":3,"file":"workspace-command.js","sourceRoot":"","sources":["../src/workspace-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAS3H,qIAAqI;AACrI,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAyB;IACrG,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC7C,8FAA8F;IAC9F,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,mBAAmB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC;QACvD,KAAK,CAAC,kCAAkC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3B,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI;YACzE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,KAAe;IAC/C,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,MAAM,CAAC,OAAe,EAAE,KAAe;IAC9C,OAAO,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7I,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frely-cli",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "Frely account CLI and local MCP runtime",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {