@calltelemetry/cli 0.7.10 → 0.10.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 (95) hide show
  1. package/dist/commands/appliance.d.ts.map +1 -1
  2. package/dist/commands/appliance.js +16 -1
  3. package/dist/commands/appliance.js.map +1 -1
  4. package/dist/commands/db.d.ts.map +1 -1
  5. package/dist/commands/db.js +74 -1
  6. package/dist/commands/db.js.map +1 -1
  7. package/dist/commands/update.d.ts +5 -0
  8. package/dist/commands/update.d.ts.map +1 -1
  9. package/dist/commands/update.js +149 -4
  10. package/dist/commands/update.js.map +1 -1
  11. package/dist/index.js +2 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/bundle.d.ts +16 -1
  14. package/dist/lib/bundle.d.ts.map +1 -1
  15. package/dist/lib/bundle.js +100 -21
  16. package/dist/lib/bundle.js.map +1 -1
  17. package/dist/lib/compose.d.ts +2 -0
  18. package/dist/lib/compose.d.ts.map +1 -1
  19. package/dist/lib/compose.js +4 -0
  20. package/dist/lib/compose.js.map +1 -1
  21. package/dist/lib/db-backup.d.ts.map +1 -1
  22. package/dist/lib/db-backup.js +5 -2
  23. package/dist/lib/db-backup.js.map +1 -1
  24. package/dist/lib/db-probe.d.ts +75 -0
  25. package/dist/lib/db-probe.d.ts.map +1 -0
  26. package/dist/lib/db-probe.js +149 -0
  27. package/dist/lib/db-probe.js.map +1 -0
  28. package/dist/lib/exec.d.ts +21 -0
  29. package/dist/lib/exec.d.ts.map +1 -1
  30. package/dist/lib/exec.js +90 -0
  31. package/dist/lib/exec.js.map +1 -1
  32. package/dist/lib/hardware.d.ts +31 -0
  33. package/dist/lib/hardware.d.ts.map +1 -1
  34. package/dist/lib/hardware.js +75 -1
  35. package/dist/lib/hardware.js.map +1 -1
  36. package/dist/lib/offline-steps.d.ts.map +1 -1
  37. package/dist/lib/offline-steps.js +5 -0
  38. package/dist/lib/offline-steps.js.map +1 -1
  39. package/dist/lib/paths.d.ts +21 -0
  40. package/dist/lib/paths.d.ts.map +1 -1
  41. package/dist/lib/paths.js +53 -6
  42. package/dist/lib/paths.js.map +1 -1
  43. package/dist/lib/prefs.d.ts +45 -0
  44. package/dist/lib/prefs.d.ts.map +1 -1
  45. package/dist/lib/prefs.js +0 -0
  46. package/dist/lib/prefs.js.map +1 -1
  47. package/dist/lib/update-steps.d.ts.map +1 -1
  48. package/dist/lib/update-steps.js +19 -3
  49. package/dist/lib/update-steps.js.map +1 -1
  50. package/dist/lib/update.d.ts +12 -2
  51. package/dist/lib/update.d.ts.map +1 -1
  52. package/dist/lib/update.js +105 -6
  53. package/dist/lib/update.js.map +1 -1
  54. package/dist/lib/version.d.ts +1 -1
  55. package/dist/lib/version.js +1 -1
  56. package/dist/shell/commands/appliance-hardware.d.ts +1 -0
  57. package/dist/shell/commands/appliance-hardware.d.ts.map +1 -1
  58. package/dist/shell/commands/appliance-hardware.js +17 -1
  59. package/dist/shell/commands/appliance-hardware.js.map +1 -1
  60. package/dist/shell/commands/db.d.ts +1 -0
  61. package/dist/shell/commands/db.d.ts.map +1 -1
  62. package/dist/shell/commands/db.js +115 -0
  63. package/dist/shell/commands/db.js.map +1 -1
  64. package/dist/shell/commands/registry.d.ts.map +1 -1
  65. package/dist/shell/commands/registry.js +27 -0
  66. package/dist/shell/commands/registry.js.map +1 -1
  67. package/dist/shell/commands/sql-monitor.d.ts +35 -0
  68. package/dist/shell/commands/sql-monitor.d.ts.map +1 -0
  69. package/dist/shell/commands/sql-monitor.js +228 -0
  70. package/dist/shell/commands/sql-monitor.js.map +1 -0
  71. package/dist/ui/views/DbCompactView.d.ts.map +1 -1
  72. package/dist/ui/views/DbCompactView.js +7 -5
  73. package/dist/ui/views/DbCompactView.js.map +1 -1
  74. package/dist/ui/views/DbSizeView.d.ts.map +1 -1
  75. package/dist/ui/views/DbSizeView.js +5 -9
  76. package/dist/ui/views/DbSizeView.js.map +1 -1
  77. package/dist/ui/views/DbStatusView.d.ts.map +1 -1
  78. package/dist/ui/views/DbStatusView.js +8 -10
  79. package/dist/ui/views/DbStatusView.js.map +1 -1
  80. package/dist/ui/views/DbTablesView.d.ts.map +1 -1
  81. package/dist/ui/views/DbTablesView.js +8 -12
  82. package/dist/ui/views/DbTablesView.js.map +1 -1
  83. package/dist/ui/views/DiagNetworkView.js +1 -1
  84. package/dist/ui/views/DiagNetworkView.js.map +1 -1
  85. package/dist/ui/views/MainMenu.d.ts.map +1 -1
  86. package/dist/ui/views/MainMenu.js +19 -3
  87. package/dist/ui/views/MainMenu.js.map +1 -1
  88. package/dist/ui/views/MigrateHistoryView.d.ts.map +1 -1
  89. package/dist/ui/views/MigrateHistoryView.js +8 -9
  90. package/dist/ui/views/MigrateHistoryView.js.map +1 -1
  91. package/dist/ui/views/SystemHardwareCheckView.d.ts +6 -0
  92. package/dist/ui/views/SystemHardwareCheckView.d.ts.map +1 -0
  93. package/dist/ui/views/SystemHardwareCheckView.js +16 -0
  94. package/dist/ui/views/SystemHardwareCheckView.js.map +1 -0
  95. package/package.json +4 -4
package/dist/lib/paths.js CHANGED
@@ -1,8 +1,48 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { join } from 'node:path';
4
- const GCS_BASE_URL = 'https://storage.googleapis.com/ct_releases';
5
- const GCS_BUNDLE_BASE_URL = `${GCS_BASE_URL}/releases`;
4
+ /**
5
+ * GCS origin bucket. Stays reachable as the release-artifact origin and is the
6
+ * auto-fallback target when the Worker proxy is unreachable (ADR 0120 §4).
7
+ */
8
+ export const GCS_ORIGIN_BASE_URL = 'https://storage.googleapis.com/ct_releases';
9
+ /**
10
+ * Default release artifact base — the Cloudflare Worker proxy in front of GCS
11
+ * (ADR 0120). Override with env `CT_RELEASE_BASE_URL`, or persist in
12
+ * `~/.ct/preferences.json` (`releaseBaseUrl`). Env wins over preferences.
13
+ */
14
+ export const DEFAULT_RELEASE_BASE_URL = 'https://get.calltelemetry.com';
15
+ /** Strip a trailing slash so `${base}/path` never double-slashes. */
16
+ function normalizeBaseUrl(url) {
17
+ return url.replace(/\/+$/, '');
18
+ }
19
+ /**
20
+ * Resolve the release artifact base URL.
21
+ * Precedence: env `CT_RELEASE_BASE_URL` → `~/.ct/preferences.json`
22
+ * (`releaseBaseUrl`) → `DEFAULT_RELEASE_BASE_URL`.
23
+ */
24
+ export function resolveReleaseBaseUrl() {
25
+ const fromEnv = process.env.CT_RELEASE_BASE_URL?.trim();
26
+ if (fromEnv)
27
+ return normalizeBaseUrl(fromEnv);
28
+ // Read preferences without importing prefs.ts at module-eval time to avoid a
29
+ // cycle (prefs has no dependency on paths, but keep this lazy + defensive).
30
+ try {
31
+ const prefsFile = join(homedir(), '.ct', 'preferences.json');
32
+ if (existsSync(prefsFile)) {
33
+ const parsed = JSON.parse(readFileSync(prefsFile, 'utf-8'));
34
+ const fromPrefs = typeof parsed?.releaseBaseUrl === 'string'
35
+ ? parsed.releaseBaseUrl.trim()
36
+ : '';
37
+ if (fromPrefs)
38
+ return normalizeBaseUrl(fromPrefs);
39
+ }
40
+ }
41
+ catch {
42
+ // Malformed/unreadable preferences — fall through to default.
43
+ }
44
+ return DEFAULT_RELEASE_BASE_URL;
45
+ }
6
46
  const KNOWN_INSTALL_PATHS = ['/home/calltelemetry', '/opt/calltelemetry'];
7
47
  function detectInstallDir() {
8
48
  const sudoUser = process.env.SUDO_USER;
@@ -30,6 +70,9 @@ function detectInstallDir() {
30
70
  let cached = null;
31
71
  function buildPaths() {
32
72
  const installDir = detectInstallDir();
73
+ const releaseBaseUrl = resolveReleaseBaseUrl();
74
+ const gcsBaseUrl = releaseBaseUrl;
75
+ const gcsBundleBaseUrl = `${releaseBaseUrl}/releases`;
33
76
  return {
34
77
  installDir,
35
78
  backupDir: join(installDir, 'backups'),
@@ -41,10 +84,14 @@ function buildPaths() {
41
84
  /** @deprecated JTAPI now uses Docker Compose profiles via .env */
42
85
  jtapiStateFile: join(installDir, '.jtapi-enabled'),
43
86
  secretsOverlayFile: join(installDir, 'docker-compose.secrets.yml'),
44
- gcsBaseUrl: GCS_BASE_URL,
45
- gcsBundleBaseUrl: GCS_BUNDLE_BASE_URL,
46
- scriptUrl: `${GCS_BASE_URL}/cli.sh`,
47
- prepScriptUrl: `${GCS_BASE_URL}/prep.sh`,
87
+ /** Resolved release artifact base (Worker proxy by default). */
88
+ releaseBaseUrl,
89
+ /** GCS origin — fallback target on Worker 5xx/timeout (ADR 0120 §4). */
90
+ gcsOriginBaseUrl: GCS_ORIGIN_BASE_URL,
91
+ gcsBaseUrl,
92
+ gcsBundleBaseUrl,
93
+ scriptUrl: `${releaseBaseUrl}/cli.sh`,
94
+ prepScriptUrl: `${releaseBaseUrl}/prep.sh`,
48
95
  postgresSupportedVersions: ['14', '15', '16', '17', '18'],
49
96
  postgresDefaultVersion: '17',
50
97
  };
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,YAAY,GAAG,4CAA4C,CAAC;AAClE,MAAM,mBAAmB,GAAG,GAAG,YAAY,WAAW,CAAC;AAEvD,MAAM,mBAAmB,GAAG,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;AAE1E,SAAS,gBAAgB;IACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACvC,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;QACzB,CAAC,CAAC,OAAO,EAAE,CAAC;IAEd,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;QAC5C,IAAI,SAAS,KAAK,QAAQ;YAAE,SAAS;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAC1D,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACnD,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;oBACtC,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qBAAqB;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,IAAI,MAAM,GAAyC,IAAI,CAAC;AAExD,SAAS,UAAU;IACjB,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,OAAO;QACL,UAAU;QACV,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;QACtC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;QACxC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC;QACnD,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,6BAA6B,CAAC;QAC7D,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;QACnC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC;QAClD,kEAAkE;QAClE,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC;QAClD,kBAAkB,EAAE,IAAI,CAAC,UAAU,EAAE,4BAA4B,CAAC;QAClE,UAAU,EAAE,YAAY;QACxB,gBAAgB,EAAE,mBAAmB;QACrC,SAAS,EAAE,GAAG,YAAY,SAAS;QACnC,aAAa,EAAE,GAAG,YAAY,UAAU;QACxC,yBAAyB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACzD,sBAAsB,EAAE,IAAI;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,UAAU,EAAE,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,23 @@
1
+ /**
2
+ * Update target pin (Phase 2 of multi-line concurrent shipping).
3
+ * - type "line" : value is an X.Y.Z line identifier (e.g. "0.8.6").
4
+ * Reads latest-${value}-stable.txt. Immutable pin —
5
+ * customer stays on this line until unpinned.
6
+ * - type "channel" : value is a customer-facing channel name
7
+ * (stable, beta, dev, legacy). Reads
8
+ * latest-${value}.txt. Mutable — auto-rolls forward
9
+ * as channel ownership shifts between trains.
10
+ * - type "version" : value is an exact version (e.g. "0.8.6.5"). No
11
+ * marker fetched; installed verbatim each time.
12
+ *
13
+ * Shared schema with cli.sh — both CLIs read/write the same
14
+ * ~/.ct/preferences.json file. Pin set via either CLI is visible to the
15
+ * other.
16
+ */
17
+ export interface UpdatePin {
18
+ type: 'line' | 'channel' | 'version';
19
+ value: string;
20
+ }
1
21
  export interface Preferences {
2
22
  autoUpdate: boolean;
3
23
  ipv6: boolean;
@@ -11,6 +31,13 @@ export interface Preferences {
11
31
  ntpServers?: string[];
12
32
  hostname?: string;
13
33
  location?: string;
34
+ pin?: UpdatePin;
35
+ /**
36
+ * Override for the release artifact base URL (ADR 0120). Defaults to the
37
+ * Worker proxy `https://get.calltelemetry.com`. Env `CT_RELEASE_BASE_URL`
38
+ * takes precedence over this. Resolved in paths.ts.
39
+ */
40
+ releaseBaseUrl?: string;
14
41
  }
15
42
  /**
16
43
  * Load preferences from ~/.ct/preferences.json.
@@ -26,4 +53,22 @@ export declare function savePrefs(prefs: Preferences): void;
26
53
  * Get preferences, returning defaults if file doesn't exist.
27
54
  */
28
55
  export declare function getPrefs(): Preferences;
56
+ /** Read the current update pin (or null if unpinned). Auto-migrates legacy. */
57
+ export declare function getPin(): UpdatePin | null;
58
+ /** Set / replace the update pin. Validates type + sanitises value. */
59
+ export declare function setPin(pin: UpdatePin): void;
60
+ /** Clear the pin. Returns true if a pin existed and was removed. */
61
+ export declare function clearPin(): boolean;
62
+ /**
63
+ * Detect what kind of update target a string represents.
64
+ * Mirrors cli.sh's _pin_detect_type for shared semantics.
65
+ * - "empty" : empty/whitespace input
66
+ * - "keyword" : stable / latest / dev / rc (legacy channel keywords)
67
+ * - "line" : X.Y.Z (3-segment, no suffix)
68
+ * - "version" : X.Y.Z.N or X.Y.Z-suffix (exact pin)
69
+ * - "channel" : lowercase identifier (alnum + dash, starts with letter)
70
+ * - "unknown" : anything else (uppercase, special chars, etc.)
71
+ */
72
+ export type TargetType = 'empty' | 'keyword' | 'line' | 'version' | 'channel' | 'unknown';
73
+ export declare function detectTargetType(s: string | undefined): TargetType;
29
74
  //# sourceMappingURL=prefs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prefs.d.ts","sourceRoot":"","sources":["../../src/lib/prefs.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,EAAE,gBAAgB,GAAG,KAAK,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAgBD;;;GAGG;AACH,wBAAgB,SAAS,IAAI,WAAW,GAAG,IAAI,CAU9C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAQlD;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,WAAW,CAEtC"}
1
+ {"version":3,"file":"prefs.d.ts","sourceRoot":"","sources":["../../src/lib/prefs.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,EAAE,gBAAgB,GAAG,KAAK,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAgBD;;;GAGG;AACH,wBAAgB,SAAS,IAAI,WAAW,GAAG,IAAI,CAU9C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAQlD;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,WAAW,CAEtC;AA2CD,+EAA+E;AAC/E,wBAAgB,MAAM,IAAI,SAAS,GAAG,IAAI,CAIzC;AAED,sEAAsE;AACtE,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAgB3C;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,IAAI,OAAO,CAOlC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1F,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAOlE"}
package/dist/lib/prefs.js CHANGED
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"prefs.js","sourceRoot":"","sources":["../../src/lib/prefs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAiBjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;AACzC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAEvD,MAAM,QAAQ,GAAgB;IAC5B,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,KAAK;IACZ,qBAAqB,EAAE,EAAE;IACzB,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,QAAQ;CACzB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IACpC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAkB;IAC1C,IAAI,CAAC;QACH,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1E,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,SAAS,EAAE,IAAI,QAAQ,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"prefs.js","sourceRoot":"","sources":["../../src/lib/prefs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-steps.d.ts","sourceRoot":"","sources":["../../src/lib/update-steps.ts"],"names":[],"mappings":"AAiBA,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACpD;AAgDD,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE,CAyClE;AAID,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE,CA2QhE;AAID;;;GAGG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAepE"}
1
+ {"version":3,"file":"update-steps.d.ts","sourceRoot":"","sources":["../../src/lib/update-steps.ts"],"names":[],"mappings":"AAkBA,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACpD;AAgDD,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE,CAqDlE;AAID,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE,CA8QhE;AAID;;;GAGG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAepE"}
@@ -6,12 +6,13 @@ import { join } from 'node:path';
6
6
  import { readFile } from 'node:fs/promises';
7
7
  import { generateSelfSignedCerts } from './certs.js';
8
8
  import { checkRam, checkDiskSpace, getDockerVersion, ensureSwap, ensureIpForward } from './system.js';
9
+ import { checkCpuRequirements } from './hardware.js';
9
10
  import { downloadBundle, checkImageAvailabilityQuiet, extractImages } from './bundle.js';
10
11
  import { backupCompose, applyAndRestart, postgresVersionGuard, dockerCleanup, pullImages, applyIpv6IfEnabled, applyOtelIfEnabled, hardenSystemdServices, ensureCliOnSudoPath } from './update.js';
11
12
  import { isVersionGte } from '../utils/version.js';
12
13
  import { getPaths } from './paths.js';
13
- import { composeExec, composePs } from './compose.js';
14
- import { DB_NAME, DB_USER } from './db.js';
14
+ import { composePs } from './compose.js';
15
+ import { probeDatabaseReady } from './db-probe.js';
15
16
  import { getAppHealth } from './rpc.js';
16
17
  import { getMigrationProgress, tailMigrationArtifacts } from './release-migration-progress.js';
17
18
  function sleep(ms) {
@@ -53,6 +54,18 @@ async function waitFor(label, check, options, ctx) {
53
54
  // ─── Preflight Steps ────────────────────────────────────────────────────────
54
55
  export function preflightSteps(targetVersion) {
55
56
  return [
57
+ {
58
+ label: 'Check CPU compatibility',
59
+ run: async () => {
60
+ const cpu = await checkCpuRequirements();
61
+ if (!cpu.ok) {
62
+ const missing = cpu.missingFlags.length > 0 ? ` missing flags: ${cpu.missingFlags.join(', ')}` : '';
63
+ throw new Error(`Unsupported CPU: ${cpu.model} (${cpu.arch}, ${cpu.cores} cores).${missing}`);
64
+ }
65
+ const flags = cpu.requiredFlags.length > 0 ? `, flags ok` : '';
66
+ return `${cpu.model} (${cpu.arch}, ${cpu.cores} cores${flags})`;
67
+ },
68
+ },
56
69
  {
57
70
  label: 'Check RAM',
58
71
  run: async () => {
@@ -263,7 +276,10 @@ export function executeSteps(targetVersion) {
263
276
  label: 'Wait for database',
264
277
  run: async (ctx) => {
265
278
  await waitFor('database', async () => {
266
- await composeExec('db', ['pg_isready', '-U', DB_USER, '-d', DB_NAME], { pipe: true });
279
+ // Per-attempt timeout (under the 5s poll interval) so a wedged probe
280
+ // can't stall a poll; waitFor retries on throw and the final timeout
281
+ // message carries the classified DbProbeError reason.
282
+ await probeDatabaseReady({ timeoutMs: 4_000, connectTimeoutS: 3 });
267
283
  return true;
268
284
  }, { timeoutMs: 120_000, intervalMs: 5_000 }, ctx);
269
285
  return 'accepting connections';
@@ -1 +1 @@
1
- {"version":3,"file":"update-steps.js","sourceRoot":"","sources":["../../src/lib/update-steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-steps.js","sourceRoot":"","sources":["../../src/lib/update-steps.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,19 @@
1
- /** Get current deployed version from .env (preferred) or docker-compose.yml (legacy) */
1
+ /** Get current deployed RELEASE version (e.g. 0.8.7-rc5), not an image tag.
2
+ *
3
+ * Under the branch_latest model WEB_VERSION/VUE_VERSION are immutable
4
+ * <line>-stable-<sha> content hashes — useless as a customer version and wrong
5
+ * to feed into version comparisons (downgrade detection, update checks). The
6
+ * release identity is stamped into the bundle .env as CT_RELEASE_VERSION; read
7
+ * that first, then the .env header comment for bundles cut before the stamp,
8
+ * then fall back to the image tag for very old bundles. Mirrors cli.sh's
9
+ * get_current_version (ct-release ova/cli.sh). */
2
10
  export declare function getCurrentVersion(): string;
3
11
  /** Backup current docker-compose.yml, returns the backup filename */
4
12
  export declare function backupCompose(): Promise<string>;
5
13
  /** Move temp compose to production and restart services */
6
- export declare function applyAndRestart(): Promise<void>;
14
+ export declare function applyAndRestart(options?: {
15
+ transientRetryDelayMs?: number;
16
+ }): Promise<void>;
7
17
  /** Pin PostgreSQL version if currently on < 17 to prevent accidental upgrades */
8
18
  export declare function postgresVersionGuard(): Promise<string | null>;
9
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/lib/update.ts"],"names":[],"mappings":"AAaA,wFAAwF;AACxF,wBAAgB,iBAAiB,IAAI,MAAM,CAmB1C;AAED,qEAAqE;AACrE,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAkCrD;AAED,2DAA2D;AAC3D,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAqDrD;AAED,iFAAiF;AACjF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAanE;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAiB5D;AAED,8EAA8E;AAC9E,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAMnD;AAED,wEAAwE;AACxE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO3D;AAED,sEAAsE;AACtE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO3D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAsE9D;AAED,iEAAiE;AACjE,wBAAsB,UAAU,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAW3E"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/lib/update.ts"],"names":[],"mappings":"AAcA;;;;;;;;kDAQkD;AAClD,wBAAgB,iBAAiB,IAAI,MAAM,CAsC1C;AAED,qEAAqE;AACrE,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAkCrD;AA8CD,2DAA2D;AAC3D,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE;IAAE,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFjG;AAED,iFAAiF;AACjF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAanE;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAiB5D;AAED,8EAA8E;AAC9E,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAMnD;AAED,wEAAwE;AACxE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO3D;AAED,sEAAsE;AACtE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO3D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAsE9D;AAED,iEAAiE;AACjE,wBAAsB,UAAU,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAW3E"}
@@ -2,7 +2,7 @@ import { existsSync, readFileSync } from 'node:fs';
2
2
  import { copyFile, mkdir, rename, symlink } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
4
  import { getPaths } from './paths.js';
5
- import { composeUp } from './compose.js';
5
+ import { compose, composeUp } from './compose.js';
6
6
  import { setPostgresVersion } from './postgres.js';
7
7
  import { exec } from './exec.js';
8
8
  import { debug } from './log.js';
@@ -10,10 +10,38 @@ import { enableIpv6 } from './ipv6.js';
10
10
  import { enableOtel } from './otel.js';
11
11
  import { getPrefs } from './prefs.js';
12
12
  import { readEnvKeys } from './env.js';
13
- /** Get current deployed version from .env (preferred) or docker-compose.yml (legacy) */
13
+ import { getEnvFilePath } from './secrets.js';
14
+ /** Get current deployed RELEASE version (e.g. 0.8.7-rc5), not an image tag.
15
+ *
16
+ * Under the branch_latest model WEB_VERSION/VUE_VERSION are immutable
17
+ * <line>-stable-<sha> content hashes — useless as a customer version and wrong
18
+ * to feed into version comparisons (downgrade detection, update checks). The
19
+ * release identity is stamped into the bundle .env as CT_RELEASE_VERSION; read
20
+ * that first, then the .env header comment for bundles cut before the stamp,
21
+ * then fall back to the image tag for very old bundles. Mirrors cli.sh's
22
+ * get_current_version (ct-release ova/cli.sh). */
14
23
  export function getCurrentVersion() {
15
- // Prefer .env — new approach uses env var substitution in compose
16
24
  const env = readEnvKeys();
25
+ // 1) Explicit release marker stamped by the cut.
26
+ if (env.CT_RELEASE_VERSION)
27
+ return env.CT_RELEASE_VERSION;
28
+ // 2) Bundles cut before CT_RELEASE_VERSION carry the friendly version in the
29
+ // .env header comment, e.g. "# CallTelemetry OVA Release — 0.8.7-rc5".
30
+ try {
31
+ const envPath = getEnvFilePath();
32
+ if (existsSync(envPath)) {
33
+ const releaseLine = readFileSync(envPath, 'utf-8')
34
+ .split('\n')
35
+ .find((line) => /^#.*\brelease\b/i.test(line));
36
+ const m = releaseLine?.match(/([0-9]+\.[0-9]+[0-9A-Za-z.+_-]*)\s*$/);
37
+ if (m)
38
+ return m[1];
39
+ }
40
+ }
41
+ catch {
42
+ // fall through to the legacy image-tag read
43
+ }
44
+ // 3) Legacy fallback: image tag from .env (a content hash under branch_latest).
17
45
  if (env.VUE_VERSION)
18
46
  return env.VUE_VERSION;
19
47
  // Fallback: parse compose file for legacy hardcoded tags
@@ -71,10 +99,53 @@ export async function backupCompose() {
71
99
  }
72
100
  return 'no existing file';
73
101
  }
102
+ function sleep(ms) {
103
+ if (ms <= 0)
104
+ return Promise.resolve();
105
+ return new Promise((resolve) => setTimeout(resolve, ms));
106
+ }
107
+ function errorText(err) {
108
+ const parts = [
109
+ err?.message,
110
+ err?.stderr,
111
+ err?.stdout,
112
+ err?.shortMessage,
113
+ ].filter(Boolean);
114
+ return parts.map(String).join('\n');
115
+ }
116
+ function isTransientDependencyHealthFailure(err) {
117
+ const text = errorText(err);
118
+ return /dependency failed to start|is unhealthy|container .* Error/i.test(text);
119
+ }
120
+ async function composeDiagnosticText() {
121
+ const sections = [];
122
+ try {
123
+ const ps = await compose(['ps'], { pipe: true });
124
+ const stdout = String(ps.stdout ?? '').trim();
125
+ if (stdout)
126
+ sections.push(`docker compose ps:\n${stdout}`);
127
+ }
128
+ catch (err) {
129
+ sections.push(`docker compose ps failed: ${errorText(err) || String(err)}`);
130
+ }
131
+ for (const service of ['seaweedfs', 'web', 'db']) {
132
+ try {
133
+ const logs = await compose(['logs', '--tail', '40', service], { pipe: true });
134
+ const output = [logs.stdout, logs.stderr].filter(Boolean).map(String).join('\n').trim();
135
+ if (output)
136
+ sections.push(`docker compose logs --tail 40 ${service}:\n${output}`);
137
+ }
138
+ catch (err) {
139
+ debug(`compose logs ${service} failed: ${errorText(err) || String(err)}`);
140
+ }
141
+ }
142
+ return sections.join('\n\n');
143
+ }
74
144
  /** Move temp compose to production and restart services */
75
- export async function applyAndRestart() {
145
+ export async function applyAndRestart(options) {
76
146
  const { installDir, composeFile } = getPaths();
77
147
  const tempFile = join(installDir, 'temp-docker-compose.yml');
148
+ const transientRetryDelayMs = options?.transientRetryDelayMs ?? 10_000;
78
149
  await rename(tempFile, composeFile);
79
150
  // Stop existing containers and purge ghost references.
80
151
  // Image tag changes can leave stale container IDs that cause
@@ -103,7 +174,12 @@ export async function applyAndRestart() {
103
174
  const ids = stdout.trim().split('\n').filter(Boolean);
104
175
  if (ids.length > 0) {
105
176
  debug(`Found ${ids.length} project containers, force-removing all`);
106
- await execa('docker', ['rm', '-f', ...ids]);
177
+ try {
178
+ await execa('docker', ['rm', '-f', ...ids]);
179
+ }
180
+ catch (err) {
181
+ debug(`docker rm -f failed (continuing to prune): ${err.message}`);
182
+ }
107
183
  }
108
184
  // Step 2: Prune any remaining dead containers system-wide
109
185
  // This catches ghost directories in /var/lib/docker/containers/ that
@@ -121,7 +197,30 @@ export async function applyAndRestart() {
121
197
  }
122
198
  catch (err) {
123
199
  debug(`systemctl restart failed: ${err.message}, falling back to compose up`);
124
- await composeUp(['-d'], { pipe: true });
200
+ try {
201
+ await composeUp(['-d'], { pipe: true });
202
+ }
203
+ catch (composeErr) {
204
+ if (isTransientDependencyHealthFailure(composeErr)) {
205
+ debug(`compose up hit transient dependency health failure; retrying after ${transientRetryDelayMs}ms`);
206
+ await sleep(transientRetryDelayMs);
207
+ try {
208
+ await composeUp(['-d'], { pipe: true });
209
+ debug('compose up recovered after transient dependency health retry');
210
+ return;
211
+ }
212
+ catch (retryErr) {
213
+ const diagnostics = await composeDiagnosticText();
214
+ throw new Error(`docker compose up failed after transient dependency-health retry.\n` +
215
+ `Initial failure:\n${errorText(composeErr)}\n\n` +
216
+ `Retry failure:\n${errorText(retryErr)}` +
217
+ (diagnostics ? `\n\n${diagnostics}` : ''));
218
+ }
219
+ }
220
+ const diagnostics = await composeDiagnosticText();
221
+ throw new Error(`docker compose up failed during update fallback.\n${errorText(composeErr)}` +
222
+ (diagnostics ? `\n\n${diagnostics}` : ''));
223
+ }
125
224
  }
126
225
  }
127
226
  /** Pin PostgreSQL version if currently on < 17 to prevent accidental upgrades */
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/lib/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,wFAAwF;AACxF,MAAM,UAAU,iBAAiB;IAC/B,kEAAkE;IAClE,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,GAAG,CAAC,WAAW,CAAC;IAE5C,yDAAyD;IACzD,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,eAAe,CAAC;IAErD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC5D,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QACrC,+DAA+D;QAC/D,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACvD,IAAI,YAAY;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE9C,+EAA+E;IAC/E,gEAAgE;IAChE,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,eAAe,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QAC5H,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,kBAAkB,SAAS,MAAM,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,yEAAyE;gBACzE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;gBACpD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,eAAe,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;YAC5H,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;IAC7D,MAAM,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEpC,uDAAuD;IACvD,6DAA6D;IAC7D,+DAA+D;IAC/D,IAAI,CAAC;QACH,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACxD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,OAAO,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,qDAAqD;IACrD,iFAAiF;IACjF,8EAA8E;IAC9E,+EAA+E;IAC/E,IAAI,CAAC;QACH,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC7D,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAExC,+DAA+D;QAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,gDAAgD;YACxE,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,SAAS,GAAG,CAAC,MAAM,yCAAyC,CAAC,CAAC;YACpE,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,0DAA0D;QAC1D,qEAAqE;QACrE,wDAAwD;QACxD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACpD,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,6CAA6C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAAC;QACH,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC,CAAC;QACnE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,6BAA6B,GAAG,CAAC,OAAO,8BAA8B,CAAC,CAAC;QAC9E,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,QAAQ,EAAE,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAElC,IAAI,YAAY,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACvE,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACvC,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,MAAM,GAAG,mBAAmB,CAAC;IACnC,MAAM,IAAI,GAAG,aAAa,CAAC;IAE3B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;YACpD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACzC,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,sCAAsC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,UAAU,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,UAAU,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,WAAW,GAAG,gDAAgD,CAAC;IACrE,MAAM,cAAc,GAAG,uDAAuD,CAAC;IAE/E,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEhC,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,iCAAiC;gBACjC,IAAI,CAAC;oBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;oBACrD,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,KAAK,CAAC,eAAe,IAAI,8CAA8C,CAAC,CAAC;oBACzE,SAAS;gBACX,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,eAAe,IAAI,KAAK,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC;gBACxD,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAC7B,8CAA8C,EAC9C,yCAAyC,CAC1C,CAAC;QAEF,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACvD,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1B,8CAA8C;oBAC9C,IAAI,CAAC;wBACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;wBAC/C,MAAM,OAAO,GAAG,QAAQ,QAAQ,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;wBACjE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;wBACjE,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;wBAC1C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC5C,CAAC;oBAAC,OAAO,OAAY,EAAE,CAAC;wBACtB,KAAK,CAAC,gBAAgB,IAAI,oBAAoB,OAAO,CAAC,OAAO,aAAa,CAAC,CAAC;wBAC5E,SAAS;oBACX,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,gBAAgB,IAAI,KAAK,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC;oBACzD,SAAS;gBACX,CAAC;YACH,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,KAAK,CAAC,WAAW,IAAI,kDAAkD,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,qCAAqC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,eAAuB;IACtD,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/lib/update.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  /** Single source of truth for the CLI version. */
2
- export declare const VERSION = "0.7.10";
2
+ export declare const VERSION = "0.10.0";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  /** Single source of truth for the CLI version. */
2
- export const VERSION = '0.7.10';
2
+ export const VERSION = '0.10.0';
3
3
  //# sourceMappingURL=version.js.map
@@ -1,5 +1,6 @@
1
1
  import type { ShellContext } from '../context.js';
2
2
  import type { CommandNode } from '../parser.js';
3
3
  export declare function handleApplianceHardwareDisk(args: string[], _opts: Record<string, string>, _ctx: ShellContext): Promise<void>;
4
+ export declare function handleApplianceHardwareSystem(_args: string[], _opts: Record<string, string>, _ctx: ShellContext): Promise<void>;
4
5
  export declare function wireApplianceHardwareHandlers(applianceNode: CommandNode): void;
5
6
  //# sourceMappingURL=appliance-hardware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"appliance-hardware.d.ts","sourceRoot":"","sources":["../../../src/shell/commands/appliance-hardware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAehD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,WAAW,GAAG,IAAI,CAY9E"}
1
+ {"version":3,"file":"appliance-hardware.d.ts","sourceRoot":"","sources":["../../../src/shell/commands/appliance-hardware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAgBhD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAef;AAED,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,WAAW,GAAG,IAAI,CAe9E"}
@@ -1,5 +1,5 @@
1
1
  import { banner, statusLine, table } from '../formatter.js';
2
- import { DEFAULT_DISK_CHECK_DIRECTORY, DEFAULT_DISK_CHECK_RUNTIME_SEC, DEFAULT_DISK_CHECK_SIZE, formatBandwidth, formatIops, runDiskCheck, } from '../../lib/hardware.js';
2
+ import { DEFAULT_DISK_CHECK_DIRECTORY, DEFAULT_DISK_CHECK_RUNTIME_SEC, DEFAULT_DISK_CHECK_SIZE, formatBandwidth, formatIops, runDiskCheck, validateApplianceHardware, } from '../../lib/hardware.js';
3
3
  function parseRuntime(value) {
4
4
  const parsed = Number.parseInt(value ?? '', 10);
5
5
  return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_DISK_CHECK_RUNTIME_SEC;
@@ -31,6 +31,19 @@ export async function handleApplianceHardwareDisk(args, _opts, _ctx) {
31
31
  console.log(statusLine('Disk hardware check', 'fail', message));
32
32
  }
33
33
  }
34
+ export async function handleApplianceHardwareSystem(_args, _opts, _ctx) {
35
+ console.log(banner('Appliance Hardware Check'));
36
+ const result = await validateApplianceHardware();
37
+ const cpuDetail = result.cpu.missingFlags.length > 0
38
+ ? `missing flags: ${result.cpu.missingFlags.join(', ')}`
39
+ : `${result.cpu.model} (${result.cpu.arch}, ${result.cpu.cores} cores)`;
40
+ console.log(statusLine('CPU', result.cpu.ok ? 'ok' : 'fail', cpuDetail));
41
+ console.log(statusLine('RAM', result.ram.ok ? 'ok' : 'fail', `${result.ram.totalMb}MB (required ${result.ram.requiredMb}MB+)`));
42
+ console.log(statusLine('Disk', result.disk.ok ? 'ok' : 'fail', `${result.disk.freePercent}% free (required ${result.disk.requiredFreePercent}%+)`));
43
+ if (!result.ok) {
44
+ process.exitCode = 1;
45
+ }
46
+ }
34
47
  export function wireApplianceHardwareHandlers(applianceNode) {
35
48
  if (!applianceNode.children)
36
49
  return;
@@ -38,6 +51,9 @@ export function wireApplianceHardwareHandlers(applianceNode) {
38
51
  if (child.name !== 'hardware-check' || !child.children)
39
52
  continue;
40
53
  for (const grandchild of child.children) {
54
+ if (grandchild.name === 'system') {
55
+ grandchild.handler = handleApplianceHardwareSystem;
56
+ }
41
57
  if (grandchild.name === 'disk') {
42
58
  grandchild.handler = handleApplianceHardwareDisk;
43
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"appliance-hardware.js","sourceRoot":"","sources":["../../../src/shell/commands/appliance-hardware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG5D,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,uBAAuB,CAAC;AAE/B,SAAS,YAAY,CAAC,KAAyB;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,8BAA8B,CAAC;AACzF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAAc,EACd,KAA6B,EAC7B,IAAkB;IAElB,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC;IACjD,MAAM,SAAS,GAAG,YAAY,IAAI,4BAA4B,CAAC;IAC/D,MAAM,IAAI,GAAG,OAAO,IAAI,uBAAuB,CAAC;IAChD,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,aAAa,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CACf,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,EAC3D,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC3B,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,GAAG;YACrC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YAC5B,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAChD,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC;SAClD,CAAC,CACH,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,aAA0B;IACtE,IAAI,CAAC,aAAa,CAAC,QAAQ;QAAE,OAAO;IAEpC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,SAAS;QAEjE,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,UAAU,CAAC,OAAO,GAAG,2BAA2B,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"appliance-hardware.js","sourceRoot":"","sources":["../../../src/shell/commands/appliance-hardware.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare function handleRestore(args: string[], _opts: Record<string, stri
5
5
  export declare function handleCompact(_args: string[], _opts: Record<string, string>, _ctx: ShellContext): Promise<void>;
6
6
  export declare function handlePerformance(_args: string[], _opts: Record<string, string>, _ctx: ShellContext): Promise<void>;
7
7
  export declare function handlePurge(args: string[], _opts: Record<string, string>, _ctx: ShellContext): Promise<void>;
8
+ export declare function handleVacuum(args: string[], opts: Record<string, string>, _ctx: ShellContext): Promise<void>;
8
9
  export declare function handleMigrateRun(_args: string[], _opts: Record<string, string>, _ctx: ShellContext): Promise<void>;
9
10
  export declare function handleMigrateRollback(args: string[], _opts: Record<string, string>, _ctx: ShellContext): Promise<void>;
10
11
  export declare function handleMigrateWatch(_args: string[], _opts: Record<string, string>, ctx: ShellContext): Promise<void>;