@jungjaehoon/mama-os 0.77.0 → 0.79.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 (338) hide show
  1. package/CHANGELOG.md +446 -0
  2. package/README.md +59 -30
  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 +10 -1
  19. package/dist/api/security-events.js.map +1 -1
  20. package/dist/api/source-actions.d.ts +9 -0
  21. package/dist/api/source-actions.d.ts.map +1 -1
  22. package/dist/api/source-actions.js +49 -0
  23. package/dist/api/source-actions.js.map +1 -1
  24. package/dist/api/viewer-request-security.d.ts +14 -1
  25. package/dist/api/viewer-request-security.d.ts.map +1 -1
  26. package/dist/api/viewer-request-security.js +26 -3
  27. package/dist/api/viewer-request-security.js.map +1 -1
  28. package/dist/api/viewer-server.d.ts +8 -0
  29. package/dist/api/viewer-server.d.ts.map +1 -1
  30. package/dist/api/viewer-server.js +66 -0
  31. package/dist/api/viewer-server.js.map +1 -1
  32. package/dist/api/work-actions.d.ts +19 -2
  33. package/dist/api/work-actions.d.ts.map +1 -1
  34. package/dist/api/work-actions.js +42 -2
  35. package/dist/api/work-actions.js.map +1 -1
  36. package/dist/cli/commands/backfill.d.ts.map +1 -1
  37. package/dist/cli/commands/backfill.js +1 -0
  38. package/dist/cli/commands/backfill.js.map +1 -1
  39. package/dist/cli/commands/backup.d.ts +14 -0
  40. package/dist/cli/commands/backup.d.ts.map +1 -0
  41. package/dist/cli/commands/backup.js +174 -0
  42. package/dist/cli/commands/backup.js.map +1 -0
  43. package/dist/cli/commands/control.d.ts +44 -0
  44. package/dist/cli/commands/control.d.ts.map +1 -0
  45. package/dist/cli/commands/control.js +354 -0
  46. package/dist/cli/commands/control.js.map +1 -0
  47. package/dist/cli/commands/daemon.d.ts +60 -3
  48. package/dist/cli/commands/daemon.d.ts.map +1 -1
  49. package/dist/cli/commands/daemon.js +454 -78
  50. package/dist/cli/commands/daemon.js.map +1 -1
  51. package/dist/cli/commands/doctor.d.ts +13 -0
  52. package/dist/cli/commands/doctor.d.ts.map +1 -0
  53. package/dist/cli/commands/doctor.js +216 -0
  54. package/dist/cli/commands/doctor.js.map +1 -0
  55. package/dist/cli/commands/init-questions.d.ts +98 -0
  56. package/dist/cli/commands/init-questions.d.ts.map +1 -0
  57. package/dist/cli/commands/init-questions.js +420 -0
  58. package/dist/cli/commands/init-questions.js.map +1 -0
  59. package/dist/cli/commands/init-section.d.ts +13 -0
  60. package/dist/cli/commands/init-section.d.ts.map +1 -0
  61. package/dist/cli/commands/init-section.js +375 -0
  62. package/dist/cli/commands/init-section.js.map +1 -0
  63. package/dist/cli/commands/init.d.ts +56 -2
  64. package/dist/cli/commands/init.d.ts.map +1 -1
  65. package/dist/cli/commands/init.js +562 -350
  66. package/dist/cli/commands/init.js.map +1 -1
  67. package/dist/cli/commands/logs.d.ts +9 -0
  68. package/dist/cli/commands/logs.d.ts.map +1 -0
  69. package/dist/cli/commands/logs.js +109 -0
  70. package/dist/cli/commands/logs.js.map +1 -0
  71. package/dist/cli/commands/node-move.d.ts +20 -0
  72. package/dist/cli/commands/node-move.d.ts.map +1 -0
  73. package/dist/cli/commands/node-move.js +289 -0
  74. package/dist/cli/commands/node-move.js.map +1 -0
  75. package/dist/cli/commands/register-owner.d.ts +3 -0
  76. package/dist/cli/commands/register-owner.d.ts.map +1 -1
  77. package/dist/cli/commands/register-owner.js +14 -0
  78. package/dist/cli/commands/register-owner.js.map +1 -1
  79. package/dist/cli/commands/restore.d.ts +16 -0
  80. package/dist/cli/commands/restore.d.ts.map +1 -0
  81. package/dist/cli/commands/restore.js +137 -0
  82. package/dist/cli/commands/restore.js.map +1 -0
  83. package/dist/cli/commands/service.d.ts +44 -0
  84. package/dist/cli/commands/service.d.ts.map +1 -0
  85. package/dist/cli/commands/service.js +306 -0
  86. package/dist/cli/commands/service.js.map +1 -0
  87. package/dist/cli/commands/tools.d.ts +1 -1
  88. package/dist/cli/commands/tools.d.ts.map +1 -1
  89. package/dist/cli/commands/tools.js +8 -3
  90. package/dist/cli/commands/tools.js.map +1 -1
  91. package/dist/cli/commands/uninstall.d.ts +7 -0
  92. package/dist/cli/commands/uninstall.d.ts.map +1 -0
  93. package/dist/cli/commands/uninstall.js +335 -0
  94. package/dist/cli/commands/uninstall.js.map +1 -0
  95. package/dist/cli/commands/update.d.ts +59 -0
  96. package/dist/cli/commands/update.d.ts.map +1 -0
  97. package/dist/cli/commands/update.js +948 -0
  98. package/dist/cli/commands/update.js.map +1 -0
  99. package/dist/cli/index.js +74 -23
  100. package/dist/cli/index.js.map +1 -1
  101. package/dist/cli/launch-files.d.ts +119 -0
  102. package/dist/cli/launch-files.d.ts.map +1 -1
  103. package/dist/cli/launch-files.js +324 -15
  104. package/dist/cli/launch-files.js.map +1 -1
  105. package/dist/cli/prompt.d.ts +2 -1
  106. package/dist/cli/prompt.d.ts.map +1 -1
  107. package/dist/cli/prompt.js +5 -2
  108. package/dist/cli/prompt.js.map +1 -1
  109. package/dist/cli/runtime/backend-probe.d.ts +34 -0
  110. package/dist/cli/runtime/backend-probe.d.ts.map +1 -0
  111. package/dist/cli/runtime/backend-probe.js +83 -0
  112. package/dist/cli/runtime/backend-probe.js.map +1 -0
  113. package/dist/cli/runtime/backup.d.ts +130 -0
  114. package/dist/cli/runtime/backup.d.ts.map +1 -0
  115. package/dist/cli/runtime/backup.js +592 -0
  116. package/dist/cli/runtime/backup.js.map +1 -0
  117. package/dist/cli/runtime/daemon-control.d.ts +169 -0
  118. package/dist/cli/runtime/daemon-control.d.ts.map +1 -0
  119. package/dist/cli/runtime/daemon-control.js +441 -0
  120. package/dist/cli/runtime/daemon-control.js.map +1 -0
  121. package/dist/cli/runtime/default-roots.d.ts +27 -0
  122. package/dist/cli/runtime/default-roots.d.ts.map +1 -0
  123. package/dist/cli/runtime/default-roots.js +61 -0
  124. package/dist/cli/runtime/default-roots.js.map +1 -0
  125. package/dist/cli/runtime/diagnostics.d.ts +68 -0
  126. package/dist/cli/runtime/diagnostics.d.ts.map +1 -0
  127. package/dist/cli/runtime/diagnostics.js +1139 -0
  128. package/dist/cli/runtime/diagnostics.js.map +1 -0
  129. package/dist/cli/runtime/init-state.d.ts +20 -0
  130. package/dist/cli/runtime/init-state.d.ts.map +1 -0
  131. package/dist/cli/runtime/init-state.js +51 -0
  132. package/dist/cli/runtime/init-state.js.map +1 -0
  133. package/dist/cli/runtime/install-kind.d.ts +54 -0
  134. package/dist/cli/runtime/install-kind.d.ts.map +1 -0
  135. package/dist/cli/runtime/install-kind.js +164 -0
  136. package/dist/cli/runtime/install-kind.js.map +1 -0
  137. package/dist/cli/runtime/node-move-journal.d.ts +44 -0
  138. package/dist/cli/runtime/node-move-journal.d.ts.map +1 -0
  139. package/dist/cli/runtime/node-move-journal.js +48 -0
  140. package/dist/cli/runtime/node-move-journal.js.map +1 -0
  141. package/dist/cli/runtime/release-check.d.ts +94 -0
  142. package/dist/cli/runtime/release-check.d.ts.map +1 -0
  143. package/dist/cli/runtime/release-check.js +316 -0
  144. package/dist/cli/runtime/release-check.js.map +1 -0
  145. package/dist/cli/runtime/restore.d.ts +98 -0
  146. package/dist/cli/runtime/restore.d.ts.map +1 -0
  147. package/dist/cli/runtime/restore.js +756 -0
  148. package/dist/cli/runtime/restore.js.map +1 -0
  149. package/dist/cli/runtime/setup-page.d.ts +57 -0
  150. package/dist/cli/runtime/setup-page.d.ts.map +1 -0
  151. package/dist/cli/runtime/setup-page.js +266 -0
  152. package/dist/cli/runtime/setup-page.js.map +1 -0
  153. package/dist/cli/runtime/source-tools.d.ts +60 -0
  154. package/dist/cli/runtime/source-tools.d.ts.map +1 -0
  155. package/dist/cli/runtime/source-tools.js +170 -0
  156. package/dist/cli/runtime/source-tools.js.map +1 -0
  157. package/dist/cli/runtime/systemd-service.d.ts +13 -0
  158. package/dist/cli/runtime/systemd-service.d.ts.map +1 -0
  159. package/dist/cli/runtime/systemd-service.js +32 -0
  160. package/dist/cli/runtime/systemd-service.js.map +1 -0
  161. package/dist/cli/runtime/telegram-pairing.d.ts +73 -0
  162. package/dist/cli/runtime/telegram-pairing.d.ts.map +1 -0
  163. package/dist/cli/runtime/telegram-pairing.js +184 -0
  164. package/dist/cli/runtime/telegram-pairing.js.map +1 -0
  165. package/dist/cli/runtime/update-journal.d.ts +135 -0
  166. package/dist/cli/runtime/update-journal.d.ts.map +1 -0
  167. package/dist/cli/runtime/update-journal.js +144 -0
  168. package/dist/cli/runtime/update-journal.js.map +1 -0
  169. package/dist/cli/runtime/update-progress.d.ts +95 -0
  170. package/dist/cli/runtime/update-progress.d.ts.map +1 -0
  171. package/dist/cli/runtime/update-progress.js +154 -0
  172. package/dist/cli/runtime/update-progress.js.map +1 -0
  173. package/dist/cli/runtime/update-request.d.ts +58 -0
  174. package/dist/cli/runtime/update-request.d.ts.map +1 -0
  175. package/dist/cli/runtime/update-request.js +172 -0
  176. package/dist/cli/runtime/update-request.js.map +1 -0
  177. package/dist/connectors/calendar/index.d.ts +5 -1
  178. package/dist/connectors/calendar/index.d.ts.map +1 -1
  179. package/dist/connectors/calendar/index.js +19 -28
  180. package/dist/connectors/calendar/index.js.map +1 -1
  181. package/dist/connectors/chatwork/index.d.ts.map +1 -1
  182. package/dist/connectors/chatwork/index.js +7 -3
  183. package/dist/connectors/chatwork/index.js.map +1 -1
  184. package/dist/connectors/config-loader.d.ts +7 -1
  185. package/dist/connectors/config-loader.d.ts.map +1 -1
  186. package/dist/connectors/config-loader.js +11 -2
  187. package/dist/connectors/config-loader.js.map +1 -1
  188. package/dist/connectors/discord/index.d.ts.map +1 -1
  189. package/dist/connectors/discord/index.js +4 -3
  190. package/dist/connectors/discord/index.js.map +1 -1
  191. package/dist/connectors/drive/index.d.ts.map +1 -1
  192. package/dist/connectors/drive/index.js +15 -13
  193. package/dist/connectors/drive/index.js.map +1 -1
  194. package/dist/connectors/framework/gws-utils.d.ts +62 -0
  195. package/dist/connectors/framework/gws-utils.d.ts.map +1 -1
  196. package/dist/connectors/framework/gws-utils.js +133 -3
  197. package/dist/connectors/framework/gws-utils.js.map +1 -1
  198. package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
  199. package/dist/connectors/framework/polling-scheduler.js +12 -11
  200. package/dist/connectors/framework/polling-scheduler.js.map +1 -1
  201. package/dist/connectors/framework/types.d.ts +24 -0
  202. package/dist/connectors/framework/types.d.ts.map +1 -1
  203. package/dist/connectors/framework/types.js +9 -0
  204. package/dist/connectors/framework/types.js.map +1 -1
  205. package/dist/connectors/gmail/index.d.ts.map +1 -1
  206. package/dist/connectors/gmail/index.js +14 -13
  207. package/dist/connectors/gmail/index.js.map +1 -1
  208. package/dist/connectors/imessage/index.d.ts.map +1 -1
  209. package/dist/connectors/imessage/index.js +2 -1
  210. package/dist/connectors/imessage/index.js.map +1 -1
  211. package/dist/connectors/index.d.ts +4 -4
  212. package/dist/connectors/index.d.ts.map +1 -1
  213. package/dist/connectors/index.js +4 -10
  214. package/dist/connectors/index.js.map +1 -1
  215. package/dist/connectors/notion/index.d.ts.map +1 -1
  216. package/dist/connectors/notion/index.js +5 -3
  217. package/dist/connectors/notion/index.js.map +1 -1
  218. package/dist/connectors/sheets/index.d.ts.map +1 -1
  219. package/dist/connectors/sheets/index.js +17 -12
  220. package/dist/connectors/sheets/index.js.map +1 -1
  221. package/dist/connectors/slack/index.d.ts.map +1 -1
  222. package/dist/connectors/slack/index.js +9 -3
  223. package/dist/connectors/slack/index.js.map +1 -1
  224. package/dist/connectors/telegram/index.d.ts.map +1 -1
  225. package/dist/connectors/telegram/index.js +4 -3
  226. package/dist/connectors/telegram/index.js.map +1 -1
  227. package/dist/connectors/trello/index.d.ts +1 -1
  228. package/dist/connectors/trello/index.d.ts.map +1 -1
  229. package/dist/connectors/trello/index.js +10 -5
  230. package/dist/connectors/trello/index.js.map +1 -1
  231. package/dist/gateways/discord.d.ts +6 -0
  232. package/dist/gateways/discord.d.ts.map +1 -1
  233. package/dist/gateways/discord.js +38 -27
  234. package/dist/gateways/discord.js.map +1 -1
  235. package/dist/gateways/slack.d.ts +6 -0
  236. package/dist/gateways/slack.d.ts.map +1 -1
  237. package/dist/gateways/slack.js +38 -27
  238. package/dist/gateways/slack.js.map +1 -1
  239. package/dist/gateways/telegram-commands.d.ts +124 -0
  240. package/dist/gateways/telegram-commands.d.ts.map +1 -0
  241. package/dist/gateways/telegram-commands.js +131 -0
  242. package/dist/gateways/telegram-commands.js.map +1 -0
  243. package/dist/gateways/telegram.d.ts +20 -0
  244. package/dist/gateways/telegram.d.ts.map +1 -1
  245. package/dist/gateways/telegram.js +138 -34
  246. package/dist/gateways/telegram.js.map +1 -1
  247. package/dist/gateways/turn-contract.d.ts +11 -0
  248. package/dist/gateways/turn-contract.d.ts.map +1 -1
  249. package/dist/runtime/action-surface.d.ts +1 -1
  250. package/dist/runtime/action-surface.d.ts.map +1 -1
  251. package/dist/runtime/action-surface.js +10 -0
  252. package/dist/runtime/action-surface.js.map +1 -1
  253. package/dist/runtime/backend-security.d.ts +26 -2
  254. package/dist/runtime/backend-security.d.ts.map +1 -1
  255. package/dist/runtime/backend-security.js +63 -10
  256. package/dist/runtime/backend-security.js.map +1 -1
  257. package/dist/runtime/config.d.ts +3 -0
  258. package/dist/runtime/config.d.ts.map +1 -1
  259. package/dist/runtime/config.js +4 -4
  260. package/dist/runtime/config.js.map +1 -1
  261. package/dist/runtime/connectors.d.ts +21 -1
  262. package/dist/runtime/connectors.d.ts.map +1 -1
  263. package/dist/runtime/connectors.js +28 -17
  264. package/dist/runtime/connectors.js.map +1 -1
  265. package/dist/runtime/core-db.d.ts.map +1 -1
  266. package/dist/runtime/core-db.js +2 -0
  267. package/dist/runtime/core-db.js.map +1 -1
  268. package/dist/runtime/member-paths.d.ts +15 -7
  269. package/dist/runtime/member-paths.d.ts.map +1 -1
  270. package/dist/runtime/member-paths.js +64 -12
  271. package/dist/runtime/member-paths.js.map +1 -1
  272. package/dist/runtime/member-session.d.ts +4 -0
  273. package/dist/runtime/member-session.d.ts.map +1 -1
  274. package/dist/runtime/member-session.js +23 -2
  275. package/dist/runtime/member-session.js.map +1 -1
  276. package/dist/runtime/native-session.d.ts +2 -0
  277. package/dist/runtime/native-session.d.ts.map +1 -1
  278. package/dist/runtime/native-session.js +1 -0
  279. package/dist/runtime/native-session.js.map +1 -1
  280. package/dist/runtime/owner-runtime.d.ts +63 -1
  281. package/dist/runtime/owner-runtime.d.ts.map +1 -1
  282. package/dist/runtime/owner-runtime.js +180 -3
  283. package/dist/runtime/owner-runtime.js.map +1 -1
  284. package/dist/runtime/owner-system-prompt.d.ts.map +1 -1
  285. package/dist/runtime/owner-system-prompt.js +6 -5
  286. package/dist/runtime/owner-system-prompt.js.map +1 -1
  287. package/dist/runtime/principal-access.d.ts +2 -0
  288. package/dist/runtime/principal-access.d.ts.map +1 -1
  289. package/dist/runtime/principal-access.js +7 -0
  290. package/dist/runtime/principal-access.js.map +1 -1
  291. package/dist/runtime/principal-sessions.d.ts.map +1 -1
  292. package/dist/runtime/principal-sessions.js +8 -1
  293. package/dist/runtime/principal-sessions.js.map +1 -1
  294. package/dist/runtime/record-orders.d.ts.map +1 -1
  295. package/dist/runtime/record-orders.js +3 -29
  296. package/dist/runtime/record-orders.js.map +1 -1
  297. package/dist/runtime/report-scheduler.d.ts +9 -2
  298. package/dist/runtime/report-scheduler.d.ts.map +1 -1
  299. package/dist/runtime/report-scheduler.js +37 -10
  300. package/dist/runtime/report-scheduler.js.map +1 -1
  301. package/dist/runtime/rotating-log.d.ts +44 -0
  302. package/dist/runtime/rotating-log.d.ts.map +1 -0
  303. package/dist/runtime/rotating-log.js +124 -0
  304. package/dist/runtime/rotating-log.js.map +1 -0
  305. package/dist/runtime/stimulus-delivery.d.ts +3 -0
  306. package/dist/runtime/stimulus-delivery.d.ts.map +1 -1
  307. package/dist/runtime/stimulus-delivery.js +19 -3
  308. package/dist/runtime/stimulus-delivery.js.map +1 -1
  309. package/dist/runtime/tools-paths.d.ts +7 -0
  310. package/dist/runtime/tools-paths.d.ts.map +1 -1
  311. package/dist/runtime/tools-paths.js +11 -5
  312. package/dist/runtime/tools-paths.js.map +1 -1
  313. package/dist/runtime/upkeep-close.d.ts +17 -0
  314. package/dist/runtime/upkeep-close.d.ts.map +1 -0
  315. package/dist/runtime/upkeep-close.js +127 -0
  316. package/dist/runtime/upkeep-close.js.map +1 -0
  317. package/dist/runtime/upkeep-orders.d.ts +124 -0
  318. package/dist/runtime/upkeep-orders.d.ts.map +1 -0
  319. package/dist/runtime/upkeep-orders.js +310 -0
  320. package/dist/runtime/upkeep-orders.js.map +1 -0
  321. package/dist/runtime/upkeep-reconcile.d.ts +25 -0
  322. package/dist/runtime/upkeep-reconcile.d.ts.map +1 -0
  323. package/dist/runtime/upkeep-reconcile.js +231 -0
  324. package/dist/runtime/upkeep-reconcile.js.map +1 -0
  325. package/dist/runtime/upkeep-writeback.d.ts +22 -0
  326. package/dist/runtime/upkeep-writeback.d.ts.map +1 -0
  327. package/dist/runtime/upkeep-writeback.js +203 -0
  328. package/dist/runtime/upkeep-writeback.js.map +1 -0
  329. package/dist/tools/document-toolkit.d.ts +2 -0
  330. package/dist/tools/document-toolkit.d.ts.map +1 -1
  331. package/dist/tools/document-toolkit.js +2 -0
  332. package/dist/tools/document-toolkit.js.map +1 -1
  333. package/dist/utils/untrusted-content.d.ts.map +1 -1
  334. package/dist/utils/untrusted-content.js +8 -1
  335. package/dist/utils/untrusted-content.js.map +1 -1
  336. package/install/install.sh +457 -0
  337. package/install/node.json +9 -0
  338. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface LogsOptions {
2
+ home?: string;
3
+ write?: (text: string) => void;
4
+ /** Ends --follow; the CLI aborts it on Ctrl-C. */
5
+ signal?: AbortSignal;
6
+ pollMs?: number;
7
+ }
8
+ export declare function runLogs(args: readonly string[], options?: LogsOptions): Promise<void>;
9
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/logs.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,kDAAkD;IAClD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqBD,wBAAsB,OAAO,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6D/F"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runLogs = runLogs;
4
+ /**
5
+ * `mama logs [-n N] [--follow]`: the daemon's own log (`logging.file`, daemon.log by default), its
6
+ * last N lines (50), then with --follow each line as the daemon writes it. Following keeps up across
7
+ * a rotation: when the file has been emptied, what was written since the last read is taken from the
8
+ * newest archive, then the file is read from its start.
9
+ */
10
+ const node_fs_1 = require("node:fs");
11
+ const node_os_1 = require("node:os");
12
+ const node_string_decoder_1 = require("node:string_decoder");
13
+ const node_zlib_1 = require("node:zlib");
14
+ const rotating_log_js_1 = require("../../runtime/rotating-log.js");
15
+ const config_js_1 = require("../../runtime/config.js");
16
+ const prompt_js_1 = require("../prompt.js");
17
+ const USAGE = 'Usage: mama logs [-n <lines>] [--follow]';
18
+ const DEFAULT_LINES = 50;
19
+ function parseArgs(args) {
20
+ let lines = DEFAULT_LINES;
21
+ let follow = false;
22
+ for (let i = 0; i < args.length; i += 1) {
23
+ const arg = args[i];
24
+ if (arg === '--follow' || arg === '-f') {
25
+ follow = true;
26
+ }
27
+ else if (arg === '-n') {
28
+ const value = args[i + 1];
29
+ if (value === undefined || !/^\d+$/.test(value))
30
+ throw new prompt_js_1.CliInputError(USAGE);
31
+ lines = Number(value);
32
+ i += 1;
33
+ }
34
+ else {
35
+ throw new prompt_js_1.CliInputError(USAGE);
36
+ }
37
+ }
38
+ return { lines, follow };
39
+ }
40
+ async function runLogs(args, options = {}) {
41
+ const { lines, follow } = parseArgs(args);
42
+ const write = options.write ?? ((text) => void process.stdout.write(text));
43
+ const path = (0, config_js_1.loadConfig)({ home: options.home ?? (0, node_os_1.homedir)() }).logging.file;
44
+ if (!(0, node_fs_1.existsSync)(path) && !follow) {
45
+ throw new prompt_js_1.CliInputError(`${path} does not exist yet; the daemon writes it once it starts`);
46
+ }
47
+ let inode = -1;
48
+ let position = 0;
49
+ if ((0, node_fs_1.existsSync)(path)) {
50
+ // Read where the file stands first: a line written meanwhile is printed twice, never skipped.
51
+ const stat = (0, node_fs_1.statSync)(path);
52
+ inode = stat.ino;
53
+ position = stat.size;
54
+ // Just after a rotation the file holds only a few lines; the rest come from the archives.
55
+ write((0, rotating_log_js_1.readLastLines)(path, rotating_log_js_1.DAEMON_LOG_LIMITS.keep, lines).join(''));
56
+ }
57
+ if (!follow)
58
+ return;
59
+ // A character split across two reads is held until its last byte arrives.
60
+ const decoder = new node_string_decoder_1.StringDecoder('utf8');
61
+ // A rotation writes a new newest archive; that, not the file's size, says one happened, since the
62
+ // file can grow past the last read position again before the next poll.
63
+ const archive = (0, rotating_log_js_1.archivePath)(path, 1);
64
+ const archiveId = () => ((0, node_fs_1.existsSync)(archive) ? (0, node_fs_1.statSync)(archive).ino : null);
65
+ let lastArchive = archiveId();
66
+ const pollMs = options.pollMs ?? 500;
67
+ while (!options.signal?.aborted) {
68
+ await new Promise((resolve) => setTimeout(resolve, pollMs));
69
+ let stat;
70
+ try {
71
+ stat = (0, node_fs_1.statSync)(path);
72
+ }
73
+ catch (error) {
74
+ // Before the daemon's first write, or while the file is being replaced.
75
+ if (error.code === 'ENOENT')
76
+ continue;
77
+ throw error;
78
+ }
79
+ const currentArchive = archiveId();
80
+ if (stat.ino !== inode) {
81
+ inode = stat.ino;
82
+ position = 0;
83
+ }
84
+ else if (currentArchive !== null && currentArchive !== lastArchive) {
85
+ // Rotated: the lines written after the last read went into the newest archive.
86
+ const archived = (0, node_zlib_1.gunzipSync)((0, node_fs_1.readFileSync)(archive));
87
+ if (archived.length > position)
88
+ write(decoder.write(archived.subarray(position)));
89
+ position = 0;
90
+ }
91
+ else if (stat.size < position) {
92
+ position = 0;
93
+ }
94
+ lastArchive = currentArchive;
95
+ if (stat.size <= position)
96
+ continue;
97
+ const fd = (0, node_fs_1.openSync)(path, 'r');
98
+ try {
99
+ const chunk = Buffer.alloc(stat.size - position);
100
+ const read = (0, node_fs_1.readSync)(fd, chunk, 0, chunk.length, position);
101
+ position += read;
102
+ write(decoder.write(chunk.subarray(0, read)));
103
+ }
104
+ finally {
105
+ (0, node_fs_1.closeSync)(fd);
106
+ }
107
+ }
108
+ }
109
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/cli/commands/logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type UpdatePaths } from '../runtime/update-journal.js';
2
+ import { type ServiceOptions } from './service.js';
3
+ import type { UpdateDeps } from './update.js';
4
+ export interface MoveContext {
5
+ readonly home: string;
6
+ readonly root: string;
7
+ readonly paths: UpdatePaths;
8
+ readonly write: (line: string) => void;
9
+ readonly deps: UpdateDeps;
10
+ readonly env: NodeJS.ProcessEnv;
11
+ }
12
+ /**
13
+ * What both the update and the move need before they stop anything: a service to start MAMA
14
+ * again (nothing else would after the stop), and a start.sh that honours the hold, which only a
15
+ * start.sh `mama service install` wrote does (an older one would boot an unheld daemon on a
16
+ * reboot midway).
17
+ */
18
+ export declare function requireHoldingService(root: string, options: ServiceOptions): void;
19
+ export declare function moveNode(context: MoveContext, folder: string, options: ServiceOptions): Promise<number>;
20
+ //# sourceMappingURL=node-move.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-move.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/node-move.ts"],"names":[],"mappings":"AA4BA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAmB9C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACjC;AAWD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAkBjF;AA6CD,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAwLjB"}
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requireHoldingService = requireHoldingService;
4
+ exports.moveNode = moveNode;
5
+ const node_fs_1 = require("node:fs");
6
+ const node_path_1 = require("node:path");
7
+ const viewer_server_js_1 = require("../../api/viewer-server.js");
8
+ const launch_files_js_1 = require("../launch-files.js");
9
+ const prompt_js_1 = require("../prompt.js");
10
+ const daemon_control_js_1 = require("../runtime/daemon-control.js");
11
+ const install_kind_js_1 = require("../runtime/install-kind.js");
12
+ const node_move_journal_js_1 = require("../runtime/node-move-journal.js");
13
+ const release_check_js_1 = require("../runtime/release-check.js");
14
+ const update_journal_js_1 = require("../runtime/update-journal.js");
15
+ const init_js_1 = require("./init.js");
16
+ const service_js_1 = require("./service.js");
17
+ function message(error) {
18
+ return error instanceof Error ? error.message : String(error);
19
+ }
20
+ /** A refusal with the stable code an /update's progress carries instead of its text. */
21
+ function refusal(code, text) {
22
+ return Object.assign(new prompt_js_1.CliInputError(text), { code });
23
+ }
24
+ /**
25
+ * What both the update and the move need before they stop anything: a service to start MAMA
26
+ * again (nothing else would after the stop), and a start.sh that honours the hold, which only a
27
+ * start.sh `mama service install` wrote does (an older one would boot an unheld daemon on a
28
+ * reboot midway).
29
+ */
30
+ function requireHoldingService(root, options) {
31
+ if (!(0, node_fs_1.existsSync)((0, service_js_1.serviceFile)(options))) {
32
+ throw refusal('service.missing', 'mama update starts MAMA again through its service, and none is installed: run mama service install first');
33
+ }
34
+ const startPath = (0, node_path_1.join)(root, 'start.sh');
35
+ if (!(0, node_fs_1.readFileSync)(startPath, 'utf8')
36
+ .split('\n')
37
+ .some((line) => line.trim() === launch_files_js_1.UPDATE_HOLD_LINE)) {
38
+ throw refusal('start_sh.no_hold', `${startPath} does not stop a start while an update holds the install; run mama service install, then mama update`);
39
+ }
40
+ }
41
+ /**
42
+ * Put each folder set aside back over whatever took its place, and drop the new Node and the
43
+ * rebuilt copy; install.sh's recovery does the same in sh.
44
+ */
45
+ function putBack(places) {
46
+ for (const [folder, aside] of [
47
+ [places.node, places.aside],
48
+ [places.prefix, places.prefixAside],
49
+ ]) {
50
+ if (!(0, node_fs_1.existsSync)(aside))
51
+ continue;
52
+ (0, node_fs_1.rmSync)(folder, { recursive: true, force: true });
53
+ (0, node_fs_1.renameSync)(aside, folder);
54
+ }
55
+ (0, node_fs_1.rmSync)(places.staged, { recursive: true, force: true });
56
+ (0, node_fs_1.rmSync)(places.prefixCopy, { recursive: true, force: true });
57
+ }
58
+ /**
59
+ * The hold is install.sh's recovery invariant: with it the folders may be half renamed, without
60
+ * it every rename is done. So it is on disk before the first rename, and the renames are on disk
61
+ * before it is removed.
62
+ */
63
+ function hold(context) {
64
+ const { paths } = context;
65
+ (0, node_fs_1.writeFileSync)(paths.hold, `${process.pid}\n`, { mode: 0o600 });
66
+ (0, update_journal_js_1.syncFile)(paths.hold);
67
+ (0, update_journal_js_1.syncFile)((0, node_path_1.dirname)(paths.hold));
68
+ }
69
+ function release(context) {
70
+ (0, update_journal_js_1.syncFile)(context.root);
71
+ (0, node_fs_1.rmSync)(context.paths.hold, { force: true });
72
+ (0, update_journal_js_1.syncFile)((0, node_path_1.dirname)(context.paths.hold));
73
+ }
74
+ function viewerPort(context) {
75
+ return (0, viewer_server_js_1.resolveApiPort)((0, launch_files_js_1.startExports)((0, launch_files_js_1.readStartScript)((0, node_fs_1.readFileSync)((0, node_path_1.join)(context.root, 'start.sh'), 'utf8'), context.home)).MAMA_API_PORT);
76
+ }
77
+ async function moveNode(context, folder, options) {
78
+ const { root, home, write, deps, env, paths } = context;
79
+ const places = (0, node_move_journal_js_1.nodeMovePlaces)(root);
80
+ const install = (0, install_kind_js_1.installKind)(root, home);
81
+ (0, install_kind_js_1.requireServicePackage)(install, deps.runningPackage());
82
+ if (install.kind !== 'npm' ||
83
+ install.nodePath !== (0, node_move_journal_js_1.managedNodePath)(root) ||
84
+ // installKind reads the package's real path.
85
+ install.prefix !== (0, node_fs_1.realpathSync)(places.prefix)) {
86
+ throw refusal('node_move.unmanaged', `mama update --node moves the Node the install command put in ${places.node}; this service runs ${install.nodePath} on ${install.packageRoot}`);
87
+ }
88
+ requireHoldingService(root, options);
89
+ // The renames take it by this name, and install.sh's recovery knows only this one.
90
+ if ((0, node_path_1.resolve)(folder) !== places.staged) {
91
+ throw refusal('node_move.place', `The new Node must be staged at ${places.staged}, beside ${places.node}, not ${(0, node_path_1.resolve)(folder)}`);
92
+ }
93
+ const newNode = (0, node_path_1.join)(places.staged, 'bin', 'node');
94
+ if (!(0, node_fs_1.lstatSync)(places.staged).isDirectory() || !(0, node_fs_1.existsSync)(newNode)) {
95
+ throw refusal('node_move.place', `${places.staged} holds no Node.js (no bin/node)`);
96
+ }
97
+ // A rename does not cross filesystems, and step 3 renames after the stop.
98
+ if ((0, node_fs_1.statSync)(places.staged).dev !== (0, node_fs_1.statSync)(root).dev) {
99
+ throw refusal('node_move.place', `${places.staged} is on another filesystem than ${root}; the move renames it into place`);
100
+ }
101
+ (0, daemon_control_js_1.refuseWhileRestoring)(root);
102
+ // Step 1: the lock and the journal.
103
+ const lock = deps.lock(paths.lock, 'update --node');
104
+ try {
105
+ const update = (0, update_journal_js_1.readUpdateJournal)(paths.journal);
106
+ if (update !== null) {
107
+ throw refusal('update.open', `An earlier update (${update.from} → ${update.to}) is unfinished; resolve it first: ${(0, update_journal_js_1.rollbackCommand)(update)}`);
108
+ }
109
+ const open = (0, node_move_journal_js_1.readNodeMoveJournal)(places.journal);
110
+ if (open !== null) {
111
+ throw refusal('node_move.open', `An earlier move of the managed Node (${open.from} → ${open.to}) is unfinished; run the install command again, which finishes or undoes it: ${node_move_journal_js_1.INSTALL_COMMAND}`);
112
+ }
113
+ const from = await deps.nodeVersion(install.nodePath);
114
+ const to = await deps.nodeVersion(newNode);
115
+ if (from === to) {
116
+ (0, node_fs_1.rmSync)(places.staged, { recursive: true, force: true });
117
+ write(`Node.js ${from} runs MAMA already; nothing to move, and ${places.staged} is removed`);
118
+ return 0;
119
+ }
120
+ const major = from.split('.')[0] !== to.split('.')[0];
121
+ const version = deps.version();
122
+ write(`move: Node.js ${from} → ${to} for ${install.packageRoot} (${version})`);
123
+ write('steps:');
124
+ for (const line of [
125
+ ...(major
126
+ ? [
127
+ `copy ${places.prefix} to ${places.prefixCopy} and rebuild it with Node.js ${to}'s npm (a major change: native modules are built for one); a failure changes nothing`,
128
+ ]
129
+ : []),
130
+ 'drain: new inputs wait, running turns finish; then stop the service',
131
+ `swap: ${places.node} goes to ${places.aside}, ${places.staged} takes its place${major ? `; ${places.prefix} goes to ${places.prefixAside}, the rebuilt copy takes its place` : ''}`,
132
+ `check that Node.js ${to} loads MAMA's SQLite, start the service and wait for its boot`,
133
+ `on any failure, Node.js ${from} is put back and started`,
134
+ ]) {
135
+ write(` ${line}`);
136
+ }
137
+ const journal = {
138
+ format: 'mama-node-move',
139
+ phase: 'prepare',
140
+ step: 1,
141
+ from,
142
+ to,
143
+ major,
144
+ startedAt: new Date().toISOString(),
145
+ };
146
+ const step = (number) => {
147
+ journal.step = number;
148
+ (0, node_move_journal_js_1.writeNodeMoveJournal)(places.journal, journal);
149
+ };
150
+ step(1);
151
+ // Step 2: the prefix's copy, rebuilt for the new major, while the daemon still runs. A copy,
152
+ // so a rollback finds the old prefix untouched; a rebuild, not a reinstall, since the
153
+ // published core range is a caret and a reinstall could bring a newer core.
154
+ if (major) {
155
+ step(2);
156
+ write(`rebuilding a copy of ${places.prefix} for Node.js ${to}`);
157
+ try {
158
+ (0, node_fs_1.cpSync)(places.prefix, places.prefixCopy, {
159
+ recursive: true,
160
+ verbatimSymlinks: true,
161
+ preserveTimestamps: true,
162
+ });
163
+ await deps.npm(['rebuild', '-g', '--prefix', places.prefixCopy, '--no-update-notifier'], newNode, env);
164
+ }
165
+ catch (error) {
166
+ (0, node_fs_1.rmSync)(places.prefixCopy, { recursive: true, force: true });
167
+ (0, node_move_journal_js_1.removeNodeMoveJournal)(places.journal);
168
+ throw refusal(`npm.${(0, release_check_js_1.npmErrorCode)(error)}`, `Rebuilding ${places.prefixCopy} with Node.js ${to} failed: ${(0, release_check_js_1.npmErrorCode)(error)}; nothing else changed`);
169
+ }
170
+ }
171
+ // Step 3: the drained stop, the hold, the renames.
172
+ step(3);
173
+ if ((await deps.stop(false)) !== 0) {
174
+ (0, node_fs_1.rmSync)(places.prefixCopy, { recursive: true, force: true });
175
+ (0, node_move_journal_js_1.removeNodeMoveJournal)(places.journal);
176
+ write(deps.serviceRuns()
177
+ ? `not moved: the stop did not finish (above); Node.js ${from} stays and still runs MAMA`
178
+ : `not moved: the stop did not finish cleanly (above) and the service is not running; Node.js ${from} stays, and mama service start starts it again`);
179
+ return 1;
180
+ }
181
+ // From here a start (a reboot, an owner's mama service start) finds the hold and exits.
182
+ hold(context);
183
+ try {
184
+ (0, node_fs_1.renameSync)(places.node, places.aside);
185
+ (0, node_fs_1.renameSync)(places.staged, places.node);
186
+ if (major) {
187
+ (0, node_fs_1.renameSync)(places.prefix, places.prefixAside);
188
+ (0, node_fs_1.renameSync)(places.prefixCopy, places.prefix);
189
+ }
190
+ // Step 4: the new Node loads MAMA's SQLite, boots it, and is the Node the daemon runs.
191
+ step(4);
192
+ const check = await deps.nodeCheck(install.nodePath, install.cliPath);
193
+ if (check.status === 'fail') {
194
+ throw new Error(`doctor's Node check fails on Node.js ${to}: ${check.detail}${check.context === undefined ? '' : ` (${check.context})`}`);
195
+ }
196
+ release(context);
197
+ await deps.start();
198
+ const port = viewerPort(context);
199
+ await (0, init_js_1.waitForBoot)({
200
+ status: () => deps.control('status'),
201
+ health: () => deps.health(port),
202
+ timeoutMs: deps.bootWaitMs,
203
+ pollMs: deps.pollMs,
204
+ write,
205
+ version,
206
+ next: `the move goes back to Node.js ${from}`,
207
+ });
208
+ const reply = await deps.control('status');
209
+ const running = reply.state === 'running' && reply.reply.ok === true
210
+ ? reply.reply.status.node
211
+ : null;
212
+ if (running !== `v${to}`) {
213
+ throw new Error(`the daemon runs Node.js ${String(running)}, not ${to}`);
214
+ }
215
+ }
216
+ catch (error) {
217
+ return await undo(context, journal, places, version, error);
218
+ }
219
+ // On disk before the cleanup: from here a killed run is finished, never undone.
220
+ journal.phase = 'committed';
221
+ (0, node_move_journal_js_1.writeNodeMoveJournal)(places.journal, journal);
222
+ (0, node_fs_1.rmSync)(places.aside, { recursive: true, force: true });
223
+ (0, node_fs_1.rmSync)(places.prefixAside, { recursive: true, force: true });
224
+ (0, node_move_journal_js_1.removeNodeMoveJournal)(places.journal);
225
+ write(`moved: MAMA runs on Node.js ${to} (was ${from})`);
226
+ return 0;
227
+ }
228
+ finally {
229
+ lock.release();
230
+ }
231
+ }
232
+ /**
233
+ * Put Node.js `from` back after a failure at step 3 or 4: stop what the new Node started (it may
234
+ * have run turns, so it drains when it answers), hold, rename back, start. Exits 1 either way.
235
+ */
236
+ async function undo(context, journal, places,
237
+ /** The package's version, read before the renames. */
238
+ version, failure) {
239
+ const { write, deps } = context;
240
+ write(`moving back to Node.js ${journal.from}: step ${journal.step} failed: ${message(failure)}`);
241
+ // A stop that did not finish (a drain past its limit, a refusal) may leave the new Node's daemon
242
+ // running: no hold then, since the install is not stopped and a held recovery would rename under
243
+ // it. The journal stays for the install command, which stops a daemon it finds unheld.
244
+ let stopped;
245
+ try {
246
+ const reply = await deps.control('status').catch(() => null);
247
+ const answers = reply?.state === 'running' && reply.reply.ok === true;
248
+ stopped = await deps.stop(!answers);
249
+ }
250
+ catch (error) {
251
+ write(`the stop failed: ${message(error)}`);
252
+ stopped = 1;
253
+ }
254
+ if (stopped !== 0) {
255
+ write(`the move was not undone: the stop did not finish (above), so MAMA may still run on Node.js ${journal.to}. Run mama stop --now, then the install command again, which undoes the move: ${node_move_journal_js_1.INSTALL_COMMAND}`);
256
+ return 1;
257
+ }
258
+ try {
259
+ hold(context);
260
+ putBack(places);
261
+ }
262
+ catch (error) {
263
+ write(`the move was not undone: ${message(error)}. The install stays stopped on its hold file, with ${places.journal}; run the install command again, which undoes it: ${node_move_journal_js_1.INSTALL_COMMAND}`);
264
+ return 1;
265
+ }
266
+ // The folders are back: the move is undone, whatever the start below says.
267
+ release(context);
268
+ (0, node_move_journal_js_1.removeNodeMoveJournal)(places.journal);
269
+ try {
270
+ await deps.start();
271
+ const port = viewerPort(context);
272
+ await (0, init_js_1.waitForBoot)({
273
+ status: () => deps.control('status'),
274
+ health: () => deps.health(port),
275
+ timeoutMs: deps.bootWaitMs,
276
+ pollMs: deps.pollMs,
277
+ write,
278
+ version,
279
+ next: 'mama doctor checks the install',
280
+ });
281
+ }
282
+ catch (error) {
283
+ write(`not moved: Node.js ${journal.from} is back in place, but MAMA did not start on it: ${message(error)}`);
284
+ return 1;
285
+ }
286
+ write(`not moved: Node.js ${journal.from} runs MAMA again; Node.js ${journal.to} is removed`);
287
+ return 1;
288
+ }
289
+ //# sourceMappingURL=node-move.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-move.js","sourceRoot":"","sources":["../../../src/cli/commands/node-move.ts"],"names":[],"mappings":";;AA+EA,sDAkBC;AA6CD,4BA4LC;AA1UD,qCAUiB;AACjB,yCAAmD;AACnD,iEAA4D;AAC5D,wDAAqF;AACrF,4CAA6C;AAC7C,oEAAoE;AACpE,gEAAgF;AAChF,0EASyC;AACzC,kEAA2D;AAC3D,oEAKsC;AACtC,uCAAwC;AACxC,6CAAgE;AA6BhE,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,wFAAwF;AACxF,SAAS,OAAO,CAAC,IAAY,EAAE,IAAY;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,yBAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,IAAY,EAAE,OAAuB;IACzE,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAA,wBAAW,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,CACX,iBAAiB,EACjB,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzC,IACE,CAAC,IAAA,sBAAY,EAAC,SAAS,EAAE,MAAM,CAAC;SAC7B,KAAK,CAAC,IAAI,CAAC;SACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,kCAAgB,CAAC,EACnD,CAAC;QACD,MAAM,OAAO,CACX,kBAAkB,EAClB,GAAG,SAAS,sGAAsG,CACnH,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,MAAsB;IACrC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI;QAC5B,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC;QAC3B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC;KAC3B,EAAE,CAAC;QACX,IAAI,CAAC,IAAA,oBAAU,EAAC,KAAK,CAAC;YAAE,SAAS;QACjC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,IAAA,oBAAU,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,IAAA,gBAAM,EAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,IAAA,gBAAM,EAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAS,IAAI,CAAC,OAAoB;IAChC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,IAAA,uBAAa,EAAC,KAAK,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,IAAA,4BAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,IAAA,4BAAQ,EAAC,IAAA,mBAAO,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,OAAO,CAAC,OAAoB;IACnC,IAAA,4BAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAA,gBAAM,EAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAA,4BAAQ,EAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,UAAU,CAAC,OAAoB;IACtC,OAAO,IAAA,iCAAc,EACnB,IAAA,8BAAY,EACV,IAAA,iCAAe,EAAC,IAAA,sBAAY,EAAC,IAAA,gBAAI,EAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CACpF,CAAC,aAAa,CAChB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,QAAQ,CAC5B,OAAoB,EACpB,MAAc,EACd,OAAuB;IAEvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,MAAM,GAAG,IAAA,qCAAc,EAAC,IAAI,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAA,6BAAW,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,IAAA,uCAAqB,EAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACtD,IACE,OAAO,CAAC,IAAI,KAAK,KAAK;QACtB,OAAO,CAAC,QAAQ,KAAK,IAAA,sCAAe,EAAC,IAAI,CAAC;QAC1C,6CAA6C;QAC7C,OAAO,CAAC,MAAM,KAAK,IAAA,sBAAY,EAAC,MAAM,CAAC,MAAM,CAAC,EAC9C,CAAC;QACD,MAAM,OAAO,CACX,qBAAqB,EACrB,gEAAgE,MAAM,CAAC,IAAI,uBAAuB,OAAO,CAAC,QAAQ,OAAO,OAAO,CAAC,WAAW,EAAE,CAC/I,CAAC;IACJ,CAAC;IACD,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,mFAAmF;IACnF,IAAI,IAAA,mBAAO,EAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,OAAO,CACX,iBAAiB,EACjB,kCAAkC,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,IAAI,SAAS,IAAA,mBAAO,EAAC,MAAM,CAAC,EAAE,CACjG,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,gBAAI,EAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,IAAA,mBAAS,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QACpE,MAAM,OAAO,CAAC,iBAAiB,EAAE,GAAG,MAAM,CAAC,MAAM,iCAAiC,CAAC,CAAC;IACtF,CAAC;IACD,0EAA0E;IAC1E,IAAI,IAAA,kBAAQ,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACvD,MAAM,OAAO,CACX,iBAAiB,EACjB,GAAG,MAAM,CAAC,MAAM,kCAAkC,IAAI,kCAAkC,CACzF,CAAC;IACJ,CAAC;IACD,IAAA,wCAAoB,EAAC,IAAI,CAAC,CAAC;IAE3B,oCAAoC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,qCAAiB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,OAAO,CACX,aAAa,EACb,sBAAsB,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,EAAE,sCAAsC,IAAA,mCAAe,EAAC,MAAM,CAAC,EAAE,CAChH,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,0CAAmB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,OAAO,CACX,gBAAgB,EAChB,wCAAwC,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,gFAAgF,sCAAe,EAAE,CAChK,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,IAAA,gBAAM,EAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,WAAW,IAAI,4CAA4C,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC;YAC7F,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,KAAK,CAAC,iBAAiB,IAAI,MAAM,EAAE,QAAQ,OAAO,CAAC,WAAW,KAAK,OAAO,GAAG,CAAC,CAAC;QAC/E,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI;YACjB,GAAG,CAAC,KAAK;gBACP,CAAC,CAAC;oBACE,QAAQ,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,UAAU,gCAAgC,EAAE,sFAAsF;iBACtK;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,qEAAqE;YACrE,SAAS,MAAM,CAAC,IAAI,YAAY,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,mBAAmB,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,WAAW,oCAAoC,CAAC,CAAC,CAAC,EAAE,EAAE;YACpL,sBAAsB,EAAE,+DAA+D;YACvF,2BAA2B,IAAI,0BAA0B;SAC1D,EAAE,CAAC;YACF,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,OAAO,GAAoB;YAC/B,MAAM,EAAE,gBAAgB;YACxB,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,CAAC;YACP,IAAI;YACJ,EAAE;YACF,KAAK;YACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAc,EAAQ,EAAE;YACpC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;YACtB,IAAA,2CAAoB,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,IAAI,CAAC,CAAC,CAAC,CAAC;QAER,6FAA6F;QAC7F,sFAAsF;QACtF,4EAA4E;QAC5E,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,CAAC,CAAC,CAAC;YACR,KAAK,CAAC,wBAAwB,MAAM,CAAC,MAAM,gBAAgB,EAAE,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC;gBACH,IAAA,gBAAM,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE;oBACvC,SAAS,EAAE,IAAI;oBACf,gBAAgB,EAAE,IAAI;oBACtB,kBAAkB,EAAE,IAAI;iBACzB,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,CACZ,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,sBAAsB,CAAC,EACxE,OAAO,EACP,GAAG,CACJ,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAA,gBAAM,EAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5D,IAAA,4CAAqB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,OAAO,CACX,OAAO,IAAA,+BAAY,EAAC,KAAK,CAAC,EAAE,EAC5B,cAAc,MAAM,CAAC,UAAU,iBAAiB,EAAE,YAAY,IAAA,+BAAY,EAAC,KAAK,CAAC,wBAAwB,CAC1G,CAAC;YACJ,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC,CAAC,CAAC,CAAC;QACR,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAA,gBAAM,EAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,IAAA,4CAAqB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtC,KAAK,CACH,IAAI,CAAC,WAAW,EAAE;gBAChB,CAAC,CAAC,uDAAuD,IAAI,4BAA4B;gBACzF,CAAC,CAAC,8FAA8F,IAAI,gDAAgD,CACvJ,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,wFAAwF;QACxF,IAAI,CAAC,OAAO,CAAC,CAAC;QACd,IAAI,CAAC;YACH,IAAA,oBAAU,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,IAAA,oBAAU,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,KAAK,EAAE,CAAC;gBACV,IAAA,oBAAU,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC9C,IAAA,oBAAU,EAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;YAED,uFAAuF;YACvF,IAAI,CAAC,CAAC,CAAC,CAAC;YACR,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACtE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACb,wCAAwC,EAAE,KAAK,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,GAAG,EAAE,CACzH,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,CAAC;YACjB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,IAAA,qBAAW,EAAC;gBAChB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACpC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC/B,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK;gBACL,OAAO;gBACP,IAAI,EAAE,iCAAiC,IAAI,EAAE;aAC9C,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,OAAO,GACX,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI;gBAClD,CAAC,CAAE,KAAK,CAAC,KAAK,CAAC,MAA6B,CAAC,IAAI;gBACjD,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,OAAO,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,gFAAgF;QAChF,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;QAC5B,IAAA,2CAAoB,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAA,gBAAM,EAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,IAAA,gBAAM,EAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAA,4CAAqB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,KAAK,CAAC,+BAA+B,EAAE,SAAS,IAAI,GAAG,CAAC,CAAC;QACzD,OAAO,CAAC,CAAC;IACX,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,IAAI,CACjB,OAAoB,EACpB,OAAwB,EACxB,MAAsB;AACtB,sDAAsD;AACtD,OAAe,EACf,OAAgB;IAEhB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAChC,KAAK,CAAC,0BAA0B,OAAO,CAAC,IAAI,UAAU,OAAO,CAAC,IAAI,YAAY,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClG,iGAAiG;IACjG,iGAAiG;IACjG,uFAAuF;IACvF,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,KAAK,EAAE,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC;QACtE,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,oBAAoB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,GAAG,CAAC,CAAC;IACd,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,KAAK,CACH,8FAA8F,OAAO,CAAC,EAAE,iFAAiF,sCAAe,EAAE,CAC3M,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CACH,4BAA4B,OAAO,CAAC,KAAK,CAAC,sDAAsD,MAAM,CAAC,OAAO,qDAAqD,sCAAe,EAAE,CACrL,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,2EAA2E;IAC3E,OAAO,CAAC,OAAO,CAAC,CAAC;IACjB,IAAA,4CAAqB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,IAAA,qBAAW,EAAC;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACpC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAC/B,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK;YACL,OAAO;YACP,IAAI,EAAE,gCAAgC;SACvC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CACH,sBAAsB,OAAO,CAAC,IAAI,oDAAoD,OAAO,CAAC,KAAK,CAAC,EAAE,CACvG,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,sBAAsB,OAAO,CAAC,IAAI,6BAA6B,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;IAC9F,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { loadConfig } from '../../runtime/config.js';
1
2
  export interface OwnerCutoverCounts {
2
3
  principalsCreated: number;
3
4
  membersCreated: number;
@@ -15,4 +16,6 @@ export declare function runRegisterOwner(args?: readonly string[], options?: {
15
16
  home?: string;
16
17
  configPath?: string;
17
18
  }): Promise<OwnerCutoverCounts>;
19
+ /** The cutover itself, for a caller that already holds the install lock (`mama init`). */
20
+ export declare function registerOwnerHolding(root: string, config: ReturnType<typeof loadConfig>, memberRoot: string, externalId: string): Promise<OwnerCutoverCounts>;
18
21
  //# sourceMappingURL=register-owner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-owner.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/register-owner.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAcD,oFAAoF;AACpF,wBAAsB,gBAAgB,CACpC,IAAI,GAAE,SAAS,MAAM,EAAO,EAC5B,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACnD,OAAO,CAAC,kBAAkB,CAAC,CA2J7B"}
1
+ {"version":3,"file":"register-owner.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/register-owner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAqB,MAAM,yBAAyB,CAAC;AAcxE,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAcD,oFAAoF;AACpF,wBAAsB,gBAAgB,CACpC,IAAI,GAAE,SAAS,MAAM,EAAO,EAC5B,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACnD,OAAO,CAAC,kBAAkB,CAAC,CAkB7B;AAED,0FAA0F;AAC1F,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,EACrC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAkJ7B"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runRegisterOwner = runRegisterOwner;
4
+ exports.registerOwnerHolding = registerOwnerHolding;
4
5
  const node_fs_1 = require("node:fs");
5
6
  const node_os_1 = require("node:os");
6
7
  const node_path_1 = require("node:path");
@@ -14,6 +15,7 @@ const owner_authority_js_1 = require("../../runtime/owner-authority.js");
14
15
  const source_archive_js_1 = require("../../storage/source-archive.js");
15
16
  const prompt_js_1 = require("../prompt.js");
16
17
  const daemon_js_1 = require("./daemon.js");
18
+ const daemon_control_js_1 = require("../runtime/daemon-control.js");
17
19
  const emptyCounts = () => ({
18
20
  principalsCreated: 0,
19
21
  membersCreated: 0,
@@ -38,6 +40,18 @@ async function runRegisterOwner(args = [], options = {}) {
38
40
  if (!memberRoot)
39
41
  throw new prompt_js_1.CliInputError('Set member_root before mama register-owner');
40
42
  const root = (0, node_path_1.dirname)(configPath);
43
+ // The cutover writes the daemon's database and raw stores, so no daemon may run beside it.
44
+ const lock = (0, daemon_control_js_1.acquireInstallLock)((0, daemon_control_js_1.daemonControlPaths)(root), 'register-owner');
45
+ try {
46
+ (0, daemon_control_js_1.refuseWhileRestoring)(root);
47
+ return await registerOwnerHolding(root, config, memberRoot, externalId);
48
+ }
49
+ finally {
50
+ lock.release();
51
+ }
52
+ }
53
+ /** The cutover itself, for a caller that already holds the install lock (`mama init`). */
54
+ async function registerOwnerHolding(root, config, memberRoot, externalId) {
41
55
  const ledgerPath = (0, node_path_1.join)(root, 'runtime', 'owner-message-ledger.json');
42
56
  if ((0, node_fs_1.existsSync)(ledgerPath)) {
43
57
  const entry = new telegram_message_ledger_js_1.OwnerMessageLedger(ledgerPath)