@calltelemetry/cli 0.3.6 → 0.3.8

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 (128) hide show
  1. package/dist/commands/config.d.ts.map +1 -1
  2. package/dist/commands/config.js +10 -16
  3. package/dist/commands/config.js.map +1 -1
  4. package/dist/commands/offline.d.ts.map +1 -1
  5. package/dist/commands/offline.js +78 -105
  6. package/dist/commands/offline.js.map +1 -1
  7. package/dist/commands/self-update.d.ts +2 -3
  8. package/dist/commands/self-update.d.ts.map +1 -1
  9. package/dist/commands/self-update.js +4 -49
  10. package/dist/commands/self-update.js.map +1 -1
  11. package/dist/commands/update.d.ts.map +1 -1
  12. package/dist/commands/update.js +25 -82
  13. package/dist/commands/update.js.map +1 -1
  14. package/dist/index.js +16 -6
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/auto-update.d.ts +15 -5
  17. package/dist/lib/auto-update.d.ts.map +1 -1
  18. package/dist/lib/auto-update.js +61 -25
  19. package/dist/lib/auto-update.js.map +1 -1
  20. package/dist/lib/bundle.d.ts.map +1 -1
  21. package/dist/lib/bundle.js +2 -9
  22. package/dist/lib/bundle.js.map +1 -1
  23. package/dist/lib/compose.d.ts +4 -0
  24. package/dist/lib/compose.d.ts.map +1 -1
  25. package/dist/lib/compose.js +35 -9
  26. package/dist/lib/compose.js.map +1 -1
  27. package/dist/lib/ipv6.d.ts +15 -0
  28. package/dist/lib/ipv6.d.ts.map +1 -0
  29. package/dist/lib/ipv6.js +36 -0
  30. package/dist/lib/ipv6.js.map +1 -0
  31. package/dist/lib/log.d.ts +6 -0
  32. package/dist/lib/log.d.ts.map +1 -1
  33. package/dist/lib/log.js +30 -0
  34. package/dist/lib/log.js.map +1 -1
  35. package/dist/lib/network.d.ts.map +1 -1
  36. package/dist/lib/network.js +47 -4
  37. package/dist/lib/network.js.map +1 -1
  38. package/dist/lib/offline-steps.d.ts +33 -0
  39. package/dist/lib/offline-steps.d.ts.map +1 -0
  40. package/dist/lib/offline-steps.js +350 -0
  41. package/dist/lib/offline-steps.js.map +1 -0
  42. package/dist/lib/prefs.d.ts +1 -0
  43. package/dist/lib/prefs.d.ts.map +1 -1
  44. package/dist/lib/prefs.js +1 -1
  45. package/dist/lib/prefs.js.map +1 -1
  46. package/dist/lib/rpc.d.ts +3 -0
  47. package/dist/lib/rpc.d.ts.map +1 -1
  48. package/dist/lib/rpc.js +26 -4
  49. package/dist/lib/rpc.js.map +1 -1
  50. package/dist/lib/services.d.ts +5 -0
  51. package/dist/lib/services.d.ts.map +1 -1
  52. package/dist/lib/services.js +24 -0
  53. package/dist/lib/services.js.map +1 -1
  54. package/dist/lib/update-steps.d.ts +17 -0
  55. package/dist/lib/update-steps.d.ts.map +1 -0
  56. package/dist/lib/update-steps.js +169 -0
  57. package/dist/lib/update-steps.js.map +1 -0
  58. package/dist/lib/update.d.ts +2 -0
  59. package/dist/lib/update.d.ts.map +1 -1
  60. package/dist/lib/update.js +11 -0
  61. package/dist/lib/update.js.map +1 -1
  62. package/dist/ui/components/ErrorBoundary.d.ts +14 -0
  63. package/dist/ui/components/ErrorBoundary.d.ts.map +1 -0
  64. package/dist/ui/components/ErrorBoundary.js +19 -0
  65. package/dist/ui/components/ErrorBoundary.js.map +1 -0
  66. package/dist/ui/components/ShellOutput.d.ts.map +1 -1
  67. package/dist/ui/components/ShellOutput.js +8 -5
  68. package/dist/ui/components/ShellOutput.js.map +1 -1
  69. package/dist/ui/components/index.d.ts +1 -0
  70. package/dist/ui/components/index.d.ts.map +1 -1
  71. package/dist/ui/components/index.js +1 -0
  72. package/dist/ui/components/index.js.map +1 -1
  73. package/dist/ui/views/CertsStatusView.d.ts.map +1 -1
  74. package/dist/ui/views/CertsStatusView.js +19 -10
  75. package/dist/ui/views/CertsStatusView.js.map +1 -1
  76. package/dist/ui/views/DbBackupView.d.ts.map +1 -1
  77. package/dist/ui/views/DbBackupView.js +4 -2
  78. package/dist/ui/views/DbBackupView.js.map +1 -1
  79. package/dist/ui/views/DbStatusView.d.ts.map +1 -1
  80. package/dist/ui/views/DbStatusView.js +3 -2
  81. package/dist/ui/views/DbStatusView.js.map +1 -1
  82. package/dist/ui/views/DiagDatabaseView.d.ts.map +1 -1
  83. package/dist/ui/views/DiagDatabaseView.js +12 -10
  84. package/dist/ui/views/DiagDatabaseView.js.map +1 -1
  85. package/dist/ui/views/DiagNetworkView.d.ts.map +1 -1
  86. package/dist/ui/views/DiagNetworkView.js +23 -14
  87. package/dist/ui/views/DiagNetworkView.js.map +1 -1
  88. package/dist/ui/views/DiagServiceView.d.ts.map +1 -1
  89. package/dist/ui/views/DiagServiceView.js +6 -5
  90. package/dist/ui/views/DiagServiceView.js.map +1 -1
  91. package/dist/ui/views/DockerStatusView.d.ts.map +1 -1
  92. package/dist/ui/views/DockerStatusView.js +5 -4
  93. package/dist/ui/views/DockerStatusView.js.map +1 -1
  94. package/dist/ui/views/MainMenu.d.ts.map +1 -1
  95. package/dist/ui/views/MainMenu.js +50 -4
  96. package/dist/ui/views/MainMenu.js.map +1 -1
  97. package/dist/ui/views/MigrateRunView.js +1 -1
  98. package/dist/ui/views/MigrateRunView.js.map +1 -1
  99. package/dist/ui/views/MigrateWatchView.d.ts.map +1 -1
  100. package/dist/ui/views/MigrateWatchView.js +2 -2
  101. package/dist/ui/views/MigrateWatchView.js.map +1 -1
  102. package/dist/ui/views/OfflineApplyView.d.ts +6 -0
  103. package/dist/ui/views/OfflineApplyView.d.ts.map +1 -0
  104. package/dist/ui/views/OfflineApplyView.js +109 -0
  105. package/dist/ui/views/OfflineApplyView.js.map +1 -0
  106. package/dist/ui/views/OfflineDownloadView.d.ts +6 -0
  107. package/dist/ui/views/OfflineDownloadView.d.ts.map +1 -0
  108. package/dist/ui/views/OfflineDownloadView.js +67 -0
  109. package/dist/ui/views/OfflineDownloadView.js.map +1 -0
  110. package/dist/ui/views/OfflineFetchView.d.ts +6 -0
  111. package/dist/ui/views/OfflineFetchView.d.ts.map +1 -0
  112. package/dist/ui/views/OfflineFetchView.js +64 -0
  113. package/dist/ui/views/OfflineFetchView.js.map +1 -0
  114. package/dist/ui/views/OfflineInspectView.d.ts +6 -0
  115. package/dist/ui/views/OfflineInspectView.d.ts.map +1 -0
  116. package/dist/ui/views/OfflineInspectView.js +65 -0
  117. package/dist/ui/views/OfflineInspectView.js.map +1 -0
  118. package/dist/ui/views/OfflineListView.d.ts.map +1 -1
  119. package/dist/ui/views/OfflineListView.js +2 -6
  120. package/dist/ui/views/OfflineListView.js.map +1 -1
  121. package/dist/ui/views/SettingsView.d.ts +6 -0
  122. package/dist/ui/views/SettingsView.d.ts.map +1 -0
  123. package/dist/ui/views/SettingsView.js +68 -0
  124. package/dist/ui/views/SettingsView.js.map +1 -0
  125. package/dist/ui/views/UpdateView.d.ts.map +1 -1
  126. package/dist/ui/views/UpdateView.js +20 -134
  127. package/dist/ui/views/UpdateView.js.map +1 -1
  128. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QA6LrD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QA0LrD"}
@@ -11,6 +11,8 @@ import { getSecrets } from '../lib/secrets.js';
11
11
  import { CertsStatusView } from '../ui/views/CertsStatusView.js';
12
12
  import { confirm } from '../utils/prompt.js';
13
13
  import * as out from '../utils/output.js';
14
+ import { enableIpv6, disableIpv6, getIpv6Status } from '../lib/ipv6.js';
15
+ import { getPrefs, savePrefs } from '../lib/prefs.js';
14
16
  function getLoggingLevel() {
15
17
  const { composeFile } = getPaths();
16
18
  if (!existsSync(composeFile))
@@ -19,13 +21,6 @@ function getLoggingLevel() {
19
21
  const match = content.match(/LOGGING_LEVEL=(\w+)/);
20
22
  return match ? match[1] : 'warning';
21
23
  }
22
- function getIpv6Status() {
23
- const { composeFile } = getPaths();
24
- if (!existsSync(composeFile))
25
- return 'unknown';
26
- const content = readFileSync(composeFile, 'utf-8');
27
- return content.includes('EXTERNAL_IP=$DEFAULT_IPV6') ? 'enabled' : 'disabled';
28
- }
29
24
  export function registerConfigCommand(program) {
30
25
  // Logging
31
26
  program
@@ -69,23 +64,22 @@ export function registerConfigCommand(program) {
69
64
  console.log('Usage: ct ipv6 <enable|disable>');
70
65
  return;
71
66
  }
72
- const { composeFile } = getPaths();
73
- let content = readFileSync(composeFile, 'utf-8');
74
67
  if (action === 'enable') {
75
- content = content.replace(/# enable_ipv6: true/g, 'enable_ipv6: true');
76
- content = content.replace(/EXTERNAL_IP=\$DEFAULT_IPV4/g, 'EXTERNAL_IP=$DEFAULT_IPV6');
77
- console.log('IPv6 enabled.');
68
+ await enableIpv6();
69
+ const prefs = getPrefs();
70
+ savePrefs({ ...prefs, ipv6: true });
71
+ console.log('IPv6 enabled (preference saved).');
78
72
  }
79
73
  else if (action === 'disable') {
80
- content = content.replace(/^\s*enable_ipv6: true/gm, ' # enable_ipv6: true');
81
- content = content.replace(/EXTERNAL_IP=\$DEFAULT_IPV6/g, 'EXTERNAL_IP=$DEFAULT_IPV4');
82
- console.log('IPv6 disabled.');
74
+ await disableIpv6();
75
+ const prefs = getPrefs();
76
+ savePrefs({ ...prefs, ipv6: false });
77
+ console.log('IPv6 disabled (preference saved).');
83
78
  }
84
79
  else {
85
80
  out.fail(`Invalid action: ${action}. Use enable or disable.`);
86
81
  return;
87
82
  }
88
- await writeFileSafe(composeFile, content);
89
83
  try {
90
84
  await execa('systemctl', ['restart', 'docker-compose-app.service']);
91
85
  out.ok('Service restarted');
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"offline.d.ts","sourceRoot":"","sources":["../../src/commands/offline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QAoLtD"}
1
+ {"version":3,"file":"offline.d.ts","sourceRoot":"","sources":["../../src/commands/offline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QAiJtD"}
@@ -1,11 +1,8 @@
1
1
  import { render } from 'ink';
2
2
  import React from 'react';
3
- import { execa } from 'execa';
4
- import { existsSync, readFileSync } from 'node:fs';
5
- import { copyFile, mkdir, rm } from 'node:fs/promises';
6
- import { join } from 'node:path';
7
- import { composeUp } from '../lib/compose.js';
8
- import { getPaths } from '../lib/paths.js';
3
+ import { existsSync } from 'node:fs';
4
+ import { runStepsCli } from '../lib/update-steps.js';
5
+ import { fetchSteps, downloadSteps, applySteps, inspectBundle, validateBundle, } from '../lib/offline-steps.js';
9
6
  import * as out from '../utils/output.js';
10
7
  import { OfflineListView } from '../ui/views/OfflineListView.js';
11
8
  export function registerOfflineCommand(program) {
@@ -15,97 +12,43 @@ export function registerOfflineCommand(program) {
15
12
  offline.command('fetch <version>')
16
13
  .description('Download pre-built config bundle from cloud (fast, no Docker images)')
17
14
  .action(async (version) => {
18
- const { gcsBundleBaseUrl } = getPaths();
19
- const bundleFile = `calltelemetry-bundle-${version}.tar.gz`;
20
- const bundleUrl = `${gcsBundleBaseUrl}/${version}/${bundleFile}`;
21
15
  out.header('Fetching Pre-built Bundle');
22
16
  console.log(`Version: ${version}`);
23
17
  console.log();
24
18
  try {
25
- await execa('curl', ['-fL', '--progress-bar', bundleUrl, '-o', bundleFile], {
26
- stdout: 'inherit',
27
- stderr: 'inherit',
28
- });
19
+ await runStepsCli(fetchSteps(version));
29
20
  }
30
21
  catch {
31
- out.errorBox('Failed to download bundle', [
22
+ out.errorBox('Fetch failed', [
32
23
  `Version ${version} may not exist.`,
33
24
  'Check: https://github.com/calltelemetry/calltelemetry/releases',
34
25
  ]);
35
- return;
36
- }
37
- // Verify checksum if available
38
- const checksumUrl = `${bundleUrl}.sha256`;
39
- try {
40
- await execa('curl', ['-sfL', checksumUrl, '-o', `${bundleFile}.sha256`]);
41
- await execa('sha256sum', ['-c', `${bundleFile}.sha256`]);
42
- out.ok('Checksum verified');
43
- await rm(`${bundleFile}.sha256`, { force: true });
44
- }
45
- catch {
46
- out.info('Checksum verification skipped');
26
+ process.exit(1);
47
27
  }
28
+ console.log();
48
29
  out.successBox('Bundle Downloaded');
49
- console.log(`File: ${bundleFile}`);
30
+ console.log(`File: calltelemetry-bundle-${version}.tar.gz`);
50
31
  console.log();
51
- console.log(`To apply: ct offline apply ${bundleFile}`);
32
+ console.log(`To apply: ct offline apply calltelemetry-bundle-${version}.tar.gz`);
52
33
  });
53
34
  offline.command('download <version>')
54
35
  .description('Build full offline bundle with Docker images (slow)')
55
36
  .action(async (version) => {
56
- const { gcsBundleBaseUrl } = getPaths();
57
- const configBundle = `calltelemetry-bundle-${version}.tar.gz`;
58
- const bundleDir = `calltelemetry-offline-${version}`;
59
- const bundleName = `calltelemetry-offline-${version}.tar.gz`;
60
37
  out.header('Creating Offline Bundle (with Docker Images)');
61
38
  console.log(`Version: ${version}`);
62
39
  console.log();
63
- // Download config bundle
64
- console.log('Step 1: Downloading config bundle...');
65
- const bundleUrl = `${gcsBundleBaseUrl}/${version}/${configBundle}`;
66
40
  try {
67
- await execa('curl', ['-fL', '--progress-bar', bundleUrl, '-o', configBundle], {
68
- stdout: 'inherit', stderr: 'inherit',
69
- });
41
+ await runStepsCli(downloadSteps(version));
70
42
  }
71
43
  catch {
72
- out.fail(`Failed to download config bundle for version ${version}`);
73
- return;
74
- }
75
- // Extract
76
- console.log('Step 2: Extracting config bundle...');
77
- await rm(bundleDir, { recursive: true, force: true });
78
- await mkdir(bundleDir, { recursive: true });
79
- await execa('tar', ['-xzf', configBundle, '-C', bundleDir, '--strip-components=1']);
80
- await rm(configBundle, { force: true });
81
- // Pull images
82
- console.log('Step 3: Pulling Docker images...');
83
- const composePath = join(bundleDir, 'docker-compose.yml');
84
- if (!existsSync(composePath)) {
85
- out.fail('docker-compose.yml not found in bundle');
86
- await rm(bundleDir, { recursive: true, force: true });
87
- return;
88
- }
89
- const content = readFileSync(composePath, 'utf-8');
90
- const images = [];
91
- for (const line of content.split('\n')) {
92
- const match = line.match(/image:\s*["']?([^"'\s]+)/);
93
- if (match)
94
- images.push(match[1]);
95
- }
96
- for (const img of images) {
97
- console.log(` Pulling: ${img}`);
98
- await execa('docker', ['pull', img]).catch(() => out.warn(`Failed to pull ${img}`));
44
+ out.errorBox('Download failed', [
45
+ `Failed to build offline bundle for version ${version}.`,
46
+ 'Check network connectivity and Docker status.',
47
+ ]);
48
+ process.exit(1);
99
49
  }
100
- // Save images
101
- console.log('Step 4: Saving Docker images...');
102
- await execa('docker', ['save', ...images, '-o', join(bundleDir, 'images.tar')], {
103
- stdout: 'inherit',
104
- });
105
- // Create final bundle
106
- console.log('Step 5: Creating final bundle archive...');
107
- await execa('tar', ['-czf', bundleName, bundleDir]);
108
- await rm(bundleDir, { recursive: true, force: true });
50
+ const bundleName = `calltelemetry-offline-${version}.tar.gz`;
51
+ console.log();
109
52
  out.successBox('Offline Bundle Created');
110
53
  console.log(`File: ${bundleName}`);
111
54
  console.log();
@@ -117,49 +60,79 @@ export function registerOfflineCommand(program) {
117
60
  .action(async (bundle) => {
118
61
  if (!existsSync(bundle)) {
119
62
  out.fail(`Bundle file not found: ${bundle}`);
120
- return;
63
+ process.exit(1);
121
64
  }
122
- const { installDir, backupDir } = getPaths();
123
65
  out.header('Applying Offline Bundle');
124
66
  console.log(`Bundle: ${bundle}`);
125
- console.log();
126
- const extractDir = `offline-extract-${process.pid}`;
127
- await mkdir(extractDir, { recursive: true });
128
- console.log('Extracting bundle...');
129
- await execa('tar', ['-xzf', bundle, '-C', extractDir, '--strip-components=1']);
130
- // Load Docker images
131
- const imagesFile = join(extractDir, 'images.tar');
132
- if (existsSync(imagesFile)) {
133
- console.log('Loading Docker images...');
134
- await execa('docker', ['load', '-i', imagesFile], { stdout: 'inherit' });
135
- }
136
- // Install configs
137
- console.log('Installing configuration files...');
138
- await mkdir(backupDir, { recursive: true });
139
- const configFiles = ['docker-compose.yml', 'Caddyfile', 'cli.sh', 'nats.conf'];
140
- for (const file of configFiles) {
141
- const src = join(extractDir, file);
142
- if (existsSync(src)) {
143
- const dest = join(installDir, file);
144
- if (existsSync(dest)) {
145
- await copyFile(dest, join(backupDir, `${file}.backup`));
146
- }
147
- await copyFile(src, dest);
148
- console.log(` - ${file}`);
149
- }
67
+ // Pre-apply validation & summary
68
+ const validation = await validateBundle(bundle);
69
+ if (!validation.valid) {
70
+ out.fail(validation.error);
71
+ process.exit(1);
150
72
  }
151
- await rm(extractDir, { recursive: true, force: true });
73
+ const info = await inspectBundle(bundle);
74
+ console.log(`Size: ${info.sizeLabel}`);
75
+ if (info.version)
76
+ console.log(`Version: ${info.version}`);
77
+ console.log(`Configs: ${info.configFiles.join(', ') || 'none'}`);
78
+ console.log(`Images: ${info.hasImages ? `${info.imageNames.length} bundled` : 'none (config-only)'}`);
152
79
  console.log();
153
- console.log('Restarting services...');
154
80
  try {
155
- await execa('systemctl', ['restart', 'docker-compose-app.service']);
81
+ await runStepsCli(applySteps(bundle));
156
82
  }
157
83
  catch {
158
- await composeUp(['-d']);
84
+ out.errorBox('Apply failed', [
85
+ 'Your previous version is still running.',
86
+ 'Check logs with: docker compose logs --tail 50',
87
+ ]);
88
+ process.exit(1);
159
89
  }
90
+ console.log();
160
91
  out.successBox('Offline Bundle Applied');
161
92
  console.log('Check status with: ct status');
162
93
  });
94
+ offline.command('inspect <bundle>')
95
+ .description('Inspect contents of an offline bundle without applying')
96
+ .action(async (bundle) => {
97
+ if (!existsSync(bundle)) {
98
+ out.fail(`Bundle file not found: ${bundle}`);
99
+ process.exit(1);
100
+ }
101
+ const validation = await validateBundle(bundle);
102
+ if (!validation.valid) {
103
+ out.fail(validation.error);
104
+ process.exit(1);
105
+ }
106
+ const info = await inspectBundle(bundle);
107
+ out.header('Bundle Contents');
108
+ console.log(`File: ${bundle}`);
109
+ console.log(`Size: ${info.sizeLabel}`);
110
+ if (info.version)
111
+ console.log(`Version: ${info.version}`);
112
+ console.log();
113
+ console.log('Configuration files:');
114
+ if (info.configFiles.length > 0) {
115
+ for (const f of info.configFiles) {
116
+ console.log(` - ${f}`);
117
+ }
118
+ }
119
+ else {
120
+ console.log(' (none found)');
121
+ }
122
+ console.log();
123
+ console.log('Docker images:');
124
+ if (info.hasImages && info.imageNames.length > 0) {
125
+ for (const img of info.imageNames) {
126
+ console.log(` - ${img}`);
127
+ }
128
+ }
129
+ else if (info.hasImages) {
130
+ console.log(' images.tar present (could not parse image names)');
131
+ }
132
+ else {
133
+ console.log(' (none — config-only bundle)');
134
+ }
135
+ });
163
136
  offline.command('list')
164
137
  .description('List images in current docker-compose.yml')
165
138
  .action(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"offline.js","sourceRoot":"","sources":["../../src/commands/offline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"offline.js","sourceRoot":"","sources":["../../src/commands/offline.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { Command } from 'commander';
2
2
  /**
3
- * Update the CLI itself via npm.
4
- * Can be called standalone or as a pre-step during `ct update`.
3
+ * Registered as `ct self-update`. Delegates to the shared updateCli()
4
+ * with interactive (non-silent) output.
5
5
  */
6
- export declare function selfUpdate(): Promise<void>;
7
6
  export declare function registerSelfUpdateCommand(program: Command): void;
8
7
  //# sourceMappingURL=self-update.d.ts.map
@@ -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,CA4ChD;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;AAGpC;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,QAOzD"}
@@ -1,59 +1,14 @@
1
- import { execa } from 'execa';
2
- import * as out from '../utils/output.js';
1
+ import { updateCli } from '../lib/auto-update.js';
3
2
  /**
4
- * Update the CLI itself via npm.
5
- * Can be called standalone or as a pre-step during `ct update`.
3
+ * Registered as `ct self-update`. Delegates to the shared updateCli()
4
+ * with interactive (non-silent) output.
6
5
  */
7
- export async function selfUpdate() {
8
- console.log('Checking for CLI updates...');
9
- try {
10
- const { stdout: installed } = await execa('npm', ['ls', '-g', '@calltelemetry/cli', '--json']);
11
- const local = JSON.parse(installed)?.dependencies?.['@calltelemetry/cli']?.version;
12
- const { stdout: registryJson } = await execa('npm', ['view', '@calltelemetry/cli', 'version', '--json']);
13
- const latest = JSON.parse(registryJson);
14
- if (local && local === latest) {
15
- out.ok(`CLI is up to date (v${local})`);
16
- return;
17
- }
18
- console.log(`Updating CLI: ${local ?? 'unknown'} → ${latest}...`);
19
- }
20
- catch {
21
- // Can't determine versions — just run the install
22
- console.log('Installing latest CLI...');
23
- }
24
- // Try user-level install first, fallback to sudo
25
- try {
26
- await execa('npm', ['install', '-g', '@calltelemetry/cli'], {
27
- stdout: 'inherit',
28
- stderr: 'inherit',
29
- });
30
- out.ok('CLI updated successfully');
31
- }
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
- }
49
- }
50
- }
51
6
  export function registerSelfUpdateCommand(program) {
52
7
  program
53
8
  .command('self-update')
54
9
  .description('Update the ct CLI tool to the latest version')
55
10
  .action(async () => {
56
- await selfUpdate();
11
+ await updateCli(program.version() ?? '0.0.0');
57
12
  });
58
13
  }
59
14
  //# sourceMappingURL=self-update.js.map
@@ -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,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"}
1
+ {"version":3,"file":"self-update.js","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;GAGG;AACH,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,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAkNrD"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAkJrD"}