@getpaseo/cli 0.1.30 → 0.1.33
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
|
@@ -1,15 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { collectMultiple } from "../../utils/command-options.js";
|
|
2
|
+
import { connectToDaemon, getDaemonHost } from "../../utils/client.js";
|
|
3
|
+
import { readFile } from "node:fs/promises";
|
|
4
|
+
import { extname, resolve } from "node:path";
|
|
4
5
|
/** Schema for agent send output */
|
|
5
6
|
export const agentSendSchema = {
|
|
6
|
-
idField:
|
|
7
|
+
idField: "agentId",
|
|
7
8
|
columns: [
|
|
8
|
-
{ header:
|
|
9
|
-
{ header:
|
|
10
|
-
{ header:
|
|
9
|
+
{ header: "AGENT ID", field: "agentId", width: 12 },
|
|
10
|
+
{ header: "STATUS", field: "status", width: 12 },
|
|
11
|
+
{ header: "MESSAGE", field: "message", width: 40 },
|
|
11
12
|
],
|
|
12
13
|
};
|
|
14
|
+
export function addSendOptions(cmd) {
|
|
15
|
+
return cmd
|
|
16
|
+
.description("Send a message/task to an existing agent")
|
|
17
|
+
.argument("<id>", "Agent ID (or prefix)")
|
|
18
|
+
.argument("[prompt]", "The message to send")
|
|
19
|
+
.option("--prompt <text>", "Provide the message inline as a flag")
|
|
20
|
+
.option("--prompt-file <path>", "Read the message from a UTF-8 text file")
|
|
21
|
+
.option("--image <path>", "Attach image(s) to the message", collectMultiple, [])
|
|
22
|
+
.option("--no-wait", "Return immediately without waiting for completion");
|
|
23
|
+
}
|
|
13
24
|
/**
|
|
14
25
|
* Read image files and convert them to base64 data URIs
|
|
15
26
|
*/
|
|
@@ -20,26 +31,26 @@ async function readImageFiles(imagePaths) {
|
|
|
20
31
|
const buffer = await readFile(path);
|
|
21
32
|
const ext = extname(path).toLowerCase();
|
|
22
33
|
// Determine media type from extension
|
|
23
|
-
let mimeType =
|
|
34
|
+
let mimeType = "image/jpeg";
|
|
24
35
|
switch (ext) {
|
|
25
|
-
case
|
|
26
|
-
mimeType =
|
|
36
|
+
case ".png":
|
|
37
|
+
mimeType = "image/png";
|
|
27
38
|
break;
|
|
28
|
-
case
|
|
29
|
-
case
|
|
30
|
-
mimeType =
|
|
39
|
+
case ".jpg":
|
|
40
|
+
case ".jpeg":
|
|
41
|
+
mimeType = "image/jpeg";
|
|
31
42
|
break;
|
|
32
|
-
case
|
|
33
|
-
mimeType =
|
|
43
|
+
case ".gif":
|
|
44
|
+
mimeType = "image/gif";
|
|
34
45
|
break;
|
|
35
|
-
case
|
|
36
|
-
mimeType =
|
|
46
|
+
case ".webp":
|
|
47
|
+
mimeType = "image/webp";
|
|
37
48
|
break;
|
|
38
49
|
default:
|
|
39
50
|
// Default to jpeg for unknown types
|
|
40
|
-
mimeType =
|
|
51
|
+
mimeType = "image/jpeg";
|
|
41
52
|
}
|
|
42
|
-
const data = buffer.toString(
|
|
53
|
+
const data = buffer.toString("base64");
|
|
43
54
|
images.push({
|
|
44
55
|
data,
|
|
45
56
|
mimeType,
|
|
@@ -48,7 +59,7 @@ async function readImageFiles(imagePaths) {
|
|
|
48
59
|
catch (err) {
|
|
49
60
|
const message = err instanceof Error ? err.message : String(err);
|
|
50
61
|
const error = {
|
|
51
|
-
code:
|
|
62
|
+
code: "IMAGE_READ_ERROR",
|
|
52
63
|
message: `Failed to read image file: ${path}`,
|
|
53
64
|
details: message,
|
|
54
65
|
};
|
|
@@ -64,8 +75,8 @@ async function resolvePromptInput(options) {
|
|
|
64
75
|
const providedSourceCount = [promptText, promptOptionText, promptFilePath].filter(Boolean).length;
|
|
65
76
|
if (providedSourceCount > 1) {
|
|
66
77
|
const error = {
|
|
67
|
-
code:
|
|
68
|
-
message:
|
|
78
|
+
code: "CONFLICTING_PROMPT_INPUT",
|
|
79
|
+
message: "Provide exactly one of prompt argument, --prompt, or --prompt-file",
|
|
69
80
|
};
|
|
70
81
|
throw error;
|
|
71
82
|
}
|
|
@@ -77,19 +88,19 @@ async function resolvePromptInput(options) {
|
|
|
77
88
|
}
|
|
78
89
|
if (!promptFilePath) {
|
|
79
90
|
const error = {
|
|
80
|
-
code:
|
|
81
|
-
message:
|
|
82
|
-
details:
|
|
91
|
+
code: "MISSING_PROMPT",
|
|
92
|
+
message: "A prompt is required",
|
|
93
|
+
details: "Usage: paseo agent send [options] <id> [prompt] | --prompt <text> | --prompt-file <path>",
|
|
83
94
|
};
|
|
84
95
|
throw error;
|
|
85
96
|
}
|
|
86
97
|
try {
|
|
87
|
-
return await readFile(resolve(promptFilePath),
|
|
98
|
+
return await readFile(resolve(promptFilePath), "utf8");
|
|
88
99
|
}
|
|
89
100
|
catch (err) {
|
|
90
101
|
const message = err instanceof Error ? err.message : String(err);
|
|
91
102
|
const error = {
|
|
92
|
-
code:
|
|
103
|
+
code: "PROMPT_FILE_READ_ERROR",
|
|
93
104
|
message: `Failed to read prompt file: ${promptFilePath}`,
|
|
94
105
|
details: message,
|
|
95
106
|
};
|
|
@@ -101,9 +112,9 @@ export async function runSendCommand(agentIdArg, prompt, options, _command) {
|
|
|
101
112
|
// Validate arguments
|
|
102
113
|
if (!agentIdArg || agentIdArg.trim().length === 0) {
|
|
103
114
|
const error = {
|
|
104
|
-
code:
|
|
105
|
-
message:
|
|
106
|
-
details:
|
|
115
|
+
code: "MISSING_AGENT_ID",
|
|
116
|
+
message: "Agent ID is required",
|
|
117
|
+
details: "Usage: paseo agent send [options] <id> [prompt]",
|
|
107
118
|
};
|
|
108
119
|
throw error;
|
|
109
120
|
}
|
|
@@ -119,28 +130,26 @@ export async function runSendCommand(agentIdArg, prompt, options, _command) {
|
|
|
119
130
|
catch (err) {
|
|
120
131
|
const message = err instanceof Error ? err.message : String(err);
|
|
121
132
|
const error = {
|
|
122
|
-
code:
|
|
133
|
+
code: "DAEMON_NOT_RUNNING",
|
|
123
134
|
message: `Cannot connect to daemon at ${host}: ${message}`,
|
|
124
|
-
details:
|
|
135
|
+
details: "Start the daemon with: paseo daemon start",
|
|
125
136
|
};
|
|
126
137
|
throw error;
|
|
127
138
|
}
|
|
128
139
|
try {
|
|
129
140
|
// Read image files if provided
|
|
130
|
-
const images = options.image && options.image.length > 0
|
|
131
|
-
? await readImageFiles(options.image)
|
|
132
|
-
: undefined;
|
|
141
|
+
const images = options.image && options.image.length > 0 ? await readImageFiles(options.image) : undefined;
|
|
133
142
|
// Send the message
|
|
134
143
|
await client.sendAgentMessage(agentIdArg, promptInput, { images });
|
|
135
144
|
// If --no-wait, return immediately
|
|
136
145
|
if (options.noWait) {
|
|
137
146
|
await client.close();
|
|
138
147
|
return {
|
|
139
|
-
type:
|
|
148
|
+
type: "single",
|
|
140
149
|
data: {
|
|
141
150
|
agentId: agentIdArg,
|
|
142
|
-
status:
|
|
143
|
-
message:
|
|
151
|
+
status: "sent",
|
|
152
|
+
message: "Message sent, not waiting for completion",
|
|
144
153
|
},
|
|
145
154
|
schema: agentSendSchema,
|
|
146
155
|
};
|
|
@@ -148,45 +157,45 @@ export async function runSendCommand(agentIdArg, prompt, options, _command) {
|
|
|
148
157
|
// Wait for agent to finish
|
|
149
158
|
const state = await client.waitForFinish(agentIdArg, 600000); // 10 minute timeout
|
|
150
159
|
await client.close();
|
|
151
|
-
if (state.status ===
|
|
160
|
+
if (state.status === "timeout") {
|
|
152
161
|
return {
|
|
153
|
-
type:
|
|
162
|
+
type: "single",
|
|
154
163
|
data: {
|
|
155
164
|
agentId: state.final?.id ?? agentIdArg,
|
|
156
|
-
status:
|
|
157
|
-
message:
|
|
165
|
+
status: "timeout",
|
|
166
|
+
message: "Timed out waiting for agent to finish",
|
|
158
167
|
},
|
|
159
168
|
schema: agentSendSchema,
|
|
160
169
|
};
|
|
161
170
|
}
|
|
162
|
-
if (state.status ===
|
|
171
|
+
if (state.status === "permission") {
|
|
163
172
|
return {
|
|
164
|
-
type:
|
|
173
|
+
type: "single",
|
|
165
174
|
data: {
|
|
166
175
|
agentId: state.final?.id ?? agentIdArg,
|
|
167
|
-
status:
|
|
168
|
-
message:
|
|
176
|
+
status: "permission",
|
|
177
|
+
message: "Agent is waiting for permission",
|
|
169
178
|
},
|
|
170
179
|
schema: agentSendSchema,
|
|
171
180
|
};
|
|
172
181
|
}
|
|
173
|
-
if (state.status ===
|
|
182
|
+
if (state.status === "error") {
|
|
174
183
|
return {
|
|
175
|
-
type:
|
|
184
|
+
type: "single",
|
|
176
185
|
data: {
|
|
177
186
|
agentId: state.final?.id ?? agentIdArg,
|
|
178
|
-
status:
|
|
179
|
-
message: state.error ??
|
|
187
|
+
status: "error",
|
|
188
|
+
message: state.error ?? "Agent finished with error",
|
|
180
189
|
},
|
|
181
190
|
schema: agentSendSchema,
|
|
182
191
|
};
|
|
183
192
|
}
|
|
184
193
|
return {
|
|
185
|
-
type:
|
|
194
|
+
type: "single",
|
|
186
195
|
data: {
|
|
187
196
|
agentId: state.final?.id ?? agentIdArg,
|
|
188
|
-
status:
|
|
189
|
-
message:
|
|
197
|
+
status: "completed",
|
|
198
|
+
message: "Agent completed processing the message",
|
|
190
199
|
},
|
|
191
200
|
schema: agentSendSchema,
|
|
192
201
|
};
|
|
@@ -194,12 +203,12 @@ export async function runSendCommand(agentIdArg, prompt, options, _command) {
|
|
|
194
203
|
catch (err) {
|
|
195
204
|
await client.close().catch(() => { });
|
|
196
205
|
// Re-throw CommandError as-is
|
|
197
|
-
if (err && typeof err ===
|
|
206
|
+
if (err && typeof err === "object" && "code" in err) {
|
|
198
207
|
throw err;
|
|
199
208
|
}
|
|
200
209
|
const message = err instanceof Error ? err.message : String(err);
|
|
201
210
|
const error = {
|
|
202
|
-
code:
|
|
211
|
+
code: "SEND_FAILED",
|
|
203
212
|
message: `Failed to send message: ${message}`,
|
|
204
213
|
};
|
|
205
214
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/commands/agent/send.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/commands/agent/send.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { CommandOptions, SingleResult, OutputSchema } from
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import type { CommandOptions, SingleResult, OutputSchema } from "../../output/index.js";
|
|
3
3
|
/** Result type for agent stop command */
|
|
4
4
|
export interface StopResult {
|
|
5
5
|
stoppedCount: number;
|
|
@@ -7,6 +7,7 @@ export interface StopResult {
|
|
|
7
7
|
}
|
|
8
8
|
/** Schema for stop command output */
|
|
9
9
|
export declare const stopSchema: OutputSchema<StopResult>;
|
|
10
|
+
export declare function addStopOptions(cmd: Command): Command;
|
|
10
11
|
export interface AgentStopOptions extends CommandOptions {
|
|
11
12
|
all?: boolean;
|
|
12
13
|
cwd?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/stop.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAE/B,yCAAyC;AACzC,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,qCAAqC;AACrC,eAAO,MAAM,UAAU,EAAE,YAAY,CAAC,UAAU,CAI/C,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMpD;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAEvD,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,eAAe,CAAC,CA8F1B"}
|
|
@@ -1,18 +1,25 @@
|
|
|
1
|
-
import { connectToDaemon, getDaemonHost } from
|
|
1
|
+
import { connectToDaemon, getDaemonHost } from "../../utils/client.js";
|
|
2
2
|
/** Schema for stop command output */
|
|
3
3
|
export const stopSchema = {
|
|
4
4
|
// For quiet mode, output the stopped agent IDs (one per line)
|
|
5
|
-
idField: (item) => item.agentIds.join(
|
|
6
|
-
columns: [{ header:
|
|
5
|
+
idField: (item) => item.agentIds.join("\n"),
|
|
6
|
+
columns: [{ header: "INTERRUPTED", field: "stoppedCount" }],
|
|
7
7
|
};
|
|
8
|
+
export function addStopOptions(cmd) {
|
|
9
|
+
return cmd
|
|
10
|
+
.description("Interrupt an agent if it is running (no-op for idle agents)")
|
|
11
|
+
.argument("[id]", "Agent ID (or prefix) - optional if --all or --cwd specified")
|
|
12
|
+
.option("--all", "Stop all agents")
|
|
13
|
+
.option("--cwd <path>", "Stop all agents in directory");
|
|
14
|
+
}
|
|
8
15
|
export async function runStopCommand(id, options, _command) {
|
|
9
16
|
const host = getDaemonHost({ host: options.host });
|
|
10
17
|
// Validate arguments - need either an id, --all, or --cwd
|
|
11
18
|
if (!id && !options.all && !options.cwd) {
|
|
12
19
|
const error = {
|
|
13
|
-
code:
|
|
14
|
-
message:
|
|
15
|
-
details:
|
|
20
|
+
code: "MISSING_ARGUMENT",
|
|
21
|
+
message: "Agent ID required unless --all or --cwd is specified",
|
|
22
|
+
details: "Usage: paseo agent stop <id> | --all | --cwd <path>",
|
|
16
23
|
};
|
|
17
24
|
throw error;
|
|
18
25
|
}
|
|
@@ -23,9 +30,9 @@ export async function runStopCommand(id, options, _command) {
|
|
|
23
30
|
catch (err) {
|
|
24
31
|
const message = err instanceof Error ? err.message : String(err);
|
|
25
32
|
const error = {
|
|
26
|
-
code:
|
|
33
|
+
code: "DAEMON_NOT_RUNNING",
|
|
27
34
|
message: `Cannot connect to daemon at ${host}: ${message}`,
|
|
28
|
-
details:
|
|
35
|
+
details: "Start the daemon with: paseo daemon start",
|
|
29
36
|
};
|
|
30
37
|
throw error;
|
|
31
38
|
}
|
|
@@ -43,9 +50,9 @@ export async function runStopCommand(id, options, _command) {
|
|
|
43
50
|
agents = agents.filter((a) => {
|
|
44
51
|
if (a.archivedAt)
|
|
45
52
|
return false;
|
|
46
|
-
const agentCwd = a.cwd.replace(/\/$/,
|
|
47
|
-
const targetCwd = filterCwd.replace(/\/$/,
|
|
48
|
-
return agentCwd === targetCwd || agentCwd.startsWith(targetCwd +
|
|
53
|
+
const agentCwd = a.cwd.replace(/\/$/, "");
|
|
54
|
+
const targetCwd = filterCwd.replace(/\/$/, "");
|
|
55
|
+
return agentCwd === targetCwd || agentCwd.startsWith(targetCwd + "/");
|
|
49
56
|
});
|
|
50
57
|
}
|
|
51
58
|
else if (id) {
|
|
@@ -53,9 +60,9 @@ export async function runStopCommand(id, options, _command) {
|
|
|
53
60
|
const fetchResult = await client.fetchAgent(id);
|
|
54
61
|
if (!fetchResult) {
|
|
55
62
|
const error = {
|
|
56
|
-
code:
|
|
63
|
+
code: "AGENT_NOT_FOUND",
|
|
57
64
|
message: `No agent found matching: ${id}`,
|
|
58
|
-
details:
|
|
65
|
+
details: "Use `paseo ls` to list available agents",
|
|
59
66
|
};
|
|
60
67
|
throw error;
|
|
61
68
|
}
|
|
@@ -64,7 +71,7 @@ export async function runStopCommand(id, options, _command) {
|
|
|
64
71
|
// Interrupt each running agent. Idle agents are a no-op.
|
|
65
72
|
for (const agent of agents) {
|
|
66
73
|
try {
|
|
67
|
-
if (agent.status ===
|
|
74
|
+
if (agent.status === "running") {
|
|
68
75
|
await client.cancelAgent(agent.id);
|
|
69
76
|
stoppedIds.push(agent.id);
|
|
70
77
|
}
|
|
@@ -77,7 +84,7 @@ export async function runStopCommand(id, options, _command) {
|
|
|
77
84
|
}
|
|
78
85
|
await client.close();
|
|
79
86
|
return {
|
|
80
|
-
type:
|
|
87
|
+
type: "single",
|
|
81
88
|
data: {
|
|
82
89
|
stoppedCount: stoppedIds.length,
|
|
83
90
|
agentIds: stoppedIds,
|
|
@@ -88,12 +95,12 @@ export async function runStopCommand(id, options, _command) {
|
|
|
88
95
|
catch (err) {
|
|
89
96
|
await client.close().catch(() => { });
|
|
90
97
|
// Re-throw if it's already a CommandError
|
|
91
|
-
if (err && typeof err ===
|
|
98
|
+
if (err && typeof err === "object" && "code" in err) {
|
|
92
99
|
throw err;
|
|
93
100
|
}
|
|
94
101
|
const message = err instanceof Error ? err.message : String(err);
|
|
95
102
|
const error = {
|
|
96
|
-
code:
|
|
103
|
+
code: "STOP_AGENT_FAILED",
|
|
97
104
|
message: `Failed to stop agent(s): ${message}`,
|
|
98
105
|
};
|
|
99
106
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/commands/agent/stop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/commands/agent/stop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAcvE,qCAAqC;AACrC,MAAM,CAAC,MAAM,UAAU,GAA6B;IAClD,8DAA8D;IAC9D,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;CAC5D,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,GAAG;SACP,WAAW,CAAC,6DAA6D,CAAC;SAC1E,QAAQ,CAAC,MAAM,EAAE,6DAA6D,CAAC;SAC/E,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC;SAClC,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC,CAAC;AAC5D,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAsB,EACtB,OAAyB,EACzB,QAAiB;IAEjB,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAA0B,EAAE,CAAC,CAAC;IAEzE,0DAA0D;IAC1D,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACxC,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,sDAAsD;YAC/D,OAAO,EAAE,qDAAqD;SAC/D,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,YAAY,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACrF,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,iCAAiC;YACjC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACvB,2BAA2B;YAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3B,IAAI,CAAC,CAAC,UAAU;oBAAE,OAAO,KAAK,CAAC;gBAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC/C,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,EAAE,EAAE,CAAC;YACd,sBAAsB;YACtB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAiB;oBAC1B,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,4BAA4B,EAAE,EAAE;oBACzC,OAAO,EAAE,yCAAyC;iBACnD,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,yDAAyD;QACzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACnC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,uDAAuD;gBACvD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,OAAO,CAAC,KAAK,CAAC,iCAAiC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAED,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAErB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE;gBACJ,YAAY,EAAE,UAAU,CAAC,MAAM;gBAC/B,QAAQ,EAAE,UAAU;aACrB;YACD,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrC,0CAA0C;QAC1C,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YACpD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,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,mBAAmB;YACzB,OAAO,EAAE,4BAA4B,OAAO,EAAE;SAC/C,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
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 update command */
|
|
4
4
|
export interface AgentUpdateResult {
|
|
5
5
|
agentId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/update.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,2CAA2C;AAC3C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uCAAuC;AACvC,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAOxD,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAmDvE,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,wBAAwB,CAAC,CA8FnC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { connectToDaemon, getDaemonHost } from
|
|
1
|
+
import { connectToDaemon, getDaemonHost } from "../../utils/client.js";
|
|
2
2
|
/** Schema for update command output */
|
|
3
3
|
export const updateSchema = {
|
|
4
|
-
idField:
|
|
4
|
+
idField: "agentId",
|
|
5
5
|
columns: [
|
|
6
|
-
{ header:
|
|
7
|
-
{ header:
|
|
8
|
-
{ header:
|
|
6
|
+
{ header: "AGENT ID", field: "agentId" },
|
|
7
|
+
{ header: "NAME", field: "name" },
|
|
8
|
+
{ header: "LABELS", field: "labels" },
|
|
9
9
|
],
|
|
10
10
|
};
|
|
11
11
|
function parseLabelOptions(labels) {
|
|
@@ -14,17 +14,17 @@ function parseLabelOptions(labels) {
|
|
|
14
14
|
return parsed;
|
|
15
15
|
}
|
|
16
16
|
for (const rawLabel of labels) {
|
|
17
|
-
for (const segment of rawLabel.split(
|
|
17
|
+
for (const segment of rawLabel.split(",")) {
|
|
18
18
|
const label = segment.trim();
|
|
19
19
|
if (!label) {
|
|
20
20
|
continue;
|
|
21
21
|
}
|
|
22
|
-
const eqIndex = label.indexOf(
|
|
22
|
+
const eqIndex = label.indexOf("=");
|
|
23
23
|
if (eqIndex === -1) {
|
|
24
24
|
const error = {
|
|
25
|
-
code:
|
|
25
|
+
code: "INVALID_LABEL",
|
|
26
26
|
message: `Invalid label format: ${label}`,
|
|
27
|
-
details:
|
|
27
|
+
details: "Labels must be in key=value format",
|
|
28
28
|
};
|
|
29
29
|
throw error;
|
|
30
30
|
}
|
|
@@ -32,9 +32,9 @@ function parseLabelOptions(labels) {
|
|
|
32
32
|
const value = label.slice(eqIndex + 1);
|
|
33
33
|
if (!key) {
|
|
34
34
|
const error = {
|
|
35
|
-
code:
|
|
35
|
+
code: "INVALID_LABEL",
|
|
36
36
|
message: `Invalid label format: ${label}`,
|
|
37
|
-
details:
|
|
37
|
+
details: "Labels must include a non-empty key in key=value format",
|
|
38
38
|
};
|
|
39
39
|
throw error;
|
|
40
40
|
}
|
|
@@ -46,36 +46,36 @@ function parseLabelOptions(labels) {
|
|
|
46
46
|
function formatLabels(labels) {
|
|
47
47
|
const entries = Object.entries(labels);
|
|
48
48
|
if (entries.length === 0) {
|
|
49
|
-
return
|
|
49
|
+
return "-";
|
|
50
50
|
}
|
|
51
|
-
return entries.map(([key, value]) => `${key}=${value}`).join(
|
|
51
|
+
return entries.map(([key, value]) => `${key}=${value}`).join(",");
|
|
52
52
|
}
|
|
53
53
|
export async function runUpdateCommand(agentIdArg, options, _command) {
|
|
54
54
|
const host = getDaemonHost({ host: options.host });
|
|
55
55
|
// Validate arguments
|
|
56
56
|
if (!agentIdArg || agentIdArg.trim().length === 0) {
|
|
57
57
|
const error = {
|
|
58
|
-
code:
|
|
59
|
-
message:
|
|
60
|
-
details:
|
|
58
|
+
code: "MISSING_AGENT_ID",
|
|
59
|
+
message: "Agent ID is required",
|
|
60
|
+
details: "Usage: paseo agent update <id> [--name <name>] [--label <key=value>]",
|
|
61
61
|
};
|
|
62
62
|
throw error;
|
|
63
63
|
}
|
|
64
64
|
const name = options.name?.trim();
|
|
65
65
|
if (options.name !== undefined && !name) {
|
|
66
66
|
const error = {
|
|
67
|
-
code:
|
|
68
|
-
message:
|
|
69
|
-
details:
|
|
67
|
+
code: "INVALID_NAME",
|
|
68
|
+
message: "Name cannot be empty",
|
|
69
|
+
details: "Use --name <name> with a non-empty value",
|
|
70
70
|
};
|
|
71
71
|
throw error;
|
|
72
72
|
}
|
|
73
73
|
const labels = parseLabelOptions(options.label);
|
|
74
74
|
if (!name && Object.keys(labels).length === 0) {
|
|
75
75
|
const error = {
|
|
76
|
-
code:
|
|
77
|
-
message:
|
|
78
|
-
details:
|
|
76
|
+
code: "NO_CHANGES_PROVIDED",
|
|
77
|
+
message: "Nothing to update",
|
|
78
|
+
details: "Provide at least one of: --name <name>, --label <key=value>",
|
|
79
79
|
};
|
|
80
80
|
throw error;
|
|
81
81
|
}
|
|
@@ -86,9 +86,9 @@ export async function runUpdateCommand(agentIdArg, options, _command) {
|
|
|
86
86
|
catch (err) {
|
|
87
87
|
const message = err instanceof Error ? err.message : String(err);
|
|
88
88
|
const error = {
|
|
89
|
-
code:
|
|
89
|
+
code: "DAEMON_NOT_RUNNING",
|
|
90
90
|
message: `Cannot connect to daemon at ${host}: ${message}`,
|
|
91
|
-
details:
|
|
91
|
+
details: "Start the daemon with: paseo daemon start",
|
|
92
92
|
};
|
|
93
93
|
throw error;
|
|
94
94
|
}
|
|
@@ -96,7 +96,7 @@ export async function runUpdateCommand(agentIdArg, options, _command) {
|
|
|
96
96
|
const fetchResult = await client.fetchAgent(agentIdArg);
|
|
97
97
|
if (!fetchResult) {
|
|
98
98
|
const error = {
|
|
99
|
-
code:
|
|
99
|
+
code: "AGENT_NOT_FOUND",
|
|
100
100
|
message: `Agent not found: ${agentIdArg}`,
|
|
101
101
|
details: 'Use "paseo ls" to list available agents',
|
|
102
102
|
};
|
|
@@ -113,7 +113,7 @@ export async function runUpdateCommand(agentIdArg, options, _command) {
|
|
|
113
113
|
}
|
|
114
114
|
await client.close();
|
|
115
115
|
return {
|
|
116
|
-
type:
|
|
116
|
+
type: "single",
|
|
117
117
|
data: {
|
|
118
118
|
agentId,
|
|
119
119
|
name: updatedResult.agent.title,
|
|
@@ -125,12 +125,12 @@ export async function runUpdateCommand(agentIdArg, options, _command) {
|
|
|
125
125
|
catch (err) {
|
|
126
126
|
await client.close().catch(() => { });
|
|
127
127
|
// Re-throw CommandError as-is
|
|
128
|
-
if (err && typeof err ===
|
|
128
|
+
if (err && typeof err === "object" && "code" in err) {
|
|
129
129
|
throw err;
|
|
130
130
|
}
|
|
131
131
|
const message = err instanceof Error ? err.message : String(err);
|
|
132
132
|
const error = {
|
|
133
|
-
code:
|
|
133
|
+
code: "UPDATE_FAILED",
|
|
134
134
|
message: `Failed to update agent: ${message}`,
|
|
135
135
|
};
|
|
136
136
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/agent/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/agent/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { CommandOptions, SingleResult, OutputSchema } from
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import type { CommandOptions, SingleResult, OutputSchema } from "../../output/index.js";
|
|
3
3
|
/** Result type for agent wait command */
|
|
4
4
|
export interface AgentWaitResult {
|
|
5
5
|
agentId: string;
|
|
6
|
-
status:
|
|
6
|
+
status: "idle" | "timeout" | "permission" | "error";
|
|
7
7
|
message: string;
|
|
8
8
|
}
|
|
9
9
|
/** Schema for agent wait output */
|
|
@@ -12,5 +12,6 @@ export interface AgentWaitOptions extends CommandOptions {
|
|
|
12
12
|
timeout?: string;
|
|
13
13
|
host?: string;
|
|
14
14
|
}
|
|
15
|
+
export declare function addWaitOptions(cmd: Command): Command;
|
|
15
16
|
export declare function runWaitCommand(agentIdArg: string, options: AgentWaitOptions, _command: Command): Promise<SingleResult<AgentWaitResult>>;
|
|
16
17
|
//# sourceMappingURL=wait.d.ts.map
|