@calltelemetry/cli 0.3.1 → 0.3.3

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 (142) hide show
  1. package/dist/index.js +9 -12
  2. package/dist/index.js.map +1 -1
  3. package/dist/lib/brand.d.ts +2 -0
  4. package/dist/lib/brand.d.ts.map +1 -0
  5. package/dist/lib/brand.js +7 -0
  6. package/dist/lib/brand.js.map +1 -0
  7. package/dist/lib/bundle.d.ts +1 -0
  8. package/dist/lib/bundle.d.ts.map +1 -1
  9. package/dist/lib/bundle.js +46 -19
  10. package/dist/lib/bundle.js.map +1 -1
  11. package/dist/lib/certs.js +3 -3
  12. package/dist/lib/certs.js.map +1 -1
  13. package/dist/lib/compose.d.ts.map +1 -1
  14. package/dist/lib/compose.js +17 -9
  15. package/dist/lib/compose.js.map +1 -1
  16. package/dist/lib/exec.d.ts +31 -0
  17. package/dist/lib/exec.d.ts.map +1 -0
  18. package/dist/lib/exec.js +63 -0
  19. package/dist/lib/exec.js.map +1 -0
  20. package/dist/lib/log.d.ts +15 -0
  21. package/dist/lib/log.d.ts.map +1 -0
  22. package/dist/lib/log.js +28 -0
  23. package/dist/lib/log.js.map +1 -0
  24. package/dist/lib/system.d.ts.map +1 -1
  25. package/dist/lib/system.js +8 -3
  26. package/dist/lib/system.js.map +1 -1
  27. package/dist/lib/update.d.ts +1 -1
  28. package/dist/lib/update.d.ts.map +1 -1
  29. package/dist/lib/update.js +14 -5
  30. package/dist/lib/update.js.map +1 -1
  31. package/dist/ui/components/AppShell.d.ts +4 -1
  32. package/dist/ui/components/AppShell.d.ts.map +1 -1
  33. package/dist/ui/components/AppShell.js +17 -3
  34. package/dist/ui/components/AppShell.js.map +1 -1
  35. package/dist/ui/components/Confirm.js +2 -2
  36. package/dist/ui/components/Confirm.js.map +1 -1
  37. package/dist/ui/components/SelectMenu.d.ts +1 -6
  38. package/dist/ui/components/SelectMenu.d.ts.map +1 -1
  39. package/dist/ui/components/SelectMenu.js.map +1 -1
  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 +2 -2
  43. package/dist/ui/components/StepList.js.map +1 -1
  44. package/dist/ui/components/index.d.ts +1 -1
  45. package/dist/ui/components/index.d.ts.map +1 -1
  46. package/dist/ui/hooks/index.d.ts +1 -1
  47. package/dist/ui/hooks/index.d.ts.map +1 -1
  48. package/dist/ui/hooks/useStepRunner.d.ts +14 -1
  49. package/dist/ui/hooks/useStepRunner.d.ts.map +1 -1
  50. package/dist/ui/hooks/useStepRunner.js +24 -2
  51. package/dist/ui/hooks/useStepRunner.js.map +1 -1
  52. package/dist/ui/utils/serviceDisplay.js +3 -3
  53. package/dist/ui/views/CertsStatusView.d.ts.map +1 -1
  54. package/dist/ui/views/CertsStatusView.js +6 -17
  55. package/dist/ui/views/CertsStatusView.js.map +1 -1
  56. package/dist/ui/views/DbBackupView.d.ts.map +1 -1
  57. package/dist/ui/views/DbBackupView.js +3 -10
  58. package/dist/ui/views/DbBackupView.js.map +1 -1
  59. package/dist/ui/views/DbCompactView.d.ts.map +1 -1
  60. package/dist/ui/views/DbCompactView.js +2 -10
  61. package/dist/ui/views/DbCompactView.js.map +1 -1
  62. package/dist/ui/views/DbListView.d.ts.map +1 -1
  63. package/dist/ui/views/DbListView.js +4 -15
  64. package/dist/ui/views/DbListView.js.map +1 -1
  65. package/dist/ui/views/DbSizeView.d.ts.map +1 -1
  66. package/dist/ui/views/DbSizeView.js +2 -13
  67. package/dist/ui/views/DbSizeView.js.map +1 -1
  68. package/dist/ui/views/DbStatusView.d.ts.map +1 -1
  69. package/dist/ui/views/DbStatusView.js +3 -12
  70. package/dist/ui/views/DbStatusView.js.map +1 -1
  71. package/dist/ui/views/DbTablesView.d.ts.map +1 -1
  72. package/dist/ui/views/DbTablesView.js +2 -11
  73. package/dist/ui/views/DbTablesView.js.map +1 -1
  74. package/dist/ui/views/DiagDatabaseView.d.ts.map +1 -1
  75. package/dist/ui/views/DiagDatabaseView.js +3 -12
  76. package/dist/ui/views/DiagDatabaseView.js.map +1 -1
  77. package/dist/ui/views/DiagNetworkView.d.ts.map +1 -1
  78. package/dist/ui/views/DiagNetworkView.js +6 -16
  79. package/dist/ui/views/DiagNetworkView.js.map +1 -1
  80. package/dist/ui/views/DiagServiceView.d.ts.map +1 -1
  81. package/dist/ui/views/DiagServiceView.js +2 -11
  82. package/dist/ui/views/DiagServiceView.js.map +1 -1
  83. package/dist/ui/views/DockerNetworkView.d.ts.map +1 -1
  84. package/dist/ui/views/DockerNetworkView.js +20 -31
  85. package/dist/ui/views/DockerNetworkView.js.map +1 -1
  86. package/dist/ui/views/DockerPruneView.d.ts.map +1 -1
  87. package/dist/ui/views/DockerPruneView.js +15 -15
  88. package/dist/ui/views/DockerPruneView.js.map +1 -1
  89. package/dist/ui/views/DockerStatusView.d.ts.map +1 -1
  90. package/dist/ui/views/DockerStatusView.js +2 -14
  91. package/dist/ui/views/DockerStatusView.js.map +1 -1
  92. package/dist/ui/views/JtapiDisableView.d.ts.map +1 -1
  93. package/dist/ui/views/JtapiDisableView.js +3 -10
  94. package/dist/ui/views/JtapiDisableView.js.map +1 -1
  95. package/dist/ui/views/JtapiEnableView.d.ts.map +1 -1
  96. package/dist/ui/views/JtapiEnableView.js +4 -15
  97. package/dist/ui/views/JtapiEnableView.js.map +1 -1
  98. package/dist/ui/views/JtapiStatusView.d.ts.map +1 -1
  99. package/dist/ui/views/JtapiStatusView.js +3 -16
  100. package/dist/ui/views/JtapiStatusView.js.map +1 -1
  101. package/dist/ui/views/JtapiTroubleshootView.d.ts.map +1 -1
  102. package/dist/ui/views/JtapiTroubleshootView.js +4 -14
  103. package/dist/ui/views/JtapiTroubleshootView.js.map +1 -1
  104. package/dist/ui/views/MainMenu.d.ts.map +1 -1
  105. package/dist/ui/views/MainMenu.js +64 -210
  106. package/dist/ui/views/MainMenu.js.map +1 -1
  107. package/dist/ui/views/MigrateHistoryView.d.ts.map +1 -1
  108. package/dist/ui/views/MigrateHistoryView.js +2 -11
  109. package/dist/ui/views/MigrateHistoryView.js.map +1 -1
  110. package/dist/ui/views/MigrateRollbackView.d.ts.map +1 -1
  111. package/dist/ui/views/MigrateRollbackView.js +15 -12
  112. package/dist/ui/views/MigrateRollbackView.js.map +1 -1
  113. package/dist/ui/views/MigrateRunView.d.ts.map +1 -1
  114. package/dist/ui/views/MigrateRunView.js +15 -12
  115. package/dist/ui/views/MigrateRunView.js.map +1 -1
  116. package/dist/ui/views/MigrateStatusView.d.ts.map +1 -1
  117. package/dist/ui/views/MigrateStatusView.js +2 -10
  118. package/dist/ui/views/MigrateStatusView.js.map +1 -1
  119. package/dist/ui/views/MigrateWatchView.d.ts.map +1 -1
  120. package/dist/ui/views/MigrateWatchView.js +4 -11
  121. package/dist/ui/views/MigrateWatchView.js.map +1 -1
  122. package/dist/ui/views/OfflineListView.d.ts.map +1 -1
  123. package/dist/ui/views/OfflineListView.js +5 -16
  124. package/dist/ui/views/OfflineListView.js.map +1 -1
  125. package/dist/ui/views/SecretsSetupView.d.ts.map +1 -1
  126. package/dist/ui/views/SecretsSetupView.js +2 -10
  127. package/dist/ui/views/SecretsSetupView.js.map +1 -1
  128. package/dist/ui/views/SecretsStatusView.d.ts.map +1 -1
  129. package/dist/ui/views/SecretsStatusView.js +5 -19
  130. package/dist/ui/views/SecretsStatusView.js.map +1 -1
  131. package/dist/ui/views/ServiceLogsView.js +8 -6
  132. package/dist/ui/views/ServiceLogsView.js.map +1 -1
  133. package/dist/ui/views/ServicesView.d.ts.map +1 -1
  134. package/dist/ui/views/ServicesView.js +8 -10
  135. package/dist/ui/views/ServicesView.js.map +1 -1
  136. package/dist/ui/views/StatusView.d.ts.map +1 -1
  137. package/dist/ui/views/StatusView.js +17 -15
  138. package/dist/ui/views/StatusView.js.map +1 -1
  139. package/dist/ui/views/UpdateView.d.ts.map +1 -1
  140. package/dist/ui/views/UpdateView.js +83 -35
  141. package/dist/ui/views/UpdateView.js.map +1 -1
  142. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useCallback, useEffect } from 'react';
3
3
  import { Box, Text, useInput } from 'ink';
4
4
  import { AppShell, Spinner } from '../components/index.js';
5
5
  import { usePolling } from '../hooks/index.js';
6
- import { getServiceList, startService, stopService, restartService, startAllServices, stopAllServices, } from '../../lib/services.js';
7
- import { healthIcon, healthColor, extractVersion, extractUptime } from '../utils/serviceDisplay.js';
6
+ import { getServiceList } from '../../lib/services.js';
7
+ import { LOGO } from '../../lib/brand.js';
8
8
  // View imports
9
9
  import { StatusView } from './StatusView.js';
10
10
  import { DbStatusView } from './DbStatusView.js';
@@ -49,29 +49,27 @@ const MENU_ITEMS = [
49
49
  description: 'Update to latest or specific version',
50
50
  value: 'update',
51
51
  },
52
+ {
53
+ label: 'Services',
54
+ description: 'Interactive container manager',
55
+ value: 'services',
56
+ },
52
57
  {
53
58
  label: 'Database',
54
- description: 'Backup, restore, compact, and inspect',
59
+ description: 'Backup, migrate, inspect, and compact',
55
60
  value: 'db',
56
61
  children: [
57
- { label: 'Status', description: 'Show database status', value: 'db status' },
62
+ { label: 'Status', description: 'Database connection and size', value: 'db status' },
58
63
  { label: 'Backup', description: 'Create a database backup', value: 'db backup' },
59
- { label: 'List', description: 'List available backups', value: 'db list' },
60
- { label: 'Compact', description: 'Vacuum and compact database', value: 'db compact' },
64
+ { label: 'List Backups', description: 'List available backups', value: 'db list' },
61
65
  { label: 'Tables', description: 'Show table sizes', value: 'db tables' },
62
66
  { label: 'Size', description: 'Show database size', value: 'db size' },
63
- ],
64
- },
65
- {
66
- label: 'Migrate',
67
- description: 'Database migration status and control',
68
- value: 'migrate',
69
- children: [
70
- { label: 'Status', description: 'Show migration status', value: 'migrate status' },
71
- { label: 'Run', description: 'Run pending migrations', value: 'migrate run' },
67
+ { label: 'Compact', description: 'Vacuum and compact', value: 'db compact' },
68
+ { label: 'Migrations', description: 'Migration status', value: 'migrate status' },
69
+ { label: 'Run Migrations', description: 'Run pending migrations', value: 'migrate run' },
72
70
  { label: 'Rollback', description: 'Rollback last migration', value: 'migrate rollback' },
73
- { label: 'History', description: 'Show last 10 migrations', value: 'migrate history' },
74
- { label: 'Watch', description: 'Watch migration progress', value: 'migrate watch' },
71
+ { label: 'Migration History', description: 'Recent migrations', value: 'migrate history' },
72
+ { label: 'Watch Migrations', description: 'Live migration progress', value: 'migrate watch' },
75
73
  ],
76
74
  },
77
75
  {
@@ -84,20 +82,9 @@ const MENU_ITEMS = [
84
82
  ],
85
83
  },
86
84
  {
87
- label: 'Config',
88
- description: 'Logging, IPv6, PostgreSQL, certificates',
89
- value: 'config',
90
- children: [
91
- { label: 'Certificates', description: 'Certificate status and management', value: 'certs' },
92
- ],
93
- },
94
- {
95
- label: 'Services',
96
- description: 'Manage Docker Compose services',
97
- value: 'services',
98
- children: [
99
- { label: 'Dashboard', description: 'Interactive service manager', value: 'services' },
100
- ],
85
+ label: 'Certificates',
86
+ description: 'Certificate status and management',
87
+ value: 'certs',
101
88
  },
102
89
  {
103
90
  label: 'Docker',
@@ -130,19 +117,16 @@ const MENU_ITEMS = [
130
117
  { label: 'Troubleshoot', description: 'Comprehensive JTAPI diagnostics', value: 'jtapi troubleshoot' },
131
118
  ],
132
119
  },
120
+ {
121
+ label: 'Offline',
122
+ description: 'List images for air-gapped bundles',
123
+ value: 'offline list',
124
+ },
133
125
  {
134
126
  label: 'Self-Update',
135
127
  description: 'Update the ct CLI tool itself',
136
128
  value: 'self-update',
137
129
  },
138
- {
139
- label: 'Offline',
140
- description: 'Air-gapped update bundle management',
141
- value: 'offline',
142
- children: [
143
- { label: 'List', description: 'List images in docker-compose.yml', value: 'offline list' },
144
- ],
145
- },
146
130
  ];
147
131
  /** Map of command values to inline TUI view components */
148
132
  const VIEW_MAP = {
@@ -175,24 +159,11 @@ const VIEW_MAP = {
175
159
  'services': (onBack) => _jsx(ServicesView, { onBack: onBack }),
176
160
  'update': (onBack) => _jsx(UpdateView, { onBack: onBack }),
177
161
  };
178
- /* ------------------------------------------------------------------ */
179
- /* Main component */
180
- /* ------------------------------------------------------------------ */
181
- const LOGO = ` ______ ____ ______ __ __
182
- / ____/___ _/ / / /_ __/__ / /__ ____ ___ ___ / /________ __
183
- / / / __ \`/ / / / / / _ \\/ / _ \\/ __ \`__ \\/ _ \\/ __/ ___/ / / /
184
- / /___/ /_/ / / / / / / __/ / __/ / / / / / __/ /_/ / / /_/ /
185
- \\____/\\__,_/_/_/ /_/ \\___/_/\\___/_/ /_/ /_/\\___/\\__/_/ \\__, /
186
- /____/`;
187
162
  export function MainMenu({ version, onCliCommand, onExit }) {
188
163
  const [phase, setPhase] = useState('home');
189
164
  const [activeView, setActiveView] = useState(null);
190
- const [zone, setZone] = useState('menu');
191
- const [serviceCursor, setServiceCursor] = useState(0);
192
165
  const [menuCursor, setMenuCursor] = useState(0);
193
166
  const [menuStack, setMenuStack] = useState([]);
194
- const [actionLabel, setActionLabel] = useState('');
195
- const [actionError, setActionError] = useState(null);
196
167
  const [logsService, setLogsService] = useState(null);
197
168
  const { data: services, stop: stopPolling, start: startPolling } = usePolling(getServiceList, 5000, false);
198
169
  // Control polling based on phase — only poll when on home screen
@@ -209,18 +180,6 @@ export function MainMenu({ version, onCliCommand, onExit }) {
209
180
  setActiveView(null);
210
181
  setLogsService(null);
211
182
  }, []);
212
- const executeAction = useCallback(async (label, fn) => {
213
- setPhase('action');
214
- setActionLabel(label);
215
- setActionError(null);
216
- try {
217
- await fn();
218
- }
219
- catch (err) {
220
- setActionError(err instanceof Error ? err.message : String(err));
221
- }
222
- setPhase('home');
223
- }, []);
224
183
  // Build menu display items
225
184
  const currentMenuItems = menuStack.length > 0 ? menuStack[menuStack.length - 1] : MENU_ITEMS;
226
185
  const hasParent = menuStack.length > 0;
@@ -236,143 +195,55 @@ export function MainMenu({ version, onCliCommand, onExit }) {
236
195
  useInput((input, key) => {
237
196
  if (phase !== 'home')
238
197
  return;
239
- if (zone === 'services') {
240
- const count = serviceList.length;
241
- if (key.upArrow) {
242
- if (serviceCursor > 0) {
243
- setServiceCursor(prev => prev - 1);
244
- }
245
- else {
246
- // Wrap to bottom of menu
247
- setZone('menu');
248
- setMenuCursor(menuDisplayItems.length - 1);
249
- }
198
+ if (key.upArrow) {
199
+ if (menuCursor > 0) {
200
+ setMenuCursor(prev => prev - 1);
250
201
  }
251
- else if (key.downArrow) {
252
- if (serviceCursor < count - 1) {
253
- setServiceCursor(prev => prev + 1);
254
- }
255
- else {
256
- // Cross into menu zone
257
- setZone('menu');
258
- setMenuCursor(0);
259
- }
260
- }
261
- else if (input === 's') {
262
- const svc = serviceList[serviceCursor];
263
- if (svc)
264
- executeAction(`Starting ${svc.service}...`, () => startService(svc.service).then(() => { }));
265
- }
266
- else if (input === 'x') {
267
- const svc = serviceList[serviceCursor];
268
- if (svc)
269
- executeAction(`Stopping ${svc.service}...`, () => stopService(svc.service).then(() => { }));
270
- }
271
- else if (input === 'r') {
272
- const svc = serviceList[serviceCursor];
273
- if (svc)
274
- executeAction(`Restarting ${svc.service}...`, () => restartService(svc.service).then(() => { }));
275
- }
276
- else if (input === 'a') {
277
- executeAction('Starting all services...', () => startAllServices().then(() => { }));
278
- }
279
- else if (input === 'X') {
280
- executeAction('Stopping all services...', () => stopAllServices().then(() => { }));
281
- }
282
- else if (input === 'l' || key.return || key.rightArrow) {
283
- const svc = serviceList[serviceCursor];
284
- if (svc) {
285
- setLogsService(svc.service);
286
- setPhase('logs');
287
- }
202
+ }
203
+ else if (key.downArrow) {
204
+ if (menuCursor < menuDisplayItems.length - 1) {
205
+ setMenuCursor(prev => prev + 1);
288
206
  }
289
- else if (input === 'q' || key.escape || key.leftArrow) {
290
- // Drop back to menu zone
291
- setZone('menu');
207
+ }
208
+ else if (key.return || key.rightArrow) {
209
+ const selected = menuDisplayItems[menuCursor];
210
+ if (!selected)
211
+ return;
212
+ if (selected.isBack) {
213
+ setMenuStack(prev => prev.slice(0, -1));
292
214
  setMenuCursor(0);
293
215
  }
294
- }
295
- else {
296
- // Menu zone
297
- if (key.upArrow) {
298
- if (menuCursor > 0) {
299
- setMenuCursor(prev => prev - 1);
300
- }
301
- else if (serviceList.length > 0) {
302
- // Cross into services zone
303
- setZone('services');
304
- setServiceCursor(serviceList.length - 1);
305
- }
216
+ else if (selected.item?.children && selected.item.children.length > 1) {
217
+ setMenuStack(prev => [...prev, selected.item.children]);
218
+ setMenuCursor(0);
306
219
  }
307
- else if (key.downArrow) {
308
- if (menuCursor < menuDisplayItems.length - 1) {
309
- setMenuCursor(prev => prev + 1);
220
+ else if (selected.item) {
221
+ const cmd = selected.item.value;
222
+ if (VIEW_MAP[cmd]) {
223
+ setActiveView(cmd);
224
+ setPhase('view');
310
225
  }
311
- else if (serviceList.length > 0) {
312
- // Wrap to top of services
313
- setZone('services');
314
- setServiceCursor(0);
226
+ else {
227
+ onCliCommand(cmd);
315
228
  }
316
229
  }
317
- else if (key.return || key.rightArrow) {
318
- const selected = menuDisplayItems[menuCursor];
319
- if (!selected)
320
- return;
321
- if (selected.isBack) {
322
- setMenuStack(prev => prev.slice(0, -1));
323
- setMenuCursor(0);
324
- }
325
- else if (selected.item?.children && selected.item.children.length === 1) {
326
- // Single child — skip submenu, go directly to the child's view
327
- const child = selected.item.children[0];
328
- const cmd = child.value;
329
- if (VIEW_MAP[cmd]) {
330
- setActiveView(cmd);
331
- setPhase('view');
332
- }
333
- else {
334
- onCliCommand(cmd);
335
- }
336
- }
337
- else if (selected.item?.children && selected.item.children.length > 1) {
338
- setMenuStack(prev => [...prev, selected.item.children]);
339
- setMenuCursor(0);
340
- }
341
- else if (selected.item) {
342
- const cmd = selected.item.value;
343
- if (VIEW_MAP[cmd]) {
344
- setActiveView(cmd);
345
- setPhase('view');
346
- }
347
- else {
348
- onCliCommand(cmd);
349
- }
350
- }
230
+ }
231
+ else if (key.leftArrow) {
232
+ if (hasParent) {
233
+ setMenuStack(prev => prev.slice(0, -1));
234
+ setMenuCursor(0);
351
235
  }
352
- else if (key.leftArrow) {
353
- // Left arrow = go back one level (but don't quit from top)
354
- if (hasParent) {
355
- setMenuStack(prev => prev.slice(0, -1));
356
- setMenuCursor(0);
357
- }
236
+ }
237
+ else if (key.escape || input === 'q') {
238
+ if (hasParent) {
239
+ setMenuStack(prev => prev.slice(0, -1));
240
+ setMenuCursor(0);
358
241
  }
359
- else if (key.escape || input === 'q') {
360
- if (hasParent) {
361
- setMenuStack(prev => prev.slice(0, -1));
362
- setMenuCursor(0);
363
- }
364
- else {
365
- onExit();
366
- }
242
+ else {
243
+ onExit();
367
244
  }
368
245
  }
369
246
  });
370
- // Clamp service cursor when list changes
371
- useEffect(() => {
372
- if (serviceList.length > 0 && serviceCursor >= serviceList.length) {
373
- setServiceCursor(serviceList.length - 1);
374
- }
375
- }, [serviceList, serviceCursor]);
376
247
  // --- Phase: view ---
377
248
  if (phase === 'view' && activeView && VIEW_MAP[activeView]) {
378
249
  return VIEW_MAP[activeView](goHome);
@@ -381,32 +252,15 @@ export function MainMenu({ version, onCliCommand, onExit }) {
381
252
  if (phase === 'logs' && logsService) {
382
253
  return _jsx(ServiceLogsView, { service: logsService, onBack: goHome });
383
254
  }
384
- // --- Phase: action ---
385
- if (phase === 'action') {
386
- return (_jsx(AppShell, { title: `CallTelemetry CLI v${version}`, children: _jsx(Spinner, { label: actionLabel }) }));
387
- }
388
255
  // --- Phase: home ---
389
- const svcWidth = serviceList.length > 0
390
- ? Math.max(9, ...serviceList.map(s => s.service.length)) + 2
391
- : 11;
392
- const verWidth = serviceList.length > 0
393
- ? Math.max(9, ...serviceList.map(s => extractVersion(s.image).length)) + 2
394
- : 11;
395
256
  const runningCount = serviceList.filter(s => s.state === 'running').length;
396
257
  const healthyCount = serviceList.filter(s => s.health === 'healthy').length;
258
+ const unhealthyCount = serviceList.filter(s => s.health === 'unhealthy').length;
397
259
  const stoppedCount = serviceList.filter(s => s.state === 'exited' || s.state === 'dead').length;
398
- const inServiceZone = zone === 'services' && serviceList.length > 0;
399
- 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 && (_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)"] }), 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' })] }), serviceList.map((svc, i) => {
400
- const isActive = zone === 'services' && i === serviceCursor;
401
- const icon = healthIcon(svc.health, svc.state);
402
- const color = healthColor(svc.health, svc.state);
403
- 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: extractVersion(svc.image).padEnd(verWidth) }), _jsx(Text, { color: isActive ? 'cyan' : undefined, dimColor: !isActive, children: extractUptime(svc.status) })] }, svc.service));
404
- }), _jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: '─'.repeat(60) }) })] })), actionError && (_jsx(Box, { paddingLeft: 2, children: _jsxs(Text, { color: "red", children: ["Error: ", actionError] }) })), _jsx(Box, { flexDirection: "column", paddingLeft: 2, paddingTop: serviceList.length > 0 ? 0 : 1, children: menuDisplayItems.map((entry, i) => {
405
- const isActive = zone === 'menu' && i === menuCursor;
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) => {
261
+ const isActive = i === menuCursor;
406
262
  const prefix = isActive ? '❯' : ' ';
407
263
  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}`));
408
- }) }), _jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: inServiceZone
409
- ? '↑↓ Navigate →/Enter Logs ← Menu s Start x Stop r Restart a Start All X Stop All q Quit'
410
- : '↑↓ Navigate →/Enter Select ← Back q Quit' }) })] }));
264
+ }) }), _jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: '↑↓ Navigate Enter Select q Quit' }) })] }));
411
265
  }
412
266
  //# 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":"MigrateHistoryView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateHistoryView.tsx"],"names":[],"mappings":"AAOA,UAAU,uBAAuB;IAC/B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE,uBAAuB,2CA6CrE"}
1
+ {"version":3,"file":"MigrateHistoryView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateHistoryView.tsx"],"names":[],"mappings":"AAMA,UAAU,uBAAuB;IAC/B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE,uBAAuB,2CAkCrE"}
@@ -1,12 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect } from 'react';
3
- import { Box, Text, useInput } from 'ink';
4
2
  import { composeExec } from '../../lib/compose.js';
5
3
  import { DB_USER, DB_NAME, PG_ENV } from '../../lib/db.js';
6
4
  import { AppShell, Section, ShellOutput, Spinner, StatusLine } from '../components/index.js';
7
- import { useAsyncTask, useFinish } from '../hooks/index.js';
5
+ import { useAsyncTask } from '../hooks/index.js';
8
6
  export function MigrateHistoryView({ onBack }) {
9
- const finish = useFinish(onBack);
10
7
  const historyTask = useAsyncTask(async () => {
11
8
  const result = await composeExec('db', ['psql', '-U', DB_USER, '-d', DB_NAME, '-c',
12
9
  'SELECT version, inserted_at FROM schema_migrations ORDER BY version DESC LIMIT 10;'], { env: PG_ENV, pipe: true });
@@ -18,12 +15,6 @@ export function MigrateHistoryView({ onBack }) {
18
15
  return (result.stdout ?? '').trim();
19
16
  });
20
17
  const allDone = [historyTask, countTask].every(t => t.status === 'done' || t.status === 'error');
21
- useEffect(() => { if (allDone && !onBack)
22
- finish(); }, [allDone, onBack, finish]);
23
- useInput((input, key) => {
24
- if (onBack && allDone && (input === 'q' || key.escape || key.leftArrow))
25
- finish();
26
- });
27
- return (_jsxs(AppShell, { command: "ct migrate history", children: [_jsxs(Section, { title: "Last 10 Applied Migrations", children: [historyTask.status === 'pending' && _jsx(Spinner, { label: "Querying migrations..." }), historyTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Query failed" }), historyTask.status === 'done' && historyTask.data && _jsx(ShellOutput, { content: historyTask.data })] }), _jsxs(Section, { title: "Migration Count", children: [countTask.status === 'pending' && _jsx(Spinner, { label: "Counting..." }), countTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Query failed" }), countTask.status === 'done' && countTask.data && _jsx(ShellOutput, { content: countTask.data })] }), onBack && allDone && (_jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "Press q to go back" }) }))] }));
18
+ return (_jsxs(AppShell, { command: "ct migrate history", onBack: onBack, isComplete: allDone, children: [_jsxs(Section, { title: "Last 10 Applied Migrations", children: [historyTask.status === 'pending' && _jsx(Spinner, { label: "Querying migrations..." }), historyTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Query failed" }), historyTask.status === 'done' && historyTask.data && _jsx(ShellOutput, { content: historyTask.data })] }), _jsxs(Section, { title: "Migration Count", children: [countTask.status === 'pending' && _jsx(Spinner, { label: "Counting..." }), countTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Query failed" }), countTask.status === 'done' && countTask.data && _jsx(ShellOutput, { content: countTask.data })] })] }));
28
19
  }
29
20
  //# sourceMappingURL=MigrateHistoryView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MigrateHistoryView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateHistoryView.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,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAM5D,MAAM,UAAU,kBAAkB,CAAC,EAAE,MAAM,EAA2B;IACpE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAEjC,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;YAC1C,oFAAoF,CAAC,EACtF,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,SAAS,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EACnC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;YAC1C,6DAA6D,CAAC,EAC/D,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,OAAO,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IACjG,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,IAAI,CAAC,MAAM;QAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAElF,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,MAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC;YAAE,MAAM,EAAE,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,QAAQ,IAAC,OAAO,EAAC,oBAAoB,aACpC,MAAC,OAAO,IAAC,KAAK,EAAC,4BAA4B,aACxC,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,cAAc,GAAG,EACnF,WAAW,CAAC,MAAM,KAAK,MAAM,IAAI,WAAW,CAAC,IAAI,IAAI,KAAC,WAAW,IAAC,OAAO,EAAE,WAAW,CAAC,IAAI,GAAI,IACxF,EACV,MAAC,OAAO,IAAC,KAAK,EAAC,iBAAiB,aAC7B,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,aAAa,GAAG,EACjE,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc,GAAG,EACjF,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,IAAI,KAAC,WAAW,IAAC,OAAO,EAAE,SAAS,CAAC,IAAI,GAAI,IAClF,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"}
1
+ {"version":3,"file":"MigrateHistoryView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateHistoryView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjD,MAAM,UAAU,kBAAkB,CAAC,EAAE,MAAM,EAA2B;IAEpE,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;YAC1C,oFAAoF,CAAC,EACtF,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,SAAS,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EACnC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;YAC1C,6DAA6D,CAAC,EAC/D,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,OAAO,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IAEjG,OAAO,CACL,MAAC,QAAQ,IAAC,OAAO,EAAC,oBAAoB,EAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,aACxE,MAAC,OAAO,IAAC,KAAK,EAAC,4BAA4B,aACxC,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,cAAc,GAAG,EACnF,WAAW,CAAC,MAAM,KAAK,MAAM,IAAI,WAAW,CAAC,IAAI,IAAI,KAAC,WAAW,IAAC,OAAO,EAAE,WAAW,CAAC,IAAI,GAAI,IACxF,EACV,MAAC,OAAO,IAAC,KAAK,EAAC,iBAAiB,aAC7B,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,aAAa,GAAG,EACjE,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc,GAAG,EACjF,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,IAAI,KAAC,WAAW,IAAC,OAAO,EAAE,SAAS,CAAC,IAAI,GAAI,IAClF,IACD,CACZ,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrateRollbackView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateRollbackView.tsx"],"names":[],"mappings":"AAOA,UAAU,wBAAwB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAS,EAAE,MAAM,EAAE,EAAE,wBAAwB,2CA4ElF"}
1
+ {"version":3,"file":"MigrateRollbackView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateRollbackView.tsx"],"names":[],"mappings":"AAOA,UAAU,wBAAwB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAS,EAAE,MAAM,EAAE,EAAE,wBAAwB,2CA2ElF"}
@@ -1,13 +1,19 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useEffect } from 'react';
3
- import { Box, Text, useInput } from 'ink';
2
+ import { useState, useEffect, useCallback } from 'react';
3
+ import { useApp, useInput } from 'ink';
4
4
  import { composePs } from '../../lib/compose.js';
5
5
  import { rpc, rpcOk } from '../../lib/rpc.js';
6
6
  import { AppShell, Section, ShellOutput, Spinner, StatusLine, Confirm } from '../components/index.js';
7
- import { useAsyncTask, useFinish } from '../hooks/index.js';
7
+ import { useAsyncTask } from '../hooks/index.js';
8
8
  export function MigrateRollbackView({ steps = 1, onBack }) {
9
- const finish = useFinish(onBack);
9
+ const { exit } = useApp();
10
10
  const [confirmed, setConfirmed] = useState(false);
11
+ const goBack = useCallback(() => {
12
+ if (onBack)
13
+ onBack();
14
+ else
15
+ exit();
16
+ }, [onBack, exit]);
11
17
  const readyTask = useAsyncTask(async () => {
12
18
  const container = await composePs('web');
13
19
  if (!container)
@@ -49,17 +55,14 @@ export function MigrateRollbackView({ steps = 1, onBack }) {
49
55
  }, [readyTask.status]);
50
56
  // Exit when done or on error
51
57
  const allDone = readyTask.status === 'error' || rollbackTask.status === 'done' || rollbackTask.status === 'error';
52
- useEffect(() => { if (allDone && !onBack)
53
- finish(); }, [allDone, onBack, finish]);
58
+ // Handle pre-confirmation back-nav
54
59
  useInput((input, key) => {
55
60
  if (!confirmed && (input === 'n' || input === 'q' || key.escape || key.leftArrow))
56
- finish();
57
- if (onBack && allDone && (input === 'q' || key.escape || key.leftArrow))
58
- finish();
59
- });
60
- return (_jsxs(AppShell, { command: "ct migrate rollback", children: [!confirmed && (_jsx(Section, { title: `Rollback Migrations (${steps} step${steps === 1 ? '' : 's'})`, children: _jsx(Confirm, { message: "Rollback last migration? This may cause data loss.", onConfirm: (yes) => { if (yes)
61
+ goBack();
62
+ }, { isActive: !confirmed });
63
+ return (_jsxs(AppShell, { command: "ct migrate rollback", onBack: onBack, isComplete: confirmed && allDone, children: [!confirmed && (_jsx(Section, { title: `Rollback Migrations (${steps} step${steps === 1 ? '' : 's'})`, children: _jsx(Confirm, { message: "Rollback last migration? This may cause data loss.", onConfirm: (yes) => { if (yes)
61
64
  setConfirmed(true);
62
65
  else
63
- finish(); } }) })), confirmed && (_jsxs(Section, { title: `Rollback Migrations (${steps} step${steps === 1 ? '' : 's'})`, children: [readyTask.status === 'pending' && _jsx(Spinner, { label: "Checking web container..." }), readyTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: readyTask.error?.message ?? 'Web container not ready' }), readyTask.status === 'done' && rollbackTask.status === 'pending' && _jsx(Spinner, { label: `Rolling back ${steps} migration${steps === 1 ? '' : 's'}...` }), rollbackTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: rollbackTask.error?.message ?? 'Migration rollback failed' }), rollbackTask.status === 'done' && rollbackTask.data && _jsx(ShellOutput, { content: rollbackTask.data }), rollbackTask.status === 'done' && _jsx(StatusLine, { status: "ok", label: "Migration rollback completed" })] })), onBack && allDone && (_jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "Press q to go back" }) }))] }));
66
+ goBack(); } }) })), confirmed && (_jsxs(Section, { title: `Rollback Migrations (${steps} step${steps === 1 ? '' : 's'})`, children: [readyTask.status === 'pending' && _jsx(Spinner, { label: "Checking web container..." }), readyTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: readyTask.error?.message ?? 'Web container not ready' }), readyTask.status === 'done' && rollbackTask.status === 'pending' && _jsx(Spinner, { label: `Rolling back ${steps} migration${steps === 1 ? '' : 's'}...` }), rollbackTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: rollbackTask.error?.message ?? 'Migration rollback failed' }), rollbackTask.status === 'done' && rollbackTask.data && _jsx(ShellOutput, { content: rollbackTask.data }), rollbackTask.status === 'done' && _jsx(StatusLine, { status: "ok", label: "Migration rollback completed" })] }))] }));
64
67
  }
65
68
  //# sourceMappingURL=MigrateRollbackView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MigrateRollbackView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateRollbackView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MigrateRollbackView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateRollbackView.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MigrateRunView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateRunView.tsx"],"names":[],"mappings":"AAOA,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CA4E7D"}
1
+ {"version":3,"file":"MigrateRunView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateRunView.tsx"],"names":[],"mappings":"AAOA,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CA2E7D"}