frely-cli 0.6.1 → 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 +188 -38
- package/dist/agent-help.d.ts +287 -0
- package/dist/agent-help.js +64 -0
- package/dist/agent-help.js.map +1 -0
- package/dist/auth.d.ts +3 -1
- package/dist/auth.js +3 -2
- package/dist/auth.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 +7 -0
- package/dist/device/relay-client.js +124 -56
- 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 +157 -38
- package/dist/index.js.map +1 -1
- package/dist/key-budget.d.ts +22 -0
- package/dist/key-budget.js +97 -0
- package/dist/key-budget.js.map +1 -0
- 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/diagnostics.d.ts +17 -0
- package/dist/runtime/diagnostics.js +84 -0
- package/dist/runtime/diagnostics.js.map +1 -0
- package/dist/runtime/mcp.d.ts +3 -0
- package/dist/runtime/mcp.js +40 -23
- package/dist/runtime/mcp.js.map +1 -1
- package/dist/runtime/relay-mcp.d.ts +9 -3
- package/dist/runtime/relay-mcp.js +66 -19
- package/dist/runtime/relay-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/skill/access.d.ts +70 -0
- package/dist/skill/access.js +292 -0
- package/dist/skill/access.js.map +1 -0
- package/dist/skill/managed.d.ts +32 -0
- package/dist/skill/managed.js +152 -0
- package/dist/skill/managed.js.map +1 -0
- 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 +3 -2
- package/skills/frely-cli/SKILL.md +8 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import { normalizeRelayUrl } from "./auth.js";
|
|
3
|
+
import { credentialStore as secureCredentialStore } from "./credential-store.js";
|
|
4
|
+
import { readManagedSkill } from "./skill/managed.js";
|
|
5
|
+
import { SKILL_API_KEY_SERVICE } from "./skill/access.js";
|
|
6
|
+
export class KeyBudgetError extends Error {
|
|
7
|
+
code;
|
|
8
|
+
status;
|
|
9
|
+
constructor(code, message, status) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.code = code;
|
|
12
|
+
this.status = status;
|
|
13
|
+
this.name = "KeyBudgetError";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export async function getKeyBudget(input) {
|
|
17
|
+
if ((input.apiKey !== undefined) === (input.distributionId !== undefined)) {
|
|
18
|
+
throw new KeyBudgetError("input_invalid", "Use exactly one of --api-key-stdin or --distribution <distribution-id>.");
|
|
19
|
+
}
|
|
20
|
+
let apiKey;
|
|
21
|
+
let relayUrl;
|
|
22
|
+
if (input.distributionId !== undefined) {
|
|
23
|
+
if (input.relayUrl !== undefined)
|
|
24
|
+
throw new KeyBudgetError("input_invalid", "--relay cannot override an installed Skill's credential destination.");
|
|
25
|
+
if (!/^creator_distribution_[a-f0-9]{24}$/u.test(input.distributionId))
|
|
26
|
+
throw new KeyBudgetError("input_invalid", "Frely distribution id is invalid.");
|
|
27
|
+
const installed = await readManagedSkill(input.distributionId, input.home ?? homedir());
|
|
28
|
+
if (!installed)
|
|
29
|
+
throw new KeyBudgetError("target_not_installed", "The Frely Skill target is not installed.");
|
|
30
|
+
if (installed.authMode !== "api-key")
|
|
31
|
+
throw new KeyBudgetError("api_key_required", "This Skill uses account login. Supply an API key through --api-key-stdin.");
|
|
32
|
+
const origin = new URL(installed.manifestUrl);
|
|
33
|
+
if (origin.username || origin.password || origin.hash || !(origin.protocol === "https:" && (origin.hostname === "frely.cloud" || origin.hostname.endsWith(".frely.cloud")) || origin.protocol === "http:" && ["localhost", "127.0.0.1", "[::1]"].includes(origin.hostname))) {
|
|
34
|
+
throw new KeyBudgetError("input_invalid", "Installed Skill credential destination is invalid.");
|
|
35
|
+
}
|
|
36
|
+
relayUrl = origin.origin;
|
|
37
|
+
try {
|
|
38
|
+
apiKey = await (input.credentialStore ?? secureCredentialStore).getPassword(SKILL_API_KEY_SERVICE, installed.distributionId) ?? "";
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
throw new KeyBudgetError("credential_store_failed", "Could not read the saved API key securely.");
|
|
42
|
+
}
|
|
43
|
+
if (!apiKey)
|
|
44
|
+
throw new KeyBudgetError("api_key_required", "The saved API key is unavailable. Reinstall this Skill with --api-key-stdin.");
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
apiKey = input.apiKey;
|
|
48
|
+
try {
|
|
49
|
+
const raw = input.relayUrl ?? process.env.FRELY_RELAY_URL;
|
|
50
|
+
if (raw) {
|
|
51
|
+
const parsed = new URL(raw);
|
|
52
|
+
if (parsed.username || parsed.password || parsed.hash)
|
|
53
|
+
throw new Error("invalid");
|
|
54
|
+
}
|
|
55
|
+
relayUrl = normalizeRelayUrl(raw);
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
throw new KeyBudgetError("input_invalid", "Relay must be an HTTPS URL or a loopback development URL without credentials.");
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (Buffer.byteLength(apiKey, "utf8") < 8 || Buffer.byteLength(apiKey, "utf8") > 8192 || /[\x00-\x20\x7f]/u.test(apiKey)) {
|
|
62
|
+
throw new KeyBudgetError("input_invalid", "The API key is invalid.");
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
const response = await (input.fetchFn ?? fetch)(relayUrl + "/api/key/budget", {
|
|
66
|
+
method: "GET",
|
|
67
|
+
headers: { accept: "application/json", authorization: "Bearer " + apiKey },
|
|
68
|
+
redirect: "error",
|
|
69
|
+
signal: AbortSignal.timeout(15_000),
|
|
70
|
+
});
|
|
71
|
+
if (!response.ok) {
|
|
72
|
+
const code = response.status === 401 ? "api_key_rejected" : response.status === 403 ? "access_denied" : response.status === 402 ? "funding_source_unavailable" : response.status === 429 ? "rate_limited" : "budget_request_failed";
|
|
73
|
+
throw new KeyBudgetError(code, "Key budget request failed with HTTP " + response.status + ".", response.status);
|
|
74
|
+
}
|
|
75
|
+
const body = await response.text();
|
|
76
|
+
if (Buffer.byteLength(body, "utf8") > 1024 * 1024 || body.includes(apiKey))
|
|
77
|
+
throw new KeyBudgetError("invalid_response", "Frely returned an invalid budget response.");
|
|
78
|
+
const result = JSON.parse(body);
|
|
79
|
+
if (result === null || typeof result !== "object" || Array.isArray(result))
|
|
80
|
+
throw new KeyBudgetError("invalid_response", "Frely returned an invalid budget response.");
|
|
81
|
+
return Object.freeze(result);
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
if (error instanceof KeyBudgetError)
|
|
85
|
+
throw error;
|
|
86
|
+
throw new KeyBudgetError("budget_request_failed", "Unable to read Key budget. Check the Relay URL and network connection.");
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export function publicKeyBudgetError(error) {
|
|
90
|
+
return {
|
|
91
|
+
ok: false,
|
|
92
|
+
error: error instanceof KeyBudgetError
|
|
93
|
+
? { code: error.code, message: error.message, ...(error.status === undefined ? {} : { status: error.status }) }
|
|
94
|
+
: { code: "budget_request_failed", message: "Unable to read Key budget." },
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=key-budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-budget.js","sourceRoot":"","sources":["../src/key-budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,10 +53,10 @@ export async function loadMcpAuthorization() {
|
|
|
53
53
|
export async function requireMcpAuthorization(workspace) {
|
|
54
54
|
const authorization = await loadMcpAuthorization();
|
|
55
55
|
if (!authorization)
|
|
56
|
-
throw new Error("MCP is not enabled. Run frely mcp
|
|
56
|
+
throw new Error("MCP is not enabled. Run frely mcp.");
|
|
57
57
|
assertMcpActive(authorization.grant);
|
|
58
58
|
if (workspace !== undefined && await realpath(resolve(workspace)) !== authorization.grant.workspace)
|
|
59
|
-
throw new Error("Workspace differs from the approved MCP workspace. Run frely mcp
|
|
59
|
+
throw new Error("Workspace differs from the approved MCP workspace. Run frely mcp for the new workspace.");
|
|
60
60
|
const auth = await requireLogin();
|
|
61
61
|
if (authorization.relayUrl !== auth.config.relayUrl || authorization.userId !== auth.user.id)
|
|
62
62
|
throw new Error("MCP authorization belongs to a different account.");
|
|
@@ -127,7 +127,7 @@ export async function setupMcpAuthorization(workspaceInput, daysInput, renew = f
|
|
|
127
127
|
throw new Error("MCP approval was denied or expired.");
|
|
128
128
|
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
129
129
|
}
|
|
130
|
-
throw new Error("MCP approval expired. Run frely mcp
|
|
130
|
+
throw new Error("MCP approval expired. Run frely mcp.");
|
|
131
131
|
}
|
|
132
132
|
export async function revokeMcpAuthorization() {
|
|
133
133
|
const metadata = await inspectMcpMetadata();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-authorization.js","sourceRoot":"","sources":["../src/mcp-authorization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-authorization.js","sourceRoot":"","sources":["../src/mcp-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC;AAChC,MAAM,OAAO,GAAG,gCAAgC,CAAC;AACjD,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAS9C,MAAM,UAAU,YAAY,CAAC,KAAuB;IAClD,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACtK,OAAO,KAAK,CAAC;AACf,CAAC;AACD,MAAM,UAAU,eAAe,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC9J,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,eAAe,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;IAC7C,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC7L,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,KAAK,CAAC,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjF,OAAO,KAAK,CAAC;AACf,CAAC;AACD,KAAK,UAAU,aAAa,CAAC,QAAqB;IAChD,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,MAAM,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;AAChE,CAAC;AACD,MAAM,OAAO,GAAG,CAAC,QAAqB,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;AAE1H,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1E,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;IAC1H,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;IAC3C,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACvM,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,KAAK,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAClI,OAAO,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;AACzG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,SAAkB;IAC9D,MAAM,aAAa,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACnD,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC1E,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,aAAa,CAAC,KAAK,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAChN,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACnK,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,cAAc,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/I,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACxI,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,cAAsB,EAAE,SAA2B,EAAE,KAAK,GAAG,KAAK,EAC5G,MAA0G;IAC1G,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1D,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACtG,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACvC,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;WACnH,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACpI,yFAAyF;IACzF,MAAM,KAAK,GAAG,QAAQ,GAAG,UAAU,EAAE,CAAC;IACtC,MAAM,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzD,IAAI,CAAC;QAAC,IAAI,MAAM,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAAC,CAAC;YACxH,CAAC;QAAC,IAAI,CAAC,MAAM,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAAC,CAAC;IAC9H,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IACpC,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpH,MAAM,QAAQ,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,sBAAsB,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5J,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS;YAC3I,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa;YACvG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;IAChC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAChQ,IAAI,QAAQ,GAAgB,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACrJ,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAsB,CAAC,CAAC,CAAC;IACxJ,MAAM,IAAI,EAAE,CAAC,CAAC,mEAAmE;IACjF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,uBAAuB,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtG,MAAM,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,cAAc,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACjI,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC7O,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAC3C,MAAM,IAAI,EAAE,CAAC;YACb,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;gBAAE,MAAM,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACpG,MAAM,OAAO,GAAG,MAAM,oBAAoB,EAAE,CAAC;YAC7C,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACxE,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACrJ,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACjL,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9E,wEAAwE;IACxE,MAAM,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjE,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;AAClC,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,IAA0B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC1E,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC;QACrI,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AACD,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC3H,MAAM,KAAK,GAAG,KAA6B,CAAC;IAC5C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;WAC1H,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;WACxH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACrH,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC1D,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;eAC1E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACvJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa;QAC7G,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AACjJ,CAAC;AACD,SAAS,mBAAmB,CAAC,KAAc,EAAE,QAAgB;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACtG,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAAC,CAAC;IACxF,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1G,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,QAAQ,EAAE,EAAE,CAAC;QAClJ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AACD,KAAK,UAAU,WAAW,CAAC,QAAkB;IAC3C,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;IACjG,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,OAAkC,CAAC;IAClD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AACzF,CAAC;AACD,KAAK,UAAU,QAAQ,CAAC,QAAkB;IACxC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;IACjG,OAAO,YAAY,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type McpAuthorization } from "./mcp-authorization.js";
|
|
2
|
+
import { installMcpService } from "./service.js";
|
|
3
|
+
/**
|
|
4
|
+
* Keep the public device-MCP entry client-neutral. Legacy commands still parse,
|
|
5
|
+
* but are not advertised as separate ways to connect a particular AI client.
|
|
6
|
+
*/
|
|
7
|
+
export declare function normalizeMcpArgs(input: readonly string[]): string[];
|
|
8
|
+
/** Bootstrap only an unconfigured device; existing grants retain their workspace and lifecycle. */
|
|
9
|
+
export declare function resolveMcpUrlAuthorization(notify: (message: string) => void, installService?: typeof installMcpService): Promise<McpAuthorization>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import { inspectMcpMetadata, requireMcpAuthorization, setupMcpAuthorization } from "./mcp-authorization.js";
|
|
3
|
+
import { installMcpService } from "./service.js";
|
|
4
|
+
/**
|
|
5
|
+
* Keep the public device-MCP entry client-neutral. Legacy commands still parse,
|
|
6
|
+
* but are not advertised as separate ways to connect a particular AI client.
|
|
7
|
+
*/
|
|
8
|
+
export function normalizeMcpArgs(input) {
|
|
9
|
+
const args = [...input];
|
|
10
|
+
if (args[0] !== "mcp")
|
|
11
|
+
return args;
|
|
12
|
+
if (args.slice(1).some((arg) => arg === "--help" || arg === "-h") || args[1] === "help")
|
|
13
|
+
return ["mcp", "help"];
|
|
14
|
+
if (!args[1] || args[1].startsWith("-"))
|
|
15
|
+
args.splice(1, 0, "setup");
|
|
16
|
+
const action = args[1];
|
|
17
|
+
const valueOptions = {
|
|
18
|
+
setup: ["--workspace", "--days"], renew: ["--workspace", "--days"],
|
|
19
|
+
url: [], chatgpt: [], status: [], revoke: [],
|
|
20
|
+
serve: ["--workspace", "--service-config-home", "--service-credential-store"],
|
|
21
|
+
stdio: ["--workspace"],
|
|
22
|
+
};
|
|
23
|
+
const flags = {
|
|
24
|
+
url: ["--json"], chatgpt: ["--json"], status: ["--json"],
|
|
25
|
+
serve: ["--provider-only"],
|
|
26
|
+
};
|
|
27
|
+
if (action === "service") {
|
|
28
|
+
if (!args[2])
|
|
29
|
+
args.push("status");
|
|
30
|
+
if (!["start", "stop", "uninstall", "status"].includes(args[2]))
|
|
31
|
+
throw new Error("Use frely mcp service start|stop|uninstall. Inspect status with frely doctor.");
|
|
32
|
+
if (args.slice(3).some((arg) => arg !== "--json") || (args.length > 3 && args[2] !== "status"))
|
|
33
|
+
throw new Error("Unsupported MCP service option. Run frely mcp --help.");
|
|
34
|
+
return args;
|
|
35
|
+
}
|
|
36
|
+
if (!Object.hasOwn(valueOptions, action))
|
|
37
|
+
throw new Error("Unknown device MCP command. Run frely mcp --help.");
|
|
38
|
+
const seen = new Set();
|
|
39
|
+
for (let i = 2; i < args.length; i++) {
|
|
40
|
+
const arg = args[i];
|
|
41
|
+
if (seen.has(arg))
|
|
42
|
+
throw new Error("Duplicate MCP option. Run frely mcp --help.");
|
|
43
|
+
seen.add(arg);
|
|
44
|
+
if (valueOptions[action].includes(arg)) {
|
|
45
|
+
const value = args[++i];
|
|
46
|
+
if (!value || value.startsWith("-"))
|
|
47
|
+
throw new Error("An MCP option is missing its value. Run frely mcp --help.");
|
|
48
|
+
}
|
|
49
|
+
else if (!(flags[action] ?? []).includes(arg)) {
|
|
50
|
+
throw new Error("Unsupported MCP option. Run frely mcp --help.");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return args;
|
|
54
|
+
}
|
|
55
|
+
/** Bootstrap only an unconfigured device; existing grants retain their workspace and lifecycle. */
|
|
56
|
+
export async function resolveMcpUrlAuthorization(notify, installService = installMcpService) {
|
|
57
|
+
if (await inspectMcpMetadata())
|
|
58
|
+
return requireMcpAuthorization();
|
|
59
|
+
const workspace = homedir();
|
|
60
|
+
notify(`No MCP workspace is configured. Setting up your home directory: ${workspace}\n`);
|
|
61
|
+
const authorization = await setupMcpAuthorization(workspace, undefined, false, ({ verificationUri, keyThumbprint, days }) => {
|
|
62
|
+
notify(`Device MCP execution authorization: ${days} days\nMCP key: ${keyThumbprint}\nApprove: ${verificationUri}\n`);
|
|
63
|
+
});
|
|
64
|
+
const service = await installService(authorization.grant.workspace);
|
|
65
|
+
notify(`Background service: ${service.active ? "running" : "installed"}\n`);
|
|
66
|
+
return authorization;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=mcp-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-command.js","sourceRoot":"","sources":["../src/mcp-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type DiagnosticLog = (line: string) => void;
|
|
2
|
+
export interface DiagnosticContext {
|
|
3
|
+
requestId?: string;
|
|
4
|
+
method?: string;
|
|
5
|
+
tool?: string;
|
|
6
|
+
durationMs?: number;
|
|
7
|
+
rpcErrorCode?: number;
|
|
8
|
+
outcome?: "ok" | "tool_error" | "protocol_error";
|
|
9
|
+
}
|
|
10
|
+
export declare function diagnostic(log: DiagnosticLog | undefined, event: string, context?: DiagnosticContext, error?: unknown): void;
|
|
11
|
+
export declare function diagnosticError(error: unknown): {
|
|
12
|
+
name: string;
|
|
13
|
+
message: string;
|
|
14
|
+
code?: string;
|
|
15
|
+
stack: string[];
|
|
16
|
+
};
|
|
17
|
+
export declare function mcpDiagnosticContext(payload: unknown): Pick<DiagnosticContext, "method" | "tool">;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { fileURLToPath } from "node:url";
|
|
2
|
+
const methods = new Set(["initialize", "ping", "tools/list", "tools/call", "notifications/initialized", "notifications/cancelled"]);
|
|
3
|
+
const tools = new Set(["workspace_info", "list_directory", "stat_path", "find_files", "search_files", "read_file", "read_file_lines", "write_file", "apply_patch", "create_directory", "delete_path", "move_path", "run_command", "start_process", "list_processes", "read_process", "write_process", "stop_process"]);
|
|
4
|
+
const root = fileURLToPath(new URL("../../", import.meta.url));
|
|
5
|
+
const codes = new Set(["ENOENT", "EACCES", "EPERM", "EEXIST", "ENOTDIR", "EISDIR", "ENOTFOUND", "EAI_AGAIN", "ECONNRESET", "ECONNREFUSED", "ETIMEDOUT", "EPIPE", "ABORT_ERR", "frame_invalid", "frame_too_large", "duplicate_request", "inflight_limit"]);
|
|
6
|
+
const messages = new Set([
|
|
7
|
+
"Duplicate Device Relay request id.", "MCP request cancelled by Relay.", "Relay MCP transport closed.",
|
|
8
|
+
"Relay MCP transport is not started.", "MCP execution authorization is missing or mismatched.",
|
|
9
|
+
"MCP device differs from the connected device.", "Invalid MCP JSON-RPC payload.",
|
|
10
|
+
"Invalid MCP JSON-RPC version.", "Invalid MCP JSON-RPC request id.",
|
|
11
|
+
"MCP command authorization was cancelled; mutation outcome may be unknown.",
|
|
12
|
+
"MCP command timed out; mutation outcome may be unknown.", "MCP command output limit exceeded.",
|
|
13
|
+
"MCP command could not be started.", "No Frely login is stored. Run `frely login`.",
|
|
14
|
+
"MCP_AUTHORIZATION_EXPIRED", "The operation was aborted", "fetch failed",
|
|
15
|
+
]);
|
|
16
|
+
// Never serialize an error object, arbitrary error message, tool arguments or output.
|
|
17
|
+
// Exception messages can embed shell commands, file contents and credentials.
|
|
18
|
+
export function diagnostic(log, event, context = {}, error) {
|
|
19
|
+
if (!log)
|
|
20
|
+
return;
|
|
21
|
+
try {
|
|
22
|
+
log(JSON.stringify({
|
|
23
|
+
timestamp: new Date().toISOString(), pid: process.pid, event,
|
|
24
|
+
...(context.requestId ? { requestId: /^[A-Za-z0-9_-]{16,96}$/u.test(context.requestId) ? context.requestId : "invalid" } : {}),
|
|
25
|
+
...(context.method ? { method: methods.has(context.method) ? context.method : "unknown" } : {}),
|
|
26
|
+
...(context.tool ? { tool: tools.has(context.tool) ? context.tool : "unknown" } : {}),
|
|
27
|
+
...(context.durationMs !== undefined ? { durationMs: Math.max(0, Math.round(context.durationMs)) } : {}),
|
|
28
|
+
...(Number.isSafeInteger(context.rpcErrorCode) ? { rpcErrorCode: context.rpcErrorCode } : {}),
|
|
29
|
+
...(context.outcome ? { outcome: context.outcome } : {}),
|
|
30
|
+
...(error !== undefined ? { error: diagnosticError(error) } : {}),
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
catch { /* A diagnostic sink must never change request execution. */ }
|
|
34
|
+
}
|
|
35
|
+
export function diagnosticError(error) {
|
|
36
|
+
if (!(error instanceof Error))
|
|
37
|
+
return { name: "Error", message: "Non-Error exception (details withheld).", stack: [] };
|
|
38
|
+
const name = ["Error", "TypeError", "RangeError", "SyntaxError", "AbortError", "DeviceRelayProtocolError"].includes(error.name) ? error.name : "Error";
|
|
39
|
+
const code = "code" in error && typeof error.code === "string" && codes.has(error.code) ? error.code : undefined;
|
|
40
|
+
let message = messages.has(error.message) ? error.message : "Error details withheld; inspect code and stack locations.";
|
|
41
|
+
if (/^MCP command exited with status (?:\d+|unknown)\.$/u.test(error.message))
|
|
42
|
+
message = error.message;
|
|
43
|
+
const http = /^(?:Frely request failed with HTTP|Unexpected server response:) (\d{3})\.?$/u.exec(error.message);
|
|
44
|
+
if (http)
|
|
45
|
+
message = `HTTP ${http[1]}.`;
|
|
46
|
+
const websocket = /^WebSocket closed \((\d{4})(?:: ([a-z_]+))?\)$/u.exec(error.message);
|
|
47
|
+
if (websocket) {
|
|
48
|
+
const reason = websocket[2] && ["hard_lifetime", "device_revoked", "revocation_check_failed", "connection_replaced", "frame_invalid"].includes(websocket[2]) ? `: ${websocket[2]}` : "";
|
|
49
|
+
message = `WebSocket closed (${websocket[1]}${reason}).`;
|
|
50
|
+
}
|
|
51
|
+
const stack = (error.stack ?? "").split("\n").filter((line) => /^\s+at /u.test(line)).slice(0, 20).map((line) => {
|
|
52
|
+
const frame = /(?:\(|\s)((?:file:\/\/\/|\/|[A-Za-z]:\\|node:)[^()\r\n]*):(\d+):(\d+)\)?$/u.exec(line);
|
|
53
|
+
if (!frame)
|
|
54
|
+
return "[external frame]";
|
|
55
|
+
let location = frame[1];
|
|
56
|
+
if (location.startsWith("file://")) {
|
|
57
|
+
try {
|
|
58
|
+
location = fileURLToPath(location);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return "[external frame]";
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (location.startsWith(root))
|
|
65
|
+
location = location.slice(root.length);
|
|
66
|
+
else if (!location.startsWith("node:"))
|
|
67
|
+
return "[external frame]";
|
|
68
|
+
if (!/^[A-Za-z0-9_./:@\\-]{1,240}$/u.test(location))
|
|
69
|
+
return "[external frame]";
|
|
70
|
+
return `${location}:${frame[2]}:${frame[3]}`;
|
|
71
|
+
});
|
|
72
|
+
return { name, message, ...(code ? { code } : {}), stack };
|
|
73
|
+
}
|
|
74
|
+
export function mcpDiagnosticContext(payload) {
|
|
75
|
+
if (!payload || typeof payload !== "object")
|
|
76
|
+
return {};
|
|
77
|
+
const record = payload;
|
|
78
|
+
const params = record.params && typeof record.params === "object" ? record.params : {};
|
|
79
|
+
return {
|
|
80
|
+
...(typeof record.method === "string" ? { method: record.method } : {}),
|
|
81
|
+
...(record.method === "tools/call" && typeof params.name === "string" ? { tool: params.name } : {}),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/runtime/diagnostics.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/mcp.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import type { MaintenanceGate } from "../upgrade/maintenance.js";
|
|
1
2
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
3
|
export interface McpRuntimeOptions {
|
|
4
|
+
maintenance?: MaintenanceGate;
|
|
3
5
|
assertAuthorized?: () => void | Promise<void>;
|
|
4
6
|
signal?: AbortSignal;
|
|
5
7
|
maxConcurrentCommands?: number;
|
|
8
|
+
onToolError?: (requestId: string | number, tool: string, error: unknown) => void;
|
|
6
9
|
}
|
|
7
10
|
export declare function createMcpServer(workspaceInput: string, options?: McpRuntimeOptions): Promise<Server>;
|
|
8
11
|
export declare function startStdioMcp(workspaceInput: string, options?: McpRuntimeOptions): Promise<void>;
|
package/dist/runtime/mcp.js
CHANGED
|
@@ -17,8 +17,9 @@ export async function createMcpServer(workspaceInput, options = {}) {
|
|
|
17
17
|
const commandScheduler = new FairRwScheduler(maxConcurrentCommands, assertAuthorized);
|
|
18
18
|
const processScheduler = new FairRwScheduler(64, assertAuthorized);
|
|
19
19
|
const processes = new ProcessManager();
|
|
20
|
+
const unregister = options.maintenance?.registerProcesses(() => processes.list().filter((p) => p.running).length);
|
|
20
21
|
const server = new Server({ name: "frely-cli", version: VERSION }, { capabilities: { tools: {} } });
|
|
21
|
-
const stop = () => { lifecycle.abort(); void processes.close(); };
|
|
22
|
+
const stop = () => { lifecycle.abort(); void processes.close().finally(() => unregister?.()); };
|
|
22
23
|
options.signal?.addEventListener("abort", stop, { once: true });
|
|
23
24
|
if (options.signal?.aborted)
|
|
24
25
|
stop();
|
|
@@ -43,21 +44,29 @@ export async function createMcpServer(workspaceInput, options = {}) {
|
|
|
43
44
|
concurrency: { type: "string", enum: ["parallel", "exclusive"], default: "parallel" },
|
|
44
45
|
}, { readOnly: false, destructive: true, idempotent: false }),
|
|
45
46
|
tool("start_process", "Start a persistent shell process as the current OS user.", { command: stringSchema("Shell command"), cwd: stringSchema("Relative working directory", ".") }, { readOnly: false, destructive: true, idempotent: false }),
|
|
46
|
-
tool("list_processes", "List processes started by this MCP
|
|
47
|
+
tool("list_processes", "List processes started by this MCP runtime.", {}, { readOnly: true }),
|
|
47
48
|
tool("read_process", "Read process output using absolute cursors.", { processId: stringSchema("Process id"), stdoutCursor: intSchema(0, 0, Number.MAX_SAFE_INTEGER), stderrCursor: intSchema(0, 0, Number.MAX_SAFE_INTEGER) }, { readOnly: true }),
|
|
48
49
|
tool("write_process", "Write stdin to a running process.", { processId: stringSchema("Process id"), input: stringSchema("Input text") }, { readOnly: false, destructive: true, idempotent: false }),
|
|
49
|
-
tool("stop_process", "Stop a process started by this MCP
|
|
50
|
+
tool("stop_process", "Stop a process started by this MCP runtime.", { processId: stringSchema("Process id") }, { readOnly: false, destructive: true, idempotent: true }),
|
|
50
51
|
] }));
|
|
51
|
-
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
52
|
+
server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
|
|
53
|
+
const finish = options.maintenance?.track();
|
|
52
54
|
const name = request.params.name;
|
|
53
55
|
const args = (request.params.arguments ?? {});
|
|
54
56
|
try {
|
|
55
|
-
const result = await dispatch(name, args, workspace, processes, workspaceScheduler, commandScheduler, processScheduler, lifecycle.signal);
|
|
57
|
+
const result = await dispatch(name, args, workspace, processes, workspaceScheduler, commandScheduler, processScheduler, AbortSignal.any([lifecycle.signal, extra.signal]));
|
|
56
58
|
return { content: [{ type: "text", text: typeof result === "string" ? result : JSON.stringify(result) }] };
|
|
57
59
|
}
|
|
58
60
|
catch (error) {
|
|
61
|
+
try {
|
|
62
|
+
options.onToolError?.(extra.requestId, name, error);
|
|
63
|
+
}
|
|
64
|
+
catch { /* Diagnostics cannot change tool results. */ }
|
|
59
65
|
return { isError: true, content: [{ type: "text", text: error instanceof Error ? error.message : "Local tool failed." }] };
|
|
60
66
|
}
|
|
67
|
+
finally {
|
|
68
|
+
finish?.();
|
|
69
|
+
}
|
|
61
70
|
});
|
|
62
71
|
return server;
|
|
63
72
|
}
|
|
@@ -66,44 +75,52 @@ export async function startStdioMcp(workspaceInput, options = {}) {
|
|
|
66
75
|
await server.connect(new StdioServerTransport());
|
|
67
76
|
}
|
|
68
77
|
async function dispatch(name, args, workspace, processes, workspaceScheduler, commandScheduler, processScheduler, signal) {
|
|
78
|
+
const guarded = (work) => async () => { signal.throwIfAborted(); return work(); };
|
|
79
|
+
const read = (work) => workspaceScheduler.read(guarded(work));
|
|
80
|
+
const write = (work) => workspaceScheduler.write(guarded(work));
|
|
81
|
+
const processRead = (work) => processScheduler.read(guarded(work));
|
|
69
82
|
if (name === "workspace_info")
|
|
70
|
-
return
|
|
83
|
+
return read(async () => workspace.info());
|
|
71
84
|
if (name === "list_directory")
|
|
72
|
-
return
|
|
85
|
+
return read(() => workspace.listDirectory(textArg(args, "path", ".")));
|
|
73
86
|
if (name === "stat_path")
|
|
74
|
-
return
|
|
87
|
+
return read(() => workspace.statPath(textArg(args, "path")));
|
|
75
88
|
if (name === "find_files")
|
|
76
|
-
return
|
|
89
|
+
return read(() => workspace.findFiles(textArg(args, "path", "."), textArg(args, "pattern"), intArg(args, "maxResults", 100, 1, 1000)));
|
|
77
90
|
if (name === "search_files")
|
|
78
|
-
return
|
|
91
|
+
return read(() => workspace.searchFiles(textArg(args, "path", "."), textArg(args, "query"), { regex: boolArg(args, "regex", false), caseSensitive: boolArg(args, "caseSensitive", false), maxResults: intArg(args, "maxResults", 100, 1, 500), contextLines: intArg(args, "contextLines", 0, 0, 10) }));
|
|
79
92
|
if (name === "read_file")
|
|
80
|
-
return
|
|
93
|
+
return read(() => workspace.readFile(textArg(args, "path")));
|
|
81
94
|
if (name === "read_file_lines")
|
|
82
|
-
return
|
|
95
|
+
return read(() => workspace.readFileLines(textArg(args, "path"), intArg(args, "startLine", 1, 1, Number.MAX_SAFE_INTEGER), optionalIntArg(args, "endLine", 1, Number.MAX_SAFE_INTEGER)));
|
|
83
96
|
if (name === "write_file")
|
|
84
|
-
return
|
|
97
|
+
return write(() => workspace.writeFile(textArg(args, "path"), textArg(args, "content"), boolArg(args, "overwrite", false)));
|
|
85
98
|
if (name === "apply_patch")
|
|
86
|
-
return
|
|
99
|
+
return write(() => workspace.applyPatch(textArg(args, "path"), arrayArg(args, "edits", 1, 100), optionalTextArg(args, "expectedSha256")));
|
|
87
100
|
if (name === "create_directory")
|
|
88
|
-
return
|
|
101
|
+
return write(() => workspace.createDirectory(textArg(args, "path")));
|
|
89
102
|
if (name === "delete_path")
|
|
90
|
-
return
|
|
103
|
+
return write(() => workspace.deletePath(textArg(args, "path"), boolArg(args, "recursive", false)));
|
|
91
104
|
if (name === "move_path")
|
|
92
|
-
return
|
|
105
|
+
return write(() => workspace.movePath(textArg(args, "from"), textArg(args, "to"), boolArg(args, "overwrite", false)));
|
|
93
106
|
if (name === "run_command") {
|
|
94
107
|
const work = () => workspace.runCommand(textArg(args, "command"), textArg(args, "cwd", "."), intArg(args, "timeoutMs", 30000, 100, 120000), signal);
|
|
95
|
-
return concurrencyArg(args) === "exclusive" ? commandScheduler.write(work) : commandScheduler.read(work);
|
|
108
|
+
return concurrencyArg(args) === "exclusive" ? commandScheduler.write(guarded(work)) : commandScheduler.read(guarded(work));
|
|
96
109
|
}
|
|
97
110
|
if (name === "start_process")
|
|
98
|
-
return
|
|
111
|
+
return processRead(async () => {
|
|
112
|
+
const cwd = await workspace.processCwd(textArg(args, "cwd", "."));
|
|
113
|
+
signal.throwIfAborted();
|
|
114
|
+
return processes.start(textArg(args, "command"), cwd, safeEnv());
|
|
115
|
+
});
|
|
99
116
|
if (name === "list_processes")
|
|
100
|
-
return
|
|
117
|
+
return processRead(async () => processes.list());
|
|
101
118
|
if (name === "read_process")
|
|
102
|
-
return
|
|
119
|
+
return processRead(async () => processes.read(textArg(args, "processId"), intArg(args, "stdoutCursor", 0, 0, Number.MAX_SAFE_INTEGER), intArg(args, "stderrCursor", 0, 0, Number.MAX_SAFE_INTEGER)));
|
|
103
120
|
if (name === "write_process")
|
|
104
|
-
return
|
|
121
|
+
return processRead(() => processes.write(textArg(args, "processId"), textArg(args, "input")));
|
|
105
122
|
if (name === "stop_process")
|
|
106
|
-
return
|
|
123
|
+
return processRead(() => processes.stop(textArg(args, "processId")));
|
|
107
124
|
throw new Error(`Unknown tool: ${name}`);
|
|
108
125
|
}
|
|
109
126
|
function tool(name, description, properties, flags) {
|
package/dist/runtime/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/runtime/mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/runtime/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
+
import { type DiagnosticLog } from "./diagnostics.js";
|
|
1
2
|
import { type McpRuntimeOptions } from "./mcp.js";
|
|
2
3
|
export declare class RelayMcpSession {
|
|
4
|
+
private readonly log?;
|
|
3
5
|
private readonly pending;
|
|
6
|
+
private readonly relayRequests;
|
|
4
7
|
private readonly transport;
|
|
5
8
|
private server;
|
|
6
9
|
private constructor();
|
|
7
|
-
static create(workspace: string, options?: McpRuntimeOptions
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
static create(workspace: string, options?: McpRuntimeOptions & {
|
|
11
|
+
log?: DiagnosticLog;
|
|
12
|
+
}): Promise<RelayMcpSession>;
|
|
13
|
+
execute(payload: unknown, relayId?: string): Promise<unknown>;
|
|
14
|
+
private dispatch;
|
|
15
|
+
cancel(relayId: string): void;
|
|
10
16
|
close(): Promise<void>;
|
|
11
17
|
}
|