@agent-deck/cli 1.3.3 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/agent-harness.js +12 -12
- package/dist/agent-harness.js.map +1 -1
- package/dist/backend-runtime.d.ts +9 -0
- package/dist/backend-runtime.d.ts.map +1 -1
- package/dist/backend-runtime.js.map +1 -1
- package/dist/bin.js +0 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-config.d.ts +1 -1
- package/dist/mcp-config.d.ts.map +1 -1
- package/dist/mcp-config.js +3 -3
- package/dist/mcp-config.js.map +1 -1
- package/dist/playbook-stubs.d.ts +43 -0
- package/dist/playbook-stubs.d.ts.map +1 -0
- package/dist/playbook-stubs.js +205 -0
- package/dist/playbook-stubs.js.map +1 -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/dist/use.d.ts +35 -0
- package/dist/use.d.ts.map +1 -0
- package/dist/use.js +178 -0
- package/dist/use.js.map +1 -0
- 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/agent-harness.js
CHANGED
|
@@ -20,28 +20,28 @@ exports.CURSOR_RULE_FILENAME = 'agent-deck.mdc';
|
|
|
20
20
|
exports.HARNESS_RULE_DESCRIPTION = 'Agent Deck MCP — check decks for tools; playbooks for recipes; self-improve playbooks from feedback';
|
|
21
21
|
const GLOBAL_BODY = `**Connect first:** Ensure Agent Deck MCP is connected before using deck tools (\`agent-deck setup --client cursor|claude --start\`, then restart the host). Claude Code: \`claude mcp list\` should show agent-deck as Connected when the backend is running.
|
|
22
22
|
|
|
23
|
-
**Session opener (first turn only):** When Agent Deck MCP is connected and this is a new conversation in a workspace, call \`get_decks\`, then \`bind_workspace\` with the project root and a \`deckId
|
|
23
|
+
**Session opener (first turn only):** When Agent Deck MCP is connected and this is a new conversation in a workspace, call \`get_decks\`, then \`bind_workspace\` with the project root and a \`deckId\` (if \`.agent-deck/use.json\` exists, use its \`deckId\`), then \`get_session_binding\`, and tell the user **exactly one line** using \`display_summary\` (e.g. \`◆ dev · 2 MCP · 0 keys · 1 playbooks\`). This is the deck-status line for IDE Agent chat — there is no host footer there. Do **not** repeat it every turn unless the user asks or the bind changes (\`switch_bound_deck\`, new repo).
|
|
24
24
|
|
|
25
25
|
**Later turns:** Call \`bind_workspace\` before the first deck-scoped tool if not already bound. Terminal hosts may also show the deck in the prompt footer via \`statusLine\`; do not duplicate unless the user asks.
|
|
26
26
|
|
|
27
27
|
Before declining for missing tools (Slack, Linear, GitHub, etc.), use agent-deck MCP: \`bind_workspace\`, \`get_bound_deck\`, \`call_service_tool\`. Don't hardcode deck IDs.
|
|
28
28
|
|
|
29
|
-
Deck playbooks are task recipes —
|
|
29
|
+
Deck playbooks are task recipes — thin trigger stubs from \`agent-deck use\` plus \`get_bound_deck\` / \`get_playbook\`. **Never** mirror playbook bodies into \`.cursor/skills/\`, rules, or Claude skills — one source of truth on the deck; stubs are pointers only.
|
|
30
30
|
|
|
31
31
|
### Playbooks — refine from outcomes (self-improvement)
|
|
32
32
|
|
|
33
|
-
**When
|
|
33
|
+
**When the user corrects your output** (the write trigger — no need to have called \`get_playbook\` earlier in the session):
|
|
34
34
|
|
|
35
|
-
**
|
|
36
|
-
1. Fix the **current output** per the user's feedback.
|
|
37
|
-
2. Call \`update_playbook\` on that same playbook so the **next** run avoids repeating the mistake.
|
|
35
|
+
**Update case** (a playbook covered this task): fix the output, then \`propose_playbook_patch\` with item ops — prefer one \`add_item\` to Gotchas/Checklist; include \`evidence.user_feedback_excerpt\` as a short verbatim quote of the correction.
|
|
38
36
|
|
|
39
|
-
**
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
**Genesis case** (no playbook covered the task): before ending, \`propose_playbook_patch { kind: "create", new_playbook: { title, triggers, body with one gotcha } }\` — a few lines is the right size.
|
|
38
|
+
|
|
39
|
+
**Explicit user-directed playbook edits** ("fix the playbook to say X"): \`update_playbook\` — they already reviewed.
|
|
40
|
+
|
|
41
|
+
Tell the user in one line that a proposal was filed; review happens in the dashboard.
|
|
42
|
+
|
|
43
|
+
**How to shape proposals:** generalize project-specific names but keep concrete gotchas; place lessons in Checklist/Gotchas; use \`rewrite_body\` only when structure cannot absorb the lesson.`;
|
|
44
|
+
const PROJECT_BODY_EXTRA = 'In this repo: run \`agent-deck use <deck>\` once (writes MCP + trigger stubs + \`.agent-deck/use.json\`). \`bind_workspace\` with the workspace root and that \`deckId\`. When a task matches a stub or deck \`triggers\`, \`get_playbook\` before improvising. After accepting playbook patches that change triggers, run \`agent-deck use --refresh\`.';
|
|
45
45
|
function buildClaudeHarnessBlock(scope) {
|
|
46
46
|
const lines = ['## Agent Deck', '', GLOBAL_BODY];
|
|
47
47
|
if (scope === 'project') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-harness.js","sourceRoot":"","sources":["../src/agent-harness.ts"],"names":[],"mappings":";;;;;;AAyCA,0DAMC;AAWD,wDA2BC;AAED,wDAEC;AAED,gDAkBC;AAED,gDAeC;AAqBD,kDA6CC;AAhMD,sDAAyB;AACzB,sDAAyB;AACzB,0DAA6B;AAIhB,QAAA,oBAAoB,GAAG,mCAAmC,CAAC;AAC3D,QAAA,kBAAkB,GAAG,iCAAiC,CAAC;AACvD,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AAErD,oFAAoF;AACvE,QAAA,wBAAwB,GACnC,qGAAqG,CAAC;AAExG,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"agent-harness.js","sourceRoot":"","sources":["../src/agent-harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,15 @@ export type CliCollectionAdmin = {
|
|
|
31
31
|
id: string;
|
|
32
32
|
name: string;
|
|
33
33
|
}>>;
|
|
34
|
+
resolveDeck(ref: string): Promise<{
|
|
35
|
+
id: string;
|
|
36
|
+
name: string;
|
|
37
|
+
} | null>;
|
|
38
|
+
listDeckPlaybookStubs(deckId: string): Promise<Array<{
|
|
39
|
+
id: string;
|
|
40
|
+
title: string;
|
|
41
|
+
triggers: string[];
|
|
42
|
+
}>>;
|
|
34
43
|
};
|
|
35
44
|
export declare function createCollectionAdmin(): CliCollectionAdmin;
|
|
36
45
|
export type CliExportImport = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-runtime.d.ts","sourceRoot":"","sources":["../src/backend-runtime.ts"],"names":[],"mappings":"AAKA,wBAAgB,uBAAuB,IAAI,OAAO,CASjD;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC3E,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC/D,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"backend-runtime.d.ts","sourceRoot":"","sources":["../src/backend-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-runtime.js","sourceRoot":"","sources":["../src/backend-runtime.ts"],"names":[],"mappings":";;;;;AAKA,0DASC;
|
|
1
|
+
{"version":3,"file":"backend-runtime.js","sourceRoot":"","sources":["../src/backend-runtime.ts"],"names":[],"mappings":";;;;;AAKA,0DASC;AAeD,sDASC;AA+BD,gDASC;AAED,4CAKC;AAED,kDAoBC;AAED,gCAeC;AA5HD,2DAA2C;AAC3C,kEAAqC;AAErC,mCAA4C;AAE5C,SAAgB,uBAAuB;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE;QACpE,KAAK,EAAE,CAAC,IAAA,yBAAiB,GAAE,CAAC;KAC7B,CAAC,CAAC;IACH,iEAAiE;IACjE,MAAM,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,UAAU,CAExD,CAAC;IACF,OAAO,0BAA0B,EAAE,CAAC;AACtC,CAAC;AAeD,SAAgB,qBAAqB;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE;QACpE,KAAK,EAAE,CAAC,IAAA,yBAAiB,GAAE,CAAC;KAC7B,CAAC,CAAC;IACH,iEAAiE;IACjE,MAAM,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,UAAU,CAEtD,CAAC;IACF,OAAO,wBAAwB,EAAE,CAAC;AACpC,CAAC;AA+BD,SAAgB,kBAAkB;IAChC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE;QACpE,KAAK,EAAE,CAAC,IAAA,yBAAiB,GAAE,CAAC;KAC7B,CAAC,CAAC;IACH,iEAAiE;IACjE,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,UAAU,CAEnD,CAAC;IACF,OAAO,qBAAqB,EAAE,CAAC;AACjC,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAyB;IACxD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrE,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,MAAc;IACtD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,EAAE,GAAG,uBAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,UAAU,CACxB,OAAe,EACf,IAAc,EACd,GAA2B;IAE3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,OAAO,EAAE,IAAI,EAAE;YACjC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;YAC/B,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;SACpC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/bin.js
CHANGED
|
File without changes
|
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":"AA+DA,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,CA6E5D"}
|
package/dist/index.js
CHANGED
|
@@ -17,6 +17,7 @@ const statusline_1 = require("./statusline");
|
|
|
17
17
|
const menubar_1 = require("./menubar");
|
|
18
18
|
const stop_1 = require("./stop");
|
|
19
19
|
const upgrade_1 = require("./upgrade");
|
|
20
|
+
const use_1 = require("./use");
|
|
20
21
|
const version_1 = require("./version");
|
|
21
22
|
function getVaultManager() {
|
|
22
23
|
return (0, backend_runtime_1.createCredentialManager)();
|
|
@@ -29,6 +30,7 @@ function printUsage() {
|
|
|
29
30
|
agent-deck statusline [--workspace <path>]
|
|
30
31
|
agent-deck menubar
|
|
31
32
|
agent-deck setup --client cursor|claude|claude-desktop [--scope global|project] [--start]
|
|
33
|
+
agent-deck use <deck> [--client cursor|claude|both] [--refresh] [--mcp-port PORT]
|
|
32
34
|
agent-deck upgrade [--check]
|
|
33
35
|
agent-deck doctor
|
|
34
36
|
agent-deck debug-mcp
|
|
@@ -258,6 +260,8 @@ async function runCli(argv) {
|
|
|
258
260
|
}
|
|
259
261
|
return code;
|
|
260
262
|
}
|
|
263
|
+
case 'use':
|
|
264
|
+
return (0, use_1.runUseCommand)(rest);
|
|
261
265
|
case 'upgrade':
|
|
262
266
|
return (0, upgrade_1.runUpgrade)(rest);
|
|
263
267
|
case 'doctor':
|
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":";;AA+DA,4CAoDC;AAED,8CAgBC;AAED,kDAqBC;AAED,0BAwEC;AAED,oDAcC;AAED,wBA6EC;AArUD,uDAK2B;AAE3B,yDAI4B;AAC5B,mDAAqE;AACrE,2CAA0C;AAC1C,mCAA8C;AAC9C,mCAA0D;AAC1D,qCAAqC;AACrC,6CAA6C;AAC7C,uCAAuC;AACvC,iCAAiC;AACjC,uCAAuC;AACvC,+BAAsC;AACtC,uCAAgD;AAYhD,SAAS,eAAe;IACtB,OAAO,IAAA,yCAAuB,GAAkB,CAAC;AACnD,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;6FAqB+E,CAAC,CAAC;AAC/F,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAA4C,QAAQ,CAAC;IAC/D,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,UAA8B,CAAC;IACnC,IAAI,IAAI,GAAa,EAAE,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACzB,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAkB,CAAC;QACpD,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YACnC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,IAAA,qCAAmB,EAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,OAAO,CAAC,MAAM,CAAC;QACnB,EAAE;QACF,KAAK;QACL,MAAM;QACN,UAAU;QACV,OAAO;QACP,IAAI;QACJ,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC/C,OAAO,CAAC,CAAC;AACX,CAAC;AAEM,KAAK,UAAU,iBAAiB;IACrC,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IAEzC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CACT,GAAG,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC,OAAO,KAAK,UAAU,CAAC,MAAM,YAAY,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CACpI,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,EAAU;IAClD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,IAAA,qCAAmB,EAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAC9E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC;AACX,CAAC;AAEM,KAAK,UAAU,OAAO,CAAC,IAAc;IAC1C,IAAI,MAA0B,CAAC;IAC/B,IAAI,cAAkC,CAAC;IACvC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAE5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YACnC,cAAc,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,kCAAgB,EAAC,cAAc,CAAC,CAAC;IACvD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACtC,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,OAAO,iBAAiB,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,WAAW,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,IAAA,4BAAU,EAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAErD,MAAM,OAAO,CAAC,aAAa,CAAC;QAC1B,MAAM;QACN,OAAO;QACP,aAAa;QACb,QAAQ;QACR,SAAS;QACT,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEM,KAAK,UAAU,oBAAoB,CAAC,IAAc;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3B,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,KAAK;YACR,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,iBAAiB,EAAE,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC;YACE,UAAU,EAAE,CAAC;YACb,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,MAAM,CAAC,IAAc;IACzC,MAAM,CAAC,EAAE,AAAD,EAAG,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAEpC,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,IAAA,6BAAmB,GAAE,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,WAA+B,CAAC;YACpC,IAAI,OAA2B,CAAC;YAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrB,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;qBAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;qBAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC7B,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;qBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC5B,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrD,CAAC;qBAAM,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;oBAChC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjD,CAAC;qBAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBAC5C,UAAU,EAAE,CAAC;oBACb,OAAO,CAAC,CAAC;gBACX,CAAC;YACH,CAAC;YAED,OAAO,IAAA,gBAAQ,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,MAAM;YACT,OAAO,IAAA,cAAO,GAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,IAAA,kBAAS,GAAE,CAAC;QACrB,KAAK,YAAY;YACf,OAAO,IAAA,0BAAa,EAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,SAAS;YACZ,OAAO,MAAM,IAAA,oBAAU,GAAE,CAAC;QAC5B,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;YAClC,IAAI,IAAA,6BAAqB,EAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,KAAK;YACR,OAAO,IAAA,mBAAa,EAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,SAAS;YACZ,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC;QAC1B,KAAK,QAAQ;YACX,OAAO,IAAA,iBAAS,GAAE,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,IAAA,uBAAW,GAAE,CAAC;QACvB,KAAK,YAAY;YACf,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACpC,KAAK,SAAS;YACZ,OAAO,IAAA,oCAAiB,EAAC,IAAI,CAAC,CAAC;QACjC,KAAK,UAAU;YACb,OAAO,IAAA,qCAAkB,EAAC,IAAI,CAAC,CAAC;QAClC,KAAK,MAAM;YACT,OAAO,IAAA,iCAAc,EAAC,IAAI,CAAC,CAAC;QAC9B,KAAK,QAAQ;YACX,OAAO,IAAA,gCAAgB,EAAC,IAAI,CAAC,CAAC;QAChC,KAAK,QAAQ;YACX,OAAO,IAAA,gCAAgB,EAAC,IAAI,CAAC,CAAC;QAChC,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB;YACE,UAAU,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
|
package/dist/mcp-config.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface McpEndpoint {
|
|
|
5
5
|
mcpPort: number;
|
|
6
6
|
}
|
|
7
7
|
export declare function buildMcpUrl({ host, mcpPort }: McpEndpoint): string;
|
|
8
|
-
export declare function resolveConfigPath(client: McpClient, scope: SetupScope): string;
|
|
8
|
+
export declare function resolveConfigPath(client: McpClient, scope: SetupScope, cwd?: string): string;
|
|
9
9
|
export declare function buildAgentDeckEntry(client: McpClient, endpoint: McpEndpoint): Record<string, unknown>;
|
|
10
10
|
export declare function readJsonFile(filePath: string): Record<string, unknown>;
|
|
11
11
|
export declare function mergeMcpServerConfig(existing: Record<string, unknown>, entry: Record<string, unknown>): Record<string, unknown>;
|
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,
|
|
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,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBrG;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
|
@@ -16,16 +16,16 @@ const strip_ansi_1 = require("./strip-ansi");
|
|
|
16
16
|
function buildMcpUrl({ host, mcpPort }) {
|
|
17
17
|
return `http://${host}:${mcpPort}/mcp`;
|
|
18
18
|
}
|
|
19
|
-
function resolveConfigPath(client, scope) {
|
|
19
|
+
function resolveConfigPath(client, scope, cwd = process.cwd()) {
|
|
20
20
|
const home = node_os_1.default.homedir();
|
|
21
21
|
switch (client) {
|
|
22
22
|
case 'cursor':
|
|
23
23
|
return scope === 'project'
|
|
24
|
-
? node_path_1.default.join(
|
|
24
|
+
? node_path_1.default.join(cwd, '.cursor', 'mcp.json')
|
|
25
25
|
: node_path_1.default.join(home, '.cursor', 'mcp.json');
|
|
26
26
|
case 'claude':
|
|
27
27
|
return scope === 'project'
|
|
28
|
-
? node_path_1.default.join(
|
|
28
|
+
? node_path_1.default.join(cwd, '.mcp.json')
|
|
29
29
|
: node_path_1.default.join(home, '.claude.json');
|
|
30
30
|
case 'claude-desktop':
|
|
31
31
|
if (process.platform === 'darwin') {
|
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,
|
|
1
|
+
{"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../src/mcp-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare const STUB_MARKER_START_PREFIX = "<!-- agent-deck:stub:start";
|
|
2
|
+
export declare const STUB_MARKER_END = "<!-- agent-deck:stub:end -->";
|
|
3
|
+
export declare const CURSOR_STUBS_DIR = "agent-deck-stubs";
|
|
4
|
+
export declare const CLAUDE_SKILL_PREFIX = "agent-deck-";
|
|
5
|
+
export type PlaybookStubInput = {
|
|
6
|
+
id: string;
|
|
7
|
+
title: string;
|
|
8
|
+
triggers: string[];
|
|
9
|
+
};
|
|
10
|
+
export type StubSyncResult = {
|
|
11
|
+
cursor: {
|
|
12
|
+
created: number;
|
|
13
|
+
updated: number;
|
|
14
|
+
removed: number;
|
|
15
|
+
dir: string;
|
|
16
|
+
};
|
|
17
|
+
claude: {
|
|
18
|
+
created: number;
|
|
19
|
+
updated: number;
|
|
20
|
+
removed: number;
|
|
21
|
+
dirs: string[];
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export declare function slugFromPlaybook(title: string, id: string): string;
|
|
25
|
+
export declare function buildStubDescription(playbook: PlaybookStubInput): string;
|
|
26
|
+
export declare function buildCursorStubFile(playbook: PlaybookStubInput): string;
|
|
27
|
+
export declare function buildClaudeStubFile(playbook: PlaybookStubInput): string;
|
|
28
|
+
export type StubSyncOptions = {
|
|
29
|
+
cursor?: boolean;
|
|
30
|
+
claude?: boolean;
|
|
31
|
+
};
|
|
32
|
+
export declare function syncPlaybookStubs(workspaceRoot: string, playbooks: PlaybookStubInput[], options?: StubSyncOptions): StubSyncResult;
|
|
33
|
+
export type UseManifest = {
|
|
34
|
+
version: 1;
|
|
35
|
+
deckId: string;
|
|
36
|
+
deckName: string;
|
|
37
|
+
mcpUrl: string;
|
|
38
|
+
updatedAt: string;
|
|
39
|
+
};
|
|
40
|
+
export declare const USE_MANIFEST_PATH = ".agent-deck/use.json";
|
|
41
|
+
export declare function readUseManifest(workspaceRoot: string): UseManifest | null;
|
|
42
|
+
export declare function writeUseManifest(workspaceRoot: string, manifest: UseManifest): string;
|
|
43
|
+
//# sourceMappingURL=playbook-stubs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbook-stubs.d.ts","sourceRoot":"","sources":["../src/playbook-stubs.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,+BAA+B,CAAC;AACrE,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAE9D,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC/E,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CASlE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAMxE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAoBvE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAoBvE;AA+BD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,iBAAiB,EAAE,EAC9B,OAAO,GAAE,eAAoB,GAC5B,cAAc,CAoFhB;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AAExD,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAczE;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM,CAIrF"}
|
|
@@ -0,0 +1,205 @@
|
|
|
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.USE_MANIFEST_PATH = exports.CLAUDE_SKILL_PREFIX = exports.CURSOR_STUBS_DIR = exports.STUB_MARKER_END = exports.STUB_MARKER_START_PREFIX = void 0;
|
|
7
|
+
exports.slugFromPlaybook = slugFromPlaybook;
|
|
8
|
+
exports.buildStubDescription = buildStubDescription;
|
|
9
|
+
exports.buildCursorStubFile = buildCursorStubFile;
|
|
10
|
+
exports.buildClaudeStubFile = buildClaudeStubFile;
|
|
11
|
+
exports.syncPlaybookStubs = syncPlaybookStubs;
|
|
12
|
+
exports.readUseManifest = readUseManifest;
|
|
13
|
+
exports.writeUseManifest = writeUseManifest;
|
|
14
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
15
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
16
|
+
exports.STUB_MARKER_START_PREFIX = '<!-- agent-deck:stub:start';
|
|
17
|
+
exports.STUB_MARKER_END = '<!-- agent-deck:stub:end -->';
|
|
18
|
+
exports.CURSOR_STUBS_DIR = 'agent-deck-stubs';
|
|
19
|
+
exports.CLAUDE_SKILL_PREFIX = 'agent-deck-';
|
|
20
|
+
function slugFromPlaybook(title, id) {
|
|
21
|
+
const slug = title
|
|
22
|
+
.toLowerCase()
|
|
23
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
24
|
+
.replace(/^-+|-+$/g, '');
|
|
25
|
+
if (slug) {
|
|
26
|
+
return slug;
|
|
27
|
+
}
|
|
28
|
+
return id.replace(/^pb_/, '');
|
|
29
|
+
}
|
|
30
|
+
function buildStubDescription(playbook) {
|
|
31
|
+
const fromTriggers = playbook.triggers.map((trigger) => trigger.trim()).filter(Boolean);
|
|
32
|
+
if (fromTriggers.length > 0) {
|
|
33
|
+
return fromTriggers.join(', ');
|
|
34
|
+
}
|
|
35
|
+
return playbook.title.trim() || playbook.id;
|
|
36
|
+
}
|
|
37
|
+
function buildCursorStubFile(playbook) {
|
|
38
|
+
const description = buildStubDescription(playbook);
|
|
39
|
+
const markerStart = `${exports.STUB_MARKER_START_PREFIX} ${playbook.id} -->`;
|
|
40
|
+
const body = [
|
|
41
|
+
'---',
|
|
42
|
+
`description: ${description}`,
|
|
43
|
+
'alwaysApply: false',
|
|
44
|
+
'---',
|
|
45
|
+
'',
|
|
46
|
+
markerStart,
|
|
47
|
+
`# ${playbook.title}`,
|
|
48
|
+
'',
|
|
49
|
+
'Playbook body lives on the deck — **never** copy procedure steps into this file.',
|
|
50
|
+
'',
|
|
51
|
+
`1. \`bind_workspace\` if needed, then \`get_playbook("${playbook.id}")\` before following steps.`,
|
|
52
|
+
'2. On user correction to playbook-shaped output: `propose_playbook_patch` with evidence (not `update_playbook` unless they directed an edit).',
|
|
53
|
+
exports.STUB_MARKER_END,
|
|
54
|
+
'',
|
|
55
|
+
].join('\n');
|
|
56
|
+
return body;
|
|
57
|
+
}
|
|
58
|
+
function buildClaudeStubFile(playbook) {
|
|
59
|
+
const description = buildStubDescription(playbook);
|
|
60
|
+
const markerStart = `${exports.STUB_MARKER_START_PREFIX} ${playbook.id} -->`;
|
|
61
|
+
const slug = slugFromPlaybook(playbook.title, playbook.id);
|
|
62
|
+
return [
|
|
63
|
+
'---',
|
|
64
|
+
`name: ${exports.CLAUDE_SKILL_PREFIX}${slug}`,
|
|
65
|
+
`description: ${description}`,
|
|
66
|
+
'---',
|
|
67
|
+
'',
|
|
68
|
+
markerStart,
|
|
69
|
+
`# ${playbook.title}`,
|
|
70
|
+
'',
|
|
71
|
+
'Playbook body lives on the deck — **never** copy procedure steps into this file.',
|
|
72
|
+
'',
|
|
73
|
+
`1. \`bind_workspace\` if needed, then \`get_playbook("${playbook.id}")\` before following steps.`,
|
|
74
|
+
'2. On user correction to playbook-shaped output: `propose_playbook_patch` with evidence (not `update_playbook` unless they directed an edit).',
|
|
75
|
+
exports.STUB_MARKER_END,
|
|
76
|
+
'',
|
|
77
|
+
].join('\n');
|
|
78
|
+
}
|
|
79
|
+
function readText(filePath) {
|
|
80
|
+
if (!node_fs_1.default.existsSync(filePath)) {
|
|
81
|
+
return '';
|
|
82
|
+
}
|
|
83
|
+
return node_fs_1.default.readFileSync(filePath, 'utf8');
|
|
84
|
+
}
|
|
85
|
+
function writeText(filePath, content) {
|
|
86
|
+
node_fs_1.default.mkdirSync(node_path_1.default.dirname(filePath), { recursive: true });
|
|
87
|
+
node_fs_1.default.writeFileSync(filePath, content.endsWith('\n') ? content : `${content}\n`, 'utf8');
|
|
88
|
+
}
|
|
89
|
+
function isAgentDeckStub(content) {
|
|
90
|
+
return content.includes(exports.STUB_MARKER_START_PREFIX) && content.includes(exports.STUB_MARKER_END);
|
|
91
|
+
}
|
|
92
|
+
function stubPlaybookId(content) {
|
|
93
|
+
const match = content.match(/<!-- agent-deck:stub:start\s+(\S+)\s+-->/);
|
|
94
|
+
return match?.[1] ?? null;
|
|
95
|
+
}
|
|
96
|
+
function cursorStubPath(stubsDir, playbookId) {
|
|
97
|
+
return node_path_1.default.join(stubsDir, `${playbookId}.mdc`);
|
|
98
|
+
}
|
|
99
|
+
function claudeSkillDir(skillsRoot, playbook) {
|
|
100
|
+
return node_path_1.default.join(skillsRoot, `${exports.CLAUDE_SKILL_PREFIX}${slugFromPlaybook(playbook.title, playbook.id)}`);
|
|
101
|
+
}
|
|
102
|
+
function syncPlaybookStubs(workspaceRoot, playbooks, options = {}) {
|
|
103
|
+
const writeCursor = options.cursor !== false;
|
|
104
|
+
const writeClaude = options.claude !== false;
|
|
105
|
+
const cursorDir = node_path_1.default.join(workspaceRoot, '.cursor', 'rules', exports.CURSOR_STUBS_DIR);
|
|
106
|
+
const claudeSkillsRoot = node_path_1.default.join(workspaceRoot, '.claude', 'skills');
|
|
107
|
+
const result = {
|
|
108
|
+
cursor: { created: 0, updated: 0, removed: 0, dir: cursorDir },
|
|
109
|
+
claude: { created: 0, updated: 0, removed: 0, dirs: [] },
|
|
110
|
+
};
|
|
111
|
+
const expectedCursor = new Set(playbooks.map((playbook) => playbook.id));
|
|
112
|
+
const expectedClaudeDirs = new Set(playbooks.map((playbook) => claudeSkillDir(claudeSkillsRoot, playbook)));
|
|
113
|
+
if (node_fs_1.default.existsSync(cursorDir)) {
|
|
114
|
+
for (const entry of node_fs_1.default.readdirSync(cursorDir)) {
|
|
115
|
+
if (!writeCursor || !entry.endsWith('.mdc')) {
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
const filePath = node_path_1.default.join(cursorDir, entry);
|
|
119
|
+
const content = readText(filePath);
|
|
120
|
+
if (!isAgentDeckStub(content)) {
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
const playbookId = stubPlaybookId(content) ?? entry.replace(/\.mdc$/, '');
|
|
124
|
+
if (!expectedCursor.has(playbookId)) {
|
|
125
|
+
node_fs_1.default.unlinkSync(filePath);
|
|
126
|
+
result.cursor.removed += 1;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (node_fs_1.default.existsSync(claudeSkillsRoot)) {
|
|
131
|
+
for (const entry of node_fs_1.default.readdirSync(claudeSkillsRoot, { withFileTypes: true })) {
|
|
132
|
+
if (!writeClaude || !entry.isDirectory() || !entry.name.startsWith(exports.CLAUDE_SKILL_PREFIX)) {
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
const skillDir = node_path_1.default.join(claudeSkillsRoot, entry.name);
|
|
136
|
+
const skillPath = node_path_1.default.join(skillDir, 'SKILL.md');
|
|
137
|
+
const content = readText(skillPath);
|
|
138
|
+
if (!isAgentDeckStub(content)) {
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
if (!expectedClaudeDirs.has(skillDir)) {
|
|
142
|
+
node_fs_1.default.rmSync(skillDir, { recursive: true, force: true });
|
|
143
|
+
result.claude.removed += 1;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
for (const playbook of playbooks) {
|
|
148
|
+
if (writeCursor) {
|
|
149
|
+
const cursorPath = cursorStubPath(cursorDir, playbook.id);
|
|
150
|
+
const nextCursor = buildCursorStubFile(playbook);
|
|
151
|
+
const prevCursor = readText(cursorPath);
|
|
152
|
+
if (!prevCursor.trim()) {
|
|
153
|
+
writeText(cursorPath, nextCursor);
|
|
154
|
+
result.cursor.created += 1;
|
|
155
|
+
}
|
|
156
|
+
else if (prevCursor !== nextCursor) {
|
|
157
|
+
writeText(cursorPath, nextCursor);
|
|
158
|
+
result.cursor.updated += 1;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (writeClaude) {
|
|
162
|
+
const skillDir = claudeSkillDir(claudeSkillsRoot, playbook);
|
|
163
|
+
const skillPath = node_path_1.default.join(skillDir, 'SKILL.md');
|
|
164
|
+
const nextClaude = buildClaudeStubFile(playbook);
|
|
165
|
+
const prevClaude = readText(skillPath);
|
|
166
|
+
if (!prevClaude.trim()) {
|
|
167
|
+
writeText(skillPath, nextClaude);
|
|
168
|
+
result.claude.created += 1;
|
|
169
|
+
result.claude.dirs.push(skillDir);
|
|
170
|
+
}
|
|
171
|
+
else if (prevClaude !== nextClaude) {
|
|
172
|
+
writeText(skillPath, nextClaude);
|
|
173
|
+
result.claude.updated += 1;
|
|
174
|
+
result.claude.dirs.push(skillDir);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
result.claude.dirs.push(skillDir);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return result;
|
|
182
|
+
}
|
|
183
|
+
exports.USE_MANIFEST_PATH = '.agent-deck/use.json';
|
|
184
|
+
function readUseManifest(workspaceRoot) {
|
|
185
|
+
const manifestPath = node_path_1.default.join(workspaceRoot, exports.USE_MANIFEST_PATH);
|
|
186
|
+
if (!node_fs_1.default.existsSync(manifestPath)) {
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
try {
|
|
190
|
+
const parsed = JSON.parse(node_fs_1.default.readFileSync(manifestPath, 'utf8'));
|
|
191
|
+
if (parsed?.version === 1 && typeof parsed.deckId === 'string') {
|
|
192
|
+
return parsed;
|
|
193
|
+
}
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
function writeUseManifest(workspaceRoot, manifest) {
|
|
201
|
+
const manifestPath = node_path_1.default.join(workspaceRoot, exports.USE_MANIFEST_PATH);
|
|
202
|
+
writeText(manifestPath, JSON.stringify(manifest, null, 2));
|
|
203
|
+
return manifestPath;
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=playbook-stubs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbook-stubs.js","sourceRoot":"","sources":["../src/playbook-stubs.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":";;;;;;AAmFA,0DAYC;AA0DD,8CA+BC;AAxLD,sDAAyB;AACzB,sDAAyB;AACzB,0DAA6B;AAE7B,6CAA2D;AAG9C,QAAA,sBAAsB,GAAG,eAAe,CAAC;AAYtD,SAAS,2BAA2B;IAClC,OAAO,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,8BAAsB,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,UAAU,GAAG;QACjB,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC9B,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC;KAC7C,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,iBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB;IAChD,MAAM,aAAa,GAAG,WAAW;QAC/B,CAAC,CAAC;aACO,WAAW;;;;CAIvB;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;EAyBP,aAAa;;;;;;;;;CASd,CAAC;AACF,CAAC;AAED,SAAgB,uBAAuB;IACrC,MAAM,UAAU,GAAG,2BAA2B,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,iBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtF,iBAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,iBAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAEtE,OAAO;QACL,UAAU;QACV,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KAC3E,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAwB;IAC3D,MAAM,IAAI,GAAG,iBAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB,EAAE,MAAwB;IACzE,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,CAAC;KACX,CAAC;IAEF,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,IAAI;YACP,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAiC,EACjC,UAAkB,EAClB,MAAwB;IAExB,MAAM,cAAc,GAAG,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC;IACpC,MAAM,aAAa,GACjB,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC/D,CAAC,CAAE,OAAmC;QACtC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,eAAe,GAAG,OAAO,aAAa,EAAE,eAAe,KAAK,QAAQ,CAAC;IAC3E,MAAM,SAAS,GACb,CAAC,eAAe;QAChB,aAAa;QACb,aAAa,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO;QAChD,aAAa,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC;IAE7C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,MAAM,EAAE;YACN,GAAG,QAAQ;YACX,UAAU,EAAE,cAAc;SAC3B;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAwB;IACxD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACvE,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAA,yBAAY,EAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAEhF,IAAI,OAAO,EAAE,CAAC;QACZ,IAAA,0BAAa,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAEpG,MAAM,WAAW,GACf,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;QACtD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,YAAY,KAAK,WAAW,IAAI,YAAY,KAAK,WAAW;YAC5D,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,SAAS,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IAErE,OAAO;QACL,SAAS,EAAE,IAAI;QACf,UAAU;QACV,UAAU;QACV,MAAM,EAAE,WAAW;QACnB,OAAO,EACL,WAAW,KAAK,WAAW;YACzB,CAAC,CAAC,sCAAsC,SAAS,MAAM,UAAU,EAAE;YACnE,CAAC,CAAC,kCAAkC,SAAS,MAAM,UAAU,cAAc,UAAU,GAAG;KAC7F,CAAC;AACJ,CAAC"}
|
package/dist/use.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type McpClient } from './mcp-config';
|
|
2
|
+
import { type StubSyncResult } from './playbook-stubs';
|
|
3
|
+
export type UseClientTarget = 'cursor' | 'claude' | 'both';
|
|
4
|
+
export interface UseOptions {
|
|
5
|
+
deckRef?: string;
|
|
6
|
+
refresh: boolean;
|
|
7
|
+
clients: UseClientTarget;
|
|
8
|
+
host: string;
|
|
9
|
+
mcpPort: number;
|
|
10
|
+
skipMcp: boolean;
|
|
11
|
+
workspaceRoot: string;
|
|
12
|
+
}
|
|
13
|
+
export type UseResult = {
|
|
14
|
+
deck: {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
};
|
|
18
|
+
mcpUrl: string;
|
|
19
|
+
manifestPath: string;
|
|
20
|
+
mcp: Array<{
|
|
21
|
+
client: McpClient;
|
|
22
|
+
path: string;
|
|
23
|
+
}>;
|
|
24
|
+
stubs: StubSyncResult;
|
|
25
|
+
playbookCount: number;
|
|
26
|
+
};
|
|
27
|
+
export declare function parseUseArgs(args: string[]): UseOptions | {
|
|
28
|
+
error: string;
|
|
29
|
+
};
|
|
30
|
+
export declare function runUse(parsed: UseOptions): Promise<UseResult | {
|
|
31
|
+
error: string;
|
|
32
|
+
}>;
|
|
33
|
+
export declare function formatUseSummary(result: UseResult): string;
|
|
34
|
+
export declare function runUseCommand(args: string[]): Promise<number>;
|
|
35
|
+
//# sourceMappingURL=use.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../src/use.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,KAAK,EAAE,cAAc,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAYF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAoD3E;AAYD,wBAAsB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAyDvF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAgB1D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBnE"}
|
package/dist/use.js
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
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.parseUseArgs = parseUseArgs;
|
|
7
|
+
exports.runUse = runUse;
|
|
8
|
+
exports.formatUseSummary = formatUseSummary;
|
|
9
|
+
exports.runUseCommand = runUseCommand;
|
|
10
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
11
|
+
const backend_runtime_1 = require("./backend-runtime");
|
|
12
|
+
const defaults_1 = require("./defaults");
|
|
13
|
+
const mcp_config_1 = require("./mcp-config");
|
|
14
|
+
const playbook_stubs_1 = require("./playbook-stubs");
|
|
15
|
+
function parseUseClient(value) {
|
|
16
|
+
if (!value || value === 'both') {
|
|
17
|
+
return 'both';
|
|
18
|
+
}
|
|
19
|
+
if (value === 'cursor' || value === 'claude') {
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
function parseUseArgs(args) {
|
|
25
|
+
let deckRef;
|
|
26
|
+
let refresh = false;
|
|
27
|
+
let clients = 'both';
|
|
28
|
+
let host = process.env.AGENT_DECK_HOST ?? '127.0.0.1';
|
|
29
|
+
let mcpPort = (0, defaults_1.parseCliMcpPort)(process.env.AGENT_DECK_MCP_PORT);
|
|
30
|
+
let skipMcp = false;
|
|
31
|
+
for (let i = 0; i < args.length; i += 1) {
|
|
32
|
+
const arg = args[i];
|
|
33
|
+
if (arg === '--refresh') {
|
|
34
|
+
refresh = true;
|
|
35
|
+
}
|
|
36
|
+
else if (arg === '--client') {
|
|
37
|
+
const parsed = parseUseClient(args[++i]);
|
|
38
|
+
if (!parsed) {
|
|
39
|
+
return { error: '--client must be cursor, claude, or both' };
|
|
40
|
+
}
|
|
41
|
+
clients = parsed;
|
|
42
|
+
}
|
|
43
|
+
else if (arg === '--host') {
|
|
44
|
+
host = args[++i] ?? host;
|
|
45
|
+
}
|
|
46
|
+
else if (arg === '--mcp-port') {
|
|
47
|
+
mcpPort = Number.parseInt(args[++i] ?? '', 10);
|
|
48
|
+
}
|
|
49
|
+
else if (arg === '--no-mcp') {
|
|
50
|
+
skipMcp = true;
|
|
51
|
+
}
|
|
52
|
+
else if (arg === '--help' || arg === '-h') {
|
|
53
|
+
return { error: 'help' };
|
|
54
|
+
}
|
|
55
|
+
else if (arg.startsWith('-')) {
|
|
56
|
+
return { error: `Unknown use option: ${arg}` };
|
|
57
|
+
}
|
|
58
|
+
else if (!deckRef) {
|
|
59
|
+
deckRef = arg;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return { error: `Unexpected argument: ${arg}` };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (!refresh && !deckRef) {
|
|
66
|
+
return { error: 'deck name or id is required (or pass --refresh)' };
|
|
67
|
+
}
|
|
68
|
+
if (!Number.isFinite(mcpPort)) {
|
|
69
|
+
return { error: '--mcp-port must be a number' };
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
deckRef,
|
|
73
|
+
refresh,
|
|
74
|
+
clients,
|
|
75
|
+
host,
|
|
76
|
+
mcpPort,
|
|
77
|
+
skipMcp,
|
|
78
|
+
workspaceRoot: process.cwd(),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function clientsToWrite(target) {
|
|
82
|
+
if (target === 'cursor') {
|
|
83
|
+
return ['cursor'];
|
|
84
|
+
}
|
|
85
|
+
if (target === 'claude') {
|
|
86
|
+
return ['claude'];
|
|
87
|
+
}
|
|
88
|
+
return ['cursor', 'claude'];
|
|
89
|
+
}
|
|
90
|
+
async function runUse(parsed) {
|
|
91
|
+
const admin = (0, backend_runtime_1.createCollectionAdmin)();
|
|
92
|
+
let deckRef = parsed.deckRef;
|
|
93
|
+
if (parsed.refresh) {
|
|
94
|
+
const manifest = (0, playbook_stubs_1.readUseManifest)(parsed.workspaceRoot);
|
|
95
|
+
if (!manifest) {
|
|
96
|
+
return { error: 'No .agent-deck/use.json — run agent-deck use <deck> first' };
|
|
97
|
+
}
|
|
98
|
+
deckRef = manifest.deckId;
|
|
99
|
+
}
|
|
100
|
+
if (!deckRef) {
|
|
101
|
+
return { error: 'deck name or id is required' };
|
|
102
|
+
}
|
|
103
|
+
const deck = await admin.resolveDeck(deckRef);
|
|
104
|
+
if (!deck) {
|
|
105
|
+
return { error: `Deck not found: ${deckRef}` };
|
|
106
|
+
}
|
|
107
|
+
const playbooks = await admin.listDeckPlaybookStubs(deck.id);
|
|
108
|
+
const endpoint = { host: parsed.host, mcpPort: parsed.mcpPort };
|
|
109
|
+
const mcpUrl = (0, mcp_config_1.buildMcpUrl)(endpoint);
|
|
110
|
+
const mcpWritten = [];
|
|
111
|
+
if (!parsed.skipMcp) {
|
|
112
|
+
for (const client of clientsToWrite(parsed.clients)) {
|
|
113
|
+
const configPath = (0, mcp_config_1.resolveConfigPath)(client, 'project', parsed.workspaceRoot);
|
|
114
|
+
const entry = (0, mcp_config_1.buildAgentDeckEntry)(client, endpoint);
|
|
115
|
+
const merged = (0, mcp_config_1.mergeMcpServerConfig)((0, mcp_config_1.readJsonFile)(configPath), entry);
|
|
116
|
+
(0, mcp_config_1.writeJsonFile)(configPath, merged);
|
|
117
|
+
mcpWritten.push({ client, path: configPath });
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
const manifestPath = (0, playbook_stubs_1.writeUseManifest)(parsed.workspaceRoot, {
|
|
121
|
+
version: 1,
|
|
122
|
+
deckId: deck.id,
|
|
123
|
+
deckName: deck.name,
|
|
124
|
+
mcpUrl,
|
|
125
|
+
updatedAt: new Date().toISOString(),
|
|
126
|
+
});
|
|
127
|
+
const stubs = (0, playbook_stubs_1.syncPlaybookStubs)(parsed.workspaceRoot, playbooks, {
|
|
128
|
+
cursor: parsed.clients !== 'claude',
|
|
129
|
+
claude: parsed.clients !== 'cursor',
|
|
130
|
+
});
|
|
131
|
+
return {
|
|
132
|
+
deck,
|
|
133
|
+
mcpUrl,
|
|
134
|
+
manifestPath,
|
|
135
|
+
mcp: mcpWritten,
|
|
136
|
+
stubs,
|
|
137
|
+
playbookCount: playbooks.length,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
function formatUseSummary(result) {
|
|
141
|
+
const lines = [
|
|
142
|
+
`Deck "${result.deck.name}" (${result.deck.id})`,
|
|
143
|
+
`Manifest → ${result.manifestPath}`,
|
|
144
|
+
`MCP → ${result.mcpUrl}`,
|
|
145
|
+
];
|
|
146
|
+
for (const entry of result.mcp) {
|
|
147
|
+
lines.push(` ${entry.client}: ${entry.path}`);
|
|
148
|
+
}
|
|
149
|
+
lines.push(`Stubs: ${result.playbookCount} playbook(s) — cursor +${result.stubs.cursor.created} ~${result.stubs.cursor.updated} -${result.stubs.cursor.removed}; claude +${result.stubs.claude.created} ~${result.stubs.claude.updated} -${result.stubs.claude.removed}`);
|
|
150
|
+
lines.push(`Cursor stubs → ${node_path_1.default.join('.cursor', 'rules', 'agent-deck-stubs')}`);
|
|
151
|
+
lines.push(`Claude stubs → ${node_path_1.default.join('.claude', 'skills', 'agent-deck-<slug>')}`);
|
|
152
|
+
lines.push('Restart the IDE host so MCP and stub discovery reload.');
|
|
153
|
+
return lines.join('\n');
|
|
154
|
+
}
|
|
155
|
+
async function runUseCommand(args) {
|
|
156
|
+
const parsed = parseUseArgs(args);
|
|
157
|
+
if ('error' in parsed) {
|
|
158
|
+
if (parsed.error === 'help') {
|
|
159
|
+
console.log(`Usage:
|
|
160
|
+
agent-deck use <deck> [--client cursor|claude|both] [--host HOST] [--mcp-port PORT] [--no-mcp]
|
|
161
|
+
agent-deck use --refresh
|
|
162
|
+
|
|
163
|
+
Writes project MCP config (one agent-deck entry), .agent-deck/use.json, and thin playbook trigger stubs.
|
|
164
|
+
Bodies stay on the deck — stubs are pointers only.`);
|
|
165
|
+
return 0;
|
|
166
|
+
}
|
|
167
|
+
console.error(parsed.error);
|
|
168
|
+
return 1;
|
|
169
|
+
}
|
|
170
|
+
const result = await runUse(parsed);
|
|
171
|
+
if ('error' in result) {
|
|
172
|
+
console.error(result.error);
|
|
173
|
+
return 1;
|
|
174
|
+
}
|
|
175
|
+
console.log(formatUseSummary(result));
|
|
176
|
+
return 0;
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=use.js.map
|
package/dist/use.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../src/use.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.
|
|
4
|
-
"description": "Local MCP proxy
|
|
5
|
-
"license": "
|
|
3
|
+
"version": "1.4.0",
|
|
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.
|
|
43
|
-
"@agent-deck/shared": "^1.
|
|
43
|
+
"@agent-deck/backend": "^1.4.0",
|
|
44
|
+
"@agent-deck/shared": "^1.4.0"
|
|
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":"AAKA,wBAAgB,uBAAuB,IAAI,OAAO,CASjD;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC3E,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC/D,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF,wBAAgB,qBAAqB,IAAI,kBAAkB,CAS1D;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CACV,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1D,OAAO,CACN;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAAC,SAAS,EAAE,OAAO,EAAE,CAAC;YAAC,KAAK,EAAE,OAAO,EAAE,CAAA;SAAE,CAAA;KAAE,GACrF;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAC/B,CAAC;IACF,cAAc,CACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CACN;QACE,EAAE,EAAE,IAAI,CAAC;QACT,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE;gBACN,QAAQ,EAAE;oBAAE,OAAO,EAAE,MAAM,CAAC;oBAAC,MAAM,EAAE,MAAM,CAAA;iBAAE,CAAC;gBAC9C,SAAS,EAAE;oBAAE,OAAO,EAAE,MAAM,CAAC;oBAAC,MAAM,EAAE,MAAM,CAAA;iBAAE,CAAC;gBAC/C,KAAK,EAAE;oBAAE,OAAO,EAAE,MAAM,CAAC;oBAAC,MAAM,EAAE,MAAM,CAAA;iBAAE,CAAC;aAC5C,CAAC;YACF,oBAAoB,EAAE,MAAM,EAAE,CAAC;YAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC/B,CAAC;KACH,GACD;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAC/B,CAAC;CACH,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,eAAe,CASpD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAKpE;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBzE;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,OAAO,CAAC,MAAM,CAAC,CAWjB"}
|
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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"}
|