@calltelemetry/cli 0.13.12 → 0.13.14

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":"auto-update.d.ts","sourceRoot":"","sources":["../../src/lib/auto-update.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkCD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,UAAU,CAAC,CAsBjE;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,MAAwB,GAAG,MAAM,GAAG,SAAS,CAiB9F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAMlH;AAED,wBAAsB,uBAAuB,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCxF;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmElG;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E"}
1
+ {"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/lib/auto-update.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkCD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,UAAU,CAAC,CAsBjE;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,MAAwB,GAAG,MAAM,GAAG,SAAS,CAiB9F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAMlH;AAED,wBAAsB,uBAAuB,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCxF;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FlG;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E"}
@@ -6,6 +6,7 @@ import { dirname, join } from 'node:path';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  import { getPaths } from './paths.js';
8
8
  import { debug } from './log.js';
9
+ import { recordUpdateDecision } from './update-telemetry.js';
9
10
  import * as out from '../utils/output.js';
10
11
  const PAYLOAD_STAMP_FILE = '.payload-sha256';
11
12
  const DIGEST_PATTERN = /^[0-9a-f]{12,64}$/;
@@ -173,6 +174,7 @@ export async function updateCli(currentVersion, opts = {}) {
173
174
  channelSha = channel.sha256;
174
175
  }
175
176
  catch (err) {
177
+ void recordUpdateDecision('channel_unavailable', { localVersion: currentVersion });
176
178
  if (!silent) {
177
179
  log('Could not check CLI channel; installing from get.calltelemetry.com...');
178
180
  }
@@ -192,6 +194,29 @@ export async function updateCli(currentVersion, opts = {}) {
192
194
  // installs, legacy mirrors), fall back to version-only behavior.
193
195
  const installedSha = opts.installedPayloadSha256 ?? readInstalledPayloadHash();
194
196
  const payloadMatch = payloadHashesMatch(installedSha, channelSha);
197
+ // REC-6 telemetry: record which branch of the hash gate this check took.
198
+ // skip_unknown_digest is the fallback this instrumentation is tracking —
199
+ // once its share shrinks to ~0 the fallback can flip to reinstall.
200
+ if (latest === 'unknown') {
201
+ void recordUpdateDecision('channel_unavailable', {
202
+ localVersion: local, latestVersion: latest, installedSha, channelSha,
203
+ });
204
+ }
205
+ else if (local === latest) {
206
+ const decision = payloadMatch === true
207
+ ? 'skip_hash_match'
208
+ : payloadMatch === false
209
+ ? 'reinstall_digest_mismatch'
210
+ : 'skip_unknown_digest';
211
+ void recordUpdateDecision(decision, {
212
+ localVersion: local, latestVersion: latest, installedSha, channelSha,
213
+ });
214
+ }
215
+ else {
216
+ void recordUpdateDecision('version_bump', {
217
+ localVersion: local, latestVersion: latest, installedSha, channelSha,
218
+ });
219
+ }
195
220
  if (latest !== 'unknown' && local === latest && payloadMatch !== false) {
196
221
  logOk(`CLI is up to date (v${local}${payloadMatch ? `, payload ${channelSha?.slice(0, 12)}` : ''})`);
197
222
  return;
@@ -208,6 +233,9 @@ export async function updateCli(currentVersion, opts = {}) {
208
233
  return;
209
234
  }
210
235
  catch (err) {
236
+ void recordUpdateDecision('install_failed', {
237
+ localVersion: local, latestVersion: latest, installedSha, channelSha,
238
+ });
211
239
  const manualUrl = installerUrl ?? `https://get.calltelemetry.com/releases/ct-cli/install-${latest}.sh`;
212
240
  logWarn(`CLI self-update failed. You can update manually: curl -fsSL ${manualUrl} | sudo sh`);
213
241
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../src/lib/auto-update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../../src/lib/auto-update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../src/lib/channels.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAUD,kFAAkF;AAClF,eAAO,MAAM,eAAe,QAAsB,CAAC;AAEnD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAQtE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAOzE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,YAAY,UAAO,GAAG,MAAM,CAsBzF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,YAAY,UAAO,GAAG,MAAM,EAAE,CAItF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAe/E;AAED,wBAAsB,gBAAgB,CAAC,YAAY,UAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO7E;AAED,4DAA4D;AAC5D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAQ7F"}
1
+ {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../src/lib/channels.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAUD,kFAAkF;AAClF,eAAO,MAAM,eAAe,QAAsB,CAAC;AAEnD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAQtE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAOzE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,YAAY,UAAO,GAAG,MAAM,CAoCzF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,YAAY,UAAO,GAAG,MAAM,EAAE,CAItF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAe/E;AAED,wBAAsB,gBAAgB,CAAC,YAAY,UAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO7E;AAED,4DAA4D;AAC5D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAQ7F"}
@@ -40,13 +40,26 @@ export function formatChannelList(channels, customerOnly = true) {
40
40
  return 'No channels listed in appliance-catalog.json.\n';
41
41
  }
42
42
  const lines = [
43
- `${'CHANNEL'.padEnd(16)} ${'TRAIN'.padEnd(10)} ${'KIND'.padEnd(14)} ${'TIP'.padEnd(22)} BUILDS`,
43
+ `${'CHANNEL'.padEnd(16)} ${'TRAIN'.padEnd(10)} ${'KIND'.padEnd(14)} ${'RELEASE'.padEnd(18)} ${'APPLIANCE'.padEnd(12)} BUILDS`,
44
44
  ];
45
+ const bundleOnly = [];
45
46
  for (const c of rows) {
46
47
  const kind = c.variant ? `variant/${c.variant}` : 'mainline';
47
- const tip = c.tip || c.tip_marker || '—';
48
+ // RELEASE is the channel pin (what `ct update <channel>` follows);
49
+ // APPLIANCE is the newest downloadable OVA/QCOW2. They differ for a
50
+ // bundle-only release, whose marker names a version with no appliance.
51
+ const release = c.tip_marker || c.tip || '—';
52
+ const appliance = c.tip && c.tip !== release ? c.tip : '—';
53
+ if (c.tip_marker && c.tip && c.tip !== c.tip_marker)
54
+ bundleOnly.push(c);
48
55
  const builds = Array.isArray(c.versions) ? c.versions.length : 0;
49
- lines.push(`${(c.name || '—').padEnd(16)} ${(c.train || '—').padEnd(10)} ${kind.padEnd(14)} ${String(tip).padEnd(22)} ${builds}`);
56
+ lines.push(`${(c.name || '—').padEnd(16)} ${(c.train || '—').padEnd(10)} ${kind.padEnd(14)} ${String(release).padEnd(18)} ${String(appliance).padEnd(12)} ${builds}`);
57
+ }
58
+ if (bundleOnly.length) {
59
+ lines.push('');
60
+ for (const c of bundleOnly) {
61
+ lines.push(`${c.name}: release ${c.tip_marker} ships as a bundle (no appliance image); appliance download remains ${c.tip}.`);
62
+ }
50
63
  }
51
64
  lines.push('');
52
65
  lines.push('Update: ct update --channel <name> (reads latest-<name>.txt)');
@@ -1 +1 @@
1
- {"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/lib/channels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/lib/channels.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { type PostgresPerformance } from './postgres-performance.js';
4
4
  import { type AppHealthDetail } from './rpc.js';
5
5
  import { type ServiceInfo } from './services.js';
6
6
  import { type SystemMetrics } from './system.js';
7
+ import { type CliUpdateDecisionRecord } from './update-telemetry.js';
7
8
  export type HealthReportStatus = 'ok' | 'warn' | 'fail' | 'unavailable' | 'skipped';
8
9
  export type HealthReportOverallStatus = 'ok' | 'warn' | 'fail';
9
10
  export interface HealthReportFinding {
@@ -72,8 +73,16 @@ export interface HealthReport {
72
73
  gateway: string | null;
73
74
  interfaces: ReturnType<typeof getNetworkInterfaceList>;
74
75
  }>;
76
+ cliUpdate: HealthReportSection<CliUpdateTelemetryData | null>;
75
77
  };
76
78
  }
79
+ export interface CliUpdateTelemetryData {
80
+ decisions: number;
81
+ stamped: number;
82
+ unstamped: number;
83
+ coverage: number | null;
84
+ recent: Array<Pick<CliUpdateDecisionRecord, 'ts' | 'decision'>>;
85
+ }
77
86
  export interface BuildHealthReportOptions {
78
87
  includeDiskBenchmark?: boolean;
79
88
  diskBenchmark?: {
@@ -1 +1 @@
1
- {"version":3,"file":"health-report.d.ts","sourceRoot":"","sources":["../../src/lib/health-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health-report.d.ts","sourceRoot":"","sources":["../../src/lib/health-report.ts"],"names":[],"mappings":"AASA,OAAO,EAML,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAqB,eAAe,EAAqB,MAAM,cAAc,CAAC;AAE9G,OAAO,EAAsD,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEzH,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAmD,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;AACpF,MAAM,MAAM,yBAAyB,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB,CAAC,KAAK,GAAG,OAAO;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,yBAAyB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,CAAC,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACP,oBAAoB,EAAE,OAAO,CAAC;KAC/B,CAAC;IACF,OAAO,EAAE,mBAAmB,CAAC;IAC7B,QAAQ,EAAE;QACR,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC3C,SAAS,EAAE,mBAAmB,CAAC,eAAe,EAAE,CAAC,CAAC;QAClD,aAAa,EAAE,mBAAmB,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;QACjE,UAAU,EAAE,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/C,SAAS,EAAE,mBAAmB,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;QACvD,QAAQ,EAAE,mBAAmB,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;QACzD,mBAAmB,EAAE,mBAAmB,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;QACrE,OAAO,EAAE,mBAAmB,CAAC;YAC3B,QAAQ,EAAE,MAAM,CAAC;YACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB,UAAU,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;SACxD,CAAC,CAAC;QACH,SAAS,EAAE,mBAAmB,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;KAC/D,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,wBAAwB;IACvC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAgcD,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,YAAY,CAAC,CAsDrG;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA4BnE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAExE;AAED,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,SAAsC,GAAG,OAAO,CAAC,MAAM,CAAC,CAI7H;AAED,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI/F"}
@@ -15,6 +15,7 @@ import { redactSecrets } from './redact.js';
15
15
  import { getAppHealth } from './rpc.js';
16
16
  import { getServiceListSafe } from './services.js';
17
17
  import { formatBytes, getDockerVersion, getSystemMetrics } from './system.js';
18
+ import { readUpdateDecisions, summarizeStampCoverage, } from './update-telemetry.js';
18
19
  const HEALTH_DISK_RUNTIME_SEC = 1;
19
20
  const HEALTH_DISK_SAMPLE_COUNT = 3;
20
21
  const RANK = {
@@ -309,11 +310,50 @@ function summarize(sections) {
309
310
  recommendations,
310
311
  };
311
312
  }
313
+ /**
314
+ * REC-6: payload-stamp coverage of the CLI self-update hash gate. The
315
+ * "equal version + unknown digest → skip" fallback can only be flipped to
316
+ * "reinstall" once this coverage is known to sit near 100%.
317
+ */
318
+ async function collectCliUpdateSection() {
319
+ return timedSection('cliUpdate', 'CLI Update Telemetry', async () => {
320
+ const records = await readUpdateDecisions();
321
+ const coverageSummary = summarizeStampCoverage(records);
322
+ const data = {
323
+ decisions: coverageSummary.decisions,
324
+ stamped: coverageSummary.stamped,
325
+ unstamped: coverageSummary.unstamped,
326
+ coverage: coverageSummary.coverage,
327
+ recent: records.slice(-5).map((r) => ({ ts: r.ts, decision: r.decision })),
328
+ };
329
+ const findings = [];
330
+ if (records.length === 0) {
331
+ findings.push({
332
+ status: 'skipped',
333
+ label: 'Update decisions',
334
+ detail: 'no CLI auto-update decisions recorded yet (~/.ct/cli-update-decisions.jsonl)',
335
+ });
336
+ return { findings, data };
337
+ }
338
+ const coverageText = coverageSummary.coverage === null
339
+ ? 'no equal-version checks yet'
340
+ : `${Math.round(coverageSummary.coverage * 100)}%`;
341
+ findings.push({
342
+ status: 'ok',
343
+ label: 'Payload-stamp coverage',
344
+ detail: `${coverageText} (stamped ${coverageSummary.stamped}/${coverageSummary.decisions} equal-version update checks)`,
345
+ recommendation: coverageSummary.unstamped > 0
346
+ ? `${coverageSummary.unstamped} equal-version update check(s) had no payload stamp (npm/legacy installs). Stamps self-heal on the next version bump; run the TUI self-update reinstall to stamp immediately.`
347
+ : undefined,
348
+ });
349
+ return { findings, data };
350
+ });
351
+ }
312
352
  export async function buildHealthReport(options = {}) {
313
353
  const paths = getPaths();
314
354
  const generatedAt = options.generatedAt ?? new Date().toISOString();
315
355
  const reportId = options.reportId ?? `health-${generatedAt.replace(/[^0-9]/g, '').slice(0, 14)}-${randomUUID().slice(0, 8)}`;
316
- const [system, diskUsage, diskBenchmark, containers, appHealth, database, postgresPerformance, network,] = await Promise.all([
356
+ const [system, diskUsage, diskBenchmark, containers, appHealth, database, postgresPerformance, network, cliUpdate,] = await Promise.all([
317
357
  collectSystemSection(),
318
358
  collectDiskUsageSection(),
319
359
  collectDiskBenchmarkSection(options),
@@ -322,6 +362,7 @@ export async function buildHealthReport(options = {}) {
322
362
  collectDatabaseSection(),
323
363
  collectPostgresPerformanceSection(),
324
364
  collectNetworkSection(),
365
+ collectCliUpdateSection(),
325
366
  ]);
326
367
  const sections = {
327
368
  system,
@@ -332,6 +373,7 @@ export async function buildHealthReport(options = {}) {
332
373
  database,
333
374
  postgresPerformance,
334
375
  network,
376
+ cliUpdate,
335
377
  };
336
378
  return {
337
379
  schemaVersion: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"health-report.js","sourceRoot":"","sources":["../../src/lib/health-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health-report.js","sourceRoot":"","sources":["../../src/lib/health-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export type CliUpdateDecision = 'skip_hash_match' | 'skip_unknown_digest' | 'reinstall_digest_mismatch' | 'version_bump' | 'channel_unavailable' | 'install_failed';
2
+ export interface CliUpdateDecisionVersions {
3
+ localVersion?: string | null;
4
+ latestVersion?: string | null;
5
+ installedSha?: string | null;
6
+ channelSha?: string | null;
7
+ }
8
+ export interface CliUpdateDecisionRecord {
9
+ ts: string;
10
+ event: 'cli_update_decision';
11
+ decision: CliUpdateDecision;
12
+ localVersion: string | null;
13
+ latestVersion: string | null;
14
+ installedShaPrefix: string | null;
15
+ channelShaPrefix: string | null;
16
+ }
17
+ export declare function updateTelemetryPath(env?: NodeJS.ProcessEnv): string;
18
+ /** Best-effort JSONL append. Never throws — telemetry must not break updates. */
19
+ export declare function recordUpdateDecision(decision: CliUpdateDecision, versions?: CliUpdateDecisionVersions, opts?: {
20
+ path?: string;
21
+ now?: () => string;
22
+ }): Promise<void>;
23
+ /** Tolerant JSONL reader — skips blank and malformed lines. */
24
+ export declare function readUpdateDecisions(path?: string): Promise<CliUpdateDecisionRecord[]>;
25
+ export interface StampCoverage {
26
+ /** Equal-version decisions that reached the hash-gate branch. */
27
+ decisions: number;
28
+ /** Of those, how many carried an installed payload stamp. */
29
+ stamped: number;
30
+ /** Of those, how many fell back with an unknown installed digest. */
31
+ unstamped: number;
32
+ /** stamped/decisions in 0..1, or null when no equal-version check yet. */
33
+ coverage: number | null;
34
+ }
35
+ /**
36
+ * Coverage of the payload-hash gate: of the auto-update checks that reached
37
+ * the equal-version path, how many had a known installed payload stamp? When
38
+ * coverage sits near 1.0, the "unknown digest → skip" fallback can be flipped
39
+ * to "reinstall" so same-version payload corruption is also caught.
40
+ */
41
+ export declare function summarizeStampCoverage(records: readonly CliUpdateDecisionRecord[]): StampCoverage;
42
+ //# sourceMappingURL=update-telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-telemetry.d.ts","sourceRoot":"","sources":["../../src/lib/update-telemetry.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,qBAAqB,GACrB,2BAA2B,GAC3B,cAAc,GACd,qBAAqB,GACrB,gBAAgB,CAAC;AAErB,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAIhF;AAQD,iFAAiF;AACjF,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,GAAE,yBAA8B,EACxC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAO,GAC/C,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,+DAA+D;AAC/D,wBAAsB,mBAAmB,CACvC,IAAI,GAAE,MAA8B,GACnC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CA0BpC;AAED,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAQD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAAG,aAAa,CAgBjG"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * CLI self-update decision telemetry (REC-6: hash-gate tightening).
3
+ *
4
+ * The payload-hash gate (update.ts) skips the download only when BOTH the
5
+ * version and the payload digest match. When the installed digest is unknown
6
+ * (npm installs, legacy mirrors, pre-stamp installs) the gate deliberately
7
+ * falls back to version-only behavior. To one day flip that fallback to
8
+ * "reinstall", we need to know how often installs carry a payload stamp —
9
+ * this module records every auto-update decision as one JSONL line under
10
+ * `~/.ct/cli-update-decisions.jsonl` and summarizes the equal-version paths
11
+ * into a stamp-coverage figure for the health report.
12
+ *
13
+ * Everything here is best-effort: a read-only state directory or a malformed
14
+ * line must never break the update flow.
15
+ */
16
+ import { appendFile, mkdir, readFile } from 'node:fs/promises';
17
+ import { homedir } from 'node:os';
18
+ import { dirname, join } from 'node:path';
19
+ export function updateTelemetryPath(env = process.env) {
20
+ const override = env.CT_CLI_UPDATE_TELEMETRY_PATH?.trim();
21
+ if (override)
22
+ return override;
23
+ return join(homedir(), '.ct', 'cli-update-decisions.jsonl');
24
+ }
25
+ const SHA_PREFIX_LEN = 12;
26
+ function shaPrefix(sha) {
27
+ return sha ? sha.slice(0, SHA_PREFIX_LEN) : null;
28
+ }
29
+ /** Best-effort JSONL append. Never throws — telemetry must not break updates. */
30
+ export async function recordUpdateDecision(decision, versions = {}, opts = {}) {
31
+ const path = opts.path ?? updateTelemetryPath();
32
+ const record = {
33
+ ts: opts.now ? opts.now() : new Date().toISOString(),
34
+ event: 'cli_update_decision',
35
+ decision,
36
+ localVersion: versions.localVersion ?? null,
37
+ latestVersion: versions.latestVersion ?? null,
38
+ installedShaPrefix: shaPrefix(versions.installedSha),
39
+ channelShaPrefix: shaPrefix(versions.channelSha),
40
+ };
41
+ try {
42
+ await mkdir(dirname(path), { recursive: true });
43
+ await appendFile(path, `${JSON.stringify(record)}\n`, 'utf-8');
44
+ }
45
+ catch {
46
+ // Telemetry is advisory; a read-only or missing state dir must never
47
+ // break the update flow.
48
+ }
49
+ }
50
+ /** Tolerant JSONL reader — skips blank and malformed lines. */
51
+ export async function readUpdateDecisions(path = updateTelemetryPath()) {
52
+ let raw;
53
+ try {
54
+ raw = await readFile(path, 'utf-8');
55
+ }
56
+ catch {
57
+ return [];
58
+ }
59
+ const records = [];
60
+ for (const line of raw.split('\n')) {
61
+ const trimmed = line.trim();
62
+ if (!trimmed)
63
+ continue;
64
+ try {
65
+ const parsed = JSON.parse(trimmed);
66
+ if (parsed !== null &&
67
+ typeof parsed === 'object' &&
68
+ parsed.event === 'cli_update_decision' &&
69
+ typeof parsed.decision === 'string') {
70
+ records.push(parsed);
71
+ }
72
+ }
73
+ catch {
74
+ // Partial write or truncation — skip the line.
75
+ }
76
+ }
77
+ return records;
78
+ }
79
+ const COVERAGE_DECISIONS = new Set([
80
+ 'skip_hash_match',
81
+ 'skip_unknown_digest',
82
+ 'reinstall_digest_mismatch',
83
+ ]);
84
+ /**
85
+ * Coverage of the payload-hash gate: of the auto-update checks that reached
86
+ * the equal-version path, how many had a known installed payload stamp? When
87
+ * coverage sits near 1.0, the "unknown digest → skip" fallback can be flipped
88
+ * to "reinstall" so same-version payload corruption is also caught.
89
+ */
90
+ export function summarizeStampCoverage(records) {
91
+ const equalVersion = records.filter((r) => COVERAGE_DECISIONS.has(r.decision) &&
92
+ r.localVersion != null &&
93
+ r.latestVersion != null &&
94
+ r.localVersion === r.latestVersion);
95
+ const stamped = equalVersion.filter((r) => r.installedShaPrefix != null).length;
96
+ const unstamped = equalVersion.length - stamped;
97
+ return {
98
+ decisions: equalVersion.length,
99
+ stamped,
100
+ unstamped,
101
+ coverage: equalVersion.length ? stamped / equalVersion.length : null,
102
+ };
103
+ }
104
+ //# sourceMappingURL=update-telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-telemetry.js","sourceRoot":"","sources":["../../src/lib/update-telemetry.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.13.12";
2
+ export declare const VERSION = "0.13.14";
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.13.12';
2
+ export const VERSION = '0.13.14';
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calltelemetry/cli",
3
- "version": "0.13.12",
3
+ "version": "0.13.14",
4
4
  "description": "Call Telemetry appliance management CLI",
5
5
  "type": "module",
6
6
  "bin": {