@jungjaehoon/mama-os 0.78.0 → 0.79.1

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 (288) hide show
  1. package/CHANGELOG.md +341 -0
  2. package/README.md +38 -24
  3. package/db/migrations/002-model-runs-parent-index.sql +11 -0
  4. package/db/migrations/003-upkeep-settled.sql +15 -0
  5. package/dist/api/google-read-actions.d.ts +30 -0
  6. package/dist/api/google-read-actions.d.ts.map +1 -0
  7. package/dist/api/google-read-actions.js +256 -0
  8. package/dist/api/google-read-actions.js.map +1 -0
  9. package/dist/api/record-actions.d.ts.map +1 -1
  10. package/dist/api/record-actions.js +23 -5
  11. package/dist/api/record-actions.js.map +1 -1
  12. package/dist/api/report-handler.d.ts +0 -6
  13. package/dist/api/report-handler.d.ts.map +1 -1
  14. package/dist/api/report-handler.js +0 -54
  15. package/dist/api/report-handler.js.map +1 -1
  16. package/dist/api/security-events.d.ts +1 -1
  17. package/dist/api/security-events.d.ts.map +1 -1
  18. package/dist/api/security-events.js.map +1 -1
  19. package/dist/api/source-actions.d.ts +9 -0
  20. package/dist/api/source-actions.d.ts.map +1 -1
  21. package/dist/api/source-actions.js +49 -0
  22. package/dist/api/source-actions.js.map +1 -1
  23. package/dist/api/viewer-request-security.d.ts +14 -1
  24. package/dist/api/viewer-request-security.d.ts.map +1 -1
  25. package/dist/api/viewer-request-security.js +26 -3
  26. package/dist/api/viewer-request-security.js.map +1 -1
  27. package/dist/api/viewer-server.d.ts +7 -0
  28. package/dist/api/viewer-server.d.ts.map +1 -1
  29. package/dist/api/viewer-server.js +32 -0
  30. package/dist/api/viewer-server.js.map +1 -1
  31. package/dist/api/work-actions.d.ts +19 -2
  32. package/dist/api/work-actions.d.ts.map +1 -1
  33. package/dist/api/work-actions.js +15 -0
  34. package/dist/api/work-actions.js.map +1 -1
  35. package/dist/cli/commands/backup.d.ts +7 -6
  36. package/dist/cli/commands/backup.d.ts.map +1 -1
  37. package/dist/cli/commands/backup.js +44 -7
  38. package/dist/cli/commands/backup.js.map +1 -1
  39. package/dist/cli/commands/control.d.ts +22 -4
  40. package/dist/cli/commands/control.d.ts.map +1 -1
  41. package/dist/cli/commands/control.js +172 -11
  42. package/dist/cli/commands/control.js.map +1 -1
  43. package/dist/cli/commands/daemon.d.ts +13 -2
  44. package/dist/cli/commands/daemon.d.ts.map +1 -1
  45. package/dist/cli/commands/daemon.js +211 -5
  46. package/dist/cli/commands/daemon.js.map +1 -1
  47. package/dist/cli/commands/init-questions.d.ts +110 -0
  48. package/dist/cli/commands/init-questions.d.ts.map +1 -0
  49. package/dist/cli/commands/init-questions.js +445 -0
  50. package/dist/cli/commands/init-questions.js.map +1 -0
  51. package/dist/cli/commands/init-section.d.ts +13 -0
  52. package/dist/cli/commands/init-section.d.ts.map +1 -0
  53. package/dist/cli/commands/init-section.js +439 -0
  54. package/dist/cli/commands/init-section.js.map +1 -0
  55. package/dist/cli/commands/init.d.ts +56 -2
  56. package/dist/cli/commands/init.d.ts.map +1 -1
  57. package/dist/cli/commands/init.js +562 -351
  58. package/dist/cli/commands/init.js.map +1 -1
  59. package/dist/cli/commands/node-move.d.ts +20 -0
  60. package/dist/cli/commands/node-move.d.ts.map +1 -0
  61. package/dist/cli/commands/node-move.js +289 -0
  62. package/dist/cli/commands/node-move.js.map +1 -0
  63. package/dist/cli/commands/register-owner.d.ts +3 -0
  64. package/dist/cli/commands/register-owner.d.ts.map +1 -1
  65. package/dist/cli/commands/register-owner.js +2 -0
  66. package/dist/cli/commands/register-owner.js.map +1 -1
  67. package/dist/cli/commands/restore.d.ts +2 -0
  68. package/dist/cli/commands/restore.d.ts.map +1 -1
  69. package/dist/cli/commands/restore.js +7 -0
  70. package/dist/cli/commands/restore.js.map +1 -1
  71. package/dist/cli/commands/service.d.ts +16 -0
  72. package/dist/cli/commands/service.d.ts.map +1 -1
  73. package/dist/cli/commands/service.js +36 -8
  74. package/dist/cli/commands/service.js.map +1 -1
  75. package/dist/cli/commands/tools.d.ts +1 -1
  76. package/dist/cli/commands/tools.d.ts.map +1 -1
  77. package/dist/cli/commands/tools.js +8 -3
  78. package/dist/cli/commands/tools.js.map +1 -1
  79. package/dist/cli/commands/uninstall.d.ts.map +1 -1
  80. package/dist/cli/commands/uninstall.js +123 -15
  81. package/dist/cli/commands/uninstall.js.map +1 -1
  82. package/dist/cli/commands/update.d.ts +59 -0
  83. package/dist/cli/commands/update.d.ts.map +1 -0
  84. package/dist/cli/commands/update.js +948 -0
  85. package/dist/cli/commands/update.js.map +1 -0
  86. package/dist/cli/index.js +8 -4
  87. package/dist/cli/index.js.map +1 -1
  88. package/dist/cli/launch-files.d.ts +36 -0
  89. package/dist/cli/launch-files.d.ts.map +1 -1
  90. package/dist/cli/launch-files.js +94 -1
  91. package/dist/cli/launch-files.js.map +1 -1
  92. package/dist/cli/prompt.d.ts +2 -1
  93. package/dist/cli/prompt.d.ts.map +1 -1
  94. package/dist/cli/prompt.js +5 -2
  95. package/dist/cli/prompt.js.map +1 -1
  96. package/dist/cli/runtime/backup.d.ts +17 -1
  97. package/dist/cli/runtime/backup.d.ts.map +1 -1
  98. package/dist/cli/runtime/backup.js +32 -4
  99. package/dist/cli/runtime/backup.js.map +1 -1
  100. package/dist/cli/runtime/daemon-control.d.ts +92 -7
  101. package/dist/cli/runtime/daemon-control.d.ts.map +1 -1
  102. package/dist/cli/runtime/daemon-control.js +183 -8
  103. package/dist/cli/runtime/daemon-control.js.map +1 -1
  104. package/dist/cli/runtime/default-roots.d.ts +27 -0
  105. package/dist/cli/runtime/default-roots.d.ts.map +1 -0
  106. package/dist/cli/runtime/default-roots.js +61 -0
  107. package/dist/cli/runtime/default-roots.js.map +1 -0
  108. package/dist/cli/runtime/diagnostics.d.ts +25 -0
  109. package/dist/cli/runtime/diagnostics.d.ts.map +1 -1
  110. package/dist/cli/runtime/diagnostics.js +250 -63
  111. package/dist/cli/runtime/diagnostics.js.map +1 -1
  112. package/dist/cli/runtime/init-state.d.ts +20 -0
  113. package/dist/cli/runtime/init-state.d.ts.map +1 -0
  114. package/dist/cli/runtime/init-state.js +51 -0
  115. package/dist/cli/runtime/init-state.js.map +1 -0
  116. package/dist/cli/runtime/install-kind.d.ts +54 -0
  117. package/dist/cli/runtime/install-kind.d.ts.map +1 -0
  118. package/dist/cli/runtime/install-kind.js +164 -0
  119. package/dist/cli/runtime/install-kind.js.map +1 -0
  120. package/dist/cli/runtime/node-move-journal.d.ts +44 -0
  121. package/dist/cli/runtime/node-move-journal.d.ts.map +1 -0
  122. package/dist/cli/runtime/node-move-journal.js +48 -0
  123. package/dist/cli/runtime/node-move-journal.js.map +1 -0
  124. package/dist/cli/runtime/release-check.d.ts +94 -0
  125. package/dist/cli/runtime/release-check.d.ts.map +1 -0
  126. package/dist/cli/runtime/release-check.js +316 -0
  127. package/dist/cli/runtime/release-check.js.map +1 -0
  128. package/dist/cli/runtime/setup-page.d.ts +57 -0
  129. package/dist/cli/runtime/setup-page.d.ts.map +1 -0
  130. package/dist/cli/runtime/setup-page.js +266 -0
  131. package/dist/cli/runtime/setup-page.js.map +1 -0
  132. package/dist/cli/runtime/source-tools.d.ts +60 -0
  133. package/dist/cli/runtime/source-tools.d.ts.map +1 -0
  134. package/dist/cli/runtime/source-tools.js +170 -0
  135. package/dist/cli/runtime/source-tools.js.map +1 -0
  136. package/dist/cli/runtime/telegram-pairing.d.ts +73 -0
  137. package/dist/cli/runtime/telegram-pairing.d.ts.map +1 -0
  138. package/dist/cli/runtime/telegram-pairing.js +184 -0
  139. package/dist/cli/runtime/telegram-pairing.js.map +1 -0
  140. package/dist/cli/runtime/update-journal.d.ts +135 -0
  141. package/dist/cli/runtime/update-journal.d.ts.map +1 -0
  142. package/dist/cli/runtime/update-journal.js +144 -0
  143. package/dist/cli/runtime/update-journal.js.map +1 -0
  144. package/dist/cli/runtime/update-progress.d.ts +95 -0
  145. package/dist/cli/runtime/update-progress.d.ts.map +1 -0
  146. package/dist/cli/runtime/update-progress.js +154 -0
  147. package/dist/cli/runtime/update-progress.js.map +1 -0
  148. package/dist/cli/runtime/update-request.d.ts +58 -0
  149. package/dist/cli/runtime/update-request.d.ts.map +1 -0
  150. package/dist/cli/runtime/update-request.js +172 -0
  151. package/dist/cli/runtime/update-request.js.map +1 -0
  152. package/dist/connectors/calendar/index.d.ts +5 -1
  153. package/dist/connectors/calendar/index.d.ts.map +1 -1
  154. package/dist/connectors/calendar/index.js +19 -28
  155. package/dist/connectors/calendar/index.js.map +1 -1
  156. package/dist/connectors/chatwork/index.d.ts.map +1 -1
  157. package/dist/connectors/chatwork/index.js +7 -3
  158. package/dist/connectors/chatwork/index.js.map +1 -1
  159. package/dist/connectors/config-loader.d.ts +5 -0
  160. package/dist/connectors/config-loader.d.ts.map +1 -1
  161. package/dist/connectors/config-loader.js +8 -0
  162. package/dist/connectors/config-loader.js.map +1 -1
  163. package/dist/connectors/discord/index.d.ts.map +1 -1
  164. package/dist/connectors/discord/index.js +4 -3
  165. package/dist/connectors/discord/index.js.map +1 -1
  166. package/dist/connectors/drive/index.d.ts.map +1 -1
  167. package/dist/connectors/drive/index.js +15 -13
  168. package/dist/connectors/drive/index.js.map +1 -1
  169. package/dist/connectors/framework/gws-utils.d.ts +62 -0
  170. package/dist/connectors/framework/gws-utils.d.ts.map +1 -1
  171. package/dist/connectors/framework/gws-utils.js +133 -3
  172. package/dist/connectors/framework/gws-utils.js.map +1 -1
  173. package/dist/connectors/framework/types.d.ts +24 -0
  174. package/dist/connectors/framework/types.d.ts.map +1 -1
  175. package/dist/connectors/framework/types.js +9 -0
  176. package/dist/connectors/framework/types.js.map +1 -1
  177. package/dist/connectors/gmail/index.d.ts.map +1 -1
  178. package/dist/connectors/gmail/index.js +14 -13
  179. package/dist/connectors/gmail/index.js.map +1 -1
  180. package/dist/connectors/index.d.ts +4 -4
  181. package/dist/connectors/index.d.ts.map +1 -1
  182. package/dist/connectors/index.js +4 -10
  183. package/dist/connectors/index.js.map +1 -1
  184. package/dist/connectors/notion/index.d.ts.map +1 -1
  185. package/dist/connectors/notion/index.js +5 -3
  186. package/dist/connectors/notion/index.js.map +1 -1
  187. package/dist/connectors/sheets/index.d.ts.map +1 -1
  188. package/dist/connectors/sheets/index.js +17 -12
  189. package/dist/connectors/sheets/index.js.map +1 -1
  190. package/dist/connectors/slack/index.d.ts.map +1 -1
  191. package/dist/connectors/slack/index.js +9 -3
  192. package/dist/connectors/slack/index.js.map +1 -1
  193. package/dist/connectors/telegram/index.d.ts.map +1 -1
  194. package/dist/connectors/telegram/index.js +4 -3
  195. package/dist/connectors/telegram/index.js.map +1 -1
  196. package/dist/connectors/trello/index.d.ts +1 -1
  197. package/dist/connectors/trello/index.d.ts.map +1 -1
  198. package/dist/connectors/trello/index.js +10 -5
  199. package/dist/connectors/trello/index.js.map +1 -1
  200. package/dist/gateways/discord.d.ts +6 -0
  201. package/dist/gateways/discord.d.ts.map +1 -1
  202. package/dist/gateways/discord.js +38 -27
  203. package/dist/gateways/discord.js.map +1 -1
  204. package/dist/gateways/slack.d.ts +6 -0
  205. package/dist/gateways/slack.d.ts.map +1 -1
  206. package/dist/gateways/slack.js +38 -27
  207. package/dist/gateways/slack.js.map +1 -1
  208. package/dist/gateways/telegram-commands.d.ts +124 -0
  209. package/dist/gateways/telegram-commands.d.ts.map +1 -0
  210. package/dist/gateways/telegram-commands.js +131 -0
  211. package/dist/gateways/telegram-commands.js.map +1 -0
  212. package/dist/gateways/telegram.d.ts +20 -0
  213. package/dist/gateways/telegram.d.ts.map +1 -1
  214. package/dist/gateways/telegram.js +138 -34
  215. package/dist/gateways/telegram.js.map +1 -1
  216. package/dist/gateways/turn-contract.d.ts +11 -0
  217. package/dist/gateways/turn-contract.d.ts.map +1 -1
  218. package/dist/runtime/action-surface.d.ts +1 -1
  219. package/dist/runtime/action-surface.d.ts.map +1 -1
  220. package/dist/runtime/action-surface.js +10 -0
  221. package/dist/runtime/action-surface.js.map +1 -1
  222. package/dist/runtime/backend-security.d.ts +23 -2
  223. package/dist/runtime/backend-security.d.ts.map +1 -1
  224. package/dist/runtime/backend-security.js +50 -5
  225. package/dist/runtime/backend-security.js.map +1 -1
  226. package/dist/runtime/member-paths.d.ts +15 -7
  227. package/dist/runtime/member-paths.d.ts.map +1 -1
  228. package/dist/runtime/member-paths.js +64 -12
  229. package/dist/runtime/member-paths.js.map +1 -1
  230. package/dist/runtime/member-session.d.ts +4 -0
  231. package/dist/runtime/member-session.d.ts.map +1 -1
  232. package/dist/runtime/member-session.js +23 -2
  233. package/dist/runtime/member-session.js.map +1 -1
  234. package/dist/runtime/native-session.d.ts +2 -0
  235. package/dist/runtime/native-session.d.ts.map +1 -1
  236. package/dist/runtime/native-session.js +1 -0
  237. package/dist/runtime/native-session.js.map +1 -1
  238. package/dist/runtime/owner-runtime.d.ts +63 -1
  239. package/dist/runtime/owner-runtime.d.ts.map +1 -1
  240. package/dist/runtime/owner-runtime.js +180 -3
  241. package/dist/runtime/owner-runtime.js.map +1 -1
  242. package/dist/runtime/owner-system-prompt.d.ts.map +1 -1
  243. package/dist/runtime/owner-system-prompt.js +0 -1
  244. package/dist/runtime/owner-system-prompt.js.map +1 -1
  245. package/dist/runtime/principal-access.d.ts +2 -0
  246. package/dist/runtime/principal-access.d.ts.map +1 -1
  247. package/dist/runtime/principal-access.js +7 -0
  248. package/dist/runtime/principal-access.js.map +1 -1
  249. package/dist/runtime/principal-sessions.d.ts.map +1 -1
  250. package/dist/runtime/principal-sessions.js +8 -1
  251. package/dist/runtime/principal-sessions.js.map +1 -1
  252. package/dist/runtime/record-orders.d.ts.map +1 -1
  253. package/dist/runtime/record-orders.js +3 -29
  254. package/dist/runtime/record-orders.js.map +1 -1
  255. package/dist/runtime/report-scheduler.d.ts +9 -2
  256. package/dist/runtime/report-scheduler.d.ts.map +1 -1
  257. package/dist/runtime/report-scheduler.js +37 -10
  258. package/dist/runtime/report-scheduler.js.map +1 -1
  259. package/dist/runtime/stimulus-delivery.d.ts +3 -0
  260. package/dist/runtime/stimulus-delivery.d.ts.map +1 -1
  261. package/dist/runtime/stimulus-delivery.js +19 -3
  262. package/dist/runtime/stimulus-delivery.js.map +1 -1
  263. package/dist/runtime/tools-paths.d.ts +7 -0
  264. package/dist/runtime/tools-paths.d.ts.map +1 -1
  265. package/dist/runtime/tools-paths.js +11 -5
  266. package/dist/runtime/tools-paths.js.map +1 -1
  267. package/dist/runtime/upkeep-close.d.ts +17 -0
  268. package/dist/runtime/upkeep-close.d.ts.map +1 -0
  269. package/dist/runtime/upkeep-close.js +127 -0
  270. package/dist/runtime/upkeep-close.js.map +1 -0
  271. package/dist/runtime/upkeep-orders.d.ts +124 -0
  272. package/dist/runtime/upkeep-orders.d.ts.map +1 -0
  273. package/dist/runtime/upkeep-orders.js +310 -0
  274. package/dist/runtime/upkeep-orders.js.map +1 -0
  275. package/dist/runtime/upkeep-reconcile.d.ts +25 -0
  276. package/dist/runtime/upkeep-reconcile.d.ts.map +1 -0
  277. package/dist/runtime/upkeep-reconcile.js +231 -0
  278. package/dist/runtime/upkeep-reconcile.js.map +1 -0
  279. package/dist/runtime/upkeep-writeback.d.ts +22 -0
  280. package/dist/runtime/upkeep-writeback.d.ts.map +1 -0
  281. package/dist/runtime/upkeep-writeback.js +203 -0
  282. package/dist/runtime/upkeep-writeback.js.map +1 -0
  283. package/dist/utils/untrusted-content.d.ts.map +1 -1
  284. package/dist/utils/untrusted-content.js +8 -1
  285. package/dist/utils/untrusted-content.js.map +1 -1
  286. package/install/install.sh +457 -0
  287. package/install/node.json +9 -0
  288. package/package.json +3 -4
@@ -1,15 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.STATUS_STOPPED_EXIT = void 0;
3
+ exports.CONTROL_WAIT_MS = exports.STATUS_STOPPED_EXIT = void 0;
4
4
  exports.runStatus = runStatus;
5
5
  exports.runStop = runStop;
6
6
  const node_os_1 = require("node:os");
7
+ const node_path_1 = require("node:path");
8
+ const config_js_1 = require("../../runtime/config.js");
7
9
  const prompt_js_1 = require("../prompt.js");
10
+ const release_check_js_1 = require("../runtime/release-check.js");
11
+ const node_move_journal_js_1 = require("../runtime/node-move-journal.js");
12
+ const update_journal_js_1 = require("../runtime/update-journal.js");
8
13
  const daemon_control_js_1 = require("../runtime/daemon-control.js");
9
14
  const systemd_service_js_1 = require("../runtime/systemd-service.js");
10
15
  const daemon_js_1 = require("./daemon.js");
11
16
  /** `mama status` exits 0 while the daemon runs and 3 when nothing serves the install. */
12
17
  exports.STATUS_STOPPED_EXIT = 3;
18
+ /**
19
+ * How long `mama stop` reads again while the install's holder is half made. A daemon takes the
20
+ * install's lock, writes its holder file and opens its control socket in one stretch at the start
21
+ * of its boot, before it reads its config or starts anything that claims work (daemon.ts,
22
+ * bootDaemon). At its own stop it closes the socket, removes the file and lets go of the lock in
23
+ * one stretch too (daemon.ts:614-623); before that, while it still shuts down with the socket
24
+ * open, it refuses a drain at once ("MAMA is stopping"). A stop that reads in either stretch finds
25
+ * the lock held with no holder file (`unknown`, pid 0), which every stop reads again, or a daemon
26
+ * that does not answer, which the drained stop tries again. No turn runs then, and the stretch is
27
+ * a few file operations, so past this bound the holder is not starting or ending.
28
+ */
29
+ exports.CONTROL_WAIT_MS = 5_000;
13
30
  function localTime(ms) {
14
31
  return typeof ms === 'number' ? new Date(ms).toLocaleString('sv-SE') : 'unknown';
15
32
  }
@@ -18,10 +35,18 @@ function holderLine(holder) {
18
35
  }
19
36
  function statusLines(status) {
20
37
  const lines = [
21
- `running: ${String(status.command)} (pid ${String(status.pid)}, version ${String(status.version)}, since ${localTime(status.startedAt)})`,
38
+ `running: ${String(status.command)} (pid ${String(status.pid)}, version ${String(status.version)}${typeof status.node === 'string' ? `, Node.js ${status.node}` : ''}, since ${localTime(status.startedAt)})`,
22
39
  ];
23
40
  if (status.stage !== 'running')
24
41
  lines.push(`boot stage: ${String(status.stage)}`);
42
+ const drain = status.drain;
43
+ if (drain) {
44
+ lines.push(`claims held for ${drain.holds === 1 ? 'a drain' : `${drain.holds} drains`} since ${localTime(drain.since)}: new inputs wait`);
45
+ }
46
+ const update = status.update;
47
+ if (update) {
48
+ lines.push(`claims held since ${localTime(update.since)} for the update to ${update.to}: new inputs wait until mama update confirms it`);
49
+ }
25
50
  const turns = Array.isArray(status.runningTurns)
26
51
  ? status.runningTurns
27
52
  : [];
@@ -64,14 +89,55 @@ async function runStatus(args, options = {}) {
64
89
  service = `unknown (${error instanceof Error ? error.message : String(error)})`;
65
90
  }
66
91
  const reply = await (0, daemon_js_1.askDaemon)('status', options);
92
+ // The daemon's last release check, from its file: it outlives the daemon, and nothing here asks
93
+ // the registry.
94
+ const home = options.home ?? (0, node_os_1.homedir)();
95
+ const release = (0, release_check_js_1.releaseReport)((0, node_path_1.dirname)(options.configPath ?? (0, config_js_1.defaultConfigPath)(home)), home);
96
+ const releaseLines = () => release === null
97
+ ? []
98
+ : [
99
+ `release: ${release.detail}${release.context ? ` (${release.context})` : ''}`,
100
+ ...(release.steps ?? []).map((step) => ` update: ${step}`),
101
+ ...(release.fix === undefined ? [] : [` fix: ${release.fix}`]),
102
+ ];
67
103
  if (reply.state === 'stopped') {
104
+ // A stopped install may be stopped by an unfinished update: start.sh exits on its hold file.
105
+ // So may a move of the managed Node, which holds it on the same file.
106
+ let update;
107
+ try {
108
+ const root = (0, node_path_1.dirname)(options.configPath ?? (0, config_js_1.defaultConfigPath)(home));
109
+ const move = (0, node_move_journal_js_1.readNodeMoveJournal)((0, node_move_journal_js_1.nodeMovePlaces)(root).journal);
110
+ update = move === null ? (0, update_journal_js_1.unfinishedUpdate)(root) : { move };
111
+ }
112
+ catch (error) {
113
+ update = { unreadable: error instanceof Error ? error.message : String(error) };
114
+ }
115
+ const updateLine = update === null
116
+ ? null
117
+ : 'unreadable' in update
118
+ ? `update journal cannot be read: ${update.unreadable}; mama doctor names it`
119
+ : 'move' in update
120
+ ? `Node move unfinished: ${update.move.from} → ${update.move.to} (${update.move.phase}, step ${update.move.step}); run the install command again, which finishes or undoes it: ${node_move_journal_js_1.INSTALL_COMMAND}`
121
+ : 'journal' in update
122
+ ? `update unfinished: ${update.journal.from} → ${update.journal.to} (${update.journal.phase}, step ${update.journal.step}); resolve it with: ${update.command}`
123
+ : `update hold file ${update.hold} is in place with no journal, so start.sh exits at once; remove it, then mama service start`;
68
124
  if (json) {
69
- write(JSON.stringify({ state: 'stopped', holder: reply.holder, service }));
125
+ write(JSON.stringify({
126
+ state: 'stopped',
127
+ holder: reply.holder,
128
+ service,
129
+ release: release?.state ?? null,
130
+ update: updateLine,
131
+ }));
70
132
  }
71
133
  else {
72
134
  write(reply.holder ? `stopped; ${holderLine(reply.holder)}` : 'stopped');
135
+ if (updateLine)
136
+ write(updateLine);
73
137
  if (service)
74
138
  write(`service: ${service}`);
139
+ for (const line of releaseLines())
140
+ write(line);
75
141
  }
76
142
  return exports.STATUS_STOPPED_EXIT;
77
143
  }
@@ -80,13 +146,15 @@ async function runStatus(args, options = {}) {
80
146
  }
81
147
  const status = reply.reply.status;
82
148
  if (json) {
83
- write(JSON.stringify({ state: 'running', status, service }));
149
+ write(JSON.stringify({ state: 'running', status, service, release: release?.state ?? null }));
84
150
  }
85
151
  else {
86
152
  for (const line of statusLines(status))
87
153
  write(line);
88
154
  if (service)
89
155
  write(`service: ${service}`);
156
+ for (const line of releaseLines())
157
+ write(line);
90
158
  }
91
159
  return 0;
92
160
  }
@@ -131,17 +199,110 @@ function finish(outcome, write, done) {
131
199
  write(`not stopped yet: ${holderLine(outcome.holder)}; check mama status`);
132
200
  return 1;
133
201
  }
202
+ function waitingFor(counts) {
203
+ const turns = `${counts.running} turn${counts.running === 1 ? '' : 's'} running`;
204
+ const inputs = `${counts.claimed} input${counts.claimed === 1 ? '' : 's'} claimed`;
205
+ return `${turns}, ${inputs}`;
206
+ }
207
+ function minutes(ms) {
208
+ return `${Math.ceil(ms / 60_000)} min`;
209
+ }
134
210
  /**
135
- * Stop the install's daemon. A daemon run by a loaded LaunchAgent is unloaded, so KeepAlive does
136
- * not restart it; any other daemon is asked through the control socket. A replay, backfill or
137
- * register-owner is left to finish. A running turn is interrupted; at the next start MAMA delivers
138
- * its stored result or tells its sender that it was interrupted.
211
+ * Stop the install's daemon. A daemon is drained first: it claims nothing new, and the stop waits
212
+ * until its running turns and claimed inputs finish, so their replies are delivered. The drain's
213
+ * connection stays open through the stop, so nothing starts in between; inputs that arrive wait
214
+ * for the next start. `--now` skips the drain and interrupts what runs; at the next start MAMA
215
+ * delivers its stored result or tells its sender that it was interrupted.
139
216
  */
140
217
  async function runStop(args, options = {}) {
141
- if (args.length !== 0)
142
- throw new prompt_js_1.CliInputError('Usage: mama stop');
218
+ const now = args.length === 1 && args[0] === '--now';
219
+ if (args.length > 1 || (args.length === 1 && !now)) {
220
+ throw new prompt_js_1.CliInputError('Usage: mama stop [--now]');
221
+ }
143
222
  const write = options.write ?? ((line) => console.log(line));
144
- let holder = (0, daemon_control_js_1.lockHolder)((0, daemon_js_1.installControlPaths)(options));
223
+ if (now)
224
+ return await stopNow(options, write);
225
+ const paths = (0, daemon_js_1.installControlPaths)(options);
226
+ let reported = false;
227
+ const onProgress = (progress) => {
228
+ if (progress.idle)
229
+ return;
230
+ write(reported
231
+ ? `still draining: ${waitingFor(progress)}`
232
+ : `draining: new inputs wait; waiting for ${waitingFor(progress)} (at most ${minutes(progress.bound)})`);
233
+ reported = true;
234
+ };
235
+ // A daemon still opening its control socket is tried again (CONTROL_WAIT_MS); booting, it has
236
+ // nothing to drain.
237
+ const started = Date.now();
238
+ let drain = null;
239
+ while (drain === null) {
240
+ const holder = await namedHolder(options, started);
241
+ // A replay, backfill or register-owner is left to finish; a stopped install has nothing to
242
+ // drain. A holder still unnamed past the bound goes there too, which reports it.
243
+ if (holder?.command !== 'daemon')
244
+ return await stopNow(options, write, started);
245
+ drain = await (0, daemon_control_js_1.drainDaemon)(paths, onProgress, options.drainDeadlines);
246
+ if (drain !== null)
247
+ break;
248
+ if (Date.now() - started >= (options.controlWaitMs ?? exports.CONTROL_WAIT_MS)) {
249
+ write(`not stopped: ${holderLine(holder)} does not answer on its control socket; mama stop --now stops it without draining`);
250
+ return 1;
251
+ }
252
+ await new Promise((resolve) => setTimeout(resolve, options.pollMs ?? 500));
253
+ }
254
+ try {
255
+ const outcome = await drain.outcome;
256
+ if (outcome.kind === 'bound') {
257
+ write(`not stopped: still ${waitingFor(outcome)} after ${minutes(outcome.bound)}; nothing changed, new inputs are claimed again (mama stop --now interrupts them)`);
258
+ return 1;
259
+ }
260
+ if (outcome.kind === 'refused') {
261
+ // A daemon older than the drain answers `unknown op`.
262
+ write(`not stopped: the daemon refused the drain: ${outcome.error}; mama stop --now stops it without draining`);
263
+ return 1;
264
+ }
265
+ if (outcome.kind === 'silent') {
266
+ write(`not stopped: ${outcome.error}; mama stop --now stops it without draining`);
267
+ return 1;
268
+ }
269
+ if (outcome.kind === 'closed') {
270
+ write('not stopped by this command: the daemon ended the drain before it was idle; check mama status');
271
+ return 1;
272
+ }
273
+ write('drained: nothing runs; stopping');
274
+ // Still held: the service manager's stop or the socket's stop comes next.
275
+ return await stopNow(options, write);
276
+ }
277
+ finally {
278
+ drain.release();
279
+ }
280
+ }
281
+ /**
282
+ * The install's holder, read again while the lock is held with no holder file (`unknown`, pid 0),
283
+ * until `CONTROL_WAIT_MS` after `started`: such a holder is between its lock and its holder file,
284
+ * or between removing the file and letting go. The stop then judges the holder it will wait for,
285
+ * with its own nonce, not a placeholder.
286
+ */
287
+ async function namedHolder(options, started) {
288
+ const paths = (0, daemon_js_1.installControlPaths)(options);
289
+ for (;;) {
290
+ const holder = (0, daemon_control_js_1.lockHolder)(paths);
291
+ if (holder?.command !== 'unknown')
292
+ return holder;
293
+ if (Date.now() - started >= (options.controlWaitMs ?? exports.CONTROL_WAIT_MS))
294
+ return holder;
295
+ await new Promise((resolve) => setTimeout(resolve, options.pollMs ?? 500));
296
+ }
297
+ }
298
+ /**
299
+ * Today's stop, also `--now`. A daemon run by a loaded LaunchAgent is unloaded, so KeepAlive does
300
+ * not restart it; any other daemon is asked through the control socket. A replay, backfill or
301
+ * register-owner is left to finish. A running turn is interrupted. `started` is when the stop
302
+ * began, so a drained stop that comes here has used up part of the wait for an unnamed holder.
303
+ */
304
+ async function stopNow(options, write, started = Date.now()) {
305
+ let holder = await namedHolder(options, started);
145
306
  const service = (0, daemon_js_1.launchdService)();
146
307
  const run = options.run ?? systemd_service_js_1.defaultServiceRun;
147
308
  const unit = (0, systemd_service_js_1.systemdUnitState)(options.home ?? (0, node_os_1.homedir)(), run);
@@ -1 +1 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../src/cli/commands/control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../src/cli/commands/control.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,9 @@ import { type MessengerName, type W1Config } from '../../runtime/config.js';
9
9
  import { type ViewerServer, type ViewerServerOptions } from '../../api/viewer-server.js';
10
10
  import type { OwnerFileDeliveryResult } from '../../api/file-delivery.js';
11
11
  import { createReportScheduler } from '../../runtime/report-scheduler.js';
12
+ import { createReleaseCheck } from '../runtime/release-check.js';
12
13
  import { createTimeZoneSetting } from '../../runtime/timezone.js';
13
- import { type DaemonControlReply } from '../runtime/daemon-control.js';
14
+ import { type DaemonControlOp, type DaemonControlReply } from '../runtime/daemon-control.js';
14
15
  export declare const OWNER_PRINCIPAL_ID = "owner";
15
16
  export interface DaemonLogger {
16
17
  info(line: string): void;
@@ -29,6 +30,8 @@ export interface DaemonGateway {
29
30
  cancelMemberEnrollment?(principalId: string): void;
30
31
  interruptResponse?(sourceRef: string): Promise<void>;
31
32
  recoverPendingResponses(): Promise<void>;
33
+ /** Recover one owner message as startup recovery does, leaving every other one alone. */
34
+ recoverResponse(sourceRef: string): Promise<void>;
32
35
  start(): Promise<void>;
33
36
  stop(): Promise<void>;
34
37
  deliverResponse(sourceRef: string, response: string): Promise<void>;
@@ -62,6 +65,8 @@ export interface DaemonBootDependencies {
62
65
  createDiscordGateway?: (options: DiscordGatewayOptions) => DaemonGateway;
63
66
  createSlackGateway?: (options: SlackGatewayOptions) => DaemonGateway;
64
67
  createReportScheduler?: typeof createReportScheduler;
68
+ /** The daily release check; tests replace it so no boot asks the registry. */
69
+ createReleaseCheck?: typeof createReleaseCheck;
65
70
  ensureIsolation?: (options: DaemonIsolationOptions) => void;
66
71
  }
67
72
  export interface DaemonBootOptions {
@@ -117,6 +122,11 @@ export declare const MESSENGER_SECRETS: {
117
122
  /** Physical paths: a symlinked workspace must not reach the directories it is kept apart from. */
118
123
  export declare function pathsOverlap(left: string, right: string): boolean;
119
124
  export declare function validateDeliveryRoutes(config: W1Config): void;
125
+ /**
126
+ * The instant closing summaries start being ordered: written once, at the first start that runs
127
+ * upkeep, so items closed before it are left to the one-time summary script.
128
+ */
129
+ export declare function upkeepCloseSince(path: string, now?: number): number;
120
130
  export declare function pathsFor(configPath: string, config: W1Config): DaemonPaths;
121
131
  /** Create only the native-process isolation files; never remove product state. */
122
132
  export declare function ensureDaemonIsolation(options: DaemonIsolationOptions): void;
@@ -133,9 +143,10 @@ export declare function installControlPaths(options?: {
133
143
  home?: string;
134
144
  configPath?: string;
135
145
  }): import("../runtime/daemon-control.js").DaemonControlPaths;
136
- export declare function askDaemon(op: 'status' | 'stop', options?: {
146
+ export declare function askDaemon(op: DaemonControlOp, options?: {
137
147
  home?: string;
138
148
  configPath?: string;
149
+ timeoutMs?: number;
139
150
  }): Promise<DaemonControlReply>;
140
151
  export interface LaunchdService {
141
152
  readonly loaded: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/daemon.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAqB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACd,MAAM,yBAAyB,CAAC;AASjC,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AAKpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAwB,MAAM,mCAAmC,CAAC;AAChG,OAAO,EACL,kBAAkB,EAInB,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAAE,qBAAqB,EAAY,MAAM,2BAA2B,CAAC;AAG5E,OAAO,EAML,KAAK,eAAe,EACpB,KAAK,kBAAkB,EAIxB,MAAM,8BAA8B,CAAC;AAGtC,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAI1C,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,0BAA0B,CAAC,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;IAC3E,SAAS,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,6BAA6B,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAC/F,mBAAmB,CAAC,EAAE,OAAO,6BAA6B,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;IACzG,mBAAmB,CAAC,EAAE,OAAO,6BAA6B,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;IACzG,kFAAkF;IAClF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,uBAAuB,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/F,sBAAsB,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,iBAAiB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,yFAAyF;IACzF,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,YAAY,CAAC;IACpE,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACxF,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,aAAa,CAAC;IAC3E,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,aAAa,CAAC;IACzE,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,aAAa,CAAC;IACrE,qBAAqB,CAAC,EAAE,OAAO,qBAAqB,CAAC;IACrD,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC7D;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC9D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAiBD,qBAAa,mBAAoB,SAAQ,KAAK;;CAK7C;AAED,4FAA4F;AAC5F,eAAO,MAAM,WAAW,4OAed,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAOrD,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB;;;;CAI+B,CAAC;AAyC9D,kGAAkG;AAClG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAMjE;AASD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CA2B7D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,MAAM,CAavE;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,WAAW,CA0C1E;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAmB3E;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EAC1D,MAAM,EAAE,YAAY,GACnB,UAAU,CAmBZ;AAgBD,oFAAoF;AACpF,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC,CAs2BvF;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC9E;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,6DAGvF;AAED,wBAAsB,SAAS,CAC7B,EAAE,EAAE,eAAe,EACnB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACvE,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,iFAAiF;IACjF,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,+FAA+F;AAC/F,wBAAgB,cAAc,IAAI,cAAc,CAc/C;AAED,4FAA4F;AAC5F,wBAAgB,qBAAqB,IAAI,IAAI,CAU5C"}