mcpocket 0.4.1 → 0.5.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.
@@ -0,0 +1,287 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.openSelectionUi = openSelectionUi;
37
+ const http = __importStar(require("node:http"));
38
+ const cp = __importStar(require("node:child_process"));
39
+ const sparkle_js_1 = require("../utils/sparkle.js");
40
+ const PORT = 3000;
41
+ /**
42
+ * Start a local HTTP server on port 3000, open the browser, and wait for
43
+ * the user to submit their selection. Resolves with ItemFilters once the
44
+ * user clicks the sync button.
45
+ */
46
+ async function openSelectionUi(items, action) {
47
+ return new Promise((resolve, reject) => {
48
+ const server = http.createServer((req, res) => {
49
+ if (req.method === 'GET' && req.url === '/') {
50
+ res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
51
+ res.end(buildHtml(items, action));
52
+ return;
53
+ }
54
+ if (req.method === 'GET' && req.url === '/api/items') {
55
+ res.writeHead(200, { 'Content-Type': 'application/json' });
56
+ res.end(JSON.stringify({ ...items, action }));
57
+ return;
58
+ }
59
+ if (req.method === 'POST' && req.url === '/api/sync') {
60
+ let body = '';
61
+ req.on('data', (chunk) => { body += chunk.toString(); });
62
+ req.on('end', () => {
63
+ try {
64
+ const sel = JSON.parse(body);
65
+ res.writeHead(200, { 'Content-Type': 'application/json' });
66
+ res.end(JSON.stringify({ ok: true }));
67
+ server.close();
68
+ resolve(buildFilters(sel, items));
69
+ }
70
+ catch {
71
+ res.writeHead(400, { 'Content-Type': 'application/json' });
72
+ res.end(JSON.stringify({ error: 'Invalid JSON' }));
73
+ }
74
+ });
75
+ return;
76
+ }
77
+ res.writeHead(404);
78
+ res.end();
79
+ });
80
+ server.on('error', (err) => {
81
+ if (err.code === 'EADDRINUSE') {
82
+ (0, sparkle_js_1.oops)(`Port ${PORT} is already in use. Stop any other process using it and try again.`);
83
+ }
84
+ else {
85
+ (0, sparkle_js_1.oops)(err.message);
86
+ }
87
+ reject(err);
88
+ });
89
+ server.listen(PORT, '127.0.0.1', () => {
90
+ const url = `http://localhost:${PORT}`;
91
+ tryOpenBrowser(url);
92
+ (0, sparkle_js_1.sparkle)(`UI running at ${sparkle_js_1.c.cyan(url)}`);
93
+ (0, sparkle_js_1.sparkle)('Select your items in the browser, then click the sync button…');
94
+ });
95
+ });
96
+ }
97
+ // ── Helpers ───────────────────────────────────────────────────────────────────
98
+ function buildFilters(sel, available) {
99
+ const filters = {};
100
+ if (sel.agents.length < available.agents.length)
101
+ filters.agentNames = new Set(sel.agents);
102
+ if (sel.skills.length < available.skills.length)
103
+ filters.skillNames = new Set(sel.skills);
104
+ if (sel.mcps.length < available.mcps.length)
105
+ filters.mcpNames = new Set(sel.mcps);
106
+ return filters;
107
+ }
108
+ function tryOpenBrowser(url) {
109
+ try {
110
+ const cmd = process.platform === 'win32' ? `start "" "${url}"` :
111
+ process.platform === 'darwin' ? `open "${url}"` :
112
+ `xdg-open "${url}"`;
113
+ cp.exec(cmd);
114
+ }
115
+ catch {
116
+ // Non-fatal — user can open manually
117
+ }
118
+ }
119
+ function esc(str) {
120
+ return str
121
+ .replace(/&/g, '&amp;')
122
+ .replace(/</g, '&lt;')
123
+ .replace(/>/g, '&gt;')
124
+ .replace(/"/g, '&quot;');
125
+ }
126
+ // ── HTML ──────────────────────────────────────────────────────────────────────
127
+ function renderGroup(kind, title, colorVar, names) {
128
+ const items = names
129
+ .map((n) => `
130
+ <label class="item">
131
+ <input type="checkbox" data-kind="${kind}" value="${esc(n)}" checked>
132
+ <span class="name">${esc(n)}</span>
133
+ </label>`)
134
+ .join('');
135
+ const empty = `<div class="empty">No ${title.toLowerCase()} found</div>`;
136
+ return `
137
+ <div class="group" id="grp-${kind}">
138
+ <div class="group-head">
139
+ <span class="badge" style="--c:${colorVar}">${title}</span>
140
+ <span class="grp-count" id="cnt-${kind}"><b>${names.length}</b>/${names.length}</span>
141
+ ${names.length > 0 ? `<button class="toggle-btn" onclick="toggleGroup('${kind}')">toggle all</button>` : ''}
142
+ </div>
143
+ <div class="group-body">${names.length > 0 ? items : empty}</div>
144
+ </div>`;
145
+ }
146
+ function buildHtml(items, action) {
147
+ const actionLabel = action === 'push' ? 'Push to Pocket' : 'Pull from Pocket';
148
+ const actionVerb = action === 'push' ? 'push' : 'pull';
149
+ const itemsJson = JSON.stringify(items);
150
+ const groups = [
151
+ renderGroup('agents', 'Agents', 'var(--blue)', items.agents),
152
+ renderGroup('skills', 'Skills', 'var(--purple)', items.skills),
153
+ renderGroup('mcps', 'MCP Servers', 'var(--green)', items.mcps),
154
+ ].join('');
155
+ return `<!DOCTYPE html>
156
+ <html lang="en">
157
+ <head>
158
+ <meta charset="UTF-8">
159
+ <meta name="viewport" content="width=device-width,initial-scale=1">
160
+ <title>mcpocket — ${actionVerb}</title>
161
+ <style>
162
+ *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
163
+ :root{
164
+ --bg:#0d1117;--surface:#161b22;--border:#30363d;
165
+ --text:#e6edf3;--muted:#8b949e;
166
+ --blue:#58a6ff;--green:#3fb950;--purple:#bc8cff;--yellow:#d29922;
167
+ --font:'SF Mono','Fira Code','Cascadia Code',ui-monospace,monospace;
168
+ }
169
+ body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column}
170
+
171
+ /* header */
172
+ header{padding:20px 32px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
173
+ .logo{font-size:18px;font-weight:700;letter-spacing:-.5px}
174
+ .logo em{color:var(--blue);font-style:normal}
175
+ .logo span{color:var(--purple)}
176
+ .subtitle{font-size:12px;color:var(--muted);margin-top:3px}
177
+
178
+ /* main */
179
+ main{flex:1;padding:24px 32px;max-width:760px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:16px}
180
+
181
+ /* groups */
182
+ .group{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}
183
+ .group-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.02)}
184
+ .badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c)}
185
+ .grp-count{font-size:12px;color:var(--muted);margin-left:auto}
186
+ .grp-count b{color:var(--text)}
187
+ .toggle-btn{font-family:var(--font);font-size:11px;color:var(--blue);background:none;border:none;cursor:pointer;padding:3px 8px;border-radius:4px}
188
+ .toggle-btn:hover{background:rgba(88,166,255,.12)}
189
+ .group-body{padding:6px 0}
190
+
191
+ /* items */
192
+ .item{display:flex;align-items:center;gap:11px;padding:7px 14px;cursor:pointer;transition:background .1s}
193
+ .item:hover{background:rgba(255,255,255,.04)}
194
+ .item input[type=checkbox]{width:14px;height:14px;accent-color:var(--blue);cursor:pointer;flex-shrink:0}
195
+ .name{font-size:13px}
196
+ .empty{padding:14px;font-size:12px;color:var(--muted);text-align:center;font-style:italic}
197
+
198
+ /* footer */
199
+ footer{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--border);padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}
200
+ .summary{font-size:13px;color:var(--muted)}
201
+ .summary b{color:var(--text)}
202
+ .sync-btn{padding:9px 22px;background:var(--blue);color:#0d1117;border:none;border-radius:6px;font-family:var(--font);font-size:13px;font-weight:700;cursor:pointer;transition:opacity .15s}
203
+ .sync-btn:hover{opacity:.88}
204
+ .sync-btn:disabled{opacity:.35;cursor:default}
205
+
206
+ /* done screen */
207
+ #done{display:none;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:48px}
208
+ #done.show{display:flex}
209
+ .done-icon{font-size:52px}
210
+ .done-msg{font-size:20px;color:var(--green);font-weight:600}
211
+ .done-sub{font-size:13px;color:var(--muted)}
212
+ </style>
213
+ </head>
214
+ <body>
215
+
216
+ <header>
217
+ <div>
218
+ <div class="logo"><em>mcp</em><span>pocket</span></div>
219
+ <div class="subtitle">Select items to ${actionVerb} → pocket</div>
220
+ </div>
221
+ </header>
222
+
223
+ <main id="main">${groups}</main>
224
+
225
+ <div id="done">
226
+ <div class="done-icon">✓</div>
227
+ <div class="done-msg">Selection submitted!</div>
228
+ <div class="done-sub">Check your terminal to complete the ${actionVerb}.</div>
229
+ </div>
230
+
231
+ <footer id="foot">
232
+ <div class="summary" id="summary"></div>
233
+ <button class="sync-btn" id="sync-btn" onclick="submitSel()">${actionLabel}</button>
234
+ </footer>
235
+
236
+ <script>
237
+ const ITEMS=${itemsJson};
238
+
239
+ function countFor(kind){
240
+ return document.querySelectorAll('[data-kind='+kind+']:checked').length;
241
+ }
242
+ function updateCounts(){
243
+ let total=0,sel=0;
244
+ ['agents','skills','mcps'].forEach(k=>{
245
+ const all=ITEMS[k].length, s=countFor(k);
246
+ total+=all; sel+=s;
247
+ const el=document.getElementById('cnt-'+k);
248
+ if(el) el.innerHTML='<b>'+s+'</b>/'+all;
249
+ });
250
+ document.getElementById('summary').innerHTML=
251
+ '<b>'+sel+'</b> of <b>'+total+'</b> items selected';
252
+ }
253
+
254
+ function toggleGroup(kind){
255
+ const boxes=[...document.querySelectorAll('[data-kind='+kind+']')];
256
+ const allOn=boxes.every(b=>b.checked);
257
+ boxes.forEach(b=>b.checked=!allOn);
258
+ updateCounts();
259
+ }
260
+
261
+ document.addEventListener('change',updateCounts);
262
+
263
+ async function submitSel(){
264
+ const sel={agents:[],skills:[],mcps:[]};
265
+ ['agents','skills','mcps'].forEach(k=>{
266
+ document.querySelectorAll('[data-kind='+k+']:checked')
267
+ .forEach(b=>sel[k].push(b.value));
268
+ });
269
+ const btn=document.getElementById('sync-btn');
270
+ btn.disabled=true; btn.textContent='Syncing…';
271
+ try{
272
+ await fetch('/api/sync',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(sel)});
273
+ document.getElementById('main').style.display='none';
274
+ document.getElementById('foot').style.display='none';
275
+ document.getElementById('done').classList.add('show');
276
+ }catch{
277
+ btn.disabled=false; btn.textContent='${actionLabel}';
278
+ alert('Could not reach the mcpocket server — is the terminal still running?');
279
+ }
280
+ }
281
+
282
+ updateCounts();
283
+ </script>
284
+ </body>
285
+ </html>`;
286
+ }
287
+ //# sourceMappingURL=ui-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-server.js","sourceRoot":"","sources":["../../src/commands/ui-server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/storage/github.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD,yCAAyC;AACzC,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOzE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsBzF;AAED,uFAAuF;AACvF,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0ChF;AAED,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAYjF;AAED,0BAA0B;AAC1B,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CASjF;AAED,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,SAAmB,GAAG,IAAI,CAiBlH;AAED,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAStD"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/storage/github.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD,yCAAyC;AACzC,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOzE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsBzF;AAED,uFAAuF;AACvF,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0ChF;AAED,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAiBjF;AAED,0BAA0B;AAC1B,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CASjF;AAED,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,SAAmB,GAAG,IAAI,CAiBlH;AAED,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAStD"}
@@ -131,6 +131,10 @@ function cloneRepo(cloneUrl, token, localDir) {
131
131
  if (fs.existsSync(path.join(localDir, '.git'))) {
132
132
  return; // already cloned
133
133
  }
134
+ // If the directory exists but has no .git, remove it so git clone can proceed
135
+ if (fs.existsSync(localDir)) {
136
+ fs.rmSync(localDir, { recursive: true, force: true });
137
+ }
134
138
  // Inject token into clone URL: https://token@github.com/...
135
139
  const authUrl = cloneUrl.replace('https://', `https://${token}@`);
136
140
  const parentDir = path.dirname(localDir);
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/storage/github.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,oDAOC;AAMD,0CAsBC;AAGD,gCA0CC;AAGD,8BAYC;AAGD,4BASC;AAGD,sCAiBC;AAGD,0CASC;AAnKD,uCAAyB;AACzB,2CAA6B;AAC7B,6DAA+C;AAE/C,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAS5C,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO;QACL,eAAe,EAAE,UAAU,KAAK,EAAE;QAClC,QAAQ,EAAE,6BAA6B;QACvC,sBAAsB,EAAE,YAAY;QACpC,cAAc,EAAE,kBAAkB;QAClC,YAAY,EAAE,cAAc;KAC7B,CAAC;AACJ,CAAC;AAED,yCAAyC;AAClC,KAAK,UAAU,oBAAoB,CAAC,KAAa;IACtD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAuB,CAAC;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,SAAiB;IACpE,IAAI,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC/D,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,UAAU,QAAQ,EAAE,EAAE;QACzD,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;KACxB,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAiF,CAAC;IAC7G,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;QACxB,MAAM,EAAE,IAAI,CAAC,OAAO;QACpB,OAAO,EAAE,IAAI,CAAC,QAAQ;KACvB,CAAC;AACJ,CAAC;AAED,uFAAuF;AAChF,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,KAAa;IAC3D,MAAM,QAAQ,GAAG,eAAe,CAAC;IAEjC,eAAe;IACf,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,aAAa,EAAE;QAClD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;QACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gCAAgC;YAC7C,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAiF,CAAC;QAC7G,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,UAAU,KAAK,IAAI,QAAQ,EAAE,EAAE;YACvE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;SACxB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAiF,CAAC;YAClH,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,OAAO,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,uEAAuE;AACvE,SAAgB,SAAS,CAAC,QAAgB,EAAE,KAAa,EAAE,QAAgB;IACzE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,iBAAiB;IAC3B,CAAC;IAED,4DAA4D;IAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,KAAK,GAAG,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAExC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,0BAA0B;AAC1B,SAAgB,QAAQ,CAAC,QAAgB,EAAE,KAAa,EAAE,SAAiB;IACzE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAChD,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,uDAAuD;IACvD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,KAAK,GAAG,CAAC,CAAC;IACnE,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxE,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,0CAA0C;AAC1C,SAAgB,aAAa,CAAC,QAAgB,EAAE,KAAa,EAAE,SAAiB,EAAE,OAAO,GAAG,gBAAgB;IAC1G,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,KAAK,GAAG,CAAC,CAAC;IACnE,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxE,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE7C,sCAAsC;IACtC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE;QACvE,GAAG,EAAE,QAAQ;QACb,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzD,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,yDAAyD;AACzD,SAAgB,eAAe,CAAC,QAAgB;IAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3F,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACzB,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7F,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1B,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CAAC,GAAW,EAAE,IAAc,EAAE,OAAyB,EAAE;IACnE,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE;QAChD,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3C,mCAAmC;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/storage/github.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,11 @@ export interface PortableMcpConfig {
3
3
  version: 1;
4
4
  mcpServers: McpServersMap;
5
5
  }
6
+ /**
7
+ * Read MCP server names from a pocket's mcp-config.json without decrypting.
8
+ * Server names (keys) are stored in plaintext; only their env/headers values are encrypted.
9
+ */
10
+ export declare function listPocketMcpServerNames(repoDir: string): string[];
6
11
  /**
7
12
  * Read MCP servers from multiple sources and merge them.
8
13
  * Later sources win on conflict.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/sync/mcp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,OAAO,EAAE,aAAa,EAAE,GAAG,aAAa,CAE1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,aAAa,CAQxF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAYxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAYrE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAwBxF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAyB1F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAKjG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAEtG"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/sync/mcp.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAUlE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,OAAO,EAAE,aAAa,EAAE,GAAG,aAAa,CAE1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,aAAa,CAQxF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAYxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAYrE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAwBxF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAyB1F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAKjG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAEtG"}
package/dist/sync/mcp.js CHANGED
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.listPocketMcpServerNames = listPocketMcpServerNames;
36
37
  exports.mergeMcpSources = mergeMcpSources;
37
38
  exports.additiveMerge = additiveMerge;
38
39
  exports.normalizeServer = normalizeServer;
@@ -41,9 +42,27 @@ exports.packMcpServers = packMcpServers;
41
42
  exports.unpackMcpServers = unpackMcpServers;
42
43
  exports.buildPortableConfig = buildPortableConfig;
43
44
  exports.restoreFromPortableConfig = restoreFromPortableConfig;
45
+ const fs = __importStar(require("node:fs"));
44
46
  const path = __importStar(require("node:path"));
45
47
  const crypto_js_1 = require("../utils/crypto.js");
46
48
  const paths_js_1 = require("../utils/paths.js");
49
+ /**
50
+ * Read MCP server names from a pocket's mcp-config.json without decrypting.
51
+ * Server names (keys) are stored in plaintext; only their env/headers values are encrypted.
52
+ */
53
+ function listPocketMcpServerNames(repoDir) {
54
+ const configPath = path.join(repoDir, 'mcp-config.json');
55
+ if (!fs.existsSync(configPath))
56
+ return [];
57
+ try {
58
+ const raw = fs.readFileSync(configPath, 'utf8');
59
+ const parsed = JSON.parse(raw);
60
+ return Object.keys(parsed.mcpServers ?? {});
61
+ }
62
+ catch {
63
+ return [];
64
+ }
65
+ }
47
66
  /**
48
67
  * Read MCP servers from multiple sources and merge them.
49
68
  * Later sources win on conflict.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/sync/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/sync/mcp.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,18 @@ export interface MultiSelectOption<T> {
5
5
  value: T;
6
6
  }
7
7
  /**
8
- * Show a numbered list of options and let the user pick a subset by typing
9
- * comma-separated numbers (e.g. "1,3"). Pressing Enter with no input selects all.
10
- * Returns the selected values.
8
+ * Interactive multi-select with keyboard navigation.
9
+ *
10
+ * Controls:
11
+ * ↑ / k — move cursor up
12
+ * ↓ / j — move cursor down
13
+ * space — toggle item
14
+ * a — toggle all on / all off
15
+ * enter — confirm selection
16
+ * ctrl+c — exit
17
+ *
18
+ * Falls back to numbered comma-separated input when stdin is not a TTY
19
+ * (e.g. piped input, CI environments).
11
20
  */
12
21
  export declare function askMultiSelect<T>(question: string, options: MultiSelectOption<T>[]): Promise<T[]>;
13
22
  /** Prompt for a hidden password (no echo) */
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"AAGA,qCAAqC;AACrC,wBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQrD;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAC9B,OAAO,CAAC,CAAC,EAAE,CAAC,CA2Bd;AAED,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmC3D"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"AAGA,qCAAqC;AACrC,wBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQrD;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAC9B,OAAO,CAAC,CAAC,EAAE,CAAC,CAkHd;AAsCD,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmC3D"}
@@ -49,11 +49,124 @@ function ask(question) {
49
49
  });
50
50
  }
51
51
  /**
52
- * Show a numbered list of options and let the user pick a subset by typing
53
- * comma-separated numbers (e.g. "1,3"). Pressing Enter with no input selects all.
54
- * Returns the selected values.
52
+ * Interactive multi-select with keyboard navigation.
53
+ *
54
+ * Controls:
55
+ * ↑ / k — move cursor up
56
+ * ↓ / j — move cursor down
57
+ * space — toggle item
58
+ * a — toggle all on / all off
59
+ * enter — confirm selection
60
+ * ctrl+c — exit
61
+ *
62
+ * Falls back to numbered comma-separated input when stdin is not a TTY
63
+ * (e.g. piped input, CI environments).
55
64
  */
56
65
  async function askMultiSelect(question, options) {
66
+ if (options.length === 0)
67
+ return [];
68
+ // Non-TTY (piped input, CI, scripts): return all items silently so automated
69
+ // workflows continue to sync everything without hanging on a prompt.
70
+ if (!process.stdin.isTTY) {
71
+ return options.map((o) => o.value);
72
+ }
73
+ // Start with everything selected — user deselects what they don't want.
74
+ const selected = new Set(options.map((_, i) => i));
75
+ let cursor = 0;
76
+ let initialRender = true;
77
+ // question line + one line per option + hint line
78
+ const BLOCK_LINES = options.length + 2;
79
+ function render() {
80
+ if (!initialRender) {
81
+ // Jump back to the first line of our block
82
+ process.stdout.write(`\x1b[${BLOCK_LINES}F`);
83
+ }
84
+ initialRender = false;
85
+ // Question
86
+ process.stdout.write(`\x1b[2K ${question}\n`);
87
+ // Options
88
+ for (let i = 0; i < options.length; i++) {
89
+ const isActive = i === cursor;
90
+ const isSelected = selected.has(i);
91
+ const pointer = isActive ? sparkle_js_1.c.cyan('❯') : ' ';
92
+ const checkbox = isSelected ? sparkle_js_1.c.green('◉') : sparkle_js_1.c.dim('○');
93
+ const label = isActive ? sparkle_js_1.c.bold(options[i].label) : options[i].label;
94
+ process.stdout.write(`\x1b[2K ${pointer} ${checkbox} ${label}\n`);
95
+ }
96
+ // Hint
97
+ process.stdout.write(`\x1b[2K${sparkle_js_1.c.dim(' ↑↓ navigate space toggle a toggle all enter confirm')}\n`);
98
+ }
99
+ // Hide cursor while navigating
100
+ process.stdout.write('\x1b[?25l');
101
+ render();
102
+ return new Promise((resolve) => {
103
+ process.stdin.setRawMode(true);
104
+ process.stdin.resume();
105
+ process.stdin.setEncoding('utf8');
106
+ function cleanup() {
107
+ process.stdin.removeListener('data', onData);
108
+ process.stdin.setRawMode(false);
109
+ process.stdin.pause();
110
+ process.stdout.write('\x1b[?25h'); // restore cursor
111
+ }
112
+ function onData(key) {
113
+ // Ctrl+C — abort
114
+ if (key === '\u0003') {
115
+ cleanup();
116
+ process.stdout.write('\n');
117
+ process.exit(1);
118
+ }
119
+ // Enter — confirm
120
+ if (key === '\r' || key === '\n') {
121
+ cleanup();
122
+ process.stdout.write('\n');
123
+ resolve(options.filter((_, i) => selected.has(i)).map((o) => o.value));
124
+ return;
125
+ }
126
+ // Space — toggle current item
127
+ if (key === ' ') {
128
+ if (selected.has(cursor)) {
129
+ selected.delete(cursor);
130
+ }
131
+ else {
132
+ selected.add(cursor);
133
+ }
134
+ render();
135
+ return;
136
+ }
137
+ // a / A — toggle all on or all off
138
+ if (key === 'a' || key === 'A') {
139
+ if (selected.size === options.length) {
140
+ selected.clear();
141
+ }
142
+ else {
143
+ for (let i = 0; i < options.length; i++)
144
+ selected.add(i);
145
+ }
146
+ render();
147
+ return;
148
+ }
149
+ // Arrow up or k — move cursor up (wraps)
150
+ if (key === '\x1b[A' || key === 'k') {
151
+ cursor = (cursor - 1 + options.length) % options.length;
152
+ render();
153
+ return;
154
+ }
155
+ // Arrow down or j — move cursor down (wraps)
156
+ if (key === '\x1b[B' || key === 'j') {
157
+ cursor = (cursor + 1) % options.length;
158
+ render();
159
+ return;
160
+ }
161
+ }
162
+ process.stdin.on('data', onData);
163
+ });
164
+ }
165
+ /**
166
+ * Fallback for non-TTY environments: numbered list with comma-separated input.
167
+ * Enter with no input selects all.
168
+ */
169
+ async function askMultiSelectLegacy(question, options) {
57
170
  console.log(`\n ${question}`);
58
171
  options.forEach((opt, i) => {
59
172
  console.log(` ${sparkle_js_1.c.cyan(`[${i + 1}]`)} ${opt.label}`);
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcpocket",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "Your AI setup. Every pocket. Syncs agents, skills, plugins, and MCPs across all your machines like magic.",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {