@getpaseo/cli 0.1.2

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 (170) hide show
  1. package/bin/paseo +2 -0
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +150 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/agent/archive.d.ts +17 -0
  7. package/dist/commands/agent/archive.d.ts.map +1 -0
  8. package/dist/commands/agent/archive.js +91 -0
  9. package/dist/commands/agent/archive.js.map +1 -0
  10. package/dist/commands/agent/attach.d.ts +10 -0
  11. package/dist/commands/agent/attach.d.ts.map +1 -0
  12. package/dist/commands/agent/attach.js +166 -0
  13. package/dist/commands/agent/attach.js.map +1 -0
  14. package/dist/commands/agent/index.d.ts +3 -0
  15. package/dist/commands/agent/index.d.ts.map +1 -0
  16. package/dist/commands/agent/index.js +112 -0
  17. package/dist/commands/agent/index.js.map +1 -0
  18. package/dist/commands/agent/inspect.d.ts +14 -0
  19. package/dist/commands/agent/inspect.d.ts.map +1 -0
  20. package/dist/commands/agent/inspect.js +185 -0
  21. package/dist/commands/agent/inspect.js.map +1 -0
  22. package/dist/commands/agent/logs.d.ts +11 -0
  23. package/dist/commands/agent/logs.d.ts.map +1 -0
  24. package/dist/commands/agent/logs.js +207 -0
  25. package/dist/commands/agent/logs.js.map +1 -0
  26. package/dist/commands/agent/ls.d.ts +34 -0
  27. package/dist/commands/agent/ls.d.ts.map +1 -0
  28. package/dist/commands/agent/ls.js +153 -0
  29. package/dist/commands/agent/ls.js.map +1 -0
  30. package/dist/commands/agent/mode.d.ts +18 -0
  31. package/dist/commands/agent/mode.d.ts.map +1 -0
  32. package/dist/commands/agent/mode.js +97 -0
  33. package/dist/commands/agent/mode.js.map +1 -0
  34. package/dist/commands/agent/run.d.ts +27 -0
  35. package/dist/commands/agent/run.d.ts.map +1 -0
  36. package/dist/commands/agent/run.js +146 -0
  37. package/dist/commands/agent/run.js.map +1 -0
  38. package/dist/commands/agent/send.d.ts +16 -0
  39. package/dist/commands/agent/send.d.ts.map +1 -0
  40. package/dist/commands/agent/send.js +172 -0
  41. package/dist/commands/agent/send.js.map +1 -0
  42. package/dist/commands/agent/stop.d.ts +16 -0
  43. package/dist/commands/agent/stop.d.ts.map +1 -0
  44. package/dist/commands/agent/stop.js +104 -0
  45. package/dist/commands/agent/stop.js.map +1 -0
  46. package/dist/commands/agent/wait.d.ts +16 -0
  47. package/dist/commands/agent/wait.d.ts.map +1 -0
  48. package/dist/commands/agent/wait.js +171 -0
  49. package/dist/commands/agent/wait.js.map +1 -0
  50. package/dist/commands/daemon/index.d.ts +3 -0
  51. package/dist/commands/daemon/index.d.ts.map +1 -0
  52. package/dist/commands/daemon/index.js +41 -0
  53. package/dist/commands/daemon/index.js.map +1 -0
  54. package/dist/commands/daemon/local-daemon.d.ts +51 -0
  55. package/dist/commands/daemon/local-daemon.d.ts.map +1 -0
  56. package/dist/commands/daemon/local-daemon.js +298 -0
  57. package/dist/commands/daemon/local-daemon.js.map +1 -0
  58. package/dist/commands/daemon/pair.d.ts +8 -0
  59. package/dist/commands/daemon/pair.d.ts.map +1 -0
  60. package/dist/commands/daemon/pair.js +34 -0
  61. package/dist/commands/daemon/pair.js.map +1 -0
  62. package/dist/commands/daemon/restart.d.ts +12 -0
  63. package/dist/commands/daemon/restart.d.ts.map +1 -0
  64. package/dist/commands/daemon/restart.js +97 -0
  65. package/dist/commands/daemon/restart.js.map +1 -0
  66. package/dist/commands/daemon/start.d.ts +6 -0
  67. package/dist/commands/daemon/start.d.ts.map +1 -0
  68. package/dist/commands/daemon/start.js +121 -0
  69. package/dist/commands/daemon/start.js.map +1 -0
  70. package/dist/commands/daemon/status.d.ts +10 -0
  71. package/dist/commands/daemon/status.d.ts.map +1 -0
  72. package/dist/commands/daemon/status.js +119 -0
  73. package/dist/commands/daemon/status.js.map +1 -0
  74. package/dist/commands/daemon/stop.d.ts +12 -0
  75. package/dist/commands/daemon/stop.d.ts.map +1 -0
  76. package/dist/commands/daemon/stop.js +56 -0
  77. package/dist/commands/daemon/stop.js.map +1 -0
  78. package/dist/commands/permit/allow.d.ts +20 -0
  79. package/dist/commands/permit/allow.d.ts.map +1 -0
  80. package/dist/commands/permit/allow.js +133 -0
  81. package/dist/commands/permit/allow.js.map +1 -0
  82. package/dist/commands/permit/deny.d.ts +12 -0
  83. package/dist/commands/permit/deny.d.ts.map +1 -0
  84. package/dist/commands/permit/deny.js +105 -0
  85. package/dist/commands/permit/deny.js.map +1 -0
  86. package/dist/commands/permit/index.d.ts +3 -0
  87. package/dist/commands/permit/index.d.ts.map +1 -0
  88. package/dist/commands/permit/index.js +37 -0
  89. package/dist/commands/permit/index.js.map +1 -0
  90. package/dist/commands/permit/ls.d.ts +18 -0
  91. package/dist/commands/permit/ls.d.ts.map +1 -0
  92. package/dist/commands/permit/ls.js +65 -0
  93. package/dist/commands/permit/ls.js.map +1 -0
  94. package/dist/commands/provider/index.d.ts +3 -0
  95. package/dist/commands/provider/index.d.ts.map +1 -0
  96. package/dist/commands/provider/index.js +22 -0
  97. package/dist/commands/provider/index.js.map +1 -0
  98. package/dist/commands/provider/ls.d.ts +17 -0
  99. package/dist/commands/provider/ls.d.ts.map +1 -0
  100. package/dist/commands/provider/ls.js +51 -0
  101. package/dist/commands/provider/ls.js.map +1 -0
  102. package/dist/commands/provider/models.d.ts +16 -0
  103. package/dist/commands/provider/models.d.ts.map +1 -0
  104. package/dist/commands/provider/models.js +45 -0
  105. package/dist/commands/provider/models.js.map +1 -0
  106. package/dist/commands/speech/download.d.ts +14 -0
  107. package/dist/commands/speech/download.d.ts.map +1 -0
  108. package/dist/commands/speech/download.js +46 -0
  109. package/dist/commands/speech/download.js.map +1 -0
  110. package/dist/commands/speech/index.d.ts +3 -0
  111. package/dist/commands/speech/index.d.ts.map +1 -0
  112. package/dist/commands/speech/index.js +25 -0
  113. package/dist/commands/speech/index.js.map +1 -0
  114. package/dist/commands/speech/models.d.ts +16 -0
  115. package/dist/commands/speech/models.d.ts.map +1 -0
  116. package/dist/commands/speech/models.js +49 -0
  117. package/dist/commands/speech/models.js.map +1 -0
  118. package/dist/commands/worktree/archive.d.ts +16 -0
  119. package/dist/commands/worktree/archive.d.ts.map +1 -0
  120. package/dist/commands/worktree/archive.js +98 -0
  121. package/dist/commands/worktree/archive.js.map +1 -0
  122. package/dist/commands/worktree/index.d.ts +3 -0
  123. package/dist/commands/worktree/index.d.ts.map +1 -0
  124. package/dist/commands/worktree/index.js +22 -0
  125. package/dist/commands/worktree/index.js.map +1 -0
  126. package/dist/commands/worktree/ls.d.ts +17 -0
  127. package/dist/commands/worktree/ls.d.ts.map +1 -0
  128. package/dist/commands/worktree/ls.js +89 -0
  129. package/dist/commands/worktree/ls.js.map +1 -0
  130. package/dist/index.d.ts +2 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +7 -0
  133. package/dist/index.js.map +1 -0
  134. package/dist/output/index.d.ts +45 -0
  135. package/dist/output/index.d.ts.map +1 -0
  136. package/dist/output/index.js +47 -0
  137. package/dist/output/index.js.map +1 -0
  138. package/dist/output/json.d.ts +11 -0
  139. package/dist/output/json.d.ts.map +1 -0
  140. package/dist/output/json.js +37 -0
  141. package/dist/output/json.js.map +1 -0
  142. package/dist/output/quiet.d.ts +9 -0
  143. package/dist/output/quiet.d.ts.map +1 -0
  144. package/dist/output/quiet.js +22 -0
  145. package/dist/output/quiet.js.map +1 -0
  146. package/dist/output/render.d.ts +15 -0
  147. package/dist/output/render.d.ts.map +1 -0
  148. package/dist/output/render.js +80 -0
  149. package/dist/output/render.js.map +1 -0
  150. package/dist/output/table.d.ts +13 -0
  151. package/dist/output/table.d.ts.map +1 -0
  152. package/dist/output/table.js +135 -0
  153. package/dist/output/table.js.map +1 -0
  154. package/dist/output/types.d.ts +71 -0
  155. package/dist/output/types.d.ts.map +1 -0
  156. package/dist/output/types.js +8 -0
  157. package/dist/output/types.js.map +1 -0
  158. package/dist/output/with-output.d.ts +37 -0
  159. package/dist/output/with-output.d.ts.map +1 -0
  160. package/dist/output/with-output.js +78 -0
  161. package/dist/output/with-output.js.map +1 -0
  162. package/dist/output/yaml.d.ts +11 -0
  163. package/dist/output/yaml.d.ts.map +1 -0
  164. package/dist/output/yaml.js +38 -0
  165. package/dist/output/yaml.js.map +1 -0
  166. package/dist/utils/client.d.ts +35 -0
  167. package/dist/utils/client.d.ts.map +1 -0
  168. package/dist/utils/client.js +110 -0
  169. package/dist/utils/client.js.map +1 -0
  170. package/package.json +39 -0
package/bin/paseo ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import '../dist/index.js'
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createCli(): Command;
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA2BnC,wBAAgB,SAAS,IAAI,OAAO,CAkJnC"}
package/dist/cli.js ADDED
@@ -0,0 +1,150 @@
1
+ import { Command } from 'commander';
2
+ import { createAgentCommand } from './commands/agent/index.js';
3
+ import { createDaemonCommand } from './commands/daemon/index.js';
4
+ import { createPermitCommand } from './commands/permit/index.js';
5
+ import { createProviderCommand } from './commands/provider/index.js';
6
+ import { createSpeechCommand } from './commands/speech/index.js';
7
+ import { createWorktreeCommand } from './commands/worktree/index.js';
8
+ import { startCommand as daemonStartCommand } from './commands/daemon/start.js';
9
+ import { runStatusCommand as runDaemonStatusCommand } from './commands/daemon/status.js';
10
+ import { runRestartCommand as runDaemonRestartCommand } from './commands/daemon/restart.js';
11
+ import { runLsCommand } from './commands/agent/ls.js';
12
+ import { runRunCommand } from './commands/agent/run.js';
13
+ import { runLogsCommand } from './commands/agent/logs.js';
14
+ import { runStopCommand } from './commands/agent/stop.js';
15
+ import { runSendCommand } from './commands/agent/send.js';
16
+ import { runInspectCommand } from './commands/agent/inspect.js';
17
+ import { runWaitCommand } from './commands/agent/wait.js';
18
+ import { runAttachCommand } from './commands/agent/attach.js';
19
+ import { withOutput } from './output/index.js';
20
+ const VERSION = '0.1.0';
21
+ // Helper function to collect multiple option values into an array
22
+ function collectMultiple(value, previous) {
23
+ return previous.concat([value]);
24
+ }
25
+ export function createCli() {
26
+ const program = new Command();
27
+ program
28
+ .name('paseo')
29
+ .description('Paseo CLI - control your AI coding agents from the command line')
30
+ .version(VERSION, '-v, --version', 'output the version number')
31
+ // Global output options
32
+ .option('-o, --format <format>', 'output format: table, json, yaml', 'table')
33
+ .option('--json', 'output in JSON format (alias for --format json)')
34
+ .option('-q, --quiet', 'minimal output (IDs only)')
35
+ .option('--no-headers', 'omit table headers')
36
+ .option('--no-color', 'disable colored output');
37
+ // Primary agent commands (top-level)
38
+ program
39
+ .command('ls')
40
+ .description('List agents. By default excludes archived agents.')
41
+ .option('-a, --all', 'Include archived agents')
42
+ .option('-g, --global', 'Legacy no-op (kept for compatibility)')
43
+ .option('--label <key=value>', 'Filter by label (can be used multiple times)', collectMultiple, [])
44
+ .option('--json', 'Output in JSON format')
45
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
46
+ .action(withOutput(runLsCommand));
47
+ program
48
+ .command('run')
49
+ .description('Create and start an agent with a task')
50
+ .argument('<prompt>', 'The task/prompt for the agent')
51
+ .option('-d, --detach', 'Run in background (detached)')
52
+ .option('--name <name>', 'Assign a name/title to the agent')
53
+ .option('--provider <provider>', 'Agent provider: claude | codex | opencode', 'claude')
54
+ .option('--model <model>', 'Model to use (e.g., claude-sonnet-4-20250514, claude-3-5-haiku-20241022)')
55
+ .option('--mode <mode>', 'Provider-specific mode (e.g., plan, default, bypass)')
56
+ .option('--worktree <name>', 'Create agent in a new git worktree')
57
+ .option('--base <branch>', 'Base branch for worktree (default: current branch)')
58
+ .option('--image <path>', 'Attach image(s) to the initial prompt (can be used multiple times)', collectMultiple, [])
59
+ .option('--cwd <path>', 'Working directory (default: current)')
60
+ .option('--label <key=value>', 'Add label(s) to the agent (can be used multiple times)', collectMultiple, [])
61
+ .option('--ui', 'Mark as UI agent (equivalent to --label ui=true)')
62
+ .option('--json', 'Output in JSON format')
63
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
64
+ .action(withOutput(runRunCommand));
65
+ program
66
+ .command('attach')
67
+ .description("Attach to a running agent's output stream")
68
+ .argument('<id>', 'Agent ID (or prefix)')
69
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
70
+ .action(runAttachCommand);
71
+ program
72
+ .command('logs')
73
+ .description('View agent activity/timeline')
74
+ .argument('<id>', 'Agent ID (or prefix)')
75
+ .option('-f, --follow', 'Follow log output (streaming)')
76
+ .option('--tail <n>', 'Show last n entries')
77
+ .option('--filter <type>', 'Filter by event type (tools, text, errors, permissions)')
78
+ .option('--since <time>', 'Show logs since timestamp')
79
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
80
+ .action(runLogsCommand);
81
+ program
82
+ .command('stop')
83
+ .description('Stop an agent (cancel if running, then terminate)')
84
+ .argument('[id]', 'Agent ID (or prefix) - optional if --all or --cwd specified')
85
+ .option('--all', 'Stop all agents')
86
+ .option('--cwd <path>', 'Stop all agents in directory')
87
+ .option('--json', 'Output in JSON format')
88
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
89
+ .action(withOutput(runStopCommand));
90
+ program
91
+ .command('send')
92
+ .description('Send a message/task to an existing agent')
93
+ .argument('<id>', 'Agent ID (or prefix)')
94
+ .argument('<prompt>', 'The message to send')
95
+ .option('--no-wait', 'Return immediately without waiting for completion')
96
+ .option('--image <path>', 'Attach image(s) to the message', collectMultiple, [])
97
+ .option('--json', 'Output in JSON format')
98
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
99
+ .action(withOutput(runSendCommand));
100
+ program
101
+ .command('inspect')
102
+ .description('Show detailed information about an agent')
103
+ .argument('<id>', 'Agent ID (or prefix)')
104
+ .option('--json', 'Output in JSON format')
105
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
106
+ .action(withOutput(runInspectCommand));
107
+ program
108
+ .command('wait')
109
+ .description('Wait for an agent to become idle')
110
+ .argument('<id>', 'Agent ID (or prefix)')
111
+ .option('--timeout <seconds>', 'Maximum wait time (default: 600)')
112
+ .option('--json', 'Output in JSON format')
113
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
114
+ .action(withOutput(runWaitCommand));
115
+ // Top-level local daemon shortcuts
116
+ program.addCommand(daemonStartCommand());
117
+ program
118
+ .command('status')
119
+ .description('Show local daemon status (alias for "paseo daemon status")')
120
+ .option('--json', 'Output in JSON format')
121
+ .option('--home <path>', 'Paseo home directory (default: ~/.paseo)')
122
+ .action(withOutput(runDaemonStatusCommand));
123
+ program
124
+ .command('restart')
125
+ .description('Restart local daemon (alias for "paseo daemon restart")')
126
+ .option('--json', 'Output in JSON format')
127
+ .option('--home <path>', 'Paseo home directory (default: ~/.paseo)')
128
+ .option('--timeout <seconds>', 'Wait timeout before force step (default: 15)')
129
+ .option('--force', 'Send SIGKILL if graceful stop times out')
130
+ .option('--listen <listen>', 'Listen target for restarted daemon (host:port, port, or unix socket)')
131
+ .option('--port <port>', 'Port for restarted daemon listen target')
132
+ .option('--no-relay', 'Disable relay on restarted daemon')
133
+ .option('--no-mcp', 'Disable Agent MCP on restarted daemon')
134
+ .option('--allowed-hosts <hosts>', 'Comma-separated Host allowlist values (example: "localhost,.example.com" or "true")')
135
+ .action(withOutput(runDaemonRestartCommand));
136
+ // Advanced agent commands (less common operations)
137
+ program.addCommand(createAgentCommand());
138
+ // Daemon commands
139
+ program.addCommand(createDaemonCommand());
140
+ // Permission commands
141
+ program.addCommand(createPermitCommand());
142
+ // Provider commands
143
+ program.addCommand(createProviderCommand());
144
+ // Speech model commands
145
+ program.addCommand(createSpeechCommand());
146
+ // Worktree commands
147
+ program.addCommand(createWorktreeCommand());
148
+ return program;
149
+ }
150
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { Command } from 'commander';
2
+ import type { CommandOptions, SingleResult, OutputSchema } from '../../output/index.js';
3
+ /** Result type for agent archive command */
4
+ export interface AgentArchiveResult {
5
+ agentId: string;
6
+ status: 'archived';
7
+ archivedAt: string;
8
+ }
9
+ /** Schema for archive command output */
10
+ export declare const archiveSchema: OutputSchema<AgentArchiveResult>;
11
+ export interface AgentArchiveOptions extends CommandOptions {
12
+ force?: boolean;
13
+ host?: string;
14
+ }
15
+ export type AgentArchiveCommandResult = SingleResult<AgentArchiveResult>;
16
+ export declare function runArchiveCommand(agentIdArg: string, options: AgentArchiveOptions, _command: Command): Promise<AgentArchiveCommandResult>;
17
+ //# sourceMappingURL=archive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/archive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAgB,MAAM,uBAAuB,CAAA;AAErG,4CAA4C;AAC5C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wCAAwC;AACxC,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,kBAAkB,CAO1D,CAAA;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAExE,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,yBAAyB,CAAC,CAuFpC"}
@@ -0,0 +1,91 @@
1
+ import { connectToDaemon, getDaemonHost } from '../../utils/client.js';
2
+ /** Schema for archive command output */
3
+ export const archiveSchema = {
4
+ idField: 'agentId',
5
+ columns: [
6
+ { header: 'AGENT ID', field: 'agentId' },
7
+ { header: 'STATUS', field: 'status' },
8
+ { header: 'ARCHIVED AT', field: 'archivedAt' },
9
+ ],
10
+ };
11
+ export async function runArchiveCommand(agentIdArg, options, _command) {
12
+ const host = getDaemonHost({ host: options.host });
13
+ // Validate arguments
14
+ if (!agentIdArg || agentIdArg.trim().length === 0) {
15
+ const error = {
16
+ code: 'MISSING_AGENT_ID',
17
+ message: 'Agent ID is required',
18
+ details: 'Usage: paseo agent archive <id>',
19
+ };
20
+ throw error;
21
+ }
22
+ let client;
23
+ try {
24
+ client = await connectToDaemon({ host: options.host });
25
+ }
26
+ catch (err) {
27
+ const message = err instanceof Error ? err.message : String(err);
28
+ const error = {
29
+ code: 'DAEMON_NOT_RUNNING',
30
+ message: `Cannot connect to daemon at ${host}: ${message}`,
31
+ details: 'Start the daemon with: paseo daemon start',
32
+ };
33
+ throw error;
34
+ }
35
+ try {
36
+ const agent = await client.fetchAgent(agentIdArg);
37
+ if (!agent) {
38
+ const error = {
39
+ code: 'AGENT_NOT_FOUND',
40
+ message: `Agent not found: ${agentIdArg}`,
41
+ details: 'Use "paseo ls" to list available agents',
42
+ };
43
+ throw error;
44
+ }
45
+ const agentId = agent.id;
46
+ // Check if agent is already archived
47
+ if (agent.archivedAt) {
48
+ const error = {
49
+ code: 'AGENT_ALREADY_ARCHIVED',
50
+ message: `Agent ${agentId.slice(0, 7)} is already archived`,
51
+ details: `Archived at: ${agent.archivedAt}`,
52
+ };
53
+ throw error;
54
+ }
55
+ // Check if agent is running and reject unless --force is set
56
+ if (agent.status === 'running' && !options.force) {
57
+ const error = {
58
+ code: 'AGENT_RUNNING',
59
+ message: `Agent ${agentId.slice(0, 7)} is currently running`,
60
+ details: 'Use --force to archive a running agent, or stop it first with: paseo agent stop',
61
+ };
62
+ throw error;
63
+ }
64
+ // Archive the agent
65
+ const result = await client.archiveAgent(agentId);
66
+ await client.close();
67
+ return {
68
+ type: 'single',
69
+ data: {
70
+ agentId,
71
+ status: 'archived',
72
+ archivedAt: result.archivedAt,
73
+ },
74
+ schema: archiveSchema,
75
+ };
76
+ }
77
+ catch (err) {
78
+ await client.close().catch(() => { });
79
+ // Re-throw CommandError as-is
80
+ if (err && typeof err === 'object' && 'code' in err) {
81
+ throw err;
82
+ }
83
+ const message = err instanceof Error ? err.message : String(err);
84
+ const error = {
85
+ code: 'ARCHIVE_FAILED',
86
+ message: `Failed to archive agent: ${message}`,
87
+ };
88
+ throw error;
89
+ }
90
+ }
91
+ //# sourceMappingURL=archive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/commands/agent/archive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAUtE,wCAAwC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAqC;IAC7D,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE;QACP,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE;QACxC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QACrC,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;KAC/C;CACF,CAAA;AASD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,OAA4B,EAC5B,QAAiB;IAEjB,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAA0B,EAAE,CAAC,CAAA;IAExE,qBAAqB;IACrB,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,iCAAiC;SAC3C,CAAA;QACD,MAAM,KAAK,CAAA;IACb,CAAC;IAED,IAAI,MAAM,CAAA;IACV,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAA0B,EAAE,CAAC,CAAA;IAC9E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChE,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,+BAA+B,IAAI,KAAK,OAAO,EAAE;YAC1D,OAAO,EAAE,2CAA2C;SACrD,CAAA;QACD,MAAM,KAAK,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,KAAK,GAAiB;gBAC1B,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,oBAAoB,UAAU,EAAE;gBACzC,OAAO,EAAE,yCAAyC;aACnD,CAAA;YACD,MAAM,KAAK,CAAA;QACb,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAA;QAExB,qCAAqC;QACrC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,KAAK,GAAiB;gBAC1B,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,SAAS,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,sBAAsB;gBAC3D,OAAO,EAAE,gBAAgB,KAAK,CAAC,UAAU,EAAE;aAC5C,CAAA;YACD,MAAM,KAAK,CAAA;QACb,CAAC;QAED,6DAA6D;QAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACjD,MAAM,KAAK,GAAiB;gBAC1B,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,SAAS,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,uBAAuB;gBAC5D,OAAO,EAAE,iFAAiF;aAC3F,CAAA;YACD,MAAM,KAAK,CAAA;QACb,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAEjD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QAEpB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE;gBACJ,OAAO;gBACP,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B;YACD,MAAM,EAAE,aAAa;SACtB,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAEpC,8BAA8B;QAC9B,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YACpD,MAAM,GAAG,CAAA;QACX,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChE,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,4BAA4B,OAAO,EAAE;SAC/C,CAAA;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Command } from 'commander';
2
+ export interface AgentAttachOptions {
3
+ host?: string;
4
+ [key: string]: unknown;
5
+ }
6
+ /**
7
+ * Attach to a running agent's output stream
8
+ */
9
+ export declare function runAttachCommand(id: string, options: AgentAttachOptions, _command: Command): Promise<void>;
10
+ //# sourceMappingURL=attach.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/attach.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUxC,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAgFD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAwGf"}
@@ -0,0 +1,166 @@
1
+ import { connectToDaemon, getDaemonHost } from '../../utils/client.js';
2
+ /**
3
+ * Format and print a timeline item to the terminal
4
+ */
5
+ function printTimelineItem(item) {
6
+ switch (item.type) {
7
+ case 'assistant_message':
8
+ // Print assistant text directly
9
+ process.stdout.write(item.text);
10
+ break;
11
+ case 'reasoning':
12
+ // Print reasoning in a muted color if available
13
+ console.log(`\n[Reasoning] ${item.text}`);
14
+ break;
15
+ case 'tool_call': {
16
+ const toolName = item.name;
17
+ const status = item.status ?? 'started';
18
+ console.log(`\n[Tool: ${toolName}] ${status}`);
19
+ break;
20
+ }
21
+ case 'todo': {
22
+ const completed = item.items.filter((i) => i.completed).length;
23
+ const total = item.items.length;
24
+ console.log(`\n[Todo] ${completed}/${total} completed`);
25
+ break;
26
+ }
27
+ case 'error':
28
+ console.error(`\n[Error] ${item.message}`);
29
+ break;
30
+ case 'user_message':
31
+ console.log(`\n[User] ${item.text}`);
32
+ break;
33
+ default:
34
+ // Unknown item type, skip
35
+ break;
36
+ }
37
+ }
38
+ /**
39
+ * Format and print a stream event to the terminal
40
+ */
41
+ function printStreamEvent(event) {
42
+ switch (event.type) {
43
+ case 'timeline':
44
+ // Print the timeline item
45
+ printTimelineItem(event.item);
46
+ break;
47
+ case 'permission_requested':
48
+ console.log(`\n[Permission Required] ${event.request.name}`);
49
+ if (event.request.description) {
50
+ console.log(` ${event.request.description}`);
51
+ }
52
+ break;
53
+ case 'permission_resolved':
54
+ console.log(`\n[Permission ${event.resolution.behavior}]`);
55
+ break;
56
+ case 'turn_failed':
57
+ console.error(`\n[Turn Failed] ${event.error}`);
58
+ break;
59
+ case 'attention_required':
60
+ console.log(`\n[Attention Required: ${event.reason}]`);
61
+ break;
62
+ default:
63
+ // Other event types are internal
64
+ break;
65
+ }
66
+ }
67
+ /**
68
+ * Attach to a running agent's output stream
69
+ */
70
+ export async function runAttachCommand(id, options, _command) {
71
+ const host = getDaemonHost({ host: options.host });
72
+ if (!id) {
73
+ console.error('Error: Agent ID required');
74
+ console.error('Usage: paseo attach <id>');
75
+ process.exit(1);
76
+ }
77
+ let client;
78
+ try {
79
+ client = await connectToDaemon({ host: options.host });
80
+ }
81
+ catch (err) {
82
+ const message = err instanceof Error ? err.message : String(err);
83
+ console.error(`Error: Cannot connect to daemon at ${host}: ${message}`);
84
+ console.error('Start the daemon with: paseo daemon start');
85
+ process.exit(1);
86
+ }
87
+ try {
88
+ const agent = await client.fetchAgent(id);
89
+ if (!agent) {
90
+ console.error(`Error: No agent found matching: ${id}`);
91
+ console.error('Use `paseo ls` to list available agents');
92
+ await client.close();
93
+ process.exit(1);
94
+ }
95
+ const resolvedId = agent.id;
96
+ // Print header
97
+ console.log(`Attaching to agent ${resolvedId.substring(0, 7)}...`);
98
+ console.log(`(Press Ctrl+C to detach)\n`);
99
+ // Get existing output from snapshot
100
+ const snapshotPromise = new Promise((resolve) => {
101
+ const timeout = setTimeout(() => resolve(), 5000);
102
+ const unsubscribe = client.on('agent_stream_snapshot', (msg) => {
103
+ const message = msg;
104
+ if (message.type !== 'agent_stream_snapshot')
105
+ return;
106
+ if (message.payload.agentId !== resolvedId)
107
+ return;
108
+ clearTimeout(timeout);
109
+ unsubscribe();
110
+ // Print recent events from snapshot
111
+ for (const e of message.payload.events) {
112
+ printStreamEvent(e.event);
113
+ }
114
+ resolve();
115
+ });
116
+ });
117
+ // Initialize agent to trigger snapshot
118
+ try {
119
+ await client.initializeAgent(resolvedId);
120
+ }
121
+ catch {
122
+ // Agent might already be initialized, continue
123
+ }
124
+ // Wait for snapshot
125
+ await snapshotPromise;
126
+ // Subscribe to new events
127
+ const unsubscribe = client.on('agent_stream', (msg) => {
128
+ const message = msg;
129
+ if (message.type !== 'agent_stream')
130
+ return;
131
+ if (message.payload.agentId !== resolvedId)
132
+ return;
133
+ printStreamEvent(message.payload.event);
134
+ });
135
+ // Handle Ctrl+C to detach gracefully
136
+ let detached = false;
137
+ const detach = () => {
138
+ if (detached)
139
+ return;
140
+ detached = true;
141
+ console.log('\n\nDetaching from agent...');
142
+ unsubscribe();
143
+ client
144
+ .close()
145
+ .then(() => {
146
+ process.exit(0);
147
+ })
148
+ .catch(() => {
149
+ process.exit(1);
150
+ });
151
+ };
152
+ process.on('SIGINT', detach);
153
+ process.on('SIGTERM', detach);
154
+ // Keep the process alive
155
+ await new Promise(() => {
156
+ // Wait indefinitely until interrupted
157
+ });
158
+ }
159
+ catch (err) {
160
+ await client.close().catch(() => { });
161
+ const message = err instanceof Error ? err.message : String(err);
162
+ console.error(`Error: Failed to attach to agent: ${message}`);
163
+ process.exit(1);
164
+ }
165
+ }
166
+ //# sourceMappingURL=attach.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach.js","sourceRoot":"","sources":["../../../src/commands/agent/attach.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createAgentCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAanC,wBAAgB,kBAAkB,IAAI,OAAO,CA8G5C"}
@@ -0,0 +1,112 @@
1
+ import { Command } from 'commander';
2
+ import { runModeCommand } from './mode.js';
3
+ import { runArchiveCommand } from './archive.js';
4
+ import { runLsCommand } from './ls.js';
5
+ import { runRunCommand } from './run.js';
6
+ import { runLogsCommand } from './logs.js';
7
+ import { runStopCommand } from './stop.js';
8
+ import { runSendCommand } from './send.js';
9
+ import { runInspectCommand } from './inspect.js';
10
+ import { runWaitCommand } from './wait.js';
11
+ import { runAttachCommand } from './attach.js';
12
+ import { withOutput } from '../../output/index.js';
13
+ export function createAgentCommand() {
14
+ const agent = new Command('agent').description('Manage agents (advanced operations)');
15
+ // Helper function to collect multiple option values into an array
16
+ const collectMultiple = (value, previous) => {
17
+ return previous.concat([value]);
18
+ };
19
+ // Primary agent commands (same as top-level)
20
+ agent
21
+ .command('ls')
22
+ .description('List agents. By default excludes archived agents.')
23
+ .option('-a, --all', 'Include archived agents')
24
+ .option('-g, --global', 'Legacy no-op (kept for compatibility)')
25
+ .option('--label <key=value>', 'Filter by label (can be used multiple times)', collectMultiple, [])
26
+ .option('--json', 'Output in JSON format')
27
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
28
+ .action(withOutput(runLsCommand));
29
+ agent
30
+ .command('run')
31
+ .description('Create and start an agent with a task')
32
+ .argument('<prompt>', 'The task/prompt for the agent')
33
+ .option('-d, --detach', 'Run in background (detached)')
34
+ .option('--name <name>', 'Assign a name/title to the agent')
35
+ .option('--provider <provider>', 'Agent provider: claude | codex | opencode', 'claude')
36
+ .option('--model <model>', 'Model to use (e.g., claude-sonnet-4-20250514, claude-3-5-haiku-20241022)')
37
+ .option('--mode <mode>', 'Provider-specific mode (e.g., plan, default, bypass)')
38
+ .option('--cwd <path>', 'Working directory (default: current)')
39
+ .option('--label <key=value>', 'Add label(s) to the agent (can be used multiple times)', collectMultiple, [])
40
+ .option('--ui', 'Mark as UI agent (equivalent to --label ui=true)')
41
+ .option('--json', 'Output in JSON format')
42
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
43
+ .action(withOutput(runRunCommand));
44
+ agent
45
+ .command('attach')
46
+ .description("Attach to a running agent's output stream")
47
+ .argument('<id>', 'Agent ID (or prefix)')
48
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
49
+ .action(runAttachCommand);
50
+ agent
51
+ .command('logs')
52
+ .description('View agent activity/timeline')
53
+ .argument('<id>', 'Agent ID (or prefix)')
54
+ .option('-f, --follow', 'Follow log output (streaming)')
55
+ .option('--tail <n>', 'Show last n entries')
56
+ .option('--filter <type>', 'Filter by event type (tools, text, errors, permissions)')
57
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
58
+ .action(runLogsCommand);
59
+ agent
60
+ .command('stop')
61
+ .description('Stop an agent (cancel if running, then terminate)')
62
+ .argument('[id]', 'Agent ID (or prefix) - optional if --all or --cwd specified')
63
+ .option('--all', 'Stop all agents')
64
+ .option('--cwd <path>', 'Stop all agents in directory')
65
+ .option('--json', 'Output in JSON format')
66
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
67
+ .action(withOutput(runStopCommand));
68
+ agent
69
+ .command('send')
70
+ .description('Send a message/task to an existing agent')
71
+ .argument('<id>', 'Agent ID (or prefix)')
72
+ .argument('<prompt>', 'The message to send')
73
+ .option('--no-wait', 'Return immediately without waiting for completion')
74
+ .option('--json', 'Output in JSON format')
75
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
76
+ .action(withOutput(runSendCommand));
77
+ agent
78
+ .command('inspect')
79
+ .description('Show detailed information about an agent')
80
+ .argument('<id>', 'Agent ID (or prefix)')
81
+ .option('--json', 'Output in JSON format')
82
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
83
+ .action(withOutput(runInspectCommand));
84
+ agent
85
+ .command('wait')
86
+ .description('Wait for an agent to become idle')
87
+ .argument('<id>', 'Agent ID (or prefix)')
88
+ .option('--timeout <seconds>', 'Maximum wait time (default: 600)')
89
+ .option('--json', 'Output in JSON format')
90
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
91
+ .action(withOutput(runWaitCommand));
92
+ // Advanced agent commands (less common operations)
93
+ agent
94
+ .command('mode')
95
+ .description("Change an agent's operational mode")
96
+ .argument('<id>', 'Agent ID (or prefix)')
97
+ .argument('[mode]', 'Mode to set (required unless --list)')
98
+ .option('--list', 'List available modes for this agent')
99
+ .option('--json', 'Output in JSON format')
100
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
101
+ .action(withOutput(runModeCommand));
102
+ agent
103
+ .command('archive')
104
+ .description('Archive an agent (soft-delete)')
105
+ .argument('<id>', 'Agent ID (or prefix)')
106
+ .option('--force', 'Force archive running agent')
107
+ .option('--json', 'Output in JSON format')
108
+ .option('--host <host>', 'Daemon host:port (default: localhost:6767)')
109
+ .action(withOutput(runArchiveCommand));
110
+ return agent;
111
+ }
112
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Command } from 'commander';
2
+ import type { CommandOptions, ListResult } from '../../output/index.js';
3
+ /** Key-value row for table display */
4
+ interface InspectRow {
5
+ key: string;
6
+ value: string;
7
+ }
8
+ export type AgentInspectResult = ListResult<InspectRow>;
9
+ export interface AgentInspectOptions extends CommandOptions {
10
+ host?: string;
11
+ }
12
+ export declare function runInspectCommand(agentIdArg: string, options: AgentInspectOptions, _command: Command): Promise<AgentInspectResult>;
13
+ export {};
14
+ //# sourceMappingURL=inspect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAA8B,MAAM,uBAAuB,CAAA;AAqCnG,sCAAsC;AACtC,UAAU,UAAU;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd;AA0ID,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;AAEvD,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC,CA6D7B"}