rackmind-cli 0.1.5 → 0.2.0

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 (121) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +67 -181
  3. package/bin/rackmind.js +5 -1
  4. package/dist/ai/models.d.ts +40 -0
  5. package/dist/ai/models.d.ts.map +1 -0
  6. package/dist/ai/models.js +90 -0
  7. package/dist/ai/models.js.map +1 -0
  8. package/dist/ai/providers/anthropic-provider.d.ts +22 -0
  9. package/dist/ai/providers/anthropic-provider.d.ts.map +1 -0
  10. package/dist/ai/{client.js → providers/anthropic-provider.js} +41 -59
  11. package/dist/ai/providers/anthropic-provider.js.map +1 -0
  12. package/dist/ai/providers/base.d.ts +82 -0
  13. package/dist/ai/providers/base.d.ts.map +1 -0
  14. package/dist/ai/providers/base.js +9 -0
  15. package/dist/ai/providers/base.js.map +1 -0
  16. package/dist/ai/providers/claude-code-bridge.d.ts +51 -0
  17. package/dist/ai/providers/claude-code-bridge.d.ts.map +1 -0
  18. package/dist/ai/providers/claude-code-bridge.js +371 -0
  19. package/dist/ai/providers/claude-code-bridge.js.map +1 -0
  20. package/dist/ai/providers/claude-code-provider.d.ts +24 -0
  21. package/dist/ai/providers/claude-code-provider.d.ts.map +1 -0
  22. package/dist/ai/providers/claude-code-provider.js +246 -0
  23. package/dist/ai/providers/claude-code-provider.js.map +1 -0
  24. package/dist/ai/providers/claude-code-runner.d.ts +51 -0
  25. package/dist/ai/providers/claude-code-runner.d.ts.map +1 -0
  26. package/dist/ai/providers/claude-code-runner.js +325 -0
  27. package/dist/ai/providers/claude-code-runner.js.map +1 -0
  28. package/dist/ai/providers/index.d.ts +8 -0
  29. package/dist/ai/providers/index.d.ts.map +1 -0
  30. package/dist/ai/providers/index.js +28 -0
  31. package/dist/ai/providers/index.js.map +1 -0
  32. package/dist/ai/system-prompt.d.ts.map +1 -1
  33. package/dist/ai/system-prompt.js +1 -26
  34. package/dist/ai/system-prompt.js.map +1 -1
  35. package/dist/ai/tool-executor.d.ts +29 -1
  36. package/dist/ai/tool-executor.d.ts.map +1 -1
  37. package/dist/ai/tool-executor.js +85 -1
  38. package/dist/ai/tool-executor.js.map +1 -1
  39. package/dist/commands/auth.d.ts.map +1 -1
  40. package/dist/commands/auth.js +21 -15
  41. package/dist/commands/auth.js.map +1 -1
  42. package/dist/commands/containers.d.ts.map +1 -1
  43. package/dist/commands/containers.js +10 -3
  44. package/dist/commands/containers.js.map +1 -1
  45. package/dist/commands/exec.d.ts.map +1 -1
  46. package/dist/commands/exec.js +19 -7
  47. package/dist/commands/exec.js.map +1 -1
  48. package/dist/commands/lifecycle.d.ts.map +1 -1
  49. package/dist/commands/lifecycle.js +133 -105
  50. package/dist/commands/lifecycle.js.map +1 -1
  51. package/dist/commands/logs.d.ts.map +1 -1
  52. package/dist/commands/logs.js +10 -4
  53. package/dist/commands/logs.js.map +1 -1
  54. package/dist/commands/report.d.ts.map +1 -1
  55. package/dist/commands/report.js +20 -12
  56. package/dist/commands/report.js.map +1 -1
  57. package/dist/commands/servers.d.ts.map +1 -1
  58. package/dist/commands/servers.js +29 -2
  59. package/dist/commands/servers.js.map +1 -1
  60. package/dist/commands/status.d.ts +5 -0
  61. package/dist/commands/status.d.ts.map +1 -1
  62. package/dist/commands/status.js +66 -50
  63. package/dist/commands/status.js.map +1 -1
  64. package/dist/commands/vms.d.ts.map +1 -1
  65. package/dist/commands/vms.js +9 -3
  66. package/dist/commands/vms.js.map +1 -1
  67. package/dist/config/index.d.ts +10 -0
  68. package/dist/config/index.d.ts.map +1 -1
  69. package/dist/config/index.js +21 -0
  70. package/dist/config/index.js.map +1 -1
  71. package/dist/globals.d.ts +21 -3
  72. package/dist/globals.d.ts.map +1 -1
  73. package/dist/globals.js +30 -4
  74. package/dist/globals.js.map +1 -1
  75. package/dist/index.js +22 -6
  76. package/dist/index.js.map +1 -1
  77. package/dist/interactive/App.d.ts.map +1 -1
  78. package/dist/interactive/App.js +11 -5
  79. package/dist/interactive/App.js.map +1 -1
  80. package/dist/interactive/components/ConfirmDialog.d.ts +9 -0
  81. package/dist/interactive/components/ConfirmDialog.d.ts.map +1 -0
  82. package/dist/interactive/components/ConfirmDialog.js +26 -0
  83. package/dist/interactive/components/ConfirmDialog.js.map +1 -0
  84. package/dist/interactive/components/InputBar.d.ts.map +1 -1
  85. package/dist/interactive/components/InputBar.js +10 -1
  86. package/dist/interactive/components/InputBar.js.map +1 -1
  87. package/dist/interactive/components/ToolOutput.d.ts +1 -1
  88. package/dist/interactive/components/ToolOutput.d.ts.map +1 -1
  89. package/dist/interactive/launch.d.ts +5 -0
  90. package/dist/interactive/launch.d.ts.map +1 -1
  91. package/dist/interactive/launch.js +16 -0
  92. package/dist/interactive/launch.js.map +1 -1
  93. package/dist/interactive/slashCommands.d.ts +1 -0
  94. package/dist/interactive/slashCommands.d.ts.map +1 -1
  95. package/dist/interactive/slashCommands.js +13 -0
  96. package/dist/interactive/slashCommands.js.map +1 -1
  97. package/dist/interactive/useRackMind.d.ts +9 -1
  98. package/dist/interactive/useRackMind.d.ts.map +1 -1
  99. package/dist/interactive/useRackMind.js +81 -8
  100. package/dist/interactive/useRackMind.js.map +1 -1
  101. package/dist/oneshot/run.d.ts.map +1 -1
  102. package/dist/oneshot/run.js +65 -14
  103. package/dist/oneshot/run.js.map +1 -1
  104. package/dist/server/client.d.ts +4 -2
  105. package/dist/server/client.d.ts.map +1 -1
  106. package/dist/server/client.js +6 -4
  107. package/dist/server/client.js.map +1 -1
  108. package/dist/server/ssh.d.ts.map +1 -1
  109. package/dist/server/ssh.js +1 -1
  110. package/dist/server/ssh.js.map +1 -1
  111. package/dist/utils/prompt.d.ts.map +1 -1
  112. package/dist/utils/prompt.js +52 -49
  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 +44 -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.map +0 -1
@@ -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);
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"AA4BA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAmD7C;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCvE"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"AA6BA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAmD7C;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCvE"}
@@ -10,13 +10,14 @@ import { ServerClient, } from '../server/client.js';
10
10
  import { createTable, formatBytes, formatPercent, formatUptime, formatUsageBar, colorStatus, truncate, printSectionHeader, } from '../utils/table.js';
11
11
  import { formatError } from '../utils/format.js';
12
12
  import { logger } from '../utils/logger.js';
13
+ import { isQuietMode, getServerAliasOverride } from '../globals.js';
13
14
  /**
14
15
  * Generate and display a server health report.
15
16
  */
16
17
  export async function reportCommand(format) {
17
18
  let client = null;
18
19
  try {
19
- client = ServerClient.fromActiveProfile();
20
+ client = ServerClient.fromActiveProfile(getServerAliasOverride());
20
21
  }
21
22
  catch (err) {
22
23
  const message = err instanceof Error ? err.message : String(err);
@@ -111,13 +112,20 @@ function buildReportData(activeNode, nodes, containers, vms) {
111
112
  };
112
113
  }
113
114
  /**
114
- * Render the report to stderr as formatted tables.
115
+ * Render the report to stdout as formatted tables.
116
+ *
117
+ * The whole report is data — running `rackmind report > report.txt` should
118
+ * yield a complete artifact. --quiet drops the timestamped banner but keeps
119
+ * every table.
115
120
  */
116
121
  function renderStdoutReport(report, nodes, containers, vms) {
122
+ const quiet = isQuietMode();
117
123
  // Title
118
- process.stderr.write('\n' + chalk.cyan.bold('RackMind Server Health Report') + '\n');
119
- process.stderr.write(chalk.dim(`Generated: ${report.generatedAt}\n`));
120
- process.stderr.write(chalk.dim('═'.repeat(60) + '\n'));
124
+ if (!quiet) {
125
+ process.stdout.write('\n' + chalk.cyan.bold('RackMind Server Health Report') + '\n');
126
+ process.stdout.write(chalk.dim(`Generated: ${report.generatedAt}\n`));
127
+ process.stdout.write(chalk.dim('═'.repeat(60) + '\n'));
128
+ }
121
129
  // -- Node summary --------------------------------------------------------
122
130
  renderNodesSection(nodes);
123
131
  // -- Containers ----------------------------------------------------------
@@ -146,7 +154,7 @@ function renderNodesSection(nodes) {
146
154
  formatUptime(n.uptime),
147
155
  ]);
148
156
  }
149
- process.stderr.write(table.toString() + '\n');
157
+ process.stdout.write(table.toString() + '\n');
150
158
  }
151
159
  function renderContainersSection(containers) {
152
160
  printSectionHeader('LXC Containers', containers.length);
@@ -164,7 +172,7 @@ function renderContainersSection(containers) {
164
172
  formatUptime(ct.uptime),
165
173
  ]);
166
174
  }
167
- process.stderr.write(table.toString() + '\n');
175
+ process.stdout.write(table.toString() + '\n');
168
176
  }
169
177
  function renderVMsSection(vms) {
170
178
  printSectionHeader('QEMU Virtual Machines', vms.length);
@@ -182,21 +190,21 @@ function renderVMsSection(vms) {
182
190
  formatUptime(vm.uptime),
183
191
  ]);
184
192
  }
185
- process.stderr.write(table.toString() + '\n');
193
+ process.stdout.write(table.toString() + '\n');
186
194
  }
187
195
  function renderSummarySection(summary) {
188
196
  printSectionHeader('Summary');
189
197
  const totalGuests = summary.totalContainers + summary.totalVMs;
190
198
  const totalRunning = summary.runningContainers + summary.runningVMs;
191
199
  const totalStopped = summary.stoppedContainers + summary.stoppedVMs;
192
- process.stderr.write(` Containers: ${chalk.green(summary.runningContainers)} running, ` +
200
+ process.stdout.write(` Containers: ${chalk.green(summary.runningContainers)} running, ` +
193
201
  `${chalk.yellow(summary.stoppedContainers)} stopped ` +
194
202
  `${chalk.dim(`(${summary.totalContainers} total)`)}\n`);
195
- process.stderr.write(` VMs: ${chalk.green(summary.runningVMs)} running, ` +
203
+ process.stdout.write(` VMs: ${chalk.green(summary.runningVMs)} running, ` +
196
204
  `${chalk.yellow(summary.stoppedVMs)} stopped ` +
197
205
  `${chalk.dim(`(${summary.totalVMs} total)`)}\n`);
198
- process.stderr.write(chalk.dim(' ─'.repeat(20) + '\n'));
199
- process.stderr.write(` Total: ${chalk.green(totalRunning)} running, ` +
206
+ process.stdout.write(chalk.dim(' ─'.repeat(20) + '\n'));
207
+ process.stdout.write(` Total: ${chalk.green(totalRunning)} running, ` +
200
208
  `${chalk.yellow(totalStopped)} stopped ` +
201
209
  `${chalk.dim(`(${totalGuests} total)`)}\n\n`);
202
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"servers.d.ts","sourceRoot":"","sources":["../../src/commands/servers.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAoDzC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAcxD"}
1
+ {"version":3,"file":"servers.d.ts","sourceRoot":"","sources":["../../src/commands/servers.ts"],"names":[],"mappings":"AAwBA;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CA+EzC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAcxD"}
@@ -13,18 +13,41 @@ import { listServerProfiles, readConfig, removeServerProfile, setActiveServer, g
13
13
  import { connectCommand } from './connect.js';
14
14
  import { formatSuccess, formatError, formatWarning, formatDim } from '../utils/format.js';
15
15
  import { promptConfirm } from '../utils/prompt.js';
16
+ import { isJsonMode, isQuietMode, out } from '../globals.js';
16
17
  /**
17
18
  * List all configured server profiles.
18
19
  */
19
20
  export function serversListCommand() {
20
21
  const config = readConfig();
21
22
  const profiles = listServerProfiles();
23
+ // --json: emit a stable structured list to stdout.
24
+ if (isJsonMode()) {
25
+ const payload = {
26
+ activeServer: config.activeServer,
27
+ servers: profiles.map((p) => ({
28
+ alias: p.alias,
29
+ platform: p.platform,
30
+ host: p.host,
31
+ port: p.port,
32
+ apiUser: p.apiUser ?? null,
33
+ sshHost: p.sshHost ?? null,
34
+ sshPort: p.sshPort,
35
+ sshUsername: p.sshUsername ?? null,
36
+ active: p.alias === config.activeServer,
37
+ })),
38
+ };
39
+ process.stdout.write(JSON.stringify(payload, null, 2) + '\n');
40
+ return;
41
+ }
22
42
  if (profiles.length === 0) {
23
43
  process.stderr.write(formatWarning('No servers configured.\n'));
24
44
  process.stderr.write(formatDim(' Run `rackmind servers add <alias>` to add one.\n'));
25
45
  return;
26
46
  }
27
- process.stderr.write(chalk.cyan.bold(`\nServer Profiles (${profiles.length})\n\n`));
47
+ const quiet = isQuietMode();
48
+ if (!quiet) {
49
+ out(chalk.cyan.bold(`\nServer Profiles (${profiles.length})\n\n`));
50
+ }
28
51
  const table = new Table({
29
52
  head: ['', 'Alias', 'Platform', 'Host', 'API User', 'SSH'],
30
53
  style: { head: ['cyan'] },
@@ -61,7 +84,11 @@ export function serversListCommand() {
61
84
  sshInfo,
62
85
  ]);
63
86
  }
64
- process.stderr.write(table.toString() + '\n\n');
87
+ // Pipe-friendly: the table itself is the data, so it goes to stdout.
88
+ process.stdout.write(table.toString() + '\n');
89
+ if (!quiet) {
90
+ process.stdout.write('\n');
91
+ }
65
92
  }
66
93
  /**
67
94
  * Add a new server profile (delegates to connect wizard).