@getpaseo/cli 0.1.2 → 0.1.3
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.map +1 -1
- package/dist/cli.js +13 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent/index.d.ts.map +1 -1
- package/dist/commands/agent/index.js +11 -0
- package/dist/commands/agent/index.js.map +1 -1
- package/dist/commands/agent/run.d.ts +2 -1
- package/dist/commands/agent/run.d.ts.map +1 -1
- package/dist/commands/agent/run.js +202 -2
- package/dist/commands/agent/run.js.map +1 -1
- package/dist/commands/agent/update.d.ts +18 -0
- package/dist/commands/agent/update.d.ts.map +1 -0
- package/dist/commands/agent/update.js +139 -0
- package/dist/commands/agent/update.js.map +1 -0
- package/dist/commands/onboard.d.ts +10 -0
- package/dist/commands/onboard.d.ts.map +1 -0
- package/dist/commands/onboard.js +551 -0
- package/dist/commands/onboard.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/output/with-output.d.ts.map +1 -1
- package/dist/output/with-output.js +9 -0
- package/dist/output/with-output.js.map +1 -1
- package/package.json +4 -3
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,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA6BnC,wBAAgB,SAAS,IAAI,OAAO,CAmKnC"}
|
package/dist/cli.js
CHANGED
|
@@ -16,7 +16,9 @@ import { runSendCommand } from './commands/agent/send.js';
|
|
|
16
16
|
import { runInspectCommand } from './commands/agent/inspect.js';
|
|
17
17
|
import { runWaitCommand } from './commands/agent/wait.js';
|
|
18
18
|
import { runAttachCommand } from './commands/agent/attach.js';
|
|
19
|
+
import { runUpdateCommand } from './commands/agent/update.js';
|
|
19
20
|
import { withOutput } from './output/index.js';
|
|
21
|
+
import { onboardCommand } from './commands/onboard.js';
|
|
20
22
|
const VERSION = '0.1.0';
|
|
21
23
|
// Helper function to collect multiple option values into an array
|
|
22
24
|
function collectMultiple(value, previous) {
|
|
@@ -59,6 +61,7 @@ export function createCli() {
|
|
|
59
61
|
.option('--cwd <path>', 'Working directory (default: current)')
|
|
60
62
|
.option('--label <key=value>', 'Add label(s) to the agent (can be used multiple times)', collectMultiple, [])
|
|
61
63
|
.option('--ui', 'Mark as UI agent (equivalent to --label ui=true)')
|
|
64
|
+
.option('--output-schema <schema>', 'Output JSON matching the provided schema file path or inline JSON schema')
|
|
62
65
|
.option('--json', 'Output in JSON format')
|
|
63
66
|
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
64
67
|
.action(withOutput(runRunCommand));
|
|
@@ -112,7 +115,17 @@ export function createCli() {
|
|
|
112
115
|
.option('--json', 'Output in JSON format')
|
|
113
116
|
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
114
117
|
.action(withOutput(runWaitCommand));
|
|
118
|
+
program
|
|
119
|
+
.command('update')
|
|
120
|
+
.description('Update an agent (alias for "paseo agent update")')
|
|
121
|
+
.argument('<id>', 'Agent ID (or prefix)')
|
|
122
|
+
.option('--name <name>', "Update the agent's display name")
|
|
123
|
+
.option('--label <label>', 'Add/set label(s) on the agent (can be used multiple times or comma-separated)', collectMultiple, [])
|
|
124
|
+
.option('--json', 'Output in JSON format')
|
|
125
|
+
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
126
|
+
.action(withOutput(runUpdateCommand));
|
|
115
127
|
// Top-level local daemon shortcuts
|
|
128
|
+
program.addCommand(onboardCommand());
|
|
116
129
|
program.addCommand(daemonStartCommand());
|
|
117
130
|
program
|
|
118
131
|
.command('status')
|
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,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/E,OAAO,EAAE,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACxF,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAcnC,wBAAgB,kBAAkB,IAAI,OAAO,CA8H5C"}
|
|
@@ -9,6 +9,7 @@ import { runSendCommand } from './send.js';
|
|
|
9
9
|
import { runInspectCommand } from './inspect.js';
|
|
10
10
|
import { runWaitCommand } from './wait.js';
|
|
11
11
|
import { runAttachCommand } from './attach.js';
|
|
12
|
+
import { runUpdateCommand } from './update.js';
|
|
12
13
|
import { withOutput } from '../../output/index.js';
|
|
13
14
|
export function createAgentCommand() {
|
|
14
15
|
const agent = new Command('agent').description('Manage agents (advanced operations)');
|
|
@@ -38,6 +39,7 @@ export function createAgentCommand() {
|
|
|
38
39
|
.option('--cwd <path>', 'Working directory (default: current)')
|
|
39
40
|
.option('--label <key=value>', 'Add label(s) to the agent (can be used multiple times)', collectMultiple, [])
|
|
40
41
|
.option('--ui', 'Mark as UI agent (equivalent to --label ui=true)')
|
|
42
|
+
.option('--output-schema <schema>', 'Output JSON matching the provided schema file path or inline JSON schema')
|
|
41
43
|
.option('--json', 'Output in JSON format')
|
|
42
44
|
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
43
45
|
.action(withOutput(runRunCommand));
|
|
@@ -107,6 +109,15 @@ export function createAgentCommand() {
|
|
|
107
109
|
.option('--json', 'Output in JSON format')
|
|
108
110
|
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
109
111
|
.action(withOutput(runArchiveCommand));
|
|
112
|
+
agent
|
|
113
|
+
.command('update')
|
|
114
|
+
.description("Update an agent's metadata")
|
|
115
|
+
.argument('<id>', 'Agent ID (or prefix)')
|
|
116
|
+
.option('--name <name>', "Update the agent's display name")
|
|
117
|
+
.option('--label <label>', 'Add/set label(s) on the agent (can be used multiple times or comma-separated)', collectMultiple, [])
|
|
118
|
+
.option('--json', 'Output in JSON format')
|
|
119
|
+
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
120
|
+
.action(withOutput(runUpdateCommand));
|
|
110
121
|
return agent;
|
|
111
122
|
}
|
|
112
123
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAA;IAErF,kEAAkE;IAClE,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,QAAkB,EAAY,EAAE;QACtE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IACjC,CAAC,CAAA;IAED,6CAA6C;IAC7C,KAAK;SACF,OAAO,CAAC,IAAI,CAAC;SACb,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,WAAW,EAAE,yBAAyB,CAAC;SAC9C,MAAM,CAAC,cAAc,EAAE,uCAAuC,CAAC;SAC/D,MAAM,CAAC,qBAAqB,EAAE,8CAA8C,EAAE,eAAe,EAAE,EAAE,CAAC;SAClG,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;IAEnC,KAAK;SACF,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,uCAAuC,CAAC;SACpD,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;SACrD,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;SACtD,MAAM,CAAC,eAAe,EAAE,kCAAkC,CAAC;SAC3D,MAAM,CAAC,uBAAuB,EAAE,2CAA2C,EAAE,QAAQ,CAAC;SACtF,MAAM,CAAC,iBAAiB,EAAE,0EAA0E,CAAC;SACrG,MAAM,CAAC,eAAe,EAAE,sDAAsD,CAAC;SAC/E,MAAM,CAAC,cAAc,EAAE,sCAAsC,CAAC;SAC9D,MAAM,CAAC,qBAAqB,EAAE,wDAAwD,EAAE,eAAe,EAAE,EAAE,CAAC;SAC5G,MAAM,CAAC,MAAM,EAAE,kDAAkD,CAAC;SAClE,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;IAEpC,KAAK;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2CAA2C,CAAC;SACxD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAE3B,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8BAA8B,CAAC;SAC3C,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,cAAc,EAAE,+BAA+B,CAAC;SACvD,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC;SAC3C,MAAM,CAAC,iBAAiB,EAAE,yDAAyD,CAAC;SACpF,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,cAAc,CAAC,CAAA;IAEzB,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mDAAmD,CAAC;SAChE,QAAQ,CAAC,MAAM,EAAE,6DAA6D,CAAC;SAC/E,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC;SAClC,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;IAErC,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,0CAA0C,CAAC;SACvD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;SACxC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;SAC3C,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;SACxE,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;IAErC,KAAK;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,0CAA0C,CAAC;SACvD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAExC,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kCAAkC,CAAC;SAC/C,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;SACjE,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;IAErC,mDAAmD;IACnD,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,oCAAoC,CAAC;SACjD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;SACxC,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,qCAAqC,CAAC;SACvD,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;IAErC,KAAK;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,SAAS,EAAE,6BAA6B,CAAC;SAChD,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAExC,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import type { CommandOptions, SingleResult, OutputSchema } from '../../output/in
|
|
|
3
3
|
/** Result type for agent run command */
|
|
4
4
|
export interface AgentRunResult {
|
|
5
5
|
agentId: string;
|
|
6
|
-
status: 'created' | 'running';
|
|
6
|
+
status: 'created' | 'running' | 'completed' | 'timeout' | 'permission' | 'error';
|
|
7
7
|
provider: string;
|
|
8
8
|
cwd: string;
|
|
9
9
|
title: string | null;
|
|
@@ -22,6 +22,7 @@ export interface AgentRunOptions extends CommandOptions {
|
|
|
22
22
|
cwd?: string;
|
|
23
23
|
label?: string[];
|
|
24
24
|
ui?: boolean;
|
|
25
|
+
outputSchema?: string;
|
|
25
26
|
}
|
|
26
27
|
export declare function runRunCommand(prompt: string, options: AgentRunOptions, _command: Command): Promise<SingleResult<AgentRunResult>>;
|
|
27
28
|
//# sourceMappingURL=run.d.ts.map
|
|
@@ -1 +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;
|
|
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,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAA;IAChF,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;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAoKD,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAgNvC"}
|
|
@@ -13,17 +13,153 @@ export const agentRunSchema = {
|
|
|
13
13
|
{ header: 'TITLE', field: 'title', width: 20 },
|
|
14
14
|
],
|
|
15
15
|
};
|
|
16
|
-
function toRunResult(agent) {
|
|
16
|
+
function toRunResult(agent, statusOverride) {
|
|
17
17
|
return {
|
|
18
18
|
agentId: agent.id,
|
|
19
|
-
status: agent.status === 'running' ? 'running' : 'created',
|
|
19
|
+
status: statusOverride ?? (agent.status === 'running' ? 'running' : 'created'),
|
|
20
20
|
provider: agent.provider,
|
|
21
21
|
cwd: agent.cwd,
|
|
22
22
|
title: agent.title,
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
+
function loadOutputSchema(value) {
|
|
26
|
+
const trimmed = value.trim();
|
|
27
|
+
if (!trimmed) {
|
|
28
|
+
const error = {
|
|
29
|
+
code: 'INVALID_OUTPUT_SCHEMA',
|
|
30
|
+
message: '--output-schema cannot be empty',
|
|
31
|
+
details: 'Provide a JSON schema file path or inline JSON object',
|
|
32
|
+
};
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
let source = trimmed;
|
|
36
|
+
if (!trimmed.startsWith('{')) {
|
|
37
|
+
try {
|
|
38
|
+
source = readFileSync(resolve(trimmed), 'utf8');
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
42
|
+
const error = {
|
|
43
|
+
code: 'INVALID_OUTPUT_SCHEMA',
|
|
44
|
+
message: `Failed to read output schema file: ${trimmed}`,
|
|
45
|
+
details: message,
|
|
46
|
+
};
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
let parsed;
|
|
51
|
+
try {
|
|
52
|
+
parsed = JSON.parse(source);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
56
|
+
const error = {
|
|
57
|
+
code: 'INVALID_OUTPUT_SCHEMA',
|
|
58
|
+
message: 'Failed to parse output schema JSON',
|
|
59
|
+
details: message,
|
|
60
|
+
};
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
64
|
+
const error = {
|
|
65
|
+
code: 'INVALID_OUTPUT_SCHEMA',
|
|
66
|
+
message: 'Output schema must be a JSON object',
|
|
67
|
+
};
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
return parsed;
|
|
71
|
+
}
|
|
72
|
+
function extractFirstJsonObject(text) {
|
|
73
|
+
const source = text.trim();
|
|
74
|
+
if (!source) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
const startIndexes = [];
|
|
78
|
+
for (let i = 0; i < source.length; i += 1) {
|
|
79
|
+
if (source[i] === '{') {
|
|
80
|
+
startIndexes.push(i);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
for (const start of startIndexes) {
|
|
84
|
+
let depth = 0;
|
|
85
|
+
let inString = false;
|
|
86
|
+
let escaped = false;
|
|
87
|
+
for (let i = start; i < source.length; i += 1) {
|
|
88
|
+
const ch = source[i];
|
|
89
|
+
if (inString) {
|
|
90
|
+
if (escaped) {
|
|
91
|
+
escaped = false;
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
if (ch === '\\') {
|
|
95
|
+
escaped = true;
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
if (ch === '"') {
|
|
99
|
+
inString = false;
|
|
100
|
+
}
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
if (ch === '"') {
|
|
104
|
+
inString = true;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (ch === '{') {
|
|
108
|
+
depth += 1;
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (ch === '}') {
|
|
112
|
+
depth -= 1;
|
|
113
|
+
if (depth === 0) {
|
|
114
|
+
const candidate = source.slice(start, i + 1).trim();
|
|
115
|
+
try {
|
|
116
|
+
JSON.parse(candidate);
|
|
117
|
+
return candidate;
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
// Keep scanning.
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
function parseStructuredOutput(lastMessage) {
|
|
129
|
+
const trimmed = lastMessage.trim();
|
|
130
|
+
const fenced = trimmed.match(/```(?:json)?\s*\n([\s\S]*?)\n```/);
|
|
131
|
+
const jsonText = fenced?.[1]?.trim() ?? extractFirstJsonObject(trimmed) ?? trimmed;
|
|
132
|
+
let parsed;
|
|
133
|
+
try {
|
|
134
|
+
parsed = JSON.parse(jsonText);
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
138
|
+
const error = {
|
|
139
|
+
code: 'OUTPUT_SCHEMA_FAILED',
|
|
140
|
+
message: 'Agent response is not valid JSON',
|
|
141
|
+
details: message,
|
|
142
|
+
};
|
|
143
|
+
throw error;
|
|
144
|
+
}
|
|
145
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
146
|
+
const error = {
|
|
147
|
+
code: 'OUTPUT_SCHEMA_FAILED',
|
|
148
|
+
message: 'Agent response JSON must be an object',
|
|
149
|
+
};
|
|
150
|
+
throw error;
|
|
151
|
+
}
|
|
152
|
+
return parsed;
|
|
153
|
+
}
|
|
154
|
+
function structuredRunSchema(output) {
|
|
155
|
+
return {
|
|
156
|
+
...agentRunSchema,
|
|
157
|
+
serialize: () => output,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
25
160
|
export async function runRunCommand(prompt, options, _command) {
|
|
26
161
|
const host = getDaemonHost({ host: options.host });
|
|
162
|
+
const outputSchema = options.outputSchema ? loadOutputSchema(options.outputSchema) : undefined;
|
|
27
163
|
// Validate prompt is provided
|
|
28
164
|
if (!prompt || prompt.trim().length === 0) {
|
|
29
165
|
const error = {
|
|
@@ -42,6 +178,15 @@ export async function runRunCommand(prompt, options, _command) {
|
|
|
42
178
|
};
|
|
43
179
|
throw error;
|
|
44
180
|
}
|
|
181
|
+
// --output-schema always runs in attached/wait mode
|
|
182
|
+
if (outputSchema && options.detach) {
|
|
183
|
+
const error = {
|
|
184
|
+
code: 'INVALID_OPTIONS',
|
|
185
|
+
message: '--output-schema cannot be used with --detach',
|
|
186
|
+
details: 'Structured output requires waiting for the agent to finish',
|
|
187
|
+
};
|
|
188
|
+
throw error;
|
|
189
|
+
}
|
|
45
190
|
let client;
|
|
46
191
|
try {
|
|
47
192
|
client = await connectToDaemon({ host: options.host });
|
|
@@ -121,11 +266,63 @@ export async function runRunCommand(prompt, options, _command) {
|
|
|
121
266
|
modeId: options.mode,
|
|
122
267
|
model: options.model,
|
|
123
268
|
initialPrompt: prompt,
|
|
269
|
+
outputSchema,
|
|
124
270
|
images,
|
|
125
271
|
git,
|
|
126
272
|
worktreeName: options.worktree,
|
|
127
273
|
labels: Object.keys(labels).length > 0 ? labels : undefined,
|
|
128
274
|
});
|
|
275
|
+
if (outputSchema) {
|
|
276
|
+
const state = await client.waitForFinish(agent.id, 10 * 60 * 1000);
|
|
277
|
+
if (state.status === 'timeout') {
|
|
278
|
+
const error = {
|
|
279
|
+
code: 'OUTPUT_SCHEMA_FAILED',
|
|
280
|
+
message: 'Timed out waiting for structured output',
|
|
281
|
+
};
|
|
282
|
+
throw error;
|
|
283
|
+
}
|
|
284
|
+
if (state.status === 'permission') {
|
|
285
|
+
const error = {
|
|
286
|
+
code: 'OUTPUT_SCHEMA_FAILED',
|
|
287
|
+
message: 'Agent is waiting for permission before producing structured output',
|
|
288
|
+
};
|
|
289
|
+
throw error;
|
|
290
|
+
}
|
|
291
|
+
if (state.status === 'error') {
|
|
292
|
+
const error = {
|
|
293
|
+
code: 'OUTPUT_SCHEMA_FAILED',
|
|
294
|
+
message: state.error ?? 'Agent failed before producing structured output',
|
|
295
|
+
};
|
|
296
|
+
throw error;
|
|
297
|
+
}
|
|
298
|
+
const lastMessage = state.lastMessage?.trim();
|
|
299
|
+
if (!lastMessage) {
|
|
300
|
+
const error = {
|
|
301
|
+
code: 'OUTPUT_SCHEMA_FAILED',
|
|
302
|
+
message: 'Agent finished without a structured output message',
|
|
303
|
+
};
|
|
304
|
+
throw error;
|
|
305
|
+
}
|
|
306
|
+
const output = parseStructuredOutput(lastMessage);
|
|
307
|
+
await client.close();
|
|
308
|
+
return {
|
|
309
|
+
type: 'single',
|
|
310
|
+
data: toRunResult(agent, 'completed'),
|
|
311
|
+
schema: structuredRunSchema(output),
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
// Default run behavior is foreground: wait for completion unless --detach is set.
|
|
315
|
+
if (!options.detach) {
|
|
316
|
+
const state = await client.waitForFinish(agent.id, 10 * 60 * 1000);
|
|
317
|
+
await client.close();
|
|
318
|
+
const finalAgent = state.final ?? agent;
|
|
319
|
+
const status = state.status === 'idle' ? 'completed' : state.status;
|
|
320
|
+
return {
|
|
321
|
+
type: 'single',
|
|
322
|
+
data: toRunResult(finalAgent, status),
|
|
323
|
+
schema: agentRunSchema,
|
|
324
|
+
};
|
|
325
|
+
}
|
|
129
326
|
await client.close();
|
|
130
327
|
return {
|
|
131
328
|
type: 'single',
|
|
@@ -135,6 +332,9 @@ export async function runRunCommand(prompt, options, _command) {
|
|
|
135
332
|
}
|
|
136
333
|
catch (err) {
|
|
137
334
|
await client.close().catch(() => { });
|
|
335
|
+
if (err && typeof err === 'object' && 'code' in err) {
|
|
336
|
+
throw err;
|
|
337
|
+
}
|
|
138
338
|
const message = err instanceof Error ? err.message : String(err);
|
|
139
339
|
const error = {
|
|
140
340
|
code: 'AGENT_CREATE_FAILED',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/agent/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/agent/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
import type { CommandOptions, SingleResult, OutputSchema } from '../../output/index.js';
|
|
3
|
+
/** Result type for agent update command */
|
|
4
|
+
export interface AgentUpdateResult {
|
|
5
|
+
agentId: string;
|
|
6
|
+
name: string | null;
|
|
7
|
+
labels: string;
|
|
8
|
+
}
|
|
9
|
+
/** Schema for update command output */
|
|
10
|
+
export declare const updateSchema: OutputSchema<AgentUpdateResult>;
|
|
11
|
+
export interface AgentUpdateOptions extends CommandOptions {
|
|
12
|
+
name?: string;
|
|
13
|
+
label?: string[];
|
|
14
|
+
host?: string;
|
|
15
|
+
}
|
|
16
|
+
export type AgentUpdateCommandResult = SingleResult<AgentUpdateResult>;
|
|
17
|
+
export declare function runUpdateCommand(agentIdArg: string, options: AgentUpdateOptions, _command: Command): Promise<AgentUpdateCommandResult>;
|
|
18
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +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,CAAA;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAgB,MAAM,uBAAuB,CAAA;AAErG,2CAA2C;AAC3C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,uCAAuC;AACvC,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAOxD,CAAA;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAA;AAmDtE,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,wBAAwB,CAAC,CA8FnC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { connectToDaemon, getDaemonHost } from '../../utils/client.js';
|
|
2
|
+
/** Schema for update command output */
|
|
3
|
+
export const updateSchema = {
|
|
4
|
+
idField: 'agentId',
|
|
5
|
+
columns: [
|
|
6
|
+
{ header: 'AGENT ID', field: 'agentId' },
|
|
7
|
+
{ header: 'NAME', field: 'name' },
|
|
8
|
+
{ header: 'LABELS', field: 'labels' },
|
|
9
|
+
],
|
|
10
|
+
};
|
|
11
|
+
function parseLabelOptions(labels) {
|
|
12
|
+
const parsed = {};
|
|
13
|
+
if (!labels) {
|
|
14
|
+
return parsed;
|
|
15
|
+
}
|
|
16
|
+
for (const rawLabel of labels) {
|
|
17
|
+
for (const segment of rawLabel.split(',')) {
|
|
18
|
+
const label = segment.trim();
|
|
19
|
+
if (!label) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
const eqIndex = label.indexOf('=');
|
|
23
|
+
if (eqIndex === -1) {
|
|
24
|
+
const error = {
|
|
25
|
+
code: 'INVALID_LABEL',
|
|
26
|
+
message: `Invalid label format: ${label}`,
|
|
27
|
+
details: 'Labels must be in key=value format',
|
|
28
|
+
};
|
|
29
|
+
throw error;
|
|
30
|
+
}
|
|
31
|
+
const key = label.slice(0, eqIndex).trim();
|
|
32
|
+
const value = label.slice(eqIndex + 1);
|
|
33
|
+
if (!key) {
|
|
34
|
+
const error = {
|
|
35
|
+
code: 'INVALID_LABEL',
|
|
36
|
+
message: `Invalid label format: ${label}`,
|
|
37
|
+
details: 'Labels must include a non-empty key in key=value format',
|
|
38
|
+
};
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
parsed[key] = value;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return parsed;
|
|
45
|
+
}
|
|
46
|
+
function formatLabels(labels) {
|
|
47
|
+
const entries = Object.entries(labels);
|
|
48
|
+
if (entries.length === 0) {
|
|
49
|
+
return '-';
|
|
50
|
+
}
|
|
51
|
+
return entries.map(([key, value]) => `${key}=${value}`).join(',');
|
|
52
|
+
}
|
|
53
|
+
export async function runUpdateCommand(agentIdArg, options, _command) {
|
|
54
|
+
const host = getDaemonHost({ host: options.host });
|
|
55
|
+
// Validate arguments
|
|
56
|
+
if (!agentIdArg || agentIdArg.trim().length === 0) {
|
|
57
|
+
const error = {
|
|
58
|
+
code: 'MISSING_AGENT_ID',
|
|
59
|
+
message: 'Agent ID is required',
|
|
60
|
+
details: 'Usage: paseo agent update <id> [--name <name>] [--label <key=value>]',
|
|
61
|
+
};
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
const name = options.name?.trim();
|
|
65
|
+
if (options.name !== undefined && !name) {
|
|
66
|
+
const error = {
|
|
67
|
+
code: 'INVALID_NAME',
|
|
68
|
+
message: 'Name cannot be empty',
|
|
69
|
+
details: 'Use --name <name> with a non-empty value',
|
|
70
|
+
};
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
const labels = parseLabelOptions(options.label);
|
|
74
|
+
if (!name && Object.keys(labels).length === 0) {
|
|
75
|
+
const error = {
|
|
76
|
+
code: 'NO_CHANGES_PROVIDED',
|
|
77
|
+
message: 'Nothing to update',
|
|
78
|
+
details: 'Provide at least one of: --name <name>, --label <key=value>',
|
|
79
|
+
};
|
|
80
|
+
throw error;
|
|
81
|
+
}
|
|
82
|
+
let client;
|
|
83
|
+
try {
|
|
84
|
+
client = await connectToDaemon({ host: options.host });
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
88
|
+
const error = {
|
|
89
|
+
code: 'DAEMON_NOT_RUNNING',
|
|
90
|
+
message: `Cannot connect to daemon at ${host}: ${message}`,
|
|
91
|
+
details: 'Start the daemon with: paseo daemon start',
|
|
92
|
+
};
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
const agent = await client.fetchAgent(agentIdArg);
|
|
97
|
+
if (!agent) {
|
|
98
|
+
const error = {
|
|
99
|
+
code: 'AGENT_NOT_FOUND',
|
|
100
|
+
message: `Agent not found: ${agentIdArg}`,
|
|
101
|
+
details: 'Use "paseo ls" to list available agents',
|
|
102
|
+
};
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
105
|
+
const agentId = agent.id;
|
|
106
|
+
await client.updateAgent(agentId, {
|
|
107
|
+
...(name ? { name } : {}),
|
|
108
|
+
...(Object.keys(labels).length > 0 ? { labels } : {}),
|
|
109
|
+
});
|
|
110
|
+
const updated = await client.fetchAgent(agentId);
|
|
111
|
+
if (!updated) {
|
|
112
|
+
throw new Error(`Agent not found after update: ${agentId}`);
|
|
113
|
+
}
|
|
114
|
+
await client.close();
|
|
115
|
+
return {
|
|
116
|
+
type: 'single',
|
|
117
|
+
data: {
|
|
118
|
+
agentId,
|
|
119
|
+
name: updated.title,
|
|
120
|
+
labels: formatLabels(updated.labels),
|
|
121
|
+
},
|
|
122
|
+
schema: updateSchema,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
await client.close().catch(() => { });
|
|
127
|
+
// Re-throw CommandError as-is
|
|
128
|
+
if (err && typeof err === 'object' && 'code' in err) {
|
|
129
|
+
throw err;
|
|
130
|
+
}
|
|
131
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
132
|
+
const error = {
|
|
133
|
+
code: 'UPDATE_FAILED',
|
|
134
|
+
message: `Failed to update agent: ${message}`,
|
|
135
|
+
};
|
|
136
|
+
throw error;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/agent/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { type DaemonStartOptions } from './daemon/local-daemon.js';
|
|
3
|
+
interface OnboardOptions extends DaemonStartOptions {
|
|
4
|
+
timeout?: string;
|
|
5
|
+
voice?: 'ask' | 'enable' | 'disable';
|
|
6
|
+
}
|
|
7
|
+
export declare function onboardCommand(): Command;
|
|
8
|
+
export declare function runOnboard(options: OnboardOptions): Promise<void>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=onboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/commands/onboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYnC,OAAO,EAML,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAA;AAGjC,UAAU,cAAe,SAAQ,kBAAkB;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAA;CACrC;AAueD,wBAAgB,cAAc,IAAI,OAAO,CAiBxC;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiKvE"}
|
|
@@ -0,0 +1,551 @@
|
|
|
1
|
+
import { cancel, confirm, intro, isCancel, log, note, outro, spinner } from '@clack/prompts';
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { writeFileSync } from 'node:fs';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { ensureLocalSpeechModels, generateLocalPairingOffer, loadConfig, loadPersistedConfig, } from '@getpaseo/server';
|
|
6
|
+
import { resolveLocalPaseoHome, resolveLocalDaemonState, resolveTcpHostFromListen, startLocalDaemonDetached, tailDaemonLog, } from './daemon/local-daemon.js';
|
|
7
|
+
import { tryConnectToDaemon } from '../utils/client.js';
|
|
8
|
+
const DEFAULT_READY_TIMEOUT_MS = 10 * 60 * 1000;
|
|
9
|
+
class OnboardCancelledError extends Error {
|
|
10
|
+
}
|
|
11
|
+
const plainNoteFormat = (line) => line;
|
|
12
|
+
function renderNote(message, title) {
|
|
13
|
+
note(message, title, { format: plainNoteFormat });
|
|
14
|
+
}
|
|
15
|
+
function sleep(ms) {
|
|
16
|
+
return new Promise((resolve) => {
|
|
17
|
+
setTimeout(resolve, ms);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function parseTimeoutMs(raw) {
|
|
21
|
+
if (!raw || raw.trim().length === 0) {
|
|
22
|
+
return DEFAULT_READY_TIMEOUT_MS;
|
|
23
|
+
}
|
|
24
|
+
const seconds = Number(raw);
|
|
25
|
+
if (!Number.isFinite(seconds) || seconds <= 0) {
|
|
26
|
+
throw new Error(`Invalid timeout value: ${raw}`);
|
|
27
|
+
}
|
|
28
|
+
return Math.ceil(seconds * 1000);
|
|
29
|
+
}
|
|
30
|
+
function toCliOverrides(options) {
|
|
31
|
+
const cliOverrides = {};
|
|
32
|
+
if (options.listen) {
|
|
33
|
+
cliOverrides.listen = options.listen;
|
|
34
|
+
}
|
|
35
|
+
else if (options.port) {
|
|
36
|
+
cliOverrides.listen = `127.0.0.1:${options.port}`;
|
|
37
|
+
}
|
|
38
|
+
if (options.relay === false) {
|
|
39
|
+
cliOverrides.relayEnabled = false;
|
|
40
|
+
}
|
|
41
|
+
if (options.allowedHosts) {
|
|
42
|
+
const raw = options.allowedHosts.trim();
|
|
43
|
+
cliOverrides.allowedHosts =
|
|
44
|
+
raw.toLowerCase() === 'true'
|
|
45
|
+
? true
|
|
46
|
+
: raw.split(',').map(host => host.trim()).filter(Boolean);
|
|
47
|
+
}
|
|
48
|
+
if (options.mcp === false) {
|
|
49
|
+
cliOverrides.mcpEnabled = false;
|
|
50
|
+
}
|
|
51
|
+
return cliOverrides;
|
|
52
|
+
}
|
|
53
|
+
function savePersistedConfig(paseoHome, config) {
|
|
54
|
+
const configPath = path.join(paseoHome, 'config.json');
|
|
55
|
+
writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`);
|
|
56
|
+
}
|
|
57
|
+
function applyVoiceSelection(config, enabled) {
|
|
58
|
+
return {
|
|
59
|
+
...config,
|
|
60
|
+
providers: {
|
|
61
|
+
...config.providers,
|
|
62
|
+
local: {
|
|
63
|
+
...config.providers?.local,
|
|
64
|
+
autoDownload: enabled,
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
features: {
|
|
68
|
+
...config.features,
|
|
69
|
+
dictation: {
|
|
70
|
+
...config.features?.dictation,
|
|
71
|
+
enabled,
|
|
72
|
+
},
|
|
73
|
+
voiceMode: {
|
|
74
|
+
...config.features?.voiceMode,
|
|
75
|
+
enabled,
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function resolvePersistedVoiceSelection(config) {
|
|
81
|
+
const voiceModeEnabled = config.features?.voiceMode?.enabled;
|
|
82
|
+
if (typeof voiceModeEnabled === 'boolean') {
|
|
83
|
+
return voiceModeEnabled;
|
|
84
|
+
}
|
|
85
|
+
const dictationEnabled = config.features?.dictation?.enabled;
|
|
86
|
+
if (typeof dictationEnabled === 'boolean') {
|
|
87
|
+
return dictationEnabled;
|
|
88
|
+
}
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
async function resolveVoiceSelection(mode) {
|
|
92
|
+
if (mode === 'enable') {
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
if (mode === 'disable') {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
99
|
+
log.message('Non-interactive terminal detected; voice setup defaults to disabled.');
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
const answer = await confirm({
|
|
103
|
+
message: 'Enable voice features? (downloads local STT/TTS models now)',
|
|
104
|
+
active: 'Yes',
|
|
105
|
+
inactive: 'No',
|
|
106
|
+
initialValue: false,
|
|
107
|
+
});
|
|
108
|
+
if (isCancel(answer)) {
|
|
109
|
+
throw new OnboardCancelledError('Onboarding cancelled by user.');
|
|
110
|
+
}
|
|
111
|
+
return answer;
|
|
112
|
+
}
|
|
113
|
+
function resolveRequiredLocalModelIds(config) {
|
|
114
|
+
const providers = config.speech?.providers;
|
|
115
|
+
const local = config.speech?.local;
|
|
116
|
+
if (!providers || !local) {
|
|
117
|
+
return [];
|
|
118
|
+
}
|
|
119
|
+
const ids = new Set();
|
|
120
|
+
if (providers.dictationStt.enabled !== false && providers.dictationStt.provider === 'local') {
|
|
121
|
+
ids.add(local.models.dictationStt);
|
|
122
|
+
}
|
|
123
|
+
if (providers.voiceStt.enabled !== false && providers.voiceStt.provider === 'local') {
|
|
124
|
+
ids.add(local.models.voiceStt);
|
|
125
|
+
}
|
|
126
|
+
if (providers.voiceTts.enabled !== false && providers.voiceTts.provider === 'local') {
|
|
127
|
+
ids.add(local.models.voiceTts);
|
|
128
|
+
}
|
|
129
|
+
return Array.from(ids);
|
|
130
|
+
}
|
|
131
|
+
function parseLocalModelDownloadProgress(payload) {
|
|
132
|
+
if (!payload || typeof payload !== 'object') {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
const value = payload;
|
|
136
|
+
const modelId = typeof value.modelId === 'string' ? value.modelId : null;
|
|
137
|
+
const pctRaw = value.pct;
|
|
138
|
+
const pct = typeof pctRaw === 'number' && Number.isFinite(pctRaw) ? Math.max(0, Math.min(100, Math.floor(pctRaw))) : null;
|
|
139
|
+
return {
|
|
140
|
+
modelId,
|
|
141
|
+
pct,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function renderLocalModelProgress(params) {
|
|
145
|
+
const prefix = `Downloading speech model ${params.modelIndex}/${params.modelCount}: ${params.modelId}`;
|
|
146
|
+
if (params.pct === null) {
|
|
147
|
+
return `${prefix}...`;
|
|
148
|
+
}
|
|
149
|
+
return `${prefix} (${params.pct}%)`;
|
|
150
|
+
}
|
|
151
|
+
function createLocalSpeechDownloadLogger(onEvent) {
|
|
152
|
+
const logger = {
|
|
153
|
+
child: () => logger,
|
|
154
|
+
info: (obj, msg) => {
|
|
155
|
+
if (msg === 'Downloading model artifact') {
|
|
156
|
+
const progress = parseLocalModelDownloadProgress(obj);
|
|
157
|
+
if (!progress) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
onEvent({
|
|
161
|
+
type: 'progress',
|
|
162
|
+
progress,
|
|
163
|
+
});
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
if (msg === 'Extracting model archive') {
|
|
167
|
+
onEvent({ type: 'phase', phase: 'extracting' });
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (msg === 'Verifying downloaded model files') {
|
|
171
|
+
onEvent({ type: 'phase', phase: 'verifying' });
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
if (msg === 'Finalizing model artifacts') {
|
|
175
|
+
onEvent({ type: 'phase', phase: 'finalizing' });
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
if (msg === 'Model download completed') {
|
|
179
|
+
onEvent({ type: 'phase', phase: 'completed' });
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
error: () => {
|
|
184
|
+
// no-op: onboarding handles surfaced errors from ensureLocalSpeechModels.
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
return logger;
|
|
188
|
+
}
|
|
189
|
+
async function prepareLocalSpeechModelsBeforeStart(args) {
|
|
190
|
+
const local = args.config.speech?.local;
|
|
191
|
+
const modelIds = resolveRequiredLocalModelIds(args.config);
|
|
192
|
+
if (!local || modelIds.length === 0) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
if (local.autoDownload === false) {
|
|
196
|
+
log.warn('Local speech model auto-download is disabled. Voice may be unavailable until models are installed.');
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
const modelList = modelIds.join(', ');
|
|
200
|
+
const modelCount = modelIds.length;
|
|
201
|
+
const downloadSpinner = args.richUi ? spinner() : null;
|
|
202
|
+
let lastPlainStatus = '';
|
|
203
|
+
const emitStatus = (status) => {
|
|
204
|
+
if (downloadSpinner) {
|
|
205
|
+
downloadSpinner.message(status);
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
if (status === lastPlainStatus) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
console.log(status);
|
|
212
|
+
lastPlainStatus = status;
|
|
213
|
+
};
|
|
214
|
+
if (downloadSpinner) {
|
|
215
|
+
downloadSpinner.start(`Preparing local speech models (${modelCount})...`);
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
log.message(`Preparing local speech models (${modelCount}): ${modelList}`);
|
|
219
|
+
}
|
|
220
|
+
try {
|
|
221
|
+
for (const [index, modelId] of modelIds.entries()) {
|
|
222
|
+
const modelIndex = index + 1;
|
|
223
|
+
emitStatus(`Checking speech model ${modelIndex}/${modelCount}: ${modelId}`);
|
|
224
|
+
const perModelLogger = createLocalSpeechDownloadLogger((event) => {
|
|
225
|
+
if (event.type === 'progress') {
|
|
226
|
+
const progress = event.progress;
|
|
227
|
+
if (progress.modelId && progress.modelId !== modelId) {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
emitStatus(renderLocalModelProgress({
|
|
231
|
+
modelId,
|
|
232
|
+
modelIndex,
|
|
233
|
+
modelCount,
|
|
234
|
+
pct: progress.pct,
|
|
235
|
+
}));
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
if (event.phase === 'extracting') {
|
|
239
|
+
emitStatus(`Extracting speech model ${modelIndex}/${modelCount}: ${modelId}`);
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
if (event.phase === 'verifying') {
|
|
243
|
+
emitStatus(`Verifying speech model ${modelIndex}/${modelCount}: ${modelId}`);
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
if (event.phase === 'finalizing') {
|
|
247
|
+
emitStatus(`Finalizing speech model ${modelIndex}/${modelCount}: ${modelId}`);
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
await ensureLocalSpeechModels({
|
|
252
|
+
modelsDir: local.modelsDir,
|
|
253
|
+
modelIds: [modelId],
|
|
254
|
+
autoDownload: true,
|
|
255
|
+
logger: perModelLogger,
|
|
256
|
+
});
|
|
257
|
+
emitStatus(`Speech model ready ${modelIndex}/${modelCount}: ${modelId}`);
|
|
258
|
+
}
|
|
259
|
+
if (downloadSpinner) {
|
|
260
|
+
downloadSpinner.stop(`Local speech models ready (${modelCount})`);
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
log.message(`Local speech models ready (${modelCount}): ${modelList}`);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
catch (error) {
|
|
267
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
268
|
+
if (downloadSpinner) {
|
|
269
|
+
downloadSpinner.error(`Failed to prepare local speech models: ${message}`);
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
log.error(`Failed to prepare local speech models: ${message}`);
|
|
273
|
+
}
|
|
274
|
+
throw error;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
function parseDownloadProgress(logTail) {
|
|
278
|
+
const lines = logTail.split('\n').filter(Boolean);
|
|
279
|
+
for (let index = lines.length - 1; index >= 0; index -= 1) {
|
|
280
|
+
const line = lines[index];
|
|
281
|
+
if (!line || !line.includes('Downloading model artifact')) {
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
const pctMatch = line.match(/"pct"\s*:\s*(\d{1,3})|\bpct[=:]\s*(\d{1,3})/);
|
|
285
|
+
const modelMatch = line.match(/"modelId"\s*:\s*"([^"]+)"|\bmodelId[=:]\s*"?([^\s",}]+)/);
|
|
286
|
+
return {
|
|
287
|
+
modelId: modelMatch?.[1] ?? modelMatch?.[2] ?? null,
|
|
288
|
+
pct: pctMatch ? Number(pctMatch[1] ?? pctMatch[2]) : null,
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
function renderProgressLine(progress) {
|
|
294
|
+
const modelSuffix = progress.modelId ? ` (${progress.modelId})` : '';
|
|
295
|
+
if (progress.pct === null) {
|
|
296
|
+
return `Downloading speech model${modelSuffix}...`;
|
|
297
|
+
}
|
|
298
|
+
return `Downloading speech model${modelSuffix}: ${progress.pct}%`;
|
|
299
|
+
}
|
|
300
|
+
async function waitForDaemonReady(args) {
|
|
301
|
+
const deadline = Date.now() + args.timeoutMs;
|
|
302
|
+
let lastStatus = '';
|
|
303
|
+
let lastPrintedAt = 0;
|
|
304
|
+
while (Date.now() < deadline) {
|
|
305
|
+
const state = resolveLocalDaemonState({ home: args.home });
|
|
306
|
+
const host = resolveTcpHostFromListen(state.listen);
|
|
307
|
+
if (state.running && host) {
|
|
308
|
+
const client = await tryConnectToDaemon({ host, timeout: 1200 });
|
|
309
|
+
if (client) {
|
|
310
|
+
try {
|
|
311
|
+
await client.fetchAgents();
|
|
312
|
+
return { listen: state.listen, host };
|
|
313
|
+
}
|
|
314
|
+
catch {
|
|
315
|
+
// Daemon process is alive but not API-ready yet.
|
|
316
|
+
}
|
|
317
|
+
finally {
|
|
318
|
+
await client.close().catch(() => { });
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
else if (state.running && !host) {
|
|
323
|
+
return { listen: state.listen, host: null };
|
|
324
|
+
}
|
|
325
|
+
const progress = parseDownloadProgress(tailDaemonLog(args.home, 120) ?? '');
|
|
326
|
+
const progressLine = progress ? renderProgressLine(progress) : null;
|
|
327
|
+
const statusMessage = progressLine ?? 'Waiting for daemon to become ready...';
|
|
328
|
+
if (statusMessage !== lastStatus) {
|
|
329
|
+
args.onStatus?.(statusMessage);
|
|
330
|
+
lastStatus = statusMessage;
|
|
331
|
+
lastPrintedAt = Date.now();
|
|
332
|
+
}
|
|
333
|
+
else if (!args.onStatus && Date.now() - lastPrintedAt >= 3000) {
|
|
334
|
+
console.log(statusMessage);
|
|
335
|
+
lastPrintedAt = Date.now();
|
|
336
|
+
}
|
|
337
|
+
await sleep(200);
|
|
338
|
+
}
|
|
339
|
+
const recentLogs = tailDaemonLog(args.home, 60);
|
|
340
|
+
throw new Error([
|
|
341
|
+
`Timed out after ${Math.ceil(args.timeoutMs / 1000)}s waiting for daemon readiness.`,
|
|
342
|
+
recentLogs ? `Recent daemon logs:\n${recentLogs}` : null,
|
|
343
|
+
]
|
|
344
|
+
.filter(Boolean)
|
|
345
|
+
.join('\n\n'));
|
|
346
|
+
}
|
|
347
|
+
function printNextSteps(pairingUrl, paseoHome, richUi) {
|
|
348
|
+
const daemonLogPath = path.join(paseoHome, 'daemon.log');
|
|
349
|
+
const nextStepsLines = [
|
|
350
|
+
pairingUrl
|
|
351
|
+
? '1. Open Paseo and scan the QR code above, or paste the pairing link.'
|
|
352
|
+
: '1. Open Paseo and connect to your daemon.',
|
|
353
|
+
'2. Web app: https://app.paseo.sh',
|
|
354
|
+
'3. Desktop app: https://github.com/getpaseo/paseo/releases/latest',
|
|
355
|
+
'4. Docs: https://paseo.sh/docs',
|
|
356
|
+
'5. Example: paseo run --output-schema schema.json "extract fields"',
|
|
357
|
+
];
|
|
358
|
+
const quickReferenceLines = [
|
|
359
|
+
'1. paseo --help',
|
|
360
|
+
'2. paseo ls',
|
|
361
|
+
'3. paseo run "your prompt"',
|
|
362
|
+
'4. paseo status',
|
|
363
|
+
`5. Daemon logs: ${daemonLogPath}`,
|
|
364
|
+
];
|
|
365
|
+
if (!richUi) {
|
|
366
|
+
console.log('');
|
|
367
|
+
console.log('Next steps:');
|
|
368
|
+
for (const line of nextStepsLines) {
|
|
369
|
+
console.log(line);
|
|
370
|
+
}
|
|
371
|
+
console.log('');
|
|
372
|
+
console.log('CLI quick reference:');
|
|
373
|
+
for (const line of quickReferenceLines) {
|
|
374
|
+
console.log(line);
|
|
375
|
+
}
|
|
376
|
+
return;
|
|
377
|
+
}
|
|
378
|
+
renderNote(nextStepsLines.join('\n'), 'Next steps');
|
|
379
|
+
renderNote(quickReferenceLines.join('\n'), 'CLI quick reference');
|
|
380
|
+
}
|
|
381
|
+
export function onboardCommand() {
|
|
382
|
+
return new Command('onboard')
|
|
383
|
+
.description('Run first-time setup, start daemon, and print pairing instructions')
|
|
384
|
+
.option('--listen <listen>', 'Listen target (host:port, port, or unix socket path)')
|
|
385
|
+
.option('--port <port>', 'Port to listen on (default: 6767)')
|
|
386
|
+
.option('--home <path>', 'Paseo home directory (default: ~/.paseo)')
|
|
387
|
+
.option('--no-relay', 'Disable relay connection')
|
|
388
|
+
.option('--no-mcp', 'Disable the Agent MCP HTTP endpoint')
|
|
389
|
+
.option('--allowed-hosts <hosts>', 'Comma-separated Host allowlist values (example: "localhost,.example.com" or "true")')
|
|
390
|
+
.option('--timeout <seconds>', 'Max time to wait for daemon readiness (default: 600)')
|
|
391
|
+
.option('--voice <mode>', 'Voice setup mode: ask, enable, disable', 'ask')
|
|
392
|
+
.action(async (options) => {
|
|
393
|
+
await runOnboard(options);
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
export async function runOnboard(options) {
|
|
397
|
+
const richUi = process.stdin.isTTY && process.stdout.isTTY;
|
|
398
|
+
if (richUi) {
|
|
399
|
+
intro('Welcome to Paseo');
|
|
400
|
+
}
|
|
401
|
+
if (options.listen && options.port) {
|
|
402
|
+
cancel('Cannot use --listen and --port together');
|
|
403
|
+
process.exit(1);
|
|
404
|
+
}
|
|
405
|
+
let timeoutMs = DEFAULT_READY_TIMEOUT_MS;
|
|
406
|
+
try {
|
|
407
|
+
timeoutMs = parseTimeoutMs(options.timeout);
|
|
408
|
+
}
|
|
409
|
+
catch (error) {
|
|
410
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
411
|
+
cancel(message);
|
|
412
|
+
process.exit(1);
|
|
413
|
+
}
|
|
414
|
+
const paseoHome = resolveLocalPaseoHome(options.home);
|
|
415
|
+
if (richUi) {
|
|
416
|
+
renderNote(paseoHome, 'Paseo home');
|
|
417
|
+
}
|
|
418
|
+
let persisted = loadPersistedConfig(paseoHome);
|
|
419
|
+
const persistedVoiceSelection = resolvePersistedVoiceSelection(persisted);
|
|
420
|
+
const shouldPrompt = options.voice === 'ask' || options.voice === undefined;
|
|
421
|
+
let voiceEnabled;
|
|
422
|
+
try {
|
|
423
|
+
voiceEnabled =
|
|
424
|
+
shouldPrompt && persistedVoiceSelection !== null
|
|
425
|
+
? persistedVoiceSelection
|
|
426
|
+
: await resolveVoiceSelection(options.voice);
|
|
427
|
+
}
|
|
428
|
+
catch (error) {
|
|
429
|
+
if (error instanceof OnboardCancelledError) {
|
|
430
|
+
cancel('Onboarding cancelled.');
|
|
431
|
+
process.exit(0);
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
throw error;
|
|
435
|
+
}
|
|
436
|
+
if (shouldPrompt && persistedVoiceSelection !== null) {
|
|
437
|
+
log.message(`Using saved voice setup from config (${voiceEnabled ? 'enabled' : 'disabled'}).`);
|
|
438
|
+
}
|
|
439
|
+
persisted = applyVoiceSelection(persisted, voiceEnabled);
|
|
440
|
+
savePersistedConfig(paseoHome, persisted);
|
|
441
|
+
const config = loadConfig(paseoHome, { cli: toCliOverrides(options) });
|
|
442
|
+
const voiceStatus = voiceEnabled
|
|
443
|
+
? 'Voice features enabled. Local speech models will be downloaded if missing.'
|
|
444
|
+
: 'Voice features disabled. Local speech models will not be downloaded now.';
|
|
445
|
+
log.message(voiceStatus);
|
|
446
|
+
try {
|
|
447
|
+
await prepareLocalSpeechModelsBeforeStart({
|
|
448
|
+
config,
|
|
449
|
+
richUi,
|
|
450
|
+
});
|
|
451
|
+
}
|
|
452
|
+
catch {
|
|
453
|
+
process.exit(1);
|
|
454
|
+
}
|
|
455
|
+
const stateBeforeStart = resolveLocalDaemonState({ home: options.home });
|
|
456
|
+
const startSpinner = richUi ? spinner() : null;
|
|
457
|
+
if (!stateBeforeStart.running) {
|
|
458
|
+
try {
|
|
459
|
+
if (startSpinner) {
|
|
460
|
+
startSpinner.start('Starting daemon...');
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
log.message('Starting daemon...');
|
|
464
|
+
}
|
|
465
|
+
const startup = await startLocalDaemonDetached(options);
|
|
466
|
+
if (startSpinner) {
|
|
467
|
+
startSpinner.stop(`Daemon started (PID ${startup.pid ?? 'unknown'})`);
|
|
468
|
+
}
|
|
469
|
+
else {
|
|
470
|
+
log.message(`Daemon started (PID ${startup.pid ?? 'unknown'})`);
|
|
471
|
+
}
|
|
472
|
+
log.message(`Logs: ${startup.logPath}`);
|
|
473
|
+
}
|
|
474
|
+
catch (error) {
|
|
475
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
476
|
+
if (startSpinner) {
|
|
477
|
+
startSpinner.error(message);
|
|
478
|
+
}
|
|
479
|
+
else {
|
|
480
|
+
log.error(message);
|
|
481
|
+
}
|
|
482
|
+
process.exit(1);
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
else {
|
|
486
|
+
log.message(`Daemon already running (PID ${stateBeforeStart.pidInfo?.pid ?? 'unknown'}).`);
|
|
487
|
+
}
|
|
488
|
+
let readyState;
|
|
489
|
+
const readySpinner = richUi ? spinner() : null;
|
|
490
|
+
try {
|
|
491
|
+
if (readySpinner) {
|
|
492
|
+
readySpinner.start('Waiting for daemon to become ready...');
|
|
493
|
+
}
|
|
494
|
+
else {
|
|
495
|
+
log.message('Waiting for daemon to become ready...');
|
|
496
|
+
}
|
|
497
|
+
readyState = await waitForDaemonReady({
|
|
498
|
+
home: options.home ?? paseoHome,
|
|
499
|
+
timeoutMs,
|
|
500
|
+
onStatus: readySpinner ? (message) => readySpinner.message(message) : undefined,
|
|
501
|
+
});
|
|
502
|
+
if (readySpinner) {
|
|
503
|
+
readySpinner.stop(`Daemon ready on ${readyState.listen}`);
|
|
504
|
+
}
|
|
505
|
+
else {
|
|
506
|
+
log.message(`Daemon ready on ${readyState.listen}`);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
catch (error) {
|
|
510
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
511
|
+
if (readySpinner) {
|
|
512
|
+
readySpinner.error(message);
|
|
513
|
+
}
|
|
514
|
+
else {
|
|
515
|
+
log.error(message);
|
|
516
|
+
}
|
|
517
|
+
process.exit(1);
|
|
518
|
+
return;
|
|
519
|
+
}
|
|
520
|
+
if (config.relayEnabled === false) {
|
|
521
|
+
log.warn('Relay is disabled; pairing offer is unavailable for this daemon.');
|
|
522
|
+
printNextSteps(null, paseoHome, richUi);
|
|
523
|
+
if (richUi) {
|
|
524
|
+
outro('Paseo daemon is running.');
|
|
525
|
+
}
|
|
526
|
+
return;
|
|
527
|
+
}
|
|
528
|
+
const pairing = await generateLocalPairingOffer({
|
|
529
|
+
paseoHome,
|
|
530
|
+
relayEnabled: config.relayEnabled,
|
|
531
|
+
relayEndpoint: config.relayEndpoint,
|
|
532
|
+
relayPublicEndpoint: config.relayPublicEndpoint,
|
|
533
|
+
appBaseUrl: config.appBaseUrl,
|
|
534
|
+
includeQr: true,
|
|
535
|
+
});
|
|
536
|
+
if (!pairing.url) {
|
|
537
|
+
log.warn('Relay pairing URL is unavailable for this daemon configuration.');
|
|
538
|
+
printNextSteps(null, paseoHome, richUi);
|
|
539
|
+
if (richUi) {
|
|
540
|
+
outro('Paseo daemon is running.');
|
|
541
|
+
}
|
|
542
|
+
return;
|
|
543
|
+
}
|
|
544
|
+
renderNote(pairing.qr ?? 'QR is unavailable in this terminal. Use the pairing link below.', 'Scan to pair');
|
|
545
|
+
renderNote(pairing.url, 'Pairing link');
|
|
546
|
+
printNextSteps(pairing.url, paseoHome, richUi);
|
|
547
|
+
if (richUi) {
|
|
548
|
+
outro('Paseo is ready!');
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
//# sourceMappingURL=onboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../src/commands/onboard.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;AAC3B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;AAC3B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAC9B,CAAC;AACD,OAAO,CAAC,KAAK,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-output.d.ts","sourceRoot":"","sources":["../../src/output/with-output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAA;AAG/E,+DAA+D;AAC/D,MAAM,WAAW,cAAe,SAAQ,OAAO,CAAC,aAAa,CAAC;IAC5D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;
|
|
1
|
+
{"version":3,"file":"with-output.d.ts","sourceRoot":"","sources":["../../src/output/with-output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAA;AAG/E,+DAA+D;AAC/D,MAAM,WAAW,cAAe,SAAQ,OAAO,CAAC,aAAa,CAAC;IAC5D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAwCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAClD,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GACrF,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAsBhE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,GACnC,aAAa,CAEf"}
|
|
@@ -20,6 +20,15 @@ function normalizeFormat(raw) {
|
|
|
20
20
|
}
|
|
21
21
|
/** Extract output options from command options */
|
|
22
22
|
function extractOutputOptions(options) {
|
|
23
|
+
const hasStructuredOutputSchema = typeof options.outputSchema === 'string' && options.outputSchema.trim().length > 0;
|
|
24
|
+
if (hasStructuredOutputSchema) {
|
|
25
|
+
return {
|
|
26
|
+
format: 'json',
|
|
27
|
+
quiet: false,
|
|
28
|
+
noHeaders: options.headers === false,
|
|
29
|
+
noColor: options.color === false,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
23
32
|
return {
|
|
24
33
|
format: options.json ? 'json' : normalizeFormat(options.format ?? defaultOutputOptions.format),
|
|
25
34
|
quiet: options.quiet ?? defaultOutputOptions.quiet,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-output.js","sourceRoot":"","sources":["../../src/output/with-output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAOvF,SAAS,eAAe,CAAC,GAAY;IACnC,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAErE,qDAAqD;IACrD,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,OAAO,CAAA;IAEnC,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IAE3E,MAAM,KAAK,GAAiB;QAC1B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,8BAA8B,MAAM,CAAC,GAAG,CAAC,EAAE;QACpD,OAAO,EAAE,sCAAsC;KAChD,CAAA;IACD,MAAM,KAAK,CAAA;AACb,CAAC;AAED,kDAAkD;AAClD,SAAS,oBAAoB,CAAC,OAAuB;IACnD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC;QAC9F,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,oBAAoB,CAAC,KAAK;QAClD,SAAS,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,gDAAgD;QACtF,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,4CAA4C;KAC/E,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CACxB,OAAsF;IAEtF,OAAO,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;QACvB,wCAAwC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAY,CAAA;QAChD,6DAA6D;QAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,EAAoB,CAAA;QAC3D,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAEnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;YAE5C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;YAC1C,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;YAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAkC,EAAE;IAEpC,OAAO,EAAE,GAAG,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAA;AAChD,CAAC"}
|
|
1
|
+
{"version":3,"file":"with-output.js","sourceRoot":"","sources":["../../src/output/with-output.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpaseo/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Paseo CLI - control your AI coding agents from the command line",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -21,8 +21,9 @@
|
|
|
21
21
|
"test:e2e:lifecycle": "npx tsx tests/e2e/agent-lifecycle.test.ts"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@
|
|
25
|
-
"@getpaseo/
|
|
24
|
+
"@clack/prompts": "^1.0.0",
|
|
25
|
+
"@getpaseo/relay": "0.1.3",
|
|
26
|
+
"@getpaseo/server": "0.1.3",
|
|
26
27
|
"chalk": "^5.3.0",
|
|
27
28
|
"commander": "^12.0.0",
|
|
28
29
|
"mime-types": "^2.1.35",
|