mcpocket 0.5.3 → 0.5.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/commands/set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/commands/set.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,7 @@ async function statusCommand() {
50
50
  (0, sparkle_js_1.sparkle)(sparkle_js_1.WITTY.pulling);
51
51
  if (config.storageType === 'gist') {
52
52
  try {
53
- const { files: gistFiles } = await (0, gist_js_1.fetchGist)(config.githubToken, config.gistId);
53
+ const { files: gistFiles } = await (0, gist_js_1.fetchGist)((0, config_js_1.resolveToken)(config), config.gistId);
54
54
  fs.mkdirSync(repoDir, { recursive: true });
55
55
  (0, gist_js_1.writeGistFilesToDir)(repoDir, gistFiles);
56
56
  }
@@ -60,7 +60,7 @@ async function statusCommand() {
60
60
  }
61
61
  else {
62
62
  try {
63
- (0, github_js_1.pullRepo)(repoDir, config.githubToken, config.repoCloneUrl);
63
+ (0, github_js_1.pullRepo)(repoDir, (0, config_js_1.resolveToken)(config), config.repoCloneUrl);
64
64
  }
65
65
  catch (err) {
66
66
  (0, sparkle_js_1.heads_up)(`Could not pull latest — ${err.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -141,21 +141,21 @@ function renderBreadcrumb(name) {
141
141
  }
142
142
  function renderGroup(kind, title, colorVar, names) {
143
143
  const items = names
144
- .map((n) => `
145
- <label class="item" title="${esc(n)}">
146
- <input type="checkbox" data-kind="${kind}" value="${esc(n)}" checked>
147
- <span class="name">${renderBreadcrumb(n)}</span>
144
+ .map((n) => `
145
+ <label class="item" title="${esc(n)}">
146
+ <input type="checkbox" data-kind="${kind}" value="${esc(n)}" checked>
147
+ <span class="name">${renderBreadcrumb(n)}</span>
148
148
  </label>`)
149
149
  .join('');
150
150
  const empty = `<div class="empty">No ${title.toLowerCase()} found</div>`;
151
- return `
152
- <div class="group" id="grp-${kind}">
153
- <div class="group-head">
154
- <span class="badge" style="--c:${colorVar}">${title}</span>
155
- <span class="grp-count" id="cnt-${kind}"><b>${names.length}</b>/${names.length}</span>
156
- ${names.length > 0 ? `<button class="toggle-btn" onclick="toggleGroup('${kind}')">toggle all</button>` : ''}
157
- </div>
158
- <div class="group-body">${names.length > 0 ? items : empty}</div>
151
+ return `
152
+ <div class="group" id="grp-${kind}">
153
+ <div class="group-head">
154
+ <span class="badge" style="--c:${colorVar}">${title}</span>
155
+ <span class="grp-count" id="cnt-${kind}"><b>${names.length}</b>/${names.length}</span>
156
+ ${names.length > 0 ? `<button class="toggle-btn" onclick="toggleGroup('${kind}')">toggle all</button>` : ''}
157
+ </div>
158
+ <div class="group-body">${names.length > 0 ? items : empty}</div>
159
159
  </div>`;
160
160
  }
161
161
  function buildHtml(items, action) {
@@ -168,146 +168,146 @@ function buildHtml(items, action) {
168
168
  renderGroup('mcps', 'MCP Servers', 'var(--green)', items.mcps),
169
169
  ...(items.plugins && items.plugins.length > 0 ? [renderGroup('plugins', 'Plugins', 'var(--yellow)', items.plugins)] : []),
170
170
  ].join('');
171
- return `<!DOCTYPE html>
172
- <html lang="en">
173
- <head>
174
- <meta charset="UTF-8">
175
- <meta name="viewport" content="width=device-width,initial-scale=1">
176
- <title>mcpocket — ${actionVerb}</title>
177
- <style>
178
- *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
179
- :root{
180
- --bg:#0d1117;--surface:#161b22;--border:#30363d;
181
- --text:#e6edf3;--muted:#8b949e;
182
- --blue:#58a6ff;--green:#3fb950;--purple:#bc8cff;--yellow:#d29922;
183
- --font:'SF Mono','Fira Code','Cascadia Code',ui-monospace,monospace;
184
- }
185
- body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column}
186
-
187
- /* header */
188
- header{padding:20px 32px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
189
- .logo{font-size:18px;font-weight:700;letter-spacing:-.5px}
190
- .logo em{color:var(--blue);font-style:normal}
191
- .logo span{color:var(--purple)}
192
- .subtitle{font-size:12px;color:var(--muted);margin-top:3px}
193
-
194
- /* main */
195
- main{flex:1;padding:24px 32px;max-width:760px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:16px}
196
-
197
- /* groups */
198
- .group{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}
199
- .group-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.02)}
200
- .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)}
201
- .grp-count{font-size:12px;color:var(--muted);margin-left:auto}
202
- .grp-count b{color:var(--text)}
203
- .toggle-btn{font-family:var(--font);font-size:11px;color:var(--blue);background:none;border:none;cursor:pointer;padding:3px 8px;border-radius:4px}
204
- .toggle-btn:hover{background:rgba(88,166,255,.12)}
205
- .group-body{padding:6px 0}
206
-
207
- /* items */
208
- .item{display:flex;align-items:center;gap:11px;padding:7px 14px;cursor:pointer;transition:background .1s}
209
- .item:hover{background:rgba(255,255,255,.04)}
210
- .item input[type=checkbox]{width:14px;height:14px;accent-color:var(--blue);cursor:pointer;flex-shrink:0}
211
- .name{font-size:13px;display:flex;align-items:center;gap:2px;flex-wrap:wrap}
212
- .path-breadcrumb{color:var(--muted);font-size:0.9em}
213
- .path-sep{color:var(--muted);margin:0 1px}
214
- .path-name{color:var(--text);font-weight:500}
215
- .empty{padding:14px;font-size:12px;color:var(--muted);text-align:center;font-style:italic}
216
-
217
- /* footer */
218
- 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}
219
- .summary{font-size:13px;color:var(--muted)}
220
- .summary b{color:var(--text)}
221
- .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}
222
- .sync-btn:hover{opacity:.88}
223
- .sync-btn:disabled{opacity:.35;cursor:default}
224
-
225
- /* done screen */
226
- #done{display:none;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:48px}
227
- #done.show{display:flex}
228
- .done-icon{font-size:52px}
229
- .done-msg{font-size:20px;color:var(--green);font-weight:600}
230
- .done-sub{font-size:13px;color:var(--muted)}
231
- </style>
232
- </head>
233
- <body>
234
-
235
- <header>
236
- <div>
237
- <div class="logo"><em>mcp</em><span>pocket</span></div>
238
- <div class="subtitle">Select items to ${actionVerb} → pocket</div>
239
- </div>
240
- </header>
241
-
242
- <main id="main">${groups}</main>
243
-
244
- <div id="done">
245
- <div class="done-icon">✓</div>
246
- <div class="done-msg">Selection submitted!</div>
247
- <div class="done-sub">Check your terminal to complete the ${actionVerb}.</div>
248
- </div>
249
-
250
- <footer id="foot">
251
- <div class="summary" id="summary"></div>
252
- <button class="sync-btn" id="sync-btn" onclick="submitSel()">${actionLabel}</button>
253
- </footer>
254
-
255
- <script>
256
- const ITEMS=${itemsJson};
257
-
258
- function countFor(kind){
259
- return document.querySelectorAll('[data-kind='+kind+']:checked').length;
260
- }
261
- function updateCounts(){
262
- let total=0,sel=0;
263
- const kinds=['agents','skills','mcps'];
264
- if(ITEMS.plugins) kinds.push('plugins');
265
- kinds.forEach(k=>{
266
- const all=ITEMS[k]?.length || 0, s=countFor(k);
267
- total+=all; sel+=s;
268
- const el=document.getElementById('cnt-'+k);
269
- if(el) el.innerHTML='<b>'+s+'</b>/'+all;
270
- });
271
- document.getElementById('summary').innerHTML=
272
- '<b>'+sel+'</b> of <b>'+total+'</b> items selected';
273
- }
274
-
275
- function toggleGroup(kind){
276
- const boxes=[...document.querySelectorAll('[data-kind='+kind+']')];
277
- const allOn=boxes.every(b=>b.checked);
278
- boxes.forEach(b=>b.checked=!allOn);
279
- updateCounts();
280
- }
281
-
282
- document.addEventListener('change',updateCounts);
283
-
284
- async function submitSel(){
285
- const sel={agents:[],skills:[],mcps:[]};
286
- const kinds=['agents','skills','mcps'];
287
- if(ITEMS.plugins) {
288
- sel.plugins=[];
289
- kinds.push('plugins');
290
- }
291
- kinds.forEach(k=>{
292
- document.querySelectorAll('[data-kind='+k+']:checked')
293
- .forEach(b=>sel[k].push(b.value));
294
- });
295
- const btn=document.getElementById('sync-btn');
296
- btn.disabled=true; btn.textContent='Syncing…';
297
- try{
298
- await fetch('/api/sync',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(sel)});
299
- document.getElementById('main').style.display='none';
300
- document.getElementById('foot').style.display='none';
301
- document.getElementById('done').classList.add('show');
302
- }catch{
303
- btn.disabled=false; btn.textContent='${actionLabel}';
304
- alert('Could not reach the mcpocket server — is the terminal still running?');
305
- }
306
- }
307
-
308
- updateCounts();
309
- </script>
310
- </body>
171
+ return `<!DOCTYPE html>
172
+ <html lang="en">
173
+ <head>
174
+ <meta charset="UTF-8">
175
+ <meta name="viewport" content="width=device-width,initial-scale=1">
176
+ <title>mcpocket — ${actionVerb}</title>
177
+ <style>
178
+ *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
179
+ :root{
180
+ --bg:#0d1117;--surface:#161b22;--border:#30363d;
181
+ --text:#e6edf3;--muted:#8b949e;
182
+ --blue:#58a6ff;--green:#3fb950;--purple:#bc8cff;--yellow:#d29922;
183
+ --font:'SF Mono','Fira Code','Cascadia Code',ui-monospace,monospace;
184
+ }
185
+ body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column}
186
+
187
+ /* header */
188
+ header{padding:20px 32px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
189
+ .logo{font-size:18px;font-weight:700;letter-spacing:-.5px}
190
+ .logo em{color:var(--blue);font-style:normal}
191
+ .logo span{color:var(--purple)}
192
+ .subtitle{font-size:12px;color:var(--muted);margin-top:3px}
193
+
194
+ /* main */
195
+ main{flex:1;padding:24px 32px;max-width:760px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:16px}
196
+
197
+ /* groups */
198
+ .group{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}
199
+ .group-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.02)}
200
+ .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)}
201
+ .grp-count{font-size:12px;color:var(--muted);margin-left:auto}
202
+ .grp-count b{color:var(--text)}
203
+ .toggle-btn{font-family:var(--font);font-size:11px;color:var(--blue);background:none;border:none;cursor:pointer;padding:3px 8px;border-radius:4px}
204
+ .toggle-btn:hover{background:rgba(88,166,255,.12)}
205
+ .group-body{padding:6px 0}
206
+
207
+ /* items */
208
+ .item{display:flex;align-items:center;gap:11px;padding:7px 14px;cursor:pointer;transition:background .1s}
209
+ .item:hover{background:rgba(255,255,255,.04)}
210
+ .item input[type=checkbox]{width:14px;height:14px;accent-color:var(--blue);cursor:pointer;flex-shrink:0}
211
+ .name{font-size:13px;display:flex;align-items:center;gap:2px;flex-wrap:wrap}
212
+ .path-breadcrumb{color:var(--muted);font-size:0.9em}
213
+ .path-sep{color:var(--muted);margin:0 1px}
214
+ .path-name{color:var(--text);font-weight:500}
215
+ .empty{padding:14px;font-size:12px;color:var(--muted);text-align:center;font-style:italic}
216
+
217
+ /* footer */
218
+ 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}
219
+ .summary{font-size:13px;color:var(--muted)}
220
+ .summary b{color:var(--text)}
221
+ .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}
222
+ .sync-btn:hover{opacity:.88}
223
+ .sync-btn:disabled{opacity:.35;cursor:default}
224
+
225
+ /* done screen */
226
+ #done{display:none;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:48px}
227
+ #done.show{display:flex}
228
+ .done-icon{font-size:52px}
229
+ .done-msg{font-size:20px;color:var(--green);font-weight:600}
230
+ .done-sub{font-size:13px;color:var(--muted)}
231
+ </style>
232
+ </head>
233
+ <body>
234
+
235
+ <header>
236
+ <div>
237
+ <div class="logo"><em>mcp</em><span>pocket</span></div>
238
+ <div class="subtitle">Select items to ${actionVerb} → pocket</div>
239
+ </div>
240
+ </header>
241
+
242
+ <main id="main">${groups}</main>
243
+
244
+ <div id="done">
245
+ <div class="done-icon">✓</div>
246
+ <div class="done-msg">Selection submitted!</div>
247
+ <div class="done-sub">Check your terminal to complete the ${actionVerb}.</div>
248
+ </div>
249
+
250
+ <footer id="foot">
251
+ <div class="summary" id="summary"></div>
252
+ <button class="sync-btn" id="sync-btn" onclick="submitSel()">${actionLabel}</button>
253
+ </footer>
254
+
255
+ <script>
256
+ const ITEMS=${itemsJson};
257
+
258
+ function countFor(kind){
259
+ return document.querySelectorAll('[data-kind='+kind+']:checked').length;
260
+ }
261
+ function updateCounts(){
262
+ let total=0,sel=0;
263
+ const kinds=['agents','skills','mcps'];
264
+ if(ITEMS.plugins) kinds.push('plugins');
265
+ kinds.forEach(k=>{
266
+ const all=ITEMS[k]?.length || 0, s=countFor(k);
267
+ total+=all; sel+=s;
268
+ const el=document.getElementById('cnt-'+k);
269
+ if(el) el.innerHTML='<b>'+s+'</b>/'+all;
270
+ });
271
+ document.getElementById('summary').innerHTML=
272
+ '<b>'+sel+'</b> of <b>'+total+'</b> items selected';
273
+ }
274
+
275
+ function toggleGroup(kind){
276
+ const boxes=[...document.querySelectorAll('[data-kind='+kind+']')];
277
+ const allOn=boxes.every(b=>b.checked);
278
+ boxes.forEach(b=>b.checked=!allOn);
279
+ updateCounts();
280
+ }
281
+
282
+ document.addEventListener('change',updateCounts);
283
+
284
+ async function submitSel(){
285
+ const sel={agents:[],skills:[],mcps:[]};
286
+ const kinds=['agents','skills','mcps'];
287
+ if(ITEMS.plugins) {
288
+ sel.plugins=[];
289
+ kinds.push('plugins');
290
+ }
291
+ kinds.forEach(k=>{
292
+ document.querySelectorAll('[data-kind='+k+']:checked')
293
+ .forEach(b=>sel[k].push(b.value));
294
+ });
295
+ const btn=document.getElementById('sync-btn');
296
+ btn.disabled=true; btn.textContent='Syncing…';
297
+ try{
298
+ await fetch('/api/sync',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(sel)});
299
+ document.getElementById('main').style.display='none';
300
+ document.getElementById('foot').style.display='none';
301
+ document.getElementById('done').classList.add('show');
302
+ }catch{
303
+ btn.disabled=false; btn.textContent='${actionLabel}';
304
+ alert('Could not reach the mcpocket server — is the terminal still running?');
305
+ }
306
+ }
307
+
308
+ updateCounts();
309
+ </script>
310
+ </body>
311
311
  </html>`;
312
312
  }
313
313
  //# sourceMappingURL=ui-server.js.map
package/dist/config.d.ts CHANGED
@@ -2,7 +2,7 @@ export type StorageType = 'repo' | 'gist';
2
2
  export type SyncCategory = 'mcps' | 'agents' | 'skills' | 'plugins';
3
3
  export declare const ALL_SYNC_CATEGORIES: SyncCategory[];
4
4
  export interface McpocketConfig {
5
- githubToken: string;
5
+ githubToken?: string;
6
6
  storageType: StorageType;
7
7
  repoFullName?: string;
8
8
  repoCloneUrl?: string;
@@ -22,4 +22,10 @@ export declare function readConfig(): McpocketConfig;
22
22
  export declare function writeConfig(config: McpocketConfig): void;
23
23
  /** Local staging directory for synced pocket contents */
24
24
  export declare function getLocalRepoDir(): string;
25
+ /**
26
+ * Resolve the GitHub token: use the stored token when available (backward
27
+ * compat for configs created before GH CLI auth), otherwise fall back to the
28
+ * token from the GH CLI (`gh auth token`).
29
+ */
30
+ export declare function resolveToken(config: McpocketConfig): string;
25
31
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAC1C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AACpE,eAAO,MAAM,mBAAmB,EAAE,YAAY,EAA4C,CAAC;AAE3F,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IAEzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,UAAU,IAAI,cAAc,CAa3C;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAQxD;AAED,yDAAyD;AACzD,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAC1C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AACpE,eAAO,MAAM,mBAAmB,EAAE,YAAY,EAA4C,CAAC;AAE3F,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IAEzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,UAAU,IAAI,cAAc,CAa3C;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAQxD;AAED,yDAAyD;AACzD,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAG3D"}
package/dist/config.js CHANGED
@@ -38,10 +38,12 @@ exports.configExists = configExists;
38
38
  exports.readConfig = readConfig;
39
39
  exports.writeConfig = writeConfig;
40
40
  exports.getLocalRepoDir = getLocalRepoDir;
41
+ exports.resolveToken = resolveToken;
41
42
  const fs = __importStar(require("fs"));
42
43
  const path = __importStar(require("path"));
43
44
  const os = __importStar(require("os"));
44
45
  const paths_js_1 = require("./utils/paths.js");
46
+ const gh_cli_js_1 = require("./storage/gh-cli.js");
45
47
  exports.ALL_SYNC_CATEGORIES = ['mcps', 'agents', 'skills', 'plugins'];
46
48
  function configExists() {
47
49
  return fs.existsSync((0, paths_js_1.getMcpocketConfigPath)());
@@ -71,4 +73,14 @@ function writeConfig(config) {
71
73
  function getLocalRepoDir() {
72
74
  return path.join(os.homedir(), '.mcpocket', 'repo');
73
75
  }
76
+ /**
77
+ * Resolve the GitHub token: use the stored token when available (backward
78
+ * compat for configs created before GH CLI auth), otherwise fall back to the
79
+ * token from the GH CLI (`gh auth token`).
80
+ */
81
+ function resolveToken(config) {
82
+ if (config.githubToken)
83
+ return config.githubToken;
84
+ return (0, gh_cli_js_1.getGhToken)();
85
+ }
74
86
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,oCAEC;AAED,gCAaC;AAED,kCAQC;AAGD,0CAEC;AA/DD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,+CAA+E;AAIlE,QAAA,mBAAmB,GAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAwB3F,SAAgB,YAAY;IAC1B,OAAO,EAAE,CAAC,UAAU,CAAC,IAAA,gCAAqB,GAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,UAAU;IACxB,MAAM,UAAU,GAAG,IAAA,gCAAqB,GAAE,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,uEAAuE;IACvE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACrB,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,WAAW,CAAC,MAAsB;IAChD,MAAM,GAAG,GAAG,IAAA,+BAAoB,GAAE,CAAC;IACnC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,EAAE,CAAC,aAAa,CAAC,IAAA,gCAAqB,GAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,8DAA8D;IAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,EAAE,CAAC,SAAS,CAAC,IAAA,gCAAqB,GAAE,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,yDAAyD;AACzD,SAAgB,eAAe;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,oCAEC;AAED,gCAaC;AAED,kCAQC;AAGD,0CAEC;AAOD,oCAGC;AA1ED,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,+CAA+E;AAC/E,mDAAiD;AAIpC,QAAA,mBAAmB,GAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAwB3F,SAAgB,YAAY;IAC1B,OAAO,EAAE,CAAC,UAAU,CAAC,IAAA,gCAAqB,GAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,UAAU;IACxB,MAAM,UAAU,GAAG,IAAA,gCAAqB,GAAE,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,uEAAuE;IACvE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACrB,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,WAAW,CAAC,MAAsB;IAChD,MAAM,GAAG,GAAG,IAAA,+BAAoB,GAAE,CAAC;IACnC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,EAAE,CAAC,aAAa,CAAC,IAAA,gCAAqB,GAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,8DAA8D;IAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,EAAE,CAAC,SAAS,CAAC,IAAA,gCAAqB,GAAE,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,yDAAyD;AACzD,SAAgB,eAAe;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAC,MAAsB;IACjD,IAAI,MAAM,CAAC,WAAW;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IAClD,OAAO,IAAA,sBAAU,GAAE,CAAC;AACtB,CAAC"}
@@ -0,0 +1,24 @@
1
+ export interface GhRepo {
2
+ nameWithOwner: string;
3
+ url: string;
4
+ updatedAt: string;
5
+ pushedAt: string;
6
+ isPrivate: boolean;
7
+ description: string | null;
8
+ }
9
+ export interface GhGist {
10
+ id: string;
11
+ description: string;
12
+ url: string;
13
+ updatedAt: string;
14
+ isPublic: boolean;
15
+ }
16
+ /** Get the current GH CLI auth token (requires `gh auth login` to have been run) */
17
+ export declare function getGhToken(): string;
18
+ /** Get the authenticated GitHub username via GH CLI */
19
+ export declare function getGhUsername(): string;
20
+ /** List the authenticated user's source repos, ordered by most recently pushed */
21
+ export declare function listGhRepos(limit?: number): GhRepo[];
22
+ /** List the authenticated user's gists, ordered by most recently updated */
23
+ export declare function listGhGists(limit?: number): GhGist[];
24
+ //# sourceMappingURL=gh-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gh-cli.d.ts","sourceRoot":"","sources":["../../src/storage/gh-cli.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,MAAM;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAWD,oFAAoF;AACpF,wBAAgB,UAAU,IAAI,MAAM,CAQnC;AAED,uDAAuD;AACvD,wBAAgB,aAAa,IAAI,MAAM,CAQtC;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,KAAK,SAAK,GAAG,MAAM,EAAE,CAWhD;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,KAAK,SAAK,GAAG,MAAM,EAAE,CAahD"}
@@ -0,0 +1,93 @@
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.getGhToken = getGhToken;
37
+ exports.getGhUsername = getGhUsername;
38
+ exports.listGhRepos = listGhRepos;
39
+ exports.listGhGists = listGhGists;
40
+ const child_process = __importStar(require("child_process"));
41
+ function run(args) {
42
+ const result = child_process.spawnSync('gh', args, { encoding: 'utf8' });
43
+ return {
44
+ stdout: result.stdout?.trim() ?? '',
45
+ stderr: result.stderr?.trim() ?? '',
46
+ ok: result.status === 0,
47
+ };
48
+ }
49
+ /** Get the current GH CLI auth token (requires `gh auth login` to have been run) */
50
+ function getGhToken() {
51
+ const { stdout, ok } = run(['auth', 'token']);
52
+ if (!ok || !stdout) {
53
+ throw new Error('GitHub CLI is not authenticated. Run `gh auth login` first, then retry.');
54
+ }
55
+ return stdout;
56
+ }
57
+ /** Get the authenticated GitHub username via GH CLI */
58
+ function getGhUsername() {
59
+ const { stdout, ok, stderr } = run(['api', 'user', '--jq', '.login']);
60
+ if (!ok || !stdout) {
61
+ throw new Error(`Could not get GitHub username. Make sure \`gh auth login\` has been run.\n${stderr}`);
62
+ }
63
+ return stdout;
64
+ }
65
+ /** List the authenticated user's source repos, ordered by most recently pushed */
66
+ function listGhRepos(limit = 50) {
67
+ const { stdout, ok, stderr } = run([
68
+ 'repo', 'list',
69
+ '--json', 'nameWithOwner,url,updatedAt,pushedAt,isPrivate,description',
70
+ '--limit', String(limit),
71
+ '--source',
72
+ ]);
73
+ if (!ok) {
74
+ throw new Error(`Could not list repositories: ${stderr}`);
75
+ }
76
+ return JSON.parse(stdout);
77
+ }
78
+ /** List the authenticated user's gists, ordered by most recently updated */
79
+ function listGhGists(limit = 50) {
80
+ const { stdout, ok, stderr } = run([
81
+ 'api', `/gists?per_page=${limit}`,
82
+ '--jq', '.[] | {id, description, url: .html_url, updatedAt: .updated_at, isPublic: .public}',
83
+ ]);
84
+ if (!ok) {
85
+ throw new Error(`Could not list gists: ${stderr}`);
86
+ }
87
+ // `--jq` with multiple results emits one JSON object per line (NDJSON)
88
+ return stdout
89
+ .split('\n')
90
+ .filter(Boolean)
91
+ .map((line) => JSON.parse(line));
92
+ }
93
+ //# sourceMappingURL=gh-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gh-cli.js","sourceRoot":"","sources":["../../src/storage/gh-cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,gCAQC;AAGD,sCAQC;AAGD,kCAWC;AAGD,kCAaC;AA9ED,6DAA+C;AAmB/C,SAAS,GAAG,CAAC,IAAc;IACzB,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACzE,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;QACnC,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,SAAgB,UAAU;IACxB,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uDAAuD;AACvD,SAAgB,aAAa;IAC3B,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,6EAA6E,MAAM,EAAE,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kFAAkF;AAClF,SAAgB,WAAW,CAAC,KAAK,GAAG,EAAE;IACpC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QACjC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,4DAA4D;QACtE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC;QACxB,UAAU;KACX,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAa,CAAC;AACxC,CAAC;AAED,4EAA4E;AAC5E,SAAgB,WAAW,CAAC,KAAK,GAAG,EAAE;IACpC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QACjC,KAAK,EAAE,mBAAmB,KAAK,EAAE;QACjC,MAAM,EAAE,oFAAoF;KAC7F,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,uEAAuE;IACvE,OAAO,MAAM;SACV,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC,CAAC;AAC/C,CAAC"}
@@ -19,6 +19,18 @@ export interface MultiSelectOption<T> {
19
19
  * (e.g. piped input, CI environments).
20
20
  */
21
21
  export declare function askMultiSelect<T>(question: string, options: MultiSelectOption<T>[]): Promise<T[]>;
22
+ /**
23
+ * Interactive single-select with keyboard navigation.
24
+ *
25
+ * Controls:
26
+ * ↑ / k — move cursor up
27
+ * ↓ / j — move cursor down
28
+ * enter — confirm selection
29
+ * ctrl+c — exit
30
+ *
31
+ * Falls back to the first option when stdin is not a TTY.
32
+ */
33
+ export declare function askSingleSelect<T>(question: string, options: MultiSelectOption<T>[]): Promise<T>;
22
34
  /** Prompt for a hidden password (no echo) */
23
35
  export declare function askSecret(question: string): Promise<string>;
24
36
  //# sourceMappingURL=prompt.d.ts.map
@@ -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;;;;;;;;;;;;;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"}
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;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAC9B,OAAO,CAAC,CAAC,CAAC,CA2EZ;AAED,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmC3D"}