@mono-agent/agent-app 0.11.3 → 0.11.4

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 (345) hide show
  1. package/README.md +222 -26
  2. package/dist/adapter-send-tools-main.js +7 -1
  3. package/dist/adapter-send-tools-main.js.map +1 -1
  4. package/dist/adapter-send-tools.d.ts +19 -1
  5. package/dist/adapter-send-tools.d.ts.map +1 -1
  6. package/dist/adapter-send-tools.js +127 -13
  7. package/dist/adapter-send-tools.js.map +1 -1
  8. package/dist/app-config.d.ts.map +1 -1
  9. package/dist/app-config.js +15 -2
  10. package/dist/app-config.js.map +1 -1
  11. package/dist/app-controller-channels.d.ts +8 -0
  12. package/dist/app-controller-channels.d.ts.map +1 -0
  13. package/dist/app-controller-channels.js +207 -0
  14. package/dist/app-controller-channels.js.map +1 -0
  15. package/dist/app-controller-continuation.d.ts +26 -0
  16. package/dist/app-controller-continuation.d.ts.map +1 -0
  17. package/dist/app-controller-continuation.js +198 -0
  18. package/dist/app-controller-continuation.js.map +1 -0
  19. package/dist/app-controller-lifecycle.d.ts +6 -0
  20. package/dist/app-controller-lifecycle.d.ts.map +1 -0
  21. package/dist/app-controller-lifecycle.js +81 -0
  22. package/dist/app-controller-lifecycle.js.map +1 -0
  23. package/dist/app-controller-maintenance.d.ts +13 -0
  24. package/dist/app-controller-maintenance.d.ts.map +1 -0
  25. package/dist/app-controller-maintenance.js +180 -0
  26. package/dist/app-controller-maintenance.js.map +1 -0
  27. package/dist/app-controller-memory-health.d.ts +12 -0
  28. package/dist/app-controller-memory-health.d.ts.map +1 -0
  29. package/dist/app-controller-memory-health.js +160 -0
  30. package/dist/app-controller-memory-health.js.map +1 -0
  31. package/dist/app-controller-memory.d.ts +9 -0
  32. package/dist/app-controller-memory.d.ts.map +1 -0
  33. package/dist/app-controller-memory.js +83 -0
  34. package/dist/app-controller-memory.js.map +1 -0
  35. package/dist/app-controller-responder.d.ts +20 -0
  36. package/dist/app-controller-responder.d.ts.map +1 -0
  37. package/dist/app-controller-responder.js +246 -0
  38. package/dist/app-controller-responder.js.map +1 -0
  39. package/dist/app-controller-traceability.d.ts +25 -0
  40. package/dist/app-controller-traceability.d.ts.map +1 -0
  41. package/dist/app-controller-traceability.js +418 -0
  42. package/dist/app-controller-traceability.js.map +1 -0
  43. package/dist/app-controller-utils.d.ts +38 -0
  44. package/dist/app-controller-utils.d.ts.map +1 -0
  45. package/dist/app-controller-utils.js +185 -0
  46. package/dist/app-controller-utils.js.map +1 -0
  47. package/dist/app-controller.d.ts +400 -0
  48. package/dist/app-controller.d.ts.map +1 -0
  49. package/dist/app-controller.js +336 -0
  50. package/dist/app-controller.js.map +1 -0
  51. package/dist/app.d.ts +7 -115
  52. package/dist/app.d.ts.map +1 -1
  53. package/dist/app.js +6 -1912
  54. package/dist/app.js.map +1 -1
  55. package/dist/artifact-retention.d.ts +4 -0
  56. package/dist/artifact-retention.d.ts.map +1 -1
  57. package/dist/artifact-retention.js +38 -0
  58. package/dist/artifact-retention.js.map +1 -1
  59. package/dist/backfill.d.ts +3 -1
  60. package/dist/backfill.d.ts.map +1 -1
  61. package/dist/backfill.js +5 -1
  62. package/dist/backfill.js.map +1 -1
  63. package/dist/background-runtime.d.ts +27 -0
  64. package/dist/background-runtime.d.ts.map +1 -1
  65. package/dist/background-runtime.js +383 -205
  66. package/dist/background-runtime.js.map +1 -1
  67. package/dist/background-worker-lease.d.ts.map +1 -1
  68. package/dist/background-worker-lease.js +41 -241
  69. package/dist/background-worker-lease.js.map +1 -1
  70. package/dist/background.d.ts +31 -9
  71. package/dist/background.d.ts.map +1 -1
  72. package/dist/background.js +543 -272
  73. package/dist/background.js.map +1 -1
  74. package/dist/channel-drivers/cron.d.ts +11 -0
  75. package/dist/channel-drivers/cron.d.ts.map +1 -0
  76. package/dist/channel-drivers/cron.js +168 -0
  77. package/dist/channel-drivers/cron.js.map +1 -0
  78. package/dist/channel-drivers/live.d.ts +11 -0
  79. package/dist/channel-drivers/live.d.ts.map +1 -0
  80. package/dist/channel-drivers/live.js +47 -0
  81. package/dist/channel-drivers/live.js.map +1 -0
  82. package/dist/channel-drivers/native-notify.d.ts +27 -0
  83. package/dist/channel-drivers/native-notify.d.ts.map +1 -0
  84. package/dist/channel-drivers/native-notify.js +94 -0
  85. package/dist/channel-drivers/native-notify.js.map +1 -0
  86. package/dist/channel-drivers/openai-api.d.ts +7 -0
  87. package/dist/channel-drivers/openai-api.d.ts.map +1 -0
  88. package/dist/channel-drivers/openai-api.js +63 -0
  89. package/dist/channel-drivers/openai-api.js.map +1 -0
  90. package/dist/channel-drivers/shared.d.ts +4 -0
  91. package/dist/channel-drivers/shared.d.ts.map +1 -0
  92. package/dist/channel-drivers/shared.js +5 -0
  93. package/dist/channel-drivers/shared.js.map +1 -0
  94. package/dist/channel-drivers/slack.d.ts +14 -0
  95. package/dist/channel-drivers/slack.d.ts.map +1 -0
  96. package/dist/channel-drivers/slack.js +227 -0
  97. package/dist/channel-drivers/slack.js.map +1 -0
  98. package/dist/channel-drivers/telegram.d.ts +11 -0
  99. package/dist/channel-drivers/telegram.d.ts.map +1 -0
  100. package/dist/channel-drivers/telegram.js +244 -0
  101. package/dist/channel-drivers/telegram.js.map +1 -0
  102. package/dist/channel-drivers/tui.d.ts +15 -0
  103. package/dist/channel-drivers/tui.d.ts.map +1 -0
  104. package/dist/channel-drivers/tui.js +108 -0
  105. package/dist/channel-drivers/tui.js.map +1 -0
  106. package/dist/channel-drivers/webhook.d.ts +7 -0
  107. package/dist/channel-drivers/webhook.d.ts.map +1 -0
  108. package/dist/channel-drivers/webhook.js +115 -0
  109. package/dist/channel-drivers/webhook.js.map +1 -0
  110. package/dist/channels.d.ts +21 -81
  111. package/dist/channels.d.ts.map +1 -1
  112. package/dist/channels.js +11 -1174
  113. package/dist/channels.js.map +1 -1
  114. package/dist/cli-args.d.ts +121 -0
  115. package/dist/cli-args.d.ts.map +1 -0
  116. package/dist/cli-args.js +532 -0
  117. package/dist/cli-args.js.map +1 -0
  118. package/dist/cli-background-command.d.ts +59 -0
  119. package/dist/cli-background-command.d.ts.map +1 -0
  120. package/dist/cli-background-command.js +475 -0
  121. package/dist/cli-background-command.js.map +1 -0
  122. package/dist/cli-cancellation.d.ts +6 -0
  123. package/dist/cli-cancellation.d.ts.map +1 -0
  124. package/dist/cli-cancellation.js +23 -0
  125. package/dist/cli-cancellation.js.map +1 -0
  126. package/dist/cli-commands.d.ts +12 -0
  127. package/dist/cli-commands.d.ts.map +1 -0
  128. package/dist/cli-commands.js +306 -0
  129. package/dist/cli-commands.js.map +1 -0
  130. package/dist/cli-help.d.ts +11 -0
  131. package/dist/cli-help.d.ts.map +1 -0
  132. package/dist/cli-help.js +262 -0
  133. package/dist/cli-help.js.map +1 -0
  134. package/dist/cli-init-command.d.ts +60 -0
  135. package/dist/cli-init-command.d.ts.map +1 -0
  136. package/dist/cli-init-command.js +1910 -0
  137. package/dist/cli-init-command.js.map +1 -0
  138. package/dist/cli-install-skill-command.d.ts +3 -0
  139. package/dist/cli-install-skill-command.d.ts.map +1 -0
  140. package/dist/cli-install-skill-command.js +51 -0
  141. package/dist/cli-install-skill-command.js.map +1 -0
  142. package/dist/cli-sandbox-command.d.ts +10 -0
  143. package/dist/cli-sandbox-command.d.ts.map +1 -0
  144. package/dist/cli-sandbox-command.js +100 -0
  145. package/dist/cli-sandbox-command.js.map +1 -0
  146. package/dist/cli-validate-config-command.d.ts +36 -0
  147. package/dist/cli-validate-config-command.d.ts.map +1 -0
  148. package/dist/cli-validate-config-command.js +317 -0
  149. package/dist/cli-validate-config-command.js.map +1 -0
  150. package/dist/cli.d.ts +6 -248
  151. package/dist/cli.d.ts.map +1 -1
  152. package/dist/cli.js +6 -3792
  153. package/dist/cli.js.map +1 -1
  154. package/dist/config-reference.d.ts +2 -1
  155. package/dist/config-reference.d.ts.map +1 -1
  156. package/dist/config-reference.js +14 -3
  157. package/dist/config-reference.js.map +1 -1
  158. package/dist/configured-agent.d.ts +23 -0
  159. package/dist/configured-agent.d.ts.map +1 -1
  160. package/dist/configured-agent.js +89 -12
  161. package/dist/configured-agent.js.map +1 -1
  162. package/dist/continuation-dispatch-worker.d.ts +21 -0
  163. package/dist/continuation-dispatch-worker.d.ts.map +1 -0
  164. package/dist/continuation-dispatch-worker.js +425 -0
  165. package/dist/continuation-dispatch-worker.js.map +1 -0
  166. package/dist/continuation-http-routes.d.ts +15 -0
  167. package/dist/continuation-http-routes.d.ts.map +1 -0
  168. package/dist/continuation-http-routes.js +265 -0
  169. package/dist/continuation-http-routes.js.map +1 -0
  170. package/dist/continuation-operator-api.d.ts +18 -0
  171. package/dist/continuation-operator-api.d.ts.map +1 -0
  172. package/dist/continuation-operator-api.js +164 -0
  173. package/dist/continuation-operator-api.js.map +1 -0
  174. package/dist/continuation-origin-store.d.ts +19 -0
  175. package/dist/continuation-origin-store.d.ts.map +1 -0
  176. package/dist/continuation-origin-store.js +273 -0
  177. package/dist/continuation-origin-store.js.map +1 -0
  178. package/dist/continuation-service-errors.d.ts +18 -0
  179. package/dist/continuation-service-errors.d.ts.map +1 -0
  180. package/dist/continuation-service-errors.js +35 -0
  181. package/dist/continuation-service-errors.js.map +1 -0
  182. package/dist/continuation-service-helpers.d.ts +39 -0
  183. package/dist/continuation-service-helpers.d.ts.map +1 -0
  184. package/dist/continuation-service-helpers.js +308 -0
  185. package/dist/continuation-service-helpers.js.map +1 -0
  186. package/dist/continuation-service-origin.d.ts +55 -0
  187. package/dist/continuation-service-origin.d.ts.map +1 -0
  188. package/dist/continuation-service-origin.js +325 -0
  189. package/dist/continuation-service-origin.js.map +1 -0
  190. package/dist/continuation-service-types.d.ts +110 -0
  191. package/dist/continuation-service-types.d.ts.map +1 -0
  192. package/dist/continuation-service-types.js +11 -0
  193. package/dist/continuation-service-types.js.map +1 -0
  194. package/dist/continuation-service.d.ts +4 -97
  195. package/dist/continuation-service.d.ts.map +1 -1
  196. package/dist/continuation-service.js +9 -1525
  197. package/dist/continuation-service.js.map +1 -1
  198. package/dist/continuation-store-fs.d.ts +15 -0
  199. package/dist/continuation-store-fs.d.ts.map +1 -0
  200. package/dist/continuation-store-fs.js +247 -0
  201. package/dist/continuation-store-fs.js.map +1 -0
  202. package/dist/continuation-store-policy.d.ts +21 -0
  203. package/dist/continuation-store-policy.d.ts.map +1 -0
  204. package/dist/continuation-store-policy.js +278 -0
  205. package/dist/continuation-store-policy.js.map +1 -0
  206. package/dist/continuation-store-records.d.ts +9 -0
  207. package/dist/continuation-store-records.d.ts.map +1 -0
  208. package/dist/continuation-store-records.js +221 -0
  209. package/dist/continuation-store-records.js.map +1 -0
  210. package/dist/continuation-store-types.d.ts +173 -0
  211. package/dist/continuation-store-types.d.ts.map +1 -0
  212. package/dist/continuation-store-types.js +26 -0
  213. package/dist/continuation-store-types.js.map +1 -0
  214. package/dist/continuation-store.d.ts +4 -138
  215. package/dist/continuation-store.d.ts.map +1 -1
  216. package/dist/continuation-store.js +145 -1049
  217. package/dist/continuation-store.js.map +1 -1
  218. package/dist/doctor.d.ts +5 -0
  219. package/dist/doctor.d.ts.map +1 -1
  220. package/dist/doctor.js +575 -38
  221. package/dist/doctor.js.map +1 -1
  222. package/dist/init.d.ts +2 -0
  223. package/dist/init.d.ts.map +1 -1
  224. package/dist/init.js +92 -239
  225. package/dist/init.js.map +1 -1
  226. package/dist/interaction-bridge.d.ts +19 -0
  227. package/dist/interaction-bridge.d.ts.map +1 -1
  228. package/dist/interaction-bridge.js +130 -0
  229. package/dist/interaction-bridge.js.map +1 -1
  230. package/dist/launchd-logs.d.ts +91 -0
  231. package/dist/launchd-logs.d.ts.map +1 -0
  232. package/dist/launchd-logs.js +1499 -0
  233. package/dist/launchd-logs.js.map +1 -0
  234. package/dist/launchd.d.ts +27 -0
  235. package/dist/launchd.d.ts.map +1 -1
  236. package/dist/launchd.js +89 -10
  237. package/dist/launchd.js.map +1 -1
  238. package/dist/memory-command.d.ts +2 -0
  239. package/dist/memory-command.d.ts.map +1 -1
  240. package/dist/memory-command.js +161 -48
  241. package/dist/memory-command.js.map +1 -1
  242. package/dist/memory-recall-settings.d.ts +64 -0
  243. package/dist/memory-recall-settings.d.ts.map +1 -0
  244. package/dist/memory-recall-settings.js +51 -0
  245. package/dist/memory-recall-settings.js.map +1 -0
  246. package/dist/memory-recall.d.ts +7 -95
  247. package/dist/memory-recall.d.ts.map +1 -1
  248. package/dist/memory-recall.js +8 -143
  249. package/dist/memory-recall.js.map +1 -1
  250. package/dist/memory-rituals.d.ts +3 -3
  251. package/dist/memory-rituals.d.ts.map +1 -1
  252. package/dist/memory-rituals.js +16 -111
  253. package/dist/memory-rituals.js.map +1 -1
  254. package/dist/modules/catalog.js +2 -2
  255. package/dist/modules/catalog.js.map +1 -1
  256. package/dist/modules/known-tools.d.ts +8 -6
  257. package/dist/modules/known-tools.d.ts.map +1 -1
  258. package/dist/modules/known-tools.js +8 -6
  259. package/dist/modules/known-tools.js.map +1 -1
  260. package/dist/notify-destinations.d.ts +5 -0
  261. package/dist/notify-destinations.d.ts.map +1 -1
  262. package/dist/notify-destinations.js +7 -1
  263. package/dist/notify-destinations.js.map +1 -1
  264. package/dist/owner-private-lock.d.ts +95 -0
  265. package/dist/owner-private-lock.d.ts.map +1 -0
  266. package/dist/owner-private-lock.js +566 -0
  267. package/dist/owner-private-lock.js.map +1 -0
  268. package/dist/pi-oauth-login.d.ts +2 -0
  269. package/dist/pi-oauth-login.d.ts.map +1 -1
  270. package/dist/pi-oauth-login.js +39 -5
  271. package/dist/pi-oauth-login.js.map +1 -1
  272. package/dist/posted-message-index.d.ts +35 -16
  273. package/dist/posted-message-index.d.ts.map +1 -1
  274. package/dist/posted-message-index.js +1068 -52
  275. package/dist/posted-message-index.js.map +1 -1
  276. package/dist/posted-reply-history.d.ts +17 -0
  277. package/dist/posted-reply-history.d.ts.map +1 -0
  278. package/dist/posted-reply-history.js +169 -0
  279. package/dist/posted-reply-history.js.map +1 -0
  280. package/dist/proactive-notify.d.ts.map +1 -1
  281. package/dist/proactive-notify.js +6 -4
  282. package/dist/proactive-notify.js.map +1 -1
  283. package/dist/project-skills.d.ts +4 -0
  284. package/dist/project-skills.d.ts.map +1 -1
  285. package/dist/project-skills.js +99 -130
  286. package/dist/project-skills.js.map +1 -1
  287. package/dist/provider-setup.d.ts +0 -1
  288. package/dist/provider-setup.d.ts.map +1 -1
  289. package/dist/provider-setup.js +0 -3
  290. package/dist/provider-setup.js.map +1 -1
  291. package/dist/readiness-probe-worker.d.ts +61 -1
  292. package/dist/readiness-probe-worker.d.ts.map +1 -1
  293. package/dist/readiness-probe-worker.js +49 -56
  294. package/dist/readiness-probe-worker.js.map +1 -1
  295. package/dist/readiness-probe.d.ts +6 -9
  296. package/dist/readiness-probe.d.ts.map +1 -1
  297. package/dist/readiness-probe.js +23 -56
  298. package/dist/readiness-probe.js.map +1 -1
  299. package/dist/redact-secrets.d.ts +15 -0
  300. package/dist/redact-secrets.d.ts.map +1 -0
  301. package/dist/redact-secrets.js +65 -0
  302. package/dist/redact-secrets.js.map +1 -0
  303. package/dist/run-history.js +34 -24
  304. package/dist/run-history.js.map +1 -1
  305. package/dist/runtime-provenance.d.ts +8 -0
  306. package/dist/runtime-provenance.d.ts.map +1 -0
  307. package/dist/runtime-provenance.js +225 -0
  308. package/dist/runtime-provenance.js.map +1 -0
  309. package/dist/sandbox-manager.d.ts +4 -1
  310. package/dist/sandbox-manager.d.ts.map +1 -1
  311. package/dist/sandbox-manager.js +114 -273
  312. package/dist/sandbox-manager.js.map +1 -1
  313. package/dist/secure-file-replace.d.ts +49 -0
  314. package/dist/secure-file-replace.d.ts.map +1 -0
  315. package/dist/secure-file-replace.js +270 -0
  316. package/dist/secure-file-replace.js.map +1 -0
  317. package/dist/seen-conversations.d.ts +32 -5
  318. package/dist/seen-conversations.d.ts.map +1 -1
  319. package/dist/seen-conversations.js +145 -15
  320. package/dist/seen-conversations.js.map +1 -1
  321. package/dist/sessions.d.ts +20 -0
  322. package/dist/sessions.d.ts.map +1 -1
  323. package/dist/sessions.js +41 -6
  324. package/dist/sessions.js.map +1 -1
  325. package/dist/wizard/index.d.ts +2 -2
  326. package/dist/wizard/index.d.ts.map +1 -1
  327. package/dist/wizard/index.js +1 -1
  328. package/dist/wizard/index.js.map +1 -1
  329. package/dist/wizard/presets.d.ts +2 -1
  330. package/dist/wizard/presets.d.ts.map +1 -1
  331. package/dist/wizard/presets.js +2 -1
  332. package/dist/wizard/presets.js.map +1 -1
  333. package/dist/wizard/run.d.ts +0 -26
  334. package/dist/wizard/run.d.ts.map +1 -1
  335. package/dist/wizard/run.js +0 -53
  336. package/dist/wizard/run.js.map +1 -1
  337. package/package.json +21 -16
  338. package/schema/mono-agent.config.schema.json +17 -6
  339. package/skills/mono-agent-composer/SKILL.md +3 -3
  340. package/skills/mono-agent-composer/references/config-blueprint.md +41 -22
  341. package/skills/mono-agent-composer/references/discovery-questions.md +4 -4
  342. package/skills/mono-agent-composer/references/feature-coverage.md +14 -14
  343. package/skills/mono-agent-composer/references/package-map.md +3 -3
  344. package/skills/mono-agent-composer/references/playbooks.md +38 -20
  345. package/skills/mono-agent-composer/references/validation.md +16 -3
@@ -0,0 +1,160 @@
1
+ import { loadAppCoreConfig } from "./app-config.js";
2
+ import { traceMemoryHealthFromBujo, unknownBujoMemoryHealth, unknownNoMemoryHealth, } from "./app-controller-utils.js";
3
+ const MIN_MEMORY_HEALTH_REFRESH_INTERVAL_MS = 30_000;
4
+ export function refreshMemoryHealthSnapshot(controller, reason, lifecycleForce = false) {
5
+ if (controller.stopped) {
6
+ return Promise.resolve(controller.memoryHealthValue);
7
+ }
8
+ if (controller.memoryHealthRefreshInFlight !== undefined) {
9
+ return controller.memoryHealthRefreshInFlight;
10
+ }
11
+ const forced = lifecycleForce || controller.memoryHealthRefreshDue;
12
+ if (!forced && controller.memoryHealthLastCompletedAtMs !== undefined
13
+ && performance.now() - controller.memoryHealthLastCompletedAtMs < MIN_MEMORY_HEALTH_REFRESH_INTERVAL_MS) {
14
+ return Promise.resolve(controller.memoryHealthValue);
15
+ }
16
+ const generation = controller.memoryHealthGeneration;
17
+ let pending;
18
+ pending = controller.computeMemoryHealth().then((health) => {
19
+ if (!controller.stopped && generation === controller.memoryHealthGeneration) {
20
+ controller.memoryHealthValue = health;
21
+ controller.recordMemoryHealthCompletion(generation);
22
+ return health;
23
+ }
24
+ return controller.memoryHealthValue;
25
+ }).catch(() => {
26
+ const health = controller.memoryHealthValue.backend === "bujo"
27
+ ? unknownBujoMemoryHealth(controller.memoryHealthValue.mode)
28
+ : controller.memoryHealthValue.backend === "supermemory"
29
+ ? {
30
+ backend: "supermemory",
31
+ status: "unknown",
32
+ checkedAt: new Date().toISOString(),
33
+ }
34
+ : unknownNoMemoryHealth();
35
+ if (!controller.stopped && generation === controller.memoryHealthGeneration) {
36
+ controller.memoryHealthValue = health;
37
+ controller.recordMemoryHealthCompletion(generation);
38
+ }
39
+ controller.logger?.warn?.("Memory health refresh failed; publishing sanitized unknown health.", { reason });
40
+ return health;
41
+ }).finally(() => {
42
+ if (controller.memoryHealthRefreshInFlight === pending) {
43
+ controller.memoryHealthRefreshInFlight = undefined;
44
+ }
45
+ });
46
+ controller.memoryHealthRefreshInFlight = pending;
47
+ return pending;
48
+ }
49
+ export async function computeMemoryHealth(controller) {
50
+ let config;
51
+ try {
52
+ config = await loadAppCoreConfig({ env: controller.env, cwd: controller.cwd, configPath: controller.configReadPath });
53
+ }
54
+ catch {
55
+ return unknownNoMemoryHealth();
56
+ }
57
+ const memory = config.memory;
58
+ if (memory === undefined) {
59
+ return {
60
+ backend: "none",
61
+ status: "not_configured",
62
+ checkedAt: new Date().toISOString(),
63
+ };
64
+ }
65
+ if ((memory.backend ?? "bujo") === "supermemory") {
66
+ return {
67
+ backend: "supermemory",
68
+ status: "unknown",
69
+ checkedAt: new Date().toISOString(),
70
+ };
71
+ }
72
+ try {
73
+ const { auditBujoMemoryHealth } = await import("@mono-agent/memory/bujo");
74
+ return traceMemoryHealthFromBujo(auditBujoMemoryHealth({
75
+ root: memory.path,
76
+ mode: memory.mode,
77
+ ...(memory.embeddings === undefined
78
+ ? {}
79
+ : {
80
+ configuredEmbeddingModel: `${memory.embeddings.provider}:${memory.embeddings.model}`,
81
+ configuredDimension: memory.embeddings.dim ?? 768,
82
+ }),
83
+ }));
84
+ }
85
+ catch {
86
+ return unknownBujoMemoryHealth(memory.mode);
87
+ }
88
+ }
89
+ export function startMemoryHealthRefreshLoop(controller, intervalMs) {
90
+ controller.memoryHealthRefreshLoopActive = true;
91
+ controller.memoryHealthRefreshIntervalMs = intervalMs;
92
+ controller.scheduleMemoryHealthRefresh();
93
+ }
94
+ export function scheduleMemoryHealthRefresh(controller, delayOverrideMs) {
95
+ controller.clearMemoryHealthRefreshTimer();
96
+ if (!controller.memoryHealthRefreshLoopActive || controller.stopped || controller.traceSource === undefined)
97
+ return;
98
+ const elapsed = controller.memoryHealthLastCompletedAtMs === undefined
99
+ ? controller.memoryHealthRefreshIntervalMs
100
+ : Math.max(0, performance.now() - controller.memoryHealthLastCompletedAtMs);
101
+ const delay = delayOverrideMs ?? Math.max(0, controller.memoryHealthRefreshIntervalMs - elapsed);
102
+ controller.memoryHealthRefreshTimer = setTimeout(() => {
103
+ controller.memoryHealthRefreshTimer = undefined;
104
+ controller.refreshMemoryHealthOnTimer();
105
+ }, delay);
106
+ controller.memoryHealthRefreshTimer.unref?.();
107
+ }
108
+ export function recordMemoryHealthCompletion(controller, generation) {
109
+ if (controller.stopped || generation !== controller.memoryHealthGeneration)
110
+ return;
111
+ controller.memoryHealthLastCompletedAtMs = performance.now();
112
+ // Any full audit that was already running when the timer became due
113
+ // satisfies that due tick; never queue an immediate second audit.
114
+ controller.memoryHealthRefreshDue = false;
115
+ controller.scheduleMemoryHealthRefresh(controller.memoryHealthRefreshIntervalMs);
116
+ }
117
+ export function refreshMemoryHealthOnTimer(controller) {
118
+ if (controller.stopped)
119
+ return;
120
+ if (controller.memoryHealthLastCompletedAtMs !== undefined) {
121
+ const elapsed = performance.now() - controller.memoryHealthLastCompletedAtMs;
122
+ if (elapsed < controller.memoryHealthRefreshIntervalMs) {
123
+ controller.scheduleMemoryHealthRefresh();
124
+ return;
125
+ }
126
+ }
127
+ // Set the due bit before joining the trace single-flight. If a publication
128
+ // is already active it consumes one bounded trailing replay rather than
129
+ // dropping this tick and waiting another full interval.
130
+ controller.memoryHealthRefreshDue = true;
131
+ void controller.refreshTraceSource("memory-health-periodic").catch(() => undefined);
132
+ }
133
+ export async function refreshMemoryHealthAfterLifecycle(controller, reason) {
134
+ if (controller.stopped)
135
+ return;
136
+ const generation = controller.memoryHealthGeneration;
137
+ const joinedExistingAudit = controller.memoryHealthRefreshInFlight !== undefined;
138
+ await controller.refreshMemoryHealthSnapshot(reason, true);
139
+ if (joinedExistingAudit && !controller.stopped && generation === controller.memoryHealthGeneration) {
140
+ await controller.refreshMemoryHealthSnapshot(reason, true);
141
+ }
142
+ if (controller.stopped || generation !== controller.memoryHealthGeneration)
143
+ return;
144
+ await controller.refreshTraceSource(reason);
145
+ }
146
+ export function clearMemoryHealthRefreshTimer(controller) {
147
+ if (controller.memoryHealthRefreshTimer !== undefined) {
148
+ clearTimeout(controller.memoryHealthRefreshTimer);
149
+ controller.memoryHealthRefreshTimer = undefined;
150
+ }
151
+ }
152
+ export function invalidateMemoryHealthRefresh(controller) {
153
+ controller.memoryHealthRefreshLoopActive = false;
154
+ controller.clearMemoryHealthRefreshTimer();
155
+ controller.memoryHealthGeneration += 1;
156
+ controller.memoryHealthRefreshInFlight = undefined;
157
+ controller.memoryHealthLastCompletedAtMs = undefined;
158
+ controller.memoryHealthRefreshDue = false;
159
+ }
160
+ //# sourceMappingURL=app-controller-memory-health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-controller-memory-health.js","sourceRoot":"","sources":["../src/app-controller-memory-health.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { MonoAgentConfig } from "@mono-agent/config";
2
+ import { createConfiguredMemory } from "./configured-agent.js";
3
+ import { MemoryRetrievalService } from "./memory-retrieval.js";
4
+ import type { MonoAgentAppController } from "./app-controller.js";
5
+ export declare function memoryStore(controller: MonoAgentAppController, coreConfig: MonoAgentConfig): Promise<Awaited<ReturnType<typeof createConfiguredMemory>>>;
6
+ export declare function resetSharedMemory(controller: MonoAgentAppController): Promise<void>;
7
+ export declare function __setSharedMemoryForTest(controller: MonoAgentAppController, store: Awaited<ReturnType<typeof createConfiguredMemory>>): void;
8
+ export declare function ensureSharedMemoryRetrieval(controller: MonoAgentAppController, coreConfig: MonoAgentConfig, store: Awaited<ReturnType<typeof createConfiguredMemory>>): MemoryRetrievalService | undefined;
9
+ //# sourceMappingURL=app-controller-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-controller-memory.d.ts","sourceRoot":"","sources":["../src/app-controller-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAuB,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,wBAAsB,WAAW,CAC/B,UAAU,EAAE,sBAAsB,EAClC,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CA8C7D;AAED,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBzF;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,GAAG,IAAI,CAI5I;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,sBAAsB,EAClC,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,GACxD,sBAAsB,GAAG,SAAS,CAQpC"}
@@ -0,0 +1,83 @@
1
+ import { createConfiguredMemory } from "./configured-agent.js";
2
+ import { isSharedRecallStore, MemoryRetrievalService } from "./memory-retrieval.js";
3
+ export async function memoryStore(controller, coreConfig) {
4
+ if (controller.sharedMemoryBuilt) {
5
+ return controller.sharedMemory;
6
+ }
7
+ if (controller.sharedMemoryBuild !== undefined) {
8
+ return await controller.sharedMemoryBuild;
9
+ }
10
+ controller.sharedMemoryBuild = (async () => {
11
+ const appLogger = controller.logger;
12
+ const logger = appLogger?.warn !== undefined
13
+ ? { warn: (message) => { appLogger.warn?.(message); } }
14
+ : undefined;
15
+ // Thread the per-app observability context so the bujo memory LLM records
16
+ // capture and consolidation runs through the same JSONL + Phoenix pipeline
17
+ // as channel runs (gated by `memory.llm.trace`, default on). The context is
18
+ // per-app (not per-request), so caching it into the shared store is correct.
19
+ //
20
+ // The channel runtime is intentionally NOT passed: the memory LLM must run
21
+ // on `config.memory.llm.model`, but the channel runtime carries the channel
22
+ // fallback chain whose primary is `config.runtime.model` and the fallback
23
+ // router overrides each run's per-call model. createConfiguredMemory builds
24
+ // the memory LLM its own fallback-free runtime when no `memoryRuntime` is set.
25
+ const observabilityContext = await controller.observabilityContext();
26
+ const observability = {
27
+ observabilityContext,
28
+ exporterWarn: (warning) => controller.recordExporterWarning(warning),
29
+ runEventSink: controller.liveEventBus,
30
+ };
31
+ controller.sharedMemory = await createConfiguredMemory(coreConfig, {
32
+ cwd: controller.cwd,
33
+ // A managed worker receives a launch-attested snapshot and an exact
34
+ // plugin closure beside agent-app. Never let mutable agent-local
35
+ // node_modules replace that copied closure after launch.
36
+ preferAppPluginInstall: controller.backgroundSnapshot !== undefined,
37
+ ...(logger === undefined ? {} : { logger }),
38
+ observability,
39
+ });
40
+ controller.ensureSharedMemoryRetrieval(coreConfig, controller.sharedMemory);
41
+ controller.sharedMemoryBuilt = true;
42
+ return controller.sharedMemory;
43
+ })();
44
+ try {
45
+ return await controller.sharedMemoryBuild;
46
+ }
47
+ finally {
48
+ controller.sharedMemoryBuild = undefined;
49
+ }
50
+ }
51
+ export async function resetSharedMemory(controller) {
52
+ const mem = controller.sharedMemory;
53
+ controller.sharedMemory = undefined;
54
+ controller.sharedMemoryRetrieval?.releaseAllTurns();
55
+ controller.sharedMemoryRetrieval = undefined;
56
+ controller.sharedMemoryBuilt = false;
57
+ controller.sharedMemoryBuild = undefined;
58
+ if (mem?.close !== undefined) {
59
+ await Promise.resolve(mem.close()).catch(() => undefined);
60
+ }
61
+ else if (mem?.flush !== undefined) {
62
+ // Stores without a lifecycle-aware close retain the legacy best-effort
63
+ // drain. BuJo close owns its bounded shutdown deadline itself.
64
+ await Promise.resolve(mem.flush()).catch(() => undefined);
65
+ }
66
+ }
67
+ export function __setSharedMemoryForTest(controller, store) {
68
+ controller.sharedMemory = store;
69
+ controller.sharedMemoryRetrieval = undefined;
70
+ controller.sharedMemoryBuilt = true;
71
+ }
72
+ export function ensureSharedMemoryRetrieval(controller, coreConfig, store) {
73
+ if (controller.sharedMemoryRetrieval !== undefined)
74
+ return controller.sharedMemoryRetrieval;
75
+ if (coreConfig.memory === undefined || !isSharedRecallStore(store))
76
+ return undefined;
77
+ controller.sharedMemoryRetrieval = new MemoryRetrievalService(store, {
78
+ maxBytes: coreConfig.memory.maxBytes,
79
+ source: (coreConfig.memory.backend ?? "bujo") === "supermemory" ? "supermemory" : "memory-bujo",
80
+ });
81
+ return controller.sharedMemoryRetrieval;
82
+ }
83
+ //# sourceMappingURL=app-controller-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-controller-memory.js","sourceRoot":"","sources":["../src/app-controller-memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { MonoAgentConfig } from "@mono-agent/config";
2
+ import type { AgentResponder } from "@mono-agent/agent-contracts";
3
+ import type { MonoRuntimeLike, RuntimeModelReference } from "@mono-agent/runtime-adapter";
4
+ import { type RuntimeOptionsExtension } from "./runtime-option-extensions.js";
5
+ import type { MonoAgentAppController } from "./app-controller.js";
6
+ export declare function buildResponder(controller: MonoAgentAppController, coreConfig: MonoAgentConfig): Promise<AgentResponder>;
7
+ export declare function requestModelOverrideRuntimeOptions(controller: MonoAgentAppController, coreConfig: MonoAgentConfig, compatibility: {
8
+ readonly mcpSources: readonly string[];
9
+ readonly indexSkillsActive: boolean;
10
+ }): {
11
+ readonly extension: RuntimeOptionsExtension;
12
+ readonly targetsDirectOpenCode: (metadata: Record<string, unknown> | undefined) => boolean;
13
+ };
14
+ export declare function buildRuntimeForModel(controller: MonoAgentAppController, coreConfig: MonoAgentConfig): (model: RuntimeModelReference, executionMode?: string) => MonoRuntimeLike;
15
+ export declare function supermemoryMcpRuntimeOptions(controller: MonoAgentAppController, coreConfig: MonoAgentConfig): RuntimeOptionsExtension | undefined;
16
+ export declare function adapterSendToolsRuntimeOptions(controller: MonoAgentAppController, coreConfig: MonoAgentConfig): Promise<{
17
+ readonly createExtension?: (targetsDirectOpenCode: (metadata: Record<string, unknown> | undefined) => boolean) => RuntimeOptionsExtension;
18
+ readonly blockingToolNames: readonly string[];
19
+ }>;
20
+ //# sourceMappingURL=app-controller-responder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-controller-responder.d.ts","sourceRoot":"","sources":["../src/app-controller-responder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAc1F,OAAO,EAAkC,KAAK,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAgB9G,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,wBAAsB,cAAc,CAAC,UAAU,EAAE,sBAAsB,EAAE,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA8H7H;AAED,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,sBAAsB,EAClC,UAAU,EAAE,eAAe,EAC3B,aAAa,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE,GAC7F;IACD,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAAK,OAAO,CAAC;CAC5F,CAoBA;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,sBAAsB,EAClC,UAAU,EAAE,eAAe,GAC1B,CAAC,KAAK,EAAE,qBAAqB,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,eAAe,CAkB3E;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,sBAAsB,EAAE,UAAU,EAAE,eAAe,GAAG,uBAAuB,GAAG,SAAS,CAqBjJ;AAED,wBAAsB,8BAA8B,CAAC,UAAU,EAAE,sBAAsB,EAAE,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC;IAC7H,QAAQ,CAAC,eAAe,CAAC,EAAE,CACzB,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAAK,OAAO,KAC9E,uBAAuB,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C,CAAC,CAqDD"}
@@ -0,0 +1,246 @@
1
+ import { resolve } from "node:path";
2
+ import { loadToolPolicyFromJsonFileSync } from "@mono-agent/agent-harness";
3
+ import { modelReferenceKey } from "@mono-agent/runtime-adapter";
4
+ import { resolveAppArtifactDir } from "./app-config.js";
5
+ import { createConfiguredAgentResponderForApp, createConfiguredAgentRuntime, DEFAULT_HISTORY_MAX_MESSAGES, } from "./configured-agent.js";
6
+ import { adapterSendToolNames, createAdapterSendToolsRuntimeExtension, resolveAdapterSendToolsSettings, } from "./adapter-send-tools.js";
7
+ import { composeRuntimeOptionExtensions } from "./runtime-option-extensions.js";
8
+ import { createLocalConfigurationRuntimeExtension } from "./local-configuration.js";
9
+ import { createRunHistoryRuntimeExtension, isRunHistoryToolAllowed } from "./run-history.js";
10
+ import { createRequestModelOverrideRuntimeExtension, requestModelOverrideTargetsDirectOpenCode, } from "./request-model-override.js";
11
+ import { resolvePostedMessageIndexPath } from "./posted-message-index.js";
12
+ import { configuredRuntimeFallbackModels, hasConfiguredRuntimeFallbacks } from "./runtime-routes.js";
13
+ import { isNotifyDestinationConversationId } from "./notify-destinations.js";
14
+ import { createSlackPostedReplyHistory } from "./posted-reply-history.js";
15
+ import { isInteractionToolName, reasonOf, runtimeRouteContainsDirectOpenCode, } from "./app-controller-utils.js";
16
+ export async function buildResponder(controller, coreConfig) {
17
+ const runtime = controller.runtime ?? createConfiguredAgentRuntime(coreConfig);
18
+ if (!controller.activeRuntimes.includes(runtime)) {
19
+ controller.activeRuntimes.push(runtime);
20
+ }
21
+ const memoryBackend = await controller.memoryStore(coreConfig);
22
+ const memoryRetrieval = controller.ensureSharedMemoryRetrieval(coreConfig, memoryBackend);
23
+ const memory = memoryRetrieval ?? memoryBackend;
24
+ const memoryRecallEnabled = controller.reportMemoryRecallStatus(coreConfig, memoryRetrieval);
25
+ const supermemoryMcp = controller.supermemoryMcpRuntimeOptions(coreConfig);
26
+ const adapterSendTools = await controller.adapterSendToolsRuntimeOptions(coreConfig);
27
+ const runHistoryBase = isRunHistoryToolAllowed(coreConfig.tools)
28
+ && !runtimeRouteContainsDirectOpenCode(coreConfig)
29
+ ? createRunHistoryRuntimeExtension({
30
+ artifactDir: coreConfig.artifacts.dir,
31
+ onUnavailable: (error) => {
32
+ controller.logger?.warn?.("RunHistory tool endpoint could not start; continuing without prior-run inspection.", {
33
+ reason: reasonOf(error),
34
+ });
35
+ },
36
+ })
37
+ : undefined;
38
+ // Always active: a no-op for interactive turns (which carry no cron/webhook
39
+ // metadata), it applies the per-trigger model/effort override otherwise.
40
+ const mcpSources = [];
41
+ if (coreConfig.tools.mcpConfigPath !== undefined) {
42
+ try {
43
+ const names = Object.keys(loadToolPolicyFromJsonFileSync(coreConfig.tools.mcpConfigPath).mcpServers ?? {});
44
+ if (names.length > 0)
45
+ mcpSources.push(`tools.mcpConfigPath (${names.join(", ")})`);
46
+ }
47
+ catch {
48
+ // Responder construction owns the missing/malformed policy error.
49
+ }
50
+ }
51
+ if (memoryRecallEnabled)
52
+ mcpSources.push("memory.recallTool");
53
+ if (supermemoryMcp !== undefined)
54
+ mcpSources.push("memory.supermemory.exposeMcpServer");
55
+ if (adapterSendTools.blockingToolNames.length > 0) {
56
+ mcpSources.push(`adapter send tools (${adapterSendTools.blockingToolNames.join(", ")})`);
57
+ }
58
+ const requestModelOverride = controller.requestModelOverrideRuntimeOptions(coreConfig, {
59
+ mcpSources,
60
+ indexSkillsActive: coreConfig.context.skillDisclosure === "index"
61
+ && coreConfig.context.skillsRoot !== undefined,
62
+ });
63
+ const adapterSendToolsExtension = adapterSendTools.createExtension?.(requestModelOverride.targetsDirectOpenCode);
64
+ const runHistoryExtension = runHistoryBase === undefined
65
+ ? undefined
66
+ : async (requestInput) => requestModelOverride.targetsDirectOpenCode(requestInput.request.metadata)
67
+ ? { runtimeOptions: {}, cleanup: async () => { } }
68
+ : await runHistoryBase(requestInput);
69
+ const localConfigurationExtension = createLocalConfigurationRuntimeExtension({
70
+ cwd: controller.cwd,
71
+ configPath: controller.configPath,
72
+ configReadPath: controller.configReadPath,
73
+ env: controller.env,
74
+ });
75
+ const runtimeOptionsForRequest = composeRuntimeOptionExtensions([
76
+ supermemoryMcp,
77
+ runHistoryExtension,
78
+ adapterSendToolsExtension,
79
+ requestModelOverride.extension,
80
+ // Last and authoritative: only an opaque owner-created configuration
81
+ // session can replace the daemon's ordinary action/MCP surface.
82
+ localConfigurationExtension,
83
+ ]);
84
+ // The override factory is only needed when fallbacks are configured: the
85
+ // fallback router freezes the model chain, so an override must run on a runtime
86
+ // whose chain has it as primary. With no fallbacks the shared (plain) runtime
87
+ // honors the per-run model directly, so building a separate runtime would be
88
+ // redundant. Omit the factory there and the harness uses the shared runtime.
89
+ const runtimeForModel = hasConfiguredRuntimeFallbacks(coreConfig.runtime)
90
+ ? controller.buildRuntimeForModel(coreConfig)
91
+ : undefined;
92
+ const observabilityContext = await controller.observabilityContext();
93
+ const postedReplyHistory = createSlackPostedReplyHistory({
94
+ maxMessages: DEFAULT_HISTORY_MAX_MESSAGES,
95
+ ...(coreConfig.runtime.session.rollover === undefined
96
+ ? {}
97
+ : { rollover: coreConfig.runtime.session.rollover }),
98
+ ...(coreConfig.runtime.session.rolloverTimezone === undefined
99
+ ? {}
100
+ : { rolloverTimezone: coreConfig.runtime.session.rolloverTimezone }),
101
+ });
102
+ const responder = await createConfiguredAgentResponderForApp({
103
+ config: coreConfig,
104
+ cwd: controller.cwd,
105
+ runtime,
106
+ ...(runtimeForModel === undefined ? {} : { runtimeForModel }),
107
+ ...(controller.sandboxEngine === undefined ? {} : { sandboxEngine: controller.sandboxEngine }),
108
+ ...(memory !== undefined && { memory }),
109
+ ...(controller.interactionBridge === undefined ? {} : { turnHistoryEnricher: controller.interactionBridge }),
110
+ ...(controller.interactionBridge === undefined ? {} : { progressCapabilityIssuer: controller.interactionBridge }),
111
+ ...(controller.continuationService === undefined
112
+ ? {}
113
+ : { continuationCapabilityIssuer: controller.continuationService }),
114
+ ...(runtimeOptionsForRequest === undefined ? {} : { runtimeOptionsForRequest }),
115
+ onMemoryRecallUnavailable: (error) => {
116
+ controller.logger?.warn?.("MemoryRecall tool endpoint could not start; continuing without the explicit tool.", { error: reasonOf(error) });
117
+ },
118
+ onMemoryWarning: (message) => {
119
+ controller.logger?.warn?.(message);
120
+ },
121
+ // Thread run-identifying context onto exported spans and surface per-run
122
+ // export warnings to `exporterStatus` (agent-host only builds the exporter
123
+ // when config.observability.exporters is non-empty).
124
+ observabilityContext,
125
+ exporterWarn: (warning) => controller.recordExporterWarning(warning),
126
+ onSessionEvent: (event) => controller.recordSessionEvent(event, coreConfig),
127
+ // Publish every run's start/event/finish to the shared bus so the `live`
128
+ // channel can relay it. Best-effort + additive (see broadcast recorder).
129
+ runEventSink: controller.liveEventBus,
130
+ }, {
131
+ wrapHistoryStore: postedReplyHistory.wrapHistoryStore,
132
+ // Follow the local JSONL source of truth, not outer live/exporter work:
133
+ // exporter start/finish may still be pending after the summary commits.
134
+ onRunArtifactCommitted: ({ conversationId }) => {
135
+ if (isNotifyDestinationConversationId(conversationId)) {
136
+ controller.seenNotifyDestinations.invalidate();
137
+ }
138
+ },
139
+ });
140
+ return postedReplyHistory.wrapResponder(responder);
141
+ }
142
+ export function requestModelOverrideRuntimeOptions(controller, coreConfig, compatibility) {
143
+ const options = {
144
+ ...(controller.logger === undefined ? {} : { logger: controller.logger }),
145
+ baseModel: coreConfig.runtime.model,
146
+ ...(configuredRuntimeFallbackModels(coreConfig.runtime).length === 0
147
+ ? {}
148
+ : { fallbackModels: configuredRuntimeFallbackModels(coreConfig.runtime) }),
149
+ ...(coreConfig.runtime.effort === undefined ? {} : { baseEffort: coreConfig.runtime.effort }),
150
+ ...(coreConfig.runtime.maxTurns === undefined ? {} : { baseMaxTurns: coreConfig.runtime.maxTurns }),
151
+ ...(compatibility.mcpSources.length === 0 ? {} : { mcpSources: compatibility.mcpSources }),
152
+ ...(compatibility.indexSkillsActive ? { indexSkillsActive: true } : {}),
153
+ ...(coreConfig.sandbox === undefined ? {} : { sandboxPolicy: coreConfig.sandbox }),
154
+ toolPolicy: coreConfig.tools,
155
+ ...(coreConfig.providers?.local === undefined ? {} : { localProviders: coreConfig.providers.local }),
156
+ };
157
+ const extension = createRequestModelOverrideRuntimeExtension(options);
158
+ return {
159
+ extension: async (input) => extension({ request: input.request }),
160
+ targetsDirectOpenCode: (metadata) => requestModelOverrideTargetsDirectOpenCode(metadata, options),
161
+ };
162
+ }
163
+ export function buildRuntimeForModel(controller, coreConfig) {
164
+ const cache = new Map();
165
+ return (model, executionMode) => {
166
+ const key = `${modelReferenceKey(model)}|${executionMode ?? ""}`;
167
+ const cached = cache.get(key);
168
+ if (cached !== undefined) {
169
+ return cached;
170
+ }
171
+ const runtime = createConfiguredAgentRuntime({
172
+ config: coreConfig,
173
+ model,
174
+ ...(executionMode === undefined ? {} : { executionMode }),
175
+ ...(controller.sandboxEngine === undefined ? {} : { sandboxEngine: controller.sandboxEngine }),
176
+ });
177
+ cache.set(key, runtime);
178
+ controller.activeRuntimes.push(runtime);
179
+ return runtime;
180
+ };
181
+ }
182
+ export function supermemoryMcpRuntimeOptions(controller, coreConfig) {
183
+ const memory = coreConfig.memory;
184
+ if (memory?.backend !== "supermemory" || memory.supermemory?.exposeMcpServer !== true) {
185
+ return undefined;
186
+ }
187
+ const apiKey = memory.supermemory.apiKey;
188
+ if (apiKey === undefined) {
189
+ controller.logger?.warn?.("memory.supermemory.exposeMcpServer is on but no apiKey is set; the hosted Supermemory MCP server (cloud-only) was not injected.");
190
+ return undefined;
191
+ }
192
+ controller.logger?.info?.("Supermemory hosted MCP server injected (cloud-only).");
193
+ const entry = {
194
+ supermemory: {
195
+ type: "http",
196
+ url: "https://mcp.supermemory.ai/mcp",
197
+ headers: { Authorization: `Bearer ${apiKey}` },
198
+ },
199
+ };
200
+ return async () => ({ runtimeOptions: { mcpServers: entry }, cleanup: async () => { } });
201
+ }
202
+ export async function adapterSendToolsRuntimeOptions(controller, coreConfig) {
203
+ const input = { env: controller.env, cwd: controller.cwd, configPath: controller.configReadPath };
204
+ const bridgeEnv = controller.interactionBridge?.env();
205
+ const appOwnedInteraction = controller.interactionBridge === undefined || bridgeEnv === undefined
206
+ ? undefined
207
+ : {
208
+ bridgeUrl: controller.interactionBridge.url,
209
+ bridgeToken: controller.interactionBridge.token,
210
+ timeoutMs: Number(bridgeEnv.MONO_AGENT_ASK_USER_TIMEOUT_MS),
211
+ };
212
+ const settings = await resolveAdapterSendToolsSettings(input, {
213
+ allowedTools: coreConfig.tools.allowedTools,
214
+ disallowedTools: coreConfig.tools.disallowedTools,
215
+ logger: controller.logger,
216
+ suppressInteractionTools: runtimeRouteContainsDirectOpenCode(coreConfig),
217
+ ...(appOwnedInteraction === undefined ? {} : { interaction: appOwnedInteraction }),
218
+ });
219
+ if (settings === undefined) {
220
+ return { blockingToolNames: [] };
221
+ }
222
+ const toolNames = adapterSendToolNames(settings);
223
+ const blockingToolNames = toolNames.filter((name) => !isInteractionToolName(name));
224
+ controller.logger?.info?.("Adapter send tools enabled.", { tools: toolNames });
225
+ // Forward the posted-message index path so `SlackSendMessage` links each post
226
+ // back to the producing conversation (so a later in-thread reply resumes it).
227
+ const indexPath = resolvePostedMessageIndexPath(await resolveAppArtifactDir(input));
228
+ const interactionForChild = settings.askUser ?? settings.telegram?.askBridge;
229
+ const runOutputRoot = settings.telegram?.sendTools?.pathScope === "run-output"
230
+ ? resolve(coreConfig.artifacts.dir, "outbound")
231
+ : undefined;
232
+ const createExtension = (targetsDirectOpenCode) => async (requestInput) => {
233
+ const effectiveToolNames = targetsDirectOpenCode(requestInput.request.metadata)
234
+ ? toolNames.filter((name) => !isInteractionToolName(name))
235
+ : toolNames;
236
+ if (effectiveToolNames.length === 0) {
237
+ return { runtimeOptions: {}, cleanup: async () => { } };
238
+ }
239
+ const effectiveInteraction = effectiveToolNames.some(isInteractionToolName)
240
+ ? interactionForChild
241
+ : undefined;
242
+ return await createAdapterSendToolsRuntimeExtension(controller.configReadPath, controller.cwd, effectiveToolNames, indexPath, effectiveInteraction, runOutputRoot, controller.interactionBridge)(requestInput);
243
+ };
244
+ return { createExtension, blockingToolNames };
245
+ }
246
+ //# sourceMappingURL=app-controller-responder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-controller-responder.js","sourceRoot":"","sources":["../src/app-controller-responder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { MonoAgentConfig } from "@mono-agent/config";
2
+ import type { ConfiguredAgentSessionEvent } from "./configured-agent.js";
3
+ import type { MemoryRetrievalService } from "./memory-retrieval.js";
4
+ import type { ExporterStatus, MonoAgentAppController, SandboxStatus, TraceabilityStatus } from "./app-controller.js";
5
+ export declare function startTraceability(controller: MonoAgentAppController, reason: string): Promise<TraceabilityStatus>;
6
+ export declare function refreshSandboxStatus(controller: MonoAgentAppController, reason: string): Promise<SandboxStatus>;
7
+ export declare function reconcileStaleRunsOnce(controller: MonoAgentAppController, artifactDir: string): Promise<void>;
8
+ export declare function startExporters(controller: MonoAgentAppController, reason: string): Promise<ExporterStatus>;
9
+ export declare function recordExporterWarning(controller: MonoAgentAppController, warning: {
10
+ phase: string;
11
+ message: string;
12
+ }): void;
13
+ export declare function refreshTraceSource(controller: MonoAgentAppController, reason: string): Promise<void>;
14
+ export declare function observabilityContext(controller: MonoAgentAppController): Promise<{
15
+ readonly sourceId?: string;
16
+ readonly sourceLabel?: string;
17
+ readonly configPath?: string;
18
+ }>;
19
+ export declare function reportMemoryRecallStatus(controller: MonoAgentAppController, coreConfig: MonoAgentConfig, service: MemoryRetrievalService | undefined): boolean;
20
+ export declare function stopTraceSource(controller: MonoAgentAppController, reason: string): Promise<void>;
21
+ export declare function refreshSelectedSkillsSnapshot(controller: MonoAgentAppController, reason: string): Promise<void>;
22
+ export declare function rememberSelectedSkills(controller: MonoAgentAppController, coreConfig: MonoAgentConfig): void;
23
+ export declare function recordSessionEvent(controller: MonoAgentAppController, event: ConfiguredAgentSessionEvent, coreConfig: MonoAgentConfig): void;
24
+ export declare function traceMetadata(controller: MonoAgentAppController, reason: string): Record<string, unknown>;
25
+ //# sourceMappingURL=app-controller-traceability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-controller-traceability.d.ts","sourceRoot":"","sources":["../src/app-controller-traceability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAsB1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAMpE,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAgB7B,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoEvH;AAED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAyBrH;AAED,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBnH;AAED,wBAAsB,cAAc,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAkChH;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,sBAAsB,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAe3H;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyEpG;AAED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,sBAAsB,GAAG,OAAO,CAAC;IACtF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC,CAOD;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,sBAAsB,EAClC,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE,sBAAsB,GAAG,SAAS,GAC1C,OAAO,CAaT;AAED,wBAAsB,eAAe,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BvG;AAED,wBAAsB,6BAA6B,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQrH;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,sBAAsB,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAE5G;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,sBAAsB,EAAE,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CA6B5I;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyDzG"}