@swarmify/agents-cli 1.10.3 → 1.11.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.
Files changed (156) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +71 -0
  3. package/dist/commands/__tests__/sessions.test.d.ts +2 -0
  4. package/dist/commands/__tests__/sessions.test.d.ts.map +1 -0
  5. package/dist/commands/__tests__/sessions.test.js +436 -0
  6. package/dist/commands/__tests__/sessions.test.js.map +1 -0
  7. package/dist/commands/commands.d.ts.map +1 -1
  8. package/dist/commands/commands.js +79 -67
  9. package/dist/commands/commands.js.map +1 -1
  10. package/dist/commands/daemon.js +1 -1
  11. package/dist/commands/daemon.js.map +1 -1
  12. package/dist/commands/exec.d.ts.map +1 -1
  13. package/dist/commands/exec.js +11 -1
  14. package/dist/commands/exec.js.map +1 -1
  15. package/dist/commands/hooks.d.ts.map +1 -1
  16. package/dist/commands/hooks.js +72 -60
  17. package/dist/commands/hooks.js.map +1 -1
  18. package/dist/commands/mcp.d.ts.map +1 -1
  19. package/dist/commands/mcp.js +134 -57
  20. package/dist/commands/mcp.js.map +1 -1
  21. package/dist/commands/packages.d.ts.map +1 -1
  22. package/dist/commands/packages.js +92 -42
  23. package/dist/commands/packages.js.map +1 -1
  24. package/dist/commands/permissions.d.ts.map +1 -1
  25. package/dist/commands/permissions.js +108 -81
  26. package/dist/commands/permissions.js.map +1 -1
  27. package/dist/commands/plugins.js +8 -8
  28. package/dist/commands/plugins.js.map +1 -1
  29. package/dist/commands/pty.d.ts +20 -0
  30. package/dist/commands/pty.d.ts.map +1 -0
  31. package/dist/commands/pty.js +280 -0
  32. package/dist/commands/pty.js.map +1 -0
  33. package/dist/commands/pull.d.ts.map +1 -1
  34. package/dist/commands/pull.js +27 -27
  35. package/dist/commands/pull.js.map +1 -1
  36. package/dist/commands/push.d.ts.map +1 -1
  37. package/dist/commands/push.js +4 -2
  38. package/dist/commands/push.js.map +1 -1
  39. package/dist/commands/routines.d.ts.map +1 -1
  40. package/dist/commands/routines.js +14 -10
  41. package/dist/commands/routines.js.map +1 -1
  42. package/dist/commands/rules.d.ts.map +1 -1
  43. package/dist/commands/rules.js +70 -61
  44. package/dist/commands/rules.js.map +1 -1
  45. package/dist/commands/sessions.d.ts.map +1 -1
  46. package/dist/commands/sessions.js +369 -44
  47. package/dist/commands/sessions.js.map +1 -1
  48. package/dist/commands/sessions.test.d.ts +2 -0
  49. package/dist/commands/sessions.test.d.ts.map +1 -0
  50. package/dist/commands/sessions.test.js +53 -0
  51. package/dist/commands/sessions.test.js.map +1 -0
  52. package/dist/commands/skills.d.ts.map +1 -1
  53. package/dist/commands/skills.js +75 -57
  54. package/dist/commands/skills.js.map +1 -1
  55. package/dist/commands/subagents.d.ts.map +1 -1
  56. package/dist/commands/subagents.js +10 -4
  57. package/dist/commands/subagents.js.map +1 -1
  58. package/dist/commands/utils.d.ts +16 -0
  59. package/dist/commands/utils.d.ts.map +1 -1
  60. package/dist/commands/utils.js +48 -0
  61. package/dist/commands/utils.js.map +1 -1
  62. package/dist/commands/versions.d.ts.map +1 -1
  63. package/dist/commands/versions.js +148 -43
  64. package/dist/commands/versions.js.map +1 -1
  65. package/dist/commands/view.d.ts.map +1 -1
  66. package/dist/commands/view.js +109 -45
  67. package/dist/commands/view.js.map +1 -1
  68. package/dist/index.js +66 -42
  69. package/dist/index.js.map +1 -1
  70. package/dist/lib/__tests__/exec.test.js +34 -1
  71. package/dist/lib/__tests__/exec.test.js.map +1 -1
  72. package/dist/lib/agents.d.ts +23 -0
  73. package/dist/lib/agents.d.ts.map +1 -1
  74. package/dist/lib/agents.js +212 -16
  75. package/dist/lib/agents.js.map +1 -1
  76. package/dist/lib/daemon.d.ts.map +1 -1
  77. package/dist/lib/daemon.js +15 -7
  78. package/dist/lib/daemon.js.map +1 -1
  79. package/dist/lib/exec.d.ts +3 -0
  80. package/dist/lib/exec.d.ts.map +1 -1
  81. package/dist/lib/exec.js +26 -0
  82. package/dist/lib/exec.js.map +1 -1
  83. package/dist/lib/git.d.ts.map +1 -1
  84. package/dist/lib/git.js +11 -1
  85. package/dist/lib/git.js.map +1 -1
  86. package/dist/lib/pty-client.d.ts +22 -0
  87. package/dist/lib/pty-client.d.ts.map +1 -0
  88. package/dist/lib/pty-client.js +181 -0
  89. package/dist/lib/pty-client.js.map +1 -0
  90. package/dist/lib/pty-server.d.ts +16 -0
  91. package/dist/lib/pty-server.d.ts.map +1 -0
  92. package/dist/lib/pty-server.js +422 -0
  93. package/dist/lib/pty-server.js.map +1 -0
  94. package/dist/lib/registry.d.ts.map +1 -1
  95. package/dist/lib/registry.js +8 -0
  96. package/dist/lib/registry.js.map +1 -1
  97. package/dist/lib/resources.d.ts +2 -0
  98. package/dist/lib/resources.d.ts.map +1 -1
  99. package/dist/lib/resources.js +7 -7
  100. package/dist/lib/resources.js.map +1 -1
  101. package/dist/lib/runner.d.ts.map +1 -1
  102. package/dist/lib/runner.js +13 -9
  103. package/dist/lib/runner.js.map +1 -1
  104. package/dist/lib/sandbox.js +1 -1
  105. package/dist/lib/sandbox.js.map +1 -1
  106. package/dist/lib/session/discover.d.ts +18 -0
  107. package/dist/lib/session/discover.d.ts.map +1 -1
  108. package/dist/lib/session/discover.js +405 -167
  109. package/dist/lib/session/discover.js.map +1 -1
  110. package/dist/lib/session/parse.d.ts.map +1 -1
  111. package/dist/lib/session/parse.js +8 -3
  112. package/dist/lib/session/parse.js.map +1 -1
  113. package/dist/lib/session/prompt.d.ts +3 -0
  114. package/dist/lib/session/prompt.d.ts.map +1 -0
  115. package/dist/lib/session/prompt.js +40 -0
  116. package/dist/lib/session/prompt.js.map +1 -0
  117. package/dist/lib/session/render.d.ts.map +1 -1
  118. package/dist/lib/session/render.js +6 -37
  119. package/dist/lib/session/render.js.map +1 -1
  120. package/dist/lib/session/types.d.ts +1 -0
  121. package/dist/lib/session/types.d.ts.map +1 -1
  122. package/dist/lib/shims.d.ts.map +1 -1
  123. package/dist/lib/shims.js +6 -1
  124. package/dist/lib/shims.js.map +1 -1
  125. package/dist/lib/state.d.ts +0 -1
  126. package/dist/lib/state.d.ts.map +1 -1
  127. package/dist/lib/state.js +3 -9
  128. package/dist/lib/state.js.map +1 -1
  129. package/dist/lib/types.d.ts +3 -5
  130. package/dist/lib/types.d.ts.map +1 -1
  131. package/dist/lib/types.js.map +1 -1
  132. package/dist/lib/usage.d.ts +30 -0
  133. package/dist/lib/usage.d.ts.map +1 -0
  134. package/dist/lib/usage.js +428 -0
  135. package/dist/lib/usage.js.map +1 -0
  136. package/dist/lib/versions.d.ts +28 -0
  137. package/dist/lib/versions.d.ts.map +1 -1
  138. package/dist/lib/versions.js +200 -9
  139. package/dist/lib/versions.js.map +1 -1
  140. package/package.json +3 -1
  141. package/dist/commands/cron.d.ts +0 -3
  142. package/dist/commands/cron.d.ts.map +0 -1
  143. package/dist/commands/cron.js +0 -457
  144. package/dist/commands/cron.js.map +0 -1
  145. package/dist/lib/cron.d.ts +0 -70
  146. package/dist/lib/cron.d.ts.map +0 -1
  147. package/dist/lib/cron.js +0 -325
  148. package/dist/lib/cron.js.map +0 -1
  149. package/dist/lib/drive-server.d.ts +0 -9
  150. package/dist/lib/drive-server.d.ts.map +0 -1
  151. package/dist/lib/drive-server.js +0 -217
  152. package/dist/lib/drive-server.js.map +0 -1
  153. package/dist/lib/drives.d.ts +0 -34
  154. package/dist/lib/drives.d.ts.map +0 -1
  155. package/dist/lib/drives.js +0 -267
  156. package/dist/lib/drives.js.map +0 -1
@@ -1,48 +1,52 @@
1
1
  import * as fs from 'fs';
2
+ import * as os from 'os';
3
+ import * as path from 'path';
2
4
  import chalk from 'chalk';
3
5
  import ora from 'ora';
4
- import { select } from '@inquirer/prompts';
6
+ import { search } from '@inquirer/prompts';
5
7
  import { SESSION_AGENTS } from '../lib/session/types.js';
6
8
  import { discoverSessions, resolveSessionById } from '../lib/session/discover.js';
7
9
  import { parseSession } from '../lib/session/parse.js';
8
10
  import { renderTranscript, renderSummary, renderTrace, renderJson } from '../lib/session/render.js';
9
11
  import { renderMarkdown } from '../lib/markdown.js';
10
- import { isPromptCancelled } from './utils.js';
11
- const AGENT_COLORS = {
12
- claude: chalk.magenta,
13
- codex: chalk.green,
14
- gemini: chalk.blue,
15
- opencode: chalk.yellow,
16
- openclaw: chalk.cyan,
17
- };
12
+ import { colorAgent } from '../lib/agents.js';
13
+ import { isInteractiveTerminal, isPromptCancelled, requireInteractiveSelection } from './utils.js';
14
+ const CLAUDE_RESUME_MATCH_WINDOW_MS = 10 * 60_000;
18
15
  async function listAction(options) {
19
- const agent = options.agent;
20
- if (agent && !SESSION_AGENTS.includes(agent)) {
21
- console.error(chalk.red(`Unknown agent: ${agent}. Use: ${SESSION_AGENTS.join(', ')}`));
22
- process.exit(1);
23
- }
16
+ const agent = parseAgentFilter(options.agent);
24
17
  const limit = parseInt(options.limit || '20', 10);
25
18
  const spinner = ora('Scanning sessions...').start();
26
19
  try {
27
20
  const sessions = await discoverSessions({
28
21
  agent,
22
+ all: options.all,
23
+ cwd: process.cwd(),
29
24
  project: options.project,
30
25
  limit,
31
26
  });
32
27
  spinner.stop();
33
28
  if (sessions.length === 0) {
34
- console.log(chalk.gray('No sessions found.'));
29
+ console.log(chalk.gray(formatNoSessionsMessage(options.all, false, options.project)));
35
30
  return;
36
31
  }
32
+ if (shouldUseFilteredSessionSearch(options)) {
33
+ const picked = await pickSession(sessions, formatSearchMessage(options));
34
+ if (picked) {
35
+ await renderSession(picked, 'summary');
36
+ return;
37
+ }
38
+ }
37
39
  // Print header
38
40
  console.log(chalk.gray(padRight('ID', 10) +
39
41
  padRight('Account', 20) +
40
42
  padRight('Agent', 18) +
41
43
  padRight('Project', 16) +
42
44
  padRight('When', 14) +
45
+ padRight('Msgs', 8) +
46
+ padRight('Tokens', 10) +
43
47
  'Topic'));
44
48
  for (const session of sessions) {
45
- const agentColor = AGENT_COLORS[session.agent] || chalk.white;
49
+ const agentColor = colorAgent(session.agent);
46
50
  const when = formatRelativeTime(session.timestamp);
47
51
  const project = session.project || '-';
48
52
  const account = session.account || '';
@@ -55,6 +59,8 @@ async function listAction(options) {
55
59
  agentColor(padRight(truncate(agentLabel, 16), 18)) +
56
60
  chalk.cyan(padRight(truncate(project, 14), 16)) +
57
61
  chalk.gray(padRight(when, 14)) +
62
+ chalk.gray(padRight(formatCompactMetric(session.messageCount), 8)) +
63
+ chalk.gray(padRight(formatCompactMetric(session.tokenCount), 10)) +
58
64
  chalk.white(truncate(topic, 40)));
59
65
  }
60
66
  console.log(chalk.gray(`\n${sessions.length} session${sessions.length === 1 ? '' : 's'}. Use 'agents sessions view <id>' to read.`));
@@ -81,7 +87,7 @@ async function renderSession(session, mode) {
81
87
  return;
82
88
  }
83
89
  // Session header
84
- const agentColor = AGENT_COLORS[session.agent] || chalk.white;
90
+ const agentColor = colorAgent(session.agent);
85
91
  console.log('');
86
92
  console.log(agentColor(session.agent) +
87
93
  (session.version ? chalk.yellow(` ${session.version}`) : '') +
@@ -110,7 +116,7 @@ async function renderSession(session, mode) {
110
116
  process.stdout.write(output);
111
117
  }
112
118
  function formatPickerLabel(s) {
113
- const agentColor = AGENT_COLORS[s.agent] || chalk.white;
119
+ const agentColor = colorAgent(s.agent);
114
120
  const when = formatRelativeTime(s.timestamp);
115
121
  const project = s.project || '-';
116
122
  const account = s.account || '';
@@ -121,16 +127,34 @@ function formatPickerLabel(s) {
121
127
  agentColor(padRight(truncate(agentLabel, 16), 18)) +
122
128
  chalk.cyan(padRight(truncate(project, 14), 16)) +
123
129
  chalk.gray(padRight(when, 14)) +
130
+ chalk.gray(padRight(formatCompactMetric(s.messageCount), 8)) +
131
+ chalk.gray(padRight(formatCompactMetric(s.tokenCount), 10)) +
124
132
  chalk.white(truncate(topic, 30)));
125
133
  }
126
- async function pickSession(sessions) {
134
+ async function pickSession(sessions, message = 'Search sessions:') {
127
135
  try {
128
- return await select({
129
- message: 'Select a session:',
130
- choices: sessions.map(s => ({
131
- name: formatPickerLabel(s),
132
- value: s,
133
- })),
136
+ return await search({
137
+ message,
138
+ pageSize: 12,
139
+ source: async (input) => {
140
+ const matches = filterSessionsByQuery(sessions, input).slice(0, 30);
141
+ if (matches.length === 0) {
142
+ return [{
143
+ name: input?.trim()
144
+ ? `No sessions found for "${input.trim()}"`
145
+ : 'No sessions found',
146
+ value: null,
147
+ disabled: 'Keep typing',
148
+ }];
149
+ }
150
+ return matches.map(s => ({
151
+ name: formatPickerLabel(s),
152
+ value: s,
153
+ description: formatSearchDescription(s),
154
+ short: s.shortId,
155
+ }));
156
+ },
157
+ validate: (value) => value ? true : 'No matching sessions.',
134
158
  });
135
159
  }
136
160
  catch (err) {
@@ -139,6 +163,85 @@ async function pickSession(sessions) {
139
163
  throw err;
140
164
  }
141
165
  }
166
+ function parseAgentFilter(agentName) {
167
+ const agent = agentName;
168
+ if (agent && !SESSION_AGENTS.includes(agent)) {
169
+ console.error(chalk.red(`Unknown agent: ${agent}. Use: ${SESSION_AGENTS.join(', ')}`));
170
+ process.exit(1);
171
+ }
172
+ return agent;
173
+ }
174
+ function shouldUseFilteredSessionSearch(options) {
175
+ return isInteractiveTerminal() && Boolean(options.agent || options.project);
176
+ }
177
+ function formatSearchMessage(options) {
178
+ const filters = [];
179
+ if (options.agent)
180
+ filters.push(`agent: ${options.agent}`);
181
+ if (options.project?.trim())
182
+ filters.push(`project: ${options.project.trim()}`);
183
+ if (filters.length === 0)
184
+ return 'Search sessions:';
185
+ return `Search sessions (${filters.join(', ')}):`;
186
+ }
187
+ function formatSearchDescription(session) {
188
+ return [session.id, session.cwd].filter(Boolean).join(' ');
189
+ }
190
+ function filterSessionsByQuery(sessions, query) {
191
+ const trimmed = query?.trim().toLowerCase() || '';
192
+ if (!trimmed)
193
+ return sessions;
194
+ const terms = trimmed.split(/\s+/).filter(Boolean);
195
+ return sessions
196
+ .map(session => ({ session, score: scoreSessionQuery(session, terms) }))
197
+ .filter(entry => entry.score > 0)
198
+ .sort((a, b) => {
199
+ if (b.score !== a.score)
200
+ return b.score - a.score;
201
+ return new Date(b.session.timestamp).getTime() - new Date(a.session.timestamp).getTime();
202
+ })
203
+ .map(entry => entry.session);
204
+ }
205
+ function scoreSessionQuery(session, terms) {
206
+ let score = 0;
207
+ for (const term of terms) {
208
+ const exactId = session.id.toLowerCase() === term || session.shortId.toLowerCase() === term;
209
+ const prefixId = session.id.toLowerCase().startsWith(term) || session.shortId.toLowerCase().startsWith(term);
210
+ const topic = session.topic?.toLowerCase() || '';
211
+ const project = session.project?.toLowerCase() || '';
212
+ const account = session.account?.toLowerCase() || '';
213
+ const cwd = session.cwd?.toLowerCase() || '';
214
+ const agent = session.agent.toLowerCase();
215
+ const version = session.version?.toLowerCase() || '';
216
+ let termScore = 0;
217
+ if (exactId)
218
+ termScore = 1000;
219
+ else if (prefixId)
220
+ termScore = 900;
221
+ else if (topic.startsWith(term))
222
+ termScore = 700;
223
+ else if (project.startsWith(term))
224
+ termScore = 600;
225
+ else if (account.startsWith(term))
226
+ termScore = 550;
227
+ else if (agent.startsWith(term) || version.startsWith(term))
228
+ termScore = 500;
229
+ else if (topic.includes(term))
230
+ termScore = 400;
231
+ else if (project.includes(term))
232
+ termScore = 300;
233
+ else if (account.includes(term))
234
+ termScore = 250;
235
+ else if (cwd.includes(term))
236
+ termScore = 200;
237
+ else if (version.includes(term) || agent.includes(term))
238
+ termScore = 150;
239
+ else
240
+ return 0;
241
+ score += termScore;
242
+ }
243
+ return score;
244
+ }
142
245
  async function viewAction(idQuery, options) {
143
246
  // Default to summary, opt into full transcript
144
247
  let mode = 'summary';
@@ -148,44 +251,84 @@ async function viewAction(idQuery, options) {
148
251
  mode = 'trace';
149
252
  else if (options.json)
150
253
  mode = 'json';
254
+ const agent = parseAgentFilter(options.agent);
151
255
  const spinner = ora('Finding session...').start();
152
256
  try {
153
- const allSessions = await discoverSessions({ limit: 500 });
257
+ const allSessions = await discoverSessions({
258
+ agent,
259
+ all: Boolean(idQuery) || options.all,
260
+ cwd: process.cwd(),
261
+ project: options.project,
262
+ limit: 5000,
263
+ });
154
264
  let session;
155
265
  if (!idQuery) {
156
266
  // No ID provided -- show interactive picker
157
267
  spinner.stop();
158
268
  if (allSessions.length === 0) {
159
- console.log(chalk.gray('No sessions found.'));
269
+ console.log(chalk.gray(formatNoSessionsMessage(options.all, true)));
160
270
  return;
161
271
  }
162
- // Show at most 30 in the picker
163
- const picked = await pickSession(allSessions.slice(0, 30));
272
+ if (!isInteractiveTerminal()) {
273
+ requireInteractiveSelection('Selecting a session to view', [
274
+ 'agents sessions list',
275
+ 'agents sessions view <id>',
276
+ ]);
277
+ }
278
+ const picked = await pickSession(allSessions, formatSearchMessage(options));
164
279
  if (!picked)
165
280
  return;
166
281
  session = picked;
167
282
  }
168
283
  else {
169
- // Resolve by ID
170
284
  const matches = resolveSessionById(allSessions, idQuery);
171
- if (matches.length === 0) {
285
+ const queryMatches = matches.length > 0 ? matches : filterSessionsByQuery(allSessions, idQuery);
286
+ if (queryMatches.length === 0) {
172
287
  spinner.stop();
173
- console.error(chalk.red(`No session found matching: ${idQuery}`));
174
- console.error(chalk.gray('Run "agents sessions" to list available sessions.'));
175
- process.exit(1);
288
+ const historyEntry = findClaudeHistoryEntry(idQuery);
289
+ if (historyEntry) {
290
+ const resumeMatch = resolveClaudeHistoryEntryToTranscript(historyEntry, allSessions);
291
+ if (resumeMatch) {
292
+ session = resumeMatch.session;
293
+ console.log(chalk.gray(`Resolved Claude history entry ${idQuery} to transcript ${resumeMatch.session.id}.`));
294
+ }
295
+ else {
296
+ renderClaudeHistoryOnlyId(idQuery, historyEntry, allSessions);
297
+ process.exit(1);
298
+ }
299
+ }
300
+ else {
301
+ console.error(chalk.red(`No session found matching: ${idQuery}`));
302
+ console.error(chalk.gray('Run "agents sessions" to list available sessions.'));
303
+ process.exit(1);
304
+ }
176
305
  }
177
- if (matches.length > 1) {
306
+ if (queryMatches.length === 0) {
307
+ // session already resolved from history fallback
308
+ }
309
+ else if (queryMatches.length > 1) {
178
310
  spinner.stop();
311
+ if (!isInteractiveTerminal()) {
312
+ console.error(chalk.red(`Multiple sessions match: ${idQuery}`));
313
+ console.error(chalk.gray('Pass a longer ID/query or one of these exact IDs:'));
314
+ for (const match of queryMatches.slice(0, 10)) {
315
+ console.error(chalk.cyan(` ${match.id}`));
316
+ }
317
+ process.exit(1);
318
+ }
179
319
  // Multiple matches -- let the user pick
180
- const picked = await pickSession(matches);
320
+ const picked = await pickSession(queryMatches, formatSearchMessage(options));
181
321
  if (!picked)
182
322
  return;
183
323
  session = picked;
184
324
  }
185
325
  else {
186
- session = matches[0];
326
+ session = queryMatches[0];
187
327
  }
188
328
  }
329
+ if (!session) {
330
+ throw new Error('Session resolution failed');
331
+ }
189
332
  spinner.stop();
190
333
  await renderSession(session, mode);
191
334
  }
@@ -200,31 +343,201 @@ async function viewAction(idQuery, options) {
200
343
  export function registerSessionsCommands(program) {
201
344
  const sessionsCmd = program
202
345
  .command('sessions')
203
- .description('List and view agent sessions')
346
+ .description('List and view agent sessions for the current directory by default')
204
347
  .option('--agent <agent>', 'Filter by agent (claude, codex, gemini)')
205
- .option('--project <name>', 'Filter by project name')
348
+ .option('--all', 'Show sessions from every directory')
349
+ .option('--project <name>', 'Filter by project name across all directories')
206
350
  .option('-n, --limit <n>', 'Max sessions to show', '20')
207
351
  .action(async (options) => {
208
352
  await listAction(options);
209
353
  });
210
354
  sessionsCmd
211
355
  .command('list')
212
- .description('List sessions across agents')
356
+ .description('List sessions for the current directory by default')
213
357
  .option('--agent <agent>', 'Filter by agent (claude, codex, gemini)')
214
- .option('--project <name>', 'Filter by project name')
358
+ .option('--all', 'Show sessions from every directory')
359
+ .option('--project <name>', 'Filter by project name across all directories')
215
360
  .option('-n, --limit <n>', 'Max sessions to show', '20')
216
361
  .action(async (options) => {
217
362
  await listAction(options);
218
363
  });
219
364
  sessionsCmd
220
365
  .command('view [id]')
221
- .description('View a session (interactive picker if no ID given)')
366
+ .description('View a session by ID or search query (picker defaults to live search)')
367
+ .option('--agent <agent>', 'Filter by agent (claude, codex, gemini)')
368
+ .option('--all', 'Show sessions from every directory')
369
+ .option('--project <name>', 'Filter by project name across all directories')
222
370
  .option('--transcript', 'Show full conversation transcript')
223
371
  .option('--trace', 'Show reasoning trace as markdown')
224
372
  .option('--json', 'Output normalized events as JSON')
225
- .action(async (id, options) => {
226
- await viewAction(id, options);
373
+ .action(async (id, options, command) => {
374
+ const parentOptions = typeof command?.parent?.opts === 'function'
375
+ ? command.parent.opts()
376
+ : {};
377
+ await viewAction(id, { ...parentOptions, ...options });
378
+ });
379
+ }
380
+ function formatNoSessionsMessage(showAll, picker = false, project) {
381
+ const projectQuery = project?.trim();
382
+ if (projectQuery) {
383
+ return `No sessions found for project "${projectQuery}".`;
384
+ }
385
+ if (showAll)
386
+ return 'No sessions found.';
387
+ const command = picker ? 'agents sessions view --all' : 'agents sessions --all';
388
+ return `No sessions found for ${process.cwd()}. Run "${command}" to see sessions from every directory.`;
389
+ }
390
+ function findClaudeHistoryEntry(idQuery) {
391
+ const historyPath = path.join(os.homedir(), '.claude', 'history.jsonl');
392
+ if (!fs.existsSync(historyPath))
393
+ return null;
394
+ try {
395
+ const lines = fs.readFileSync(historyPath, 'utf-8').split('\n');
396
+ for (let i = lines.length - 1; i >= 0; i--) {
397
+ const line = lines[i].trim();
398
+ if (!line)
399
+ continue;
400
+ let parsed;
401
+ try {
402
+ parsed = JSON.parse(line);
403
+ }
404
+ catch {
405
+ continue;
406
+ }
407
+ if (parsed.sessionId !== idQuery)
408
+ continue;
409
+ const timestampMs = typeof parsed.timestamp === 'number'
410
+ ? parsed.timestamp
411
+ : typeof parsed.timestamp === 'string'
412
+ ? Date.parse(parsed.timestamp)
413
+ : undefined;
414
+ return {
415
+ sessionId: parsed.sessionId,
416
+ display: typeof parsed.display === 'string' ? parsed.display : undefined,
417
+ project: typeof parsed.project === 'string' ? parsed.project : undefined,
418
+ timestampMs: Number.isFinite(timestampMs) ? timestampMs : undefined,
419
+ historyPath,
420
+ };
421
+ }
422
+ }
423
+ catch {
424
+ return null;
425
+ }
426
+ return null;
427
+ }
428
+ function renderClaudeHistoryOnlyId(idQuery, historyEntry, allSessions) {
429
+ console.error(chalk.red(`No transcript session found matching: ${idQuery}`));
430
+ console.error(chalk.yellow('This ID exists in Claude history, but not as a saved transcript session.'));
431
+ console.error(chalk.gray(`History file: ${historyEntry.historyPath}`));
432
+ if (historyEntry.display) {
433
+ console.error(chalk.gray(`History entry: ${historyEntry.display}`));
434
+ }
435
+ if (historyEntry.project) {
436
+ console.error(chalk.gray(`Project root: ${historyEntry.project}`));
437
+ }
438
+ if (historyEntry.timestampMs) {
439
+ console.error(chalk.gray(`History time: ${new Date(historyEntry.timestampMs).toISOString()}`));
440
+ }
441
+ const relatedSessions = findClaudeSessionsInProject(allSessions, historyEntry);
442
+ if (relatedSessions.length > 0) {
443
+ console.error(chalk.gray('Claude transcript sessions in the same project tree:'));
444
+ for (const session of relatedSessions) {
445
+ console.error(chalk.gray(` ${session.shortId} ${session.id} ${session.project || '-'} ${formatRelativeTime(session.timestamp)}`));
446
+ }
447
+ console.error(chalk.gray('Use one of the transcript IDs above with "agents sessions view <id>".'));
448
+ return;
449
+ }
450
+ if (historyEntry.display === '/resume') {
451
+ console.error(chalk.gray('This looks like a Claude /resume history entry. In this case, the resumed conversation continued under a different transcript session ID.'));
452
+ }
453
+ const projectHint = historyEntry.project ? path.basename(historyEntry.project) : 'the project';
454
+ console.error(chalk.gray(`Try "agents sessions --agent claude --project ${projectHint}" to find the resumed transcript session.`));
455
+ }
456
+ function findClaudeSessionsInProject(sessions, historyEntry) {
457
+ return findClaudeProjectSessions(sessions, historyEntry)
458
+ .sort((a, b) => sessionDistance(a, historyEntry) - sessionDistance(b, historyEntry))
459
+ .slice(0, 3);
460
+ }
461
+ function findClaudeProjectSessions(sessions, historyEntry) {
462
+ if (!historyEntry.project)
463
+ return [];
464
+ const projectRoot = historyEntry.project;
465
+ return sessions.filter(session => session.agent === 'claude' &&
466
+ typeof session.cwd === 'string' &&
467
+ isWithinProject(session.cwd, projectRoot));
468
+ }
469
+ function resolveClaudeHistoryEntryToTranscript(historyEntry, sessions) {
470
+ if (historyEntry.display !== '/resume')
471
+ return null;
472
+ const candidates = findClaudeProjectSessions(sessions, historyEntry);
473
+ const matches = [];
474
+ for (const session of candidates) {
475
+ const resumeTimestampMs = findClaudeResumeTimestamp(session.filePath, historyEntry.timestampMs);
476
+ if (resumeTimestampMs === null)
477
+ continue;
478
+ const deltaMs = historyEntry.timestampMs === undefined
479
+ ? 0
480
+ : Math.abs(resumeTimestampMs - historyEntry.timestampMs);
481
+ if (historyEntry.timestampMs !== undefined && deltaMs > CLAUDE_RESUME_MATCH_WINDOW_MS) {
482
+ continue;
483
+ }
484
+ matches.push({ session, resumeTimestampMs, deltaMs });
485
+ }
486
+ if (matches.length === 0)
487
+ return null;
488
+ matches.sort((a, b) => {
489
+ if (a.deltaMs !== b.deltaMs)
490
+ return a.deltaMs - b.deltaMs;
491
+ return b.resumeTimestampMs - a.resumeTimestampMs;
227
492
  });
493
+ const [best, second] = matches;
494
+ if (second && best.deltaMs === second.deltaMs && best.resumeTimestampMs === second.resumeTimestampMs) {
495
+ return null;
496
+ }
497
+ return best;
498
+ }
499
+ function findClaudeResumeTimestamp(filePath, targetTimestampMs) {
500
+ try {
501
+ const lines = fs.readFileSync(filePath, 'utf-8').split('\n');
502
+ let bestTimestampMs = null;
503
+ for (const line of lines) {
504
+ if (!line.includes('SessionStart:resume'))
505
+ continue;
506
+ let parsed;
507
+ try {
508
+ parsed = JSON.parse(line);
509
+ }
510
+ catch {
511
+ continue;
512
+ }
513
+ if (parsed.attachment?.hookName !== 'SessionStart:resume')
514
+ continue;
515
+ const timestampMs = Date.parse(parsed.timestamp || '');
516
+ if (Number.isNaN(timestampMs))
517
+ continue;
518
+ if (targetTimestampMs === undefined) {
519
+ return timestampMs;
520
+ }
521
+ if (bestTimestampMs === null || Math.abs(timestampMs - targetTimestampMs) < Math.abs(bestTimestampMs - targetTimestampMs)) {
522
+ bestTimestampMs = timestampMs;
523
+ }
524
+ }
525
+ return bestTimestampMs;
526
+ }
527
+ catch {
528
+ return null;
529
+ }
530
+ }
531
+ function isWithinProject(sessionCwd, projectRoot) {
532
+ return sessionCwd === projectRoot || sessionCwd.startsWith(projectRoot + path.sep);
533
+ }
534
+ function sessionDistance(session, historyEntry) {
535
+ if (!historyEntry.timestampMs)
536
+ return Number.MAX_SAFE_INTEGER;
537
+ const sessionTime = new Date(session.timestamp).getTime();
538
+ if (Number.isNaN(sessionTime))
539
+ return Number.MAX_SAFE_INTEGER;
540
+ return Math.abs(sessionTime - historyEntry.timestampMs);
228
541
  }
229
542
  // ---------------------------------------------------------------------------
230
543
  // Formatting helpers
@@ -235,6 +548,18 @@ function padRight(s, width) {
235
548
  function truncate(s, max) {
236
549
  return s.length > max ? s.slice(0, max - 1) + '.' : s;
237
550
  }
551
+ function formatCompactMetric(value) {
552
+ if (value === undefined)
553
+ return '-';
554
+ if (value < 1000)
555
+ return String(value);
556
+ if (value < 1_000_000) {
557
+ const compact = value / 1000;
558
+ return compact >= 100 ? `${Math.round(compact)}k` : `${compact.toFixed(1).replace(/\.0$/, '')}k`;
559
+ }
560
+ const compact = value / 1_000_000;
561
+ return compact >= 100 ? `${Math.round(compact)}m` : `${compact.toFixed(1).replace(/\.0$/, '')}m`;
562
+ }
238
563
  function formatRelativeTime(isoTimestamp) {
239
564
  const now = Date.now();
240
565
  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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sessions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.test.d.ts","sourceRoot":"","sources":["../../src/commands/sessions.test.ts"],"names":[],"mappings":""}