@calltelemetry/cli 0.3.5 → 0.3.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"self-update.d.ts","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BhD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,QAOzD"}
1
+ {"version":3,"file":"self-update.d.ts","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA4ChD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,QAOzD"}
@@ -21,15 +21,31 @@ export async function selfUpdate() {
21
21
  // Can't determine versions — just run the install
22
22
  console.log('Installing latest CLI...');
23
23
  }
24
+ // Try user-level install first, fallback to sudo
24
25
  try {
25
- await execa('sudo', ['npm', 'install', '-g', '@calltelemetry/cli'], {
26
+ await execa('npm', ['install', '-g', '@calltelemetry/cli'], {
26
27
  stdout: 'inherit',
27
28
  stderr: 'inherit',
28
29
  });
29
30
  out.ok('CLI updated successfully');
30
31
  }
31
- catch {
32
- out.warn('CLI self-update failed. You can update manually: sudo npm install -g @calltelemetry/cli');
32
+ catch (err) {
33
+ const isPermission = err.stderr?.toString().includes('EACCES') || err.exitCode === 243;
34
+ if (!isPermission) {
35
+ out.warn('CLI self-update failed. You can update manually: npm install -g @calltelemetry/cli');
36
+ return;
37
+ }
38
+ // Permission denied — retry with sudo
39
+ try {
40
+ await execa('sudo', ['npm', 'install', '-g', '@calltelemetry/cli'], {
41
+ stdout: 'inherit',
42
+ stderr: 'inherit',
43
+ });
44
+ out.ok('CLI updated successfully');
45
+ }
46
+ catch {
47
+ out.warn('CLI self-update failed. You can update manually: sudo npm install -g @calltelemetry/cli');
48
+ }
33
49
  }
34
50
  }
35
51
  export function registerSelfUpdateCommand(program) {
@@ -1 +1 @@
1
- {"version":3,"file":"self-update.js","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAEnF,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAExC,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC9B,GAAG,CAAC,EAAE,CAAC,uBAAuB,KAAK,GAAG,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,IAAI,SAAS,MAAM,MAAM,KAAK,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;QAClD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE;YAClE,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"self-update.js","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAEnF,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAExC,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC9B,GAAG,CAAC,EAAE,CAAC,uBAAuB,KAAK,GAAG,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,IAAI,SAAS,MAAM,MAAM,KAAK,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;QAClD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE;YAC1D,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC;QACvF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;YAC/F,OAAO;QACT,CAAC;QACD,sCAAsC;QACtC,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE;gBAClE,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- const VERSION = '0.3.5';
2
+ const VERSION = '0.3.6';
3
3
  import { Command } from 'commander';
4
4
  import { registerStatusCommand } from './commands/status.js';
5
5
  import { registerUpdateCommand } from './commands/update.js';
@@ -15,6 +15,8 @@ import { registerServicesCommand } from './commands/services.js';
15
15
  import { registerSelfUpdateCommand } from './commands/self-update.js';
16
16
  import { LOGO } from './lib/brand.js';
17
17
  import { setVerbose } from './lib/log.js';
18
+ import { loadPrefs } from './lib/prefs.js';
19
+ import { checkAndAutoUpdate } from './lib/auto-update.js';
18
20
  const program = new Command();
19
21
  program
20
22
  .name('ct')
@@ -28,6 +30,11 @@ program
28
30
  // Only show logo for direct CLI invocations, not TUI
29
31
  console.log(`\n${LOGO}\n\nhttps://calltelemetry.com`);
30
32
  console.log();
33
+ // Fire auto-update in background for CLI commands (non-blocking)
34
+ const prefs = loadPrefs();
35
+ if (prefs?.autoUpdate) {
36
+ checkAndAutoUpdate(VERSION).catch(() => { });
37
+ }
31
38
  });
32
39
  registerStatusCommand(program);
33
40
  registerUpdateCommand(program);
@@ -44,12 +51,20 @@ registerSelfUpdateCommand(program);
44
51
  // Interactive menu when `ct` is run with no arguments on a TTY
45
52
  const hasCommand = process.argv.length > 2;
46
53
  if (!hasCommand && process.stdout.isTTY) {
54
+ // Check preferences before rendering
55
+ const prefs = loadPrefs();
56
+ const firstRun = prefs === null;
57
+ // Fire auto-update in background if enabled (non-blocking)
58
+ if (prefs?.autoUpdate) {
59
+ checkAndAutoUpdate(VERSION).catch(() => { });
60
+ }
47
61
  // Dynamic import to avoid loading React/Ink for direct command invocations
48
62
  import('ink').then(async ({ render }) => {
49
63
  const React = await import('react');
50
64
  const { MainMenu } = await import('./ui/views/MainMenu.js');
51
65
  const { unmount, waitUntilExit } = render(React.createElement(MainMenu, {
52
66
  version: VERSION,
67
+ firstRun,
53
68
  onCliCommand: (command) => {
54
69
  unmount();
55
70
  // Fall back to Commander for commands without TUI views
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,IAAI,CAAC;KACV,WAAW,CAAC,wCAAwC,CAAC;KACrD,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;KACtD,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;IAC7B,wCAAwC;IACxC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO;QAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7C,qDAAqD;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,+BAA+B,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,iEAAiE;IACjE,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,KAAK,EAAE,UAAU,EAAE,CAAC;QACtB,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC3B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAEnC,+DAA+D;AAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAE3C,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACxC,qCAAqC;IACrC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC;IAEhC,2DAA2D;IAC3D,IAAI,KAAK,EAAE,UAAU,EAAE,CAAC;QACtB,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,2EAA2E;IAC3E,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAE5D,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CACvC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC5B,OAAO,EAAE,OAAO;YAChB,QAAQ;YACR,YAAY,EAAE,CAAC,OAAe,EAAE,EAAE;gBAChC,OAAO,EAAE,CAAC;gBACV,wDAAwD;gBACxD,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,EAAE,CAAC;YACZ,CAAC;SACF,CAAC,CACH,CAAC;QAEF,MAAM,aAAa,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Background auto-update check. Compares the running version against
3
+ * the npm registry and installs the latest if newer.
4
+ *
5
+ * - Tries `npm install -g` without sudo first (works for nvm / user-owned prefix)
6
+ * - Falls back to `sudo npm install -g` if permission denied
7
+ * - All errors caught silently — auto-update must never crash the app
8
+ */
9
+ export declare function checkAndAutoUpdate(currentVersion: string): Promise<void>;
10
+ //# sourceMappingURL=auto-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/lib/auto-update.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C9E"}
@@ -0,0 +1,58 @@
1
+ import { execa } from 'execa';
2
+ import { debug } from './log.js';
3
+ /**
4
+ * Background auto-update check. Compares the running version against
5
+ * the npm registry and installs the latest if newer.
6
+ *
7
+ * - Tries `npm install -g` without sudo first (works for nvm / user-owned prefix)
8
+ * - Falls back to `sudo npm install -g` if permission denied
9
+ * - All errors caught silently — auto-update must never crash the app
10
+ */
11
+ export async function checkAndAutoUpdate(currentVersion) {
12
+ try {
13
+ debug('Auto-update: checking npm registry...');
14
+ const { stdout } = await execa('npm', ['view', '@calltelemetry/cli', 'version', '--json'], {
15
+ timeout: 10000,
16
+ });
17
+ const latest = JSON.parse(stdout);
18
+ if (latest === currentVersion) {
19
+ debug(`Auto-update: already on latest (v${currentVersion})`);
20
+ return;
21
+ }
22
+ debug(`Auto-update: ${currentVersion} → ${latest}, installing...`);
23
+ // Try user-level install first
24
+ try {
25
+ await execa('npm', ['install', '-g', '@calltelemetry/cli'], {
26
+ timeout: 60000,
27
+ stdout: 'pipe',
28
+ stderr: 'pipe',
29
+ });
30
+ debug(`Auto-update: installed v${latest} (user-level)`);
31
+ return;
32
+ }
33
+ catch (err) {
34
+ const isPermission = err.stderr?.includes('EACCES') || err.exitCode === 243;
35
+ if (!isPermission) {
36
+ debug(`Auto-update: npm install failed: ${err.message}`);
37
+ return;
38
+ }
39
+ debug('Auto-update: user install failed (EACCES), trying sudo...');
40
+ }
41
+ // Fallback to sudo
42
+ try {
43
+ await execa('sudo', ['npm', 'install', '-g', '@calltelemetry/cli'], {
44
+ timeout: 60000,
45
+ stdout: 'pipe',
46
+ stderr: 'pipe',
47
+ });
48
+ debug(`Auto-update: installed v${latest} (sudo)`);
49
+ }
50
+ catch (err) {
51
+ debug(`Auto-update: sudo install also failed: ${err.message}`);
52
+ }
53
+ }
54
+ catch (err) {
55
+ debug(`Auto-update: check failed: ${err.message}`);
56
+ }
57
+ }
58
+ //# sourceMappingURL=auto-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../src/lib/auto-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,cAAsB;IAC7D,IAAI,CAAC;QACH,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;YACzF,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAElC,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC9B,KAAK,CAAC,oCAAoC,cAAc,GAAG,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,KAAK,CAAC,gBAAgB,cAAc,MAAM,MAAM,iBAAiB,CAAC,CAAC;QAEnE,+BAA+B;QAC/B,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE;gBAC1D,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,KAAK,CAAC,2BAA2B,MAAM,eAAe,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC;YAC5E,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,KAAK,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YACD,KAAK,CAAC,2DAA2D,CAAC,CAAC;QACrE,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE;gBAClE,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,KAAK,CAAC,2BAA2B,MAAM,SAAS,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,0CAA0C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ export interface Preferences {
2
+ autoUpdate: boolean;
3
+ }
4
+ /**
5
+ * Load preferences from ~/.ct/preferences.json.
6
+ * Returns null if the file doesn't exist (first run).
7
+ */
8
+ export declare function loadPrefs(): Preferences | null;
9
+ /**
10
+ * Save preferences to ~/.ct/preferences.json.
11
+ * Creates the ~/.ct directory if it doesn't exist.
12
+ */
13
+ export declare function savePrefs(prefs: Preferences): void;
14
+ /**
15
+ * Get preferences, returning defaults if file doesn't exist.
16
+ */
17
+ export declare function getPrefs(): Preferences;
18
+ //# sourceMappingURL=prefs.d.ts.map
@@ -0,0 +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;CACrB;AAOD;;;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"}
@@ -0,0 +1,45 @@
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { homedir } from 'node:os';
4
+ import { debug } from './log.js';
5
+ const PREFS_DIR = join(homedir(), '.ct');
6
+ const PREFS_FILE = join(PREFS_DIR, 'preferences.json');
7
+ const DEFAULTS = { autoUpdate: false };
8
+ /**
9
+ * Load preferences from ~/.ct/preferences.json.
10
+ * Returns null if the file doesn't exist (first run).
11
+ */
12
+ export function loadPrefs() {
13
+ try {
14
+ if (!existsSync(PREFS_FILE))
15
+ return null;
16
+ const raw = readFileSync(PREFS_FILE, 'utf-8');
17
+ const parsed = JSON.parse(raw);
18
+ return { ...DEFAULTS, ...parsed };
19
+ }
20
+ catch (err) {
21
+ debug(`Failed to load preferences: ${err.message}`);
22
+ return null;
23
+ }
24
+ }
25
+ /**
26
+ * Save preferences to ~/.ct/preferences.json.
27
+ * Creates the ~/.ct directory if it doesn't exist.
28
+ */
29
+ export function savePrefs(prefs) {
30
+ try {
31
+ mkdirSync(PREFS_DIR, { recursive: true });
32
+ writeFileSync(PREFS_FILE, JSON.stringify(prefs, null, 2) + '\n', 'utf-8');
33
+ debug(`Preferences saved to ${PREFS_FILE}`);
34
+ }
35
+ catch (err) {
36
+ debug(`Failed to save preferences: ${err.message}`);
37
+ }
38
+ }
39
+ /**
40
+ * Get preferences, returning defaults if file doesn't exist.
41
+ */
42
+ export function getPrefs() {
43
+ return loadPrefs() ?? DEFAULTS;
44
+ }
45
+ //# sourceMappingURL=prefs.js.map
@@ -0,0 +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;AAMjC,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,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAEpD;;;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,9 +1,11 @@
1
1
  interface MainMenuProps {
2
2
  version: string;
3
+ /** True when ~/.ct/preferences.json doesn't exist yet (first launch). */
4
+ firstRun?: boolean;
3
5
  /** Fallback for commands without a TUI view (update, self-update, etc.) */
4
6
  onCliCommand: (command: string) => void;
5
7
  onExit: () => void;
6
8
  }
7
- export declare function MainMenu({ version, onCliCommand, onExit }: MainMenuProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function MainMenu({ version, firstRun, onCliCommand, onExit }: MainMenuProps): import("react/jsx-runtime").JSX.Element;
8
10
  export {};
9
11
  //# sourceMappingURL=MainMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MainMenu.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MainMenu.tsx"],"names":[],"mappings":"AAiLA,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,aAAa,2CAoOxE"}
1
+ {"version":3,"file":"MainMenu.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MainMenu.tsx"],"names":[],"mappings":"AAmLA,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,aAAa,2CAwXlF"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useState, useCallback, useEffect } from 'react';
3
3
  import { Box, Text, useInput } from 'ink';
4
4
  import { AppShell, Spinner, MeterBar, LogLevelBadge } from '../components/index.js';
@@ -8,6 +8,8 @@ import { getSystemMetrics } from '../../lib/system.js';
8
8
  import { getAppHealth } from '../../lib/rpc.js';
9
9
  import { healthIcon, healthColor, extractUptime } from '../utils/serviceDisplay.js';
10
10
  import { LOGO } from '../../lib/brand.js';
11
+ import { savePrefs } from '../../lib/prefs.js';
12
+ import { checkAndAutoUpdate } from '../../lib/auto-update.js';
11
13
  // View imports
12
14
  import { StatusView } from './StatusView.js';
13
15
  import { DbStatusView } from './DbStatusView.js';
@@ -162,12 +164,15 @@ const VIEW_MAP = {
162
164
  'services': (onBack) => _jsx(ServicesView, { onBack: onBack }),
163
165
  'update': (onBack) => _jsx(UpdateView, { onBack: onBack }),
164
166
  };
165
- export function MainMenu({ version, onCliCommand, onExit }) {
166
- const [phase, setPhase] = useState('home');
167
+ export function MainMenu({ version, firstRun, onCliCommand, onExit }) {
168
+ const [phase, setPhase] = useState(firstRun ? 'first-run' : 'home');
169
+ const [setupCursor, setSetupCursor] = useState(0);
167
170
  const [activeView, setActiveView] = useState(null);
168
171
  const [menuCursor, setMenuCursor] = useState(0);
169
172
  const [menuStack, setMenuStack] = useState([]);
170
173
  const [logsService, setLogsService] = useState(null);
174
+ const [focusZone, setFocusZone] = useState('menu');
175
+ const [dashCursor, setDashCursor] = useState(0);
171
176
  const { level: logLevel, cycle: cycleLogLevel } = useLogLevel();
172
177
  const { data: services, stop: stopSvcPolling, start: startSvcPolling } = usePolling(getServiceList, 5000, false);
173
178
  const { data: metrics, stop: stopMetrics, start: startMetrics } = usePolling(getSystemMetrics, 10000, false);
@@ -189,6 +194,8 @@ export function MainMenu({ version, onCliCommand, onExit }) {
189
194
  setPhase('home');
190
195
  setActiveView(null);
191
196
  setLogsService(null);
197
+ setFocusZone('menu');
198
+ setMenuCursor(0);
192
199
  }, []);
193
200
  // Build menu display items
194
201
  const currentMenuItems = menuStack.length > 0 ? menuStack[menuStack.length - 1] : MENU_ITEMS;
@@ -201,14 +208,93 @@ export function MainMenu({ version, onCliCommand, onExit }) {
201
208
  menuDisplayItems.push({ label: item.label, description: item.description, item });
202
209
  }
203
210
  const serviceList = services ?? [];
211
+ const dashItems = [];
212
+ if (appHealth) {
213
+ dashItems.push({ icon: appHealth.api ? '●' : '✘', color: appHealth.api ? 'green' : 'red', label: 'API', status: appHealth.api ? 'responding' : 'not responding', hint: 'App and system health overview', action: 'status' }, { icon: appHealth.rpc ? '●' : '✘', color: appHealth.rpc ? 'green' : 'red', label: 'RPC', status: appHealth.rpc ? 'connected' : 'timeout', hint: 'Elixir VM and service diagnostics', action: 'diag service' }, { icon: appHealth.dbConnected ? '●' : '✘', color: appHealth.dbConnected ? 'green' : 'red', label: 'Database', status: appHealth.dbConnected ? 'connected' : 'unreachable', hint: 'PostgreSQL health and queries', action: 'diag database' });
214
+ }
215
+ const healthItemCount = dashItems.length;
216
+ for (const svc of serviceList) {
217
+ const uptime = extractUptime(svc.status);
218
+ dashItems.push({
219
+ icon: healthIcon(svc.health, svc.state),
220
+ color: healthColor(svc.health, svc.state),
221
+ label: svc.service,
222
+ status: uptime || svc.state,
223
+ hint: 'Container logs and output',
224
+ action: `logs:${svc.service}`,
225
+ });
226
+ }
227
+ // Open a dashboard item's target view
228
+ const openDashItem = useCallback((item) => {
229
+ if (item.action.startsWith('logs:')) {
230
+ setLogsService(item.action.slice(5));
231
+ setPhase('logs');
232
+ }
233
+ else if (VIEW_MAP[item.action]) {
234
+ setActiveView(item.action);
235
+ setPhase('view');
236
+ }
237
+ }, []);
238
+ // Handle first-run setup answer
239
+ const handleSetupChoice = useCallback((autoUpdate) => {
240
+ savePrefs({ autoUpdate });
241
+ if (autoUpdate) {
242
+ checkAndAutoUpdate(version).catch(() => { });
243
+ }
244
+ setPhase('home');
245
+ }, [version]);
204
246
  // Keyboard handling
205
247
  useInput((input, key) => {
248
+ // First-run prompt navigation
249
+ if (phase === 'first-run') {
250
+ if (key.upArrow || key.downArrow) {
251
+ setSetupCursor(prev => (prev === 0 ? 1 : 0));
252
+ }
253
+ else if (key.return) {
254
+ handleSetupChoice(setupCursor === 0);
255
+ }
256
+ return;
257
+ }
206
258
  if (phase !== 'home')
207
259
  return;
260
+ if (input === 'd') {
261
+ cycleLogLevel();
262
+ return;
263
+ }
264
+ if (focusZone === 'dashboard') {
265
+ if (key.upArrow) {
266
+ if (dashCursor > 0)
267
+ setDashCursor(prev => prev - 1);
268
+ }
269
+ else if (key.downArrow) {
270
+ if (dashCursor < dashItems.length - 1) {
271
+ setDashCursor(prev => prev + 1);
272
+ }
273
+ else {
274
+ setFocusZone('menu');
275
+ setMenuCursor(0);
276
+ }
277
+ }
278
+ else if (key.return || key.rightArrow) {
279
+ const item = dashItems[dashCursor];
280
+ if (item)
281
+ openDashItem(item);
282
+ }
283
+ else if (key.escape || input === 'q') {
284
+ setFocusZone('menu');
285
+ setMenuCursor(0);
286
+ }
287
+ return;
288
+ }
289
+ // Menu zone
208
290
  if (key.upArrow) {
209
291
  if (menuCursor > 0) {
210
292
  setMenuCursor(prev => prev - 1);
211
293
  }
294
+ else if (dashItems.length > 0) {
295
+ setFocusZone('dashboard');
296
+ setDashCursor(dashItems.length - 1);
297
+ }
212
298
  }
213
299
  else if (key.downArrow) {
214
300
  if (menuCursor < menuDisplayItems.length - 1) {
@@ -244,9 +330,6 @@ export function MainMenu({ version, onCliCommand, onExit }) {
244
330
  setMenuCursor(0);
245
331
  }
246
332
  }
247
- else if (input === 'd') {
248
- cycleLogLevel();
249
- }
250
333
  else if (key.escape || input === 'q') {
251
334
  if (hasParent) {
252
335
  setMenuStack(prev => prev.slice(0, -1));
@@ -257,6 +340,14 @@ export function MainMenu({ version, onCliCommand, onExit }) {
257
340
  }
258
341
  }
259
342
  });
343
+ // --- Phase: first-run ---
344
+ if (phase === 'first-run') {
345
+ const options = ['Yes, keep me updated', 'No thanks'];
346
+ return (_jsxs(AppShell, { title: `CallTelemetry CLI v${version}`, children: [_jsx(Box, { paddingLeft: 1, marginBottom: 1, children: _jsx(Text, { color: "cyan", children: LOGO }) }), _jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsx(Text, { bold: true, children: "Welcome to CallTelemetry CLI!" }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { children: "Would you like the CLI to automatically" }) }), _jsx(Text, { children: "check for updates when it starts?" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: options.map((label, i) => {
347
+ const isActive = i === setupCursor;
348
+ return (_jsx(Box, { children: _jsxs(Text, { color: isActive ? 'cyan' : undefined, bold: isActive, children: [isActive ? '❯ ' : ' ', label] }) }, i));
349
+ }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "\u2191\u2193 Select Enter Confirm" }) })] })] }));
350
+ }
260
351
  // --- Phase: view ---
261
352
  if (phase === 'view' && activeView && VIEW_MAP[activeView]) {
262
353
  return VIEW_MAP[activeView](goHome);
@@ -269,12 +360,21 @@ export function MainMenu({ version, onCliCommand, onExit }) {
269
360
  const healthyCount = serviceList.filter(s => s.health === 'healthy').length;
270
361
  const unhealthyCount = serviceList.filter(s => s.health === 'unhealthy').length;
271
362
  const stoppedCount = serviceList.filter(s => s.state === 'exited' || s.state === 'dead').length;
272
- return (_jsxs(AppShell, { title: `CallTelemetry CLI v${version}`, logLevel: logLevel, children: [_jsx(Box, { paddingLeft: 1, marginBottom: 1, children: _jsx(Text, { color: "cyan", children: LOGO }) }), _jsx(Box, { flexDirection: "column", paddingLeft: 2, marginBottom: 1, children: metrics ? (_jsxs(_Fragment, { children: [_jsx(MeterBar, { label: "RAM", percent: metrics.ram.percent, detail: metrics.ram.label }), _jsx(MeterBar, { label: "Disk", percent: metrics.disk.usedPercent, detail: metrics.disk.label }), _jsx(MeterBar, { label: "CPU", percent: metrics.cpu.percent, detail: metrics.cpu.label, thresholds: [80, 95] })] })) : (_jsx(Spinner, { label: "Loading system metrics..." })) }), _jsxs(Box, { paddingLeft: 2, marginBottom: 1, children: [_jsx(Text, { bold: true, children: 'App ' }), appHealth === undefined ? (_jsx(Text, { dimColor: true, children: "checking..." })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { color: appHealth.overall === 'healthy' ? 'green' : appHealth.overall === 'degraded' ? 'yellow' : 'red', children: [appHealth.overall === 'healthy' ? '●' : appHealth.overall === 'degraded' ? '▲' : '✘', ` ${appHealth.overall}`] }), _jsx(Text, { dimColor: true, children: ' — ' }), _jsx(Text, { color: appHealth.api ? 'green' : 'red', children: appHealth.api ? 'API up' : 'API down' }), _jsx(Text, { dimColor: true, children: ' · ' }), _jsx(Text, { color: appHealth.rpc ? 'green' : 'red', children: appHealth.rpc ? 'RPC connected' : 'RPC timeout' }), _jsx(Text, { dimColor: true, children: ' · ' }), _jsx(Text, { color: appHealth.dbConnected ? 'green' : 'red', children: appHealth.dbConnected ? 'DB connected' : 'DB unreachable' }), (() => {
363
+ return (_jsxs(AppShell, { title: `CallTelemetry CLI v${version}`, logLevel: logLevel, children: [_jsx(Box, { paddingLeft: 1, marginBottom: 1, children: _jsx(Text, { color: "cyan", children: LOGO }) }), _jsx(Box, { flexDirection: "column", paddingLeft: 2, marginBottom: 1, children: metrics ? (_jsxs(_Fragment, { children: [_jsx(MeterBar, { label: "RAM", percent: metrics.ram.percent, detail: metrics.ram.label }), _jsx(MeterBar, { label: "Disk", percent: metrics.disk.usedPercent, detail: metrics.disk.label }), _jsx(MeterBar, { label: "CPU", percent: metrics.cpu.percent, detail: metrics.cpu.label, thresholds: [80, 95] })] })) : (_jsx(Spinner, { label: "Loading system metrics..." })) }), appHealth === undefined ? (_jsx(Box, { paddingLeft: 2, marginBottom: 1, children: _jsx(Text, { dimColor: true, children: "Checking app health..." }) })) : (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, marginBottom: 0, children: [_jsxs(Box, { children: [_jsx(Text, { bold: true, children: 'App ' }), _jsxs(Text, { color: appHealth.overall === 'healthy' ? 'green' : appHealth.overall === 'degraded' ? 'yellow' : 'red', children: [appHealth.overall === 'healthy' ? '●' : appHealth.overall === 'degraded' ? '▲' : '✘', ` ${appHealth.overall}`] }), (() => {
273
364
  const webSvc = serviceList.find(s => s.service === 'web');
274
365
  const uptime = webSvc ? extractUptime(webSvc.status) : '';
275
- return uptime && uptime !== 'exited' ? (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: ' · ' }), _jsxs(Text, { dimColor: true, children: ["Up ", uptime] })] })) : null;
276
- })()] }))] }), !services && (_jsx(Box, { paddingLeft: 2, marginBottom: 1, children: _jsx(Spinner, { label: "Loading containers..." }) })), serviceList.length > 0 && (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, marginBottom: 1, children: [_jsxs(Box, { marginBottom: 0, children: [_jsx(Text, { bold: true, children: "Containers" }), _jsxs(Text, { dimColor: true, children: [' ', serviceList.length, " total"] }), healthyCount > 0 && _jsxs(Text, { color: "green", children: [" \u2014 ", healthyCount, " healthy"] }), unhealthyCount > 0 && _jsxs(Text, { color: "yellow", children: [", ", unhealthyCount, " unhealthy"] }), stoppedCount > 0 && _jsxs(Text, { color: "red", children: [", ", stoppedCount, " stopped"] })] }), _jsx(Box, { flexWrap: "wrap", children: serviceList.map(svc => (_jsxs(Box, { marginRight: 1, children: [_jsx(Text, { color: healthColor(svc.health, svc.state), children: healthIcon(svc.health, svc.state) }), _jsx(Text, { dimColor: true, children: ` ${svc.service}` })] }, svc.service))) })] })), _jsx(Box, { paddingLeft: 2, children: _jsx(Text, { dimColor: true, children: '─'.repeat(50) }) }), _jsx(Box, { flexDirection: "column", paddingLeft: 2, paddingTop: 1, children: menuDisplayItems.map((entry, i) => {
277
- const isActive = i === menuCursor;
366
+ return uptime && uptime !== 'exited' ? (_jsxs(Text, { dimColor: true, children: [' ', "Up ", uptime] })) : null;
367
+ })()] }), dashItems.slice(0, healthItemCount).map((item, i) => {
368
+ const isFocused = focusZone === 'dashboard' && dashCursor === i;
369
+ const prefix = isFocused ? '❯' : ' ';
370
+ return (_jsxs(Box, { children: [_jsx(Text, { color: isFocused ? 'cyan' : undefined, bold: isFocused, children: `${prefix} ` }), _jsx(Text, { color: item.color, children: item.icon }), _jsx(Text, { color: isFocused ? 'cyan' : undefined, bold: isFocused, children: ` ${item.label.padEnd(10)}` }), _jsx(Text, { color: item.color, children: item.status.padEnd(16) }), isFocused && _jsx(Text, { dimColor: true, children: item.hint })] }, `health-${i}`));
371
+ })] })), !services && (_jsx(Box, { paddingLeft: 2, marginBottom: 1, children: _jsx(Spinner, { label: "Loading containers..." }) })), serviceList.length > 0 && (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, marginBottom: 1, children: [_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { bold: true, children: "Containers" }), _jsxs(Text, { dimColor: true, children: [' ', serviceList.length, " total"] }), healthyCount > 0 && _jsxs(Text, { color: "green", children: [" \u2014 ", healthyCount, " healthy"] }), unhealthyCount > 0 && _jsxs(Text, { color: "yellow", children: [", ", unhealthyCount, " unhealthy"] }), stoppedCount > 0 && _jsxs(Text, { color: "red", children: [", ", stoppedCount, " stopped"] })] }), dashItems.slice(healthItemCount).map((item, i) => {
372
+ const globalIdx = healthItemCount + i;
373
+ const isFocused = focusZone === 'dashboard' && dashCursor === globalIdx;
374
+ const prefix = isFocused ? '❯' : ' ';
375
+ return (_jsxs(Box, { children: [_jsx(Text, { color: isFocused ? 'cyan' : undefined, bold: isFocused, children: `${prefix} ` }), _jsx(Text, { color: item.color, children: item.icon }), _jsx(Text, { color: isFocused ? 'cyan' : undefined, bold: isFocused, children: ` ${item.label.padEnd(10)}` }), _jsx(Text, { color: item.color, children: item.status.padEnd(16) }), isFocused && _jsx(Text, { dimColor: true, children: item.hint })] }, `ctr-${i}`));
376
+ })] })), _jsx(Box, { paddingLeft: 2, children: _jsx(Text, { dimColor: true, children: '─'.repeat(50) }) }), _jsx(Box, { flexDirection: "column", paddingLeft: 2, paddingTop: 1, children: menuDisplayItems.map((entry, i) => {
377
+ const isActive = focusZone === 'menu' && i === menuCursor;
278
378
  const prefix = isActive ? '❯' : ' ';
279
379
  return (_jsxs(Box, { children: [_jsx(Text, { color: isActive ? 'cyan' : undefined, bold: isActive, children: `${prefix} ${entry.label.padEnd(16)}` }), _jsx(Text, { dimColor: true, children: entry.description })] }, `menu-${i}`));
280
380
  }) }), _jsxs(Box, { paddingLeft: 2, paddingTop: 1, children: [_jsx(Text, { dimColor: true, children: '↑↓ Navigate Enter Select d Log Level q Quit' }), logLevel !== 'normal' && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(LogLevelBadge, { level: logLevel })] }))] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"MainMenu.js","sourceRoot":"","sources":["../../../src/ui/views/MainMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MainMenu.js","sourceRoot":"","sources":["../../../src/ui/views/MainMenu.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calltelemetry/cli",
3
- "version": "0.3.5",
3
+ "version": "0.3.6",
4
4
  "description": "CallTelemetry appliance management CLI",
5
5
  "type": "module",
6
6
  "bin": {