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.
package/dist/cli.js CHANGED
@@ -24,7 +24,8 @@ program
24
24
  program
25
25
  .command('push')
26
26
  .description('Tuck your AI setup into the cloud pocket')
27
- .option('-i, --interactive', 'Pick specific items to sync');
27
+ .option('-i, --interactive', 'Pick specific items to sync (keyboard UI)')
28
+ .option('--ui', 'Open a browser UI on port 3000 to select items to sync');
28
29
  for (const provider of providers_js_1.PROVIDER_OPTION_FLAGS) {
29
30
  program.commands.find((command) => command.name() === 'push')?.option(provider.flag, provider.description);
30
31
  }
@@ -35,7 +36,8 @@ program
35
36
  program
36
37
  .command('pull')
37
38
  .description('Unpack your AI setup from the cloud pocket')
38
- .option('-i, --interactive', 'Pick specific items to sync');
39
+ .option('-i, --interactive', 'Pick specific items to sync (keyboard UI)')
40
+ .option('--ui', 'Open a browser UI on port 3000 to select items to sync');
39
41
  for (const provider of providers_js_1.PROVIDER_OPTION_FLAGS) {
40
42
  program.commands.find((command) => command.name() === 'pull')?.option(provider.flag, provider.description);
41
43
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,23 @@ export interface CleanupOptions {
3
3
  dryRun?: boolean;
4
4
  yes?: boolean;
5
5
  }
6
+ type PocketItemKind = 'agent' | 'skill' | 'mcp' | 'other';
7
+ interface PocketItem {
8
+ kind: PocketItemKind;
9
+ name: string;
10
+ /** Raw pocket-relative file paths covered by this item. Empty for 'mcp' (handled separately). */
11
+ files: string[];
12
+ }
6
13
  export declare function cleanupCommand(options?: CleanupOptions): Promise<void>;
14
+ /**
15
+ * Build a list of logical pocket items from raw file paths.
16
+ *
17
+ * - agents/foo.md → { kind: 'agent', name: 'foo' }
18
+ * - skills/my-skill/... → { kind: 'skill', name: 'my-skill' } (all files grouped)
19
+ * - mcp-config.json → one { kind: 'mcp' } item per server key (read without decrypting)
20
+ * - everything else → { kind: 'other', name: <rel-path> }
21
+ */
22
+ export declare function buildPocketItems(repoDir: string, allFiles: string[]): PocketItem[];
7
23
  /**
8
24
  * Return all files inside the pocket staging directory as forward-slash
9
25
  * relative paths, excluding the `.git` directory.
@@ -31,4 +47,5 @@ export declare function computeFilesToKeep(allFiles: string[], include?: string[
31
47
  * Literal characters otherwise.
32
48
  */
33
49
  export declare function matchesGlob(filePath: string, pattern: string): boolean;
50
+ export {};
34
51
  //# sourceMappingURL=cleanup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhF;AAqMD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAOzD;AAeD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,MAAM,EAAE,CAYV;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAuBtE"}
1
+ {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAID,KAAK,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;AAE1D,UAAU,UAAU;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,iGAAiG;IACjG,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AASD,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhF;AAyJD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAqDlF;AAgID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAOzD;AAeD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,MAAM,EAAE,CAYV;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAuBtE"}
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.cleanupCommand = cleanupCommand;
37
+ exports.buildPocketItems = buildPocketItems;
37
38
  exports.listPocketFiles = listPocketFiles;
38
39
  exports.computeFilesToKeep = computeFilesToKeep;
39
40
  exports.matchesGlob = matchesGlob;
@@ -42,8 +43,10 @@ const path = __importStar(require("node:path"));
42
43
  const config_js_1 = require("../config.js");
43
44
  const github_js_1 = require("../storage/github.js");
44
45
  const gist_js_1 = require("../storage/gist.js");
46
+ const mcp_js_1 = require("../sync/mcp.js");
45
47
  const prompt_js_1 = require("../utils/prompt.js");
46
48
  const sparkle_js_1 = require("../utils/sparkle.js");
49
+ // ── Entry point ───────────────────────────────────────────────────────────────
47
50
  async function cleanupCommand(options = {}) {
48
51
  const config = (0, config_js_1.readConfig)();
49
52
  const repoDir = (0, config_js_1.getLocalRepoDir)();
@@ -60,36 +63,37 @@ async function remoteCleanup(config, repoDir, options) {
60
63
  // 1. Pull pocket from remote
61
64
  (0, sparkle_js_1.sparkle)('Pulling pocket from remote…');
62
65
  await pullPocketToLocal(config, repoDir);
63
- // 2. List pocket files
66
+ // 2. Build logical item list
64
67
  const pocketFiles = listPocketFiles(repoDir);
65
68
  if (pocketFiles.length === 0) {
66
69
  (0, sparkle_js_1.sparkle)('No pocket files found. Nothing to clean up.');
67
70
  return;
68
71
  }
69
- // 3. Interactive selection — choose which files to KEEP
70
- const toKeep = await (0, prompt_js_1.askMultiSelect)('Which pocket files would you like to keep?', pocketFiles.map((f) => ({ label: f, value: f })));
71
- const toDelete = pocketFiles.filter((f) => !toKeep.includes(f));
72
+ const items = buildPocketItems(repoDir, pocketFiles);
73
+ // 3. Interactive selection choose which items to KEEP
74
+ const toKeep = await (0, prompt_js_1.askMultiSelect)('Which pocket items would you like to keep?', items.map((item) => ({ label: formatItemLabel(item), value: item })));
75
+ const toDelete = items.filter((item) => !toKeep.includes(item));
72
76
  if (toDelete.length === 0) {
73
- (0, sparkle_js_1.sparkle)('Nothing to delete — all files kept!');
77
+ (0, sparkle_js_1.sparkle)('Nothing to delete — all items kept!');
74
78
  return;
75
79
  }
76
80
  // 4. Preview
77
- printFilesToDelete(toDelete);
81
+ printItemsToDelete(toDelete);
78
82
  // 5. Confirm
79
83
  if (!options.yes && !options.dryRun) {
80
- const answer = await (0, prompt_js_1.ask)(`\n ${sparkle_js_1.c.yellow('⚠')} Delete ${toDelete.length} file(s) from pocket? ${sparkle_js_1.c.dim('(y/N)')} `);
84
+ const answer = await (0, prompt_js_1.ask)(`\n ${sparkle_js_1.c.yellow('⚠')} Delete ${toDelete.length} item(s) from pocket? ${sparkle_js_1.c.dim('(y/N)')} `);
81
85
  if (!isYes(answer)) {
82
86
  (0, sparkle_js_1.sparkle)('Cleanup cancelled.');
83
87
  return;
84
88
  }
85
89
  }
86
90
  if (options.dryRun) {
87
- (0, sparkle_js_1.heads_up)(`[dry-run] Would delete ${toDelete.length} file(s) from pocket.`);
91
+ (0, sparkle_js_1.heads_up)(`[dry-run] Would delete ${toDelete.length} item(s) from pocket.`);
88
92
  (0, sparkle_js_1.heads_up)('[dry-run] No files were changed and nothing was pushed.');
89
93
  return;
90
94
  }
91
95
  // 6. Delete
92
- const deleted = deleteFiles(repoDir, toDelete);
96
+ deletePocketItemFiles(repoDir, toDelete);
93
97
  removeEmptyDirs(repoDir);
94
98
  // 7. Push updated pocket back to remote
95
99
  (0, sparkle_js_1.sparkle)('Pushing updated pocket to remote…');
@@ -97,8 +101,8 @@ async function remoteCleanup(config, repoDir, options) {
97
101
  // 8. Summary
98
102
  (0, sparkle_js_1.celebrate)('Pocket cleaned up!');
99
103
  (0, sparkle_js_1.section)('Summary');
100
- (0, sparkle_js_1.stat)('Files kept', toKeep.length);
101
- (0, sparkle_js_1.stat)('Files deleted', deleted);
104
+ (0, sparkle_js_1.stat)('Items kept', toKeep.length);
105
+ (0, sparkle_js_1.stat)('Items deleted', toDelete.length);
102
106
  console.log('');
103
107
  }
104
108
  // ── Local cleanup ─────────────────────────────────────────────────────────────
@@ -111,9 +115,9 @@ async function localCleanup(config, repoDir, options) {
111
115
  const hasInclude = config.cleanupInclude && config.cleanupInclude.length > 0;
112
116
  const hasExclude = config.cleanupExclude && config.cleanupExclude.length > 0;
113
117
  const hasPatterns = hasInclude || hasExclude;
114
- let toDelete;
118
+ let toDeleteItems;
115
119
  if (hasPatterns) {
116
- // Pattern-based filtering (whitelist / blacklist from mcpocket.json)
120
+ // Pattern-based filtering (whitelist / blacklist from mcpocket.json) — file level
117
121
  (0, sparkle_js_1.section)('Pattern-based filtering');
118
122
  if (hasInclude) {
119
123
  (0, sparkle_js_1.sparkle)(`Include patterns: ${config.cleanupInclude.join(', ')}`);
@@ -121,42 +125,172 @@ async function localCleanup(config, repoDir, options) {
121
125
  if (hasExclude) {
122
126
  (0, sparkle_js_1.sparkle)(`Exclude patterns: ${config.cleanupExclude.join(', ')}`);
123
127
  }
124
- const toKeep = computeFilesToKeep(pocketFiles, config.cleanupInclude, config.cleanupExclude);
125
- toDelete = pocketFiles.filter((f) => !toKeep.includes(f));
128
+ const toKeepFiles = computeFilesToKeep(pocketFiles, config.cleanupInclude, config.cleanupExclude);
129
+ const toDeleteFiles = pocketFiles.filter((f) => !toKeepFiles.includes(f));
130
+ // Represent pattern-matched files as 'other' items for consistent deletion
131
+ toDeleteItems = toDeleteFiles.map((f) => ({ kind: 'other', name: f, files: [f] }));
126
132
  }
127
133
  else {
128
- // No patterns configured — fall back to interactive selection
129
- const toKeep = await (0, prompt_js_1.askMultiSelect)('Which local pocket files would you like to keep?', pocketFiles.map((f) => ({ label: f, value: f })));
130
- toDelete = pocketFiles.filter((f) => !toKeep.includes(f));
134
+ // No patterns configured — interactive item-based selection
135
+ const items = buildPocketItems(repoDir, pocketFiles);
136
+ const toKeepItems = await (0, prompt_js_1.askMultiSelect)('Which local pocket items would you like to keep?', items.map((item) => ({ label: formatItemLabel(item), value: item })));
137
+ toDeleteItems = items.filter((item) => !toKeepItems.includes(item));
131
138
  }
132
- if (toDelete.length === 0) {
133
- (0, sparkle_js_1.sparkle)('Nothing to delete — all files kept!');
139
+ if (toDeleteItems.length === 0) {
140
+ (0, sparkle_js_1.sparkle)('Nothing to delete — all items kept!');
134
141
  return;
135
142
  }
136
143
  // Preview
137
- printFilesToDelete(toDelete);
144
+ printItemsToDelete(toDeleteItems);
138
145
  // Confirm
139
146
  if (!options.yes && !options.dryRun) {
140
- const answer = await (0, prompt_js_1.ask)(`\n ${sparkle_js_1.c.yellow('⚠')} Delete ${toDelete.length} local pocket file(s)? ${sparkle_js_1.c.dim('(y/N)')} `);
147
+ const answer = await (0, prompt_js_1.ask)(`\n ${sparkle_js_1.c.yellow('⚠')} Delete ${toDeleteItems.length} local pocket item(s)? ${sparkle_js_1.c.dim('(y/N)')} `);
141
148
  if (!isYes(answer)) {
142
149
  (0, sparkle_js_1.sparkle)('Cleanup cancelled.');
143
150
  return;
144
151
  }
145
152
  }
146
153
  if (options.dryRun) {
147
- (0, sparkle_js_1.heads_up)(`[dry-run] Would delete ${toDelete.length} local pocket file(s).`);
154
+ (0, sparkle_js_1.heads_up)(`[dry-run] Would delete ${toDeleteItems.length} local pocket item(s).`);
148
155
  (0, sparkle_js_1.heads_up)('[dry-run] No files were changed.');
149
156
  return;
150
157
  }
151
- const deleted = deleteFiles(repoDir, toDelete);
158
+ const { filesDeleted, mcpServersRemoved } = deletePocketItemFiles(repoDir, toDeleteItems);
152
159
  removeEmptyDirs(repoDir);
153
160
  (0, sparkle_js_1.celebrate)('Local pocket cleaned up!');
154
161
  (0, sparkle_js_1.section)('Summary');
155
- (0, sparkle_js_1.stat)('Files kept', pocketFiles.length - deleted);
156
- (0, sparkle_js_1.stat)('Files deleted', deleted);
162
+ (0, sparkle_js_1.stat)('Files deleted', filesDeleted);
163
+ if (mcpServersRemoved > 0) {
164
+ (0, sparkle_js_1.stat)('MCP servers removed', mcpServersRemoved);
165
+ }
157
166
  console.log('');
158
167
  }
159
- // ── Helpers ───────────────────────────────────────────────────────────────────
168
+ // ── Pocket item helpers ───────────────────────────────────────────────────────
169
+ /**
170
+ * Build a list of logical pocket items from raw file paths.
171
+ *
172
+ * - agents/foo.md → { kind: 'agent', name: 'foo' }
173
+ * - skills/my-skill/... → { kind: 'skill', name: 'my-skill' } (all files grouped)
174
+ * - mcp-config.json → one { kind: 'mcp' } item per server key (read without decrypting)
175
+ * - everything else → { kind: 'other', name: <rel-path> }
176
+ */
177
+ function buildPocketItems(repoDir, allFiles) {
178
+ const items = [];
179
+ // Expand mcp-config.json into individual MCP server items
180
+ let mcpHandled = false;
181
+ if (allFiles.includes('mcp-config.json')) {
182
+ const mcpNames = (0, mcp_js_1.listPocketMcpServerNames)(repoDir);
183
+ if (mcpNames.length > 0) {
184
+ mcpHandled = true;
185
+ for (const name of mcpNames) {
186
+ items.push({ kind: 'mcp', name, files: [] });
187
+ }
188
+ }
189
+ }
190
+ // Group agents and skills; pass everything else through as 'other'
191
+ const agentsByName = new Map();
192
+ const skillsByName = new Map();
193
+ for (const f of allFiles) {
194
+ if (f.startsWith('agents/')) {
195
+ const name = path.basename(f, '.md');
196
+ if (!agentsByName.has(name))
197
+ agentsByName.set(name, []);
198
+ agentsByName.get(name).push(f);
199
+ }
200
+ else if (f.startsWith('skills/')) {
201
+ const parts = f.split('/');
202
+ const topLevel = parts[1];
203
+ if (topLevel) {
204
+ if (!skillsByName.has(topLevel))
205
+ skillsByName.set(topLevel, []);
206
+ skillsByName.get(topLevel).push(f);
207
+ }
208
+ }
209
+ else if (f === 'mcp-config.json' && mcpHandled) {
210
+ // Already expanded above — skip raw file entry
211
+ }
212
+ else {
213
+ items.push({ kind: 'other', name: f, files: [f] });
214
+ }
215
+ }
216
+ for (const [name, files] of agentsByName) {
217
+ items.push({ kind: 'agent', name, files });
218
+ }
219
+ for (const [name, files] of skillsByName) {
220
+ items.push({ kind: 'skill', name, files });
221
+ }
222
+ // Sort: agents → skills → MCPs → other; alphabetical within each group
223
+ const kindOrder = { agent: 0, skill: 1, mcp: 2, other: 3 };
224
+ items.sort((a, b) => {
225
+ if (kindOrder[a.kind] !== kindOrder[b.kind])
226
+ return kindOrder[a.kind] - kindOrder[b.kind];
227
+ return a.name.localeCompare(b.name);
228
+ });
229
+ return items;
230
+ }
231
+ /**
232
+ * Surgically remove specific MCP servers from mcp-config.json.
233
+ * Deletes the file entirely when all servers are removed.
234
+ * Returns the number of servers removed.
235
+ */
236
+ function removeMcpServersFromPocket(repoDir, serverNames) {
237
+ const configPath = path.join(repoDir, 'mcp-config.json');
238
+ if (!fs.existsSync(configPath) || serverNames.length === 0)
239
+ return 0;
240
+ let parsed;
241
+ try {
242
+ parsed = JSON.parse(fs.readFileSync(configPath, 'utf8'));
243
+ }
244
+ catch {
245
+ return 0;
246
+ }
247
+ const servers = parsed.mcpServers ?? {};
248
+ for (const name of serverNames) {
249
+ delete servers[name];
250
+ }
251
+ if (Object.keys(servers).length === 0) {
252
+ fs.rmSync(configPath);
253
+ }
254
+ else {
255
+ fs.writeFileSync(configPath, JSON.stringify(parsed, null, 2), 'utf8');
256
+ }
257
+ return serverNames.length;
258
+ }
259
+ /**
260
+ * Delete the files/servers represented by the given items.
261
+ * MCP items are handled by rewriting mcp-config.json rather than deleting it wholesale.
262
+ */
263
+ function deletePocketItemFiles(repoDir, items) {
264
+ const filesToDelete = [];
265
+ const mcpNamesToRemove = [];
266
+ for (const item of items) {
267
+ if (item.kind === 'mcp') {
268
+ mcpNamesToRemove.push(item.name);
269
+ }
270
+ else {
271
+ filesToDelete.push(...item.files);
272
+ }
273
+ }
274
+ const filesDeleted = deleteFiles(repoDir, filesToDelete);
275
+ const mcpServersRemoved = mcpNamesToRemove.length > 0 ? removeMcpServersFromPocket(repoDir, mcpNamesToRemove) : 0;
276
+ return { filesDeleted, mcpServersRemoved };
277
+ }
278
+ const KIND_LABEL = {
279
+ agent: '[agent]',
280
+ skill: '[skill]',
281
+ mcp: '[mcp] ',
282
+ other: '[other]',
283
+ };
284
+ function formatItemLabel(item) {
285
+ return `${KIND_LABEL[item.kind]} ${item.name}`;
286
+ }
287
+ function printItemsToDelete(items) {
288
+ (0, sparkle_js_1.section)('Items to be removed');
289
+ for (const item of items) {
290
+ console.log(` ${sparkle_js_1.c.red('✗')} ${formatItemLabel(item)}`);
291
+ }
292
+ }
293
+ // ── Storage helpers ───────────────────────────────────────────────────────────
160
294
  /** Pull the remote pocket into the local staging directory. */
161
295
  async function pullPocketToLocal(config, repoDir) {
162
296
  if (config.storageType === 'gist') {
@@ -206,6 +340,7 @@ async function pushPocketToRemote(config, repoDir) {
206
340
  process.exit(1);
207
341
  }
208
342
  }
343
+ // ── File utilities ────────────────────────────────────────────────────────────
209
344
  /**
210
345
  * Return all files inside the pocket staging directory as forward-slash
211
346
  * relative paths, excluding the `.git` directory.
@@ -326,12 +461,6 @@ function isWithinDir(dir, filePath) {
326
461
  return (resolvedFile === resolvedDir ||
327
462
  resolvedFile.startsWith(resolvedDir + path.sep));
328
463
  }
329
- function printFilesToDelete(files) {
330
- (0, sparkle_js_1.section)('Files to be removed');
331
- for (const f of files) {
332
- console.log(` ${sparkle_js_1.c.red('✗')} ${f}`);
333
- }
334
- }
335
464
  function isYes(answer) {
336
465
  return answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes';
337
466
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ export type SyncItemKind = 'agent' | 'skill' | 'mcp';
2
+ export interface SyncItem {
3
+ kind: SyncItemKind;
4
+ name: string;
5
+ }
6
+ /**
7
+ * Filters for individual item-level sync selection.
8
+ * `undefined` means "all items in that category" (no filtering applied).
9
+ */
10
+ export interface ItemFilters {
11
+ mcpNames?: ReadonlySet<string>;
12
+ agentNames?: ReadonlySet<string>;
13
+ skillNames?: ReadonlySet<string>;
14
+ }
15
+ /**
16
+ * Show a single combined multi-select listing agents, skills, and MCP servers
17
+ * together with kind labels. Returns per-category name filters.
18
+ *
19
+ * When all items in a category are kept, the filter for that category is `undefined`
20
+ * (meaning "pass everything through without filtering").
21
+ *
22
+ * Pressing Enter with all items selected = sync everything (fast-path equivalent
23
+ * to the old default-sync-all behaviour).
24
+ */
25
+ export declare function promptForItemSelection(question: string, agentNames: string[], skillNames: string[], mcpNames: string[]): Promise<ItemFilters>;
26
+ /** True when at least one MCP name passes through the filter. */
27
+ export declare function hasMcpsInSelection(filters: ItemFilters, availableMcpNames: string[]): boolean;
28
+ //# sourceMappingURL=item-select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-select.d.ts","sourceRoot":"","sources":["../../src/commands/item-select.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC;AAYD;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,WAAW,CAAC,CAgCtB;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAG7F"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.promptForItemSelection = promptForItemSelection;
4
+ exports.hasMcpsInSelection = hasMcpsInSelection;
5
+ const prompt_js_1 = require("../utils/prompt.js");
6
+ const KIND_LABEL = {
7
+ agent: '[agent]',
8
+ skill: '[skill]',
9
+ mcp: '[mcp] ',
10
+ };
11
+ function formatSyncItemLabel(item) {
12
+ return `${KIND_LABEL[item.kind]} ${item.name}`;
13
+ }
14
+ /**
15
+ * Show a single combined multi-select listing agents, skills, and MCP servers
16
+ * together with kind labels. Returns per-category name filters.
17
+ *
18
+ * When all items in a category are kept, the filter for that category is `undefined`
19
+ * (meaning "pass everything through without filtering").
20
+ *
21
+ * Pressing Enter with all items selected = sync everything (fast-path equivalent
22
+ * to the old default-sync-all behaviour).
23
+ */
24
+ async function promptForItemSelection(question, agentNames, skillNames, mcpNames) {
25
+ const items = [
26
+ ...agentNames.sort().map((name) => ({ kind: 'agent', name })),
27
+ ...skillNames.sort().map((name) => ({ kind: 'skill', name })),
28
+ ...mcpNames.sort().map((name) => ({ kind: 'mcp', name })),
29
+ ];
30
+ if (items.length === 0)
31
+ return {};
32
+ const selected = await (0, prompt_js_1.askMultiSelect)(question, items.map((item) => ({ label: formatSyncItemLabel(item), value: item })));
33
+ const selectedAgentNames = selected.filter((i) => i.kind === 'agent').map((i) => i.name);
34
+ const selectedSkillNames = selected.filter((i) => i.kind === 'skill').map((i) => i.name);
35
+ const selectedMcpNames = selected.filter((i) => i.kind === 'mcp').map((i) => i.name);
36
+ const filters = {};
37
+ // Only set a filter when it is a strict subset (otherwise leave undefined = pass all)
38
+ if (selectedAgentNames.length < agentNames.length) {
39
+ filters.agentNames = new Set(selectedAgentNames);
40
+ }
41
+ if (selectedSkillNames.length < skillNames.length) {
42
+ filters.skillNames = new Set(selectedSkillNames);
43
+ }
44
+ if (selectedMcpNames.length < mcpNames.length) {
45
+ filters.mcpNames = new Set(selectedMcpNames);
46
+ }
47
+ return filters;
48
+ }
49
+ /** True when at least one MCP name passes through the filter. */
50
+ function hasMcpsInSelection(filters, availableMcpNames) {
51
+ if (!filters.mcpNames)
52
+ return availableMcpNames.length > 0;
53
+ return filters.mcpNames.size > 0;
54
+ }
55
+ //# sourceMappingURL=item-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-select.js","sourceRoot":"","sources":["../../src/commands/item-select.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { ProviderFlagOptions } from './provider-options.js';
2
2
  export declare function pullCommand(options?: ProviderFlagOptions & {
3
3
  interactive?: boolean;
4
+ ui?: boolean;
4
5
  }): Promise<void>;
5
6
  //# sourceMappingURL=pull.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAgBjE,wBAAsB,WAAW,CAAC,OAAO,GAAE,mBAAmB,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsF9G"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAYjE,wBAAsB,WAAW,CAC/B,OAAO,GAAE,mBAAmB,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1E,OAAO,CAAC,IAAI,CAAC,CAiHf"}