@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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.11.1
4
+
5
+ **Session search and version labeling**
6
+
7
+ - `agents sessions view` now opens a live-search picker by default in interactive terminals
8
+ - `agents sessions --agent ...` and `agents sessions --project ...` now open the same live-search picker before falling back to the table view
9
+ - `agents sessions view <query>` now resolves prompt text, not just exact session IDs
10
+ - Fixed `--project` search so it scans across directories instead of intersecting with the current working directory
11
+ - Session topics now skip injected scaffolding and use the first human prompt
12
+ - Codex session rows now show the real CLI build from `cli_version` (for example `codex@0.113.0`)
13
+ - Gemini, OpenCode, and OpenClaw session rows now resolve and display agent versions consistently in the shared `Agent` column
14
+ - Claude usage lookup now falls back across scoped and legacy Keychain services when loading OAuth credentials
15
+
16
+ ## 1.11.0
17
+
18
+ **PTY -- interactive terminal sessions for AI agents**
19
+
20
+ - New `agents pty` command suite for persistent, interactive PTY sessions
21
+ - Sidecar server architecture -- lightweight daemon on `~/.agents/pty.sock`, auto-starts on first use
22
+ - `agents pty start` -- spawn a session with configurable rows, cols, shell, and working directory
23
+ - `agents pty exec <id> <command>` -- submit commands (non-blocking, sentinel-based completion detection)
24
+ - `agents pty screen <id>` -- render the terminal as clean text (no ANSI codes), powered by xterm-headless
25
+ - `agents pty write <id> <input>` -- send keystrokes with escape sequence support (`\n`, `\t`, `\e`, `\xHH`)
26
+ - `agents pty read <id>` -- read raw PTY output with configurable timeout
27
+ - `agents pty signal <id> [INT|TERM|KILL]` -- send signals to the PTY process
28
+ - `agents pty list` -- show active sessions with status, PID, age, and active command
29
+ - `agents pty server start|stop|status` -- manage the sidecar server directly
30
+ - Session idle cleanup (30 min) and server auto-exit (1 hour with no sessions)
31
+ - `--json` output on all commands for scripting
32
+ - Auto-fixes node-pty spawn-helper permissions on startup (bun install workaround)
33
+
3
34
  ## 1.10.0
4
35
 
5
36
  **Drive -- sync agent sessions across machines**
package/README.md CHANGED
@@ -22,6 +22,18 @@ agents exec gemini "Write tests for the fixed code"
22
22
 
23
23
  Each agent resolves to the project-pinned version, with the right skills, MCP servers, and permissions already synced. No setup between steps -- just run.
24
24
 
25
+ `agents exec` also passes through environment overrides to the spawned CLI, so Claude can target any Anthropic-compatible endpoint:
26
+
27
+ ```bash
28
+ agents exec claude "Reply with exactly: agents-qwen route ok" \
29
+ --mode full \
30
+ --model qwen3.6:35b \
31
+ --env ANTHROPIC_BASE_URL=https://ollama.427yosemite.com \
32
+ --env ANTHROPIC_AUTH_TOKEN="$(security find-generic-password -a "$USER" -s yosemite-ollama-auth-token -w)" \
33
+ --env ANTHROPIC_MODEL=qwen3.6:35b \
34
+ --env ANTHROPIC_SMALL_FAST_MODEL=qwen3.6:35b
35
+ ```
36
+
25
37
  This makes agent pipelines possible. Chain agents by strength, swap one for another, script them in CI -- the interface stays the same:
26
38
 
27
39
  ```bash
@@ -46,8 +58,11 @@ Other coding agents usually run in non-TTY shells. `agents` now supports that mo
46
58
  ```bash
47
59
  agents add codex@latest --yes
48
60
  agents use claude@2.1.79 --yes
49
- agents commands add --names review-pr,debug --agents codex
50
- agents skills add --names agents-cli --agents claude
61
+ agents commands add --names review-pr,debug --agents codex@0.113.0
62
+ agents skills add --names agents-cli --agents claude@default
63
+ agents install ./team-agent-pack --agents codex@0.113.0
64
+ agents mcp add postgres --agents claude@2.1.79 -- npx -y @modelcontextprotocol/server-postgres
65
+ agents mcp register postgres
51
66
  agents sessions view <session-id>
52
67
  agents routines view <job-name>
53
68
  ```
@@ -57,12 +72,38 @@ Rules for automation:
57
72
  - Pass explicit names or IDs instead of relying on pickers.
58
73
  - Use `--yes` when a command would otherwise ask for default sync or confirmation choices.
59
74
  - Use `--names` with `commands`, `skills`, `hooks`, `rules`, and `permissions` to install from central storage without a checkbox prompt.
75
+ - Use `agent@version` or `agent@default` with `--agents` when you need an exact managed version.
60
76
  - Long `view` commands print directly in non-interactive shells instead of opening `less`.
61
77
 
62
78
  If a command still needs a human-only picker, it now exits with a plain-text hint that shows the matching non-interactive form.
63
79
 
64
80
  ---
65
81
 
82
+ ## Search sessions fast
83
+
84
+ Interactive terminals now get a live-search picker for sessions:
85
+
86
+ ```bash
87
+ agents sessions view
88
+ agents sessions --agent codex
89
+ agents sessions --project agents-cli
90
+ agents sessions view --agent gemini "session discovery"
91
+ ```
92
+
93
+ What you can type into the picker:
94
+
95
+ - Session ID or short ID
96
+ - Prompt text / topic text
97
+ - Project name
98
+ - Account email
99
+ - Agent name or version
100
+
101
+ The shared `Agent` column also shows the resolved agent version when it is known, so filtered lists read like `claude@2.1.110`, `codex@0.113.0`, `gemini@0.29.5`, and `opencode@1.2.6`.
102
+
103
+ Use `agents sessions view <id>` in non-interactive shells when you already know the session you want.
104
+
105
+ ---
106
+
66
107
  ## Pin agent versions per project
67
108
 
68
109
  ```bash
@@ -136,6 +177,22 @@ agents fork # Fork the default repo to your GitHub
136
177
  agents pull --upstream # Merge updates from upstream
137
178
  ```
138
179
 
180
+ ### Interactive PTY sessions
181
+
182
+ Give your agents the ability to interact with full-screen terminal programs -- REPLs, TUIs, interactive installers, anything that needs a real terminal.
183
+
184
+ ```bash
185
+ SID=$(agents pty start) # Start a session
186
+ agents pty exec $SID "python3" # Launch Python REPL
187
+ agents pty screen $SID # See what's on screen
188
+ agents pty write $SID "print('hello')\n" # Type into it
189
+ agents pty screen $SID # See the result
190
+ agents pty write $SID "exit()\n" # Quit
191
+ agents pty stop $SID # Clean up
192
+ ```
193
+
194
+ A sidecar server holds PTY sessions alive between CLI calls. `screen` renders the terminal as clean text (no ANSI codes) using xterm-headless -- so agents see exactly what a human would see. Sessions auto-clean after 30 minutes of idle.
195
+
139
196
  ### Schedule agents as routines
140
197
 
141
198
  ```bash
@@ -224,9 +281,23 @@ agents drive status # Show drive state
224
281
 
225
282
  # Execution
226
283
  agents exec <agent> <prompt> # Run agent
284
+ agents sessions view <id> # Read a session by exact ID
285
+ agents sessions --agent codex # Interactive filtered session search
286
+ agents sessions --project agents # Interactive project-scoped session search
227
287
  agents routines add <name> # Schedule a job
228
288
  agents routines list # Show all jobs
229
289
  agents daemon start # Start scheduler
290
+
291
+ # PTY sessions
292
+ agents pty start # Start a PTY session (returns ID)
293
+ agents pty exec <id> <command> # Run a command in the session
294
+ agents pty screen <id> # Render terminal as clean text
295
+ agents pty write <id> <input> # Send keystrokes (\n \t \e \xHH)
296
+ agents pty read <id> # Read raw output
297
+ agents pty signal <id> INT # Send signal
298
+ agents pty list # Show active sessions
299
+ agents pty stop <id> # Kill a session
300
+ agents pty server status # Check sidecar server
230
301
  ```
231
302
 
232
303
  ---
@@ -2,6 +2,7 @@ import { describe, it, expect } from 'vitest';
2
2
  import * as fs from 'fs';
3
3
  import * as os from 'os';
4
4
  import * as path from 'path';
5
+ import * as crypto from 'crypto';
5
6
  import { spawnSync } from 'child_process';
6
7
  const repoRoot = process.cwd();
7
8
  const cliEntry = path.join(repoRoot, 'src', 'index.ts');
@@ -25,6 +26,117 @@ function writeClaudeSession(tempHome, projectKey, sessionId, cwd, content, times
25
26
  message: { role: 'user', content },
26
27
  }) + '\n', 'utf-8');
27
28
  }
29
+ function writeCodexSession(tempHome, sessionId, cwd, prompt, timestamp) {
30
+ fs.mkdirSync(cwd, { recursive: true });
31
+ const sessionsDir = path.join(tempHome, '.codex', 'sessions', '2026', '04', '17');
32
+ fs.mkdirSync(sessionsDir, { recursive: true });
33
+ const filePath = path.join(sessionsDir, `rollout-${timestamp.replace(/[:.]/g, '-')}-${sessionId}.jsonl`);
34
+ const lines = [
35
+ JSON.stringify({
36
+ timestamp,
37
+ type: 'session_meta',
38
+ payload: {
39
+ id: sessionId,
40
+ timestamp,
41
+ cwd,
42
+ originator: 'codex_cli_rs',
43
+ cli_version: '0.113.0',
44
+ source: 'cli',
45
+ },
46
+ }),
47
+ JSON.stringify({
48
+ timestamp,
49
+ type: 'response_item',
50
+ payload: {
51
+ type: 'message',
52
+ role: 'developer',
53
+ content: [{ type: 'input_text', text: '<permissions instructions>\nFilesystem sandboxing.\n</permissions instructions>' }],
54
+ },
55
+ }),
56
+ JSON.stringify({
57
+ timestamp,
58
+ type: 'response_item',
59
+ payload: {
60
+ type: 'message',
61
+ role: 'user',
62
+ content: [{ type: 'input_text', text: '<environment_context>\n <cwd>/tmp/project</cwd>\n <shell>zsh</shell>\n</environment_context>' }],
63
+ },
64
+ }),
65
+ JSON.stringify({
66
+ timestamp,
67
+ type: 'response_item',
68
+ payload: {
69
+ type: 'message',
70
+ role: 'user',
71
+ content: [{ type: 'input_text', text: '<collaboration_mode># Collaboration Mode: Default\n</collaboration_mode>' }],
72
+ },
73
+ }),
74
+ JSON.stringify({
75
+ timestamp,
76
+ type: 'response_item',
77
+ payload: {
78
+ type: 'message',
79
+ role: 'user',
80
+ content: [{ type: 'input_text', text: '# AGENTS.md instructions for /tmp/project\n\n<INSTRUCTIONS>\nDo work.\n</INSTRUCTIONS>' }],
81
+ },
82
+ }),
83
+ JSON.stringify({
84
+ timestamp,
85
+ type: 'response_item',
86
+ payload: {
87
+ type: 'message',
88
+ role: 'user',
89
+ content: [{ type: 'input_text', text: prompt }],
90
+ },
91
+ }),
92
+ JSON.stringify({
93
+ timestamp,
94
+ type: 'response_item',
95
+ payload: {
96
+ type: 'message',
97
+ role: 'assistant',
98
+ content: [{ type: 'output_text', text: 'Looking into it now.' }],
99
+ },
100
+ }),
101
+ ];
102
+ fs.writeFileSync(filePath, lines.join('\n') + '\n', 'utf-8');
103
+ }
104
+ function writeGeminiSession(tempHome, sessionId, cwd, prompt, timestamp, version = '0.29.5') {
105
+ const versionHome = path.join(tempHome, '.agents', 'versions', 'gemini', version, 'home');
106
+ const geminiHome = path.join(versionHome, '.gemini');
107
+ const projectHash = crypto.createHash('sha256').update(cwd).digest('hex');
108
+ const chatsDir = path.join(geminiHome, 'tmp', projectHash, 'chats');
109
+ fs.mkdirSync(cwd, { recursive: true });
110
+ fs.mkdirSync(chatsDir, { recursive: true });
111
+ fs.mkdirSync(path.dirname(path.join(tempHome, '.gemini')), { recursive: true });
112
+ const activeGeminiHome = path.join(tempHome, '.gemini');
113
+ if (!fs.existsSync(activeGeminiHome)) {
114
+ fs.symlinkSync(geminiHome, activeGeminiHome);
115
+ }
116
+ fs.writeFileSync(path.join(geminiHome, 'projects.json'), JSON.stringify({ projects: [cwd] }), 'utf-8');
117
+ fs.writeFileSync(path.join(chatsDir, `session-${timestamp.replace(/[:.]/g, '-')}-${sessionId.slice(0, 8)}.json`), JSON.stringify({
118
+ sessionId,
119
+ projectHash,
120
+ startTime: timestamp,
121
+ lastUpdated: timestamp,
122
+ messages: [
123
+ {
124
+ id: `${sessionId}-user`,
125
+ timestamp,
126
+ type: 'user',
127
+ content: [{ text: prompt }],
128
+ },
129
+ {
130
+ id: `${sessionId}-assistant`,
131
+ timestamp,
132
+ type: 'gemini',
133
+ content: 'Investigating now.',
134
+ model: 'gemini-3-flash-preview',
135
+ tokens: { total: 1234 },
136
+ },
137
+ ],
138
+ }, null, 2), 'utf-8');
139
+ }
28
140
  function runAgents(args, cwd, home) {
29
141
  return spawnSync(tsxBin, [cliEntry, ...args], {
30
142
  cwd,
@@ -61,6 +173,173 @@ describe('agents sessions', () => {
61
173
  fs.rmSync(tempHome, { recursive: true, force: true });
62
174
  }
63
175
  });
176
+ it('shows message and token counts while skipping Claude local-command preambles in the topic', () => {
177
+ const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-stats-'));
178
+ try {
179
+ writeUpdateCache(tempHome);
180
+ const repoDir = path.join(tempHome, 'work', 'agents-cli');
181
+ const projectKey = 'agents-cli-test';
182
+ const sessionId = '77777777-7777-4777-8777-777777777777';
183
+ fs.mkdirSync(repoDir, { recursive: true });
184
+ fs.mkdirSync(path.join(tempHome, '.claude', 'projects', projectKey), { recursive: true });
185
+ fs.writeFileSync(path.join(tempHome, '.claude', 'projects', projectKey, `${sessionId}.jsonl`), [
186
+ JSON.stringify({
187
+ type: 'user',
188
+ timestamp: '2026-04-17T19:00:00.000Z',
189
+ cwd: repoDir,
190
+ sessionId,
191
+ version: '2.1.110',
192
+ gitBranch: 'main',
193
+ isMeta: true,
194
+ message: {
195
+ role: 'user',
196
+ content: '<local-command-caveat>Caveat: The messages below were generated by the user while running local commands.</local-command-caveat>',
197
+ },
198
+ }),
199
+ JSON.stringify({
200
+ type: 'user',
201
+ timestamp: '2026-04-17T19:00:01.000Z',
202
+ cwd: repoDir,
203
+ sessionId,
204
+ version: '2.1.110',
205
+ gitBranch: 'main',
206
+ message: { role: 'user', content: '<bash-input>pwd</bash-input>' },
207
+ }),
208
+ JSON.stringify({
209
+ type: 'user',
210
+ timestamp: '2026-04-17T19:00:02.000Z',
211
+ cwd: repoDir,
212
+ sessionId,
213
+ version: '2.1.110',
214
+ gitBranch: 'main',
215
+ message: { role: 'user', content: 'Inspect session stats' },
216
+ }),
217
+ JSON.stringify({
218
+ type: 'assistant',
219
+ timestamp: '2026-04-17T19:00:03.000Z',
220
+ cwd: repoDir,
221
+ sessionId,
222
+ version: '2.1.110',
223
+ gitBranch: 'main',
224
+ message: {
225
+ id: 'msg-stats',
226
+ role: 'assistant',
227
+ content: [{ type: 'text', text: 'Looking now.' }],
228
+ usage: {
229
+ input_tokens: 10,
230
+ output_tokens: 5,
231
+ cache_read_input_tokens: 20,
232
+ cache_creation_input_tokens: 0,
233
+ },
234
+ },
235
+ }),
236
+ JSON.stringify({
237
+ type: 'assistant',
238
+ timestamp: '2026-04-17T19:00:04.000Z',
239
+ cwd: repoDir,
240
+ sessionId,
241
+ version: '2.1.110',
242
+ gitBranch: 'main',
243
+ message: {
244
+ id: 'msg-stats',
245
+ role: 'assistant',
246
+ content: [{ type: 'tool_use', id: 'tool-1', name: 'Read', input: { file_path: '/tmp/example' } }],
247
+ usage: {
248
+ input_tokens: 10,
249
+ output_tokens: 5,
250
+ cache_read_input_tokens: 20,
251
+ cache_creation_input_tokens: 0,
252
+ },
253
+ },
254
+ }),
255
+ ].join('\n') + '\n', 'utf-8');
256
+ const result = runAgents(['sessions'], repoDir, tempHome);
257
+ expect(result.status).toBe(0);
258
+ const output = outputOf(result);
259
+ expect(output).toContain('Msgs');
260
+ expect(output).toContain('Tokens');
261
+ const row = output.split('\n').find(line => line.includes(sessionId.slice(0, 8))) || '';
262
+ expect(row).toContain('Inspect session stats');
263
+ expect(row).not.toContain('Caveat:');
264
+ expect(row).toMatch(/\b2\s+35\s+Inspect session stats\b/);
265
+ }
266
+ finally {
267
+ fs.rmSync(tempHome, { recursive: true, force: true });
268
+ }
269
+ });
270
+ it('finds matching projects outside the current directory when --project is provided', () => {
271
+ const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-project-'));
272
+ try {
273
+ writeUpdateCache(tempHome);
274
+ const workspaceDir = path.join(tempHome, 'work');
275
+ const swarmifyDir = path.join(workspaceDir, 'swarmify');
276
+ const agentsCliDir = path.join(workspaceDir, 'agents-cli');
277
+ const swarmifySessionId = '55555555-5555-4555-8555-555555555555';
278
+ const agentsCliSessionId = '66666666-6666-4666-8666-666666666666';
279
+ fs.mkdirSync(workspaceDir, { recursive: true });
280
+ writeClaudeSession(tempHome, 'swarmify-test', swarmifySessionId, swarmifyDir, 'Inspect the swarmify session list', '2026-04-17T19:35:30.000Z');
281
+ writeClaudeSession(tempHome, 'agents-cli-test', agentsCliSessionId, agentsCliDir, 'Inspect the agents-cli session list', '2026-04-17T19:36:30.000Z');
282
+ const result = runAgents(['sessions', '--project', 'agents-cli'], workspaceDir, tempHome);
283
+ expect(result.status).toBe(0);
284
+ const output = outputOf(result);
285
+ expect(output).toContain(agentsCliSessionId.slice(0, 8));
286
+ expect(output).not.toContain(swarmifySessionId.slice(0, 8));
287
+ expect(output).not.toContain(`No sessions found for ${workspaceDir}`);
288
+ }
289
+ finally {
290
+ fs.rmSync(tempHome, { recursive: true, force: true });
291
+ }
292
+ });
293
+ it('shows the first human Codex prompt instead of injected session scaffolding', () => {
294
+ const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-codex-topic-'));
295
+ try {
296
+ writeUpdateCache(tempHome);
297
+ const projectDir = path.join(tempHome, 'work', 'agents-cli');
298
+ const sessionId = '99999999-9999-4999-8999-999999999999';
299
+ const prompt = 'Search across sessions by prompt text';
300
+ writeCodexSession(tempHome, sessionId, projectDir, prompt, '2026-04-17T19:40:30.000Z');
301
+ const result = runAgents(['sessions', '--all'], projectDir, tempHome);
302
+ expect(result.status).toBe(0);
303
+ const output = outputOf(result);
304
+ expect(output).toContain(sessionId.slice(0, 8));
305
+ expect(output).toContain(prompt);
306
+ expect(output).not.toContain('Collaboration Mode: Default');
307
+ expect(output).not.toContain('# AGENTS.md instructions');
308
+ }
309
+ finally {
310
+ fs.rmSync(tempHome, { recursive: true, force: true });
311
+ }
312
+ });
313
+ it('shows Codex CLI versions in the agent column', () => {
314
+ const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-codex-version-'));
315
+ try {
316
+ writeUpdateCache(tempHome);
317
+ const projectDir = path.join(tempHome, 'work', 'agents-cli');
318
+ writeCodexSession(tempHome, 'abababab-abab-4bab-8bab-abababababab', projectDir, 'Show codex versions in the session list', '2026-04-17T19:42:30.000Z');
319
+ const result = runAgents(['sessions', '--agent', 'codex', '--all'], projectDir, tempHome);
320
+ expect(result.status).toBe(0);
321
+ const output = outputOf(result);
322
+ expect(output).toContain('codex@0.113.0');
323
+ }
324
+ finally {
325
+ fs.rmSync(tempHome, { recursive: true, force: true });
326
+ }
327
+ });
328
+ it('shows Gemini CLI versions in the agent column when sessions come from a managed version home', () => {
329
+ const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-gemini-version-'));
330
+ try {
331
+ writeUpdateCache(tempHome);
332
+ const projectDir = path.join(tempHome, 'work', 'agents-cli');
333
+ writeGeminiSession(tempHome, 'f0f0f0f0-f0f0-4f0f-8f0f-f0f0f0f0f0f0', projectDir, 'Show gemini versions in the session list', '2026-04-17T19:43:30.000Z');
334
+ const result = runAgents(['sessions', '--agent', 'gemini', '--all'], projectDir, tempHome);
335
+ expect(result.status).toBe(0);
336
+ const output = outputOf(result);
337
+ expect(output).toContain('gemini@0.29.5');
338
+ }
339
+ finally {
340
+ fs.rmSync(tempHome, { recursive: true, force: true });
341
+ }
342
+ });
64
343
  });
65
344
  describe('agents sessions view', () => {
66
345
  it('resolves explicit IDs across directories even when the default listing is scoped to cwd', () => {
@@ -166,5 +445,59 @@ describe('agents sessions view', () => {
166
445
  fs.rmSync(tempHome, { recursive: true, force: true });
167
446
  }
168
447
  });
448
+ it('resolves text queries against session topics, not only IDs', () => {
449
+ const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-view-query-'));
450
+ try {
451
+ writeUpdateCache(tempHome);
452
+ const projectDir = path.join(tempHome, 'work', 'agents-cli');
453
+ const sessionId = 'aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa';
454
+ const prompt = 'Search across sessions by prompt text';
455
+ writeCodexSession(tempHome, sessionId, projectDir, prompt, '2026-04-17T19:41:30.000Z');
456
+ const result = runAgents(['sessions', 'view', 'prompt text', '--transcript'], projectDir, tempHome);
457
+ expect(result.status).toBe(0);
458
+ const output = outputOf(result);
459
+ expect(output).toContain(prompt);
460
+ expect(output).not.toContain('No session found matching: prompt text');
461
+ }
462
+ finally {
463
+ fs.rmSync(tempHome, { recursive: true, force: true });
464
+ }
465
+ });
466
+ it('applies --project filters before resolving search queries', () => {
467
+ const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-view-project-filter-'));
468
+ try {
469
+ writeUpdateCache(tempHome);
470
+ const workspaceDir = path.join(tempHome, 'work');
471
+ const agentsDir = path.join(workspaceDir, 'agents');
472
+ const agentsCliDir = path.join(workspaceDir, 'agents-cli');
473
+ writeCodexSession(tempHome, 'bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb', agentsDir, 'Filter scoped search target', '2026-04-17T19:42:30.000Z');
474
+ writeCodexSession(tempHome, 'cccccccc-cccc-4ccc-8ccc-cccccccccccc', agentsCliDir, 'Filter scoped search decoy', '2026-04-17T19:43:30.000Z');
475
+ const result = runAgents(['sessions', 'view', '--project', 'agents-cli', 'scoped search', '--transcript'], workspaceDir, tempHome);
476
+ expect(result.status).toBe(0);
477
+ const output = outputOf(result);
478
+ expect(output).toContain('Filter scoped search decoy');
479
+ expect(output).not.toContain('Filter scoped search target');
480
+ }
481
+ finally {
482
+ fs.rmSync(tempHome, { recursive: true, force: true });
483
+ }
484
+ });
485
+ it('applies --agent filters before resolving search queries', () => {
486
+ const tempHome = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-sessions-view-agent-filter-'));
487
+ try {
488
+ writeUpdateCache(tempHome);
489
+ const projectDir = path.join(tempHome, 'work', 'agents-cli');
490
+ writeClaudeSession(tempHome, 'agents-cli-claude', 'dddddddd-dddd-4ddd-8ddd-dddddddddddd', projectDir, 'Shared filter phrase from claude', '2026-04-17T19:44:30.000Z');
491
+ writeCodexSession(tempHome, 'eeeeeeee-eeee-4eee-8eee-eeeeeeeeeeee', projectDir, 'Shared filter phrase from codex', '2026-04-17T19:45:30.000Z');
492
+ const result = runAgents(['sessions', 'view', '--agent', 'codex', 'shared filter phrase', '--transcript'], projectDir, tempHome);
493
+ expect(result.status).toBe(0);
494
+ const output = outputOf(result);
495
+ expect(output).toContain('Shared filter phrase from codex');
496
+ expect(output).not.toContain('Shared filter phrase from claude');
497
+ }
498
+ finally {
499
+ fs.rmSync(tempHome, { recursive: true, force: true });
500
+ }
501
+ });
169
502
  });
170
503
  //# sourceMappingURL=sessions.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/sessions.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/sessions.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/commands/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4CzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoe/D"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/commands/commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8d/D"}
@@ -7,7 +7,7 @@ import { checkbox } from '@inquirer/prompts';
7
7
  import { AGENTS, ALL_AGENT_IDS, resolveAgentName, formatAgentError, agentLabel, } from '../lib/agents.js';
8
8
  import { cloneRepo } from '../lib/git.js';
9
9
  import { discoverCommands, resolveCommandSource, installCommandCentrally, uninstallCommand, listCentralCommands, listInstalledCommandsWithScope, getCommandInfo, } from '../lib/commands.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, formatPath, isInteractiveTerminal, parseCommaSeparatedList, printWithPager, requireInteractiveSelection, } from './utils.js';
13
13
  export function registerCommandsCommands(program) {
@@ -156,7 +156,7 @@ export function registerCommandsCommands(program) {
156
156
  commandsCmd
157
157
  .command('add [source]')
158
158
  .description('Install commands from a repo or local path')
159
- .option('-a, --agents <list>', 'Comma-separated agents to install to')
159
+ .option('-a, --agents <list>', 'Comma-separated agent or agent@version targets to install to')
160
160
  .option('--names <list>', 'Comma-separated command names from ~/.agents/commands/')
161
161
  .option('-y, --yes', 'Skip prompts and use defaults')
162
162
  .action(async (source, options) => {
@@ -278,15 +278,9 @@ export function registerCommandsCommands(program) {
278
278
  let selectedAgents;
279
279
  let versionSelections;
280
280
  if (options.agents) {
281
- selectedAgents = options.agents.split(',');
282
- versionSelections = new Map();
283
- for (const agentId of selectedAgents) {
284
- const versions = listInstalledVersions(agentId);
285
- if (versions.length > 0) {
286
- const defaultVer = getGlobalDefault(agentId);
287
- versionSelections.set(agentId, defaultVer ? [defaultVer] : [versions[versions.length - 1]]);
288
- }
289
- }
281
+ const result = resolveAgentVersionTargets(options.agents, ALL_AGENT_IDS);
282
+ selectedAgents = result.selectedAgents;
283
+ versionSelections = result.versionSelections;
290
284
  }
291
285
  else {
292
286
  const result = await promptAgentVersionSelection(ALL_AGENT_IDS, {