@calltelemetry/cli 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/README.md +171 -0
  2. package/dist/commands/self-update.d.ts +8 -0
  3. package/dist/commands/self-update.d.ts.map +1 -0
  4. package/dist/commands/self-update.js +43 -0
  5. package/dist/commands/self-update.js.map +1 -0
  6. package/dist/commands/services.d.ts +3 -0
  7. package/dist/commands/services.d.ts.map +1 -0
  8. package/dist/commands/services.js +40 -0
  9. package/dist/commands/services.js.map +1 -0
  10. package/dist/commands/update.d.ts.map +1 -1
  11. package/dist/commands/update.js +31 -0
  12. package/dist/commands/update.js.map +1 -1
  13. package/dist/index.js +9 -4
  14. package/dist/index.js.map +1 -1
  15. package/dist/lib/services.d.ts +39 -0
  16. package/dist/lib/services.d.ts.map +1 -0
  17. package/dist/lib/services.js +36 -0
  18. package/dist/lib/services.js.map +1 -0
  19. package/dist/ui/hooks/index.d.ts +2 -0
  20. package/dist/ui/hooks/index.d.ts.map +1 -1
  21. package/dist/ui/hooks/index.js +2 -0
  22. package/dist/ui/hooks/index.js.map +1 -1
  23. package/dist/ui/hooks/useComposeLogs.d.ts +7 -0
  24. package/dist/ui/hooks/useComposeLogs.d.ts.map +1 -0
  25. package/dist/ui/hooks/useComposeLogs.js +79 -0
  26. package/dist/ui/hooks/useComposeLogs.js.map +1 -0
  27. package/dist/ui/hooks/useFinish.d.ts +6 -0
  28. package/dist/ui/hooks/useFinish.d.ts.map +1 -0
  29. package/dist/ui/hooks/useFinish.js +18 -0
  30. package/dist/ui/hooks/useFinish.js.map +1 -0
  31. package/dist/ui/views/CertsStatusView.d.ts +5 -1
  32. package/dist/ui/views/CertsStatusView.d.ts.map +1 -1
  33. package/dist/ui/views/CertsStatusView.js +17 -12
  34. package/dist/ui/views/CertsStatusView.js.map +1 -1
  35. package/dist/ui/views/DbBackupView.d.ts +5 -1
  36. package/dist/ui/views/DbBackupView.d.ts.map +1 -1
  37. package/dist/ui/views/DbBackupView.js +11 -7
  38. package/dist/ui/views/DbBackupView.js.map +1 -1
  39. package/dist/ui/views/DbCompactView.d.ts +5 -1
  40. package/dist/ui/views/DbCompactView.d.ts.map +1 -1
  41. package/dist/ui/views/DbCompactView.js +11 -7
  42. package/dist/ui/views/DbCompactView.js.map +1 -1
  43. package/dist/ui/views/DbListView.d.ts +5 -1
  44. package/dist/ui/views/DbListView.d.ts.map +1 -1
  45. package/dist/ui/views/DbListView.js +15 -10
  46. package/dist/ui/views/DbListView.js.map +1 -1
  47. package/dist/ui/views/DbSizeView.d.ts +5 -1
  48. package/dist/ui/views/DbSizeView.d.ts.map +1 -1
  49. package/dist/ui/views/DbSizeView.js +13 -8
  50. package/dist/ui/views/DbSizeView.js.map +1 -1
  51. package/dist/ui/views/DbStatusView.d.ts +5 -1
  52. package/dist/ui/views/DbStatusView.d.ts.map +1 -1
  53. package/dist/ui/views/DbStatusView.js +11 -7
  54. package/dist/ui/views/DbStatusView.js.map +1 -1
  55. package/dist/ui/views/DbTablesView.d.ts +3 -2
  56. package/dist/ui/views/DbTablesView.d.ts.map +1 -1
  57. package/dist/ui/views/DbTablesView.js +11 -7
  58. package/dist/ui/views/DbTablesView.js.map +1 -1
  59. package/dist/ui/views/DiagDatabaseView.d.ts +5 -1
  60. package/dist/ui/views/DiagDatabaseView.d.ts.map +1 -1
  61. package/dist/ui/views/DiagDatabaseView.js +11 -7
  62. package/dist/ui/views/DiagDatabaseView.js.map +1 -1
  63. package/dist/ui/views/DiagNetworkView.d.ts +5 -1
  64. package/dist/ui/views/DiagNetworkView.d.ts.map +1 -1
  65. package/dist/ui/views/DiagNetworkView.js +15 -9
  66. package/dist/ui/views/DiagNetworkView.js.map +1 -1
  67. package/dist/ui/views/DiagServiceView.d.ts +5 -1
  68. package/dist/ui/views/DiagServiceView.d.ts.map +1 -1
  69. package/dist/ui/views/DiagServiceView.js +11 -7
  70. package/dist/ui/views/DiagServiceView.js.map +1 -1
  71. package/dist/ui/views/DockerNetworkView.d.ts +5 -1
  72. package/dist/ui/views/DockerNetworkView.d.ts.map +1 -1
  73. package/dist/ui/views/DockerNetworkView.js +13 -8
  74. package/dist/ui/views/DockerNetworkView.js.map +1 -1
  75. package/dist/ui/views/DockerPruneView.d.ts +5 -1
  76. package/dist/ui/views/DockerPruneView.d.ts.map +1 -1
  77. package/dist/ui/views/DockerPruneView.js +12 -8
  78. package/dist/ui/views/DockerPruneView.js.map +1 -1
  79. package/dist/ui/views/DockerStatusView.d.ts +5 -1
  80. package/dist/ui/views/DockerStatusView.d.ts.map +1 -1
  81. package/dist/ui/views/DockerStatusView.js +12 -8
  82. package/dist/ui/views/DockerStatusView.js.map +1 -1
  83. package/dist/ui/views/JtapiDisableView.d.ts +5 -1
  84. package/dist/ui/views/JtapiDisableView.d.ts.map +1 -1
  85. package/dist/ui/views/JtapiDisableView.js +11 -7
  86. package/dist/ui/views/JtapiDisableView.js.map +1 -1
  87. package/dist/ui/views/JtapiEnableView.d.ts +5 -1
  88. package/dist/ui/views/JtapiEnableView.d.ts.map +1 -1
  89. package/dist/ui/views/JtapiEnableView.js +14 -10
  90. package/dist/ui/views/JtapiEnableView.js.map +1 -1
  91. package/dist/ui/views/JtapiStatusView.d.ts +5 -1
  92. package/dist/ui/views/JtapiStatusView.d.ts.map +1 -1
  93. package/dist/ui/views/JtapiStatusView.js +15 -9
  94. package/dist/ui/views/JtapiStatusView.js.map +1 -1
  95. package/dist/ui/views/JtapiTroubleshootView.d.ts +5 -1
  96. package/dist/ui/views/JtapiTroubleshootView.d.ts.map +1 -1
  97. package/dist/ui/views/JtapiTroubleshootView.js +12 -8
  98. package/dist/ui/views/JtapiTroubleshootView.js.map +1 -1
  99. package/dist/ui/views/MainMenu.d.ts +3 -2
  100. package/dist/ui/views/MainMenu.d.ts.map +1 -1
  101. package/dist/ui/views/MainMenu.js +91 -13
  102. package/dist/ui/views/MainMenu.js.map +1 -1
  103. package/dist/ui/views/MigrateHistoryView.d.ts +5 -1
  104. package/dist/ui/views/MigrateHistoryView.d.ts.map +1 -1
  105. package/dist/ui/views/MigrateHistoryView.js +11 -7
  106. package/dist/ui/views/MigrateHistoryView.js.map +1 -1
  107. package/dist/ui/views/MigrateRollbackView.d.ts +2 -1
  108. package/dist/ui/views/MigrateRollbackView.d.ts.map +1 -1
  109. package/dist/ui/views/MigrateRollbackView.js +11 -7
  110. package/dist/ui/views/MigrateRollbackView.js.map +1 -1
  111. package/dist/ui/views/MigrateRunView.d.ts +5 -1
  112. package/dist/ui/views/MigrateRunView.d.ts.map +1 -1
  113. package/dist/ui/views/MigrateRunView.js +11 -7
  114. package/dist/ui/views/MigrateRunView.js.map +1 -1
  115. package/dist/ui/views/MigrateStatusView.d.ts +5 -1
  116. package/dist/ui/views/MigrateStatusView.d.ts.map +1 -1
  117. package/dist/ui/views/MigrateStatusView.js +11 -7
  118. package/dist/ui/views/MigrateStatusView.js.map +1 -1
  119. package/dist/ui/views/MigrateWatchView.d.ts +2 -1
  120. package/dist/ui/views/MigrateWatchView.d.ts.map +1 -1
  121. package/dist/ui/views/MigrateWatchView.js +13 -7
  122. package/dist/ui/views/MigrateWatchView.js.map +1 -1
  123. package/dist/ui/views/OfflineListView.d.ts +5 -1
  124. package/dist/ui/views/OfflineListView.d.ts.map +1 -1
  125. package/dist/ui/views/OfflineListView.js +16 -11
  126. package/dist/ui/views/OfflineListView.js.map +1 -1
  127. package/dist/ui/views/SecretsSetupView.d.ts +5 -1
  128. package/dist/ui/views/SecretsSetupView.d.ts.map +1 -1
  129. package/dist/ui/views/SecretsSetupView.js +6 -5
  130. package/dist/ui/views/SecretsSetupView.js.map +1 -1
  131. package/dist/ui/views/SecretsStatusView.d.ts +5 -1
  132. package/dist/ui/views/SecretsStatusView.d.ts.map +1 -1
  133. package/dist/ui/views/SecretsStatusView.js +18 -11
  134. package/dist/ui/views/SecretsStatusView.js.map +1 -1
  135. package/dist/ui/views/ServiceLogsView.d.ts +8 -0
  136. package/dist/ui/views/ServiceLogsView.d.ts.map +1 -0
  137. package/dist/ui/views/ServiceLogsView.js +167 -0
  138. package/dist/ui/views/ServiceLogsView.js.map +1 -0
  139. package/dist/ui/views/ServicesView.d.ts +8 -0
  140. package/dist/ui/views/ServicesView.d.ts.map +1 -0
  141. package/dist/ui/views/ServicesView.js +237 -0
  142. package/dist/ui/views/ServicesView.js.map +1 -0
  143. package/dist/ui/views/StatusView.d.ts +5 -1
  144. package/dist/ui/views/StatusView.d.ts.map +1 -1
  145. package/dist/ui/views/StatusView.js +12 -8
  146. package/dist/ui/views/StatusView.js.map +1 -1
  147. package/package.json +1 -1
@@ -1,12 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect } from 'react';
3
- import { useApp } from 'ink';
3
+ import { Box, Text, 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 } from '../components/index.js';
7
- import { useAsyncTask } from '../hooks/index.js';
8
- export function MigrateRunView() {
9
- const { exit } = useApp();
7
+ import { useAsyncTask, useFinish } from '../hooks/index.js';
8
+ export function MigrateRunView({ onBack }) {
9
+ const finish = useFinish(onBack);
10
10
  const readyTask = useAsyncTask(async () => {
11
11
  const container = await composePs('web');
12
12
  if (!container)
@@ -43,8 +43,12 @@ export function MigrateRunView() {
43
43
  }, [readyTask.status]);
44
44
  // Exit when done or on error
45
45
  const allDone = readyTask.status === 'error' || runTask.status === 'done' || runTask.status === 'error';
46
- useEffect(() => { if (allDone)
47
- exit(); }, [allDone, exit]);
48
- return (_jsx(AppShell, { command: "ct migrate run", children: _jsxs(Section, { title: "Run Migrations", 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' && runTask.status === 'pending' && _jsx(Spinner, { label: "Running pending migrations..." }), runTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: runTask.error?.message ?? 'Migration run failed' }), runTask.status === 'done' && runTask.data && _jsx(ShellOutput, { content: runTask.data }), runTask.status === 'done' && _jsx(StatusLine, { status: "ok", label: "Migration run completed" })] }) }));
46
+ useEffect(() => { if (allDone && !onBack)
47
+ finish(); }, [allDone, onBack, finish]);
48
+ useInput((input, key) => {
49
+ if (onBack && allDone && (input === 'q' || key.escape))
50
+ finish();
51
+ });
52
+ return (_jsxs(AppShell, { command: "ct migrate run", children: [_jsxs(Section, { title: "Run Migrations", 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' && runTask.status === 'pending' && _jsx(Spinner, { label: "Running pending migrations..." }), runTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: runTask.error?.message ?? 'Migration run failed' }), runTask.status === 'done' && runTask.data && _jsx(ShellOutput, { content: runTask.data }), runTask.status === 'done' && _jsx(StatusLine, { status: "ok", label: "Migration run completed" })] }), onBack && allDone && (_jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "Press q to go back" }) }))] }));
49
53
  }
50
54
  //# sourceMappingURL=MigrateRunView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MigrateRunView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateRunView.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QACxC,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC3G,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC;;;;;;;;;;;;;;;;;KAiBxB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,iDAAiD;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,CAAC,GAAG,EAAE,CAAC;IACjD,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvB,6BAA6B;IAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC;IACxG,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO;QAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE3D,OAAO,CACL,KAAC,QAAQ,IAAC,OAAO,EAAC,gBAAgB,YAChC,MAAC,OAAO,IAAC,KAAK,EAAC,gBAAgB,aAC5B,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,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,IAAI,yBAAyB,GAAI,EAC1H,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,+BAA+B,GAAG,EAChH,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,sBAAsB,GAAI,EACnH,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,KAAC,WAAW,IAAC,OAAO,EAAE,OAAO,CAAC,IAAI,GAAI,EACnF,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,yBAAyB,GAAG,IAChF,GACD,CACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MigrateRunView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateRunView.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
- export declare function MigrateStatusView(): import("react/jsx-runtime").JSX.Element;
1
+ interface MigrateStatusViewProps {
2
+ onBack?: () => void;
3
+ }
4
+ export declare function MigrateStatusView({ onBack }: MigrateStatusViewProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
2
6
  //# sourceMappingURL=MigrateStatusView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MigrateStatusView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateStatusView.tsx"],"names":[],"mappings":"AA8DA,wBAAgB,iBAAiB,4CAoChC"}
1
+ {"version":3,"file":"MigrateStatusView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateStatusView.tsx"],"names":[],"mappings":"AA8DA,UAAU,sBAAsB;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,2CA6CnE"}
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect } from 'react';
3
- import { useApp } from 'ink';
3
+ import { Box, Text, 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, StatusLine, ShellOutput, Spinner } from '../components/index.js';
7
- import { useAsyncTask } from '../hooks/index.js';
7
+ import { useAsyncTask, useFinish } from '../hooks/index.js';
8
8
  const MIGRATION_STATUS_RPC = `
9
9
  alias Cdrcisco.Repo
10
10
  import Ecto.Query
@@ -59,8 +59,8 @@ const MIGRATION_STATUS_RPC = `
59
59
  IO.puts("::pending_count=error")
60
60
  end
61
61
  `;
62
- export function MigrateStatusView() {
63
- const { exit } = useApp();
62
+ export function MigrateStatusView({ onBack }) {
63
+ const finish = useFinish(onBack);
64
64
  const readyTask = useAsyncTask(async () => {
65
65
  const container = await composePs('web');
66
66
  if (!container)
@@ -81,8 +81,12 @@ export function MigrateStatusView() {
81
81
  // Exit when done
82
82
  const allDone = (readyTask.status === 'error') ||
83
83
  (statusTask.status === 'done' || statusTask.status === 'error');
84
- useEffect(() => { if (allDone)
85
- exit(); }, [allDone, exit]);
86
- return (_jsx(AppShell, { command: "ct migrate status", children: _jsxs(Section, { title: "Migration Status", 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' }), statusTask.status === 'pending' && _jsx(Spinner, { label: "Querying migration status..." }), statusTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Failed to query migrations" }), statusTask.status === 'done' && statusTask.data && _jsx(ShellOutput, { content: statusTask.data })] }) }));
84
+ useEffect(() => { if (allDone && !onBack)
85
+ finish(); }, [allDone, onBack, finish]);
86
+ useInput((input, key) => {
87
+ if (onBack && allDone && (input === 'q' || key.escape))
88
+ finish();
89
+ });
90
+ return (_jsxs(AppShell, { command: "ct migrate status", children: [_jsxs(Section, { title: "Migration Status", 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' }), statusTask.status === 'pending' && _jsx(Spinner, { label: "Querying migration status..." }), statusTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: "Failed to query migrations" }), statusTask.status === 'done' && statusTask.data && _jsx(ShellOutput, { content: statusTask.data })] }), onBack && allDone && (_jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "Press q to go back" }) }))] }));
87
91
  }
88
92
  //# sourceMappingURL=MigrateStatusView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MigrateStatusView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateStatusView.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqD5B,CAAC;AAEF,MAAM,UAAU,iBAAiB;IAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QACxC,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,yBAAyB;IACzB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM;YAAE,UAAU,CAAC,GAAG,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvB,iBAAiB;IACjB,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC;QAC9B,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IAChF,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO;QAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE3D,OAAO,CACL,KAAC,QAAQ,IAAC,OAAO,EAAC,mBAAmB,YACnC,MAAC,OAAO,IAAC,KAAK,EAAC,kBAAkB,aAC9B,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,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,IAAI,yBAAyB,GAAI,EAC1H,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,8BAA8B,GAAG,EACnF,UAAU,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,GAAG,EAChG,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,IAAI,KAAC,WAAW,IAAC,OAAO,EAAE,UAAU,CAAC,IAAI,GAAI,IACrF,GACD,CACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MigrateStatusView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateStatusView.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,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqD5B,CAAC;AAMF,MAAM,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAA0B;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAEjC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QACxC,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,yBAAyB;IACzB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM;YAAE,UAAU,CAAC,GAAG,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvB,iBAAiB;IACjB,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC;QAC9B,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IAChF,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,CAAC;YAAE,MAAM,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,QAAQ,IAAC,OAAO,EAAC,mBAAmB,aACnC,MAAC,OAAO,IAAC,KAAK,EAAC,kBAAkB,aAC9B,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,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,IAAI,yBAAyB,GAAI,EAC1H,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,8BAA8B,GAAG,EACnF,UAAU,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,GAAG,EAChG,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,IAAI,KAAC,WAAW,IAAC,OAAO,EAAE,UAAU,CAAC,IAAI,GAAI,IACrF,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,6 +1,7 @@
1
1
  interface MigrateWatchViewProps {
2
2
  interval: number;
3
+ onBack?: () => void;
3
4
  }
4
- export declare function MigrateWatchView({ interval }: MigrateWatchViewProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function MigrateWatchView({ interval, onBack }: MigrateWatchViewProps): import("react/jsx-runtime").JSX.Element;
5
6
  export {};
6
7
  //# sourceMappingURL=MigrateWatchView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MigrateWatchView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateWatchView.tsx"],"names":[],"mappings":"AA6DA,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAqCnE"}
1
+ {"version":3,"file":"MigrateWatchView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/MigrateWatchView.tsx"],"names":[],"mappings":"AA6DA,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,qBAAqB,2CAgD3E"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef } from 'react';
3
- import { useApp, Text } from 'ink';
3
+ import { Box, Text, useInput } from 'ink';
4
4
  import { rpc } from '../../lib/rpc.js';
5
5
  import { AppShell, Section, ShellOutput, Spinner, StatusLine } from '../components/index.js';
6
- import { usePolling } from '../hooks/index.js';
6
+ import { usePolling, useFinish } from '../hooks/index.js';
7
7
  const MIGRATION_STATUS_RPC = `
8
8
  alias Cdrcisco.Repo
9
9
  import Ecto.Query
@@ -58,8 +58,8 @@ const MIGRATION_STATUS_RPC = `
58
58
  IO.puts("::pending_count=error")
59
59
  end
60
60
  `;
61
- export function MigrateWatchView({ interval }) {
62
- const { exit } = useApp();
61
+ export function MigrateWatchView({ interval, onBack }) {
62
+ const finish = useFinish(onBack);
63
63
  const stoppedRef = useRef(false);
64
64
  const { data, error, stop } = usePolling(async () => {
65
65
  const output = await rpc(MIGRATION_STATUS_RPC);
@@ -70,14 +70,20 @@ export function MigrateWatchView({ interval }) {
70
70
  const pendingLine = lines.find(l => l.startsWith('::pending_count='));
71
71
  const pendingCount = pendingLine?.split('=')[1];
72
72
  const displayContent = lines.filter(l => !l.startsWith('::')).join('\n');
73
+ const watchDone = pendingCount === '0' && stoppedRef.current;
73
74
  // Auto-stop when no pending migrations remain
74
75
  useEffect(() => {
75
76
  if (pendingCount === '0' && !stoppedRef.current) {
76
77
  stoppedRef.current = true;
77
78
  stop();
78
- exit();
79
+ if (!onBack)
80
+ finish();
79
81
  }
80
- }, [pendingCount, stop, exit]);
81
- return (_jsx(AppShell, { command: "ct migrate watch", children: _jsxs(Section, { title: `Watch Migrations (interval: ${interval / 1000}s)`, children: [!data && !error && _jsx(Spinner, { label: "Polling migration status..." }), error && _jsx(StatusLine, { status: "warn", label: `Error: ${error.message}` }), data && displayContent && _jsx(ShellOutput, { content: displayContent }), pendingCount === '0' && _jsx(StatusLine, { status: "ok", label: "All migrations are up to date. Exiting watch mode." }), data && pendingCount !== '0' && pendingCount !== 'error' && (_jsx(Text, { dimColor: true, children: ` Next refresh in ${interval / 1000}s... Press Ctrl+C to stop.` }))] }) }));
82
+ }, [pendingCount, stop, onBack, finish]);
83
+ useInput((input, key) => {
84
+ if (onBack && watchDone && (input === 'q' || key.escape))
85
+ finish();
86
+ });
87
+ return (_jsxs(AppShell, { command: "ct migrate watch", children: [_jsxs(Section, { title: `Watch Migrations (interval: ${interval / 1000}s)`, children: [!data && !error && _jsx(Spinner, { label: "Polling migration status..." }), error && _jsx(StatusLine, { status: "warn", label: `Error: ${error.message}` }), data && displayContent && _jsx(ShellOutput, { content: displayContent }), pendingCount === '0' && _jsx(StatusLine, { status: "ok", label: "All migrations are up to date. Exiting watch mode." }), data && pendingCount !== '0' && pendingCount !== 'error' && (_jsx(Text, { dimColor: true, children: ` Next refresh in ${interval / 1000}s... Press Ctrl+C to stop.` }))] }), onBack && watchDone && (_jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "Press q to go back" }) }))] }));
82
88
  }
83
89
  //# sourceMappingURL=MigrateWatchView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MigrateWatchView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateWatchView.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqD5B,CAAC;AAMF,MAAM,UAAU,gBAAgB,CAAC,EAAE,QAAQ,EAAyB;IAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEb,iDAAiD;IACjD,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzE,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAChD,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/B,OAAO,CACL,KAAC,QAAQ,IAAC,OAAO,EAAC,kBAAkB,YAClC,MAAC,OAAO,IAAC,KAAK,EAAE,+BAA+B,QAAQ,GAAG,IAAI,IAAI,aAC/D,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,KAAC,OAAO,IAAC,KAAK,EAAC,6BAA6B,GAAG,EAClE,KAAK,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE,GAAI,EACvE,IAAI,IAAI,cAAc,IAAI,KAAC,WAAW,IAAC,OAAO,EAAE,cAAc,GAAI,EAClE,YAAY,KAAK,GAAG,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,oDAAoD,GAAG,EAC7G,IAAI,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,KAAK,OAAO,IAAI,CAC3D,KAAC,IAAI,IAAC,QAAQ,kBAAE,qBAAqB,QAAQ,GAAG,IAAI,4BAA4B,GAAQ,CACzF,IACO,GACD,CACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MigrateWatchView.js","sourceRoot":"","sources":["../../../src/ui/views/MigrateWatchView.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
- export declare function OfflineListView(): import("react/jsx-runtime").JSX.Element;
1
+ interface OfflineListViewProps {
2
+ onBack?: () => void;
3
+ }
4
+ export declare function OfflineListView({ onBack }: OfflineListViewProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
2
6
  //# sourceMappingURL=OfflineListView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OfflineListView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/OfflineListView.tsx"],"names":[],"mappings":"AAQA,wBAAgB,eAAe,4CAqD9B"}
1
+ {"version":3,"file":"OfflineListView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/OfflineListView.tsx"],"names":[],"mappings":"AAQA,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,oBAAoB,2CAgE/D"}
@@ -1,13 +1,13 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect } from 'react';
3
- import { useApp } from 'ink';
3
+ import { Box, Text, useInput } from 'ink';
4
4
  import { existsSync, readFileSync } from 'node:fs';
5
5
  import { execa } from 'execa';
6
6
  import { getPaths } from '../../lib/paths.js';
7
7
  import { AppShell, Section, StatusLine, Spinner, KeyValue } from '../components/index.js';
8
- import { useAsyncTask } from '../hooks/index.js';
9
- export function OfflineListView() {
10
- const { exit } = useApp();
8
+ import { useAsyncTask, useFinish } from '../hooks/index.js';
9
+ export function OfflineListView({ onBack }) {
10
+ const finish = useFinish(onBack);
11
11
  const { composeFile } = getPaths();
12
12
  const listTask = useAsyncTask(async () => {
13
13
  if (!existsSync(composeFile)) {
@@ -35,13 +35,18 @@ export function OfflineListView() {
35
35
  }
36
36
  return { images: results, total: images.length };
37
37
  });
38
+ const listDone = listTask.status === 'done' || listTask.status === 'error';
38
39
  useEffect(() => {
39
- if (listTask.status === 'done' || listTask.status === 'error')
40
- exit();
41
- }, [listTask.status, exit]);
42
- return (_jsx(AppShell, { command: "ct offline list", children: _jsxs(Section, { title: "Images in docker-compose.yml", children: [listTask.status === 'pending' && _jsx(Spinner, { label: "Inspecting images..." }), listTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: listTask.error?.message ?? 'Failed' }), listTask.status === 'done' && listTask.data && (_jsxs(_Fragment, { children: [_jsx(KeyValue, { items: listTask.data.images.map(item => ({
43
- key: item.key,
44
- value: item.value === 'not downloaded' ? `\u2718 ${item.value}` : `\u2714 ${item.value}`,
45
- })) }), _jsx(StatusLine, { status: "info", label: `Total images: ${listTask.data.total}` })] }))] }) }));
40
+ if (listDone && !onBack)
41
+ finish();
42
+ }, [listDone, onBack, finish]);
43
+ useInput((input, key) => {
44
+ if (onBack && listDone && (input === 'q' || key.escape))
45
+ finish();
46
+ });
47
+ return (_jsxs(AppShell, { command: "ct offline list", children: [_jsxs(Section, { title: "Images in docker-compose.yml", children: [listTask.status === 'pending' && _jsx(Spinner, { label: "Inspecting images..." }), listTask.status === 'error' && _jsx(StatusLine, { status: "fail", label: listTask.error?.message ?? 'Failed' }), listTask.status === 'done' && listTask.data && (_jsxs(_Fragment, { children: [_jsx(KeyValue, { items: listTask.data.images.map(item => ({
48
+ key: item.key,
49
+ value: item.value === 'not downloaded' ? `\u2718 ${item.value}` : `\u2714 ${item.value}`,
50
+ })) }), _jsx(StatusLine, { status: "info", label: `Total images: ${listTask.data.total}` })] }))] }), onBack && listDone && (_jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "Press q to go back" }) }))] }));
46
51
  }
47
52
  //# sourceMappingURL=OfflineListView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OfflineListView.js","sourceRoot":"","sources":["../../../src/ui/views/OfflineListView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OfflineListView.js","sourceRoot":"","sources":["../../../src/ui/views/OfflineListView.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
- export declare function SecretsSetupView(): import("react/jsx-runtime").JSX.Element;
1
+ interface SecretsSetupViewProps {
2
+ onBack?: () => void;
3
+ }
4
+ export declare function SecretsSetupView({ onBack }: SecretsSetupViewProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
2
6
  //# sourceMappingURL=SecretsSetupView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecretsSetupView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/SecretsSetupView.tsx"],"names":[],"mappings":"AASA,wBAAgB,gBAAgB,4CA0K/B"}
1
+ {"version":3,"file":"SecretsSetupView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/SecretsSetupView.tsx"],"names":[],"mappings":"AAUA,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,qBAAqB,2CA0KjE"}
@@ -1,10 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useEffect } from 'react';
3
- import { Text, Box, useApp } from 'ink';
3
+ import { Text, Box } from 'ink';
4
4
  import { AppShell, Section, StatusLine, Divider, SelectMenu, Confirm, TextInput } from '../components/index.js';
5
5
  import { SECRET_CATALOG, SECRET_GROUPS, getSecrets, writeEnvFile, writeSecretsOverlay } from '../../lib/secrets.js';
6
- export function SecretsSetupView() {
7
- const { exit } = useApp();
6
+ import { useFinish } from '../hooks/index.js';
7
+ export function SecretsSetupView({ onBack }) {
8
+ const finish = useFinish(onBack);
8
9
  const [phase, setPhase] = useState('intro');
9
10
  const [values, setValues] = useState(() => getSecrets());
10
11
  const [currentGroup, setCurrentGroup] = useState(null);
@@ -21,10 +22,10 @@ export function SecretsSetupView() {
21
22
  // Exit after done
22
23
  useEffect(() => {
23
24
  if (phase === 'done' || phase === 'error') {
24
- const timer = setTimeout(() => exit(), 200);
25
+ const timer = setTimeout(() => finish(), 200);
25
26
  return () => clearTimeout(timer);
26
27
  }
27
- }, [phase, exit]);
28
+ }, [phase, finish]);
28
29
  const groupItems = [
29
30
  ...SECRET_GROUPS.map(g => ({
30
31
  label: g,
@@ -1 +1 @@
1
- {"version":3,"file":"SecretsSetupView.js","sourceRoot":"","sources":["../../../src/ui/views/SecretsSetupView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SecretsSetupView.js","sourceRoot":"","sources":["../../../src/ui/views/SecretsSetupView.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAc,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC5H,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAU9C,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAyB;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,OAAO,CAAC,CAAC;IACnD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAyB,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;IACjF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IAC3E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAElE,0BAA0B;IAC1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,kBAAkB;IAClB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9C,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpB,MAAM,UAAU,GAAe;QAC7B,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzB,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACnF,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,gCAAgC,EAAE,KAAK,EAAE,UAAU,EAAE;KACpG,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,EAAE;QAC3C,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,KAAoB,CAAC,CAAC;QAC3C,aAAa,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,aAAa,CAAC,EAAE,CAAC,CAAC;YAClB,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE;QAC9C,IAAI,YAAY,EAAE,CAAC;YACjB,qCAAqC;YACrC,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,qCAAqC;QACrC,IAAI,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YACxC,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAC9B,aAAa,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,GAAY,EAAE,EAAE;QAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,QAAQ,CAAC,cAAc,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;YAC3B,MAAM,mBAAmB,EAAE,CAAC;YAC5B,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,aAAa,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,gBAAgB;IAChB,MAAM,eAAe,GAAG,UAAU,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzF,OAAO,CACL,MAAC,QAAQ,IAAC,OAAO,EAAC,kBAAkB,aACjC,KAAK,KAAK,OAAO,IAAI,CACpB,KAAC,OAAO,IAAC,KAAK,EAAC,sBAAsB,YACnC,KAAC,IAAI,oDAAyC,GACtC,CACX,EAEA,KAAK,KAAK,cAAc,IAAI,CAC3B,KAAC,OAAO,IAAC,KAAK,EAAC,mCAAmC,YAChD,KAAC,UAAU,IAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAI,GACxF,CACX,EAEA,KAAK,KAAK,YAAY,IAAI,YAAY,IAAI,CACzC,MAAC,OAAO,IAAC,KAAK,EAAE,GAAG,YAAY,gBAAgB,aAC7C,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,aACxC,MAAC,IAAI,IAAC,IAAI,mBAAE,YAAY,CAAC,KAAK,QAAI,YAAY,CAAC,GAAG,SAAS,EAC3D,MAAC,IAAI,IAAC,QAAQ,mBACX,YAAY,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,EAAE,EAC7F,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IACtE,EACP,KAAC,IAAI,IAAC,QAAQ,qEAAsD,EACpE,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,SAAS,IACR,KAAK,EAAC,WAAW,EACjB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,YAAY,CAAC,SAAS,EAC5B,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,SAAS,GAClD,GACE,IACF,EACN,KAAC,IAAI,IAAC,QAAQ,kBAAE,WAAW,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,MAAM,EAAE,GAAQ,IACpE,CACX,EAEA,KAAK,KAAK,QAAQ,IAAI,CACrB,MAAC,OAAO,IAAC,KAAK,EAAC,gBAAgB,aAC5B,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;wBACxB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;wBACpC,MAAM,SAAS,GAAG,KAAK,KAAK,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACrD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC;wBACpE,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;wBAC/F,OAAO,CACL,KAAC,UAAU,IAET,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EACjC,KAAK,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,IAFtD,GAAG,CAAC,GAAG,CAGZ,CACH,CAAC;oBACJ,CAAC,CAAC,EACF,KAAC,OAAO,KAAG,EACX,KAAC,OAAO,IACN,OAAO,EAAE,SAAS,WAAW,CAAC,MAAM,UAAU,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,0CAA0C,EAC3H,SAAS,EAAE,aAAa,GACxB,IACM,CACX,EAEA,KAAK,KAAK,OAAO,IAAI,CACpB,KAAC,OAAO,IAAC,KAAK,EAAC,eAAe,YAC5B,KAAC,IAAI,qCAA0B,GACvB,CACX,EAEA,KAAK,KAAK,MAAM,IAAI,CACnB,MAAC,OAAO,IAAC,KAAK,EAAC,wBAAwB,aACrC,KAAC,UAAU,IAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,mBAAmB,GAAG,EACpD,KAAC,UAAU,IAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,sCAAsC,GAAG,EACvE,KAAC,OAAO,KAAG,EACX,KAAC,IAAI,IAAC,QAAQ,kBAAE,yDAAyD,GAAQ,IACzE,CACX,EAEA,KAAK,KAAK,OAAO,IAAI,CACpB,KAAC,OAAO,IAAC,KAAK,EAAC,OAAO,YACpB,KAAC,UAAU,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAE,UAAU,IAAI,6BAA6B,GAAI,GACxE,CACX,IACQ,CACZ,CAAC;AACJ,CAAC"}
@@ -1,2 +1,6 @@
1
- export declare function SecretsStatusView(): import("react/jsx-runtime").JSX.Element;
1
+ interface SecretsStatusViewProps {
2
+ onBack?: () => void;
3
+ }
4
+ export declare function SecretsStatusView({ onBack }: SecretsStatusViewProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
2
6
  //# sourceMappingURL=SecretsStatusView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecretsStatusView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/SecretsStatusView.tsx"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,4CAmDhC"}
1
+ {"version":3,"file":"SecretsStatusView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/SecretsStatusView.tsx"],"names":[],"mappings":"AAOA,UAAU,sBAAsB;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,2CA8DnE"}
@@ -1,19 +1,26 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect } from 'react';
3
- import { Text, useApp } from 'ink';
3
+ import { Box, Text, useInput } from 'ink';
4
4
  import { AppShell, Section, SubSection, StatusLine, KeyValue } from '../components/index.js';
5
5
  import { SECRET_CATALOG, SECRET_GROUPS, getSecrets, getEnvFilePath, isCustomized, countOverrides } from '../../lib/secrets.js';
6
- export function SecretsStatusView() {
7
- const { exit } = useApp();
6
+ import { useFinish } from '../hooks/index.js';
7
+ export function SecretsStatusView({ onBack }) {
8
+ const finish = useFinish(onBack);
8
9
  const secrets = getSecrets();
9
10
  const envPath = getEnvFilePath();
10
11
  const customized = isCustomized();
11
12
  const overrideCount = countOverrides();
12
13
  useEffect(() => {
13
- // Exit after render
14
- const timer = setTimeout(() => exit(), 100);
15
- return () => clearTimeout(timer);
16
- }, [exit]);
14
+ // Auto-exit only when running standalone
15
+ if (!onBack) {
16
+ const timer = setTimeout(() => finish(), 100);
17
+ return () => clearTimeout(timer);
18
+ }
19
+ }, [onBack, finish]);
20
+ useInput((input, key) => {
21
+ if (onBack && (input === 'q' || key.escape))
22
+ finish();
23
+ });
17
24
  const getStatus = (key, defaultValue) => {
18
25
  const value = secrets[key] ?? '';
19
26
  if (!value && !defaultValue)
@@ -28,9 +35,9 @@ export function SecretsStatusView() {
28
35
  const tag = value !== defaultValue ? '(customized)' : '(default)';
29
36
  return `${key} ${display} ${tag}`;
30
37
  };
31
- return (_jsx(AppShell, { command: "ct secrets", children: _jsxs(Section, { title: "Secrets Configuration", children: [_jsx(KeyValue, { items: [
32
- { key: 'Source', value: envPath },
33
- { key: 'Status', value: customized ? `Customized (${overrideCount} override${overrideCount !== 1 ? 's' : ''})` : 'Using defaults' },
34
- ] }), SECRET_GROUPS.map((group) => (_jsx(SubSection, { title: group, children: SECRET_CATALOG.filter(d => d.group === group).map(def => (_jsx(StatusLine, { status: getStatus(def.key, def.defaultValue), label: getLabel(def.key, def.defaultValue, def.sensitive) }, def.key))) }, group))), _jsx(Text, { dimColor: true, children: "\n Run 'ct secrets setup' to configure" })] }) }));
38
+ return (_jsxs(AppShell, { command: "ct secrets", children: [_jsxs(Section, { title: "Secrets Configuration", children: [_jsx(KeyValue, { items: [
39
+ { key: 'Source', value: envPath },
40
+ { key: 'Status', value: customized ? `Customized (${overrideCount} override${overrideCount !== 1 ? 's' : ''})` : 'Using defaults' },
41
+ ] }), SECRET_GROUPS.map((group) => (_jsx(SubSection, { title: group, children: SECRET_CATALOG.filter(d => d.group === group).map(def => (_jsx(StatusLine, { status: getStatus(def.key, def.defaultValue), label: getLabel(def.key, def.defaultValue, def.sensitive) }, def.key))) }, group))), _jsx(Text, { dimColor: true, children: "\n Run 'ct secrets setup' to configure" })] }), onBack && (_jsx(Box, { paddingLeft: 2, paddingTop: 1, children: _jsx(Text, { dimColor: true, children: "Press q to go back" }) }))] }));
35
42
  }
36
43
  //# sourceMappingURL=SecretsStatusView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecretsStatusView.js","sourceRoot":"","sources":["../../../src/ui/views/SecretsStatusView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SecretsStatusView.js","sourceRoot":"","sources":["../../../src/ui/views/SecretsStatusView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface ServiceLogsViewProps {
2
+ service: string;
3
+ tail?: number;
4
+ onBack?: () => void;
5
+ }
6
+ export declare function ServiceLogsView({ service, tail, onBack }: ServiceLogsViewProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=ServiceLogsView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceLogsView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/ServiceLogsView.tsx"],"names":[],"mappings":"AAMA,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAeD,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,oBAAoB,2CA+M9E"}