@calltelemetry/cli 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/index.js +7 -2
  2. package/dist/index.js.map +1 -1
  3. package/dist/lib/bundle.d.ts +1 -0
  4. package/dist/lib/bundle.d.ts.map +1 -1
  5. package/dist/lib/bundle.js +46 -19
  6. package/dist/lib/bundle.js.map +1 -1
  7. package/dist/lib/certs.js +3 -3
  8. package/dist/lib/certs.js.map +1 -1
  9. package/dist/lib/compose.d.ts.map +1 -1
  10. package/dist/lib/compose.js +17 -9
  11. package/dist/lib/compose.js.map +1 -1
  12. package/dist/lib/exec.d.ts +31 -0
  13. package/dist/lib/exec.d.ts.map +1 -0
  14. package/dist/lib/exec.js +63 -0
  15. package/dist/lib/exec.js.map +1 -0
  16. package/dist/lib/log.d.ts +23 -0
  17. package/dist/lib/log.d.ts.map +1 -0
  18. package/dist/lib/log.js +52 -0
  19. package/dist/lib/log.js.map +1 -0
  20. package/dist/lib/system.d.ts +20 -0
  21. package/dist/lib/system.d.ts.map +1 -1
  22. package/dist/lib/system.js +52 -4
  23. package/dist/lib/system.js.map +1 -1
  24. package/dist/lib/update.d.ts +1 -1
  25. package/dist/lib/update.d.ts.map +1 -1
  26. package/dist/lib/update.js +14 -5
  27. package/dist/lib/update.js.map +1 -1
  28. package/dist/ui/components/AppShell.d.ts +4 -1
  29. package/dist/ui/components/AppShell.d.ts.map +1 -1
  30. package/dist/ui/components/AppShell.js +4 -3
  31. package/dist/ui/components/AppShell.js.map +1 -1
  32. package/dist/ui/components/LogLevelBadge.d.ts +7 -0
  33. package/dist/ui/components/LogLevelBadge.d.ts.map +1 -0
  34. package/dist/ui/components/LogLevelBadge.js +14 -0
  35. package/dist/ui/components/LogLevelBadge.js.map +1 -0
  36. package/dist/ui/components/MeterBar.d.ts +15 -0
  37. package/dist/ui/components/MeterBar.d.ts.map +1 -0
  38. package/dist/ui/components/MeterBar.js +17 -0
  39. package/dist/ui/components/MeterBar.js.map +1 -0
  40. package/dist/ui/components/StepList.d.ts +9 -1
  41. package/dist/ui/components/StepList.d.ts.map +1 -1
  42. package/dist/ui/components/StepList.js +6 -2
  43. package/dist/ui/components/StepList.js.map +1 -1
  44. package/dist/ui/components/index.d.ts +2 -0
  45. package/dist/ui/components/index.d.ts.map +1 -1
  46. package/dist/ui/components/index.js +2 -0
  47. package/dist/ui/components/index.js.map +1 -1
  48. package/dist/ui/hooks/index.d.ts +2 -1
  49. package/dist/ui/hooks/index.d.ts.map +1 -1
  50. package/dist/ui/hooks/index.js +1 -0
  51. package/dist/ui/hooks/index.js.map +1 -1
  52. package/dist/ui/hooks/useLogLevel.d.ts +12 -0
  53. package/dist/ui/hooks/useLogLevel.d.ts.map +1 -0
  54. package/dist/ui/hooks/useLogLevel.js +19 -0
  55. package/dist/ui/hooks/useLogLevel.js.map +1 -0
  56. package/dist/ui/hooks/useStepRunner.d.ts +14 -1
  57. package/dist/ui/hooks/useStepRunner.d.ts.map +1 -1
  58. package/dist/ui/hooks/useStepRunner.js +24 -2
  59. package/dist/ui/hooks/useStepRunner.js.map +1 -1
  60. package/dist/ui/views/MainMenu.d.ts.map +1 -1
  61. package/dist/ui/views/MainMenu.js +22 -10
  62. package/dist/ui/views/MainMenu.js.map +1 -1
  63. package/dist/ui/views/ServicesView.d.ts.map +1 -1
  64. package/dist/ui/views/ServicesView.js +8 -10
  65. package/dist/ui/views/ServicesView.js.map +1 -1
  66. package/dist/ui/views/StatusView.d.ts.map +1 -1
  67. package/dist/ui/views/StatusView.js +17 -15
  68. package/dist/ui/views/StatusView.js.map +1 -1
  69. package/dist/ui/views/UpdateView.d.ts.map +1 -1
  70. package/dist/ui/views/UpdateView.js +70 -18
  71. package/dist/ui/views/UpdateView.js.map +1 -1
  72. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MainMenu.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MainMenu.tsx"],"names":[],"mappings":"AA4KA,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,aAAa,2CAuJxE"}
1
+ {"version":3,"file":"MainMenu.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MainMenu.tsx"],"names":[],"mappings":"AAgLA,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,aAAa,2CAoNxE"}
@@ -1,9 +1,12 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useCallback, useEffect } from 'react';
3
3
  import { Box, Text, useInput } from 'ink';
4
- import { AppShell, Spinner } from '../components/index.js';
5
- import { usePolling } from '../hooks/index.js';
4
+ import { AppShell, Spinner, MeterBar, LogLevelBadge } from '../components/index.js';
5
+ import { usePolling, useLogLevel } from '../hooks/index.js';
6
6
  import { getServiceList } from '../../lib/services.js';
7
+ import { getSystemMetrics } from '../../lib/system.js';
8
+ import { healthCheck } from '../../lib/rpc.js';
9
+ import { healthIcon, healthColor } from '../utils/serviceDisplay.js';
7
10
  import { LOGO } from '../../lib/brand.js';
8
11
  // View imports
9
12
  import { StatusView } from './StatusView.js';
@@ -165,16 +168,23 @@ export function MainMenu({ version, onCliCommand, onExit }) {
165
168
  const [menuCursor, setMenuCursor] = useState(0);
166
169
  const [menuStack, setMenuStack] = useState([]);
167
170
  const [logsService, setLogsService] = useState(null);
168
- const { data: services, stop: stopPolling, start: startPolling } = usePolling(getServiceList, 5000, false);
171
+ const { level: logLevel, cycle: cycleLogLevel } = useLogLevel();
172
+ const { data: services, stop: stopSvcPolling, start: startSvcPolling } = usePolling(getServiceList, 5000, false);
173
+ const { data: metrics, stop: stopMetrics, start: startMetrics } = usePolling(getSystemMetrics, 10000, false);
174
+ const { data: appHealth, stop: stopHealth, start: startHealth } = usePolling(healthCheck, 15000, false);
169
175
  // Control polling based on phase — only poll when on home screen
170
176
  useEffect(() => {
171
177
  if (phase === 'home') {
172
- startPolling();
178
+ startSvcPolling();
179
+ startMetrics();
180
+ startHealth();
173
181
  }
174
182
  else {
175
- stopPolling();
183
+ stopSvcPolling();
184
+ stopMetrics();
185
+ stopHealth();
176
186
  }
177
- }, [phase, startPolling, stopPolling]);
187
+ }, [phase, startSvcPolling, stopSvcPolling, startMetrics, stopMetrics, startHealth, stopHealth]);
178
188
  const goHome = useCallback(() => {
179
189
  setPhase('home');
180
190
  setActiveView(null);
@@ -234,6 +244,9 @@ export function MainMenu({ version, onCliCommand, onExit }) {
234
244
  setMenuCursor(0);
235
245
  }
236
246
  }
247
+ else if (input === 'd') {
248
+ cycleLogLevel();
249
+ }
237
250
  else if (key.escape || input === 'q') {
238
251
  if (hasParent) {
239
252
  setMenuStack(prev => prev.slice(0, -1));
@@ -253,14 +266,13 @@ export function MainMenu({ version, onCliCommand, onExit }) {
253
266
  return _jsx(ServiceLogsView, { service: logsService, onBack: goHome });
254
267
  }
255
268
  // --- Phase: home ---
256
- const runningCount = serviceList.filter(s => s.state === 'running').length;
257
269
  const healthyCount = serviceList.filter(s => s.health === 'healthy').length;
258
270
  const unhealthyCount = serviceList.filter(s => s.health === 'unhealthy').length;
259
271
  const stoppedCount = serviceList.filter(s => s.state === 'exited' || s.state === 'dead').length;
260
- return (_jsxs(AppShell, { title: `CallTelemetry CLI v${version}`, children: [_jsx(Box, { paddingLeft: 1, marginBottom: 1, children: _jsx(Text, { color: "cyan", children: LOGO }) }), !services && (_jsx(Box, { paddingLeft: 2, marginBottom: 1, children: _jsx(Spinner, { label: "Loading services..." }) })), serviceList.length > 0 && (_jsx(Box, { paddingLeft: 2, marginBottom: 1, children: _jsxs(Text, { children: [_jsx(Text, { bold: true, children: "Services:" }), _jsxs(Text, { children: [" ", serviceList.length, " containers"] }), healthyCount > 0 && _jsxs(Text, { color: "green", children: [" \u2014 ", healthyCount, " healthy"] }), unhealthyCount > 0 && _jsxs(Text, { color: "yellow", children: [", ", unhealthyCount, " unhealthy"] }), stoppedCount > 0 && _jsxs(Text, { color: "red", children: [", ", stoppedCount, " stopped"] })] }) })), _jsx(Box, { flexDirection: "column", paddingLeft: 2, paddingTop: serviceList.length > 0 ? 0 : 1, children: menuDisplayItems.map((entry, i) => {
272
+ return (_jsxs(AppShell, { title: `CallTelemetry CLI v${version}`, logLevel: logLevel, children: [_jsx(Box, { paddingLeft: 1, marginBottom: 1, children: _jsx(Text, { color: "cyan", children: LOGO }) }), _jsx(Box, { flexDirection: "column", paddingLeft: 2, marginBottom: 1, children: metrics ? (_jsxs(_Fragment, { children: [_jsx(MeterBar, { label: "RAM", percent: metrics.ram.percent, detail: metrics.ram.label }), _jsx(MeterBar, { label: "Disk", percent: metrics.disk.usedPercent, detail: metrics.disk.label }), _jsx(MeterBar, { label: "CPU", percent: metrics.cpu.percent, detail: metrics.cpu.label, thresholds: [80, 95] })] })) : (_jsx(Spinner, { label: "Loading system metrics..." })) }), _jsxs(Box, { paddingLeft: 2, marginBottom: 1, children: [_jsx(Text, { bold: true, children: 'App ' }), appHealth === undefined ? (_jsx(Text, { dimColor: true, children: "checking..." })) : appHealth ? (_jsx(Text, { color: "green", children: "\u25CF healthy" })) : (_jsx(Text, { color: "yellow", children: "\u25CB pending" }))] }), !services && (_jsx(Box, { paddingLeft: 2, marginBottom: 1, children: _jsx(Spinner, { label: "Loading containers..." }) })), serviceList.length > 0 && (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, marginBottom: 1, children: [_jsxs(Box, { marginBottom: 0, children: [_jsx(Text, { bold: true, children: "Containers" }), _jsxs(Text, { dimColor: true, children: [' ', serviceList.length, " total"] }), healthyCount > 0 && _jsxs(Text, { color: "green", children: [" \u2014 ", healthyCount, " healthy"] }), unhealthyCount > 0 && _jsxs(Text, { color: "yellow", children: [", ", unhealthyCount, " unhealthy"] }), stoppedCount > 0 && _jsxs(Text, { color: "red", children: [", ", stoppedCount, " stopped"] })] }), _jsx(Box, { flexWrap: "wrap", children: serviceList.map(svc => (_jsxs(Box, { marginRight: 1, children: [_jsx(Text, { color: healthColor(svc.health, svc.state), children: healthIcon(svc.health, svc.state) }), _jsx(Text, { dimColor: true, children: ` ${svc.service}` })] }, svc.service))) })] })), _jsx(Box, { paddingLeft: 2, children: _jsx(Text, { dimColor: true, children: '─'.repeat(50) }) }), _jsx(Box, { flexDirection: "column", paddingLeft: 2, paddingTop: 1, children: menuDisplayItems.map((entry, i) => {
261
273
  const isActive = i === menuCursor;
262
274
  const prefix = isActive ? '❯' : ' ';
263
275
  return (_jsxs(Box, { children: [_jsx(Text, { color: isActive ? 'cyan' : undefined, bold: isActive, children: `${prefix} ${entry.label.padEnd(16)}` }), _jsx(Text, { dimColor: true, children: entry.description })] }, `menu-${i}`));
264
- }) }), _jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: '↑↓ Navigate Enter Select q Quit' }) })] }));
276
+ }) }), _jsxs(Box, { paddingLeft: 2, paddingTop: 1, children: [_jsx(Text, { dimColor: true, children: '↑↓ Navigate Enter Select d Log Level q Quit' }), logLevel !== 'normal' && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(LogLevelBadge, { level: logLevel })] }))] })] }));
265
277
  }
266
278
  //# sourceMappingURL=MainMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MainMenu.js","sourceRoot":"","sources":["../../../src/ui/views/MainMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MainMenu.js","sourceRoot":"","sources":["../../../src/ui/views/MainMenu.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ServicesView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/ServicesView.tsx"],"names":[],"mappings":"AAqBA,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAqUD,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,iBAAiB,2CAK1E"}
1
+ {"version":3,"file":"ServicesView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/ServicesView.tsx"],"names":[],"mappings":"AAqBA,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAgUD,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,iBAAiB,2CAK1E"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useState, useEffect, useCallback } from 'react';
3
- import { Box, Text, useInput } from 'ink';
3
+ import { Box, Text, useApp, useInput } from 'ink';
4
4
  import { AppShell, Section, StepList, Spinner } from '../components/index.js';
5
- import { usePolling, useStepRunner, useFinish } from '../hooks/index.js';
5
+ import { usePolling, useStepRunner } from '../hooks/index.js';
6
6
  import { getServiceList, startService, stopService, restartService, startAllServices, stopAllServices, } from '../../lib/services.js';
7
7
  import { ServiceLogsView } from './ServiceLogsView.js';
8
8
  import { healthIcon, healthColor, extractVersion, extractUptime } from '../utils/serviceDisplay.js';
@@ -10,7 +10,6 @@ import { healthIcon, healthColor, extractVersion, extractUptime } from '../utils
10
10
  /* Non-interactive (one-shot) mode */
11
11
  /* ------------------------------------------------------------------ */
12
12
  function OneShotView({ action, service, onBack }) {
13
- const finish = useFinish(onBack);
14
13
  const steps = [
15
14
  {
16
15
  label: 'Check service',
@@ -45,11 +44,7 @@ function OneShotView({ action, service, onBack }) {
45
44
  useEffect(() => {
46
45
  run();
47
46
  }, [run]);
48
- useEffect(() => {
49
- if (isDone)
50
- finish();
51
- }, [isDone, finish]);
52
- 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 }) }) }));
47
+ return (_jsx(AppShell, { command: `ct services ${action} ${service}`, onBack: onBack, isComplete: isDone, children: _jsx(Section, { title: `${action.charAt(0).toUpperCase() + action.slice(1)} Service`, children: _jsx(StepList, { steps: states }) }) }));
53
48
  }
54
49
  function formatPorts(ports) {
55
50
  if (!ports)
@@ -68,7 +63,7 @@ function formatPorts(ports) {
68
63
  return parts.join(' ');
69
64
  }
70
65
  function InteractiveView({ onBack }) {
71
- const finish = useFinish(onBack);
66
+ const { exit } = useApp();
72
67
  const [phase, setPhase] = useState('list');
73
68
  const [cursor, setCursor] = useState(0);
74
69
  const [actionState, setActionState] = useState(null);
@@ -143,7 +138,10 @@ function InteractiveView({ onBack }) {
143
138
  executeAction('Stopping all services...', () => stopAllServices().then(() => { }));
144
139
  }
145
140
  else if (input === 'q' || key.escape || key.leftArrow) {
146
- finish();
141
+ if (onBack)
142
+ onBack();
143
+ else
144
+ exit();
147
145
  }
148
146
  });
149
147
  // Clamp cursor when list changes
@@ -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,2CA0JrD"}
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,2CAgKrD"}
@@ -1,14 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect } from 'react';
3
- import { Box, Text, useInput } from 'ink';
2
+ import { Text } from 'ink';
4
3
  import { composeExec } from '../../lib/compose.js';
5
4
  import { DB_USER, DB_NAME, PG_ENV } from '../../lib/db.js';
6
5
  import { rpc, rpcOk, healthCheck } from '../../lib/rpc.js';
7
6
  import { getSystemStats } from '../../lib/system.js';
8
- import { AppShell, Section, StatusLine, ShellOutput, Spinner } from '../components/index.js';
9
- import { useAsyncTask, useFinish } from '../hooks/index.js';
7
+ import { AppShell, Section, StatusLine, Spinner } from '../components/index.js';
8
+ import { useAsyncTask } from '../hooks/index.js';
10
9
  export function StatusView({ onBack }) {
11
- const finish = useFinish(onBack);
12
10
  // Database Status
13
11
  const dbReadyTask = useAsyncTask(async () => {
14
12
  try {
@@ -65,15 +63,19 @@ export function StatusView({ onBack }) {
65
63
  // Exit when all tasks complete
66
64
  const allDone = [dbReadyTask, dbCountTask, dbLatestTask, rpcTask, healthTask, statsTask]
67
65
  .every(t => t.status === 'done' || t.status === 'error');
68
- useEffect(() => {
69
- if (allDone && !onBack) {
70
- finish();
71
- }
72
- }, [allDone, onBack, finish]);
73
- useInput((input, key) => {
74
- if (onBack && allDone && (input === 'q' || key.escape || key.leftArrow))
75
- finish();
76
- });
77
- return (_jsxs(AppShell, { command: "ct status", children: [_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" }) }))] }));
66
+ // Parse RPC output into structured data
67
+ const rpcParsed = (() => {
68
+ if (!rpcTask.data?.ok || !rpcTask.data?.output)
69
+ return null;
70
+ const lines = rpcTask.data.output.split('\n');
71
+ const applied = lines.find(l => l.startsWith('Applied:'))?.split(':')[1]?.trim();
72
+ const pending = lines.find(l => l.startsWith('Pending:'))?.split(':')[1]?.trim();
73
+ const allComplete = lines.some(l => l.includes('All migrations complete'));
74
+ const pendingList = lines
75
+ .filter(l => l.trim().startsWith('- '))
76
+ .map(l => l.trim().replace(/^- /, ''));
77
+ return { applied, pending, allComplete, pendingList };
78
+ })();
79
+ return (_jsxs(AppShell, { command: "ct status", onBack: onBack, isComplete: allDone, children: [_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 && rpcParsed && (_jsxs(_Fragment, { children: [rpcParsed.applied && _jsx(StatusLine, { status: "ok", label: `Applied migrations: ${rpcParsed.applied}` }), rpcParsed.pending && (_jsx(StatusLine, { status: rpcParsed.pending === '0' ? 'ok' : 'warn', label: `Pending migrations: ${rpcParsed.pending}` })), rpcParsed.allComplete && _jsx(StatusLine, { status: "ok", label: "All migrations complete" }), rpcParsed.pendingList.length > 0 && rpcParsed.pendingList.map((m, i) => (_jsxs(Text, { dimColor: true, children: [" ", m] }, i)))] })), !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] }))] })] }));
78
80
  }
79
81
  //# 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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/UpdateView.tsx"],"names":[],"mappings":"AAeA,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAkCD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,2CA6YrD"}
1
+ {"version":3,"file":"UpdateView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/UpdateView.tsx"],"names":[],"mappings":"AAeA,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAkCD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,2CAucrD"}
@@ -3,8 +3,8 @@ import { useState, useEffect, useMemo, useCallback } from 'react';
3
3
  import { Box, Text, useApp, useInput } from 'ink';
4
4
  import { join } from 'node:path';
5
5
  import { AppShell, Section, Spinner, StatusBox, KeyValue, Confirm, StepList, TextInput } from '../components/index.js';
6
- import { useAsyncTask, useStepRunner } from '../hooks/index.js';
7
- import { fetchLatestVersion, fetchAvailableVersions, downloadBundle, checkImageAvailabilityQuiet } from '../../lib/bundle.js';
6
+ import { useAsyncTask, useStepRunner, useLogLevel } from '../hooks/index.js';
7
+ import { fetchLatestVersion, fetchAvailableVersions, downloadBundle, checkImageAvailabilityQuiet, extractImages } from '../../lib/bundle.js';
8
8
  import { checkRam, checkDiskSpace, getDockerVersion } from '../../lib/system.js';
9
9
  import { generateSelfSignedCerts } from '../../lib/certs.js';
10
10
  import { getCurrentVersion, backupCompose, applyAndRestart, postgresVersionGuard, dockerCleanup, pullImages } from '../../lib/update.js';
@@ -52,6 +52,7 @@ export function UpdateView({ onBack }) {
52
52
  const [showAll, setShowAll] = useState(false);
53
53
  const [showCustom, setShowCustom] = useState(false);
54
54
  const [customValue, setCustomValue] = useState('');
55
+ const { level: logLevel, cycle: cycleLogLevel } = useLogLevel();
55
56
  // --- Phase: fetch ---
56
57
  const fetchTask = useAsyncTask(async () => {
57
58
  const [current, stable, latest, all] = await Promise.all([
@@ -140,22 +141,42 @@ export function UpdateView({ onBack }) {
140
141
  return [
141
142
  {
142
143
  label: 'Generate certificates',
143
- run: async () => { await generateSelfSignedCerts(); return 'checked'; },
144
+ run: async (ctx) => {
145
+ ctx?.log('Checking for existing certificates...');
146
+ await generateSelfSignedCerts();
147
+ return 'checked';
148
+ },
144
149
  },
145
150
  {
146
151
  label: 'Backup current config',
147
- run: async () => { return await backupCompose(); },
152
+ run: async (ctx) => {
153
+ ctx?.log('Creating timestamped backup...');
154
+ const name = await backupCompose();
155
+ ctx?.log(`Saved: ${name}`);
156
+ return name;
157
+ },
148
158
  },
149
159
  {
150
160
  label: 'Download config bundle',
151
- run: async () => { await downloadBundle(v, { quiet: true }); return v; },
161
+ run: async (ctx) => {
162
+ const { gcsBundleBaseUrl } = getPaths();
163
+ ctx?.log(`Downloading from ${gcsBundleBaseUrl}/${v}/`);
164
+ await downloadBundle(v, { quiet: true });
165
+ ctx?.log('Extracted docker-compose.yml, configs, and supporting files');
166
+ return v;
167
+ },
152
168
  },
153
169
  {
154
170
  label: 'Check image availability',
155
- run: async () => {
171
+ run: async (ctx) => {
156
172
  const result = await checkImageAvailabilityQuiet(tempFile);
173
+ for (const r of result.results) {
174
+ ctx?.log(`${r.available ? '✔' : '✘'} ${r.image}${r.error ? ` (${r.error})` : ''}`);
175
+ }
157
176
  if (!result.available) {
158
- const missing = result.results.filter(r => !r.available).map(r => r.image);
177
+ const missing = result.results
178
+ .filter(r => !r.available)
179
+ .map(r => r.error ? `${r.image} (${r.error})` : r.image);
159
180
  throw new Error(`Unavailable: ${missing.join(', ')}`);
160
181
  }
161
182
  return `${result.results.length} images verified`;
@@ -163,25 +184,41 @@ export function UpdateView({ onBack }) {
163
184
  },
164
185
  {
165
186
  label: 'Pull Docker images',
166
- run: async () => {
167
- const images = await pullImages(tempFile);
168
- return `${images.length} images`;
187
+ run: async (ctx) => {
188
+ const images = await extractImages(tempFile);
189
+ ctx?.log(`Pulling ${images.length} images...`);
190
+ for (const img of images)
191
+ ctx?.log(` ${img}`);
192
+ const pulled = await pullImages(tempFile);
193
+ return `${pulled.length} images`;
169
194
  },
170
195
  },
171
196
  {
172
197
  label: 'PostgreSQL version guard',
173
- run: async () => {
198
+ run: async (ctx) => {
199
+ ctx?.log('Checking PostgreSQL version compatibility...');
174
200
  const pinned = await postgresVersionGuard();
201
+ if (pinned)
202
+ ctx?.log(`Pinned to PostgreSQL ${pinned} to prevent accidental upgrade`);
175
203
  return pinned ? `pinned to PG ${pinned}` : 'ok';
176
204
  },
177
205
  },
178
206
  {
179
207
  label: 'Apply and restart services',
180
- run: async () => { await applyAndRestart(); return 'done'; },
208
+ run: async (ctx) => {
209
+ ctx?.log('Moving temp compose to production...');
210
+ await applyAndRestart();
211
+ ctx?.log('Services restarted');
212
+ return 'done';
213
+ },
181
214
  },
182
215
  {
183
216
  label: 'Cleanup unused resources',
184
- run: async () => { await dockerCleanup(); return 'done'; },
217
+ run: async (ctx) => {
218
+ ctx?.log('Running docker system prune...');
219
+ await dockerCleanup();
220
+ return 'done';
221
+ },
185
222
  },
186
223
  ];
187
224
  }, [selectedVersion]);
@@ -237,6 +274,11 @@ export function UpdateView({ onBack }) {
237
274
  }
238
275
  return;
239
276
  }
277
+ // Cycle log level during execute/preflight/done phases
278
+ if (input === 'd') {
279
+ cycleLogLevel();
280
+ return;
281
+ }
240
282
  // confirm is handled by <Confirm> component
241
283
  // done/executeFailed back-nav handled by AppShell
242
284
  if (phase === 'error') {
@@ -270,9 +312,21 @@ export function UpdateView({ onBack }) {
270
312
  const direction = versions && selectedVersion
271
313
  ? versionDirection(versions.current, selectedVersion)
272
314
  : null;
315
+ // Build error lines for failed execute steps (include stderr and command)
316
+ const failedStep = executeRunner.states.find(s => s.status === 'error');
317
+ const executeErrorLines = [];
318
+ if (failedStep) {
319
+ executeErrorLines.push(failedStep.detail ?? 'Unknown error');
320
+ if (failedStep.errorDetail?.command) {
321
+ executeErrorLines.push(`Command: ${failedStep.errorDetail.command}`);
322
+ }
323
+ if (failedStep.errorDetail?.stderr && failedStep.errorDetail.stderr !== failedStep.detail) {
324
+ executeErrorLines.push(`stderr: ${failedStep.errorDetail.stderr}`);
325
+ }
326
+ }
273
327
  // --- Render ---
274
328
  const isComplete = phase === 'done' || phase === 'error' || executeFailed;
275
- return (_jsxs(AppShell, { command: "ct update", onBack: onBack, isComplete: isComplete, children: [phase === 'fetch' && (_jsx(Section, { title: "Update", children: _jsx(Spinner, { label: "Fetching available versions..." }) })), phase === 'select' && versions && (_jsxs(_Fragment, { children: [_jsx(Section, { title: "Current Version", children: _jsx(Box, { paddingLeft: 2, children: _jsx(Text, { bold: true, children: versions.current }) }) }), _jsx(Section, { title: "Available Versions", children: showCustom ? (_jsxs(Box, { paddingLeft: 2, flexDirection: "column", children: [_jsx(TextInput, { label: "Version", value: customValue, onChange: setCustomValue, onSubmit: handleCustomSubmit, placeholder: "e.g. 0.8.6-rc49" }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Enter to confirm Esc to cancel" }) })] })) : (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [displayVersions.map((v, i) => {
329
+ return (_jsxs(AppShell, { command: "ct update", onBack: onBack, isComplete: isComplete, logLevel: logLevel, children: [phase === 'fetch' && (_jsx(Section, { title: "Update", children: _jsx(Spinner, { label: "Fetching available versions..." }) })), phase === 'select' && versions && (_jsxs(_Fragment, { children: [_jsx(Section, { title: "Current Version", children: _jsx(Box, { paddingLeft: 2, children: _jsx(Text, { bold: true, children: versions.current }) }) }), _jsx(Section, { title: "Available Versions", children: showCustom ? (_jsxs(Box, { paddingLeft: 2, flexDirection: "column", children: [_jsx(TextInput, { label: "Version", value: customValue, onChange: setCustomValue, onSubmit: handleCustomSubmit, placeholder: "e.g. 0.8.6-rc49" }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Enter to confirm Esc to cancel" }) })] })) : (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [displayVersions.map((v, i) => {
276
330
  const isActive = i === cursor;
277
331
  const dir = versionDirection(versions.current, v);
278
332
  const dl = directionLabel(dir);
@@ -282,16 +336,14 @@ export function UpdateView({ onBack }) {
282
336
  const customIdx = displayVersions.length + (hasMore ? 1 : 0);
283
337
  const isActive = cursor === customIdx;
284
338
  return (_jsxs(Box, { children: [_jsx(Text, { color: isActive ? 'cyan' : undefined, bold: isActive, children: isActive ? '❯ ' : ' ' }), _jsx(Text, { color: isActive ? 'cyan' : undefined, bold: isActive, children: 'Custom...'.padEnd(26) }), _jsx(Text, { dimColor: true, children: "Enter a specific version" })] }));
285
- })()] })) }), !showCustom && (_jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "\u2191\u2193 Navigate \u2192/Enter Select \u2190 Back c Custom q Back" }) }))] })), phase === 'preflight' && (_jsx(Section, { title: "Pre-flight Checks", children: _jsx(StepList, { steps: preflightRunner.states }) })), phase === 'confirm' && versions && selectedVersion && (_jsxs(Section, { title: "Update Summary", children: [_jsx(KeyValue, { items: [
339
+ })()] })) }), !showCustom && (_jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "\u2191\u2193 Navigate \u2192/Enter Select \u2190 Back c Custom d Log Level q Back" }) }))] })), phase === 'preflight' && (_jsx(Section, { title: "Pre-flight Checks", children: _jsx(StepList, { steps: preflightRunner.states, expanded: logLevel !== 'normal' }) })), phase === 'confirm' && versions && selectedVersion && (_jsxs(Section, { title: "Update Summary", children: [_jsx(KeyValue, { items: [
286
340
  { key: 'Current Version', value: versions.current },
287
341
  { key: 'Target Version', value: selectedVersion },
288
342
  { key: 'Direction', value: directionLabel(direction).text },
289
343
  ] }), direction === 'downgrade' && (_jsx(Box, { marginTop: 1, paddingLeft: 2, children: _jsx(StatusBox, { variant: "warning", title: "DOWNGRADE WARNING", lines: [
290
344
  `You are downgrading from ${versions.current} to ${selectedVersion}.`,
291
345
  'This may cause data incompatibilities.',
292
- ] }) })), _jsx(Box, { marginTop: 1, paddingLeft: 2, children: _jsx(Confirm, { message: `Proceed with update to ${selectedVersion}?`, onConfirm: handleConfirm }) })] })), phase === 'execute' && (_jsxs(Section, { title: `Updating to ${selectedVersion}`, children: [_jsx(StepList, { steps: executeRunner.states }), executeFailed && (_jsx(Box, { marginTop: 1, paddingLeft: 2, children: _jsx(StatusBox, { variant: "error", title: "Update failed", lines: [
293
- executeRunner.states.find(s => s.status === 'error')?.detail ?? 'Unknown error',
294
- ] }) }))] })), phase === 'done' && versions && selectedVersion && (_jsx(Box, { paddingLeft: 2, children: _jsx(StatusBox, { variant: "success", title: "Update complete!", lines: [
346
+ ] }) })), _jsx(Box, { marginTop: 1, paddingLeft: 2, children: _jsx(Confirm, { message: `Proceed with update to ${selectedVersion}?`, onConfirm: handleConfirm }) })] })), phase === 'execute' && (_jsxs(Section, { title: `Updating to ${selectedVersion}`, children: [_jsx(StepList, { steps: executeRunner.states, expanded: logLevel !== 'normal' }), executeFailed && (_jsx(Box, { marginTop: 1, paddingLeft: 2, flexDirection: "column", children: _jsx(StatusBox, { variant: "error", title: "Update failed", lines: executeErrorLines }) })), _jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsxs(Text, { dimColor: true, children: ['d Log Level', executeFailed ? ' q Back' : ''] }) })] })), phase === 'done' && versions && selectedVersion && (_jsx(Box, { paddingLeft: 2, children: _jsx(StatusBox, { variant: "success", title: "Update complete!", lines: [
295
347
  `Updated from ${versions.current} to ${selectedVersion}`,
296
348
  ] }) })), phase === 'error' && (_jsxs(_Fragment, { children: [_jsx(Box, { paddingLeft: 2, children: _jsx(StatusBox, { variant: "error", title: "Error", lines: [error ?? 'Unknown error'] }) }), _jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "r Retry" }) })] }))] }));
297
349
  }