rackmind-cli 0.1.6 → 0.2.1

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 (122) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +62 -176
  3. package/bin/rackmind.js +5 -1
  4. package/dist/ai/providers/anthropic-provider.d.ts +4 -0
  5. package/dist/ai/providers/anthropic-provider.d.ts.map +1 -1
  6. package/dist/ai/providers/anthropic-provider.js +17 -4
  7. package/dist/ai/providers/anthropic-provider.js.map +1 -1
  8. package/dist/ai/providers/base.d.ts +15 -0
  9. package/dist/ai/providers/base.d.ts.map +1 -1
  10. package/dist/ai/providers/claude-code-bridge.d.ts +7 -0
  11. package/dist/ai/providers/claude-code-bridge.d.ts.map +1 -1
  12. package/dist/ai/providers/claude-code-bridge.js +1 -1
  13. package/dist/ai/providers/claude-code-bridge.js.map +1 -1
  14. package/dist/ai/providers/claude-code-provider.d.ts.map +1 -1
  15. package/dist/ai/providers/claude-code-provider.js +1 -0
  16. package/dist/ai/providers/claude-code-provider.js.map +1 -1
  17. package/dist/ai/providers/index.d.ts +1 -1
  18. package/dist/ai/providers/index.d.ts.map +1 -1
  19. package/dist/ai/providers/index.js.map +1 -1
  20. package/dist/ai/system-prompt.d.ts.map +1 -1
  21. package/dist/ai/system-prompt.js +1 -26
  22. package/dist/ai/system-prompt.js.map +1 -1
  23. package/dist/ai/tool-executor.d.ts +39 -1
  24. package/dist/ai/tool-executor.d.ts.map +1 -1
  25. package/dist/ai/tool-executor.js +157 -2
  26. package/dist/ai/tool-executor.js.map +1 -1
  27. package/dist/commands/auth.d.ts.map +1 -1
  28. package/dist/commands/auth.js +21 -15
  29. package/dist/commands/auth.js.map +1 -1
  30. package/dist/commands/config.d.ts.map +1 -1
  31. package/dist/commands/config.js +37 -7
  32. package/dist/commands/config.js.map +1 -1
  33. package/dist/commands/containers.d.ts.map +1 -1
  34. package/dist/commands/containers.js +10 -3
  35. package/dist/commands/containers.js.map +1 -1
  36. package/dist/commands/exec.d.ts.map +1 -1
  37. package/dist/commands/exec.js +19 -7
  38. package/dist/commands/exec.js.map +1 -1
  39. package/dist/commands/lifecycle.d.ts.map +1 -1
  40. package/dist/commands/lifecycle.js +133 -105
  41. package/dist/commands/lifecycle.js.map +1 -1
  42. package/dist/commands/logs.d.ts.map +1 -1
  43. package/dist/commands/logs.js +10 -4
  44. package/dist/commands/logs.js.map +1 -1
  45. package/dist/commands/report.d.ts.map +1 -1
  46. package/dist/commands/report.js +20 -12
  47. package/dist/commands/report.js.map +1 -1
  48. package/dist/commands/servers.d.ts.map +1 -1
  49. package/dist/commands/servers.js +29 -2
  50. package/dist/commands/servers.js.map +1 -1
  51. package/dist/commands/status.d.ts +5 -0
  52. package/dist/commands/status.d.ts.map +1 -1
  53. package/dist/commands/status.js +118 -51
  54. package/dist/commands/status.js.map +1 -1
  55. package/dist/commands/vms.d.ts.map +1 -1
  56. package/dist/commands/vms.js +9 -3
  57. package/dist/commands/vms.js.map +1 -1
  58. package/dist/config/crypto.d.ts +10 -0
  59. package/dist/config/crypto.d.ts.map +1 -1
  60. package/dist/config/crypto.js +47 -2
  61. package/dist/config/crypto.js.map +1 -1
  62. package/dist/config/index.d.ts +51 -0
  63. package/dist/config/index.d.ts.map +1 -1
  64. package/dist/config/index.js +161 -17
  65. package/dist/config/index.js.map +1 -1
  66. package/dist/globals.d.ts +21 -3
  67. package/dist/globals.d.ts.map +1 -1
  68. package/dist/globals.js +30 -4
  69. package/dist/globals.js.map +1 -1
  70. package/dist/index.js +48 -7
  71. package/dist/index.js.map +1 -1
  72. package/dist/interactive/App.d.ts.map +1 -1
  73. package/dist/interactive/App.js +11 -5
  74. package/dist/interactive/App.js.map +1 -1
  75. package/dist/interactive/components/ConfirmDialog.d.ts +9 -0
  76. package/dist/interactive/components/ConfirmDialog.d.ts.map +1 -0
  77. package/dist/interactive/components/ConfirmDialog.js +26 -0
  78. package/dist/interactive/components/ConfirmDialog.js.map +1 -0
  79. package/dist/interactive/components/InputBar.d.ts.map +1 -1
  80. package/dist/interactive/components/InputBar.js +10 -1
  81. package/dist/interactive/components/InputBar.js.map +1 -1
  82. package/dist/interactive/launch.d.ts +5 -0
  83. package/dist/interactive/launch.d.ts.map +1 -1
  84. package/dist/interactive/launch.js +16 -0
  85. package/dist/interactive/launch.js.map +1 -1
  86. package/dist/interactive/slashCommands.d.ts +1 -0
  87. package/dist/interactive/slashCommands.d.ts.map +1 -1
  88. package/dist/interactive/slashCommands.js +13 -0
  89. package/dist/interactive/slashCommands.js.map +1 -1
  90. package/dist/interactive/useRackMind.d.ts +9 -1
  91. package/dist/interactive/useRackMind.d.ts.map +1 -1
  92. package/dist/interactive/useRackMind.js +83 -4
  93. package/dist/interactive/useRackMind.js.map +1 -1
  94. package/dist/oneshot/run.d.ts.map +1 -1
  95. package/dist/oneshot/run.js +51 -9
  96. package/dist/oneshot/run.js.map +1 -1
  97. package/dist/server/client.d.ts +4 -2
  98. package/dist/server/client.d.ts.map +1 -1
  99. package/dist/server/client.js +6 -4
  100. package/dist/server/client.js.map +1 -1
  101. package/dist/server/ssh.d.ts.map +1 -1
  102. package/dist/server/ssh.js +1 -1
  103. package/dist/server/ssh.js.map +1 -1
  104. package/dist/utils/command-safety.d.ts.map +1 -1
  105. package/dist/utils/command-safety.js +157 -5
  106. package/dist/utils/command-safety.js.map +1 -1
  107. package/dist/utils/logger.d.ts +20 -0
  108. package/dist/utils/logger.d.ts.map +1 -1
  109. package/dist/utils/logger.js +68 -1
  110. package/dist/utils/logger.js.map +1 -1
  111. package/dist/utils/prompt.d.ts.map +1 -1
  112. package/dist/utils/prompt.js +4 -1
  113. package/dist/utils/prompt.js.map +1 -1
  114. package/dist/utils/table.d.ts +3 -0
  115. package/dist/utils/table.d.ts.map +1 -1
  116. package/dist/utils/table.js +4 -1
  117. package/dist/utils/table.js.map +1 -1
  118. package/package.json +45 -12
  119. package/dist/ai/client.d.ts +0 -71
  120. package/dist/ai/client.d.ts.map +0 -1
  121. package/dist/ai/client.js +0 -198
  122. package/dist/ai/client.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"containers.d.ts","sourceRoot":"","sources":["../../src/commands/containers.ts"],"names":[],"mappings":"AA0DA,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFxF"}
1
+ {"version":3,"file":"containers.d.ts","sourceRoot":"","sources":["../../src/commands/containers.ts"],"names":[],"mappings":"AA2DA,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFxF"}
@@ -10,6 +10,7 @@ import { ServerClient } from '../server/client.js';
10
10
  import { createTable, formatBytes, formatPercent, formatUptime, colorStatus, truncate, } from '../utils/table.js';
11
11
  import { formatError } from '../utils/format.js';
12
12
  import { logger } from '../utils/logger.js';
13
+ import { isQuietMode, getServerAliasOverride, out } from '../globals.js';
13
14
  function toContainerRow(ct) {
14
15
  return {
15
16
  vmid: ct.vmid,
@@ -35,7 +36,7 @@ function toContainerRow(ct) {
35
36
  export async function containersCommand(options) {
36
37
  let client = null;
37
38
  try {
38
- client = ServerClient.fromActiveProfile();
39
+ client = ServerClient.fromActiveProfile(getServerAliasOverride());
39
40
  }
40
41
  catch (err) {
41
42
  const message = err instanceof Error ? err.message : String(err);
@@ -67,7 +68,10 @@ export async function containersCommand(options) {
67
68
  const headerLabel = options.node
68
69
  ? `LXC Containers on ${options.node}`
69
70
  : 'LXC Containers (all nodes)';
70
- process.stderr.write(chalk.cyan.bold(`\n${headerLabel}`) + chalk.dim(` (${containers.length})\n\n`));
71
+ const quiet = isQuietMode();
72
+ if (!quiet) {
73
+ out(chalk.cyan.bold(`\n${headerLabel}`) + chalk.dim(` (${containers.length})\n\n`));
74
+ }
71
75
  const headers = isMultiNode
72
76
  ? ['VMID', 'Name', 'Node', 'Status', 'CPUs', 'Memory', 'Disk', 'Uptime']
73
77
  : ['VMID', 'Name', 'Status', 'CPUs', 'Memory', 'Disk', 'Uptime'];
@@ -87,7 +91,10 @@ export async function containersCommand(options) {
87
91
  ];
88
92
  table.push(row);
89
93
  }
90
- process.stderr.write(table.toString() + '\n\n');
94
+ // Tables are the user-facing data — stdout so pipelines work.
95
+ process.stdout.write(table.toString() + '\n');
96
+ if (!quiet)
97
+ process.stdout.write('\n');
91
98
  }
92
99
  catch (err) {
93
100
  const message = err instanceof Error ? err.message : String(err);
@@ -1 +1 @@
1
- {"version":3,"file":"containers.js","sourceRoot":"","sources":["../../src/commands/containers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"containers.js","sourceRoot":"","sources":["../../src/commands/containers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/commands/exec.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiI9F"}
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/commands/exec.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+I9F"}
@@ -12,18 +12,20 @@ import chalk from 'chalk';
12
12
  import { ServerClient } from '../server/client.js';
13
13
  import { formatError, formatDim, formatWarning } from '../utils/format.js';
14
14
  import { logger } from '../utils/logger.js';
15
- import { isQuietMode, isJsonMode } from '../globals.js';
15
+ import { isQuietMode, isJsonMode, isAutoYes, getServerAliasOverride } from '../globals.js';
16
16
  import { matchDangerousPattern } from '../utils/command-safety.js';
17
17
  import { readConfig } from '../config/index.js';
18
18
  import { promptConfirm } from '../utils/prompt.js';
19
+ import { onShutdown, removeShutdownHandler } from '../utils/shutdown.js';
19
20
  /**
20
21
  * Execute a command on the active server (host or container).
21
22
  */
22
23
  export async function execCommand(cmd, options = {}) {
23
24
  const { force } = options;
24
- // Safety check: block dangerous commands unless --force is passed
25
+ // Safety check: block dangerous commands unless --force or -y / --yes is passed.
26
+ // -y is a script-friendly affordance; --force remains for explicit per-call escape.
25
27
  const dangerMatch = matchDangerousPattern(cmd);
26
- if (dangerMatch && !force) {
28
+ if (dangerMatch && !force && !isAutoYes()) {
27
29
  const config = readConfig();
28
30
  if (config.preferences.confirmDestructive) {
29
31
  process.stderr.write(formatWarning(`Dangerous command detected: ${dangerMatch}`) + '\n');
@@ -36,13 +38,19 @@ export async function execCommand(cmd, options = {}) {
36
38
  }
37
39
  let client = null;
38
40
  try {
39
- client = ServerClient.fromActiveProfile();
41
+ client = ServerClient.fromActiveProfile(getServerAliasOverride());
40
42
  }
41
43
  catch (err) {
42
44
  const message = err instanceof Error ? err.message : String(err);
43
45
  process.stderr.write(formatError(message) + '\n');
44
46
  process.exit(1);
45
47
  }
48
+ // Register cleanup so SSH is disposed even on SIGINT/SIGTERM
49
+ const disposeClient = () => {
50
+ client?.dispose();
51
+ };
52
+ onShutdown(disposeClient);
53
+ let processExitCode = null;
46
54
  try {
47
55
  // Determine if targeting a container (numeric vmid) or the host
48
56
  const vmid = parseTarget(options.target);
@@ -92,7 +100,7 @@ export async function execCommand(cmd, options = {}) {
92
100
  if (!quiet && !jsonMode) {
93
101
  process.stderr.write(formatDim(`Exit code: ${exitCode}\n`));
94
102
  }
95
- process.exit(exitCode);
103
+ processExitCode = exitCode;
96
104
  }
97
105
  }
98
106
  else {
@@ -118,7 +126,7 @@ export async function execCommand(cmd, options = {}) {
118
126
  if (!quiet && !jsonMode) {
119
127
  process.stderr.write(formatDim(`Exit code: ${exitCode}\n`));
120
128
  }
121
- process.exit(exitCode);
129
+ processExitCode = exitCode;
122
130
  }
123
131
  }
124
132
  }
@@ -126,10 +134,14 @@ export async function execCommand(cmd, options = {}) {
126
134
  const message = err instanceof Error ? err.message : String(err);
127
135
  logger.error('Exec command failed', { error: message });
128
136
  process.stderr.write(formatError(message) + '\n');
129
- process.exit(1);
137
+ processExitCode = 1;
130
138
  }
131
139
  finally {
132
140
  client.dispose();
141
+ removeShutdownHandler(disposeClient);
142
+ }
143
+ if (processExitCode !== null) {
144
+ process.exit(processExitCode);
133
145
  }
134
146
  }
135
147
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/commands/exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/commands/exec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/commands/lifecycle.ts"],"names":[],"mappings":"AAkBA,KAAK,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAYpD,MAAM,WAAW,uBAAuB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,sEAAsE;IACtE,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,IAAI,CAAC,CAqLf"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/commands/lifecycle.ts"],"names":[],"mappings":"AAmBA,KAAK,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAYpD,MAAM,WAAW,uBAAuB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,sEAAsE;IACtE,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,IAAI,CAAC,CA2Gf"}
@@ -13,7 +13,8 @@ import { readConfig } from '../config/index.js';
13
13
  import { formatError, formatSuccess, formatWarning } from '../utils/format.js';
14
14
  import { promptConfirm } from '../utils/prompt.js';
15
15
  import { logger } from '../utils/logger.js';
16
- import { isQuietMode, isJsonMode } from '../globals.js';
16
+ import { isQuietMode, isJsonMode, isAutoYes, getServerAliasOverride } from '../globals.js';
17
+ import { onShutdown, removeShutdownHandler } from '../utils/shutdown.js';
17
18
  /**
18
19
  * Perform a lifecycle action on a guest (container or VM).
19
20
  */
@@ -25,106 +26,99 @@ export async function lifecycleCommand(vmidStr, action, options) {
25
26
  }
26
27
  let client = null;
27
28
  try {
28
- client = ServerClient.fromActiveProfile();
29
+ client = ServerClient.fromActiveProfile(getServerAliasOverride());
29
30
  }
30
31
  catch (err) {
31
32
  const message = err instanceof Error ? err.message : String(err);
32
33
  process.stderr.write(formatError(message) + '\n');
33
34
  process.exit(1);
34
35
  }
36
+ // Register cleanup so SSH is disposed even on SIGINT/SIGTERM
37
+ const disposeClient = () => {
38
+ client?.dispose();
39
+ };
40
+ onShutdown(disposeClient);
41
+ let processExitCode = null;
35
42
  try {
36
43
  // Auto-detect guest type across all cluster nodes
37
44
  const guest = await detectGuestType(client, vmid);
38
45
  if (!guest) {
39
46
  process.stderr.write(formatError(`VMID ${vmid} not found as either an LXC container or QEMU VM on any cluster node`) + '\n');
40
- process.exit(1);
47
+ processExitCode = 1;
41
48
  }
42
- // Validate action makes sense for current state
43
- const stateError = validateState(guest, action);
44
- if (stateError) {
45
- process.stderr.write(formatWarning(stateError) + '\n');
46
- return;
47
- }
48
- // Confirm destructive actions
49
- if (!options.force && (action === 'stop' || action === 'restart')) {
50
- const config = readConfig();
51
- if (config.preferences.confirmDestructive) {
52
- const typeLabel = guest.type === 'lxc' ? 'container' : 'VM';
53
- const nameLabel = guest.name ? ` (${guest.name})` : '';
54
- const nodeLabel = ` on ${guest.node}`;
55
- const confirmed = await promptConfirm(chalk.yellow(`This will ${action} ${typeLabel} ${vmid}${nameLabel}${nodeLabel}. Are you sure?`), false);
56
- if (!confirmed) {
57
- process.stderr.write(chalk.dim('Cancelled.\n'));
58
- return;
59
- }
49
+ else {
50
+ // Validate action makes sense for current state
51
+ const stateError = validateState(guest, action);
52
+ if (stateError) {
53
+ process.stderr.write(formatWarning(stateError) + '\n');
60
54
  }
61
- }
62
- // Perform the action
63
- const typeLabel = guest.type === 'lxc' ? 'Container' : 'VM';
64
- const actionLabel = action === 'start' ? 'Starting' : action === 'stop' ? 'Stopping' : 'Restarting';
65
- const quiet = isQuietMode();
66
- const jsonMode = isJsonMode();
67
- const spinner = quiet ? null : ora(`${actionLabel} ${typeLabel} ${vmid}...`).start();
68
- try {
69
- const upid = await performAction(client, guest, action);
70
- const pastTense = action === 'start' ? 'started' : action === 'stop' ? 'stopped' : 'restarted';
71
- // Task polling — block until completion unless --no-wait
72
- if (!options.noWait && upid) {
73
- if (spinner) {
74
- spinner.text = `${actionLabel} ${typeLabel} ${vmid} (waiting for task)...`;
75
- }
76
- try {
77
- await client.waitForTask(upid, guest.node);
78
- }
79
- catch (err) {
80
- const msg = err instanceof Error ? err.message : String(err);
81
- if (jsonMode) {
82
- const output = {
83
- vmid,
84
- type: guest.type,
85
- name: guest.name,
86
- node: guest.node,
87
- action,
88
- success: false,
89
- error: msg,
90
- upid,
91
- };
92
- if (spinner)
93
- spinner.stop();
94
- process.stdout.write(JSON.stringify(output, null, 2) + '\n');
95
- }
96
- else if (spinner) {
97
- spinner.fail(`Task failed for ${typeLabel} ${vmid}: ${msg}`);
55
+ else {
56
+ // Confirm destructive actions (skip when --force or -y / --yes)
57
+ if (!options.force && !isAutoYes() && (action === 'stop' || action === 'restart')) {
58
+ const config = readConfig();
59
+ if (config.preferences.confirmDestructive) {
60
+ const typeLabel = guest.type === 'lxc' ? 'container' : 'VM';
61
+ const nameLabel = guest.name ? ` (${guest.name})` : '';
62
+ const nodeLabel = ` on ${guest.node}`;
63
+ const confirmed = await promptConfirm(chalk.yellow(`This will ${action} ${typeLabel} ${vmid}${nameLabel}${nodeLabel}. Are you sure?`), false);
64
+ if (!confirmed) {
65
+ process.stderr.write(chalk.dim('Cancelled.\n'));
66
+ }
67
+ else {
68
+ processExitCode = await runLifecycleAction(client, guest, vmid, action, options);
69
+ }
98
70
  }
99
71
  else {
100
- process.stderr.write(formatError(msg) + '\n');
72
+ processExitCode = await runLifecycleAction(client, guest, vmid, action, options);
101
73
  }
102
- process.exit(1);
74
+ }
75
+ else {
76
+ processExitCode = await runLifecycleAction(client, guest, vmid, action, options);
103
77
  }
104
78
  }
105
- if (jsonMode) {
106
- const output = {
107
- vmid,
108
- type: guest.type,
109
- name: guest.name,
110
- node: guest.node,
111
- action,
112
- success: true,
113
- ...(upid ? { upid } : {}),
114
- waited: !options.noWait,
115
- };
116
- if (spinner)
117
- spinner.stop();
118
- process.stdout.write(JSON.stringify(output, null, 2) + '\n');
79
+ }
80
+ }
81
+ catch (err) {
82
+ const message = err instanceof ProxmoxApiError
83
+ ? err.toUserMessage()
84
+ : err instanceof Error
85
+ ? err.message
86
+ : String(err);
87
+ logger.error('Lifecycle command failed', { error: message, vmid, action });
88
+ process.stderr.write(formatError(message) + '\n');
89
+ processExitCode = 1;
90
+ }
91
+ finally {
92
+ client.dispose();
93
+ removeShutdownHandler(disposeClient);
94
+ }
95
+ if (processExitCode !== null) {
96
+ process.exit(processExitCode);
97
+ }
98
+ }
99
+ /**
100
+ * Execute the lifecycle action and handle task polling + output.
101
+ * Returns 1 on failure, null on success.
102
+ */
103
+ async function runLifecycleAction(client, guest, vmid, action, options) {
104
+ const typeLabel = guest.type === 'lxc' ? 'Container' : 'VM';
105
+ const actionLabel = action === 'start' ? 'Starting' : action === 'stop' ? 'Stopping' : 'Restarting';
106
+ const quiet = isQuietMode();
107
+ const jsonMode = isJsonMode();
108
+ const spinner = quiet ? null : ora(`${actionLabel} ${typeLabel} ${vmid}...`).start();
109
+ try {
110
+ const upid = await performAction(client, guest, action);
111
+ const pastTense = action === 'start' ? 'started' : action === 'stop' ? 'stopped' : 'restarted';
112
+ // Task polling — block until completion unless --no-wait
113
+ if (!options.noWait && upid) {
114
+ if (spinner) {
115
+ spinner.text = `${actionLabel} ${typeLabel} ${vmid} (waiting for task)...`;
119
116
  }
120
- else if (spinner) {
121
- const waitLabel = options.noWait ? ' (task submitted)' : '';
122
- spinner.succeed(formatSuccess(`${typeLabel} ${vmid} ${pastTense} successfully${waitLabel}`));
117
+ try {
118
+ await client.waitForTask(upid, guest.node);
123
119
  }
124
- }
125
- catch (err) {
126
- if (err instanceof ProxmoxApiError) {
127
- const userMsg = err.toUserMessage();
120
+ catch (err) {
121
+ const msg = err instanceof Error ? err.message : String(err);
128
122
  if (jsonMode) {
129
123
  const output = {
130
124
  vmid,
@@ -133,20 +127,46 @@ export async function lifecycleCommand(vmidStr, action, options) {
133
127
  node: guest.node,
134
128
  action,
135
129
  success: false,
136
- error: err.message,
137
- suggestion: err.suggestion || undefined,
130
+ error: msg,
131
+ upid,
138
132
  };
139
133
  if (spinner)
140
134
  spinner.stop();
141
135
  process.stdout.write(JSON.stringify(output, null, 2) + '\n');
142
136
  }
143
137
  else if (spinner) {
144
- spinner.fail(`Failed to ${action} ${typeLabel} ${vmid}`);
145
- process.stderr.write(formatError(userMsg) + '\n');
138
+ spinner.fail(`Task failed for ${typeLabel} ${vmid}: ${msg}`);
146
139
  }
147
- process.exit(1);
140
+ else {
141
+ process.stderr.write(formatError(msg) + '\n');
142
+ }
143
+ return 1;
148
144
  }
149
- const message = err instanceof Error ? err.message : String(err);
145
+ }
146
+ if (jsonMode) {
147
+ const output = {
148
+ vmid,
149
+ type: guest.type,
150
+ name: guest.name,
151
+ node: guest.node,
152
+ action,
153
+ success: true,
154
+ ...(upid ? { upid } : {}),
155
+ waited: !options.noWait,
156
+ };
157
+ if (spinner)
158
+ spinner.stop();
159
+ process.stdout.write(JSON.stringify(output, null, 2) + '\n');
160
+ }
161
+ else if (spinner) {
162
+ const waitLabel = options.noWait ? ' (task submitted)' : '';
163
+ spinner.succeed(formatSuccess(`${typeLabel} ${vmid} ${pastTense} successfully${waitLabel}`));
164
+ }
165
+ return null;
166
+ }
167
+ catch (err) {
168
+ if (err instanceof ProxmoxApiError) {
169
+ const userMsg = err.toUserMessage();
150
170
  if (jsonMode) {
151
171
  const output = {
152
172
  vmid,
@@ -155,7 +175,8 @@ export async function lifecycleCommand(vmidStr, action, options) {
155
175
  node: guest.node,
156
176
  action,
157
177
  success: false,
158
- error: message,
178
+ error: err.message,
179
+ suggestion: err.suggestion || undefined,
159
180
  };
160
181
  if (spinner)
161
182
  spinner.stop();
@@ -163,25 +184,32 @@ export async function lifecycleCommand(vmidStr, action, options) {
163
184
  }
164
185
  else if (spinner) {
165
186
  spinner.fail(`Failed to ${action} ${typeLabel} ${vmid}`);
187
+ process.stderr.write(formatError(userMsg) + '\n');
166
188
  }
167
- if (!jsonMode) {
168
- process.stderr.write(formatError(message) + '\n');
169
- }
170
- process.exit(1);
189
+ return 1;
171
190
  }
172
- }
173
- catch (err) {
174
- const message = err instanceof ProxmoxApiError
175
- ? err.toUserMessage()
176
- : err instanceof Error
177
- ? err.message
178
- : String(err);
179
- logger.error('Lifecycle command failed', { error: message, vmid, action });
180
- process.stderr.write(formatError(message) + '\n');
181
- process.exit(1);
182
- }
183
- finally {
184
- client.dispose();
191
+ const message = err instanceof Error ? err.message : String(err);
192
+ if (jsonMode) {
193
+ const output = {
194
+ vmid,
195
+ type: guest.type,
196
+ name: guest.name,
197
+ node: guest.node,
198
+ action,
199
+ success: false,
200
+ error: message,
201
+ };
202
+ if (spinner)
203
+ spinner.stop();
204
+ process.stdout.write(JSON.stringify(output, null, 2) + '\n');
205
+ }
206
+ else if (spinner) {
207
+ spinner.fail(`Failed to ${action} ${typeLabel} ${vmid}`);
208
+ }
209
+ if (!jsonMode) {
210
+ process.stderr.write(formatError(message) + '\n');
211
+ }
212
+ return 1;
185
213
  }
186
214
  }
187
215
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/commands/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/commands/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0EhG"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFhG"}
@@ -11,6 +11,7 @@ import chalk from 'chalk';
11
11
  import { ServerClient } from '../server/client.js';
12
12
  import { formatError, formatDim } from '../utils/format.js';
13
13
  import { logger } from '../utils/logger.js';
14
+ import { getServerAliasOverride, isQuietMode } from '../globals.js';
14
15
  /**
15
16
  * Stream logs for a guest (container or VM).
16
17
  */
@@ -22,7 +23,7 @@ export async function logsCommand(vmidStr, lines, follow) {
22
23
  }
23
24
  let client = null;
24
25
  try {
25
- client = ServerClient.fromActiveProfile();
26
+ client = ServerClient.fromActiveProfile(getServerAliasOverride());
26
27
  }
27
28
  catch (err) {
28
29
  const message = err instanceof Error ? err.message : String(err);
@@ -37,8 +38,11 @@ export async function logsCommand(vmidStr, lines, follow) {
37
38
  process.exit(1);
38
39
  }
39
40
  const command = buildLogCommand(vmid, guestType, lines, follow);
40
- process.stderr.write(formatDim(`Tailing logs for ${guestType === 'lxc' ? 'container' : 'VM'} ${vmid}...\n`));
41
- process.stderr.write(chalk.dim('─'.repeat(60) + '\n'));
41
+ const quiet = isQuietMode();
42
+ if (!quiet) {
43
+ process.stderr.write(formatDim(`Tailing logs for ${guestType === 'lxc' ? 'container' : 'VM'} ${vmid}...\n`));
44
+ process.stderr.write(chalk.dim('─'.repeat(60) + '\n'));
45
+ }
42
46
  // Handle Ctrl+C gracefully when following
43
47
  const cleanup = () => {
44
48
  client?.dispose();
@@ -67,7 +71,9 @@ export async function logsCommand(vmidStr, lines, follow) {
67
71
  }
68
72
  });
69
73
  }
70
- process.stderr.write(chalk.dim('─'.repeat(60) + '\n'));
74
+ if (!quiet) {
75
+ process.stderr.write(chalk.dim('─'.repeat(60) + '\n'));
76
+ }
71
77
  }
72
78
  catch (err) {
73
79
  const message = err instanceof Error ? err.message : String(err);