@getpaseo/cli 0.1.30 → 0.1.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +54 -110
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent/archive.d.ts +3 -3
- package/dist/commands/agent/archive.d.ts.map +1 -1
- package/dist/commands/agent/archive.js +19 -19
- package/dist/commands/agent/archive.js.map +1 -1
- package/dist/commands/agent/attach.d.ts +2 -1
- package/dist/commands/agent/attach.d.ts.map +1 -1
- package/dist/commands/agent/attach.js +29 -24
- package/dist/commands/agent/attach.js.map +1 -1
- package/dist/commands/agent/delete.d.ts +3 -2
- package/dist/commands/agent/delete.d.ts.map +1 -1
- package/dist/commands/agent/delete.js +24 -17
- package/dist/commands/agent/delete.js.map +1 -1
- package/dist/commands/agent/index.d.ts +1 -1
- package/dist/commands/agent/index.d.ts.map +1 -1
- package/dist/commands/agent/index.js +37 -89
- package/dist/commands/agent/index.js.map +1 -1
- package/dist/commands/agent/inspect.d.ts +3 -2
- package/dist/commands/agent/inspect.d.ts.map +1 -1
- package/dist/commands/agent/inspect.js +58 -53
- package/dist/commands/agent/inspect.js.map +1 -1
- package/dist/commands/agent/logs.d.ts +4 -3
- package/dist/commands/agent/logs.d.ts.map +1 -1
- package/dist/commands/agent/logs.js +34 -25
- package/dist/commands/agent/logs.js.map +1 -1
- package/dist/commands/agent/ls.d.ts +3 -2
- package/dist/commands/agent/ls.d.ts.map +1 -1
- package/dist/commands/agent/ls.js +41 -32
- package/dist/commands/agent/ls.js.map +1 -1
- package/dist/commands/agent/mode.d.ts +3 -3
- package/dist/commands/agent/mode.d.ts.map +1 -1
- package/dist/commands/agent/mode.js +20 -20
- package/dist/commands/agent/mode.js.map +1 -1
- package/dist/commands/agent/run.d.ts +7 -6
- package/dist/commands/agent/run.d.ts.map +1 -1
- package/dist/commands/agent/run.js +100 -81
- package/dist/commands/agent/run.js.map +1 -1
- package/dist/commands/agent/send.d.ts +4 -3
- package/dist/commands/agent/send.d.ts.map +1 -1
- package/dist/commands/agent/send.js +64 -55
- package/dist/commands/agent/send.js.map +1 -1
- package/dist/commands/agent/stop.d.ts +3 -2
- package/dist/commands/agent/stop.d.ts.map +1 -1
- package/dist/commands/agent/stop.js +24 -17
- package/dist/commands/agent/stop.js.map +1 -1
- package/dist/commands/agent/update.d.ts +2 -2
- package/dist/commands/agent/update.d.ts.map +1 -1
- package/dist/commands/agent/update.js +28 -28
- package/dist/commands/agent/update.js.map +1 -1
- package/dist/commands/agent/wait.d.ts +4 -3
- package/dist/commands/agent/wait.d.ts.map +1 -1
- package/dist/commands/agent/wait.js +40 -34
- package/dist/commands/agent/wait.js.map +1 -1
- package/dist/commands/daemon/index.d.ts +1 -1
- package/dist/commands/daemon/index.d.ts.map +1 -1
- package/dist/commands/daemon/index.js +24 -30
- package/dist/commands/daemon/index.js.map +1 -1
- package/dist/commands/daemon/local-daemon.d.ts +1 -1
- package/dist/commands/daemon/local-daemon.d.ts.map +1 -1
- package/dist/commands/daemon/local-daemon.js +61 -59
- package/dist/commands/daemon/local-daemon.js.map +1 -1
- package/dist/commands/daemon/pair.d.ts +1 -1
- package/dist/commands/daemon/pair.d.ts.map +1 -1
- package/dist/commands/daemon/pair.js +9 -10
- package/dist/commands/daemon/pair.js.map +1 -1
- package/dist/commands/daemon/restart.d.ts +3 -3
- package/dist/commands/daemon/restart.d.ts.map +1 -1
- package/dist/commands/daemon/restart.js +26 -26
- package/dist/commands/daemon/restart.js.map +1 -1
- package/dist/commands/daemon/runtime-toolchain.d.ts.map +1 -1
- package/dist/commands/daemon/runtime-toolchain.js +5 -5
- package/dist/commands/daemon/runtime-toolchain.js.map +1 -1
- package/dist/commands/daemon/start.d.ts +3 -3
- package/dist/commands/daemon/start.d.ts.map +1 -1
- package/dist/commands/daemon/start.js +15 -15
- package/dist/commands/daemon/start.js.map +1 -1
- package/dist/commands/daemon/status.d.ts +2 -2
- package/dist/commands/daemon/status.d.ts.map +1 -1
- package/dist/commands/daemon/status.js +64 -64
- package/dist/commands/daemon/status.js.map +1 -1
- package/dist/commands/daemon/stop.d.ts +3 -3
- package/dist/commands/daemon/stop.d.ts.map +1 -1
- package/dist/commands/daemon/stop.js +15 -15
- package/dist/commands/daemon/stop.js.map +1 -1
- package/dist/commands/onboard.d.ts +3 -3
- package/dist/commands/onboard.d.ts.map +1 -1
- package/dist/commands/onboard.js +76 -73
- package/dist/commands/onboard.js.map +1 -1
- package/dist/commands/permit/allow.d.ts +2 -2
- package/dist/commands/permit/allow.d.ts.map +1 -1
- package/dist/commands/permit/allow.js +23 -23
- package/dist/commands/permit/allow.js.map +1 -1
- package/dist/commands/permit/deny.d.ts +3 -3
- package/dist/commands/permit/deny.d.ts.map +1 -1
- package/dist/commands/permit/deny.js +16 -16
- package/dist/commands/permit/deny.js.map +1 -1
- package/dist/commands/permit/index.d.ts +1 -1
- package/dist/commands/permit/index.d.ts.map +1 -1
- package/dist/commands/permit/index.js +21 -23
- package/dist/commands/permit/index.js.map +1 -1
- package/dist/commands/permit/ls.d.ts +2 -2
- package/dist/commands/permit/ls.d.ts.map +1 -1
- package/dist/commands/permit/ls.js +11 -11
- package/dist/commands/permit/ls.js.map +1 -1
- package/dist/commands/provider/index.d.ts +1 -1
- package/dist/commands/provider/index.d.ts.map +1 -1
- package/dist/commands/provider/index.js +11 -13
- package/dist/commands/provider/index.js.map +1 -1
- package/dist/commands/provider/ls.d.ts +2 -2
- package/dist/commands/provider/ls.d.ts.map +1 -1
- package/dist/commands/provider/ls.js +23 -23
- package/dist/commands/provider/ls.js.map +1 -1
- package/dist/commands/provider/models.d.ts +2 -2
- package/dist/commands/provider/models.d.ts.map +1 -1
- package/dist/commands/provider/models.js +15 -15
- package/dist/commands/provider/models.js.map +1 -1
- package/dist/commands/speech/download.d.ts.map +1 -1
- package/dist/commands/speech/download.js.map +1 -1
- package/dist/commands/speech/index.d.ts +1 -1
- package/dist/commands/speech/index.d.ts.map +1 -1
- package/dist/commands/speech/index.js +10 -12
- package/dist/commands/speech/index.js.map +1 -1
- package/dist/commands/speech/models.d.ts.map +1 -1
- package/dist/commands/speech/models.js.map +1 -1
- package/dist/commands/worktree/archive.d.ts +3 -3
- package/dist/commands/worktree/archive.d.ts.map +1 -1
- package/dist/commands/worktree/archive.js +20 -20
- package/dist/commands/worktree/archive.js.map +1 -1
- package/dist/commands/worktree/index.d.ts +1 -1
- package/dist/commands/worktree/index.d.ts.map +1 -1
- package/dist/commands/worktree/index.js +10 -12
- package/dist/commands/worktree/index.js.map +1 -1
- package/dist/commands/worktree/ls.d.ts +2 -2
- package/dist/commands/worktree/ls.d.ts.map +1 -1
- package/dist/commands/worktree/ls.js +19 -19
- package/dist/commands/worktree/ls.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/output/index.d.ts +7 -7
- package/dist/output/index.d.ts.map +1 -1
- package/dist/output/index.js +6 -6
- package/dist/output/index.js.map +1 -1
- package/dist/output/json.d.ts +1 -1
- package/dist/output/json.d.ts.map +1 -1
- package/dist/output/json.js +1 -1
- package/dist/output/json.js.map +1 -1
- package/dist/output/quiet.d.ts +1 -1
- package/dist/output/quiet.d.ts.map +1 -1
- package/dist/output/quiet.js +3 -3
- package/dist/output/quiet.js.map +1 -1
- package/dist/output/render.d.ts +1 -1
- package/dist/output/render.d.ts.map +1 -1
- package/dist/output/render.js +21 -21
- package/dist/output/render.js.map +1 -1
- package/dist/output/table.d.ts +1 -1
- package/dist/output/table.d.ts.map +1 -1
- package/dist/output/table.js +18 -18
- package/dist/output/table.js.map +1 -1
- package/dist/output/types.d.ts +4 -4
- package/dist/output/types.d.ts.map +1 -1
- package/dist/output/with-output.d.ts +2 -2
- package/dist/output/with-output.d.ts.map +1 -1
- package/dist/output/with-output.js +12 -12
- package/dist/output/with-output.js.map +1 -1
- package/dist/output/yaml.d.ts +1 -1
- package/dist/output/yaml.d.ts.map +1 -1
- package/dist/output/yaml.js +2 -2
- package/dist/output/yaml.js.map +1 -1
- package/dist/utils/client-id.d.ts.map +1 -1
- package/dist/utils/client-id.js.map +1 -1
- package/dist/utils/client.d.ts +3 -3
- package/dist/utils/client.d.ts.map +1 -1
- package/dist/utils/client.js +37 -35
- package/dist/utils/client.js.map +1 -1
- package/dist/utils/command-options.d.ts +1 -1
- package/dist/utils/command-options.d.ts.map +1 -1
- package/dist/utils/command-options.js +4 -4
- package/dist/utils/command-options.js.map +1 -1
- package/dist/utils/duration.js +3 -3
- package/dist/utils/duration.js.map +1 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/timeline.d.ts +1 -1
- package/dist/utils/timeline.d.ts.map +1 -1
- package/dist/utils/timeline.js +2 -2
- package/dist/utils/timeline.js.map +1 -1
- package/package.json +3 -3
package/dist/cli.d.ts
CHANGED
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4CpC,wBAAgB,SAAS,IAAI,OAAO,CAuGnC"}
|
package/dist/cli.js
CHANGED
|
@@ -1,132 +1,76 @@
|
|
|
1
|
-
import { Command } from
|
|
2
|
-
import { createRequire } from
|
|
3
|
-
import { createAgentCommand } from
|
|
4
|
-
import { createDaemonCommand } from
|
|
5
|
-
import { createPermitCommand } from
|
|
6
|
-
import { createProviderCommand } from
|
|
7
|
-
import { createSpeechCommand } from
|
|
8
|
-
import { createWorktreeCommand } from
|
|
9
|
-
import { startCommand as daemonStartCommand } from
|
|
10
|
-
import { runStatusCommand as runDaemonStatusCommand } from
|
|
11
|
-
import { runRestartCommand as runDaemonRestartCommand } from
|
|
12
|
-
import { runLsCommand } from
|
|
13
|
-
import { runRunCommand } from
|
|
14
|
-
import { runLogsCommand } from
|
|
15
|
-
import { runDeleteCommand } from
|
|
16
|
-
import { runStopCommand } from
|
|
17
|
-
import { runSendCommand } from
|
|
18
|
-
import { runInspectCommand } from
|
|
19
|
-
import { runWaitCommand } from
|
|
20
|
-
import { runAttachCommand } from
|
|
21
|
-
import { withOutput } from
|
|
22
|
-
import { onboardCommand } from
|
|
23
|
-
import { addDaemonHostOption, addJsonAndDaemonHostOptions, addJsonOption,
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import { createAgentCommand } from "./commands/agent/index.js";
|
|
4
|
+
import { createDaemonCommand } from "./commands/daemon/index.js";
|
|
5
|
+
import { createPermitCommand } from "./commands/permit/index.js";
|
|
6
|
+
import { createProviderCommand } from "./commands/provider/index.js";
|
|
7
|
+
import { createSpeechCommand } from "./commands/speech/index.js";
|
|
8
|
+
import { createWorktreeCommand } from "./commands/worktree/index.js";
|
|
9
|
+
import { startCommand as daemonStartCommand } from "./commands/daemon/start.js";
|
|
10
|
+
import { runStatusCommand as runDaemonStatusCommand } from "./commands/daemon/status.js";
|
|
11
|
+
import { runRestartCommand as runDaemonRestartCommand } from "./commands/daemon/restart.js";
|
|
12
|
+
import { addLsOptions, runLsCommand } from "./commands/agent/ls.js";
|
|
13
|
+
import { addRunOptions, runRunCommand } from "./commands/agent/run.js";
|
|
14
|
+
import { addLogsOptions, runLogsCommand } from "./commands/agent/logs.js";
|
|
15
|
+
import { addDeleteOptions, runDeleteCommand } from "./commands/agent/delete.js";
|
|
16
|
+
import { addStopOptions, runStopCommand } from "./commands/agent/stop.js";
|
|
17
|
+
import { addSendOptions, runSendCommand } from "./commands/agent/send.js";
|
|
18
|
+
import { addInspectOptions, runInspectCommand } from "./commands/agent/inspect.js";
|
|
19
|
+
import { addWaitOptions, runWaitCommand } from "./commands/agent/wait.js";
|
|
20
|
+
import { addAttachOptions, runAttachCommand } from "./commands/agent/attach.js";
|
|
21
|
+
import { withOutput } from "./output/index.js";
|
|
22
|
+
import { onboardCommand } from "./commands/onboard.js";
|
|
23
|
+
import { addDaemonHostOption, addJsonAndDaemonHostOptions, addJsonOption, } from "./utils/command-options.js";
|
|
24
24
|
const require = createRequire(import.meta.url);
|
|
25
25
|
function resolveCliVersion() {
|
|
26
|
-
const packageJson = require(
|
|
27
|
-
if (typeof packageJson.version ===
|
|
26
|
+
const packageJson = require("../package.json");
|
|
27
|
+
if (typeof packageJson.version === "string" && packageJson.version.trim().length > 0) {
|
|
28
28
|
return packageJson.version.trim();
|
|
29
29
|
}
|
|
30
|
-
throw new Error(
|
|
30
|
+
throw new Error("Unable to resolve @getpaseo/cli version from package.json.");
|
|
31
31
|
}
|
|
32
32
|
const VERSION = resolveCliVersion();
|
|
33
33
|
export function createCli() {
|
|
34
34
|
const program = new Command();
|
|
35
35
|
program
|
|
36
|
-
.name(
|
|
37
|
-
.description(
|
|
38
|
-
.version(VERSION,
|
|
36
|
+
.name("paseo")
|
|
37
|
+
.description("Paseo CLI - control your AI coding agents from the command line")
|
|
38
|
+
.version(VERSION, "-v, --version", "output the version number")
|
|
39
39
|
// Global output options
|
|
40
|
-
.option(
|
|
41
|
-
.option(
|
|
42
|
-
.option(
|
|
43
|
-
.option(
|
|
44
|
-
.option(
|
|
40
|
+
.option("-o, --format <format>", "output format: table, json, yaml", "table")
|
|
41
|
+
.option("--json", "output in JSON format (alias for --format json)")
|
|
42
|
+
.option("-q, --quiet", "minimal output (IDs only)")
|
|
43
|
+
.option("--no-headers", "omit table headers")
|
|
44
|
+
.option("--no-color", "disable colored output");
|
|
45
45
|
// Primary agent commands (top-level)
|
|
46
|
-
addJsonAndDaemonHostOptions(program
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
addJsonAndDaemonHostOptions(program
|
|
54
|
-
|
|
55
|
-
.description('Create and start an agent with a task')
|
|
56
|
-
.argument('<prompt>', 'The task/prompt for the agent')
|
|
57
|
-
.option('-d, --detach', 'Run in background (detached)')
|
|
58
|
-
.option('--name <name>', 'Assign a name/title to the agent')
|
|
59
|
-
.option('--provider <provider>', 'Agent provider, or provider/model (e.g. codex or codex/gpt-5.4)', 'claude')
|
|
60
|
-
.option('--model <model>', 'Model to use (e.g., claude-sonnet-4-20250514, claude-3-5-haiku-20241022)')
|
|
61
|
-
.option('--thinking <id>', 'Thinking option ID to use for this run')
|
|
62
|
-
.option('--mode <mode>', 'Provider-specific mode (e.g., plan, default, bypass)')
|
|
63
|
-
.option('--worktree <name>', 'Create agent in a new git worktree')
|
|
64
|
-
.option('--base <branch>', 'Base branch for worktree (default: current branch)')
|
|
65
|
-
.option('--image <path>', 'Attach image(s) to the initial prompt (can be used multiple times)', collectMultiple, [])
|
|
66
|
-
.option('--cwd <path>', 'Working directory (default: current)')
|
|
67
|
-
.option('--label <key=value>', 'Add label(s) to the agent (can be used multiple times)', collectMultiple, [])
|
|
68
|
-
.option('--output-schema <schema>', 'Output JSON matching the provided schema file path or inline JSON schema')).action(withOutput(runRunCommand));
|
|
69
|
-
addDaemonHostOption(program
|
|
70
|
-
.command('attach')
|
|
71
|
-
.description("Attach to a running agent's output stream")
|
|
72
|
-
.argument('<id>', 'Agent ID (or prefix)')).action(runAttachCommand);
|
|
73
|
-
addDaemonHostOption(program
|
|
74
|
-
.command('logs')
|
|
75
|
-
.description('View agent activity/timeline')
|
|
76
|
-
.argument('<id>', 'Agent ID (or prefix)')
|
|
77
|
-
.option('-f, --follow', 'Follow log output (streaming)')
|
|
78
|
-
.option('--tail <n>', 'Show last n entries')
|
|
79
|
-
.option('--filter <type>', 'Filter by event type (tools, text, errors, permissions)')
|
|
80
|
-
.option('--since <time>', 'Show logs since timestamp')).action(runLogsCommand);
|
|
81
|
-
addJsonAndDaemonHostOptions(program
|
|
82
|
-
.command('stop')
|
|
83
|
-
.description('Interrupt an agent if it is running (no-op for idle agents)')
|
|
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')).action(withOutput(runStopCommand));
|
|
87
|
-
addJsonAndDaemonHostOptions(program
|
|
88
|
-
.command('delete')
|
|
89
|
-
.description('Delete an agent (interrupt if running, then hard-delete)')
|
|
90
|
-
.argument('[id]', 'Agent ID (or prefix) - optional if --all or --cwd specified')
|
|
91
|
-
.option('--all', 'Delete all agents')
|
|
92
|
-
.option('--cwd <path>', 'Delete all agents in directory')).action(withOutput(runDeleteCommand));
|
|
93
|
-
addJsonAndDaemonHostOptions(program
|
|
94
|
-
.command('send')
|
|
95
|
-
.description('Send a message/task to an existing agent')
|
|
96
|
-
.argument('<id>', 'Agent ID (or prefix)')
|
|
97
|
-
.argument('[prompt]', 'The message to send')
|
|
98
|
-
.option('--prompt <text>', 'Provide the message inline as a flag')
|
|
99
|
-
.option('--prompt-file <path>', 'Read the message from a UTF-8 text file')
|
|
100
|
-
.option('--no-wait', 'Return immediately without waiting for completion')
|
|
101
|
-
.option('--image <path>', 'Attach image(s) to the message', collectMultiple, [])).action(withOutput(runSendCommand));
|
|
102
|
-
addJsonAndDaemonHostOptions(program
|
|
103
|
-
.command('inspect')
|
|
104
|
-
.description('Show detailed information about an agent')
|
|
105
|
-
.argument('<id>', 'Agent ID (or prefix)')).action(withOutput(runInspectCommand));
|
|
106
|
-
addJsonAndDaemonHostOptions(program
|
|
107
|
-
.command('wait')
|
|
108
|
-
.description('Wait for an agent to become idle')
|
|
109
|
-
.argument('<id>', 'Agent ID (or prefix)')
|
|
110
|
-
.option('--timeout <seconds>', 'Maximum wait time (default: no limit)')).action(withOutput(runWaitCommand));
|
|
46
|
+
addJsonAndDaemonHostOptions(addLsOptions(program.command("ls"))).action(withOutput(runLsCommand));
|
|
47
|
+
addJsonAndDaemonHostOptions(addRunOptions(program.command("run"))).action(withOutput(runRunCommand));
|
|
48
|
+
addDaemonHostOption(addAttachOptions(program.command("attach"))).action(runAttachCommand);
|
|
49
|
+
addDaemonHostOption(addLogsOptions(program.command("logs"))).action(runLogsCommand);
|
|
50
|
+
addJsonAndDaemonHostOptions(addStopOptions(program.command("stop"))).action(withOutput(runStopCommand));
|
|
51
|
+
addJsonAndDaemonHostOptions(addDeleteOptions(program.command("delete"))).action(withOutput(runDeleteCommand));
|
|
52
|
+
addJsonAndDaemonHostOptions(addSendOptions(program.command("send"))).action(withOutput(runSendCommand));
|
|
53
|
+
addJsonAndDaemonHostOptions(addInspectOptions(program.command("inspect"))).action(withOutput(runInspectCommand));
|
|
54
|
+
addJsonAndDaemonHostOptions(addWaitOptions(program.command("wait"))).action(withOutput(runWaitCommand));
|
|
111
55
|
// Top-level local daemon shortcuts
|
|
112
56
|
program.addCommand(onboardCommand());
|
|
113
57
|
program.addCommand(daemonStartCommand());
|
|
114
58
|
addJsonOption(program
|
|
115
|
-
.command(
|
|
59
|
+
.command("status")
|
|
116
60
|
.description('Show local daemon status (alias for "paseo daemon status")'))
|
|
117
|
-
.option(
|
|
61
|
+
.option("--home <path>", "Paseo home directory (default: ~/.paseo)")
|
|
118
62
|
.action(withOutput(runDaemonStatusCommand));
|
|
119
63
|
addJsonOption(program
|
|
120
|
-
.command(
|
|
64
|
+
.command("restart")
|
|
121
65
|
.description('Restart local daemon (alias for "paseo daemon restart")'))
|
|
122
|
-
.option(
|
|
123
|
-
.option(
|
|
124
|
-
.option(
|
|
125
|
-
.option(
|
|
126
|
-
.option(
|
|
127
|
-
.option(
|
|
128
|
-
.option(
|
|
129
|
-
.option(
|
|
66
|
+
.option("--home <path>", "Paseo home directory (default: ~/.paseo)")
|
|
67
|
+
.option("--timeout <seconds>", "Wait timeout before force step (default: 15)")
|
|
68
|
+
.option("--force", "Send SIGKILL if graceful stop times out")
|
|
69
|
+
.option("--listen <listen>", "Listen target for restarted daemon (host:port, port, or unix socket)")
|
|
70
|
+
.option("--port <port>", "Port for restarted daemon listen target")
|
|
71
|
+
.option("--no-relay", "Disable relay on restarted daemon")
|
|
72
|
+
.option("--no-mcp", "Disable Agent MCP on restarted daemon")
|
|
73
|
+
.option("--allowed-hosts <hosts>", 'Comma-separated Host allowlist values (example: "localhost,.example.com" or "true")')
|
|
130
74
|
.action(withOutput(runDaemonRestartCommand));
|
|
131
75
|
// Advanced agent commands (less common operations)
|
|
132
76
|
program.addCommand(createAgentCommand());
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { Command } from
|
|
2
|
-
import type { CommandOptions, SingleResult, OutputSchema } from
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
import type { CommandOptions, SingleResult, OutputSchema } from "../../output/index.js";
|
|
3
3
|
/** Result type for agent archive command */
|
|
4
4
|
export interface AgentArchiveResult {
|
|
5
5
|
agentId: string;
|
|
6
|
-
status:
|
|
6
|
+
status: "archived";
|
|
7
7
|
archivedAt: string;
|
|
8
8
|
}
|
|
9
9
|
/** Schema for archive command output */
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/archive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAE/B,4CAA4C;AAC5C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wCAAwC;AACxC,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,kBAAkB,CAO1D,CAAC;AAEF,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;AAEzE,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,yBAAyB,CAAC,CA6FpC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { connectToDaemon, getDaemonHost, resolveAgentId } from
|
|
1
|
+
import { connectToDaemon, getDaemonHost, resolveAgentId } from "../../utils/client.js";
|
|
2
2
|
/** Schema for archive command output */
|
|
3
3
|
export const archiveSchema = {
|
|
4
|
-
idField:
|
|
4
|
+
idField: "agentId",
|
|
5
5
|
columns: [
|
|
6
|
-
{ header:
|
|
7
|
-
{ header:
|
|
8
|
-
{ header:
|
|
6
|
+
{ header: "AGENT ID", field: "agentId" },
|
|
7
|
+
{ header: "STATUS", field: "status" },
|
|
8
|
+
{ header: "ARCHIVED AT", field: "archivedAt" },
|
|
9
9
|
],
|
|
10
10
|
};
|
|
11
11
|
export async function runArchiveCommand(agentIdArg, options, _command) {
|
|
@@ -13,9 +13,9 @@ export async function runArchiveCommand(agentIdArg, options, _command) {
|
|
|
13
13
|
// Validate arguments
|
|
14
14
|
if (!agentIdArg || agentIdArg.trim().length === 0) {
|
|
15
15
|
const error = {
|
|
16
|
-
code:
|
|
17
|
-
message:
|
|
18
|
-
details:
|
|
16
|
+
code: "MISSING_AGENT_ID",
|
|
17
|
+
message: "Agent ID is required",
|
|
18
|
+
details: "Usage: paseo agent archive <id-or-name>",
|
|
19
19
|
};
|
|
20
20
|
throw error;
|
|
21
21
|
}
|
|
@@ -26,9 +26,9 @@ export async function runArchiveCommand(agentIdArg, options, _command) {
|
|
|
26
26
|
catch (err) {
|
|
27
27
|
const message = err instanceof Error ? err.message : String(err);
|
|
28
28
|
const error = {
|
|
29
|
-
code:
|
|
29
|
+
code: "DAEMON_NOT_RUNNING",
|
|
30
30
|
message: `Cannot connect to daemon at ${host}: ${message}`,
|
|
31
|
-
details:
|
|
31
|
+
details: "Start the daemon with: paseo daemon start",
|
|
32
32
|
};
|
|
33
33
|
throw error;
|
|
34
34
|
}
|
|
@@ -38,7 +38,7 @@ export async function runArchiveCommand(agentIdArg, options, _command) {
|
|
|
38
38
|
const agentId = resolveAgentId(agentIdArg, agents);
|
|
39
39
|
if (!agentId) {
|
|
40
40
|
const error = {
|
|
41
|
-
code:
|
|
41
|
+
code: "AGENT_NOT_FOUND",
|
|
42
42
|
message: `Agent not found: ${agentIdArg}`,
|
|
43
43
|
details: 'Use "paseo ls" to list available agents',
|
|
44
44
|
};
|
|
@@ -51,18 +51,18 @@ export async function runArchiveCommand(agentIdArg, options, _command) {
|
|
|
51
51
|
// Check if agent is already archived
|
|
52
52
|
if (agent.archivedAt) {
|
|
53
53
|
const error = {
|
|
54
|
-
code:
|
|
54
|
+
code: "AGENT_ALREADY_ARCHIVED",
|
|
55
55
|
message: `Agent ${agentId.slice(0, 7)} is already archived`,
|
|
56
56
|
details: `Archived at: ${agent.archivedAt}`,
|
|
57
57
|
};
|
|
58
58
|
throw error;
|
|
59
59
|
}
|
|
60
60
|
// Check if agent is running and reject unless --force is set
|
|
61
|
-
if (agent.status ===
|
|
61
|
+
if (agent.status === "running" && !options.force) {
|
|
62
62
|
const error = {
|
|
63
|
-
code:
|
|
63
|
+
code: "AGENT_RUNNING",
|
|
64
64
|
message: `Agent ${agentId.slice(0, 7)} is currently running`,
|
|
65
|
-
details:
|
|
65
|
+
details: "Use --force to archive a running agent (it will interrupt the active run), or stop it first with: paseo agent stop. Use paseo agent delete to hard-delete it.",
|
|
66
66
|
};
|
|
67
67
|
throw error;
|
|
68
68
|
}
|
|
@@ -70,10 +70,10 @@ export async function runArchiveCommand(agentIdArg, options, _command) {
|
|
|
70
70
|
const result = await client.archiveAgent(agentId);
|
|
71
71
|
await client.close();
|
|
72
72
|
return {
|
|
73
|
-
type:
|
|
73
|
+
type: "single",
|
|
74
74
|
data: {
|
|
75
75
|
agentId,
|
|
76
|
-
status:
|
|
76
|
+
status: "archived",
|
|
77
77
|
archivedAt: result.archivedAt,
|
|
78
78
|
},
|
|
79
79
|
schema: archiveSchema,
|
|
@@ -82,12 +82,12 @@ export async function runArchiveCommand(agentIdArg, options, _command) {
|
|
|
82
82
|
catch (err) {
|
|
83
83
|
await client.close().catch(() => { });
|
|
84
84
|
// Re-throw CommandError as-is
|
|
85
|
-
if (err && typeof err ===
|
|
85
|
+
if (err && typeof err === "object" && "code" in err) {
|
|
86
86
|
throw err;
|
|
87
87
|
}
|
|
88
88
|
const message = err instanceof Error ? err.message : String(err);
|
|
89
89
|
const error = {
|
|
90
|
-
code:
|
|
90
|
+
code: "ARCHIVE_FAILED",
|
|
91
91
|
message: `Failed to archive agent: ${message}`,
|
|
92
92
|
};
|
|
93
93
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/commands/agent/archive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/commands/agent/archive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAevF,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,CAAC;AASF,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,CAAC;IAEzE,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,yCAAyC;SACnD,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAA0B,EAAE,CAAC,CAAC;IAC/E,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,CAAC;QACjE,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,+BAA+B,IAAI,KAAK,OAAO,EAAE;YAC1D,OAAO,EAAE,2CAA2C;SACrD,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,KAAK,GAAiB;gBAC1B,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,oBAAoB,UAAU,EAAE;gBACzC,OAAO,EAAE,yCAAyC;aACnD,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,+CAA+C,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,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,CAAC;YACF,MAAM,KAAK,CAAC;QACd,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,EACL,+JAA+J;aAClK,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAElD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAErB,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,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAErC,8BAA8B;QAC9B,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YACpD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,4BAA4B,OAAO,EAAE;SAC/C,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"attach.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/attach.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAItD;AAUD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAgFD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAsFf"}
|
|
@@ -1,34 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export function addAttachOptions(cmd) {
|
|
2
|
+
return cmd
|
|
3
|
+
.description("Attach to a running agent's output stream")
|
|
4
|
+
.argument("<id>", "Agent ID (or prefix)");
|
|
5
|
+
}
|
|
6
|
+
import { connectToDaemon, getDaemonHost } from "../../utils/client.js";
|
|
7
|
+
import { fetchProjectedTimelineItems } from "../../utils/timeline.js";
|
|
3
8
|
/**
|
|
4
9
|
* Format and print a timeline item to the terminal
|
|
5
10
|
*/
|
|
6
11
|
function printTimelineItem(item) {
|
|
7
12
|
switch (item.type) {
|
|
8
|
-
case
|
|
13
|
+
case "assistant_message":
|
|
9
14
|
// Print assistant text directly
|
|
10
15
|
process.stdout.write(item.text);
|
|
11
16
|
break;
|
|
12
|
-
case
|
|
17
|
+
case "reasoning":
|
|
13
18
|
// Print reasoning in a muted color if available
|
|
14
19
|
console.log(`\n[Reasoning] ${item.text}`);
|
|
15
20
|
break;
|
|
16
|
-
case
|
|
21
|
+
case "tool_call": {
|
|
17
22
|
const toolName = item.name;
|
|
18
|
-
const status = item.status ??
|
|
23
|
+
const status = item.status ?? "started";
|
|
19
24
|
console.log(`\n[Tool: ${toolName}] ${status}`);
|
|
20
25
|
break;
|
|
21
26
|
}
|
|
22
|
-
case
|
|
27
|
+
case "todo": {
|
|
23
28
|
const completed = item.items.filter((i) => i.completed).length;
|
|
24
29
|
const total = item.items.length;
|
|
25
30
|
console.log(`\n[Todo] ${completed}/${total} completed`);
|
|
26
31
|
break;
|
|
27
32
|
}
|
|
28
|
-
case
|
|
33
|
+
case "error":
|
|
29
34
|
console.error(`\n[Error] ${item.message}`);
|
|
30
35
|
break;
|
|
31
|
-
case
|
|
36
|
+
case "user_message":
|
|
32
37
|
console.log(`\n[User] ${item.text}`);
|
|
33
38
|
break;
|
|
34
39
|
default:
|
|
@@ -41,23 +46,23 @@ function printTimelineItem(item) {
|
|
|
41
46
|
*/
|
|
42
47
|
function printStreamEvent(event) {
|
|
43
48
|
switch (event.type) {
|
|
44
|
-
case
|
|
49
|
+
case "timeline":
|
|
45
50
|
// Print the timeline item
|
|
46
51
|
printTimelineItem(event.item);
|
|
47
52
|
break;
|
|
48
|
-
case
|
|
53
|
+
case "permission_requested":
|
|
49
54
|
console.log(`\n[Permission Required] ${event.request.name}`);
|
|
50
55
|
if (event.request.description) {
|
|
51
56
|
console.log(` ${event.request.description}`);
|
|
52
57
|
}
|
|
53
58
|
break;
|
|
54
|
-
case
|
|
59
|
+
case "permission_resolved":
|
|
55
60
|
console.log(`\n[Permission ${event.resolution.behavior}]`);
|
|
56
61
|
break;
|
|
57
|
-
case
|
|
62
|
+
case "turn_failed":
|
|
58
63
|
console.error(`\n[Turn Failed] ${event.error}`);
|
|
59
64
|
break;
|
|
60
|
-
case
|
|
65
|
+
case "attention_required":
|
|
61
66
|
console.log(`\n[Attention Required: ${event.reason}]`);
|
|
62
67
|
break;
|
|
63
68
|
default:
|
|
@@ -71,8 +76,8 @@ function printStreamEvent(event) {
|
|
|
71
76
|
export async function runAttachCommand(id, options, _command) {
|
|
72
77
|
const host = getDaemonHost({ host: options.host });
|
|
73
78
|
if (!id) {
|
|
74
|
-
console.error(
|
|
75
|
-
console.error(
|
|
79
|
+
console.error("Error: Agent ID required");
|
|
80
|
+
console.error("Usage: paseo attach <id>");
|
|
76
81
|
process.exit(1);
|
|
77
82
|
}
|
|
78
83
|
let client;
|
|
@@ -82,14 +87,14 @@ export async function runAttachCommand(id, options, _command) {
|
|
|
82
87
|
catch (err) {
|
|
83
88
|
const message = err instanceof Error ? err.message : String(err);
|
|
84
89
|
console.error(`Error: Cannot connect to daemon at ${host}: ${message}`);
|
|
85
|
-
console.error(
|
|
90
|
+
console.error("Start the daemon with: paseo daemon start");
|
|
86
91
|
process.exit(1);
|
|
87
92
|
}
|
|
88
93
|
try {
|
|
89
94
|
const fetchResult = await client.fetchAgent(id);
|
|
90
95
|
if (!fetchResult) {
|
|
91
96
|
console.error(`Error: No agent found matching: ${id}`);
|
|
92
|
-
console.error(
|
|
97
|
+
console.error("Use `paseo ls` to list available agents");
|
|
93
98
|
await client.close();
|
|
94
99
|
process.exit(1);
|
|
95
100
|
}
|
|
@@ -108,12 +113,12 @@ export async function runAttachCommand(id, options, _command) {
|
|
|
108
113
|
}
|
|
109
114
|
}
|
|
110
115
|
catch (error) {
|
|
111
|
-
console.warn(
|
|
116
|
+
console.warn("Warning: failed to fetch existing timeline", error);
|
|
112
117
|
}
|
|
113
118
|
// Subscribe to new events
|
|
114
|
-
const unsubscribe = client.on(
|
|
119
|
+
const unsubscribe = client.on("agent_stream", (msg) => {
|
|
115
120
|
const message = msg;
|
|
116
|
-
if (message.type !==
|
|
121
|
+
if (message.type !== "agent_stream")
|
|
117
122
|
return;
|
|
118
123
|
if (message.payload.agentId !== resolvedId)
|
|
119
124
|
return;
|
|
@@ -125,7 +130,7 @@ export async function runAttachCommand(id, options, _command) {
|
|
|
125
130
|
if (detached)
|
|
126
131
|
return;
|
|
127
132
|
detached = true;
|
|
128
|
-
console.log(
|
|
133
|
+
console.log("\n\nDetaching from agent...");
|
|
129
134
|
unsubscribe();
|
|
130
135
|
client
|
|
131
136
|
.close()
|
|
@@ -136,8 +141,8 @@ export async function runAttachCommand(id, options, _command) {
|
|
|
136
141
|
process.exit(1);
|
|
137
142
|
});
|
|
138
143
|
};
|
|
139
|
-
process.on(
|
|
140
|
-
process.on(
|
|
144
|
+
process.on("SIGINT", detach);
|
|
145
|
+
process.on("SIGTERM", detach);
|
|
141
146
|
// Keep the process alive
|
|
142
147
|
await new Promise(() => {
|
|
143
148
|
// Wait indefinitely until interrupted
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach.js","sourceRoot":"","sources":["../../../src/commands/agent/attach.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"attach.js","sourceRoot":"","sources":["../../../src/commands/agent/attach.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Command } from
|
|
2
|
-
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
export declare function addDeleteOptions(cmd: Command): Command;
|
|
3
|
+
import type { CommandOptions, SingleResult, OutputSchema } from "../../output/index.js";
|
|
3
4
|
export interface DeleteResult {
|
|
4
5
|
deletedCount: number;
|
|
5
6
|
agentIds: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMtD;AACD,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,YAAY,CAGnD,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAE3D,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,iBAAiB,CAAC,CAwF5B"}
|