@agent-deck/cli 1.3.2 → 1.3.4
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/LICENSE +21 -0
- package/dist/bin.js +0 -0
- package/dist/statusline-setup.d.ts.map +1 -1
- package/dist/statusline-setup.js +10 -2
- package/dist/statusline-setup.js.map +1 -1
- package/package.json +7 -6
- package/dist/lib/runtime.d.ts +0 -82
- package/dist/lib/runtime.d.ts.map +0 -1
- package/dist/lib/runtime.js +0 -75
- package/dist/lib/runtime.js.map +0 -1
- package/dist/repo-deck-init.d.ts +0 -11
- package/dist/repo-deck-init.d.ts.map +0 -1
- package/dist/repo-deck-init.js +0 -119
- package/dist/repo-deck-init.js.map +0 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 @not-so-fat
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/bin.js
CHANGED
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusline-setup.d.ts","sourceRoot":"","sources":["../src/statusline-setup.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;
|
|
1
|
+
{"version":3,"file":"statusline-setup.d.ts","sourceRoot":"","sources":["../src/statusline-setup.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAkEF,wBAAgB,uBAAuB,IAAI;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAA;CAAE,CAY7G;AA0DD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,uBAAuB,CA+BnF"}
|
package/dist/statusline-setup.js
CHANGED
|
@@ -15,8 +15,16 @@ function resolveStatuslineScriptPath() {
|
|
|
15
15
|
return node_path_1.default.join(node_os_1.default.homedir(), '.agent-deck', 'bin', exports.STATUSLINE_SCRIPT_NAME);
|
|
16
16
|
}
|
|
17
17
|
function resolveSetupCliBin() {
|
|
18
|
-
const
|
|
19
|
-
|
|
18
|
+
const candidates = [
|
|
19
|
+
node_path_1.default.join(__dirname, 'bin.js'),
|
|
20
|
+
node_path_1.default.join(__dirname, '..', 'dist', 'bin.js'),
|
|
21
|
+
];
|
|
22
|
+
for (const candidate of candidates) {
|
|
23
|
+
if (node_fs_1.default.existsSync(candidate)) {
|
|
24
|
+
return candidate;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return '';
|
|
20
28
|
}
|
|
21
29
|
function buildStatuslineScript(setupCliBin) {
|
|
22
30
|
const bakedSetupCli = setupCliBin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusline-setup.js","sourceRoot":"","sources":["../src/statusline-setup.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"statusline-setup.js","sourceRoot":"","sources":["../src/statusline-setup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-deck/cli",
|
|
3
|
-
"version": "1.3.
|
|
4
|
-
"description": "Local MCP proxy
|
|
5
|
-
"license": "
|
|
3
|
+
"version": "1.3.4",
|
|
4
|
+
"description": "Local MCP proxy — decks of tools, keys, and self-improving playbooks",
|
|
5
|
+
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
7
7
|
"agent-deck": "./dist/bin.js"
|
|
8
8
|
},
|
|
9
9
|
"main": "dist/index.js",
|
|
10
10
|
"files": [
|
|
11
|
-
"dist"
|
|
11
|
+
"dist",
|
|
12
|
+
"LICENSE"
|
|
12
13
|
],
|
|
13
14
|
"engines": {
|
|
14
15
|
"node": ">=20.0.0"
|
|
@@ -39,8 +40,8 @@
|
|
|
39
40
|
"prepublishOnly": "node ../../scripts/pre-publish-check.mjs && npm run build"
|
|
40
41
|
},
|
|
41
42
|
"dependencies": {
|
|
42
|
-
"@agent-deck/backend": "^1.3.
|
|
43
|
-
"@agent-deck/shared": "^1.3.
|
|
43
|
+
"@agent-deck/backend": "^1.3.4",
|
|
44
|
+
"@agent-deck/shared": "^1.3.4"
|
|
44
45
|
},
|
|
45
46
|
"devDependencies": {
|
|
46
47
|
"@types/node": "^20.11.5",
|
package/dist/lib/runtime.d.ts
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
export declare function createCredentialManager(): unknown;
|
|
2
|
-
export type CliCollectionAdmin = {
|
|
3
|
-
deleteService(id: string): Promise<{
|
|
4
|
-
ok: true;
|
|
5
|
-
} | {
|
|
6
|
-
ok: false;
|
|
7
|
-
error: string;
|
|
8
|
-
}>;
|
|
9
|
-
deletePlaybook(id: string): Promise<{
|
|
10
|
-
ok: true;
|
|
11
|
-
} | {
|
|
12
|
-
ok: false;
|
|
13
|
-
error: string;
|
|
14
|
-
}>;
|
|
15
|
-
deleteDeck(id: string): Promise<{
|
|
16
|
-
ok: true;
|
|
17
|
-
} | {
|
|
18
|
-
ok: false;
|
|
19
|
-
error: string;
|
|
20
|
-
}>;
|
|
21
|
-
listServices(): Promise<Array<{
|
|
22
|
-
id: string;
|
|
23
|
-
name: string;
|
|
24
|
-
type: string;
|
|
25
|
-
}>>;
|
|
26
|
-
listPlaybooks(): Promise<Array<{
|
|
27
|
-
id: string;
|
|
28
|
-
title: string;
|
|
29
|
-
}>>;
|
|
30
|
-
listDecks(): Promise<Array<{
|
|
31
|
-
id: string;
|
|
32
|
-
name: string;
|
|
33
|
-
}>>;
|
|
34
|
-
};
|
|
35
|
-
export declare function createCollectionAdmin(): CliCollectionAdmin;
|
|
36
|
-
export type CliExportImport = {
|
|
37
|
-
exportToFile(outputPath: string, request: {
|
|
38
|
-
scope?: 'collection' | 'deck';
|
|
39
|
-
deckId?: string;
|
|
40
|
-
}): Promise<{
|
|
41
|
-
ok: true;
|
|
42
|
-
bundle: {
|
|
43
|
-
services: unknown[];
|
|
44
|
-
playbooks: unknown[];
|
|
45
|
-
decks: unknown[];
|
|
46
|
-
};
|
|
47
|
-
} | {
|
|
48
|
-
ok: false;
|
|
49
|
-
error: string;
|
|
50
|
-
}>;
|
|
51
|
-
importFromFile(inputPath: string): Promise<{
|
|
52
|
-
ok: true;
|
|
53
|
-
report: {
|
|
54
|
-
status: string;
|
|
55
|
-
counts: {
|
|
56
|
-
services: {
|
|
57
|
-
created: number;
|
|
58
|
-
reused: number;
|
|
59
|
-
};
|
|
60
|
-
playbooks: {
|
|
61
|
-
created: number;
|
|
62
|
-
reused: number;
|
|
63
|
-
};
|
|
64
|
-
decks: {
|
|
65
|
-
created: number;
|
|
66
|
-
reused: number;
|
|
67
|
-
};
|
|
68
|
-
};
|
|
69
|
-
servicesNeedingOauth: string[];
|
|
70
|
-
warnings: string[];
|
|
71
|
-
idMap: Record<string, string>;
|
|
72
|
-
};
|
|
73
|
-
} | {
|
|
74
|
-
ok: false;
|
|
75
|
-
error: string;
|
|
76
|
-
}>;
|
|
77
|
-
};
|
|
78
|
-
export declare function createExportImport(): CliExportImport;
|
|
79
|
-
export declare function parseConnections(value: string | undefined): string[];
|
|
80
|
-
export declare function readSecretFromStdin(prompt: string): Promise<string>;
|
|
81
|
-
export declare function runCommand(command: string, args: string[], env: Record<string, string>): Promise<number>;
|
|
82
|
-
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/lib/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/runtime.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createCredentialManager = createCredentialManager;
|
|
7
|
-
exports.createCollectionAdmin = createCollectionAdmin;
|
|
8
|
-
exports.createExportImport = createExportImport;
|
|
9
|
-
exports.parseConnections = parseConnections;
|
|
10
|
-
exports.readSecretFromStdin = readSecretFromStdin;
|
|
11
|
-
exports.runCommand = runCommand;
|
|
12
|
-
const node_child_process_1 = require("node:child_process");
|
|
13
|
-
const node_readline_1 = __importDefault(require("node:readline"));
|
|
14
|
-
const paths_1 = require("../paths");
|
|
15
|
-
function createCredentialManager() {
|
|
16
|
-
const cliRuntime = require.resolve('@agent-deck/backend/cli-runtime', {
|
|
17
|
-
paths: [(0, paths_1.getCliPackageRoot)()],
|
|
18
|
-
});
|
|
19
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
20
|
-
const { createCliCredentialManager } = require(cliRuntime);
|
|
21
|
-
return createCliCredentialManager();
|
|
22
|
-
}
|
|
23
|
-
function createCollectionAdmin() {
|
|
24
|
-
const cliRuntime = require.resolve('@agent-deck/backend/cli-runtime', {
|
|
25
|
-
paths: [(0, paths_1.getCliPackageRoot)()],
|
|
26
|
-
});
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
28
|
-
const { createCliCollectionAdmin } = require(cliRuntime);
|
|
29
|
-
return createCliCollectionAdmin();
|
|
30
|
-
}
|
|
31
|
-
function createExportImport() {
|
|
32
|
-
const cliRuntime = require.resolve('@agent-deck/backend/cli-runtime', {
|
|
33
|
-
paths: [(0, paths_1.getCliPackageRoot)()],
|
|
34
|
-
});
|
|
35
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
36
|
-
const { createCliExportImport } = require(cliRuntime);
|
|
37
|
-
return createCliExportImport();
|
|
38
|
-
}
|
|
39
|
-
function parseConnections(value) {
|
|
40
|
-
if (!value?.trim()) {
|
|
41
|
-
return [];
|
|
42
|
-
}
|
|
43
|
-
return value.split(',').map((part) => part.trim()).filter(Boolean);
|
|
44
|
-
}
|
|
45
|
-
async function readSecretFromStdin(prompt) {
|
|
46
|
-
if (!process.stdin.isTTY) {
|
|
47
|
-
const chunks = [];
|
|
48
|
-
for await (const chunk of process.stdin) {
|
|
49
|
-
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
50
|
-
}
|
|
51
|
-
return Buffer.concat(chunks).toString('utf8').trim();
|
|
52
|
-
}
|
|
53
|
-
const rl = node_readline_1.default.createInterface({
|
|
54
|
-
input: process.stdin,
|
|
55
|
-
output: process.stdout,
|
|
56
|
-
});
|
|
57
|
-
return new Promise((resolve) => {
|
|
58
|
-
rl.question(prompt, (answer) => {
|
|
59
|
-
rl.close();
|
|
60
|
-
resolve(answer.trim());
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
function runCommand(command, args, env) {
|
|
65
|
-
return new Promise((resolve) => {
|
|
66
|
-
const child = (0, node_child_process_1.spawn)(command, args, {
|
|
67
|
-
env: { ...process.env, ...env },
|
|
68
|
-
stdio: 'inherit',
|
|
69
|
-
shell: process.platform === 'win32',
|
|
70
|
-
});
|
|
71
|
-
child.on('error', () => resolve(1));
|
|
72
|
-
child.on('close', (code) => resolve(code ?? 1));
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=runtime.js.map
|
package/dist/lib/runtime.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/lib/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/repo-deck-init.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export type RepoDeckInitResult = {
|
|
2
|
-
action: 'created' | 'updated' | 'valid' | 'skipped';
|
|
3
|
-
path?: string;
|
|
4
|
-
message: string;
|
|
5
|
-
};
|
|
6
|
-
export declare function ensureRepoDeckManifest(workspaceRoot: string, options?: {
|
|
7
|
-
host?: string;
|
|
8
|
-
backendPort?: number;
|
|
9
|
-
preferredDeckName?: string;
|
|
10
|
-
}): Promise<RepoDeckInitResult>;
|
|
11
|
-
//# sourceMappingURL=repo-deck-init.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repo-deck-init.d.ts","sourceRoot":"","sources":["../src/repo-deck-init.ts"],"names":[],"mappings":"AAwEA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5E,OAAO,CAAC,kBAAkB,CAAC,CAuD7B"}
|
package/dist/repo-deck-init.js
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ensureRepoDeckManifest = ensureRepoDeckManifest;
|
|
7
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
-
const shared_1 = require("@agent-deck/shared");
|
|
10
|
-
const defaults_1 = require("./defaults");
|
|
11
|
-
function manifestPath(workspaceRoot) {
|
|
12
|
-
return node_path_1.default.join(node_path_1.default.resolve(workspaceRoot), shared_1.REPO_DECK_MANIFEST_PATH);
|
|
13
|
-
}
|
|
14
|
-
function readDeckIdFromManifest(filePath) {
|
|
15
|
-
try {
|
|
16
|
-
const content = node_fs_1.default.readFileSync(filePath, 'utf8');
|
|
17
|
-
const match = content.match(/^deck_id:\s*["']?([0-9a-f-]{36})["']?\s*$/im);
|
|
18
|
-
return match?.[1] ?? null;
|
|
19
|
-
}
|
|
20
|
-
catch {
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
function writeManifest(workspaceRoot, deckId, deckName) {
|
|
25
|
-
const filePath = manifestPath(workspaceRoot);
|
|
26
|
-
node_fs_1.default.mkdirSync(node_path_1.default.dirname(filePath), { recursive: true });
|
|
27
|
-
const lines = [
|
|
28
|
-
'# Linked by agent-deck setup --scope project (edit deck_id from dashboard if needed)',
|
|
29
|
-
`deck_id: ${deckId}`,
|
|
30
|
-
];
|
|
31
|
-
if (deckName?.trim()) {
|
|
32
|
-
lines.push(`name: ${deckName.trim()}`);
|
|
33
|
-
}
|
|
34
|
-
node_fs_1.default.writeFileSync(filePath, `${lines.join('\n')}\n`, 'utf8');
|
|
35
|
-
return filePath;
|
|
36
|
-
}
|
|
37
|
-
async function fetchDecks(backendUrl) {
|
|
38
|
-
const response = await fetch(`${backendUrl}/api/decks`, {
|
|
39
|
-
signal: AbortSignal.timeout(2500),
|
|
40
|
-
});
|
|
41
|
-
if (!response.ok) {
|
|
42
|
-
throw new Error(`GET /api/decks returned ${response.status}`);
|
|
43
|
-
}
|
|
44
|
-
const body = (await response.json());
|
|
45
|
-
return body.success && Array.isArray(body.data) ? body.data : [];
|
|
46
|
-
}
|
|
47
|
-
async function resolveDeck(backendUrl, deckId) {
|
|
48
|
-
const response = await fetch(`${backendUrl}/api/decks/${deckId}`, {
|
|
49
|
-
signal: AbortSignal.timeout(2500),
|
|
50
|
-
});
|
|
51
|
-
if (response.status === 404) {
|
|
52
|
-
return { ok: false, error: 'Deck not found' };
|
|
53
|
-
}
|
|
54
|
-
if (!response.ok) {
|
|
55
|
-
return { ok: false, error: `GET /api/decks/${deckId} returned ${response.status}` };
|
|
56
|
-
}
|
|
57
|
-
const body = (await response.json());
|
|
58
|
-
return body.success ? { ok: true, deckName: body.data?.name } : { ok: false, error: 'Invalid deck response' };
|
|
59
|
-
}
|
|
60
|
-
function pickDeck(decks, preferredName = 'dev') {
|
|
61
|
-
if (decks.length === 0) {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
const byName = decks.find((deck) => deck.name === preferredName);
|
|
65
|
-
return byName ?? decks[0];
|
|
66
|
-
}
|
|
67
|
-
async function ensureRepoDeckManifest(workspaceRoot, options) {
|
|
68
|
-
const host = options?.host ?? process.env.AGENT_DECK_HOST ?? '127.0.0.1';
|
|
69
|
-
const backendPort = options?.backendPort ??
|
|
70
|
-
(process.env.AGENT_DECK_PORT?.trim()
|
|
71
|
-
? (0, defaults_1.parseCliBackendPort)(process.env.AGENT_DECK_PORT)
|
|
72
|
-
: defaults_1.CLI_DEFAULT_BACKEND_PORT);
|
|
73
|
-
const backendUrl = `http://${host}:${backendPort}`;
|
|
74
|
-
const filePath = manifestPath(workspaceRoot);
|
|
75
|
-
const existingDeckId = readDeckIdFromManifest(filePath);
|
|
76
|
-
let decks;
|
|
77
|
-
try {
|
|
78
|
-
decks = await fetchDecks(backendUrl);
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
if (existingDeckId) {
|
|
82
|
-
return {
|
|
83
|
-
action: 'skipped',
|
|
84
|
-
path: filePath,
|
|
85
|
-
message: `${shared_1.REPO_DECK_MANIFEST_PATH} exists but Agent Deck API is offline — start backend to validate deck_id`,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
return {
|
|
89
|
-
action: 'skipped',
|
|
90
|
-
message: `No ${shared_1.REPO_DECK_MANIFEST_PATH} — start Agent Deck, then re-run setup --scope project or ask MCP setup_repo_deck`,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
if (existingDeckId) {
|
|
94
|
-
const resolved = await resolveDeck(backendUrl, existingDeckId);
|
|
95
|
-
if (resolved.ok) {
|
|
96
|
-
return {
|
|
97
|
-
action: 'valid',
|
|
98
|
-
path: filePath,
|
|
99
|
-
message: `Repo deck manifest OK → ${filePath} (${resolved.deckName ?? existingDeckId})`,
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
const deck = pickDeck(decks, options?.preferredDeckName ?? 'dev');
|
|
104
|
-
if (!deck) {
|
|
105
|
-
return {
|
|
106
|
-
action: 'skipped',
|
|
107
|
-
message: 'No decks in Agent Deck — create one in the dashboard, then re-run setup --scope project',
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
const action = existingDeckId ? 'updated' : 'created';
|
|
111
|
-
const written = writeManifest(workspaceRoot, deck.id, deck.name);
|
|
112
|
-
const reason = existingDeckId ? `replaced invalid deck_id ${existingDeckId}` : 'linked workspace to dashboard deck';
|
|
113
|
-
return {
|
|
114
|
-
action,
|
|
115
|
-
path: written,
|
|
116
|
-
message: `${action === 'created' ? 'Wrote' : 'Updated'} ${shared_1.REPO_DECK_MANIFEST_PATH} → ${written} (${reason}: ${deck.name})`,
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=repo-deck-init.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repo-deck-init.js","sourceRoot":"","sources":["../src/repo-deck-init.ts"],"names":[],"mappings":"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"}
|