@jungjaehoon/mama-os 0.78.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 (288) hide show
  1. package/CHANGELOG.md +311 -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 +98 -0
  48. package/dist/cli/commands/init-questions.d.ts.map +1 -0
  49. package/dist/cli/commands/init-questions.js +420 -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 +375 -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 +78 -5
  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 +249 -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
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MESSENGER_SECRETS = exports.BOOT_STAGES = exports.StopDuringBootError = exports.OWNER_PRINCIPAL_ID = void 0;
4
4
  exports.pathsOverlap = pathsOverlap;
5
5
  exports.validateDeliveryRoutes = validateDeliveryRoutes;
6
+ exports.upkeepCloseSince = upkeepCloseSince;
6
7
  exports.pathsFor = pathsFor;
7
8
  exports.ensureDaemonIsolation = ensureDaemonIsolation;
8
9
  exports.loggedOwnerIntake = loggedOwnerIntake;
@@ -28,6 +29,7 @@ const action_surface_js_1 = require("../../runtime/action-surface.js");
28
29
  const connectors_js_1 = require("../../runtime/connectors.js");
29
30
  const config_js_1 = require("../../runtime/config.js");
30
31
  const model_cache_js_1 = require("../../runtime/model-cache.js");
32
+ const member_paths_js_1 = require("../../runtime/member-paths.js");
31
33
  const backend_security_js_1 = require("../../runtime/backend-security.js");
32
34
  const session_credential_js_1 = require("../../runtime/session-credential.js");
33
35
  const action_mcp_config_js_1 = require("../runtime/action-mcp-config.js");
@@ -39,11 +41,16 @@ const viewer_data_js_1 = require("../../api/viewer-data.js");
39
41
  const owner_authority_js_1 = require("../../runtime/owner-authority.js");
40
42
  const principal_access_js_1 = require("../../runtime/principal-access.js");
41
43
  const report_scheduler_js_1 = require("../../runtime/report-scheduler.js");
44
+ const release_check_js_1 = require("../runtime/release-check.js");
45
+ const install_kind_js_1 = require("../runtime/install-kind.js");
46
+ const update_request_js_1 = require("../runtime/update-request.js");
47
+ const systemd_service_js_1 = require("../runtime/systemd-service.js");
42
48
  const wiki_read_js_1 = require("../../wiki/wiki-read.js");
43
49
  const timezone_js_1 = require("../../runtime/timezone.js");
44
50
  const security_events_js_1 = require("../../api/security-events.js");
45
51
  const egress_proxy_js_1 = require("../../runtime/egress-proxy.js");
46
52
  const daemon_control_js_1 = require("../runtime/daemon-control.js");
53
+ const update_journal_js_1 = require("../runtime/update-journal.js");
47
54
  exports.OWNER_PRINCIPAL_ID = 'owner';
48
55
  const OWNER_AGENT_ID = 'owner-agent';
49
56
  const OWNER_MEMORY_SCOPES = (0, action_surface_js_1.ownerMemoryScopes)(exports.OWNER_PRINCIPAL_ID, index_js_1.LOADABLE_CONNECTORS);
@@ -152,6 +159,24 @@ function validateDeliveryRoutes(config) {
152
159
  throw new Error(`delivery.${purpose} targets ${messenger}, which is disabled or has no allowlisted owner channel`);
153
160
  }
154
161
  }
162
+ /**
163
+ * The instant closing summaries start being ordered: written once, at the first start that runs
164
+ * upkeep, so items closed before it are left to the one-time summary script.
165
+ */
166
+ function upkeepCloseSince(path, now = Date.now()) {
167
+ if ((0, node_fs_1.existsSync)(path)) {
168
+ const stored = JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8')).closeSince;
169
+ if (typeof stored !== 'number' || !Number.isSafeInteger(stored))
170
+ throw new Error(`${path} has no closeSince epoch`);
171
+ return stored;
172
+ }
173
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(path), { recursive: true });
174
+ // Written once and read at every start: a partial file would stop each boot, so it appears whole.
175
+ const temporary = `${path}.${process.pid}.tmp`;
176
+ (0, node_fs_1.writeFileSync)(temporary, `${JSON.stringify({ closeSince: now }, null, 2)}\n`, { mode: 0o600 });
177
+ (0, node_fs_1.renameSync)(temporary, path);
178
+ return now;
179
+ }
155
180
  function pathsFor(configPath, config) {
156
181
  const mamaRoot = (0, node_path_1.dirname)(configPath);
157
182
  const runtimeRoot = (0, node_path_1.join)(mamaRoot, 'runtime');
@@ -198,6 +223,8 @@ function pathsFor(configPath, config) {
198
223
  /** Create only the native-process isolation files; never remove product state. */
199
224
  function ensureDaemonIsolation(options) {
200
225
  const { config, paths } = options;
226
+ // Member temp data under the old machine-wide parents is no longer under any session deny.
227
+ (0, member_paths_js_1.removeRetiredMemberTemp)();
201
228
  (0, node_fs_1.mkdirSync)(paths.downloadsDir, { recursive: true, mode: 0o700 });
202
229
  (0, node_fs_1.mkdirSync)(paths.workspaceDir, { recursive: true });
203
230
  const gitDir = (0, node_path_1.join)(paths.workspaceDir, '.git');
@@ -266,6 +293,7 @@ async function bootDaemon(options = {}) {
266
293
  let gateway = null;
267
294
  const gateways = new Map();
268
295
  let reportScheduler;
296
+ let releaseCheck;
269
297
  let egressProxy;
270
298
  let stopped = false;
271
299
  let deliveryReady = options.mode === 'replay';
@@ -277,14 +305,53 @@ async function bootDaemon(options = {}) {
277
305
  const control = (0, daemon_control_js_1.daemonControlPaths)((0, node_path_1.dirname)(configPath));
278
306
  const lock = (0, daemon_control_js_1.acquireInstallLock)(control, command);
279
307
  let controlServer = null;
308
+ // One per open drain connection; while any is open, nothing new is claimed.
309
+ const holds = new Set();
310
+ // An update candidate's hold, from boot until the updater's `release` (update.md, steps 13-14).
311
+ let updateHold = null;
312
+ const claimsHeld = () => holds.size > 0 || updateHold !== null;
313
+ // What a drain waits for: this process's own work. Runs and claims of an earlier boot are left
314
+ // out: their process is gone, and such a claim (a dispatch the crash cut off) resolves only in
315
+ // reconciliation, which the hold suspends. A claim is stamped when it is taken and renewed only
316
+ // by this process's deliveries, so its time tells which boot owns it. A claimed input whose
317
+ // native dispatch is uncertain is parked until reconciliation too; nothing starts from it.
318
+ const drainCounts = () => {
319
+ if (stopped)
320
+ throw new Error('MAMA is stopping');
321
+ if (!owner)
322
+ return { running: 0, claimed: 0, turns: 0 };
323
+ const adapter = owner.database.adapter;
324
+ const { running, unclaimed } = adapter
325
+ .prepare(`SELECT COUNT(*) AS running,
326
+ COUNT(CASE WHEN parent_model_run_id IS NULL
327
+ AND json_extract(input_refs_json, '$.nativeInputId') IS NULL
328
+ THEN 1 END) AS unclaimed
329
+ FROM model_runs WHERE status = 'running' AND created_at >= ?`)
330
+ .get(startedAt);
331
+ const { claimed } = adapter
332
+ .prepare(`SELECT COUNT(*) AS claimed FROM mailbox_inputs m
333
+ WHERE m.status = 'claimed' AND m.claimed_at >= ?
334
+ AND NOT EXISTS (SELECT 1 FROM native_input_deliveries n
335
+ WHERE n.input_id = m.id AND n.state = 'uncertain')`)
336
+ .get(startedAt);
337
+ // A turn either runs a claimed input or is a top-level run without one (a probe); subagent
338
+ // runs belong to their parent's turn.
339
+ return { running, claimed, turns: claimed + unclaimed };
340
+ };
280
341
  const statusReport = async () => {
281
342
  const report = {
282
343
  pid: process.pid,
283
344
  command,
284
345
  version: (0, package_version_js_1.resolvePackageVersion)(),
346
+ // What `mama update --node` confirms after it moves the managed Node.
347
+ node: process.version,
285
348
  startedAt,
286
349
  stage: stopped ? 'stopping' : booted ? 'running' : currentStage,
287
350
  lastError,
351
+ drain: holds.size === 0
352
+ ? null
353
+ : { holds: holds.size, since: Math.min(...[...holds].map((hold) => hold.since)) },
354
+ update: updateHold,
288
355
  };
289
356
  // Stores close during a stop; what it reports then is that it is stopping.
290
357
  if (stopped)
@@ -321,6 +388,8 @@ async function bootDaemon(options = {}) {
321
388
  const producerStops = [...gateways].map(([name, active]) => stopOne(logger, `${name}_intake`, () => active.beginStop?.(), errors));
322
389
  if (reportScheduler)
323
390
  producerStops.push(stopOne(logger, 'report_scheduler', () => reportScheduler.stop(), errors));
391
+ if (releaseCheck)
392
+ producerStops.push(stopOne(logger, 'release_check', () => releaseCheck.stop(), errors));
324
393
  if (connectors)
325
394
  producerStops.push(stopOne(logger, 'connectors', () => connectors.stop(), errors));
326
395
  if (viewer)
@@ -372,6 +441,50 @@ async function bootDaemon(options = {}) {
372
441
  throw new Error(`${command} stops when it finishes`);
373
442
  options.requestStop();
374
443
  },
444
+ probe: async () => {
445
+ if (!booted || stopped || !owner)
446
+ throw new Error('MAMA has not finished starting');
447
+ // After the drain is idle the stop comes next, and it would cut the probe's turn off.
448
+ if (holds.size > 0)
449
+ throw new Error('A drain holds new work; probe after the restart');
450
+ try {
451
+ const probed = await owner.probeBackend();
452
+ logger.info(`backend probe: ${config.agent.backend} answered in ${probed.ms} ms (model run ${probed.modelRunId ?? 'none'})`);
453
+ return { backend: config.agent.backend, model: config.agent.model, ...probed };
454
+ }
455
+ catch (error) {
456
+ // The turn's own failure is wrapped by the dispatch layer; its causes name what failed.
457
+ const reason = (0, stimulus_delivery_js_1.stimulusFailureReason)(error);
458
+ logger.error(`backend probe: ${config.agent.backend} failed: ${reason}`);
459
+ throw new Error(reason);
460
+ }
461
+ },
462
+ hold: () => {
463
+ const at = drainCounts();
464
+ // Each turn that may still run takes at most max_turn_ms; nothing new starts.
465
+ const perTurn = owner ? config.agent.max_turn_ms : 0;
466
+ const hold = { since: Date.now() };
467
+ holds.add(hold);
468
+ logger.info(`drain: claims held running=${at.running} claimed=${at.claimed}`);
469
+ return {
470
+ boundMs: at.turns * perTurn + 60_000,
471
+ counts: () => {
472
+ const { running, claimed } = drainCounts();
473
+ return { running, claimed };
474
+ },
475
+ release: () => {
476
+ holds.delete(hold);
477
+ logger.info('drain: claims released');
478
+ },
479
+ };
480
+ },
481
+ release: () => {
482
+ const held = updateHold !== null;
483
+ if (held)
484
+ logger.info(`update: ${updateHold.to} confirmed; claims released`);
485
+ updateHold = null;
486
+ return { held };
487
+ },
375
488
  });
376
489
  if (options.signal?.aborted)
377
490
  throw new StopDuringBootError();
@@ -381,6 +494,13 @@ async function bootDaemon(options = {}) {
381
494
  // on the daemon's own log holds everything, from the first boot stage on.
382
495
  options.captureOutput?.(config.logging.file);
383
496
  stage(logger, 'config', options.signal);
497
+ // An update candidate runs nothing until the updater has seen it boot and confirmed it: its
498
+ // boot recovery claims nothing, so a rollback finds every input as it was (update.md step 13).
499
+ const update = (0, update_journal_js_1.readUpdateJournal)((0, update_journal_js_1.updatePaths)((0, node_path_1.dirname)(configPath)).journal);
500
+ if (update?.phase === 'candidate') {
501
+ updateHold = { since: Date.now(), to: update.to };
502
+ logger.info(`update: booted as the candidate for ${update.to}; claims held until confirmed`);
503
+ }
384
504
  logger.info(`document toolkit: ${(0, document_toolkit_js_1.readDocumentToolkit)(config.tools_root, (error) => logger.error(error.message)) ? 'present' : 'absent (run mama tools install)'}`);
385
505
  const timeZone = (0, timezone_js_1.createTimeZoneSetting)(config.timezone);
386
506
  validateDeliveryRoutes(config);
@@ -570,6 +690,7 @@ async function bootDaemon(options = {}) {
570
690
  },
571
691
  ownerPolicyProvider,
572
692
  deliveryReady: () => deliveryReady,
693
+ claimsHeld,
573
694
  onPersonalJobError: (error) => logger.error(`personal job scheduler failed reason=${(0, stimulus_delivery_js_1.stimulusFailureReason)(error)}`),
574
695
  ...(options.mode === 'replay'
575
696
  ? {}
@@ -583,7 +704,9 @@ async function bootDaemon(options = {}) {
583
704
  const selected = gateways.get(sourceForRef(row.stimulusId));
584
705
  if (!selected)
585
706
  throw new Error('Owner messenger is not available for an interrupted response');
586
- await selected.recoverPendingResponses();
707
+ // Only this message: a sweep would tell messages still in flight that they were
708
+ // interrupted, and their answers would then be dropped as already delivered.
709
+ await selected.recoverResponse(row.stimulusId);
587
710
  },
588
711
  closeUncertain: {
589
712
  ownerAnswered: (row) => gateways.get(sourceForRef(row.stimulusId))?.answered(row.stimulusId) ?? false,
@@ -616,6 +739,22 @@ async function bootDaemon(options = {}) {
616
739
  else
617
740
  logger.info(line);
618
741
  },
742
+ // Upkeep orders write the ledger from live state: a replay places none, but still serves an
743
+ // order a live run left in the mailbox.
744
+ upkeep: {
745
+ closeSince: upkeepCloseSince((0, node_path_1.join)(paths.runtimeRoot, 'upkeep-state.json')),
746
+ fullReportHours: () => config.reports.full_report_hours,
747
+ scan: options.mode !== 'replay',
748
+ onEvent: (event) => {
749
+ const line = `upkeep ${event.kind} ${event.type}${event.type === 'ordered'
750
+ ? ` order=${event.order} subjects=${event.subjects}`
751
+ : ` subject=${event.subject}`}${'attempt' in event ? ` attempt=${event.attempt}` : ''}${'reason' in event ? ` reason=${(0, stimulus_delivery_js_1.stimulusFailureReason)(event.reason)}` : ''}`;
752
+ if (event.type === 'lost')
753
+ logger.error(line);
754
+ else
755
+ logger.info(line);
756
+ },
757
+ },
619
758
  onStimulusDelivered: (row, modelRunId) => stimulusDelivered(logger, row, modelRunId),
620
759
  onStimulusFailed: (row, reason, modelRunId) => stimulusFailed(logger, row.kind ?? 'unknown', row.stimulusId, reason, modelRunId),
621
760
  });
@@ -735,6 +874,59 @@ async function bootDaemon(options = {}) {
735
874
  principalPaths: (principalId, room) => owner.principalPaths(principalId, room),
736
875
  onMemberSelection: (selection) => owner.completeMemberEnrollment(selection),
737
876
  recordMemberSelection: (exchange) => owner.recordHostExchange(exchange),
877
+ hostCommands: {
878
+ status: async (target, ownerView) => {
879
+ const report = await statusReport();
880
+ const adapter = owner.database.adapter;
881
+ // A group reads the reply, so a member's count there is that group's inputs only.
882
+ const waiting = (0, owner_runtime_js_1.countInputsNotDone)(adapter, ownerView
883
+ ? {}
884
+ : target.kind === 'common'
885
+ ? { principalId: exports.OWNER_PRINCIPAL_ID }
886
+ : {
887
+ principalId: target.principalId,
888
+ ...(target.room === undefined ? {} : { channel: target.room }),
889
+ });
890
+ const turns = (report.runningTurns ?? []);
891
+ const sources = (report.connectors ?? []);
892
+ return {
893
+ version: String(report.version),
894
+ since: (0, timezone_js_1.localNow)(startedAt, timeZone.get()),
895
+ conversationRunning: owner.turnRunning(target),
896
+ inputsWaiting: waiting,
897
+ ...(ownerView
898
+ ? {
899
+ owner: {
900
+ turnsRunning: turns.reduce((sum, turn) => sum + turn.count, 0),
901
+ sources: sources.map(({ name, healthy }) => ({ name, healthy })),
902
+ },
903
+ }
904
+ : {}),
905
+ };
906
+ },
907
+ startOver: (target) => owner.startOver(target),
908
+ stopTurn: (target) => owner.stopTurn(target),
909
+ update: async (origin) => {
910
+ const result = (0, update_request_js_1.requestUpdate)({
911
+ mamaRoot: paths.mamaRoot,
912
+ home: options.home ?? (0, node_os_1.homedir)(),
913
+ origin,
914
+ version: (0, package_version_js_1.resolvePackageVersion)(),
915
+ platform: process.platform,
916
+ run: systemd_service_js_1.defaultServiceRun,
917
+ uid: process.getuid(),
918
+ log: (line) => logger.info(line),
919
+ });
920
+ logger.info(`update requested result=${result.kind}`);
921
+ if (result.kind !== 'busy')
922
+ return result;
923
+ return {
924
+ kind: 'busy',
925
+ source: result.source,
926
+ since: result.since === null ? 'an unknown time' : (0, timezone_js_1.localNow)(result.since, timeZone.get()),
927
+ };
928
+ },
929
+ },
738
930
  config: {
739
931
  enabled: true,
740
932
  allowedChats: config.telegram.allowed_chats,
@@ -833,10 +1025,13 @@ async function bootDaemon(options = {}) {
833
1025
  return receipt;
834
1026
  },
835
1027
  },
836
- hasPendingReport: () => Boolean(owner.database.adapter
837
- .prepare(`SELECT 1 FROM mailbox_inputs m LEFT JOIN native_input_deliveries n ON n.input_id = m.id WHERE m.principal_id = ? AND m.kind = 'scheduled' AND m.channel_key = 'schedule' AND m.status IN ('pending', 'claimed') AND (n.state IS NULL OR n.state != 'uncertain') LIMIT 1`)
838
- .get(exports.OWNER_PRINCIPAL_ID)),
1028
+ hasPendingReport: (report, hourKey) => Boolean(owner.database.adapter
1029
+ .prepare(`SELECT 1 FROM mailbox_inputs m LEFT JOIN native_input_deliveries n ON n.input_id = m.id WHERE m.principal_id = ? AND m.kind = 'scheduled' AND m.channel_key = 'schedule' AND m.status IN ('pending', 'claimed') AND (n.state IS NULL OR n.state != 'uncertain' OR (json_extract(m.payload_json, '$.report') = ? AND json_extract(m.payload_json, '$.hourKey') = ? AND EXISTS (SELECT 1 FROM native_turn_results r WHERE r.receipt_json = n.receipt_json AND r.principal_id = m.principal_id))) LIMIT 1`)
1030
+ .get(exports.OWNER_PRINCIPAL_ID, report, hourKey)),
839
1031
  sendToOwner: (text, key) => gateways.get(reportRoute).sendToOwner(text, key),
1032
+ // Every messenger keys outbound text the same way in the one shared ledger.
1033
+ retireUndelivered: (key) => messageLedger.retireUndelivered((0, telegram_message_ledger_js_1.outboundLedgerKey)(key)),
1034
+ log: (line) => logger.info(line),
840
1035
  onError: (error) => logger.error(`report scheduler failed reason=${(0, stimulus_delivery_js_1.stimulusFailureReason)(error)}`),
841
1036
  });
842
1037
  reportScheduler.start();
@@ -851,6 +1046,17 @@ async function bootDaemon(options = {}) {
851
1046
  .catch((error) => logger.error(`personal job scheduler failed reason=${(0, stimulus_delivery_js_1.stimulusFailureReason)(error)}`));
852
1047
  stage(logger, 'personal_job_scheduler', options.signal);
853
1048
  }
1049
+ // Live only: a replay or backfill returned above, and never asks the registry.
1050
+ releaseCheck = (dependencies.createReleaseCheck ?? release_check_js_1.createReleaseCheck)({
1051
+ statePath: (0, release_check_js_1.releaseCheckPath)(paths.mamaRoot),
1052
+ current: (0, package_version_js_1.resolvePackageVersion)(),
1053
+ packageKind: (0, install_kind_js_1.packageKind)((0, install_kind_js_1.runningPackageRoot)()),
1054
+ npmPath: (0, release_check_js_1.npmBesideNode)(),
1055
+ timeZone,
1056
+ log: (line) => logger.info(line),
1057
+ onError: (error) => logger.error(`release check failed error=${errorName(error)}`),
1058
+ });
1059
+ releaseCheck.start();
854
1060
  deliveryReady = true;
855
1061
  booted = true;
856
1062
  return {
@@ -938,7 +1144,7 @@ function installControlPaths(options = {}) {
938
1144
  return (0, daemon_control_js_1.daemonControlPaths)((0, node_path_1.dirname)(configPath));
939
1145
  }
940
1146
  async function askDaemon(op, options = {}) {
941
- return await (0, daemon_control_js_1.requestDaemonControl)(installControlPaths(options), op);
1147
+ return await (0, daemon_control_js_1.requestDaemonControl)(installControlPaths(options), op, options.timeoutMs);
942
1148
  }
943
1149
  /** macOS only: this user's LaunchAgent (`launchctl print` exits 113 when it is not loaded). */
944
1150
  function launchdService() {
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/cli/commands/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/cli/commands/daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import { type AuthRequirement, type ConnectorsConfig, type IConnector } from '../../connectors/framework/types.js';
2
+ import type { W1Config } from '../../runtime/config.js';
3
+ import { planConnectors } from '../../runtime/connectors.js';
4
+ import { type PromptAdapter } from '../prompt.js';
5
+ import { type SecretName } from '../secrets.js';
6
+ import { type ProbeRun } from '../runtime/backend-probe.js';
7
+ import { telegramCheck } from '../runtime/diagnostics.js';
8
+ import { type ServiceSight, type SourceToolReport } from '../runtime/source-tools.js';
9
+ import { type ServiceOptions } from './service.js';
10
+ export declare function yes(prompt: PromptAdapter, label: string): Promise<boolean>;
11
+ export declare function text(prompt: PromptAdapter, label: string): Promise<string>;
12
+ export declare function collectConnectors(prompt: PromptAdapter, secrets: Partial<Record<SecretName, string>>): Promise<ConnectorsConfig>;
13
+ /** A source as boot builds it from connectors.json, with what it needs. */
14
+ export interface BuiltSource {
15
+ readonly name: string;
16
+ readonly source: IConnector;
17
+ readonly needs: AuthRequirement[];
18
+ }
19
+ /**
20
+ * Each enabled source in `plan`, built as boot builds it, with its own requirements: a source
21
+ * names its tool there, since connectors.json's `auth` is not what the source runs. A source that
22
+ * cannot be built comes back with its error; boot would stop at the connectors stage.
23
+ */
24
+ export declare function buildSources(plan: ReturnType<typeof planConnectors>, config: W1Config, configPath: string): Promise<Array<BuiltSource | {
25
+ readonly name: string;
26
+ readonly error: Error;
27
+ }>>;
28
+ /**
29
+ * For `sources`, each tool they run as the service would find it (install.md, PR 3), with how to
30
+ * install it and its login, and the service's PATH it was looked for on; `enabled` is every
31
+ * source that will run. start.sh is read only when a source runs a tool: null when none does.
32
+ */
33
+ export declare function sourceToolReports(sources: readonly BuiltSource[], enabled: readonly BuiltSource[], install: {
34
+ root: string;
35
+ home: string;
36
+ platform: NodeJS.Platform;
37
+ }, config: W1Config, options: Pick<ServiceOptions, 'findExecutable' | 'nodePath' | 'cliPath' | 'toolDirectoryExists'>): {
38
+ service: ServiceSight;
39
+ reports: SourceToolReport[];
40
+ } | null;
41
+ /**
42
+ * For the enabled sources in connectors.json, each tool they run that the service cannot find,
43
+ * with how to install it, and each one's login: what `mama init` says when it continues a setup
44
+ * that stopped (often at the boot wait, when a source's tool is missing). connectors.json is read
45
+ * as boot and doctor read it (planConnectors). It reports; what boot refuses doctor names in full.
46
+ */
47
+ export declare function writeSourceTools(install: {
48
+ root: string;
49
+ home: string;
50
+ platform: NodeJS.Platform;
51
+ configPath: string;
52
+ }, config: W1Config, options: Pick<ServiceOptions, 'findExecutable' | 'nodePath' | 'cliPath' | 'toolDirectoryExists'>, write: (line: string) => void,
53
+ /** What to do once a missing tool is installed. */
54
+ next: string): Promise<void>;
55
+ export type TelegramCall = Parameters<typeof telegramCheck>[2];
56
+ export declare function validTimezone(timezone: string): string;
57
+ /**
58
+ * Run a backend's own sign-in attached to the terminal, for `mama init --section model`: it names
59
+ * the command and runs it for the person, then reads the login again. Its exit status. The whole
60
+ * setup only names the login, for the person's agent to run (owner-setup.md).
61
+ */
62
+ export type BackendSignIn = (command: string, args: string[], env: NodeJS.ProcessEnv) => number;
63
+ export declare const terminalSignIn: BackendSignIn;
64
+ /**
65
+ * The backend this install will run must be installed, at least the version a release was
66
+ * verified on, and signed in, before anything is written: the daemon would otherwise fail its
67
+ * first turn. Codex is asked about the managed home MAMA gives it. With `signIn` (a terminal,
68
+ * `--section model`), a signed-out backend's login runs here, and the login is read again;
69
+ * without it, the login is named with the backend's full path, for the person's agent to run.
70
+ * `next` is the caller's next step after a fix.
71
+ */
72
+ export declare function checkBackend(backend: 'claude' | 'codex', codexHome: string, locate: (name: string) => string | undefined, run: ProbeRun | undefined, next: string, signIn?: {
73
+ run: BackendSignIn;
74
+ write: (line: string) => void;
75
+ }): void;
76
+ /** Telegram must accept the token; anything about the group is reported and doctor checks again. */
77
+ export declare function checkTelegram(token: string, chatId: string | undefined, call: TelegramCall, write: (line: string) => void, options: {
78
+ groupRequired?: boolean;
79
+ next: string;
80
+ }): Promise<void>;
81
+ export declare function report(check: Awaited<ReturnType<typeof telegramCheck>>, write: (line: string) => void): void;
82
+ /** Discord owner messages: off, or one owner channel and the owner's user id. */
83
+ export declare function askDiscord(prompt: PromptAdapter, secrets: Partial<Record<SecretName, string>>): Promise<Record<string, unknown>>;
84
+ /** Slack owner messages: off, or one owner channel and the owner's user id. */
85
+ export declare function askSlack(prompt: PromptAdapter, secrets: Partial<Record<SecretName, string>>): Promise<Record<string, unknown>>;
86
+ /** Jev (TypeSafe) is the owner's choice: the agent's judge tool, off unless chosen here. */
87
+ export declare function askJev(prompt: PromptAdapter, keyFile: string): Promise<{
88
+ enabled: boolean;
89
+ key: string | undefined;
90
+ }>;
91
+ /** The only backend on PATH is the answer Enter keeps; with both or neither, one is typed. */
92
+ export declare function askBackend(prompt: PromptAdapter, check: (name: 'claude' | 'codex') => void, locate: (name: string) => string | undefined): Promise<{
93
+ backend: 'claude' | 'codex';
94
+ model: string;
95
+ }>;
96
+ /** Enter keeps the timezone shown: the current setting, or else this machine's. */
97
+ export declare function askTimezone(prompt: PromptAdapter, current?: string): Promise<string>;
98
+ //# sourceMappingURL=init-questions.d.ts.map