@synteq/cli 0.1.3 → 0.1.4

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 (190) hide show
  1. package/dist/api/client.d.ts +9 -9
  2. package/dist/api/client.js +200 -32
  3. package/dist/api/client.js.map +1 -1
  4. package/dist/api/types.d.ts +38 -41
  5. package/dist/commands/api.js +1 -1
  6. package/dist/commands/api.js.map +1 -1
  7. package/dist/commands/catalog.js +1 -1
  8. package/dist/commands/catalog.js.map +1 -1
  9. package/dist/commands/gpu/activity.d.ts +2 -2
  10. package/dist/commands/gpu/activity.js +5 -5
  11. package/dist/commands/gpu/activity.js.map +1 -1
  12. package/dist/commands/gpu/bandwidth.d.ts +2 -2
  13. package/dist/commands/gpu/bandwidth.js +5 -5
  14. package/dist/commands/gpu/bandwidth.js.map +1 -1
  15. package/dist/commands/gpu/boot-order.d.ts +2 -2
  16. package/dist/commands/gpu/boot-order.js +5 -5
  17. package/dist/commands/gpu/boot-order.js.map +1 -1
  18. package/dist/commands/gpu/console.d.ts +2 -2
  19. package/dist/commands/gpu/console.js +5 -5
  20. package/dist/commands/gpu/console.js.map +1 -1
  21. package/dist/commands/gpu/details.d.ts +2 -2
  22. package/dist/commands/gpu/details.js +5 -5
  23. package/dist/commands/gpu/details.js.map +1 -1
  24. package/dist/commands/gpu/ip/add.d.ts +2 -2
  25. package/dist/commands/gpu/ip/add.js +5 -5
  26. package/dist/commands/gpu/ip/add.js.map +1 -1
  27. package/dist/commands/gpu/ip/list.d.ts +2 -2
  28. package/dist/commands/gpu/ip/list.js +5 -5
  29. package/dist/commands/gpu/ip/list.js.map +1 -1
  30. package/dist/commands/gpu/list.d.ts +2 -2
  31. package/dist/commands/gpu/list.js +2 -2
  32. package/dist/commands/gpu/list.js.map +1 -1
  33. package/dist/commands/gpu/order.d.ts +2 -2
  34. package/dist/commands/gpu/order.js +2 -2
  35. package/dist/commands/gpu/order.js.map +1 -1
  36. package/dist/commands/gpu/power.d.ts +2 -2
  37. package/dist/commands/gpu/power.js +5 -5
  38. package/dist/commands/gpu/power.js.map +1 -1
  39. package/dist/commands/gpu/reinstall.d.ts +2 -2
  40. package/dist/commands/gpu/reinstall.js +5 -5
  41. package/dist/commands/gpu/reinstall.js.map +1 -1
  42. package/dist/commands/gpu/resize.d.ts +2 -2
  43. package/dist/commands/gpu/resize.js +5 -5
  44. package/dist/commands/gpu/resize.js.map +1 -1
  45. package/dist/commands/gpu/stats.d.ts +2 -2
  46. package/dist/commands/gpu/stats.js +5 -5
  47. package/dist/commands/gpu/stats.js.map +1 -1
  48. package/dist/commands/instant-metal/activity.d.ts +2 -2
  49. package/dist/commands/instant-metal/activity.js +5 -5
  50. package/dist/commands/instant-metal/activity.js.map +1 -1
  51. package/dist/commands/instant-metal/bandwidth.d.ts +2 -2
  52. package/dist/commands/instant-metal/bandwidth.js +5 -5
  53. package/dist/commands/instant-metal/bandwidth.js.map +1 -1
  54. package/dist/commands/instant-metal/boot-order.d.ts +2 -2
  55. package/dist/commands/instant-metal/boot-order.js +5 -5
  56. package/dist/commands/instant-metal/boot-order.js.map +1 -1
  57. package/dist/commands/instant-metal/console.d.ts +2 -2
  58. package/dist/commands/instant-metal/console.js +5 -5
  59. package/dist/commands/instant-metal/console.js.map +1 -1
  60. package/dist/commands/instant-metal/details.d.ts +2 -2
  61. package/dist/commands/instant-metal/details.js +5 -5
  62. package/dist/commands/instant-metal/details.js.map +1 -1
  63. package/dist/commands/instant-metal/ip/add.d.ts +2 -2
  64. package/dist/commands/instant-metal/ip/add.js +5 -5
  65. package/dist/commands/instant-metal/ip/add.js.map +1 -1
  66. package/dist/commands/instant-metal/ip/list.d.ts +2 -2
  67. package/dist/commands/instant-metal/ip/list.js +5 -5
  68. package/dist/commands/instant-metal/ip/list.js.map +1 -1
  69. package/dist/commands/instant-metal/list.d.ts +2 -2
  70. package/dist/commands/instant-metal/list.js +2 -2
  71. package/dist/commands/instant-metal/list.js.map +1 -1
  72. package/dist/commands/instant-metal/order.d.ts +2 -2
  73. package/dist/commands/instant-metal/order.js +2 -2
  74. package/dist/commands/instant-metal/order.js.map +1 -1
  75. package/dist/commands/instant-metal/power.d.ts +2 -2
  76. package/dist/commands/instant-metal/power.js +5 -5
  77. package/dist/commands/instant-metal/power.js.map +1 -1
  78. package/dist/commands/instant-metal/reinstall.d.ts +2 -2
  79. package/dist/commands/instant-metal/reinstall.js +5 -5
  80. package/dist/commands/instant-metal/reinstall.js.map +1 -1
  81. package/dist/commands/instant-metal/resize.d.ts +2 -2
  82. package/dist/commands/instant-metal/resize.js +5 -5
  83. package/dist/commands/instant-metal/resize.js.map +1 -1
  84. package/dist/commands/instant-metal/stats.d.ts +2 -2
  85. package/dist/commands/instant-metal/stats.js +5 -5
  86. package/dist/commands/instant-metal/stats.js.map +1 -1
  87. package/dist/commands/order/gpu.d.ts +2 -2
  88. package/dist/commands/order/gpu.js +2 -2
  89. package/dist/commands/order/gpu.js.map +1 -1
  90. package/dist/commands/order/instant-metal.d.ts +2 -2
  91. package/dist/commands/order/instant-metal.js +2 -2
  92. package/dist/commands/order/instant-metal.js.map +1 -1
  93. package/dist/commands/order/vps.d.ts +2 -2
  94. package/dist/commands/order/vps.js +2 -2
  95. package/dist/commands/order/vps.js.map +1 -1
  96. package/dist/commands/resources.js +5 -1
  97. package/dist/commands/resources.js.map +1 -1
  98. package/dist/commands/storage/attach.js +1 -1
  99. package/dist/commands/storage/attach.js.map +1 -1
  100. package/dist/commands/storage/order.js +6 -2
  101. package/dist/commands/storage/order.js.map +1 -1
  102. package/dist/commands/vds/activity.d.ts +2 -2
  103. package/dist/commands/vds/activity.js +5 -5
  104. package/dist/commands/vds/activity.js.map +1 -1
  105. package/dist/commands/vds/bandwidth.d.ts +2 -2
  106. package/dist/commands/vds/bandwidth.js +5 -5
  107. package/dist/commands/vds/bandwidth.js.map +1 -1
  108. package/dist/commands/vds/boot-order.d.ts +2 -2
  109. package/dist/commands/vds/boot-order.js +5 -5
  110. package/dist/commands/vds/boot-order.js.map +1 -1
  111. package/dist/commands/vds/console.d.ts +2 -2
  112. package/dist/commands/vds/console.js +5 -5
  113. package/dist/commands/vds/console.js.map +1 -1
  114. package/dist/commands/vds/details.d.ts +2 -2
  115. package/dist/commands/vds/details.js +5 -5
  116. package/dist/commands/vds/details.js.map +1 -1
  117. package/dist/commands/vds/ip/add.d.ts +2 -2
  118. package/dist/commands/vds/ip/add.js +5 -5
  119. package/dist/commands/vds/ip/add.js.map +1 -1
  120. package/dist/commands/vds/ip/list.d.ts +2 -2
  121. package/dist/commands/vds/ip/list.js +5 -5
  122. package/dist/commands/vds/ip/list.js.map +1 -1
  123. package/dist/commands/vds/list.d.ts +2 -2
  124. package/dist/commands/vds/list.js +2 -2
  125. package/dist/commands/vds/list.js.map +1 -1
  126. package/dist/commands/vds/order.d.ts +2 -2
  127. package/dist/commands/vds/order.js +2 -2
  128. package/dist/commands/vds/order.js.map +1 -1
  129. package/dist/commands/vds/power.d.ts +2 -2
  130. package/dist/commands/vds/power.js +5 -5
  131. package/dist/commands/vds/power.js.map +1 -1
  132. package/dist/commands/vds/reinstall.d.ts +2 -2
  133. package/dist/commands/vds/reinstall.js +5 -5
  134. package/dist/commands/vds/reinstall.js.map +1 -1
  135. package/dist/commands/vds/resize.d.ts +2 -2
  136. package/dist/commands/vds/resize.js +5 -5
  137. package/dist/commands/vds/resize.js.map +1 -1
  138. package/dist/commands/vds/stats.d.ts +2 -2
  139. package/dist/commands/vds/stats.js +5 -5
  140. package/dist/commands/vds/stats.js.map +1 -1
  141. package/dist/commands/vps/activity.d.ts +1 -1
  142. package/dist/commands/vps/activity.js +1 -1
  143. package/dist/commands/vps/activity.js.map +1 -1
  144. package/dist/commands/vps/bandwidth.d.ts +1 -1
  145. package/dist/commands/vps/bandwidth.js +1 -1
  146. package/dist/commands/vps/bandwidth.js.map +1 -1
  147. package/dist/commands/vps/boot-order.d.ts +1 -1
  148. package/dist/commands/vps/boot-order.js +1 -1
  149. package/dist/commands/vps/boot-order.js.map +1 -1
  150. package/dist/commands/vps/console.d.ts +1 -1
  151. package/dist/commands/vps/console.js +3 -3
  152. package/dist/commands/vps/console.js.map +1 -1
  153. package/dist/commands/vps/details.d.ts +1 -1
  154. package/dist/commands/vps/details.js +8 -8
  155. package/dist/commands/vps/details.js.map +1 -1
  156. package/dist/commands/vps/ip/add.d.ts +1 -1
  157. package/dist/commands/vps/ip/add.js +8 -8
  158. package/dist/commands/vps/ip/add.js.map +1 -1
  159. package/dist/commands/vps/ip/list.d.ts +1 -1
  160. package/dist/commands/vps/ip/list.js +4 -4
  161. package/dist/commands/vps/ip/list.js.map +1 -1
  162. package/dist/commands/vps/list.d.ts +1 -1
  163. package/dist/commands/vps/list.js +1 -1
  164. package/dist/commands/vps/list.js.map +1 -1
  165. package/dist/commands/vps/order.d.ts +7 -1
  166. package/dist/commands/vps/order.js +16 -9
  167. package/dist/commands/vps/order.js.map +1 -1
  168. package/dist/commands/vps/power.d.ts +1 -1
  169. package/dist/commands/vps/power.js +1 -1
  170. package/dist/commands/vps/power.js.map +1 -1
  171. package/dist/commands/vps/reinstall.d.ts +1 -1
  172. package/dist/commands/vps/reinstall.js +1 -1
  173. package/dist/commands/vps/reinstall.js.map +1 -1
  174. package/dist/commands/vps/resize.d.ts +7 -1
  175. package/dist/commands/vps/resize.js +52 -25
  176. package/dist/commands/vps/resize.js.map +1 -1
  177. package/dist/commands/vps/stats.d.ts +1 -1
  178. package/dist/commands/vps/stats.js +2 -2
  179. package/dist/commands/vps/stats.js.map +1 -1
  180. package/dist/tui/screens/Order.js +12 -14
  181. package/dist/tui/screens/Order.js.map +1 -1
  182. package/dist/tui/screens/Resources.js +7 -7
  183. package/dist/tui/screens/Resources.js.map +1 -1
  184. package/dist/ui/vps-detail.d.ts +3 -3
  185. package/dist/ui/vps-detail.js +1 -1
  186. package/dist/ui/vps-detail.js.map +1 -1
  187. package/dist/ui/vps-resolve.d.ts +2 -2
  188. package/dist/ui/vps-resolve.js +1 -1
  189. package/dist/ui/vps-resolve.js.map +1 -1
  190. package/package.json +1 -1
@@ -5,15 +5,31 @@ import { confirmDestructive, yesRequiredMessage } from "../../ui/confirm.js";
5
5
  import { isInteractive, panel, summary } from "../../ui/wizard.js";
6
6
  import { ok, statusColor } from "../../ui/glyphs.js";
7
7
  import { pickPayment } from "../../ui/payment.js";
8
- export default class VpsResize extends BaseCommand {
8
+ /** Resolves the target RAM in GB from the `--ram` flag (already GB, no
9
+ * MB conversion) falling back to the seed spec's GB value. Exported
10
+ * standalone so the flag-parsing/unit contract has direct test coverage —
11
+ * a regression here (e.g. a reintroduced `* 1024`) would silently request
12
+ * 1024x too much RAM. */
13
+ export function resolveTargetRamGb(ramFlag, seedRamGb) {
14
+ return ramFlag !== undefined ? ramFlag : seedRamGb;
15
+ }
16
+ // Server serializes money as Decimal-string (per ResizeQuoteOut in
17
+ // backend/app/schemas/resize.py). Always parse before any arithmetic /
18
+ // .toFixed() call — a raw string.toFixed() crashes the CLI on every quote.
19
+ function money(v) {
20
+ if (v == null)
21
+ return 0;
22
+ const n = typeof v === "number" ? v : Number(v);
23
+ return Number.isFinite(n) ? n : 0;
24
+ }
25
+ export default class ResourceResize extends BaseCommand {
9
26
  static description = [
10
- "Resize a VPS (change CPU / RAM / disk / bandwidth in place).",
27
+ "Resize a Resource (change CPU / RAM / disk / bandwidth in place).",
11
28
  "",
12
29
  "Shows a prorated quote first, then confirms before charging. Upsizes",
13
30
  "charge the payment method immediately; downsizes issue a pro-rated",
14
31
  "credit instead. Disk can only grow. On a TTY you get a y/N prompt;",
15
32
  "when stdout is piped, pass --yes or the command exits 1 without acting.",
16
- "Use `vps resize quote <id>` to preview the cost without charging.",
17
33
  ].join("\n");
18
34
  static examples = [
19
35
  "<%= config.bin %> vps resize 019e... --ram 8 --yes # bump RAM to 8 GB; keep CPU/disk",
@@ -23,7 +39,7 @@ export default class VpsResize extends BaseCommand {
23
39
  ];
24
40
  static args = {
25
41
  id: Args.string({
26
- description: "VPS id (full or the short id from `vps list`), hostname, or IP.",
42
+ description: "Resource id (full or the short id from `vps list`), hostname, or IP.",
27
43
  required: true,
28
44
  }),
29
45
  };
@@ -32,11 +48,11 @@ export default class VpsResize extends BaseCommand {
32
48
  description: "Plan id from `synteq catalog` — seeds the target CPU/RAM/disk/bandwidth spec. Individual --cpu/--ram/--disk/--bandwidth flags override it.",
33
49
  }),
34
50
  cpu: Flags.integer({
35
- description: "Target CPU cores (>=1). Defaults to the VPS's current cores.",
51
+ description: "Target CPU cores (>=1). Defaults to the Resource's current cores.",
36
52
  min: 1,
37
53
  }),
38
54
  ram: Flags.integer({
39
- description: "Target RAM in GB (>=1). Defaults to the VPS's current RAM.",
55
+ description: "Target RAM in GB (>=1). Defaults to the Resource's current RAM.",
40
56
  min: 1,
41
57
  }),
42
58
  disk: Flags.integer({
@@ -71,7 +87,7 @@ export default class VpsResize extends BaseCommand {
71
87
  const target = await this.buildTargetSpec(vps, flags);
72
88
  const quote = await this.clients.api.vpsControl.resizeQuote(vpsId, {
73
89
  cpu_cores: target.cpu_cores,
74
- ram_mb: target.ram_mb,
90
+ ram_gb: target.ram_gb,
75
91
  disk_gb: target.disk_gb,
76
92
  bandwidth_tb: target.bandwidth_tb,
77
93
  dedicated: target.dedicated,
@@ -89,7 +105,7 @@ export default class VpsResize extends BaseCommand {
89
105
  const isUpsize = quote.action === "charge";
90
106
  const isDownsize = quote.action === "credit" || quote.action === "defer";
91
107
  const restartNote = quote.restart_required
92
- ? " This VPS is running and the change stages CPU/RAM until the next power-cycle."
108
+ ? " This Resource is running and the change stages CPU/RAM until the next power-cycle."
93
109
  : "";
94
110
  let payment;
95
111
  if (isUpsize) {
@@ -98,7 +114,7 @@ export default class VpsResize extends BaseCommand {
98
114
  tokens: this.clients.tokens,
99
115
  config: this.clients.config,
100
116
  flow: "vps_addon",
101
- estimatedCost: quote.prorated_amount,
117
+ estimatedCost: money(quote.prorated_amount),
102
118
  prefill: {
103
119
  paymentMethodId: flags["payment-method"],
104
120
  applyCredits: flags["apply-credits"],
@@ -111,24 +127,26 @@ export default class VpsResize extends BaseCommand {
111
127
  if (!isInteractive()) {
112
128
  this.error(yesRequiredMessage("`vps resize`"), { exit: 1 });
113
129
  }
130
+ const prorated = money(quote.prorated_amount);
131
+ const newMonthly = money(quote.new_monthly_price);
114
132
  const priceLine = isUpsize
115
- ? `Charge ~$${Math.abs(quote.prorated_amount).toFixed(2)} now (new monthly $${quote.new_monthly_price.toFixed(2)})`
133
+ ? `Charge ~$${Math.abs(prorated).toFixed(2)} now (new monthly $${newMonthly.toFixed(2)})`
116
134
  : isDownsize
117
135
  ? quote.action === "defer"
118
- ? `No charge now — the lower monthly $${quote.new_monthly_price.toFixed(2)} applies at renewal`
119
- : `Issue ~$${Math.abs(quote.prorated_amount).toFixed(2)} credit (new monthly $${quote.new_monthly_price.toFixed(2)})`
136
+ ? `No charge now — the lower monthly $${newMonthly.toFixed(2)} applies at renewal`
137
+ : `Issue ~$${Math.abs(prorated).toFixed(2)} credit (new monthly $${newMonthly.toFixed(2)})`
120
138
  : `No charge (spec/bandwidth tweak)`;
121
139
  const outcome = await confirmDestructive({
122
140
  message: `Resize ${vps.hostname}? ${priceLine}.${restartNote}`,
123
141
  });
124
142
  if (outcome !== "confirmed") {
125
- this.log("Aborted — VPS left unchanged.");
143
+ this.log("Aborted — Resource left unchanged.");
126
144
  return;
127
145
  }
128
146
  }
129
147
  const body = {
130
148
  cpu_cores: target.cpu_cores,
131
- ram_mb: target.ram_mb,
149
+ ram_gb: target.ram_gb,
132
150
  disk_gb: target.disk_gb,
133
151
  bandwidth_tb: target.bandwidth_tb,
134
152
  dedicated: target.dedicated,
@@ -147,7 +165,7 @@ export default class VpsResize extends BaseCommand {
147
165
  ]));
148
166
  if (result.status === "succeeded") {
149
167
  this.log(ok(quote.restart_required
150
- ? "Resize applied — power-cycle the VPS to activate the new CPU/RAM."
168
+ ? "Resize applied — power-cycle the Resource to activate the new CPU/RAM."
151
169
  : "Resize applied."));
152
170
  }
153
171
  });
@@ -158,7 +176,7 @@ export default class VpsResize extends BaseCommand {
158
176
  }
159
177
  async buildTargetSpec(vps, flags) {
160
178
  let seedCpu = vps.plan?.cpu_cores ?? 0;
161
- let seedRamMb = vps.plan?.ram_mb ?? 0;
179
+ let seedRamGb = vps.plan?.ram_gb ?? 0;
162
180
  let seedDisk = vps.plan?.disk_gb ?? 0;
163
181
  if (flags.plan) {
164
182
  const catalog = await this.clients.api.vpsOrders.catalog();
@@ -166,36 +184,45 @@ export default class VpsResize extends BaseCommand {
166
184
  if (!plan) {
167
185
  this.error(`Plan ${flags.plan} not found in the catalog. Run \`synteq vps catalog\`.`, { exit: 1 });
168
186
  }
187
+ // Reject a plan from the wrong product family. Without this,
188
+ // passing e.g. a VPS plan id to `vds resize --plan` silently
189
+ // reprices the VDS at the VPS shape when the numbers happen to
190
+ // match a VDS tier — a hard-to-notice bill/spec drift.
191
+ const resourceKind = vps.kind ?? vps.plan?.kind;
192
+ if (resourceKind && plan.kind && resourceKind !== plan.kind) {
193
+ this.error(`Plan ${flags.plan} is a ${plan.kind} plan, but this resource is a ${resourceKind}. ` +
194
+ `Pick a ${resourceKind} plan from \`synteq catalog --kind ${resourceKind}\`.`, { exit: 1 });
195
+ }
169
196
  seedCpu = plan.cpu_cores;
170
- seedRamMb = plan.ram_mb;
197
+ seedRamGb = plan.ram_gb;
171
198
  seedDisk = plan.disk_gb;
172
199
  }
173
200
  const cpu = flags.cpu ?? seedCpu;
174
- const ramMb = flags.ram !== undefined ? flags.ram * 1024 : seedRamMb;
201
+ const ramGb = resolveTargetRamGb(flags.ram, seedRamGb);
175
202
  const disk = flags.disk ?? seedDisk;
176
- if (cpu < 1 || ramMb < 512 || disk < 1) {
203
+ if (cpu < 1 || ramGb < 1 || disk < 1) {
177
204
  this.error("Could not resolve a full target spec. Pass --plan or all of --cpu/--ram/--disk.", { exit: 1 });
178
205
  }
179
206
  return {
180
207
  cpu_cores: cpu,
181
- ram_mb: ramMb,
208
+ ram_gb: ramGb,
182
209
  disk_gb: disk,
183
210
  bandwidth_tb: flags.bandwidth,
184
211
  dedicated: flags.dedicated === undefined ? null : flags.dedicated,
185
212
  };
186
213
  }
187
214
  quoteRows(vps, q) {
188
- const specStr = (s) => `${s.cpu_cores} vCPU · ${Math.round(s.ram_mb / 1024)} GB RAM · ${s.disk_gb} GB disk${s.dedicated ? " · dedicated" : ""}`;
215
+ const specStr = (s) => `${s.cpu_cores} vCPU · ${s.ram_gb} GB RAM · ${s.disk_gb} GB disk${s.dedicated ? " · dedicated" : ""}`;
189
216
  return [
190
- ["VPS", `${vps.hostname} (${vps.status})`],
217
+ ["Resource", `${vps.hostname} (${vps.status})`],
191
218
  ["Current", specStr(q.current_spec)],
192
219
  ["Requested", specStr(q.requested_spec)],
193
220
  ["Action", q.action],
194
- ["Current monthly", `$${q.current_monthly_price.toFixed(2)}`],
195
- ["New monthly", `$${q.new_monthly_price.toFixed(2)}`],
221
+ ["Current monthly", `$${money(q.current_monthly_price).toFixed(2)}`],
222
+ ["New monthly", `$${money(q.new_monthly_price).toFixed(2)}`],
196
223
  [
197
224
  q.action === "credit" ? "Credit today" : "Charge today",
198
- `$${Math.abs(q.prorated_amount).toFixed(2)}`,
225
+ `$${Math.abs(money(q.prorated_amount)).toFixed(2)}`,
199
226
  ],
200
227
  ["Restart required", q.restart_required ? "yes (power-cycle to apply CPU/RAM)" : undefined],
201
228
  ["In stock", q.in_stock ? undefined : `no — ${q.out_of_stock_reason ?? "capacity"}`],
@@ -1 +1 @@
1
- {"version":3,"file":"resize.js","sourceRoot":"","sources":["../../../src/commands/vps/resize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resize.js","sourceRoot":"","sources":["../../../src/commands/vps/resize.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BaseCommand } from "../../base/command.js";
2
- export default class VpsStats extends BaseCommand {
2
+ export default class ResourceStats extends BaseCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static args: {
@@ -5,12 +5,12 @@ import { panel } from "../../ui/wizard.js";
5
5
  import { statusColor } from "../../ui/glyphs.js";
6
6
  import { sparkline } from "../../ui/sparkline.js";
7
7
  import { asPoints, formatCpu, formatRate, formatUptime, formatUsagePair, numOrNull, pickLatestPoint, } from "../../ui/stats.js";
8
- export default class VpsStats extends BaseCommand {
8
+ export default class ResourceStats extends BaseCommand {
9
9
  static description = [
10
10
  "Show live CPU / memory / disk / uptime + network I/O for a VPS.",
11
11
  "",
12
12
  "Read-only. On a TTY it renders a compact readout with CPU and",
13
- "network sparklines; `-o json` returns the raw Proxmox RRD payload.",
13
+ "network sparklines; `-o json` returns the raw metrics payload.",
14
14
  ].join("\n");
15
15
  static examples = [
16
16
  "<%= config.bin %> vps stats 019e...",
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/commands/vps/stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/commands/vps/stats.ts"],"names":[],"mappings":"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"}
@@ -387,7 +387,7 @@ function planRowLabel(p) {
387
387
  }
388
388
  function planRowHint(p) {
389
389
  const cores = `${p.cpu_cores}c`;
390
- const ram = `${Math.round(p.ram_mb / 1024)}G`;
390
+ const ram = `${p.ram_gb}G`;
391
391
  const disk = `${p.disk_gb}G`;
392
392
  const extra = p.gpu_model ? ` · ${p.gpu_model}` : "";
393
393
  return `${cores} ${ram} ${disk}${extra}`;
@@ -404,8 +404,7 @@ function VpsSpecFieldsStep({ customConfig, locations, userEmail, draft, setDraft
404
404
  const dedicated = Boolean(draft.customSpec._dedicated);
405
405
  const baseCfg = dedicated ? customConfig.dedicated : customConfig;
406
406
  const initialCpu = draft.customSpec.cpu_cores ?? baseCfg.cpu_min;
407
- const initialRamGb = (draft.customSpec.ram_mb ? draft.customSpec.ram_mb / 1024 : null) ??
408
- customConfig.ram_min_gb;
407
+ const initialRamGb = draft.customSpec.ram_gb ?? customConfig.ram_min_gb;
409
408
  const initialDisk = draft.customSpec.disk_gb ?? customConfig.disk_min_gb;
410
409
  const initialBw = draft.customSpec.bandwidth_tb ?? customConfig.bandwidth_min_tb;
411
410
  const [cpu, setCpu] = useState(String(initialCpu));
@@ -437,7 +436,7 @@ function VpsSpecFieldsStep({ customConfig, locations, userEmail, draft, setDraft
437
436
  api.vpsOrders
438
437
  .customAvailability({
439
438
  cpu_cores: cpuN,
440
- ram_mb: ramN * 1024,
439
+ ram_gb: ramN,
441
440
  disk_gb: diskN,
442
441
  location_id: loc.id,
443
442
  dedicated,
@@ -463,7 +462,7 @@ function VpsSpecFieldsStep({ customConfig, locations, userEmail, draft, setDraft
463
462
  customSpec: {
464
463
  ...d.customSpec,
465
464
  cpu_cores: d.customSpec.cpu_cores ?? initialCpu,
466
- ram_mb: d.customSpec.ram_mb ?? initialRamGb * 1024,
465
+ ram_gb: d.customSpec.ram_gb ?? initialRamGb,
467
466
  disk_gb: d.customSpec.disk_gb ?? initialDisk,
468
467
  bandwidth_tb: d.customSpec.bandwidth_tb ?? initialBw,
469
468
  },
@@ -511,7 +510,7 @@ function VpsSpecFieldsStep({ customConfig, locations, userEmail, draft, setDraft
511
510
  customSpec: {
512
511
  ...d.customSpec,
513
512
  cpu_cores: Number(cpu),
514
- ram_mb: Number(ramGb) * 1024,
513
+ ram_gb: Number(ramGb),
515
514
  disk_gb: Number(disk),
516
515
  bandwidth_tb: Number(bw),
517
516
  },
@@ -604,7 +603,7 @@ function VpsSpecFieldsStep({ customConfig, locations, userEmail, draft, setDraft
604
603
  React.createElement(Box, { marginTop: 1 }),
605
604
  React.createElement(NumberInput, { label: "CPU cores", value: cpu, onChange: (v) => liveSet(v, setCpu, (n) => ({ cpu_cores: n })), onSubmit: () => setSpecRow(2), min: cpuMin, max: cpuMax, step: cpuStep, unit: "vCPU", focused: specFocused && specRow === 1 }),
606
605
  React.createElement(Box, { marginTop: 1 }),
607
- React.createElement(NumberInput, { label: "RAM", value: ramGb, onChange: (v) => liveSet(v, setRamGb, (n) => ({ ram_mb: n * 1024 })), onSubmit: () => setSpecRow(3), min: ramMin, max: ramMax, step: ramStep, unit: "GB", focused: specFocused && specRow === 2 }),
606
+ React.createElement(NumberInput, { label: "RAM", value: ramGb, onChange: (v) => liveSet(v, setRamGb, (n) => ({ ram_gb: n })), onSubmit: () => setSpecRow(3), min: ramMin, max: ramMax, step: ramStep, unit: "GB", focused: specFocused && specRow === 2 }),
608
607
  React.createElement(Box, { marginTop: 1 }),
609
608
  React.createElement(NumberInput, { label: "Disk", value: disk, onChange: (v) => liveSet(v, setDisk, (n) => ({ disk_gb: n })), onSubmit: () => setSpecRow(4), min: diskMin, max: diskMax, step: diskStep, unit: "GB NVMe", focused: specFocused && specRow === 3 }),
610
609
  React.createElement(Box, { marginTop: 1 }),
@@ -990,9 +989,9 @@ function SummaryStep({ draft, cat, onSubmit, onEdit, }) {
990
989
  const plan = cat.orderCatalog?.plans.find((p) => p.id === draft.planId);
991
990
  const chosenPm = cat.paymentMethods.find((m) => m.id === draft.paymentMethodId);
992
991
  const specLine = draft.kind === "vps"
993
- ? `${draft.customSpec.cpu_cores ?? "?"} vCPU · ${(draft.customSpec.ram_mb ?? 0) / 1024} GB RAM · ${draft.customSpec.disk_gb ?? "?"} GB disk${draft.customSpec.bandwidth_tb ? ` · ${draft.customSpec.bandwidth_tb} TB BW` : ""}${draft.customSpec._dedicated ? " · dedicated" : ""}`
992
+ ? `${draft.customSpec.cpu_cores ?? "?"} vCPU · ${draft.customSpec.ram_gb ?? 0} GB RAM · ${draft.customSpec.disk_gb ?? "?"} GB disk${draft.customSpec.bandwidth_tb ? ` · ${draft.customSpec.bandwidth_tb} TB BW` : ""}${draft.customSpec._dedicated ? " · dedicated" : ""}`
994
993
  : plan
995
- ? `${plan.name} — ${plan.cpu_cores}c ${Math.round(plan.ram_mb / 1024)}G ${plan.disk_gb}G${plan.gpu_model ? ` · ${plan.gpu_model}` : ""}`
994
+ ? `${plan.name} — ${plan.cpu_cores}c ${plan.ram_gb}G ${plan.disk_gb}G${plan.gpu_model ? ` · ${plan.gpu_model}` : ""}`
996
995
  : undefined;
997
996
  const paymentLabel = (() => {
998
997
  const parts = [];
@@ -1102,11 +1101,11 @@ function tipForStep(step, draft, cancelConfirm) {
1102
1101
  }
1103
1102
  }
1104
1103
  function buildCustomSpec(s) {
1105
- if (!s.cpu_cores || !s.ram_mb || !s.disk_gb)
1104
+ if (!s.cpu_cores || !s.ram_gb || !s.disk_gb)
1106
1105
  return undefined;
1107
1106
  return {
1108
1107
  cpu_cores: s.cpu_cores,
1109
- ram_mb: s.ram_mb,
1108
+ ram_gb: s.ram_gb,
1110
1109
  disk_gb: s.disk_gb,
1111
1110
  bandwidth_tb: s.bandwidth_tb,
1112
1111
  dedicated: s._dedicated,
@@ -1136,10 +1135,9 @@ function estimateMonthlyCost(draft, cat) {
1136
1135
  const cfg = cat.orderCatalog.custom_config;
1137
1136
  const baseCfg = draft.customSpec._dedicated ? cfg.dedicated : cfg;
1138
1137
  const cpu = draft.customSpec.cpu_cores;
1139
- const ramMb = draft.customSpec.ram_mb;
1138
+ const ramGb = draft.customSpec.ram_gb;
1140
1139
  const disk = draft.customSpec.disk_gb;
1141
- if (cpu && ramMb && disk) {
1142
- const ramGb = ramMb / 1024;
1140
+ if (cpu && ramGb && disk) {
1143
1141
  const bwTb = draft.customSpec.bandwidth_tb ?? cfg.bandwidth_included_tb;
1144
1142
  const extraTb = Math.max(0, bwTb - cfg.bandwidth_included_tb);
1145
1143
  const amount = baseCfg.base_price +