@overlordai/developer-cli 1.0.53 → 1.0.55

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 (62) hide show
  1. package/dist/auth/api-client.d.ts +1 -0
  2. package/dist/auth/api-client.d.ts.map +1 -1
  3. package/dist/auth/api-client.js +10 -1
  4. package/dist/auth/api-client.js.map +1 -1
  5. package/dist/auth/token-store.d.ts.map +1 -1
  6. package/dist/auth/token-store.js +1 -1
  7. package/dist/auth/token-store.js.map +1 -1
  8. package/dist/commands/attach.d.ts.map +1 -1
  9. package/dist/commands/attach.js +5 -18
  10. package/dist/commands/attach.js.map +1 -1
  11. package/dist/commands/config.d.ts.map +1 -1
  12. package/dist/commands/config.js +43 -46
  13. package/dist/commands/config.js.map +1 -1
  14. package/dist/commands/helpers.d.ts +4 -12
  15. package/dist/commands/helpers.d.ts.map +1 -1
  16. package/dist/commands/helpers.js +25 -29
  17. package/dist/commands/helpers.js.map +1 -1
  18. package/dist/commands/login.d.ts.map +1 -1
  19. package/dist/commands/login.js +4 -15
  20. package/dist/commands/login.js.map +1 -1
  21. package/dist/commands/notifications.d.ts.map +1 -1
  22. package/dist/commands/notifications.js +7 -5
  23. package/dist/commands/notifications.js.map +1 -1
  24. package/dist/commands/project.d.ts.map +1 -1
  25. package/dist/commands/project.js +6 -4
  26. package/dist/commands/project.js.map +1 -1
  27. package/dist/commands/search.d.ts.map +1 -1
  28. package/dist/commands/search.js +26 -26
  29. package/dist/commands/search.js.map +1 -1
  30. package/dist/commands/setup.d.ts.map +1 -1
  31. package/dist/commands/setup.js +3 -14
  32. package/dist/commands/setup.js.map +1 -1
  33. package/dist/commands/status.d.ts.map +1 -1
  34. package/dist/commands/status.js +2 -1
  35. package/dist/commands/status.js.map +1 -1
  36. package/dist/commands/task.d.ts.map +1 -1
  37. package/dist/commands/task.js +59 -106
  38. package/dist/commands/task.js.map +1 -1
  39. package/dist/commands/upgrade.d.ts.map +1 -1
  40. package/dist/commands/upgrade.js +3 -24
  41. package/dist/commands/upgrade.js.map +1 -1
  42. package/dist/commands/whoami.d.ts.map +1 -1
  43. package/dist/commands/whoami.js +5 -2
  44. package/dist/commands/whoami.js.map +1 -1
  45. package/dist/commands/worker.d.ts +3 -0
  46. package/dist/commands/worker.d.ts.map +1 -0
  47. package/dist/commands/worker.js +83 -0
  48. package/dist/commands/worker.js.map +1 -0
  49. package/dist/error-utils.d.ts +3 -0
  50. package/dist/error-utils.d.ts.map +1 -0
  51. package/dist/error-utils.js +5 -0
  52. package/dist/error-utils.js.map +1 -0
  53. package/dist/main.js +4 -3
  54. package/dist/main.js.map +1 -1
  55. package/dist/output/api-error.d.ts +2 -0
  56. package/dist/output/api-error.d.ts.map +1 -0
  57. package/dist/output/api-error.js +5 -0
  58. package/dist/output/api-error.js.map +1 -0
  59. package/dist/terminal/pty-client.d.ts.map +1 -1
  60. package/dist/terminal/pty-client.js +22 -24
  61. package/dist/terminal/pty-client.js.map +1 -1
  62. package/package.json +5 -2
@@ -2,8 +2,9 @@ import { Command } from 'commander';
2
2
  import { getApiClient } from './helpers.js';
3
3
  import { formatter } from '../output/formatter.js';
4
4
  import chalk from 'chalk';
5
+ import { getErrorMessage } from '@overlordai/protocol';
5
6
  export const searchCommand = new Command('search')
6
- .description('Global search across tasks, projects, and machines')
7
+ .description('Global search across tasks, projects, and workers')
7
8
  .argument('<query>', 'Search query')
8
9
  .option('--json', 'Output as JSON')
9
10
  .action(async (query, opts) => {
@@ -21,37 +22,36 @@ export const searchCommand = new Command('search')
21
22
  formatter.detail(res.data);
22
23
  return;
23
24
  }
24
- const { tasks, projects, machines } = res.data;
25
- if (tasks && tasks.length > 0) {
26
- console.log(chalk.bold('\n Tasks'));
27
- formatter.table(tasks, [
28
- { key: 'id', label: 'ID', width: 6 },
29
- { key: 'description', label: 'Description', width: 40 },
30
- { key: 'status', label: 'Status', width: 12 },
31
- ]);
25
+ const { tasks, projects, workers } = res.data;
26
+ const sections = [
27
+ { title: 'Tasks', items: tasks ?? [], columns: [
28
+ { key: 'id', label: 'ID', width: 6 },
29
+ { key: 'description', label: 'Description', width: 40 },
30
+ { key: 'status', label: 'Status', width: 12 },
31
+ ] },
32
+ { title: 'Projects', items: projects ?? [], columns: [
33
+ { key: 'key', label: 'Key', width: 14 },
34
+ { key: 'name', label: 'Name', width: 30 },
35
+ ] },
36
+ { title: 'Workers', items: workers ?? [], columns: [
37
+ { key: 'id', label: 'ID', width: 10 },
38
+ { key: 'name', label: 'Name', width: 20 },
39
+ { key: 'status', label: 'Status', width: 12 },
40
+ ] },
41
+ ];
42
+ for (const { title, items, columns } of sections) {
43
+ if (items.length > 0) {
44
+ console.log(chalk.bold(`\n ${title}`));
45
+ formatter.table(items, columns);
46
+ }
32
47
  }
33
- if (projects && projects.length > 0) {
34
- console.log(chalk.bold('\n Projects'));
35
- formatter.table(projects, [
36
- { key: 'key', label: 'Key', width: 14 },
37
- { key: 'name', label: 'Name', width: 30 },
38
- ]);
39
- }
40
- if (machines && machines.length > 0) {
41
- console.log(chalk.bold('\n Machines'));
42
- formatter.table(machines, [
43
- { key: 'id', label: 'ID', width: 10 },
44
- { key: 'name', label: 'Name', width: 20 },
45
- { key: 'status', label: 'Status', width: 12 },
46
- ]);
47
- }
48
- const total = (tasks?.length ?? 0) + (projects?.length ?? 0) + (machines?.length ?? 0);
48
+ const total = sections.reduce((sum, s) => sum + s.items.length, 0);
49
49
  if (total === 0) {
50
50
  formatter.info('No results found.');
51
51
  }
52
52
  }
53
53
  catch (err) {
54
- formatter.error(err instanceof Error ? err.message : String(err));
54
+ formatter.error(getErrorMessage(err));
55
55
  process.exitCode = 1;
56
56
  }
57
57
  });
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,eAAO,MAAM,YAAY,SA4ErB,CAAC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,YAAY,SA4ErB,CAAC"}
@@ -1,22 +1,11 @@
1
1
  import { Command } from 'commander';
2
- import * as readline from 'node:readline';
3
2
  import { TokenStore } from '../auth/token-store.js';
4
3
  import { ApiClient } from '../auth/api-client.js';
5
4
  import { formatter } from '../output/formatter.js';
6
5
  import { loadConfig, saveConfig } from './config.js';
6
+ import { promptInput } from './helpers.js';
7
7
  import chalk from 'chalk';
8
- function promptInput(prompt) {
9
- return new Promise((resolve) => {
10
- const rl = readline.createInterface({
11
- input: process.stdin,
12
- output: process.stderr,
13
- });
14
- rl.question(prompt, (answer) => {
15
- rl.close();
16
- resolve(answer.trim());
17
- });
18
- });
19
- }
8
+ import { getErrorMessage } from '@overlordai/protocol';
20
9
  export const setupCommand = new Command('setup')
21
10
  .description('Quick setup — configure server connection and authenticate')
22
11
  .option('--server <url>', 'Overlord server URL')
@@ -86,7 +75,7 @@ export const setupCommand = new Command('setup')
86
75
  console.log(chalk.dim(' ov whoami — current user info'));
87
76
  }
88
77
  catch (err) {
89
- formatter.error(`Setup failed: ${err instanceof Error ? err.message : String(err)}`);
78
+ formatter.error(`Setup failed: ${getErrorMessage(err)}`);
90
79
  process.exitCode = 1;
91
80
  }
92
81
  });
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,eAAO,MAAM,aAAa,SAwCtB,CAAC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,aAAa,SAwCtB,CAAC"}
@@ -2,6 +2,7 @@ import { Command } from 'commander';
2
2
  import { getApiClient } from './helpers.js';
3
3
  import { formatter } from '../output/formatter.js';
4
4
  import chalk from 'chalk';
5
+ import { getErrorMessage } from '@overlordai/protocol';
5
6
  export const statusCommand = new Command('status')
6
7
  .description('Show server connectivity, current user, and cluster overview')
7
8
  .option('--json', 'Output as JSON')
@@ -22,7 +23,7 @@ export const statusCommand = new Command('status')
22
23
  }
23
24
  }
24
25
  catch (err) {
25
- result['Server'] = chalk.red(`unreachable — ${err instanceof Error ? err.message : String(err)}`);
26
+ result['Server'] = chalk.red(`unreachable — ${getErrorMessage(err)}`);
26
27
  formatter.detail(result);
27
28
  process.exitCode = 1;
28
29
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzC,IAAI,IAAI,CAAC,IAAI;QAAE,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,CAAkB,kBAAkB,CAAC,CAAC;QACzE,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAyB,0BAA0B,CAAC,CAAC;QACrF,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,YAAY,CAAC,CAAC,YAAY,YAAY,CAAC,CAAC,eAAe,kBAAkB,CAAC;YAC7G,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,SAAS,CAAC;QACnD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAqD,MAAM,sBAAsB,CAAC;AAE1G,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzC,IAAI,IAAI,CAAC,IAAI;QAAE,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,CAAkB,kBAAkB,CAAC,CAAC;QACzE,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAyB,0BAA0B,CAAC,CAAC;QACrF,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,YAAY,CAAC,CAAC,YAAY,YAAY,CAAC,CAAC,eAAe,kBAAkB,CAAC;YAC7G,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,SAAS,CAAC;QACnD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiCpC,eAAO,MAAM,WAAW,SACkB,CAAC"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,eAAO,MAAM,WAAW,SACkB,CAAC"}
@@ -1,18 +1,19 @@
1
1
  import { Command } from 'commander';
2
2
  import * as fs from 'node:fs';
3
- import { getApiClient, getServerUrl, getToken } from './helpers.js';
3
+ import { getApiClient, getCredentials, getChannelToken } from './helpers.js';
4
+ import { formatApiError } from '../output/api-error.js';
4
5
  import { formatter } from '../output/formatter.js';
5
6
  import { PtyClient } from '../terminal/pty-client.js';
6
- import { ApiClient } from '../auth/api-client.js';
7
7
  import chalk from 'chalk';
8
+ import { getErrorMessage, TaskStatus } from '@overlordai/protocol';
8
9
  const STATUS_COLORS = {
9
- RUNNING: chalk.green,
10
- QUEUED: chalk.yellow,
11
- ASSIGNED: chalk.blue,
12
- COMPLETED: chalk.cyan,
13
- FAILED: chalk.red,
14
- CANCELLED: chalk.dim,
15
- SUSPENDED: chalk.magenta,
10
+ [TaskStatus.RUNNING]: chalk.green,
11
+ [TaskStatus.QUEUED]: chalk.yellow,
12
+ [TaskStatus.ASSIGNED]: chalk.blue,
13
+ [TaskStatus.COMPLETED]: chalk.cyan,
14
+ [TaskStatus.FAILED]: chalk.red,
15
+ [TaskStatus.CANCELLED]: chalk.dim,
16
+ [TaskStatus.SUSPENDED]: chalk.magenta,
16
17
  };
17
18
  export const taskCommand = new Command('task')
18
19
  .description('Task management commands');
@@ -22,7 +23,7 @@ taskCommand
22
23
  .option('-d, --description <text>', 'Task description')
23
24
  .option('-f, --file <path>', 'Create from YAML file')
24
25
  .option('-p, --project <key>', 'Project key')
25
- .option('--on <machine>', 'Target machine')
26
+ .option('--on <worker>', 'Target worker')
26
27
  .option('--json', 'Output as JSON')
27
28
  .action(async (opts) => {
28
29
  if (opts.json)
@@ -38,7 +39,7 @@ taskCommand
38
39
  body = {
39
40
  description: opts.description,
40
41
  ...(opts.project && { projectKey: opts.project }),
41
- ...(opts.on && { machineId: opts.on }),
42
+ ...(opts.on && { workerId: opts.on }),
42
43
  };
43
44
  }
44
45
  else {
@@ -49,8 +50,8 @@ taskCommand
49
50
  if (opts.project && !body['projectKey']) {
50
51
  body['projectKey'] = opts.project;
51
52
  }
52
- if (opts.on && !body['machineId']) {
53
- body['machineId'] = opts.on;
53
+ if (opts.on && !body['workerId']) {
54
+ body['workerId'] = opts.on;
54
55
  }
55
56
  try {
56
57
  const res = await client.post('/api/web/tasks', body);
@@ -62,12 +63,12 @@ taskCommand
62
63
  process.exitCode = 1;
63
64
  }
64
65
  else {
65
- formatter.error(`Failed to create task (status ${res.status}).`);
66
+ formatter.error(`Failed to create task (status ${res.status})${formatApiError(res.status, res.data)}.`);
66
67
  process.exitCode = 1;
67
68
  }
68
69
  }
69
70
  catch (err) {
70
- formatter.error(err instanceof Error ? err.message : String(err));
71
+ formatter.error(getErrorMessage(err));
71
72
  process.exitCode = 1;
72
73
  }
73
74
  });
@@ -91,15 +92,13 @@ taskCommand
91
92
  try {
92
93
  const res = await client.get(path);
93
94
  if (res.status !== 200) {
94
- formatter.error(`Failed to list tasks (status ${res.status}).`);
95
+ formatter.error(`Failed to list tasks (status ${res.status})${formatApiError(res.status, res.data)}.`);
95
96
  process.exitCode = 1;
96
97
  return;
97
98
  }
98
- // API returns { data: [...], nextCursor: ... } or a plain array
99
- const rawData = res.data;
100
- const tasks = Array.isArray(rawData)
101
- ? rawData
102
- : rawData.data ?? [];
99
+ const tasks = Array.isArray(res.data)
100
+ ? res.data
101
+ : res.data.data ?? [];
103
102
  formatter.table(tasks, [
104
103
  { key: 'id', label: 'ID', width: 6 },
105
104
  {
@@ -113,16 +112,17 @@ taskCommand
113
112
  },
114
113
  { key: 'projectKey', label: 'Project', width: 14 },
115
114
  { key: 'description', label: 'Description', width: 30 },
116
- { key: 'machineName', label: 'Machine', width: 14 },
115
+ { key: 'workerName', label: 'Worker', width: 14 },
117
116
  { key: 'createdAt', label: 'Created', width: 12 },
118
117
  ]);
119
- const active = tasks.filter((t) => ['RUNNING', 'QUEUED', 'ASSIGNED', 'SUSPENDED'].includes(t.status)).length;
118
+ const activeStatuses = [TaskStatus.RUNNING, TaskStatus.QUEUED, TaskStatus.ASSIGNED, TaskStatus.SUSPENDED];
119
+ const active = tasks.filter((t) => activeStatuses.includes(t.status)).length;
120
120
  const completed = tasks.length - active;
121
121
  console.log('');
122
122
  console.log(chalk.dim(` ${tasks.length} tasks shown (${active} active, ${completed} completed)`));
123
123
  }
124
124
  catch (err) {
125
- formatter.error(err instanceof Error ? err.message : String(err));
125
+ formatter.error(getErrorMessage(err));
126
126
  process.exitCode = 1;
127
127
  }
128
128
  });
@@ -137,7 +137,7 @@ taskCommand
137
137
  try {
138
138
  const res = await client.get(`/api/web/tasks/${id}`);
139
139
  if (res.status !== 200) {
140
- formatter.error(`Task not found (status ${res.status}).`);
140
+ formatter.error(`Task not found (status ${res.status})${formatApiError(res.status, res.data)}.`);
141
141
  process.exitCode = 1;
142
142
  return;
143
143
  }
@@ -147,7 +147,7 @@ taskCommand
147
147
  Status: task.status,
148
148
  Project: task.projectKey,
149
149
  Description: task.description,
150
- Machine: task.machineName ?? '—',
150
+ Worker: task.workerName ?? '—',
151
151
  Stage: task.currentStage ?? '—',
152
152
  'MR URL': task.mrUrl ?? '—',
153
153
  Created: task.createdAt,
@@ -155,7 +155,7 @@ taskCommand
155
155
  });
156
156
  }
157
157
  catch (err) {
158
- formatter.error(err instanceof Error ? err.message : String(err));
158
+ formatter.error(getErrorMessage(err));
159
159
  process.exitCode = 1;
160
160
  }
161
161
  });
@@ -172,28 +172,23 @@ taskCommand
172
172
  // Check task status first
173
173
  const taskRes = await client.get(`/api/web/tasks/${id}`);
174
174
  if (taskRes.status !== 200) {
175
- formatter.error(`Task not found (status ${taskRes.status}).`);
175
+ formatter.error(`Task not found (status ${taskRes.status})${formatApiError(taskRes.status, taskRes.data)}.`);
176
176
  process.exitCode = 1;
177
177
  return;
178
178
  }
179
179
  const task = taskRes.data;
180
- const isActive = ['RUNNING', 'QUEUED', 'SUSPENDED'].includes(task.status);
180
+ const streamStatuses = [TaskStatus.RUNNING, TaskStatus.QUEUED, TaskStatus.SUSPENDED];
181
+ const isActive = streamStatuses.includes(task.status);
181
182
  if (isActive) {
182
183
  // Stream logs via PTY watch mode
183
184
  formatter.info(`Streaming logs for task #${id} (Ctrl+C to stop)...`);
185
+ const { server: serverUrl, token } = getCredentials();
184
186
  const ptyClient = new PtyClient({
185
- serverUrl: getServerUrl(),
187
+ serverUrl,
186
188
  taskId: id,
187
- token: getToken(),
189
+ token,
188
190
  mode: 'watch',
189
- getChannelToken: async (serverUrl, taskId, token) => {
190
- const apiClient = new ApiClient(serverUrl, token);
191
- const res = await apiClient.post(`/api/web/tasks/${taskId}/pty-token`);
192
- if (res.status !== 200 && res.status !== 201) {
193
- throw new Error(`Failed to obtain PTY channel token (status ${res.status})`);
194
- }
195
- return res.data.channelToken;
196
- },
191
+ getChannelToken,
197
192
  });
198
193
  await ptyClient.connect();
199
194
  }
@@ -212,117 +207,77 @@ taskCommand
212
207
  }
213
208
  }
214
209
  catch (err) {
215
- formatter.error(err instanceof Error ? err.message : String(err));
210
+ formatter.error(getErrorMessage(err));
216
211
  process.exitCode = 1;
217
212
  }
218
213
  });
219
- taskCommand
220
- .command('cancel <id>')
221
- .description('Cancel a running task')
222
- .action(async (id) => {
214
+ async function taskAction(id, action, successMsg) {
223
215
  const client = getApiClient();
224
216
  try {
225
- const res = await client.post(`/api/web/tasks/${id}/cancel`);
217
+ const res = await client.post(`/api/web/tasks/${id}/${action}`);
226
218
  if (res.status >= 200 && res.status < 300) {
227
- formatter.success(`Task #${id} cancelled.`);
219
+ formatter.success(successMsg);
228
220
  }
229
221
  else {
230
- formatter.error(`Failed to cancel task (status ${res.status}).`);
222
+ formatter.error(`Failed to ${action} task (status ${res.status})${formatApiError(res.status, res.data)}.`);
231
223
  process.exitCode = 1;
232
224
  }
233
225
  }
234
226
  catch (err) {
235
- formatter.error(err instanceof Error ? err.message : String(err));
227
+ formatter.error(getErrorMessage(err));
236
228
  process.exitCode = 1;
237
229
  }
230
+ }
231
+ taskCommand
232
+ .command('cancel <id>')
233
+ .description('Cancel a running task')
234
+ .action(async (id) => {
235
+ await taskAction(id, 'cancel', `Task #${id} cancelled.`);
238
236
  });
239
237
  taskCommand
240
238
  .command('retry <id>')
241
239
  .description('Retry a failed task')
242
240
  .action(async (id) => {
241
+ await taskAction(id, 'retry', `Task #${id} retry initiated.`);
242
+ });
243
+ async function confirmStage(id, stageIndex, result, successMsg) {
243
244
  const client = getApiClient();
244
245
  try {
245
- const res = await client.post(`/api/web/tasks/${id}/retry`);
246
- if (res.status >= 200 && res.status < 300) {
247
- formatter.success(`Task #${id} retry initiated.`);
246
+ const res = await client.post(`/api/web/tasks/${id}/confirm-stage`, { stageIndex, result });
247
+ if (res.status === 200) {
248
+ formatter.success(successMsg);
248
249
  }
249
250
  else {
250
- formatter.error(`Failed to retry task (status ${res.status}).`);
251
+ formatter.error(`Failed to confirm stage (status ${res.status})${formatApiError(res.status, res.data)}.`);
251
252
  process.exitCode = 1;
252
253
  }
253
254
  }
254
255
  catch (err) {
255
- formatter.error(err instanceof Error ? err.message : String(err));
256
+ formatter.error(getErrorMessage(err));
256
257
  process.exitCode = 1;
257
258
  }
258
- });
259
+ }
259
260
  taskCommand
260
261
  .command('confirm <id>')
261
262
  .description('Confirm a suspended task stage')
262
263
  .requiredOption('--stage <index>', 'Stage index to confirm', (val) => parseInt(val, 10))
263
264
  .action(async (id, opts) => {
264
- const client = getApiClient();
265
- try {
266
- const res = await client.post(`/api/web/tasks/${id}/confirm-stage`, { stageIndex: opts.stage, result: 'confirmed' });
267
- if (res.status === 200) {
268
- formatter.success(`Task #${id} stage ${opts.stage} confirmed.`);
269
- }
270
- else {
271
- formatter.error(`Failed to confirm task stage (status ${res.status}).`);
272
- process.exitCode = 1;
273
- }
274
- }
275
- catch (err) {
276
- formatter.error(err instanceof Error ? err.message : String(err));
277
- process.exitCode = 1;
278
- }
265
+ await confirmStage(id, opts.stage, 'confirmed', `Task #${id} stage ${opts.stage} confirmed.`);
279
266
  });
280
267
  taskCommand
281
268
  .command('choose <id> <option>')
282
269
  .description('Choose an option for a suspended task stage')
283
270
  .requiredOption('--stage <index>', 'Stage index to respond to', (val) => parseInt(val, 10))
284
271
  .action(async (id, option, opts) => {
285
- const client = getApiClient();
286
- try {
287
- const res = await client.post(`/api/web/tasks/${id}/confirm-stage`, { stageIndex: opts.stage, result: option });
288
- if (res.status === 200) {
289
- formatter.success(`Task #${id}: option "${option}" submitted.`);
290
- }
291
- else {
292
- formatter.error(`Failed to submit option (status ${res.status}).`);
293
- process.exitCode = 1;
294
- }
295
- }
296
- catch (err) {
297
- formatter.error(err instanceof Error ? err.message : String(err));
298
- process.exitCode = 1;
299
- }
272
+ await confirmStage(id, opts.stage, option, `Task #${id}: option "${option}" submitted.`);
300
273
  });
301
274
  taskCommand
302
275
  .command('input <id> <value>')
303
276
  .description('Provide input for a suspended task stage')
304
277
  .requiredOption('--stage <index>', 'Stage index to respond to', (val) => parseInt(val, 10))
305
278
  .action(async (id, value, opts) => {
306
- const client = getApiClient();
307
- try {
308
- const res = await client.post(`/api/web/tasks/${id}/confirm-stage`, { stageIndex: opts.stage, result: value });
309
- if (res.status === 200) {
310
- formatter.success(`Task #${id}: input submitted.`);
311
- }
312
- else {
313
- formatter.error(`Failed to submit input (status ${res.status}).`);
314
- process.exitCode = 1;
315
- }
316
- }
317
- catch (err) {
318
- formatter.error(err instanceof Error ? err.message : String(err));
319
- process.exitCode = 1;
320
- }
279
+ await confirmStage(id, opts.stage, value, `Task #${id}: input submitted.`);
321
280
  });
322
- /**
323
- * Simple YAML-to-object parser for task files.
324
- * Handles flat key: value pairs. For full YAML support, use the `yaml` package.
325
- */
326
281
  function parseSimpleYaml(content) {
327
282
  const result = {};
328
283
  for (const line of content.split('\n')) {
@@ -334,11 +289,9 @@ function parseSimpleYaml(content) {
334
289
  continue;
335
290
  const key = trimmed.slice(0, colonIndex).trim();
336
291
  let value = trimmed.slice(colonIndex + 1).trim();
337
- // Strip surrounding quotes
338
- if (typeof value === 'string' && value.startsWith('"') && value.endsWith('"')) {
292
+ if (value.startsWith('"') && value.endsWith('"')) {
339
293
  value = value.slice(1, -1);
340
294
  }
341
- // Convert snake_case to camelCase
342
295
  const camelKey = key.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
343
296
  result[camelKey] = value;
344
297
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/commands/task.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2CpC,eAAO,MAAM,cAAc,SAsCvB,CAAC"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,eAAO,MAAM,cAAc,SAsCvB,CAAC"}
@@ -1,30 +1,9 @@
1
1
  import { Command } from 'commander';
2
2
  import { createRequire } from 'node:module';
3
- import * as https from 'node:https';
4
3
  import { execFileSync } from 'node:child_process';
5
4
  import chalk from 'chalk';
5
+ import { getErrorMessage, httpsGet } from '@overlordai/protocol';
6
6
  const require = createRequire(import.meta.url);
7
- function httpsGet(url) {
8
- return new Promise((resolve, reject) => {
9
- const request = https.get(url, { headers: { 'User-Agent': 'ov-cli' } }, (res) => {
10
- if (res.statusCode === 301 || res.statusCode === 302) {
11
- const redirectUrl = res.headers.location;
12
- if (redirectUrl) {
13
- httpsGet(redirectUrl).then(resolve, reject);
14
- return;
15
- }
16
- }
17
- if (res.statusCode !== 200) {
18
- reject(new Error(`HTTP ${res.statusCode}`));
19
- return;
20
- }
21
- let data = '';
22
- res.on('data', (chunk) => { data += chunk.toString(); });
23
- res.on('end', () => resolve(data));
24
- });
25
- request.on('error', reject);
26
- });
27
- }
28
7
  async function fetchLatestVersion(packageName) {
29
8
  const url = `https://registry.npmjs.org/${encodeURIComponent(packageName)}`;
30
9
  const body = await httpsGet(url);
@@ -42,7 +21,7 @@ export const upgradeCommand = new Command('upgrade')
42
21
  latestVersion = await fetchLatestVersion('@overlordai/developer-cli');
43
22
  }
44
23
  catch (err) {
45
- console.error(chalk.red(`Failed to check for updates: ${err instanceof Error ? err.message : String(err)}`));
24
+ console.error(chalk.red(`Failed to check for updates: ${getErrorMessage(err)}`));
46
25
  process.exitCode = 1;
47
26
  return;
48
27
  }
@@ -58,7 +37,7 @@ export const upgradeCommand = new Command('upgrade')
58
37
  execFileSync('npm', args, { stdio: 'inherit' });
59
38
  }
60
39
  catch (err) {
61
- console.error(chalk.red(`\nFailed to install: ${err instanceof Error ? err.message : String(err)}`));
40
+ console.error(chalk.red(`\nFailed to install: ${getErrorMessage(err)}`));
62
41
  console.log(chalk.yellow('You can try manually: npm install -g @overlordai/developer-cli@latest'));
63
42
  process.exitCode = 1;
64
43
  return;