@agent-deck/cli 1.7.0 → 1.7.2
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/dist/bin.js +0 -0
- package/dist/dashboard-open.d.ts +25 -0
- package/dist/dashboard-open.d.ts.map +1 -0
- package/dist/dashboard-open.js +87 -0
- package/dist/dashboard-open.js.map +1 -0
- package/dist/grant-issue.d.ts +5 -0
- package/dist/grant-issue.d.ts.map +1 -1
- package/dist/grant-issue.js +70 -19
- package/dist/grant-issue.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +2 -1
- package/dist/install.js.map +1 -1
- package/dist/mcp-config.d.ts +25 -1
- package/dist/mcp-config.d.ts.map +1 -1
- package/dist/mcp-config.js +68 -6
- package/dist/mcp-config.js.map +1 -1
- package/dist/menubar.d.ts +2 -1
- package/dist/menubar.d.ts.map +1 -1
- package/dist/menubar.js +10 -5
- package/dist/menubar.js.map +1 -1
- package/dist/node-runtime.js +1 -1
- package/dist/node-runtime.js.map +1 -1
- package/dist/open.d.ts +7 -0
- package/dist/open.d.ts.map +1 -0
- package/dist/open.js +70 -0
- package/dist/open.js.map +1 -0
- package/dist/setup.js +2 -2
- package/dist/setup.js.map +1 -1
- package/dist/start.d.ts.map +1 -1
- package/dist/start.js +40 -32
- package/dist/start.js.map +1 -1
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +12 -1
- package/dist/status.js.map +1 -1
- package/dist/use.d.ts.map +1 -1
- package/dist/use.js +17 -1
- package/dist/use.js.map +1 -1
- package/package.json +3 -3
package/dist/bin.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type MintDashboardUrlResult = {
|
|
2
|
+
ok: true;
|
|
3
|
+
url: string;
|
|
4
|
+
bootstrapped: true;
|
|
5
|
+
} | {
|
|
6
|
+
ok: true;
|
|
7
|
+
url: string;
|
|
8
|
+
bootstrapped: false;
|
|
9
|
+
reason: string;
|
|
10
|
+
} | {
|
|
11
|
+
ok: false;
|
|
12
|
+
error: string;
|
|
13
|
+
};
|
|
14
|
+
/** Build dashboard URL with a one-shot bootstrap nonce when admin secret is available. */
|
|
15
|
+
export declare function mintDashboardBootstrapUrl(backendUrl: string, pathAndQuery?: string): Promise<MintDashboardUrlResult>;
|
|
16
|
+
export declare function shouldOpenDashboardByDefault(env?: NodeJS.ProcessEnv): boolean;
|
|
17
|
+
export declare function openUrlInSystemBrowser(url: string): void;
|
|
18
|
+
/** Mint bootstrap URL and open the system browser. Returns 0 on success. */
|
|
19
|
+
export declare function openDashboardInBrowser(backendUrl: string, pathAndQuery?: string): Promise<{
|
|
20
|
+
code: number;
|
|
21
|
+
url?: string;
|
|
22
|
+
message?: string;
|
|
23
|
+
}>;
|
|
24
|
+
export declare function formatDashboardStatusLine(minted: MintDashboardUrlResult): string;
|
|
25
|
+
//# sourceMappingURL=dashboard-open.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-open.d.ts","sourceRoot":"","sources":["../src/dashboard-open.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,sBAAsB,GAC9B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,IAAI,CAAA;CAAE,GAC7C;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,0FAA0F;AAC1F,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,YAAY,SAAM,GACjB,OAAO,CAAC,sBAAsB,CAAC,CAgDjC;AAED,wBAAgB,4BAA4B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAG1F;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGxD;AAED,4EAA4E;AAC5E,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,YAAY,SAAM,GACjB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAW3D;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAQhF"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mintDashboardBootstrapUrl = mintDashboardBootstrapUrl;
|
|
4
|
+
exports.shouldOpenDashboardByDefault = shouldOpenDashboardByDefault;
|
|
5
|
+
exports.openUrlInSystemBrowser = openUrlInSystemBrowser;
|
|
6
|
+
exports.openDashboardInBrowser = openDashboardInBrowser;
|
|
7
|
+
exports.formatDashboardStatusLine = formatDashboardStatusLine;
|
|
8
|
+
const node_child_process_1 = require("node:child_process");
|
|
9
|
+
const admin_secret_1 = require("./admin-secret");
|
|
10
|
+
/** Build dashboard URL with a one-shot bootstrap nonce when admin secret is available. */
|
|
11
|
+
async function mintDashboardBootstrapUrl(backendUrl, pathAndQuery = '/') {
|
|
12
|
+
const base = backendUrl.replace(/\/$/, '');
|
|
13
|
+
const pathPart = pathAndQuery.startsWith('/') ? pathAndQuery : `/${pathAndQuery}`;
|
|
14
|
+
const target = new URL(pathPart, `${base}/`);
|
|
15
|
+
try {
|
|
16
|
+
const secret = await (0, admin_secret_1.readAdminSecret)();
|
|
17
|
+
if (!secret) {
|
|
18
|
+
return {
|
|
19
|
+
ok: true,
|
|
20
|
+
url: target.toString(),
|
|
21
|
+
bootstrapped: false,
|
|
22
|
+
reason: 'admin secret missing — run agent-deck open after start',
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const nonceRes = await fetch(`${base}/api/dashboard-auth/bootstrap/nonce`, {
|
|
26
|
+
method: 'POST',
|
|
27
|
+
headers: { Authorization: `Bearer ${secret}` },
|
|
28
|
+
});
|
|
29
|
+
if (!nonceRes.ok) {
|
|
30
|
+
return {
|
|
31
|
+
ok: true,
|
|
32
|
+
url: target.toString(),
|
|
33
|
+
bootstrapped: false,
|
|
34
|
+
reason: `bootstrap nonce HTTP ${nonceRes.status}`,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const body = (await nonceRes.json());
|
|
38
|
+
const nonce = body.data?.nonce?.trim();
|
|
39
|
+
if (!nonce) {
|
|
40
|
+
return {
|
|
41
|
+
ok: true,
|
|
42
|
+
url: target.toString(),
|
|
43
|
+
bootstrapped: false,
|
|
44
|
+
reason: 'bootstrap nonce empty',
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
target.searchParams.set('bootstrap', nonce);
|
|
48
|
+
return { ok: true, url: target.toString(), bootstrapped: true };
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
return {
|
|
52
|
+
ok: false,
|
|
53
|
+
error: error instanceof Error ? error.message : String(error),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function shouldOpenDashboardByDefault(env = process.env) {
|
|
58
|
+
const raw = env.AGENT_DECK_NO_OPEN?.trim().toLowerCase();
|
|
59
|
+
return !(raw === '1' || raw === 'true' || raw === 'yes');
|
|
60
|
+
}
|
|
61
|
+
function openUrlInSystemBrowser(url) {
|
|
62
|
+
const open = process.platform === 'darwin' ? 'open' : process.platform === 'win32' ? 'start' : 'xdg-open';
|
|
63
|
+
(0, node_child_process_1.spawn)(open, [url], { stdio: 'ignore', shell: process.platform === 'win32' }).unref();
|
|
64
|
+
}
|
|
65
|
+
/** Mint bootstrap URL and open the system browser. Returns 0 on success. */
|
|
66
|
+
async function openDashboardInBrowser(backendUrl, pathAndQuery = '/') {
|
|
67
|
+
const minted = await mintDashboardBootstrapUrl(backendUrl, pathAndQuery);
|
|
68
|
+
if (!minted.ok) {
|
|
69
|
+
return { code: 1, message: minted.error };
|
|
70
|
+
}
|
|
71
|
+
if (!minted.bootstrapped) {
|
|
72
|
+
console.warn(`[agent-deck] Opening without bootstrap cookie (${minted.reason})`);
|
|
73
|
+
console.warn('[agent-deck] Bare dashboard URLs show "No valid workspace grant" until bootstrapped.');
|
|
74
|
+
}
|
|
75
|
+
openUrlInSystemBrowser(minted.url);
|
|
76
|
+
return { code: 0, url: minted.url };
|
|
77
|
+
}
|
|
78
|
+
function formatDashboardStatusLine(minted) {
|
|
79
|
+
if (!minted.ok) {
|
|
80
|
+
return `Dashboard (mint failed: ${minted.error} — try: agent-deck open)`;
|
|
81
|
+
}
|
|
82
|
+
if (minted.bootstrapped) {
|
|
83
|
+
return `Dashboard ${minted.url}`;
|
|
84
|
+
}
|
|
85
|
+
return `Dashboard ${minted.url} (no bootstrap — run: agent-deck open)`;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=dashboard-open.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-open.js","sourceRoot":"","sources":["../src/dashboard-open.ts"],"names":[],"mappings":"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"}
|
package/dist/grant-issue.d.ts
CHANGED
|
@@ -7,6 +7,11 @@ export type IssuedGrant = {
|
|
|
7
7
|
secret: string;
|
|
8
8
|
status: 'pending' | 'active';
|
|
9
9
|
};
|
|
10
|
+
/** Prefer Fastify `message` / API `error` over a bare status phrase like "Bad Request". */
|
|
11
|
+
export declare function formatTrustedWriterError(status: number, payload: {
|
|
12
|
+
error?: string;
|
|
13
|
+
message?: string;
|
|
14
|
+
} | null, fallback: string): string;
|
|
10
15
|
export declare function issueWorkspaceGrant(input: {
|
|
11
16
|
workspaceRoot: string;
|
|
12
17
|
deckId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grant-issue.d.ts","sourceRoot":"","sources":["../src/grant-issue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAKjE,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC9B,CAAC;
|
|
1
|
+
{"version":3,"file":"grant-issue.d.ts","sourceRoot":"","sources":["../src/grant-issue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAKjE,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC9B,CAAC;AAyBF,2FAA2F;AAC3F,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EACpD,QAAQ,EAAE,MAAM,GACf,MAAM,CAYR;AAoBD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAiC3C;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAqCtF;AAED,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,IAAI,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA6BpC;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAM,GAAG,UAAmB,GAClC,sBAAsB,CAYxB"}
|
package/dist/grant-issue.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatTrustedWriterError = formatTrustedWriterError;
|
|
3
4
|
exports.issueWorkspaceGrant = issueWorkspaceGrant;
|
|
4
5
|
exports.activateWorkspaceGrant = activateWorkspaceGrant;
|
|
5
6
|
exports.revokePendingWorkspaceGrant = revokePendingWorkspaceGrant;
|
|
@@ -9,7 +10,7 @@ const admin_secret_1 = require("./admin-secret");
|
|
|
9
10
|
function resolveBackendUrl(host) {
|
|
10
11
|
return `http://${host}:${(0, defaults_1.readCliBackendPort)()}`;
|
|
11
12
|
}
|
|
12
|
-
async function
|
|
13
|
+
async function trustedWriterAuth() {
|
|
13
14
|
const adminSecret = await (0, admin_secret_1.readAdminSecret)();
|
|
14
15
|
if (!adminSecret) {
|
|
15
16
|
return {
|
|
@@ -19,52 +20,102 @@ async function trustedWriterHeaders(_host) {
|
|
|
19
20
|
}
|
|
20
21
|
return {
|
|
21
22
|
ok: true,
|
|
22
|
-
|
|
23
|
-
Authorization: `Bearer ${adminSecret}`,
|
|
24
|
-
'Content-Type': 'application/json',
|
|
25
|
-
},
|
|
23
|
+
authorization: `Bearer ${adminSecret}`,
|
|
26
24
|
};
|
|
27
25
|
}
|
|
26
|
+
/** Prefer Fastify `message` / API `error` over a bare status phrase like "Bad Request". */
|
|
27
|
+
function formatTrustedWriterError(status, payload, fallback) {
|
|
28
|
+
const detail = payload?.message?.trim() || payload?.error?.trim();
|
|
29
|
+
if (detail && detail.toLowerCase() !== 'bad request' && detail.toLowerCase() !== 'error') {
|
|
30
|
+
return detail;
|
|
31
|
+
}
|
|
32
|
+
if (payload?.error?.trim() && payload.error.trim().toLowerCase() !== 'bad request') {
|
|
33
|
+
return payload.error.trim();
|
|
34
|
+
}
|
|
35
|
+
if (detail) {
|
|
36
|
+
return `${detail} (${status})`;
|
|
37
|
+
}
|
|
38
|
+
return `${fallback} (${status})`;
|
|
39
|
+
}
|
|
40
|
+
async function readJsonPayload(response) {
|
|
41
|
+
try {
|
|
42
|
+
return (await response.json());
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
28
48
|
async function issueWorkspaceGrant(input) {
|
|
29
|
-
const auth = await
|
|
49
|
+
const auth = await trustedWriterAuth();
|
|
30
50
|
if (!auth.ok) {
|
|
31
51
|
return { error: auth.error };
|
|
32
52
|
}
|
|
33
53
|
const backendUrl = resolveBackendUrl(input.host ?? process.env.AGENT_DECK_HOST ?? '127.0.0.1');
|
|
34
54
|
const response = await fetch(`${backendUrl}/api/trusted-session/workspace-grants/issue`, {
|
|
35
55
|
method: 'POST',
|
|
36
|
-
headers:
|
|
56
|
+
headers: {
|
|
57
|
+
Authorization: auth.authorization,
|
|
58
|
+
'Content-Type': 'application/json',
|
|
59
|
+
},
|
|
37
60
|
body: JSON.stringify({
|
|
38
61
|
workspaceRoot: input.workspaceRoot,
|
|
39
62
|
deckId: input.deckId,
|
|
40
63
|
}),
|
|
41
64
|
});
|
|
42
|
-
const payload =
|
|
43
|
-
|
|
44
|
-
|
|
65
|
+
const payload = await readJsonPayload(response);
|
|
66
|
+
const data = payload?.data;
|
|
67
|
+
if (!response.ok || !payload?.success || !data) {
|
|
68
|
+
return {
|
|
69
|
+
error: formatTrustedWriterError(response.status, payload, 'Grant issuance failed'),
|
|
70
|
+
};
|
|
45
71
|
}
|
|
46
|
-
return
|
|
72
|
+
return data;
|
|
47
73
|
}
|
|
48
74
|
async function activateWorkspaceGrant(input) {
|
|
49
|
-
const auth = await
|
|
75
|
+
const auth = await trustedWriterAuth();
|
|
50
76
|
if (!auth.ok) {
|
|
51
77
|
return { error: auth.error };
|
|
52
78
|
}
|
|
53
79
|
const backendUrl = resolveBackendUrl(input.host ?? process.env.AGENT_DECK_HOST ?? '127.0.0.1');
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
80
|
+
// Fastify rejects Content-Type: application/json with an empty body
|
|
81
|
+
// (FST_ERR_CTP_EMPTY_JSON_BODY). Send {}.
|
|
82
|
+
const response = await fetch(`${backendUrl}/api/trusted-session/workspace-grants/${encodeURIComponent(input.grantId)}/activate`, {
|
|
83
|
+
method: 'POST',
|
|
84
|
+
headers: {
|
|
85
|
+
Authorization: auth.authorization,
|
|
86
|
+
'Content-Type': 'application/json',
|
|
87
|
+
},
|
|
88
|
+
body: '{}',
|
|
89
|
+
});
|
|
90
|
+
const payload = await readJsonPayload(response);
|
|
91
|
+
const data = payload?.data;
|
|
92
|
+
if (!response.ok || !payload?.success || !data) {
|
|
93
|
+
return {
|
|
94
|
+
error: formatTrustedWriterError(response.status, payload, 'Grant activation failed'),
|
|
95
|
+
};
|
|
58
96
|
}
|
|
59
|
-
return
|
|
97
|
+
return data;
|
|
60
98
|
}
|
|
61
99
|
async function revokePendingWorkspaceGrant(input) {
|
|
62
|
-
const auth = await
|
|
100
|
+
const auth = await trustedWriterAuth();
|
|
63
101
|
if (!auth.ok) {
|
|
64
102
|
return { error: auth.error };
|
|
65
103
|
}
|
|
66
104
|
const backendUrl = resolveBackendUrl(input.host ?? process.env.AGENT_DECK_HOST ?? '127.0.0.1');
|
|
67
|
-
await fetch(`${backendUrl}/api/trusted-session/workspace-grants/${encodeURIComponent(input.grantId)}/revoke-pending`, {
|
|
105
|
+
const response = await fetch(`${backendUrl}/api/trusted-session/workspace-grants/${encodeURIComponent(input.grantId)}/revoke-pending`, {
|
|
106
|
+
method: 'POST',
|
|
107
|
+
headers: {
|
|
108
|
+
Authorization: auth.authorization,
|
|
109
|
+
'Content-Type': 'application/json',
|
|
110
|
+
},
|
|
111
|
+
body: '{}',
|
|
112
|
+
});
|
|
113
|
+
if (!response.ok) {
|
|
114
|
+
const payload = await readJsonPayload(response);
|
|
115
|
+
return {
|
|
116
|
+
error: formatTrustedWriterError(response.status, payload, 'Grant revoke-pending failed'),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
68
119
|
}
|
|
69
120
|
function toGrantManifest(issued, mcpUrl, store = 'file') {
|
|
70
121
|
return {
|
package/dist/grant-issue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grant-issue.js","sourceRoot":"","sources":["../src/grant-issue.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"grant-issue.js","sourceRoot":"","sources":["../src/grant-issue.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA6EA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAoDtE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAgBzD;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBrE;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwE7D;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAc1E;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAsG5D"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,8 @@ const import_feedback_signals_1 = require("./import-feedback-signals");
|
|
|
14
14
|
const debug_mcp_1 = require("./debug-mcp");
|
|
15
15
|
const start_1 = require("./start");
|
|
16
16
|
const setup_1 = require("./setup");
|
|
17
|
+
const open_1 = require("./open");
|
|
18
|
+
const dashboard_open_1 = require("./dashboard-open");
|
|
17
19
|
const status_1 = require("./status");
|
|
18
20
|
const statusline_1 = require("./statusline");
|
|
19
21
|
const menubar_1 = require("./menubar");
|
|
@@ -29,9 +31,10 @@ function getVaultManager() {
|
|
|
29
31
|
}
|
|
30
32
|
function printUsage() {
|
|
31
33
|
console.log(`Usage:
|
|
32
|
-
agent-deck start [--daemon] [--open] [--no-ui] [--force] [--port PORT] [--mcp-port PORT]
|
|
34
|
+
agent-deck start [--daemon] [--open|--no-open] [--no-ui] [--force] [--port PORT] [--mcp-port PORT]
|
|
33
35
|
agent-deck stop
|
|
34
36
|
agent-deck status
|
|
37
|
+
agent-deck open [--path /...]
|
|
35
38
|
agent-deck statusline [--workspace <path>]
|
|
36
39
|
agent-deck menubar
|
|
37
40
|
agent-deck setup --client cursor|claude|claude-desktop [--scope global|project] [--start]
|
|
@@ -227,7 +230,7 @@ async function runCli(argv) {
|
|
|
227
230
|
}
|
|
228
231
|
switch (command) {
|
|
229
232
|
case 'start': {
|
|
230
|
-
let openBrowser =
|
|
233
|
+
let openBrowser = (0, dashboard_open_1.shouldOpenDashboardByDefault)();
|
|
231
234
|
let skipUi = false;
|
|
232
235
|
let force = false;
|
|
233
236
|
let daemon = false;
|
|
@@ -239,6 +242,9 @@ async function runCli(argv) {
|
|
|
239
242
|
if (arg === '--open') {
|
|
240
243
|
openBrowser = true;
|
|
241
244
|
}
|
|
245
|
+
else if (arg === '--no-open') {
|
|
246
|
+
openBrowser = false;
|
|
247
|
+
}
|
|
242
248
|
else if (arg === '--no-ui') {
|
|
243
249
|
skipUi = true;
|
|
244
250
|
}
|
|
@@ -268,6 +274,8 @@ async function runCli(argv) {
|
|
|
268
274
|
return (0, stop_1.runStop)();
|
|
269
275
|
case 'status':
|
|
270
276
|
return (0, status_1.runStatus)();
|
|
277
|
+
case 'open':
|
|
278
|
+
return (0, open_1.runOpenCommand)(rest);
|
|
271
279
|
case 'statusline':
|
|
272
280
|
return (0, statusline_1.runStatusline)(rest);
|
|
273
281
|
case 'menubar':
|
|
@@ -275,7 +283,10 @@ async function runCli(argv) {
|
|
|
275
283
|
case 'setup': {
|
|
276
284
|
const code = await (0, setup_1.runSetup)(rest);
|
|
277
285
|
if ((0, setup_1.shouldStartAfterSetup)(code)) {
|
|
278
|
-
return (0, start_1.runStart)({
|
|
286
|
+
return (0, start_1.runStart)({
|
|
287
|
+
daemon: true,
|
|
288
|
+
openBrowser: (0, dashboard_open_1.shouldOpenDashboardByDefault)(),
|
|
289
|
+
});
|
|
279
290
|
}
|
|
280
291
|
return code;
|
|
281
292
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/install.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,yBAAyB,EAK1B,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,CAAC,EAAE,OAAO,yBAAyB,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC;AAuBF,wBAAgB,gBAAgB,IAAI,IAAI,CAMvC;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,yBAAyB,EAK1B,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,CAAC,EAAE,OAAO,yBAAyB,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC;AAuBF,wBAAgB,gBAAgB,IAAI,IAAI,CAMvC;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoDxF"}
|
package/dist/install.js
CHANGED
|
@@ -63,7 +63,8 @@ async function runInstall(args, deps = {}) {
|
|
|
63
63
|
if (migrateCli) {
|
|
64
64
|
console.log('Prefer ~/.local/bin ahead of any npm global agent-deck on PATH.');
|
|
65
65
|
}
|
|
66
|
-
console.log('Next: agent-deck doctor && agent-deck start
|
|
66
|
+
console.log('Next: agent-deck doctor && agent-deck start');
|
|
67
|
+
console.log(' (start opens the dashboard with auth; use --no-open in CI)');
|
|
67
68
|
if (purgeGlobal) {
|
|
68
69
|
const code = deps.purgeGlobal
|
|
69
70
|
? await deps.purgeGlobal()
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":";;;;;AA0CA,4CAMC;AAED,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-config.d.ts
CHANGED
|
@@ -10,7 +10,31 @@ export declare function resolveConfigPath(client: McpClient, scope: SetupScope,
|
|
|
10
10
|
* MCP client entry for the agent-deck server. Uses the trusted local launcher,
|
|
11
11
|
* which reads the private workspace grant at runtime — no deck id in tracked config.
|
|
12
12
|
*/
|
|
13
|
-
export declare function buildAgentDeckEntry(client: McpClient, endpoint: McpEndpoint
|
|
13
|
+
export declare function buildAgentDeckEntry(client: McpClient, endpoint: McpEndpoint, options?: {
|
|
14
|
+
workspaceRoot?: string;
|
|
15
|
+
}): Record<string, unknown>;
|
|
16
|
+
/** Pre-1.7 Cursor/HTTP entries used bare `url` with no grant Bearer. */
|
|
17
|
+
export declare function isLegacyBareHttpAgentDeckEntry(entry: unknown): boolean;
|
|
18
|
+
export declare function isMcpLaunchEntry(entry: unknown): boolean;
|
|
19
|
+
export type CursorGlobalMcpEnsureResult = {
|
|
20
|
+
action: 'ok';
|
|
21
|
+
path: string;
|
|
22
|
+
} | {
|
|
23
|
+
action: 'upgraded';
|
|
24
|
+
path: string;
|
|
25
|
+
reason: 'bare-url';
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Cursor Agent chat uses the user-level MCP entry (`user-agent-deck`).
|
|
29
|
+
* Pre-1.7 bare `url` configs fail discovery and only expose Cursor's `mcp_auth`
|
|
30
|
+
* (which is not how Agent Deck grants work).
|
|
31
|
+
*
|
|
32
|
+
* Only auto-rewrites entries positively identified as legacy bare HTTP.
|
|
33
|
+
* Missing or custom/non-launcher entries are left alone — creation belongs to
|
|
34
|
+
* an explicit Cursor setup / `agent-deck use` project write, not `status`.
|
|
35
|
+
*/
|
|
36
|
+
export declare function ensureGlobalCursorMcpLaunch(endpoint: McpEndpoint): CursorGlobalMcpEnsureResult;
|
|
37
|
+
export declare function formatCursorGlobalMcpEnsureMessage(result: CursorGlobalMcpEnsureResult): string | null;
|
|
14
38
|
export declare function readJsonFile(filePath: string): Record<string, unknown>;
|
|
15
39
|
export declare function mergeMcpServerConfig(existing: Record<string, unknown>, entry: Record<string, unknown>): Record<string, unknown>;
|
|
16
40
|
export declare function writeJsonFile(filePath: string, data: Record<string, unknown>): void;
|
package/dist/mcp-config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../src/mcp-config.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAC/D,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,MAAM,CAElE;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,UAAU,EACjB,GAAG,GAAE,MAAsB,GAC1B,MAAM,CAuBR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../src/mcp-config.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAC/D,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,MAAM,CAElE;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,UAAU,EACjB,GAAG,GAAE,MAAsB,GAC1B,MAAM,CAuBR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6BzB;AAED,wEAAwE;AACxE,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMtE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAUxD;AAED,MAAM,MAAM,2BAA2B,GACnC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE7D;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,GAAG,2BAA2B,CAoB9F;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,2BAA2B,GAAG,MAAM,GAAG,IAAI,CAQrG;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBtE;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAazB;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAGnF"}
|
package/dist/mcp-config.js
CHANGED
|
@@ -6,6 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.buildMcpUrl = buildMcpUrl;
|
|
7
7
|
exports.resolveConfigPath = resolveConfigPath;
|
|
8
8
|
exports.buildAgentDeckEntry = buildAgentDeckEntry;
|
|
9
|
+
exports.isLegacyBareHttpAgentDeckEntry = isLegacyBareHttpAgentDeckEntry;
|
|
10
|
+
exports.isMcpLaunchEntry = isMcpLaunchEntry;
|
|
11
|
+
exports.ensureGlobalCursorMcpLaunch = ensureGlobalCursorMcpLaunch;
|
|
12
|
+
exports.formatCursorGlobalMcpEnsureMessage = formatCursorGlobalMcpEnsureMessage;
|
|
9
13
|
exports.readJsonFile = readJsonFile;
|
|
10
14
|
exports.mergeMcpServerConfig = mergeMcpServerConfig;
|
|
11
15
|
exports.writeJsonFile = writeJsonFile;
|
|
@@ -43,8 +47,7 @@ function resolveConfigPath(client, scope, cwd = process.cwd()) {
|
|
|
43
47
|
* MCP client entry for the agent-deck server. Uses the trusted local launcher,
|
|
44
48
|
* which reads the private workspace grant at runtime — no deck id in tracked config.
|
|
45
49
|
*/
|
|
46
|
-
function buildAgentDeckEntry(client, endpoint) {
|
|
47
|
-
const url = buildMcpUrl(endpoint);
|
|
50
|
+
function buildAgentDeckEntry(client, endpoint, options) {
|
|
48
51
|
if (client === 'claude-desktop') {
|
|
49
52
|
return {
|
|
50
53
|
command: 'agent-deck',
|
|
@@ -58,15 +61,74 @@ function buildAgentDeckEntry(client, endpoint) {
|
|
|
58
61
|
args: ['mcp-launch'],
|
|
59
62
|
};
|
|
60
63
|
}
|
|
64
|
+
const env = {
|
|
65
|
+
AGENT_DECK_MCP_PORT: String(endpoint.mcpPort),
|
|
66
|
+
AGENT_DECK_HOST: endpoint.host,
|
|
67
|
+
};
|
|
68
|
+
if (options?.workspaceRoot) {
|
|
69
|
+
env.AGENT_DECK_WORKSPACE = node_path_1.default.resolve(options.workspaceRoot);
|
|
70
|
+
}
|
|
61
71
|
return {
|
|
62
72
|
command: 'agent-deck',
|
|
63
73
|
args: ['mcp-launch'],
|
|
64
|
-
env
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
74
|
+
env,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/** Pre-1.7 Cursor/HTTP entries used bare `url` with no grant Bearer. */
|
|
78
|
+
function isLegacyBareHttpAgentDeckEntry(entry) {
|
|
79
|
+
if (!entry || typeof entry !== 'object' || Array.isArray(entry)) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
const record = entry;
|
|
83
|
+
return typeof record.url === 'string' && typeof record.command !== 'string';
|
|
84
|
+
}
|
|
85
|
+
function isMcpLaunchEntry(entry) {
|
|
86
|
+
if (!entry || typeof entry !== 'object' || Array.isArray(entry)) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
const record = entry;
|
|
90
|
+
if (record.command !== 'agent-deck') {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
const args = record.args;
|
|
94
|
+
return Array.isArray(args) && args.includes('mcp-launch');
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Cursor Agent chat uses the user-level MCP entry (`user-agent-deck`).
|
|
98
|
+
* Pre-1.7 bare `url` configs fail discovery and only expose Cursor's `mcp_auth`
|
|
99
|
+
* (which is not how Agent Deck grants work).
|
|
100
|
+
*
|
|
101
|
+
* Only auto-rewrites entries positively identified as legacy bare HTTP.
|
|
102
|
+
* Missing or custom/non-launcher entries are left alone — creation belongs to
|
|
103
|
+
* an explicit Cursor setup / `agent-deck use` project write, not `status`.
|
|
104
|
+
*/
|
|
105
|
+
function ensureGlobalCursorMcpLaunch(endpoint) {
|
|
106
|
+
const configPath = resolveConfigPath('cursor', 'global');
|
|
107
|
+
const existingConfig = readJsonFile(configPath);
|
|
108
|
+
const servers = existingConfig.mcpServers && typeof existingConfig.mcpServers === 'object'
|
|
109
|
+
? existingConfig.mcpServers
|
|
110
|
+
: {};
|
|
111
|
+
const existing = servers['agent-deck'];
|
|
112
|
+
if (!isLegacyBareHttpAgentDeckEntry(existing)) {
|
|
113
|
+
return { action: 'ok', path: configPath };
|
|
114
|
+
}
|
|
115
|
+
const entry = buildAgentDeckEntry('cursor', endpoint);
|
|
116
|
+
writeJsonFile(configPath, mergeMcpServerConfig(existingConfig, entry));
|
|
117
|
+
return {
|
|
118
|
+
action: 'upgraded',
|
|
119
|
+
path: configPath,
|
|
120
|
+
reason: 'bare-url',
|
|
68
121
|
};
|
|
69
122
|
}
|
|
123
|
+
function formatCursorGlobalMcpEnsureMessage(result) {
|
|
124
|
+
if (result.action === 'ok') {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
return [
|
|
128
|
+
`Cursor MCP: ${result.action} ${result.path} (bare url (no grant Bearer) → mcp-launch).`,
|
|
129
|
+
' Reload Cursor MCP (or restart Cursor). Cursor\'s mcp_auth is not the Agent Deck fix — use needs a workspace grant + mcp-launch.',
|
|
130
|
+
].join('\n');
|
|
131
|
+
}
|
|
70
132
|
function readJsonFile(filePath) {
|
|
71
133
|
if (!node_fs_1.default.existsSync(filePath)) {
|
|
72
134
|
return {};
|
package/dist/mcp-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../src/mcp-config.ts"],"names":[],"mappings":";;;;;AAcA,kCAEC;AAED,8CA2BC;AAMD,
|
|
1
|
+
{"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../src/mcp-config.ts"],"names":[],"mappings":"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"}
|
package/dist/menubar.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ export declare function truncateName(name: string, max?: number): string;
|
|
|
3
3
|
export declare function formatTimeUntil(iso: string, now: Date): string;
|
|
4
4
|
export declare function formatAge(lastActivityAt: string, now: Date): string;
|
|
5
5
|
export declare function resolveDashboardBaseUrl(): string;
|
|
6
|
-
export declare function buildApprovalHref(challenge: PendingAdminChallenge,
|
|
6
|
+
export declare function buildApprovalHref(challenge: PendingAdminChallenge, _dashboardBaseUrl: string): string;
|
|
7
|
+
export declare function buildOpenDashboardMenubarLine(): string;
|
|
7
8
|
/** SwiftBar/xbar output. `null` bindings = backend offline (accuracy first: dim, never guess). */
|
|
8
9
|
export declare function renderMenubar(bindings: LiveBinding[] | null, now: Date, pendingApprovals?: PendingAdminChallenge[], dashboardBaseUrl?: string): string;
|
|
9
10
|
export declare function runMenubar(): Promise<number>;
|