@calltelemetry/cli 0.11.1 → 0.12.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.
@@ -0,0 +1,8 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * `ct cube` — CUBE/XCC diagnostics.
4
+ *
5
+ * Pure async command path (no React/Ink imports) so the CLI stays fast.
6
+ */
7
+ export declare function registerCubeCommand(program: Command): void;
8
+ //# sourceMappingURL=cube.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cube.d.ts","sourceRoot":"","sources":["../../src/commands/cube.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QAqCnD"}
@@ -0,0 +1,47 @@
1
+ import { collectCubeDiag } from '../lib/cube-diag.js';
2
+ import { parseNonNegativeSecs } from '../utils/parseSecs.js';
3
+ import * as out from '../utils/output.js';
4
+ /**
5
+ * `ct cube` — CUBE/XCC diagnostics.
6
+ *
7
+ * Pure async command path (no React/Ink imports) so the CLI stays fast.
8
+ */
9
+ export function registerCubeCommand(program) {
10
+ const cube = program
11
+ .command('cube')
12
+ .description('CUBE diagnostics');
13
+ cube.command('diag')
14
+ .description('Collect a read-only cube DB + NATS + logs bundle (stuck REGISTERED triage)')
15
+ .option('--output <path>', 'Write the bundle to this path instead of ./cube-diag-<ISO>.log')
16
+ .option('--capture <secs>', 'Live-capture cube.> and alarms.> NATS subjects for N seconds', '0')
17
+ .option('--monitor <secs>', 'RPC-poll each cube state/interval every ~5s for N seconds', '0')
18
+ .action(async (opts) => {
19
+ // Strict parse FIRST — a junk `--capture`/`--monitor` must fail loudly, not
20
+ // silently coerce to 0 and look like a successful run that skipped capture.
21
+ let captureSecs;
22
+ let monitorSecs;
23
+ try {
24
+ captureSecs = parseNonNegativeSecs(opts.capture, '--capture');
25
+ monitorSecs = parseNonNegativeSecs(opts.monitor, '--monitor');
26
+ }
27
+ catch (err) {
28
+ out.fail(err instanceof Error ? err.message : String(err));
29
+ process.exitCode = 1;
30
+ return;
31
+ }
32
+ out.info('Collecting cube diagnostics (read-only)...');
33
+ try {
34
+ const path = await collectCubeDiag({
35
+ outputPath: opts.output,
36
+ captureSecs,
37
+ monitorSecs,
38
+ });
39
+ out.ok(`Cube diagnostic bundle written to ${path}`);
40
+ }
41
+ catch (err) {
42
+ const message = err instanceof Error ? err.message : String(err);
43
+ out.fail(`Cube diagnostics failed: ${message}`);
44
+ }
45
+ });
46
+ }
47
+ //# sourceMappingURL=cube.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cube.js","sourceRoot":"","sources":["../../src/commands/cube.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAE1C;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAEnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;SACjB,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,iBAAiB,EAAE,gEAAgE,CAAC;SAC3F,MAAM,CAAC,kBAAkB,EAAE,8DAA8D,EAAE,GAAG,CAAC;SAC/F,MAAM,CAAC,kBAAkB,EAAE,2DAA2D,EAAE,GAAG,CAAC;SAC5F,MAAM,CAAC,KAAK,EAAE,IAA6D,EAAE,EAAE;QAC9E,4EAA4E;QAC5E,4EAA4E;QAC5E,IAAI,WAAmB,CAAC;QACxB,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YACH,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC9D,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC;gBACjC,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,WAAW;gBACX,WAAW;aACZ,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerProxyCommand(program: Command): void;
3
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/commands/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+CpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8E3D"}
@@ -0,0 +1,94 @@
1
+ import { execa } from 'execa';
2
+ import { PROXY_ENV_KEYS, clearProxySettings, displayProxyValue, getProxySettings, setProxySettings, } from '../lib/proxy.js';
3
+ import * as out from '../utils/output.js';
4
+ function printProxySettings(title) {
5
+ console.log(title);
6
+ console.log('='.repeat(title.length));
7
+ const settings = getProxySettings();
8
+ for (const key of PROXY_ENV_KEYS) {
9
+ console.log(` ${key.padEnd(18)} ${displayProxyValue(key, settings[key])}`);
10
+ }
11
+ }
12
+ async function restartIfRequested(restart) {
13
+ if (!restart) {
14
+ console.log('Restart services to apply app-container environment: ct restart');
15
+ return;
16
+ }
17
+ await execa('systemctl', ['restart', 'docker-compose-app.service'], { stdout: 'inherit', stderr: 'inherit' });
18
+ out.ok('Services restarted.');
19
+ }
20
+ export function registerProxyCommand(program) {
21
+ const proxy = program
22
+ .command('proxy')
23
+ .description('Show or set appliance app egress proxy settings')
24
+ .action(() => {
25
+ printProxySettings('Appliance proxy configuration');
26
+ console.log();
27
+ console.log('Docker compose isolation: enabled');
28
+ console.log("Proxy settings here are written to .env for application egress; they are not written to Docker's compose client config.");
29
+ });
30
+ proxy
31
+ .command('show')
32
+ .alias('status')
33
+ .description('Show appliance app egress proxy settings')
34
+ .action(() => {
35
+ printProxySettings('Appliance proxy configuration');
36
+ console.log();
37
+ console.log('Docker compose isolation: enabled');
38
+ console.log("Proxy settings here are written to .env for application egress; they are not written to Docker's compose client config.");
39
+ });
40
+ proxy
41
+ .command('set')
42
+ .description('Set HTTP(S), no-proxy, and authentication proxy settings')
43
+ .option('--url <url>', 'Set both HTTP_PROXY and HTTPS_PROXY')
44
+ .option('--proxy-url <url>', 'Set both HTTP_PROXY and HTTPS_PROXY')
45
+ .option('--http <url>', 'Set HTTP_PROXY')
46
+ .option('--http-proxy <url>', 'Set HTTP_PROXY')
47
+ .option('--https <url>', 'Set HTTPS_PROXY')
48
+ .option('--https-proxy <url>', 'Set HTTPS_PROXY')
49
+ .option('--no-proxy <list>', 'Set NO_PROXY')
50
+ .option('--no_proxy <list>', 'Set NO_PROXY')
51
+ .option('--username <user>', 'Set proxy username')
52
+ .option('--user <user>', 'Set proxy username')
53
+ .option('--password <password>', 'Set proxy password')
54
+ .option('--bearer-token <token>', 'Set proxy bearer token')
55
+ .option('--basic-token <token>', 'Set proxy basic token')
56
+ .option('--restart', 'Restart docker-compose-app.service after writing settings')
57
+ .action(async (opts) => {
58
+ const sharedUrl = opts.url ?? opts.proxyUrl;
59
+ const settings = {};
60
+ if (sharedUrl !== undefined) {
61
+ settings.http = sharedUrl;
62
+ settings.https = sharedUrl;
63
+ }
64
+ settings.http = opts.http ?? opts.httpProxy ?? settings.http;
65
+ settings.https = opts.https ?? opts.httpsProxy ?? settings.https;
66
+ settings.noProxy = opts.noProxy ?? opts.no_proxy;
67
+ settings.username = opts.username ?? opts.user;
68
+ settings.password = opts.password;
69
+ settings.bearerToken = opts.bearerToken;
70
+ settings.basicToken = opts.basicToken;
71
+ await setProxySettings(settings);
72
+ out.ok('Proxy settings updated.');
73
+ console.log('Docker compose proxy isolation remains enabled; compose/client Docker config was not given proxy settings.');
74
+ await restartIfRequested(opts.restart);
75
+ });
76
+ proxy
77
+ .command('clear')
78
+ .alias('disable')
79
+ .description('Clear appliance app egress proxy settings')
80
+ .option('--restart', 'Restart docker-compose-app.service after clearing settings')
81
+ .action(async (opts) => {
82
+ await clearProxySettings();
83
+ out.ok('Proxy settings cleared.');
84
+ console.log('Docker compose proxy isolation remains enabled.');
85
+ await restartIfRequested(opts.restart);
86
+ });
87
+ proxy
88
+ .command('test-env')
89
+ .description('Show rendered app-container proxy environment')
90
+ .action(() => {
91
+ printProxySettings('Rendered proxy environment for app containers');
92
+ });
93
+ }
94
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/commands/proxy.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ import { registerDockerCommand } from './commands/docker.js';
11
11
  import { registerOfflineCommand } from './commands/offline.js';
12
12
  import { registerDiagCommand } from './commands/diag.js';
13
13
  import { registerJtapiCommand } from './commands/jtapi.js';
14
+ import { registerCubeCommand } from './commands/cube.js';
14
15
  import { registerStorageCommand } from './commands/storage.js';
15
16
  import { registerOtelCommand } from './commands/otel.js';
16
17
  import { registerSyslogCommand } from './commands/syslog.js';
@@ -25,6 +26,7 @@ import { registerNetworkCommand } from './commands/network.js';
25
26
  import { registerShellCommand } from './commands/shell.js';
26
27
  import { registerApplianceCommand } from './commands/appliance.js';
27
28
  import { registerSeedCommand } from './commands/seed.js';
29
+ import { registerProxyCommand } from './commands/proxy.js';
28
30
  import { LOGO } from './lib/brand.js';
29
31
  import { setVerbose, setGlobalLevel } from './lib/log.js';
30
32
  import { loadPrefs } from './lib/prefs.js';
@@ -64,6 +66,7 @@ registerDockerCommand(program);
64
66
  registerOfflineCommand(program);
65
67
  registerDiagCommand(program);
66
68
  registerJtapiCommand(program);
69
+ registerCubeCommand(program);
67
70
  registerStorageCommand(program);
68
71
  registerOtelCommand(program);
69
72
  registerSyslogCommand(program);
@@ -78,6 +81,7 @@ registerNetworkCommand(program);
78
81
  registerShellCommand(program);
79
82
  registerApplianceCommand(program);
80
83
  registerSeedCommand(program);
84
+ registerProxyCommand(program);
81
85
  program
82
86
  .command('version')
83
87
  .description('Print CLI version')
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,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,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,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClF,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,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,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,MAAM,CAAC,SAAS,EAAE,4BAA4B,CAAC;KAC/C,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE;IACxC,wCAAwC;IACxC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK;QAAE,cAAc,CAAC,OAAO,CAAC,CAAC;SAC7C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO;QAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO;IAC3C,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,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,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,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,yBAAyB,CAAC,OAAO,CAAC,CAAC;AACnC,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEL,+DAA+D;AAC/D,gFAAgF;AAChF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AAE1C,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACxC,oCAAoC;IACpC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,0EAA0E;IAC1E,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAC/E,MAAM,oBAAoB,EAAE,CAAC;IAC/B,CAAC;SAAM,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACxB,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QACnF,MAAM,wBAAwB,EAAE,CAAC;IACnC,CAAC;IAED,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;QAC5D,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;QAC3E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAE3E,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CACvC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,EACrC,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,EACvC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC5B,OAAO,EAAE,OAAO;YAChB,QAAQ;YACR,YAAY,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;gBACtC,OAAO,EAAE,CAAC;gBAEV,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBACxB,gEAAgE;oBAChE,0EAA0E;oBAC1E,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC5C,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;oBACxE,IAAI,CAAC;wBACH,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC3E,CAAC;oBAAC,MAAM,CAAC;wBACP,uBAAuB;oBACzB,CAAC;oBACD,gBAAgB;oBAChB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;oBAC1D,MAAM,SAAS,EAAE,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,wDAAwD;oBACxD,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,EAAE,CAAC;YACZ,CAAC;SACF,CAAC,CACH,CACF,CACF,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,26 @@
1
+ /**
2
+ * Read-only collector for the "CUBE stuck in REGISTERED, never ONLINE" bug class.
3
+ *
4
+ * Builds one text bundle from three sources — Postgres, NATS KV/streams, and
5
+ * container logs — redacts it, and writes it to a single .log file. Each section
6
+ * is best-effort: a failure in one section is captured inline and never aborts
7
+ * the rest of the collection. Pure async — no React/Ink imports.
8
+ *
9
+ * The registered -> online transition requires a healthy SolicitXccProbing
10
+ * keepalive; this bundle surfaces the DB state, NATS KV view, and the log lines
11
+ * that explain why that keepalive never lands.
12
+ */
13
+ /**
14
+ * Collect the full cube-diag bundle and write it to a single .log file.
15
+ *
16
+ * @param opts.outputPath Target log path. Defaults to ./cube-diag-<ISO>.log.
17
+ * @param opts.captureSecs Seconds to live-capture cube.> / alarms.> subjects (0 = skip).
18
+ * @param opts.monitorSecs Seconds to RPC-poll each cube's state/interval ~every 5s (0 = skip).
19
+ * @returns the path the bundle was written to.
20
+ */
21
+ export declare function collectCubeDiag(opts?: {
22
+ outputPath?: string;
23
+ captureSecs?: number;
24
+ monitorSecs?: number;
25
+ }): Promise<string>;
26
+ //# sourceMappingURL=cube-diag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cube-diag.d.ts","sourceRoot":"","sources":["../../src/lib/cube-diag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAuPH;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgJjI"}
@@ -0,0 +1,336 @@
1
+ /**
2
+ * Read-only collector for the "CUBE stuck in REGISTERED, never ONLINE" bug class.
3
+ *
4
+ * Builds one text bundle from three sources — Postgres, NATS KV/streams, and
5
+ * container logs — redacts it, and writes it to a single .log file. Each section
6
+ * is best-effort: a failure in one section is captured inline and never aborts
7
+ * the rest of the collection. Pure async — no React/Ink imports.
8
+ *
9
+ * The registered -> online transition requires a healthy SolicitXccProbing
10
+ * keepalive; this bundle surfaces the DB state, NATS KV view, and the log lines
11
+ * that explain why that keepalive never lands.
12
+ */
13
+ import { writeFile, chmod } from 'node:fs/promises';
14
+ import { compose, composeExec, composePs } from './compose.js';
15
+ import { exec } from './exec.js';
16
+ import { rpc } from './rpc.js';
17
+ import { redactSecrets } from './redact.js';
18
+ import { DB_USER, DB_NAME, PG_ENV } from './db.js';
19
+ import { getPaths } from './paths.js';
20
+ import { debug } from './log.js';
21
+ const NATS_BOX_IMAGE = 'natsio/nats-box:0.14.5';
22
+ const NATS_URL = 'nats://nats:4222';
23
+ const DEFAULT_TIMEOUT = 10_000;
24
+ const RPC_TIMEOUT = 25_000;
25
+ /** Sleep helper for the heartbeat-trace loop. */
26
+ function sleep(ms) {
27
+ return new Promise(resolve => setTimeout(resolve, ms));
28
+ }
29
+ /**
30
+ * Run a cube-diag RPC bounded by RPC_TIMEOUT. The budget is passed INTO `rpc()`
31
+ * (→ composeExec → execa `timeout`), so a wedged `docker compose exec` child is
32
+ * actually KILLED rather than abandoned by a Promise.race that leaves it alive.
33
+ */
34
+ function rpcBounded(code) {
35
+ return rpc(code, RPC_TIMEOUT);
36
+ }
37
+ /**
38
+ * Elixir snapshot run via `onprem rpc` inside the web container. For every
39
+ * xcc-enabled cube it decodes the live cube_status KV and runs the SAME read
40
+ * path the product uses (ConnectionHealthState.derive_from_kv/3), then flags the
41
+ * probe-interval pathologies engineering looks for:
42
+ * CORRUPT_KV — observed_interval_ms set but last_event_at nil (won't relearn)
43
+ * MANUAL!=OBSERVED — configured interval differs from the learned one
44
+ * DB_OBS!=KV_OBS — the DB mirror and the live KV disagree on the cadence
45
+ *
46
+ * NOTE: this is a backtick template literal but contains NO `${...}` JS
47
+ * interpolation — only Elixir `#{...}`, which JS leaves untouched. Do not add a
48
+ * `${` anywhere in this string.
49
+ */
50
+ const CUBE_DIAG_RPC_SNAPSHOT = `import Ecto.Query
51
+ now = DateTime.utc_now()
52
+ alias Cdrcisco.Cubes.{Cube, ConnectionStateKV, ConnectionHealthState}
53
+ cubes = Cdrcisco.Repo.all(from c in Cube, where: c.xcc_enabled == true, order_by: c.id)
54
+ if cubes == [], do: IO.puts("(no xcc-enabled cubes)")
55
+ Enum.each(cubes, fn c ->
56
+ out =
57
+ try do
58
+ raw = Cdrcisco.Liveness.KV.get("cube_status", "cube:#{c.id}:status")
59
+ dec =
60
+ case raw && ConnectionStateKV.decode(raw) do
61
+ {:ok, d} -> d
62
+ _ -> nil
63
+ end
64
+ row = ConnectionHealthState.derive_from_kv(c, dec, now)
65
+ kv_ms = dec && dec.observed_interval_ms
66
+ kv_le = dec && dec.last_event_at
67
+ kv_obs_s = (is_integer(kv_ms) and kv_ms > 0) && div(kv_ms, 1000) || nil
68
+ manual = c.xcc_provider_probing_interval
69
+ db_obs = c.xcc_observed_probing_interval
70
+ corrupt = is_integer(kv_ms) and kv_ms > 0 and is_nil(kv_le)
71
+ mism = is_integer(manual) and is_integer(db_obs) and manual != db_obs
72
+ div_obs = is_integer(db_obs) and is_integer(kv_obs_s) and db_obs != kv_obs_s
73
+ flags = []
74
+ flags = if corrupt, do: ["CORRUPT_KV(observed_ms set, last_event_at nil -> wont relearn)" | flags], else: flags
75
+ flags = if mism, do: ["MANUAL!=OBSERVED(#{manual} vs #{db_obs})" | flags], else: flags
76
+ flags = if div_obs, do: ["DB_OBS!=KV_OBS(#{db_obs} vs #{kv_obs_s})" | flags], else: flags
77
+ Enum.join([
78
+ "cube #{c.id} (#{c.name})",
79
+ " db : manual=#{inspect(manual)} observed=#{inspect(db_obs)} observed_at=#{inspect(c.xcc_observed_probing_interval_at)} online=#{inspect(c.xcc_online)} last_keepalive=#{inspect(c.xcc_last_keepalive)}",
80
+ " kv : state=#{inspect(dec && dec.state)} last_event=#{inspect(dec && dec.last_event)} last_event_at=#{inspect(kv_le)} attempt=#{inspect(dec && dec.attempt_count)} observed_ms=#{inspect(kv_ms)} probing_ms=#{inspect(dec && dec.probing_interval_ms)}",
81
+ " derived: state=#{inspect(row.state)} conf=#{inspect(row.status_confidence)} observed_sec=#{inspect(row.observed_probing_interval_sec)} window_sec=#{inspect(row.freshness_window_sec)} stale_after=#{inspect(row.stale_after_at)}",
82
+ " flags : #{if flags == [], do: "none", else: Enum.join(flags, " ")}"
83
+ ], "\\n")
84
+ rescue
85
+ e -> "cube #{c.id}: ERROR #{Exception.message(e)}"
86
+ end
87
+ IO.puts(out)
88
+ end)
89
+ :ok`;
90
+ /**
91
+ * Compact one-line-per-cube trace sample, called repeatedly by the
92
+ * `--monitor <secs>` heartbeat trace to capture how the FSM state / learned
93
+ * cadence / freshness window evolve over time.
94
+ *
95
+ * NOTE: same `${...}`-free rule as CUBE_DIAG_RPC_SNAPSHOT above.
96
+ */
97
+ const CUBE_DIAG_RPC_TRACE = `import Ecto.Query
98
+ now = DateTime.utc_now()
99
+ alias Cdrcisco.Cubes.{Cube, ConnectionStateKV, ConnectionHealthState}
100
+ ts = DateTime.to_iso8601(now)
101
+ for c <- Cdrcisco.Repo.all(from c in Cube, where: c.xcc_enabled == true, order_by: c.id) do
102
+ try do
103
+ raw = Cdrcisco.Liveness.KV.get("cube_status", "cube:#{c.id}:status")
104
+ dec =
105
+ case raw && ConnectionStateKV.decode(raw) do
106
+ {:ok, d} -> d
107
+ _ -> nil
108
+ end
109
+ row = ConnectionHealthState.derive_from_kv(c, dec, now)
110
+ IO.puts("#{ts}|cube=#{c.id}|kv_state=#{inspect(dec && dec.state)}|kv_obs_ms=#{inspect(dec && dec.observed_interval_ms)}|kv_last_event_at=#{inspect(dec && dec.last_event_at)}|attempt=#{inspect(dec && dec.attempt_count)}|obs_sec=#{inspect(row.observed_probing_interval_sec)}|win_sec=#{inspect(row.freshness_window_sec)}|state=#{row.state}|conf=#{row.status_confidence}")
111
+ rescue
112
+ e -> IO.puts("#{ts}|cube=#{c.id}|ERROR #{Exception.message(e)}")
113
+ end
114
+ end
115
+ :ok`;
116
+ /** Run a psql query in the db container, returning trimmed stdout. */
117
+ async function psql(sql) {
118
+ const result = await composeExec('db', ['psql', '-U', DB_USER, '-d', DB_NAME, '-c', sql], { env: PG_ENV, pipe: true, timeout: DEFAULT_TIMEOUT });
119
+ return (result.stdout ?? '').toString();
120
+ }
121
+ /** Run one collection step, capturing its output (or error) into a labeled block. */
122
+ async function section(title, fn) {
123
+ const lines = [`\n===== ${title} =====`];
124
+ try {
125
+ const body = await fn();
126
+ lines.push(body.trim().length > 0 ? body.trimEnd() : '(no output)');
127
+ }
128
+ catch (err) {
129
+ const message = err instanceof Error ? err.message : String(err);
130
+ lines.push(`[section failed] ${message}`);
131
+ }
132
+ return lines.join('\n');
133
+ }
134
+ /**
135
+ * Resolve the `_ct` docker network the appliance services share, so the
136
+ * throwaway nats-box container can reach the `nats` service by name.
137
+ *
138
+ * Strategy: ask compose for the nats service's network (first line, first
139
+ * field). Fall back to `<project>_ct` derived from the install dir basename.
140
+ */
141
+ async function resolveCtNetwork() {
142
+ try {
143
+ const result = await compose(['ps', '--format', '{{.Networks}}', 'nats'], { pipe: true });
144
+ const firstLine = (result.stdout ?? '').toString().split('\n').map(l => l.trim()).filter(Boolean)[0];
145
+ if (firstLine) {
146
+ const firstField = firstLine.split(',')[0]?.trim();
147
+ if (firstField)
148
+ return firstField;
149
+ }
150
+ }
151
+ catch (err) {
152
+ debug(`cube-diag: compose network resolve failed: ${err instanceof Error ? err.message : String(err)}`);
153
+ }
154
+ const { installDir } = getPaths();
155
+ const project = (installDir.split('/').filter(Boolean).pop() ?? 'docker-compose').toLowerCase();
156
+ return `${project}_ct`;
157
+ }
158
+ /** Run `nats` CLI inside a throwaway nats-box container on the appliance network. */
159
+ async function natsRun(net, natsArgs) {
160
+ const result = await exec('docker', ['run', '--rm', '--network', net, NATS_BOX_IMAGE, 'nats', '-s', NATS_URL, ...natsArgs], { timeout: DEFAULT_TIMEOUT, reject: false });
161
+ const stdout = (result.stdout ?? '').toString();
162
+ const stderr = (result.stderr ?? '').toString();
163
+ return [stdout, stderr.trim() ? `[stderr] ${stderr}` : ''].filter(Boolean).join('\n');
164
+ }
165
+ // STATIC sh script — NO host-side interpolation. The NATS URL and bucket are
166
+ // passed as `docker run -e` env vars (NATS_URL / KV_BUCKET) and referenced via
167
+ // `$NATS_URL` / `"$KV_BUCKET"` INSIDE the container, so a non-constant bucket can
168
+ // never break out of the shell string (repo rule: no shell string interpolation).
169
+ // `set -f` disables globbing and `while IFS= read` handles keys with whitespace /
170
+ // glob chars, so a stray `*` in CLI output can never glob-expand against the CWD.
171
+ const NATS_KV_DUMP_SCRIPT = 'set -f; nats -s "$NATS_URL" kv ls "$KV_BUCKET" 2>/dev/null | while IFS= read -r k; do ' +
172
+ '[ -n "$k" ] || continue; ' +
173
+ 'echo "--- key: $k ---"; ' +
174
+ 'nats -s "$NATS_URL" kv get "$KV_BUCKET" "$k" 2>&1; ' +
175
+ 'echo "--- key (raw base64): $k ---"; ' +
176
+ 'nats -s "$NATS_URL" kv get "$KV_BUCKET" "$k" --raw 2>/dev/null | base64; ' +
177
+ 'done';
178
+ /** Dump every key in a NATS KV bucket (human get + raw base64), via an in-container sh loop. */
179
+ async function natsKvDump(net, bucket) {
180
+ const result = await exec('docker', [
181
+ 'run', '--rm', '--network', net,
182
+ '-e', `NATS_URL=${NATS_URL}`,
183
+ '-e', `KV_BUCKET=${bucket}`,
184
+ NATS_BOX_IMAGE, 'sh', '-c', NATS_KV_DUMP_SCRIPT,
185
+ ], { timeout: DEFAULT_TIMEOUT, reject: false });
186
+ const stdout = (result.stdout ?? '').toString();
187
+ const stderr = (result.stderr ?? '').toString();
188
+ // Surface truncation: a silently-cut KV dump would mislead diagnosis.
189
+ const timedOut = result.timedOut === true;
190
+ return [
191
+ stdout,
192
+ timedOut ? '[WARN: nats-box exec timed out — KV dump may be truncated]' : '',
193
+ stderr.trim() ? `[stderr] ${stderr}` : '',
194
+ ].filter(Boolean).join('\n');
195
+ }
196
+ /** Get the first container id for a compose service (empty string if none). */
197
+ async function containerId(service) {
198
+ // composePs already has its own internal fallback; a second compose ps here
199
+ // would just repeat the same command, so on failure we return empty directly.
200
+ try {
201
+ const id = await composePs(service);
202
+ if (id)
203
+ return id.split('\n')[0].trim();
204
+ }
205
+ catch (err) {
206
+ debug(`cube-diag: composePs ${service} failed: ${err instanceof Error ? err.message : String(err)}`);
207
+ }
208
+ return '';
209
+ }
210
+ /**
211
+ * Tail container logs and keep only the lines matching the cube/xcc keepalive
212
+ * grep. When `opts.since` is given, uses `docker logs --since <window>` instead
213
+ * of `--tail`, mirroring the bash reference's 10-minute heartbeat window.
214
+ */
215
+ async function logsFiltered(service, tailIn, keepTail, grep, opts) {
216
+ const id = await containerId(service);
217
+ if (!id)
218
+ return `(no ${service} container found)`;
219
+ const dockerArgs = opts?.since
220
+ ? ['logs', '--since', opts.since, id]
221
+ : ['logs', '--tail', String(tailIn), id];
222
+ const result = await exec('docker', dockerArgs, {
223
+ timeout: DEFAULT_TIMEOUT,
224
+ reject: false,
225
+ });
226
+ const combined = `${(result.stdout ?? '').toString()}\n${(result.stderr ?? '').toString()}`;
227
+ let lines = combined.split('\n');
228
+ if (grep)
229
+ lines = lines.filter(l => grep.test(l));
230
+ return lines.slice(-keepTail).join('\n');
231
+ }
232
+ /**
233
+ * Collect the full cube-diag bundle and write it to a single .log file.
234
+ *
235
+ * @param opts.outputPath Target log path. Defaults to ./cube-diag-<ISO>.log.
236
+ * @param opts.captureSecs Seconds to live-capture cube.> / alarms.> subjects (0 = skip).
237
+ * @param opts.monitorSecs Seconds to RPC-poll each cube's state/interval ~every 5s (0 = skip).
238
+ * @returns the path the bundle was written to.
239
+ */
240
+ export async function collectCubeDiag(opts) {
241
+ const captureSecs = opts?.captureSecs ?? 0;
242
+ const monitorSecs = opts?.monitorSecs ?? 0;
243
+ const iso = new Date().toISOString().replace(/[:.]/g, '-');
244
+ const outputPath = opts?.outputPath ?? `./cube-diag-${iso}.log`;
245
+ const parts = [];
246
+ parts.push('===== CUBE DIAGNOSTIC BUNDLE =====', `Generated: ${new Date().toISOString()}`, 'Bug class: cube stuck REGISTERED, never ONLINE (registered->online requires a healthy SolicitXccProbing keepalive).');
247
+ // ── Database sections ──────────────────────────────────────────────────
248
+ parts.push(await section('DB: cubes', () => psql(`SELECT id, org_id, name, xcc_enabled, xcc_emulator, xcc_mode, xcc_hostname, ` +
249
+ `xcc_provider_probing_interval, xcc_observed_probing_interval, xcc_registration_id, ` +
250
+ `xcc_disconnect_code, xcc_online, xcc_last_keepalive, connection_expired_count, ` +
251
+ `reconnection_failed_count, unregistered_count, policy_id FROM cubes ORDER BY id;`)));
252
+ parts.push(await section('DB: cube_connection_health_state (authoritative)', () => psql(`SELECT cube_id, state, status_confidence, status_reason, last_keepalive_at, last_probe_at, ` +
253
+ `last_authorize_at, last_provider_status, observed_probing_interval_sec, freshness_window_sec, ` +
254
+ `stale_after_at, last_state_change_at, last_kv_sync_at FROM cube_connection_health_state ORDER BY cube_id;`)));
255
+ parts.push(await section('DB: cube_connection_health_events (recent 50)', () => psql(`SELECT cube_id, event_type, severity, source, transition_from, transition_to, inserted_at ` +
256
+ `FROM cube_connection_health_events ORDER BY inserted_at DESC LIMIT 50;`)));
257
+ parts.push(await section('DB: alarm_events (active cube/xcc/policy)', () => psql(`SELECT id, org_id, alarm_type, status, inserted_at, updated_at FROM alarm_events ` +
258
+ `WHERE status IN ('active','acknowledged') ` +
259
+ `AND (alarm_type ILIKE '%cube%' OR alarm_type ILIKE '%xcc%' OR alarm_type ILIKE '%policy%') ` +
260
+ `ORDER BY inserted_at DESC;`)));
261
+ parts.push(await section('DB: cube_event_logs (24h volume per cube)', () => psql(`SELECT cube_id, COUNT(*) AS events_24h FROM cube_event_logs ` +
262
+ `WHERE inserted_at > NOW() - INTERVAL '24 hours' GROUP BY cube_id ORDER BY cube_id;`)));
263
+ // ── NATS sections ──────────────────────────────────────────────────────
264
+ const net = await resolveCtNetwork();
265
+ parts.push(`\n===== NATS: resolved network = ${net} =====`);
266
+ parts.push(await section('NATS: kv ls', () => natsRun(net, ['kv', 'ls'])));
267
+ parts.push(await section('NATS: kv info cube_status', () => natsRun(net, ['kv', 'info', 'cube_status'])));
268
+ parts.push(await section('NATS: kv info policy_status', () => natsRun(net, ['kv', 'info', 'policy_status'])));
269
+ parts.push(await section('NATS: cube_status bucket dump', () => natsKvDump(net, 'cube_status')));
270
+ parts.push(await section('NATS: policy_status bucket dump', () => natsKvDump(net, 'policy_status')));
271
+ parts.push(await section('NATS: stream report', () => natsRun(net, ['stream', 'report'])));
272
+ // ── RPC-decoded interval + KV health snapshot (always runs) ─────────────
273
+ // Decodes each cube's live KV through the product's own read path and flags
274
+ // the interval pathologies (corrupt KV that won't relearn, manual-vs-observed
275
+ // mismatch, DB-vs-KV divergence). This is where a "shows 10s, router is 15s"
276
+ // stuck cube is caught.
277
+ parts.push(await section('cube interval + KV health (RPC-decoded)', () => rpcBounded(CUBE_DIAG_RPC_SNAPSHOT)));
278
+ // ── Optional RPC heartbeat trace ────────────────────────────────────────
279
+ // Polls the compact per-cube snapshot every ~5s for the window so engineering
280
+ // can watch the FSM state / learned cadence / freshness window evolve.
281
+ if (monitorSecs > 0) {
282
+ parts.push(await section(`RPC heartbeat trace (${monitorSecs}s, ~5s samples)`, async () => {
283
+ const samples = [];
284
+ const end = Date.now() + monitorSecs * 1000;
285
+ while (Date.now() < end) {
286
+ try {
287
+ const out = await rpcBounded(CUBE_DIAG_RPC_TRACE);
288
+ const traceLines = out
289
+ .split('\n')
290
+ .filter(l => /^[0-9]{4}-/.test(l));
291
+ samples.push(traceLines.length > 0 ? traceLines.join('\n') : '[trace sample failed]');
292
+ }
293
+ catch (err) {
294
+ const message = err instanceof Error ? err.message : String(err);
295
+ samples.push(`[trace sample failed] ${message}`);
296
+ }
297
+ // Clamp the inter-sample sleep to the remaining window so the loop never
298
+ // overshoots the requested duration (e.g. `--monitor 6` must not run ~10s).
299
+ const remaining = end - Date.now();
300
+ if (remaining > 0)
301
+ await sleep(Math.min(5000, remaining));
302
+ }
303
+ return samples.join('\n');
304
+ }));
305
+ }
306
+ // ── Optional live capture ──────────────────────────────────────────────
307
+ if (captureSecs > 0) {
308
+ for (const subject of ['cube.>', 'alarms.>']) {
309
+ parts.push(await section(`NATS: live capture ${subject} (${captureSecs}s)`, async () => {
310
+ const result = await exec('timeout', [
311
+ String(captureSecs),
312
+ 'docker', 'run', '--rm', '--network', net, NATS_BOX_IMAGE,
313
+ 'nats', '-s', NATS_URL, 'sub', '--raw', subject,
314
+ ], { timeout: (captureSecs + 5) * 1000, reject: false });
315
+ return [(result.stdout ?? '').toString(), (result.stderr ?? '').toString()].filter(Boolean).join('\n');
316
+ }));
317
+ }
318
+ }
319
+ // ── Log sections ───────────────────────────────────────────────────────
320
+ // Heartbeat timeline first: the failure_count progression, "did not refresh
321
+ // healthy" gate hits, and registration rotations are the stuck/flap signature.
322
+ const heartbeatGrep = /failure_count|did not refresh healthy|registrationID rotated|keepalive/i;
323
+ parts.push(await section('probe heartbeat timeline (failure_count / refresh / rotation, last 10m)', () => logsFiltered('web', 6000, 200, heartbeatGrep, { since: '10m' })));
324
+ const cubeGrep = /xcc|cube|keepalive|solicit|probing|register|authorize|reconnect|liveness|connection_state/i;
325
+ parts.push(await section('LOGS: web (filtered, tail 800)', () => logsFiltered('web', 6000, 800, cubeGrep)));
326
+ parts.push(await section('LOGS: nats (tail 300)', () => logsFiltered('nats', 300, 300, null)));
327
+ const bundle = redactSecrets(parts.join('\n') + '\n');
328
+ await writeFile(outputPath, bundle, { mode: 0o600 });
329
+ // `mode` only applies when writeFile CREATES the file. If outputPath already
330
+ // existed with broader perms, the write truncates but leaves the old mode, so
331
+ // the (potentially secret-bearing) bundle could stay world-readable. chmod
332
+ // unconditionally to clamp an existing file down to owner-only.
333
+ await chmod(outputPath, 0o600);
334
+ return outputPath;
335
+ }
336
+ //# sourceMappingURL=cube-diag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cube-diag.js","sourceRoot":"","sources":["../../src/lib/cube-diag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare const PROXY_ENV_KEYS: readonly ["HTTP_PROXY", "HTTPS_PROXY", "NO_PROXY", "PROXY_USERNAME", "PROXY_PASSWORD", "PROXY_BEARER_TOKEN", "PROXY_BASIC_TOKEN"];
2
+ export type ProxyEnvKey = (typeof PROXY_ENV_KEYS)[number];
3
+ export interface ProxySettings {
4
+ http?: string;
5
+ https?: string;
6
+ noProxy?: string;
7
+ username?: string;
8
+ password?: string;
9
+ bearerToken?: string;
10
+ basicToken?: string;
11
+ }
12
+ export declare function getProxySettings(): Record<ProxyEnvKey, string>;
13
+ export declare function redactProxyUrl(value: string): string;
14
+ export declare function displayProxyValue(key: ProxyEnvKey, value: string): string;
15
+ export declare function validateProxyValue(label: string, value: string): void;
16
+ export declare function validateProxyUrl(label: string, value: string): void;
17
+ export declare function setProxySettings(settings: ProxySettings): Promise<void>;
18
+ export declare function clearProxySettings(): Promise<void>;
19
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/lib/proxy.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,mIAQjB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAK9D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYzE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIrE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAYnE;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC7E;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGxD"}
@@ -0,0 +1,104 @@
1
+ import { updateEnvKeys, readEnvKeys } from './env.js';
2
+ import { ensureApplianceProxyPolicy } from './appliance-proxy-policy.js';
3
+ export const PROXY_ENV_KEYS = [
4
+ 'HTTP_PROXY',
5
+ 'HTTPS_PROXY',
6
+ 'NO_PROXY',
7
+ 'PROXY_USERNAME',
8
+ 'PROXY_PASSWORD',
9
+ 'PROXY_BEARER_TOKEN',
10
+ 'PROXY_BASIC_TOKEN',
11
+ ];
12
+ export function getProxySettings() {
13
+ const env = readEnvKeys();
14
+ return Object.fromEntries(PROXY_ENV_KEYS.map(key => [key, env[key] ?? '']));
15
+ }
16
+ export function redactProxyUrl(value) {
17
+ if (!value)
18
+ return '';
19
+ try {
20
+ const url = new URL(value);
21
+ if (!url.username && !url.password)
22
+ return value;
23
+ url.username = 'redacted';
24
+ url.password = '';
25
+ return url.toString();
26
+ }
27
+ catch {
28
+ return value.replace(/^([A-Za-z][A-Za-z0-9+.-]*:\/\/)[^/@]+@/, '$1redacted@');
29
+ }
30
+ }
31
+ export function displayProxyValue(key, value) {
32
+ if (!value)
33
+ return '<empty>';
34
+ if (key === 'HTTP_PROXY' || key === 'HTTPS_PROXY')
35
+ return redactProxyUrl(value);
36
+ if (key === 'PROXY_USERNAME' ||
37
+ key === 'PROXY_PASSWORD' ||
38
+ key === 'PROXY_BEARER_TOKEN' ||
39
+ key === 'PROXY_BASIC_TOKEN') {
40
+ return '<set>';
41
+ }
42
+ return value;
43
+ }
44
+ export function validateProxyValue(label, value) {
45
+ if (/[\x00-\x1F\x7F]/.test(value)) {
46
+ throw new Error(`${label} must not contain control characters`);
47
+ }
48
+ }
49
+ export function validateProxyUrl(label, value) {
50
+ validateProxyValue(label, value);
51
+ let parsed;
52
+ try {
53
+ parsed = new URL(value);
54
+ }
55
+ catch {
56
+ throw new Error(`${label} must be a valid URL`);
57
+ }
58
+ if (!parsed.host)
59
+ throw new Error(`${label} must be a valid URL`);
60
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
61
+ throw new Error(`${label} must start with http:// or https://`);
62
+ }
63
+ }
64
+ export async function setProxySettings(settings) {
65
+ const updates = {};
66
+ if (settings.http !== undefined) {
67
+ validateProxyUrl('HTTP proxy', settings.http);
68
+ updates.HTTP_PROXY = settings.http;
69
+ }
70
+ if (settings.https !== undefined) {
71
+ validateProxyUrl('HTTPS proxy', settings.https);
72
+ updates.HTTPS_PROXY = settings.https;
73
+ }
74
+ if (settings.noProxy !== undefined) {
75
+ validateProxyValue('NO_PROXY', settings.noProxy);
76
+ updates.NO_PROXY = settings.noProxy;
77
+ }
78
+ if (settings.username !== undefined) {
79
+ validateProxyValue('proxy username', settings.username);
80
+ updates.PROXY_USERNAME = settings.username;
81
+ }
82
+ if (settings.password !== undefined) {
83
+ validateProxyValue('proxy password', settings.password);
84
+ updates.PROXY_PASSWORD = settings.password;
85
+ }
86
+ if (settings.bearerToken !== undefined) {
87
+ validateProxyValue('proxy bearer token', settings.bearerToken);
88
+ updates.PROXY_BEARER_TOKEN = settings.bearerToken;
89
+ }
90
+ if (settings.basicToken !== undefined) {
91
+ validateProxyValue('proxy basic token', settings.basicToken);
92
+ updates.PROXY_BASIC_TOKEN = settings.basicToken;
93
+ }
94
+ if (Object.keys(updates).length === 0) {
95
+ throw new Error('No proxy settings provided');
96
+ }
97
+ await updateEnvKeys(updates);
98
+ await ensureApplianceProxyPolicy();
99
+ }
100
+ export async function clearProxySettings() {
101
+ await updateEnvKeys(Object.fromEntries(PROXY_ENV_KEYS.map(key => [key, ''])));
102
+ await ensureApplianceProxyPolicy();
103
+ }
104
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/lib/proxy.ts"],"names":[],"mappings":"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"}
package/dist/lib/rpc.d.ts CHANGED
@@ -1,4 +1,13 @@
1
- export declare function rpc(code: string): Promise<string>;
1
+ /**
2
+ * Run Elixir code in the web container via the release `rpc` command.
3
+ *
4
+ * @param code Elixir source evaluated in the running release.
5
+ * @param timeoutMs Optional subprocess budget. When set, it is passed straight
6
+ * to `composeExec` (execa), so a wedged `docker compose exec` is actually
7
+ * KILLED — not merely abandoned by a `Promise.race` that leaves the child
8
+ * alive. Callers that must bound a hung container (e.g. cube-diag) pass this.
9
+ */
10
+ export declare function rpc(code: string, timeoutMs?: number): Promise<string>;
2
11
  export declare function rpcOk(): Promise<boolean>;
3
12
  export declare function healthCheck(): Promise<boolean>;
4
13
  export interface AppHealthDetail {
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/lib/rpc.ts"],"names":[],"mappings":"AAgBA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGvD;AAED,wBAAsB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAO9C;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAOpD;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC,CAiI7D;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/lib/rpc.ts"],"names":[],"mappings":"AAgBA;;;;;;;;GAQG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAM3E;AAED,wBAAsB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAO9C;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAOpD;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC,CAiI7D;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
package/dist/lib/rpc.js CHANGED
@@ -9,8 +9,20 @@ function withTimeout(promise, ms, label) {
9
9
  new Promise((_, reject) => setTimeout(() => reject(new Error(`${label} timed out after ${ms}ms`)), ms)),
10
10
  ]);
11
11
  }
12
- export async function rpc(code) {
13
- const result = await composeExec('web', [RELEASE_BIN, 'rpc', code], { pipe: true });
12
+ /**
13
+ * Run Elixir code in the web container via the release `rpc` command.
14
+ *
15
+ * @param code Elixir source evaluated in the running release.
16
+ * @param timeoutMs Optional subprocess budget. When set, it is passed straight
17
+ * to `composeExec` (execa), so a wedged `docker compose exec` is actually
18
+ * KILLED — not merely abandoned by a `Promise.race` that leaves the child
19
+ * alive. Callers that must bound a hung container (e.g. cube-diag) pass this.
20
+ */
21
+ export async function rpc(code, timeoutMs) {
22
+ const result = await composeExec('web', [RELEASE_BIN, 'rpc', code], {
23
+ pipe: true,
24
+ ...(typeof timeoutMs === 'number' ? { timeout: timeoutMs } : {}),
25
+ });
14
26
  return result.stdout ?? '';
15
27
  }
16
28
  export async function rpcOk() {
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/lib/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,GAAG,6BAA6B,CAAC;AAElD,wCAAwC;AACxC,SAAS,WAAW,CAAI,OAAmB,EAAE,EAAU,EAAE,KAAa;IACpE,OAAO,OAAO,CAAC,IAAI,CAAC;QAClB,OAAO;QACP,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAC5E;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAY;IACpC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpF,OAAO,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,+BAA+B,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1G,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAsBD,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC;IACvB,IAAI,QAA4B,CAAC;IACjC,IAAI,UAA8B,CAAC;IACnC,IAAI,QAA4B,CAAC;IACjC,IAAI,OAA2B,CAAC;IAChC,IAAI,aAAiC,CAAC;IACtC,IAAI,eAAmC,CAAC;IACxC,IAAI,eAAmC,CAAC;IACxC,IAAI,SAA6B,CAAC;IAElC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzF,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,+BAA+B,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EACpF,OAAO,EAAE,wBAAwB,CAClC,CAAC;gBACF,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,IAAI,wBAAwB,CAAC;gBACzE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,EAAE;QACJ,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,+BAA+B,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EACpF,OAAO,EAAE,wBAAwB,CAClC,CAAC;gBACF,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,IAAI,wBAAwB,CAAC;gBAC3E,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,EAAE;QACJ,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,GAAG,CAAC,eAAe,CAAC,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;gBACF,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,IAAI,uBAAuB,CAAC;gBACxE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,EAAE;QACJ,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,WAAW,CAC3B,GAAG,CAAC,0FAA0F,CAAC,EAC/F,OAAO,EAAE,eAAe,CACzB,CAAC;gBACF,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,IAAI,uBAAuB,CAAC;gBACvE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,EAAE;QACJ,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,WAAW,CACf,WAAW,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAC/E,OAAO,EAAE,iBAAiB,CAC3B,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,IAAI,mBAAmB,CAAC;gBACzE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,EAAE;QACJ,iEAAiE;QACjE,4DAA4D;QAC5D,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,WAAW,CACf,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,6BAA6B,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EACxE,OAAO,EAAE,aAAa,CACvB,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,IAAI,0BAA0B,CAAC;gBAClF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,EAAE;QACJ,kEAAkE;QAClE,kEAAkE;QAClE,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,WAAW,CACzB,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,wBAAwB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAC7G,OAAO,EAAE,aAAa,CACvB,CAAC;gBACF,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC;YACnC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,IAAI,0BAA0B,CAAC;gBAClF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,EAAE;QACJ,6BAA6B;QAC7B,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,WAAW,CAC3B,GAAG,CAAC,8FAA8F,CAAC,EACnG,OAAO,EAAE,MAAM,CAChB,CAAC;gBACF,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,IAAI,mBAAmB,CAAC;gBACrE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,EAAE;KACL,CAAC,CAAC;IAEH,qEAAqE;IACrE,MAAM,WAAW,GAAG,GAAG,IAAI,KAAK,IAAI,MAAM,IAAI,EAAE,IAAI,QAAQ,CAAC;IAC7D,MAAM,OAAO,GAAG,WAAW,IAAI,UAAU,IAAI,UAAU,IAAI,IAAI,CAAC;IAEhE,IAAI,OAAO,GAA+B,MAAM,CAAC;IACjD,IAAI,OAAO;QAAE,OAAO,GAAG,SAAS,CAAC;SAC5B,IAAI,GAAG,IAAI,KAAK,IAAI,MAAM,IAAI,QAAQ;QAAE,OAAO,GAAG,UAAU,CAAC;IAElE,OAAO;QACL,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ;QAClD,UAAU,EAAE,UAAU,EAAE,IAAI;QAC5B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa;QAC/D,eAAe,EAAE,eAAe,EAAE,SAAS;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/lib/rpc.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.11.1";
2
+ export declare const VERSION = "0.12.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.11.1';
2
+ export const VERSION = '0.12.0';
3
3
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Shell command handlers for the cube tree.
3
+ *
4
+ * cube diag [--output <path>] [--capture <secs>] [--monitor <secs>]
5
+ */
6
+ import type { CommandNode } from '../parser.js';
7
+ export declare function wireCubeHandlers(cubeNode: CommandNode): void;
8
+ //# sourceMappingURL=cube.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cube.d.ts","sourceRoot":"","sources":["../../../src/shell/commands/cube.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiChD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAO5D"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Shell command handlers for the cube tree.
3
+ *
4
+ * cube diag [--output <path>] [--capture <secs>] [--monitor <secs>]
5
+ */
6
+ import { collectCubeDiag } from '../../lib/cube-diag.js';
7
+ import { parseNonNegativeSecs } from '../../utils/parseSecs.js';
8
+ import { statusLine } from '../formatter.js';
9
+ async function cubeDiag(_args, opts, _ctx) {
10
+ // Strict parse FIRST — a junk `--capture`/`--monitor` must fail loudly rather
11
+ // than silently coerce to 0 and make a skipped feature look successful.
12
+ let captureSecs;
13
+ let monitorSecs;
14
+ try {
15
+ captureSecs = parseNonNegativeSecs(opts['--capture'], '--capture');
16
+ monitorSecs = parseNonNegativeSecs(opts['--monitor'], '--monitor');
17
+ }
18
+ catch (err) {
19
+ console.log(statusLine('Cube diagnostics', 'fail', err instanceof Error ? err.message : String(err)));
20
+ return;
21
+ }
22
+ console.log(statusLine('Cube diagnostics', 'info', 'collecting (read-only)...'));
23
+ try {
24
+ const path = await collectCubeDiag({
25
+ outputPath: opts['--output'],
26
+ captureSecs,
27
+ monitorSecs,
28
+ });
29
+ console.log(statusLine('Cube diagnostic bundle', 'ok', path));
30
+ }
31
+ catch (err) {
32
+ const message = err instanceof Error ? err.message : String(err);
33
+ console.log(statusLine('Cube diagnostics', 'fail', message));
34
+ }
35
+ }
36
+ export function wireCubeHandlers(cubeNode) {
37
+ if (!cubeNode.children)
38
+ return;
39
+ for (const child of cubeNode.children) {
40
+ switch (child.name) {
41
+ case 'diag':
42
+ child.handler = cubeDiag;
43
+ break;
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=cube.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cube.js","sourceRoot":"","sources":["../../../src/shell/commands/cube.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,KAAK,UAAU,QAAQ,CAAC,KAAe,EAAE,IAA4B,EAAE,IAAkB;IACvF,8EAA8E;IAC9E,wEAAwE;IACxE,IAAI,WAAmB,CAAC;IACxB,IAAI,WAAmB,CAAC;IACxB,IAAI,CAAC;QACH,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;QACnE,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtG,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;YAC5B,WAAW;YACX,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,wBAAwB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,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,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAqB;IACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAAE,OAAO;IAC/B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM;gBAAE,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;gBAAC,MAAM;QAC/C,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/shell/commands/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAqDhD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,WA8dzB,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/shell/commands/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAsDhD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,WA+ezB,CAAC"}
@@ -11,6 +11,7 @@ import { wireApplianceHardwareHandlers } from './appliance-hardware.js';
11
11
  import { wireApplianceMigrationHandlers, wireShowApplianceMigrations } from './appliance-migrations.js';
12
12
  import { wireSeedHandlers } from './seed.js';
13
13
  import { wireSqlMonitorHandlers } from './sql-monitor.js';
14
+ import { wireCubeHandlers } from './cube.js';
14
15
  /**
15
16
  * Full command tree for the ct shell.
16
17
  * Handlers are wired to implementations in show.ts, services.ts, db.ts, config.ts, and system.ts.
@@ -64,6 +65,22 @@ export const commandTree = {
64
65
  { name: 'postgres', description: 'Configure PostgreSQL settings' },
65
66
  ],
66
67
  },
68
+ // ── cube ─────────────────────────────────────────────
69
+ {
70
+ name: 'cube',
71
+ description: 'Cube diagnostics',
72
+ children: [
73
+ {
74
+ name: 'diag',
75
+ description: 'Collect cube DB + NATS + logs bundle',
76
+ options: [
77
+ { name: '--output', description: 'Destination .log path', hasValue: true },
78
+ { name: '--capture', description: 'Seconds to live-capture cube.>/alarms.> (0 = off)', hasValue: true },
79
+ { name: '--monitor', description: 'RPC-poll each cube state/interval every ~5s for N seconds', hasValue: true },
80
+ ],
81
+ },
82
+ ],
83
+ },
67
84
  // ── database ─────────────────────────────────────────
68
85
  {
69
86
  name: 'database',
@@ -482,6 +499,9 @@ const findChild = (name) => commandTree.children?.find(c => c.name === name);
482
499
  const databaseNode = findChild('database');
483
500
  if (databaseNode)
484
501
  wireDbHandlers(databaseNode);
502
+ const cubeNode = findChild('cube');
503
+ if (cubeNode)
504
+ wireCubeHandlers(cubeNode);
485
505
  const configNode = findChild('config');
486
506
  if (configNode)
487
507
  wireConfigHandlers(configNode);
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/shell/commands/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/shell/commands/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Strict non-negative-integer-seconds parser for CLI duration options.
3
+ *
4
+ * `Number.parseInt('10foo', 10)` returns `10` and `Number.parseInt('foo')`
5
+ * returns `NaN` — both of which our old `isFinite ? n : 0` fallback silently
6
+ * coerced to `0`, making a bad `--capture`/`--monitor` value look like a
7
+ * successful run that just skipped the feature. This validator REJECTS any
8
+ * value that is not a clean non-negative integer, so the caller can surface an
9
+ * error instead of silently disabling diagnostics.
10
+ *
11
+ * @param raw The raw option string (e.g. from Commander/shell parsing).
12
+ * @param label Option name for the error message (e.g. '--monitor').
13
+ * @returns the parsed non-negative integer number of seconds.
14
+ * @throws Error when `raw` is not a clean non-negative integer.
15
+ */
16
+ export declare function parseNonNegativeSecs(raw: string | undefined, label: string): number;
17
+ //# sourceMappingURL=parseSecs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseSecs.d.ts","sourceRoot":"","sources":["../../src/utils/parseSecs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAenF"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Strict non-negative-integer-seconds parser for CLI duration options.
3
+ *
4
+ * `Number.parseInt('10foo', 10)` returns `10` and `Number.parseInt('foo')`
5
+ * returns `NaN` — both of which our old `isFinite ? n : 0` fallback silently
6
+ * coerced to `0`, making a bad `--capture`/`--monitor` value look like a
7
+ * successful run that just skipped the feature. This validator REJECTS any
8
+ * value that is not a clean non-negative integer, so the caller can surface an
9
+ * error instead of silently disabling diagnostics.
10
+ *
11
+ * @param raw The raw option string (e.g. from Commander/shell parsing).
12
+ * @param label Option name for the error message (e.g. '--monitor').
13
+ * @returns the parsed non-negative integer number of seconds.
14
+ * @throws Error when `raw` is not a clean non-negative integer.
15
+ */
16
+ export function parseNonNegativeSecs(raw, label) {
17
+ const s = (raw ?? '').trim();
18
+ // Absent / empty / whitespace-only means "not requested" → 0 (matches the
19
+ // Commander option default of '0' and the shell's missing-flag case).
20
+ if (s === '')
21
+ return 0;
22
+ // Otherwise accept only a sign-free run of digits — no junk suffix, no float,
23
+ // no leading `+`/`-`, no whitespace gaps.
24
+ if (!/^\d+$/.test(s)) {
25
+ throw new Error(`${label} must be a non-negative integer number of seconds (got '${raw}')`);
26
+ }
27
+ const n = Number.parseInt(s, 10);
28
+ if (!Number.isSafeInteger(n) || n < 0) {
29
+ throw new Error(`${label} must be a non-negative integer number of seconds (got '${raw}')`);
30
+ }
31
+ return n;
32
+ }
33
+ //# sourceMappingURL=parseSecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseSecs.js","sourceRoot":"","sources":["../../src/utils/parseSecs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAuB,EAAE,KAAa;IACzE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,0EAA0E;IAC1E,sEAAsE;IACtE,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC;IACvB,8EAA8E;IAC9E,0CAA0C;IAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2DAA2D,GAAG,IAAI,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2DAA2D,GAAG,IAAI,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calltelemetry/cli",
3
- "version": "0.11.1",
3
+ "version": "0.12.0",
4
4
  "description": "CallTelemetry appliance management CLI",
5
5
  "type": "module",
6
6
  "bin": {