@calltelemetry/cli 0.2.0 → 0.2.2

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.
package/dist/index.js CHANGED
@@ -25,7 +25,7 @@ const program = new Command();
25
25
  program
26
26
  .name('ct')
27
27
  .description('CallTelemetry appliance management CLI')
28
- .version('0.2.0')
28
+ .version('0.2.2')
29
29
  .hook('preAction', () => {
30
30
  // Only show logo for direct CLI invocations, not TUI
31
31
  console.log(LOGO);
@@ -51,7 +51,7 @@ if (!hasCommand && process.stdout.isTTY) {
51
51
  const React = await import('react');
52
52
  const { MainMenu } = await import('./ui/views/MainMenu.js');
53
53
  const { unmount, waitUntilExit } = render(React.createElement(MainMenu, {
54
- version: '0.2.0',
54
+ version: '0.2.2',
55
55
  onCliCommand: (command) => {
56
56
  unmount();
57
57
  // Fall back to Commander for commands without TUI views
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/lib/bundle.ts"],"names":[],"mappings":"AAOA,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,QAAQ,GAAG,QAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBjG;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FnE;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAW1E;AAED,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBlF"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/lib/bundle.ts"],"names":[],"mappings":"AAOA,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,QAAQ,GAAG,QAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBjG;AAeD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkGnE;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAW1E;AAED,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBlF"}
@@ -22,6 +22,20 @@ export async function fetchLatestVersion(channel = 'stable') {
22
22
  : "Specify a version manually: ct update <version>"));
23
23
  }
24
24
  }
25
+ /** Copy a file, falling back to sudo cp if destination is owned by root */
26
+ async function safeCopy(src, dest) {
27
+ try {
28
+ await copyFile(src, dest);
29
+ }
30
+ catch (err) {
31
+ if (err?.code === 'EACCES') {
32
+ await execa('sudo', ['cp', src, dest]);
33
+ }
34
+ else {
35
+ throw err;
36
+ }
37
+ }
38
+ }
25
39
  export async function downloadBundle(version) {
26
40
  const { gcsBundleBaseUrl, installDir, composeFile } = getPaths();
27
41
  const bundleName = `calltelemetry-bundle-${version}.tar.gz`;
@@ -64,12 +78,12 @@ export async function downloadBundle(version) {
64
78
  await chmod(cliDest, 0o755);
65
79
  out.ok('cli.sh');
66
80
  }
67
- // Prometheus
81
+ // Prometheus – destination may be owned by root (Docker volume mount)
68
82
  const extractedProm = join(extractDir, 'prometheus', 'prometheus.yml');
69
83
  if (existsSync(extractedProm)) {
70
84
  const promDir = join(installDir, 'prometheus');
71
85
  await mkdir(promDir, { recursive: true });
72
- await rename(extractedProm, join(promDir, 'prometheus.yml'));
86
+ await safeCopy(extractedProm, join(promDir, 'prometheus.yml'));
73
87
  out.ok('prometheus/prometheus.yml');
74
88
  }
75
89
  // Grafana
@@ -79,21 +93,27 @@ export async function downloadBundle(version) {
79
93
  await mkdir(join(grafanaDir, 'dashboards'), { recursive: true });
80
94
  await mkdir(join(grafanaDir, 'provisioning', 'datasources'), { recursive: true });
81
95
  await mkdir(join(grafanaDir, 'provisioning', 'dashboards'), { recursive: true });
82
- // Copy dashboards and provisioning recursively
83
- await execa('cp', ['-r', join(extractedGrafana, 'dashboards'), grafanaDir]).catch(() => { });
84
- await execa('cp', ['-r', join(extractedGrafana, 'provisioning'), grafanaDir]).catch(() => { });
96
+ // Copy dashboards and provisioning recursively; sudo fallback for root-owned dirs
97
+ for (const sub of ['dashboards', 'provisioning']) {
98
+ try {
99
+ await execa('cp', ['-r', join(extractedGrafana, sub), grafanaDir]);
100
+ }
101
+ catch {
102
+ await execa('sudo', ['cp', '-r', join(extractedGrafana, sub), grafanaDir]).catch(() => { });
103
+ }
104
+ }
85
105
  out.ok('grafana configs');
86
106
  }
87
107
  // Nats
88
108
  const extractedNats = join(extractDir, 'nats.conf');
89
109
  if (existsSync(extractedNats)) {
90
- await copyFile(extractedNats, join(installDir, 'nats.conf'));
110
+ await safeCopy(extractedNats, join(installDir, 'nats.conf'));
91
111
  out.ok('nats.conf');
92
112
  }
93
113
  // Caddyfile
94
114
  const extractedCaddy = join(extractDir, 'Caddyfile');
95
115
  if (existsSync(extractedCaddy)) {
96
- await copyFile(extractedCaddy, join(installDir, 'Caddyfile'));
116
+ await safeCopy(extractedCaddy, join(installDir, 'Caddyfile'));
97
117
  out.ok('Caddyfile');
98
118
  }
99
119
  // Cleanup
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/lib/bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/lib/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAA+B,QAAQ;IAC9E,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC;IACvE,MAAM,GAAG,GAAG,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,0BAA0B,OAAO,aAAa;YAC9C,CAAC,OAAO,KAAK,QAAQ;gBACnB,CAAC,CAAC,4EAA4E;gBAC9E,CAAC,CAAC,iDAAiD,CAAC,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAY;IAC/C,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe;IAClD,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;IACjE,MAAM,UAAU,GAAG,wBAAwB,OAAO,SAAS,CAAC;IAC5D,MAAM,SAAS,GAAG,GAAG,gBAAgB,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;IACjE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,kBAAkB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAErE,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,KAAK,CAAC,CAAC;IAEnE,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE;YAC1E,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,sCAAsC;YACtC,QAAQ,SAAS,MAAM;YACvB,sFAAsF,CACvF,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAE5B,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,sBAAsB,CAAC,EAAE;QACjF,GAAG,EAAE,UAAU;KAChB,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAChE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,kCAAkC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;IAC7D,MAAM,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAE7B,2BAA2B;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5B,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACnB,CAAC;IAED,sEAAsE;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC/D,GAAG,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC;IACtC,CAAC;IAED,UAAU;IACV,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjF,kFAAkF;QAClF,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;YACrE,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;IACP,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QAC7D,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC;IAED,YAAY;IACZ,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9D,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC;IAED,UAAU;IACV,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvD,GAAG,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAmB;IACrD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACnD,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IAC9D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useState, useEffect, useCallback } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState, useEffect, useCallback } from 'react';
3
3
  import { Box, Text, useInput } from 'ink';
4
4
  import { AppShell, Section, StepList, Spinner } from '../components/index.js';
5
5
  import { usePolling, useStepRunner, useFinish } from '../hooks/index.js';
@@ -51,79 +51,70 @@ function OneShotView({ action, service, onBack }) {
51
51
  return (_jsx(AppShell, { command: `ct services ${action} ${service}`, children: _jsx(Section, { title: `${action.charAt(0).toUpperCase() + action.slice(1)} Service`, children: _jsx(StepList, { steps: states }) }) }));
52
52
  }
53
53
  /* ------------------------------------------------------------------ */
54
- /* Table helpers */
54
+ /* Health / state helpers */
55
55
  /* ------------------------------------------------------------------ */
56
- function stateColor(state) {
57
- const s = state.toLowerCase();
58
- if (s === 'running')
56
+ function healthIcon(health, state) {
57
+ if (state === 'exited' || state === 'dead')
58
+ return '';
59
+ if (health === 'healthy')
60
+ return '●';
61
+ if (health === 'unhealthy')
62
+ return '●';
63
+ if (health === 'starting')
64
+ return '●';
65
+ if (state === 'running')
66
+ return '●';
67
+ return '○';
68
+ }
69
+ function healthColor(health, state) {
70
+ if (state === 'exited' || state === 'dead')
71
+ return 'red';
72
+ if (health === 'healthy')
59
73
  return 'green';
60
- if (s === 'exited' || s === 'dead')
74
+ if (health === 'unhealthy')
61
75
  return 'red';
62
- if (s === 'paused' || s === 'restarting' || s === 'created')
76
+ if (health === 'starting')
63
77
  return 'yellow';
64
- return undefined;
65
- }
66
- function computeColumns(services) {
67
- const defs = [
68
- { header: 'Service', key: 'service' },
69
- { header: 'State', key: 'state' },
70
- { header: 'Health', key: 'health' },
71
- { header: 'Status', key: 'status' },
72
- ];
73
- return defs.map(d => {
74
- const dataMax = services.reduce((max, s) => Math.max(max, (s[d.key] ?? '').length), 0);
75
- return { ...d, width: Math.max(d.header.length, dataMax) + 2 };
76
- });
78
+ if (state === 'running')
79
+ return 'green';
80
+ return 'gray';
77
81
  }
78
- function pad(text, width) {
79
- return text.padEnd(width);
82
+ function extractVersion(image) {
83
+ if (!image)
84
+ return '';
85
+ const tag = image.includes(':') ? image.split(':').pop() : image;
86
+ // Trim registry/org prefixes from the tag portion if it leaked through
87
+ return tag;
80
88
  }
81
- function TableHeader({ columns }) {
82
- const top = '\u250c' +
83
- columns.map(c => '\u2500'.repeat(c.width)).join('\u252c') +
84
- '\u2510';
85
- const header = '\u2502' +
86
- columns.map(c => pad(` ${c.header}`, c.width)).join('\u2502') +
87
- '\u2502';
88
- const sep = '\u251c' +
89
- columns.map(c => '\u2500'.repeat(c.width)).join('\u253c') +
90
- '\u2524';
91
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: top }), _jsx(Text, { bold: true, children: header }), _jsx(Text, { children: sep })] }));
89
+ function extractUptime(status) {
90
+ if (!status)
91
+ return '';
92
+ // "Up 36 minutes (healthy)" -> "36m"
93
+ const m = status.match(/Up\s+(?:About\s+)?(\d+)\s*(second|minute|hour|day|week|month)/i);
94
+ if (!m) {
95
+ if (status.toLowerCase().startsWith('exited'))
96
+ return 'exited';
97
+ return status.replace(/\s*\(.*\)/, '').trim();
98
+ }
99
+ const n = m[1];
100
+ const unit = m[2].charAt(0);
101
+ return `${n}${unit}`;
92
102
  }
93
- function TableRow({ service, columns, isActive, }) {
94
- const prefix = isActive ? '\u276f' : ' ';
95
- const cells = columns.map(col => {
96
- const value = service[col.key] ?? '';
97
- const content = col.key === 'service' ? `${prefix}${value}` : ` ${value}`;
98
- const padded = pad(content, col.width);
99
- if (col.key === 'state') {
100
- const color = stateColor(value);
101
- if (isActive) {
102
- return (_jsx(Text, { color: "cyan", bold: true, children: padded }, col.key));
103
- }
104
- // Render the leading space normally + colored state text + trailing pad
105
- return (_jsxs(React.Fragment, { children: [_jsx(Text, { children: ' ' }), _jsx(Text, { color: color, children: value }), _jsx(Text, { children: ' '.repeat(Math.max(0, col.width - value.length - 1)) })] }, col.key));
106
- }
107
- if (isActive) {
108
- return (_jsx(Text, { color: "cyan", bold: true, children: padded }, col.key));
109
- }
110
- return _jsx(Text, { children: padded }, col.key);
111
- });
112
- // Build row with box-drawing separators
113
- // We need to interleave cells with │ separators
103
+ function formatPorts(ports) {
104
+ if (!ports)
105
+ return '';
106
+ // Extract published->target mappings from the ports string
107
+ const matches = ports.matchAll(/(\d+)->(\d+)/g);
108
+ const seen = new Set();
114
109
  const parts = [];
115
- parts.push(_jsx(Text, { color: isActive ? 'cyan' : undefined, bold: isActive, children: '\u2502' }, "left-border"));
116
- for (let i = 0; i < cells.length; i++) {
117
- parts.push(cells[i]);
118
- parts.push(_jsx(Text, { color: isActive ? 'cyan' : undefined, bold: isActive, children: '\u2502' }, `sep-${i}`));
110
+ for (const m of matches) {
111
+ const key = `${m[1]}→${m[2]}`;
112
+ if (!seen.has(key)) {
113
+ seen.add(key);
114
+ parts.push(key);
115
+ }
119
116
  }
120
- return _jsx(Box, { children: parts });
121
- }
122
- function TableFooter({ columns }) {
123
- const bottom = '\u2514' +
124
- columns.map(c => '\u2500'.repeat(c.width)).join('\u2534') +
125
- '\u2518';
126
- return _jsx(Text, { children: bottom });
117
+ return parts.join(' ');
127
118
  }
128
119
  function InteractiveView({ onBack }) {
129
120
  const finish = useFinish(onBack);
@@ -222,8 +213,22 @@ function InteractiveView({ onBack }) {
222
213
  }
223
214
  // --- Phase: list ---
224
215
  const serviceList = services ?? [];
225
- const columns = computeColumns(serviceList);
226
- return (_jsxs(AppShell, { command: "ct services", children: [_jsxs(Section, { title: "Services", children: [error && !services && (_jsx(Box, { paddingLeft: 2, children: _jsxs(Text, { color: "red", children: ["Error loading services: ", error.message] }) })), !services && !error && _jsx(Spinner, { label: "Loading services..." }), serviceList.length > 0 && (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsx(TableHeader, { columns: columns }), serviceList.map((svc, i) => (_jsx(TableRow, { service: svc, columns: columns, isActive: i === cursor }, svc.service))), _jsx(TableFooter, { columns: columns })] })), services && serviceList.length === 0 && (_jsx(Box, { paddingLeft: 2, children: _jsx(Text, { dimColor: true, children: "No services found in compose file." }) }))] }), _jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: 's Start x Stop r Restart l Logs a Start All X Stop All q Quit' }) })] }));
216
+ const svcWidth = Math.max(9, ...serviceList.map(s => s.service.length)) + 2;
217
+ const verWidth = Math.max(9, ...serviceList.map(s => extractVersion(s.image).length)) + 2;
218
+ // Summary counts
219
+ const runningCount = serviceList.filter(s => s.state === 'running').length;
220
+ const healthyCount = serviceList.filter(s => s.health === 'healthy').length;
221
+ const unhealthyCount = serviceList.filter(s => s.health === 'unhealthy').length;
222
+ const stoppedCount = serviceList.filter(s => s.state === 'exited' || s.state === 'dead').length;
223
+ return (_jsxs(AppShell, { command: "ct services", children: [_jsxs(Section, { title: "Containers", children: [error && !services && (_jsx(Box, { paddingLeft: 2, children: _jsxs(Text, { color: "red", children: ["Error loading services: ", error.message] }) })), !services && !error && _jsx(Spinner, { label: "Loading services..." }), serviceList.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Box, { paddingLeft: 2, marginBottom: 1, children: _jsxs(Text, { children: [_jsx(Text, { bold: true, children: serviceList.length }), _jsx(Text, { children: " containers" }), runningCount > 0 && _jsxs(Text, { color: "green", children: [" \u2014 ", runningCount, " running"] }), healthyCount > 0 && _jsxs(Text, { color: "green", children: [" (", healthyCount, " healthy)"] }), unhealthyCount > 0 && _jsxs(Text, { color: "red", children: [" \u2014 ", unhealthyCount, " unhealthy"] }), stoppedCount > 0 && _jsxs(Text, { color: "red", children: [" \u2014 ", stoppedCount, " stopped"] })] }) }), _jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { dimColor: true, bold: true, children: ' '.padEnd(3) }), _jsx(Text, { dimColor: true, bold: true, children: 'Service'.padEnd(svcWidth) }), _jsx(Text, { dimColor: true, bold: true, children: 'Version'.padEnd(verWidth) }), _jsx(Text, { dimColor: true, bold: true, children: 'Uptime'.padEnd(10) }), _jsx(Text, { dimColor: true, bold: true, children: 'Ports' })] }), serviceList.map((svc, i) => {
224
+ const isActive = i === cursor;
225
+ const icon = healthIcon(svc.health, svc.state);
226
+ const color = healthColor(svc.health, svc.state);
227
+ const version = extractVersion(svc.image);
228
+ const uptime = extractUptime(svc.status);
229
+ const ports = formatPorts(svc.ports);
230
+ return (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: isActive ? 'cyan' : color, children: isActive ? ' ❯ ' : ` ${icon} ` }), _jsx(Text, { color: isActive ? 'cyan' : undefined, bold: isActive, children: svc.service.padEnd(svcWidth) }), _jsx(Text, { color: isActive ? 'cyan' : undefined, dimColor: !isActive, children: version.padEnd(verWidth) }), _jsx(Text, { color: isActive ? 'cyan' : undefined, dimColor: !isActive, children: uptime.padEnd(10) }), _jsx(Text, { color: isActive ? 'cyan' : undefined, dimColor: !isActive, children: ports })] }, svc.service));
231
+ })] })), services && serviceList.length === 0 && (_jsx(Box, { paddingLeft: 2, children: _jsx(Text, { dimColor: true, children: "No services found in compose file." }) }))] }), serviceList.length > 0 && serviceList[cursor] && (_jsxs(Box, { paddingLeft: 4, paddingTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, color: "cyan", children: serviceList[cursor].service }), _jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: ' Image: ' }), _jsx(Text, { children: serviceList[cursor].image })] }), _jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: ' State: ' }), _jsxs(Text, { color: healthColor(serviceList[cursor].health, serviceList[cursor].state), children: [serviceList[cursor].state, serviceList[cursor].health ? ` (${serviceList[cursor].health})` : ''] })] }), _jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: ' Status: ' }), _jsx(Text, { children: serviceList[cursor].status })] }), serviceList[cursor].ports && (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: ' Ports: ' }), _jsx(Text, { children: serviceList[cursor].ports })] }))] })), _jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: '↑↓ Navigate Enter/l Logs s Start x Stop r Restart a Start All X Stop All q Back' }) })] }));
227
232
  }
228
233
  /* ------------------------------------------------------------------ */
229
234
  /* Export */
@@ -1 +1 @@
1
- {"version":3,"file":"ServicesView.js","sourceRoot":"","sources":["../../../src/ui/views/ServicesView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServicesView.js","sourceRoot":"","sources":["../../../src/ui/views/ServicesView.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StatusView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/StatusView.tsx"],"names":[],"mappings":"AASA,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,2CAyKrD"}
1
+ {"version":3,"file":"StatusView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/StatusView.tsx"],"names":[],"mappings":"AAqGA,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,2CA4LrD"}
@@ -7,12 +7,75 @@ import { rpc, rpcOk, healthCheck } from '../../lib/rpc.js';
7
7
  import { getSystemStats } from '../../lib/system.js';
8
8
  import { AppShell, Section, StatusLine, ShellOutput, Spinner } from '../components/index.js';
9
9
  import { useAsyncTask, useFinish } from '../hooks/index.js';
10
+ function parseContainers(jsonLines) {
11
+ const containers = [];
12
+ for (const line of jsonLines.trim().split('\n')) {
13
+ if (!line.trim())
14
+ continue;
15
+ try {
16
+ const c = JSON.parse(line);
17
+ const statusStr = c.Status ?? c.State ?? '';
18
+ let health = 'none';
19
+ if (statusStr.includes('healthy') && !statusStr.includes('unhealthy'))
20
+ health = 'healthy';
21
+ else if (statusStr.includes('unhealthy'))
22
+ health = 'unhealthy';
23
+ else if (statusStr.includes('starting') || statusStr.includes('health:'))
24
+ health = 'starting';
25
+ // Extract just the version tag from image
26
+ const image = c.Image ?? '';
27
+ const tag = image.includes(':') ? image.split(':').pop() : image;
28
+ containers.push({
29
+ service: c.Service ?? c.Name ?? '',
30
+ image: tag,
31
+ status: statusStr.replace(/\s*\(.*\)/, '').trim(),
32
+ health,
33
+ ports: formatPorts(c.Publishers ?? []),
34
+ });
35
+ }
36
+ catch { /* skip unparseable lines */ }
37
+ }
38
+ return containers.sort((a, b) => a.service.localeCompare(b.service));
39
+ }
40
+ function formatPorts(publishers) {
41
+ if (!publishers || publishers.length === 0)
42
+ return '';
43
+ const seen = new Set();
44
+ const parts = [];
45
+ for (const p of publishers) {
46
+ if (!p.PublishedPort || p.PublishedPort === 0)
47
+ continue;
48
+ const key = `${p.PublishedPort}→${p.TargetPort}`;
49
+ if (seen.has(key))
50
+ continue;
51
+ seen.add(key);
52
+ parts.push(key);
53
+ }
54
+ return parts.join(', ');
55
+ }
56
+ const HEALTH_ICON = {
57
+ healthy: '●',
58
+ unhealthy: '●',
59
+ starting: '●',
60
+ none: '○',
61
+ };
62
+ const HEALTH_COLOR = {
63
+ healthy: 'green',
64
+ unhealthy: 'red',
65
+ starting: 'yellow',
66
+ none: 'gray',
67
+ };
68
+ function ContainerTable({ containers }) {
69
+ const svcWidth = Math.max(7, ...containers.map(c => c.service.length)) + 2;
70
+ const imgWidth = Math.max(5, ...containers.map(c => c.image.length)) + 2;
71
+ return (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsxs(Box, { children: [_jsx(Text, { dimColor: true, bold: true, children: ' '.padEnd(3) }), _jsx(Text, { dimColor: true, bold: true, children: 'Service'.padEnd(svcWidth) }), _jsx(Text, { dimColor: true, bold: true, children: 'Version'.padEnd(imgWidth) }), _jsx(Text, { dimColor: true, bold: true, children: 'Status'.padEnd(14) }), _jsx(Text, { dimColor: true, bold: true, children: 'Ports' })] }), containers.map((c) => (_jsxs(Box, { children: [_jsx(Text, { color: HEALTH_COLOR[c.health], children: ` ${HEALTH_ICON[c.health]} ` }), _jsx(Text, { bold: true, children: c.service.padEnd(svcWidth) }), _jsx(Text, { children: c.image.padEnd(imgWidth) }), _jsx(Text, { dimColor: true, children: c.status.padEnd(14) }), _jsx(Text, { dimColor: true, children: c.ports })] }, c.service)))] }));
72
+ }
10
73
  export function StatusView({ onBack }) {
11
74
  const finish = useFinish(onBack);
12
- // Section 1: Container Status
75
+ // Section 1: Container Status (JSON format for parsing)
13
76
  const containerTask = useAsyncTask(async () => {
14
- const result = await compose(['ps'], { pipe: true });
15
- return result.stdout ?? '';
77
+ const result = await compose(['ps', '--format', 'json'], { pipe: true });
78
+ return parseContainers(result.stdout ?? '');
16
79
  });
17
80
  // Section 2: Database Status
18
81
  const dbReadyTask = useAsyncTask(async () => {
@@ -79,6 +142,11 @@ export function StatusView({ onBack }) {
79
142
  if (onBack && allDone && (input === 'q' || key.escape))
80
143
  finish();
81
144
  });
82
- return (_jsxs(AppShell, { command: "ct status", children: [_jsxs(Section, { title: "Container Status", children: [containerTask.status === 'pending' && _jsx(Spinner, { label: "Checking containers..." }), containerTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Could not check containers" }), containerTask.status === 'done' && containerTask.data && (_jsx(ShellOutput, { content: containerTask.data }))] }), _jsxs(Section, { title: "Database Status", children: [dbReadyTask.status === 'pending' && _jsx(Spinner, { label: "Checking database..." }), dbReadyTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Database check failed" }), dbReadyTask.status === 'done' && (_jsx(StatusLine, { status: dbReadyTask.data ? 'ok' : 'fail', label: dbReadyTask.data ? 'Database: accepting connections' : 'Database: not accepting connections' })), dbCountTask.status === 'pending' && _jsx(Spinner, { label: "Counting migrations..." }), dbCountTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Could not count migrations" }), dbCountTask.status === 'done' && (_jsx(StatusLine, { status: "ok", label: `Migrations in database: ${dbCountTask.data}` })), dbLatestTask.status === 'pending' && _jsx(Spinner, { label: "Finding latest migration..." }), dbLatestTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Could not find latest migration" }), dbLatestTask.status === 'done' && (_jsx(StatusLine, { status: "ok", label: `Latest migration: ${dbLatestTask.data}` }))] }), _jsxs(Section, { title: "Application RPC Status", children: [rpcTask.status === 'pending' && _jsx(Spinner, { label: "Checking RPC connection..." }), rpcTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "RPC check failed" }), rpcTask.status === 'done' && rpcTask.data && (_jsxs(_Fragment, { children: [_jsx(StatusLine, { status: rpcTask.data.ok ? 'ok' : 'fail', label: rpcTask.data.ok ? 'RPC connection: working' : 'RPC connection: failed' }), rpcTask.data.ok && rpcTask.data.output && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, children: " Migration Status (from application)" }), _jsx(ShellOutput, { content: rpcTask.data.output })] })), !rpcTask.data.ok && (_jsx(Text, { dimColor: true, children: " Application may still be starting up" }))] }))] }), _jsxs(Section, { title: "Health Check", children: [healthTask.status === 'pending' && _jsx(Spinner, { label: "Running health check..." }), healthTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Health check failed" }), healthTask.status === 'done' && (_jsx(StatusLine, { status: healthTask.data ? 'ok' : 'warn', label: healthTask.data ? 'Web application healthy' : 'Web health check pending' }))] }), _jsxs(Section, { title: "System Stats", children: [statsTask.status === 'pending' && _jsx(Spinner, { label: "Gathering system stats..." }), statsTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Could not gather system stats" }), statsTask.status === 'done' && statsTask.data && (_jsxs(Text, { children: [" ", statsTask.data] }))] }), onBack && allDone && (_jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "Press q to go back" }) }))] }));
145
+ // Derive health summary from containers
146
+ const containers = containerTask.data ?? [];
147
+ const healthyCount = containers.filter(c => c.health === 'healthy').length;
148
+ const unhealthyCount = containers.filter(c => c.health === 'unhealthy').length;
149
+ const totalCount = containers.length;
150
+ return (_jsxs(AppShell, { command: "ct status", children: [_jsxs(Section, { title: "Services", children: [containerTask.status === 'pending' && _jsx(Spinner, { label: "Checking containers..." }), containerTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Could not check containers" }), containerTask.status === 'done' && containers.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Box, { paddingLeft: 2, marginBottom: 1, children: _jsxs(Text, { children: [_jsx(Text, { bold: true, children: totalCount }), _jsx(Text, { children: " containers" }), healthyCount > 0 && _jsxs(Text, { color: "green", children: [" \u2014 ", healthyCount, " healthy"] }), unhealthyCount > 0 && _jsxs(Text, { color: "red", children: [" \u2014 ", unhealthyCount, " unhealthy"] })] }) }), _jsx(ContainerTable, { containers: containers })] })), containerTask.status === 'done' && containers.length === 0 && (_jsx(StatusLine, { status: "warn", label: "No containers running" }))] }), _jsxs(Section, { title: "Database", children: [dbReadyTask.status === 'pending' && _jsx(Spinner, { label: "Checking database..." }), dbReadyTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Database check failed" }), dbReadyTask.status === 'done' && (_jsx(StatusLine, { status: dbReadyTask.data ? 'ok' : 'fail', label: dbReadyTask.data ? 'Accepting connections' : 'Not accepting connections' })), dbCountTask.status === 'pending' && _jsx(Spinner, { label: "Counting migrations..." }), dbCountTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Could not count migrations" }), dbCountTask.status === 'done' && (_jsx(StatusLine, { status: "ok", label: `Migrations: ${dbCountTask.data}` })), dbLatestTask.status === 'pending' && _jsx(Spinner, { label: "Finding latest migration..." }), dbLatestTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Could not find latest migration" }), dbLatestTask.status === 'done' && (_jsx(StatusLine, { status: "ok", label: `Latest: ${dbLatestTask.data}` }))] }), _jsxs(Section, { title: "Application", children: [rpcTask.status === 'pending' && _jsx(Spinner, { label: "Checking RPC connection..." }), rpcTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "RPC check failed" }), rpcTask.status === 'done' && rpcTask.data && (_jsxs(_Fragment, { children: [_jsx(StatusLine, { status: rpcTask.data.ok ? 'ok' : 'fail', label: rpcTask.data.ok ? 'RPC connection: working' : 'RPC connection: failed' }), rpcTask.data.ok && rpcTask.data.output && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, children: " Migration Status (from application)" }), _jsx(ShellOutput, { content: rpcTask.data.output })] })), !rpcTask.data.ok && (_jsx(Text, { dimColor: true, children: " Application may still be starting up" }))] }))] }), _jsxs(Section, { title: "Health", children: [healthTask.status === 'pending' && _jsx(Spinner, { label: "Running health check..." }), healthTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Health check failed" }), healthTask.status === 'done' && (_jsx(StatusLine, { status: healthTask.data ? 'ok' : 'warn', label: healthTask.data ? 'Web application healthy' : 'Web health check pending' }))] }), _jsxs(Section, { title: "System", children: [statsTask.status === 'pending' && _jsx(Spinner, { label: "Gathering system stats..." }), statsTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Could not gather system stats" }), statsTask.status === 'done' && statsTask.data && (_jsxs(Text, { children: [" ", statsTask.data] }))] }), onBack && allDone && (_jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "Press q to go back" }) }))] }));
83
151
  }
84
152
  //# sourceMappingURL=StatusView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusView.js","sourceRoot":"","sources":["../../../src/ui/views/StatusView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StatusView.js","sourceRoot":"","sources":["../../../src/ui/views/StatusView.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAY,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAU5D,SAAS,eAAe,CAAC,SAAiB;IACxC,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAW,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,MAAM,GAA4B,MAAM,CAAC;YAC7C,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,MAAM,GAAG,SAAS,CAAC;iBACrF,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,MAAM,GAAG,WAAW,CAAC;iBAC1D,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,MAAM,GAAG,UAAU,CAAC;YAE9F,0CAA0C;YAC1C,MAAM,KAAK,GAAW,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAElE,UAAU,CAAC,IAAI,CAAC;gBACd,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE;gBAClC,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;gBACjD,MAAM;gBACN,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,WAAW,CAAC,UAAqF;IACxG,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC;YAAE,SAAS;QACxD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,WAAW,GAA4C;IAC3D,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,GAAG;IACb,IAAI,EAAE,GAAG;CACV,CAAC;AAEF,MAAM,YAAY,GAA4C;IAC5D,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,SAAS,cAAc,CAAC,EAAE,UAAU,EAAmC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IAEzE,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,aAExC,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,kBAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAQ,EAC1C,KAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,kBAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAQ,EACvD,KAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,kBAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAQ,EACvD,KAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,kBAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAQ,EAChD,KAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,kBAAE,OAAO,GAAQ,IAChC,EAEL,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACrB,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAG,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAQ,EAC1E,KAAC,IAAI,IAAC,IAAI,kBAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAQ,EAC9C,KAAC,IAAI,cAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAQ,EACvC,KAAC,IAAI,IAAC,QAAQ,kBAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAQ,EAC3C,KAAC,IAAI,IAAC,QAAQ,kBAAE,CAAC,CAAC,KAAK,GAAQ,KALvB,CAAC,CAAC,OAAO,CAMb,CACP,CAAC,IACE,CACP,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,EAAmB;IACpD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAEjC,wDAAwD;IACxD,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QAC1C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EACnC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI;YAChD,yCAAyC,CAAC,EAC3C,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EACnC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI;YAChD,sEAAsE,CAAC,EACxE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QACtC,MAAM,EAAE,GAAG,MAAM,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC;;;;;;;;;;;;;;;;;KAiBxB,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QACzC,OAAO,MAAM,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QACxC,OAAO,MAAM,cAAc,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,MAAM,OAAO,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC;SACpG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IAE3D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9B,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,MAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,wCAAwC;IACxC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC3E,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IAC/E,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;IAErC,OAAO,CACL,MAAC,QAAQ,IAAC,OAAO,EAAC,WAAW,aAE3B,MAAC,OAAO,IAAC,KAAK,EAAC,UAAU,aACtB,aAAa,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,wBAAwB,GAAG,EAChF,aAAa,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,GAAG,EACnG,aAAa,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3D,8BACE,KAAC,GAAG,IAAC,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,YAClC,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,IAAI,kBAAE,UAAU,GAAQ,EAC9B,KAAC,IAAI,8BAAmB,EACvB,YAAY,GAAG,CAAC,IAAI,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,yBAAK,YAAY,gBAAgB,EACxE,cAAc,GAAG,CAAC,IAAI,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,yBAAK,cAAc,kBAAkB,IACxE,GACH,EACN,KAAC,cAAc,IAAC,UAAU,EAAE,UAAU,GAAI,IACzC,CACJ,EACA,aAAa,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAC7D,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,uBAAuB,GAAG,CAC3D,IACO,EAGV,MAAC,OAAO,IAAC,KAAK,EAAC,UAAU,aACtB,WAAW,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,sBAAsB,GAAG,EAC5E,WAAW,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,uBAAuB,GAAG,EAC5F,WAAW,CAAC,MAAM,KAAK,MAAM,IAAI,CAChC,KAAC,UAAU,IACT,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EACxC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,2BAA2B,GAC/E,CACH,EAEA,WAAW,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,wBAAwB,GAAG,EAC9E,WAAW,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,GAAG,EACjG,WAAW,CAAC,MAAM,KAAK,MAAM,IAAI,CAChC,KAAC,UAAU,IAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAE,eAAe,WAAW,CAAC,IAAI,EAAE,GAAI,CACrE,EAEA,YAAY,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,6BAA6B,GAAG,EACpF,YAAY,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,iCAAiC,GAAG,EACvG,YAAY,CAAC,MAAM,KAAK,MAAM,IAAI,CACjC,KAAC,UAAU,IAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAE,WAAW,YAAY,CAAC,IAAI,EAAE,GAAI,CAClE,IACO,EAGV,MAAC,OAAO,IAAC,KAAK,EAAC,aAAa,aACzB,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,4BAA4B,GAAG,EAC9E,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,kBAAkB,GAAG,EACnF,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,CAC5C,8BACE,KAAC,UAAU,IACT,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EACvC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,wBAAwB,GAC7E,EACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CACzC,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACtC,KAAC,IAAI,IAAC,IAAI,4DAA6C,EACvD,KAAC,WAAW,IAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,GAAI,IACzC,CACP,EACA,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CACnB,KAAC,IAAI,IAAC,QAAQ,8DAA+C,CAC9D,IACA,CACJ,IACO,EAGV,MAAC,OAAO,IAAC,KAAK,EAAC,QAAQ,aACpB,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,yBAAyB,GAAG,EAC9E,UAAU,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,qBAAqB,GAAG,EACzF,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,CAC/B,KAAC,UAAU,IACT,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EACvC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,0BAA0B,GAC/E,CACH,IACO,EAGV,MAAC,OAAO,IAAC,KAAK,EAAC,QAAQ,aACpB,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,2BAA2B,GAAG,EAC/E,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,+BAA+B,GAAG,EAClG,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,IAAI,CAChD,MAAC,IAAI,qBAAI,SAAS,CAAC,IAAI,IAAQ,CAChC,IACO,EACT,MAAM,IAAI,OAAO,IAAI,CACpB,KAAC,GAAG,IAAC,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,YAChC,KAAC,IAAI,IAAC,QAAQ,yCAA0B,GACpC,CACP,IACQ,CACZ,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calltelemetry/cli",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "CallTelemetry appliance management CLI",
5
5
  "type": "module",
6
6
  "bin": {