@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
@@ -0,0 +1,97 @@
1
+ import { connectToDaemon, getDaemonHost } from '../../utils/client.js';
2
+ /** Schema for mode list output */
3
+ export const modeListSchema = {
4
+ idField: 'id',
5
+ columns: [
6
+ { header: 'MODE', field: 'id', width: 15 },
7
+ { header: 'LABEL', field: 'label', width: 25 },
8
+ { header: 'DESCRIPTION', field: 'description', width: 40 },
9
+ ],
10
+ };
11
+ /** Schema for set mode output */
12
+ export const setModeSchema = {
13
+ idField: 'agentId',
14
+ columns: [
15
+ { header: 'AGENT ID', field: 'agentId', width: 12 },
16
+ { header: 'MODE', field: 'mode', width: 20 },
17
+ ],
18
+ };
19
+ export async function runModeCommand(id, mode, options, _command) {
20
+ const host = getDaemonHost({ host: options.host });
21
+ // Validate arguments
22
+ if (!options.list && !mode) {
23
+ const error = {
24
+ code: 'MISSING_ARGUMENT',
25
+ message: 'Mode argument required unless --list is specified',
26
+ details: 'Usage: paseo agent mode <id> <mode> | paseo agent mode --list <id>',
27
+ };
28
+ throw error;
29
+ }
30
+ let client;
31
+ try {
32
+ client = await connectToDaemon({ host: options.host });
33
+ }
34
+ catch (err) {
35
+ const message = err instanceof Error ? err.message : String(err);
36
+ const error = {
37
+ code: 'DAEMON_NOT_RUNNING',
38
+ message: `Cannot connect to daemon at ${host}: ${message}`,
39
+ details: 'Start the daemon with: paseo daemon start',
40
+ };
41
+ throw error;
42
+ }
43
+ try {
44
+ const agent = await client.fetchAgent(id);
45
+ if (!agent) {
46
+ const error = {
47
+ code: 'AGENT_NOT_FOUND',
48
+ message: `No agent found matching: ${id}`,
49
+ details: 'Use `paseo ls` to list available agents',
50
+ };
51
+ throw error;
52
+ }
53
+ const resolvedId = agent.id;
54
+ if (options.list) {
55
+ // List available modes for this agent
56
+ const availableModes = agent.availableModes ?? [];
57
+ await client.close();
58
+ const items = availableModes.map((m) => ({
59
+ id: m.id,
60
+ label: m.label,
61
+ description: m.description,
62
+ }));
63
+ return {
64
+ type: 'list',
65
+ data: items,
66
+ schema: modeListSchema,
67
+ };
68
+ }
69
+ else {
70
+ // Set the agent mode
71
+ await client.setAgentMode(resolvedId, mode);
72
+ await client.close();
73
+ return {
74
+ type: 'single',
75
+ data: {
76
+ agentId: resolvedId.slice(0, 7),
77
+ mode: mode,
78
+ },
79
+ schema: setModeSchema,
80
+ };
81
+ }
82
+ }
83
+ catch (err) {
84
+ await client.close().catch(() => { });
85
+ // Re-throw if it's already a CommandError
86
+ if (err && typeof err === 'object' && 'code' in err) {
87
+ throw err;
88
+ }
89
+ const message = err instanceof Error ? err.message : String(err);
90
+ const error = {
91
+ code: 'MODE_OPERATION_FAILED',
92
+ message: `Failed to ${options.list ? 'list modes' : 'set mode'}: ${message}`,
93
+ };
94
+ throw error;
95
+ }
96
+ }
97
+ //# sourceMappingURL=mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode.js","sourceRoot":"","sources":["../../../src/commands/agent/mode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { Command } from 'commander';
2
+ import type { CommandOptions, SingleResult, OutputSchema } from '../../output/index.js';
3
+ /** Result type for agent run command */
4
+ export interface AgentRunResult {
5
+ agentId: string;
6
+ status: 'created' | 'running';
7
+ provider: string;
8
+ cwd: string;
9
+ title: string | null;
10
+ }
11
+ /** Schema for agent run output */
12
+ export declare const agentRunSchema: OutputSchema<AgentRunResult>;
13
+ export interface AgentRunOptions extends CommandOptions {
14
+ detach?: boolean;
15
+ name?: string;
16
+ provider?: string;
17
+ model?: string;
18
+ mode?: string;
19
+ worktree?: string;
20
+ base?: string;
21
+ image?: string[];
22
+ cwd?: string;
23
+ label?: string[];
24
+ ui?: boolean;
25
+ }
26
+ export declare function runRunCommand(prompt: string, options: AgentRunOptions, _command: Command): Promise<SingleResult<AgentRunResult>>;
27
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAgB,MAAM,uBAAuB,CAAA;AAKrG,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,kCAAkC;AAClC,eAAO,MAAM,cAAc,EAAE,YAAY,CAAC,cAAc,CASvD,CAAA;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,EAAE,CAAC,EAAE,OAAO,CAAA;CACb;AAYD,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAiIvC"}
@@ -0,0 +1,146 @@
1
+ import { connectToDaemon, getDaemonHost } from '../../utils/client.js';
2
+ import { readFileSync } from 'node:fs';
3
+ import { resolve } from 'node:path';
4
+ import { lookup } from 'mime-types';
5
+ /** Schema for agent run output */
6
+ export const agentRunSchema = {
7
+ idField: 'agentId',
8
+ columns: [
9
+ { header: 'AGENT ID', field: 'agentId', width: 12 },
10
+ { header: 'STATUS', field: 'status', width: 10 },
11
+ { header: 'PROVIDER', field: 'provider', width: 10 },
12
+ { header: 'CWD', field: 'cwd', width: 30 },
13
+ { header: 'TITLE', field: 'title', width: 20 },
14
+ ],
15
+ };
16
+ function toRunResult(agent) {
17
+ return {
18
+ agentId: agent.id,
19
+ status: agent.status === 'running' ? 'running' : 'created',
20
+ provider: agent.provider,
21
+ cwd: agent.cwd,
22
+ title: agent.title,
23
+ };
24
+ }
25
+ export async function runRunCommand(prompt, options, _command) {
26
+ const host = getDaemonHost({ host: options.host });
27
+ // Validate prompt is provided
28
+ if (!prompt || prompt.trim().length === 0) {
29
+ const error = {
30
+ code: 'MISSING_PROMPT',
31
+ message: 'A prompt is required',
32
+ details: 'Usage: paseo agent run [options] <prompt>',
33
+ };
34
+ throw error;
35
+ }
36
+ // Validate --base is only used with --worktree
37
+ if (options.base && !options.worktree) {
38
+ const error = {
39
+ code: 'INVALID_OPTIONS',
40
+ message: '--base can only be used with --worktree',
41
+ details: 'Usage: paseo agent run --worktree <name> --base <branch> <prompt>',
42
+ };
43
+ throw error;
44
+ }
45
+ let client;
46
+ try {
47
+ client = await connectToDaemon({ host: options.host });
48
+ }
49
+ catch (err) {
50
+ const message = err instanceof Error ? err.message : String(err);
51
+ const error = {
52
+ code: 'DAEMON_NOT_RUNNING',
53
+ message: `Cannot connect to daemon at ${host}: ${message}`,
54
+ details: 'Start the daemon with: paseo daemon start',
55
+ };
56
+ throw error;
57
+ }
58
+ try {
59
+ // Resolve working directory
60
+ const cwd = options.cwd ?? process.cwd();
61
+ // Process images if provided
62
+ let images;
63
+ if (options.image && options.image.length > 0) {
64
+ images = options.image.map((imagePath) => {
65
+ const resolvedPath = resolve(imagePath);
66
+ try {
67
+ const imageData = readFileSync(resolvedPath);
68
+ const mimeType = lookup(resolvedPath) || 'application/octet-stream';
69
+ // Verify it's an image MIME type
70
+ if (!mimeType.startsWith('image/')) {
71
+ throw new Error(`File is not an image: ${imagePath} (detected type: ${mimeType})`);
72
+ }
73
+ return {
74
+ data: imageData.toString('base64'),
75
+ mimeType,
76
+ };
77
+ }
78
+ catch (err) {
79
+ const message = err instanceof Error ? err.message : String(err);
80
+ throw new Error(`Failed to read image ${imagePath}: ${message}`);
81
+ }
82
+ });
83
+ }
84
+ // Build git options if worktree is specified
85
+ const git = options.worktree
86
+ ? {
87
+ createWorktree: true,
88
+ worktreeSlug: options.worktree,
89
+ baseBranch: options.base,
90
+ }
91
+ : undefined;
92
+ // Build labels from --label and --ui flags
93
+ // --ui is syntactic sugar for --label ui=true
94
+ // If explicit --label ui=... is provided, it takes precedence over --ui
95
+ const labels = {};
96
+ if (options.label) {
97
+ for (const labelStr of options.label) {
98
+ const eqIndex = labelStr.indexOf('=');
99
+ if (eqIndex === -1) {
100
+ const error = {
101
+ code: 'INVALID_LABEL',
102
+ message: `Invalid label format: ${labelStr}`,
103
+ details: 'Labels must be in key=value format',
104
+ };
105
+ throw error;
106
+ }
107
+ const key = labelStr.slice(0, eqIndex);
108
+ const value = labelStr.slice(eqIndex + 1);
109
+ labels[key] = value;
110
+ }
111
+ }
112
+ // Add ui=true if --ui flag is set and ui label not already set
113
+ if (options.ui && !('ui' in labels)) {
114
+ labels['ui'] = 'true';
115
+ }
116
+ // Create the agent
117
+ const agent = await client.createAgent({
118
+ provider: options.provider ?? 'claude',
119
+ cwd,
120
+ title: options.name,
121
+ modeId: options.mode,
122
+ model: options.model,
123
+ initialPrompt: prompt,
124
+ images,
125
+ git,
126
+ worktreeName: options.worktree,
127
+ labels: Object.keys(labels).length > 0 ? labels : undefined,
128
+ });
129
+ await client.close();
130
+ return {
131
+ type: 'single',
132
+ data: toRunResult(agent),
133
+ schema: agentRunSchema,
134
+ };
135
+ }
136
+ catch (err) {
137
+ await client.close().catch(() => { });
138
+ const message = err instanceof Error ? err.message : String(err);
139
+ const error = {
140
+ code: 'AGENT_CREATE_FAILED',
141
+ message: `Failed to create agent: ${message}`,
142
+ };
143
+ throw error;
144
+ }
145
+ }
146
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/agent/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAWnC,kCAAkC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAiC;IAC1D,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE;QACP,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;QACnD,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;QAChD,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;QACpD,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1C,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;KAC/C;CACF,CAAA;AAgBD,SAAS,WAAW,CAAC,KAA2B;IAC9C,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC1D,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,OAAwB,EACxB,QAAiB;IAEjB,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAA0B,EAAE,CAAC,CAAA;IAExE,8BAA8B;IAC9B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,2CAA2C;SACrD,CAAA;QACD,MAAM,KAAK,CAAA;IACb,CAAC;IAED,+CAA+C;IAC/C,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,yCAAyC;YAClD,OAAO,EAAE,mEAAmE;SAC7E,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,4BAA4B;QAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QAExC,6BAA6B;QAC7B,IAAI,MAA6D,CAAA;QACjE,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBACvC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;gBACvC,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;oBAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,0BAA0B,CAAA;oBAEnE,iCAAiC;oBACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,oBAAoB,QAAQ,GAAG,CAAC,CAAA;oBACpF,CAAC;oBAED,OAAO;wBACL,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAClC,QAAQ;qBACT,CAAA;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;oBAChE,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,KAAK,OAAO,EAAE,CAAC,CAAA;gBAClE,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ;YAC1B,CAAC,CAAC;gBACE,cAAc,EAAE,IAAI;gBACpB,YAAY,EAAE,OAAO,CAAC,QAAQ;gBAC9B,UAAU,EAAE,OAAO,CAAC,IAAI;aACzB;YACH,CAAC,CAAC,SAAS,CAAA;QAEb,2CAA2C;QAC3C,8CAA8C;QAC9C,wEAAwE;QACxE,MAAM,MAAM,GAA2B,EAAE,CAAA;QACzC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBACrC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;oBACnB,MAAM,KAAK,GAAiB;wBAC1B,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,yBAAyB,QAAQ,EAAE;wBAC5C,OAAO,EAAE,oCAAoC;qBAC9C,CAAA;oBACD,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;gBACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;gBACzC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YACrB,CAAC;QACH,CAAC;QACD,+DAA+D;QAC/D,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;QACvB,CAAC;QAED,mBAAmB;QACnB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;YACrC,QAAQ,EAAG,OAAO,CAAC,QAA4C,IAAI,QAAQ;YAC3E,GAAG;YACH,KAAK,EAAE,OAAO,CAAC,IAAI;YACnB,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,MAAM;YACrB,MAAM;YACN,GAAG;YACH,YAAY,EAAE,OAAO,CAAC,QAAQ;YAC9B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QAEpB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;YACxB,MAAM,EAAE,cAAc;SACvB,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACpC,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,qBAAqB;YAC3B,OAAO,EAAE,2BAA2B,OAAO,EAAE;SAC9C,CAAA;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { Command } from 'commander';
2
+ import type { CommandOptions, SingleResult, OutputSchema } from '../../output/index.js';
3
+ /** Result type for agent send command */
4
+ export interface AgentSendResult {
5
+ agentId: string;
6
+ status: 'sent' | 'completed' | 'timeout' | 'permission' | 'error';
7
+ message: string;
8
+ }
9
+ /** Schema for agent send output */
10
+ export declare const agentSendSchema: OutputSchema<AgentSendResult>;
11
+ export interface AgentSendOptions extends CommandOptions {
12
+ noWait?: boolean;
13
+ image?: string[];
14
+ }
15
+ export declare function runSendCommand(agentIdArg: string, prompt: string, options: AgentSendOptions, _command: Command): Promise<SingleResult<AgentSendResult>>;
16
+ //# sourceMappingURL=send.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/send.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;AAIrG,yCAAyC;AACzC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAA;IACjE,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,mCAAmC;AACnC,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,eAAe,CAOzD,CAAA;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAqDD,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CA4HxC"}
@@ -0,0 +1,172 @@
1
+ import { connectToDaemon, getDaemonHost } from '../../utils/client.js';
2
+ import { readFile } from 'node:fs/promises';
3
+ import { extname } from 'node:path';
4
+ /** Schema for agent send output */
5
+ export const agentSendSchema = {
6
+ idField: 'agentId',
7
+ columns: [
8
+ { header: 'AGENT ID', field: 'agentId', width: 12 },
9
+ { header: 'STATUS', field: 'status', width: 12 },
10
+ { header: 'MESSAGE', field: 'message', width: 40 },
11
+ ],
12
+ };
13
+ /**
14
+ * Read image files and convert them to base64 data URIs
15
+ */
16
+ async function readImageFiles(imagePaths) {
17
+ const images = [];
18
+ for (const path of imagePaths) {
19
+ try {
20
+ const buffer = await readFile(path);
21
+ const ext = extname(path).toLowerCase();
22
+ // Determine media type from extension
23
+ let mimeType = 'image/jpeg';
24
+ switch (ext) {
25
+ case '.png':
26
+ mimeType = 'image/png';
27
+ break;
28
+ case '.jpg':
29
+ case '.jpeg':
30
+ mimeType = 'image/jpeg';
31
+ break;
32
+ case '.gif':
33
+ mimeType = 'image/gif';
34
+ break;
35
+ case '.webp':
36
+ mimeType = 'image/webp';
37
+ break;
38
+ default:
39
+ // Default to jpeg for unknown types
40
+ mimeType = 'image/jpeg';
41
+ }
42
+ const data = buffer.toString('base64');
43
+ images.push({
44
+ data,
45
+ mimeType,
46
+ });
47
+ }
48
+ catch (err) {
49
+ const message = err instanceof Error ? err.message : String(err);
50
+ const error = {
51
+ code: 'IMAGE_READ_ERROR',
52
+ message: `Failed to read image file: ${path}`,
53
+ details: message,
54
+ };
55
+ throw error;
56
+ }
57
+ }
58
+ return images;
59
+ }
60
+ export async function runSendCommand(agentIdArg, prompt, options, _command) {
61
+ const host = getDaemonHost({ host: options.host });
62
+ // Validate arguments
63
+ if (!agentIdArg || agentIdArg.trim().length === 0) {
64
+ const error = {
65
+ code: 'MISSING_AGENT_ID',
66
+ message: 'Agent ID is required',
67
+ details: 'Usage: paseo agent send [options] <id> <prompt>',
68
+ };
69
+ throw error;
70
+ }
71
+ if (!prompt || prompt.trim().length === 0) {
72
+ const error = {
73
+ code: 'MISSING_PROMPT',
74
+ message: 'A prompt is required',
75
+ details: 'Usage: paseo agent send [options] <id> <prompt>',
76
+ };
77
+ throw error;
78
+ }
79
+ let client;
80
+ try {
81
+ client = await connectToDaemon({ host: options.host });
82
+ }
83
+ catch (err) {
84
+ const message = err instanceof Error ? err.message : String(err);
85
+ const error = {
86
+ code: 'DAEMON_NOT_RUNNING',
87
+ message: `Cannot connect to daemon at ${host}: ${message}`,
88
+ details: 'Start the daemon with: paseo daemon start',
89
+ };
90
+ throw error;
91
+ }
92
+ try {
93
+ // Read image files if provided
94
+ const images = options.image && options.image.length > 0
95
+ ? await readImageFiles(options.image)
96
+ : undefined;
97
+ // Send the message
98
+ await client.sendAgentMessage(agentIdArg, prompt, { images });
99
+ // If --no-wait, return immediately
100
+ if (options.noWait) {
101
+ await client.close();
102
+ return {
103
+ type: 'single',
104
+ data: {
105
+ agentId: agentIdArg,
106
+ status: 'sent',
107
+ message: 'Message sent, not waiting for completion',
108
+ },
109
+ schema: agentSendSchema,
110
+ };
111
+ }
112
+ // Wait for agent to finish
113
+ const state = await client.waitForFinish(agentIdArg, 600000); // 10 minute timeout
114
+ await client.close();
115
+ if (state.status === 'timeout') {
116
+ return {
117
+ type: 'single',
118
+ data: {
119
+ agentId: state.final?.id ?? agentIdArg,
120
+ status: 'timeout',
121
+ message: 'Timed out waiting for agent to finish',
122
+ },
123
+ schema: agentSendSchema,
124
+ };
125
+ }
126
+ if (state.status === 'permission') {
127
+ return {
128
+ type: 'single',
129
+ data: {
130
+ agentId: state.final?.id ?? agentIdArg,
131
+ status: 'permission',
132
+ message: 'Agent is waiting for permission',
133
+ },
134
+ schema: agentSendSchema,
135
+ };
136
+ }
137
+ if (state.status === 'error') {
138
+ return {
139
+ type: 'single',
140
+ data: {
141
+ agentId: state.final?.id ?? agentIdArg,
142
+ status: 'error',
143
+ message: state.error ?? 'Agent finished with error',
144
+ },
145
+ schema: agentSendSchema,
146
+ };
147
+ }
148
+ return {
149
+ type: 'single',
150
+ data: {
151
+ agentId: state.final?.id ?? agentIdArg,
152
+ status: 'completed',
153
+ message: 'Agent completed processing the message',
154
+ },
155
+ schema: agentSendSchema,
156
+ };
157
+ }
158
+ catch (err) {
159
+ await client.close().catch(() => { });
160
+ // Re-throw CommandError as-is
161
+ if (err && typeof err === 'object' && 'code' in err) {
162
+ throw err;
163
+ }
164
+ const message = err instanceof Error ? err.message : String(err);
165
+ const error = {
166
+ code: 'SEND_FAILED',
167
+ message: `Failed to send message: ${message}`,
168
+ };
169
+ throw error;
170
+ }
171
+ }
172
+ //# sourceMappingURL=send.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/commands/agent/send.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Command } from 'commander';
2
+ import type { CommandOptions, SingleResult, OutputSchema } from '../../output/index.js';
3
+ /** Result type for agent stop command */
4
+ export interface StopResult {
5
+ stoppedCount: number;
6
+ agentIds: string[];
7
+ }
8
+ /** Schema for stop command output */
9
+ export declare const stopSchema: OutputSchema<StopResult>;
10
+ export interface AgentStopOptions extends CommandOptions {
11
+ all?: boolean;
12
+ cwd?: string;
13
+ }
14
+ export type AgentStopResult = SingleResult<StopResult>;
15
+ export declare function runStopCommand(id: string | undefined, options: AgentStopOptions, _command: Command): Promise<AgentStopResult>;
16
+ //# sourceMappingURL=stop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/stop.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,yCAAyC;AACzC,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,qCAAqC;AACrC,eAAO,MAAM,UAAU,EAAE,YAAY,CAAC,UAAU,CAI/C,CAAA;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;AAEtD,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,eAAe,CAAC,CAgG1B"}
@@ -0,0 +1,104 @@
1
+ import { connectToDaemon, getDaemonHost } from '../../utils/client.js';
2
+ /** Schema for stop command output */
3
+ export const stopSchema = {
4
+ // For quiet mode, output the stopped agent IDs (one per line)
5
+ idField: (item) => item.agentIds.join('\n'),
6
+ columns: [{ header: 'STOPPED', field: 'stoppedCount' }],
7
+ };
8
+ export async function runStopCommand(id, options, _command) {
9
+ const host = getDaemonHost({ host: options.host });
10
+ // Validate arguments - need either an id, --all, or --cwd
11
+ if (!id && !options.all && !options.cwd) {
12
+ const error = {
13
+ code: 'MISSING_ARGUMENT',
14
+ message: 'Agent ID required unless --all or --cwd is specified',
15
+ details: 'Usage: paseo agent stop <id> | --all | --cwd <path>',
16
+ };
17
+ throw error;
18
+ }
19
+ let client;
20
+ try {
21
+ client = await connectToDaemon({ host: options.host });
22
+ }
23
+ catch (err) {
24
+ const message = err instanceof Error ? err.message : String(err);
25
+ const error = {
26
+ code: 'DAEMON_NOT_RUNNING',
27
+ message: `Cannot connect to daemon at ${host}: ${message}`,
28
+ details: 'Start the daemon with: paseo daemon start',
29
+ };
30
+ throw error;
31
+ }
32
+ try {
33
+ let agents = await client.fetchAgents();
34
+ const stoppedIds = [];
35
+ if (options.all) {
36
+ // Stop all agents (not archived)
37
+ agents = agents.filter((a) => !a.archivedAt);
38
+ }
39
+ else if (options.cwd) {
40
+ // Stop agents in directory
41
+ const filterCwd = options.cwd;
42
+ agents = agents.filter((a) => {
43
+ if (a.archivedAt)
44
+ return false;
45
+ const agentCwd = a.cwd.replace(/\/$/, '');
46
+ const targetCwd = filterCwd.replace(/\/$/, '');
47
+ return agentCwd === targetCwd || agentCwd.startsWith(targetCwd + '/');
48
+ });
49
+ }
50
+ else if (id) {
51
+ // Stop specific agent
52
+ const agent = await client.fetchAgent(id);
53
+ if (!agent) {
54
+ const error = {
55
+ code: 'AGENT_NOT_FOUND',
56
+ message: `No agent found matching: ${id}`,
57
+ details: 'Use `paseo ls` to list available agents',
58
+ };
59
+ throw error;
60
+ }
61
+ agents = [agent];
62
+ }
63
+ // Stop each agent
64
+ for (const agent of agents) {
65
+ try {
66
+ // Cancel if running
67
+ if (agent.status === 'running') {
68
+ await client.cancelAgent(agent.id);
69
+ }
70
+ // Delete the agent
71
+ await client.deleteAgent(agent.id);
72
+ stoppedIds.push(agent.id);
73
+ }
74
+ catch (err) {
75
+ // Continue stopping other agents even if one fails
76
+ const message = err instanceof Error ? err.message : String(err);
77
+ console.error(`Warning: Failed to stop agent ${agent.id.slice(0, 7)}: ${message}`);
78
+ }
79
+ }
80
+ await client.close();
81
+ return {
82
+ type: 'single',
83
+ data: {
84
+ stoppedCount: stoppedIds.length,
85
+ agentIds: stoppedIds,
86
+ },
87
+ schema: stopSchema,
88
+ };
89
+ }
90
+ catch (err) {
91
+ await client.close().catch(() => { });
92
+ // Re-throw if it's already a CommandError
93
+ if (err && typeof err === 'object' && 'code' in err) {
94
+ throw err;
95
+ }
96
+ const message = err instanceof Error ? err.message : String(err);
97
+ const error = {
98
+ code: 'STOP_AGENT_FAILED',
99
+ message: `Failed to stop agent(s): ${message}`,
100
+ };
101
+ throw error;
102
+ }
103
+ }
104
+ //# sourceMappingURL=stop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/commands/agent/stop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Command } from 'commander';
2
+ import type { CommandOptions, SingleResult, OutputSchema } from '../../output/index.js';
3
+ /** Result type for agent wait command */
4
+ export interface AgentWaitResult {
5
+ agentId: string;
6
+ status: 'idle' | 'timeout' | 'permission' | 'error';
7
+ message: string;
8
+ }
9
+ /** Schema for agent wait output */
10
+ export declare const agentWaitSchema: OutputSchema<AgentWaitResult>;
11
+ export interface AgentWaitOptions extends CommandOptions {
12
+ timeout?: string;
13
+ host?: string;
14
+ }
15
+ export declare function runWaitCommand(agentIdArg: string, options: AgentWaitOptions, _command: Command): Promise<SingleResult<AgentWaitResult>>;
16
+ //# sourceMappingURL=wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/wait.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,yCAAyC;AACzC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAA;IACnD,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,mCAAmC;AACnC,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,eAAe,CAOzD,CAAA;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AA8CD,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAiIxC"}