@pixelzx/genesis 2026.6.27 → 2026.6.28

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 (1090) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-DUTWX49H.js +201 -0
  4. package/dist/abort.runtime-B1CZPj3m.js +2 -0
  5. package/dist/abort.runtime.js +1 -1
  6. package/dist/accounts-DFJuQd32.js +107 -0
  7. package/dist/accounts-VbCry_MV.js +104 -0
  8. package/dist/accounts-ZduaK0fO.js +2 -0
  9. package/dist/acp-cli-Cyqn8a7z.js +2217 -0
  10. package/dist/acp-spawn-B1O0qwkN.js +2 -0
  11. package/dist/acp-spawn-C2eEj7wR.js +1042 -0
  12. package/dist/acp-stateful-target-driver-BKL2flGw.js +89 -0
  13. package/dist/action-agents-C9zs0A_N.js +67 -0
  14. package/dist/action-focus-Dj2trHbP.js +132 -0
  15. package/dist/action-help-ENFS-VRC.js +7 -0
  16. package/dist/action-info-IKxta-Me.js +101 -0
  17. package/dist/action-kill-CJGjsHX-.js +33 -0
  18. package/dist/action-list-ChLdMXon.js +21 -0
  19. package/dist/action-log-CdeugqCO.js +30 -0
  20. package/dist/action-send-BvUjnmVw.js +39 -0
  21. package/dist/action-spawn-Xq0DpbW7.js +47 -0
  22. package/dist/action-unfocus-DfcihOhT.js +29 -0
  23. package/dist/actions.runtime-CTjuTpQ1.js +18 -0
  24. package/dist/actions.runtime-Dp93aqpg.js +5 -0
  25. package/dist/actions.runtime.js +1 -1
  26. package/dist/agent-DQZeYp3u.js +2 -0
  27. package/dist/agent-command-CynPQd5_.js +874 -0
  28. package/dist/agent-harness-runtime-D9PrghSe.js +144 -0
  29. package/dist/agent-runner-utils-CwDT31Pp.js +239 -0
  30. package/dist/agent-runner.runtime-kH3GCoKg.js +3443 -0
  31. package/dist/agent-runner.runtime.js +1 -1
  32. package/dist/agent-runtime-BSwK1sup.js +18 -0
  33. package/dist/agents-C9BmPj-C.js +954 -0
  34. package/dist/agents-CQQ7cNF9.js +5 -0
  35. package/dist/aliases-B92uAzO2.js +2 -0
  36. package/dist/aliases-BZsZGqVQ.js +96 -0
  37. package/dist/api-CU22wCTp.js +139 -0
  38. package/dist/api-DD_eTeli.js +5 -0
  39. package/dist/api-sngIL0OQ.js +3 -0
  40. package/dist/approval-gateway-resolver-KouhItZO.js +29 -0
  41. package/dist/approval-gateway-runtime-D7CzOIgq.js +2 -0
  42. package/dist/approval-handler-runtime-CFvI_pZS.js +439 -0
  43. package/dist/approval-native-runtime-rl6s6chH.js +729 -0
  44. package/dist/attempt-execution.runtime-Ba87IenS.js +509 -0
  45. package/dist/attempt-execution.runtime.js +1 -1
  46. package/dist/attempt.prompt-helpers-BbBNMjqU.js +206 -0
  47. package/dist/attempt.tool-run-context-CLlg_9Gq.js +933 -0
  48. package/dist/audit-CQJwJFWH.js +939 -0
  49. package/dist/audit.runtime-CW5CY88A.js +7 -0
  50. package/dist/audit.runtime.js +1 -1
  51. package/dist/auth-DFhah4e4.js +2 -0
  52. package/dist/auth-order-CMWxvLX4.js +2 -0
  53. package/dist/auth-order-D6mEMqD7.js +139 -0
  54. package/dist/auth-s-3q__5n.js +550 -0
  55. package/dist/bash-tools-BCSXSkhx.js +2853 -0
  56. package/dist/bash-tools-D2NO8-ph.js +3 -0
  57. package/dist/binding-routing-DROXsDQk.js +85 -0
  58. package/dist/binding-targets-D33MkugL.js +121 -0
  59. package/dist/bridge-server-3gO7JmL_.js +113 -0
  60. package/dist/browser-control-auth-DS3Wwm1z.js +2 -0
  61. package/dist/browser-node-runtime-DkVkb3tt.js +12 -0
  62. package/dist/browser-profiles-Bk9dcXzv.js +2 -0
  63. package/dist/browser-runtime-dGM3ZeLa.js +387 -0
  64. package/dist/browser-setup-tools-DSgChJEe.js +13 -0
  65. package/dist/build-CjLf_jQl.js +550 -0
  66. package/dist/build-info.json +3 -3
  67. package/dist/bundled/boot-md/handler.js +2 -2
  68. package/dist/bundled/session-memory/handler.js +1 -1
  69. package/dist/call-BxIEVH5N.js +3 -0
  70. package/dist/call-Dwj7PrNe.js +330 -0
  71. package/dist/call.runtime-mZvFxL4G.js +2 -0
  72. package/dist/call.runtime.js +1 -1
  73. package/dist/capability-cli-C-6omBAD.js +1401 -0
  74. package/dist/catchup-Dfw4DEMS.js +300 -0
  75. package/dist/channel-4YVnFcIj.js +297 -0
  76. package/dist/channel-BajDSspb.js +1320 -0
  77. package/dist/channel-BcS5ghfF.js +840 -0
  78. package/dist/channel-BlU_cVm0.js +491 -0
  79. package/dist/channel-BmZ19q9d.js +453 -0
  80. package/dist/channel-C4KfOdTm.js +226 -0
  81. package/dist/channel-C7LNJi1M.js +595 -0
  82. package/dist/channel-CFxTIjzU.js +1174 -0
  83. package/dist/channel-CYDnIh3Z.js +350 -0
  84. package/dist/channel-DBUj2Ysq.js +1802 -0
  85. package/dist/channel-DwWdEu7o.js +1100 -0
  86. package/dist/channel-core-VlXrdyfV.js +5 -0
  87. package/dist/channel-inbound-BzALE-tz.js +31 -0
  88. package/dist/channel-plugin-runtime-BMmEKuoC.js +771 -0
  89. package/dist/channel-runtime-BZXgyMUr.js +425 -0
  90. package/dist/channel.runtime-2Kw88P7w.js +576 -0
  91. package/dist/channel.runtime-Bwnky7Bn.js +2364 -0
  92. package/dist/channel.runtime-CDvvT7UR.js +4 -0
  93. package/dist/channel.runtime-CgP4n1an.js +430 -0
  94. package/dist/channel.runtime-MJe9DoSG.js +89 -0
  95. package/dist/channel.runtime-f0WEEj3o.js +42398 -0
  96. package/dist/channel.runtime.js +1 -1
  97. package/dist/channel.setup-DaZBK_2E.js +10 -0
  98. package/dist/channel2.runtime-CfVIjEhU.js +109 -0
  99. package/dist/channel2.runtime.js +1 -1
  100. package/dist/channels-Bq1GXmZX.js +733 -0
  101. package/dist/channels-cli-DzbssQ5L.js +268 -0
  102. package/dist/chat-CNZDzOWR.js +2830 -0
  103. package/dist/clawbot-cli-UIo3UVaj.js +9 -0
  104. package/dist/cli/daemon-cli.js +3 -3
  105. package/dist/cli-BVKDWfwH.js +72 -0
  106. package/dist/cli-Bp52OQjs.js +219 -0
  107. package/dist/cli-C_289Xdv.js +2 -0
  108. package/dist/cli-kOop_NSN.js +2 -0
  109. package/dist/cli-runner-CP51WTPf.js +286 -0
  110. package/dist/cli-runner.runtime-BtArNV63.js +4 -0
  111. package/dist/cli-runner.runtime-Dy1IJ7UX.js +3 -0
  112. package/dist/cli-runner.runtime.js +1 -1
  113. package/dist/cli-startup-metadata.json +2 -2
  114. package/dist/cli.runtime-2ilydgLb.js +1261 -0
  115. package/dist/cli.runtime.js +1 -1
  116. package/dist/client-BN8cDQr7.js +723 -0
  117. package/dist/client-Doc6u1up.js +138 -0
  118. package/dist/command-auth-oo_Iz0oe.js +76 -0
  119. package/dist/command-config-resolution-BNQbV_C6.js +23 -0
  120. package/dist/command-config-resolution-DIvkjwvj.js +2 -0
  121. package/dist/command-config-resolution.runtime-Dlk7LIJ8.js +2 -0
  122. package/dist/command-config-resolution.runtime.js +1 -1
  123. package/dist/command-registry-Dm8ohcSP.js +4 -0
  124. package/dist/command-registry-core-BxyHXEQ3.js +106 -0
  125. package/dist/command-registry-xVmA85-_.js +9 -0
  126. package/dist/command-secret-gateway-Dej2E5rP.js +528 -0
  127. package/dist/command-status.runtime-CWgNMJi1.js +87 -0
  128. package/dist/command-status.runtime.js +1 -1
  129. package/dist/commands-acp-Ca0l7esb.js +77 -0
  130. package/dist/commands-compact.runtime-DBN1EALw.js +10 -0
  131. package/dist/commands-compact.runtime.js +1 -1
  132. package/dist/commands-handlers.runtime-BrCljWio.js +4599 -0
  133. package/dist/commands-handlers.runtime.js +1 -1
  134. package/dist/commands-status-C0WYf99K.js +16 -0
  135. package/dist/commands-status.runtime-Czim-9LY.js +3 -0
  136. package/dist/commands-status.runtime.js +1 -1
  137. package/dist/commands-subagents-control.runtime-CgiW2mpD.js +3 -0
  138. package/dist/commands-subagents-control.runtime-oCqEcwa7.js +2 -0
  139. package/dist/commands-subagents-control.runtime.js +1 -1
  140. package/dist/commands-system-prompt-BQHZNtSZ.js +157 -0
  141. package/dist/commands-system-prompt-ClJDN8rr.js +2 -0
  142. package/dist/commands.runtime-DwmtsbUc.js +167 -0
  143. package/dist/commands.runtime.js +1 -1
  144. package/dist/compact-DDf0xr2o.js +1096 -0
  145. package/dist/compact.runtime-C4BZuDjJ.js +12 -0
  146. package/dist/compact.runtime.js +1 -1
  147. package/dist/completion-cli-85iaysB7.js +328 -0
  148. package/dist/config-CHPRDFh1.js +252 -0
  149. package/dist/config-cli-DSZ7DNtq.js +1078 -0
  150. package/dist/configure-BR6m0uoi.js +1252 -0
  151. package/dist/configure-CC09fyLr.js +2 -0
  152. package/dist/connect-options-HotLjDKX.js +699 -0
  153. package/dist/control-auth-CBtOUnsz.js +125 -0
  154. package/dist/control-service-D2A1PyZC.js +156 -0
  155. package/dist/control-ui/assets/agents-7cSPVJV0.js +1125 -0
  156. package/dist/control-ui/assets/canvas-IIhBIoAa.js +274 -0
  157. package/dist/control-ui/assets/channel-config-extras-sj_UXv9J.js +2 -0
  158. package/dist/control-ui/assets/channels-B4MTYg8u.js +198 -0
  159. package/dist/control-ui/assets/contacts-CSch1ckf.js +49 -0
  160. package/dist/control-ui/assets/cron-B548qeSj.js +250 -0
  161. package/dist/control-ui/assets/de-DOykxjSu.js +2 -0
  162. package/dist/control-ui/assets/debug-DERT6TQG.js +94 -0
  163. package/dist/control-ui/assets/es-BTwWEPGm.js +2 -0
  164. package/dist/control-ui/assets/fr-DVRwR98L.js +2 -0
  165. package/dist/control-ui/assets/i18n-BPOQLrbx.js +3 -0
  166. package/dist/control-ui/assets/id-BSBAUAzK.js +2 -0
  167. package/dist/control-ui/assets/index-C2CxJps0.js +5981 -0
  168. package/dist/control-ui/assets/instances-DwteyRRi.js +57 -0
  169. package/dist/control-ui/assets/ja-JP-BiD5eOfG.js +2 -0
  170. package/dist/control-ui/assets/ko-BNgLBJdW.js +2 -0
  171. package/dist/control-ui/assets/logs-GdE34D7D.js +74 -0
  172. package/dist/control-ui/assets/mcp-z76x2vB5.js +380 -0
  173. package/dist/control-ui/assets/memory-CsTbP2T4.js +50 -0
  174. package/dist/control-ui/assets/memory-graph-DbZEkTHJ.js +30 -0
  175. package/dist/control-ui/assets/models-j_tXq7Pe.js +86 -0
  176. package/dist/control-ui/assets/nodes-cxO9Enln.js +654 -0
  177. package/dist/control-ui/assets/pl-DrVcqC4t.js +2 -0
  178. package/dist/control-ui/assets/plugins-Rt--bQFn.js +259 -0
  179. package/dist/control-ui/assets/presenter-BiJsRhTg.js +2 -0
  180. package/dist/control-ui/assets/preview-JrK1Lfuv.js +2 -0
  181. package/dist/control-ui/assets/pt-BR-BXlBG1WX.js +2 -0
  182. package/dist/control-ui/assets/sessions-CP6r0JAQ.js +56 -0
  183. package/dist/control-ui/assets/skills-CMy2whFb.js +294 -0
  184. package/dist/control-ui/assets/skills-shared-B-3kgWg3.js +11 -0
  185. package/dist/control-ui/assets/th-DjtYmyBR.js +2 -0
  186. package/dist/control-ui/assets/tr-I0LYx0Ew.js +2 -0
  187. package/dist/control-ui/assets/uk-xilwRRzQ.js +2 -0
  188. package/dist/control-ui/assets/wallet-geRdfgso.js +302 -0
  189. package/dist/control-ui/assets/zh-CN-DHz_bYy_.js +2 -0
  190. package/dist/control-ui/assets/zh-TW-LvBbVYeU.js +2 -0
  191. package/dist/control-ui/index.html +2 -2
  192. package/dist/control-ui-Djt0XDNa.js +1043 -0
  193. package/dist/conversation-id-BwNpVXFJ.js +235 -0
  194. package/dist/conversation-id-CTAeVE9E.js +38 -0
  195. package/dist/conversation-runtime-D6miDW4s.js +31 -0
  196. package/dist/core-CYaV0wrq.js +275 -0
  197. package/dist/cron-cli-BZacbTRu.js +713 -0
  198. package/dist/daemon-cli-BXtGpvAS.js +12 -0
  199. package/dist/dashboard-Ds7c6TJm.js +2 -0
  200. package/dist/dashboard-s1prqGuB.js +81 -0
  201. package/dist/delegate-nycMaKrd.js +64 -0
  202. package/dist/detached-task-runtime-DXFEjX_Y.js +73 -0
  203. package/dist/devices-cli-B2T4Rk-c.js +498 -0
  204. package/dist/diagnostics-669Ookpz.js +154 -0
  205. package/dist/direct-dm-Bwx0l0B5.js +64 -0
  206. package/dist/dispatch-CVFq_KHF.js +1131 -0
  207. package/dist/dispatch-acp-AeVrqG1P.js +981 -0
  208. package/dist/dispatch-acp-manager.runtime-t90xTijh.js +3 -0
  209. package/dist/dispatch-acp-manager.runtime.js +1 -1
  210. package/dist/dispatch-acp.runtime-CLS-txJr.js +19 -0
  211. package/dist/dispatch-acp.runtime.js +1 -1
  212. package/dist/doctor-device-pairing-rAiSum7F.js +307 -0
  213. package/dist/doctor-gateway-daemon-flow-BYlbRkfE.js +250 -0
  214. package/dist/doctor-gateway-health-DGaad6OP.js +63 -0
  215. package/dist/doctor-health-contributions-CYangAn3.js +493 -0
  216. package/dist/doctor-health-woICf2XW.js +59 -0
  217. package/dist/doctor-prompter-oNxd62XO.js +56 -0
  218. package/dist/doctor-workspace-status-DrOqBwKh.js +75 -0
  219. package/dist/dreaming-narrative-SeHukrla.js +596 -0
  220. package/dist/dreaming-qiznoCiH.js +1582 -0
  221. package/dist/embedded-gateway-stub.runtime-BiCMn9tm.js +9 -0
  222. package/dist/embedded-gateway-stub.runtime.js +1 -1
  223. package/dist/embeddings-http-DbBwgwsH.js +205 -0
  224. package/dist/entry.js +2 -2
  225. package/dist/exec-approvals-cli-BK9WM7tB.js +498 -0
  226. package/dist/extensionAPI.js +1 -1
  227. package/dist/extensions/active-memory/index.js +1 -1
  228. package/dist/extensions/bluebubbles/api.js +3 -3
  229. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  230. package/dist/extensions/browser/browser-bridge.js +1 -1
  231. package/dist/extensions/browser/browser-config.js +4 -4
  232. package/dist/extensions/browser/browser-control-auth.js +2 -2
  233. package/dist/extensions/browser/browser-doctor.js +2 -2
  234. package/dist/extensions/browser/browser-maintenance.js +2 -2
  235. package/dist/extensions/browser/browser-profiles.js +2 -2
  236. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  237. package/dist/extensions/browser/index.js +1 -1
  238. package/dist/extensions/browser/plugin-registration.js +1 -1
  239. package/dist/extensions/browser/register.runtime.js +3 -3
  240. package/dist/extensions/browser/runtime-api.js +11 -11
  241. package/dist/extensions/browser/test-support.js +1 -1
  242. package/dist/extensions/device-pair/api.js +1 -1
  243. package/dist/extensions/device-pair/index.js +3 -3
  244. package/dist/extensions/device-pair/notify.js +1 -1
  245. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  246. package/dist/extensions/google-meet/index.js +2 -2
  247. package/dist/extensions/imessage/api.js +3 -3
  248. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  249. package/dist/extensions/imessage/runtime-api.js +3 -3
  250. package/dist/extensions/irc/api.js +2 -2
  251. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  252. package/dist/extensions/line/api.js +2 -2
  253. package/dist/extensions/line/channel-plugin-api.js +1 -1
  254. package/dist/extensions/line/contract-api.js +1 -1
  255. package/dist/extensions/line/runtime-api.js +4 -4
  256. package/dist/extensions/line/setup-api.js +1 -1
  257. package/dist/extensions/llm-task/index.js +2 -2
  258. package/dist/extensions/lobster/index.js +3 -3
  259. package/dist/extensions/lobster/runtime-api.js +1 -1
  260. package/dist/extensions/mattermost/api.js +1 -1
  261. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  262. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  263. package/dist/extensions/mattermost/policy-api.js +1 -1
  264. package/dist/extensions/mattermost/runtime-api.js +4 -4
  265. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  266. package/dist/extensions/memory-core/api.js +1 -1
  267. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  268. package/dist/extensions/memory-core/index.js +3 -3
  269. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  270. package/dist/extensions/msteams/api.js +1 -1
  271. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  272. package/dist/extensions/msteams/runtime-api.js +3 -3
  273. package/dist/extensions/msteams/test-api.js +1 -1
  274. package/dist/extensions/nextcloud-talk/api.js +1 -1
  275. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  276. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  277. package/dist/extensions/openshell/index.js +2 -2
  278. package/dist/extensions/signal/api.js +6 -6
  279. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  280. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  281. package/dist/extensions/signal/runtime-api.js +7 -7
  282. package/dist/extensions/skill-workshop/api.js +1 -1
  283. package/dist/extensions/skill-workshop/index.js +1 -1
  284. package/dist/extensions/synology-chat/api.js +1 -1
  285. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  286. package/dist/extensions/tlon/api.js +2 -2
  287. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  288. package/dist/extensions/tlon/runtime-api.js +1 -1
  289. package/dist/extensions/tlon/test-api.js +1 -1
  290. package/dist/extensions/twitch/api.js +1 -1
  291. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  292. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  293. package/dist/extensions/zalo/api.js +3 -3
  294. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  295. package/dist/extensions/zalo/runtime-api.js +2 -2
  296. package/dist/extensions/zalo/setup-api.js +2 -2
  297. package/dist/extensions/zalouser/api.js +3 -3
  298. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  299. package/dist/extensions/zalouser/runtime-api.js +6 -6
  300. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  301. package/dist/extensions/zalouser/test-api.js +1 -1
  302. package/dist/fallbacks-BHahSac7.js +31 -0
  303. package/dist/fallbacks-CDP89dtv.js +2 -0
  304. package/dist/fallbacks-shared-h_ZN8Ugk.js +111 -0
  305. package/dist/gateway-ClYGJe6R.js +115 -0
  306. package/dist/gateway-cli-D5OEgdCv.js +1283 -0
  307. package/dist/gateway-rpc-Dk_z0RTG.js +14 -0
  308. package/dist/gateway-rpc.runtime-DcDI0Hq7.js +23 -0
  309. package/dist/gateway-rpc.runtime.js +1 -1
  310. package/dist/gateway-runtime-BpOf_2ps.js +15 -0
  311. package/dist/gateway-status-BfT8gHrq.js +584 -0
  312. package/dist/genesis-tools-Dn3v15Cu.js +9435 -0
  313. package/dist/genesis-tools.runtime-BUKXOBx4.js +2 -0
  314. package/dist/genesis-tools.runtime.js +1 -1
  315. package/dist/get-reply-BOvlxgUu.js +3946 -0
  316. package/dist/get-reply-from-config.runtime-Cl8vSh_k.js +2 -0
  317. package/dist/get-reply-from-config.runtime.js +1 -1
  318. package/dist/graph-users-DvflifYV.js +1337 -0
  319. package/dist/health-B2xJjrkJ.js +3 -0
  320. package/dist/health-CWa-e_Y6.js +420 -0
  321. package/dist/health-route-CzxBmoPR.js +41 -0
  322. package/dist/health-route-Dhbg2HGJ.js +2 -0
  323. package/dist/hooks-cli-B08Wk2kj.js +433 -0
  324. package/dist/http-endpoint-helpers-CG3AcjuK.js +41 -0
  325. package/dist/http-utils-L02eBAVo.js +924 -0
  326. package/dist/image-fallbacks-DPTpHhw_.js +2 -0
  327. package/dist/image-fallbacks-DrcfSUln.js +31 -0
  328. package/dist/inbound-reply-dispatch-D2K6Anyc.js +73 -0
  329. package/dist/index.js +2 -2
  330. package/dist/infra-runtime-Pu3jXc5f.js +38 -0
  331. package/dist/init-B2qJ52Z_.js +59 -0
  332. package/dist/library-JmPoINsm.js +45 -0
  333. package/dist/lifecycle-BRey6jez.js +229 -0
  334. package/dist/lifecycle-CvJT6tH9.js +571 -0
  335. package/dist/lifecycle.runtime-DJuQgwAu.js +2 -0
  336. package/dist/lifecycle.runtime.js +1 -1
  337. package/dist/list-0KYh_6xs.js +131 -0
  338. package/dist/list-B1iP8wTX.js +2 -0
  339. package/dist/list-CewinhHi.js +1212 -0
  340. package/dist/list-DPm9exQP.js +2 -0
  341. package/dist/list.probe-M4jUIgk8.js +419 -0
  342. package/dist/llm-slug-generator-CQiB4f0s.js +79 -0
  343. package/dist/llm-slug-generator.js +1 -1
  344. package/dist/load-config-oEWSSW5T.js +35 -0
  345. package/dist/local-dispatch.runtime-rI2L9gZz.js +8 -0
  346. package/dist/local-dispatch.runtime.js +1 -1
  347. package/dist/logs-cli-qUQbKPpd.js +265 -0
  348. package/dist/logs-cli.runtime-DZwxYUL2.js +2 -0
  349. package/dist/logs-cli.runtime.js +1 -1
  350. package/dist/main-session-restart-recovery-Dw8zndAD.js +206 -0
  351. package/dist/managed-image-attachments-B_835Hjd.js +635 -0
  352. package/dist/managed-image-attachments-Dp_0diDL.js +2 -0
  353. package/dist/manager-CRmLomjS.js +2 -0
  354. package/dist/manager-yTOglQEH.js +2057 -0
  355. package/dist/markdown-to-line-D6Y5rN1y.js +790 -0
  356. package/dist/mcp/plugin-tools-serve.js +1 -1
  357. package/dist/mcp-cli-DZi-FzRz.js +725 -0
  358. package/dist/mcp-http-DaXlqh6n.js +529 -0
  359. package/dist/memory-core-host-runtime-cli-K2SeZLMj.js +9 -0
  360. package/dist/message-Bk0q8DmN.js +232 -0
  361. package/dist/message-action-runner-BIi8DCoo.js +2 -0
  362. package/dist/message-action-runner-CmhjNg6K.js +1407 -0
  363. package/dist/message-actions-BDXFXc2E.js +143 -0
  364. package/dist/message.gateway.runtime-fPnMn6QV.js +2 -0
  365. package/dist/message.gateway.runtime.js +1 -1
  366. package/dist/method-scopes-D_AZ7OsK.js +235 -0
  367. package/dist/models-auth-status-0xcMbBhB.js +217 -0
  368. package/dist/models-cli-DuQZ09TC.js +271 -0
  369. package/dist/models-http-DruY6N81.js +92 -0
  370. package/dist/monitor-2KbmBvHU.js +2 -0
  371. package/dist/monitor-B2yQJkAh.js +1459 -0
  372. package/dist/monitor-CD4mrtqF.js +1661 -0
  373. package/dist/monitor-CJ6A4Ro2.js +788 -0
  374. package/dist/monitor-D19pDt5p.js +1237 -0
  375. package/dist/monitor-GQtwMpZn.js +671 -0
  376. package/dist/monitor-auth-DJ9S4EQV.js +207 -0
  377. package/dist/monitor-processing-BMv5voti.js +1974 -0
  378. package/dist/monitor.runtime-GizvASio.js +2 -0
  379. package/dist/monitor.runtime.js +1 -1
  380. package/dist/monitor.webhook-DzvH3io8.js +180 -0
  381. package/dist/msteams-7Jx25GW4.js +35 -0
  382. package/dist/native-hook-relay-DwgVW-el.js +519 -0
  383. package/dist/nextcloud-talk-gXnN0EKl.js +17 -0
  384. package/dist/node-cli-Bd8iT-US.js +2276 -0
  385. package/dist/nodes-cli-xAd3vxyV.js +1046 -0
  386. package/dist/nodes-utils-qg-Bmmy5.js +84 -0
  387. package/dist/nodes.helpers-B42Vi8VW.js +34 -0
  388. package/dist/notify-DArpzHFF.js +315 -0
  389. package/dist/onboard-DKr9c-h5.js +70 -0
  390. package/dist/onboard-f_tqlGVL.js +2 -0
  391. package/dist/onboard-helpers-Begz93UO.js +6 -0
  392. package/dist/onboard-helpers-Di14BUn2.js +204 -0
  393. package/dist/onboard-interactive-DjJo_FLY.js +24 -0
  394. package/dist/onboard-non-interactive-CgxwxSiw.js +635 -0
  395. package/dist/onboard-remote-BhcRxYvn.js +2 -0
  396. package/dist/onboard-remote-CEeT7hEZ.js +193 -0
  397. package/dist/onboard-skills-CTTUg6pf.js +134 -0
  398. package/dist/onboard-skills-DWTbOfH1.js +2 -0
  399. package/dist/openai-http-C2-8VSih.js +500 -0
  400. package/dist/openresponses-http-DgsTPUc1.js +1128 -0
  401. package/dist/operator-approvals-client-D1R6aLFV.js +68 -0
  402. package/dist/outbound.runtime-DDAlqr2n.js +2 -0
  403. package/dist/outbound.runtime.js +1 -1
  404. package/dist/pair-command-approve-BqXU_u3_.js +44 -0
  405. package/dist/persistent-bindings.lifecycle-0cee5HeB.js +85 -0
  406. package/dist/persistent-bindings.lifecycle-DTgwTu9k.js +2 -0
  407. package/dist/pi-embedded-BMKZLrrD.js +2905 -0
  408. package/dist/pi-embedded-C1_8L609.js +4 -0
  409. package/dist/pi-embedded.runtime-CEcUCfnu.js +4 -0
  410. package/dist/pi-embedded.runtime.js +1 -1
  411. package/dist/pi-tool-definition-adapter-B1q4cAB_.js +229 -0
  412. package/dist/pi-tools-CE3UX10v.js +1118 -0
  413. package/dist/pi-tools.before-tool-call-BsMfbO7W.js +433 -0
  414. package/dist/pi-tools.before-tool-call-DGY-rj-6.js +2 -0
  415. package/dist/plugin-dDMX1n9i.js +12195 -0
  416. package/dist/plugin-enabled-CCcxlblr.js +140 -0
  417. package/dist/plugin-registration-CTIg2xi-.js +23 -0
  418. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  419. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  420. package/dist/plugin-sdk/acp-runtime.js +2 -2
  421. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  422. package/dist/plugin-sdk/agent-harness.js +6 -6
  423. package/dist/plugin-sdk/agent-runtime.js +2 -2
  424. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  425. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  426. package/dist/plugin-sdk/approval-runtime.js +1 -1
  427. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  428. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  429. package/dist/plugin-sdk/browser-support.js +7 -7
  430. package/dist/plugin-sdk/channel-core.js +2 -2
  431. package/dist/plugin-sdk/channel-inbound.js +2 -2
  432. package/dist/plugin-sdk/command-auth.js +1 -1
  433. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  434. package/dist/plugin-sdk/compat.js +1 -1
  435. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  436. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  437. package/dist/plugin-sdk/core.js +2 -2
  438. package/dist/plugin-sdk/direct-dm.js +1 -1
  439. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  440. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  441. package/dist/plugin-sdk/index.js +1 -1
  442. package/dist/plugin-sdk/infra-runtime.js +2 -2
  443. package/dist/plugin-sdk/irc.js +2 -2
  444. package/dist/plugin-sdk/matrix.js +1 -1
  445. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  446. package/dist/plugin-sdk/memory-core.js +2 -2
  447. package/dist/plugin-sdk/msteams.js +2 -2
  448. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  449. package/dist/plugin-sdk/nostr.js +1 -1
  450. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  451. package/dist/plugin-sdk/reply-runtime.js +4 -4
  452. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  453. package/dist/plugin-sdk/runtime.js +2 -2
  454. package/dist/plugin-sdk/session-visibility.js +1 -1
  455. package/dist/plugin-sdk/src/gateway/protocol/index.d.ts +4 -1
  456. package/dist/plugin-sdk/src/gateway/protocol/schema/agents-models-skills.d.ts +95 -0
  457. package/dist/plugin-sdk/testing.js +4 -4
  458. package/dist/plugin-sdk/tlon.js +1 -1
  459. package/dist/plugin-sdk/zalo.js +1 -1
  460. package/dist/plugin-sdk/zalouser.js +1 -1
  461. package/dist/plugin-service-Byv2yfiX.js +2893 -0
  462. package/dist/plugins/runtime/index.js +1 -1
  463. package/dist/policy-BK0iZFZM.js +328 -0
  464. package/dist/postinstall-inventory.json +453 -452
  465. package/dist/prepare.runtime-BMtgLZl1.js +807 -0
  466. package/dist/prepare.runtime.js +1 -1
  467. package/dist/probe-Bj3sjcpc.js +2205 -0
  468. package/dist/probe-C6wNv6c4.js +74 -0
  469. package/dist/probe-CM5o3wKp.js +240 -0
  470. package/dist/probe-D3D0RoQl.js +45 -0
  471. package/dist/probe-DlY3dg7v.js +2 -0
  472. package/dist/probe-TN3P-dCa.js +2 -0
  473. package/dist/probe-pZ61Idl1.js +1443 -0
  474. package/dist/program-TZ54mZzH.js +111 -0
  475. package/dist/prompt-select-styled-DFXPq9zJ.js +20 -0
  476. package/dist/protocol-CWEBsZbG.js +2515 -0
  477. package/dist/provider-dispatcher-9FnI26kR.js +2 -0
  478. package/dist/provider-dispatcher-D30lsDyd.js +22 -0
  479. package/dist/qr-cli-CoEq74Fu.js +2 -0
  480. package/dist/qr-cli-DxaXK8T4.js +349 -0
  481. package/dist/reaction-runtime-api-CGWfmWqF.js +116 -0
  482. package/dist/reactions-D1tny1P_.js +998 -0
  483. package/dist/register-service-commands-D5181r0Q.js +71 -0
  484. package/dist/register.agent-DWwOD6q5.js +248 -0
  485. package/dist/register.configure-CZx6uXuU.js +15 -0
  486. package/dist/register.maintenance-1yV569VU.js +363 -0
  487. package/dist/register.message-DqosH9zI.js +329 -0
  488. package/dist/register.onboard-DBa5bh4F.js +88 -0
  489. package/dist/register.runtime-AUXvOvfy.js +81 -0
  490. package/dist/register.runtime.js +1 -1
  491. package/dist/register.setup-1k0y27Bf.js +150 -0
  492. package/dist/register.status-health-sessions-3SuqckJe.js +1215 -0
  493. package/dist/register.subclis-1vwiREuy.js +3 -0
  494. package/dist/register.subclis-core-CoUcH7R2.js +249 -0
  495. package/dist/register.subclis-d6Uoake0.js +29 -0
  496. package/dist/reply-dispatch-runtime-B2jwG-ti.js +13 -0
  497. package/dist/reply-runtime-BvyACHP_.js +10 -0
  498. package/dist/reply.runtime-B76FIMUm.js +2 -0
  499. package/dist/reply.runtime.js +1 -1
  500. package/dist/restart-health-C1m4VgKE.js +2 -0
  501. package/dist/restart-health-CSxm-1Te.js +202 -0
  502. package/dist/root-help-Cw7ovqRO.js +44 -0
  503. package/dist/routes-B9j5MeTj.js +2 -0
  504. package/dist/routes-BCJWRxzD.js +3341 -0
  505. package/dist/rpc-_zAZRj2-.js +61 -0
  506. package/dist/rpc.runtime-C3rwvN8O.js +21 -0
  507. package/dist/rpc.runtime.js +1 -1
  508. package/dist/run-delivery.runtime-CXmj98lV.js +530 -0
  509. package/dist/run-delivery.runtime.js +1 -1
  510. package/dist/run-embedded.runtime-yli8ukW0.js +4 -0
  511. package/dist/run-embedded.runtime.js +1 -1
  512. package/dist/run-execution-cli.runtime-CjDLajis.js +4 -0
  513. package/dist/run-execution-cli.runtime.js +1 -1
  514. package/dist/run-executor.runtime-SwHBKuy1.js +277 -0
  515. package/dist/run-executor.runtime.js +1 -1
  516. package/dist/run-main-DPHpfv1y.js +567 -0
  517. package/dist/run-subagent-registry.runtime-CWv2s5wn.js +2 -0
  518. package/dist/run-subagent-registry.runtime.js +1 -1
  519. package/dist/run-wait-CpSEiESO.js +135 -0
  520. package/dist/runtime-CMHLmvAl.js +961 -0
  521. package/dist/runtime-api-CLkOuqkP.js +4 -0
  522. package/dist/runtime-api-DgKObkOQ.js +9 -0
  523. package/dist/runtime-api-bWUB21Eg.js +9 -0
  524. package/dist/runtime-api-rryD3LXE.js +14 -0
  525. package/dist/runtime-embedded-pi.runtime-DuHPAbVt.js +2 -0
  526. package/dist/runtime-embedded-pi.runtime.js +1 -1
  527. package/dist/runtime-fF-k_rB8.js +9 -0
  528. package/dist/runtime-internal-By95Az_F.js +2 -0
  529. package/dist/runtime-options-BsxnM5Yt.js +275 -0
  530. package/dist/runtime-schema-P9TAqWy1.js +28599 -0
  531. package/dist/scan-CKfozblZ.js +2 -0
  532. package/dist/scan-CVwpGz6x.js +523 -0
  533. package/dist/secrets-cli-pXjlA7bi.js +2101 -0
  534. package/dist/security-cli-ChIBksL4.js +486 -0
  535. package/dist/selection-CIX2NWC3.js +7743 -0
  536. package/dist/selection-FiKxtpP7.js +2 -0
  537. package/dist/send-13tmI7yl.js +102 -0
  538. package/dist/send-BudgB3Xv.js +156 -0
  539. package/dist/send.runtime-CWWkq3eQ.js +2 -0
  540. package/dist/send.runtime.js +1 -1
  541. package/dist/server-CRbNiI2L.js +13 -0
  542. package/dist/server-DPwckotj.js +77 -0
  543. package/dist/server-context-DnmrGIHL.js +847 -0
  544. package/dist/server-context-GFvl1Fa1.js +2 -0
  545. package/dist/server-node-events-Boy823tY.js +474 -0
  546. package/dist/server-plugin-bootstrap-BEm4d2by.js +2 -0
  547. package/dist/server-plugin-bootstrap-BLp3Ri_D.js +13355 -0
  548. package/dist/server-restart-sentinel-D1dhBlz5.js +684 -0
  549. package/dist/server.impl-CuEQ_ANR.js +12790 -0
  550. package/dist/session-kill-http-CKkRPXTD.js +110 -0
  551. package/dist/session-reset-service-BI9uiJ1F.js +497 -0
  552. package/dist/session-route-Dy5b9CbY.js +93 -0
  553. package/dist/session-status.runtime-HByTPp-H.js +2 -0
  554. package/dist/session-status.runtime.js +1 -1
  555. package/dist/session-subagent-reactivation.runtime-BOWBAfyc.js +2 -0
  556. package/dist/session-subagent-reactivation.runtime.js +1 -1
  557. package/dist/session-tab-registry-Ce31KjnI.js +581 -0
  558. package/dist/session-visibility-BB6i8ptT.js +147 -0
  559. package/dist/sessions-helpers-DYP9dapI.js +305 -0
  560. package/dist/sessions-history-http-j8ZxsBAn.js +371 -0
  561. package/dist/sessions-patch-D4ye8mVh.js +309 -0
  562. package/dist/sessions-resolve-Bi2bj6c-.js +174 -0
  563. package/dist/sessions.runtime-VkodyiYI.js +2 -0
  564. package/dist/sessions.runtime.js +1 -1
  565. package/dist/setup-api-6GX_eeAs.js +29 -0
  566. package/dist/setup-core-BGUg4eV0.js +171 -0
  567. package/dist/setup-core-CpfGqHuS.js +176 -0
  568. package/dist/setup-hFAlSbTL.js +636 -0
  569. package/dist/setup-surface-DSvYQ0Mf.js +219 -0
  570. package/dist/setup-surface-DT8l0x7M.js +403 -0
  571. package/dist/setup-surface-gdmDKJFO.js +286 -0
  572. package/dist/setup.finalize-m_UzKyZ2.js +547 -0
  573. package/dist/setup.gateway-config-DHQ8eaxx.js +250 -0
  574. package/dist/shared-BY5yIWjE.js +198 -0
  575. package/dist/shared-BtY5n-4U.js +76 -0
  576. package/dist/shared-DPf8cDHL.js +121 -0
  577. package/dist/slash-state-j62N8ife.js +1911 -0
  578. package/dist/src-BYHA6DRU.js +3974 -0
  579. package/dist/startup-context-DZml_gZY.js +312 -0
  580. package/dist/status-BCr0D4CJ.js +2 -0
  581. package/dist/status-Bi8EbpXB.js +395 -0
  582. package/dist/status-CPAE20nX.js +209 -0
  583. package/dist/status-D-wIma3c.js +3 -0
  584. package/dist/status-DLmFJkIX.js +2 -0
  585. package/dist/status-DhpFLjkt.js +190 -0
  586. package/dist/status-all-AuiqtGQ-.js +498 -0
  587. package/dist/status-json-BUhA_seV.js +14 -0
  588. package/dist/status-json-command-Dk8RVvC9.js +82 -0
  589. package/dist/status-runtime-shared-BK7fklEl.js +241 -0
  590. package/dist/status-subagents.runtime-DkMpqnmP.js +18 -0
  591. package/dist/status-subagents.runtime.js +1 -1
  592. package/dist/status-text-D71CoS-s.js +237 -0
  593. package/dist/status.gateway-connection.runtime-wWu8Kvt4.js +2 -0
  594. package/dist/status.gateway-connection.runtime.js +1 -1
  595. package/dist/status.gather-BlSA6D3i.js +292 -0
  596. package/dist/status.gather-akCtNgln.js +2 -0
  597. package/dist/status.runtime-tPHKyqSk.js +2 -0
  598. package/dist/status.runtime.js +1 -1
  599. package/dist/status.scan-GF1UDZAB.js +65 -0
  600. package/dist/status.scan-overview-D1tTMWSi.js +379 -0
  601. package/dist/status.scan.fast-json-CoLBFhFk.js +132 -0
  602. package/dist/status.scan.fast-json-K69bqOGh.js +2 -0
  603. package/dist/status.summary-Bxh5WwsL.js +200 -0
  604. package/dist/status.summary-Cyr9PxeP.js +2 -0
  605. package/dist/subagent-announce-Dw7-i1-9.js +351 -0
  606. package/dist/subagent-announce-delivery-HYpoItCd.js +726 -0
  607. package/dist/subagent-announce-output-C7rcYYEc.js +364 -0
  608. package/dist/subagent-control-Ds2GYpWL.js +506 -0
  609. package/dist/subagent-followup.runtime-Cd8hCztp.js +68 -0
  610. package/dist/subagent-followup.runtime.js +1 -1
  611. package/dist/subagent-orphan-recovery-BgjubPqf.js +305 -0
  612. package/dist/subagent-registry-CgpGD3GV.js +1753 -0
  613. package/dist/subagent-registry-DxdVLcdG.js +3 -0
  614. package/dist/subagent-registry.runtime.js +1 -1
  615. package/dist/subagent-spawn-BWBNndsp.js +1005 -0
  616. package/dist/system-cli-DyBkQUQb.js +43 -0
  617. package/dist/targets-BadrXaG2.js +67 -0
  618. package/dist/task-executor-C7Wi33fD.js +360 -0
  619. package/dist/task-owner-access-yQv8xMco.js +74 -0
  620. package/dist/task-registry-W5mFPlZX.js +2357 -0
  621. package/dist/task-registry-delivery-runtime-cBNSvuGT.js +3 -0
  622. package/dist/task-registry-delivery-runtime-cJvq2BuY.js +2 -0
  623. package/dist/task-registry.maintenance-Buzo501v.js +2 -0
  624. package/dist/task-registry.maintenance-pJMW_7Am.js +416 -0
  625. package/dist/telegram/token.js +1 -1
  626. package/dist/testing-Dw49ltmR.js +575 -0
  627. package/dist/text-report-CtyXY05r.js +549 -0
  628. package/dist/tool-resolution-BcUPtTtu.js +90 -0
  629. package/dist/tools-effective-inventory-CL0grjv4.js +152 -0
  630. package/dist/tools-invoke-http-BZ8xqe0f.js +206 -0
  631. package/dist/trash-B6l1GwX9.js +24 -0
  632. package/dist/tui-cli-BCn5UWwT.js +4585 -0
  633. package/dist/update-cli-D8bMov5W.js +1759 -0
  634. package/dist/upgrade-iRXz6ZP4.js +1226 -0
  635. package/dist/video-generation-task-status-ESf4kR6F.js +163 -0
  636. package/dist/wait-for-idle-before-flush-C-_kVutK.js +5985 -0
  637. package/dist/wizard-models-jPGu0o7K.js +334 -0
  638. package/package.json +1 -1
  639. package/dist/abort-eELweWEh.js +0 -201
  640. package/dist/abort.runtime-CTayKbQD.js +0 -2
  641. package/dist/accounts-BGM3WHLv.js +0 -107
  642. package/dist/accounts-CjfvnRr8.js +0 -2
  643. package/dist/accounts-Do4oFjnx.js +0 -104
  644. package/dist/acp-cli-CYsQXo19.js +0 -2217
  645. package/dist/acp-spawn-EQ41IhnW.js +0 -2
  646. package/dist/acp-spawn-kNmVaCJg.js +0 -1042
  647. package/dist/acp-stateful-target-driver-CGEmB873.js +0 -89
  648. package/dist/action-agents-DRZhDohG.js +0 -67
  649. package/dist/action-focus-rtD_IZeK.js +0 -132
  650. package/dist/action-help-BxYZoPLZ.js +0 -7
  651. package/dist/action-info-DKIOeV27.js +0 -101
  652. package/dist/action-kill-BSRgreG1.js +0 -33
  653. package/dist/action-list-D_9VcDkU.js +0 -21
  654. package/dist/action-log-B-14uMf6.js +0 -30
  655. package/dist/action-send-DSAXZyLd.js +0 -39
  656. package/dist/action-spawn-CmQA95xS.js +0 -47
  657. package/dist/action-unfocus-CENAeJCf.js +0 -29
  658. package/dist/actions.runtime-BOFiPCqN.js +0 -18
  659. package/dist/actions.runtime-BokGkMaN.js +0 -5
  660. package/dist/agent-aBFNkVS4.js +0 -2
  661. package/dist/agent-command-CAtrEgLC.js +0 -874
  662. package/dist/agent-harness-runtime-BL32XpUV.js +0 -144
  663. package/dist/agent-runner-utils-DqPHTinZ.js +0 -239
  664. package/dist/agent-runner.runtime-Dau-cd0f.js +0 -3443
  665. package/dist/agent-runtime--LWUNBfA.js +0 -18
  666. package/dist/agents-C3k8MTRw.js +0 -5
  667. package/dist/agents-CFtbcew1.js +0 -954
  668. package/dist/aliases-Cgg9M9wt.js +0 -96
  669. package/dist/aliases-fGREp791.js +0 -2
  670. package/dist/api-BcbAyDG9.js +0 -5
  671. package/dist/api-D0pLMgBK.js +0 -139
  672. package/dist/api-NoVni8Sl.js +0 -3
  673. package/dist/approval-gateway-resolver-Cb_c_Zpw.js +0 -29
  674. package/dist/approval-gateway-runtime-CI5kXM2R.js +0 -2
  675. package/dist/approval-handler-runtime-39P31QLp.js +0 -439
  676. package/dist/approval-native-runtime-CeybpRQ8.js +0 -729
  677. package/dist/attempt-execution.runtime-Dd1qMUKN.js +0 -509
  678. package/dist/attempt.prompt-helpers-CaElAXu4.js +0 -206
  679. package/dist/attempt.tool-run-context-Bmny58yh.js +0 -933
  680. package/dist/audit-C41qeFBb.js +0 -939
  681. package/dist/audit.runtime-D8lnHabB.js +0 -7
  682. package/dist/auth-CsVdaaAe.js +0 -2
  683. package/dist/auth-order-BWk3ViLn.js +0 -139
  684. package/dist/auth-order-BbG3V9qM.js +0 -2
  685. package/dist/auth-pqwbxiw7.js +0 -550
  686. package/dist/bash-tools-C_tOXKUP.js +0 -2853
  687. package/dist/bash-tools-D5q7UFgs.js +0 -3
  688. package/dist/binding-routing-CeClBVpB.js +0 -85
  689. package/dist/binding-targets-DdrE0COF.js +0 -121
  690. package/dist/bridge-server-DeAPQe0C.js +0 -113
  691. package/dist/browser-control-auth-Df3M2eI5.js +0 -2
  692. package/dist/browser-node-runtime-n6vhbxwB.js +0 -12
  693. package/dist/browser-profiles-BcaCN3Q6.js +0 -2
  694. package/dist/browser-runtime-D6wFsSX9.js +0 -387
  695. package/dist/browser-setup-tools-O22i2nzo.js +0 -13
  696. package/dist/build-D2RzyOdJ.js +0 -550
  697. package/dist/call-D1wMcFp1.js +0 -330
  698. package/dist/call-DZwpoxKB.js +0 -3
  699. package/dist/call.runtime-_dVLUHfq.js +0 -2
  700. package/dist/capability-cli-DG1nE-2Q.js +0 -1401
  701. package/dist/catchup-CALuX0EW.js +0 -300
  702. package/dist/channel-CNb4SPiv.js +0 -1320
  703. package/dist/channel-CS0Ik7Dq.js +0 -1174
  704. package/dist/channel-CYBGsrs5.js +0 -226
  705. package/dist/channel-Cnt8iXCs.js +0 -297
  706. package/dist/channel-Cq62QSZR.js +0 -1100
  707. package/dist/channel-CuOrQbPa.js +0 -491
  708. package/dist/channel-CwUVg_e3.js +0 -350
  709. package/dist/channel-CxPOVDOa.js +0 -453
  710. package/dist/channel-D8E3vPYf.js +0 -1802
  711. package/dist/channel-Hkm1aCOg.js +0 -840
  712. package/dist/channel-core-UwaoX83l.js +0 -5
  713. package/dist/channel-hzXuigBm.js +0 -595
  714. package/dist/channel-inbound-C88sBchp.js +0 -31
  715. package/dist/channel-plugin-runtime-CDndBSbs.js +0 -771
  716. package/dist/channel-runtime-CpayqA94.js +0 -425
  717. package/dist/channel.runtime-BTGIlCf_.js +0 -42398
  718. package/dist/channel.runtime-Bo7eYpYT.js +0 -576
  719. package/dist/channel.runtime-Cb7E95Ts.js +0 -2364
  720. package/dist/channel.runtime-DNrozvEo.js +0 -4
  721. package/dist/channel.runtime-DRsan2gc.js +0 -430
  722. package/dist/channel.runtime-Je-Ol2c3.js +0 -89
  723. package/dist/channel.setup-BW4k0T2j.js +0 -10
  724. package/dist/channel2.runtime-Bz0QP9sq.js +0 -109
  725. package/dist/channels-BOUEDeFj.js +0 -733
  726. package/dist/channels-cli-BBM3LCGT.js +0 -268
  727. package/dist/chat-0aqpRXk7.js +0 -2830
  728. package/dist/clawbot-cli-CSpQnlO7.js +0 -9
  729. package/dist/cli-BMMCMk2R.js +0 -72
  730. package/dist/cli-CEQfSSaU.js +0 -2
  731. package/dist/cli-DI0JpbBo.js +0 -2
  732. package/dist/cli-NfaQyvCK.js +0 -219
  733. package/dist/cli-runner-DNyuZ5h6.js +0 -286
  734. package/dist/cli-runner.runtime-CR-JwA4O.js +0 -3
  735. package/dist/cli-runner.runtime-Dz6jbCuw.js +0 -4
  736. package/dist/cli.runtime-oxgwFXYo.js +0 -1261
  737. package/dist/client-Bt55zFEY.js +0 -138
  738. package/dist/client-DdJ17SBT.js +0 -723
  739. package/dist/command-auth-BthdrJZs.js +0 -76
  740. package/dist/command-config-resolution-CVMUB11x.js +0 -2
  741. package/dist/command-config-resolution-Gyx8ZctY.js +0 -23
  742. package/dist/command-config-resolution.runtime-BkW8urG9.js +0 -2
  743. package/dist/command-registry-CzoqAliR.js +0 -4
  744. package/dist/command-registry-core-CBbC7zvE.js +0 -106
  745. package/dist/command-registry-otbvPe2S.js +0 -9
  746. package/dist/command-secret-gateway-96Lg7d56.js +0 -528
  747. package/dist/command-status.runtime-Wz0v1rTj.js +0 -87
  748. package/dist/commands-acp-CTKWdZFc.js +0 -77
  749. package/dist/commands-compact.runtime-BvhuA8PX.js +0 -10
  750. package/dist/commands-handlers.runtime-1lMZVKIF.js +0 -4599
  751. package/dist/commands-status-OROpaZRA.js +0 -16
  752. package/dist/commands-status.runtime-CylmITPm.js +0 -3
  753. package/dist/commands-subagents-control.runtime-DPZM15Y8.js +0 -3
  754. package/dist/commands-subagents-control.runtime-DtPr9n7D.js +0 -2
  755. package/dist/commands-system-prompt-CbFMKfpn.js +0 -2
  756. package/dist/commands-system-prompt-DwCsudJL.js +0 -157
  757. package/dist/commands.runtime-nRjRmUst.js +0 -167
  758. package/dist/compact-Bi9T_Zb_.js +0 -1096
  759. package/dist/compact.runtime-DTvVHwbC.js +0 -12
  760. package/dist/completion-cli-Dj97mkii.js +0 -328
  761. package/dist/config-CY6leWe-.js +0 -252
  762. package/dist/config-cli-B_BsNmBg.js +0 -1078
  763. package/dist/configure-CSRRRV1P.js +0 -2
  764. package/dist/configure-CUG1geJf.js +0 -1252
  765. package/dist/connect-options-CnwJQxN0.js +0 -699
  766. package/dist/control-auth-C5i9U0hQ.js +0 -125
  767. package/dist/control-service-Hpi8EaX5.js +0 -156
  768. package/dist/control-ui/assets/agents-Bm9tbRvl.js +0 -1125
  769. package/dist/control-ui/assets/canvas-Dqcz2P-M.js +0 -274
  770. package/dist/control-ui/assets/channel-config-extras-DPhtzROS.js +0 -2
  771. package/dist/control-ui/assets/channels-C4lCtkuE.js +0 -198
  772. package/dist/control-ui/assets/cron-CDnocp54.js +0 -250
  773. package/dist/control-ui/assets/de-BIxTAu8X.js +0 -2
  774. package/dist/control-ui/assets/debug-CLJUkyM0.js +0 -94
  775. package/dist/control-ui/assets/es-BQWbWgIl.js +0 -2
  776. package/dist/control-ui/assets/fr-CWlA2mjJ.js +0 -2
  777. package/dist/control-ui/assets/i18n-zQZN-KVV.js +0 -3
  778. package/dist/control-ui/assets/id-6rCpPVbX.js +0 -2
  779. package/dist/control-ui/assets/index-DNcb9kKN.js +0 -5972
  780. package/dist/control-ui/assets/instances-BmNOHnr0.js +0 -57
  781. package/dist/control-ui/assets/ja-JP-DF-DP5BG.js +0 -2
  782. package/dist/control-ui/assets/ko-DBqpeGub.js +0 -2
  783. package/dist/control-ui/assets/logs-DbPv07V4.js +0 -74
  784. package/dist/control-ui/assets/mcp-CxU-2jb_.js +0 -380
  785. package/dist/control-ui/assets/memory-Cvr3erHb.js +0 -50
  786. package/dist/control-ui/assets/memory-graph-BpmZbNSk.js +0 -30
  787. package/dist/control-ui/assets/models-C7nRZAXy.js +0 -86
  788. package/dist/control-ui/assets/nodes-f2aGvluM.js +0 -654
  789. package/dist/control-ui/assets/pl-5NAsq-Is.js +0 -2
  790. package/dist/control-ui/assets/plugins-5hOroymh.js +0 -259
  791. package/dist/control-ui/assets/presenter-DsN_oVUG.js +0 -2
  792. package/dist/control-ui/assets/preview-Bpt_pTk6.js +0 -2
  793. package/dist/control-ui/assets/pt-BR-Hv8MDaxx.js +0 -2
  794. package/dist/control-ui/assets/sessions-LDFBoP0u.js +0 -56
  795. package/dist/control-ui/assets/skills-DIujrS1_.js +0 -294
  796. package/dist/control-ui/assets/skills-shared-DTBgPO3R.js +0 -11
  797. package/dist/control-ui/assets/th-cg-0LWw9.js +0 -2
  798. package/dist/control-ui/assets/tr-hpqnmvm6.js +0 -2
  799. package/dist/control-ui/assets/uk-DaVOgu9d.js +0 -2
  800. package/dist/control-ui/assets/wallet-CdJCKiSZ.js +0 -302
  801. package/dist/control-ui/assets/zh-CN-BfPyN3yg.js +0 -2
  802. package/dist/control-ui/assets/zh-TW-WbilNUjy.js +0 -2
  803. package/dist/control-ui-CeGNcKzT.js +0 -1043
  804. package/dist/conversation-id-BCbq5NIc.js +0 -38
  805. package/dist/conversation-id-CQI9g_tF.js +0 -235
  806. package/dist/conversation-runtime-DaqqNX-x.js +0 -31
  807. package/dist/core-Tk-dTIXT.js +0 -275
  808. package/dist/cron-cli-DSGzbLxR.js +0 -713
  809. package/dist/daemon-cli-DeV3LyHQ.js +0 -12
  810. package/dist/dashboard-DloYb4F9.js +0 -2
  811. package/dist/dashboard-tuymsSVS.js +0 -81
  812. package/dist/delegate-Dd5wAxfb.js +0 -64
  813. package/dist/detached-task-runtime-DKySZjwC.js +0 -73
  814. package/dist/devices-cli-CYzBu3hZ.js +0 -498
  815. package/dist/diagnostics-3KiMYFlv.js +0 -154
  816. package/dist/direct-dm-CUE3FyXY.js +0 -64
  817. package/dist/dispatch-_wfSU58C.js +0 -1131
  818. package/dist/dispatch-acp-DeRnweaq.js +0 -981
  819. package/dist/dispatch-acp-manager.runtime-BAIqFxld.js +0 -3
  820. package/dist/dispatch-acp.runtime-JlGpWtEz.js +0 -19
  821. package/dist/doctor-device-pairing-DEjdxNU3.js +0 -307
  822. package/dist/doctor-gateway-daemon-flow-DCKalcSh.js +0 -250
  823. package/dist/doctor-gateway-health-BY7EhLu3.js +0 -63
  824. package/dist/doctor-health-ClRZC0ve.js +0 -59
  825. package/dist/doctor-health-contributions-B65HPALZ.js +0 -493
  826. package/dist/doctor-prompter-YrvCLwpe.js +0 -56
  827. package/dist/doctor-workspace-status-B-BuL017.js +0 -75
  828. package/dist/dreaming-DGYWRYq3.js +0 -1582
  829. package/dist/dreaming-narrative-DRKoF-z9.js +0 -596
  830. package/dist/embedded-gateway-stub.runtime-DdjZKa9q.js +0 -9
  831. package/dist/embeddings-http-B3ACs8Ws.js +0 -205
  832. package/dist/exec-approvals-cli-C5DwVIu5.js +0 -498
  833. package/dist/fallbacks-D6L84vVc.js +0 -31
  834. package/dist/fallbacks-D6jO50XF.js +0 -2
  835. package/dist/fallbacks-shared-Dci4IyaY.js +0 -111
  836. package/dist/gateway-cli-BS9kPc9H.js +0 -1283
  837. package/dist/gateway-rpc-B5GtBJRi.js +0 -14
  838. package/dist/gateway-rpc.runtime-CKtiPql1.js +0 -23
  839. package/dist/gateway-runtime-C-kxmrI5.js +0 -15
  840. package/dist/gateway-status-0kWh50js.js +0 -584
  841. package/dist/gateway-tMGzPO6m.js +0 -115
  842. package/dist/genesis-tools-CtMsMRl9.js +0 -9435
  843. package/dist/genesis-tools.runtime-BptuQNAJ.js +0 -2
  844. package/dist/get-reply-B4NwzjDj.js +0 -3946
  845. package/dist/get-reply-from-config.runtime-D07XOnfu.js +0 -2
  846. package/dist/graph-users-Chk0mBZs.js +0 -1337
  847. package/dist/health-BkcL9i__.js +0 -3
  848. package/dist/health-CgLzUl2R.js +0 -420
  849. package/dist/health-route-BySTIyJQ.js +0 -2
  850. package/dist/health-route-P7I71km-.js +0 -41
  851. package/dist/hooks-cli-BMkgaeq9.js +0 -433
  852. package/dist/http-endpoint-helpers-CC_gglfr.js +0 -41
  853. package/dist/http-utils-C7CfxCac.js +0 -924
  854. package/dist/image-fallbacks-BGCt_6uL.js +0 -31
  855. package/dist/image-fallbacks-OrcyF2DC.js +0 -2
  856. package/dist/inbound-reply-dispatch-DYjgJdlo.js +0 -73
  857. package/dist/infra-runtime-AQfhgBFn.js +0 -38
  858. package/dist/init-DPP54t0W.js +0 -59
  859. package/dist/library-DFR5f_Ir.js +0 -45
  860. package/dist/lifecycle-CW2vdQDb.js +0 -571
  861. package/dist/lifecycle-D11XyL6V.js +0 -229
  862. package/dist/lifecycle.runtime-DSWYu3nX.js +0 -2
  863. package/dist/list-BKM6QdOy.js +0 -1212
  864. package/dist/list-CTNJ4-68.js +0 -2
  865. package/dist/list-DtXUyEzG.js +0 -2
  866. package/dist/list-aEqDnDBI.js +0 -131
  867. package/dist/list.probe-Bou6QQPq.js +0 -419
  868. package/dist/llm-slug-generator-Bnt1pOHN.js +0 -79
  869. package/dist/load-config-CBqnIYCC.js +0 -35
  870. package/dist/local-dispatch.runtime-zcsbNVun.js +0 -8
  871. package/dist/logs-cli-TFV7jUp4.js +0 -265
  872. package/dist/logs-cli.runtime-DtiBn5Ch.js +0 -2
  873. package/dist/main-session-restart-recovery-DxN0yklO.js +0 -206
  874. package/dist/managed-image-attachments-BGssrKSl.js +0 -635
  875. package/dist/managed-image-attachments-oy7vi04e.js +0 -2
  876. package/dist/manager-C86vv_vo.js +0 -2
  877. package/dist/manager-ooYadtSy.js +0 -2057
  878. package/dist/markdown-to-line-COdsSmXH.js +0 -790
  879. package/dist/mcp-cli-CAuVc_Pm.js +0 -725
  880. package/dist/mcp-http-DJ1wHZwo.js +0 -529
  881. package/dist/memory-core-host-runtime-cli-BIS_FL5c.js +0 -9
  882. package/dist/message-Bwxr0xiZ.js +0 -232
  883. package/dist/message-action-runner-B65TS-iS.js +0 -1407
  884. package/dist/message-action-runner-CiaRlq7u.js +0 -2
  885. package/dist/message-actions-D64MkmkC.js +0 -143
  886. package/dist/message.gateway.runtime-RW2Yhu37.js +0 -2
  887. package/dist/method-scopes-BkN09VAs.js +0 -232
  888. package/dist/models-auth-status-DzLtMc97.js +0 -217
  889. package/dist/models-cli-CoFUFTED.js +0 -271
  890. package/dist/models-http-DbtJ3UU_.js +0 -92
  891. package/dist/monitor-B4GOsafr.js +0 -671
  892. package/dist/monitor-BABC3pTm.js +0 -1661
  893. package/dist/monitor-BJrqsLpj.js +0 -1459
  894. package/dist/monitor-DiZfArYU.js +0 -1237
  895. package/dist/monitor-auth-DVJNdnse.js +0 -207
  896. package/dist/monitor-ovv5ZrP8.js +0 -788
  897. package/dist/monitor-processing-25Z4qW74.js +0 -1974
  898. package/dist/monitor-zDAbyj7K.js +0 -2
  899. package/dist/monitor.runtime-9UOZT7UY.js +0 -2
  900. package/dist/monitor.webhook-ksEOpU9Y.js +0 -180
  901. package/dist/msteams-D0FDrYYn.js +0 -35
  902. package/dist/native-hook-relay-C_3-6Eke.js +0 -519
  903. package/dist/nextcloud-talk-DKd_xz3W.js +0 -17
  904. package/dist/node-cli-D5KvQ2CT.js +0 -2276
  905. package/dist/nodes-cli-DNNvVAj2.js +0 -1046
  906. package/dist/nodes-utils-CBwEmmq2.js +0 -84
  907. package/dist/nodes.helpers-CAihaPrl.js +0 -34
  908. package/dist/notify-CC_X0-7j.js +0 -315
  909. package/dist/onboard-BdO5P4vD.js +0 -2
  910. package/dist/onboard-ILwgXLYY.js +0 -70
  911. package/dist/onboard-helpers-7z02DFh9.js +0 -204
  912. package/dist/onboard-helpers-Ms4s2EzO.js +0 -6
  913. package/dist/onboard-interactive-BjPiPpZT.js +0 -24
  914. package/dist/onboard-non-interactive-Dj4NGkhK.js +0 -635
  915. package/dist/onboard-remote-DCYnQ04q.js +0 -193
  916. package/dist/onboard-remote-ofkezDbI.js +0 -2
  917. package/dist/onboard-skills-CUjzYHgj.js +0 -2
  918. package/dist/onboard-skills-CbfWgSt7.js +0 -134
  919. package/dist/openai-http-BaMtk-kT.js +0 -500
  920. package/dist/openresponses-http-WKKDY0q5.js +0 -1128
  921. package/dist/operator-approvals-client-4sga8tKU.js +0 -68
  922. package/dist/outbound.runtime-CDHhU73P.js +0 -2
  923. package/dist/pair-command-approve-OYJIc2fu.js +0 -44
  924. package/dist/persistent-bindings.lifecycle-BfHNJZO4.js +0 -2
  925. package/dist/persistent-bindings.lifecycle-DwKmiJYz.js +0 -85
  926. package/dist/pi-embedded-CGFh2Blz.js +0 -4
  927. package/dist/pi-embedded-ooYGUOJZ.js +0 -2905
  928. package/dist/pi-embedded.runtime-B1NpL8rR.js +0 -4
  929. package/dist/pi-tool-definition-adapter-Bl5ufyu3.js +0 -229
  930. package/dist/pi-tools-82qefK6f.js +0 -1118
  931. package/dist/pi-tools.before-tool-call-Db88CRUS.js +0 -2
  932. package/dist/pi-tools.before-tool-call-Dh-5Kzc8.js +0 -433
  933. package/dist/plugin-DwuhlI2I.js +0 -12195
  934. package/dist/plugin-enabled-CfzRQT1B.js +0 -140
  935. package/dist/plugin-registration-XsebPQqy.js +0 -23
  936. package/dist/plugin-service-QJqtKEG5.js +0 -2893
  937. package/dist/policy-DsGoyetK.js +0 -328
  938. package/dist/prepare.runtime-Ca5X_K9Y.js +0 -807
  939. package/dist/probe-0MgKBFel.js +0 -2205
  940. package/dist/probe-9CryCp2o.js +0 -2
  941. package/dist/probe-B8ogIy1E.js +0 -1443
  942. package/dist/probe-B_t63C0q.js +0 -74
  943. package/dist/probe-Cg5_YE3i.js +0 -240
  944. package/dist/probe-DVxDryxE.js +0 -45
  945. package/dist/probe-MDbiDMWz.js +0 -2
  946. package/dist/program-DPoG-10j.js +0 -111
  947. package/dist/prompt-select-styled-CTHDINxc.js +0 -20
  948. package/dist/protocol-zDWsuAk7.js +0 -2477
  949. package/dist/provider-dispatcher-Bgci1rwg.js +0 -2
  950. package/dist/provider-dispatcher-CwSZMOAg.js +0 -22
  951. package/dist/qr-cli-DvJ5xdsh.js +0 -2
  952. package/dist/qr-cli-gzyNSC5u.js +0 -349
  953. package/dist/reaction-runtime-api-BlDTJpo-.js +0 -116
  954. package/dist/reactions-W4Fy8xu5.js +0 -998
  955. package/dist/register-service-commands-BwL9yJxI.js +0 -71
  956. package/dist/register.agent-DhQz75CX.js +0 -248
  957. package/dist/register.configure-CiW5Nm47.js +0 -15
  958. package/dist/register.maintenance-B-bmcOm_.js +0 -363
  959. package/dist/register.message-CB7RGm0D.js +0 -329
  960. package/dist/register.onboard--s57-W_O.js +0 -88
  961. package/dist/register.runtime-aLzIGvj5.js +0 -81
  962. package/dist/register.setup-EvqU6AWF.js +0 -150
  963. package/dist/register.status-health-sessions-LtIU28tG.js +0 -1215
  964. package/dist/register.subclis-Cdyty_Wl.js +0 -29
  965. package/dist/register.subclis-E0e8IhV6.js +0 -3
  966. package/dist/register.subclis-core-DoJitfZR.js +0 -249
  967. package/dist/reply-dispatch-runtime-yhxku4dH.js +0 -13
  968. package/dist/reply-runtime-DMJCIRLh.js +0 -10
  969. package/dist/reply.runtime-ClSSD2-g.js +0 -2
  970. package/dist/restart-health-BOftTaLm.js +0 -202
  971. package/dist/restart-health-Cq5PQJFt.js +0 -2
  972. package/dist/root-help-gILUFRrb.js +0 -44
  973. package/dist/routes-D4r1ezvE.js +0 -3341
  974. package/dist/routes-QfDdU8qI.js +0 -2
  975. package/dist/rpc-BH3MZf04.js +0 -61
  976. package/dist/rpc.runtime-DEqSCvK_.js +0 -21
  977. package/dist/run-delivery.runtime-Ra2LpyjL.js +0 -530
  978. package/dist/run-embedded.runtime-B-b7dF48.js +0 -4
  979. package/dist/run-execution-cli.runtime-rzYYRquv.js +0 -4
  980. package/dist/run-executor.runtime-D3MC8B3s.js +0 -277
  981. package/dist/run-main-ROsTM9o9.js +0 -567
  982. package/dist/run-subagent-registry.runtime-gvfWvULf.js +0 -2
  983. package/dist/run-wait-DYca4W_o.js +0 -135
  984. package/dist/runtime-1Bb9bT_p.js +0 -9
  985. package/dist/runtime-B4JFGWB4.js +0 -961
  986. package/dist/runtime-api-BTGrUC1e.js +0 -14
  987. package/dist/runtime-api-Bhl3_8yF.js +0 -9
  988. package/dist/runtime-api-C-nx_QzF.js +0 -4
  989. package/dist/runtime-api-DlKoDfhQ.js +0 -9
  990. package/dist/runtime-embedded-pi.runtime-BpNxs_WI.js +0 -2
  991. package/dist/runtime-internal-BbUZ7GRn.js +0 -2
  992. package/dist/runtime-options-DvpcqD1R.js +0 -275
  993. package/dist/runtime-schema-DooxQwin.js +0 -28599
  994. package/dist/scan-DpgK8kOr.js +0 -2
  995. package/dist/scan-U6zeFiF4.js +0 -523
  996. package/dist/secrets-cli-DjWSeoBE.js +0 -2101
  997. package/dist/security-cli-CSD7A3_W.js +0 -486
  998. package/dist/selection-C6LjcruV.js +0 -2
  999. package/dist/selection-DTQuCEn8.js +0 -7743
  1000. package/dist/send-DjtE85vk.js +0 -102
  1001. package/dist/send-DrOoCalT.js +0 -156
  1002. package/dist/send.runtime-CoOsNVP2.js +0 -2
  1003. package/dist/server-Bm7KpOGW.js +0 -77
  1004. package/dist/server-C6MOiNs5.js +0 -13
  1005. package/dist/server-context-B4L8Ko8G.js +0 -847
  1006. package/dist/server-context-CdmUY6o_.js +0 -2
  1007. package/dist/server-node-events-D9LfdT_R.js +0 -474
  1008. package/dist/server-plugin-bootstrap-BzB53IG-.js +0 -2
  1009. package/dist/server-plugin-bootstrap-DnXmVUc8.js +0 -13275
  1010. package/dist/server-restart-sentinel-DSfUKsS9.js +0 -684
  1011. package/dist/server.impl-D6b9jfKp.js +0 -12787
  1012. package/dist/session-kill-http-DyjyFGdE.js +0 -110
  1013. package/dist/session-reset-service-7QjMT-P3.js +0 -497
  1014. package/dist/session-route-C0pUoL-m.js +0 -93
  1015. package/dist/session-status.runtime-C7j8HBWm.js +0 -2
  1016. package/dist/session-subagent-reactivation.runtime-D4lP9Yxw.js +0 -2
  1017. package/dist/session-tab-registry-CPJFtGU8.js +0 -581
  1018. package/dist/session-visibility-Bg3eG7Ud.js +0 -147
  1019. package/dist/sessions-helpers-C0F_CCx_.js +0 -305
  1020. package/dist/sessions-history-http-Bee2KxDh.js +0 -371
  1021. package/dist/sessions-patch-yHBQNF3A.js +0 -309
  1022. package/dist/sessions-resolve-D_3EYokX.js +0 -174
  1023. package/dist/sessions.runtime-CEP1m60d.js +0 -2
  1024. package/dist/setup-HKQAarOb.js +0 -636
  1025. package/dist/setup-api-EpAQ3HZv.js +0 -29
  1026. package/dist/setup-core-BgPN9ltC.js +0 -176
  1027. package/dist/setup-core-DSLCd1rN.js +0 -171
  1028. package/dist/setup-surface-DMN9uyVd.js +0 -403
  1029. package/dist/setup-surface-DhuBlD5J.js +0 -219
  1030. package/dist/setup-surface-E0DezmAi.js +0 -286
  1031. package/dist/setup.finalize-MkGL04S6.js +0 -547
  1032. package/dist/setup.gateway-config-Bnbhn6v-.js +0 -250
  1033. package/dist/shared-DDpJ78zl.js +0 -198
  1034. package/dist/shared-DGn0ibdp.js +0 -121
  1035. package/dist/shared-fUr4aN5q.js +0 -76
  1036. package/dist/slash-state-BXCSlhym.js +0 -1911
  1037. package/dist/src-uTvmDRmY.js +0 -3974
  1038. package/dist/startup-context-D-raEng1.js +0 -312
  1039. package/dist/status-B_d9Cx4z.js +0 -2
  1040. package/dist/status-Cm6eyksx.js +0 -209
  1041. package/dist/status-CmxOcSnZ.js +0 -2
  1042. package/dist/status-DVueyM2F.js +0 -395
  1043. package/dist/status-DbdzfpUI.js +0 -3
  1044. package/dist/status-DzQhntmn.js +0 -190
  1045. package/dist/status-all-m61xmSOw.js +0 -498
  1046. package/dist/status-json-DDMgeSaC.js +0 -14
  1047. package/dist/status-json-command-CK5HTDaU.js +0 -82
  1048. package/dist/status-runtime-shared-p3krF0s5.js +0 -241
  1049. package/dist/status-subagents.runtime-DHuvJr3p.js +0 -18
  1050. package/dist/status-text-CtkqzmoT.js +0 -237
  1051. package/dist/status.gateway-connection.runtime-Baws_5sO.js +0 -2
  1052. package/dist/status.gather-8OGnlbKU.js +0 -292
  1053. package/dist/status.gather-BETbqTkh.js +0 -2
  1054. package/dist/status.runtime-D7lk5mLJ.js +0 -2
  1055. package/dist/status.scan-BCPG9Nfn.js +0 -65
  1056. package/dist/status.scan-overview-BxfXogPo.js +0 -379
  1057. package/dist/status.scan.fast-json-DsYnYXoH.js +0 -2
  1058. package/dist/status.scan.fast-json-Ya7IYP0s.js +0 -132
  1059. package/dist/status.summary-BMSVTd_0.js +0 -200
  1060. package/dist/status.summary-CpaouG_t.js +0 -2
  1061. package/dist/subagent-announce-BHJpD5-v.js +0 -351
  1062. package/dist/subagent-announce-delivery-CKyEeFvA.js +0 -726
  1063. package/dist/subagent-announce-output-4itRkJFz.js +0 -364
  1064. package/dist/subagent-control-DnG7Wuci.js +0 -506
  1065. package/dist/subagent-followup.runtime-CSYnHTuh.js +0 -68
  1066. package/dist/subagent-orphan-recovery-CEGWLVDl.js +0 -305
  1067. package/dist/subagent-registry-BBck4LPP.js +0 -3
  1068. package/dist/subagent-registry-Kop804vg.js +0 -1753
  1069. package/dist/subagent-spawn-CZJpCHIN.js +0 -1005
  1070. package/dist/system-cli-CTd252XD.js +0 -43
  1071. package/dist/targets-CD3QLNpW.js +0 -67
  1072. package/dist/task-executor-BbCXhqDF.js +0 -360
  1073. package/dist/task-owner-access-Be7GpZNB.js +0 -74
  1074. package/dist/task-registry-CZN3bWaG.js +0 -2357
  1075. package/dist/task-registry-delivery-runtime-BQTBKwpP.js +0 -3
  1076. package/dist/task-registry-delivery-runtime-BxmqiCDh.js +0 -2
  1077. package/dist/task-registry.maintenance-3Y9NCOoG.js +0 -2
  1078. package/dist/task-registry.maintenance-DCn5Caci.js +0 -416
  1079. package/dist/testing-BH9BASoR.js +0 -575
  1080. package/dist/text-report-B0Y14E6B.js +0 -549
  1081. package/dist/tool-resolution-D4AhidQx.js +0 -90
  1082. package/dist/tools-effective-inventory-_1V0I8t9.js +0 -152
  1083. package/dist/tools-invoke-http-B6q43oJu.js +0 -206
  1084. package/dist/trash-BEJ9CQ7c.js +0 -24
  1085. package/dist/tui-cli-BHo_XAR4.js +0 -4585
  1086. package/dist/update-cli-yoJZUuTt.js +0 -1759
  1087. package/dist/upgrade-xIQd0f13.js +0 -1226
  1088. package/dist/video-generation-task-status-B9we9j9s.js +0 -163
  1089. package/dist/wait-for-idle-before-flush-A1yDxWJx.js +0 -5985
  1090. package/dist/wizard-models-CRc4fctG.js +0 -334
@@ -1,1753 +0,0 @@
1
- import { c as readErrorName, i as formatErrorMessage } from "./errors-CufR9eHH.js";
2
- import { a as normalizeLowercaseStringOrEmpty } from "./string-coerce-DPP_aYVc.js";
3
- import { n as defaultRuntime } from "./runtime-DDkDH9fa.js";
4
- import { t as createSubsystemLogger } from "./subsystem-CNq69MoE.js";
5
- import { a as loadConfig } from "./io-Cy5vajWd.js";
6
- import { u as resolveAgentIdFromSessionKey } from "./session-key-CI3KvTQC.js";
7
- import "./config-DYHZ3jG1.js";
8
- import { t as getGlobalHookRunner } from "./hook-runner-global-tqFu1d31.js";
9
- import { u as resolveStorePath } from "./paths-CiRFr3OE.js";
10
- import { i as normalizeDeliveryContext } from "./delivery-context.shared-DnaA0DbE.js";
11
- import { t as loadSessionStore } from "./store-load-DLkfg3iM.js";
12
- import { o as updateSessionStore } from "./store-tuisxHpf.js";
13
- import "./sessions-kO7Dit6B.js";
14
- import { A as SUBAGENT_TARGET_KIND_SUBAGENT, C as resolveSubagentSessionStatus, D as SUBAGENT_ENDED_REASON_COMPLETE, E as SUBAGENT_ENDED_OUTCOME_TIMEOUT, O as SUBAGENT_ENDED_REASON_ERROR, S as getSubagentSessionStartedAt, T as SUBAGENT_ENDED_OUTCOME_KILLED, a as countActiveDescendantRunsFromRuns, c as countPendingDescendantRunsFromRuns, d as listDescendantRunsForRequesterFromRuns, f as listRunsForControllerFromRuns, i as subagentRuns, k as SUBAGENT_ENDED_REASON_KILLED, l as getSubagentRunByChildSessionKeyFromRuns, n as persistSubagentRunsToDisk, o as countActiveRunsForSessionFromRuns, r as restoreSubagentRunsFromDisk, t as getSubagentRunsSnapshotForRead, w as SUBAGENT_ENDED_OUTCOME_ERROR, x as getSubagentSessionRuntimeMs, y as isStaleUnendedSubagentRun } from "./subagent-registry-state-CpOSWZWQ.js";
15
- import { c as getAgentRunContext, l as onAgentEvent } from "./agent-events-DxDJre6N.js";
16
- import { s as retireSessionMcpRuntimeForSessionKey } from "./pi-bundle-mcp-runtime-DS32_bKh.js";
17
- import "./pi-bundle-mcp-tools-MVePSeQp.js";
18
- import { a as isSilentReplyText } from "./tokens-DUMwK-9w.js";
19
- import { r as callGateway } from "./call-D1wMcFp1.js";
20
- import { u as withSubagentOutcomeTiming } from "./subagent-announce-output-4itRkJFz.js";
21
- import { i as waitForAgentRun, t as isRecoverableAgentWaitError } from "./run-wait-DYca4W_o.js";
22
- import { t as registerPendingSpawnedChildrenQuery } from "./pending-spawn-query-sIsiQfUV.js";
23
- import "./subagent-announce-queue-Nc6z2YVi.js";
24
- import { i as failTaskRunByRunId, o as setDetachedTaskDeliveryStatusByRunId, r as createRunningTaskRun, t as completeTaskRunByRunId } from "./detached-task-runtime-DKySZjwC.js";
25
- import { t as configureSubagentRegistrySteerRuntime } from "./subagent-registry-steer-runtime-D7sIrTKv.js";
26
- import { t as resolveAgentTimeoutMs } from "./timeout-11LJq59k.js";
27
- import { promises } from "node:fs";
28
- import path from "node:path";
29
- //#region src/shared/runtime-import.ts
30
- async function importRuntimeModule(baseUrl, parts) {
31
- return await import(new URL(parts.join(""), baseUrl).href);
32
- }
33
- //#endregion
34
- //#region src/agents/subagent-registry-completion.ts
35
- function runOutcomesEqual(a, b) {
36
- if (!a && !b) return true;
37
- if (!a || !b) return false;
38
- if (a.status !== b.status) return false;
39
- if (a.status === "error" && b.status === "error") {
40
- if ((a.error ?? "") !== (b.error ?? "")) return false;
41
- }
42
- if (!runOutcomeHasTiming(a) || !runOutcomeHasTiming(b)) return true;
43
- return a.startedAt === b.startedAt && a.endedAt === b.endedAt && a.elapsedMs === b.elapsedMs;
44
- }
45
- function runOutcomeHasTiming(outcome) {
46
- return Number.isFinite(outcome?.startedAt) || Number.isFinite(outcome?.endedAt) || Number.isFinite(outcome?.elapsedMs);
47
- }
48
- function shouldUpdateRunOutcome(current, next) {
49
- return !runOutcomesEqual(current, next) || !runOutcomeHasTiming(current) && runOutcomeHasTiming(next);
50
- }
51
- function resolveLifecycleOutcomeFromRunOutcome(outcome) {
52
- if (outcome?.status === "error") return SUBAGENT_ENDED_OUTCOME_ERROR;
53
- if (outcome?.status === "timeout") return SUBAGENT_ENDED_OUTCOME_TIMEOUT;
54
- return "ok";
55
- }
56
- async function emitSubagentEndedHookOnce(params) {
57
- const runId = params.entry.runId.trim();
58
- if (!runId) return false;
59
- if (params.entry.endedHookEmittedAt) return false;
60
- if (params.inFlightRunIds.has(runId)) return false;
61
- params.inFlightRunIds.add(runId);
62
- try {
63
- const hookRunner = getGlobalHookRunner();
64
- if (!hookRunner) return false;
65
- if (hookRunner?.hasHooks("subagent_ended")) await hookRunner.runSubagentEnded({
66
- targetSessionKey: params.entry.childSessionKey,
67
- targetKind: SUBAGENT_TARGET_KIND_SUBAGENT,
68
- reason: params.reason,
69
- sendFarewell: params.sendFarewell,
70
- accountId: params.accountId,
71
- runId: params.entry.runId,
72
- endedAt: params.entry.endedAt,
73
- outcome: params.outcome,
74
- error: params.error
75
- }, {
76
- runId: params.entry.runId,
77
- childSessionKey: params.entry.childSessionKey,
78
- requesterSessionKey: params.entry.requesterSessionKey
79
- });
80
- params.entry.endedHookEmittedAt = Date.now();
81
- params.persist();
82
- return true;
83
- } catch {
84
- return false;
85
- } finally {
86
- params.inFlightRunIds.delete(runId);
87
- }
88
- }
89
- //#endregion
90
- //#region src/agents/subagent-registry-helpers.ts
91
- const MIN_ANNOUNCE_RETRY_DELAY_MS = 1e3;
92
- const MAX_ANNOUNCE_RETRY_DELAY_MS = 8e3;
93
- const ANNOUNCE_EXPIRY_MS = 5 * 6e4;
94
- const ANNOUNCE_COMPLETION_HARD_EXPIRY_MS = 30 * 6e4;
95
- const FROZEN_RESULT_TEXT_MAX_BYTES = 100 * 1024;
96
- function capFrozenResultText(resultText) {
97
- const trimmed = resultText.trim();
98
- if (!trimmed) return "";
99
- const totalBytes = Buffer.byteLength(trimmed, "utf8");
100
- if (totalBytes <= FROZEN_RESULT_TEXT_MAX_BYTES) return trimmed;
101
- const notice = `\n\n[truncated: frozen completion output exceeded ${Math.round(FROZEN_RESULT_TEXT_MAX_BYTES / 1024)}KB (${Math.round(totalBytes / 1024)}KB)]`;
102
- const maxPayloadBytes = Math.max(0, FROZEN_RESULT_TEXT_MAX_BYTES - Buffer.byteLength(notice, "utf8"));
103
- return `${Buffer.from(trimmed, "utf8").subarray(0, maxPayloadBytes).toString("utf8")}${notice}`;
104
- }
105
- function resolveAnnounceRetryDelayMs(retryCount) {
106
- const baseDelay = MIN_ANNOUNCE_RETRY_DELAY_MS * 2 ** Math.max(0, Math.max(0, Math.min(retryCount, 10)) - 1);
107
- return Math.min(baseDelay, MAX_ANNOUNCE_RETRY_DELAY_MS);
108
- }
109
- function logAnnounceGiveUp(entry, reason) {
110
- const retryCount = entry.announceRetryCount ?? 0;
111
- const endedAgoMs = typeof entry.endedAt === "number" ? Math.max(0, Date.now() - entry.endedAt) : void 0;
112
- const endedAgoLabel = endedAgoMs != null ? `${Math.round(endedAgoMs / 1e3)}s` : "n/a";
113
- defaultRuntime.log(`[warn] Subagent announce give up (${reason}) run=${entry.runId} child=${entry.childSessionKey} requester=${entry.requesterSessionKey} retries=${retryCount} endedAgo=${endedAgoLabel}`);
114
- }
115
- function findSessionEntryByKey$1(store, sessionKey) {
116
- const direct = store[sessionKey];
117
- if (direct) return direct;
118
- const normalized = normalizeLowercaseStringOrEmpty(sessionKey);
119
- for (const [key, entry] of Object.entries(store)) if (normalizeLowercaseStringOrEmpty(key) === normalized) return entry;
120
- }
121
- async function persistSubagentSessionTiming(entry) {
122
- const childSessionKey = entry.childSessionKey?.trim();
123
- if (!childSessionKey) return;
124
- const cfg = loadConfig();
125
- const agentId = resolveAgentIdFromSessionKey(childSessionKey);
126
- const storePath = resolveStorePath(cfg.session?.store, { agentId });
127
- const startedAt = getSubagentSessionStartedAt(entry);
128
- const endedAt = typeof entry.endedAt === "number" && Number.isFinite(entry.endedAt) ? entry.endedAt : void 0;
129
- const runtimeMs = endedAt !== void 0 ? getSubagentSessionRuntimeMs(entry, endedAt) : getSubagentSessionRuntimeMs(entry);
130
- const status = resolveSubagentSessionStatus(entry);
131
- await updateSessionStore(storePath, (store) => {
132
- const sessionEntry = findSessionEntryByKey$1(store, childSessionKey);
133
- if (!sessionEntry) return;
134
- if (typeof startedAt === "number" && Number.isFinite(startedAt)) sessionEntry.startedAt = startedAt;
135
- else delete sessionEntry.startedAt;
136
- if (typeof endedAt === "number" && Number.isFinite(endedAt)) sessionEntry.endedAt = endedAt;
137
- else delete sessionEntry.endedAt;
138
- if (typeof runtimeMs === "number" && Number.isFinite(runtimeMs)) sessionEntry.runtimeMs = runtimeMs;
139
- else delete sessionEntry.runtimeMs;
140
- if (status) sessionEntry.status = status;
141
- else delete sessionEntry.status;
142
- });
143
- }
144
- function resolveSubagentRunOrphanReason(params) {
145
- const childSessionKey = params.entry.childSessionKey?.trim();
146
- if (!childSessionKey) return "missing-session-entry";
147
- try {
148
- const cfg = loadConfig();
149
- const agentId = resolveAgentIdFromSessionKey(childSessionKey);
150
- const storePath = resolveStorePath(cfg.session?.store, { agentId });
151
- let store = params.storeCache?.get(storePath);
152
- if (!store) {
153
- store = loadSessionStore(storePath);
154
- params.storeCache?.set(storePath, store);
155
- }
156
- const sessionEntry = findSessionEntryByKey$1(store, childSessionKey);
157
- if (!sessionEntry) return "missing-session-entry";
158
- if (typeof sessionEntry.sessionId !== "string" || !sessionEntry.sessionId.trim()) return "missing-session-id";
159
- if (params.includeStaleUnended === true && sessionEntry.abortedLastRun !== true && isStaleUnendedSubagentRun(params.entry, params.now)) return "stale-unended-run";
160
- return null;
161
- } catch {
162
- return null;
163
- }
164
- }
165
- async function safeRemoveAttachmentsDir(entry) {
166
- if (!entry.attachmentsDir || !entry.attachmentsRootDir) return;
167
- const resolveReal = async (targetPath) => {
168
- try {
169
- return await promises.realpath(targetPath);
170
- } catch (err) {
171
- if (err?.code === "ENOENT") return null;
172
- throw err;
173
- }
174
- };
175
- try {
176
- const [rootReal, dirReal] = await Promise.all([resolveReal(entry.attachmentsRootDir), resolveReal(entry.attachmentsDir)]);
177
- if (!dirReal) return;
178
- const rootBase = rootReal ?? path.resolve(entry.attachmentsRootDir);
179
- const dirBase = dirReal;
180
- const rootWithSep = rootBase.endsWith(path.sep) ? rootBase : `${rootBase}${path.sep}`;
181
- if (!dirBase.startsWith(rootWithSep)) return;
182
- await promises.rm(dirBase, {
183
- recursive: true,
184
- force: true
185
- });
186
- } catch {}
187
- }
188
- function reconcileOrphanedRun(params) {
189
- const now = Date.now();
190
- let changed = false;
191
- if (typeof params.entry.endedAt !== "number") {
192
- params.entry.endedAt = now;
193
- changed = true;
194
- }
195
- const orphanOutcome = withSubagentOutcomeTiming({
196
- status: "error",
197
- error: `orphaned subagent run (${params.reason})`
198
- }, {
199
- startedAt: params.entry.startedAt,
200
- endedAt: params.entry.endedAt
201
- });
202
- if (shouldUpdateRunOutcome(params.entry.outcome, orphanOutcome)) {
203
- params.entry.outcome = orphanOutcome;
204
- changed = true;
205
- }
206
- if (params.entry.endedReason !== "subagent-error") {
207
- params.entry.endedReason = SUBAGENT_ENDED_REASON_ERROR;
208
- changed = true;
209
- }
210
- if (params.entry.cleanupHandled !== true) {
211
- params.entry.cleanupHandled = true;
212
- changed = true;
213
- }
214
- if (typeof params.entry.cleanupCompletedAt !== "number") {
215
- params.entry.cleanupCompletedAt = now;
216
- changed = true;
217
- }
218
- if (params.entry.cleanup === "delete" || !params.entry.retainAttachmentsOnKeep) safeRemoveAttachmentsDir(params.entry);
219
- const removed = params.runs.delete(params.runId);
220
- params.resumedRuns.delete(params.runId);
221
- if (!removed && !changed) return false;
222
- defaultRuntime.log(`[warn] Subagent orphan run pruned source=${params.source} run=${params.runId} child=${params.entry.childSessionKey} reason=${params.reason}`);
223
- return true;
224
- }
225
- function reconcileOrphanedRestoredRuns(params) {
226
- const storeCache = /* @__PURE__ */ new Map();
227
- const now = Date.now();
228
- let changed = false;
229
- for (const [runId, entry] of params.runs.entries()) {
230
- const orphanReason = resolveSubagentRunOrphanReason({
231
- entry,
232
- storeCache,
233
- includeStaleUnended: true,
234
- now
235
- });
236
- if (!orphanReason) continue;
237
- if (reconcileOrphanedRun({
238
- runId,
239
- entry,
240
- reason: orphanReason,
241
- source: "restore",
242
- runs: params.runs,
243
- resumedRuns: params.resumedRuns
244
- })) changed = true;
245
- }
246
- return changed;
247
- }
248
- function resolveArchiveAfterMs(cfg) {
249
- const minutes = (cfg ?? loadConfig()).agents?.defaults?.subagents?.archiveAfterMinutes ?? 60;
250
- if (!Number.isFinite(minutes) || minutes < 0) return;
251
- if (minutes === 0) return;
252
- return Math.max(1, Math.floor(minutes)) * 6e4;
253
- }
254
- //#endregion
255
- //#region src/sessions/session-lifecycle-events.ts
256
- const SESSION_LIFECYCLE_LISTENERS = /* @__PURE__ */ new Set();
257
- function onSessionLifecycleEvent(listener) {
258
- SESSION_LIFECYCLE_LISTENERS.add(listener);
259
- return () => {
260
- SESSION_LIFECYCLE_LISTENERS.delete(listener);
261
- };
262
- }
263
- function emitSessionLifecycleEvent(event) {
264
- for (const listener of SESSION_LIFECYCLE_LISTENERS) try {
265
- listener(event);
266
- } catch {}
267
- }
268
- //#endregion
269
- //#region src/agents/subagent-registry-cleanup.ts
270
- function resolveCleanupCompletionReason(entry) {
271
- return entry.endedReason ?? "subagent-complete";
272
- }
273
- function resolveEndedAgoMs(entry, now) {
274
- return typeof entry.endedAt === "number" ? now - entry.endedAt : 0;
275
- }
276
- function resolveDeferredCleanupDecision(params) {
277
- const endedAgo = resolveEndedAgoMs(params.entry, params.now);
278
- const isCompletionMessageFlow = params.entry.expectsCompletionMessage === true;
279
- const completionHardExpiryExceeded = isCompletionMessageFlow && endedAgo > params.announceCompletionHardExpiryMs;
280
- if (isCompletionMessageFlow && params.activeDescendantRuns > 0) {
281
- if (completionHardExpiryExceeded) return {
282
- kind: "give-up",
283
- reason: "expiry"
284
- };
285
- return {
286
- kind: "defer-descendants",
287
- delayMs: params.deferDescendantDelayMs
288
- };
289
- }
290
- const retryCount = (params.entry.announceRetryCount ?? 0) + 1;
291
- const expiryExceeded = isCompletionMessageFlow ? completionHardExpiryExceeded : endedAgo > params.announceExpiryMs;
292
- if (retryCount >= params.maxAnnounceRetryCount || expiryExceeded) return {
293
- kind: "give-up",
294
- reason: retryCount >= params.maxAnnounceRetryCount ? "retry-limit" : "expiry",
295
- retryCount
296
- };
297
- return {
298
- kind: "retry",
299
- retryCount,
300
- resumeDelayMs: params.resolveAnnounceRetryDelayMs(retryCount)
301
- };
302
- }
303
- //#endregion
304
- //#region src/agents/subagent-registry-lifecycle.ts
305
- let browserCleanupPromise$1 = null;
306
- async function loadCleanupBrowserSessionsForLifecycleEnd$1() {
307
- browserCleanupPromise$1 ??= import("./browser-lifecycle-cleanup-BrRANbkd.js");
308
- return (await browserCleanupPromise$1).cleanupBrowserSessionsForLifecycleEnd;
309
- }
310
- function createSubagentRegistryLifecycleController(params) {
311
- const scheduledResumeTimers = /* @__PURE__ */ new Set();
312
- const scheduleResumeSubagentRun = (runId, entry, delayMs) => {
313
- const timer = setTimeout(() => {
314
- scheduledResumeTimers.delete(timer);
315
- if (params.runs.get(runId) !== entry) return;
316
- params.resumeSubagentRun(runId);
317
- }, delayMs);
318
- timer.unref?.();
319
- scheduledResumeTimers.add(timer);
320
- };
321
- const clearScheduledResumeTimers = () => {
322
- for (const timer of scheduledResumeTimers) clearTimeout(timer);
323
- scheduledResumeTimers.clear();
324
- };
325
- const maskRunId = (runId) => {
326
- const trimmed = runId.trim();
327
- if (!trimmed) return "unknown";
328
- if (trimmed.length <= 8) return "***";
329
- return `${trimmed.slice(0, 4)}…${trimmed.slice(-4)}`;
330
- };
331
- const maskSessionKey = (sessionKey) => {
332
- const trimmed = sessionKey.trim();
333
- if (!trimmed) return "unknown";
334
- return `${trimmed.split(":").slice(0, 2).join(":") || "session"}:…`;
335
- };
336
- const buildSafeLifecycleErrorMeta = (err) => {
337
- const message = formatErrorMessage(err);
338
- const name = readErrorName(err);
339
- return name ? {
340
- name,
341
- message
342
- } : { message };
343
- };
344
- const safeSetSubagentTaskDeliveryStatus = (args) => {
345
- try {
346
- setDetachedTaskDeliveryStatusByRunId({
347
- runId: args.runId,
348
- runtime: "subagent",
349
- sessionKey: args.childSessionKey,
350
- deliveryStatus: args.deliveryStatus
351
- });
352
- } catch (err) {
353
- params.warn("failed to update subagent background task delivery state", {
354
- error: buildSafeLifecycleErrorMeta(err),
355
- runId: maskRunId(args.runId),
356
- childSessionKey: maskSessionKey(args.childSessionKey),
357
- deliveryStatus: args.deliveryStatus
358
- });
359
- }
360
- };
361
- const safeFinalizeSubagentTaskRun = (args) => {
362
- const endedAt = args.entry.endedAt ?? Date.now();
363
- const lastEventAt = endedAt;
364
- try {
365
- if (args.outcome.status === "ok") {
366
- completeTaskRunByRunId({
367
- runId: args.entry.runId,
368
- runtime: "subagent",
369
- sessionKey: args.entry.childSessionKey,
370
- endedAt,
371
- lastEventAt,
372
- progressSummary: args.entry.frozenResultText ?? void 0,
373
- terminalSummary: null
374
- });
375
- return;
376
- }
377
- failTaskRunByRunId({
378
- runId: args.entry.runId,
379
- runtime: "subagent",
380
- sessionKey: args.entry.childSessionKey,
381
- status: args.outcome.status === "timeout" ? "timed_out" : "failed",
382
- endedAt,
383
- lastEventAt,
384
- error: args.outcome.status === "error" ? args.outcome.error : void 0,
385
- progressSummary: args.entry.frozenResultText ?? void 0,
386
- terminalSummary: null
387
- });
388
- } catch (err) {
389
- params.warn("failed to finalize subagent background task state", {
390
- error: buildSafeLifecycleErrorMeta(err),
391
- runId: maskRunId(args.entry.runId),
392
- childSessionKey: maskSessionKey(args.entry.childSessionKey),
393
- outcomeStatus: args.outcome.status
394
- });
395
- }
396
- };
397
- const freezeRunResultAtCompletion = async (entry, outcome) => {
398
- if (entry.frozenResultText !== void 0) return false;
399
- if (outcome.status === "error") {
400
- entry.frozenResultText = null;
401
- entry.frozenResultCapturedAt = Date.now();
402
- return true;
403
- }
404
- try {
405
- const captured = await params.captureSubagentCompletionReply(entry.childSessionKey, {
406
- waitForReply: entry.expectsCompletionMessage === true,
407
- outcome
408
- });
409
- entry.frozenResultText = captured?.trim() ? capFrozenResultText(captured) : null;
410
- } catch {
411
- entry.frozenResultText = null;
412
- }
413
- entry.frozenResultCapturedAt = Date.now();
414
- return true;
415
- };
416
- const listPendingCompletionRunsForSession = (sessionKey) => {
417
- const key = sessionKey.trim();
418
- if (!key) return [];
419
- const out = [];
420
- for (const entry of params.runs.values()) {
421
- if (entry.childSessionKey !== key) continue;
422
- if (entry.expectsCompletionMessage !== true) continue;
423
- if (typeof entry.endedAt !== "number") continue;
424
- if (typeof entry.cleanupCompletedAt === "number") continue;
425
- out.push(entry);
426
- }
427
- return out;
428
- };
429
- const refreshFrozenResultFromSession = async (sessionKey) => {
430
- const candidates = listPendingCompletionRunsForSession(sessionKey).filter((entry) => entry.outcome?.status !== "error");
431
- if (candidates.length === 0) return false;
432
- let captured;
433
- try {
434
- captured = await params.captureSubagentCompletionReply(sessionKey);
435
- } catch {
436
- return false;
437
- }
438
- const trimmed = captured?.trim();
439
- if (!trimmed || isSilentReplyText(trimmed, "NO_REPLY")) return false;
440
- const nextFrozen = capFrozenResultText(trimmed);
441
- const capturedAt = Date.now();
442
- let changed = false;
443
- for (const entry of candidates) {
444
- if (entry.frozenResultText === nextFrozen) continue;
445
- entry.frozenResultText = nextFrozen;
446
- entry.frozenResultCapturedAt = capturedAt;
447
- changed = true;
448
- }
449
- if (changed) params.persist();
450
- return changed;
451
- };
452
- const emitCompletionEndedHookIfNeeded = async (entry, reason) => {
453
- if (entry.expectsCompletionMessage === true && params.shouldEmitEndedHookForRun({
454
- entry,
455
- reason
456
- })) await params.emitSubagentEndedHookForRun({
457
- entry,
458
- reason,
459
- sendFarewell: true
460
- });
461
- };
462
- const finalizeResumedAnnounceGiveUp = async (giveUpParams) => {
463
- safeSetSubagentTaskDeliveryStatus({
464
- runId: giveUpParams.runId,
465
- childSessionKey: giveUpParams.entry.childSessionKey,
466
- deliveryStatus: "failed"
467
- });
468
- giveUpParams.entry.wakeOnDescendantSettle = void 0;
469
- giveUpParams.entry.fallbackFrozenResultText = void 0;
470
- giveUpParams.entry.fallbackFrozenResultCapturedAt = void 0;
471
- if (giveUpParams.entry.cleanup === "delete" || !giveUpParams.entry.retainAttachmentsOnKeep) await safeRemoveAttachmentsDir(giveUpParams.entry);
472
- const completionReason = resolveCleanupCompletionReason(giveUpParams.entry);
473
- logAnnounceGiveUp(giveUpParams.entry, giveUpParams.reason);
474
- completeCleanupBookkeeping({
475
- runId: giveUpParams.runId,
476
- entry: giveUpParams.entry,
477
- cleanup: giveUpParams.entry.cleanup,
478
- completedAt: Date.now()
479
- });
480
- await emitCompletionEndedHookIfNeeded(giveUpParams.entry, completionReason);
481
- };
482
- const beginSubagentCleanup = (runId) => {
483
- const entry = params.runs.get(runId);
484
- if (!entry) return false;
485
- if (entry.cleanupCompletedAt || entry.cleanupHandled) return false;
486
- entry.cleanupHandled = true;
487
- params.persist();
488
- return true;
489
- };
490
- const retryDeferredCompletedAnnounces = (excludeRunId) => {
491
- const now = Date.now();
492
- for (const [runId, entry] of params.runs.entries()) {
493
- if (excludeRunId && runId === excludeRunId) continue;
494
- if (typeof entry.endedAt !== "number") continue;
495
- if (entry.cleanupCompletedAt || entry.cleanupHandled) continue;
496
- if (params.suppressAnnounceForSteerRestart(entry)) continue;
497
- const endedAgo = now - (entry.endedAt ?? now);
498
- if (entry.expectsCompletionMessage !== true && endedAgo > 3e5) {
499
- if (!beginSubagentCleanup(runId)) continue;
500
- finalizeResumedAnnounceGiveUp({
501
- runId,
502
- entry,
503
- reason: "expiry"
504
- }).catch((error) => {
505
- defaultRuntime.log(`[warn] Subagent expiry finalize failed during deferred retry for run ${runId}: ${String(error)}`);
506
- const current = params.runs.get(runId);
507
- if (!current || current.cleanupCompletedAt) return;
508
- current.cleanupHandled = false;
509
- params.persist();
510
- });
511
- continue;
512
- }
513
- params.resumedRuns.delete(runId);
514
- params.resumeSubagentRun(runId);
515
- }
516
- };
517
- const completeCleanupBookkeeping = (cleanupParams) => {
518
- if (cleanupParams.entry.spawnMode !== "session") retireSessionMcpRuntimeForSessionKey({
519
- sessionKey: cleanupParams.entry.childSessionKey,
520
- reason: "subagent-run-cleanup",
521
- onError: (error, sessionId) => {
522
- params.warn("failed to retire subagent bundle MCP runtime", {
523
- error: buildSafeLifecycleErrorMeta(error),
524
- sessionId,
525
- runId: maskRunId(cleanupParams.runId),
526
- childSessionKey: maskSessionKey(cleanupParams.entry.childSessionKey)
527
- });
528
- }
529
- });
530
- if (cleanupParams.cleanup === "delete") {
531
- params.clearPendingLifecycleError(cleanupParams.runId);
532
- params.notifyContextEngineSubagentEnded({
533
- childSessionKey: cleanupParams.entry.childSessionKey,
534
- reason: "deleted",
535
- workspaceDir: cleanupParams.entry.workspaceDir
536
- });
537
- params.runs.delete(cleanupParams.runId);
538
- params.persist();
539
- retryDeferredCompletedAnnounces(cleanupParams.runId);
540
- return;
541
- }
542
- params.notifyContextEngineSubagentEnded({
543
- childSessionKey: cleanupParams.entry.childSessionKey,
544
- reason: "completed",
545
- workspaceDir: cleanupParams.entry.workspaceDir
546
- });
547
- cleanupParams.entry.cleanupCompletedAt = cleanupParams.completedAt;
548
- params.persist();
549
- retryDeferredCompletedAnnounces(cleanupParams.runId);
550
- };
551
- const retireRunModeBundleMcpRuntime = (cleanupParams) => {
552
- if (cleanupParams.entry.spawnMode === "session") return;
553
- retireSessionMcpRuntimeForSessionKey({
554
- sessionKey: cleanupParams.entry.childSessionKey,
555
- reason: cleanupParams.reason,
556
- onError: (error, sessionId) => {
557
- params.warn("failed to retire subagent bundle MCP runtime", {
558
- error: buildSafeLifecycleErrorMeta(error),
559
- sessionId,
560
- runId: maskRunId(cleanupParams.runId),
561
- childSessionKey: maskSessionKey(cleanupParams.entry.childSessionKey)
562
- });
563
- }
564
- });
565
- };
566
- const finalizeSubagentCleanup = async (runId, cleanup, didAnnounce, options) => {
567
- const entry = params.runs.get(runId);
568
- if (!entry) return;
569
- if (didAnnounce) {
570
- if (!options?.skipAnnounce) {
571
- entry.completionAnnouncedAt = Date.now();
572
- params.persist();
573
- }
574
- safeSetSubagentTaskDeliveryStatus({
575
- runId,
576
- childSessionKey: entry.childSessionKey,
577
- deliveryStatus: "delivered"
578
- });
579
- entry.wakeOnDescendantSettle = void 0;
580
- entry.fallbackFrozenResultText = void 0;
581
- entry.fallbackFrozenResultCapturedAt = void 0;
582
- await emitCompletionEndedHookIfNeeded(entry, resolveCleanupCompletionReason(entry));
583
- if (cleanup === "delete" || !entry.retainAttachmentsOnKeep) await safeRemoveAttachmentsDir(entry);
584
- if (cleanup === "delete") {
585
- entry.frozenResultText = void 0;
586
- entry.frozenResultCapturedAt = void 0;
587
- }
588
- completeCleanupBookkeeping({
589
- runId,
590
- entry,
591
- cleanup,
592
- completedAt: Date.now()
593
- });
594
- return;
595
- }
596
- const now = Date.now();
597
- const deferredDecision = resolveDeferredCleanupDecision({
598
- entry,
599
- now,
600
- activeDescendantRuns: Math.max(0, params.countPendingDescendantRuns(entry.childSessionKey)),
601
- announceExpiryMs: ANNOUNCE_EXPIRY_MS,
602
- announceCompletionHardExpiryMs: ANNOUNCE_COMPLETION_HARD_EXPIRY_MS,
603
- maxAnnounceRetryCount: 3,
604
- deferDescendantDelayMs: MIN_ANNOUNCE_RETRY_DELAY_MS,
605
- resolveAnnounceRetryDelayMs
606
- });
607
- if (deferredDecision.kind === "defer-descendants") {
608
- entry.lastAnnounceRetryAt = now;
609
- entry.wakeOnDescendantSettle = true;
610
- entry.cleanupHandled = false;
611
- params.resumedRuns.delete(runId);
612
- params.persist();
613
- scheduleResumeSubagentRun(runId, entry, deferredDecision.delayMs);
614
- return;
615
- }
616
- if (deferredDecision.retryCount != null) {
617
- entry.announceRetryCount = deferredDecision.retryCount;
618
- entry.lastAnnounceRetryAt = now;
619
- }
620
- if (deferredDecision.kind === "give-up") {
621
- safeSetSubagentTaskDeliveryStatus({
622
- runId,
623
- childSessionKey: entry.childSessionKey,
624
- deliveryStatus: "failed"
625
- });
626
- entry.wakeOnDescendantSettle = void 0;
627
- entry.fallbackFrozenResultText = void 0;
628
- entry.fallbackFrozenResultCapturedAt = void 0;
629
- if (cleanup === "delete" || !entry.retainAttachmentsOnKeep) await safeRemoveAttachmentsDir(entry);
630
- const completionReason = resolveCleanupCompletionReason(entry);
631
- logAnnounceGiveUp(entry, deferredDecision.reason);
632
- completeCleanupBookkeeping({
633
- runId,
634
- entry,
635
- cleanup,
636
- completedAt: now
637
- });
638
- await emitCompletionEndedHookIfNeeded(entry, completionReason);
639
- return;
640
- }
641
- entry.cleanupHandled = false;
642
- params.resumedRuns.delete(runId);
643
- params.persist();
644
- if (deferredDecision.resumeDelayMs == null) return;
645
- scheduleResumeSubagentRun(runId, entry, deferredDecision.resumeDelayMs);
646
- };
647
- const startSubagentAnnounceCleanupFlow = (runId, entry) => {
648
- if (typeof entry.completionAnnouncedAt === "number") {
649
- if (!beginSubagentCleanup(runId)) return false;
650
- finalizeSubagentCleanup(runId, entry.cleanup, true, { skipAnnounce: true }).catch((err) => {
651
- defaultRuntime.log(`[warn] subagent cleanup finalize failed (${runId}): ${String(err)}`);
652
- const current = params.runs.get(runId);
653
- if (!current || current.cleanupCompletedAt) return;
654
- current.cleanupHandled = false;
655
- params.persist();
656
- });
657
- return true;
658
- }
659
- if (!beginSubagentCleanup(runId)) return false;
660
- const requesterOrigin = normalizeDeliveryContext(entry.requesterOrigin);
661
- const finalizeAnnounceCleanup = (didAnnounce) => {
662
- finalizeSubagentCleanup(runId, entry.cleanup, didAnnounce).catch((err) => {
663
- defaultRuntime.log(`[warn] subagent cleanup finalize failed (${runId}): ${String(err)}`);
664
- const current = params.runs.get(runId);
665
- if (!current || current.cleanupCompletedAt) return;
666
- current.cleanupHandled = false;
667
- params.persist();
668
- });
669
- };
670
- params.runSubagentAnnounceFlow({
671
- childSessionKey: entry.childSessionKey,
672
- childRunId: entry.runId,
673
- requesterSessionKey: entry.requesterSessionKey,
674
- requesterOrigin,
675
- requesterDisplayKey: entry.requesterDisplayKey,
676
- task: entry.task,
677
- timeoutMs: params.subagentAnnounceTimeoutMs,
678
- cleanup: entry.cleanup,
679
- roundOneReply: entry.frozenResultText ?? void 0,
680
- fallbackReply: entry.fallbackFrozenResultText ?? void 0,
681
- waitForCompletion: false,
682
- startedAt: entry.startedAt,
683
- endedAt: entry.endedAt,
684
- label: entry.label,
685
- outcome: entry.outcome,
686
- spawnMode: entry.spawnMode,
687
- expectsCompletionMessage: entry.expectsCompletionMessage,
688
- wakeOnDescendantSettle: entry.wakeOnDescendantSettle === true
689
- }).then((didAnnounce) => {
690
- finalizeAnnounceCleanup(didAnnounce);
691
- }).catch((error) => {
692
- defaultRuntime.log(`[warn] Subagent announce flow failed during cleanup for run ${runId}: ${String(error)}`);
693
- finalizeAnnounceCleanup(false);
694
- });
695
- return true;
696
- };
697
- const completeSubagentRun = async (completeParams) => {
698
- params.clearPendingLifecycleError(completeParams.runId);
699
- const entry = params.runs.get(completeParams.runId);
700
- if (!entry) return;
701
- let mutated = false;
702
- if (completeParams.reason === "subagent-complete" && entry.suppressAnnounceReason === "killed" && (entry.cleanupHandled || typeof entry.cleanupCompletedAt === "number")) {
703
- entry.suppressAnnounceReason = void 0;
704
- entry.cleanupHandled = false;
705
- entry.cleanupCompletedAt = void 0;
706
- entry.completionAnnouncedAt = void 0;
707
- mutated = true;
708
- }
709
- const endedAt = typeof completeParams.endedAt === "number" ? completeParams.endedAt : Date.now();
710
- if (entry.endedAt !== endedAt) {
711
- entry.endedAt = endedAt;
712
- mutated = true;
713
- }
714
- const outcome = withSubagentOutcomeTiming(completeParams.outcome, {
715
- startedAt: entry.startedAt,
716
- endedAt
717
- });
718
- if (shouldUpdateRunOutcome(entry.outcome, outcome)) {
719
- entry.outcome = outcome;
720
- mutated = true;
721
- }
722
- if (entry.endedReason !== completeParams.reason) {
723
- entry.endedReason = completeParams.reason;
724
- mutated = true;
725
- }
726
- if (await freezeRunResultAtCompletion(entry, outcome)) mutated = true;
727
- if (mutated) params.persist();
728
- safeFinalizeSubagentTaskRun({
729
- entry,
730
- outcome
731
- });
732
- try {
733
- await persistSubagentSessionTiming(entry);
734
- } catch (err) {
735
- params.warn("failed to persist subagent session timing", {
736
- err,
737
- runId: entry.runId,
738
- childSessionKey: entry.childSessionKey
739
- });
740
- }
741
- const suppressedForSteerRestart = params.suppressAnnounceForSteerRestart(entry);
742
- if (mutated && !suppressedForSteerRestart) emitSessionLifecycleEvent({
743
- sessionKey: entry.childSessionKey,
744
- reason: "subagent-status",
745
- parentSessionKey: entry.requesterSessionKey,
746
- label: entry.label
747
- });
748
- const shouldEmitEndedHook = !suppressedForSteerRestart && params.shouldEmitEndedHookForRun({
749
- entry,
750
- reason: completeParams.reason
751
- });
752
- if (!(shouldEmitEndedHook && completeParams.triggerCleanup && entry.expectsCompletionMessage === true && !suppressedForSteerRestart) && shouldEmitEndedHook) await params.emitSubagentEndedHookForRun({
753
- entry,
754
- reason: completeParams.reason,
755
- sendFarewell: completeParams.sendFarewell,
756
- accountId: completeParams.accountId
757
- });
758
- if (!completeParams.triggerCleanup || suppressedForSteerRestart) return;
759
- await (params.cleanupBrowserSessionsForLifecycleEnd ?? await loadCleanupBrowserSessionsForLifecycleEnd$1())({
760
- sessionKeys: [entry.childSessionKey],
761
- onWarn: (msg) => params.warn(msg, { runId: entry.runId })
762
- });
763
- retireRunModeBundleMcpRuntime({
764
- runId: completeParams.runId,
765
- entry,
766
- reason: "subagent-run-complete"
767
- });
768
- startSubagentAnnounceCleanupFlow(completeParams.runId, entry);
769
- };
770
- return {
771
- clearScheduledResumeTimers,
772
- completeCleanupBookkeeping,
773
- completeSubagentRun,
774
- finalizeResumedAnnounceGiveUp,
775
- refreshFrozenResultFromSession,
776
- startSubagentAnnounceCleanupFlow
777
- };
778
- }
779
- //#endregion
780
- //#region src/agents/subagent-registry-run-manager.ts
781
- const log$1 = createSubsystemLogger("agents/subagent-registry");
782
- const RECOVERABLE_WAIT_RETRY_DELAY_MS = process.env.GENESIS_TEST_FAST === "1" ? 25 : 5e3;
783
- function shouldDeleteAttachments(entry) {
784
- return entry.cleanup === "delete" || !entry.retainAttachmentsOnKeep;
785
- }
786
- function createSubagentRunManager(params) {
787
- const waitForSubagentCompletion = async (runId, waitTimeoutMs, expectedEntry) => {
788
- try {
789
- const wait = await waitForAgentRun({
790
- runId,
791
- timeoutMs: Math.max(1, Math.floor(waitTimeoutMs)),
792
- callGateway: params.callGateway
793
- });
794
- const entry = params.runs.get(runId);
795
- if (!entry || expectedEntry && entry !== expectedEntry) return;
796
- if (wait.status === "pending") return;
797
- if (wait.status === "error" && isRecoverableAgentWaitError(wait.error)) {
798
- log$1.info("subagent wait interrupted; scheduling recovery", {
799
- runId,
800
- childSessionKey: expectedEntry?.childSessionKey ?? entry?.childSessionKey,
801
- error: wait.error
802
- });
803
- params.scheduleOrphanRecovery({ delayMs: 1e3 });
804
- const scheduledEntry = entry;
805
- setTimeout(() => {
806
- if (!scheduledEntry) return;
807
- const current = params.runs.get(runId);
808
- if (!current || current !== scheduledEntry || typeof current.endedAt === "number") return;
809
- waitForSubagentCompletion(runId, waitTimeoutMs, scheduledEntry);
810
- }, RECOVERABLE_WAIT_RETRY_DELAY_MS).unref?.();
811
- return;
812
- }
813
- let mutated = false;
814
- if (typeof wait.startedAt === "number") {
815
- entry.startedAt = wait.startedAt;
816
- if (typeof entry.sessionStartedAt !== "number") entry.sessionStartedAt = wait.startedAt;
817
- mutated = true;
818
- }
819
- if (typeof wait.endedAt === "number") {
820
- entry.endedAt = wait.endedAt;
821
- mutated = true;
822
- }
823
- if (!entry.endedAt) {
824
- entry.endedAt = Date.now();
825
- mutated = true;
826
- }
827
- const waitError = typeof wait.error === "string" ? wait.error : void 0;
828
- const outcome = withSubagentOutcomeTiming(wait.status === "error" ? {
829
- status: "error",
830
- error: waitError
831
- } : wait.status === "timeout" ? { status: "timeout" } : { status: "ok" }, {
832
- startedAt: entry.startedAt,
833
- endedAt: entry.endedAt
834
- });
835
- if (shouldUpdateRunOutcome(entry.outcome, outcome)) {
836
- entry.outcome = outcome;
837
- mutated = true;
838
- }
839
- if (mutated) params.persist();
840
- await params.completeSubagentRun({
841
- runId,
842
- endedAt: entry.endedAt,
843
- outcome,
844
- reason: wait.status === "error" ? SUBAGENT_ENDED_REASON_ERROR : SUBAGENT_ENDED_REASON_COMPLETE,
845
- sendFarewell: true,
846
- accountId: entry.requesterOrigin?.accountId,
847
- triggerCleanup: true
848
- });
849
- } catch {}
850
- };
851
- const markSubagentRunForSteerRestart = (runId) => {
852
- const key = runId.trim();
853
- if (!key) return false;
854
- const entry = params.runs.get(key);
855
- if (!entry) return false;
856
- if (entry.suppressAnnounceReason === "steer-restart") return true;
857
- entry.suppressAnnounceReason = "steer-restart";
858
- params.persist();
859
- return true;
860
- };
861
- const clearSubagentRunSteerRestart = (runId) => {
862
- const key = runId.trim();
863
- if (!key) return false;
864
- const entry = params.runs.get(key);
865
- if (!entry) return false;
866
- if (entry.suppressAnnounceReason !== "steer-restart") return true;
867
- entry.suppressAnnounceReason = void 0;
868
- params.persist();
869
- params.resumedRuns.delete(key);
870
- if (typeof entry.endedAt === "number" && !entry.cleanupCompletedAt) params.resumeSubagentRun(key);
871
- return true;
872
- };
873
- const replaceSubagentRunAfterSteer = (replaceParams) => {
874
- const previousRunId = replaceParams.previousRunId.trim();
875
- const nextRunId = replaceParams.nextRunId.trim();
876
- if (!previousRunId || !nextRunId) return false;
877
- const source = params.runs.get(previousRunId) ?? replaceParams.fallback;
878
- if (!source) return false;
879
- if (previousRunId !== nextRunId) {
880
- params.clearPendingLifecycleError(previousRunId);
881
- if (shouldDeleteAttachments(source)) safeRemoveAttachmentsDir(source);
882
- params.runs.delete(previousRunId);
883
- params.resumedRuns.delete(previousRunId);
884
- }
885
- const now = Date.now();
886
- const cfg = params.loadConfig();
887
- const archiveAfterMs = resolveArchiveAfterMs(cfg);
888
- const spawnMode = source.spawnMode === "session" ? "session" : "run";
889
- const archiveAtMs = spawnMode === "session" || source.cleanup === "keep" ? void 0 : archiveAfterMs ? now + archiveAfterMs : void 0;
890
- const runTimeoutSeconds = replaceParams.runTimeoutSeconds ?? source.runTimeoutSeconds ?? 0;
891
- const waitTimeoutMs = params.resolveSubagentWaitTimeoutMs(cfg, runTimeoutSeconds);
892
- const preserveFrozenResultFallback = replaceParams.preserveFrozenResultFallback === true;
893
- const sessionStartedAt = getSubagentSessionStartedAt(source) ?? now;
894
- const accumulatedRuntimeMs = getSubagentSessionRuntimeMs(source, typeof source.endedAt === "number" ? source.endedAt : now) ?? 0;
895
- const next = {
896
- ...source,
897
- runId: nextRunId,
898
- createdAt: now,
899
- startedAt: now,
900
- sessionStartedAt,
901
- accumulatedRuntimeMs,
902
- endedAt: void 0,
903
- endedReason: void 0,
904
- endedHookEmittedAt: void 0,
905
- wakeOnDescendantSettle: void 0,
906
- outcome: void 0,
907
- frozenResultText: void 0,
908
- frozenResultCapturedAt: void 0,
909
- fallbackFrozenResultText: preserveFrozenResultFallback ? source.frozenResultText : void 0,
910
- fallbackFrozenResultCapturedAt: preserveFrozenResultFallback ? source.frozenResultCapturedAt : void 0,
911
- cleanupCompletedAt: void 0,
912
- cleanupHandled: false,
913
- completionAnnouncedAt: void 0,
914
- suppressAnnounceReason: void 0,
915
- announceRetryCount: void 0,
916
- lastAnnounceRetryAt: void 0,
917
- spawnMode,
918
- archiveAtMs,
919
- runTimeoutSeconds
920
- };
921
- params.runs.set(nextRunId, next);
922
- params.ensureListener();
923
- params.persist();
924
- params.startSweeper();
925
- waitForSubagentCompletion(nextRunId, waitTimeoutMs, next);
926
- return true;
927
- };
928
- const registerSubagentRun = (registerParams) => {
929
- const runId = registerParams.runId.trim();
930
- const childSessionKey = registerParams.childSessionKey.trim();
931
- const requesterSessionKey = registerParams.requesterSessionKey.trim();
932
- const controllerSessionKey = registerParams.controllerSessionKey?.trim() || requesterSessionKey;
933
- if (!runId || !childSessionKey || !requesterSessionKey) return;
934
- const now = Date.now();
935
- const cfg = params.loadConfig();
936
- const archiveAfterMs = resolveArchiveAfterMs(cfg);
937
- const spawnMode = registerParams.spawnMode === "session" ? "session" : "run";
938
- const archiveAtMs = spawnMode === "session" || registerParams.cleanup === "keep" ? void 0 : archiveAfterMs ? now + archiveAfterMs : void 0;
939
- const runTimeoutSeconds = registerParams.runTimeoutSeconds ?? 0;
940
- const waitTimeoutMs = params.resolveSubagentWaitTimeoutMs(cfg, runTimeoutSeconds);
941
- const requesterOrigin = normalizeDeliveryContext(registerParams.requesterOrigin);
942
- const entry = {
943
- runId,
944
- childSessionKey,
945
- controllerSessionKey,
946
- requesterSessionKey,
947
- requesterOrigin,
948
- requesterDisplayKey: registerParams.requesterDisplayKey,
949
- task: registerParams.task,
950
- cleanup: registerParams.cleanup,
951
- expectsCompletionMessage: registerParams.expectsCompletionMessage,
952
- spawnMode,
953
- label: registerParams.label,
954
- model: registerParams.model,
955
- workspaceDir: registerParams.workspaceDir,
956
- runTimeoutSeconds,
957
- createdAt: now,
958
- startedAt: now,
959
- sessionStartedAt: now,
960
- accumulatedRuntimeMs: 0,
961
- archiveAtMs,
962
- cleanupHandled: false,
963
- completionAnnouncedAt: void 0,
964
- wakeOnDescendantSettle: void 0,
965
- attachmentsDir: registerParams.attachmentsDir,
966
- attachmentsRootDir: registerParams.attachmentsRootDir,
967
- retainAttachmentsOnKeep: registerParams.retainAttachmentsOnKeep
968
- };
969
- params.runs.set(runId, entry);
970
- try {
971
- createRunningTaskRun({
972
- runtime: "subagent",
973
- sourceId: runId,
974
- ownerKey: requesterSessionKey,
975
- scopeKind: "session",
976
- requesterOrigin,
977
- childSessionKey,
978
- runId,
979
- label: registerParams.label,
980
- task: registerParams.task,
981
- deliveryStatus: registerParams.expectsCompletionMessage === false ? "not_applicable" : "pending",
982
- startedAt: now,
983
- lastEventAt: now
984
- });
985
- } catch (error) {
986
- log$1.warn("Failed to create background task for subagent run", {
987
- runId: registerParams.runId,
988
- error
989
- });
990
- }
991
- params.ensureListener();
992
- params.persist();
993
- params.startSweeper();
994
- waitForSubagentCompletion(runId, waitTimeoutMs, entry);
995
- };
996
- const releaseSubagentRun = (runId) => {
997
- params.clearPendingLifecycleError(runId);
998
- const entry = params.runs.get(runId);
999
- if (entry) {
1000
- if (shouldDeleteAttachments(entry)) safeRemoveAttachmentsDir(entry);
1001
- params.notifyContextEngineSubagentEnded({
1002
- childSessionKey: entry.childSessionKey,
1003
- reason: "released",
1004
- workspaceDir: entry.workspaceDir
1005
- });
1006
- }
1007
- if (params.runs.delete(runId)) params.persist();
1008
- if (params.runs.size === 0) params.stopSweeper();
1009
- };
1010
- const markSubagentRunTerminated = (markParams) => {
1011
- const runIds = /* @__PURE__ */ new Set();
1012
- if (typeof markParams.runId === "string" && markParams.runId.trim()) runIds.add(markParams.runId.trim());
1013
- if (typeof markParams.childSessionKey === "string" && markParams.childSessionKey.trim()) {
1014
- for (const [runId, entry] of params.runs.entries()) if (entry.childSessionKey === markParams.childSessionKey.trim()) runIds.add(runId);
1015
- }
1016
- if (runIds.size === 0) return 0;
1017
- const now = Date.now();
1018
- const reason = markParams.reason?.trim() || "killed";
1019
- let updated = 0;
1020
- const entriesByChildSessionKey = /* @__PURE__ */ new Map();
1021
- for (const runId of runIds) {
1022
- params.clearPendingLifecycleError(runId);
1023
- const entry = params.runs.get(runId);
1024
- if (!entry) continue;
1025
- if (typeof entry.endedAt === "number") continue;
1026
- entry.endedAt = now;
1027
- entry.outcome = withSubagentOutcomeTiming({
1028
- status: "error",
1029
- error: reason
1030
- }, {
1031
- startedAt: entry.startedAt,
1032
- endedAt: now
1033
- });
1034
- entry.endedReason = SUBAGENT_ENDED_REASON_KILLED;
1035
- entry.cleanupHandled = true;
1036
- entry.cleanupCompletedAt = now;
1037
- entry.suppressAnnounceReason = "killed";
1038
- if (!entriesByChildSessionKey.has(entry.childSessionKey)) entriesByChildSessionKey.set(entry.childSessionKey, entry);
1039
- updated += 1;
1040
- }
1041
- if (updated > 0) {
1042
- params.persist();
1043
- for (const entry of entriesByChildSessionKey.values()) {
1044
- const emitEndedHook = () => emitSubagentEndedHookOnce({
1045
- entry,
1046
- reason: SUBAGENT_ENDED_REASON_KILLED,
1047
- sendFarewell: true,
1048
- accountId: entry.requesterOrigin?.accountId,
1049
- outcome: SUBAGENT_ENDED_OUTCOME_KILLED,
1050
- error: reason,
1051
- inFlightRunIds: params.endedHookInFlightRunIds,
1052
- persist: () => params.persist()
1053
- });
1054
- persistSubagentSessionTiming(entry).catch((err) => {
1055
- log$1.warn("failed to persist killed subagent session timing", {
1056
- err,
1057
- runId: entry.runId,
1058
- childSessionKey: entry.childSessionKey
1059
- });
1060
- });
1061
- if (shouldDeleteAttachments(entry)) safeRemoveAttachmentsDir(entry);
1062
- params.completeCleanupBookkeeping({
1063
- runId: entry.runId,
1064
- entry,
1065
- cleanup: entry.cleanup,
1066
- completedAt: now
1067
- });
1068
- if (getGlobalHookRunner()) {
1069
- emitEndedHook().catch(() => {});
1070
- continue;
1071
- }
1072
- const cfg = params.loadConfig();
1073
- Promise.resolve(params.ensureRuntimePluginsLoaded({
1074
- config: cfg,
1075
- workspaceDir: entry.workspaceDir,
1076
- allowGatewaySubagentBinding: true
1077
- })).then(emitEndedHook).catch(() => {});
1078
- }
1079
- }
1080
- return updated;
1081
- };
1082
- return {
1083
- clearSubagentRunSteerRestart,
1084
- markSubagentRunForSteerRestart,
1085
- markSubagentRunTerminated,
1086
- registerSubagentRun,
1087
- releaseSubagentRun,
1088
- replaceSubagentRunAfterSteer,
1089
- waitForSubagentCompletion
1090
- };
1091
- }
1092
- //#endregion
1093
- //#region src/agents/subagent-registry.ts
1094
- const log = createSubsystemLogger("agents/subagent-registry");
1095
- let subagentAnnouncePromise = null;
1096
- let browserCleanupPromise = null;
1097
- async function loadSubagentAnnounceModule() {
1098
- subagentAnnouncePromise ??= import("./subagent-announce-BHJpD5-v.js");
1099
- return await subagentAnnouncePromise;
1100
- }
1101
- async function loadCleanupBrowserSessionsForLifecycleEnd() {
1102
- browserCleanupPromise ??= import("./browser-lifecycle-cleanup-BrRANbkd.js");
1103
- return (await browserCleanupPromise).cleanupBrowserSessionsForLifecycleEnd;
1104
- }
1105
- let subagentRegistryDeps = {
1106
- callGateway,
1107
- captureSubagentCompletionReply: async (sessionKey, options) => (await loadSubagentAnnounceModule()).captureSubagentCompletionReply(sessionKey, options),
1108
- cleanupBrowserSessionsForLifecycleEnd: async (params) => (await loadCleanupBrowserSessionsForLifecycleEnd())(params),
1109
- getSubagentRunsSnapshotForRead,
1110
- loadConfig,
1111
- onAgentEvent,
1112
- persistSubagentRunsToDisk,
1113
- resolveAgentTimeoutMs,
1114
- restoreSubagentRunsFromDisk,
1115
- runSubagentAnnounceFlow: async (params) => (await loadSubagentAnnounceModule()).runSubagentAnnounceFlow(params)
1116
- };
1117
- const SUBAGENT_REGISTRY_RUNTIME_SPEC = ["./subagent-registry.runtime", ".js"];
1118
- let contextEngineInitPromise = null;
1119
- let contextEngineRegistryPromise = null;
1120
- let runtimePluginsPromise = null;
1121
- let sweeper = null;
1122
- const resumeRetryTimers = /* @__PURE__ */ new Set();
1123
- let sweepInProgress = false;
1124
- let listenerStarted = false;
1125
- let restoreAttempted = false;
1126
- const ORPHAN_RECOVERY_DEBOUNCE_MS = 1e3;
1127
- let lastOrphanRecoveryScheduleAt = 0;
1128
- const SUBAGENT_ANNOUNCE_TIMEOUT_MS = 12e4;
1129
- /**
1130
- * Embedded runs can emit transient lifecycle `error` events while provider/model
1131
- * retry is still in progress. Defer terminal error cleanup briefly so a
1132
- * subsequent lifecycle `start` / `end` can cancel premature failure announces.
1133
- */
1134
- const LIFECYCLE_ERROR_RETRY_GRACE_MS = 15e3;
1135
- /**
1136
- * Embedded runs can also surface an intermediate lifecycle `end` with
1137
- * `aborted=true` just before the runtime automatically retries the same run.
1138
- * Give that timeout a short grace window so the parent does not get a stale
1139
- * `timed out` completion right before the eventual success.
1140
- */
1141
- const LIFECYCLE_TIMEOUT_RETRY_GRACE_MS = 15e3;
1142
- /** Absolute TTL for session-mode runs after cleanup completes (no archiveAtMs). */
1143
- const SESSION_RUN_TTL_MS = 5 * 6e4;
1144
- /** Absolute TTL for orphaned pendingLifecycleError / pendingLifecycleTimeout entries. */
1145
- const PENDING_LIFECYCLE_TERMINAL_TTL_MS = 5 * 6e4;
1146
- /** Grace period before treating a "running" subagent without a live run context as stale. */
1147
- const STALE_ACTIVE_SUBAGENT_GRACE_MS = process.env.GENESIS_TEST_FAST === "1" ? 1e3 : 6e4;
1148
- function findSessionEntryByKey(store, sessionKey) {
1149
- const direct = store[sessionKey];
1150
- if (direct) return direct;
1151
- const normalized = sessionKey.trim().toLowerCase();
1152
- for (const [key, entry] of Object.entries(store)) if (key.trim().toLowerCase() === normalized) return entry;
1153
- }
1154
- function loadSubagentSessionEntry(childSessionKey, storeCache) {
1155
- const key = childSessionKey.trim();
1156
- if (!key) return;
1157
- const agentId = resolveAgentIdFromSessionKey(key);
1158
- const storePath = resolveStorePath(loadConfig().session?.store, { agentId });
1159
- let store = storeCache.get(storePath);
1160
- if (!store) {
1161
- store = loadSessionStore(storePath);
1162
- storeCache.set(storePath, store);
1163
- }
1164
- return findSessionEntryByKey(store, key);
1165
- }
1166
- function resolveCompletionFromSessionEntry(sessionEntry, fallbackEndedAt) {
1167
- const status = sessionEntry?.status;
1168
- const endedAt = typeof sessionEntry?.endedAt === "number" && Number.isFinite(sessionEntry.endedAt) ? sessionEntry.endedAt : fallbackEndedAt;
1169
- if (status === "done") return {
1170
- endedAt,
1171
- outcome: { status: "ok" },
1172
- reason: SUBAGENT_ENDED_REASON_COMPLETE
1173
- };
1174
- if (status === "timeout") return {
1175
- endedAt,
1176
- outcome: { status: "timeout" },
1177
- reason: SUBAGENT_ENDED_REASON_COMPLETE
1178
- };
1179
- if (status === "failed") return {
1180
- endedAt,
1181
- outcome: {
1182
- status: "error",
1183
- error: "session completed before registry settled"
1184
- },
1185
- reason: SUBAGENT_ENDED_REASON_ERROR
1186
- };
1187
- if (status === "killed") return {
1188
- endedAt,
1189
- outcome: {
1190
- status: "error",
1191
- error: "subagent run terminated"
1192
- },
1193
- reason: SUBAGENT_ENDED_REASON_KILLED
1194
- };
1195
- if (status !== "running" && typeof sessionEntry?.endedAt === "number") return {
1196
- endedAt,
1197
- outcome: { status: "ok" },
1198
- reason: SUBAGENT_ENDED_REASON_COMPLETE
1199
- };
1200
- return null;
1201
- }
1202
- function loadContextEngineInitModule() {
1203
- contextEngineInitPromise ??= importRuntimeModule(import.meta.url, SUBAGENT_REGISTRY_RUNTIME_SPEC);
1204
- return contextEngineInitPromise;
1205
- }
1206
- function loadContextEngineRegistryModule() {
1207
- contextEngineRegistryPromise ??= importRuntimeModule(import.meta.url, SUBAGENT_REGISTRY_RUNTIME_SPEC);
1208
- return contextEngineRegistryPromise;
1209
- }
1210
- function loadRuntimePluginsModule() {
1211
- runtimePluginsPromise ??= importRuntimeModule(import.meta.url, SUBAGENT_REGISTRY_RUNTIME_SPEC);
1212
- return runtimePluginsPromise;
1213
- }
1214
- async function ensureSubagentRegistryPluginRuntimeLoaded(params) {
1215
- const ensureRuntimePluginsLoaded = subagentRegistryDeps.ensureRuntimePluginsLoaded;
1216
- if (ensureRuntimePluginsLoaded) {
1217
- ensureRuntimePluginsLoaded(params);
1218
- return;
1219
- }
1220
- (await loadRuntimePluginsModule()).ensureRuntimePluginsLoaded(params);
1221
- }
1222
- async function resolveSubagentRegistryContextEngine(cfg) {
1223
- const initModule = await loadContextEngineInitModule();
1224
- const registryModule = await loadContextEngineRegistryModule();
1225
- const ensureContextEnginesInitialized = subagentRegistryDeps.ensureContextEnginesInitialized ?? initModule.ensureContextEnginesInitialized;
1226
- const resolveContextEngine = subagentRegistryDeps.resolveContextEngine ?? registryModule.resolveContextEngine;
1227
- ensureContextEnginesInitialized();
1228
- return await resolveContextEngine(cfg);
1229
- }
1230
- function persistSubagentRuns() {
1231
- subagentRegistryDeps.persistSubagentRunsToDisk(subagentRuns);
1232
- }
1233
- function scheduleSubagentOrphanRecovery(params) {
1234
- const now = Date.now();
1235
- if (now - lastOrphanRecoveryScheduleAt < ORPHAN_RECOVERY_DEBOUNCE_MS) return;
1236
- lastOrphanRecoveryScheduleAt = now;
1237
- import("./subagent-orphan-recovery-CEGWLVDl.js").then(({ scheduleOrphanRecovery }) => {
1238
- scheduleOrphanRecovery({
1239
- getActiveRuns: () => subagentRuns,
1240
- delayMs: params?.delayMs,
1241
- maxRetries: params?.maxRetries
1242
- });
1243
- }, () => {});
1244
- }
1245
- const resumedRuns = /* @__PURE__ */ new Set();
1246
- const endedHookInFlightRunIds = /* @__PURE__ */ new Set();
1247
- const pendingLifecycleErrorByRunId = /* @__PURE__ */ new Map();
1248
- const pendingLifecycleTimeoutByRunId = /* @__PURE__ */ new Map();
1249
- function clearPendingLifecycleError(runId) {
1250
- const pending = pendingLifecycleErrorByRunId.get(runId);
1251
- if (!pending) return;
1252
- clearTimeout(pending.timer);
1253
- pendingLifecycleErrorByRunId.delete(runId);
1254
- }
1255
- function clearPendingLifecycleTimeout(runId) {
1256
- const pending = pendingLifecycleTimeoutByRunId.get(runId);
1257
- if (!pending) return;
1258
- clearTimeout(pending.timer);
1259
- pendingLifecycleTimeoutByRunId.delete(runId);
1260
- }
1261
- function schedulePendingLifecycleError(params) {
1262
- clearPendingLifecycleTimeout(params.runId);
1263
- clearPendingLifecycleError(params.runId);
1264
- const timer = setTimeout(() => {
1265
- const pending = pendingLifecycleErrorByRunId.get(params.runId);
1266
- if (!pending || pending.timer !== timer) return;
1267
- pendingLifecycleErrorByRunId.delete(params.runId);
1268
- const entry = subagentRuns.get(params.runId);
1269
- if (!entry) return;
1270
- if (entry.endedReason === "subagent-complete" || entry.outcome?.status === "ok") return;
1271
- completeSubagentRun({
1272
- runId: params.runId,
1273
- endedAt: pending.endedAt,
1274
- outcome: {
1275
- status: "error",
1276
- error: pending.error
1277
- },
1278
- reason: SUBAGENT_ENDED_REASON_ERROR,
1279
- sendFarewell: true,
1280
- accountId: entry.requesterOrigin?.accountId,
1281
- triggerCleanup: true
1282
- });
1283
- }, LIFECYCLE_ERROR_RETRY_GRACE_MS);
1284
- timer.unref?.();
1285
- pendingLifecycleErrorByRunId.set(params.runId, {
1286
- timer,
1287
- endedAt: params.endedAt,
1288
- error: params.error
1289
- });
1290
- }
1291
- function schedulePendingLifecycleTimeout(params) {
1292
- clearPendingLifecycleError(params.runId);
1293
- clearPendingLifecycleTimeout(params.runId);
1294
- const timer = setTimeout(() => {
1295
- const pending = pendingLifecycleTimeoutByRunId.get(params.runId);
1296
- if (!pending || pending.timer !== timer) return;
1297
- pendingLifecycleTimeoutByRunId.delete(params.runId);
1298
- const entry = subagentRuns.get(params.runId);
1299
- if (!entry) return;
1300
- if (entry.outcome?.status === "ok") return;
1301
- completeSubagentRun({
1302
- runId: params.runId,
1303
- endedAt: pending.endedAt,
1304
- outcome: { status: "timeout" },
1305
- reason: SUBAGENT_ENDED_REASON_COMPLETE,
1306
- sendFarewell: true,
1307
- accountId: entry.requesterOrigin?.accountId,
1308
- triggerCleanup: true
1309
- });
1310
- }, LIFECYCLE_TIMEOUT_RETRY_GRACE_MS);
1311
- timer.unref?.();
1312
- pendingLifecycleTimeoutByRunId.set(params.runId, {
1313
- timer,
1314
- endedAt: params.endedAt
1315
- });
1316
- }
1317
- async function notifyContextEngineSubagentEnded(params) {
1318
- try {
1319
- const cfg = subagentRegistryDeps.loadConfig();
1320
- await ensureSubagentRegistryPluginRuntimeLoaded({
1321
- config: cfg,
1322
- workspaceDir: params.workspaceDir,
1323
- allowGatewaySubagentBinding: true
1324
- });
1325
- const engine = await resolveSubagentRegistryContextEngine(cfg);
1326
- if (!engine.onSubagentEnded) return;
1327
- await engine.onSubagentEnded(params);
1328
- } catch (err) {
1329
- log.warn("context-engine onSubagentEnded failed (best-effort)", { err });
1330
- }
1331
- }
1332
- function suppressAnnounceForSteerRestart(entry) {
1333
- return entry?.suppressAnnounceReason === "steer-restart";
1334
- }
1335
- function shouldKeepThreadBindingAfterRun(params) {
1336
- if (params.reason === "subagent-killed") return false;
1337
- return params.entry.spawnMode === "session";
1338
- }
1339
- function shouldEmitEndedHookForRun(params) {
1340
- return !shouldKeepThreadBindingAfterRun(params);
1341
- }
1342
- async function emitSubagentEndedHookForRun(params) {
1343
- if (params.entry.endedHookEmittedAt) return;
1344
- await ensureSubagentRegistryPluginRuntimeLoaded({
1345
- config: subagentRegistryDeps.loadConfig(),
1346
- workspaceDir: params.entry.workspaceDir,
1347
- allowGatewaySubagentBinding: true
1348
- });
1349
- const reason = params.reason ?? params.entry.endedReason ?? "subagent-complete";
1350
- const outcome = resolveLifecycleOutcomeFromRunOutcome(params.entry.outcome);
1351
- const error = params.entry.outcome?.status === "error" ? params.entry.outcome.error : void 0;
1352
- await emitSubagentEndedHookOnce({
1353
- entry: params.entry,
1354
- reason,
1355
- sendFarewell: params.sendFarewell,
1356
- accountId: params.accountId ?? params.entry.requesterOrigin?.accountId,
1357
- outcome,
1358
- error,
1359
- inFlightRunIds: endedHookInFlightRunIds,
1360
- persist: persistSubagentRuns
1361
- });
1362
- }
1363
- const { clearScheduledResumeTimers, completeCleanupBookkeeping, completeSubagentRun, finalizeResumedAnnounceGiveUp, refreshFrozenResultFromSession, startSubagentAnnounceCleanupFlow } = createSubagentRegistryLifecycleController({
1364
- runs: subagentRuns,
1365
- resumedRuns,
1366
- subagentAnnounceTimeoutMs: SUBAGENT_ANNOUNCE_TIMEOUT_MS,
1367
- persist: persistSubagentRuns,
1368
- clearPendingLifecycleError,
1369
- countPendingDescendantRuns,
1370
- suppressAnnounceForSteerRestart,
1371
- shouldEmitEndedHookForRun,
1372
- emitSubagentEndedHookForRun,
1373
- notifyContextEngineSubagentEnded,
1374
- resumeSubagentRun,
1375
- captureSubagentCompletionReply: (sessionKey, options) => subagentRegistryDeps.captureSubagentCompletionReply(sessionKey, options),
1376
- cleanupBrowserSessionsForLifecycleEnd: (args) => subagentRegistryDeps.cleanupBrowserSessionsForLifecycleEnd(args),
1377
- runSubagentAnnounceFlow: (params) => subagentRegistryDeps.runSubagentAnnounceFlow(params),
1378
- warn: (message, meta) => log.warn(message, meta)
1379
- });
1380
- function resumeSubagentRun(runId) {
1381
- if (!runId || resumedRuns.has(runId)) return;
1382
- const entry = subagentRuns.get(runId);
1383
- if (!entry) return;
1384
- if (entry.cleanupCompletedAt) return;
1385
- if ((entry.announceRetryCount ?? 0) >= 3) {
1386
- finalizeResumedAnnounceGiveUp({
1387
- runId,
1388
- entry,
1389
- reason: "retry-limit"
1390
- });
1391
- return;
1392
- }
1393
- if (entry.expectsCompletionMessage !== true && typeof entry.endedAt === "number" && Date.now() - entry.endedAt > 3e5) {
1394
- finalizeResumedAnnounceGiveUp({
1395
- runId,
1396
- entry,
1397
- reason: "expiry"
1398
- });
1399
- return;
1400
- }
1401
- const now = Date.now();
1402
- const delayMs = resolveAnnounceRetryDelayMs(entry.announceRetryCount ?? 0);
1403
- const earliestRetryAt = (entry.lastAnnounceRetryAt ?? 0) + delayMs;
1404
- if (entry.expectsCompletionMessage === true && entry.lastAnnounceRetryAt && now < earliestRetryAt) {
1405
- const waitMs = Math.max(1, earliestRetryAt - now);
1406
- const scheduledEntry = entry;
1407
- const timer = setTimeout(() => {
1408
- resumeRetryTimers.delete(timer);
1409
- if (subagentRuns.get(runId) !== scheduledEntry) return;
1410
- resumedRuns.delete(runId);
1411
- resumeSubagentRun(runId);
1412
- }, waitMs);
1413
- timer.unref?.();
1414
- resumeRetryTimers.add(timer);
1415
- resumedRuns.add(runId);
1416
- return;
1417
- }
1418
- if (typeof entry.endedAt === "number" && entry.endedAt > 0) {
1419
- const orphanReason = resolveSubagentRunOrphanReason({ entry });
1420
- if (orphanReason) {
1421
- if (reconcileOrphanedRun({
1422
- runId,
1423
- entry,
1424
- reason: orphanReason,
1425
- source: "resume",
1426
- runs: subagentRuns,
1427
- resumedRuns
1428
- })) persistSubagentRuns();
1429
- return;
1430
- }
1431
- if (suppressAnnounceForSteerRestart(entry)) {
1432
- resumedRuns.add(runId);
1433
- return;
1434
- }
1435
- if (!startSubagentAnnounceCleanupFlow(runId, entry)) return;
1436
- resumedRuns.add(runId);
1437
- return;
1438
- }
1439
- const waitTimeoutMs = resolveSubagentWaitTimeoutMs(subagentRegistryDeps.loadConfig(), entry.runTimeoutSeconds);
1440
- subagentRunManager.waitForSubagentCompletion(runId, waitTimeoutMs, entry);
1441
- resumedRuns.add(runId);
1442
- }
1443
- function restoreSubagentRunsOnce() {
1444
- if (restoreAttempted) return;
1445
- restoreAttempted = true;
1446
- try {
1447
- if (subagentRegistryDeps.restoreSubagentRunsFromDisk({
1448
- runs: subagentRuns,
1449
- mergeOnly: true
1450
- }) === 0) return;
1451
- if (reconcileOrphanedRestoredRuns({
1452
- runs: subagentRuns,
1453
- resumedRuns
1454
- })) persistSubagentRuns();
1455
- if (subagentRuns.size === 0) return;
1456
- ensureListener();
1457
- startSweeper();
1458
- for (const runId of subagentRuns.keys()) resumeSubagentRun(runId);
1459
- scheduleSubagentOrphanRecovery();
1460
- } catch {}
1461
- }
1462
- function resolveSubagentWaitTimeoutMs(cfg, runTimeoutSeconds) {
1463
- return subagentRegistryDeps.resolveAgentTimeoutMs({
1464
- cfg,
1465
- overrideSeconds: runTimeoutSeconds ?? 0
1466
- });
1467
- }
1468
- function startSweeper() {
1469
- if (sweeper) return;
1470
- sweeper = setInterval(() => {
1471
- if (sweepInProgress) return;
1472
- sweepSubagentRuns();
1473
- }, 6e4);
1474
- sweeper.unref?.();
1475
- }
1476
- function stopSweeper() {
1477
- if (!sweeper) return;
1478
- clearInterval(sweeper);
1479
- sweeper = null;
1480
- }
1481
- async function sweepSubagentRuns() {
1482
- if (sweepInProgress) return;
1483
- sweepInProgress = true;
1484
- try {
1485
- const now = Date.now();
1486
- const storeCache = /* @__PURE__ */ new Map();
1487
- let mutated = false;
1488
- for (const [runId, entry] of subagentRuns.entries()) {
1489
- if (typeof entry.endedAt !== "number") {
1490
- const hasLiveRunContext = Boolean(getAgentRunContext(runId));
1491
- const activeAgeMs = now - (entry.startedAt ?? entry.createdAt);
1492
- if (!hasLiveRunContext && activeAgeMs >= STALE_ACTIVE_SUBAGENT_GRACE_MS) {
1493
- const orphanReason = resolveSubagentRunOrphanReason({
1494
- entry,
1495
- storeCache
1496
- });
1497
- if (orphanReason) {
1498
- if (reconcileOrphanedRun({
1499
- runId,
1500
- entry,
1501
- reason: orphanReason,
1502
- source: "resume",
1503
- runs: subagentRuns,
1504
- resumedRuns
1505
- })) mutated = true;
1506
- continue;
1507
- }
1508
- const sessionEntry = loadSubagentSessionEntry(entry.childSessionKey, storeCache);
1509
- const completion = resolveCompletionFromSessionEntry(sessionEntry, now);
1510
- if (completion) {
1511
- await completeSubagentRun({
1512
- runId,
1513
- endedAt: completion.endedAt,
1514
- outcome: completion.outcome,
1515
- reason: completion.reason,
1516
- sendFarewell: true,
1517
- accountId: entry.requesterOrigin?.accountId,
1518
- triggerCleanup: true
1519
- });
1520
- continue;
1521
- }
1522
- if (sessionEntry?.abortedLastRun === true) {
1523
- scheduleSubagentOrphanRecovery({ delayMs: 1e3 });
1524
- continue;
1525
- }
1526
- await completeSubagentRun({
1527
- runId,
1528
- endedAt: now,
1529
- outcome: {
1530
- status: "error",
1531
- error: "subagent run lost active execution context"
1532
- },
1533
- reason: SUBAGENT_ENDED_REASON_ERROR,
1534
- sendFarewell: true,
1535
- accountId: entry.requesterOrigin?.accountId,
1536
- triggerCleanup: true
1537
- });
1538
- continue;
1539
- }
1540
- }
1541
- if (!entry.archiveAtMs) {
1542
- if (typeof entry.cleanupCompletedAt === "number" && now - entry.cleanupCompletedAt > SESSION_RUN_TTL_MS) {
1543
- clearPendingLifecycleError(runId);
1544
- notifyContextEngineSubagentEnded({
1545
- childSessionKey: entry.childSessionKey,
1546
- reason: "swept",
1547
- workspaceDir: entry.workspaceDir
1548
- });
1549
- subagentRuns.delete(runId);
1550
- mutated = true;
1551
- if (!entry.retainAttachmentsOnKeep) await safeRemoveAttachmentsDir(entry);
1552
- }
1553
- continue;
1554
- }
1555
- if (entry.archiveAtMs > now) continue;
1556
- clearPendingLifecycleError(runId);
1557
- try {
1558
- await subagentRegistryDeps.callGateway({
1559
- method: "sessions.delete",
1560
- params: {
1561
- key: entry.childSessionKey,
1562
- deleteTranscript: true,
1563
- emitLifecycleHooks: false
1564
- },
1565
- timeoutMs: 1e4
1566
- });
1567
- } catch (err) {
1568
- log.warn("sessions.delete failed during subagent sweep; keeping run for retry", {
1569
- runId,
1570
- childSessionKey: entry.childSessionKey,
1571
- err
1572
- });
1573
- continue;
1574
- }
1575
- subagentRuns.delete(runId);
1576
- mutated = true;
1577
- await safeRemoveAttachmentsDir(entry);
1578
- notifyContextEngineSubagentEnded({
1579
- childSessionKey: entry.childSessionKey,
1580
- reason: "swept",
1581
- workspaceDir: entry.workspaceDir
1582
- });
1583
- }
1584
- for (const [runId, pending] of pendingLifecycleErrorByRunId.entries()) if (now - pending.endedAt > PENDING_LIFECYCLE_TERMINAL_TTL_MS) clearPendingLifecycleError(runId);
1585
- for (const [runId, pending] of pendingLifecycleTimeoutByRunId.entries()) if (now - pending.endedAt > PENDING_LIFECYCLE_TERMINAL_TTL_MS) clearPendingLifecycleTimeout(runId);
1586
- if (mutated) persistSubagentRuns();
1587
- if (subagentRuns.size === 0) stopSweeper();
1588
- } finally {
1589
- sweepInProgress = false;
1590
- }
1591
- }
1592
- function ensureListener() {
1593
- if (listenerStarted) return;
1594
- listenerStarted = true;
1595
- subagentRegistryDeps.onAgentEvent((evt) => {
1596
- (async () => {
1597
- if (!evt || evt.stream !== "lifecycle") return;
1598
- const phase = evt.data?.phase;
1599
- const entry = subagentRuns.get(evt.runId);
1600
- if (!entry) {
1601
- if (phase === "end" && typeof evt.sessionKey === "string") await refreshFrozenResultFromSession(evt.sessionKey);
1602
- return;
1603
- }
1604
- if (phase === "start") {
1605
- clearPendingLifecycleError(evt.runId);
1606
- clearPendingLifecycleTimeout(evt.runId);
1607
- const startedAt = typeof evt.data?.startedAt === "number" ? evt.data.startedAt : void 0;
1608
- if (startedAt) {
1609
- entry.startedAt = startedAt;
1610
- if (typeof entry.sessionStartedAt !== "number") entry.sessionStartedAt = startedAt;
1611
- persistSubagentRuns();
1612
- }
1613
- return;
1614
- }
1615
- if (phase !== "end" && phase !== "error") return;
1616
- const endedAt = typeof evt.data?.endedAt === "number" ? evt.data.endedAt : Date.now();
1617
- const error = typeof evt.data?.error === "string" ? evt.data.error : void 0;
1618
- if (phase === "error") {
1619
- schedulePendingLifecycleError({
1620
- runId: evt.runId,
1621
- endedAt,
1622
- error
1623
- });
1624
- return;
1625
- }
1626
- if (evt.data?.aborted) {
1627
- schedulePendingLifecycleTimeout({
1628
- runId: evt.runId,
1629
- endedAt
1630
- });
1631
- return;
1632
- }
1633
- clearPendingLifecycleError(evt.runId);
1634
- clearPendingLifecycleTimeout(evt.runId);
1635
- await completeSubagentRun({
1636
- runId: evt.runId,
1637
- endedAt,
1638
- outcome: { status: "ok" },
1639
- reason: SUBAGENT_ENDED_REASON_COMPLETE,
1640
- sendFarewell: true,
1641
- accountId: entry.requesterOrigin?.accountId,
1642
- triggerCleanup: true
1643
- });
1644
- })();
1645
- });
1646
- }
1647
- const subagentRunManager = createSubagentRunManager({
1648
- runs: subagentRuns,
1649
- resumedRuns,
1650
- endedHookInFlightRunIds,
1651
- persist: persistSubagentRuns,
1652
- callGateway: (request) => subagentRegistryDeps.callGateway(request),
1653
- loadConfig: () => subagentRegistryDeps.loadConfig(),
1654
- ensureRuntimePluginsLoaded: (args) => ensureSubagentRegistryPluginRuntimeLoaded(args),
1655
- ensureListener,
1656
- startSweeper,
1657
- stopSweeper,
1658
- resumeSubagentRun,
1659
- clearPendingLifecycleError,
1660
- resolveSubagentWaitTimeoutMs,
1661
- scheduleOrphanRecovery: (args) => scheduleSubagentOrphanRecovery(args),
1662
- notifyContextEngineSubagentEnded,
1663
- completeCleanupBookkeeping,
1664
- completeSubagentRun
1665
- });
1666
- configureSubagentRegistrySteerRuntime({
1667
- replaceSubagentRunAfterSteer: (params) => subagentRunManager.replaceSubagentRunAfterSteer(params),
1668
- finalizeInterruptedSubagentRun: async (params) => await finalizeInterruptedSubagentRun(params)
1669
- });
1670
- function markSubagentRunForSteerRestart(runId) {
1671
- return subagentRunManager.markSubagentRunForSteerRestart(runId);
1672
- }
1673
- function clearSubagentRunSteerRestart(runId) {
1674
- return subagentRunManager.clearSubagentRunSteerRestart(runId);
1675
- }
1676
- function replaceSubagentRunAfterSteer(params) {
1677
- return subagentRunManager.replaceSubagentRunAfterSteer(params);
1678
- }
1679
- function registerSubagentRun(params) {
1680
- subagentRunManager.registerSubagentRun(params);
1681
- }
1682
- async function finalizeInterruptedSubagentRun(params) {
1683
- const runIds = /* @__PURE__ */ new Set();
1684
- if (typeof params.runId === "string" && params.runId.trim()) runIds.add(params.runId.trim());
1685
- if (typeof params.childSessionKey === "string" && params.childSessionKey.trim()) {
1686
- const childSessionKey = params.childSessionKey.trim();
1687
- for (const [runId, entry] of subagentRuns.entries()) if (entry.childSessionKey === childSessionKey) runIds.add(runId);
1688
- }
1689
- if (runIds.size === 0) return 0;
1690
- const endedAt = typeof params.endedAt === "number" && Number.isFinite(params.endedAt) ? params.endedAt : Date.now();
1691
- let updated = 0;
1692
- for (const runId of runIds) {
1693
- clearPendingLifecycleError(runId);
1694
- clearPendingLifecycleTimeout(runId);
1695
- const entry = subagentRuns.get(runId);
1696
- if (!entry || typeof entry.cleanupCompletedAt === "number") continue;
1697
- await completeSubagentRun({
1698
- runId,
1699
- endedAt,
1700
- outcome: {
1701
- status: "error",
1702
- error: params.error
1703
- },
1704
- reason: SUBAGENT_ENDED_REASON_ERROR,
1705
- sendFarewell: true,
1706
- accountId: entry.requesterOrigin?.accountId,
1707
- triggerCleanup: true
1708
- });
1709
- updated += 1;
1710
- }
1711
- return updated;
1712
- }
1713
- function markSubagentRunTerminated(params) {
1714
- return subagentRunManager.markSubagentRunTerminated(params);
1715
- }
1716
- function listSubagentRunsForController(controllerSessionKey) {
1717
- return listRunsForControllerFromRuns(subagentRegistryDeps.getSubagentRunsSnapshotForRead(subagentRuns), controllerSessionKey);
1718
- }
1719
- function countActiveRunsForSession(requesterSessionKey) {
1720
- return countActiveRunsForSessionFromRuns(subagentRegistryDeps.getSubagentRunsSnapshotForRead(subagentRuns), requesterSessionKey);
1721
- }
1722
- function countActiveDescendantRuns(rootSessionKey) {
1723
- return countActiveDescendantRunsFromRuns(subagentRegistryDeps.getSubagentRunsSnapshotForRead(subagentRuns), rootSessionKey);
1724
- }
1725
- function countPendingDescendantRuns(rootSessionKey) {
1726
- return countPendingDescendantRunsFromRuns(subagentRegistryDeps.getSubagentRunsSnapshotForRead(subagentRuns), rootSessionKey);
1727
- }
1728
- function listDescendantRunsForRequester(rootSessionKey) {
1729
- return listDescendantRunsForRequesterFromRuns(subagentRegistryDeps.getSubagentRunsSnapshotForRead(subagentRuns), rootSessionKey);
1730
- }
1731
- function getSubagentRunByChildSessionKey(childSessionKey) {
1732
- return getSubagentRunByChildSessionKeyFromRuns(subagentRegistryDeps.getSubagentRunsSnapshotForRead(subagentRuns), childSessionKey);
1733
- }
1734
- function getLatestSubagentRunByChildSessionKey(childSessionKey) {
1735
- const key = childSessionKey.trim();
1736
- if (!key) return null;
1737
- let latest = null;
1738
- for (const entry of subagentRegistryDeps.getSubagentRunsSnapshotForRead(subagentRuns).values()) {
1739
- if (entry.childSessionKey !== key) continue;
1740
- if (!latest || entry.createdAt > latest.createdAt) latest = entry;
1741
- }
1742
- return latest;
1743
- }
1744
- function initSubagentRegistry() {
1745
- restoreSubagentRunsOnce();
1746
- }
1747
- registerPendingSpawnedChildrenQuery((sessionKey) => {
1748
- const key = sessionKey?.trim();
1749
- if (!key) return false;
1750
- return countPendingDescendantRuns(key) > 0;
1751
- });
1752
- //#endregion
1753
- export { onSessionLifecycleEvent as _, finalizeInterruptedSubagentRun as a, initSubagentRegistry as c, markSubagentRunForSteerRestart as d, markSubagentRunTerminated as f, emitSessionLifecycleEvent as g, scheduleSubagentOrphanRecovery as h, countPendingDescendantRuns as i, listDescendantRunsForRequester as l, replaceSubagentRunAfterSteer as m, countActiveDescendantRuns as n, getLatestSubagentRunByChildSessionKey as o, registerSubagentRun as p, countActiveRunsForSession as r, getSubagentRunByChildSessionKey as s, clearSubagentRunSteerRestart as t, listSubagentRunsForController as u };