@swarmify/agents-cli 1.10.4 → 1.11.1

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.
Files changed (95) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +73 -2
  3. package/dist/commands/__tests__/sessions.test.js +333 -0
  4. package/dist/commands/__tests__/sessions.test.js.map +1 -1
  5. package/dist/commands/commands.d.ts.map +1 -1
  6. package/dist/commands/commands.js +5 -11
  7. package/dist/commands/commands.js.map +1 -1
  8. package/dist/commands/exec.d.ts.map +1 -1
  9. package/dist/commands/exec.js +11 -1
  10. package/dist/commands/exec.js.map +1 -1
  11. package/dist/commands/hooks.d.ts.map +1 -1
  12. package/dist/commands/hooks.js +5 -11
  13. package/dist/commands/hooks.js.map +1 -1
  14. package/dist/commands/mcp.d.ts.map +1 -1
  15. package/dist/commands/mcp.js +109 -43
  16. package/dist/commands/mcp.js.map +1 -1
  17. package/dist/commands/packages.d.ts.map +1 -1
  18. package/dist/commands/packages.js +92 -42
  19. package/dist/commands/packages.js.map +1 -1
  20. package/dist/commands/permissions.d.ts.map +1 -1
  21. package/dist/commands/permissions.js +38 -34
  22. package/dist/commands/permissions.js.map +1 -1
  23. package/dist/commands/pull.d.ts.map +1 -1
  24. package/dist/commands/pull.js +14 -15
  25. package/dist/commands/pull.js.map +1 -1
  26. package/dist/commands/push.d.ts.map +1 -1
  27. package/dist/commands/push.js +2 -0
  28. package/dist/commands/push.js.map +1 -1
  29. package/dist/commands/rules.d.ts.map +1 -1
  30. package/dist/commands/rules.js +5 -11
  31. package/dist/commands/rules.js.map +1 -1
  32. package/dist/commands/sessions.d.ts.map +1 -1
  33. package/dist/commands/sessions.js +217 -34
  34. package/dist/commands/sessions.js.map +1 -1
  35. package/dist/commands/skills.d.ts.map +1 -1
  36. package/dist/commands/skills.js +5 -11
  37. package/dist/commands/skills.js.map +1 -1
  38. package/dist/commands/versions.d.ts.map +1 -1
  39. package/dist/commands/versions.js +31 -9
  40. package/dist/commands/versions.js.map +1 -1
  41. package/dist/commands/view.d.ts.map +1 -1
  42. package/dist/commands/view.js +38 -58
  43. package/dist/commands/view.js.map +1 -1
  44. package/dist/index.js +1 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/lib/__tests__/exec.test.js +50 -1
  47. package/dist/lib/__tests__/exec.test.js.map +1 -1
  48. package/dist/lib/__tests__/usage.test.d.ts +2 -0
  49. package/dist/lib/__tests__/usage.test.d.ts.map +1 -0
  50. package/dist/lib/__tests__/usage.test.js +145 -0
  51. package/dist/lib/__tests__/usage.test.js.map +1 -0
  52. package/dist/lib/agents.d.ts +19 -0
  53. package/dist/lib/agents.d.ts.map +1 -1
  54. package/dist/lib/agents.js +177 -16
  55. package/dist/lib/agents.js.map +1 -1
  56. package/dist/lib/exec.d.ts +3 -0
  57. package/dist/lib/exec.d.ts.map +1 -1
  58. package/dist/lib/exec.js +37 -0
  59. package/dist/lib/exec.js.map +1 -1
  60. package/dist/lib/registry.d.ts.map +1 -1
  61. package/dist/lib/registry.js +8 -0
  62. package/dist/lib/registry.js.map +1 -1
  63. package/dist/lib/resources.d.ts +2 -0
  64. package/dist/lib/resources.d.ts.map +1 -1
  65. package/dist/lib/resources.js +7 -7
  66. package/dist/lib/resources.js.map +1 -1
  67. package/dist/lib/session/discover.d.ts +10 -0
  68. package/dist/lib/session/discover.d.ts.map +1 -1
  69. package/dist/lib/session/discover.js +563 -119
  70. package/dist/lib/session/discover.js.map +1 -1
  71. package/dist/lib/session/prompt.d.ts +3 -0
  72. package/dist/lib/session/prompt.d.ts.map +1 -0
  73. package/dist/lib/session/prompt.js +41 -0
  74. package/dist/lib/session/prompt.js.map +1 -0
  75. package/dist/lib/session/render.d.ts.map +1 -1
  76. package/dist/lib/session/render.js +6 -37
  77. package/dist/lib/session/render.js.map +1 -1
  78. package/dist/lib/session/types.d.ts +7 -0
  79. package/dist/lib/session/types.d.ts.map +1 -1
  80. package/dist/lib/shims.d.ts +5 -0
  81. package/dist/lib/shims.d.ts.map +1 -1
  82. package/dist/lib/shims.js +20 -1
  83. package/dist/lib/shims.js.map +1 -1
  84. package/dist/lib/types.d.ts +1 -0
  85. package/dist/lib/types.d.ts.map +1 -1
  86. package/dist/lib/types.js.map +1 -1
  87. package/dist/lib/usage.d.ts +26 -0
  88. package/dist/lib/usage.d.ts.map +1 -1
  89. package/dist/lib/usage.js +125 -48
  90. package/dist/lib/usage.js.map +1 -1
  91. package/dist/lib/versions.d.ts +28 -0
  92. package/dist/lib/versions.d.ts.map +1 -1
  93. package/dist/lib/versions.js +181 -1
  94. package/dist/lib/versions.js.map +1 -1
  95. package/package.json +1 -1
@@ -3,21 +3,18 @@ import * as os from 'os';
3
3
  import * as path from 'path';
4
4
  import chalk from 'chalk';
5
5
  import ora from 'ora';
6
- import { select } from '@inquirer/prompts';
6
+ import { search } from '@inquirer/prompts';
7
7
  import { SESSION_AGENTS } from '../lib/session/types.js';
8
- import { discoverSessions, resolveSessionById } from '../lib/session/discover.js';
8
+ import { discoverSessions, resolveSessionById, searchContentIndex } from '../lib/session/discover.js';
9
9
  import { parseSession } from '../lib/session/parse.js';
10
10
  import { renderTranscript, renderSummary, renderTrace, renderJson } from '../lib/session/render.js';
11
11
  import { renderMarkdown } from '../lib/markdown.js';
12
12
  import { colorAgent } from '../lib/agents.js';
13
13
  import { isInteractiveTerminal, isPromptCancelled, requireInteractiveSelection } from './utils.js';
14
+ const SESSION_AGENT_FILTER_HELP = `Filter by agent (${SESSION_AGENTS.join(', ')})`;
14
15
  const CLAUDE_RESUME_MATCH_WINDOW_MS = 10 * 60_000;
15
16
  async function listAction(options) {
16
- const agent = options.agent;
17
- if (agent && !SESSION_AGENTS.includes(agent)) {
18
- console.error(chalk.red(`Unknown agent: ${agent}. Use: ${SESSION_AGENTS.join(', ')}`));
19
- process.exit(1);
20
- }
17
+ const agent = parseAgentFilter(options.agent);
21
18
  const limit = parseInt(options.limit || '20', 10);
22
19
  const spinner = ora('Scanning sessions...').start();
23
20
  try {
@@ -27,18 +24,29 @@ async function listAction(options) {
27
24
  cwd: process.cwd(),
28
25
  project: options.project,
29
26
  limit,
27
+ since: options.since,
28
+ until: options.until,
30
29
  });
31
30
  spinner.stop();
32
31
  if (sessions.length === 0) {
33
- console.log(chalk.gray(formatNoSessionsMessage(options.all)));
32
+ console.log(chalk.gray(formatNoSessionsMessage(options.all, false, options.project)));
34
33
  return;
35
34
  }
35
+ if (shouldUseFilteredSessionSearch(options)) {
36
+ const picked = await pickSession(sessions, formatSearchMessage(options));
37
+ if (picked) {
38
+ await renderSession(picked, 'summary');
39
+ return;
40
+ }
41
+ }
36
42
  // Print header
37
43
  console.log(chalk.gray(padRight('ID', 10) +
38
44
  padRight('Account', 20) +
39
45
  padRight('Agent', 18) +
40
46
  padRight('Project', 16) +
41
47
  padRight('When', 14) +
48
+ padRight('Msgs', 8) +
49
+ padRight('Tokens', 10) +
42
50
  'Topic'));
43
51
  for (const session of sessions) {
44
52
  const agentColor = colorAgent(session.agent);
@@ -54,6 +62,8 @@ async function listAction(options) {
54
62
  agentColor(padRight(truncate(agentLabel, 16), 18)) +
55
63
  chalk.cyan(padRight(truncate(project, 14), 16)) +
56
64
  chalk.gray(padRight(when, 14)) +
65
+ chalk.gray(padRight(formatCompactMetric(session.messageCount), 8)) +
66
+ chalk.gray(padRight(formatCompactMetric(session.tokenCount), 10)) +
57
67
  chalk.white(truncate(topic, 40)));
58
68
  }
59
69
  console.log(chalk.gray(`\n${sessions.length} session${sessions.length === 1 ? '' : 's'}. Use 'agents sessions view <id>' to read.`));
@@ -115,21 +125,45 @@ function formatPickerLabel(s) {
115
125
  const account = s.account || '';
116
126
  const agentLabel = s.version ? `${s.agent}@${s.version}` : s.agent;
117
127
  const topic = s.topic || '';
128
+ const matchTerms = s._matchedTerms;
129
+ // Append matched terms badge
130
+ const matchBadge = matchTerms && matchTerms.length > 0
131
+ ? chalk.yellow(` [${matchTerms.join(', ')}]`)
132
+ : '';
118
133
  return (chalk.white(padRight(s.shortId, 10)) +
119
134
  chalk.gray(padRight(truncate(account, 18), 20)) +
120
135
  agentColor(padRight(truncate(agentLabel, 16), 18)) +
121
136
  chalk.cyan(padRight(truncate(project, 14), 16)) +
122
137
  chalk.gray(padRight(when, 14)) +
123
- chalk.white(truncate(topic, 30)));
138
+ chalk.gray(padRight(formatCompactMetric(s.messageCount), 8)) +
139
+ chalk.gray(padRight(formatCompactMetric(s.tokenCount), 10)) +
140
+ chalk.white(truncate(topic, 30)) +
141
+ matchBadge);
124
142
  }
125
- async function pickSession(sessions) {
143
+ async function pickSession(sessions, message = 'Search sessions:') {
126
144
  try {
127
- return await select({
128
- message: 'Select a session:',
129
- choices: sessions.map(s => ({
130
- name: formatPickerLabel(s),
131
- value: s,
132
- })),
145
+ return await search({
146
+ message,
147
+ pageSize: 12,
148
+ source: async (input) => {
149
+ const matches = filterSessionsByQuery(sessions, input).slice(0, 30);
150
+ if (matches.length === 0) {
151
+ return [{
152
+ name: input?.trim()
153
+ ? `No sessions found for "${input.trim()}"`
154
+ : 'No sessions found',
155
+ value: null,
156
+ disabled: 'Keep typing',
157
+ }];
158
+ }
159
+ return matches.map(s => ({
160
+ name: formatPickerLabel(s),
161
+ value: s,
162
+ description: formatSearchDescription(s),
163
+ short: s.shortId,
164
+ }));
165
+ },
166
+ validate: (value) => value ? true : 'No matching sessions.',
133
167
  });
134
168
  }
135
169
  catch (err) {
@@ -138,6 +172,109 @@ async function pickSession(sessions) {
138
172
  throw err;
139
173
  }
140
174
  }
175
+ function parseAgentFilter(agentName) {
176
+ const agent = agentName;
177
+ if (agent && !SESSION_AGENTS.includes(agent)) {
178
+ console.error(chalk.red(`Unknown agent: ${agent}. Use: ${SESSION_AGENTS.join(', ')}`));
179
+ process.exit(1);
180
+ }
181
+ return agent;
182
+ }
183
+ function shouldUseFilteredSessionSearch(options) {
184
+ return isInteractiveTerminal() && Boolean(options.agent || options.project);
185
+ }
186
+ function formatSearchMessage(options) {
187
+ const filters = [];
188
+ if (options.agent)
189
+ filters.push(`agent: ${options.agent}`);
190
+ if (options.project?.trim())
191
+ filters.push(`project: ${options.project.trim()}`);
192
+ if (filters.length === 0)
193
+ return 'Search sessions:';
194
+ return `Search sessions (${filters.join(', ')}):`;
195
+ }
196
+ function formatSearchDescription(session) {
197
+ return [session.id, session.cwd].filter(Boolean).join(' ');
198
+ }
199
+ function filterSessionsByQuery(sessions, query) {
200
+ const trimmed = query?.trim().toLowerCase() || '';
201
+ if (!trimmed)
202
+ return sessions;
203
+ const terms = trimmed.split(/\s+/).filter(Boolean);
204
+ const contentIndex = searchContentIndex(sessions, trimmed);
205
+ return sessions
206
+ .map(session => ({ session, score: scoreSessionQuery(session, terms) }))
207
+ .filter(entry => {
208
+ // Include if scored by topic/project/etc, or matched by content search
209
+ if (entry.score > 0)
210
+ return true;
211
+ const contentMatch = contentIndex.get(entry.session.id);
212
+ if (contentMatch && contentMatch._matchedTerms && contentMatch._matchedTerms.length > 0) {
213
+ return true;
214
+ }
215
+ return false;
216
+ })
217
+ .sort((a, b) => {
218
+ if (b.score !== a.score)
219
+ return b.score - a.score;
220
+ const cmA = contentIndex.get(a.session.id);
221
+ const cmB = contentIndex.get(b.session.id);
222
+ if (cmA && cmB && cmA._matchedTerms && cmB._matchedTerms) {
223
+ if (cmB._matchedTerms.length !== cmA._matchedTerms.length) {
224
+ return cmB._matchedTerms.length - cmA._matchedTerms.length;
225
+ }
226
+ }
227
+ return new Date(b.session.timestamp).getTime() - new Date(a.session.timestamp).getTime();
228
+ })
229
+ .map(entry => {
230
+ // Attach content match terms for highlighting
231
+ const cm = contentIndex.get(entry.session.id);
232
+ if (cm && cm._matchedTerms) {
233
+ return { ...cm };
234
+ }
235
+ return entry.session;
236
+ });
237
+ }
238
+ function scoreSessionQuery(session, terms) {
239
+ let score = 0;
240
+ for (const term of terms) {
241
+ const exactId = session.id.toLowerCase() === term || session.shortId.toLowerCase() === term;
242
+ const prefixId = session.id.toLowerCase().startsWith(term) || session.shortId.toLowerCase().startsWith(term);
243
+ const topic = session.topic?.toLowerCase() || '';
244
+ const project = session.project?.toLowerCase() || '';
245
+ const account = session.account?.toLowerCase() || '';
246
+ const cwd = session.cwd?.toLowerCase() || '';
247
+ const agent = session.agent.toLowerCase();
248
+ const version = session.version?.toLowerCase() || '';
249
+ let termScore = 0;
250
+ if (exactId)
251
+ termScore = 1000;
252
+ else if (prefixId)
253
+ termScore = 900;
254
+ else if (topic.startsWith(term))
255
+ termScore = 700;
256
+ else if (project.startsWith(term))
257
+ termScore = 600;
258
+ else if (account.startsWith(term))
259
+ termScore = 550;
260
+ else if (agent.startsWith(term) || version.startsWith(term))
261
+ termScore = 500;
262
+ else if (topic.includes(term))
263
+ termScore = 400;
264
+ else if (project.includes(term))
265
+ termScore = 300;
266
+ else if (account.includes(term))
267
+ termScore = 250;
268
+ else if (cwd.includes(term))
269
+ termScore = 200;
270
+ else if (version.includes(term) || agent.includes(term))
271
+ termScore = 150;
272
+ else
273
+ return 0;
274
+ score += termScore;
275
+ }
276
+ return score;
277
+ }
141
278
  async function viewAction(idQuery, options) {
142
279
  // Default to summary, opt into full transcript
143
280
  let mode = 'summary';
@@ -147,12 +284,17 @@ async function viewAction(idQuery, options) {
147
284
  mode = 'trace';
148
285
  else if (options.json)
149
286
  mode = 'json';
287
+ const agent = parseAgentFilter(options.agent);
150
288
  const spinner = ora('Finding session...').start();
151
289
  try {
152
290
  const allSessions = await discoverSessions({
291
+ agent,
153
292
  all: Boolean(idQuery) || options.all,
154
293
  cwd: process.cwd(),
294
+ project: options.project,
155
295
  limit: 5000,
296
+ since: options.since,
297
+ until: options.until,
156
298
  });
157
299
  let session;
158
300
  if (!idQuery) {
@@ -168,16 +310,30 @@ async function viewAction(idQuery, options) {
168
310
  'agents sessions view <id>',
169
311
  ]);
170
312
  }
171
- // Show at most 30 in the picker
172
- const picked = await pickSession(allSessions.slice(0, 30));
313
+ const picked = await pickSession(allSessions, formatSearchMessage(options));
173
314
  if (!picked)
174
315
  return;
175
316
  session = picked;
176
317
  }
177
318
  else {
178
- // Resolve by ID
179
319
  const matches = resolveSessionById(allSessions, idQuery);
180
- if (matches.length === 0) {
320
+ let queryMatches = matches.length > 0 ? matches : filterSessionsByQuery(allSessions, idQuery);
321
+ // Content search fallback when no title/topic/project matches
322
+ if (queryMatches.length === 0) {
323
+ const contentResults = searchContentIndex(allSessions, idQuery);
324
+ if (contentResults.size > 0) {
325
+ const matchedSessions = Array.from(contentResults.values())
326
+ .sort((a, b) => (a._matchedTerms?.length ?? 0) - (b._matchedTerms?.length ?? 0));
327
+ if (matchedSessions.length === 1) {
328
+ session = matchedSessions[0];
329
+ console.log(chalk.gray(`Found by content match (terms: ${matchedSessions[0]._matchedTerms?.join(', ')})`));
330
+ }
331
+ else {
332
+ queryMatches = matchedSessions;
333
+ }
334
+ }
335
+ }
336
+ if (queryMatches.length === 0) {
181
337
  spinner.stop();
182
338
  const historyEntry = findClaudeHistoryEntry(idQuery);
183
339
  if (historyEntry) {
@@ -197,27 +353,27 @@ async function viewAction(idQuery, options) {
197
353
  process.exit(1);
198
354
  }
199
355
  }
200
- if (matches.length === 0) {
356
+ if (queryMatches.length === 0) {
201
357
  // session already resolved from history fallback
202
358
  }
203
- else if (matches.length > 1) {
359
+ else if (queryMatches.length > 1) {
204
360
  spinner.stop();
205
361
  if (!isInteractiveTerminal()) {
206
362
  console.error(chalk.red(`Multiple sessions match: ${idQuery}`));
207
- console.error(chalk.gray('Pass a longer ID or one of these exact IDs:'));
208
- for (const match of matches.slice(0, 10)) {
363
+ console.error(chalk.gray('Pass a longer ID/query or one of these exact IDs:'));
364
+ for (const match of queryMatches.slice(0, 10)) {
209
365
  console.error(chalk.cyan(` ${match.id}`));
210
366
  }
211
367
  process.exit(1);
212
368
  }
213
369
  // Multiple matches -- let the user pick
214
- const picked = await pickSession(matches);
370
+ const picked = await pickSession(queryMatches, formatSearchMessage(options));
215
371
  if (!picked)
216
372
  return;
217
373
  session = picked;
218
374
  }
219
375
  else {
220
- session = matches[0];
376
+ session = queryMatches[0];
221
377
  }
222
378
  }
223
379
  if (!session) {
@@ -238,9 +394,11 @@ export function registerSessionsCommands(program) {
238
394
  const sessionsCmd = program
239
395
  .command('sessions')
240
396
  .description('List and view agent sessions for the current directory by default')
241
- .option('--agent <agent>', 'Filter by agent (claude, codex, gemini)')
397
+ .option('--agent <agent>', SESSION_AGENT_FILTER_HELP)
242
398
  .option('--all', 'Show sessions from every directory')
243
- .option('--project <name>', 'Filter by project name')
399
+ .option('--project <name>', 'Filter by project name across all directories')
400
+ .option('--since <time>', 'Filter sessions newer than time (e.g., "7d", "30d", ISO timestamp)')
401
+ .option('--until <time>', 'Filter sessions older than time (ISO timestamp)')
244
402
  .option('-n, --limit <n>', 'Max sessions to show', '20')
245
403
  .action(async (options) => {
246
404
  await listAction(options);
@@ -248,25 +406,38 @@ export function registerSessionsCommands(program) {
248
406
  sessionsCmd
249
407
  .command('list')
250
408
  .description('List sessions for the current directory by default')
251
- .option('--agent <agent>', 'Filter by agent (claude, codex, gemini)')
409
+ .option('--agent <agent>', SESSION_AGENT_FILTER_HELP)
252
410
  .option('--all', 'Show sessions from every directory')
253
- .option('--project <name>', 'Filter by project name')
411
+ .option('--project <name>', 'Filter by project name across all directories')
412
+ .option('--since <time>', 'Filter sessions newer than time (e.g., "7d", "30d", ISO timestamp)')
413
+ .option('--until <time>', 'Filter sessions older than time (ISO timestamp)')
254
414
  .option('-n, --limit <n>', 'Max sessions to show', '20')
255
415
  .action(async (options) => {
256
416
  await listAction(options);
257
417
  });
258
418
  sessionsCmd
259
419
  .command('view [id]')
260
- .description('View a session (picker defaults to the current directory)')
420
+ .description('View a session by ID or search query (picker defaults to live search)')
421
+ .option('--agent <agent>', SESSION_AGENT_FILTER_HELP)
261
422
  .option('--all', 'Show sessions from every directory')
423
+ .option('--project <name>', 'Filter by project name across all directories')
424
+ .option('--since <time>', 'Filter sessions newer than time (e.g., "7d", "30d", ISO timestamp)')
425
+ .option('--until <time>', 'Filter sessions older than time (ISO timestamp)')
262
426
  .option('--transcript', 'Show full conversation transcript')
263
427
  .option('--trace', 'Show reasoning trace as markdown')
264
428
  .option('--json', 'Output normalized events as JSON')
265
- .action(async (id, options) => {
266
- await viewAction(id, options);
429
+ .action(async (id, options, command) => {
430
+ const parentOptions = typeof command?.parent?.opts === 'function'
431
+ ? command.parent.opts()
432
+ : {};
433
+ await viewAction(id, { ...parentOptions, ...options });
267
434
  });
268
435
  }
269
- function formatNoSessionsMessage(showAll, picker = false) {
436
+ function formatNoSessionsMessage(showAll, picker = false, project) {
437
+ const projectQuery = project?.trim();
438
+ if (projectQuery) {
439
+ return `No sessions found for project "${projectQuery}".`;
440
+ }
270
441
  if (showAll)
271
442
  return 'No sessions found.';
272
443
  const command = picker ? 'agents sessions view --all' : 'agents sessions --all';
@@ -433,6 +604,18 @@ function padRight(s, width) {
433
604
  function truncate(s, max) {
434
605
  return s.length > max ? s.slice(0, max - 1) + '.' : s;
435
606
  }
607
+ function formatCompactMetric(value) {
608
+ if (value === undefined)
609
+ return '-';
610
+ if (value < 1000)
611
+ return String(value);
612
+ if (value < 1_000_000) {
613
+ const compact = value / 1000;
614
+ return compact >= 100 ? `${Math.round(compact)}k` : `${compact.toFixed(1).replace(/\.0$/, '')}k`;
615
+ }
616
+ const compact = value / 1_000_000;
617
+ return compact >= 100 ? `${Math.round(compact)}m` : `${compact.toFixed(1).replace(/\.0$/, '')}m`;
618
+ }
436
619
  function formatRelativeTime(isoTimestamp) {
437
620
  const now = Date.now();
438
621
  const then = new Date(isoTimestamp).getTime();
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuoB7D"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8CzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAioB7D"}
@@ -7,7 +7,7 @@ import { select, checkbox } from '@inquirer/prompts';
7
7
  import { AGENTS, SKILLS_CAPABLE_AGENTS, resolveAgentName, getAllCliStates, formatAgentError, agentLabel, } from '../lib/agents.js';
8
8
  import { cloneRepo } from '../lib/git.js';
9
9
  import { discoverSkillsFromRepo, installSkillCentrally, uninstallSkill, listInstalledSkills, listInstalledSkillsWithScope, getSkillInfo, getSkillRules, tryParseSkillMetadata, } from '../lib/skills.js';
10
- import { listInstalledVersions, getGlobalDefault, syncResourcesToVersion, promptAgentVersionSelection, getVersionHomePath, } from '../lib/versions.js';
10
+ import { listInstalledVersions, getGlobalDefault, syncResourcesToVersion, promptAgentVersionSelection, getVersionHomePath, resolveAgentVersionTargets, } from '../lib/versions.js';
11
11
  import { recordVersionResources } from '../lib/state.js';
12
12
  import { isPromptCancelled, isInteractiveTerminal, parseCommaSeparatedList, printWithPager, requireInteractiveSelection, } from './utils.js';
13
13
  export function registerSkillsCommands(program) {
@@ -252,7 +252,7 @@ export function registerSkillsCommands(program) {
252
252
  skillsCmd
253
253
  .command('add [source]')
254
254
  .description('Install skills from a repo or local path')
255
- .option('-a, --agents <list>', 'Comma-separated agents to install to')
255
+ .option('-a, --agents <list>', 'Comma-separated agent or agent@version targets to install to')
256
256
  .option('--names <list>', 'Comma-separated skill names from ~/.agents/skills/')
257
257
  .option('-y, --yes', 'Skip prompts and use defaults')
258
258
  .action(async (source, options) => {
@@ -398,15 +398,9 @@ export function registerSkillsCommands(program) {
398
398
  let selectedAgents;
399
399
  let versionSelections;
400
400
  if (options.agents) {
401
- selectedAgents = options.agents.split(',');
402
- versionSelections = new Map();
403
- for (const agentId of selectedAgents) {
404
- const versions = listInstalledVersions(agentId);
405
- if (versions.length > 0) {
406
- const defaultVer = getGlobalDefault(agentId);
407
- versionSelections.set(agentId, defaultVer ? [defaultVer] : [versions[versions.length - 1]]);
408
- }
409
- }
401
+ const result = resolveAgentVersionTargets(options.agents, SKILLS_CAPABLE_AGENTS);
402
+ selectedAgents = result.selectedAgents;
403
+ versionSelections = result.versionSelections;
410
404
  }
411
405
  else {
412
406
  const result = await promptAgentVersionSelection(SKILLS_CAPABLE_AGENTS, {